abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Navštivte Abc obchůdek se samolepkami a přívěsky!
Rozšířené hledání
×
dnes 06:11 | Komerce
Rozrůstající se softwarová společnost v Plzni zabývající se telematikou hledá schopné vývojáře a nadšence se zájmem o OS Linux. Uplatnění zde najdou především vývojáři C++ se znalostí OS Linuxu, dále programátoři v jazyku Java nebo vývojáři se zkušenostmi s Oracle DB a Oracle ADF. Více informací o společnosti. … více »
Reklama | Komentářů: 0
24.5. 22:45 | IT novinky
NASA, která společně s Rackspace stála u zrodu projektu OpenStack, se již nadále nebude podílet na dalším vývoji této "infrastructure-as-a-service" platformy. V NASA totiž došli k závěru, že vzhledem k podpoře OpenStacku ze strany společností jako Red Hat, AT&T a HP lze jejich práci považovat za dokončenou. Posléze se NASA plánuje stáhnout i z vývoje další platformy pro cloud computing jménem Nebula.
Migilenik | Komentářů: 0
24.5. 22:45 | Upozornění
Blíží se svátek IPv6 a s ním i konference IPv6 Day. Na návštěvníky této akce čeká nejen bohatý program, ale také jedna speciální nabídka – v průběhu setkání bude možné získat se slevou 66 procent třetí vydání knihy IPv6 vysokoškolského pedagoga a publicisty Pavla Satrapy, tedy za 105 korun. … více »
Vilem Sladek | Komentářů: 6
24.5. 16:14 | Pozvánky

Přijďte si zasprintovat na Djangu, jiném Python open-source projektu, nebo jen potkat ostatní vývojáře!

… více »
Whit | Komentářů: 0
24.5. 10:20 | Nová verze
Na zrcadlech a torrentech jsou již k dispozici ISO obrazy distribuce Mageia 2. Poznámky k vydání čtěte zde.
Liborek | Komentářů: 15
23.5. 13:47 | Pozvánky

Letos v říjnu se v Praze uskuteční hned několik konferencí. Odehraje se zde nově vzniklá konference LinuxDays. K ní se přidá čtvrtý ročník openSUSE Conference, dvanáctý ročník SUSE Labs conference a aby to nebylo málo, přidá se i první ročník Gentoo miniconf. A to vše ve stejné dny a na stejném místě.

… více »
Miška | Komentářů: 7
23.5. 13:27 | Zajímavý projekt
Printerd je název nového projektu tiskového démona, který bude využívat PolicyKit a D-Bus. Projekt je zatím na úplném začátku, takže nejde o nic vhodného k produkčnímu nasazení. Mimo jiné aktuálně akceptuje jako vstup jen PDF dokumenty.
Luboš Doležel (Doli) | Komentářů: 67
23.5. 13:25 | Zajímavý software
Tři vývojáři ze společnosti Engine Yard přecházejí po dohodě mezi firmami do Red Hatu. Jde o vývojáře zabývající se rozvojem projektu JRuby. To ukazuje, že Red Hat má zájem o podporu alternativních jazyků nad OpenJDK.
Luboš Doležel (Doli) | Komentářů: 1
23.5. 13:20 | Zajímavý software
Fedora přejde na knihovnu libusbx, což je fork původní knihovny libusb. Důvodem pro fork byl zjevný nedostatek času nebo zájmu ze strany správce projektu. libusbx už teď nabízí užitečné funkce navrch.
Luboš Doležel (Doli) | Komentářů: 5
23.5. 10:29 | Nová verze
Vyšlo LLVM 3.1. Vylepšení se dotýkají podpory C++ 11 nebo architektur ARM a MIPS. Dále se můžete těšit z Python bindings nebo nástroje AddressSanitizer pro detekci chyb při práci s pamětí.
Luboš Doležel (Doli) | Komentářů: 0
Pokud by se prohlížeč Opera stal svobodným:
 (9%)
 (32%)
 (1%)
 (58%)
