OSI-ISO modell (és a TCP/IP)


Több világcég megalkotta a saját elképzelései alapján a saját hálózati architektúráját, de az eltérések miatt egységesíteni kellett, amit csak nemzetközi szinten lehetett megoldani. Ez a szerep az ISO-ra (International Standards Organization -Nemzetközi Szabványügyi Szervezet) hárult. Ez a szervezet nem csak a számítástechnikában, hanem az élet más területein is igyekszik szabványokat teremteni, mint pl. a csavargyártásban. A hálózatokra vonatkozó rétegmodellt 1980-ban fogalmazta meg az OSI (Open System Interconnection) néven. Ez viszont nem szabvány, hanem csak egy ajánlás. Mindössze csak azt mondja meg, hogy milyen rétegekre kell osztani egy hálózatot és ezen rétegeknek mi legyen a feladatuk. Nem kötelező betartani. A megvalósított rendszerekben egyes rétegei szinte teljesen üresek, másokat tovább kellett osztani zsúfoltságuk miatt. Sok hiányossága ellenére a mai napig alapnak tekintik a gyártók.
Az OSI referencia modell szerint egy hálózatot 7 rétegre osztunk.

Az OSI rétegek feladatai:

Az adatátvitellel foglalkozó rétegek:
•    A fizikai réteg (physical layer)
A bitek kommunikációs csatornára való kibocsátásáért felelős. Biztosítania kell, hogy az adó által küldött jeleket a vevő is azonosként értelmezze. A gyakorlatban feladata az, hogy az 1-es jel mindenhol 1 legyen, míg a 0 mindenhol 0 maradjon. Lényeges, hogy a feszültség mennyi ideig tart egy bit továbbításához, az átvitel megvalósítható-e mindkét irányba, illetve az összeköttetés miként bomlik le, ha már nincsen szükség rá.

Kicsit részletesebben:
Ez a réteg határoz meg minden, az eszközökkel kapcsolatos fizikai és elektromos specifikációt, beleértve az érintkezők kiosztását, a használatos feszültség szinteket és a kábel specifikációkat. Ezen a szinten a legegyszerűbb eszközök, tehát a hubok, a repeaterek, valamint a hálózati adapterek számítanak a kezelt berendezések közé. A fizikai réteg által megvalósított fő funkciók:
- felépíteni és lezárni egy csatlakozást egy kommunikációs eszközzel
- részt venni egy folyamatban, amelyben a kommunikációs erőforrások több felhasználó közötti hatékony megosztása történik. Például: kapcsolat szétosztása és adatáramlás vezérlés.
- moduláció, vagy a digitális adatok olyan átalakítása, konverziója, jelátalakítása, ami biztosítja, hogy a felhasználó adatait a megfelelő kommunikációs csatorna továbbítani tudja. A jeleket vagy fizikai kábelen vagy rádiós kapcsolaton keresztül lehet továbbítani.
Ezen a szinten leginkább a megszokott Ethetnet eszközök használhatók, vagy egyes vezetékmentes szabványok. A számos Ethernet szabvány is ehhez a réteghez tartozik; az Ethernetnek ezzel a réteggel és az adatkapcsolati réteggel is együtt kell működnie. Hasonlóan együtt kell tudni működnie a helyi hálózatokkal is, mint például a Token ring, FDDI, és az IEEE 802.11.

•    Az adatkapcsolati réteg (data link layer)
Alapvető feladata a hibamentes átvitel biztosítása a szomszéd gépek között, vagyis a hibás, zavart, tetszőlegesen kezdetleges átviteli vonalat hibamentessé transzformálja az összeköttetés fennállása alatt. Az adatokat adatkeretekké (data frame) szabdalja, továbbítja, a nyugtázó keretet fogadja (acknowledgement frame), hibajavítást és forgalomszabályozást végez.

Kicsit részletesebben:
Az adatkapcsolati réteg biztosítja azokat a funkciókat és eljárásokat, amelyek lehetővé teszik az adatok átvitelét két hálózati elem között. Jelzi, valamint lehetőség szerint korrigálja a fizikai szinten történt hibákat is.
Az adatkapcsolati réteg nagyon hasonlít a hálózati réteghez, azzal a különbséggel, hogy az adatkapcsolati réteg lehetővé teszi az adatátvitelt ugyanazon a hálózaton lévő két eszköz között. Az adatkapcsolati réteg csomagokat vesz át a hálózati rétegből, valamint kisebb darabokra, úgynevezett keretekre (frame) bontja.
A használt egyszerű címzési séma fizikai szintű (tehát MAC címek), amelyeket a gyártó fixen állított be hálózati kártya szinten. A legismertebb példa itt is az Ethernet. Egyéb példák: ismert adatkapcsolati protokoll a HDLC és az ADCCP a pont-pont vagy csomag-kapcsolt hálózatoknál és az Aloha a helyi hálózatoknál. Az IEEE 802 szerinti helyi hálózatokon, és néhány nem-IEEE 802 hálózatnál, mint például az FDDI, ez a réteg használja a Media Access Control (MAC) réteget és az IEEE 802.2 Logical Link Control (LLC) réteget is. Ez az a réteg, ahol a bridge-ek és switchek is működnek.

•    A hálózati réteg (network layer)
A kommunikációs alhálózatok működését irányítja. Legfontosabb feladata az útvonalválasztás forrás és célállomás között. Az útvonalak meghatározása történhet statikus és dinamikus eljárással. Feladata továbbá, hogy a lehetővé tegye az egymástól eltérő hálózatok összekapcsolását. A nyújtott szolgáltatásminőség (késleltetés, átviteli idő, sebességingadozás, stb.) is ezen réteg feladatai közé tartozik. Az utolsó olyan réteg, amely ismeri a hálózat topológiáját.

Kicsit részletesebben:
A hálózati réteg biztosítja a változó hosszúságú adat sorozatoknak a küldőtől a címzetthez való továbbításához szükséges funkciókat és eljárásokat, úgy, hogy az adatok továbbítása a szolgáltatási minőség függvényében akár egy vagy több hálózaton keresztül is történhet.
A hálózati réteg felelős a két különböző hálózat közötti adatátvitel megkönnyítéséért. Ha a két kommunikáló eszköz ugyanazon a hálózaton van, akkor a hálózati réteg gyakorlatilag szükségtelen.
A hálózati réteg biztosítja a hálózati útvonalválasztást, az adatáramlás ellenőrzést, az adatok tördelését és összerakását, valamint (főként) a hiba ellenőrzési funkciókat. Az útvonalválasztók (router-ek) ezen a szinten működnek a hálózatban – adatküldés a bővített hálózaton keresztül, és az internet lehetőségeinek kihasználása (itt dolgoznak pl. az IP switch-ek). A hálózati réteg megtalálja a legjobb fizikai utat is, hogy az adatok elérjék a célt; ezt útválasztásnak nevezik. Itt már logikai címzési sémát használ a modell – az értékeket a hálózat karbantartója adja meg egy hierarchikus szervezésű címzési séma használatával. A legismertebb példa a 3. rétegen az Internet Protocol (IP).


•    A szállítási réteg (transport layer)
Feladata a végpontok közötti hibamentes adatátvitel biztosítása. Már nem ismeri a topológiát, csak a két végpontban van rá szükség. Feladata az összeköttetések felépítése, bontása, csomagok sorrendbe állítása. Ennek gyakorlati megvalósítása során adatokat fogad a viszonyrétegtől és szükség esetén feldarabolja azokat kisebb egységekre, majd továbbítja az egyes darabokat a hálózati rétegnek és biztosítja azt is, hogy a célállomásra minden kis egység hibátlanul megérkezzen.

Kicsit részletesebben:
A réteg biztosítja, valamint ellenőrzi egy adott kapcsolat megbízhatóságát. Ez magában foglalja az adatok felvételét a munkamenet rétegből, valamint szegmensekre bontását, mielőtt elküldené a hálózati rétegre. A fogadó eszköz szállítási rétege felelős a szegmensek újra összeállításáért a munkameneti réteg által felhasználható adatokká.
Néhány protokoll kapcsolat-orientált, azaz a réteg nyomon követi az adatcsomagokat; valamint fellépő hiba esetén gondoskodik a csomag(ok) újra küldéséről. A legismertebb 4. szintű protokoll a TCP.

A logikai összeköttetéssel foglalkozó rétegek:
•    A viszonyréteg (session layer)
Lehetővé teszi, hogy két számítógép felhasználói kapcsolatot, viszonyt (session) hozzon létre egymással. Jellegzetes feladata a logikai kapcsolat felépítése és bontása, párbeszéd szervezése. Szolgáltatásai többek között a párbeszéd-irányítás (dialog control), a vezérjel kezelés (token management) és a szinkronizáció (synchronizaion) ellenőrzési pontok beépítésével.

Kicsit részletesebben:
A viszony réteg a végfelhasználói alkalmazások közötti dialógus menedzselésére alkalmas mechanizmust valósít meg. Szükség esetén újraindítja a kommunikációs eljárást. A kommunikáció megnyitása és bezárása közötti időt munkamenetnek nevezzük. Ez a réteg biztosítja, hogy a kommunikációs csatorna elég ideig nyitva maradjon az adatok megfelelő cseréjéhez, majd azonnal lezárja, hogy ne használják feleslegesen a kommunikációs csatornát.
Ez a réteg ellenőrző pontokat is beállíthat a munkamenet ellenőrzésére. Például, ha egy 100 megabájtos fájl kerül átvitelre, a munkamenet réteg 5 megabájtonként beállíthat egy ellenőrzési pontot. Ha 52 megabájt átvitele után megszakad vagy összeomlik, a munkamenet az utolsó ellenőrzőponttól folytatható, vagyis csak 50 megabájtnyi adatot kell újra továbbítani. Az ellenőrző pontok nélkül a teljes transzfert elölről kellene kezdeni.

•    A megjelenítési réteg (presentation layer)
Szemben az alacsonyabb szintű rétegekkel a megjelenítési réteg nem a bitek mozgatásával foglalkozik, hanem az átvitt információ szintaktikájával és szemantikájával. Az egyetlen olyan réteg, amely megváltoztathatja az üzenet tartalmát. Tömörít, rejtjelez (adatvédelem és adatbiztonság miatt), kódcserét (pl.: ASCII - EBCDIC) végez el.

Kicsit részletesebben:
A megjelenítési réteg biztosítja az alkalmazási réteg számára, hogy az adatok a végfelhasználó rendszerének megfelelő formában álljon rendelkezésre. Tehát a legfontosabb feladata az alkalmazási réteg kiszolgálása. Feladata többek között a MIME visszakódolás, adattömörítés, titkosítás, valamint egyszerűbb adatkezelések. Előfordulhat az is, hogy az egyik eszköz más titkosítást használ, mint a másik, így a megfelelő átalakításért is ez a réteg felel. 
Ha a két kommunikáló eszköz titkosítást használ, akkor a küldő eszköznél ez a réteg felel a titkosításért, valamint a fogadó oldalon is ez a réteg felel a titkosítás feloldásáért.
Ez a réteg felel az alkalmazási rétegtől kapott adatok tömörítéséért, mielőtt azokat a viszonyrétegnek továbbítaná. Fordított irányban is a tömör adatokat ez a réteg alakítja át „emészthetővé”. Ez az eljárás sokat segít a kommunikáció megfelelő tömörítésében.
Főbb feladatai:

  • két számítógép között logikai kapcsolat létesítése
  • párbeszéd szervezése
  • vezérjelkezelés
  • szinkronizálás
  • titkosítás (szükség esetén)
  • tömörítés

•    Az alkalmazási réteg (application layer)
Széles körben igényelt szolgáltatásokat tartalmaz. Olyan protokollok változatos sokaságát tartalmazza, amelyekre a felhasználóknak igen sokszor szükségük van. Ilyen például az internet jelenlegi alapvető protokollja a HTTP, de ilyen például a fájlok másolása gépek között is.

Kicsit részletesebben:
Ez az egyetlen olyan réteg, amely közvetlenül érintkezik a felhasználó adataival.
Ez a réteg támogatja az egyes szolgáltatások közötti kommunikációt, aminek értelmezését az alsóbb szintű szolgáltatások képesek elemezni. Továbbá az alsóbb szintű alkalmazások képesek a küldött-fogadott adatok értelmezésére is. Az alkalmazási réteg protokolljain keresztül az alkalmazások képesek egyeztetni formátumról, további eljárásról, biztonsági, szinkronizálási vagy egyéb hálózati igényekről. A legismertebb alkalmazási réteg szintű protokollok a HTTP(S), az SMTP, az FTP és a Telnet. Ezt a réteget leggyakrabban a webböngészők, az e-mail kliensek, valamint az internetes továbbítást használó (pl. üzenetküldő) alkalmazások használják.