Abbiamo tutti familiarità con i messaggi SMS, dopo tutto è uno dei metodi di comunicazione mobile più antichi e più utilizzati. Ma c’è una sorprendente quantità di coordinazione e tecnologia che lavora in background per inviare messaggi così apparentemente semplici. Quindi diamo un’occhiata a come funziona il tutto.
Per cominciare – SMS sta per short messaging service, un protocollo utilizzato per l’invio di brevi messaggi su reti wireless. A differenza di molti servizi in uso oggi, come MMS e altri servizi guidati dai dati, SMS funziona ancora sulla rete vocale fondamentale, e si basa sulle tre grandi tecnologie di rete GSM, CDMA e TDMA, rendendolo un servizio universale.
Contenuto Correlato: Cos’è Android
SMS permette messaggi di testo di 160 caratteri (lettere, numeri e simboli) di lunghezza. Oppure per altri alfabeti, come il cinese o l’arabo, la dimensione massima del messaggio è limitata a soli 70 caratteri. Parte della ragione di questo è che la messaggistica SMS era originariamente considerata come un ripensamento aggiunto alla larghezza di banda disponibile sulle reti vocali wireless. C’è sempre stato un limite a quanto grandi potessero essere questi messaggi, da qui il motivo per cui alcuni caratteri, come gli alfabeti stranieri o le lettere oscure, occupano ancora più spazi dei 160 consentiti.
Il limite di 160 è stato infine deciso da Friedhelm Hillebrand, che ha osservato e testato il numero tipico di caratteri in una frase media, combinato con un compromesso sulla larghezza di banda disponibile all’epoca. Al giorno d’oggi la larghezza di banda non è più una preoccupazione, e i messaggi possono essere facilmente inviati uno dietro l’altro e ricompilati sul portatile ricevente. I requisiti, oggi considerati, di bassa larghezza di banda per la trasmissione di queste brevi stringhe alfanumeriche permettono di inviare messaggi in tutto il mondo con una latenza molto bassa.
Lo standard SMS
Lo standard SMS definisce quali informazioni vengono inviate in un messaggio di testo, quali bit di codice binario compongono ogni lettera, e come questi dati sono organizzati in modo che i dispositivi di invio e ricezione possano comunicare tra loro. Il formato effettivo dei dati per il messaggio include cose come la lunghezza del messaggio, una marca temporale, il numero di telefono di destinazione e naturalmente il messaggio vero e proprio.
Questi dettagli sono descritti dall’unità di descrizione del protocollo (PDU), che prende la forma di una stringa di esadecimali-ottetti e semi-decimali-ottetti. Gli esadecimali sono valori in base 16, con 0-9 per rappresentare i valori da zero a nove, e A, B, C, D, E e F per rappresentare i valori da dieci a quindici.
Questa tabella mostra come convertire da decimale a esadecimale a binario e viceversa.
Non ci addentreremo in ulteriori dettagli sul binario, è sufficiente sapere che l’esadecimale è solo un modo più organizzato ed efficiente di rappresentare il codice binario, che viene utilizzato da vari dispositivi per inviare, ricevere e decifrare il messaggio SMS. Il formato PDU comprende le seguenti informazioni in ogni messaggio di testo. I primi ottetti contengono informazioni su dove inviare il messaggio, su quale short message center (SMC) e sul numero del mittente. Anche la lunghezza delle informazioni deve essere definita nella stringa, in modo che il ricevitore sappia esattamente cosa cercare.
Dopo le informazioni sul mittente e sul ricevitore vengono un identificatore di protocollo e un tag per identificare lo schema di codifica dei dati usato nel messaggio, che permetterà ai diversi ricevitori di sapere come decodificare il messaggio attuale. C’è anche una marca temporale e informazioni sulla lunghezza del messaggio dell’utente prima che il messaggio effettivo dell’utente sia codificato.
Per quanto riguarda il messaggio stesso, come già detto può contenere fino a 160 caratteri, dove ogni carattere è definito dall’alfabeto GSM a 7 bit. Un alfabeto a 7 bit risulta in 128 (2^7) lettere, numeri e pezzi di punteggiatura disponibili che possono essere usati per creare un messaggio SMS. Per esempio, 48656C6C6F è l’equivalente in alfabeto GSM della parola Hello.
Il diagramma qui sotto potrebbe aiutare a spiegare un po’ meglio tutto questo standard.
Come puoi vedere, ci sono molte più informazioni inviate con un messaggio SMS che solo una o due frasi. Ci sono altre informazioni vitali che aiuteranno a consegnare il messaggio al destinatario corretto e ad assicurarsi che ogni dispositivo nella linea di consegna possa capire correttamente ciò che viene inviato.
Invio dei dati
Per quanto riguarda la trasmissione effettiva di un SMS, il messaggio di testo dal dispositivo mobile che lo invia viene memorizzato in un SMC centrale, che poi inoltra il messaggio alla destinazione desiderata. Poiché la messaggistica SMS fa uso di un canale separato, normalmente utilizzato per il trasferimento della messaggistica di controllo per trasferire i suoi pacchetti, le chiamate voce e dati non saranno interrotte dal trasferimento SMS.
Questo canale di controllo è solitamente utilizzato per tracciare la cella in cui si trova attualmente il telefono, permettendo di cambiare cella mentre ci si sposta e in modo che le chiamate e i messaggi possano essere inviati ai telefoni corretti nelle posizioni corrette.
Come già detto, l’SMC ha il compito di memorizzare e inoltrare i messaggi da e verso la stazione mobile e altre entità di messaggi brevi, che è tipicamente un telefono cellulare. Il vantaggio di immagazzinare i messaggi qui è che possono essere fatti diversi tentativi di consegnare un messaggio se il dispositivo ricevente non può essere contattato. Se un destinatario wireless è spento, fuori portata, o se c’è un’interruzione della rete, il messaggio SMS sarà memorizzato nella rete e consegnato quando il destinatario sarà di nuovo disponibile. Anche se questa potrebbe non sembrare una caratteristica così rivoluzionaria nell’era della messaggistica guidata dai dati, al momento della sua introduzione questa era la prima tecnologia ad offrire una tale caratteristica.
Il diagramma mostra la tipica struttura organizzativa di una rete GSM che supporta gli SMS. Fonte: Wireless Developer Network
Tuttavia, per capire esattamente dove il messaggio deve essere inviato, l’SMC deve avere la posizione del destinatario. È qui che entra in gioco l’Home Location Register (HLR). L’HLR è un database che contiene le informazioni di tutti gli abbonati della rete, ed è responsabile della corrispondenza dei telefoni con i numeri di telefono, gli account, e con le informazioni del piano di servizio. Ma la cosa più importante è che tiene traccia della posizione dell’utente in modo che le chiamate e i messaggi in arrivo possano essere instradati alla corretta torre di rete.
Una volta che il messaggio sa dove andare, il Mobile Switching Center (MSC) è incaricato di commutare la connessione alla corretta stazione mobile. C’è anche un registro di localizzazione dei visitatori collegato ad ogni MSC, che aiuta a restringere la posizione esatta della cella in cui si trova attualmente il portatile ricevente. Il messaggio viene poi finalmente trasferito al corrispondente Base Station System (BSS).
Il BSS consiste di ricetrasmettitori che inviano e ricevono informazioni via etere, da e verso la stazione mobile. Queste informazioni vengono passate sui canali di segnalazione in modo che il cellulare possa ricevere messaggi anche se è in corso una chiamata voce o dati. Il BSS è il dispositivo finale che trasmette il messaggio di testo al cellulare corretto. È un viaggio sorprendentemente lungo e complicato per soli 160 caratteri.
SMS può essere stato la spina dorsale delle comunicazioni di testo veloci per decenni, ma lo standard sta affrontando la crescente concorrenza di servizi di messaggistica alternativi. Nei paesi occidentali, in particolare, i client basati sui dati stanno diventando sempre più popolari e potrebbero sostituire il vecchio e fedele standard SMS in futuro, anche se probabilmente non sarà ancora per un po’.