PB001: Úvod do informačních technologií Luděk Matýska a Eva Hladká Fakulta informatiky Masarykovy univerzity podzim 2015 evropský sociální fond v ČR EVROPSKÁ UNIE MINISTERSTVO ŠKOLSTVÍ, MLÁDEŽE A TĚLOVÝCHOVY OP Vzdělávání pro konkurenceschopnost INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 1/38 O Ú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í podzim 2015 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 2015 3 / 38 Ideální sítě Skutečné sítě • transparentní pro uživatele/aplikace • neomezená propustnost • žádné ztráty dat • zadne zadne zpožděni • zachovávají pořadí paketů • date nemohou být poškozena 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 2015 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 o 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 2015 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 Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 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ě a 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: Uvod do informačních technologií podzim 2015 7 / 38 Architektura počítačových sítí unii Kacni proto i Koly 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 kdy probíhá • definuje 9 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 o 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 2015 8 / 38 Architektura počítačových sítí • 7 vrstev, každá odpovídá za konkrétní funkcionalitu o 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 2015 9 / 38 Architektura počítačových sítí vysílání příjem vrstva: aplikační prezentační relační transportní síťová spojová fyzická i i 1 1 v A i i | | A i | | A i i | | A i i | | A 1 1 | | Y A 1 1 | | i < fyzický kanál Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 10 / 38 Architektura počítačových sítí rovnaní rCP/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 2015 11 / 38 Architektura počítačových sítí síťová vrstva 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 2015 12 / 38 Architektura počítačových sítí síťová vrstva • jednoznačné určení uzlu pomocí číselné adresy o adresa: 32 bitů (IPv6 128 bitů) • běžně se zapisuje dekadicky ve formátu: A.B.C.D a 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ěřová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 2015 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) o 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) PB001: Úvod do informačních technologií podzim 2015 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í: • 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 2015 15 / 38 Architektura počítačových sítí síťová vrstva merovaci scnemata • 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 2015 16 / 38 Architektura počítačových sítí síťová vrstva * ■ i ■ v ■ ■ bmerovaci scr íemata - pod rol Dneji 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 • 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 2015 17 / 38 Architektura počítačových sítí transportní vrstva E ransportní 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 2015 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 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 2015 19 / 38 Architektura počítačových sítí relační vrstva zení dialogu mezi koncovými účastníky o možnosti vedení dialogu • plně duplexní (v terminologii RM ISO/OSI: Two-Way-Simultaneous TWS) • poloduplexní (Two-Way-Alternate - 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: Uvod do informačních technologií podzim 2015 20 / 38 Architektura počítačových sítí relační vrstva Synchronizace (též checkpointing) • 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 2015 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 o 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 2015 22 / 38 Architektura počítačových sítí prezentační vrstva I Prezentační vrstva Hlavní úkol: konverze přenášených dat do jednotného formátu o 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 2015 23 / 38 Architektura počítačových sítí prezentační vrstva I 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 Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 24 / 38 Architektura počítačových sítí prezentační vrstva 1 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 Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 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 2015 26 / 38 Vybrané síťové aplikace • Jmenná služba - DNS o World Wide Web - HTTP • Elektronická pošta - SMTP • Přenos souborů - FTP • Multimediální přenosy - RTP, RTCP Luděk Matýska a Eva Hladká (Fl MU) PB001: Uvod do informačních technologií podzim 2015 27 / 38 Vybrané síťové aplikace Jmenná služba - DNS I menná sluz Da - 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 2015 28 / 38 Vybrané síťové aplikace Jmenná služba - DNS I menný Jmenný prostor « 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 2015 29 / 38 Vybrané síťové aplikace Jmenná služba - DNS I menny prostor Internetu 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 Domain-> Domain <-Domain Domain />; Domain Luděk Matýska a Eva Hladká (Fl MU) PB001: Uvod do informačních technologií podzim 2015 30 / 38 Vybrané síťové aplikace Jmenná služba - DNS I menný prostor Internetu 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 9 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 fhdřuedu^ Domain name I atc.fhda.edu. | Domain name Label) if challenger (J) | challenger.atc.fhda.edu. j Domain name Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 31 / 38 Vybrané síťové aplikace Jmenná služba - DNS omeny v interne menný prostor Internetu rozdělen na 3 základní typy domén: • základní (generic) domény • com, edu, gov, int, mil, net, org, ... o národní (country) domény • definují uzly podle příslušnosti ke státu • cz, sk, ca, us, jp, ... • reverzní (inverse) domény • 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 2015 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 Server .—=j Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 33 / 38 Vybrané síťové aplikace World Wide Web - HTTP } 1 33 i n r Co je to „hypertext"? Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 34 / 38 Vybrané síťové aplikace World Wide Web - HTTP Co je to „hypertext"? Computers f 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 I It is part of a computer that controls the flow of data. It can be RAM or ROM. It is used in a computer to store information. It is random access memory. RAM Control unit Memory It is read-only memory. ROM Site A Site B Site C Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 34 / 38 Vybrané síťové aplikace World Wide Web - HTTP Součástí požadavku je tzv. Uniform Resource Locator (URL) • standardní mechanismus pro specifikaci „čehokoliv" na Internetu • definuje zdroj, který chce klient získat 9 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)) Method URL Uniform resource locator Port / Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 35 / 38 Vybrané síťové aplikace World Wide Web - HTTP Základní kategorie WWW dokumentů: • statické - na serveru uložené dokumenty s pevným obsahem • např. HTML dokumenty o 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 9 např. JAVA aplikace Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 36 / 38 Vybrané síťové aplikace Přenos souborů - FTP ■^renos sou Doru - 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 O datové spojení (TCP, port 20) • otevíráno/zavíráno pro každý přenášený soubor User User interface Luděk Matýska a Eva Hladká (Fl MU) PB001: Uvod do informačních technologií podzim 2015 37 / 38 Vybrané síťové aplikace Přenos souborů - FTP 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 Control process Client ASCII Control connection Local code A Control process Server datová komunikace Local data type and structure File type, data structure, and transmission mode are defined by the client Local data type and structure Data transfer Data transfer -*—*- -*-* - -*—*~ process Data process Luděk Matýska a Eva Hladká (Fl MU) PB001: Úvod do informačních technologií podzim 2015 38 / 38