8.0 IP adresering
8.0.1 Introductie
Adressering is een sleutelfunctie van netwerklaagprotocollen die gegevenscommunicatie tussen hosts mogelijk maken, ongeacht of de hosts zich op hetzelfde netwerk of op verschillende netwerken bevinden. Zowel Internet Protocol versie 4 (IPv4) als Internet Protocol versie 6 (IPv6) bieden hiërarchische adressering voor pakketten die gegevens vervoeren.
Het ontwerpen, implementeren en beheren van een effectief IP-adresplan zorgt ervoor dat netwerken effectief en efficiënt kunnen werken.
Dit hoofdstuk gaat in detail in op de structuur van IP-adressen en hun toepassing op de constructie en het testen van IP-netwerken en subnetwerken.
8.1. IPv4 netwerk adressen
8.1.1. IPv4 adresstructuur
8.1.1.1. Binaire notatie
Om de werking van apparaten op een netwerk te begrijpen, moeten we naar adressen en andere gegevens kijken zoals apparaten dat doen – in binaire notatie. Binaire notatie is een weergave van informatie met alleen enen en nullen. Computers communiceren met behulp van binaire gegevens. Binaire gegevens kunnen worden gebruikt om veel verschillende vormen van gegevens weer te geven. Als u bijvoorbeeld letters op een toetsenbord typt, verschijnen die letters op het scherm in een vorm die u kunt lezen en begrijpen; de computer vertaalt elke letter echter naar een reeks binaire cijfers voor opslag en transport. Om die letters te vertalen, gebruikt de computer American Standard Code for Information Interchange (ASCII).
Met ASCII wordt de letter “A” in bitvorm weergegeven als: 01000001, terwijl de kleine letter “a” in bitvorm wordt weergegeven als 01100001. Gebruik de ASCII-vertaler in Figuur 1 om ASCII-tekens naar binair te converteren.
Hoewel het over het algemeen niet nodig is voor mensen om zich bezig te houden met binaire conversie van brieven, is het wel noodzakelijk om het gebruik van binair voor IP-adressering te begrijpen. Elk apparaat op een netwerk moet uniek worden geïdentificeerd met behulp van een binair adres. In IPv4-netwerken wordt dit adres weergegeven met een reeks van 32 bits (1s en 0s). Op de netwerklaag bevatten de pakketten dan deze unieke identificatie-informatie voor zowel het bron- als het doelsysteem. Daarom bevat in een IPv4-netwerk elk pakket een 32-bits bronadres en een 32-bits bestemmingsadres in de Layer 3-header.
Voor de meeste mensen is een reeks van 32 bits moeilijk te interpreteren en nog moeilijker te onthouden. Daarom geven we IPv4-adressen weer met een decimaal formaat met punten in plaats van binair. Dit betekent dat we elke byte (octet) beschouwen als een decimaal getal in het bereik van 0 tot 255. Om te begrijpen hoe dit werkt, moeten we enige vaardigheid hebben in het converteren van binair naar decimaal.
Positionele notatie
Leren om binair naar decimaal te converteren, vereist een begrip van de wiskundige basis van een nummeringssysteem dat positionele notatie wordt genoemd. Positionele notatie betekent dat een cijfer verschillende waarden vertegenwoordigt, afhankelijk van de positie die het cijfer inneemt. In een positioneel notatiesysteem wordt de nummerbasis de radix genoemd. In het systeem met basis tien is de radix 10. In het binaire systeem gebruiken we een radix van 2. De term radix en basis kunnen door elkaar worden gebruikt. Meer specifiek is de waarde die een cijfer vertegenwoordigt, die waarde vermenigvuldigd met de macht van de basis, of radix, vertegenwoordigd door de positie die het cijfer inneemt. Enkele voorbeelden zullen helpen verduidelijken hoe dit systeem werkt.
Voor het decimale getal 192 is de waarde die de 1 vertegenwoordigt 1 * 10 ^ 2 (1 keer 10 tot de macht 2). De 1 staat in wat we gewoonlijk de ‘100’-positie noemen. Positionele notatie verwijst naar deze positie als de basis ^ 2-positie omdat de basis, of radix, 10 is en de macht 2 is. De 9 staat voor 9 * 10 ^ 1 (9 keer 10 tot de macht van 1). Positionele notatie voor het decimale getal 192 wordt getoond in Figuur 2.
Gebruikmakend van positienotatie in het basis 10-nummersysteem, vertegenwoordigt 192:
192 = (1 * 102) + (9 * 101) + (2 * 100)
of
192 = (1 * 100) + (9 * 10) + (2 * 1)
8.1.1.2. Binair talstelsel
In IPv4 zijn adressen 32-bits binaire getallen. Voor het gebruiksgemak door mensen worden binaire patronen die IPv4-adressen vertegenwoordigen, uitgedrukt als decimalen met punten. Dit wordt eerst bereikt door elke byte (8 bits) van het 32-bits binaire patroon, een octet genaamd, te scheiden met een punt. Het wordt een octet genoemd omdat elk decimaal getal één byte of 8 bits vertegenwoordigt.
Het binaire adres:
11000000 10101000 00001010 00001010
wordt uitgedrukt in een decimaal met punten als:
192.168.10.10
Maar hoe worden de werkelijke decimale equivalenten bepaald?
In het binaire nummeringssysteem is de radix 2. Daarom vertegenwoordigt elke positie toenemende machten van 2. In 8-bits binaire getallen vertegenwoordigen de posities deze grootheden:
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Het nummeringssysteem met basis 2 heeft slechts twee cijfers: 0 en 1.
Als we een byte interpreteren als een decimaal getal, hebben we de hoeveelheid die de positie vertegenwoordigt als het cijfer een 1 is en we hebben die hoeveelheid niet als het cijfer een 0 is, zoals weergegeven in onderstaande tabel.
192 | 168 | 10 | 10 |
11000000 | 10101000 | 00001010 | 00001010 |
Onderstaande tabel illustreert de weergave van het decimale getal 192 in binair. Een 1 op een bepaalde positie betekent dat we die waarde bij het totaal optellen. Een 0 betekent dat we die waarde niet toevoegen. Het binaire getal 11000000 heeft een 1 op de 27-positie (decimale waarde 128) en een 1 op de 26-positie (decimale waarde 64). De overige bits zijn allemaal 0, dus we voegen de bijbehorende decimale waarden niet toe. Het resultaat van het optellen van 128 + 64 is 192, het decimale equivalent van 11000000.
Radix | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
Exponent | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Octet Bit Values | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Binary Bit Address | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Binary Bit Values | 128 | 64 | 0 | 0 | 0 | 0 | 0 | 0 |
Hier zijn nog twee voorbeelden:
Voorbeeld 1: een octet met alle enen: 11111111
Radix | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
Exponent | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Octet Bit Values | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Binary Bit Address | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Binary Bit Values | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Een 1 in elke positie betekent dat we de waarde voor die positie bij het totaal optellen. Alle 1’en betekent dat de waarden van elke positie in het totaal worden opgenomen, daarom is de waarde van alle 1’en in een octet 255.
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255
Voorbeeld 2: een octet met alle nullen: 00000000
Radix | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
Exponent | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Octet Bit Values | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Binary Bit Address | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Binary Bit Values | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Een 0 in elke positie geeft aan dat de waarde voor die positie niet in het totaal is opgenomen. Een 0 in elke positie levert een totaal van 0 op.
0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = 0
Een andere combinatie van enen en nullen levert een andere decimale waarde op.
8.1.1.3. Een binair adres naar een decimaal adres converteren
Elk octet bestaat uit 8 bits en elke bit heeft een waarde, 0 of 1. De vier groepen van 8 bits hebben dezelfde reeks geldige waarden in het bereik van 0 tot en met 255. De waarde van elke bitplaatsing, van rechts naar links, is 1, 2, 4, 8, 16, 32, 64 en 128.
Bepaal de waarde van het octet door de waarden van posities toe te voegen waar een binaire 1 aanwezig is.
- Als er een 0 in een positie staat, voeg de waarde dan niet toe.
- Als alle 8 bits 0s, 00000000 zijn, is de waarde van het octet 0.
- Als alle 8 bits 1s zijn, 11111111, is de waarde van het octet 255 (128 + 64 + 32 + 16 + 8 + 4 + 2 + 1)
- Als de 8 bits worden gemengd, worden de waarden bij elkaar opgeteld. Het octet 00100111 heeft bijvoorbeeld de waarde 39 (32 + 4 + 2 + 1).
De waarde van elk van de vier octetten kan dus variëren van 0 tot maximaal 255.
Gebruik het 32-bits IPv4-adres, 11000000101010000000101000001010, converteer de binaire weergave naar een decimaal met punten met behulp van de volgende stappen:
- Stap 1. Verdeel de 32 bits in 4 octetten.
- Stap 2. Converteer elk octet naar een decimaal getal.
- Stap 3. Voeg een “punt” toe tussen elke decimaal.
8.1.1.4. Omzetten van decimaal naar binair
Naast het feit dat u binair naar decimaal kunt converteren, is het ook noodzakelijk om te begrijpen hoe u decimaal naar binair converteert.
Omdat we IPv4-adressen weergeven met een decimaal formaat met punten, is het alleen nodig dat we het proces van het converteren van 8-bits binair naar de decimale waarden van 0 tot 255 voor elk octet in een IPv4-adres onderzoeken.
Om het conversieproces te beginnen, beginnen we met het bepalen of het decimale getal gelijk is aan of groter is dan onze grootste decimale waarde die wordt vertegenwoordigd door de meest significante bit. In de hoogste positie bepalen we of het octetnummer gelijk is aan of groter is dan 128. Als het octetnummer kleiner is dan 128, plaatsen we een 0 in de bitpositie voor decimale waarde 128 en gaan we naar de bitpositie voor decimale waarde 64 .
Als het octetnummer in de bitpositie voor decimale waarde 128 groter is dan of gelijk is aan 128, plaatsen we een 1 in de bitpositie voor decimale waarde 128 en trekken we 128 af van het octetnummer dat wordt geconverteerd. We vergelijken dan de rest van deze bewerking met de volgende kleinere waarde, 64. We gaan door met dit proces voor alle resterende bitposities.
8.1.2. IPv4 subnet mask
8.1.2.1. Netwerkgedeelte en hostgedeelte van een IPv4-adres
Het begrijpen van binaire notatie is belangrijk om te bepalen of twee hosts zich in hetzelfde netwerk bevinden. Bedenk dat een IP-adres een hiërarchisch adres is dat uit twee delen bestaat: een netwerkgedeelte en een hostgedeelte. Maar bij het bepalen van het netwerkgedeelte versus het hostgedeelte, is het noodzakelijk om niet naar de decimale waarde te kijken, maar naar de 32-bits stroom. Binnen de 32-bits stroom vormt een deel van de bits het netwerk en een deel van de bits vormt de host.
De bits binnen het netwerkgedeelte van het adres moeten identiek zijn voor alle apparaten die zich in hetzelfde netwerk bevinden. De bits in het hostgedeelte van het adres moeten uniek zijn om een specifieke host binnen een netwerk te identificeren. Ongeacht of de decimale getallen tussen twee IPv4-adressen overeenkomen, als twee hosts hetzelfde bitpatroon hebben in het gespecificeerde netwerkgedeelte van de 32-bits stroom, zullen die twee hosts zich in hetzelfde netwerk bevinden.
Maar hoe weten hosts welk deel van de 32-bits netwerk is en welke host? Dat is de taak van het subnetmasker.
Wanneer een IP-host is geconfigureerd, wordt een subnetmasker toegewezen samen met een IP-adres. Net als het IP-adres is het subnetmasker 32 bits lang. Het subnetmasker geeft aan welk deel van het IP-adres netwerk is en welk deel host.
Het subnetmasker wordt bit voor bit van links naar rechts vergeleken met het IP-adres. De enen in het subnetmasker vertegenwoordigen het netwerkgedeelte; de nullen vertegenwoordigen het hostgedeelte. Zoals weergegeven in bovenstaande afbeelding, wordt het subnetmasker gemaakt door een binaire 1 te plaatsen in elke bitpositie die het netwerkgedeelte vertegenwoordigt en een binaire 0 te plaatsen in elke bitpositie die het hostgedeelte vertegenwoordigt. Merk op dat het subnetmasker niet echt het netwerk- of hostgedeelte van een IPv4-adres bevat, het vertelt de computer alleen waar deze gedeelten in een bepaald IPv4-adres moeten worden gezocht.
Subnet Waarde | Bit waarde 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|---|
255 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
254 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
252 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
248 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
240 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
224 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
192 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
128 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Net als bij IPv4-adressen, wordt het subnetmasker voor gebruiksgemak weergegeven in een decimaal formaat met punten. Het subnetmasker is geconfigureerd op een hostapparaat, in combinatie met het IPv4-adres, en is vereist zodat de host kan bepalen tot welk netwerk het behoort.Bovenstaande tabel toont de geldige subnetmaskers voor een IPv4-octet.
8.1.2.2. De prefix lengte van het onderzoeken
De lengte van de prefixis een andere manier om het subnetmasker uit te drukken. De prefixlengte is het aantal bits dat is ingesteld op 1 in het subnetmasker. Het is geschreven in “slash-notatie”, een “/” gevolgd door het aantal bits dat is ingesteld op 1. Als het subnetmasker bijvoorbeeld 255.255.255.0 is, zijn er 24 bits ingesteld op 1 in de binaire versie van het subnetmasker , dus de lengte van het voorvoegsel is 24 bits of / 24. Het voorvoegsel en het subnetmasker zijn verschillende manieren om hetzelfde weer te geven: het netwerkgedeelte van een adres.
Netwerken krijgen niet altijd het voorvoegsel / 24 toegewezen. Afhankelijk van het aantal hosts op het netwerk, kan het toegewezen prefix verschillen. Als u een ander prefixnummer heeft, worden het hostbereik en het uitzendadres voor elk netwerk gewijzigd.
Bovenstaande afbeelding illustreert verschillende prefixen die hetzelfde 10.1.1.0-adres gebruiken. Bovenstaande afbeelding illustreert /24 tot /28 voorvoegsels.
Merk op dat het netwerkadres hetzelfde kan blijven, maar het hostbereik en het uitzendadres verschillen voor de verschillende prefixlengtes. Je kan zien dat het aantal hosts dat op het netwerk kan worden aangesproken ook verandert.
8.1.2.3 IPv4-netwerk-, host- en broadcastadressen
Er zijn drie soorten adressen binnen het adresbereik van elk IPv4-netwerk:
- Netwerkadres
- Hostadressen
- Broadcast
Netwerkadres
Het netwerkadres is een standaardmanier om naar een netwerk te verwijzen. Het subnetmasker of de lengte van het voorvoegsel kan ook worden gebruikt bij het verwijzen naar het netwerkadres. Het netwerk dat wordt weergegeven in de afbeelding kan bijvoorbeeld worden aangeduid als het 10.1.1.0-netwerk, het 10.1.1.0 255.255.255.0-netwerk of het 10.1.1.0/24-netwerk. Alle hosts in het 10.1.1.0/24-netwerk hebben dezelfde netwerkdeelbits.
Binnen het IPv4-adresbereik van een netwerk is het eerste adres gereserveerd voor het netwerkadres. Dit adres heeft een 0 voor elke hostbit in het hostgedeelte van het adres. Alle hosts binnen het netwerk delen hetzelfde netwerkadres.
Hostadres
Elk eindapparaat heeft een uniek adres nodig om op het netwerk te communiceren. In IPv4-adressen kunnen de waarden tussen het netwerkadres en het uitzendadres worden toegewezen aan eindapparaten in een netwerk. Dit adres heeft een combinatie van 0 en 1 bits in het hostgedeelte van het adres, maar kan het niet alle 0 bits of alle 1 bits bevatten.
Broadcastadres
Het IPv4-uitzendadres is een speciaal adres voor elk netwerk dat communicatie met alle hosts in dat netwerk mogelijk maakt. Om gegevens tegelijk naar alle hosts in een netwerk te verzenden, kan een host een enkel pakket verzenden dat is geadresseerd aan het uitzendadres van het netwerk, en elke host in het netwerk die dit pakket ontvangt, verwerkt de inhoud ervan.
Het uitzendadres gebruikt het hoogste adres in het netwerkbereik. Dit is het adres waarin de bits in het hostgedeelte allemaal enen zijn. Alle enen in een octet in binaire vorm, is gelijk aan het getal 255 in decimale vorm. Daarom, zou voor het netwerk 10.1.1.0/24, waarin het laatste octet wordt gebruikt voor het hostgedeelte, het uitzendadres 10.1.1.255 zijn. Merk op dat het hostgedeelte niet altijd een heel octet zal zijn. Dit adres wordt ook wel de gerichte uitzending genoemd.
8.1.2.4. Eerste host- en laatste hostadressen
Om ervoor te zorgen dat alle hosts binnen een netwerk een uniek IP-adres binnen dat netwerkbereik krijgen, is het belangrijk om het eerste hostadres en het laatste hostadres te identificeren. Binnen dit bereik kunnen aan hosts binnen een netwerk IP-adressen worden toegewezen.
Eerste hostadres
Zoals te zien is in de voorgaande afbeelding, bevat het hostgedeelte van het eerste hostadres alle 0 bits met een 1 bit voor de laagste orde of de meest rechtse bit. Dit adres is altijd één groter dan het netwerkadres. In dit voorbeeld is het eerste hostadres op het 10.1.1.0/24-netwerk 10.1.1.1. In veel adresseringsschema’s is het gebruikelijk om het eerste hostadres voor de router of het standaard gateway-adres te gebruiken.
Laatste hostadres
Het hostgedeelte van het laatste hostadres bevat alle 1-bits met een 0-bit voor de laagste orde of de meest rechtse bit. Dit adres is altijd één minder dan het uitzendadres. Zoals te zien is in afbeelding 2, is het laatste hostadres op het 10.1.1.0/24-netwerk 10.1.1.254.
8.1.2.5. Bitsgewijze AND bewerking
Wanneer een IPv4-adres aan een apparaat wordt toegewezen, gebruikt dat apparaat het subnetmasker om te bepalen tot welk netwerkadres het apparaat behoort. Het netwerkadres is het adres dat alle apparaten op hetzelfde netwerk vertegenwoordigt.
Bij het verzenden van netwerkgegevens gebruikt het apparaat deze informatie om te bepalen of het pakketten lokaal kan verzenden of dat het de pakketten naar een standaardgateway moet sturen voor levering op afstand. Wanneer een host een pakket verzendt, vergelijkt deze het netwerkgedeelte van zijn eigen IP-adres met het netwerkgedeelte van het bestemmings-IP-adres, op basis van subnetmaskers. Als de netwerkbits overeenkomen, bevinden zowel de bron- als de bestemmingshost zich op hetzelfde netwerk en kan het pakket lokaal worden afgeleverd. Als ze niet overeenkomen, stuurt de verzendende host het pakket door naar de standaardgateway om doorgestuurd te worden naar het andere netwerk.
De AND-operatie
ANDing is een van de drie binaire basisbewerkingen die in digitale logica worden gebruikt. De andere twee zijn OF en NIET. Terwijl alle drie worden gebruikt in datanetwerken, wordt AND gebruikt bij het bepalen van het netwerkadres. Daarom zal onze discussie hier beperkt zijn tot logische EN. Logische AND is de vergelijking van twee bits die de volgende resultaten oplevert:
1 AND 1 = 1
11000000 10101000 00001010 | 00001010 |
11111111 11111111 11111111 | 00000000 |
11______ 1_1_1___ ____1_1_ | ________ |
0 EN 1 = 0
11000000 10101000 00001010 | 00001010 |
11111111 11111111 11111111 | 00000000 |
11000000 10101000 00001010 | ________ |
0 EN 0 = 0
11000000 10101000 00001010 | 00001010 |
11111111 11111111 11111111 | 00000000 |
11000000 10101000 00001010 | 0000_0_0 |
1 EN 0 = 0
11000000 10101000 00001010 | 00001010 |
11111111 11111111 11111111 | 00000000 |
11000000 10101000 00001010 | 00000000 |
Het IPv4-hostadres wordt logisch ANDed, bit voor bit, met zijn subnetmasker om het netwerkadres te bepalen waaraan de host is gekoppeld. Wanneer deze bitsgewijze AND-bewerking tussen het adres en het subnetmasker wordt uitgevoerd, levert het resultaat het netwerkadres op.
8.1.2.6. Belang van AND
Elk adresbit ANDed met een 1 bit-waarde van het subnetmasker levert de oorspronkelijke bitwaarde van het adres op. Dus een 0 (van het IPv4-adres) EN 1 (van het subnetmasker) is 0. 1 (van het IPv4-adres) EN 1 (van het subnetmasker) is 1. Bijgevolg levert alles met een 0 een 0 op. Deze eigenschappen van ANDing worden gebruikt met het subnetmasker om de hostbits van een IPv4-adres te “maskeren”. Elke bit van het adres krijgt een AND-code met de corresponderende bit van het subnetmasker.
Omdat alle bits van het subnetmasker die hostbits vertegenwoordigen nullen zijn, wordt het hostgedeelte van het resulterende netwerkadres allemaal nullen. Bedenk dat een IPv4-adres met allemaal nullen in het hostgedeelte het netwerkadres vertegenwoordigt.
Evenzo zijn alle bits van het subnetmasker die het netwerkgedeelte aangeven 1s. Wanneer elk van deze enen een AND-code heeft met het corresponderende bit van het adres, zijn de resulterende bits identiek aan de oorspronkelijke adresbits.
Zoals weergegeven in de afbeelding, zullen de 1-bits in het subnetmasker ertoe leiden dat het netwerkgedeelte van het netwerkadres dezelfde bits heeft als het netwerkgedeelte van de host. Het hostgedeelte van het netwerkadres resulteert in alle nullen.
Voor een bepaald IP-adres en zijn subnet kan ANDing worden gebruikt om te bepalen tot welk subnetwerk het adres behoort en welke andere adressen tot hetzelfde subnet behoren. Onthoud dat als twee adressen zich in hetzelfde netwerk of subnetwerk bevinden, ze worden beschouwd als lokaal ten opzichte van elkaar en daarom rechtstreeks met elkaar kunnen communiceren. Adressen die zich niet in hetzelfde netwerk of subnetwerk bevinden, worden als ver van elkaar beschouwd en moeten daarom een Layer 3-apparaat (zoals een router of Layer 3-switch) tussen hen hebben om te communiceren.
Bij netwerkverificatie / probleemoplossing moeten we vaak vaststellen dat twee hosts zich op hetzelfde lokale netwerk bevinden. We moeten deze beslissing nemen vanuit het perspectief van de netwerkapparaten. Door een onjuiste configuratie kan een host zichzelf zien op een netwerk dat niet was bedoeld. Dit kan een bewerking creëren die grillig lijkt, tenzij de diagnose wordt gesteld door de AND-processen te onderzoeken die door de host worden gebruikt.
8.1.3. IPv4 Unicast, Broadcast en Multicast
8.1.3.1. Een statisch IPv4-adres toewijzen aan een host
Adressen voor gebruikersapparaten
In de meeste datanetwerken omvat de grootste populatie hosts de eindapparaten zoals pc’s, tablets, smartphones, printers en IP-telefoons. Omdat dit het grootste aantal apparaten binnen een netwerk vertegenwoordigt, moet het grootste aantal adressen aan deze hosts worden toegewezen. Deze hosts krijgen IP-adressen toegewezen uit het bereik van beschikbare adressen in het netwerk. Deze IP-adressen kunnen statisch of dynamisch worden toegewezen.
Statische toewijzing
Bij een statische toewijzing moet de netwerkbeheerder de netwerkinformatie voor een host handmatig configureren. Om een statisch IPv4-adres te configureren, kiest u IPv4 op het netwerkadapterscherm en toetst u het statische adres, het subnetmasker en de standaardgateway in.
Statische adressering heeft verschillende voordelen. Ze zijn bijvoorbeeld handig voor printers, servers en andere netwerkapparaten die niet vaak van locatie veranderen en op basis van een vast IP-adres toegankelijk moeten zijn voor clients op het netwerk. Als hosts normaal gesproken toegang krijgen tot een server op een bepaald IP-adres, zou dit problemen veroorzaken als dat adres zou veranderen. Bovendien kan statische toewijzing van adresinformatie zorgen voor meer controle over netwerkbronnen. Zo is het mogelijk om toegangsfilters te maken op basis van verkeer van en naar een specifiek IP-adres. Statische adressering kan echter tijdrovend zijn om op elke host in te voeren.
Bij gebruik van statische IP-adressering is het noodzakelijk om een nauwkeurige lijst bij te houden van het IP-adres dat aan elk apparaat is toegewezen. Dit zijn permanente adressen en worden normaal gesproken niet hergebruikt.
8.1.3.2. Een dynamisch IPv4-adres toewijzen aan een host
Dynamische toewijzing
Op lokale netwerken is het vaak zo dat de gebruikerspopulatie regelmatig verandert. Nieuwe gebruikers komen met laptops en hebben een verbinding nodig. Anderen hebben nieuwe werkstations of andere netwerkapparaten, zoals smartphones, die moeten worden aangesloten. In plaats van dat de netwerkbeheerder IP-adressen toewijst aan elk werkstation, is het gemakkelijker om IP-adressen automatisch toe te wijzen. Dit wordt gedaan met behulp van een protocol dat bekend staat als Dynamic Host Configuration Protocol (DHCP).
Met DHCP kan automatisch adresinformatie worden toegewezen, zoals IP-adres, subnetmasker, standaardgateway en andere configuratiegegevens. De configuratie van de DHCP-server vereist dat een blok adressen, een adrespool genaamd, wordt gebruikt voor toewijzing aan de DHCP-clients op een netwerk. Adressen die aan deze pool zijn toegewezen, moeten zo worden gepland dat ze geen statische adressen bevatten die door andere apparaten worden gebruikt.
DHCP is over het algemeen de voorkeursmethode voor het toewijzen van IPv4-adressen aan hosts op grote netwerken, omdat het de belasting van het netwerkondersteuningspersoneel vermindert en invoerfouten vrijwel elimineert.
Een ander voordeel van DHCP is dat een adres niet permanent aan een host wordt toegewezen, maar slechts voor een bepaalde tijd wordt “verhuurd”. Als de host wordt uitgeschakeld of van het netwerk wordt gehaald, wordt het adres teruggestuurd naar de pool voor hergebruik. Deze functie is vooral handig voor mobiele gebruikers die op een netwerk komen en gaan.
Als DCHP is ingeschakeld op een hostapparaat, kan de opdracht ipconfig worden gebruikt om de IP-adresinformatie te bekijken die is toegewezen door de DHCP-server.
8.1.3.3. Unicast-verzending
In een IPv4-netwerk kunnen de hosts op drie manieren communiceren:
- Unicast – Het proces waarbij een pakket van de ene host naar een individuele host wordt verzonden
- Broadcast – Het proces waarbij een pakket van een host naar alle hosts in het netwerk wordt verzonden
- Multicast – Het proces waarbij een pakket van de ene host naar een geselecteerde groep hosts wordt verzonden, mogelijk in verschillende netwerken
Deze drie soorten communicatie worden voor verschillende doeleinden in datanetwerken gebruikt. In alle drie gevallen wordt het IPv4-adres van de oorspronkelijke host in de pakketkop geplaatst als het bronadres.
Unicast-communicatie wordt gebruikt voor normale host-to-host-communicatie in zowel een client / server als een peer-to-peer-netwerk. Unicast-pakketten gebruiken de adressen van het bestemmingsapparaat als bestemmingsadres en kunnen via een internetwerk worden gerouteerd.
In een IPv4-netwerk worden de unicast-adressen die op een eindapparaat worden toegepast, het hostadres genoemd. Voor unicast-communicatie worden de adressen die aan de twee eindapparaten zijn toegewezen, gebruikt als de bron- en bestemmings-IPv4-adressen. Tijdens het inkapselingsproces plaatst de bronhost zijn IPv4-adres in de unicast-pakketkop als het bronadres en het IPv4-adres van de bestemmingshost in de pakketkop als het bestemmingsadres. Ongeacht of de opgegeven bestemming een pakket een unicast, broadcast of multicast is; het bronadres van elk pakket is altijd het unicast-adres van de oorspronkelijke host.
Opmerking: in deze cursus is alle communicatie tussen apparaten unicast-communicatie, tenzij anders vermeld.
IPv4-hostadressen zijn unicast-adressen en bevinden zich in het adresbereik van 0.0.0.0 tot 223.255.255.255. Binnen dit bereik zijn echter veel adressen die zijn gereserveerd voor speciale doeleinden. Deze adressen voor speciale doeleinden zullen later in dit hoofdstuk worden besproken.
8.1.3.4. Broadcast-verzending
Broadcast-verkeer wordt gebruikt om pakketten naar alle hosts in het netwerk te verzenden met behulp van het broadcast-adres voor het netwerk. Bij een uitzending bevat het pakket een bestemmings-IP-adres met alle enen (1s) in het hostgedeelte. Dit betekent dat alle hosts op dat lokale netwerk (broadcastdomein) het pakket zullen ontvangen en bekijken. Veel netwerkprotocollen, zoals DHCP, maken gebruik van uitzendingen. Wanneer een host een pakket ontvangt dat naar het netwerkuitzendadres is verzonden, verwerkt de host het pakket zoals het een pakket zou doen dat is geadresseerd aan zijn unicast-adres.
Enkele voorbeelden voor het gebruik van omroepoverdracht zijn:
- Mapping van adressen op de bovenste laag naar adressen op de onderste laag
- Een adres opvragen
- In tegenstelling tot unicast, waar de pakketten door het internetwerk kunnen worden gerouteerd, zijn broadcast-pakketten meestal beperkt tot het lokale netwerk. Deze beperking is afhankelijk van de configuratie van de gateway-router en het type uitzending. Er zijn twee soorten uitzendingen: gerichte uitzendingen en beperkte uitzendingen.
Gerichte broadcast
Een gerichte broadcast wordt naar alle hosts op een specifiek netwerk verzonden. Dit type uitzending is handig voor het verzenden van een uitzending naar alle hosts op een niet-lokaal netwerk. Als een host buiten het 172.16.4.0/24-netwerk bijvoorbeeld wil communiceren met alle hosts binnen dat netwerk, zou het bestemmingsadres van het pakket 172.16.4.255 zijn. Hoewel routers niet standaard gerichte uitzendingen doorsturen, kunnen ze wel zijn geconfigureerd om dit te doen.
Beperkte broadcast
De beperkte broadcast wordt gebruikt voor communicatie die beperkt is tot de hosts op het lokale netwerk. Deze pakketten gebruiken altijd een IPv4-bestemmingsadres 255.255.255.255. Routers sturen geen beperkte uitzending door. Om deze reden wordt een IPv4-netwerk ook wel een broadcastdomein genoemd. Routers vormen de grens voor een broadcastdomein.
Een host binnen het 172.16.4.0/24-netwerk zou bijvoorbeeld naar alle hosts in zijn netwerk zenden met behulp van een pakket met het bestemmingsadres 255.255.255.255.
Wanneer een pakket wordt uitgezonden, gebruikt het bronnen op het netwerk en zorgt het ervoor dat elke ontvangende host op het netwerk het pakket verwerkt. Daarom moet broadcast-verkeer worden beperkt, zodat het de prestaties van het netwerk of de apparaten niet nadelig beïnvloedt. Omdat routers broadcastdomeinen van elkaar scheiden, kan het onderverdelen van netwerken met overmatig broadcastverkeer de netwerkprestaties verbeteren.
8.1.3.5. Multicast-verzending
Multicast-transmissie is ontworpen om de bandbreedte van een IPv4-netwerk te behouden. Het vermindert het verkeer doordat een host een enkel pakket kan verzenden naar een geselecteerde set hosts die deel uitmaken van een geabonneerde multicastgroep. Om meerdere bestemmingshosts te bereiken met behulp van unicast-communicatie, zou een bronhost een individueel pakket moeten sturen dat naar elke host is geadresseerd. Met multicast kan de bronhost een enkel pakket verzenden dat duizenden bestemmingshosts kan bereiken. De verantwoordelijkheid van het internetwerk is om de multicast-stromen op een efficiënte manier te repliceren, zodat ze alleen de beoogde ontvangers bereiken.
Enkele voorbeelden van multicast-verzending zijn:
- Video- en audio-uitzendingen
- Routing van informatie-uitwisseling door routingprotocollen
- Distributie van software
- Gamen op afstand
Multicast-adressen
IPv4 heeft een adresblok gereserveerd voor het adresseren van multicast-groepen. Dit adresbereik is 224.0.0.0 tot 239.255.255.255. Het multicast-adresbereik is onderverdeeld in verschillende soorten adressen: gereserveerde link lokale adressen en globaal bereik adressen. Een extra type multicast-adres zijn de adressen met een administratief bereik, ook wel adressen met een beperkt bereik genoemd.
De IPv4-multicast-adressen 224.0.0.0 tot 224.0.0.255 zijn gereserveerde link-local adressen. Deze adressen moeten worden gebruikt voor multicast-groepen op een lokaal netwerk. Een router die op het lokale netwerk is aangesloten, herkent dat deze pakketten zijn geadresseerd aan een link-local multicast-groep en stuurt ze nooit verder door. Een typisch gebruik van gereserveerde link-local adressen is in routeringsprotocollen die multicast-verzending gebruiken om routeringsinformatie uit te wisselen.
De adressen met een globaal bereik zijn 224.0.1.0 tot 238.255.255.255. Ze kunnen worden gebruikt om gegevens via internet te multicasten. 224.0.1.1 is bijvoorbeeld gereserveerd voor het Network Time Protocol (NTP) om de tijdklokken van netwerkapparaten te synchroniseren.
Multicast-clients
Hosts die bepaalde multicast-gegevens ontvangen, worden multicast-clients genoemd. De multicast-clients gebruiken services die worden aangevraagd door een clientprogramma om zich te abonneren op de multicast-groep.
Elke multicast-groep wordt vertegenwoordigd door een enkel IPv4-multicast-bestemmingsadres. Wanneer een IPv4-host zich abonneert op een multicast-groep, verwerkt de host pakketten die zijn geadresseerd aan dit multicast-adres en pakketten die zijn geadresseerd aan zijn uniek toegewezen unicast-adres.
8.1.4. Typen IPv4-adressen
8.1.4.1. Openbare en privé IPv4-adressen
Hoewel de meeste IPv4-hostadressen openbare adressen zijn die zijn bedoeld voor gebruik in netwerken die toegankelijk zijn op internet, zijn er blokken met adressen die worden gebruikt in netwerken die beperkte of geen internettoegang vereisen. Deze adressen worden privéadressen genoemd.
Privé-adressen
De privéadresblokken zijn:
- 10.0.0.0 tot 10.255.255.255 (10.0.0.0/8)
- 172.16.0.0 tot 172.31.255.255 (172.16.0.0/12)
- 192.168.0.0 tot 192.168.255.255 (192.168.0.0/16)
Privéadressen worden gedefinieerd in RFC 1918, Adrestoewijzing voor privé-internets, en worden soms ook RFC 1918-adressen genoemd. Adresblokken voor privéruimten, zoals weergegeven in de afbeelding, worden gebruikt in particuliere netwerken. Hosts die geen toegang tot internet nodig hebben, kunnen privéadressen gebruiken. Binnen het privénetwerk hebben hosts echter nog steeds unieke IP-adressen nodig binnen de privéruimte.
Hosts in verschillende netwerken kunnen dezelfde privéruimteadressen gebruiken. Pakketten die deze adressen als bron of bestemming gebruiken, mogen niet op het openbare internet verschijnen. De router of firewall-apparaat aan de rand van deze particuliere netwerken moet deze adressen blokkeren of vertalen. Zelfs als deze pakketten hun weg naar internet zouden vinden, zouden de routers geen routes hebben om ze door te sturen naar het juiste particuliere netwerk.
In RFC 6598 reserveerde IANA een andere groep adressen die bekend staat als gedeelde adresruimte. Net als bij de privéadresruimte van RFC 1918, zijn adressen in gedeelde adresruimte niet globaal routeerbaar. Deze adressen zijn echter alleen bedoeld voor gebruik in netwerken van serviceproviders. Het gedeelde adresblok is 100.64.0.0/10.
Openbare adressen
De overgrote meerderheid van de adressen in het IPv4-unicast-hostbereik zijn openbare adressen. Deze adressen zijn ontworpen om te worden gebruikt in de hosts die openbaar toegankelijk zijn vanaf internet. Zelfs binnen deze IPv4-adresblokken zijn er veel adressen die zijn aangewezen voor andere speciale doeleinden.
8.1.4.2. IPv4-adressen voor speciaal gebruik
Er zijn bepaalde adressen die niet aan hosts kunnen worden toegewezen. Er zijn ook speciale adressen die aan hosts kunnen worden toegewezen, maar met beperkingen voor hoe die hosts binnen het netwerk kunnen communiceren.
Netwerk- en broadcastadressen
Zoals eerder uitgelegd, kunnen binnen elk netwerk de eerste en laatste adressen niet aan hosts worden toegewezen. Dit zijn respectievelijk het netwerkadres en het uitzendadres.
Loopback
Een van die gereserveerde adressen is het IPv4 loopback-adres 127.0.0.1. De loopback is een speciaal adres dat hosts gebruiken om verkeer naar zichzelf te leiden. Het loopback-adres creëert een snelkoppelingsmethode voor TCP / IP-toepassingen en -services die op hetzelfde apparaat worden uitgevoerd om met elkaar te communiceren. Door het loopback-adres te gebruiken in plaats van het toegewezen IPv4-hostadres, kunnen twee services op dezelfde host de onderste lagen van de TCP / IP-stack omzeilen. U kunt ook het loopback-adres pingen om de configuratie van TCP / IP op de lokale host te testen.
Hoewel alleen het enkele adres 127.0.0.1 wordt gebruikt, zijn de adressen 127.0.0.0 tot 127.255.255.255 gereserveerd. Elk adres binnen dit blok zal teruggaan naar de lokale host. Geen enkel adres binnen dit blok mag ooit op een netwerk verschijnen.
Link-local adressen
IPv4-adressen in het adresblok 169.254.0.0 tot 169.254.255.255 (169.254.0.0/16) worden aangeduid als link-local adressen. Deze adressen kunnen automatisch worden toegewezen aan de lokale host door het besturingssysteem in omgevingen waar geen IP-configuratie beschikbaar is. Deze kunnen worden gebruikt in een klein peer-to-peer-netwerk of voor een host die niet automatisch een adres van een DHCP-server kon verkrijgen.
Communicatie via IPv4 link-local adressen is alleen geschikt voor communicatie met andere apparaten die op hetzelfde netwerk zijn aangesloten, zoals weergegeven in de afbeelding. Een host mag geen pakket met een IPv4 link-local bestemmingsadres naar een router sturen om door te sturen en moet de IPv4 time to live (TTL) voor deze pakketten instellen op 1.
Link-local adressen bieden geen diensten buiten het lokale netwerk. Veel client / server- en peer-to-peer-toepassingen zullen echter correct werken met IPv4 link-local adressen.
TEST-NET-adressen
Het adresblok 192.0.2.0 tot 192.0.2.255 (192.0.2.0/24) is gereserveerd voor onderwijs- en leerdoeleinden. Deze adressen kunnen worden gebruikt in documentatie en netwerkvoorbeelden. In tegenstelling tot de experimentele adressen, accepteren netwerkapparaten deze adressen in hun configuraties. U kunt deze adressen die worden gebruikt met de domeinnamen example.com of example.net vaak vinden in RFC’s, leveranciers en protocoldocumentatie. Adressen binnen dit blok mogen niet op internet verschijnen.
Experimentele adressen
De adressen in het blok 240.0.0.0 tot 255.255.255.254 worden vermeld als gereserveerd voor toekomstig gebruik (RFC 3330). Momenteel kunnen deze adressen alleen worden gebruikt voor onderzoeks- of experimentatiedoeleinden, maar niet in een IPv4-netwerk. Hoewel ze volgens RFC 3330 technisch gezien in de toekomst kunnen worden omgezet in bruikbare adressen.
8.1.4.3. Oude traditionele adressering
Historisch gezien groepeerde RFC1700, Assigned Numbers, de unicast-bereiken in specifieke grootten, genaamd klasse A-, klasse B- en klasse C-adressen. Het definieerde ook klasse D (multicast) en klasse E (experimentele) adressen, zoals eerder gepresenteerd. De unicast-adresklassen A, B en C definieerden netwerken met specifieke afmetingen en specifieke adresblokken voor deze netwerken. Een bedrijf of organisatie kreeg een heel netwerk toegewezen uit klasse A, klasse B of klasse C adresblok. Dit gebruik van adresruimte wordt klassikale adressering genoemd.
Klasse A-blokken
Een klasse A-adresblok is ontworpen om extreem grote netwerken met meer dan 16 miljoen hostadressen te ondersteunen. Klasse A IPv4-adressen gebruikten een vast / 8 prefix met het eerste octet om het netwerkadres aan te geven. De overige drie octetten werden gebruikt voor hostadressen. Alle klasse A-adressen vereisten dat de meest significante bit van het octet van hoge orde een nul was. Dit betekende dat er slechts 128 mogelijke klasse A-netwerken waren, 0.0.0.0/8 tot 127.0.0.0/8. Hoewel de klasse A-adressen de helft van de adresruimte reserveerden, konden ze vanwege hun limiet van 128 netwerken slechts aan ongeveer 120 bedrijven of organisaties worden toegewezen.
Klasse B-blokken
Klasse B-adresruimte is ontworpen om de behoeften van middelgrote tot grote netwerken met maximaal ongeveer 65.000 hosts te ondersteunen. Een klasse B IP-adres gebruikte de twee octetten van hoge orde om het netwerkadres aan te geven. De andere twee octetten gaven hostadressen op. Net als bij klasse A, moest de adresruimte voor de overige adresklassen worden gereserveerd. Voor klasse B-adressen waren de twee belangrijkste bits van het octet van hoge orde 10. Dit beperkte het adresblok voor klasse B tot 128.0.0.0/16 tot 191.255.0.0/16. Klasse B had een iets efficiëntere toewijzing van adressen dan klasse A omdat 25% van de totale IPv4-adresruimte gelijkelijk werd verdeeld over ongeveer 16.000 netwerken.
Klasse C-blokken
De adresruimte van klasse C was de meest algemeen beschikbare van de historische adresklassen. Deze adresruimte was bedoeld om adressen te bieden voor kleine netwerken met maximaal 254 hosts. Klasse C-adresblokken gebruikten een / 24-voorvoegsel. Dit betekende dat een klasse C-netwerk alleen het laatste octet als hostadressen gebruikte met de drie hoge octetten die werden gebruikt om het netwerkadres aan te geven. Klasse C-adresblokken reserveren adresruimte door een vaste waarde van 110 te gebruiken voor de drie meest significante bits van het octet van hoge orde. Dit beperkte het adresblok voor klasse C van 192.0.0.0/24 tot 223.255.255.0/24. Hoewel het slechts 12,5% van de totale IPv4-adresruimte in beslag nam, kon het adressen leveren aan 2 miljoen netwerken.
Grenzen aan het op klassen gebaseerde systeem
Niet alle eisen van organisaties passen goed in een van deze drie klassen. Het classificeren van adresruimte kostte vaak veel adressen, waardoor de beschikbaarheid van IPv4-adressen uitgeput raakte. Een bedrijf met een netwerk met 260 hosts zou bijvoorbeeld een klasse B-adres met meer dan 65.000 adressen moeten krijgen.
Hoewel dit klassensysteem eind jaren negentig zo goed als verlaten was, zul je er vandaag de dag restanten van in netwerken zien. Als u bijvoorbeeld een IPv4-adres aan een computer toewijst, onderzoekt het besturingssysteem het adres dat wordt toegewezen om te bepalen of dit adres een klasse A, klasse B of klasse C is. Het besturingssysteem gaat vervolgens uit van het voorvoegsel dat door die klasse wordt gebruikt en maakt de standaardtoewijzing van het subnetmasker.
Klasseloze adressering
Het systeem dat tegenwoordig wordt gebruikt, wordt klasseloze adressering genoemd. De formele naam is Classless Inter-Domain Routing (CIDR, uitgesproken als “cider”). De klassikale toewijzing van IPv4-adressen was erg inefficiënt, waardoor slechts / 8, / 16 of / 24 prefixlengtes mogelijk waren, elk vanuit een aparte adresruimte. In 1993 creëerde de IETF een nieuwe reeks standaarden waarmee serviceproviders IPv4-adressen konden toewijzen op elke adresbitgrens (prefixlengte) in plaats van alleen door een klasse A-, B- of C-adres.
De IETF wist dat CIDR slechts een tijdelijke oplossing was en dat er een nieuw IP-protocol ontwikkeld moest worden om de snelle groei van het aantal internetgebruikers op te vangen. In 1994 begon de IETF zijn werk om een opvolger te vinden voor IPv4, dat uiteindelijk IPv6 werd.
8.1.4.4. Toewijzing van IP-adressen
Als een bedrijf of organisatie netwerkhosts, zoals webservers, wil hebben die toegankelijk zijn vanaf internet, moet aan die organisatie een blok openbare adressen zijn toegewezen. Onthoud dat openbare adressen uniek moeten zijn, en het gebruik van deze openbare adressen is gereguleerd en toegewezen aan elke organisatie afzonderlijk. Dit geldt voor IPv4- en IPv6-adressen.
IANA en RIRs
Internet Assigned Numbers Authority (IANA) (http://www.iana.org) beheert de toewijzing van IPv4- en IPv6-adressen. Tot halverwege de jaren negentig werd alle IPv4-adresruimte rechtstreeks beheerd door de IANA. Op dat moment werd de resterende IPv4-adresruimte toegewezen aan verschillende andere registers om te beheren voor bepaalde doeleinden of voor regionale gebieden. Deze registratiebedrijven worden Regional Internet Registries (RIR’s) genoemd, zoals weergegeven in de afbeelding.
De belangrijkste registers zijn:
- AfriNIC (African Network Information Centre) – Afrikaanse regio http://www.afrinic.net
- APNIC (Asia Pacific Network Information Center) – Azië / Pacific-regio http://www.apnic.net
- ARIN (American Registry for Internet Numbers) – Regio Noord-Amerika http://www.arin.net
- LACNIC (Regional Latin-American and Caribbean IP Address Registry) – Latijns-Amerika en enkele Caribische eilanden http://www.lacnic.net
- RIPE NCC (Reseaux IP Europeans) – Europa, het Midden-Oosten en Centraal-Azië http://www.ripe.net
ISP’s
RIR’s zijn verantwoordelijk voor het toewijzen van IP-adressen aan de internetproviders (ISP’s). De meeste bedrijven of organisaties halen hun IPv4-adresblokken op bij een ISP. Een ISP zal in het algemeen een klein aantal bruikbare IPv4-adressen (6 of 14) aan hun klanten verstrekken als onderdeel van hun diensten. Grotere blokken met adressen kunnen worden verkregen op basis van een rechtvaardiging van de behoeften en tegen extra servicekosten.
In zekere zin leent of verhuurt de ISP deze adressen aan de organisatie. Als we ervoor kiezen om onze internetverbinding naar een andere ISP te verplaatsen, zal de nieuwe ISP ons adressen verstrekken uit de adresblokken die aan hen zijn verstrekt, en onze vorige ISP retourneert de blokken die aan ons zijn geleend naar hun toewijzing om te worden uitgeleend aan een andere klant. .
IPv6-adressen kunnen worden verkregen bij de ISP of in sommige gevallen rechtstreeks bij de RIR. IPv6-adressen en typische adresblokgroottes worden later in dit hoofdstuk besproken.
ISP-diensten
Om toegang te krijgen tot de diensten van internet, moeten we ons datanetwerk met internet verbinden via een internetprovider (ISP).
ISP’s hebben hun eigen set interne datanetwerken om de internetconnectiviteit te beheren en om gerelateerde diensten te verlenen. Tot de andere services die een ISP doorgaans aan zijn klanten levert, behoren DNS-services, e-maildiensten en een website. Afhankelijk van het vereiste en beschikbare serviceniveau, gebruiken klanten verschillende niveaus van een ISP.
ISP-niveaus
ISP’s worden hiërarchisch aangeduid op basis van hun niveau van connectiviteit met de internetbackbone. Elk lager niveau verkrijgt connectiviteit met de backbone via een verbinding met een hoger gelegen ISP, zoals weergegeven in de figuren.
Tier 1
Zoals weergegeven in bovenstaande afbeelding, staan bovenaan de ISP-hiërarchie Tier 1-ISP’s. Deze ISP’s zijn grote nationale of internationale ISP’s die rechtstreeks zijn verbonden met de internetbackbone. De klanten van Tier 1 ISP’s zijn ofwel ISP’s van een lager niveau, ofwel grote bedrijven en organisaties. Omdat ze aan de top staan van internetconnectiviteit, ontwikkelen ze zeer betrouwbare verbindingen en services. Een van de technologieën die worden gebruikt om deze betrouwbaarheid te ondersteunen, zijn meerdere verbindingen met de internetbackbone.
De belangrijkste voordelen voor klanten van Tier 1 ISP’s zijn betrouwbaarheid en snelheid. Omdat deze klanten slechts één verbinding verwijderd zijn van internet, zijn er minder kansen op storingen of verkeersknelpunten. Het nadeel voor Tier 1 ISP-klanten zijn de hoge kosten.
Tier 2
Zoals weergegeven in bovenstaande afbeelding, nemen Tier 2 ISP’s hun internetservice af van Tier 1 ISP’s. Tier 2 ISP’s richten zich over het algemeen op zakelijke klanten. Laag 2 ISP’s bieden doorgaans meer diensten aan dan de andere twee niveaus van ISP’s. Deze Tier 2-ISP’s hebben meestal de IT-middelen om hun eigen services te beheren, zoals DNS, e-mailservers en webservers. Andere services die Tier 2 ISP’s kunnen bieden, zijn onder meer website-ontwikkeling en -onderhoud, e-commerce / e-business en VoIP.
Het belangrijkste nadeel van Tier 2 ISP’s, vergeleken met Tier 1 ISP’s, is tragere internettoegang. Omdat Tier 2-ISP’s ten minste één verbinding meer verwijderd zijn van de internetbackbone, hebben ze doorgaans ook een lagere betrouwbaarheid dan Tier 1-ISP’s.
Tier 3
Zoals weergegeven in bovenstaande afbeelding, kopen Tier 3 ISP’s hun internetservice bij Tier 2 ISP’s. De focus van deze ISP’s ligt op de detailhandel en thuismarkten in een specifieke locale. Tier 3-klanten hebben doorgaans niet veel van de services nodig die Tier 2-klanten nodig hebben. Hun primaire behoefte is connectiviteit en ondersteuning.
Deze klanten hebben vaak geen of weinig computer- of netwerkkennis. Tier 3 ISP’s bundelen internetconnectiviteit vaak als onderdeel van netwerk- en computerservicecontracten voor hun klanten. Hoewel ze mogelijk een verminderde bandbreedte en minder betrouwbaarheid hebben dan Tier 1- en Tier 2-providers, zijn ze vaak goede keuzes voor kleine tot middelgrote bedrijven.
8.2. IPv6 netwerk adressen
8.2.1. IPv4-problemen
8.2.1.1. De noodzaak voor IPv6
IPv6 is ontworpen om de opvolger van IPv4 te zijn. IPv6 heeft een grotere 128-bits adresruimte, goed voor 340 undecillion adressen. (Dat is het getal 340, gevolgd door 36 nullen.) IPv6 is echter veel meer dan alleen grotere adressen. Toen de IETF begon met de ontwikkeling van een opvolger van IPv4, maakte het van deze gelegenheid gebruik om de beperkingen van IPv4 op te lossen en aanvullende verbeteringen aan te brengen. Een voorbeeld is Internet Control Message Protocol versie 6 (ICMPv6), dat adresomzetting en automatische adresconfiguratie omvat die niet in ICMP voor IPv4 (ICMPv4) wordt gevonden. ICMPv4 en ICMPv6 worden later in dit hoofdstuk besproken.
Behoefte aan IPv6
De uitputting van de IPv4-adresruimte is de motiverende factor geweest om over te stappen op IPv6. Nu Afrika, Azië en andere delen van de wereld meer met internet zijn verbonden, zijn er niet genoeg IPv4-adressen om deze groei op te vangen. Op maandag 31 januari 2011 heeft IANA de laatste twee / 8 IPv4-adresblokken toegewezen aan de Regional Internet Registries (RIR’s). Uit verschillende prognoses blijkt dat alle vijf RIR’s tussen 2015 en 2020 geen IPv4-adressen meer hebben. Op dat moment zijn de resterende IPv4-adressen toegewezen aan ISP’s.
IPv4 heeft theoretisch maximaal 4,3 miljard adressen. RFC 1918 privéadressen in combinatie met Network Address Translation (NAT) hebben een belangrijke rol gespeeld bij het vertragen van de uitputting van IPv4-adresruimte. NAT heeft beperkingen die peer-to-peer-communicatie ernstig belemmeren.
Internet of things
Het internet van vandaag is aanzienlijk anders dan het internet van de afgelopen decennia. Het internet van vandaag is meer dan e-mail, webpagina’s en bestandsoverdracht tussen computers. Het evoluerende internet wordt een internet van dingen. Computers, tablets en smartphones zijn niet langer de enige apparaten die toegang hebben tot internet. De met sensoren uitgeruste, internetklare apparaten van morgen zullen alles omvatten, van auto’s en biomedische apparaten tot huishoudelijke apparaten en natuurlijke ecosystemen. Stelt u zich een vergadering voor bij een klant die automatisch in uw agendatoepassing is gepland, die een uur voordat u normaal met uw werk begint, begint. Dit kan een aanzienlijk probleem zijn, vooral als u vergeet de kalender te controleren of de wekker dienovereenkomstig aan te passen. Stel je nu voor dat de kalenderapplicatie deze informatie rechtstreeks naar je wekker voor jou en naar je auto stuurt. Uw auto warmt automatisch op om het ijs op de voorruit te laten smelten voordat u de auto instapt en u omleidt naar uw vergadering.
Met een toenemende internetpopulatie, een beperkte IPv4-adresruimte, problemen met NAT en een internet of things, is het tijd om de overgang naar IPv6 te beginnen.
8.2.1.2. IPv4 en IPv6 coëxistentie
Er is geen enkele datum om naar IPv6 te gaan. In de nabije toekomst zullen zowel IPv4 als IPv6 naast elkaar bestaan. De overgang zal naar verwachting jaren duren. De IETF heeft verschillende protocollen en tools ontwikkeld om netwerkbeheerders te helpen hun netwerken naar IPv6 te migreren. De migratietechnieken zijn onder te verdelen in drie categorieën:
- Dual Stack – Dual stack zorgt ervoor dat IPv4 en IPv6 naast elkaar op hetzelfde netwerk kunnen bestaan. Dual-stack-apparaten voeren zowel IPv4- als IPv6-protocolstapels tegelijkertijd uit.
- Tunneling – Tunneling is een methode om een IPv6-pakket over een IPv4-netwerk te transporteren. Het IPv6-pakket is ingekapseld in een IPv4-pakket, vergelijkbaar met andere soorten gegevens.
- Vertaling – Network Address Translation 64 (NAT64) stelt IPv6-compatibele apparaten in staat om te communiceren met IPv4-compatibele apparaten met behulp van een vertaaltechniek vergelijkbaar met NAT voor IPv4. Een IPv6-pakket wordt vertaald naar een IPv4-pakket en vice versa.
8.2.2. IPv6 adressering
8.2.2.1. Hexadecimaal getalsysteem
In tegenstelling tot IPv4-adressen die worden uitgedrukt in decimale notatie met punten, worden IPv6-adressen weergegeven met hexadecimale waarden. U hebt hexadecimaal gebruik gezien in het paneel Packets Byte van Wireshark. In Wireshark wordt hexadecimaal gebruikt om de binaire waarden binnen frames en pakketten weer te geven. Hexadecimaal wordt ook gebruikt om Ethernet Media Access Control (MAC) -adressen weer te geven.
Hexadecimale nummering
Hexadecimaal (“Hex”) is een handige manier om binaire waarden weer te geven. Net zoals decimaal een nummeringsysteem met basis tien is en binair basis twee is, is hexadecimaal een systeem met basis zestien.
Het nummeringssysteem met basis 16 gebruikt de cijfers 0 tot en met 9 en de letters A tot en met F. Figuur 1 toont de equivalente decimale, binaire en hexadecimale waarden. Er zijn 16 unieke combinaties van vier bits, van 0000 tot 1111. Het 16-cijferige hexadecimale systeem is het perfecte getallensysteem om te gebruiken, omdat elke vier bits kan worden weergegeven met een enkele hexadecimale waarde.
Bytes begrijpen
Aangezien 8 bits (een byte) een gemeenschappelijke binaire groepering is, kan binair 00000000 tot 11111111 in hexadecimaal worden weergegeven als het bereik 00 tot FF. Voorloopnullen kunnen worden weergegeven om de 8-bits weergave te voltooien. De binaire waarde 0000 1010 wordt bijvoorbeeld in hexadecimaal weergegeven als 0A.
Hexadecimale waarden weergeven
Opmerking: het is belangrijk om onderscheid te maken tussen hexadecimale waarden en decimale waarden met betrekking tot de tekens 0 tot 9.
Hexadecimaal wordt in de tekst gewoonlijk weergegeven door de waarde voorafgegaan door 0x (bijvoorbeeld 0x73) of een subscript 16. Minder vaak kan het worden gevolgd door een H, bijvoorbeeld 73H. Omdat subscript-tekst echter niet wordt herkend in opdrachtregel- of programmeeromgevingen, wordt de technische weergave van hexadecimaal voorafgegaan door “0x” (nul X). Daarom worden de bovenstaande voorbeelden weergegeven als respectievelijk 0x0A en 0x73.
Hexadecimale conversies
Getalconversies tussen decimale en hexadecimale waarden zijn eenvoudig, maar snel delen of vermenigvuldigen met 16 is niet altijd handig.
Met wat oefening is het mogelijk om de binaire bitpatronen te herkennen die overeenkomen met de decimale en hexadecimale waarden. Figuur 2 toont deze patronen voor geselecteerde 8-bits waarden.
8.2.2.2. IPv6-adresweergave
IPv6-adressen zijn 128 bits lang en worden geschreven als een reeks hexadecimale waarden. Elke 4 bits wordt weergegeven door een enkel hexadecimaal cijfer; voor in totaal 32 hexadecimale waarden. IPv6-adressen zijn niet hoofdlettergevoelig en kunnen in kleine letters of hoofdletters worden geschreven.
Voorkeur formaat
Zoals weergegeven in onderstaande afbeelding, is het voorkeursformaat voor het schrijven van een IPv6-adres x: x: x: x: x: x: x: x, waarbij elke “x” bestaat uit vier hexadecimale waarden. Als we verwijzen naar 8 bits van een IPv4-adres, gebruiken we de term octet. In IPv6 is een hextet de niet-officiële term die wordt gebruikt om te verwijzen naar een segment van 16 bits of vier hexadecimale waarden. Elke “x” is een enkele hextet, 16 bits of vier hexadecimale cijfers.
Voorkeursindeling betekent dat het IPv6-adres wordt geschreven met alle 32 hexadecimale cijfers. Het betekent niet noodzakelijk dat het de ideale methode is om het IPv6-adres weer te geven. Op de volgende pagina’s zullen we twee regels zien om het aantal cijfers dat nodig is om een IPv6-adres weer te geven, te verminderen.
8.2.2.3. Regel 1 – Het weglaten van voorloopnullen
De eerste regel om de notatie van IPv6-adressen te helpen verminderen, is elke voorloopnullen (nullen) in elke 16-bits sectie of hextet kan worden weggelaten. Bijvoorbeeld:
- 01AB kan worden weergegeven als 1AB
- 09F0 kan worden weergegeven als 9F0
- 0A00 kan worden weergegeven als A00
- 00AB kan worden weergegeven als AB
Deze regel is alleen van toepassing op voorloopnullen, NIET op volgnullen, anders zou het adres dubbelzinnig zijn. De hextet “ABC” kan bijvoorbeeld “0ABC” of “ABC0” zijn.
Het weglaten van voorloopnullen kan worden gebruikt om de grootte van een IPv6-adres te verkleinen. Voor elk voorbeeld wordt het voorkeursformaat getoond. Merk op hoe het weglaten van de voorloopnullen in de meeste gevallen resulteert in een kleinere adresweergave.
8.2.2.4. Regel 2 – Alle 0 segmenten weglaten
De tweede regel om de notatie van IPv6-adressen te verminderen, is dat een dubbele dubbele punt (::) elke enkele, aaneengesloten reeks van een of meer 16-bits segmenten (hextets) die uit alle nullen bestaan, kan vervangen.
De dubbele dubbele punt (::) kan maar één keer binnen een adres worden gebruikt, anders zou er meer dan één mogelijk resulterend adres zijn. Bij gebruik met de techniek voor het weglaten van voorloopnullen kan de notatie van het IPv6-adres vaak sterk worden verminderd. Dit staat algemeen bekend als het gecomprimeerde formaat.
Fout adres:
- 2001 : 0DB8 :: ABCD :: 1234
Mogelijke uitbreidingen van dubbelzinnige gecomprimeerde adressen:
- 2001 : 0DB8 :: ABCD : 0000 : 0000 : 1234
- 2001 : 0DB8 :: ABCD : 0000 : 0000 : 0000 : 1234
- 2001 : 0DB8: 0000 : ABCD :: 1234
- 2001 : 0DB8: 0000 : 0000 : ABCD :: 1234
8.2.3. Typen IPv6-adressen
8.2.3.1. IPv6-adrestypes
Er zijn drie soorten IPv6-adressen:
- Unicast – Een IPv6-unicast-adres identificeert op unieke wijze een interface op een IPv6-apparaat. Een IPv6-bronadres moet een unicast-adres zijn.
- Multicast – Een IPv6-multicast-adres wordt gebruikt om een enkel IPv6-pakket naar meerdere bestemmingen te verzenden.
- Anycast – Een IPv6-anycast-adres is elk IPv6-unicast-adres dat aan meerdere apparaten kan worden toegewezen. Een pakket dat naar een anycast-adres wordt verzonden, wordt gerouteerd naar het dichtstbijzijnde apparaat met dat adres. Anycast-adressen vallen buiten het bestek van deze cursus.
In tegenstelling tot IPv4 heeft IPv6 geen broadcastadres. Er is echter een IPv6-multicast-adres met alle knooppunten dat in wezen hetzelfde resultaat geeft.
8.2.3.2. Lengte IPv6-prefix
Bedenk dat het prefix, of netwerkgedeelte, van een IPv4-adres kan worden geïdentificeerd door een decimaal subnetmasker met punten of een voorvoegsellengte (slash-notatie). Een IP-adres van 192.168.1.10 met een decimaal subnetmasker met punten 255.255.255.0 is bijvoorbeeld gelijk aan 192.168.1.10/24.
IPv6 gebruikt de prefixlengte om het prefixgedeelte van het adres weer te geven. IPv6 maakt geen gebruik van de decimale subnetmaskernotatie met punten. De lengte van het voorvoegsel wordt gebruikt om het netwerkgedeelte van een IPv6-adres aan te geven met behulp van de lengte van het IPv6-adres / voorvoegsel.
De prefixlengte kan variëren van 0 tot 128. Een typische IPv6-prefixlengte voor LAN’s en de meeste andere typen netwerken is / 64. Dit betekent dat het prefix of netwerkgedeelte van het adres 64 bits lang is, waardoor er nog 64 bits overblijven voor de interface-ID (hostgedeelte) van het adres.
8.2.3.3. IPv6 Unicast-adressen
Een IPv6-unicast-adres identificeert op unieke wijze een interface op een IPv6-apparaat. Een pakket dat naar een unicast-adres wordt verzonden, wordt ontvangen door de interface waaraan dat adres is toegewezen. Net als bij IPv4 moet een IPv6-bronadres een unicast-adres zijn. Het IPv6-adres van de bestemming kan een unicast- of een multicast-adres zijn.
Er zijn zes soorten IPv6-unicast-adressen.
Globale unicast
Een globaal unicast-adres is vergelijkbaar met een openbaar IPv4-adres. Dit zijn wereldwijd unieke, via internet routeerbare adressen. Globale unicast-adressen kunnen statisch worden geconfigureerd of dynamisch worden toegewezen. Er zijn enkele belangrijke verschillen in de manier waarop een apparaat zijn IPv6-adres dynamisch ontvangt in vergelijking met DHCP voor IPv4.
Link-local
Link-local adressen worden gebruikt om te communiceren met andere apparaten op dezelfde lokale link. Bij IPv6 verwijst de term link naar een subnet. Link-local adressen zijn beperkt tot een enkele link. Hun uniekheid moet alleen op die link worden bevestigd, omdat ze niet buiten de link kunnen worden gerouteerd. Met andere woorden, routers sturen geen pakketten door met een link-local bron- of bestemmingsadres.
Loopback
Het loopback-adres wordt door een host gebruikt om een pakket naar zichzelf te verzenden en kan niet worden toegewezen aan een fysieke interface. Net als bij een IPv4-loopback-adres, kunt u een IPv6-loopback-adres pingen om de configuratie van TCP / IP op de lokale host te testen. Het IPv6 loopback-adres is all-0s behalve de laatste bit, weergegeven als :: 1/128 of gewoon :: 1 in de gecomprimeerde indeling.
Ongespecificeerd adres
Een niet-gespecificeerd adres is een all-0s-adres dat in het gecomprimeerde formaat wordt weergegeven als :: / 128 of gewoon :: in het gecomprimeerde formaat. Het kan niet worden toegewezen aan een interface en wordt alleen gebruikt als bronadres in een IPv6-pakket. Een niet-gespecificeerd adres wordt gebruikt als een bronadres wanneer het apparaat nog geen permanent IPv6-adres heeft of wanneer de bron van het pakket niet relevant is voor de bestemming.
Uniek lokaal
IPv6 unieke lokale adressen hebben enige gelijkenis met RFC 1918 privéadressen voor IPv4, maar er zijn ook significante verschillen. Unieke lokale adressen worden gebruikt voor lokale adressering binnen een site of tussen een beperkt aantal sites. Deze adressen mogen niet routeerbaar zijn in de globale IPv6. Unieke lokale adressen zijn in het bereik van FC00 :: / 7 tot FDFF :: / 7.
Met IPv4 worden privéadressen gecombineerd met NAT / PAT om een veel-op-een vertaling van privé-naar-openbare adressen te bieden. Dit wordt gedaan vanwege de beperkte beschikbaarheid van IPv4-adresruimte. Veel sites gebruiken ook het privékarakter van RFC 1918-adressen om hun netwerk te beveiligen of te verbergen voor mogelijke veiligheidsrisico’s. Dit was echter nooit het beoogde gebruik van deze technologieën en de IETF heeft altijd aanbevolen dat sites de juiste veiligheidsmaatregelen nemen op hun internetgerichte router. Hoewel IPv6 voorziet in locatiespecifieke adressering, is het niet bedoeld om te helpen bij het verbergen van interne IPv6-apparaten van het IPv6-internet. IETF raadt aan om de toegang tot apparaten te beperken met behulp van de juiste, best-practices beveiligingsmaatregelen.
De originele IPv6-specificatie definieerde site-local adressen voor een soortgelijk doel, met gebruikmaking van het prefixbereik FEC0 :: / 10. Er waren verschillende onduidelijkheden in de specificatie en site-local adressen werden door de IETF verouderd ten gunste van unieke lokale adressen.
IPv4 ingebed
Het laatste type unicast-adrestype is het ingesloten IPv4-adres. Deze adressen worden gebruikt om de overgang van IPv4 naar IPv6 te vergemakkelijken. IPv4 embedded adressen vallen buiten het bestek van deze cursus.
8.2.3.4. IPv6 Link-Local Unicast-adressen
Met een IPv6 link-local adres kan een apparaat communiceren met andere IPv6-apparaten op dezelfde link en alleen op die link (subnet). Pakketten met een bron- of bestemmingslink-lokaal adres kunnen niet verder worden gerouteerd dan de link waar het pakket vandaan kwam.
In tegenstelling tot IPv4 link-local-adressen, spelen IPv6-link-local-adressen een belangrijke rol in verschillende aspecten van het netwerk. Het globale unicast-adres is geen vereiste; Elke IPv6-netwerkinterface moet echter een link-local adres hebben.
Als een link-local adres niet handmatig op een interface is geconfigureerd, zal het apparaat automatisch een eigen adres aanmaken zonder te communiceren met een DHCP-server. Hosts met IPv6-functionaliteit maken een IPv6 link-local adres aan, zelfs als het apparaat geen globaal unicast IPv6-adres heeft gekregen. Hierdoor kunnen IPv6-apparaten communiceren met andere IPv6-apparaten op hetzelfde subnet. Dit omvat communicatie met de standaardgateway (router).
IPv6 link-local-adressen vallen in het FE80 :: / 10-bereik. De / 10 geeft aan dat de eerste 10 bits 1111 1110 10xx xxxx zijn. De eerste hextet heeft een bereik van 1111 1110 1000 0000 (FE80) tot 1111 1110 1011 1111 (FEBF).
IPv6 link-local adressen worden ook gebruikt door IPv6-routeringsprotocollen om berichten uit te wisselen en als het next-hop-adres in de IPv6-routeringstabel. Link-local adressen worden in een latere cursus uitgebreider besproken.
Doorgaans wordt het link-local adres van de router gebruikt en niet het globale unicast-adres als de standaardgateway voor andere apparaten op de link.
8.2.4. IPv6 Unicast adressen
8.2.4.1. Structuur van een IPv6 Global Unicast-adres
IPv6 globale unicast-adressen zijn wereldwijd uniek en routeerbaar op het IPv6-internet. Deze adressen zijn gelijk aan openbare IPv4-adressen. Het Internet Committee for Assigned Names and Numbers (ICANN), de operator voor Internet Assigned Numbers Authority (IANA), wijst IPv6-adresblokken toe aan de vijf RIR’s. Momenteel worden alleen globale unicast-adressen met de eerste drie bits 001 of 2000 :: / 3 toegewezen. Dit is slechts 1/8 van de totale beschikbare IPv6-adresruimte, met uitzondering van slechts een zeer klein deel voor andere typen unicast- en multicast-adressen.
Opmerking: het adres 2001 : 0DB8 :: / 32 is gereserveerd voor documentatiedoeleinden, inclusief gebruik in voorbeelden.
Een globaal unicast-adres bestaat uit drie delen:
- Globaal prefix voor routering
- Subnet-ID
- Interface-ID
Globaal routeringsprefix
Het prefix voor globale routering is het prefix of netwerkgedeelte van het adres dat door de provider, zoals een ISP, aan een klant of site wordt toegewezen. Momenteel wijzen RIR’s een / 48 globaal routeringsprefix toe aan klanten. Dit omvat iedereen, van bedrijfsnetwerken tot individuele huishoudens. Dit is voor de meeste klanten meer dan voldoende adresruimte.
Bovenstaande afbeelding toont de structuur van een globaal unicast-adres met behulp van een / 48 globaal routeringsprefix. / 48 prefixen zijn de meest gebruikte globale routing prefixen en zullen in de meeste voorbeelden in deze cursus gebruikt worden.
Het IPv6-adres 2001 : 0DB8 : ACAD :: / 48 heeft bijvoorbeeld een voorvoegsel dat aangeeft dat de eerste 48 bits (3 hextets) (2001 : 0DB8 : ACAD) het voorvoegsel of netwerkgedeelte van het adres is. De dubbele dubbele punt (::) vóór de prefixlengte / 48 betekent dat de rest van het adres alle nullen bevat.
Subnet-ID
De subnet-ID wordt door een organisatie gebruikt om subnetten binnen haar site te identificeren.
Interface-ID
De IPv6-interface-ID is gelijk aan het hostgedeelte van een IPv4-adres. De term interface-ID wordt gebruikt omdat een enkele host meerdere interfaces kan hebben, elk met een of meer IPv6-adressen.
Opmerking: in tegenstelling tot IPv4 kunnen in IPv6 de hostadressen all-0s en all-1s aan een apparaat worden toegewezen. De alle 1-adressen kan worden gebruikt omdat er geen broadcastadressen worden gebruikt binnen IPv6. De alle-0-adressen kan ook worden gebruikt, maar is gereserveerd als anycast-adres voor een subnet-router en mag alleen worden toegewezen aan routers.
Een gemakkelijke manier om de meeste IPv6-adressen te lezen, is door het aantal hextets te tellen. Zoals weergegeven in bovenstaande afbeelding, zijn in een / 64 globaal unicast-adres de eerste vier hextets voor het netwerkgedeelte van het adres, waarbij de vierde hextet de subnet-ID aangeeft. De overige vier hextets zijn voor de interface-ID.
8.2.4.2. Statische configuratie van een globaal Unicast-adres
Routerconfiguratie
De meeste IPv6-configuratie- en verificatieopdrachten in Cisco IOS zijn vergelijkbaar met hun IPv4-tegenhangers. In veel gevallen is het enige verschil het gebruik van ipv6 in plaats van ip binnen de commando’s.
De opdracht om een IPv6-globaal unicast-adres op een interface te configureren is ipv6-adres ipv6-adres/prefix-lengte
.
Merk op dat er geen spatie is tussen ipv6-adres
en prefix-lengte
.
De voorbeeldconfiguratie gebruikt de topologie die wordt weergegeven in bovenstaande afbeelding en deze IPv6-subnetten:
- 2001:0DB8:ACAD:0001:/64 (of 2001:DB8:ACAD:1::/64)
- 2001:0DB8:ACAD:0002:/64 (of 2001:DB8:ACAD:2::/64)
- 2001:0DB8:ACAD:0003:/64 (of 2001:DB8:ACAD:3::/64)
Router(config)#interface GigabitEthernet 0/0
Router(config-if)#ipv6 address 2001:db8:acad:1::1/64
Router(config-if)#no shutdown
Zoals weergegeven in bovenstaand voorbeeld, zijn de opdrachten die nodig zijn om het IPv6-globale unicast-adres op de GigabitEthernet 0/0-interface van R1 te configureren:
Hostconfiguratie
Het handmatig configureren van het IPv6-adres op een host is vergelijkbaar met het configureren van een IPv4-adres.
Het standaard gateway-adres voro PC1 wordt geconfigureerd als 2001:DB8:ACAD:1::1. Dit is het globale unicast-adres van de R1 GigabitEthernet-interface op hetzelfde netwerk. Als alternatief kan het standaard gateway-adres zo worden geconfigureerd dat het overeenkomt met het link-local adres van de GigabitEthernet-interface. Beide configuraties zullen werken.
Opmerking: wanneer DHCPv6 of SLAAC wordt gebruikt, wordt het link-local adres automatisch gespecificeerd als het standaard gateway-adres.
Net als bij IPv4, wordt het configureren van statische adressen op clients niet geschaald naar grotere omgevingen. Om deze reden zullen de meeste netwerkbeheerders in een IPv6-netwerk dynamische toewijzing van IPv6-adressen mogelijk maken.
Er zijn twee manieren waarop een apparaat automatisch een IPv6-globaal unicast-adres kan verkrijgen:
- Stateless Address Autoconfiguration (SLAAC)
- DHCPv6
8.2.4.3. Dynamische configuratie van een globaal Unicast-adres met behulp van SLAAC
Stateless Address Autoconfiguration (SLAAC) is een methode waarmee een apparaat zijn prefix, prefixlengte en standaard gateway-adresinformatie van een IPv6-router kan verkrijgen zonder het gebruik van een DHCPv6-server. Met behulp van SLAAC vertrouwen apparaten op de ICMPv6 Router Advertisement-berichten (RA) van de lokale router om de benodigde informatie te verkrijgen.
IPv6-routers sturen periodiek ICMPv6 Router Advertisement-berichten (RA) naar alle IPv6-apparaten op het netwerk. Standaard sturen Cisco-routers elke 200 seconden RA-berichten naar het IPv6-multicast-groepsadres voor alle knooppunten. Een IPv6-apparaat op het netwerk hoeft niet te wachten op deze periodieke RA-berichten. Een apparaat kan een Router Solicitation (RS) -bericht naar de router sturen met behulp van het IPv6 all-routers multicast-groepsadres. Wanneer een IPv6-router een RS-bericht ontvangt, zal deze onmiddellijk reageren met een routeradvertentie.
Hoewel een interface op een Cisco-router kan worden geconfigureerd met een IPv6-adres, is dit nog geen “IPv6-router”. Een IPv6-router is een router die:
- IPv6-pakketten tussen netwerken stuurt
- Kan worden geconfigureerd met statische IPv6-routes of een dynamisch IPv6-routeringsprotocol
- ICMPv6 RA-berichten verzendt
IPv6-routering is niet standaard ingeschakeld. Om een router in te schakelen als een IPv6-router, moet de globale configuratieopdracht ipv6 unicast-routing
worden gebruikt.
Opmerking: Cisco-routers zijn standaard ingeschakeld als IPv4-routers.
Het ICMPv6 RA-bericht bevat het voorvoegsel, de lengte van het voorvoegsel en andere informatie voor het IPv6-apparaat. Het RA-bericht informeert het IPv6-apparaat ook hoe het zijn adresseringsinformatie kan verkrijgen. Het RA-bericht kan een van de volgende drie opties bevatten, zoals weergegeven in de afbeelding:
- Optie 1 – Alleen SLAAC – Het apparaat moet het voorvoegsel, de lengte van het voorvoegsel en de standaard gateway-adresinformatie in het RA-bericht gebruiken. Er is geen andere informatie beschikbaar van een DHCPv6-server.
- Optie 2 – SLAAC en DHCPv6 – Het apparaat moet de prefix, prefix-lengte en standaard gateway-adresinformatie in het RA-bericht gebruiken. Er is andere informatie beschikbaar van een DHCPv6-server, zoals het DNS-serveradres. Het apparaat verkrijgt deze aanvullende informatie via het normale proces van het zoeken naar en opvragen van een DHCPv6-server. Dit staat bekend als staatloze DHCPv6 omdat de DHCPv6-server geen IPv6-adrestoewijzingen hoeft toe te wijzen of bij te houden, maar alleen aanvullende informatie moet verstrekken, zoals het DNS-serveradres.
- Optie 3 – alleen DHCPv6 – Het apparaat mag de informatie in dit RA-bericht niet gebruiken voor zijn adresseringsinformatie. In plaats daarvan gebruikt het apparaat het normale proces van het vinden en opvragen van een DHCPv6-server om alle adresinformatie te verkrijgen. Dit omvat een IPv6 globaal unicast-adres, prefixlengte, een standaard gateway-adres en de adressen van DNS-servers. In dit geval fungeert de DHCPv6-server als een stateful DHCP-server, vergelijkbaar met DHCP voor IPv4. De DHCPv6-server wijst IPv6-adressen toe en houdt deze bij, zodat het niet hetzelfde IPv6-adres aan meerdere apparaten toewijst.
Routers verzenden ICMPv6 RA-berichten met het link-local-adres als het bron-IPv6-adres. Apparaten die SLAAC gebruiken, gebruiken het link-local adres van de router als hun standaard gateway-adres.
8.2.4.4. Dynamische configuratie van een globaal Unicast-adres met behulp van DHCPv6
Dynamic Host Configuration Protocol voor IPv6 (DHCPv6) is vergelijkbaar met DHCP voor IPv4. Een apparaat kan automatisch zijn adresseringsinformatie ontvangen, inclusief een globaal unicast-adres, prefixlengte, standaard gateway-adres en de adressen van DNS-servers met behulp van de services van een DHCPv6-server.
Een apparaat kan alle of een deel van zijn IPv6-adresseringsinformatie van een DHCPv6-server ontvangen, afhankelijk van of optie 2 (SLAAC en DHCPv6) of optie 3 (alleen DHCPv6) is gespecificeerd in het ICMPv6 RA-bericht. Bovendien kan het host-besturingssysteem ervoor kiezen om alles in het RA-bericht van de router te negeren en het IPv6-adres en andere informatie rechtstreeks van een DHCPv6-server te verkrijgen.
Voordat u IPv6-apparaten in een netwerk implementeert, is het een goed idee om eerst te controleren of de host de opties in het ICMPv6 RA-bericht van de router waarneemt.
Een apparaat kan zijn IPv6 globale unicast-adres dynamisch verkrijgen en ook worden geconfigureerd met meerdere statische IPv6-adressen op dezelfde interface. Met IPv6 kunnen meerdere IPv6-adressen, die tot hetzelfde IPv6-netwerk behoren, op dezelfde interface worden geconfigureerd.
Een apparaat kan ook zijn geconfigureerd met meer dan één standaard gateway IPv6-adres. Voor meer informatie over hoe de beslissing wordt genomen over welk adres wordt gebruikt als een bron-IPv6-adres of welk standaard gateway-adres wordt gebruikt, zie RFC 6724, Default Address Selection for IPv6.
De interface-ID
Als de client de informatie in het RA-bericht niet gebruikt en uitsluitend vertrouwt op DHCPv6, dan zal de DHCPv6-server het volledige IPv6 globale unicast-adres verstrekken, inclusief het voorvoegsel en de interface-ID.
Als optie 1 (alleen SLAAC) of optie 2 (SLAAC met DHCPv6) wordt gebruikt, verkrijgt de client niet het daadwerkelijke interface-ID-gedeelte van het adres van dit proces. Het clientapparaat moet zijn eigen 64-bits interface-ID bepalen, hetzij door het EUI-64-proces te gebruiken, hetzij door een willekeurig 64-bits nummer te genereren.
8.2.4.5. EUI-64-proces of willekeurig gegenereerd
IEEE heeft het Extended Unique Identifier (EUI) of het gemodificeerde EUI-64-proces gedefinieerd. Dit proces maakt gebruik van het 48-bits Ethernet-MAC-adres van een client en voegt nog eens 16 bits in het midden van het 48-bits MAC-adres in om een 64-bits interface-ID te creëren.
Ethernet MAC-adressen worden meestal hexadecimaal weergegeven en bestaan uit twee delen:
- Organizationally Unique Identifier (OUI) – De OUI is een 24-bits (6 hexadecimale cijfers) leverancierscode die is toegewezen door IEEE.
- Device Identifier – De apparaat-ID is een unieke 24-bits (6 hexadecimale cijfers) waarde binnen een gemeenschappelijke OUI.
Een EUI-64 interface-ID wordt binair weergegeven en bestaat uit drie delen:
- 24-bits OUI vanaf het MAC-adres van de client, maar de 7e bit (de universeel / lokaal (U / L) bit) is omgekeerd. Dit betekent dat als het 7e bit een 0 is, het een 1 wordt en vice versa.
- De ingevoegde 16-bits waarde FFFE (in hexadecimaal)
- 24-bits apparaat-ID van het MAC-adres van de client
Het EUI-64-proces wordt geïllustreerd in figuur 1, met behulp van R1’s GigabitEthernet MAC-adres FC99: 4775: CEE0.
- Stap 1: Verdeel het MAC-adres tussen de OUI en de apparaat-ID.
- Stap 2: Voer de hexadecimale waarde FFFE in, die in binair getal is: 1111 1111 1111 1110.
- Stap 3: converteer de eerste 2 hexadecimale waarden van de OUI naar binair en draai de U / L-bit om (bit 7). In dit voorbeeld wordt de 0 in bit 7 gewijzigd in een 1.
Het resultaat is een door de EUI-64 gegenereerde interface-ID van FE99: 47FF: FE75: CEE0.
Opmerking: het gebruik van de U / L-bit en de redenen voor het omkeren van de waarde worden besproken in RFC 5342.
Het voordeel van EUI-64 is dat het Ethernet MAC-adres kan worden gebruikt om de interface-ID te bepalen. Het stelt netwerkbeheerders ook in staat om eenvoudig een IPv6-adres naar een eindapparaat te volgen met behulp van het unieke MAC-adres. Dit heeft echter bij veel gebruikers privacyproblemen veroorzaakt. Ze zijn bezorgd dat hun pakketten kunnen worden herleid tot de daadwerkelijke fysieke computer. Vanwege deze zorgen kan in plaats daarvan een willekeurig gegenereerde interface-ID worden gebruikt.
Willekeurig gegenereerde interface-ID’s
Afhankelijk van het besturingssysteem kan een apparaat een willekeurig gegenereerde interface-ID gebruiken in plaats van het MAC-adres en het EUI-64-proces. Beginnend met Windows Vista gebruikt Windows bijvoorbeeld een willekeurig gegenereerde interface-ID in plaats van een ID die is gemaakt met EUI-64. Windows XP en eerdere Windows-besturingssystemen gebruikten EUI-64.
Een gemakkelijke manier om vast te stellen dat een adres hoogstwaarschijnlijk is aangemaakt met EUI-64, is de FFFE in het midden van de interface-ID, zoals weergegeven in afbeelding 2.
Nadat de interface-ID is vastgesteld, hetzij via het EUI-64-proces of via willekeurige generatie, kan deze worden gecombineerd met een IPv6-voorvoegsel om een globaal unicast-adres of een link-local adres te creëren:
- Globaal unicast-adres – Bij gebruik van SLAAC ontvangt het apparaat het voorvoegsel van de ICMPv6 RA en combineert het met de interface-ID.
- Link-local adres – Een link-local prefix begint met FE80 :: / 10. Een apparaat gebruikt doorgaans FE80 :: / 64 als prefix / prefix-lengte, gevolgd door de interface-ID.
8.2.4.6. Dynamische link-local adressen
Bij gebruik van SLAAC (alleen SLAAC of SLAAC met DHCPV6), ontvangt een apparaat zijn prefix en prefixlengte van de ICMPv6 RA. Omdat het voorvoegsel van het adres is aangewezen door het RA-bericht, hoeft het apparaat alleen het interface-ID-gedeelte van zijn adres op te geven. Zoals eerder vermeld, kan de interface-ID automatisch worden gegenereerd met behulp van het EUI-64-proces, of, afhankelijk van het besturingssysteem, willekeurig worden gegenereerd. Met behulp van de informatie van het RA-bericht en de interface-ID kan het apparaat zijn globale unicast-adres vaststellen.
Nadat een globaal unicast-adres is toegewezen aan een interface, genereert het IPv6-apparaat automatisch zijn link-local adres. Apparaten met IPv6 moeten minimaal het link-local adres hebben. Bedenk dat een IPv6 link-local-adres een apparaat in staat stelt te communiceren met andere IPv6-apparaten op hetzelfde subnet.
IPv6 link-local-adressen worden voor verschillende doeleinden gebruikt, waaronder:
- Een host gebruikt het link-local adres van de lokale router als standaard gateway IPv6-adres.
- Routers wisselen dynamische routeringsprotocolberichten uit met behulp van link-local adressen.
- De routeringstabellen van routers gebruiken het link-local adres om de next-hop router te identificeren bij het doorsturen van IPv6-pakketten.
Een link-local adres kan dynamisch worden vastgesteld of handmatig worden geconfigureerd als een statisch link-local adres.
Dynamisch toegewezen link-local adres
Het link-local adres wordt dynamisch aangemaakt met gebruik van het FE80 :: / 10 voorvoegsel en de interface-ID.
Standaard gebruiken Cisco IOS-routers EUI-64 om de interface-ID te genereren voor alle link-local adressen op IPv6-interfaces. Voor seriële interfaces gebruikt de router het MAC-adres van een Ethernet-interface. Bedenk dat een link-local adres alleen uniek mag zijn op die link of dat netwerk. Een nadeel van het gebruik van het dynamisch toegewezen link-local adres is echter de lengte, waardoor het een uitdaging wordt om toegewezen adressen te identificeren en te onthouden.
8.2.4.7. Statische link-local adressen
Het handmatig configureren van het link-local adres biedt de mogelijkheid om een adres te creëren dat herkenbaar en gemakkelijker te onthouden is.
Link-local-adressen kunnen handmatig worden geconfigureerd met dezelfde interfaceopdracht die wordt gebruikt om IPv6-globale unicast-adressen te maken, maar met een extra parameter:
Router(config-if)#ipv6 address link-local-address link-local
Onderstaand voorbeeld laat zien dat een link-local adres een prefix heeft binnen het bereik FE80 tot FEBF. Wanneer een adres begint met deze hextet (16-bits segment), moet de link-local parameter het adres volgen.
R1(config)# interface gigabitethernet 0/0
R1(config)# ipv6 address fe80: :1 ?
link-local Use link-local address
R1(config)# ipv6 address fe80: :1 link-local
R1(config)# exit
R1# interface gigabitethernet 0/1
R1(config)# ipv6 address fe80: :1 link-local
R1(config)# exit
R1# interface serial 0/0/0
R1(config)# ipv6 address fe80::1 link-local
R1(config)#
Onderstaade afbeelding toont de configuratie van een link-local adres met behulp van de ipv6-adresinterfaceopdracht. Het link-local adres FE80 :: 1 wordt gebruikt om het gemakkelijk herkenbaar te maken als behorend tot router R1. Hetzelfde IPv6 link-local adres is geconfigureerd op alle R1-interfaces. FE80 :: 1 kan op elke link worden geconfigureerd omdat het alleen uniek hoeft te zijn op die link.
Net als R1 zou router R2 worden geconfigureerd met FE80 :: 2 als het IPv6 link-local adres op al zijn interfaces.
8.2.4.8. IPv6-adresconfiguratie verifiëren
Zoals weergegeven in onderstaand voorbeeld, is de opdracht om de IPv6-interfaceconfiguratie te verifiëren vergelijkbaar met de opdracht die wordt gebruikt voor IPv4.
R1#show ipv6 interface brief
GigabitEthernet0/0 [up/up]
FE80::FE99:47FF:FE75:C3E0
2001:DB8:ACAD:1::1
GigabitEthernet0/1 [up/up]
FE80::FE99:47FF:FE75:C3E1
2001:DB8:ACAD:2::1
Serial0/0/0 [up/up]
FE80::FE99:47FF:FE75:C3E0
2001:DB8:ACAD:3::1
R1#
De opdracht show interface
geeft het MAC-adres van de Ethernet-interfaces weer. EUI-64 gebruikt dit MAC-adres om de interface-ID voor het link-local adres te genereren. Bovendien geeft de korte opdracht show ipv6 interface
de verkorte uitvoer weer voor elk van de interfaces. De [up/up]
output op dezelfde regel als de interface geeft de Layer 1 / Layer 2 interfacestatus aan. Dit is hetzelfde als de kolommen Status en Protocol in de equivalente IPv4-opdracht.
Merk op dat elke interface twee IPv6-adressen heeft. Het tweede adres voor elke interface is het globale unicast-adres dat is geconfigureerd. Het eerste adres, dat begint met FE80, is het link-local unicast-adres voor de interface. Bedenk dat het link-local adres automatisch aan de interface wordt toegevoegd wanneer een globaal unicast-adres wordt toegewezen.
Merk ook op dat het seriële 0/0/0 link-local adres van R1 hetzelfde is als de GigabitEthernet 0/0 interface. Seriële interfaces hebben geen Ethernet MAC-adres, dus Cisco IOS gebruikt het MAC-adres van de eerste beschikbare Ethernet-interface. Dit is mogelijk omdat link-local interfaces alleen op die link uniek hoeven te zijn.
Het link-local adres van de routerinterface is doorgaans het standaard gateway-adres voor apparaten op die link of dat netwerk.
Zoals weergegeven in onderstaand voorbeeld, kan de opdracht show ipv6 route
worden gebruikt om te verifiëren dat IPv6-netwerken en specifieke IPv6-interface-adressen zijn geïnstalleerd in de IPv6-routeringstabel. De opdracht show ipv6 route geeft alleen IPv6-netwerken weer, niet IPv4-netwerken.
R1# show ipv6 route
IPv6 Routing Table - default - 7 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static
<output omitted>
C 2001:DB8:ACAD:1::/64 [0/0]
&via GigabitEthernet0/0, directly connected
L 2001:DB8:ACAD:1::1/128 [0/0
&via GigabitEthernet0/0, receive
C 2001:DB8:ACAD:2::/64 [0/0]
&via GigabitEthernet0/1, directly connected
L 2001:DB8:ACAD:2::1/128 [0/0
&via GigabitEthernet0/1, receive
C 2001:DB8:ACAD:3::/64 [0/0]
&via Serial0/0/0, directly connected
L 2001:DB8:ACAD:1::3/128 [0/0
&via Serial0/0/0, receive
L FF00::/8 [0/0]
via Null0, receive
Binnen de routetabel geeft een C naast een route aan dat dit een direct verbonden netwerk is. Wanneer de routerinterface is geconfigureerd met een globaal unicast-adres en zich in de status “up/up” bevindt, worden het IPv6-voorvoegsel en de lengte van het voorvoegsel toegevoegd aan de IPv6-routeringstabel als een verbonden route.
Het algemene IPv6-unicast-adres dat op de interface is geconfigureerd, wordt ook als een lokale route in de routeringstabel geïnstalleerd. De lokale route heeft het voorvoegsel /128. Lokale routes worden door de routeringstabel gebruikt om pakketten efficiënt te verwerken met een bestemmingsadres van het interfaceadres van de router.
De ping
-opdracht voor IPv6 is identiek aan de opdracht die wordt gebruikt met IPv4, behalve dat er een IPv6-adres wordt gebruikt. Zoals weergegeven in onderstaand voorbeeld, wordt de opdracht gebruikt om de Layer 3-connectiviteit tussen R1 en PC1 te verifiëren. Bij het pingen van een link-local adres vanaf een router, vraagt Cisco IOS de gebruiker om de exit-interface. Omdat het link-local-bestemmingsadres zich op een of meer van zijn links of netwerken kan bevinden, moet de router weten welke interface de ping moet verzenden.
R1# ping 2001:db8:acad:1::10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:DB8:ACAD:1::10,
timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5)
R1#
8.2.5. IPv6 multicast adressen
8.2.5.1. Toegewezen IPv6-multicast-adressen
IPv6-multicast-adressen zijn vergelijkbaar met IPv4-multicast-adressen. Bedenk dat een multicast-adres wordt gebruikt om een enkel pakket naar een of meer bestemmingen te sturen (multicast-groep). IPv6-multicast-adressen hebben het voorvoegsel FF00 :: / 8.
Opmerking: Multicast-adressen kunnen alleen bestemmingsadressen zijn en geen bronadressen.
Er zijn twee soorten IPv6-multicast-adressen:
- Toegewezen multicast
- Gevraagde multicast
Toegewezen multicast
Toegewezen multicast-adressen zijn gereserveerde multicast-adressen voor vooraf gedefinieerde groepen apparaten. Een toegewezen multicast-adres is een enkel adres dat wordt gebruikt om een groep apparaten te bereiken die een gemeenschappelijk protocol of dezelfde service gebruiken. Toegewezen multicast-adressen worden gebruikt in samenhang met specifieke protocollen zoals DHCPv6.
Twee veelvoorkomende IPv6-toegewezen multicast-groepen zijn:
- FF02 :: 1 Multicast-groep met alle nodes – Dit is een multicast-groep waaraan alle IPv6-apparaten deelnemen. Een pakket dat naar deze groep wordt verzonden, wordt ontvangen en verwerkt door alle IPv6-interfaces op de link of het netwerk. Dit heeft hetzelfde effect als een uitzendadres in IPv4. De afbeelding toont een voorbeeld van communicatie met behulp van het multicast-adres van alle knooppunten. Een IPv6-router verzendt ICMPv6 (Internet Control Message Protocol versie 6) RA-berichten naar de multicast-groep met alle knooppunten. Het RA-bericht informeert alle IPv6-apparaten op het netwerk over adresseringsinformatie, zoals het voorvoegsel, de voorvoegsellengte en de standaardgateway.
- FF02 :: 2 Multicast-groep voor alle routers – Dit is een multicast-groep waarvan alle IPv6-routers lid worden. Een router wordt lid van deze groep wanneer deze is ingeschakeld als IPv6-router met de globale configuratieopdracht ipv6 unicast-routing. Een pakket dat naar deze groep wordt verzonden, wordt ontvangen en verwerkt door alle IPv6-routers op de link of het netwerk.
IPv6-compatibele apparaten verzenden ICMPv6 Router Solicitation (RS) -berichten naar het multicast-adres van alle routers. Het RS-bericht vraagt om een RA-bericht van de IPv6-router om het apparaat te helpen bij de adresconfiguratie.
8.2.5.2. Solicited-Node IPv6-multicast-adressen
Een solicited-node-multicast is vergelijkbaar met het multicast-adres van alle knooppunten. Bedenk dat het multicast-adres met alle knooppunten in wezen hetzelfde is als een IPv4-uitzending. Alle apparaten op het netwerk moeten verkeer verwerken dat naar het adres van alle knooppunten wordt verzonden. Gebruik een solicited-node multicast-adres om het aantal apparaten dat verkeer moet verwerken te verminderen.
Een multicast-adres van een solicited-node is een adres dat alleen overeenkomt met de laatste 24 bits van het IPv6-globale unicast-adres van een apparaat. De enige apparaten die deze pakketten moeten verwerken, zijn die apparaten die dezelfde 24 bits hebben in het minst significante, uiterst rechtse deel van hun interface-ID.
Een IPv6 solicited-node multicast-adres wordt automatisch aangemaakt wanneer de globale unicast- of link-local unicast-adressen worden toegewezen. Het IPv6 solicited-node multicast-adres wordt gemaakt door een speciaal FF02: 0: 0: 0: 0: 1: FF00 :: / 104-voorvoegsel te combineren met de uiterst rechtse 24 bits van het unicast-adres.
Het solicited-node multicast-adres bestaat uit twee delen:
- FF02:0:0:0:0:1:FF00::/104 multicast-prefix – Dit zijn de eerste 104 bits van het all solicited-node multicast-adres.
- Minst significante 24-bits – Dit zijn de laatste of uiterst rechtse 24 bits van het solicited-node-multicast-adres. Deze bits worden gekopieerd van de uiterst rechtse 24 bits van het globale unicast- of link-local unicast-adres van het apparaat.
Opmerking: er worden slechts 104 bits overgenomen van het speciale solicited node-voorvoegsel. De laatste byte (00) wordt niet gebruikt bij het aanmaken van het gevraagde knooppuntadres. Het is noodzakelijk om de 00 op te nemen bij het verwijzen naar het gevraagde knooppuntvoorvoegsel omdat het gecomprimeerde adres van ff02:0:0:0:0:1:ff/104 is uitgebreid naar ff02:0000:0000:0000:0000:0001:00ff/104, wat niet het juiste voorvoegsel is.
Het is mogelijk dat meerdere apparaten hetzelfde solicited-node multicast-adres hebben. Hoewel zeldzaam, kan dit voorkomen wanneer apparaten dezelfde uiterst rechtse 24 bits in hun interface-ID’s hebben. Dit levert geen problemen op omdat het apparaat nog steeds het ingekapselde bericht verwerkt, waarin het volledige IPv6-adres van het betreffende apparaat is opgenomen.
8.3. Connectiviteitsverificatie
8.3.1. ICMP
8.3.1.1. ICMPv4- en ICMPv6-berichten
Hoewel IP geen betrouwbaar protocol is, biedt de TCP / IP-suite de mogelijkheid om berichten te verzenden in het geval van bepaalde fouten. Deze berichten worden verzonden met behulp van de diensten van ICMP. Het doel van deze berichten is om feedback te geven over problemen met betrekking tot de verwerking van IP-pakketten onder bepaalde omstandigheden, niet om IP betrouwbaar te maken. ICMP-berichten zijn niet vereist en zijn om veiligheidsredenen vaak niet toegestaan binnen een netwerk.
ICMP is beschikbaar voor zowel IPv4 als IPv6. ICMPv4 is het berichtenprotocol voor IPv4. ICMPv6 biedt dezelfde services voor IPv6, maar bevat aanvullende functionaliteit. In deze cursus wordt de term ICMP gebruikt wanneer wordt verwezen naar zowel ICMPv4 als ICMPv6.
De soorten ICMP-berichten en de redenen waarom ze worden verzonden, zijn uitgebreid. We zullen enkele van de meest voorkomende berichten bespreken.
ICMP-berichten die zowel voor ICMPv4 als ICMPv6 gelden, zijn onder meer:
- Host bevestiging
- Bestemming of service onbereikbaar
- Tijd overschreden
- Route omleiding
Hostbevestiging
Een ICMP-echoboodschap kan worden gebruikt om te bepalen of een host operationeel is. De lokale host stuurt een ICMP-echoverzoek naar een host. Als de host beschikbaar is, antwoordt de bestemmingshost met een echo-antwoord. Klik in de afbeelding op de knop Afspelen om een animatie van de ICMP Echo Request / Echo Reply te zien. Dit gebruik van de ICMP Echo-berichten is de basis van het ping-hulpprogramma.
Bestemming of service onbereikbaar
Wanneer een host of gateway een pakket ontvangt dat hij niet kan bezorgen, kan hij een ICMP Destination Unreachable-bericht gebruiken om de bron te laten weten dat de bestemming of service onbereikbaar is. Het bericht bevat een code die aangeeft waarom het pakket niet kon worden afgeleverd.
Enkele van de Destination Unreachable-codes voor ICMPv4 zijn:
- 0 – net onbereikbaar.
- 1 – host onbereikbaar.
- 2 – protocol onbereikbaar.
- 3 – poort onbereikbaar.
Opmerking: ICMPv6 heeft vergelijkbare maar enigszins verschillende codes voor berichten over bestemming die niet bereikbaar is.
Tijd overschreden
Een ICMPv4 Time Exceeded-bericht wordt door een router gebruikt om aan te geven dat een pakket niet kan worden doorgestuurd omdat het veld Time to Live (TTL) van het pakket is verlaagd naar 0. Als een router een pakket ontvangt en het TTL-veld in het IPv4-pakket verlaagt nul, het gooit het pakket weg en stuurt een Time Exceeded-bericht naar de bronhost.
ICMPv6 verzendt ook een Time Exceeded-bericht als de router een IPv6-pakket niet kan doorsturen omdat het pakket is verlopen. IPv6 heeft geen TTL-veld; het gebruikt het hoplimietveld om te bepalen of het pakket is verlopen.
Routeomleiding
Een router kan het ICMP-omleidingsbericht gebruiken om de hosts op een netwerk te laten weten dat er een betere route beschikbaar is voor een bepaalde bestemming. Dit bericht mag alleen worden gebruikt als de bronhost zich op hetzelfde fysieke netwerk bevindt als beide gateways.
Zowel ICMPv4 als ICMPv6 gebruiken routeomleidingsberichten.
8.3.1.2. ICMPv6-routerverzoek en routeradvertentieberichten
De informatie- en foutmeldingen in ICMPv6 lijken sterk op de controle- en foutmeldingen die door ICMPv4 zijn geïmplementeerd. ICMPv6 heeft echter nieuwe functies en verbeterde functionaliteit die niet in ICMPv4 voorkomen.
ICMPv6 bevat vier nieuwe protocollen als onderdeel van het Neighbor Discovery Protocol (ND of NDP):
- Router Solicitation message
- Router Advertisement message
- Neighbor Solicitation message
- Neighbor Advertisement message
Routersollicitatie en routeradvertentieberichten
Apparaten met IPv6 kunnen worden onderverdeeld in twee categorieën: routers en hosts. Routerverzoek en routeradvertentieberichten worden verzonden tussen hosts en routers.
- Router Solicitation (RS) -bericht: wanneer een host is geconfigureerd om zijn adresseringsinformatie automatisch op te halen met Stateless Address Autoconfiguration (SLAAC), stuurt de host een RS-bericht naar de router. Het RS-bericht wordt verzonden als een IPv6 multicast-bericht voor alle routers.
- Router Advertisement (RA) -bericht: RA-berichten worden door routers verzonden om adresinformatie te verstrekken aan hosts die SLAAC gebruiken. Het RA-bericht kan adresinformatie voor de host bevatten, zoals het voorvoegsel en de lengte van het voorvoegsel. Een router zal periodiek een RA-bericht verzenden of als reactie op een RS-bericht. Standaard verzenden Cisco-routers elke 200 seconden RA-berichten. RA-berichten worden verzonden naar het IPv6 all-nodes multicast-adres. Een host die SLAAC gebruikt, stelt zijn standaardgateway in op het link-local adres van de router die de RA heeft verzonden.
8.3.1.3 ICMPv6 Neighbor Solicitation and Neighbor Advertisement berichten
ICMPv6 Neighbor Discovery Protocol bevat twee extra berichttypen: Neighbor Solicitation (NS) en Neighbor Advertisement (NA) -berichten.
Neighbor Solicitation and Neighbor Advertisement berichten worden gebruikt voor:
- Adres resolutie
- Duplicate Address Detection (DAD)
Adresresolutie
Adresresolutie wordt gebruikt wanneer een apparaat op het LAN het IPv6-unicast-adres van een bestemming kent, maar het Ethernet MAC-adres niet. Om het MAC-adres voor de bestemming te bepalen, stuurt het apparaat een NS-bericht naar het gevraagde knooppuntadres. Het bericht bevat het bekende (gerichte) IPv6-adres. Het apparaat dat het beoogde IPv6-adres heeft, reageert met een NA-bericht met het Ethernet MAC-adres.
Detectie van dubbele adressen
Wanneer aan een apparaat een globaal unicast- of link-local unicast-adres is toegewezen, wordt aanbevolen dat DAD wordt uitgevoerd op het adres om ervoor te zorgen dat het uniek is. Om de uniciteit van een adres te controleren, stuurt het apparaat een NS-bericht met zijn eigen IPv6-adres als het beoogde IPv6-adres. Als een ander apparaat op het netwerk dit adres heeft, zal het reageren met een NA-bericht. Dit NA-bericht zal het verzendende apparaat laten weten dat het adres in gebruik is. Als een bijbehorend NA-bericht niet binnen een bepaalde tijd wordt geretourneerd, is het unicast-adres uniek en acceptabel voor gebruik.
Opmerking: DAD is niet vereist, maar RFC 4861 raadt aan om DAD uit te voeren op unicast-adressen.
8.3.2. Testen en verifiëren
8.3.2.1. Ping – De lokale stack testen
Ping is een testprogramma dat ICMP-echoverzoeken en echoantwoordberichten gebruikt om de connectiviteit tussen hosts te testen. Ping werkt met zowel IPv4- als IPv6-hosts.
Om de connectiviteit met een andere host op een netwerk te testen, wordt een echo-verzoek naar het hostadres gestuurd met behulp van de ping-opdracht. Als de host op het opgegeven adres het echo-verzoek ontvangt, reageert het met een echo-antwoord. Terwijl elk echo-antwoord wordt ontvangen, geeft ping feedback over de tijd tussen het moment waarop het verzoek werd verzonden en het moment waarop het antwoord werd ontvangen. Dit kan een maatstaf zijn voor de netwerkprestaties.
Ping heeft een time-outwaarde voor het antwoord. Als er binnen de time-out geen antwoord is ontvangen, geeft ping een bericht dat aangeeft dat er geen antwoord is ontvangen. Dit geeft meestal aan dat er een probleem is, maar kan ook aangeven dat beveiligingsfuncties voor het blokkeren van ping-berichten zijn ingeschakeld op het netwerk.
Nadat alle verzoeken zijn verzonden, biedt het ping-hulpprogramma een samenvatting met het slagingspercentage en de gemiddelde reistijd naar de bestemming.
De Local Loopback pingen
Er zijn enkele speciale test- en verificatiegevallen waarvoor we ping kunnen gebruiken. Een voorbeeld hiervan is het testen van de interne configuratie van IPv4 of IPv6 op de lokale host. Om deze test uit te voeren, pingen we het lokale loopback-adres 127.0.0.1 voor IPv4 (:: 1 voor IPv6). Het testen van de IPv4-loopback wordt getoond in de afbeelding.
Een antwoord van 127.0.0.1 voor IPv4, of :: 1 voor IPv6, geeft aan dat IP correct op de host is geïnstalleerd. Dit antwoord komt van de netwerklaag. Dit antwoord is echter geen indicatie dat de adressen, maskers of gateways correct zijn geconfigureerd. Het geeft ook niets aan over de status van de onderste laag van de netwerkstack. Dit test eenvoudig IP via de netwerklaag van IP. Als we een foutmelding krijgen, is dit een indicatie dat TCP / IP niet operationeel is op de host.
8.3.2.2. Ping – Connectiviteit testen met het lokale LAN
U kunt ping ook gebruiken om te testen of een host in staat is om op het lokale netwerk te communiceren. Dit wordt meestal gedaan door het IP-adres van de gateway van de host te pingen. Een ping naar de gateway geeft aan dat de host- en routerinterface die als gateway fungeren beide operationeel zijn op het lokale netwerk.
Voor deze test wordt meestal het gateway-adres gebruikt, omdat de router normaal gesproken altijd operationeel is. Als het gateway-adres niet reageert, kan een ping worden verzonden naar het IP-adres van een andere host op het lokale netwerk waarvan bekend is dat deze operationeel is.
Als de gateway of een andere host reageert, kan de lokale host met succes communiceren via het lokale netwerk. Als de gateway niet reageert maar een andere host wel, kan dit duiden op een probleem met de routerinterface die als gateway dient.
Een mogelijkheid is dat het verkeerde gateway-adres op de host is geconfigureerd. Een andere mogelijkheid is dat de routerinterface volledig operationeel is, maar dat er beveiliging op is toegepast waardoor deze geen ping-verzoeken kan verwerken of erop kan reageren.
8.3.2.3. Ping – Connectiviteit naar extern testen
Ping kan ook worden gebruikt om het vermogen van een lokale host om via een internetwerk te communiceren, te testen. De lokale host kan een operationele IPv4-host van een extern netwerk pingen, zoals weergegeven in de afbeelding.
Als deze ping succesvol is, kan de werking van een groot deel van het internetwerk worden geverifieerd. Een succesvolle ping over het internetwerk bevestigt de communicatie op het lokale netwerk, de werking van de router die als onze gateway fungeert en de werking van alle andere routers die zich mogelijk in het pad tussen het lokale netwerk en het netwerk van de externe host bevinden.
Bovendien kan de functionaliteit van de externe host worden geverifieerd. Als de externe host niet buiten zijn lokale netwerk kon communiceren, zou hij niet hebben gereageerd.
Opmerking: veel netwerkbeheerders beperken of verbieden de invoer van ICMP-berichten in het bedrijfsnetwerk; daarom kan het ontbreken van een ping-reactie te wijten zijn aan beveiligingsbeperkingen.
8.3.2.4. Traceroute – Het pad testen
Ping wordt gebruikt om de connectiviteit tussen twee hosts te testen, maar biedt geen informatie over de details van apparaten tussen de hosts. Traceroute (tracert) is een hulpprogramma dat een lijst met hops genereert die met succes langs het pad zijn bereikt. Deze lijst kan belangrijke verificatie- en probleemoplossingsinformatie bevatten. Als de gegevens de bestemming bereiken, geeft de trace de interface weer van elke router in het pad tussen de hosts. Als de gegevens onderweg mislukken, kan het adres van de laatste router die op de tracering heeft gereageerd een indicatie geven van waar het probleem of de beveiligingsbeperkingen zijn gevonden.
Round Trip Time (RTT)
Het gebruik van traceroute biedt een retourtijd voor elke sprong langs het pad en geeft aan of een hop niet reageert. De retourtijd is de tijd die een pakket nodig heeft om de externe host te bereiken en om het antwoord van de host terug te geven. Een asterisk (*) wordt gebruikt om een verloren of niet-beantwoord pakket aan te geven.
Deze informatie kan worden gebruikt om een problematische router in het pad te lokaliseren. Als het display hoge responstijden of gegevensverlies van een bepaalde hop weergeeft, is dit een indicatie dat de bronnen van de router of zijn verbindingen mogelijk onder druk staan.
IPv4 Time-to-Live (TTL) en IPv6 Hop Limit
Traceroute maakt gebruik van een functie van het TTL-veld in IPv4 en het Hop Limit-veld in IPv6 in de Layer 3-headers, samen met het ICMP-bericht over overschreden tijd.
De eerste reeks berichten die vanaf traceroute wordt verzonden, heeft een TTL-veldwaarde van 1. Dit zorgt ervoor dat de TTL een time-out geeft voor het IPv4-pakket bij de eerste router. Deze router reageert dan met een ICMPv4-bericht. Traceroute heeft nu het adres van de eerste hop.
Traceroute verhoogt vervolgens geleidelijk het TTL-veld (2, 3, 4 …) voor elke reeks berichten. Dit geeft de trace het adres van elke hop wanneer de pakketten verder op het pad een time-out veroorzaken. Het TTL-veld wordt steeds groter totdat de bestemming is bereikt of het wordt verhoogd tot een vooraf gedefinieerd maximum.
Zodra de eindbestemming is bereikt, antwoordt de host met een ICMP-poort onbereikbaar bericht of een ICMP echo-antwoordbericht in plaats van het ICMP-bericht over overschreden tijd.