Amikor a számítógépek megjelentek, azokat önálló feladatvégrehajtásra tervezték. Ha a gépeknek egymás adataira volt szükségük, akkor azt körülményesen lehetett csak megoldani. A technika fejlődésével a számítógépek is egyre inkább elterjedtek. Az IBM cég elkészítette az első olyan számítógépét, amely a magánszemélyek körében vált népszerűvé. Ennek a neve volt a PC (Personal Computer, személyi számítógép), amely az önálló működést sejteti. A szerkezet annyira elterjedt az idő folyamán, hogy már a vállalatok számítástechnikai igényeit is ezek látták és látják el. A klasszikus PC és sokáig még az utódainál is a független működésmódot tartották szem előtt. Ez magával vonta a folyamatok kimeneti és bemeneti adatainak a nehézkes áramlását olyan helyeken, ahol a feladatmegoldást több számítógép végezte el. Felmerült az igény arra, hogy a számítógépek össze legyenek kötve. Ez vonta maga után a számítógéphálózatoknak a létrejöttét, rövid időn belül pedig az elterjedését.

A számítógéphálózat fogalma alatt az egymással kapcsolatban álló számítógépeket és az azokat összekapcsoló közeget értjük.

A számítógépek hálózatba kapcsolásának előnyei:
 

  • Lehetővé teszi, hogy a hálózatba bekapcsolt eszközöket, programokat, adatokat minden számítógép elérhesse. Ezt nevezzük erőforrásmegosztásnak, ami lehetővé teszi, hogy ezek a tényleges fizikai elhelyezkedésüktől függetlenül elérhetők legyenek.
  • Az előző pontban leírt előnyből származik a következő is. Mivel az erőforrásokat minden összekapcsolt számítógép igénybe veheti, ezért lehetőség van az egyenletesebb teljesítménymegosztásra, vagyis a hálózat homogénebbé tehető.
  • Lehetőségünk van a költségek csökkentésére is. A drága eszközöket, mint például nyomtató, nem kell annyi példányban megvásárolni, mint amennyi számítógépről nyomtatni szeretnénk. Figyelembe kell venni azt is, hogy a hálózat kialakítása is költségvonzattal jár, a két értéket egymással szembeállítva kell eldönteni, hogy megtérül-e a hálózat kialakítása.
  • Ha a működés szempontjából kritikus eszközökből többet kapcsolunk a hálózatba, akkor az egyik leállásakor nem akad el a működés, a többi eszköz képes ennek a feladatait is átvenni. Ezzel a megoldással nagyobb működési megbízhatóságot érhetünk el.
  • Az egyik leggyakoribb ok, ami miatt számítógéphálózatok kerülnek kialakításra, a központi adatbázisok használatának a lehetősége, amely minden gépről elérhető, sőt módosítható.
  • Könnyen használható a számítógéphálózat, mint kommunikációs közeg. Ebben az esetben a rendszer használói egymásnak üzeneteket, adatokat továbbíthatnak. A struktúra miatt nagy kiterjedésű vállalatok esetén sokkal gyorsabb információáramlást tesz lehetővé, mint a hagyományos kommunikációs közegek, amellet költségek is csökkenthetők ezáltal.

A sok előny mellett azért hátránya is van a gépek összekapcsolásának. Amíg a számítógépek nincsenek összekapcsolva, a hibabehatárolás az esetek többségében viszonylag egyszerűen elvégezhető. A számítógéphálózatoknál ez a folyamat sokkal bonyolultabb, mivel a gépek egymásra is kihatással vannak. A másik hátrány, hogy a kialakítás költségvonzattal jár.

Az, hogy megéri-e a hálózatokat kialakítani, egy hosszas előkészítő munkának az eredménye határozhatja meg. Általában igaz, hogy az ötnél több számítógép esetében már megtérül a kialakítás költsége.

Alapfogalmak

Számítógéphálózat struktúrák
A számítógéphálózatokat két nagy funkcionális részre bonthatjuk a tényleges kilakítástól függetlenül. Azokat a gépeket, amelyeket összekapcsoljuk, hálózati végpontoknak (Host) nevezzük. Ezeken futnak a felhasználói programok, a felhasználónak ezekről van lehetősége beavatkozni a rendszer működésébe. A hosztokat össze kell kapcsolni, amelyet a kommunikációs alhálózatok valósítanak meg. Általánosságban elmondható, hogy az alhálózatok is két funkcionális részből állnak. A tényleges adattovábbító közeget nevezzük csatornának, míg az adatok megfelelő csatornába juttatásáért a hálózati kapcsolópontok (Internal Network Switching Node) vagy más néven az IMP-ek (Interface Message Processzor, interfész üzenet feldolgozó) a felelősek. A hálózatok vázlatos felépítését mutatja az 1. ábra.

