livello collegamento data-link e medium access...
Post on 10-May-2018
214 Views
Preview:
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
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
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
top related