Komunikační protokol - Communication protocol

Komunikační protokol je systém pravidel, která umožňuje dvěma nebo více subjektech komunikačního systému pro přenos informací prostřednictvím jakékoliv variace na fyzikální veličiny . Protokol definuje pravidla, syntax , sémantiku a synchronizace z komunikace a možných metod obnovy chyba . Protokoly mohou být implementovány hardwarem , softwarem nebo kombinací obou.

Komunikační systémy používají přesně definované formáty pro výměnu různých zpráv. Každá zpráva má přesný význam, jehož účelem je vyvolat odpověď z řady možných odpovědí předem určených pro danou konkrétní situaci. Zadané chování je obvykle nezávislé na tom, jak má být implementováno . Zúčastněné strany musí odsouhlasit komunikační protokoly. K dosažení dohody může být protokol vypracován do technické normy . Programovací jazyk popisuje stejný pro výpočty, takže existuje úzká analogie mezi protokoly a programovacími jazyky: protokoly pro komunikaci, co programovací jazyky mají výpočty . Alternativní formulace uvádí, že protokoly mají komunikovat, jaké algoritmy jsou pro výpočet .

Několik protokolů často popisuje různé aspekty jedné komunikace. Skupina protokolů navržených pro spolupráci je známá jako sada protokolů; jsou -li implementovány v softwaru, jedná se o zásobník protokolů .

Internetové komunikační protokoly jsou publikovány Internet Engineering Task Force (IETF). IEEE (Institute of Electrical and Electronics Engineers) uchy drátových a bezdrátových sítí a Mezinárodní organizace pro normalizaci (ISO) zpracovává i jiné typy. Na ITU-T rukojeti telekomunikační protokoly a formáty pro veřejné telefonní síti (PSTN). Jak PSTN a internet konvergují , standardy směřují také ke sbližování.

Komunikační systémy

Dějiny

K jednomu z prvních použití pojmu protokol v kontextu komutace dat dochází v memorandu nazvaném Protokol pro použití v datové komunikační síti NPL, které napsali Roger Scantlebury a Keith Bartlett v dubnu 1967.

Na ARPANETu byl počátečním bodem komunikace mezi hostitelem v roce 1969 protokol 1822 , který definoval přenos zpráv na IMP. Program Network Control pro ARPANET byl poprvé implementován v roce 1970. Rozhraní NCP umožnilo aplikačnímu softwaru připojit se přes ARPANET implementací komunikačních protokolů vyšší úrovně, což je raný příklad konceptu vrstvení protokolů .

Síťový výzkum na počátku 70. let Robertem E. Kahnem a Vintem Cerfem vedl k formulaci programu pro řízení přenosu (TCP). Jeho specifikace RFC  675 byla napsána společností Cerf s Yogen Dalal a Carl Sunshine v prosinci 1974, v té době stále monolitickým designem.

International Pracovní skupina Networking dohodla connectionless datagramu standard, který byl předložen k CCIT v roce 1975, ale nebyl přijat ITU nebo ARPANET. Mezinárodní výzkum, a to zejména dílem Rémi Despres , přispěly k rozvoji X.25 normy, založené na virtuálních okruhů podle ITU-T v roce 1976. Výrobci počítačů vyvinula proprietární protokoly , jako je IBM Systems Network Architecture (SNA), Digital Equipment Síťové systémy DECnet a Xerox společnosti Corporation .

Software TCP byl přepracován jako modulární zásobník protokolů. Původně označovaný jako IP/TCP , byl nainstalován na SATNET v roce 1982 a na ARPANET v lednu 1983. Vývoj kompletní sady protokolů do roku 1989, jak je popsáno v RFC  1122 a RFC  1123 , položil základ pro růst TCP /IP jako komplexní sada protokolů jako základní součást rozvíjejícího se internetu .

Mezinárodní práce na referenčním modelu pro komunikační standardy vedla k modelu OSI , publikovaném v roce 1984. Na období na konci 80. a počátku 90. let minulého století se inženýři, organizace a národy polarizovali nad otázkou, který standard , model OSI nebo internet sada protokolů, by vedla k nejlepším a nejrobustnějším počítačovým sítím.

Pojem

