IP vrstva Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF UDP TCP Transportní vrstva ICMP IGMP OSPF Síťová vrstva ARP IP RARP Ethernet driver Vrstva síťového rozhraní 1
IP vrstva Do IP vrstvy náležejí další protokoly (ICMP, IGMP, OSPF a další), které vkládají svá PDU do IP datagramů Protokol IP vkládá IP datagramy do rámců protokolů data-link vrstvy (např. IEEE 802.3, IEEE 802.11, FDDI) Protokoly ARP a RARP vkládají své zprávy přímo do rámců data-link vrstvy (nikoliv do IP datagramů) 2
IP protokol Vytváří datagramy Počítačové sítě IP vrstva Zajišťuje přenos datagramů přes směrovače, které rozhodují o přenosové trase (potvrzovaná služba bez spojení - nespolehlivá), V případě potřeby (velikost datagramu > MTU) rozděluje pakety na fragmenty každý fragment je samostatný datagram. Defragmentace (znovusestavení fragmentů) se provádí na cílovém systému IP poskytuje službu transportním protokolům UDP a TCP, připojuje IP záhlaví před UDP datagramy a TCP segmenty Pořadí přenášených bitů big endian 3
IP vrstva IP záhlaví PDU transportní vrstvy 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 VERSION HLEN TYPE OF SERVICE TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET TIME TO LIVE PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTION (PADDING) 4
IP vrstva Pole TOS (Type of Service) specifikace požadavků na přenos datagramu 8 9 10 11 12 13 14 15 D (Delay) - přenos s minimálním zpoždění T (Throughput) přenos s maximálním výkonem R (Reliability) přenos s maximální spolehlivostí C (Cost) přenos nejméně nákladný Přenos bez zvláštních požadavků TOS=0 D Aby nastavení TOS bylo účinné, musí být podporováno všemi směrovači na přenosové cestě T R C 5
IP vrstva Řízení fragmentace Identifikace fragmentu pole IDENTIFICATION (16 bitů) Příznak fragmentace pole FLAGS (3 bity, 1. je nevyužitý) DF Don t Fragment MF More Fragment 0 0 0 0 DF MF 1-0 1 0 0 nefragmentuje následují další fragmenty poslední fragment Umístění fragmentu v rámci původního datagramu (v počtu oktetů od prvního oktetu datagramu) pole FRAGMENT OFFSET (13 bitů) 6
IP vrstva Pole TIME-TO-LIVE maximální počet průchodů přes mezilehlé směrovače při průchodu směrovačem je hodnota snížena o 1. Je-li TTL=0/1 a datagram není v cílové IP síti chybová ICMP zpráva Pole PROTOCOL kód protokolu, jehož PDU je v datagramu zapouzdřeno Protokol kód Protokol kód IPv4 00 UDP 17 ICMP 01 TCP 06 IGMP 02 Pole HEADER CHECKSUM - kontrolní součet záhlaví (nikoliv datového obsahu) 7
IP vrstva Pole IP OPTION formát definované volby: Kód volby Délka Parametry 1 B 1 B Vytvoření záznamu o směrování (Record Route Option) kód 0x07 Specifikace striktní přenosové cesty (Strict Source Routing Option) kód 0x89 Specifikace volné přenosové cesty (Loose Source Routing Option) kód 0x83 Časový snímek (v msec uplynulých po půlnoci) přenosové cesty (Time Stamp Option) kód 0x44 Problém IP voleb: aby volby měly smysl, musely by být implementovány na všech mezilehlých zařízeních (routerech) na přenosové cestě (a to nebývají) 8
IP vrstva protokol ICMP Protokol ICMP (Internet Control Message Protocol) informace o chybách a jiných významných událostech IP datagram s ICMP zprávou IP záhlaví ICMP zpráva ICMP záhlaví ICMP data TYP KÓD CHECKSUM 8 8 16 9
IP vrstva protokol ICMP Kde je ICMP zpráva je generována Cílovým uzlem datagramu, ke kterému se ICMP zpráva vztahuje Jedním z mezilehlých uzlů (směrovačů), kterými tento IP datagram prochází Kdy není ICMP zpráva generována IP datagram přenáší jinou ICMP zprávu Cílová adresa datagramu je typu IP broadcast nebo IP multicast Datagram obsahuje jiný fragment než první (viz pole FRAGMENT OFFSET) Zdrojová adresa datagramu je 0.0.0.0., 127.0.0.1 (loopback), IP adresa typu IP broadcast nebo IP multicast 10
IP vrstva protokol ICMP ICMP Echo Request TYP=8, KÓD=0, data ICMP: Identifikátor zprávy Pořadové číslo zprávy Volitelná libovolná data ICMP Echo Reply - TYP=0, KÓD=0, data ICMP kopie dat z příslušné ICMP request ICMP Time Exceeded - TYP=11, KÓD=0/1, data ICMP : 4B 0 + záhlaví inkriminovaného IP datagramu (20B) + dalších 8 B Kód 0 - hodnota TTL=0/1 a IP datagram není v cílové IP síti generuje pouze router Kód 1 vypršel čas pro znovusestavení fragmentů datagramu - generuje pouze cílový uzel 11
IP vrstva protokol ICMP ICMP Destination Unreachable - TYP=3, KÓD=0-15, data ICMP: 4B 0 + záhlaví inkriminovaného IP datagramu (20B) + dalších 8 B Kód Význam Kód Význam 0 Nedostupná IPsíť 6 Cílová IP síť neznámá 1 Nedostupný IP host 7 Cílový IP host neznámý 2 Nedostupný protokol 9 Administrativní zákaz přístupu do IP sítě 3 Nedostupný port 10 Administrativní zákaz přístupu k IP hostu 4 Nutná fragmentace, nastaven D příznak 5 Určený router selhal (při IP volbě Source Routing ) 11 Nedostupná IP síť pro požadovanétos 12 Nedostupný IP host pro požadovanétos 12
IP vrstva protokol ICMP ICMP Redirect Error TYP=5, KÓD=0-3, data ICMP: IP adresa směrovače, na který měl být datagram poslán (4B) záhlaví inkriminovaného IP datagramu (20B) dalších 8 B datagramu ICMP Redirect generuje směrovač, na který byl (nekorektně) datagram zaslán IP datagram (1) (3) ICMP (2) R2 R1 13
IP vrstva protokol ICMP ICMP 5 Redirect Error Zdrojový uzel v ICMP obdrží ve zprávě Redirect Error : IP adresu směrovače (nesprávného), kterou si má ve své tabulce opravit IP adresu směrovače, kam měl být datagram správně poslán (tu si musí zapsat do tabulky) IP adresu cílového uzlu, kam byl datagram posílán Kód 0 - přesměrování pro IP síť 1 - přesměrování pro IP host 2 - přesměrování pro IP síť a TOS 3 - přesměrování pro IP host a TOS 14
IP vrstva protokol ICMP ICMP Time Stamp Request/Reply TYP=13/14, KÓD=0, data ICMP: Identifikátor (2B), pořadové číslo zprávy (2B) Čas odeslání (v msec uplynulých od půlnoci) (4B) Čas přijetí (4B) Čas odeslání odpovědi (4B) request reply RTT Round-trip Time 15
IP vrstva protokol ICMP ICMP Source Quench Error TYP=4, KÓD=0, data ICMP: 32 bitů 0 (4B) záhlaví inkriminovaného IP datagramu (20B) dalších 8 B datagramu může generovat směrovač nebo cílový systém, který nestíhá ICMP Parameter Problems Error TYP=12, KÓD=0/1, data ICMP: Ukazatel na chybný oktet v datagramu (1B) + 24 bitů 0 (3B) záhlaví inkriminovaného IP datagramu (20B) dalších 8 B datagramu Kód 0 chyba v hodnotě parametru Kód 1 požadovaný parametr (volitelný) chybí 16
IP vrstva protokol ICMP Seznam typů ICMP zpráv 17