Kommunikációs protokoll - Communication protocol

A kommunikációs protokoll olyan szabályrendszer, amely lehetővé teszi egy kommunikációs rendszer két vagy több entitásának, hogy információt továbbítsanak a fizikai mennyiség bármilyen változatán keresztül . A protokoll meghatározza a kommunikáció szabályait, szintaxisát , szemantikáját és szinkronizálását , valamint a lehetséges hibaelhárítási módszereket . A protokollokat hardver , szoftver vagy a kettő kombinációja valósíthatja meg .

A kommunikációs rendszerek jól meghatározott formátumokat használnak különböző üzenetek cseréjére. Minden üzenetnek pontos jelentése van, amely az adott helyzetre előre meghatározott lehetséges válaszok köréből kíván választ kiváltani. A megadott viselkedés általában független attól, hogy hogyan kell végrehajtani . A kommunikációs protokollokról az érintett feleknek kell megállapodniuk. A megállapodás elérése érdekében egy protokollt technikai standarddá lehet fejleszteni . A programozási nyelv ugyanazt írja le a számításoknál, ezért szoros analógia áll fenn a protokollok és a programozási nyelvek között: a protokollok kommunikációra vonatkoznak, és a programozási nyelvek a számításokra vonatkoznak . Egy alternatív megfogalmazás szerint a protokollok kommunikációra szolgálnak, és milyen algoritmusok a számításra .

Több protokoll gyakran írja le egyetlen kommunikáció különböző aspektusait. Az együttműködésre tervezett protokollok egy csoportja protokollkészletként ismert; szoftverben megvalósítva protokollköteget jelentenek .

Az internetes kommunikációs protokollokat az Internet Engineering Task Force (IETF) teszi közzé . Az IEEE (Institute of Electrical and Electronics Engineers) kezeli a vezetékes és vezeték nélküli hálózatokat, a Nemzetközi Szabványügyi Szervezet (ISO) pedig más típusokat. Az ITU-T kezeli a nyilvános kapcsolt telefonhálózat (PSTN) távközlési protokolljait és formátumait . A PSTN és az internet konvergálásával a szabványok is a konvergencia felé irányulnak.

Kommunikációs rendszerek

Történelem

A protokoll kifejezés egyik első használata adatkommutációs kontextusban egy Roger Scantlebury és Keith Bartlett által 1967 áprilisában írt, A Protocol for Use in the NPL Data Communications Network című memorandumban fordul elő .

Az ARPANET -en 1969-ben a host-host kommunikáció kiindulópontja az 1822-es protokoll volt , amely meghatározta az üzenetek IMP-hez történő továbbítását. Az ARPANET hálózati vezérlőprogramját először 1970-ben hajtották végre. Az NCP interfész lehetővé tette az alkalmazásszoftverek számára, hogy magasabb szintű kommunikációs protokollok megvalósításával csatlakozzanak az ARPANET-hez, ami a protokollréteg- koncepció korai példája .

A hetvenes évek elején Robert E. Kahn és Vint Cerf hálózatkutatása vezetett a Transmission Control Program (TCP) megfogalmazásához. A RFC  675 leírásban írták Cerf a YoGen Dalai és Carl Napfény 1974 decemberében még egy monolitikus tervezés ebben az időben.

A Nemzetközi Hálózati Munkacsoport megegyezett egy kapcsolat nélküli datagram szabványban, amelyet 1975 -ben nyújtottak be a CCIT -nek , de az ITU vagy az ARPANET nem fogadta el. A nemzetközi kutatások, különösen Rémi Després munkái , hozzájárultak az X.25 szabvány kifejlesztéséhez , amely az ITU-T virtuális áramkörein alapult 1976 - ban. A számítógépgyártók olyan saját protokollokat fejlesztettek ki , mint az IBM rendszerhálózati architektúrája (SNA), digitális berendezések Corporation DECnet és Xerox hálózati rendszerei .

A TCP szoftvert moduláris protokoll -veremként tervezték át. Eredetileg IP/TCP -ként emlegették , 1982 -ben telepítették a SATNET -re , és 1983 januárjában az ARPANET -re . Az RFC  1122 és az RFC  1123 -ban leírtak szerint egy teljes protokollcsomag 1989 -re történő kifejlesztése megalapozta a TCP növekedését. /IP, mint átfogó protokollkészlet, mint a kialakulóban lévő internet központi eleme .

A kommunikációs szabványok referenciamodelljével kapcsolatos nemzetközi munka az 1984 -ben közzétett OSI -modellhez vezetett . Az 1980 -as évek végén és az 1990 -es évek elején a mérnökök, szervezetek és nemzetek polarizálódtak azon a kérdésen, hogy melyik szabvány , az OSI -modell vagy az Internet protokollkészlet, a legjobb és legerősebb számítógépes hálózatokat eredményezné.

Koncepció

Az eszközök között hálózaton vagy más adathordozón keresztül kicserélt információkra a kommunikációs protokoll specifikációiban rögzíthető szabályok és egyezmények vonatkoznak. A kommunikáció jellegét, a ténylegesen kicserélt adatokat és az államtól függő viselkedést ezek a specifikációk határozzák meg. A digitális számítástechnikai rendszerekben a szabályokat algoritmusokkal és adatstruktúrákkal lehet kifejezni . A protokollok kommunikációra szolgálnak, milyen algoritmusok vagy programozási nyelvek a számításokhoz.

Az operációs rendszerek általában együttműködő folyamatokat tartalmaznak, amelyek manipulálják a megosztott adatokat, hogy kommunikáljanak egymással. Ezt a kommunikációt jól értelmezett protokollok szabályozzák, amelyek beágyazhatók a folyamat kódjába. Ezzel szemben, mivel nincs megosztott memória , a kommunikáló rendszereknek megosztott átviteli közeggel kell kommunikálniuk egymással . Az átvitel nem feltétlenül megbízható, és az egyes rendszerek eltérő hardvert vagy operációs rendszert használhatnak.

A hálózati protokoll megvalósításához a protokoll szoftver moduljai össze vannak kötve a gép operációs rendszerén megvalósított keretrendszerrel. Ez a keretrendszer az operációs rendszer hálózati funkcióit valósítja meg. Ha a protokoll -algoritmusokat hordozható programozási nyelven fejezik ki, akkor a protokollszoftver függetlenné tehető az operációs rendszertől . A legismertebb keretrendszerek a TCP/IP modell és az OSI modell .

Az internet kifejlesztésének idején az absztrakciós rétegzés sikeres tervezési megközelítésnek bizonyult mind a fordító, mind az operációs rendszer tervezésében, és tekintettel a programozási nyelvek és a kommunikációs protokollok közötti hasonlóságokra, az eredetileg monolitikus hálózati programokat együttműködő protokollokra bontották. Ez hozta létre a réteges protokollok koncepcióját, amely napjainkban a protokolltervezés alapját képezi.

A rendszerek általában nem egyetlen protokollt használnak az átvitel kezelésére. Ehelyett együttműködő protokollokat használnak, amelyeket néha protokollkészletnek neveznek . A legismertebb protokollcsomagok közül néhány a TCP/IP , IPX/SPX , X.25 , AX.25 és AppleTalk .

A protokollok csoportok funkcionalitása alapján rendezhetők, például van egy szállítási protokoll -csoport . A funkciók a rétegekre vannak leképezve, mindegyik réteg megoldja a problémák külön osztályát, például: alkalmazás-, szállítási-, internet- és hálózati interfész-funkciókkal kapcsolatban. Az üzenet továbbításához minden rétegből ki kell választani egy protokollt. A következő protokoll kiválasztását úgy hajtjuk végre, hogy az üzenetet kiterjesztjük az egyes rétegek protokollválasztójára.

Típusok

Kétféle kommunikációs protokoll létezik, a hordozott tartalom ábrázolása alapján: szövegalapú és bináris.

Szöveg alapú

A szövegalapú vagy egyszerű szöveges protokoll tartalmát ember által olvasható formában , gyakran egyszerű szövegben ábrázolja .

Az azonnali emberi olvashatóság ellentétben áll a bináris protokollokkal, amelyek eredendően előnyösek a számítógépes környezetben való használatra (például a mechanikus elemzés egyszerűsége és a jobb sávszélesség -kihasználás ).

A különböző hálózati alkalmazásoknak különböző módszerei vannak az adatok beágyazására. Az internetes protokolloknál nagyon gyakori módszer a szövegorientált ábrázolás, amely ASCII szöveg soraiként továbbítja a kéréseket és a válaszokat, újsoros karakterrel (és általában kocsi visszatérési karakterrel) fejezve be. Az egyszerű, ember által olvasható szöveget használó protokollokra példa az FTP ( File Transfer Protocol ), az SMTP ( Simple Mail Transfer Protocol ) és az ujjprotokoll .

A szövegalapú protokollok általában az emberi elemzésre és értelmezésre vannak optimalizálva, ezért alkalmasak minden olyan esetben, amikor a protokoll tartalmának emberi ellenőrzése szükséges, például a hibakeresés és a korai protokollfejlesztési fázisok során.

Bináris

A bináris protokoll a bájt minden értékét használja , szemben a szövegalapú protokollal, amely csak az ember által olvasható karaktereknek megfelelő értékeket használ az ASCII kódolásban. A bináris protokollokat inkább gép, nem pedig ember olvassa el. A bináris protokollok előnye a könnyelműség, ami az átvitel és az értelmezés sebességét jelenti.

A binárisokat a normatív dokumentumokban használták, amelyek olyan modern szabványokat írnak le , mint az EbXML , HTTP/2 , HTTP/3 és EDOC . Az UML interfész bináris protokollnak is tekinthető.

Alapkövetelmények

