Nekem megvannak a múlt nagy régészeinek
munkái. Én aztán mérlegre teszem ôket,
[...] kiemelem az igazat és eljutok egy következtetésre.
Ez a tudományos módszer."
/Lord Dorwin áltudós. I. Asimov:
Alapítvány/
Az OSI szabványosított egy hálózati referencia modellt. Ez a modell adja az összes OSI hálózati szabvány keretét. A nyílt rendszerek elterjedésével, egyre inkább alapvetôvé válik, általános trend, hogy még az olyan hálózatok is, melyek eredetileg nem az OSI referencia modell alapján készültek, fejlôdésükben, terminológiájukban és látásmódjukban mára már sokban hasonlítanak az OSI által elképzelthez.
Az OSI referencia modell kommunikáló entitások viszonyaiban írja le a hálózat mûködését. Egy a kommunikációban résztvevô berendezés belsejében több, egymástól jól elkülöníthetô egységet entitást tételez fel, melyek mindegyike más-más feladatot valósít meg. Például az egyik felelôs a jeleknek a kábelre való juttatásáért, egy másik a titkosításért vagy az információ célbajuttatásához a megfelelô útvonal kiválasztásáért.
Az entitások kommunikációs szolgáltatásokat nyújtanak, mint például bitfolyam átvitele, információcsomagok hibamentes átvitele vagy dialógusokba szervezett kommunikáció. Ezeket a szolgáltatásokat vagy az alkalmazások (és azon keresztül a felhasználó) veszi igénybe vagy egy másik hálózati entitás, mely a felhasznált szolgáltatások segítségével többletszolgáltatásokat nyújt.
Az entitások egymásra épülnek tehát, más (alacsonyabbrendû) entitások szolgáltatásait felhasználva nyújtják a maguk (bôvebb vagy jobb minôségû) szolgáltatását a felsôbb szintû entitásoknak. A legfelsô szint fölött található a felhasználó.
Az OSI 7 szintet (vagy réteget) határozott meg.
Bár az egyes rétegek funkcióit az OSI pontosan rögzítette, a gyakorlatban meglehetôsen tág például a hálózati réteg elnevezés használata. Ennek az az oka, hogy a gyakorlatban mûködô hálózatok nem pontos OSI megvalósítások. Szinte minden hálózatban létezik azonban valamiféle rétegezés, esetleg referencia modell (például TCP/IP, SNA) mely a legtöbbször hasonlít az OSI modellre, csak a rétegek határai helyezkednek el máshol.
Az elkövetkezendôkben röviden sorra vesszük a
számunkra érdekes rétegeket.
A fizikai réteg felelôs a hálózat hardware
elemeinek közvetlen kezeléséért, a biteknek
a kábelre juttatásáért". Itt rögzítik
a közvetítô médium fizikai és elektromos
tulajdonságait. (Például csatlakozóméret
és lábkiosztás valamint a jelszintek vagy a
kódolás.) A tipikus szolgáltatás bitfolyam
átvitele olyan bithiba aránnyal, amilyet az adott fizikai
közvetítô közeg lehetôvé tesz.
Az adatkapcsolati réteg szolgáltatása a két szomszédos (közvetlen fizikai összeköttetéssel rendelkezô) berendezés közötti, biztonságos bitfolyam átvitel. A bitfolyamot többnyire egységekre tördelik, melyeket kereteknek (frame) hívunk. A réteg úgy teszi biztonságossá az átvitelt, hogy ha hibás keret érkezik, akkor annak újraküldését kéri mindaddig, amíg az hibamentesen meg nem érkezik. A szolgáltatás kiterjed 2. szintû kapcsolatok létrehozására, adatátvitelre és a kapcsolat lebontására.
Szokásos az adatkapcsolati réteget 2 független alrétegként kezelni.
Az alsót közeghozzáférési (Medium Access
Control) alrétegnek nevezzük, a fölsôt pedig
kapcsolatvezérlési (Logical Link Control) alrétegnek.
A MAC alréteg feladata a közeghez való
hozzáférés, a kereteknek a kábelre való
juttatása (az adási jog megszerzése és az
adás), míg az LLC ellenôrzi a vett keretek
épségét, kéri és végzi az
újraküldést és szervezi a kapcsolatot. Mindezt
természetesen a MAC réteg szolgáltatásainak (keret
adása és vétele) felhasználásával.
A hálózati réteg végzi a történelmileg kialakult nagykiterjedésû hálózatokon belüli adattovábbítást, valamint két különbözô fizikai hálózat közötti átjárást. Például az IP (egy hálózati protokoll) képes kapcsolatot teremteni a világ bármely két, az Internetbe kapcsolt számítógépe között, bár közben a legkülönfélébb fajta átviteli közegeken (2. rétegbeli berendezések) halad át az információ.
Az adategységet ezen a szinten csomagnak hívjuk.
A hálózati protokollok két részre oszthatók:
Az elôbbiek esetén az adatok átvitele elôtt szükség van valamiféle kapcsolatfelvételre a két végpont között. Minden csomagot ellátunk a kapcsolat azonosítójával, így a hálózat a már kiépült útvonalon keresztül továbbíthatja csomagjainkat. Ez azzal az elônnyel jár, hogy nem kell minden csomagba elhelyeznünk a címzett és a feladó címét, csupán a kapcsolat azonosítóját. Ezenfelül a hálózatnak nem kell minden egyes alkalommal kitalálnia, hogy milyen útvonalon továbbítsa a csomagot, hiszen a kapcsolat felépítésekor az útvonal rögzül. A kapcsolatorientáltság legjobb analógiája a telefonhálózat, ahol a beszélgetés a híváskor kiépült vonalon zajlik. Tipikus kapcsolatorientált hálózati protokoll az X.25, a Frame Relay és az ATM.
A második, kapcsolatmentes esetben az adattovábbításhoz nincsen szükség kapcsolatfelvételre, egyszerûen veszünk egy csomagot, megcímezzük és a hálózatra bízzuk annak továbbítását. Ilyen például az IPX, az SMDS és az IP is. A datagram hálózatokban elmarad a kapcsolatfelépítés által okozott késleltetés. Ez a megoldás ezen felül sokkal robosztusabb is. Ha ugyanis egy kapcsolatorientált hálózatban kiépült kapcsolatunk közepén valamilyen hiba keletkezik, a kapcsolat megszakad. A datagram jellegû hálózatok esetében viszont minden csomag egyedi elbírálás alá esik és ha egy útvonal megszûnik, akkor egy másikon még célbajuthat a csomag. Arról, hogy hiba történt, a kommunikáló felek nem is értesülnek. A datagram jellegû hálózatok legjobb analógiája a postai levéltovábbítás, ahol a megcímzett borítékot egyszerûen beejtjük a postaládába, s az célbajut még vasutassztrájk esetén is, legfeljebb kis késleltetéssel.
Minthogy a kapcsolat-orientált esetben minden csomag ugyanazon az útvonalon halad, könnyû elérni, hogy a csomagok a feladási sorrendben érkezzenek meg. A datagram jellegû hálózatoknál ez nem garantálható, hisz két csomag nem feltétlenül ugyanazon az útvonalon halad és a késôbb elküldött megelôzheti a korábbit.
Trend, hogy a két paradigma lassan összemosódik. Mind
a kapcsolatorientált ATM hálózatokban léteznek
datagram jellegû megoldások, amik rövid és ritka
üzenetek elküldését teszik lehetôvé
a költséges kapcsolatfelépítés
nélkül, mind a datagram jellegû Internetben terjed el egyre
inkább a folyam (flow) fogalma az olyan csomagsorozatokra, melyek
megadott útvonalon haladnak. Ezen utak mentén ugyanis
erôforrások lefoglalásával garantálni lehet,
hogy az adott folyamhoz tartozó csomagok nem szenvednek túl
nagy késleltetést. Ezek a módszerek egyesítik
a két paradigma elônyeit.
A transzport réteg az elsô vég-vég réteg. Az OSI definíció szerint a világ bármely két számítógépe között lehet vele kapcsolatot teremteni, függetlenül a közbeesô hálózati rétegektôl. A gyakorlatban azonban a 4. szintû protokollok erôsen kötôdnek egy hálózati protokollhoz (TCP és UDP az IP-hez, SPX az IPX-hez, stb.), nem pedig az azoktól való függetlenséget valósítják meg, hanem inkább valamiféle többletszolgáltatást nyújtanak.
Így például datagram jellegû hálózatok
fölött is létezik kapcsolat-orientált transzport
protokoll (például a TCP az IP és az SPX az IPX felett).
Maga a hálózati protokoll azonban ettôl még
szigorúan datagram jellegû és csak a végpontok
tudnak" a kapcsolat kiépülésérôl. A
kapcsolat léte alatt elküldött információ
közönséges csomagok formájában utazik, akár
mindegyik csomag teljesen más útvonalon. A végpontok
feladata a sorbarendezés és ezzel sorrendhelyes átviteli
szolgáltatás nyújtása. Az ilyen
szolgáltatást igénybe vevô fölsôbb
rétegnek azonban nem is kell tudnia arról, hogy maga a
hálózat nem kapcsolat-orientált.
Az OSI réteg felsô 3 szintjének tárgyalása meghaladja ezen dolgozat kereteit. Egyrészt azért, mert a megjelenítési és viszonyréteg funkcióit igen gyakran az alkalmazásokba integrálják, másrészt pedig azért, mert értekezésünk fókuszában inkább a hálózat technikai aspektusai állnak, nem pedig az azon mûködô alkalmazások. A technikai rész pedig inkább az alsó rétegekben található.
Az OSI modell kidolgozása óta egyre inkább teret nyer. Ez ugyan elsôsorban a nyílt rendszerek iránt való igény miatt van így, azonban a réteges felépítés alapvetô elônyökkel jár:
Az OSI referencia modell azonban számos korláttal bír. Ezek egy részben referencia modell OSI-féle megfogalmazásából erednek, másrészben pedig magából a referencia modell tényébôl adódnak.
Az tehát, hogy egy hálózati technikát hányadik rétegbe sorolunk, nem a fölötte és alatta levô rétegek számától függ, hanem a funkció jellegétôl. Ez azonban nem mindig állapítható meg egyértelmûen. Példaként az ATM-et említeném. Maga az ATM réteg, ami már kiépült kapcsolaton keresztül képes cellákat továbbítani az OSI modell szerint leginkább hálózati rétegnek nevezhetô, bár funkciói közül hiányzik például a kapcsolat kiépítése, ami pedig az OSI modell hálózati szintjén már követelmény lenne. Az e fölött mûködô ATM adaptációs réteg végezheti el a csomagoknak cellákká történô szétdarabolását és összerakását, lehetôvé téve ezzel csomagoknak az ATM hálózaton való továbbítását. Ilyen réteg az OSI-ban egyáltalán nincs. Nem is beszélve arról, hogy e fölött a réteg fölött többnyire valamilyen klasszikus" harmadik rétegbeli, hálózati protokollt futtatunk.
E kis kitérô talán jól érzékelteti, hogy az OSI referencia modell valóban csak hivatkozási alap és nem pedig a hálózatok mûködésének precíz kerete.