Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa [email protected]...

43
1 Marco Sommani CNR-IIT, Pisa [email protected] Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

Transcript of Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa [email protected]...

Page 1: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

1

Marco Sommani CNR-IIT, Pisa

[email protected]

Corso interno IIT, 14 settembre 2010

Marco Sommani: Introduzione alle reti 2

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

Page 2: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

2

  PSTN = Public Switched Telephone Network: la rete telefonica tradizionale

  Rete IP: qualunque rete che, come Internet, smista le informazioni usando l’Internet Protocol (IP)

  In entrambi i casi la rete è composta da nodi collegati da link ◦  esempi di nodi: una centrale telefonica (PSTN), un router

(IP) ◦  esempi di link: fibre, ponti radio, doppini

  In entrambi i casi su un link fra due nodi possono essere contemporaneamente attive più conversazioni digitalizzate (multiplexing)

Marco Sommani: Introduzione alle reti 3

Marco Sommani: Introduzione alle reti 4

Vorrei chiamare lo 0586820204

Impegno il canale 12 per una

conversazione destinata a 0586820204

Impegno il canale 23 per una

conversazione destinata a 0586820204

Ti chamano, rispondi?

OK, rispondo

OK OK

OK a

B B A A

b

a==B:12 A:12==B:23 A:23==b

12 23

Page 3: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

3

  La coesistenza di più conversazioni sui link PSTN è resa possibile dalla suddivisione logica del link in un numero finito di canali

  Gli N canali di un link ISDN vengono trasmessi in successione temporale ciclica: ◦  8 bit della conversazione sul canale n, poi 8 di

quella sul canale n+1... ◦  siccome una conversazione digitale occupa 64Kbps,

un link ISDN da N canali richiede una banda di N*64Kbps ◦  nella successione ciclica dei canali ISDN, lo stesso

canale torna 8000 volte al secondo (ogni 125 µsec)

Marco Sommani: Introduzione alle reti 5

  La modalità di instradamento dell’esempio si chiama Commutazione di Circuito

  Vi è una fase di chiamata, in cui la rete alloca un circuito fra il chiamante e il chiamato

  Il circuito rimane attivo per tutta la durata della conversazione

  Per tutto il tempo in cui il circuito è attivo, ogni informazione (sequenza di bit) immessa sul circuito da un partner viene consegnata immutata all’altro partner

Marco Sommani: Introduzione alle reti 6

Page 4: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

4

  La qualità della voce è assicurata perché ◦  ogni conversazione viene trasmessa   con il throughput richiesto (64kbps sulla rete ISDN)   senza variazioni nei tempi di attraversamento della rete   senza perdite di informazioni (guasti a parte) ◦  sui nodi, l’operazione di reinstradamento dei bit è

elementare e non introduce ritardi percepibili   I nodi devono memorizzare le conversazioni

attive (non buono per trasmissione dati)   Il numero di conversazioni che possono

coesistere su un link è fisso (non buono per trasmissione dati)

Marco Sommani: Introduzione alle reti 7

  Un apparato terminale può avere transazioni contemporanee con molti partner

  Molte transazioni hanno durata brevissima   Ritardi nella trasmissione sono tollerabili   Si preferisce la Commutazione di Pacchetto ◦  nel servizio postale un pacchetto ha un contenuto

ed una etichetta che ne indica la destinazione ◦  nella trasmissione dati un pacchetto è un insieme di

dati composto da   un contenuto, ossia le informazioni per il destinatario   una etichetta, che indica ai nodi come instradarlo

Marco Sommani: Introduzione alle reti 8

Page 5: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

5

1 2

Marco Sommani: Introduzione alle reti 9

1 1

1

2

2

2

  Modalità “connection oriented” ◦  come nella commutazione di circuito, i nodi di

transito memorizzano le “conversazioni” attive ◦  preferita da ATM, X.25, SNA... perché

  può semplificare le operazioni di instradamento   facilita l’attribuzione di qualità di servizio differenziate   permette a ciascun nodo di “frenare” selettivamente i

flussi di dati eccessivi   Modalità “connectionless” ◦  i nodi di transito ignorano l’esistenza delle

conversazioni ◦  usata da IP, IPX, AppleTalk, DecNet...

Marco Sommani: Introduzione alle reti 10

Page 6: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

6

  Pregi: ◦  il funzionamento dei nodi di transito è molto

semplice ◦  non esistono limiti al numero di transazioni

contemporanee   Difetti: ◦  i pacchetti possono subire ritardi o non arrivare ◦  i pacchetti possono arrivare fuori sequenza ◦  una sorgente può intasare vaste parti della rete   oggi esistono rimedi

Marco Sommani: Introduzione alle reti 11

Marco Sommani: Introduzione alle reti 12

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

Page 7: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

7

  Usa la commutazione di pacchetto di tipo connectionless ◦  la lunghezza dei pacchetti generalmente non supera 1500 bytes ◦  ogni link ha la sua Maximum Transfer Unit (MTU), ossia la lunghezza

massima dei pacchetti trasmissibili sul link   la massima MTU ammissibile è di 65535 bytes   di solito è 1500 bytes   deve essere almeno 512 bytes (1280 in IPv6)

  La rete è composta di apparati (computer, router,...) dotati di uno o più “indirizzi IP” ◦  indirizzo IPv4 (in uso da quasi 30 anni):

  numero di 32 bit, da 0 a 4.294.967.295 ◦  indirizzo IPv6 (ancora poco diffuso):

  numero di 128 bit, da 0 a circa 3,4×1038

  Nell’etichetta (IP header) di ogni pacchetto sono presenti gli indirizzi IP di mittente e destinatario

