Szerződés száma: HU9705-02-01-0028
Pécsi Tudományegyetem Pollack Mihály Műszaki Főiskolai Kar Műszaki Informatika Tanszék
Az alkalmazott informatikai képzés regionális fejlesztése.
Pandur Béla:
Számítógép hálózatok I. Utolsó aktualizálás: 2008 január
2002-2008 Pandur B.: Számítógép Hálózatok I. 2002-2008
1
Tartalom jegyzék 1.
Bevezetés
3
1.1.
Előszó
3
1.2.
Számítógépes hálózatok kialakulása
3
1.3.
Számítógép hálózatok létrehozásának céljai
6
1.4.
Hálózati struktúrák
7
1.5.
Hálózati hardver
8
1.6.
Összekapcsolt hálózatok
l2
1.7.
Hálózati szoftver
13
1.8.
Rétegek tervezési kérdései
16
1.9.
Terminológia
17
1.10. Összeköttetés alapú és összeköttetés nélküli szolgálat
18
1.11. Szolgálatprimitívek
19
1.12. Hálózatszabványosítás
20
2.
Fizikai réteg
29
2.1.
Elméleti alapok
29
2.1.1. A fizikai csatorna jellemzői
29
2.1.2. Vonalak megosztása
31
2.1.3. Távközlő hálózatok kapcsolástechnikája
33
2.2.
40
Az adatátviteli közeg
2.2.1. Koax kábelek
40
2.2.2. Csavart érpáras kábelek
41
2.2.3. Fényvezető-szálas kábelek
45
2.3.
52
Adatátviteli módszerek
2.3.1. Analóg és digitális átvitel
52
2.3.2. Modulációs protokollok
52
2.3.3. Hibajavító és adattömörítő protokollok
55
2.3.4. Kódolás alapsávú rendszerekben
56
2.4.
58
Digitális átvitel
2.4.1. Áttekintés
58
2.4.2. Karakterek ábrázolása
59
2.4.3. Aszinkron soros átvitel
61
2.4.4. ISDN
63
2.4.5. Asynchronous Transfer Mode (ATM) hálózatok
71
Pandur B.: Számítógép Hálózatok I. 2002-2008
2
1. BEVEZETÉS 1.1 Előszó A számítástechnika a többi iparághoz viszonyítva fiatal, de fejlődési sebessége meghaladta minden más iparág fejlődési sebességét. A korábban önálló területek:
az információ gyűjtése továbbítása tárolása feldolgozása
egyre közelebb kerül egymáshoz. A felhasználó szeretné a bárhol rendelkezésre álló információt gyorsan elérni , és hatékonyan felhasználni. Nem egy számítógéppel akar kapcsolatba lépni, hanem azzal információval, amit számítógépek sokasága hordoz. A hálózatok elterjedése számos társadalmi és morális problémát is felvet. A hálózat lehetővé teszi , hogy az azonos nézeteket vallók nagy távolságból is közös hirdetőtáblákon tegyék közé eszméiket, levelező csoportokat hozzanak létre. A szabad információ áramlás akkor válik problémává , ha olyan eszmék és csoportok kapnak teret, melyek a társadalmat érzékenyen érintik. ( Vallás, szex, terrorizmus. ) A jegyzetben csak műszaki kérdésekkel foglalkozunk, és csak ott érintjük a jgi és morális vonatkozásokat , ahol ez elkerülhetetlen ( védelmi stratégiák ) .
1. 2. Számítógépes hálózatok kialakulása Az első számítógépek elszigetelten, hatalmas termeket kitöltve mindössze néhány
kivételezett
számára
voltak
elérhetőek.
Az
intézmény
teljes
számítástechnikai igényét egyetlen gép szolgálta ki. A gépek szaporodásával ezt a modellt felváltotta a különálló , de egymással összekapcsolt számítógépek rendszere.
Az
ilyen
számítógép
rendszereket
nevezzük
hálózatoknak
(computer networks). Számítógép hálózatnak az információcserére alkalmas, autonóm gépek rendszerét tekintjük. A meghatározás két lényeges eleme az önállóság, és az
Pandur B.: Számítógép Hálózatok I. 2002-2008
3
információcsere képessége. Nem tekinthető számítógép hálózatnak egy olyan rendszer, ahol egyértelműen mester-szolga kapcsolat van a gépek között. Az információ elérésén túl megjelent egy másik igény is, hogy egy nagy feladatot , párhuzamosan , osztottan oldunk meg (distributed processing). Az osztott feldolgozás elsősorban a számításigényes feladatok gyors megoldására alkalmazható eljárás, amikor is több, egymással hálózatba kötött gép egy felügyelő gép irányítása alatt párhuzamosan dolgozik a globális probléma részfeladatainak megoldásán, ezáltal a teljes megoldáshoz szükséges időt töredékére csökkenthetjük. A központosítás és az elosztott rendszerek viszonya az elmúlt években sok vita tárgya volt. Napjainkban a nagyvállalati rendszerek többsége biztonsági okokból a központosítás felé hajlik, de a központi erőforrás nem egy számítógép, hanem egy számítógép csoport. A számítógép hálózatok fejlesztésében meghatározó szerepe volt az amerikai védelmi minisztériumnak ( U.S. Department of Defense, DoD) . Egy olyan parancsközlő hálózatot kívántak létrehozni, ami túléli az atomháborút (1965, a hidegháborús korszak csúcsa.) A fejlesztéseket a minisztérium kutatási részlege (Advanced Research Agency) szerződésekkel és ösztöndíjakkal támogatta. Az első csomagkapcsolt hálózat létrehozásával a Rand Corporation (Paul Baran ) 1960-as évek elején. A kutatás University of California (UCLA) illetve a Massachusetts Institute of Technology bevonásával folytatódott. Az elméleti tanulmányok alapján egy olyan hálózat megépítésére írtak ki tendert, ami csomóponti gépekből (Interface Management Processors) áll , melyeket adathálózat köt össze. Az adathálózatnak működőképesnek kell maradni akkor is, ha egyes csomópontjai megsemmisülnek. Egy IMP maximum 8063 bites üzenetet küldhet, amit legfeljebb 1008 bites csomagban kell továbbítani. A tenderre 12 cég jelentkezett . A megbízást a cambridge-i BBN tanácsadó cég nyerte. Az első rendszerben Honeywell DDP-316 számítógépeket használtak, 56kbit/sec sebességű vonalakkal összekapcsolva. Az első csomópontot 1969 őszén állították fel az UCLA-n. Decemberre már négy csomópont működött az alhálózaton (UCLA, UCSB, SRI, Utahi egyetem), amely ekkor kapta az (Advanced Research Project Agency) az ARPAnet nevet.
Pandur B.: Számítógép Hálózatok I. 2002-2008
4
1.1 ábra Az ARPANET hálózata 1971-ben 1971-ben tizenöt csomópont működött az ARPAnet-en, 1972-re pedig harminchétre nőtt a számuk. A csomagkapcsolt hálózat elvei, lényege azóta sem változatak. Ezzel elkezdődött a hálózat terjeszkedése és technológiai fejlődése. A hetvenes évek végére kiépültek a kapcsolatok az ARPANET és más hálózatok között. A világot ettől kezdve egy globális számítógépes hálózat fonja be. Az 1980-as években a hálózatoknak ez a hálózata melyet összefoglaló néven Internetnek neveztek, rohamos ütemben nőtt. Ekkor kezdték közhasznú célokra alkalmazni. Az igazi karriere a 90-es években kezdődött, mikor az üzleti élet kezdte felfedezni magának. Ettől kezdve vált napjaink leginkább emlegetett, nagy lehetőségeket kínáló területévé. A robbanásszerű fejlődésben nagy szerepe volt annak , hogy az Internet lehetővé tette a levelezést. A fejlesztésekben nagy szerepe volt a svájci CERN laboratóriumában Tim Barns-nak. Barns valójában nem épített új rendszert, csak könnyen használhatóvá tette a meglévő elemeket. Az elterjedést nagyban
Pandur B.: Számítógép Hálózatok I. 2002-2008
5
elősegítette egy új alkalmazás a World Wide Web megjelenése . A WWW-hez írt böngészőprogram a „Mosaik” ( National Center for Supercomputer Agency fejlesztés ) megjelenése után egy év alatt a WWW szerverek száma 100-ról 7000-re emelkedett.
1.3 Számítógép hálózatok létrehozásának céljai A hálózat mai célja, hogy a felhasználó ne egy számítógéppel, hanem a hálózat erőforrásaival kerüljön kapcsolatba. Ez a felfogás sok előnnyel jár. •
Lehetővé teszi az erőforrások megosztását. A rendszerben levő erőforrások (tárolók, nyomtatók) a jogosultságtól függően elérhetők bárki számára.
•
Nagyobb megbízhatóságú működést eredményez, hogy az adatok egyszerre több helyen is tárolhatók, az egyik példány megsemmisülése nem okoz adatvesztést. Az azonos funkciójú elemek helyettesíthetik egymást. ( Több nyomtató közül választhatunk )
•
Gazdaságosan növelhető a teljesítmény. A feladatok egy nagyszámítógép helyett megoszthatók több kisebb teljesítményű eszköz között. Általában tízszeres teljesítmény százszoros árat jelent. A megosztás tehát rendkívül gazdaságos. A közösen használt eszközökből kevesebb példányra van szükség mint egyébként.
•
Elérhetővé válnak a központi adatbázisok. Ezek az adatbázisok sok helyről lekérdezhetők, és sok helyről tölthetők. Csak így képzelhető el pl. egy valóban aktuális raktár vagy megrendelés állomány kezelés egy nagyvállalatnál.
•
A hálózati rendszer kommunikációs közegként is használható. Ez a terület a leggyorsabban fejlődő ág. Ide tartozik az elektronikus levelezés, a hálózati telefon és a videó átvitel is.
•
Központi programtárolás és kiszolgálás.
A programokat nem feltétlenül kell a saját gépünkön tárolni. Elképzelhető, hogy a programok csak a futtatás idejére töltődnek le a gépünkre, és a használatért eseti bérleti díjat fizetünk.
Pandur B.: Számítógép Hálózatok I. 2002-2008
6
Saját hálózatokon ennek a megoldásnak az az előnye, hogy mindig az aktuális verzió fog futni a felhasználó gépén anélkül, hogy ezzel külön kellene foglalkoznunk. A korszerű vállalati rendszerekben általában helyi programtárolás van, de futtatás előtt a rendszer ellenőrzi, hogy a példány megegyezik-e a szerveren tárolttal. Ha szükséges frissíti a programot és letölti a hiányzó komponenseket.
1.4 Hálózati struktúrák A hálózati struktúrák és a fogalmak meghatározásában a mai napig érvényesek az ARPA ( Advanced Research Project Agency ) által kidolgozott elvek. •
Hosztoknak (host) nevezzük azokat a gépeket, amelyekben a felhasználó program fut.
•
Kommunikációs alhálózat ( communication subnet ) köti össze a hosztokat. Az alhálózat az összeköttetést biztosító csatornákból és kapcsológépekből áll. A csatornát (channels) szokás még vonalnak, áramkörnek, vagy több vonal esetén trönknek is nevezni. Figyeljük meg, hogy a hoszt nem része az alhálózatnak!
•
A kapcsológép ( Interface Message Processor ) az interfész üzenet feldolgozó gép. Feladata, hogy a bemenetére kerülő adatot meghatározott kimenetre kapcsolja. Fizikailag ez lehet egy speciális gép (pl. router), de lehet egy számítógép része is (pl. hálózati kártya).
Pandur B.: Számítógép Hálózatok I. 2002-2008
7
1.2 ábra. Kommunikációs alhálózat Egy IMP-hez egy hoszt is tartozhat, de egy IMP-hez több hoszt is kapcsolódhat. Az egy IMP – több hoszt a nagytávolságú hálózatokra jellemző.
1.5 Hálózati hardver A hálózati technológiák alapvetően két csoportba sorolhatók •
Adatszóró hálózatok
•
kétpontos ( pont-pont ) hálózatok.
Az adatszóró hálózatok egyetlen kommunikációs csatornát használnak. Ha egy gép elküld egy üzenetet, azt valamennyi gép megkapja. Ezeket az üzeneteket csomagoknak ( packets ) hívjuk. A feladót és a címzettet a csomag címmezőjében lehet megadni. A fogadó megnézi a csomag címmezőjét, és csak azokkal a csomagokkal foglalkozik, amit neki címeztek. Az adatszóró rendszerek általában lehetővé teszik, hogy valamennyi gépnek egyidőben küldjünk üzenetet. Ezt az üzemmódot hívják adatszórásnak (broadcasting). Ha a gépek egy csoportját címezzük meg ez a többesküldés
Pandur B.: Számítógép Hálózatok I. 2002-2008
8
(multicasting ) . A többesküldést a címmező egy speciális bitjének beállításával jelöljük, és maradék n-1 címbit jelöli a csoportot.
1.3. ábra. Adatszóró hálózatok A kétpontos hálózatokban a gépek párosával kapcsolódnak egymáshoz. A lényeg, hogy minden üzenet egy adott ponttól egy másik címezhető pontra kerül. Egy IMP több IMP-hez is kapcsolódhat, de az adatot mindig címzetten egy szomszédos IMP-re küldjük. A csomagot az IMP teljes egészében veszi ,kiértékeli és továbbküldi. Ezeket a hálózatokat szokás tárol- és – továbbít ( Store – and – forward ) , vagy csomagkapcsolt ( packet-swiched ) hálózatnak nevezni. A nagykiterjedésű hálózatok többsége ( a műholdast kivéve ) ebbe a csoportba tartozik. Ha a csomagok mérete állandó, akkor celláknak is szokás nevezni. Ha egy csomóponthoz több másik is csatlakozik, akkor fontos kérdés, hogy a lehetséges útvonalak közül a rendszer melyiket választja ( routing ).
Pandur B.: Számítógép Hálózatok I. 2002-2008
9
Csillag
Gyűrű
Metsző gyűrű
Fa
Teljes
1.4.ábra. Jellegzetes pont-pont topológiák
A hálózatok további szempontok szerint is csoportosíthatók: •
kiterjedés
•
használat jelege
•
átviteli köteg
A hálózat kiterjedése szerint •
Személyi hálózatok (Personal Area Network) néhány 10m Viszonylag kis sebességű (115kbit/sec-4Mbit/sec), kevés eszköz összekapcsolására alkalmas rendszerek. Elsősorban kényelmi szempontok indokolják az alkalmazást (mobil telefon, PDA, nyomtató).
•
Lokális hálózat ( Local Area Network ) 10 m – 2 km átmérõjű. Egy vállalat,
egy intézmény területén belül marad. Nagysebességű (1Mbit/sec-10Gbit/sec) , alacsony hibaarányú hálózat. Pandur B.: Számítógép Hálózatok I. 2002-2008
10
A jogi szabályozás szempontjából lényeges kérdés, hogy a vállalat területén belül marad, mivel így nem minősül távközlésnek, amit minden ország erőteljesen szabályoz, és meghatározott szolgáltatóknak engedélyez csak. •
Városi hálózat ( Metropolitan Area Network ) 1 – 30 km átmérõjű, egy várost átfogó hálózat.
Nagysebességű (100Mbit/sec-10Gbit/sec), alacsony hibaarányú hálózat. •
Nagykiterjedésű ( Wide Area Network ) hálózatok. Földrajzilag nagy kiterjedésű, országokat, földrészeket átfogó nagy hálózatok.
Jellemző sebesség 1Gbit/sec-10Gbit/sec, alacsony hibaaránnyal. Korábban a hálózatok között jelentős különbségek voltak sebességben és hibaarányban. A legfontosabb probléma a szűk sávszélesség jó kihasználása volt. Mai hálózatainkban nincs számottevő különbség sebességben és hibaarányban a hálózat mérete alapján. A működés jellegzetességeit a késleltetési idő határozza meg. Egy WAN hálózat késleltetése 0,5 – 2 másodperc is lehet. A késleltetési idők korlátozzák a on-line beavatkozásokat, és az üzenetek jó hatásfokú nyugtázott átvitele is új eljárások kidolgozását igényelte. (Képzeljük el, hogyan vezetnénk úgy egy gépkocsit, hogy a kormány és a fék minden mozdulatunkat 1 másodperc késéssel követné.) Kialakulóban van egy, a néhány 10 cm hatósugarú hálózatot használó alkalmazások csoportja is. A nagyteljesítményű számítógépek moduljai közötti kommunikáció céljaira fejlesztették ki, de számos más, érdekes alkalmazást találhatunk ebben a csoportban is. A használat jellege szerint: •
nyilvános ( public )
•
zárt
hálózatok vannak. Nyilvános hálózat akkor, ha ahhoz ( megfelelő díjazás mellett ) bárki hozzáférhet. Az átvitel jellege szerint: •
vezetékes
•
rádiós
Pandur B.: Számítógép Hálózatok I. 2002-2008
11
megkülönböztetés szokásos. Az üvegszálas kábelek, vagy a lézeres pont – pont összeköttetések használat szempontjából vezetékes jellegűek. A rádiós rendszerek jellemzője, hogy nincs fizikailag kitüntetett cél, üzenetszórás jellegűek. A vezeték nélküli hálózatok alkalmazása gyorsan terjed magasabb áruk és rosszabb minőségi jellemzőik ellenére. A felhasználó mobilitását biztosítják. A felhasználó mobilitása néhány speciális problémát is felvet, pl. nem tudom előre, hogy a hálózat melyik részén kell kiszolgálnom. Hogyan irányítsam a neki szóló üzeneteket, ha a tartózkodási helye változik ? Egy jellegzetes alkalmazás a repülőgépen telepített LAN hálózat. Az egész LAN mozog a WAN hálózaton belül. A címzés megoldásról a forgalomirányítási részben lesz szó.
1.5. ábra. Mozgó LAN hálózat
1.6 . Összekapcsolt hálózatok A világon nagyon sok, és sokféle hálózat létezik. A különböző hálózatok összekapcsolására szolgáló eszközök az átjárók (gateway). Az átjáró alkalmas különböző hardvert és különböző szoftvert tartalmazó hálózatok összekapcsolására. Az összekapcsolt rendszerekben természetesen csak azok a funkciók működőképesek, melyek mindkettőben léteznek. Az összekapcsolt hálózatokat hívják internetwork-nek, vagy internet-nek. Az internet WAN hálózattal összekapcsolt LAN-ok csoportja. Pandur B.: Számítógép Hálózatok I. 2002-2008
12
Fogalmilag fontos, hogy a WAN hálózat tartalmaz hoszt-okat. A WAN hálózaton belül az átviteli vonalak és a routerek együttese az alhálózat, amely nem tartalmazza a hoszt-okat. Az alhálózat és a hoszt általában a tulajdonosok szerint is elkülönül. Az alhálózat a szolgáltató tulajdona, a hoszt ( a felhasználó gépe ) a felhasználóé. A továbbiakban az internet kifejezést ( kis kezdőbetűvel ) általában az összekapcsolt hálózatokra, az Internet ( nagy kezdőbetűvel ) a ma elterjedt világméretű hálózatra alkalmazzuk. 1.7 Hálózati szoftver A hálózati szoftver alatt azokat a szoftvereket értjük, melyek a hálózat működtetésével kapcsolatosak. A hálózati operációs rendszerek nem tartoznak a hálózati szoftver fogalomkörébe, bár a működéshez elengedhetetlenül szükségesek. Protokollok ( Protocols ) A számítógépek párbeszédének írott és íratlan szabályait együttesen protokollnak nevezzük. A protokoll egy megállapodás, amit az egymással kommunikáló felek párbeszédének szabályait rögzíti. A hétköznapi életben is vannak protokoll szabályok, amiknek betartása megkönnyíti, megsértése megnehezíti a kommunikációt. Az eltérő szabályok értelmezési nehézségeket okozhatnak. ( Egy bulgár előrehátra mozgatja a fejét, az abban a környezetben „nem”-et jelent, a nálunk megszokott „igen” helyett.) . A hálózatok bonyolultak, ezért rétegekbe ( layers ) vagy szintekbe ( levers ) szervezik a működést. Minden réteg vagy szint az alatta lévőre épül. Az egyes rétegek célja, hogy szolgáltatásokat nyújtsanak a felettük lévőnek, és használják az alattuk lévő szolgáltatásait. Minden réteg csak a szomszédos réteggel van kapcsolatban. Az egyes rétegek párbeszédének szabályait a réteg-protokollok tartalmazzák. Példaként nézzünk egy 5 – rétegű hálózatot: Pandur B.: Számítógép Hálózatok I. 2002-2008
13
1.6. ábra. Réteg szemléletű kommunikáció Minden réteg formálisan a vele azonos szintű réteggel társalog. Az adat valójában végighalad az alatta lévő összes rétegen, de ezt a rendszer elfedi. Az első réteg alatt van a fizikai közeg ( physical medium ). Soha ne feledkezzünk meg arról, hogy a fizikai közegben az adattovábbítás mindig analóg jellegű. Az adatot a fizikai közeg valamely tulajdonságának mértéke hordozza. Az egymással szomszédos rétegek között interfész ( interface ) található. Az interfész definiálja a rétegek közötti elemi műveleteket, és azokat a szolgáltatásokat amit nyújt, illetve használ. A rendszerek tervezésének kritikus része az interfészek definíciója . A definíciónak világosnak és egyértelműnek kell lenni, hogy egy réteg a funkciók megváltozása nélkül tervezhető és kicserélhető legyen. Egy új implementációban az az elvárás, hogy pontosan azokat a szolgáltatásokat nyújtsa a felette lévő rétegnek, mint a korábbi. Célszerű, ha az interfészt úgy választjuk meg, hogy az átadandó információ minimális legyen. A rétegek száma is kompromisszum. Ha kevés a rétegszám, bonyolult lesz a megvalósítás. Túlságosan sok réteg lassítja a rendszert, mert a sok interfész programja időt igényel.
Pandur B.: Számítógép Hálózatok I. 2002-2008
14
A rétegszemlélet megértéséhez vizsgáljuk meg az emberi kommunikációt.
Japán ügyfél
japán / angol / japán tolm ács
titkárnő
Alkalm azás
közös nyelv
közös hordozó
Magyar ügyfél
m agyar/angol/ m agyar tolm ács
titkárnő
FAX levél
1.7. ábra. Emberi kommunikáció modellje A modellünkben egy japánnak akarjuk megüzenni, hogy gyönyörűek a cseresznyevirágai. A kommunikáció 3 rétegből áll: Ügyfél (alkalmazás )– tolmács – titkárnő. Minden réteg saját feladattal rendelkezik. A tolmács feladata, hogy valami globális (mindkét oldalon értelmezhető) formára hozza az üzenetet, vagy ezt a globális formát alakítsa lokálissá. A tolmácsnak mindegy, hogy az alatta levő réteg (titkárnő) hogyan továbbítja az üzenetet. Neki a vele azonos szinten lévővel kell azonos protokollt (nyelvet) használni. Látható, hogy semmi nem változna, ha a japán/angol – angol/magyar párosok helyett japán/francia – francia /magyar párosítást használnánk. Cserélhető a titkárnők által alkalmazott hordozó is. Itt is az a fontos, hogy a két oldal azonos szintű rétege „értse” egymást. (Mindkét oldalon azonos szabványú fax készülék legyen) Ezeket az egyeztetéseket végzik el a különböző távközlési szervezetek. A megállapodások egy része kötelező (szabvány) , más része ajánlás. A jegyzetben sokszor hivatkozott „OSI modell” ajánlás. Pandur B.: Számítógép Hálózatok I. 2002-2008
15
1.8. Rétegek tervezési kérdései Egy hálózatban sok számítógép van, tehát szükség van egy olyan mechanizmusra, ami a küldőt és a fogadót azonosítja. Sok alkalmazásban szükség lehet arra, hogy a célállomások egy csoportját azonosítsuk. Meg kell határoznunk, hogy az összeköttetés egy irányban működjön (szimplex átvitel), változó irányú (fél duplex átvitel) egyidejűleg kétirányú (duplex átvitel) legyen. Célszerű létrehozni külön csatornát a sürgős nem sürgős üzeneteknek. A hibajavítási kódokban is meg kell állapodni, mert mindkét oldalon azonosan kell képezni az ellenőrző részeket. Gondoskodni kell a feldarabolt üzenet darabjainak helyes sorrendbe rakásáról, és meg kell akadályoznunk, hogy egy hiányzó darabra végtelen ideig várjunk. A vevő és az adó sebességét össze kell hangolnunk. Ha a vevő nem tud adatot fogadni, akkor az adást meg kell szakítani. Az üzenetek hosszát is meg kell határoznunk. A túlságosan rövid, és a túl hosszú üzenet is rontja a hatásfokot. A rövid üzeneteket a címrész növeli meg. A hosszú üzenetek akkor rossz hatásfokúak, ha az elküldendő információ sokkal rövidebb, mint az üzenet. (Egyetlen „a” betű elküldéséhez is teljes keretet kell küldeni !) A párbeszédet folytató folyamat pároknak nem kell tudni arról, hogy az alattuk lévő rétegek egy vagy több folyamatpárt használnak. Egy fizikai csatornán egy időben több magasabb szinten lévő folyamat társaloghat, vagy több fizikai csatornát összevonhatunk a gyorsabb kiszolgálás érdekében. Ha a forrás és a cél között több lehetséges útvonal van, akkor az útvonal kiválasztását is meg kell oldanunk.
Pandur B.: Számítógép Hálózatok I. 2002-2008
16
Az útvonal kiválasztásánál nem csak műszaki szempontok érvényesülhetnek. Előírhatjuk, hogy bizonyos országokat kerüljön ki az adatforgalom gazdasági vagy politikai megfontolások alapján. 1.9. Terminológia A rétegek feladatának pontos leírásához definiált fogalmak kellenek. A pontos leírást általában a szabványok használják, „hétköznapi” használatban bürokratikusnak hatnak, és nehézkesek.
ICI IDU SAP SDU PDU
Interface Control Information. Interface Data Unit Service Access Points Service Data Unit Procol Data Unit
(interfész vezérlő információ) (interfész adatelem) (szolgálat elérési pontok) ( szolgálati adatelem ) (protokoll adatelem)
1.8 ábra. Rétegek kapcsolatai Az n. réteg szolgáltatásokat nyújt az n+1. réteg számára . A szolgáltatások a szolgálat elérési pontokon keresztül hozzáférhetők. Minden szolgálat elérési pont valójában egy cím. A telefon hálózaton pl.: egy szolgálat elérési pont a fali csatlakozó. A csatlakozót a telefonszám azonosítja. A rétegben lévő aktív elemeket entitásoknak hívják. Entitás pl. egy áramkör, vagy egy szoftverfolyamat. Az n+1. réteg kommunikációja úgy valósul meg, hogy átad a SAP-on keresztül egy IDU-t az n. rétegnek. Az n. réteg az alatta lévő rétegeken keresztül cserél SDU-kat a vele azonos szinten lévő réteggel . Az n. réteghez tartozó SDU-t továbbítása érdekében egy entitás feldarabolhatja kisebb egységekre. Ezeket az adategységeket hívjuk PDU- nak. Az n-PDU az n. réteghez tartozó Protocol Data Unit . PDU lehet például egy csomag. Pandur B.: Számítógép Hálózatok I. 2002-2008
17
1.10. Összeköttetés alapú és összeköttetés nélküli szolgálat 1.10.1 Az összeköttetés alapú szolgálat tipikus képviselője a telefon. A beszélgetés menete: - felemeljük a hallgatót: • tárcsázunk • beszélünk • letesszük a hallgatót A szolgálat igénybevételéhez először : • létrehozunk egy összeköttetést • igénybe vesszük a szolgálatot • lebontjuk az összeköttetést. Az összeköttetés „csőként” működik. Az egyik végén betöltött információ a másik végén a sorrend megváltozása nélkül „kifolyik”. 1.10.2 Az összeköttetés nélküli szolgálat a levélhez hasonló. Minden üzenet (feladóval és címmel) önálló útvonalon halad. A levelek általában a feladás sorrendjében érkeznek meg. A később feladott levél időnként megelőzheti kézbesítéskor a korábbit. Ez a sorrendcsere az összeköttetés alapú szolgálatoknál nem lehetséges. 1.10.3 A szolgálatok minőségben (qualiti of service) is különbözhetnek. Vannak megbízható és megbízhatatlan szolgálatok. Megbízható szolgálat tipikusan úgy alakítható ki, hogy minden üzenetet nyugtázunk. (Tértivevénnyel adjuk fel a levelet.) A küldő így biztos lehet benne, hogy az üzenete megérkezett. Lehetséges, hogy nem az üzenet, hanem az üzenet nyugtája veszik el, ami további nehézségek forrása. Egy fájl átvitele tipikusan megbízható szolgálatot igényel. Sokszor megelégszünk azzal, hogy az üzenetünk nagy valószínűséggel célba ér, nem fontos, hogy biztosan odaérjen. (Elküldünk egy kérdést, amire választ várunk. Ha nem kapunk választ, akkor egy idő múlva megismételjük a kérdést. A kérdés nyugtázása nem lényeges.) Elképzelhető, hogy az adattovábbítás folytonossága lényegesebb, mint néhány hiba kijavítása. Pandur B.: Számítógép Hálózatok I. 2002-2008
18
Egy videó kép továbbításánál néhány bit hiba egy pöttyöt eredményez néhány msec-re a képernyőn, ami sokkal kevésbé zavaró mintha „ugrálna” a gép a késleltetések (hiba javítása, nyugtázás) miatt Az összeköttetés nélküli, nem nyugtázott szolgálatot „datagram service”-nek is hívják, a távirat analógiájára. Ha fontos a megbízhatóság, akkor nyugtázott datagram szolgálatot (acknowledged datagram service) használunk. 1.11. Szolgálatprimitívek A szolgálat leírására primitívek (primitíves), azaz elemi műveletek (operations) halmaza alkalmas. Ezek a műveletek teszik elérhetővé a szolgálatot felhasználó vagy más entitás számára A kommunikáció viszonylag kevés primitív felhasználásával megoldható. Az egyes primitívek egyeztetett részleteit a protokoll tartalmazza. Ha a két állomás eltérő „javaslatot” tesz, akkor a protokoll eldöntheti, hogy melyiket választja. A szolgálat lehet megerősített (confirmed), vagy megerősítetlen (unconfirmed). Megerősített szolgálat primitívjei: request (kérés) indication (bejelentés) response (válasz) confirm (megerősítés) Megerősítetlen szolgálat primitívjei: request (kérés) indication ( bejelentés) A primitívek felhasználásával felépíthetünk és lebonthatunk kapcsolatokat. Egy kapcsolat felépítésére a Connect request (összeköttetés létesítésére irányuló kérés) mindig megerősített szolgálat, mert a távoli társfolyamattal egyeztetni kell az összeköttetés felépítéséről. Az adatátvitel lehet megerősített, vagy megerősítetlen. Az összeköttetés lebontása megerősítetlen szolgálat, mert ha megerősítésre várunk, lehet, hogy soha nem tudjuk lebontani az összeköttetést. (A problémára a későbbiekben visszatérünk.)
Pandur B.: Számítógép Hálózatok I. 2002-2008
19
A protokollok olyan szabályhalmazok, melyek megadják, hogy a társ – entitások az adott rétegen belül milyen formátumban, milyen jelentéssel küldenek egymásnak csomagokat, kereteket, üzeneteket. A szolgálat definiálja az objektumon végrehajtható műveleteket, de nem mondja meg hogyan kell ezeket implementálni. A protokoll a szolgálat implementációja. A protokollok cserélhetők, ha a szolgálat változatlan marad. 1.12. Hálózatszabványosítás A hálózatok világában a fejlődés sokszor megelőzte a szabványosító szervezeteket. Sok olyan megoldás van amit mindenki elfogad, ezek a „de facto” szabványok ( Pl.: IBM-PC). A szabványosító szervezetek később sok gyakorlatban már elfogadott eljárást, technológiát szabványként is bevezettek. Ugyanakkor sok már működő rendszert nem szabványosítottak. A „de jure” szabványok jogilag meghatározottak és elfogadottak. Előfordul, hogy a precíz jogi kereteket kitöltő implementáció soha nem születik meg, de a gyakorlathoz jól illeszkedő „ajánlást” mindenki elfogadja. Valószínűleg nehéz olyan szabvány teljes implementációját elvárni, ahol a feladatok 90%-a a fejlesztési ráfordítások 10%-ával megoldható, a maradék 10% kidolgozása a fejlesztési költség 90%-át igényli. ( Pl.: még nem készült teljes X.500 implementáció) 1.12.1. MAP és TOP A hálózatok alapvetően két csoportba sorolhatók: -
Van garantált minimális szolgáltatás
-
Nincs garantált minimális szolgáltatás
A „nincs garantált minimális szolgáltatás” természetesen azt jelenti, hogy a szolgáltatás nagy valószínűséggel rendelkezésre áll, csak nem határozható meg a legkedvezőtlenebb eset. A két csoport eltérő felhasználói igényt takar. Egy gyártósor vezérlésénél, ahol időkritikus folyamatok vannak, magától értetődő, hogy garantálni kell egy adategység legkedvezőtlenebb esetben történő átviteli idejét. Irodai környezetben megelégedhetünk azzal, hogy az adataink többnyire gyorsan célba jutnak, és az is előfordulhat, hogy egy időszakban lassabban Pandur B.: Számítógép Hálózatok I. 2002-2008
20
érnek célba, és ez a „lassabban” nem definiált.( Szélsőséges esetben egyáltalán nem jut el a célig. ) Az irodai hálózatok alapja Robert Metcalfe 1973-ban írt PhD (M.I.T.) dolgozata. Később a Xerox Corporation-nél fejlesztette ki az ETHERNET-nek nevezett LAN megoldást. A gyors elterjedést elősegítette, hogy az INTEL kidolgozott hozzá egy egy-csipes vezérlőt, ami nagyban egyszerűsítette a kártyák gyártását. Saját irodaautomatizálásához a Boeing az Ethernet-et választotta, és kifejlesztette a protokollkészletét, ami „Technical and Office Protocol” néven vált ismertté. A gyártás automatizálásában erősen érdekelt General Motors vezérjeles sínre alapozott protokollt hozott létre, a „Manufacturing Automation Protocol”-t A protokollt sok gyártó azonnal átvette. Szerencse, hogy a két rendszer tervezői együttműködtek, és a felsőbb rétegekben kompatíbilis a két féle megoldás. Harmadikként az IBM jelentkezett a vezérjeles gyűrűre alapozott protokolljával (TOKEN RING), ami karbantarthatóságával, megbízhatóságával mutatott előnyöket. A szabványosító testületben egyik előterjesztés sem kapott abszolút többséget, így mindhárom megoldást szabványosították. IEEE 802.3 Ethernet IEEE 802.4. Vezérjeles sín IEEE 802.5. Vezérjeles gyűrű Az utóbbi években az IEEE 802.4 és az IEEE 802.5 jelentősége számottevően csökkent. Szerepüket más ipari protokollok vették át. 1.12.2 Hivatkozási modellek A gyakorlatban előforduló hálózati architektúrák valamennyien megfelelnek a rétegekből álló modellnek. Különbségek a rétegek számában, és a megvalósított funkciókban vannak. 1.12.2.1. OSI modell Az OSI hivatkozási modell (1.9. ábra) a Nemzetközi Szabványügyi Szervezet (Internetional Standards Organization) ajánlása. Hivatalosan ISO OSI (Open
Pandur B.: Számítógép Hálózatok I. 2002-2008
21
System Interconnection) modellnek hívják. A csak az elveket tartalmazó ajánlás a hivatkozási modell. A rétegek tevékenységét leíró rész a referencia modell.
1.9. ábra. OSI referencia modell A modell nem specifikálja a rétegek által megvalósított szolgálatokat és protokollokat. Ezekre dolgozott ki szabványokat az ISO, de ezek nem részei a modellnek. A mai, modern számítógép hálózatok tervezését strukturális módszerrel végzik, vagyis a hálózat egyes részeit rétegekbe (layer) vagy más néven szintekbe (level) szervezik, melyek mindegyike az előzőre épül. Az azonos szintű rétegek csak egymással kommunikálnak. E kommunikáció szabályait protokollnak nevezzük, s az egymást követő protokollok halmazát protokoll stack-nek hívjuk. Az elküldeni kívánt üzeneteknek egy ilyen protokoll stack-en kell végigmenniük, amíg elérnek az átvivő közeghez. Az áthaladás során minden protokoll hozzácsatolja a saját információs fejrészét. A felsőbb réteg az alatta lévő réteg szolgáltatásait használja. A rétegek közötti elemi műveleteket (szolgálati primitíveket) a réteginterfész határozza meg. A legfontosabb, hogy ez az Pandur B.: Számítógép Hálózatok I. 2002-2008
22
interfész minden réteg között tiszta legyen olyan értelemben, hogy az egyes rétegek egyértelműen meghatározott funkcióhalmazból álljanak. Ez egyszerűvé teszi az adott réteg különböző megoldásainak a cseréjét, hiszen a megoldások az előbbiek alapján ugyanazt a szolgáltatást nyújtják a felettük lévő rétegnek. A rétegek legfontosabb feladatai : •Fizikai réteg: Feladat. biteket juttatni a kommunikációs csatornára, oly módon, hogy az adó oldali bitet a vevő is helyesen értelmezze. Itt határozzuk meg, hogy a kapcsolat egyirányú, kétirányú legyen, a feszültségszinteket, a csatlakozók kiosztását, mechanikai jellemzőket, a hívásfelépítés és lebontás módját. Az átviteli közeg többféle lehet: pl.: sodrott érpár, koaxiális kábel, optikai kábel, rádió hullám. •Adatkapcsolati réteg: Feladata a hibátlan adatátviteli vonal biztosítása a hálózati réteg felé. Az átviendő adatokból frame-ket, kereteket formál, továbbítja azokat, nyugtázza az átvitelt, hibajavítást és forgalomszabályozást végez. Gondoskodik arról, hogy a kerethatárokat helyesen ismerje fel a bitsorozatból Adatszóró hálózatok esetén meg oldani a közös fizikai hordozó elérésének szabályozását. Az osztott csatornához való hozzáférést az adatkapcsolati réteg alsó alrétege vezérli( közegelérési alréteg, Medium Acces Conntrol ). A felső réteg a logikai kapcsolatvezérlő alréteg (Logical Link Control). •Hálózati réteg: A hálózati réteg (network layer) a kommunikációs alhálózatok működését vezérli. A két végpont közti út kijelölése a legfontosabb feladat. A hálózati rétegbe szokták beépíteni a számlázást is .A torlódások elkerülése is a réteg feladata. Eltérő lehet a hálózatok címzési módszere, különbözhetnek a maximális csomagméreteik és protokolljaik is. E problémák megoldásáért szintén a hálózati réteg a felelős. Üzenetszórásos hálózatokban az útvonal-kiválasztási mechanizmus igen egyszerű, így a hálózati réteg általában vékony, sokszor nem is létezik. Szállítási réteg: A legbonyolultabb réteg az OSI modellben. Feladata a két végpont közötti kommunjkáció létrehozása. Feladata a továbbítandó bitfolyam csomagokra bontása, a beérkezett csomagok helyes sorrendbe rakása, a teljes útvonalra kiterjedő hibajavítás. Pandur B.: Számítógép Hálózatok I. 2002-2008
23
Egy hoszt egy időben több összeköttetést is fenntarthat. A szállítási réteg feladata , hogy az üzeneteket a megfelelő folyamatokhoz rendelje. Egy szállítási folyamathoz több hálózati összeköttetés is tartozhat, és egy hálózati összeköttetés több szállítási folyamatot is kiszolgálhat. A szállítási réteg feladata , hogy elfedje az összeköttetés kapcsolat orientált vagy datagram jellegét. Az alsó három réteg döntően hardver eszközöket jelent, a szállítási réteg és a felette lévő rétegek döntően szoftver megoldások. Különbség az is hogy az alsó rétegek általában egy szolgáltató szervezethez tartoznak, a felső rétegeket a felhasználó tarthatja kézben. A felhasználó a felsőbb rétegek működésére tud hatással lenni. Viszony réteg (session layer) feladata , hogy a felhasználók között viszonyt (session) . A viszonyréteg egyik szolgáltatása a párbeszéd szervezése. A párbeszéd egy időben egy- és kétirányú adatáramlást is lehetővé tehet. Fontos lehet, hogy a két oldal ne kezdeményezze ugyanazt a műveletet. Ezt vezérjelek (token) kiadásával oldhatjuk meg. Csak az kezdeményezheti a kritikus műveletet, akinél a token van. A viszonyréteg egy másik szolgáltatása a szinkronizáció, azaz olyan ellenőrzési pontok beszúrása, amelyek a kapcsolat megszakadás esetén lehetővé teszik az adatátvitel folytatását, nem kell az egészet újra adni (egy hosszú fájl átvitele egy modemes összeköttetésen soha nem fejeződne be).. Az ellenőrző pontot megelőző adatok továbbítását nem kell újra megismételni. Megjelenítési
réteg
(presentation
layer)
a
továbbított
információ
szintaktikájával és szemantikájával foglalkozik. A továbbított információ általában nem egy véletlenszerű bit halmaz, hanem szám betű, dátum, stb. A különböző rendszerekben eltérő módon ábrázoljuk az adatokat. A különböző rendszerek kommunikációja érdekében a lokális szintaktikát átalakítjuk egy globális (absztrakt) szintaktikává, amit minden rendszer a saját lokális szintaktikájává alakítva tud felhasználni. Alkalmazási réteg (application layer) az ahol a felhasználói program vezérli a működést. A program között számos olyan is van , melyekre széles körben van igény, általános megoldásuk célszerű, vagy csak így működőképes a dolog.
Pandur B.: Számítógép Hálózatok I. 2002-2008
24
Gyakori feladat a fájl átvitel (file transfer). Az állománytovábbításhoz sorolható az elektronikus levelezés, távoli adatbázisok elérése. Itt megoldandó az eltérő fájlrendszerek kezelése , szövegsorok kezelése, stb. ( Egy UNIX szerverről le tudunk másolni egy fájlt egy DOS–t használó gépre. A világon működő sokféle terminál sem kompatíbilis egymással. Eltérő a kurzor mozgatás, beszúrás, törlés , stb. Az egyik (ha nem az egyetlen működőképes) megoldás az, hogy a hálózatra egy virtuális terminál vezérlőjeleit küldjük, amit a fizikai terminál leképez a saját működését vezérlő jelekre. A virtuális terminált megvalósító szoftver mindig az alkalmazási réteg része. TCP/IP hivatkozási modell Az ARPANET kisérleti hálózatot az amerikai védelmi minisztérium (U.S Department of Defense, DoD) támogatásával hozták létre egyetemi és kormányzati számítógépek között. A hálózat két jelentős protokollja A TCP és IP alapján TCP/IP hivatkozási modellként vált ismertté. A TCP/IP hivatkozási modellt 1974-ben definiálták (Cerf és Kahn). A fő célkitűzés az volt, hogy mindaddig, amíg a két végpont működőképes, addig a kapcsolat megszakítás nélkül működjön akkor is, ha a köztük lévő hálózat egy része megsemmisül ( háborús csapásmérés, terrorakció). A hálózat legyen alkalmas a fájl átviteltől a beszéd átvitelig minden feladatra. A megoldás egy 4-rétegű modell, ami természetesen különbözik az OSI ajánlástól (több mint 10 évvel korábbi). A TCP/IP és az OSI rétegek megfeleltetése vázlatosan az alábbi: Alkalmazási réteg
Alkalmazási réteg
Megjelenítési réteg Viszony réteg Szállítási réteg
Szállítási réteg
Hálózati réteg
Internet réteg
Adatkapcsolati réteg
Hoszt és hálózat közötti
Fizikai réteg
réteg
1.10 ábra. TCP/IP hivatkozási modell
Pandur B.: Számítógép Hálózatok I. 2002-2008
25
A megfeleltetés nem pontos. A rétegek feladatai azonban erősen hasonlóak. A hálózat elérési réteg nagyjából az adatkapcsolati és fizikai réteg feladatát látja el. Valójában kevéssé definiált, és csak azt írja elő, hogy a hálózat alkalmas legyen IP csomagok továbbítására. Az internet réteg feladata, hogy a hoszt bármilyen hálózatba csomagokat tudjon küldeni, és onnan csomagokat fogadni. A csomagok nem biztos, hogy az elküldés sorrendjében érkeznek meg. A sorrend helyreállítása a felsőbb rétegek feladata. Az Internet réteg meghatároz egy protokollt és egy csomagformátumot. Ez az Internet Protocol (IP). A szállítási réteg
az Internet réteg felett helyezkedik el. Lehetővé teszi a
társentitások közti párbeszédet. A szállítási rétegben létrehozhatunk megbízható, összeköttetés alapú protokollokat, ilyen az átvitel vezérlő protokoll (Transmission Control Protocol, TCP), vagy datagram jellegű protokollt, mint az UDP (User Datagram Protocol). A TCP a beérkező adatfolyamot feldarabolja, átadja az Internet rétegnek. A célállomáson a TCP összegyűjti a csomagokat, és adatfolyamként továbbítja az alkalmazási rétegnek. A TCP végzi a forgalomszabályozást is. Az UDP egy összeköttetés mentes, nem megbízható protokoll. Nem tartalmaz sorba-rendezést sem. Általában a kliens-szerver alkalmazásokban használatos, vagy ahol a gyors válasz fontosabb a garantált válasznál (címfeloldás, beszéd, videó). Pl.: egy címfeloldási kérésre nem kapunk választ, akkor megismételjük a kérést. Lényegtelen , hogy miért nincs válasz. Alkalmazási réteg A TCP/IP modellben nincs viszony és megjelenési réteg. A szállítási réteg felett van az alkalmazási réteg. Ez tartalmazza az összes magasabb szintű protokollt. Néhány megvalósított protokoll: •
Elektronikus levelezés (SMTP)
•
Domain Name Service (DNS)
•
HTTP (levelezés)
•
FTP (fájl transzfer)
Pandur B.: Számítógép Hálózatok I. 2002-2008
26
Novell NetWare hivatkozási modell A Novell, a világ korábban legnépszerűbb hálózati operációs rendszer gyártója saját protokollt fejlesztett ki. ( 1.11 ábra.) A protokollkészlet korábbi, mint az OSI modell, tehát nem követi az OSI előírásait. A fizikai és adatkapcsolati réteg bármilyen ipari szabványnak megfelelő protokoll lehet. Az IPX (Internet Packet eXchange) protokoll a csomagokat a forrástól a célig továbbítja. Az IPX egy nem megbízható, összeköttetés nélküli protokoll (Datagram). Az IPX felett működik a Netware Core Protocol és az SPX (Sequenced Packet eXchange). Az alkalmazás bármelyiket választhatja a kettő közül. ( Például a fájl átvitelek az NCP-t, a Lotus Notes az SPX-t használta). Az alkalmazási rétegekhez sorolható a Service Advertising Protocol (SAP). A szerver másodpercenként küld egy SAP protokollt használó üzenetet, amiben a saját címét és szolgáltatásait hirdeti meg. A SAP csomagok alapján a router gépek táblázatot építenek fel az elérhető szerverekről. Bejelentkezéskor a router a táblázat alapján küldi el a legközelebbi vagy a preferált szerver azonosítóját a kliens gépnek. Az IPX/SPX
protokollok számos előnyös tulajdonsággal rendelkeznek. Az IPX
hasonló funkciókat lát el, mint az IP. Az IPX cím 12 byte, szemben az IP 4 byteos címével. Egyes hálózati elemek nem kezelik (vagy opcióként, felárral ) az IPX csomagokat. Az IPX csomagokat be lehet burkolni egy IP csomagba, és így lehet továbbítani. Az újabb NetWare verziók (NW5.x-től) installálhatók tiszta IP-s hálózati környezetben is. Az IPX/SPX protokollt csak a régebbi Novell operációs rendszerekkel együtt használnak, jelentősége fokozatosan csökken.
Pandur B.: Számítógép Hálózatok I. 2002-2008
27
IEEE 802 és ANSI
OSI modell alkalmazás
CCITT
DoD
NetWare
X.400
Telnet, FTP e-Mail
Fájlszerver
megjelenítés SAP viszony
NCP
szállítási
hálózati
adatkapcsolati
fizikai
SPX
X.25
IP
IPX RIP NSLP
LAP-B
LAN
LAN
X.21
Csomag kapcsolt rádió
Csomag kapcsolt rádió
SATNET
ARCnet
IEE 802.2 Logical Link
LLC MAC
TCP
802.3
802.4
802.5
FDDI
CSMA/CD
Token Bus
Token Ring
Token Ring
802.3 coax UTP optikai
802.4 coax optikai
802.5 STP
FDDI optikai
vivőfrekv.
1.11 ábra . Fontosabb protokollok és szabványok összefoglalása
Pandur B.: Számítógép Hálózatok I. 2002-2008
28