Ero sivun ”IP-paketti” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
ikävää kun fragmentointiin viitataan samassa artikkelissa kolmella eri suomenkielisellä termillä
Vesteri (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 49:
 
'''Versio'''
:Ilmoittaa protokollan versionumeron, tässä tapauksessa 4 eli binäärijärjestelmällä ilmoitettuna 0100
'''Otsikon pituus''' (IHL, Internet header length)
 
:Ilmoittaa IP-otsikon pituuden 32-bittisinä sanoina. Data-osiota ei lasketa tähän mukaan. Jos optioita ei käytetä niin kentän arvo on 5.
 
'''Palveluluokka''' (TOS, Type of service)
 
:Ilmoittaa toivomuksen palveluluokasta. Alkuperäisessä määrittelyssä RFC791:ssä ensimmäiset kolme bittiä (precedence) määriteltiin liikenteen luokitteluun ja merkkaukseen. Seuraavat kolme bittiä sisältävät toivomuksen palvelulaadusta. Kaksi viimeistä bittiä jätettiin tulevia tarpeita varten. Nykyään TOS-kenttää käytetään [[DiffServ]]:iä ja [[Explicit Congestion Notification|ECN]]:ää varten.
 
'''Kokonaispituus'''
 
:Ilmoittaa IP-paketin kokonaispituuden (otsikko + data) okteteissa eli kahdeksan bitin mittaisissa tavuissa.
 
'''Fragmenttitunnus'''
 
:Ilmoittaa paloittelutunnuksen, jos dataa on jouduttu lohkomaan matkan varrella. Samaan alkuperäiseen data-osioon kuuluvat palaset saavat saman tunnuksen, jotta kokoaminen onnistuisi.
 
'''Liput'''
 
:Ensimmäinen bitti näistä on varattu ja sen täytyy olla aina 0. Toinen bitti ilmaisee saako pakettia paloitella; saa, jos ja vain jos se on arvossa 1. Jäljelle jäänyt bitti ilmaisee onko alun perin paloitellun paketin tapauksessa tulossa vielä lisää palasia; arvo 1 ilmaisee, että lisää palasia on tulossa ja 0 paketin olevan viimeinen palanen.
 
'''Fragmentin paikka'''
 
:Ilmoittaa mihin kohtaan kokonaisuudesta mikin paloitellun paketin palanen kuuluu. Ensimmäinen palanen saa tähän kenttään arvon 0, joka tarkoittaa paloittelun aloittamista data-kentän alusta. Lailliset paketit on paloiteltava 64-bitin monikertojen kohdilta.
'''Paketin elinaika''' (TTL, Time to live)
 
:Ilmoittaa paketin elinajan. Alun perin kenttä ilmoitti paketin elinajan sekunteina mutta nykyään kenttä on ns. hyppylaskuri. Kentän suurin mahdollinen arvo on 255 eli kaikki kahdeksan bittiä ykkösiä. Arvoa vähennetään aina yhdellä sen kulkiessa reitittimen läpi. Kun elinajan arvo on 0, paketin vastaanottava reitin pudottaa sen liikenteestä ja lähettää normaalisti lähettäjäasemalle ICMP time exeeded -virheilmoituksen lähetyksen epäonnistumisesta.
 
'''Protokolla'''
 
:Ilmoittaa seuraavan kerroksen protokollan, jonka paketti on IP-paketin data-osiossa. Esimerkiksi:
:* 1: [[ICMP]]
:* 21: [[IGMPICMP]]
:* 62: [[TCPIGMP]]
:* 176: [[UDPTCP]]
:* 117: [[ICMPUDP]]
 
'''Tarkistussumma'''
 
:Ilmoittaa otsikon tarkistussumman. Tarkistussummaa tarvitaan, jotta voidaan havaita onko IP-paketin otsikko muuttunut matkalla kohdeasemaan, joka saattaa olla erittäinkin kriittistä yhteyden kannalta. Data-osiota ei lasketa tarkistuksessa mukaan ja sen oikeellisuuden tarkistus täytyy hoitaa ylemmän tason protokollalla.
 
'''Lähdeosoite'''
 
:Ilmoittaa lähettäjän 32-bittisen IPv4 osoitteen. [[IP-väärennös]] on käytännössä niinkin helppoa, että lähettäjä asettaa tämän kohdan otsikosta itse. Ongelmia saattaa tosin ilmentyä reitityksessä kohdeasemaan mutta sekin on suhteellisen helposti ratkaistava ongelma.
 
'''Kohdeosoite'''
 
:Ilmoittaa kohdeaseman 32-bittisen IP-osoitteen.
'''Optiot'''
 
:Ilmoittaa paketin optiot jos niitä on. Optioita käytetään nykyisin erittäin harvoin ja enimmäkseen ne ovatkin [[krakkeri]]en suosiossa sillä niillä voidaan muun muassa manipuloida paketin reititystä. Mikäli optiot jäävät vajaaksi 32-bitin monikerrasta täytyy perään lisätä täytettä, koska IP-otsikon täytyy olla 32-bitin monikerran kokoinen.
'''Data'''
 
:Sisältää luonnollisesti IP-paketin varsinaisen data, joka yleensä alkaa seuraavan tason protokollan otsikolla.
 
==IPv6-paketti==