Grunder om IPv4

Varje nätverksenhet i ett nätverk måste ha en unik identifikation, en unik IP adress.

Bild 1: 2 adresser i en IP adress

Under en kommunikationsprocess identifieras paket i nätverksskiktet med hjälp av (avsändare) source och destinations (mottagare) adresser. IP adresser kallas också L3 adresser eftersom de hör samman i nätverksskiktet, skikt/lager 3 i OSI modellen. L3 adresser används i ett nätverk som binära tal, men representeras i decimalt format så att vi människor kan förstå och hantera dem.

En IPv4 adress består av 32 bitar och omfattar två adresser: en som adresserar ett nätverk (Network ID) och en som adresserar nätverksenheten i det nätverket (Host ID). De 32 bitar grupperas i fyra grupper av 8 bitar som kallas ofta oktett. Från vänster till höger har de en bestämd position: första oktett, andra oktett, tredje oktett, och fjärde oktett.

Varje grupp/byte/oktett omfattar decimala värden från 0 till 255 som i binär betecknas 0000 0000 till 1111 1111. Vidare kan man säga att det inte är möjligt att ha ett högre värde än 255 i något oktett som en IPv4 adress består av.

Till exempel adressen: 10101100.00010000.00000100.00010100 motsvarar 172.16.4.20. I denna adress representeras nätverket med de tre första oktett 172.16.4. och dator med sista oktetten i 172.16.4.20. Antal bitar som används i nätverksadressen avgör antal nätverk samt antal datorer per nätverk.

Till exempel, om vi behöver ha minst 200 datorer i ett visst nätverk använder vi 8 bitar eftersom 2^8=256 (från 0 till 255). Det innebär att nätverksadressen kommer att bestå av 24 bitar (24 + 8 = 32). Med 24 bitar kan genereras flera nätverksadresser.

Adresstyper

Det finns fyra huvudtyper av IPv4 adresser: nätverksadress, host-adress, broadcast-adress och multicast-adresser. Den sista nämnde adresstyp är utanför kursens innehåll.

Bild 2: Olika IP adresser
  • Nätverksadressen är ett standardiserat sätt att hänvisa till ett nätverk. Till exempel kan vi referera till det nätverk som visas i figuren till höger som ” 10.0.0.0 nätverket”. Alla datorer i nätverket 10.0.0.0 kommer att ha samma nätverksadress.
  • Broadcast-adress används för kommunikation som inkluderar alla datorer i ett specifikt nätverk. Om ett nätverk består av flera delnät kommer varje delnät att ha en egen broadcastadress.
  • Host-adress identifierar datorer i ett nätverk. Varje nätverksenhet identifieras med en unik hostadress.

Nätmask (subnet mask) eller nätverksprefix

En IP adress representerar två adresser, nätverksadress och hostadress. Hur identifieras dessa två adresser? Alla bitar till vänster i en IPv4 adress representerar nätverksadressen och resten till höger representerar hostadresser. För att identifiera nätverksadressen brukar användas ett nätmask (på engelska subnet mask) eller  prefix

Nätmasken markerar alla bitar i nätverksadressen med ettor. Host-addresen 172.16.20.10 med nätmask 255.255.255.0 indikerar 24 bitar nätverksbitar och 8 hostbitar. Samma adress kan betecknas som 172.16.4.10 /24 där /24 är prefixen som indikerar att 24 bitar användas för nätverksadressen och 8 bitar för hostadressen.

Nätmasken kan också betecknas binärt så här 11111111.11111111.11111111.00000000 eller decimalt 255.255.255.0

IPv4 adress-struktur

Historiskt grupperades IPv4 adresser i specifika storlekar som kallades ”klasser”. Detta dokumenterades i RFC1700 som klass A, B, C, D, och E adresser. Denna gruppering kallas också CLASSFUL adressering. Grupperingen görs genom att definiera endast den första oktetten i en IPv4 adress, till exempel 172.16.20.20 är en klass B adress

