260 likes | 429 Views
Počítačové sítě VUT v Brně Fakulta podnikatelská. Protokoly aplikační vrstvy TCP/IP. Lekce 9 Protokoly aplikační vrstvy TCP/IP. Lekce 9 – Protokoly aplikační vrstvy TCP/IP. strana 1. Ing. Viktor Ondrák, Ph.D. Počítačové sítě VUT v Brně Fakulta podnikatelská. Aplikace. Aplikace. Aplikace.
E N D
Počítačové sítěVUT v BrněFakulta podnikatelská Protokoly aplikační vrstvy TCP/IP Lekce 9 Protokoly aplikační vrstvy TCP/IP Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 1 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská Aplikace Aplikace Aplikace DNS DNS DNS FTP FTP FTP Share Share Share Síťová vrstva Síťová vrstva Linková vrstva Linková vrstva Fyzická vrstva Fyzická vrstva Aplikace často používají stejné činnosti (překlady adres, sdílení zdrojů, přenosy souborů, přístup k poštovní schránce,….). Je vhodné, aby tyto činnosti byly standardizované a aplikace je mohly využívat jako služby Takovéto služby jsou pak plně integrovány v aplikační vrstvě (obvykle jako součásti operačního systému) a komunikují pomocí vlastních protokolů. Protokoly aplikační vrstvy TCP/IP Aplikace Aplikace Aplikace Transportní vrstva Transportní vrstva DNS Share FTP Aplikační vrstva Aplikační vrstva Transportní vrstva Transportní vrstva Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 2 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • K jednoznačné identifikaci uzlu postačuje IP adresa. Má ale řadu nevýhod: • špatně se pamatuje (v mnoha případech je nutné, aby adresu uzlu zadával uživatel) • nevypovídá o organizační příslušnosti uzlu (v jedné IP síti může být víc organizací, jedna organizace může být ve více IP sítích) • nevypovídá o poskytované službě • je příliš vázána na geografické umístění (při přemístění uzlu do jiné lokality se musí změnit IP adresa) DNS Je tedy potřeba jiný způsob adresace, který by tyto nevýhody neměl… To splňuje DNS (Domain Name Systém) Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 3 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • Jako každý adresní systém musí i DNS splňovat základní podmínky: • jednoznačný systém struktury adres • pravidla pro tvorbu jmen • jmenné prostory • evidence adres • struktura databáze • odpovědnost za záznamy • zabezpečení unikátnosti jmen • přístup k databázi • doručitelnost • zajištění lokalizace uzlu Podmínky adresního systému V architektuře TCP/IP je fyzicky jediná možná adresace pomocí IP adres DNS tedy musí zajistit doručitelnost převodem vlastního systému adresace na IP adresy !!! Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 4 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská Systém DNS rozčleňuje globální adresní prostor do internetových domén Domény jsou uspořádány ve stromové struktuře vycházející z jednoho kořene: Struktura domén v DNS root Kořen (Root) Domény nejvyšší úrovně TLD (Top Level Domain) - přiděluje IANA … cz sk … net edu com Domény 1. úrovně - přiděluje autorita TLD muni … … atlas vutbr cuni Domény 2. úrovně - přiděluje autorita domény 1. úrovně fbm … … cis fme ro Domény 3. úrovně - přiděluje autorita domény 2. úrovně … std … . . . Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 5 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská root www.fbm.vutbr.cz cz vutbr fbm www std Plně kvalifikovaná doménová jména (FQDN – Fully Qualified Domain Name) Doménová jména Plně kvalifikované doménové jméno je tvořeno posloupností dílčích jmen v pořadí jejich hierarchie počínaje jménem uzlu a konče jménem domény nejvyšší úrovně. každá část jména může být dlouhá max 63 znaků může obsahovat písmena anglické abecedy, číslice a pomlčku maximální délka celého jména je 255 znaků Při odkazech na konkrétní zdroj a konkrétní službu se používá URL (Unique Resource Locator), což je složení <služba>://<FQDN>/<adresářová cesta>/<soubor> Např.: http://www.fbm.vutbr.cz/public/vyuka/str1.htm Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 6 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • Autorita je právo nad doménou: • přidělovat a měnit jména • zřizovat a rušit dceřiné domény Autorita nad doménou - zóna Nositel autority automaticky při zřízení dceřiné domény přebírá autoritu i nad touto dceřinou doménou Autoritu nad dceřinou doménou lze delegovat na jiný subjekt Oblast – skupina domén s jednou autoritou se nazývá zóna cz vutbr ro fbm cis std Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 7 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • Autorita nad doménou představuje také povinnosti: • dodržování konvence přidělování jmen • udržování databází jmen • zabezpečení překladů FQDN na IP adresy • zodpovědnost za dodržování povinností v dceřiných doménách s delegovanou autoritou Autorita nad doménou - povinnosti • Udržování databází a provádění překladů adres zajišťuje pro každou doménu Name Server • každá doména musí mít svůj Name Server - vždy 1 primární (ve kterém se provádí změny) a alespoň 1 sekundární (kopie primárního) • domény jedné zóny mají společný Name Server Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 8 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • Data o doméně jsou uložena v databázi Name Serveru. • Databáze je realizována podle operačního systému ve formě: • textových souborů • relační databáze • adresářové struktury (např. MS Active Directory) • Databáze je složena z jednotlivých záznamů (Resource Record) - každý záznam představuje jeden adresní údaj. • Struktura záznamu: • NAME - jméno záznamu • TYPE - typ záznamu (2 B) • CLASS - třída záznamu (2 B) 1=Internet • TTL - životnost záznamu (4 B) = doba, po kterou může být záznam uchován • RDLENGTH - délka datové části (2 B) • RDATA - vlastní data Databáze Name Serveru Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 9 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská Záznam SOA (Start of Authority) Udává, základní parametry pro doménu (primární NS, adresu správce, sériové číslo, časové parametry záznamů), je v doméně pouze jeden např: fbm.vutbr.cz. OA fbmdc1.fbm.vutbr.cz ondrak.fbm.vutbr.cz. (2860557448 900 600 86400 3600) Typy záznamů Záznam NS (Name Server) Udává Name Servery pro doménu a dceřiné domény např: fbm.vutbr.cz. NS fbmdc1.fbm.vutbr.cz std NS stddc1.std.fbm.vutbr.cz Záznam A (A Host Address) Udává IP adresu uzlu např: kamera A 147.229.120.26 poslucharna381 A 147.229.120.197 Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 10 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská Záznam CNAME (Cannonical Name) Udává, synonyma k jménu (alias) např: www CNAME kamera.fbm.vutbr.cz. pop3 CNAME fbmexc.fbm.vutbr.cz. Typy záznamů Záznam MX (Mail Exchange) Udává poštovní server pro doménu např: fbm.vutbr.cz. MX 10 fbmexc.fbm.vutbr.cz fbm.vutbr.cz. MX 50 stdexc.std.fbm.vutbr.cz Záznam SRV (Service) Udává, který uzel poskytuje příslušnou službu např: _ldap._tcp.DomainDnsZones SRV priority=0, weight=100, port=389, fbmdc1.fbm.vutbr.cz _kerberos._tcp.DomainDnsZones SRV priority=0, weight=100, port=88, fbmdc2.fbm.vutbr.cz Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 11 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská dotaz dotaz Resolver Name Server odpověď odpověď Data Cache Resolver • DNS má architekturu klient/server - proces překladu adres má 2 strany • Resolver (klient) – zasílá dotazy (např.: „Jakou IP adresu má uzel www.vutbr.cz ?“) • Name Server (server) – odpovídá na dotazy (zašle příslušné záznamy) Překlad adres Na klientské stanici běží pouze resolver Na uzlu, který plní služby Name Serveru běží obě funkce Pokud server nezná odpověď, dotazuje se jiných Name Serverů Name Server čerpá informace pro odpovědí jednak z vlastní databáze (pro svoje domény), jednak z cache paměti, kam zapisuje odpovědi ostatních serverů. Záznamy v cache paměti mají omezenou životnost Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 12 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • Resolver klientského počítače se vždy jako prvního dotazuje „svého“ DNS serveru (toho, který má uvedený ve své konfiguraci) • Odpověď Name Serveru může být: • autoritativní – pokud je server autoritou nad dotazovanou doménou • neautoritativní – pokud není server autoritou nad dotazovanou doménou a informace pro odpověď získá z cache paměti nebo dotazem na jiné servery • Průběh překladu může být • rekurzivní – dotazovaný Name Server odpoví na dotaz konečnou odpovědí, kterou získá dotazováním jiných Name Serverů • interativní – dotazovaný Name Server odpoví pouze odkazem na jiný Name Server a klient se musí znovu dotazovat jiného Name Serveru sám (provádí se v případě, že má Name Server zakázány rekurzivní dotazy Průběh překladu adres Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 13 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská dotaz dotaz dotaz dotaz dotaz odpověď odpověď odpověď odpověď odpověď 1. Klientská stanice pošle dotaz na „svůj Name Server 2. Name Server zjistí, zda nemůže odpovědět (cíl ve vlastní doméně nebo údaj v cache paměti). Pokud ne, pošle stejný dotaz na nejbližší známý Name Server na cestě k požadovanému cíli (vyhledává v cache paměti) – pokud nenajde bližší, odesílá na některý z kořenových Name Serverů dotaz na IP aresu www.fbm.vutbr.cz Rekurzivní průběh překladu adres root • Oslovený Name Server provádí stejnou činnost jako v bodě 2 s tím rozdílem, že údaje o Name serverech dceřiných domén má již ve své databázi • Takto pokračuje rekurzivní volání Name Serverů až do okamžiku. kdy je osloven Name Server, který je pro požadovaný dotaz autoritativní • Odpovědi jdou stejnou cestou zpět cz vutbr.cz www Jde o vnořené (rekurzivní) dotazy fbm.vutbr.cz Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 14 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská dotaz dotaz dotaz dotaz dotaz odpověď odpověď odpověď odpověď odpověď 1. Klientská stanice pošle dotaz na „svůj Name Server 2. Name Server zjistí, zda nemůže odpovědět (cíl ve vlastní doméně nebo údaj v cache paměti). Pokud ne, odpoví zasláním odkazu (ve formě NS záznamu) na nejbližší známý Name Server na cestě k požadovanému cíli (vyhledává v cache paměti) – pokud nenajde bližší, odesílá na některý z kořenových Name Serverů root Interativní průběh překladu adres 2 cz 3 • Klientská stanice posílá stejný dotaz na Name Server zaslaný v odkazu a obdrží odpověď jako v bodě 2 • Takto pokračuje volání Name Serverů klientskou stanicí až do okamžiku. kdy je osloven Name Server, který je pro požadovaný dotaz autoritativní o pošle požadovanou odpověď 4 1 5 vutbr.cz www fbm.vutbr.cz Jde o dotazy postupně se přibližující cíli (interace) Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 15 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská Root servery jsou umístěny v doméně root-servers.net s těmito jmény: Kořenové Name Servery Tedy například: a.root-servers.net Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 16 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská arpa in-addr … … 147 255 0 … … 255 229 0 … … 255 123 0 • Někdy je potřeba obrácený překlad – z FQDN na IP adresu • To provádí DNS servery z reverzních zón • struktura reverzních zón odpovídá struktuře adresního prostoru IP • povinnost mít reverzní Name Servery mají správci IP sítí Reverzní domény Strom domén reverzního DNS začíná z kořene in-addr.arpa. Nižší domény odpovídají přiděleným IP adresám sítí 147.in-addr.arpa 229.147.in-addr.arpa 123.229.147.in-addr.arpa Jinak je logika překladu, struktura databází i dotazy stejné jako u dopředných překladů. V databázi jsou navíc definovány záznamy PTR: 10.123.229.120.in-addr.arpa. PTR fbmdc1.fbm.vutbr.cz. Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 17 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská Komunikace mezi klientem a DNS serverem probíhá pomocí jednoduchého DNS protokolu DNS server naslouchá na portu 53 přes UDP (dotazy na IP adresy) i TCP (zónové přenosy) Je použit stejný formát datagramu (DNS Query) pro dotaz i odpověď Formát DNS Query: Hlavička - údaje o dotazu (povolení rekurze, požadavek na autoritativnost, …) Dotaz - vlastní dotaz (má formu neúplného záznamu – vyplněno jméno, typ, třída) Odpověď - odpověď DNS serveru (má formu sady záznamů) Autorita - udává kdo je autorita k odpovědi (má formu sady NS záznamů) Doplněk - doplňkové informace – např. A záznamy k MX nebo NS záznamům DNS protokol Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 18 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská Ladící výpis dotazu na poštovní server domény fbm.vutbr.cz Ukázka komunikace DNS SendRequest(), len 30 HEADER: opcode = QUERY, id = 5, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: fbm.vutbr.cz, type = MX, class = IN ------------ Got answer (69 bytes): HEADER: opcode = QUERY, id = 5, rcode = NOERROR header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 1, authority records = 0, additional = 1 QUESTIONS: fbm.vutbr.cz, type = MX, class = IN ANSWERS: -> fbm.vutbr.cz type = MX, class = IN, dlen = 11 MX preference = 10, mail exchanger = fbmexc.fbm.vutbr.cz ttl = 3600 (1 hour) ADDITIONAL RECORDS: -> fbmexc.fbm.vutbr.cz type = A, class = IN, dlen = 4 internet address = 147.229.123.46 ttl = 1200 (20 mins) Dotaz na poštovní server domény fbm.vutbr.cz Odpověď DNS serveru Pro ověřování funkčnosti DNS serveru slouží utilita nslookup Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 19 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • Základní principem výpočetního modelu host/terminal je: • aplikace běží na hostitelském serveru • terminál plní pouze funkce vstupu/výstupu (klávesnice, obrazovka) • Terminál může být připojen k hostitelskému serveru buď přímo (např. přes RS232), nebo vzdáleně přes počítačovou síť Vzdálený terminál - Telnet Pro vzdálené terminálové relace přes IP sítě se používá protokol TELNET (standardně server naslouchá na TCP portu 23) Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 20 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • TELNET je: • obecný univerzální protokol pro vedení terminálových relací • je nezávislý na operačním systému (relace mezi platformami) • nabízí jen jednoduché služby • podporuje pouze znakové rozhraní Telnet • Terminálové programy různých výrobců se mohou chovat různě, aby se vzájemně domluvily, musí všechny využívat společný pevně daný mezistupeň – virtuální terminál NVT (Network Virtual Terminal) • NVT specifikuje formát přenášených dat a minimum, které musí umět všechny terminály (vychází ze schopností dálnopisu): • data jsou přenášena po znacích (znak=1B), ale předpokládá se použití anglických ASCI znaků (7 bitů) s kódy 32-127 • data jsou členěna na řádky, řádek je zakončen dvojicí CR a LF • komunikuje se poloduplexně • používá se lokální echo - co se napíše na klávesnici se i zobrazí • Při navázání komunikace se však obě strany mohou domluvit na jiných podmínkách (pokud je umí) Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 21 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • Přenos souborů v sítích TCP/IP řeší FTP (File Transfer Protocol) – jednoduchý protokol určený pro model klient/server. • Zajištění potřebných funkcí je rozděleno mezi 2 subjekty: • interpret protokolu (PI – Protocol Interpreter) • trvale navázané spojení po celou dobu relace • používá se pro přenos řídících příkazů • používá protokol TCP • navázání spojení iniciuje vždy klient z libovolného portu na port 21 serveru • přenosový proces (DTP – Data Transfer Process) • spojení se navazuje jen při konkrétním požadavku na přenos souboru • je navázáno vždy jen na přenos jednoho souboru, poté se ukončí • používá protokol TCP • navázání spojení iniciuje server ze svého portu 20 na port klienta, který mu sdělí klient (existuje možnost pasive-mode, kdy na port 20 serveru navazuje spojení klient – obě strany to ale musí umožňovat) FTP Při navazování spojení se klient musí k serveru přihlásit pomocí jména a hesla, je definováno i anonymní přihlášení (s jménem anonymous, jako heslo se obvykle požaduje e-mailová adresa – kontroluje se přítomnost @) Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 22 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská • Protokol FTP je i přes svoji jednoduchost pro některé servery a klienty zbytečně složitý například pro: • natahování firmwaru do aktivních prvků počítačových sítí (switchů, firewallů, routerů, WiFi access pointů) • zavádění operačních systémů do bezdiskových stanic • Existuje proto i značně redukovaná verze pod názvem TFTP (Trivial File Transfer Protocol) • nezná pojem uživatele (neřeší problém přístupových práv) • používá protokol UDP (spolehlivost si zajišťuje TFTP sám) • data přenáší v blocích pevné délky 512 B • nezná příkazy práce s adresáři TFTP Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 23 Ing. Viktor Ondrák, Ph.D.
Počítačové sítěVUT v BrněFakulta podnikatelská SMTP TCP 25 POP3 TCP 110 IMAP4 TCP 143 Elektronická pošta Lekce 9 – Protokoly aplikační vrstvy TCP/IP strana 24 Ing. Viktor Ondrák, Ph.D.