Az informatikában a protokoll egy egyezmény, vagy szabvány, amely leírja, hogy a hálózat résztvevői miképp tudnak egymással kommunikálni. Ez többnyire a kapcsolat felvételét, kommunikációt, adat továbbítást jelent.

Gyakorlati szempontból a protokoll azt mondja meg, hogy milyen sorrendben milyen protokoll-üzeneteket küldhetnek egymásnak a csomópontok, illetve az üzenetek pontos felépítését, az abban szereplő adatok jelentését is megadja.

A protokolloknak igen sok, és teljesen eltérő filozófiájú formája létezik. Vannak olyan protokollok, melyek minden apró részletet definiálnak (például ATM), és vannak, amelyek sok technikai kérdést nyitva hagynak, és rábízzák az implementálóra (például TCP protokollnál implementáció függő a csomagküldés sebességének megválasztása). Az előbbiek főleg a távközlésre jellemzőek, utóbbiakat főleg a kommunikációt informatikai oldalról közelítőkre jellemző. Előbbi előnye a jó kompatibilitás, utóbbié a rugalmasság.

Példa szerkesztés

Két eszköz között a kommunikációt általában nem egy, hanem több protokoll valósítja meg. Ezek többnyire egymásra épülnek. Erre jó példa az TCP/IP Ethernet hálózaton. Ha a wikipedia oldalakat böngésszük, a böngészőnk HTTP protokoll segítségével éri el a kiszolgáló webszervert. A HTTP a web protokollja. Hogy odaérjen, a számítógépünk becsomagolja TCP-protokoll szerint is (a TCP segítségével tud két eltérő számítógépen lévő program beszélgetni). Ezt a számítógépünk tovább csomagolja IP-csomagokba (az IP az internet alapprotokollja), hogy így utazzon át az interneten. Az IP-csomagok, ha helyi hálózaton közlekednek, Ethernet-keretekbe vannak csomagolva, mert Ethernet "nyelven" beszélget egymással két hálókártya. Ez aztán elektromos jelek formájában (amelyeket szintén protokoll ír le) elhagyja a számítógépünket. Miután megérkezett rendeltetési helyére, ott a csomagolási folyamat a másik irányba is megtörténik, és a webszerver megkapja a kérésünket.

Tervezési szempontok szerkesztés

Hatékonyság szerkesztés

Egy protokoll hatékonynak számít, ha jól gazdálkodik az erőforrásokkal, például egy vezeték nélküli protokoll adatokkal tömi teli a számára rendelkezésre bocsátott frekvenciatartományt. Többnyire valójában azt értjük hatékonyságon, hogy az adott körülmények között a legnagyobb sávszélességet, legkisebb késleltetést stb. biztosíthassuk, miközben a vezérlő protokollok által generált "nem hasznos" forgalom a lehető legkevesebb legyen. A hatékonyság elérésének több módja van. Egy hagyományos telefonos kapcsolat kb. 3.4kHz-nyi frekvenciatartományt biztosít. Jelenleg a legfejlettebb kódolási technikákkal ebből 51-54 kbps-et ki is tudunk használni (64kbps az elméleti maximum!), korábban ennek csak töredékére (28.8, 14.4kbps) volt mód. Másik példa a hatékonyságra az Ethernet ütközés-elkerülési megoldása (lásd ISO 802.3).

Megbízhatóság szerkesztés

Alapvető elvárás, hogy a hálózati forgalom ne szakadjon meg. Ezt például különböző hibaérzékelő és -javító mechanizmusokkal szoktuk biztosítani. Fontos az is, hogy ha a hálózati körülmények nem ideálisak, azt ne a hálózat teljes összeomlása, hanem legfeljebb a teljesítmény arányos csökkentése kövesse.

Skálázhatóság szerkesztés

Ez a fogalom azt takarja, hogy a hálózatnak nem csak néhány számítógépre, de akár egy világméretű hálózatra is jól kell működnie (gyakori gond, hogy egy központi szerver irányítja a kommunikációt, és ott szűk keresztmetszet alakul ki, ha bővítenénk a hálózatot). Jól skálázható protokollra példa a DNS, amely egy elosztott rendszer protokollja. Rosszul skálázhatónak számít a kis hálózatokra kifejlesztett NetBEUI.

Szabványosító szervezetek szerkesztés

Az internet protokolljait az IETF (Internet Engineering Task Force) jegyzi, ezek RFC-ben jelennek meg. Az első javaslatokat Proposal-nak hívják. Egy bizonyos érési folyamat után ez Draft-tá válik, amely még mindig nem végleges, de erre már sok megvalósítást (implementációt) szoktak alapozni. RFC-nek tulajdonképpen már a kész, lezárt dokumentumot nevezzük. Példák: az IP-protokollt először az RFC 791, a HTTP-t az RFC 2616 írja le.

Fontos szabványosító szerv az IEEE (Institute of Electrical and Electronics Engineers), amely a villamosmérnökök és informatikusok nemzetközi szervezete. Igen sok szabványt az ehhez a szervezethez tartozó munkacsoportok hoztak létre, ilyen például az IEEE 802.11, amely a vezeték nélküli helyi hálózatokat írja le, vagy az Ethernet protokollt definiáló IEEE 802.3.

Jelentős még a sok más szabvánnyal is foglalkozó ISO szervezet, amelyhez leginkább az OSI protokoll definiálása köthető, amely még a mai napig is állatorvosi lóként szolgál a hálózatok oktatására (jó szemléltető eszköz, és jó példa arra is, hogy miért nem szabad túlbonyolítani egy szabványt).

Távközlési protokollok származnak az ITU-T-től (International Telecommunication Union, Telecommunication Standardization Sector), és mobiltelefonra vonatkozó protokollok az ITU-R-től. Szintén távközlési szabványosító szervezet az ETSI (European Telecommunications Standards Institute).

Ezek a szervezetek együttműködnek a nagy jelentőségű szabványok kialakításánál, bevonva az ipar jelentős szereplőit (fejlesztőket, felhasználókat egyaránt). Erre az együttműködésre jó példa a 3. generációs mobil hálózatok tervező 3GPP (3rd Generation Partnership Project)

Protokoll családok szerkesztés

Zárt szabványok:

  • AppleTalk
  • DECnet
  • IPX/SPX
  • SMB
  • Systems Network Architecture (SNA)
  • Distributed Systems Architecture (DSA)
  • Insrt

Nyílt szabványok