Informace vyměňované mezi zařízeními prostřednictvím sítě nebo jiného média se řídí pravidly a zvyklostmi, které lze stanovit ve specifikacích komunikačního protokolu. Povaha komunikace, skutečná vyměňovaná data a jakékoli chování závislé na stavu je definováno těmito specifikacemi. V digitálních výpočetních systémech mohou být pravidla vyjádřena algoritmy a datovými strukturami . Protokoly mají sdělit, jaké algoritmy nebo programovací jazyky jsou pro výpočty.

Operační systémy obvykle obsahují sadu spolupracujících procesů, které manipulují se sdílenými daty, aby spolu komunikovaly. Tato komunikace se řídí dobře srozumitelnými protokoly, které lze vložit do samotného procesního kódu. Naproti tomu, protože neexistuje sdílená paměť , musí komunikující systémy navzájem komunikovat pomocí sdíleného přenosového média . Přenos není nutně spolehlivý a jednotlivé systémy mohou používat jiný hardware nebo operační systémy.

K implementaci síťového protokolu jsou softwarové moduly protokolu propojeny s rámcem implementovaným v operačním systému stroje. Tento rámec implementuje síťové funkce operačního systému. Když jsou algoritmy protokolu vyjádřeny v přenosném programovacím jazyce, software protokolu může být nezávislý na operačním systému . Nejznámějšími rámci jsou model TCP/IP a model OSI .

V době, kdy se vyvíjel internet, se abstrakční vrstvení ukázalo jako úspěšný návrhový přístup jak pro návrh kompilátoru, tak pro operační systém, a vzhledem k podobnostem mezi programovacími jazyky a komunikačními protokoly byly původně monolitické síťové programy rozloženy na spolupracující protokoly. To dalo vzniknout konceptu vrstvených protokolů, které dnes tvoří základ návrhu protokolu.

Systémy obvykle pro zpracování přenosu nepoužívají jediný protokol. Místo toho používají sadu spolupracujících protokolů, někdy se jim říká sada protokolů . Mezi nejznámější sady protokolů patří TCP/IP , IPX/SPX , X.25 , AX.25 a AppleTalk .

Protokoly lze uspořádat na základě funkcí ve skupinách, například existuje skupina transportních protokolů . Funkce jsou mapovány na vrstvy, přičemž každá vrstva řeší odlišnou třídu problémů, které se týkají například funkcí aplikačního, transportního, internetového a síťového rozhraní. Pro přenos zprávy musí být z každé vrstvy vybrán protokol. Výběr dalšího protokolu se provádí rozšířením zprávy o volič protokolu pro každou vrstvu.

Typy

Existují dva typy komunikačních protokolů na základě jejich reprezentace přenášeného obsahu: textový a binární.

Textový

Protokol textové nebo prostý text protokol představuje jeho obsah v podobě čitelné pro člověka , často ve formátu prostého textu.

Bezprostřední čitelnost pro člověka je v protikladu k binárním protokolům, které mají vlastní výhody pro použití v počítačovém prostředí (jako je snadnost mechanického rozboru a lepší využití šířky pásma ).

Různé síťové aplikace mají různé metody zapouzdření dat. Jednou z metod velmi běžných u internetových protokolů je textově orientovaná reprezentace, která přenáší požadavky a odpovědi jako řádky textu ASCII , ukončené znakem nového řádku (a obvykle znakem návratu řádku). Příklady protokolů, které pro své příkazy používají prostý, čitelný text, jsou FTP ( File Transfer Protocol ), SMTP ( Simple Mail Transfer Protocol ) a protokol finger .

Textové protokoly jsou obvykle optimalizovány pro lidskou analýzu a interpretaci, a jsou proto vhodné všude tam, kde je vyžadována lidská kontrola obsahu protokolu, například během ladění a během raných fází vývoje protokolu.

Binární

Binární protokol využívá všechny hodnoty v byte , na rozdíl od protokolu textové bázi, který využívá pouze hodnoty odpovídající znaky lidských čitelné v ASCII kódování. Binární protokoly jsou určeny ke čtení spíše strojem než člověkem. Binární protokoly mají výhodu stručnosti, která se promítá do rychlosti přenosu a interpretace.

V normativních dokumentech popisujících moderní standardy jako EbXML , HTTP/2 , HTTP/3 a EDOC byly použity binární soubory . Rozhraní v UML lze také považovat za binární protokol.

Základní požadavky

