Az eddigiekre épülve a mostani cikkünkkel a hálózati réteget kezdjük el boncolgatni. Ennek fontosságáról meglehetősen keveset tudnak, de a hálózatok működése szempontjából óriási jelentőséggel rendelkezik. Ha nem lenne ez a réteg, nem lennénk képesek megtalálni a másik számítógépet, amellyel adatokat szeretnénk cserélni. Ha két számítógép között több lehetőségünk is van, akkor azokból valamilyen szempont szerint ki kell választani a legoptimálisabbat. Ennek a folyamatáról, a kapcsolatok kialakításának lehetőségeiről olvashatnak a mostani és az ezt követő cikkünkből.

Az OSI modell hálózati rétege
Az előző részekben megismerkedtünk a fizikai- és az adatkapcsolati réteg felépítésével, amelyek hardverben kerülnek megvalósításra, hasonlóan a hálózati réteghez. Ez utóbbi feladata, hogy a csomagokat a forrástól eljuttassa a célig. A feladata ennyiben nem merül ki, mivel abban az esetben, ha a célállomás több útvonalon keresztül is megközelíthető, a hálózati réteg feladata, hogy ezek közül a legoptimálisabbat kiválassza. Ez a legalsó réteg, amely a két hálózati végpont közötti átvitellel foglalkozik.

A hálózati réteg a felette álló szállítási rétegnek nyújt szolgálatokat (ahogyan már ezt az cikksorozat elején is említettük). A szolgálatokat az alábbi szempontok figyelembevételével tervezték meg:

  1. A szolgálatoknak az alhálózat kialakításától függetlennek kell lennie, de fontos, hogy a hálózati topológia ismert legyen.
  2. A felsőbb rétegek, de mindek előtt a szállítási réteg elől el kell rejteni a kommunikációban résztvevő aláhálózatok számát, típusát és a topológiáját.
  3. A végpontok eléréséhez címeket használunk, amelyeknek egységes rendszert kell alkotni a felsőbb rétegek számára. Ebből a szempontból nem különíthetők el a helyi (LAN) és a nagy kiterjedésű (WAN) hálózatok sem.
A hálózati réteg tervezésénél az egyik legnagyobb probléma az összeköttetésre módjának meghatározása. Alapvetően kétféle kapcsolati típus alakítható ki, amelyekben más a feladata a hálózati és a szállítási rétegnek.

Összeköttetés alapú hálózat

Az egyik lehetőség, hogy a hálózati réteg alakítja ki a végpontok kötött a összeköttetést és az adattovábbítást. Az ilyen jellegű hálózatokban szükség van az átvitel előtt egy kapcsolatot felépíteni a küldő és a címzett között, majd ezután lehet küldeni a kívánt információkat. Az ilyen elven alapuló hálózatokat nevezik összeköttetés-alapú hálózatoknak. Az adatblokk elküldése előtt a küldő hálózati rétegének fel kell építeni egy kapcsolatot a címzettel. Ez a fizikai összeköttetés mindaddig fennmarad, amíg a teljes blokk küldését be nem fejezték. Ezután a vonalat bontva az felszabadul a többi kapcsolat számára. Amikor a vonal foglalt, mindkét végpont küldhet adatot a másik számára, tehát a kapcsolat kétirányú is lehet (nyugtázás). A forgalomszabályozásnak biztosítania kell, hogy az adó csak olyan sebességgel küldhesse az információt, amilyen gyorsan a vevő ezt érzékelni képes, vagyis ne léphessen fel torlódás. Mindezekből láthatjuk, hogy szükség van összeköttetésre, de ez az esetek többségében csak az átvitel idejére áll fenn. Ilyen típusú hálózat az ATM. Az összeköttetés alapú hálózatot megbízhatónak tekintjük, ahol nincsenek elveszett, kettőzött és sérült csomagok.

A kapcsolatot virtuális áramkörök (virtual circuits) látják el. Ebben a felépítésben minden csomagnak ugyanaz az útvonala, tehát nem kell újabb és újabb vonalakat keresni minden egyes csomag számára.

Általában az alhálózatban nem csak egy útvonalat lehet egyszerre kialakítani, hanem többet is. Ha visszaemlékszünk az alhálózat felépítésre, akkor tudjuk, hogy vonalak és IMP-ek alkotják. Ez utóbbiak tulajdonképpen kapcsolóáramkörök, amelyek megvalósítják a kapcsolatot a hosztokkal. Tekintsük meg az 57. ábrát.


57. ábra. Az összeköttetés alapú hálózat működése

Látható, hogy az alhálózatban 4 kapcsolat került a virtuális áramkörök segítségével kialakítva. Minden kapcsolat egy, vagy több IMP-en keresztül valósul meg. Természetesen van olyan IMP, mely nem csak egy kapcsolat kialakítását végzi el. Gondoljunk bele, mi lenne, ha az IMP1 a HOSZT1-től érkező csomagot az IMP4 felé küldené az IMP2 helyett.

Értelemszerűen az útvonalakat nyílván kell tartani, ehhez minden kapcsolóelem egy listát tart fenn, amelyből tudja azt, hogy a bemenetére érkező csomagot melyik vonalra kell továbbítania. Minden csomagnak, amely áthalad az alhálózaton, tartalmazni kell egy mezőt, amelyben a virtuális áramkör számát tárolják el. Amikor egy kapcsoló üzenetet vesz, akkor tudja, hogy melyik vonalon érkezett és a fejrészből tudja, hogy mi a virtuális áramkör száma. Ebből a két információból kell a helyes kimeneti útvonalat megtalálnia.

Amikor egy hálózati összeköttetést felépítenek, a hozzá tartozó virtuális áramkörök számára egy olyan sorszámot választanak, amely eddig még nem szerepelt. mivel minden hoszt önállóan választja ki a sorszámokat, ezek csak helyi érvényességgel rendelkeznek. Ha a teljes hálózatban értelmezni lehetne, akkor ütközés lépne fel olyan esetekben, ha egy kapcsolóhoz két eltérő kapcsolathoz tartozó azonos sorszám kerülne.

Duplex vonalakon egy speciális helyzet instabillá teheti a rendszer működését. Mivel a virtuális áramkörök bármelyik hálózati pontból kezdeményezhetők, probléma lép fel az ugyanazon a vonalon haladó ellentéte irányú vonalfelépítés során. Amikor a kérelem mindkét oldalról szomszédos IMP-hez ér, akkor az eddigieknek megfelelően azonos számot fognak a virtuális áramkörnek adni. Ezt szemlélteti az 58. ábra.


58. ábra. Ellenkező irányú kapcsolat-felépítés

Az ábrán látható, hogy a HOSZT1 és a HOSZT2 szeretne egymással kapcsolatot létesíteni, a vonalfelépítést pedig egyszerre kezdeményezik. Amikor a HOSZT1 elér az IMP5-höz, az a legkisebb virtuális áramkör sorszámot adja, vagyis a 2-t. A HOSZT2 által kezdeményezett vonalfelépítés elér az IMP7-ig, ami a 2-es sorszámot adja a virtuális áramkörnek. Ez probléma, hiszen egyik IMP sem tudja, hogy a hozzá 2-es virtuális áramkör sorszámmal érkező csomag egy előrehaladó-, vagy egy visszafelé haladó csomag-e. A szimplex vonalaknál ez a hiba természetesen nem jelentkezik.

A kommunikáció befejeztével le kell bontani a kapcsolatot, aminek eredményeként a virtuális áramköröket törölni kell a kapcsolók tábláiból, és fel kell szabadítani a lefoglalt terülteket.

Összeköttetés mentes hálózat

Ezzel némileg ellentétes az összeköttetés mentes hálózati szervezés. Ebben az esetben az információtovábbítás csomagok formájában kerül megvalósításra, a kapcsolatot a szállítási réteg hozza létre, az átvitel előtt nincs szükség összeköttetés elépítésére. Ebben az esetben az alhálózat feladata a bitek továbbítása a forrástól a címzettig. Ilyen esetekben az alhálózat megbízhatatlan működésű a bitek továbbítása szempontjából. Ennek következményeként szükséges, hogy a hosztok végezzék el a hibavédelmet és a forgalomszabályozást. Tipikusan ilyen felépítést követő hálózat az internet és a protokolljai.

Az alhálózat felépítése egyszerű, tulajdonképpen csak két szolgálati primitívre van szükség, az egyik a csomagok küldését, a másik pedig azok fogadását végzi el. A hardverrétegekben nincs szükség a csomagok sorrendi kezelésére éppúgy, mint a forgalomszabályozásra, hiszen ezeket a műveleteket a hosztok amúgy is elvégzik (duplán pedig általában felesleges valamit elvégezni). A továbbíthatóság érdekében minden csomagban tárolni kell a teljes címet, valamint a csomag sorszámát, mivel ezek elküldése egymástól teljesen függetlenül történik meg. A hálózatban előfordulhatnak kettőzött, elveszett és sérült csomagok, ezért az ilyen típusú hálózatokat megbízhatatlan összeköttetés mentes hálózatoknak nevezzük.

Az üzenet egymástól függetlenül elküldött csomagjait datagramoknak nevezzük. Az ilyen jellegű hálózatokban nincsenek kialakított útvonalak, mint az összeköttetés alapú hálózatokban. Az akkor is igaz, ha maga a szolgálat összeköttetés alapú.

Az összeköttetés mentes hálózatok kezelése munkaigényesebb feladat, de könnyebben alkalmazkodnak a dinamikusan változó hálózati terhelésekre és torlódásokra, mint az összeköttetés alapú hálózatok.

Az IMP-ek itt is egy táblázatot tartanak fenn, azonban ebben nem a virtuális áramkörök sorszámát (nincsenek is ilyenek), hanem a velük kapcsolatban lévő IMP-ek azonosítóját tartalmazzák. Amikor egy csomag megérkezik az IMP-hez, az a címmező alapján kikeresi azt az útvonalat, amelyen ezt tovább kell küldenie.

Az alábbi táblázatban összehasonlítjuk a két hálózati felépítés tulajdonságait.
 

 
Összeköttetés mentes hálózatokban
Összeköttetés alapú hálózatokban
Áramkörök felépítése Nincs rá szükség. A működésének az alapja.
Címzés használata Minden csomag tartalmazza a teljes forrás- és célcímet.  Minden csomagban csak a virtuális áramkör száma található meg, amely sokkal rövidebb, mint a cím. 
Állapotinformáció Az alhálózatban nincsenek ilyen információk.  Virtuális áramköröket nyilvántartó táblázatok.
Forgalomirányítás Minden csomagot egymástól függetlenül irányítanak.  Az útvonal kiválasztása akkor történik, amikor a virtuális áramkör felépül. Természetesen minden csomag ugyanazt az útvonalat használja. 
A forgalomirányítók meghibásodásának következményei Nincs. Minden virtuális áramkör megszakad, amely ezen a kapcsolón haladt keresztül. 
Torlódásvédelem Bonyolult. Egyszerű.

Az, hogy melyik megoldást választjuk a hálózati réteg tervezésekor, több szempont figyelembevételével kell eldönteni. Mindegyik módszernek vannak előnyei és hátrányai egyaránt.

  • Az összeköttetés mentes hálózatokban rövid üzenetek esetén a nagyméretű cél- és forráscím nagyon megnövelheti az átvitt adatmennyiséget, amelynek így nagy része felesleges, vagyis csökken a hasznos sávszélesség. Ezzel szemben a virtuális áramkörök használatakor csak azok sorszámát kell továbbítani, ami nem jár sok felesleges adattal. Ezeknek a nyilvántartását viszont meg kell oldani az IMP-eken keresztül, amely memóriaterület kialakítását követeli meg. Ennek a mérete nagy és terhelt hálózatok esetében nagy is lehet, amely esetleg határt szabhat a kapcsolatok számának.
  • A virtuális áramkörök felépítése és lebontása időt vesz igénybe, ami lecsökkenti a hálózat működésének sebességét. Ez különösen igaz akkor, amikor sokszor kell kialakítani másik útvonalat. Ilyen a datagram hálózatokban nincsen.
  • Az összeköttetés mentes hálózatokban el kell dönteni, hogy mit kell csinálni a bejövő csomaggal, valamint azt is meg kell határozni, hogy melyik útvonalon történjen meg annak elküldése. Ilyen probléma nem áll fenn az összeköttetés alapú hálózatoknál, mivel itt a csomag által tartalmazott virtuális áramkör sorszáma alapján el lehet könnyen dönteni a kimeneti útvonalat
  • Olyan esetekben, amikor a kapcsolatot a hosztok között kézzel építik fel és a kapcsolat folyamatosan aktív akár hónapokon keresztül is, akkor nem érdemes az ilyen hálózatokban a datagram alapú átvitelt használni. Természetesen ennek a fordítottja is előfordulhat. Nagyon sok esetben az átvitel tranzakció jellegű, ami azt jelenti, hogy csak nagyon kis méretű adatcsomagokat kell átvinni a két hoszt között és ezeket a legváltozatosabb időben kell megoldani. Ilyen esetekben a virtuális áramkör felépítése és lebontása az időt annyira megnöveli, hogy amiatt nem lesz hatékony a kapcsolat.
  • A virtuális áramkörök használata hátrányos lehet akkor is, ha a kapcsolóelem meghibásodik. Ebben az esetben a memóriában tárolt táblázatok elvesznek, vagyis az aktív kapcsolatok minden adata is. Amikor később visszaáll a működése, akkor minden kapcsolatot újra fel kell építeni. Ezzel szemben ha egy összeköttetés mentes hálózatban tönkremegy egy IMP, akkor maximum azok a felhasználók szenvedhetnek kárt, akiknek a csomagja éppen ebben az IMP-ben álltak sorban arra várva, hogy az elküldje azokat.
  • A terhelési viszonyok a datagram típusú hálózatokban a torlódások kényelmesebben és dinamikusabban kezelhetők, mint az összeköttetés alapú hálózatoknál. Ennek az oka, hogy egy kapcsolat felépítése után a vonal foglalt lesz mindaddig, amíg a teljes átvitel be nem fejeződött. Az összeköttetés mentes hálózatokban viszont minden csomag útvonala tetszőlegesen, az éppen aktuális terhelési viszonyoknak megfelelően állítható be.

Az eddigiekben arról beszéltünk, hogy a gyakorlatban csak az összeköttetés mentes datagram szolgálatokat használó és az összeköttetés alapú virtuális alapú hálózatok használatosak. Előfordulhatnak a másik két elven működő hálózatok is, azonban ezeket csak speciális helyzetekben használják.

A következő részben az itt megismert alapok után a hálózati réteg egy nagyon fontos feladatával, az útvonalak kezelésével fogunk megismerkedni. Ez a művelet nagyon fontos az olyan alhálózatokban, ahol a két kommunikáló végpont között több lehetséges útvonal is előfordul. A döntésben nagyon sok szempontot figyelembe kell venni, amelyek alapján vannak a gyakorlatban előforduló útvonalválasztási algoritmusok.