Hoe bereken je de prefix-, netwerk-, subnet- en hostnummers?

Voorbeeld:

IP: 128.42.5.4

In binair: 10000000 00101010 00000101 00000100

Subnet: 255.255.248.0

Hoe kon je de prefix, netwerk, subnet, en host nummers bepalen?

Oplossing

Berekening van de Netmask Lengte (ook wel prefix genoemd):

Converteer de gestippelde-decimale weergave van het netmask naar binair. Tel vervolgens het aantal aaneengesloten 1 bits, beginnend bij het meest significante bit in het eerste octet (d.w.z. de linkerkant van het binaire getal).

255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           -----------------------------------
                           I counted twenty-one 1s             -------> /21

De prefix van 128.42.5.4 met een 255.255.248.0 netmask is /21.

Berekening van het netwerk adres:

Het netwerkadres is de logische AND van de respectieve bits in de binaire weergave van het IP-adres en het netwerkmasker. Lijn de bits in beide adressen uit en voer een logische AND uit op elk paar van de respectieve bits. Converteer vervolgens de afzonderlijke octetten van het resultaat terug naar decimaal.

Logische AND waarheidstabel:

Logische AND

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
255.255.248.0   in binary: 11111111 11111111 11111000 00000000
                           ----------------------------------- [Logical AND]
                           10000000 00101010 00000000 00000000 ------> 128.42.0.0

Zoals u kunt zien, is het netwerkadres van 128.42.5.4/21 128.42.0.0

Berekening van het Broadcast Adres:

Het broadcast adres converteert alle host bits naar 1s...

Onthoud dat ons IP adres in decimaal is:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100

Het netwerkmasker is:

255.255.248.0   in binary: 11111111 11111111 11111000 00000000

Dit betekent dat onze host bits de laatste 11 bits van het IP adres zijn, omdat we het host masker vinden door het netwerk masker om te keren:

Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh

Om het broadcast adres te berekenen, dwingen we alle host bits om 1s te zijn:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh
                           ----------------------------------- [Force host bits]
                           10000000 00101010 00000111 11111111 ----> 128.42.7.255

Het berekenen van subnetten:

Je hebt'niet genoeg informatie gegeven om subnetten voor dit netwerk te berekenen; als algemene regel bouw je subnetten door enkele van de host bits opnieuw toe te wijzen als netwerk bits voor elk subnet. Vaak is er niet één juiste manier om een blok te subnetten... afhankelijk van uw beperkingen kunnen er verschillende geldige manieren zijn om een blok adressen te subnetten.

Laten we aannemen dat we 128.42.0.0/21 in 4 subnetten verdelen die elk minstens 100 hosts moeten bevatten...

subnetting

In dit voorbeeld weten we dat je minstens een /25 prefix nodig hebt om 100 hosts te bevatten; ik koos een /24 omdat die op een octet grens valt. Merk op dat het netwerk adres voor elk subnet host bits leent van het bovenliggende netwerk blok.

Zoek de vereiste subnet masklengte of netmask:

Hoe weet ik dat ik voor 100 hosts minstens een /25 masklengte nodig heb? Bereken de prefix door terug te gaan naar het aantal host bits dat nodig is om 100 hosts te bevatten. Men heeft 7 host bits nodig om 100 hosts te bevatten. Officieel wordt dit berekend met:

Host bits = Log2(Aantal-hosts) = Log2(100) = 6.643

Aangezien IPv4-adressen 32 bits breed zijn, en we de hostbits gebruiken (d.w.z. de minst significante bits), trekken we gewoon 7 af van 32 om de minimale subnetprefix voor elk subnet te berekenen... 32 - 7 = 25.

De luie manier om 128.42.0.0/21 in vier gelijke subnetten te verdelen:

Omdat we maar vier subnetten van het hele 128.42.0.0/21 blok willen, zouden we /23 subnetten kunnen gebruiken. Ik koos voor /23 omdat we 4 subnetten nodig hebben... d.w.z. twee extra bits toegevoegd aan het netmask.

Dit is een even geldig antwoord op de beperking, gebruikmakend van /23 subnetten van 128.42.0.0/21...

subnetting, 2e optie

Berekening van het host nummer:

Dit is wat we'hierboven al hebben gedaan... hergebruik gewoon het hostmasker van het werk dat we deden toen we het broadcastadres van 128.42.5.4/21 berekenden... Deze keer gebruik ik 1s in plaats van h, omdat we weer een logische EN moeten uitvoeren op het netwerkadres.

128.42.5.4      in binary: 10000000 00101010 00000101 00000100
Host bit mask            : 00000000 00000000 00000111 11111111
                           ----------------------------------- [Logical AND]
                           00000000 00000000 00000101 00000100 -----> 0.0.5.4

Berekening van het maximaal mogelijke aantal hosts in een subnet:

Om het maximum aantal hosts te vinden, kijk je naar het aantal binaire bits in het hostnummer hierboven. De eenvoudigste manier om dit te doen is door de lengte van het netmasker af te trekken van 32 (het aantal bits in een IPv4-adres). Dit geeft je het aantal host bits in het adres. Op dat punt...

Maximaal aantal hosts = 2**(32 - netmask_lengte) - 2

De reden dat we hierboven 2 aftrekken is omdat de all-ones en all-zeros host nummers gereserveerd zijn. Het all-zeros host nummer is het netwerk nummer; het all-ones host nummer is het broadcast adres.

Met het voorbeeldsubnet 128.42.0.0/21 hierboven, is het aantal hosts...

Maximaal aantal hosts = 2**(32 - 21) - 2 = 2048 - 2 = 2046

Het vinden van het maximale netmask (minimale hostmask) dat twee IP adressen bevat:

Stel dat iemand ons twee IP-adressen geeft en van ons verwacht dat we het langste netmask vinden dat beide adressen bevat; bijvoorbeeld:

  • 128.42.5.17
  • 128.42.5.67

Het gemakkelijkste is om beide adressen om te zetten naar binair en te zoeken naar de langste string van netwerk-bits aan de linkerkant van het adres.

128.42.5.17     in binary: 10000000 00101010 00000101 00010001
128.42.5.67     in binary: 10000000 00101010 00000101 01000011
                           ^                           ^     ^
                           |                           |     |
                           +--------- Network ---------+Host-+
                             (All bits are the same)    Bits

In dit geval zou het maximum netmask (minimum hostmask) /25 zijn

OPMERKING: Als u probeert vanaf de rechterkant te beginnen, laat u dan niet misleiden door het feit dat u één overeenkomende kolom van bits vindt; er kunnen ongeëvenaarde bits zijn voorbij die overeenkomende bits. Eerlijk gezegd is het het veiligst om vanaf de linkerkant te beginnen.

Commentaren (0)

Het antwoord hierboven slaat de spijker perfect op zijn kop. Toen ik voor het eerst begon, had ik echter een paar verschillende voorbeelden uit een paar bronnen nodig om het echt te laten doordringen. Daarom, als u're geïnteresseerd bent in andere voorbeelden, schreef ik een paar blog posts over het onderwerp - http://www.oznetnerd.com/category/subnetting/

Admins, als dit bericht als spam wordt beschouwd, voel je dan vrij om het te verwijderen.

Edit: Zoals voorgesteld door YLearn's, zal ik proberen de relevante delen uit deel 1 van mijn reeks te halen, zonder het hele artikel hier te plakken.

Laten we 195.70.16.159/30 als voorbeeld gebruiken.

Omdat het een /30 is, weten we dat het host gedeelte in het vierde octet komt te staan. Laten we dat omzetten naar binair:

128 64 32 16  8  4 2 1
SN  SN SN SN SN SN H H
 1   0  0  1  1  1 1 1

Om nu het netwerk adres te vinden, is alles wat we doen de SN bits met een 1 eronder, bij elkaar optellen. (128 + 16 + 8 + 4 = 156).

Wanneer je deze 156 bij de eerste drie octetten van het adres optelt, houden we het Netwerkadres 195.70.16.156 over.

Aangezien we weten dat het eerst bruikbare adres altijd het Netwerkadres plus één is, hoeven we alleen maar de volgende berekening uit te voeren: (156 + 1 = 157).

Dit geeft ons een Eerste bruikbare adres van 195.70.16.157.

Laten we nu het Laatste Bruikbare Adres even overslaan en het Broadcast Adres zoeken. Om uit te vinden wat dit is, hoeven we alleen maar alle H bits bij elkaar op te tellen (ongeacht of ze een 1 of een 0 zijn) en dan dit getal bij het Netwerk Adres op te tellen. (2 + 1 + 156 = 159).

Dit geeft ons een Broadcast Adres van 195.70.16.159.

En tenslotte, laten we het laatste bruikbare adres berekenen. Dit proces is gelijk aan het vinden van het Eerste bruikbare adres, maar in plaats van één op te tellen bij het netwerkadres, trekken we er één af van het Broadcast Address. (159 - 1 = 158).

Dit geeft ons een Laatst bruikbaar adres van 195.70.16.158.

En daar hebben we het! Onze temaplte is compleet. Voor gemakkelijke referentie, hier is het weer:

  • Netwerk Adres: 195.70.16.156
  • Eerste bruikbare adres: 195.70.16.157
  • Laatst bruikbare adres: 195.70.16.158
  • Broadcast Adres: 195.70.16.159

Als een snelkoppeling kunt u ook deze formule gebruiken. Het werkt op subnetten van elke grootte:

  • Eerste bruikbare adres = Netwerkadres + 1
  • Broadcast Adres = Volgende Netwerk Adres - 1
  • Laatst bruikbaar adres = Broadcast-adres - 1
Commentaren (1)

Voorbeeld:

IP: 128.42.5.4

In binair: 10000000 00101010 00000101 00000100

Subnet: 255.255.248.0

Hoe kon je de prefix, netwerk, subnet, en host nummers bepalen?

      32768     16384  8192  4096  2048  1024   512   256  ----> Binary
        128       192   224   240   248   252   254   255  ----> Sunet Mask
        /17       /18   /19   /20   /21   /22   /23   /24  ----> CIDR  
      32766     16382  8190  3094  2046  1022   510   254  ----> Host

      128     64    32     16     8     4    2     1   ----> Binary
      128    192   224    240   248   252   254   255  ----> Sunet Mask
      /25    /26   /27    /28   /29   /30   /31   /32  ----> CIDR  
      126     62    30     14     6     2    *     -   ----> Host 

     128        64        32       16        8         4         2        1
  10000000   01000000  00100000 00010000  00001000  00000100  00000010   00000001
   Example 
   Network=192.168.1.0 /24;  
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.0 
   Ip address range 192.168.1.0----192.168.1.255
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.254; 
   Broadcast address = 192.168.1.255;
   254 Host
   Network=192.168.1.0 /25;
   Network Address with Subnet mask =  192.168.1.0 subnet 255.255.255.128
   Ip address range 192.168.1.0----192.168.1.128
   Fist available ip address  192.168.1.1; 
   Last available ip address  192.168.1.126;
   Broadcast address = 192.168.1.127;  
   126 Hosts
   When the CIDR increased ex. /24. /25.  the network will divided by the 
   binary number.
   /25  increase network   0-128| 128- 256 |                   you will have 2 Networks 
   /26  increase network   0-64 | 64 - 128 | 128-192 | 192-256 you will have 4 Networks 
    .
    .
    .
   /32......
Commentaren (0)