Sei sulla pagina 1di 57

Inoltro ed instradamento

 Il ruolo del livello di rete è, in maniera semplicistica,


muovere i pacchetti dall’host mittente all’host
destinatario usando due importanti funzioni:
 Inoltro: quando un pacchetto arriva ad uno degli
ingressi di un router questo deve indirizzarlo all’uscita
corretta
 Instradamento: il livello di rete deve definire il
percorso che il pacchetto compie nel passaggio
dall’host mittente a quello destinatario, ossia a quale
router successivo il pacchetto deve essere spedito
 I termini inoltro ed instradamento sono usati
indifferentemente per descrivere l’intero servizio del
livello di rete ma:
 Inoltro si riferisce all’azione di trasferimento da, parte
del router, del pacchetto da un ingresso a una
determinata uscita
 Instradamento indica il processo che coinvolge l’intera
rete di definizione del percorso su cui il pacchetto
viene instradato
Tabelle inoltro
 Sono presenti all’interno del router e sono definiti da
algoritmi di routing
 Il router inoltra un pacchetto esaminando il valore
contenuto in un determinato campo dell’header e lo
confronta con quelli contenuti nella tabella ai quali
corrisponde una ed una sola uscita.
 Possono essere centralizzati: eseguiti da un sito
centrale e scaricati sul router
 Distribuiti all’interno del router
Modelli di servizio
 Definisce le caratteristiche del trasporto dei pacchetti
tra il mittente e il destinatario
 Il livello rete può fornire al livello trasporto i seguenti
servizi.
 Consegna garantita: garantisce che il pacchetto arriva a
destinazione
 Consegna garantita con ritardo limite definito:
garantisce che il pacchetto giungerà a destinazione con
un ritardo inferiore ad un tempo definito
 Ad un flusso di pacchetti possono essere offerti i
seguenti servizi
 Consegna ordinata: garantisce i pacchetti giungano a
destinazione nella stessa sequenza con cui sono stati
inviati
 Banda minima garantita: emula il comportamento di
una connessione a bit rate costante. Finché il mittente
invia pacchetti a velocità inferiore del bit rate non si
hanno perdite e ogni pacchetto arriva con un ritardo
predefinito
 Jitter massimo garantito: garantisce che l’intervallo di
trasmissione sia uguale all’intervallo di ricezione
 Servizi di sicurezza: usando una chiave segreta di
sessione conosciuta dai due host il livello di rete può
crittografare e decrittare i dati contenuti nei datagram
al momento dell’invio e della ricezione
Reti a circuito virtuale
 Un VC consiste in un percorso tra mittente e destinatario
con un numero VC assegnato per ogni tratta e valori nelle
tabelle di inoltro del router
 Nell’attività di una rete VC si possono identificare tre fasi
temporali:
 Setup: il livello di trasporto contatta il livello rete e attende
la generazione del circuito virtuale
 Trasferimento dati: una volta stabilito il VC i pacchetti
iniziano a fluire lungo il circuito virtuale
 Teardown(smantellamento): il livello rete informa della
fine della connessione e aggiorna le tabelle di inoltro dei
router per indicare che VC non esiste più
 I messaggi di segnalazione: passano tra due host per
iniziare o terminare un VC e per modificare lo stato
delle connessioni nelle tabelle di routing
 I protocolli di segnalazione sono i protocolli usati per
lo scambio.
Reti datagram
 In una rete datagram ogni pacchetto viene marcato
con l’indirizzo del destinatario e lo spinge nella rete.
 Ogni router confronta l’indirizzo con la propria tabella
di inoltro per poi inoltrarlo sulla tratta successiva
 In una rete datagram le tabelle di inoltro vengono
modificate ogni pochi minuti da algoritmi di routing.
 Una serie consecutiva di pacchetti può seguire percorsi
diversi ed arrivare quindi in maniera disordinata
Router architettura generale
Router componenti base
 Quattro componenti base
 Porte di ingresso: svolgono diverse funzioni a diversi
