La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

STRATO RETE IN INTERNET - 1 Strato rete in Internet Gruppo Reti TLC

Presentazioni simili


Presentazione sul tema: "STRATO RETE IN INTERNET - 1 Strato rete in Internet Gruppo Reti TLC"— Transcript della presentazione:

1 STRATO RETE IN INTERNET - 1 Strato rete in Internet Gruppo Reti TLC

2 STRATO RETE IN INTERNET - 2 OSI Application Presentation Session Transport Network Data Link Physical Non Specificati IP TCP e/o UDP RPC XDR NFS Internet Protocol Suite ARP | RARP ICMP Protocolli di routing Telnet FTP SMTP SNMP Internet protocol suite

3 STRATO RETE IN INTERNET - 3 IP: Internet Protocol Livello rete dellarchitettura TCP/IP Offre un servizio –non connesso –inaffidabile –best-effort –senza garanzie di qualità di servizio

4 STRATO RETE IN INTERNET - 4 Il protocollo IP È un protocollo di strato rete (strato 3) Si occupa quindi dellindirizzamento e instradamento dei pacchetti (detti datagram) La consegna dei pacchetti IP è: –connectionless ogni pacchetto trattato in modo indipendente –inaffidabile (unreliable) perdita, duplicazioni, ritardi –non distingue tra diversi tipi di traffico (no priorità, tratta tutti in modo best-effort)

5 STRATO RETE IN INTERNET - 5 Protocollo IP Consegna inaffidabile –In caso di guasti (es. un router fuori servizio, collegamento non disponibile) scarta il datagram cerca di inviare un messaggio di errore al mittente Consegna connectionless –Non conserva informazioni di stato sui datagram in corso di trasmissione –Ogni datagram instradato in modo indipendente –Due pacchetti con stessa sorgente e destinazione possono seguire percorsi diversi

6 STRATO RETE IN INTERNET VersionHLEN Service TypeTotal Length IdentificationFlags Fragment Offset Time To Live ProtocolHeader Checksum Source IP Address Destination IP Address Options PAD Intestazione pacchetto IP

7 STRATO RETE IN INTERNET - 7 Intestazione pacchetto IP: i campi VER: versione del protocollo IP HLEN: lunghezza dellheader in parole da 32 bit (se opzioni assenti, vale 5) Type of service (TOS): tipo di servizio richiede il datagram (minimize delay, maximize throughput, maximize reliability, minimize cost ). Ignorato dai router. Total Length: lunghezza del datagram in byte (incluso header). Dimensione massima byte

8 STRATO RETE IN INTERNET - 8 Frammentazione Ogni rete ha massima dimensione ammessa –MTU (Maximum Transfer Unit) Ethernet 1.5 kB Quando devo attraversare rete con MTU più piccola del datagram si deve frammentare Frammenti –diventano datagram indipendenti, con intestazione quasi uguale a quella del datagram originario –ricostruiti solo alla destinazione, mai nei router Frammentazione trasparente a sorgente e destinazione

9 STRATO RETE IN INTERNET - 9 Frammentazione La frammentazione è dannosa –aumento overhead di intestazione, duplicato su ogni frammento –perdita di un frammento comporta la perdita al ricvevitore di tutto il datagram; aumenta la probabilità di errore –ricevitore deve attivare timer di attesa arrivo frammenti e riassemblare I router IP però non si devono occupare di riassemblare frammenti

10 STRATO RETE IN INTERNET - 10 Intestazione pacchetto IP: i campi Identification, Flags, Fragment offset: controllano operazioni di frammentazione Identification: permette di riconoscere a quale datagram il frammento appartiene (frammenti dello stesso datagram hanno stesso valore deciso da chi genera datagram) Fragment offset: specifica offset dati contenuti nel frammento, in multipli di 8 byte Flags (2 bit): dont fragment e more fragments (identifico ultimo frammento)

11 STRATO RETE IN INTERNET - 11 Intestazione pacchetto IP: i campi TTL (time to live): –tempo di vita (in hop) di un datagram –Ogni router decrementa di 1 il valore di TTL –Se TTL=0 scarta datagram ed invio messaggio di errore Protocol: formato dei dati specificando un protocollo di livello superiore Header Checksum (16 bit): controllo di errore sulla sola intestazione, non sui dati utente. Somma in complemento a 1 allineando header a 16 bit.

12 STRATO RETE IN INTERNET - 12 Intestazione pacchetto IP Source e Destination Address (32 bit): indirizzo sorgente e destinazione degli host Formato opzioni: option code (option number, option class, flag di copia nei frammenti) + lunghezza opzione + dati Opzioni –record route: registro percorso del datagram –source route (loose and strict): sorgente specifica percorso del datagram –timestamp: permette di registrare tempo di elaborazione del datagram

13 STRATO RETE IN INTERNET - 13 Il protocollo ICMP ICMP (Internet Control Message Protocol ) è solitamente considerato parte del livello IP Comunica messaggi di errore o di controllo. Può trasportare richieste di informazioni e risposte alle richieste. I messaggi ICMP sono trasmessi allinterno di datagram IP

14 STRATO RETE IN INTERNET - 14 Formato del messaggio ICMP type code checksum data

15 STRATO RETE IN INTERNET - 15 Esempi di messaggi ICMP messaggiotype code echo reply 00query echo request80 query network unreachable 30 errore host unreachable31 errore port unreachable33 errore destn net unknown 36 errore destn host unknown37 errore redirect 51controllo time exceeded (TTL) 110 errore time exceeded (fragment reass)111 errore

16 STRATO RETE IN INTERNET - 16 Il comando ping Se un host non risponde al ping, non è raggiungibile. Spesso usato per rilevare guasti in rete E disponibile su macchine Unix e su PC Informazioni visualizzate da ping: –numero di sequenza –TTL –round-trip-time (tempo impiegato a percorrere la tratta sorgente-destinatario-sorgente)

