<p>     Protokol IP (Internet Protokol)je komunikaÄný protokol, na ktorom je postavený napríklad Internet. IP protokol zaisťuje komunikáciu dvoch poÄítaÄov. Komunikácia prebieha výmenou takzvaných IP paketov. IP paket obsahuje hlaviÄku a údaje, ktoré prenáša. Tieto údaje sa prenášajú na sieťové rozhrania s danou IP adresou. IP adresa je súÄasťou hlaviÄky IP paketu. IP adresa (vo verzii protokolu IPv4) má 4 byte. Je běžné používať na Internete ako adresu nie 4 byteové Äíslo, ale nejaký textový reťazec, napríklad www.linux.sk. Takýto textový reťazec sa lepšie pamätá. Napríklad http://147.175.66.133 by sa asi ťažko pamätal. Dôvod, preÄo boli zavedené tieto textové reťazce, doménové mená (Domain Name) je teda Äisto praktický. Ak chceme komunikovať, musíme poznať IP adresu. Bežne sa reťazce doménových mien prekladajú na IP adresy pomocou DNS serverov (Domain Name Server), v Äasti Resolve Domain Name je jednoduchý program, ktorý by to mohol (za pomoci súboru /etc/hosts alebo DNS servera) zvládnuť.<br /><br />     IPv4 je verzia 4 Internet Protocolu (IP). Bola prvou široko používanou verziou a tvorí základ väÄšej Äasti súÄasného Internetu. Je opísaný v IETF RFC 791, ktorý bol prvý krát zverejnený v septembri 1981. IPv4 používa 32-bitové adresy, Äo obmedzuje adresný priestor na 4 294 967 296 jedineÄných adries, z ktorých je množstvo vyhradených pre zvláštne úÄely ako lokálne siete alebo multicastové adresy, Äo redukuje poÄet adries použiteľných ako verejné internetové adresy. Toto obmedzenie pomohlo stimulovať presadzovanie IPv6, ktorý v súÄasnosti prechádza skorými štádiami nasadenia a plánuje sa, že postupne celkom nahradí IPv4. <br /><br />     IPv4 adresy sa zvyÄajne zapisujú v bodkovej desiatkovej notácii. Tu je príklad: 207.142.131.235. Je tiež možné zapísať ju v nasledovných tvaroch:</p>
<p> </p>
<p>
<table border="0">
<tbody>
<tr>
<td>Bodková desiatková (normálna)</td>
<td>207.142.131.235</td>
</tr>
<tr>
<td>Bodková hexadecimálna</td>
<td>0xCF.0x8E.0x83.0xEB</td>
</tr>
<tr>
<td>Bodková osmiÄková</td>
<td>0317.0216.0203.0353</td>
</tr>
<tr>
<td>Desiatková</td>
<td>3482223595</td>
</tr>
<tr>
<td>Hexadecimálna</td>
<td> 0xCF8E83EB</td>
</tr>
</tbody>
</table>
</p>
<p> </p>
<p> <img src="siete/image16.jpg" border="0" alt="Alternatívny text" /></p>
<p>                          Tab. 1 Formát hlaviÄky IPv4</p>
<p>Verzia -prvé pole v hlaviÄke IPv4 paketu je 4-bitové.<br /><br />     Dĺžka internetovej hlaviÄky (IHL) je 4-bitová a oznamuje poÄet 32-bitových slov v hlaviÄke IPv4. KeÄže IPv4 hlaviÄka môže obsahovať niekoľko voliteľných súÄastí, toto pole zvyÄajne špecifikuje offset na dátovú Äasť IPv4 datagramu. Minimálna dĺžka IPv4 hlaviÄky je 20 bajtov, takže minimálna hodnota v IHL poli by bola 5 (5x4=20 bajtov). To znamená, že reprezentuje celkový poÄet bajtov, ktoré zaberá hlaviÄka ako násobky štyroch bajtov. V RFC791 bolo nasledujúcich 8 bitov vyhradených pre pole Typ služby (ToS), dnes DiffServ a ECN. Pôvodný zámer bol, aby paket mohol špecifikovať preferencie, ako bude doruÄený internetovou sieťou. Bolo napríklad možné nastaviť hodnotu ToS na nízke zdržanie alebo vysokú spoľahlivosť. V praxi nebolo použitie ToS nikdy široko implementované, hoci sa využitie týchto ôsmich bitov zameriavalo množstvo experimentálnej a výskumnej práce. Tieto bity boli predefinované a v súÄasnosti ich využíva DiffServ, pracovná skupina IETF a kódové body ECN (pozri RFC3168). Ďalšie 16-bitové pole definuje veľkosť celého datagramu -- hlaviÄky aj dát, v 8-bitových bajtoch. Minimálna dĺžka datagramu je 20 bajtov a maximálna 65 535. Maximálna veľkosť datagramu, s ktorou musí byť schopný zaobchádzať každý stroj je 576 bajtov, ale moderné stroje pracujú s oveľa väÄšími paketmi. Niekedy podsiete urÄujú dodatoÄné obmedzenia na veľkosť, v takom prípade sa používa fragmentácia datagramov. Fragmentácia sa implementuje buÄ v stroji alebo prepínaÄi paketov (pozri nižšie). Ďalšie 16-bitové pole je identifikaÄné. Toto pole sa využíva na jedineÄnú identifikáciu fragmentov originálneho datagramu. Niektoré experimentálne práce navrhovali iné využitie tohto poľa ako pridanie informácie na stopovanie datagramu, aby bolo možné spätne vystopovať pakety s nepravou adresou. Nasleduje 3-bitové pole použité na riadenie alebo identifikáciu paketov. Sú to (v poradí od najvyššieho po najnižší): <br />rezervovaný, musí byť 0<br />nefragmentuj (ak je nastavený)<br />viac fragmentov<br /><br />     Pole offsetu fragmentu je 13-bitov dlhé a umožňuje prijímateľovi zistiť umiestnenie jednotlivého fragmentu v originálnom IP datagrame. Meria sa v jednotkách 8-bajtových blokov.<br /><br />     8-bitové time to live (TTL) pole pomáha zamedziť blúdeniu paketov (cykleniu po rovnakej trase) v rámci siete. Z historického hľadiska bolo TTL pole obmedzené na životnosť v sekundách, ale stalo sa poľom poÄítadla skokov. Každý switch (alebo router), ktorým paket prejde dekrementuje hodnotu TTL poľa o jednotku. KeÄ poÄítadlo TTL dosiahne nulu, paket sa Äalej nepreposiela, ale sa zahodí.<br /><br />     Nasleduje 8-bitové pole protokolu. Definuje protokol použitý v rámci dátovej Äasti IP datagramu. IANA udržiava zoznam Äísel protokolov. Bežné protokoly s ich desiatkovými hodnotami sú ICMP (1), TCP (6) a UDP (17).<br /><br />     Nasledujúce pole je 16-bitový kontrolný súÄet pre hlaviÄku IPv4 datagramu. Niektoré hodnoty v hlaviÄke sa môžu zmeniť po každom skoku paketu, takže kontrolný súÄet musí byť po ceste prepoÄítavaný.Po kontrolnom súÄte nasleduje 32-bitová zdrojová adresa a 32-bitová cieľová adresa.DodatoÄné polia v hlaviÄke (voliteľné) môžu nasledovať za poľom cieľovej adresy, ale nie sú Äasto používané. Všimnite si, že hodnota v poli IHL musí zahŕňať dodatoÄné 32 bitové polia, aby uložila všetky nepovinné polia (Plus zarovnanie potrebné na zabezpeÄenie, aby hlaviÄka obsahovala celoÄíselný poÄet 32-bitových slov). Zoznam nepovinných polí môže byť ukonÄený poľom EOL (End of Options List) -- to je jediné potrebné na zamedzenie kolízie s koncom hlaviÄky.Použitie volieb LSSR a SSRR (Loose and Strict Source and Record Route) sa neodporúÄa z bezpeÄnostných dôvodov; takéto pakety bývajú blokované routrami.</p>