PBOOl: Uvod do informačních technologií Luděk Matýska a Eva Hladká Fakulta informatiky Masarykovy univerzity podzim 2014 Bvropský sociální fond v CR evropská unie IT*1* INVESTICE DO ROZVOJE VZDĚLÁVANÍ Luděk Matýska a Eva Hladká (Fl MU) PBOOl: Úvod do informačních technologií podzim 2014 1 / 38 0 Úvod 0 Architektura počítačových sítí • síťová vrstva • transportní vrstva • relační vrstva • prezentační vrstva • aplikační vrstva Q| Vybrané síťové aplikace • Jmenná služba - DNS • World Wide Web - HTTP • Přenos souborů - FTP Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií I podzim 2014 2 / 38 Úvod • skupina HW prostředků a počítačů propojených komunikačními kanály, které umožňují sdílení informací a zdrojů. Možné účely: • komunikace uživatelů (přenos textu, řeči, videa, atd.) • sdílení hardwarových zdrojů • sdílení dat a informací • poskytování softwarových služeb Základní vlastnosti počítačové sítě: • doručení dat (správnému příjemci) • správnost doručení (nepoškozená data) • včasnost doručení Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 3/38 Úvod Ideální sítě • transparentní pro uživatele/aplikace • neomezená propustnost • žádné ztráty dat • žádné žádné zpoždění • zachovávají pořadí paketů • date nemohou být poškozena Skutečné sítě • mají vnitřní strukturu, která ovlivňuje doručení dat • omezená propustnost • dochází ke ztrátám dat • data se variabilně zpožďují • pořadí paketů není garantováno • data mohou být poškozena Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 4/38 Úvod • efektivita - efektivní/maximální využití dostupné přenosové kapacity • spravedlivost - stejná priorita přístupu všech uživatelů ke všem datovým tokům • decentralizovaná správa • rychlá adaptace na nový stav topologie sítě • spolehlivost • řízení toku dat - ochrana proti zahlcení Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 5/38 Architektura počítačových sítí Základní přístupy Spojované sítě (přepínání okruhů) • komunikace ve dvou fázích: navázání spojení —> přenos dat • spojení (cesta sítí) je udržována během celé komunikace • síť udržuje stav - informace o vystavěných spojeních • „abstrakce drátu" • snadné zaručení kvality služby • např. analogové telefonní sítě Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 6/38 Nespojované sítě (přepínání paketů) • data rozdělena vysílající stranou na malé pakety (datagramy) • každý paket prochází sítí samostatně o pakety mohou přicházet v různém pořadí • přijímající strana pakety opět složí do původní podoby • není třeba uchovávat stav sítě, větší robustnost • velmi problematická implementace kvality služby • např. Internet Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 7/38 Architektura počítačových sítí Motivace: • forma komunikace/domluvy musí být předem známa všem zúčastněným stranám Komunikační protokol: • určuje co je předmětem komunikace, jak daná komunikace probíhá a kdy probíhá • definuje • syntax - strukturu/formát zasílaných dat • sémantiku - funkční význam zasílaných dat (jak mají být interpretována) • časování - kdy je třeba zaslat kterou správu • např. TCP, UDP, IP, IPv6, SSL, TLS, SNMP, HTTP, FTP, SSH, Aloha, CSMA/CD, ... Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 8/38 Architektura počítačových sítí • 7 vrstev, každá odpovídá za konkrétní funkcionalitu • každá vrstva komunikuje pouze se sousedícími vrstvami • využívá služeb nižších vrstev k poskytování svých služeb vyšším vrstvám • funkcionalita je izolována v rámci vrstvy • logicky se komunikace odehrává mezi stejnými vrstvami komunikujících stran, fyzicky prochází všemi nižšími vrstvami • vrstvy popisují pouze abstrakci, skutečné implementace se mohou odlišovat Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 9/38 Architektura počítačových sítí Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 10 / 38 Architektura počítačových sítí /IP s ISO/OSI ISO/OSI aplikační prezentační relační transportní síťová spojová fyzická TCP/IP aplikační transportní internetová (IP) síťové rozhraní Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 11 / 38 Cíl: propojování lokálních sítí do velkých, komplexních sítí (internet) Internet protokol (IP): • odpovídá za dopravu dat mezi uzly • nespojovaná komunikace: základní jednotkou přenosu paket • zajišťuje směřování paketů v síti • jednoznačná identifikace (adresace) každého zařízení • metody základního monitoringu sítě Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 12 / 38 • jednoznačné určení uzlu pomoci číselné adresy • adresa: 32 bitů (IPv6 128 bitů) • běžně se zapisuje dekadicky ve formátu: A.B.C.D • zleva hierarchická: 147.251.48.1 Typy adres: • individuální (unicast) • broadcast - slouží k zaslání dat všem uzlům v dané LAN • skupinové (multicast) - data směrována příjemcům, kteří o ně projevili zájem Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 13 / 38 Architektura počítačových sítí síťová vrstva Proč nový protokol? • relativně rychlé vyčerpání adresního prostoru IPv4 • potřeba podpory aplikací reálného času, zabezpečení, autokonfigurace, mobility Vlastnosti: • větší adresní prostor - 128 bitů (hexadecimální zápis) • rozšířitelný - rozšiřující hlavičky • podpora přenosů v reálném čase - prioritizace provozu • podpora zabezpečení přenosu - autentizace, šifrování provozu ... • podpora mobility pomocí domácích agentů • podpora autokofigurace Luděk Matýska a Eva Hladká (Fl MU) PBOOl: Úvod do informačních technologií podzim 2014 14 / 38 Cíl: dopravit paket skrz síť od vysílače k přijímači • v podstatě grafový problém: síť jako graf • algoritmy nalezení cesty mezi dvěma uzly grafu • uzly znají cestu (explicitně, či implicitně) • podle cílové adresy rozhodují uzly, kam poslat paket dále Dvě fáze směrování: o nalezení směrovacích tabulek • vlastní zasílání datových paketů Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 15 / 38 Architektura počítačových sítí síťová vrstva • distribuované X centralizované • „krok za krokem" X zdrojové • deterministické X stochastické • jednocestné X vícecestné • dynamické X statické Protokoly používané v Internetu jsou označeny červeně. Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 16 / 38 Architektura počítačových sítí síťová vrstva Směrovací schémata - podrobněji Statické algoritmy • jednorázové (často ruční) tabulky • vhodné pro statickou topologii Dynamické algoritmy • tabulky aktualizovány v reakci na změny v topologii • robustní Centralizované algoritmy • stav sítě se posílá do centra o centrum spočte tabulky a zasílá je zpět uzlům Distribuované algoritmy • vzájemná kooperace uzlů při vytváření tabulek Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 17 / 38 Architektura počítačových sítí transportní vrstva Transportní vrstva Pojem portu • Více aplikací na jednom stroji: nutná jemnější adresace • Port: adresa poskytované služby UDP protokol • Pouze nezaručený přenos • Datagramy jsou zasílány do sítě bez další kontroly • Žádná garance ani kontrola doručení TCP (Transmition Control Protokol) • Staví „spojovanou" službu nad IP • Iniciace spojení • Garantovaný přenos • Schopen reagovat na zahlcení (zpomalí a znovu postupně „přidává") • Hlavní přenosový protokol na Internetu Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 18 / 38 Relace (též dialog): • spojení mezi dvěma koncovými účastníky na úrovni bezprostředně vyšší, než je vrstva transportní • analogie telefonního hovoru O je potřeba jej vytočit — analogie transportního spojení Q pak je možné jeho prostřednictvím vést hovor (— relaci) dvou účastníků Vztah relačního a transportního spoje: • jedno transportní spojení může zajišťovat dvě nebo více po sobě jdoucích relací • více transportních spojení může zajišťovat jednu relaci Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 19 / 38 Řízení dialogu mezi koncovými účastníky • možnosti vedení dialogu • plně duplexní (v terminologii RM ISO/OSI: Two-Way-Simultaneous-TWS) • poloduplexní (Two-Way-Altemate - TWA) • simplexní (One-Way) • poloduplexní režim řízen prostřednictvím mechanismu předávání pověření k přenosu dat (data token) Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 20 / 38 Architektura počítačových sítí relační vrstva Synchronizace (též checkpointing) o situace: • příjemcem dat je počítač, který přijatá data tiskne na tiskárně • dojde k dočasné poruše tiskárny (např. zaseklý papír) • příjemce může přijít o určitý objem dat, které jinak v pořádku přijal (tj. které byly transportní vrstvou bezchybně doručeny) - je potřeba vrátit se „o kousek zpět" a ztracená data přenést znovu • řešeno mechanismem kontrolních bodů (synchronization points, checkpoints) • příjemci umožňují, aby si na vysílajícím vyžádal návrat k zadanému kontrolnímu bodu (nové vyslání dat) • zavedeny dva druhy kontrolních bodů - hlavní (major) a vedlejší (minor) Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 21 / 38 Architektura počítačových sítí relační vrstva Relační vrstva ISO/OSI není v TCP/IP modelu uplatněna: • TCP/IP nabízí pouze přenosové služby na úrovni transportní vrstvy • potřebuje-li některá aplikace služby obecnějšího charakteru (ala relační vrstva), musí si je realizovat sama Příklady „protokolů relační vrstvy": • SSL, Secure Sockets Layer • SDP, Sockets Direct Protocol • RPC, Remote Procedure Call Protocol • NetBIOS, Network Basic Input Output System • H.245, Call Control Protocol for Multimedia Communication • ASP, AppleTalk Session Protocol Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 22 / 38 Hlavní úkol: konverze přenášených dat do jednotného formátu • různé architektury se liší ve vnitřní reprezentaci dat (kódování znaků, čísel, atp.) • EBCDIC kód (střediskové počítače firmy IBM) vs. ASCII kód pro kódování znaků • jedničkový doplňkový kód (CBC Cyber) vs. dvojkový doplňkový kód (většina ostatních PC) pro reprezentaci celých čísel • Little Endian (mikropočítače Intel, PDP-11) vs. Big Endian (počítače řady IBM 360/370, mikroprocesory firmy Motorola) • dosažení jednotné interpretace dat na obou komunikujících stranách • vzájemné přímé přizpůsobení stylu „každý s každým" (v závislosti na komunikujícím partnerovi) • převod do společného „mezitvaru" Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 23 / 38 Prezentační vrstva využíva společného mezitvaru • pro popis přenášených dat využit jazyk ASN.l (Abstract Syntax Notation version 1) • aplikace prezentační vrstvě předává data + jejich popis v jazyce ASN.l • nutnost domluvy na vzájemném kontextu • definuje, jaké struktury budou přenášeny a jaká bude jejich přenosová syntaxe Další možné služby prezentační vrstvy: • šifrování • komprese Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 24 / 38 • v TCP/IP modelu se předpokládá, že úkoly prezentační vrstvy si zajistí sama aplikace • příklady „protokolů prezentační vrstvy": • AFP, Apple Filing Protocol • ASCII, American Standard Code for Information Interchange • EBCDIC, Extended Binary Coded Decimal Interchange Code • LPP, Lightweight Presentation Protocol • NDR, Network Data Representation • XDR, eXternal Data Representation • X.25 PAD, Packet Assembler/Disassembler Protocol Luděk Matýska a Eva Hladká (Fl MU) PBOOl: Úvod do informačních technologií podzim 2014 25 / 38 Architektura počítačových sítí aplikační vrstva Poskytuje služby pro uživatele: • aplikační programy (aplikace) specifické pro požadovaný účel • např. elektronická pošta, WWW, DNS, atd. atd. • aplikace = hlavní smysl existence počítačových sítí Zahrnuje sítové aplikace/programy a aplikační protokoly: • aplikační protokoly (HTTP, SMTP, atd.) jsou součástí síťových aplikací (web, email) • nejedná se o aplikace samotné • protokoly definují formu komunikace mezi komunikujícími aplikacemi • aplikační protokoly definují: • typy zpráv, které si aplikace předávají (request/response) • syntaxi přenášených zpráv • sémantiku přenášených zpráv (jednotlivých polí) • pravidla, kdy a jak aplikace zprávy vysílají Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 26 / 38 Vybrané síťové aplikai • Jmenná služba - DNS • World Wide Web - HTTP • Elektronická pošta - SMTP • Přenos souborů - FTP • Multimediální přenosy - RTP, RTCP i Hladká (Fl MU) PB001: Uvod do informačních techn Vybrané síťové aplikace Jmenná služba - DNS Domain Name System (DNS) - služba pro překlad doménových jmen na IP adresy a zpět • např. aisa.fi.muni.cz 147.251.48.1 V začátcích Internetu řešeno za pomocí tzv. host souborů • soubory s dvojicemi doménové jméno, IP adresa • neškálovatelné řešení • s růstem Internetu nemožné mít tyto soubory (obsahující doménová jména celého Internetu) na každém uzlu • navíc v nich vyhledávat, aktualizovat, .. . Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 28 / 38 Vybrané síťové aplikace Jmenná služba - DNS Jmenný prostor fa způsob pojmenování předmětných entit • 2 základní varianty: • plochý jmenný prostor - jména bez jakékoliv vnitřní struktury • např. mujRouterDomaVBrne • hlavní nevýhoda: nemožnost využití ve velkém systému (nutnost centrální kontroly pro zamezení duplicit) • hierarchický jmenný prostor - jména s hierarchickou vnitřní strukturou • jména sestávají z několika částí, každá s definovaným významem • napr.mujRouter.DomaVBrne.cz • hlavní výhoda: možnost decentralizace správy (přidělování a kontroly) jmen (zodpovědnost vždy za určitou (pod)část doménového jména) Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 29 / 38 Vybrané síťové aplikace Jmenná služba - DNS Doménový jmenný prostor (Domain Name Space) • varianta hierarchického uspořádání (stromová struktura) • maximální počet úrovní: 128 • Doména - podstrom doménového jmenného prostoru • jménem domény je doménové jméno jejího kořenového uzlu Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 30 / 38 Vybrané síťové aplikace Jmenná služba - DNS H Každý uzel je charakterizuje: • label - řetězec (max. 63 znaků) popisující daný uzel • jmenovka kořenového uzlu je prázdný řetězec • domain name - sekvence jmenovek (oddělená znakem „.") od daného uzlu ke kořenovému • plné doménové jméno vždy končí znakem „." I atc.fhda.edu. | Domain name (Tabel) v challenger^ I^Taüenge^atc^flida^duJ Domain i Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 31 / 38 Vybrané síťové aplikace Jmenná služba - DNS Jmenný prostor Internetu rozdělen na 3 základní typy domén: • základní (generic) domény • com, edu, gov, int, mil, net, org, ... • národní (country) domény • definují uzly podle příslušnosti ke státu • cz, sk, ca, us, jp, ... • reverzní (inverse) domény a slouží pro mapování IP adres na doménová jména • struktura: převrácená IP adresa + identifikátor in-addr (inverse address) (IPv4) nebo ip6 (IPv6) + identifikátor arpa (z historických důvodů) Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 32 / 38 HyperText Transfer Protocol (HTTP) - protokol pro přístup k datům na World Wide Webu (WWW) • přenášená data mohou být ve formě textu, hypertextu, audia, videa, atp. • základní idea: klient vysílá požadavek, WWW server zasílá odpověď • komunikace TCP protokolem na portu 80 Client Server This is a request. This is a response. Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 33 / 38 Vybraná síťové aplikace World Wide Web - HTTP Hypertext Co je to „hypertext"? Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií I podzim 2014 34 / 38 Vybraná síťová aplikace World Wide Web - HTTP World Wide Web - HTTP Hypertext Co je to „hypertext"? Computers It is used to do mathematical and logical calculation. (,ľU A computer is a digital electronic machine made of a CPU, a control unit, and memory. T It is part of a computer that controls the flow of data. Control unit It can be RAM or ROM. It is used in a computer to store information. Memory It Is random access memory. It Is read-only memory. h, a. Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 34 / 38 Vybraná síťové aplikace World Wide Web - HTTP World Wide Web - HTTP Uniform Resource Locator (URL) Součástí požadavku je tzv. Uniform Resource Locator (URL) • standardní mechanismus pro specifikaci „čehokoliv" na Internetu • definuje zdroj, který chce klient získat • součástí URL je: • method- metoda (protokol), který má být využit pro přístup k odkazovanému zdroji • host - uzel, kde se odkazovaná informace nachází (kde má být vyhledána) • port - volitelná součást, pokud je využit jiný než standardní port • path - cesta, kde se odkazovaná informace nachází (+ případně další informace (parametry)) URL Uniform resource locator Method :// Host Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 35 / 38 Vybraná síťové aplikace World Wide Web - HTTP ES3 Základní kategorie WWW dokumentů: • statické - na serveru uložené dokumenty s pevným obsahem • např. HTML dokumenty • dynamické - neexistují v předem definovaném formátu; jsou tvořeny webovým serverem dle požadavků klienta • např. CGI skripty • aktivní- serverem poskytnuté programy spouštěné na straně klienta • např. JAVA aplikace Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 36 / 38 Vybrané síťové aplikai File Transfer Protocol (FTP) - standardní mechanismus Internetu určený pro přenos souborů mezi uzly • oproti jiným klient-server aplikacím FTP klient s FTP serverem ustavuje dvě samostatná TCP spojení • řídící zprávy zasílány tzv. out-of-band O řídící spojení (TCP, port 21) • udržováno po celou dobu ustavené relace Q datové spojení (TCP, port 20) • otevíráno/zavíráno pro každý přenášený soubor T Control process Data transfer process Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 37 / 38 Přenos souborů - FTP Řídící vs. datová komunikace • řídící komunikace - přenos požadavků klienta a odpovědí serveru • domluva na parametrech spojení • typ souboru (textový vs. binární), vnitřní struktura souboru (obvykle bez struktury) a přenosový mód (proudový, blokový, komprimovaný) • nezbytné pro překonání heterogenity komunikujících stran Local code Loral code Control proľess Client Control co line ľ Li uii Control process SlTYi'l- • datová komunikace I .oral data type and structure File type, data structure, and transmission mode are defined hy the elienr Data transfer process Client Local data type and structure Data transfer process Server Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2014 38 / 38