Marco Sommani: Introduzione alle reti 13

  Host IP: ◦  apparecchiatura in grado di interpretare e produrre pacchetti IP.

  Link: ◦  mezzo trasmissivo che consente a due Host IP di comunicare

senza che altre apparecchiature lungo il cammino debbano esaminare le etichette dei pacchetti IP.

  Incapsulamento: ◦  insieme di norme che stabilisce le modalità con cui un pacchetto

IP viene trasmesso su un particolare tipo di Link.   Interfaccia: ◦  processo che controlla il collegamento di un Host IP a un Link.

  Router IP: ◦  Host IP che riceve pacchetti IP destinati ad altri Host IP e provvede

al loro instradamento basandosi sull’indirizzo del destinatario presente nel pacchetto.

Marco Sommani: Introduzione alle reti 14

Page 8: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

8

  Host IP: ◦  computer, router, play station, cellulare con

trasmissione dati...   Link: ◦  LAN Ethernet, circuito PPP, Virtual Private Network...

  Incapsulamento: ◦  Ethernet II, 802.3, PPP, PPPoA, PPPoE...

  Interfaccia: ◦  processo che controlla l’invio e la ricezione di

pacchetti IP su Ethernet, su wifi o sulla pennetta UMTS...

Marco Sommani: Introduzione alle reti 15

0 1 2 3! 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1!

Version! IHL! Type of Service!

Time to Live! Protocol!

Padding!

Total Length!

Identification!

Header Checksum!

Fragment Offset!Flags!

Source Address!

Destination Address!

Options!

16 Marco Sommani: Introduzione alle reti

Page 9: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

9

  Version: sempre=4   IHL: IP Header Length ◦  lunghezza dell’IPv4 Header in multipli di 32 bit ◦  se il campo Options è assente, IHL=5

  Type of Service (ToS) ◦  campo utilizzabile per indicare ai router la modalità con cui

trattare il pacchetto   precedenza nelle code   discard eligibility (possibilità di scartarlo senza fare danni)

  Total length ◦  lunghezza totale del pacchetto in bytes

  Identification, Flags, Fragment Offset ◦  campi usati per la frammentazione ◦  un pacchetto viene frammentato quando è più lungo della

MTU del link su cui deve essere inoltrato

Marco Sommani: Introduzione alle reti 17

  Time to Live (TTL) ◦  valore decrementato da ogni router ◦  un router non deve inoltrare il pacchetto se TTL=0 ◦  serve ad evitare che un pacchetto giri all’infinito

  Protocol ◦  valore fra 1 e 255 con cui il mittente indica al

destinatario come interpretare il contenuto del pacchetto   Header Checksum ◦  codice per verificare che l’etichetta non abbia subito

alterazioni   Options ◦  campo opzionale usabile, per esempio, per forzare il

pacchetto a transitare da determinati router

Marco Sommani: Introduzione alle reti 18

Page 10: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

10

Marco Sommani: Introduzione alle reti 19

  IPv4 (indirizzo di 32 bit) ◦  stringa di 32 bit (poco usato):   10010010001100000110000000010000 ◦  stringa di 8 cifre esadecimali (poco usato):   92306010 ◦  dotted decimal notation (comunissimo)   146.48.96.16

  IPv6 (indirizzo di 128 bit) ◦  8 gruppi di 4 cifre esadecimali separati da “:”   2001:0db8:0000:0000:00a9:0000:0000:0001 ◦  si possono omettere gli “0” iniziali di ogni gruppo:   2001:db8:0:0:a9:0:0:1 ◦  “::” può sostituire una sequenza di gruppi a “0”:   2001:db8::a9:0:0:1 o 2001:db8:0:0:a9::1

Marco Sommani: Introduzione alle reti 20

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

Page 11: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

11

  Un insieme di indirizzi IP è un address-range se: ◦  gli indirizzi sono contigui ◦  il numero di indirizzi è una potenza di 2 ◦  l’indirizzo più basso è divisibile per la potenza di 2

  Ricordare che: ◦  in notazione binaria, un numero è divisibile per 2n se gli

ultimi n bit sono uguali a 0 ◦  con n bit si rappresentano 2n diversi numeri

  Quindi: ◦  in un address-range con 2n elementi   i primi 32-n bit degli indirizzi sono uguali (IPv4)   i primi 128-n bit degli indirizzi sono uguali (IPv6)

Marco Sommani: Introduzione alle reti 21

  da 00001010.00000000.00000000.00000000 a 00001010.00000011.11111111.11111111

  esadecimale: da 0A.00.00.00 a 0A.03.FF.FF   dotted decimal: da 10.0.0.0 a 10.3.255.255   valori decimali: da 167.772.160 a 168.034.303   potenza di 2: 218=262.144   le condizioni sono rispettate: ◦  167.772.160÷262.144=640 con resto 0 ◦  (168.034.303-167.772.160)+1=262.144 ◦  in decimale si ragiona male: meglio il binario,

l’esadecimale o, al limite, la dotted decimal notation.

Marco Sommani: Introduzione alle reti 22

Page 12: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

12

  IPv4 – range 10.0.0.0-10.3.255.255: ◦  indirizzo con netmask: 10.1.2.3 255.252.0.0 ◦  indirizzo con slash notation: 10.1.2.3/14

  Con entrambe le notazioni si scrive un indirizzo facente parte del range, seguito dall’indicazione di quanti sono i bit uguali negli indirizzi del range

  Nel caso della netmask, l’indicazione è chiara dopo la sua conversione in binario: ◦  11111111.11111100.00000000.00000000

  IPv6 - si usa solo la slash notation: ◦  la notazione 2001:db8::a9:0:0:1/50 indica il range   da 2001:db8:: a 2001:db8:0:3fff:ffff:ffff:ffff:ffff