Získání dat v síti je pouze částí problému protokolu. Přijatá data musí být vyhodnocena v kontextu průběhu konverzace, takže protokol musí obsahovat pravidla popisující kontext. Říká se, že tento druh pravidel vyjadřuje syntax komunikace. Jiná pravidla určují, zda jsou data smysluplná pro kontext, ve kterém k výměně dochází. Říká se, že tento druh pravidel vyjadřuje sémantiku komunikace.

Zprávy jsou odesílány a přijímány v komunikačních systémech za účelem navázání komunikace. Protokoly by proto měly specifikovat pravidla upravující přenos. Obecně by měla být řešena většina z následujících věcí:

Datové formáty pro výměnu dat
Bittrings digitálních zpráv jsou vyměňovány. Bitové řetězce jsou rozděleny do polí a každé pole nese informace relevantní pro protokol. Koncepčně je bitový řetězec rozdělen na dvě části, které se nazývají záhlaví a užitečné zatížení . Skutečná zpráva je přenášena v užitečném zatížení. Oblast záhlaví obsahuje pole s významem pro provoz protokolu. Bitové řetězce delší než maximální přenosová jednotka (MTU) jsou rozděleny na kusy příslušné velikosti.
Formáty adres pro výměnu dat
Adresy se používají k identifikaci odesílatele i zamýšleného příjemce. Adresy jsou přenášeny v oblasti záhlaví bitových řetězců, což umožňuje přijímačům určit, zda jsou bitové řetězce zajímavé a měly by být zpracovány nebo by měly být ignorovány. Spojení mezi odesílatelem a příjemcem lze identifikovat pomocí páru adres (adresa odesílatele, adresa příjemce) . Obvykle mají některé hodnoty adres zvláštní význam. Adresa 1 s by mohla znamenat adresování všech stanic v síti, takže odeslání na tuto adresu by mělo za následek vysílání v místní síti. Pravidla popisující významy hodnoty adresy se souhrnně nazývají schéma adresování .
Mapování adresy
Někdy protokoly potřebují namapovat adresy jednoho schématu na adresy jiného schématu. Například k překladu logické IP adresy určené aplikací na ethernetovou MAC adresu. Toto se označuje jako mapování adres .
Směrování
Pokud systémy nejsou přímo propojeny, musí přechodné systémy na trase k zamýšlenému příjemci předávat zprávy jménem odesílatele. Na internetu jsou sítě propojeny pomocí směrovačů. Propojení sítí přes routery se nazývá internetworking .
Detekce chyb přenosu
Detekce chyb je nezbytná v sítích, kde je možné poškození dat. V běžném přístupu je CRC datové oblasti přidáno na konec paketů, což umožňuje přijímači detekovat rozdíly způsobené poškozením. Přijímač odmítá pakety na rozdílech CRC a nějak se zařídí pro opakovaný přenos.
Poděkování
Pro komunikaci orientovanou na připojení je vyžadováno potvrzení správného příjmu paketů . Potvrzení jsou odesílána z přijímačů zpět jejich příslušným odesílatelům.
Ztráta informací - časové limity a opakování
Pakety mohou být ztraceny v síti nebo mohou být zpožděny při přenosu. Aby se s tím vypořádal, podle některých protokolů může odesílatel očekávat potvrzení správného příjmu od příjemce do určité doby. Po uplynutí časového limitu tedy odesílatel může potřebovat znovu odeslat informace. V případě trvale přerušeného odkazu nemá opakovaný přenos žádný účinek, takže počet opakovaných přenosů je omezený. Překročení limitu opakování je považováno za chybu.
Směr toku informací
Směrování je třeba řešit, pokud se přenosy mohou vyskytovat pouze v jednom směru současně jako u poloduplexních odkazů nebo od jednoho odesílatele současně jako na sdíleném médiu . Toto je známé jako řízení přístupu k médiím . Musí být učiněna opatření pro případ kolize nebo sporu, kdy dvě strany vysílají současně nebo chtějí vysílat.
Řízení sekvence
Pokud jsou dlouhé bitové řetězce rozděleny na kousky a poté odeslány do sítě jednotlivě, mohou se kousky ztratit nebo zpozdit nebo u některých typů sítí mohou do cíle směřovat různými cestami. V důsledku toho mohou kousky dorazit mimo pořadí. Opakované přenosy mohou mít za následek duplicitní kusy. Označením kusů s informacemi o sekvenci u odesílatele může příjemce určit, co bylo ztraceno nebo duplikováno, požádat o nezbytné opakované přenosy a znovu sestavit původní zprávu.
Řízení toku
Řízení toku je zapotřebí, když odesílatel vysílá rychleji, než může přijímač nebo mezilehlé síťové zařízení zpracovat přenosy. Řízení toku lze implementovat zasíláním zpráv od příjemce k odesílateli.
Čekání ve frontě
Komunikační procesy nebo stavové stroje používají fronty (nebo „vyrovnávací paměti“), obvykle fronty FIFO, k vyřizování zpráv v odeslaném pořadí, a někdy mohou mít více front s různou prioritizací

Návrh protokolu

K vytvoření sady společných zásad návrhu síťového protokolu byly použity principy systémového inženýrství . Návrh komplexních protokolů často zahrnuje dekompozici na jednodušší, spolupracující protokoly. Takový soubor spolupracujících protokolů se někdy v koncepčním rámci nazývá rodina protokolů nebo sada protokolů.

Komunikační systémy fungují souběžně. Důležitým aspektem souběžného programování je synchronizace softwaru pro příjem a přenos komunikačních zpráv ve správném pořadí. Souběžné programování je tradičně tématem textů teorie operačních systémů. Formální ověření se zdá být nezbytné, protože souběžné programy jsou proslulé skrytými a sofistikovanými chybami, které obsahují. Matematický přístup ke studiu souběžnosti a komunikace se označuje jako komunikační sekvenční procesy (CSP). Souběžnost lze také modelovat pomocí strojů s konečným stavem , jako jsou stroje Mealy a Moore . Stroje Mealy a Moore se používají jako konstrukční nástroje v digitálních elektronických systémech, s nimiž se setkáváme ve formě hardwaru používaného v telekomunikačních nebo elektronických zařízeních obecně.

Literatura uvádí četné analogie mezi počítačovou komunikací a programováním. Analogicky je přenosový mechanismus protokolu srovnatelný s centrální procesorovou jednotkou (CPU). Rámec zavádí pravidla, která umožňují programátorovi navrhnout spolupracující protokoly nezávisle na sobě.

Vrstvení

Obrázek 2. Protokoly ve vztahu k schématu vrstvení internetu.
Obrázek 2. Model TCP/IP nebo schéma vrstvení Internetu a jeho vztah k některým běžným protokolům.

V moderním návrhu protokolu jsou protokoly vrstveny tak, aby vytvářely zásobník protokolů. Vrstvení je princip návrhu, který rozděluje úlohu návrhu protokolu na menší kroky, z nichž každý splňuje určitou část a interaguje s ostatními částmi protokolu pouze malým počtem dobře definovaných způsobů. Vrstvení umožňuje navrhovat a testovat části protokolu bez kombinatorické exploze případů, přičemž každý návrh je relativně jednoduchý.

Komunikační protokoly používané na internetu jsou navrženy tak, aby fungovaly v různých a složitých nastaveních. Internetové protokoly jsou navrženy pro jednoduchost a modularitu a zapadají do hrubé hierarchie funkčních vrstev definovaných v sadě Internet Protocol Suite . První dva spolupracující protokoly, Transmission Control Protocol (TCP) a Internet Protocol (IP), byly výsledkem dekompozice původního programu Transmission Control Program, monolitického komunikačního protokolu, do této vrstvené komunikační sady.

Model OSI byl vyvinut na mezinárodní úrovni na základě zkušeností se sítěmi, které předcházely internetu jako referenční model pro obecnou komunikaci s mnohem přísnějšími pravidly interakce protokolů a přísným vrstvením.

Obvykle je aplikační software postaven na robustní vrstvě přenosu dat. Základem této transportní vrstvy je mechanismus doručování a směrování datagramů, který je na internetu obvykle bez připojení . Předávání paketů mezi sítěmi probíhá na jiné vrstvě, která zahrnuje pouze technologie síťového propojení, které jsou často specifické pro určité technologie fyzické vrstvy, jako je například ethernet . Vrstvení poskytuje příležitosti k výměně technologií v případě potřeby, například protokoly jsou často naskládány v tunelovém uspořádání, aby vyhovovaly připojení odlišných sítí. Například IP může být tunelováno přes síť ATM ( Asynchronous Transfer Mode ).