livelli.
1. Fisico: termina la tratta fisica in ingresso
2. Connessione: gestisce le funzioni necessarie per
interoperare con il livello link dall’altro lato con della
tratta.
3. Rete: effettua la ricerca nella tabella di inoltro per
definire a quale uscita spedire i pacchetti
Router componenti base
 Switching fabric (tessuto di commutazione): connette le
porte di ingresso del router alle porte di uscita. Funziona
come una rete dentro la rete instradando i pacchetti da una
porta all’altra.
 Porte di uscita: accumula i pacchetti ricevuti dallo
switching fabric e li trasmette alla tratta in uscita. Opera
come le porte di ingresso anche a livello fisico e di
connessione
 Processore di routing: è una particolare CPU che esegue i
protocolli di routing mantiene le tabelle di routing e le
relative informazioni sullo stato delle connessioni
Esempio
 Rotonda(router) a cui fanno capo molte strade a senso
unico(I/O) con un casellante ad ogni entrata che indica ad
ogni auto in entrata a quale uscita recarsi. Un’auto quando
giunge all’uscita designata la può trovare chiusa e quindi
accodarsi(collo di bottiglia)
 Possono verificarsi varie situazioni:
1. Auto arriva veloce ma casellante lento
2. Casellante veloce ma rotonda piena e traffico lento
3. Molte auto vogliono lasciare la rotonda dalla stessa uscita
4. Necessario dare priorità a determinati veicoli
5. Necessario impedire a determinati veicoli di entrare in
rotonda per primi
Elaborazione di ingresso e di uscita
 Le porte di ingresso effettuano la ricerca nella tabella di inoltro per
indirizzare i pacchetti
 Una volta che è stata determinata la porta di uscita il pacchetto viene
inviato nello switching fabric
 In alcuni router il pacchetto può essere bloccato se lo switching fabric è
pieno. Verrà reinserito in un momento successivo.
 In uscita la porta si limita a selezionare i pacchetti che si trovano nello
switching fabric e disaccodarli per la trasmissione
Commutazione
 Lo switching fabric è il vero cuore del router. Ne
esistono di diverse strutture che veicolano i pacchetti
in maniera diversa, mediante una memoria, una
matrice o un bus.
Via memoria
 I primi router erano PC tradizionali ed effettuavano
l’inoltro direttamente tramite CPU utilizzando la RAM.
 Le porte funzionavano come I/O tradizionali. La CPU
copiava il pacchetto in memoria, ne estraeva l’indirizzo di
destinazione e trovava la porta di uscita. Copiava il
pacchetto dalla memoria al buffer della porta di uscita.
 Processo lento limitato dalla velocità di lettura e di scrittura
della memoria
 I router di questo tipo non trattano una grande quantità di
dati
Via bus
 La porta di ingresso trasferisce direttamente i pacchetti alla
porta di uscita attraverso un bus condiviso senza intervento
del processore di routing.
 Al pacchetto viene attribuita un’etichetta che indica la
porta di uscita.
 Il pacchetto viene instradato un in bus
 Tutte le porte di uscita ricevono il pacchetto ma solo quella
designata lo trattiene ed elimina l’etichetta.
 Il bus trasporta solo un pacchetto alla volta
 La velocità di commutazione è limitata dalla velocità del
bus
 Architettura adatta a reti locali
Via matrice
 Usata per superare le limitazioni del bus condiviso
 Struttura a matrice dotata di 2N bus che connettono N
porte di ingresso con N porte di uscita
 Ogni nodo tra i bus corrisponde ad uno switch che può
essere aperto o chiuso da logica interna dello switching
fabric
 È possibile inoltrare più pacchetti contemporaneamente
purché siano usati bus liberi
 Se due porte cercano di inviare ad una stessa porta di uscita
una di esse deve aspettare
 Esistono architettura di matrici più complesse che possono
ovviare a questo problema
Colli di bottiglia
 La posizione e la dimensione delle code dipendono dal
