IP

Wikipedia

TCP/IP-protokollia
(keskimmäiset kolme kerrosta)
sovellukset esim. selain (sisältö HTML, XML, MIME)
sovelluskerros HTTP, SMTP, POP, IMAP, FTP, IRC,
Telnet, SIP, RTSP, RTP, SNMP ...
kuljetuskerros TCP, UDP, SCTP, DCCP
(tukena: DNS, OSPF, BGP)
verkkokerros IP, ARP, DHCP, ICMP, IGMP
IPv6, IPsec, Mobile IPv6, SSM...
peruskerros esim. IEEE 802 -lähiverkot, PPP,
Frame Relay, MPLS, GPRS

IP (lyhenne sanoista Internet Protocol) on verkkokerroksen protokolla, joka huolehtii IP-tietoliikennepakettien toimittamisesta perille pakettikytkentäisessä internet-verkossa. Se on myös koko Internetin ydin ja ainoa asia, mikä kaikkia Internetiin liitettyjä koneita yhdistää.

IP-paketit toimitetaan perille IP-osoitteiden perusteella. IP-osoite on tavallisesti numero kuten "192.68.11.1" (IPv4) tai 2002:a00::260:1dff:fe22:5a85/64 (IPv6). Selväkielisten osoitteiden muuttamisesta IP-osoitteiksi vastaa DNS-järjestelmä.

IP-pakettien perille toimittamista sanotaan reitittämiseksi ja sen tekevät reitittimet perustuen reititysprotokollien välittämään tietoon IP-osoitteiden sijaintipaikoista Internetissä ja lyhyimmistä reiteistä näiden välillä.

IP-paketti ei vielä välttämättä ole pienin verkossa kuljetettava yksikkö vaan se joissakin tapauksissa joudutaan vielä jakamaan pienemmiksi osapaketeiksi (fragmenteiksi).

Sisällysluettelo

[muokkaa] IP-protokollat

IP-protokollat on numeroitu. Protokollan numerosta vastaanottaja tietää, mitä IP-paketin sisällä on. Yleisimpiä protokollia ovat

Kuva:IP-paketti.png

[muokkaa] IP-paketti (IPv4)

IP-paketti koostuu pakollisista otsikkotiedoista ja data-osiosta:

+ 0 - 3 4 - 7 8 - 15 16 - 18 19 - 31
0 versio otsikon pituus palveluluokka
(tällä hetkellä DiffServ ja ECN)
kokonaispituus
32 fragmenttitunnus liput fragmentin paikka
64 elinaika protokollan numero otsikon tarkistussumma
96 lähdeosoite
128 kohdeosoite
160 Options
192  
Data
 

Bitit 0-3 ilmoittavat version numeron joka tässä tapauksessa on IPv4, jota käytettäessä bitit kirjoitetaan siis binäärijärjestelmällä 0100.

Bitit 4-7 ilmoittavat paketin IP-otsikon pituuden 32-bitin mittaisissa sanoissa. Normaalisti, kun optioita ei käytetä, tämä on asetettuna arvoon 5. Data-osiota ei siis lasketa arvoon mukaan.

Bitit 8-15 ilmoittavat palveluluokan (engl. Type of service). Kolmea ensimmäistä bittiä ei käytetä ja neljä seuraavaa ilmaisevat halutun palveluluokan ja jäljelle jäänyt viimeinen bitti on merkityksetön. Tavallisessa IP-paketissa relevantit neljä bittiä ovat kaikki nollia.

Bitit 16-31 ilmoittavat IP-paketin kokonaispituuden okteteissa eli kahdeksan bitin mittaisissa tavuissa. Arvoon lasketaan mukaan koko IP-paketin mukaan lukien otsikko.

Bitit 32-47 ilmoittavat paloittelutunnuksen, jos IP-pakettia on jouduttu paloittelemaan matkan varrella. Saman alkuperäisen IP-paketin palaset saavat luonnollisesti kaikki saman tunnuksen, jotta kokoaminen onnistuisi.

Bitit 48-50 ilmoittavat paketin liput. Ensimmäinen näistä on varattu ja sen täytyy olla arvoltaan 0. Seuraava 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.

Bitit 51-63 ilmoittavat paloitellun paketin palasen paloittelupaikan 64-bitin (eli 8 tavua) kerrannaisina. Ensimmäisen paloitellun paketin palanen saa tähän kenttään siis arvon 0, joka tarkoittaa siis paloittelun aloittamista data-kentän alusta. Lailliset paketit on siis paloiteltava 64-bitin monikertojen kohdilta.

Bitit 64-71 ilmoittavat paketin elinajan. Suurin mahdollinen arvo on 255 eli kaikki kahdeksan bittiä ykkösiä. Tämä asetetaankin normaalisti paketin elinajaksi, jonka arvoa vähennetään yhdellä sen kulkiessa reitittimen läpi. Kun elinajan arvo on 0, paketin vastaanottava reitin tiputtaa sen liikenteestä ja lähettää normaalisti lähettäjäasemalla ICMP time exeeded virheilmoituksen lähetyksen epäonnistumisesta.

Bitit 72-79 ilmoittavat seuraavan kerroksen protokollan, jonka otsikko alkaa data-osion alusta.

Bitit 80-95 ilmoittavat otsikon tarkistussumman. Tarkistussummaa tarvitaan, jotta voidaan havaita onko IP-paketin otsikko mutatoitunut 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.

Bitit 96-127 ilmoittavat 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.

Bitit 128-159 ilmoittavat taasen kohdeaseman IP-osoitteen.

Bitit 160- (160 + 32-bitin monikerta - 1) ilmoittavat paketin optiot, jos niitä on. Optioita käytetään nykyisin erittäin harvoin ja enimmäkseen ne ovatkin krakkerien suosiossa sillä niillä voidaan mm. 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 (ks. otsikon pituus, bitit 4-7).

Data sisältää luonnollisesti IP-paketin varsinaisen data, joka yleensä alkaa seuraavan tason protokollan otsikolla.


[muokkaa] Standardointi ja versiot

Tällä hetkellä Internetissä on yleisimmin käytössä IP-protokollan neljäs versio, IPv4.

Jo pitkään on odotettu uudemman IPv6-version korvaavan nykyinen versio IPv4, mutta toistaiseksi IPv6:n käyttö on vähäistä, vaikka se on saatavissa useimmille tietokoneille. Tärkeimpänä uudistuksena IPv6-versiossa on osoitteiden pidentäminen, jolloin osoitettavia tietokoneita voi olla paljon nykyistä neljää miljardia enemmän. Tarvetta siirtyä käyttämään sitä on vähentänyt mm. se, että osoitteenmuunnosratkaisut ovat auttaneet osoitteiden riittävyydessä. IPv6-tietoliikenne ei ole käsiteltävissä sellaisilla tietokoneilla tai reitittimillä, jotka tukevat vain IPv4:ää.

IP-protokolla määritellään RFC-dokumenteissa

[muokkaa] Katso myös

[muokkaa] Aiheesta muualla

  • IP-Adress.com Geolocates any IP with Google Maps (english)
  • [1] Kartta internet-protokollasta ja sen päällisistä ja alaisista protokollista