Vrstvení protokolu

Obrázek 3. Toky zpráv pomocí sady protokolů.
Obrázek 3. Toky zpráv pomocí sady protokolů. Černé smyčky ukazují skutečné smyčky zpráv, červené smyčky představují efektivní komunikaci mezi vrstvami povolenou nižšími vrstvami.

Protokol vrstvení tvoří základ návrhu protokolu. Umožňuje rozklad jednoduchých, složitých protokolů na jednodušší, spolupracující protokoly. Každý z protokolů řeší odlišnou třídu komunikačních problémů. Vrstvy dohromady tvoří schéma nebo model vrstvení.

Výpočty se zabývají algoritmy a daty; Komunikace zahrnuje protokoly a zprávy; Analogem diagramu toku dat je tedy jakýsi diagram toku zpráv. Pro vizualizaci vrstvení protokolů a sad protokolů je na obrázku 3 zobrazen diagram toků zpráv mezi dvěma systémy A a B a mezi nimi. Oba systémy A a B využívají stejnou sadu protokolů. Vertikální toky (a protokoly) jsou v systému a toky horizontálních zpráv (a protokoly) jsou mezi systémy. Toky zpráv se řídí pravidly a datovými formáty specifikovanými protokoly. Modré čáry označují hranice (horizontálních) vrstev protokolu.

Softwarové vrstvení

Obrázek 5: Protokol a softwarové vrstvení
Obrázek 5: Vrstvení protokolu a softwaru. Softwarové moduly implementující protokoly jsou reprezentovány kostkami. Informační tok mezi moduly je znázorněn šipkami. (Dvě horní horizontální) červené šipky jsou virtuální. Modré čáry označují hranice vrstvy.

Protokoly podporující software mají organizovanou vrstvu a její vztah k vrstvení protokolů je znázorněn na obrázku 5.

Chcete-li odeslat zprávu v systému A, softwarový modul nejvyšší vrstvy interaguje s modulem přímo pod ním a předá zprávu, která má být zapouzdřena. Dolní modul vyplňuje data záhlaví v souladu s protokolem, který implementuje, a interaguje se spodním modulem, který odesílá zprávu přes komunikační kanál do spodního modulu systému B. Na přijímacím systému B nastává obrácený chod, takže nakonec zpráva bude doručen v původní podobě do horního modulu systému B.

Překlad programu je rozdělen na podproblémy. Výsledkem je, že překladový software je také vrstvený, což umožňuje nezávisle navrhovat softwarové vrstvy. Stejný přístup lze vidět ve vrstvení TCP/IP.

Moduly pod aplikační vrstvou jsou obecně považovány za součást operačního systému. Předávání dat mezi těmito moduly je mnohem levnější než předávání dat mezi aplikačním programem a transportní vrstvou. Hranice mezi aplikační vrstvou a transportní vrstvou se nazývá hranice operačního systému.

Přísné vrstvení

Striktní dodržování vrstveného modelu, postup známý jako přísné vrstvení, není vždy nejlepším přístupem k vytváření sítí. Přísné vrstvení může mít negativní dopad na výkon implementace.

Přestože je používání vrstvení protokolů dnes v oblasti počítačových sítí všudypřítomné, bylo historicky kritizováno mnoha výzkumníky, protože abstrakce zásobníku protokolů tímto způsobem může způsobit, že vyšší vrstva duplikuje funkčnost nižší vrstvy. obnova chyb jak na základě propojení, tak na bázi end-to-end.

Designové vzory

Běžně se opakující problémy při návrhu a implementaci komunikačních protokolů lze řešit vzory návrhu softwaru .

Formální specifikace

Populární formální metody popisu komunikační syntaxe jsou Abstract Syntax Notation One ( standard ISO ) a rozšířená forma Backus – Naur ( standard IETF ).

Modely strojů s konečným stavem se používají k formálnímu popisu možných interakcí protokolu. a komunikace strojů s konečným stavem

Vývoj protokolu

Aby komunikace probíhala, je třeba vybrat protokoly. Pravidla lze vyjádřit pomocí algoritmů a datových struktur. Nezávislost hardwaru a operačního systému je posílena vyjádřením algoritmů v přenosném programovacím jazyce. Nezávislost zdroje na specifikaci zajišťuje širší interoperabilitu.