En IPv4 adress består av 32 bitar och representerar egentligen två adresser: en adress för ett nätverk och en adress för dator i nätverket. I denna kurs betecknar dessa två adresser som N (network ID) och H (network ID).

Med 32 bitar kan man skapa  4 294 967 296 IPv4 adresser (2^32), det vill säga ca. 4,3 miljarder. Rätt många IPv4 adresser som struktureras i klasser A, B, C, D och E. Tanken med denna struktur är företagets/organisationers nätverksstorlek, klass A för stora, klass B för mellanstora och C för små. Klasserna D och E har mer tekniska syfte. Första oktett till vänster identifierar klasserna.

Klass A

Bild 3: IPv4 klassadresser

Klass A använder 8 bitar för att adressera nätverk och 24 för att adressera datorer i ett nätverk (8 + 24 = 32). Den första biten i det första oktett till vänster är uppsatt till 0 (noll) vilket innebär att 7 bitar används för att koda adresserna. 8 – 1 = 7 då 27 = 128 nätverksadresser, men den första och den sista adresser får inte användas därav resulterar det totala nätverksadresser i klass A 126, från 1 till 126.

0000 0000 till 0111 1111 dvs. 0 till 127 där 0 och 127 är reserverade till andra ändamål.

224 = 16 777 216 – 2 =  16 777 214 datoradresser per nätverk. Här ska man dra av två adresser (nätverksadress och broadcast adress)

Klass B

Klass B använder 16 bitar för att adressera nätverk och 16 för att adressera datorer i ett nätverk (16 + 16 = 32). De två första biten i det första oktett till vänster är uppsatt till 10 (ett och noll) vilket innebär att 14 bitar används för att koda nätverksadresserna. 16 – 2 = 14 då 214 = 16 384 nätverksadresser. Endast på första oktett kan man få fram följande kombinationer:

1000 0000 till 1011 1111 dvs. 128 till 191

2^16 = 65 536  – 2 = 65 534 datoradresser per nätverk. Här ska man dra av två adresser (nätverksadress och broadcast adress).

Klass C

Klass C använder 24 bitar för att adressera nätverk och 8 för att adressera datorer i ett nätverk (24 + 8 = 32). De tre första biten i det första oktett till vänster är uppsatt till 110 (ett ett och noll) vilket innebär att 21 bitar används för att koda nätverksadresserna.

24 – 3 = 21 då 221 = 2 097 152 nätverksadresser. Endast på första oktett kan man få fram följande kombinationer:

1100 0000 till 1101 1111 dvs. 192 till 223

2^8 = 256  – 2 = 254 datoradresser per nätverk. Här ska man dra av två adresser (nätverksadress och broadcast adress).

IPv4 adressintervall

Med ca. 4,3 miljarder IPv4 adresser hur hittar man gränsningar i adressintervallet? Låt oss säga att vi har två nätverksadresser: 200.16.18.0 /24 och 200.16.19.0 /24

  • Adresserna är med i klass C (192 till 223)
  • /24 indikerar att de 3 första oktett har tilldelats till nätverksadressen och resten till host-adresser
  • /24 heter prefix och kan också skrivas som 255.255.255.0
  • Adressintervallet börjar 200.16.18.0 och därefter 200.16.18.1, 200.16.18.2 och slutar 200.16.18.253, 200,16,18,254 och slutligen 200.16.18.255
  • Den första adressen i intervallet är nätverksadressen, det vill säga 200.16.18.0
  • Den sista adressen i intervallet är broadcast-adressen, det vill säga 200.16.18.255
  • Den första adressen efter nätverksadressen är den första giltiga host-adress, det vill säga 200.16.18.1
  • Den andra host-adressen är 200.16.18.2 och så vidare fram till 200.16.18.254

Begränsningar i klassbaserade adresseringssystem

Classful adressering slösar ofta bort många adresser exempelvis om ett företag med 260 hostar tilldelas en klass B adress (65000 adresser). Även om classful adresseringssystemet övergavs i slutet av 1990 fortfarande finns idag nätverk adresserad i classful format. Faktum är att dagens datorers operativsystem kräver en IP adress och undersöker om denna är klass A, B eller C. Detta för att sedan räkna upp nätverksprefixen i sin default form (A 255.0.0.0, B 255.255.0.0, C 255.255.255.0). Till detta kan tilläggas att även dagens routrar hanterar fortfarande idag sina routing-tabeller i enlighet med classful adresseringssystem.

Ett alternativ till classful adressering är classless adressering. Classless adresseringssystem baseras på antal hostar i ett nätverk medan classful baseras på antal delnät.

Publika och privata IP adresser

Varje dator i ett nätverk, till exempel Internet, ska ha en IP adress. Det finns så många datorer och liknande maskiner på Internet så att antal IPv4 adresser inte räcker till alla. Som en av flera andra lösningar till detta använder vi Privata adresser. Dessa adresser är egentligen inte giltiga för Internet och därför används dem i isolerade/privata nätverk.

Följande IPv4 adressblock är privata:

10.0.0.0 till 10.255.255.255 (10.0.0.0 /8)
172.16.0.0 till 172.31.255.255 (172.16.0.0 /12)
192.168.0.0 till 192.168.255.255 (192.168.0.0 /16)

Lokala nätverk oftast konfigureras med privata IPv4 adresser, inklusive samma privata adresser används för flera nätverk utan att detta orsakar någon konflikt. Men inom varje nätverk ska de privata IPv4 vara unika. Privata IPv4 adresser kan tillåtas på Internet via en NAT server.

Bild 4: Privata IP adresser och NAT

Network Address Translation (NAT)

Network Address Translation översätter privata adresser till publika IP adresser. NAT tillåter hostarna i nätverket att ”låna” en publik adress för att kommunicera med externa nätverk. Även om det finns vissa begränsningar och prestandaproblem med NAT fungerar de flesta applikationer och tjänster utan märkbara problem.

IPv4 konfigurering

IP adresser och kompletterande konfigurationer av parametrar kan tilldelas antingen statiskt eller automatiskt.

Statiskt IPv4 konfigurering

Med en statisk adresstilldelning måste nätverksadministratören manuellt konfigurera nätverksinformationen för varje dator i ett nätverk. IP adress är datorns IP (hostadress), subnet mask talar om antal bitar nätverksadressen består av, i exemplet 24 bitar. Default gateway är routerns IP adress.

Bild 5: IP konfigurering

Ett vanligt fel är att ställa in fel IP adress för Default Gateway. När detta inträffar hittar dator inte utvägen till Internet vilket innebär att datorn kan inte kommunicera utanför sitt eget nätverk.

De flesta företagsnätverk konfigureras datorer och liknande maskiner med en automatisk adresstilldelning via en DHCP server.

Dynamiskt IPv4 konfigurering

DHCP möjliggör automatisk adresstilldelning samt andra IP information såsom nätmask, default gateway och andra liknande konfigurationer. DHCP server kräver tillgång till ett block av adresser som kallas för adresspool. Adresser som tilldelats från denna pool bör planeras så att de fyller i adresseringskrav för alla nätverksenheter.

Bild 6: Dynamisk IP tilldelning

DHCP är vanligtvis den bästa metoden för att tilldela IP-adresser till datorer i stora nätverk, eftersom det minskar belastningen på personalen och eliminerar inmatningsfel.
En annan fördel med DHCP är att en adress inte är permanent tilldelad till en host utan bara ”lånad” under en tid. Om datorn är avstängd eller tas bort från nätverket returneras adressen till poolen för återanvändning. Den här funktionen är särskilt användbart för mobila användare som kommer och går i ett nätverk.

Statiska adresser har vissa fördelar jämfört med dynamiska adresser. Till exempel de är användbara för skrivare, servrar och andra nätverksenheter som måste vara tillgängliga för klienter i nätverket. Statiska adresser är lämpliga endast i vissa fall, annars konfigurationer av sådana adresser kan det vara tidskrävande. När du använder statisk adresstilldelning är det nödvändigt att ha en korrekt lista på IP-adresser som har tilldelats och därmed en lista på lediga IP adresser.