Az adatok hálózaton keresztüli átvitele csak egy része a protokoll problémájának. A kapott adatokat a beszélgetés előrehaladásával összefüggésben kell értékelni, ezért a protokollnak tartalmaznia kell a kontextust leíró szabályokat. Ezek a szabályok azt mondják, hogy kifejezik a kommunikáció szintaxisát . Más szabályok határozzák meg, hogy az adatok jelentőséggel bírnak -e a cserére. Ezek a szabályok azt mondják, hogy kifejezik a kommunikáció szemantikáját .

Az üzeneteket kommunikáló rendszereken küldik és fogadják a kommunikáció létrehozása érdekében. A protokolloknak ezért meg kell határozniuk az átvitelre vonatkozó szabályokat. Általában az alábbiak nagy részével kell foglalkozni:

Adatformátumok az adatcseréhez
Digitális üzenet bitstringeket cserélnek. A bitstringek mezőkre vannak osztva, és minden mező a protokoll szempontjából releváns információkat hordoz. Elméletileg a bitstringet két részre osztják, amelyeket fejlécnek és hasznos terhelésnek neveznek . A tényleges üzenet a hasznos terhelésben van. A fejlécterület tartalmazza a protokoll működéséhez kapcsolódó mezőket. A maximális átviteli egységnél (MTU) hosszabb bitstringeket megfelelő méretű darabokra osztják.
Címformátumok az adatcseréhez
A címeket mind a feladó, mind a címzett (ek) azonosítására használják. A címek a bitsorozatok fejlécében találhatók, lehetővé téve a vevők számára, hogy meghatározzák, hogy a bitstringek érdekesek -e, és fel kell őket dolgozni, vagy figyelmen kívül kell hagyni őket. A kapcsolat a küldő és a fogadó között azonosítható egy címpár (küldő címe, vevő címe) segítségével . Általában néhány címértéknek különleges jelentése van. Az összes 1- es cím alatt a hálózat összes állomásának címzését lehet érteni, így az erre a címre küldés a helyi hálózaton történő sugárzást eredményezne. A címérték jelentését leíró szabályokat együttesen címzési sémának nevezzük .
Címleképezés
Néha a protokolloknak egy séma címét egy másik séma címére kell leképezniük. Például az alkalmazás által megadott logikai IP -cím Ethernet MAC -címre történő lefordításához. Ezt nevezik címleképezésnek .
útvonalválasztás
Ha a rendszerek nincsenek közvetlenül összekötve, a kívánt vevő (k) hez vezető útvonalon lévő közvetítőrendszereknek üzeneteket kell továbbítaniuk a feladó nevében. Az interneten a hálózatok útválasztók segítségével csatlakoznak. A hálózatok útválasztón keresztüli összekapcsolását internetmunkának nevezik .
Átviteli hibák észlelése
Hibafelismerésre van szükség azokon a hálózatokon, ahol az adatok sérülése lehetséges. Általános megközelítés szerint az adatterület CRC -je a csomagok végéhez kerül, lehetővé téve a vevő számára, hogy felismerje a korrupció okozta különbségeket. A vevő elutasítja a csomagokat a CRC különbségek alapján, és valamilyen módon gondoskodik az újraküldésről.
Köszönetnyilvánítás
A kapcsolat-orientált kommunikációhoz a csomagok megfelelő fogadásának elismerése szükséges . A nyugtákat a vevők visszaküldik a megfelelő feladóknak.
Információvesztés - időtúllépések és újbóli próbálkozások
A csomagok elveszhetnek a hálózaton, vagy késhetnek az átvitel során. Ennek megoldása érdekében bizonyos protokollok szerint a feladó egy bizonyos időn belül elvárhatja, hogy a vevő fogadja a helyes vételt. Így időkorlát esetén a feladónak újra kell továbbítania az információt. Állandóan megszakadt kapcsolat esetén az újraküldésnek nincs hatása, így az újraküldések száma korlátozott. Az újrapróbálkozási korlát túllépése hibának minősül.
Az információáramlás iránya
Az irányt akkor kell kezelni, ha az átvitel egyszerre csak egy irányban történhet, mint a fél-duplex linkeken, vagy egyszerre egy feladótól, mint egy megosztott adathordozón . Ezt médiahozzáférés -vezérlésnek nevezik . Intézkedéseket kell tenni az ütközés vagy vita esetére, ha két fél egyidejűleg továbbít vagy továbbítani kíván.
Sorozatvezérlés
Ha a hosszú bitstringeket darabokra osztja, majd egyenként elküldi a hálózaton, akkor a darabok elveszhetnek vagy késleltethetők, vagy bizonyos típusú hálózatok esetén különböző útvonalakat vezethetnek a rendeltetési helyükre. Ennek eredményeként a darabok sorrenden kívül érkezhetnek. Az újraküldés duplikált darabokat eredményezhet. A feladónál a darabok sorrendi információkkal történő megjelölésével a vevő képes meghatározni, hogy mi veszett el vagy másolódott, kérheti a szükséges újraküldéseket és összeállíthatja az eredeti üzenetet.
Áramlásszabályozás
Áramlásszabályozásra akkor van szükség, ha a küldő gyorsabban ad, mint a vevő vagy a közbenső hálózati berendezések képesek feldolgozni az átvitelt. Az áramlásszabályozás megvalósítható üzenetküldéssel a vevőtől a feladóig.
Sorban állás
A kommunikáló folyamatok vagy állapotgépek sorokat (vagy "puffereket"), általában FIFO -sorokat használnak az üzenetek kezelésére az elküldött sorrendben, és néha több sor is lehet, eltérő prioritással

