Deltakere: Joar Krohn Mauseth og Vegard Flovikholm Farstad
1. Innledning
Vi befinner oss på nettverkslaget, og protokollen vi omtaler er Internet Protocol (IP). Vi skal i denne rapporten ta for oss adresseområdet for Internet Protocol version 4 (IPv4). IPv4 ble spesifisert i RFC 791 i 1981, og var den første IP-versjonen som oppnådde en særlig grad av omfang, verden rundt.
2. Ønsket funksjonalitet
Med IP adresser ønsker man å kunne adressere IP-nett og enhetene de omfatter. RIPE NCC melder om at de har begynt å dele ut den siste /8-delen av IPv4 adressene. Dvs de siste 2^24 (<16 mil) adressene. Veksten av enheter tilkoblet Internett har spist opp tilgjengelige IPv4 adresser. Som bøtemiddel på dette problemet har IPv6 og NAT kommet på banen. Du kan lese mer om IPv6-adressering her.
3. Virkemåte
Oppdeling og struktur
Maskering
En IPv4 adresse er delt opp i fire blokker á 8 bits. Det er vanlig å presentere adressen med punktumseparerte desimalverdier for hver av disse blokkene. For eksempel er 192.168.1.1 en gyldig IPv4 adresse. Denne adressen kunne også blitt presentert som C0:A8:01:01 heksadesimalt eller 11000000.10101000.00000001.00000001 binært.
Adressen består av to deler: nettadresse og nodeadresse. For å definere skillet mellom disse delene har man en nettmaske. Når man maskerer IP adressen med nettmasken, finner man nettadressen. Hvis man inverterer nettmasken, så maskerer IP adressen, finner man nodeadressen. Dette er enkle operasjoner for en datamaskin som gjør datamaskinen i stand til å avgjøre om en pakke kan sendes innenfor samme IP-nett, eller må gå via ruter for å sendes til et annet IP-nett.
I pakkeheaderen til en IPv4 pakke er det satt av 32 bits til en adresse. Dette gir et adresserom på 2^32 (<4 mrd) ulike adresser. Hele adresserommet er delt inn i flere mindre adresserom. Under følger en tabell over reserverte adresseområder og hva de er reservert for.
CIDR adresseblokk | Beskrivelse |
0.0.0.0/8 | Lokalt nettverk (kun gyldig som kildeadresse) |
10.0.0.0/8 | Privat nettverk |
14.0.0.0/8 | Offentlig datanettverk |
39.0.0.0/8 | Reservert |
127.0.0.0/8 | Lokalt nettverk |
128.0.0.0/16 | Reservert (IANA) |
169.254.0.0/16 | Uten konfigurasjon |
172.16.0.0/12 | Privat nettverk |
191.255.0.0/16 | Reservert (IANA) |
192.0.0.0/24 | Reservert protkolltilordninger |
192.0.2.0/24 | Dokumentasjon og eksempelkode |
192.88.99.0/24 | IPv6 til IPv4 omlegging |
192.168.0.0/16 | Privat nettverk |
198.18.0.0/15 | Ytelsestesting av nettverk |
223.255.255.0/24 | Reservert |
224.0.0.0/4 | Multicast (tidligere Klasse D nettverket) |
240.0.0.0/4 | Reservert (tidligere Klasse E nettverket) |
255.255.255.255 | Lokal kringkasting (broadcast) |
Administrasjon av adresseområder
Internet Assigned Numbers Authority (IANA) har hovedansvaret for administrasjon av IPv4 og IPv6 adresser, men av praktiske årsaker delegerer de ansvar til totalt 5 regionale internettregistrarer (RIR), som samlet dekker hele verden. Kartet under viser hvilke RIR som har ansvar for administrasjon av adresseblokker i hvilket område.
Diagrammet under viser en hierarkisk fremstilling av ansvarsområdene til IANA og de ulike RIR og ISP.
Registrarene deler ut adresseområder/-blokker. Et slikt adresseområde kan være 192.169.0.0/23. Én enkel adresse er Dette adresseområdet rommer adresser fra 192.169.0.0 - 192.169.1.255, altså totalt 512 adresser. Hva er denne “/”-notasjonen og hvordan vi kom fram til adresseområdet, spør du kanskje?
/23 betyr at nettmasken inneholder 23 1-ere. Det vil si at 23 av 32 bits er satt av til nettadressen. Det er derfor 9 bits igjen til nodeadresser. Antall nodeadresser innenfor adresseblokken er altså 2⁹=512 adresser. Adressene som ligger innenfor adresseområdet 192.169.0.0/23 finner vi i intervallet [192.169.0.0, 192.169.1.255].
Vi tar for oss et eksempel hvor vi tenker vår datamaskin har IP adressen 192.168.0.14 og vi skal sende en pakke til adressene 192.168.x.x, 192.169.x.x og 192.170.x.x, hvor 0x255 Nettmasken er på 15-bits, så maskinen vår faller innenfor adresseblokken 192.168.0.0/15. Legg merke til at dette adresseområdet overlapper private og offentlige IP-adresser, og ikke er et gyldig adresseområde. Det gir likevel en forklaring på hvordan masking avslører at en adresse ligger utenfor et gitt adresseområde.
Adresseområde: 192.168.0.0/15
Maske 15 bits -> 255.254.0.0
Vi fokuserer kun på byte nummer 2.
168: 10101000
169: 10101001
170: 10101010
Maske: 11111110
Etter maskering mot | resultat
168 | 10101000
169 | 10101000
170 | 10101010
Vi ser at resultatet (nettadressen) blir ulik når vi forsøker å maskere mot 170.
Adresser som følger formen 192.170.x.x er altså adresser som tilhører et
eksternt IP-nett. Når vår maskin skal sende til disse adressene, vet den at den må overlate pakken til standard gateway for videresending til rett IP-nett.