IP adresser og subnet

Bilde av JJ Ying fra Unsplash

Bilde av JJ Ying fra Unsplash

Hvis du noen gang skal skrive inn en IP-adresse må du som regel også skrive hvilken subnet maske du også skal bruke. På nyere systemer har det blitt mere vanlig de siste årene å måtte skrive inn en subnet prefiks lengde.

Mange lærer seg regelen at man skriver tallene 255.255.255.0 som subnet maske, eller 24 som subnet prefix lengde. I denne artikkelen skal jeg forsøke å forklare hva subnet maske egentlig er og hva det brukes til.

For å forstå subnet masker, må man forstå hva en IP adresse er, og hvordan man skiller nettverk fra hverandre.

IPv4 adresser

192.168.0.99

Til tross for at IPv6 har blitt tatt i bruk over store deler av verden, er det fortsatt mest vanlig å bruke IPv4 adresser på lokale private nettverk i bygninger og hjem.

Det aller mest vanlige i private hjem er IP adresser som starter på 192.168.0.X, det vil si at den første adressen på nettverket, som typisk tilhører routeren din har adressen 192.168.0.1, og alle datamaskiner, mobiltelefoner osv som kobler seg til nettverket har adresser som for eksempel er 192.168.0.10 eller 192.168.0.54.

I realiteten er en IPv4 adresse 32 bit lang, noe som gjør at det kan være 3 720 314 628 forskjellige adresse. For at det skal være lettere å lese og skrive adressen for mennesker leser vi 8 og 8 av bittene i det man kaller oktetter.

Det binære tallet 11111111 = Desimaltallet 255.

Hver del av de fire oktettene i en IP adresse kan være mellom 0 og 255. Noe som gjøre den lett å lese for oss mennesker.

IP adresse
192.168.0.99 <--- IP adresse
11000000 10101000 00000000 01100011 <-- binærtall
3 232 235 619 <--- Desimaltall

De som kom på denne måten å skrive IP-adresser på var ganske smarte. Men hvordan vet man at to datamaskiner tilhører det samme nettverk eller hører til på to forskjellige nettverk?

Subnet maske

255.255.255.0

For å å lett kunne skille mellom om en IP adresse tilhører nettverket din datamaskin er tilkoblet eller ett annet nettverk bruker man en subnet maske.

Oppgaven til denne er å fortelle hvilken del av en IP adresse som sier noe om hvilken nettverk den tilhører og hva som er datamaskinens unike adresse.

Siden nettverk i små bedrifter og hjemme hos folk ikke trenger å ha hundrevis eller tusenvis av datamaskiner på samme nettverk er det vanlig at man begrenser nettverket til å koble seg til maksimalt 256 datamaskiner eller "enheter". Derfor brukers adressene i området 192.168.0.0 til 192.168.0.255.

For å på enkelt vis vite at alle adresser som kommer utenfor dette området tilhører ett annet nettverk brukes en subnet maske som forteller at tallene som kommer i de tre første oktettene er "navnet" på nettverket, og tallene i den siste oktetten er adressen til datamaskinen på dette nettverket.

3 oktetter = 3 x 8bit = 24bit

Subnet maske
11111111 11111111 11111111 00000000 <-- binærtall for subnet maske
255.255.255.0 <-- nettverks maske skrevet i oktetter

Hvis en datamaskin har IP adressen 192.168.0.90, og har subnet masken 255.255.255.0, vet vi at hvis vi skal prøve å nå en IP adresse som starter på 192.168.0.X er denne på samme nettverk, og vi kan be nettverks switchen om å sende en datapakke til riktig adresse på samme nettverk.

Hvis adressen ikke er på samme nettverk må vi sende datapakken til en router, som sender den videre til riktig nettverk.

Subnet Prefix Lengde

192.168.0.99/24

Siden det er litt slitsomt å skrive 255.255.255.0 som subnet maske, har det blitt gradvis mere og mere vanlig å føye på antall bit som definerer subnettet bak IP adressen.

Hvis subnett masken er 255.255.255.0 vil det si at de første 24 bittene en subnett masken. På større nettverk kan det være 10-bit med adresser på nettverket. da vil det si at de 22 første bittene er subnett masken til IP adressen.

Subnet Prefix Lengde
11111111 11111111 11111100 00000000 <-- binærtall for nettverks maske
255.255.252.0                       <-- nettverks maske skrevet i oktetter
/22                                 <-- subnet prefiks lengde

I dette eksempelet kan vi ha hele 1023 adresser på samme nettverk!

Hvis vi har en IP adresse som er: 192.168.100.99 og subnet masken er 255.255.224.0, kan IP adressen skrives med CIDR (Classless Interdomain Routing) notasjon slik slik: 192.168.100.99/18

Subnet adressen er til nettverket er
11000000 10101000 01000000 0000000 = 192.168.64.0

Da kan vi vite at den første IP adressen på subnettet er:
11000000 10101000 01000000 0000001 = 192.168.64.1

Kingkastnings adressen på subnettet er
11000000 10101000 01111111 11111111 =192.168.127.255

Siste adresse på subnettet
11000000 10101000 01111111 11111110 =192.168.127.255

Det er altså 14 bit = 16383 mulig adresser på dette nettverket.

En adresse som har kun 0'er etter nettverks masken brukes som nettverks-ID eller subnet adresse. En adresse som kun har 1'er etter nettverks masken bukes til kringkastning. Så i realiteten blir antall tilgjengelige adresser på ett nettverk eller subnettet antall tilgjengelige host adresser minus 2.

Routere og Switcher

Hva er forskjellen?

Siden man kan ha veldig få eller veldig mange IP adresser på et nettverk har ikke antall porter på switchen din eller routeren din noe praktisk å si for hvor mange datamaskiner du kan koble til nettverket ditt. Avanserte nettverk kan bestå av mange nettverk, og disse nettverkene kan kobles sammen på mange forskjellige måter.

Alle enheter på ett nettverk kobles sammen med switcher. Dyre og avanserte switcher kan kobles sammen på en slik måte at de oppfører seg som en diger switch med hundrevis av porter.

For å koble ett nettverk til ett annet nettverk må vi bruke en router. En router har ofte innebygde funksjoner som brannmur og NAT.

I en bolig vil det si at alt som er på "innsiden" av en router er ditt eget lokale nettverk (LAN), og det som er på "utsiden" av routeren er internett. Subnett masken brukes til å lett skille mellom om man skal sende en datapakke til en annen datamaskin på samme nettverk eller om den skal til en server på internett.

For å lære mer om hvordan en router og en switch fungerer kan du lese denne artikkelen.