7.1.3. Hálózati réteg

Ezen a szinten három protokoll helyezkedik el: az IP, az IGMP és az ICMP protokoll. A feladatok legnagyobb részét az IP protokoll végzi el. Az ICMP és az IGMP protokoll az IP-t segíti olyan tekintetben, mint pl. a speciális hálózati üzenetek kezelésében. Az Internet Protocol és a hálózati szint közötti szoros kapcsolat miatt a TCP/IP hálózati rétegét IP szintnek is szokták nevezni.

7.1.3.1. IP (Internet Protocol)

Ez a protokoll gondoskodik a csomagok átvitelérol a hálózaton. Az összes kommunikáció a hosztok között IP csomagok formájában történik. Ez egy kapcsolat nélküli protokoll, azaz a kommunikációhoz nem szükséges elozetes kapcsolatfelvétel. Ebbõl adódik, hogy tartalmaznia kell a kézbesítéssel összefüggõ információkat, a teljes és pontos címet. Adatátvitel szempontjából nem megbízható, a csomagokkal bármi megtörténhet: elveszhetnek, megsérülhetnek, sorrendjük összekeveredhet. Még nagyobb gond, hogy ha nem sikerült az adatok továbbítása, akkor nem értesíti a küldõ alkalmazást.

Felvetõdhet a kérdés, hogy akkor mi értelme van ilyen nem megbízható protokollt alkalmazni. Erre a kérdésre a válasz a költségekkel és a bonyolultsággal magyarázható. Ezenkívül igen gyors a csomagok átvitele, minthogy nem megbízható. Egy nem megbízható protokollnak sokkal egyszerûbb a megtervezése, megvalósítása és használata. A bonyolultsággal és a sávszélességgel összefüggõ költségek lényegesen kisebbek a nem megbízható protokollok esetében.

Azonban a nem megbízható protokollok is tudnak megbízhatóan továbbítani adatokat. A megbízhatósági jellemzõket ekkor nem magába a protokollba, hanem az alkalmazásokba építik be. A TCP, ami megbízható protokoll, az IP-t használja az adatok továbbításához. A protokollok tervezõi a TCP-be építik be azokat a megbízhatósági jellemzõket, amelyek az IP-bõl hiányoznak.

Címzés

A TCP/IP hálózatokban a számítógépeket egységes címzési rend alapján azonosítjuk. Minden egyes gép egyedi hálózati címmel, az ún. IP-címmel rendelkezik. A címek 32 bitesek. A felírás 4 darab 8 bites decimális szám formájában történik. (Az Internet dokumentációkban a byte helyett az oktett kifejezést használják a 8 bites számokra. Ez azért van így, mert a TCP/IP-t olyan számítógépek is használják, amelyek architektúrájába a byte nem 8 bites számot jelöl.) A 4 byte-os cím byte-jait pontokkal választjuk el egymástól (pl. 192.168.50.130). Az egyes elemek értéke 0-255-ig terjedhet. Az IP-címekben a 0 és a 255 speciális jelentéssel bír. A 0 az olyan gépek számára van fenntartva, amelyek nem tudják a hálózati címüket. Az IP-címek nem kezdodhetnek se 0-val, se 127-tel, se 223-nál nagyobb számmal. Az ezeket a szabályokat megszego címekre marslakókként hivatkoznak, mert elterjedt, hogy a Mars Központ Egyeteme a 225-ös hálózatot használja.

A címeket egy amerikai szervezet, a NIC (Network Information Center) osztja ki, de általában nem közvetlenül, hanem területi megbízottjain keresztül. Egy vállalat vagy szervezet Internet-szolgáltatójától mindig címtartományt kap, amelyen belül szabadon jelölheti ki gépeinek címét.

A jelen keretek között az IPv4-es szabvány (v = verziószám) kerül ismertetésre, mivel ez a legelterjedtebb IP szabvány. Az 5 verziószámot az Internet Stream Protocol (STP) kapta meg, ami az IP-vel azonos szinten mûködo, erõforrásokat folyamok számára lefoglaló, és így adatot továbbító protokoll. Nem az IP kiegészítése garanciákat nyújtó elemekkel, hanem az IP mellett egy új mechanizmus.

Az IPv6-os szabványt nem régen vezették be. "Az Ipv6 egy olyan kor követelményeit elégíti ki, ahol még a hûtõszekrénynek is lehet saját IP-címük." (Kelly Jackson Higgins) Az IPv6 128 bites címzésstruktúrája szemben az IPv4 32 bites címeivel végtelen címzésterületet jelent, amelyek nem kötött struktúrájúak, "osztálymentesek". Erre azért van szükség, mert a fennmaradó IPv4 - címek nem elegendõek a várhatóan egymilliárd új csomóponthoz, beleértve azokat a mobilkészülékeket, amelyek hamarosan a hálóra lépnek. Bár az IP-címek a négyszeresükre nõttek, mégis az IP fejléc csak kétszerese a réginek, ezt például a fragmentációval kapcsolatos mezõk opcionálissá tételével érték el, minthogy a fragmentáció idõközben károsnak minõsült.
Az IPv6 meglehetõsen új fogalmat honosít meg az összeköttetés mentes IP világban, a folyam fogalmát, ami egy irányba haladó, azonos feladójú és címzettû IP csomagok sorozatát jelenti. Minden IP csomagba kerül egy azonosító, ami azonosíthatja a folyamot, amihez a csomag tartozik. Ezzel nemcsak a route-olás egyszerûsödik, de lehetõvé válik a folyamok számára utat kiépíteni, erõforrásokat lefoglalni, és ezzel a folyamnak nyújtott szolgáltatást javítani, akár garanciákat is nyújtani. Bár az IPv4 is tartalmazott ehhez hasonló opciót, az nem a folyam koncepciójának az IP modellbe való integrálása miatt, mint inkább a más hálózatokkal való együttmûködés segítése érdekében létezett.

A címzési rendszer hierarchikus; azaz vannak hálózatok, és ezen belül gépek. Így célszerû a címet két részre osztani: egy a hálózatot azonosító, és ezen belül egy, a gépet azonosító címre. Mivel a cím hossza 32 bit, ezért kellett ezt két részre bontani, olyan módon, hogy a nagy hálózatokban lévõ sok gépet is meg lehessen címezni.

A cím három részre osztható:

Elõtag:

Ez azonosítja a címosztályt. A címosztály mutatja meg, hogy az elotag után hány bitet kell hálózati címként, és hány bitet kell hosztcímként értelmezni.

Hálózati cím (Network Address):

Az egyes hálózatok megkülönböztetésére szolgál, valamint a központi adminisztrációt segíti elo, azaz ne lehessen két gépnek azonos IP-címe. A hálózati címet központilag kell igényelni, és központilag utalják ki az igénylonek.

Host Address:

A 32 címbit maradékát teszi ki. Ezt szabadon állíthatja be a címtartományt igénylõ a saját gépein.

A vállalatok vagy szervezetek méretüknek megfelelõen háromféle címtartomány-t (címtípust) kaphatnak. A címtartomány típusát az IP-cím elsõ bitjei jelzik. Ezután következik a hálózat azonosítására szolgáló bitsor (NetID), majd a hálózaton belül a gépek azonosítására szolgáló szakasz (HostID). Az IPv4 öt címosztályt definiál, de tulajdonképpen csak három címosztályt használnak.


Az igen nagy méretû, sok számítógépet üzemeltetõ szervezetek ún. A osztályú címekhez juthatnak. Ekkor az elsõ bit 0, a hálózat azonosítására az elsõ byte fennmaradó részét használjuk. A hálózaton belüli gépek azonosítására a fennmaradó három byte használható.

A közepes méretû cégek címtartománya a B címosztály. Ebben az elsõ bit 1, a második 0. Az intézményt ebben az esetben az elsõ két byte azonosítja, a hálózat gépeit pedig az utolsó kettõ byte.

A C címosztály a kisebb, kevesebb gépet üzemeltetõ cégek ellátását szolgálja. A cím elsõ és második bitje ebben az esetben 1, a harmadik 0. A hálózat azonosítására az elsõ három byte-ot használjuk, a hálózaton belüli gépek azonosítására az utolsó byte szolgál.

Címosztály Elsõ byte értéke Ilyen típusú hálózatok maximális száma A hálózaton belüli gépek maximális száma
A 1-126 126 16 777 214
B 128-191 16 384 65 534
C 192-223 2 097 151 254

20. ábra: IP osztályok

A teljesség kedvéért röviden még a másik két címosztályról:

Ha a négy elöl álló bit értéke 1110, és az elsõ byte értéke 224 és 239 között van, akkor multicast címzésrõl beszélünk, amelyet D osztályú címzésnek is neveznek. A multicast címzést alkalmazzuk akkor, ha egyszerre több géppel akarunk kommunikálni. Az ilyen címzésben hiányzik az alhálózatra utaló rész, viszont az egész cím egy multicast csoportra utal. A csoportban a gépek ugyanazt az alkalmazást használják, és nem kell ugyanabban az alhálózatban lenniük. Erre az alkalmazásra jó példa egy videokonferencia.

Ha az elsõ négy bit értéke 1111, akkor speciális, fenntartott címekrõl van szó. Ezt a címtartományt szokták E osztálynak is nevezni. Az ebbõl a tartományból származó címek nem valós hálózatokra utalnak.

21. ábra: Ipv4 oszályai

Ez az osztályozó rendszer nem teszi lehetõvé, hogy a rendszeradminisztrátorok maguk döntsék el, hogy hány bit jelöli a hoszt címét és hány a hálózat címét. Ezért vezették be a hálózat és hoszt címének szétválasztására a címmaszkokat (subnet mask). Az alhálózati maszk határozza meg, hogy melyik bit mutat a hosztra és melyik a hálózati címre. Ezeket a maszkokat ugyanúgy tagolva írják, mint a címeket. A maszkban szereplõ bitek utalnak a velük párban álló IP-cím bitjének a hovatartozására. Ha pl. az IP-címünk 192.168.0.15. és a hozzá tartozó maszk 255.255.255.0, akkor a hálózati cím a 192.168.0, a hoszt címe pedig a 15. A számítógépekben ezt a számot "És" kapcsolat választja el. Mivel a maszk elsõ három byte-jának minden bitjéhez értéket rendelünk, ezért az IP-cím ezzel párban álló bitjei lesznek a hálózati cím részei, és mivel az utolsó byte bitjei üresek, ezért az IP-cím ezen része lesz a hoszt címe.

Ha helyi TCP/IP-s hálózatot alakítunk ki, melynek nem lesz kapcsolata más hálózatokkal, javasolt a privát IP-cím használata. Ebben az esetben az egyes hálózati eszközök nem routolnak. Az ilyen IP-címre szóló adatokat nem továbbítják az Internetre. Egy késobbi esetleges "Internetes bovítésnél" elég egy "címfordítót" (NAT = Network Address Translator) betenni, ami a szükséges címátalakításokat elvégzi. A kimeno csomagokban a címeket "valós IP-címmé", míg a válasz csomagokban a címet a valós címzetthez irányítja. Egy valós IP-cím mögé képes egy egész hálózatot "rejteni" és a címzések cseréjét elvégezni. Ilyenkor a belso "rejtett" hálózat hosztjai mind a "Privát" címtartományból kapják a címeket. Ha nem így tennénk, akkor az adott címtartomány hosztjait az Interneten nem érjük el, azokkal kapcsolatot nem tudunk kialakítani, hiszen azok a címek egyben helyi címek is.
A számokkal a számítógép elboldogul, de az ember nehezen jegyzi meg. Ezért az Internet-címekhez hozzárendelnek egy nevet, az ún. domain- (tartomány-) nevet (FQDN, Fully Qualified Domain Name). A domain-neveket úgy adhatjuk meg, hogy azok minél többet eláruljanak az adott számítógéprõl.

Vegyünk egy példát: pl. altavizsla.matav.hu. Ha a gép nevének részeit jobbról balra haladva sorba vesszük, akkor juthatunk el magához a géphez. A domain-nevek felépítése a következõ:

A .hu az ország kétbetûs kódja, (jelen esetben Magyarországé). Ez az USA-n kívül általános, pl.. Németországé .de, Angliáé .uk, Ausztriáé .at stb., míg az amerikai címek három betûre végzõdnek. Ezek az ún. felsõ szintû domain-nevek (TLD, Top Level Domain). Az USA-beli címek arra utalnak, hogy azok fenntartója milyen tevékenységet végez. Jellemzõ végzõdései pl.: .edu (oktatási intézmény), .com (kereskedelmi), .gov (kormányzati hivatal), .mil (katonai szervezet), .org (nonprofit szervezet), .net (hálózati ellátó központ), .int (nemzetközi szervezet). Elõfordulhat, hogy felsõ szintû domain-nevet találunk olyan gép neve mellett, amely nem az USA-ban mûködik. Ez azt mutatja, hogy a gép üzemeltetõi fontosabbnak tartják az intézmény típusát annál, hogy az mely országban mûködik

A "matav" az üzembentartó szervezet, cég megnevezése. A nagy intézmények sok számítógépet kötnek az Internetre, ezek a gépek mind egy egyedi domain-en, tartományon belül vannak. A domain név tehát az intézmény meghatározására szolgál. Minden Internetre kapcsolódni kívánó intézménynek elõször is domain nevet kell regisztráltatnia az Internetet felügyelõ szerveknél.

Az "altavizsla" pedig az illetõ egyedi gép neve - minden gép, ugyanúgy, mint minden felhasználó, saját (a domain-en belül egyedi) névvel rendelkezik a hálózaton. Ezt sokszor hoszt-névnek is nevezik. A név eleje gyakran nem gépet jelöl, hanem arra utal, hogy milyen szolgáltatást veszünk rajta igénybe.


A domain név hierarchikus felépítése:
Szemléltetve a példa: altavizsla.matav.hu

A gépek azonosítóinak ezen alakja a betûket és szavakat kedvelõ emberek kedvéért áll rendelkezésre, a gép elsõdleges azonosítója valójában az IP-cím. A számok nevekre való lefordítását az ún. domain name szerverek (DNS) végzik; ez az egyes domain-eken belüli általánosan elterjedt szolgáltatás. A név helyett mindig használhatjuk az IP-címet is - ez fordítva nem feltétlenül igaz. Késõbb részletesen kitérek e alkalmazásra.

A TCP az általa feldolgozott datagramokat átadja az IP-nek. Persze ezzel együtt közölnie kell a rendeltetési hely Internet címét is. Az IP-t ezeken kívül nem érdekli más, nem számít, hogy mi található a datagramban vagy hogyan néz ki a TCP fejléc. Az IP feladata abban áll, hogy a datagram számára megkeresse a megfelelo útvonalat és azt a másik oldalhoz eljuttassa. Az útközben fellelheto átjárók és egyéb közbülso rendszereken való átjutás megkönnyítésére az IP a datagramhoz hozzáteszi a saját fejlécét.

A fejléc fo részei a forrás, a rendeltetési hely Internet címe, a protokollszám és egy ellenorzo összeg. A forrás címe a küldo gép címét tartalmazza. (Ez azért szükséges, hogy a vevo oldal tudja honnan érkezett az adat.) A rendeltetési hely címe a vevo oldali gép címét jelenti. (Ez pedig azért szükséges, hogy a közbenso átjárók továbbítani tudják az adatot.) A protokollszám kijelöli, hogy a datagram a különbözo szállítási folyamatok közül melyikhez tartozik. Végül az ellenorzo összeg segítségével bizonyosodik meg a vevo oldali IP arról, hogy a fejléc az átvitel során nem sérült-e meg. A TCP és az IP különbözo ellenorzo összegeket használ. Az IP-nek meg kell tudnia gyozodnie a fejléc sértetlenségérol, különben rossz helyre küldheti el az adatot. A TCP és az IP a biztonság és a hatékonyság növelése miatt külön ellenorzo összegeket használ.
Egy IP csomag két részbol áll:

IP fejléc (header): Ez tartalmazza a csomagot azonosító információkat.
Szövegrész: Ebben a részben van az az adat, amit ténylegesen át kell vinni.

Az IPv4-es fejléc felépítése:

Verzió mezõ: ez egy négybites információ arról, hogy a fejléc hányas IP verziót használ.
IHL mezõ (Header Length): adja a fejrész teljes hosszát 32 bites egységekben.
Szolgálat típus mezõ (Type Of Service, TOS): ebben a mezoben lehet megadni kéréseket a routerek felé, hogy a csomagot hogyan továbbítsák. Kérni lehet, hogy milyen úton, milyen sávszélesség felé, milyen megbízhatóságú úton menjen a csomag. Ez csak egy kérés a routerek felé, nem kötelesek ezeket figyelembe venni.
Azonosító mezõ: amennyiben egy IP csomagot fel kell bontaniuk a routereknek kisebb csomagokra, akkor ebben a mezoben lesz benne egy azonosító az eredeti csomagra vonatkozólag. Az eredeti csomag eloállításáról mindig a hosztoknak kell gondoskodniuk.
MF mezõ (More Fragments): ez is a fragmentáció támogatására szolgál, amennyiben egy csomag széttördelt, akkor ebben a mezoben jelzik ezt.
Datagramdarab eltolás: fragmentált csomag esetén azt mutatja, hogy ez a csomag az eredetinek hányadik darabja.
Élettartam mezõ (Time To Live, TTL): ez egy nyolc bites számláló, amely a csomagok élettartamát tartalmazza, másodpercben csökken. Amennyiben az érték 0-ra csökken, akkor a routerek eldobják a csomagot.
Protokoll mezõ: kijelöli, hogy a datagram a különbözõ szállítási folyamatok közül melyikhez tartozik, azaz milyen protokoll várja fent ezt a csomagot (pl.: TCP, UDP, ICMP stb.).
Fejrész ellenõrzõ összege: csak a fejrész ellenõrzésére szolgál.
Forráscím: A küldo IP-címe.
Célcím: A címzett IP-címe.


22. ábra: IP csomag

7.1.3.2. IGMP (Internet Group Management Protocol)

Ez a protokoll lehetõvé teszi, hogy egy hálózaton gazdaszámítógépek meghatározott csoportja valamilyen üzenetet kapjon. Ezek az üzenetek úgynevezett többszereplõs (multicast) üzenetek, amelyek a hálózatba kapcsolt gazdagépek meghatározott csoportjához szólnak. Ahhoz, hogy egy gazdagép megkapjon egy ilyen többszereplõs üzenetet, a többszereplõs csoport mindegyik gazdagépének a csoporthoz tartozás mellett kell döntenie. Az IGMP közvetíti a tagságot a többszereplõs gazdagépek és a többszereplõs útvonalválasztók felé.

A multicast egy kommunikációs forma, amelyben egy adó (jelforrás) és tetszõleges számú vevõ egy közös csatornát használva információt cserél. A legfontosabb tulajdonsága a pont-pont kommunikációval szemben, hogy az információmennyiség csak egy példányban áramlik át a hálózaton. Ezt a tulajdonságot elsõsorban a multimédia alkalmazások tudják kihasználni, így az élõ hang és videoközvetítések, a videokonferenciák, s az egyéb tartalomszóró megoldások.

Az IP multicast lokális hálózatokon a legegyszerûbben megvalósítható: a szerver számítógép operációs rendszerének és az adást sugárzó szoftvernek képesnek kell lennie a multicast kommunikációra, pontosabban az IGMP protokoll használatára. Ez manapság minden modern TCP/IP implementáció része, így csak konfiguráció kérdése a hatékony használat. A legtöbb szoftver esetében ez csak a multicast címtartomány, azaz a D osztály beállítását jelenti.

7.1.3.3. ICMP (Internet Control Message Protocol)

Az ICMP tulajdonképpen az IP felügyeleti protokollja, úgy viselkedik, mintha magasabb szintû protokoll lenne, de az IP integráns része. A két kommunikáló fél ennek segítségével küld egymásnak a beállítandó paramétereket, valamint hibajelzésre is szolgál. Természetesen ez is IP csomag formájában közlekedik a hálózaton, az adatmezobe van beírva az üzenet. Az adatmezoben van két darab byte, amely az üzenet azonosítására szolgál. Ezt követi az ellenorzoösszeg, majd opcionálisan az egyéb paraméterek. Az ICMP üzeneteket típus szerint két csoportra oszthatjuk: 1. hibaüzenetekre és a 2. az információs üzenetekre.

ICMP üzenetet a következõ helyzetekben küldenek:

A címzett elérhetetlen. A routerek küldik a feladónak, ha a cél nem létezik vagy a hálózat végtelen távolságban van.
Lejárt a csomag élettartama. A routerek küldhetik, ha a TTL nullára csökkent, vagy a címzett, ha a fragmentek összevárására kijelölt idõ letelt és még nem érkezett meg az összes darab.
Hibás IP csomagot adnak fel.
Átirányítás (Redirect). Más irányba küldjük inkább az ehhez a címzetthez küldendõ csomagjainkat, mert arra rövidebb az út. Ezt routerek küldhetik az állomásoknak a hálózat mûködésének javítása érdekében.
Idõbélyeg kérés és válasz. Ez az állomások óráinak szinkronizálására használatos.

Információs üzenetek:

Ezek az üzenetek nem hibajelzésre, hanem hibadetektálásra, illetve információ lekérdezésére használatosak. Ezek mindegyike egy kérésbõl és egy ráadott válaszból áll (kérés/válasz típusú üzenetek). A kérés (request) üzenet célcímét mindig valamilyen alkalmazás vagy a felhasználó határozza meg. Az egyik legfontosabb és leggyakrabban használt ICMP üzenet az Echo Request és az Echo Reply. Ha egy végpont Echo Request (visszhang kérés) üzenetet fogad, akkor arra köteles válaszolni egy Echo Reply (visszhang válasz) üzenettel. A visszhang mechanizmus használható hálózat vagy végpont mûködésének ellenõrzésére, valamint sok más célra is.

 

tart.