Marco Sommani: Introduzione alle reti 23

Marco Sommani: Introduzione alle reti 24

R2 R3

R5 R4

H

H

H H

H

H

192.0.2.0/28 192.0.2.16/28 192.0.2.32/28

192.0.2.56/29 192.0.2.48/29 R1

192.0.2.64/30 unnumbered link

...1 ...2

...3 ...4

...17

...18

...19

...50 ...58

...35

...34

...33

...46 ...30

...66

...65

...49 ...57

Page 13: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

13

  Indicano all’Host come inoltrare un pacchetto, dato l’indirizzo IPv4 di destinazione

  Sono una lista di address-range in cui per ogni range sono indicati ◦  il Link adiacente su cui inoltrare il pacchetto ◦  l’indirizzo IPv4 (next-hop) di un altro Host (Router)

presente sul Link adiacente   il next-hop non serve se la destinazione è su un Link

adiacente o se il Link è unnumbered   I pacchetti sono instradati sul Link/next-hop

dell’address-range più piccolo contenente il destination-address

  0.0.0.0/0 è l’address-range di default

Marco Sommani: Introduzione alle reti 25

address-range interfaccia next-hop 1 192.0.2.49/32 eth0 2 192.0.2.48/29 eth0 3 192.0.2.57/32 eth1 4 192.0.2.56/29 eth1 5 192.0.2.65/32 serial0 6 192.0.2.64/30 serial0 7 192.0.2.16/28 serial0 192.0.2.66 8 192.0.2.0/24 serial1 9 0.0.0.0/0 serial0 192.0.2.66

destinazione regola 192.0.2.50 2 192.0.2.49 1 192.0.2.66 6 192.0.2.30 7 192.0.2.35 8 192.0.2.111 8 192.0.3.111 9 192.0.2.63 4 146.48.96.16 9

Marco Sommani: Introduzione alle reti 26

Page 14: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

14

  Ad ogni Link IP deve essere associato almeno un address-range ◦  eccezione: i circuiti punto-punto possono essere

unnumbered   Un address-range associato a un Link si chiama

Subnet   È sconsigliato usare più address-range sullo

stesso Link   Assegnare alle interfacce IP solo indirizzi

appartenenti agli address-range associati al Link collegato all’interfaccia

  L’indirizzo più basso e il più alto di un address-range IPv4 non sono assegnabili alle interfacce ◦  max 2n-2 interfacce se ho un range di 2n indirizzi

Marco Sommani: Introduzione alle reti 27

  Per ogni interfaccia “numbered”: ◦  gli indirizzi IP assegnati all’interfaccia   raccomandazione: evitare l’assegnazione di più

indirizzi alla stessa interfaccia ◦  per ogni indirizzo IP: la dimensione della Subnet a

cui appartiene   A livello globale: ◦  informazioni su come raggiungere le destinazioni

che non siano su Subnet adiacenti   Sui sistemi operativi più comuni le

informazioni sono visibili con il comando: ◦  “netstat –nr”

Marco Sommani: Introduzione alle reti 28

Page 15: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

15

Marco Sommani: Introduzione alle reti 29

Address-range Motivazione 0.0.0.0/8 Problemi di compatibilità con vecchie implementazioni 127.0.0.0/8 Sono interpretati come indirizzi di loopback 169.254.0.0/16 Indirizzi Link Local 224.0.0.0/4 Indirizzi dei gruppi multicast 240.0.0.0/4 Indirizzi “sperimentali” (mai usati)

Marco Sommani: Introduzione alle reti 30

Page 16: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

16

  255.255.255.255 è l’indirizzo wire-broadcast ◦  un pacchetto con questa destinazione è letto da tutti gli

Host presenti sul Link su cui è stato immesso ◦  i Router presenti sul Link non propagano il pacchetto

  L’indirizzo subnet-broadcast è l’indirizzo più alto di un address-range associato a un Link ◦  es.: 146.48.99.255 è il subnet-broadcast della subnet

146.48.96.0/22 ◦  il pacchetto può essere immesso in rete anche da un

host lontano dalla subnet ◦  i router sul percorso inoltrano il pacchetto con le regole

usuali ◦  arrivato al link di destinazione, il pacchetto è letto da

tutti gli host aventi un indirizzo IP sulla subnet

Marco Sommani: Introduzione alle reti 31

Marco Sommani: Introduzione alle reti 32

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

Page 17: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

17

  Fino a tutto il 1992 bastava scrivere una mail a [email protected] e si riceveva il blocco della dimensione desiderata (senza esagerare)

  Dal 1993 l’autorità che controlla la distribuzione degli indirizzi IP è l’Internet Assigned Numbers Authority (IANA) ◦  gli utenti finali ricevono i blocchi IP dai Local Internet

Registry (LIR, spesso anche ISP) ◦  i LIR ricevono blocchi IP dai Regional Internet Registry

(RIR, uno per continente) ◦  Quando il pool di indirizzi a disposizione di un RIR sta

per finire, IANA assegna al RIR un nuovo blocco /8.

Marco Sommani: Introduzione alle reti 33

  Alla fine del 1992 erano già in uso 93 blocchi dei 221 disponibili

  Andamento allocazioni in epoca regolamentata:

  A settembre 2010 restano da allocare 14 blocchi