Protokoll tervezés

A rendszertervezési elveket közös hálózati protokoll -tervezési alapelvek létrehozására alkalmazták. A bonyolult protokollok tervezése gyakran magában foglalja az egyszerűbb, együttműködő protokollok bontását. Az együttműködő protokollok ilyen készletét néha protokollcsaládnak vagy protokollkészletnek nevezik, fogalmi keretek között.

A kommunikációs rendszerek párhuzamosan működnek. A párhuzamos programozás fontos szempontja a kommunikációs üzenetek fogadására és továbbítására szolgáló szoftver szinkronizálása megfelelő sorrendben. A párhuzamos programozás hagyományosan téma az operációs rendszerek elméletének szövegeiben. A formális ellenőrzés elengedhetetlennek tűnik, mert az egyidejű programok köztudottan rejtett és kifinomult hibákat tartalmaznak. Az egyidejűség és a kommunikáció tanulmányozásának matematikai megközelítését kommunikációs szekvenciális folyamatoknak (CSP) nevezik . Az egyidejűség véges állapotú gépekkel , például Mealy és Moore gépekkel is modellezhető . A Mealy és Moore gépeket tervezési eszközként használják a digitális elektronikai rendszerekben, amelyek a távközlésben használt hardver vagy általában az elektronikus eszközök formájában fordulnak elő.

A szakirodalom számos analógiát mutat be a számítógépes kommunikáció és a programozás között. Hasonlóképpen, a protokoll átviteli mechanizmusa összehasonlítható a központi processzorral (CPU). A keretrendszer olyan szabályokat vezet be, amelyek lehetővé teszik a programozó számára, hogy egymástól függetlenül együttműködési protokollokat tervezzen.

Rétegezés

2. ábra Protokollok az Internet rétegzési rendszerével kapcsolatban.
2. ábra: A TCP/IP modell vagy internetes rétegzési séma és kapcsolata néhány általános protokollal.

A modern protokolltervezésben a protokollok rétegezve protokollköteget képeznek. A rétegezés olyan tervezési elv, amely a protokolltervezési feladatot kisebb lépésekre osztja, amelyek mindegyike egy meghatározott részt hajt végre, és csak néhány jól meghatározott módon lép kapcsolatba a protokoll többi részével. A rétegezés lehetővé teszi a protokoll egyes részeinek tervezését és tesztelését a tokok robbanásveszélyes robbanása nélkül , így minden konstrukció viszonylag egyszerű.

Az interneten használt kommunikációs protokollokat úgy tervezték, hogy változatos és összetett környezetben működjenek. Az internetes protokollokat az egyszerűség és a modularitás érdekében tervezték, és illeszkednek az Internet Protocol Suite által meghatározott funkcionális rétegek durva hierarchiájába . Az első két együttműködő protokoll, az átviteli vezérlő protokoll (TCP) és az internetprotokoll (IP) az eredeti átviteli vezérlőprogram, a monolitikus kommunikációs protokoll felbomlásából származott.

Az OSI modellt nemzetközi szinten, az internetet megelőző hálózatokkal kapcsolatos tapasztalatok alapján fejlesztették ki, mint referenciamodellt az általános kommunikációhoz, sokkal szigorúbb protokoll -interakciós szabályokkal és szigorú rétegezéssel.

Az alkalmazásszoftverek általában egy erős adatátviteli rétegre épülnek. Ennek az átviteli rétegnek a hátterében egy datagram kézbesítési és útválasztási mechanizmus áll, amely jellemzően kapcsolat nélküli az interneten. A hálózatokon keresztüli csomagtovábbítás egy másik rétegen keresztül történik, amely csak hálózati link -technológiákat tartalmaz, amelyek gyakran bizonyos fizikai réteg -technológiákra, például az Ethernetre jellemzőek . A rétegzés lehetőséget biztosít a technológia cseréjére, ha szükséges, például a protokollokat gyakran halmozzák egy alagút -elrendezésbe, hogy megfeleljenek az eltérő hálózatok kapcsolatának. Például az IP lehet aszinkron átviteli mód (ATM) hálózaton keresztül alagútban .

Protokoll rétegezés

3. ábra Üzenetfolyamok protokollkészlettel.
3. ábra Üzenetfolyamok protokollkészlettel. A fekete hurkok a tényleges üzenetküldési köröket mutatják, a piros hurkok a hatékony kommunikációt a rétegek között, amelyeket az alsó rétegek engedélyeznek.

A protokollrétegzés a protokolltervezés alapját képezi. Lehetővé teszi az egyszerű, összetett protokollok egyszerűbb, együttműködő protokollokká bontását. A protokollrétegek mindegyike a kommunikációs problémák egy külön osztályát oldja meg. A rétegek együtt rétegezési sémát vagy modellt alkotnak.

A számítások algoritmusokkal és adatokkal foglalkoznak; A kommunikáció protokollokat és üzeneteket foglal magában; Tehát az adatfolyam diagram analógja valamiféle üzenetáramlási diagram. A protokollrétegzés és a protokollkészletek megjelenítéséhez a 3. ábrán látható az üzenetáramlás diagramja két rendszerben, az A és a B között. Az A és B rendszerek ugyanazt a protokollkészletet használják. A függőleges folyamatok (és a protokollok) a rendszeren belül, a vízszintes üzenetáramok (és a protokollok) pedig a rendszerek között vannak. Az üzenetfolyamokat szabályok és protokollok által meghatározott adatformátumok szabályozzák. A kék vonalak jelzik a (vízszintes) protokollrétegek határait.

Szoftveres rétegezés

5. ábra: protokoll és szoftver rétegezés
5. ábra: Protokoll és szoftver rétegezés. A protokollokat megvalósító szoftvermodulokat kockák jelzik. A modulok közötti információáramlást nyilak jelzik. A (felső két vízszintes) piros nyíl virtuális. A kék vonalak jelzik a rétegek határait.

A protokollokat támogató szoftverek rétegzett szervezettel rendelkeznek, és kapcsolata a protokollrétegzéssel az 5. ábrán látható.

Üzenet küldéséhez az A rendszeren a felső rétegű szoftvermodul kölcsönhatásba lép az alatta lévő modullal, és átadja a beágyazandó üzenetet. Az alsó modul kitölti a fejlécadatokat az általa megvalósított protokollnak megfelelően, és kölcsönhatásba lép az alsó modullal, amely a kommunikációs csatornán keresztül elküldi az üzenetet a B rendszer alsó moduljának. A fogadó B rendszeren fordítva történik, így végül az üzenet eredeti formájában a B rendszer felső moduljába kerül.

A programfordítás alproblémákra oszlik. Ennek eredményeként a fordítószoftver is rétegezett, lehetővé téve a szoftverrétegek önálló tervezését. Ugyanez a megközelítés látható a TCP/IP rétegezésben is.

Az alkalmazásréteg alatti modulokat általában az operációs rendszer részének tekintik. Az adatok továbbítása ezen modulok között sokkal olcsóbb, mint az adatátvitel egy alkalmazásprogram és a szállítási réteg között. Az alkalmazásréteg és a szállítási réteg közötti határt operációs rendszer határának nevezzük.

Szigorú rétegzés

A rétegzett modell szigorú betartása, a szigorú rétegzés néven ismert gyakorlat, nem mindig a legjobb megközelítés a hálózatépítéshez. A szigorú rétegezés negatív hatással lehet a megvalósítás teljesítményére.

Míg a protokollrétegzés használata ma már mindenütt jelen van a számítógépes hálózatok területén, számos kutató kritizálta történelmileg, mivel a protokollköteg ilyen módon történő absztrakciója egy magasabb rétegben megkettőzheti egy alsó réteg funkcionalitását. a hibák helyreállítása linkenként és végpontok között.

Tervezési minták

A kommunikációs protokollok tervezésében és megvalósításában gyakran visszatérő problémákat szoftveres tervezési mintákkal lehet orvosolni .

Formális specifikáció

A kommunikáció szintaxisának népszerű formális módszerei az Abstract Syntax Notation One ( ISO szabvány) és a kibővített Backus – Naur forma ( IETF szabvány).

Véges állapotú gépmodelleket használnak a protokoll lehetséges kölcsönhatásainak formális leírására. és véges állapotú gépek kommunikálása

Protokoll fejlesztés

A kommunikációhoz protokollokat kell kiválasztani. A szabályokat algoritmusokkal és adatstruktúrákkal lehet kifejezni. A hardver és az operációs rendszer függetlenségét fokozza az algoritmusok hordozható programozási nyelven történő kifejezése. A specifikáció forrásfüggetlensége szélesebb interoperabilitást biztosít.

A protokoll -szabványokat általában egy szabványügyi szervezet jóváhagyásának vagy támogatásának megszerzésével hozzák létre , amely kezdeményezi a szabványosítási folyamatot. A szabványügyi szervezet tagjai vállalják, hogy önkéntesen ragaszkodnak a munka eredményéhez. Gyakran a tagok irányítják a protokoll szempontjából releváns nagy piaci részesedéseket, és sok esetben a szabványokat a törvény vagy a kormány érvényesíti, mert úgy gondolják, hogy fontos közérdeket szolgálnak, ezért a jóváhagyás megszerzése nagyon fontos lehet a protokoll szempontjából.

