IPv4
IPv4-protokollen har røtter tilbake til starten på 1980-tallet og ARPANET, som er forgjengeren til dagens internett. I dag er IPv4 og IPv6, som er en nyere og mer omfattende standard, de mest utbredte standardene for adressering av datapakker i lokalnettverk og over internett. IP-protokollene er på lag 3, altså nettverkslaget, i TCP/IP-modellen.
Utformingen av IPv4-adresser
En IPv4-adresse er 32 bit lang (enere og nuller). Dette gir 4,29 milliarder unike IP-adresser. Et eksempel på en slik IP-adresse er 10010000000110110111100111110011
For at IP-adresser skal være mer leservennlige for oss mennesker, er det vanlig å dele dem opp i seksjoner på åtte bit (oktetter) og etterpå gjøre om til titallsystemet. I seksjoner kan en slik adresse se slik ut:
10010000.00011011.01111001.11110011
Seksjonene blir så omgjort til titallsystemet:
144.27.121.243
Åtte bit kan brukes for å beskrive alle verdier mellom 0 og 255 i titallsystemet. Dette vil si at hver seksjon (oktett) i en IP-adresse ikke kan ha høyere verdier enn 255.
Nettverksdel og vertsdel av IPv4-adresse
IP-adresser består av en nettverksdel (network) og en vertsdel (host). Nettverksdelen av IP-adressen identifiserer hvilket nettverk datapakken skal til, og vertsdelen identifiserer enheten i nettverket som datapakken kommer fra eller skal til.
Subnettmaske
Subnettmasken beskriver hvor mange bit av IPv4-adressen som brukes for å beskrive nettverksdelen av adressen. Subnettmasker har variabel lengde og er 32 bit.
Subnettmasker er som IP-adressen originalt i binært, men for leservennlighetens skyld blir de som oftest oppgitt i desimalform (for eksempel 255.255.0.0
) eller med CIDR-notasjon (for eksempel /16
). CIDR-notasjon teller antallet bit som er aktive, altså antall bit som er satt til 1
i subnettmasken.
Subnettmaske brukes i hvert nettverk for å definere størrelsen og omfanget av det nettverket. Internett har en hierarkisk struktur hvor de forskjellige nettverkene har undernettverk (subnet) og disse igjen ofte også har undernettverk under seg igjen. Subnettmasken hjelper hvert nettverk å vite hvor i hierarkiet det er plassert.
Datapakker merkes ikke med subnettmaske, men datapakken vurderes opp mot hvert enkelt nettverks subnettmaske etter hvert som datapakken flytter seg oppover i hierarkiet og i retning av mottakeren.
Eksempel på subnettmaskeutregning
Enheter i nettverk og rutere som er mellom nettverk må vurdere om en IP-adresse er del av det lokale nettverket eller om den må oppover i hierarkiet. Et eksempel på dette kan være at en datamaskin med IP-adresse 192.168.1.33
og subnettmaske 255.255.255.0
ønsker å sende en datapakke til 192.168.4.11
.
Må datapakken sendes ut via ruter, eller er mottakeren internt i det lokale subnettverket? For å finne ut dette er det lurt å sette opp en tabell som den under. Den trenger IP-adressen til avsenderen, subnettmasken i nettverket og IP-adressen til mottakeren. Gjør om verdiene fra desimaltall til binært.
Desimaltall | Binært | |
---|---|---|
IP-adresse avsender | 192.168.1.33 | 11000000.10101000.00000001.00100001 |
Subnettmaske | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
IP-adresse mottaker | 192.168.1.11 | 11000000.10101000.00000001.00001011 |
Subnettmasker er alltid en rad av binære 1
-tall og en hard overgang til binære 0
-tall. Overgangen viser hvor skillet mellom nettverksdel og vertsdel av IP-adressen skal være. I eksempelet over er de første 24 bitene aktive (har verdien 1
) Derfor kan vi også kalle det et /24
-nettverk. De første 24 bitene er dermed nettverksdel av adressen, og de siste 8 bitene er vertsdel.
Hvis nettverksdelen av IP-adressen for avsenderen og mottakeren er lik (som i eksempelet over), betyr det at datapakken skal sendes internt i et nettverk. Er den ulik (som i eksempelet rett under), betyr det at datapakken skal til en adresse utenfor det lokale subnettet eller adressesegmentet, og den må derfor sendes ut av nettverket via ruter for å komme fram til mottakeren.
Desimaltall | Binært | |
---|---|---|
IP-adresse avsender | 192.168.1.33 | 11000000.10101000.00000001.00100001 |
Subnettmaske | 255.255.255.0 | 11111111.11111111.11111111.00000000 |
IP-adresse mottaker | 192.168.4.11 | 11000000.10101000.00000100.00001011 |
Liste over IPv4-subnettmasker
Listen under viser alle gyldige subnettmasker for IPv4. De største IPv4-blokkene vi har i praksis, er /8
.
Subnettmaske i binærform | Titallsystem | CIDR |
---|---|---|
10000000.00000000.00000000.00000000 | 128.0.0.0 | /1 |
11000000.00000000.00000000.00000000 | 192.0.0.0 | /2 |
11100000.00000000.00000000.00000000 | 224.0.0.0 | /3 |
11110000.00000000.00000000.00000000 | 240.0.0.0 | /4 |
11111000.00000000.00000000.00000000 | 248.0.0.0 | /5 |
11111100.00000000.00000000.00000000 | 252.0.0.0 | /6 |
11111110.00000000.00000000.00000000 | 254.0.0.0 | /7 |
11111111.00000000.00000000.00000000 | 255.0.0.0 | /8 |
11111111.10000000.00000000.00000000 | 255.128.0.0 | /9 |
11111111.11000000.00000000.00000000 | 255.192.0.0 | /10 |
11111111.11100000.00000000.00000000 | 255.224.0.0 | /11 |
11111111.11110000.00000000.00000000 | 255.240.0.0 | /12 |
11111111.11111000.00000000.00000000 | 255.248.0.0 | /13 |
11111111.11111100.00000000.00000000 | 255.252.0.0 | /14 |
11111111.11111110.00000000.00000000 | 255.254.0.0 | /15 |
11111111.11111111.00000000.00000000 | 255.255.0.0 | /16 |
11111111.11111111.10000000.00000000 | 255.255.128.0 | /17 |
11111111.11111111.11000000.00000000 | 255.255.192.0 | /18 |
11111111.11111111.11100000.00000000 | 255.255.224.0 | /19 |
11111111.11111111.11110000.00000000 | 255.255.240.0 | /20 |
11111111.11111111.11111000.00000000 | 255.255.248.0 | /21 |
11111111.11111111.11111100.00000000 | 255.255.252.0 | /22 |
11111111.11111111.11111110.00000000 | 255.255.254.0 | /23 |
11111111.11111111.11111111.00000000 | 255.255.255.0 | /24 |
11111111.11111111.11111111.10000000 | 255.255.255.128 | /25 |
11111111.11111111.11111111.11000000 | 255.255.255.192 | /26 |
11111111.11111111.11111111.11100000 | 255.255.255.224 | /27 |
11111111.11111111.11111111.11110000 | 255.255.255.240 | /28 |
11111111.11111111.11111111.11111000 | 255.255.255.248 | /29 |
11111111.11111111.11111111.11111100 | 255.255.255.252 | /30 |
11111111.11111111.11111111.11111110 | 255.255.255.254 | /31 |