carico di traffico , dalla velocità dello switching fabric,
delle linee di entrata ed uscita
 Se le code crescono eccessivamente i pacchetti
possono perdersi
 Siano le velocità delle linee di ingresso ed uscita uguali
 Il router sia costruito in modo che abbia N porte di
ingresso ed N di uscita.
 Sia la velocità di trasferimento dello switching fabric N
volte più veloce delle velocità di linea
 L’accodamento nelle porte di ingresso è trascurabile
 Mentre quella nelle porte di uscita la situazione è
peggiore i pacchetti arrivano tutti
contemporaneamente. La coda crescerà N-1 pacchetti
per ogni gruppo
 La porta si satura velocemente i pacchetti vengono
scartati e persi
 Sono necessari buffer di grandi dimensioni calcolati
secondo la formula
B=RTT*C/SQRT(N)
 RTT tempo medio di andata e ritorno
 C capacità del link
 N numeri di flussi
 Nel caso RTT di 250ms, C 10Gbps N 100 si ottiene una
capacità di 250Mb
 Conseguenza del fenomeno di accodamento è quella di
definire un criterio in base a quale scegliere il
pacchetto da inviare
 FCFS(First Come First Served) primo entrato primo
uscito
 WFQ(Weighted Fair Queueing) distribuire la scelta tra
tutti i flussi che hanno pacchetti accodati
 Analogamente se l’accodamento avviene nelle porte di
ingresso
 In alcuni casi è vantaggioso scartare un pacchetto
prima che la coda sia piena in modo da inviare un
segnale di avviso al mittente
 La scelta viene fatta attraverso algoritmi detti di
“gestione attiva delle code” o AQM (Active Queue
Management)
 Lo switching fabric può
generare code sulla porta
di ingresso questo
fenomeno è detto di
“blocco in cima alla fila”
 HOL (Head Of the Line
blocking)
Protocolli
 Il livello rete dell’Internet presenta tre componenti
principali:
1. Protocollo IP: provvede all’instradamento, a livello
rete. Non garantisce alcun controllo di errore, di
flusso e di connessione, controlli che sono
demandati ai protocolli del livello superiore
2. Protocolli di routing: determinano il percorso che i
datagram seguiranno dal mittente al destinatario e
calcolano le tabelle di inoltro
3. Protocollo ICMP: riporta gli errori nei datagram e
informazioni riguardanti il livello di rete
Protocollo IP
 Ne esistono due diverse
versioni IPv4, quella
utilizzata sino ad oggi, e
IPv6 destinata a
sostituire IPv4 nei
prossimi anni con un
processo graduale
iniziato nel 2012.
 Analizziamo il formato
del datagram utilizzato
da IPv4
Datagram IP
 Numero versione: dichiara le versione del protocollo
IP, il router leggendola determina come interpretare il
datagram
 Tipo di servizio(TOS Type Of Service): diversifica il
DG in modo da permettere al router di fornire diversi
servizi in funzione dell’informazione trasportata;
streaming video, VoIP o FTP
 Lunghezza del DG: indica la dimensione totale del DG
 Identificatore, flag e offset di frammentazione:
forniscono indicazioni ai router riguardanti la
frammentazione dei DG
Datagram IP
 Tempo di vita (TTL Time Of Live): tempo massimo di
permanenza del DG per evitare che circoli all’infinito
nel caso non venga instradato correttamente
 Protocollo superiore: una volta raggiunto il
destinatario permette di decidere quale protocollo di
livello trasporto deve prendere in carico i dati. Se il
valore è 6 i dati sono passati a TCP se è 17 a UDP. È il
collante che unisce i livelli 3 e 4
 Checksum dell’header: aiuta il router a individuare bit
errati in un DG ricevuto.
Datagram IP
 Source IP address e destination IP address: vi sono
inseriti gli IP mittente e destinatario
 Opzioni: consente di estendere la lunghezza
dell’header
 Dati: contiene i dati da trasportare
Frammentazione
 Nel livello di connessione non tutti i protocolli sono in
grado di trasportare pacchetti del livello rete delle stesse
dimensioni
 MTU(Maximum Transmission Unit) è la massima quantità
di dati che un frame può trasportare
 Pone un grosso limite alle dimensioni dei DG trasportati da
un router all’altro
 Un router riceve un DG da una connessione MTU alta e lo
instrada su una connessione MTU bassa
 Bisogna frammentare il DG in
dimensioni(frammenti)minori e incapsularli in frame più
piccoli
 Il riassemblaggio del
segmento viene
effettuato dall’host
destinatario che deve
sapere se il DG è un
frammento, quanti sono
i frammenti e il loro
ordine, notizie presenti
nel campi
identificatore,flag e
offset
Indirizzamento IPv4
 Vediamo come i router e gli host sono connessi
all’interno di una rete. Un host ha una sola
connessione alla rete e IP lo fa attraverso quella. Il
confine tra host e rete si chiama interfaccia
 Un router ha più interfacce dal momento che ha il
compito di instradare i DG in direzioni diverse
 Ogni interfaccia essendo associata ad una connessione
diversa ha un proprio indirizzo.
 Tecnicamente l’indirizzo IP è associato all’interfaccia e
non all’apparato che la contiene
Indirizzo IP
 È formato da 4 byte ovvero da 32 bit ovvero sono
disponibili 4294967296 indirizzi diversi
 Ogni byte è scritto in forma decimale ed è separato da
un punto
 Gli indirizzi vanno quindi da 0.0.0.0 a 255.255.255.255
che sono però riservati
 Non sono accoppiati all’interfaccia in maniera casuale
 Gli indirizzi vengono accorpati in gruppi che
presentano parte di byte identici e vengono assegnati
ad interfacce connesse direttamente tra di loro si crea
quindi una sottorete
Maschera di sottorete
 Indica il numero di bit,partendo da sinistra, che fanno
parte dell’indirizzo.
 Nella figura sono presenti tre sottoreti
 223.1.1.0/24
 223.1.2.0/24
 223.1.3.0/24
 Nel caso i bit fossero stati 20 o 16 la maschere di
sottorete sarebbe stata del tipo:
 255.255.240.0/20 255.255.0.0/16
 È possibile suddividere la rete in macroblocchi ognuno
dei quali è suddiviso in blocchi più piccoli e così via
fino a giungere alle sottoreti più piccole
 I bit più significativi della forma a.b.c.d/x costituiscono
la porzione di rete dell’IP e sono denominati il prefisso
dell’indirizzo stesso
ISP 233.1.0.0/16

Organizzazioni 233.1.240.0/20

16 sottoreti con terzo numero da 240 a 255

 Gli IP sono gestiti dall’ICANN(Internet Corporation for


Assigned Names and Numbers) che gestisce i root
server DNS
DHCP(Dynamic Host Configuration
Protocol)
 Una volta che un’organizzazione ha ricevuto il pacchetto di
indirizzi deve assegnarli ai vari host e router.
 Può essere fatto manualmente dall’amministratore ma il
compito viene effettuato dal protocollo DHCP
 Il protocollo può essere configurato in modo che l’host
abbia sempre lo stesso indirizzo o che possa cambiare ogni
volta che l’host si connette alla rete
 DHCP viene usato dalle reti domestiche e WLAN nelle
quali gli host entrano ed escono frequentemente dalla rete
 È un protocollo client server e il processo di allocazione
avviene in quattro passi.
DHCP discovery
 Client cerca server DHCP ed invia una richiesta in un
pacchetto UDP incapsulato in un DG
 Client non conosce né l’IP del server né il suo
 Entrano in gioco i due indirizzi IP riservati
255.255.255.255 e 0.0.0.0
 Il primo detto indirizzo di broadcast inserito nel
campo destination IP causa la propagazione in tutti gli
host della rete
 Il secondo o source IP è l’indirizzo provvisorio
dell’host
DHCP offer, request e ack
 Tutti i server DHCP riservano all’host un IP e lo
comunicano a tutti i nodi della sottorete sempre
attraverso il broadcast
 L’host sceglie quale richiesta accettare

 Scelta l’offerta l’host risponde al server di cui conosce


adesso IP ripetendo i parametri di configurazione

 Il server risponde con messaggio di accettazione


confermando i parametri richiesti
Difetti DHCP
 DHCP presenta difetti in caso di connessione da
dispositivi mobili
 In ogni cambio di cella è necessario rinegoziare
l’indirizzo IP dato che cambia sottorete e ciò comporta
la caduta della connessione

 È stata realizzata una estensione al protocollo che


permette di mantenere lo stesso IP anche con il
cambio di celle
ICMP (Internet Control Message
Protocol)
 Usato da host e router per comunicare tra loro
informazioni riguardanti il livello rete
 Risiede sopra IP ed è trasportato all’interno dei DG
come TCP o UDP
 Non trasporta solo messaggi di errore
 Il messaggio 4-0 source quench(controllo di
congestione di solito poco utilizzato) consente al
router in congestione di inviare un messaggio all’host
per farli rallentare e smaltire le code
IPv6
 Nel tempo l’indirizzamento a 32 bit potrebbe rilevarsi
insufficiente
 È stata quindi generata una nuova versione del
protocollo
 Il datagram dell’IPv6 è diverso da quello IPv4 ed è
incompatibile con esso
 Valutiamo le differenze
Datagram IPv6
 Maggiori capacità di indirizzamento anziché 32 bit ne sono
disponibili 128 ovvero 2^128, pari a un numero a 38 cifre, numeri
disponibili
 Header snellito
 Etichettatura dei flussi e priorità: permetterà di gestire i
datagram provenienti da host diversi in modo personalizato
 Numero di versione: dichiara la versione del protocollo
 Classe di traffico: sostituisce il TOS di IPv4 e ne condivide
le funzioni
 Lunghezza del carico utile: riporta il numero di byte
contenuti nel DG
 Header successivo: identifica il protocollo di livello
superiore cui i dati saranno consegnati
 Limite di balzi: subisce il decremento di 1 ad ogni passo
attraverso un router giunti a 0 il DG viene eliminato
 Source e destination IP address: hanno lunghezza di 128 bit
 Dati: contiene i dati da trasportare
 Idntificatore,flag,offset di frammentazione: la
frammentazione e il riassemblaggio avviene solo
presso mittente e destinatario. Se un router non può
instradare un DG lo scarta ed invia messaggio di errore
al mittente
 Cheksum dell’header: serve per diminuire i tempi di
transito
 Opzioni: questo campo è stato eliminato per
mantenere fissa la lunghezza dell’header
 Gestire gli indirizzi IP a 128 bit in notazione decimale
puntata porterebbe ad una lunghezza ingestibile
 Gli IP vengono quindi divisi in otto gruppi da 16 bit in
notazione esadecimale separati da :
 Esempio: 2001:0DB8:AC10:FE01
 Dal momento che i primi quattro gruppi
corrispondono a un indirizzamento di oltre 16miliardi
di miliardi i secondi quattro gruppi possono essere
0:0:0:0
Algoritmi e protocolli routing
 Gli algoritmi lavorano all’interno dei router per
configurare le tabelle di inoltro
 Un host è tipicamente collegato ad un router di default
 Quando un host invia un pacchetto esso è trasferito al
router di default
 Sia source router il router di default del mittente e
destination router quello del destinatario
 L’algoritmo di routing deve trovare il percorso ottimale
tra il source e destination router
Percorso ottimale
Tipi di algoritmi
 Possiamo indicare due categorie:
 Algoritmo globale: calcola il percorso ottimale tra
mittente e destinatario utilizzando una conoscenza
globale della rete, prende in considerazione tutte le
connessioni possibili e ne conosce i costi
 Algoritmo decentrato: calcola il percorso in modo
distribuito e iterativo.

Potrebbero piacerti anche