Computerarchitectuur en netwerken 12 Multicast protocollen Datalinklaag/LANs Lennart Herlaar 20 oktober 2014
Inhoud Netwerklaag broadcast multicast Datalink laag foutdetectie en -correctie multiple access protocols Lennart Herlaar Computerarchitectuur en netwerken 12 1
Broadcast Unicast: verzending van één bron naar één bestemming Broadcast: verzending van een bron naar alle hosts op een netwerk Flooding: stuur pakket door naar alle buren behalve de verzender Elke ontvanger stuurt het door naar de andere buren Probleem: pakketten blijven rondcirkelen (broadcaststorm) Routers moeten bijhouden welke pakketten al verzonden zijn (volgnummers nodig) Multicast: verzending van een bron naar een groep hosts Lennart Herlaar Computerarchitectuur en netwerken 12 2
Reverse Path Forwarding Probeer pakketten alleen in de goede richting te sturen Probleem: in het pakket staan geen bestemmingen, wel afzender adres Als router een multicast pakket via de kortste route naar de afzender binnenkrijgt: stuur het door naar alle andere routers (buren) anders negeer het Dit werkt alleen als de links symmetrisch genoeg zijn je krijgt de optimale route de andere kant op!! Wat overblijft is een spanning tree: Een boom die alle nodes van het netwerk bevat Lennart Herlaar Computerarchitectuur en netwerken 12 3
Reverse Path Forwarding (Veronderstel afstand = aantal hops) S: source R2 R1 R4 R5 R3 R6 R7 Lennart Herlaar Computerarchitectuur en netwerken 12 4
Multicast 1 Multicast door elk pakket naar iedere ontvanger te sturen Lennart Herlaar Computerarchitectuur en netwerken 12 5
Multicast 2 Multicast routers Speciale multicast groep IP adressen: class D (1110 28 bits groep adres) Lennart Herlaar Computerarchitectuur en netwerken 12 6
Multicast principes class D Internet adres voor multicast groep elke host kan zich toevoegen aan groep iedereen kan naar de groep zenden netwerk laag houdt niet bij welke hosts lid van de groep zijn in de pakketten staat een groep-adres, geen lijst van hosts ontvanger meldt zich aan bij dichtsbijzijnde router een router houdt alleen bij welke direct aangesloten hosts lid zijn van de groep andere routers weten alleen naar welke buren ze de pakketten moeten sturen verzender weet niet welke hosts het pakket ontvangen nodig: infrastructuur om de multicast datagrammen bij alle aangesloten hosts af te leveren Lennart Herlaar Computerarchitectuur en netwerken 12 7
Multicast routering Shared tree: wordt gebruikt voor alle communicatie in de groep Lennart Herlaar Computerarchitectuur en netwerken 12 8
Multicast routering Source-based trees: voor elke afzender een eigen tree Lennart Herlaar Computerarchitectuur en netwerken 12 9
Shared tree Minimum spanning tree algoritme: probeer boom met laagste kosten te vinden Is een ondoenlijk probleem (kost teveel rekentijd) benaderingen zijn mogelijk Centraal geregeld systeem: Wijs één router als centrum aan (rendez-vous punt) Alle aanmeldingen naar deze Van hieruit geleidelijk tree opbouwen Lennart Herlaar Computerarchitectuur en netwerken 12 10
Centrale benadering centrale = R6 volgorde aanmelding = R3, R4, R1 Lennart Herlaar Computerarchitectuur en netwerken 12 11
Reverse Path Forwarding Pruning Pruning: een router die geen abonnees heeft stuurt bericht upstream dat hij niet geïnteresseerd is S: source R1 R4 R2 P R5 R3 R6 P R7 Lennart Herlaar Computerarchitectuur en netwerken 12 12
Multicast Tunneling Enkele multicast routers temidden van niet-multicast Gebruikt tunneling multicast pakketten worden in gewone IP-pakketten ingepakt van multicast-router naar multicast-router gestuurd fysieke topologie logische topologie Lennart Herlaar Computerarchitectuur en netwerken 12 13
Samenvatting Netwerklaag We hebben routering bestudeerd Unicast routering: Link state, Distance vector algoritmes, hierarchische routering (Autonome Systemen), routeringsprotocollen RIP, OSPF, (intra-as), BGP (inter-as) IP-adressen en de toewijzing ervan en indeling in (sub)netten Multicast en broadcast protocols Lennart Herlaar Computerarchitectuur en netwerken 12 14
Datalink laag Lennart Herlaar Computerarchitectuur en netwerken 12 15
Inhoud Datalink laag foutdetectie en -correctie multiple access protocols Lennart Herlaar Computerarchitectuur en netwerken 12 16
Datalinklaag Link = directe verbinding tussen twee nodes (host, router,... ) i.e. zonder tussenliggende routers glasvezel ethernet telefoonlijn/modem draadloos Soorten: Broadcast Point-to-point Diensten Datalinklaag Frames verzenden evt. datalink adressering toegang tot link (soms) foutdetectie foutcorrectie flow control Frame = pakket + datalink envelop Lennart Herlaar Computerarchitectuur en netwerken 12 17
Datalinklaag link Lennart Herlaar Computerarchitectuur en netwerken 12 18
Transmissiemodes We onderscheiden drie transmissie modes : Simplex transmission mode (één richting) Half Duplex transmission mode (afwisselend twee richtingen) Full Duplex transmission mode (gelijktijdig twee richtingen) Lennart Herlaar Computerarchitectuur en netwerken 12 19
Datalinklaag Frames worden door interfaces (adapters) verzonden en ontvangen Modem Netwerk interface Protocol wordt soms door adapter uitgevoerd verzender node datagram link layer protocol ontvanger node frame adapter frame adapter Lennart Herlaar Computerarchitectuur en netwerken 12 20
Foutdetectie Pariteit: voeg een extra bit aan een rijtje bits (codewoord) toe zodat het totaal aantal 1-bits even is Of (volgens afspraak) zodat het oneven is. Als er nu 1 bit verandert kan de ontvanger dit detecteren Lennart Herlaar Computerarchitectuur en netwerken 12 21
CRC CRC = Cyclic Redundancy Check komt neer op r bits toevoegen, algoritme: zender en ontvanger gebruiken een generator polynoom G(x) van graad r G(x) = x r + g r 1 x r 1 + + g 1 x + g 0 Coëfficiënten van G(x) zijn 0 of 1 (rekenen modulo 2) M(x) is de boodschap (als polynoom geïnterpreteerd) voeg toe r 0 bits achter M(x): geeft M(x) x r deel M(x) x r door G(x) (reken modulo 2) geeft quotiënt Q(x) en rest R(x): M(x) x r = G(x).Q(x) + R(x) Verstuur M(x) x r R(x) ontvanger controleert of deelbaar is door G(x) vindt veel fouten vooral bursts Lennart Herlaar Computerarchitectuur en netwerken 12 22
CRC berekening We rekenen met bits: modulo 2 D.w.z. Veelvouden van 2 worden weggegooid 0+0 = 0 0+1 = 1 1+0 = 1 1+1 = 0 (=2-2) Aftrekken is hetzelfde als optellen Bij de staartdeling komt er een 1 als het te delen getal met een 1 begint anders een 0 Lennart Herlaar Computerarchitectuur en netwerken 12 23
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 24
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 25
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 26
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 27
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 28
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 29
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 30
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 31
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 32
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 33
CRC voorbeeld Lennart Herlaar Computerarchitectuur en netwerken 12 34
Multiple Access protocollen Broadcast link (kanaal): meerdere stations (nodes) op aangesloten Wat door een node uitgezonden wordt kan door alle ontvangen worden Probleem: wat gebeurt er als twee stations tegelijk zenden? Lennart Herlaar Computerarchitectuur en netwerken 12 35
Multiplexing TDM en FDM (TDMA/FDMA) kunnen gebruikt worden als multiple access protocol Voordeel: makkelijk, eerlijk Nadeel: inefficiënt als sommige zenders weinig zenden Code Division Multiple Access Iedere bit wordt verzonden als m korte signaalelementen (chips). Ieder station heeft een code (m chips) Een 1 wordt verzonden als die code, een 0 als het complement ervan Later meer hierover Lennart Herlaar Computerarchitectuur en netwerken 12 36
Random MAC protocols Laat stations zenden als ze dat willen Stations gebruiken volledige bandbreedte van link Detecteer als er een botsing is Slotted Aloha Pure Aloha CSMA CSMA/CD Lennart Herlaar Computerarchitectuur en netwerken 12 37
Slotted Aloha Idee: tijd is verdeeld in slots (als bij TDM) Elk frame past in één slot Station gaat zenden als het zin heeft Bij een botsing ontdekt de ontvanger een fout (CRC) Via ARQ protocol wordt het frame nog een keer verzonden Bij grote drukte neemt de throughput af (max 36.8%) Lennart Herlaar Computerarchitectuur en netwerken 12 38
Slotted Aloha efficiëntie Model: Elk station zendt met kans p een frame in elk slot. Alle stations zijn onafhankelijk. Als we N stations hebben dan is de kans dat een bepaald station zendt en alle andere niet = p(1 p) N 1. De kans dat er een station succesvol is, is dus Np(1 p) N 1 We moeten het maximum vinden van deze formule. Diffentiëren naar p en = 0 stellen levert op: p = 1/N. Dus de kans op een succesvolle transmissie is maximaal N 1 N (1 1 N )N 1 Voor N is de limiet 1/e = 0.368... Lennart Herlaar Computerarchitectuur en netwerken 12 39
Pure Aloha Geen slots Stations kunnen op ieder moment zenden Verder hetzelfde Oorspronkelijke systeem van universiteit van Hawai Nu twee keer zoveel kans op botsing Daarom helft van efficiency (18.4%) Lennart Herlaar Computerarchitectuur en netwerken 12 40
Aloha efficiency S = aantal succesvol verzonden frames G = totaal aantal verzonden frames (S + hertransmissies) Lennart Herlaar Computerarchitectuur en netwerken 12 41
CSMA/CD CSMA = Carrier Sense Multiple Access carrier sense = vóór het verzenden controleren of er een signaal op de link staat Als er iemand aan het zenden is dan wachten tot die klaar is Probleem: omdat een signaal tijd nodig heeft om te reizen (propagation) kan nog steeds een botsing optreden CD = Collision Detection Tijdens het uitzenden blijven controleren of er een botsing optreedt Bij een botsing ophouden met zenden Dan niet onmiddellijk weer gaan zenden (waarom niet?) Als bij herzenden weer botsing dan verdubbel het aantal zijden van de wachttijd dobbelsteen (exponential backoff) Lennart Herlaar Computerarchitectuur en netwerken 12 42
CSMA/CD Als er een botsing optreedt, wat dan? Stoppen met zenden. Kans op botsing groter naarmate propagation delay groter. Lennart Herlaar Computerarchitectuur en netwerken 12 43
Samenvatting Datalink De datalink deelt data op in frames Extra informatie (parity, CRC) wordt toegevoegd voor foutdetectie De link kan point-to-point zijn of multipoint (broadcast) Bij broadcast links moet er een multiple-access protocol gebruikt worden: bijvoorbeeld Aloha (zuiver en slotted) Lennart Herlaar Computerarchitectuur en netwerken 12 44