4. De deellaag Medium Access Control in3001 Datacommunicatie en Netwerken 1 Medium Acces Control (MAC) Plaats: onderin de datalinklaag 5 4 3 5 4 3 5 4 3 5 4 3 2 MAC 2 MAC 2 MAC 2 MAC 1 1 1 1 medium Omroepkanaal vaak gebruikt bij LANs, radionetwerken en netwerken via satelliet. in3001 Datacommunicatie en Netwerken 2
MAC- en LLC-deellaag Plaats in het hybride referentiemodel. LLC - Logical Link Control MAC - Medium Access Control applicatielaag transportlaag netwerklaag datalinklaag LLC-deellaag MAC-deellaag fysieke laag medium in3001 Datacommunicatie en Netwerken 3 4.1 Probleem van toewijzing kanalen - Statische technieken (FDM en TDM) zijn niet doelmatig bij onregelmatig aanbod van verkeer. - Als voorbeeld stel tegenover elkaar: - één kanaal met capaciteit C bits/s - N kanalen met elk C/N bits/s - Aanbod gemiddeld λ frames/s - Gemiddelde framelengte L bits. - Framelengte en afstand tussen de aankomstijden van de frames negatief-exponentieel verdeeld. in3001 Datacommunicatie en Netwerken 4
Vb.: Negatief-exponentiële verdeling Framelengte l met gemiddelde L Kansdichtheid 0.010 0.009 0.008 0.007 0.006 0.005 0.004 0.003 0.002 0.001 0 L = 100 bits {} Prd l l 1 L e 0 100 200 300 400 500 in3001 Datacommunicatie en Netwerken 5 = L l Wachttijd statische technieken - Bij één kanaal met capaciteit C bits/s is gemiddelde wachttijd: 1 T = C λ L - Bij opdelen in N kanalen met capaciteit C/N is de gemiddelde wachttijd: T 1 N NT C N C = opged. = = / λ λ L N L - Gemiddelde wachttijd bij opdelen N maal zo groot! in3001 Datacommunicatie en Netwerken 6
Dynamische kanaaltoewijzing Model: - Het station - N onafhankelijke stations; - Er worden gemiddeld λ frames per station per sec. gegenereerd - Er worden geen frames in een station gegenereerd zolang de vorige nog niet verzonden is. - Het kanaal - één gezamenlijk kanaal - de stations zijn gelijkwaardig in3001 Datacommunicatie en Netwerken 7 Dynamische kanaaltoewijzing (vervolg) - Botsingen - Alle stations kunnen botsingen detecteren; - Bij botsingen betrokken frames moeten opnieuw verzonden worden. - Tijd a. continu b. discrete intervallen - Aftasten kanaal voor het zenden ( carrier sense ) a. wel b. niet in3001 Datacommunicatie en Netwerken 8
4.2.1 ALOHA - Ieder station zendt wanneer het wil; - Alle stations kunnen alle andere horen ; - Twee of meer stations tegelijk? => rommel; - frames met fouten worden door de ontvangers weggegooid; - De verzender kan detecteren of er een botsing op het kanaal plaatsvindt; - Is er een botsing op het kanaal opgetreden dan worden na een willekeurig getrokken tijd de bij de botsing betrokken frames opnieuw verzonden. in3001 Datacommunicatie en Netwerken 9 ALOHA-protocol ALOHA toestand 1 frame van LLC willekeurige wachttijd zenden start klok Zuiver ALOHA: direct. Slotted ALOHA: wacht op begin volgend slot. toestand 2 klok loopt af frame goed klok uit toestand 1 in3001 Datacommunicatie en Netwerken 10
Capaciteit van een ALOHA-kanaal - (Oneindig) veel gebruikers; - Vaste framelengte van T seconden; - Gezamenlijk produceren de gebruikers gemiddeld S nieuwe frames per T sec., 0<S<1; - Gezamenlijk gemiddeld G frames per T sec. (oude + nieuwe frames) - Er is evenwicht: S = P 0 G (P 0 de kans op succes) - Het aantal frames per tijdsinterval is Poissonverdeeld in3001 Datacommunicatie en Netwerken 11 Zuiver Aloha ander frame T beschouwde frame T ander frame Kwetsbaar interval 2T Indien een ander frame begint in het kwetsbare tijdsinterval dan wordt het beschouwde frame beschadigd. in3001 Datacommunicatie en Netwerken 12
Poisson-verdeling Kans op k frames in t sec. P t λt e k! {} k = ( ) ( k = 0,1, 2, K) λ = gemiddelde aantal frames/s t = beschouwde tijdsinterval De Poisson-verdeling geeft de kans op een bepaald aantal frames in een bepaald tijdsinterval als de frames willekeurig in de tijd gegenereerd worden. (zeer algemene aanname die vaak gedaan wordt als gebeurtenissen willekeurig in de tijd plaatsvinden) in3001 Datacommunicatie en Netwerken 13 k λt Zuiver ALOHA Kwetsbare periode voor zuiver ALOHA 2T => t=2t {} ( ) 2λT ( ) 2 2λT e 2G e P2 T k = = k! k! G = λ T (gemiddeld aantal frames per frameduur T.) Kans op succes (kans dat niemand anders zendt) 2G e P0 = P2 T 0 = 0! Evenwichtsvoorwaarde S = P 0 G ==> Nuttig gebruik van het kanaal: in3001 Datacommunicatie en Netwerken 14 0 k 2G {} ( ) 2G P = e 0 k S = Ge G 2G
Kans op k frames in interval 2T P 2T 2G k e {} k = ( ) k! 2G P 2T {} k 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 P 0 1 2 3 4 2G {} = = P T e 0 2 0 k G =0,1 G =0,5 G =1,0 in3001 Datacommunicatie en Netwerken 15 Zuiver ALOHA 0.2 1 0,18 2e S (netto verkeer) 0.15 0.1 0.05 S = Ge 2G 0 0 0.5 1 1.5 2 2.5 3 G (bruto verkeer) in3001 Datacommunicatie en Netwerken 16
Slotted Aloha frames die hier geproduceerd worden, worden hier verzonden. ander frame T beschouwd frame T ander frame T Kwetsbaar interval T in3001 Datacommunicatie en Netwerken 17 Slotted ALOHA Kwetsbare periode voor slotted ALOHA T => t=t {} ( ) λt ( ) G λt e G e PT k = = k! k! G = λ T (gemiddeld aantal frames per frameduur Τ ) Kans op succes (kans dat niemand anders zendt) G e P0 PT 0 = 0! Evenwichtsvoorwaarde S = P 0 G ==> Nuttig gebruik van het kanaal: S = Ge in3001 Datacommunicatie en Netwerken 18 0 k G {} ( ) G P = e = 0 k G
Slotted ALOHA 0.4 1 0,36 e 0.3 S (netto verkeer) 0.2 0.1 0 zuiver ALOHA 0 0.5 1 1.5 2 2.5 3 G (bruto verkeer) slotted ALOHA S = Ge S = Ge 2G G in3001 Datacommunicatie en Netwerken 19 4.2.2. CSMA Carrier Sense Multiple Access - Bij ALOHA zenden wanneer je maar wilt - Indien de looptijden klein zijn heeft luisteren voor het zenden zin => Dit voorkomt botsingen => Geeft hogere benuttingsgraad van het kanaal. in3001 Datacommunicatie en Netwerken 20
CSMA - ALOHA: luisteren na zenden CSMA: luisteren voor en na zenden - Looptijd kort t.o.v. framelengte - elk station kan alle andere horen - pas zenden indien niemand anders zendt Ons model: - vaste framelengte T - gemiddeld S nieuwe frames per frametijd T - gemiddeld G oude + nieuwe frames per T sec. - aanbod frames Poisson-verdeeld in3001 Datacommunicatie en Netwerken 21 1-persistent CSMA (zender) a. Indien iets te zenden, doorlopend naar het kanaal luisteren b. Kanaal bezet => luisteren => a. c. Kanaal vrij => zenden => d. d. Botsing => willekeurige tijd wachten => a. e. Geen botsing => wacht op volgende frame van LLC-laag. willekeurige wachttijd ja 1-p CSMA toestand 1 frame van LLC ja vrij? zenden botsing? nee toestand 1 nee blijf luisteren in3001 Datacommunicatie en Netwerken 22
CSMA met botsingsdetectie (CSMA/CD) Ethernet (Xerox 1976) 1-persistent CSMA met - detectie van botsingen tijdens zenden (CD - Collision Detect) - afbreken van het zenden bij botsing - Na een geloot aantal tijdsintervallen (twistsleuven) opnieuw proberen Is zinvol indien looptijden veel korter zijn dan framelengte. in3001 Datacommunicatie en Netwerken 23 CSMA/CD (zender) - kanaal bezet => wachten tot het vrijkomt - kanaal vrij => zenden - botsing tijdens zenden => verzending afbreken - willekeurige aantal tijdsintervallen (twistsleuven) wachten en opnieuw proberen. Binair exponetiële terugtrekking willekeurige tijd wachten zend ruispiek CSMA/CD toestand 1 frame van LLC ja vrij? nee begin te zenden blijf luisteren Gemiddelde willekeurige wachttijd wordt groter na elke botsing: Binary exponential backoff stop zenden ja botsing? nee klaar? ja toestand 1 nee in3001 Datacommunicatie en Netwerken 24
CSMA/CD Activiteit op het kanaal: zendtijd twistinterval loze tijd frame X X frame X X X frame X frame tijd X twistsleuf (contention slot); na een botsing moet een station een aantal van deze tijdsintervallen wachten alvorens weer te mogen proberen te zenden in3001 Datacommunicatie en Netwerken 25 Maximale duur van een botsing A B A grootste afstand tussen de stations (met looptijd τ ) B t 0 tijd t 0 +τ t 0 +2τ 2τ t 0 +3τ Maximale botsingsduur 2τ in3001 Datacommunicatie en Netwerken 26
4.2.6 Draadloze LAN met CSMA Probleem van het verborgen station (hidden station problem) bereik van A bereik van C A B C D - A zendt naar B - C kan A niet horen en gaat zenden => - C stoort ontvangst bij B in3001 Datacommunicatie en Netwerken 27 Draadloze LAN Probleem van het belemmerde station (exposed station problem) bereik van B bereik van C A B C D - B zendt naar A - C kan B horen en mag daarom niet zenden naar D - C zou dan echter ontvangst bij A niet storen in3001 Datacommunicatie en Netwerken 28
MACA (Multiple Access with Collision Avoidance) Lost het probleem van het verborgen station op. C A B D C stil RTS CTS tijd data D stil - RTS (Request To Send, met erin lengte data) van A->B - C houdt zich stil to na ontvangst CTS door A - CTS (Clear To Send, met erin lengte data) van B->A - D houdt zich stil tot na ontvangst van de data door B in3001 Datacommunicatie en Netwerken 29 4.3 Ethernet segment in3001 Datacommunicatie en Netwerken 30
Functioneel principe van hub 2 twisted pairs (4 draden) per aangesloten computer hub coax C C C C C C C C C aangesloten computer In werkelijk zit er nogal wat electronica in de hub (versterkers). Insteekkaart moet geschikt zijn voor die 2 maal twisted pair (TP). in3001 Datacommunicatie en Netwerken 31 4.3.2 Manchester Encoding in3001 Datacommunicatie en Netwerken 32
CSMA/CD Activiteit op het kanaal: zendtijd twistinterval loze tijd frame X X frame X X X frame X frame Duur twistsleuf maximaal 2 x looptijd τ tijd X Bij IEEE 802.3 gekozen voor vaste lengte van twistsleuf van 512 bits (51,2 s). Vaste twistsleuf is nodig voor mechanisme van binair exponentiële terugtrekking. in3001 Datacommunicatie en Netwerken 33 Keuze twistsleuf in IEEE 802.3 - Uitgangspunt: 2,5km kabel en 4 repeaters voortplantingstijd 2,5*5 µsec = 12,5 µsec 4 repeaters met 1 bit vertraging 0,4 µsec Totale vertraging τ 12,9 µsec - Maximum twistsleuf 2τ = 25,8 µsec - Gekozen is voor een veilige 64 bytes = 512 bits = 51,2 µsec in3001 Datacommunicatie en Netwerken 34
4.3.4 Binair exponentiële terugtrekking Doel: Verbetering van prestatie bij hoge belasting. - Een twistsleufgrootte van 512 bits is gekozen - Na de eerste botsing willekeurig kiezen uit eerste twee twistsleuven - Na de tweede botsing willekeurig kiezen uit de eerste vier sleuven - Na k botsingen willekeurig kiezen uit de eerste 2 k sleuven - Maximum is k = 10, dus 1024 sleuven - Na 16 botsingen foutmelding; hogere lagen voeren herstelpogingen uit. in3001 Datacommunicatie en Netwerken 35 4.3.5 Prestatie IEEE 802.3 (Ethernet)(1) Gebruiksgraad van kanaal (Channel efficiency R ) R = tijdsduur van frame Gemiddelde totale tijd nodig voor één frame of R = P P+ T v P = tijdsduur van frame T v = gemiddelde tijdsduur tussen twee opeenvolgende frames in3001 Datacommunicatie en Netwerken 36
Prestatie IEEE 802.3 (Ethernet) (2) - k stations willen zenden - zendkans voor elk station in een twistsleuf is p - Kans op succes van één willekeurig station is de kans dat precies dat station zendt en de andere k-1 stations niet: - Kans op succes van enig station is: - Maximale kans op succes: lim 1 + k k x k = e x p k ( 1 p) 1 A = kp k ( 1 p) 1 da 1 = 0 p = Amax = 1 k dp k 1 Voor lim Amax = 0,37 k e 1 k ( ) 1 in3001 Datacommunicatie en Netwerken 37 Succeskans A 0,387 0.4 0.35 Succeskans A 0.3 0.25 0.2 0.15 0.1 aantal stations A = kp k k ( 1 p) 1 = 10 0.05 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p=1/k Zendkans p in3001 Datacommunicatie en Netwerken 38
Hoe vaak botsen - Kans op precies j botsingen: 1 (j botsingen gevolgd door 1 maal succes) - Gemiddeld aantal botsingen per twistinterval is: j A wgem = 1 ja( 1 A) = j= 0 A - Voor de maximale kans op succes A max =1/e geldt: - Gemiddelde lengte twistinterval bij optimale zendkans is: ( A) j A 1 1 e = = e 1 1,7 in3001 Datacommunicatie en Netwerken 39 w gem 1 e 2 τ. = 3, 4τ w gem Aantal botsingen per twistinterval w gem = j= 0 j j ( ) = ( ) j ( ) ja 1 A A 1 in3001 Datacommunicatie en Netwerken 40 A j= 0 d j = A( 1 A) ( ) ( ) 1 A d 1 A j= 0 2 3 1 Met ( 1 A ) = x en 1+ x + x + x + K = volgt 1 x w gem = A d d 1 A 1 A ( 1 A) = A( 1 A) ( ) 2 1 A 1 A 1 A w gem = 1 A
Gemiddeld aantal twistsleuven w gem 1 0.9 Vb.: aantal stations k =10 0.8 0.7 0.6 0.5 0.4 Succeskans A w gem /100 0.3 0.2 0.1 optimale zendkans is 1/k 0 0 0.2 0.4 0.6 0.8 1 zendkans p in3001 Datacommunicatie en Netwerken 41 Optimale gebruiksgraad (w gem = e-1) P R = P + T F = framelengte in bits B = bitsnelheid v P P = = P + 2τw P + 2τ ( e 1) gem } => L = lengte bus v = voortplantingssnelheid } => F P = B L τ = v (niet de standaard twistsleuf) R = F / B F / B + 2 ( e 1) 1 = 2( e 1 1+ v L ) v BL F Konstant in3001 Datacommunicatie en Netwerken 42
Verhogen capaciteit van 802.3 1 R = 1+ K BL F K = konstante Efficientie omlaag met hogere bitsnelheid B omlaag met grotere lengte van de bus L omhoog met grotere frame-lengte F Zonder meer verhogen bitsnelheid van 802.3 levert niet veel op. Wat wel helpt is de max. toegestane lengte van de bus beperken. in3001 Datacommunicatie en Netwerken 43 4.3.6 Geschakeld Ethernet Schakelaar Snelle bus naar de computers Connector Insteekkaart bijv. 802.3 LAN Hub Naar computers Twee mogelijkheden: - Een botsingsdomein per insteekkaart - Inkomende frames worden gebufferd en doorgezonden in3001 Datacommunicatie en Netwerken 44
4.3.7 Fast Ethernet - beschreven door: IEEE 802.3u - alles als bij 802.3 maar bittijd factor 10 kleiner - gebruikt hubs en switches - bekabeling: - 100Base-T4 max 100 m (4 twisted pairs) - 100Base-TX max 100 m (cat 5 UTP) - 100Base-FX max 2000 m (Glasvezel) in3001 Datacommunicatie en Netwerken 45 4.3.8 Gigabit Ethernet - beschreven door IEEE802.3z - gebruikt hubs en switches - twee mogelijkheden: - full duplex mode, geen CSMA/CD nodig - half duplex, wel CSMA/CD - max afstand 25 meter, onacceptabel, twee alternatieve oplossingen: - carrier extension (frame aanvullen tot 512 bytes) - frame bursting (meer frames tegelijk zenden) - bekabeling: - 1000Base-SX, 1000Base-LX (glasvezel - 1000Base-CX, 1000Base-T (STP, resp. UTP cat 5) in3001 Datacommunicatie en Netwerken 46
4.7 Datalink layer switching Vaak wordt in een bedrijf gekozen voor gekoppelde LAN s in plaats van één LAN. Motieven: - De verschillende LAN s zijn van een ander type - Van uit het verleden zo gegroeid - Andere toepassing (fabriek, kantoor) - Afstand - Beperking belasting - Betrouwbaarheid - Veiligheid in3001 Datacommunicatie en Netwerken 47 LAN s gekoppeld door bridges Backbone-LAN B B B B file server B brug Werkstation/PC in3001 Datacommunicatie en Netwerken 48
Bridge (koppelen op laag 2) 7 7 6 6 5 5 4 4 3 3 2 2 2 1a LAN a 1a 1b LAN b 1b Leest frames (DL-PDU s) in, slaat ze op en zendt ze door. in3001 Datacommunicatie en Netwerken 49 4.7.1 Bridge tussen 802.11 en 802.3 in3001 Datacommunicatie en Netwerken 50
Problemen koppelen 802.x <-> 802.y Verschillen in: - Frame-indeling - Transmissiesnelheid - Maximum voor de framelengte - veiligheid in3001 Datacommunicatie en Netwerken 51 4.7.2 Transparante brug a c B 1 B 2 d b e LAN 1 LAN 2 f g LAN 3 h LAN 4 Twee mogelijkheden: Bron-LAN = Doel-LAN (bijvoorbeeld a<->b, d<->e) Bron-LAN Doel-LAN (bijvoorbeeld a<->c, a<->g) in3001 Datacommunicatie en Netwerken 52
Transparante brug - Brug kan alle frames van de aangesloten LAN s ontvangen (promiscue mode) - Al doende leren (backward learning) van de langskomende frames - Bron-LAN = Doel-LAN ==> brug gooit frame weg - Bron-LAN doel-lan ==> brug zendt frame door - Doel-LAN onbekend ==> brug zendt frame naar alle aangesloten LAN s (flooding) - Brug gooit regelmatig oude gegevens weg. in3001 Datacommunicatie en Netwerken 53 Twee transparante bruggen parallel F 1 F 2 LAN 2 B 1 B 2 F LAN 1 - De plaats van de bestemming van F is onbekend - Beide bruggen geven frame F door naar LAN2 - Brug B 1 geeft F 2 weer door naar LAN1 en brug B 2 geeft F 1 weer door naar LAN1 enz... in3001 Datacommunicatie en Netwerken 54
Spanning tree a 1 2 b 3 c 4 brug 1 a 2 b 3 c 4 LAN d e f g LAN d e f 5 6 7 5 6 7 h i j h j 8 9 8 9 brug die deel uitmaakt van de spanning tree in3001 Datacommunicatie en Netwerken 55 4.7.4 Remote bridges - Om LAN s op grote afstand met elkaar te verbinden - Op point-to-point verbindingen mogelijk: - b.v. PPP protocol, met als payload MAC frames - MAC headers verwijderen, rest in payload van WANprotocol, nieuwe MACs genereren. (CRC mogelijk anders) in3001 Datacommunicatie en Netwerken 56
4.7.5 Verschillende niveaus van koppelen a. Welk device werkt in welke laag b. frames, pakketten en headers en trailer in3001 Datacommunicatie en Netwerken 57 bridges en switches - Verschil tussen bridge en switch: Switch verbindt individuele stations bridge verbindt netwerken Bridge Switch in3001 Datacommunicatie en Netwerken 58
4.7.6 Virtual LAN s - Vaak gewenst logische topologie te scheiden van fysieke topologie. - reden: organisatie niet altijd weerspiegelt in huisvesting - VLAN geeft flexibiliteit m.b.t. locatie - Maakt gebruik van VLAN-aware switches (of bridges) in3001 Datacommunicatie en Netwerken 59 VLANs and switches in3001 Datacommunicatie en Netwerken 60
VLAN aware switches - geven inkomende frames alleen door naar poorten van dezelfde VLAN als die van het inkomende frame. - drie mogelijke methoden: - iedere poort heeft een VLAN color (werkt alleen als iedere machine op een bij hetzelfde VLAN horen) - Ieder MAC adres heeft een VLAN color - Iedere laag IP adres heeft een VLAN color. (laag 2 kijkt hierbij naar de laag 3 header!! ) in3001 Datacommunicatie en Netwerken 61 IEEE 802.1Q (1) - biedt support voor VLANs - is een aanpassing van de Ethernetheader van 802.3 - nieuwe Ethernetkaarten genereren 802.1Q header - te combineren met oude kaarten in één netwerk in3001 Datacommunicatie en Netwerken 62
IEEE 802.1 (2) in3001 Datacommunicatie en Netwerken 63 802.1Q (3) - Eerste VLAN enabled switch past legacy frame aan - voegt nieuwe velden o.a. VLAN identifier toe - Laatste VLAN enabled switch verwijdert de extra velden. - N.B. tabellen met VLAN id s worden automatisch gevuld, aan de hand van de VLAN id s van de inkomende frames. in3001 Datacommunicatie en Netwerken 64