Hur beräknar du prefix-, nätverks-, subnet- och värdnummer?
Exempel:
IP: 128.42.5.4
Binärt: 10000000 00101010 00000101 00000101 00000100
Undernät: 255.255.255.248.0
Hur kan du bestämma prefix-, nätverks-, undernäts- och värdnummer?
98
3
Beräkning av nätmasklängden (även kallad prefix):
Konvertera den punktdecimala representationen av nätmask till binär. Räkna sedan antalet sammanhängande 1-bitar, med början vid den mest betydelsefulla biten i den första oktetten (dvs. den vänstra sidan av det binära talet).
Prefixet för 128.42.5.4 med en 255.255.248.0 nätmask är /21.
Beräkning av nätverksadressen:
Nätverksadressen är den logiska AND-kombinationen av respektive bitar i den binära representationen av IP-adressen och nätverksmasken. Rikta in bitarna i båda adresserna och gör ett logiskt AND på varje par av respektive bitar. Konvertera sedan de enskilda okteterna i resultatet tillbaka till decimaltal.
Sanningstabell för logisk AND:
Som du kan se är nätverksadressen för 128.42.5.4/21 128.42.0.0.
Beräkning av sändningsadressen:
I broadcast-adressen omvandlas alla värdbitar till 1:or...
Kom ihåg att vår IP-adress i decimaltal är:
Nätverksmasken är:
Detta innebär att våra värdbitar är de sista 11 bitarna i IP-adressen, eftersom vi hittar värdmasken genom att vända nätverksmasken:
För att beräkna sändningsadressen tvingar vi alla värdbitar att vara 1:or:
Beräkning av delnät:
Du har inte gett tillräckligt med information för att beräkna delnät för detta nätverk; som en allmän regel bygger du delnät genom att omfördela några av värdbitarna som nätverksbitar för varje delnät. Många gånger finns det inte ett rätt sätt att skapa ett undernät för ett block... beroende på dina begränsningar kan det finnas flera giltiga sätt att skapa ett undernät för ett block av adresser.
Låt oss anta att vi delar upp 128.42.0.0.0/21 i fyra undernät som måste innehålla minst 100 värddatorer vardera...
I det här exemplet vet vi att du behöver minst ett /25-prefix för att innehålla 100 värdar; jag valde ett /24 eftersom det faller på en oktettgräns. Lägg märke till att nätverksadressen för varje delnät lånar värdbitar från det överordnade nätverksblocket.
Hitta den nödvändiga masklängden för delnätet eller nätmask:
Hur visste jag att jag behöver minst en /25 masklängd för 100 värdar? Beräkna prefixet genom att backa in antalet värdbitar som krävs för att innehålla 100 värdar. Man behöver 7 värdbitar för att innehålla 100 värdar. Officiellt beräknas detta med:
Host bits = Log2(Number-of-hosts) = Log2(100) = 6,643
Eftersom IPv4-adresser är 32 bitar breda och vi använder värdbitsen (dvs. de minst signifikanta bitarna), drar vi helt enkelt bort 7 från 32 för att beräkna det minsta subnätsprefixet för varje subnät... 32 - 7 = 25.
Det lata sättet att dela upp 128.42.0.0.0/21 i fyra lika stora delnät:
Eftersom vi bara vill ha fyra delnät från hela blocket 128.42.0.0.0/21 kan vi använda /23 delnät. Jag valde /23 eftersom vi behöver fyra undernät... dvs. två extra bitar läggs till nätmasken.
Detta är ett lika giltigt svar på begränsningen genom att använda /23 undernät av 128.42.0.0.0/21...
Beräkning av värdnumret:
Det här är vad vi redan har gjort ovan... återanvänd bara värdmasken från det arbete vi gjorde när vi beräknade sändningsadressen 128.42.5.4/21... Den här gången använder jag 1s i stället för
h
, eftersom vi måste utföra ett logiskt AND på nätverksadressen igen.Beräkning av det högsta möjliga antalet värdar i ett undernät:
För att hitta det maximala antalet värdar, titta på antalet binära bitar i värdnumret ovan. Det enklaste sättet att göra detta är att subtrahera nätmaskens längd från 32 (antalet bitar i en IPv4-adress). Detta ger dig antalet värdbitar i adressen. Vid den tidpunkten...
Maximalt antal värdar = 2**(32 - netmask_length) - 2
Anledningen till att vi subtraherar 2 ovan är att värdnumren all-ones och all-zeros är reserverade. All-zeros host number är nätverksnumret, all-ones host number är sändningsadressen.
Med exemplet undernät 128.42.0.0.0/21 ovan är antalet värdar...
Maximalt antal värdar = 2**(32 - 21) - 2 = 2048 - 2 = 2046
Hitta den maximala nätmask (minimala värdmask) som innehåller två IP-adresser:
Anta att någon ger oss två IP-adresser och förväntar sig att vi ska hitta den längsta nätmask som innehåller båda adresserna:
Det enklaste är att omvandla båda till binär form och leta efter den längsta strängen av nätverksbitar från adressens vänstra sida.
I det här fallet skulle den maximala nätmask (minimala värdmask) vara /25.
OBS: Om du försöker börja från höger, låt dig inte luras bara för att du hittar en matchande kolumn med bitar; det kan finnas oöverensstämmande bitar bortom dessa matchande bitar. Ärligt talat är det säkraste att börja från vänster sida.
Svaret ovan träffar spiken på huvudet perfekt. Men när jag började, krävdes det några olika exempel från olika källor för att det verkligen skulle slå in. Om du är intresserad av andra exempel har jag därför skrivit några blogginlägg i ämnet - http://www.oznetnerd.com/category/subnetting/.
Admins, om det här inlägget betraktas som spam får ni gärna radera det.
Edit: Enligt YLearn's förslag ska jag försöka ta med relevanta delar från del 1 av min serie, utan att klistra in hela inlägget här.
Låt oss använda 195.70.16.159/30 som exempel.
Eftersom det är en /30 vet vi att värddelen kommer att finnas i den fjärde oktetten. Låt oss omvandla det till binär:
För att ta reda på nätverksadressen är allt vi gör nu att lägga ihop de SN-bitar som har en 1 under sig. (128 + 16 + 8 + 4 = 156).
När du lägger till denna 156 till de tre första okteterna i adressen får vi nätverksadress 195.70.16.156.
Eftersom vi vet att den första användbara adressen alltid är nätverksadressen plus ett behöver vi bara göra följande beräkning: (156 + 1 = 157).
Detta ger oss en första användbara adress på 195.70.16.157.
Låt oss nu hoppa över Last Usable Address för ett ögonblick och hitta Broadcast Address. För att ta reda på vad den är behöver vi bara lägga ihop alla H-bitar (oavsett om de är 1 eller 0) och sedan lägga till detta tal till nätverksadressen. (2 + 1 + 156 = 159).
Detta ger oss en Broadcast Address på 195.70.16.159.
Och slutligen, låt oss räkna ut den sista användbara adressen. Den här processen liknar den att hitta den första användbara adressen, men i stället för att lägga till ett till nätverksadressen drar vi faktiskt av ett från Broadcast Address. (159 - 1 = 158).
Detta ger oss en Sista användbara adressen på 195.70.16.158.
Och där har vi den! Vår temaplate är klar. För att underlätta referensen är den här igen:
Som en genväg kan du också använda den här formeln. Den fungerar för delnät av alla storlekar:
Exempel:
IP: 128.42.5.4
Binärt: 10000000 00101010 00000101 00000101 00000100
Undernät: 255.255.255.248.0
Hur kan du bestämma prefix-, nätverks-, undernäts- och värdnummer?