09.09.2014 Views

• Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF IP - eAMOS

• Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF IP - eAMOS

• Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF IP - eAMOS

SHOW MORE
SHOW LESS

Transform your PDFs into Flipbooks and boost your revenue!

Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.

Počítačové sítě<br />

<strong>IP</strong> vrstva<br />

<strong>•</strong> <strong>Protokoly</strong>: <strong>IP</strong>, <strong>ARP</strong>, R<strong>ARP</strong>, <strong>ICMP</strong>, <strong>IGMP</strong>, <strong>OSPF</strong><br />

UDP<br />

TCP<br />

Transportní vrstva<br />

<strong>ICMP</strong> <strong>IGMP</strong> <strong>OSPF</strong><br />

Síťová vrstva<br />

<strong>ARP</strong><br />

<strong>IP</strong><br />

R<strong>ARP</strong><br />

Ethernet<br />

driver<br />

Vrstva síťového rozhraní 1


Počítačové sítě<br />

<strong>IP</strong> vrstva<br />

<strong>•</strong> <strong>IP</strong> protokol vytváří datagramy,<br />

<strong>•</strong> zajišťuje přenos datagramů (potvrzovaná služba bez spojení<br />

- nespolehlivá),<br />

<strong>•</strong> v případě potřeby (velikost datagramu > MTU) rozděluje<br />

pakety na fragmenty – každý fragment je samostatný<br />

datagram.<br />

<strong>•</strong> fragmenty sestavuje (defragmentace) <strong>IP</strong> vrstva na cílovém<br />

systému<br />

<strong>•</strong> <strong>IP</strong> poskytuje službu transportním protokolům UDP a TCP,<br />

připojuje <strong>IP</strong> záhlaví před UDP datagramy a TCP segmenty<br />

<strong>•</strong> Pořadí přenášených bitů – big endian, tj. 2 0 2 7<br />

2 8 2 15 2 16 2 23 …………………….<br />

2


Počítačové sítě<br />

Schéma <strong>IP</strong> datagramu<br />

<strong>IP</strong> záhlaví<br />

PDU transportní vrstvy<br />

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15<br />

VERSION HLEN TYPE OF SERVICE<br />

TOTAL LENGTH<br />

FLAGS<br />

TIME TO LIVE<br />

IDENTIFICATION<br />

FRAGMENT OFFSET<br />

PROTOCOL<br />

HEADER CHECKSUM<br />

20 oktetů<br />

SOURCE <strong>IP</strong> ADDRESS<br />

32 bitů<br />

DESTINATION <strong>IP</strong> ADDRESS<br />

<strong>IP</strong> OPTION (PADDING)<br />

32bitů<br />

3


Počítačové sítě<br />

<strong>IP</strong> vrstva<br />

<strong>•</strong> Pole TOS (Type of Service) – specifikace požadavků na přenos<br />

datagramu<br />

8 9 10 11 12 13 14 15<br />

D (Delay) - přenos s minimálním zpoždění<br />

T (Throughput) – přenos s maximálním výkonem<br />

R (Reliability) – přenos s maximální spolehlivostí<br />

D<br />

C (Cost) – přenos nejméně nákladný<br />

<strong>•</strong> Přenos bez zvláštních požadavků TOS=0<br />

<strong>•</strong> Aby nastavení TOS bylo účinné, musí být podporováno všemi<br />

směrovači na přenosové cestě<br />

T<br />

R<br />

C<br />

4


Počítačové sítě<br />

<strong>IP</strong> vrstva<br />

<strong>•</strong> Řízení fragmentace<br />

– Identifikace fragmentu - IDENTIFICATION (16 bitů)<br />

– Příznak fragmentace – FLAGS (3 bity, 1. je nevyužitý)<br />

DF – Don´t Fragment MF – More Fragment<br />

0<br />

0<br />

0<br />

0<br />

DF MF<br />

1 -<br />

0 1<br />

0 0<br />

nefragmentuje<br />

následují další fragmenty<br />

poslední fragment<br />

– Umístění fragmentu v rámci původního datagramu (v počtu oktetů<br />

od prvního oktetu datagramu) – FRAGMENT (13 bitů)<br />

5


Počítačové sítě<br />

<strong>IP</strong> vrstva<br />

<strong>•</strong> Time-to-live – maximální počet průchodů přes mezilehlé směrovače –<br />

při průchodu směrovačem je hodnota snížena o 1. Je-li TTL=0 a<br />

datagram není v cílové <strong>IP</strong> síti<br />

chybová <strong>ICMP</strong> zpráva<br />

<strong>•</strong> Protokol – identifikátor protokolu, jehož PDU je v datagramu<br />

zapouzdřeno<br />

– <strong>IP</strong>v4 … ..00 <strong>IP</strong>v6 … ….41<br />

– <strong>ICMP</strong>. …01 <strong>ICMP</strong>v6….58<br />

– <strong>IGMP</strong>…..02<br />

– UDP……17 TCP………06<br />

<strong>•</strong> Kontrolní součet záhlaví (nikoliv datového obsahu)<br />

<strong>•</strong> <strong>IP</strong> volby kód volby délka parametry<br />

1 1 proměnná délka<br />

6


Počítačové sítě<br />

<strong>IP</strong> vrstva<br />

<strong>•</strong> <strong>IP</strong> volby – definované volby:<br />

– Vytvoření záznamu o směrování (Record Route Option) – kód<br />

0x07<br />

– Specifikace striktní přenosové cesty (Strict Source Routing<br />

Option) – kód 0x89<br />

– Specifikace volné přenosové cesty (Loose Source Routing<br />

Option) – kód 0x83<br />

– Časový snímek (v msec uplynulých po půlnoci) přenosové cesty<br />

(Time Stamp Option) – kód 0x44<br />

<strong>•</strong> Problém <strong>IP</strong> option: aby volby měly smysl, musely by být<br />

implementovány na všech mezilehlých zařízeních (routerech) na<br />

přenosové cestě (a to nebývají)<br />

<strong>•</strong> <strong>IP</strong> padding – <strong>IP</strong> datagramy jsou dorovnávány na hranice 4<br />

oktetového „slova“<br />

7


Počítačové sítě<br />

<strong>IP</strong> vrstva – protokol <strong>ICMP</strong><br />

<strong>•</strong> Protokol <strong>ICMP</strong> (Internet Control Message Protocol) –<br />

informace o chybách a jiných významných událostech<br />

<strong>•</strong> <strong>IP</strong> datagram s <strong>ICMP</strong> zprávou<br />

<strong>IP</strong> záhlaví<br />

<strong>ICMP</strong> zpráva<br />

<strong>ICMP</strong> záhlaví<br />

<strong>ICMP</strong> data<br />

TYP KÓD CHECKSUM<br />

8 8 16<br />

8


<strong>•</strong> <strong>ICMP</strong> zpráva je generována<br />

Počítačové sítě<br />

<strong>IP</strong> vrstva – protokol <strong>ICMP</strong><br />

– Cílovým uzlem datagramu, ke kterému se <strong>ICMP</strong> zpráva<br />

vztahuje<br />

– Jedním z mezilehlých uzlů (směrovačů), kterými tento <strong>IP</strong><br />

datagram prochází<br />

<strong>•</strong> Kdy není <strong>ICMP</strong> zpráva generována<br />

– <strong>IP</strong> datagram přenáší jinou <strong>ICMP</strong> zprávu<br />

– Cílová adresa datagramu je typu <strong>IP</strong> broadcast nebo <strong>IP</strong><br />

multicast<br />

– Datagram obsahuje jiný fragment než první (pole<br />

FRAGMENT OFFSET)<br />

– Zdrojová adresa datagramu je 0.0.0.0., 127.0.0.1 (loopback),<br />

<strong>IP</strong> adresa typu <strong>IP</strong> broadcast nebo <strong>IP</strong> multicast<br />

9


Počítačové sítě<br />

<strong>IP</strong> vrstva – protokol <strong>ICMP</strong><br />

<strong>•</strong> <strong>ICMP</strong> „Echo Request“ – TYP=8, KÓD=0, data <strong>ICMP</strong>:<br />

– Identifikátor zprávy<br />

– Pořadové číslo zprávy<br />

– Volitelná libovolná data<br />

<strong>•</strong> <strong>ICMP</strong> „Echo Reply“ - TYP=0, KÓD=0, data <strong>ICMP</strong> – kopie dat z<br />

příslušné <strong>ICMP</strong> „request“<br />

<strong>•</strong> <strong>ICMP</strong> „Time Exceeded“ - TYP=11, KÓD=0/1, data <strong>ICMP</strong> :<br />

4B „0“ + záhlaví inkriminovaného <strong>IP</strong> datagramu (20B) + dalších 8 B<br />

– Kód 0 ..hodnota TTL=0 a <strong>IP</strong> datagram není v cílové <strong>IP</strong> síti –<br />

generuje pouze router<br />

– Kód 1…vypršel čas pro znovusestavení fragmentů datagramu -<br />

generuje pouze cílový uzel<br />

10


Počítačové sítě<br />

<strong>IP</strong> vrstva – protokol <strong>ICMP</strong><br />

<strong>•</strong> <strong>ICMP</strong> „Destination Unreachable“- TYP=3, KÓD=0 - 15, data <strong>ICMP</strong>:<br />

4B „0“ + záhlaví inkriminovaného <strong>IP</strong> datagramu (20B) + dalších 8 B<br />

kód<br />

0<br />

1<br />

2<br />

3<br />

4<br />

5<br />

význam<br />

Nedostupná <strong>IP</strong>síť<br />

Nedostupný <strong>IP</strong> host<br />

Nedostupný protokol<br />

Nedostupný port<br />

Nutná fragmentace, nastav<br />

D příznak<br />

Určený router selhal (při <strong>IP</strong><br />

volbě „Source Routing“)<br />

kód<br />

6<br />

7<br />

9<br />

10<br />

11<br />

12<br />

význam<br />

Cílová <strong>IP</strong> síť neznámá<br />

Cílový <strong>IP</strong> host neznámý<br />

Administrativní zákaz<br />

přístupu do <strong>IP</strong> sítě<br />

Administrativní zákaz<br />

přístupu k <strong>IP</strong>hostu<br />

Nedostupná <strong>IP</strong> síť pro<br />

požadovanéTOS<br />

Nedostupný <strong>IP</strong> host pro<br />

požadovanéTOS<br />

11


Počítačové sítě<br />

<strong>IP</strong> vrstva – protokol <strong>ICMP</strong><br />

<strong>•</strong> <strong>ICMP</strong> „ Redirect Error“ – TYP=5, KÓD=0 - 3, data <strong>ICMP</strong>:<br />

– <strong>IP</strong> adresa směrovače, na který měl být datagram poslán (4B)<br />

– záhlaví inkriminovaného <strong>IP</strong> datagramu (20B)<br />

– dalších 8 B datagramu<br />

generuje směrovač, na který byl (nekorektně) datagram<br />

zaslán<br />

(1)<br />

host<br />

<strong>IP</strong> datagram<br />

<strong>ICMP</strong><br />

R1<br />

(3)<br />

(2)<br />

R2<br />

12


Počítačové sítě<br />

<strong>IP</strong> vrstva – protokol <strong>ICMP</strong> – <strong>ICMP</strong> 5 „Redirect Error“<br />

<strong>•</strong> <strong>ICMP</strong> „Redirect Error“ generuje pouze směrovač<br />

<strong>•</strong> Zdrojový uzel v <strong>ICMP</strong> zprávě má <strong>IP</strong>adresy:<br />

– Cílového uzlu (způsobila vyslání <strong>ICMP</strong> zprávy)<br />

– Směrovače, kam měl být datagram správně poslán<br />

– Směrovače, kam byl datagram poslán nesprávně a který <strong>ICMP</strong><br />

zprávu vygeneroval<br />

<strong>•</strong> Kód<br />

– 0 - přesměrování pro <strong>IP</strong> síť<br />

– 1 - přesměrování pro <strong>IP</strong> host<br />

– 2 - přesměrování pro <strong>IP</strong> síť a TOS<br />

– 3 - přesměrování pro <strong>IP</strong> host a TOS<br />

13


Počítačové sítě<br />

<strong>IP</strong> vrstva – protokol <strong>ICMP</strong><br />

<strong>•</strong> <strong>ICMP</strong> „ Time Stamp Request/Reply“ – TYP=13/14,<br />

KÓD=0 , data <strong>ICMP</strong>:<br />

– Identifikátor (2B), pořadové číslo zprávy (2B)<br />

– Čas odeslání (v msec uplynulých od půlnoci) (4B)<br />

– Čas přijetí (4B)<br />

– Čas odeslání odpovědi (4B)<br />

request<br />

reply<br />

RTT – Round-trip Time<br />

14


Počítačové sítě<br />

<strong>IP</strong> vrstva – protokol <strong>ICMP</strong><br />

<strong>•</strong> <strong>ICMP</strong> „ Source Quench Error“ – TYP=4, KÓD=0 , data<br />

<strong>ICMP</strong>:<br />

– 32 bitů „0“ (4B)<br />

– záhlaví inkriminovaného <strong>IP</strong> datagramu (20B)<br />

– dalších 8 B datagramu<br />

může generovat směrovač nebo cílový systém, který „nestíhá“<br />

<strong>•</strong> <strong>ICMP</strong> „ Parameter Problems Error“ – TYP=12, KÓD=0/1 ,<br />

data <strong>ICMP</strong>:<br />

– Ukazatel na chybný oktet v datagramu (1B) + 24 bitů „0“ (3B)<br />

– záhlaví inkriminovaného <strong>IP</strong> datagramu (20B)<br />

– dalších 8 B datagramu<br />

Kód 0 – chyba v hodnotě parametru<br />

Kód 1 – požadovaný parametr (volitelný) chybí<br />

15


Počítačové sítě<br />

<strong>IP</strong> vrstva – protokol <strong>ICMP</strong><br />

<strong>•</strong> <strong>ICMP</strong> „ Address Mask Request/Reply“ – TYP=17/18,<br />

KÓD=0, data <strong>ICMP</strong>:<br />

– Identifikátor (2B), pořadové číslo zprávy (2B)<br />

– Maska <strong>IP</strong> podsítě, ke které je síťové rozhraní připojeno (4B)<br />

„Request“ generuje uzel (např. bezdiskový terminál) po zapnutí<br />

„Reply“ generuje uzel podsítě<br />

<strong>•</strong> <strong>ICMP</strong> „ Router Solicitation“ – TYP=10, KÓD=0, data=0<br />

<strong>•</strong> <strong>ICMP</strong> „ Router Advertisement“ – TYP=9, KÓD=0, data:<br />

– Počet (N) zaslaných <strong>IP</strong> adres směrovačů(1B), velikost adresy<br />

(1B), doba platnosti (v sec)<br />

– N x (<strong>IP</strong> adresa směrovače (4B)+ úroveň preference (4B))<br />

0x00 – normální<br />

0x80 - nesmí být default router<br />

16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!