4. Hivatkozási modellek Az előző fejezetben megismerkedtünk a rétegekbe szervezett számítógépes hálózatokkal, s itt az ideje, hogy megemlítsünk néhány példát is. A következő részben két fontos hálózati architektúrát fogunk részletesen tárgyalni, az OSI és a TCP/IP hivatkozási modellt.
4.1. Az OSI hivatkozási modell Ezt a modellt hivatalosan ISO OSI hivatkozási modellnek nevezik, mivel a Nemzetközi Szabványügyi Szervezet (International Standards Organization, ISO) ajánlásán alapul. Maga a név az Open Systems Interconnection rövidítése, mivel nyílt rendszerek összekapcsolásával foglalkozik. A nyílt rendszerek olyan rendszerek, melyek képesek más rendszerekkel való kommunikációra. Az 1970-es években ez volt az első lépés az adatkommunikáció nemzetközi szabványosítása terén. Az OSI modellnek hét rétege van, melyek közül a következő négy legfontosabbat tárgyaljuk.
4.1.1 A fizikai réteg A fizikai réteg (physical layer) feladat az, hogy továbbítsa a biteket a kommunikációs csatornán. A rétegnek biztosítania kell azt, hogy az egyik oldalon elküldött 1-es bit a másik oldalon is 1-esként érkezzen meg, ne pedig 0-ként. Olyan kérdésekkel foglalkozik, hogy mekkora feszültséget kell használni a logikai 1 és 0 reprezentálásához, menni ideig tart egy bit továbbítása, megvalósítható-e az árvitel egyszerre mindkét irányban, hány érintkezője van a hálózati csatlakozónak, mi a csatlakozási pontok (érintkezők) feladata. A tervezési szempontok itt főleg az interfész mechanikai, elektromos kérdéseire, valamint a fizikai átviteli közegre vontakoznak.
4.1.2 Az adatkapcsolási réteg Az adatkapcsolási réteg (data link layer) fő feladat az, hogy a nem mindig teljesen hibátlanul működő fizikai átviteli rendszer adottságait olyan vonallá alakítsa, mely átviteli hibáktól mentesnek tűnik. Ezt a feladatot úgy oldja meg, hogy az átviendő adatokat a küldő fél oldalán adatkeretekbe (data frame) tördeli – általában néhány száz vagy ezer bájtból áll, és ezeket sorrendben továbbítja. Ha a szolgáltatás megbízható, a fogadó fél egy nyugtázó kerettel (acknowledgement frame) nyugtázza minden egyes keret helyes vételét.
4.1.3 A hálózati réteg A hálózati réteg (network layer) feladata az, hogy a csomagokat a forrásállomástól s célállomásig a megfelelő útvonalon eljuttassa. Az útvonalak meghatározása történhet statikus táblázatok felhasználásával, melyek csak igen ritkán változnak, vagy történhet kifejezetten dinamikusan is, amikor minden egyes csomag számára a hálózat aktuális terhelésének ismeretében egyenként kerül kijelölésre az útvonal. Ha egyszerre túl sok csomag van jelen a hálózatban, akkor azok akadályozhatják egymást, és ekkor torlódások alakulhatnak ki. Az ilyen torlódások szabályozása is a hálózati réteg feladatai közé tartozik.
4.1.4 Az alkalmazási réteg Az alkalmazási réteg (application layer) a felhasználói alkalmazások rétege. Olyan protokollok változatos sokaságát tartalmazza, amelyekre a felhasználóknak gyakran szükségük van. Egy széleskörben használt alkalmazási protokoll a HTTP (HyperText Transfer Protocol), amely a világháló (Wolrd Wide Web, WWW) működésének alapja. Amikor egy böngésző meg akar szerezni egy weblapot, a HTTP segítségével küldi el a kért lap nevét a szervernek. A szerver erre visszaküldi neki a lapot. További alkalmazási protokollok léteznek állományok átvitelére, e-levelezésre, stb.
4.2. A TCP/IP hivatkozási modell Az előző modell rendkívüli bonyolultsága miatt, az implementációk terjedelmességének és lassúságának köszönhetően az “OSI”-ról mindenkinek a gyenge minőség jutott az eszébe. Ezen modell alapján tervezett hálózatok protokolljai különösen bonyolultak voltak, ráadásul egymással nem túl kompatibilisek. Ugyanakkor egyre inkább mutatkozott az az igény, miszerint különböző hálózatokat kellett egymással összekötni. Az ARPANET az amerikai védelmi minisztérium által támogatott kísérleti hálózat volt. Alkalmanként több száz egyetemi és kormányzati számítógépet kötött össze bérelt telefonvonalak segítségével. Miután később műholdas és rádiós hálózatokat is hozzákapcsoltak, és az akkori protokollok csak nehezen tudtak együttműködni, egy új hivatkozási modell vált szükségessé. Ezért már a kezdetektől fogva az a volt a legfőbb tervezési szempont, hogy lehetővé tegyék egy tetszőlegesen sok hálózat zökkenőmentes
összekapcsolását. Később ez az architektúra – a két legjelentősebb protokollja alapján – TCP/IP hivatkozási modell néven vált ismertté, és 1974-ben definiálták. Egyik első implementációja a Berkeley-féle UNIX része volt, és nem csak nagyon jó, de még ingyenes is volt. Az emberek gyorsan rászoktak, így komoly felhasználói tábora alakult ki az 1980-as években. A számítógép-hálózatok ősének tekintett ARPANET, ill. a világméretű internet hivatkozási modellje. Ez a hivatkozás modell négy rétegből tevődik össze, melyek a következők:
4.2.1 A hoszt és hálózat közötti réteg Az OSI hivatkozási modellben az adatkapcsolási és fizikai réteg együttesének felel meg. A TCP/IP hivatkozási modell erre a rétegre csak annyi megkötést tesz, hogy a hosztnak egy olyan hálózathoz kell csatlakozni, amely az IP csomagok továbbítására alkalmas protokollal rendelkezik. Az egyes rétegek megfeleltetését láthatjuk az ábrán.
4.2.2 Az internetréteg Az OSI hivatkozási modellben a hálózati rétegnek felel meg. Feladata lényegében megegyezik az ott ismertetett feladatokkal, tehát célállomástól függetlenül, akár egy másik hálózaton át is tudjon IP csomagokat továbbítani. Az sem gond, ha a csomagok nem az elküldés sorrendjében érkeznek meg, ugyanis, ha erre van szükség, akkor a magasabb rétegek visszarendezik őket a megfelelő sorrendbe. A csomagok útvonalának meghatározása, valamint a torlódások elkerülése itt most a legfontosabb feladat. Az internetréteg meghatároz egy hivatalos csomagformátumot, illetve egy protokollt, amelyet internetprotokollnak (Internet Protocol, IP) hívnak.
4.2.3 A szállítási réteg A TCP/IP modellben az internetréteg feletti réteget szállítási rétegnek nevezik, feladat hasonló az OSI modellben található szállítási réteghez. Feladata, hogy lehetővé tegye a forrásés célállomásokban található rétegek (társentitások) közötti párbeszédet. Két különböző szállítási protokollt definiálunk a következőkben. Az egyik az átvitelvezérlő protokoll (Transmission Control Protocol, TCP), amely egy megbízható összeköttetés alapú
protokoll. Feladata az, hogy hibamentes bájtos átvitelt biztosítson bármely két gép között az interneten. A beérkező bájtos adatfolyamot diszkrét méretű üzenetekre osztja, majd azokat egyesével továbbítja az internetrétegnek. A célállomás TCP-folyamata összegyűjti a beérkezett üzeneteket, és egyetlen kimeneti adatfolyamként továbbítja őket. A TCP forgalomszabályozást is végez annak érdekében, hogy egy gyors forrásállomás csak annyi üzenetet küldjön egy lassabb célállomásnak, amennyit az fogadni képes. A másik protokoll ebben a rétegben a felhasználói datagram protokoll (User Datagram Protocol, UDP), amely egy nem megbízható, összeköttetés nélküli protokoll. Jelentősége akkor van, amikor nem szükséges az üzenetek sorba rendezése, sem a forgalomszabályozás. Elsősorban olyan egylövetű, kliens-szerver típusú kérés-válasz alkalmazásokban terjedt el, ahol a gyors válasz sokkal fontosabb, mint a pontos. Ilyen alkalmazás például a beszéd- vagy videoátvitel.
4.2.4 Az alkalmazási réteg A TCP/IP modellben nincs viszony- és megjelenítési réteg. Azért nem kerültek bele a modellbe, mert nem volt rájuk szükség. Az OSI modellel kapcsolatos tapasztalatok is azt mutatták, hogy a legtöbb alkalmazás nem használja ki e két réteget. A szállítási réteg felett az alkalmazási réteg található. Ez tartalmazza az összes magasabb szintű protokollt. Eredetileg csak a virtuális terminál (TELNET), a fájltranszfer (FTP) és az elektronikus levelezés (SMTP) protokolljait tartalmazta. Az évek során aztán számos más protokollal is bővítették az alkalmazási réteget, ilyen pl. a Domain Name Service (DNS), amely a hosztok nevét képezi le a hálózati címükre, vagy a HTTP, amely a www oldalak letöltését segíti. Az internetes kommunikációhoz szükséges protokollkészletet (többek között az IP, UDP és TCP protokollok kapcsolatát) a következő ábra szemlélteti.
4.3. A hibrid hivatkozási modell Mivel a TCP/IP modell nem különbözteti meg a fizikai és az adatkapcsolati réteget, pedig ez két teljesen különböző dolog. A fizikai rétegnek a rézvezeték, az optikai kábel és a vezeték nélküli kommunikáció átviteli jellemzőivel kell foglalkoznia. Az adatkapcsolati réteg feladata pedig a keretek elejének és végének jelzése, valamint a keretek megbízható továbbítása két gép között. Egy jó modellnek külön rétegként kell kezelnie e kettőt. Ezért használják manapság a hibrid modellt, mely a következő ábrán látható: