K A P I T O L A 2 Úvod do protokolu TCP/IP

Sada protokolů TCP/IP (Transmission Control Proto col/Internet Proto col) vznikla pod záštitou amerického ministerstva obrany (Department of Defense - DoD) s cílem zajistit a zachovat integritu dat a rovněž udržet možnost komunikace v případě katastrofálního konfliktu. Z toho tedy vyplývá, že pokud je síť TCP/IP správně navržena a implementována, může být skutečně spolehlivá a odolná. V této kapitole se budeme zabývat protokoly TCP/IP a v dalších částech této knihy si ukážeme, jak vytvořit dokonalé sítě TCP/IP - samozřejmě pomocí směrovačů Cisco.

 

Nejdříve se podíváme na verze protokolů TCP/IP podle ministerstva obrany a poté porovnáme tuto verzi a její protokoly s referenčním modelem OSI, který jsme analyzovali v kapitole 1 "Datové sítě". Jakmile porozumíte protokolům, které se uplatňují na různých úrovních modelu ministerstva obrany, zaměříme se na IP adresování a různé třídy adres používané v současných sítích.

 

Vzhledem k mimořádnému významu všesměrových adres pro pochopení adresování IP a také tvorby podsítí a VLSM, je zásadně důležité, abyste se vyznali v různých variantách všesměrových adres. Kapitolu uzavřeme popisem jednotlivých typů všesměrových adres, které prostě musíte znát. V této kapitole vynecháme protokol IPv6 (Internet Protocol version 6). Soustředíme se zde výhradně na protokol IPv4. Protokol IPv6 analyzujeme v kapitole 1 3, "Protokol IPv6 (IP Version 6)". I když tedy budeme diskutovat o protokolu IPv4, budeme jeho zkratku pro jednoduchost uvádět jako IP.

 

Protokoly TCP/ IP a model ministerstva obrany

 

Model ministerstva obrany lze v zásadě popsat jako zhuštěnou verzi modelu OSI. Místo ze sedmi se skládá jen ze čtyř vrstev:

 

• Procesní/aplikační vrstva • Hostitelská vrstva • Internetová vrstva • Síťová přístupová vrstva

Obrázek 2. 1 znázorňuje porovnání modelu ministerstva obrany a referenčního modelu OSI. Jak je patrné, oba mají podobnou koncepci, ale obsahují odlišný počet vrstev s různými názvy.

 

Poznámka Při rozboru různých protokolů sady IP lze vrstvy modelů OSI a ministerstva obrany libovolně zaměňovat. Jinými slovy internetová vrstva a sítová vrstva popisují totéž, stejně jako jsou vzájemně ekvivalentní hostitelská a transportní vrstva.

 

Mnoho různých protokolů kombinuje procesní/aplikační vrstvu modelu ministerstva obrany při integraci různých aktivit a funkcí, které zahrnují aspekty tří odpovídajících horních vrstev modelu OSI (aplikační, prezentační a relační). Na tyto protokoly se podrobně zaměříme v další části této kapitoly. Procesní/aplikační vrstva definuje protokoly pro komunikaci aplikací mezi jednotlivými uzly a řídí také specifikace uživatelského rozhraní. Hostitelská vrstva odpovídá funkcím transportní vrstvy modelu OSI. Definuje protokoly, které nastavují úroveň přenosových služeb poskytovaných aplikacím. Řeší záležitosti typu navazování spolehlivé komunikace mezi koncovými body a zajištění bezchybného doručení dat. Manipuluje s řazením paketů a udržuje integritu dat.

 

Internetová vrstva je protějškem síťové vrstvy modelu OSI a zahrnuje protokoly, které se týkají logického přenosu paketů v rámci celé sítě. Odpovídá za adresování hostitelů, kterým přiděluje IP adresu (adresu protokolu Internet Protocol) a obsluhuje směrování paketů mezi více sítěmi. V základech modelu ministerstva obrany leží síťová přístupová vrstva, která sleduje výměnu dat mezi hostitelem a sítí. Ekvivalentem linkové a fyzické vrstvy modelu OSI je síťová přístupová vrstva, která dohlíží na hardwarové adresování a definuje protokoly fyzického přenosu dat. Modely ministerstva obrany a OSI vycházejí z obdobného návrhu a koncepce a v rámci podobných vrstev zajišťují podobné funkce. Obrázek 2.2 znázorňuje sadu protokolů TCP/IP a vztah příslušných protokolů k vrstvám modelu ministerstva obrany. V následujících podkapitolách se na jednotlivé protokoly podíváme podrobněji. Začneme přitom od protokolů procesní/aplikační vrstvy.

 

Protokoly procesní! aplikační vrstvy

v této sekci si popíšeme různé aplikace a služby, které se běžně používají v sítích IP. Zastavíme se u následujících protokolů a aplikací:

 

• Telnet • FTP • TFTP • NFS • SMTP • LPD • X Window • SNMP • DNS • DHCP/BootP

 

Telnet

Telnet je jakýmsi chameleónem mezi protokoly. Jeho specialitou je emulace terminálu. Uživateli vzdáleného klientského počítače, který se označuje jako klient Telnet, umožňuje přístup k prostředkům v jiném počítači, takzvaném serveru Telnet. Protokol Telnet přitom klame server a předstírá, že klientský počítač je vlastně terminál, který je přímo připojen do lokální sítě. Tato projekce je v praxi pouhý softwarový obraz - virtuální terminál, který dokáže interagovat se zvoleným vzdáleným hostitelem.

Emulované terminály textového typu dovolují spouštět komplikované procedury typu zobrazení nabídek, z nichž mohou uživatelé volit možnosti a přistupovat k aplikacím na podvedeném serveru. Uživatelé zahájí relaci Telnet tak, že spustí klientský software Telnet a poté se přihlásí k server Telnet.

Protokol FTP (File Transfer Protocol)

Protokol FTP (File Transfer Protocol) v praxi umožňuje přenášet soubory a tuto operaci lze provést mezi libovolnými dvěma počítači, které tento protokol podporují. FTP však není pouze protokol, jedná se rovněž o program. FTP v roli protokolu poskytuje služby aplikacím. Jedná-Ii se o program, pracují s ním uživatelé, kteří požadavky na přenos souborů zadávají ručně. FTP také umožňuje přístup k adresářům i souborům a dokáže provádět určité typy operací s adresáři, jako např. přesun do jiného adresáře. FTP v kombinaci s protokolem Telnet umožňuje transparentní přihlášení k serveru FTP a poté zajišťuje samotný přenos souborů. Přístup k hostiteli pomocí protokolu FTP však představuje pouze první krok. Uživatelé se pak musí autentizovat při přihlášení, které je obvykle zabezpečeno pomocí uživatelských jmen a hesel. Správci systému tím omezují přístup. Požadavku na autentizaci se do jisté míry můžete vyhnout, když zadáte uživatelské jméno anonymous, ačkoli tím získáte právo přístupu jen k části dostupných položek. I když FTP funguje jako uživatelský program, jsou jeho funkce omezeny na výpis adresářů a manipulaci s nimi, zjišťování obsahu souborů a kopírování souborů mezi hostiteli. Nedokáže spouštět vzdálené soubory jako programy.

Protokol TFTP (Trivial File Transfer Protocol)

Protokol TFTP (Trivial File Transfer Protocol) je omezenou a standardní verzí protokolu FTP. Pokud ale víte, co chcete a kde to najít, jedná se o nejvýhodnější volbu. Navíc se tento protokol snadno používá a je velmi rychlý! Neposkytuje však přehršel funkcí jako protokol FTP. Protokol TFTP neumožňuje procházet adresáře. Nedokáže nic jiného, než odesílat a přijímat soubory. Tento kompaktní a malý protokol je úsporný při přenosu dat, protože odesílá mnohem menší bloky dat než protokol FTP. Není k dispozici žádná autentizace jako u FTP, takže se jedná o nezabezpečený protokol. Vzhledem k tomu, že tento protokol ze své podstaty představuje bezpečnostní riziko, podporují jej pouze málokteré weby.

NFS (Network File System)

NFS (Network File System) je hvězdou mezi protokoly a specializuje se na sdílení souborů. Umožňuje spolupráci dvou různých typů systémů souborů. Funguje takto: Předpokládejte, že serverový software NFS funguje na serveru NT a klientský software NFS běží na unixovém hostiteli. NFS dovoluje, aby část paměti RAM na serveru NT transparentně ukládala soubory systému Unix a následně k nim mohli přistupovat uživatelé Unixu. Systémy souborů v operačních systémech NT a Unix sice nejsou stejné - liší se rozlišováním velkých a malých písmen, délkou názvů souborů, zabezpečením atd. - ale uživatelé systému Unix i NT mohou přistupovat k témuž souboru v rámci svých standardních systémů souborů tak, jak jsou zvyklí.

 

Z praxe Kdy je vhodné použít FTP? Uživatelé v brněnské pobočce potřebují, abyste jím okamžítě poslali soubor velikosti 50 MB. Co uděláte? Většina poštovních serverů by e-mail s takovou přílohou odmítla, protože mají nastaveny velikostní limity. I kdyby na serveru nebylo žádné omezení velikosti, stejně by odeslání tak velkého souboru do Brna trvalo značně dlouho. Na pomoc zde přichází protokol FTP. Chcete-Ii někomu předat velký soubor nebo potřebujete velký soubor přijmout, představuje protokol FTP rozumnou volbu. Jestliže máte k dispozici širokopásmové připojení ADSL nebo kabelové připojení, lze menší soubory (méně než 5 MB) prostě poslat e-mailem. Většina poskytovatelů služeb Internetu však nedovoluje posílat e-mailem soubory nad 5 MB. Pokud tedy požadujete odesílání a příjem velkých souborů, měli byste zvážit nasazení protokolu FTP. (Ostatně, kdo se v současnosti s takovými soubory nesetkává?) Chcete-Ii pOUŽívat protokol FTP, musíte v Internetu nastavit server FTP, aby bylo možné soubory sdílet. Přenos FTP je kromě toho rychlejší než e-mail, což je další d ůvod pro posílání či přijem velkých souborů tímto protokolem. Protože je navíc založen na protokolu TCP a jedná se o spojovaný protokol, m ůže FTP při přerušení relace někdy navázat tam, kde přenos posledně skončil. Zkuste totéž zvládnout se svým e-mailovým klientem!

 

SMTP (Simple Mail Transfer Protocol)

Protokol SMTP (Simple Mail Transfer Protocol) plní naši touhu po nových e-mailových zprávách. Při doručování zpráv používá zařazování do fronty. Jakmile je zpráva odeslána do cílového umístění, je zařazena na zařízení - obvykle na pevný disk. Serverový software v cílovém umístění hlídá příchozí data a pravidelně kontroluje, zda se ve frontě neobjevily nové zprávy. Pokud je detekuje, zajistí jejich doručení koncovému příjemci. Protokol SMTP slouží k odesílání pošty. Na příjem zpráv se specializuje protokol POP3.

LPD (Line Printer Daemon)

Protokol LPD (Line Printer Daemon) slouží ke sdílení tiskáren. Protokol LPD spolu s programem LPR (Line Printer) umožňují zařazovat tiskové úlohy a odesílat je na síťové tiskárny pomocí protokolů TCP/IP.

X Window

Protokol X Window určený ke komunikaci klientů a serveru definuje parametry aplikací klient/server založených na grafickém uživatelském rozhraní (GUI). Princip je založen na tom, že program označovaný jako klient je spuštěn v jednom počítači a zobrazuje prvky uživatelského rozhraní pomocí okenního serveru, který funguje v jiném počítači.

Protokol SNMP (Simple Network Management Protocol)

Protokol SNMP (Simple Network Management Protocol) shromažďuje klíčové informace o síti a manipuluje s nimi. Data získává dotazováním zařízení v síti ze stanice pro správu v pevných či náhodných intervalech. Od zařízení přitom požaduje zveřejnění určitých informací. Pokud vše funguje správně, obdrží SNMP tzv. standardní hodnoty (baseline), což je sestava popisující provozní parametry zdravé sítě. Tento protokol také kontroluje provoz sítě a zodpovědné osoby rychle informuje o případných změnách stavu. Tyto síťové hlídky se označují jako agenty a když se vyskytnou odchylky, odesílají agenty na adresu stanice pro správu upozornění, která se nazývají depeše (trap).

DNS (Domain Name Service)

Systém DNS (Domain Name Service) překládá názvy hostitelů - konkrétně internetové názvy jako www . route r s i m. c om. Systém DNS nemusíte používat. Místo toho stačí zadat IP adresu libovolného zařízení, s nimž chcete komunikovat. IP adresa identifikuje hostitele v lokální síti i v Internetu. Systém DNS však usnadňuje uživatelům život. Zamyslete se nad tím: Co se stane, pokud se rozhodnete přesunout své webové stránky k jinému poskytovateli služeb? Změní se jejich IP adresa a žádný návštěvník nebude novou adresu znát. Systém DNS umožňuje požádat o přístup k IP adrese pomocí doménového názvu. IP adresu lze pak měnit libovolně často a nikdo si toho nevšimne. Systém DNS překládá plně kvalifikovaný doménový název (FQDN - fully qualified domain name), jako např. www . 1 amml e. c om či todd . 1 a mml e. c om. Plně kvalifikovaný doménový název popisuje hierarchii, která logicky lokalizuje systém podle jeho doménového identifikátoru. Chcete-Ii přeložit název todd, musíte buď zadat plně kvalifikovaný doménový název todd . 1 amml e. c om, nebo pracovat se zařízením typu PC či směrovače, které příponu doplní automaticky. Ve směrovačích Cisco je například možné zadat příkaz i p d oma i n - n a me 1 amml e. c om, který ke každému požadavku připojí doménu 1 amml e. c om. Jestliže příkaz nepoužijete, musíte zadávat plně kvalifikovaný doménový název. Jinak by systém DNS nedokázal název přeložit.

 

Tip U systému DNS je důležité si pamatovat, že pokud můžete zařizeni kontaktovat příkazem ping pomoci IP adresy, ale nelze použit jeho plně kvalifikovaný doménový název, pravděpodobně se jedná o nějaký typ chybné konfigurace systému DNS.

 

Protokol DHCP (Dynamic Host Configuration Protocol)/ protokol BootP (Bootstrap Protocol)

Protokol DHCP (Dynamic Host Configuration Protocol) přiřazuje hostitelům IP adresy. Usnadňuje správu a dobře funguje v prostředí malých až značně rozsáhlých sítí. Jako server DHCP lze použít libovolný hardware, včetně směrovače Cisco. Protokol DHCP se od protokolu BootP liší v tom, že protokol BootP přiřazuje IP adresu hostiteli, ale hardwarovou adresu hostitele je nutné zadat ručně do tabulky BootP. Protokol DHCP si můžete představit jako dynamický protokol BootP. Pamatujte však, že BootP také slouží k odeslání operačního systému, ze kterého je možné hostitele spustit. Protokol DHCP tuto funkci neposkytuje. Když však hostitel požádá server DHCP o IP adresu, může tento server hostiteli sdělit mnoho informací. Následuje seznam údajů, které server DHCP dokáže poskytovat:

 

• IP adresa • Maska podsítě • Doménový název • Výchozí brána (směrovače) • DNS • Informace WINS

 

Server DHCP může nabídnout i informace nad rámec tohoto seznamu, ale uvedené položky jsou nejběžnější. Klient, který odesláním zprávy DHCP Discover požádá o přidělení IP adresy, odesílá všesměrové vysílání na vrstvách 2 i 3. Všesměrové vysílání na vrstvě 2 obsahuje výhradně hexadecimální znaky F. Cílová adresa tedy vypadá takto: FF:FF:FF:FF:FF:FF. Všesměrové vysílání na vrstvě 3 má cílovou adresu ve tvaru 255.255.255.255, což znamená všechny sítě a všichni hostitelé. Protokol DHCP je nespojovaný. To znamená, že používá protokol UDP (User Datagram Proto col) na transportní vrstvě, která se také označuje jako hostitelská vrstva. Na tyto protokoly se zaměříme v další sekci. Pokud máte pochybnosti, můžete se přesvědčit v následujícím příkladu výstupu ze spolehlivého analyzátoru Ethereal:

 

Ethe rnet II. Src : 1 9 2 . 1 6 8.0.3 ( 0 0:O b:d b:9 9:d 3:5 e ) . Dst : 8 r oadca st

( f f : ff : ff : f f : ff : f f)

I n ternet P r otocol . Src : 0.0.0.0 (0.0.0.0) . Dst : 255 . 2 5 5.2 5 5 . 255

( 2 5 5 . 2 5 5 . 2 5 5 . 255 )

 

Linková i síťová vrstva odesílají všesměrová vysílání se žádostí typu: "Pomozte - neznám svou IP adresu!"

 

Protokoly hostitelské vrstvy

Hlavním účelem hostitelské vrstvy je odstínit aplikace na horních vrstvách od detailů fungování sítě. Tato vrstva sděluje vyšší vrstvě "Stačí, když mi dáš svůj datový proud s příslušnými pokyny, a já začnu tvoje informace připravovat k odeslání". Následující sekce popisují dva protokoly této vrstvy:

• TCP (Transmission Control Proto col) • UDP (User Datagram Proto col)

Kromě toho se budeme zabývat některými základními koncepcemi protokolů hostitelské vrstvy a seznámíme se i s čísly portů. 

 

Poznámka Pamatujte, že se stále nacházíme na čtvrté vrstvě, a společnost Cisco široce využívá toho, jak lze na vrstvě 4 pracovat s potvrzenimi, řazením paketů a řízením toku.

 

TCP (Transmission Control Protocol)

Protokol TCP (Transmission Control Protocol) přijímá od aplikací velké bloky dat a dělí je na segmenty. Každý segment očísluje a zařadí, aby cílový zásobník protokolu TCP mohl segmenty znovu uspořádat tak, jak to požaduje příslušná aplikace. Po odeslání těchto segmentů vyčká zásobník protokolu TCP (na vysílajícím hostiteli) na potvrzení relace virtuálního okruhu TCP přijímající strany a opakuje přenos těch paketů, které nebyly potvrzeny. Před tím, než přenášející hostitel v tomto modelu začne odesílat segmenty, kontaktuje zásobník protokolu TCP odesilatele odpovídající zásobník příjemce, aby bylo navázáno spojení. Vytvořená vazba se označuje jako virtuální okruh. Tento typ komunikace se označuje jako spojovaný (connection-oriented). Během počátečního navazování komunikace se obě vrstvy TCP dohodnou rovněž na objemu informací, které se budou předávat. Pak zásobník TCP příjemce odešle zpět potvrzení. Poté, co je vše předem domluveno, může probíhat spolehlivá komunikace. Protokol TCP je plně duplexní, spojovaný, spolehlivý a přesný, ale nastavení všech podmínek přenosu nad rámec kontroly chyb rozhodně není zadarmo. Protokol TCP je velmi komplikovaný a nepřekvapuje, že s ohledem na svou síťovou režii také poměrně nákladný. Vzhledem k tomu, že dnešní sítě jsou mnohem spolehlivější než kdysi, bývá tato zvýšená spolehlivost často zbytečná.

Formát segmentu TCP

Horní vrstvy pouze odesílají datové proudy protokolům na transportních vrstvách. Nyní si tedy ukážeme, jak protokol TCP segmentuje datový proud a připravuje jej pro internetovou vrstvu. Když datový proud přijme internetová vrstva, směruje segmenty v rámci datové sítě v podobě paketů. Segmenty zpracovává protokol hostitelské vrstvy přijímaj ícího hostitele, který datový proud rekonstruuje a předá aplikacím či protokolům vyšších vrstev. Formát segmentu TCP je znázorněn na obrázku 2.3. Schéma představuje různá pole v hlavičce paketu TCP. Hlavička TCP má délku 20 bajtů, případně až 24 bajtů včetně možností. Je nutné se seznámit s tím, co každé pole v segmentu TCP znamená:

 

Source port (Zdrojový port) - číslo portu aplikace na straně hostitele, která odesílá data. (Čísla portů si vysvětlíme dále v této sekci.)

Destination port (Cílový port) - číslo portu požadované aplikace v cílovém hostiteli.

Sequence number (Pořadové číslo) - číslo používané protokolem TCP, které umožňuje znovu uspořádat data ve správném pořadí nebo znovu přenést chybějící či poškozená data na základě procesu označovaného jako řazení paketů (sequencing).

Acknowledgement number (Číslo potvrzení) - následně očekávaný oktet TCP.

Header length (Délka hlavičky) - počet 32bitových slov v hlavičce TCP. Tato hodnota informuje o tom, kde začínají data. Délka hlavičky TCP (i v případě, že zahrnuje další možnosti) je celočíselným násobkem 32 bitů.

Reserved (Vyhrazeno) - vždy nastaveno na nulu.

Code bits (Kódové bity) - řídicí funkce, které slouží k navázání a ukončení relace.

Window (Okno) - velikost okna, které je příjemce ochoten přijmout. Udává se v oktetech. Checksum (Kontrolní součet) - hodnota CRC (cyclic redundancy check), protože protokol TCP nedůvěřuje nižším vrstvám a vše kontroluje. Hodnota CRC ověřuje hlavičku a datová pole.

Urgent (Naléhavé) - pole je platné pouze v případě, že je nastaven ukazatel Urgent v kódových bitech. V kladném případě tato hodnota udává posun oproti aktuálnímu pořadovému číslu (v oktetech), kde začíná první segment dat s nižší prioritou.

Options (Možnosti) - může se rovnat O nebo násobku 32 bitů, pokud se používá. To znamená, že nemusí být uvedena žádná možnost (pole Options má nulovou velikost). Jestliže se však v tomto poli používají jakékoli možnosti, které se v souhrnu nerovnají násobku 32 bitů, je nutné použít vyplnění nulami, aby data začínala na hranici násobku 32 bitů.

Data - předávají se směrem dolů protokolu TCP na transportní vrstvě a zahrnují hlavičky protokolů vyšší vrstvy.

 

Podívejte se na segment TCP zkopírovaný ze síťového analyzátoru:

 

TCP - Transp ort Control P r otocol

Source Port : 5973

Destinati on Port : 23

Sequence N u mbe r:  1 4 56389907

Ack Number: 1 2 42056456

Offset :   5

Reserved :  %000000

Code :  % 0 1 1 0 00

Ack is va l i d

Pus h Reques t

 

W indow : 613 20

Checksum: Ox6 1a6

Urgent Poi nter :  0

No TCP O p tio ns

TCP Data Area :

vL.5 .+.5.+. 5.+.5 76 4c 19 35 II 2b 19 35 II 2b 19 35 II

2 b 1 9 3 5 +. II 2b 19

F r ame Check Sequence : OxOdOOOOOf

 

Všimli jste si, že tento segment obsahuje vše, co bylo uvedeno v předchozím popisu? Jak je zřejmé z počtu polí v hlavičce, generuje protokol TCP značnou režii. Vývojáři aplikací se mohou rozhodnout, že kvůli snížení režie dají před spolehlivostí přednost efektivitě. Za tímto účelem byl jako alternativa na transportní vrstvě definován i protokol UDP (User Datagram Protocol).

 

UDP (User Datagram Protocol)

Pokud porovnáte protokol UDP (User Datagram Protocol) s protokolem TCP, zjistíte, že první z nich je v zásadě zjednodušenou ekonomickou verZÍ druhého. Tento model se někdy označuje jako tenký protokol. Podobně jako hubený člověk na lavičce v parku ani tenký protokol nezabírá mnoho místa - v tomto případě vyžaduje menší šířku pásma sítě. Protokol UDP ani nenabízí všechny pokročilé funkce protokolu TCP, ale dokonale plní úkol přenosu informací, které nevyžadují spolehlivé doručení - a konzumuje přitom mnohem méně síťových prostředků. (Protokol UDP je podrobně popsán ve standardu RFC - Request for Comments - 768.)

 

Poznámka Dokumenty RFC (Requests for Comments) tvoří od roku 1969 souvislou řadu komentářů týkajících se Internetu (původně sítě ARPAnet). Tyto texty se týkají mnoha aspektů počítačové komunikace. Zaměřují se na síťové protokoly, postupy, programy a koncepce, ale zahrnují i poznámky ze schůzí, osobní názory a někdy i vtipy.

 

V některých situacích je rozhodně rozumné, aby vývojáři dali přednost protokolu UDP před protokolem TCP. Pamatujete si na hlídací protokol SNMP na vyšší procesní/aplikační vrstvě? Protokol SNMP sleduje síť a odesílá příležitostné zprávy a poměrně stabilní tok aktualizací stavu a upozornění, zejména v případě, kdy se používá v rozsáhlé síti. Náklady na navazování, údržbu a ukončování spojení TCP pro každou z těchto krátkých zpráv by způsobily, že jinak funkční a efektivní síť by se okamžitě zpomalila až k nepoužitelnosti! Jiná situace, kdy je vhodné zvolit protokol UDP místo protokolu TCP, nastává, když je spolehlivost již zajišťována na procesní/aplikační vrstvě. Protokol NFS (Network File System) se stará o spolehlivost sám, takže je v tomto případě použití protokolu TCP nepraktické i nadbytečné. Rozhodnutí o výběru protokolu UDP nebo TCP však nakonec musí přijmout vývojář, nikoli uživatel, který chce přenášet svá data rychleji.

 

Protokol UDP neřadí segmenty a nestará se o to, v jakém pořadí dorazí do cílového umístění. UDP prostě segmenty odešle a dále se jimi nezabývá. Nesleduje tyto segmenty, nekontroluje jejich stav ani neposkytuje potvrzení bezpečného doručení - dá se říci, že segmenty naprosto opouští. Vzhledem k tomu se označuje jako nespolehlivý protokol. To neznamená, že by byl protokol UDP neefektivní, pouze neřeší otázky spolehlivosti. UDP dále nevytváří virtuální okruh ani nekontaktuje cílové umístění před tím, než mu odešle data. Z tohoto důvodu se také považuje za nespojovaný protokol. Protokol UDP předpokládá, že aplikace zajistí spolehlivost svými vlastními metodami a sám žádnou metodu tohoto typu nepoužívá. Vývojář aplikace, který pracuje se zásobníkem protokolu IP, má tedy na výběr: TCP poskytující spolehlivost, nebo UDP urychlující přenosy.

 

Jestliže tedy například pracujete s technologií přenosu hlasu VolP (Voice over IP), rozhodně není vhodné zvolit protokol UDP. Pokud by totiž segmenty dorazily v nesprávném pořadí (což se v sítích IP stává velmi běžně), jednoduše by byly předány další vrstvě modelu OSI (ministerstva obrany) v libovolném pořadí tak, jak byly přijaty. Výsledná data by byla nesmyslně promíchána. Oproti tomu protokol TCP řadí segmenty tak, aby je bylo možné sestavit zpět přesně ve stejném pořadí. Tuto možnost protokol UDP jednoduše nenabízí.

 

Formát segmentu UDP

Obrázek 2.4 jasně dokládá mimořádně nízkou režii protokolu UDP v porovnání s vysokými nároky protokolu TCP. Pečlivě se na toto schéma podívejte. Jak se můžete sami přesvědčit, protokol UDP nepoužívá ve své hlavičce okna a ani neposkytuje potvrzení.

 

Potřebujete rozumět tomu, jaký význam mají jednotlivá pole v segmentu UDP:

 

Source port (Zdrojový port): Číslo portu aplikace na straně hostitele, která odesílá data.

Destination port (Cílový port): Číslo portu požadované aplikace v cílovém hostiteli.

Length (Délka): Délka hlavičky UDP a přenášených dat.

Checksum (Kontrolní součet): Kontrolní součet kombinace hlavičky UDP s datovými poli.

Data: Data horní vrstvy.

Protokol UDP stejně jako TCP nespoléhá na vyšší vrstvy a počítá vlastní hodnoty CRC. Pamatujte, že hodnota kontrolního součtu CRC se nachází v poli Frame Check Sequence (FCS). Z tohoto důvodu je uvedena informace FCS.

 

Následující výpis představuje segment UDP zachycený síťovým analyzátorem:

UDP - User Datagram P rotocol

Source Port : 1 0 85

Destination Port : 513 6

Length :  41

Checksum: Ox7a3c

 

UDP Data Area :

.. Z ...... 00 Ol 5a 96 00 Ol 00 00 00 00 00 II 0000 00

... C .. 2 . _C . _C 2e 03 00 43 02 1e 32 Oa 00 Oa 00 80 43 00 80

F r ame Check Sequence : OxOOOOOOOO

Všimněte si nízké režie! Pokuste se v segmentu UDP najít pořadové číslo, číslo potvrzení a velikost okna. Nepodaří se vám to, protože tyto hodnoty zde jednoduše nejsou.

 

Klíčové koncepce protokolů hostitelské vrstvy

Vzhledem k tomu, že už jste získali představu o fungování spojovaného (TCP) i nespojovaného (UDP) protokolu, můžeme nyní shrnout jejich vlastnosti. Tabulka 2. 1 zdůrazňuje některé klíčové aspekty, které byste u těchto protokolů měli mít na paměti. Obsah tabulky byste si měli zapamatovat.

Tabulka 2.1: Klíčové vlastnosti protokolů TCP a UDP

TCP                                                                             UDP

Řazený                                                                        Neřazený

Spolehlivý                                                                   Nespolehlivý

Spojovaný                                                                   Nespojovaný

Virtuální okruh                                                Nízká režie

Potvrzení                                                                     Bez potvrzení

Řízení toku dat pomocí oken                                        Bez oken či řízení toku dat

 

Fungování protokolu TCP lze dobře osvětlit pomocí analogie s telefonními službami. Chcete-Ii s někým mluvit po telefonu, musíte nejdříve s touto osobou navázat spojení, ať už se nachází kdekoli. To je obdobou virtuálního okruhu u protokolu TCP. Když někomu při hovoru sdělujete důležité informace, můžete říci "Představ si" nebo "Rozumíš tomu?". Tyto fráze, které druhou stranu pobízejí, aby zareagovala, velmi připomínají potvrzení u protokolu TCP. Čas od času (zejména při mobilním telefonování) se lidé také ptají "Jsi tam ještě"? Konverzaci ukončují např. pozdravem "Ahoj", aby dali najevo, že telefonát končí. Protokol TCP rovněž poskytuje obdobné funkce.

 

Oproti tomu použití protokolu UDP se podobá odeslání pohlednice. Jestliže chcete někomu napsat, nemusíte jej nejdříve kontaktovat. Stačí vymyslet zprávu, uvést adresu a hodit lístek do schránky. Můžeme to přirovnat k nespojovanému charakteru protokolu UDP. Zpráva na pohlednici pravděpodobně není životně důležitá, takže nepotřebujete potvrzení jejího příjmu. Ani protokol UDP neposkytuje potvrzení. Podívejte se nyní na další obrázek 2.5, který znázorňuje protokoly TCP a UDP a aplikace, které jsou k jednotlivým protokolům přidruženy.

 

Čísla portů

Protokoly TCP a UDP musí při komunikaci s vyššími vrstvami používat čísla portů. Tato čísla totiž dovolují rozlišovat různé komunikace, které jsou v síti aktivní ve stejnou dobu. Zdrojový hostitel dynamicky na zdrojové straně přiděluje čísla portů s hodnotou 1 024 a vyšší. Čísla portů do hodnoty 1 023 jsou definována ve standardu RFC 3232 (případně navštivte web www . i ana . o rg), který se zabývá tzv. dobře známými čísly portů. Virtuální okruhy, které nepoužívají aplikaci s dobře známým číslem portu, mají místo toho přidělena náhodná čísla portů z určitého rozsahu. Tato čísla portů identifikují v segmentu TCP zdrojovou a cílovou aplikaci nebo proces.

Obrázek 2.5 dokládá, jakým způsobem protokoly TCP i UDP pracují s čísly portů.

 

Dále jsou vysvětlena různá čísla portů, které lze použít:

• Čísla nižší než 1 024 se považují za dobře známá čísla portů a jejich definici naleznete v dokumentu RFC 3232.

• Čísla 1 024 a vyšší slouží horním vrstvám k navázání relací s jinými hostiteli a protokol TCP je používá jako zdrojové a cílové adresy v segmentu TCP.

 

V následujících sekcích si rozebereme výstup analyzátoru s ukázkou relace TCP.

 

Relace TCP: Zdrojový port

Následující výpis dokumentuje relaci TCP zaznamenanou analytickým softwarem OmniPeek:

TCP - Transport Control Protocol

Source Port : 5973

Destinati on Port : 23

Sequence Number: 1 4 56389907

Ack Number: 1 2 42056456

Offset : 5

Re s e rved : %000000

Code : % 0 110 00

            Ack is valid

            Push Request

Window :  6 1 320

Checksum: Ox61a6

Urgent Pointer : 0

No TCP Options

TCP Data Area :

vL.5.+.5.+.5.+.5 76 4c 19 35 II 2b 19 35 II 2b 19 35 II

2 b 1 9 3 5 +. II 2b 19

Frame Check Sequence : OxOdOOOOOf

 

Všimněte si, že zdrojový hostitel určuje hodnotu zdrojového portu, která se v tomto případě rovná 5973. Cílový port má hodnotu 23, která sděluje přijímajícímu hostiteli účel zamýšleného spojení (Telnet). Při pohledu na tuto relaci vidíte, že zdrojový hostitel nastavuje zdrojový port na číslo od 1 024 do 65535. Proč však zdroj pokaždé volí jiná čísla portů? Díky tomu lze totiž rozlišit relace s různými hostiteli. Pokud by server neměl od odesílajícího hostitele jedinečné číslo, jak by věděl, odkud informace pochází? Protokol TCP a protokoly vyšších vrstev nerozlišují odesílajícího hostitele podle hardwarové a logické adresy jako protokoly linkové a síťové vrstvy. Místo toho používají čísla portů. Snadno si můžete představit, jaký zmatek by nastal na straně přijímajícího hostitele, kdyby všichni hostitelé požadovali připojení k FTP pomocí stejného čísla zdrojového portu!

Relace TCP: cílový port

Ve výstupu analyzátoru někdy pouze zjistíte, že zdrojový port má číslo vyšší než 1 024 a cílový port patří mezi dobře známé porty, jak je patrné v následujícím sledování:

TCP - T ransport Control P rotocol

Source Port : 1 1 44

Destinati on Port : 80 Wo rld Wide Web HTTP

Sequence Number: 9356570

Ack Numbe r: O

Offset : 7

Rese rved : %000000

Code : %00 0010

            Sy nch Sequence

Window : 8192

Checksum  O x 57E7

Urgent Pointer:  0

TCP Options :

            O p tio n Type :  2 Maximum Segment Size

            Length :  4

            MSS :  536

Opti on Type :  1 No Opera t i o n

Option Type :  1 No Opera t i o n

Option Type :  4

Length :  2

Opt Value:

No More HTTP Data

Frame Check Seque nce : Ox4369 7363

 

Je zřejmé, že zdrojový port má číslo vyšší než 1 024, ale cílový port se rovná 80. Jedná se tedy o službu HTTP. Server (přijímající hostitel) může cílový port v případě potřeby změnit. V předchozím sledování je na cílové zařízení odeslán paket "syn". Sekvence syn sděluje vzdálenému cílovému zařízení, že zdroj požaduje vytvoření relace.

Relace TCP: Potvrzení paketu Syn

Další sledování ukazuje potvrzení paketu syn:

Všimněte si údaje Ack is va1id, který znamená, že zdrojový port byl přijat a zařízení souhlasilo s tím, že s výchozím hostitelem vytvoří virtuální okruh. Na tomto místě se opět můžete přesvědčit, že odpověď serveru obsahuje zdrojový port 80 a cílový port 1 144 odeslaný z původního hostitele. Vše je tedy v pořádku. Tabulka 2.2 uvádí seznam běžných aplikací založených na sadě protokolů TCP/IP, jejich dobře známá čísla portů a rovněž protokoly transportní vrstvy, které každá aplikace či proces používá. Je důležité, abyste si tuto tabulku osvojili. Všimněte si, že systém DNS pracuje s protokoly TCP i UDP. Konkrétní zvolený protokol závisí na požadované operaci. Aplikací, které mohou používat oba protokoly, je sice více, ale tento příklad byste si rozhodně měli pamatovat.

Tabulka 2.2: Klíčové protokoly založené na protokolech TCP a UDP

 

 

 

 

Poznámka Protokoly TCP/IP a model ministerstva obrany 117 Protokol TCP je spolehlivý díky řazení, potvrzení a řízení toku dat (posunu oken). Protokol UDP spolehlivost neposkytuje

 

Protokoly internetové vrstvy

Model ministerstva obrany uvádí dva hlavní důvody pro vznik internetové vrstvy: směrování a zajištění jednotného síťového rozhraní pro vyšší vrstvy. Žádný z protokolů vyšších ani nižších vrstev nemá funkce týkající se směrování. O tento složitý a důležitý úkol se stará výhradně internetová vrstva. Druhou povinností internetové vrstvy je poskytnout jediné síťové rozhraní pro protokoly vyšších vrstev. Bez této vrstvy by programátoři museli do každé aplikace přidávat rozhraní pro všechny protokoly síťové přístupové vrstvy. Kromě toho, že by to bylo pracné, vedlo by to ke vzniku odlišných verzí každé aplikace - jedné pro Ethernet, další pro Token Ring atd. Aby to nebylo nutné, poskytuje protokol IP protokolům vyšších vrstev jediné unifikované síťové rozhraní. Jakmile je tento úkol splněn, je potřeba ještě zajistit, aby protokol IP a různé protokoly síťové přístupové vrstvy vzájemně spolupracovaly. Všechny síťové cesty nevedou do Říma, ale k protokolu IP. Tento protokol používají všechny další protokoly na stejné vrstvě a také všechny protokoly na vyšších vrstvách. Nikdy na to nezapomínejte. Všechny cesty modelem ministerstva obrany směřují přes protokol IP. V následujících sekcích si popíšeme protokoly na internetové vrstvě:

• IP (Internet Protocol) • ICMP (Internet Control Message Proto col) • ARP (Address Resolution Protocol) • RARP (Reverse Address Resolution Protocol) • Proxy ARP

IP (Internet Protocol)

IP (Internet Protocol) v zásadě představuje internetovou vrstvu. Další protokoly zde plní pouze pomocnou funkci. Protokol IP tvoří základní schéma a dá se říci, že "vše vidí" - v tom smyslu, že má informace o všech propojených sítích. Tato vlastnost protokolu IP je založena na tom, že všechny počítače v síti mají softwarovou neboli logickou adresu označovanou jako IP adresa, kterou se budeme podrobněji zabývat v další části této kapitoly. Protokol IP kontroluje adresy všech paketů. Poté pomocí směrovací tabulky rozhoduje, kam bude paket odeslán dále. Volí přitom optimální trasu. Protokoly na síťové přístupové vrstvě v dolní části modelu ministerstva obrany nemají stejně jako protokol IP znalosti celé sítě. Místo toho se týkají pouze fyzických spojení (lokálních sítí). Při identifikaci zařízení v sítích je nutné zodpovědět tyto dvě otázky: Ve které síti se zařízení nachází? A jaké je jeho ID v dané síti? Odpovědí na první otázku je softwarová adresa neboli logická adresa (správná ulice).

Druhou odpovědí je hardwarová adresa (správná poštovní schránka). Všichni hostitelé v síti mají logický identifikátor zvaný IP adresa. Jedná se o softwarovou neboli logickou adresu, která v sobě nese důležité informace značně zjednodušující složitý úkol směrování. (Protokol IP je popsán ve standardu RFC 79 1 .) Protokol IP přijímá segmenty z hostitelské vrstvy a v případě potřeby je rozkládá na datagramy (pakety). Na přijímající straně pak datagramy sestavuje zpět do segmentů. Odesilatel i příjemce přiřazuje každému datagramu IP adresu. Každý směrovač (zařízení vrstvy 3), který datagram přijme, pak rozhoduje o dalším směrování na základě cílové IP adresy paketu. Hlavička IP je znázorněna na obrázku 2.6. Toto schéma vám poskytne představu o tom, jaké operace musí protokol IP plnit při každém odeslání uživatelských dat z vyšších vrstev do vzdálené sítě.

 

Hlavička IP sestává z následujících polí:

Version (Verze) - číslo verze IP.

Header length (Délka hlavičky) - délka hlavičky (HLEN) v 32bitových slovech.

Priority and Type of Service (Priorita a typ služby) - typ služby určuje způsob zpracování datagramu. První 3 bity udávají prioritu.

Total length (Celková délka) - délka paketu včetně hlavičky a dat.

Identification (Identifikace) - unikátní hodnota paketu IP.

Flags (Příznaky) - udává, zda může nastat fragmentace.

Fragment offset (Posun fragmentu) - zajišťuje fragmentaci a opakované sestavení v případě, že je paket příliš velký a nevejde se do rámce. Díky této funkci lze také v Internetu používat různé hodnoty MTU (maximum transmission unit).

Time to Live (Hodnota TTL) - hodnota TTL je zapsána do paketu při jeho generování. Pokud se paket nedostane na místo svého určení dříve, než hodnota TTL vyprší, jednoduše se zahodí. Tím je zaručeno, že bezprizorní pakety IP nebudou neomezeně obíhat po síti.

Protocol (Protokol) - port protokolu vyšší vrstvy (TCP má port 6 a UDP 17 [hex] ). K dispozici je i podpora protokolu síťové vrstvy, jako je ARP a ICMP. Některé analyzátory mohou toto pole označovat jako Type (Typ). Zakrátko si toto pole rozebereme podrobněji.

Header checksum (Kontrolní součet hlavičky) - výsledek cyklického kontrolního součtu samotné hlavičky.

Source IP address (Zdrojová IP adresa) - 32bitová IP adresa odesílající stanice.

Destination IP address (Cílová IP adresa) - 32bitová IP adresa stanice, pro kterou je paket určen. Options (Možnosti) - slouží k testování sítě, ladění, zabezpečení a dalším funkcím.

Data - za polem možností IP budou uvedena data vyšší vrstvy.

Uveďme si nyní snímek paketu IP zachyceného síťovým analyzátorem (všimněte si, že se zde vyskytují všechny hlavičky popsané výše):

Velmi důležité je pole Type (obvykle se označuje jako pole Proto col, ale tento analyzátor je detekuje jako pole IP Type). Pokud by hlavička neobsahovala informace protokolu další vrstvy, protokol IP by nevěděl, jak data uložená v paketu zpracovat. V předchozím příkladu může protokol IP zjistit, že má segment předat protokolu TCP. Obrázek 2.7 dokumentuje, jak síťová vrstva přistupuje k protokolům na transportní vrstvě, když potřebuje předat paket protokolům vyšších vrstev.

Pole Protocol v tomto příkladu zajistí, že protokol IP odešle data buď na port TCP (číslo 6), nebo na port UDP (číslo 1 7) (obě adresy jsou hexadecimální). Protokol UDP či TCP se však uplatní pouze tehdy, jsou-Ii data součástí datového proudu, který je určen pro službu nebo aplikaci na vyšší vrstvě. Cílem může být stejně dobře protokol ICMP (Internet Co nt rol Message Protocol), ARP (Address Resolution Protocol) nebo jiný typ protokolu síťové vrstvy. Tabulka 2.3 shrnuje některé další oblíbené protokoly, které lze nastavit v poli Protocol.

ICMP (Internet Control Message Protocol)

Protokol ICMP (Internet Control Message Protocol) funguje na síťové vrstvě a protokol IP pomocí něj zajišťuje mnohé služby. ICMP slouží jako protokol pro správu a poskytování služeb zasílání zpráv pro protokol IP. Jeho zprávy jsou přenášeny jako datagramy IP. Dokument RFC 1 256 popisuje dodatek protokolu ICMP, který rozšiřuje možnosti hostitele při zjišťování cest k branám. Pakety protokolu ICMP mají následující vlastnosti:

• Mohou hostitelům sdělovat informace o potížích se sítí. • Jsou zapouzdřeny v rámci datagramů IP.

Uveďme si některé běžné události a zprávy, se kterými protokol ICMP souvisí:

 

Destination Unreachable (Cíl není dosažitelný): Pokud směrovač nedokáže předat datagram IP dále, odešle pomocí protokolu ICMP zprávu zpět odesilateli s informací o situaci. Podívejte se například na obrázek 2.8, ze kterého je patrné, že rozhraní EO směrovače Lab_B není aktivní.

 

Když hostitel A odešle paket určený hostiteli B, směrovač Lab_B odešle zpět vysílajícímu zařízení (v tomto případě hostiteli A) zprávu ICMP o nedosažitelnosti cíle.

Buffer Full (Zaplněná vyrovnávací pamět): Jestliže se zaplní vyrovnávací paměť směrovače pro příjem příchozích datagramů, bude směrovač pomocí protokolu ICMP šířit tuto zprávu, dokud se zahlcení nevyřeší.

Hops (Počet přeskoků): Každému datagramu IP je přiřazen určitý počet směrovačů, přes které může projít. Tato hodnota se označuje jako počet přeskoků (TTL). Pokud datagram dosáhne limitního počtu přeskoků dříve, než dorazí do cíle, odstraní jej směrovač, který jej přijal jako poslední. Likvidující směrovač pak pomocí protokolu ICMP odešle jakési "parte", které zdrojovému počítači dává na vědomí, že jeho datagram nedorazil do cíle.

Ping: Ping (Packet Internet Groper) pomocí požadavků ozvěny ICMP a odpovědí kontroluje fyzickou a logickou konektivitu počítačů v datové síti.

Traceroute: Příkaz Traceroute na základě vypršení časového limitu ICMP (TTL) zjišťuje cestu, kterou paket prochází datovou sítí.

 

Poznámka Příkazy Ping i Traceroute (také se zkráceně označuje jako Trace; v systému Microsoft Windows má název tracert) dovolují ověřit konfigurace adres v datové síti.

Následující data pocházejí ze síťového analyzátoru, který zachytil požadavek ozvěny ICMP:

 

 

 

 

 

Nevšimli jste si ničeho zvláštního? Postřehli jste, že ačkoli protokol ICMP funguje na internetové (síťové) vrstvě, přesto i nadále realizuje požadavek Ping pomocí protokolu IP? Pole Type v hlavičce IP má hodnotu OxO l, což znamená, že přenášená data patří protokolu ICMP. Nezapomínejte, že stejně jako všechny cesty vedou do Říma, všechny segmenty nebo data musí projít přes protokol IP!

 

Poznámka Program Ping používá abecedu v datové části paketu pouze jako výplň, která má standardně délku 1 00 bajtů. Pokud však odesíláte příkaz Ping ze systému Windows, vypadá datová část jinak. Tento systém nejspíš předpokládá, že abeceda končí písmenem W. Vynechává písmena X, Y a Z a znovu začíná písmenem A. Přeberte si to sami!

 

Pokud si pamatujete na výklad o linkové vrstvě a různých typech rámců v kapitole 1, měli byste být schopni z předchozího sledování zjistit, o jaký typ rámce Ethernet se jedná. Pole jsou omezena na cílovou hardwarovou adresu, zdrojovou hardwarovou adresu a Ether-Type. Pole Ether-Type se vyskytuje výhradně v rámcích EtherneCII. Než však přejdeme k protokolu ARP, podívejme se znovu na protokol ICMP v činnosti. Obrázek 2.9 představuje datovou síť (vyskytuje se tam směrovač, takže se musí jednat o datovou síť, že?).

 

Serverl ( 1 0. 1 .2.2) se z okna příkazového řádku připojuje protokolem Telnet k počítači 1 0.1.1.5. Co myslíte, že Serverl obdrží jako odpověď? Počítač Serverl odesílá data protokolu Telnet na výchozí bránu, tj. na směrovač. Tento směrovač paket zahodí, protože směrovací tabulka neobsahuje žádnou síť 1 0.1.1.0. Server! proto dostane zprávu protokolu ICMP o nedosažitelnosti cíle.

ARP (Address Resolution Protoco!)

Protokol ARP (Address Resolution Protocol) vyhledává hardwarovou adresu hostitele podle známé IP adresy. Funguje to následovně: Když protokol IP potřebuje odeslat datagram, musí sdělit síťovému přístupovému protokolu, jako je Ethernet či Token Ring, hardwarovou adresu cíle v lokální síti. (Protokoly vyšší vrstvy již poskytly informaci o IP adrese cíle.) Jestliže protokol IP nenajde hardwarovou adresu cílového hostitele v mezipaměti ARP, zjistí tyto informace pomocí protokolu ARP. Protokol ARP plní roli detektiva, který ve prospěch protokolu IP prozkoumá lokální síť pomocí všesměrového vysílání, kdy požádá počítač s konkrétní IP adresou, aby sdělil svou hardwarovou adresu. Protokol ARP tedy v praxi překládá softwarovou (IP) adresu na hardwarovou adresu - například adresu ethernetové síťové karty cílového počítače. Díky všesměrovému vysílání určenému této adrese pak zjišťuje umístění v lokální síti. Obrázek 2. 10 dokumentuje, jak vypadá činnost protokolu ARP v lokální síti.

 

Poznámka Protokol ARP pfekládá IP adresy na adresy Ethernet (MAC).

 

Následující sledování představuje všesměrové vysílání protokolu ARP. Všimněte si, že cílová hardwarová adresa není známa a uvedena je řada hexadecimálních znaků F (binárně samé jedničky). Jedná se o všesměrové vysílání se žádostí o hardwarovou adresu:

RARP (Reverse Address Resolution Protocol)

Když počítač v síti IP nemá pevný disk, nemůže po zapnutí znát svou IP adresu. Ví však, jakou má adresu MAC. Protokol RARP (Reverse Address Resolution Protocol) zjistí hodnotu IP adresy počítačů bez disku tak, že odešle paket, který obsahuje MAC adresu a požadavek na IP adresu přiřazenou k dané adrese MAC. Vyhrazený počítač označovaný jako server RARP na žádost odpoví a krize identity je zažehnána. Protokol RARP na základě známé hodnoty adresy MAC počítače zjistí jeho IP adresu a doplní identifikaci počítače. Obrázek 2. 11 znázorňuje pracovní stanici bez disku, která požaduje svou IP adresu pomocí všesměrového vysílání protokolu RARP.

Proxy ARP (Proxy Address Resolution Protocol)

 

 

 

 

 

 

 

 

Pro hostitele v síti nelze nakonfigurovat více než jednu výchozí bránu. Zamyslete se nad tím. Co se stane, pokud výchozí brána (směrovač) náhodou přestane fungovat? Hostitel nezačne automaticky odesílat data jinému směrovači. Nejdříve musíte změnit konfiguraci příslušného hostitele. Protokol Proxy ARP však může počítačům v podsíti pomoci kontaktovat vzdálené podsítě, aniž by bylo nutné konfigurovat směrování nebo dokonce vzdálenou bránu. Jedna výhoda protokolu Proxy ARP spočívá v tom, že jej lze aktivovat na jediném směrovači v síti, aniž by to mělo vliv na směrovací tabulky všech ostatních lokálních směrovačů. Použití protokolu Proxy ARP má však zásadní nevýhodu. Nasazení tohoto protokolu v každém případě zvýší objem provozu v rámci síťového segmentu a hostitelé budou mít větší tabulky ARP než obvykle, aby dokázali zvládnout kompletní mapování IP adres na adresy MAC. Protokol Proxy ARP je navíc ve výchozím nastavení nastaven ve všech směrovačích Cisco. Pokud se domníváte, že jej nebudete potřebovat, měli byste jej vypnout. Poslední postřeh týkající se protokolu Proxy ARP: Ve skutečnosti nejde o samostatný protokol. Jedná se o službu, kterou směrovače zajišťují pro jiná zařízení (obvykle PC), která se nemohou přímo dotazovat jiného zařízení k

Tip Pokud si to můžete dovolit, použijte raději protokol HSRP (Hot Standby Router Protocol) společnosti Cisco. Předpokladem je sice nákup dvou nebo více zařízení Cisco, ale tato investice se rozhodně vyplati. Další informace o protokolu HSRP naleznete na webu společnosti Cisco.

 

Adresování v sítích IP

Mezi nejdůležitější témata v jakékoli diskusi o protokolech TCP/IP patří adresování v sítích IP. IP adresa je číselný identifikátor, který je přiřazen každému počítači v síti IP. Označuje konkrétní umístění daného zařízení v síti. IP adresa je softwarová, nikoli hardwarová adresa. Adresy druhého zmíněného typu jsou pevně zakódovány v kartách síťového rozhraní (NIC - network interface card) a používají se při vyhledávání hostitelů v lokální síti. Adresování v sítích IP bylo navrženo tak, aby mohli hostitelé v jedné síti komunikovat s hostitelem v odlišné síti bez ohledu na to, do jakého typu lokální sítě jsou hostitelé zapojeni. Než se pustíme do složitějších aspektů adresování v sítích IP, musíte porozumět základním principům. Nejdříve si vysvětlíme některá základní hlediska adresování v sítích IP a příslušnou terminologii. Poté se seznámíte s hierarchickým schématem adresování IP a s privátními IP adresami.

 

Názvosloví sítí IP

V této kapitole si osvojíte některé důležité pojmy, bez kterých nelze pochopit fungování protokolu IP. Zde je několik termínů pro začátek:

 

Bit je jedna binární číslice, buď 1, nebo o.

Bajt je tvořen 7 nebo 8 bity, v závislosti na tom, zda se používá parita. Ve zbývající části této kapitoly budeme vždy předpokládat, že bajt má 8 bitů.

Oktet se skládá z 8 bitů. Jde o obyčejné 8bitové binární číslo. V této kapitole lze termíny bajt a oktet libovolně zaměňovat.

Síťová adresa určuje cíl směrování paketů odeslaných do vzdálené sítě - např. 1 0.0.0.0, 1 72. 1 6.0.0 a 192. 1 68. 1 0.0.

Všesměrová adresa je adresa, pomocí které aplikace a hostitelé rozšiřují informace všem uzlům v síti, se nazývá všesměrová adresa (broadcast address). Jako příklad lze uvést 255.255.255.255, což znamená všechny uzly všech sítí; 1 72. 1 6.255.255, tj. všechny podsítě a hostitelé v síti 1 72. 1 6.0.0; a adresu 1 0.255.255.255, která zajistí všesměrové vysílání všem podsítím a hostitelům v síti 1 0.0.0.0.

 

Hierarchické schéma adresování IP

IP adresa zahrnuje 32 datových bitů. Tyto bity se dělí do čtyř sekcí, které se označují jako oktety nebo bajty, z nichž každý obsahuje 1 bajt (8 bitů). IP adresu můžete popsat jednou ze tří metod:

 

• Jako desítková čísla oddělená tečkami, např. 1 72. 16.30.56 • Binárně, jako např. 1010 1 100.000 1 0000.000 1 1 1 10.00 1 1 1000 • Hexadecimálně, jako např. AC. 1 O.1E.38

 

Všechny tyto příklady označují stejnou IP adresu. Hexadecimální zápis se používá méně často než desítková čísla oddělená tečkami nebo binární hodnoty, ale s hexadecimálním tvarem IP adresy se můžete setkat například v datových souborech některých programů. Dobrým příkladem programu, který ukládá IP adresu počítače v hexadecimální podobě, je Editor registru systému Windows.

 

 

32bitová IP adresa je strukturovaná neboli hierarchická. Tento typ adresy je opakem ploché čili nehierarchické adresy. Teoreticky lze sice zvolit libovolný typ schématu adresování, ale pro hierarchické adresování existoval pádný důvod. Výhoda tohoto schématu spočívá v tom, že dokáže pracovat s velkým počtem adres, konkrétně 4,3 miliardy (32bitový adresní prostor s dvěma možnými hodnotami - O nebo 1 - na každé pozici nabízí 2 32 , neboli 4 294 967 296 adres). Nevýhoda plochého schématu adresování, která zároveň vysvětluje, proč se při adresování v sítích IP neuplatňuje, souvisí se směrováním. Pokud by každá adresa byla unikátní, musely by všechny internetové směrovače uchovávat adresu každého jednotlivého počítače v Internetu. V tomto případě by směrování nemohlo efektivně fungovat, ani kdyby se používal pouze zlomek možných adres.

Řešení tohoto problému spočívá v použití hierarchického schématu adresování se dvěma nebo třemi úrovněmi, které odpovídají síti a hostiteli nebo síti, podsíti a hostiteli. Toto dvou- až tříúrovňové schéma lze přirovnat k telefonnímu číslu. První část, která má význam kódu země, označuje značně velké územÍ. Druhá část - kód oblasti - zužuje rozsah čísel na regionální telefonní obvod. Poslední segment, tj. číslo konkrétního zákazníka, umožní zvolit konkrétní linku. IP adresy používají stejný typ vrstevnaté struktury. Místo toho, aby se 32 bitů používalo jako jedinečný identifikátor, což by platilo při plochém adresování, má část adresy význam síťové adresy a druhá část označuje podsíť a hostitele nebo přímo adresu uzlu. V následující sekci si rozebereme adresování v sítích IP a jednotlivé třídy adres, které lze v počítačových sítích uplatnit.

 

Síťové adresování

Síťová adresa (kterou lze také nazvat číslem sítě) jedinečně identifikuje každou síť. Každý počítač ve stejné síti sdílí tuto síťovou adresu v rámci své IP adresy. Součástí IP adresy 1 72. 16.30.56 je například síťová adresa 1 72. 1 6. Každému počítači v síti je přiřazena adresa uzlu, která jej jednoznačně určuje. Tato část adresy musí být unikátní, protože označuje konkrétní počítač (jednotlivý objekt) a nikoli síť (skupinu zařízení). Na uvedené číslo se také můžete odkazovat jako na hostitelskou adresu. V případě ukázkové IP adresy 1 72. 1 6.30.56 má uzel adresu 30.56.

 

Návrháři Internetu se rozhodli vytvořit několik tříd sítí s rozdílnou velikostí. Pro malý počet sítí s velmi vysokým počtem uzlů vytvořili kategorii síť třídy A. Na opačném konci škály stojí síť třídy C, která je vyhrazena pro početné sítě s malým počtem uzlů. Nikoho nepřekvapí, že sítě ze skupiny mezi velmi velkými a velmi malými se logicky nazývají sítě třídy B. Rozdělení IP adresy na síťovou adresu a adresu uzlu závisí na tom, do které třídy daná síť patří. Obrázek 2. 12 shrnuje tři třídy sítí. K této tematice se v dalších částech kapitoly ještě podrobněji vrátíme.

 

Kvůli efektivnímu směrování definovali tvůrci Internetu povinné hodnoty počátečních bitů v adresách z jednotlivých tříd síťových adres. Směrovače například vědí, že síťová adresa třídy A vždy začíná bitem O. Mohou proto určitý paket přesměrovat dále ihned poté, co načtou pouhý první bit jeho adresy. Zde ve schématu adresování spočívá rozdíl mezi adresami třídy A, třídy B a třídy C. V dalších sekcích si rozebereme rozdíly mezi těmito třemi třídami a poté objasníme strukturu adres třídy D a třídy E (při adresování hostitelů v reálných sítích se však uplatňují pouze rozsahy adres z tříd A, BaC).

 

Rozsah síťových adres: Třída A

Návrháři schématu adresování v sítích IP rozhodli, že první bit prvního bajtu v síťové adrese třídy A musí být vždy roven O. To znamená, že adresa třídy A musí mít v prvním bajtu hodnotu od O do 127 včetně. Uvažujte následující síťovou adresu:

Oxxxxxxx

Správný překlad "vypnutí" a "zapnutí" bitu:

Vypnutí bitu = nastavení bi tu na O.

Zapnutí bitu = nastavení b i tu na l.

V dalším textu nejsou tyto výrazy opraveny. Pokud vypneme všech zbývajících 7 bitů a poté je kompletně znovu zapneme, zjistíme celý rozsah síťových adres třídy A:

00000000 = O

0 1 111111 = 127

První oktet sítě třídy A tedy z definice leží mezi O a 1 27 a nemůže mít nižší ani vyšší hodnotu. (Samozřejmě vím, že hodnoty O a 127 nejsou v síti třídy A platné. K vyhrazeným adresám se hned dostaneme.)

Rozsah Síťových adres: Třída B

Standardy RFC požadují, aby byl v síti třídy B první bit prvního bajtu vždy zapnutý, ale druhý bit musí být povinně vypnutý. Jestliže dalších 6 bitů kompletně vypnete a pak společně zapnete, dostanete rozsah pro sítě třídy B:

10000000 = 1 2 8

10111111 = 191

Jak vidíte, definice sítě třídy B požaduje, aby měl první bajt hodnotu od 1 28 do 191.

Rozsah síťových adres: Třída C

U sítí třídy C je ve standardech RFC uvedeno, že první 2 bity prvního oktetu jsou vždy zapnuté, ale třetí bit musí být povinně vypnutý. Chcete-li dostat povolený rozsah, postupujte stejně jako u předchozích tříd a převeďte binární hodnoty na desítkové. Sítě třídy C mají následující rozsah:

11000000 = 192

11011111 = 223

Jestliže se tedy setkáte s IP adresou, která spadá do intervalu od 192 do 223, víte, že se jedná o IP adresu třídy C.

Rozsahy Síťových adres: Třídy O a E

Adresy s hodnotami mezi 224 a 255 jsou vyhrazeny pro sítě tříd D a E. Třída D (224-239) slouží pro adresy vícesměrového vysílání a třída E (240-255) je určena pro výzkumné účely, ale v této knize se uvedenými typy adres nebudeme zabývat (není ani nutné, abyste je znali).

Síťové adresy: Speciální účely

Některé IP adresy jsou rezervovány pro speciální účely, takže správci sítí nemohou tyto adresy uzlům vůbec přidělovat. Tabulka 2.4 obsahuje přehled členů tohoto exkluzivního klubu a důvod jejich členství.

 

Tabulka 2.4: Vyhrazené IP adresy

Adresa                                                                        Funkce

Síťová adresa tvořená výhradně bíty O                        Interpretuje se jako .tato síť nebo segment". Síťová adresa tvořená výhradně bíty 1                                Interpretuje se jako .. všechny sítě".

Síť 127.0.0.1                                                               Vyhrazena pro testování zpětné smytky. Oznatuje                                                                                místní uzel a umožňuje tomuto uzlu odeslat                                                                                    testovací paket sám sobě, aniž by generoval                                                                                      jakýkoli síťový provoz.

Adresa uzlu tvořená výhradně bity O                           Interpretuje se jako "Síťová adresa" neboli jako                                                                              libovolný hostitel v konkrétní síti.

Adresa uzlu tvořená výhradně bity 1                            Interpretuje se jako .všechny uzly" v konkrétni                                                                                siti. Přiklad: 1 28.2.2 55.255 znamená .,všechny                                                                             uzly" v siti 128.2 (adresa třidy Bl.

Celá IP adresa nastavena na bity O                             Směrovače Cisco timto způsobem označuji                                                                                              výchozi směrováni. Může také                                                                                                                   znamenat .Iibovolná sit".

Celá IP adresa nastavena na bity 1

(totéž jako 255.255.255.255)                                      Všesměrové vysiláni všem uzlům v aktuálni siti.                                                                            Někdy se označuje jako .všesměrové vysiláni                                                                                           samých jedniček" nebo omezené všesměrové                                                                                    vysiláni.
Adresy třídy A

v síťových adresách třídy A je první bajt přiřazen síťové adrese a zbývající tři bajty slouží k popisu adres uzlů. Třída A má následující formát:

sít . uzel . uzel . uzel

 

Například v IP adrese 49.22. 1 02.70 udává číslo 49 síťovou adresu a 22. 1 02.70 je adresa uzlu, Každý počítač v této konkrétní síti bude sdílet jedinečnou síťovou adresu 49. Síťové adresy třídy A mají délku 1 bajtu, přičemž první bit tohoto bajtu je rezervován a se zbývajícími 7 bity lze manipulovat (použít je při adresování). Z toho vyplývá, že lze vytvořit nejvýše 128 sítí třídy A. Proč? Každá ze sedmi bitových pozic může totiž nabývat hodnotu O nebo 1, což dává 27 neboli 128 možností. Věci se dále komplikují tím, že síťová adresa se samými bity 0 (0000 0000) je vyhrazena jako označení výchozího směrování (viz tabulka 2.4 v předchozí sekci). Navíc nelze použít ani adresu 1 27, která slouží k diagnostice. To znamená, že k označení síťových adres třídy A lze v praxi použít pouze čísla od 1 do 1 26. Skutečný počet použitelných síťových adres třídy A je 128 bez 2 neboli 1 26.

 

Poznámka IP adresa 127.0.0.1 umožňuje testovat sadu protokolů IP jednotlivých uzlů a nelze ji použit jako platnou hostitelskou adresu.

 

Každá adresa třídy A má k dispozici 3 bajty (24 bitových pozic) pro adresy uzlů (počítačů). To znamená, že je v každé síti třídy A k dispozici 2 2 4 - tj. 16 777 216 - unikátních kombinací, a tedy i stejný počet možných jedinečných adres uzlů. Adresy uzlů se samými nulami i samými jedničkami jsou vyhrazeny, takže skutečný maximální počet použitelných uzlů v síti třídy A dosahuje 2 2 4 minus 2, což se rovná 1 6 777 2 14. V každém případě je to mimořádný počet hostitelů v jednom síťovém segmentu!

 

Platné identifikátory hostitelů v síti třídy A

Ukažme si nyní, jak zjistit platné identifikátory hostitelů v síťové adrese třídy A:

• Po vypnutí všech bitů hostitele dostaneme síťovou adresu: 1 0.0.0.0. • Zapnutí všech bitů poskytne všesměrovou adresu: 10.255.255.255.

 

Platné adresy hostitelů odpovídají číslům mezi síťovou adresou a všesměrovou adresou: 1 0.0.0. 1 až 1 0.255.255.254. Všimněte si, že adresy s hodnotou O a 255 mohou označovat platné identifikátory hostitelů. Při zjišťování platných hostitelských adres si stačí pamatovat, že nesmí být vypnuté či zapnuté všechny hostitelské bity zároveň.

 

Adresy třídy B

V síťových adresách třídy B jsou první dva bajty přiřazeny síťové adrese a zbývající dva bajty slouží k popisu adres uzlů. Formát vypadá takto:

sít .sít . u zel . u zel

Například v IP adrese 1 72. 1 6.30.56 určují čísla 1 72. 16 síťovou adresu a 30.56 označuje adresu uzlu. Vzhledem k tomu, že síťové adresy obsahují dva bajty (po 8 bitech), počet unikátních kombinací teoreticky dosahuje 2 16. Návrháři Internetu však rozhodli, že adresy třídy B musí začínat binární číslicí 1 následovanou číslicí O. Měnit lze tedy hodnoty zbývajících 14 bitových pozic a proto existuje 1 6 384 (tj. 214) jedinečných síťových adres třídy B. Adresa třídy B zahrnuje 2 bajty určené k adresování uzlu. Počet možných adres se tedy rovná 2 16 bez dvou vyhrazených vzorů (samé nuly a samé jedničky), což dává celkem 65 534 možných adres uzlů v každé síti třídy B.

 

Platné identifikátory hostitelů v síti třídy B

Následující příklad ukazuje, jak najít platné hostitele v síti třídy B:

• Po vypnutí všech bitů hostitele dostaneme síťovou adresu: 1 72. 1 6.0.0. • Zapnutí všech bitů hostitele poskytne všesměrovou adresu: 1 72. 1 6.255.255.

Platné adresy hostitelů odpovídají číslům mezi síťovou adresou a všesměrovou adresou: 1 72. 1 6.0. 1 až 1 72.1 6.255.254.

Adresy třídy C

První 3 bajty síťové adresy třídy C jsou určeny pro síťovou část adresy a pouze jediný bajt zbývá k popisu adresy uzlu. Formát vypadá takto:

síť .síť .sít . u zel

Ukázková IP adresa 192. 1 68. 1 00. 1 02 zahrnuje síťovou adresu 192. 1 68. 1 00 a adresu uzlu 1 02. V síťové adrese třídy C mají první tři bitové pozice vždy binární hodnotu 1 10. Výpočet možností vypadá následovně: Po odečtu tří vyhrazených pozic od 3 bajtů neboli 24 bitů zbývá 21 bitových pozic. K dispozici je tedy 2 2 1 neboli 2 097 1 52 možných sítí třídy C. Každá unikátní síť třídy C poskytuje 1 bajt, který lze použít pro adresy uzlů. Při výpočtu je tedy nutné od hodnoty 2 8 neboli 256 odečíst dva rezervované vzory samých nul a samých jedniček. Výsledkem je 254 adres uzlů v každé síti třídy C.

 

Platné identifikátory hostitelů v síti třídy C

Předveďme si nyní, jak zjistit platná ID hostitelů v síti třídy C:

• Po vypnutí všech bitů hostitele dostaneme identifikátor sítě: 192. 1 68. 1 00.0 . • Zapnutí všech bitů hostitele poskytne všesměrovou adresu: 192. 1 68. 1 00.255.

Platné adresy hostitelů odpovídají číslům mezi síťovou adresou a všesměrovou adresou: 192. 1 68. 1 00. 1 až 192. 1 68. 1 00.254.

 

Privátní IP adresy

Odborníci, kteří vyvinuli schéma adresování IP, vytvořili rovněž tzv. privátní IP adresy. Tyto adresy lze použít v privátní síti, ale není možné zajistit jejich směrování v Internetu. Tato vlastnost zvyšuje zabezpečení, ale kromě toho také šetří cenný prostor IP adres. Pokud by každý hostitel v každé síti musel mít skutečnou směrovatelnou IP adresu, byl by fond IP adres vyčerpán už před mnoha lety. Díky privátním IP adresám však poskytovatelé připojení k Internetu, firmy a domácí uživatelé potřebují pouze relativně malou skupinu veřejných IP adres, které umožňují připojení jejich sítí k Internetu. U této ekonomické varianty stačí ve vnitřních sítích používat privátní IP adresy. Aby uvedená konfigurace mohla fungovat, musí ISP, firmy či jednotlivci používat metodu označovanou jako NAT (Network Address Translation), která v zásadě přijímá privátní IP adresy a převádí je pro použití v Internetu. (Překladem adres NAT se budeme zabývat v kapitole l l , "Překlady adres NAT (Network Address Translation)".) V této konfiguraci může více reálných uživatelů komunikovat s Internetem přes stejnou reálnou IP adresu. Tím se šetří obrovské bloky adresního prostoru, což je dobré pro všechny.

 

Z praxe Které privátní IP adresy Je tedy vhodné zvolit? To je opravdu dobrá otázka: měli byste se v nové síti rozhodnout pro privátní adresováni třídy A, B nebo dokonce C? Představte si fiktivní společnost s názvem Kapitál. Společnost se stěhuje do nové budovy a potřebuje novou síť (všichni už se těší). Kapitál má 14 oddělení a každé z nich zahrnuje přibližně 70 uživatelů. Celá firma by se pravděpodobně spokojila s jednou či dvěma sítěmi třídy C. Případně byste mohli použít třídu B nebo si dokonce pOhrát s třídou A. Konzultanti se řídí obecným pravidlem, že při zřizování podnikové sítě (ať už je jakkoli malá) je vhodné použít síťovou adresu třidy A, protože pOSkytuje maximální pružnost a možnosti růstu. Pokud například použijete síťovou adresu 1 0.0.0.0 s maskou / 24, budete mít k dispozici 6S 536 sítí po 2 54 hostitelích. Taková síť má opraVdu spoustu místa k dalšímu rOZVOji! Jestliže však instalujete domácí síť, dáte asi přednost adrese třídy C, protože tyto sítě jsou nejsrozumitelnější a nejsnáze se konfígurují. volba výchozí masky třídy C nabízí jedinou síť s 2 54 hostiteli, což pro domácí síť bohatě stači. V případě spOlečnosti Kapitál lze s výhodou zvolit síťovou adresu 1 0.1 .x.0 s maskou /24 (x označuje podsíť každého odděleni). Taková síť se bude snadno navrhovat, instalovat a ladit.

Tabulka 2.5: Vyhrazený adresní prostor IP

Třída adres Vyhrazený adresní prostor

Třída A             1 0.0.0.0 až 10.255.255.255

Třída B             172.1 6.0.0 až 172.31.255.255

Třída C             192.1 68.0.0 až 192.168.255.255

Všesměrové adresy

Většina lidí používá termín všesměrové vysílání (broadcast) v obecném významu a většinou je jasné, co tím míní. Někdy to však neplatí. Můžete například říci: "Hostitel vysílal přes směrovač na server DHCP", ale ve skutečnosti není příliš pravděpodobné, že by k tomu opravdu došlo. Toto tvrzení (formulované správným technickým žargonem) pravděpodobně znamená: "Hostitel odeslal všesměrové vysílání se žádostí o IP adresu. Směrovač tuto zprávu poté předal serveru DHCP jako paket jednosměrového vysílání". Pamatujte mimochodem také na to, že u protokolu IPv4 jsou všesměrová vysílání poměrně důležitá, ale v případě protokolu IPv6 vůbec žádná všesměrová vysílání neexistují. Můžete se tedy těšit na podrobnější informace o tomto protokolu v kapitole 1 3. V kapitolách 1 a 2 jsme se o všesměrových adresách již zmínili a dokonce jsme si uvedli několik příkladů. Zatím jsme se však nezabývali různými vlastnostmi a způsoby použití těchto adres, takže je nejvyšší čas. Uveďme si tedy čtyři různá vysílání (obecného typu vysílánO, která si dále definujeme:

 

Všesměrová vysílání (broadcast) vrstvy 2: Odesílají se všem uzlům v síti LAN.

Všesměrová vysílání (vrstva 3): Odesílají se všem uzlům v síti.

Jednosměrová vysílání (unicast): Odesílají se jedinému cílovému hostiteli.

Vícesměrová vysílání (multicast): Jedná se o pakety odeslané z jediného zdroje, které se přenášejí mnoha zařízením v různých sítích.

 

V prvé řadě je nutné vědět, že všesměrová vysílání vrstvy 2 se také označují jako hardwarová všesměrová vysílání - šíří se pouze v síti LAN a nepřekračují její hranici (směrovač). Typická hardwarová adresa má délku 6 bajtů (48 bitů) a vypadá např. takto: Oc.43.a4J3. 1 2.c2. Všesměrové vysílání bude sestávat ze samých binárních jedniček, které budou v hexadecimálním tvaru dávat hodnoty F, tj. FE FE FE FE FE FE Dále tady máme prosté všesměrové adresy na vrstvě 3. Zprávy všesměrového vysílání jsou určeny všem hostitelům ve všesměrové doméně. Jedná se o síťová vysílání, která mají nastavena všechny hostitelské bity na hodnotu 1. Uveďme si příklad, který již znáte: Síťová adresa 1 72. 1 6.0.0 255.255.0.0 by měla všesměrovou adresu 1 72. 1 6.255.255 - tj. všechny hostitelské bity jsou zapnuty. Všesměrová vysílání mohou být také určena "všem sítím a všem hostitelům", což lze vyjádřit hodnotou 255.255.255.255. Dobrý příklad zprávy všesměrového vysílání představuje požadavek protokolu ARP (Address Resolution Protocol). Hostitel, který chce odeslat paket, zná logickou adresu (IP) cíle. Pokud se cíl nachází v jiné síti IP, musí hostitel doručovaný paket předat výchozí bráně. Jestliže je cíl umístěn v místní síti, zdroj předá paket přímo cíli. Vzhledem k tomu, že zdroj nezná adresu MAC, na kterou je nutné rámec přesměrovat, odešle zprávu všesměrového vysílání. Těmto zprávám naslouchají všechna zařízení v místní všesměrové doméně. Uvedené všesměrové vysílání v zásadě znamená: "Pokud jsi držitelem IP adresy 192. 1 68.2.3, sděl mi, prosím, svou adresu MAC". Zdroj přitom poskytuje příslušné informace.

 

Jednosměrové vysílání (unicast) se liší, protože se jedná o paket všesměrového vysílání, který směřuje z adresy 255.255.255.255 na vlastní cílovou IP adresu - jinými slovy je směrován konkrétnímu hostiteli. Fungování jednosměrového vysílání lze vhodně ilustrovat na příkladu klientského požadavku DHCP. Uveďme si příklad: Hostitel v síti LAN odešle při hledání lokálního serveru DHCP všesměrové vysílání vrstvy 2 s hodnotou FEFEFEFEFEFF a všesměrové vysílání vrstvy 3 s cílem 255.255.255.255. Směrovač zjistí, že se jedná o všesměrové vysílání určené serveru DHCP, protože má číslo cílového portu 67 (server BootP). Předá tedy požadavek na IP adresu serveru DHCP v jiné síti LAN. Pokud má tedy server DHCP IP adresu 1 72.1 6. 10. 1, hostitel pouze odešle klientský požadavek DHCP všesměrového vysílání 255.255.255.255 a směrovač toto všesměrové vysílání předá na konkrétní cílovou adresu 1 72. 1 6.10.1. (Aby mohl směrovač tuto službu zajistit, musíte rozhraní nakonfigurovat příkazem i p hel p e r· addres s - nejde o výchozí nastavení.)

 

Vícesměrové vysílání (multicast) je založeno na zcela jiném principu. Na první pohled se zdá, že jde o křížence jednosměrové a všesměrové komunikace, ale to není tak úplně pravda. Vícesměrové vysílání umožňuje komunikaci I :N, která se podobá všesměrovým vysíláním, ale funguje odlišně. Vícesměrové vysílání v zásadě umožňuje více příjemcům přijímat zprávy, které přitom nezaplavují všechny hostitele ve všesměrové doméně.

 

Vícesměrové vysílání je založeno na odesílání zpráv neboli dat na IP adresy skupiny vícesměrového vysílání (multicast group). Směrovače pak předávají kopie paketů (oproti všesměrovému vysílání, které se nepředává) na každé rozhraní, kde se nacházejí hostitelé, již jsou přihlášeni k odběru dané skupinové adresy. V tomto aspektu se vícesměrové vysílání liší od všesměrových zpráv. U vícesměrové komunikace se kopie paketů teoreticky odesílají pouze hostitelům, kteří se k jejich odběru přihlásili. Říkáme "teoreticky", protože hostitelé přijmou například vícesměrový paket určený adrese 224.0.0.9 (jedná se o paket protokolu EIGRP, který přečtou pouze směrovače s podporou protokolu EIGRP). Rámec zachytí všichni hostitelé ve všesměrové síti LAN (jako technologie sítě LAN s vícenásobným přístupem všesměrového vysílání je definován Ethernet), přečtou cílovou adresu a okamžitě rámec zahodí. pokud nepatří do vícesměrové skupiny. Tato vlastnost šetří výpočetní výkon PC, ale nikoli šířku pásma sítě LAN. Pokud není vícesměrové vysílání pečlivě implementováno, může v některých případech značně zahlcovat lokální sítě.

Uživatelé nebo aplikace se mohou přihlásit k odběru několika různých skupin. Rozsah vícesměrových adres začíná od 224.0.0.0 a končí hodnotou 239.255.255.255. Jak je patrné, na základě třídního přiřazení IP spadá tento rozsah adres do adresního prostoru IP třídy D.

 

Shrnutí

Pokud jste se dostali až sem a rozuměli jste všemu napoprvé, můžete být na sebe pyšní. V této kapitole jsme probrali mnoho nových informací. Měli byste však vědět, že tyto znalosti budete potřebovat při zvládání témat v dalších částech knihy. I když vám vše nebylo ihned zcela jasné, nemusíte se kvůli tomu znepokojovat. Opravdu neuškodí, když si tuto kapitolu přečtete vícekrát. Čeká nás ještě dlouhá cesta, takže se snažte látku dostatečně vstřebat, abyste byli připraveni na další témata. Nyní se snažíme postavit základy, které by měly být dostatečně pevné. Po seznámení s modelem ministerstva obrany, vrstvami a příslušnými protokoly jste se dozvěděli více o velmi důležité problematice adresování v sítích IP. Podrobně jsme si rozebrali rozdíly mezi jednotlivými třídami adres a postupy, jak zjistit síťovou adresu, všesměrovou adresu a platný rozsah hostitelů. Chcete-Ii postoupit ke třetí kapitole, je klíčové, abyste těmto věcem rozuměli. Vzhledem k tomu, že jste dospěli až sem, neměli byste se nyní vzdávat. Byla by škoda té duševní energie a nových neuronů. Nepřestávejte tedy - pusťte se do písemného cvičení a otázek k opakování na konci této kapitole a ujistěte se, že rozumíte vysvětlení každé odpovědi. To nejlepší je teprve před vámi!

 

Klíčové poznatky ke zkoušce

Pamatujte si protokoly procesní/aplikační vrstvy - Telnet je program emulace terminálu, který umožňuje přihlášení ke vzdálenému hostiteli a spouštění programů. FTP (File Transfer Protocol) je spojovaná služba, která dovoluje přenos souborů. TFTP (Trivial FTP) je nespojovaný program na přenos souborů. SMTP (Simple Mail Transfer Proto col) je program k odesílání pošty.

Pamatujte si protokoly hostitelské vrstvy - TCP (Transmission Control Protocol) je spojovaný protokol, který poskytuje spolehlivou síťovou službu pomocí potvrzení a řízení toku dat. UDP (User Datagram Protocol) je nespojovaný protokol, který nabízí nízkou režii a považuje se za nespolehlivý.

Pamatujte si protokoly internetové vrstvy - IP (Internet Protocol) je nespojovaný protokol, který poskytuje síťové adresy a zajišťuje směrování v datové síti. ARP (Address Resolution Protocol) zjišťuje hardwarovou adresu na základě známé IP adresy. RARP (Reverse ARP) vyhledá odpovídající IP adresu ke známé hardwarové adrese. ICMP (Internet Control Message Protocol) poskytuje diagnostiku a zprávy o nedosažitelnosti cíle.

Pamatujte si rozsah adres třídy A - rozsah I P pro sítě třídy A je 1-126. K dispozici je tedy standardně 8 bitů síťového adresování a 24 hostitelského adresování.

Pamatujte si rozsah adres třídy B - rozsah I P pro sítě třídy B je 1 28-191. Adresování třídy B standardně nabízí 16 bitů síťového adresování a 16 hostitelského adresování.

Pamatujte si rozsah adres třídy C - rozsah IP pro sítě třídy C je 192-223. Adresování třídy C standardně poskytuje 24 bitů síťového adresování a 8 hostitelského adresování.

Pamatujte si rozsahy privátních IP adres - rozsah privátních adres třídy A sahá od 10.0.0.0 do 10.255.255.255.

Rozsah privátních adres třídy B leží od 1 72. 1 6.0.0 do 1 72.3 1.255.255.

Privátní adresy třídy C spadají do rozsahu 192. 1 68.0.0 až 192. 1 68.255.255.