IP-paketin otsikko: muoto, kentät

⚡ Älykäs yhteenveto

IP-otsikko on metatieto, joka sijoitetaan jokaisen IP-paketin alkuun. Se sisältää kenttiä, kuten version, otsikon pituuden, kokonaispituuden, elinkaaren, protokollan, tarkistussumman sekä lähde- ja kohdeosoitteet, jotka reitittimet lukevat datan toimittamiseksi.

  • 🧭 Tarkoitus: IP-otsikko tallentaa reititys- ja toimitustiedot, jotta jokainen paketti saavuttaa oikean määränpään verkoissa.
  • 📏 Koko: IPv4-otsikko on 20–60 tavua pitkä, ja sitä säädellään Internet Header Length -kentällä.
  • 🧱 Keskeiset kentät: Ydinkenttiä ovat versio, IHL, palvelun tyyppi, kokonaispituus, TTL, protokolla, tarkistussumma ja osoitteet.
  • 🔀 Hajanaisuus: Tunnistus, liput ja fragmenttisiirtymä mahdollistavat suurten datagrammien jakamisen ja kokoamisen uudelleen oikein.
  • 🆚 IPv4 vs IPv6: IPv6 korvaa muuttuvan otsikon kiinteällä 40 tavun otsikolla ja poistaa tarkistussummakentän.
  • 🤖 AI-apu: Tekoälypakettien analysaattorit jäsentävät IP-otsikot automaattisesti merkitäkseen poikkeamat ja nopeuttaakseen vianmääritystä.

IP-paketin otsikon muoto ja kentät

Mikä on IP-otsikko?

IP-otsikko on IP-paketin alussa oleva metatieto. Se näyttää tietoja, kuten IP-version, paketin pituuden, lähteen ja määränpään.

IPv4-otsikkomuoto on 20–60 tavua pitkä, ja se sisältää reititykseen ja toimitukseen tarvittavat tiedot. Se koostuu kentistä, kuten versio, otsikon pituus, kokonaispituus, tunnistetiedot, liput, tarkistussumma, lähteen IP-osoite ja kohteen IP-osoite. Yhdessä nämä kentät tarjoavat olennaiset tiedot, joita tarvitaan... transmit siirtää paketin luotettavasti isännältä toiselle.

IPv4-otsikon komponentit/kentät

Alla oleva kaavio näyttää IPv4-otsikkomuodon kokonaisuudessaan, jossa jokainen kenttä on piirretty oikeaan paikkaan ja bittileveyteen:

IPv4-paketin otsikkomuotokaavio, joka näyttää kaikki kentät ja niiden bittipaikat

Seuraavassa on IP-paketin otsikon eri osat/kentät:

  • Versio: Ensimmäinen IP-otsikkokenttä on nelibittinen versioindikaattori. IPv4:ssä näiden neljän bitin arvoksi asetetaan 0100, joka tarkoittaa binäärimuodossa arvoa 4. Jos reititin ei tue määritettyä versiota, paketti pudotetaan.
  • Internet-otsikon pituus: Internet Header Length, lyhyesti IHL, on kooltaan 4 bittiä. Sitä kutsutaan myös nimellä HELEN (Header Length). Tämä IP-komponentti näyttää, kuinka monta 32-bittistä sanaa otsikossa on.
  • Palvelun tyyppi: Palvelutyyppiä kutsutaan myös eriytetyiksi palveluiksi Code Point eli DSCP. Tämä kenttä sisältää tietoja suoratoiston tai VoIP-puheluiden palvelunlaatuun liittyvistä ominaisuuksista. Kolme ensimmäistä bittiä ovat prioriteettibittejä. Se määrittää myös, miten datagrammia tulisi käsitellä.
  • Kokonaispituus: Kokonaispituus mitataan tavuina. IP-datagrammin vähimmäiskoko on 20 tavua ja enimmäiskoko 65 535 tavua. HELEN-muuttujaa ja kokonaispituutta voidaan käyttää hyötykuorman koon laskemiseen. Kaikkien isäntien on kyettävä lukemaan 576 tavun datagrammeja. Jos datagrammi on kuitenkin liian suuri verkon isännille, käytetään laajalti fragmentointimenetelmää.
  • Henkilöllisyystodistus: Identification (tunnistus) on kenttä, jota käytetään IP-datagrammin osien yksilölliseen tunnistamiseen. Jotkut ovat suositelleet tämän kentän käyttöä muihin tarkoituksiin, kuten pakettien tietojen lisäämiseen. tracden.
  • IP-liput: Flags on kolmibittinen kenttä, jonka avulla voit hallita ja tunnistaa fragmentteja. Mahdolliset kokoonpanot ovat: Bitti 0 on varattu ja sen on oltava nolla; bitti 1 tarkoittaa, ettei fragmentteja tehdä; ja bitti 2 tarkoittaa useampia fragmentteja.
  • Fragmenttipoikkeama: Fragmenttipoikkeama (Fragment Offset) edustaa datatavujen määrää tietyn fragmentin edellä tietyssä datagrammissa. Se määritetään 8 tavun yksiköissä ja sen enimmäisarvo on 65 528 tavua.
  • Aika elää: Tämä on 8-bittinen kenttä, joka ilmaisee datagrammin enimmäisajan internetjärjestelmässä. Joka kerta, kun datagrammia käsitellään, sen TTL-arvoa pienennetään yhdellä. Kun TTL-arvo saavuttaa nollan, datagrammi hylätään, jotta paketteja ei toimiteta loputtomasti. TTL-arvo voi vaihdella välillä 0–255.
  • protokolla: Tämä IPv4-otsikkokenttä osoittaa, mitä internetprotokollaa datagrammin loppuosassa käytetään. Esimerkiksi numeroa 6 käytetään TCP:n ja numeroa 17 UDP-protokollan merkitsemiseen.
  • Otsikon tarkistussumma: Seuraava komponentti on 16-bittinen otsikon tarkistussummakenttä, jota käytetään otsikon virheiden tarkistamiseen. IP-otsikkoa verrataan sen tarkistussumman arvoon. Kun otsikon tarkistussumma ei täsmää, paketti hylätään.
  • Lähteen osoite: Lähdeosoite on IPv32-paketin lähteen 4-bittinen osoite.
  • Määränpään osoite: Kohdeosoite on myös kooltaan 32 bittiä ja tallentaa vastaanottajan osoitteen.
  • IP-asetukset: Tämä on IPv4-otsikon valinnainen kenttä, jota käytetään, kun IHL:n (Internet Header Length) arvo on suurempi kuin 5. Se sisältää tietoturvaan, tallennusreittiin, aikaleimaan ja vastaaviin asetuksiin liittyviä arvoja ja asetuksia. Asetusluettelo päättyy yleensä asetusluettelon loppumerkkiin (EOL).
  • Tiedot: Tämä kenttä tallentaa tiedot protokollakerroksesta, joka on luovuttanut tiedot IP-kerrokselle.

