Omdat er de laatste tijd toch regelmatig topics zijn over hoe ip adressen en subnetmaskers uit gerekend moeten worden dacht ik "ik zal het maar eens uit gaan leggen"
Het IP adres
Elke machine op het internet heeft een IP adres. Dit IP adres wordt gebruikt om communicatie tussen twee machines mogelijk te maken.
Een IP adres in bestaat bij IPV4 uit 32 bits georganiseerd als 4 x 8 bits. 8 bits bij elkaar worden een octet genoemd. Met 8 bits kunnen dus waardes van 0 tot 255 worden gemaakt. Behalve bij het 1e octet deze kan nooit 0 zijn. Geldige ip adressen zijn dus
2.32.75.240
67.123.54.43
192.168.0.4
233.45.2.5
Class A B C of D adressen
Ip adressen worden ingedeeld in zogenaamde klasses. Elke class heeft ook een default subnetmasker later meer over die subnetmaskers ik geef ze al wel vast
bij een Class A adres is het most significant bit van het 1e octet altijd 0 dit houdt dus in dat alle adressen waarvan het 1e octet begint met een waarde groter dan 0 en kleiner dan 128 een Class A adres is. De reeks is dan 1.0.0.0 tot 127.255.255.255 het default masker is hier 255.0.0.0
Zie voor de rest de tabel hier beneden
Het Subnetmasker
Het subnetmasker wordt gebruikt om aan te geven binnen tot welk netwerk een bepaald ip adres hoort. Hoe bepaal je nou het bijbehorende netwerk mbv van een subnetmasker en een ip adres. De truc is de ip adressen om te zetten in een binair formaat en daar wat bewerkingen op te doen.
We gaan het netwerk bepalen van het ip adres 13.34.73.23 met masker 255.255.255.0
Om nu het netwerk te bepalen moet je deze 2 binair AND doen je krijgt dan
Het netwerk is dan 13.34.73.0
Je hebt dan nog 8 bits om de hosts te bepalen. Het laatste ip adres in de reeks is dan 11111111 en de 1e 00000000 op een lan segment mogen deze niet gebruikt worden. Om ze uit te rekenen OR je de host aanduidingen met het eerder uitegerekende netwerkmasker
Als je deze dan OR doet krijg je
Om het broadcast adres te bepalen moeten alle host bits 1 zijn
Het netwerk bepalen van het ip adres 133.54.21.123 met masker 255.255.240.0
Om nu het netwerk te bepalen moet je deze 2 binair AND doen je krijgt dan
Het netwerk van dit ipadres en masker is dan 133.54.16.0
Het broadcast adres bepalen door weer alle host bits op 1 te zetten
Beide dingen OR doen
133.54.31.255 is het broadcast adres van dit netwerk
Dit kan je voor elk subnetmasker op deze manier doen als je maar deze simpele regels volgt.
Vaak wordt ook de notatie /24 of /12 gebruikt om een subnetmasker aan te geven. Het getal geeft hier aan hoeveel enen er achter elkaar staan dus een /24 is 11111111 11111111 11111111 00000000 (255.255.255.0) en een /12 is 11111111 11110000 00000000 00000000 (255.240.0.0)
Om snel uit te rekenen hoeveel hosts er op een ethernetsegment kunnen met een bepaald subnetmasker dan kan je de volgende formule gebruiken.
2^(32-mask)-2
Waarom subnetting
Subnetting wordt voor een hoop dingen gebruikt en zeker niet alleen op en ethernetsegment hoewel dit wel vaak gedacht wordt.
Grote subnets worden vaak gebruikt om een reeks opeenvolgende subnets te summarizen. Stel je hebt een netwerk naar elke gemeente in Nederland met je hoofdlokatie in Amsterdam. Vanaf Amsterdam heb je dan een verbinding naar elke provinciehoofdstad. Elke provinciehoofdstad heeft dan een verbinding naar de gemeentes in die provincie.
Het is dan logisch om voor elke provincie een /16 subnetwerk te reserveren en dan naar elke gemeente een /24 verder te routeren. Dus Noordholland krijgt dan subnet 10.0.0.0/16 en Zuid Holland 10.1.0.0/16 enzovoort. Binnen Noord Holland krijgt Haarlem dan 10.0.1.0/24 toegewezen en Den Helder 10.0.2.0/24. Binnen Zuid Holland kan DenHaag dan 10.1.1.0/24 en Rotterdam 10.1.2.0/24 toegewezen krijgen.
Je hoeft dan vanaf de hoofdlokatie in Amsterdam maar een route te maken met een heel groot subnetmasker om alle gemeentes in een provincie te bereiken.
Later zal ik nog wat voorbeelden toevoegen en hier en daar wat uitbreiden indien nodig. Dus heb je opmerkingen leef je uit.
Het IP adres
Elke machine op het internet heeft een IP adres. Dit IP adres wordt gebruikt om communicatie tussen twee machines mogelijk te maken.
Een IP adres in bestaat bij IPV4 uit 32 bits georganiseerd als 4 x 8 bits. 8 bits bij elkaar worden een octet genoemd. Met 8 bits kunnen dus waardes van 0 tot 255 worden gemaakt. Behalve bij het 1e octet deze kan nooit 0 zijn. Geldige ip adressen zijn dus
2.32.75.240
67.123.54.43
192.168.0.4
233.45.2.5
Class A B C of D adressen
Ip adressen worden ingedeeld in zogenaamde klasses. Elke class heeft ook een default subnetmasker later meer over die subnetmaskers ik geef ze al wel vast
bij een Class A adres is het most significant bit van het 1e octet altijd 0 dit houdt dus in dat alle adressen waarvan het 1e octet begint met een waarde groter dan 0 en kleiner dan 128 een Class A adres is. De reeks is dan 1.0.0.0 tot 127.255.255.255 het default masker is hier 255.0.0.0
Zie voor de rest de tabel hier beneden
Class | Begin | Eind | MSB | default masker | opmerkingen |
A | 1.0.0.0 | 127.255.255.255 | 0 | 255.0.0.0 | |
B | 128.0.0.0 | 191.255.255.255 | 10 | 255.255.0.0 | |
C | 192.0.0.0 | 223.255.255.255 | 110 | 255.255.255.0 | |
D | 224.0.0.0 | 239.255.255.255 | 1110 | Klasse D wordt gebruikt voor mulitcasting en gebruikt geen subnetmasker | |
E | 240.0.0.0 | 247.255.255.255 | 11110 | Klasse E wordt gebruikt voor experimentele diensten |
Het Subnetmasker
Het subnetmasker wordt gebruikt om aan te geven binnen tot welk netwerk een bepaald ip adres hoort. Hoe bepaal je nou het bijbehorende netwerk mbv van een subnetmasker en een ip adres. De truc is de ip adressen om te zetten in een binair formaat en daar wat bewerkingen op te doen.
We gaan het netwerk bepalen van het ip adres 13.34.73.23 met masker 255.255.255.0
code:
1
2
| 00001101 00100010 01001001 00010111 het ip adres binair uitgeschreven 11111111 11111111 11111111 00000000 het masker binair uitgescherven |
Om nu het netwerk te bepalen moet je deze 2 binair AND doen je krijgt dan
code:
1
| 00001101 00100010 01001001 00000000 dit is je netwerk dus 13.34.73.0 |
Het netwerk is dan 13.34.73.0
Je hebt dan nog 8 bits om de hosts te bepalen. Het laatste ip adres in de reeks is dan 11111111 en de 1e 00000000 op een lan segment mogen deze niet gebruikt worden. Om ze uit te rekenen OR je de host aanduidingen met het eerder uitegerekende netwerkmasker
code:
1
2
| 00001101 00100010 01001001 00000000 het netwek 00000000 00000000 00000000 10100111 een willekeurige host |
Als je deze dan OR doet krijg je
code:
1
| 00001101 00100010 01001001 10100111 de host 13.34.73.167 |
Om het broadcast adres te bepalen moeten alle host bits 1 zijn
code:
1
2
| 00001101 00100010 01001001 00000000 het netwek 00000000 00000000 00000000 11111111 een willekeurige host |
code:
1
| 00001101 00100010 01001001 11111111 het broadcast adres 13.34.73.255 |
Het netwerk bepalen van het ip adres 133.54.21.123 met masker 255.255.240.0
code:
1
2
| 10000101 00110110 00010101 01111011 het ip adres binair uitgeschreven 11111111 11111111 11110000 00000000 het masker binair uitgescherven |
Om nu het netwerk te bepalen moet je deze 2 binair AND doen je krijgt dan
code:
1
| 10000101 00110110 00010000 00000000 |
Het netwerk van dit ipadres en masker is dan 133.54.16.0
Het broadcast adres bepalen door weer alle host bits op 1 te zetten
code:
1
2
| 10000101 00110110 00010000 00000000 het netwerk binair uitgeschreven 00000000 00000000 00001111 11111111 alle host bits 1 |
Beide dingen OR doen
code:
1
| 10000101 00110110 00011111 11111111 |
133.54.31.255 is het broadcast adres van dit netwerk
Dit kan je voor elk subnetmasker op deze manier doen als je maar deze simpele regels volgt.
Vaak wordt ook de notatie /24 of /12 gebruikt om een subnetmasker aan te geven. Het getal geeft hier aan hoeveel enen er achter elkaar staan dus een /24 is 11111111 11111111 11111111 00000000 (255.255.255.0) en een /12 is 11111111 11110000 00000000 00000000 (255.240.0.0)
Om snel uit te rekenen hoeveel hosts er op een ethernetsegment kunnen met een bepaald subnetmasker dan kan je de volgende formule gebruiken.
2^(32-mask)-2
Waarom subnetting
Subnetting wordt voor een hoop dingen gebruikt en zeker niet alleen op en ethernetsegment hoewel dit wel vaak gedacht wordt.
Grote subnets worden vaak gebruikt om een reeks opeenvolgende subnets te summarizen. Stel je hebt een netwerk naar elke gemeente in Nederland met je hoofdlokatie in Amsterdam. Vanaf Amsterdam heb je dan een verbinding naar elke provinciehoofdstad. Elke provinciehoofdstad heeft dan een verbinding naar de gemeentes in die provincie.
Het is dan logisch om voor elke provincie een /16 subnetwerk te reserveren en dan naar elke gemeente een /24 verder te routeren. Dus Noordholland krijgt dan subnet 10.0.0.0/16 en Zuid Holland 10.1.0.0/16 enzovoort. Binnen Noord Holland krijgt Haarlem dan 10.0.1.0/24 toegewezen en Den Helder 10.0.2.0/24. Binnen Zuid Holland kan DenHaag dan 10.1.1.0/24 en Rotterdam 10.1.2.0/24 toegewezen krijgen.
Je hoeft dan vanaf de hoofdlokatie in Amsterdam maar een route te maken met een heel groot subnetmasker om alle gemeentes in een provincie te bereiken.
Later zal ik nog wat voorbeelden toevoegen en hier en daar wat uitbreiden indien nodig. Dus heb je opmerkingen leef je uit.
[Voor 20% gewijzigd door TrailBlazer op 15-01-2008 19:55]