Služby, poskytované na jednotlivých úrovních síťového modelu TCP/IP ztratí, nebo když jej tato vrstva není z objektivních důvodů schopna doručit - například kvůli přeplněným vyrovnávacím pamětem, kvůli výpadku spojení atd. Takovouto nespolehlivou nespojovanou službu však musí síťová vrstva poskytovat jednotným způsobem v rámci celé soustavy vzájemně propojených sítí (tj. v rámci celého internetu, s malým "i"), bez ohledu na to, zda jsou data ve skutečnosti přenášena po lokální síti typu Ethernet, po dvoubodovém spoji, veřejnou datovou sítí či jiným způsobem.
Nad touto nespolehlivou nespojovanou přenosovou službou na úrovni síťové vrstvy pak TCP/IP model buduje spolehlivou transportní službu, a nad ní pak různé druhy aplikačních služeb.
IP, neboli Internet Protocol
Věnujme se nyní způsobu, jakým je v TCP/IP modelu implementována výše zmíněná nespolehlivá a nespojovaná přenosová služba na úrovni síťové vrstvy. Definuje ji protokol, který se plným jménem nazývá Internet Protocol, ale nejčastěji je označován zkratkou IP.
IP protokol definuje základní jednotku dat, která je soustavou TCP/IP sítí přenášena na úrovni síťové vrstvy, tzv. Internet datagram, zkráceně IP datagram, a jeho přesný vnitřní formát. Definuje také způsob, jakým mají být jednotlivé IP datagramy směrovány, a toto směrování pak příslušný IP software také zajišťuje. Kromě toho IP protokol také podrobněji definuje i další aspekty poskytované nespolehlivé a nespojované přenosové služby - například podmínky, za jakých mohou být přenášené pakety zahazovány, kdy mají být generována chybová hlášení a jaká tato hlášení mají být.
IP datagram a jeho formát
Podobně jako každý jiný druh paketu či rámce, má i IP datagram dvě základní části: řídící část, tvořenou hlavičkou datagramu, a datovou část. Při vlastním přenosu se tento datagram vkládá (jako data) do datové části rámce, se kterým pracuje bezprostředně nižší : Formát hlavičky IP datagramu vrstva - vrstva síťového rozhraní. V hlavičce jsou pak různé řídící informace, potřebné pro doručení datagramu resp. rámce - v případě hlavičky rámce jde mj. o fyzickou adresu skutečného odesilatele a bezprostředního příjemce, zatímco v hlavičce IP datagramu jde o IP adresy koncového příjemce a původního odesilatele. Jelikož v datovém rámci mohou být v principu přenášeny i jiné druhy paketů, musí zde být vyjádřeno také to, o jaký konkrétní druh paketu se v daném případě jedná (například v sítích typu Ethernet se druh paketu udává pomocí dvoubytové položky v hlavičce rámce, a IP datagramy zde mají vyhrazen kód 0800H). Podobně je tomu i na úrovni paketu, resp. IP datagramu - také v jeho hlavičce musí být vyjádřeno, jaký je význam obsahu datové části. V případě IP datagramu jde o jednobytovou položku, udávájící číslo protokolu na úrovni transportní vrstvy, kterému obsah IP datagramu patří (položka PROTOCOL).Maximální délka IP datagramu
Konkrétní formát hlavičky IP datagramu ukazuje obrázek 53.3. Za zmínku stojí například velikost položky TOTAL LENGTH, která udává celkovou délku IP datagramu (tj. jeho hlavičky i datové části), měřenou v oktetech (tj. v osmibitových bytech). Jelikož tato položka má rozsah 16 bitů, omezuje tím maximální možnou velikost IP datagramu na 65 535 oktetů.
Doba života
Další zajímavou položkou je jednobytová položka TIME TO LIVE. Ta udává, jak dlouho (měřeno v sekundách) se daný IP datagram může nacházet v soustavě vzájemně propojených sítí. Tato položka je jakousi pojistkou proti nekonzistentnostem ve směrovacích tabulkách, díky kterým by mohlo dojít k situaci, že by IP datagram byl směrován v kruhu, a obíhal v něm nekonečně dlouho. Tomu zabraňuje právě tato položka, jejíž obsah je každá mezilehlá brána povinna snižovat podle toho, jak dlouho se v ní příslušný datagram "zdrží". Jakmile dojde k vynulování položky TIME TO LIVE (doslova: doba života), je podle pravidel IP protokolu brána oprávněna daný IP datagram zahodit.
Fragmentace datagramů
Skutečnost, že IP protokol musí být schopen přenášet své datagramy prostřednictvím různých druhů přenosových cest, má některé významné důsledky. Například velikost datových rámců, přenášených na úrovni vrstvy síťového rozhraní TCP/IP modelu, je závislá na konkrétní přenosové technologii, pomocí které je daná dílčí síť realizována. V případě lokálních sítí typu Ethernet je to 1500 oktetů, zatímco například sítě Token Bus připouští rámce až do velikosti 8191 oktetů, a veřejné datové sítě na bázi doporučení X.25 pracují s rámci až do velikosti 4096 oktetů. Některé moderní přenosové technologie však pracují s mnohem menšími rámci - například jen 128 oktetů či ještě méně. Protokol IP se ale dost dobře nemůže přizpůsobit nejmenšímu možnému formátu rámce, aby do něj mohl vždy vložit svůj IP datagram celý. Proto musí počítat s možností fragmentace (viz též 41. díl našeho seriálu), při které pro potřeby přenosu dochází k rozdělení původního datagramu na několik dílčích fragmentů - tak velkých, aby se již vešly celé do těch rámců, které je příslušná síť schopna skutečně přenést . Jak jsme si již také naznačili, jde přitom o tzv. netransparentní fragmentaci, při které jednotlivé fragmenty skládá do původního celku až jejich koncový příjemce. Ten pak k tomu využívá položky IDENTIFICATION, FLAGS a FRAGMENT OFFSET jednotlivých fragmentů.Nepovinné části IP datagramů
Položka IP Options, která v hlavičce IP datagramu následuje IP adresu konečného adresáta, je položkou nepovinnou. Je určena především pro potřeby testování a ladění. Pomocí této položky, která má proměnnou délku, je například možné zaznamenávat cestu, kterou je příslušný datagram postupně přenášen - což je neocenitelné zvláště pro potřeby správy sítí. Kromě IP adres bran, kterými datagram postupně prochází, je možné v této položce zaznamenávat i čas, kdy datagram jednotlivými bránami prochází. Dalším mechanismem, velmi užitečným pro správu vzájemně propojených sítí, je pak možnost explicitně předepsat v této položce trasu, kterou má být IP datagram doručen.