17 STRATO RETE IN INTERNET - 17 Applicazione: il comando ping Il nome è ispirato al rumore del sonar Esegue un test di raggiungibilità dellinterfaccia di rete di un host remoto Invia un messaggio ICMP echo request ad un host, aspettandosi un echo reply Di default, l ICMP viene inviato ogni secondo allo stesso host; è possibile tuttavia modificare la frequenza di invio

18 STRATO RETE IN INTERNET - 18 Il comando traceroute traceroute permette di seguire il percorso dei datagram IP hop-per-hop fino a destinazione Funzionamento: –host invia datagram IP vuoti, con TTL crescenti e destinati alla porta dellhost remoto –I router intermedi ritornano ICMP time exceeded –La destinazione ritorna ICMP port unreachable –Se non torna messaggio ICMP in risposta entro un timeout di 3 sec., si segnala errore

19 STRATO RETE IN INTERNET - 19 Indirizzi IP Andrea Bianco

20 STRATO RETE IN INTERNET - 20 Indirizzamento IP: obiettivi e risultati Obiettivo originale: rendere efficienti le operazioni di routing (router lenti - anni 80) con indirizzi facilmente classificabili –Spreco dello spazio di indirizzamento (esaurimento degli indirizzi - anni 90) Nuovo obiettivo: razionalizzare lassegnazione degli indirizzi e la loro aggregazione nelle routing tables –Riduzione delle dimensioni delle routing tables e riutilizzo di indirizzi già assegnati

21 STRATO RETE IN INTERNET - 21 Indirizzi IP: Principi Ogni host (interfaccia) è individuato da un indirizzo a 32 bit, assegnatogli univocamente Un indirizzo è caratterizzato da informazioni sulla rete (netid) e sullhost (hostid) Linstradamento si basa sul netid –indirizzo non individua la macchina ma la rete se sposto host di rete devo cambiare indirizzo Ogni router ha almeno due indirizzi IP Gli host solitamente uno solo

22 STRATO RETE IN INTERNET - 22 Multi-Homed Hosts Poiché lindirizzo ha informazioni su rete e host, se ho più di una interfaccia di rete, devo avere due indirizzi Più che un host, un indirizzo individua una connessione ad una rete! H Interfaccia #1 Interfaccia #2

23 STRATO RETE IN INTERNET Classe A Classe B netid=7 bit netid=14 bit hostid=24 bit hostid=16 bit Indirizza oltre 1 milioni di reti, ciascuna delle quali può contenere però solo 256 hosts Classe C netid= 21 bithostid=8 bit Indirizza 127 reti, ciascuna delle quali può contenere oltre 16 milioni di hosts Indirizza reti, ciascuna delle quali può contenere hosts Classi di indirizzi Indirizzi multicast Classe D

24 STRATO RETE IN INTERNET - 24 Classe AClasse BClasse CClasse DClasse E Rappresentazione decimale Lindirizzo Internet viene comunemente rappresentato nella forma: xxx.xxx.xxx.xxx con xxx numero decimale tra 0 e 255 Il primo numero permette di riconoscere la classe dellindirizzo:

25 STRATO RETE IN INTERNET - 25 indirizzo di rete (netid) Classi di indirizzi IP A: B: C:

26 STRATO RETE IN INTERNET - 26 Indirizzi di rete e Broadcast Indirizzo con hostid di tutti 0, individua la rete Indirizzo con hostid di tutti 1, rappresenta lindirizzo broadcast della rete stessa (trasmetto in broadcast su quella rete) netid di tutti 1 indica questa rete. Trasmetto senza conoscere IP della rete (boot) Se il netid e` tutti 0, indirizzo allhost sulla rete cui sei collegato Indirizzi riservati ( loopback, reti private)

27 STRATO RETE IN INTERNET - 27 Problemi delle classi Nessuno usa classe A Pochi usano (male) classe B Classe C identifica reti piccole; indirizzi poco richiesti Fare crescere una rete oltre i limiti di dimensione della classe richiede la modifica degli indirizzi di tutti gli host

28 STRATO RETE IN INTERNET - 28 Lintroduzione delle maschere È necessario superare la divisione rigida in netid e hostid Scompare il concetto di classe Uso maschera per definire quanti bit dei 32 di indirizzo individuano la rete, ovvero per indicare lestensione del campo netid Inizialmente si utilizzano le maschere per suddividere indirizzi di classe B

29 STRATO RETE IN INTERNET - 29 La subnet mask La subnet mask (o netmask) è un valore di 32 bit contenente: –bit messi a 1 per identificare la parte di rete –bit messi a 0 per identificare la parte di host Per esigenze di instradamento, un host deve conoscere la parte di rete del proprio indirizzo IP (netid+subnetid): utilizza la subnet mask La subnet mask viene introdotta in fase di configurazione di un host

30 STRATO RETE IN INTERNET AND La subnet mask Esempio: indirizzo host

31 STRATO RETE IN INTERNET - 31 Maschere per supernetting In una seconda fase si utilizzano le maschere per accorpare indirizzi di classe C Si assegnano blocchi contigui di indirizzi di classe C Si usano sempre maschere (supernetting) per identificare netid Si parla di CIDR: Classless Interdomain Routing (1992)

32 STRATO RETE IN INTERNET Supernetting Esempio: assegno 2048 indirizzi contigui, a partire da indirizzo Per rappresentare tale intervallo di valori, utilizzo AND tra indirizzo inferiore e la maschera

33 STRATO RETE IN INTERNET - 33 Instradamento in reti IP Andrea Bianco

34 STRATO RETE IN INTERNET - 34 Consegna diretta e indiretta Se due host sono connessi direttamente alla stessa sottorete (intesa come collegamento fisico) si ha consegna diretta Se due host non sono connessi alla stessa sottorete, la consegna è mediata da uno o più router: si ha consegna indiretta

35 STRATO RETE IN INTERNET - 35 Consegna diretta Per decidere se effettuare una consegna diretta, lhost mittente controlla la porzione di rete dellindirizzo IP destinatario Se tale porzione coincide con il proprio indirizzo di rete, si ha consegna diretta In ogni comunicazione tra host, si ha almeno una consegna diretta Il trasferimento avviene mappando lindirizzo IP in un indirizzo MAC della LAN cui lhost è collegato

36 STRATO RETE IN INTERNET - 36 Risoluzione di indirizzi: Problema che si presenta per ogni trasmissione di datagram IP (host-host, host- router, router-router, router-host) Da indirizzo IP ad indirizzo MAC (fisico) –Direct mapping: mediante tabella statica –Dynamic bynding: protocollo ARP: Address Resolution Protocol ARP e` utilizzato su reti broadcast (LAN) Dato lindirizzo IP dellhost con cui si vuole comunicare, permette di ricavarne lindirizzo MAC (es: Ethernet)

37 STRATO RETE IN INTERNET - 37 ARP Viene costruito dallhost che vuole risolvere lindirizzo un pacchetto broadcast (request) che contiene –lindirizzo IP del destinatario, –indirizzo IP ed Ehternet di chi origina la richiesta Lhost che riconosce nel campo richiesta il proprio indirizzo IP invia un pacchetto di risposta (reply) direttamente al sender

38 STRATO RETE IN INTERNET - 38 ARP Sia chi origina il pacchetto sia chi lo riceve (e risponde) aggiungono una informazione nella propria tabella ARP Le successive comunicazioni tra i due elaboratori possono avvenire senza ulteriori richieste di ARP Le entry nella tabella di ARP scadono dopo un tempo prefissato

39 STRATO RETE IN INTERNET - 39 i.j.h.k ? b c LAN address di C 1 2 ARP a.b.c.d e.f.g.h i.j.h.k l.m.n.o p.q.r.s A B C D E

40 STRATO RETE IN INTERNET - 40 Tabelle di ARP Corrispondenze tra indirizzi IP e indirizzi LAN IP addr LAN addr age b e b

41 STRATO RETE IN INTERNET - 41 Tabelle di ARP Ogni volta che un elaboratore deve comunicare con un altro sulla stessa LAN conoscendone lindirizzo IP, viene ricercato lindirizzo nella tabella di ARP Se non si trova un match viene emessa una richiesta di ARP, altrimenti la comunicazione può avvenire usando direttamente lindirizzo MAC

42 STRATO RETE IN INTERNET - 42 Formato del pacchetto ARP HLEN PLENOperation Time To Live Protocol Target IP Address Sender HW Address Target IP Address Target HW Address Sender HW AddressSender IP Address Target HW Address Hardware TypeProtocol Type

43 STRATO RETE IN INTERNET - 43 ARP: formato pacchetto Operation: tipo di operazione –arp request, arp reply, rarp request, rarp reply Hardware type: tipo di MAC (Ethernet = 1) Protocol type: protocollo che usa ARP (IP=0800H) HLEN e PLEN permettono di utilizzare ARP con rete arbitraria (indirizzi di dimensione variabile)

44 STRATO RETE IN INTERNET - 44 Consegna indiretta Il mittente identifica quale router incaricare della consegna del datagram IP tra quelli raggiungibili con consegna diretta Il router incaricato sceglie il router successivo, da lui raggiungibile direttamente, sul percorso verso la destinazione Il datagram passa da router a router fino a quello che lo consegna direttamente a destinazione

45 STRATO RETE IN INTERNET - 45 Le Routing Tables Ogni host ed ogni router coinvolto nella consegna IP ha tabelle di instradamento (RT, Routing Table) Ovviamente, le tabelle non possono avere informazioni su ogni possibile destinazione Principio: nascondo linformazione I router remoti instradano usando solo la porzione di rete dellindirizzo IP

46 STRATO RETE IN INTERNET - 46 Il Next-hop Routing Una tabella di routing contiene almeno due informazioni: –D indirizzo destinazione R = next-hop D è normalmente un indirizzo di rete R è detto next-hop, e corrisponde ad un host o un router raggiungibile direttamente Se è possibile mettere in relazione lindirizzo di destinazione del pacchetto in transito con un indirizzo D delle RT, il pacchetto viene inviato al relativo R

47 STRATO RETE IN INTERNET - 47 rete rete rete rete A X B diretto INDIR. RETE NEXT DESTINAZ. HOP Tabella del router A Next-hop Routing - esempio

48 STRATO RETE IN INTERNET - 48 Instradamenti Default e Specifici Se il next-hop è unico (es: piccola sottorete con unico router), le tabelle di instradamento degli host possono contenere solo una default route per lesterno Linstradamento può essere specificato per host (host specific route) e non per sottorete per ragioni di: –testing –maggior sicurezza

49 STRATO RETE IN INTERNET - 49 Gestione delle Routing Tables Le tabelle di Routing sono fondamentali per il funzionamento corretto di Internet Problemi da affrontare: – come inizializzare le RT? – quali informazioni devono contenere? – come aggiornarle? – consistenza tra RT e assenza di loop

50 STRATO RETE IN INTERNET - 50 Inizializzazione delle RT Dipende dal sistema operativo: –lettura da un file di configurazione, eventualmente scritto dalloperatore –esecuzione di comandi di scoperta da inviare sulla rete –scambio di informazioni con altri host sulla rete locale

51 STRATO RETE IN INTERNET - 51 La propagazione delle Routing Tables Le RT possono cambiare a causa di: – interventi sulle topologie – guasti – sovraccarichi Linformazione sui cambiamenti deve essere propagata tra router mediante le procedure previste dallalgoritmo di instradamento utilizzato

