Doel van de netwerklaag:
- Pakketten van de ene computer naar de andere brengen(ene endhost naar andere endhost)
- vgl: transportlaag: van proces naar proces
Router:
- apparaat dat (delen van) netwerken met elkaar verbindt
- router werkt in netwerklaag
- heeft geen weet van hogere lagen
- vgl switch: werkt in datalinklaag (heeft geen weet van netwerklaag)
Subdoelen (functies) van netwerklaag:
- Routering: bepalen van het pad (route) dat een pakket moet doorlopen
- Forwarding: pakketten die in een router aankomen naar de juiste kant sturen
- Sommige netwerken: verbindingen beheren (niet in Internet)
IP staat voor het Internet Protocol en geeft aan hoe je
apparaten kan addresseren. IP versie 4 is de huidige versie, IP
versie 6 is de toekomstige versie (wordt al wel gebruikt). IP V4
gebruikt 32 bits adressen voor aangesloten apparaten.
Genoteerd als 4 afzonderlijke bytes (131.211.80.17). Iedere
interface heeft eigen IP adres. Ook routers hebben een IP-adres
voor elke netwerkaansluiting. IP versie 6 (IP V6) gebruikt 128-
bits adressen.
Er is 1 router die koppelt 3 netwerken met elkaar. Elk van die
interface van de router heeft een eigen IP adres(223.1.1.4,
223.1.2.9, 233.1.3.27). Ze lijken grotendeels op elkaar, de eerste
2 bytes zijn hetzelfde maar de 3 is verschillend en die is per
netwerk dan afzonderlijk hetzelfde.
Het IP adres bestaat uit 4 afzonderlijke bytes en die kan je weer als bit strings opschrijven(zie figuur).
Netwerk maskers:
In het voorbeeld heeft elk IP adres in een netwerk dezelfde eerste 3 bytes 223.1..1.2 /
223.1.3. Alle interfaces in één netwerk moeten hetzelfde beginstuk hebben, ze behoren tot
hetzelfde netwerk en je zegt in feite dat ze hetzelfde netwerknummer hebben. De hoeveelheid bits
die hetzelfde zijn bepalen het netwerkmasker. In dit geval is het netwerkmasker 255.255.255.0 (255
= allemaal 1-bits). In dit geval zag je dat de eerste 3 bytes bepalend zijn voor het netwerk waar je
inzit. Van de 32 bits die het IP adres heeft zijn er 24 bit gereserveerd voor het netwerk, de laatste 8
zijn beschikbaar om vrij uit te delen, voor de nummering van de individuele hosts op het netwerk.
Dus 11111111.11111111.11111111.00000000. Moderne notatie: netwerk is 223.1.1.0/24 (=24 bits).
Oorspronkelijk werden IP adressen in klassen ingedeeld. A, B, C netwerken, op grens van 8, 16, 24
bits. Bij een A netwerk had je 8 bits gereseveerd voor het netwerknummer en je kon 24 bits
gebruiken om IP addressen te maken binnen dat netwerk en te geven aaan verschillende Hosts.
, Voordeel was dat dit maakt het routeren simpel maakte, nadeel is dat je het in grote batches
uitdeelt en daarbij geef je bij bv klas A ontzettend veel IP addressen weg. Tegenwoordig CIDR
(Classless InterDomain Routing):
1. Netwerk-deel van IP adres wordt door netwerkmasker aangegeven
2. Als je een netwerkmasker van 21 bits hebt, kun je 11 bits gebruiken voor hostnummer binnen
netwerk
Klas A netwerk begon met een 0 bit waaraan je
kon herkennen dat dit klas A was. Daarachter had
je 7 bits voor het netwerk zelf, en dan 24 bits om
de hosts te kunnen nummeren.
Klas B: begint met een 10 bit waaraan je kon
herkennen. 14 bits voor netwerk en 16 bits voor
nummeren van hosts.
Klas C: begint met 110 en heeft 21 bits voor
netwerk en 8 bits voor hosts. Er is een 16e deel van de IP addressen gereserveerd voor multicast
addressen. Ook is een 16e deel van de IP addressen gereserveerd voor toekomstig gebruik. Dit was
vroeger het geval en was vrij inefficiënt, dit moest anders.
Speciale IP addressen, 0000.0000.0000.0000.0000.0000.0000.0000 en dat staat voor als er nog niks
bekend is. Als je wel het host adress weet maar niet het netwerk dan kun je daarvoor alleen de 0
voor invullen en alleen het hostnummer gebruiken dan heb je het over een host op het huidige
netwerk. Als je broadcast wilt sturen naar alle machines op locale huidige netwerk, stuur je 32 x een
1. Als je dit op een ander netwerk wil doen, gebruik je het netwerk address en daarnaast alleen maar
1.
CIDR notatie wat tegenwoordig wordt gebruikt:
CIDR staat voor Classless Inter Domain Routing. Hierbij wordt niet meer naar de classes (A,B,C,D)
gekeken. Bij de classes heb je te weinig flexibiliteit met aantallen computers in netwerk: Alleen 254
(28 - 2), 65534 (216 - 2) en 16777214 (224 - 2).
Voorbeeld: je wilt max. 1000 computers aansluiten Je hebt nu aan 10 bits genoeg (210 - 2 = 1022),
waarbij er 2 niet te gebruiken zijn namelijk met allemaal 0’en aan het begin en allemaal 1’en als
hostnummer. Dus een /22 netwerk masker. Bijvoorbeeld: 200.23.28.0/22 -> 11001000 00010111
00011100 00000000 (de bits buiten het masker moeten 0 zijn). Adressen: {200.23.28.0 t/m
200.23.31.255} Je zou hier nog een ‘gat’ uit kunnen halen voor een klein netwerkje van een stuk of
14 adressen.