livello collegamento data-link e medium access...

40
Reti (già “Reti di Calcolatori”) Livello Collegamento Data-Link e Medium Access Control Renato Lo Cigno http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks

Upload: hoangnga

Post on 10-May-2018

214 views

Category:

Documents


1 download

TRANSCRIPT

Reti(già “Reti di Calcolatori”)

Livello CollegamentoData-Link e Medium Access Control

RenatoLoCigno

http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks

Acknowledgement

• Credits– Partof thematerialis based onslides provided by thefollowing authors• JimKurose,KeithRoss,“ComputerNetworking:ATopDownApproach,”4thedition,Addison-Wesley,July2007• DouglasComer,“ComputerNetworksandInternets,”5thedition,PrenticeHall• Behrouz A.Forouzan,Sophia Chung Fegan,“TCP/IPProtocol Suite,”McGraw-Hill,January 2005

• Latraduzione,sepresente,èingeneraleopera(eresponsabilità)deldocente

[email protected] Livello2- DataLinkeMAC 2

[email protected] Livello2- DataLinkeMAC 3

Modello a strati

2 - Coll. dati

3 - Rete

4 - Trasporto

5 - Sessione

6 - Presentazione

1 - Fisico

7 - Applicazione

2 - Coll. dati

3 - Rete

4 - Trasporto

5 - Sessione

6 - Presentazione

1 - Fisico

7 - Applicazione

2 - Coll. dati

1 - Fisico

2 - Coll. dati

1 - Fisico

End System End SystemIntermediate System Intermediate System

[email protected] Livello2- DataLinkeMAC 4

1 - Fisico

Livello Data Link

Livelli diapplicazione

(utente)

Livelli di rete2 - Collegamento dati

Fisico

3 - Rete

4 - Trasporto

5 - Sessione

6 - Presentazione

7 - Applicazione

Collegamento dati: Ethernet, PPP, ATM, ...

Rete: IP

Trasporto: TCP - UDP

Applicaz.: HTTP, E-mail

Livello Data Link

• Obiettivoprincipale:fornireallivellodiretediduemacchineadiacentiuncanaledicomunicazione ilpiùpossibileaffidabile– macchineadiacentià fisicamenteconnessedauncanaledicomunicazione (es.uncavocoassiale,doppinotelefonico)

– canaledicomunicazioneà “tubodibit”,ovveroibitsonoricevutinellostessoordineincuisonoinviati

• Percompierequestoobiettivo,cometuttiilivelliOSI,illivello2offredeiserviziallivellosuperiore(livellodirete)esvolgeunaseriedifunzioni

• Problema:ilcanalefisicononèideale– erroriditrasmissionetrasorgenteedestinazione– necessitàdidovergestirelavelocitàditrasmissionedeidati– ritardodipropagazionenonnullo

[email protected] Livello2- DataLinkeMAC 5

Servizi offerti al livello superiore

• Servizioconnectionless senzariscontro(ACK)– nonvieneattivatanessunaconnessione– inviodelletramesenzaattenderealcunfeedback dalladestinazione

• Seunatramavienepersanoncisonotentativiperrecuperarla,ilcompitovienelasciatoailivellisuperiori

– lamaggiorpartedelleLANcablateutilizzanoquestoservizio• Servizioconnectionless conacknowledge

– nonvieneattivatanessunaconnessione– ognitramainviataviene“riscontrata”inmodoindividuale– leretiwirelessLANusanoquestoservizio

• Servizioconnection-oriented conacknowledge– vieneattivataunaconnessionee,alterminedeltrasferimento,essaviene

abbattuta– ognitramainviataviene“riscontrata”inmodoindividuale– leretitelefoniche/cellulariusanoquestoservizio

[email protected] Livello2- DataLinkeMAC 6

[email protected] Livello2- DataLinkeMAC 7

livello 3

livello 2

...

Visibilità della rete del livello 2

livello 3

livello 2

