Redigerer
IPv4
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
{{IPstakk}} '''IPv4''' (''Internet Protocol version 4'') er versjon 4 av [[Internet Protocol|Internett-protokollen]] og var den første versjonen som oppnådde vidstrakt bruk.{{tr}} IPv4 opererer på nettverkslaget i OSI-modellen for [[datanett]] og er en ''forbindelsesløs'' og ''upålitelig'' pakkeleveringstjeneste. IPv4 er spesifisert i [[IETF]] RFC 791, som ble publisert i september 1981. IPv4 bruker 32-bit adresser, som begrenser antall unike adresser til 4 294 967 296. En del av disse adressene er reservert for spesielle formål{{tr}} som lokale nettverk eller multicast-adresser, noe som reduserer antall adresser som kan tildeles vanlig bruk. Etterhvert har store deler av de tilgjengelige adressene blitt delt ut til ulike organisasjoner, og det har ført til en mangel på IP-adresser. Mangelen på adresser er noe av motivasjonen bak neste versjon av IP protokollen, [[IPv6]]. ==Adressering== ===IPv4-adresserepresentasjoner=== IPv4-adresser skrives vanligvis i ''dotted decimal'' notasjon. Her er et eksempel: {{mono|1=207.142.131.235}}. Det er også mulig å uttrykke adressene på følgende måter: {| |- | Dotted Decimal (normal) || {{mono|1=207.142.131.235}} |- | Dotted Hexadecimal || {{mono|1=0xCF.0x8E.0x83.0xEB}} |- | Dotted Octal || {{mono|1=0317.0216.0203.0353}} |- | Decimal || {{mono|1=3482223595}} |- | Hexadecimal || {{mono|1=0xCF8E83EB}} |} ===Allokering=== Opprinnelig var IP-adressene delt inn i to deler: * Nettverks-id – første [[oktett (data)|oktett]] * Host-id – siste tre oktetter. Dette ga en øvre grense på 256 nettverk og førte til opprettelsen av nettklasser. Med klasseinndelinger opprettet man fem klasser (A, B, C, D og E) hvor tre ble opprettet med forskjellige inndelinger av antallet nettverk og hoster; få nettverk med mange adresser til mange nettverk med få host-adresser. Klasse D var for [[multicast]] og klasse E er reservert. Rundt 1993 ble nettklassene erstattet av [[Classless Inter-Domain Routing]] (CIDR). CIDR sin fordel var kunne dele opp nettverk slik at en organisasjon kunne dele ut IP-adressene videre (for eksempel en [[internettleverandør]] kan dele ut IP-adresser videre til en kunde). Den faktiske tildelingen av en adresse er ikke tilfeldig. Det grunnleggende prinsippet bak [[ruting]] er at en adresse innehar en koding av en enhets posisjon innenfor et nettverk. Dette innebærer at en adresse som er tildelt en del av et nettverk ikke vil fungere i en annen del av nettverket. En hierarkisk struktur, laget med grunnlag i CIDR og styrt av [[Internet Assigned Numbers Authority]] (IANA) og dets [[Regional Internet Registry|regionale internettregistere]] (RIR) administrerer tildelingen av internett-adresser over hele verden. Hver RIR har en offentlig tilgjengelig søkbar [[WHOIS]] database som gir ut informasjon om en IP-adresse sin tildeling. Informasjon fra disse databasene blir hele tiden benyttet av forskjellige verktøy for kunne finne ut hvor IP-adresser tilhører geografisk. {| class="wikitable" |+ Reserverte adresseblokker |- ! [[Classless Inter-Domain Routing|CIDR]] adresseblokk || Beskrivelse || Referanse |- | 0.0.0.0/8 || Lokalt nettverk (kun gyldig som kildeadresse) || RFC 1700 |- | 10.0.0.0/8 || [[Privat nettverk]] || RFC 1918 |- | 14.0.0.0/8 || Offentlig datanettverk || RFC 1700 |- | 39.0.0.0/8 || Reservert || RFC 1797 |- | 127.0.0.0/8 || [[Localhost|Lokalt nettverk]] || RFC 3330 |- | 128.0.0.0/16 || Reservert (IANA) || RFC 3330 |- | 169.254.0.0/16 || [[Zeroconf|Uten konfigurasjon]] || RFC 3927 |- | 172.16.0.0/12 || [[Privat nettverk]] || RFC 1918 |- | 191.255.0.0/16 || Reservert (IANA) || RFC 3330 |- | 192.0.0.0/24 || || |- | 192.0.2.0/24 || Dokumentasjon og eksempelkode || RFC 3330 |- | 192.88.99.0/24 || [[IPv6]] til IPv4 omlegging || RFC 3068 |- | 192.168.0.0/16 || [[Privat nettverk]] || RFC 1918 |- | 198.18.0.0/15 || Ytelsestesting av nettverk || RFC 2544 |- | 223.255.255.0/24 || Reservert || RFC 3330 |- | 224.0.0.0/4 || [[Multicast]] (tidligere Klasse D nettverket) || RFC 3171 |- | 240.0.0.0/4 || Reservert (tidligere Klasse E nettverket) || RFC 1700 |- | 255.255.255.255 || Lokal kringkasting (broadcast) || |} ===Private nettverk=== Av over 4 milliarder adresser som er tillatt i IPv4 er det reservert fire områder for bruk kun i [[privat nettverk|private nettverk]]. Disse områdene er ikke rutbare utenfor de private nettverkene og private maskiner kan derfor ikke kommunisere direkte med offentlige nettverk. Ved hjelp av [[Network Address Translation|adresseoversetting]] kan de derimot få tilgang. Følgende fire områder er reservert for private nettverk {| class="wikitable" |- ! Navn !! IP-adresse område !! antall IP-er ! ''[[nettverksklasse|klasse]]''-beskrivelse !! største [[Classless Inter-Domain Routing|CIDR]] blokk |- | 24-bits blokk || 10.0.0.0 – 10.255.255.255 || 16 777 216 || enkel A-klasse || 10.0.0.0/8 |- | 20-bits blokk || 172.16.0.0 – 172.31.255.255 || 1 048 576 || 16 sammenhengende B-klasser || 172.16.0.0/12 |- | 16-bits blokk || 192.168.0.0 – 192.168.255.255 || 65 536 || 256 sammenhengende C-klasser || 192.168.0.0/16 |- | 16-bits blokk || 169.254.0.0 – 169.254.255.255 || 65 536 || 256 sammenhengende C-klasser || 169.254.0.0/16 |} == IPv4-hodeformat == [[Fil:IPv4_header (1).png|400px|right|Oversikt over de ulike felta i IPv4 hodet]] Som vist i figuren til høyre er det første feltet i IPv4-hodet ''version''-feltet som er på 4 bit. Dette feltet viser hvilken versjon av IP-protokollen det er snakk om. Videre følger ''Internet header length'' (IHL) som også er på 4 bit. Dette feltet inneholder lengda på IPv4-hodet i 32-bits ord. Som vist i figuren over så har IPv4 et valgfritt opsjonsfelt, ''Options''. Dette feltet kan inneholde et variabelt antall opsjoner, noe som fører til at lengda på IPv4 hodet kan variere. IHL-feltet fungerer derfor som en peker til begynnelsen av nyttelasta i ip-pakka. Minimum IPv4-hodelengde er på 20 tegn, så minimumsverdien uttrykt i 32-bits ord i IHL-feltet er 5. Hvis ''Options''-feltet benyttes, må dette omfatte kun hele 32-bits ord, så hvis kun en del av et ord benyttes, må de resterende bit fylles med 0. I RFC 791 brukes de neste 8 bit til ''Type of Service'' (ToS)-feltet. Dette feltet har blitt gjenbrukt til [[Differentiated services|Diffserv]] og [[ECN|Explicit Congestion Notification]]. Tanken med ToS-feltet var opprinnelig at avsender av pakka kunne spesifisere ønsker om hvordan pakka skulle håndteres gjennom nettverket. For eksempel kunne en avsender spesifisere et ønske om lav forsinkelse i ToS-feltet, mens en annen avsender kunne spesifisere et ønske om høy grad av pålitlighet. I praksis så har ikke ToS-feltet blitt tatt i bruk i vesentlig grad. I ''Total Length''-feltet som omfatter de neste 16-bit lagres størrelsen til hele pakka inkludert hodet og nyttelasta i 8-bit tegn. Minimum lengde på pakka er 20 tegn (kun hodet), mens maksimum er 65535. Den maksimale størrelsen en vert er påkrevd å kunne håndtere er 576 tegn, men de aller fleste moderne verter kan håndtere mye større pakker. Noen ganger kan underliggende nettverksteknologi begrense pakkestørrelsen, noe som fører til at pakka må deles opp i mindre biter, ''fragmenteres''. I IPv4 blir fragmentering enten håndtert av verten eller av en ruter. Det neste 16-bit feltet, ''Identification'', brukes til å identifisere hvert enkelt fragment av ei IP-pakke. Det har også vært foreslått å bruke Identification-feltet til andre bruksområder, som å legge til sporingsinformasjon i IP-pakker for assistere sporing av IP-pakker med forfalska avsenderadresser. Videre følger et 3-bit felt, ''Flags'', som brukes til å kontrollere og identifisere fragmenter. Hver bit har et bruksområde som i rekkefølge fra venstre mot høyre i figuren brukes til følgende: * Reservert, må være satt til 0 * Ikke fragmenter (hvis satt) * Flere fragmenter. ''Fragment Offset''-feltet er på 13-bit og tillater en mottaker å avgjøre plasseringa av et enkeltfragment i den originale IP-pakka og måles i enheter av 8-tegn store blokker. Deretter har vi et 8-bit felt, ''Time to Live'' (TTL) som brukes for å unngå at IP-pakker forblir i nettverket, for eksempel ved at det går i sirkel. Opprinnelig var TTL-feltet tenkt å begrense tida ei IP-pakke kunne oppholde seg i nettverket i antall sekunder, men det har endt opp med å bli en hoppteller. Hver ruter i nettverket reduserer TTL-feltet med 1. Når TTL-feltet når 0, så vil ikke pakka bli sendt videre, og den vil bli sletta. Videre kommer ''Protocol''-feltet der transportlagsprotokollen spesifiseres. [[Internet Assigned Numbers Authority]] administrerer ei liste over protokollnummer. Noen eksempler på vanlige protokoller og tilhørende desimale protokollnummer er: [[ICMP]] (1), [[TCP]] (6) og [[UDP]] (17). Så kommer et 16-bit felt, ''Header Checksum'' som er en sjekksum for IPv4 hodet. Noen felt (TTL) i IPv4-hodet endres for hver ruter som passeres, så denne sjekksummen må oppdateres på vei gjennom nettverket. Etter sjekksummen følger ''Source Address'' og ''Destination Address'', som begge er på 32-bit og som inneholder IP-adressene til kilde og mål-vert for IP-pakka. Deretter kommer et valgfritt felt, ''Options'', som også kan ha variabel lengde. ==Fragmentering og sammensetting== IPv4 støtter bruken av nettverksforbindelser med små pakkestørrelser. Dette kan føre til at vi kommer i den situasjonen at en ruter får ei pakke som er større enn nettverksforbindelsen pakka skal sendes på tillater. En mulig løsning er å fragmentere og sette sammen igjen IP-pakker for hver enkelt punkt til punkt forbindelse der fragmentering er påkrevd. En slik løsning ville føre til at ruteren knytta til den andre enden av forbindelsen som krevde fragmentering måtte sette sammen igjen IP-pakka. Dette er en komplisert operasjon, spesielt i tilfeller der enkeltfragmenter forsvinner som følge av feil på forbindelsen. Løsningen i IPv4 er derfor at den første ruteren som kommer i den situasjonen at IP-pakka er større enn det underliggende nettverket støtter fragmenterer IP-pakka. Pakka forblir fragmentert resten av veien gjennom nettverket og det er opp til mottaker å sette den sammen igjen til ei komplett pakke. Når ei stor IPv4 pakke blir delt opp i mindre fragmenter, får hvert enkeltfragment et eget IP-hode og oppfører seg som ei vanlig IP-pakke. Nyttelasta til den opprinnelige IP-pakka som førte til fragmentering blir delt opp i biter som er små nok (sammen med IP hodet) til å kunne overføres over det underliggende nettverket. En bit av den originale IP-pakka er plassert i hvert fragment. Nesten alle felta i IP-hodet til fragmentet er identisk med tilhørende felt i den originale IP-pakka. Spesielt gjelder dette identifikasjons-feltet som må være likt for alle fragmentene. Forskjellene mellom enkeltfragmentene er: * ''Total Length'' feltet vil bli satt til å stemme med størrelsen på hvert fragment * ''More Fragments'' flagget vil bli satt til 1 for alle fragmenter unntatt det siste * ''Fragment Offset'' feltet vil være forskjellig fra 0 i alle unntatt det første fragmentet Merk at hos mottaker vil pakker der enten: * ''More Fragments'' flagget er satt til 1, eller * ''Fragment Offset'' flagget er forskjellig fra 0 bli oppfatta som et fragment. Mottaker ser på identifikasjonsfeltet til enkeltfragmenter for å kunne sette de sammen igjen til ei komplett pakke. Fragmenter med lik identifikasjon hører alle til den samme opprinnelige IP-pakka. Offset og Total Length felta avgjør hvor hvert enkelt fragment skal plasseres inad i ei komplett pakke og hvor stor del av pakka fragmentet ugjør. Den totale pakkestørrelsen kan hentes ut av Total Length feltet i fragmentet der More Fragments ikke er satt. Verdien av Total Length feltet i den pakka og verdien av Offset feltet (multiplisert med den 8-tegn store blokkstørrelsen for fragmentene) utgjør den totale lengda av den opprinnelige pakka. Merk at en ruter kan gjenta fragmenteringsprosessen selv om den kun har et enkelt fragment. Hvis dette skjer så tar ruteren fragmentet og deler det opp på samme måte som beskrevet tidligere, og lager to eller flere nye fragmenter. Offset og Total Length feltene blir justert til å passe. En kompliserende faktor er hvis More Fragments flagget var 0, i så fall må det settes til 1 for alle unntatt det siste av de nye fragmentene. == Litteratur == *W. Richard Stevens, ''TCP/IP Illustrated, Volume 1 : The Protocols'', ISBN 0-201-63346-9 == Eksterne lenker == * [https://web.archive.org/web/20041204053255/http://www.ietf.org/rfc/rfc0791.txt RFC791] (Spesifikasjonen) {{Autoritetsdata}} [[Kategori:Internett-protokoller]] [[Kategori:IP-adresser]]
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Maler som brukes på denne siden:
Mal:Autoritetsdata
(
rediger
)
Mal:Fix
(
rediger
)
Mal:Fix/category
(
rediger
)
Mal:Hlist/styles.css
(
rediger
)
Mal:IPstakk
(
rediger
)
Mal:Ifsubst
(
rediger
)
Mal:Main other
(
rediger
)
Mal:Mono
(
rediger
)
Mal:Mono/styles.css
(
rediger
)
Mal:Sidebar
(
rediger
)
Mal:Tr
(
rediger
)
Mal:Trenger referanse
(
rediger
)
Modul:Arguments
(
rediger
)
Modul:Check for unknown parameters
(
rediger
)
Modul:External links
(
rediger
)
Modul:External links/conf
(
rediger
)
Modul:External links/conf/Autoritetsdata
(
rediger
)
Modul:Genitiv
(
rediger
)
Modul:Navbar
(
rediger
)
Modul:Navbar/configuration
(
rediger
)
Modul:Navbar/styles.css
(
rediger
)
Modul:Sidebar
(
rediger
)
Modul:Sidebar/configuration
(
rediger
)
Modul:Sidebar/styles.css
(
rediger
)
Modul:Unsubst
(
rediger
)
Denne siden er medlem av 1 skjult kategori:
Kategori:Artikler som trenger referanser
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon