Hvordan beregner du præfiks, netværk, undernet og værtsnumre?

Eksempel:

IP: 128.42.5.4

I binær form: 10000000 00101010 00000101 0000010101 00000100

Undernet: 255.255.255.248.0

Hvordan kan du bestemme præfiks, netværk, undernet og værtsnumre?

Løsning

Beregning af netmaskelængden (også kaldet et præfiks):

Konverter den prikkede decimale repræsentation af netmasken til binær. Tæl derefter antallet af sammenhængende 1-bits, startende ved den mest betydningsfulde bit i det første oktet (dvs. venstre side af det binære tal).

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

Præfikset for 128.42.5.4 med en 255.255.255.248.0 netmaske er /21.

Beregning af netværksadressen:

Netværksadressen er den logiske AND-kombination af de respektive bits i den binære repræsentation af IP-adressen og netværksmasken. Juster bitsene i begge adresser, og udfør en logisk AND på hvert par af de respektive bits. Derefter konverteres de enkelte oktetter af resultatet tilbage til decimaltal.

Logisk AND sandhedstabel:

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

Som du kan se, er netværksadressen for 128.42.5.4/21 128.42.0.0.0

Beregning af Broadcast-adressen:

I broadcast-adressen konverteres alle værtsbits til 1'er...

Husk, at vores IP-adresse i decimaltal er:

128.42.5.4      in binary: 10000000 00101010 00000101 00000100

Netværksmasken er:

255.255.248.0   in binary: 11111111 11111111 11111000 00000000

Det betyder, at vores værtsbits er de sidste 11 bits i IP-adressen, fordi vi finder værtsmasken ved at vende netværksmasken om:

Host bit mask            : 00000000 00000000 00000hhh hhhhhhhh

For at beregne broadcast-adressen tvinger vi alle værtsbits til at være 1'er:

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

Beregning af undernet:

Du har ikke givet nok oplysninger til at beregne undernet for dette netværk; som regel opbygger du undernet ved at omfordele nogle af værtsbittene til netværksbittene for hvert undernet. Mange gange er der ikke én rigtig måde at undernettere en blok på ... afhængigt af dine begrænsninger kan der være flere gyldige måder at undernettere en blok af adresser på.

Lad os antage, at vi opdeler 128.42.0.0.0/21 i 4 undernet, som hver skal indeholde mindst 100 hosts...

I dette eksempel ved vi, at du skal bruge mindst et /25 præfiks for at indeholde 100 værter; jeg valgte et /24, fordi det falder på en oktetgrænse. Bemærk, at netværksadressen for hvert undernet låner værtsbits fra den overordnede netværksblok.

Find den nødvendige masklængde for undernet eller netmaske:

Hvordan vidste jeg, at jeg har brug for mindst en /25 masklængde til 100 værter? Beregn præfikset ved at bakke op om antallet af værtsbits, der kræves for at indeholde 100 værter. Man har brug for 7 hostbits for at indeholde 100 hosts. Officielt beregnes dette med:

Host bits = Log2(Number-of-hosts) = Log2(100) = 6,643

Da IPv4-adresser er 32 bit brede, og vi bruger værtsbits (dvs. de mindst betydningsfulde bits), skal du blot trække 7 fra 32 for at beregne det mindste undernetspræfiks for hvert undernet... 32 - 7 = 25.

Den dovne måde at opdele 128.42.0.0.0/21 i fire lige store undernet:

Da vi kun ønsker fire undernet fra hele blokken 128.42.0.0.0/21, kan vi bruge /23 undernet. Jeg valgte /23, fordi vi har brug for 4 undernet... dvs. to ekstra bits tilføjet til netmasken.

Dette er et lige så gyldigt svar på begrænsningen ved at bruge /23 undernet af 128.42.0.0.0/21...

Beregning af værtsnummeret:

Det er det, vi allerede har gjort ovenfor... bare genbruge værtsmasken fra det arbejde, vi gjorde, da vi beregnede broadcast-adressen 128.42.5.4/21... Denne gang bruger jeg 1s i stedet for h, fordi vi skal udføre en logisk AND på netværksadressen igen.

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

Beregning af det maksimalt mulige antal værter i et undernet:

For at finde det maksimale antal værter skal du se på antallet af binære bits i værtsnummeret ovenfor. Den nemmeste måde at gøre dette på er at trække netmaskelængden fra 32 (antal bits i en IPv4-adresse). Dette giver dig antallet af værtsbits i adressen. På det tidspunkt ...

Maximum antal værter = 2**(32 - netmask_length) - 2

Grunden til, at vi trækker 2 fra ovenfor, er, at all-ones- og all-zeros-værtsnumrene er reserveret. All-zeros-værtsnummeret er netværksnummeret, mens all-ones-værtsnummeret er broadcast-adressen.

Hvis vi bruger ovenstående eksempel på undernet 128.42.0.0.0/21, er antallet af hosts...

Maximalt antal værter = 2**(32 - 21) - 2 = 2048 - 2 = 2046

Find den maksimale netmaske (mindste værtsmaske), som indeholder to IP-adresser:

Antag, at nogen giver os to IP-adresser og forventer, at vi finder den længste netmaske, der indeholder dem begge; f.eks:

  • 128.42.5.17
  • 128.42.5.67

Det nemmeste er at konvertere begge til binær form og lede efter den længste streng af netværksbits fra venstre side af adressen.

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

I dette tilfælde ville den maksimale netmaske (mindste værtsmaske) være /25

BEMÆRK: Hvis du prøver at starte fra højre side, skal du ikke lade dig narre, bare fordi du finder en kolonne af bits, der passer sammen; der kan være bits, der ikke passer sammen, ud over disse bits, der passer sammen. Ærlig talt er det sikrest at starte fra venstre side.

Kommentarer (0)

Svaret ovenfor rammer hovedet på sømmet perfekt. Da jeg først begyndte, skulle jeg dog bruge et par forskellige eksempler fra et par forskellige kilder, før det virkelig gik op for mig. Derfor, hvis du'er interesseret i andre eksempler, har jeg skrevet et par blogindlæg om emnet - http://www.oznetnerd.com/category/subnetting/

Admins, hvis dette indlæg betragtes som spam, er du velkommen til at slette det.

Edit: Som foreslået af YLearn's forslag vil jeg forsøge at hente de relevante dele fra del 1 af min serie, uden at indsætte hele indlægget her.

Lad's bruge 195.70.16.159/30 som et eksempel.

Da det er en /30, ved vi, at host-delen vil være i fjerde oktet. Lad os konvertere det til binært:

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

For at finde ud af netværksadressen skal vi blot lægge de SN-bits, der har et 1 under sig, sammen. (128 + 16 + 8 + 4 = 156).

Når du lægger denne 156 til de første tre oktetter af adressen, står vi tilbage med netværksadressen 195.70.16.156.

Da vi nu ved, at den første brugbare adresse altid er netværksadressen plus en, skal vi blot foretage følgende beregning: (156 + 1 = 157).

Dette giver os en første anvendelige adresse på 195.70.16.157.

Lad os nu springe den sidste brugbare adresse et øjeblik over og finde Broadcast Address. For at finde ud af, hvad det er, skal vi blot lægge alle H-bits sammen (uanset om de er 1 eller 0) og derefter lægge dette tal til netværksadressen. (2 + 1 + 156 = 159).

Dette giver os en Broadcast Address på 195.70.16.159.

Og lad os endelig regne den sidste brugbare adresse ud. Denne proces svarer til at finde den første brugbare adresse, men i stedet for at tilføje en til netværksadressen trækker vi faktisk en fra Broadcast Address. (159 - 1 = 158).

Dette giver os en Sidste anvendelige adresse på 195.70.16.158.

Og der har vi den! Vores temaplte er færdig. For at gøre det nemt at referere til den, er den her igen:

  • Netværksadresse: 195.70.16.156
  • First Usable Address: 195.70.16.157
  • Sidste anvendelige adresse: 195.70.16.158
  • Broadcast Address: 195.70.16.159

Som en genvej kan du også bruge denne formel. Den virker på undernet af enhver størrelse:

  • First Usable Address = Netværksadresse + 1
  • Broadcast Address = Næste netværksadresse - 1
  • Sidste anvendelige adresse = Broadcast-adresse - 1
Kommentarer (1)

Eksempel:

IP: 128.42.5.4

I binær form: 10000000 00101010 00000101 0000010101 00000100

Undernet: 255.255.255.248.0

Hvordan kan du bestemme præfiks, netværk, undernet og værtsnumre?

      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......
Kommentarer (0)