Capitolo 4 - parte 4 Corso Reti ed Applicazioni Mauro Campanella
Indice il routing e come ottenere indirizzo e nome WHOIS esempio di routing: il sig. Rossi IPv6 - cenni multicast la struttura interna di un router M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 2
Routing Il routing in un dominio può essere: completamente statico. Adatto a reti di piccole e medie dimensioni. Le rotte ed i loro pesi vengono inserite a mano sia sui nodi terminali che nei router. E fondamentale la rotta verso la default, cioè la destinazione verso cui inviare i datagrammi per cui il nodo non possiede rotte esplicite. dinamico. Utilizza un IGP ed eventualmente un EGP nei router per comunicare le reti nel dominio, calcolare i percorsi, notificare guasti linea e modifiche reti. misto. Il caso più comune che unisce i pregi di entrambe le possibilità. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 3
Annunci aggregati di rotte In caso di una distribuzione gerarchica di indirizzi è possibile la definizione di rotte ed un annuncio di reti efficente: Organizzazione 0 200.23.16.0/23 Organizzazione 1 200.23.18.0/23 Organizzazione 2 200.23.20.0/23 Organizzazione. 7.. Fly-By-Night-ISP Annuncio 200.23.16.0/20 Internet 200.23.30.0/23 ISPs-R-Us Annuncio 199.31.0.0/16 M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 4
Indirizzamento gerarchico: rotte particolari ISPs-R-Us possiede una rotta specifica, che ha priorità nella ricerca, rispetto all aggregato: Organizzazione 0 200.23.16.0/23 Organizzazione 1 200.23.18.0/23 Organizzazione 2 200.23.20.0/23 Organizzazione. 7.. Fly-By-Night-ISP Annuncio 200.23.16.0/20 Internet 200.23.30.0/23 Organizzazione 1 200.23.17.0/23 ISPs-R-Us Annuncio 199.31.0.0/16 e 200.23.17.0/23 M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 5
Ottenere un indirizzo pubblico Privato Università dell Insubria Internet Service Provider GARR-NIC Regional Internet Registry RIPE Internet Assigned Number Authority M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 6
Gestione mondiale indirizzi e nomi La Internet Assigned Numbers Authority mantiene le funzioni centralizzate di coordinamento di Internet. In www.iana.org si trovano le informazioni ufficiali non solo sull assegnazione dell indirizzamento IPv4 e v6, ma anche su tutte le altre definizioni del protocolli, quali, per esempio, i numeri di protocollo, le porte, la definizione degli header. Le informazioni sono aggiornate mano a mano che vengono accettate definitivamente RFC. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 7
Gestione mondiale indirizzi e nomi L assegnazione concreta degli indirizzi IP è delegata ai Local Internet Registry (LIR), National Internet Registry (NIR) o Regional Internet Registry (RIR): APNIC ARIN LACNIC Asia/Pacific Network Information Centre American Registry for Internet Numbers (Americas and Sub-Sahara Africa) Regional Latin America and Caraibbean IP Address Registry RIPE NCC Réseaux IP Européens (Europa, Medio Oriente, Asia Centrale, paesi africani a nord dell equatore) IANA assegna i blocchi di indirizzi non ancora distributi ai RIR. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 8
Ottenere un nome di dominio Privato Università dell Insubria Registrar GARR-LIR Regional Internet Registry RIPE Internet Corporation for Assigned Names and Numbers M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 9
Ottenere un nome di dominio www.icann.org per maggiori informazioni su come ottenere e registrare un nome di dominio (per esempio in.com o.org, a pagamento) In Italia www.nic.it è la registration authority per il country code.it Il GARR è la registration authority per indirizzi e nomi di dominio solo per enti di ricerca. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 10
Indice il routing e come ottenere indirizzo e nome WHOIS esempio di routing: il sig. Rossi IPv6 - cenni multicast la struttura interna di un router M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 11
Il protocollo WHOIS Protocollo client - server su TCP (porta 43) per consultare i database pubblici, ufficiali, che contengono informazioni su: a chi è stato assegnato un certo intervallo di indirizzi chi sono i contatti per quel dominio o intervallo di indirizzi chi è una certa persona chi gestisce un particolare AS quali sono le politiche di routing di un AS In Europa si usa come database server quello di RIPE (host whois.ripe.net, consultabile via web in www.ripe.net/db/whois/whois.html) E fondamentale che tali database rimangano pubblici, aggiornati ed aperti a tutti per trasparenza mondiale. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 12
whois -h whois.ripe.net as137 as-block: descr: remarks: remarks:... aut-num: as-name: descr: import: AS137 - AS137 RIPE NCC ASN block These AS numbers are further assigned by RIPE NCC to LIRs and end-users in the RIPE NCC region AS137 ASGARR GARR Italian academic and research network from AS20965 action pref=100; accept AS-GEANTNRN AS-TENOTHERRN AS11537 AS-AUCS AS-SINET import: from AS1299 action pref=100; accept ANY import: from AS3549 action pref=100; accept ANY export: to AS20965 announce AS137 export: to AS1299 announce AS137 export: to AS3549 announce AS137 admin-c: tech-c: tech-c: mnt-by:... EV182-RIPE GL965-RIPE GN450-RIPE GARR-LIR Il protocollo WHOIS esempio: il GARR M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 13
Indice il routing e come ottenere indirizzo e nome WHOIS esempio di routing: il sig. Rossi IPv6 - cenni multicast la struttura interna di un router M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 14
Il sig. Rossi Collegare in rete: una villa di proprietà un industria che produce sete composta da - un capannone industriale da 3000 m 2 - macchinari - laboratori colore ed studi design - una palazzina uffici di due piani con sala di rappresentanza e mostra - circa 20 dipendenti - due furgoncini M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 15
Il sig. Rossi area indirizzi nome una villa di proprietà 32 nodo.casa.rossi.it capannone industriale 128 nodo.fabbrica.rossi.it laboratori colore e studi 64 nodo.lab.rossi.it una palazzina uffici 64 nodo.amm.rossi.it nodo.uffici.rossi.it furgoncini 8 nodo.van.rossi.it generale 16 nome.rossi.it (/ alias) www, dns, posta, gw totale circa una classe C ed un quarto (255+64) M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 16
Il sig. Rossi Sono date 192.92.135.0/24 (maschera 255.255.255.0) 192.92.136.64/26 (maschera 255.255.255.192) area indirizzi rete maschera villa 32 192.92.136.64/27 255.255.255.224 capannone 128 192.92.135.0/25 255.255.255.128 laboratori 64 192.92.135.128/26 255.255.255.192 palazzina 64 192.92.135.192/26 255.255.255.192 furgoncini 8 192.92.136.96/29 255.255.255.248 generale 16 192.92.136.112/28 255.255.255.240 rimane libero 192.92.136.104/29 M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 17
Il sig. Rossi La configurazione dei vari nodi è statica eventualmente ottenuta via DHCP. Il routing fra le varie zone può essere completamente statico su un router su cui vi è anche la linea verso Internet. Lo stesso router è anche destinatario quindi della rotta verso la default. Per maggiore affidabiltà si possono avere: due router, in comunicazione con un protocollo tipo Hot Standby Router Protocol una linea ulteriore verso l esterno, attivabile in caso di caduta della linea principale due provider, con configurazione di routing molto più complessa, dato che prevede altri indirizzi. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 18
Indice il routing e come ottenere indirizzo e nome WHOIS esempio di routing: il sig. Rossi IPv6 - cenni multicast la struttura interna di un router M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 19
IPv6 Motivazione iniziale: lo spazio degli indirizzi di IP versione 4 a 32-bit potrebbe essere completamente usato in pochi anni. Inoltre si desiderava migliorare alcune caratteristiche ed aggiungerne altre: formato dell header più adatto all inoltro in hardware cambi nell header per facilitare la Qualità di Servizio indirizzi anycast : rotta al migliore fra vari server dedicati Formato del datagramma IP versione 6: Header a lunghezza fissata di 40 byte la frammentazione non è permessa (nell header) vari extension header opzionali di lunghezza variabile M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 20
versione del protocollo IP Lunghezza Header in parole da 32 bit Ora DSCP+ECN numero progressivo d identificazione numero di salti rimanenti (decrementato ad ogni router) protocollo a cui consegnare il datagramma Formato Datagramma IPv4 0 8 1516 24 31 ver lungh. tipo di lunghezza head. servizio identificatore DM fragment (16-bit) 0 F F offset time to IP header live protocol checksum indirizzo IP sorgente (32 bit) indirizzo IP destinazione (32 bit) Opzioni (se presenti) dati (lunghezza variabile tipicamente un segmento TCP od UDP) lunghezza totale del datagramma in byte per la frammentazzione e riassemblaggio calcolato solo sull header IP Per esempio timestamp, record route M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 21
versione del protocollo IP Ora DSCP+ECN lunghezza parte dati Mancano - checksum - campi per frammentazione Formato Datagramma IPv6 0 8 1516 24 31 ver priorità lungh. dati flow label prossimo header indirizzo IP sorgente (128 bit) indirizzo IP destinazione (128 bit) identificativo del flusso, non ben definito limite n. salti massimo numero di salti per il datagramma codice del prossimo header di estensione M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 22
Cambiamenti da IPv4 Checksum: rimosso interamente per evitare calcoli ad ogni salto Opzioni: trasformate in extension header e posizionate all esterno dell header IPv6. Formano una catena in cui ciascun header ha al suo interno l indicazione del prossimo (per esempio TCP) ICMPv6: nuova versione di ICMP tipi di messaggio aggiuntivi, per esempio Packet Too Big funzioni dicontrollo dei gruppi multicast Tutti gli altri protocolli (routing e applicazioni via socket v6) M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 23
Extension header I codici sono compatibilità con il campo protocollo di IPv4. L ordine degli header deve essere: - header IPv6 - hop by hop - destination - routing - fragmentation - authentication - encrypted security payload - destination - upper layer header (e.g., TCP o UDP) 0 HBH Hop by Hop option (IPv6) 1 ICMP Internet Control Message (IPv4) 2 IGMP Internet Group Management (IPv4) 4 IP IP in IP (IPv4 encapsulation) 5 ST Stream 6 TCP Transmission Control 17 UDP User Datagram 29 TP4 ISO Transport class 4 43 RH Routing Header (IPv6) 44 FH Fragment Header (IPv6) 45 IDRP Interdomain Routing 51 AH Authentication Header 52 ESP Encrypted Security Payload 58 ICMP Internet Control Message (IPv6) 59 Null No next header (IPv6) 60 DOH Destination Option Header (IPv6) 88 IGRP Interior Gateway Routing 89 OSPF Open Shortest Path First M. Campanella Corso Reti ed Applicazioni - Como 2006
Concatenazione degli header Header IPv6 Next Header = TCP TCP PDU Header IPv6 Next Header = Routing Routing Header Next Header = TCP TCP PDU Header IPv6 Next Header = Routing Routing Header Next Header = Fragment Fragment Header Next Header = TCP TCP PDU M. Campanella Corso Reti ed Applicazioni - Como 2006
IPv6 Gli extension Header possono avere una lunghezza elevata (fino a 2 Kbyte) e devono essere processati in serie solo dal nodo di destinazione, con l eccezione dell Header Hop by Hop e routing. Nelle specifiche di IPv6 ogni nodo: - si autoregistra, ottenendo una serie di indirizzi (link local, site local e global) - ha quindi più di un indirizzo IPv6 - l indirizzo è sempre legato all interfaccia Il DNS è stato esteso con indirizzi di tipo AAAA per gestire anche indirizzi v6. La transizione è cominciata (www.6net.garr.it)! M. Campanella Corso Reti ed Applicazioni - Como 2006
Come scrivere un indirizzo IPv6 I 16 byte sono scrivibili con otto gruppi di 4 cifre esadecimali (nibble) separate da : FEDC:BA98:0876:45FA:0562:CDAF:3DAF:BB01 1080:0000:0000:0007:0200:A00C:3423 Sono possibili semplificazioni: omissione dello zero iniziale 1080:0:0:7:200:A00C:3423 sostituzione di un gruppo di zeri col carattere :: 1080::7:200:A00C:3423 Indirizzi compatibili IPv4: 0:0:0:0:0:0:A00:1 ::A00:1 ::10.0.0.1 M. Campanella Corso Reti ed Applicazioni - Como 2006
Transizione da IPv4 a IPv6 Non tutti i router ed i nodi possono contemporaneamente essere upgradati in tutto il mondo. E quindi necessario prevedere un periodo di transizione anche lungo, in cui sia datagrammi v4 che v6 coesistano in Internet. Due approcci possibili: Dual Stack: alcuni router ed alcuni nodi possiedono un doppio stack (v6, v4) e possono tradurre tra i formati Tunneling: i datagrammi IPv6 sono trasportati all interno di datagrammi IPv4 fra isole IPv6 M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 28
Dual Stack A B C D E F IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 Flow: X Src: A Dest: F Src:A Dest: F Src:A Dest: F Flow:?? Src: A Dest: F data data data data A-to-B: IPv6 B-to-C: IPv4 B-to-C: IPv4 B-to-C: IPv6 M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 29
Tunneling Logicamente: Fisicamente: A B tunnel E F IPv6 IPv6 IPv6 IPv6 A B C D E F IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F Src:B Dest: E Flow: X Src: A Dest: F Flow: X Src: A Dest: F data data data A-to-B: IPv6 B-to-C: IPv6 inside IPv4 B-to-C: IPv6 inside IPv4 E-to-F: IPv6 M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 30
Indice il routing e come ottenere indirizzo e nome WHOIS esempio di routing: il sig. Rossi IPv6 - cenni multicast la struttura interna di un router M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 31
Multicast: un mittente verso molti riceventi Multicast: inviare un datagramma a molti riceventi con una singola operazione di trasmissione. Forza Bruta: Multicast su unicast sorgente invia N datagrammi unicast, uno per ogni ricevente. router inoltra i datagrammi unicast ricevente multicast (rosso) non multicast (grigio) M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 32
Multicast: un mittente verso molti riceventi Multicast a livello dello strato di applicazione I nodi terminali sono parte attiva nel copiare ed inoltrare i datagrammi multicast fra di loro. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 33
Modello di servizio Multicast Internet 128.59.16.12 128.119.40.186 multicast group 226.17.30.197 128.34.108.63 128.34.108.60 Creazione di un gruppo multicast attraverso indirizzo particolare: nodo il datagramma ad un indirizzo IP multicast di gruppo i router inviano i datagrammi multicast ai nodi che si sono registrati per quel particolare gruppo multicast. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 34
Gruppi Multicast: memento Indirizzo della classe D : Un nodo: può unirsi (join) ad un gruppo multicast inviare ad un gruppo multicast La rete fornisce l infrastruttura per consegnare i datagrammi ai nodi, distribuendo via unicast fra router e duplicando nella fase finale (LAN) i datagrammi verso i nodi interessati. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 35
Indice il routing e come ottenere indirizzo e nome WHOIS esempio di routing: il sig. Rossi IPv6 - cenni multicast la struttura interna di un router M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 36
Due funzioni primarie: L architettura di un router - far funzionare i protocolli di routing (RIP, OSPF, BGP) - switching (smistare velocemente) i datagrammi fra la porta di ingresso e quella di uscita M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 37
Funzioni della porta di Input terminazione di linea elaborazione di data link (eliminazione protocollo) accodamento Matrice di smistamento (switching fabric) Strato fisico: ricevimento a livello dei bit Strato di data link: per esempio Ethernet Switching decentralizzato (nella scheda di ingresso): ricerca della porta di uscita nella tabella scaricata dal processore centrale accodamento per un eventale accesso alla matrice di smistamento M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 38
Accodamento nella porta di Input In alcuni casi vi può essere accodamento in ingresso poiché la porta di output è congestionata Blocco Head-of-the-Line (HOL): nella coda di uscita della porta in ingresso il primo datagramma bloccato impedisce agli altri di essere smistati All istante t solo uno dei due pacchetti rossi può essere consegnato Il pacchetto verde subisce il fenomeno HOL M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 39
Tre tipi di matrice di smistamento memoria bus matrice di switching M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 40
Switching attraverso la memoria I router della prima generazione o con linee minori di 155 Mb/s: - datagrammi copiati dall unica CPU del sistema - velocità limitata dalla banda della memoria e del bus (2 attraversamenti per ogni datagramma) Porta di Input Memoria Porta di Output Bus di sistema Router moderni: CPU, memoria ed ASIC dedicati distribuiti con matrice di switching M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 41
Switching utilizzando un bus I datagrammi sono inviati dalla memoria della porta di input a quella di output attraverso un bus condiviso. Contesa per il bus: la capacità di switching è limitata dalla velocità del bus. Oggi è possibile utilizzare a basso costo bus da 1 Gigabit/s. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 42
Switching attraverso rete interna (matrice) Si crea una serie di connessioni a matrice fra tutte le porte (ogni porta è sia di ingresso che di uscita, essendo le connessioni sempre full duplex) Queste reti sono state mutuate da quelle sviluppate per collegare processori fra di loro (reti di Banyan). Per velocizzare l architettura e renderla sincrona, i datagrammi sono spezzati all ingresso della matrice in celle di dimensione fissata e ricostruiti all uscita. Un esempio sono i router della serie 12000 della Cisco. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 43
Switching e analisi in parallelo Data l alta velocità delle linee di trasmissione dati alcune architetture effettuano un analisi ed instradamento del datagramma in parallelo: - datagrammi diversi su percorsi interni al router diversi - spezzamento in celle del singolo datagramma Tale approccio permette di effettuare ad alta velocità anche analisi sofisticate del datagramma e applicazione di complesse politiche di trattamento. Un esempio è il modello M160 della Juniper. M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 44
Porta di uscita Matrice di smistamento (switching fabric) Queueing: gestione del buffer elaborazione di data link (aggiunta del protocollo) terminazione di linea Buffering è richiesto quando i datagrammi arrivano dalla matrice più velocemente della velocità di trasmissione La gestione della coda sceglie fra i datagrammi l ordine di invio (FIFO per esempio). M. Campanella Corso Reti ed Applicazioni - Como 2006 Cap 4-4 pag. 45
Router di Backbone Juniper M160 M. Campanella Corso Reti ed Applicazioni - Como 2006 Cisco 12416 Cap 4-4 pag. 46