2017. június 1., csütörtök

OSI modell részei és feladatai


OSI Referenia Modell: Bevezetés

Hierarchikus kommunikáció
OSI rétegek

Alkalmazási réteg
Megjelenítési réteg
Együttmûködési réteg
Szállítási réteg
Hálózati réteg
Adatkapcsolati réteg
Fizikai réteg


OSI Referenia Modell: Bevezetés

   A számos különbözõ tervezésü számítógép közötti adatmozgatás egy rettenetesen nagy feladat. A nyolcvanas évek elején a Nemzetközi Szabványügyi Szervezet (International Organization for Standardization ,ISO) elismerte a szükségességét egy olyan hálózati modellnek, amely segítségével a legkülönbözõbb gyártó cégek legkülönfélébb termékei gond nélkül kommunikálhatnak egymással.

   A modellt ISO OSI (Open System Interconnection- nyílt rendszerek összekapcsolása) hivatkozási modellnek nevezték ez, mivel nyílt rendszerek összekapcsolásával foglalkozik -azaz olyan rendszerekkel, amelyek nyitottak más rendszerekkel való kommunikációra. A modell hét rétegbõl áll, az alapelvek, melyek a kialakításukhoz vezettek, a következõk voltak:



A rétegek különbözõ absztrakciós szinteket képviseljenek
Minden réteg jól definiált feladatot hajtson végre.
A rétegek feladatának megválasztásakor nemzetközi szabványok kialakítására kell törekedni
A réteghatárok megválasztásakor a rétegek közötti információcsere minimalizálására kell törekedni.
A rétegek számának megfelelõen nagynak kell lenni ahhoz, hogy különbözõ feladatok ne kerüljenek szükségtelenül egy rétegbe, ugyanakkor elég kicsinek kell lenni ahhoz, hogy a szerkezet ne váljon nehezen kezelhetõvé.
   Látható, hogy maguk az alapelvek általánosak, maga a modell nem egy hálózati architektúra, hiszen nem határoz meg konkrét protokollokat és szolgálatokat az egyes rétegekben. Csak azt mondja meg, hogy a rétegeknek mit kellene, mit lenne ajánlatos csinálniuk.

   OSI referenciamodell, köszönhetõen a kompatibilitási törekvéseinek, rövid idõ alatt számítógépek közötti kommunikáció elsõdleges szabványa lett, s ma is a legjobb eszköz a hálózati technikák bevezetéséhez, tanukmányozásához.



Hierarchikus kommunikáció

   Tervezettségük összetettségének csökkentése érdekében a számítógép hálózatokat rétegekbe (layer) vagy szintekbe (level) szervezik, amelyek mindegyike az azt megelõzõre épül.

   Az egyik gépen lévõ n. réteg a másik gép n. rétegével kommunikál. Azokat a funkcionális egységeket, amelyek a különbözõ gépeken az egymásnak megfelelõ rétegeket magukba foglalják, társfolyamatoknak nevezzük. Igazából tehát nem a rétegek, hanem a társfolyamatok azok, amelyek a protokollok felhasználásával kommunikálnak egymással. A valóságban nem az egyik gépen lévõ n. réteg küldi az adatot a másik gépen lévõ n. rétegnek. Ehelyett minden egyes réteg adat-, és vezérlõinformációkat ad át az alatta elhelyezkedõ rétegnek. Az 1. réteg alatt a fizikai közeg van, amin a tényleges kommunikáció zajlik.

   A szomszédos rétegpárok között egy interfész húzódik. Az interfész az alsóbb réteg által a felsõbbnek nyújtott elemi mûveleteket, és szolgálatokat definiálja. Amikor a hálózattervezõk eldöntik, hogy egy hálózat hány rétegbõl álljon, és hogy azok milyen funkciókat foglaljanak megukba, akkor legfontosabb szempontként éppen azt veszik figyelembe, hogy a rétegek között tiszta interfészeket definiálhassanak. Ehhez viszont az kell, hogy az egyes rétegek egyértelmûen definiált funkcióhalmazból álljanak. Ésszerû továbbá az a meggondolás is, hogy a rétegek közötti információcsere minimális legyen.

   A hierarchikus kommunikáció megértésére egy egyszerû, de célravezetõ példa két, egymás nyelvén nem értõ (görög - indonéz) filozófus hálózati kommunikációja.

   Mivel filozófusaink egymás nyelvét nem értik, így kénytelenek egy-egy tolmácsot alkalmazni, akik viszont, mivel nem értenek a modern kor technológiáihoz, egy-egy technikust alkamaznak, akik a kommunikációs eszközt kezelik.

A kapcsolat felépülésekor az egyik elmélkedõ a saját nyelvén (mondjuk görögül) kifejti a nézeteit az ógörög istenek étkezési szokásairól.
A mondandó eljut a saját tolmácsához, aki egy bizonyos nyelvre lefordítva továbbítja a technikusnak. (A példában feltételeztük, hogy elérhetõ közelségben nincs filozófiai beállítottságú görög - indonéz tolmács.) Azt, hogy ez milyen nyelv legyen, a másik tolmáccsal való megegyezés eredménye, ami lehet akár angol, akár francia, német, magyar, finn, vagy orosz is.
Ezután a technikusok szintén egymással való egyeztetés útján a megbeszélt adathordozón (telefon, fax, e-mail) kicserélik az információikat
Majd az elõzõ lépések a túloldalon visszafelé ugyan, de lejátszódnak.
   A példában észre lehet venni, hogy az egyes protokollok (személyek) teljesen függetlenek egymástól. A fordítók a beszélgetés közepén nyugodtan áttérhetnek héber nyelvre is, a technikusok is eszközt válthatnak, hiszen ebbõl a két filozófus semmit nem észlel.

   Az általános után egy technikaibb jellegû példaként látható, hogyan valósítható meg az ábrán látható hétrétegû hálózat legfelsõ rétegének kommunikációja. Az m üzenetet a 7. rétegben futó folyamat állítja elõ. Az üzenet a 6/7 interfész által meghatározott módon kerül át a 7. rétegbõl a 6.ba. A 6. réteg valamilyen módszer szerint átalakítja az üzenetet, amely így új formában: M kerül át az 5/6 interfészen az 5. rétegbe. Az 5. réteg - konkrétan ebben a példában - nem módosítja az üzenetet, csak az üzenetáramlás irányát szabályozza, azaz megakadályozza a beérkezõ üzenetnek a 6. réteg felé való továbbítását addig, amíg a 6. réteg az 5. réteg felé küldendõ üzenetek kézbesítésével van elfoglalva.

   Sok hálózatban nincs korlátozva a 4., de korlátozva van a 3. réteg által elfogadható üzenetek mérete. Tehát a 4. rétegnek kisseb darabokra kell széttördelnie az 5. rétegtõl érkezõ üzeneteket, és az üzenetdarabok mindegyikét fejrésszel(header) kell ellátnia. Az üzenetdarabkák elejére kerülõ fejrészek vezérlõinformációkat tartalmaznak, például sorszámokat, amelyek lehetõvé teszik, hogy a címzett gép 4. rétege sorrendhelyesen összerakhassa a vett üzenetdarabkákat, elõállítva ezzel a szétdarabolás elõtti eredeti üzeneteket. Sok rétegben a fejrészek méreteket, idõket, és más egyébv vezérlõinformációkat tartalmazhatnak.

   A harmadik réteg a kimenõ vonalak közül választ, az üzenethez hozzáragasztja a saját fejrészét, majd átadja az adatot a 2. rétegnek. A 2. réteg nemcsak az üzenetdarabkák elejéhez, hanem azok végéhez is illeszt vezérlõinformációkat - Ezeket a szakirodalom farokrésznek, trailernek nevezi. Az így keletkezõ egységeket azután átadja az 1. rétegnek. A vevõoldali gépen az üzenet rétegrõl rétegre felfelé halad, miközben a fejrészektõl fokozatosan megszabadul. Logikus, mégis alapvetõ követelmény, hogy az n. réteg alatti fejrészek nem juthatnak fel az n. réteghez..

A hierarchikus kommunikációval kapcsolatban a virtuális és a tényleges kommunikáció közötti, valamint a protokollok ;és az interfészek közötti különbséget kell megérteni.



1.ábra
Hierarchikus kommunikáció az OSI modellben

OSI rétegek

A következõkben a modell hét rétegének a jellemzése olvasható:

Fizikai réteg

   A fizikai réteg a bitek kommunikációs csatornára való kibocsájtásáért felelõs. Biztosítania kell, hogy az adó oldalon kibocsájtott 1-et a vevõ is 1-ként értelmezze. A tipikus kérdések : hány voltnyi feszültségkülönbség ábrázolja a logikai 1-et, a 0-t, mány mikroszekundum hosszú legyen 1 bit, egyidõben lehessen-e mindkét irányban adatátvitel, hogyan épüljön fel, illetve bomoljon le a kapcsolat, valamint ide tartoznak a szó szoros értelemben fizikai megvalósítások: hány tüskéje legyen egy hálózati csatlakozónak, milyen funkciókkal legyenek felruházva, stb.

A tervezési kérdések itt a mechanikai, elektromos, interfészekkel, valamint a fizikai közeggel kapcsolatosak. Ezek a feladatok a hagyományos villamosmérnöki munkák.

Az adatkapcsolati réteg.

   Az adatkapcsolati réteg alapvetõ feladata az, hogy egy tetszõlegesen kezdetleges adatátviteli eszközt olyan adatátviteli vonallá transzformáljon, amely a felette lévõ, tehát a hálózati réteg számára átviteli hibától mentesnek tûnik.

   Ezt úgy valósítja meg, hogy a küldõ fél a bemenõ adatokat adatkeretekké tördeli, a kereteket sorrendhelyesen továbbítja, majd a vevõ nyugtakereteit feldolgozza. Mivel a fizikai réteg csupan a bitfolyam adásával, valamint vételével foglalkozi, ennek a rétegnek a feladata az adatkerethatárok létrehozása, felismerése. Ezt speciális bitmintáknak a keretek elé, illetve mögé helyezésével éri el.

Az adatkapcsolati réteg feladata továbbá, csak felsorolásszerûen:

Elveszett keretek újraadása.
Esetlegesen, tévedésbõl elõforduló kettõzött keretek kivonása.
A forgalom szabályozása, melyre a gyors adók miatt van szükség, amlyek adatelárasztással fenyegethetik a lassú vevõket.
Az A-B irányú adatkeretforgalom, valamint a B-A irányú nyugtakeretforgalom szabályozása, kezelése.
A hálózati réteg.

   A hálózati réteg a kommunikációs alhálózatok mûködését vezérli. Talán a legfontosabb feladata a csomagok forrás-, és célállomás közötti útvonalának meghatározása. Az útvonalak meghatározása lehetséges statikus, hálózatba behuzalozott, ritkán változtatandó táblák segítségével. Az útvonalak azonban meghatározhatók a kommunikáció kezdetén is, pl egy terminál viszony felépülésekor, és végül teljesen dinamikusan, minden egyes csomagra külön, külön is meghatározható az útvonal.

   Ha túl sok csomag van egyszerre az alhálózatban, akkor egymás útjába kerülhetnek, torlódás alakulhat ki. Az ilyen jellegü torlódás elkerülése ugyancsak a hálózati réteg hatáskörébe tartozik.

   Mivel az alhalózat operátorai méltán várhatnak bizonyos "ellenszolgáltatast" erõfeszítéseik fejében, a hálózati rétegbe gyakran valamilyen számlázasi funkciót építenek. A szoftvernek legalább a felhasználók által forgalmazott csomagok, karakterek vagy bitek számát kell számolnia ahhoz, hogy a legalapvetõbb számlázasi információk rendelkezésre álljanak. Ha egy csomag országhatárokat lép át, és az országokban eltérõek a tarifák, vagy más számlázási módszerek honosak, akkor a számlázási feladatok jelentõsen nehezülhetnek.

   Több probléma is felmerülhet akkor, ha egy csomagnak a célállomás eléréséhez több hálózaton kell keresztülhaladnia. Eltérõ lehet a hálózatok címzesi módszere, különbözhetnek a maximális csomagméreteik és protokolljaik is. E problémák megoldásáért, azaz a heterogén hálózatok összekapcsolásáért a hálózati réteg a felelõs.

  Üzenetszórásos hálózatokban az útvonalválasztási mechanizmus igen egyszerû, így a halózati réteg általában vékony, sokszor nem is létezik.

A szállítási reteg

   A szállítási réteg (transport layer) alapvetõ feladata az, hogy adatokat fogadjon a viszonyretegtõl, kisebb darabokra vágja szét azokat (ha szükséges), majd adja tovább a halózati rétegnek és biztosítsa, hogy minden darab hibátlanul megerkezzék a másik oldalra. Továbbá, mindezeket hatékonyan kell végrehajtania, ráadasul oly módon, hogy a viszonyréteg elõl el kell fednie a hardvertechnikában elkerülhetetlenül bekövetkezõ valtozásokat.

   Közönséges körülmények között a szállítasi réteg minden szállítasi összeköttetés számára, amelyek a viszonyréteg kérésére jönnek létre, egy-egy hálózati összeköttetést hoz létre. Ha azonban a szállítási összeköttetésnek nagy áteresztõképességgel kell rendelkeznie, akkor a szállítási réteg több hálózati összeköttetést is létrehozhat. és így az adatokat több hálózati összeköttetés között megosztva növelheti az átvitt adatok mennyiséget. Másrészrõl azonban, ha egy hálózati összeköttetés létrehozása vagy fenntartása költséges, akkor a szállítási réteg több szállítási összeköttetést nyalábolhat össze egyetlen hálózati összeköttetésre. Ez nyilvánvalóan költségcsökkenést eredményez. Mindkét esetben azonban e mûveleteknek átlátszóknak kell maradniuk a viszonyréteg számára.

   A szállítási réteg a viszonyrétegnek, így végsõ soron a hálózat felhasználóinak nyújtott szolgáltatás minõségét is meghatározza. A szállítási összeköttetés legnépszerûbb típusa a hibamentes, két pont közötti csatorna, amelyen az üzenetek az elküldés sorrendjében érkeznek meg. Egy másik fajta szállítási szolgáltatásnál egymástól függetlenül, nem sorrendhelyesen valósul meg az üzenetek továbbítása. Egy harmadik típusnál pedig egy célállomáscsoportnak küldenek üzeneteket. A szolgáltatás típusát az összeköttetés felépítésekor kell meghatározni.

   A szállítási réteg egy valódi forrás - cél, vagy másképpen két végpont közötti (end-to-end) réteg. A forrásgépen levõ program üzenetfejrészeket és vezérlõüzeneteket használva párbeszédet folytat a célgépen levõ hasonló programmal. Az alsóbb rétegekben a protokollok az egyes gépek és azok közvetlen szomszédai között teremtenek kapcsolatot, nem pedig a valódi forrás és cél között, közöttük ugyanis akárhány IMP is lehet.

   Sok hoszt multiprogramozható, amely lehetõvé teszi, hogy egy gépben akár több összeköttetes is felépülhet. Szükség van tehát egy olyan módszerre, amellyel ki lehet jelölni, hogy az üzenetek melyik kapcsolathoz tartoznak. A szállítási fejrész (H4 az 7. ábrán) tartalmazhat pl. erre vonatkozó információt.

   Több üzenetfolyam egyetlen csatornára való nyalábolásán kívül a szállítási rétegnek összeköttetések létrehozásáról is gondoskodnia kell a hálózatban. Ez valamilyen névadási mechanizmust követel, amelynek segítségével az egyik gépen müködõ folyamat valamilyen módon megnevezheti azt, amellyel társalogni akar. Ezenkívül, kell lennie egy, az információ áramlást szabályozó mechanizmusnak is azért, hogy egy gyors hoszt nehogy túlcsordulást okozzon egy lassúbbon. A hosztok közötti adatáramlás-vezérlés különbözik az IMP-k közöttitõl, bár a késõbbiekben látni fogjuk, hogy hasonló alapelvek alkalmazhatók mindkét esetben.

A viszonyréteg

   A viszonyréteg lehetõvé teszi, hogy különbözõ gépek felhasználói viszonyt (session) létesítsenek egymással. A viszonyréteg, akárcsak a szállítási réteg közönséges adatátvitelt tesz lehetõvé, de néhány olyan szolgáltatással kiegészítve, amelyek egyes alkalmazásokhoz hasznosak lehetnek. Egy viszony pl. arra alkalmas, hogy egy felhasználó bejelentkezzen egy távoli idõosztásos rendszerbe, vagy hogy állományokat továbbítson két gép között.

   A viszonyréteg egyik szolgáltatása a párbeszéd szervezése. .A viszonyok egyidõben egy- és kétirányú adatáramlást is lehetõvé tehetnek. Amennyiben a forgalom csak egyirányú lehet (hasonlóan az egyvágányos vonatforgalomhoz), a viszonyréteg segíthet a soron következõ nyomon követésében.

   Egy ehhez kapcsolódó viszonyszolgálat a kölcsönhatás-menedzseles (token management). Nehány protokoll számára alapvetõ fontosságú, hogy a két oldal egyidõben ne probálkozzon ugyanazzal a mûvelettel. E tevékenysegek menedzselésére a viszonyréteg kicserélhetõ vezérlõjeleket tart fenn. Csak a vezérlõjelet bíró oldalnak van joga a kritikus mûveletet végrehajtani.

   A viszonyréteg egy másik szolgálata a szinkronizáció (synchronization). Képzeljünk el egy olyan helyzetet, amikor egy hálózaton két gép között 2 órás állománytovábbítási mûvelettel próbálkozunk, de az 1 óra múlva valamilyen okból megszakad. Ilyenkor az egész mûveletet elölrõl kell indítani, de egy újabb halózati hiba megint csak megszakíthatja azt. A probléma kiküszöbölése érdekében a viszonyréteg lehetõvé teszi, az adatfolyamba ellenõrzési (szinkronizációs) pontok beépítesét, és így egy hálózati hibát követõen csak az utolsó ellenõrzési pont utan következõ adatokat kell megismételni.

A megjelenítési réteg

   A megjelenítési réteg (presentation layer) olyan feladatok végrehajtásáért felelõs, amelyek elég gyakoriak ahhoz, hogy altalanos megoldasúak legyenek, ahelyett, hogy a felhasználók esetenként külön-külön oldják meg azokat. Az alsó rétegektõl eltérõen, amelyek csak a bitek megbízható ide-oda mozgatasával foglalkoznak, a megjelenítési réteg az átviendõ információ szintaktikajaval és szemantikájával foglalkozik.

   Az adatok szabványos kódolása tipikus példája a megjelenítési réteg által nyújtott szolgálatoknak. A legtöbb felhasználói program nem véletlenül elõállított, bináris bitfüzéreket küld egymásnak, hanem neveket, dátumokat, pénzösszegeket, számlákon szereplõ adatokat stb. Ezeket a tételeket karakterfüzérként, egész és lebegõpontos számokként, és kisebb egységekbõl álló bonyolult adatstruktúrakként ábrázolják. A különbözõ számítógépek különbözõ kódokat használnak a karakterfüzérek (pl. ASCII és EBCDIC), az egész számok (egyes komplemens és kettes komplemens) stb. ábrázolására. Azért, hogy a különbözõ ábrázolásmódú számítógépek is kommunikálni tudjanak, a kicserélendõ adatstruktúrakat egy, a "vonalon" használandó szabványos kódolással absztrakt módon kell definiálni. Ezeknek az absztrakt adatstruktúraknak a kezelését, valamint a számítógépek egyedi adatábrázolásának egymásba konvertálását is a megjelenítési rétegnek kell elvégeznie.

   A megjelenítési réteg az információábrázolás más vonatkozásait is magába foglalja. Ilyen pl. az adatátvitel hatékonyabbá tételét elõsegítõ adattömörítés, továbbá a hitelesítést és titkosítást lehetõvé tevõ kriptografia.

Az alkalmazási réteg

   Az alkalmazási réteg széles körben igényelt protokollokat tartalmaz. például több száz inkompatíbilis termináltípus létezik ma a világon. Elképzelhetjük, hogy milyen is lehet egy olyan teljesképernyõs, hálózaton müködõ szõvegszerkesztõ megírása, amelynek akar több tucat különbözõ képernyõelrendezéssel, szövegbeírásra, törlésre, kurzormozgatásra való escape- szekvenciával stb. rendelkezõ termináltípus kezelésére kell felkészülnie.

   E probléma egyik megoldása az lehetne, hogy egy absztrakt hálózati virtuális terminált (network virtual terminal) kell definiálni, és a többi programot ezt felhasználva kellene megírni. A különbõzõ típusú terminálok kezelését a szoftver egy darabkájának kell megoldania. amely a valódi és e hálózati absztrakt terminál közötti megfeleltetést végzi. például, ha a szövegszerkesztõ a virtuális terminál kurzorát a képernyõ bat felsõ sarkába mozgatja, akkor ennek a szoftvernek olyan parancssorozatot kell elõállítania, amely a kurzort a valódi képernyõn is ugyanabba a helyzetbe viszi. Az összes virtuális terminál szoftver az alkalmazási réteghez tartozik.

   Egy másik tipikus alkalmazási rétegfeladat az állománytovábbítás (file- transzfer). A különbözõ állományrendszerek különbözõ névkonvenciókkal rendelkeznek, különbözõ módon ábrázolják a szövegsorokat, és így tovább. Két különbözõ rendszer közötti állomány mozgatáskor ilyen és más hasonló inkompatibilitási problémákkal kell megküzdeni. Az állománytovábbításon kívül ehhez a réteghez tartozik még az elektronikus levelezés, a távoli munkabevitel, a katalóguskikeresés, és még egy sor egyéb, általános-, ill. speciális célú alkalmazási feladat is.




Nincsenek megjegyzések:

Megjegyzés küldése