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?
98
3
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).
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:
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:
Netværksmasken er:
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:
For at beregne broadcast-adressen tvinger vi alle værtsbits til at være 1'er:
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.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:
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.
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.
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:
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:
Som en genvej kan du også bruge denne formel. Den virker på undernet af enhver størrelse:
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?