Sei sulla pagina 1di 15

Protocolli strato rete in Internet

Internet protocol suite

Application NFS
Telnet
FTP
Strato rete in Internet Presentation
SMTP
SNMP
XDR

Session RPC

Transport TCP e/o UDP

ICMP Protocolli
Network IP di routing
ARP | RARP
Gruppo Reti TLC Data Link
Non Specificati
Physical
nome.cognome@polito.it
OSI Internet Protocol Suite
http://www.tlc-networks.polito.it/
STRATO RETE IN INTERNET - 1 STRATO RETE IN INTERNET - 2

IP: Internet Protocol Il protocollo IP


• Livello rete dell’architettura TCP/IP • È un protocollo di strato rete (strato 3)
• Offre un servizio • Si occupa quindi dell’indirizzamento e
– non connesso instradamento dei pacchetti (detti datagram)
– inaffidabile • La consegna dei pacchetti IP è:
– best-effort – connectionless
– senza garanzie di qualità di servizio • ogni pacchetto trattato in modo indipendente
• Specificato in RFC 791 – inaffidabile (unreliable)
• perdita, duplicazioni, ritardi
– non distingue tra diversi tipi di traffico (no
priorità, tratta tutti in modo best-effort)
STRATO RETE IN INTERNET - 3 STRATO RETE IN INTERNET - 4

Protocollo IP Intestazione pacchetto IP


• Consegna inaffidabile 0 4 8 16 19 24 31

– In caso di guasti (es. un router fuori servizio, Version HLEN Service Type Total Length
collegamento non disponibile) Identification Flags Fragment Offset
• scarta il datagram
Time To Live Protocol Header Checksum
• cerca di inviare un messaggio di errore al mittente
• Consegna connectionless Source IP Address

– Non conserva informazioni di stato sui datagram Destination IP Address


in corso di trasmissione
– Ogni datagram instradato in modo indipendente Options PAD

– Due pacchetti con stessa sorgente e


destinazione possono seguire percorsi diversi
STRATO RETE IN INTERNET - 5 STRATO RETE IN INTERNET - 6

Pag. 1
Protocolli strato rete in Internet

Intestazione pacchetto IP: i campi Frammentazione


• Ogni rete ha massima dimensione ammessa
• VER: versione del protocollo IP
– MTU (Maximum Transfer Unit): Ethernet 1500 B
• HLEN: lunghezza dell’header in parole da 32 bit • Quando devo attraversare rete con MTU più
(se opzioni assenti, vale 5) piccola del datagram si deve frammentare
• Type of service (TOS): tipo di servizio richiede il • Frammenti
datagram (minimize delay, maximize throughput, – diventano datagram indipendenti, con intestazione quasi
maximize reliability, minimize cost ). Generalmente uguale a quella del datagram originario
ignorato dai router. RFC 1349 – ricostruiti solo alla destinazione, mai nei router intermedi
• Total Length: lunghezza del datagram in byte • Frammentazione trasparente a sorgente e
(incluso header). Dimensione massima 65535 byte destinazione
• Specificata in RFC 791, RFC 815

STRATO RETE IN INTERNET - 7 STRATO RETE IN INTERNET - 8

Frammentazione Intestazione pacchetto IP: i campi


• La frammentazione è dannosa • Identification, Flags, Fragment offset:
– aumento overhead di intestazione, duplicato su controllano operazioni di frammentazione
ogni frammento – Identification: permette di riconoscere a quale
datagram il frammento appartiene (frammenti dello
– perdita di un frammento comporta la perdita al
stesso datagram hanno stesso valore deciso dallo
ricvevitore di tutto il datagram; aumenta la host che genera il datagram)
probabilità di errore – Fragment offset: specifica offset dati contenuti nel
– ricevitore deve attivare timer di attesa arrivo frammento, in multipli di 8 byte
frammenti e riassemblare – Flags (2 bit): don’t fragment e more fragments
• I router IP però non si devono occupare di (identifico ultimo frammento)
riassemblare frammenti
STRATO RETE IN INTERNET - 9 STRATO RETE IN INTERNET - 10

Intestazione pacchetto IP: i campi Intestazione pacchetto IP: i campi


• TTL (time to live): • Header Checksum (16 bit): controllo di errore
– Tempo di vita (in hop) di un datagram
sulla sola intestazione, non sui dati utente.
– La sorgente setta un valore iniziale (a
piacere) Specificato in RFC 1071,1141,1624,1936.
– Ogni router decrementa di 1 il valore di Somma in complemento a 1 allineando
TTL
header a 16 bit.
– Se TTL=0, il router scarta datagram ed
invio messaggio di errore (disabilitabile) Protocol Name è possibile calcolare un checksum
• Protocol: formato dei dati specificando 1 ICMP incrementale (utile perchè ogni router cambia
un protocollo di livello superiore. Un 4 IP in IP
l’intestazione).
elenco dei protocolli è presente in 6 TCP

RFC 1700 17 UDP


89 OSFP

STRATO RETE IN INTERNET - 11 STRATO RETE IN INTERNET - 12

Pag. 2
Protocolli strato rete in Internet

Intestazione pacchetto IP Il protocollo ICMP


• Source e Destination Address (32 bit): indirizzo • ICMP (Internet Control Message Protocol ) è
sorgente e destinazione degli host
solitamente considerato parte del livello IP
• Formato opzioni: option code (option number,
option class, flag di copia nei frammenti) + • Comunica messaggi di errore o di controllo.
lunghezza opzione + dati Può trasportare richieste di informazioni e
• Opzioni risposte alle richieste.
– record route: registro percorso del datagram
– source route (loose and strict): sorgente specifica
• I messaggi ICMP sono trasmessi all’interno
percorso del datagram di datagram IP
– timestamp: permette di registrare tempo di elaborazione • Specificato in RFC 792
del datagram 32-bit timestamp (millisecondi da
mezzanotte Universal Time)
– path MTU Discovery (RFC 1191)
STRATO RETE IN INTERNET - 13 STRATO RETE IN INTERNET - 14

Formato del messaggio ICMP Esempi di messaggi ICMP


messaggio type code

echo reply 0 0 query


0 7 15 31 echo request 8 0 query
network unreachable 3 0 errore
type code checksum host unreachable 3 1 errore
port unreachable 3 3 errore
destn net unknown 3 6 errore
data
destn host unknown 3 7 errore
redirect 5 1 controllo
time exceeded (TTL) 11 0 errore
time exceeded (fragment reass) 11 1 errore

STRATO RETE IN INTERNET - 15 STRATO RETE IN INTERNET - 16

Applicazione: il comando ping Il comando ping


• Il nome è ispirato al rumore del sonar • Se un host non risponde al ping, non è
raggiungibile (o ICMP echo-reply è disabilitato).
• Esegue un test di raggiungibilità
• Può essere usato per rilevare guasti in rete.
dell’interfaccia di rete di un host remoto
• è disponibile su macchine Unix e su PC
• Invia un messaggio ICMP echo request ad
• Informazioni visualizzate da ping:
un host, aspettandosi un echo reply
– numero di sequenza
• Di default, l’ ICMP viene inviato ogni – TTL
secondo allo stesso host; è possibile tuttavia – round-trip-time (tempo impiegato a percorrere la tratta
modificare la frequenza di invio sorgente-destinatario-sorgente)

STRATO RETE IN INTERNET - 17 STRATO RETE IN INTERNET - 18

Pag. 3
Protocolli strato rete in Internet

Il comando ping Il comando traceroute


C:\WINDOWS>ping www.cs.cmu.edu
• traceroute permette di seguire il percorso dei
Esecuzione di Ping SUPERMAN.WEB.cs.cmu.edu [128.2.203.179] con 32 datagram IP hop-per-hop fino a destinazione
byte di dati: • Funzionamento:
Risposta da 128.2.203.179: byte=32 durata=138ms TTL=243 – Host invia segmenti UDP vuoti, con TTL crescenti e
Risposta da 128.2.203.179: byte=32 durata=110ms TTL=243 destinati alla porta 33434 dell’host remoto
Risposta da 128.2.203.179: byte=32 durata=110ms TTL=243 – I router intermedi ritornano ICMP “time exceeded”
Risposta da 128.2.203.179: byte=32 durata=110ms TTL=243
– La destinazione ritorna ICMP “port unreachable”
Statistiche Ping per 128.2.203.179: – Se non torna messaggio ICMP in risposta entro un
Pacchetti: Trasmessi = 4, Ricevuti = 4, Persi = 0 (0% persi), timeout di 3 sec., si segnala errore
Tempo approssimativo percorsi andata/ritorno in millisecondi:
Minimo = 110ms, Massimo = 138ms, Medio = 117ms

STRATO RETE IN INTERNET - 19 STRATO RETE IN INTERNET - 20

Il comando traceroute Il comando traceroute


….
Rilevazione instradamento verso beatles.tilab.com [163.162.29.125] 11 138 ms 123 ms 110 ms 151.99.75.220
su un massimo di 30 punti di passaggio: 12 110 ms 138 ms 151 ms 151.99.101.106
13 165 ms 151 ms 151 ms r-to83-fa11.interbusiness.it [62.86.98.19]
C:\WINDOWS>tracert beatles.tilab.com 14 192 ms 165 ms 151 ms host130-pool8016128.interbusiness.it
1 <10 ms <10 ms <10 ms l3.polito.it [130.192.2.8] [80.16.128.130]
2 <10 ms <10 ms <10 ms c3660-ext.polito.it [130.192.53.65] 15 138 ms 137 ms 110 ms 163.162.60.99
3 <10 ms <10 ms <10 ms rc-polito.to.garr.net [193.206.132.145] 16 * * * Richiesta scaduta.
4 <10 ms <10 ms 13 ms mi-to.garr.net [193.206.134.61] 17 110 ms 123 ms 124 ms 163.162.60.99
5 14 ms 14 ms 13 ms rm-mi.garr.net [193.206.134.18] 18 * * * Richiesta scaduta.
6 13 ms 14 ms 28 ms namex-roma-1.garr.net [193.206.134.226] 19 * * * Richiesta scaduta.
7 14 ms 41 ms 14 ms intb-nap.inroma.roma.it [194.242.224.10] 20 * * * Richiesta scaduta.
8 83 ms 96 ms 96 ms 151.99.101.41 21 82 ms 96 ms 96 ms beatles.cselt.it [163.162.29.125]
9 164 ms 165 ms 151 ms r-rm198-fa4.interbusiness.it [151.99.29.218]
10 151 ms 137 ms 151 ms r-ts21-rm99.interbusiness.it [151.99.98.110]
…. Segue….
STRATO RETE IN INTERNET - 21 STRATO RETE IN INTERNET - 22

Indirizzamento IP:
obiettivi e risultati
• Obiettivo originale: rendere efficienti le
operazioni di routing (router lenti - anni ‘80)
con indirizzi facilmente “classificabili”
Indirizzi IP – spreco dello spazio di indirizzamento
(esaurimento degli indirizzi - anni ‘90)
• Nuovo obiettivo: razionalizzare
l’assegnazione degli indirizzi e la loro
aggregazione nelle routing tables
Gruppo Reti TLC – riduzione delle dimensioni delle routing tables e
riutilizzo di indirizzi già assegnati
Nome.cognome@polito.it
http://www.tlc.polito.it/ STRATO RETE IN INTERNET - 23 STRATO RETE IN INTERNET - 24

Pag. 4
Protocolli strato rete in Internet

Indirizzi IP: Principi Multi-Homed Hosts


• Ogni host (interfaccia) è individuato da un • Poiché l’indirizzo ha
indirizzo a 32 bit, assegnatogli univocamente informazioni su rete e Interfaccia #1
• Un indirizzo è caratterizzato da informazioni host, se ho più di una
sulla rete (netid) e sull’host (hostid) interfaccia di rete, devo
H
• L’instradamento si basa sul netid avere due indirizzi
– indirizzo non individua la macchina ma la rete • Più che un host, un
se sposto host di rete devo cambiare indirizzo indirizzo individua una Interfaccia #2

• Ogni router ha almeno due indirizzi IP connessione ad una


rete!
• Gli host solitamente uno solo
STRATO RETE IN INTERNET - 25 STRATO RETE IN INTERNET - 26

Classi di indirizzi (RFC 1466) Rappresentazione decimale


1 2 3 4 8 16 24 32

Classe A 0 netid=7 bit hostid=24 bit • L’indirizzo Internet viene comunemente


Indirizza 127 reti, ciascuna delle quali può contenere oltre 16 milioni di hosts rappresentato nella forma:
Classe B 1 0 netid=14 bit hostid=16 bit xxx.xxx.xxx.xxx
Indirizza 16384 reti, ciascuna delle quali può contenere 65536 hosts
con xxx numero decimale tra 0 e 255
Classe C 1 1 0 netid= 21 bit hostid=8 bit
• Il primo numero permette di riconoscere la
Indirizza oltre 1 milioni di reti, ciascuna delle quali può contenere però ‘solo’ 256 hosts
classe dell’indirizzo:
Classe D 1 1 1 0
Classe A Classe B Classe C Classe D Classe E
Indirizzi multicast
0...127 128...191 192...223 224...239 240...255
Classe E 1 1 1 1 28 bit riservati

Indirizzi riservati per la sperimentazione


STRATO RETE IN INTERNET - 27 STRATO RETE IN INTERNET - 28

Classi di indirizzi IP Indirizzi di rete e Broadcast


• A: 105.20.38.165 • Indirizzo con hostid di tutti 0, individua la rete
• Indirizzo con hostid di tutti 1, rappresenta
• B: 130.192.2.158 l’indirizzo broadcast della rete stessa
(trasmetto in broadcast su quella rete)
• C: 193.24.54.110 • netid di tutti 1 indica questa rete. Trasmetto
senza conoscere IP della rete (boot)
indirizzo di rete (netid)
• Se il netid è tutti 0, indirizzo all’host sulla rete
cui sei collegato
• Indirizzi riservati (127.0.0.0 loopback,
STRATO RETE IN INTERNET - 29
192.168.2.0 reti private) STRATO RETE IN INTERNET - 30

Pag. 5
Protocolli strato rete in Internet

Problemi delle classi Allocazione reti nel 1997


• 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
Puntini mostrano
dimensione della classe richiede la modifica reti raggiungibili
degli indirizzi di tutti gli host

• http://www.iana.org/assignments/ipv4-address-space

http://www.caida.org/outreach/resources/learn/ipv4space/
STRATO RETE IN INTERNET - 31 STRATO RETE IN INTERNET - 32

L’introduzione delle maschere La subnet mask


• È necessario superare la divisione rigida in • La subnet mask (o netmask) è un valore di
netid e hostid 32 bit contenente:
• Scompare il concetto di classe – bit messi a 1 per identificare la parte di rete
• Uso maschera per definire quanti bit dei 32 – bit messi a 0 per identificare la parte di host
di indirizzo individuano la rete, ovvero per • Per esigenze di instradamento, un host deve
indicare l’estensione del campo netid
conoscere la parte di rete del proprio
• Inizialmente si utilizzano le maschere per indirizzo IP (netid+subnetid): utilizza la
suddividere indirizzi di classe B
subnet mask
• Definito in RFC 950
• La subnet mask viene introdotta in fase di
configurazione di un host
STRATO RETE IN INTERNET - 33 STRATO RETE IN INTERNET - 34

La subnet mask Maschere per supernetting


• Esempio: indirizzo host 130.192.2.7 • In una seconda fase si utilizzano le maschere per
accorpare indirizzi di classe C (RFC 1338 - 1992)
• Si usano blocchi contigui di indirizzi di classe C
• Si utilizzano sempre maschere (supernetting) per
identificare netid
130.192.2.7 10000100 11000000 00000010 00000111
255.255.255.0 11111111 11111111 11111111 00000000 • Permette di ridurre la dimensione delle routing
tables, e ridurre il numero di reti propagate dai nodi
AND • Si passa al CIDR: Classless Interdomain Routing
(RFC 1519 - 1993)
130.192.2.0 10000100 11000000 00000010 00000000

STRATO RETE IN INTERNET - 35 STRATO RETE IN INTERNET - 36

Pag. 6
Protocolli strato rete in Internet

Supernetting
• Esempio: assegno 2048 indirizzi contigui, a
partire da indirizzo 202.170.168.0
202.170.168.0 11001010 10101010 10101000 00000000 Instradamento in reti IP
202.170.175.255 11001010 10101010 10101111 11111111

• Per rappresentare tale intervallo di valori,


utilizzo AND tra indirizzo inferiore e la
maschera Gruppo Reti TLC
111111111 11111111 11111000 00000000 Nome.cognome@polito.it
http://www.tlc.polito.it/~bianco
STRATO RETE IN INTERNET - 37 STRATO RETE IN INTERNET - 38

Consegna diretta e indiretta Consegna diretta


• Sottorete: insieme di host tra cui • Per decidere se effettuare una consegna diretta,
esiste un collegamento di livello 2. l’host mittente controlla la porzione di rete
Può essere una LAN, un
dell’indirizzo IP destinatario
collegamento punto-punto, etc.
• Se due host sono connessi alla • Se tale porzione coincide con il proprio indirizzo di
stessa sottorete si ha consegna rete, si ha consegna diretta
diretta • In ogni comunicazione tra host, si ha almeno una
• Se due host non sono connessi consegna diretta
alla stessa sottorete, la consegna
è mediata da uno o più router: si • Il trasferimento avviene mappando l’indirizzo IP in
ha consegna indiretta un indirizzo MAC, e utilizzando le primitive di
consegna di livello 2

STRATO RETE IN INTERNET - 39 STRATO RETE IN INTERNET - 40

Risoluzione di indirizzi ARP


• Problema che si presenta per ogni trasmissione di
• Un pacchetto con indirizzo MAC destinazione
datagram IP (host-host, host-router, router-router,
router-host) broadcast (request) viene costruito dall’host che
vuole risolvere l’indirizzo. Esso contiene
• Da indirizzo IP ad indirizzo MAC (fisico)
– indirizzo IP del destinatario,
– Direct mapping: mediante tabella statica
– Dynamic binding: protocollo ARP: Address Resolution – indirizzo IP ed Ethernet di chi origina la richiesta
Protocol (RFC 826) • Tutti gli host nella subnet ricevono la richiesta
• ARP è utilizzato su reti broadcast (LAN) • L’host che riconosce nel campo richiesta il proprio
• Dato l’indirizzo IP dell’host con cui si vuole indirizzo IP invia un pacchetto di risposta (reply)
comunicare, permette di ricavarne l’indirizzo MAC direttamente al sender
(es: Ethernet)

STRATO RETE IN INTERNET - 41 STRATO RETE IN INTERNET - 42

Pag. 7
Protocolli strato rete in Internet

ARP ARP
• Sia chi origina il pacchetto sia chi lo riceve (e
risponde) aggiungono una informazione nella
a.b.c.d e.f.g.h i.j.h.k l.m.n.o p.q.r.s
propria tabella ARP A B C D E
• Le successive comunicazioni tra i due
elaboratori possono avvenire senza ulteriori
richieste di ARP
1
• Le entry nella tabella di ARP scadono dopo i.j.h.k ?

un tempo prefissato 2
08-00-2b-15-47-2c LAN address di C

STRATO RETE IN INTERNET - 43 STRATO RETE IN INTERNET - 44

Tabelle di ARP Tabelle di ARP


Corrispondenze tra indirizzi IP e indirizzi • L’indirizzo viene ricercato nella tabella ARP
LAN ogni volta che un elaboratore deve
comunicare con un altro sulla stessa LAN
conoscendone l’indirizzo IP
IP addr LAN addr age • Se non si trova un match viene emessa una
richiesta di ARP, altrimenti la comunicazione
130.192.2.58 08-00-2b-15-47-2e 10 può avvenire usando direttamente l’indirizzo
130.192.2.64 08-00-2b-21-56-64 12 MAC
.... .... ..

STRATO RETE IN INTERNET - 45 STRATO RETE IN INTERNET - 46

Reverse ARP Formato del pacchetto ARP


0 8 16 31
• Permette di ottenere un indirizzo IP a partire Hardware Type Protocol Type
da un indirizzo di livello 2: Reverse ARP
(RARP) HLEN PLEN Operation

• Specificato in RFC 903 Sender HW Address

• Usato dagli host durante il boot per Sender HW Address Sender IP Address
configurare automaticamente il proprio
Sender IP Address Target HW Address
indirizzo IP dato che conoscono solo il Target IP Address
proprio indirizzo MAC Protocol
Target HW Address
Time To Live
• Serve un server RARP Target IP Address

STRATO RETE IN INTERNET - 47 STRATO RETE IN INTERNET - 48

Pag. 8
Protocolli strato rete in Internet

ARP: formato pacchetto Consegna indiretta


• Operation: tipo di operazione • Se host sorgente e destinazione non sono nella
– arp request, arp reply, rarp request, rarp reply stessa subnet, devono usare consegna indiretta
• Si distinguono:
• Hardware type: tipo di MAC (Ethernet = 1)
– Protocollo di routing: definizione delle modalità con cui i
• Protocol type: protocollo che usa ARP nodi della rete si scambiano informazioni sullo stato della
(IP=0800H) rete
– Algoritmo di routing: operazioni necessarie per scegliere
• HLEN (Hardware address length) e PLEN il percorso verso la destinazione, date le informazioni
(Protocol address length) permettono di sullo stato della rete
utilizzare ARP con rete arbitraria (indirizzi di – Procedure di forwarding: operazioni necessarie per
instradare i singoli pacchetti verso la corretta porta di
dimensione variabile) uscita, dato che si conosce il percorso

STRATO RETE IN INTERNET - 49 STRATO RETE IN INTERNET - 50

Consegna indiretta Le Routing Tables


• Il mittente identifica quale router incaricare • Ogni host ed ogni router coinvolto nella consegna
della consegna del datagram IP tra quelli IP ha tabelle di instradamento: Routing Tables (RT)
raggiungibili con consegna diretta – Identificano il percorso migliore per ogni destinazione
• Ovviamente, le tabelle non possono avere
• Il router incaricato sceglie il router informazioni su ogni possibile destinazione
successivo, da lui raggiungibile direttamente,
• Principio: nascondo l’informazione
sul percorso verso la destinazione
• I router remoti instradano usando solo la porzione
• Il datagram passa da router a router fino a di rete dell’indirizzo IP (come postino guarda solo
quello che lo consegna direttamente a porzione dell’indirizzo scritto sulla busta)
destinazione (forwarding)

STRATO RETE IN INTERNET - 51 STRATO RETE IN INTERNET - 52

Il Next-hop Routing Next-hop Routing - esempio


• Una tabella di routing contiene almeno due
informazioni:
– D indirizzo destinazione R = next-hop Tabella del router A

• D è normalmente un indirizzo di rete 20 .0


.0.9
9 50.0.
0.254 B
INDIR. RETE NEXT

rete
A rete DESTINAZ. HOP
50.0.0.0 90.0.0.254
• R è detto next-hop, e corrisponde ad un host 20.0.0.0
30.0.0.99 20.0.0.0
30.0.0.0
diretto
diretto
rete
o un router raggiungibile direttamente rete
30.0.0.0 30.0.0.13
50.0.0.13
90.0.0.0
50.0.0.0
90.0.0.0
30.0.0.13
30.0.0.13
X
• Se è possibile mettere in relazione l’indirizzo
di destinazione del pacchetto in transito con
un indirizzo D delle RT, il pacchetto viene
inviato al relativo R
STRATO RETE IN INTERNET - 53 STRATO RETE IN INTERNET - 54

Pag. 9
Protocolli strato rete in Internet

Instradamenti Default e Specifici Routing Table - esempio


• Se il next-hop è unico (es: piccola sottorete [mellia@verza mellia]$ /sbin/route
Kernel IP routing table
con unico router), le tabelle di instradamento
degli host possono contenere solo una route Destination Gateway Genmask Flags Metric Ref Use Iface
per l’esterno, chiamata default route 130.192.9.150 * 255.255.255.255 UH 0 0 0 eth0
10.1.1.1 * 255.255.255.255 UH 0 0 0 eth1
• L’instradamento può essere specificato per
192.168.9.0 acegw01.polito. 255.255.255.192 UG 0 0 0 eth0
host (host specific route) e non per sottorete 130.192.9.128 * 255.255.255.128 U 0 0 0 eth0
per ragioni di: 130.192.9.0 sigkill.polito. 255.255.255.128 UG 0 0 0 eth0
– testing 10.1.1.0 * 255.255.255.0 U 0 0 0 eth1
– maggior sicurezza 127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default l3.polito.it 0.0.0.0 UG 0 0 0 eth0
– Configurazioni particolari

STRATO RETE IN INTERNET - 55 STRATO RETE IN INTERNET - 56

Gestione delle Routing Tables Inizializzazione delle RT


• Le tabelle di Routing sono fondamentali per il • Dipende dal sistema operativo:
funzionamento corretto di Internet – lettura da un file di configurazione,
• Problemi da affrontare: eventualmente scritto dall’operatore
– come inizializzare le RT? – esecuzione di “comandi di scoperta” da inviare
sulla rete
– quali informazioni devono contenere?
– scambio di informazioni con altri host sulla rete
– come aggiornarle?
locale
– consistenza tra RT e assenza di loop

STRATO RETE IN INTERNET - 57 STRATO RETE IN INTERNET - 58

Compilazione delle Routing Tables Procedure di forwarding in IP


• Gestite dall’algoritmo di routing • Estraggo dal pacchetto la parte netid dell’indirizzo
• Le RT possono cambiare a causa di: IP di destinazione (facile con classi)
– interventi sulle topologie • Se sono collegato direttamente alla destinazione,
– guasti uso consegna diretta
– sovraccarichi • Altrimenti, cerco host specific route
• L’informazione sui cambiamenti deve essere • Altrimenti, cerco next-hop memorizzato per quella
propagata tra router mediante le procedure rete
previste dall’algoritmo di routing utilizzato, • Altrimenti, cerco default route
secondo le specifiche del protocollo di • Altrimenti, dichiaro errore di routing
routing selezionato
STRATO RETE IN INTERNET - 59 STRATO RETE IN INTERNET - 60

Pag. 10
Protocolli strato rete in Internet

Conseguenze dell’introduzione Conseguenze dell’introduzione


del subnetting del supernetting (e CIDR)
• Gli host ed il router locale (solo quello!) deve • Ad un sito che richiede molti indirizzi IP sono
utilizzare AND tra indirizzo IP e maschera allocati in modo “contiguo” più subnet di
per individuare il netid correttamente classe C, condividendo i bit più significativi
• Devo memorizzare nella routing table del • Risultato: un router non deve più distinguere
router locale anche le netmask tutte le singole reti di classe C, ma occupa
• Per gli altri ruoter non sono richieste una sola “riga” nelle RT
modifiche. Posso usare forwarding standard • La consultazione delle RT avviene con il
criterio del longest match

STRATO RETE IN INTERNET - 61 STRATO RETE IN INTERNET - 62

Conseguenze dell’introduzione
del supernetting (e CIDR) CIDR: operazioni di un forwarding
• CIDR ha il vantaggio di permettere una aggregazione • Un router riceve un pacchetto con indirizzo
degli indirizzi su base topologica e geografica... destinazione x.y.z.w
• ...ma lo svantaggio di complicare la funzione di • Esegue AND bit a bit, per ogni riga delle RT tra:
forwarding perchè: – l’indirizzo di destinazione nella routing table e la netmask
– è necessario fare confronti con prefissi a lunghezza – l’indirizzo ricevuto x.y.z.w e la stessa netmask
variabile (necessario memorizzare nelle RT, oltre • Confronto i risultati degli AND: se sono uguali, ho
all’indirizzo di rete, anche la relativa netmask)
un matching
– bisogna scorrere tutta la tabella per individuare il prefisso
con il longest match, perchè più entry della tabella possono • Instrado secondo la riga delle RT che ha avuto il
corrispondere a uno stesso indirizzo destinazione maggior numero di bit di matching

STRATO RETE IN INTERNET - 63 STRATO RETE IN INTERNET - 64

Esempio CIDR Esempio CIDR

130.192.68.0 01000100 130.192.68.0 01000100


130.192.71.8 130.192.71.8
R2 130.192.71.0 R2 130.192.71.0

01000111 01000111
S R R1 S R R1
01111000

R3 130.192.120.0 R.T. R3 130.192.120.0

01111000
130.192.68.0 255.255.192.0 R1 11000000
STRATO RETE IN INTERNET - 65 STRATO RETE IN INTERNET - 66

Pag. 11
Protocolli strato rete in Internet

Esempio CIDR Esempio CIDR

130.192.68.0 01000100
130.192.68.0 01000100
130.192.71.8
R2 130.192.71.0
130.192.71.8 R2 130.192.71.0
S R R1 01000111
S R R1 01000111
R.T.
R3 130.192.120.0
R3 130.192.120.0
R.T. 01111000
130.192.68.0 255.255.192.0 R2
130.192.68.0 255.255.192.0 R1 (18) 01111000 130.192.120.0 255.255.240.0 R3 11110000
STRATO RETE IN INTERNET - 67 STRATO RETE IN INTERNET - 68

Esempio CIDR Esempio CIDR

130.192.68.0 01000100
130.192.68.0 01000100
130.192.71.8
R2 130.192.71.0
R2 130.192.71.0
S R R1 01000111
01111000 S R R1 01000111
130.192.71.8 01111000
R.T. R3 130.192.120.0 R.T.
R3 130.192.120.0
130.192.68.0 255.255.192.0 R2 (18) 130.192.68.0 255.255.255.0 D
130.192.120.0 255.255.240.0 R3 130.192.71.0 255.255.255.0 D
STRATO RETE IN INTERNET - 69 STRATO RETE IN INTERNET - 70

Esempio CIDR Come si ottengono indirizzi IP?


• Come ottiene indirizzi IP un ISP?
130.192.68.0 01000100 • ICANN: Internet Corporation for Assigned
Names and Numbers
R2 130.192.71.0 – alloca indirizzi
– gestisce DNS
S R R1
130.192.71.8 – assegna nomi di dominio, risolve liti
• http://www.icann.org/
R.T.
R3 130.192.120.0
130.192.68.0 255.255.255.0 D
130.192.71.0 255.255.255.0 D (24)
STRATO RETE IN INTERNET - 71 STRATO RETE IN INTERNET - 72

Pag. 12
Protocolli strato rete in Internet

Come si ottengono indirizzi IP? Come si ottengono indirizzi IP?


• Indirizzi di rete (net_id): • Indirizzi di host in sottorete (host_id):
– si chiede una porzione di indirizzi IP ad un ISP • Assegnazione libera, configurati da amministratore di
rete
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 – Statica
• Wintel: control-panel->network->configuration->tcp/ip->properties
Organizzazione 0 11001000 00010111 00010000 00000000 200.23.16.0/23 • UNIX: /etc/rc.config

Organizzazione 1 11001000 00010111 00010010 00000000 200.23.18.0/23 – Dinamica


• DHCP: Dynamic Host Configuration Protocol (RFC 2131)
Organizzazione 2 11001000 00010111 00010100 00000000 200.23.20.0/23 Ottengo dinamicamente indirizzi:
... ….. …. …. – host inviano in broadcast “DHCP discover” msg
– DHCP server risponde con “DHCP offer” msg
Organizzazione 7 11001000 00010111 00011110 00000000 200.23.30.0/23 – host richiede indirizzo IP: “DHCP request” msg
– DHCP server invia indirizzo: “DHCP ack” msg

STRATO RETE IN INTERNET - 73 STRATO RETE IN INTERNET - 74

Da sorgente a destinazione: esempio Da sorgente a destinazione: esempio


tabella di routing in A
• Datagram IP: Dest. Net. next router Nhops misc Dest. Net. next router Nhops
data
fields 223.1.1.1 223.1.1.3
223.1.1 1 223.1.1 1
223.1.2 223.1.1.4 2 223.1.2 223.1.1.4 2
misc source dest 223.1.3 223.1.1.4 2 • In A, noto indirizzo IP di 223.1.3 223.1.1.4 2
data
fields IP addr IP addr B:
A 223.1.1.1 A 223.1.1.1
– guardo net_id di B
• Interessano solo campi 223.1.2.1
– trovo che B appartiene 223.1.2.1
223.1.1.2 223.1.1.2
indirizzo 223.1.1.4 223.1.2.9 alla stessa sotto rete di A 223.1.1.4 223.1.2.9
• Gli indirizzi NON si B B
223.1.2.3 – invio datagram 223.1.2.3
modificano da sorgente a 223.1.1.3 223.1.3.27 E 223.1.1.3 223.1.3.27 E
direttamente a B usando
destinazione 223.1.3.1 223.1.3.2 indirizzo MAC 223.1.3.1 223.1.3.2

– B e A sono collegati
direttamente
STRATO RETE IN INTERNET - 75 STRATO RETE IN INTERNET - 76

Da sorgente a destinazione: esempio Da sorgente a destinazione: esempio


misc misc
223.1.1.1 223.1.2.3 data fields 223.1.1.1 223.1.2.3
data Dest. next
fields Dest. Net. next router Nhops network router Nhops interface
• In A, noto IP di E: 223.1.1 1 • Arrivo a 223.1.1.4, 223.1.1 - 1 223.1.1.4
223.1.2 223.1.1.4 2 223.1.2 - 1 223.1.2.9
– confronto net_id
223.1.3 223.1.1.4 2
destinato a 223.1.2.3
223.1.3 - 1 223.1.3.27
– E su rete diversa • confronto net_id di E e
• A, E non sono collegati A A
223.1.1.1 verifico che sono sulla 223.1.1.1
direttamente
223.1.1.2
223.1.2.1 stessa rete con interfaccia 223.1.1.2
223.1.2.1
• tabella di routing: next 223.1.1.4 223.1.2.9 223.1.2.9 223.1.1.4 223.1.2.9
hop 223.1.1.4 B B
223.1.2.3 – router ed E attaccati 223.1.2.3
223.1.1.3 223.1.3.27 E 223.1.1.3 223.1.3.27 E
• invio datagram al direttamente
router 223.1.1.4 223.1.3.1 223.1.3.2
• invio datagram a 223.1.2.3 223.1.3.1 223.1.3.2

usando indirizzo MAC con indirizzo MAC di E


del router
STRATO RETE IN INTERNET - 77 STRATO RETE IN INTERNET - 78

Pag. 13
Protocolli strato rete in Internet

Proxy ARP Proxy ARP


• Ogni host in una subnet deve essere configurato • Meccanismo alternativo: proxy ARP (RFC 1027)
per conoscere almeno – Si configura ogni host come se tutti gli indirizzi IP fossero
– Il suo indirizzo IP raggiungibili per consegna diretta (indicando una subnet
– La netmask della subnet di appartenenza 0.0.0.0, oppure indicando il proprio indirizzo IP come
default gateway)
– L’indirizzo del router di default, per fare consegna
indiretta – Ogni volta che un pacchetto deve essere instradato
verso un indirizzo destinazione, l’host effettua una
• Per reti grandi, è possibile avere richiesta di ARP
– Router diversi che permettono la comunicazione tra – Se l’IP è effettivamente raggiungibile in consegna diretta,
subnet diverse l’host destinazione risponde alla ARP-request
– Host specific route per host particolari – Altrimenti il Router che sa come instradare il pacchetto
• Ogni volta che cambia la configurazione di rete, verso la destinazione, risponde alla richiesta indicando il
occorre riconfigurare tutti gli host suo indirizzo MAC per la consegna diretta

STRATO RETE IN INTERNET - 79 STRATO RETE IN INTERNET - 80

Proxy ARP Network Address Translation


• Permette di variare l’instradamento dei • Network Address Translation (NAT) è un
pacchetti all’interno di una stessa LAN senza meccanismo per cui indirizzi IP sono
riconfigurare tutti gli host mappati da un indirizzo ad un altro, fornendo
• Solo i router hanno conoscenza delle subnet instradamento trasparente agli end host
direttamente raggiungibili
• Permette di riutilizzare lo stesso indirizzo in
• Svantaggi: più punti della rete
– Inonda la rete di richieste ARP (broadcast non
filtrato dai bridge) • Ci sono diverse versioni di NAT
– Sovraccarica le CPU dei router che devono – (RFC 1631,2663,2993,3022,3235)
rispondere a tutte le richieste ARP

STRATO RETE IN INTERNET - 81 STRATO RETE IN INTERNET - 82

NAT NAT
10.0.0.1
130.192.9.131
• Una organizzazione • Quando un pacchetto deve
utilizza indirizzi privati Rete privata essere consegnato ad un Rete privata
10.0.0.0 10.0.0.0
host non appartenente alla
al suo interno
rete interna
• Un router collega la – Viene instradato verso il
rete privata alla rete router di bordo
– Il router di bordo sostituisce
internet pubblica 10.0.0.255
Router l’indirizzo sorgente originale
10.0.0.255
Router 201.2.2.1
– Deve avere almeno due di bordo
con il suo indirizzo IP esterno di bordo 130.192.9.131
201.2.2.1 201.2.2.1
indirizzi: uno interno – Il pacchetto viene instradato
(privato) e uno esterno come al solito
Rete pubblica Rete pubblica
(pubblico)

STRATO RETE IN INTERNET - 83 STRATO RETE IN INTERNET - 84

Pag. 14
Protocolli strato rete in Internet

NAT NAT
• Quanto un pacchetto • Problema: cosa succede se più di un host
dall’esterno giunge al Rete privata
interno comunica con lo stesso host esterno?
10.0.0.0
router di bordo, questo
ricorda a quale host interno – Si usano più porzioni di intestazioni per cercare
deve essere in realtà di avere un mapping uno a uno stringente
consegnato • Vantaggi:
– Sostituisce l’indirizzo 10.0.0.255 130.192.9.131
destinazione (suo) con quello Router 10.0.0.1 – Riduce il numero di indirizzi IP necessari (riuso
dell’host destinazione
di bordo
201.2.2.1
di indirizzi privati)
– Instrada il pacchetto nella – Sicurezza: un host interno NON può essere
rete interna come al solito Rete pubblica contattato dall’esterno se esso non ha per primo
130.192.9.131 contattato la destinazione
201.2.2.1

STRATO RETE IN INTERNET - 85 STRATO RETE IN INTERNET - 86

Pag. 15

Potrebbero piacerti anche