We zijn allemaal bekend met SMS-berichten, het is immers een van de oudste en meest gebruikte methoden van mobiele communicatie. Maar er komt verrassend veel coördinatie en technologie kijken bij het verzenden van zulke ogenschijnlijk eenvoudige berichten. Laten we eens kijken hoe het allemaal werkt.
Om te beginnen – SMS staat voor Short Messaging Service, een protocol dat wordt gebruikt voor het verzenden van korte berichten via draadloze netwerken. In tegenstelling tot veel diensten die tegenwoordig in gebruik zijn, zoals MMS en andere datagedreven diensten, werkt SMS nog steeds op het fundamentele spraaknetwerk, en is gebaseerd op de grote drie GSM-, CDMA- en TDMA-netwerktechnologieën, waardoor het een universele dienst is.
Gerelateerde inhoud: Wat is Android
SMS maakt het mogelijk om tekstberichten van 160 tekens (letters, cijfers en symbolen) in lengte. Voor andere alfabetten, zoals Chinees of Arabisch, is de maximale berichtgrootte beperkt tot slechts 70 tekens. Een deel van de reden hiervoor is dat SMS-berichten oorspronkelijk werden beschouwd als een bijkomstigheid die werd toegevoegd aan de reservebandbreedte die beschikbaar was op draadloze spraaknetwerken. Er was altijd een limiet aan hoe groot deze berichten konden zijn, vandaar dat bepaalde tekens, zoals buitenlandse alfabetten of obscure letters, nog steeds meerdere spaties van de toegestane 160 in beslag nemen.
De limiet van 160 werd uiteindelijk besloten door Friedhelm Hillebrand, die het typische aantal tekens in de gemiddelde zin observeerde en testte, in combinatie met een compromis over de beschikbare bandbreedte in die tijd. Tegenwoordig is bandbreedte niet zo’n punt van zorg meer, en kunnen berichten gemakkelijk heen en weer worden gestuurd en opnieuw worden samengesteld op de ontvangende handset. De nu als laag beschouwde bandbreedtevereisten voor het verzenden van deze korte alfanumerieke reeksen maken wereldwijde berichtenuitwisseling met zeer lage latentie mogelijk.
De SMS-standaard
De SMS-standaard definieert welke informatie in een tekstbericht wordt verzonden, welke bits van binaire code elke letter vormen, en hoe deze gegevens worden georganiseerd zodat verzendende en ontvangende apparaten met elkaar kunnen communiceren. Het feitelijke gegevensformaat voor het bericht omvat zaken als de lengte van het bericht, een tijdstempel, het telefoonnummer van de bestemming, en het eigenlijke bericht natuurlijk.
Deze details worden beschreven door de protocol beschrijvingseenheid (PDU), die de vorm aanneemt van een reeks hexadecimale-octetten en semi decimale-octetten. Hexadecimaal zijn waarden in basis 16, met 0-9 om de waarden nul tot en met negen weer te geven, en A, B, C, D, E en F om de waarden tien tot en met vijftien weer te geven.
Deze tabel laat zien hoe van decimaal naar hexadecimaal naar binair en weer terug kan worden geconverteerd.
We zullen niet verder ingaan op binair, het is voldoende om te weten dat hexadecimaal gewoon een meer georganiseerde en efficiënte manier is om binaire code weer te geven, die door diverse apparaten wordt gebruikt om het SMS-bericht te verzenden, te ontvangen en te ontcijferen. Het PDU-formaat bestaat uit de volgende stukjes informatie in elk tekstbericht. De eerste paar octetten bevatten informatie over waar het bericht naartoe moet worden gestuurd, welk short message center (SMC), en ook het eigen nummer van de afzender. Ook de lengte van de informatie moet in de string worden gedefinieerd, zodat de ontvanger precies weet waar hij naar moet zoeken.
Na de informatie over afzender en ontvanger komt een protocol-identifier en een tag om het in het bericht gebruikte gegevenscoderingsschema aan te geven, zodat verschillende ontvangers weten hoe zij het eigenlijke bericht moeten decoderen. Er is ook een tijdstempel en informatie over de lengte van het gebruikersbericht voordat het eigenlijke bericht van de gebruiker wordt gecodeerd.
Wat het bericht zelf betreft, dit kan, zoals reeds vermeld, maximaal 160 tekens bevatten, waarbij elk teken wordt gedefinieerd door het 7-bits GSM-alfabet. Een 7-bits alfabet resulteert in 128 (2^7) beschikbare letters, cijfers en interpunctie die kunnen worden gebruikt om een SMS-bericht op te stellen. Bijvoorbeeld, 48656C6C6F is het GSM alfabet equivalent van het woord Hello.
Het diagram hieronder kan helpen om deze hele standaard een beetje beter uit te leggen.
Zoals je kunt zien, wordt er veel meer informatie verzonden met een SMS bericht dan alleen maar een zin of twee. Er zijn andere vitale stukjes informatie die helpen het bericht bij de juiste ontvanger af te leveren en ervoor te zorgen dat elk apparaat in de afleveringslijn goed kan begrijpen wat er wordt verzonden.
Verzenden van de gegevens
Wat de eigenlijke verzending van een SMS betreft, wordt het tekstbericht van het verzendende mobiele apparaat opgeslagen in een centrale SMC, die het bericht vervolgens doorstuurt naar de gewenste bestemming. Aangezien SMS-berichten gebruik maken van een apart kanaal, dat normaal wordt gebruikt voor de overdracht van controleberichten om zijn pakketten over te brengen, zullen spraak- en gegevensoproepen niet worden onderbroken door SMS-overdracht.
Dit controlekanaal wordt meestal gebruikt om de cel te volgen waarin uw telefoon zich op dat moment bevindt, zodat u van cel kunt veranderen als u zich verplaatst en zodat oproepen en berichten kunnen worden verzonden naar de juiste handsets op de juiste locaties.
Zoals reeds vermeld, is de SMC belast met het opslaan en doorsturen van berichten van en naar het mobiele station en andere short message-entiteiten, doorgaans een mobiele telefoon. Het voordeel van het hier opslaan van berichten is dat meerdere pogingen kunnen worden ondernomen om een bericht af te leveren, indien het ontvangende apparaat niet kan worden bereikt. Als een draadloze ontvanger is uitgeschakeld, buiten bereik is, of als er een netwerkstoring is, wordt het SMS-bericht in het netwerk opgeslagen en afgeleverd wanneer de ontvanger weer beschikbaar is. Hoewel dit misschien niet zo’n revolutionaire functie lijkt in het tijdperk van data driven messaging, was dit ten tijde van de introductie de eerste technologie die een dergelijke functie bood.
Het diagram toont de typische organisatiestructuur van een GSM-netwerk dat SMS ondersteunt. Bron: Wireless Developer Network
Om uit te zoeken waar het bericht precies naartoe moet worden gestuurd, moet het SMC echter de locatie van de ontvanger krijgen. Dit is waar het Home Location Register (HLR) van pas komt. De HLR is een database die de informatie van alle abonnees van het netwerk bevat, en is verantwoordelijk voor het koppelen van telefoons aan telefoonnummers, accounts, en met service plan informatie. Maar het belangrijkste is dat het de locatie van de gebruiker bijhoudt, zodat inkomende gesprekken en berichten naar de juiste zendmast kunnen worden geleid.
Als het bericht eenmaal weet waar het heen moet, is het Mobile Switching Center (MSC) belast met het overschakelen van de verbinding naar het juiste mobiele station. Aan elk MSC is ook een Visitor Location Register gekoppeld, dat helpt om de exacte locatie te bepalen van de cel waar de ontvangende handset zich op dat moment bevindt. Het bericht wordt dan uiteindelijk doorgegeven aan het bijbehorende basisstation systeem (BSS).
Het BSS bestaat uit zendontvangers die informatie over de ether zenden en ontvangen, van en naar het mobiele station. Deze informatie wordt doorgegeven via de signaleringskanalen, zodat de mobiele telefoon berichten kan ontvangen, zelfs als er een spraak- of gegevensoproep gaande is. De BSS is het laatste apparaat dat het tekstbericht naar de juiste mobiele telefoon zendt. Het is een verrassend lange en ingewikkelde reis voor slechts 160 tekens.
SMS mag dan al tientallen jaren de ruggengraat van snelle tekstcommunicatie zijn, maar de standaard krijgt steeds meer concurrentie van alternatieve berichtendiensten. Met name in westerse landen worden datacommunicatiediensten steeds populairder, en deze zouden in de toekomst wel eens de plaats kunnen innemen van de oude SMS-standaard, hoewel dat waarschijnlijk nog even op zich zal laten wachten.