Vai al contenuto
Reti di Telecomunicazione

Architettura delle reti: strati, commutazione di pacchetto e ritardi

Modello a strati di Internet e OSI, incapsulamento, commutazione di circuito e di pacchetto, componenti del ritardo, vantaggio della trasmissione a pacchetti dimostrato, prodotto banda-ritardo.

Una rete di telecomunicazione deve far arrivare dati tra miliardi di dispositivi diversi, attraverso cavi, fibre e collegamenti radio di natura diversissima, gestiti da organizzazioni diverse. Ci riesce dividendo il problema in strati, ciascuno con un compito preciso. In questa lezione vediamo l’architettura a strati e l’incapsulamento, la commutazione di circuito e di pacchetto, le quattro componenti del ritardo, la dimostrazione del vantaggio della trasmissione a pacchetti in una catena di nodi, e il prodotto banda-ritardo.

Gli strati

Il modello di Internet ha cinque strati:

  • applicazione: i programmi che usano la rete (web, posta, video), con i loro protocolli (HTTP, SMTP, DNS);
  • trasporto: la comunicazione tra due processi su due macchine, affidabile (TCP) o no (UDP);
  • rete: l’instradamento dei pacchetti dalla sorgente alla destinazione attraverso molti nodi (IP);
  • collegamento: il trasferimento su un singolo tratto tra due nodi adiacenti (Ethernet, Wi-Fi);
  • fisico: i bit sul mezzo, con le modulazioni e le codifiche viste in Comunicazioni elettriche.

Il modello OSI ne prevede sette, aggiungendo presentazione e sessione, che in Internet sono compiti delle applicazioni. Ogni strato usa i servizi di quello inferiore e ne offre a quello superiore, e parla con lo strato dello stesso livello dall’altra parte attraverso un protocollo: un insieme di regole sul formato dei messaggi e sulle azioni da compiere.

Incapsulamento dei dati attraverso gli strati
I dati D dell’applicazione ricevono l’intestazione del trasporto H4, poi quella di rete H3, poi quella di collegamento H2 con la coda di controllo T. Ogni strato tratta tutto ciò che riceve dall’alto come dati da trasportare.

Scendendo, ogni strato aggiunge la propria intestazione con le informazioni che servono al suo pari: le porte per il trasporto, gli indirizzi IP per la rete, gli indirizzi fisici e un codice di controllo degli errori (CRC, lezione sui codici di Comunicazioni elettriche) per il collegamento. È l’incapsulamento. Il vantaggio è la modularità: si può sostituire il Wi-Fi con la fibra senza che il browser se ne accorga.

Circuiti e pacchetti

La rete telefonica tradizionale usa la commutazione di circuito: prima di parlare si riserva un percorso con una capacità fissa per tutta la durata della chiamata. Il servizio è garantito, ma la capacità riservata resta inutilizzata nei silenzi. Internet usa la commutazione di pacchetto: i dati sono divisi in pacchetti, ciascuno con l’indirizzo di destinazione, e ogni nodo li inoltra uno alla volta, mettendoli in coda se il collegamento d’uscita è occupato. Le risorse si condividono tra tutti gli utenti secondo la domanda del momento (multiplazione statistica), con un uso molto più efficiente della capacità, al prezzo di ritardi variabili e possibili perdite quando le code si riempiono.

Le componenti del ritardo

Un pacchetto di L bit che attraversa un nodo e il collegamento successivo subisce quattro ritardi:

  • elaborazione: il nodo legge l’intestazione e decide dove inoltrarlo, microsecondi;
  • attesa in coda: dipende dal traffico, da zero a molti millisecondi (lezione sulle code);
  • trasmissione: il tempo per immettere tutti i bit sul collegamento di velocità R, L/R. Un pacchetto da 1500 byte su un collegamento da 100 Mb/s richiede 120 µs;
  • propagazione: il tempo che un bit impiega ad attraversare il mezzo, d/v, con v circa 2\cdot 10^8 m/s nel rame e nella fibra. Per 1000 km sono 5 ms, qualunque sia la velocità del collegamento.

Perché dividere in pacchetti

Nei nodi store-and-forward un pacchetto deve essere ricevuto completamente prima di essere ritrasmesso.

Teorema. Un messaggio diviso in P pacchetti di L bit attraversa N collegamenti di velocità R (trascurando propagazione, elaborazione e code) in un tempo

    \[ T = (N + P - 1)\,\frac{L}{R} \]

Dimostrazione. Il primo pacchetto impiega L/R su ogni collegamento e arriva dopo N\,L/R. Mentre il primo attraversa il secondo collegamento, il secondo pacchetto attraversa il primo, e così via: i pacchetti avanzano in fila, e alla destinazione ne arriva uno ogni L/R. L’ultimo arriva (P - 1)\,L/R dopo il primo, cioè a (N + P - 1)\,L/R. ∎

Esempio. Un file da 1 MB (8 Mbit) su tre collegamenti da 10 Mb/s. Come messaggio unico (P = 1, L = 8 Mbit) servono 3\cdot 0{,}8 = 2{,}4 s. Diviso in 1000 pacchetti da 8000 bit, (3 + 999)\cdot 0{,}8\ \text{ms} \approx 0{,}80 s: un terzo. Più il messaggio è lungo rispetto al numero di salti, più la trasmissione a pacchetti si avvicina al tempo di un solo collegamento. In più, un errore costringe a ritrasmettere un pacchetto e non tutto il messaggio. Il limite è il costo delle intestazioni, che pesano di più sui pacchetti piccoli.

Il prodotto banda-ritardo

Quanti bit sono “in viaggio” sul collegamento in un certo istante? Il prodotto tra la velocità e il ritardo di propagazione, R\cdot d/v. Con 1 Gb/s e 50 ms di andata (una tratta intercontinentale) sono 50 Mbit, più di 6 MB. Il prodotto banda-ritardo, calcolato sul tempo di andata e ritorno (RTT), dice quanti dati il trasmettitore deve poter inviare senza aspettare conferme per tenere pieno il collegamento: è il motivo per cui le finestre di TCP devono essere grandi sulle reti veloci e lontane (lezione su TCP).

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x