1. ábra. A számítógéphálózatok felépítése

A hálózatok tárgyalásakor meg kell ismerkednünk két, egymáshoz nagyon hasonlító, fontos fogalommal. Az egyik a topológia, a másik pedig a topográfia.
A topológia meghatározza a számítógépek összekapcsolási módját, vagyis a kommunikációs alhálózaok felépítését.
A topográfia a számítógépek fizikai elrendezését határozza meg, vagyis ebben a fogalomban nincsen szerepe a kommunikációs alhálózatok kialakításának.

A hálózatok csoportosítása
A számítógéphálózatokat a kialakításuknak megfelelően többféle szempont szerint csoportosíthatjuk. A két legfontosabb a kommunikációs alhálózatok kialakítása és a hosztok egymáshoz való viszonya szerinti csoportosítás.

A kommunikációs alhálózatokat két nagy, a pont-pont és a multipont csoportra oszthatjuk. A pont-pont összeköttetést nevezi a szakirodalom két pont közötti csatornával rendelkező alhálózatnak is. Ebben az esetben a két, egymással kommunikáló hálózati végpont egymással kapcsolatban van valamilyen átviteli közeg felhasználásával. Az információs csomagok ezen az összeköttetésen keresztül kerül továbbításra. Abban az esetben, ha a vevő nem neki szóló üzenetet vesz, azt továbbküldi a következő állomásnak. A kommunikációs kapcsolat mindig csak két hoszt között alakul ki. A megoldás előnye, hogy a hibabehatárolás viszonylag egyszerű, mivel a kapcsolat mindig két hoszt között valósul meg. A hátránya is ezzel kapcsolatos, ugyanis a több végződést tartalmazó alhálózatokban csak több végződés beiktatásával alakulhat ki a kapcsolat. A több pont-pont kapcsolatú végződés összeköttetésére számos lehetőségünk van, a legelterjedtebbek a csillag, a gyűrű és a fa. Ahhoz, hogy minden hoszt közvetlenül képes legyen bármely hoszttal kommunikálni, egyí N végződést tartalmazó hálózatban összesen N*(N-1)/2 darab vezeték szükséges. A különböző pont-pont topológiákat mutatja a 2. ábra.

2. ábra. A pont-pont és a multipont topológia különböző kialakítási formái

A multipont összeköttetést nevezi a szakirodalom üzenetszórásos csatornának is. Az ilyen típusú alhálózatoknál ténylegesen csak egy átviteli csatorna van, ezen osztozik az összes hoszt. Az elküldött információs csomagokat minden hoszt veszi, annak érdekében, hogy azonosítani lehessen, hogy kinek szól az üzenet, egy címmezővel kell azt ellátni. Ennek megfelelően csak olyan mértékben kell minden hosztnak az üzenetet feldolgoznia, hogy a címmezőt képes legyen értelmezni. Ha nem neki szól, akkor azt eldobja. A topológia lehetőséget ad arra, hogy egyszerre több hosztnak küldjünk információt. Ebben az esetben csoportcímzés használata válik szükségessé. Az üzenetszórásos csatornával rendelkező, vezetékes átviteli közeget használó alhálózatoknak két típusa van, a sín és a gyűrű. Bizonyos szempontból ebbe a csoportba sorolható a rádiós adatátvitel is. A megoldás megnehezíti a csatornához való hozzáférés vezérlése. Mivel csak egy csatorna van, abban az esetben, ha egyszerre többen szeretnének adni, akkor annak ütközés az eredménye. Ennek a megakadályozására több módszer ismeretes, ezekről a későbbiekben még lesz szó.

A hozstok kapcsolata szerinti csoportosításban beszélhetünk egyenrangú (peer-to-peer) és alá-fölérendelt (server-klient, szerver-kliens) hálózatokról. Az egyenrangú hálózatokban minden résztvevő ugyanazokkal a jogokkal rendelkezik, a hálózat vezérlését, karbantartását elvileg bármelyik hoszt elvégezheti. Az ilyen hálózatok esetében a kialakítás egyszerű, azonban öt gépnél többet tartalmazó hálózatban az ilyen jellegű kialakítás már nem célszerű. A kapcsolat megvalósításához vagy ezt támogató operációs rendszert, vagy speciális programokat kell használni. A Microsoft elterjedt, operációs rendszernek nevezett Windows 95/98/Me rendszerei kivétel nélkül támogatják az egyenrangú hálózat kezelését. Fontos, hogy az ilyen hálózatokban a maximális sebességet a leglassabb hoszt fogja meghatározni. A hatékony használathoz célszerű közel azonos teljesítményű számítógépeket összekapcsolni.

Az alárendelt hálózatokban van egy kitüntetett szerepű számítógép, a szerver, amely az összes, a hálózattal összefüggő folyamat vezérlését képes ellátni. A szerver egy nagyteljesítményű számítógép, amely egyszerűbb esetben egy jobban kiépített PC, de általában speciálisan erre a célra készített számítógép. A szerver képes szinte minden erőforrását megosztani a rákapcsolódó kliensek között. Ebből következik, hogy a kliensgépek gyengébb teljesítményűek is lehetnek. Lehetőség van a programok és az adatok egy helyen, a szerveren való tárolására. A kliensgépek futtathatnak is a szerveren programokat, az adatok pedig minden arra jogosult helyen elérhetők. Az ilyen típusú hálózatokat akkor célszerű alkalmazni, ha a gépek száma nagy, vagy azok egyszerűbb kialakításuk miatt nem képesek azokat a programokat futtatni, amelyekre szükség van. A szerver-kliens felépítést speciális, hálózati operációs rendszerekkel valósítják meg. Ilyen operációs rendszer a Novell IntaNetWare, a Microsoft Windows NT/2000, a Unix, a Linux, hogy csak a PC-ken használható rendszereket említsük. Ezekről még lesz szó a továbbiakban.

A hálózatok felépítése
Mint az élet minden területén, a hálózattervezésben is a strukturált módszereket használják. Ahhoz, hogy erre lehetőség legyen, valamilyen egységes kezelést kell bevezetni. A megoldást a rétegek (layer) bevezetése jelenti. A hálózat egyes részeit rétegekbe sorolják. Minden réteg az előzőre épül, kapcsolat esetén minden réteg a másik hoszt azonos rétegével létesít kapcsolatot. Minden réteg vezérlőinformációkat és adatokat ad át az alatta lévő rétegeknek, egészen a legalsó szintig, ahol már a fizikai kommunikáció valósul meg. Természetesen a kapcsolatban résztvevők között az üzenettovábbítás csak megadott szabályok szerint valósulhat meg. A használt szabályok és megállapodások összességét nevezzük protokollnak (protocol).

A rétegstruktúrában fontos, hogy csak a szomszédos rétegek közötti alakulhat ki kapcsolat és így kommunikáció. A kapcsolatot speciális csatoló, a réteginterfész valósítja meg. A hálózat strukturális kialakítása miatt fontos, hogy a rétegek egyértelműen meghatározott funkcióhalmazból álljanak. A rétegek és az általuk használt rétegprotokollok összességét nevezzük hálózati architektúrának.

Amikor kialakítják az architektúrát, fontos, hogy a rétegeket megfelelő módon határozzák meg.
 

  • Minden rétegnek rendelkeznie kell olyan eljárásokkal, amelyek képesek a kapcsolatot létrehozni, illetve lebontani.
  • Meg kell határozni, hogy milyen legyen az adatátvitel. Itt választhatunk a csak egyirányú (szimplex), a váltakozva kétirányú (fél duplex) vagy a teljesen kétirányú (duplex) kapcsolat között.
  • Meg kell határozni azokat a módszereket, amelyek fontosak az eltérő sebességű perifériák összeszinkronizálásához.
  • El kell dönteni, hogy milyen hibavédelem, illetve hibajelzés kerüljön felhasználásra.
  • Van-e lehetőség korlátlan hosszúságú üzenetek küldésére. Amennyiben nics, biztosítani kell azok feldarabolását, valamint a vevőoldalon a megfelelő összeillesztést. Azt is meg kell vizsgálni, hogy biztosítható-e a darabok sorrendhelyes vétele.
  • Abban az esetben, ha a két, kommunikációban résztvevő hoszt között több útvonal is kialakítható, meg kell határozni az optimális útvonalat.

A fentiekből látható, hogy nem egyszerű, sőt nem is lehet minden követelménynek optimálisan megfelelni. A kompromisszumok miatt a gyakorlatban számos hálózati megoldás alakult ki.