52 STRATO RETE IN INTERNET - 52 Algoritmo di instradamento IP Estraggo dal pacchetto la parte netid dellindirizzo IP di destinazione (facile con classi) Se sono collegato direttamente alla destinazione, uso consegna diretta (ARP) altrimenti, cerco host specific route altrimenti, cerco next-hop memorizzato per quella rete altrimenti, cerco default route altrimenti, dichiaro errore di routing

53 STRATO RETE IN INTERNET - 53 Conseguenze dellintroduzione delle subbnet mask Gli host ed il router locale (solo quello!) deve utilizzare AND tra indirizzo IP e maschera per individuare il netid correttamente Devo memorizzare nella routing table dell router locale anche le netmask Per gli altri ruoter non sono richieste modifiche. Posso usare routing standard

54 STRATO RETE IN INTERNET - 54 Conseguenze dellintroduzione del CIDR Introdotto (1992) per ridurre le RT e ovviare allimminente esaurimento della classe B Ad un sito che richiede più indirizzi IP questi sono allocati in modo contiguo, condividendo i bit più significativi Il risultato è loccupazione di una sola riga (per tutti gli indirizzi richiesti) nelle RT, che sono consultate con il criterio del longest match

55 STRATO RETE IN INTERNET - 55 Conseguenze dellintroduzione del CIDR CIDR ha il vantaggio di permettere una aggregazione degli indirizzi su base topologica e geografica......ma lo svantaggio di complicare la funzione di lookup perchè: –è necessario fare confronti con prefissi a lunghezza variabile (necessario memorizzare nelle RT, oltre allindirizzo di rete, anche la relativa netmask) –bisogna scorrere tutta la tabella per individuare il prefisso con il longest match

56 STRATO RETE IN INTERNET - 56 CIDR: operazioni di un router Un router riceve un pacchetto con indirizzo destinazione x.y.z.w Esegue AND bit a bit, per ogni riga delle R.T. tra: –lindirizzo di destinazione nella routing table e la netmask –lindirizzo ricevuto x.y.z.w e la stessa netmask Confronto i risultati degli AND: se sono uguali, ho un matching Instrado secondo la riga delle R.T. che ha avuto il maggior numero di bit di matching

57 STRATO RETE IN INTERNET SRR1R1 R2R2 R3R Esempio CIDR

58 STRATO RETE IN INTERNET SRR1R1 R2R2 R3R R1 R.T Esempio CIDR

59 STRATO RETE IN INTERNET SRR1R1 R2R2 R3R R.T Esempio CIDR R1 (18)

60 STRATO RETE IN INTERNET SRR1R1 R3R R.T R2R Esempio CIDR R R

61 STRATO RETE IN INTERNET SRR1R1 R3R R.T R2R Esempio CIDR R R2 (18)

62 STRATO RETE IN INTERNET SRR1R1 R3R R.T R2R Esempio CIDR D D

63 STRATO RETE IN INTERNET SRR1R1 R3R3 R.T R2R Esempio CIDR D (24) D

64 STRATO RETE IN INTERNET - 64 Come si ottengono indirizzi IP? Indirizzi di host in sottorete (host_id): –liberi, configurati da amministratore di rete Wintel: control-panel->network->configuration->tcp/ip- >properties UNIX: /etc/rc.config DHCP: Dynamic Host Configuration Protocol: ottengo dinamicamente indirizzi: –host inviano in broadcasts msg DHCP discover –DHCP server risponde con DHCP offer msg –host richiede indirizzo IP: DHCP request msg –DHCP server invia indirizzo: DHCP ack msg

65 STRATO RETE IN INTERNET - 65 ISP's block /20 Organization /23 Organization /23 Organization /23... ….. …. …. Organization /23 Come si ottengono indirizzi IP? Indirizzi di rete (net_id): –si chiede una parzioni di indirizzi IP ad un ISP

66 STRATO RETE IN INTERNET - 66 Come si ottengono indirizzi IP? Come ottiene indirizzi IP un ISP? ICANN: Internet Corporation for Assigned –nomi e numeri alloca indirizzi gestisce DNS assegna nomi di dominio, risolve liti

67 STRATO RETE IN INTERNET A B E misc fields source IP addr dest IP addr data datagram NON si modifica da sorgente a destinazione interessano solo campi indirizzo Dest. Net. next router Nhops tabella di routing in A Da sorgente a destinazione: esempio Datagram IP:

68 STRATO RETE IN INTERNET A B E Dest. Net. next router Nhops misc fields data Da sorgente a destinazione: esempio In A, noto indirizzo IP di B: –guardo net_id di B –trovo che B appartiene alla stessa sotto rete di A –invio datagram direttamente a B usando indirizzo MAC –B e A sono collegati direttamente

69 STRATO RETE IN INTERNET A B E Dest. Net. next router Nhops misc fields data Da sorgente a destinazione: esempio In A, noto IP di E: –confronto net_id –E su rete diversa A, E non sono collegati direttamente tabella di routing: next hop invio datagram al router usando indirizzo MAC del router

70 STRATO RETE IN INTERNET A B E misc fields data network router Nhops interface Dest. next Da sorgente a destinazione: esempio Arrivo a , destinato a confronto net_id di E e verifico che sono sulla stessa rete con interfaccia –router ed E attaccati direttamente invio datagram a con indirizzo MAC di E

71 STRATO RETE IN INTERNET - 71 Instradamento Gruppo Reti TLC

72 STRATO RETE IN INTERNET - 72 A E D CB F Instradamento Obiettivo dei protocolli di instradamento: –determinare un buon percorso (sequenza di router) nella rete da sorgente a destinazione Grafo –router sono nodi –link fisici sono archi Costi su archi –ritardo, euro, livello di congestione Buon percorso: –tipicamente percorso a costo minimo

73 STRATO RETE IN INTERNET - 73 Classificazione algoritmi di routing Informazioni globale o decentralizzata? Globale: –tutti i router conoscono la topologia completa, compresi i costi dei canali –scambio informazione tra tutti i router –algoritmi link state Decentralizzata: –i router conoscono i router cui sono fisicamente collegati ed i costi dei canali cui sono collegati –scambio di informazione solo con i router adiacenti –algoritmi distance vector

74 STRATO RETE IN INTERNET - 74 Algoritmo Link-State Algoritmo di Dijkstra: determina cammini ottimi Tutti nodi conoscono topologia della rete e costi di tutti i canali –si inviano informazioni in broadcast –tutti i nodi hanno stessa visione (completa) della rete Ogni nodo calcola i percorsi a minimo corso verso tutti gli altri nodi –si ottengono tabelle di routing per questo nodo Algortimo iterativo: dopo k iterazioni si ottengono i cammini a costo minimo per k destinazioni

75 STRATO RETE IN INTERNET - 75 Algoritmo di Dijkstra Notazione: c(i,j): costo del canale dal nodo i al nodo j. Infinito se nodo non collegato direttamente al canale. D(v): valore corrente del percorso migliore da sorgente alla destinazione v p(v): nodo che precede v nel percorso da sorgente a destinazione v N: insieme di nodi per cui il cammino ottimo e` noto

76 STRATO RETE IN INTERNET Initialization (nodo A): 2 N = {A} 3 per tutti i nodi v 4 if v adiacente ad A 5 then D(v) = c(A,v) 6 else D(v) = infty 7 8 repeat 9 trova w not in N tale per cui D(w) e` minimo 10 aggiungi w ad N 11 aggiorna D(v) per tutti i v adiacenti a w e not in N: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* il nuovo costo verso v e` o il vecchi costo verso v o il cammino 14 cammino a minimo costo verso w piu` costa da w a v*/ 15 until tutti i nodi in N Algoritmo di Dijkstra

77 STRATO RETE IN INTERNET - 77 Step start N A AD ADE ADEB ADEBC ADEBCF D(B),p(B) 2,A D(C),p(C) 5,A 4,D 3,E D(D),p(D) 1,A D(E),p(E) infinity 2,D D(F),p(F) infinity 4,E A E D CB F Dijkstra: esempio

78 STRATO RETE IN INTERNET - 78 A D C B 1 1+e e 0 e A D C B 2+e e 1 A D C B 0 2+e 1+e A D C B 2+e 0 e 0 1+e 1 Situazione inziale … ricalcolo percorsi … ricalcolo Algoritmo di Dijkstra: proprietà Complessità con n nodi Ogni iterazione: controllo tutti i nodi w not in N –n*(n+1)/2 confronti: O(n**2) Esistono implementazioni migliori: O(nlogn) Possibili oscillazioni: –Esempio: costo canali legato al carico trasportato

79 STRATO RETE IN INTERNET - 79 Distance Vector Algoritmo iterativo: –continua fino a quando I nodi non scambiano piu` informazioni Termina in modo autonomo: –nessun segnale esplicito di fine algoritmo Asincrono –scambio informazioni necessario solo se cambiamento di stato Distribuito: –ogni nodo comunica solo con nodi adiacenti

80 STRATO RETE IN INTERNET - 80 Lalgoritmo Distance Vector Ogni router scambia periodicamente con i vicini diretti un vettore contenente: –le destinazioni (reti) che può raggiungere –la distanza dalle destinazioni misurata in hop (num. router da attraversare compreso se stesso) Il router che riceve il vettore lo confronta con le proprie RT ed effettua modifiche: –aggiunge nuove reti –cambia instradamenti se nuovi sono più brevi

81 STRATO RETE IN INTERNET - 81 Destinazione Distanza Route Net 11Diretta Net 21 Diretta Net 48Router L Net 175Router M Net 246Router J Net 302 Router Q Net 422 Router J DestinazioneDistanza Net 12 Net 43 Net 176 Net 214 Net 245 Net 3010 Net 423 Routing Tables del router K Distance Vector spedito dal router J KJ J Lalgoritmo Distance Vector

82 STRATO RETE IN INTERNET - 82 Lalgoritmo Distance Vector Vantaggi –facile da implementare Problemi: –lento a convergere –propaga errori di routing –non molto scalabile (le dimensioni dei messaggi scambiati dai router crescono al crescere della rete)

83 STRATO RETE IN INTERNET - 83 D (Y,Z) X distanza da X ad Y, via Z come next hop c(X,Z) + min {D (Y,w)} Z w = = Distance Vector Struttura dati: tabella distanze Ogni nodo possiede la propria –Una riga per ogni possibile destinazione –Una colonna per ogni router adiacente Esempio: nel nodo X, per la destinazione Y attraverso nodo adiacente Z:

84 STRATO RETE IN INTERNET - 84 A E D CB D () A B C D A1764A1764 B D5542D5542 E Costo verso destinazione attraverso nodo destinazione D (C,D) E c(E,D) + min {D (C,w)} D w = = 2+2 = 4 D (A,D) E c(E,D) + min {D (A,w)} D w = = 2+3 = 5 D (A,B) E c(E,B) + min {D (A,w)} B w = = 8+6 = 14 anello! Tabella distanze: esempio

85 STRATO RETE IN INTERNET - 85 D () A B C D A1764A1764 B D5542D5542 E Costo verso destinazione atttraverso nodo destinazione ABCD ABCD A,1 D,5 D,4 Canale di uscita da usare, costo destinazione Tabella distanze Tabella di Routing Tabella di instradamento a partire da tabella distanze

86 STRATO RETE IN INTERNET - 86 Instradamento Distance Vector Iterativo, asincrono: una iterazione (locale al nodo) causata da: –modifica costo canale a cui nodo collegato –messaggio ricevuto da nodo adiacente, che causa modifica del cammino ottimo Distribuito: –ogni nodo avvisa i vicini solo quando il suo cammino migliore verso una certa destinazione e` cambiato –i vicini avviseranno a loro volta nodi vicini se necessario

87 STRATO RETE IN INTERNET - 87 Instradamento Distance Vector Ogni nodo esegue un loop infinito –aspetta modifica costo canale locale oppure messaggio da nodo adiacente –ricalcola tabella distanze –se percorso migliore verso qualche destinazione cambiato, avvisa i vicini

88 STRATO RETE IN INTERNET Inizializzazione: 2 per tutti i nodi adiacenti v: 3 D (*,v) = infinito /* loperatore * significa per ogni riga" */ 4 D (v,v) = c(X,v) 5 per tutte le destinazioni, y 6 invia min D (y,w) verso ogni nodo adiacente /* w sono tutti i vicini di X*/ X X X w Ad ogni nodo X: Algoritmo Distance Vector

89 STRATO RETE IN INTERNET loop 9 wait (until I see a link cost change to neighbor V 10 or until I receive update from neighbor V) if (c(X,V) changes by d) 13 /* change cost to all dest's via neighbor v by d */ 14 /* note: d could be positive or negative */ 15 for all destinations y: D (y,V) = D (y,V) + d else if (update received from V wrt destination Y) 18 /* shortest path from V to some Y has changed */ 19 /* V has sent a new value for its min DV(Y,w) */ 20 /* call this received new value is "newval" */ 21 for the single destination y: D (Y,V) = c(X,V) + newval if we have a new min D (Y,w)for any destination Y 24 send new value of min D (Y,w) to all neighbors forever w X X X X X w w Algoritmo Distance Vector

90 STRATO RETE IN INTERNET - 90 X Z Y D (Y,Z) X c(X,Z) + min {D (Y,w)} w = = 7+1 = 8 Z D (Z,Y) X c(X,Y) + min {D (Z,w)} w = = 2+1 = 3 Y Distance Vector: esempio

91 STRATO RETE IN INTERNET - 91 X Z Y Distance Vector: esempio

92 STRATO RETE IN INTERNET - 92 X Z Y 1 algoritmo termina good news travels fast Algoritmo DV: modifica costo canale Nodo riconosce modifica costo canale Modifica tabella distanze (passo 15) Se modifica implica modifica del cammino migliore avvisa nodi adiacenti (passi 23,24)

93 STRATO RETE IN INTERNET - 93 Modifica costo canale : good news travels fast bad news travels slow - problema del count to infinity! X Z Y 60 algoritmo prosegue Algoritmo DV: modifica costo canale

94 STRATO RETE IN INTERNET - 94 Se Z instrada via Y per raggiungere X: Z comunica ad Y sua distanza verso X e` infinito (Y non instraderà verso X passando da Z) non risolve il problema completamente X Z Y 60 algoritmo termina Distance Vector: poisoned reverse

95 STRATO RETE IN INTERNET - 95 Confronto tra algoritmi LS e DV Complessità messaggi –LS: con n nodi, E canali, ogni nodo invia O(nE) messaggi –DV: scambio messaggio solo tra nodi adicenti tempo di convergenza variabile Velocità di convergenza –LS: algoritmo di complessità O(n**2) richiede O(nE) messaggi puo` oscillare –DV: tempo di convergenza variabile errori di routing creano anelli problema del count-to-infinity

96 STRATO RETE IN INTERNET - 96 Confronto tra algoritmi LS e DV Affidabilità: cosa succede se un router funziona non correttamente? LS: –i nodi possono annunciare costi dei canali scorretti –ogni nodo calcola la propria tabella DV: –i nodi possono annunciare costi dei cammini scorretti –ogni tabella e` usata da tutti i nodi gli errori si propagano nella rete

97 STRATO RETE IN INTERNET / / /23 ISP B Organizzazione 0 Organizzazione 7 Internet Organizzazione 1 ISP A Inviami qualunque pacchetto con indirizzi che iniziano con / /23 Organizzazione Indirizzamento gerarchico: aggregazione dei percorsi Indirizzamento gerarchico permette annunci (invio info) efficienti delle informazioni di instradamento Inviami qualunque pacchetto con indirizzi che iniziano per /20

98 STRATO RETE IN INTERNET - 98 Inviami pacchetti con indirizzi che iniziano con / / / /23 ISP B Organizzazione 0 Organizzazione 7 Internet Organizzazione 1 ISP A Inviami pacchetti con indirizzi che iniziano con /16 orppure / /23 Organizzazione Indirizzamento gerarchico: aggregazione dei percorsi Se ISP A ha un percorso piu` specifico verso Organizzazione 1

99 STRATO RETE IN INTERNET - 99 Algoritmi di instradamento in reti IP Gruppo Reti TLC

