2018. január 1., hétfő

OSI rétegek

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