Reti di calcolatori - Università degli Studi di Roma "Tor ... · • Ciascun bit di dati è...

42
Reti di calcolatori Lezione del 27 maggio

Transcript of Reti di calcolatori - Università degli Studi di Roma "Tor ... · • Ciascun bit di dati è...

Reti di calcolatori

Lezione del 27 maggio

TPC/IP ed i livelli 1 e 2

•TCP/IP architettura di rete focalizzata sull’internetworking•Mancano i primi 2 livelli

Connessione ad Internet: due scenari tipici

•Connessione di LAN/MAN via router

•Connessione ad un Internet Service Provider tramite linea punto punto

InternetLANMAN

InternetISP

Protocolli per connessioni punto-punto: SLIP

• SLIP (serial line internet protocol – 1984)

• Molto semplice: invio di pacchetti sulla linea telefonica seriale, senza alcun tipo di controllo

• Non c’è rilevamento o correzione di errori

• Indirizzamento IP statico (problema, perché?)

• Gestione soltanto di traffico IP

• Non standardizzato

• Non supporta alcun tipo di crittografia/autenticazione

Protocolli per connessioni punto-punto: PPP

• PPP (point-to-point protocol)

• Standardizzato dall’IETF

• Gestione del framing con controllo/correzione degli errori

• Controllo dello stato della connessione (LCP – link control protocol)

• Negoziazione dei servizi verso il livello 3 (NCP – network control protocol)

• Indirizzamento IP dinamico (meglio di quello statico, perché?)

I livelli 1 e 2 nelle LAN e MAN

• Sono reti broadcast

• Il tema critico è l’accesso al mezzo trasmissivo condiviso (canale ad accesso multiplo, canale ad accesso casuale)

• C’è un sottostrato del livello data link dedicato a gestire l’accesso al canale: MAC (media access control)

• Accesso statico (TDM/FDM: time/frequency division multiplexing, CDMA code division mutliple access)

• Accesso dinamico (CSMA/CD, Token)

Richiami sulle LAN

• Rete la cui estensione geografica è limitata, dell'ordine di qualche chilometro al massimo,

• Velocità di trasmissione medio-alta, compresa tra 10-1000 Mbps e costi relativamente bassi.

• Esigenza di contenere i costi che porta alla scelta di topologie di rete molto semplici (a bus o ad anello),

• Un utilizzo condiviso delle risorse trasmissive -> broadcast

• Reti altamente affidabili -> controllo degli errori semplificato

• Componenti HW altamente standardizzate

Topologie di LAN• RETE A BUS: richiede un mezzo trasmissivo bidirezionale che

ammetta la propagazione bidirezionale del segnale. La trasmissione è di tipo broadcast, quindi quando una macchina trasmette, tutte le altre ricevono il segnale. I sistemi collegati al bus non si devono occupare di ripetere il segnale o di effettuare instradamento, in quanto tutti i calcolatori sono direttamente raggiungibili. I bus vengono realizzati tipicamente con cavo coassiale. La lunghezza massima del cavo è legata all'attenuazione del cavo ed a un livello massimo del segnale

Topologie di LAN• RETE A STELLA: implica la presenza di un centro stella, ossia

di un nodo che, per assicurare una trasmissione di tipo broadcast, si limita a ripetere il segnale che riceve su tutte le altre interfacce di comunicazione. Il centro stella non opera quindi una commutazione. La stella si realizza collegando ogni macchina al centro stella attraverso un doppio collegamento, uno per direzione, utilizzando tipicamente doppino ritorto o fibra ottica. I problemi di lunghezza del collegamento non sono più legati ad un livello massimo del segnale in trasmissione, in quanto i collegamenti sono di tipo punto-punto e non broadcast. Quindi in funzione della distanza da coprire si sceglie un certo mezzo trasmissivo.

Topologia di LAN• Rete ad anello: prevede il collegamento di ogni macchina alla

macchina successiva, e l'ultima macchina viene collegata alla prima. Ne risulta un anello unidirezionale in cui ogni macchina ha anche la funzionalità di ripetizione dei messaggi delle altre macchine. Quando una macchina deve trasmettere, inserisce il messaggio sull'anello, trasmettendolo alla macchina a valle. Ogni macchina riceve il messaggio e lo ritrasmette in avanti, fino a tornare alla macchina sorgente, che toglie il messaggio dall'anello. La macchina destinataria, oltre a ricevere e ritrasmettere il messaggio, in genere ne modifica una parte per confermare al mittente l'avvenuta corretta ricezione. Questa conferma è caratteristica solo della topologia ad anello.

Accesso statico al canale: un esempio

• Sala conferenze con oratori che devono parlare fra loro (uno a uno, uno a molti, uno a tutti)

• Non possono usare dei segnali (alzata di mano) per prendere la parola

• C’è un moderatore? -> controllo centralizzato

• Ognuno decide se e quando parlare? -> Controllo distribuito

• TDM: segnali multiplati nel tempo (gli oratori parlano a turno)

• FDM: segnati multiplati in frequenza (gli oratori parlano due a due con toni di voce diversi, tutti contemporaneamente)

• CDMA: segnali codificati in modo univoco (gli oratori parlano due e due lingue diverse, tutti contemporaneamente)

Accesso dinamico: ipotesi

• Sul canale possono trasmettere N host/stazioni indipendenti

• C’è un unico canale disponibile per la trasmissione e per la ricezione

• Se due host trasmettono simultameamente due frame, si ha collisione (il segnale si corrompe)

• Ogni host è in grado di riconoscere un segnale di collisione

• Ogni frame entrato in collisione deve essere ritrasmesso

• Non ci sono altri tipi di errore• Gli host, prima di trasmettere possono o meno,

“ascoltare” il canale (carrier sense/ no carrier sense)

CSMA/CD

• Carrier sense multiple access (with) collision detection• Carrieri sense: ogni stazione che deve trasmettere ascolta il

canale per sentire se è occupato;• Multiple access: ogni stazione può trasmettere quando il

canale è libero -> può verificarsi collisione• Collision detection: durante la trasmissione le stazioni

ascoltano per capire se c’è in corso una collisione• Se una stazione rileva una collisione, invia una sequenza di bit

“jamming”• Quando una stazione riceve il segnale di jamming, scarta il

pacchetto ricevuto• La stazione ricevente prova a ritrasmettere dopo un certo

tempo, multiplo casuale di un tempo stabilito• Al massimo vengono fatti un certo numero (es. 16) di tentativi

di trasmissione

CSMA/CD

A B

A B

A B

A B

Canale libero?

mentre parlo ascolto

Assenza di segnale

Frame

Canale libero?

Canale libero?

mentre parlo ascolto

mentre parlo ascolto

FrameFrame

CSAM/CD rilevamento collisioni

• Definizione: round trip delay = tempo necessario per un bit per propagarsi fino agli estremi della rete e tornare indietro alla stazione trasmittente

A B

A B

Canale libero?

mentre parlo ascolto

Assenza di segnale

1 0 0 1 0

A B1 0 0 1 0

Canale libero?

mentre parlo ascolto

1 0 1…

1 0 100110010

mentre parlo ascolto

NB: una stazione riesce a capire se sui suoi pacchetti c’è stata collisione solo mentre trasmette

Round trip delay• A è situata ad un estremo della rete e inizia a trasmettere

• B, all’altro estremo, inizia a trasmettere un attimo prima che il primo bit di A la raggiunga

• B rileva subito la collisione: sequenza di jamming

• Il primo bit di jamming raggiunge A dopo un tempo <= al round trip delay

• La trasmissione di A deve durare almeno quando il round trip delay

• Parametri da accordare

– Lunghezza massima del canale condiviso

– Dimensione minima del pacchetto (perché?)

• Tutte le collisioni si verificano entro un tempo = round trip delay

• Collisioni che si verificano dopo il round trip delay “late collision” sono sintomo di cattivo funzionamento della rete

Dopo una collisione…

• La stazione che ha rilevato che i propri pacchetti hanno subito una collisione, deve ritrasmettere dopo un certo tempo

• L’intervallo di tempo casuale in caso di collisione è regolato da un algoritmo detto Binary Exponential Backoff

• Dopo una collisione il tempo è discretizzato in slot lunghi 51.2 ? sec (sufficienti per trasmettere 64 byte)

• Il tempo di attesa è sempre un multiplo di uno slot

• Il tempo di attesa è scelto a caso in un intervallo il cui estremo superiore dipende dal numero n di collisioni consecutive che si sono verificate:

0 <= tempo attesa <= min(2n – 1; 1023) slot

• Dopo 16 collisioni consecutive viene segnalato un errore al livello superiore

Lo standard IEEE 802

• Riguarda la standardizzazione dei livelli 1 e 2 per le reti locali LAN conformi all’ISO/OSI

• Descrive diversi tipi di reti locali e metropolitane (MAN)

Lo standard IEEE 802

• 802.1 - Overview, Architecture, Bridging, Management; • 802.2 - Logical Link Control; • 802.3 - CSMA/CD detto anche Ethernet; • 802.4 - Token Bus; • 802.5 - Token Ring; • 802.6 - Metropolitan Area Networks - DQDB; • 802.7 - Broadband Technical Advisory Group; • 802.8 - Fiber-optic Technical Advisory Group; • 802.9 - Integrated Data and Voice Networks; • 802.10 - Network Security; • 802.11 - Wireless Networks; • 802.12 - 100VG AnyLAN; • 801.13 - Cable-TV Based Broadband Networks.

Lo standard IEEE 802 ed il modello ISO/OSI

Ieee 802.2 logical link control

802.3

csma/cd

802.4

token bus

802.5

token ring

802.6

dbqb

IEEE ISO/OSI

mac

llc

livello fisico

livello data link

livello network

Il livello fisico nelle LAN 802

• Si occupa di codifica e decodifica;• Creazione e rimozione del preambolo nella trama

informativa, trasmissione e ricezione dei bit di informazione.

• A seconda dello standard 802.x adottato, il livello fisico specifica il tipo di mezzo trasmissivo e la topologia della rete

• 802.3 definisce diversi tipi di cablaggi:– Thick Ethernet (10BASE5) (coassiale giallo)– Thin Ethernet (10BASE2) (coassiale nero)– Doppino telefonico (10BASE-T, 100BASE-T) (<

150 m)– Fibra ottica (10BASE-F, 100BASE-F) (< 2 Km)

Thick Ethernet

• Basato su di un cavo coassiale spesso

• 10Base5 -> lavora a 10 Mbps in baseband con lunghezza massima dei collegamenti di 500 metri

• Possono essere installate 100 macchine su un segmento.

• Ogni stazione contiene un'interfaccia di rete (detta anche scheda ethernet).

Thin Ethernet e Doppino

• Basato su di un cavo coassiale sottile,

• 10Base2 -> velocità di trasferimento di 10 Mbps, 200 metri di lunghezza massima per un singolo collegamento.

• Possono essere installate 30 macchine su un segmento.

• Doppino telefonico; lo standard 10BaseT prevede il collegamento fra una sola coppia di stazioni.

• La lunghezza massima è di 100 metri. Per connettere più di due stazioni serve un ripetitore multiporta detto hub.

Codifica dei segnali

• Nello standard IEEE 802.3 si utilizza la codifica di Manchester

• Ciascun bit di dati è codificato da una transizione tra due valori di tensione:

• HIGH = +0:85 Volts

• LOW = - 0:85 Volts

• Il bit di dati 0 è codificato da una transizione dal valore HIGH al valore LOW

• Il bit di dati 1 è codificato da una transizione dal valore LOW al valore HIGH

Codifica di Manchester

• facilita la sincronizzazione temporale tra le stazioni

• il codice è bilanciato (uguale energia per 0 e 1)

• facilita la rivelazione delle collisioni

Cablaggio

• Ogni segmento dello standard IEEE 802.3 ha una lunghezza massima (che dipende dal tipo di cavo)

• Su ciascun segmento si possono installare un numero limitato di stazioni

• Per costruire reti più grandi si fa uso di ripetitori, che ricevono, amplificano e ritrasmettono i segnali su ciascun segmento

• Dal punto di vista software, due segmenti connessi da due ripetitori sono identici ad un unico segmento

• Esempio:

– la distanza tra ogni coppia di stazioni deve essere minore di 2500 m

– tra due stazioni ci possono essere al più 4 ripetitori

– non ci possono essere più di 1024 stazioni

Ripetitori

• I ripetitori lavorano a livello 1;• Hanno almeno due porte attaccate ai due rami della

rete da collegare -> il risultato è visto come se fosse un unico cavo;

• Replicano il segnale – sequenza di bit – che ricevono su di una porta verso tutte le altre porte:– I bit sono inoltrati immediatamente– NON sono macchine store and forward

• Se individuano collisione su di una porta mandano la sequenza di jamming su tutte le altre porte

• Possono escludere una porta quando sul un ramo rilevano troppe collisioni

Esempio di rete con ripetitori

R

R

Switched hub

• In un repeater tradizionale ciascuna di coppia di stazioni collegate può creare una collisione

• In uno switched hub, le stazioni collegate sono divise in domini di collisione

• Ciascun dominio include un certo numero di stazioni (tra 1 e 8)

• L’hub bufferizza i frame provenienti da domini diversi, garantendo cosìche non si verifichino collisioni

• Una collisione all’interno di un dominio è gestita come una normale collisione

• L’uso di uno switched hub può migliorare il throughput della rete di un ordine di grandezza

Il livello data link nelle LAN 802

• I canali trasmissivi sono ritenuti affidabili, pertanto non è necessario in genere correggere gli errori a questo livello.

• Lo standard IEEE 802 ha suddiviso questo livello in due sottolivelli :– Media Access Control - MAC; – Logical Link Control - LLC;

• I vari standard differiscono a livello fisico e nel sottolivello MAC, ma sono compatibili LLC.

Sottolivello MAC

• Le operazioni svolte dal livello MAC sono:

– assemblamento dei dati provenienti dal sottolivello superiore LLC in frame con l'indirizzo sorgente, di destinazione e il campo controllo degli errori;

– disassemblamento dei frame ed invio al sottolivello LLC;

– riconoscimento dell'indirizzo;

– individuazione degli errori, il canale trasmissivo viene ritenuto sufficientemente esente da errori, al più viene scartata il frame errato, senza richiesta di ritrasmissione;

– regolamentazione dell'accesso al mezzo trasmissivo;

– schedulazione delle trasmissioni

• I principali standard per il sottolivello MAC sono IEEE 802.3 Ethernet, 802.4 Token Bus, 802.5 Token Ring, 802.6 DQDB.

Struttura del frame

• Preamble: 7 byte uguali a 10101010 (producono a 10 Mbps un’onda quadra per 5.6 sec)

• Start of frame: 1 byte delimitatore uguale a 10101011• Indirizzo destinazione: indirizzo della stazione a cui è destinato

il frame• Indirizzo sorgente: indirizzo della stazione che ha trasmesso il

frame• Lunghezza: numero di byte nel campo Dati• Dati: contiene il pacchetto di livello Network• Pad: utilizzato per garantire che il frame sia lungo almeno 64

byte (esclusi Preamble e Start of frame)• Checksum: bit di controllo calcolati tramite CRC

Il frame nelle LAN

Indirizzi degli host nelle LAN• L’apparato fisico ( la circuiteria) con cui un host si

collega alla rete si chiama scheda di rete

• Ogni host può avere più di una scheda di rete con cui “guardare” reti diverse

