Ugrás a tartalomhoz

Operációs rendszerek mérnöki megközelítésben

Benyó Balázs, Fék Márk, Kiss István, Kóczy Annamária, Kondorosi Károly, Mészáros Tamás, Román Gyula, Szeberényi Imre, Sziray József

Panem Kiadó

4.2. Hálózati architektúra

4.2. Hálózati architektúra

4.2.1. Alapfogalmak

A számítógép hálózat fogalma általában számítógépek és perifériák (például nyomtató) egy adott halmazának valamilyen eszközzel történő összekötését takarja. A kapcsolat lehet közvetlen (egy kábellel kialakított), vagy közvetett (a hálózati kapcsolat kialakítását segítő eszközökön, például modemen keresztüli).

A hálózatba kapcsolt komponenseket csomópontoknak nevezzük. A csomópontokat kommunikációs hálózatok kötik össze, melyek az átvitelt biztosító vonalakból és kapcsolóelemekből állnak. Az átvitelt biztosító vonalak neve csatorna, vonal, vagy trönk. A kapcsolóelemek vagy a hálózatba kapcsolt gépek részei (például hálózati kártya), vagy önálló speciális berendezések (útvonalválasztók, hidak stb.). A hálózati csomópontok összekapcsolási rendje az ún. hálózati topológia.

A hálózati adatcsere (kommunikáció) architektúrája réteges felépítésű: a kommunikáció egyes szintjeit megvalósító algoritmusok egymástól elkülönülnek, közöttük interfészek biztosítják a kapcsolatot. A rétegek egymásra épülnek, a kapcsolatban részt vevő két fél azonos szinten levő rétegei kommunikálnak egymással az alsóbb rétegek szolgáltatásait igénybe véve. Az azonos rétegek közötti kommunikációban használt adatformátumok és párbeszéd szabályok összességét protokollnak nevezzük.

4.2.2. A hálózatok topológiája

A számítógép hálózatok csomópontjainak összekapcsolását, azaz a hálózat topológiáját többféle szempont szerint lehet értékelni. A csomópontok közötti kapcsolatok kiépítettsége, a kommunikáció sebessége és az adattovábbítás megbízhatósága a legfontosabb szempontok.

A kapcsolat kiépítettsége szerint a hálózatokat két nagy kategóriába soroljuk:

  • Teljesen összekapcsolt (fully connected). A rendszert alkotó összes csomópont között közvetlen kapcsolat van. A kapcsolat kiépítésének költsége magas, négyzetesen arányos a csomópontok számával. A kommunikáció gyors, hiszen csak egy csatorna kell az üzenetnek a címzetthez juttatásához; megbízható, mivel a közvetlen csatorna meghibásodása esetén két csomópont között sok egyéb, más csomópontokat érintő út van.

  • Részlegesen összekapcsolt (partially connected). Nincs minden csomópont-pár között közvetlen kapcsolat. A hálózat építésének költsége kisebb, mint a teljesen összekapcsolt eset­ben, de a kommuniká­ció is lassabb, egyes üzenetek csak több közvetítő csomóponton keresztül juthatnak el a címzetthez.

A hálózat egyes csatornák meghibásodására érzékeny lehet, a teljes hálózat több részhálózatra eshet szét, amelyekben lévő csomópontok csak egymással tudnak üzenetet váltani, a másik részben lévőkkel nem. A kritikus, könnyen meghibá­sodó csatornák mellé érdemes kerülőutakat biz­tosítani.

4.1. ábra. ábra - Teljesen és részlegesen összekapcsolt hálózat

Teljesen és részlegesen összekapcsolt hálózat


A részlegesen összekapcsolt hálózatok a következő alaptopológiákból épülhetnek fel:

  • Hierarchikus. A csomópontok közötti kapcsolatok faszerkezetűek, minden csomópontnak – a legfelső kivételével – van egy szülő és néhány gyerek csomópontja. Csak a szülő és a gyerekek tudnak közvetlenül üzeneteket váltani, a testvérek, rokonok csak a megfelelő ősökön keresztül üzen­hetnek egymásnak.

Egy csatorna vagy egy – üzenettovábbító – szülő állomás kiesése esetén a hálózat részekre szakad.

  • Csillag (star). A csillag hálózatban van egy központi csomópont, amely az összes többi csomóponttal közvetlen kapcsolatban áll, a többiek viszont csak a központi csomóponthoz csatlakoznak, más közvetlen kapcsolatuk nincs.

A kapcsolatok kiépítésének költsége viszonylag kicsi, két állomás közötti kom­munikáció viszony­lag gyors – csak a központi csomópont közreműködését igényli –, viszont a központ kiesése esetén a csomópontok magukra maradnak, túl sok csomópont üzenetei pedig túl­terhelhetik a központot.

  • Gyűrű (ring). A gyűrű olyan topológia, ahol minden csomópont pontosan két másikhoz kap­csolódik. Létezik egyirányú – ahol minden csomópont ugyanabba az irányba továbbítja az üzeneteket –, illetve kétirányú gyűrű.

A hálózat kiépítési költsége az állomások számával lineárisan arányos. Az üzenet­továbbítás lassú, sok csomópont közvetítésére lehet szükség: legrosszabb esetben egyirányú gyűrű esetén n-1, kétirányú gyűrűnél n/2 átvitel kell.

4.2. ábra. ábra - Hierarchikus és csillag összekapcsolás

Hierarchikus és csillag összekapcsolás


Egyirányú gyűrűnél egy, kétirányú gyűrűnél pedig két csomópont kiesése esetén szakad részekre a hálózat. Ez ellen kettőzött gyűrűvel védekeznek. Ezzel együtt a gyűrű hálózatok rendkívül érzékenyek a csomópontok, vagy a köztük lévő kapcsolatok kiesésére.

4.3. ábra. ábra - Gyűrű és kettőzött gyűrű hálózat

Gyűrű és kettőzött gyűrű hálózat


  • Vezérjeles gyűrű (token ring). A gyűrűhöz hasonló kialakítású hálózat, melyben egy hurkolt kábelközpontban történik a gépek összekötése (azaz minden gép egy központi egységbe csatlakozik). A vezérjel egy speciális adat, mely állandóan körbejár a hálózatban, és az az állomás kap engedélyt kommunikáció kezdeményezésére, mely az adott pillanatban a vezérjelet birtokolja.

A hálózat kiépítési költség szempontjából a csillag topológiához ha­sonlít, üzenettovábbítás szempontjából gyűrű topológiájú.

Megbízhatósága lényegesen nagyobb a gyűrű topológiánál, mivel csak egy virtuális gyűrűt tartalmaz, fizikai topológiája csillag.

  • Sín (bus). A sín topológiájú hálózatban az összes állomás egy közösen használt kommu­nikációs csatornára kapcsolódik. Bármelyik két csomópont a csatornán keresztül közvetlenül válthat üzeneteket.

A gyűrű topológiához hasonlóan a hálózat kiépítésének költsége az állo­másszámmal lineárisan nő, a kommunikáció gyors, de a csatorna könnyen telítődhet. Egyes állomások kiesése a többit nem érinti, a csatorna meghibásodása viszont katasztrofális.

4.4. ábra. ábra - Sín típusú hálózat

Sín típusú hálózat


A csillag topológiák váltak a mai lokális hálózatok legelterjedtebb megoldásává, mivel rugalmasak, könnyen bővíthetőek, viszonylag kis költséggel telepíthetőek (különösen a ma elterjedt integrált kábelezési rendszerekben, ahol nem csak a számítógépes, de a telefon és épület-felügyeleti kábelezés is egy rendszer része). A csillag topológia szinte teljesen kiszorította a busz és gyűrű megoldásokat, és egy új topológia kialakulásának alapját képezte: a kapcsolt hálózatokét.

  • Kapcsolt (switched). A kapcsolt hálózatok topológiája lényegében csillag alakú, azzal a különbséggel, hogy a központban egy speciális hálózati eszköz, a kapcsoló (switch) foglal helyet. A kapcsoló a csomópontok közötti hálózat kialakítását a hálózatban adott pillanatban található csomagoknak megfelelően alakítja ki, a feladókat közvetlenül összekötve a vevőkkel. Ily módon a kapcsolt topológia az állomások között olyan pont-pont kapcsolatot valósít meg, mely dinamikusan változtatható az adatátviteli igényeknek megfelelően.

A hálózat kiépítésének költségét a csillag topológiához képest csak a kapcsolóeszköz beépítése növeli.

A kommunikáció sebessége nagy, mivel egyszerre kevés eszköz használja ugyanazt a vonalat, és az állomások a kapcsolón keresztül pont-pont módon köthetők össze. A kapcsoló képes különböző sebességű vo­nalak összekötésére is.

Az eddigiekben felsorolt alap topológiákat felhasználva komplex hálózati topológiákat építhetünk. Az alap topológiák kizárólag kis, helyi hálózatok számára alkalmasak, skálázhatóságuk (azaz a hálózatba kapcsolt gépek számának és a hálózat méretének lehetséges növelése) erősen korlátozott. Az egyedi igényeknek megfelelően kell egy skálázható, komplex topológiát kialakítani ezen alap építőelemek felhasználásával.

4.2.3. A hálózatok típusai

A hálózatokat kiterjedésük alapján is lehet osztályozni:

  • Helyi hálózat (local area network, LAN). A helyi hálózatok tipikusan egy, illetve néhány szomszédos épületet fed­nek le (néhány kilo­méter kiterjedésűek), átviteli sebességük nagy (másodpercenként 10 Mbit és 1 Gbit között van). A tipikus helyi hálózati topológia sín, gyűrű vagy csillag, a tipikus átviteli közeg a csavart érpáros kábel (UTP).

  • Nagy területű hálózat (wide area network, WAN). A nagy területű hálózatok helyi hálózatok összekapcsolásával jönnek létre. A helyi hálózatok közötti kapcsolatok általában nagysebességű (100 Mbit feletti) vonalak, bár nem ritka a modemes, illetve más telefonvonalas összeköttetés sem. Általában elmondható, hogy a nagy hálózatok sebessége az egyéni felhasználók szemszögéből nézve egy-két nagyságrenddel kisebb a helyi hálózatokénál.

4.2.4. A hálózati kommunikáció rétegei

Egy alkalmazás teljes hálózati kommunikációját megvalósító szoftver egy olyan bonyolult rendszer, melyben egyszerre többféle feladattal és hardver architektúrával kell foglalkozni. Emiatt a szoftvert jól meghatározott részkomponensekre kell bontani.

Ezen komponensek egy része a hálózati eszközökben (kapcsolókban, útvonal választókban) található, más részük a hálózatba kapcsolt számítógépek operációs rendszereinek része, míg harmadrészben az adott alkalmazás szoftverébe épülnek be. A kommunikációt végző szoftver ilyen felbontását a számítógép-hálózati kommunikáció réteges szervezése segíti. A rétegek (layers) a kommunikációs rendszer egymástól jól elkülönülő, független részei, melyek szabványos interfészekkel kapcsolódnak egymáshoz.

Többféle modell létezik a rétegszerkezet kialakítására, mint például az Open Systems Interconnection (OSI) Referencia Modell, vagy az Internet világában használatos TCP/IP rendszer.

Az OSI-modell hét réteget határoz meg:

  • Fizikai (physical). A legalsó szint, az adatok átvitelére szolgáló mechanikai, elektromos, és egyéb jellemzőket leíró modul. Ez a réteg határozza meg az átvitel időzítéseit, a kapcsolat irányát, felépítésének és lebontásának módját. A réteg többféle fizikai hordozó közeget használhat az elektromos jelektől a fényjeleken át a rádióhullámokig.

  • Adatkapcsolati (data link). A fizikai réteg szolgáltatásainak igénybevételével az adatok megbízható átküldését végzi el, azaz észleli és lehetőség szerint javítja a kommunikáció során bekövetkező adatát­viteli hibákat. Az átviendő adatokat keretekbe (bájtcsoportokba) szervezi, ellátja őket kiegészítő adatokkal (cím, ellenőrző összeg stb.), és elküldi a vevő felé. A vevőtől fogadja az adatvételt igazoló keretet.

  • Hálózati (network). Az adatok fizikai útját határozza meg a célállomásig. Több lehetséges út esetén kiválasztja a legmegfelelőbbet (útvonalválasztás, routing).

  • Szállítási (transport). Feladata a gépek közötti transzparens adatátvitel megvalósítása. A kommunikációban részt vevő gépek elől teljesen elfedi a hálózatot, annak topológiáját, és olyan kapcsolatot biztosít számukra, mintha pont-pont összeköttetésben lennének. Ez a réteg gondoskodik arról, hogy a fogadott adat pontosan megegyezzen az elküldött adattal. Hiba esetén újraküldi az adatot.

  • Viszony (session). A kommunikációban részt vevő gépek a kommunikáció során valamilyen viszonyban állnak egymással (azaz a kommunikáció nem csak egy üzenet küldését és fogadását, hanem ezek sorozatát is jelenti). A viszony réteg feladata a párbeszéd megszervezése, a helyes szinkronizáció megteremtése, a két fél műveleteinek összehangolása, egymás állapotának megismerése.

  • Megjelenítési (presentation). A réteg az adatok alkalmazástól független, egységes kezeléséért felelős. Az alkalmazás különböző típusú adatait egységes, közös reprezentációra hozza, szükség esetén tömöríti, illetve titkosítja. Ez az a szint, ahol a fájl- és karakterformátumok egységes, alkalmazástól független ábrázolása kialakul.

  • Alkalmazási (application). Ez a réteg kapcsolódik a felhasználóhoz, illetve a felhasználói alkalmazásokhoz, mint például az elektronikus levelezés, fájlátvitel, webböngésző stb. Alapvető feladata a hálózaton keresztül érkező információ megjelenítése, illetve a felhasználó által bevitt információ továbbítása az alsóbb rétegek felé.

A TCP/IP, az Internet alapprotokoll családja, szintén réteges felépítésű, de csak öt réteget használ. Az OSI-modellben található rétegek közül néhánynak a feladatait másokkal összevonja, illetve bizonyos rétegekkel (mint a fizikai és az adatkapcsolati) nem foglalkozik. A hálózati réteg protokollja az IP (Internet Protokol), míg a szállítási rétegben a TCP és az UDP protokollokat definiálja. Az e fölötti rétegekben a TCP/IP-rendszer az UDP illetve a TCP protokollokra épít. A megjelenítési és viszony szintek szolgáltatásai a TCP/IP alkalmazási rétegben jelennek meg.

4.5. ábra. ábra - A hálózati rétegek és protokollok kapcsolata

A hálózati rétegek és protokollok kapcsolata


4.2.5. Címzés és forgalomirányítás

A forgalomirányítás (routing) feladata annak meghatározása, hogy két ál­lomás közötti üzenetek, amennyiben nincs köztük közvetlen kapcsolat, milyen úton, mely közbülső csomópontokon keresztül haladjanak.

A forgalomirányítást a csomópontok olyan táblázatok alapján végzik, amelyek tartal­mazzák a lehetséges útvonalakat és esetleg az útvonalakhoz tartozó egyéb informá­ciókat, mint például a csatorna sebességét, költségét, aktuális terhelését. A forga­lomirányító táblázatokat időnként aktu­alizálni kell akár kézzel, akár automatikusan.

A gyakrabban használt forgalomirányítási módszerek:

  • Fix útvonal. Két adott csomópont között az üzenetváltás mindig rög­zített – általában a legrövidebb, legkisebb költségű – útvonalakon történik.

  • Virtuális áramkör (virtual circuit). Egy kapcsolati viszony (session) elején kialakult útvonalon halad az összes üzenet, amíg a kapcsolatot valamelyik fél le nem zárja.

  • Dinamikus forgalomirányítás (dynamic routing). Minden üzenethez kü­lön keresnek útvonalat. A közbülső állomások üzenetenként döntik el, hogy azt melyik útvonalon adják tovább. A döntést befolyásolhatja a csatornák aktuális ren­delkezésre állása, illetve terhelése.

Miután a forgalomirányítás talált egy útvonalat a két állomás között, az ott futó folyamatok üzeneteket váltanak. Az állomások kapcsolódásának módjai a következők lehetnek:

  • Áramkörkapcsolás (circuit switching). A két folyamat kommunikációjához egy fizikai csatorna tartozik, amelyet más folyamatok a kapcsolat időtartama alatt nem használhatnak. A kapcsolat kialakítása lassú, de ezután az üzenetváltás a csatorna ka­pacitását teljesen ki­használva folyhat. Ha a folyamatok ritkán küldenek üzenetet, a csatorna kihasz­ná­lat­lan.

  • Üzenetkapcsolás (message switching). Minden üzenet csomópontok közötti továbbításához ideiglenesen egy fizikai csatornát rendel­nek, amelyet az üzenet átvitele után más folyama­tok használhat­nak. Az átvitel során a közbülső állomásoknak a teljes – gyakorta nagyon nagy – üzenetet venni és a továbbításig tárolnia kell.

  • Csomagkapcsolás (packet switching). Az üzeneteket a küldő állomás kis, rendszerint azonos hosszúságú cso­magokra bontja. A cso­magok önállóan haladnak a hálózaton a céljuk felé, csak a fogadónál állítják belőlük össze újra az üzenetet.

A megoldás jól kihasználja a csatornák átviteli kapacitását, hiszen egymás után több üzenethez tartozó csomagot lehet átvinni, nagy méretű közbülső tárakra sincs szükség. Ezzel szemben minden csomag többlet­információt tartalmaz, az átvitel sebessége lassabb.