...

livello 3

livello 2

...

Visibilità limitata al singolo link (o sottorete)

Visibilità estesa a tutta la rete

Dove è implementato il livello DL?

r In tutti gli hostr È realizzato in un adattatore

(NIC, network interface card)m scheda Ethernet, PCMCIA,

802.11m Implementa il livello di

collegamento e fisicor È una combinazione di

hardware, software e firmware

controllore

trasmissione

CPU memoria

host bus (es, PCI)

adattatoredi rete

host schematic

applicazionetrasportorete

collegamento

collegamentofisco

[email protected] Livello2- DataLinkeMAC 8

Funzioni di competenza del livello 2

• Leprincipalifunzionisvoltedallivello2sono:– framing

• delimitazionedelletrame– rilevazione/gestioneerrori

• controllaselatramacontieneerroriedeventualmentegestisceilrecupero

– controllodiflusso• gestiscelavelocitàditrasmissione

– controllodiaccessoalcanalepercanalibroadcast• MAC:MediumAccessControl,coordinachitrasmetteechiriceveincanaliconmoltestazionicollegate

[email protected] Livello2- DataLinkeMAC 9

Framing

• Illivello2ricevedallivellosuperiore(rete)deipacchetti• Considerandoche:– lalunghezzadeipacchetti(dilivello3)edellecorrispondentitrame(livello2)èvariabile

– isisteminonsonosincronizzatitraloro,ovverononhannounorologiocomunechesegnalastessaorapertutti

– illivello1trattasolobit,equindinonèingradodidistinguereseunbitappartieneadunatramaoaquellasuccessiva

• ...nasceilproblemadelladelimitazionedelletrame• Lafunzionalitàdiframing (frame=trama)èdunquedirendere

distinguibileunatramadall’altraattraversol’utilizzodiopportunicodiciall’inizioeallafinedellatramastessa

[email protected] Livello2- DataLinkeMAC 10

[email protected] Livello2- DataLinkeMAC 11

Esempio

pacchetti dal livello 3

[Header]

H T H T H T H Ttrame/frame del livello 2 con delimitatori

[trailer]

flusso di bit del livello 1

Modalità di Framing

• Esistonodiversetecnicheperimplementareilframing:– inserireintervallitemporalifratrameconsecutive• problema:pernaturaintrinsecaleretidi

telecomunicazionenondannogaranziesulrispettodellecaratteristichetemporalidelleinformazionitrasmesse

• gliintervalliinseritipotrebberoessereespansioridottigenerandoproblemidiricezione

– marcareinizioeterminediognitrama1. Charactercount2. Characterstuffing3. Startingandendingflags(bitstuffing)4. Physicallayercodingviolations

[email protected] Livello2- DataLinkeMAC 12

Framing: Character stuffing

• OgnitramainiziaeterminaconunasequenzadicaratteriASCIIbendefinita– DLE(DataLinkEscape)+STX(StartofTeXt)– DLE(DataLinkEscape)+ETX(EndofTeXt)

• Senellatrasmissionedidatibinari,unasottosequenzadibitcorrispondeaicaratterispeciali...

• ...lasorgenteduplicailcarattereDLE– character stuffing

[email protected] Livello2- DataLinkeMAC 13

Framing: Bit Stuffing

• Ognitramapuòincludereunnumeroarbitrariodibit• Ognitramainiziaeterminaconunospecialepatterndibit,

01111110,chiamatobytediflag• Intrasmissioneselasorgenteincontra5bit“1”consecutivi,

aggiungeuno“0”(indipendentementedalbitchesegue)– bitstuffing– es.lasequenza“01111110”ètrasmessacome“011111010”

• Ilricevitorequandoriceve5“1”consecutivieliminasemprelo0chesegue,ripristinandolasequenzaoriginale

[email protected] Livello2- DataLinkeMAC 14

Framing con violazione del livello fisico

