Zaglavlje IP paketa: Format, Polja

โšก Pametni saลพetak

IP zaglavlje su metapodaci koji se postavljaju na poฤetak svakog IP paketa i nose polja kao ลกto su verzija, duljina zaglavlja, ukupna duljina, vrijeme trajanja, protokol, kontrolni zbroj te izvorna i odrediลกna adresa koje usmjerivaฤi ฤitaju za dostavu podataka.

  • ๐Ÿงญ Svrha: IP zaglavlje pohranjuje detalje usmjeravanja i isporuke tako da svaki paket stigne do ispravnog odrediลกta u svim mreลพama.
  • ๐Ÿ“ Veliฤina pakiranja: IPv4 zaglavlje ima duljinu od 20 do 60 bajtova, a kontrolira ga polje Duljina internetskog zaglavlja.
  • ๐Ÿงฑ Kljuฤna polja: Osnovna polja ukljuฤuju verziju, IHL, vrstu usluge, ukupnu duljinu, TTL, protokol, kontrolni zbroj i adrese.
  • ๐Ÿ”€ Fragmentacija: Identifikacija, zastavice i pomak fragmenata omoguฤ‡uju ispravno dijeljenje i ponovno sastavljanje velikih datagrama.
  • ๐Ÿ†š IPv4 protiv IPv6: IPv6 zamjenjuje varijabilno zaglavlje fiksnim zaglavljem od 40 bajtova i izostavlja polje kontrolnog zbroja.
  • ๐Ÿค– AI pomoฤ‡: Analizatori AI paketa automatski raลกฤlanjuju IP zaglavlja kako bi oznaฤili anomalije i ubrzali rjeลกavanje problema.

Format i polja zaglavlja IP paketa

ล to je IP zaglavlje?

IP zaglavlje je meta informacija na poฤetku IP paketa. Prikazuje informacije kao ลกto su IP verzija, duljina paketa, izvor i odrediลกte.

Format IPv4 zaglavlja duljine je od 20 do 60 bajtova i sadrลพi informacije potrebne za usmjeravanje i isporuku. Sastoji se od polja kao ลกto su Verzija, Duljina zaglavlja, Ukupna duljina, Identifikacija, Zastavice, Kontrolni zbroj, izvorna IP adresa i odrediลกna IP adresa. Zajedno ova polja pruลพaju bitne podatke potrebne za transmit pouzdano prenositi paket s jednog hosta na drugi.

Komponente/polja IPv4 zaglavlja

Donji dijagram prikazuje cijeli format IPv4 zaglavlja, sa svakim poljem nacrtanim na ispravnom poloลพaju i ลกirini bita:

Dijagram formata zaglavlja IPv4 paketa koji prikazuje sva polja i njihove bitne pozicije

Slijede razliฤite komponente/polja zaglavlja IP paketa:

  • Verzija: Prvo polje IP zaglavlja je 4-bitni indikator verzije. U IPv4, vrijednost ova ฤetiri bita postavljena je na 0100, ลกto oznaฤava 4 u binarnom sustavu. Ako usmjerivaฤ ne podrลพava navedenu verziju, paket se odbacuje.
  • Duljina internetskog zaglavlja: Duljina internetskog zaglavlja, skraฤ‡eno IHL, iznosi 4 bita. Takoฤ‘er se naziva HELEN (duljina zaglavlja). Ova IP komponenta pokazuje koliko se 32-bitnih rijeฤi nalazi u zaglavlju.
  • Vrsta usluge: Vrsta usluge naziva se i diferencirane usluge Code Toฤka ili DSCP. Ovo polje pruลพa znaฤajke vezane uz kvalitetu usluge za strujanje podataka ili VoIP pozive. Prva 3 bita su bitovi prioriteta. Takoฤ‘er odreฤ‘uje kako se datagram treba obraฤ‘ivati.
  • Ukupna duลพina: Ukupna duljina mjeri se u bajtovima. Minimalna veliฤina IP datagrama je 20 bajtova, a maksimalna 65,535 bajtova. HELEN i ukupna duljina mogu se koristiti za izraฤun veliฤine korisnog tereta. Svi hostovi moraju moฤ‡i ฤitati datagrame od 576 bajtova. Meฤ‘utim, ako je datagram prevelik za hostove u mreลพi, ลกiroko se koristi metoda fragmentacije.
  • Identifikacija: Identifikacija je polje koje se koristi za jedinstvenu identifikaciju fragmenata IP datagrama. Neki preporuฤuju koriลกtenje ovog polja u druge svrhe, kao ลกto je dodavanje informacija za paket tracing..
  • IP oznake: Zastavice su trobitno polje koje vam pomaลพe u kontroli i identificiranju fragmenata. Moguฤ‡e konfiguracije su: Bit 0 je rezerviran i mora biti postavljen na nulu; Bit 1 znaฤi da se ne fragmentira; a Bit 2 znaฤi viลกe fragmenata.
  • Pomak fragmenta: Pomak fragmenta predstavlja broj bajtova podataka ispred odreฤ‘enog fragmenta u odreฤ‘enom datagramu. Naveden je u jedinicama od 8 bajtova i ima maksimalnu vrijednost od 65 528 bajtova.
  • Vrijeme za ลพivot: Ovo je 8-bitno polje koje oznaฤava maksimalno vrijeme koliko datagram moลพe ลพivjeti u internetskom sustavu. Svaki put kada se datagram obradi, njegova TTL vrijednost se smanjuje za jedan. Kada vrijednost TTL-a dosegne nulu, datagram se odbacuje kako se paketi ne bi isporuฤivali beskonaฤno. Vrijednost TTL-a moลพe se kretati od 0 do 255.
  • Protokol: Ovo polje IPv4 zaglavlja oznaฤava koji se internetski protokol prenosi u drugom dijelu datagrama. Na primjer, broj 6 koristi se za oznaฤavanje TCP-a, a 17 za oznaฤavanje UDP protokola.
  • Kontrolni zbroj zaglavlja: Sljedeฤ‡a komponenta je 16-bitno polje kontrolnog zbroja zaglavlja koje se koristi za provjeru zaglavlja na eventualne pogreลกke. IP zaglavlje se usporeฤ‘uje s vrijednoลกฤ‡u kontrolnog zbroja. Kada se kontrolni zbroj zaglavlja ne podudara, paket se odbacuje.
  • Izvorna adresa: Izvorna adresa je 32-bitna adresa izvora koja se koristi za IPv4 paket.
  • Adresa odrediลกta: Adresa odrediลกta je takoฤ‘er veliฤine 32 bita i pohranjuje adresu primatelja.
  • IP opcije: Ovo je opcionalno polje IPv4 zaglavlja koje se koristi kada je vrijednost IHL-a (Internet Header Length - duljina internetskog zaglavlja) postavljena na viลกe od 5. Sadrลพi vrijednosti i postavke vezane uz sigurnost, rutu zapisa, vremensku oznaku i sliฤne opcije. Popis opcija obiฤno zavrลกava oznakom Kraj popisa opcija (EOL).
  • Podaci: Ovo polje pohranjuje podatke iz protokolnog sloja koji ih je predao IP sloju.

