PB169 – Operační systémy a sítě Protokoly pro přenos dat v síti Marek Kumpošt, Zdeněk Říha TCP/IP • Rodina protokolů pro komunikaci v počítačové síti (původně ARPANET) • Protokol – Množina pravidel určující význam a syntaxi zpráv při komunikaci. • Komunikace je rozdělena do vrstev – Analogicky, jako model ISO/OSI, ale vrstev je méně • Původně vyvinuto pro UNIXové systémy TCP/IP • Počítačová síť není považována za 100% spolehlivou – Protokoly s tím musí umět pracovat – Zprávy rozděleny do menších zpráv – paketů – Pakety jsou nezávisle adresovány k cíli – Nezáleží na tom, kudy se tam dostanou • Příjemce potvrzuje přijetí každého paketu – Pakety se mohou ztrácet – posílání znovu TCP/IP – Architektura TCP/IP • Pracuje na transportní a síťové vrstvě OSI/ISO modelu a má několik „vlastních“ vrstev – Aplikační – DHCP, DNS, FTP, HTTP, Telnet – Transportní – TCP, UDP – Síťová – IP, ARP, ICMP, IPSec – Síťové rozhraní – Ethernet, Token ring… TCP/IP a ISO/OSI • Korespondence vrstev • Nižší vrstva poskytuje služby vyšší vrstvě • Vyšší vrstva využívá služby nižší vrstvy Transportní vrstva • Dva protokoly na transportní vrstvě – (TCP) Transport Control Protocol – (UDP) User Datagram Protocol • Obecné požadavky: – Možnost propojení „různých“ sítí • Využívající např. různé přenosové technologie – Návrh protokolů s co nejlepší funkcionalitou • Podpora „nových“ protokolů, které ještě nebyly vyvinuty TCP • Před každou komunikací je nejprve navázáno spojení • Po skončení komunikace je spojení uzavřeno • TCP vytváří datové pakety přijaté od vyšší vrstvy a předává je nižší vrstvě • Snaha o optimalizaci přenosových cest • Transparentní přenos libovolných dat • Obousměrné spojení • Rozlišovaní aplikací pomocí portů (80, 21, 22) TCP • TCP je potvrzovaný protokol – Potvrzují se přijaté pakety – Na chybně přijaté nebo nepřijaté pakety se nereaguje (dojde k jejich novému odeslání) – Doručení všech paketů ve správném pořadí • Kontinuální potvrzování – Aby se nesnížila efektivita přenosu – Posílají se pakety s „předstihem“, tzn. ještě před přijetím potvrzení – Množství odeslaných paketů se řídí velikosti „okna“ • TCP neřeší bezpečnost přenosu dat UDP • User datagram protokol • „Nespolehlivá“ transportní služba • Využitelné pro aplikace, které nevyžadují spolehlivost přenosu – Streamované video, rádio, videokonference – DHCP, DNS • Použití portů pro rozlišení různých aplikací • Nemá fázi navázání a ukončení spojení Protokol IP • Zajišťuje směrování paketů (datagramů) na základě IP adres – Nejen v rámci jedné sítě • Každý paket obsahuje informace o zdroji a cíli • Zodpovědnost za pořadí a správné doručení má vyšší vrstva (TCP) • Výběr optimální cesty v síti • IPv4 a IPv6 Struktura datagramu Směrování • Hledání cesty v počítačové síti – Co možná nejefektivnější cesta pro doručení paketu • V rámci směrování se řeší komu paket poslat dál, nikoliv celá cesta (viz. traceroute) • Analogie při rozhodování na křižovatkách • Směrovače -> směrovací tabulky • Směrovací protokoly – RIP, OSPF Směrování • Statické – Směrovací tabulky jsou pevně dané • Dynamické – Směrovací tabulky se upravují podle topologie sítě – Síť musí poskytovat informace o svém stavu • Centralizovaně • Distribuovaně Traceroute • Program sloužící k analýze počítačové sítě • Cesta od startu k cíli a průchozí body • Při řešení problémů se směrováním • Hledání slabého/úzkého místa • Z důvodu bezpečnosti jsou odpovědi na požadavky traceroute zahazovány Dostupnost (ping) • Ověření dostupnosti cílového stroje • Reportuje odezvu cíle a zpoždění • Požadavky typu (ICMP pakety) – Echo request • Odpověď typu – Echo reply – Destination unreachable – Timeout NAT • Překlad adres, síťová maškaráda – Způsob adresování ve vnitřní sítí – Router přepisuje zdrojovou nebo cílovou adresu – Ve směrovací tabulce si udržuje informace o spojení a odpověď správně předá • Umožňuje připojit více počítačů za jednu veřejnou IP • Zvyšuje bezpečnost počítačů za NATem • Problémy s příchozím provozem (FTP, HTTPd) DNS • Hierarchický systém doménových jmen (www.google.com) • Převod IP adresy na doménové jméno • TCP/53, UDP/53 SMTP – Simple mail transfer protocol • Protokol pro přenos zpráv el. pošty • Doručení zprávy do schránky příjemce – Vyzvednutí pomocí protokolu POP3 nebo IMAP • Jedna z nejstarších aplikací (1982) • SMTP funguje nad protokolem TCP/25 • K odeslání používáme poštovního klienta – Odeslání technicky zajistí SMTP server IPv4 • 32bitový prostor adresy – tečkový zápis (každá část 8 bitu – 0-255) – cca 4 miliardy unikátních adres • Třídy IP adres podle prefixu • Prostor IPv4 dochází – Nebo už došel – Asie IPv6 • Protokol pro přenos paketů v síti • Náhrada stávajícího IPv4 protokolu • Změny: – Ohromný adresní prostor (128b adresa) • 2128 adres – 3,4 x 1038 – Není potřeba NAT – Odpadá složitá struktura rozsáhlých sítí – Vyšší nároky na režii IPv6 adres – Zapamatovatelnost -> nutnost používat DNS – Bezpečnost - IPsec • Nejsou nutné drastické změny v aplikacích IPv6 – struktura adres • Typicky se skládá z prefixu a adresy hosta (64b, 64b) – Adresa hosta je buď MAC adresa jeho síťové karty nebo je přiřazena jiným způsobem • Notace – Skupiny hexadecimálních číslic – 2001:0db8:85a3:08d3:1319:8a2e:0370:7334 – 2001:0db8:0000:0000:0000:0000:1428:57ab – 2001:0db8:0000:0000:0000::1428:57ab – 2001:0db8:0:0:0:0:1428:57ab – 2001:0db8:0:0::1428:57ab – 2001:0db8::1428:57ab – 2001:db8::1428:57ab – Poslední část adresy může obsahovat IPv4 adresu • ::ffff:12.34.56.78 (z důvodů smíšeného prostředí)