• Tecnicabasatasusistemicheutilizzanoridondanzaalivellofisico– es.ognibitdiinformazionevienetrasmessoutilizzandounacombinazionediduesimboli”alto”e“basso”alivellofisico• ‘1’ð ’AB’• ‘0’ð ’BA’

“01101”ð

– ’AA’e’BB’nonsonousateperidatiepossonoesserequindiutilizzateperdelimitarelatrama

[email protected] Livello2- DataLinkeMAC 15

Rilevazione dell’errore

• Illivellofisicooffreuncanaleditrasmissioneconerrori– errorisulsingolobit– replicazionedibit– perditadibit

• Perlarilevazioneditalierrori,nell’header diognitramaillivello2inserisceuncampodicontrollo(checksum)

• lchecksum èilrisultatodiuncalcolofattoutilizzandoibitdellatrama• ladestinazioneripeteilcalcoloeconfrontailrisultatoconilchecksum:se

coincidelatramaècorretta

level 3 packet

H Tck

calcolo checksum

H Tck

calcolo checksum

confrontoci sono errori?

trasmissione

[email protected] Livello2- DataLinkeMAC 16

Controllo di flusso

• Realizzatoconprotocolliafinestra(v.liv.trasporto),ingenerestop&wait

• Ilcontrollodellavelocitàditrasmissionedellasorgenteèbasatosufeedbackinviatiallasorgentedalladestinazioneindicando– dibloccarelatrasmissionefinoacomandosuccessivo– laquantitàdiinformazionecheladestinazioneèancoraingradodigestire

• Ifeedbackpossonoessere– neiserviziconriscontro,gliack stessi– neiservizisenzariscontro,deipacchettiappositi

[email protected] Livello2- DataLinkeMAC 17

Correzione errori ARQ

• Spessoassentenelleretilocalicablate

• PresenteinvecenormalmentenelleretiwirelessLAN

• Presentenelleretitradizionaliditipogeografico

• Comealivellotrasportobasatosuprotocolliafinestra

– normalmentestop&wait

– sulsingolocanalenonhoproblemidiritardovariabile

• Ritrasmissionedell’interatrama,controllobasatosuCRC

[email protected] Livello2- DataLinkeMAC 18

Il sotto-livello MAC

Introduzione di un nuovo sotto-livello

• Illivello2è direttamentecollegatoallivellofisicoealmezzodicomunicazione

• Ilmezzopuòessere:– dedicato(retipunto-punto)– condiviso(retibroadcast)

• Seilmezzofisicoècondiviso,è necessario coordinare l’accesso– gestionedellacompetizioneperlarisorsatrasmissiva– selezionedell’host chehaildirittoditrasmettere

• Vieneintrodottounsotto-livelloallivello2chegestiscel’accesso– MAC(MediumAccessControl)

[email protected] Livello2- DataLinkeMAC 20

Livello MAC

2high - Collegamentodati

2low – MediumAccessControl

Gestisce lealtre funzionalità dellivello2,inparticolare il controllo diflusso

Gestiscelepolitiche/regolediaccessoadunmezzocondiviso

7 - Applicazione

6 - Presentazione

5 - Sessione

4 - Trasporto

3 - Rete

1 - Fisico

2 - Collegamento dati

[email protected] Livello2- DataLinkeMAC 21

Definizione del problema

• Permezzocondiviso siintendecheununicocanaletrasmissivopuòessereusatodapiùsorgenti

– laptopesmartphone collegaticonWiFi condividono“l’etere”ovveroleonderadiochetrasportanoisegnali

– PCcollegatiauncavocoassialecondividonoilcavostesso

• È necessariodefinireunaseriediregoleperpoterutilizzareilmezzo(tecnichediallocazionedelcanale)

– seduesorgentiparlanocontemporaneamentevisaràcollisioneèl’informazioneandràpersa

[email protected] Livello2- DataLinkeMAC 22

Tecniche di allocazione del canale