Az OSI modell
Az előzőekben leírtaknak megfelelően már látható, hogy a számítógéphálózatok rétegzett struktúraként írhatók le. Annak érdekében, hogy a rétegstruktúra széles körben használható, valamint egységes legyen, szabványosításra lenne szükség. A Nemzetközi Szabványügyi Szervezet (International Standard Organization, ISO) kidolgozott egy ajánlást, amelyet ma már minden hálózat kialakításánál követnek. Az ajánlás a Nyílt Rendszerek Összekapcsolása nevet viseli, amelyet az angol Open System Interconnect kifejezésből alkotott betűszóval OSI modellnek neveznek.

Az OSI modell hét rétegből épül fel, amelyeknek a kialakításánál három fontos szempontot vettek figyelembe:
 

  • Minden réteg jól definiált legyen, a feladatai pontosan legyenek rögzítve.
  • A rétegek között az információcsere minimális legyen, a réteghatárokat ennek megfelelően kell kialakítani.
  • Annak érdekében, hogy a feladatok jól elkülöníthetőek legyenek, elegendő réteget kell definiálni.

Az OSI modell felépítése a 3. ábrán vehető szemügyre. Az alsó három réteg a hálózat kialakításától függ, míg a felsőbb négy réteg alkalmazásfüggő.

3. ábra. Az OSI modell felépítése

Az OSI modell felépítésének ismerete nagyon fontos mindazok számára, akik szeretnének a számítógéphálózatok működésével megismerkedni. A továbbiakban összefoglaljuk az egyes rétegek funkcióit, majd részletesen is ismertetjük azokat.
 

  • A fizikai réteg (physical layer) feladata a tényleges kommunikáció lefolytatása. Biteket juttat az átviteli közegbe, az érkező információkat pedig veszi. Fontos, hogy a vevő az digitális adatot ugyanúgy értelmezze, mint ahogy az adó. A fizikai átviteli közeg, valamint az átvitel módja sokféle lehet, ezekről bővebben a réteg részletes ismertetésénél olvashatunk.
  • Az adatkapcsolati réteg (data link layer) hivatott az adó és a vevő közötti adatforgalom biztonságát garantálni. A réteg szempontjából minden átvitel pont-pont kapcsolatnak tekinthető, függetlenül a hálózat topológiájától.
  • A hálózati réteg (network layer) a kommunikációs alhálózatok működését vezérli. Ez a réteg dönt az esetleges útvonalválasztásról is.
  • A szállítási réteg (transport layar) feladata a nagy mértékben hasonlít az adatkapcsolati rétegéhez. Az információt szükség esetén kisebb darabokra bontja és így adja át a hálózati rétegnek. Fontos feladata a címzések kezelése
  • Az együttműködési réteg (session layer), vagy más néven a viszonyréteg feladata a hosztok közötti viszonyok kezelése.
  • A megjelenítési réteg (presetation layer) nagyon fontos az alsóbb rétegek számára. Ebben a rétegben kell elrejteni a küldendő adatok tényleges megjelenési formáját. Az alsóbb rétegek nem tudják, hogy a felhasználó milyen típusú adatokat szeretne elküldeni a hálózaton keresztül, ezért szükség van ezeknek egy egységes leírásmódjára. Ez a folyamat tulajdonképpen a kódolás.
  • A legfelső réteg az alkalmazási réteg (application layer). Ezzel a réteggel kerül a felhasználó a legszorosabban kapcsolatba. Itt kell megoldani a felhasználói kapcsolatok megvalósítását. Annak érdekében, hogy a hálózati alkalmazások készítőinek ne kelljen ismerniük a hálózat tényleges megvalósítását, az alkalmazási réteg egy virtuális terminált határoz meg. Az alkalmazások ezt a terminált érik el, a réteg feladata ennek a tényleges termináltípusra való lefordítása.

A fentiekből már látható, hogy az OSI modell a látszólagos egyszerűsége mellett meglehetősen bonyolult.

Mielőtt megismerkednénk bővebben is a rétegek funkcióival, egy nagyon fontos és kényes kérdést szeretnénk bemutatni. A következő pont alatt azt vizsgáljuk, hogy hogyan lehet felismerni, illetve lekezelni azt az eseményt, ami akkor lép fel, ha egyszerre több állomás próbálkozik meg az üzenet küldésével ugyanazon az átviteli közegen keresztül.

(folytatjuk)