Capitolo 4 - parte 4 Corso Reti ed Applicazioni Mauro Campanella
Capitolo 4 - parte 4
Corso Reti ed ApplicazioniMauro Campanella
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 2
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 2004 Cap 4 - 4 pag. 3
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 amano sia sui nodi terminali che nei router. E’fondamentale la rotta verso la “default”, cioè ladestinazione verso cui inviare i datagrammi per cui il nodonon possiede rotte esplicite.
– dinamico. Utilizza un IGP ed eventualmente un EGP neirouter per comunicare le reti nel dominio, calcolare ipercorsi, notificare guasti linea e modifiche reti.
– misto. Il caso più comune che unisce i pregi di entrambele possibilità.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 4
Annunci aggregati di rotte
Annuncio 200.23.16.0/20
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organizzazione 0
Organizzazione 7Internet
Organizzazione 1
ISPs-R-Us Annuncio 199.31.0.0/16
200.23.20.0/23Organizzazione 2
...
...
In caso di una distribuzione gerarchica di indirizzi è possibile ladefinizione di rotte ed un annuncio di reti efficente:
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 5
Indirizzamento gerarchico: rotte particolari
ISPs-R-Us possiede una rotta specifica, che ha priorità nellaricerca, rispetto all’aggregato:
200.23.17.0/23Organizzazione 1
Annuncio 200.23.16.0/20
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organizzazione 0
Organizzazione 7Internet
Organizzazione 1
ISPs-R-Us Annuncio 199.31.0.0/16 e200.23.17.0/23
200.23.20.0/23Organizzazione 2
...
...
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 6
Ottenere un indirizzo pubblico
Privato
Internet Service Provider
Regional Internet Registry
Internet Assigned Number Authority
Università dell’Insubria
GARR-NIC
RIPE
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 7
Gestione mondiale indirizzi e nomi
La Internet Assigned NumbersAuthority mantiene le funzionicentralizzate di coordinamentodi Internet.
In www.iana.org si trovano le informazioni ufficiali non solosull’assegnazione dell’indirizzamento IPv4 e v6, ma anche sututte le altre definizioni del protocolli, quali, per esempio, inumeri di protocollo, le porte, la definizione degli header.Le informazioni sono aggiornate mano a mano che vengonoaccettate definitivamente RFC.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 8
Gestione mondiale indirizzi e nomi
L’assegnazione concreta degli indirizzi IP è delegata ai LocalInternet Registry (LIR), National Internet Registry (NIR) oRegional Internet Registry (RIR):APNIC Asia/Pacific Network Information CentreARIN American Registry for Internet Numbers (Americas
and Sub-Sahara Africa)LACNIC Regional Latin America and Caraibbean IP Address
RegistryRIPE 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 2004 Cap 4 - 4 pag. 9
Ottenere un nome di dominio
Privato
Registrar
Regional Internet Registry
Internet Corporation for Assigned Names and Numbers
Università dell’Insubria
GARR-LIR
RIPE
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 10
Ottenere un nome di dominio
www.icann.org per maggiori informazionisu come ottenere e registrare un nome didominio (per esempio in .com o .org, apagamento)
In Italia www.nic.it è la registration authority per il countrycode “.it”
Il GARR è la registration authority per indirizzi e nomi didominio solo per enti di ricerca.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 11
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 2004 Cap 4 - 4 pag. 12
Il protocollo WHOIS
Protocollo client - server su TCP (porta 43) per consultare idatabase 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 inwww.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 2004 Cap 4 - 4 pag. 13
whois -h whois.ripe.net as137
as-block: AS137 - AS137descr: RIPE NCC ASN blockremarks: These AS numbers are further assigned by RIPE NCCremarks: to LIRs and end-users in the RIPE NCC region...aut-num: AS137as-name: ASGARRdescr: GARR Italian academic and research networkimport: from AS20965 action pref=100; accept AS-GEANTNRN AS-TENOTHERRN AS11537 AS-AUCS AS-SINETimport: from AS1299 action pref=100; accept ANYimport: from AS3549 action pref=100; accept ANYexport: to AS20965 announce AS137export: to AS1299 announce AS137export: to AS3549 announce AS137admin-c: EV182-RIPEtech-c: GL965-RIPEtech-c: GN450-RIPEmnt-by: GARR-LIR...
Il protocollo WHOISesempio: il GARR
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 14
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 2004 Cap 4 - 4 pag. 15
Il sig. Rossi
Collegare in rete:
• una villa di proprietà• un’industria che produce sete composta da - un capannone industriale da 3000 m2 - 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 2004 Cap 4 - 4 pag. 16
Il sig. Rossi
area indirizzi nome
una villa di proprietà 32 nodo.casa.rossi.itcapannone industriale 128 nodo.fabbrica.rossi.itlaboratori colore e studi 64 nodo.lab.rossi.ituna palazzina uffici 64 nodo.amm.rossi.it
nodo.uffici.rossi.itfurgoncini 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 2004 Cap 4 - 4 pag. 17
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.224capannone 128 192.92.135.0/25 255.255.255.128laboratori 64 192.92.135.128/26 255.255.255.192palazzina 64 192.92.135.192/26 255.255.255.192furgoncini 8 192.92.136.96/29 255.255.255.248generale 16 192.92.136.112/28 255.255.255.240
rimane libero 192.92.136.104/29
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 18
Il sig. Rossi
La configurazione dei vari nodi è statica eventualmenteottenuta via DHCP.Il routing fra le varie zone può essere completamente staticosu un router su cui vi è anche la linea verso Internet.Lo stesso router è anche destinatario quindi della rotta versola 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 2004 Cap 4 - 4 pag. 19
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 2004 Cap 4 - 4 pag. 20
IPv6
Motivazione iniziale: lo spazio degli indirizzi di IP versione 4 a32-bit potrebbe essere completamente usato in pochi anni.Inoltre si desiderava “migliorare” alcune caratteristiche edaggiungerne altre:– formato dell’header più adatto all’inoltro in hardware– cambi nell’headeer 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 2004 Cap 4 - 4 pag. 21
0 8 16 24 3115
Formato Datagramma IPv4
dati (lunghezza variabile
tipicamente un segmento TCP od UDP)
ver
versione del protocollo IP
lunghezza
lunghezza totaledel datagrammain byteLunghezza Header
in parole da 32 bitlungh.head.
tipo diservizio
Ora DSCP+ECN
protocollo a cuiconsegnare ildatagramma
protocoltime tolive
numero di saltirimanenti
(decrementato adogni router)
Per esempiotimestamp,record route
Opzioni (se presenti)
indirizzo IP sorgente (32 bit)
indirizzo IP destinazione (32 bit)
identificatore(16-bit)
numero progressivod’identificazione
DMF F
per laframmentazzionee riassemblaggio
fragment offset0
IP header checksum
calcolato solosull’header IP
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 22
0 8 16 24 3115
Formato Datagramma IPv6
ver
versione del protocollo IP
flow label
identificativodel flusso, nonben definitopriorità
Ora DSCP+ECN
indirizzo IP sorgente (128 bit)
indirizzo IP destinazione (128 bit)
Mancano- checksum- campi per frammentazione
lungh. dati
lunghezza parte dati
prossimoheader
codice delprossimoheader diestensione
limiten. salti massimo numero
di salti per ildatagramma
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 23
Cambiamenti da IPv4
Checksum: rimosso interamente per evitare calcoli ad ognisalto
Opzioni: trasformate in “extension header” e posizionateall’esterno dell’header IPv6. Formano una catena in cuiciascun 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 2004
Extension header
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 Stream6 TCP Transmission Control17 UDP User Datagram29 TP4 ISO Transport class 443 RH Routing Header (IPv6)44 FH Fragment Header (IPv6)45 IDRP Interdomain Routing51 AH Authentication Header52 ESP Encrypted Security Payload58 ICMP Internet Control Message (IPv6)59 Null No next header (IPv6)60 DOH Destination Option Header (IPv6)88 IGRP Interior Gateway Routing89 OSPF Open Shortest Path First
I codici sono compatibilità con ilcampo protocollo di IPv4.
L’ordine degli header deveessere:
- header IPv6- hop by hop- destination- routing- fragmentation- authentication- encrypted security payload- destination- upper layer header (e.g., TCP o UDP)
M. Campanella Corso Reti ed Applicazioni - Como 2004
Concatenazione degli header
Header IPv6 Next Header =
TCPTCP PDU
Header IPv6 Next Header =
RoutingTCP PDU
Routing HeaderNext Header =
TCP
Header IPv6 Next Header =
RoutingTCP PDU
Routing HeaderNext Header =
Fragment
Fragment HeaderNext Header =
TCP
M. Campanella Corso Reti ed Applicazioni - Como 2004
IPv6
Gli extension Header possono avere una lunghezza elevata(fino a 2 Kbyte) e devono essere processati in serie solo dalnodo di destinazione, con l’eccezione dell’Header Hop by Hope 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 gestireanche indirizzi v6.La transizione è cominciata (www.6net.garr.it) !
M. Campanella Corso Reti ed Applicazioni - Como 2004
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 2004 Cap 4 - 4 pag. 28
Transizione da IPv4 a IPv6
Non tutti i router ed i nodi possono contemporaneamenteessere upgradati in tutto il mondo. E’ quindi necessarioprevedere un periodo di transizione anche lungo, in cui siadatagrammi 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 2004 Cap 4 - 4 pag. 29
Dual Stack
A B E F
IPv6 IPv6 IPv6 IPv6
C D
IPv4 IPv4
Flow: XSrc: ADest: F
data
Flow: ??Src: ADest: F
data
Src:ADest: F
data
A-to-B:IPv6
Src:ADest: F
data
B-to-C:IPv4
B-to-C:IPv4
B-to-C:IPv6
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 30
Tunneling
A B E F
IPv6 IPv6 IPv6 IPv6
tunnelLogicamente:
Fisicamente:A B E F
IPv6 IPv6 IPv6 IPv6
C D
IPv4 IPv4
Flow: XSrc: ADest: F
data
Flow: XSrc: ADest: F
data
Flow: XSrc: ADest: F
data
Src:BDest: E
Flow: XSrc: ADest: F
data
Src:BDest: E
A-to-B:IPv6
E-to-F:IPv6
B-to-C:IPv6 inside
IPv4
B-to-C:IPv6 inside
IPv4
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 31
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 2004 Cap 4 - 4 pag. 32
Multicast: un mittente verso molti riceventi
Multicast: inviare un datagramma a molti riceventi con unasingola operazione di trasmissione.
Forza Bruta:
Multicast su unicastsorgente invia N datagrammiunicast, uno per ogni ricevente.
ricevente multicast (rosso)non multicast (grigio)
routerinoltra idatagrammi unicast
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 33
Multicast: un mittente verso molti riceventi
Multicast a livello dello stratodi applicazioneI nodi terminali sono parteattiva nel copiare ed inoltrarei datagrammi “multicast” fradi loro.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 34
Modello di servizio Multicast Internet
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.
128.119.40.186
128.59.16.12
128.34.108.63
128.34.108.60
multicast group
226.17.30.197
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 35
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 ainodi, distribuendo via unicast fra router e duplicando nella fasefinale (LAN) i datagrammi verso i nodi interessati.
Gruppi Multicast: memento
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 36
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 2004 Cap 4 - 4 pag. 37
L’architettura di un router
Due funzioni primarie:- 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 2004 Cap 4 - 4 pag. 38
terminazionedi linea
elaborazione didata link
(eliminazioneprotocollo)
Matrice dismistamento(switching
fabric)accodamento
Funzioni della porta di Input
Switching decentralizzato (nella scheda diingresso):– ricerca della porta di uscita nella
tabella scaricata dal processorecentrale
– accodamento per un eventale accessoalla matrice di smistamento
Strato fisico:ricevimento alivello dei bit
Strato di data link:per esempio
Ethernet
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 39
Accodamento nella porta di Input
In alcuni casi vi può essere accodamento in ingresso poiché laporta di output è congestionataBlocco Head-of-the-Line (HOL): nella coda di uscita della portain ingresso il primo datagramma bloccato impedisce agli altri diessere smistati
All’istante t solo uno dei duepacchetti rossi può essere
consegnato
Il pacchetto verde subisceil fenomeno HOL
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 40
Tre tipi di matrice di smistamento
memoria bus
matrice diswitching
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 41
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 diInput
Porta diOutput
Memoria
Bus di sistema
Router moderni:CPU, memoria ed ASIC dedicati distribuiti con matrice di switching
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 42
Switching utilizzando un bus
I datagrammi sono inviati dallamemoria della porta di input aquella di output attraverso unbus condiviso.
Contesa per il bus: la capacità di switching è limitata dallavelocità del bus.Oggi è possibile utilizzare a basso costo bus da 1 Gigabit/s.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 43
Switching attraverso rete interna (matrice)
Si crea una serie di connessioni amatrice fra tutte le porte (ogni portaè sia di ingresso che di uscita,essendo le connessioni sempre fullduplex)
Queste reti sono state mutuate daquelle sviluppate per collegareprocessori fra di loro (reti di Banyan).
Per velocizzare l’architettura e renderla sincrona, i datagrammisono spezzati all’ingresso della matrice in “celle” di dimensionefissata e ricostruiti all’uscita.
Un esempio sono i router della serie 12000 della Cisco.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 44
Switching e analisi in parallelo
Data l’alta velocità delle linee di trasmissione dati alcunearchitetture effettuano un’analisi ed instradamento deldatagramma 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 dicomplesse politiche di trattamento.
Un esempio è il modello M160 della Juniper.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 45
Porta di uscita
Buffering è richiesto quando i datagrammi arrivano dallamatrice più velocemente della velocità di trasmissioneLa gestione della coda sceglie fra i datagrammi l’ordine diinvio (FIFO per esempio).
terminazionedi linea
elaborazione didata link
(aggiunta delprotocollo)
Matrice dismistamento(switching
fabric)
Queueing:gestione
del buffer
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 4 - 4 pag. 46
Juniper M160 Cisco 12416
Router di Backbone