4: Network Layer4a-1 Routing in Internet r Internet consiste di Sistemi Autonomi (Autonomous Systems AS) interconnessi fra loro: m Stub AS: piccolo m Multihomed AS: grande (no transit) m Transit AS: provider r Routing a due livelli: m Intra-AS: amministratore e responsabile per la scelta m Inter-AS: standard unico
4: Network Layer4a-2 Formato datagramma IP ver length 32 bits data (lunghezza variabile di solito un segmentop TCP o UDP) 16-bit identifier Internet checksum time to live 32 bit source IP address numero versione protocol lo IP lunghezza header (bytes) max number hop rimanenti (decrementato a ogni router) usato per frammentazione/ riassemblamento lunghezza total datagramma (bytes) protocollo strato super. a cui dare payload head. len type of service type di dati flgs fragment offset upper layer 32 bit destination IP address Options (if any) P.es. timestamp, percorso seguito, specifica lista di routers da visitare
4: Network Layer4a-3 Frammentazione/ Riassemblamento r link di rete hanno un limite sulla max dimens. pacchetto trasferibile MTU. m diversi tipi di link, diverse MTU r datagrammi IP grandi sono divisi (frammentati) nella rete m un datagramma diviene diversi datagrammi m riassemblamento e fatto solo alla destinaz. finale m intestazione IP e usata per identificare e ordinare frammenti correlati framentazione : in: un datagramma out: 3 datagrammi reassembly
4: Network Layer4a-4 Frammentazione/ Riassembl. IP ID =x offset =0 fragflag =0 length =4000 ID =x offset =0 fragflag =1 length =1500 ID =x offset =1480 fragflag =1 length =1500 ID =x offset =2960 fragflag =0 length =1040 un datagramma grande e frammentato in diversi datagrammi piu piccoli
4: Network Layer4a-5 ICMP: Internet Control Message Protocol r usato da host, routers, gateways per comunicare a livello di rete m error reporting: host non raggiungibile, network, port, protocol m richiesta/ replica di echo (p.es. ping) r strato di rete sopra IP: m msg ICMP usano datagr. IP r messaggio ICMP : tipo, codice, piu 8 bytes di datagramma IP che da errore Type Code descrizione 0 0 risposta echo (ping) 3 0 rete dest. non raggiung. 3 1 host dest non raggiung. 3 2 protocollo dest non raggiung. 3 3 porta dest non raggiung. 3 6 rete dest ignota 3 7 dest host ignoto 4 0 source quench (controllo congestione) 8 0 richiesta di echo (ping) 9 0 annuncio route 10 0 scoperta di un router 11 0 TTL e spirato 12 0 header IP errato
4: Network Layer4a-6 Internet : Gerarchia di AS
4: Network Layer4a-7 Intra-AS Routing r Noto anche come Interior Gateway Protocols (IGP) r Diversi protocolli IGP, piu comuni: m RIP: Routing Information Protocol m OSPF: Open Shortest Path First m IGRP: Interior Gateway Routing Protocol (Cisco propr.)
4: Network Layer4a-8 RIP ( Routing Information Protocol) r Basato su Distance vector r Incluso in BSD-UNIX (1982) r Metrica della distanza: # di salti (hops) (max = 15 hops) r Vettore Distanze: scambiato ogni 30 sec via un Response Message (anche detto Advertisement) r Ogni Advertisement contiene fino a 25 reti destinazione
4: Network Layer4a-9 RIP (Routing Information Protocol) Destination Network Next Router Num. of hops to dest. 1A2 20B2 30B ….….....
4: Network Layer4a-10 RIP: Interruzione Link (Link Failur) r Se non ce messaggio di avvertimento dopo 180 sec, il link e considerato morto r Routes via il vicino sono rese non valide; un nuovo avvertimento e mandato ai vicini r Vicini propagano informazione (se le loro tavole cambiano) r Notizia dellinterruzione si propaga velocemente a tutta la rete r Si usa Poison reverse per prevenire cicli (si assume che distanza infinita = 16 hops)
4: Network Layer4a-11 Processamento Tavole RIP r Le tavole di routing RIP sono elaborate da un processo a livello applicazione detto route-d (route daemon) r Gli Avvertiemnti sono incapsulati in pacchetti UDP (non si richiede consegna affidabile; gli avvertimenti sono mandati periodicamente)
4: Network Layer4a-12 Processamento Tavole RIP
4: Network Layer4a-13 RIP Table example (continued) Esempio Tavola RIP Three attached class C networks (LANs) r Router only knows routes to attached LANs r Default router used to go up r Route multicast address: r Loopback interface (for debugging)
4: Network Layer4a-14 RIP Table example Destination Gateway Flags Ref Use Interface UH lo U 2 13 fa U le U 2 25 qaa U 3 0 le0 default UG
4: Network Layer4a-15 OSPF (Open Shortest Path First) r open: disponibile pubblico r Usa algortimo di Link State m pacchetti LS sono disseminati m Ogni nodo conosce la topologia della rete m Calcolo Route con Dijkstra r Avvertimento OSPF ha uninformazione per router vicino r Avvertimenti disseminati a tutti i Sistemi Autonomi (via flooding)
4: Network Layer4a-16 Caratteristiche avanzate di OSPF (non in RIP) r Sicurezza: tutti i messaggi OSPF sono autenticati (per prevenire intrusioni maliziose); si usano connessioni TCP r Cammini multipli sono possibili (con lo stesso costo) (in RIP uno solo) r Per ogni link, si hanno metriche diverse per servizi con diversa qulita di servizio (QoS) (p. es. costo link satellite e basso per best effort; alto per real time) r Supporto multicast integrato: m Multicast OSPF (MOSPF) usa stesso data base di OSPF r OSPF gerarchico in domini grandi
4: Network Layer4a-17 OSPF Gerarchico
4: Network Layer4a-18 OSPF Gerarchico r Gerarchia a due livelli: local area e backbone. r Avvertimenti Link-state non lasciano rispettive aree. r I nodi in ogni area hanno una topologia dettagliata dellarea ma conoscono solo la direzione verso reti in altre aree. r Router Area Border: riassumono distanze a reti nellarea e avvertono altri router tipo Area Border. r Backbone routers eseguono algoritmo OSPF solo per la backbone. r Boundary routers si connettono a altri Sistemi Autnomi (AS).
4: Network Layer4a-19 IGRP (Interior Gateway Routing Protocol) r Proprieta CISCO; successore di RIP r Distance Vector (come RIP) r diverse metriche di costo (ritardo, banda, affidabilita, carico ecc. ) r usa TCP per scambiare aggiornamenti r tavole di routing sono scambiate solo quando si modificano costi r Algoritmo di routing e DUAL (Distributed Updating Alg.) e libero da cicli: dopo incremeno di distanza, la tavola di routing e congelata finoa quando tutti i nodi influenzati sanno del cambiamento.
4: Network Layer4a-20 Routing Inter-AS
4: Network Layer4a-21 Routing Inter-AS (cont) r BGP (Border Gateway Protocol): standard di fatto r Protocollo Path Vector estende Distance Vector r ogni Border Gateway comunica a tutti i vicini (broadcast) tutto il cammino (cioe la seq. di AS) fino a destinazione r Ad esempio, gateway X puo memorizzare per la destinazione Z il cammino: Path (X,Z) = X,Y1,Y2,Y3,…,Z
4: Network Layer4a-22 Inter-AS routing (cont) r Se il Gwy X manda il suo cammino a Gwy peer W r Gwy W puo o non puo selezionare il cammino offerto da Gwy X, per il costo o per questioni politiche- economiche o per ragioni di loop. r Se Gwy W seleziona il cammino annunciato da Gwy X: Path (W,Z) = w, Path (X,Z) Nota: la selezione del cammino e basata piu che sul costo (ad es. # di AS hops), ma piu su aspetti politici e amministrativi (p.es. non passare attraverso concorrenti)
4: Network Layer4a-23 Inter-AS routing (cont) Peers scambiano messaggi BGP usando TCP; diversi tipi di messaggi: r OPEN msg apre connessione TCP e autentica mitt. r UPDATE msg avverte di una modifica (un nuovo cammino o eliminazione di un cammino) r KEEPALIVE msg mantiene connessione attiva in assenza di UPDATES; da anche ACK a rich. OPEN r NOTIFICATION msg riporta errori in messggi precedenti e chiude connessione
4: Network Layer4a-24 Perche diversi routing Intra- and Inter-AS? r Politica: Inter si concentra con aspetti politici (quale provider scegliere o evitare); Intra si applica in una singola organizzaz. cui si applica stessa politica r Dimensioni: In questo modo si realizza un routing gerarchico e si diminuisce il traffico per aggiornare le tavole di routing r Prestazioni: Intra si concentra su prestazioni; in Inter e difficile propagare velocemente informazioni su costi (latenza, riservatezza ecc.); inoltre aspetti politici sono prevalenti.