100 STRATO RETE IN INTERNET Routing gerarchico Per ora caso ideale –tutti router identici –rete piatta, non gerarchica Approccio non utilizzabile in pratica –scalabilità: con 50 milioni di destinazioni: tutte destinazioni in una tabella? Scambio di info di routing occuperebbe troppo canali –Autonomia amministrativa internet = rete di reti ogni amministratore di rete puo` volere controllare instradamento sulla propria rete

101 STRATO RETE IN INTERNET Routing gerarchico Router aggregati in regioni, dette Autonomous System (AS) –Insieme di router con struttura complessa (molte sottoreti e router) ma unica identità amministrativa –Router nello stesso AS usano stesso protocollo di instradamento –Protocolli di instradamento intra-AS (IGP: Interior Gateway Protocol) Router in AS diversi possono usare protocolli IGP diversi (aggiornamento e validazione circoscritti)

102 STRATO RETE IN INTERNET Routing gerarchico In ogni AS devono esistere router gateway responsabili per instradare verso destinazioni esterne allAS usano protocolli inter-AS (EGP: Exterior Gateway Protocol) con altri router gateway usano protocolli intra-AS con tutti altri router dellAS Si parla quindi di routing interno (IGP) ed esterno (EGP)

103 STRATO RETE IN INTERNET Routing Intra-AS and Inter-AS Gateways: eseguono instradamento inter-AS tra loro eseguono instradamento intra-AS con altri router nel loro AS inter-AS, intra-AS routing in gateway A.c network layer link layer physical layer a b b a a C A B d A.a A.c C.b B.a c b c

104 STRATO RETE IN INTERNET Routing Intra-AS and Inter-AS Host h2 a b b a a C A B d c A.a A.c C.b B.a c b Host h1 Intra-AS routing allinterno dellAS A Inter-AS routing tra AS A e B Intra-AS routing alliterno dellAS B

105 STRATO RETE IN INTERNET Definizione di un AS I confini tra AS devono essere ben definiti per non creare confusione tra gli algoritmi di routing A ciascun AS viene assegnato un numero di ID su 16 bit da una authority centrale (INTERNIC, APNIC, RIPE-NCC) Quando due router si scambiano informazioni di raggiungibilità, i messaggi contengono lID dellAS a cui appartengono

106 STRATO RETE IN INTERNET Traffico locale e in transito Definiamo traffico locale ad un AS il traffico IP che: –ha come sorgente un host dellAS –ha come destinazione un host dellAS In tutti gli altri casi, si tratta di traffico in transito sullAS

107 STRATO RETE IN INTERNET Autonomous Systems (AS) Gli AS sono origine/transito/destinazione del traffico inter-dominio Tre categorie di AS: –stub: connesso ad un unico AS, accetta solo traffico locale –multihomed: connesso a piu AS, accetta solo traffico locale –transit: connesso a piu AS, accetta anche traffico in transito

108 STRATO RETE IN INTERNET EGP: Exterior Gateway Protocol Storicamente, il primo protocollo usato dagli AS per diffondere informazioni di raggiungibilità I router che lo usano sono detti router esterni (exterior routers) Presuppone una rete con topologia ad albero (come la vecchia ARPAnet) EGP va in crisi con lintroduzione di dorsali e cammini multipli tra due host e per questo motivo è stato sostituito con BGP

109 STRATO RETE IN INTERNET Funzioni di EGP Neighbor Acquisition: un router richiede ad un vicino di accordarsi per comunicare Neighbor reachability: un router controlla sempre se i suoi vicini sono raggiungibili Network reachability: i vicini si scambiano sempre informazioni di raggiungibilità

110 STRATO RETE IN INTERNET EGP: Osservazioni e problemi Non propaga distanze tra reti, ma solo raggiungibilità Presuppone un core system, non funziona con lattuale struttura a dorsali multiple Non supporta load sharing né cammini alternativi Non supporta il policy routing Va in crisi con router malfunzionanti (pubblicizzano route inconsistenti)

111 STRATO RETE IN INTERNET Da EGP a BGP La crescita nella complessità della topologia Internet (backbone multiple) rende inutilizzabile EGP (anelli) alternative? –Protocolli link state (non realistico) –Path-vector

112 STRATO RETE IN INTERNET BGP: Border Gateway Protocol E il più diffuso EGP in Internet BGP permette di specificare politiche di instradamento per scegliere il cammino migliore in presenza di scelte multiple Le politiche di instradamento sono espressione di considerazioni economiche e gestionali, e tengono conto di aspetti di sicurezza

113 STRATO RETE IN INTERNET Path Vectors Ogni routing update trasporta un elenco di AS necessari per raggiungere una certa destinazione Se un AS compare due volte, riconosco anello Vantaggi: –non creo anelli –non sono obbligato ad usare la stessa metrica per ogni router Svantaggi: –overhead (una entry per ogni AS che annucio nel path vector)

114 STRATO RETE IN INTERNET BGP: Border Gateway Protocol Protocollo di instradamento esterno (or inter- AS) basato su path vector Funzione principale: scambiare informazioni di raggiungibilità Ultimo RFC: 1771 (BGP-4), in corso di aggiornamento

115 STRATO RETE IN INTERNET BGP: riassunto Due router che usano BGP aprono una connessione utilizzando TCP Inizialmente scambiano le tabelle di instradamento di BGP In caso di modifiche si inviano aggiornamenti incrementali Non sono necessari aggiornamenti periodici (sono inviati periodicamente solo messaggi di KEEPALIVE)

116 STRATO RETE IN INTERNET AS 1 AS 2 AS 3 AS 4 external peers internal peers BGP peering

117 STRATO RETE IN INTERNET BGP messages Dimensione variabile tra 19 e 4096 bytes Lintestazione contiene: –autenticazione –lunghezza messaggio –tipo messaggio OPEN (first msg) UPDATE NOTIFICATION (of error condition) KEEPALIVE

118 STRATO RETE IN INTERNET Path attributes (variable, as many as necessary) Total Path Attribute Length (2 bytes) Withdrawn routes (variable) Unfeasible Routes length (2 bytes) Network Layer Reachability Information (variable) BGP Header UPDATE Messaggi di UPDATE Usato per: –annunciare una nuovo percorso ammissibile verso un peer router AND/OR –annullare percorsi inammissibili

119 STRATO RETE IN INTERNET Messaggi di UPDATE Percorsi da annullare sono identificati mediante le destinazioni (come neti_d IP) I path attributes descrivone i nuovi percorsi (uno per ogni messaggio di UPDATE) Gli attributi di path si riferiscono alla destinazione specificata (utilizzando il netid dellindirizzo IP) nel campo Network Layer Reachability Information

120 STRATO RETE IN INTERNET Routing in un AS I router di un AS sono detti interni Problema: come fa un router interno a conoscere gli instradamenti dentro lAS? –Aggionamenti manuali? Forse per AS di piccole dimensioni... se cambia una rete, bisogna modificare le tabelle di routing su ogni host (richiede tempo e può dare errori) –Aggiornamenti automatici

121 STRATO RETE IN INTERNET Routing in un AS In un AS, i router interni si scambiano dati di raggiungibilità per le reti dellAS Un protocollo per router interni si chiama, genericamente, IGP (Interior Gateway Protocol ) A differenza di EGP, non esiste un unico standard per i protocolli interni Algoritmi di routing interno più diffusi: –RIP (implementazione di distance vector) –OSPF (implementazione di link state)

122 STRATO RETE IN INTERNET Routing Information Protocol (RIP) Nato presso lUniv. di Berkeley per servire la loro (piccola) rete locale, e distribuito nella suite UNIX 4BSD (routed) Adottato prima che ne fosse definito uno standard (il primo RFC è del 1988) Oggi ha vasta diffusione anche in AS di grandi dimensioni

123 STRATO RETE IN INTERNET RIP: caratteristiche Usa una implementazione di distance vector Divide gli host in attivi (router) e passivi Gli host attivi pubblicizzano le loro route a tutti gli altri ogni n (di solito 30s) secondi, sotto forma di coppie (indirizzo, n. di hop) Metrica e` numero di hop Se un router rileva un instradamento a costo strettamente inferiore a quello che ha nelle RT, lo sostituisce (e imposta un timeout pari a 180s)

