Počítačové sítě
Dekompozice sítě na vrstvy 2
Komunikace mezi vrstvami 3
Standardizace sítí ISO = International Standards Organization Přesný název: Mezinárodní organizace pro normalizaci (anglicky International Organization for Standardization) Sídlo: Ženeva. Založena r. 1947 RS/OSI = Reference Model for Open Systems Interconnection Vytvořen v r. 1984 Referenční model ISO/OSI se používá jako názorný příklad řešení komunikace v počítačových sítích pomocí vrstevnatého modelu, kde jsou jednotlivé vrstvy nezávislé a snadno nahraditelné. 4
Základní pojmy RM-OSI Vrstva (layer) je dána vymezením funkcí. Každá vrstva kromě nejvyšší a nejnižší sousedí s bezprostředně vyšší a nižší vrstvou. Mezi nimi taky probíhá komunikace. Pouze nejvyšší vrstva má rozhrani s aplikací a nejnižší s fyzickým médiem. Entita (entity) je objekt, který v určité vrstvě vykonává nějakou činnost. Může to být hardware nebo software. Protokol (protocol) je sada dohodnutých pravidel, pomocí kterých mezi sebou komunikují entity v sobě si odpovídajících vrstvách. Služba (service). Jak už bylo řečeno entity vykonávají ve vrstvě určitou funkci. Využívají přitom služeb bezprostředně nižší vrstvy a poskytují přitom službu bezprostředně vyšší vrstvě. 5
Rozdělení služeb Spojované Navázání spojení a poté přenos dat od odesilatele k příjemci Zachované pořadí vysílaných a přijímaných zpráv Analogie: telefon Spolehlivé 100% záruka doručení zprávy Vyžaduje určitý systém potvrzování Pomalejší Služby Služby Nespojované Neexistuje stálé spojení mezi odesilatelem a příjemcem Data se rozdělují na části opatřené adresou, mohou putovat různými cestami Není zachované pořadí vysílaných a přijímaných zpráv Analogie: SMS Nespolehlivé <100% záruka doručení zprávy Bez systému potvrzování Rychlejší 6
Referenční model ISO/OSI 7 vrstev 7
Paralela mezi RM ISO/OSI a posíláním dopisů 8
TCP/IP vs. ISO/OSI 9
Fyzická vrstva (Physical Layer) Tato vrstva specifikuje bitový přenos z jednoho zařízení na druhé prostřednictvím fyzického média. Samotné fyzické médium není součástí vrstvy, v OSI modelu je pod touto vrstvou. Fyzická vrstva zajišťuje synchronizaci (synchronní vs. asynchronní komunikace) a multiplexing několik logických spojení lze realizovat jedním fyzickým médiem. Datové jednotky přenášené fyzickou vrstvou jsou bity. Tato vrstva je závislá technologicky (Ethernet, Token Ring, ATM, FDDI,...), ale protokolově (IP, IPX, Vines IP, XNS,...) je nezávislá! Prvky pracující na této vrstvě jsou opakovače a rozbočovače. Tyto prvky rozšiřují kolizní i broadcastovou doménu! 10
Linková vrstva (Link Layer) Někdy nazývána rovněž spojovou vrstvou Data jsou formátována do tzv. rámců (frames) o velikosti několika desítek bytů Rámce jsou opatřovány fyzickou adresou (MAC adresa) Linková vrstva je závislá technologicky ale nezávislá protokolově Na úrovní linkové vrstvy pracují např. můstky a přepínače 2 podvrstvy: MAC (Medium Access Control) fyzické adresování, řízení přístupu k médiu hardwarově závislá LLC (Logical Link Control) zajišťuje multiplexaci protokolů vysílaných na MAC vrstvu (vysílání) a demultiplexaci (příjem) realizuje řízení toku a zabezpečení proti chybám není hardwarové závislá 11
MAC (Media Access Control) adresa Jednoznačný identifikátor síťového adaptéru (karty) NIC (Network Interface Controller) Nazývá se rovněž fyzickou adresou, ale u moderních síťových karet ji lze přenastavit 48 bitů (6 bytů) Zapisuje buď jako 3 skupiny 4 hexadecimálních čísel: 0123.4567.89ab Nebo jako šestice dvojciferných hexadecimálních čísel s pomlčkami nebo dvojtečkami 01-23-45-67-89-ab 01:23:45:67:89:ab Každá dvojciferné hexadecimální číslo se převede na osmimístné dvojkové číslo: např. (23) 16 = (35) 10 = (00100011) 2 12
MAC (Media Access Control) adresa 1.část (3 byty): stejné pro stejného výrobce 2.část (3 byty): unikátní pro každé NIC První bit: 0 = Unicast (komunikace s jedním konkrétním uzlem) 1 = Multicast (komunikace se skupinou uzlů) ff-ff-ff-ff-ff-ff = Broadcast (všesměrová komunikace se všemi uzly sítě) 13
Síťová vrstva (Network Layer) Tato vrstva se stará o směrování v síti (routing) a síťové adresování. Poskytuje spojení mezi systémy, které spolu přímo nesousedí. Přenášení dat se děje v tzv. paketech Používá logické adresy (např. IP adresy) 2 části: identifikace sítě + identifikace konkrétního uzlu Protokoly této vrstvy musí zajistit konverzi MAC adresy a logické adresy Na síťové vrstvě pracují routery (směrovače), které propojují počítače mezi různými sítěmi. Technologicky nezávislá, protokolově závislá 14
Síťová vrstva (Network Layer) Síťová vrstva v určitém uzlu rozhodne o dalším směru, kterým by měl být konkrétní paket přenesen k některému ze sousedních uzlů. Poté jej předá své linkové vrstvě, která paket vloží do svého rámce a přenese k příslušnému sousednímu uzlu. Zde jej partnerská linková vrstva vybalí a předá datový paket své bezprostředně vyšší síťové vrstvě. Ta rozhodne, kterým směrem by měl být paket dále odeslán a vše se opakuje, dokud datový paket nedorazí ke svému konečnému cíli (viz obrázek). 15
Transportní vrstva (Transport Layer) Transportní vrstva se stará o rozsekání dat do paketů a na druhé straně o jejich opětovné vytažení z paketů složení do původní podoby. Jde o tzv. přizpůsobovací vrstvu, jejím hlavním úkolem je přizpůsobení možností tří nejnižších vrstev (síťové, linkové a fyzické) představám vyšších vrstev. Rozlišování různých příjemců a odesilatelů v rámci jednotlivých uzlů. Multiplexace a demultiplexace dat 16
Transportní vrstva (Transport Layer) Zajišťuje dva druhy služeb: spojově orientované (connection-oriented) služby nespojové (connectionless) služby Spojově orientované služby zajišťují spolehlivý přenos navázáním virtuálního spojení, výměnou informací o průběhu přenosu (potvrzováním příjmu rámců) a ukončení spojení. Na základě potvrzování je vysílající uzel schopen zopakovat ztracené nebo opožděné rámce. Konkrétním představitelem tohoto typu protokolů jsou SPX (Sequenced Packet Exchange) nebo TCP. Nespojové služby slouží k jednoduchému odeslání dat. Na této vrstvě neexistuje mechanismus kontroly spolehlivosti. Je ji nutno zajistit mechanismy vyšších vrstev. Typickým představitelem tohoto typu protokolů je UDP (User Datagram Protocol) Datové jednotky přenášené přenosovou vrstvou jsou TPDU (Transport Protocol Data Unit). U TCP protokolu je běžné označení TPDU segment, u UDP protokolu jde o user datagram. 17
Relační vrstva (Session Layer) Také označována jako spojová vrstva Relací (Session) je míněna doba, ve které spolu dva uzly komunikují. Smyslem vrstvy je organizovat a synchronizovat dialog mezi spolupracujícími relačními vrstvami obou systémů a řídit výměnu dat mezi nimi. Umožňuje vytvoření a ukončení relačního spojení, synchronizaci a obnovení spojení, oznamovaní výjimečných stavů. 18
Relační vrstva (Session Layer) Příklady protokolů spojové vrstvy : Network File System (NFS) Structured Query Language (SQL) Remote Procedure Call (RPC) AppleTalk Session Protocol (ASP) Digital Network Architecture Session Control Protocol (DNA SCP) Datové jednotky přenášené spojovou vrstvou jsou SPDU (Session Protocol Data Unit). 19
Prezentační vrstva (Presentation Layer) Presentační vrstva je zodpovědná za formátování a syntaxi dat. Různé systémy používají různé kódy pro presentaci znakových řetězců, čísel s plovoucí čárkou, apod. Presentační vrstva tedy zajišťuje převod datových struktur mezi syntaxí používanou na příslušném systému a syntaxí obecnou. Další funkcí presentační vrstvy je konverze přenášených dat do formátu srozumitelného pro přijímající zařízení. Příkladem pro tyto operace jsou např. šifrování /dešifrování a komprese/dekomprese dat, které mohou být realizovány touto vrstvou. Datové jednotky přenášené presentační vrstvou jsou PPDU (Presentation Protocol Data Unit). 20
Aplikační vrstva (Application Layer) Nejvyšší vrstva Poskytuje své služby přímo jednotlivým aplikacím Aplikační vrstva představuje okno, prostřednictvím kterého mohou uživatelé nebo aplikace vidět výsledky služeb zajišťovaných všemi předcházejícími vrstvami. Jde o vrstvu nejbližší uživateli, která na rozdíl od ostatních nezajišťuje služby pro vyšší vrstvu (žádnou již nemá). Příklady funkcí zajišťovaných touto vrstvou jsou souborové přenosy, sdílení zdrojů, přístup k databázím, prohlížení webových stránek, ovládání programů, apod. Datové jednotky přenášené aplikační vrstvou jsou APDU (Application Protocol Data Unit). 21