Table of Contents
4. Internet
Referenční model TCP/IP (charakteristika modelu, specifikace vrstev, porovnání s RM OSI). Základní protokoly modelu dle vrstev. Klasifikace aplikačních služeb Internetu.
Úloha
Předpoklady: Vaším úkolem je řešit návrh komunikace v RM TCP/IP
Zadání:
- Na příkladu služby WWW (např. http://kit.vse.cz) detailně popište průběh komunikace mezi klientem a serverem od jejího počátku až po zobrazení výsledků
- Specifikujte jednotlivé protokoly, které budou užity.
Teorie
TCP/IP vyvíjený dříve organizací ARPA od konce 60. let je nejpoužívanější rodina protokolů v internetu. Má 4 vrstvy: aplikační – není součástí protokolu a je standardizována zvlášť – odpovídá aplikačním vrstvám RM OSI – relační, prezentační, aplikační. Pod tím je vrstva transportní, pod tím vrstva síťová, pod tím vrstva síťového rozhraní, která není v protokolech TCP/IP přímo specifikována – může být realizována různě.
Na rozdíl od ISO/OSI navrhuje TCP/IP (DoD) rovnou i implementaci daných protokolů. OSI model je dokonale propracovaný jako model, ale využití je spíš ve formě abstraktní metody. Protokoly vyšlé z OSI se totiž až na výjimky jako je X.400 moc neujaly. TCP/IP je naproti tomu zaměřen prakticky a řeší všechno vč. spojování služeb.
Na vrstvě síťových rozhraní se používají protokoly jako je Ethernet, Token Ring, apod. – ty ale nejsou součástí TCP/IP.
Na síťové vrstvě je protokol IP – bez potvrzování a bez spojení – byla vytvořena hlavně z vojenských důvodů jako odolná – potvrzování případně zajišťuje vrstva TCP. Na vrstvě IP se určuje, kam packet míří. Adresování IPv4 nebo nověji IPv6. Délka hlavičky minimálně 20 bytů, u v6 je to 40 bytů napevno. Kromě IP je na síťové vrstvě např. ještě ICMP, OSPF, atd.
Na transportní vrstvě TCP (potvrzovaný se spojením) a UDP (nepotvrzovaný bez spojení). V nich jsou specifikovány 16-bitové adresy – porty určující službu.
Na aplikační vrstvě jsou další protokoly, které jsou rovněž specifikovány zvlášť – HTTP, SMTP, POP3, DNS, Gopher, atd.
Klasifikace aplikačních služeb:
- HTTP, HTTPS – pro připojování k WWW serverům
- FTP – pro přenos dat
- Telnet
- SMTP
- POP3
- IMAP
- RPC
- DNS
Praxe
Zadám URL, IE si nejdřív vyžádá od DNS překlad URL adresy na IP, potom tam pošle HTTP request, GET něco něco. To je kus textu, k tomu se přihodí hlavička TCP, ve které bude několik zajímavých věcí jako třeba port 80, pořadí, atd. To se předá vrstvě IP, ta tam flákne adresu, TTL a ta to předá třeba Ethernetu, který to odvysílá do lokální sítě, aby to všichni slyšeli. Všem je to jedno kromě brány-routeru, který si přečte IP adresu a rozhodne se na který ze svých portů to pošle a zase na nějaké rozhraní, třeba ATM nebo něco takového. Až to dojde na koncový server, kde sedí třeba IIS, ta to přijme na port, na IP vrstvu, ta to předá výš, tam se to skládá dohromady a ověřuje se, že je to celé a posílá to ACK flagy. Když to má kus něčeho, tak to předá HTTP serveru, který z toho něco vyvodí a už to jde nazpátek.
