Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa [email protected]...
Transcript of Commutazione di circuito e di pacchetto - CNR1! Marco Sommani CNR-IIT, Pisa [email protected]...
1
Marco Sommani CNR-IIT, Pisa
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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