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?
98
3
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).
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
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:
Het netwerkmasker is:
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:
Om het broadcast adres te berekenen, dwingen we alle host bits om 1s te zijn:
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.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:
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.
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.
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:
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:
Als een snelkoppeling kunt u ook deze formule gebruiken. Het werkt op subnetten van elke grootte:
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?