För att kunna bygga och förstå datornätverk är det nödvändigt att ha goda kunskaper i hur adressering fungerar. En dator, en router eller vilken nätverksenhet som helst måste ha en unik adress för att kunna kommunicera. På Internet används i huvudsak IPv4 och IPv6, men i denna modul fokuserar vi på IPv4-adressering.
IPv4 har funnits sedan 1980-talet och består av 32 bitar, vilket ger drygt 4 miljarder möjliga adresser. Trots att detta från början verkade räcka långt, har den enorma tillväxten av Internet lett till att IPv4-adresser idag är en bristvara. Därför används metoder som NAT (Network Address Translation) för att återanvända privata adresser, och utvecklingen av IPv6 har blivit nödvändig för framtiden.
IPv4 adressens struktur
En IPv4-adress är 32 bitar lång. Den är hierarkisk och består av en nätverksdel och en host-del (host).

Alla enheter i samma nätverk måste ha identiska bitar i nätverksdelen, medan host-delen måste vara unik för att identifiera varje enhet. Om två enheter har samma nätverksdel tillhör de samma nätverk.
Men hur vet en dator vilken del av adressen som är nätverk och vilken som är host?
Det är subnetmaskens uppgift. Subnetmasken kan också betecknas som prefix och nätverksadresser identifieras med matematiken logiska AND.
Subnetmask
För att tilldela en IPv4-adress till en host behövs två parametrar:
- IPv4-adressen (unik för hosten)
- Subnetmasken (avgör nätverksdel och host-del)
En subnetmask består av en följd av ettor (nätverksdel) följt av nollor (host-del). Genom att jämföra adressen med masken bit för bit avgörs nätverksadressen.

Subnetmasken innehåller alltså inte själva nätverksadressen, utan visar var gränsen går mellan nätverk och host. En IPv4-adress hör alltid ihop med en subnetmask, eftersom nätmasken talar om vilken del av adressen som är nätverk och vilken del som är host.

Processen att identifiera nätverksdelen med hjälp av subnetmasken kallas ANDing.
Obs: En default gateway krävs för att nå andra nätverk, och DNS-adresser behövs för att översätta domännamn.
Prefixlängd
Att skriva subnetmasken i dotted decimal kan vara opraktiskt. Därför används prefixlängden. Det anger hur många ettor som finns i masken och skrivs med ett snedstreck.
Exempel: Exempel: 192.168.10.10 255.255.255.0 skrivs som 192.168.10.10/24.
| Subnetmask | Binär representation | Prefix |
|---|---|---|
| 255.0.0.0 | 11111111 00000000 00000000 00000000 | /8 |
| 255.255.0.0 | 11111111 11111111 00000000 00000000 | /16 |
| 255.255.255.0 | 11111111 11111111 11111111 00000000 | /24 |
| 255.255.255.128 | 11111111 11111111 11111111 10000000 | /25 |
| 255.255.255.192 | 11111111 11111111 11111111 11000000 | /26 |
| 255.255.255.224 | 11111111 11111111 11111111 11100000 | /27 |
| 255.255.255.240 | 11111111 11111111 11111111 11110000 | /28 |
| 255.255.255.248 | 11111111 11111111 11111111 11111000 | /29 |
| 255.255.255.252 | 11111111 11111111 11111111 11111100 | /30 |
Logisk AND
En logisk AND används för att hitta nätverksadressen. Regeln är enkel:
- 1 AND 1 = 1
- 0 AND 1 = 0
- 1 AND 0 = 0
- 0 AND 0 = 0
Exempel: Du "multiplicerar" IPv4 adressen med dess subnetmask, resultatet blir nätverksadressen.
- IPv4-adress: 192.168.10.10
- Subnetmask: 255.255.255.0 (/24)
- Resultat: 192.168.10.0/24 - Detta visar datorn vilket nätverk den tillhör.

Nätverks-, host- och broadcast-adresser
I varje nätverk finns tre typer av adresser:
- Nätverksadress – representerar själva nätverket. Alla host-bitar är noll. Kan inte tilldelas en enhet. I nätverket 192.168.10.0/24 kan hostar adresseras från 192.168.10.1 till 192.168.10.254. Den första host-adressen är alltså 192.168.10.1 och den sista är 192.168.10.254.
- 192.168.10.0/24 = 1100 0000.1010 1000.0000 1010.0000 0000
- 192.168.10.1/24 = 1100 0000.1010 1000.0000 1010.0000 0001
- 192.168.10.254/24 = 1100 0000.1010 1000.0000 1010.1111 1110
- 192.168.10.255/24 = 1100 0000.1010 1000.0000 1010.1111 1111
- Host-adresser – adresser som tilldelas datorer, skrivare, routrar osv. Måste vara unika och kan inte vara alla nollor eller alla ettor.
- Broadcast-adress – används för att nå alla hostar i nätverket. Alla host-bitar är ettor. Kan inte tilldelas en enhet. I exemplet nedan ser man nätverksadressen och host-adresser. Broadcast-adress: 192.168.10.255

IPv4 Kommunikationssätt
Unicast
Från en avsändare till en mottagare. Vanligast i Internettrafik, t.ex. webbtrafik.

Broadcast
Från en avsändare till alla mottagare i samma nät. Till exempel 172.16.4.1/24 skickar en ARP förfråga till alla hostar i det lokala nätverket.

Broadcast-paket belastar nätverket eftersom alla enheter i samma nät måste ta emot och behandla dem. Om det finns för mycket broadcast-trafik kan det leda till försämrad prestanda både för nätverket som helhet och för enskilda enheter. Därför är det viktigt att hålla mängden broadcast-trafik på en rimlig nivå.
Routrar hjälper till att begränsa detta eftersom de avgränsar broadcast-domäner. Genom att dela upp ett stort nätverk i flera mindre kan man alltså minska mängden onödig broadcast-trafik och på så sätt förbättra nätverkets effektivitet.
Directed broadcast
Förutom den globala broadcast-adressen 255.255.255.255 har varje nätverk också en egen broadcast-adress. Den kallas directed broadcast och är den högsta adressen i nätverket, det vill säga den adress där alla host-bitar är satta till 1.
Exempel: I nätverket 192.168.1.0/24 är broadcast-adressen 192.168.1.255. Om en host skickar ett paket till den adressen når paketet alla enheter i det nätverket.
Om paketet skickas från ett annat nät fungerar det så här:
- Paketet skickas vidare av routrar som ett vanligt unicast-paket, riktat mot det nätverket.
- När det slutligen når en router som är direkt ansluten till destinations nätverket, då omvandlas det till ett broadcast och skickas ut till alla enheter i nätet.
Säkerhetsaspekter
Historiskt har directed broadcast missbrukats av angripare, bland annat i olika typer av DoS-attacker. Av den anledningen är funktionen avstängd som standard i Cisco IOS sedan version 12.0. Detta styrs av kommandot:
no ip directed-broadcast
Multicast
Multicast används när en avsändare ska skicka trafik till en särskild grupp mottagare. Multicast-adresser finns i intervallet 224.0.0.0 till 239.255.255.255.
Exempel: videokonferenser, IPTV eller realtidsströmning, där flera användare, men inte alla, vill ta emot samma data samtidigt.
