Systémy pro sběr a přenos dat model ISO/OSI, funkce vrstev základní typy datových přenosů sdílení kapacity kanálu adresace a řízení přístupu k médiu spolehlivý a nespolehlivý kanál spojovaná a nespojovaná služba
Referenční model ISO/OSI (Open System Interconnection) Definován standardem ISO 7498-1 první vydání je již z roku 1984 Obecný rámec pro návrh protokolů distribuovaných systémů, do nějž jsou zasazována jednotlivá konkrétní řešení některá řešení byla navrhována s jeho využitím jiná nikoliv (např. protokoly TCP/IP), ale dnes se je lépe či hůře snažíme tímto rámcem popisovat Hlavním cílem je umožnit snadné propojování distribuovaných systémů heterogenní systémy Definuje sedmivrstvý protokolový zásobník jednotlivé vrstvy poskytují daný typ služeb je definován způsob interakce mezi vrstvami
Dělení funkcí do vrstev implementovat funkční síť je hodně složité a náročné stejná situace jako při řešení velkých SW celků jde o jeden velký problém, který se vyplatí dekomponovat rozdělit na menší části, které je možné řešit samostatně zde: dekompozice se provede po hierarchicky uspořádaných vrstvách dobře to odpovídá povaze řešeného problému přináší to i další výhody možnost alternativních řešení na úrovni nižších vrstev větší modulárnost
Dělení funkcí do vrstev Vrstva N poskytuje služby vrstvě N+1 Mezi odpovídajícími si vrstvami různých uzlů vznikají virtuální kanály uzel A aplikační data uzel B L3 CI L3 data vrstva 3 VC3 vrstva 3 vrstva 2 L2 CI VC2 L2 data vrstva 2 vrstva 1 L1 CI L1 data VC1 ~ fyzický kanál vrstva 1 fyzický kanál
Referenční model ISO/OSI Počet vrstev byl předmětem sporů dnes se zdá 7 vrstev příliš Kritérii bylo: činnosti na stejném stupni abstrakce ve stejné vrstvě minimalizace datových toků mezi vrstvami aplikovatelnost na významné existující standardy (X.25) Aplikační vrstva Prezentační vrstva Relační vrstva Transportní vrstva Síťová vrstva Spojová vrstva Fyzická vrstva
Fyzická vrstva Zabývá se výhradně přenosem bitů (symbolů) otázkami typu kódování, modulace, časování, synchronizace, elektrické parametry signálů, konektory, řídicí signály rozhraní,... Nabízí služby typu přijmi bit, odešli bit Nijak neinterpretuje to, co přenáší jednotlivých bitům nepřisuzuje žádný specifický význam Na úrovni fyzické vrstvy se rozlišuje: paralelní a sériový přenos synchronní, asynchronní a arytmický přenos přenos v základním a přeloženém pásmu Příklady standardů fyzické vrstvy: RS-232, RS485 IEEE802.3, IEEE802.11
Spojová (linková) vrstva Přenáší celé bloky dat - rámce (frames) Zajišťuje přenos pouze v dosahu přímého spojení bez přestupních stanic Může fungovat spolehlivě či nespolehlivě, spojovaně či nespojovaně Může využívat různé technologie fyzické vrstvy linkové i bezdrátové Hlavní úkoly jsou: synchronizace na úrovni rámců správné rozpoznání začátku a konce rámce, i všech jeho částí zajištění spolehlivosti detekce chyb a náprava řízení toku aby vysílající nezahltil příjemce přístup ke sdílenému médiu řeší konflikty při vícenásobném přístupu ke sdílenému médiu
Síťová vrstva Přenáší bloky dat označované jako pakety (packets) Zajišťuje doručení paketů až ke konečnému adresátovi v prostředí, kde není přímé spojení, hledá vhodnou cestu až k cíli zajišťuje tzv. směrování(routing) mezi sítěmi Musí si uvědomovat skutečnou topologii celé sítě (obecně) Může používat různé algoritmy směrování: adaptivní, neadaptivní izolované, distribuované Je poslední vrstvou, kterou musí mít přenosová infrastruktura (s výhradou velmi jednoduchých systémů) není např. u většiny průmyslových distribuovaných systémů Asi nejrozšířenější implementací síťového protokolu je protokol IP podporovaný protokoly pro komunikaci mezi směrovači
Transportní vrstva Existuje proto, že často nelze měnit vlastnosti a funkce nižších vrstev třeba proto že patří někomu jinému Vyšší vrstvy mohou mít jiné požadavky na charakter komunikace, než jaký nabízejí nižší vrstvy Úkolem transportní vrstvy zajistit potřebné přizpůsobení! Protokoly transportní vrstvy jsou implementovány pouze v koncových účastnících Transportní vrstva může měnit: nespolehlivý charakter přenosu na spolehlivý méně spolehlivý přenos na více spolehlivý nespojovaný přenos na spojovaný
Relační vrstva Zajišťuje sestavení, řízení a zrušení relací má smysl pouze pro spojovanou komunikaci Dále může zajišťovat: synchronizaci šifrování podpora transakcí atd.
Presentační vrstva Nižší vrstvy se snaží doručit každý bit přesně tak, jak byl odeslán Stejná posloupnost bitů může mít pro příjemce jiný význam než pro odesilatele, např. kvůli kódování znaků (ASCII, EBCDIC,...) formátu čísel formátu struktur, polí ukazatelům (pointerům) atd. Prezentační vrstva má na starosti potřebné konverze
Aplikační vrstva původní představa: bude obsahovat aplikace problém: aplikací je moc, musely by být všechny standardizovány to nejde stihnout nemělo by to ani smysl později: aplikační vrstva bude obsahovat pouze jádro aplikací, které má smysl standardizovat například přenosové mechanismy el. pošty služby pro přístup k objektům distribuovaným v síti ostatní části aplikací (typicky: uživatelská rozhraní) byly vysunuty nad aplikační vrstvu
Základní typy datových přenosů Podle směru přenosu jednosměrný simplex V P obousměrný střídavý poloviční duplex half-duplex V/P V/P obousměrný současný plný duplex full-duplex V/P V/P
Základní typy datových přenosů Podle počtu současně využitých kanálů sériový bity (symboly) jsou přenášeny v čase postupně 1 0 0 1 1 1 0 1 0 0 1 0 0 1 paralelní bity (symboly) jsou přenášeny v čase po skupinách 1 0 0 1 1 1 0 1 0 0 1 0 0 1
Základní typy datových přenosů Podle způsobu synchronizace (v základním pásmu) paralelní synchronní přenos paralelní asynchronní přenos
Základní typy datových přenosů Podle způsobu synchronizace (v základním pásmu) sériový asynchronní (arytmický) přenos start bit LSB Data MSB PAR stop bit sériový synchronní přenos buď vyhrazený kanál pro přenos hodin častěji je synchronizační signál zakódován přímo do datové posloupnosti (kanálová kódování např. Manchester) stačí jediný kanál je třeba vyšší šířka pásma technicky složitější synchronizace přijímače
Základní typy datových přenosů Podle využitého frekvenčního pásma výkonová spektrální hustota základní pásmo výkonová spektrální hustota přenesené pásmo 0 frekvence 0 frekvence Přeložené pásmo se používá, protože: umožňuje efektivní využití kapacity kanálu automaticky v sobě zahrnuje frekvenční multiplex je typické pro rádiové přenosy, ale využívá se i jinde PLC komunikace, xdsl digitální kabelové rozvody
Sdílení kapacity kanálu Metody umožňující rozdělit jeden fyzický kanál na více kanálů logických multiplexování Frekvenční multiplex (FDM) šířka pásma fyzického kanálu je rozdělena na požadovaný počet subkanálů využití subkanálu lze dosáhnout vhodnou modulační technologií může být jiná pro jednotlivé subkanály překrývání spekter sousedních subkanálů komplikuje demodulaci mezery mezi nimi snižují přenosovou kapacitu rozhlas, ADSL + ISDN t C k 1 k 2 k 3 k 4 f
Sdílení kapacity kanálu Frekvenční multiplex v optických přenosech elektrické multiplexování vše se realizuje elektricky a výsledným součtovým signálem se moduluje zdroj záření vyžaduje vysokou linearitu zdroje optické multiplexování (vlnový multiplex - WDM) modulátor optický zdroj vlnový multiplexor vlnový demultiplexor optický detektor 1 1 M 1 λ 1 světlovodné vlákno n M n n λ n
Sdílení kapacity kanálu Časový multiplex (TDM) kapacita kanálu je postupně využívána pro přenos dat jednotlivých subkanálů obvykle konstantní přiřazení časových slotů typické pro telekomunikační sítě např. rozhraní typu E1 2 Mbit/s, 32 subkanálů po 64 kb/s C k 1 k 2 k 3 k 4 4 3 2 1 f t
Sdílení kapacity kanálu Statistický časový multiplex v případě, kdy je konstantní přiřazení časových slotů neefektivní např. multiplexování programových toků v DVB v principu se používá téměř ve všech distribuovaných systémech (pouze se tak neoznačuje) má dodatečnou režii spojenou s identifikací jednotlivých subkanálů přímo souvisí s přístupovými metodami C k 1 k 2 k 3 k 4 t f
Sdílení kapacity kanálu Kombinovaný časový a frekvenční multiplex spojuje obě metody typickým příkladem jsou sítě GSM k 1 k 2 k 3 k 4 C f t
Sdílení kapacity kanálu Kódový multiplex (CDM) modifikace vybraného parametru signálu podle předem daného (obvykle pseudonáhodného kódu) tzv. rozprostření spektra jednotlivé kanály tak v tomtéž čase sdílejí frekvenční pásmo dekódování je založeno na ortogonalitě pseudonáhodných sekvencí typické příklady jsou WiFi, Bluetooth C f t
Sdílení kapacity kanálu Prostorový multiplex (SDM) tento pojem se používá poměrně zřídka je založen na omezeném prostorovém dosahu tzn. umožňuje současné využití téhož frekvenčního pásma a kódu v jiné lokalitě typický především v rádiových C systémech C t v principu i metalické vedení s či optické vlákno 1 t f s přeslech při špatném 2 f multiplexování C t s 3 f
Topologie fyzické vrstvy sběrnice, hvězda, kruh, strom existují i další topologie (strom-hvězda, mříž..) některé jsou využívány pouze ve specielních aplikacích T T
Adresace na linkové vrstvě Adresace uzlů (node oriented addressing) MAC adresa specifikuje, komu je linkový rámec určen a kdo je odesilatelem v některých systémech stačí pouze adresa příjemce (řízení Master Slave) některé adresy či jejich rozsahy mohou být vyhrazeny pro zvláštní účely (broadcast, multicast, adresace v síťové vrstvě ) Adresace zpráv (message oriented addressing) typická pro systémy, kde jsou rámce vysílány do sítě (broadcast) identifikuje obsah rámce (často se proto nazývá identifikátor) neříká nic o příjemci tím jsou obvykle všechny uzly sítě, které mají o data v rámci zájem všechny uzly tedy přijímají současně
Řízení přístupu k médiu Jedná se vlastně o řízené sdílení komunikačního kanálu obvykle časové časové sloty však nejsou obvykle přiřazeny konstantně Současný přístup více uzlů vede ke kolizi důsledkem je ztráta přenášené informace Obecně existují dva základní přístupy deterministické zde kolize vůbec nenastávají stochastické (náhodné) kolize nastat může a protokol s ní počítá někdy se přidává další kategorie, a to pro systémy využívající CDMA, které do určitého bodu (počtu současně vysílajících uzlů) pracují deterministicky, při jeho překročení již vznikají kolize (nežádoucí režim)
Řízení přístupu k médiu Deterministické metody Master-Slave vyhrazený uzel (Master) se dotazuje uzlů typu Slave ty nesmí samostatně vysílat komunikace probíhá pouze mezi uzlem Master a jednotlivými uzly typu Slave nevýhodami jsou závislost komunikačního cyklu na počtu uzlů závislost na výpadku uzlu Master výhodou je velmi jednoduchá implementace často využívá především u systémů s nižší datovou propustností a tam, kde daný typ komunikace odpovídá požadavkům aplikace průmyslové distribuované systémy
Řízení přístupu k médiu Deterministické metody Token Passing jednotlivé uzly jsou rovnocenné oprávnění k vysílání má pouze držitel pověření (token) to si uzly předávají v kruhu mezi sebou vlastnictví pověření je obvykle časově omezeno nevýhodami jsou obvykle dlouhý čas na zformování kruhu při ztrátě pověření nebo při spuštění sítě výhodou je nezávislost na jediném uzlu TDMA přesně určené časové sloty využívá se v aplikacích s vysokými nároky na bezpečnost X by wire
Řízení přístupu k médiu Deterministické metody Delegated Token opět existuje vyhrazený uzel někdy se nazývá arbitr (bus arbiter) vysílání specielní výzvy, umožňující ostatním uzlům vyslat rámec nebo rámce přijímat mohou současně všechny uzly sítě (využívá se adresace zpráv, adresa je součástí pověření) nevýhodami jsou závislost na uzlu arbitra výhodou je současný příjem zpráv všemi uzly
Řízení přístupu k médiu Stochastické metody jedním z nejstarších byl protokol ALOHA (universita Hawai) dnes se využívají různé varianty CSMA (Carrier Detect Multiple Access) uzly jsou obvykle rovnocenné chtějí-li začít vysílat, čekají na volný kanál (CS) a poté mohou začít vysílat může dojít ke kolizi ta se může rozpoznat nebo nikoliv (pak jsou data na této vrstvě ztracena) CSMA/CD ( with Collision Detection) kolize jsou detekovány a po uplynutí náhodné doby lze pokus o vysílání zopakovat
Řízení přístupu k médiu Stochastické metody CSMA/CR ( with Collision Resolution) kolize nejsou destruktivní a slouží k arbitráži mezi současně vysílanými rámci rámec s nejvyšší prioritou je odvysílán, ostatní pokus opakují typické pro sběrnici CAN CSMA/CA ( with Collision Avoidance) převážně v bezdrátových sítích zde nemusí být kolize rozpoznána po detekci volného kanálu se čeká po náhodnou dobu a pokud je kanál ještě volný, uzel smí vysílat často se kombinuje s tzv. rezervací kanálu uzel si rezervuje určitou dobu pro své vysílání, ostatní předpokládají, že je po tuto dobu obsazen (např. WiFi)
Spolehlivá a nespolehlivá služba Spolehlivá služba zabezpečuje kompletní doručení všech rámců či paketů provádí kontrolu správnosti obsahu s využitím redundantních informací při zjištění chyb se přenos opakuje počet opakování je obvykle omezen příkladem je USB (všechny typy přenosů mimo isochronního) Nespolehlivá služba doručení všech rámců či paketů není zaručeno může provádět kontrolu správnosti obsahu při zjištění chyb se data zahodí přenos se neopakuje příkladem je Ethernet
Zabezpečení vůči chybám Slouží pro detekci případně korekci chyb detekce se využívá tam, kde je nízká pravděpodobnost vzniku chyb v případě detekce chyby se přenos obvykle opakuje korekce tam, kde buď nelze chybný přenos opakovat isochronní vysílání (např. DVB, radiotelekomunikační spoje) nebo je taková chybovost kanálu, že by byla velmi nízká propustnost např. PLC, komunikace s družicemi
Zabezpečení vůči chybám Detekce chyb rámce parita kontrolní součet (CRC, suma mod 256 apod.) CRC se počítá jako zbytek po dělení binárních polynomů existují standardní polynomy pro 16 a 32 bitové CRC důležitá je jejich Hammingova vzdálenost Korekce chyb rámce (FEC Forward Error Correction) různé kódy podle charakteru dat blokové (Reed-Solomonovy, BCH,..) proudové (především konvoluční) často kombinováno s prokládáním vyšší odolnost vůči skupinovým chybám
Spojovaná a nespojovaná služba Nespojovaná služba před vysláním dat není třeba budovat spojení s druhou stranou zcela nezávisle jsou odesílány jednotlivé pakety ty mohou k cíli dorazit různými cestami může dojít k prohození pořadí při příjmu Spojovaná služba nejprve je třeba otevřít spojení s druhou stranou poté lze odesílat data často existuje mechanismus na řízení datového toku v případě prohození pořadí paketů v nižších vrstvách protokolů je zajištěno jeho obnovení
Přepínání okruhů X přepínání paketů Přepínání okruhů (circuit switching) příklad: klasická telefonie, ale i např. klasický rozhlas, TV mezi příjemcem a odesilatelem vzniká (fyzicky) přímá, souvislá cesta, komunikace probíhá v reálném čase představa: od odesilatele vede až k příjemci jednolitá roura přenášená data se nikde nehromadí výhodné pro kontinuální přenosy (konstantní datový tok) vhodné pro multimediální formáty (živý zvuk a obraz) data nemusí být příjemci explicitně adresována příjemce je jednoznačně určen: ten, kdo je na druhém konci roury typické pro telekomunikační sítě dnes jsou i zde stále častěji využívány paketové sítě (VoIP )
Přepínání okruhů X přepínání paketů Přepínání paketů (packet switching) příklad: odeslání dopisu mezi příjemcem a odesilatelem nevzniká žádná souvislá vyhrazená cesta na cestě od příjemce k odesilateli existují přestupní body, které si zásilku postupně předávají, a jsou schopny ji nakonec dopravit až k příjemci přenášená data cestují podle principu store & forward jednotlivé přestupní uzly nejprve přijmou celý přenášený blok dat (paket), a teprve pak jej předají dál - není to v reálném čase přenášená data musí být explicitně adresována musí nějak identifikovat příjemce výhodné pro přenosy s náhodnými požadavky, např. přenosy souborů nevhodné pro zvuk a obraz typické pro počítačové sítě často se však v některé z vyšších vrstev emuluje spojení