Livello Collegamento Data-Link e Medium Access...

Post on 10-May-2018

214 views 1 download

Transcript of Livello Collegamento Data-Link e Medium Access...

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

locigno@disi.unitn.it- Livello2- DataLinkeMAC 2

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- Livello2- DataLinkeMAC 6

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- Livello2- DataLinkeMAC 8

Funzioni di competenza del livello 2

• Leprincipalifunzionisvoltedallivello2sono:– framing

• delimitazionedelletrame– rilevazione/gestioneerrori

• controllaselatramacontieneerroriedeventualmentegestisceilrecupero

– controllodiflusso• gestiscelavelocitàditrasmissione

– controllodiaccessoalcanalepercanalibroadcast• MAC:MediumAccessControl,coordinachitrasmetteechiriceveincanaliconmoltestazionicollegate

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- Livello2- DataLinkeMAC 10

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- Livello2- DataLinkeMAC 12

Framing: Character stuffing

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

• Senellatrasmissionedidatibinari,unasottosequenzadibitcorrispondeaicaratterispeciali...

• ...lasorgenteduplicailcarattereDLE– character stuffing

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- Livello2- DataLinkeMAC 17

Correzione errori ARQ

• Spessoassentenelleretilocalicablate

• PresenteinvecenormalmentenelleretiwirelessLAN

• Presentenelleretitradizionaliditipogeografico

• Comealivellotrasportobasatosuprotocolliafinestra

– normalmentestop&wait

– sulsingolocanalenonhoproblemidiritardovariabile

• Ritrasmissionedell’interatrama,controllobasatosuCRC

locigno@disi.unitn.it- 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)

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- Livello2- DataLinkeMAC 21

Definizione del problema

• Permezzocondiviso siintendecheununicocanaletrasmissivopuòessereusatodapiùsorgenti

– laptopesmartphone collegaticonWiFi condividono“l’etere”ovveroleonderadiochetrasportanoisegnali

– PCcollegatiauncavocoassialecondividonoilcavostesso

• È necessariodefinireunaseriediregoleperpoterutilizzareilmezzo(tecnichediallocazionedelcanale)

– seduesorgentiparlanocontemporaneamentevisaràcollisioneèl’informazioneandràpersa

locigno@disi.unitn.it- Livello2- DataLinkeMAC 22

Tecniche di allocazione del canale

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

– allocazionedinamica• ilcanalevieneassegnatodivoltainvoltaachinefarichiesta

locigno@disi.unitn.it- Livello2- DataLinkeMAC 23

Allocazione statica

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

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

• ...portanoascarsaefficienzadiutilizzodellerisorsetrasmissive– lerisorsededicateagliutenti“momentaneamentesilenziosi”sonoperse

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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

...

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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)

locigno@disi.unitn.it- Livello2- DataLinkeMAC 28

Pure ALOHA

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

• collisioneð lasorgenteaspettauntempocasuale eritrasmettelatrama

• untempodeterministicoporterebbeadunasituazionedicollisioneall’infinito

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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−⋅=locigno@disi.unitn.it- 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−⋅=

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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)

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- 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

τlocigno@disi.unitn.it- Livello2- DataLinkeMAC 37

Confronto efficienza algoritmi

(fonte: A. Tanenbaum, Computer Networks)

locigno@disi.unitn.it- 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

locigno@disi.unitn.it- Livello2- DataLinkeMAC 39

Collision Avoidance (CSMA-CA)

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

• Alloranonconvienecomportarsiinmodo1pperchè lecollissionicostanomoltocare

• CollisionAvoidanceconsistenelcomportarsiinmodop-persistenteconunapersistenzachedipendedallasituazionedellarete

• TermineintrodottonellewirelessLANconCSMA,perdifferenziareilnomedelprotocollodaquellousatosullereticablate

• MaggioridettaglinellapartededicataaEtherneteWiFi.

locigno@disi.unitn.it- Livello2- DataLinkeMAC 40