Előszó a magyar kiadáshoz
A kedves olvasó most A. S. Tanenbaum Computer Networks című könyve negyedik kiadásának magyar nyelvű fordítását tartja kezében, amely kiadás tulajdonképpen az előző, harmadik kiadás bővített, aktualizált és javított változata. Bővített, mivel néhány olyan anyagrész került bele, ami az elmúlt évek műszaki haladásának és divatjának eredménye (pl. a vereték nélküli hálózatok, a hálózatbiz tonság), aktualizált, mivel más, fontos, de a fejlődési trend szerint csökkenő jelentő ségű részek (pl. az ATM-hálózat) kimaradtak a könyvből, és javított, mert - amellett, hogy megtartottunk mindent, amit az előző kiadásból lehetett - egyben elvégeztük az évek során feltárt hibák kijavítását is. A hibák felderítésében nagy segítségemre voltak azok az egyetemi hallgatók, akik a Számítógép-hálózatok című tárgyból vizsgára ké szülve átrágták magukat a könyv anyagán. Köszönetemet fejezem ki minden közre működőnek, különösen Lazányi Istvánnak, aki e téren a legnagyobb hozzájárulást tette. E könyv, mint a korábbi fordítás is, tankönyvként használatos a felsőoktatási intéz ményekben folyó informatikusképzésben. Bár az oktatás szempontjából hasznos, hogy a legújabb hálózati technológiai ismereteket hordozza, a teljességhez mégis hozzátar toznak a korábbi kiadásban megtalálható ismeretek is, hiszen azok még napjaink háló zati technológiájának részét képezik. Úgyhogy a kedves olvasó jó ideig még az előző kiadásban tárgyalt részeket is haszonnal forgathatja, a könyvespolcán a két kiadás jól megfér egymás mellett. Meggyőződésem, hogy e könyv hasznos ismereteket tartalmaz mind a témakört ta nulmányozó egyetemi hallgatók, mind a számítógép-hálózatok egyes részletkérdései iránt érdeklődő szakemberek számára. Remélem, hogy minden, a témakörrel kapcso latos lényeges kérdésre választ kapnak. Egyben kérem a kedves olvasót, hogy amenynyiben a könyvben valamilyen említésre méltó hibát talál, az oldalszám, a bekezdés szám és a hibát tartalmazó sor számának megadásával észrevételét juttassa el az
[email protected] e-levél címre. A feltárt hibák a http://www.iit.bme.hu/~harang/ honlapon tekinthetők meg. Dr. Harangozó József, docens Budapesti Műszaki és Gazdaságtudományi Egyetem
Előszó
A könyv most jelenik meg negyedik kiadásban. Minden kiadás más-más fázisnak fe lelt meg a számítógép-hálózatok használatában. Az első kiadás megjelenésekor, 1980ban a hálózatok még a tudományos érdekességek körébe tartoztak. 1988-ban, amikor a második kiadás megjelent, már használtak őket az egyetemeken és a nagy magáncé geknél. Mire 1996-ban kiadtuk a harmadik kiadást, a számítógép-hálózatok és főleg az Internet már milliók számára napi valósággá váltak. A negyedik kiadásban teljesen új tényező a vezeték nélküli hálózatok sokféle változatának rendkívül gyors terjedése. A hálózati technológia radikális változásokon ment keresztül a harmadik kiadás óta. Az 1990-es évek közepén sokféle LAN és WAN létezett, többféle protokollcso maggal. 2003-ra az egyetlen széles körben használt vezetékes LAN az Ethernet, és lé nyegében minden WAN kapcsolódik már az Internetre. Ennek megfelelően az ezek nek a régi hálózatoknak szentelt anyag nagy része kikerült ebből a kiadásból. Sok új fejlemény történt az utóbbi időben. A legfontosabb az olyan vezeték nélküli hálózatok rendkívüli fejlődése, mint például a 802.11, a vezeték nélküli előfizetői hurkok, a 2G és 3G mobiltelefon-hálózatok, a Bluetooth, a WAP, az i-mode stb. En nek megfelelően sok új anyag került be a vezeték nélküli hálózatokról. Egy másik, egyre növekvő fontosságú téma a biztonságtechnika, erről egy teljesen új fejezet szól. Az első fejezet, hasonlóan a harmadik kiadáshoz, most is bevezetőként szolgál, tartalma azonban módosult és frissült. Bemutatja például az Internetet, az Ethernetet és a vezeték nélküli hálózatokat, egy kevés történeti és műszaki háttér-információval kiegészítve. Röviden az otthoni hálózatokról is szó esik. A második fejezet kisebb átrendezésen ment keresztül. Az adatátvitel alapelveinek rövid bemutatás után következő három hosszabb szakasz az átvitelről szól (vezetékes, vezeték nélküli és műholdas), majd a három ezt követő hosszabb szakasz fontos példákat mutat be (a nyilvános kapcsolt telefonhálózat, a mobiltelefon-hálózat és a kábeltévé). Az új témák közt feltűnik az ADSL, a szélessávú vezeték nélküli átvitel, a vezeték nélküli MAN-ok, valamint a kábeltévé-hálózatot használó internetelérés és a DOCSIS. A harmadik fejezet korábban is a kétpontos protokollok alapelveivel foglalkozott. Ezek az elvek lényegében időtlenek és évtizedek óta változatlanok. Ennek megfelelő en a részletes mintaprotokollok ebben a fejezetben bemutatott sorozata nagyrészt nem változott a harmadik kiadás óta. Ezzel szemben a MAC-alréteggel sokat foglalkoztak az elmúlt években, így a ne-
18
SZÁMÍTÓGÉP-HÁLÓZATOK
gyedik fejezetben is sok változás történt. Az Ethernetről szóló részt kibővítettem a gi gabites Ethernettel, teljesen új azonban néhány fontos rész a vezeték nélküli LANokról, a szélessávú vezeték nélküli átvitelről, a Bluetooth-ról és az adatkapcsolati ré tegbeli kapcsolásról, valamint ezen belül is az MPLS-ről. Az ötödik fejezetet is átdolgoztam: kikerültek belőle az ATM-ről szóló anyagok, és helyette az Internettel kapcsolatos új részeket fűztem bele. A szolgáltatásminőség is nagyobb téma lett, belekerült néhány, az integrált és differenciált szolgáltatásokkal kapcsolatos megfontolás. A vezeték nélküli hálózatok itt is jelen vannak: megtárgya lásra kerül a forgalomirányítás ad-hoc hálózatokban. Új témák még például a NAT és a mellérendelt (peer-to-peer) hálózatok. A hatodik fejezet továbbra is a szállítási réteggel foglalkozik, de itt is történt né hány változás. Ezek közül az egyik az, hogy bekerült egy csatlakozóprogramozási pél da: egy-egy C nyelven megadott egyoldalas kliens és egyoldalas szerver tulajdonsá gait tárgyaljuk meg. Ezek a programok a könyv honlapjáról le is tölthetők, fordítás után futtatásra is alkalmasak. Együtt egy nagyon egyszerű, de kísérletezésre alkalmas állomány vagy webszerver szolgáltatást valósítanak meg. A további új témák között szerepel a távoli eljáráshívás (RPC), az RTP, és a tranzakciós TCP. Az alkalmazási rétegről szóló hetedik fejezet mondanivalóját szűkebben fóku szálná alakítottam át. A DNS rövid bemutatása után a fejezet további része mindössze három témát érint: az e-levelezést, a webet és a multimédiát. Mindhárom témát nagy részletességgel tárgyalom. A web működésének leírása már több mint 60 oldalra rúg, a közben érintett témák sora pedig nagyon hosszú. Szó esik például a statikus és di namikus weblapokról, a HTTP-ről, a CGI-szkriptekről, a tartalomszolgáltató hálóza tokról, a sütikről és a Web cachingról. Szerepel itt anyag a modern weblapok írásának mikéntjéről, ezen belül pedig tesztelésre is alkalmas példákon keresztül röviden be mutatom az XML-t, az XSL-t, az XHTML-t, a PHP-t és más, további technikákat. A vezeték nélküli webről is ejtek szót, az i-mode-ra és a WAP-ra összpontosítva. A mul timédiáról szóló részbe bekerült az MP3, a közvetítéses hangátvitel, az internetes rá diózás, és a hangátvitel IP felett (VoIP). A biztonságtechnika kérdése olyan nagy fontosságra tett szert, hogy most egy egész, több mint száz oldalas fejezetté nőtte ki magát. Lefedi mind a biztonságtechni ka alapelveit (szimmetrikus és nyílt kulcsú algoritmusok, digitális aláírások és X.509 bizonyítványokat), mind ezen alapelvek alkalmazásait (hitelesítés, az e-levelezés biz tonsága és biztonság a weben). A fejezet egyrészt széles spektrumú (a kvantumtitkosí tástól egészen a kormányzati cenzúráig), másrészt mély ismeretanyagot (pl. az SHA-1 működésének részletes leírása) közöl. A kilencedik fejezet egy teljesen új listát tartalmaz a javasolt irodalomról, valamint egy mindenre kiterjedő irodalomjegyzéket a több mint 350 idézet forrásáról. Ezek kö zül a cikkek és könyvek közül több mint 200-at 2000-ben vagy azóta írtak. A számítógépes könyvek tele vannak rövidítésekkel, és ez alól e könyv sem kivé tel. Mire az olvasó a könyv végére ér, ismerősnek kell csengenie a következőknek: ADSL, AES, AMPS, AODV, ARP, ATM, BGP, CDMA, CDN, CGI, CIDR, DCF, DES, DHCP, DMCA, FDM, FHSS, GPRS, GSM, HDLC, HFC, HTML, HTTP, ICMP, IMAP, ISP, ITU, LAN, LMDS, MAC, MACA, MIMÉ, MPEG, MPLS, MTU,
19
ELŐSZÓ
NAP, NAT, NSA, NTSC, OFDM, OSPF, PCF, PCM, PGP, PHP, PKI, POTS, PPP, PSTN, QAM, QPSK, RED, RFC, RPC, RSA, RSVP, RTP, SSL, TCP, TDM, UDP, URL, UTP, VLAN, VPN, VSAT, WAN, WAP, WDMA, WEP, WWW és XML. De ne aggódjon! Mindegyiket pontosan meg fogjuk határozni, mielőtt használnánk. Annak érdekében, hogy a tanárok tankönyvként is használhassák a könyvet az órái kon, a szerző több tanítási segédeszközt is készített, például: • egy feladatmegoldási kézikönyvet; • az ábrákat tartalmazó állományokat több formátumban; • PowerPoint fóliákat egy, a könyvet használó előadássorozathoz; • egy szimulátort (C nyelven írva) a harmadik fejezet mintaprotokolljaihoz; • egy weblapot számos hiperhivatkozással különféle oktatási anyagokra, más szerve zetek honlapjára, kérdés-felelet oldalakra stb. A feladatmegoldási kézikönyv beszerezhető közvetlenül a Prentice Halitól (de csak oktatóknak, diákoknak nem). Az összes többi anyag a könyv honlapján található: http://www.prenhall.com/tanenbaum Itt a könyv borítójára kattintson. Sokan segítettek a munkámban a negyedik kiadás létrehozása során. Szeretném hálámat kifejezni a következőknek: Ross Anderson, Elisabeth Belding-Royer, Steve Bellovin, Chatschik Biskidikan, Kees Bot, Scott Bradner, Jennifer Bray, Pat Cain, Ed Feltén, Warwick Ford, Kevin Fu, Ron Fulle, Jim Geier, Mario Gerla, Natalie Giroux, Steve Hanna, Jeff Hayes, Amir Herzberg, Philip Homburg, Philipp Hoschka, Dávid Green, Bárt Jacobs, Frans Kaashoek, Steve Kent, Roger Kermode, Róbert Kinicki, Shay Kutten, Rob Lanphier, Marcus Leech, Tom Maufer, Brent Miller, Shivakant Mishra, Thomas Nadeau, Shlomo Ovadia, Kaveh Pahlavan, Radia Perlman, Guillaume Pierre, Wayne Pleasant, Patrick Powell, Thomas Robertazzi, Medy Sanadidi, Christian Schmutzer, Henning Schulzrinne, Paul Sevinc, Mihail Sichitiu, Bemard Sklar, Ed Skoudis, Bob Strader, George Swallow, George Thiruvathukal, Péter Tomsu, Patrick Verkaik, Dave Vittali, Spyros Voulgaris, Jan-Mark Wams, Ruediger Weis, Bért Wijnen, Joseph Wilkes, Leendert van Doorn és Martén van Steen. Külön köszönet illeti Trudy Levine-t, amiért bebizonyította, hogy a nagymamák kiváló munkát tudnak végezni a szakmai anyagok átnézése terén. Shivakant Mishra több, jó kihívást nyújtó fejezetvégi feladatot talált ki. Andy Dornan javasolt további olvasmányokat a kilencedik fejezetbe. Jan Looyen életmentő hardverrel látott el egy kritikus pillanatban. Dr. F. De Nies remek munkát végzett, éppen, amikor szükség volt rá. Mary Franz, a szerkesztőm a Prentice Halinál, több olvasnivalót adott nekem, mint amennyit az előtte eltelt hét év alatt összesen sikerült elolvasnom, és ezenkívül még sok más módon is a segítségemre volt. Végül, de nem utolsósorban a legfontosabb emberek: Suzanne, Barbara és Marvin. Suzanne-nak a szerelméért, a türelméért és a piknikes ebédekért. Barbarának és Marvinnak azért, mert végig vidámak és felvidítok voltak (kivéve, amikor a rémes egyetemi tankönyveikkel kapcsolatban panaszkodtak, így tartva engem éberen). Köszönöm. Andrew S. Tanenbaum
1.
Bevezetés
Az elmúlt három évszázad mindegyikét egy-egy technológia uralta: a 18. századot az ipari forradalom során megjelenő nagy mechanikai rendszerek, a 19. századot a gőz gép, a 20. századot pedig az információgyűjtés, az információfeldolgozás és az infor mációterjesztés. Egyebek között részesei lehettünk a telefonhálózatok világméretű elter jedésének, a rádió, a televízió feltalálásának, valamint a számítástechnikai iparág meg születésének és példátlan fejlődésének, továbbá a távközlési műholdak felbocsátásának. A technológia gyors fejlődése azt eredményezi, hogy ezek a területek gyorsan kö zelítenek egymás felé, és az információ gyűjtése, szállítása, tárolása és feldolgozása közti különbségek gyorsan eltűnnek. Egy olyan szervezet, amelynek több száz, nagy kiterjedésű földrajzi területen elszórtan elhelyezkedő irodája van, rendszerint elvárja, hogy képes legyen egyetlen gombnyomással ellenőrizni akár legtávolabbi kirendeltsé gének pillanatnyi állapotát is. Ahogy egyre jobban tudunk információt gyűjteni, fel dolgozni és elosztani, az egyre kifinomultabb információfeldolgozás iránti igény is egyre gyorsabban nő. Bár a számítástechnikai iparág a többi iparághoz (pl. autógyártás, légi közlekedés) képest viszonylag fiatal, a számítógépek rövid időn belül mégis látványos fejlődést ér tek el. Létezésük első két évtizedében a számítógépes rendszerek erősen egy helyre koncentrálódtak, ami általában egy nagy terem volt. Ezeknek a termeknek sokszor üvegablakai voltak, amelyeken keresztül a látogatók megbámulhatták a nagy elektro nikus csodát. A közepes méretű vállalatok vagy egyetemek még csak egy-két számító géppel rendelkeztek, de a legnagyobbaknak is legfeljebb csak néhány tucat volt belő lük. Akkoriban egyszerűen a tudományos-fantasztikum világába tartozott a gondolat, hogy 20 éven belül egy azonos teljesítményű, de egy bélyegnél is kisebb központi egységből több milliót gyártanak majd a tömegtermelésben. A számítógépek és a távközlés egybeolvadása alapvetően befolyásolta a számítógé pes rendszerek szervezését. Régen a felhasználók egy nagyméretű számítógépet tartal mazó terembe, a „számítóközpontba" vitték a futtatandó programjaikat. A „számító központ" mint fogalom ma már teljesen kihalt. A régi modell az volt, hogy egy intéz mény teljes számítástechnikai igényét egyetlen gép szolgálta ki. Ezt a modellt felvál totta az, hogy a feladatokat sok-sok különálló, de egymással összekapcsolt számítógép látja el. Az ilyen rendszereket számítógép-hálózatoknak (computer networks) ne vezzük. Könyvünk ezeknek a hálózatoknak a tervezéséről és kialakításáról szól.
22
SZÁMÍTÓGÉP-HÁLÓZATOK
A „számítógép-hálózat" kifejezés ebben a könyvben mindenhol autonóm számító gépek olyan együttesét jelenti, amelyet egyetlen technológia köt egymással össze. Két számítógépről akkor mondjuk, hogy összeköttetésben állnak, ha képesek információt cserélni egymással. A kapcsolatnak nem feltétlenül rézvezetéken keresztül kell meg valósulnia; fényvezető szálat, mikrohullámokat, infravörös fényt vagy kommunikáci ós műholdakat is használhatunk. A hálózatoknak sokféle méretük, alakjuk és formájuk lehet, amint azt később látni is fogjuk. Bár ez egyesek számára furcsának hangozhat, sem az Internet, sem a Világháló (World Wide Web) nem számítógép-hálózat. A könyv végére tisztázódni fog, pontosan miért. A gyors válasz: az Internet nem egyetlen háló zat, hanem hálózatok hálózata, a web pedig egy olyan elosztott rendszer, ami az Inter netre ráépülve fut. Az irodalomban a számítógép-hálózat és az elosztott rendszer (distributed system) fogalmai között jelentős mértékű keveredés tapasztalható. A legfőbb különbség az, hogy egy elosztott rendszerben a független számítógépek együttese egyetlen kohe rens rendszernek tűnik a felhasználói számára. Általában egyetlen modellje, vagy pa radigmája van, amit a felhasználóinak mutat. Ennek a modellnek a megvalósításáért sokszor egy középvernek (middleware) vagy közbülső rétegnek nevezett szoftverré teg felel, ami közvetlenül az operációs rendszerre épül. Egy jól ismert példa elosztott rendszerre a világháló, amelyen minden úgy néz ki, mintha egy dokumentum (web lap) volna. Egy számítógép-hálózatban ez a koherencia, az egységes modell és a közös szoft ver hiányzik. A felhasználóknak az egyes gépeket kell használniuk; minden olyan próbálkozás hiányzik, ami egységessé próbálná tenni a gépek kinézetét és viselkedé sét. Ha a gépek különböző hardverrel és operációs rendszerrel rendelkeznek, az teljes mértékben látható a felhasználók számára is. Ha egy felhasználó egy programot egy távoli gépen szeretne lefuttatni, akkor be kell jelentkeznie arra a gépre, és ott kell le futtatnia azt. Lényegében egy elosztott rendszer egy olyan szoftverrendszer, ami egy hálózatra épül rá. A szoftver biztosítja a nagyfokú egységességet és az átlátszóságot. Ebből ki folyólag a különbség egy számítógép-hálózat és egy elosztott rendszer között sokkal inkább a szoftverben (legfőképp az operációs rendszerben), mint a hardverben van. Mindezek ellenére jelentős átfedés van a két téma között. Például, mind az elosz tott rendszereknek, mind a számítógép-hálózatoknak állományokat kell mozgatniuk. A különbség abban rejlik, hogy ki hozza létre ezt a mozgást: a rendszer, vagy a fel használó. Bár ez a könyv elsősorban a hálózatokra koncentrál, a témák közül sok az elosztott rendszerekben is jelentőséggel bír. További információért az elosztott rend szerekről lásd (Tanenbaum és Van Steen, 2002) munkáját.
1.1.
A számítógép-hálózatok használata
Mielőtt belekezdenénk a műszaki kérdések részletes tárgyalásába, érdemes egy kis időt szentelni arra, hogy rámutassunk, miért érdeklik az embereket a számítógép-háló zatok, és hogy mire is lehet azokat használni. Tulajdonképpen, ha senki sem érdeklőd-
23
BEVEZETÉS
ne a számítógép-hálózatok iránt, akkor csak nagyon kevés épülne belőlük. Először a hagyományos üzleti és magánfelhasználásokat fogjuk szemügyre venni, majd tovább lépünk a mozgó felhasználók és az otthoni hálózatok kapcsán a közelmúltban történt új fejleményekre.
1.1.1.
Üzleti alkalmazások
Sok vállalat rendelkezik nagyszámú számítógéppel. Például, egy cégnek lehetnek kü lön gépei a gyártás felügyeletére, a készletek nyilvántartására és a könyvelés elkészí téséhez. Kezdetben ezek a számítógépek a többi géptől elszigetelten dolgoznak, de a vezetőség egy bizonyos ponton dönthet úgy, hogy összeköti őket annak érdekében, hogy így képes legyen kinyerni a vállalat egészét érintő információkat és felderíteni a köztük rejtve maradt összefüggéseket. Egy kicsivel általánosabban megfogalmazva, itt erőforrás-megosztásról (resource sharing) van szó, a cél pedig az, hogy minden program, eszköz és legfőkép pen adat mindenki számára elérhető legyen a hálózaton, tekintet nélkül az erőforrás és a felhasználó fizikai helyére. Egy nyilvánvaló és széles körben elterjedt példa, amikor irodai dolgozók egy csoportja megosztva használ egy nyomtatót. Egyiküknek sincs szüksége saját nyomtatóra, és egy nagy kapacitású hálózati nyomtató gyakran ol csóbb, gyorsabb, és könnyebben karbantartható, mint nagyszámú egyedi nyomtató. Mégis, talán még a fizikai eszközök (pl. nyomtatók, lapolvasók és CD-írók) meg osztásánál is fontosabb az információ megosztása. Minden nagy és közepes méretű vállalat és sok kisebb cég léte nagymértékben a számítógépes információtól függ. A legtöbb cégnek vannak ügyféllistái, leltárai, pénzügyi nyilvántartásai és még sok min den más adata, ami a hálózatán elérhető. Egy bank, ha minden számítógépe felmon daná a szolgálatot, öt percnél tovább nem tudná fenntartani magát. Egy modern ter melőüzem, ahol számítógép vezérli a gyártósort, még ennyi ideig sem bírná ezt ki. Mára még egy kis utazási iroda, vagy egy háromszemélyes ügyvédi iroda is nagymér tékben függ a számítógép-hálózatoktól, hiszen az alkalmazottai a lényeges adatokhoz és dokumentumokhoz a hálózaton keresztül férhetnek hozzá. A kisebb cégeknél általában minden számítógép egyetlen irodában, esetleg egyet len épületben van. A nagyobbaknál azonban a számítógépek és az alkalmazottak le hetnek akár több országban, többtucatnyi irodába és üzembe szétszórva is. Mindezek ellenére egy New York-i üzletkötőnek néha szüksége lehet arra, hogy hozzáférhessen egy olyan termékkatalógus-adatbázishoz, ami Szingapúrban van. Más szavakkal: an nak a puszta ténye, hogy egy felhasználó történetesen épp 15 000 km-re van az adatai tól, még nem szabad, hogy megakadályozza abban, hogy úgy dolgozzon vele, mintha azok helyben lennének tárolva. Ezt a célt úgy lehetne összefoglalni, hogy azt mond juk, kísérletet teszünk arra, hogy véget vessünk a „földrajz zsarnokságának". A legegyszerűbb módon úgy tudja az ember elképzelni egy vállalat információs rendszerét, hogy az egy vagy több adatbázisból és néhány alkalmazottból áll, akiknek ezeket távolról el kell tudniuk érni. Ebben a modellben az adatokat nagykapacitású számítógépeken tárolják, amiket kiszolgálóknak vagy szervereknek (server) hívunk. Sokszor ezeket egy központi épületben helyezik el, és rendszergazda tartja őket kar-
24
SZÁMÍTÓGÉP-HÁLÓZATOK
1.1. ábra. Hálózat két klienssel és egy szerverrel
ban. Ezzel szemben az alkalmazottak asztalán egyszerűbb gépek vannak, amiknek ügyfél vagy kliens (client) a neve. Ezek segítségével távoli adatokhoz tudnak hozzá férni, amelyeket például felhasználhatnak egy éppen készülő' táblázat készítésénél. (Néha úgy fogunk hivatkozni a kliensgép emberi felhasználójára, mint „a kliens", azonban mindig ki kell derülnie a szövegkörnyezetből, hogy a számítógépre gondo lunk vagy pedig felhasználójára.) A kliens- és szervergépeket egy hálózat köti össze, ahogyan azt az 1.1. ábra is mutatja. Figyelje meg, hogy a hálózatot egy egyszerű ellip szissel jelöltük, minden egyéb részlet bemutatása nélkül. Ezt a formát akkor fogjuk használni, amikor a hálózatról elvont értelemben beszélünk. Amikor több részletre lesz szükség, ezeket rendelkezésre is bocsátjuk. Ezt az egész elrendezést együtt kliens-szerver modellnek hívjuk. Széles körben használatos és a hálózatok használatának nagy része ezen a modellen alapul. Akkor is alkalmazható e modell, ha a kliens és a szerver egy épületben vannak (pl. ugyanahhoz a vállalathoz tartoznak), de akkor is, amikor nagyon távol vannak egymástól. Például akkor, amikor valaki az otthonából hozzáfér egy weblaphoz a világhálón, akkor ezt a modellt használja úgy, hogy a távoli webszerver a szerver, és a felhasználó személyi számítógépe a kliens. A legtöbb esetben egy szerver nagy számú klienst tud egyszerre kiszolgálni. Ha részletesebben megnézzük a kliens-szerver modellt, azt láthatjuk, hogy két fo lyamat (process) szerepel benne, egy a kliensgépen és egy a szervergépen. A kommu nikáció olyan formában megy végbe, hogy először a kliensfolyamat egy üzenetet küld a hálózaton keresztül a szerverfolyamatnak. Ezután a kliensfolyamat várja a válasz üzenetet. Amikor a szerverfolyamat megkapja a kérést, elvégzi a kért munkát, vagy megkeresi a kért adatot, és egy választ küld erről vissza. Ezeket az üzeneteket mutatja az 1.2. ábra. A számítógép-hálózatok kiépítésének második céljának több köze van az emberek hez, mint az információhoz, vagy akár a számítógépekhez. Egy számítógép-hálózat ugyanis nagyon hatékony kommunikációs eszközt ad az alkalmazottak kezébe. Lé nyegében minden vállalatnak, amely kettő vagy több számítógéppel rendelkezik, van e-levelezése (elektronikus levelezés, electronic mail, e-mail), amit az alkalmazottak általában a napi kommunikációjuk nagy részéhez használnak. Valójában gyakori be szédtéma a kávéfőző gép körül összegyűlt alkalmazottak körében, hogy milyen sok e-levéllel kell mindenkinek megbirkóznia, aminek ráadásul a nagy része felesleges is,
25
BEVEZETÉS
Kliensgép
Szervergép
Kliensfolyamat
Szerver folyamat
1.2. ábra. A kliens-szerver modellben szereplő kérések és válaszok
amióta a főnökök felfedezték, hogy ugyanazt a (sokszor semmitmondó) üzenetet min den alkalmazottnak elküldhetik egyetlen gombnyomással. De az e-levelezés nem az egyetlen formája annak a fejlett kommunikációnak, amit a számítógép-hálózatok lehetővé tesznek. Egy hálózat segítségével egyszerű feladat két vagy három, egymástól távol dolgozó ember számára egy jelentés közös megírása. Amikor az egyik résztvevő megváltoztat valamit a hálózaton elérhető dokumentum ban, a többiek azonnal látják a változást, ahelyett, hogy több napig várnának a válto zást tartalmazó levélre. Egy ilyen mértékű sebességnövekedés megkönnyíti az együtt működést az olyan, távoli szétszórt embercsoportok között is, amelyeknek korábban erre nem is volt lehetősége. A számítógép-segítetté kommunikáció egy további formája a videokonferencia. Ezt a technológiát használva egymástól távol lévő alkalmazottak virtuális találkozót tudnak lebonyolítani, látják és hallják egymást, sőt, még egy megosztott virtuális táb lára is írhatnak. A videokonferencia nagyon jó eszköze az addig utazásra költött pénz és idő megspórolásának. Egyesek szerint a kommunikáció és a közlekedés versenyez nek egymással, és bármelyik fél is győzzön, idejétmúlttá fogja tenni a másikat. Egyre több vállalkozás számára a számítógép-hálózat létesítésének harmadik célja az, hogy elektronikusan üzletelhessen más vállalatokkal, főként a beszállítóival és a vevőivel (e-business). Például az autó-, repülőgép- és számítógépgyártók alrendszere ket vesznek a különböző beszállítóktól, és aztán összeszerelik a részegységeket. Szá mítógép-hálózatok használatával a gyártók elektronikusan adhatják le a rendeléseiket, amikor új alkatrészekre van szükségük. Az a képesség, hogy valós időben (vagyis amikor az igény felmerül) feladhatók a rendelések, mérsékli a nagy készletek iránti igényt, valamint javítja a hatékonyságot is. A negyedik cél, ami mostanában egyre fontosabbá válik, az, hogy a vásárlókkal kössünk üzletet az interneten keresztül. A légitársaságok, a könyvesboltok és a zene terjesztők már felfedezték, hogy sok vásárló szereti azt a kényelmet, hogy otthonról vásárolhat. Ennek eredményeképpen sok vállalat biztosít interneten keresztül elérhető katalógust termékeiről és szolgáltatásairól, valamint fogad rendeléseket elektroniku san. Ez az iparág várhatóan a közeljövőben gyorsan fog növekedni. Szakszóval ezt e-kereskedelemnek (elektronikus kereskedelem, electronic commerce) hívják.
26 1.1.2.
SZÁMÍTÓGÉP-HÁLÓZATOK
Otthoni alkalmazások
1977-ben Ken Olsen volt a Digital Equipment Corporation elnöke, ami akkor a máso dik helyezett számítógép-eladó volt a világon (az IBM után). Amikor megkérdezték tóle, hogy a Digital befektetései miért nem követik nagyobb mértékben a személyi számítógépek piacának növekedését, azt válaszolta, hogy „Egy magánembernek semmi oka nincs arra, hogy személyi számítógép legyen az otthonában." A történelem megmutatta, hogy ez másképp van, és a Digital azóta már nem létezik. Tulajdonkép pen miért vesznek az emberek számítógépet otthoni használatra? Eleinte leginkább szövegszerkesztésre és játékokra használták, de az elmúlt években a kép radikálisan megváltozott. Manapság talán a legfőbb indok az internetelérés. Az Internet néhány, az otthoni felhasználók körében népszerűbb felhasználási lehetősége a következő: 1. távoli információ elérése, 2. két személy közötti kommunikáció, 3. interaktív szórakozás, 4. elektronikus kereskedelem. A távoli adatok elérésének sok lehetséges módja van. Lehet szörfölni a világhálón fontos információért, vagy csak egyszerűen szórakozásból. Elérhető információ a mű vészetekről, az üzletről, a főzésről, a kormányról, az egészségről, a történelemről, hobbikról, a szabadidős tevékenységekről, a tudományról, a sportról, az utazásról és még sok más területről. A szórakozás túl sok formában van jelen ahhoz, hogy mindet felsoroljuk, és néhány olyanban is, amiket jobb fel sem sorolni. Sok újság érhető már el a világhálón, ezek személyre is szabhatók. Például, néha lehetséges azt mondani egy újságnak, hogy mindent látni akarunk a korrupt politiku sokról, a nagy tüzekről, a hírességek botrányairól és a járványokról, de csak semmi foci, köszönjük szépen. Néha még az is lehetséges, hogy a kiválasztott cikkeket auto matikusan letöltse gépünk a merevlemezére, amíg alszunk, vagy kinyomtassa a nyom tatónkon egy kicsivel a reggeli előtt. Ahogyan ez az irányzat előrehalad, nagymértékű munkanélküliséget fog okozni a 12 éves újságkihordó fiúk körében, de az újságok sze retik ezt, mivel a kiszállítás mindig is az előállítási lánc leggyengébb láncszeme volt. A következő lépés az újságok (és a magazinok, valamint tudományos folyóiratok) után az internetes digitális könyvtár. Sok szakmai szervezet, mint például az ACM (www.acm.org) és az IEEE Computer Society (IEEE számítógépes társaság; www.computer.org), rendelkezik már ma is számos Interneten elérhető folyóirattal és konferenciaanyaggal. Más csoportok gyorsan követik őket. A könyvnagyságú no teszgépek árától, méretétől és súlyától függően a nyomtatott könyv előbb-utóbb el avulttá válhat. A szkeptikusoknak azt ajánlanám, hogy figyeljék meg, mekkora hatás sal volt a könyvnyomtatás a középkori díszes kéziratokra. A fent felsorolt alkalmazások példák egy ember és egy távoli, adatokkal teli adat bázis kölcsönhatására. A hálózatok használatának második nagy kategóriája a két
BEVEZETÉS
27
személy közötti kommunikáció, amely lényegében a 21. század válasza a 19. század telefonjára. Az e-levelezést már ma is emberek milliói használják naponta a világ minden táján, és a használók tábora gyorsan nő. Már magától értetó'dó' módon tartal maz hangot és mozgóképet, valamint szöveget és képeket. A szagok még egy darabig váratnak magukra. Bármelyik életrevaló tizenévesnek szenvedélye az azonnali üzenetküldés (instant messaging). Ez az eszköz, amit a körülbelül 1970 óta használt UNIX-os talk prog ramból fejlesztettek ki, lehetővé teszi két ember számára, hogy valós időben üzenete ket gépeljenek egymásnak. Ennek az ötletnek egy többszemélyes változata a csevegő szoba (chat room), amelyben egy csoport tagjai tudnak üzeneteket gépelni úgy, hogy azt a csoport minden más tagja látja. A világot behálózó hírcsoportok (newsgroup), amelyek megtárgyalnak minden el képzelhető témát, már ma is szokásosnak számítanak kiválasztott emberek egy cso portja számára, és ez a jelenség addig fog nőni, amíg az egész népességet magába nem foglalja. Ezek olyan beszélgetések, amelyekben ha egy ember feltesz egy üzenetet, akkor azt a hírcsoport minden más regisztrált felhasználója olvashatja, akik általában a humorostól a szenvedélyesig terjedő skálán helyezkednek el. A csevegő szobákkal szemben a hírcsoportok nem valós idejűek, és az üzeneteket elmentik, így amikor va laki visszajön nyaralásából, minden addig küldött üzenet türelmesen megvárja. Egy másik típusát a két ember közötti kommunikációnak sokszor mellérendelt (peer-to-peer) kommunikációnak nevezzük, hogy megkülönböztessük a kliens-szer ver modelltől (Parameswaran et al, 2001). Ebben a formában laza csoportot alkotó személyek tudnak kommunikálni a csoportjukat alkotó többi személlyel, amint ezt az 1.3. ábra is mutatja. Elméletben minden személy képes kommunikálni egy vagy több emberrel; nincs rögzített felosztás a kliensek és a szerverek között.
1.3. ábra. Egy mellérendelt rendszerben nincsenek rögzített kliensek és szerverek
28
SZÁMÍTÓGÉP-HÁLÓZATOK
A mellérendelt kommunikáció 2000 körül robbant igazán be a köztudatba egy Napster nevű szolgáltatással, amelynek segítségével a csúcsponton több mint 50 mil lió zenebarát cserélt egymás közt zeneszámokat, ami talán a legnagyobb szerzői jog sértés volt az egész írott történelemben (Lam és Tan, 2001; és Macedónia, 2000). Az ötlet elég egyszerű volt. A tagok bejegyezték a merevlemezeiken található zeneszá mokat egy központi adatbázisba, amit a Napster szerverén tartottak karban. Ha egy tagnak kellett egy dal, akkor megnézte az adatbázist, hogy lássa, kinek van az meg, és egyenesen odament, hogy megszerezze azt. Mivel a Napster tulajdonképpen nem tar tott zenét a gépein, azzal érvelt, hogy nem sérti meg senki szerzői jogait. A bíróság ezzel nem értett egyet, és leállíttatta a szolgáltatást. Ezzel szemben a mellérendelt rendszerek következő generációja kiküszöböli a központi adatbázist úgy, hogy minden felhasználó saját, helyi adatbázist tart karban, valamint biztosít egy listát a rendszer más, hozzá közeli tagjairól. Egy új felhasználó így elmehet egy már létező felhasználóhoz, hogy lássa, neki mije van, és kaphat tőle egy listát más tagokról, akiknél körülnézhet még több zene és név után. Ez a keresési eljárás a végtelenségig ismételhető, hogy így egy nagy helyi adatbázist hozzunk létre ar ról, hogy mik is találhatók a rendszerben. Ez olyan tevékenység, ami unalmassá válhatna az emberek számára, de egyben olyan is, amelyben a számítógépek remekelnek. A mellérendelt kommunikációnak jogszerű alkalmazásai is vannak. Például, ami kor zenebarátok nyilvánosan terjeszthető zeneszámokat cserélnek, vagy olyan minta számokat, amelyeket a zenekarok reklámcéllal adtak ki, amikor családok egymásnak küldözgetnek fényképeket, mozgóképeket, vagy a családfájuk adatait, és amikor a ti zenévesek többfelhasználós játékokat játszanak az interneten. Tulajdonképpen az internet egyik legnépszerűbb alkalmazása, az e-levelezés is jellemzően mellérendelt. A kommunikáció e formája várhatóan jelentős növekedésnek fog indulni a jövőben. Az elektronikus bűnözés nem korlátozódik a szerzői jogra. Egy másik forró terület az elektronikus szerencsejáték. A számítógépek már évtizedek óta szimulálnak dolgo kat. Miért is ne szimuláljanak félkarú rablókat, rulettkerekeket, Blackjack-osztókat, és még ennél is több szerencsejátékos felszerelést? Hát azért, mert ez illegális tevékeny ség nagyon sok helyen. A baj csak az, hogy a szerencsejáték viszont legális egy sor másik helyen (az Egyesült Királyságban, például), és az ottani kaszinótulajdonosok megértették, hogy az internetes szerencsejáték nagy lehetőségeket nyújt. Mi történik, ha a szerencsejátékos és a kaszinó két különböző, ellenkező törvényekkel rendelkező országban van? Jó kérdés. A további kommunikációközpontú alkalmazások közül a telefonbeszélgetések, a videotelefon és az internetes rádióadók interneten való sugárzása a három gyorsan fejlődő terület. Egy másik alkalmazás a távtanulás, ami azt jelenti, hogy anélkül a kellemetlenség nélkül lehet részt venni a 8 órai előadáson, hogy először az ágyból fel kellene kelni. Hosszú távon a hálózatoknak az a célkitűzése, hogy javítsák az emberek közötti kommunikációt, fontosabbnak bizonyulhat bármely más célkitűzésnél. Harmadik kategóriánk a szórakoztatás, ami nagy és egyre növekvő iparág. A „leg menőbb" alkalmazás (amelyik az összes többit megelőzheti) a hálózati videózás (vi deó on demand). Egy évtizeden belül lehetségessé válik, hogy kiválasszunk egy tet szőleges filmet vagy tv-programot az összes közül, amit valaha készítettek a világ összes országában, és azt azonnal meg is jelenítsük a képernyőnkön. Az új filmek in-
BEVEZETÉS
29
teraktívakká válhatnak, vagyis a felhasználót néha megkérdezik arról, hogy merre menjen tovább a történet (megölje Macbeth Duncant, vagy csak várakozzon tétle nül?), minden lehetőségre más-más képsorokkal felkészülve. Az élő tv-adások is inte raktívakká válhatnak, az egész közönség részt vehet a kvízjátékokban, választhatnak a versenyzők közül és így tovább. Meglehet azonban, hogy mégsem a hálózati videózás lesz a legmenőbb. Talán in kább a játékok. Manapság is vannak már többszemélyes, valós idejű szimulációs játé kaink, mint például bújócska egy képzeletbeli várbörtönben és repülésszimulátorok, amelyekben a játékosok egyik csapata próbálja lelőni az ellenséges csapat játékosait. Ha a játékokat szemüveggel játsszák háromdimenziós valós időben, fotóminőségű mozgóképekkel, máris egyfajta, az egész világot átölelő, megosztott képzeletbeli (virtuális) valóságot kaptunk. A negyedik kategória az elektronikus kereskedelem, a kifejezés lehetséges legtá gabb értelmében. Az otthoni vásárlás manapság is népszerű, és lehetővé teszi, hogy cégek ezreinek katalógusait vizsgálhassuk át az interneten. Ezen katalógusok közül néhány nemsokára biztosítani fogja azt a lehetőséget is, hogy egy azonnali mozgóké pes bemutatót kapjunk bármelyik termékről úgy, hogy rákattintunk a termék nevére. Miután a felhasználó elektronikusan megvett egy terméket, de nem tudja az árut mű ködésbe hozni, az internetes ügyfélszolgálatot keresheti fel. Egy másik terület, ahol az e-kereskedelem már napjainkban is folyik, a pénzügyi intézmények elérése. Sokan már ma is elektronikusan fizetik a számláikat, felügyelik a bankszámláikat és kezelik a befektetéseiket. Ez az arány biztosan nőni fog, ahogyan a hálózatok egyre biztonságosabbá válnak. Egy olyan terület, amit szinte senki sem látott előre, az elektronikus bolhapiac. A használt dolgok internetes árverezése jelentős iparággá vált. Szemben a hagyományos e-kereskedelemmel, amely a kliens-szerver modellt követi, az internetes aukciók in kább mellérendelt (peer-to-peer) rendszerek, egyfajta vásárló-vásárló közötti kommu nikáció. Ezek közül az e-kereskedelmi formák közül néhánynak olyan rövid neve ala kult ki, amely az angol „2" és „to" szavak kiejtésének hasonlóságán alapul. A legnép szerűbbeket az 1.4. ábrán soroltuk fel. Minden kétséget kizárólag a számítógép-hálózati felhasználások száma gyorsan fog nőni a jövőben, és talán olyan módokon, amelyeket ma még senki sem láthat előre. Végül is, hány ember jövendölte meg 1990-ben azt, hogy a buszozás közben mobilte lefonjukon rövid szöveges üzenetet unottan gépelő tizenévesek 10 éven belül a tele fontársaságok hatalmas pénzforrásaivá válnak? Pedig rövid szövegesüzenet-szolgálta tást (SMS, Short Message Service) nyújtani nagyon is jövedelmező. A számítógép-hálózatok nagyon fontossá válhatnak azok számára is, akik földraj zilag hátrányos helyzetben vannak. Ez adja meg nekik a lehetőséget arra, hogy a szol gáltatásokat ugyanúgy elérjék, mint egy nagyváros közepén lakó ember. A távtanulás radikális hatással lehet az oktatásra; az egyetemek országossá vagy nemzetközivé vál hatnak. A távgyógyászat (pl. távoli betegfelügyelet) még csak most kezd felzárkózni, de később akár ennél sokkal fontosabbá is válhat. Ennek ellenére, a legmenőbb alkal mazás mégis lehet, hogy valami földhözragadtabb dolog lesz, mint például arra hasz nálni az otthoni hűtőben elhelyezett webkamerát, hogy lássuk, kell-e venni tejet a munkából hazafelé menet.
30 Rövi dítés
SZÁMÍTÓGÉP-HÁLÓZATOK
Teljes angol név
Teljes magyar név
Példa
B2C
Business-to-consumer
Cég-a-vásárlónak
Könyvrendelés az interneten
B2B
Business-to-business
Cég-a-cégnek
Egy autógyártó abroncsokat rendel a beszállítótól
G2C
Government-to-consumer
Kormány-a-polgámak
A kormány elektronikusan küldi szét az adóbevallási űrlapokat
C2C
Consumer-to-consumer
Vásárló-a-vásárlónak
Használt dolgok internetes árverezése
P2P
Peer-to-peer
Egyik a másiknak, mellérendelten
Állományok megosztása
1.4. ábra. Az e-kereskedelem néhány formája
1.1.3.
Mozgó felhasználók
A hordozható számítógépek, mint például a noteszgépek és a kézi számítógépek (Personal Digital Assistant, személyes digitális titkár, PDA) piaca a számítógépipar egyik leggyorsabban fejlődő részterülete. Az ilyen számítógépek tulajdonosai közül sokaknak van asztali számítógépe az irodában, és ők akkor is kapcsolatban akarnak lenni a központtal, ha máshol, vagy éppen úton vannak. Mivel az autókban és a repü lőkön lehetetlen kábeles összeköttetést létesíteni, nagy az érdeklődés a vezeték nélküli hálózatok iránt. Ebben a szakaszban röviden áttekintjük a vezeték nélküli hálózatok néhány felhasználását. Miért akarna bárki egy ilyet? Az egyik gyakori ok a hordozható iroda. Az emberek utazás közben gyakran akarják arra használni a hordozható elektronikus eszközeiket, hogy telefonhívásokat, faxokat vagy elektronikus leveleket küldjenek és fogadjanak, illetve, hogy szörföljenek a világhálón, távoli adatállományokhoz férjenek hozzá, vagy távoli gépekre jelentkezzenek be. És szeretnék mindezt földön, vízen, levegőben bárhonnan megtenni. A számítástechnikai vásárokon például manapság a szervezők gyakran telepítenek vezeték nélküli hálózatot a konferencia területére. Bárki, akinek van noteszgépe és vezeték nélküli modemé, csak bekapcsolja a számítógépét, és máris van internetkapcsolata, ugyanúgy, mintha számítógépét egy vezetékes hálózatra csat lakoztatta volna. Hasonlóképpen néhány egyetem is telepített területére vezeték nél küli hálózatot, így a diákok nyugodtan leülhetnek egy fa alá, és onnan is megnézhetik a könyvtár katalógusát, vagy elolvashatják az e-leveleiket. A vezeték nélküli hálózatok nagy értéket képviselnek a kamion, taxi vagy kézbe-
31
BEVEZETÉS
sítő járművek és a szerelők központtal való kapcsolattartásában. Sok városban például a taxisofőrök egyéni vállalkozók, nem pedig egy taxivállalat alkalmazottai. Ezen vá rosok közül néhányban egy képernyő található a taxikban, amit a vezető lát. Amikor egy ügyfél telefonál, a központ diszpécsere begépeli a felvétel és a célállomás helyét. Ezt az információt megmutatják a vezetők képernyőin, és elhangzik egy sípszó. Az el ső vezető, aki megnyomja a megfelelő gombot, kapja meg a fuvart. A vezeték nélküli hálózatok a hadsereg számára is fontosak. Ha bárhol a Földön röviddel a parancs kiadása után képesnek kell lenni arra, hogy megvívjanak egy hábo rút, valószínűleg nem jó ötlet, ha a helyi hálózati infrastruktúra felhasználására ala poznak. Jobb, ha viszik magukkal a sajátjukat. Bár a vezeték nélküli hálózati technológia és a mozgó számítástechnika gyakran összefügg, a kettő nem azonos, amint azt az 1.5. ábra is mutatja. Az ábrán a telepített (fixed) vezeték nélküli és a mozgó vezeték nélküli hálózatok közötti különbség lát ható. Néha még a noteszgépek is vezetékekkel csatlakoznak a hálózathoz. Például, ha egy utazó bedugja a noteszgépét a telefonaljzatba egy szállodai szobában, akkor ő mozgó eszközt használ, mégsem vezeték nélküli hálózaton van. Másrészt viszont néhány vezeték nélküli számítógép nem mozgó eszköz. Erre egy fontos példa egy olyan vállalat lehet, amelynek olyan, régi irodaépülete van, amiben még nincsenek hálózati kábelek, és össze akarja kötni számítógépeit. Egy vezeték nél küli hálózat telepítéséhez lehet, hogy mindössze arra van szükség, hogy vegyenek egy kis dobozt némi elektronikával, azt kicsomagolják és bedugják a konnektorba. Ez a megoldás lehet, hogy sokkal olcsóbb, mintha munkások hada kábelezné be az épüle tet, kábelcsatornákat szerelve fel mindenhová. Vannak azonban igazi mozgó vezeték nélküli alkalmazások is, amelyek skálája a hordozható irodától az áruházi leltárt készítő, PDA-val fel-alá sétáló emberig terjed. Sok, nagy forgalmú repülőtéren az autókölcsönzők parkolóban dolgozó alkalmazottai, vezeték nélküli hordozható számítógépet használnak. Begépelik a visszaérkező autók rendszámát, a hordozható gép pedig, aminek beépített nyomtatója van, felhívja a köz ponti számítógépet, megszerzi tőle a kölcsönzési adatokat, és a helyszínen kinyom tatja a számlát. Ahogyan a vezeték nélküli technológia egyre elterjedtebbé válik, valószínűleg számtalan más alkalmazás fog felmerülni. Tekintsünk meg ezek közül néhányat! A vezeték nélküli parkolóóra előnyös lehetne a felhasználóknak és az önkormányzatok nak egyaránt. Az óra elfogadhatna hitelkártyát, és azonnal ellenőrizhetné is a vezeték nélküli kapcsolaton keresztül. Amikor az óra lejár, megbizonyosodhatna róla, hogy az Vezeték nélküli
Mozgó
Alkalmazások
Nem
Nem
Asztali számítógép egy irodában
Nem
Igen
Noteszgép használata egy szállodai szobában
Igen
Nem
Hálózat egy régi, bekábelezetten épületben
Igen
Igen
Hordozható iroda; PDA áruházi leltározáshoz
1.5. ábra. A vezeték nélküli hálózat és a mozgó számítástechnika különböző' kombinációi
32
SZÁMÍTÓGÉP-HÁLÓZATOK
autó ott van-e még, és bejelenthetné a lejárat tényét a rendó'rségnek vagy a parkolót üzemeltető' társaságnak. Az elvégzett becslések szerint csak az Egyesült Államok ön kormányzatai így 10 milliárd dollárnyi többletbevételhez juthatnának (Harte és má sok, 2000). Ezenkívül a parkolási szabályok jobb betartatása kímélné a környezetet is, mivel az olyan vezetők, akik tudják, hogy biztosan megbüntetik őket a tilosban par kolásért, lehet, hogy szívesebben választanák a tömegközlekedést. Az ételt, italt és egyebet árusító automaták mindenhol megtalálhatók. De az étel nem varázslat segítségével jut a gépekbe, hanem időközönként valaki jön egy teher autóval és feltölti azokat. Ha az elárusító automaták mindennap elküldenének egy ve zeték nélküli jelentést, amelyben bejelentik az aktuális leltárukat, a teherautó vezetője tudná, hogy melyik géphez kell elmennie, és az egyes termékekből mennyit kell ma gával vinnie. Ennek az információnak a megléte hatékonyabb útvonaltervezéshez ve zetne. Természetesen ezt az információt egy egyszerű telefonvonalon is elküldhetnék, de minden elárusító automatához vezetékes telefonvonalat kiépíteni a napi egy hívás hoz túlságosan drága lenne, figyelembe véve a havi előfizetési díjakat. Egy másik terület, ahol a vezeték nélküli hálózatok pénzt takaríthatnak meg, a ház tartási mérőórák leolvasása. Ha a lakásokban levő áram-, gáz-, víz- és egyéb mérőórák vezeték nélküli hálózaton jelentenék a fogyasztást, semmi szükség nem lenne arra, hogy óraleolvasókat küldjenek ki a lakásokhoz. Hasonlóan a vezeték nélküli füstérzé kelők kihívhatnák a tűzoltókat, ahelyett, hogy nagy zajt csapnak (aminek kevés hasz na van, ha nincs otthon senki). Ahogy a rádiós eszközök ára és a forgalmazási idő költsége csökken, egyre több ilyen mérést és adattovábbítást fognak vezeték nélküli hálózatok segítségével végezni. A vezeték nélküli hálózatok alkalmazásának egy teljesen más területe a mobiltele fon és a PDA várható egyesülése egy apró, vezeték nélküli számítógéppé. Az első próbálkozás pici vezeték nélküli PDA-kat használt, amik lecsupaszított weblapokat tudtak megjeleníteni még kisebb képernyőiken. Ez a rendszer, amit WAP 1.0-nak (Wireless Application Protocol, vezeték nélküli alkalmazási protokoll) hívnak, megbukott, főként a mikroszkopikus méretű képernyők, a kis sávszélesség és a gyen ge minőségű szolgáltatás miatt. A WAP 2.0-t alkalmazó újabb eszközök és szolgálta tások azonban ezeknél sokkal jobbak lesznek. Egy olyan terület, amelyen ezek az eszközök jól teljesíthetnek, az m-kereskedelem (mobile commerce, mozgó kereskedelem) (Senn, 2000). Az e mögött a jelenség mögött megbúvó hajtóerő a vezeték nélküli PDA-gyártókból és a hálózatüzemeltetők ből álló szövetség, akik nagy erőbedobással próbálják kitalálni, hogyan kaphatnának egy szeletet az e-kereskedelem tortájából. A vezeték nélküli PDA-k banki ügyintézés re és vásárlásra való használata az egyik reményük. Az egyik ötlet az, hogy a vezeték nélküli PDA-kat egyfajta elektronikus pénztárcaként használjuk a készpénz és a hitel kártyák kiváltására, a boltokban engedélyezve a kifizetéseket. A követelés így a mo biltelefon-számlán jelenik meg. A bolt számára ez az eljárás megtakaríthatja a hitel kártya-társaságoknak fizetendő díj nagy részét, ami adott esetben több százalék is le het. Természetesen ez a terv visszaüthet, mivel egy bolt vásárlói arra is használhatják a PDA-jukat, hogy vásárlás előtt megnézzék a versenytársak árait is. Ennél is rosszabb lehet, hogy maguk a telefontársaságok ajánlhatnak a vásárlóknak olyan PDA-kat, amelyek beépített vonalkód-leolvasóval rendelkeznek. Ezek lehetővé tennék a vásár-
33
BEVEZETÉS
lónak, hogy leolvassa egy áru kódját a boltban, és azonnal kapjon egy részletes jelen tést arról, hogy hol máshol és milyen áron tudja ugyanazt megvenni. Mivel a hálózat üzemeltetője tudja, hol van a felhasználó, néhány szolgáltatás szándékosan helyfüggő'. Például lehetséges lenne egy közeli könyvesbolt vagy kínai étterem után érdeklődni. A mobiltérkép is a jelöltek között szerepel, mint ahogy a na gyon kis területre szóló meteorológiai előrejelzések is („Mikor fog elállni az eső az udvaromban?"). Semmi kétség nem fér ahhoz, hogy még sok más alkalmazás fel fog tűnni, ahogyan ezek az eszközök egyre jobban elterjednek. Egy óriási dolog, ami az m-kereskedelmet segíti, az a tény, hogy a mobiltelefon használók hozzá vannak szokva, hogy mindenért fizetniük kell (szemben az internet használókkal, akik elvárják, hogy minden ingyenes legyen). Ha egy internetes web hely díjat számítana fel azért, hogy a kártyás fizetést lehetővé tegye vásárlói számára, akkor nagy füttykoncertre számíthatna felhasználói részéről. Ha egy mobiltelefon szolgáltató próbálná meg lehetővé tenni az előfizetőinek, hogy egy áruházban az áru kért a telefonjuk használatával fizethessenek, és ezért a kényelemért egy összeget csapna hozzá a számlához, azt valószínűleg normálisnak fogadnánk el. Ezt a kérdést az idő majd eldönti. A személyi hálózatok (Personal Area Network) és a viselhető számítógépek a távo labbi jövő szereplői. Az IBM már kifejlesztett egy olyan karórát, amelyen Linux fut (az XI1 ablakkezelő rendszerrel egyetemben), vezeték nélkül tud az Internetre kapcsolódni, és így e-leveleket küldeni és fogadni (Narayanaswami és mások, 2002). A jövőben az emberek akár azzal is kicserélhetik a névjegyeiket, hogy közel teszik egymáshoz az óráikat. A viselhető vezeték nélküli számítógépek pedig biztosítani tudnák a szigorúan őrzött szobákba való beléptetést, a most használatos mágnescsíkos kártyák helyett (eset leg egy PIN kóddal, vagy biometrikus méréssel együttesen alkalmazva). Ezek a karórák arra is képesek lehetnek, hogy a felhasználó aktuális tartózkodási helyének megfelelő in formációt (pl. közeli éttermekről) szerezzenek be. A lehetőségek száma végtelen. A rádióval felszerelt, okos karórák már azóta részét képezik világképünknek, hogy 1946-ban feltűntek a Dick Tracy-féle képregényekben. De az okos por? A Berkeley kutatóinak már sikerült egy vezeték nélküli számítógépet egy 1 mm oldalhosszúságú kockába belegyömöszölniük (Warneke és mások, 2001). Lehetséges alkalmazások például egy árukészlet, csomagok vagy akár kis madarak, rágcsálók vagy rovarok nyomon követése.
1.1.4.
Társadalmi vonatkozások
A hálózatok széles körű megjelenése új társadalmi, etikai és politikai problémákat vet fel (Laudon, 1995). Hadd említsünk meg csak néhányat közülük tekintettel arra, hogy egy alaposabb tanulmány legalább egy teljes könyvet kitenne. Az egyik legnépsze rűbb hálózati alkalmazás a hírcsoport vagy hirdetőtábla, ahol a hasonló gondolkodású emberek kicserélhetik véleményüket. Amíg a témák a műszaki dolgok vagy a hobbik, mondjuk, a kertészkedés, addig nincs is túl sok probléma. A gond akkor kezdődik, amikor olyan témákra épül egy hírcsoport, amelyekre az emberek érzékenyek. Ilyen például a politika, a vallás vagy a szex. Az ilyen hírcso-
34
SZÁMÍTÓGÉP-HÁLÓZATOK
portokban közzétett vélemények mélyen megsérthetnek másokat. Ráadásul az üzene tek nem feltétlenül csak szövegre korlátozódnak. Nagyfelbontású színes fényképeket, de akár még rövid videoklipeket is könnyű a számítógép-hálózaton keresztül elkülde ni. Vannak, akik követik az „élni és élni hagyni" szemléletet, de vannak olyanok is akik úgy gondolják, hogy bizonyos anyagok (pl. gyermekpornográfia) továbbítása tel jesen elfogadhatatlan. Ezért a viták könnyen eldurvulnak. Voltak, akik beperelték a hálózatok üzemeltetőit, mivel szerintük hasonlóan az új ságokhoz és a folyóiratokhoz, ők a felelősek a rajtuk keresztül továbbított anyagok tartalmáért. A nyilvánvaló válasz az volt, hogy a számítógép-hálózat olyan, mint a te lefonhálózat vagy a postahivatal, azaz nem várható el tőle, hogy felügyeljen arra, mit mondanak a felhasználók. Ugyanakkor, ha a hálózatok üzemeltetőit arra kényszeríte nek, hogy cenzúrázzák az üzeneteket, akkor valószínűleg minden olyat kitörölnének, ami alapot adhatna a beperelésükre. Ez viszont sértené a felhasználók szólásszabad ságát. Szinte bizonyosak vagyunk afelől, hogy ez a vita még eltart egy darabig. Egy másik mókás terület az alkalmazottak és a munkaadók ellentétes érdekei. So kan olvasnak és írnak elektronikus levelet munka közben. Néhány munkaadó követel te magának azt a jogot, hogy elolvashassa és esetleg meg is cenzúrázhassa az alkalma zottak üzeneteit, beleértve a munka után, otthoni terminálról elküldött üzeneteket is. Nem minden munkavállaló ért ezzel egyet (Sipior é% Ward, 1995). Még ha a munkaadóknak van is hatalmuk az alkalmazottak felett, jó-e, ha ilyen vi szony áll fenn, mondjuk, egy egyetem és a diákjai között? Mi lesz így az egyetemis tákkal és a középiskolásokkal? 1994-ben a Carnegie-Mellon Egyetemen úgy határoz tak, hogy visszafordítják a szexszel foglalkozó hírcsoportokhoz érkező üzeneteket, mivel az egyetem úgy érezte, hogy ezek az anyagok nemkívánatosak a fiatalkorú, azaz 18 évesnél fiatalabb hallgatók számára. Az esemény kapcsán kipattant indulatok még sokáig nem fognak elcsitulni. Egy másik kulcsfontosságú téma a kormány és az állampolgár viszonya. Az FBI sok internetszolgáltatónál feltelepített egy rendszert, ami arra szolgál, hogy megvizs gáljon minden bejövő és kimenő e-levelet, érdekes információ után kutatva bennük (Blaze és Bellovin, 2000; Sobel, 2001 és Zacks, 2001). A rendszert eredetileg Hús evőnek (Carnivore) hívták, de az ez által keltett rossz sajtóvisszhang miatt átkeresz telték az ártatlanabbul hangzó DCS1000 névre. Ennek ellenére a célja még mindig az, hogy emberek millióit tartsa megfigyelés alatt, annak reményében, hogy illegális te vékenységekre utaló adatokat talál. Sajnos az amerikai alkotmány negyedik módosítá sa megtiltja, hogy a kormány házkutatási engedély nélkül kutattasson bárkinél. Az, hogy ennek az 54 szónak, amit a 18. században írtak le, még mindig van-e súlya a 21. században, olyan kérdés, ami akár a 22. századig is sok munkát adhat a bíróságoknak. A kormánynak persze nincs monopóliuma abban, hogy fenyegetni tudja az embe rek magánélethez való jogát. A magánszektor is kiveszi belőle a maga részét. Például a cookie-knak (süti) nevezett kis állományok, amiket a webböngészők tárolnak el a felhasználók gépein, lehetővé teszik a vállalatok számára, hogy nyomon kövessék a felhasználó tevékenységét az interneten, sőt még akár azt is lehetővé tehetik, hogy hi telkártyaszámok, igazolványok számai vagy más bizalmas információ szivárogjon ki mindenhová az interneten (Berghel, 2001). A számítógép-hálózatok lehetőséget adnak névtelen levelek küldésére. Bizonyos
BEVEZETÉS
35
esetekben ez hasznos. A diákok, a katonák, a beosztottak és az állampolgárok számára lehetővé teszi például azt, hogy nyilvánosságra hozzák a tanárok, a hivatalnokok, a fe letteseik vagy a politikusok által elkövetett szabálytalanságokat anélkül, hogy megtor lástól kellene tartaniuk. Ugyanakkor az Egyesült Államokban és sok más demokratikus országban a törvények kifejezetten lehetővé teszik azt, hogy a bíróság előtt a vádlott szembesülhessen a vádlójával. Névtelen vádaskodás nem tekinthető bizonyítéknak. Összegezve a fentieket elmondható, hogy a számítógép-hálózatok, akárcsak a nyomdászat 500 évvel ezelőtt, az átlagpolgárok számára lehetővé teszi, hogy új esz közök segítségével olyanokkal is megoszthassák véleményüket, akikkel eddig nem volt lehetőségük. Ez az újfajta szabadság számos, egyelőre megoldatlan társadalmi, politikai és morális problémát vet fel. Sajnos a jóval együtt jár a rossz is. Úgy tűnik, az élet már csak ilyen. Az Internet lehetővé teszi, hogy a keresett adatokat gyorsan megtaláljuk, de azok között sok a féligazság, a félrevezető vagy egyenesen helytelen információ. Az orvosi tanács, amit az Internetről szerzünk be, lehet, hogy egy Nobel-díjastól származik, de ugyanúgy az is lehet, hogy egy bukott középiskolai diáktól. A számítógép-hálózatok a társadalom ellenes és bűnözői tevékenységek új fajtáit is megteremtették. Az elektronikus levél szemét (junk mail, spam) az élet része lett, mert egyesek e-levelezési címek millióit gyűjtötték össze, és ezeket CD-ROM-okon eladják a leendő hirdetőknek. Az olyan e-levelek, amelyek aktív tartalommal (ezek lényegében programok vagy makrók, amik lefutnak a fogadó gépén) is bírnak, olyan vírusokat tartalmazhatnak, amelyek rettenetes pusztítást tudnak előidézni. A személyazonosság-tolvajlás is komoly problémává kezd válni, mivel a személyi ségtolvajok már elég adatot tudnak összegyűjteni az áldozatukról ahhoz, hogy hitel kártyákat és más személyes iratokat tudjanak felvenni az áldozat nevében. Végül, a hang és a mozgókép digitális átvitelének képessége ajtót nyitott a szerzői jogok nagy tömegű, nagyon nehezen ellenőrizhető és büntethető megsértésének. Ezeknek a problémáknak jó részét egyszerűen meg lehetne oldani, ha a számítás technikai ipar komolyan venné a számítógépes biztonságot. Ha minden üzenetváltás titkosítva és azonosítva lenne, sokkal nehezebb lenne visszaéléseket elkövetni. Ez a technológia jól megalapozott témakör, és részletesen is foglalkozni fogunk vele a 8. fejezetben. A probléma az, hogy a hardver- és szoftvergyártók tudják, hogy a biz tonsági képességek beépítése pénzbe kerül, és hogy vásárlóik nem is igénylik az ilyen szolgáltatásokat. Továbbá nagy számú problémát okoznak a hibás szoftverek, ami csak azért van, mert a fejlesztők egyre több és több képességgel vértezik fel a prog ramjaikat, ami elkerülhetetlenül ahhoz vezet, hogy hosszabb lesz a kód és ezért több lesz benne a hiba. Egy új adónem bevezetése az új képességekre segítség lehetne, de ezt valószínűleg sok helyen igen nehéz lenne eredményesen alkalmazni. Az nagyon jó lenne, ha a cégeknek pénzt kellene visszaadniuk a hibás szoftverek miatt, azt az egy dolgot kivéve, hogy ez tönkretenné az egész szoftveripart már az első évben.
36
SZÁMÍTÓGÉP-HÁLÓZATOK
1.2.
Hálózati hardver
Itt az ideje, hogy figyelmünket a hálózatok alkalmazási és társadalmi vonatkozásai után a hálózattervezés műszaki problémáira irányítsuk. Nincs olyan, általánosan el fogadott osztályozás, amelybe az összes hálózatot be lehetne sorolni, azonban van két fontosnak tűnő szempont: az átviteli technológia és a méret. A továbbiakban ezt a kettőt vizsgáljuk. Az átviteli technológiának tágabb értelemben két típusa van: 1. adatszóró hálózatok; 2. kétpontos hálózatok. Az adatszóró hálózatok egyetlen kommunikációs csatornával rendelkeznek, és ezen osztozik a hálózat összes gépe. Ha bármelyik gép elküld egy rövid üzenetet, azt az összes többi gép megkapja. Ezeket a rövid üzeneteket bizonyos körülmények kö zött csomagoknak (packets) is szokták hívni. A feladót és a címzettet a csomagon belüli címmezőben lehet megjelölni. Amikor egy gép csomagot kap, megnézi a cím mezőt. Ha a csomagot neki szánták, akkor feldolgozza azt, ha pedig nem neki szánták, akkor figyelmen kívül hagyja. Az analógia kedvéért képzeljük el, hogy valaki egy sokajtós folyosó végén elkiáltja magát: „Pista, gyere ide! Beszélni akarok veled." Bár a felszólítást mindenki hallja, mégis csak Pista fog válaszolni. A többiek egyszerűen nem vesznek róla tudomást. Egy másik jó példa az, amikor a repülőtéren felszólítják a 644-es járat utasait, hogy fáradjanak a 12-es kapuhoz. Az adatszóró rendszerek általában lehetővé teszik, hogy a csomag címmezőjében egy speciális kód beállításával minden gép megcímezhető legyen. Ha az ilyen kóddal ellátott csomagot elküldjük, akkor a hálózat összes gépe megkapja és feldolgozza azt. Ezt a működési módot adatszórásnak (broadcasting) nevezzük. Néhány adatszóró rendszerben arra is lehetőség nyílik, hogy a gépeknek csak egy meghatározott csoportját címezzük meg. Ez a többesküldés (multicasting). A többesküldés jelölésére az egyik lehetséges megoldás az, hogy fenntartunk neki egy bitet az n bites címzési mezőben. A maradék n-\ címbit pedig azonosíthat egy csoportot. Bármelyik gép „előfizethet" egy tetszőleges csoportra, de akár az összesre is. Ha a csomagot egy adott csoportnak küld jük, akkor azt az összes olyan gép megkapja, amely arra a csoportra előfizetett. Ezzel ellentétben a kétpontos hálózatok (point-to-point network) sok olyan kap csolatból állnak, amelyek gép-párokat kötnek össze. Ahhoz, hogy egy csomag egy ilyen típusú hálózaton eljusson a feladótól a címzettig, lehet, hogy egy vagy több köz benső gépen kell átmennie. Sokszor több, különböző hosszúságú útvonal is lehetséges, ezért a jó útvonalak megtalálása fontos kérdés a kétpontos hálózatokban. Általános szabályként azt mondhatjuk (bár sok kivétel is előfordul), hogy a kisebb, földrajzilag közelebb elhelyezkedő gépek inkább adatszórást használnak, míg a nagyobb hálóza tok általában kétpontos kialakításúak. A kétpontos átvitelt, ahol egy adó és egy vevő van csak jelen, néha egyesküldésnek (unicasting) is szokták nevezni.
37
BEVEZETÉS
Processzorok Processzorok közötti távolság elhelyezkedése ugyanazon 1m
Asztalon
10m
Szobában
100 m
Épületben
1 km 10 km
Személyi hálózat
Lokális hálózat
Egyetemen Városban
100 km
Országban
1 000 km
Földrészen
10 000 km
Példa
Bolygón
Nagyvárosi hálózat Nagy kiterjedésű hálózat Internet
1.6. ábra. Összekapcsolt processzorok osztályozása kiterjedés szerint
Egy másik lehetséges szempont a hálózatok osztályozására a méretük. Az 1.6. áb rán a többprocesszoros rendszereket fizikai méretük szerint soroljuk osztályokba. Az ábra tetején a személyi hálózatok (Personal Area Networks, PANs) helyezkednek el. Ezek olyan hálózatok, amelyeket egyetlen embernek szántak. Például egy olyan vezeték nélküli hálózat, amely egy számítógépet köt össze az egerével, a billentyűze tével és a nyomtatójával, egy személyi hálózat. Egy másik alkalmazás, ami ebbe a kategóriába kerülhet, egy olyan PDA, amely a felhasználója hallókészülékét vagy szívritmus-szabályozóját vezérli. A személyi hálózatok után következnek a nagyobb kiterjedésű hálózatok. Ezeket helyi, nagyvárosi és nagy kiterjedésű hálózatokra bont hatjuk fel. Végül pedig, a két vagy több hálózat összekapcsolásával létrejött hálózatot összekapcsolt hálózatnak (ínternetwork) hívjuk. Az egész világot átfogó internet jól ismert példa összekapcsolt hálózatra. A távolság azért fontos osztályozási mérőszám, mert különböző' méretekben különböző' módszereket alkalmazunk. Ebben a könyvben a hálózatokkal az imént említett összes lehetséges méretben foglalkozunk. Ehhez elő ször rövid bevezetést adunk a hálózati hardverekről.
1.2.1.
Lokális hálózatok
A lokális hálózat (Local Area Network, LAN) olyan magánhálózat, amely egyetlen épületen belül vagy egy legfeljebb néhányszor tíz kilométer kiterjedésű területen talál ható. Széles körben használják őket hivatalokban és gyárakban személyi számítógé pek, valamint munkaállomások összekapcsolására, lehetó'vé téve ezzel a közös erőfor rások (pl. nyomtatók) megosztását és az üzenetküldést. A lokális hálózatokat három dolog különbözteti meg a többi hálózattól: (1) a kiterjedésük, (2) az átviteli módjuk és (3) a topológiájuk. A LAN-ok mérete szigorúan korlátos, így az átviteli idő" a legrosszabb esetben is
38
SZÁMÍTÓGÉP-HÁLÓZATOK
korlátos és előre ismert. Az időkorlát ismerete lehetővé teszi azt, hogy olyan rendsze reket valósítsanak meg, amelyek máskülönben nem volnának lehetségesek. Az idő korlát ezen kívül a hálózat felügyeletét is egyszerűbbé teszi. A LAN-ok használhatnak olyan átviteli technológiát, amelyben egyetlen olyan ká bel van, amelyre minden gép kapcsolódik. A hagyományos LAN-ok 10 Mb/s-os vagy 100 Mb/s-os sebességgel üzemelnek, alacsony a késleltetésük (néhány mikro- vagy nanoszekundum), és nagyon kevés hibát vétenek. Az újabb LAN-ok sebessége egé szen 10 Gb/s-ig terjed. Ebben a könyvben ragaszkodni fogunk a hagyományokhoz, és megabit/sec-ban (1 Mb/s megfelel 1 000 000 b/s-nak), illetve gigabit/sec-ban (1 Gb/s megfelel 1 000 000 000 b/s-nak) fogjuk mémi a vonalak sebességét. Az adatszóró LAN-ok különféle topológiával rendelkezhetnek. Az 1.7. ábra kettőt mutat ezek közül. A sín topológiájú hálózatban bármelyik gép lehet master, és küldhet üzenetet. A többi gépnek ezalatt tartózkodnia kell az üzenetküldéstől. Abban az eset ben, ha egyszerre két vagy több gép is adni szeretne, akkor ezt a konfliktust valami lyen vezérlési mechanizmussal fel kell oldani. A vezérlési mechanizmus lehet köz pontosított vagy elosztott. Az IEEE 802.3-es szabvány - vagy népszerűbb nevén az Ethernet - például egy sín topológiájú, elosztott vezérlésű hálózatot definiál, amely nek sebessége 10 Mb/s vagy 100 Mb/s. Egy Ethernet-hálózatban levő számítógép bármikor adhat, ha azonban két vagy több csomag ütközik, akkor mindkét számító gépnek várni kell véletlen hosszú ideig az újraátvitel megkezdéséig. Az adatszórásos rendszerek egy másik formája a gyűrű. Egy gyűrűben minden bit egyedül halad, nem várja meg annak a csomagnak a többi részét, amihez tartozik. Ál talában egy bit körbeér a gyűrűn annyi idő alatt, amennyi néhány bit elküldéséhez kell, gyakran még mielőtt az egész csomagot leadták volna. Mint minden más adat szórásos rendszerben, itt is szükség van valamilyen szabályra, amivel a gyűrűhöz való egyidejű hozzáférést szabályozni lehet. Több módszer is elterjedt, ezek közül egy az, hogy a gépek felváltva férnek a gyűrűhöz. Az IEEE 802.5 (az IBM vezérjeles gyűrűje, tokén ring) egy olyan gyűrű alapú LAN, ami 4 és 16 Mb/s-os sebességgel üzemel. Másik példa gyűrűhálózatra az FDDI. Az adatszóró hálózatokat két csoportra oszthatjuk aszerint is, hogy a csatorna hozzárendelés hogyan megy végbe. Ez alapján megkülönböztetünk statikus és dina mikus hálózatokat. A statikus lefoglalás egyik tipikus esete az, amikor diszkrét időin-
s
Számítógép
\
Kábel
(a) 1.7. ábra. Két adatszóró hálózat: (a) Sín. (b) Gyűrű
Számítógép (b)
39
BEVEZETÉS
tervallumokat definiálunk körforgó prioritással. Ennél a megoldásnál minden gép csak akkor küldhet adatszórással üzenetet, amikor elérkezett az ő időszelete. Ha egy gép nek nincs továbbítandó üzenete a neki szánt időszelet alatt, akkor a csatorna kihasz nálatlanul marad. Emiatt a legtöbb rendszer inkább a csatornák dinamikus (azaz kérés alapján történő) hozzárendelésével próbálkozik. A közös csatorna dinamikus hozzárendelésekor központosított és elosztott módsze rek léteznek. Centralizált csatorna-hozzárendelés esetén mindig van egy olyan - pél dául egy sínvezérlő - egység, amely meghatározza, hogy ki adhat a következőnek. Egyik lehetséges módja ennek, hogy miután megkapta a kéréseket, valamilyen belső algoritmus alapján hoz döntést. Elosztott csatorna-hozzárendelés esetén nincs köz ponti egység, hanem mindegyik gépnek magának kell eldöntenie, hogy ad-e vagy sem. Azt gondolhatnánk, hogy ez folyton káoszt eredményez, pedig nincs így. A ké sőbbiekben látni fogunk olyan algoritmusokat, amelyeket arra találtak ki, hogy káosz veszély esetén rendet teremtsenek.
1.2.2.
Nagyvárosi hálózatok
A nagyvárosi hálózat (Metropolitan Area Network, MAN) egy város egész terüle tét fedi le. A MAN-ok legközismertebb példája a sok városban elérhető kábeltévé hálózat. Ez a rendszer azokból a régebben megosztottan használt közösségi antenna rendszerekből nőtte ki magát, amelyeket az olyan területeken használtak, ahol a földi sugárzású adókat egyébként nagyon gyenge minőségben lehetett venni. Ezekben a ko rai rendszerekben egy nagy antennát telepítettek egy közeli domb tetejére, és onnan kábelen vitték át a jelet az előfizetők házaiba. Kezdetben ezek helyben tervezett, ad hoc jellegű rendszerek voltak. Később a na gyobb cégek is elkezdtek beszállni az üzletbe, és a helyi önkormányzatoktól egész vá rosok behaiózására szóló megbízásokat nyertek el. A következő lépést a tv-programok kidolgozása jelentette, kialakultak kifejezetten kábeles terjesztésre szánt csatornák is.
Elosztódoboz
HP1H IH^H Hü9i K|H |tum-mm| | H , a S |
1.8. ábra. Egy kábeltévé-hálózatra alapozott nagyvárosi hálózat
f
lü B Sffl|
|HJ,B1)
40
SZÁMÍTÓGÉP-HÁLÓZATOK
Ezek a csatornák sok esetben nagyon szűk témákra szakosodtak, mint például csak hí rek, sport, főzés, kertészet és más hasonló témák. Mindazonáltal egészen az 1990-es évek végéig kizárólag tv-adások vételére használtuk a kábeltévé-hálózatokat. Amikor az internet már nagy tömegeket kezdett vonzani, a kábeltévé-üzemeltetők lassan ráébredtek arra, hogy néhány helyen megváltoztatva a rendszert, kétirányú in ternetelérést tudnak szolgáltatni a frekvenciaspektrum addig nem használt részein. Ez volt az a pillanat, amikor a kábeltévé-rendszer elkezdett a kizárólag tv-adások elosztá sára alkalmas eszközből átalakulni nagyvárosi hálózattá. Első közelítésben egy MAN az 1.8. ábrán látható rendszerhez hasonlóan néz ki. Az ábrán látható, hogy mind a tvjeleket, mind az internetet bevezetik a központi fejállomásba (head end), hogy az szétossza a hálózathoz kapcsolódó házak között. Erre a témára még részletesen vissza fogunk térni a 2. fejezetben. A kábeltévé-hálózat nem az egyetlen létező MAN. A közelmúlt nagysebességű ve zeték nélküli internetelérést érintő fejlesztéseinek eredménye egy másik MAN, amelyet az IEEE 802.16-os szabvány rögzít. Ezt a témát is meg fogjuk vizsgálni a 2. fejezetben.
1.2.3.
Nagy kiterjedésű hálózatok
A nagy kiterjedésű hálózat (wide area network, WAN) nagy földrajzi kiterjedésű területeket fed le, sokszor egy egész országot vagy kontinenst. Egy nagy kiterjedésű hálózat olyan számítógépek egy csoportja, amelyeket felhasználói programok (vagyis alkalmazások) futtatására szántak. A hagyományos szóhasználatot követve ezeket a gépeket hosztoknak (hőst) fogjuk nevezni. A hosztokat a kommunikációs alhálózat köti össze, amit röviden alhálózatnak is nevezünk. A hosztok a vásárlók tulajdonában vannak (pl. az egyes emberek személyi számítógépei), míg a kommunikációs alháló zatot rendszerint egy telefontársaság vagy egy internetszolgáltató birtokolja és üze melteti. Az alhálózat feladata az, hogy üzeneteket vigyen át az egyik hoszttól a mási kig, ahhoz hasonlóan, ahogyan egy telefonrendszer szavakat visz át az egyik előfize tőtől a másikig. A tisztán kommunikációs feladatok (az alhálózat) különválasztása az alkalmazásokkal kapcsolatos feladatoktól (a hosztok) nagyban leegyszerűsíti a teljes hálózat tervezését. Router
Hoszt
Helyi hálózat (LAN) 1.9. ábra. A helyi hálózatra kapcsolódó hosztok és az alhálózat viszonya
BEVEZETÉS
41
A legtöbb nagy kiterjedésű hálózatban az alhálózat két különböző elemből épül fel: az átviteli vonalakból és a kapcsoló elemekből. Az átviteli vonalak (transmission line) biteket tudnak mozgatni gépek között. Készülhetnek rézvezetékből, fényvezető szálból vagy lehetnek akár rádiós kapcsolatok is. A kapcsoló elemek (switching element) olyan speciális számítógépek, amelyek három vagy több átviteli vonalat kötnek össze egymással. Amikor adatok érkeznek egy bejövő vonalon, a kapcsoló elem kiválaszt egy kimenő vonalat, és azon a vonalon továbbítja az adatokat. Ezeket a kapcsoló számítógépeket sokféleképpen nevezték a múltban, a mai szóhasználatban leginkább elterjedt nevük a router (forgalomirányító). Sajnos a szónak két különbö ző kiejtési formája van: az elterjedtebb (brit) kiejtése „rúter", de sokan mondják amerikaiasan „ráuter"-nek is. Ebben a modellben, amely az 1.9. ábrán is látható, az egyes hosztok gyakran egy helyi hálózaton keresztül kapcsolódnak valamelyik routerhez, bár egyes esetekben a hoszt és a router között közvetlen kapcsolat is lehet. Az átviteli vonalak és a routerek (de nem a hosztok) összessége alkotja az alhálózatot. Ide kívánkozik egy, az „alhálózat" kifejezéssel kapcsolatos rövid megjegyzés. Ere detileg ennek a szónak az egyetlen jelentése a forrás hoszt és a cél hoszt között cso magokat továbbító átviteli vonalak és routerek összessége volt. Néhány évvel később azonban lett ennek egy második jelentése is a hálózati címzéssel kapcsolatban, amit az 5. fejezetben fogunk megtárgyalni. Sajnos e második változat eredeti értelmére nem létezik széles körben használatos másik szó, így bár némi habozással, de mindkét ér telmében ugyanazt a szót fogjuk használni. A szövegkörnyezetből mindig ki fog tűn ni, hogy melyik értelméről van szó. A legtöbb WAN-ban a hálózat számos átviteli vonalból áll, és mindegyik egy-egy routerpárt köt össze. Ha két olyan router akar egymással kommunikálni, amelyek kö zött nincs közvetlen átviteli vonal, akkor azt csak közvetetten tehetik meg, más routereken keresztül. Amikor egy csomagnak az egyik routertől a másikig egy vagy több közbülső routeren kell keresztülhaladnia, a csomagot mindegyik közbülső router először teljes terjedelmében veszi, majd eltárolja addig, amíg a továbbításhoz szüksé ges kimeneti vonal fel nem szabadul, és végül továbbítja azon a vonalon. Az olyan alhálózatokat, amelyek felépítése ezt az elvet követi, tárol-és-továbbít típusú (storeand-forward) vagy csomagkapcsolt (packet switched) alhálózatoknak nevezzük. Szinte minden nagy kiterjedésű hálózat (kivéve azokat, amelyek műholdakat használ nak) tárol-és-továbbít típusú alhálózattal rendelkezik. Amikor a csomagok kicsik, és mindegyik mérete azonos, akkor ezeket celláknak (cell) is nevezik. A csomagkapcsolt WAN alapelve annyira fontos, hogy érdemes szánni rá még né hány szót. Általában, amikor valamelyik hoszton egy alkalmazási folyamatnak elkül dendő üzenete van valamely másik hoszt alkalmazási folyamata számára, a küldő gép először csomagokra bontja az üzenetet, és minden csomagot sorszámmal lát el. Az így előkészített csomagokat azután egyesével, közvetlenül egymás után átadja a hálózat nak. A csomagokat a hálózat egyenként továbbítja, és eljuttatja a vevő hosztnak, amely ezután összerakja belőlük az eredeti üzenetet, és kézbesíti a vevő folyamatnak. Egy ilyen (tetszőleges eredeti üzenetből létrejött) csomagfolyam útja látható az 1.10. ábrán. Ezen az ábrán minden csomag az ACE úton halad, nem pedig az ABDE-n vagy az ACDE-n. Bizonyos hálózatokban az azonos üzenethez tartozó összes csomagnak kö-
42
SZÁMÍTÓGÉP-HÁLÓZATOK
Router
Alhálózat Vevő hoszt
Küldő hoszt
Küldő folyamat
Csomag
A C router úgy dönt, hogy az E-nek adja tovább a csomagokat, és nem a D-nek
Vevő folyamat
1.10. ábra. A csomagok egy lehetséges folyama a küldőtől a vevőig telező ugyanazon az útvonalon haladnia, míg másokban minden csomaghoz külön rendelnek útvonalat. Természetesen, ha az ACE a legjobb útvonal, akkor abban az esetben is küldhetjük az összes csomagot ezen az úton, ha a csomagokhoz egyesével rendeljük az útvonalat. Az útvonalválasztási döntések helyben születnek meg. Amikor egy csomag megér kezik az A routerhez, az A router kezében van a döntés joga, hogy a B vagy a C felé vezető vonalon továbbítja-e azt. Azt a módot, ahogyan az A router meghozza ezt a döntést, forgalomirányító algoritmusnak (routing algorithm) nevezzük. Sok válto zata létezik, ezek közül néhányat részletesen is meg fogunk vizsgálni az 5. fejezetben. Nem minden WAN csomagkapcsolt. Egy másik lehetőséget kínálnak WAN kiépí tésére a műholdas rendszerek. Ezekben minden router rendelkezik egy antennával, amelynek segítségével adni és adásokat fogadni tud. Minden router hallja a műholdról érkező jeleket, és egyes esetekben a többi router felfelé, a műholdra küldött adásait is. Néha a routerek egy kétpontos összeköttetésű, felszínen megvalósított alhálózatra is csatlakozhatnak, így elég néhány routernek saját műholdas antennával rendelkeznie. A műholdas hálózatok természetüknél fogva adatszórásos rendszerek, és ezért az olyan esetekben a leghasznosabbak, ahol az adatszórás képessége fontos.
1.2.4.
Vezeték nélküli hálózatok
A digitális vezeték nélküli kommunikáció nem új ötlet. Egészen korán, még 1901-ben történt az, hogy az olasz fizikus, Guglielmo Marconi bemutatta az első olyan vezeték nélküli távírót, amivel egy hajó és a part között lehetett üzenetet váltani a Morse-kód használatával (a rövid és a hosszú jelek tulajdonképpen digitálisak). A mai digitális vezeték nélküli rendszereknek már sokkal jobb a teljesítménye, de az alapötlet még mindig ugyanaz. Egy lehetséges első megközelítésben a vezeték nélküli hálózatokat három fő cso portba oszthatjuk:
43
BEVEZETÉS
1. rendszerhálózatok (system interconnection), 2. vezeték nélküli helyi hálózatok, 3. vezeték nélküli WAN-ok. A rendszerhálózatok a számítógép egyes részeit egymással kötik össze kis hatósu garú rádiókapcsolaton keresztül. Szinte minden számítógép rendelkezik monitorral, billentyűzettel, egérrel és nyomtatóval, amelyeket kábelek kötnek össze magával a számítógéppel. Mivel nagyon sok új felhasználónak okoz fejtörést, hogy hogyan csatlakoztassa az összes szükséges kábelt az annak megfelelő kis aljzatba (még annak ellenére is, hogy manapság már a kábelek általában színkódoltak), a legtöbb eladó cég felajánlja azt a lehetőséget, hogy kiküld egy technikust a felhasználó lakására, aki el végzi ezt a munkát. Néhány vállalat összefogott és megtervezett egy kis hatósugarú vezeték nélküli hálózatot, a Bluetooth-t (kék fog) arra a célra, hogy ezeket a részegy ségeket vezetékek nélkül összekapcsolja. A Bluetooth segítségével digitális kamerák, mikrofonos fülhallgatók, lapolvasók és egyéb eszközök rendszerbe kapcsolódásához már az is elég, ha a hálózat hatótávolságán belülre kerülnek. Nem kell kábelezni, és meghajtóprogramot telepíteni, csak letenni az eszközt, bekapcsolni és már működik is. Ez a könnyebbség sokak számára nagy előnyt jelent. A rendszer egyszerű kialakítása az 1.11 (a) ábrán látható mester-szolga (masterslave) megközelítést alkalmazza. Általában a számítógép a mester, az egér, a billen tyűzet és az egyéb eszközök pedig a szolgák. A mester mondja meg a szolgáknak, hogy milyen címeket használjanak, mikor adhatnak, milyen hosszan adhatnak, milyen frekvenciákat használhatnak és így tovább. A Bluetooth-ról még bővebben is szót ej tünk a 4. fejezetben. A vezeték nélküli hálózatok eggyel nagyobb méretű változata a vezeték nélküli LAN. Ez olyan rendszer, amelyben a más rendszerekkel való kommunikációhoz min den számítógép rendelkezik egy rádiós modemmel és egy antennával. Gyakran sze-
(a) 1.11. ábra. (a) A Bluetooth elrendezése, (b) Vezeték nélküli LAN
(b)
44
SZÁMÍTÓGÉP-HÁLÓZATOK
relnek az 1.11 (b) ábrán látható módon egy antennát a plafonra, hogy a gépek azzal be szélgethessenek. Ha azonban a rendszerek elég közel vannak egymáshoz, akkor köz vetlenül egymással is beszélgethetnek mellérendelt (peer-to-peer) elrendezésben. A vezeték nélküli LAN-ok egyre több olyan kis irodában és otthonban vannak jelen, ahol az Ethernet telepítése túl nagy kényelmetlenséget okozna, valamint olyan öreg irodaházakban, vállalati étkezdékben, konferenciatermekben és más helyeken is, ahol a vezetékezés gondot okozna. Létezik egy szabvány a vezeték nélküli hálózatokra, az IEEE 802.11, amely a legtöbb rendszer megvalósításának alapja, s amely nagyon gyorsan terjed. Ezt a 4. fejezetben fogjuk megtárgyalni. A vezeték nélküli hálózatok harmadik fajtáját nagy kiterjedésű rendszerekben használják. A mobiltelefon-hálózathoz kiépített rádiós hálózat egy lehetséges példája a kis sávszélességű vezeték nélküli rendszereknek. Ez a rendszer már a harmadik ge nerációjánál tart. Az első generáció még analóg volt, és csak hangot tudott továbbíta ni. A második generáció már digitális, de szintén csak hangot továbbít. A harmadik generáció digitális, hangot és adatot egyaránt képes továbbítani. A vezeték nélküli mobilhálózat bizonyos értelemben hasonlít egy vezeték nélküli LAN-hoz, attól elte kintve, hogy az áthidalandó távolságok sokkal nagyobbak és az átviteli sebesség sok kal kisebb. A vezeték nélküli LAN-ok akár 50 Mb/s-os sebességgel is képesek né hányszor tíz méteres távolságokat áthidalni. A mobilhálózatok ezzel szemben 1 Mb/s alatti sebességgel üzemelnek, de ezeknél a bázisállomás és a telefon vagy számítógép közötti távolságot sem méterekben, hanem kilométerekben mérik. A 2. fejezetben részletesen is meg fogjuk vizsgálni ezeket a hálózatokat. Az imént említett kis sebességű hálózatok mellett a nagy sebességű vezeték nélküli nagy kiterjedésű hálózatok fejlesztése is megkezdődött. Az első cél az, hogy olyan nagy sebességű vezeték nélküli internetkapcsolatot biztosítsunk a lakásokban és az irodákban, amely megkerüli a telefonrendszert. Ezt a szolgáltatást sokszor helyi több pontos elosztási szolgáltatásnak (local multipoint distribution service) is nevezik, és még lesz róla szó a későbbiekben. Már egy szabványt is kidolgoztak rá, melynek neve IEEE 802.16. Ezt a szabványt a 4. fejezetben fogjuk bemutatni. Szinte minden vezeték nélküli hálózat csatlakozik valahogyan egy vezetékes háló zathoz, hogy így hozzáférést biztosítson adatállományokhoz, adatbázisokhoz, illetve az internethez. Ezt a kapcsolatot sokféle módon lehet létrehozni, a körülményekhez Hordozható számítógép
\ — L \ Számítógépenként egy telefonhívás
^
\ ——^
Repü|ő
y/J
router
^ T ^ ^ ^ \ Vezetékes LAN ^^^_^-
(a) 1.12. ábra. (a) Független hordozható számítógépek, (b) Repülő LAN
(b)
45
BEVEZETÉS
igazodva. Például, az 1.12.(a) ábrán egy olyan repülőgép látható, amelyen az utasok modemeket és fedélzeti telefonokat használva hívhatják fel saját irodájukat. Minden hívás független a többitől. Létezik egy sokkal hatékonyabb megoldás is, az 1.12.(b) ábrán látható repülő LAN. Ennél a megoldásnál minden ülésben van egy beépített Ethernet-aljzat, amire az utasok rádughatják a számítógépüket. A repülőgépen elhe lyezett egyetlen router rádiókapcsolatot tart fenn valamely földi routerrel, váltogatva azokat repülés közben. Ez az elrendezés olyan, mint egy hagyományos LAN, kivéve azt, hogy a külvilág felé a kapcsolatot nem egy rögzített kábel, hanem rádiós össze köttetés biztosítja. Sokak szerint a jövő legjelentősebb területe a vezeték nélküli megoldásoké lesz (pl. Bi és mások, 2001; Leeper, 2001 és Vetter, 2000), de ellenvetések is megfogalma zódtak már. Bob Metcalfe, az Ethernet feltalálója ezt írta: „A mozgó vezeték nélküli számítógépek olyanok, mint a mozgatható csővezeték nélküli fürdőszobák, vagyis a mobil WC-k. Sűrűn lehet majd ilyeneket látni a járműveken, az építkezéseken és a rockkoncerteken. Az én tanácsom az, hogy kábelezze be a lakását és maradjon otthon" (Metcalfe, 1995). Elképzelhető, hogy a történelem ugyanabba a kategóriába fogja be jegyezni ezt a megjegyzést, mint T. J. Watson, az IBM akkori elnöke 1945-ben el hangzott magyarázatát arra, hogy az IBM miért nem veti bele magát a számítógépes üzletbe: „2000-ig négy vagy öt számítógépnek elég kell lennie az egész világnak."
1.2.5.
Otthoni hálózatok
Az otthoni hálózatok ideje lassan elérkezik. Az alapötlet az, hogy a jövőben a legtöbb épület elő lesz készítve az otthoni hálózat számára. A házon belül minden eszköz ké pes lesz bármely másikkal kommunikálni, és mind elérthető lesz az interneten ke resztül is. Ez egyike azoknak a látnoki ötleteknek, amire senki sem vágyott (mint a tvtávirányítók vagy a mobiltelefonok), de miután megérkeztek, már senki sem tudja el képzelni az életet nélkülük. A hálózatba kötésre sok eszközfajta alkalmas. Itt felsorolunk néhányat (példákkal is ellátva) a nyilvánvalóbb kategóriák közül: 1. Számítógépek (asztali PC, noteszgép, PDA, megosztott perifériák). 2. Szórakoztató elektronika (tv, DVD, videó, kézi kamera, fényképezőgép, Hi-Fi, MP3). 3. Távközlési eszközök (telefon, mobiltelefon, házi telefon, fax). 4. Háztartási gépek (mikrohullámú sütő, hűtőszekrény, óra, légkondicionáló, lámpák). 5. Távmérés vagy telemetria eszközei (fogyasztásmérők, tüzet vagy betörést jelző ri asztó, termosztát, babakamera). Az otthoni számítógép-hálózatok korlátozottan már manapság is jelen vannak. Sok
46
SZÁMÍTÓGÉP-HÁLÓZATOK
otthonban van olyan eszköz, ami több számítógépnek biztosít összeköttetést egy gyors internetkapcsolat felé. A szórakoztató elektronika hálózatba kötése még nem igazán valósult meg, de ahogyan egyre több és több zeneszám és film tölthető le az internet ről, előbb-utóbb arra is lesz igény, hogy a Hi-Fi-nk és a tévénk is rákapcsolódjon a hálózatra. Természetesen, majd a saját videofelvételeinket is meg akarjuk osztani a családunkkal, így a kapcsolatoknak kétirányúaknak kell lenniük. A telekommunikáci ós eszközök már ma is összeköttetésben vannak a külvilággal, de nemsokára mind ezek digitálisak lesznek, és az interneten keresztül fognak működni. Egy átlagos ház tartásban egy tucat óra van (pl. a háztartási gépekben), amiket évente kétszer át kell állítani a téli és a nyári időszámítás közötti váltások alkalmával. Ha minden óra csat lakozna az internetre, ez az átállítás automatikus is lehetne. Végül, a legvalószínűbb nyertes az otthonunk távfelügyelete. Valószínűleg sok szülő hajlandó lenne pénzt ál dozni arra, hogy láthassa alvó gyermekét a PDA-ján még akkor is, ha valaki vigyáz rá, Elképzelhető lenne minden alkalmazási területre külön hálózatot létesíteni, de egyet len hálózatba integrálni ezeket valószínűleg jobb ötlet. Az otthoni hálózatok néhány dologban alapvetően különböznek a többi hálózattí pustól. Először is, a hálózat és az eszközök telepítésének egyszerűnek kell lennie. Én az évek során már különféle hardver- és szoftverelemeket telepítettem sokféle számí tógépre és az eredmények elég vegyesek voltak. Egy sor telefonbeszélgetés az eladó ügyfélszolgálatával olyan válaszokat adott, mint (1) Olvassa el a kézikönyvet; (2) In dítsa újra a számítógépet; (3) Vegyen ki minden hardvert és távolítson el minden szoftvert, kivéve a miénket; (4) Töltse le a legújabb meghajtóprogramokat a webhelyünkről; és ha már semmi más nem segít (5) Formázza újra a merevlemezt, és telepít se újra a Windowst a CD-ROM-ról. Ha azt mondják az internetes hűtő vásárlójának, hogy töltse le és telepítse fel a hűtőgép operációs rendszerének egy újabb változatát, a vásárló nem lesz nagyon boldog. A számítógép-használók már hozzászoktak, hogy olyan termékeket vesznek, amik nem működnek; de az autó-, tv- és hűtőgépvásárló átlagember sokkal kevésbé elnéző. Azt várja el, hogy a termék 100%-osan működjön a bekapcsolás pillanatától kezdve. Másodszor, a hálózatoknak és az eszközöknek bolondbiztosan kell működniük. A légkondicionálóknak régebben csak egy négyállású (ki, kis, közepes és nagy teljesít mény) kapcsológombjuk volt. Manapság 30 oldalas kézikönyvük van. Ha majd egy szer hálózatba kötjük őket, várhatóan a biztonságról szóló rész egyedül is kitesz 30 oldalt. Ez már lényegében minden felhasználó számára érthetetlen lesz. Harmadszor, az alacsony ár is nagyon fontos a sikerhez. Nem fogunk 50 dollárral többet fizetni egy internetes termosztátért, mivel kevesen gondoljuk úgy, hogy az ott honunk hőmérsékletének az irodából való nyomon követése ennyire fontos lenne. A szokásosnál 5 dollárral többért viszont már lehet, hogy megvennénk. Negyedszer, a legfontosabb alkalmazások valószínűleg tartalmaznak multimédiás elemeket, tehát a hálózatnak ehhez elegendő kapacitással kell rendelkeznie. Nincs piaca az olyan internetre kötött tv-knek, amelyek 10 vibráló, 320 x 240 képpontos felbontá sú képkockát jelenítenek meg másodpercenként. A gyors Ethernet, amely a legtöbb iroda igáslova, nem elég jó a multimédiához. Ennek folyományaként az otthoni háló zatoknak jobb képességekkel és alacsonyabb árral kell rendelkezniük, mint amilye nekkel a ma létező irodai hálózatok bírnak ahhoz, hogy tömegesen elterjedhessenek.
47
BEVEZETÉS
Ötödször, lehetségesnek kell lennie, hogy egy vagy két eszközzel kezdjük el fel építeni a hálózatot, és utána apránként fejlesszük tovább. Ez azt jelenti, hogy nem le het háborúzni a formátumokkal kapcsolatban. Ha azt mondjuk a vásárlóknak, hogy vegyenek IEEE 1394 (FireWire, „tüzes kábel") interfésszel rendelkező perifériákat, és egy pár évvel később visszavonva ezt, azt mondjuk, hogy most az USB 2.0 a hónap interfésze, az valószínűleg megrémíti őket. A hálózati interfészeknek évekig válto zatlannak kell maradniuk; a kábelezésnek (ha lesz) pedig akár évtizedekig is. Hatodszor, a biztonság és a megbízhatóság nagyon fontos lesz. Egy dolog elvesz teni néhány állományt egy e-levél vírus miatt, de ha egy rabló hatástalanítani tudja a riasztónkat a saját PDA-jával, és utána kirabolja a házunkat, az egy egészen más dolog. Érdekes kérdés, hogy az otthoni hálózatok vezetékesek vagy vezeték nélküliek lesznek-e. A legtöbb otthonban már ma is hat hálózat van telepítve: az elektromos, a telefon-, a kábeltévé-, a víz-, a gáz- és a csatornahálózat. Az új házakba egy hetediket is beépíteni nem nehéz, de egy már felépült, kész házba, igen költséges. Költségek szempontjából a vezeték nélküli hálózatok az előnyösebbek, biztonság szempontjából viszont a vezetékes hálózatok. A baj a vezeték nélküli rendszerekkel az, hogy az átvi telhez használt rádióhullámok elég könnyen mennek át az akadályokon. Nem minden embert boldogít az a gondolat, hogy a szomszédok is rajta ülnek az internetkapcsola tán, és elolvassák az e-leveleit, amikor a levelek úton vannak a nyomtató felé. A 8. fe jezetben fogjuk tanulmányozni, hogy miként használhatjuk a titkosítást a biztonság érdekében, de egy otthoni hálózatban a biztonságnak bolondbiztosnak kell lennie, még egy tapasztalatlan felhasználó felügyelete alatt is. Ezt persze könnyebb mondani, mint véghezvinni, még nagyon jól képzett felhasználóknál is. Röviden szólva, az otthoni hálózatok használata sok lehetőséget és kihívást kínál. Ezek arra az igényre vonatkoznak, hogy az otthoni hálózatoknak könnyen kezelhető nek, megbízhatónak és biztonságosnak kell lenniük, általában műszakilag képzetlen felhasználók kezeiben, miközben nagy teljesítményt nyújtanak alacsony áron.
1.2.6.
Összekapcsolt hálózatok
A világon számos hálózat létezik, és ezek hardvere, valamint szoftvere sok esetben eltér egymástól. Azok a felhasználók, akik egy adott hálózathoz kapcsolódnak, gyak ran szeretnének más hálózatokhoz kapcsolódó felhasználókkal is kommunikálni. Ez az igény váltotta ki a különböző, egymással sokszor nem kompatibilis hálózatok öszszekapcsolását, amit általában egy átjárónak (gateway) nevezett számítógép segítsé gével valósítanak meg. Az átjáró feladata az, hogy két hálózat között biztosítsa az át járhatóságot mind hardver, mind szoftver szempontjából. Az ily módon összekapcsolt hálózatokat együttesen internetworknek vagy röviden internetnek hívjuk. Sok esetben az internet nem más, mint LAN-ok összessége, amelyeket egy WAN köt össze. Tulajdonképpen, ha az 1.9. ábrán kicserélnénk az „alhálózat" feliratot „WAN"-ra, semmi másnak nem kellene változnia az ábrán. Az egyetlen tényleges műszaki különbségtétel egy alhálózat és egy WAN között ebben az esetben az alapján lehetséges, hogy a hálózat tartalmaz-e hosztokat. Ha a szürke területen található rend szer csak routerekből áll, akkor az egy alhálózat, ha pedig routerek és hosztok egy-
48
SZÁMÍTÓGÉP-HÁLÓZATOK
aránt eló'fordulnak benne, akkor egy WAN. Az igazi különbségek azonban a tulaj donlásban és a használatban vannak. Az alhálózatot, a hálózatot és az összekapcsolt hálózatot (internetwork) gyakran összekeverik. Az alhálózat a nagy kiterjedésű hálózatok esetén a routerek és az átviteli vonalak együttesét jelenti. Az alhálózat a hálózat üzemeltetőjének a tulajdonát képezi. Ilyen üzemeltető például az America Online vagy a CompuServe. A számítógép-háló zatokhoz hasonlóan, a telefonhálózatban is vannak nagy sebességű vonalak, amelyek a telefonközpontokat kötik össze, és vannak kis sebességű vonalak, amelyekre a laká sok és a cégek vannak rákötve. Ezek a vonalak és központok a telefontársaság tulajdo nát képezik, és az felügyeli a működésüket. A telefonhálózatban az átviteli vonalak és a telefonközpontok alkotják az alhálózatot. A telefonkészülékek, akárcsak a hosztok, nem képezik részét az alhálózatnak. Az alhálózat és a hosztok együttesen hálózatot al kotnak. LAN-ok esetén a kábel és a hosztok alkotják a hálózatot, így ezekben egyálta lán nincs alhálózat. Egy internet különálló hálózatok összekapcsolásával keletkezik. A mi nézőpon tunkból egy LAN és egy WAN, vagy két LAN összekötése internetet alkot, de ezen a területen kevés egyetértés tapasztalható a szóhasználatban. Egy lehetséges ökölsza bály az, hogy ha különálló szervezetek fizettek a hálózat különböző részeinek meg építéséért, és külön-külön tartják karban a saját részüket, akkor internetről van szó, nem pedig egyetlen hálózatról. Abban az esetben is valószínűleg két külön hálózattal van dolgunk, ha a két rész különböző átviteli technológián alapul (pl. adatszórás vagy kétpontos összeköttetés).
1.3.
Hálózati szoftver
Az első számítógép-hálózatoknál a legfőbb tervezési szempont a hardver volt, és csak azután jött a szoftver. Ez a módszer ma már nem működik. A hálózati szoftverek nagymértékben strukturálódtak. A következő alfejezetekben a szoftverek strukturálási módját fogjuk részletesen megvizsgálni. Az itt leírt módszer kulcsfontosságú a könyv további részei szempontjából, és többször is vissza fogunk még térni rá.
1.3.1.
Protokollhierarchiák
A tervezés bonyolultságának csökkentése érdekében, a legtöbb hálózatot úgy alakítják ki, hogy azok egymásra épülő rétegeket vagy szinteket (layer, levél) képezzenek. A rétegek száma, elnevezése, tartalma és feladata más és más a különböző hálózatokban. Minden réteg célja az, hogy bizonyos szolgálatokat (service) nyújtson a felette elhe lyezkedő rétegeknek, miközben elrejti előlük a szolgálatok tényleges megvalósításá nak részleteit. Egy lehetséges értelmezés szerint minden réteg egy olyan virtuális gép, amely a felette levő rétegek számára szolgáltatásokat nyújt. Ez tulajdonképpen ismerős koncepció, amely a számítástechnika minden területén használatos. Hívják információelrejtésnek (information hiding), absztrakt adattípusok
49
BEVEZETÉS
használatának, adatbeágyazódásnak (data encapsulation) és objektumorientált prog ramozásnak (object-oriented programming, OOP) is. Az alapötlet az, hogy egy meg határozott szoftver- (vagy hardver-) elem szolgáltatást nyújt a felhasználóinak, de a belső állapotára és az algoritmusaira vonatkozó információt elrejtve tartja előlük. Az egyik gép n-edik rétege párbeszédet folytat egy másik gép rc-edik rétegével. A párbeszéd írott és íratlan szabályait együttesen az «-edik réteg protokolljának (protocol) nevezzük. A protokoll lényegében olyan megállapodás, amely az egymással kom munikáló felek közötti párbeszéd szabályait rögzíti. Egy analóg példával élve, amikor egy nőt bemutatnak egy férfinak, akkor a nőn múlik, hogy kinyújtja-e a kezét, a férfi pedig eldöntheti, hogy kezet fog vele, vagy pedig kezet csókol neki. Hogy mi történik, az attól függ, hogy a hölgy egy üzleti tárgyaláson részt vevő amerikai ügyvédnő vagy egy bálon megjelenő európai hercegnő. A protokoll megsértése nagyban megnehezíte né, sőt akár lehetetlenné is tenné a kommunikációt. Az 1.13. ábrán egy ötrétegű hálózatot láthatunk. Azokat az entitásokat, amelyeket a különböző gépek azonos rétegei tartalmaznak, társentitásoknak (peers) nevezzük. Más szóval a társentitások azok az entitások, amelyek a protokoll segítségével kom munikálnak egymással. A valóságban az egyik gép n-edik rétegéből az adatok nem közvetlenül jutnak át egy másik gép n-edik rétegébe, hanem valamilyen vezérlő információval kiegészítve mindegyik réteg közvetlenül az alatta levőnek továbbítja az adatokat egészen addig, amíg azok a legalsó rétegig el nem jutnak. Az első réteg alatt a fizikai közeg (physical médium) található, amelyen a valódi kommunikáció zajlik. Az 1.13. ábrán a virtu ális kommunikációt szaggatott vonalakkal, a fizikai kommunikációt pedig folytonos vonalakkal jelöltük. Az egymással szomszédos rétegek között interfész (interface) található. Az interLhoszt 5. réteg
. , „. 5. réteg protokollja
2.hoszt 5. réteg
4/5 interfész { 4. réteg
•
4. réteg protokollja
3/4 interfész I 3. réteg
3. réteg protokollja
4. réteg ! 3. réteg
2/3 interfész I •
2. réteg
2. réteg protokollja
2. réteg
1/2 interfész I 1. réteg
1. réteg protokollja
Fizikai közeg
1.13. ábra. Rétegek, protokollok és interfészek
1. réteg
50
SZÁMÍTÓGÉP-HÁLÓZATOK
fész azt definiálja, hogy az alacsonyabban levő réteg milyen elemi műveleteket és szolgálatokat nyújt a magasabban levő réteg számára. Amikor a hálózattervezők el döntik, hogy hány réteget tartalmazzon egy hálózat, és hogy mi legyen az egyes réte gek feladata, akkor a legfontosabb szempont az, hogy a rétegek közötti interfész minél világosabb legyen. Ehhez persze az szükséges, hogy minden réteg jól definiált felada tokkal rendelkezzen. Azonkívül, hogy a rétegek közötti információcserét minimalizálják, a jól meghatá rozott interfészek azt is könnyebbé teszik, hogy valamelyik réteg tényleges megvaló sítását lecseréljük egy teljesen újra, mivel mindössze annyit várunk el az új megvaló sítástól, hogy pontosan ugyanazokat a szolgáltatásokat nyújtsa a felette levő rétegnek, mint a korábbi megvalósítás. A valóságban ténylegesen is gyakori, hogy a különböző hosztok különböző megvalósításokat használnak. A rétegek és protokollok halmazát hálózati architektúrának (network architecture) nevezzük. Az architektúra specifikációjának elegendő információt kell tartal maznia ahhoz, hogy az implementálást végző szakember minden réteghez meg tudja írni a programot, illetve meg tudja építeni a hardvert úgy, hogy az helyesen alkalmaz za a megfelelő protokollt. Az implementáció részletei és az interfészek specifikációja nem része az architektúrának, mivel ezek a gép belsejében rejtve maradnak, tehát kí vülről nem láthatók. Az sem szükséges, hogy a hálózat összes gépén ugyanazok az in terfészek legyenek, feltéve, hogy az összes gép helyesen használja a protokollokat. Ha egy adott rendszerben minden réteg egyetlen protokollal rendelkezik, akkor a rendszer protokolljainak összességét protokollkészletnek (protocol stack) nevezzük. A háló zati architektúrák, a protokollkészletek és maguk a protokollok alkotják a könyv leglé nyegesebb témáit. A következő analógia talán segít a többréteges kommunikáció elvének megértésé ben. Képzeljünk el két filozófust (ők a 3. réteg társfolyamatai), akik közül az egyik ur du nyelven és angolul beszél, a másik pedig kínaiul és franciául. Mivel nincs közös nyelvük, ezért mindkettőjük egy-egy tolmácsot alkalmaz (ők a 2. réteg társfolyama tai). Mindkét tolmácsnak van egy titkárnője (ők az 1. réteg társfolyamatai). Az l-es fi lozófus az oryctolagus cuniculus iránti ragaszkodását szeretné kifejezni a társának. Ahhoz, hogy ezt megtehesse, elküld egy üzenetet (angolul) a 2/3 interfészen keresztül a tolmácsának, ahogy ez az 1.14. ábrán is látható. Az üzenet tartalma a következő: „Szeretem a nyulakat." A tolmácsok megegyeztek egy semleges nyelvben, a holland ban, így tehát az üzenet a következőképpen hangzik: „Ik hou van konijnen." A nyelv megválasztása a 2. réteg protokolljának a feladata, és kizárólag ennek a rétegnek a társfolyamataitól függ. A tolmács ezek után átadja az üzenetet a titkárnőnek, hogy to vábbítsa azt, mondjuk, faxon (1. réteg protokollja). Amikor a másik félhez megérke zik az üzenet, akkor azt lefordítják franciára, majd pedig tovább kerül a 2/3 interfé szen keresztül a 2-es filozófushoz. Vegyük észre, hogy az egyes protokollok teljesen függetlenek egymástól, amennyiben az interfészek nem változnak. A tolmács holland ról átválthat mondjuk finnre, ha akar, feltéve, hogy megegyeztek benne, és egyikük sem változtatja meg az interfészt az 1. vagy a 3. réteg felé. Hasonlóképpen, a titkárnők fax helyett e-levelet vagy telefont is használhatnak anélkül, hogy megzavarnák (sőt anélkül, hogy egyáltalán tájékoztatnák) a többi réteget. További információkat mind-
51
BEVEZETÉS
Bhely
A hely Ilike rabbits
L: Holland Ik hou van konijnen
Fax #— : Holland Ik hou van konijnen
Üzenet
Filozófus
Információ a távoli tolmács számára
Tolmács
Információ a távoli titkárnő számára
Titkárnő
1.14. ábra. A filozófusból, tolmácsból és titkárnőből álló architektúra egyik folyamat csak a saját társfolyamatának küldhet. Ezek az információk már nem jutnak el az eggyel magasabb réteghez. Nézzünk meg most egy sokkal inkább műszaki jellegű példát. A kérdés az, hogy hogyan tegyük lehetővé a kommunikációt az 1.15. ábrán látható ötrétegű hálózat leg felső rétege számára. Az 5. rétegben egy alkalmazói folyamat létrehoz egy üzenetet (jelöljük ezt M-mel), majd átadja a 4. rétegnek, hogy továbbítsa azt. A 4. réteg az üze net azonosítása céljából egy fejrészt (header) illeszt az üzenet elejére, és továbbadja a 3. rétegnek. A fejrészvezérlő információkat tartalmaz, ami lehet például az üzenet sor száma is. Ha az alacsonyabb rétegek nem foglalkoznak az üzenetek sorrendben törté nő továbbításával, akkor a sorszámozás lehetőséget biztosít arra, hogy a 4. réteg mégis a helyes sorrendben kaphassa meg az üzeneteket. Egyes rétegeknél a fejrészben méret, idő és más vezérlési információk is megtalálhatók. A 4. réteg által elküldött üzenetek mérete sok hálózatban tetszőlegesen nagy lehet, ugyanakkor a 3. réteg protokollja szinte minden hálózatban meghatároz egy maximá lis üzenethosszt. Következésképpen a 3. rétegnek kisebb egységekre, csomagokra kell bontania a felülről hozzá érkező üzeneteket, és minden csomagot ki kell egészítenie egy fejrésszel. Példánkban az M üzenetet két részre osztottuk: M,-re és M2-re.
52
SZÁMÍTÓGÉP-HÁLÓZATOK
A 3. réteg kiválasztja a megfelelő kimeneti vonalat, majd továbbadja a csomagot a 2. rétegnek. A 2. réteg nem csak fejrészt, hanem egy farokrészt is hozzácsatol a csomag hoz, és az így kapott egységet adja át az 1. rétegnek a fizikai továbbítás céljából. A vevő oldalon az üzenet rétegről rétegre felfelé halad, miközben a fejrészek leválnak róla. Az n-edik réteg alatti rétegek fejrészei sosem juthatnak el az n-edik rétegig. Az 1.15. ábrán látható rajz kapcsán a legfontosabb az, hogy megértsük a különbsé get a virtuális és a valódi kommunikáció, illetve a protokoll és az interfész között. Pél dául a 4. réteg társfolyamatai a saját kommunikációjukat következetesen „horizontá lisnak" tekintik, hiszen a 4. réteg protokollját használják. Valószínűleg mindkét folya matnak van egy KüldésATúloldalra és egy VételATúlo Idáiról nevű eljárása még akkor is, ha valójában nem közvetlenül egymással, hanem a 3/4 interfészen keresztül az al sóbb rétegekkel kommunikálnak. A társfolyamat-absztrakció alapvetően fontos a hálózat tervezéséhez. Ez teszi ugyanis lehetővé, hogy a teljes hálózat megtervezésének átláthatatlanul bonyolult fel adatát több kisebb, jól kezelhető tervezési feladatra osszuk, azaz, hogy az egyes réte geket kűíön-küíön tervezhessük meg. Bár az 1.3. alfejezet címe „Hálózati szoftver", érdemes megjegyezni, hogy a proto koll hierarchia alacsonyabb szintjeit gyakran hardvereszközökkel vagy firmware-rel valósítják meg. Még bonyolult algoritmusokat is implementálnak hardverben. Réteg 5. réteg protokollja
5
M
•
> 4. réteg protokollja
3
Hz H( MfJ
H4
M
3. réteg protokollja
H 3 j Mz
1
2 Ha H3 H 4 MT T 2
Forrásgép
H 2 H 3 M 2 T2
Célgép
H: fejrész (header); M: üzenet (message);T: farokrész (tailer) 1.15. ábra. Példa az 5. réteg virtuális kommunikációját megvalósító információáramlásra
53
BEVEZETÉS
1.3.2.
A rétegek tervezési kérdései
A számítógép-hálózatok tervezésének legfontosabb kérdéseivel több réteg is foglal kozik. Az alábbiakban a legfontosabbak közül emelünk ki néhányat. Minden rétegben kell lennie egy olyan mechanizmusnak, amely egy üzenet küldő jét és vevőjét azonosítja. Mivel a hálózatokban általában sok számítógép van össze kötve, és a számítógépek között akad olyan is, amelyiken egyszerre több folyamat fut, ezért a folyamatoknak minden gépen szükségük van egy olyan eszközre, amely meg mondja nekik, hogy kivel akarnak párbeszédet folytatni. Miután több célállomás is szóba jöhet, szükség van valamilyen címzésre annak érdekében, hogy meghatározzuk a célállomást. A tervezési döntések egy másik csoportja az adattovábbítás szabályaival kapcsola tos. Egyes rendszerekben az adatok csak egy irányban utaznak, míg másokban az adatok mindkét irányba mehetnek. A protokollnak arról is rendelkeznie kell, hogy mennyi logikai csatornának felel meg egy kapcsolat, és hogy azoknak mi a prioritása. Sok hálózat biztosít legalább két logikai csatornát kapcsolatonként, egyet a normális adatoknak és egyet a sürgőseknek. A hibavédelem szintén fontos kérdés, ugyanis a fizikai átvitelt megvalósító áram körök nem tökéletesek. Számos hibajelző és hibajavító kódolás létezik, de a két oldal nak meg kell egyeznie abban, hogy ezek közül melyiket használja. Ezenkívül a vevő nek azt is meg kell tudnia mondani az üzenetek küldőinek, hogy melyik üzenetet kap ta meg jól, és melyiket hibásan. Nem minden kommunikációs csatorna tartja meg a rajtuk elküldött üzenetek erede ti sorrendjét. Tekintettel arra, hogy az üzenetek sorrendje megváltozhat, a protokoll nak külön gondoskodnia kell arról, hogy a vevőnek legyen lehetősége az üzenetek he lyes sorrendbe történő visszarendezésére. Az egyik magától értetődő megoldás az, hogy az üzeneteket sorszámmal látjuk el. Kérdés az is, hogy az egyes szinteken hogyan akadályozzuk meg azt, hogy a gyor sabban adó gépek elárasszák adatokkal a lassabban vevőket. Ennek elkerülésére kü lönböző módszereket dolgoztak ki, amikről később lesz szó. Egy részük a vevő és az adó közötti visszacsatoláson alapul, ami a vevő állapotától függően lehet közvetett vagy közvetlen. Más módszerek lényege az, hogy valamilyen megállapodás alapján korlátozzák az adó átviteli sebességét. Ezeket a módszereket összefoglalóan forga lomszabályozásnak (flow control) nevezzük. Sok szinten további megoldandó problémát jelent az, hogy nem minden folyamat képes tetszőlegesen hosszú üzeneteket fogadni. Ez a tény olyan mechanizmusokat tett szükségessé, amelyek szétdarabolják, továbbítják, majd újra összerakják az üzenete ket. Idetartozik az a kérdés is, hogy mit lehet tenni abban az esetben, amikor egy fo lyamat olyan kisméretű adategységek egyenkénti továbbításához ragaszkodik, ame lyek mellett az átvitel egyáltalán nem lenne hatékony. Erre egy lehetséges megoldás az, hogy összegyűjtjük a sok kis üzenetet, és egy nagyméretű üzenet formájában küld jük el őket a közös célállomásnak, majd a vonal másik végén szétszedjük a hosszú üzenetet. Ha kényelmetlen vagy drága minden párbeszédet folytató folyamatpár számára külön összeköttetést létrehozni, akkor az alacsonyabb rétegek ugyanazt az összekötte-
54
SZÁMÍTÓGÉP-HÁLÓZATOK
tést több, egymástól független párbeszéd lebonyolításához is felhasználhatják. Amenynyiben a multiplexelés és a demultiplexelés transzparens módon megoldható, akkor bármelyik réteg használhatja azt. A fizikai rétegben például szükség is van multi plexelésre, mivel ott az összeköttetések teljes forgalma legfeljebb néhány fizikai vo nalon bonyolódik le. Amikor egy forrásállomás és egy célállomás között több lehetséges útvonal is léte zik, akkor valahogyan ki kell választani az egyiket. Az útvonal kiválasztását általában két vagy több réteg végzi. Ha például Londonból Rómába akarunk adatokat küldeni, akkor az államérdektől függően egy magasabb szintű döntésre van szükség ahhoz, hogy az adatok Németországon vagy Franciaországon keresztül menjenek-e, illetve egy alacsonyabb szintű döntésnek pedig azt kell megmondania, hogy az aktuális for galom intenzitása mellett melyik lehetséges útvonalon továbbítódjanak az adatok. Ezekkel a döntésekkel a forgalomirányítás (routing) foglalkozik.
1.3.3.
Összeköttetés alapú és összeköttetés nélküli szolgálatok1
A rétegek két különböző szolgálatot nyújthatnak a felettük levő rétegek számára: öszszeköttetés alapú és összeköttetés nélküli szolgálatot. Ebben a bekezdésben ezt a két szolgálattípust vizsgáljuk meg, és ismertetjük a kettő közötti különbségeket is. Az összeköttetés alapú szolgálat (connection-oriented service) a távbeszélőrend szerrel modellezhető. Ahhoz, hogy valakivel beszélni tudjunk, fel kell emelnünk a te lefonkagylót, tárcsázni kell a számot, ezután beszélgethetünk, majd végül le kell ten nünk a telefont. Hasonló módon, egy összeköttetés alapú hálózati szolgálat igénybevé teléhez a szolgálatot igénybe vevő felhasználó először létrehozza az összeköttetést, majd felhasználja, végül pedig lebontja azt. Az összeköttetés lényege az, hogy úgy működik, mint egy cső: az adó a cső egyik végén belerakja a dolgokat (biteket), a ve vő pedig a másik végén ugyanabban a sorrendben kiveszi azokat. A legtöbb esetben a bitek sorrendje megmarad, vagyis ugyanabban a sorrendben érkeznek meg, mint aho gyan elküldték őket. Egyes esetekben a kapcsolat létesítését követően a küldő fél, a fogadó fél és az al hálózat egyezkedésbe (negotiation) kezdenek az olyan használandó paraméterekkel kapcsolatban, mint például az üzenetek maximális hossza, a kívánt szolgáltatásminő ség és más hasonló kérdések. Általában valamelyik fél javasol valamit, amit a másik fél elfogadhat vagy elutasíthat, illetve ellenjavaslatot is tehet. Ezzel szemben az összeköttetés nélküli szolgálat (connectionless service) a levél továbbító postai rendszerrel modellezhető. Minden egyes üzenet (levél) rendelkezik egy teljes célcímmel, és minden üzenet az összes többitől független útvonalon továb bítódik. Ha két üzenetet küldünk ugyanarra a címre, akkor általában az ér oda előbb, amelyiket előbb küldtük el. Persze az is lehetséges, hogy az elsőnek elküldött üzenet annyit késik, hogy a második ér oda előbb. Minden szolgálat jellemezhető egy szolgálati minőséggel (quality of service). VanA lektor megjegyzése: Az angol service szónak a magyar nyelvben számítógépes és kommunikációs környezetben mind a szolgálat, mind a szolgáltatás megfelelője használatos.
BEVEZETÉS
55
nak megbízható szolgálatok, amelyek sosem vesztenek el adatot. Egy megbízható szolgálatot rendszerint úgy valósítanak meg, hogy a vevó'nek minden megkapott üze netet nyugtáznia kell, így a küldó' biztos lehet abban, hogy az üzenet megérkezett. A nyugtázási folyamat pluszidőt és késleltetést jelent, ami legtöbbször megéri, de persze van, amikor nemkívánatos. A megbízható összeköttetés alapú szolgálat egyik tipikus alkalmazása a fájlátvitel (filé transfer). A fájl tulajdonosa biztos szeretne lenni abban, hogy az összes bit rend ben megérkezik, és ráadásul ugyanabban a sorrendben, ahogy elküldte. Kevés olyan felhasználó van, aki fájlátvitelnél olyan szolgálatot részesítene előnyben, amelyik időnként összekever vagy elveszt néhány bitet. Még akkor sem vennének igénybe olyat, ha az sokkal gyorsabb lenne. A megbízható összeköttetés alapú szolgálatoknak két altípusa van: az üzenetsoro zat és a bájtfolyam. Az első esetben megmaradnak az üzenethatárok. Ha elküldünk két 1 KB-os üzenetet, akkor azok mindig két különálló 1 KB-os üzenet formájában érkez nek meg, és sohasem egy 2 KB-os üzenetként.2 A második esetben viszont az össze köttetés egyszerűen csak egy bájtfolyam, és nincsenek üzenethatárok. Ha egy 2 KB-os üzenet érkezik a vevőhöz, akkor sehogy sem tudja megállapítani, hogy azt két 1 KBos üzenet, egy 2 KB-os üzenet vagy 2048 egybájtos üzenet formájában küldték-e el. Ha egy könyv oldalait a hálózaton egyenként, külön üzenetek formájában küldjük el egy fényszedő gépre, akkor fontos, hogy megmaradjanak az üzenethatárok. Amikor viszont egy terminálról távoli bejelentkezést hajtunk végre egy időosztásos rendszer be, akkor csak arra van szükségünk, hogy a terminálunkról a számítógépbe jusson egy bájtfolyam, az üzenethatároknak nincs jelentősége. Mint korábban már említettük, bizonyos alkalmazások esetén a nyugtázásból adó dó késleltetés elfogadhatatlan. Ilyen alkalmazás például a digitalizált hangok átvitele. A telefonon beszélgetők számára sokkal inkább elfogadható az, hogy egy kis zajt hall janak a vonalon, vagy néha egy-egy szónak csak egy töredékét hallják, mint az, hogy a nyugtázások miatt késleltetés jelenjen meg a vonalon. Egy másik jó példa erre az, ami kor videofilmet továbbítunk. Ilyenkor néhány hibás pixel nem jelent problémát, viszont annál idegesítőbb, amikor a film a képhibák kijavítása miatt folyton megakad. Nem minden kapcsolat igényel összeköttetést. Például az elektronikus levelezés elterjedése vajon háttérbe szorítja-e a sok elektronikus kacatlevelet (junk mail)? Az elektronikus kacatleveleket küldő felhasználók valószínűleg nem akarnak azzal küsz ködni, hogy minden egyes levél elküldésekor felépítsenek, majd lebontsanak egy öszszeköttetést. Még csak a 100%-os kézbesítési arány sem fontos, különösen akkor nem, ha még drágább is. Csak arra van szükség, hogy egy olyan lehetőség nyíljon az üze netek elküldésére, ami nagy valószínűséggel célba juttatja azokat, de erre garanciát nem vállal. A nem megbízható (tehát nem nyugtázott) összeköttetés nélküli szolgála tot gyakran datagram szolgálatnak (datagram service) is hívják a távirat analógiá jára, amelynél szintén nem lehet nyugtát küldeni a feladónak. Vannak olyan esetek, amikor kényelmesebb az, ha nem létesítünk összeköttetést egy rövidebb üzenet továbbításához, de a megbízhatóság alapvető fontosságú. Ezekben az esetekben nyugtázott datagram szolgálatot (acknowledged datagram service) 2
A fordító megjegyzése: A KB kilobájtot jelent, a kb pedig kilóbitet.
56
SZÁMÍTÓGÉP-HÁLÓZATOK
Szolgálat Összeköttetés alapú
Összeköttetés nélküli
<
Példa
Megbízható üzenetfolyam
Könyvlapok sorozata
Megbízható bájtfolyam
Távoli bejelentkezés
Megbízhatatlan összeköttetés
Digitalizált hang
Megbízhatatlan datagram
Elektronikus kacatlevelezés
Nyugtázott datagram
Tértivevényes levélküldés
Kérés-válasz
Adatbázis-lekérdezés
1.16. ábra. Hat különbözőtípusúszolgálat érdemes igénybe venni, ami olyan, mint a tértivevényes levélkézbesítés. Amikor a fel adó megkapja a tértivevényt, akkor teljesen biztos lehet abban, hogy a levelet kikézbe sítették a címzettnek, és nem veszett el útközben. Egy újabb szolgálat a kérés-válasz szolgálat (request-reply service). Ennél a szol gálatnál az adó datagram formájában elküld egy kérést, amire érkezik a válasz. Ebbe a kategóriába tartozik például az, amikor a helyi könyvtár adatbázisából lekérdezzük azt, hogy hol beszélik az uighur nyelvet. A kérés-válasz szolgálatot általában a kliens szerver modellben használják: a kliens kér valamit, a szerver pedig válaszol a kérésre. Az eddig tárgyalt szolgálattípusokat az 1.16. ábrán látható táblázatban foglaltuk össze. Az a tény, hogy megbízhatatlan kommunikációt használunk, elsőre nagyon zavaró nak tűnhet. Tulajdonképpen miért is részesítené bárki a megbízható kommunikációval szemben a megbízhatatlan kommunikációt eló'nyben? Eló'ször is (a mi értelmezésünk szerinti) megbízható (vagyis nyugtázott) kommunikáció nem is megvalósítható. Pél dául, az Ethernet nem biztosít megbízható kommunikációt. A csomagok néha megsé rülhetnek a továbbítás során. Ennek a problémának a megoldása a magasabb szintű protokollok feladatkörébe tartozik. Másodszor, a megbízható szolgáltatással szükség szerűen együtt járó nagyobb késleltetések elfogadhatatlanok lehetnek, különösen az olyan valós idejű alkalmazásokban, mint például a multimédia. Mindezen okok indo kolják mind a megbízható, mind a megbízhatatlan kommunikáció együttélését, létezését.
1.3.4.
Szolgálatprimitívek
Egy szolgálatot formálisan a primitívnek (primitives) vagy elemi műveletek (operations) olyan halmazával adhatunk meg, amelyek az azt igénybevevő folyamat számára rendelkezésre állnak a szolgálat eléréséhez. A primitívekkel egy művelet elvégzésére lehet utasítást adni egy szolgáltatónak, vagy beszámolót lehet kérni egy társentítás te vékenységéről. Amennyiben a protokollkészlet az operációs rendszerben található (ez gyakran van így), a primitívek általában rendszerhívások. Ezek a hívások rendszermódba (kernel mode) kényszerítik a számítógépet, vagyis az operációs rendszernek adják át a gép feletti irányítást, amely így el tudja küldeni a szükséges csomagokat. A szolgálat természete meghatározza a rendelkezésre álló primitívek készletét. Egy
57
BEVEZETÉS
Jelentés
Primitív LISTEN
Blokkolt várakozás bejövő kapcsolatfelvételre
CONNECT
Összeköttetés létrehozása egy várakozó társentitással
RECEIVE
Blokkolt várakozás bejövő üzenetre
SEND
Üzenet küldése a társentitásnak
DISCONNECT
Összeköttetés bontása
1.17. ábra. Öt szolgálatprimitív egy egyszerű összeköttetés alapú szolgálat megvalósításához
összeköttetés alapú szolgálatnak más primitívjei vannak, mint egy összeköttetés nél külinek. Az 1.17. ábrán szolgálatprimitívek egy olyan legkisebb készlete látható, amely már alkalmas lehet megbízható bájtfolyam megvalósítására kliens-szerver kör nyezetben. A fenti primitívek használata a következőképpen lehetséges. Először a szerver vég rehajt egy LISTEN primitívet, amellyel azt jelzi, hogy felkészült a bejövő összekötte tések fogadására. A LISTEN-t gyakran egy blokkoló hatású rendszerhívással valósít ják meg. Miután a primitívet végrehajtotta, a szerverfolyamat addig nem léphet to vább, amíg az összeköttetés létesítésére kérés nem érkezik. Ezt követően a kliensfolyamat egy CONNECT primitívet hajt végre, hogy össze köttetést építsen ki a szerver felé. A CONNECT hívásban meg kell jelölni, hogy kihez akarunk kapcsolódni, ezért általában egy paraméterben szerepel a szerver címe is. Az operációs rendszer ilyenkor általában egy csomagot küld el a társentitásnak, amellyel az összeköttetés-létesítési kérést jelzi, amint azt (1) is mutatja az 1.18. ábrán. A kli ensfolyamatot ekkor a rendszer felfüggeszti addig, amíg válasz nem érkezik. Amikor a csomag megérkezik a szerverhez, azt az ottani operációs rendszer dolgozza fel. Kliensfolyamat
Szerverfolyamat
(1) Összeköttetés-^ létesítési kérés (2) Nyugta (ACK) (3) Adatok kérése (4) Válasz Rendszerhívások
1
Protokoll Meghajtó Kernel készlet programok Operációs rendszer
Rendszerhívások (5) Összeköttetés bontása (6) Összeköttetés bontása
0 Protokoll Meghajtó Kernel készlet programok Operációs rendszer
1.18. ábra. Egy egyszerű kliens-szerver kommunikáció során elküldött csomagok összeköttetés alapú hálózatban
58
SZÁMÍTÓGÉP-HÁLÓZATOK
Amikor a rendszer azt látja, hogy a csomagban összeköttetés-létesítési kérés van, megnézi, hogy van-e olyan folyamat, amelyik erre vár. Ha van, akkor két dolgot tesz: megszünteti a várakozó folyamat blokkolását, és egy nyugtát (2) küld vissza. Ennek a nyugtának a megérkezése futó állapotba helyezi a klienst. Ezen a ponton a kliens és a szerver egyaránt fut, és közöttük az összeköttetés létrejött. Fontos megjegyezni azt, hogy a nyugtát (2) a protokoll kódja automatikusan állítja elő, nem pedig egy felhasz nálói szintű primitív hatására keletkezett. Arra az esetre, amikor úgy érkezik össze köttetés-létesítési kérés, hogy éppen nincs ilyen kérésre váró folyamat, a teendők nin csenek előírva. Egyes rendszerekben ilyenkor a csomag rövid ideig egy sorban vára kozhat egy LISTEN primitív érkezésére. Nyilvánvaló párhuzam látszik az itt leírt protokoll és az élet között, például abban az esetben, amikor egy ügyfél (kliens) felhívja egy cég ügyfélszolgálatát. Az ügyfél szolgálat munkatársa rendszerint közel van a telefonhoz, hátha az csörögni fog. Ekkor az ügyfél hívást kezdeményez, és amikor az ügyfélszolgálat munkatársa felveszi a te lefont, az összeköttetés létrejön. A szerver számára a következő lépés egy RECEIVE primitív végrehajtása, amelylyel felkészül az első kérés fogadására. Általában ezt a szerver azonnal megteszi, amint továbbindul a LISTEN hívást követő blokkolódás után, még mielőtt a nyugta megérkezhetne a klienshez. A RECEIVE meghívása blokkolja a szervert. Ez után a kliens egy SEND primitívet hajt végre a kérés (3) elküldésére, amelyet egy RECEIVE végrehajtása követ azért, hogy a választ venni tudja. Amikor a kérést tartalmazó csomag megérkezik a szervergépre, a rendszer to vábbindítja a szerverfolyamatot, hogy az feldolgozhassa a kérést. Miután elvégezte a kért munkát, a szerverfolyamat egy SEND segítségével küldi el a választ (4) a kliens nek. Ennek a csomagnak a megérkezése továbbindítja a klienst, amely így megnézheti a választ. Ha további kérései vannak, azokat most küldheti el. Ha a kliens befejezte a munkát, a DISCONNECT primitív segítségével szüntetheti meg az összeköttetést. Általában az első DISCONNECT egy blokkoló hívás, amely felfüggeszti a klienst, és egy csomagot küld el a szervernek, amellyel azt közli vele, hogy a kapcsolatra nincsen tovább szüksége (5). Amikor a szerver megkapja ezt a csomagot, szintén egy DISCONNECT hívást hajt végre, amellyel nyugtázza a kérést a kliens felé és elengedi a kapcsolatot. Amikor a szerver csomagja (6) visszaérkezik a klienshez, a kliensfo lyamat továbbindul, és az összeköttetés megszakad. Röviden összefoglalva így műkö dik az összeköttetés alapú kommunikáció. Természetesen az élet nem ennyire egyszerű. Ebben a rendszerben sok minden el tud romlani. Lehet rossz az időzítés (pl. a CONNECT előbb van, mint a LISTEN), el veszhetnek csomagok, és még sok más hibaforrás is lehet. Ezeket a dolgokat később még részletesen meg fogjuk tárgyalni, de pillanatnyilag az 1.18. ábrán látható modell elégségesen összefoglalja, hogyan működik a kliens-szerver kommunikáció egy öszszeköttetés alapú hálózaton. Azt látva, hogy az összeköttetés felépítéséhez ebben a protokollban hat csomagra van szükség, felmerülhet az olvasóban az a kérdés, hogy miért nem használunk inkább összeköttetés nélküli protokollt. A válasz az, hogy egy tökéletes világban használhat nánk ilyet, és mindössze két csomagra lenne szükség: egy a kéréshez és egy a válasz hoz. Amikor azonban nagyobb üzeneteket kell továbbítani (pl. egy néhány megabájtos
59
BEVEZETÉS
állományt), történhetnek átviteli hibák és csomagvesztések is, máris egy teljesen más helyzetben találjuk magunkat. Ha a válasz több száz csomagból áll, és ezek közül né hány elveszhet az átvitel során, honnan tudhatná a kliens, hogy ténylegesen elveszett-e valami útközben. Honnan tudhatná a kliens, hogy az utolsónak érkezett csomag az utolsónak feladott-e? Most tegyük fel, hogy a kliens még egy állományt kér. Hogyan tudná megkülönböztetni a második állomány első csomagját az első állomány koráb ban elveszett első csomagjától, ami hirtelen mégis megérkezik? Röviden összefoglal va, egy egyszerű kérés-válasz protokoll gyakran nem alkalmas arra, hogy megbízha tatlan hálózaton alkalmazzuk. A harmadik fejezetben egy sor olyan protokollt fogunk megvizsgálni, amelyek megoldják ezt és más problémákat is. Egyelőre azonban elég azt kijelentenünk, hogy néha az igényeknek nagyon megfelel, ha egy megbízható bit folyam áll rendelkezésre a folyamatok között.
A szolgálatok kapcsolata a protokollokkal
1.3.5.
A szolgálat és a protokoll, különböző fogalmak, mégis gyakran összekeverik őket. A kettő közötti különbség nagyon fontos, ezért ismételten szeretnénk azt hangsúlyozni. A szolgálat nem más, mint olyan primitívek (elemi műveletek) halmaza, amelyet egy adott réteg a felette levő rétegek számára biztosít. A szolgálat azt definiálja, hogy egy réteg a felhasználó nevében milyen műveleteket képes végrehajtani, de arról nem mond semmit, hogy mindezt hogyan kell implementálni. A szolgálat két szomszédos réteg közötti interfésszel kapcsolatos, ahol az alsó réteg a szolgáltató, a felső réteg pe dig a szolgálat felhasználója. Ezzel szemben a protokoll olyan szabályok halmaza, amelyek azt mondják meg, hogy milyen legyen a formátuma, és mi legyen a jelentése azoknak a kereteknek, cso magoknak és üzeneteknek, amelyeket egy adott rétegen belül a társentitások küldöz getnek egymásnak. Az entitások a protokollokat használják arra, hogy a szolgálatdefi níciókat implementálják. Ha akarják, szabadon megváltoztathatják a protokolljaikat, feltéve, hogy a felhasználó számára látható szolgálatok ettől nem változnak meg. Ily módon a szolgálatot és a protokollt teljesen ketté lehet választani. Másképp megfogalmazva: a szolgálatok a rétegek közötti interfésszel kapcsolato sak, ahogyan az az 1.19. ábrán is látható. Ezzel szemben a protokollok a különböző gépeken elhelyezkedő társentitások között elküldött csomagokkal kapcsolatosak. Fontos, hogy ne keverjük össze e két fogalmat. (k + 1) . réteg
(k+1) . réteg
Ak. r éteg által nyújtott szolgáltatás k. réteg
Protokoll
( k - 1 ) . réteg 1.19. ábra. A szolgálatok és a protokollok viszonya
i
i k. réteg • ( k - 1 ) . réteg
SZÁMÍTÓGÉP-HÁLÓZATOK
60
Érdemes összehasonlítást tenni a programozási nyelvekkel. A szolgálat olyan, mint egy absztrakt adattípus vagy egy objektum egy objektumorientált nyelvben. Definiálja azokat a műveleteket, amelyeket az objektumon végre lehet hajtani, de nem mondja meg, hogy a műveleteket hogyan kell implementálni. A protokoll a szolgálat implemen tációjának felel meg, és mint ilyen, láthatatlan a szolgálatot igénybe vevő számára. Sok régebbi protokoll nem tett különbséget a szolgálat és a protokoll között. Ezek ben egy tipikus réteg akár egy olyan SEND PACKET szolgálatprimitívvel is rendelkez hetett volna, amelyet a felhasználónak egy teljesen összeállított csomagra mutató po inter biztosít. Ez azt jelenti, hogy a protokoll minden változása azonnal látható volt a felhasználó számára. A legtöbb hálózattervezéssel foglalkozó szakember az ilyen pro tokollokat nagy baklövésnek tartja.
1.4.
Hivatkozási modellek
Miután elméletben megtárgyaltuk a rétegekbe szervezett hálózatokat, itt az ideje ta nulmányoznunk néhány példát is. A következő két szakaszban két fontos hálózati ar chitektúrát fogunk megvizsgálni, az OSI és a TCP/IP hivatkozási modellt. Bár az OSImodellhez kapcsolódó protokollokat már szinte egyáltalán nem használják, maga a modell tulajdonképpen elég általános, így még mindig érvényes, az egyes rétegeknél megtárgyalandó feladatok pedig manapság is nagyon fontosak. A TCP/IP-modell ez zel eléggé ellentétes tulajdonságokkal bír: maga a modell nem túl hasznos, de proto kolljai széles körben használatosak. Mindezek miatt mindkét modellt részletesen meg fogjuk vizsgálni. Egy másik fontos indokunk az, hogy néha a bukásokból többet lehet tanulni, mint a sikerekből. 1.4.1.
Az OSI hivatkozási modell
Az OSI hivatkozási modell - az átviteli közeg ábrázolása nélkül - az 1.20. ábrán lát ható. Ez a modell a Nemzetközi Szabványügyi Szervezet (International Standards Organization, ISO) ajánlásán alapul, és a különböző rétegekben használt protokollok nemzetközi szabványosítása terén az első lépésnek tekinthető (Day és Zimmermann, 1983). Ezt a modellt hivatalosan ISO OSI (Open System Interconnection) hivatkozási modellnek nevezik, mivel nyílt rendszerek összekapcsolásával foglalkozik. A nyílt rendszerek olyan rendszerek, amelyek képesek más rendszerekkel való kommuniká cióra. Az egyszerűség kedvéért mi csak OSI-modellnek nevezzük a továbbiakban. Az OSI-modellnek hét rétege van. A hét rétegre történő felosztás elvei a követke zők voltak: 1. A rétegek különböző absztrakciós szinteket képviseljenek. 2. Minden réteg jól definiált feladatot hajtson végre. 3. A rétegek feladatának definiálásakor a nemzetközileg szabványosított protokollo kat kell figyelembe venni.
61
BEVEZETÉS
Réteg
7
Alkalmazási réteg
Az egymásnak elküldött adatelem neve Alkalmazási APDU réteg
Alkalmazási protokoll
Interfész Megjelenítési réteg Interfész
Megjelenítési protokoll
6
Viszony réteg
Viszony protokoll
Szállítási réteg
Szállítási protokoll
Hálózati réteg
Kommunikációs alhálózat határa Belső alhálózati protokoll Hálózati Hálózati réteg réteg
Adatkapcsolati réteg
Adatkapcsolati réteg
Adatkapcsolati réteg
Fizikai réteg
Fizikai réteg
Fizikai réteg
A hoszt
Router
Router
Megjelenítési réteg
PPDU
Viszony réteg
SPDU
Szállítási réteg
TPDU
Hálózati réteg
Csomag
Adatkapcsolati Keret réteg
J
Fizikai réteg B hoszt
Bit
- Hálózati réteg hoszt-router protokollja - Adatkapcsolati réteg hoszt-router protokollja • Fizikai réteg hoszt-router protokollja
1.20. ábra. Az OSI hivatkozási modell 4. A rétegek határait úgy kell meghatározni, hogy a rétegek közötti információcsere minimális legyen. 5. A rétegek számának elég nagynak kell lenni ahhoz, hogy eltérő' feladatok ne kerül jenek szükségtelenül ugyanabba a rétegbe, viszont elég kicsinek kell lennie ahhoz, hogy az architektúra ne váljon kezelhetetlenné. A továbbiakban a modell egyes rétegeit fogjuk egyenként bemutatni a legalsóval kezdve. Ne felejtsük el, hogy az OSI-modell nem hálózati architektúra, mivel nem specifikálja az egyes rétegek által használt szolgálatokat és a protokollokat. Csak anynyit mond, hogy mit kell tenniük a rétegeknek. Ugyan az ISO az egyes rétegekhez szabványokat is kidolgozott, azonban magának a hivatkozási modellnek ezek nem ré szei. Viszont valamennyit közzétették mint különálló nemzetközi szabványt.
62
SZÁMÍTÓGÉP-HÁLÓZATOK
A fizikai réteg A fizikai réteg (physical layer) feladata az, hogy továbbítsa a biteket a kommuniká ciós csatornán. A rétegnek biztosítania kell azt, hogy az egyik oldalon elküldött l-es bit a másik oldalon is l-esként érkezzen meg, ne pedig 0-ként. Ez a réteg tipikusan olyan kérdésekkel foglalkozik, hogy mekkora feszültséget kell használni a logikai 1, és mekkorát a logikai 0 reprezentálásához, mennyi ideig tart egy bit továbbítása, az át vitel megvalósítható-e egyszerre mindkét irányban, miként jön létre az összeköttetés, hogyan bomlik le, ha már nincs szükség rá, hány érintkezője van a hálózati csatlako zóknak, mire lehet használni az egyes érintkezőket stb. A tervezési szempontok itt főleg az interfész mechanikai, elektromos és eljárási kérdéseire, valamint a fizikai ré teg alatt elhelyezkedő fizikai átviteli közegre vonatkoznak.
Az adatkapcsolati réteg Az adatkapcsolati réteg (data link layer) fő feladata az, hogy a fizikai átviteli rend szer szerény adottságait egy olyan vonallá alakítsa, amely a hálózati réteg számára felderítetlen átviteli hibáktól mentesnek látszik. Ezt a feladatot úgy oldja meg, hogy az átviendő adatokat küldő fél oldalán adatkeretekbe (data frame; általában néhány száz vagy néhány ezer bájt) tördeli, és ezeket sorrendben továbbítja. Ha a szolgáltatás megbízható, a fogadó fél egy nyugtázó kerettel (acknowledgement frame) nyugtáz za minden egyes keret helyes vételét. Az adatkapcsolati rétegben (és a legtöbb felsőbb rétegben is) felmerül az a kérdés, hogy hogyan lehet megelőzni azt, hogy egy gyors adó annyi csomaggal árasszon el egy lassú vevőt, amennyit az már nem képes fogadni. Sokszor van szükség valamilyen forgalomszabályozó eszközre ahhoz, hogy az adót tájékoztatni lehessen a vevőben ép pen rendelkezésre álló szabad pufferek méretéről. A forgalomszabályozást és a hiba kezelést gyakran integrálva, ugyanúgy valósítják meg. Az adatszóró hálózatok adatkapcsolati rétegében még egy dolgot szabályozni kell: az osztott csatornához való hozzáférést. Az adatkapcsolati réteg egy alrétege foglalko zik ezzel a feladattal, amelyet közeg-hozzáférési alrétegnek (médium access sublayer) neveznek.
A hálózati réteg A hálózati réteg (network layer) az alhálózat működését irányítja. A legfontosabb kérdés itt az, hogy milyen útvonalon kell a csomagokat a forrásállomástól a célállo másig eljuttatni. Az útvonalak meghatározása történhet statikus táblázatok felhaszná lásával, amelyeket „behuzaloznak" a hálózatba, és csak nagyon ritkán változtatnak. Az útvonalat minden egyes párbeszéd (pl. terminálviszony) előtt külön is meghatároz hatjuk. Végül az útvonal kiválasztása lehet kifejezetten dinamikus: ilyenkor minden csomag számára a hálózat aktuális terhelésének ismeretében egyenként kerül kijelö lésre az útvonal.
63
BEVEZETÉS
Ha egyszerre túl sok csomag van jelen az alhálózatban, akkor azok akadályozhatják egymást, és ekkor torlódások alakulhatnak ki. Az ilyen torlódások szabályozása is a hálózati réteg feladatai közé tartozik. Még általánosabban: a nyújtott szolgáltatásmi nőség (késleltetés, átviteli idő, sebességingadozás stb.) a hálózati réteg hatáskörébe tartozik. Ha viszont a csomagnak az egyik hálózatból át kell mennie egy másikba ahhoz, hogy elérje a célállomást, akkor még több probléma jelentkezik: az első hálózatban használt címzési mód más, mint a második hálózatban; a második hálózat egyáltalán nem fogadja a csomagot, mert az túl hosszú; a két hálózat protokollja különbözik és így tovább. A hálózati rétegnek a feladata az, hogy legyőzze ezeket az akadályokat, és lehetővé tegye az egymástól eltérő hálózatok összekapcsolását. Az adatszóró hálózatokban az útvonalválasztás viszonylag egyszerű feladat, így ezekben a hálózatokban a hálózati réteg gyakran elég vékony, sőt van, amikor nem is létezik.
A szállítási réteg A szállítási réteg (transport layer) legfontosabb feladata az, hogy adatokat fogadjon a viszonyrétegtől, - ha szükséges - feldarabolja azokat kisebb egységekre, továbbítsa ezeket a hálózati rétegnek, és biztosítsa azt, hogy minden kis egység hibátlanul megér kezzen a másik oldalra. Ráadásul, mindezt hatékonyan kell elvégezni és oly módon, hogy a felsőbb rétegek számára rejtve maradjanak a hardver technológiában jelentke ző változások. A szállítási rétegben dől el az is, hogy milyen típusú szolgálatokat nyújt a viszony rétegnek és ezzel tulajdonképpen az is, hogy milyen szolgáltatások állnak a hálózat felhasználóinak rendelkezésére. A szállítási összeköttetések legnépszerűbb fajtája egy olyan hibamentes kétpontos csatorna, amely a küldés sorrendjében továbbítja az üze neteket és a bájtokat. Más lehetséges szállítási szolgálattípusok is vannak, mint példá ul a különálló üzenetek továbbítása anélkül, hogy garanciát vállalnánk a kézbesítés sorrendjére, vagy az üzenetek adatszórásos szállítása egyszerre több címzetthez. A szolgálat típusa akkor dől el, amikor az összeköttetés felépül. (Tulajdonképpen egy ténylegesen hibamentes csatornát lehetetlen elérni; ez a kifejezés igazából azt jelenti, hogy a hibaarány olyan kicsi, hogy az a gyakorlatban figyelmen kívül hagyható.) A szállítási réteg egy igazi végpontok közötti réteg, egészen a forrás hoszttól a cél hosztig tart. Másképpen megfogalmazva: a forrásgépen futó egyik program beszélget egy hasonló programmal a célgépen, felhasználva az üzenetek fejléceit és a vezérlő üzeneteket. Az alacsonyabb szintű rétegek protokolljait a gépek a közvetlen szom szédjukkal való kommunikációhoz használják, nem pedig a tényleges küldő és a foga dó kommunikál velük, hiszen ezeket több router is elválaszthatja egymástól. Az egy máshoz kapcsolódó 1-3. réteg és a végpontok közötti 4-7. réteg közötti különbség az 1.20. ábrán látható.
64
SZÁMÍTÓGÉP-HÁLÓZATOK
A viszonyréteg A viszonyréteg (session layer) teszi lehetővé, hogy két gép egy viszonyt (session) hozzon létre egymás között. A viszonyok sokféle szolgálatot valósítanak meg, mint például a párbeszédirányítás (dialóg control; az adás jogának kiosztása és nyomon követése), a vezérjel kezelés (tokén management; annak megakadályozására szolgál, hogy ketten egyszerre próbálják ugyanazt a kritikus műveletet végrehajtani) és a szinkronizáció (synchronization; ellenőrzési pontokat iktat a hosszú adásokba, hogy egy hiba esetén az ellenőrzési ponttól lehessen folytatni az adást).
A megjelenítési réteg Szemben az alacsonyabb szintű rétegekkel, a megjelenítési réteg (presentation layer) nem a bitek mozgatásával foglalkozik, hanem az átvitt információ szintaktikájával és szemantikájával. Annak érdekében, hogy a különböző adatábrázolást használó gépek kommunikálni tudjanak, a párbeszéd során használt adatszerkezeteket és a „ve zetékeken" használandó szabványos kódolást absztrakt módon kell definiálni. A megjelenítési réteg ezekkel az absztrakt adatszerkezetekkel foglalkozik, és lehetővé teszi a magasabb szintű adatszerkezetek (pl. banki ügyféladatlap) definiálását, vala mint a gépek közötti átvitelét.
Az alkalmazási réteg Az alkalmazási réteg (application layer) olyan protokollok változatos sokaságát tartalmazza, amelyekre a felhasználóknak gyakran szüksége van. Egy széleskörűen használt alkalmazási protokoll a HTTP (HyperText Transfer Protocol - hipertext átviteli protokoll), amely a világháló működésének alapja. Amikor egy böngésző meg akar szerezni egy weblapot, a HTTP segítségével küldi el a kért lap nevét a szer vernek. A szerver erre visszaküldi neki a lapot. További alkalmazási protokollok lé teznek állományok átvitelére, e-levelezésre és a hálózati hírcsoportok eléréséhez.
1.4.2.
A TCP/IP hivatkozási modell
A továbbiakban térjünk át az OSI hivatkozási modellről a számítógép-hálózatok ősé nek tekintett ARPANET, illetve annak leszármazottja, a világméretű internet hivat kozási modelljére. Bár később lesz még szó az ARPANET történetéről, azonban elöl járóban érdemes néhány dolgot megemlíteni. Az ARPANET az amerikai védelmi mi nisztérium (U.S. Department of Defense, DoD) által támogatott kísérleti hálózat volt. Alkalmanként több száz egyetemi és kormányzati számítógépet kötött össze bérelt te lefonvonalak segítségével. Miután később műholdas és rádiós hálózatokat is hoz zákapcsoltak, és az akkori protokollok csak nehezen tudtak együttműködni, egy új hi vatkozási modell vált szükségessé. Ezért már a kezdetektől fogva az volt a legfőbb
65
BEVEZETÉS
tervezési szempont, hogy lehetővé tegyék tetszőlegesen sok hálózat zökkenőmentes összekapcsolását. Később ez az architektúra - a két legjelentősebb protokollja alapján - TCP/IP hivatkozási modell néven vált ismertté, amelyet elsőként (Cerf és Kahn, 1974) definiált, majd (Leiner és mások, 1985) is behatóan foglalkozott vele. A modell mögött rejlő tervezési problémákról (Clark, 1988) munkájában olvashatunk. Mivel a DoD erősen aggódott amiatt, hogy akármelyik nagy értékű hoszt, router vagy hálózatok közötti átjáró (gateway) egy szempillantás alatt megsemmisülhet, ezért egy másik lényeges tervezési szempont az volt, hogy a hálózat az éppen folyó beszélgetések megszakítása nélkül át tudja vészelni az alhálózat esetleges vesztesé geit. Más szóval, a DoD azt akarta, hogy amíg a forrás- és célállomások jól működ nek, a kapcsolatok ne szakadjanak meg még akkor sem, ha egy köztük levő másik gép vagy valamelyik átviteli vonal hirtelen meghibásodik. Ráadásul, egy flexibilis háló zatra volt szükség, mivel az alkalmazások a fájlátviteltől kezdve a valós idejű beszéd átvitelig bezárólag rendkívül eltérő igényeket támasztottak.
Az internetréteg Mindezek az elvárások olyan csomagkapcsolt hálózathoz vezettek, amely egy össze köttetés nélküli intemetwork rétegen alapult. Ez a réteg az internetréteg, amely az egész architektúrát összefogja. Ennek a rétegnek az a feladata, hogy egy hoszt bármi lyen hálózatba csomagokat tudjon küldeni, illetve a csomagokat a célállomástól füg getlenül (lehetőleg egy másik hálózaton) képes legyen továbbítani. Az sem gond, ha a csomagok nem az elküldés sorrendjében érkeznek meg, ugyanis, ha erre van szükség, akkor a magasabb rétegek visszarendezik őket a megfelelő sorrendbe. Ne felejtsük el, hogy itt az „internet" szót most általános értelemben használjuk annak ellenére, hogy ez a réteg az internetben is jelen van. Vegyünk egy hasonló példát, mondjuk a (csigalassúságú) postát. Ha valaki bedob egy adag külföldre szóló levelet a postaládába, akkor kis szerencsével azok jó része meg is érkezik n helyes külföldi címre. Útjuk során a levelek nagy valószínűséggel ke-
OSI
TCP/IP
7
Alkalmazási réteg
Alkalmazási réteg
6
Megjelenítési réteg
5
Viszonyréteg
4
Szállítási réteg
Szállítási réteg
3
Hálózati réteg
Internetréteg
2
Adatkapcsolati réteg
1
Fizikai réteg
Hoszt és hálózat közötti réteg
1.21. ábra. A TCP/IP hivatkozási modell
Nincs a modellben
SZÁMÍTÓGÉP-HÁLÓZATOK
66
resztülmennek egy-két nemzetközi postaközponton, azonban ebből a feladó semmit nem vesz észre. Ráadásul, minden országnak (azaz hálózatnak) saját bélyege és saját szabványos méretű borítékja van. Ezenkívül a kézbesítés szabályai is rejtve maradnak az ügyfelek elől. Az internetréteg meghatároz egy hivatalos csomagformátumot, illetve egy proto kollt, amelyet internetprotokollnak (Internet Protocol, IP) hívnak. Az intemetréteg feladata az, hogy ahová csak lehetséges, kézbesítse az IP-csomagokat. A csomagok útvonalának meghatározása, valamint a torlódások elkerülése itt most a legfontosabb feladat. Ezért nyugodtan mondhatjuk, hogy a TCP/lP-modell internetrétege funkcióját tekintve nagyon hasonlít az OSI-modell hálózati rétegére. Ezt a megfeleltetést láthat juk az 1.21. ábrán.
A szállítási réteg A TCP/IP-modellben az internetréteg fölötti réteget általában szállítási rétegnek ne vezik. Feladata az OSI-modell szállítási rétegéhez hasonlóan az, hogy lehetővé tegye a forrás- és célállomásokban található társentitások közötti párbeszédet. Két külön böző szállítási protokollt definiálunk a következőkben. Az egyik az átvitelvezérlő protokoll (Transmission Control Protocol, TCP), amely egy megbízható összeköt tetés alapú protokoll. Feladata az, hogy hibamentes bájtos átvitelt biztosítson bármely két gép között az interneten. A beérkező bájtos adatfolyamot diszkrét méretű üzene tekre osztja, majd azokat egyesével továbbítja az internetrétegnek. A célállomás TCPfolyamata összegyűjti a beérkezett üzeneteket, és egyetlen kimeneti adatfolyamként továbbítja őket. A TCP forgalomszabályozást is végez annak érdekében, hogy egy gyors forrásállomás csak annyi üzenetet küldjön egy lassabb célállomásnak, amennyit az fogadni képes. A másik protokoll ebben a rétegben a felhasználói datagram protokoll (User Datagram Protocol, UDP), amely egy nem megbízható, összeköttetés nélküli protoRéteg (OSI elnevezések)
FTP
TELNET o o o
SMTP
DNS
Szállítási réteg
UDP
TCP
IP ARPANET
SATNET
Csomagkapcsolt rádió
Alkalmazási réteg
LAN
Hálózati réteg Fizikai és adatkapcsolati réteg
1.22. ábra. Protokollok és hálózatok a kezdeti TCP/IP hivatkozási modellben
67
BEVEZETÉS
koll. Jelentősége akkor van, amikor nem szükséges sem az üzenetek TCP-féle sorba rendezése, sem a forgalomszabályozás. Elsősorban olyan egylövetű, kliens-szerver tí pusú kérés-válasz alkalmazásokban terjedt el, ahol a gyors válasz sokkal fontosabb, mint a pontos. Ilyen alkalmazás például a beszéd- vagy videoátvitel. Az IP, a TCP és az UDP kapcsolatát az 1.22. ábra szemlélteti. Mivel az itt látható modell fejlesztés eredménye, ezért az IP-protokollt még sok más hálózat is használja.
Az alkalmazási réteg A TCP/IP-modellben nincs viszony- és megjelenítési réteg. Azért nem kerültek bele a modellbe, mert nem volt rájuk szükség. Az OSI-modellel kapcsolatos tapasztalok is azt mutatják, hogy a legtöbb alkalmazás nemigen használja ki e két réteget. A szállítási réteg fölött az alkalmazási réteg található. Ez tartalmazza az összes magasabb szintű protokollt. Eredetileg csak a virtuális terminál (TELNET), a fájl transzfer (FTP) és az elektronikus levelezés (SMTP) protokolljait tartalmazta, ame lyeket az 1.22. ábrán is feltüntettünk. A virtuális terminál lehetővé teszi, hogy beje lentkezzünk egy távoli gépre, és azon dolgozzunk. A fájltranszfer protokoll segítségé vel hatékonyan tudunk adatokat átvinni egyik gépről a másikra. Az elektronikus leve lezés kezdetben a fájltranszfer egyik változata volt, azonban később külön protokollt fejlesztettek ki a számára. Az évek során aztán számos más protokollal bővítették az alkalmazási réteget. Ilyen például a Domain Name Service (DNS), amely a hosztok nevét képezi le a hálózati címükre; az NNTP, amely hírlevelek szétküldését teszi le hetővé; vagy a HTTP, amely a World Wide Web oldalak letöltését segíti.
A hoszt és a hálózat közötti réteg Az internetréteg alatt egy nagy űr tátong. A TCP/IP hivatkozási modell ugyanis nem mondja meg, hogy mi legyen itt, csak annyi megkötést tesz, hogy a hosztnak egy olyan hálózathoz kell csatlakozni, amely az IP-csomagok továbbítására alkalmas pro tokollal rendelkezik. Ez a protokoll hosztonként, illetve hálózatonként más és más le het. Ezzel a TCP/IP-modellről szóló könyvek és cikkek nemigen foglalkoznak.
1.4.3.
Az OSI és a TCP/IP hivatkozási modell összehasonlítása
Az OSI és a TCP/IP hivatkozási modellnek sok közös tulajdonsága van. Mindkettő hierarchikusan egymásra épülő, de egymástól független protokollokon alapul. Az egyes rétegek funkciója is nagyjából megegyezik. Például a szállítási és az alatta levő többi réteg azért van benne mindkét modellben, hogy hálózatfüggetlen, végpontok kö zötti szállítási szolgálatot nyújtson az egymással kommunikálni szándékozó folyama tok számára. Ezek a rétegek alkotják a szállítási szolgáltatót. A szállítási réteg feletti rétegek mindkét modellben a szállítási réteg alkalmazásorientált felhasználói. Mindezen alapvető hasonlóságok ellenére a két modell sok eltérést is mutat. Ebben
68
SZÁMÍTÓGÉP-HÁLÓZATOK
a bekezdésben most csak a leglényegesebb különbségekről ejtünk néhány szót. Fon tosnak tartjuk megjegyezni, hogy a hivatkozási modelleket hasonlítjuk össze, nem pe dig a protokollkészleteket. Magukat a protokollokat később tárgyaljuk. A TCP/IP- és az OSI-modell összehasonlításával egyébként egy teljes könyv foglalkozik (Piscitello és Chapin, 1993). Az OSI-modell három fogalom köré összpontosul: 1. szolgálatok, 2. interfészek, 3. protokollok. Az OSI-modellnek az a legnagyobb vívmánya, hogy éles különbséget tesz e három fogalom között. Mindegyik réteg szolgálatokat nyújt a felette levő rétegnek. A szolgá lat azt definiálja, hogy egy réteg mit csinál, nem pedig azt, hogy a felette levő entitá sok hogyan érik el az adott szolgálatot, illetve, hogy a réteg hogyan működik. A réteg interfésze megmondja a felette levő folyamatoknak, hogy hogyan vehetik igénybe az adott réteg szolgálatait. Megadja a lehetséges paramétereket és azt, hogy milyen eredményt vár. Ez sem tartalmaz semmit arról, hogy a réteg hogyan is működik belül. Egy adott rétegben található társprotokollok működése csak a rétegre tartozik. Egy konkrét feladat elvégzéséhez (tehát szolgálatnyújtáshoz) a réteg olyan protokollt hasz nál, amilyet csak akar. Tetszése szerint válthat egyikről a másikra anélkül, hogy a fe lette levő rétegek szoftvereinek működését befolyásolná. Ez a koncepció igen közel áll az objektumorientált programozás koncepciójához. Egy objektum, mint például egy réteg, számos olyan metódussal (működéssel) rendelkezik, amelyeket az objektum kívülről meghívhat. Ezeknek a metódusoknak a szemantikája határozza meg azoknak a szolgálatoknak a halmazát, amelyet az objektum felkínál. A metódusok paraméterei és az eredményei az objektum interfészét alkotják. Az objektu mon belül található kód az ő saját protokollja, és az a külvilág számára láthatatlan. A TCP/IP-modell kezdetben nem tett ilyen világos különbséget a szolgálat, az in terfész és a protokoll között, bár később voltak rá kísérletek, hogy kicsit OSI-szerűbbé tegyék a modellt. Például az internetrétegben csak a SEND IP PACKET és a RECEIVE IP PACKET tekinthető valódi szolgálatnak. Következésképpen, az OSI-modell protokolljai jobban el vannak rejtve, mint a TCP/IP-modellé, és emiatt viszonylag könnyebben lehet őket módosítani a technoló giai fejlődés előrehaladtával. A protokollok rétegezésével az egyik legfőbb célunk ép pen az, hogy az ilyen változtatásokat el tudjuk végezni. Az OSI-modellt még a protokollok kidolgozása előtt találták ki. Ennek köszönhető en a modellt nem befolyásolta egyetlen konkrét protokollkészlet sem, és emiatt kel lően általános tudott maradni. Gondot csak az jelentett, hogy a tervezőknek kevés ta pasztalata volt ezen a szakterületen, és nemigen tudták, hogy melyik funkciót melyik réteghez rendeljék. Az adatkapcsolati réteg, például, eredetileg csak a kétpontos hálózatokkal foglalko zott. Amikor megjelentek az adatszóró hálózatok, a modellbe egy új alréteget kellett
69
BEVEZETÉS
bepréselni. Amikor aztán az OSI-modell alapján elkezdtek hálózatokat építeni (csodák csodája) rájöttek arra, hogy azok nem felelnek meg a szolgálatok specifikációinak, ezért az eltérésekből fakadó problémák megoldására konvergencia alrétegeket illesz tettek a modellbe. Ráadásul, kezdetben a bizottság arra számított, hogy minden or szágban csak egyetlen hálózat lesz, amelyet az adott ország kormánya tart majd fenn, és ez a hálózat az OSI-protokollt fogja majd használni. Akkoriban még senki nem gondolt a hálózatok összekapcsolására. Röviden szólva a dolgok másképp alakultak. A TCP/IP-modellel viszont pont a fentiek ellenkezője történt: először megvolt a protokoll, majd a modell tulajdonképpen a meglevő protokollok leírását adta meg. A protokolloknak a modellbe történő beillesztésével nem is volt semmi gond, tökélete sen ment. Az egyetlen bökkenő csak az volt, hogy ez a modell semelyik más protokollrendszerhez nem illeszkedett. Következésképpen alkalmatlan volt arra, hogy más, nem TCP/IP-hálózatokat leírjunk vele. Hogy a filozofikus hangvétel helyett kicsit közérthetőbben fogalmazzunk, a két modell között a legnyilvánvalóbb különbség a rétegek számában van. Az OSI-modellben hét réteg van, míg a TCP/TP-modellben csak négy. Mindkettőben van hálózati (vagy internetwork), szállítási és alkalmazási réteg, de a többi réteg már nem egyezik meg. További különbség jelentkezik az összeköttetés alapú, illetve az összeköttetés nél küli kommunikáció területén. Az OSI-modell mindkettőt támogatja a hálózati réteg ben, a szállítási rétegben viszont már csak az összeköttetés alapú kommunikációt. (Ez azért lényeges, mert a szállítási réteg szolgálatai a felhasználó számára is láthatók.) A TCP/IP-modell hálózati rétegében csak összeköttetés nélküli átviteli mód létezik, ugyanakkor a szállítási réteg mindkét változatot támogatja, és a választást a felhasz nálóra bízza. Az összeköttetés típusának kiválasztása különösen fontos az egyszerűbb kérés-válasz protokollok esetén.
1.4.4.
Az OSI hivatkozási modell és protokolljainak értékelése
Sem az OSI-, sem a TCP/IP-modell és azok protokolljai sem tökéletesek. Mindkettőt lehet bizonyos mértékig bírálni, és ezt meg is szokták tenni. Ebben és a következő be kezdésben ismertetünk néhány ilyen bírálatot. Először az OSI-modellel kezdjük, és aztán térünk majd rá a TCP/IP-modellre. 1989-ben, a könyv második kiadásának megjelenésekor még a témával foglalkozó legtöbb szakembernek úgy tűnt, hogy az OSI-modell és protokolljai meghódítják majd a világot, és minden mást elsöpörnek az útjukból. Mégsem ez történt. Vajon miért nem? Egy kis kitekintés a tanulságokra biztosan nem hiábavaló. Az okok ugyanis a következők voltak: 1. rossz időzítés; 2. rossz technológia; 3. rossz implementálás; 4. rossz üzletpolitika.
70
SZÁMÍTÓGÉP-HÁLÓZATOK
Rossz időzítés Először vizsgáljuk meg az első okot, a rossz időzítést. Egy szabvány megjelentetésé nek időpontja rendkívül erősen befolyásolhatja annak sikerét. Dávid Clark, az M.I.T. munkatársa kidolgozott egy elméletet a szabványokról, amelyet ő „a két elefánt apo kalipszise" névvel illetett. Hogy mit is jelent ez, azt az 1.23. ábra szemlélteti. Kutatás
Dollármilliárdos beruházás
1.23. ábra. „A két elefánt apokalipszise " Az ábra azt mutatja be, hogy egy új dolog megvalósítása mennyi munkát igényel. A dolog felfedezése után óriási munka következik, viták zajlanak, cikkek jelennek meg, találkozókra kerül sor. Aztán hamarosan egy kis szünet következik, majd a vállalatok is felfedezik maguknak a dolgot, és több milliárd dolláros beruházások indulnak el. Nagyon fontos, hogy a szabványosítást a két „elefánt" közötti időben kell elvégez ni. Ha túl korán, még a kutatások befejezése előtt készül el, akkor az újdonságról még keveset tudunk, ami rossz szabványt eredményez. Ha viszont túl későn írjuk meg, ak kor addigra már számos vállalat, különböző irányokban nagy beruházásokba kezdett, és ezért nagyrészt figyelmen kívül hagyják a szabványt. Ha a két elefánt közötti idő nagyon szűkös (mert mindenki igyekszik minél előbb elkészülni vele), akkor a szab vány kifejlesztésén dolgozó emberek könnyen összeroppanhatnak. Sajnos úgy tűnik, hogy az OSI-protokollok bizony összeroppantak. Mire az OSIprotokollok megjelentek, addigra a versenytárs TCP/IP-protokollok már széles körben elterjedtek a kutatóegyetemeken. Ugyan a több milliárd dolláros beruházások még nem érték el a csúcsot, az oktatási szférában a piac niár olyan nagy volt, hogy sok ke reskedő cég elkezdte óvatosan árusítani a TCP/IP-termékeket. Amikor az OSI meg jelent a piacon, nem akart támogatni egy második protokollkészletet egészen addig, amíg rá nem kényszerítették erre, így kezdetben néni tudta eladni a termékeit. A vál lalatok egymásra vártak az első lépés megtételét illetően, így aztán mivel egyikük sem lépett, az OSI-nál semmi nem történt.
71
BEVEZETÉS
Rossz technológia A második ok, amit az OSI sosem értett meg, az az, hogy mind a modell, mind a pro tokollok hibásak. A rétegek száma inkább politikai, mint műszaki okokból kifolyólag lett hét, és közülük kettő (a viszony és a megjelenítési) majdnem üres, míg a másik kettő (az adatkapcsolati és a hálózati) túltelített. Az OSI-modell és az általa definiált szolgálatok és protokollok különösen bonyo lultak. Ha egymásra pakolnánk a kinyomtatott szabványokat, a papírkupac több mint fél méter magas lenne. A megvalósításuk nehéz, és működésük is kevéssé hatékony. Ezzel kapcsolatban Paul Mockapetris találós kérdése (idézi Rose, 1993) juthat eszünkbe: - Mit kapsz, amikor gengsztert keresztezel egy nemzetközi szabvánnyal? - Valakit, aki olyan ajánlatot tesz neked, amit nem értesz. Szintén érthetetlen az is, hogy miért jelennek meg újra és újra az OSI egyes réte geiben olyan funkciók, mint amilyen a címzés, a forgalomszabályozás vagy a hibaja vítás. Saltzer és mások (1984) a könyvükben rámutattak arra, hogy a hatékonyság ér dekében a hibajavítást a legfelső rétegbe kell tenni, tehát gyakran teljesen fölösleges és gazdaságtalan az alacsonyabb rétegekben többször megismételni.
Rossz implementálás A modell és a protokollok rendkívüli bonyolultsága miatt nem csoda, hogy az imple mentációk kezdetben terjedelmesek, kezeihetetlenek és lassúak voltak. Mindenki megbukott, aki próbálkozott vele. Nem telt bele sok idő, és az „OSI"-ról mindenkinek a „gyenge minőség" jutott az eszébe. Bár az idők során egyre jobbak lettek a termé kek, a kialakult kép nem változott. Ugyanakkor a TCP/IP egyik első implementációja a Berkeley-féle UNIX része volt, és nem csak nagyon jó, de még ingyenes is volt. Az emberek gyorsan rászoktak, így komoly felhasználói tábora alakult ki. Ennek köszönhetően egyre jobb lett a termék, ami tovább növelte a felhasználók körét. Ebben az esetben tehát a spirális pálya felfelé irányult, nem pedig lefelé.
Rossz üzletpolitika A kezdeti implementációk miatt különösen az oktatási szférában sokan azt hitték a TCP/IP-ről, hogy a UNIX része, márpedig ott a UNIX igen népszerű volt az 1980-as években. Az OSI-ra ugyanakkor mindenki úgy tekintett, mintha az európai távközlési minisz tériumok, az Európai Gazdasági Közösség és az amerikai kormány alkotása lett volna. Ez csak részben volt igaz, és az sem segített a helyzeten, hogy kormányhivatalnokok egy csoportja megpróbálta a szerencsétlen kutatók és programozók nyakába varrni a
SZÁMÍTÓGÉP-HÁLÓZATOK
72
kudarcot Voltak néhányan, akik ezt az esetet hasonlóan ítélték meg ahhoz, mint ami kor az 1960-as években az IBM bejelentette, hogy a PL/I lesz a jövő programozási nyelve, vagy amikor a DoD később ezt úgy módosította, hogy az Ada lesz az.
1.4.5.
A TCP/IP hivatkozási modell értékelése
A TCP/IP-modellnek és protokolljainak szintén megvannak a maga hibái. Eló'ször is a modell nem tesz világos különbséget a szolgálat, az interfész és a protokoll fogalma között Megfelelő szoftvermérnöki tapasztalat kell ahhoz, hogy különbséget tudjunk tenni specifikáció és implementáció között, amit az OSI nagyon óvatosan kezel, és amivel a TCP/IP pedig egyáltalán nem foglalkozik. így tehát a TCP/IP-modell aligha Yosmáltató kisadóként úi, technológiákon alapuló hálózatok tervezésénél. Másodsorban, a TCP/IP-modell egyáltalán nem általános érvényű, és a TCP/IP-n kívül más protokollkészletek leírására nem igazán alkalmas. Például a TCP/IP-modell segítségével szinte lehetetlen lenne leírni az SNA-t. Harmadsorban, a host-to-network réteg a hagyományos értelemben véve nem is va lódi réteg - legalábbis abban az értelemben nem, ahogyan azt a protokollok kapcsán gondolnánk -, hanem csak interfész (a hálózati és az adatkapcsolati réteg között). Márpedig döntő fontosságú, hogy különbséget tudjunk tenni az interfész és a réteg kö zött. E tekintetben nem szabad felületesneK lennünk. Negyedsorban, a TCP/IP-modell nem Különbözteti meg (sőt, meg sem említi) a fi zikai és az adatkapcsolati réteget, pedig eZ két teljesen különböző dolog. A fizikai ré tegnek a rézvezeték, az optikai kábel és a vezeték nélküli kommunikáció átviteli jel lemzőivel kell foglalkoznia. Az adatkapcsolati réteg feladata pedig a keretek elejének és végének jelzése, valamint a keretek megbízható továbbítása két gép között. Egy jó mo dellnek külön rétegként kell kezelnie e kettőt. A TCP/IP-modell sajnos nem ezt teszi. Végül meg kell említeni, hogy bár az IP- és a TCP-protokollt alaposan átgondolták, és jól implementálták, a többi protokoll nagy része ad hoc jellegű volt. Emiatt sok egye temista azzal foglalkozott, amíg csak bele nem fáradt, hogy megpróbálja megfejteni a működésüket. Mivel a protokollimplementációk ingyenesek voltak, ezért széles körben elterjedtek, mélyen beépültek a rendszerekbe, és emiatt nehezen lehetett őket lecserélni, ami még ma is kisebb-nagyobb problémákhoz vezet. Például a virtuális terminál proto kollt, a TELNET-et egy másodpercenként tíz karaktert feldolgozó mechanikus Teletype terminálhoz tervezték, és egyáltalán nem is ismeri a grafikus terminált, valamint az ege ret. Mindezek ellenére, 25 év eltelte után még mindig rengetegen használják. Alkalmazási réteg Szállítási réteg Hálózati réteg Adatkapcsolati réteg Fizikai réteg 1.24. ábra. A könyvben használt hibrid hivatkozási modell
73
BEVEZETÉS
Összefoglalva az eddigieket, a következőket mondhatjuk. A felmerült problémák ellenére az OSI-modell kifejezetten alkalmas a számítógép-hálózatok elemzésére. Ez zel szemben az OSl-protokollok nem lettek népszerűek. A TCP/IP-re viszont ennek pont az ellentéte igaz: a modell gyakorlatilag nem létezik, a protokollok ugyanakkor rendkívüli módon elterjedtek. Mivel a számítógépes szakemberek is szeretik azt meg enni, amit maguk főztek, a továbbiakban az OSI-modellnek egy módosított változatá val fogunk foglalkozni. Ez a hibrid modell, amely az 1.24. ábrán látható, elsősorban a TCP/IP-re, valamint az újabb protokollokra, az SMDS-re, a frame relay-re, a SONETre és az ATM-re összpontosít.
1.5.
Hálózati példák
A számítógép-hálózatok témakör sok különféle hálózatot fed le, kicsiket és nagyokat, közismerteket és kevésbé közismerteket. Különbözők lehetnek a célok, a méretek és az alkalmazott műszaki megoldások. A következő szakaszban néhány példán keresz tül azt fogjuk bemutatni, hogy milyen változatos terület is a számítógép-hálózatoké. Első példánk az internet lesz, amely valószínűleg a világ legismertebb hálózata. Megismerkedünk a történetével, a fejlődésével és a műszaki megoldásaival. Ezután az ATM-mel fogunk foglalkozni, amelyet gyakran használnak a nagy (telefon) hálózatok gerinceként. Műszakilag nagyon különbözik az internettől, ezért szépen szembeállít hatók. Következőnek vetünk egy pillantást az Ethernetre, amely manapság a legelter jedtebb helyi hálózat. Végül, az IEEE 802.11 nevű szabványos vezeték nélküli LAN-t vizsgáljuk majd meg. 1.5.1.
Az Internet
Az Internet tulajdonképpen nem is hálózat, hanem különféle hálózatok óriási gyűjte ménye, amelyek néhány közös protokollt használnak, és néhány közös szolgáltatást nyújtanak. Ez egy nem szokványos rendszer abból a szempontból, hogy senki sem tervezte meg, és senki sem felügyeli. Hogy ezt megérthessük, kezdjük a történetet az elején ott, hogy miért és hogyan fejlesztették ki. Amennyiben kíváncsi az Internet csodálatos történetére, olvassa el John Naughton (2000) könyvét. Ez ugyanis egyike azon ritka könyveknek, amelyet nemcsak olvasni élvezetes, de a kötet végén 20 oldal nyi hivatkozást és további olvasnivalót is találhat az olvasó. Természetesen számos műszaki könyv jelent már meg az Internetről és annak protokolljairól is. További ol vasmányként például (Maufer, 1999) könyve szolgálhat.
Az ARPANET A történet az 1950-es évek végén kezdődik. A hidegháború tetőfokán az amerikai vé delmi minisztérium (Department of Defense, DoD) egy olyan parancsnoki és irányítá si hálózatot akart létrehozni, amely képes túlélni egy atomháborút. Abban az időben a
74
SZÁMÍTÓGÉP-HÁLÓZATOK
teljes katonai kommunikáció a nyilvános telefonhálózatot használta, amelyet sebez hetőnek tartottak. Ennek a vélekedésnek a kiváltó oka az 1.25.(a) ábrából kiolvasható. A fekete pontok a telefonközpontokat jelölik, amelyek közül mindegyikhez több ezer telefon kapcsolódik. Ezek a központok hasonlóképpen egy magasabb szintű kapcsoló központhoz (távhívó központhoz) kapcsolódnak. Ezzel egy olyan országos hálózat alakul ki, amely csak nagyon kevéssé redundáns. A rendszer sebezhetősége éppen ab ban rejlik, hogy elég néhány kulcsfontosságú távhívó központot elpusztítani ahhoz, hogy a rendszer elszigetelt részekre essen szét. 1960 körül a DoD megbízta a RAND Corporationt, hogy keressen megoldást a problémára. Az egyik munkatársuk, Paul Baran az 1.25.(b) ábrán látható, nagymér tékben elosztott és hibatűrő rendszert javasolta. A központok között vezető utak hoszsza itt már nagyobb, mint amennyit egy analóg jel torzulás nélkül képes megtenni, ezért Baran egy digitális csomagkapcsoló megoldást javasolt bevezetni a központok ban. Baran jó néhány jelentésben fejtette ki elképzelése részleteit a DoD-nek. A Pen tagon hivatalnokainak megtetszett az ötlet, és felkérték az Egyesült Államokban akkor még monopolhelyzetet élvező AT&T-t egy prototípus megépítésére. Az AT&T gon dolkodás nélkül elutasította Baran gondolatát. A világ akkor legnagyobb és leggazda gabb cége nem akarta hagyni, hogy egy fiatal mitugrász tanítsa meg neki, hogyan kell telefonrendszert építeni. A vezetők ezért azt mondták, hogy Baran hálózatát nem lehet megépíteni, és ezzel végzetes csapást mértek az ötletre. Sok év eltelt, és a DoD-nek még mindig nem volt jobb parancsnoki és irányítási hálózata. A soron következő történések megértéséhez először vissza kell tekintenünk 1957 októberére, amikor a Szovjetunió megelőzte az Egyesült Államokat az Árver senyben a Szputnyik, vagyis az első műhold fellövésével. Amikor Eisenhower elnök
(a)
(b)
1.25. ábra. (a) A telefonhálózat felépítése, (b) A Baran által javasolt elosztott kapcsolóhálózat
BEVEZETÉS
75
megpróbálta kideríteni, hogy ki volt a felelős az amerikai késlekedésért, elképedve ta pasztalta, hogy a hadsereg, a haditengerészet és a légierő' veszekszik a Pentagon kuta tásokra szánt költségvetésén. Azonnali válaszlépésként megteremtett egy védelmi célú központi kutatási szervezetet, az ARPA-t (Advanced Research Agency, fejlett kuta tások ügynöksége). Az ARPA-nak nem voltak tudósai és laboratóriumai, sőt tulajdon képpen csak egyetlen irodája volt és (a Pentagonnál szokásoshoz képest) szerény költ ségvetése. A munkája abból állt, hogy támogatásokat és szerződéseket adott a szerinte ígéretes ötletekkel előálló egyetemeknek és vállalatoknak. Az első néhány évben az ÁRPA még csak azt próbálta kitapasztalni, hogy tulaj donképpen mi legyen a feladata, de 1967-ben a hálózatok felkeltették az ÁRPA akkori igazgatója, Larry Roberts figyelmét. Különféle szakértőkkel beszélt, hogy el tudja dönteni, mit tegyen. Az egyik szakértő, Wesley Clark azt az 1.10. ábrán is látható megoldást javasolta, hogy olyan csomagkapcsolt alhálózatot építsen, amelyen minden hosztnak saját routere van. Roberts eleinte kételkedett, de később megtetszett neki az ötletet, és készített egy némileg homályos előadást (Roberts, 1967) az ACM SIGOPS konferenciájára, ame lyet 1967 végén tartottak az operációs retrdszeíek alapelveiről a Termessee-i Gatlmburgban. Roberts nagy meglepetésére a konferencia egy másik előadása is egy ha sonló rendszert írt le, amely ráadásul nem csak terv volt, hanem már meg is valósítot ták az angol National Physical Laboratoryban (NPL; Nemzeti Fizikai Laboratórium) Donald Davis irányítása alatt. Az NPL rendszere nem volt országos hálózat, hanem csak néhány számítógépet kötött össze az NPL területén belül, de ennek ellenére is azt bizonyította, hogy a csomagkapcsolás megvalósítható. Mindezen felül pedig a cikk hivatkozott Baran addigra elutasított ötletére. Roberts úgy hagyta el Gatlinburgot, hogy már elhatározta, megépíti azt a hálózatot, amely később ARPANET néven vált ismertté. Az alhálózatnak átviteli vonalakkal összekapcsolt miniszámítógépekből, ún. cso móponti gépekből (Interface Message Processors, IMP) kellene felépülnie. A na gyobb megbízhatóság érdekében mindegyik csomóponti gépnek legalább két másik csomóponti géphez kellene csatlakoznia. Az alhálózat egy datagramos alhálózat lenne, így néhány vezeték vagy csomóponti gép elpusztítása esetén az üzeneteket automati kusan más alternatív útvonalakon lehetne továbbítani. Minden hálózati csomópontban kell lennie egy csomóponti gépnek és egy hoszt nak, lehetőleg ugyanabban a szobában és rövid vezetékekkel összekötve. A hoszt leg feljebb 8063 bites üzeneteket küldhetné a hozzá csatlakozó csomóponti gépnek, amely legfeljebb 1008 bites csomagokra darabolná fel azokat, majd egymástól függetlenül továbbítaná a csomagokat a célállomás felé. Továbbítás előtt minden csomag esetén meg kellene várni, amíg a teljes csomag megérkezik, tehát ez az alhálózat az első elektronikus, tárol-és-továbbít típusú csomagkapcsolt hálózat lenne. Az ÁRPA tendert írt ki az alhálózat megépítésére, amire 12 cég jelentkezett. A be adott pályázatok kiértékelése után az ÁRPA a Cambridge-i BBN tanácsadó céget vá lasztotta ki a munka elvégzésére. 1968 decemberében a BBN-nel megkötötték a szer ződést az alhálózat kiépítésére és az alhálózat szoftverének megírására. A csomóponti gépek a Honeywell DDP-316 miniszámítógép egy speciálisan módosított változatai voltak. Ezek a gépek 12 K 16 bites szót tartalmazó memóriával rendelkeztek. A cso-
76
SZÁMÍTÓGÉP-HÁLÓZATOK
móponti gépekben nem volt diszk, mert a mozgó alkatrészeket nem tartották elég megbízhatónak. A csomóponti gépeket a telefontársaságoktól bérelt 56 kb/s-os vona lak segítségével kapcsolták egymáshoz. Bár ma már az 56 kb/s-os vonalakat legin kább azok a tizenévesek használják, akik nem tudják az ADSL-t vagy a kábeles kap csolatot megfizetni, akkoriban még ez volt a legjobb, amit kapni lehetett. A szoftvert az alhálózatnak és a hosztoknak megfelelően két részre osztották. Az alhálózati szoftver egyrészt a hoszt-csomóponti gép kapcsolatnak a csomóponti gép felőli protokollját és a csomóponti gép-csomóponti gép protokollt tartalmazta, vala mint a nagyobb megbízhatóság érdekében a forrás csomóponti gép és a cél csomópon ti gép közötti protokollt. Az ARPANET eredeti tervét az 1.26. ábra mutatja. Az alhálózaton kívül szintén szükség volt bizonyos protokollokra. Idetartozott a hoszt-csomóponti gép kapcsolat hoszt felőli oldala, a hoszt-hoszt protokoll és az al kalmazás szoftvere. Hamarosan kiderült, hogy a BBN befejezettnek tekintette a fel adatát azzal, hogy a hoszttól a csomóponti géphez érkező üzeneteket egyszerűen csak áttette a cél csomóponti gép és a cél hoszt közötti vonalra. Robertsnek csak egyetlen problémája volt: a hosztoknak szoftverre is szükségük volt. Hogy megbirkózzon ezzel a problémával, 1969 nyarán egy találkozót hívott öszsze a Utah állambeli Snowbirdbe, a hálózatokkal foglalkozó kutatóknak, akik akkori ban többnyire még egyetemisták voltak. Az egyetemisták azt várták, hogy egy háló zati szakember majd elmagyarázza nekik a teljes hálózat és a hozzá kapcsolódó szoft ver nagy tervét, és aztán mindenkinek kiad egy kis részt, hogy azt írja meg. Teljesen meghökkentek, amikor megtudták, hogy nincs hálózati szakember, és nem létezik nagy terv sem. Nekik maguknak kellett kitalálniuk, hogy mit is kell csinálni. Ugyanakkor 1969 decemberében kezdett kibontakozni egy olyan kísérleti hálózat, amelynek négy csomópontja volt; egy az UCLA-n, egy az UCSB-n, egy az SRI-n és egy a Utahi Egyetemen. Azért választották ezt a négy helyet, mert mind a négynél igen sokan dolgoztak ARPA-szerződéssel, továbbá mindegyiküknél különböző típusú és egymással inkompatibilis számítógépek voltak (csak hogy még viccesebb legyen a helyzet). A hálózat gyorsan terebélyesedett, és hamarosan behálózta az egész orszá got. Az 1.27. ábra azt mutatja be, hogy hogyan terjeszkedett az ARPANET az első há rom évben. Hoszt-IMP protokoll
Hoszt-hoszt protokoll
Hoszt
Alhálózat
IMP 1.26. ábra. A kezdeti ARPANET hálózat
BEVEZETÉS
SRI
UTAH o
UTAH o
MIT Q--
UCSB
UCSB
o--
UCLA
UCLA RAND BBN
(a) SRI
(b) ILLINOIS UTAH / M I T -o-o 0
LINCOLN o QCASE ÓCARN
UCSB
BURROUGHS UCLA
RAND BBN HARVARD (c)
MCCLELLAN SRI NCAR - -/UTAH -
GWC _ _ LINCOLN 0
UCSB
UCLA RAND TÍNKER BBN HARVARD (d) SRI
X-PARC
FNWCó
LBL MCCLELLAN UTAH ILLINOIS MIT o o o oCCAr : AMES TIP BBN r HARVARDr AMES IMP ÓLINC ABERDEENr STANFORD NBS, ETAC, TINKER
\
MITRE^ ORADC SAAC1BELVOIR" CMU"
UCSBó
UCLA
ARpA
SDC
USC
NOAA
GWC
CASE
(e) 1.27. ábra. Az ARPANETfejlődése, (a) 1969. december, (b) 1970. július, (c) 1971. (d) 1972. április, (e) 1972. szeptember
78
SZÁMÍTÓGÉP-HÁLÓZATOK
A még gyerekcipőben járó ARPANET fejlődése érdekében, az ÁRPA kutatásokba kezdett a műholdas hálózatok és a mobil csomagkapcsolású rádiós hálózatok területén is. Az egyik híres demonstrációs kísérletben, egy Kaliforniában közlekedő teherautó a csomagkapcsolású rádiós hálózat segítségével üzeneteket küldött az SRI-nek, ahonnan az ARPANET-en továbbították azokat a keleti partra. Onnan az üzenetek a műholdas hálózaton keresztül jutottak el a londoni University College-be. Ezáltal lehetőség nyílt arra, hogy Kaliforniában egy teherautón utazó kutató egy londoni számítógépet használhasson. Ez a kísérlet ugyanakkor azt is világossá tette, hogy az ARPANET protokolljai nem igazán megfelelők több hálózatból álló rendszerek esetén. Ez az észrevétel a pro tokollok további fejlesztéséhez vezetett, aminek csúcspontja a TCP/IP-modell és a TCP/IP-protokollok kifejlesztése volt (Cerf és Kahn, 1974). A TCP/IP-t kifejezetten az internethálózatokon való kommunikációra tervezték, amire egyre nagyobb szükség is volt, miután az ARPANET-hez kapcsolódó hálózatok száma rohamosan nőtt. Annak érdekében, hogy ösztönözzék az új protokollok beilleszkedését a Berkeleyféle UNix-ba, az ÁRPA rengeteg szerződést ajánlott fel a BBN és a kaliforniai Berke ley Egyetem munkatársai számára. A Berkeley kutatói kifejlesztettek egy kényelmes hálózati (socket) interfész programot, és számos alkalmazást, segédprogramot, vala mint hálózati menedzsment programot írtak annak érdekében, hogy a hálózatok fel használását még könnyebbé tegyék. Az időzítés tökéletes volt. Sok egyetem pont akkoriban rendelte meg második vagy harmadik VAX számítógépét egy LAN-nal együtt, ami összekapcsolta a számítógépe ket, viszont nem volt hozzá hálózati szoftverük. Amikor a 4.2BSD megjelent a TCP/IP-vel, a socketekkel és számos hálózati segédprogrammal, a teljes programcso magot pillanatok alatt átírták. Ráadásul a TCP/IP segítségével könnyű volt a LANokat az ARPANET-hez csatlakoztatni, és ezt a lehetőséget sokan ki is használták. Az 1980-as években további hálózatokkal, főleg LAN-okkal bővült az ARPANET. Ahogy a gépek száma nőtt, egyre költségesebbé vált egy bizonyos hoszt megkeresése, ezért létrehozták a DNS (Domain Naming System) rendszert. A DNS rendszer célja az, hogy a gépeket domainekbe szervezze, és a hosztok neveit leképezze az IP-címük re. Azóta a DNS egy olyan általánosított, elosztott adatbázisrendszerként működik, amelyben az elnevezésekkel kapcsolatos mindenféle információt eltárolnak. Ezzel részletesebben is foglalkozunk majd a 7. fejezetben.
NSFNET Az 1970-es évek végére az NSF (National Science Foundation, Amerikai Nemzeti Tudományos Alap) is látta, mekkora hatással van az ARPANET az egyetemi kutatásra azzal, hogy lehetővé teszi az országban szétszórtan dolgozó tudósoknak az adatok megosztását és a kutatási programokban való együttműködést. Az ARPANET-re való csatlakozáshoz azonban szükség volt egy kutatási szerződésre a DoD-vel, amivel sok egyetem nem rendelkezett. Az NSF válasza erre az volt, hogy megtervezte az ARPANET egy olyan utódját, amely minden egyetemi kutatócsoport számára rendel kezésre állt. Az NSF úgy határozott, hogy először egy olyan gerinchálózatot épít, amely a hat szuperszámítógépes központját köti össze San Diegóban, Boulderben,
BEVEZETÉS
79
Champaign-ben, Pittsburghben, Ithacában és Princetonban. Minden szuperszámítógép kapott egy kistestvért, egy LSI-11 mikroszámítógépet, amelyeket fuzzballnak („szőr csomó") hívtak. A fuzzballok 56 kb/s-os vonalakkal összekötve alkották az alhálóza tot, az ARPANET műszaki megoldásával azonos módon. A szoftver azonban másmi lyen volt: a fuzzballok a TCP/IP-t használták egészen a kezdetektől fogva, így ez az első TCP/IP-re épülő WAN lett. Az NSF ezenkívül néhány (később körülbelül 20) olyan területi hálózatot is támo gatott, amelyek a gerinchálózatra kapcsolódtak. Ezek segítségével az egyetemek, a kutató laboratóriumok, a könyvtárak és a múzeumok felhasználói tudtak hozzáférni a szuperszámítógépekhez és kommunikálni egymással. A teljes hálózatot, vagyis a ge rinchálózatot és a területi hálózatokat együtt NSFNET-nek keresztelték el. A hálózat az ARPANET-hez a Carnagie-Mellon egyetem géptermében kapcsolódott, ahol egy IMP-t kötöttek össze egy fuzzballal. Az első NSFNET gerinchálózat az 1.28. ábrán látható. Az NSFNET azonnal nagy sikereket könyvelhetett el, és a beindítás pillanatától kezdve túlterhelt volt. Az NSF rögtön belekezdett az utód megtervezésébe és szerző dést kötött a michigani székhelyű MERÍT konzorciummal az üzemeltetésére. 448 kb/s-os fényvezető szálas csatornákat béreltek az MCI-től (ami azóta már egyesült a WorldCommal), és ezek képezték a gerinchálózat második változatának alapját. IBM PC-RT-ket állítottak be routernek. Az új hálózat is csak kevés ideig bírta, és így 1990re a második gerinchálózatot 1,5 Mb/s-os sebességre fejlesztették. A növekedés folytatódása arra ébresztette rá az NSF-et, hogy a kormányzat nem tudja a végtelenségig pénzelni a hálózatok kiépítését. Ezenkívül a kereskedelmi szer vezetek is csatlakozni akartak, de az NSF szabályozása tiltotta, hogy kereskedelmi szervezetek olyan hálózatot használjanak, amelyért korábban az NSF fizetett. Ezekből az okokból kifolyólag az NSF arra. biztatta a MERIT-et, az MCI-t és az IBM-et, hogy
1.28. ábra. Az NSFNET gerinchálózata 1988-ban
SZÁMÍTÓGÉP-HÁLÓZATOK
80
hozzanak létre egy nonprofit céget, az ANS-t (Advanced Networks and Services; Fejlett Hálózatok és Szolgáltatások), ami az elsó' lépés volt a kereskedelmi célú háló zatok felé. 1990-ben az ANS átvette az NSFNET feletti irányítást, és az addig 1,5 Mb/s-os vonalak sebességét 45 Mb/s-osra növelte. Ez a hálózat, az ANSNET, 5 évig működött, mielőtt eladták az America Online-nak. Ekkor már sok vállalat biztosított IP-szolgálatot piaci alapon, és már a kormányzat is tisztán látta, hogy ki kell vonulnia a hálózati szolgáltatások területéről. Az NSF négy különböző hálózatüzemeltetővel kötött szerződést egy-egy NAP (Network Access Point, hálózati hozzáférési pont) kiépítésére, hogy megkönnyítse ezt a váltást, és hogy biztosítsa azt, hogy minden területi hálózat minden másik terü leti hálózattal kommunikálhasson. Ez a négy hálózatüzemeltető a PacBell (San Fran cisco), az Ameritech (Chicago), az MFS (Washington) és a Sprint (New York City és vonzáskörzete) volt. Ahhoz, hogy gerinchálózati szolgáltatást nyújthassanak az NSFnek, a hálózatüzemeltetőknek az összes NAP-hoz kapcsolódniuk kellett. Ez a kialakítás azt jelentette, hogy egy tetszőleges területi hálózatból származó csomag több gerinchálózati szolgáltató közül választhatott a saját NAP-ja és a cél NAP közötti út megtételéhez. Ennek folyományaként a gerinchálózati szolgáltatók versenyhelyzetbe kerültek. A területi hálózatok üzemeltetői a szolgáltatások és az árak alapján választhattak közülük, és az ötlet célja éppen ez volt. Az addigi egyetlen léte ző gerinchálózatot így leváltotta egy piaci alapon működő, versenyhelyzetet teremtő infrastruktúra. Az amerikaiak szeretik kritizálni a szövetségi kormányt az általa beve zetett újítások alacsony száma miatt, de a DoD és az NSF voltak azok, akik megte remtették az internetet később megalapozó infrastruktúrát, hogy azután annak üze meltetését az iparnak adják át. Az 1990-es években sok más ország és terület is épített átfogó kutatási hálózatot, amelyek gyakran készültek az ARPANET és az NSFNET mintájára. Ezek közül kettő az EuropaNET és az EBONE, két olyan európai hálózat, amelyek 2 Mb/s-os vonalak kal indultak, és azokat később 34 Mb/s-ra bővítették. A hálózati infrastruktúra üze meltetése egy idő után Európában is az ipar kezébe került át.
Az Internet használata Miután 1983. január l-jén a TCP/IP lett az egyetlen hivatalos protokoll az ARPANETen, a hozzá csatlakozó hálózatok, gépek és felhasználók száma gyorsan nőtt. Amikor az NSFNET-et és az ARPANET-et összekapcsolták, a növekedés sebessége exponen ciálissá vált. Sok területi hálózat csatlakozott és kapcsolatok épültek Kanada, Európa és különféle csendes-óceáni szigetek hálózatai felé is. Valamikor az 1980-as évek közepén az emberek kezdtek úgy tekinteni erre a háló zatcsoportra mint egy internetre, majd később mint az Internetre, bár egyetlen politi kusnak sem jutott eszébe, hogy egy pezsgősüveget vágjon az egyik fuzzballhoz, és hi vatalosan is elkeresztelje így. Az Internetet összetartó erő továbbra is a TCP/IP hivatkozási modell és a TCP/IPprotokollkészlet. A TCP/IP lehetővé teszi az egyetemes szolgáltatások bevezetését, így hasonlóan nagy horderejű, mint amikor a vasutak szabványos nyomtávban álla-
BEVEZETÉS
81
podtak meg a 19. században, vagy amikor a telefontársaságok közös jelzési protokol lokat vezettek be. Mit jelent tulajdonképpen „rajta lenni az Interneten"? A mi definíciónk az, hogy egy gép akkor van rajta az Interneten, ha a TCP/IP-protokollkészletet használja, van saját IP-címe, és tud más gépeknek IP-csomagokat küldeni az Interneten át. Az, hogy egy számítógép képes az elektronikus levelek küldésére és fogadására még nem elég séges, hiszen az e-levelek sok Interneten kívüli hálózatba is eljutnak az átjárókon ke resztül. Ez a kép már azért sem teljesen tiszta, mert modemen keresztül több millió személyi számítógép tudja feltárcsázni internetszolgáltatóját, ahol ezek ideiglenes IPcímet kapnak, és IP-csomagokat küldenek más, Interneten lévő hosztoknak. A józan ész azt diktálja, hogy ezeket a számítógépeket is Internetre kapcsolt gépeknek tekint sük arra az időre, amíg a szolgáltató routerével kapcsolatban állnak. Az Internetnek és elődjeinek hagyományosan (vagyis 1970-től kb. 1990-ig) négy fő alkalmazása volt: 1. E-levél. Az elektronikus levelek szerkesztése, elküldése és fogadása az ARPANET kezdeti korszakában vált lehetővé, és azóta is hihetetlen népszerűségnek örvend. Sokan kapnak naponta több tucat levelet, és a külvilággal való kapcsolattartás szempontjából sokkal inkább ezt az utat tekintik elsődlegesnek, mint a telefont vagy a csigalassúságú postát. Manapság már mindenfajta számítógéphez van leve lező program. 2. Hírek. A hírcsoportok olyan speciális fórumok, amelyek az azonos érdeklődésű" emberek számára lehetővé teszik véleményük kicserélését. Több ezer hírcsoport létezik műszaki és nem műszaki témákban. Ilyen például a számítástechnika, a tu dományok, a szórakozás vagy a politika. Minden hírcsoportnak saját etikai szabá lyai, saját stílusa és szokásai vannak, és jaj annak, aki megszegi ezeket. 3. Távoli bejelentkezés. A Telnet, a Rlogin és más hasonló programok segítségével bárki bejelentkezhet az interneten egy olyan gépre, amelyhez hozzáférési joga (account) van. 4. Fájltranszfer. Az FTP program lehetőséget biztosít arra, hogy bármelyik, interneten levő gépről fájlokat másolhassunk egy másik gépre. Tömérdek mennyi ségű cikk, adatbázis és rengeteg egyéb információ érhető el ily módon. Az 1990-es évek kezdetéig az internetet főleg oktatási és kormányzati intézmé nyek, valamint ipari kutatóintézetek használták. Egy új alkalmazás, a Világháló (World Wide Web, WWW) ezt a helyzetet gyökeresen megváltoztatta, és több millió új, az oktatástól független felhasználót vont be a hálózatba. A CERN-es fizikus, Tim Berners-Lee által kifejlesztett alkalmazás nem változtatott semmit a rendelkezésre álló eszközökön, hanem egyszerűen csak könnyebbé tette a használatukat. A NCSA (National Center for Supercomputer Applications) által írt Mosaic nevű böngészőnek köszönhetően lehetőség nyílt arra, hogy olyan szövegeket, képeket, hangokat, sőt akár még mozgóképeket is tartalmazó információs oldalakat hozzunk létre, amelyekről más
82
SZÁMÍTÓGÉP-HÁLÓZATOK
oldalakra is el lehet jutni. Ha rákattintunk egy linkre, pillanatok alatt az általa mutatott oldalon találjuk magunkat. Sok cég honlapja tartalmaz olyan linkeket, amelyek segít ségével további oldalakra juthatunk el. Olyanokra, mint például termékismertetők, ár listák, vásárlási feltételek, műszaki terméktámogatás, kapcsolattartás az alkalmazot takkal, részvényesek tájékoztatása stb. Rövid időn belül rengeteg új oldal született; térképek, részvénypiaci táblázatok, könyvtári katalógusok, rögzített rádióadások. Még azoknak a könyveknek a teljes szö vegei is felkerültek az internetre, amelyek szerzői jogai már lejártak (pl. Mark Twain, Charles Dickens stb.). Sok embernek saját oldala (honlapja) is van. Az 1990-es évek növekedésének nagy része az internetszolgáltatóknak (Internet Service Provider, ISP) nevezett cégeknek köszönhető. Ezek olyan vállalatok, ame lyek az egyéni felhasználóknak nyújtják a szolgáltatásaikat. A felhasználók otthonról fel tudják hívni a cég valamely gépét, és így az Internetre kapcsolódhatnak, ahol hasz nálhatják az e-levelezést, a világhálót és más internetes szolgáltatásokat. Ezeknek a vállalatoknak az 1990-es évek végén több tízmillió új ügyfele volt évente, és ez (a te lefonhálózat esetéhez hasonlóan) nyilvános eszközzé változtatta azt a hálózatot, amely addig csak a hadsereg és a tudományos közösség játékszere volt. Az Internet jelenlegi felhasználóinak száma ismeretlen, de az biztos, hogy ez a szám az egész világon öszszesen több százmillió főre rúg, és valószínűleg nemsokára eléri az egymilliárdot.
Az Internet felépítése Ebben a szakaszban rövid áttekintést adunk a ma Internetéről. Mivel sok vállalategye sítés történt a telefontársaságok és az ISP-k körében, a kép egy kissé zavaros, és nehéz kideríteni, hogy az egyes szereplők tulajdonképpen mit is szolgáltatnak. Ennek fo lyományaként az itt leírt kép szükségszerűen egyszerűbb a valóságnál. A teljes kép az 1.29. ábrán látható. Vizsgáljuk meg az ábra egyes részeit! Kezdjük a vizsgálódást egy olyan kliensnél, aki éppen otthon van. Tegyük fel, hogy a kliens felhívja az ISP-jét egy kapcsolt telefonvonalon, az 1.29. ábrán is látható módon. A modem egy kártya a számítógépben, amely a számítógép által előállított di gitális jeleket analóg jelekké alakítja annak érdekében, hogy azok akadály nélkül át mehessenek a telefonhálózaton. Ezeket a jeleket az ISP POP-jéhez (Point of Presence, szolgáltatási pont) továbbítják, ahol ezeket a jeleket eltávolítják a telefonháló zatból, és az ISP területi hálózatára játsszák át. Ettől a ponttól a rendszer teljesen di gitális és csomagkapcsolt. Amennyiben az ISP nem más, mint a helyi telefontársaság, a POP valószínűleg abban a telefonközpontban található, ahová a felhasználó telefon vezetéke befut. Ha az ISP nem a helyi telefontársaság, akkor a POP néhány kapcsoló központtal arrébb is lehet. Az ISP területi hálózata az ISP által kiszolgált különféle városokban elhelyezett, egymással összekötött routerekből áll. Ha a csomag célja egy olyan hoszt, amelyet ugyanaz az ISP szolgál ki, akkor a csomag egyenesen a cél hoszthoz kerül. Egyéb esetekben a csomagot az ISP a saját gerinchálózati szolgáltatójának adja át. A táplálkozási lánc legtetején a nagy gerinchálózati szolgáltatók foglalnak helyet, olyan cégek, mint az AT&T vagy a Sprint. Ezek a cégek üzemeltetik a nagy nemzet-
BEVEZETÉS
83
1.29. ábra. Az Internet áttekintése közi gerinchálózatokat, több ezer, fényvezető szálakkal összekötött router segítségé vel. A szerverfarmokat (vagyis másodpercenként több ezer weboldal kiszolgálására képes gépeket) üzemeltető nagyvállalatok és társzolgáltatók gyakran közvetlenül a ge rinchálózatra kapcsolódnak. A gerinchálózatok üzemeltetői azzal segítik elő az ilyen közvetlen kapcsolatok megvalósítását, hogy úgynevezett szolgáltatói szállodákat (carrier hotels) hoznak létre, ahol helyeket lehet bérelni. Ezek a szállodák lényegé ben olyan berendezésszekrények, amelyek egy szobában vannak a routerrel, és így te szik lehetővé a rövid és gyors összeköttetést a gerinchálózat és a szerverfarm között. Ha a gerinchálózat olyan csomagot kap, amelyet egy általa kiszolgált ISP-nek, vagy cégnek címeztek, akkor továbbküldi azt a célhoz legközelebbi routeréhez, és ott adja le. Mivel nagyszámú és változatos méretű gerinchálózat létezik a világon, ezért a csomagnak esetleg egy versenytárs gerinchálózatba kell átmennie. Minden nagyobb gerinchálózat kapcsolódik a NAP-hoz (ahogy azt a korábbiakban megtárgyaltuk), an nak érdekében, hogy a csomagok a gerinchálózatok között át tudjanak járni. Lényegé ben egy NAP egy olyan szoba, amely tele van routerekkel, minden gerinchálózathoz tartozik legalább egy. A szobán belül egy LAN köt össze minden routert, lehetővé téve azt, hogy a csomagokat bármely gerinchálózatról bármely másikra továbbítani lehes sen. A NAP-okban létrehozott kapcsolatokon kívül a nagyobb gerinchálózatok számos egyéb közvetlen összeköttetést tartanak fenn a routereik között. Ezt a megoldást ma gántovábbításnak (priváté peering) nevezik. Egyike az internet számos paradoxom nak, hogy azok az ISP-k, amelyek nyilvánosan versenyeznek egymással, gyakran együtt működnek a színfalak mögött a magántovábbítás területén (Metz, 2001). Ezzel az internet gyors bemutatásának a végéhez értünk. A következő fejezetekben még sok mindent fogunk elmondani egyes elemeiről és azok felépítéséről, az alkalma zott algoritmusokról és protokollokról. Mielőtt azonban ezt a területet végleg elhagy-
84
SZÁMÍTÓGÉP-HÁLÓZATOK
nánk, még talán érdemes megemlíteni, hogy egyes vállalatok is összekapcsolták a már meglévő saját belső hálózataikat, és ezt sokan közülük az internetet megalapozó mód szerek használatával tették meg. Ezeket az intraneteket általában csak a cég rendsze rén belülről lehet elérni, de ettől eltekintve ugyanúgy működnek, mint az internet.
1.5.2.
Összeköttetés alapú hálózatok: az X.25, a kerettovábbító és az ATM
A hálózatok alkalmazásának kezdetei óta dúl a háború azok között, akik az összeköt tetés nélküli (pl. datagram) alhálózatokat támogatják és azok között, akik az össze köttetés alapú alhálózatokat részesítik előnyben. Az összeköttetés nélküli alhálózatok legfőbb támogatói az ARPANET/Internet közösségének tagjai. Emlékezzünk rá, hogy az ARPANET pénzelésével és felépítésével a DoD eredeti célja az volt, hogy egy olyan hálózatot hozzon létre, amely folytatni tudná a működést még akkor is, ha nuk leáris találatok már sok routerét és átviteli vonalát megsemmisítették. Ezért a hibatű rés volt az egyik legfontosabb szempont; nem a felhasználóknak való pontos számlá zás. Ez a megközelítés egy olyan összeköttetés nélküli kialakításhoz vezetett, amely ben minden csomag útvonalát a többi csomagétól függetlenül határozzák meg. Né hány köztes router kiesése egy viszony folyamán semmilyen kárt nem okoz, amennyi ben a rendszer képes úgy újraszervezni magát, hogy a további csomagok akkor is ké pesek legyenek valamilyen útvonalon eljutni a célhoz, ha ez a korábbi csomagok út vonalán már nem lehetséges. Az összeköttetés alapú megoldás tábora a telefontársaságok világából indult el. A telefonhálózatokban a felhasználónak először tárcsáznia kell a hívott fél számát, majd meg kell várnia, hogy a kapcsolat létrejöjjön, mielőtt beszélni kezd vagy adatot küld. Az így kiépített összeköttetéshez egy végig változatlan útvonal tartozik, amelyet a rendszer addig tart fenn, amíg az összeköttetés meg nem szakad. Minden szó vagy csomag ugyanazon az útvonalon halad. Ha az összeköttetés egyik vonalszakasza vagy routere felmondja a szolgálatot, a hívás megszakad. Pontosan ez az a tulajdonság, amelyet a DoD nem szeretett az összeköttetés alapú megoldásban. Miért szeretik hát a telefontársaságok? Ennek két oka van: 1. Szolgáltatásminőség. 2. Számlázás. Azzal, hogy először összeköttetést alakít ki, az alhálózatnak lehetősége nyílik arra, hogy olyan erőforrásokat foglaljon le, mind például a pufferterület vagy a routerek processzorideje. Ha éppen nem áll rendelkezésre elegendő erőforrás, amikor valaki hívást kezdeményez, akkor a hívást elutasítják, és a felhasználó egy, a foglalt jelzés hez hasonló hangot hall. Mindezek együtt biztosítják azt, hogy a létrehozott kapcso latok jó minőségű szolgáltatást nyújtsanak. Ha egy összeköttetés nélküli hálózatban túl sok csomag érkezik egyszerre ugyanahhoz a routerhez, a router túlterhelődhet, és akár el is veszíthet néhány csomagot. A küldő ezt előbb-utóbb észreveszi, és újra el küldi azokat, így a szolgáltatásminőség ingadozni kezd, és az összeköttetés alkalmat lanná válik a hangok vagy mozgóképek átvitelére, azt az esetet kivéve, amikor a háló-
85
BEVEZETÉS
zat terhelése nagyon alacsony. Szükségtelen hangsúlyozni azt, hogy a telefontársasá gok számára nagyon fontos a megfelelő hang- és mozgóképminőséget biztosító szol gáltatás, innen ered összeköttetés-párti hozzáállásuk is. A másik ok, amiért a telefontársaságok annyira szeretik az összeköttetés alapú szolgáltatást az, hogy hozzászoktak a kapcsolási időn alapuló számlázáshoz. Amikor távolsági hívást kezdeményez valaki, percenként növekedik a számla. Amikor a háló zatok megjelentek, szinte maguktól egy olyan modell szerint fejlődtek, amelyben a percenkénti számlázást egyszerű megvalósítani. Ha a felhasználónak létre kell hoznia egy összeköttetést mielőtt adatokat küldene, akkor ez az a pillanat, amikor a számlá zási idő elkezdődik. Ha nincsen összeköttetés, akkor nem is lehet az összeköttetés ideje alapján számlázni a forgalmat. A számlázási adatok karbantartása nagyon sokba kerül. Ha a telefontársaságok nem tartanák nyilván a forgalmat, nem számláznának, hanem havi átalánydíjra térnének át, valamint nem korlátoznák a hívásokat, az valószínűleg rengeteg pénzt takarítana meg nekik, annak ellenére, hogy ez a szabályozás több hívást eredményezne. Politikai, szabályozási és más tényezők azonban ez ellen szólnak. Érdekes, hogy más területe ken vannak átalánydíjas szolgáltatások. Például, a kábeltévéért átalánydíjat számláz nak, attól teljesen függetlenül, hogy mennyi csatornát nézünk. Tervezhették volna eleve adásonként számlázott (pay-per-view) rendszerűre is, de nem tették, részben a számlázás magas költségei miatt. (A tv-adások minőségét is figyelembe véve az is le het, hogy a túl kicsi forgalom okozta bevételkieséstől is tartottak.) Egy másik példa az, hogy sok vidámpark napi belépőket árusít, amelyek korlátlan használatra szólnak, szemben az utazó vidámparkokkal, ahol általában menetenként kell fizetni. Mindezek után valószínűleg nem éri meglepetésként az olvasót, hogy minden olyan hálózat, amelyet a telefontársaságok terveztek, összeköttetés alapú alhálózattal rendelkezik. Ami talán meglepő az az, hogy az internet is ebbe az irányba fejlődik an nak érdekében, hogy jobb szolgáltatásminőséget biztosítson a hangok és a mozgóké pek átvitelének. Erre a témára még vissza fogunk térni az 5. fejezetben, de most vizs gáljunk meg néhány összeköttetés alapú hálózatot.
Az X.25 és a kerettovábító hálózat Az első összeköttetés alapú hálózati példánk az X.25, amely az első nyilvános adat hálózat volt. Amikor az 1970-es években üzembe helyezték, a telefonszolgáltatás még mindenhol egy monopólium kezében volt, így az egyes országok telefontársaságai azt várták el, hogy egyetlen adathálózat legyen az egész országban - mégpedig az övék. Az X.25 használatához egy számítógép először összeköttetést hozott létre egy távoli számítógéppel, vagyis felhívta azt telefonon. Ez az összeköttetés azután egy összeköt tetési azonosítószámot kapott, amelyet az adatcsomagokban használtak (egyszerre több kapcsolat is lehetett nyitva). Az adatcsomagok nagyon egyszerűek voltak, egy 3 bájtos fejrészből (header) és legfeljebb 128 bájtnyi adatból álltak. A fejléc tartalmazta a 12 bites összeköttetés-azonosítót, a csomag sorszámát, egy nyugtázó számot és egyéb információkat néhány további biten. Az X.25 hálózatok nagyjából egy évtize dig működtek, vegyes sikerrel.
86
SZÁMÍTÓGÉP-HÁLÓZATOK
Az 1980-as években az X.25 hálózatok nagy részét egy új hálózattípusra, a keret továbbító (frame relay) hálózatra cserélték. A kerettovábbítás lényege az, hogy öszszeköttetés alapú szolgáltatást biztosít hibavédelem és forgalomszabályozás nélkül. Mivel összeköttetés alapú, a csomagok a feladás sorrendjében érkeznek meg (amenynyiben megérkeznek egyáltalán). A sorrendet megőrző továbbítás, valamint a hibavé delem és a forgalomszabályozás hiánya a kerettovábbítást a nagykiterjedésű LANokhoz teszik hasonlóvá. A legfontosabb alkalmazása a vállalatok különböző irodáiban levő LAN-ok összekapcsolása. A kerettovábbítás szerény sikereket könyvelhetett el, de még manapság is használják néhány helyen.
ATM Egy másik, és egyben sokkal fontosabb összeköttetés alapú hálózat az ATM (Asynchronous Transfer Mode, aszinkron átviteli mód). Ennek, a kissé furcsa névvá lasztásnak az az oka, hogy egy telefonhálózaton a legtöbb átvitel szinkron, az ATM pedig nem az. Az ATM-et az 1990-es évek elején, elképesztő mértékű nyilvános figyelem közép pontjában tervezték és építették meg (Ginsburg, 1996; Goralski, 1995; Ibe, 1997; Kim és mások, 1994 és Stallings, 2000). Azt várták, hogy az ATM meg fogja oldani a világ összes, hálózatokkal és távközléssel kapcsolatos problémáját azzal, hogy egyesíti a hangátvitelt, az adattovábbítást, a kábeltévét, a telexet, a távírót, a postagalambot, a cérnával összekötött konzervdobozokat, a tam-tam dobokat, a füstjeleket és minden mást egyetlen integrált rendszerben, amely mindent meg tud tenni mindenkinek. Nem ez történt. A problémák nagy része hasonló volt azokhoz, amelyeket korábban az OSIval kapcsolatban említettünk, vagyis rossz időzítés, rossz műszaki megoldások, rossz megvalósítás és rossz politika. Miután éppen visszaverték a telefontársaságokat az el ső menetben, az internetes közösségben sokan az „internet kontra telefontársaságok" történet folytatásaként tekintettek az ATM-re. De igazából nem az volt, és még a datagramok legelvetemültebb fanatikusai is tudatában voltak annak, hogy az internet szolgáltatásminősége sok kívánnivalót hagy még maga után. Száz szónak is egy a vé ge, az ATM sokkal sikeresebb volt, mint az OSI, és még mostanában is széleskörűen használják, mélyen a telefonrendszerbe ágyazva, gyakran IP-csomagok mozgatására. Mivel manapság az ATM-et főleg távolsági szállításra szakosodott szolgáltatók hasz nálják, a felhasználók többsége nem is tud a létezéséről, de ettől függetlenül él és virul.
ATM virtuális áramkörök Mivel az ATM-hálózatok összeköttetés alapúak, az adatok küldése előtt először egy csomaggal összeköttetést kell létesítenünk. Ahogyan az összeköttetést létesítő csomag áthalad az alhálózaton, minden útba eső router feljegyzi a belső nyilvántartó tábláza tába, hogy a kapcsolat létrejött, és lefoglalja a kapcsolat számára szükséges erőforrlsokat is. Ezeket az összeköttetéseket gyakran virtuális áramköröknek (virtual circuit) is nevezik, a telefonhálózatokban használatos fizikai áramkörök mintájára. A
87
BEVEZETÉS
Router
Küldő folyamat
Alhálózat
Virtuális áramkör
Vevő folyamat
1.30. ábra. Egy virtuális áramkör legtöbb ATM-hálózat az állandó virtuális áramkörök (permanent virtual circuit) létrehozását is támogatja. Ezek állandó kapcsolatot jelentenek két (távoli) hoszt kö zött, hasonlóan a telefonos világból ismert bérelt vonalakhoz. Minden összeköttetés (az ideiglenesek és az állandók egyaránt) rendelkezik egy egyedi összeköttetés azonosítóval. Egy lehetséges virtuális áramkört mutat be az 1.30. ábra. Miután az összeköttetést a felek kiépítették, bármelyik fél megkezdheti az adatok átvitelét. Az ATM alapötlete az, hogy minden információ kicsi, rögzített méretű cso magokban utazik, amelyeket celláknak (cell) nevezünk. A cellák hossza 53 bájt, amelyből 5 bájt a fejrész, így 48 bájt marad az adatoknak, ahogyan az 1.31. ábrán is látható. A fejrészben foglal helyet az összeköttetés azonosítója is, hogy a küldő és ve vő hosztok, valamint a közbülső routerek is tudják, melyik kapcsolat cellájáról van szó. Ez az információ teszi lehetővé azt is, hogy a routerek megfelelően tudják irá nyítani az egyes bejövő cellákat. A cellaforgalom nagysebességű irányítását a hardver végzi. Tulajdonképpen a rögzített cellaméret bevezetésének fő oka az, hogy könnyű olyan hardveres forgalomirányítót építeni, amely rövid, rögzített méretű csomagokat kezel. A változó hosszúságú IP-csomagok forgalmát szoftveresen kell irányítani, ami lassabb folyamat. Az ATM másik előnye az, hogy a hardvert úgy is be lehet állítani, hogy egy bejövő cellát több kimeneti vonalra másoljon rá. Ez a tulajdonság szükséges egy olyan tv-műsor kezeléséhez, amelyet sok vevőhöz kell szétszórni. Végül, a kismé retű cellák nem tudják hosszú ideig lefoglalni a vonalat, ami jelentősen megkönnyíti a szolgáltatásminőség garantálását. Minden cella ugyanazon az útvonalon halad a küldőtől a fogadóig. A cellák meg érkezése nem garantált, de a sorrendjük igen. Ha az 1. és a 2. cellát ebben a sorrend ben küldték el, és mindkettő megérkezik, akkor ebben a sorrendben érkeznek meg. Az nem fordulhat elő, hogy először a 2. és utána az 1. érkezzen meg, de az egyik vagy mindkettő elveszhet útközben. Az elveszett cellák által okozott hibák elhárítása a ma gasabb szintű protokollok feladatkörébe tartozik. Vegyük észre, hogy bár ez a garan cia nem tökéletes, mégis jobb, mint amit az internet nyújt. Ott ugyanis a csomagok Bájt
5
48
Fejrész
Felhasználói adat
1.31. ábra. Egy ATM-cella
88
SZÁMÍTÓGÉP-HÁLÓZATOK
nem csak elveszhetnek, de a sorrendjük is megcserélődhet útközben. Ezzel szemben az ATM azt garantálja, hogy a cellákat sorrendhelyesen továbbítja. Az ATM-hálózat felépítése hasonlít a hagyományos WAN-okéhoz, vonalakból és kapcsolóeszközökből (routerekből) áll. Az ATM-hálózat leggyakoribb átviteli sebessé gei 155 Mb/s és 622 Mb/s, de magasabb sebességeket is támogat. A 155 Mb/s-os sebes séget azért választották, mert ez körülbelül annyi, amennyire a nagy felbontású digitális tv-adásoknak (high defmition tv, HDTV) szüksége van. A sebességet azért választották egész pontosan 155,52 Mb/s-nak, mert így kompatibilis lett az AT&T SONET nevű át viteli rendszerével, amit a 2. fejezetben fogunk tanulmányozni. A 622 Mb/s-os sebessé get azért választották, mert ezen négy 155 Mb/s-os csatornát lehet továbbítani.
Az ATM hivatkozási modell Az ATM-nek saját hivatkozási modellje van, amely mind az OSI, mind a TCP/IPmodelltől különbözik. Ezt a modellt mutatja be az 1.32. ábra. A modell három réteg ből áll, ezeket fizikai, ATM- és ATM adaptációs rétegnek hívják. A felhasználók ezekre a rétegekre tetszőleges más rétegeket építhetnek rá. A fizikai réteg a fizikai átviteli közeggel foglalkozik. Idetartoznak a feszültség szintek, a bitidőzítések és még sok minden más. Az ATM nem ír elő szabályokat a fi zikai közegre, hanem csak annyit mond, hogy az ATM-cellákat elküldheti maga az ATM-hálózat saját elektromos vagy optikai kábelein, de arra is van mód, hogy a cellá kat becsomagoljuk egy másik adatátviteli rendszer csomagjának adatmezejébe. Ma gyarán az ATM-et úgy tervezték, hogy független legyen az átviteli közegtől. Az ATM-réteg (ATM layer) a cellákkal és azok továbbításával foglalkozik. Defi niálja a cella felépítését, és megadja a fejrész egyes mezőinek a jelentését. A virtuális áramkörök felépítése és lebontása szintén ennek a rétegnek a feladata, akárcsak a tor lódásvédelem. Síkmenedzsment Rétegmenedzsment Vezérlő sík Felsőbb rétegek
CS 52 D —
A
Felhasználói sík Felsőbb rétegek
™ adaptációs réteg ATM-réteg
>MD
Fizikai réteg
1.32. ábra. Az ATM hivatkozási modell
CS: Konvergencia alréteg SAR: Szegmentálási és összerakási alréteg TC: Átviteli konvergencia alréteg PMD: Fizikai közegtől függő alréteg
89
BEVEZETÉS
Mivel a legtöbb alkalmazás nem akar a cellákkal közvetlenül foglalkozni (bár né hány alkalmazás megtehetné ezt), ezért az ATM-réteg felett létrehoztak még egy réte get, amely a felhasználó számára a cellánál nagyobb méretű csomagok elküldését teszi lehetővé. Az ATM-interfész feldarabolja ezeket a csomagokat, az így kapott cellákat egyesével továbbítja, és a másik oldalon pedig újból összerakja őket egy csomagba. Ez a réteg az ATM adaptációs réteg (ATM Adaptation Layer, AAL). Szemben a korábbi kétdimenziós modellekkel az ATM-modell egy háromdimen ziós modell, amint ez az 1.32. ábrán is látható. A felhasználói sík (user pláne) az adatok továbbításával, forgalomszabályozással, hibajavítással és más felhasználói funkciókkal foglalkozik. A vezérlési sík (control pláne) feladata a kapcsolatme nedzsment. A rétegmenedzsment (layer management) és síkmenedzsment (pláne management) síkok célja az erőforrások kezelése, illetve a rétegek közötti koordináció. A fizikai és az AAL-réteg két alrétegre bomlik, amelyek közül az alsó a szükséges rétegfeladatokat látja el, a felső (konvergencia alréteg) pedig az eggyel feljebb levő OSIréteg
3/4
2/3
ATMréteg
ATMalréteg
Feladatok
CS
Szabványos interfész biztosítása (konvergencia)
SAR
Szegmentálás és összerakás
AAL
Forgalomszabályozás Cellafejrész előállítása/kinyerése Virtuális áramkör/útvonal menedzsmentje Cellák multiplexelése/demultiplexelése
ATM
2
TC
Cellasebesség szétcsatolása Fejrész ellenőrző összegének előállítása és ellenőrzése Cella előállítása Cellák becsomagolása és kicsomagolása az elküldött borítékból Keret előállítása
PMD
Bitidőzítés Fizikai hozzáférés a hálózathoz
Fizikai
1
1.33. ábra. Az ATM rétegei és alrétegei, valamint azok feladatai
90
SZÁMÍTÓGÉP-HÁLÓZATOK
réteg számára biztosít megfelelő interfészt. Az egyes rétegek és alrétegek funkcióit az 1.33. ábrán látható táblázat foglalja össze. A fizikai rétegtől függő (Physical Médium Dependent, PMD) alréteg a valódi, fi zikai vezetékkel áll kapcsolatban. Ez az alréteg továbbítja a biteket mindkét irányba, és kezeli a bitek időzítését. Különböző hálózatok és kábelek esetén ez az alréteg más és más. A fizikai réteg másik alrétege az átviteli konvergencia (Transmission Convergence, TC) alréteg. A cellákat a TC alréteg bitsorozat formájában továbbítja a PMD alrétegnek. Ezt könnyű megcsinálni. A másik oldalon a TC alréteg egy sima bitso rozatot kap az ottani PMD alrétegtől, és azt kell cellák sorozatává átalakítania, majd továbbítania az ATM-rétegnek. A TC alréteg minden olyan feladatot ellát, ami a bit sorozat alapján a cellák elejének és végének felismeréséhez szükséges. Az ATMmodellben ez a funkció a fizikai rétegben található. Az OSI-modellben és a legtöbb hálózatban viszont a keretezés, tehát egy bitfolyam átalakítása keretek vagy cellák so rozatára, az adatkapcsolati réteg feladata. Ezért ezt mi is az adatkapcsolati rétegnél fogjuk tárgyalni, nem pedig a fizikai rétegnél. Mint korábban már említettük, az ATM-réteg foglalkozik a cellákkal, beleértve azok előállítását és szállítását is. Az ATM legérdekesebb tulajdonságai is ezzel a ré teggel kapcsolatosak. Ez az alréteg az OSI-modell adatkapcsolati és hálózati rétegé nek a keveréke, de még sincs alrétegekre osztva. Az AAL-réteg két alrétegre bomlik, a szétbontás és összerakás (Segmentation And Reassembly, SAR) alrétegre és a konvergencia alrétegre (Convergence Sublayer, CS). Az alsó alréteg a forrásállomásban cellákra bontja a csomagokat, a cél állomásban pedig újra összerakja azokat. A felső alréteg az ATM-es rendszereket al kalmassá teszi arra, hogy különböző alkalmazások számára különféle szolgáltatásokat nyújtsanak (pl. a fájlátvitel és a hálózati videózás különböző feladatokat jelent hiba kezelés, időzítés stb. szempontjából). Mivel mostanra az ATM már megkezdte hanyatlását, nem fogunk róla több szót ejteni a könyvben. Ennek ellenére valószínűleg jelen lesz még legalább néhány évig, mivel elég sok helyen használják. Az ATM-ről további információk találhatók (Dobrowski és Grise, 2001; valamint Gadecki és Heckart, 1997).
1.5.3.
Az Ethernet
Mind az Internetet, mind az ATM-et nagykiterjedésű hálózatokhoz találták ki. Sok cégnek, egyetemnek és más szervezetnek van azonban nagyszámú számítógépe, ame lyeket szintén össze kell kötni. Ez az igény vezetett a helyi hálózatok kidolgozásához. Ebben a szakaszban a legnépszerűbb LAN-ról, az Ethernetről fogunk néhány szót ejteni. A történet Hawaii érintetlen szigetén kezdődött az 1970-es évek elején. Az „érin tetlen" szót itt úgy kell érteni, hogy „működő telefonhálózattal nem rendelkező". A szabadságukat töltőknek kellemes, hogy nem szakítják meg a napjaikat telefonhívá sok, de Norman Abramson kutató és a Hawaii Egyetemen dolgozó kollégái számára ez nem tette kellemesebbé az életet, mivel ők éppen a távoli szigeteken levő felhasz nálóikat próbálták a Honoluluban található fő számítógéphez kapcsolni. A Csendes óceán fenekére kábeleket fektetni nem állt módjukban, így más megoldás után néztek.
BEVEZETÉS
91
A megoldást a kis hatósugarú rádiózásban találták meg. Minden felhasználói ter minált felszereltek egy kis rádióval, amely két frekvencián üzemelt: az egyik frekven ciát a felfelé (a központi számítógép felé), a másikat pedig a lefelé (a központi szá mítógép felől) utazó adatok használták. Amikor a felhasználó csatlakoztatni akarta a számítógépét, csak elküldött egy csomagot a felfelé irányuló csatornán. Ha senki más nem forgalmazott abban a pillanatban, akkor a csomag valószínűleg átment, és nyug tát küldtek rá a lefelé irányuló csatornán. Ha versenyhelyzet alakult ki a felfelé irá nyuló csatornáért, és a terminál észrevette, hogy nem jött válasz, akkor újra próbálko zott. Mivel a lefelé irányuló csatornán egyetlen küldő volt (a központi számítógép), itt soha sem történhetett ütközés. Ez az ALOHANET névre hallgató rendszer alacsony forgalmi terhelés mellett egészen jól működött, de nagyon bedugult, amikor a felfelé irányuló forgalom nagy volt. Körülbelül ugyanekkor kapta meg diplomáját az MIT-n (Massachusetts Institute of Technology) Bob Metcalfe, aki ez után a Harvardra ment át, hogy ledoktoráljon. A ta nulmányai során találkozott Abramson munkájával. A téma annyira felkeltette az ér deklődését, hogy miután ledoktorált úgy döntött, hogy Hawaiion tölti a nyarat, és egy kicsit együtt dolgozik Abramsonnal. Mikor a nyár végén munkába állt a Xerox PARC (Palo Alto Research Center; Palo Altó-i kutatóközpont) központjában, azt látta, hogy az ottani kutatók éppen azt tervezik és építik meg, amit később személyi számítógép nek kereszteltek el. Ezek a gépek azonban elszigeteltek voltak. Az Abramson munká járól szerzett ismeretei alapján ő és David Boggs nevű kollégája megtervezték, és meg is valósították az első helyi hálózatot (Metcalfe és Boggs, 1976). A rendszert Ethernetnek („éterháló") keresztelték el, arról az anyagról, amelyet az elektromágneses sugárzás terjedési közegének véltek korábban. (Amikor a brit fizi kus, James Clerk Maxwell a 19. században felfedezte, hogy az elektromágneses su gárzások hullámegyenletekkel is leírhatók, a tudósok feltételezték, hogy a tér valami lyen könnyű közeggel van tele, amelyben a hullámok terjednek. A fizikusok csak Michelson és Morley híres, 1887-es kísérlete után fedezték fel, hogy az elektromágne ses sugárzás vákuumban is tud terjedni.) Az átviteli közeg itt nem vákuum volt, hanem egy vastag koaxiális kábel („az éter"), amely akár 2,5 km hosszú is lehetett (500 méterenként egy ismétlővel). A ká belre csavarozott adóvevőkkel akár 256 gépet lehetett csatlakoztatni a rendszerhez. Annak a kábelnek, amire több számítógép van kötve párhuzamosan, sokcsatlakozós kábel (multidrop cable) a neve. A rendszer 2,94 Mb/s-os sebességgel üzemelt. A fel építését az 1.34. ábrán vázoltuk fel. Az Ethernet egy nagy előnnyel bírt az ALOHANET-tel szemben: a számítógépek adás előtt belehallgattak a csatornába, hogy megbi zonyosodjanak arról, hogy éppen senki más nem ad. Ha egy számítógép foglaltnak találta a csatornát, megvárta a folyamatban levő adás végét. Ez a vizsgálat megelőzte, hogy az új adás keveredjen egy már folyamatban levővel, és így sokkal nagyobb haté konyságot tett lehetővé. Az ALOHANET azért nem így működött, mert az egyik szige ten elhelyezett terminálnak nem volt módja érzékelni egy tőle távoli szigeten elhelyezett másik terminál adásait. Amikor egyetlen közös kábel van, ez a probléma nem létezik. Annak ellenére, hogy a számítógépek adás előtt belehallgatnak a csatornába, egy probléma mégis felmerül: mi történik, ha két vagy több számítógép várja az éppen folyó adás végét, és utána mind egyszerre kezd adni? A megoldás az, hogy a számító-
92
SZÁMÍTÓGÉP HÁLÓZATOK
^
tZB—
Éter 1.34. ábra. Az eredeti Ethernet felépítése gépek hallgatják a csatornát adás közben is, és ha interferenciát fedeznek fel, akkor zavarni kezdik a csatornát, hogy figyelmeztessék a küldőket. Ezután véletlen hosszú ideig várnak, és csak utána próbálkoznak újra. Ha további ütközések történnek, akkor a véletlen időt mindegyik ütközés után megduplázzák, így időben szétszórják a verseny helyzetben levő adásokat, így adva esélyt arra, hogy valamelyik elkezdhessen adni. A Xerox Ethernete olyan sikeres volt, hogy a DEC, az Intel és a Xerox 1978-ban meg állapodott egy közös, 10 Mb/s-os Ethernet-szabványban, amely a DIX szabvány nevet kapta. Két kisebb változtatás után a DlX-ből jött létre az IEEE 802.3 szabvány 1983-ban. Sajnos a Xeroxnak már korábban is voltak olyan jelentékeny fejlődést elindító termé kei (mint például a személyi számítógép), amelyekből azután nem tudott piaci tőkét ko vácsolni. Ezt a történetet írja meg (Smith és Alexander, 1988) A Jövő elherdálása című könyvében. Amikor látta, hogy a Xerox nem mutat nagy érdeklődést az Ethernet gya korlati felhasználása iránt, Metcalfe megalapította saját cégét, a 3Com-ot, hogy Ethernet csatolókat adjon el PC-khez. Máig több mint 100 millió darab kelt el belőlük. Az Ethernet tovább fejlődött, és még most is fejlődik. Azóta már 100 Mb/s-os, 1000 Mb/s-os és még nagyobb sebességű változatok is létrejöttek. A kábelezés is ja vult, valamint kapcsolási és más képességek is bekerültek a szolgáltatások közé. Az Ethernetet részletesen a 4. fejezetben fogjuk tanulmányozni. Mielőtt más vizekre eveznénk még érdemes megemlíteni, hogy az Ethernet (IEEE 802.3) nem az egyetlen LAN-szabvány. A bizottság a vezérjeles sínt (tokén bus: 802.4) és a vezérjeles gyűrűt (tokén ring: 802.5) is szabványosította. A három, többékevésbé inkompatibilis szabvány iránti igény eredetének igen kevés köze van a mű szaki kérdésekhez, de nagyon is sok a politikához. A szabványosítás idején a General Motors egy olyan LAN-t akart elfogadtatni, amelyben az elrendezés ugyanaz volt, mint az Ethernetben (egy egyenes kábel), de a számítógépek felváltva adhattak. Az adás jogát egy vezérjelnek (tokén) nevezett rövid csomag képviselte, amit gépről gépre adtak tovább. Az ütközések elkerülése érdekében mindig csak az a számítógép adhatott, amelyik éppen birtokolta a vezérjelet. A General Motors kijelentette, hogy ez a séma kulcsfontosságú az autógyártásban, és elszántan védte ezt az álláspontját. A 802.4 azonban dacolt ezzel az állítással, és szinte teljesen kiveszett a gyakorlatból. A GM-hez hasonlóan az IBM-nek is volt egy személyes kedvence: az általa kifej lesztett vezérjeles gyűrű. A vezérjelet a gépek körbeadogatták a gyűrűn, és egy gép
93
BEVEZETÉS
akkor adhatott, ha már nála volt a vezérjel, de azt még nem tette vissza a gyűrűre. A 802.4-gyel ellentétben ez a (802.5 számon szabványosított) séma még mindig hasz nálatban van az IBM telephelyein, azonban az IBM telephelyein kívül már lényegében sehol sem használják. Mindezek ellenére éppen egy gigabites változaton (802.5v) dol goznak, de nem tűnik valószínűnek, hogy ez valaha is felveheti a versenyt az Ether nettel. Dióhéjban tehát azt mondhatnánk, hogy háború dúlt az Ethernet, a vezérjeles busz és a vezérjeles gyűrű között, és az Ethernet gyó'zött főleg annak köszönhetően, hogy ez volt az első, és hogy a versenytársai nem voltak annyira jók.
1.5.4.
Vezeték nélküli LAN-ok: 802.11
Már kevéssel a hordozható számítógépek megjelenése után is sokan álmodtak arról, hogy egyszer majd csak besétálnak az irodába, és a hordozható számítógépük vala milyen varázslatos módon azonnal felkapcsolódik az internetre. Amint ez az igény felmerült, több csoport is elkezdett módszereket kidolgozni a cél elérésére. A leggya korlatiasabb megközelítés az, hogy mind az irodai számítógépeket, mind a noteszgé peket kis hatósugarú rádió-adóvevőkkel szereljük fel, így téve lehetővé köztük a kommunikációt. Ez a munka hamar eredménnyel járt: megjelentek a vezeték nélküli LAN-ok, amelyeket sok cég forgalmaz. A baj az volt, hogy ezek inkompatibilis rendszerek voltak. A megoldások számá nak ilyen mértékű növekedése azt eredményezte, hogy egy X márkájú rádióval ren delkező számítógépet nem lehetett működésre bírni egy Y márkájú bázisállomással felszerelt szobában. Végül az ipar úgy döntött, hogy jó ötlet lenne kidolgozni egy ve zeték nélküli LAN-szabványt, ezért megbízták az IEEE azon bizottságát, amelyik a vezetékes LAN-okat is szabványosította, hogy dolgozzon ki egy szabványt a vezeték nélküli LAN-okra. Az általuk megtervezett szabványt 802.11-nek nevezték el, az egyik gyakori beceneve a WiFi. Mivel ez egy fontos szabvány, és megérdemli a tisz teletet, a rendes nevén (ami a 802.11) fogjuk nevezni. A javasolt szabványos hálózatnak kétféle módon kellett működnie: 1. Egy bázisállomás jelenlétében. 2. Bázisállomás jelenléte nélkül. Az első esetben a teljes kommunikációnak keresztül kell haladnia a bázisállomá son, amelyet hozzáférési pontnak (access point) hív a 802.11 szóhasználata. A má sodik esetben a számítógépek közvetlenül egymásnak adnak. Ezt a működési módot gyakran ad hoc hálózatnak (ad hoc networking) is nevezik. Tipikus példája az, amikor két vagy több ember együtt leül egy olyan szobában, amit nem szereltek fel vezeték nélküli LAN-nal, és számítógépeik közvetlenül kommunikálnak egymással. A két működési módot az 1.35. ábrán szemléltetjük. Az első kérdés volt a legkönnyebb: mi legyen a neve? Az összes többi LANszabvány számozva volt 802.1-től 802.10-ig, így a vezeték nélküli szabványt 802.11nek nevezték el. A többi már nehezebbnek bizonyult.
94
SZÁMÍTÓGÉP-HÁLÓZATOK
(a)
(b)
1.35. ábra. (a) Vezeték nélküli hálózat bázisállomással, (b) Ad hoc hálózat Néhány azok közül a kihívások közül, amelyekkel szembe kellett nézni a tervezés során: találni kellett egy frekvenciasávot, amely megfelelő a használatra és lehetőleg világszerte használható; kezdeni kellett valamit azzal a ténnyel, hogy a rádióhullámok hatótávolsága véges; biztosítani kellett a felhasználók bizalmas adatainak bizalmas kezelését; figyelembe kellett venni az akkumulátorok korlátozott kapacitását; aggódni kellett a felhasználók biztonságáért (okoznak-e rákot a rádióhullámok?); meg kellett érteni a számítógépek hordozhatóságának jelentőségét; és végül egy olyan rendszert kellett építeni, amely elégséges sávszélességgel rendelkezik ahhoz, hogy gazdaságilag is életképes legyen. Amikor a szabványosítás megindult (az 1990-es évek közepén), az Ethernet már szinte egyeduralkodó volt a helyi hálózatok területén, ezért a bizottság úgy döntött, hogy a 802.11-et kompatibilissé teszi az Ethernettel az adatkapcsolati réteg feletti ré-
.36. ábra. Az egyes rádiók hatósugara nem feltétlenül fedi le a teljes rendszert
BEVEZETÉS
95
hogy a 802.11-et kompatibilissé teszi az Ethernettel az adatkapcsolati réteg feletti ré tegekben. Tulajdonképpen arra kellett lehetőséget biztosítani, hogy egy IP-csomagot ugyanúgy lehessen feladni a vezeték nélküli LAN-on, mint ahogyan egy kábelen csatlakozó számítógép Etherneten küld IP-csomagokat. Mindezek ellenére a fizikai és az adatkapcsolati rétegben sok lényeges különbség van az. Ethernet és a vezeték nél küli LAN között, és ezekkel a szabványban foglalkozni kellett. Először is, egy Ethernetre kötött számítógép mindig belehallgat a csatornába, mi előtt adásba kezd. Csak akkor kezd el ténylegesen adni, ha az éter szabad. A vezeték nélküli LAN-okban ez az ötlet nem működik ilyen hatékonyan, az 1.36. ábrából lát szik, hogy miért. Tegyük fel, hogy az A számítógép a B számítógépnek ad, de A rádi ójának hatótávolsága túl kicsi ahhoz, hogy a C számítógépet elérje. Ha C ő-nek akar adni, belehallgathat az éterbe az adás megkezdése előtt, de az a tény, hogy nem hall semmit, még nem jelenti azt, hogy az adás sikeres is lesz. A 802.11 szabványnak ezt a problémát is meg kellett oldania. A második probléma, amit meg kellett oldani az, hogy a rádiójeleket a szilárd tes tek visszaverhetik, így a jelek (több útvonal mentén) többször is megérkezhetnek a vevőhöz. Az így létrejövő interferencia az úgynevezett többutas terjedés gyengülése vagy fédingje (multipath fading). A harmadik probléma az, hogy nagyon sok szoftvernek nincs tudomása arról, hogy hordozható eszközön fut. Például a szövegszerkesztők rendelkeznek egy listával a nyomtatókról, amiből a felhasználó választani tud egy állomány kinyomtatásakor. Amikor másik környezetbe helyezzük azt a számítógépet, amelyen ez a szövegszer kesztő fut, a nyomtatók beépített listája érvénytelenné válik. A negyedik probléma az, hogy valamilyenfajta átadás-átvételre van szükség, ami kor egy hordozható számítógépet átvisznek az általa éppen használt plafonra rögzített bázisállomás hatókörzetéből egy másik bázisállomás hatókörzetébe. Bár ez a problé ma előfordul a mobiltelefon-hálózatokban (az Ethernetnél nem merül fel), de a veze ték nélküli hálózatokban is meg kellett oldani. Az elképzelt hálózat több olyan cellá ból épül fel, amelyek mind rendelkeznek egy-egy bázisállomással, s amelyeket egy Ethernet köt össze, az 1.37. ábrán is látható módon. Kívülről az egész rendszernek egyetlen Ethernetnek kell tűnnie. A 802.11 rendszer és a külvilág kapcsolódási pontját portálnak (portai) nevezték el.
1.37. ábra. Egy többcellás 802.11 hálózat
96
SZÁMÍTÓGÉP-HÁLÓZATOK
A munka eredményeképpen 1997-ben a bizottság bemutatott egy olyan szabványt, amely megoldást adott a fenti és más problémákra is. A leírt vezeték nélküli LAN 1 Mb/s-os és 2 Mb/s-os sebességen tudott működni. Az emberek szinte azonnal pa naszkodni kezdtek, hogy túl lassú, így további munka kezdó'dött a gyorsabb változa tok kidolgozására. A bizottságban megosztottság jelentkezett, amely 1999-ben két új szabványt eredményezett. A 802.11a szabvány szélesebb frekvenciasávot használ és 54 Mb/s-os sebességgel üzemel. A 802.11b szabvány ugyanazt a frekvenciasávot használja, mint a 802.11, de másmilyen modulációs módszereket alkalmaz, amelyek segítségével 11 Mb/s-os sebességre képes. Néhányan ennek nagy pszichológiai jelen tőséget tulajdonítanak, mivel 11 Mb/s gyorsabb, mint a vezetékes Ethernet eredeti változata volt. Valószínűleg az eredeti 1 Mb/s-os 802.11 gyorsan ki fog halni, de még nem látszik tisztán, hogy az új szabványok közül melyik lesz az utódja. Hogy a dolgokat még bonyolultabbá tegyék, a 802-es bizottság tagjai még egy változa tot kidolgoztak. Ez a 802.1 lg, ami a 802.1 la modulációs eljárását alkalmazza a 802.1 lb frekvenciatartományában. A 802.1 l-re még vissza fogunk térni a 4. fejezetben. Az, hogy a 802.11 forradalmat fog okozni a számítástechnikában és az internetel érésben, már minden kétséget kizáró tény. Gyors ütemben telepítik ezeket a hálózato kat repülőtereken, vasútállomásokon, szállodákban, bevásárlóközpontokban és egye temeken. Még a jobb kávéházak is telepítenek 802.1 l-es hálózatokat, hogy a náluk összegyűlt fiatalok szörfölhessenek a világhálón, miközben a kávéjukat szürcsölik. Valószínű, hogy a 802.11 megteszi azt az internettel, amit a noteszgépek tettek meg a számítástechnikával: hordozhatóvá teszi azt.
1.6.
A hálózatok szabványosítása
Számos hálózatépítéssel és hálózatüzemeltetéssel foglalkozó cég létezik, és mind egyiknek saját elképzelése van arról, hogy hogyan kell a dolgokat csinálni. Koordiná ció nélkül teljes káosz uralkodna, és a felhasználók semmihez nem jutnának hozzá. Az egyetlen kiút a hálózatok szabványosítása. A szabványok nemcsak a különböző számítógépek közötti kommunikációt teszik lehetővé, hanem bővítik a szabványhoz kapcsolódó termékek piacát is, ami végül tö megtermeléshez, gazdaságosabb gyártáshoz, VLSI implementációk megjelenéséhez vezet, és további olyan előnyökkel jár, amelyek az árakat csökkentik, a szabvány elfo gadhatóságát pedig növelik. A következő alfejezetekben rövid bepillantást nyerünk a fontos, de alig ismert nemzetközi szabványosítás világába. A szabványoknak két kategóriája van: a de facto és a de jure. A de facto (latinul „tényleges") szabványok azok a szabványok, amelyek hivatalos leírás nélkül maguk tól alakultak ki. Az IBM PC és leszármazottai például a személyi számítógépek de facto szabványa, ugyanis több tucat gyártó kezdte el igencsak hűen másolni az IBM gépeit. A UNIX az egyetemek számítástechnikai tanszékein használt operációs rend szerek de facto szabványa. A de jure (latinul „törvényes") szabványok ezzel szemben olyan hivatalos szabvá nyok, amelyeket bizonyos szabványosítási szervezetek elfogadtak. A nemzetközi
97
BEVEZETÉS
szabványosítási szervezeteket általában két nagy csoportra oszthatjuk. Az egyik cso portba azok tartoznak, amelyek államközi szerződések útján jöttek létre, a másikba pedig az önkéntesen, nem szerződéses alapon létrehozott szervezetek. A számítógép hálózatok szabványosításának világában mindkét típusú szervezetből van jó néhány. A továbbiakban ezekről lesz szó.
1.6.1.
Ki kicsoda a távközlés világában?
A világ telefontársaságainak jogi helyzete igencsak eltérő az egyes országokban. Az egyik véglet az Egyesült Államok, ahol közel 1500 önálló, magántulajdonban levő tele fontársaság működik. Az AT&T 1984-ben történt feldarabolása előtt, a világ akkoriban legnagyobb telefontársaságaként egyedül uralta a piacot. Az amerikai telefonok 80%-át és az ország területének a felét ez a cég szolgálta ki, míg a fennmaradó területeken a többi (főleg vidéki) telefontársaság osztozott. A feldarabolódás óta az AT&T továbbra is nagytávolságú szolgáltatásokkal foglalkozik, igaz, most már vannak versenytársai is. Az AT&T-ból kialakított hét Regionális Bell Üzemeltető' Vállalat (Regionai Bdl Operating Company), és 1500 független cég végzi ma a helyi és a celluláris telefonhálózatok üze meltetését. A független cégek némelyike, mint például a GTE, igen nagy cég. Azokat a cégeket, amelyek a nagyközönség számára nyújtanak szolgáltatásokat, közszolgáltatóknak (common carriers) nevezzük. A szolgáltatásokat és azok árait egy olyan díjszabási könyvben (tariff) adják meg, amelyet egyrészről a Szövetségi Távközlési Bizottságnak (Federal Communications Commission), másrészről pedig az egyes államok közszolgáltatói bizottságának kell jóváhagynia. Az előbbi az amerikai államok közötti, valamint a nemzetközi forgalmat, míg az utóbbi az államokon belüli forgalmat felügyeli. A másik végletet azok az országok jelentik, amelyek kormánya a távközlés terüle tén monopóliummal rendelkezik, és egyedül uralja a levélküldést, a távírást, a távbe szélőrendszert, és sokszor a rádiót, valamint a televíziót is. A világ legtöbb országa ebbe a kategóriába esik. Vannak olyan esetek, amikor a távközlési felügyelőség egy külön állami cég, de van, amikor egyszerűen csak egy kormányszerv, amit rendszerint PTT-nek (Post, Telegraph & Telephoné administration) hívnak. A fejlődés világ szerte a liberalizáció és a szabadpiaci verseny irányába halad, nem pedig az állami monopólium felé. Tekintettel az előbb említett különböző szolgáltatókra, nyilvánvalóan szükség van világméretű kompatibilitásra annak érdekében, hogy a különböző országokban élő emberek (illetve számítógépek) kapcsolatba kerülhessenek egymással. Ez az igény tu lajdonképpen már régóta létezik. 1865-ben számos európai ország képviseletével megalakult a mai Nemzetközi Távközlési Egyesülés (International Telecommunication Union, ITU) elődje. Az ITU feladata az volt, hogy szabványosítsa a nemzetkö zi távközlést, amely akkoriban még csak a távírást jelentette. Azonban már akkor is nyilvánvaló volt, hogy problémához fog vezetni az, ha az országok egyik fele a Morse-kódot használja, a másik fele meg valamilyen más kódot. Amikor a telefon nem zetközi szintű szolgáltatássá vált, az ITU magára vállalta a telefonrendszerek szab ványosítását is. 1947-ben az ITU az ENSZ egyik ügynöksége lett.
98
SZÁMÍTÓGÉP-HÁLÓZATOK
Az ITU-nak három fő ágazata van: 1. Rádiókommunikációs ágazat (ITU-R). 2. Távközlési szabványosítási ágazat (ITU-T). 3. Fejlesztési ágazat (ITU-D). Az ITU-R feladata a rádiófrekvenciák kiosztása a világszerte egymással versengő' csoportoknak. Mi elsősorban az ITU-T ágazattal foglalkozunk majd, ami a távbeszélő rendszereket és az adatátviteli rendszereket felügyeli. 1956 és 1993 között az ITU-T a francia nevéből képzett betűszó alapján CCITT (Comité Consultatif International Télégraphique at Téléphonique) néven volt ismert. 1993-ban a CCITT-t átszervez ték, ennek köszönhetően csökkent a bürokratikus jellege, és az új szerepnek megfele lően új nevet is kapott. A távbeszélőrendszerekkel és az adatátviteli rendszerekkel kapcsolatos ajánlásokat a CCITT, illetve az ITU-T adta ki. Még ma is léteznek CCITT-ajánlások, mint például az X.25, de 1993 óta ezek már az ITU-T neve alatt futnak. Az ITU-T négy osztályba sorolja a tagjait: 1. Nemzeti kormányok. 2. Területi tagok. 3. Társult tagok. 4. Szabályozó testületek. Az ITU-T körülbelül 200 kormányt tart nyilván a tagok között, köztük az ENSZ szinte minden tagja szerepel. Mivel az Egyesült Államok nem rendelkezik PTT-vel, valaki másnak kellett elvállalnia a képviseletét az ITU-T-ben. A választás a külügy minisztériumra esett, amit azzal indokolhattak, hogy az ITU-T nemzetközi ügyekkel foglalkozik, ami a külügyminisztérium szakterülete. Körülbelül 500 területi tag van, többek között telefontársaságok (pl. AT&T, Vodafone, WorldCom), telefonos esz közgyártók (pl. Cisco, Nokia, Nortel), számítógép-gyártók (pl. Compaq, Sun, Toshi ba), chipgyártók (pl. Intel, Motorola, TI), médiavállalatok (pl. AOL Time Warner, CBS, Sony) és más érdeklődő vállalatok (pl. Boeing, Samsung, Xerox) szerepelnek a tagok között. Nagyszámú nonprofit jellegű tudományos szervezet és üzleti szövetség is szerepel a területi tagok között (pl. IFIP, IATA). A társult tagok olyan kisebb vál lalatok, amelyek egy bizonyos tanulmányi csoport (Study Group) munkájában érde keltek. A szabályozó testületek azok a szervezetek, amelyek felügyelik a távközlési piacot, mint például a U.S. Federal Communications Commission (FCC, Amerikai Szövetségi Kommunikációs Bizottság). Az ITU-T feladata az, hogy műszaki javaslatokat tegyen a telefonok, a távírók és az adatkommunikáció interfészeire. Ezek gyakran válnak nemzetközileg elfogadott
99
BEVEZETÉS
szabványokká, például a V.24 (vagy EIA RS-232 az Egyesült Államokban), amely a legtöbb aszinkron terminálhoz és külső modemhez használatos csatlakozón levő tüs kék elhelyezkedését és jelentését adja meg. Fontos megjegyezni, hogy az ITU-T ajánlásai csak műszaki javaslatokat tartalmaz nak. Az, hogy azokat egy ország elfogadja-e vagy sem, csak az adott országon múlik. Gyakorlatilag bármelyik ország szabadon kiépíthet egy olyan távbeszélőrendszert, amely a többi országétól különbözik, azonban ebben az esetben számolnia kell azzal, hogy elvágja magát a külvilágtól. Ez működhet, mondjuk, Albániában, de más orszá gokban komoly problémát jelentene. Arra, hogy az ITU-T szabványait „ajánlásoknak" nevezik, azért volt és van szükség, mert így a nacionalista erőket sok országban le le hetett csitítani. Az ITU-T-ben a tényleges munkát a 14 tanulmányi csoport (Study Group) végzi, amelyek gyakran akár 400 emberből is állnak. A jelenlegi 14 tanulmányi csoport által lefedett témák a telefonbeszélgetések számlázásától a multimédiás szolgáltatásokig terjednek. A tényleges munkavégzést az teszi lehetővé, hogy a tanulmányi csoportokat munkacsoportokra (Working Party) osztották, amelyeket tovább bontottak szakértői csapatokra (Expert Team), és még ezeket is továbbosztották ad hoc csoportokra. Ami bürokráciának indul, az mindig az is marad, Mindezek ellenére az ITU-T ténylegesen is véghezvisz dolgokat. Megalakulása óta közel 3000 ajánlást készített, amelyek körülbelül 60 000 oldalt tesznek ki. Ezek közül sokat a gyakorlatban is használnak. Például, a népszerű V.90-es 56 kb/s-os modem szabvány is egy ITU-T ajánlás. Ahogyan lassan a végéhez érkezik a telekommunikáció 1980-as években elkezdő dött átmenete a teljesen belföldi szolgáltatástól a teljesen globális szolgáltatásig, és a szabványok egyre fontosabbakká válnak, egyre több és több szervezet akar majd részt venni kialakításukban. Az ITU-val kapcsolatos további információkat lásd (Irmer, 1994) dolgozatában.
1.6.2.
Ki kicsoda a nemzetközi szabványosítás világában?
A nemzetközi szabványokat a Nemzetközi Szabványügyi Szervezet (International Standards Organization3, ISO) adja ki, amely egy 1946-ban alakult, önkéntes, nem államközi szerződéseken alapuló szervezet. Az ISO tagságát 89 tagállam nemzeti szabványügyi szervezete alkotja. A tagok között megtalálható az ANSI (Egyesült Ál lamok), a BSI (Nagy Britannia), az AFNOR (Franciaország), a DIN (Németország) és még további 85 szervezet. Az ISO a legkülönbözőbb témákban ad ki szabványokat, a csavaroktól és a csavar anyáktól (szó szerint) kezdve a telefonpóznák bevonatáig mindent ideértve. Több mint 5000 szabványt adtak eddig ki, beleértve az OSI-szabványokat is. Az ISO-nak közel 200 Műszaki Bizottsága (Technical Committee) van, amelyeket a megalakulásuk sor rendjében számoztak be. Ezek mindegyike külön szakterülettel foglalkozik. A TC1 bi zottság például a csavarokkal és a csavaranyákkal foglalkozik, és a csavarok menet3
Igazság szerint az ISO valódi neve International Organization for Standardization.
100
SZÁMÍTÓGÉP-HÁLÓZATOK
emelkedését szabványosítja. A TC97 bizottság szakterülete a számítástechnika és az információfeldolgozás. A Műszaki Bizottságok albizottságokra (subcommittee, SC), azok pedig munkacsoportokra (working group, WG) vannak felosztva. Az igazi munkát világszerte több mint 100 000 önkéntes végzi a munkacsoportok ban. Ezek az „önkéntesek" legtöbbször olyan cégek megbízásából dolgoznak egy ISO anyagon, amelyeknek a termékei éppen szabványosítás alatt állnak. Mások kormány hivatalnokként azon fáradoznak, hogy egy országukban elfogadott szabvány nemzet közi szabvánnyá váljon. Sok munkacsoportban egyetemi szakemberek is dolgoznak. A távközlési szabványok kibocsátása során az ISO és az ITU-T gyakran együttmű ködik annak érdekében, hogy a két hivatalos szervezet szabványai lehetőleg egymás sal kompatibilisek legyenek. Az Egyesült Államokat az ISO-ban az Amerikai Országos Szabványügyi Intézet (American National Standards Institute, ANSI) képviseli, amely szemben az elne vezéssel egy civil, nonprofit szervezet. Tagsága gyártókból, közszolgáltatókból és más érdekelt szervezetekből áll. Az ANSI szabványait gyakran fogadja el nemzetközi szabványnak az ISO. A szabványok elfogadása az ISO-ban mindig a lehető legszélesebb körű egyetérté sen alapul. A szabványosítási folyamat úgy indul, hogy valamelyik ország szabvány ügyi szerve egy adott szakterületen nemzetközi szabványosítást lát szükségesnek. Ilyenkor megalakul egy új munkacsoport, amelynek feladata egy bizottsági javaslat (Committee Draft, CD) kidolgozása. A bizottsági javaslatot körbeadják a különböző tagszervezeteknek, amelyeknek hat hónap áll a rendelkezésre, hogy véleményezzék azt. Ha a nagy többség jónak találja, akkor egy átdolgozott dokumentumot, egy ún. nemzetközi szabványtervezetet (Draft International Standard, DIS) kell elkészíte ni, amelyet ismét körbeadnak véleményezésre és szavazásra. Ennek a fordulónak az eredménye alapján elkészítik a nemzetközi szabványt (International Standard, IS), amelyet aztán jóváhagynak és kiadnak. Nagy viták esetén a bizottsági javaslat és a nemzetközi szabványtervezet számos változtatáson mehet keresztül, mire végre meg szavazzák, és emiatt az egész folyamat akár évekig is elhúzódhat. Az Országos Szabványügyi és Technológiai Intézet (National Institute of Stan dards and Technology, NIST) az Egyesült Államok Kereskedelmi Minisztériumának hivatala. Ez korábban Országos Szabványügyi Hivatal (National Bureau of Standards) néven volt ismert. Ez a szervezet olyan szabványokat ad ki, amelyek az Egyesült Álla mok kormányának beszerzéseinél kötelező érvényűek. Ez alól csak a Hadügyminisz térium kivétel, amelynek saját szabványai vannak. A szabványosítás világának egy másik fontos szereplője az IEEE (Institute of Electrical and Electronics Engineers, Villamos- és Elektronikai Mérnökök Intéze te), amely a világ legnagyobb szakmai szervezete. Azonkívül, hogy rengeteg folyó iratot ad ki, és több száz konferenciát rendez meg évente, IEEE szabványokat is dol goz ki a villamosmérnöki tudományok és az informatika területén. Az IEEE 802-es bizottsága sok LAN-fajtát szabványosított, ezeknek egy részét meg is fogjuk vizsgálni a könyv további részében. A tényleges munkát az 1.38. ábrán felsorolt munkacsopor tok végzik. A sikeres munkacsoportok aránya a megalakulás óta alacsony; egy 802.x szám kiosztása még nem garantálja a sikert is. De a sikertörténetek (főként a 802.3 és a 802.11) hatása óriási volt.
101
BEVEZETÉS
Téma
Szám
A LAN-ok áttekintése és felépítése
802.1
Logikai kapcsolatvezérlés
802.2
|
802.3
*
Ethernet
802.4
i
Vezérjeles sín (rövid ideig használták termelőüzemekben) Vezérjeles gyűrű (az IBM LAN-megoldása)
802.5 802.6
|
Kettőzött várakozási soros kettőzött sín DQDB (dual queue dual bus; korai nagyvárosi hálózat)
802.7
l
Szélessávú megoldásokkal foglalkozó műszaki tanácsadó csoport
802.8
t
Fényvezetőszálas megoldásokkal foglalkozó műszaki tanácsadó csoport
802.9
|
Izokron (Isochronous) LAN-ok (valós idejű alkalmazásokhoz)
802.10 l
Virtuális LAN-ok és biztonság
802.11 *
Vezeték nélküli LAN-ok
802.12 |
Igények prioritásai (a Hewlett-Packard AnyLAN-ja)
802.13
Szerencsétlen szám, senkinek sem kellett
802.14 l
Kábelmodemek (elavult, mivel egy ipari egyesülés előbb végzett a fejlesztéssel)
802.15 *
Személyi hálózatok (Bluetooth)
802.16 *
Szélessávú vezeték nélküli hálózatok
802.17
Ellenálló csomaggyűrű (resilient packet ring)
1.38. ábra. A 802 munkacsoportjai. A fontosakat *-gal jelöltük. A l-lal jelölt munkacsoporto kat befagyasztották. A ^-feljelöltek már megszüntették magukat 1.6.3.
Ki kicsoda az Internet szabványosítási világában?
Az egész világot átfogó Internet is rendelkezik saját szabványosítási rendszerrel, amely nagyon különbözik az ITU-T és az ISO rendszerétől. A különbséget durva kö zelítéssel úgy foglalhatnánk össze, hogy az ITU és az ISO szabványosítási konferen ciáira öltönyben érkeznek a résztvevők, míg az Internet szabványosítási konferenciáin a résztvevők farmert viselnek (kivéve a San Diegóban megrendezett találkozókat, amikor rövidnadrágot és pólót). Az ITU-T és az ISO értekezletein olyan vállalati ügyintézők és közalkalmazottak ülnek, akiknek a szabványosítás a munkájuk. A szabványosítást jó dolognak tartják, és ennek szentelik életüket. Ezzel szemben az internetes szakemberek alapvetően az anarchiát részesítik előnyben, bár néha egyetértésre is szükségük van ahhoz, hogy a dolgok előre haladjanak. így akármilyen fájdalmas is, időnként szükség van szabvá nyokra. Amikor az ARPANET-et kiépítették, a DoD létrehozott egy informális bizottságot a hálózat felügyeletére. 1983-ban ezt a bizottságot átnevezték Internet Koordinációs
102
SZÁMÍTÓGÉP HÁLÓZATOK
Testületnek (Internet Activities Board, IAB), és kissé kibővítették a hatáskörét is. Az lett a feladata, hogy az ARPANET és az internet kutatóit többé-kevésbé ugyanab ba az irányba terelje, akárcsak egy jó pásztor a nyájat. Az „IAB" betűszó jelentése ké sőbb módosult, és ma az Internet Architektúra Testületet (Internet Architecture Board) jelöli. Az IAB körülbelül 10 tagja közül mindegyik vezetett valamilyen fontos témával foglalkozó munkacsoportot. Az IAB évente többször összeült, hogy megtárgyalja az eredményeket, és hogy visszacsatolást adjon a DoD-nek és az NSF-nek, amelyek ak koriban a támogatás legnagyobb részét adták. Amikor egy új szabványra volt szükség (pl. egy új forgalomirányító algoritmusra), az IAB tagjai alaposan átbeszélték a dol got, és utána bejelentették a változtatást. Az akkoriban a szoftverfejlesztés legfonto sabb embereinek számító egyetemistáknak ezután már csak meg kellett valósítaniuk a szükséges változtatásokat. A kommunikáció alapja egy jelentéssorozat volt, amelyek nek RFC (Request for Comments; megjegyzések bekérése) volt a neve. Az RFC-ket on-line tárolják, és így bármely érdeklődő lekérheti őket a www.ietf.org/rfc címről. A jelentéseket meg is számozták a megjelenésük sorrendje szerint. Mára már több mint 3000 ilyen jelentés készült, közülük sokra ebben a könyvben is hivatkozni fogunk. 1989-re az Internet olyan méreteket öltött, hogy ez a nagyfokú informális stílus to vább már nem állta meg a helyét. Akkoriban jó néhány forgalmazó kínált TCP/IP-termékeket, és nem akartak változtatni azokon csak azért, mert tíz kutatónak jobb ötlete támadt. 1989 nyarán az IAB-t újból átszervezték. A kutatókat az IRTF (Internet Research Task Force) szervezetbe tömörítették, amely a mérnököket összefogó IETF (Internet Engineering Task Force) szervezettel együtt az IAB részlege lett. Az IAB tagságát kibővítették, és a kutatócsoportok szakemberein kívül más szerveze tek képviselői is helyet kaptak benne. Kezdetben az újjászervezett IAB egy állandóan megújuló csoport volt, amiben egy képviselő 2 évig dolgozhatott, és az új képviselő ket a régiek javaslata alapján nevezték ki. Később aztán megalakult az Internet Tár saság (Internet Society), amelyet az internet iránt érdeklődő szakemberek hoztak lét re. Az Internet Társaság hasonló szerepet tölt be, mint az ACM és az IEEE. Választott tisztségviselők irányítják, és azok jelölik ki az IAB képviselőket. Az IAB kettéválasztásának célja az volt, hogy az IRTF-ben a hosszú távú kutatási célokra, míg az IETF-ben a rövid távú mérnöki kutatási célokra összpontosítsanak. Az IETF-et további munkacsoportokra osztották fel, és mindegyiknek saját feladatokat adtak. A munkacsoportok elnökeiből álló vezetőtestület eleinte sokszor összeült, hogy a mérnöki fejlesztéseket irányítsa. A munkacsoportok többek közt új alkalmazásokkal, felhasználói információkkal, OSI-integrációval, forgalomirányítással és címzéssel, adatbiztonsággal, hálózatmenedzsmenttel és szabványokkal foglalkoztak. Időnként olyan sok munkacsoport dolgozott (néha több mint 70), hogy külön szakterületek jöt tek létre, és csak a szakterületek elnökei ültek össze a vezetői értekezleteken. Az eddigieken kívül az ISO mintájára kialakult egy sokkal formálisabb szabványo sítási folyamat is. Ahhoz, hogy valamiből szabványtervezet (Proposed Standard) legyen, az alapelképzelést nagyon világosan el kell magyarázni egy RFC-ben, és szak mai berkekben kellő érdeklődésnek kell lennie iránta. Ez biztosítja azt, hogy csak ala posan átgondolt javaslatokkal álljanak elő. Ahhoz hogy a szabványtervezetből elő zetes szabvány (Draft Standard) legyen, 4 hónapig legalább két különböző helyen
103
BEVEZETÉS
alapos tesztelésnek kell alávetni egy működő implementációt. Ha az IAB meggyőző dött arról, hogy az elképzelés jó, és a szoftver működik, akkor az elképzelést ismertető RFC-t Internetszabványnak (Internet Standard) nyilvánítja. Néhány internetszab vány DoD szabvány (MIL-STD) is lett, ami által kötelező érvényűvé vált a DoD be szállítói számára. Dávid Clark egyszer a következő híressé vált megjegyzést tette az Internet szabványosítására: „döcögő egyetértés és futó programok".
1.7.
Mértékegységek
A keveredések elkerülése érdekében érdemes kijelentenünk, hogy ebben a könyvben a számítástechnika általános szokásainak megfelelően az Sí mértékegységeket használ juk. A legfontosabb Sí-előtagokat az 1.39. ábrán soroltuk fel. Az előtagokat általában az első két betűjükkel jelölik, az egynél nagyobb egységeket nagybetűvel (KB, MB, stb.). Egy kivétel ez alól (történelmi okokból) a kb/s a kilóbit/másodperc jelölésére. Egy 1 Mb/s-os kommunikációs vonal 106 bitet továbbít másodpercenként és egy 100 psec-os (avagy 100 ps-os) óra 10~10 másodpercenként üt. Mivel a milli és a mikro egyaránt m betűvel kezdődik, ezért választani kellett közülük. Általában az „m" a millit jelöli és a „u" (a kis görög mű betű) jelöli a mikrot. Azt is érdemes megjegyezni, hogy az általános mérnöki szóhasználatban a memóSzámmal kiírva
Hatványkitevős alak
Előtag
10 24
1 000 000 000 000 000 000 000 000
Yotta
10 21
1 000 000 000 000 000 000 000
Zetta
18
1 000 000 000 000 000 000
Exa
10 15
1 000 000 000 000 000
Peta
10 12
1 000 000 000 000
Tera
10
1 000 000 000
Giga
106
1 000 000
Mega
1 000
Kilo
icr -icr6
0,001
milli
0,000 001
mikro
10" 9
0,000 000 001
nano
10" 12
0,000 000 000 001
pikó
10" 15
0,000 000 000 000 001
femto
lO'18
0,000 000 000 000 000 001
atto
0,000 000 000 000 000 000 001
zepto
0,000 000 000 000 000 000 000 001
yokto
10
9
10
3
3
21
icr io- 24
1.39. ábra. A legfontosabb Sí-előtagok
104
SZÁMÍTÓGÉP-HÁLÓZATOK
ria-, tárterület-, állomány- és adatbázisméretek esetében a mértékegységeknek ettől kissé eltérő jelentése van. Itt a kilo 210-t (1024) jelent, nem 103-t (1000), mivel a me móriaméretek mindig 2 hatványai. így egy 1 KB-os memória nem 1000 bájtot tartal maz, hanem 1024 bájtot. Hasonlóképpen egy 1 MB-os memória 2 20 (1 048 576) báj tot, egy 1 TB-os adatbázis pedig 2 40 (1 099 511 627 776) bájtot tartalmaz. Mindazon által egy 1 kb/s-os átviteli vonal 1000 bitet visz át egy másodperc alatt, és egy 10 Mb/s-os LAN 10 000 000 b/s-os sebességgel üzemel, mivel ezek a sebességek nem 2hatványok. Sajnos sokan keverik ezt a két rendszert, különösen a lemezméretek eseté ben. A kétértelműség elkerülése érdekében mindenhol a KB, MB, GB jelek rendre 210, 220 és 2 30 bájtot jelölnek, a kb/s, Mb/s és Gb/s pedig rendre 103, 106 és 109 b/s-ot jelöl ebben a könyvben.
1.8.
Röviden a továbbiakról
Ez a könyv a számítógép-hálózatok elméletét és gyakorlatát egyaránt tárgyalja. A legtöbb fejezet a vonatkozó elvek tárgyalásával kezdődik, amelyet néhány, azokat bemutató példa követ. Ezek a példák általában az internet és a vezeték nélküli háló zatok témaköréből kerülnek ki, mivel ezek mind fontosak, mind nagyon különbözők. Más példákat is mutatunk, ahol azok jobban illenek az elméletre. A könyv elrendezése az 1.24. ábrán megadott hibrid modell szerkezetét követi. A 2. fejezetben a legalsó rétegtől indulunk el, a továbbiakban pedig egyre feljebb és fel jebb haladunk a protokollhierarchiában. A második fejezet az adatkommunikáció te rületéről nyújt háttér-információt. Lefedi a vezetékes, a vezeték nélküli és a műholdas átviteli rendszereket. Ez az anyagrész a fizikai réteggel foglalkozik, de csak a felépíté sét tárgyaljuk, a hardverrel nem nagyon foglalkozunk. Megtárgyalunk számos olyan, a fizikai réteggel kapcsolatos példát is, mint a nyilvános kapcsolt telefonhálózat, a mo biltelefonok vagy a kábeltévé-hálózat. A 3. fejezet egyre növekvő bonyolultságú példákon szemléltetve tárgyalja az adat kapcsolati réteget és annak protokolljait, valamint tartalmazza a protokollok analízisét is. Ezután néhány fontos és a gyakorlatban is használt protokollt tárgyalunk meg, töb bek között a HDLC-t (amit kis és közepes sebességű hálózatokban alkalmaznak) és a PPP-t (amit az Internet használ). A 4. fejezet az adatkapcsolati réteg egyik részével, a közegelérési alréteggel foglal kozik. Az alapkérdés, amivel foglalkozunk az, hogy hogyan döntsük el, kinek adjuk a hálózat következő használatának jogát, amikor a hálózat egyetlen osztott csatornából áll. A legtöbb LAN és néhány műholdas hálózat esetében ez így van. Sok példát adunk a vezetékes LAN-ok (különösen az Ethernet), a vezeték nélküli MAN-ok, a Bluetooth és a műholdas hálózatok területéről. Ebben a fejezetben tárgyalunk azokról a hidakról és adatkapcsolati rétegbeli kapcsolókról is, amelyeket a LAN-okban hasz nálnak. Az 5. fejezet a hálózati réteggel foglalkozik, főképpen a forgalomirányítással, ami nek kapcsán sok statikus és dinamikus forgalomirányító algoritmust is bemutatunk. Torlódások a jó forgalomirányítással rendelkező hálózatokban is előfordulnak, amikor
105
BEVEZETÉS
a hálózatban nagyobb forgalomra van igény, mint amit az kezelni tud. Ezért azt is megtárgyaljuk, hogy a torlódásokat hogyan kell kezelni. Az egyszerű torlódás-meg előzésnél jobb, ha garanciát vállalunk egy bizonyos szolgáltatásminőségre. Ezzel a témával is itt foglalkozunk. A különböző hálózatok összekapcsolása internetté szám talan problémához vezethet, ezekről szintén ebben a fejezetben esik szó. Az Internet hálózati rétegét nagy részletességgel vizsgáljuk meg. A 6. fejezet a szállítási réteggel foglalkozik. A hangsúlyt főként az összeköttetés alapú protokollokra helyezi, mivel ezeket sok alkalmazáshoz használják. Részletesen megtárgyalunk egy szállítási szolgálatot és annak megvalósítását. Ehhez az egyszerű példához egy példaprogramkódot is megadunk, hogy bemutassuk a megvalósítás egy lehetséges módját. Az Internet mindkét szállítási protokollját (az UDP-t és a TCP-t), valamint azok hatékonysági kérdését részletesen tárgyaljuk. Néhány, a vezeték nélküli hálózatokban felmerülő kérdésről is szó esik. A 7. fejezet az alkalmazási réteg protokolljaival és alkalmazásaival foglalkozik. Az első téma a DNS, az Internet telefonkönyve. Ezután az e-levelezés következik, amely nek a protokolljait is megtárgyaljuk. A világhálóval folytatjuk a témák sorát, szó esik a statikus és a dinamikus tartalomról, valamint arról, hogy mi történik a kliens olda lán, és mi történik a szerver oldalán, a protokollokról, a hatékonyságról, a vezeték nélküli webről és más témákról. A fejezet végén a hálózati multimédiát vizsgáljuk meg, ezen belül például a folyamszerű hangátvitelt, az internetes rádióadásokat és a hálózati videózást. A 8. fejezet a hálózatok biztonságáról szól. Ez a téma valamilyen vonatkozásban minden réteggel kapcsolatban áll. Ebből kifolyólag úgy a legegyszerűbb, ha az összes többi réteg alapos megtárgyalása után kerítünk rá sort. A fejezet elején a titkosítás tu dományába vezetjük be az olvasót, később pedig megmutatjuk, hogyan használható a titkosítás a kommunikáció, az e-levelezés és a web biztosítására. A könyv végén olyan területekről esik szó, ahol a biztonság és a személyes adatok védelme egymásba ütközik, mint például a szólásszabadság, a cenzúra vagy más társadalmi jelenségek területén. A 9. fejezet egy jegyzetekkel ellátott listát tartalmaz az ajánlott olvasmányokról, fejezetek szerint csoportokba rendezve. Ezt azoknak szántuk, akiket mélyebben is ér dekel a hálózatok témája. Ebben a fejezetben kapott helyett egy ábécébe rendezett irodalomjegyzék is, amelyben minden, a könyvben hivatkozott mű szerepel. A szerző weblapja a Prentice Halinál: http://www.prenhall.com/tanenbaum Ez egy olyan oldal, ahol számos hiperhivatkozás van egy sor kapcsolódó témára, így oktatási segédanyagok, „gyakran ismételt kérdések" oldala, vállalatok, ipari tömö rülések, szakmai szervezetek, szabványosítási szervezetek, műszaki megoldások, cik kek és más anyagok érhetők el.
1.9.
Összefoglalás
A számítógép-hálózatok a magánszemélyek és a cégek számára egyaránt számos szolgáltatást nyújtanak. A cégek szemszögéből gyakran a személyi számítógépek megosztott szervereket használó hálózatai biztosítják a céges adatok elérhetőségét.
106
SZÁMÍTÓGÉP-HÁLÓZATOK
Ezek általában a kliens-szerver modellt követik. A kliensek a munkaállomások, ame lyek az alkalmazottak asztalain találhatók és a gépteremben elhelyezett nagyteljesít ményű szervereket érhetik el. Az egyének számára a hálózatok egy sor információt és szórakozási lehetőséget tesznek elérhetővé. A magánszemélyek általában úgy kap csolódnak az Internetre, hogy modemmel feltárcsáznak egy szolgáltatót, bár egyre többen rendelkeznek állandó otthoni kapcsolattal is. Egy új terület a vezeték nélküli hálózatoké, amely olyan új alkalmazásokat kínál, mint a mozgó e-levelezés vagy az m-kereskedelem. A hálózatokat első közelítésben LAN-okra, MAN-okra, WAN-okra és internetekre bonthatjuk, ahol minden csoportnak mások a tulajdonságai, a műszaki megoldásai, a sebességei és az alkalmazási körülményei. A LAN-ok egy épületet fednek le, és nagy sebességre képesek. A MAN-ok egy várost fednek le, mint például a kábeltévé rendszer, amelyet ma már sokan használnak internetelérésre is. A WAN-ok egy or szágot vagy egy kontinenst szolgálnak ki. A LAN-ok és a MAN-ok nem kapcsoltak (vagyis nincsenek routereik), ezzel szemben a WAN-ok kapcsolt hálózatok. A vezeték nélküli hálózatok és legfőképpen a vezeték nélküli LAN-ok egyre népszerűbbé vál nak. A hálózatokat össze is lehet kapcsolni, így egy internetet hozhatunk létre. A hálózati szoftver protokollokból áll, amelyek a folyamatok kommunikációjának szabályait tartalmazzák/írják le. A protokollok támogathatnak összeköttetés alapú vagy összeköttetés nélküli kommunikációt. A legtöbb hálózat támogatja a protokollhierarchiák használatát. Ezekben minden réteg szolgálatokat nyújt a felette elhelyezke dőnek, és elrejti azok elől az alacsonyabb szintű rétegekben használt protokollokat. A protokollkészletek általában az OSI-modellen vagy a TCP/lP-modellen alapulnak. Mindkettőben van hálózati, szállítási és alkalmazási réteg, de a többi rétegben külön böznek. A tervezési kérdések között szerepel a multiplexelés, a forgalomszabályozás, a hibakezelés és más témák. A könyv nagy része a protokollokkal és azok tervezésé vel foglalkozik. A hálózatok szolgáltatásokat kínálnak felhasználóiknak. Ezek a szolgáltatások is lehetnek mind összeköttetés alapúak, mind összeköttetés nélküliek. Egyes hálózatok ban az is előfordulhat, hogy valamelyik réteg összeköttetés nélküli szolgálatot nyújt, de a felette levő réteg összeköttetés alapú szolgálatot biztosít. A közismert hálózatok között megtalálható az Internet, az ATM-hálózatok, az Ethernet és az IEEE 802.1 l-es vezeték nélküli LAN-ja. Az Internet az ARPANET-ból fejlődött ki, amelyből később más hálózatok hozzákapcsolásával internetet alakítottak ki. A mai Internet tulajdonképpen sok ezer hálózat összessége, nem pedig egyetlen hálózat. A legfőbb jellemzője, hogy minden rétegben a TCP/IP-protokollkészletet használja. Az ATM-et széles körben használják a telefonhálózatokban a távolsági adatforgalom továbbítására. Az Ethernet a legnépszerűbb LAN, és jelen van a legtöbb nagy cégnél, valamint egyetemen. Végül, meglepően nagy (akár 54 Mb/s-os) sebessé gű vezeték nélküli LAN-ok kezdenek széles körben kiépülni. Ahhoz, hogy több számítógép beszélgetni tudjon egymással, nagyarányú szabvá nyosításra van szükség, mind a hardver, mind a szoftver terén. Az olyan szervezetek, mint az ITU-T, az ISO, az IEEE és az IAB felügyelik a szabványosítási folyamat kü lönböző részeit.
BEVEZETÉS
107
Feladatok 1. Tegyük fel, hogy van egy bernáthegyi kutyája, Bundás, amelyet arra képzett ki, hogy pálinkásüveg helyett egy dobozt vigyen a nyakában, amelyben három 8 mm-es kazettát helyezett el. (Amikor az embernek megtelik a merevlemeze, az vészhelyzetnek tekinthető.) Minden egyes kazetta 7 gigabájtos kapacitású. A ku tya 18 km/h-s sebességgel odamehet magához, bárhol is tartózkodik éppen. Mi lyen távolságtartományban van Bundásnak nagyobb adatátviteli sebessége, mint egy 150 Mb/s-os vonalnak (adminisztrációs többlet nélkül)? 2. A lokális hálózatok egyik lehetséges változata egy olyan nagyméretű időosztásos rendszer, amelyben minden felhasználónak van egy terminálja. Ismertessük két előnyös tulajdonságát egy lokális hálózatot használó kliens-szerver rendszernek! 3. Egy kliens-szerver rendszer teljesítménye két hálózati tényezőtől függ: a hálózat sávszélességétől (hány bitet tud átvinni másodpercenként) és a késleltetésétől (hány másodpercig tart, amíg az első bit eljut a szervertől a kliensig). Adjon példát olyan hálózatra, amelynek mind a sávszélessége, mind a késleltetése nagy! Ezután adjon egy olyan példát is, ahol a sávszélesség és a késleltetés egyaránt kicsi! 4. A késleltetésen és a sávszélességen kívül még milyen paramétert kell megadnunk ahhoz, hogy jól jellemezzük a szolgáltatásminőséget egy olyan hálózatban, ame lyet digitális beszédtovábbításra használunk? 5. A tárol-és-továbbít típusú csomagkapcsolt rendszerek késleltetésének egyik be folyásoló tényezője az, hogy mennyi ideig tart, amíg egy kapcsoló gép tárol és to vábbít egy csomagot. Ha a kapcsolási idő 10 usec, akkor lehet-e ez fontos tényező egy olyan kliens-szerver rendszerben, ahol a kliens New Yorkban, a szerver pe dig Kaliforniában van? Feltételezhető, hogy a jelek terjedési sebessége a rézve zetékben és a fényvezető szálban egyaránt a fény vákuumban mért sebességének 2/3-a. 6. Egy kliens-szerver rendszer olyan műholdas hálózatot használ, amelyben a mű hold 40 Q00 km-es magasságban van. Mennyi egy kérésre adott válasz késlelteté se a lehető legjobb esetben? 7. A jövőben, amikor már mindenkinek az otthonában lesz egy olyan terminál, amely a számítógép-hálózathoz csatlakozik, lehetővé válnak az azohnali népsza vazások í;gy fontos törvényjavaslattal kapcsolatban. Végül is a parlamentet fel le hetne oszlatni, hiszen mindenki közvetlenül is ki tudná nyilvánítani az akaratát. Egy ilyen közvetlen módon gyakorolt demokráciának az előnyei mindenki számá ra nyilvánvalók. Vitassuk meg a hátrányait is!
108
SZÁMÍTÓGÉP-HÁLÓZATOK
8. Egy két pont közötti összeköttetéseken alapuló alhálózatban öt routert kell össze kapcsolni. A tervező' az egyes routerek közé nagy, közepes vagy kis sebességű vonalakat tehet, de arra is van lehetősége, hogy ne kösse össze azokat. Ha egy számítógépnek 100 ms-ra van szüksége ahhoz, hogy kiépítsen és megvizsgáljon egy adott topológiát, akkor mennyi ideig tart az összes végigvizsgálása? 9. 2" - 1 routert egy olyan központosított bináris fatopológiába rendezünk, amelynek minden csomópontjában van egy router. Az z'-edik router úgy tud kommunikálni a y'-edikkel, hogy a fa gyökeréhez küld egy üzenetet. Ezt követően a fa gyökere az üzenetet leküldi aj-edik routernek. Találjunk egy közelítőleg helyes képletet arra, hogy nagy n esetén egy üzenet átlagosan hány csomópontot érint a fában, ha azt feltételezzük, hogy a router-párok közötti kommunikáció egyenlő valószínűségű. 10. Az adatszóró alhálózatok nagy hátránya, hogy kihasználatlan marad a sávszéles ség egy része, amikor egyszerre több hoszt is ugyanahhoz a csatornához akar hoz záférni. Az egyszerűség kedvéért tegyük fel, hogy a rendelkezésre álló időt diszk rét időrésekre osztjuk fel, és ugyanazt az időrést mind az n hoszt p valószínűség gel akarja egyszerre használni. Az időrések mekkora hányada lesz kihasználatlan az ütközések miatt? 11. Mondjunk két okot arra, hogy miért érdemes protokollrétegeket használni! 12. A Különleges Festők nevű cég igazgatójának az az ötlete támad, hogy a helyi sör főzdével együttműködve kifejleszthetnének egy láthatatlan sörösdobozt (környe zetvédelmi okokból). Az igazgató megkéri a jogi osztályt, hogy tanulmányozza a tervet, a jogi osztály pedig továbbítja azt a mérnöki csoporthoz. Ezt követően a főmérnök felhívja telefonon a másik céget, hogy megbeszéljék a részleteket. A mérnökök az eredményről tájékoztatják a saját jogi osztályaikat, amelyek ezután telefonon tisztázzák egymás közt a jogi kérdéseket. Végül a két cég igazgatója megvitatja egymással a terv pénzügyi vonatkozásait. Vajon ez a példa többrétegű protokollnak számít-e az OSI-modell értelmében? 13. Mi a leglényegesebb különbség az összeköttetés nélküli és az összeköttetés alapú kommunikáció között? 14. Vegyünk két olyan hálózatot, amelyek megbízható, összeköttetés alapú szolgál tatást nyújtanak. Az egyik egy megbízható bájtfolyam szolgáltatást, a másik pedig egy megbízható üzenetfolyam szolgáltatást nyújt. Ugyanarról van szó a két eset ben? Amennyiben igen, miért teszünk mégis különbséget közöttük? Ha pedig nem, akkor adjon példát olyan tulajdonságra, amiben különböznek! 15. Mit jelent a hálózati protokollok témakörében az „egyezkedés"? Adjon rá példát! 16. Az 1.19. ábra egy szolgálatot mutat. Vannak az ábrán implicit módon szereplő szolgálatok is? Ha igen, hol? Ha nem, miért nem?
BEVEZETÉS
109
17. Egyes hálózatokban az adatkapcsolati réteg kezeli az átviteli hibákat, a megron gálódott keretek újraküldését kérve. Amennyiben egy csomag megrongálódásá nak a valószínűsége p, hányszor kell egy csomagot átlagosan elküldeni ahhoz, hogy megérkezzen? Feltételezhetjük, hogy a nyugták sohasem vesznek el. 18. Melyik OSI-réteg foglalkozik a következőkkel? (a) A továbbítandó bitsorozat tördelése keretekre. (b) Az útvonal kijelölése az alhálózatban. 19. Ha az adatkapcsolati szinten az adatcsere egységét keretnek hívjuk és a hálózati szinten történő adatcsere egységét csomagnak, akkor a keretek ágyazódnak be a csomagokba, vagy a csomagok ágyazódnak be a keretekbe? Válaszát indokolja! 20. Adott egy rendszer, aminek n rétegű protokollhierarchiaja van. Az alkalmazások M bájt hosszúságú üzeneteket állítanak elő. Minden rétegben egy h bájt hosszúsá gú fejrész adódik az üzenethez. Mekkora hányadát foglalják le a hálózat sávszé lességének a fejrészek? 21. Soroljon fel két dolgot, amely az OSI-rnodellben és a TCP/IP-modellben meg egyezik! Soroljon fel két olyan dolgot is, amelyben a két modell különbözik! 22. Mi a leglényegesebb különbség a TCP és az UDP között? 23. Az 1.25.(b) ábra alhálózatát arra tervezték, hogy egy atomháborút is túléljen. Hány bombára lenne szükség ahhoz, hogy a csomópontok halmaza két, egymástól független halmazra essen szét? Felteheti, hogy egy bomba egy csomópontot és az összes hozzá kapcsolódó vonalat meg tudja semmisíteni. 24. Az internet mérete körülbelül 18 havonta megduplázódik. Az internetes hosztok pontos számát senki sem tudja, de a becslések szerint ez 2001-ben körülbelül 100 millió volt. Ezt az adatot felhasználva számolja ki az internetes hosztok várható számát 2010-ben! Elhiszi ezt a becslést? Indokolja meg, hogy miért igen, vagy miért nem! 25. Amikor egyik számítógépről a másikra viszünk át egy fájlt, akkor (legalább) két nyugtázási stratégia lehetséges. Az első változatban a fájlt csomagokra osztjuk fel, és azokat a vevő egyenként nyugtázza, de az egész átviteli folyamatra nem ad nyugtát. A másik változatban a vevő a csomagokra nem ad nyugtát, viszont az egész fájl átvitelét nyugtázza, amikor az teljesen megérkezett. Vitassuk meg a két változatot! 26. Miért használ az ATM kisméretű, fix hosszúságú cellákat?
110
SZÁMÍTÓGÉP-HÁLÓZATOK
27. Mennyi volt egy bit hossza méterben az eredeti 802.3-as szabvány szerint? Szá moljon 10 Mb/s-os átviteli sebességgel, és használja azt a feltevést, hogy a koaxkábelen a terjedési sebesség a fény vákuumban mért sebességének 2/3 része. 28. Egy kép 1024 x 768 képpontos méretű, 3 bájt/képpontos színfelbontású. Tegyük fel, hogy a kép nincs tömörítve. Mennyi ideig tart átvinni ezt a képet egy 56 kb/s-os modemes csatornán? Egy 1 Mb/s-os kábelmodemen? Egy 10 Mb/s-os Etherneten? Egy 100 Mb/s-os Etherneten? 29. Az Ethernet és a vezeték nélküli hálózatok között hasonlóságok és különbségek egyaránt előfordulnak. Az Ethernet egyik tulajdonsága az, hogy egyszerre csak egy keret utazhat egy Etherneten. Hasonlít ebben a 802.11 az Ethernetre? Vála szát fejtse ki! 30. A vezeték nélküli hálózatokat könnyű telepíteni, amely olcsóvá is teszi azokat, mivel a telepítés költségei jóval meghaladják a berendezés árát. Mindezek ellené re néhány hátrányos tulajdonságuk is van. Nevezzen meg kettőt ezek közül. 31. Adjuk meg két előnyét és két hátrányát annak, hogy a hálózati protokollokat nem zetközileg szabványosítják! 32. Amikor egy rendszer egy rögzített és egy elmozdítható részből épül fel (például egy CD-ROM-meghajtó és maga a CD-ROM), fontos, hogy az ilyen rendszert szabványosítsuk, ugyanis csak így érhető el, hogy a különböző gyártók által for galomba hozott rögzített és elmozdítható részek együtt is működőképesek legye nek. Soroljunk fel három olyan dolgot a számítástechnika területén kívül, amely nél nemzetközi szabvány létezik! Ezek után soroljunk fel három olyat is, amely nél nem létezik ilyen szabvány! 33. Készítsen egy listát az olyan mindennapos tevékenységeiről, amelyekhez számí tógép-hálózatokat használ. Hogyan változna az élete, ha ezeket a hálózatokat hir telen valaki lekapcsolná? 34. Derítse ki, hogy milyen hálózatokat használnak az iskolájában vagy munkahe lyén! írja le az ezekben használt hálózattípusokat, topológiákat és kapcsolási módszereket! 35. A ping program segítségével egy tesztelő csomagot küldhetünk egy adott helyre, hogy megmérjük, mennyi időt utazik oda és vissza. Használja most a pingel arra, hogy kiderítse, mennyi ideig tart, amíg a csomag a tartózkodási helyétől különféle más ismert helyekre eljut! Ezekből az adatokból készítsen egy olyan grafikont, amely az interneten való csomaghaladás idejét, az útidőt ábrázolja a távolság függvényében! A legjobb az, ha egyetemeket használ, mivel az egyetemi szerve rek helye nagyon pontosan ismert. Például, a berkeley.edu a kaliforniai Berkeley ben, a mit.edu a Massachusetts-i Cambridge-ben, a vu.nl a hollandiai Amszter-
BEVEZETÉS
111
dámban, a www.usyd.edu.au az ausztráliai Sydneyben, a www.Mcf.ac.za pedig a dél-afrikai Fokvárosban van. 36. Menjen el az IETF webhelyere a www.ietf.org címen, és derítse ki, mivel foglal kozik! Válasszon ki egy tetszőleges tervet, és írjon egy féloldalas jelentést a prob lémáról és az arra vonatkozó javasolt megoldásról. 37. A szabványosítás roppant fontos dolog a hálózatok világában. Az ITU és az ISO a két legfontosabb szabványügyi szervezet. Menjen el a webhelyeikre, amiket rend re a www.itu.org és a www.iso.org címeken talál meg, és tanulmányozza a szab ványosítási törekvéseiket! írjon egy rövid jelentést az éppen szabványosítás alatt álló dolgokról. 38. Az Internet nagyszámú hálózat összessége. Ez az elrendezés határozza meg az internet topológiáját. Az Internet topológiájáról tekintélyes mennyiségű informá ció található on-line. Egy kereső szolgáltatás segítségével derítsen ki többet az Internet topológiájáról, és egy rövid jelentésben foglalja össze a találtakat!