Marco Sommani: Introduzione alle reti 34

1993 7 1999 1 2005 11 1994 2 2000 4 2006 10 1995 4 2001 7 2007 13 1996 4 2002 4 2008 9 1997 4 2003 6 2009 8 1998 1 2004 9 8 mesi del 2010 10

Page 18: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

18

  Da quando la distribuzione è regolamentata, i RIR assegnano blocchi ai LIR solo se: ◦  nella domanda i LIR forniscono chiare informazioni

sui loro piani di utilizzo degli indirizzi ◦  i LIR sono in grado di dimostrare di avere usato con

oculatezza gli indirizzi precedentemente ricevuti   Risultato: i LIR scoraggiano la richiesta di

nuovi indirizzi da parte degli utenti finali   A partire dal 1993 è divenuto sempre più

frequente l’utilizzo in molte parti di Internet degli indirizzi riservati per le “Private-Use Networks” (RFC1918)

Marco Sommani: Introduzione alle reti 35

  In una rete IP non dovrebbero esistere più interfacce con lo stesso indirizzo IP

  Su Internet l’univocità è assicurata da IANA   Su una rete IP disgiunta da Internet (detta

Private-Use Network) non è necessario chiedere gli indirizzi a IANA

  Per evitare problemi nel caso di un successivo collegamento a Internet, l’RFC1918 raccomanda che sulle Private-Use Network siano usati solo i seguenti address-range: ◦  10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16

  IANA non assegnerà mai indirizzi RFC1918

Marco Sommani: Introduzione alle reti 36

Page 19: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

19

  Gli indirizzi RFC1918 dovevano servire per Host e reti separati da Internet

  Ben presto si è diffusa la prassi di permettere ad un Host con indirizzo RFC1918 di comunicare con Internet, utilizzando i Network Address Translator (NAT)

  I NAT permettono di ◦  presentare su Internet un insieme di Host RFC1918 con

un unico indirizzo pubblico (non RFC1918) ◦  riutilizzare su più isole gli stessi indirizzi RFC1918

  Oggi gli Host su Internet sono molti di più degli indirizzi IPv4

  La presenza dei NAT introduce notevoli limitazioni e problemi (anche di sicurezza)

Marco Sommani: Introduzione alle reti 37

Marco Sommani: Introduzione alle reti 38

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

Page 20: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

20

  Link punto-punto ◦  la sua natura gli permette di collegare solo due Host IP ◦  es.: circuiti ADSL, circuiti dial-up, circuiti diretti, vari tipi

di Virtual Private Networks (VPN) ◦  ciò che un Host immette sul Link è letto dall’altro Host ◦  non è necessario un ulteriore indirizzamento a livello di

Link   Link multiaccesso ◦  la sua natura gli permette di collegare più Host IP ◦  es.: Ethernet, sia in modalità wired sia in wifi ◦  è necessario un ulteriore indirizzamento a livello di Link ◦  due sottotipologie   con possibilità di broadcast (es.: Ethernet)   senza possibilità di broadcast (es.: ATM, X.25)

Marco Sommani: Introduzione alle reti 39

  La Internet Engineering Task Force (IETF) si limita a stabilire le regole necessarie per il funzionamento di Internet (es.: il protocollo IP)

  Sui mezzi trasmissivi usati dai Link IP possono essere trasmessi anche pacchetti di protocolli diversi da IP

  Ogni mezzo trasmissivo ha le sue regole per il formato dei pacchetti: ◦  come capire quale protocollo è trasportato (IP o altro) ◦  indirizzamento di livello Link ◦  regole per riconoscere eventuali errori di trasmissione

  Un pacchetto che contenga anche le informazioni di livello Link viene detto frame

Marco Sommani: Introduzione alle reti 40

Page 21: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

21

  I metodi di incapsulamento stabiliscono le regole con cui inserire un pacchetto IP nelle frame previste per un particolare mezzo trasmissivo

  I metodi di incapsulamento più comuni sono: ◦  il PPP sui circuiti punto-punto   sui circuiti ADSL esistono le due varianti PPPoA e PPPoE ◦  Ethernet II sulle LAN di tipo Ethernet

Marco Sommani: Introduzione alle reti 41

  Ogni scheda di rete Ethernet (anche wifi) ha un indirizzo di 6 bytes (48 bit), detto mac address

  Ogni scheda arriva con un mac address impostato dal costruttore, unico a livello globale

  È possibile modificare via software i mac address (da evitare)

  I mac address impostati dal costruttore hanno il 7º bit a 0 ◦  solo i mac address modificati via software hanno il 7º bit

a 1 e non ne è garantita l’unicità a livello globale   L’8º bit di un mac address è sempre 0

Marco Sommani: Introduzione alle reti 42

Page 22: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

22

DA SA EtherType Dati FCS 6 bytes 6 bytes 2 bytes da 46 a 1500 bytes 4 bytes

DA Destination Address: se il bit 8 è 0 è il mac address della scheda destinataria, altrimenti è un indirizzo di gruppo

SA Source Address: il mac address della scheda mittente EtherType Indica il protocollo del pacchetto contenuto nella parte dati:

•  x0800: pacchetto IPv4 •  x86dd: pacchetto IPv6 •  x0806: pacchetto ARP

Dati La porzione della frame in cui viene inserito il pacchetto da trasportare

FCS Frame Check Sequence: codice che permette di individuare eventuali errori di trasmissione

Marco Sommani: Introduzione alle reti 43

  Nasce come mezzo shared: ◦  solo una stazione per volta può inviare dati ◦  i dati inviati da una stazione arrivano a tutte le altre ◦  si ha una collisione quando due stazioni

