Výuková interaktivní animace TCP/IP síťové komunikace

Podobné dokumenty
6. Transportní vrstva

MODELY POČÍTAČOVÝCH SÍTÍ

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Počítačové sítě II. 14. Transportní vrstva: TCP a UDP. Miroslav Spousta, 2005

Počítačové sítě 1 Přednáška č.6 Transportní vrstva

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Identifikátor materiálu: ICT-3-03

1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model

Počítačové sítě. Lekce 3: Referenční model ISO/OSI

Počítačové sítě Transportní vrstva. Transportní vrstva

3.17 Využívané síťové protokoly

CCNA 2/10 Další funkce TCP/IP Aleš Mareček Jaroslav Matějíček 1

Inovace bakalářského studijního oboru Aplikovaná chemie

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

JAK ČÍST TUTO PREZENTACI

3. Linková vrstva. Linková (spojová) vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

Telekomunikační sítě Protokolové modely

Inovace bakalářského studijního oboru Aplikovaná chemie

Počítačové sítě ve vrstvách model ISO/OSI

Vlastnosti podporované transportním protokolem TCP:

Aktivní prvky: brány a směrovače. směrovače

Routování směrovač. směrovač

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

Počítačové sítě. Miloš Hrdý. 21. října 2007

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

7. Relační a prezentační vrstva

STANDARDY POČÍTAČOVÝCH SÍTÍ

Počítačové sítě. Počítačová síť. VYT Počítačové sítě

Komunikační protokoly počítačů a počítačových sítí

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina Ver. 1.0 leden 2006

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

4. Transportní vrstva

Analýza aplikačních protokolů

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

Počítačové sítě Teoretická průprava II. Ing. František Kovařík

Počítačové sítě internet

Síťová vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Inovace a zkvalitnění výuky prostřednictvím ICT Počítačové sítě Vrstvový model TCP/IP Ing. Zelinka Pavel

Projekt IEEE 802, normy ISO 8802

Eva Hladká. podzim 2011

Základy počítačových sítí Model počítačové sítě, protokoly

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network

Úvod do analýzy. Ústav informatiky, FPF SU Opava Poslední aktualizace: 8. prosince 2013

PB169 Operační systémy a sítě

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

Měření kvality služeb. Kolik protlačíte přes aktivní prvky? Kde jsou limitní hodnoty ETH spoje? Data Hlas Video. Black Box Network Infrastructure

Architektury komunikujících systémů

Architektury komunikujících systémů

Internet. Počítačová síť, adresy, domény a připojení. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Protokoly přenosu. Maturitní otázka z POS - č. 15. TCP/IP (Transmission Control Protocol/Internet Protocol)

Systémy pro sběr a přenos dat

QoS na L2/L3/L4. Brno, Ing. Martin Ťupa

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Počítačové sítě Implementace RM OSI. Počítačové sítě - Vrstva datových spojů 1

5. Směrování v počítačových sítích a směrovací protokoly

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

EXTRAKT z české technické normy

Y36PSI Protokolová rodina TCP/IP

Ukázka testu Informatiky pro přijímací zkoušky do navazujícího magisterského studia

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

Inovace výuky prostřednictvím šablon pro SŠ

EU-OPVK:VY_32_INOVACE_FIL9 Vojtěch Filip, 2013

ZÁKLADNÍ ANALÝZA SÍTÍ TCP/IP

Univerzita Jana Evangelisty Purkyně Automatizace Téma: Datová komunikace. Osnova přednášky

Počítačové sítě. Další informace naleznete na :

A7B36PSI Úvod 1/29. Jan Kubr. Honza Kubr - 1_uvod

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

7. Relační a prezentační vrstva

POČÍTAČOVÉ SÍTĚ 1. V prvním semestru se budeme zabývat těmito tématy:

e1 e1 ROUTER2 Skupina1

ZPS 3 Standardizace počítačových sítí, zásobník TCP/IP, model ISO/OSI, vybrané protokoly

TOPOLOGIE DATOVÝCH SÍTÍ

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

POČÍTAČOVÉ SÍTĚ Metodický list č. 1

SSL Secure Sockets Layer

Technologie počítačových sítí 2. přednáška

Přepínaný Ethernet. Virtuální sítě.

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu

Distribuované systémy a počítačové sítě

Úvod Úrovňová architektura sítě Prvky síťové architektury Historie Příklady

POKUD JSOU PRACOVNÍCI SPOJENI DO SÍTĚ MOHOU SDÍLET: Data Zprávy Grafiku Tiskárny Faxové přístroje Modemy Další hardwarové zdroje

Semestrální práce CC3 TCP/IP transport a aplikace

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

Technologie počítačových komunikací

íta ové sít TCP/IP Protocol Family de facto Request for Comments

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

SPŠ a VOŠ Písek, Písek, K. Čapka 402. Učební texty. Datové sítě I. Vypracovala: Mgr. Radka Pecková

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

Seznámit posluchače se základními principy činnosti lokálních počítačových sítí a způsobu jejich spojování:

Učební text základy PC sítí

Transkript:

MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Výuková interaktivní animace TCP/IP síťové komunikace BAKALÁŘSKÁ PRÁCE Brno, jaro 2011 Marek Menšík

Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. V Brně dne 23. května 2011 Marek Menšík Vedoucí práce: RNDr. Tomáš Rebok, Ph.D.

Poděkování Zde bych chtěl poděkovat vedoucímu mé bakalářské práce, panu RNDr. Tomášovi Rebokovi, za jeho ochotu, hodnotné rady a čas strávený nad touto prací.

Shrnutí Cílem této práce je poskytnout studentům interaktivní počítačovou animaci pro lepší a rychlejší pochopení síťové komunikace vyučované v předmětech na Fakultě informatiky. Rovněž je cílem poskytnout vyučujícím nástroj pro snazší a názornější výuku. Klíčová slova Hlavička, TCP a UDP protokol, segment, paket, rámec, ISO/OSI model

Obsah 1 Úvod... 1 2 ISO/OSI model... 2 2.1 Vrstvy ISO/OSI modelu... 3 2.1.1 Aplikační vrstva (Application Layer - L7)... 3 2.1.2 Prezentační vrstva (Presentation Layer - L6)... 4 2.1.3 Relační vrstva (Session Layer - L5)... 4 2.1.4 Transportní vrstva (Transport Layer - L4)... 5 2.1.5 Síťová vrstva (Network Layer - L3)... 10 2.1.6 Spojová vrstva (Data Link Layer - L2)... 12 2.1.7 Fyzická vrstva (Physical Layer - L1)... 13 3 Analýza síťové komunikace... 15 3.1 Zadání webové adresy a DNS resolving... 15 3.2 Ustanovení spojení s hostitelem požadované stránky... 16 3.3 Vytvoření požadavku na stránku a jeho enkapsulace... 17 3.4 Manipulace s daty na přepínači a směrovači... 19 4 Výuková interaktivní animace... 20 4.1 Důvody pro vytvoření a očekávaný přínos... 20 4.2 Původní návrh animace, její realizace a výsledek... 20 4.3 Představení rozložení animace a její navigace... 21 4.4 Možná rozšíření do budoucna... 21 5 Závěr... 22 6 Použitá literatura... 23

1. Úvod 1 Úvod Běžný, počítačově gramotný uživatel Internetu málokdy tuší, co se vše odehrává v rámci technologie, která mu umožňuje komunikovat uvnitř této celosvětové sítě. Procesy jako prohlížení stránek nebo hraní her vyžadují různé parametry pro nastavení síťové komunikace. Pro průměrného uživatele však není nutné znát technologické pozadí komunikace přes Internet, ale pro vysokoškolské studenty informatiky je to nevyhnutelné. Především pro ně je určena výuková animace síťové komunikace, která bude představovat výstup této bakalářské práce. Na začátku teoretické části představím jednotlivé vrstvy síťového ISO/OSI modelu, které umožňují popsat veškeré prvky síťové komunikace, od aplikací, přes kódování, až po světelné signály na optických linkách. Tento model zjednodušuje síťovou komunikaci. Jde o jakousi pomůcku, která se dá použít například při řešení problémů se sítí a konfigurování protokolů. V připravované výukové animaci slouží též jako popisný rámec procesů probíhajících při síťové komunikaci. Samostatnou kapitolu tvoří analýza síťové komunikace mezi uživateli Internetu, která představuje simulaci zadání internetové adresy do prohlížeče, cestu tohoto dotazu k serveru se stránkou a její následné zobrazení. Obsahuje tak popis fungování nejdůležitějších procesů, které probíhají na jednotlivých vrstvách ISO/OSI modelu předloženého v úvodní části práce. Následující kapitola se věnuje již popisu samotné výukové animace, důvodům jejího vytvoření, jejímu návrhu a očekávaným přínosům. Taktéž tato kapitola zahrnuje základní manuál pro její použití, tedy popis uživatelského rozhraní animace a návrhy na její možné zdokonalení v budoucnosti. V rámci praktické části bakalářské práce jsem vytvořil samotnou výukovou interaktivní animaci TCP/IP síťové komunikace, která názorně zobrazuje průchod dat sítí popsaný v teoretické části práce. Animace je vytvořena za pomocí vývojového nástroje Adobe Flash CS5, který představuje vhodné prostředí pro grafickou práci i programovaní, které jsou nutné při vytváření tohoto typu animací. 1

2. ISO/OSI model 2 ISO/OSI model K pochopení celé problematiky síťové komunikace je nutné představit si ISO/OSI model model, který je schopen popsat veškeré dění na síti, od zadání příkazu L7 Aplikační vrstva uživatelem, až po signály putující kabelem či vzduchem. Pro tento účel poslouží referenční model ISO/OSI navržený Mezinárodní organizací pro L6 Prezentační vrstva normalizaci (International Organization for Standardization) sídlící v L5 Relační vrstva Ženevě. Tento model zobrazuje a zjednodušuje řešení komunikace L4 Transportní vrstva v počítačových sítích. Je v něm názorně vyobrazeno sedm vrstev, L3 Síťová vrstva kterými data při této komunikaci procházejí. Ve skutečnosti se nedá L2 Spojová vrstva přesně říci, kde jedna vrstva končí a další začíná. Jde pouze o jakousi L1 Fyzická vrstva pomůcku, která se dá použít při řešení problémů se sítí, konfiguracích protokolů a jiných účelů týkajících se síťové komunikace. [2] Většinou všechny úlohy začínají na aplikační vrstvě, kde je nějakou svou činností vytvoří uživatel. Po jejich odeslání musí informace projít skrze všechny vrstvy ISO/OSI modelu, kde se postupně upravuje a přidávají se k ní další, režijní data. Jakmile dorazí na nejspodnější, fyzickou vrstvu, je informace poslána po přenosovém médiu skrze síť k jejímu adresátovi, kde se celá akce rozbalování a úprav dat děje opačně, tedy od fyzické vrstvy nahoru k vrstvě aplikační. Laicky řečeno: každý počítač, směrovač či server si můžeme představit jako tento model, na jehož vrstvách se komunikace odehrává a my si ji můžeme ukázat a porozumět ji. L7 L6 L5 L4 L3 L2 L1 ISO/OSI model Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva Přenosové médium ISO/OSI model Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva L7 L6 L5 L4 L3 L2 L1 2

2.1 Vrstvy ISO/OSI modelu 2.1 Vrstvy ISO/OSI modelu V následující kapitole bude blíže rozebrána každá z vrstev ISO/OSI modelu, bude popsáno, k čemu slouží a budou zmíněny jejich nejdůležitější funkce. 2.1.1 Aplikační vrstva (Application Layer - L7) Jedná se o nejvyšší vrstvu OSI modelu, která se stará o to, aby aplikace měly přístup k síťové komunikaci na nižších vrstvách a byly mezi sebou schopny komunikovat. Aplikace komunikují za pomocí protokolů, které pracují nad určitými porty, jež aplikaci v síti jednoznačně identifikují (o tom podrobněji až na transportní vrstvě). Aplikační vrstva má schopnost iniciovat spojení, k čemuž využívá nižší vrstvy. Je vlastně takovým prostředníkem mezi hardwarem a uživatelem, který se složitostí komunikace nechce zabývat. ISO/OSI model Příklad: Internetové stránky v internetovém prohlížeči používají pro komunikaci port č. 80 (alternativně i 8080), na kterém komunikuje protokol http (starající se mimo jiné o zobrazování stránek). Pokud chce uživatel nějakou stránku vidět, zadá adresu, prohlížeč pošle dotaz na server a ten stránku pošle zpět. Vše obstará protokol HTTP, přesněji HTTP GET dotaz klienta a HTTP RESPONSE odpověď serveru. Odpovězená stránka je ve formě textu (HTTP kódu) s případnými obrázky a jinými multimédii, které aplikace prohlížeče, naslouchající na portu 80, poskládá dohromady a stránku zobrazí. L7 L6 L5 L4 L3 L2 L1 Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva Uživatel Odchozí požadavek (HTTP GET) Zdrojový port: 1013 Cílový port: 80 Odpověď na požadavek (HTTP RESPONSE) Zdrojový port: 80 Cílový port: 1013 Server Další protokoly: HTTP (port 80), DHCP (porty 67, 68), IMAP (port 143), POP3 (port 110), SMTP (port 25), SSH (port 22), Telnet (port 23), FTP (port 21), NTP (port 123). 3

2.1 Vrstvy ISO/OSI modelu 2.1.2 Prezentační vrstva (Presentation Layer - L6) Prezentační vrstva se zabývá strukturou dat a transformuje je do tvaru, který používá architektura daného systému, což zahrnuje konvertování, transformace, šifrování, převádění abeced, atd. Je odpovědná za doručení informace aplikační vrstvě k dalšímu zpracování či rovnou k zobrazení. Protokoly: AFP, ASCII, EBCDIC, LPP, atd. L7 L6 L5 L4 L3 L2 L1 ISO/OSI model Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva 2.1.3 Relační vrstva (Session Layer - L5) Před jakoukoliv komunikací je nejprve potřeba vytočit příjemce, tj. navázat s ním spojení relaci. Toto spojení mezi koncovými účastníky vznikne na úrovni relační vrstvy. Hlavními úkoly relační vrstvy je řízení a synchronizace tohoto dialogu. ISO/OSI model L4 Transportní vrstva Řízení dialogu L3 Síťová vrstva Řízení dialogu mezi dvěma koncovými uzly je jedna z hlavních funkcí L2 Spojová vrstva relační vrstvy. Je totiž nežádoucí, aby oba uzly hovořily najednou, což L1 Fyzická vrstva je vyřešeno předáváním pověření k přenosu dat data token. Token si lze představit jako štafetový kolík s tím, že kdo jej vlastní, může vysílat, přičemž relační vrstva disponuje prostředky, jak token poslat dál, či si jej vyžádat. Rozlišují se tři druhy řízení dialogu: Plně duplexní (full duplex) Obě strany mohou vysílat i přijímat data zároveň. Klasickým příkladem je spojení telefonního hovoru, kdy oba účastníci mohou hovořit i poslouchat. Polo duplexní (half duplex) Obě strany mohou vysílat i přijímat, avšak nikoliv zároveň. Právě zde se využívá mechanismu předávání pověření k přenosu dat tzv. data token (viz výše). Příkladem mohou být vysílačky, kde po stisknutí tlačítka jeden mluví a druhý poslouchá. Jednosměrné (simplexní) Simplexové spoje se v telefonních sítích nevyskytují. Jde o princip, kdy existuje vysílač a jeden nebo více přijímačů, které vysílat neumějí. Příkladem jsou televizory, GPS navigace či řízené rakety. L7 L6 L5 Aplikační vrstva Prezentační vrstva Relační vrstva Synchronizace dialogu Relační vrstva vkládá do vysílaných dat takzvané synchronizační body (checkpoints), které jsou zapotřebí tehdy, pokud je relační vrstva příjemce zahlcena daty z vrstvy transportní, nestíhá je zpracovávat a může docházet k jejich ztrátě. Proto si relační vrstva příjemce může vyžádat opakované odvysílání dat, které nestihla zpracovat od určitého synchronizačního bodu. Takto dojde k synchronizaci obou uzlů a vysílač může začít dále mluvit tam, kde příjemce zapomněl poslouchat. Protokoly: PPTP, RTCP, AppleTalk Session Protocol, SSL. 4

Data Segment TCP header 2.1 Vrstvy ISO/OSI modelu 2.1.4 Transportní vrstva (Transport Layer - L4) Transportní vrstva poskytuje velké množství služeb. Zajišťuje mimo jiné transparentní a spolehlivý přenos dat mezi koncovými uzly. Umí vytvářet, udržovat a ukončovat transportní spojení (spojově orientovaná služba), k čemuž využívá například protokol TCP (Transmission Control Protocol), nebo přenášet bloky (nespojově orientovaná služba), kde naopak využívá protokol UDP. Umožňuje také více aplikacím komunikovat najednou, i když jsou na stejném zařízení. K datům, která odesílá, přidává hlavičku zaručující identifikaci dat, která pak má na přijímací straně za úkol předat je správným aplikacím. [3] L7 L6 L5 L4 L3 L2 L1 ISO/OSI model Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva TCP hlavička Hlavička TCP protokolu je 20bajtová informace, která je na transportní vrstvě přidávána k datům, pocházejícím z vyšší, relační vrstvy. Obsahuje informace, podle kterých protokol pozná, odkud data jdou, kam je má doručit, v jakém pořadí, atd. [5] 0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930 31 Source port Destination port Sequence number Acknowledgment number Data offset Reserved Flags Window size Checksum Urgent pointer Options Padding Data Source port (zdrojový port) číslo portu aplikace, ze které jsou data odeslána. Destination port (cílový port) číslo portu aplikace na cílovém uzlu. Sequence number (sekvenční číslo) důležité při segmentaci (viz níže) a taky při ustanovení spojení (např. Three-way handshaku). Acknowledgment number (potvrzovací číslo) - důležité při segmentaci (viz níže) a taky při ustanovení spojení Flags (příznaky) nastavují se v různých situacích. Jsou to URG, ACK, PSH, RST, SYN, FIN. Window size (velikost okna) značí momentální maximální velikost okna jako množství dat v oktetech, které je potvrzováno najednou. Checksum (kontrolní součet) součet hlavičky sloužící jako její kontrola. Options (volby) pole proměnné délky pro volitelné parametry. Padding doplnění nulových bitů tak, aby byla hlavička dělitelná 32 beze zbytku. Aplikace používající TCP jako přenosový protokol: FTP, SMTP, HTTP, SAP 5

2.1 Vrstvy ISO/OSI modelu Ustanovení spojení (Three-way handshake) Před přenosem dat je třeba ustanovit transportní spojení, kdy si oba uzly vymění sekvenční a potvrzovací číslo. Tuto výměnu obstará protokol TCP pomocí metody three-way handshake, která přenastavováním příznaků SYN a ACK v TCP hlavičce spojení ustanoví: krok 1.: Klient pošle SYN paket (seq.n.=x, ack.n.=0) krok 2.: Server odpoví SYN+ACK (seq.n.=y, ack.n.=x+1) krok 3.: Klient potvrdí ACKem (seq.n.=x+1, ack.n.=y+1) Client Server Tim e Send SYN Receive SYN+ACK Send ACK Receive SYN Send SYN+ACK Receive ACK SYN (synchronize) žádost o synchronizaci sekvenčních čísel ACK(acknowledgment) potvrzení o přijetí zprávy Established Ukončení spojení (Four-way handshake) Při ukončení spojení se použije takzvaný čtyřcestný handshake nastavující příznaky FIN a ACK. [3] Client Server Tim e Send FIN Receive ACK Receive FIN Send ACK Receive FIN Send ACK Send FIN Receive ACK SYN (synchronize) žádost o synchronizaci čísel sekvence ACK (acknowledgment) potvrzení o přijetí zprávy FIN (final) žádost o ukončení spojení Terminated 6

2.1 Vrstvy ISO/OSI modelu Funkce a služby TCP protokolu Hlavními funkcemi TCP protokolu na této vrstvě je adresace portů, segmentace a znovusestavení segmentů a kontrola chyb. Rovněž je třeba kontrolovat síť, což obstarají funkce pro řízení toku a zahlcení. Adresace portů (Port Addressing) Data z transportní vrstvy jsou nasměrována ke správným aplikacím pomocí unikátních čísel - portů, pod kterými každá aplikace komunikuje a je podle nich v počítači jednoznačně identifikovatelná. Protokoly TCP i UDP mají v hlavičce nastaven cílový port, podle kterého poznají, které aplikaci mají data na cílovém uzlu předat. Naopak, když data do transportní vrstvy přijdou z vyšší vrstvy, mají nastaven port zdrojový, tedy identifikaci aplikace, ze které data pocházejí. Porty se podle použití dělí na: Well-known 0 až 1023 - tyto porty jsou vyhrazeny pro nejběžnější služby, jakými jsou například FTP, SMTP, DNS, HTTP, POP3, IRC. Registered ports 1024 až 49151 porty v tomto rozmezí si je možné registrovat u organizace ICANN 1, která má rozdělování portů na starost. Příklad MS SQL, WAP MMS, VOIP. Dynamic ports 49152 až 65535 určeny pro dynamické přidělování a soukromé využití. Segmentace a znovusestavení (Segmentation and reassembly) Segment má stanovenu maximální možnou velikost, a proto transportní vrstva, konkrétně protokol TCP, rozděluje data na segmenty (na obrázku), a každému z nich přiřadí do hlavičky sekvenční číslo. Toto číslo pak umožňuje příjemci složit přijaté segmenty ve správném pořadí a případně zjistit, zda nějaký nechybí. [3] Přenášená aplikační data TCP hlavička Data TCP hlavička Data TCP hlavička Data TCP hlavička Data Detekce chyb (Error Checking) Přijatá data, která přišla z nižší, síťové vrstvy, mohou být neúplná nebo obsahovat chyby, a proto je zapotřebí je zkontrolovat. Přestože kontroly hlaviček probíhají i na ostatních vrstvách, zde na transportní vrstvě probíhá kontrola všech dat. 1 <http://www.icann.org/> 7

2.1 Vrstvy ISO/OSI modelu Řízení toku (Flow Control) TCP protokol se snaží kontrolovat a upravovat množství a tempo vysílání dat tak, aby všechna odeslaná data byla příjemcem spolehlivě přijata a odesílatel je nemusel posílat znovu. Používá k tomu nastavení pole velikosti okna v hlavičce, jehož délka (0-65535 bajtů) je nastavena během ustavování spojení (three-way handshake). Velikost okna určuje příjemce, vysílající se musí přizpůsobit. Máme například výkonného odesílatele, síť a slabšího příjemce. Tento příjemce disponuje bufferem, do kterého si přijatá a zatím nezpracovaná data ukládá a skrz TCP posílá odesílateli informace, zda má posílat pomaleji či rychleji, čímž uplatňuje řízení toku. Odesílatel Síť Příjemce Řízení zahlcení (Congestion Control) Síť neumí sama říct, že je zahlcená, a tak je množství nebo naopak nedostatek potvrzení o přijetí 2 indikátorem jejího stavu. TCP protokol disponuje mnohými technikami, které mu umožňují efektivní využití sítě. Při této řízení zahlcení pak využívá odesílatel přijatá potvrzení o přijetí k analýze aktuálního stavu sítě. Odesílatel Síť Příjemce 2 Potvrzením o přijetí, že zpráva byla přijata v pořádku, se rozumí zaslání potvrzovacího paketu adresátem s nastaveným příznakem ACK = 1 8

2.1 Vrstvy ISO/OSI modelu Protokol TCP a spojově orientované spojení (Connection-oriented communication) Protokol TCP je spojově orientovaný protokol, což znamená, že výměně dat předchází ustanovení logického spojení mezi oběma koncovými uzly. Poskytuje potvrzení po každém úspěšném doručení a automaticky žádá o retransmisi v případě ztráty dat či při detekci chyby přenosu. [5] Protokol UDP a nespojově orientované spojení (Connectionless-oriented communication) Protokol UDP je téměř protikladem k protokolu TCP. Je nespojově orientovaný, což znamená, že se před začátkem vysílání dat neustanovuje spojení s příjemcem a data se začnou rovnou posílat na jeho adresu. Nevytváří žádnou zbytečnou režii a toleruje ztrátu dat, díky čemu dokáže data odbavit rychleji než protokol TCP, a proto se využívá ve specifických oblastech komunikace, kde nezáleží na doručení všech dat, ale na jejich množství a rychlosti doručení. Hlavička UDP protokolu je navíc ve srovnání s hlavičkou TCP protokolu velmi malá, neobsahuje zbytečnou režii a usnadňuje jeho velmi rychlé odbavení. S nedostatky a chybějícími funkcemi UDP protokolu se musí vypořádat až aplikace. Použití: Vysílání: Příjem dat: Zprávy: Režie/rychlost: Spolehlivost: TCP Časově nekritické aplikace. TCP potřebuje tři pakety k ustanovení spojení, než začne vysílat data. Ukládá si data a podle čísel v hlavičce je uspořádává. Spojově orientovaný. Zpráva putuje od jednoho počítače ke druhému a je potvrzena. Vysoká režie, obsáhlá hlavička, v porovnání s UDP je pomalejší. Potvrzení o přijetí a žádost o opětovné zaslání. Spolehlivě doručí všechny pakety a to i ve správném pořadí. UDP Aplikace upřednostňující stálý přísun dat nad integritou, např. online hry. UDP je jednoduchý, žádné ustanovení spojení, rovnou vysílá data na adresu příjemce. Nezachovává pořadí. Nespojově orientovaný. Zpráva je odvysílána bez ustanovení spojení. Na potvrzení se nečeká. Malá režie, jednoduchá hlavička, v porovnání s TCP je rychlejší. Mohou se ztrácet pakety, žádné potvrzování ani přeposílání. Není jasné, zda data vůbec dojdou. Funkce: Uspořádané doručení, kontrola chyb, kontrola toku. Hlavička: 20 bytů 8 bytů Protokoly: HTTP(s), FTP, SMTP, Telnet,... DNS, DHCP, RIP, VOIP,... Aplikace: Internetové prohlížeče, přenos souborů, zasílaní mailů - Real-time přenosy, streamování audia/videa, online hry 9

Segment Packet IPv4 header 2.1 Vrstvy ISO/OSI modelu 2.1.5 Síťová vrstva (Network Layer - L3) Základní úlohou síťové vrstvy je přenést data bez ohledu na to, jakého jsou typu. Protokoly této vrstvy definují strukturu a zpracování paketu pro jeho přenos od jednoho uzlu ke druhému. Asi nejdůležitějším prvkem síťové vrstvy jsou IP adresy. Ty mají funkci logických identifikátorů počítačů v síti. ISO/OSI model L3 Síťová vrstva L2 Spojová vrstva Ipv4 hlavička (Internet Protocol version 4) L1 Fyzická vrstva Ipv4 je nejpoužívanější síťový protokol. Je rychlý a flexibilní, nespojově orientovaný, přepravuje data bez záruky doručení a zachování pořadí. Má za úkol zabalit segment (nebo datagram) transportní vrstvy a přidat mu svou hlavičku, čímž vytvoří tzv. paket. 0 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031 Version Header length TOS Total length Identification Flags Fragment offset Time to live Protocol Header checksum Source IP Address Destination IP Address Options L7 L6 L5 L4 Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Data Version (verze) verze použitého IP protokolu, například hodnota 4 pro IPv4 nebo 6 pro IPv6. Header length (délka hlavičky) minimální velikost 20 bajtů, maximální 60 bajtů. TOS (typ služby) nastavuje například prioritu hlasových dat nad daty obyčejnými. Total length (celková délka) celková délka segmentu/datagramu včetně IP hlavičky. Flags (příznaky) příznaky pro fragmentaci. Time to live doba po které bude paket zahozen pro prevenci nekonečného bloudění paketu v síti. Protocol (protokol) protokol přenášený segmentem/datagramem (1-ICMP, 6-TCP, 17-UDP, ) Header checksum (součet hlavičky) kontrolní součet zajišťující integritu hlavičky. Source IP Address IP adresa odesílatele Destination IP Address IP adresa příjemce Options (volby) pole proměnné délky určené pro různá měření, debugging a bezpečnostní účely. 10

2.1 Vrstvy ISO/OSI modelu Směrování paketů (Routing, Packet Forwarding) Jedná se o proces vybírání cesty na síti, skrz kterou se budou data posílat. Pakety je potřeba správně doručit podle jejich cílové IP adresy uvedené v hlavičce. Tyto pakety zpočátku dorazí na směrovač jako rámce (frames) zabalené z nižší vrstvy, tedy s L2 hlavičkou, která je zde na síťové vrstvě zahozena. Každý paket je na směrovači samostatně obsloužen, což zahrnuje proces, ve kterém směrovač zjistí z hlavičky paketu na jeho cílovou IP adresu a následně ve své směrovací tabulce, kde má uloženy adresy všech sousedních směrovačů, vyhledá a určí další (next-hop) směrovač, kam dále paket odešle. Celkem má směrovač tři možnosti, jak s paketem naloží: buď najde odpovídající záznam ve své tabulce a pošle jej dalšímu směrovači nebo je oním posledním směrovačem před cílovým uzlem a odešle jej rovnou adresátovi. Třetí možnost zahrnuje zahození paketu, což udělá v případě, že ve své směrovací tabulce nenalezne další cestu kam paket poslat. Směrování se dělí na kategorie podle úprav směrovací tabulky a to na: Statické směrování adresy ve směrovacích tabulkách jsou zadány manuálně a při samotném směrování se nijak nemění. Dynamické směrování směrovací tabulky se mění podle způsobu výměny dat mezi jednotlivými zařízeními sítě. Ta se totiž může měnit například výpadkem nebo přidáním nových zařízení. Adresy protokolu IPv4 IP adresa je číslo jednoznačně identifikující počítač v síti. Ve verzi IPv4 (IP Internet Protokol) je to 32bitové číslo zapsané jako čtyři oktety oddělené tečkami, např.: 192.168.1.1. Jeden oktet (byte) může nabývat hodnot 0 až 255, tedy IP adres od 0.0.0.0 až po 255.255.255.255 je celkem 2^32 = 4 294 967 296. Rozdělování a rezervace IP adres zajišťuje organizace IANA a u množství čtyř miliard adres by se mohlo zdát, že musí stačit na dostatečně dlouhou dobu, avšak poslední bloky IP adres už byly dávno rozděleny, jen se teď pečlivěji zachází s jejím přerozdělováním. Adresy protokolu IPv6 Novější, šestá verze protokolu IP, už má délku 128 bitů, což je oproti IPv4 až absurdně velký adresní prostor. Zapisuje se jako osm skupin po čtyřech hexadecimálních číslicích, např.: fe08:0db8:e547:9a79:34ce:f5d6:fe1e:8329. Přináší také standardně některé funkce, které byly v IPv4 časem doimplementovány. Jedna z funkcí je například bezstavová konfigurace adres, což znamená, že si počítač po připojení do sítě automaticky vyžádá její nastavení a směrovač mu odpoví paketem s konfiguračními parametry síťové vrstvy. Z dalších například standardně implementovaný multicast nebo možnost posílat větší pakety, tzv. jumbogramy. [7] Protokoly: IPv4, IPv6, IPX, AppleTalk, atd. 11

2.1 Vrstvy ISO/OSI modelu 2.1.6 Spojová vrstva (Data Link Layer - L2) Spojová vrstva kontroluje přístup k přenosovému médiu, jako jsou kabely, optika nebo vzduch a připravuje pakety přicházející ze síťové vrstvy na přenos po těchto médiích. Důležitým prvkem je zde MAC adresa, což je fyzický identifikátor uzlu v síti. Spojová vrstva se dělí na dvě podvrstvy: Media Access Control (MAC) přiřazuje rámcům adresy, stará se o identifikaci začátku a konce rámce a řídí přístup k médiu. Logical Link Control (LLC) kontroluje chyby vzniklé při přenosu dat (parita, Hammingův kód, CRC) a má na starosti de/multiplexing (kombinování datových toků do jednoho signálu) L7 L6 L5 L4 L3 L2 L1 ISO/OSI model Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva Hlavička ethernetového rámce (Ethernet Frame header) Ethernetový rámec se skládá z hlavičky (header), dat (zabaleného paketu) a tzv. ocásku (trailer). Na každém síťovém prvku, ať už je to L2 směrovač nebo třeba switch, je třeba rozhodnout, kam dále rámec poputuje. Tento interface je zjištěn přečtením informace z hlavičky (Destination MAC) a porovnáním s MAC tabulkou sousedních zařízení, kterou si každý switch (nebo L2 směrovač) udržuje. Následně je vytvořena nová hlavička s novou adresou a spolu s trailerem je vytvořen nový rámec připravený k přenosu. Preamble + SOF Destination MAC Frame Header Packet Trailer Etherype Source MAC Data FCS or length Interframe gap 46-1500 8 bytes 6 bytes 6 bytes 2 bytes 4 bytes 12 bytes bytes 64 bytes minimum frame size Preamble + SOD (preambule a začátek rámce) 8 bajtů značících začátek rámce. Destination and Source MAC Address fyzická MAC adresa koncového a zdrojového uzlu. Type or length číslo označující typ protokolu použitého ve vyšší vrstvě nebo délku pole s daty. FCS (Frame check sequence) kontrolní součet pro rámec. Interframe gap (mezirámcová mezera) zařízení generuje mezeru mezi jednotlivými rámci o minimální délce 96 bitů, což je např. pro 100Mbit/s Ethernet čas 960 ns. MAC adresa Fyzické identifikace síťového adaptéru počítače, což může být například síťová nebo Wi-Fi karta. MAC adresa má 6 oktetů (48 bitů), kde první tři z nich označují výrobce adaptéru. 12

2.1.7 Fyzická vrstva (Physical Layer - L1) 2.1 Vrstvy ISO/OSI modelu Fyzická vrstva zajišťuje fyzickou komunikaci, kterou umí jak aktivovat a udržovat, tak i deaktivovat. Převádí bity, reprezentující rámce, na L7 ISO/OSI model Aplikační vrstva elektrické, optické či jiné signály, které pak posílá po komunikačním L6 Prezentační vrstva médiu. Je schopna různých kódování, přenosů a definuje standardy L5 Relační vrstva kabelů a topologií. L4 Transportní vrstva L3 Síťová vrstva L2 Spojová vrstva Potřeba zavedení kódování L1 Fyzická vrstva Oba komunikující uzly se musí před vysíláním synchronizovat pomocí synchronizačního signálu a tato synchronizace by se měla udržovat po celou dobu jejich komunikace. Synchronizace se dá představit jako sekundová ručička, která by měla tikat na obou uzlech stejně. Pokud každá tiká jinak, může dojít ke špatnému přečtení odvysílané informace. Synchronizační hodiny vysílače a odvysílaný signál 1 0 0 1 0 1 1 1 Synchronizační hodiny přijímače a přijatý signál 1 1 0 0 0 1 1 0 0 1 1 1 1 1 Příkladem kódování bez synchronizace může být kód NRZ (Non Return to Zero). Toto kódování se nadá použít pro synchronní přenosy dat. Naopak zástupcem kódu spojujícího datový signál se signálem synchronizačním je kód Manchester. Binární data 1 0 0 1 0 1 1 1 NRZ Manchester 13

2.1 Vrstvy ISO/OSI modelu Médium (medium) Signály se mohou přenášet nejen po vodičích, ale i vzduchem. Při volbě přenosového média často záleží na vzdálenosti koncových uzlů, předpokládané zátěži média nebo prostředí, ve kterém bude médium instalováno. Médií existuje celá řada. Zde jsou zmíněny nejznámější z nich. Kroucená dvoulinka (Twisted pair) Klasický síťový kabel používaný v mnoha domácnostech. Nejpoužívanější varianty jsou Category5e s přenosovou rychlostí 1000Mbps a Category6 s rychlostí 1000Mbps a více. Kroucením kabelu je dosaženo lepších elektrických vlastností kabelu. Je velmi levný a dá se použít maximálně na 100 metrů. Koaxiální kabel (Coaxial cable) Elektrický kabel složený ze dvou stíněných vodičů, dnes již se slabým výskytem v počítačových sítích. Používá se spíše k přenosu televizního signálu a k napájení antén. Tlustá verze kabelu, používaná pro Ethernet, dokáže přenést signál až na vzdálenost 500 metrů. [8] Optické vlákno (Optical fiber) Tenké optické médium, vyráběné z různých druhů skla a plastů, schopné přenášet data na velké vzdálenosti pomocí světelných paprsků. Je odolné proti elektromagnetickému záření a má velmi malou ztrátovost. Masivnější verze optických kabelů bývají pokládány na mořské dno pro objemné přenosy dat mezi kontinenty. 14

3. Analýza síťové komunikace 3 Analýza síťové komunikace Síťová komunikace může být někdy velmi složitá a ne vždy dojde k bezchybné, bezpečné a rychlé výměně informací mezi oběma uzly. V následujících řádcích bude pomocí vrstev ISO/OSI modelu analyzována síťová komunikace, která bude simulovat zadání internetové adresy do prohlížeče. 3.1 Zadání webové adresy a DNS resolving Uživatel zadá požadovanou adresu, jinak též doménové jméno, do adresního řádku prohlížeče. Ten však podle tohoto jména nepozná, kam má adresu směrovat a pokud už dotazovanou stránku nemá uloženou v paměti, musí jméno odeslat DNS (Domain Name System) serveru. DNS servery jsou hierarchicky uspořádané databáze sloužící jako převodníky mezi doménovými jmény a IP adresami, za pomoci kterých už počítač pozná, kam má dotaz směrovat. Nechť má požadovaná adresa tvar kupříkladu www.address.com. Hned první DNS server, přes který dotaz projde, je většinou lokální a patři internetovému poskytovateli (ISP DNS Server). Ten však adresu nezná, ale díky znalosti adres kořenových DNS serverů se postará o veškerou komunikaci při hledání IP adresy. Pošle dotaz kořenovému DNS serveru (Root DNS Server), který jej podle domény nejvyšší úrovně (.com,.cz.,.eu) odkáže na další, Intermediate DNS server. Tento server však odpověď také nezná a odkáže na autoritativní DNS server, který již odpověď zná a pošle lokálnímu DNS serveru IP adresu požadované domény. Ten ji předá počítači, jež podle ní může stránku navštívit. [6] Client 1 8 ISP DNS Server 2 3 4 5 6 Root DNS Server Intermediate DNS Server (.com) 9 7 Authoritative DNS Server (address.com) www.address.com 15

3.2 Ustanovení spojení s hostitelem požadované stránky 3. Analýza síťové komunikace Nyní je už známa IP adresa, pod kterou se dá požadovaná stránka najít, ale před jejím přenesením je potřeba ustanovit s hostitelem TCP spojení pomocí metody Three-Way handshake. [5] 1. Prvním krokem této metody je zaslání tzv. SYN paketu s nastaveným příznakem SYN = 1 v TCP hlavičce. Číslo zdrojového portu, značícího zdrojové zařízení, je zvoleno náhodně, avšak port cílový je nastaven na číslo 80 pro identifikaci webové služby na cílovém zařízení. Sekvenční číslo je náhodné, potvrzovaní číslo nulové. Bity 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1718 19 20 21 22 23 24 25 26 27 2829 30 31 0 Source port = 12345 (random) Destination port = 80 32 Sequence number = 7332 (random) 64 Acknowledgment number = 0 96 Data offset Reserved Flags: SYN = 1 ACK = 0 Window size 2. Hostitel odpoví SYN-ACK paketem s příznaky SYN a ACK nastavenými na 1 a zdrojovým portem nastaveným na 80. Sekvenční číslo je náhodné, potvrzovací číslo musí být o jedna větší, než sekvenční číslo v předchozím kroku. Bity 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1718 19 20 21 22 23 24 25 26 27 2829 30 31 0 Source port = 80 Destination port = 12345 32 Sequence number = 15463 (random) 64 Acknowledgment number = 7333 96 Data offset Reserved Flags: SYN = 1 ACK = 1 Window size 3. Třetím a posledním krokem potvrdí klient přijatý SYN-ACK paket příslušným nastavením příznaků a portů TCP hlavičky. Sekvenční číslo je stejné, potvrzovací číslo je inkrementováno o jedničku. Bity 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1718 19 20 21 22 23 24 25 26 27 2829 30 31 0 Source port = 12345 Destination port = 80 32 Sequence number = 7333 64 Acknowledgment number = 15464 96 Data offset Reserved Flags: SYN = 0 ACK = 1 Window size 16

Data Segment TCP header 3.3 Vytvoření požadavku na stránku a jeho enkapsulace 3. Analýza síťové komunikace Aplikační vrstva Po ustanovení spojení s hostitelem je aplikační vrstvou vytvořen HTTP GET dotaz, což je textový požadavek, napsaný v jazyce html, zaslaný hostiteli, obsahující požadovanou stránku. HTTP GET požadavek se skládá z řádku požadavku (určuje například 1.1 verzi http protokolu) a hlaviček, které mohou mimo adresu požadované stránky obsahovat povolení k zobrazení v požadovaném jazyce nebo třeba povolení kódování. Každý řádek musí být zakončen <CR><LF> (Carriage return, Line feed) Vše je pak odděleno prázdným řádkem a následuje volitelné tělo zprávy. [4] HTTP GET požadavek GET / HTTP/1.1/<CR><LF> (řádek požadavku) Host: www.google.com<cr><lf> (hlavičky) Accept-Language_ de, en<cr><lf> <CR><LF> (prázdný řádek) (...volitelné tělo zprávy...) Transportní vrstva K datům (HTTP GET požadavku) je na transportní vrstvě připojena TCP hlavička, čímž je vytvořen segment. Cílový port 80, značí, že tato data jsou určena pro webovou službu běžící na serveru a zdrojový port identifikuje aplikaci odesílatele, ze které data pocházejí. Sekvenční číslo je o jedničku větší než bylo u posledního kroku Three-Way handshaku. 0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930 31 Source port = 12345 Destination port = 80 Sequence number = 7334 Acknowledgment number = 15464 Data offset Reserved Flags Window size Checksum Urgent pointer Options Padding Data = HTTP GET text 17

Segment Packet IPv4 header 3. Analýza síťové komunikace Síťová vrstva Při vyplňování IPv4 hlavičky je jako zdrojová adresa použita IP adresa klienta a jako adresa cílová je použita IP adresa cíle obdržená od lokálního DNS serveru při DNS resolvingu. Připojením této hlavičky k datům (segmentu) vznikne paket. 0 1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031 Version = Header TOS Total length 4 (IPv4) length Identification Flags Fragment offset Time to live = 15 Protocol = 6 (TCP) Header checksum Source IP Address = 192.168.1.2 (PC s IPaddress) Destination IP Address = 74.125.87.99 (Google s IP address) Options Data Spojová vrstva Příchozí paket je na spojové vrstvě obalen hlavičkou a ocáskem, čímž se vytvoří rámec. Hlavička začíná preambulí a oddělovačem, identifikujícím začátek rámce. Následuje MAC adresa cíle, která je načtena z ARC tabulky zdrojového počítače, kde jsou uloženy záznamy naposledy použitých MAC adres a k nim příslušných IP adres. Zdrojový počítač zná pouze IP adresu cíle, a pokud k ní nenajde ve své ARP tabulce příslušnou MAC adresu, musí vyslat broadcast zprávu všem okolním přístrojům v síti, ve které se zeptá, kam má dále podle této IP adresy posílat. Ozve se mu některý ze směrovačů v síti a on odešle rámec jemu. [4] Preamble + SOF Destination MAC Frame Header Packet Trailer Etherype Source MAC Data FCS or length 46-1500 8 bytes 6 bytes 6 bytes 2 bytes bytes 64 bytes minimum frame size Interframe gap 4 bytes 12 bytes Fyzická vrstva Na fyzické vrstvě se příchozí rámec převede pomocí kódu, jehož druh záleží na médiu, po kterém se signály budou přenášet. V tomto případě data poputují přes klasický ethernetový kabel, kde můžeme použít například kódování Manchester. 18

3.4 Manipulace s daty na přepínači a směrovači 3. Analýza síťové komunikace Přepínač (Switch) S daty, která po přenosovém médiu doputují k přepínači, se manipuluje podobně, jako na samotném počítači, akorát ne na všech vrstvách ISO/OSI modelu. Klasický přepínač operuje jen na dvou spodních vrstvách, fyzické a spojové. Příchozí data se dekódují, čímž se dosáhne rámce, jehož header a trailer se zahodí. Z ARP tabulky přepínače, kde jsou záznamy MAC adres spojeny s IP adresami, se zjistí MAC adresa dalšího prvku v síti, na který data poputují, přidá se zdrojová MAC adresa, vytvoří se kontrolní součet a zapsáním těchto informací do hlavičky a ocásku vznikne nový rámec. Ten se na fyzické vrstvě opět převede na signály a pošle na další zařízení v síti. Pokud však v ARP tabulce cílová MAC adresa nalezena není, vyšle směrovač všem okolním zařízením hromadnou (broadcast) zprávu, která se ptá, kdo má záznam IP adresy a s ní spojenou MAC adresu. Některý z přístrojů mu odpoví svou MAC adresou, kterou si přepínač uloží do své ARP tabulky pro další použití. L7 L6 L5 L4 L3 L2 L1 ISO/OSI model - Počítač - Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva Přenosové médium ISO/OSI model - Přepínač - Spojová vrstva Fyzická vrstva L2 L1 Směrovač (Router) Na směrovači se po dekódování rámce pokračuje až na třetí, síťovou vrstvu, kde po jeho rozbalení vznikne paket. Z něj směrovač potřebuje IP adresu cíle, kterou porovná se záznamy ve své směrovací tabulce, ze které se dozví, na který další směrovač (next hop router) data odešle. Pak předá paket na vrstvu spojovou, která z něj opět udělá rámec a fyzická vrstva jej pošle na další síťové zařízení. L7 L6 L5 L4 L3 L2 L1 ISO/OSI model - Počítač - Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva Přenosové médium ISO/OSI model - směrovač - Síťová vrstva Spojová vrstva Fyzická vrstva L3 L2 L1 19

4. Výuková interaktivní animace 4 Výuková interaktivní animace 4.1 Důvody pro vytvoření a očekávaný přínos Animace byla původně pouhým nápadem, který by ve výsledku usnadnil práci nejen studentům, ale i vyučujícím. Jelikož žádná podobná animace, která by zahrnovala kompletní průchod dat sítí, nebyla na Internetu k nalezení, stal se z něj úkol na bakalářskou práci. Cílem bylo vytvořit pro studenta jednoduchý a interaktivní program, který urychlí pochopení probírané látky. Animace nalezne uplatnění ve výuce některých předmětů Fakulty informatiky Masarykovy univerzity a bude také k dostání pro samostudium. Celé prostředí je navíc v anglickém jazyce pro snazší použití nejen v českých školách. 4.2 Původní návrh animace, její realizace a výsledek Zprvu animace existovala jen jako náčrtek topologie na papíře, avšak prvků, které by mohla obsahovat, bylo nebylo málo. Přešlo se tedy k výběru vhodného nástroje pro tvorbu animace, čímž se stal Adobe Flash CS5, ve kterém je možné kreslit i programovat. Po hodinách seznamování se s uživatelským rozhraním a desítkami videotutoriálů vznikl prvotní návrh topologie s několika málo tlačítky. Postupně přibývaly různé grafické prvky, texty a animace, které se měnily po víceméně nepravidelných konzultacích. Největšími změnami procházela animace na začátku, když přibývaly nové prvky. Poté se vývoj poněkud ustálil. Znatelných změn, především v grafických prvcích, dosáhla animace po zobrazení skrze projektor, na kterém zejména barvy vypadaly úplně jinak, než na klasickém LCD displeji. Výsledkem je interaktivní animace zobrazující podobu dat a manipulace s nimi krok po kroku, a to kompletně od zadání adresy do webového prohlížeče, až po její zobrazení na uživatelově počítači. [1] 20

4.3 Představení rozložení animace a její navigace 4. Výuková interaktivní animace Celá animace se vizuálně dělí celkem na tři části. Horní část zobrazuje text, který se mění u každého kroku. V dolní části je napevno umístěna topologie sítě, kde se jednotlivé kroky animují. A konečně vlevo je zobrazen ISO/OSI model, u kterého se animuje momentální podoba dat a na němž je vidět, na které vrstvě se animace právě odehrává. Animace se sestává z několika kroků, kde každý z nich je na svém počátku automaticky zastaven, aby bylo možné přečíst si příslušný text, uvědomit si, na které vrstvě se animace právě nachází a případně si dovysvětlit, jaká akce se odehraje. Teprve pak je možné použít mezerník, který v animaci funguje jako tlačítko play/pause a je jím možné animaci kdykoliv pozastavit nebo pustit dále s tím, že se na začátku dalšího kroku opět automaticky zastaví. Navigace mezi jednotlivými kroky se ovládá převážně pomocí klávesnice, a to šipkami vpravo a vlevo, stejně tak jako klávesami page up a page down, jež si navíc rozumí i s dálkovým ovladačem, používaným při prezentacích. Za pomocí myši je navíc možné v průběhu animace přejít na libovolný krok stisknutím některého z očíslovaných tlačítek umístěných pod animací, mezi kterými je i tlačítko vracející animaci na úplný začátek. 4.4 Možná rozšíření do budoucna V budoucnu je možné doplnit animaci na druhý zobrazený server, tedy seznam.cz a komunikaci pomoci protokolu UDP. Je možně také lépe a úsporněji uspořádat jednotlivé zobrazené prvky, detailněji doplnit texty, případně doplnit více interaktivních částí. ARP dotazy by animaci rovněž mohly značně obohatit. 21

5. Závěr 5 Závěr Komunikace přes Internet je v dnešním světě každodenní nezbytností v mnohých krajinách světa. Fungování dopravy, světové burzy či zábavného průmyslu je do jisté míry závislé na Internetu. Běžný uživatel se nevěnuje technologickým problémům na pozadí tohoto komunikačního kanálu. Na jeho udržování a bezproblémový provoz je však potřeba nespočetně mnoho odborníků, kteří mají vhled do dané problematiky. Proto je nezbytné vytvářet neustále aktualizovaný výukový materiál, který přinese relevantní informace pro studenty informatiky. Účelem této práce bylo poskytnout detailnější úvod do problematiky síťové komunikace a následně, s pomocí těchto poznatků, vytvořit výukovou interaktivní animaci síťové komunikace, která je určená studentům vysokých škol a zájemcům o technologii Internetové komunikace. V textové části bakalářské práce jsem se věnoval nejdříve popisu jednotlivých vrstev ISO/OSI modelu. Každá z těchto sedmi vrstev vykonává určitý soubor jasně definovaných funkcí potřebných pro komunikaci, která byla dále obsahem kapitoly věnující se analýze síťové komunikace, tedy popisu toho, co se děje na jednotlivých vrstvách od zadání adresy do internetového prohlížeče, až po zobrazení požadované stránky. V praktické části pak byla vytvořena animace, která prakticky zobrazuje vše popsané v kapitole analyzující síťovou komunikaci. Byla zkonstruována za pomocí softwaru Adobe Flash CS5 a pomáhá uživatelům získat potřebné informace o problematice přehlednou formou pomocí jednoduchého interfejsu s intuitivním ovládáním. 22

6. Použitá literatura 6 Použitá literatura [1] Adobe Systems Incorporated: Adobe Flash CS5, 2011, Dostupné online (květen 2011): <http://www.adobe.com/cz/products/flash.html?promoid=bpays>. [2] BOUŠKA, Petr.: Počítačové sítě Computer networks, OSI model, 2007, Dostupné online (květen 2011): <http://www.samuraj-cz.com/serie/pocitacove-site-computer-networks/>. [3] DOSTÁLEK Libor.: Velký průvodce protokoly TCP/IP a systémem DNS, Protokol TCP, 2002, Dostupné online (květen 2011): <http://www.cpress.cz/knihy/tcp-ip-bezp/cd-0x/9.html>. [4] FOROUZAN, Behrouz A., FEGAN, Sophia Chung.: Data communications and networking. 3rd ed. Boston: McGraw-Hill, 2004. 973 s. [5] HLADKÁ, Eva.: PB156: Počítačové sítě, Fakulta Informatiky, Masarykova Univerzita, materiály k předmětu, 2010. [6] KUROSE, James F., ROSS, Keith W.: Computer networking: a top-down approach. 5th ed. New York: Addison-Wesley, 2010. 862 s. [7] MATYSKA Luděk.: PA160 Počítačové sítě a jejich aplikace II, Fakulta Informatiky, Masarykova Univerzita, materiály k předmětu, 2010. [8] ODVÁRKA Petr.: Principy komunikace, média, rozsah, Svět sítí & Infinity a.s, 2000, Dostupné online (květen 2011): <http://www.svetsiti.cz/view.asp?rubrika=tutorialy&temaid=1&clanekid=20>. 23