Il livello Network in Internet Funzioni del livello Network negli host e router: Livello Transport: TCP, UDP Livello Network Protocolli di Routing selezione percorso RIP, OSPF, BGP tabella di routing protocollo IP convenzioni indirizzamento formato datagram convenzioni gestione pacchetto protocollo ICMP notifica errori segnalazione tra router Livello Link Livello fisico 4: Livello Network 4-31
Indirizzi IP: introduzione indirizzo IP: identificatore di 32-bit per l interfaccia di rete di host e router interfaccia di rete: connessione tra host, router ed il canale fisico i router, tipicamente hanno interfacce multiple gli host possono avere interfacce multiple gli indirizzi IP sono associati alle interfacce e NON agli host o ai router 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 4: Livello Network 4-32
Indirizzi IP indirizzo IP: parte rete (bit più a sinistra) parte host (bit più a destra) Cos è una rete? (dal punto di vista dell indirizzo IP) dispositivi d interfaccia con la stessa parte rete dell indirizzo IP possono fisicamente raggiungere l un l altra senza l intervento di router 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 LAN 223.1.2.2 223.1.3.2 rete di 3 reti IP (per gli indirizzi IP che iniziano con 223, i primi 24 bit sono l indirizzo della rete) 4: Livello Network 4-33
Indirizzi IP Come trovare le reti? Distaccare ogni interfaccia dagli host, router Creare isole di reti isolate 223.1.1.1 223.1.1.2 223.1.1.3 223.1.9.2 223.1.7.0 223.1.1.4 223.1.9.1 223.1.8.1 223.1.8.0 223.1.7.1 223.1.2.6 223.1.3.27 Sistema interconnesso composto da sei reti 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2 4: Livello Network 4-34
Indirizzi IP data la nozione di rete riesaminiamo gli indirizzi IP: indirizzamento classful : classe A B C 0network host 10 network host 110 network host 1.0.0.0 a 127.255.255.255 128.0.0.0 a 191.255.255.255 192.0.0.0 a 223.255.255.255 D 1110 multicast address 32 bit 224.0.0.0 a 239.255.255.255 4: Livello Network 4-35
Indirizzi IP: CIDR indirizzamento classful: uso inefficiente dello spazio degli indirizzi, esaurimento dello spazio di indirizzamento e.g., una rete di classe B ha la possibilità di allocare indirizzi per 65K host anche se solo 2K host sono presenti nella rete CIDR: Classless InterDomain Routing la porzione rete dell indirizzo di lunghezza arbitraria formato indirizzo: a.b.c.d/x, dove x è il numero di bit nella porzione rete dell indirizzo parte rete 11001000 00010111 00010000 00000000 200.23.16.0/23 parte host 4: Livello Network 4-36
Indirizzi IP: come averne uno? Host (porzione host dell indirizzo): codificato dall amministratore del sistema in un file DHCP: Dynamic Host Configuration Protocol: ottiene dinamicamente un indirizzo: l host manda un messaggio broadcast DHCP discover il server DHCP risponde con un messaggio DHCP offer l host richiede un indirizzo IP con un DHCP request il server DHCP spedisce un indirizzo IP con un DHCP ack 4: Livello Network 4-37
Indirizzi IP: come averne uno? Rete (porzione rete dell indirizzo): si ottiene una porzione allocata dello spazio di indirizzi del ISP: blocco ISP 11001000 00010111 00010000 00000000 200.23.16.0/20 Organizzaz. 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organizzaz. 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organizzaz. 2 11001000 00010111 00010100 00000000 200.23.20.0/23....... Organizzaz. 7 11001000 00010111 00011110 00000000 200.23.30.0/23 4: Livello Network 4-38
Indirizzamento gerarchico: aggregazione di cammini L indirizzamento gerarchico permette un efficiente advertising delle informazioni di routing: Organizzazione 0 200.23.16.0/23 Organizzazione 1 200.23.18.0/23 Organizzazione 2 200.23.20.0/23 Organizzazione 7 200.23.30.0/23.... Fly-By-Night-ISP ISPs-R-Us Spediscimi qualunque informazione con indirizzo che inizia con 200.23.16.0/20 Internet Spediscimi qualunque informazione con indirizzo che inizia con 199.31.0.0/16 4: Livello Network 4-39
Indirizzamento gerarchico: cammini più specifici ISPs-R-Us ha un cammino più specifico verso Organizzazione 1 Organizzazione 0 200.23.16.0/23 Organizzazione 2 200.23.20.0/23 Organizzazione 7.... Fly-By-Night-ISP Spediscimi qualunque informazione con indirizzo che inizia con 200.23.16.0/20 Internet 200.23.30.0/23 Organizzazione 1 200.23.18.0/23 ISPs-R-Us Spediscimi qualunque informazione con indirizzo che inizia con 199.31.0.0/16 o 200.23.18.0/23 4: Livello Network 4-40
Indirizzi IP: l ultimo pezzo... Domanda: Come ottiene un ISP un blocco d indirizzi? Risposta: ICANN: Internet Corporation for Assigned Names and Numbers alloca gli indirizzi gestisce il DNS assegna i nomi dei domini, risolve le dispute 4: Livello Network 4-41
Portare un datagram da sorgente a destinazione datagram IP: campi vari ind. IP sorg. ind. IP dest dati il datagram rimane intatto mentre viaggia da sorgente a destinazione ci interessano i campi indirizzo A B 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 tabella di routing in A Rete Dest. pros.router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.3.27 223.1.2.2 223.1.3.2 E 4: Livello Network 4-42
Portare un datagram da sorgente a destinazione Inizio in A dato un datagram indirizzato a B: campi vari 223.1.1.1 223.1.1.3 dati ricerca l indirizzo di rete di B trova che B è sulla stessa rete di A il livello link spedirà il datagram direttamente a B all interno di un unità dati (frame) del livello link B ed A sono connessi direttamente A B Rete Dest. pros.router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 E 4: Livello Network 4-43
Portare un datagram da sorgente a destinazione campi vari 223.1.1.1 223.1.2.3 dati Inizio in A, destinazione E: ricerca l indirizzo di rete di E E su una rete differente A, E non connessi direttamente tabella di routing: il prossimo router verso E è 223.1.1.4 il livello link spedisce il datagram al router 223.1.1.4 dentro un frame il datagram arriva a 223.1.1.4 continua A B Rete Dest. pros.router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 E 4: Livello Network 4-44
Portare un datagram da sorgente a destinazione campi vari Rete Pross. 223.1.1.1 223.1.2.3 dati destinaz router Nhops interfaccia 223.1.1-1 223.1.1.4 Arrivo a 223.1.4, destinato a 223.1.2.2 ricerca l indirizzo di rete di E E sulla stessa rete dell interfaccia 223.1.2.9 router ed E direttamente connessi il livello link spedisce il datagram a 223.1.2.2 in un frame attraverso l interfaccia 223.1.2.9 il datagram arriva a 223.1.2.2 223.1.2-1 223.1.2.9 223.1.3-1 223.1.3.27 A B 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 E 4: Livello Network 4-45
Formato del datagram IP numero versione protocollo IP lunghezza header (byte) tipo di dati max numero di hop rimanenti (decrementato ad ogni router) protocollo di livello superiore al quale recapitare i dati e.g., TCP=6, UDP=17. Lista completa in RFC 1700 ver head. len 16-bit identifier time to live type of service upper layer 32 bits flgs length fragment offset Internet checksum 32 bit source IP address 32 bit destination IP address Options (if any) dati (lunghezza variabile, tipicamente un segmento TCP o UDP) lunghezza totale del datagram (byte) per frammentazione/ ricostruzione E.g. timestamp, memorizza il cammino svolto,specifica la lista dei router da visitare. 4: Livello Network 4-46
Frammentazione & Ricostruzione IP i canali della rete hanno un MTU (maximum transfer size) il più grande possibile frame a livello link. tipi di canali differenti, MTU differenti un grande datagram IP diviso ( frammentato ) all interno della rete un datagram diventa alcuni datagram ricostruito solo alla destinazione finale i bit dell header IP usati per identificare ed ordinare frammenti correlati ricostruzione frammentazione: in: un grande datagram out: 3 datagram più piccoli 4: Livello Network 4-47
Frammentazione & Ricostruzione IP lungh. =4000 ID =x frag flag =0 offset =0 Un grande datagram diventa alcuni datagram più piccoli length =1500 ID =x fragflag =1 offset =0 length =1500 ID =x fragflag =1 offset =1480 length =1040 ID =x fragflag =0 offset =2960 4: Livello Network 4-48
ICMP: Internet Control Message Protocol usato da host, router e gateway per comunicarsi informazioni a livello rete notifica errori: unreachable host, network, port, protocol echo request/reply (usato da ping) livello rete sopra IP: i messaggi ICMP sono trasportati in datagrammi IP messaggio ICMP: tipo, codice più i primi 8 byte di un datagram IP che causa un errore Tipo Codice Description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header 4: Livello Network 4-49
Instradamento in Internet L Internet Globale consiste di Autonomous Systems (AS) interconnessi tra loro: Stub AS: piccola azienda Multihomed AS: grande azienda (no transit) Transit AS: provider Instradamento a due livelli: Intra-AS: l amministratore è responsabile della scelta Inter-AS: standard unico 4: Livello Network 4-50
Gerarchia di AS in Internet Intra-AS border (exterior gateway) routers Inter-AS interior (gateway) routers 4: Livello Network 4-51
Instradamento Intra-AS Noto anche come Interior Gateway Protocols (IGP) IGP più comuni: RIP: Routing Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gateway Routing Protocol (Cisco) 4: Livello Network 4-52
RIP ( Routing Information Protocol) Algoritmo di tipo Distance vector Incluso nella distribuzione BSD-UNIX nel 1982 Metrica di distanza: # di hops (max = 15 hop) Distance vector: scambiati ogni 30 secondi attraverso un Response Message (detto anche advertisement) Ogni advertisement: cammino per fino a 25 reti destinazione 4: Livello Network 4-53
RIP (Routing Information Protocol) z w x y A D B Rete destinazione C Prossimo router Num.di hop per dest. w A 2 y B 2 z B 7 x -- 1..... Tabella di routing in D 4: Livello Network 4-54
RIP: guasto di un canale e recupero Se non si riceve un advertisement dopo 180 sec --> il canale vicino viene dichiarato morto i cammini attraverso il vicino sono invalidati nuovi advertisement spediti ai vicini i vicini, a loro volta, spediscono nuovi advertisement (se le tabelle sono cambiate) l informazione sul guasto di un canale si propaga velocemente a tutta la rete poison reverse usato per impedire i cicli ping-pong (distanza infinita = 16 hop) 4: Livello Network 4-55
Elaborazione della tabella in RIP le tabelle di routing RIP gestite da processi a livello application chiamato routed (demone) gli advertisements spediti in pacchetti UDP (porta 520), ripetuti periodicamente 4: Livello Network 4-56
Esempio di tabelle RIP Router: giroflee.eurocom.fr (comando netstat rn) Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2. 192.168.2.5 U 2 13 fa0 193.55.114. 193.55.114.6 U 3 58503 le0 192.168.3. 192.168.3.5 U 2 25 qaa0 224.0.0.0 193.55.114.6 U 3 0 le0 default 193.55.114.129 UG 0 143454 Tre reti di classe C (LAN) connesse Il router conosce solo la strada per le LAN connesse Il router default usato per le altre destinazioni Indirizzo di instradamento multicast: 224.0.0.0 Interfaccia loopback (per debugging) 4: Livello Network 4-57
OSPF (Open Shortest Path First) open : pubblicamente disponibile Usa un algoritmo di tipo Link State disseminazione di pacchetti LS Mappa della topologia ad ogni nodo Calcolo del cammino usando l algoritmo di Dijkstra l advertisement OSPF contiene informazioni per ogni router connesso Gli advertisements vengono disseminati all intero AS (attraverso il flooding) 4: Livello Network 4-58
Aspetti avanzati di OSPF (non in RIP) Sicurezza: tutti i messaggi OSPF sono autenticati (per impedire intrusioni); si usano connessioni TCP Cammini con lo stesso costo multipli sono consentiti (solo un cammino in RIP) Per ogni canale,metriche di costo multiple per TOS differenti (e.g., costo di canale satellitare basso per best effort; alto per real time) Supporto per unicast e multicast integrato: Multicast OSPF (MOSPF) usa lo stesso database per la topologia di OSPF OSPF gerarchico in domini grandi. 4: Livello Network 4-59
OSPF gerarchico 4: Livello Network 4-60
OSPF gerarchico Gerarchia a due livelli: area locale, backbone. advertisement sullo stato dei canali solo nell area ogni nodo ha una topologia dell area dettagliata; consoce solo la direzione (cammino più breve) verso reti in altre aree. Area border routers: riassumono le distanze verso reti nella propria area, pubblicizzano ad altri Area Border routers. Backbone routers: eseguono il routing OSPF limitatamente al backbone. Boundary routers: si connettono ad altri AS. 4: Livello Network 4-61
IGRP (Interior Gateway Routing Protocol) proprietario CISCO; successore di RIP (metà 80) Distance Vector, come RIP diverse metriche di costo (ritardo, banda, affidabilità, carico ecc.) usa TCP per scambiare informazioni di aggiornamento sul routing Routing privo di cicli (loop-free) usando Distributed Updating Algorithm (DUAL) 4: Livello Network 4-62
Inter-AS routing 4: Livello Network 4-63
Routing inter-as in Internet : BGP BGP (Border Gateway Protocol): lo standard de facto Protocollo Path Vector: simile ai protocolli Distance Vector ogni Border Gateway trasmette in broadcast ai vicini (pari) un intero cammino (i.e, sequenza di AS) verso la destinazione e.g., Gateway X può spedire il suo cammino verso la destinazione Z: Path (X,Z) = X,Y1,Y2,Y3,,Z 4: Livello Network 4-64
Routing inter-as in Internet : BGP Supponiamo: gateway X spedisce il suo cammino al gateway pari W W può, o meno, selezionare il cammino offero da X costo, politica (non instradare attraverso AS concorrenti), motivi legati alla prevenzione di cicli. Se W selezione il cammino offerto da X, allora: Path (W,Z) = w, Path (X,Z) Nota: X può controllare il traffico in ingresso controllando i propri advertisement ai pari: e.g., non si vuole instradare traffico verso Z -> non pubblicizzare alcun cammino verso Z 4: Livello Network 4-65
Routing inter-as in Internet : BGP messaggi BGP scambiati usando TCP. messaggi BGP: OPEN: apre una connessione TCP con un pari ed autentica il mittente UPDATE: pubblicizza un nuovo cammino (o ne ritira uno vecchio) KEEPALIVE mantiene una connessione viva in assenza di UPDATE; inoltre, fornisce un ACK a richieste di OPEN NOTIFICATION: notifica errori in messaggi preceenti; usato anche per chiudere una connessione 4: Livello Network 4-66
Perché diversi Intra-AS e Inter-AS routing? Politica: Inter-AS: l amministratore vuole il controllo su come il suo traffico viene instradato e su chi instrada attraverso la sua rete. Intra-AS: amministratore unico, nessuna decisione politica è necessaria Scaling: il routing gerrachico fa risparmiare sulle dimensioni delle tabelle di routing, il traffico per l aggiornamento si riduce Prestazioni: Intra-AS: può focalizzarsi sulle prestazioni Inter-AS: la politica può prevalere sulle prestazioni 4: Livello Network 4-67
Panoramica Architettura di un Router Due funzioni chiave del router: eseguire gli algoritmi/protocolli di routing (RIP, OSPF, BGP) commutare i datagrams dai canali in ingresso ai canali d uscita 4: Livello Network 4-68
Funzioni delle porte d ingresso livello fisico: ricezione di bit livello link: e.g., Ethernet Commutazione Decentralizzata: data la destinazione del datagram, ricerca della porta d uscita usando la tabella di routing nella memoria della porta d ingresso obiettivo: completare l elaborazione della porta d ingresso alla velocità del canale accodamento: se i datagram arrivano più rapidamente della velocità di instradamento nella switch fabric 4: Livello Network 4-69
Accodamento nelle porte d ingresso La switch fabric è più lenta della combinazione delle porte d ingresso -> l accodamento può avvenire nelle code d ingresso Blocco Head-of-the-Line (HOL) : datagram accodati in testa ad una coda impediscono agli altri di passare avanti ritardo di accodamento e perdite a causa dell overflow delle code d ingresso 4: Livello Network 4-70
Tre tipi di switching fabric 4: Livello Network 4-71
Switching attraverso la Memoria Router della prima generazione: pacchetto copiato dall unica CPU del sistema velocità limitata dalla banda della memoria (due attraversamenti del bus per ogni datagram) Input Port Memory Output Port System Bus Router Moderni: un processore della porta d ingresso effettua la ricerca e copia in memoria Cisco Catalyst 8500 4: Livello Network 4-72
Switching attraverso Bus datagram dalla memoria della porta d ingresso verso la memoria della porta d uscita attraverso un bus condiviso contesa del bus: velocità di commutazione limitata dalla banda del bus bus a 1 Gbps, Cisco 1900: velocità sufficiente per router d accesso o di aziende (non per reti regionali o backbone) 4: Livello Network 4-73
Switching attraverso una rete d interconnessione superare le limitazioni della banda del bus reti di Banyan, altre reti d interconnessione inizialmente sviluppate per connettere i processori di un sistema multiprocessore Progetto avanzato: frammentazione di datagram in celle di lunghezza fissa, commutazione delle celle attraverso la switching fabric. Cisco 12000: commuta Gbps attraverso la rete d interconnessione 4: Livello Network 4-74
Porte d uscita Bufferizzazione necessaria quando i datagram arrivano dalla switching fabric più velocemente di quanto si possa trasmetterli Disciplina di Scheduling selezione tra i datagram in coda quello da trasmettere 4: Livello Network 4-75
Accodamento alle porte d uscita bufferizzazione quando la velocità d arrivo attraverso la switching fabric eccede la velocità del canale in uscita ritardo d accodamento e perdite dovute all overflow dei buffer delle porte d uscita 4: Livello Network 4-76