trasmettono contemporaneamente ◦  una stazione trasmittente, appena si accorge di una

collisione, interrompe la trasmissione e riprova dopo un intervallo random

  La Ethernet shared al crescere del traffico diventa inefficiente

  Il Bridge (o Switch) permette di segmentare una LAN Ethernet in più domini di collisione

Marco Sommani: Introduzione alle reti 44

Page 23: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

23

  Una frame non viene rispedita sulla stessa porta da cui è stata ricevuta

  Se l’8º bit del Destination Address è 1 (broadcast/multicast) ◦  la frame è inviata su tutte le altre porte del bridge

  Altrimenti la frame è unicast (un solo destinatario) ◦  se la posizione del destinatario è nota, la frame è inviata solo sulla

porta che conduce al destinatario ◦  altrimenti, la frame è trattata come un broadcast/multicast

  L’insieme dei domini di collisione interconnessi dai Bridge si chiama dominio di broadcast

45

Dominio di collisione

Dominio di collisione

Dominio di collisione Bridge Bridge

Dominio di broadcast

Marco Sommani: Introduzione alle reti

  La tabella che indica quale porta usare per un dato Destination Address si chiama filtering database

  Il filtering database potrebbe anche essere costruito a mano (sconsigliato)

  Di solito il filtering database viene costruito dinamicamente: ◦  quando il bridge riceve una frame, associa il suo

Source Address alla porta di ricezione ◦  dopo un timeout (per default 300 secondi),

l’associazione indirizzo-porta viene eliminata

Marco Sommani: Introduzione alle reti 46

Page 24: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

24

  Una rete bridged non deve avere cammini multipli fra coppie di domini di collisione

  Una frame ricevuta su “c” sarebbe ritrasmessa su “a” e “b” e ricevuta nuovamente su “b” e “a”

  Attivando lo Spanning Tree Protocol sui Bridge, si ottiene la disattivazione delle porte che creerebbero magliature:

47

Bridge

a

b

c

Bridge

a

b

c

  Di solito nelle Ethernet wired di oggi ogni computer ha un collegamento dedicato con una porta di uno Switch (Bridge)

  Il cavo in rame usato per il collegamento possiede più fili, per cui in ciascuna direzione si usano fili diversi

  Ciò permette la trasmissione contemporanea nei due sensi (modalità full-duplex) ed elimina il problema delle collisioni

  Le Ethernet wifi funzionano tuttora in modalità shared o half-duplex (con collisioni)

Marco Sommani: Introduzione alle reti 48

Page 25: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

25

  Indipendentemente dal numero di Bridge presenti, per gli Host IP l’intera bridged Ethernet è un Link IP ◦  i Bridge sul percorso esaminano i campi Ethernet, ma

ignorano l’etichetta del pacchetto IP trasportato ◦  in tutto il dominio di broadcast gli indirizzi IP delle

interfacce stanno sulla stessa Subnet   Gli Access Point wifi possono essere configurati ◦  come router => le interfacce wired e wifi stanno su

Subnet distinte ◦  come bridge => le interfacce wired e wifi stanno sulla

stessa Subnet

Marco Sommani: Introduzione alle reti 49

  Una frame Ethernet destinata all’indirizzo ff:ff:ff:ff:ff:ff (tutti i bit=1) deve essere letta da tutte le stazioni presenti sulla rete ◦  si tratta di una destinazione broadcast

  Se l’8º bit del destination address è 1, ma l’indirizzo è diverso da ff:ff:ff:ff:ff:ff, la destinazione è un indirizzo di gruppo e si parla di multicast ◦  un multicast viene letto solo da quelle stazioni che

hanno deciso di appartenere a quel particolare gruppo ◦  es.: l’indirizzo 01-80-C2-00-00-00 è il Bridge Group

Address   una frame con quella destinazione è destinata solo alle

stazioni su cui è attivo lo Spanning Tree Protocol

Marco Sommani: Introduzione alle reti 50

Page 26: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

26

Marco Sommani: Introduzione alle reti 51

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

  Per inviare un pacchetto IP ad un host su una rete Ethernet adiacente, si deve scoprire il mac-address del destinatario

  IPv4: si fa uso dell’Address Resolution Protocol (ARP) ◦  usa frame con EtherType x0806 (il contenuto della frame

non è un pacchetto IP) ◦  si fa uso di frame destinate all’indirizzo ff:ff:ff:ff:ff:ff

  IPv6: si fa uso del Neighbor Discovery Protocol (NDP) ◦  usa frame con EtherType x86dd (il contenuto della frame è

un pacchetto IPv6 ◦  si fa uso di frame destinate al gruppo 33:33:FF:uv:wx:yz

  al gruppo appartengono tutte le interfacce il cui indirizzo IPv6 è del tipo ::uv:wxyz (ossia finisce con le cifre esadecimali uwxyz)

Marco Sommani: Introduzione alle reti 52

Page 27: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

27

Marco Sommani: Introduzione alle reti 53

192.0.2.0/24

00:11:22:33:44:55 00:22:33:44:55:11

00:33:44:55:11:22 00:44:55:11:22:33

...50 ...58

...34 ...18

FFFFFFFFFFFF | 001122334455 | 0806 | “Chi è 192.0.2.34?”

001122334455 | 003344551122 | 0806 | “Sono io”

  Ogni host IP mantiene le associazioni IP/mac-address in una tabella detta ARP Table

  Una voce della ARP Table viene cancellata se inutilizzata per un certo intervallo di tempo ◦  l’intervallo consigliato è di 300 secondi

  Sulla maggior parte dei sistemi operativi, si può vedere la ARP Table con il comando ◦  “arp –a”

  Il comando equivalente per IPv6 è ◦  “ipv6 nc” sui sistemi Windows ◦  “ndp –a” sui sistemi Unix (OsX incluso)

Marco Sommani: Introduzione alle reti 54

Page 28: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

28

Marco Sommani: Introduzione alle reti 55

Marco Sommani: Introduzione alle reti 56

1.  La destinazione è sulle tabelle di instradamento? ◦  se non c’è, buttare via il pacchetto

2.  La destinazione è su un link adiacente? ◦  se sì, andare a 4

3.  La tabella di instradamento oltre al link specifica un next-hop? ◦  se no, andare a 6

4.  Il link ha un suo sottoindirizzamento? ◦  se no, andare a 6

5.  Scoprire l’indirizzo link-level della destinazione o del next-hop

6.  Inviare sul link il pacchetto opportunamente incapsulato

Page 29: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

29

Marco Sommani: Introduzione alle reti 57

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

  I nomi simbolici del Domain Name System di Internet (DNS) hanno una struttura gerarchica:

  I nomi simbolici hanno una struttura ad albero   Un sottoalbero dell’albero dei nomi si chiama zona

Marco Sommani: Introduzione alle reti 58

. (root)

com it

ebay google livorno cnr

www www comune provincia iit

mailserver www macsomm www

www.comune.livorno.it.

Page 30: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

30

  È un archivio distribuito, la cui consultazione fornisce alle applicazioni le informazioni necessarie per raggiungere le destinazioni espresse mediante nomi simbolici

  I server consultabili per avere risposte su una porzione dell’archivio sono detti Name Server

  Un singolo Name Server è competente su alcune zone e conosce: ◦  i valori dei nomi appartenenti alle zone di sua competenza ◦  gli indirizzi dei Name Server competenti sulla zona root ◦  gli indirizzi dei Name Server competenti sulle zone figlie

  Un sistema collegato a Internet generalmente conosce gli indirizzi di uno o più Name Server (i suoi “Name Resolver”) ◦  specificati in configurazione, oppure ◦  appresi via DHCP o PPP

Marco Sommani: Introduzione alle reti 59

  Problema: il mail server A vuole scoprire l’indirizzo IP del mail server del dominio comune.livorno.ip

Marco Sommani: Introduzione alle reti 60

A: mail server del mittente Name Resolver: B MX di comune...: mailserver.comune.livorno.it A di mailserver.comune...: 159.213.79.35

B: Name Resolver di A Root Servers: C, D NS di “it”: E, F NS di “livorno.it”: G, H NS di “comune.livorno.it”: I, J MX di comune...: mailserver.comune.livorno.it A di mailserver.comune...: 159.213.79.35

C: Root Server NS di “it”: E, F

E: Name Server di “it” NS di “livorno.it”: G, H

G: Name Server di “livorno.it” NS di “comune.livorno.it”: I, J

I: Name Server di “comune.livorno.it” Mail Server di “comune.livorno.it”: mailserver.comune.livorno.it Indirizzo di “mailserver.comune.livorno.it”: 159.213.79.35

mailserver.comune.livorno.it

Per “*.it” chiedi a E o F

Chi è il mail server di comune.livorno.it?

Chi è il mail server di comune.livorno.it? Per “*.livorno.it” chiedi a

G o H

Per “*.comune.livorno.it” chiedi a I o J

È mailserver.comune.livorno.it

È mailserver.comune.livorno.it

Quale è l’indirizzo IPv4 di mailserver.comune.livorno.it?

Quale è l’indirizzo IPv4 di mailserver.comune.livorno.it?

È 159.213.79.35

È 159.213.79.35

Page 31: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

31

Marco Sommani: Introduzione alle reti 61

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

  Per ogni interfaccia numbered: ◦  l’indirizzo IP e la dimensione della Subnet cui

appartiene   Istruzioni per il raggiungimento delle

destinazioni esterne alle Subnet adiacenti: ◦  sugli Host terminali (non Router) di solito si indica

un next-hop per l’address-range 0.0.0.0:/0 ◦  questo next-hop “universale” viene chiamato

default-gateway   Una lista di indirizzi di Name Resolver ◦  almeno uno

Marco Sommani: Introduzione alle reti 62

Page 32: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

32

  Su tutti i sistemi operativi è possibile fornire manualmente i parametri di configurazione

  Per gli Host terminali sono comuni due metodi di configurazione dinamica ◦  DHCP: tipicamente utilizzato sui link multi-accesso con

broadcast (in particolare, su Ethernet) ◦  PPP: tipicamente utilzzato sui circuiti PPP, anche ADSL   diversamente dal DHCP, il PPP server autentica l’utente

  Entrambi i metodi forniscono all’Host IPv4: ◦  indirizzo IPv4 dell’interfaccia e dimensioni della Subnet ◦  gli indirizzi IPv4 dei Name Resolver ◦  altre informazioni, come la MTU del Link

Marco Sommani: Introduzione alle reti 63

Marco Sommani: Introduzione alle reti 64

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

Page 33: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

33

  Il Protocol Number (valori da 1 a 255) dell’IPv4 Header indica al destinatario come interpretare il pacchetto

  Esempi di Protocol Number:

Marco Sommani: Introduzione alle reti 65

Sigla Descrizione 1 ICMP Messaggi di controllo: segnalazioni di errori, servizio di eco... 4 IPv4 Il contenuto del pacchetto è un altro pacchetto IPv4 6 TCP Usato per lo scambio di dati fra applicazioni

17 UDP Usato per lo scambio di dati fra applicazioni 41 IPv4 Il contenuto del pacchetto è un pacchetto IPv6 47 GRE Il contenuto è un pacchetto di un protocollo generico, preceduto da

un header che ne identifica il protocollo 89 OSPF Routing protocol: scambio fra router di informazioni con cui

costruire le tabelle di instradamento

  La maggior parte dei Protocol Number identificano servizi particolari

  Il vero e proprio scambio di informazioni fra applicazioni generiche (web, mail, streaming, voip...) avviene utilizzando uno dei due Transport Protocol: TCP e UDP

  Problemi: ◦  sullo stesso host possono essere attive più applicazioni   a quale applicazione va consegnato un pacchetto entrante? ◦  un’applicazione può comunicare contemporaneamente

con più applicazioni dello stesso host remoto   come distinguere fra più applicazioni dello stesso partner?

Marco Sommani: Introduzione alle reti 66

Page 34: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

34

  La funzionalità che permette ad una applicazione di usare un Transport Protocol si chiama Socket

  Un’applicazione che voglia usare un Transport Protocol apre uno o più Socket

  All’interno dell’Host i Socket sono identificati da un numero di 16 bit, detto Port Number

  Negli Header TCP e UDP sono presenti i Port Number dei Socket sorgente e destinatario

Marco Sommani: Introduzione alle reti 67

  I flussi di dati fra Socket si chiamano Transport Session

  Su un Host IP possono essere attive contemporaneamente più Transport Session

  Una Transport Session è identificata dalla sequenza: ◦  ip.rem: l’indirizzo IP del partner ◦  ip.loc: l’indirizzo IP locale ◦  ip.prot: il Transport Protocol (TCP o UDP) ◦  port.rem: il Port Number del Socket del partner ◦  port.loc: il Port Number del Socket locale

Marco Sommani: Introduzione alle reti 68

Page 35: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

35

  Lo scambio di dati è preceduto da uno scambio di messaggi TCP finalizzato ad aprire la sessione

  La sessione rimane attiva fino allo scambio di messaggi TCP finalizzato alla sua chiusura

  La sessione è sempre bidirezionale fra due partner

  In ogni messaggio ciascun partner comunica all’altro, oltre agli eventuali dati: ◦  quanti bytes ha già trasmesso ◦  quanti bytes ha già ricevuto ◦  quanti bytes è disposto a ricevere

  Il ricevente riesce a informare il partner ◦  della necessità di ritrasmettere dati persi ◦  della necessità di rallentare il flusso

Marco Sommani: Introduzione alle reti 69

  L’invio di un pacchetto UDP contenente dati è sempre possibile, senza operazioni preliminari

  Non esiste un’operazione di “chiusura di sessione” ◦  le applicazioni disattivano i Socket UDP quando ritengono di non

dover più inviare o ricevere dati   i pacchetti UDP ricevuti dopo la disattivazione del Socket di destinazione

sono ignorati o provocano l’invio al mittente di un messaggio ICMP con tipo “Destination Unreacheable” e codice “Port Unreacheable”

  La sessione può essere bidirezionale fra due partner o unidirezionale da uno a molti partner ◦  nel caso di trasmissione da uno a molti, il destination IP address è

un indirizzo broadcast o multicast   Il protocollo non fornisce al mittente informazioni sulla

ricezione dei pacchetti da parte dei destinatari   Il mittente ha la possibilità di intasare la rete inviando

pacchetti con frequenza eccessiva

Marco Sommani: Introduzione alle reti 70

Page 36: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

36

  La maggior parte delle applicazioni usa il TCP perché ◦  neutralizza gli errori di trasmissione ◦  non intasa le reti

  L’UDP è preferito (o necessario) nei seguenti casi: ◦  brevi transazioni domanda/risposta   se la risposta non arriva, basta ripetere la domanda   es.: DHCP, DNS... ◦  sessioni unidirezionali con più destinatari ◦  trasmissione in tempo reale di suoni e/o video   meglio perdere un pacchetto che rallentare il ritmo della

trasmissione per farlo ritrasmettere

Marco Sommani: Introduzione alle reti 71

  Per i server di alcune applicazioni sono stati definiti i Port Number di default ◦  il client non ha bisogno di scoprire verso quale Port

Number inviare i pacchetti ◦  non è vietato usare Port Number diversi dal default

  Esempi:

Marco Sommani: Introduzione alle reti 72

Applicazione Port Number ssh 22 telnet 23 smtp 25 dns 53 http 80 pop 110 https 443

Page 37: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

37

  Il colloquio fra DHCP client e DHCP server usa il protocollo UDP ◦  il Port Number del Client è 68 ◦  il Port Number del Server è 67 ◦  il Destination IP Address è 255.255.255.255 (wire-

broadcast) ◦  il Source IP Address è:   0.0.0.0 (indefinito) nei pacchetti inviati dal client   quello del server nei pacchetti inviati dai server

Marco Sommani: Introduzione alle reti 73

1.  DHCP discovery - dal client ◦  ci sono DHCP server su questo link?   in questo messaggio il client può anche proporre di

riutilizzare un indirizzo IP assegnatogli precedentemente 2.  DHCP offer - dai server ◦  sì, ti propongo usare questi parametri   può essere confermato l’indirizzo proposto dal client

3.  DHCP request - dal client ◦  allora uso i parametri offerti dal server X

4.  DHCP acknowledgement - dal server X ◦  ricevuto

  L’assegnazione dei parametri si chiama lease   Un lease ha una scadenza, specificata nel DHCP

offer

Marco Sommani: Introduzione alle reti 74

Page 38: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

38

Marco Sommani: Introduzione alle reti 75

Marco Sommani: Introduzione alle reti 76

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

Page 39: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

39

  Il NAT è una funzionalità presente nei router che mettono in comunicazione un’isola con indirizzi RFC1918 con l’Internet pubblica

  La funzionalità di NAT è presente in quasi tutti i Router ADSL usati nelle case

  Il NAT è raggiungibile su Internet con un indirizzo pubblico (non RFC1918)

  Il NAT fa in modo che gli Host dell’isola RFC1918 appaiano su Internet con il suo indirizzo pubblico

  Problema del multiplexing: ◦  come determinare a quale Host dell’isola deve essere

consegnato un pacchetto IPv4 destinato all’indirizzo pubblico del NAT?

Marco Sommani: Introduzione alle reti 77

  La soluzione c’è, ma è parziale e funziona solo per i seguenti protocolli: ◦  TCP e UDP: si sfruttano i Port Number ◦  ICMP: si sfrutta il campo “ID” del Header ICMP

  Per il suo funzionamento, il NAT fa uso di tabelle di mapping

  La tabella di mapping per TCP e UDP permette al NAT di sostituire la coppia indirizzo+porta ◦  del mittente, per i pacchetti originati all’interno ◦  del destinatario, per i pacchetti originati all’esterno

Marco Sommani: Introduzione alle reti 78

Page 40: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

40

  Sia data la seguente tabella di mapping:

  Un pacchetto dall’esterno destinato alla porta UDP 46700 dell’indirizzo pubblico è consegnato alla porta UDP 60000 dell’Host 192.168.1.144

  Un pacchetto proveniente dalla porta TCP 60000 di 192.168.2.155 arriva a destinazione con porta sorgente 50000

Marco Sommani: Introduzione alle reti 79

Prot. IP Address interno Port Number interno Port Number esterno TCP 192.168.3.171 51528 46700 UDP 192.168.1.144 60000 46700 UDP 192.168.2.155 60000 55555 TCP 192.168.2.155 60000 50000

  Quasi tutti i NAT offrono la possibilità di aggiungere manualmente voci alla tabella di mapping

  La maggior parte delle voci sono costruite dinamicamente al passaggio del primo pacchetto di una sessione ◦  la costruzione dinamica è possibile solo per le sessioni

originate all’interno   Le voci costruite dinamicamente scadono dopo

un timeout o alla chiusura di una sessione TCP ◦  di solito il timeout TCP è molto più lungo di quello UDP

Marco Sommani: Introduzione alle reti 80

Page 41: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

41

81

Indirizzi pubblici

192.0.2.2

192.1.3.13

192.168.1.0/24

192.168.1.1

192.1.4.56

192.168.1.0/24

192.168.1.1

192.1.1.18

10.1.0.0/16

10.1.0.1

192.1.2.74

10.1.0.0/16

10.1.0.1

192.168.1.64 192.168.1.64

192.168.1.65

192.168.0.0/16 172.16.0.0/12 10.0.0.0/8

Indirizzi rfc1918:

?

comunicazioni dirette generalmente impossibili

  Passano solo ICMP, TCP e UDP   Passano solo le sessioni iniziate all’interno ◦  eccezioni possibili per TCP e UDP utilizzando voci di

mapping statiche   Voci di mapping relative a sessioni con scarso

traffico rischiano di scadere sul NAT prima della fine della sessione, bloccando il traffico

  Difficoltà per quelle applicazioni in cui i partner si scambiano informazioni relative a indirizzi IPv4 e Port Number (es.: VoIP)

Marco Sommani: Introduzione alle reti 82

Page 42: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

42

  È difficile individuare un computer disturbatore, se situato sul lato interno di un NAT

  Impossibilità di comunicazioni dirette fra partner situati sui lati interni di due diversi NAT, se non c’è un “complice” in zona pubblica

  Impossibilità di autenticare end-to-end l’intero pacchetto IP con un codice Hash

  Tutti gli Host situati sul lato interno di un NAT devono condividerne i Port Number ◦  gli Host sul lato interno hanno a disposizione

complessivamente meno di 216 Socket per comunicare con l’esterno

Marco Sommani: Introduzione alle reti 83

Marco Sommani: Introduzione alle reti 84

Commutazione di circuito e di pacchetto IPv4: concetti base Instradamento dei pacchetti IPv4 Amministrazione dell’indirizzamento IPv4 Caratteristiche dei link IP Il protocollo ARP Il Domain Name System Configurazione degli Host IPv4 TCP e UDP I NAT Verifica della raggiungibilità delle destinazioni

Page 43: Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa marco.sommani@iit.cnr.it Corso interno IIT, 14 settembre 2010 Marco Sommani: Introduzione alle reti 2 Commutazione

43

  Comando “ping”: ◦  invia pacchetti ICMP/Echo a una destinazione ◦  mostra il ritardo con cui arrivano le eventuali risposte

  Comando “traceroute” (“tracert” su Windows) ◦  invia ad una destinaizone una serie di pacchetti IP con

TTL crescente ◦  dato TTL=n, l’n-esimo Router deve eliminare il

pacchetto e inviare al mittente un pacchetto ICMP/Time Exceeded ◦  mostra la successione di Router fra sorgente e

destinazione   NB.: molti firewall bloccano gli ICMP, rendendo

inefficaci i due comandi

Marco Sommani: Introduzione alle reti 85

Marco Sommani: Introduzione alle reti 86