• Per poter riconoscere ciascuna stazione, ad ogni scheda di rete è assegnato un unico identificatore a 6 byte (= 48 bit)

• Si scrivono come 6 coppie di cifre esadecimali

Indirizzi MAC

• Se il bit più significativo di un indirizzo è posto a 1, l’indirizzo è di tipo multicast: specifica un gruppo di stazioni

• Se tutti i bit di un indirizzo sono posti a 1, l’indirizzo è di tipo broadcast: specifica tutte le stazioni della rete locale

• Si compongono di due parti grandi 3 Byte ciascuna: – I tre byte più significativi indicano il lotto di indirizzi

acquistato dal costruttore della scheda, detto anche vendor code o OUI (Organization Unique Identifier).

– I tre meno significativi sono una numerazione progressiva decisa dal costruttore

Alcuni OUI

Gestione del canale

• Protocollo MAC dell’IEEE 802.3: Ethernet

• E’ sostanzialmente il protocollo 1-persistent CSMA/CD:

– Prima di trasmettere si aspetta che il canale sia libero

– Appena si libera, si inizia a trasmettere

– Chiunque rileva una collisione genera un burst di rumore (jam) lungo 48 bit

– In caso di collisione, ciascun trasmittente aspetta un ritardo casuale e poi

– Ricomincia da capo

Gestione del canale (2)

• Protocollo MAC dell’IEEE 802.4 802.5 reti con token

• Ciascuna stazione vede solo la stazione che la precede e quella che la segue (circolarità)

• Il controllo dell’accesso al mezzo condiviso è fatto tramite un token - gettone

• Chi possiede il token può parlare

• Se una stazione non deve parlare, passa immediatamente il token alla stazione successiva

• Il token passa da una stazione ad un’altra lungo l’anello/bus condiviso

Sottolivello LLC

• Il livello LLC ha due funzioni principali :

– serve come interfaccia tra i vari standard visti per il sottolivello MAC e il livello di rete, infatti il sottolivello LLC è comune a tutti gli standard 802;

– fornisce, se richiesto dal livello superiore, un servizio più sofisticato di quello offerto dai vari sottolivelli MAC (che offrono solo servizi a datagramma). Esso infatti offre:

• servizi a datagramma;

• servizi a datagramma confermati;

• servizi affidabili orientati alla connessione.

• Mentre il sottolivello MAC si limita a rilevare gli errori e a scartare le trame errate, LLC invece espleta la gestione degli errori, richiedendo le ritrasmissioni delle trame errate.

Evoluzione delle LAN

• Obiettivi

– 100 Mb/s sui PC

– 1000 Mb/s ed oltre sulle dorsali

– Compatibilità con le tecnologie wireless

• Motivazioni

– Applicazioni multimediali

– Trasferimenti di immagini

– Diffusione dell’uso dei portatili

Fast ethernet

• Ethernet a 100 Mb/s• Algoritmo di allocazione del canale invariato• Parametri di funzionamento:

– Velocità 100 Mb/s– Velocità di trasmissione di 1 bit 10 ns– Round trip delay 51.2 ns

• Funzionamento anche a 10 Mb/s : la scelta della velocità avviene tramite negoziazione fra le stazioni coinvolte

• Mezzi trasmissivi compatibili:– UTP cat.5 100 baseT– Fibra ottica 100 baseF

Gigabit ethernet

• E’ lo standard IEEE 802.3z• Usa il formato standard Ethernet ed è compatibile con

10BASE-T e 100BASE-T• Permette sia l’uso di collegamenti punto a punto che canali

broadcast• I canali broadcast utilizzano hub, i collegamenti punto a punto

utilizzano• dispositivi chiamati “commutatori” (bridge di elevata capacità)• Sui collegamenti punto a punto opera in full-duplex a 1 Gbps• Permette di avere sulle dorsali sottoreti con standard IEEE 802

diversi (mac diversi!)– Necessità di algoritmi di conversione dei formati mac

• Modifica dell’algoritmo CSMA/CD• Quasi esclusivamente in fibra ottica