Celkem 288 hlasů
 Komentářů: 34, poslední dnes 17:22
    Rozcestník
    Reklama
    Autoškola testy online Levný benzín

    Síťové protokoly

    Rodina protokolů TCP/IP, kterou dnes používáme k realizaci naprosté většiny síťové komunikace, byla navržena na přelomu 70. a 80. let s cílem vytvořit robustnější model síťové komunikace, který by byl schopen se do určité míry vypořádat i s výpadky částí sítě. Základní (a v té době celkem revoluční) myšlenkou je packet switching (přepínání paketů): data nejsou posílána jako souvislý proud (stream), ale po samostatných blocích (paketech), a jednotlivé uzly sítě samy rozhodují, kudy budou pakety dále posílat.

    V praxi je tato myšlenka realizována sadou protokolů, implementujících potřebné funkce. Protokoly obvykle rozdělujeme do několika úrovní (vrstev). Místo abstraktního ISO/OSI modelu, který pracuje se sedmi vrstvami, při výkladu TCP/IP většinou používáme zjednodušený pětivrstvý model (některé protokoly v TCP/IP modelu zastávají funkci více vrstev ISO/OSI modelu).

    Vrstvám odpovídají ve struktuře paketu hlavičky jednotlivých protokolů. Základem paketu je blok aplikačních dat (podle okolností může mít ale i nulovou délku), před který postupně jednotlivé protokoly přidávají (v pořadí vrstev shora dolů) hlavičky se svými informacemi. Tyto hlavičky jsou pak moduly příslušných protokolů v opačném pořadí odebírány na straně příjemce.

    Aplikační vrstva

    Nejvýše je aplikační vrstva, tak označujeme data aplikačních protokolů jednotlivých síťových služeb. Takových protokolů existuje obrovské množství, z nejznámějších uveďme např. HTTP, SMTP, FTP, NTP. Z pohledu TCP/IP se jedná o data, která je třeba přenést k cílovému příjemci. O to se starají nižší vrstvy.

    Fyzická vrstva

    Nejníže je v modelu vrstva fyzická. Na rozdíl od vyšších vrstev se nejedná o softwarovou vrstvu (protokol), tímto označením rozumíme konkrétní fyzické médium, které používáme k přenosu dat. Příkladem může být např. twisted pair (kroucená dvoulinka) kabeláž ve většině lokálních ethernetových sítí, koaxiální kabel, optické vlákno nebo telefonní linka. Médium ale nemusí být hmotné - např. v případě bezdrátových sítí v mikrovlnném pásmu (wi-fi, breezenet) nebo optických pojítek.

    Linková vrstva

    Nejníže ze softwarových vrstev je linková vrstva. Jedná se o nejnižší komunikační protokol, sloužící k přenášení dat po fyzickém médiu. Tento protokol je většinou úzce svázán s konkrétní volbou média, ale tato korespondence nemusí být 1:1, např. ethernet bývá v praxi implementován nejen na twisted-pair kabeláži, ale můžeme se setkat s jeho implementacemi pomocí koaxiálního kabelu nebo naopak optických vláken. Jiným příkladem protokolu linkové vrstvy je PPP, protokol používaný k realizaci vytáčeného připojení (dial-up) nebo propojení počítačů přes sériovou linku. Podstatnou vlastností protokolů linkové vrstvy je skutečnost, že řeší pouze komunikaci mezi uzly, které jsou přímo spojeny (odtud i název).

    Síťová vrstva

    Globální adresaci a směrování má na starosti vrstva síťová, v praxi realizovaná téměř výhradně protokolem IP (vyskytujícím se ve dvou verzích, IPv4 a IPv6). Zatímco i u protokolů linkové vrstvy existují adresy a např. v případě ethernetových MAC adres jsou (nebo by aspoň měly být) dokonce globálně jednoznačné, nelze je použít ke směrování paketů, protože z takových adres nelze poznat, kde cíl hledat. Adresy protokolu IP (IP adresy) jsou ale přidělovány hierarchicky tak, že delegace jednotlivých rozsahů odpovídá topologii sítě. Z cílové IP adresy lze proto určit, kudy máme paket dále poslat, tedy alespoň následujícího prostředníka (hop) po cestě. Kromě této své základní funkce řeší protokol IP ještě některé další, např. fragmentaci (rozdělení příliš dlouhých paketů na několik kratších) nebo označení paketů podle typu provozu (ToS - type of service).

    Některé důležité problémy ale protokol IP záměrně neřeší. Například adresování v IP hlavičce je pouze na úroveň konkrétního uzlu sítě, ale neumožňuje adresovat konkrétní proces. Nelze tak (podle IP hlavičky) např. rozlišit paket určený webovému serveru od paketu pro SMTP klienta. Dalším problémem může být skutečnost, že jednotlivé IP pakety jsou posílány a zpracovávány zcela samostatně a nelze poznat, zda dva pakety patří do téhož datového toku. Protokol IP také neřeší otázku ztracených paketů (nelze detekovat, zda se některé pakety neztratily) ani pořadí paketů (pakety mohou do cíle dorazit v opačném pořadí, než v jakém byly odeslány). U některých typů komunikace nemusí být tato skutečnost na závadu, tam, kde ano, musíme tyto problémy řešit na úrovni vrstvy transportní a aplikační.

    Transportní vrstva

    Nejpoužívanějšími protokoly transportní vrstvy jsou dnes UDP a TCP. UDP (User Datagram Protocol) lze chápat jako minimalistický transportní protokol, zavádějící pouze pojem portu, který lze chápat jako adresu konkrétního procesu (přesněji socketu) v rámci cílového uzlu. UDP je ale stále bezstavový protokol (nelze tady mluvit v pravém slova smyslu o spojení), neřeší otázku ztracených paketů ani jejich pořadí. Přesto se často používá pro svou jednoduchost a nižší režii, a to zejména tam, kde tyto otázky řešit nepotřebujeme.

    Opačný přístup je reprezentován protokolem TCP (Transmission Control Protocol). Ten naopak zavádí spojení mezi dvěma porty na koncových uzlech. Z pohledu klientské aplikace se takové spojení chová podobně jako roura pro komunikaci mezi dvěma procesy (ale na rozdíl od roury je TCP spojení obousměrné), je zaručeno, že posloupnost bytů (stream), kterou jedna strana odešle, dostane ve stejné podobě druhá strana. Protokol TCP se stará o detekci a opakované odeslání ztracených dat, stejně jako o přerovnání dat z paketů, které dojdou ve špatném pořadí. TCP tak poskytuje aplikační vrstvě poměrně vysokou míru komfortu, většina komunikace proto dnes používá jako transportní protokol TCP. Nevýhodou ale může být vyšší režie a relativně pomalá reakce na výpadky, proto se pro některé účely (např. většina DNS dotazů nebo VoIP) dává přednost UDP.

    ICMP

    Ze struktury vrstev se trochu vymyká protokol ICMP (Internet Control Message Protocol). Pakety (message) tohoto protokolu jsou přenášeny přímo prostřednictvím IP protokolu, ICMP ale nelze považovat za transportní protokol, protože neslouží k přenášení aplikačních dat. Tento protokol slouží k diagnostickým a servisním účelům. Příkladem aplikací ICMP jsou zprávy o nedoručitelnosti paketu (destination unreachable), pakety generované příkazem echo (ICMP echo a echo reply) nebo některé servisní typy zpráv (redirect).

    Velikost paketů

    Maximální (teoretická) velikost IP paketu je 65535 B, ale limitujícím faktorem je většinou linková vrstva. Protože většina paketů aspoň jednou projde přes ethernet (nebo jeho ekvivalent), bývá většinou velikost paketů volena podle jeho limitu (1536 B), odtud nejobvyklejší hodnota 1500 B. To je ale samozřejmě pouze maximální hodnota, pakety často bývají i výrazně kratší, zejména u interaktivních aplikací. Hlavičky IP a TCP mají velikost 20-60 B (obvyklejší jsou hodnoty u dolní hranice), UDP a ICMP hlavičky mají 8 B, ethernetová hlavička 14 B (navíc 2 B na konci paketu kontrolní součet).

    Dokument vytvořil: vladka, 29.8.2005 12:12 | Poslední úprava: Michal Kubeček, 18.3.2009 00:04 | Další přispěvatelé: Nicky726, Michal Kubeček | Historie změn | Zobrazeno: 8433×

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   Powered by Hosting 90 Server hosting
    © 1999-2012 Argonit s. r. o. Všechna práva vyhrazena.