Livello Collegamento Data-Link e Medium Access...
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
[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
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