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