A TCP/IP protokollcsalád

Az Internet kisebb kiterjedésű számítógépes hálózatok (LAN-ok) összekapcsolásából álló globális számítógépes rendszer. A rendszer alapjait a hatvanas évek elején az USA-ban alakították ki a Védelmi Minisztérium támogatásával indított ARPA kutatási program keretében, ezért kezdetben a neve ARPANET volt. Azt vizsgálták, hogy milyen módon valósítható meg az egymástól távol lévő számítógépeken keresztül történő adattovábbítás. A cél egy olyan kommunikációs rendszer kialakítása volt, amely akkor is tovább működik ha egy-egy része valamilyen ok miatt kiesik. Az adatok átvitelére csomagkapcsolt átvitelt használtak. Az egyszerű kommunikációt megvalósító levelezésen vagy adatbázisok elérésén túl ma már különféle multimédia-alkalmazások is használhatók.

17. ábra: Az OSI modell és a TCP/IP

A későbbiekben már Internet-nek nevezett hálózat — bár a rétegmodell szemlélettel 1960-as években tervezték — nem követi az OSI hét rétegű felépítését. A hálózati modell négy rétegből áll:

Az információ áramlása két csomópont között a 18. ábrán látható.

18. ábra: A TCP/IP csomópontok közti információáramlás

Az Internet szállítási rétege: a TCP

Az eredeti ARPANET-ben az alhálózattól virtuális áramkör szolgálatot vártak el (azaz tökéletesen megbízhatót). Az első szállítási réteg protokoll az NCP (Network Control Protocol - hálózatvezérlési protokoll) elvileg egy tökéletes alhálózattal való együttműködésre épült. Egyszerűen átadta a TPDU-kat a hálózati rétegnek és feltételezte, hogy a megfelelő sorrendben kézbesítődnek a célnál. A tapasztalat azt mutatta, hogy az ARPANET-en belül ez a protokoll kielégítően működik.

19. ábra: TCP csomag

Ahogy azonban az ARPANET Internetté vált, amelyben már számos LAN, rádiós csomagszóró alhálózat; valamint több műholdas csatorna is működött, azaz a végpontok közötti átviteli megbízhatóság csökkent. Ezért egy új szállítási protokollt,- a TCP-t (Transmission Control Protocol - átvitel vezérlési protokoll) vezettek be. A TCP tervezésénél már figyelembe vették azt, hogy megbízhatatlan (az OSI terminológia szerint C típusú) alhálózatokkal is tudjon együttműködni. A TCP-vel együtt fejlesztették a hálózati réteg protokollját (IP) is. A TCP fogadja a tetszőleges hosszúságú üzeneteket a felhasználói folyamattól és azokat maximum 64 kbájtos darabokra vágja szét. Ezeket a darabokat egymástól független datagramokként küldi el. A hálózati réteg sem azt nem garantálja, hogy a datagramokat helyesen kézbesíti, sem a megérkezett datagramok helyes sorrendjét. A TCP feladata az, hogy időzítéseket kezelve szükség szerint újraadja őket, illetve hogy helyes sorrendben rakja azokat össze az eredeti üzenetté. Minden TCP által elküldött bájtnak saját sorszáma van. A sorszámtartomány 32 bit széles, vagyis elegendően nagy ahhoz, hogy egy adott bájt sorszáma egyedi legyen. A TCP által használt fejrész a 19. ábrán látható. A minimális TCP fejrész 20 bájtos.

Az Internet hálózati rétege: az IP

A hálózati réteg IP protokollja a 80-as években jelent meg. A protokoll összeköttetés mentes. A szállított csomagok a datagramok, amely a forrás hoszt-tól a cél hosztig kerülnek továbbításra, esetleg több hálózaton is keresztül. A hálózati réteg megbízhatatlan összeköttetés mentes szolgálatot biztosít, így az összes megbízhatósági mechanizmust a szállítási rétegben kell megvalósítani, ami biztosítja a két végállomás közötti megbízható összeköttetést. Az IP működése a következő: A szállítási réteg az alkalmazásoktól kapott üzeneteket maximum 64 kbájtos datagramokra tördeli, amelyek az útjuk során esetleg még kisebb darabokra lesznek felvágva. Amikor az összes datagram elérte a célgépet, ott a szállítási réteg ismét összerakja üzenetté. A datagram két részből áll: egy fejrészből és egy szövegrészből. A fejrészben 20 bájt rögzített, és van egy változó hosszúságú opcionális rész is.

20. ábra: IP csomag

Összeköttetés-mentes szállítási protokoll: az UDP

Sok alkalmazás használ üzeneteket, amelyek elférnek egyetlen datagramban. Példa erre a domén nevek kikeresése. Amikor egy felhasználó egy másik rendszerrel kapcsolatba akar lépni, akkor általában az adott rendszer IP címe helyett a nevét fogja megadni. Ezt a nevet le kell fordítania IP címre. Ehhez a név-szolgáltatóhoz kell a kérést tartalmazó üzenetet eljuttatni. A kérés annyira rövid, hogy biztosan elfér egyetlen datagramban, és a válasz ugyanilyen rövid. Ilyenkor nincs szükség a TCP teljes bonyolultságára. Ha egy pár másodpercen belül nem kapunk választ, akkor egyszerűen megismételjük a kérdést.

22. ábra: Az UDP csomagformátuma

22. ábra: Az UDP csomagformátuma

A legtöbbet használt ilyen protokoll az UDP (user datagram protocol — felhasználói datagram protokoll). Hasonlóképpen illeszkedik a rendszerbe, mint a TCP. A hálózati szoftver az adatok elejére ráilleszti az UDP fejlécet ugyanúgy, ahogy a TCP fejléc esetében teszi. Az UDP ezek után az IP-nek adja át a datagramot. Az IP hozzáteszi a saját fejlécét, amibe a TCP helyett az UDP protokollszámát helyezi el a Protokoll mezőben (lásd IP fejléc). Az UDP csak portszámokat biztosít, hogy egyszerre több program is használhassa a protokollt. Az UDP portszámok ugyanúgy használatosak, mint a TCP portszámok. Az UDP-t használó kiszolgálókhoz is léteznek jól ismert portszámok. Látható, hogy az UDP fejléc sokkal rövidebb, mint a TCP fejléce.

Az Internet vezérlése: az ICMP protokoll

Az Internet működését az IMP-k és az átjárók felügyelik olyan módon, hogyha valami gyanús esemény fordul elő, akkor az eseményt az ICMP (Internet Control Message Protocol - internet vezérlőüzenet protokoll) alapján jelentik. Megközelítőleg egy tucat ICMP üzenettípus létezik. Minden üzenettípus IP-csomagba burkolva vándorol a hálózatban. A protokoll az Internet tesztelésére is használható.

Ezeken az üzeneteken kívül van még négy másik, amelyek az Internet címzéssel foglalkoznak, és lehetőséget biztosítanak a hosztok számára, hogy azonosítsák saját hálózatszámukat, felfedezzék a címzési hibákat: például kezelni tudják azt az esetet, amikor egyetlen IP-címet több LAN birtokol.

Forgalomirányítás

Az ARPANET eredetileg az elosztott forgalomirányítási algoritmust használta. Ez egyrészt néhány csomag tartós hurokba kerülését okozta, másrészt nem használt alternatív utakat. Mikor a hálózat nagy méretűvé növekedett, akkor a forgalomirányító táblák kicserélésével előálló forgalom már olyan nagy volt, hogy akadályozta a normál forgalmat is. Ezért a megváltoztatott jelenlegi algoritmusban minden egyes IMP belsőleg fenntart egy adatbázist, amely az egyes vonalakon való késleltetéseket tartalmazza. Erre az adatbázisra alapozva minden IMP kiszámolja a közte és az összes többi IMP közötti legrövidebb utat. A számítás mértékéül a késleltetést használja. Mivel minden egyes IMP a legrövidebb út algoritmust (majdnem) ugyanarra az adatbázisra alapozva futtatja, ezért az utak konzisztensek és kevés hurok alakul ki. A forgalom és a topológia változásaihoz való alkalmazkodás érdekében minden IMP 10 másodperces átlagolási idővel méri vonalain a késleltetést. E mérések eredményét egy aktuális sorszámmal ellátva minden IMP megkapja. Az információ köröztetéséhez az IMP-k az elárasztásos algoritmust használják.