Antonio Cianfrani Instradamento in IPv4 Funzione di instradamento nei Router IP I Router IP hanno la funzione di instradare i datagrammi in rete: ricevono un datagramma da una interfaccia, eseguono alcune operazioni e rilanciano il datagramma stesso su un altra interfaccia. 1 2 3 IP IP Ogni datagramma attraversa un cammino composto da router e sottoreti. L instradamento può essere di due tipi: instradamento diretto instradamento indiretto
Instradamento diretto La trasmissione di un datagramma IP tra due macchine connesse su una stessa sotto-rete (stesso Net_id) Non coinvolge router intermedi Il trasmettitore IP risolve l indirizzo fisico dell host destinatario (tramite il protocollo ARP), incapsula il datagramma nell unità dati della rete fisica e lo invia verso destinazione Utilizza i meccanismi propri della rete fisica in questione per inviare il datagramma Host 1 Sotto-rete 1 Router 1 Host 3 Host 2 Sotto-rete 2 Instradamento indiretto L host di destinazione non è sulla stessa sotto-rete del mittente Il mittente deve identificare un router a cui inviare il datagramma; il router deve inviare il datagramma verso la sotto-rete di destinazione. Il router esamina il datagramma IP ricevuto e, se l host di destinazione non si trova in una sottorete a cui il router è direttamente connesso, decide il router successivo verso cui instradarlo l'instradamento attraverso la sotto-rete che connette i due router avviene secondo i meccanismi della sotto-rete Il processo si ripete di router in router sino alla sotto-rete di destinazione nella sotto-rete di destinazione è utilizzato l instradamento diretto Host 1 Router 1 Router 2 Host 2 Sotto-rete 1 Sotto-rete 2 Sotto-rete 3
Tabelle di instradamento Il meccanismo per l instradamento in IP è basato su una tabella che ogni host e ogni router mantiene allo scopo di conoscere le possibili destinazioni e le modalità per raggiungerle Una tabella di instradamento (routing table) contiene delle entry (righe) del tipo (N, M, NH, I) dove: N è l indirizzo della rete di destinazione, M la maschera di rete associata ad N NH è l indirizzo del prossimo router (next-hop router) lungo la strada che porta alla rete di destinazione I è l interfaccia del router verso cui rilanciare i datagrammi diretti a N La tabella di instradamento specifica quindi solo un passo lungo il cammino verso la destinazione quindi il router non conosce il cammino completo che il datagramma dovrà compiere Al fine di mantenere piccole le tabelle di instradamento e realizzare un instradamento efficiente, le tabelle contengono solo informazioni sulle reti e non sui singoli nodi Esempio 11.0.0.0 11.0.0.5 20.0.0.5 20.0.0.6 130.11.0.6 213.2.97.7 R1 20.0.0.0 R2 130.11.0.0 R3 130.11.0.7 213.2.98.12 213.2.97.0 213.2.98.0 Tabella di instradamento di R2 Destinazione N Maschera M Next hop NH 20.0.0.0 255.0.0.0 d.c. (20.0.0.6) 130.11.0.0 255.255.0.0 d.c. (130.11.0.6) 11.0.0.0 255.0.0.0 20.0.0.5 213.2.97.0 255.255.255.0 130.11.0.7 213.2.98.0 255.255.255.0 130.11.0.7 Interfaccia I
Router di default (default gateway) Router verso cui è inviato il traffico diretto ad una destinazione non presente nella tabella di routing Non obbligatorio ma molto utilizzato: negli host, che possono anche non avere una tabella di routing propria e che inviano al router di default tutti i datagrammi non diretti alla rete cui sono collegati nei router, che pur avendo tabella di discrete dimensioni non coprono tutte le possibili destinazioni Il default gateway è presente all ultima riga della tabella di instradamento ed è rappresentato con tutti zero sia nel campo N che nel campo M Destinazione N Maschera M Next hop NH 20.0.0.0 255.0.0.0 d.c. (20.0.0.6) 130.11.0.0 255.255.0.0 d.c. (130.11.0.6) 0.0.0.0 0.0.0.0 20.0.0.5 Interfaccia I Longest Prefix Matching Per valutare se un host con indirizzo X appartiene ad una sottorete con indirizzo Y/M si effettua l operazione di matching, cioè si verifica che: X and M = Y Quando all interno di un router si effettua l operazione di instradamento il matching va effettuato per tutte le righe della tabella di routing: se il matching dà esito positivo per più righe si attua la regola del Longest Prefix Matching, si utilizza la riga che ha il maggior numero di bit in comune con XandM Instradamento indirizzo 198.15.7.3 indirizzo 198.15.4.4 198.15.7.3 porta 1: matching prefisso 16 porta 7: matching prefisso 24 198.15.4.4 porta 1: matching prefisso 16 porta 7: no matching Tabella di instradamento Prefix Porta d uscita 198.15.0.0/16 1 198.15.7.0/24 7 198.15.7.3 porta 7 198.15.4.4 porta 1
Operazione di instradamento Instradamento del router X: 1) estrai l indirizzo IP di destinazione dal datagramma (Y) 2) se l indirizzo di destinazione Y coincide con X (la destinazione è il router X), estraine il contenuto informativo e consegnalo al protocollo indicato 3) decrementa il Time To Live del datagramma; se il Time To Live è arrivato a zero scarta il datagramma e danne comunicazione all host mittente (utilizzando il protocollo ICMP) 4) confronta la componente XandM con Y (M maschera di rete del router X), se sono uguali inoltra il datagramma direttamente ( ARP) 5) Per tutte le righe della tabella di instradamento [N,M,NH,I] confronta se XandM = N (N indirizzo della sotto-rete, M maschera di sotto-rete, NH ind. prossimo router ed I interfaccia d uscita). Inoltra il datagramma verso il router NH relativo alla corrispondenza con la maschera più lunga (Longest Prefix Match) 6) altrimenti (non c è nessuna corrispondenza) inoltra verso il default router se ne è stato specificato uno oppure scarta il datagramma e dichiara errore di instradamento (inviando un messaggio ICMP di Host Unreachable alla sorgente) Esercizio 1 ROUTER 195.168.14.0/24 195.168.14.1 195.168.12.1 1 195.168.12.0/24 195.168.15.0/28 eth2 195.168.15.1 ROUTER 2 195.168.15.2 Routing table Router 1 INTERNET Destination Gateway NetMask Iface 195.168.14.0 195.168.14.1 (d.c.) 255.255.255.0 195.168.12.0 195.168.12.1 (d.c.) 255.255.255.0 195.168.15.0 195.168.15.1 (d.c.) 255. 255.255.240 eth2 0.0.0.0 195.168.15.2 0.0.0.0 eth2
Esercizio 2 INTERNET LAN_C 15 host R3 LAN_A 80 host 195.168.1.7 195.168.1.0 / 28 195.168.1.2 eth2 eth2 R1 LAN_B 35 host eth2 R2 1. Assegnare indirizzi a LAN e router nello spazio definito da 195.169.0.0/24 2. Scrivere la tabella di instradamento di R1 LAN_D 29 host