Standardy protokolu jsou běžně vytvářeny získáním schválení nebo podpory normalizační organizace , která zahájí proces normalizace. Členové normalizační organizace souhlasí s dodržováním výsledku práce na dobrovolném základě. Členové často ovládají velké podíly na trhu relevantní pro protokol a v mnoha případech jsou standardy vynucovány zákonem nebo vládou, protože se předpokládá, že slouží důležitému veřejnému zájmu, takže získání souhlasu může být pro protokol velmi důležité.

Potřeba standardů protokolu

Potřebu standardů protokolu lze ukázat pohledem na to, co se stalo s bi-synchronizačním protokolem (BSC) vynalezeným společností IBM . BSC je raný protokol na úrovni propojení používaný k propojení dvou samostatných uzlů. Původně nebylo zamýšleno pro použití v síti s více uzly, ale odhalilo to několik nedostatků protokolu. Při absenci standardizace si výrobci a organizace mohli protokol vylepšit a ve svých sítích vytvářet nekompatibilní verze. V některých případech to bylo záměrně provedeno s cílem odradit uživatele od používání zařízení jiných výrobců. Existuje více než 50 variant původního bi-synchronizačního protokolu. Dá se předpokládat, že standard by zabránil tomu, aby se alespoň něco z toho stalo.

V některých případech získávají protokoly dominantní postavení na trhu, aniž by prošly standardizačním procesem. Takové protokoly jsou označovány jako de facto standardy . De facto standardy jsou běžné na rozvíjejících se trzích, specializovaných trzích nebo trzích, které jsou monopolizované (nebo oligopolizované ). Mohou držet trh ve velmi negativním sevření, zvláště když se používají k zastrašení konkurence. Z historického hlediska je třeba na standardizaci pohlížet jako na opatření proti nepříznivým účinkům de facto standardů. Existují pozitivní výjimky; de facto standardní operační systém, jako je Linux, nemá na svém trhu tuto negativní přilnavost, protože zdroje jsou publikovány a udržovány otevřeným způsobem, což vybízí ke konkurenci.

Standardizační organizace

Některé ze standardizačních organizací relevantních pro komunikační protokoly jsou Mezinárodní organizace pro normalizaci (ISO), Mezinárodní telekomunikační unie (ITU), Institut elektrotechnických a elektronických inženýrů (IEEE) a Internet Engineering Task Force (IETF). IETF udržuje protokoly používané na internetu. IEEE řídí mnoho softwarových a hardwarových protokolů v elektronickém průmyslu pro komerční a spotřebitelská zařízení. ITU je zastřešující organizací telekomunikačních inženýrů navrhujících veřejnou komutovanou telefonní síť (PSTN) a mnoho radiokomunikačních systémů. Pro námořní elektroniku , že NMEA se používají standardy. World Wide Web Consortium (W3C) produkuje protokoly a standardy pro webové technologie.

Mezinárodní normalizační organizace by měly být nestrannější než místní organizace s národním nebo obchodním vlastním zájmem. Organizace zabývající se normami také provádějí výzkum a vývoj pro standardy budoucnosti. V praxi uvedené normalizační organizace navzájem úzce spolupracují.

Proces standardizace

Proces normalizace začíná uvedením ISO do provozu podskupiny pracovní skupiny. Pracovní skupina vydává pracovní návrhy a diskusní dokumenty zúčastněným stranám (včetně jiných normalizačních orgánů) s cílem vyvolat diskusi a komentáře. To vygeneruje spoustu otázek, mnoho diskusí a obvykle nějaké neshody ohledně toho, co by měl standard poskytovat a zda dokáže uspokojit všechny potřeby (obvykle ne). Při postupu k návrhu návrhu pracovní skupiny by měly být vzaty v úvahu všechny protichůdné názory, často formou kompromisu .

Návrh návrhu projednávají standardní orgány členských zemí a další organizace v každé zemi. Než budou členové ISO hlasovat o návrhu, budou shromážděny připomínky a návrhy a budou formulovány národní názory. Pokud bude návrh zamítnut, musí se k námitkám a protinávrhům přihlédnout k vytvoření nového návrhu pro další hlasování. Po velké zpětné vazbě, úpravách a kompromisech návrh dosáhne stavu návrhu mezinárodní normy a nakonec mezinárodní normy .

Proces obvykle trvá několik let. Původní návrh papíru vytvořený designérem se bude podstatně lišit od standardu a bude obsahovat některé z následujících „funkcí“:

  • Různé volitelné provozní režimy, například pro umožnění nastavení různých velikostí paketů při spuštění, protože strany nemohly dosáhnout konsensu o optimální velikosti paketu.
  • Parametry, které jsou ponechány nedefinovány nebo mohou nabývat hodnot definované sady podle uvážení implementátora. To často odráží protichůdné názory některých členů.
  • Parametry vyhrazené pro budoucí použití, které odrážejí, že členové souhlasili, že zařízení by mělo být poskytnuto, ale nemohli dosáhnout dohody o tom, jak by to mělo být provedeno v dostupném čase.
  • Při implementaci standardu budou nevyhnutelně nalezeny různé nesrovnalosti a nejasnosti.

Mezinárodní standardy jsou pravidelně znovu vydávány, aby se vyřešily nedostatky a odrážely měnící se pohledy na toto téma.

Standardizace OSI

Z ARPANETU , předchůdce internetu, jsme si vzali ponaučení , že protokoly ke svému fungování potřebují rámec. Je proto důležité vyvinout obecný rámec, který je vhodný pro budoucnost, vhodný pro strukturované protokoly (například vrstvené protokoly) a jejich standardizaci. To by zabránilo standardům protokolu s překrývajícími se funkcemi a umožnilo by to jasnou definici odpovědností protokolu na různých úrovních (vrstvách). Z toho vznikl referenční model propojení OSI Open Systems Interconnection (RM/OSI), který se používá jako rámec pro návrh standardních protokolů a služeb odpovídajících specifikacím různých vrstev.

V modelu OSI se předpokládá, že komunikační systémy jsou propojeny základním fyzickým médiem poskytujícím základní (a nespecifikovaný) přenosový mechanismus. Vrstvy nad ním jsou očíslovány (od jedné do sedmi); n- ta vrstva je označována jako (n) -vrstva. Každá vrstva poskytuje služby vrstvě nad ní (nebo v horní části procesu aplikace) pomocí služeb vrstvy bezprostředně pod ní. Vrstvy spolu komunikují prostřednictvím rozhraní, kterému se říká přístupový bod služby . Odpovídající vrstvy v každém systému se nazývají peer entity . Ke komunikaci používají dvě partnerské entity v dané vrstvě (n) -protokol, který je implementován pomocí služeb (n-1) -vrstvy. Pokud systémy nejsou přímo propojeny, používají se mezilehlé entity (nazývané relé ). Adresa jednoznačně identifikuje přístupový bod služby a. Domény pojmenování adres nemusí být omezeny na jednu vrstvu, takže je možné použít pouze jednu doménu pojmenování pro všechny vrstvy. Pro každou vrstvu existují dva typy standardů: standardy protokolu definující způsob komunikace mezi entitami v dané vrstvě a standardy služeb definující způsob, jakým daná vrstva komunikuje s vrstvou nad ní.