IPv4-otsikon pituuden laskeminen

Internet Header Length (IHL) -kenttä kertoo reitittimelle tarkalleen otsikon pituuden, jotta se tietää, missä otsikko päättyy ja data alkaa. Koska kenttä on vain 4 bittiä leveä, se ei tallenna pituutta suoraan tavuina. Sen sijaan se laskee otsikon 32-bittisinä sanoina, joissa jokainen sana on 4 tavua.

Muuntaaksesi IHL-arvon tavuiksi, kerro se neljällä:

  • Minimi: Pienin laillinen IHL-arvo on 5, joten 5 × 4 = 20 tavua. Tämä on otsikko, jossa ei ole optioita.
  • Enimmäismäärä: Suurin IHL-arvo on 15, joten 15 × 4 = 60 tavua. Ylimääräiset 40 tavua sisältävät valinnaisia ​​kenttiä.

Tarkastellaan toimivaa esimerkkiä. Jos paketti saapuu IHL-arvolla 6, otsikon pituus on 6 × 4 = 24 tavua, mikä tarkoittaa, että standardin 20-tavun otsikon jälkeen on 4 tavua optioita. Hyötykuorman koon selvittämiseksi käytä subtract otsikon pituus Kokonaispituus-kentästä. Jos kokonaispituus on 1 500 tavua ja otsikko on 24 tavua, hyötykuorma on 1 500 − 24 = 1 476 tavua.

Tällä laskelmalla on merkitystä fragmentoinnin aikana, koska reitittimen on tiedettävä otsikon koko voidakseen laskea, kuinka paljon dataa kukin fragmentti voi siirtää ylittämättä verkon enimmäiskokoa. Transmission Yksikkö (MTU).

IPv4 vs. IPv6-otsikko

IPv6-otsikko suunniteltiin uudelleen yksinkertaisemmaksi ja nopeammaksi käsitellä kuin IPv4-otsikko. Se käyttää kiinteää pituutta ja siirtää harvoin käytetyt asetukset erillisiin laajennusotsikoihin, jotta reitittimet voivat lähettää paketteja edelleen linjanopeudella. Alla olevassa taulukossa vertaillaan kahta otsikkoa kenttä kentältä:

Ominaisuus IPv4-otsikko IPv6-otsikko
Ylätunnisteen koko 20–60 tavua (muuttuja) 40 tavua (kiinteä)
Kenttien lukumäärä 13 kenttää ja lisäasetuksia 8 kenttää
Osoitteen pituus 32-bittinen lähde ja kohde 128-bittinen lähde ja kohde
Otsikon tarkistussumma Esitä poistettu
Fragmentointikentät Perusotsikossa (Identifikaatio, Liput, Offset) Siirretty fragmenttilaajennuksen otsikkoon
Vaihtoehdot Kannetaan otsikon sisällä Jatko-otsikoissa
Pituuskenttä Kokonaispituus (otsikko ja tiedot) Hyötykuorman pituus (vain hyötykuorma)

Koska IPv6 poistaa tarkistussumman ja muuttuvan pituiset asetukset, sen otsikko sisältää vähemmän kenttiä ja sitä voidaan käsitellä laitteistossa ilman hyppykohtaista uudelleenlaskentaa.

Miksi IP-otsikko on tärkeä

Jokainen IP-otsikon kenttä on olemassa, jotta reitittimet ja isännät voivat siirtää paketin useiden verkkojen välillä ilman pysyvää yhteyttä niiden välillä. Otsikko saa pakettien välisen kytkentätoiminnan toimimaan.

  • reititys: Kohdeosoite kertoo jokaiselle reitittimelle, minne paketti tulee lähettää, kun taas lähdeosoite sallii vastausten ja virheilmoitusten palauttamisen.
  • Silmukan estäminen: Time to Live -kenttää pienennetään jokaisella hypyllä, joten väärin reititetty paketti hylätään sen sijaan, että se kiertäisi internetissä ikuisesti.
  • Toimitus oikean protokollan mukaisesti: Protokolla-kenttä kertoo vastaanottavalle isännälle, luovutetaanko hyötykuorma TCP:lle, UDP:lle vai jollekin muulle protokollalle.
  • Integrity ja kokoaminen: Tarkistussumma suojaa otsikkoa vioittumiselta, ja tunniste-, liput- ja fragmenttioffset-kentät mahdollistavat fragmentoidun datagrammin uudelleenrakentamisen oikeaan järjestykseen.

Verkkoinsinöörien on tärkeää lukea nämä kentät TCP / IP sieppaus on usein nopein tapa diagnosoida pudotettuja paketteja, reitityssilmukoita ja virheellisiä konfiguraatioita IP-osoitteita.

UKK

Otsikon pituus (IHL) mittaa vain otsikon 32-bittisinä sanoina ja vaihtelee 20:stä 60 tavuun. Kokonaispituus mittaa koko datagrammin – otsikon ja datan – tavuina, enintään 65 535 tavuun asti.tracYhden erottaminen toisesta antaa hyötykuorman koon.

Fragmentointi jakaa datagrammin, joka on suurempi kuin linkin maksimikoko. Transmission Jaa pienempiin osiin. Tunnistus-, Liput- ja Fragmenttioffset-kentät antavat kohteen koota osat uudelleen järjestykseen. Tämä tapahtuu aina, kun paketin on ylitettävä verkko, jonka MTU on pienempi.

IPv4-otsakkeessa on 13 kiinteää kenttää – versio, IHL, palvelun tyyppi, kokonaispituus, tunniste, liput, fragmentin siirtymä, TTL, protokolla, tarkistussumma, lähdeosoite, kohdeosoite sekä valinnainen asetuskenttä. Seuraava dataosio on hyötykuorma, ei otsikkokenttä.

Ei. IPv4-otsikkotarkistussumma kattaa vain otsikkokentät, ei hyötykuormaa. Ylemmän kerroksen protokollilla, kuten TCP:llä ja UDP:llä, on omat tarkistussummansa datan suojaamiseksi. Koska TTL muuttuu jokaisella hypyllä, reitittimet laskevat otsikkotarkistussumman uudelleen jokaisella eteenpäin suuntautuvalla siirtokerralla.

Kun TTL saavuttaa nollan, reititin pudottaa paketin ja palauttaa lähteelle ICMP-aika ylitetty -viestin. Tämä estää paketteja ilmestymästä.ping ikuisesti reitityssilmukassa. traceroute työkalu luottaa tähän toimintaan kartoittaakseen jokaisen hypyn polulla.

Protokolla-kenttä määrittää, minkä ylemmän kerroksen protokollan tulisi vastaanottaa hyötykuorma kohteessa. Yleisiä arvoja ovat 6 TCP:lle, 17 UDP:lle ja 1 ICMP:lle. Vastaanottava isäntä lukee tämän numeron välittääkseen tiedot oikealle käsittelijälle.

Tekoäly- ja koneoppimistyökalut jäsentävät kaapattuja IP-otsikoita havaitakseen poikkeavuuksia, kuten väärennettyjä lähdeosoitteita, epänormaaleja TTL-arvoja tai fragmentoitumishyökkäyksiä. Ne luokittelevat liikenteen ja merkitsevät uhat nopeammin kuin manuaalinen tarkastus, vaikka insinööri vahvistaakin havainnot ennen toimimista.

GitHub Copilot voi luonnostella Python tai C-koodia, joka purkaa IP-otsikkokentät, dekoodaa liput ja validoi tarkistussummat lyhyestä kommentista. RevTarkastele luotua bittimaskauslogiikkaa huolellisesti, koska yhden poikkeaman suuruiset offsetit ovat yleinen jäsennysvirheiden lähde.

Tiivistä tämä viesti seuraavasti: