PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Vizualizace a demonstrace IP fragmentace.

Rozměr: px
Začít zobrazení ze stránky:

Download "PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Vizualizace a demonstrace IP fragmentace."

Transkript

1 PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE Vizualizace a demonstrace IP fragmentace 2011 Jiří Holba

2 Anotace Tato práce pojednává o problematice fragmentace IP datagramu v sítích internetu. Zabývá se vznikem a využitím IP protokolu a dále se podrobněji věnuje samotné fragmentaci datagramu, která je součástí IP, a problémům a bezpečnostním rizikům, které jsou s fragmentací spojené.

3

4 Obsah 1. Vznik IP protokolu 9 2. Funkce IP protokolu 9 3. Datový rámec IP Verze protokolu Délka záhlaví Typ služby Celková délka IP datagramu Identifikace IP datagramu Příznaky Posunutí fragmentu od počátku Doba života datagramu (TTL) Protokol vyšší vrstvy Kontrolní součet záhlaví IP adresa odesílatele a příjemce Volitelné položky a zarovnání Explicitní směrování Zaznamenávej trasu Zaznamenávej čas Protokol ICMP Odpověď na požadavek Nedoručitelný IP datagram Snížení rychlosti odesílání Přesměrování Požadavek na odpověď Čas vypršel Trasování cesty Protokol IGMP Protokoly ARP a RARP Protokol ARP Protokol RARP Fragmentace IP datagramu Defragmentace IP datagramu Problémy spojené s fragmentací 23 4

5 10.Zamezení fragmentaci TCP MSS Příklad PMTUD Fragmentace a bezpečnost Překrytí fragmentů Zaplnění bufferu pro fragmentaci Přetečení IP fragmentu Přepsání fragmentu Implementace algoritmu IP fragmentace Emulátor počítačové sítě Implementace v jádru systému Linux Princip síťové komunikace v systému Linux Struktura sk buff Implementace algoritmu Implementace v uživatelské části systému Implementace defragmentace Princip implementace v systému Linux Vlastní implementace Srovnání implementace v systému Linux s vlastní implementací Fragmentace Defragmentace Uživatelské rozhraní Program ip send Program ip sniff Použité technologie a nástroje Programovací jazyk C Programovací jazyk C Knihovna libpcap Knihovna WinPcap Knihovna GTK Knihovna gtkmm Microsoft Visual Studio 2008 Express Glade Emacs gcc Wireshark

6 Závěr 49 Conclusions 50 Reference 51 A. Obsah přiloženého CD 52 6

7 Seznam obrázků 1. Cesta datagramu sítí Záhlaví IP datagramu Volitelné položky Explicitní směrování Zaznamenávej čas Původní datagram fragment fragment fragment Sestavení datagramu Obousměrný seznam sk buff Hlavní okno programu ip send Okno výběru síťového rozhraní Okno nastavení Okno fragmentace paketu Hlavní okno programu ip sniff Okno sestavení datagramu Okno sestavení datagramu Okno sestavení datagramu Okno sestavení datagramu

8 Seznam tabulek 1. Protokoly vyšších vrstev Hodnoty MTU

9 1. Vznik IP protokolu Specifikace protokolu IP verze 4, tedy verze, která se používá pro komunikaci v síti internet, vznikla v roce 1980 na University of Southern California. IP protokol nahradil stávající protokol NPC v tehdejším předchůdci internetu, síti ARPANET. Později byla specifikace IP protokolu ještě několikrát aktualizována, až vznikla specifikace RFC 791 [1], která se používá dodnes. V modelu ISO OSI odpovídá internet protokol síťové vrstvě. Slouží k přenosu dat, takzvaných datagramů, mezi dvěma libovolnými počítači v internetu, které jsou určeny jednoznačnou adresou (IP adresa). Každá IP adresa určuje právě jedno fyzické zařízení v síti internet. To znamená, že v celém internetu nesmějí existovat dvě zařízení přímo připojená k internetu, která by měla stejnou IP adresu. Ovšem jedno zařízení může mít adres více. 2. Funkce IP protokolu V této kapitole se zabývám jednotlivými funkcemi protokolu IP. Informace zde uvedené jsem čerpal ze specifikace [1] a knihy [2]. Základní funkcí IP protokolu je dopravit data z jednoho zařízení do jiného v rámci celého internetu. To znamená, že jednotlivá zařízení mohou ležet v různých LAN sítích. Oproti tomu linkové protokoly mají za úkol dopravovat pakety v rámci sítě LAN. Odtud vznikl i název IP protokolu, InterNet Protocol, neboli protokol spojující sítě. Propojení jednotlivých sítí, přes které musí paket putovat od svého odesílatele až k příjemci, zajišťují zařízení zvaná směrovač (anglicky router). Těchto směrovačů může být na cestě celá řada a úkolem každého z nich je předat paket dalšímu směrovači, až paket dorazí do sítě příjemce. Směrovače nemění obsah IP paketu, až na výjimky. Jednou z nich je fragmentace paketu, které bude věnována samostatná kapitola později, a druhou je doba života paketu. Vzhledem k tomu, jak rozsáhlá je síť internet, by se mohlo stát, že paket bude putovat sítí donekonečna, stále předáván od směrovače ke směrovači. Aby se této situaci zabránilo, je v hlavičce IP protokolu položka TTL (anglicky time to live). Odesílatel nastaví hodnotu této položky na určitou hodnotu, která je v případě operačního systému definována v konfiguraci síťové komunikace. Každý směrovač, který paket předá dalšímu zařízení, sníží hodnotu TTL v hlavičce paketu alespoň o jedničku. Jakmile hotnota TTL klesne na nulu, paket se zahodí a odesílateli je odeslána informace o zahození paketu servisním protokolem ICMP, který je jednou z částí IP protokolu. Jak vypadá cesta paketu od jeho odesílatele až k příjemci, je znázorněno na obrázku 1. Odesílatel má hardwarovou adresu HW1 a síťovou adresu IP1. Příjemce má hardwarovou adresu HW2 a síťovou adresu IP2. Odesílatel zabalí data z protokolu vyšší vrstvy do rámce protokolu IP, kde adresa odesílatele bude IP1, adresa příjemce bude IP2, a dále nastaví položku TTL na výchozí hodnotu. Výsledný IP paket bude vložen do rámce linkového 9

10 Obrázek 1. Cesta datagramu sítí protokolu, příslušného LAN, ve které se odesílatel nachází. V našem případě to bude protokol ethernet. Jelikož příjemce leží v jiné LAN než odesílatel, bude paket poslán na směrovač, který jej přepošle dál. Proto odesílatelem v hlavičce linkového protokolu bude odesílatel HW1, ale jako příjemce bude uveden směrovač s adresou HW3. Po doručení paketu směrovači HW3 je IP paket vybalen z linkového protokolu, hodnota TTL je snížena alespoň o jedničku a dále se rozhoduje, na které fyzické rozhraní směrovače bude paket odeslán. Rozhodování probíhá podle směrovacích tabulek, které jsou směrovačem drženy a aktualizovány. Poté, co je rozhodnuto, na které rozhraní bude paket dále odeslán, je opět zabalen do nového rámce linkové vrstvy, který odpovídá protokolu, kterým směrovač komunikuje na daném rozhraní. Může to být SLIP protokol, používaný pro přenos dat sériovou linkou, nebo jeho komprimovaná verze CSLIP, může to být ATM protokol, používaný v přepínaných sítích, záleží na tom, jaký typ sítě je na výstupním rozhraní směrovače. Nově vytvořený paket je tedy odeslán na další směrovač, který v našem případě má jedno ze svých rozhraní ve stejné síti, jako je příjemce. Po přijetí paketu opět vybalí IP paket z rámce linkové vrstvy, sníží hodnotu TTL alespoň o jedničku a podle směrovacích tabulek se rozhodne, na které ze svých rozhraní paket pošle dál. Paket tedy zabalí do rámce THERNET, kde adresou odesílatele bude hardwarová adresa směrovače HW4 a adresou příjemce bude HW2. Následně je paket doručen příjemci s adresou IP2. Důležité je, že i přes to, že paket byl přeposílán mezi směrovači přes sítě s odlišnou fyzickou 10

11 realizací a používající odlišné linkové protokoly pro komunikaci, IP rámec zůstal celou dobu nezměněn s výjimkou položky TTL. V textu výše byl zmíněn služební protokol ICMP, který je součástí IP protokolu. Takovýchto protokolů je více. IP protokol lze rozdělit na tyto části: samotný protokol IP služební protokol ICMP, který slouží k signalizaci výjimečných stavů služební protokol IGMP, který slouží k šíření multicastu služební protokoly ARP a RARP 3. Datový rámec IP Tato kapitola popisuje strukturu datového rámce protokolu IP. Informace jsou čerpány ze specifikace [1] a knihy [2]. Na obrázku 2. je znázorněn obsah záhlaví datového rámce IP. Obrázek 2. Záhlaví IP datagramu 3.1. Verze protokolu Pole verze protokolu je číselná hodnota označující verzi formátu záhlaví IP. Na obrázku 2. je záhlaví IP verze 4. 11

12 3.2. Délka záhlaví Jednotkou pro pole délka záhlaví je 32 bitů. Z toho vyplývá, že záhlaví musí být zarovnané na násobek 32 bitů, a protože jsou pro tuto položku vyhrazeny 4 bity, je maximální délka záhlaví 15x32 bitů, tj. 60 B Typ služby Podle RFC 791 měla tato položka sloužit k označení, jaký typ přepravní služby je pro daný paket nejvhodnější vzhledem k charakteru přenášených dat. Mělo být možné nastavit, zda vyžadujeme vyšší spolehlivost za cenu pomalejší odezvy, vyšší rychlost, a také prioritu paketu. Na tyto nastavené parametry paketu pak měl být brán zřetel při směrování v síti internet. V praxi tato položka nenašla uplatnění Celková délka IP datagramu Celková délka datagramu měřená v bytech, včetně záhlaví a dat. Maximální velikost datagramu je tedy B. Takto dlouhé datagramy jsou ale pro většinu zařízení a sítí nepraktické. Všechna zařízení musí být schopna přijímat datagramy až do velikosti 576 B, ať už dorazí vcelku, nebo po částech (fragmentech) Identifikace IP datagramu Identifikační číslo přiřazené operačním systémem odesílatele pro potřeby složení jednotlivých částí datagramu do původní podoby v případě fragmentace datagramu Příznaky Bit 0 - rezervován, musí být 0 Bit 1 - DF (don t fragment) fragmentace zakázána Bit 2 - MF (more fragments) 0 znamená poslední fragment 3.7. Posunutí fragmentu od počátku Určuje, kam přesně patří daná část datagramu. Používá se opět při fragmentaci datagramu. 12

13 3.8. Doba života datagramu (TTL) Tato položka se využívá v mechanismu, který zabraňuje nekonečnému přeposílání paketu v síti internet. Odesílatel nastaví položku TTL na určitou hodnotu (nastavuje jádro operačního systému, pokud ji nenastaví program explicitně) a při každém přesměrování datagramu je hodnota snížena nejméně o jedničku Protokol vyšší vrstvy Tato položka obsahuje číselnou identifikaci protokolu vyšší vrstvy použitého v datové části IP datagramu. Identifikační čísla jsou přidělována společností IANA 1. Jelikož je IP protokol protokolem, který v modelu ISO OSI odpovídá síťové vrstvě, jeho úlohou je pouze doprava protokolu vyšší vrstvy. Proto se v praxi nekomunikuje samotným protokolem IP, ale vždy je použit protokol vyšší vrstvy. I v případě použití služebního protokolu ICMP nebo IGMP je tento zabalen do protokolu IP. Tabulka 1. ukazuje nejčastěji používané protokoly vyšších vrstev. Číslo protokolu Protokol vyšší vrstvy 1 ICMP 2 IGMP 6 TCP 17 UDP Tabulka 1. Protokoly vyšších vrstev Kontrolní součet záhlaví Kontrolní součet pouze záhlaví datagramu. Jelikož se některé položky záhlaví mění, například TTL, je kontrolní součet přepočítán a zkontrolován pokaždé, když je datagram zpracováván. Algoritmus kontrolního součtu je popsán v normách RFC 1071 a RFC IP adresa odesílatele a příjemce Obsahuje 4 B dlouhou IP adresu Volitelné položky a zarovnání Volitelné položky rozšiřují IP záhlaví o řadu dalších voleb. V datagramu se mohou objevit a také nemusí. Jejich zpracování musí být podporováno všemi zařízeními na cestě datagramu sítí. Volitelné je pouze vysílání těchto položek, 13

14 ne jejich implementace. Jelikož maximální délka záhlaví IP datagramu je 60 B a 20 B jsou povinné položky, mohou mít volitelné položky až 40 B. I volitelné položky mají své záhlaví. To je znázorněno na obrázku 3. Obrázek 3. Volitelné položky Bit kopírovat znamená, zda se má pole volitelných položek kopírovat do jednotlivých fragmentů datagramu. Třídy jsou: 0 řízení sítě 1 rezervováno 2 ladění sítě a měření 3 rezervováno Definovány jsou následující volby: Třída Číslo volby Délka Popis 0 0 Nepoužité Konec seznamu voleb 0 1 Nepoužité Prázdná volba 0 3 Proměnná Explicitní směrování 0 9 Proměnná Striktní explicitní směrování 0 7 Proměnná Zaznamenávej trasu 2 4 Proměnná Zaznamenávej čas Pole Kopírovat, Třída a Číslo volby se často uvádějí dohromady jako jedno osmibitové pole Typ volby. Konec seznamu voleb označuje konec všech volitelných položek, ne jednotlivých položek. Používá se v případě, že konec volitelných položek není zároveň konec IP záhlaví. Taková situace může nastávat, jelikož záhlaví musí být zarovnané na 32 bitů. Toto pole může vznikat, být kopírováno nebo zanikat z důvodu fragmentace datagramu nebo jiného. Prázdná volba může být použita mezi jednotlivými volitelnými položkami. Například pro potřeby zarovnání začátku následující volby na 32 bitů. Toto pole může vznikat, být kopírováno nebo zanikat z důvodu fragmentace datagramu nebo jiného. 14

15 3.13. Explicitní směrování Je to způsob, jakým může odesílatel určit, kterou cestou má datagram putovat k příjemci. Volitelná položka sestává z pole typ volby, délka, ukazatel a pole směrovacích adres. Viz obr. 4. Pole délka je celková délka volitelného pole, zahrnující typ volby, délku, ukazatel a pole směrových adres. Obrázek 4. Explicitní směrování Pole ukazatel ukazuje na IP adresu v poli směrovacích adres, která bude použita příštím směrovačem. Celý proces směrování datagramu probíhá tak, že odesílatel vyplní do pole příjemce adresu prvního směrovače, který je na požadované cestě sítí. Do pole směrových adres zapisuje za sebe IP adresy jednotlivých směrovačů, přes které má být datagram poslán příjemci. Každý směrovač udělá to, že IP adresu, na kterou ukazuje pole ukazatel, zkopíruje do pole adresy příjemce. Do pole adres místo toho zapíše svoji IP adresu a pole ukazatel inkrementuje o 4, tak, aby ukazovalo na další IP adresu v poli směrovacích adres. Pokud ukazatel ukazuje za seznam adres, to jest, že hodnota pole ukazatel je větší než hodnota pole délka, znamená to, že další adresa již neexistuje a datagram dorazil k příjemci. Adresa, kterou směrovač zaznamenává do pole směrových adres, je jeho adresa, pod kterou vystupuje v síti, do které datagram přeposílá. Tím tedy vzniká v poli směrových adres zpáteční cesta. Směrovače na určené cestě mohou použít k dosažení následující adresy v seznamu směrových adres libovolnou cestu s libovolným počtem přesměrování přes jiné směrovače. Důležité je dosáhnout následující adresy v seznamu. Tato volba musí být označena pro kopírování do případných fragmentů datagramu a může se vyskytnout v datagramu maximálně jednou. Striktní explicitní směrování na rozdíl od explicitního směrování obsahuje v poli adres všechny směrovače. Směrovač se tedy nemůže rozhodnout, jakou cestou bude datagram putovat, ani nesmí použít jiný směrovač k dosažení následující adresy. Pokud by bylo nutné použít jiný směrovač, pak směrování selže Zaznamenávej trasu Volba, která umožňuje zaznamenat trasu, kterou putoval datagram od odesílatele k příjemci. Tato volitelná položka má stejnou skladbu jako explicitní směrování. Opět jsou zde pole typ volby, délka, ukazatel a pole směrovacích adres. S tím rozdílem, že odesílatel do pole délka započítává velikost pole směrovacích adres podle toho, kolik adres chce zaznamenat. Stále musíme brát v úvahu, že jsme limitováni maximální délkou IP datagramu. Takže maximální počet zaznamenaných adres může být devět. Do pole směrových adres pak odesílatel vyplní 15

16 nuly. Pokud je potom tento datagram přijat směrovačem, ten do něj zaznamená svoji adresu rozhraní, na které bude datagram směrovat, na pozici, na kterou ukazuje pole ukazatel. Pole ukazatel potom zvýší o hodnotu 4, tak, aby ukazovala na další pole v seznamu adres. Pokud ukazatel ukazuje za pole adres, další adresy směrovačů se již nezaznamenávají. Tato volba se při fragmentaci datagramu nekopíruje a je obsažena pouze v jeho první části, a to maximálně jednou Zaznamenávej čas Volba umožňující zaznamenat časy, ve kterých byl datagram doručen jednotlivým směrovačům. Vzhled pole je na obr. 5. Obrázek 5. Zaznamenávej čas Jsou tři druhy zaznamenávání času. K určení, který z nich se má použít, slouží pole příznaky a může nabývat těchto hodnot: 0 - zaznamenávají se pouze časy. Pole IP adresa se v tomto případě nepoužívá 1 - zaznamenává se IP adresa směrovače i časová známka 3 - pole IP adresa je předvyplněné a směrovač zaznamená časovou známku, jen pokud jeho IP adresa odpovídá následující IP adrese, která se má použít Stejně jako u zaznamenávání trasy, odesílatel vyplní pole délka s ohledem na to, kolik bude následovat polí časová známka, případně dvojic polí IP adresa a časová známka. Všechna pole IP adresa a časová známka vyplní nulami, případně vyplní IP adresy směrovačů, od kterých požaduje časové známky. Čas zaznamenaný směrovačem je uváděn jako počet milisekund od půlnoci UTC. V případě, že směrovač nemůže zapsat časovou známku z důvodu nedostatku místa, zvýší hodnotu přetečení o jedničku. Ta tedy udává počet směrovačů, které časovou známku nemohly zaznamenat. 16

17 4. Protokol ICMP Kapitola popisuje protokol ICMP, což je servisní protokol, který slouží k oznamování chybových stavů nebo k diagnostickým a směrovacím účelům. Jednotlivé podkapitoly popisují nejčastější zprávy zasílané tímto protokolem. Informace uvedené v této kapitole jsou čerpány z [3] a knihy [2] Odpověď na požadavek Používáno například programem ping. Na cílovou stanici je zaslán požadavek na odpověď a tato stanice odpoví touto ICMP zprávou. Tím odesílatel zjistí, zda je stanice zapojena v síti, délku odezvy atd Nedoručitelný IP datagram Je to chybová zpráva, která je zaslána zpět k odesílateli IP datagramu v případě, že tento nemohl být doručen cílové stanici. Zpráva obsahuje dodatečné informace o příčině nedoručitelnosti Snížení rychlosti odesílání Tuto zprávu odesílatel obdrží v případě, že cílová stanice anebo router nemá dostatek místa ve vstupním bufferu pro příchozí zprávy, a tudíž nestíhá všechny zprávy zpracovat Přesměrování Stanice zpravidla odesílají datagramy na router, který mají nastavený jako výchozí. V případě, že stanice zašle zprávu jiné stanici přes výchozí router, a tento zjistí, že existuje lepší cesta, zašle odesílateli zpět zprávu o přesměrování. Odesílatel si následně změní směrovací tabulku a zprávy bude odesílat touto novou lepší cestou Požadavek na odpověď Opačná zpráva k Odpovědi na požadavek Čas vypršel Zpráva značí to, že buď hodnota TTL dosáhla nuly ještě před doručením cílové stanici, a proto byla zahozena, anebo vypršel čas pro sestavení fragmentovaného datagramu na cílové stanici. 17

18 4.7. Trasování cesty Anglicky traceroute. Zpráva slouží ke zjištění všech uzlů, přes které putuje datagram od svého odesílatele až k cílové stanici. 5. Protokol IGMP Rozšiřuje protokol IP o podporu multicastu. Stanice, která chce přijímat multicast zprávy, se musí pomocí tohoto protokolu přihlásit do členství ve skupině. V okamžiku, kdy již nemá o zprávy zájem, se naopak ze skupiny odhlásí. Router, který rozesílá multicast zprávy, si drží seznam všech zaregistovaných stanic a zasílá jim multicast zprávy. Stanice jsou potom pouhými posluchači. Může být použito například pro streamování videa. Detailnější informace lze nalézt v knize [2] anebo přímo ve specifikaci [4]. 6. Protokoly ARP a RARP Tato kapitola popisuje protokoly pro překlad adres vrstvy linkové na adresy vrstvy síťové a naopak. Tyto protokoly popisují specifikace [5] a [6] Protokol ARP Anglicky Address resolution protocol. Tento protokol se používá pro získání adresy linkové vrstvy u stanice, ke které známe pouze adresu IP. Například při zaslání zprávy mezi počítači, které jsou oba připojeny do stejné sítě Ethernet, musí znát odesílatel MAC adresu adresáta. Tu získá tak, že nejdříve odešle broadcast zprávu, která obsahuje ARP datagram s dotazem na vlastnictví patřičné IP adresy. Tato zpráva je doručena všem stanicím v síti a ta stanice, které IP adresa náleží, na tuto zprávu odpoví. V odpovědi vyplní jak svoji IP adresu, tak adresu ethernet, která náleží rozhraní spojenému s danou IP adresou Protokol RARP Anglicky Reverse Address resolution protocol. Protokol je opakem ARP protokolu. Slouží naopak ke zjištění IP adresy stanice, u níž známe adresu linkové vrstvy. 7. Fragmentace IP datagramu Dříve než se budu zabývat samotnou fragmentací IP datagramu, shrneme si několik základních poznatků řečených dříve. Algoritmus fragmentace je popsán v souladu s platnou specifikací [1], odkud jsem čerpal potřebné informace. 18

19 IP protokol lze v modelu ISO OSI přirovnat k síťové vrstvě. To znamená, že IP datagram obaluje datagram protokolu vyšší vrstvy, ale také, že samotný IP datagram je zabalený do datagramu vrstvy linkové. Maximální velikost IP datagramu je dána maximální hodnotou pole délka v záhlaví IP, které má velikost 16bitů, z čehož plyne maximální délka pro IP datagram 64kB (65536B). Protokol linkové vrstvy se může v různých částech internetu lišit, podle toho, o jaký druh sítě se jedná. Než dorazí datagram ke svému příjemci, může být směrován sítí používající linkový protokol ethernet, dále být přeposlán v síti wifi (802.11), pak na větší vzdálenost optickým kabelem (FDDI) a nakonec opět sítí Ethernet. Každý z těchto protokolů má své záhlaví a také pole délka, které může nabývat nějaké maximální hodnoty. Maximální délka datagramu má svoji zkratku z anglického maximum transmission unit MTU. Tabulka 2. obsahuje hodnoty MTU pro zmíněné protokoly. Protokol MTU Ethernet 1500 B B FDDI 4500 B Tabulka 2. Hodnoty MTU Při komunikaci v síti internet tedy může dojít k situaci, kdy odesílatel sestaví IP datagram větší velikosti, než je MTU linkového protokolu směrovače do sítě internet, anebo k situaci, kdy IP datagram na své cestě od odesílatele k příjemci dorazí na směrovač, který jej dále pošle do sítě s nižší hodnotou MTU. V případě, že je IP datagram větší než MTU linkového protokolu, může být rozdělen na části (fragmenty). Zda je povoleno datagram rozdělit na více částí, je určeno odesílatelem v záhlaví IP datagramu příznakem fragmentace možná. Pokud je fragmentace povolená, rozdělí směrovač IP datagram na části tak, aby měly délku rovnou MTU, s výjimkou poslední části, která může být menší. Pokud je fragmentace zakázána, tak směrovač datagram zahodí a odesílateli pošle služebním protokolem ICMP informaci fragmentace nutná. Představme si tedy modelový příklad, kdy na směrovač dorazí IP datagram, jehož délka je 3000 bytů. Ten se jej dále pokusí přeposlat do sítě Ethernet. Z tabulky maximálních velikostí přenášených dat víme, že MTU pro síť Ethernet je 1500 B. Bit fragmentace zakázána v poli příznaky je 0, což znamená, že směrovač může datagram rozdělit. Jak bude postupovat? Z původního datagramu sestaví fragment v několika krocích. Původní datagram je zobrazen na obrázku 6. Nejprve zkopíruje záhlaví původního datagramu. Zde musí nastavit novou velikost záhlaví a novou velikost datagramu. V našem případě byla původní velikost hlavičky 20 B, což je velikost povinných položek. Ta se tedy nezmění. Co se ale změní, bude velikost datagramu. Původní velikost datagramu byla

20 Obrázek 6. Původní datagram B, zatímco nová velikost bude rovna MTU, tj B. Dále je nutné nastavit pole fragment offset, což bude v případě prvního fragmentu 0, a také příznak MF (more fragments), protože další fragmenty budou následovat. Tím je hotové záhlaví a do datové části datagramu se nakopíruje 1480 B dat z původního datagramu, tak, aby celková délka fragmentu byla oněch 1500 B. První fragment bude tedy vypadat tak, jak je znázorněno na obrázku 7. Obrázek fragment Tento fragment je již hotový a připraven pro další zpracování a odeslání. Z původního datagramu nám stále zbývá přenést 1500B dat. Opět tedy sestavíme IP datagram dalšího fragmentu. Tentokrát ovšem s tím rozdílem, že pokud záhlaví původního datagramu obsahuje nějaké volitelné položky, zkopírují se do fragmentu jen ty, u kterých je nastavený příznak kopírovat. Ostatní volitelné položky jsou posílány pouze v prvním fragmentu. Stejně jako u prvního fragmentu vyplní směrovač novou délku, offset a příznaky. Offset je uváděn v osmi bytových blocích, což znamená, že hodnota tohoto pole se vypočítá jako velikost dat v předchozích fragmentech děleno osmi. Výsledný druhý fragment bude vypadat tak, jak je znázorněno na obr. 8. Obrázek fragment Z původního datagramu nám stále zbývá odeslat 20 B dat, což by se někomu mohlo zdát zvláštní, protože datagram, který přišel směrovači, měl délku 3000 B a MTU sítě, na kterou bude směrován, je 1500 B. Ale musíme si uvědomit, že s každým novým fragmentem přibývá minimálně 20 B na IP záhlaví. Vytvoříme tedy poslední fragment stejným způsobem jako předchozí, s tím rozdílem, že 20

21 příznak MF bude 0, protože se jedná o poslední fragment. Poslední fragment je zobrazen na obr. 9. Obrázek fragment Z vlastností fragmentace vyplývá několik důležitých poznatků. Pole posunutí od počátku má velikost 13bitů. Což umožňuje adresovat celkem dvě na třináctou fragmentů = 8192 fragmentů. Minimální velikost dat v jednom fragmentu je 8 B. Velikost dat v každém fragmentu musí být dělitelná osmi, s výjimkou posledního. Každé zařízení musí být schopno přeposlat datagram délky 68B bez nutnosti fragmentace. Vyplývá to z faktu, že záhlaví může mít délku až 60 B a minimální velikost dat v jednom fragmentu je 8 B. Nefragmentovaný datagram má pole offset a příznak MF roven nule. 8. Defragmentace IP datagramu Defragmentaci neboli sestavení IP datagramu z jednotlivých fragmentů zpět do původní podoby smí dle [1] provést pouze příjemce datagramu. Žádné jiné zařízení v síti nesmí datagram skládat zpět, ani v případě, že přesměrovává datagram do sítě, ve které je dostatečně velká MTU na to, aby mohl být datagram poslán jako celek. Tento zákaz má své logické a jednoduché opodstatnění. Jednotlivé části datagramu mohou sítí putovat nezávisle na sobě, a není tedy zaručeno, že směrovač obdrží všechny části původního datagramu. Kdyby se tedy pokusil o sestavení původního datagramu, některé z jeho částí by se nemusel dočkat a datagram by k příjemci nebyl nikdy doručen. Tedy jedině příjemce smí sestavit datagram z jeho jednotlivých fragmentů. Jak takové sestavení probíhá: Pravidla pro algoritmus defragmentace IP datagramu jsou přesně definovaná v [1]. V tom úplně nejsnadnějším případě, kdy jsou v záhlaví datagramu položka offset i příznak MF rovny nule, nám datagram dorazil vcelku a není třeba nic dělat. Je přeposlán na další zpracování. V případě, že příjemci dorazil fragment datagramu, se pokusí o jeho sestavení. Při sestavování datagramu hraje důležitou roli jeho identifikace. Je nutné podle něčeho 21

22 poznat, že k sobě jednotlivé fragmenty patří. Jedinečnou identifikaci datagramu nám tvoří položky odesílatel, příjemce, protokol vyšší vrstvy a položka identifikace IP datagramu v záhlaví IP. Proč není samotné pole identifikace dostačující, je zřejmé. Je vhodné, aby toto pole bylo nastaveno protokolem vyšší vrstvy, a to z důvodu, že by datagram nebo jeho část nebyla doručena příjemci. V takovém případě je po odesílateli požadováno opětovné zaslání datagramu. Ten vyplní pole identifikace datagramu na stejnou hodnotu a pošle data znovu. Na straně příjemce je poté možné sestavit výsledný datagram z fragmentů zaslaných při obou pokusech. Máme tedy jedinečně identifikovaný fragment datagramu. Pokud již probíhá sestavování tohoto datagramu, přidáme další část. V opačném případě vyhradí příjemce prostředky nutné k sestavení. Přichystá si datovou rezervu pro záhlaví datagramu, které má maximálně 60 B, dále pro datovou část datagramu, která může mít až B, a pole bitů, do něhož si bude zaznamenávat, které části datagramu jsou již zpracovány. Při zpracování se první a poslední fragment od ostatních liší. První z toho důvodu, že obsahuje kompletní záhlaví včetně volitelných položek, které se nekopírují do ostatních fragmentů, a poslední z důvodu výpočtu celkové délky dat. Na sestavení datagramu má příjemce určitý časový limit. Po vypršení tohoto limitu signalizuje služebním protokolem ICMP odesílateli tuto skutečnost. Opět si uvedeme příklad. Příjemce obdrží fragmenty odeslané v předchozím příkladu v pořadí a 1. fragment. Příjem 2. fragmentu: Příjemce zkontroluje, zda již neprobíhá sestavování datagramu podle polí odesílatel, příjemce, identifikace a protokol vyšší vrstvy. Zjistí, že neprobíhá, a proto vyhradí datovou oblast pro výsledné záhlaví datagramu, pro data a připraví si pole bitů pro označení zpracovaných fragmentů. Přichystanou datovou oblast si označí poli, kterými identifikuje datagram, aby jí mohl v dalších krocích přiřadit příchozí fragmenty. Jelikož se nejedná o první ani poslední fragment, tak pouze překopíruje data z datové části příchozího fragmentu do připravené paměti. Data z tohoto fragmentu budou v paměti začínat na pozici offset krát osm, v našem případě 1480, a končit na pozici 1480 plus velikost fragmentu bez velikosti záhlaví. Tj =2960. Dále si musí poznačit, které části datagramu obdržel. V tabulce bitů si nastaví bity 180 až 360 na jedničku. Tabulka vychází z toho, že maximální počet fragmentů je Takže bity, které se označí, začínají bitem, jehož pořadí v tabulce je rovno offsetu dat fragmentu a končí bitem o velikosti dat děleno osmi dále. Příjem 3. fragmentu: Příjemce přiřadí fragment k datové oblasti označené stejnou identifikací. Opět zkopíruje data do připravené datové oblasti, ale tentokrát navíc spočítá celkovou velikost dat výsledného datagramu, protože se jedná o poslední fragment. To, že je fragment poslední, pozná podle nastaveného příznaku MF na nulu.celková velikost dat je tedy rovna offsetu fragmentu krát osm, plus velikost fragmentu bez velikosti záhlaví. Od této chvíle příjemce ví, že jakmile bude mít v tabulce bitů všechny bity od nuly po velikost dat děleno osmi nastavené na jedničku, je datagram kompletní. Což v tento okamžik zatím není. Příjem 1. fragmentu: Že se jedná o první fragment, příjemce pozná z pole 22

23 offset, které je nastaveno na hodnotu 0. Z tohoto fragmentu si zkopíruje IP záhlaví do připravené paměti, zkopíruje data a nastaví bity v tabulce. V tento okamžik již jsou všechy potřebné bity nastaveny na jedničku, takže odesílatel má kompletní datagram. Už zbývá jen v záhlaví datagramu nastavit správnou délku. Ta bude rovna součtu délky dat a záhlaví. Datagram je kompletní a je předán k dalšímu zpracování. 9. Problémy spojené s fragmentací Jak je z příkladu patrné, fragmentace s sebou přináší nějakou práci navíc pro směrovače, které musí datagram poslat dále do sítě s nižším MTU. Datagram musí být rozdělen na menší části a pro každý takový fragment musí být vytvořeno nové záhlaví IP protokolu. To je nežádoucí, protože hlavní úlohou směrovače je co nejrychleji předat datagram dále a fragmentování zvyšuje paměťové a výpočetní nároky na přenos datagramu. Detailně se tomuto problému věnuje [7], odkud jsem čerpal informace pro tuto kapitolu. Ještě větší zátěž představuje fragmentace pro příjemce. Ten jednak neví, jak bude výsledný datagram velký, a proto musí alokovat pamět pro maximální velikost datagramu, což na cílové stanici není problém, protože se téměř vždy jedná o osobní počítač, který má dostatek prostředků, a za druhé musí čekat, až mu budou doručeny všechny části datagramu. Pokud mu nejsou doručeny všechny části do určitého časového intervalu, pošle odesílateli chybovou zprávu a doposud sestavené části datagramu zahodí. Tato skutečnost už může působit větší problémy, protože čím více bude datagram fragmentován, tím je větší pravděpodobnost, že některá jeho část nebude doručena a celý datagram bude muset být zaslán znovu. 10. Zamezení fragmentaci Z uvedených nevýhod fragmentace IP datagramu vyplývá, že by bylo vhodné se fragmentaci nějakým způsobem vyhnout. Tato kapitola se věnuje způsobům, jak toho dosáhnout. Zdrojem informací je dokument [7] TCP MSS TCP MSS je maximální objem dat, které počítač může přijmout v jediném TCP/IP datagramu. Tato hodnota odpovídá velikosti vstupního bufferu pro zpracování příchozích datagramů. Datagram může být fragmentován na IP vrstvě. Během navazování spojení si stanice hodnotu MSS vzájemně vymění v hlavičce TCP datagramu. Po přijetí hodnoty z opačné stanice se nastaví maximální velikost odesílaného TCP datagramu pro tuto stanici. 23

24 Příklad Stanice A má maximální velikost vstupního bufferu 8 kb. Vyplní tedy tuto hodnotu v TCP hlavičce a odešle. Stanice B má vstupní buffer o velikosti 4 kb. Po přijetí datagramu od stanice A si nastaví maximální velikost odesílaného TCP datagramu pro stanici B na 4 kb, což je hodnota, kterou obdržela od stanice A. Této stanici zašle zpět velikost svého vstupního bufferu. Stanice A si po přijetí nastaví maximální hodnotu odesílaného datagramu pro stanici B na hodnotu přijatých 4 kb. Původně hodnota MSS oznamovala odesílateli velikost alokovaného bufferu v paměti příjemce pro zpracování příchozího TCP datagramu. V současnosti je ale využívána pro zamezení fragmentaci datagramu. Aby nedocházelo k fragmentaci, stanice odešle hodnotu MSS nastavenou na hodnotu MTU výstupního rozhraní sníženou o 40 B. Hodnota je snížena o 40 B, protože určuje maximální velikost TCP dat a nepočítá se v ní s velikostí IP a TCP záhlaví. Hodnota snížená o 40B platí samozřejmě pro výchozí velikosti záhlaví. Pokud odesílatel využívá rozšířené vlastnosti záhlaví, pak musí přizpůsobit maximální velikost odesílaného datagramu. Opět uvedu příklad. Stanice A má vstupní buffer 8 kb a je zapojena v síti Ethernet, jejíž MTU je 1500 B. Aby tato stanice předešla fragmentaci příchozích datagramů, odešle stanici B TCP SYN paket, ve kterém je hodnota MSS nastavena na 1460 B. Jedná se tedy o nižší hodnotu z velikosti bufferu a velikosti MTU, sníženou o standardní velikost TCP a IP hlavičky. Stanice B, se vstupním bufferem o velikosti 4 kb připojená do sítě token ring s velikostí MTU 4462 B, přijme tento datagram a porovná hodnotu MSS pro stanici A s hodnotou MTU sítě, do které je připojena, a jako maximální hodnotu odesílaného TCP datagramu na stanici A zvolí nižší z nich. Poté porovná velikost vlastního vstupního bufferu s velikostí MTU sítě, do které je připojena a nižší hodnotu sníženou o 40 B a tedy 4056 B. Stanice A po přijetí této hodnoty opět zvolí pro velikost odesílaných datagramů nižší hodnotu z přijatého MSS stanice B a vlastního MTU. Po tomto procesu je zaručeno, že datagramy zasílané mezi stanicemi A a B nebudou fragmentovány ani v jedné ze sítí, do kterých jsou tyto stanice zapojeny PMTUD Výše zmíněná metoda na zamezení fragmentaci IP datagramu má jeden zásadní nedostatek. Sice zaručí, že datagram nebude fragmentován ani v jedné síti, do kterých jsou stanice připojeny, ale již nedokáže zamezit tomu, aby byl datagram fragmentován při průchodu sítí internet v některé jiné síti, přes kterou bude datagram putovat. Proto byl vyvinut systém PMTUD1. PMTUD funguje tak, že stanice odesílá datagramy s maximální velikostí nastavenou na hodnotu MSS a zároveň nastaví příznak zákaz fragmentace v hlavičce IP. Pokud takovýto datagram dorazí ke směrovači, který by jej měl předat do sítě s nižším MTU, 24

25 než je velikost datagamu, zahodí jej a odesílateli odpoví zprávou ICMP Nedoručitelný IP datagram s nastaveným příznakem fragmentace nutná a požadovanou hodnotou MTU. Odesílatel tedy zmenší velikost odesílaného datagramu a novou velikost si zapamatuje v záznamu směrovací tabulky pro danou cílovou stanici. Výhoda této metody je v tom, že funguje po celou dobu komunikace mezi stanicemi. Cesta, kterou datagram putuje sítí internet, se může kdykolik změnit, a tím může dojít také ke změně MTU této cesty, a právě princip PMTUD umožní na takovouto změnu zareagovat, snížit MTU a zabránit tak fragmentování datagramů. 11. Fragmentace a bezpečnost Existuje mnoho různých bezpečnostních rizik sítě internet a jedním z nich může být i fragmentace IP datagramu. Touto problematikou se zabývá specifikace [8], odkud jsem čerpal informace. Nebezpečí se týká jak stanic, které skládají výsledný datagram z jednotlivých fragmentů, tak i směrovačů a firewallů. Samotné fragmentování skrývá nebezpečí v tom, že například firewall, jehož úlohou je zabránit doručení škodlivých datagramů cílové stanici, nemá dostatek informací o případné nebezpečnosti datagramu až do chvíle, kdy jej celý složí z jednotlivých fragmentů. Pokud tak například rozhoduje o zahození datagramu na základě obsahu TCP záhlaví, nemá po doručení fragmentu z tohoto datagramu možnost rozhodnout, zda datagram předat cílové stanici anebo ne, protože TCP záhlaví bude obsaženo pouze v prvním fragmentu, případně v několika počátečních fragmentech. Uvedu několik příkladů možného zneužití fragmentace k útoku Překrytí fragmentů Princip tohoto útoku spočívá v překrytí pozic dvou fragmentů jednoho datagramu. To znamená, že fragment A může být částečně anebo úplně přepsán fragmentem B. Některé operační systémy nemají tento stav ve svých defragmentačních algoritmech správně ošetřený a mohou vyvolat výjimku anebo se zachovat nepředvídatelně. Na tomto principu jsou založené některé útoky typu DoS. Zasíláním modifikovaných IP datagramů, ve kterých se překrývaly fragmenty, mohl útočník způsobit pád operačního systému. Náchylné k tomu byly starší verze systému Windows i Linux Zaplnění bufferu pro fragmentaci Cílem tohoto útoku bývá většinou vyřazení zabezpečovacích systémů sítě nebo počítače nebo systému pro detekci nežádoucího vniknutí. Pracuje na principu zaplnění vstupního bufferu pro defragmentaci nadměrným množstvím fragmentované komunikace. K tomu může dojít buď zasíláním velkého množství fragmentovaných datagramů, které nejsou kompletní, nebo zasíláním velkého množství 25

26 fragmentů pro jednotlivé datagramy anebo kombinací obojího. Tento útok je také známý pod názvem Rose attack. Publikováno v [9]. Útok probíhá tak, že se odešle první fragment datagramu s offsetem 0 a poslední fragment datagramu s offsetem 64 kb. Tím se útočník snaží přimět systém k rezervování maximálního množství paměti. Zbytek fragmentů útočník neodesílá, aby zůstalo ve vstupním bufferu napadené stanice rezervované místo. Těchto neúplných datagramů je na cílovou stanici zasíláno velké množství a tím je zaplněn její vstupní buffer pro fragmentované IP datagramy. Výsledkem je to, že napadená stanice další fragmentované datagramy zahazuje a tím může odmítat i legitimní zprávy. Pro ostatní uživatele je tím pádem služba nedostupná. Existuje novější verze, která je o trochu komplikovanější v tom, že zašle první fragment, potom několik malých fragmentů náhodně umístěných v datagramu a následně zasílá neustále dokola poslední fragment. Tím přiměje cílovou stanici k neustálým pokusům o složení celého datagramu, který ovšem stále není kompletní. Cílová stanice tak těmito pokusy může vytížit až 100 % času procesoru a stane se tak nedostupnou Přetečení IP fragmentu Ze standardu pro Internet Protocol víme, že maximální velikost IP datagramu může být B. Takže žádný IP datagram by neměl tuto hodnotu přesáhnout. Tento typ útoku využívá toho, že některé systémy nemají správně ošetřen případ, kdy fragmentovaný IP datagram po znovusložení přesáhne tuto maximální velikost. Operační systém, který se pokusí pracovat s takto velkým datagramem, může spadnout. Jedná se opět o útok typu DoS Přepsání fragmentu Cílem tohoto útoku je zaslat na cílovou stanici škodlivý kód, aniž by jej odhalil softwarový bezpečnostní systém. Útok probíhá tak, že škodlivá data jsou fragmentována a jedna část je zaslána společně s náhodnými daty, která jsou následně přepsána fragmenty se zbytkem škodlivého kódu. V případě, že bezpečnostní systém sestaví datagram z fragmentů s náhodnými daty, zůstane útok neodhalen. 12. Implementace algoritmu IP fragmentace Emulátor počítačové sítě Zadáním práce je implementace algoritmů fragmentace a defragmentace v emulátoru počítačové sítě. Tento emulátor je virtuální počítačová síť na katedře 26

27 informatiky, která slouží k výuce předmětů Počítačové sítě a Distribuované systémy. Emulátor je tvořen virtuálními počítači, které běží na hostitelských počítačích v open source emulátoru QEMU. Na těchto virtuálních strojích může běžet operační systém Linux nebo Windows. Počet virtuálních strojů, které lze na hostitelském počítači spustit, je omezen jen jeho operační pamětí. Z těchto virtuálních strojů a hostitelského počítače lze tedy sestavit virtuální počítačovou síť. Ze skutečnosti, že je tato virtuální síť tvořena reálnými operačními systémy, vychází většina mých rozhodnutí při implementaci algoritmů fragmentace a defragmentace. Oba programy, které jsou součástí mé práce, jsou naimplementované tak, že mohou pracovat nejen v emulátoru, ale také na libovolném počítači, který je připojený k počítačové síti. Detailní popis emulátoru a práce s ním je dostupný na [12] Implementace v jádru systému Linux Abych se implementací algoritmu fragmentace co nejvíce přiblížil realitě, rozhodl jsem se jej implementovat přímo v jádře operačního systému, kde je také skutečná implementace protokolu IP. Operační systém Linux byl hned od počátku jasnou volbou, jelikož se jedná o open source projekt, takže veškeré zdrojové kódy jsou k dispozici a jádro operačního systému je také bohatě dokumentované. Pro úvod do programování v prostředí jádra systému Linux velmi dobře posloužila kniha [11] a implementace IP protokolu je podrobně popsána v [10] Princip síťové komunikace v systému Linux Dříve než přistoupím k problému samotné fragmentace IP datagramu v systému Linux, je nutné vysvětlit si několik základních principů síťové komunikace v tomto systému. Jak funguje síťová komunikace v systému Linux, ukážu na jednoduchém příkladu. Uživatelský program na stanici A chce poslat serveru TCP zprávu. Připraví si tedy IP adresu serveru a port, na kterém server příchozí zprávy očekává. int s ; int port =999; char host= ; struct s o c k a d d r i n addr ; int a d d r l e n = sizeof ( addr ) ; char b u f f e r [ ] ; Poté vytvoří nový soket, což je rozhraní mezi uživatelským prostředím a síťovými zásobníky v jádru. Parametry při vytváření soketu jsou rodina protokolů, do které patří protokol použitý ke komunikaci, typ protokolu a protokol. V našem případě je to PF INET, což je rodina IP verze 4 síťových protokolů, a SOCK STREAM, což je obousměrný, spojovaný, spolehlivý protokol zajišťující 27

28 pořadí datagramů. Jelikož z rodiny IP verze 4 protokolů je jen protokol TCP, který poskytuje daný typ služeb, je poslední parametr 0. s = s o c k e t (PF INET, SOCK STREAM, 0 ) ; Nyní je tedy připravené síťové rozhraní pro odesílání TCP zpráv. Ještě je třeba nachystat adresu příjemce v síťovém formátu a port. bzero(&addr, sizeof ( addr ) ) ; addr. s i n f a m i l y = AF INET ; addr. s i n p o r t = htons ( port ) ; i n e t a t o n ( host, &addr. s i n a d d r ) ; Dalším krokem je příprava zprávy, která má být serveru doručena. s p r i n t f ( b u f f e r, message ) ; Teď, když je vše připravené, je možné zprávu odeslat příkazem sendto. Parametry jsou soket, který byl otevřen v předchozích krocích, ukazatel na zprávu, její velikost, příznaky zprávy, které v tomto případě nebudou použity, a tudíž budou mít hodnotu 0, adresa příjemce a velikost adresy. sendto ( s, b u f f e r, 8, 0, ( struct sockaddr )&addr, sizeof ( addr ) ) ; V tuto chvíli končí práce uživatelské části a zbytek přebírá linuxové jádro. To se teď musí postarat o to, aby převzalo data k odeslání, což je v našem případě zpráva obsahující textový řetězec message zakončený nulou, a tato data předá vrstvě, která implementuje zpracování TCP datagramu. Data tedy převezme vrstva, která odpovídá transportní vrstvě v modelu OSI a před uživatelská data přidá hlavičku TCP segmentu. Ta bude obsahovat port zdrojové a cílové aplikace. Takto upravená data předá další vrstvě, která je v modelu OSI o úroveň níž, což je vrstva síťová. V našem případě je to implementace IP protokolu. Tato vrstva opět přidá na začátek dat svoji hlavičku a datagram předá nižší vrstvě. Hlavička síťové vrstvy bude mimo jiné obsahovat síťovou adresu zdrojové a cílové stanice a protokol vyšší vrstvy. Nižší vrstvou je vrstva linková, která přidá hlavičku ethernet protokolu. Ta bude obsahovat fyzickou adresu zdrojového a cílového zařízení a opět protokol vyšší vrstvy. Výsledný datový rámec je odeslán fyzickým zařízením. Na přijímací straně probíhá tento proces v přesně opačném pořadí. To znamená, že jednotlivé vrstvy z dat odstraňují svoje záhlaví a předávají data vyšším vrstvám podle záznamu v hlavičce. Celý tento proces je znázorněn na obrázku 10. Každá z vrstev tedy zná data z vyšší vrstvy a protokol vyšší vrstvy. Nic víc znát nepotřebuje a k datům, která jsou jí předaná, přistupuje jako k řetězci bytů. Jak se data předávají mezi vrstvami a přidávají se a odebírají záhlaví jednotlivých protokolů, je třeba mít navrženu datovou strukturu, která umožní předávat data mezi jednotlivými vrstvami bez nutnosti data kopírovat. V systému Linux pro tento účel slouží datová struktura sk buff. 28

29 Struktura sk buff Obrázek 10. Sestavení datagramu Struktura sk buff je jednou z nejdůležitějších struktur, co se týká práce se sítí v systémech Linux. V této struktuře se drží celý datagram, včetně záhlaví všech síťových vrstev, po celou dobu života datagramu. Jakmile systému dorazí nový příchozí datagram, celý se uloží do této struktury a postupně je předáván jednotlivým síťovým vrstvám ke zpracování. Když jsou data předána vyšší vrstvě, ta se již nezajímá o hlavičku nižší vrstvy. Hlavička nižší vrstvy by tedy měla být odstraněna a vyšší vrstvě by měla být předána jen odpovídající data. Místo toho, aby se hlavička mazala, což by vedlo k realokaci paměti, změní se ve struktuře sk buff pouze ukazatel na aktuální data, což je mnohem rychlejší. Další důležitou vlastností struktury sk buff je to, že má ukazatel na následující a předchozí strukturu sk buff. Má tedy vlastnosti obousměrného seznamu. Aby měl tento seznam nějaký začátek, je využita druhá pomocná struktura sk buff head, která je vlastně jeho záhlavím. Toto záhlaví se skládá z položky next, která ukazuje na první prvek seznamu, položky prev, která ukazuje na poslední prvek seznamu, dále ze záznamu qlen, který drží informaci o délce seznamu, a položky lock, která slouží jako zámek pro přístup k seznamu z více vláken. Ve struktuře sk buff jsou položky: next - ukazatel na další sk buff prev - ukazatel na předchozí sk buff list - ukazatel na sk buff head sk - ukazatel na strukturu soket, která je vlastníkem sk buff Popsaná struktura je znázorněna na obrázku 11. který je převzatý z [10]. Práci se strukturou sk buff usnadňuje sada funkcí pro manipulaci s daty v ní uloženými. Jsou to funkce, které rezervují místo v bufferu, pak funkce, které manipulují s ukazateli na hlavičky jednotlivých síťových vrstev, funkce na kopírování 29

30 Obrázek 11. Obousměrný seznam sk buff dat z a do struktury a tak dále. Funkcí je mnoho a je mimo rozsah této práce zde všechny uvádět. Jejich seznam a popis je dobře zpracovaný v [10]. Vlastností zřetězeného seznamu využívá systém Linux v algoritmech fragmentace i defragmentace k urychlení a zjednodušení celého procesu Implementace algoritmu Implementace algoritmu fragmentace IP protokolu v systému Linux spočívala v nahrazení původní funkce ip fragment vlastní implementací. Původní kód jsem tedy zakomentoval a vlastní implementaci jsem implementoval v novém souboru, který jsem poté musel přidat do nastavení kompilace jádra. V této podkapitole vysvětlím klíčové části algoritmu. Celý zdrojový kód je k dispozici na přiloženém CD. Vstupním bodem algoritmu je volání funkce ip fragment, která má jako vstupní parametry strukturu sk buff, jež zapouzdřuje odesílaný datagram, a dále ukazatel na funkci pro další zpracování datagramu. To znamená, že pro každý fragment, který je vytvořen, je zavolána tato funkce a ta se postará o další zpracování. Definice funkce ip fragment vypadá takto: int ip fragment ( struct s k b u f f skb, int ( output ) ( struct s k b u f f ) ) 30

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

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF IP vrstva Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF UDP TCP Transportní vrstva ICMP IGMP OSPF Síťová vrstva ARP IP RARP Ethernet driver Vrstva síťového rozhraní 1 IP vrstva Do IP vrstvy náležejí další

Více

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

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík SŠ IT a SP, Brno frantisek.kovarik@sspbrno.cz Model TCP/IP - IP vrstva 2 Obsah 3. bloku IPv4 záhlaví, IP adresy ARP/RARP, ICMP, IGMP,

Více

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.

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. 4. Síťová vrstva Studijní cíl Představíme si funkci síťové vrstvy a jednotlivé protokoly. Doba nutná k nastudování 3 hodiny Síťová vrstva Síťová vrstva zajišťuje směrování a poskytuje jediné síťové rozhraní

Více

Y36PSI Protokolová rodina TCP/IP

Y36PSI Protokolová rodina TCP/IP Y36PSI Protokolová rodina TCP/IP Jan Kubr - Y36PSI 1 11/2008 Program protokol síťové vrstvy IP podpůrné protokoly ICMP RARP, BOOTP, DHCP protokoly transportní vrstvy UDP TCP Jan Kubr - Y36PSI 2 11/2008

Více

Telekomunikační sítě Protokolové modely

Telekomunikační sítě Protokolové modely Fakulta elektrotechniky a informatiky, VŠB-TU Ostrava Telekomunikační sítě Protokolové modely Datum: 14.2.2012 Autor: Ing. Petr Machník, Ph.D. Kontakt: petr.machnik@vsb.cz Předmět: Telekomunikační sítě

Více

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

Počítačové sítě. Miloš Hrdý. 21. října 2007 Počítačové sítě Miloš Hrdý 21. října 2007 Obsah 1 Pojmy 2 2 Rozdělení sítí 2 2.1 Podle rozlehlosti........................... 2 2.2 Podle topologie............................ 2 2.3 Podle přístupové metody.......................

Více

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta, 2006 <qiq@ucw.cz>, http://www.ucw.cz/~qiq/vsfs/

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta, 2006 <qiq@ucw.cz>, http://www.ucw.cz/~qiq/vsfs/ Počítačové sítě II 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta, 2006 , http://www.ucw.cz/~qiq/vsfs/ 1 ICMP Internet Control Message Protocol doslova protokol řídicích hlášení

Více

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

Internet protokol, IP adresy, návaznost IP na nižší vrstvy Metodický list č. 1 Internet protokol, IP adresy, návaznost IP na nižší vrstvy Cílem tohoto tematického celku je poznat formát datagramů internet protokolu (IP) a pochopit základní principy jeho fungování

Více

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

PB169 Operační systémy a sítě PB169 Operační systémy a sítě Architektura poč. sítí, model OSI Marek Kumpošt, Zdeněk Říha Úvod počítačová síť Počítačová síť skupina počítačů a síťových zařízení vzájemně spojených komunikačním médiem

Více

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

3. Linková vrstva. Linková (spojová) vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl 3. Linková vrstva Studijní cíl Představíme si funkci linkové vrstvy. Popíšeme její dvě podvrstvy, způsoby adresace, jednotlivé položky rámce. Doba nutná k nastudování 2 hodiny Linková (spojová) vrstva

Více

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

Routování směrovač. směrovač Routování směrovač směrovač 1 Předmět: Téma hodiny: Třída: _ Počítačové sítě a systémy Routování směrovač 3. a 4. ročník SŠ technické Autor: Ing. Fales Alexandr Software: SMART Notebook 11.0.583.0 Obr.

Více

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

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Komunikace v sítích TCP/IP (1)

Komunikace v sítích TCP/IP (1) České vysoké učení technické v Praze FAKULTA INFORMAČNÍCH TECHNOLOGIÍ katedra počítačových systémů Komunikace v sítích TCP/IP (1) Jiří Smítka jiri.smitka@fit.cvut.cz 14.2.2011 1/30 Úvod do předmětu Jiří

Více

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

3.17 Využívané síťové protokoly Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.

Více

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

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

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

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu Internet a zdroje (ARP, routing) Mgr. Petr Jakubec Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu 12 26. 11. 2010 (KFC-INTZ) ARP, routing 26. 11. 2010 1 / 10 1 ARP Address Resolution

Více

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

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Počítačové sítě Počítačová síť je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat. Základní prvky sítě Počítače se síťovým adaptérem pracovní

Více

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

Technologie počítačových sítí 5. přednáška Technologie počítačových sítí 5. přednáška Obsah páté přednášky IP protokol (Internet protokol) IP Protokol IP-datagram ICMP Protokol - Echo - Nedoručitelný IP-datagram - Sniž rychlost odesílání - Změň

Více

JAK ČÍST TUTO PREZENTACI

JAK ČÍST TUTO PREZENTACI PŘENOSOVÉ METODY V IP SÍTÍCH, S DŮRAZEM NA BEZPEČNOSTNÍ TECHNOLOGIE David Prachař, ABBAS a.s. JAK ČÍST TUTO PREZENTACI UŽIVATEL TECHNIK SPECIALISTA VÝZNAM POUŽÍVANÝCH TERMÍNŮ TERMÍN SWITCH ROUTER OSI

Více

Y36PSI IPv6. Jan Kubr - 7_IPv6 Jan Kubr 1/29

Y36PSI IPv6. Jan Kubr - 7_IPv6 Jan Kubr 1/29 Y36PSI IPv6 Jan Kubr - 7_IPv6 Jan Kubr 1/29 Obsah historie, motivace, formát datagramu, adresace, objevování sousedů, automatická konfigurace, IPsec, mobilita. Jan Kubr - 7_IPv6 Jan Kubr 2/29 Historie

Více

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

íta ové sít TCP/IP Protocol Family de facto Request for Comments Architektura TCP/IP v současnosti nejpoužívanější síťová architektura architektura sítě Internet Uplatnění user-end systémy (implementace všech funkčních vrstev) mezilehlé systémy (implementace spodních

Více

Josef J. Horálek, Soňa Neradová IPS1 - Přednáška č.6

Josef J. Horálek, Soňa Neradová IPS1 - Přednáška č.6 Přednáška č.6 Síťová vrstva a ethernet (rámec ethernet) IP protokol IP paket & datagram Služební protokol ICMP Fragmentace Protokoly ARP & RARP Služební protokol IGMP IPv6 Na úrovni vrstvy síťového rozhrání

Více

Průzkum a ověření možností směrování multicast provozu na platformě MikroTik.

Průzkum a ověření možností směrování multicast provozu na platformě MikroTik. Průzkum a ověření možností směrování multicast provozu na platformě MikroTik. K. Bambušková, A. Janošek Abstrakt: V této práci je popsán základní princip multicastů, následuje popis možností použití multicastů

Více

Základy topologie a komunikace sítí LAN

Základy topologie a komunikace sítí LAN Sítě podle rozsahu Local Area Network LAN v jedné nebo několika sousedních budovách. V rámci budovy se používá strukturovaná kabeláž kombinují UTP kabely a optické kabely. Pro spojování budov se používají

Více

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D.

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D. IPv6 RNDr. Ing. Vladimir Smotlacha, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Vladimír Smotlacha, 2011 Počítačové sít ě BI-PSI LS 2010/11,

Více

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

Počítačové sítě internet 1 Počítačové sítě internet Historie počítačových sítí 1969 ARPANET 1973 Vinton Cerf protokoly TCP, základ LAN 1977 ověření TCP a jeho využití 1983 rozdělení ARPANETU na vojenskou a civilní část - akademie,

Více

ACASYS-KS Komunikace v systému ACASYS

ACASYS-KS Komunikace v systému ACASYS Komunikace v systému ACASYS Programátorská příručka Verze 1.05 acasys-ks_ms_cz_105 AMiT, spol. s r. o. nepřejímá žádné záruky, pokud se týče obsahu této publikace a vyhrazuje si právo měnit obsah dokumentace

Více

Počítačové sítě 1 Přednáška č.4 Síťová vrstva

Počítačové sítě 1 Přednáška č.4 Síťová vrstva Počítačové sítě 1 Přednáška č.4 Síťová vrstva Osnova = Síťová vrstva = Funkce síťové vrstvy = Protokoly síťové vrstvy = Protokol IPv4 = Servisní protokol ICMP ISO/OSI 7.Aplikační 6.Prezentační 5.Relační

Více

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

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Analýza protokolů rodiny TCP/IP, NAT

Analýza protokolů rodiny TCP/IP, NAT Analýza protokolů rodiny TCP/IP, NAT Počítačové sítě 7. cvičení ARP Address Resolution Protocol mapování IP adres na MAC adresy Při potřebě zjistit MAC adresu k IP adrese se generuje ARP request (broadcast),

Více

Architektura TCP/IP je v současnosti

Architektura TCP/IP je v současnosti Architektura TCP/IP - úvod Architektura TCP/IP je v současnosti nejpoužívanější síťová architektura architektura sítě Internet Uplatnění TCP/IP user-end systémy (implementace všech funkčních vrstev) mezilehlé

Více

Obsah PODĚKOVÁNÍ...11

Obsah PODĚKOVÁNÍ...11 PODĚKOVÁNÍ..........................................11 ÚVOD.................................................13 Cíle knihy............................................. 13 Koncepce a přístup.....................................

Více

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.

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. 7. Aplikační vrstva Studijní cíl Představíme si funkci aplikační vrstvy a jednotlivé protokoly. Doba nutná k nastudování 2 hodiny Aplikační vrstva Účelem aplikační vrstvy je poskytnout aplikačním procesům

Více

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

Přednáška 3. Opakovače,směrovače, mosty a síťové brány Přednáška 3 Opakovače,směrovače, mosty a síťové brány Server a Client Server je obecné označení pro proces nebo systém, který poskytuje nějakou službu. Služba je obvykle realizována některým aplikačním

Více

Síťové prvky seznámení s problematikou. s problematikou

Síťové prvky seznámení s problematikou. s problematikou Síťové prvky seznámení s problematikou s problematikou 1 Předmět: Téma hodiny: Třída: Počítačové sítě a systémy Seznámení s problematikou prvků sítí 3. a 4. ročník SŠ technické Autor: Ing. Fales Alexandr

Více

Benefity a úskalí plošného souvislého sledování IP provozu na bázi toků při řešení bezpečnostních hlášení

Benefity a úskalí plošného souvislého sledování IP provozu na bázi toků při řešení bezpečnostních hlášení Europen 18.5. 2009, Praděd Benefity a úskalí plošného souvislého sledování IP provozu na bázi toků při řešení bezpečnostních hlášení Tomáš Košňar CESNET z.s.p.o. kosnar@cesnet.cz Obsah požadavky plynoucí

Více

překrýt konkrétní přenosové technologie jednotnou pokličkou která zakrývá specifické vlastnosti přenosových technologií

překrýt konkrétní přenosové technologie jednotnou pokličkou která zakrývá specifické vlastnosti přenosových technologií Síťová vrstva Úkolem síťové vrstvy je: překrýt konkrétní přenosové technologie jednotnou pokličkou která zakrývá specifické vlastnosti přenosových technologií a dále implementovat jednotný způsob adresování

Více

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

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování Cílem tohoto tematického celku je poznat formát internet protokolu (IP) a pochopit základní principy jeho fungování včetně návazných

Více

Zajištění kvality služby (QoS) v operačním systému Windows

Zajištění kvality služby (QoS) v operačním systému Windows VŠB TU Ostrava Směrované a přepínané sítě Zajištění kvality služby (QoS) v operačním systému Windows Teoretické možnosti aplikace mechanismů zabezpečení kvality služby (QoS) v nových verzích MS Windows

Více

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

Síťová vrstva. RNDr. Ing. Vladimir Smotlacha, Ph.D. Síťová vrstva RNDr. Ing. Vladimir Smotlacha, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Vladimír Smotlacha, 2011 Počítačové sít ě BI-PSI LS

Více

Počítačové sítě II. 11. IP verze 4, adresy Miroslav Spousta, 2006

Počítačové sítě II. 11. IP verze 4, adresy Miroslav Spousta, 2006 Počítačové sítě II 11. IP verze 4, adresy Miroslav Spousta, 2006 , http://www.ucw.cz/~qiq/vsfs/ 1 IP verze 4 základní protokol Internetu, RFC 791 v současnosti nejrozšířenější síťový protokol

Více

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

Model ISO - OSI. 5 až 7 - uživatelská část, 1 až 3 - síťová část Zatímco první čtyři vrstvy jsou poměrně exaktně definovány, zbylé tři vrstvy nemusí být striktně použity tak, jak jsou definovány podle tohoto modelu. (Příkladem, kdy nejsou v modelu použity všechny vrstvy,

Více

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

POČÍTAČOVÉ SÍTĚ Metodický list č. 1 Metodický list č. 1 Cílem tohoto předmětu je posluchačům zevrubně představit dnešní počítačové sítě, jejich technické a programové řešení. Po absolvování kurzu by posluchač měl zvládnout návrh a správu

Více

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

Komunikační protokoly počítačů a počítačových sítí Komunikační protokoly počítačů a počítačových sítí Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1138_Komunikační protokoly počítačů a počítačových sítí_pwp Název školy: Číslo a název projektu:

Více

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

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 Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Statistiky sledování televize

Statistiky sledování televize Statistiky sledování televize Semestrální práce (36SEM) ZS 2005/2006 Martin Fiala FEL ČVUT 5.ročník - 2 - Obsah 1. Úvod......4 1.1 Digitální vysílání......4 1.2 Převod přijímaného signálu na lokální síť...4

Více

Počítačové sítě II. 15. Internet protokol verze 6 Miroslav Spousta, 2006

Počítačové sítě II. 15. Internet protokol verze 6 Miroslav Spousta, 2006 Počítačové sítě II 15. Internet protokol verze 6 Miroslav Spousta, 2006 , http://www.ucw.cz/~qiq/vsfs/ 1 IPv6 nejnovější protokol, ve fázi testování řeší: vyčerpání adres zabezpečení (povinně

Více

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

Aktivní prvky: brány a směrovače. směrovače Aktivní prvky: brány a směrovače směrovače 1 Předmět: Téma hodiny: Třída: Počítačové sítě a systémy Aktivní prvky brány a směrovače 3. a 4. ročník SŠ technické Autor: Ing. Fales Alexandr Software: SMART

Více

Protokoly úrovně 3 nad ATM

Protokoly úrovně 3 nad ATM Protokoly úrovně 3 nad ATM Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc Protokoly L3 nad ATM Přenos nativního protokolu přes ATM síť Přenos LAN přes ATM síť Používá IP adres (ne

Více

OSI TCP/IP Aplikace a protokoly 7. aplikační 6. presentační 5. relační

OSI TCP/IP Aplikace a protokoly 7. aplikační 6. presentační 5. relační 3. TCP/IP Z ISO/OSI vychází i množina protokolů TCP/IP. Protokol TCP/IP vznikl původně jako komunikační protokol ministerstva obrany USA pro sjednocení počítačové komunikace v rámci ARPANET. Slouží ke

Více

Standardizace Internetu (1)

Standardizace Internetu (1) Internet Standardizace Internetu (1) RFC Request for Comments, základní dokumenty identifikovány čísly, po vydání se nemění místo změny se nahradí jiným RFC přidělen stav proposed standard: návrh (ustálené,

Více

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

MODELY POČÍTAČOVÝCH SÍTÍ MODELY POČÍTAČOVÝCH SÍTÍ V počátcích budování počítačových sítí byly sítě a technické prostředky těchto sítí od jednotlivých výrobců vzájemně nekompatibilní. Vznikla tedy potřeba vytvoření jednotného síťového

Více

6. Transportní vrstva

6. Transportní vrstva 6. Transportní vrstva Studijní cíl Představíme si funkci transportní vrstvy. Podrobněji popíšeme protokoly TCP a UDP. Doba nutná k nastudování 3 hodiny Transportní vrstva Transportní vrstva odpovídá v

Více

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

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP Počítačové sítě Lekce 4: Síťová architektura TCP/IP Co je TCP/IP? V úzkém slova smyslu je to sada protokolů používaných v počítačích sítích s počítači na bázi Unixu: TCP = Transmission Control Protocol

Více

Směrovací protokoly, propojování sítí

Směrovací protokoly, propojování sítí Směrovací protokoly, propojování sítí RNDr. Ing. Vladimir Smotlacha, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Vladimír Smotlacha, 2011 Počítačové

Více

Pohled na pojem počítačová síť

Pohled na pojem počítačová síť Téma 9 Základy počítačových sítí Obsah 1. Základní pojmy a modely 2. LAN a jejich typy 3. Internet a jeho charakteristiky 4. Architektura Internetu a adresování 5. IP datagramy a jejich přenos 6. Směrování

Více

Komunikační sítě a internetový protokol verze 6. Lukáš Čepa, Pavel Bezpalec

Komunikační sítě a internetový protokol verze 6. Lukáš Čepa, Pavel Bezpalec Komunikační sítě a internetový protokol verze 6 Lukáš Čepa, Pavel Bezpalec Autoři: Lukáš Čepa, Pavel Bezpalec Název díla: Komunikační sítě a internetový protokol verze 6 Vydalo: České vysoké učení technické

Více

e1 e1 ROUTER2 Skupina1

e1 e1 ROUTER2 Skupina1 Zkouška POS - Vzorové zadání Jméno:... Os.číslo:... Maximální bodový zisk 55b, minimum 30b. Při dosažení 25-29b rozhoduje o uznání zkoušky ústní přezkoušení (další body se při ústní zkoušce nepřidělují).

Více

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

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy TÉMATICKÝ OKRUH Počítače, sítě a operační systémy Číslo otázky : 08. Otázka : Protokolová rodina TCP/IP. Vztah k referenčnímu modelu ISO-OSI. Obsah : 1 Úvod 2 TCP/IP vs ISO-OSI 3 IP - Internet Protocol

Více

Počítačové sítě IP multicasting

Počítačové sítě IP multicasting IP multicast mechanismus pro skupinovou komunikaci v IP vrstvě Zdroj vysílá jeden datagram, na multicast směrovačích se jeho kopie vysílají do větví multicast stromu Adresy typu D podpora IP multicastu

Více

The Locator/ID Separation Protocol (LISP)

The Locator/ID Separation Protocol (LISP) The Locator/ID Separation Protocol (LISP) Robin Kořístka (KOR0116) Abstrakt: Seminární práce je věnována popisu a přiblížení funkčnosti nové síťové architektury LISP (Locator/ID Separation Protocol). Součástí

Více

WrapSix aneb nebojme se NAT64. Michal Zima.

WrapSix aneb nebojme se NAT64. Michal Zima. WrapSix aneb nebojme se NAT64 Michal Zima zima@wrapsix.cz EurOpen, 14. května 2013 NAT64 je jedním z mnoha přechodových mechanismů pro IPv6 nahrazuje koncept NAT-PT hlavní RFC6144 6147 snaží se obejít

Více

Paměti a jejich organizace

Paměti a jejich organizace Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení

Více

Téma 9 Základy počítačových sítí Obsah

Téma 9 Základy počítačových sítí Obsah Téma 9 Základy počítačových sítí Obsah 1. Základní pojmy a modely 2. LAN a jejich typy 3. Internet a jeho charakteristiky 4. Architektura Internetu a adresování 5. IP datagramy a jejich přenos 6. Směrování

Více

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice Kód DUM : VY_32_INOVACE_LIN.1.06 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 06 Sítě v Linuxu diagnostika, identifikace, spojení, služby DUM naučí základní kroky ve správe síťového připojení,

Více

11. IP verze 4, adresy. Miroslav Spousta, IP verze 4

11. IP verze 4, adresy. Miroslav Spousta, IP verze 4 Počítačové sít ě II 11. IP verze 4, adresy Miroslav Spousta, 2005 1 IP verze 4 základní protokol Internetu, RFC 791 v současnosti nejrozšířenější síťový protokol součást síťové vrstvy architektury TCP/IP

Více

DLNA- Průvodce instalací

DLNA- Průvodce instalací ČESKY DLNA- Průvodce instalací pro LAN přípojky Zažijte realitu AQUOS LCD-TV Jaro/Léto 2011 Strana - 1 - LE820 - LE822 - LE814 - LE824 - LE914 - LE925 Obsah: 1. Příprava PC (povolení multimediální složky)

Více

Úvod do analýzy. Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz. Poslední aktualizace: 8. prosince 2013

Úvod do analýzy. Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz. Poslední aktualizace: 8. prosince 2013 počítačových sítí Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 8. prosince 2013 Základní pojmy z počítačových sítí Základní pojmy Protokol popisuje

Více

Přednáška 9. Síťové rozhraní. Úvod do Operačních Systémů Přednáška 9

Přednáška 9. Síťové rozhraní. Úvod do Operačních Systémů Přednáška 9 Přednáška 9 Síťové rozhraní. 1 Počítačové sítě Sítě jsou složité pro zjednodušení jsou řešeny po vrstvách ISO/OSI model od teorie k praxi příliš se neujal 7 vrstev TCP/IP model od praxe k teorii sada protokolů

Více

Úvod do počítačových sítí 1. A4B33OSS (J. Lažanský) verze: Podzim 2012

Úvod do počítačových sítí 1. A4B33OSS (J. Lažanský) verze: Podzim 2012 Téma 9 Základy počítačových sítí Obsah 1. Základní pojmy a modely 2. LAN a jejich typy 3. Internet a jeho charakteristiky 4. Architektura Internetu a adresování 5. IP datagramy a jejich přenos 6. Směrování

Více

SAS (Single-Attachment Station) - s jednou dvojicí konektorů, tj. pro použití pouze na jednoduchém kruhu.

SAS (Single-Attachment Station) - s jednou dvojicí konektorů, tj. pro použití pouze na jednoduchém kruhu. 4.1.1 FDDI FDDI je normalizováno normou ISO 9314. FDDI je lokální síť tvořící kruh. Jednotlivé stanice jsou propojeny do kruhu. K propojení stanic se používá optické vlákno. Lidovější variantou FDDI je

Více

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB Úloha č. 2. Zadání: 1. Seznamte se s principy komunikace na sériovém

Více

Architektura protokolů

Architektura protokolů Architektura protokolů KIV/PD Přenos dat Martin Šimek O čem přednáška je? 2 co se rozumí architekturou protokolů? protokol a složky protokolu encapsulace protokolových složek ISO OSI RM Co se rozumí architekturou

Více

BankKlient. FAQs. verze 9.50

BankKlient. FAQs. verze 9.50 BankKlient FAQs verze 9.50 2 BankKlient Obsah: Úvod... 3 Instalace BankKlient možné problémy... 3 1. Nejsou instalovány požadované aktualizace systému Windows... 3 2. Instalační program hlásí, že nemáte

Více

Management procesu II Mgr. Josef Horálek

Management procesu II Mgr. Josef Horálek Management procesu II Mgr. Josef Horálek Vlákna = Vlákna (Threads) = proces je definován množinou zdrojů výpočetního systému, které používá a umístěním, kde je spuštěn; = vlákno (thread) nazýváme lehký

Více

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

POČÍTAČOVÉ SÍTĚ 1. V prvním semestru se budeme zabývat těmito tématy: POČÍTAČOVÉ SÍTĚ 1 Metodický list č. 1 Cílem tohoto předmětu je posluchačům zevrubně představit dnešní počítačové sítě, jejich technické a programové řešení. Po absolvování kurzu by posluchač měl zvládnout

Více

Kabelová televize Přerov, a.s.

Kabelová televize Přerov, a.s. Kabelová televize Přerov, a.s. Servisní telefon: 724008007 Internet: www.ktvprerov.cz email: internet@ktvprerov.cz Vážení uživatelé služby MediaLINE v této příručce předkládáme návod na konfiguraci počítače

Více

X36PKO. 2006 Jiří Smítka

X36PKO. 2006 Jiří Smítka X36PKO Propojování sítí 2006 Jiří Smítka Jiří Smítka - X36PKO 1 2/2006 Propojování sítí propojujeme sítě s různými topologiemi a operačními systémy tím vytváříme internety největším internetem je Internet

Více

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina jiri.kubina@osu.cz Ver. 1.0 leden 2006

Zjednodusene zaklady ARP,TCP/IP Jiri Kubina jiri.kubina@osu.cz Ver. 1.0 leden 2006 Zjednodusene zaklady ARP,TCP/IP Jiri Kubina Ver. 1.0 leden 2006 Obsah 1.ARP - zjednoduseny popis metody prekladu IP na MAC 2.Strucny prehled IP protokolu 3.Hlavicka TCP 4.Navazani spojeni - TCP 5.Datova

Více

Topologie počítačových sítí Topologie = popisuje způsob zapojení sítí, jejich architekturu adt 1) Sběrnicová topologie (BUS)

Topologie počítačových sítí Topologie = popisuje způsob zapojení sítí, jejich architekturu adt 1) Sběrnicová topologie (BUS) Počítačové sítě Je to spojení dvou a více uzlů (uzel = počítač nebo další síť), za pomoci pasivních a aktivních prvků při čemž toto spojení nám umožňuje = sdílení technických prostředků, sdílení dat, vzdálenou

Více

Aktivní prvky: síťové karty

Aktivní prvky: síťové karty Aktivní prvky: síťové karty 1 Předmět: Téma hodiny: Třída: Počítačové sítě a systémy Aktivní prvky Síťové karty (Network Interface Card) 3. a 4. ročník SŠ technické Autor: Ing. Fales Alexandr Software:

Více

Projekt IEEE 802, normy ISO 8802

Projekt IEEE 802, normy ISO 8802 Projekt IEEE 802, normy ISO 8802 Petr Grygárek rek 1 Normalizace v LAN IEEE: normalizace aktuálního stavu lokálních sítí (od roku 1982) Stále se vyvíjejí nové specifikace ISO později převzalo jako normu

Více

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE. Ing. Jaroslav Adamus. Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE. Ing. Jaroslav Adamus. Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jaroslav Adamus Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou REFERENČNÍ MODEL ISO/OSI VY_32_INOVACE_09_3_05_IT Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou PROTOKOLY: jsou

Více

Technologie počítačových sítí 5. cvičení

Technologie počítačových sítí 5. cvičení Technologie počítačových sítí 5. cvičení Obsah jedenáctého cvičení Active Directory Active Directory Rekonfigurace síťového rozhraní pro použití v nadřazené doméně - Vyvolání panelu Síťové připojení -

Více

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

5. Směrování v počítačových sítích a směrovací protokoly 5. Směrování v počítačových sítích a směrovací protokoly Studijní cíl V této kapitole si představíme proces směrování IP.. Seznámení s procesem směrování na IP vrstvě a s protokoly RIP, RIPv2, EIGRP a

Více

Protokoly TCP/IP. rek. Petr Grygárek Petr Grygárek, FEI VŠB-TU Ostrava, Počítačové sítě (Bc.) 1

Protokoly TCP/IP. rek. Petr Grygárek Petr Grygárek, FEI VŠB-TU Ostrava, Počítačové sítě (Bc.) 1 Protokoly TCP/IP Petr Grygárek rek 1 TCP/IP standard pro komunikaci v Internetu a stále více i v intranetech TCP protokol 4. vrstvy (spolu s UDP) IP - protokol 3. vrstvy 2 Vrstvený model a srovnání s OSI-RM

Více

Adresování v internetu

Adresování v internetu IP adresa Domény Program ping Adresování v internetu Následující text popisuje adresování v internetu, kterému jsou věnovány obě části. První část věnovanou internetovému protokolu lze však aplikovat na

Více

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

Protokoly přenosu. Maturitní otázka z POS - č. 15. TCP/IP (Transmission Control Protocol/Internet Protocol) Protokoly přenosu konfigurace protokolu TCP/IP adresa IP, maska podsítě, brána nastavení DHCP, DNS TCP/IP (Transmission Control Protocol/Internet Protocol) Rodina protokolů TCP/IP obsahuje sadu protokolů

Více

Základní struktury LAN Lokální sítě s vysíláním (broadcast networks)

Základní struktury LAN Lokální sítě s vysíláním (broadcast networks) Téma 9 Základy počítačových sítí Obsah 1. Základní pojmy a modely 2. LAN a jejich typy 3. Internet a jeho charakteristiky 4. Architektura Internetu a adresování 5. IP datagramy a jejich přenos 6. Směrování

Více

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

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

Ladislav Pešička KIV FAV ZČU Plzeň

Ladislav Pešička KIV FAV ZČU Plzeň Ladislav Pešička KIV FAV ZČU Plzeň Offline Převézt vlakem disk 1TB z Plzně do Prahy Poslat poštovního holuba s flash diskem 16GB Online Přímá komunikace propojených počítačů Metalický spoj Optické vlákno

Více

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

CCNA I. 3. Connecting to the Network. CCNA I.: 3. Connecting to the network CCNA I. 3. Connecting to the Network Základní pojmy Konvergence sítí (telefony, TV, PC, GSM) SOHO (Small Office and Home Office) nabídka a prodej produktů evidence objednávek komunikace se zákazníky zábava

Více

Obsah Počítačová komunikace... 2. Algoritmy a mechanismy směrování v sítích... 4. Řízení toku v uzlech sítě a koncových zařízeních...

Obsah Počítačová komunikace... 2. Algoritmy a mechanismy směrování v sítích... 4. Řízení toku v uzlech sítě a koncových zařízeních... Počítačová komunikace Algoritmy a mechanismy směrování v sítích Řízení toku v uzlech sítě a koncových zařízeních Protokoly Internetu, adresace, programové rozhraní Propojování sítí a funkce propojovacích

Více

Základní normalizované datové přenosy

Základní normalizované datové přenosy Základní normalizované datové přenosy Ing. Lenka Kretschmerová, Ph.D. TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií Tento materiál vznikl v rámci projektu ESF

Více

Aktivní prvky: přepínače

Aktivní prvky: přepínače Aktivní prvky: přepínače 1 Předmět: Počítačové sítě a systémy Téma hodiny: Aktivní prvky přepínače část I. Třída: 3. a 4. ročník SŠ technické Autor: Ing. Fales Alexandr Software: SMART Notebook 11.0.583.0

Více

IPv6: Už tam budeme? Pavel Satrapa, TU v Liberci Pavel.Satrapa@tul.cz

IPv6: Už tam budeme? Pavel Satrapa, TU v Liberci Pavel.Satrapa@tul.cz IPv6: Už tam budeme? Pavel Satrapa, TU v Liberci Pavel.Satrapa@tul.cz AMS-IX IPv6 lehce přes 0,5 % provozu květen 2014 3,05 % září 2013 1,87 % Google Google detail víkendy Závěry ze statistik Černého Petra

Více

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

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Síťové vrstvy a protokoly Síťové vrstvy Síťové vrstvy Fyzická

Více

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í

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í VY_32_INOVACE_31_20 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Sada protokolů TCP/IP

Sada protokolů TCP/IP Sada protokolů TCP/IP Cílem této kapitoly je popsat jednu z nejpoužívanějších rodin protokolů pro síťovou komunikaci, TCP/IP. Význam TCP/IP spočívá mimo jiné v tom, že jde o sadu komunikačních protokolů

Více