- Leren
- Informatica & ICT
- Informatica
- Computernetwerken en internetprotocollen
- Netwerklaag datavlak
De netwerklaag: datavlak
GemiddeldLes 5 van 8 in Cursus Computernetwerken en internetprotocollen
Wat je leert
- Onderscheid de twee taken van de netwerklaag, doorsturen en routering, volg een pakket door de onderdelen van een router en leg uit waar pakketten wachten, worden verworpen en voor verzending worden ingepland.
- Onderscheid doorsturen van routering en het datavlak van het besturingsvlakDefinieer de rol van de netwerklaag, doorsturen, routering, doorstuurtabellen en de twee vlakken, en beschrijf de dienst zonder garanties die de netwerklaag van het internet biedt.
- Volg een pakket door de poorten en het interne schakelnetwerk van een routerBenoem de onderdelen van een router, leg uit hoe een ingangspoort met selectie op de langste overeenkomende prefix de uitgangsverbinding vindt en vergelijk de manieren waarop een intern schakelnetwerk pakketten tussen poorten verplaatst.
- Leg uit waar pakketten in de wachtrij komen en hoe routers ze verwerpen en hun verzending plannenLeg wachtrijen bij ingang en uitgang, blokkering door het eerste element en het bepalen van de buffergrootte uit, en vergelijk verwerpbeleid en planners voor FIFO, prioriteit, beurtelingse bediening en gewogen eerlijke wachtrijbediening.
- Onderscheid doorsturen van routering en het datavlak van het besturingsvlak
- Ontcijfer elk veld van de IPv4-header, controleer een headercontrolesom en splits een datagram in fragmenten die binnen de maximale transmissie-eenheid van een verbinding passen.
- Ontcijfer de velden van een IPv4-headerBenoem elk IPv4-headerveld met zijn grootte en doel, ontcijfer een header aan de hand van de bytes en bereken en verifieer de headercontrolesom.
- Fragmenteer een datagram zodat de fragmenten binnen de MTU van een verbinding passenLeg de maximale transmissie-eenheid uit, splits een IPv4-datagram in fragmenten met de juiste lengtes, offsets en vlaggen, en leg samenvoeging en bepaling van de pad-MTU uit.
- Ontcijfer de velden van een IPv4-header
- Volg hoe een host automatisch zijn adres en instellingen krijgt en hoe een NAT-router veel apparaten met een privéadres één openbaar IPv4-adres laat delen.
- Volg hoe DHCP een host configureertBeschrijf de instellingen die een host nodig heeft, de DHCP-uitwisseling van vier berichten met de bijbehorende adressen en poorten, leases en verlenging, en de rol van relayagents.
- Volg adres- en poortvertaling door een NAT-routerLeg uit hoe netwerkadresvertaling een privénetwerk één openbaar adres laat delen, volg een vertaaltabel en weeg af wat NAT verstoort en wat het oplost.
- Volg hoe DHCP een host configureert
- Lees de IPv6-header, leg uit wat er ten opzichte van IPv4 is veranderd en waarom, en leg uit hoe dual stack, tunneling en vertaling de twee protocollen naast elkaar laten bestaan.
- Lees de IPv6-header en leg uit wat er is veranderdBenoem de velden van de vaste IPv6-header, volg een keten van uitbreidingsheaders en leg uit waarom IPv6 de headercontrolesom, fragmentatie door routers en opties in de header heeft laten vervallen.
- Leg dual stack, tunneling en vertaling uitLeg uit waarom IPv4 en IPv6 jarenlang naast elkaar moeten bestaan, hoe dual stack, tunneling en NAT64 met DNS64 de protocollen verbinden en wat elke methode kost.
- Lees de IPv6-header en leg uit wat er is veranderd
- Schrijf regels met matchcriteria en acties waarmee één apparaat als router, switch, firewall of lastverdeler werkt, leg uit hoe softwaregedefinieerd netwerken deze gebruikt en weeg middleboxes af tegen de ontwerpprincipes van het internet.
- Schrijf stroomtabelregels met matchcriteria en actiesBeschrijf stroomtabellen met hun matchvelden, prioriteiten, acties en tellers, en bepaal met welke regel een binnenkomend pakket overeenkomt.
- Gebruik stroomtabellen om netwerkgedrag in SDN te realiserenBouw doorstuurpaden, firewalls, schakeling en lastverdeling op uit stroomtabelregels over meerdere switches en leg uit hoe SDN de besturing scheidt en centraliseert.
- Toets middleboxes aan de ontwerpprincipes van het internetDefinieer middleboxes en hun belangrijkste soorten, leg het IP-zandlopermodel en het eind-tot-eindargument uit en weeg de voordelen van middleboxes af tegen de problemen die ze veroorzaken.
- Schrijf stroomtabelregels met matchcriteria en acties
Netwerklaag datavlak: uitleg
1Volg een pakket door een router
Een pakket doorkruist een netwerk dankzij veel kleine, lokale beslissingen. Om zo'n beslissing te begrijpen, onderscheid je de logica die een doorstuurtabel opbouwt van de hardware die de tabel toepast. Volg het pakket daarna van een ingangspoort via het interne schakelnetwerk naar een uitgangsverbinding. Zelfs als elke tabelopzoeking correct is, kunnen concurrerende pakketten wachtrijen, vertraging en verlies veroorzaken. Het schakelnetwerk, de buffers en de planner bepalen wat er gebeurt tijdens die concurrentie.
1.1 Onderscheid doorsturen van routering
De netwerklaag vervoert datagrammen tussen hosts via een pad van routers. De verzendende host plaatst een transportsegment in een datagram. Elke router leest de header van de netwerklaag en stuurt het datagram verder naar zijn bestemming. Op de ontvangende host geeft de netwerklaag het segment door aan TCP, UDP of een ander protocol van een hogere laag.
Eén lokale beslissing en één netwerkbreed plan
Doorsturen verplaatst een binnenkomend pakket bij één router van een ingangsverbinding naar een uitgangsverbinding. De router kan een pakket ook verwerpen of kopieën naar meerdere verbindingen sturen. De beslissing wordt voor elk pakket genomen, meestal in hardware op een tijdschaal van nanoseconden.
Routering bepaalt paden door het netwerk. Routeringssoftware wisselt informatie uit en berekent routes, meestal op een veel langere tijdschaal, zoals seconden. Een autorit plannen lijkt op routering; de gekozen afslag nemen bij één knooppunt lijkt op doorsturen. De router voert zijn routeringsalgoritme niet opnieuw uit voor elk binnenkomend pakket.
Stel dat een doorstuurregel 10.20.0.0/16 aan interface 2 koppelt. Wanneer een datagram voor 10.20.7.1 aankomt, selecteert de tabelopzoeking interface 2. De handeling per pakket past een bestaande beslissing toe. Een verbindingsstoring kan er later toe leiden dat het routeringsproces de regel vervangt.
De twee vlakken en hun tabellen
Het datavlak voert deze lokale pakkethandelingen uit. Het besturingsvlak bepaalt routes en levert de tabellen. Traditionele routers voeren elk een routeringscomponent uit, wisselen routeringsberichten uit en berekenen hun eigen tabellen. Bij softwaregedefinieerd netwerken installeert een logisch gecentraliseerde controller op afstand regels; switches handelen pakketten nog steeds lokaal af.
De routeringsinformatiebank (RIB) slaat routes op die het besturingsvlak heeft geleerd. De doorstuurinformatiebank (FIB) is de uit die routes afgeleide zoekstructuur voor het datavlak. Commando's noemen beide structuren soms een “routeringstabel”, dus hun rol is belangrijker dan de informele naam.
Een router is een soort pakketswitch, een apparaat dat pakketten op basis van headervelden verplaatst. Een switch op de datalinklaag selecteert normaal op een bestemmings-MAC-adres. Een router selecteert normaal op een bestemmings-IP-adres. Verwerking op de netwerklaag vindt plaats in zowel hosts als routers; communicatie op de applicatie- en transportlaag vindt plaats tussen de eindhosts.
Wat IP garandeert
Het dienstmodel van een netwerk beschrijft de afleveringsgaranties. Mogelijke garanties zijn aflevering binnen een tijdslimiet, aankomst in de juiste volgorde, een minimale bandbreedte of betrouwbare aflevering. IP op het internet biedt een dienst zonder garanties: geen van die garanties en geen ingebouwde beveiligingsgarantie. Een datagram kan verloren gaan, vertraagd raken, worden gedupliceerd of in een andere volgorde aankomen. IP verzendt het niet opnieuw.
IP is ook verbindingsloos. Elk datagram bevat de informatie die wordt gebruikt om het door te sturen; de netwerklaag brengt niet eerst een eind-tot-eindverbinding tot stand. Pakketten in één communicatie kunnen verschillende paden volgen.
Bruikbare applicaties werken toch omdat andere onderdelen van het systeem bieden wat ze nodig hebben. TCP detecteert verlies en herstelt de bytevolgorde op de eindpunten. Congestiebeheersing past verzendsnelheden aan, beheerders voegen capaciteit toe en nabijgelegen contentservers verkorten paden. Een geslaagde TCP-overdracht betekent dus niet dat IP zelf aflevering heeft gegarandeerd.
Belangrijkste punten
- Doorsturen past een tabel toe bij één router; routering bepaalt netwerkbrede paden.
- Het besturingsvlak bouwt tabellen op en het datavlak verwerkt pakketten.
- De RIB slaat route-informatie op; de FIB ondersteunt tabelopzoekingen voor doorsturen.
- IP biedt verbindingsloze aflevering zonder garanties en zonder hertransmissie.
1.2 Kies een uitgang en passeer het interne schakelnetwerk
Het gegevenspad van een router heeft een ingangszijde, een interne verbinding en een uitgangszijde. De besturingssoftware levert de informatie die deze onderdelen toepassen.
De vier onderdelen
Een ingangspoort ontvangt bits, verwijdert de inkomende framegegevens van de datalinklaag en zoekt de uitgangspoort op. Het interne schakelnetwerk verplaatst het pakket binnen de router. Een uitgangspoort buffert pakketten, bouwt het uitgaande frame op en verzendt het. De routeringsprocessor voert software voor het besturingsvlak en beheer uit of communiceert met een SDN-controller. De ingangs- en uitgangsfuncties voor één verbinding in twee richtingen delen meestal een lijnkaart.
Bij 10 Gb/s bevat een pakket van 64 bytes 512 bits en neemt het 51,2 ns in beslag. Dat levert ongeveer 19,5 miljoen aankomende pakketten per seconde op. Bij 100 Gb/s is de bijbehorende tussenruimte 5,12 ns. Deze berekeningen, die alleen de pakketten betreffen, verklaren waarom tabelopzoekingen in hardware nodig zijn. Dankzij een kopie van de doorstuurtabel op elke lijnkaart kunnen poorten werken zonder voor elk pakket een centrale processor te raadplegen.
Selectie op de langste overeenkomende prefix
Een IP-tabel groepeert bestemmingen in prefixen. Een bestemming kan met meerdere regels overeenkomen; selectie op de langste overeenkomende prefix kiest de overeenkomende regel met de grootste prefixlengte.
| Prefix | Uitgangsinterface |
|---|---|
| 10.0.0.0/8 | 0 |
| 10.20.0.0/16 | 1 |
| 10.20.30.0/24 | 2 |
| 0.0.0.0/0 | 3 |
10.20.30.77 komt met alle vier de regels overeen, dus selecteert /24 interface 2. Voor 10.20.31.5 wint /16 en wordt interface 1 geselecteerd. Voor 10.99.1.1 selecteert /8 interface 0. Alleen de standaardroute /0 komt overeen met 172.16.0.1, wat interface 3 oplevert. De tabelvolgorde bepaalt het resultaat niet.
Prefixen kunnen binnen een octet eindigen. 192.168.8.0/21 omvat de waarden 8–15 voor het derde octet; 192.168.12.0/22 omvat 12–15. Zo krijgt 192.168.12.9 de /22 en 192.168.9.200 de /21. Vergelijk prefixbits, niet het aantal overeenkomende groepen tussen punten. Overlap maakt een brede geaggregeerde route naast een uitzondering met een specifiekere prefix mogelijk.
Ternair inhoudsadresseerbaar geheugen (TCAM) vergelijkt regels parallel, inclusief jokerbits, en kan binnen de capaciteit van de hardware in ongeveer één klokcyclus een overeenkomst teruggeven. De ingangsverwerking controleert ook de IP-versie, IPv4-controlesom en TTL, werkt TTL en controlesom bij en houdt tellers bij.
Drie manieren om het pakket te verplaatsen
Schakelen via geheugen kopieert een pakket naar gedeeld geheugen en er weer uit. Elk pakket gebruikt twee geheugenoverdrachten, zodat een geheugensysteem dat B overdrachten per seconde ondersteunt een bovengrens van B/2 pakketten per seconde heeft, vóór overige kosten.
Schakelen via een bus stuurt het pakket over één gedeelde bus met een uitgangslabel. Er passeert één pakket tegelijk; de busbandbreedte beperkt de totale doorvoersnelheid.
Een verbindingsnetwerk, zoals een kruisschakelaar, kan pakketten tegelijk naar verschillende uitgangen verplaatsen. Een kruisschakelaar voor N ingangen en N uitgangen gebruikt 2N bussen. Voor twee pakketten die om dezelfde uitgang concurreren, is nog steeds een keuze nodig. Grote routers combineren fasen, cellen van vaste grootte en parallelle schakelvlakken; een schakelsnelheid van N keer de verbindingssnelheid is de ideale totale capaciteit voor N ingangen.
Belangrijkste punten
- Ingangspoorten voeren lokale tabelopzoekingen uit voordat het schakelnetwerk pakketten naar uitgangen verplaatst.
- Selectie op de langste overeenkomende prefix kiest de meest specifieke overeenkomende bestemmingsprefix.
- De standaardroute /0 geldt alleen wanneer geen langere prefix overeenkomt.
- Tabelkopieën op lijnkaarten en tabelopzoekingen in hardware ondersteunen hoge aantallen pakketten per seconde.
- Schakelnetwerken met geheugen en een gedeelde bus beperken het totale aantal overdrachten.
- Een kruisschakelaar bedient verschillende uitgangen parallel, maar concurrentie om dezelfde uitgang blijft bestaan.
1.3 Leg wachtrijen, verwerpen en verzendplanning uit
Een correcte doorstuurbeslissing garandeert geen onmiddellijke verzending. Een pakket kan wachten op het interne schakelnetwerk of op zijn uitgangsverbinding, en buffers met een beperkte grootte kunnen vol raken.
Waar de wachtrij ontstaat
Wachtrijvorming bij de ingang ontstaat wanneer het schakelnetwerk pakketten niet zo snel kan aannemen als de ingangen ze aanleveren. Met één FIFO-wachtrij per ingang houdt blokkering door het eerste element (HOL) een pakket tegen achter een eerder pakket dat op een bezette uitgang wacht, zelfs als de uitgang voor het latere pakket vrij is. Bij grote switches met gelijkmatig willekeurig verkeer beperkt deze opstelling de doorvoersnelheid tot ongeveer 58,6% van de verbindingssnelheid. Afzonderlijke virtuele uitgangswachtrijen bij elke ingang nemen deze specifieke blokkering weg.
Wachtrijvorming bij de uitgang ontstaat wanneer pakketten voor één uitgang sneller aankomen dan de verbindingssnelheid van die uitgang. Als drie even grote pakketten tijdens één pakkettijd één uitgang bereiken, kan er één vertrekken en wachten er twee. Een snel schakelnetwerk maakt de uitgangsverbinding niet sneller.
Hoe groot moet de buffer zijn?
De klassieke vuistregel voor de buffergrootte is , met RTT in seconden en capaciteit C in bits per seconde. Een RTT van 250 ms en een verbinding van 10 Gb/s leveren 2,5 Gb, oftewel 312,5 MB op. Bij N langdurige, niet-gesynchroniseerde TCP-verkeersstromen geeft de alternatieve regel voor 10.000 verkeersstromen 25 Mb, oftewel 3,125 MB. Dit zijn vuistregels voor verschillende verkeersomstandigheden, geen onderling uitwisselbare garanties voor elke wachtrij.
Grote buffers kunnen bufferbloat veroorzaken. Bijna 1 MB die vóór een toegelaten pakket in de wachtrij staat op een verbinding van 10 Mb/s, heeft ongeveer 0,8 s nodig om te worden verzonden: reken de bytes om naar 8.000.000 bits en deel daarna door de snelheid. Bij verwerpen bij een volle wachtrij wordt een nieuw pakket dat bij een volledig gevulde buffer aankomt, verworpen.
Verwerpen verschilt van verzendplanning
Bufferbeheer bepaalt welke pakketten worden verworpen of gemarkeerd. Bij een volle buffer worden nieuwe binnenkomende pakketten verworpen. Verwerpen op basis van prioriteit verwijdert eerst verkeer met een lagere prioriteit. Actief wachtrijbeheer grijpt eerder in: RED verhoogt de kans op verwerpen of markeren naarmate de gemiddelde wachtrijlengte toeneemt. Met ECN kan een router congestie markeren in een geschikt IP-pakket, zodat de eindpunten de belasting kunnen verminderen zonder dat dat pakket verloren gaat.
Verzendplanning kiest het volgende te verzenden pakket:
- FIFO bedient pakketten in volgorde van aankomst.
- Strikte prioriteit bedient de niet-lege klasse met de hoogste prioriteit, meestal volgens FIFO binnen elke klasse. Een niet-preëmptieve planner voltooit het pakket dat al wordt verzonden. Als pakket 1 met lage prioriteit wordt verzonden wanneer 2 met hoge, 3 met lage en 4 met hoge prioriteit aankomen, is de vertrekvolgorde 1, 2, 4, 3.
- Beurtelingse bediening geeft elke niet-lege klasse een pakketbeurt en slaat lege wachtrijen over. Als A a1, a2, a3 bevat en B b1, is de vertrekvolgorde a1, b1, a2, a3. Een werkbehoudende planner blijft verzenden zolang er een pakket wacht.
- Gewogen eerlijke wachtrijbediening (WFQ) houdt rekening met pakketlengtes om gewogen bediening bit voor bit te benaderen. Een klasse met een voortdurend gevulde wachtrij ontvangt ongeveer haar gewicht gedeeld door de som van de actieve gewichten, maal de verbindingssnelheid. Gewichten 5:3:2 op 100 Mb/s leveren 50, 30 en 20 Mb/s op als alle klassen actief zijn. Als de derde leeg raakt, ontvangen de andere 62,5 en 37,5 Mb/s. Gewichten geven aandelen, geen vaste bovengrenzen; alleen pakketbeurten tellen levert andere bandbreedteaandelen op als pakketgroottes verschillen.
Met deze mechanismen kunnen beheerders verkeer voorrang geven, vertragen of blokkeren. De beleidsvraag of providers rechtmatige content of applicaties verschillend mogen behandelen, heet netneutraliteit. De wettelijke regels hangen af van het land en de datum.
Belangrijkste punten
- HOL-blokkering kan verkeer voor een verder vrije uitgang vertragen.
- Uitgangswachtrijen ontstaan wanneer pakketten sneller aankomen dan de uitgaande verbindingssnelheid.
- De buffergrootte hangt af van de RTT, de capaciteit en het verkeersgedrag.
- Bufferbloat vermindert verlies ten koste van een buitensporige wachttijd.
- Bufferbeheer kiest wat wordt verworpen of gemarkeerd; verzendplanning kiest wat vertrekt.
- Niet-preëmptieve prioriteitsplanning voltooit het huidige pakket voordat naar een andere klasse wordt overgeschakeld.
- WFQ verdeelt bandbreedte naar gewicht en houdt daarbij rekening met de pakketlengte.
2Lees IPv4-headers en fragmenten
Een IPv4-header vertelt een router hoe hij een datagram moet verwerken en vertelt de bestemming hoe die de nettolading moet interpreteren. Bij het lezen houd je bitvelden, aantallen bytes en aantallen woorden uit elkaar. Dezelfde header bevat ook de informatie die nodig is wanneer een datagram voor een kleinere verbinding moet worden gesplitst. Werk van de totale grootte naar de nettolading en gebruik daarna offsets en vlaggen om de stukken te volgen tot ze op de bestemming worden samengevoegd.
2.1 Ontcijfer en controleer een IPv4-header
Een IPv4-datagram bestaat uit een header gevolgd door een nettolading, meestal een transportsegment. De gebruikelijke header is 20 bytes; opties kunnen die verlengen tot 60 bytes. De totale lengte is een aantal bytes in een veld van 16 bits, waardoor maximaal 65.535 bytes mogelijk zijn. Ethernet vervoert doorgaans IP-pakketten tot 1.500 bytes.
Lees velden in de volgorde waarin ze worden verzonden
| Veld | Bits | Betekenis |
|---|---|---|
| Versie; IHL | 4; 4 | IP-versie; headerlengte in woorden van 32 bits |
| Diensttype | 8 | Zes DSCP-bits en twee ECN-bits |
| Totale lengte | 16 | Header plus nettolading, in bytes |
| Identificatie | 16 | Koppelt fragmenten van één oorspronkelijk datagram aan elkaar |
| Vlaggen; fragmentoffset | 3; 13 | Regeling van fragmentatie; positie in de nettolading in eenheden van 8 bytes |
| TTL; protocol | 8; 8 | Resterende levensduur; protocol van de nettolading |
| Headercontrolesom | 16 | Foutcontrole voor de IPv4-header |
| Bron; bestemming | elk 32 | Eind-tot-eind-IPv4-adressen |
Opties volgen na deze velden wanneer IHL groter is dan 5. Omdat elk IHL-woord vier bytes is, betekent IHL 5 een lengte van 20 bytes en IHL 15 een lengte van 60 bytes. Trek deze headergrootte af van de totale lengte om de grootte van de nettolading te vinden.
DSCP ondersteunt verkeersclassificatie en ECN draagt congestie-informatie. Elke router verlaagt de TTL met minstens 1. Bij het verstrijken ervan verwerpt hij het datagram en stuurt normaal een ICMP-melding voor overschreden levensduur. TTL begint gewoonlijk bij 64, 128 of 255. Protocol geeft TCP (6), UDP (17), ICMP (1) of ingekapseld IPv6 (41) aan; het veld geeft geen applicatiepoort aan.
Ontcijfer een volledige header
Bekijk deze hexadecimale bytes:
45 00 00 34 1C 46 40 00 40 06 32 2C C0 00 02 0A C6 33 64 14
45 geeft versie 4 en IHL 5. De totale lengte 0034 is 52 bytes, zodat 32 bytes voor de nettolading overblijven. Identificatie 1C46 is 7238. Het vlaggen- en offsetwoord 4000 zet DF, wist MF en geeft offset 0. TTL 40 is 64, protocol 06 betekent TCP en de controlesom is 322C. De bronbytes worden ontcijferd als 192.0.2.10 en de bestemmingsbytes als 198.51.100.20.
Bereken de headercontrolesom
Zet het controlesomveld op nul en tel de woorden van 16 bits op met enencomplementrekenen. Tel elke overdracht boven bit 16 terug bij het lage uiteinde en keer daarna de bits om.
Voor deze header zijn de woorden 4500 0034 1C46 4000 4006 0000 C000 020A C633 6414. Hun gewone som is 0x2CDD1. Terugtellen geeft 0xCDD1 + 0x0002 = 0xCDD3; omkeren geeft 0x322C. De verificatie omvat de opgeslagen controlesom en levert 0xFFFF op wanneer geen fout is gedetecteerd. Verlaging van TTL van 64 naar 63 verandert 4006 in 3F06, zodat de bijgewerkte controlesom 0x332C is.
De controlesom beschermt alleen de IP-header. TCP controleert zijn segment en een pseudoheader met IP-adressen afzonderlijk van eind tot eind. De controlesom van UDP is optioneel bij IPv4; nul betekent dat die is weggelaten. Met IP- en TCP-headers van 20 bytes vervoert een datagram van 1.500 bytes 1.460 applicatiebytes, zodat de gezamenlijke headeroverhead ongeveer 2,7% is.
Bij gewoon doorsturen blijven de bron- en bestemmings-IP-adressen gelijk, terwijl de adressering van de datalinklaag op elke verbinding wordt vervangen. NAT is een uitzondering die IP-adressen herschrijft. IPv4-opties, zoals het vastleggen van de route, maken de header variabel en vereisen vaak een langzamere verwerking.
Belangrijkste punten
- IHL telt woorden van vier bytes; de totale lengte telt de bytes van header en nettolading.
- TTL beperkt het rondgaan van een datagram en protocol geeft het protocol van de nettolading aan.
- De IPv4-controlesom dekt de header en verandert wanneer TTL verandert.
- Bij enencomplementoptelling worden overdrachten teruggeteld vóór de uiteindelijke omkering.
- Bij gewoon doorsturen blijven de IP-eindpunten gelijk terwijl de adressering van de datalinklaag verandert.
2.2 Splits IPv4-datagrammen en reconstrueer hun nettolading
De maximale transmissie-eenheid (MTU) van een verbinding beperkt de grootte van het IP-datagram dat die kan vervoeren. Wanneer een IPv4-pakket te groot is voor de volgende verbinding, kan een router het fragmenteren als DF niet is gezet. Elk fragment heeft een eigen IP-header nodig, dus is de MTU niet volledig beschikbaar voor gegevens.
Bepaal de fragmentgroottes
Voor een datagram zonder opties:
- Trek de headerlengte af van de oorspronkelijke totale lengte.
- Trek één header af van de MTU om de ruimte per fragment te vinden.
- Rond die ruimte voor elk fragment behalve het laatste naar beneden af op een veelvoud van 8.
- Splits de nettolading en plaats een eventuele rest in het laatste fragment.
- Deel het aantal bytes van de nettolading vóór elk stuk door 8 om de offset te krijgen.
- Voeg aan elk stuk een header toe voor de totale lengte; zet MF op alle stukken behalve het laatste.
De fragmenten delen een identificatiewaarde. Samen met de bron, bestemming en het protocol identificeert die het oorspronkelijke datagram. MF betekent dat er in de volgorde van de nettolading meer fragmenten volgen. De offset meet de positie binnen de oorspronkelijke nettolading, nooit binnen de oorspronkelijke header.
Een datagram van 4.000 bytes
Met een header van 20 bytes en MTU 1.500 is de nettolading 3.980 bytes. De ruimte voor gegevens is 1.480 bytes, al deelbaar door 8.
| Fragment | Gegevensbytes | Totaal aantal bytes | Offset | MF |
|---|---|---|---|---|
| Eerste | 1.480 | 1.500 | 0 | 1 |
| Tweede | 1.480 | 1.500 | 185 | 1 |
| Derde | 1.020 | 1.040 | 370 | 0 |
De tweede offset is 1.480 gedeeld door 8. De derde is 2.960 gedeeld door 8. De nettolading telt nog steeds 3.980 bytes, maar door de drie headers worden in totaal 4.040 bytes verzonden.
Bij een datagram van 2.400 bytes met een header van 20 bytes en MTU 1.000 wordt de ruimte van 980 bytes naar beneden afgerond op 976. De gegevensstukken zijn 976, 976 en 428 bytes. De totale lengtes zijn 996, 996 en 448; de offsets zijn 0, 122 en 244; de MF-waarden zijn 1, 1 en 0. Als je elk fragment behalve het laatste tot een totale lengte van 1.000 bytes zou vullen, zou dat de uitlijningsregel voor offsets schenden.
Voeg samen op de bestemming
Alleen de bestemmingshost voegt het oorspronkelijke datagram samen. Fragmenten kunnen in een andere volgorde aankomen of op een kleinere verbinding opnieuw worden gefragmenteerd. De bestemming plaatst gegevens op basis van de offset en leidt de eindpositie af uit het fragment met MF 0. Als dat laatste fragment als eerste aankomt, betekent dit niet dat de samenvoeging voltooid is: elke eerdere byte moet ook aanwezig zijn. Ontbrekende fragmenten zorgen er uiteindelijk voor dat de samenvoeging een time-out bereikt.
Fragmentatie voegt headers toe en maakt verlies kostbaarder: één ontbrekend fragment verhindert de aflevering van het hele transportsegment. Poortnummers staan in het eerste fragment, wat filtering en NAT voor latere fragmenten bemoeilijkt. Overlappende fragmenten kunnen ook beveiligingsproblemen veroorzaken.
Bepaal de padlimiet
Als de vlag voor niet fragmenteren (DF) is gezet, wordt een te groot IPv4-datagram verworpen. De router stuurt een ICMP-melding bestemming onbereikbaar, type 3 code 4, terug. Die meldt dat fragmentatie nodig is en geeft de MTU van de volgende verbinding. Bepaling van de pad-MTU gebruikt deze terugmelding om de pakketgrootte te verkleinen. Als de terugmelding wordt geblokkeerd, kan een zwart gat ontstaan waarin kleine pakketten werken maar grote verdwijnen.
Voor TCP over een MTU van 1.500 met IP- en TCP-headers van 20 bytes is de MSS voor gegevens 1.460 bytes. IPv6-routers fragmenteren nooit: ze sturen een ICMPv6-melding dat het pakket te groot is terug, zodat de bron de pakketgrootte kan verkleinen of zelf kan fragmenteren.
Belangrijkste punten
- De totale lengte van een fragment omvat zijn eigen IP-header.
- De gegevenslengtes van alle fragmenten behalve het laatste moeten veelvouden van 8 bytes zijn.
- Offsets tellen eenheden van 8 bytes binnen de oorspronkelijke nettolading.
- Alle fragmenten delen de identificatiewaarde; alleen het laatste fragment heeft MF 0.
- De bestemming voegt samen en heeft elk deel van de nettolading nodig.
- Door DF wordt een te groot IPv4-pakket verworpen en volgt een terugmelding met de MTU.
3Configureer hosts en deel IPv4-adressen
Een nieuwe host heeft instellingen nodig voordat die bruikbaar IP-verkeer kan uitwisselen. DHCP levert die instellingen en beheert hoelang het adres toegewezen blijft. Op veel IPv4-netwerken vertaalt NAT vervolgens het privéadres en de transportpoort van de host voor communicatie buiten het netwerk. Volg eerst de configuratie-uitwisseling en daarna de veranderende pakketvelden in beide richtingen door een vertaaltabel.
3.1 Volg een DHCP-lease van ontdekking tot verlenging
Een host heeft een IP-adres, een subnetmasker of prefixlengte, een standaardgateway en DNS-serveradressen nodig. Dynamic Host Configuration Protocol (DHCP) levert deze instellingen automatisch. Op een klein netwerk fungeert de router vaak als server; een groter netwerk kan een aparte server voor meerdere subnetten gebruiken.
Discover, Offer, Request, ACK
DHCP gebruikt UDP, met serverpoort 67 en clientpoort 68. Een nieuwe client heeft nog geen adres en kent geen server, dus gebruikt de eerste uitwisseling broadcastaflevering.
- Discover: de client stuurt van 0.0.0.0:68 naar 255.255.255.255:67. Een transactie-ID koppelt antwoorden aan deze uitwisseling en het bericht bevat het MAC-adres van de client.
- Offer: een server stelt een adres, leaseduur en instellingen voor. Meer dan één server kan antwoorden.
- Request: de client verstuurt het gekozen adres en de serveridentificatie als broadcast. De andere servers die een aanbod deden, kunnen zien dat ze niet zijn gekozen.
- ACK: de gekozen server bevestigt de lease. De client kan de configuratie voltooien en het adres gebruiken.
Een laptop maakt bijvoorbeeld verbinding met een netwerk waarvan de DHCP-server 192.168.1.1 is. Het aanbod is 192.168.1.101 met masker 255.255.255.0, gateway 192.168.1.1, DNS-server 192.168.1.1 en een lease van 86.400 s. Nadat de laptop zijn Request-bericht als broadcast heeft verstuurd en de ACK heeft ontvangen, heeft hij een lease van 24 uur en de instellingen voor lokaal verkeer en verkeer naar andere netwerken.
Een Offer alleen is nog geen voltooide toewijzing. Een NAK wijst een verzoek af dat niet meer geldig is, zoals een verzoek dat bij het verkeerde netwerk hoort, en de client moet opnieuw een adres aanvragen.
Behoud het adres of geef het op
Een lease maakt hergebruik mogelijk nadat een host vertrekt. Met de standaardtimers begint verlenging halverwege de leaseduur: de client stuurt een Request-bericht als unicast naar de oorspronkelijke server. Als verlenging mislukt, verstuurt de client bij 87,5% van de duur een Request-bericht als broadcast, zodat elke geschikte server de lease kan verlengen. Een lease van 24 uur heeft dus standaard verlengings- en herbindingstijden van 12 en 21 uur na toewijzing.
Als de lease zonder verlenging verloopt, moet de client stoppen met het gebruik van dat adres. Een client kan bij vertrek een Release sturen, terwijl een Decline meldt dat het aangeboden adres al in gebruik is. Het adres dat bij een later bezoek wordt toegewezen, kan verschillen, omdat DHCP een herbruikbare pool beheert en geen permanent eigendom toekent.
Bereik een server op een ander subnet
Routers sturen de beperkte broadcast van de client niet door als gewoon verkeer. Een DHCP-relayagent op het subnet van de client geeft het bericht door aan een geconfigureerde externe server. Het gatewayadresveld identificeert het subnet van de client, zodat de server de juiste pool kan kiezen. Antwoorden gaan via de relay terug naar de client.
De relay en de standaardgateway hebben verschillende taken, ook als dezelfde router beide verzorgt. De relay brengt de configuratie-uitwisseling naar een externe server; de standaardgateway vervoert het verkeer van de geconfigureerde host naar andere netwerken. Evenzo zet de DNS-server namen om en hoeft die niet de DHCP-server te zijn.
Een geldig adres met de verkeerde standaardgateway kan er nog steeds toe leiden dat een host bestemmingen buiten de eigen verbinding niet kan bereiken. IPv6 heeft afzonderlijke configuratiemechanismen, waaronder SLAAC op basis van routeradvertenties en DHCPv6.
Belangrijkste punten
- DHCP levert een adres, masker, gateway, DNS-instellingen en leaseduur.
- De eerste toewijzing gebruikt Discover, Offer, Request en ACK via UDP-poorten 68 en 67.
- Het eerste Request-bericht als broadcast geeft aan welk aanbod is gekozen.
- Standaard beginnen verlenging en herbinding bij 50% en 87,5% van de lease.
- Met een relay kan een server clients op een ander subnet configureren.
3.2 Volg een NAT-vertaling in beide richtingen
Privé-IPv4-adressen kunnen in onafhankelijke netwerken opnieuw worden gebruikt. De privéblokken zijn 10.0.0.0/8, 172.16.0.0/12 en 192.168.0.0/16. Ze worden niet wereldwijd gerouteerd op het openbare internet. Met netwerkadresvertaling (NAT) kunnen apparaten met een privéadres communiceren via een openbaar adres aan de rand van het netwerk.
Leg de vertaling vast voordat je het antwoord volgt
Thuisrouters voeren gewoonlijk netwerkadres- en poortvertaling (NAPT) uit. De router wijzigt het bronadres en de brontransportpoort van een uitgaand pakket en legt de privé- en openbare combinatie vast. De bestemmingscombinatie van een terugkerend pakket wordt terugvertaald. Er bestaat ook één-op-één-NAT, dat adressen vertaalt zonder poorten te wijzigen.
Een laptop op 192.168.1.101:50123 maakt verbinding met 203.0.113.80:443. Zijn NAT-router heeft openbaar adres 198.51.100.7 en wijst poort 40001 toe:
| Richting | Bron | Bestemming |
|---|---|---|
| Vóór uitgaande vertaling | 192.168.1.101:50123 | 203.0.113.80:443 |
| Na uitgaande vertaling | 198.51.100.7:40001 | 203.0.113.80:443 |
| Antwoord vóór inkomende vertaling | 203.0.113.80:443 | 198.51.100.7:40001 |
| Antwoord na inkomende vertaling | 203.0.113.80:443 | 192.168.1.101:50123 |
De tabel bevat 198.51.100.7:40001 ↔ 192.168.1.101:50123. Als een telefoon op 192.168.1.102 dezelfde privépoort gebruikt om contact te maken met die server, kan de router openbare poort 40002 toewijzen. De openbare poort onderscheidt het terugkerende verkeer; de privépoort alleen zou dat niet doen.
Het herschrijven van het IPv4-adres verandert de headercontrolesom. TCP en UDP met controlesom dekken via hun pseudoheaders ook IP-adressen, dus moeten hun controlesommen worden aangepast. NAPT herschrijft ook een transportpoort. De server ziet normaal de vertaalde openbare bron, niet de privébron.
Vertalingen hebben een levensduur
Uitgaand verkeer maakt meestal dynamische vertalingen aan. Een ongevraagd inkomend pakket zonder overeenkomende vertaling wordt in deze basisopstelling verworpen. Om een interne dienst bereikbaar te maken, kan een statische regel voor poortdoorschakeling worden geïnstalleerd of kan een host via UPnP of het Port Control Protocol een vertaling aanvragen. STUN helpt een host zijn openbare vertaling te ontdekken; TURN geeft verkeer door wanneer rechtstreekse communicatie niet tot stand kan worden gebracht.
Ongebruikte vertalingen verlopen. De gedragseisen voor UDP vragen een time-out van minstens twee minuten, waarbij vijf minuten of meer wordt aanbevolen. Verkeer om de verbinding actief te houden kan een vertaling behouden. Het poortveld van 16 bits biedt 65.536 numerieke waarden per protocol, maar door gereserveerde poorten en het vertaalgedrag is dat aantal geen exacte garantie voor het aantal gelijktijdige verbindingen.
Wat NAT oplost en wat het kost
Het delen van een openbaar adres heeft het gebruik van IPv4 verlengd. Providers kunnen ook NAT op providerniveau gebruiken en klanten vaak adressen uit het gedeelde blok 100.64.0.0/10 toewijzen. Een thuisverbinding kan dan zowel door de NAT thuis als door een NAT van de provider gaan.
Vertaling vermindert de rechtstreekse eind-tot-eindbereikbaarheid en bemoeilijkt protocollen die adressen in hun berichtinhoud opnemen, zoals SIP of FTP in actieve modus. NAT grijpt ook in op transportvelden. IPv6 pakt het onderliggende tekort aan met een grotere adresruimte.
Het verwerpen van inkomend verkeer zonder overeenkomst door NAT is geen inhoudsinspectie. Een kwaadaardig programma kan via hetzelfde vertaalmechanisme als een legitieme client een uitgaande verbinding openen. Firewallbeleid blijft een afzonderlijke beveiligingsfunctie.
Belangrijkste punten
- NAPT deelt openbare IPv4-adressen door adres-poortparen te vertalen.
- Bij uitgaande pakketten veranderen bronvelden; bij antwoorden veranderen bestemmingsvelden.
- Vertalingen onderscheiden hosts ook wanneer hun privébronpoorten gelijk zijn.
- Bij vertaling moeten de betrokken IP- en transportcontrolesommen worden bijgewerkt.
- Verlopende vertalingen en ontbrekende inkomende vertalingen bemoeilijken de bereikbaarheid.
- NAT bespaart adressen maar inspecteert verkeer niet op bedreigingen.
4Lees IPv6 en verbind via IPv4
IPv6 verandert zowel de adresruimte als de verwerking van elk pakket. De vaste header verplaatst optionele informatie naar afzonderlijke headers en te grote pakketten leiden tot een terugmelding aan de bron voor correctie. Bij de invoering moet ook rekening worden gehouden met bestaande IPv4-systemen. Maak onderscheid tussen twee protocollen naast elkaar gebruiken, het ene binnen het andere vervoeren en ertussen vertalen: deze methoden lossen verschillende communicatieproblemen op en hebben verschillende gevolgen voor de pakketgrootte.
4.1 Lees de vaste IPv6-header en de uitbreidingen
IPv4 heeft 32-bitsadressen, ongeveer 4,3 miljard mogelijke waarden. IANA verdeelde de laatste IPv4-blokken uit de centrale voorraad in februari 2011. IPv6 breidt adressen uit naar 128 bits, ongeveer 3,4 × 10³⁸ waarden, en vereenvoudigt de routinematige verwerking van headers. RFC 8200 specificeert het basisformaat van de pakketten.
Een vaste header van 40 bytes
| Veld | Bits | Doel |
|---|---|---|
| Versie | 4 | Waarde 6 geeft IPv6 aan |
| Verkeersklasse | 8 | Verkeersafhandeling met DSCP en ECN |
| Stroomlabel | 20 | Markeert pakketten die bij een verkeersstroom horen |
| Lengte van de nettolading | 16 | Bytes na de vaste header |
| Volgende header | 8 | Type van de direct volgende header |
| Hoplimiet | 8 | Resterend aantal hops voor doorsturen |
| Bronadres | 128 | IPv6-adres van de verzender |
| Bestemmingsadres | 128 | IPv6-adres van de ontvanger |
De velden tellen samen 320 bits, oftewel 40 bytes. De hoplimiet vervult de rol van de IPv4-TTL: elke doorsturende router verlaagt die met 1 en verwerpt het pakket wanneer de limiet verstrijkt. Het stroomlabel kan routers en lastverdelers helpen een verkeersstroom consistent te behandelen, bijvoorbeeld door een vast pad te kiezen. Het garandeert geen bandbreedte.
De lengte van de nettolading omvat niet de vaste header, maar wel uitbreidingsheaders. Een TCP-segment van 1.000 bytes zonder uitbreidingen geeft dus nettoladinglengte 1.000 en een totale grootte van 1.040 bytes. De totale lengte van IPv4 omvat daarentegen wel de header.
Volg de keten van volgende headers
Het veld voor de volgende header geeft een protocol van een hogere laag of een uitbreiding aan. Waarden zijn onder meer TCP 6, UDP 17 en ICMPv6 58; uitbreidingstypen zijn onder meer Hop-by-Hop Options 0, Routing 43, Fragment 44 en Destination Options 60. Het eigen veld voor de volgende header van een uitbreiding geeft aan wat daarop volgt.
Bij een fragment van de bron dat 600 bytes van een TCP-segment vervoert, maakt een Fragment-header van 8 bytes de nettoladinglengte 608. De vaste header vermeldt volgende header 44; de Fragment-header vermeldt volgende header 6. De totale fragmentgrootte is 648 bytes. Als je alleen het eerste veld voor de volgende header leest, zou je een uitbreiding voor het transportprotocol aanzien.
Wat IPv6 uit de routinematige doorsturing verwijdert
IPv6 heeft geen controlesom voor de vaste header, dus vereist wijziging van de hoplimiet geen bijwerking van een netwerkheadercontrolesom. Foutcontroles op de datalink- en transportlaag blijven belangrijk. UDP-controlesommen zijn bij IPv6 normaal verplicht, met een beperkte uitzondering voor bepaalde tunnels; bij IPv4 zijn ze optioneel.
IPv6-routers fragmenteren nooit. Een te groot pakket wordt verworpen en veroorzaakt een ICMPv6-melding dat het pakket te groot is; de bron verkleint daarna het pakket of gebruikt een Fragment-header. Elke IPv6-verbinding moet een IPv6-MTU van minstens 1.280 bytes ondersteunen, zo nodig met aanpassing op een lagere laag. Fragmentatie bestaat nog steeds bij de bron.
Opties verhuizen naar uitbreidingsheaders, waardoor de lengte van de basisheader vast blijft. De twee adressen nemen 32 van de 40 bytes in beslag, oftewel 80%. Bij een totale grootte van 1.500 bytes is de IPv6-header van 40 bytes ongeveer 2,7% overhead, tegenover ongeveer 1,3% voor de gebruikelijke IPv4-header van 20 bytes.
Adresnotatie en lokale werking
Schrijf adressen als acht hexadecimale groepen. Laat voorloopnullen in een groep weg en kort één reeks nulgroepen in met “::”. Zo wordt 2001:0db8:0000:0000:0000:0000:0000:0001 verkort tot 2001:db8::1; 2001:db8::/32 is gereserveerd voor documentatie.
Hosts kunnen SLAAC met routeradvertenties of DHCPv6 gebruiken. IPv6 heeft multicast in plaats van broadcast. ICMPv6 verzorgt buurdetectie, die de rol van ARP bij lokale adresomzetting vervangt, en essentiële terugmeldingen over fouten. De grotere adresruimte neemt doorgaans de noodzaak weg van NAT om adressen te delen.
Belangrijkste punten
- De vaste IPv6-header is 40 bytes en heeft bron- en bestemmingsadressen van 128 bits.
- De lengte van de nettolading omvat niet de vaste header, maar wel uitbreidingen.
- Het veld voor de volgende header verbindt uitbreidingen met elkaar en met het protocol van de hogere laag.
- IPv6 laat de IP-headercontrolesom en fragmentatie door routers vervallen.
- De bron kan fragmenteren; een IPv6-verbinding moet een MTU van minstens 1.280 bytes ondersteunen.
- SLAAC, DHCPv6, multicast en buurdetectie ondersteunen de werking van IPv6-hosts.
4.2 Kies dual stack, tunneling of vertaling
Een host met alleen IPv4 kan niet rechtstreeks IP-pakketten uitwisselen met een host met alleen IPv6. Elk doorsturend apparaat moet het pakket dat het verwerkt begrijpen, dus vergt vervanging van een netwerklaagprotocol een gecoördineerde verandering in een enorm bestaand netwerk. IPv4 en IPv6 bestaan daarom naast elkaar. Het kleine ARPANET kon op 1 januari 1983 overschakelen op TCP/IP; het internet kan zo'n algemene omschakeldag niet herhalen.
Gebruik beide met dual stack
Een dual-stackhost of -router implementeert beide IP-versies en heeft adressen voor beide. DNS kan A-records voor IPv4 en AAAA-records voor IPv6 teruggeven. De client kan dan verbinding maken met een versie die beide eindpunten ondersteunen.
Happy Eyeballs voorkomt een lange vertraging wanneer één pad niet werkt door verbindingspogingen voor beschikbare adressen en adresfamilies te laten overlappen. Meestal begint de methode met IPv6 en volgt IPv4 kort daarna. De verbinding die slaagt, wordt gebruikt. Dual stack vertaalt geen pakketten; een bepaalde verbinding gebruikt één IP-versie.
Vervoer IPv6 over een IPv4-traject
Een tunnel plaatst een volledig IPv6-datagram in een IPv4-nettolading. De buitenste IPv4-header vermeldt de tunnelingang en -uitgang en protocol 41 geeft ingekapseld IPv6 aan. Routers met alleen IPv4 kunnen het pakket op basis van die buitenste header vervoeren zonder de binnenste te interpreteren.
Stel dat host A, 2001:db8:1::10, naar host F, 2001:db8:2::20, stuurt. Router B, 192.0.2.1, is de tunnelingang; router E, 198.51.100.2, is de uitgang. Routers C en D daartussen verwerken alleen IPv4.
B stuurt het IPv6-pakket door, verlaagt de hoplimiet en voegt de buitenste header van B naar E toe. C en D verlagen de buitenste IPv4-TTL wanneer ze doorsturen. E verwijdert de buitenste header, verlaagt bij het doorsturen naar F de binnenste hoplimiet en stuurt het IPv6-pakket verder. Een beginwaarde van 64 voor de hoplimiet komt bij F aan als 62. De tunnel werkt als één IPv6-verbinding; de IPv4-routers binnen de tunnel verbruiken niet elk een IPv6-hop. De binnenste bron en bestemming blijven A en F.
De buitenste header neemt ruimte in. Met een buitenste IPv4-header van 20 bytes en een onderliggende MTU van 1.500 blijven maximaal 1.480 bytes over voor het hele binnenste IPv6-datagram. Tunneling wordt ook gebruikt in VPN's en mobiele netwerken.
Vertaal voor incompatibele eindpunten
NAT64 zet IPv6- en IPv4-headers in elkaar om en houdt daarbij de toestand van de vertaling bij. DNS64 kan een IPv6-bestemming samenstellen uit het adres van een IPv4-server, vaak met 64:ff9b::/96. Voor 192.0.2.33 zijn de laatste vier bytes hexadecimaal C0 00 02 21, wat 64:ff9b::c000:221 oplevert.
Een client met alleen IPv6 stuurt naar dat samengestelde adres. NAT64 stuurt het overeenkomstige IPv4-pakket naar de server en vertaalt daarna het antwoord terug. DNS64 levert de bruikbare bestemming; NAT64 voert de pakketomzetting uit. Sommige mobiele toegangsnetwerken met alleen IPv6 gebruiken deze opstelling.
Vertaling kan niet elke functie behouden: IPv4 heeft geen direct equivalent voor het IPv6-stroomlabel of de structuur van uitbreidingsheaders. Een tunnel bewaart een pakket binnen een buitenste pakket, terwijl vertaling de protocolrepresentatie verandert.
De invoering verloopt ongelijk tussen netwerken en landen. Een host die IPv6 krijgt, wordt niet rechtstreeks compatibel met IPv4; die heeft nog steeds IPv4-ondersteuning of een vertaalpad nodig om met een dienst met alleen IPv4 te communiceren.
Belangrijkste punten
- Dual stack implementeert beide protocollen zonder pakketten om te zetten.
- Een tunnel kapselt IPv6 in IPv4 in, met protocol 41 in de buitenste header.
- IPv4-routers binnen de tunnel verlagen alleen de buitenste TTL.
- Een buitenste tunnelheader van 20 bytes vermindert de beschikbare binnenste MTU met 20 bytes.
- DNS64 stelt een adres samen en NAT64 vertaalt pakketten voor diensten met alleen IPv4.
5Programmeer doorsturen en beoordeel middleboxes
Het opzoeken van de bestemming is één manier om te beslissen wat er met een pakket gebeurt. Een stroomtabel kan meerdere headervelden vergelijken en acties kiezen om door te sturen, te verwerpen of te herschrijven. SDN coördineert deze lokale beslissingen in een netwerk. Zodra apparaten ook verkeer vertalen, filteren of verdelen, ontstaat een architectuurvraag: welke functies horen binnen het netwerk en welke hebben nog steeds de kennis nodig die alleen op de eindpunten beschikbaar is?
5.1 Pas overeenkomsten, prioriteiten en acties in stroomtabellen toe
Gegeneraliseerd doorsturen breidt het opzoeken op basis van bestemming uit tot een breder model met matchcriteria en acties. Een switch vergelijkt pakketheadervelden met regels en voert de geselecteerde actie uit. Afhankelijk van de geïnstalleerde regels kan hetzelfde apparaat werken als IP-router, Ethernet-switch, firewall, vertaler of lastverdeler.
Lees een regel
Een regel vermeldt matchvelden, prioriteit en acties. De regel heeft ook tellers, zoals voor overeenkomende pakketten en bytes en de verstreken tijd sinds installatie. Een inactiviteitstime-out verwijdert een regel na een periode zonder overeenkomsten; een vaste time-out verwijdert de regel na een vaste tijd sinds installatie, ook als het verkeer doorgaat.
OpenFlow 1.0 biedt twaalf matchvelden: ingangspoort; bron-MAC-adres, bestemmings-MAC-adres, EtherType, VLAN-ID en VLAN-prioriteit; bron-IP-adres, bestemmings-IP-adres, IP-protocol en DSCP-bits van het IP-diensttype; en bron- en bestemmingspoort van de transportlaag. Deze velden bestrijken meerdere lagen. TTL is in die versie geen ondersteund matchveld. Latere versies ondersteunen extra velden, waaronder IPv6-velden.
Een joker accepteert elke waarde in zijn veld. Bestemming 10.2.. duidt bijvoorbeeld 10.2.0.0/16 aan. Als alle velden jokers zijn, komt de regel met elk pakket overeen. Een regel die TCP-poort 22 noemt, heeft ook de juiste overeenkomst voor het IP/TCP-protocol nodig, zodat het transportpoortveld de bedoelde betekenis heeft.
Bepaal de winnaar bij overlappende overeenkomsten
Bij overlappende regels met jokers wint de hoogste expliciete prioriteit. Specificiteit alleen bepaalt de winnaar niet. OpenFlow 1.0 heeft een aanvullende regel: een volledig exacte regel, zonder jokervelden, gaat vóór regels met jokers. Een regel die één exact IP-adres noemt maar andere velden als joker laat, blijft een regel met jokers.
Bekijk twee regels, waarbij alle niet-vermelde velden jokers zijn:
| Overeenkomst | Prioriteit | Actie |
|---|---|---|
| IPv4, TCP, bestemmingspoort 22 | 100 | Verwerpen |
| IPv4, bestemming 10.2.0.0/16 | 10 | Doorsturen via poort 3 |
Een TCP-pakket voor 10.2.0.5:22 komt met beide overeen en wordt verworpen. Een TCP-pakket voor 10.2.0.5:443 komt alleen met de doorstuurregel overeen. Dit verschilt van selectie op de langste overeenkomende prefix: de winnaar volgt uit de toegewezen prioriteit, niet uit de lengte van de bestemmingsprefix.
Voer een actie uit
Doorsturen kan één uitgang selecteren, meerdere uitgangen om kopieën te maken of aflevering aan de controller. Een lege actielijst verwerpt het pakket. Wijzigingsacties herschrijven ondersteunde headervelden, bijvoorbeeld een bestemmings-IP-adres en transportpoort, voordat het pakket verder wordt gestuurd.
Bij een ontbrekende tabelovereenkomst is er geen overeenkomende regel. In OpenFlow 1.0 stuurt de switch het pakket naar de controller; bij algemenere stroomtabelontwerpen kan worden ingesteld dat een ontbrekende overeenkomst leidt tot verwerpen of een verzoek om hulp aan de controller. De controller kan een regel installeren zodat latere pakketten op het snelle lokale pad blijven.
Stroomregels vergelijken headers. In de nettolading van applicaties kijken heet diepe pakketinspectie, een afzonderlijke functie die gewone OpenFlow-vergelijking niet biedt. Evenzo is OpenFlow een protocol voor switchbesturing, terwijl SDN de bredere architectuur is die besturing van doorsturen scheidt. Programmeerbare datavlaktalen zoals P4 kunnen bepalen welke headers een apparaat ontleedt en breiden de programmeerbaarheid uit voorbij een vaste lijst matchvelden.
Belangrijkste punten
- Stroomregels combineren matchcriteria, prioriteiten, acties, tellers en time-outs.
- OpenFlow 1.0 vergelijkt een vaste verzameling velden uit meerdere lagen.
- De prioriteit van een regel met jokers is expliciet; een volledig exacte OpenFlow 1.0-regel gaat voor.
- Doorsturen, verwerpen, afleveren aan de controller en headers wijzigen realiseren verschillend gedrag.
- De afhandeling van een ontbrekende tabelovereenkomst moet worden onderscheiden van een expliciete verwerpregel.
- Vergelijking van headers inspecteert geen nettolading van applicaties.
5.2 Coördineer lokale regels tot een SDN-netwerk
Een switch kan een regel correct toepassen terwijl een pakket verderop op het pad toch vastloopt. Softwaregedefinieerd netwerken (SDN) gebruikt een controller en netwerkapplicaties om het doorstuurgedrag van meerdere switches te coördineren.
Scheid de rollen
SDN combineert doorsturen op basis van verkeersstromen, scheiding van data- en besturingsvlak, besturingsfuncties buiten de switches en software-interfaces om het netwerk te programmeren. Een interface naar netwerkapparaten, zoals OpenFlow, vervoert instructies tussen controller en switches. Via een interface naar netwerkapplicaties kunnen netwerkapplicaties gedrag bij de controller aanvragen.
De controller is logisch gecentraliseerd: hij presenteert één gecoördineerd besturingssysteem. Productiesystemen kunnen die besturing voor schaalbaarheid en betrouwbaarheid over meerdere fysieke servers repliceren. Een pakket waarvoor al een stroomregel bestaat, wordt in de switch afgehandeld zonder een rondgang naar de controller.
Bouw een pad switch voor switch op
Verkeer van 10.1.0.0/16 bij s1 moet 10.3.0.0/16 via s2 en s3 bereiken. Met jokers voor de andere velden zijn de relevante padregels:
- Op s1: ingang 1, bron 10.1.0.0/16, bestemming 10.3.0.0/16 → uitgang 4 naar s2.
- Op s2: ingang 2, bron 10.1.0.0/16, bestemming 10.3.0.0/16 → uitgang 3 naar s3.
- Op s3: bestemming 10.3.0.6 → uitgang 1 naar die host.
Elke uitgang moet leiden naar een verbinding waarvan de ontvangende switch een passende regel heeft. Een ontbrekende regel kan een zwart gat veroorzaken; regels die niet op elkaar aansluiten, kunnen pakketten in een lus sturen. Door naast de bestemming ook de bron te vergelijken, kan verkeer uit verschillende bronnetwerken verschillende paden naar dezelfde bestemming volgen. Een gewone tabelopzoeking op alleen de bestemming kan dat onderscheid niet maken.
Gebruik hetzelfde mechanisme voor meerdere taken
Een firewall kan bron 10.3.0.0/16 met prioriteit 200 doorsturen en al het verkeer met prioriteit 100 verwerpen. Voeg een verwerpregel voor IPv4/TCP-bestemmingspoort 22 met prioriteit 300 toe om SSH ook vanuit het toegestane bronnetwerk te blokkeren. Dit zijn regels met jokers, dus bepalen hun expliciete prioriteiten wat er bij overlap gebeurt. Als je die prioriteiten omkeert, zou de bredere toestemmingsregel de bedoelde SSH-blokkering tenietdoen.
Een Ethernet-doorstuurregel kan overeenkomen met bestemmings-MAC 22:A7:23:11:E1:02 en uitgangspoort 3 kiezen, ongeacht de IP-adressen. Twee regels voor lastverdeling kunnen verkeer naar 10.4.0.0/16 vanuit bron 10.1.0.0/16 via poort 3 sturen en vanuit 10.2.0.0/16 via poort 4, mits beide paden die bestemming bereiken. Door vóór het doorsturen adres en poort te herschrijven, kun je NAT-gedrag realiseren.
Houd lokale en netwerkbrede correctheid uit elkaar
Inspectie van één switch bewijst alleen dat de vergelijking en actie van die switch kloppen. Om een pad te verifiëren, volg je de daadwerkelijke header en ingangspoort van het pakket door elke switch, inclusief eventuele headerwijzigingen. Controleer ook de terugrichting wanneer de applicatie antwoorden nodig heeft: installatie van een heenpad installeert niet automatisch het terugpad.
SDN wordt gebruikt in datacenters, netwerken tussen datacenters zoals B4 van Google en mobiele kernnetwerken. Met softwarebesturing en gangbare, leverancieronafhankelijke switches kunnen beheerders gedrag veranderen zonder afhankelijk te zijn van de ontwikkelcyclus voor functies van een gespecialiseerd apparaat van één leverancier. Routes berekenen hoort bij het besturingsvlak; vergelijken met de geïnstalleerde regels blijft werk van het datavlak.
Belangrijkste punten
- SDN coördineert doorsturen op basis van verkeersstromen via afzonderlijke besturingssoftware.
- Interfaces naar netwerkapparaten bereiken switches; interfaces naar netwerkapplicaties bereiken applicaties.
- Logische centralisatie kan worden geïmplementeerd met gerepliceerde controllerservers.
- Elke hop heeft een passende regel nodig voor het pakket dat daadwerkelijk aankomt.
- Bronafhankelijke paden, filtering, schakeling en herschrijving gebruiken hetzelfde model met matchcriteria en acties.
5.3 Weeg middleboxes af tegen eind-tot-eindontwerp
Een middlebox is een apparaat op het communicatiepad dat meer doet dan de standaardtaak voor doorsturen van een gewone IP-router. RFC 3234 omvat functies zoals vertaling, filtering en verkeersoptimalisatie. Eén thuisgateway kan routering, NAT en een firewall combineren.
Waarom beheerders functies op het pad plaatsen
NAT deelt adressen. Beveiligingsapparaten, waaronder firewalls en inbraakdetectiesystemen, blokkeren of signaleren verkeer op basis van headers of inhoud. Prestatieapparaten omvatten lastverdelers, caches, servers voor contentdistributie en WAN-optimizers. Een pakket kan op één reis meerdere van zulke functies tegenkomen.
Een lastverdeler biedt clients één dienstadres en verdeelt verbindingen over servers. Bij een gewone toestandsafhankelijke verbinding moeten pakketten dezelfde achterliggende server bereiken. Een hash van de 5-tupel (bronadres, bestemmingsadres, bronpoort, bestemmingspoort en protocol) kan die keuze consistent maken. Als voor elk pakket een andere achterliggende server wordt gekozen, wordt een verbinding verbroken waarvan de toestand alleen op de gekozen server bestaat.
Deze functies gebruikten vroeger vaak gesloten apparaten. Ze kunnen nu draaien op gangbare switches, onder SDN-besturing, of als virtualisatie van netwerkfuncties (NFV): software-implementaties van functies zoals NAT of firewalls op gewone servers. NFV beschrijft hoe de functie wordt geïmplementeerd; SDN beschrijft hoe de besturing is georganiseerd.
Het IP-zandlopermodel
Het internet heeft veel applicaties en transportprotocollen boven IP en veel verbindings- en fysieke technieken eronder. IP vormt hun gemeenschappelijke smalle taille. Een nieuwe applicatie heeft niet voor elke verbindingstechniek een andere netwerklaag nodig en een nieuwe verbinding heeft geen afzonderlijke ondersteuning voor elke applicatie nodig.
De architectuurtraditie die RFC 1958 beschrijft, stelt connectiviteit centraal, gebruikt IP als gemeenschappelijk mechanisme en plaatst veel intelligentie op de eindpunten. Middleboxes voegen functies binnen dat gemeenschappelijke pad toe, maken de taille breder en laten communicatie afhangen van gedrag dat verder gaat dan gewoon IP-doorsturen.
Pas het eind-tot-eindargument toe
Het eind-tot-eindargument, voor het eerst gepresenteerd door Saltzer, Reed en Clark in 1981, stelt de vraag waar een functie volledig en correct kan worden geïmplementeerd. Als daarvoor applicatiekennis nodig is die alleen op de eindpunten beschikbaar is, blijft een implementatie op de eindpunten nodig, ook wanneer het netwerk een gedeeltelijke versie biedt.
Voor een betrouwbare bestandsoverdracht is foutloze aflevering over verbindingen onvoldoende. Een geheugenfout in een router, een softwarefout of een schijfprobleem kan het bestand nog steeds veranderen. De ontvangende applicatie moet het hele ontvangen bestand controleren, bijvoorbeeld met een afgesproken controlesom, en om herstel vragen als het resultaat afwijkt. Lokale hertransmissie op een wifiverbinding met veel storing kan de prestaties nog steeds verbeteren door veelvoorkomende fouten snel te herstellen. Die vervangt de controle van het hele bestand niet.
De kosten van afhankelijkheid van de huidige protocollen
Middleboxes kunnen het adresgebruik verminderen, de handhaving van beveiligingsbeleid verbeteren en aflevering versnellen. Ze kunnen ook rechtstreekse communicatie beperken en verstarring veroorzaken: apparaten gaan uit van een bekend protocolformaat en wijzen onbekend gedrag af of veranderen het. Een nieuw transportprotocol kan falen, ook als de software op de eindpunten het ondersteunt.
QUIC gebruikt UDP om bestaande NAT- en firewallwerking te passeren en versleutelt de meeste transportinformatie, zodat tussenliggende apparaten minder gelegenheid hebben om van de details afhankelijk te worden. Het ontwerp zoekt een evenwicht tussen inzetbaarheid en ruimte voor ontwikkeling. Het huidige internet omvat programmeerbare switches, contentdistributiesystemen en grote datacenters; eind-tot-eindontwerp blijft een leidraad om te bepalen welke controles op eindpunten binnen dat complexere netwerk essentieel zijn.
Belangrijkste punten
- Middleboxes voegen vertaal-, beveiligings- of prestatiefuncties toe aan het gegevenspad.
- Een toestandsafhankelijke verbinding vereist een consistente keuze van de achterliggende server.
- De smalle taille van IP laat hogere en lagere technieken zich onafhankelijk ontwikkelen.
- Correctheid van eind tot eind kan ondanks betrouwbare verbindingen controles op de eindpunten vereisen.
- Lokaal herstel kan de prestaties verbeteren zonder verificatie op de eindpunten te vervangen.
- Middleboxes kunnen door verstarring de invoering van nieuwe protocollen bemoeilijken.
Netwerklaag datavlak: voorbeelden
1Volg een pakket van tabelopzoeking tot vertrek
15 stappen
- 1IntroductieBegin met één binnenkomend pakket
Een router heeft geleerd hoe hij een netwerk kan bereiken, maar er komen meerdere pakketten tegelijk aan. Om te voorspellen wat er gebeurt, volg je drie beslissingen: de tabel selecteert een uitgang, het interne schakelnetwerk verplaatst het pakket en de planner selecteert wat vertrekt.
Deze beslissingen kunnen afzonderlijk slagen: de juiste uitgang kan bekend zijn, ook wanneer het pakket op een middel moet wachten.
- 2AnalogieOnderscheid het plan van de volgende afslag
Een autorit plannen lijkt op routering: een pad over veel wegen bepalen. De gekozen afslag nemen bij één knooppunt lijkt op doorsturen: lokaal handelen volgens dat plan.
Bij een router levert het besturingsvlak de doorstuurtabel en past het datavlak die op pakketten toe. Een nieuw pakket vereist een tabelopzoeking; een uitgevallen verbinding kan vereisen dat het besturingsvlak het plan aanpast.
- 3UitdagingBepaal het werk na een verbindingsstoring
Een router verneemt dat een verbinding is uitgevallen, wijzigt zijn tabel en stuurt daarna een binnenkomend pakket via een andere interface. Welk deel is werk van het besturingsvlak en welk deel van het datavlak?
---reveal---
De doorstuurinformatie wijzigen is werk van het besturingsvlak. De nieuwe regel toepassen op het binnenkomende pakket is doorsturen door het datavlak. Het pakket veroorzaakt zelf niet bij elke hop een volledige routeberekening.
- 4KernpuntHoud IP-aflevering en TCP-herstel uit elkaar
IP biedt aflevering zonder garanties. Een datagram kan verdwijnen of in een andere volgorde aankomen en IP verzendt het niet opnieuw.
TCP detecteert verlies, verzendt ontbrekende gegevens opnieuw en herstelt de bytevolgorde op de eindpunten. Als een volledig bestand aankomt, bewijst dat dus niet dat de netwerklaag elk pakket heeft gegarandeerd. De applicatie profiteert van verschillende lagen die verschillende taken uitvoeren.
- 5UitlegGa de router binnen
Een ingangspoort ontvangt het frame, haalt het IP-datagram eruit en zoekt met lokale doorstuurinformatie een uitgang op. Het interne schakelnetwerk verbindt die ingang met de gekozen uitgang.
De uitgangspoort kan het datagram bufferen, in een uitgaand frame van de datalinklaag plaatsen en verzenden. Een afzonderlijke routeringsprocessor verzorgt besturing en beheer; die wordt niet voor elke gewone tabelopzoeking in hardware geraadpleegd.
- 6VoorbeeldZoek elke overeenkomende prefix
De tabel bevat 10.0.0.0/8 → uitgang 0, 10.44.0.0/16 → uitgang 1, 10.44.16.0/20 → uitgang 2 en /0 → uitgang 3. De bestemming is 10.44.23.9.
Het adres komt overeen met /8 en /16. Ook de /20 komt overeen omdat het bereik van het derde octet 16–31 is. De standaardroute komt overeen met elk adres. Zoek eerst alle kandidaten voordat je de langste kiest.
- 7VoorbeeldKies de meest specifieke overeenkomst
Van de overeenkomende prefixen is /20 het langst, dus verlaat het pakket de router via uitgang 2. Noch de eerste overeenkomende rij, noch het hoogste uitgangsnummer bepaalt het resultaat.
Voor bestemming 10.44.40.9 komt de /20 niet meer overeen, dus selecteert /16 uitgang 1. Een doorstuuruitzondering geldt alleen binnen de eigen bitprefix; de bredere regel blijft daarbuiten bruikbaar.
- 8UitdagingGebruik een prefix die binnen een octet eindigt
De tabel bevat ook 10.44.24.0/21 → uitgang 4. Waar gaan pakketten voor 10.44.26.8 en 10.44.19.8 naartoe?
---reveal---
De /21 omvat de waarden 24–31 van het derde octet, dus gaat 10.44.26.8 via uitgang 4. Het adres 10.44.19.8 komt nog steeds overeen met /20 maar niet met /21, dus gaat het via uitgang 2. Vergelijk de prefixbits voordat je de prefixlengtes vergelijkt.
- 9VerbandZie waarom het schakelnetwerk belangrijk is
Een gedeelde bus verplaatst één pakket tegelijk, ook wanneer twee pakketten naar verschillende uitgangen willen. Een kruisschakelaar kan tegelijk verschillende ingangen met verschillende uitgangen verbinden.
Die parallelliteit heeft een grens: twee pakketten die dezelfde uitgang aanvragen, concurreren nog steeds. Een tabelopzoeking selecteert een bestemming voor het pakket; die reserveert niet genoeg uitgangscapaciteit om alle gelijktijdig aankomende pakketten te verzenden.
- 10UitlegZoek een geblokkeerd pakket
In een FIFO-ingangswachtrij wacht het voorste pakket op bezette uitgang A. Het volgende pakket wil naar vrije uitgang B, maar kan het voorste pakket niet passeren. Dit is blokkering door het eerste element.
Dankzij afzonderlijke virtuele uitgangswachtrijen kan de ingang een pakket voor B aanbieden zonder eerst zijn pakket voor A te verzenden. Een uitgangswachtrij is een ander probleem: pakketten bereiken één uitgang sneller dan de verbinding ze kan verzenden.
- 11VoorbeeldReken wachtende bytes om naar vertraging
Voor een toegelaten pakket wachten 600.000 bytes op een verbinding van 12 Mb/s. Reken de wachtrij eerst om naar bits: 4.800.000 bits. Delen door 12.000.000 bits per seconde geeft 0,4 s voordat de verzending kan beginnen.
Een grote buffer kan dus een merkbare vertraging veroorzaken zonder vol te zijn. Als verwerpen bij een volle wachtrij wordt gebruikt en de buffer volledig vol raakt, wordt een nieuw binnenkomend pakket verworpen in plaats van aan die wachtrij toegevoegd.
- 12UitdagingPas niet-preëmptieve prioriteit toe
Pakket K met lage prioriteit wordt al verzonden. Eerst komt M met hoge prioriteit aan, daarna N met lage prioriteit en vervolgens P met hoge prioriteit. Wat is de vertrekvolgorde?
---reveal---
K wordt als eerste voltooid omdat de bediening niet-preëmptief is. M en P volgen in hun FIFO-volgorde met hoge prioriteit en daarna N. Prioriteit verandert de volgende keuze; die onderbreekt geen bits van een pakket dat al wordt verzonden.
- 13KernpuntDeel bits, niet alleen pakketbeurten
Beurtelingse bediening geeft niet-lege klassen pakketbeurten. Bij ongelijke pakketlengtes hoeven gelijke beurten geen gelijke bandbreedte te betekenen.
WFQ houdt rekening met de lengte om gewogen bediening bit voor bit te benaderen. Gewichten 2:1 op een verbinding van 90 Mb/s leveren ongeveer 60 en 30 Mb/s op als beide klassen een gevulde wachtrij houden. Als één klasse leeg raakt, laat een werkbehoudende planner de andere de beschikbare capaciteit gebruiken.
- 14UitdagingVerbind doorsturen en wachtrijvorming
Een /24-tabelopzoeking selecteert uitgang 5 correct. Drie even grote pakketten bereiken die uitgang tijdens één pakkettransmissietijd; de verbinding verzendt er één. Zou het vervangen van de opzoektabel of het versnellen van het schakelnetwerk de resterende wachtrij wegnemen?
---reveal---
Nee. Twee pakketten wachten nog steeds omdat de uitgangsverbinding er in die tijd maar één kan verzenden. De tabelopzoeking bepaalde waar het pakket naartoe moest; een sneller schakelnetwerk kan de snelheid van die uitgaande verbinding niet verhogen.
- 15SamenvattingBepaal welke fase de aflevering beperkt
Vraag je af wat een vertraging je vertelt. Een verkeerde uitgang wijst op doorstuurinformatie of het bepalen van een overeenkomst. Een vrije uitgang die ongebruikt blijft achter een voorste pakket in een ingangswachtrij wijst op HOL-blokkering. Meerdere binnenkomende pakketten voor één bezette verbinding wijzen op concurrentie om de uitgang.
Een verwerpbeleid bepaalt wat in de buffer blijft, terwijl een planner bepaalt welk opgeslagen pakket als volgende vertrekt. Deze waarnemingen wijzen verschillende oorzaken aan, ook wanneer de applicatie hetzelfde symptoom ziet: een te laat of ontbrekend pakket.
2Ontcijfer een header en fragmenteer de nettolading
12 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieLees de aantallen voordat je rekent
- 2VoorbeeldOntcijfer de eerste byte en de grootte
- 3UitlegWeet welke velden veranderen
- 4VoorbeeldTel een overdracht bij de controlesom terug
- 5UitdagingOnderscheid headergegevens van applicatiegegevens
- 6VoorbeeldBepaal de ruimte voor fragmentgegevens
- 7VoorbeeldSplits de nettolading en voeg headers toe
- 8VoorbeeldPlaats fragmenten in de oorspronkelijke nettolading
- 9UitdagingVoeg samen als fragmenten in een andere volgorde aankomen
- 10TipRond naar beneden af als de ruimte niet precies past
- 11UitdagingCombineer headerinterpretatie met MTU-verwerking
- 12SamenvattingControleer fragmenten aan de hand van de bytebereiken
3Maak verbinding met een netwerk en volg een vertaalde verbinding
11 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieBegin voordat de host een adres heeft
- 2VoorbeeldOntdek een DHCP-server
- 3VoorbeeldKies en bevestig het aanbod
- 4UitdagingBereken de ijkpunten van de lease
- 5VoorbeeldMaak de uitgaande vertaling aan
- 6VoorbeeldGebruik de vertaling voor het antwoord
- 7UitdagingHoud gelijke privépoorten uit elkaar
- 8KernpuntOnderscheid vertaling van beveiligingsbeleid
- 9VerbandHerken een tweede vertaalgrens
- 10UitdagingVerbind een vernieuwd adres met de bestaande NAT-toestand
- 11SamenvattingLees de twee soorten toestand afzonderlijk
4Volg IPv6 door een pad met gemengde IP-versies
12 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieKies het juiste compatibiliteitsmechanisme
- 2UitlegLees de vaste header
- 3VoorbeeldVolg een uitbreiding naar TCP
- 4UitdagingReageer op een kleinere IPv6-verbinding
- 5VerbandBegrijp de ontbrekende controlesom
- 6UitlegGebruik dual stack voor twee beschikbare adresfamilies
- 7VoorbeeldVerpak het pakket voor een IPv4-traject
- 8VoorbeeldVolg de twee levensduurvelden
- 9UitdagingHoud ruimte over voor de buitenste header
- 10VoorbeeldVertaal voor een server met alleen IPv4
- 11UitdagingCombineer het lezen van pakketten met tunnelcapaciteit
- 12SamenvattingBenoem de reikwijdte van elke header
5Maak van stroomregels een werkend pad
14 stappen
Sla deze les op om elke Walkthrough stap voor stap te volgen.
- 1IntroductieBouw gedrag op uit lokale beslissingen
- 2UitlegLees het matchcriterium en de actie
- 3VoorbeeldBepaal welke van twee jokerregels geldt
- 4UitdagingOnderscheid een exacte regel van een gedeeltelijk opgegeven regel
- 5TipOnderscheid verstreken tijd van inactiviteit
- 6UitlegPlaats de besturing buiten de switches
- 7VoorbeeldInstalleer de eerste verbinding van een pad
- 8VoorbeeldVoltooi de tussenliggende en laatste beslissingen
- 9UitdagingOnderzoek een terugpad
- 10VerbandHerken het werk van middleboxes
- 11UitlegBehoud een gemeenschappelijke taille voor veel technieken
- 12UitdagingBepaal waar volledige verificatie thuishoort
- 13UitdagingVerbind een correct pad met een correct resultaat
- 14SamenvattingGebruik bewijs op het juiste niveau
Netwerklaag datavlak: oefenvragen
Set 1: Lees pakketten en volg lokale beslissingen10 Oefenvragen
Vraag 1 van 10
Toon antwoordVerberg antwoord
Vraag 2 van 10
Toon antwoordVerberg antwoord
Vraag 3 van 10
Toon antwoordVerberg antwoord
Vraag 4 van 10
Toon antwoordVerberg antwoord
Vraag 5 van 10
Toon antwoordVerberg antwoord
Vraag 6 van 10
Toon antwoordVerberg antwoord
Vraag 7 van 10
Toon antwoordVerberg antwoord
Vraag 8 van 10
Toon antwoordVerberg antwoord
Vraag 9 van 10
Toon antwoordVerberg antwoord
Vraag 10 van 10
Toon antwoordVerberg antwoord
Set 2: Leg configuratie, wachtrijen en gelijktijdig gebruik uit10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 3: Volg pakketwijzigingen langs het pad10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Set 4: Onderzoek gedrag en combineer pakketregels10 Oefenvragen
Sla deze les op om elk antwoord te zien en elke set te oefenen.
Vraag 1 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 2 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 3 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 4 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 5 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 6 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 7 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 8 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 9 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Vraag 10 van 10
Toon antwoordVerberg antwoord
Sla deze les op om dit antwoord te zien.
Kom je niet uit je eigen opgave? Huiswerkhulp
Kernbegrippen
A
Actief wachtrijbeheer
B
Bepaling van de pad-MTU
Besturingsvlak
Beurtelingse bediening
Blokkering door het eerste element
Bufferbloat
Buurdetectie
C
Codepunt voor gedifferentieerde diensten
D
Datagram
Datavlak
DHCP
DHCP-lease
DHCP-relay
Dienst zonder garanties
DNS64
Doorsturen
Doorstuurinformatiebank
Dual stack
E
Eind-tot-eindargument
Expliciete congestiemelding
F
Fragment
Fragmentoffset
G
Gegeneraliseerd doorsturen
Gewogen eerlijke wachtrijbediening
H
Happy Eyeballs
Headercontrolesom
Hoplimiet
I
Identificatie
Inactiviteitstime-out
Ingangspoort
Inkapseling
Interface naar netwerkapparaten
Interface naar netwerkapplicaties
Intern schakelnetwerk
IP-headerlengte
IP-zandlopermodel
J
Joker
K
Kruisschakelaar
L
Lastverdeler
Leaseherbinding
Leasevernieuwing
Lengte van de nettolading
Levensduur
Logische centralisatie
M
Maximale transmissie-eenheid
Middlebox
N
NAT op providerniveau
NAT64
Netwerkadres- en poortvertaling
Niet-preëmptieve prioriteitsplanning
O
Ontbrekende tabelovereenkomst
P
Poortdoorschakeling
Prioriteit van een stroomregel
Privé-IPv4-adres
Protocolveld
R
Routering
Routeringsprocessor
S
Selectie op de langste overeenkomende prefix
Softwaregedefinieerd netwerken
Standaardgateway
Standaardroute
Stroomlabel
Stroomtabel
STUN
T
Ternair inhoudsadresseerbaar geheugen
Teruggevoerde overdracht
0x1FFFF wordt na terugtellen 0x0001, omdat het eerste terugtellen nog een overdracht oplevert die opnieuw wordt teruggeteld.Toestandsloze automatische adresconfiguratie
Totale lengte
Tunneling
TURN
U
Uitbreidingsheader
Uitgangspoort
V
Vaste time-out
Verstarring
Vertaaltafel
Verwerpen bij een volle wachtrij
Virtualisatie van netwerkfuncties
Virtuele uitgangswachtrij
Vlag voor meer fragmenten
Vlag voor niet fragmenteren
Volgende header
Z
Zwart gat
#
5-tupel
Over deze les
Door StudeliFout melden
Maak je eigen Studiemateriaal
Maak van je aantekeningen, slides en documenten Leermodules, Oefenvragen, Flashcards en 6 andere tools.