124 STRATO RETE IN INTERNET R2R2 R3R3 R4R4 R5R5 R1R1 Net 1 Net 2 Net 3 Net 4 Net 5 RIP: un esempio di problemi

125 STRATO RETE IN INTERNET RIP: un esempio di problemi R1 dichiara Net 1 a distanza 1 R2 ed R3 inseriscono una entry che dichiare Net 1 a distanza 2 R4 ed R5 inseriscono una entry che dichiare Net 1 a distanza 3 R1 perde connettività e dichiara distanza infinita (16) su Net1 Se nel frattempo pero` R2 e/o R3 dichiarano distanza 2 verso Net 1, R1 inserisce entry che dichiara Net 1 a distanza 3

126 STRATO RETE IN INTERNET RIP: problemi Si converge lentamente crescendo le distanze di 1 ad ogni routing updates Data la lentezza di propagazione, si possono avere problemi di lenta convergenza o non consistenza delle RT (count to infinity) Non riconosce automaticamente eventuali loop (occorrono interventi esterni, o modifiche al protocollo) I problemi nascono dal numero limitato di informazioni scambiate tra i router (solo 2) e dalla mancanza di stretto coordinamento

127 STRATO RETE IN INTERNET RIP: soluzioni Split horizon con poisoning reverse: non propagare informazioni di raggiungibilità dallinterfaccia con cui si raggiunge la destinazione –R2 non propaga distanza 2 e dopo un tempo breve tutti dichiarano distanza 16 Non basta! –R2 propaga su Net 3 distanza 2 verso Net 1 –R3 propaga su Net 3 distanza 3 verso Net 1 –R2 accetta distanza 4 verso Net 1 –Nessuno usa distanza 16 propagata da R1

128 STRATO RETE IN INTERNET RIP: altre soluzioni Il router che vede rete disconnessa mantiene questa informazione per un tempo molto superiore al periodo di peridodico aggiornamento –R1 mantiene distanza 16 anche se riceve informazione da R2 di distanza 2 Triggering updates: quando vedo rete non piu` connessa forzo update immediatamente –R1 immediatamente informa che Net 1 e` a distanza 16 –Rischioso perche` posso creare broadcast ripetuti su LAN

129 STRATO RETE IN INTERNET Lalgoritmo IGRP IGRP (Interior Gateway Routing Protocol) venne proposto da Cisco Systems Inc. a metà degli anni 80 per superare le limitazioni di RIP E un algoritmo distance vector con metriche più sofisticate: ritardo, banda, affidabilità, carico Permette il multipath routing Limite: è solo disponibile sui router Cisco

130 STRATO RETE IN INTERNET Lalgoritmo OSPF OSPF (Open Shortest Path First ) è una proposta di IETF dell89 [RFC 1247] E un algoritmo link-state: ogni router verifica lo stato delle linee verso i router adiacenti e lo invia a tutti i router conosciuti Ogni router si costruisce una mappa completa della rete su cui calcole le route con algoritmi sofisticati (SPF o alg. di Dijkstra)

131 STRATO RETE IN INTERNET RIP e OSPF RIP : –invia informazioni su tutte le subnet solo ai router adiacenti –i router cooperano direttamente per calcolare le tabelle di instradamento OSPF: –invia a tutti i router noti informazioni solo sulle subnet a cui sono connessi –i router cooperano per aggiornare la mappa della rete, ma poi ciascuno si calcola le RT in modo autonomo

132 STRATO RETE IN INTERNET OSPF: caratteristiche Discrimina i percorsi verso una stessa destinazione secondo il campo TOS E più veloce a convergere di RIP, ed esegue il bilanciamento del carico sulle linee a costo uguale verso una stessa destinazione Ad ogni interfaccia del router può essere assegnato un costo adimensionale basato su throughput, RTT, affidabilità o altro Connessioni punto-punto tra router OSPF non necessitano di indirizzi IP per linterfaccia (risparmio!)


Scaricare ppt "STRATO RETE IN INTERNET - 1 Strato rete in Internet Gruppo Reti TLC"

Presentazioni simili


Annunci Google