A protokoll szabványok szükségessége

A protokoll-szabványok szükségességét megmutatja, ha megnézzük, mi történt az IBM által feltalált bi-sync protokollal (BSC) . A BSC egy korai link szintű protokoll, amely két különálló csomópont összekapcsolására szolgál. Eredetileg nem többcsatornás hálózatban való használatra tervezték, de ez a protokoll számos hiányosságát feltárta. A szabványosítás hiányában a gyártók és a szervezetek szabadon fejleszthették a protokollt, és összeférhetetlen verziókat hoztak létre hálózataikon. Bizonyos esetekben ezt szándékosan tették, hogy eltántorítsák a felhasználókat más gyártók berendezéseinek használatától. Az eredeti bi-sync protokollnak több mint 50 változata létezik. Feltételezhetjük, hogy egy szabvány megakadályozta volna ennek legalább egy részét.

Bizonyos esetekben a protokollok piaci erőfölényre tesznek szert anélkül, hogy szabványosítási folyamaton mennének keresztül. Az ilyen protokollokat de facto szabványoknak nevezik . A de facto szabványok gyakoriak a feltörekvő piacokon, a niche piacokon vagy a monopolizált (vagy oligopolizált ) piacokon . Nagyon negatív szorításban tudják tartani a piacot, különösen akkor, ha a versenyt elriasztják. Történelmi szempontból a szabványosítást a de facto szabványok rossz hatásainak ellensúlyozására szolgáló intézkedésnek kell tekinteni. Vannak pozitív kivételek; egy olyan de facto szabványos operációs rendszer, mint a Linux, nem rendelkezik ezzel a negatív tapadással a piacon, mert a forrásokat nyílt módon teszik közzé és karbantartják, ezáltal versenyre ösztönözve.

Szabványügyi szervezetek

A kommunikációs protokollok szempontjából releváns szabványügyi szervezetek közül néhány a Nemzetközi Szabványügyi Szervezet (ISO), a Nemzetközi Távközlési Unió (ITU), az Elektromos és Elektronikai Mérnöki Intézet (IEEE) és az Internet Engineering Task Force (IETF). Az IETF fenntartja az interneten használt protokollokat. Az IEEE számos szoftver- és hardverprotokollt vezérel az elektronikai iparban kereskedelmi és fogyasztói eszközök számára. Az ITU a nyilvános kapcsolt telefonhálózatot (PSTN), valamint számos rádiókommunikációs rendszert tervező távközlési mérnökök ernyőszervezete . A tengeri elektronikához az NMEA szabványokat használják. A World Wide Web Consortium (W3C) protokollokat és szabványokat állít elő a webes technológiákhoz.

A nemzetközi szabványügyi szervezeteknek elfogulatlanabbnak kell lenniük, mint a helyi szervezeteknek, amelyeknek nemzeti vagy kereskedelmi érdekeiket kell figyelembe venniük. A szabványügyi szervezetek kutatást és fejlesztést is végeznek a jövő szabványaihoz. A gyakorlatban az említett szabványügyi szervezetek szorosan együttműködnek egymással.

A szabványosítási folyamat

A szabványosítási folyamat azzal kezdődik, hogy az ISO megbízást ad egy albizottsági munkacsoportra. A munkacsoport dolgozattervezeteket és vitaanyagokat bocsát ki az érdekelt feleknek (beleértve más szabványügyi testületeket is), hogy vitát és megjegyzéseket gerjesszen. Ez sok kérdést, sok vitát és általában nézeteltérést fog generálni abban, hogy mit kell a szabványnak nyújtania, és hogy képes -e minden igényt kielégíteni (általában nem). Minden ellentmondó nézetet figyelembe kell venni, gyakran kompromisszumként, a munkacsoport javaslattervezetéhez való előrelépéshez .

A javaslattervezetet a tagországok standard testületei és más szervezetek vitatják meg az egyes országokon belül. A megjegyzéseket és javaslatokat összegyűjtik, és nemzeti véleményeket fogalmaznak meg, mielőtt az ISO tagjai szavaznak a javaslatról. Ha elutasítják, a javaslattervezetnek figyelembe kell vennie a kifogásokat és ellenjavaslatokat, hogy új javaslattervezetet készítsen újabb szavazásra. A sok visszajelzés, módosítás és kompromisszum után a javaslat eléri a nemzetközi szabványtervezet státuszát , és végső soron a nemzetközi szabványt .

A folyamat általában több évet vesz igénybe. A tervező által készített eredeti papírvázlat lényegesen eltér a szabványtól, és az alábbi „jellemzőket” tartalmazza:

  • Különféle opcionális működési módok, például lehetővé teszik különböző csomagméretek beállítását az indításkor, mivel a felek nem tudtak konszenzusra jutni az optimális csomagméretről.
  • Paraméterek, amelyek nincsenek meghatározva, vagy megengedik, hogy a végrehajtó belátása szerint meghatározott halmaz értékeket vegyenek fel. Ez gyakran tükrözi egyes tagok ellentmondó nézeteit.
  • A későbbi használatra fenntartott paraméterek, amelyek azt tükrözik, hogy a tagok egyetértettek abban, hogy a létesítményt biztosítani kell, de nem tudtak megállapodni abban, hogy ezt a rendelkezésre álló időben hogyan kell megtenni.
  • A szabvány végrehajtása során elkerülhetetlenül különböző következetlenségeket és kétértelműségeket találunk.