Kako izraฤunati duljinu IPv4 zaglavlja

Polje duljine internetskog zaglavlja (IHL) govori usmjerivaฤu toฤno koliko je dugaฤko zaglavlje kako bi znao gdje zaglavlje zavrลกava, a podaci poฤinju. Buduฤ‡i da je polje ลกiroko samo 4 bita, ne pohranjuje duljinu izravno u bajtovima. Umjesto toga, broji zaglavlje u 32-bitnim rijeฤima, gdje je svaka rijeฤ jednaka 4 bajta.

Za pretvaranje IHL vrijednosti u bajtove, pomnoลพite je s 4:

  • minimalna: Najmanja dopuลกtena IHL vrijednost je 5, dakle 5 ร— 4 = 20 bajtova. Ovo je zaglavlje bez opcija.
  • Maksimum: Najveฤ‡a IHL vrijednost je 15, dakle 15 ร— 4 = 60 bajtova. Dodatnih 40 bajtova sadrลพi opcionalna polja.

Razmotrimo raฤ‘eni primjer. Ako paket stigne s IHL vrijednoลกฤ‡u 6, duljina zaglavlja je 6 ร— 4 = 24 bajta, ลกto znaฤi da su 4 bajta opcija prisutna nakon standardnog zaglavlja od 20 bajtova. Da biste pronaลกli veliฤinu korisnog tereta, podraฤunajtetracduljinu zaglavlja iz polja Ukupna duljina. Ako je ukupna duljina 1,500 bajtova, a zaglavlje 24 bajta, tada je korisni teret 1,500 โˆ’ 24 = 1,476 bajtova.

Ovaj izraฤun je vaลพan tijekom fragmentacije, jer usmjerivaฤ mora znati veliฤinu zaglavlja kako bi izraฤunao koliko podataka svaki fragment moลพe nositi bez prekoraฤenja maksimuma mreลพe. Transmission Jedinica (MTU).

IPv4 u odnosu na IPv6 zaglavlje

IPv6 zaglavlje je redizajnirano kako bi bilo jednostavnije i brลพe za obradu od IPv4 zaglavlja. Koristi fiksnu duljinu i premjeลกta rijetko koriลกtene opcije u zasebne ekstenzijske zaglavlja, tako da usmjerivaฤi mogu prosljeฤ‘ivati โ€‹โ€‹pakete brzinom linije. Tablica u nastavku usporeฤ‘uje dva zaglavlja polje po polje:

svojstvo IPv4 zaglavlje IPv6 zaglavlje
Veliฤina zaglavlja 20 do 60 bajtova (varijabilno) 40 bajta (fiksno)
Broj polja 13 polja plus opcije 8 polja
Duljina adrese 32-bitni izvor i odrediลกte 128-bitni izvor i odrediลกte
Kontrolni zbroj zaglavlja Sadaลกnje ukloniti
Fragmentacijska polja U osnovnom zaglavlju (Identifikacija, Zastavice, Pomak) Premjeลกteno u zaglavlje proลกirenja fragmenta
Opcije Nosi se unutar zaglavlja Nosi se u zaglavljima proลกirenja
Polje duljine Ukupna duljina (zaglavlje plus podaci) Duljina korisnog tereta (samo korisni teret)

Buduฤ‡i da IPv6 izostavlja kontrolni zbroj i opcije promjenjive duljine, njegov zaglavlje sadrลพi manje polja i moลพe se obraditi hardverski bez ponovnog izraฤuna po skoku.

Zaลกto je IP zaglavlje vaลพno

Svako polje u IP zaglavlju postoji kako bi usmjerivaฤi i hostovi mogli premjeลกtati pakete preko mnogih mreลพa bez trajne veze meฤ‘u njima. Zaglavlje je ono ลกto omoguฤ‡uje funkcioniranje komutacije paketa.

  • usmjeravanje: Odrediลกna adresa govori svakom usmjerivaฤu kamo proslijediti paket, dok izvoriลกna adresa omoguฤ‡uje vraฤ‡anje odgovora i poruka o pogreลกkama.
  • Sprjeฤavanje petlje: Polje Time to Live se smanjuje na svakom skoku, tako da se pogreลกno usmjereni paket odbacuje umjesto da zauvijek kruลพi internetom.
  • Dostava prema ispravnom protokolu: Polje Protokol govori prijemnom hostu treba li predati korisni teret TCP-u, UDP-u ili nekom drugom protokolu.
  • Integrity i ponovno sastavljanje: Kontrolni zbroj ลกtiti zaglavlje od oลกteฤ‡enja, a polja Identification, Flags i Fragment Offset omoguฤ‡uju ponovnu izgradnju fragmentiranog datagrama ispravnim redoslijedom.

Za mreลพne inลพenjere, ฤitanje ovih polja u TCP / IP Hvatanje je ฤesto najbrลพi naฤin za dijagnosticiranje izgubljenih paketa, petlji usmjeravanja i pogreลกno konfiguriranih IP adrese.

Pitanja i odgovori

Duljina zaglavlja (IHL) mjeri samo zaglavlje, u 32-bitnim rijeฤima, i kreฤ‡e se od 20 do 60 bajtova. Ukupna duljina mjeri cijeli datagram - zaglavlje plus podaci - u bajtovima, do 65 535. PodtracOdvajanjem jednog od drugog dobiva se veliฤina korisnog tereta.

Fragmentacija dijeli datagram koji je veฤ‡i od maksimuma veze Transmission Rastavi na manje dijelove. Polja Identifikacija, Zastavice i Pomak fragmenta omoguฤ‡uju odrediลกtu da ponovno sastavi dijelove po redu. To se dogaฤ‘a kad god paket mora proฤ‡i kroz mreลพu s manjim MTU-om.

IPv4 zaglavlje ima 13 fiksnih polja - Verzija, IHL, Vrsta usluge, Ukupna duljina, Identifikacija, Zastavice, Pomak fragmenta, TTL, Protokol, Kontrolni zbroj, Izvorna adresa, Odrediลกna adresa, plus opcionalno polje Opcije. Odjeljak Podaci koji slijedi je korisni teret, a ne polje zaglavlja.

Ne. Kontrolna suma zaglavlja IPv4 pokriva samo polja zaglavlja, a ne i korisni teret. Protokoli viลกeg sloja poput TCP-a i UDP-a nose vlastite kontrolne sume za zaลกtitu podataka. Buduฤ‡i da se TTL mijenja na svakom skoku, usmjerivaฤi ponovno izraฤunavaju kontrolnu sumu zaglavlja pri svakom prosljeฤ‘ivanju.

Kada TTL dosegne nulu, usmjerivaฤ odbacuje paket i vraฤ‡a ICMP poruku o prekoraฤenom vremenu izvoru. To sprjeฤava da paketi...ping zauvijek u petlji usmjeravanja. traceroute Alat se oslanja na ovo ponaลกanje kako bi mapirao svaki skok duลพ puta.

Polje Protokol identificira koji protokol viลกeg sloja treba primiti korisni teret na odrediลกtu. Uobiฤajene vrijednosti su 6 za TCP, 17 za UDP i 1 za ICMP. Prijemni host ฤita ovaj broj kako bi proslijedio podatke ispravnom rukovatelju.

Alati umjetne inteligencije i strojnog uฤenja analiziraju snimljene IP zaglavlja kako bi otkrili anomalije poput laลพnih izvornih adresa, abnormalnih TTL vrijednosti ili napada fragmentacijom. Klasificiraju promet i oznaฤavaju prijetnje brลพe od ruฤnog pregleda, iako inลพenjer i dalje potvrฤ‘uje nalaze prije djelovanja.

GitHub kopilot moลพe nacrtati Python ili C kod koji raspakirava polja IP zaglavlja, dekodira zastavice i provjerava kontrolne zbrojeve iz kratkog komentara. RevPaลพljivo pregledajte generiranu logiku maskiranja bitova, buduฤ‡i da su pomaci koji su izvan za jedan ฤest izvor greลกaka pri parsiranju.

Saลพmite ovu objavu uz: