Date post: | 01-May-2015 |
Category: |
Documents |
Upload: | giovannetta-pozzi |
View: | 234 times |
Download: | 3 times |
4-1
Il Livello di Rete in Internet
Crediti
Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© 1996-2003 All Rights Reserved)
4-2
Il livello di rete in Internet
TabellaRouting
Funzioni del livello di rete negli host e nei router:
Protocolli di Routing•selezione percorso•RIP, OSPF, BGP
IP protocol (v4, v6)•regole indirizzamento•formato datagram•regole gestione pacchetti
ICMP protocol•report di errori•segnalazione dai router
Transport layer: TCP, UDP
Link layer
physical layer
Networklayer
4-3
Indirizzamento IP: introduzione Indirizzo IP:
identificatore a 32 bit per le interfacce di host e router
interfaccia: connessione tra host/router e link fisico i router tipicamente
hanno molte interfacce
un host può avere molte interfacce
indirizzo IP associato con ogni interfaccia
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
notazione decimale puntata
4-4
Indirizzamento IP indirizzo IP:
parte della rete (high order bits)
parte dell’host (low order bits)
Cosa è una rete ? (dal punto di vista IP) interfacce dei
dispositivi con parte della rete dell’indirizzo IP uguale
possono raggiungersi a vicenda senza l’intervento 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 formata da 3 reti IP(per gli indirizzi IP che iniziano con 223, i primi 24 bit sono la parte della rete)
LAN
4-5
Indirizzamento IPCome trovare le reti? Staccare ogni
interfaccia dall’host/router
ceare “isole” di reti isolate
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 interconnessoformato da sei reti
4-6
Indirizzi IP
0network host
10 network host
110 network host
1110 multicast address
A
B
C
D
classe1.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 bits
data la nozione di “rete”, riesaminiamo gli indirizzi IP:
“class-full” addressing:
Broadcast: 255.255.255.255
4-7
Indirizzi IP: CIDR Classful addressing:
uso inefficiente dello spazio degli indirizzi, esaurimento dello spazio degli indirizzi
es. indirizzo di rete di classe B riserva indirizzi sufficienti per 65K host anche se ci sono solo 2K host in quella rete
CIDR: Classless InterDomain Routing parte rete dell’indirizzo di lunghezza arbitraria formato indirizzo: a.b.c.d/x, dove x è num. bit nella
parte rete dell’indirizzo
11001000 00010111 00010000 00000000
networkpart
hostpart
200.23.16.0/23
network mask
4-8
Ottenere blocchi di indirizzi IP
D: Come fa un ISP ad ottenere un blocco di indirizzi IP?
R: ICANN: Internet Corporation for Assigned
Names and Numbers alloca gli indirizzi gestisce i DNS radice assegna i nomi dei domini, risolve le dispute
4-9
Ottenere un indirizzo di rete IP
D: Come fa la rete ad ottenere la parte rete dell’indirizzo IP?
R: ottiene una porzione dello spazio di indirizzi del suo ISP
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
4-10
Indirizzam. gerarchico: aggregaz. percorsi
“Mandami qualunquecosa con indirizzi che iniziano con 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us“Mandami qualunquecosa con indirizzi che iniziano con 199.31.0.0/16”
200.23.20.0/23Organization 2
...
...
L’indirizzamento gerarchico permette una diffusione efficiente delle informazioni di routing:
4-11
Indirizzam. gerarchico: aggregaz. percorsi
ISPs-R-Us ha un ulteriore percorso all’Organizzazione 1
“Mandami qualunquecosa con indirizzi che iniziano con 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us“Mandami qualunquecosa con indirizzi che iniziano con 199.31.0.0/16 o 200.23.18.0/23”
200.23.20.0/23Organization 2
...
...
longest prefix matching
4-12
Ottenere un indirizzo di host IP
Come ottiene un host un indirizzo IP? hard-coded dall’amministr. di sistema in un file
Windows: control-panel->network->configuration->tcp/ip->properties
UNIX: /etc/rc.config
DHCP: Dynamic Host Configuration Protocol: ottieni indirizzo dinamicamente: “plug-and-play” host manda messaggio “DHCP discover” in
broadcast server DHCP risponde con messaggio “DHCP offer” host richiede indirizzo IP: messaggio “DHCP request” server DHCP invia indirizzo: messaggio “DHCP ack”
4-13
Scenario client-server DHCP
DHCP server
arriving DHCP client
223.1.2.5
Figure 4.4.2-N1: DHCP client-server scenario
4-14
Scenario client-server DHCPDHCP server: 223.1.2.5 arriving
client
time
DHCP discover
src : 0.0.0.0, 68 dest.: 255.255.255.255,67DHCPDISCOVERyiaddr: 0.0.0.0transaction ID: 654
DHCP offer
src: 223.1.2.5, 67 dest: 255.255.255.255, 68DHCPOFFERyiaddrr: 223.1.2.4transaction ID: 654DHCP server ID: 223.1.2.5Lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68 dest:: 255.255.255.255, 67DHCPREQUESTyiaddrr: 223.1.2.4transaction ID: 655DHCP server ID: 223.1.2.5Lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67 dest: 255.255.255.255, 68DHCPACKyiaddrr: 223.1.2.4transaction ID: 655DHCP server ID: 223.1.2.5Lifetime: 3600 secs
4-15
Formato datagram IP
ver length
32 bits
dati (lunghezza variabile,
tipicamente un segmento TCP o UDP)
16-bit identifier
Internet checksum
time tolive
32 bit source IP address
IP protocol versionnumber
header length (bytes)
max numberremaining hops
(decremented at each router)
forfragmentation/reassembly
total datagramlength (bytes)
upper layer protocolto deliver payload to
head.len
type ofservice
“type” of data flgsfragment
offsetup. layer protocol
32 bit destination IP address
Options (if any) Es. Timestamp orecord route, specificala lista dei router da visitare
quanto overhead con TCP?
20 bytes of TCP 20 bytes of IP = 40 bytes + app
layer overhead
4-16
Frammentazione e riassemblaggio IP
i link di rete trasportano pacchetti con quantità massime di dati prefissate MTU (Max. Transfer Unit)
– la più grande frame possibile a livello link
differenti tipi di link => differenti MTU
un grande datagram IP diviso (“frammentato”) all’interno della rete un datagram (numerato)
“genera” diversi datagram
“riassemblato” solo alla destinazione finale
bit dell’header IP usati per identificare e ordinare i frammenti relativi
frammentazione: in: 1 datagram grandeout: 3 datagram più piccoli
reassembly
4-17
Frammentazione e riassemblaggio IP
ID=x
offset=0
fragflag=0
length=4020
ID=x
offset=0
fragflag=1
length=1500
ID=x
offset=1480
fragflag=1
length=1500
ID=x
offset=2960
fragflag=0
length=1060
Un grande datagram generadiversi datagram più piccoli
Esempio datagram di 4000
byte MTU = 1500 byte
4-18
ICMP: Internet Control Message Protocol
usato da host e router per comunicare informazioni a livello rete report di errori: host,
network, port, protocol irraggiungibili
echo request/reply (usato dal ping)
situato a livello di rete “sopra” IP: messaggi ICMP trasportati
nei datagram IP messaggio ICMP: tipo, codice
più primi 8 byte del datagram IP che causa l’errore
Type Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion control – non utilizzato)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header
4-19
Trasporto di datagram da sorgente a destin.
IP datagram:
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
A
BE
miscfields
sourceIP addr
destIP addr data
il datagram rimane immutato durante il tragitto da sorgente a destinazione
campo indirizzi contiene indirizzo IP di sorgente e dstinazione
Dest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
routing table in A
4-20
Trasporto di datagram da sorgente a destin.
Sorgente A, invia datagram IP a B:
cerca indirizzo di rete di B nella tabella di routing
B risulta nella stessa rete di A livello link invierà il datagram
direttamente a B dentro il frame del livello link B e A sono connessi
direttamente
Dest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
miscfields223.1.1.1223.1.1.3data
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
A
BE
routing table in A
4-21
Trasporto di datagram da sorgente a destin.
Dest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Sorgente A, destinazione E: cerca indirizzo di rete di E
nella routing table E è in una rete differente
A ed E non collegati durettamente
routing table: next hop router a E è 223.1.1.4
livello link invierà il datagram al router 223.1.1.4 dentro il frame del livello link
datagram arriva a 223.1.1.4, …
miscfields223.1.1.1223.1.2.3 data
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
A
BE
routing table in A
4-22
Trasporto di datagram da sorgente a destin.
Arriva a 223.1.4, destinato a 223.1.2.2
cerca indirizzo di rete di E nella routing table del router
E nella stessa rete del router (con interfaccia 223.1.2.9) router ed E direttamente
collegati livello link invierà il datagram
al router 223.1.2.2 dentro il frame del livello link attraverso l’interfaccia 223.1.2.9
datagram arriva a 223.1.2.2!!
miscfields223.1.1.1223.1.2.3 data
Dest. Net router Nhops interface
223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9
223.1.3 - 1 223.1.3.27
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
A
BE
routing table in router
4-23
NAT: Network Address Translation
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
local network(e.g., home network)
10.0.0/24
resto diInternet
Datagram con sorgente o destinazione in questa rete
hanno indirizzo 10.0.0/24 persorgente, destinazione
(come al solito)
Tutti i datagram uscenti dalla rete locale hanno stessa singolo
NAT IP address sorgente: 138.76.29.7,
numeri di port sorgenti differenti
Tabella traduzione NAT
Lato WAN Lato LAN
138.76.29.7, 5001…
10.0.0.1, 3345…