A nemzetközi szabványokat rendszeresen újra kiadják, hogy kezeljék a hiányosságokat és tükrözzék a témával kapcsolatos változó nézeteket.

OSI szabványosítás

Az ARPANET , az internet elődje tanulsága volt, hogy a protokollok működéséhez keretrendszerre van szükség. Ezért fontos egy általános célú, jövőbiztos keretrendszer kidolgozása, amely alkalmas a strukturált protokollokra (például rétegzett protokollokra) és azok szabványosítására. Ez megakadályozná az egymást átfedő protokoll -szabványokat, és lehetővé tenné a protokoll felelősségének egyértelmű meghatározását a különböző szinteken (rétegekben). Ennek eredményeként született meg az OSI Open Systems Interconnection referenciamodell (RM/OSI), amelyet keretként használnak a szabványos protokollok és szolgáltatások tervezéséhez, amelyek megfelelnek a különböző réteg specifikációknak.

Az OSI modellben feltételezzük, hogy a kommunikáló rendszereket egy mögöttes fizikai közeg köti össze, amely alapvető (és nem meghatározott) átviteli mechanizmust biztosít. A felette lévő rétegek számozottak (egytől hétig); az n . réteget (n) rétegnek nevezzük. Minden réteg szolgáltatást nyújt a felette lévő rétegnek (vagy az alkalmazás folyamatának tetején) a közvetlenül alatta lévő réteg szolgáltatásainak használatával. A rétegek egy szolgáltatás -hozzáférési pontnak nevezett interfészen keresztül kommunikálnak egymással . Az egyes rendszerek megfelelő rétegeit peer entitásoknak nevezzük . A kommunikációhoz két társ-entitás egy adott rétegen (n) -protokollt használ, amelyet az (n-1) réteg szolgáltatásainak használatával valósít meg. Ha a rendszerek nincsenek közvetlenül csatlakoztatva, akkor köztes társ -entitásokat ( reléket ) használnak. A cím egyedileg azonosítja a szolgáltatás hozzáférési pontját. A cím elnevezési tartományokat nem kell egyetlen rétegre korlátozni, így lehetséges, hogy minden réteghez csak egy elnevezési tartomány használható. Minden réteg esetében kétféle szabvány létezik: protokoll -szabványok, amelyek meghatározzák, hogyan kommunikálnak az adott rétegen lévő társ -entitások, és szolgáltatási szabványok, amelyek meghatározzák, hogy az adott réteg hogyan kommunikál a felette lévő réteggel.

Az RM/OSI eredeti verziójában a rétegek és funkcionalitásuk (a legmagasabbtól a legalacsonyabb rétegig):

  • Az alkalmazásréteg a következő szolgáltatásokat nyújthatja a pályázati folyamatokhoz: a tervezett kommunikációs partnerek azonosítása, a kommunikációhoz szükséges jogosultság létrehozása, a partnerek elérhetőségének és hitelesítésének meghatározása, megállapodás a kommunikáció adatvédelmi mechanizmusairól, megállapodás a hibákért való felelősségről helyreállítás és eljárások az adatok integritásának biztosítására, az együttműködő alkalmazásfolyamatok közötti szinkronizálás, a szintaxisra vonatkozó korlátozások (pl. karakterkészletek és adatstruktúrák) azonosítása, a költségek és az elfogadható szolgáltatásminőség meghatározása, a párbeszéd fegyelem kiválasztása, beleértve a szükséges bejelentkezési és kijelentkezési eljárásokat .
  • A prezentációs réteg a következő szolgáltatásokat nyújthatja az alkalmazásréteg számára: kérés munkamenet létrehozására, adatátvitel, az alkalmazási rétegek közötti szintaxis egyeztetése, bármilyen szükséges szintaktikai átalakítás, formázás és speciális célú átalakítás (pl. tömörítés és adattitkosítás).
  • A munkamenetréteg a következő szolgáltatásokat nyújthatja a prezentációs réteg számára: munkamenet -kapcsolatok létrehozása és felszabadítása, normál és gyorsított adatcsere, karanténszolgáltatás, amely lehetővé teszi a küldő prezentációs entitás számára, hogy utasítsa a fogadó munkamenet -entitást, hogy ne adjon ki adatokat a prezentációs entitásnak anélkül, hogy engedély, interakciókezelés, így a prezentációs entitások szabályozhatják, hogy kinek a során áll bizonyos vezérlési funkciók végrehajtása, a munkamenet -kapcsolat újraszinkronizálása, a helyreállíthatatlan kivételek jelentése a prezentációs entitás felé.
  • A szállítási réteg megbízható és átlátható adatátvitelt biztosít költséghatékony módon, ahogyan azt a kiválasztott szolgáltatás minősége megköveteli. Támogathatja több szállítási kapcsolat multiplexelését egy hálózati kapcsolatra, vagy egy szállítási kapcsolatot több hálózati kapcsolatra oszthat fel.
  • A hálózati réteg végzi a hálózati útvonalak beállítását, karbantartását és felszabadítását a szállítási társ -entitások között. Amikor relékre van szükség, ez a réteg biztosítja az útválasztási és továbbítási funkciókat. A szolgáltatás minőségéről a hálózat és a szállító szervezetek tárgyalnak a kapcsolat létrehozásakor. Ez a réteg felelős a hálózati torlódások ellenőrzéséért is.
  • Az adatkapcsolati réteg elvégzi az adatkapcsolati kapcsolatok beállítását, karbantartását és felszabadítását. A fizikai rétegben előforduló hibákat észleli és kijavíthatja. A hibákat jelentik a hálózati rétegnek. Az adatkapcsolati egységek cseréjét (beleértve az áramlásszabályozást is) ez a réteg határozza meg.
  • A fizikai réteg olyan részleteket ír le, mint a fizikai kapcsolat elektromos jellemzői, az alkalmazott átviteli technikák, valamint a fizikai kapcsolatok beállítása, karbantartása és törlése.