• Duecategoriediallocazionedelcanaletrasmissivo– allocazionestatica• ilmezzotrasmissivoviene“partizionato”eogniporzionevienedataallediversesorgenti• ilpartizionamentopuòavvenireinbase:– altempo:ognisorgentehaadisposizioneilmezzoperundeterminatoperiodo– allafrequenza:ognisorgentehaadisposizioneunadeterminatafrequenza

– allocazionedinamica• ilcanalevieneassegnatodivoltainvoltaachinefarichiesta

[email protected] Livello2- DataLinkeMAC 23

Allocazione statica

• Frequency DivisionMultipleAccess(FDMA)• TimeDivisionMultipleAccess(TDMA)• CodeDivisionMultipleAccess(CDMA)• Buonaefficienzainsituazionidipochiutenticonmoltocarico

costanteneltempo• Meccanismidisempliceimplementazione(FDM)• Tuttavia...– moltiutenti– trafficodiscontinuo

• ...portanoascarsaefficienzadiutilizzodellerisorsetrasmissive– lerisorsededicateagliutenti“momentaneamentesilenziosi”sonoperse

[email protected] Livello2- DataLinkeMAC 24

Allocazione dinamica

• Ilcanaletrasmissivopuòessereassegnato:– aturno:vienedistribuitoil“permesso”ditrasmettere;laduratavienedecisadallasorgente

– acontesa:ciascunasorgenteprovaatrasmettereindipendentementedallealtre

• Nelprimocasodevonoesisteremeccanismiperl’assegnazionedelpermessoditrasmettere– overhead digestione– sonoiprotocollipiù usati nelle reti cellulari

• Nelsecondocasononsonoprevistimeccanismiparticolari– sorgenteedestinazionesonoilpiùsemplicipossibile– sonoiprotocollipiù usati nelleretiLAN

[email protected] Livello2- DataLinkeMAC 25

tecniche di assegnazione

tecniche di allocazione

modalità di trasmissione

Riassunto

trasmissione

broadcast

dinamica

a turno

token ringtoken pass

...

punto - punto

router - router

PC - router... statica

TDMAFDMA

CDMA...a contesa

alohaslotted aloha

CSMACSMA-CD

...

[email protected] Livello2- DataLinkeMAC 26

Allocazione dinamica con contesa

Singlechannel assumption• unicocanalepertuttelecomunicazionietempodipropagazionetrascurabile

Stationmodel• N stazioniindipendentiognunadellequalièsorgenteditramedilivello2

• tramegeneratesecondoladistribuzionediPoisson conmediaG

• lalunghezzadelletrameèfissa,ovveroiltempoditrasmissioneècostanteepariaT (tempoditrama)

• unavoltagenerataunatrama,lastazioneèbloccatafinoalmomentodicorrettatrasmissione

Collision assumption• duetramecontemporaneamentepresentisulcanalegeneranocollisione

• nonsonopresentialtreformedierrore

Tempo...• continuo:latrasmissionedellatramapuòiniziareinqualunqueistante

• slotted:latrasmissionedellatramapuòiniziaresoloinistantidiscreti

Ascoltodelcanale...• carrier sense:lestazionisonoingradodiverificareseilcanaleèinusoprimadiiniziarelatrasmissionediunatrama

Ipotesieregoledelgiocoperl’analisidellecaratteristicheeprestazionideiprotocolliacontesa

[email protected] Livello2- DataLinkeMAC 27

Protocolli di accesso multiplo

• Inletteraturasonodisponibilimoltialgoritmidiaccessomultiploalmezzocondivisoconcontesa

• Principalialgoritmi(utilizzatidaiprotocolli):– ALOHA• PureALOHA• Slotted ALOHA

– CarrierSense MultipleAccessProtocols• CSMA• CSMA-CD(CollisionDetection:conrilevazionedellacollisione)• CSMA-CA(CollisionAvoidance:contecnicheperridurrelaprobabilitàdicollisione)

[email protected] Livello2- DataLinkeMAC 28

Pure ALOHA

• Definitonel1970daN.Abramson all’universitàdelleHawaii• Algoritmo:– unasorgentepuòtrasmettereunatramaogniqualvoltavisonodatidainviare(continuous time)

• collisioneð lasorgenteaspettauntempocasuale eritrasmettelatrama

• untempodeterministicoporterebbeadunasituazionedicollisioneall’infinito

[email protected] Livello2- DataLinkeMAC 29

Periodo di vulnerabilità

• Sidefinisce“periododivulnerabilità”l’intervalloditempoincuipuòavvenireunacollisionecheinvalidaunatrasmissione

• DettoTiltempoditramaet0 l’iniziodellatrasmissionedapartediunasorgente,ilperiododivulnerabilitàèparialdoppiodeltempoditrama– nelmomentoincuiiniziaatrasmettere(t0),nessunaaltrasorgentedeveaver

iniziatolatrasmissionedopol’istanteditempot0 -Tenessunaaltrasorgentedeveiniziarelatrasmissionefinoat0 +T

tempo

t0t0-T t0+T

periodo di vulnerabilità: 2T

[email protected] Livello2- DataLinkeMAC 30

Prestazioni

• Ipotesi– tramedilunghezzafissa(odistribuiteinmodoesponenziale,noncambia)– tempoditrama:tempo(medio)necessariopertrasmettereunatrama– numerodistazioniinfinito(ocomunquemoltogrande)

• Trafficogenerato(numeroditramepertempoditrama)segueladistribuzionediPoisson conmediaG– Ginglobaancheilnumerodiri-trasmissionidovutoacollisioni

• Ilthroughput realeèdatoda– numeromedioditrasmissioni*probabilitàchenoncisianotrasmissioni

pertuttoilperiododivulnerabilità(2tempiditramaconsecutivi)à S =G*P[0trasmissioniper2T],ovvero

G = numero medio di trame trasmesse nel tempo di tramaS = numero medio di trame trasmesse con successo (throughput)

GeGS 2−⋅[email protected] Livello2- DataLinkeMAC 31

Prestazioni

• ALOHApermettealmassimodisfruttareil19%deltempo,ilmassimosihaquandoiltrafficooffertoè ~0.5voltelacapacitàdelcanale.Protocollo instabile!!

Throughput

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

0

0.08

0.15

0.23 0.3

0.38

0.45

0.53 0.6

0.68

0.75

0.83 0.9

0.98

1.05

1.13 1.2

1.28

1.35

1.43 1.5

1.58

1.65

1.73 1.8

1.88

1.95

2.03 2.1

2.18

2.25

2.33 2.4

G (trasmissioni per tempo di trama)

S (

thro

ughp

ut p

er t

empo

di t

ram

a)

GeGS 2−⋅=

[email protected] Livello2- DataLinkeMAC 32

Slotted ALOHA

• Propostonel1972daRobertspermigliorarelacapacitàdiPureALOHA• Basatosuipotesidislotted time (temposuddivisoadintervallidiscreti)• Algoritmo:

– PureALOHA– latrasmissionediunatramapuòiniziaresoloadintervallidiscreti– necessariasincronizzazionetrastazioni

• Periododivulnerabilità:T(tempoditrama)

tempot0t0-T t0+T

periodo di vulnerabilità: T

[email protected] Livello2- DataLinkeMAC 33

Prestazioni

Ilperiododivulnerabilitàèdimezzato,quindiilthroughputrealeèdatoda

• Slotted ALOHApermettealmassimodisfruttareil37%deglislotliberiacarico~1

• Ilprotocolloèinstabile!!

• Bisogna distribuireunsincronismo

GeGS −⋅=Throughput

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

0,4

00,075 0,1

50,225 0,3

0,375 0,4

50,525 0,6

0,675 0,7

50,825 0,9

0,975 1,0

51,125 1,2

1,275 1,3

51,425 1,5

1,575 1,6

51,725 1,8

1,875 1,9

52,025 2,1

2,175 2,2

52,325 2,4

G (tentativi di trasmissione per tempo di frame)

S (

thro

ug

hp

ut

per

tem

po

di f

ram

e)

[email protected] Livello2- DataLinkeMAC 34

Carrier Sense Multiple Access (CSMA)

• Lestazionipossonomonitorarelostatodelcanaleditrasmissione

• Lestazionisonoingradodi“ascoltare”ilcanale primadiiniziareatrasmettere perverificaresec’èunatrasmissioneincorso– seilcanaleèlibero,sitrasmette– seèoccupato,sonopossibilidiversevarianti

• non-persistent (0-persistent)– rimandalatrasmissioneadunnuovoistantet1 >>t0+T,sceltoinmodocasuale

• persistent (1-persistent)– nelmomentoincuisiliberailcanale,lastazioneiniziaatrasmettere

– sec’ècollisione,comeinALOHA,siattendeuntempocasualeepoisicercadiritrasmettere

[email protected] Livello2- DataLinkeMAC 35

CSMA: modalità p-persistent

• ascoltailcanale– seilcanaleèliberositrasmette;– seèoccupato,siattendecheilcanalediventilibero• quandoilcanaleèlibero– sitrasmetteconprobabilitàp– conprobabilità (1-p)si rimanda latrasmissione adunnuovoistantet1 >>t0+T,sceltoinmodocasuale

– sec’ècollisione• si rimanda latrasmissione adunnuovoistantet1 >>t0+T,sceltoinmodocasuale

[email protected] Livello2- DataLinkeMAC 36

CSMA: Periodo di vulnerabilità

• legatoalritardodipropagazionedelsegnaleτ,ealtemponecessario arilevare il segnale sul canale Ta– seunastazionehainiziatoatrasmettere,mailsuosegnalenonèancoraarrivatoatuttelestazioni,qualcunaltropotrebbeiniziarelatrasmissione

– periododivulnerabilitàTv =τ +Ta• Ingenerale,ilCSMAvieneusatoinretiincuiilritardodi

propagazioneτ è<<diT(tempoditrama)

tempo

τ

stazione A

stazione Btempo

Ta

τ[email protected] Livello2- DataLinkeMAC 37

Confronto efficienza algoritmi

(fonte: A. Tanenbaum, Computer Networks)

[email protected] Livello2- DataLinkeMAC 38

Collision Detection (CSMA-CD)

• Miglioramento– lestazionichestatrasmettendorilevanolacollisione,interromponoimmediatamentelatrasmissione

• Inquestomodo,unavoltarilevatacollisione,nonsisprecatempoatrasmetteretramegiàcorrotte

• CSMA-CD1pdiventamoltoefficienteesipuò rendere stabile• Perrilevareunacollisionesiascoltailcanaleselapotenzapresente

è superiore aquella che sto trasmettendo ...• CDsipuò usare solamente sulle reti cablate perché sulle reti

wirelessè sostanzialmente impossibile rilevare unsegnale“aggiuntivo”rispetto aquello trasmesso

[email protected] Livello2- DataLinkeMAC 39

Collision Avoidance (CSMA-CA)

• Senonèpossibilerilevarelecollisionieseiltempoditrasmissioneè grande rispetto alla propagazione (T>>τ +Ta )– SituazionetipicadelleretiWirelessLAN

• Alloranonconvienecomportarsiinmodo1pperchè lecollissionicostanomoltocare

• CollisionAvoidanceconsistenelcomportarsiinmodop-persistenteconunapersistenzachedipendedallasituazionedellarete

• TermineintrodottonellewirelessLANconCSMA,perdifferenziareilnomedelprotocollodaquellousatosullereticablate

• MaggioridettaglinellapartededicataaEtherneteWiFi.

[email protected] Livello2- DataLinkeMAC 40