V původní verzi RM/OSI jsou vrstvy a jejich funkce (od nejvyšší po nejnižší vrstvu):

  • Aplikační vrstva může poskytovat tyto služby postupů při podávání žádostí: identifikace zamýšlených komunikačních partnerů, zavedení potřebného orgánu sdělit, určení dostupnosti a ověřování partnerů, dohody o mechanismech na ochranu soukromí při komunikaci, dohodu o odpovědnosti za chyby obnova a postupy pro zajištění integrity dat, synchronizace mezi spolupracujícími aplikačními procesy, identifikace jakýchkoli omezení syntaxe (např. znakové sady a datové struktury), stanovení nákladů a přijatelné kvality služby, výběr disciplíny dialogu, včetně požadovaných postupů přihlašování a odhlášení .
  • Prezentační vrstva může poskytovat tyto služby na aplikační vrstvě: žádost o zřízení relace, přenos dat, vyjednávání syntaxe která má být použita mezi vrstvami aplikace, veškeré potřebné syntaktické transformace, formátování a speciální transformace (např dat komprese a šifrování dat).
  • Vrstva relace může prezentační vrstvě poskytovat následující služby: navázání a uvolnění připojení relace, normální a zrychlená výměna dat, karanténní služba, která umožňuje odesílající prezentační entitě pokyn přijímající entitě relace, aby nevydávala data své prezentační entitě bez oprávnění, správa interakcí, takže prezentační entity mohou řídit, kdo je na řadě, aby vykonával určité řídicí funkce, resynchronizace připojení relace, hlášení neopravitelných výjimek prezentační entitě.
  • Transportní vrstvy zajišťuje spolehlivé a transparentní přenos dat v nákladově efektivním způsobem, jak to požaduje vybrané kvalitě služby. Může podporovat multiplexování několika přenosových připojení na jedno síťové připojení nebo rozdělit jedno přenosové připojení na několik síťových připojení.
  • Síťové vrstvy dělá nastavení, údržbu a uvolnění síťové cesty mezi transport entitami. Když jsou potřeba relé, funkce směrování a relé zajišťuje tato vrstva. O kvalitě služby se vyjednává mezi síťovými a přepravními entitami v době, kdy je připojení nastaveno. Tato vrstva je také zodpovědná za řízení zahlcení sítě .
  • Vrstva datového odkazu provádí nastavení, údržbu a uvolňování připojení datových linek. Chyby vyskytující se ve fyzické vrstvě jsou detekovány a mohou být opraveny. Chyby jsou hlášeny síťové vrstvě. Tato vrstva definuje výměnu datových spojovacích jednotek (včetně řízení toku).
  • Fyzická vrstva popisuje detaily, jako elektrické vlastnosti fyzické připojení, používá přenosové techniky, a nastavení, údržbu a zúčtování fyzických připojení.

Na rozdíl od schématu vrstvení TCP/IP , které předpokládá síť bez připojení, RM/OSI předpokládá síť orientovanou na připojení. Sítě orientované na připojení jsou vhodnější pro rozsáhlé sítě a sítě bez připojení jsou vhodnější pro místní sítě. Použití připojení ke komunikaci předpokládá určitou formu relačních a (virtuálních) obvodů, proto vrstva relace (v modelu TCP/IP chybí). Členové ISO se většinou zabývali širokopásmovými sítěmi, takže vývoj RM/OSI soustředěný na sítě orientované na připojení a sítě bez připojení byly zmíněny pouze v dodatku k RM/OSI. V té době se s tím musela IETF vyrovnat a s tím, že internet potřeboval protokoly, které tam prostě nebyly. V důsledku toho IETF vyvinul svůj vlastní standardizační proces založený na „hrubém konsensu a běžícím kódu“.

Proces standardizace je popsán v RFC2026 .

V současné době se IETF stala standardní organizací pro protokoly používané na internetu. RM/OSI rozšířila svůj model tak, aby zahrnoval služby bez připojení, a proto mohly být TCP i IP vyvinuty do mezinárodních standardů.

Taxonomie

Klasifikační schémata pro protokoly se obvykle zaměřují na oblast použití a funkce. Jako příklad domény použití jsou protokoly orientované na připojení a protokoly bez připojení použity v sítích orientovaných na připojení, respektive v sítích bez připojení. Příkladem funkce je tunelovací protokol , který se používá k zapouzdření paketů do protokolu na vysoké úrovni, aby pakety mohly být přenášeny přes transportní systém pomocí protokolu na vysoké úrovni.

Vrstvení systém kombinuje funkce a doménu použití. Dominantní schémata vrstvení jsou schémata navržená IETF a ISO. Navzdory skutečnosti, že základní předpoklady schémat vrstvení jsou natolik rozdílné, že je lze od sebe odlišit, je běžnou praxí porovnávat je pomocí přiřazování společných protokolů k vrstvám těchto dvou schémat.

Schéma vrstvení z IETF se nazývá internetové vrstvení nebo vrstvení TCP/IP .

Schéma vrstvení od ISO se nazývá model OSI nebo ISO vrstvení .

Při konfiguraci síťového vybavení se často používá termínově rozlišující: Termín „protokol“ striktně odkazuje na transportní vrstvu a termín „služba“ odkazuje na protokoly využívající pro přenos „protokol“. V běžném případě TCP a UDP se služby rozlišují podle čísel portů. Shoda s těmito čísly portů je dobrovolná, takže v systémech kontroly obsahu termín „služba“ striktně odkazuje na čísla portů a termín „aplikace“ se často používá k označení protokolů identifikovaných pomocí inspekčních podpisů.

Viz také

Poznámky

Reference

Bibliografie

Další čtení

externí odkazy