Reti di Calcolatori II
description
Transcript of Reti di Calcolatori II
4: Network Layer 4a-1
Reti di Calcolatori II
Prof. Stefano Leonardi http://www.dis.uniroma1.it/~leon/didattica/reti2/
Ricevimento: Venerdì, ore 11-13, Via Salaria 113, II piano, stanza 227
Prof. Luca Becchetti http://www.dis.uniroma1.it/~becchett
Ing. Andrea Vitalettihttp://www.dis.uniroma1.it/~vitale
4: Network Layer 4a-2
Programma preliminare I
1. Indirizzamento IP:
A classiCIDR – Classless Inter Domain Routing
2. Reti Private
VPN NAT
3. Instradamento tra Sistemi autonomi
BGP Il Grafo di Internet - Relazioni tra Autonomous Systems
4. IP Multicast
4: Network Layer 4a-3
Programma preliminare II
5. L’accesso a ISP: BOOTPDHCP
6. Mobile IP
7. Gestione della rete – SNMP
8. Protocollo ICMP
9. IPv6
10. Esercitazioni di Laboratorio con Netkit:
Simulazione e gestione di reti ad interconnessioneIng. Andrea Vitaletti
4: Network Layer 4a-4
Testo di riferimento
Douglas ComerInternetworking with TCP/IPQuarta EdizioneVolume IAddison Wesley, 2000Versione Inglese consigliatae Materiale didattico a disposizione sul
Sito web del corso
4: Network Layer 4a-5
L’Indirizzamento IP
1. Indirizzamento a classi
2. Indirizzamento senza classi
4: Network Layer 4a-6
Indirizzamento IP (v4)
Indirizzo unico di 32 bit per ciascuna interfaccia presente nella rete Un host puo’ avere interfacce multiple Alcuni indirizzi possono essere assegnati
piu’ volte --> VPN, NAT (piu’ avanti) Interfaccia --> scheda di rete Formato degli indirizzi
A classi (classful) --> proposta originale Senza classi (classless) --> permette di
risparmiare indirizzi
4: Network Layer 4a-7
Indirizzamento IP Interfaccia: punto di
connessione tra un host (o un router) e un link fisico I router di solito
hanno interfacce multiple
Gli host possono avere interfacce multiple
Gli indirizzi IP sono associati alle interfacce, non agli host o ai router
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
4: Network Layer 4a-8
Indirizzamento IP Indirizzo IP :
Parte che identifica la rete (bit più sign.)
Parte che identifica l’host (bit meno sign.)
Cos’è una rete ? Insieme delle
interfacce i cui ind. IP hanno la stessa parte che identifica la rete
Possono raggiungersi reciprocamente senza l’ausilio di un router
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
Rete che consiste di 3 reti IP(primi 24 bit identificano la rete IP)
LAN
223.1.1.0/24
4: Network Layer 4a-9
Indirizzamento IPCome trovare le reti? Staccare ciascuna
interfaccia dall’host o router cui appartiene
Creare “isole” (ciascuna isola è una rete IP)
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2223.1.2.1
223.1.2.6
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
Sistema interconnessodi 6 reti IP
4: Network Layer 4a-10
Indirizzi IP - formato classful
0 rete host
10 rete host
110 rete host
1110 Indirizzo multicast
A
B
C
D
Classe
1.0.0.0 a127.255.255.255
128.0.0.0 a191.255.255.255
192.0.0.0 a223.255.255.255
224.0.0.0 a239.255.255.255
32 bit
11110 RiservatoE240.0.0.0 a247.255.255.255
4: Network Layer 4a-11
Convenzioni per il broadcast
Broadcast verso la rete cui l’interfaccia appartiene Tutti i bit a 1 (prefisso di rete + host)
Broadcast verso gli host di un’altra rete Prefisso di rete valido Bit della parte host dell’indirizzo a 1 Non standard: bit della parte host a 0
Un broadcast IP si traduce (se possibile) in un broadcast Hw sulla rete di destinazione
4: Network Layer 4a-12
Vantaggi dell’indirizzamento a classi Indirizzo della rete e dell’host (interfaccia)
identificati senza ulteriori informazioni Es.: primi 3 bit 110 --> indirizzo di classe C
Non servono informazioni aggiuntive
110 host
Rete
4: Network Layer 4a-13
Svantaggi dell’indirizzamento a classi
Problema: potenziale spreco di indirizzi Esempio:
Rete con 2000 host Occorre richiedere una rete di classe B -> circa 63000 indirizzi inutilizzati
Soluzione (RFC 1519): Classless Interdomain Routing Piu’ avanti
4: Network Layer 4a-14
Assegnazione di indirizzi IP
Tutti gli host sulla stessa rete hanno lo stesso prefisso di rete Prefissi assegnati da un’autorita’ centrale Richiesti dall’ISP o istituzione ecc.
Ogni host (interfaccia) su una rete ha un suffisso distinto Assegnato localmente L’amministratore di rete garantisce l’unicita’
4: Network Layer 4a-15
Alcune questioni aperte
Multicast Trasferimento 1 --> molti Molte proposte ma ancora nessuno standard
diffuso Discusso piu’ avanti
Host multi-homed Es.: utenti mobili Piu’ indirizzi possibili Discusso piu’ avanti
4: Network Layer 4a-16
Problema principale
Notevole spreco di indirizzi soprattutto in classe B
Assegnazione dello stesso prefisso di rete a più reti fisiche:
Ridefinire le politiche di instradamento
Ridefinire le politiche di assegnazione degli indirizzi agli Host
4: Network Layer 4a-17
Soluzioni
1. Router trasparenti
2. ARP proxy
3. Indirizzamento di sottorete
4. Reti anonime punto-punto
5. Indirizzamento senza classi (CIDR - Classless Inter-Domain Routing) --> Reti odierne
4: Network Layer 4a-18
Router trasparenti
H1, H2 E H3 “credono” di essere connessi direttamente alla WAN
La rete locale non ha un proprio prefisso IP
WAN
R
H1
H2
H3
Rete locale
• R demultipla i datagrammi da e per la rete locale• R suddivide gli indirizzi IP in porzioni che interpreta separatamente•Si impone a volte una struttura particolare dell’indirizzo per favorire la multiplazione
4: Network Layer 4a-19
Esempio: ARPANET
Indirizzo di rete in forma 10.p.u.i p-->port, i--> PSN, x non interpretato Nota: 10.2.5.37 e 10.2.10.37 --> stesso host
ARPANET 10.0.0.0
PSN 37
10.2.1.37
10.2.2.37
10.2.3.37
Rete locale
4: Network Layer 4a-20
Vantaggi/svantaggi
Vantaggi Necessari meno indirizzi di rete Possibile bilanciamento del carico
collegando la rete fisica attraverso più routers
Svantaggi Non funziona con reti di classe C I router trasparenti possono non offrire tutti
i servizi standard (ICMP, SNMP….)
4: Network Layer 4a-21
ARP proxy (promiscuo, hack)
Permette di definire piu’ reti locali Rete principale nota all’esterno Reti locali aggiunte successivamente
nascoste Router speciale che:
Funziona da switch tra le diverse reti locali Funziona da router da/verso l’esterno
4: Network Layer 4a-22
ARP proxy - cont.
Dgram IP1-->IP4 R cattura richiesta ARP bcast di H1 e restituisce
proprio MAC address Datagrammi da IP1 a IP4 sono spediti a R che li
inoltra a IP4
R
IP1
IP2
IP3
principalenascosta
IP4
IP5
IP6
4: Network Layer 4a-23
Vantaggi/svantaggi
Vantaggi Le tabelle degli altri router non vanno cambiate Es.: quando si aggiunge la rete contenente IP4 i
router diversi da R devono solo sapere che i pacchetti per IP4 vanno inviati a R
Svantaggi L’instradamento non e’ completamente automatico Gli amministratori di rete devono aggiornare
manualmente le tabelle di routing Spoofing: una macchina finge di essere un’altra per
intercettare i pacchetti Non puo’ essere usato in assenza di ARP
4: Network Layer 4a-24
Indirizzamento di sottorete
Tecnica standardizzata Spesso usata su reti di classe B Idea
Router (R) responsabile dell’instradamento da/verso l’esterno
R conosce la suddivisione della rete in sottoreti
L’esterno “vede” un’unica rete, accessibile da R
4: Network Layer 4a-25
Esempio
Le reti 128.10.1.0 e 128.10.2.0 non sono visibili all’esterno
R interpreta gli indirizzi di dest. dei datagrammi provenienti dall’esterno
RInternet
128.10.2.2128.10.2.1
128.10.1.2128.10.1.1
Traffico verso 128.10.0.0
Rete 128.10.1.0
Rete 128.10.2.0
4: Network Layer 4a-26
Suddivisione indirizzo (classe B)
La suddivisione puo’ non essere per ottetti Possibilita’ di indirizzamento gerarchico
Prefisso di rete Indirizzo host
Prefisso di rete Rete locale host
Suddivisione dell’indirizzo vista dall’esterno
Suddivisione dell’indirizzo vista dal R
4: Network Layer 4a-27
Esempio
R2 deve sapere quanti bit individuano il prefisso della rete 3
Il resto di Internet ignora l’esistenza di R2 e R3
R1
R2 R3
Resto di Internet
Rete 1
Rete 2 Rete 3
4: Network Layer 4a-28
Sottoreti di lunghezza fissata
La stessa maschera è usata per tutte le reti:
Vantaggi: Uniformità Facilità di gestione
Svantaggi Numero di reti fissato per l’intera organizzazione Massimo numero di hosts per rete fisica fissato.
4: Network Layer 4a-29
Sottoreti di lunghezza variabile L’amministratore sceglie la dimensione di ogni
rete fisica Una maschera è assegnata ad ogni rete
specifica Vantaggi:
Flessibilità di unire reti grandi e piccole Uso completo dello spazio degli indirizzi
Svantaggi Difficoltà di assegnazione ed amministrazione Possibile ambiguità nell’indirizzamento Diversi instradamenti
4: Network Layer 4a-30
Esempiodi uso dello spazio di indirizzamento
Possibile assegnamento che usa il 92.9% degli indirizzi
11 reti di 2046 hosts 24 reti di 254 hosts 256 reti di 126 hosts
4: Network Layer 4a-31
Tabelle di routing
Le tabelle di routing devono essere modificate
Generica entry: (M, D, H)
Significato dei campi D --> indirizzo rete di destinazione H --> indirizzp prox. router lungo il percorso
verso Dest M --> maschera: campo di 32 bit che
consente di delimitare il prefisso di rete
4: Network Layer 4a-32
Tabelle di routing - cont.
Esempio: Risolvere indirizzo 220.190.16.3 Prova entry I: AND bit a bit con 255.255.0.0 da’
220.190.0.0 ≠ 151.100.0.0 Prova entry I+1: AND bit a bit con 255.255.255.0
da’ 220.190.16.0 --> prox. salto e’ 220.190.15.1
……….255.255.0.0 151.100.0.0 220.190.16.22255.255.255.0 220.190.16.0 220.190.15.1…………
II+1
4: Network Layer 4a-33
Algoritmo di instradamento
T:tabella di routing, I: indirizzo da risolverefor (i=0; i<|T|; i++) {
if ((I && Mi)==Di) {
<Next hop> = Hi;
break;}
}/* Nessuna corrispondenza in T */Errore;
4: Network Layer 4a-34
Maschere di sottorete
Sono consentite maschere arbitrarie Soluzione solitamente scelta (non e’ una
scelta obbligata): Numero costante di bit della parte locale per
individuare la sottorete Allocazione contigua Esempio: data la rete 151.100.0.0, gli 8 bit piu’
significativi della parte locale per la sottorete e gli 8 bit meno significativi per l’host
In questo caso la maschera di sottorete sarebbe 255.255.255.0
4: Network Layer 4a-35
Esempio
Usa i 16 bit inferiori di 128.10.0.0 per definire le sottoreti:
Crea 7 sottoreti: Subnet 1
254 hostsSubnet mask: 24 bits
Subnet da 2 a 762 hosts ognunaSubnet mask di 26 bits
4: Network Layer 4a-36
Esempio
Subnet 1 (254 hosts)mask: 11111111 11111111 11111111 0000000prefix: 10000000 00001010 00000001 0000000
Subnet 2 (62 hosts)mask: 11111111 11111111 11111111 11000000prefix: 10000000 00001010 00000000 10000000
Subnet 3 (62 hosts)mask: 11111111 11111111 11111111 11000000prefix: 10000000 00001010 00000000 11000000
4: Network Layer 4a-37
Esempio
Subnet 4 (up to 62 hosts)mask: 11111111 11111111 11111111 11000000prefix: 10000000 00001010 00000001 00000000
Subnet 5 (up to 62 hosts)mask: 11111111 11111111 11111111 11000000prefix: 10000000 00001010 00000001 01000000
Subnet 6 (up to 62 hosts)mask: 11111111 11111111 11111111 11000000prefix: 10000000 00001010 00000001 10000000
4: Network Layer 4a-38
Esempio
Subnet 7 (62 hosts)
mask: 11111111 11111111 11111111 11000000prefix: 10000000 00001010 00000001 11000000
4: Network Layer 4a-39
Ambiguità degli Indirizzi
Indirizzo dell’host 63 sulla subnet 1 è
mask: 11111111 11111111 11111111 00000000prefix: 10000000 00001010 00000001 00000000host: 10000000 00001010 00000001
00111111
broadcast diretto su subnet 4 è
mask: 11111111 11111111 11111111 11000000prefix: 10000000 00001010 00000001 00000000bcast: 10000000 00001010 00000001 00111111
4: Network Layer 4a-40
Ambiguità degli Indirizzi cont.
Broadcast diretto su subnet 1 è
mask: 11111111 11111111 11111111 00000000prefix: 10000000 00001010 00000001 00000000bcast: 10000000 00001010 00000001 11111111
Broadcast diretto su subnet 7 è
mask: 11111111 11111111 11111111 11000000prefix: 10000000 00001010 00000001 11000000bcast: 10000000 00001010 00000001 11111111
4: Network Layer 4a-41
Reti anonime punto-punto
Reti in serie non-numerate
Vi sono solo due endpoints
Non è necessario assegnare un prefisso di rete
Si usa l’IP remoto per indicare il next hop nella tabella di Routing
4: Network Layer 4a-42
Esempio
4: Network Layer 4a-43
Classless Inter Domain Routing CIDR
4: Network Layer 4a-44
Indirizzamento senza classi
Detto anche di super-rete (super-netting)
Motivazioni: Pochi indirizzi di classe A e B disponibili Molti indirizzi di classe C disponibili, ma
piccola frazione assegnata Obiettivo: assegnare soprattutto
indirizzi di classe C Soluzione: CIDR (Classless Inter-Domain
Routing)
4: Network Layer 4a-45
crescita di Internet
Il numero delle reti raddoppia ogni nove mesi (crescita esponenziale)
spazio degli indirizi già assegnato [fonte: RFC 1917 feb ‘96]:
classe A: 41% classe B: 62% classe C: 28%
complessivo: 41%
più della metà delle reti in classe B ha meno di 50 host
La scarsità degli indirizzi ha l’effetto di ingigantire le tabelle di instradamento.
Infatti, poiché l’offerta di indirizzi della classe B diminuisce, la richiesta di indirizzi della classe C aumenta e le reti indipendenti si moltiplicano
4: Network Layer 4a-46
Indirizzamento senza classi
Problema: una rete di classe C corrisponde a 256 indirizzi IP
Molte organizzazioni hanno bisogno di piu’ indirizzi Soluzione: assegnare ad una stessa organizzazione
blocchi contigui di indirizzi in classe C Esempio: l’organizzazione X riceve i tre blocchi
contigui 220.123.16.x, 220.123.17.x e 220.123.18.x 768 indirizzi disponibili
Richiederebbe numerosi instradamenti diversi per raggiunger una rete
4: Network Layer 4a-47
Indirizzamento senza classi
Come rappresentare il blocco di indirizzi assegnati?
Informazioni necessarie: indirizzo + basso del blocco e No. Blocchi
In pratica: CIDR non prevede che gli indirizzi di rete
debbano necessariamente essere di classe C CIDR usa le seguenti informazioni:
• Valore a 32 bit dell’indirizzo piu’ basso del blocco• Maschera a 32 che funziona come una maschera di
sottorete standard
4: Network Layer 4a-48
Differenze rispetto a indizzamento con sottorete L’indirizzamento CIDR prevede che la
maschera usi bit contigui CIDR richiede che ogni blocco di indirizzi
sia una potenza di 2 Esempio:
11111111 11111111 00011000 01000000 e’ una maschera di sottorete valida ma non e’ una maschera CIDR consentita
4: Network Layer 4a-49
Notazione CIDR
Prefisso della rete + No. bit per il prefisso Esempio: per un blocco di indirizzi da
220.16.128.0 a 220.16.255.255:
220.16.128.0/1711111111.11111111.10000000.00000000
4: Network Layer 4a-50
Esempio Un ISP riceve il blocco di indirizzi
210.20.128.0/17 L’ISP crea (ad esempio) 128 reti da 256
indirizzi IP ciascuna: 210.20.128.0/24 210.20.129.0/24 …………
La maschera di rete che corrisponde al blocco principale e’ 255.255.128.0
Ciascuno dei sotto-blocchi ha maschera 255.255.255.0
4: Network Layer 4a-51
Instradamento con CIDR
Indirizzi con classi sono auto-identificanti Indirizzamento senza classi: occorre separare
il prefisso di rete dall’indirizzo dell’host Esempio: arriva Dgram con IP destinazione
150.122.19.30 Qual e’ il prefisso di rete? Non e’ possibile stabilirlo a priori se si usa la
convenzione CIDR
Le reti sono allocate in modo da rendere più probabile l’aggregazione delle tabelle di instradamento
4: Network Layer 4a-52
Instradamento con CIDR - cont. La tabella di routing ha la forma: (Mask,
Dest. network, Next hop) Si tentano le entry in ordine decrescente
di lunghezza delle maschere Quelle con la maschera piu’ lunga prima
L’AND della destinazione e della Mask deve restituire l’indirizzo di base.
Esempio: indirizzo 150.122.19.30 La tabella contiene 2 entry, corrispondenti alle
destinazioni 150.122.19.0/24 e 150.122.128.0/17
L’entry giusta e’ la prima, corrispondente al prefisso comune piu’ lungo (longest prefix matching)
4: Network Layer 4a-53
Esempio di aggregazione
4: Network Layer 4a-54
Esempio di Instradamento
4: Network Layer 4a-55
Riassunto vincoli di aggregazione
4: Network Layer 4a-56
Allocazione accorta degli indirizzi ip
4: Network Layer 4a-57
Allocazione accorta degli indirizzi ip Si allocano alla stessa organizzazione reti possibilmente
contigue Se l’organizzazione afferisce ad internet tramite un solo
collegamento, sarà possibile aggregare da quel punto in poi molte linee delle tabelle di instradamento
esempio:
se un’organizzazione ha necessità di 2000 indirizzi ip, le vengono allocati 2048 indirizzi (8 reti in classe C contigue)
se un’organizzazione ha necessità di 8000 indirizzi ip, le vengono allocati 8192 indirizzi (32 reti in classe C contigue)
4: Network Layer 4a-58
Esempio di allocazione CIDR
4: Network Layer 4a-59
Esempio di allocazione CIDR (cont)
4: Network Layer 4a-60
Implementazione
Tradizionali Tabelle usano funzioni Hash che forniscono il prossimo hop corrispondente af ogni destinazione
Soluzione elementare in CIDR: ricerca iterativa sulle maschere in ordine di lunghezza decrescente
Per CIDR si usano invece strutture di ricerca ad albero binario
Ogni percorso dalla radice ad una foglia corrisponde ad un possibile prefisso
In pratica, la ricerca del prefisso comune piu’ lungo avviene in memoria principale
4: Network Layer 4a-61
Esempio
Tabella (solo destinazioni indicate):
Indirizzo a 32 bit Pref. univoco
00110101000000000000000000000000 001 01000110000000000000000000000000 0100 01010110000000000000000000000000 0101 01100001000000000000000000000000 011 10101010111100000000000000000000 1010 10110000000000100000000000000000 10110
10111011000010100000000000000000 10111
4: Network Layer 4a-62
Esempio - cont.
Ricerca dell’indirizzo 01010010.x.y.z Ogni foglia corrisponde a una
destinazione della tabella di routing
0
0
0
0
0
0
0
1
1
11
11
1
1
4: Network Layer 4a-63
Implementazione
Le foglie dell’albero contengono sia un indirizzo di destinazione che una maschera
Una volta giunti ad una foglia dell’albero si verifica che l’AND tra indirizzo e Maschera sia esattamente la rete di destinazione
Gli alberi binari di ricerca aiutano nel determinare quale entry sono possibili
4: Network Layer 4a-64
Prefissi di Rete
Il procdimento e’ corretto se nessun prefisso di rete ha un altro prefisso di rete come prefisso
Tutti le entry sono foglie dell’albero In realtà le tabelle spesso contengono
informazioni promiscue sull’instradamento sia verso le reti che verso le sottoreti.
Occorre quindi determinare il prefisso piu’ lungo che corrisponde con l’indirizzo che si desidere risolvere.
Si possono quindi avere entry della tabella anche ai nodi interni dell’albero
4: Network Layer 4a-65
Esercizio
Considerate un’allocazione di blocchi di classe C tale che che l’indirizzo di base è un multiplo del numero di indirizzi da allocare e tutti gli indirizzi del blocco non sono allocati.
Verificare che nessun indirizzo base e’ un prefisso di un altro indirizzo base.
4: Network Layer 4a-66
Esercizio 1 su aggregazione CIDRSi consideri un router che ha la seguente tabella di
instradamento:
Indirizzo Netmask Linea
193.204.162.0 255.255.255.0 Interfaccia 1193.204.163.0 255.255.255.0 Interfaccia 2193.204.164.0 255.255.255.0 Interfaccia 2193.204.165.0 255.255.255.0 Interfaccia 2193.204.166.0 255.255.255.0 Interfaccia 2193.204.167.0 255.255.255.0 Interfaccia 2193.204.168.0 255.255.255.0 Interfaccia 2
si mostri come tale tabella potrebbe essere compressa se il router
adottasse lo standard CIDR
4: Network Layer 4a-67
Soluzione
4: Network Layer 4a-68
Esercizio 2 su aggregazione CIDRSi consideri un router che ha la seguente tabella di
instradamentogià parzialmente aggregata:
Indirizzo Netmask Linea
194.38.40.0 255.255.255.0 Interfaccia 1194.38.41.0 255.255.255.0 Interfaccia 1194.38.42.0 255.255.254.0 Interfaccia 1194.38.44.0 255.255.252.0 Interfaccia 1194.38.48.0 255.255.254.0 Interfaccia 1194.38.50.0 255.255.255.0 Interfaccia 1194.38.51.0 255.255.255.0 Interfaccia 1
si mostri come tale tabella potrebbe essere ulteriormentecompressa in accordo con lo standard CIDR
4: Network Layer 4a-69
Soluzione
4: Network Layer 4a-70
Esercizio 3 su aggregazione CIDRSi comprima con CIDR la seguente tabella di
instradamento:
Indirizzo Netmask Linea
140.38.0.0 255.255.0.0 Interfaccia 1140.39.0.0 255.255.0.0 Interfaccia 1140.40.0.0 255.255.0.0 Interfaccia 1140.41.0.0 255.255.0.0 Interfaccia 1140.42.0.0 255.255.0.0 Interfaccia 1140.43.0.0 255.255.0.0 Interfaccia 1140.44.0.0 255.255.0.0 Interfaccia 1140.45.0.0 255.255.0.0 Interfaccia 1140.46.0.0 255.255.0.0 Interfaccia 2140.47.0.0 255.255.0.0 Interfaccia 1140.48.0.0 255.255.0.0 Interfaccia 1
4: Network Layer 4a-71
Soluzione
4: Network Layer 4a-72
Soluzione