+ All Categories
Home > Documents > Protocolli strato rete in Internet

Protocolli strato rete in Internet

Date post: 03-Feb-2022
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
15
Pag. 1 Protocolli strato rete in Internet STRATO RETE IN INTERNET - 1 Strato rete in Internet Gruppo Reti TLC [email protected] http://www.tlc-networks.polito.it/ STRATO RETE IN INTERNET - 2 OSI Application Presentation Session Transport Network Data Link Physical Non Specificati IP TCP e/o UDP RPC XDR NFS Internet Protocol Suite ARP | RARP ICMP Protocolli di routing Telnet FTP SMTP SNMP Internet protocol suite STRATO RETE IN INTERNET - 3 IP: Internet Protocol Livello rete dell’architettura TCP/IP Offre un servizio – non connesso – inaffidabile – best-effort – senza garanzie di qualità di servizio Specificato in RFC 791 STRATO RETE IN INTERNET - 4 Il protocollo IP È un protocollo di strato rete (strato 3) Si occupa quindi dell’indirizzamento e instradamento dei pacchetti (detti datagram) La consegna dei pacchetti IP è: – connectionless ogni pacchetto trattato in modo indipendente – inaffidabile (unreliable) perdita, duplicazioni, ritardi – non distingue tra diversi tipi di traffico (no priorità, tratta tutti in modo best-effort) STRATO RETE IN INTERNET - 5 Protocollo IP Consegna inaffidabile – In caso di guasti (es. un router fuori servizio, collegamento non disponibile) scarta il datagram cerca di inviare un messaggio di errore al mittente Consegna connectionless – Non conserva informazioni di stato sui datagram in corso di trasmissione – Ogni datagram instradato in modo indipendente – Due pacchetti con stessa sorgente e destinazione possono seguire percorsi diversi STRATO RETE IN INTERNET - 6 0 4 8 16 19 24 31 Version HLEN Service Type Total Length Identification Flags Fragment Offset Time To Live Protocol Header Checksum Source IP Address Destination IP Address Options PAD Intestazione pacchetto IP
Transcript

Pag. 1

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 1

Strato rete in Internet

Gruppo Reti [email protected]

http://www.tlc-networks.polito.it/STRATO RETE IN INTERNET - 2

OSI

Application

Presentation

Session

Transport

Network

Data Link

PhysicalNon Specificati

IP

TCP e/o UDP

RPC

XDR

NFS

Internet Protocol Suite

ARP | RARP

ICMP Protocollidi routing

TelnetFTP

SMTPSNMP

Internet protocol suite

STRATO RETE IN INTERNET - 3

IP: Internet Protocol

• Livello rete dell’architettura TCP/IP• Offre un servizio

– non connesso– inaffidabile– best-effort

– senza garanzie di qualità di servizio

• Specificato in RFC 791

STRATO RETE IN INTERNET - 4

Il protocollo IP

• È un protocollo di strato rete (strato 3)• Si occupa quindi dell’indirizzamento e

instradamento dei pacchetti (detti datagram)• La consegna dei pacchetti IP è:

– connectionless• ogni pacchetto trattato in modo indipendente

– inaffidabile (unreliable)• perdita, duplicazioni, ritardi

– non distingue tra diversi tipi di traffico (no priorità, tratta tutti in modo best-effort)

STRATO RETE IN INTERNET - 5

Protocollo IP

• Consegna inaffidabile– In caso di guasti (es. un router fuori servizio,

collegamento non disponibile)• scarta il datagram • cerca di inviare un messaggio di errore al mittente

• Consegna connectionless– Non conserva informazioni di stato sui datagram

in corso di trasmissione

– Ogni datagram instradato in modo indipendente – Due pacchetti con stessa sorgente e

destinazione possono seguire percorsi diversiSTRATO RETE IN INTERNET - 6

00 4 8 16 19 24 31

Version HLEN Service Type Total Length

Identification Flags Fragment Offset

Time To Live Protocol Header Checksum

Source IP Address

Destination IP Address

Options PAD

Intestazione pacchetto IP

Pag. 2

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 7

Intestazione pacchetto IP: i campi

• VER: versione del protocollo IP• HLEN: lunghezza dell’header in parole da 32 bit

(se opzioni assenti, vale 5)

• Type of service (TOS): tipo di servizio richiede il datagram (minimize delay, maximize throughput, maximize reliability, minimize cost ). Generalmente ignorato dai router. RFC 1349

• Total Length: lunghezza del datagram in byte (incluso header). Dimensione massima 65535 byte

STRATO RETE IN INTERNET - 8

Frammentazione• Ogni rete ha massima dimensione ammessa

– MTU (Maximum Transfer Unit): Ethernet 1500 B

• Quando devo attraversare rete con MTU più piccola del datagram si deve frammentare

• Frammenti – diventano datagram indipendenti, con intestazione quasi

uguale a quella del datagram originario – ricostruiti solo alla destinazione, mai nei router intermedi

• Frammentazione trasparente a sorgente e destinazione

• Specificata in RFC 791, RFC 815

STRATO RETE IN INTERNET - 9

Frammentazione

• La frammentazione è dannosa– aumento overhead di intestazione, duplicato su

ogni frammento– perdita di un frammento comporta la perdita al

ricvevitore di tutto il datagram; aumenta la probabilità di errore

– ricevitore deve attivare timer di attesa arrivo frammenti e riassemblare

• I router IP però non si devono occupare di riassemblare frammenti

STRATO RETE IN INTERNET - 10

Intestazione pacchetto IP: i campi

• Identification, Flags, Fragment offset: controllano operazioni di frammentazione – Identification: permette di riconoscere a quale

datagram il frammento appartiene (frammenti dello stesso datagram hanno stesso valore deciso dallo host che genera il datagram)

– Fragment offset: specifica offset dati contenuti nel frammento, in multipli di 8 byte

– Flags (2 bit): don’t fragment e more fragments(identifico ultimo frammento)

STRATO RETE IN INTERNET - 11

Intestazione pacchetto IP: i campi

• TTL (time to live): – Tempo di vita (in hop) di un datagram– La sorgente setta un valore iniziale (a

piacere)– Ogni router decrementa di 1 il valore di

TTL– Se TTL=0, il router scarta datagram ed

invio messaggio di errore (disabilitabile)

• Protocol: formato dei dati specificando un protocollo di livello superiore. Un elenco dei protocolli è presente in RFC 1700

NameProtocol

OSFP89

UDP17

TCP6

IP in IP4

ICMP1

STRATO RETE IN INTERNET - 12

Intestazione pacchetto IP: i campi

• Header Checksum (16 bit): controllo di errore sulla sola intestazione, non sui dati utente. Specificato in RFC 1071,1141,1624,1936. Somma in complemento a 1 allineando header a 16 bit.è possibile calcolare un checksumincrementale (utile perchè ogni router cambia l’intestazione).

Pag. 3

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 13

Intestazione pacchetto IP

• Source e Destination Address (32 bit): indirizzo sorgente e destinazione degli host

• Formato opzioni: option code (option number, option class, flag di copia nei frammenti) + lunghezza opzione + dati

• Opzioni– record route: registro percorso del datagram– source route (loose and strict): sorgente specifica

percorso del datagram– timestamp: permette di registrare tempo di elaborazione

del datagram 32-bit timestamp (millisecondi damezzanotte Universal Time)

– path MTU Discovery (RFC 1191)STRATO RETE IN INTERNET - 14

Il protocollo ICMP

• ICMP (Internet Control Message Protocol ) è solitamente considerato parte del livello IP

• Comunica messaggi di errore o di controllo. Può trasportare richieste di informazioni e risposte alle richieste.

• I messaggi ICMP sono trasmessi all’interno di datagram IP

• Specificato in RFC 792

STRATO RETE IN INTERNET - 15

Formato del messaggio ICMP

0 7 15 31

type code checksum

data

STRATO RETE IN INTERNET - 16

Esempi di messaggi ICMPmessaggio type code

echo reply 0 0 queryecho request 8 0 querynetwork unreachable 3 0 errorehost unreachable 3 1 erroreport unreachable 3 3 erroredestn net unknown 3 6 erroredestn host unknown 3 7 erroreredirect 5 1 controllotime exceeded (TTL) 11 0 erroretime exceeded (fragment reass) 11 1 errore

STRATO RETE IN INTERNET - 17

Applicazione: il comando ping

• Il nome è ispirato al rumore del sonar• Esegue un test di raggiungibilità

dell’interfaccia di rete di un host remoto• Invia un messaggio ICMP echo request ad

un host, aspettandosi un echo reply• Di default, l’ ICMP viene inviato ogni

secondo allo stesso host; è possibile tuttavia modificare la frequenza di invio

STRATO RETE IN INTERNET - 18

Il comando ping

• Se un host non risponde al ping, non è raggiungibile (o ICMP echo-reply è disabilitato).

• Può essere usato per rilevare guasti in rete.

• è disponibile su macchine Unix e su PC• Informazioni visualizzate da ping:

– numero di sequenza– TTL– round-trip-time (tempo impiegato a percorrere la tratta

sorgente-destinatario-sorgente)

Pag. 4

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 19

Il comando pingC:\WINDOWS>ping www.cs.cmu.edu

Esecuzione di Ping SUPERMAN.WEB.cs.cmu.edu [128.2.203.179] con 32 byte di dati:

Risposta da 128.2.203.179: byte=32 durata=138ms TTL=243Risposta da 128.2.203.179: byte=32 durata=110ms TTL=243Risposta da 128.2.203.179: byte=32 durata=110ms TTL=243Risposta da 128.2.203.179: byte=32 durata=110ms TTL=243

Statistiche Ping per 128.2.203.179:Pacchetti: Trasmessi = 4, Ricevuti = 4, Persi = 0 (0% persi),

Tempo approssimativo percorsi andata/ritorno in millisecondi:Minimo = 110ms, Massimo = 138ms, Medio = 117ms

STRATO RETE IN INTERNET - 20

Il comando traceroute

• traceroute permette di seguire il percorso dei datagram IP hop-per-hop fino a destinazione

• Funzionamento:– Host invia segmenti UDP vuoti, con TTL crescenti e

destinati alla porta 33434 dell’host remoto– I router intermedi ritornano ICMP “time exceeded”– La destinazione ritorna ICMP “port unreachable”– Se non torna messaggio ICMP in risposta entro un

timeout di 3 sec., si segnala errore

STRATO RETE IN INTERNET - 21

Il comando tracerouteRilevazione instradamento verso beatles.tilab.com [163.162.29.125]su un massimo di 30 punti di passaggio:

C:\WINDOWS>tracert beatles.tilab.com1 <10 ms <10 ms <10 ms l3.polito.it [130.192.2.8]2 <10 ms <10 ms <10 ms c3660-ext.polito.it [130.192.53.65]3 <10 ms <10 ms <10 ms rc-polito.to.garr.net [193.206.132.145]4 <10 ms <10 ms 13 ms mi-to.garr.net [193.206.134.61]5 14 ms 14 ms 13 ms rm-mi.garr.net [193.206.134.18]6 13 ms 14 ms 28 ms namex-roma-1.garr.net [193.206.134.226]7 14 ms 41 ms 14 ms intb-nap.inroma.roma.it [194.242.224.10]8 83 ms 96 ms 96 ms 151.99.101.419 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 - 22

Il comando traceroute….11 138 ms 123 ms 110 ms 151.99.75.22012 110 ms 138 ms 151 ms 151.99.101.10613 165 ms 151 ms 151 ms r-to83-fa11.interbusiness.it [62.86.98.19]14 192 ms 165 ms 151 ms host130-pool8016128.interbusiness.it

[80.16.128.130]15 138 ms 137 ms 110 ms 163.162.60.9916 * * * Richiesta scaduta.17 110 ms 123 ms 124 ms 163.162.60.9918 * * * Richiesta scaduta.19 * * * Richiesta scaduta.20 * * * Richiesta scaduta.21 82 ms 96 ms 96 ms beatles.cselt.it [163.162.29.125]

STRATO RETE IN INTERNET - 23

Indirizzi IP

Gruppo Reti [email protected]

http://www.tlc.polito.it/STRATO RETE IN INTERNET - 24

Indirizzamento IP: obiettivi e risultati

• Obiettivo originale: rendere efficienti le operazioni di routing (router lenti - anni ‘80) con indirizzi facilmente “classificabili”– spreco dello spazio di indirizzamento

(esaurimento degli indirizzi - anni ‘90)

• Nuovo obiettivo: razionalizzarel’assegnazione degli indirizzi e la loroaggregazione nelle routing tables– riduzione delle dimensioni delle routing tables e

riutilizzo di indirizzi già assegnati

Pag. 5

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 25

Indirizzi IP: Principi

• Ogni host (interfaccia) è individuato da un indirizzo a 32 bit, assegnatogli univocamente

• Un indirizzo è caratterizzato da informazionisulla rete (netid) e sull’host (hostid)

• L’instradamento si basa sul netid– indirizzo non individua la macchina ma la rete

se sposto host di rete devo cambiare indirizzo

• Ogni router ha almeno due indirizzi IP • Gli host solitamente uno solo

STRATO RETE IN INTERNET - 26

Multi-Homed Hosts

• Poiché l’indirizzo ha informazioni su rete e host, se ho più di unainterfaccia di rete, devoavere due indirizzi

• Più che un host, un indirizzo individua unaconnessione ad unarete!

H

Interfaccia #1

Interfaccia #2

STRATO RETE IN INTERNET - 27

1 2 3 4 8 16 24 32

Classe A

Classe B

netid=7 bit

netid=14 bit

hostid=24 bit

hostid=16 bit

Indirizza oltre 1 milioni di reti, ciascuna delle quali può contenere però ‘solo’ 256 hosts

Classe C netid= 21 bit hostid=8 bit

Indirizza 127 reti, ciascuna delle quali può contenere oltre 16 milioni di hosts

Indirizza 16384 reti, ciascuna delle quali può contenere 65536 hosts

Classi di indirizzi (RFC 1466)

Indirizzi multicast

Classe D

0

1 0

11 0

1 11 0

Indirizzi riservati per la sperimentazione

28 bit riservatiClasse E 1 11 1

STRATO RETE IN INTERNET - 28

Classe A Classe B Classe C Classe D Classe E

0...127 128...191 192...223 224...239 240...255

Rappresentazione decimale

• L’indirizzo Internet viene comunementerappresentato nella forma:

xxx.xxx.xxx.xxxcon xxx numero decimale tra 0 e 255

• Il primo numero permette di riconoscere la classe dell’indirizzo:

STRATO RETE IN INTERNET - 29

indirizzo di rete (netid)

Classi di indirizzi IP

• A: 105.20.38.165

• B: 130.192.2.158

• C: 193.24.54.110

STRATO RETE IN INTERNET - 30

Indirizzi di rete e Broadcast

• Indirizzo con hostid di tutti 0, individua la rete• Indirizzo con hostid di tutti 1, rappresenta

l’indirizzo broadcast della rete stessa(trasmetto in broadcast su quella rete)

• netid di tutti 1 indica questa rete. Trasmettosenza conoscere IP della rete (boot)

• Se il netid è tutti 0, indirizzo all’host sulla retecui sei collegato

• Indirizzi riservati (127.0.0.0 loopback, 192.168.2.0 reti private)

Pag. 6

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 31

Problemi delle classi

• 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

dimensione della classe richiede la modificadegli indirizzi di tutti gli host

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

STRATO RETE IN INTERNET - 32

Allocazione reti nel 1997

Puntini mostranoreti raggiungibili

http://www.caida.org/outreach/resources/learn/ipv4space/

STRATO RETE IN INTERNET - 33

L’introduzione delle maschere

• È necessario superare la divisione rigida in netid e hostid

• Scompare il concetto di classe • Uso maschera per definire quanti bit dei 32

di indirizzo individuano la rete, ovvero per indicare l’estensione del campo netid

• Inizialmente si utilizzano le maschere per suddividere indirizzi di classe B

• Definito in RFC 950

STRATO RETE IN INTERNET - 34

La subnet mask

• La subnet mask (o netmask) è un valore di32 bit contenente:– bit messi a 1 per identificare la parte di rete – bit messi a 0 per identificare la parte di host

• Per esigenze di instradamento, un host deveconoscere la parte di rete del proprioindirizzo IP (netid+subnetid): utilizza la subnet mask

• La subnet mask viene introdotta in fase di configurazione di un host

STRATO RETE IN INTERNET - 35

130.192.2.7 10000100 11000000 00000010 00000111255.255.255.0 11111111 11111111 11111111 00000000

AND

130.192.2.0 10000100 11000000 00000010 00000000

La subnet mask

• Esempio: indirizzo host 130.192.2.7

STRATO RETE IN INTERNET - 36

Maschere per supernetting

• 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

• Permette di ridurre la dimensione delle routing tables, e ridurre il numero di reti propagate dai nodi

• Si passa al CIDR: Classless Interdomain Routing (RFC 1519 - 1993)

Pag. 7

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 37

202.170.168.0 11001010 10101010 10101000 00000000202.170.175.255 11001010 10101010 10101111 11111111

111111111 11111111 11111000 00000000

Supernetting

• Esempio: assegno 2048 indirizzi contigui, a partire da indirizzo 202.170.168.0

• Per rappresentare tale intervallo di valori, utilizzo AND tra indirizzo inferiore e la maschera

STRATO RETE IN INTERNET - 38

Instradamento in reti IP

Gruppo Reti [email protected]

http://www.tlc.polito.it/~bianco

STRATO RETE IN INTERNET - 39

Consegna diretta e indiretta

• Sottorete: insieme di host tra cui esiste un collegamento di livello 2. Può essere una LAN, un collegamento punto-punto, etc.

• Se due host sono connessi alla stessa sottorete si ha consegna diretta

• Se due host non sono connessi alla stessa sottorete, la consegna è mediata da uno o più router: si ha consegna indiretta

STRATO RETE IN INTERNET - 40

Consegna diretta

• Per decidere se effettuare una consegna diretta, l’host mittente controlla la porzione di retedell’indirizzo IP destinatario

• Se tale porzione coincide con il proprio indirizzo di rete, si ha consegna diretta

• In ogni comunicazione tra host, si ha almeno unaconsegna diretta

• Il trasferimento avviene mappando l’indirizzo IP in un indirizzo MAC, e utilizzando le primitive di consegna di livello 2

STRATO RETE IN INTERNET - 41

Risoluzione di indirizzi • Problema che si presenta per ogni trasmissione di

datagram IP (host-host, host-router, router-router, router-host)

• Da indirizzo IP ad indirizzo MAC (fisico)– Direct mapping: mediante tabella statica– Dynamic binding: protocollo ARP: Address Resolution

Protocol (RFC 826)

• ARP è utilizzato su reti broadcast (LAN)• Dato l’indirizzo IP dell’host con cui si vuole

comunicare, permette di ricavarne l’indirizzo MAC (es: Ethernet)

STRATO RETE IN INTERNET - 42

ARP

• Un pacchetto con indirizzo MAC destinazione broadcast (request) viene costruito dall’host che vuole risolvere l’indirizzo. Esso contiene– indirizzo IP del destinatario, – indirizzo IP ed Ethernet di chi origina la richiesta

• Tutti gli host nella subnet ricevono la richiesta• L’host che riconosce nel campo richiesta il proprio

indirizzo IP invia un pacchetto di risposta (reply) direttamente al sender

Pag. 8

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 43

ARP

• Sia chi origina il pacchetto sia chi lo riceve (e risponde) aggiungono una informazione nella propria tabella ARP

• Le successive comunicazioni tra i due elaboratori possono avvenire senza ulteriori richieste di ARP

• Le entry nella tabella di ARP scadono dopo un tempo prefissato

STRATO RETE IN INTERNET - 44

i.j.h.k ?

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

1

2

ARP

a.b.c.d e.f.g.h i.j.h.k l.m.n.o p.q.r.s

A B C D E

STRATO RETE IN INTERNET - 45

Tabelle di ARP

Corrispondenze tra indirizzi IP e indirizzi LAN

IP addr LAN addr age

130.192.2.58 08-00-2b-15-47-2e 10130.192.2.64 08-00-2b-21-56-64 12

. . . . . . . . . .

STRATO RETE IN INTERNET - 46

Tabelle di ARP

• L’indirizzo viene ricercato nella tabella ARP ogni volta che un elaboratore deve comunicare con un altro sulla stessa LAN conoscendone l’indirizzo IP

• Se non si trova un match viene emessa una richiesta di ARP, altrimenti la comunicazione può avvenire usando direttamente l’indirizzo MAC

STRATO RETE IN INTERNET - 47

Reverse ARP

• Permette di ottenere un indirizzo IP a partire da un indirizzo di livello 2: Reverse ARP (RARP)

• Specificato in RFC 903• Usato dagli host durante il boot per

configurare automaticamente il proprio indirizzo IP dato che conoscono solo il proprio indirizzo MAC

• Serve un server RARP

STRATO RETE IN INTERNET - 48

Formato del pacchetto ARP0 8 16 31

HLEN PLEN Operation

Time To LiveProtocol

Target IP Address

Sender HW Address

Target IP Address

Target HW Address

Sender HW Address Sender IP Address

Sender IP Address Target HW Address

Hardware Type Protocol Type

Pag. 9

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 49

ARP: formato pacchetto

• Operation: tipo di operazione – arp request, arp reply, rarp request, rarp reply

• Hardware type: tipo di MAC (Ethernet = 1)• Protocol type: protocollo che usa ARP

(IP=0800H)• HLEN (Hardware address length) e PLEN

(Protocol address length) permettono di utilizzare ARP con rete arbitraria (indirizzi di dimensione variabile)

STRATO RETE IN INTERNET - 50

Consegna indiretta

• Se host sorgente e destinazione non sono nellastessa subnet, devono usare consegna indiretta

• Si distinguono:– Protocollo di routing: definizione delle modalità con cui i

nodi della rete si scambiano informazioni sullo stato dellarete

– Algoritmo di routing: operazioni necessarie per scegliereil percorso verso la destinazione, date le informazionisullo stato della rete

– Procedure di forwarding: operazioni necessarie per instradare i singoli pacchetti verso la corretta porta di uscita, dato che si conosce il percorso

STRATO RETE IN INTERNET - 51

Consegna indiretta

• Il mittente identifica quale router incaricaredella consegna del datagram IP tra quelliraggiungibili con consegna diretta

• Il router incaricato sceglie il router successivo, da lui raggiungibile direttamente, sul percorso verso la destinazione

• Il datagram passa da router a router fino a quello che lo consegna direttamente a destinazione (forwarding)

STRATO RETE IN INTERNET - 52

Le Routing Tables

• Ogni host ed ogni router coinvolto nella consegnaIP ha tabelle di instradamento: Routing Tables (RT)– Identificano il percorso migliore per ogni destinazione

• Ovviamente, le tabelle non possono avereinformazioni su ogni possibile destinazione

• Principio: nascondo l’informazione • I router remoti instradano usando solo la porzione

di rete dell’indirizzo IP (come postino guarda solo porzione dell’indirizzo scritto sulla busta)

STRATO RETE IN INTERNET - 53

Il Next-hop Routing

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

• D è normalmente un indirizzo di rete• R è detto next-hop, e corrisponde ad un host

o un router raggiungibile direttamente • Se è possibile mettere in relazione l’indirizzo

di destinazione del pacchetto in transito con un indirizzo D delle RT, il pacchetto vieneinviato al relativo R

STRATO RETE IN INTERNET - 54

rete20.0.0.0

rete30.0.0.0

rete50.0.0.0

rete90.0.0.0

A

X

B20.0.0.99

30.0.0.99

50.0.0.1330.0.0.13

50.0.0.254

90.0.0.25420.0.0.030.0.0.050.0.0.090.0.0.0

direttodiretto30.0.0.1330.0.0.13

INDIR. RETE NEXTDESTINAZ. HOP

Tabella del router A

Next-hop Routing - esempio

Pag. 10

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 55

Instradamenti Default e Specifici

• Se il next-hop è unico (es: piccola sottoretecon unico router), le tabelle di instradamento degli host possono contenere solo una route per l’esterno, chiamata default route

• L’instradamento può essere specificato per host (host specific route) e non per sottoreteper ragioni di:– testing– maggior sicurezza– Configurazioni particolari

STRATO RETE IN INTERNET - 56

Routing Table - esempio[mellia@verza mellia]$ /sbin/routeKernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface130.192.9.150 * 255.255.255.255 UH 0 0 0 eth010.1.1.1 * 255.255.255.255 UH 0 0 0 eth1192.168.9.0 acegw01.polito. 255.255.255.192 UG 0 0 0 eth0130.192.9.128 * 255.255.255.128 U 0 0 0 eth0130.192.9.0 sigkill.polito. 255.255.255.128 UG 0 0 0 eth010.1.1.0 * 255.255.255.0 U 0 0 0 eth1127.0.0.0 * 255.0.0.0 U 0 0 0 lodefault l3.polito.it 0.0.0.0 UG 0 0 0 eth0

STRATO RETE IN INTERNET - 57

Gestione delle Routing Tables

• Le tabelle di Routing sono fondamentali per ilfunzionamento corretto di Internet

• Problemi da affrontare:– come inizializzare le RT?– quali informazioni devono contenere?– come aggiornarle?

– consistenza tra RT e assenza di loop

STRATO RETE IN INTERNET - 58

Inizializzazione delle RT

• Dipende dal sistema operativo:– lettura da un file di configurazione,

eventualmente scritto dall’operatore– esecuzione di “comandi di scoperta” da inviare

sulla rete– scambio di informazioni con altri host sulla rete

locale

STRATO RETE IN INTERNET - 59

Compilazione delle Routing Tables

• Gestite dall’algoritmo di routing• Le RT possono cambiare a causa di:

– interventi sulle topologie – guasti– sovraccarichi

• L’informazione sui cambiamenti deve esserepropagata tra router mediante le procedure previste dall’algoritmo di routing utilizzato, secondo le specifiche del protocollo dirouting selezionato

STRATO RETE IN INTERNET - 60

Procedure di forwarding in IP

• Estraggo dal pacchetto la parte netid dell’indirizzoIP di destinazione (facile con classi)

• Se sono collegato direttamente alla destinazione, uso consegna diretta

• Altrimenti, cerco host specific route• Altrimenti, cerco next-hop memorizzato per quella

rete• Altrimenti, cerco default route• Altrimenti, dichiaro errore di routing

Pag. 11

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 61

Conseguenze dell’introduzione del subnetting

• Gli host ed il router locale (solo quello!) deveutilizzare AND tra indirizzo IP e mascheraper individuare il netid correttamente

• Devo memorizzare nella routing table del router locale anche le netmask

• Per gli altri ruoter non sono richiestemodifiche. Posso usare forwarding standard

STRATO RETE IN INTERNET - 62

Conseguenze dell’introduzione del supernetting (e CIDR)

• Ad un sito che richiede molti indirizzi IP sonoallocati in modo “contiguo” più subnet di classe C, condividendo i bit più significativi

• Risultato: un router non deve più distingueretutte le singole reti di classe C, ma occupauna sola “riga” nelle RT

• La consultazione delle RT avviene con ilcriterio del longest match

STRATO RETE IN INTERNET - 63

Conseguenze dell’introduzione del supernetting (e CIDR)

• CIDR ha il vantaggio di permettere una aggregazionedegli indirizzi su base topologica e geografica...

• ...ma lo svantaggio di complicare la funzione diforwarding perchè:– è necessario fare confronti con prefissi a lunghezza

variabile (necessario memorizzare nelle RT, oltreall’indirizzo di rete, anche la relativa netmask)

– bisogna scorrere tutta la tabella per individuare il prefissocon il longest match, perchè più entry della tabella possonocorrispondere a uno stesso indirizzo destinazione

STRATO RETE IN INTERNET - 64

CIDR: operazioni di un forwarding• Un router riceve un pacchetto con indirizzo

destinazione x.y.z.w• Esegue AND bit a bit, per ogni riga delle RT tra:

– l’indirizzo di destinazione nella routing table e la netmask– l’indirizzo ricevuto x.y.z.w e la stessa netmask

• Confronto i risultati degli AND: se sono uguali, ho un matching

• Instrado secondo la riga delle RT che ha avuto ilmaggior numero di bit di matching

STRATO RETE IN INTERNET - 65

130.192.68.0

130.192.71.0

130.192.120.0

S R R1

R2

R3

01000111

01111000

130.192.71.801000100

Esempio CIDR

STRATO RETE IN INTERNET - 66

130.192.68.0

130.192.71.0

130.192.120.0

S R R1

R2

R3

01000111

01111000130.192.68.0 255.255.192.0 R1

R.T.

130.192.71.801000100

Esempio CIDR

11000000

Pag. 12

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 67

130.192.68.0

130.192.71.0

130.192.120.0

S R R1

R2

R3

01000111

01111000

R.T.

130.192.71.8

01000100

Esempio CIDR

130.192.68.0 255.255.192.0 R1 (18)

STRATO RETE IN INTERNET - 68

130.192.120.0

S R R1

R3

01000111

01111000

R.T.

130.192.71.8

130.192.68.0

130.192.71.0R2

01000100

Esempio CIDR

130.192.120.0 255.255.240.0 R3130.192.68.0 255.255.192.0 R2

11110000

STRATO RETE IN INTERNET - 69

130.192.120.0

S R R1

R3

0100011101111000

R.T.

130.192.71.8

130.192.68.0

130.192.71.0R2

01000100

Esempio CIDR

130.192.120.0 255.255.240.0 R3 130.192.68.0 255.255.192.0 R2 (18)

STRATO RETE IN INTERNET - 70

130.192.120.0

S R R1

R3

0100011101111000

R.T.

130.192.71.8

130.192.68.0

130.192.71.0R2

01000100

Esempio CIDR

130.192.71.0 255.255.255.0 D130.192.68.0 255.255.255.0 D

STRATO RETE IN INTERNET - 71

130.192.120.0

S R R1

R3R.T.

130.192.68.0

130.192.71.0R2

01000100

130.192.71.8

Esempio CIDR

130.192.71.0 255.255.255.0 D (24)130.192.68.0 255.255.255.0 D

STRATO RETE IN INTERNET - 72

Come si ottengono indirizzi IP?

• Come ottiene indirizzi IP un ISP?• ICANN: Internet Corporation for Assigned

Names and Numbers– alloca indirizzi– gestisce DNS– assegna nomi di dominio, risolve liti

• http://www.icann.org/

Pag. 13

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 73

ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20

Organizzazione 0 11001000 00010111 00010000 00000000 200.23.16.0/23

Organizzazione 1 11001000 00010111 00010010 00000000 200.23.18.0/23

Organizzazione 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….

Organizzazione 7 11001000 00010111 00011110 00000000 200.23.30.0/23

Come si ottengono indirizzi IP?

• Indirizzi di rete (net_id):– si chiede una porzione di indirizzi IP ad un ISP

STRATO RETE IN INTERNET - 74

Come si ottengono indirizzi IP?

• Indirizzi di host in sottorete (host_id):• Assegnazione libera, configurati da amministratore di

rete– Statica

• Wintel: control-panel->network->configuration->tcp/ip->properties• UNIX: /etc/rc.config

– Dinamica• DHCP: Dynamic Host Configuration Protocol (RFC 2131)

Ottengo dinamicamente indirizzi:– host inviano in broadcast “DHCP discover” msg– DHCP server risponde con “DHCP offer” msg– host richiede indirizzo IP: “DHCP request” msg– DHCP server invia indirizzo: “DHCP ack” msg

STRATO RETE IN INTERNET - 75

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.3

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

miscfields

sourceIP addr

destIP addr data

• Interessano solo campiindirizzo

• Gli indirizzi NON simodificano da sorgente a destinazione

Dest. Net. next router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

tabella di routing in ADa sorgente a destinazione: esempio

• Datagram IP:

STRATO RETE IN INTERNET - 76

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.3

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

Dest. Net. next router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

miscfields 223.1.1.1 223.1.1.3 data

Da sorgente a destinazione: esempio

• In A, noto indirizzo IP diB: – guardo net_id di B– trovo che B appartiene

alla stessa sotto rete di A – invio datagram

direttamente a B usandoindirizzo MAC

– B e A sono collegatidirettamente

STRATO RETE IN INTERNET - 77

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.3

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

Dest. Net. next router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

miscfields 223.1.1.1 223.1.2.3 data

Da sorgente a destinazione: esempio

• In A, noto IP di E:– confronto net_id– E su rete diversa

• A, E non sono collegatidirettamente

• tabella di routing: next hop 223.1.1.4

• invio datagram al router 223.1.1.4 usando indirizzo MAC del router

STRATO RETE IN INTERNET - 78

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.3

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

BE

miscfields 223.1.1.1 223.1.2.3 data

network router Nhops interface

223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9223.1.3 - 1 223.1.3.27

Dest. next

Da sorgente a destinazione: esempio

• Arrivo a 223.1.1.4, destinato a 223.1.2.3

• confronto net_id di E e verifico che sono sullastessa rete con interfaccia223.1.2.9 – router ed E attaccati

direttamente

• invio datagram a 223.1.2.3 con indirizzo MAC di E

Pag. 14

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 79

Proxy ARP• Ogni host in una subnet deve essere configurato

per conoscere almeno– Il suo indirizzo IP– La netmask della subnet di appartenenza– L’indirizzo del router di default, per fare consegna

indiretta

• Per reti grandi, è possibile avere– Router diversi che permettono la comunicazione tra

subnet diverse– Host specific route per host particolari

• Ogni volta che cambia la configurazione di rete, occorre riconfigurare tutti gli host

STRATO RETE IN INTERNET - 80

Proxy ARP

• Meccanismo alternativo: proxy ARP (RFC 1027)– Si configura ogni host come se tutti gli indirizzi IP fossero

raggiungibili per consegna diretta (indicando una subnet 0.0.0.0, oppure indicando il proprio indirizzo IP come default gateway)

– Ogni volta che un pacchetto deve essere instradatoverso un indirizzo destinazione, l’host effettua unarichiesta di ARP

– Se l’IP è effettivamente raggiungibile in consegna diretta, l’host destinazione risponde alla ARP-request

– Altrimenti il Router che sa come instradare il pacchettoverso la destinazione, risponde alla richiesta indicando ilsuo indirizzo MAC per la consegna diretta

STRATO RETE IN INTERNET - 81

Proxy ARP

• Permette di variare l’instradamento deipacchetti all’interno di una stessa LAN senzariconfigurare tutti gli host

• Solo i router hanno conoscenza delle subnet direttamente raggiungibili

• Svantaggi:– Inonda la rete di richieste ARP (broadcast non

filtrato dai bridge)– Sovraccarica le CPU dei router che devono

rispondere a tutte le richieste ARP

STRATO RETE IN INTERNET - 82

Network Address Translation

• Network Address Translation (NAT) è un meccanismo per cui indirizzi IP sono mappati da un indirizzo ad un altro, fornendo instradamento trasparente agli end host

• Permette di riutilizzare lo stesso indirizzo in più punti della rete

• Ci sono diverse versioni di NAT – (RFC 1631,2663,2993,3022,3235)

STRATO RETE IN INTERNET - 83

Rete privata10.0.0.0

NAT

• Una organizzazioneutilizza indirizzi privatial suo interno

• Un router collega la rete privata alla reteinternet pubblica– Deve avere almeno due

indirizzi: uno interno(privato) e uno esterno(pubblico)

Routerdi bordo

Rete pubblica

10.0.0.255

201.2.2.1

STRATO RETE IN INTERNET - 84

NAT

• Quando un pacchetto deveessere consegnato ad un host non appartenente allarete interna– Viene instradato verso il

router di bordo– Il router di bordo sostituisce

l’indirizzo sorgente originalecon il suo indirizzo IP esterno

– Il pacchetto viene instradatocome al solito

Rete privata10.0.0.0

Routerdi bordo

Rete pubblica

10.0.0.1130.192.9.131

10.0.0.255

201.2.2.1

201.2.2.1130.192.9.131

Pag. 15

Protocolli strato rete in Internet

STRATO RETE IN INTERNET - 85

NAT

• Quanto un pacchettodall’esterno giunge al router di bordo, questoricorda a quale host internodeve essere in realtàconsegnato– Sostituisce l’indirizzo

destinazione (suo) con quellodell’host destinazione

– Instrada il pacchetto nellarete interna come al solito

Rete privata10.0.0.0

Routerdi bordo

Rete pubblica

130.192.9.13110.0.0.1

10.0.0.255

201.2.2.1

130.192.9.131201.2.2.1

STRATO RETE IN INTERNET - 86

NAT

• Problema: cosa succede se più di un hostinterno comunica con lo stesso host esterno?– Si usano più porzioni di intestazioni per cercare

di avere un mapping uno a uno stringente

• Vantaggi:– Riduce il numero di indirizzi IP necessari (riuso

di indirizzi privati)– Sicurezza: un host interno NON può essere

contattato dall’esterno se esso non ha per primo contattato la destinazione


Recommended