3 H2 N Parte2

24
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)

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}