IP-paketi päis: vorming, väljad

⚡ Nutikas kokkuvõte

IP-päis on metaandmed, mis asetatakse iga IP-paketi algusesse ja mis sisaldavad selliseid välju nagu versioon, päise pikkus, kogupikkus, eluiga, protokoll, kontrollsumma ning lähte- ja sihtkoha aadressid, mida ruuterid andmete edastamiseks loevad.

  • 🧭 Eesmärk: IP-päis salvestab marsruutimise ja edastusandmed, nii et iga pakett jõuab võrkudes õigesse sihtkohta.
  • 📏 Suurus: IPv4 päise pikkus on 20 kuni 60 baiti ja seda kontrollib väli „Interneti päise pikkus”.
  • 🧱 Peamised väljad: Põhiväljad hõlmavad versiooni, IHL-i, teenuse tüüpi, kogupikkust, TTL-i, protokolli, kontrollsummat ja aadresse.
  • 🔀 Killustatus: Identifitseerimine, lipud ja fragmendi nihe võimaldavad suuri datagramme õigesti jagada ja uuesti kokku panna.
  • 🆚 IPv4 vs IPv6: IPv6 asendab muutuva päise fikseeritud 40-baidise päisega ja eemaldab kontrollsummavälja.
  • 🤖 AI abi: Tehisintellekti paketianalüsaatorid parsivad IP-päiseid automaatselt, et märgistada anomaaliaid ja kiirendada tõrkeotsingut.

IP-paketi päise vorming ja väljad

Mis on IP-päis?

IP-päis on metainfo IP-paketi alguses. See kuvab teavet näiteks IP-versiooni, paketi pikkust, allikat ja sihtkohta.

IPv4 päise formaat on 20–60 baiti pikk ja see sisaldab marsruutimiseks ja edastamiseks vajalikku teavet. See koosneb sellistest väljadest nagu versioon, päise pikkus, kogupikkus, identifitseerimine, lipud, kontrollsumma, allika IP-aadress ja sihtkoha IP-aadress. Koos pakuvad need väljad olulist teavet, mida on vaja... transmit paketti usaldusväärselt ühest hostist teise.

IPv4 päise komponendid/väljad

Allolev diagramm näitab IPv4 päise täielikku vormingut, kus iga väli on joonistatud õiges kohas ja bitilaiuses:

IPv4 paketi päise vorminguskeem, mis näitab kõiki välju ja nende bitipositsioone

Järgnevalt on toodud IP-paketi päise erinevad komponendid/väljad:

  • Versioon: Esimene IP-päise väli on 4-bitine versiooniindikaator. IPv4-s on nende nelja biti väärtuseks seatud 0100, mis näitab binaarkoodis 4. Kui ruuter ei toeta määratud versiooni, siis pakett kustutatakse.
  • Interneti-päise pikkus: Interneti päise pikkus, lühidalt IHL, on 4 bitti pikk. Seda nimetatakse ka HELENiks (Header Length). See IP-komponent näitab, mitu 32-bitiseid sõnu päises on.
  • Teenuse tüüp: Teenusetüüpi nimetatakse ka diferentseeritud teenusteks Code Punkt ehk DSCP. See väli pakub funktsioone, mis on seotud andmevoogedastuse või VoIP-kõnede teenuse kvaliteediga. Esimesed 3 bitti on prioriteetsed bitid. See määrab ka, kuidas datagrammi tuleks käsitleda.
  • Kogupikkus: Kogupikkust mõõdetakse baitides. IP-datagrammi minimaalne suurus on 20 baiti ja maksimaalne 65 535 baiti. HELEN-i ja kogupikkust saab kasutada kasuliku koormuse suuruse arvutamiseks. Kõik hostid peavad suutma lugeda 576-baidiseid datagramme. Kui datagramm on aga võrgus olevate hostide jaoks liiga suur, kasutatakse laialdaselt fragmenteerimismeetodit.
  • Identifitseerimine: Identifitseerimine on väli, mida kasutatakse IP-datagrammi fragmentide unikaalseks tuvastamiseks. Mõned on soovitanud seda välja kasutada ka muudel eesmärkidel, näiteks paketi kohta teabe lisamiseks. tracing.
  • IP lipud: Lipud on kolmebitine väli, mis aitab teil fragmente juhtida ja tuvastada. Võimalikud konfiguratsioonid on järgmised: bitt 0 on reserveeritud ja see tuleb seada nulliks; bitt 1 tähendab, et ei fragmenteerita; ja bitt 2 tähendab rohkem fragmente.
  • Fragmendi nihe: Fragmendi nihe (Fragment Offset) tähistab andmebaitide arvu konkreetse datagrammi konkreetse fragmendi ees. See on määratud 8-baidiste ühikutena ja selle maksimaalne väärtus on 65 528 baiti.
  • Aeg elada: See on 8-bitine väli, mis näitab maksimaalset aega, mille jooksul datagramm võib internetisüsteemis elada. Iga kord, kui datagrammi töödeldakse, vähendatakse selle TTL-väärtust ühe võrra. Kui TTL-väärtus jõuab nullini, siis datagramm visatakse ära, et pakette ei edastataks lõputult. TTL-väärtus võib olla vahemikus 0 kuni 255.
  • Protokoll: See IPv4 päiseväli tähistab, millist internetiprotokolli datagrammi teises osas kasutatakse. Näiteks number 6 tähistab TCP-d ja 17 UDP-protokolli.
  • Päise kontrollsumma: Järgmine komponent on 16-bitine päise kontrollsumma väli, mida kasutatakse päise vigade kontrollimiseks. IP-päist võrreldakse selle kontrollsumma väärtusega. Kui päise kontrollsumma ei ühti, siis pakett visatakse ära.
  • Allika aadress: Lähteaadress on IPv32 paketi jaoks kasutatud allika 4-bitine aadress.
  • Sihtkoha aadress: Sihtkoha aadress on samuti 32-bitine ja salvestab vastuvõtja aadressi.
  • IP-valikud: See on IPv4 päise valikuline väli, mida kasutatakse juhul, kui IHL-i (Interneti päise pikkus) väärtus on suurem kui 5. See sisaldab turvalisuse, salvestusmarsruudi, ajatempli ja sarnaste valikutega seotud väärtusi ja sätteid. Valikute loend lõpeb tavaliselt valikute loendi lõpu (EOL) markeriga.
  • Andmed: See väli salvestab andmed protokollikihilt, mis edastas andmed IP-kihile.

Kuidas arvutada IPv4 päise pikkust

Interneti päise pikkuse väli (IHL) annab ruuterile täpselt teada päise pikkuse, et see teaks, kus päis lõpeb ja andmed algavad. Kuna väli on ainult 4 bitti lai, ei salvesta see pikkust otse baitides. Selle asemel loendab see päise 32-bitiste sõnadena, kus iga sõna võrdub 4 baidiga.

IHL-i väärtuse baitideks teisendamiseks korrutage see 4-ga:

  • Miinimum: Väikseim legaalne IHL-i väärtus on 5, seega 5 × 4 = 20 baiti. See on päis ilma valikuteta.
  • Maksimum: Suurim IHL-i väärtus on 15, seega 15 × 4 = 60 baiti. Ülejäänud 40 baiti sisaldavad valikulisi välju.

Vaatleme töötatud näidet. Kui saabub pakett IHL-väärtusega 6, on päise pikkus 6 × 4 = 24 baiti, mis tähendab, et pärast standardset 20-baidist päist on 4 baiti valikuid. Kasuliku koormuse suuruse leidmiseks kasutage alammenüüd.tract päise pikkus väljalt „Kogupikkus“. Kui „Kogupikkus“ on 1,500 baiti ja päise pikkus on 24 baiti, siis on kasulik koormus 1,500 − 24 = 1,476 baiti.

See arvutus on fragmenteerimisel oluline, sest ruuter peab teadma päise suurust, et arvutada välja, kui palju andmeid iga fragment mahutab ilma võrgu maksimaalset mahtu ületamata. Transmission Ühik (MTU).

IPv4 vs IPv6 päis

IPv6 päis kujundati ümber, et seda oleks lihtsam ja kiirem töödelda kui IPv4 päist. See kasutab fikseeritud pikkust ja liigutab harva kasutatavad valikud eraldi laienduspäistesse, nii et ruuterid saavad pakette rea kiirusega edastada. Allolev tabel võrdleb kahte päist väljade kaupa:

tunnusjoon IPv4 päis IPv6 päis
Päise suurus 20 kuni 60 baiti (muutuv) 40 baiti (fikseeritud)
Väljade arv 13 välja pluss valikud 8 välja
Aadressi pikkus 32-bitine lähte- ja sihtkoht 128-bitine lähte- ja sihtkoht
Päise kontrollsumma praegune Eemaldatud
Fragmenteerimisväljad Põhipäises (Identifitseerimine, Lipud, Nihe) Teisaldatud fragmendi laienduse päisesse
Valikud Päise sees Laienduspäistes on
Pikkuse väli Kogupikkus (päis pluss andmed) Kasuliku koorma pikkus (ainult kasulik koorem)

Kuna IPv6 jätab kontrollsumma ja muutuva pikkusega valikud välja, sisaldab selle päis vähem välju ja seda saab riistvaraliselt töödelda ilma hüppepõhist ümberarvutust.

Miks on IP-päis oluline?

IP-päise iga väli on olemas selleks, et ruuterid ja hostid saaksid paketti paljude võrkude vahel liigutada ilma nendevahelise püsiva ühenduseta. Päis on see, mis paneb pakettkommutatsiooni tööle.

  • Marsruut: Sihtkoha aadress ütleb igale ruuterile, kuhu pakett edastada, samas kui lähteaadress võimaldab vastuste ja veateadete tagastamist.
  • Silmuse ennetamine: Eluaja väli (Time to Live) väheneb iga hüppega, seega valesti suunatud pakett visatakse ära, selle asemel et igavesti internetis tiirleda.
  • Kohaletoimetamine õige protokolli järgi: Protokolli väli ütleb vastuvõtvale hostile, kas edastada kasulik koormus TCP, UDP või mõne muu protokolli kaudu.
  • Integrity ja kokkupanek: Kontrollsumma kaitseb päist rikkumise eest ning väljad Identification, Flags ja Fragment Offset võimaldavad fragmenteeritud datagrammi õiges järjekorras uuesti üles ehitada.

Võrguinseneride jaoks on nende väljade lugemine TCP / IP Pakettide püüdmine on sageli kiireim viis kadunud pakettide, marsruutimissilmuste ja valesti konfigureeritud pakettide diagnoosimiseks. IP-aadressid.

KKK

Päise pikkus (IHL) mõõdab ainult päist 32-bitiste sõnadega ja jääb vahemikku 20 kuni 60 baiti. Kogupikkus mõõdab kogu datagrammi – päist ja andmeid – baitides, kuni 65 535 baidini. AlampikkustracÜhe eraldamine teisest annab kasuliku koormuse suuruse.

Fragmenteerimine jagab datagrammi, mis on suurem kui lingi maksimaalne väärtus. Transmission Jaga väiksemateks tükkideks. Väljad Identification (Identifitseerimine), Flags (Lipud) ja Fragment Offset (Fragmendi nihe) võimaldavad sihtkohal tükid õiges järjekorras kokku panna. See juhtub alati, kui pakett peab läbima väiksema MTU-ga võrgu.

IPv4 päises on 13 fikseeritud välja – versioon, IHL, teenuse tüüp, kogupikkus, identifikaator, lipud, fragmendi nihe, TTL, protokoll, kontrollsumma, lähteaadress, sihtkoha aadress ja valikuline valikute väli. Järgnev andmete osa on kasulik koormus, mitte päiseväli.

Ei. IPv4 päise kontrollsumma katab ainult päisevälju, mitte kasulikku koormust. Ülemise kihi protokollidel, näiteks TCP ja UDP, on andmete kaitsmiseks oma kontrollsummad. Kuna TTL muutub igal hüppel, arvutavad ruuterid päise kontrollsumma iga edasisuunamise korral uuesti.

Kui TTL jõuab nullini, siis ruuter loobub paketist ja saadab allikale ICMP aja ületamise teate. See takistab pakettide loopimist.ping igavesti marsruutimistsüklis. traceroute tööriist tugineb sellele käitumisele iga hüppe kaardistamiseks mööda teed.

Protokolli väli määrab, milline ülemise kihi protokoll peaks sihtkohas kasuliku koormuse vastu võtma. Levinud väärtused on TCP puhul 6, UDP puhul 17 ja ICMP puhul 1. Vastuvõttev host loeb seda numbrit, et edastada andmed õigele käitlejale.

Tehisintellekt ja masinõppe tööriistad analüüsivad jäädvustatud IP-päiseid, et tuvastada anomaaliaid, nagu võltsitud lähteaadressid, ebanormaalsed TTL-väärtused või fragmenteerimisrünnakud. Need klassifitseerivad liiklust ja märgistavad ohte kiiremini kui käsitsi kontrollimine, kuigi insener kinnitab enne tegutsemist siiski leiud.

GitHubi koopia oskab mustandit Python või C-kood, mis lahti pakib IP-päiseväljad, dekodeerib lipud ja valideerib lühikese kommentaari kontrollsummasid. RevVaadake genereeritud bitimaskeerimisloogikat hoolikalt, kuna ühe võrra erinevad nihked on parsimisvigade levinud allikas.

Võta see postitus kokku järgmiselt: