PB001: Uvod do informačních technologií Luděk Matýska Přednášející: Eva Hladká Fakulta informatiky Masarykovy univerzity podzim 2013 INVESTICE DO ROZVOJE VZDĚLÁVÁM Luděk MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 1 / 38 Q Úvod O 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií I podzim 2013 2 / 38 • skupina HW prostředků a počítaču 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 3/38 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 4/38 • 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 5/38 Architektura počítačových sítí 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 6/38 Architektura počítačových sítí 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 7/38 Architektura počítačových sítí ;o 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 9/38 vysílání příjem f data j ( data 1 vrstva: i i aplikační i i * Á prezentační 1 iř 1 1 A 1 relační 1 * 1 1 A. 1 transportní 1 * 1 1 Á 1 síťová 1 * 1 1 Á 1 spojová ' Ý ' 1 Á 1 fyzická t fyzický kanál Luděk MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 10 / 38 Architektura počítačových sítí ISO/OSI TCP/IP aplikační prezentační relační transportní síťová spojová fyzická aplikační transportní internetová (IP) síťové rozhraní Luděk MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 13 / 38 Architektura počítačových sítí sítová 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 15 / 38 • 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 16 / 38 Architektura počítačových sítí sítová vrstva 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 17 / 38 Architektura počítačových sítí 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 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í O 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 19 / 38 Architektura počítačových sítí Ří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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 20 / 38 Architektura počítačových sítí 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 22 / 38 Architektura počítačových sítí prezentační vrstva 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 23 / 38 Architektura počítačových sítí prezentační vrstva Prezentační vrstva využívá 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 24 / 38 Architektura počítačových sítí prezentační vrstva • 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 MatyskaPřednášející: Eva Hladká (Fl I PBOOl: Úvod do informačních technologií podzim 2013 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 26 / 38 Vybrané sítové aplika' • Jmenná služba - DNS » World Wide Web - HTTP • Elektronická pošta - SMTP • Přenos souborů - FTP • Multimediální přenosy - RTP, RTCP Luděk MatyskaPřednášející: Eva Hladká (Fl I PB001: Uvod do informačních technologií 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 o 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 28 / 38 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 29 / 38 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 30 / 38 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 „." Root Domain name Luděk MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 31 / 38 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 o 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 32 / 38 Vybraná síťové aplikace World Wide Web - HTTP 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 33 / 38 Vybraná síťové aplikace World Wide Web - HTTP World Wide Web - HTTP Hypertext Co je to „hypertext"? Luděk MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 34 / 38 Vybraná síťová aplikace World Wide Web - HTTP TTP Hypertext Co je to „hypertext"? Computers It is used to do mathematical and logical calculation. CPU 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. It Is random access memory. RAM Memory It is read-only memory. ROM Luděk MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 34 / 38 Vybraná síťové aplikace World Wide Web - HTTP Vorld Wide Web - HTTP niform 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 35 / 38 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 MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 36 / 38 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 Usel i User interface Client Server Luděk MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 37 / 38 ma 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 Local code Control process Control connection Control process • datová komunikace Local data type and structure File type;, data structure, and transmission made are defined by the client Local data type and sLruclure Luděk MatyskaPřednášející: Eva Hladká (Fl I PB001: Úvod do informačních technologií podzim 2013 38 / 38