IP-pakkehoved: Format, felter
⚡ Smart opsummering
IP-header er de metadata, der placeres i starten af hver IP-pakke og indeholder felter som version, headerlængde, total længde, levetid, protokol, kontrolsum og kilde- og destinationsadresser, som routere læser for at levere data.

Hvad er IP-header?
IP-headeren er metainformation i begyndelsen af en IP-pakke. Den viser information såsom IP-version, pakkens længde, kilde og destination.
IPv4-headerformatet er 20 til 60 bytes langt og indeholder de oplysninger, der er nødvendige for routing og levering. Det består af felter som Version, Headerlængde, Total Længde, Identifikation, Flag, Kontrolsum, kilde-IP-adressen og destinations-IP-adressen. Sammen giver disse felter de vigtigste data, der er nødvendige for at transmit pakken pålideligt fra én vært til en anden.
IPv4 Header-komponenter/felter
Diagrammet nedenfor viser det komplette IPv4-headerformat, hvor hvert felt tegnes på sin korrekte position og bitbredde:
Følgende er de forskellige komponenter/felter i IP-pakkeheaderen:
- Version: Det første IP-headerfelt er en 4-bit versionsindikator. I IPv4 er værdien af disse fire bits sat til 0100, hvilket angiver 4 i binært format. Hvis routeren ikke understøtter den angivne version, tabes pakken.
- Internet-headerlængde: Internet Header Length, kort kendt som IHL, er 4 bit i størrelse. Det kaldes også HELEN (Header Length). Denne IP-komponent viser, hvor mange 32-bit ord der er til stede i headeren.
- Type service: Servicetypen kaldes også differentierede tjenester Code Punkt eller DSCP. Dette felt indeholder funktioner relateret til servicekvaliteten for datastreaming eller VoIP-opkald. De første 3 bits er prioritetsbits. Det angiver også, hvordan et datagram skal håndteres.
- Total længde: Den samlede længde måles i bytes. Minimumsstørrelsen på et IP-datagram er 20 bytes, og maksimumsstørrelsen er 65,535 bytes. HELEN og Total Length kan bruges til at beregne størrelsen på nyttelasten. Alle værter skal kunne læse 576-byte datagrammer. Men hvis et datagram er for stort til værterne i netværket, anvendes fragmenteringsmetoden i vid udstrækning.
- Identifikation: Identifikation er et felt, der bruges til at identificere fragmenterne af et IP-datagram entydigt. Nogle har anbefalet at bruge dette felt til andre formål, såsom at tilføje oplysninger til pakker tracIng.
- IP-flag: Flags er et tre-bit felt, der hjælper dig med at kontrollere og identificere fragmenter. De mulige konfigurationer er: Bit 0 er reserveret og skal sættes til nul; Bit 1 betyder fragmenter ikke; og Bit 2 betyder flere fragmenter.
- Fragment offset: Fragmentoffset repræsenterer antallet af databytes foran et bestemt fragment i det specifikke datagram. Det er angivet i enheder på 8 bytes og har en maksimal værdi på 65,528 bytes.
- Tid til at leve: Dette er et 8-bit felt, der angiver den maksimale tid, datagrammet må forblive i internetsystemet. Hver gang et datagram behandles, reduceres dets TTL-værdi med én. Når værdien af TTL når nul, kasseres datagrammet, så pakkerne ikke leveres uendeligt. Værdien af TTL kan variere fra 0 til 255.
- protokol: Dette IPv4-headerfelt angiver, hvilken internetprotokol der findes i den sidste del af datagrammet. For eksempel bruges tallet 6 til at angive TCP, og 17 bruges til at betegne UDP-protokollen.
- Overskrift kontrolsum: Den næste komponent er et 16-bit header-checksumfelt, som bruges til at kontrollere headeren for eventuelle fejl. IP-headeren sammenlignes med værdien af dens checksum. Når header-checksummen ikke stemmer overens, kasseres pakken.
- Kildeadresse: Kildeadressen er en 32-bit adresse på den kilde, der bruges til IPv4-pakken.
- Destinationsadresse: Destinationsadressen er også 32 bit i størrelse og gemmer modtagerens adresse.
- IP-indstillinger: Dette er et valgfrit felt i IPv4-headeren, der bruges, når værdien af IHL (Internet Header Length) er sat til større end 5. Det indeholder værdier og indstillinger relateret til sikkerhed, postrute, tidsstempel og lignende indstillinger. Listen over indstillinger slutter normalt med en EOL-markør (End of Options List).
- dato: Dette felt gemmer dataene fra det protokollag, der har overleveret dataene til IP-laget.
Sådan beregner du IPv4-headerlængden
Feltet Internet Header Length (IHL) fortæller en router præcis, hvor lang headeren er, så den ved, hvor headeren slutter, og dataene begynder. Da feltet kun er 4 bit bredt, gemmer det ikke længden direkte i bytes. I stedet tæller det headeren i 32-bit ord, hvor hvert ord er lig med 4 bytes.
For at konvertere IHL-værdien til bytes skal du gange den med 4:
- Minimum: Den mindste værdi i henhold til den internationale menneskelovgivning er 5, så 5 × 4 = 20 bytes. Dette er en header uden indstillinger.
- Maksimum: Den største værdi i henhold til den internationale livscyklus (IHL) er 15, så 15 × 4 = 60 bytes. De ekstra 40 bytes indeholder valgfrie felter.
Overvej et bearbejdet eksempel. Hvis en pakke ankommer med en IHL-værdi på 6, er headerlængden 6 × 4 = 24 bytes, hvilket betyder, at der er 4 bytes med muligheder efter standard 20-byte headeren. For at finde størrelsen på nyttelasten skal du bruge subtracheaderlængden fra feltet Total længde. Hvis Total længde er 1,500 bytes, og headeren er 24 bytes, så er nyttelasten 1,500 − 24 = 1,476 bytes.
Denne beregning er vigtig under fragmentering, fordi en router skal kende headerstørrelsen for at kunne beregne, hvor meget data hvert fragment kan bære uden at overskride netværkets maksimale værdi. Transmission Enhed (MTU).
IPv4 vs. IPv6-header
IPv6-headeren blev redesignet for at være enklere og hurtigere at behandle end IPv4-headeren. Den bruger en fast længde og flytter sjældent anvendte muligheder til separate udvidelsesheadere, så routere kan videresende pakker med linjehastighed. Tabellen nedenfor sammenligner de to headere felt for felt:
| Feature | IPv4-header | IPv6-header |
|---|---|---|
| Størrelse på overskriften | 20 til 60 bytes (variabel) | 40 bytes (fast) |
| Antal felter | 13 felter plus muligheder | 8 felter |
| Adresselængde | 32-bit kilde og destination | 128-bit kilde og destination |
| Header-kontrolsum | Præsenter | fjernet |
| Fragmenteringsfelter | I basisoverskriften (Identifikation, Flag, Offset) | Flyttet til en header for Fragment-udvidelsen |
| Indstillinger | Båret inde i overskriften | Båret i forlængelseshoveder |
| Længdefelt | Total længde (header plus data) | Nyttelastlængde (kun nyttelast) |
Fordi IPv6 dropper checksummen og indstillingerne for variabel længde, indeholder headeren færre felter og kan behandles i hardware uden genberegning per hop.
Hvorfor IP-headeren er vigtig
Hvert felt i IP-headeren findes, så routere og værter kan flytte en pakke på tværs af mange netværk uden en permanent forbindelse mellem dem. Headeren er det, der får pakkekobling til at fungere.
- Routing: Destinationsadressen fortæller hver router, hvor pakken skal videresendes, mens kildeadressen tillader svar og fejlmeddelelser at returneres.
- Løkkeforebyggelse: Feltet "Livstid" mindskes ved hvert hop, så en fejlrutet pakke kasseres i stedet for at cirkle rundt på internettet for evigt.
- Levering i henhold til den rigtige protokol: Protokolfeltet fortæller den modtagende vært, om nyttelasten skal overføres til TCP, UDP eller en anden protokol.
- Integrity og genmontering: Kontrolsummen beskytter headeren mod korruption, og felterne Identifikation, Flag og Fragment Offset gør det muligt at genopbygge et fragmenteret datagram i den korrekte rækkefølge.
For netværksingeniører er det vigtigt at læse disse felter i en TCP / IP Optagelse er ofte den hurtigste måde at diagnosticere mistede pakker, routing-løkker og fejlkonfigurerede data. IP-adresser.

