3 H2 N Parte2
-
Upload
majong-devjfu -
Category
Technology
-
view
474 -
download
2
Transcript of 3 H2 N Parte2
1
PARTE 3-2
LIVELLO HOST-TO-NETWORK(LAN - Ethernet)
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.71
Sommario (Livello h2n)
• Tecnologie per interconnessioni (livello 1)
• Modalità di accesso e relativi protocolli (livello 2)– Accessi residenziali– Accessi wireless– Accessi istituzionali wired (Ethernet LAN)
2
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.72
Collegamento ad Internet (diretto)
• Caratteristiche collegamento diretto wired– Locali cablati indirizzo IP fissato al momento della configurazione indirizzo IP assegnato dinamicamente al momento
dell’accensione (server DHCP)– Protocolli Ethernet (standard de facto)
Modulo 5:Tecnologie per interconnettere
host alla rete
Parte 3
3
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.74
Adattatori per la comunicazione
• Il protocollo h2n è implementato in una scheda adattatrice, conosciuta anche col nome di Network Interface Card o NIC
• Tutti I dispositivi (host, router, altri dispositivi di rete), per poter essere utilizzati in una rete LAN, devono essere dotati di una scheda di rete
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.75
Network Interface Card (NIC)
Dispositivo generalmente costituito da una RAM, un DSP (Digital Signal Processor), un’interfaccia bus/host e un’interfaccia di collegamento alla rete
Entità semi-autonoma rispetto all’host in cui risiede
NIC
ConnettoreRJ45
4
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.76
Local Area Network• Rete di host collegati tra loro all’interno di un’area fisica
limitata (es., l’interno di un edificio, di un complesso ospedaliero o di un campus universitario) che non superi la distanza di qualche chilometro
• Basata su una rete di trasmissione condivisa a bit rate elevato (LAN storiche a 10 Mbps, successive a 100 Mbps, attuali a 1 Gbps)
Printer FaxPlotter
MailServer
File Server
PC1 PC2 PC3
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.77
Tecnologie per LAN
• Differenti classi di tecnologie per LAN (Standard IEEE 802)
• LAN wired:– Ethernet (LAN 802.3) standard de facto– Token Ring– FDDI– Frame relay
• LAN wireless:– WLAN (LAN 802.11x, con x = a, b, g, i, n)
5
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.78
Accessi da una propria rete LAN• La rete locale (LAN) dell’università o azienda
viene collegata ad un router di Internet• Un cavo dedicato o condiviso collega i computer della LAN
e questi, mediante bridge e switch, al router• Tipiche bande di trasmissione della LAN privata più diffusa
(Ethernet): - 10 Mbps (Ethernet)- 100 Mbps (Fast Ethernet)- 1 Gbps (Gigabit Ethernet)
rete LANprivata
INTERNET
borderrouter
Modulo 6:Ethernet
Parte 3
6
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.80
Ethernet
• Oggi posizione dominante sul mercato
• Inventata a metà degli anni ’70 da Metcalfe che propone Ethernet nella sua tesi di PhD
• Il disegno originale prevedeva un solo canale per connetterei nodi
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.81
Motivi del successo di Ethernet
• Relativamente poco costosa• Si presta all’uso con diverse:
– topologie (modo di connettere gli host della rete)– tecnologie (tecnologia del mezzo trasmissivo
usato per le connessioni)• La rapida diffusione iniziale ha ostacolato l’uscita
di successive tecnologie concorrenti (FDDI, ATM) • Ampiamente adottata perché funziona bene ed è
poco costosa (cosa rara in molti campi …)• Si adatta bene con l’utilizzo dei protocolli TCP/IP
7
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.82
Caratteristiche Ethernet
• Tipo di collegamento– Canale di broadcast (non punto-punto): molti host
connessi ad uno stesso canale di comunicazione
• Modalità di trasmissione– Broadcast: comunicazione fra un singolo mittente e
tutti gli altri nodi
• Gli host di una LAN si scambiano dati su un canale broadcast: Quando un host trasmette un pacchetto sulla LAN, TUTTI gli host collegati lo ricevono
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.83
Sommario
Etherneta. Indirizzi MAC
b. Protocollo ARP
c. Frame Ethernet
d. Accesso al mezzo (Protocollo CSMA/CD)
8
Modulo 6a:Indirizzi
Parte 3
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.85
Indirizzi MAC
• Gli host utilizzano un indirizzo hardware oindirizzo MAC (Media Access Control) per capire chi è il destinatario del dato– Quando un host vuole trasmettere un pacchetto, vi
inserisce l’indirizzo MAC del destinatario e lo immette nella LAN (canale di broadcast)
– Se l’indirizzo di destinazione del pacchetto corrisponde all’indirizzo MAC dell’host ricevente, l’host accetta il pacchetto e lo passa verso l’alto nella pila protocollare
– Se l’indirizzo di destinazione non corrisponde all’indirizzo MAC dell’host ricevente, l’host scarta il pacchetto
9
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.86
Indirizzi MAC (2)• In realtà non è l’host a possedere l’indirizzo MAC, ma è il
NIC (Network Interface Card) dell’host• Ogni NIC ha un indirizzo LAN univoco di 48 bit, tipicamente
rappresentato da 6 coppie di numeri esadecimali.Es., 81:F4:A3:AA:9C:49
• L’indirizzo broadcast è FF-FF-FF-FF-FF-FF (tutti i bit a 1)• L’indirizzo MAC di un NIC è permanente (viene chiamato
anche hardware address), cioè incorporato nella ROM al momento della fabbricazione, però è meglio non fidarsi dell’autenticazione di un computer basandosi sul MAC ...
• Gli indirizzi sono assegnati ai produttori di NIC (Network Interface Card) da un’autorità centrale: la IEEE
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.87
Ciascun host di una LAN ha un indirizzo IP e il NIC di ciascun host e dispositivo di rete ha un indirizzo MAC
Indirizzi di un host
10
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.88
Esempio
# ifconfig eth0eth0 Link encap:Ethernet HWaddr 00:10:5A:9D:88:AF
inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500Metric:1
RX packets:92 errors:0 dropped:0 overruns:0 frame:0TX packets:52 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:14162 (13.8 KiB) TX bytes:6744 (6.5 KiB)Interrupt:9 Base address:0xfc00
Indirizzo MACIndirizzo IP
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.89
Perché l’indirizzo IP non basta?• Se i NIC usassero indirizzi IP invece che
“neutri” indirizzi MAC:– non sarebbero in grado di supportare facilmente altri
protocolli di rete differenti da IP– gli indirizzi IP dovrebbero essere registrati nella memoria
del NIC riconfigurati ad ogni spostamento o riaccensione
• Se i NIC non utilizzassero alcun indirizzo:– ogni pacchetto ricevuto verrebbe passato dal NIC all’host
su cui risiede per verificare la concordanza dell’indirizzo IP i sistemi operativi degli host sarebbero interrotti da ogni pacchetto in transito sulla LAN anche se non diretto a loro!
11
Modulo 6b:Protocolli ARP
Parte 3
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.91
Protocollo per la risoluzione indirizzi
• Gli indirizzi IP non sono riconosciuti dall’hardware• Se conosciamo l’indirizzo IP di un host, come si
può determinare il corrispondente indirizzo MAC?
L’Address Resolution Protocol (ARP) si occupa di trasformare l’indirizzo IP di un host della stessa LAN nel corrispondente indirizzo MAC
• Il protocollo ARP è incluso nella suite di protocolli TCP/IP
12
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.92
v w x y z
v w x y z
v w x y z
w richiede MACy
broadcast
y risponde
Protocollo ARP
• Utilizza due tipi di messaggi ARP: – richiesta (contenente l’indirizzo IP del destinatario)– risposta (contenente il corrispondente indirizzo MAC)
• ARP utilizza il broadcast della richiesta
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.93
Migliorare le prestazioni di ARP
• Cache ARP: per ridurre il traffico sulla rete causato dallo scambio di messaggi ARP, ciascun host effettua un caching temporaneo delle risoluzioni IP/MAC nella propriatabella di instradamento
• Ottimizzazione: il mittente inserisce nella richiesta la corrispondenza fra il proprio indirizzo IP e quello MAC
Indirizzo IP Indirizzo MAC TTL
222.222.222.221 88-B2-2F-54-1A-0F 13:45:00
222.222.222.223 5C-66-AB-90-75-B1 13:52:00
Time To Live (per quanto tempo è valido)
13
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.94
Cache ARP
riccardo@chrysophylax:~$ sudo arpAddress HWtype Hwaddress Flags Mask Ifacens1.ing.unimo.it ether 00:01:03:11:6B:63 C eth0info-gw.ing.unimo.it ether 00:0A:57:05:A0:00 C eth0riccardo@chrysophylax:~$ ping brandy.ing.unimo.it[...]riccardo@chrysophylax:~$ sudo arpAddress HWtype Hwaddress Flags Mask Ifacebrandy.ing.unimo.it ether 00:11:11:5A:EB:41 C eth0ns1.ing.unimo.it ether 00:01:03:11:6B:63 C eth0info-gw.ing.unimo.it ether 00:0A:57:05:A0:00 C eth0
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.95
Protocollo RARP• Reverse Address Resolution Protocol• Funzione opposta al protocollo ARP
– Dato un indirizzo MAC ricava l’indirizzo IP corrispondente• Meccanismo analogo ad ARP
– Broadcast di una richiesta– Solo l’host interessato risponde (in questo caso, il server
RARP) – Struttura dei messaggi uguale al protocollo ARP
• Utilizzato in sistemi con host senza disco che conoscono soltanto il proprio indirizzo MAC– Quando un host senza disco entra in servizio chiede il
proprio indirizzo IP– Un server RARP mantiene le coppie di indirizzi IP/MAC per
gli host associati
14
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.96
Pacchetti ARP/RARP
• Payload di 28 bytes• Hardware type (ht) tipo di
protocollo livello fisico– Ethernet=1
• Network protocol type (pt)tipo di protocollo livello rete– IP=0x800
• Hardware address size (hs)• Network protocol address
size (ps)
Operation (op) 1 ARP richiesta 2 ARP risposta 3 RARP richiesta 4 RARP risposta
Caso tipico: IP su Ethernet Sender hardware address Sender network address Receiver hardware address Receiver network address
ht2
pt2
hs1
ps1
op2
snd hw add6 bytes
rcv hw add6 bytes
rcv net4
snd net4
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.97
Conversazione ARPHEY - Everyone please listen! Will 128.213.1.5 please send me his Ethernet address?
not me
Hi Green! I’m 128.213.1.5, and my Ethernet address is 87:A2:15:35:02:C3
15
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.98
Conversazione RARPHEY - Everyone please listen! Will 87:A2:15:35:02:C3 please send me my IP address?
not me
Hi Green! I’m the RARP server, you are 87:A2:15:35:02:C2 and your IP address is 128.213.1.5
Modulo 6c:Frame Ethernet
Parte 3
16
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.100
Frame Ethernet
• I pacchetti scambiati a livello h2n vengono detti frame
• Indipendentemente dalla topologia, dai mezzi trasmissivi e dalla velocità di trasmissione, tutte le tecnologie Ethernet fanno uso dello stesso formato per il frame che trasmettono (Frame Ethernet)
8 bytes 6 6 2 46-1500 4
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.101
Preambolo
• Campo prembolo (8 byte)• I primi 7 byte hanno valore 10101010• L’ultimo byte ha valore 10101011• I primi 7 byte servono per “attivare” gli adattatori
dei riceventi e sincronizzare i loro orologi con quello del mittente (sincronizzazione necessaria a causa dei tassi di trasmissione diversi da quelli nominali)
• I due 1 consecutivi nell’ultimo byte avvisano l’adattatore del ricevente che la fase di sincronizzazione è terminata e sta arrivando il contenuto vero e proprio del frame
17
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.102
Indirizzo destinazione e sorgente
• Campi indirizzo di destinazione (6 byte) e indirizzo sorgente (6 byte)
• Contengono l’indirizzo MAC di sorgente e destinazione
• Quando un NIC riceve un frame Ethernet con indirizzo di destinazione diverso dal proprio indirizzo MAC, o dall’indirizzo broadcast della LAN, lo scarta. Altrimenti, passa il contenuto del campo dati allo strato di rete
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.103
Tipo
• Campo tipo (2 byte)• Permette a Ethernet di multiplexare i protocolli del
livello di rete• Gli host potrebbero supportare protocolli dello
strato di rete diversi da IP (es., Novell IPX, AppleTalk)
• Gli host supportano i protocolli ARP e RARP• Il campo tipo serve all’adattatore per sapere a
quale dei protocolli dello strato di rete debba essere passato il campo dati di ciascun frame ricevuto
18
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.104
Dati (e dimensione)
• Contiene i dati reali (datagramma IP)• L’unità massima trasferibile (MTU - Maximum
Transfer Unit) per Ethernet è 1500 byte– Se i dati superano i 1500 byte, devono essere
frammentati (si vedrà in seguito)
• La dimensione minima del campo dati è 46 byte– Se la dimensione dei dati è inferiore a 46 byte, il campo
dati deve essere “completato” (stuffing) fino a 46 byte con byte di riempimento (che verranno rimossi all’atto della ricezione)
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.105
CRC
• CRC = Controllo a Ridondanza Ciclica (4 byte)• Scopo = permettere all’adattatore che riceve i dati
di rilevare la presenza di un errore nei bit del frame ricevuto
• Quando un host trasmette il frame calcola un campo CRC, che ottiene dalla correlazione degli altri bit del frame (escluso il preambolo)
• Quando un host riceve il frame ricalcola il CRC utilizzando la stessa funzione e vede se corrisponde Se corrisponde, sa che non c’è stato errore Se non corrisponde? …
19
Modulo 6d:Accesso al mezzo trasmissivo
(Protocollo CSMA/CD)
Parte 3
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.107
Protocollo di accesso multiplo
• I frame Ethernet vengono trasmessi dagli host collegati allo stesso segmento di LAN su un canale condiviso broadcast a bit rate elevato (modalità di accesso multiplo)
• La spedizione contemporanea di più frame rende impossibile la loro corretta interpretazione (rischi di collisione)
E’ necessario un protocollo di accesso al mezzo per coordinare le trasmissioni sul canale condiviso ed evitare collisioni ovvero gestirle
20
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.108
Protocollo CSMA/CD
• Protocollo CSMA/CD (Carrier Sense Multiple Access with Collisione Detection)
• Protocollo ad accesso casuale• Quando un host trasmette, lo fa alla massima velocità
consentita dal canale• Quando un host rileva una collisione, ritrasmette il frame fino
a quando la trasmissione non ha successo• La ritrasmissione non è immediata, ma l’host attende un
periodo di tempo prefissato• Protocollo completamente decentralizzato• IDEA: già nel protocollo ALOHA (University of Hawaii - 1970)
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.109
CSMA/CD: Carrier Sense
• CS=Carrier Sense (rilevazione della portante)• Ogni host che deve trasmettere ascolta il bus e
decide di trasmettere solo se lo trova libero (listen before talking)
Qualcuno sta già trasmettendo?
21
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.110
Inter Frame Gap
• Due frame consecutivi vengono sempre distanziati per un tempo che corrisponde alla lunghezza del pacchetto dati più piccolo (9.6 microsecondi per reti a 10 Mbps)
• Questo intervallo è detto Inter Frame Gap (IFG)• IFG serve a garantire agli host in ascolto sulla rete
di poter distinguere la fine della trasmissione di un frame dall’inizio della trasmissione successiva
• Prima di iniziare la trasmissione del primo frame, un host deve riscontrare che il canale sia libero per la durata di un IFG
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.111
CSMA/CD: Multiple Access
• MA=Multiple Access (accessi multipli)• Nonostante il CS, due host potrebbero decidere
di trasmettere in contemporanea.• Essendo la velocità di propagazione del segnale
finita, ovvero il tempo di propagazione del segnale non nullo, una stazione può presumere che il mezzo sia libero anche se un’altra ha già iniziato a trasmettere
Qualcuno sta già trasmettendo? Io trasmetto
22
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.112
CSMA/CD: Collision Detection
• CD=Collision Detection (rilevamento della collisione)• Se si verifica una sovrapposizione di trasmissioni si ha
una collisione• Per rilevare una collisione, ogni host mentre trasmette
ascolta i segnali sul mezzo, confrontandoli con quelli da esso generati (listen while talking)
• Se viene rilevata una collisione, l’host interrompe la trasmissione
Io trasmetto Io trasmetto
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.113
CSMA/CD: collisioni
• A seguito di una collisione:– Ogni host sospende la trasmissione e trasmette un
segnale di JAMMING (disturbo) per avvisare della collisione tutti gli host. Il disturbo è composto tipicamente da 48 bit
– Il segnale di JAMMING assicura che ogni host rilevi la collisione anche nel caso la collisione sia stata di breve durata (sovrapposizione di pochi bit)
– Gli host trasmittenti ripetono il tentativo di trasmissione dopo un ritardo pseudo-casuale, determinato tramite un algoritmo di exponential back-off, fino ad un massimo di 16 ritrasmissioni
23
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.114
• Il ritardo è K x 512 intervalli di tempo (bit), dove K dipende dal numero di collisioni rilevate
• 1a collisione: scegli K tra {0,1}; • n-esima collisione: scegli K tra {0, 1, …, 2m-1 }
(dove m=min{n,10})
• Da 10a collisione a 15a: scegli K tra {0, …, 1023}• 16a collisione: RINUNCIA
• Algoritmo di exponential back-off la cardinalitàdell’insieme da cui è scelto K cresce esponenzialmentecol numero delle collisioni (fino a n=10)
Binary Exponential Back-off (BEB)
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.115
• 2a collisione, n=2, m=min(2,10)=2, K scelto da {0,1,2,3}• 3a collisione, n=3, m=min(3,10)=3, K scelto da {0,1,...,6,7}• 4a collisione, n=4, m=min(4,10)=4, K scelto da {0,1,...,14,15}• 5a collisione, n=5, m=min(5,10)=5, K scelto da {0,1,…,30,31} • 6a collisione, n=6, m=min(6,10)=6, K scelto da {0,1,…,62,63}• 7a collisione, n=7, m=min(7,10)=7, K scelto da {0,1,…,127}• 8a collisione, n=8, m=min(8,10)=8, K scelto da {0,1,…,255}• 9a collisione, n=9, m=min(9,10)=9, K scelto da {0,1,…,511}• 10a collisione, n=10, m=min(10,10)=10, K scelto da {0,1,…
,1023}• Per tutti i tentativi successivi, fino a 15, K è scelto da
{0,1,…,1023}
BEB: Calcolo di K
24
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.116
• Scopo: si cerca di stimare il livello di carico dellarete per adattare i successivi tentativi diritrasmissione
• Tramite l’incremento esponenziale delledimensioni dell’insieme dei valori tra cui si sceglieil ritardo di attesa, l’host riesce ad adattare la ritrasmissione a situazioni di diverso traffico
• Basso ritardo quando pochi host collidono, mentrein presenza di sovraccarico il ritardo di attesa saràmaggiore
BEB: attesa esponenziale
Protocolli e Architetture di Rete 2009/2010 – Livello H2N 3.117
Riassunto: Algoritmo CSMA/CD
A: controlla il canale, if liberothen { trasmetti e controlla il canale;
if scopri un’altra trasmissione then { // c’è stata una collisione
smetti e manda il segnale di disturbo; incrementa il numero di collisioni; ritarda quanto richiesto dall’algoritmo BEB; goto A}
else {//non c’è stata collisionequando hai finito di trasmettere il frame, setta il numero di collisioni a zeroattendi un intervallo pari a Inter Frame Gapgoto A}
}else {aspetta finché la trasmissione corrente è finita; goto A}