Ellentétben a TCP/IP rétegzési sémával , amely kapcsolat nélküli hálózatot feltételez, az RM/OSI kapcsolatorientált hálózatot feltételezett. A kapcsolatorientált hálózatok jobban megfelelnek a nagy kiterjedésű hálózatokhoz, a kapcsolat nélküli hálózatok pedig inkább a helyi hálózatokhoz. A kapcsolatok használata a kommunikációhoz valamilyen munkamenet- és (virtuális) áramkört jelent, ezért a (hiányzó TCP/IP -modellben) munkamenetréteg. Az ISO alkotó tagjai többnyire nagy kiterjedésű hálózatokkal foglalkoztak, ezért az RM/OSI fejlesztése a kapcsolatorientált hálózatokra és a kapcsolat nélküli hálózatokra összpontosult csak az RM/OSI kiegészítésében. Abban az időben az IETF -nek meg kellett birkóznia ezzel és azzal a ténnyel, hogy az Internetnek olyan protokollokra van szüksége, amelyek egyszerűen nem léteznek. Ennek eredményeként az IETF kifejlesztette saját szabványosítási folyamatát, amely "durva konszenzuson és futó kódon" alapul.

A szabványosítási folyamatot az RFC2026 írja le .

Napjainkban az IETF szabványszervezetévé vált az interneten használt protokolloknak. Az RM/OSI kiterjesztette modelljét a kapcsolat nélküli szolgáltatásokra, és emiatt mind a TCP, mind az IP nemzetközi szabványokká fejleszthető.

Taxonómiák

A protokollok osztályozási sémái általában a felhasználási területre és a funkcióra összpontosítanak. A használati tartomány példájaként a kapcsolat-orientált protokollokat és a kapcsolat nélküli protokollokat használják a kapcsolat-orientált hálózatokon és a kapcsolat nélküli hálózatokon. A funkció egy példája az alagútprotokoll , amely csomagokat tartalmaz egy magas szintű protokollba, hogy a csomagokat a magas szintű protokoll segítségével továbbítsák egy szállítási rendszeren.

A rétegezési séma ötvözi a funkciót és a felhasználási területet. Az IETF és az ISO által javasolt rétegrendszerek dominálnak. Annak ellenére, hogy a rétegzési rendszerek mögöttes feltevései eléggé különböznek a kettő megkülönböztetéséhez, általános gyakorlat, hogy összehasonlítják a kettőt úgy, hogy közös protokollokat kapcsolnak a két rendszer rétegeihez.

Az IETF rétegzési sémáját Internet rétegzésnek vagy TCP/IP rétegzésnek nevezik .

Az ISO rétegzési sémáját OSI modellnek vagy ISO rétegzésnek nevezik .

A hálózati berendezések konfigurációjában gyakran megkülönböztetik a legkorszerűbb megkülönböztetést: A "protokoll" kifejezés szigorúan a szállítási rétegre, a "szolgáltatás" pedig a "protokollt" használó protokollokra vonatkozik. A TCP és az UDP gyakori esetében a szolgáltatásokat portszámok alapján különböztetjük meg. Ezeknek a portszámoknak való megfelelés önkéntes, ezért a tartalom -ellenőrzési rendszerekben a "szolgáltatás" kifejezés szigorúan a portszámokra vonatkozik, az "alkalmazás" kifejezés pedig gyakran az ellenőrzési aláírásokkal azonosított protokollokra vonatkozik.

Lásd még

Megjegyzések

Hivatkozások

Bibliográfia

További irodalom

Külső linkek