You are on page 1of 1273

hlzatok Alkalmazs-

mkdse kzelts

vilgszerte a legnpszerbb ke az alapok elsajttshoz, k oka, hogy friss szemllettel s korszer meg a szmtgp-hlzatok oktatst, tantsi mdszerrel ellenttben fellrl ilkalmazsi rtegtl indulva trgyalja a zatokat. A rtegzett szerkezet segts- 5k tlthatjk a szmtgp-hlzatok azonban gy tanuljk meg az architek- zhez tartoz klnbz fogalmakat s gy kzben ltjk a teljes kpet, ahogyan hoz illeszkednek. m az internet ll, s a szerzk eltrbe ati biztonsg krdseit a legelterjedtebb zati technikkkal egytt. < szmra kszlt, akik elszr foglalkoz-hlzatokkal. Hasznlhat mind inforillamosmrnki szakokon, az egyetemi s a mesterkpzsben egyarnt, valamint telekommunikcis iparban dolgozk

ogy a hlzatok tanulsa (s tantsa!) \ knyvben a humor, a hasonlatok alkaldi pldk remlhetleg hozzjrulnak

Kurose

James F. Kurose s Keith W. Ross

rr

SZAMITOGEPHLZATOK MKDS

Alkalmazsorientlt megkzelts

www.panem.hu

JAMES F. KUROSE S KEITH W. ROSS

Szmtgp hlzatok mkdse


Alkalmazsorientlt megkzelts

PANEM
A m eredeti cme: Computer Networking: A Top-Down Approach. 4th Edition. Copyright 2008 Pearson Education, Inc. Hungarian language edition Copyright 2009 Panem Knyvkiad Kft., Budapest

ISBN 978-963-545-498-3

A kiadsrt felel a Panem Knyvkiad Kft. gyvezetje, Budapest, 2009 Fordtotta: dr. Barta Erzsbet (4. fejezet), Bogatin Gyrgy (2. fejezet), Czap Lszl (8. fejezet), Ers Levente (5. s 6. fejezet), Kvr Jnos (Bevezets, 1. fejezet), Sipos Katalin (3. fejezet), Sztah Dvid (7. s 9. fejezet) Lektorlta: dr. Harangoz Jzsef Tipogrfia: Mihalecz Pl Bortterv: Tth Attila Nyomdai elkszts: AlmandinBooks

panem@panem.hu www.panem.hu Minden jog fenntartva. Jelen knyvet, illetve annak rszeit tilos reproduklni, adatrgzt rendszerben trolni, brmilyen formban vagy eszkzzel - elektronikus ton vagy ms mdon - kzlni a kiadk engedlye nlkl.

Nyomta s kttte: a Drer Nyomda Kft. Gyuln Felels vezet: Kovcs Jnos

Tartalomjegyzk

SZAMITOGEP- HLZATOK...............................................3 MKDS............................................................3

Tartalomjegyzk.................................................................................................... 7

A szmtgp-hlzatok s az internet.............................................................26

1.1.Mi az az internet?........................................................................................... 2

1.1.1.Alkotrszek................................................................................................ 2

1.1.2.Szolgltatsok............................................................................................. 5

1.2. A hlzat szle............................................................................................. 11

1.2.1.Kliens- s szerverprogramok....................................................................14

1.2.2.Hozzfrsi hlzatok...............................................................................14

1.2.3.Fizikai tviteli kzegek.............................................................................. 26

1.3.A hlzat magja............................................................................................ 30

1.3.1.Vonalkapcsols s csomagkapcsols.......................................................30

1.3.2.Csomagok thaladsa csomagkapcsolt hlzatokon..............................40

1.3.3.lnternetszolgltatk s internet-gerinchlzatok...................................41

1.4.Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban 44

1.4.1.Ksleltetsek ttekintse.........................................................................46

1.4.2.Sorbanllsi ksleltets s csomagveszts.............................................52

1.4.3.Vgpontok kztti ksleltets..................................................................55

1.4.4.Szmtgp-hlzatok tbocstkpessge............................................58

1.5.Protokollrtegek s szolglati modelljeik...................................................63

1.5.1.Rtegezett architektra............................................................................ 63

1.5.2.zenetek, szegmensek, csomagok s keretek........................................72

1.6.Tmadsok a hlzatok ellen......................................................................76

1.7.Szmtgp-hlzatok s az internet trtnete.........................................84

1.7.1.A csomagkapcsols kifejlesztse: 1961-1972.........................................84

1.7.2.Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980.........................87

1.7.3.Hlzatok gyors fejldse: 1980-1990.....................................................88

1.7.4.Az internet robbansszer elterjedse: az 1990-es vek.......................89

1.7.5.Legutbbi fejlesztsek..............................................................................90

1.8.sszefoglals................................................................................................ 92

Krdsek.............................................................................................................. 94

Feladatok............................................................................................................. 96

Gondolkodtat krdsek................................................................................... 105

Leonard Kleinrock............................................................................................. 108

Az alkalmazsi rteg......................................................................................... 113

2.1.Hlzati alkalmazsok elvi alapjai............................................................114

2.1.1.Hlzati alkalmazsi architektrk........................................................114

2.1.2.Kommunikl folyamatok.......................................................................119

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok 122

2.1.4.Internetes szlltsi szolgltatsok........................................................125

2.1.5.Alkalmazsi protokollok..........................................................................130

2.1.6.A knyvben trgyalt hlzati alkalmazsok..........................................131

2.2. A web s a HTTP........................................................................................ 132

2.2.2.Idleges s lland sszekttetsek.....................................................134

2.2.3.HTTP-zenetformtumok........................................................................140

2.2.4.Felhasznl s szerver kztti egyttmkds: stik..........................146

2.2.5.Webes gyorsttrazs............................................................................ 149

2.3.Fjltvitel: FTP............................................................................................ 127

2.3.1.FTP-parancsok s -vlaszok....................................................................129

2.2.6.A feltteles GET....................................................................................... 131

2.4.Elektronikus levelezs az interneten........................................................108

2.4.1.SMTP......................................................................................................... 134

2.4.2.sszehasonlts a HTTP-vei....................................................................113

2.4.3.Levl zenetformtumok s a MIM......................................................114

2.4.4.Levl-hozzfcrsi protokollok.................................................................118

2.5.DNS - Az internet krzetnv-szolgltatsa...............................................131

2.5.1.A DNS ltal nyjtott szolgltatsok........................................................132

2.5.2.A DNS mkdsnek ttekintse...........................................................135

2.5.3.DNS-rekordok s -zenetek....................................................................131

2.6.P2P-alkalmazsok....................................................................................... 139

2.6.1.P2P-fj1cserls...................................................................................... 140

F \....................................................................................................................... 143

2.6.2.Informcikeress egy P2P-kzssgben..............................................155

2.6.3.Esettanulmny: P2F internetes telefonls (Skype).............................163

2.7.TCP-szoketprogramozs............................................................................. 166

2.7.1.TCP-szoketprogramozs.......................................................................... 168

2.7.2.Egy kliens-szerver alkalmazsi plda Javban programozva...............172

l.......................................................................................................................... 183

t.......................................................................................................................... 186

Bram Cohen....................................................................................................... 202

A szlltsi rteg............................................................................................... 205

O........................................................................................................................ 245

O......................................................................................................................... 211

Sally Floyd......................................................................................................... 295

A hlzati rteg................................................................................................. 298

Vinton G. Cerf.................................................................................................... 151

1......................................................................................................................... 196

1......................................................................................................................... 196

r,=2X................................................................................................................ 231

p*"~ j................................................................................................................. 242

I I l i.................................................................................................................... 106

1.1.1.

Autonm rendszeren belli tvlaszts az interneten

SZAMITOGEP- HLZATOK...............................................3 MKDS............................................................3

Tartalomjegyzk.................................................................................................... 7

A szmtgp-hlzatok s az internet.............................................................26

1.1.Mi az az internet?........................................................................................... 2

1.1.1.Alkotrszek................................................................................................ 2

1.1.2.Szolgltatsok............................................................................................. 5

1.2. A hlzat szle............................................................................................. 11

1.2.1.Kliens- s szerverprogramok....................................................................14

1.2.2.Hozzfrsi hlzatok...............................................................................14

1.2.3.Fizikai tviteli kzegek.............................................................................. 26

1.3.A hlzat magja............................................................................................ 30

1.3.1.Vonalkapcsols s csomagkapcsols.......................................................30

1.3.2.Csomagok thaladsa csomagkapcsolt hlzatokon..............................40

1.3.3.lnternetszolgltatk s internet-gerinchlzatok...................................41

1.4.Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban 44

1.4.1.Ksleltetsek ttekintse.........................................................................46

1.4.2.Sorbanllsi ksleltets s csomagveszts.............................................52

1.4.3.Vgpontok kztti ksleltets..................................................................55

1.4.4.Szmtgp-hlzatok tbocstkpessge............................................58

1.5.Protokollrtegek s szolglati modelljeik...................................................63

1.5.1.Rtegezett architektra............................................................................ 63

1.5.2.zenetek, szegmensek, csomagok s keretek........................................72

1.6.Tmadsok a hlzatok ellen......................................................................76

1.7.Szmtgp-hlzatok s az internet trtnete.........................................84

1.7.1.A csomagkapcsols kifejlesztse: 1961-1972.........................................84

1.7.2.Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980.........................87

1.7.3.Hlzatok gyors fejldse: 1980-1990.....................................................88

1.7.4.Az internet robbansszer elterjedse: az 1990-es vek.......................89

1.7.5.Legutbbi fejlesztsek..............................................................................90

1.8.sszefoglals................................................................................................ 92

Krdsek.............................................................................................................. 94

Feladatok............................................................................................................. 96

Gondolkodtat krdsek................................................................................... 105

Leonard Kleinrock............................................................................................. 108

Az alkalmazsi rteg......................................................................................... 113

2.1.Hlzati alkalmazsok elvi alapjai............................................................114

2.1.1.Hlzati alkalmazsi architektrk........................................................114

2.1.2.Kommunikl folyamatok.......................................................................119

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok 122

2.1.4.Internetes szlltsi szolgltatsok........................................................125

2.1.5.Alkalmazsi protokollok..........................................................................130

2.1.6.A knyvben trgyalt hlzati alkalmazsok..........................................131

2.2. A web s a HTTP........................................................................................ 132

2.2.2.Idleges s lland sszekttetsek.....................................................134

2.2.3.HTTP-zenetformtumok........................................................................140

2.2.4.Felhasznl s szerver kztti egyttmkds: stik..........................146

2.2.5.Webes gyorsttrazs............................................................................ 149

2.3.Fjltvitel: FTP............................................................................................ 127

2.3.1.FTP-parancsok s -vlaszok....................................................................129

2.2.6.A feltteles GET....................................................................................... 131

2.4.Elektronikus levelezs az interneten........................................................108

2.4.1.SMTP......................................................................................................... 134

2.4.2.sszehasonlts a HTTP-vei....................................................................113

2.4.3.Levl zenetformtumok s a MIM......................................................114

2.4.4.Levl-hozzfcrsi protokollok.................................................................118

2.5.DNS - Az internet krzetnv-szolgltatsa...............................................131

2.5.1.A DNS ltal nyjtott szolgltatsok........................................................132

2.5.2.A DNS mkdsnek ttekintse...........................................................135

2.5.3.DNS-rekordok s -zenetek....................................................................131

2.6.P2P-alkalmazsok....................................................................................... 139

2.6.1.P2P-fj1cserls...................................................................................... 140

F \....................................................................................................................... 143

2.6.2.Informcikeress egy P2P-kzssgben..............................................155

2.6.3.Esettanulmny: P2F internetes telefonls (Skype).............................163

2.7.TCP-szoketprogramozs............................................................................. 166

2.7.1.TCP-szoketprogramozs.......................................................................... 168

2.7.2.Egy kliens-szerver alkalmazsi plda Javban programozva...............172

l.......................................................................................................................... 183

t.......................................................................................................................... 186

Bram Cohen....................................................................................................... 202

A szlltsi rteg............................................................................................... 205

O........................................................................................................................ 245

O......................................................................................................................... 211

Sally Floyd......................................................................................................... 295

A hlzati rteg................................................................................................. 298

Vinton G. Cerf.................................................................................................... 151

1......................................................................................................................... 196

1......................................................................................................................... 196

r,=2X................................................................................................................ 231

p*"~ j................................................................................................................. 242

I I l i.................................................................................................................... 106

23

Elsz

24

Elsz

Elsz

Elsz

VIl

dvzljk a Szmtgp-hlzatok mkdse. Alkalmazsorientlt megkzelts cm knyv negyedik kiadsban. Ht ve, az els kiads megjelense ta knyvnket tbb szz fiskola s egyetem kezdte hasznlni, tbb mint 10 nyelvre lefordtottk, s tbb mint szzezer egyetemi hallgat s szakmabeli hasznlta vilgszerte. Az olvasktl rendkvl sok pozitv visszajelzs rkezett.

Mi az j a negyedik kiadsban?
Szerintnk a siker egyik fontos oka az, hogy knyvnk friss s idszer mdon kzelti meg a szmtgp-hlzatok oktatst. Ebben a negyedik kiadsban vannak vltozsok, de vltozatlanul hagytuk azt, amirl gy hisszk (s ebben a knyvet hasznl oktatk s hallgatk is megerstettek), hogy a knyv legfontosabb aspektusai: alkalmazsorientlt, szolgltatsalap szemllete, vagyis az, hogy fellrl lefel kzelti meg a szmtgp-h- lzatokat; az internetre s a modern hlzatokra helyezi a hangslyt; figyelmet fordt mind az elmletre, mind a gyakorlatra, tovbb rthet az a mdszer, amely vgl is elvezet a szmtgphlzatok megismershez. Ennek ellenre szmos lnyeges dolgot vltoztattunk is ebben a kiadsban. A hlzati biztonsg rendkvli fontossga miatt ez a terlet nagyobb hangslyt kap, s hlzati biztonsggal foglalkoz krdseket mr az 1. fejezetben bemutatunk, majd ezt minden fejezetben j szempontokkal bvtjk. A 8. fejezetben (amelyet az els kiadstl kezdve a hlzati biztonsgnak szenteltnk) megjtottuk s kibvtettk a hlzati biztonsg terletnek bemutatst. j informcikkal frisstettk s bvtettk a vezetk nlkli hlzatokrl szl tmakrt az IEEE 802.11-rl (WiFi), IEEE 802.16-rl (WiMAX) s a mobilhlzatokrl. A P2Palkalmazsokrl - az alkalmazsi protokollok egyre fontosabb csaldjrl - szl lersaink nem csak a fjlmegoszt protokollokat fedik le, hanem az olyan fjleloszt protokollokat is, mint a BitTorrent s az j P2P multimdia-alkalmaz sokkal, mint pldul az IP-n keresztli hangtvitelt hasznl Skype. A helyi s a multimdia-hlzatokrl szl fejezetek tkrzik az ezen terletek elmletben s gyakorlatban trtnt vltozsokat. Az I. fejezet kiegszlt a vgpontok kztti tbocstkpessg vizsglatval. A knyvben vgig j, korszer pldkat s friss hivatkozsokat hasznltunk. A fejezetek vgre j krdsek, feladatok kerltek.

Olvaskznsg
Ez a knyv azok szmra kszlt, akik elszr foglalkoznak a szmtgphlzatokkal. Hasznlhat mind informatikai, mind villamosmrnki szakon. A programozsi nyelvek ismeretrl a knyv csak annyit felttelez, hogy a hallgatk gyakorlattal rendelkeznek a C, C++ vagy Java nyelvekben (s csak nhny helyen van erre szksg). Br ez a knyv rszletesebb s analitikusabb, mint sok ms bevezet jelleg hlzatokkal foglalkoz knyv, ritkn hasznl olyan matematikai

Vili

ELSZ

fogalmakat, amelyeket nem tantanak a kzpiskolban. Kerltnk mindenfle bonyolult szmtst, valsznsg-szmtsi vagy sztochasztikus feldolgozsi fogalmakat (ennek ellenre tallhat nhny krds s feladat azok szmra, akik biztosabb alapokkal rendelkeznek). A knyv ezrt megfelel mind az egyetemi alapkpzsben (BSc), mind a mesterkpzsben (MSc), valamint hasznos lehet a telekommunikcis iparban dolgozk szmra is.

Mi a klnleges ebben a knyvben?


A szmtgp-hlzatok tmakre rendkvl sszetett, szmos fogalmat, protokollt s mszaki megoldst tartalmaz, amelyek kztt nagyon bonyolult kapcsolat van. Sok knyv, hogy kezelni tudja ezt a mretet s sszetettsget, a hlzati architektrt rtegekbe rendezi. A rtegzett szerkezet segtsgvel a hallgatk tlthatjk a szmtgp-hlzatok sszetettsgt - gy tanuljk meg az architektra egy rszhez tartoz klnbz fogalmakat s protokollokat, hogy kzben ltjk a teljes kpet, ahogyan a rszek egymshoz illeszkednek. Oktatsi szempontbl a szemlyes tapasztalatunk az volt, hogy az ilyen r tegzett megkzelts a helyes. Ennek ellenre gy talltuk, hogy a hagyomnyos tantsi md - azaz az als, fizikai rtegtl indulva, flfel haladva az alkalmazsi rtegig nem a legjobb megkzelts egy szmtgp-hlzatokkal foglalkoz modern tantrgyban.

Alkalmazsorientlt szemllet
Knyvnk ht vvel ezeltt ttr szerepet tlttt be, mivel alkalmazsorientlt (szolgltatsalap) szemlletben foglalkozott a hlzatokkal - azaz elsknt az alkalmazsi rteget mutatta be, majd onnan haladt lefel a fizikai rteg fel. Ez a megkzelts szmos elnnyel jr. Elszr is azrt, mert hangslyt fektet az alkalmazsi rtegre (a hlzatok nagyra ntt terletre), s mg inkbb azrt, mert sok mai ttrs a szmtgp-hlzatok tern - belertve a webet, a P2P-fjl megosztst s a mdia letltst - az alkalmazsi rtegben trtnt. Az alkalmazsi rtegbeli krdsekre helyezett korai hangsly klnbzik legtbb ms knyv megkzeltstl, amelyeknek csak kis rsze foglalkozik a hlzati alkalmaz sokkal, a kvetelmnyeikkel, az alkalmazsi rteg paradigmival (pldul kliensszerver s egyenrang felek kztti adatcsere) s az alkalmazi programinterfszekkel. Msodszor, a sajt oktati tapasztalatunk (s ms, ezt a knyvet hasznl oktatk tapasztalata) az volt, hogy rendkvl ersen motivlja a hallgatkat, ha a hlzati alkalmazsokkal rgtn az elejn foglalkozunk; ha arrl tanulnak, hogyan mkdnek az olyan hlzati alkalmazsok, mint az e-mail s a web, amelyeket naponta hasznlnak. Ha egyszer a hallgat megrti az alkalmazsokat, megrti a hlzati szolglati modelleket is, amelyek ezen alkalmazsok tmogatshoz szksgesek. Cserbe szmos mdszert megvizsglhat, ho gyan nyjthatjk s valsthatjk meg az alsbb rtegek ezeket a szolgltatsokat. Az al kalmazsok korai trgyalsa gy felkelti az rdekldst a knyv tovbbi rszhez. Harmadszor, az alkalmazsorientlt megkzelts lehetv teszi az oktatnak, hogy mr a korai szakaszban bemutassk a hlzati alkalmazsok fejlesztst. A hallgatk nem csak ltjk, hogyan mkdnek a npszer protokollok, hanem meg is tanuljk, milyen knny elkszteni a sajt hlzati alkalmazsaikat s

Vili

ELSZ

alkalmazsi protokolljai kt. A alkalmazsorientlt, szolgltatsalap megkzeltssel a hallgatk korn megismerhetik az alkalma zi program interfsz (API) fogalmt, a szolglati modelleket s a protokollokat - olyan fontos fogalmakat, amelyek a kvetkez rtegekben jra megjelennek. Java szoketprogramozsi pldk bemutatsval anlkl emeljk ki a kzponti gondolatot, hogy bonyolult

kddal sszezavarnnk a hallgatkat. Villamosmrnk hallgatknak nem okozhat gondot a Java-kd megrtse.

informatikus

Hangsly az interneten

Ebben a negyedik kiadsban kihagytuk az internet jellemzse szavakat a cmbl, de ez nem jelenti azt, hogy nem helyezzk az internetet a kzppontba! Az volt a meggondolsunk, hogy mivel az internet mr ennyire thatja mindennapjainkat, gy reztk, hogy brmelyik hlzatokkal foglalkoz knyvben jelents hangslyt kell fektetni r, s gy ezek a szavak valahogy flslegess vltak. Termszetesen ms hlzati architektrk fogalmaival s protokolljaival is foglalkozunk. m a kzppontban az internet ll, s ezt a tnyt tkrzi az is, hogy az internet trteg architektrja kr ptettk fel a knyvet: ezek az alkalmazsi, szlltsi, hlzati, adatkapcsolati s a fizikai rteg. Az internet kzppontba helyezsnek msik elnye, hogy a legtbb informatikus s villamosmrnk hallgat szvesen tanul az internetrl s protokolljairl. Tudjk, hogy az internet forradalmi s tforml technika, s ltjk, hogy alapjaiban vltoztatja meg vilgunkat. Az internet fontossga miatt a hallgatk termszetesen kivncsiak, hogy mi van a kalap alatt. gy az internet mint vezrfonal hasznlatval egy oktatnak knny rdekess tenni az alapelveket a hallgatk szmra.

Az alapelvek ismertetse
A knyv egyedi vonsaibl kett - az alkalmazsorientlt megkzelts s az internet hangslyozsa - megjelent az els hrom kiads cmben. Ha mg egy harmadik kifejezst is beleprselhettnk volna az alcmbe, az tartalmazta volna az alapelvek szt. A hlzatok terlete elg rett mr, hogy szmos alapvet fontossg problmt azonostsunk. Pldul a szlltsi rtegben az alapvet problmk kz tartozik a megbzhatatlan hlzati rteg fltti megbzhat kommunikci, az sszekttets felptse/lebontsa s a kzfogs, a torldskezels s forgalomszablyozs s a nyalbols. A hlzati rteg kt alapvet fontossg krdse az, hogyan hatrozhat meg kt tvlaszt kztt a helyes t, s hogyan kell sszektni nagyszm heterogn hlzatot. Az adatkapcsolati rtegben az alapproblma a tbbszrs hozzfrs csatorna megosztsa. A hlzati biztonsg terletn a titkostst, a hitelestst s a csomagok srtetlensgt biztost technikk mind kriptogrfiai alapokon nyugszanak. Ez a knyv meghatrozza az alapvet hlzati problmkat, s tanulmnyozza ezen problmk megkzeltsi lehetsgeit. Azok a hall gatk, akik megtanuljk ezeket az alapelveket, hossz idre szl ismereteket szereznek a mai hlzati szabvnyok s protokollok elavulsa utn is, hiszen az alapelvek, amelyeket megtestestenek, sokig fontosak lesznek. Hisszk, hogy a hallgatk kezdeti rdekldst felkelt internethasznlatnak, s ezutn az alapkrdsek s a megoldsi megkzeltsek hangslyozsnak kombincija lehetv teszi, hogy a hallgatk gyorsan beletanuljanak brmilyen hlzati technikba.

Oktatsi szempontok
Tbb mint 20 ve oktatunk szmtgp-hlzatokat. Egytt tbb mint 45 vnyi oktatsi tapasztalatot srtettnk a knyvbe, s ez id alatt tbb ezer hallgatt tantottunk. A szmtgp-hlzatok aktv kutati is voltunk. (Valjban Jim s Keith elszr egyetemi hallgatknt tallkozott 1979-ben a Columbia Universityn Mischa Schwartz szmtgp-hlzatok eladsn.) gy gondoljuk, hogy ezrt j rltssal rendelkeznk a hlzat tmakrre, s valszn jvbeli fejldsre. Mindazonltal ellen tudtunk llni a ksrtsnek, hogy a knyv anyagt a sajt kedvenc kutatsi projektjeink fel mozdtsuk el. gy vljk, ha az olvast rdekli a sajt kutatsunk, elltogathat szemlyes weboldalainkra. gy ez a knyv a modern szmtgp-hlzatokrl szl - a jelen protokolljairl s technolgi irl, valamint a mgttk lv alapelvekrl. gy hisszk, hogy a hlzatok tanulsa (s tantsa!) lvezetes is lehet. A knyvben a humor, az letszer hasonlatok alkalmazsa s a valdi pldk remlhetleg hozzjrulnak ehhez.

ELSZ

XXIX

rdekessgek
A szmtgp-hlzatok trtnete gazdag s rdekfeszt. Klnsen fontosnak tartottuk, hogy elmesljk a knyvben a szmtgp-hlzatok trtnett. Ezt az 1. fejezetben egy klnleges trtneti rszben, s a tovbbi fejezetek kzel tucatnyi trtnetben tettk meg (lsd az Egy kis trtnelem cm rsokat). Ezekben a trtnetekben foglalkozunk a csomagkapcsols feltallsval, az internet fejldsvel, az olyan hatalmas, hlzatok kal foglalkoz vllalatok szletsvel, mint a Cisco s a 3Com s mg sok ms fontos ese mnnyel. Olyan klnleges esetekrl is beszmolunk, amelyek a szmtgp-hlzatok fontos alapelveit emelik ki (lsd Elvek a gyakorlatban cm rszeket). gy vljk, hogy ezek a trtnetek elsegtik, hogy a hallgatk tisztban legyenek nhny alapvet koncepci fontossgval, amelyet a modern hlzatokban hasznlnak. A hlzati biztonsggal a Fkuszban a biztonsg cm kiemelt rszekben foglalkozunk a knyv minden fejezetben.

Interjk
Mg egy eredeti tulajdonsga van a knyvnek, amely inspirlhatja s motivlhatja a hallgatkat, nevezetesen beszlgetseket tartalmaz neves fejlesztkkel, akik a hlzatok terletn tevkenykedtek: Len Kleinrock, Bram Cohen, Sally Floyd, Vint Cerf, Simon Lam, Charlie Perkins, Henning Schulzrinne, Steven Bellovin s Jeff Case.

Segdanyagok oktatknak
Egy teljes kiegszt csomagot is biztostunk az oktatknak, hogy segtsgkre legynk a trgy tantsban. Ez az anyag elrhet az Addison-YVesley Instructors Resource Centeren (http://vvww.avv.com/irc ). Ltogasson el az Instructors Resource Centerre, vagy kldjn e-mailt a computing@avv.com cmre tovbbi informcirt, hogyan rhetk el ezek a kiegsztsek. PowerPoint^-flik. PowerPoint-flikat biztostunk, melyek rszletesen lefedik

ELSZ

XXX

mind a kilenc fejezetet. A flik nem csupn monoton felsorolsokbl llnak, de grafikt s animcit is alkalmaznak, hogy mg rdekesebbek s vizulisan is vonzbbak legyenek. Az eredeti PowerPoint-flikat az oktat testre szabhatja a sajt tantsi ignyeinek megfelelen. A flik kzl nhnyat azok az oktatk ksztettek, akik ebbl a knyvbl tantottak.

ELSZ

XVll

XXXI

Elsz
. A feladatok megoldsa. Elrhetv tesszk a knyvben tallhat krdsek, feladatok megoldsi tmutatit.

A fejezetek kztti sszefggsek

A knyv 1. fejezete nmagban is egszknt kezelhet ttekints a szmtgphlzatokrl. Ez a fejezet szmos kulcsfogaimat s terminolgit bemutatva kpezi a knyv tbbi rsznek alapjt. Az sszes tbbi fejezet kzvetlenl fgg az 1. fejezettl. Azt javasoljuk, hogy az 1. fejezet elolvassa utn az oktatk a 2., 3., 4. s 5. fejezeteket sorban vegyk t, kvetve a filozfinkat, vagyis hogy fellrl lefel haladunk. Ezen fejezetek kzl mindegyikre hatssal van az elz fejezetek anyaga. Az els t fejezet utn az oktatnak nincs megktve a keze. Az utols ngy fejezet kztt nincs fggsg, gy brmilyen sorrendben tanthatja azokat. Az utols ngy fejezet anyaga azonban fgg az els t fejezet anyagtl. Sok oktat megtantja az els t fejezetet, s azutn amolyan desszertknt lead egyet az utols ngy fejezetbl.

Vgs megjegyzs: szeretnnk hallani nrl!


Arra btortjuk az oktatkat s hallgatkat egyarnt, hogy ksztsenek j Javaprogramokat, amelyek a knyvben trgyalt fogalmakat s protokollokat mutatjk be. Ha van olyan programja, amelyrl gy gondolja, hogy illik ehhez a knyvhz, krjk kldje el a szerzknek. Ha a program (valamint a jells s a terminolgia) megfelel, boldogan feltesszk a knyv weboldalra (http://www.aw.com/kuroseross ), ill hivatkozssal a program rira. Amint fentebb is megjegyeztk, arra is btortjuk az oktatkat, hogy olyan j krdseket s feladatokat (s megoldsokat) kldjenek, amelyek kiegszthetik a mostaniakat. Ezeket a weboldal csak oktatknak szl rszre tesszk ki. Arra is buzdtjuk a hallgatkat s az oktatkat, hogy ha a knyvhz brmilyen hozzfznivaljuk van, kldjk el e-mailben. Csodlatos volt visszajelzst kapni a rengeteg oktattl s hallgattl a vilg minden tjrl az els hrom kiadssal kapcsolatban. Ahogyan mondjk, Vrjuk a leveleket s kpeslapokat! Komolyra fordtva a szt, krjk tovbbra is kldjenek neknk rdekes URI.-eket, hvjk fel a figyelmnket az elrsokra, mondjanak ellent az lltsainknak, s mondjk el, mi mkdik, s mi nem. Mondjk el, hogy nk szerint mit kellene vagy mit nem kellene tartalmaznia a kvetkez kiadsnak. E-mailt a kurose@cs.umass.edu vagy a ross@poly.edu cmre kldjenek.

Ksznetnyilvnts
Mita 1996-ban elkezdtk rni ezt a knyvet, sok ember adott felbecslhetetlen mrtk segtsget, s befolysolta az elkpzelseinket arrl, hogyan lehet a

ELSZ

XXXII

legjobban szervezni s tantani egy hlzatos trgyat. NAGY KSZNETT mondunk mindenkinek, aki segtett minket a knyv els piszkozattl kezdve egszen eddig a negyedik kiadsig. Sok ksznettel tartozunk annak a sok szz olvasnak a vilg minden tjrl - hallgatknak, egyetemi oktatknak, szakmabelieknek akik elkldtk gondolataikat s megjegyzsei ket a knyv korbbi kiadsaihoz, s javaslatokat tettek a knyv tovbbi kiadsaival kap csolatban. Kln ksznet illeti nv szerint az albbiakat:

ELSZ

XXXIII

A1 Aho (Columbia University) Hisham Al-Mubaid (University of Houston-Clear Lake) Pratima Akkunoor (Arizona State University) Paul Amer (University of Delaware) Shamiul Azom (Arizona State University) Paul Barford (University of Wisconsin) Bobby Bhattacharjee (University of Maryland) Steven Bellovin (Columbia University) Pravin Bhagwat (Wibhu) Supratik Bhattacharyya (previously at Sprint) Ernst Biersack (Eurecom Institute) Shahid Bokhari (University of Engineering & Technology, Lahore) Jean Bolot (Sprint) Daniel Brushteyn (former University of Pennsylvania student) Ken Calvert (University of Kentucky) Evandro Cantu (Federal University of Santa Catarina) Jeff Case (SNMP Research International) JefF Chaltas (Sprint) Vinton Cerf (Google) Byung Kyu Choi (Michigan Technological University) Bram Cohen (BitTorrent, Inc.) Constantine Coutras (Pace University) John Daigle (University of Mississippi) Edmundo A. de Souza e Silva (Federal University of Rio de Janiero) Philippe Decuctos (Eurecom Institute) Christophe Diot (Thomson Research) Michalis Faloutsos (University of California at Riverside) Wu-chi Feng (Oregon Graduate Institute) Sally Floyd (ICIR, University of California at Berkeley) Paul Francis (Cornell) Lixin Gao (University of Massachusetts) JJ Garcia-Luna-Aceves (University of California at Santa Cruz) Mario Gerla (University of California at Los Angeles) David Goodman (Polytechnic University) Tim Gridin (Cambridge University) Max Hailperin (Gustavus Adolphus College) Bruce Harvey (Florida A&M University, Florida State University) Carl Hauser (Washington State University) Rachelle Heller (George Washington University) Phillipp Hoschka (INRIA/W3C) Wen Hsin (Park University) Albert Huang (former University of Pennsylvania student) Esther A. Hughes (Virginia Commonwealth University) Jobin James (University of California at Riverside) Sugih Jamin (University of Michigan) Shivkumar Kalyanaraman (Rensselaer Polytechnic Institute) Jussi Kangasharju (University of Darmstadt)

Sneha Kasera (University of Utah) Hyojin Kim (former University of Pennsylvania student) Leonard Klein rock (University of California at Los Angeles) David Kotz (Dartmouth College) Beshan Kulapala (Arizona State University), Rakesh Kumar (Polytechnic University) Miguel A. Labrador (University of South Florida) Steve Lai (Ohio Slate University) Tim-Berners Lee (World Wide Web Consortium) Lee Leitner (Drexel University) Brian Levine (University of Massachusetts) William Liang (former University of Pennsylvania student) Willis Marti (Texas A&M University) Nick McKeown (Stanford University) Josh McKinzie (Park University) Deep Medhi (University of Missouri, Kansas City) Bob Metcalfe (International Data Group) Sue Moon (KAIST) Erich Nahum (IBM Research) Christos Papadopoulos (Colorado Sate University) Craig Partridge (BBN Technologies) Radia Perlman (Sun Microsystems) Jitendra Padhye (Microsoft Research) Kevin Phillips (Sprint) George Polyzos (Athens University of Economics and Business) Sriram Rajagopalan (Arizona State University) Ramachandran Ramjec (Microsoft Research) Ken Reek (Rochester Institute of Technology) Martin Reisslein (Arizona State University) Jennifer Rexford (Princeton University) Leon Reznik (Rochester Institute of Technology) Sumit Roy (University of Washington) Avi Rubin (Johns Hopkins University) Dan Rubenstein (Columbia University) Douglas Salane (John Jay College) Despina Saparilla (Lucent Bell Labs) Henning Schulzrinne (Columbia University) Mischa Schwartz (Columbia University) Harish Sethu (Drexel University) K. Sam Shanmugan (University of Kansas) Prashant Shenoy (University of Massachusetts) Clay Shields (Georgetown University) Subin Shrestra (University of Pennsylvania) Mihail L. Sichitiu (NC State University) Peter Steenkiste (Carnegie Mellon University) Tatsuya Suda (University of California at Irvine) Kin Sun Tam (State University of New York at Albany) Don Towsley (University of Massachusetts) David Turner (California State University, San Bernardino)

ELSZ

21

Nitin Vaidya (University of Illinois) Michele Weigle (Clemson University) David Wetherall (University of Washington) Ira Winston (University of Pennsylvania) Raj Yavatkar (Intel) Yechiam Yemini (Columbia University) Ming Yu (State University of New York at Binghamton) Ellen Zegura (Georgia Institute of Technology) Hui Zhang (Carnegie Mellon University) Lixia Zhang (University of California at Los Angeles) Shuchun Zhang (former University of Pennsylvania student) Xiaodong Zhang (Ohio State University) ZhiLi Zhang (University of Minnesota) Phil Zimmermann (independent consultant) Cliff C. Zou (University of Central Florida) Szeretnnk kifejezni ksznetnket a teljes Addison-Wesley csapatnak is, akik rendkvl magas sznvonal munkt vgeztek (s akik elviseltek kt nagyon sok figyelmet ignyl szerzt): klnsen Michael Hirschnek, Marilyn I.loydnaks Lindsey Triebelnek. Ugyancsak ksznjk a kt grafikusnak, Janet Theurernek s Patrice Rossi Calkinnak a 2., 3. s 4. fejezetben lv gynyr brkat, s Nancy Kotarynak, Alicia Williamsnek s Scott Ha- risnek az ezen a kiadson vgzett csodlatos tipogrfiai, trdeli munkjt. Vgl klnleges ksznett mondunk Michael Hirschnek a jelenlegi kiads, s Susan Hartmannak a korbbi kiadsok szerkesztjnek az AddisonWesleynl. Ez a knyv nem lett volna az, ami (st egyltaln nem lett volna) az szeretetteljes hozzllsuk, lland sztnzsk, majdnem vgtelen trelmk, kitn humoruk s folytonos tenniakarsuk nlkl.

A szerzkrl
Jim Kurose

22

ELSZ

Jim Kurose a szmtstudomny kitntetett professzora az Amherstben lv University of Massachusettsen. Dr. Kurose szmos elismerst kapott oktatsi tevkenysgrt, belertve az Outstanding Teacher Awardst a National Technological Universitytl (8 alkalommal), a University of Massachusettstl s a Northeast Association of Graduate Schoolstl. Megkapta az IEEE Taylor Booth Education Medlt, s elismertk vezeti kpessgt a massachusett- si Commonwealth Information Technology Initiative-nl, valamint tovbbi djakat is kapott: GE Fellowship, IBM Faculty Development Award, Lilly Teaching Fellowship. Dr. Kurose az IEEE Transactions on Communications s az IEEE/ACM Transactions on Networking fszerkesztje. Sok ven keresztl rszt vett az IEEE Infocom, ACM SIG- COMM, ACM Internet Measurement Conference s az ACM SIGMETRICS program- bizottsgban, amelyekben a Technical Program trselnki tisztt tlttte be. Tagja az IEEE-nek s az ACM-nek. A kutatsi terletei kztt megtallhatak a hlzati protokollok s architektrk, hlzati mrsek, szenzorhlzatok, multimdia-kommunikci s a modellezs s teljestmnyvizsglat. PhD fokozatt szmtstudomnyban a Columbia Universityn szerezte.

Keith Ross

23

ELSZ

Keith Ross a szmtstudomny Leonard J. Shustek kitntetett professzora a brook ly ni Poly tech inc Universityn. 1985-tl 1998-ig a Department of Systems Engineering professzora volt a University of Pennsylvanin. 1998-tl 2003-ig a Multimedia Communications Department professzora volt a francia Institute Eurecomnl. Keith Ross alaptja s els igazgatja is a Wimbnak, amely IP-n keresztl trtn hangtviteli s folyamszer letltsi technikkat fejleszt az elektronikus oktatsi piacra. Ross professzor kutatsi terletei az egyenrang felek bl felpl (peer-to-peer) hlzatok, internetes mrsek s videletlts, web gyorsttrak, tartalomeloszt hlzatok, hlzati biztonsg, IP-n keresztl trtn hangtvitel s sztochasztikus modellezs. Tagja az IEEE-nek s jelenleg az IEEE/ACM Transactions on Networking trsszerkesztje. Tancsadknt szolglt a Federal Trade Commissionnl a P2P-fjlmegosztssal kapcsolatban. Rszt vesz az IEEE Infocom, ACM SIGCOMM, ACM Multimedia, ACM Internet Measurement Conference s ACM SIGMETRICS programbizottsgaiban. Szmtstudomnybl s irnytstechnikbl szerzett PhD fokozatot az University of Michiganen.

24

ELSZ

ELSZ

1. FEJEZET

A szmtgp-hlzatok s az internet

A mobiltelefonok webbngszitl a nyilvnos vezetk nlkli internetelrst knl kvhzakig, a gyors, szles sv elrssel rendelkez otthoni hlzatoktl a hagyomnyos munkahelyi szmtgpes infrastruktrig, ahol minden asztalon egy hlzatra kttt szmtgp van, a hlzatra csatlakoztatott autkig, a hlzatba kapcsolt krnyezeti rzkelkig, a bolygkzi internetig - ahogy ezekbl is ltszik -, a szmtgp-hlzatok lnyegben mindentt jelen vannak, s olyan j, izgalmas alkalmazsokat fejlesztenek, amelyek mg jobban kiterjesztik a mai hlzatok llal elrt terleteket. Ez a knyv korszer bevezets a szmtgphlzatok tudomnynak dinamikusan vltoz vilgba, bemutatja az alapelveket s a gyakorlati problmkat, gy az olvas nemcsak a ma, de a jv hlzatait is meg fogja rteni. Az I. fejezet ttekinti a szmtgp-hlzatokat s az internetet. A clunk itt az, hogy tfog kpet alkossunk, s lssuk a ftl az erdt. Ebben a bevezet fejezetben sok terletet rintnk, s anlkl trgyaljuk a szmtgp-hlzatok egyes rszeit, hogy tlzottan belemennnk a rszletekbe. Ez a fejezet fekteti le a knyv tovbbi rszeinek alapjait. Ebben a fejezetben az albbiak szerint strukturljuk a szmtgp-hlzatok ttekintst. Nhny alapterminolgia s koncepci bemutatsa utn elszr megvizsgljuk a hlzatokat felpt alapvet hardver- s szoftverelemeket. A hlzatok kls szleivel fogjuk kezdeni, megnzzk a vgrendszereket (end systern) s a hlzati alkalmazsokat. Ezutn felfedezzk a szmtgpes hlzatok magjt, megvizsglva az adatokat tovbbt adatkapcsolatokat (link) s kapcsolkat (switch) ppgy, mint a hozzfrsi hlzatokat s a fizikai tviteli kzegeket, amelyek a vgrendszereket a hlzathoz csatlakoztatjk. Meg tudjuk, hogy az internet a hlzatok hlzata, s azt is, hogy ezek a hlzatok hogyan csatlakoznak egymshoz. Miutn befejeztk a szmtgp-hlzatok szleirl s magjrl szl ttekintst, a fejezet msodik rszben tgabb s elvontabb megkzeltsbl vizsgldunk. Megvizsgljuk a ksleltetseket, a vesztesgeket s az tbocstkpessget egy szmtgp-hlzatban, s olyan egyszer mennyisgi modelleket adunk meg a vgpontok kztti tbocstkpessgre s a ksleltetsre, amelyek szmtsba veszik az tviteli, a terjedsi s a sorbanllsi ksleltetst is. Ezutn bemutatunk nhny olyan fontos, a szmtgp-hlzati architektrval kapcsolatos alapelvei, mint a protokoll rtegek s a szolglati modell. Azt is meg tudjuk, hogy a szmtgp-hlzatok sebezhetk szmos klnfle tmadsi formval szemben; megismerjk ezeket a tmadsokat, s ttekintjk, hogyan tehetjk a szmt gphlzatokat mg biztonsgosabb. Vgl a fejezetet a szmtgp-hlzatok rvid

ELSZ

trtnetvel zrjuk le.

ELSZ

1.1.

Mi az az internet?

Ebben a knyvben a nyilvnos internetet, egy specilis szmtgp-hlzatot mint legfontosabb eszkzt hasznljuk arra, hogy megtrgyaljuk a szmtgpes hlzatokat s azok protokolljait. Szeretnnk megadni az internet egymondatos defincijt, egy olyan meghatrozst, amelyet az ember megjegyezhet magnak, s megoszthatja a csaldjval, bartaival. m az internet sajnos nagyon sszetett, llandan vltoznak mind a hardver- s szoftversszetevi, mind pedig az ltala nyjtott szolgltatsok. gy ahelyett, hogy egy egymondatos meghatrozst adnnk, sokkal inkbb egy ler megkzeltsbl vizsgljuk meg. Ezt sokflekppen megtehetjk. Az egyik mdszer az, hogy lerjuk az internet alkotrszeit, az alap hardver- s szoftversszetevket, amelyekbl az internet felpl. A msik mdszer pedig az, hogy az internetet egy, az elosztott alkalmazsok szmra szolgltatsokat nyjt hlzati infrastruktraknt rjuk le. Kezdjk az alkotrszek ismertetsvel, amelyet az 1.1. bra szemlltet.

1.1.1. Alkotrszek
Az internet egy olyan szmtgp-hlzat, amely szmtstechnikai eszkzk milliit kti ssze az egsz vilgon. Nemrg mg ezek a szmtstechnikai eszkzk elssorban asztali szmtgpek, Linux-munkallomsok s n. szerverek voltak, amelyek weblapokat s elektronikus leveleket troltak s tettek elrhetv. Manapsg azonban egyre tbb, nem hagyomnyos vgrendszert kapcsolnak az internethez, mint amilyenek pldul a kzi sz mtgpek (PDA-k), a tv-k, a hordozhat szmtgpek, a mobiltelefonok, a webkamerk, az autk, a krnyezeti rzkel eszkzk, a kpkeretek, valamint az otthoni elektromos s biztonsgi rendszerek. Csakugyan, a szmtgp-hlzat kifejezs kezd kiss rgiesnek hangzani, figyelembe vve a sok, nem hagyomnyos eszkzt, amelyet az internetre ktnek. Az internetzsargonban ezeket hosztoknak (hosts) vagy vgrendszereknek (end systems) nevezik. 2006 jliusban tbb mint 400 milli vgrendszer hasznlta az internetet, s ez a szm gyorsan nvekszik [1SC 2007]. A vgrendszereket kommunikcis adatkapcsolatok (communication link) s cso magkapcsolk (packet switch) hlzata kti ssze. Az 1.2. alfejezetben ltni fogjuk, hogy sokfle kommunikcis adatkapcsolat ltezik, amelyek klnfle fizikai kzegekbl plnek fel, mint pldul a koaxilis kbel, a rzvezetk, a fnyvezet szl s a rdispektrum. Klnbz sszekttetsek klnbz sebessggel kpesek adatot tovbbtani, ez az sszekttets tviteli sebessge (transmission rate), amelyet bit/s-ban mrnk. Amikor az egyik vgrendszer adatot szeretne kldeni egy msiknak, a kld vgrendszer felda rabolja, szegmentlja az adatot, s minden darabhoz fejrszbjtokat ad hozz. Az gy lt rehozott informcicsomagokat a hlzati zsargonban csomagoknak (packet) nevezik. A csomagokat ezutn elkldik a hlzaton keresztl a cl vgrendszernek, ahol a csomagokat sszerakjk, s visszall az eredeti adat. Egy csomagkapcsol valamelyik bejv kommunikcis adatkapcsolatn megkap egy csomagot, majd tovbbtja azt az egyik kimen adatkapcsolatn. Sokfele csomagkapcsol ltezik, de ma az internet esetben ezek fleg tvlasztk

ELSZ

(router) s adatkapcsolati rtegben mkd kapcsolk (link-layer switch). Mindkt tpus adatokat tovbbt a vgcl fel. Az tvlasztkat rszletesen a 4. fejezetben, az adatkapcsolati rtegben mkd kapcsolkat pedig az 5. fejezetben vizsgljuk meg. A kommunikcis adatkapcsolatok s csomagkapcsolk sorozatt, amelyen a csomag thalad a kld vgrendszertl a fogad vg-

Mobiltelefon hlzat

Orszgos vagy globlis internetszolgltat

Helyi vagy regionlis internetszolgltat

Otthoni hlzat

Vllalati hlzat

Jells:

%
HoSZt

*5T
Bzislloms telefon MobilMobiltelefontorony

Szerver Hordozhat Csomagkapcsol Modem

(vagy vgrendszer) (kiszolgl) WiFi szmtgp (switch)

rendszerig, a hlzaton keresztli tvonalnak (route, path) nevezzk. Az els, az 1970-es vekben ksztett csomagkapcsolt hlzatok a mai internet legrgebbi sei. Az interneten thalad forgalom pontos nagysgt nehz megbecslni [Odylsko 2003], de az egyik internetszolgltat (az AOL) 2005-ben azt jelentette, hogy a hlzatukra 250 Gigabit/s-os forgalom rkezik [Gill 2005). A PriMetrica [PriMetrica 2007] becslse szerint 2006-ban a kzszolgltatk 5 Terabit/s-os nemzetkzi kapacitst hasznltak, s a svszlessg-fel hasznls krlbell ktvente megduplzdik. A csomagkapcsolt hlzatok (amelyek csomagokat szlltanak) sok tekintetben hasonltanak az autplyk, utak s csompontok (jrmveket tovbbt) szlltsi hlzataira. Tekintsnk pldul egy gyrat, amelynek nagy mennyisg rut kell elszlltania egy tbb ezer kilomterre lv raktrba. A gyrban az rut kisebb rszekre osztjk, s felrakodjk egy teheraut-flottra. Minden teheraut a tbbitl fggetlenl utazik keresztl az autplyk, utak s csompontok hlzatn a clraktrhoz. A raktrban a rakomnyt hozzrakjk a tbbi rakomnyhoz, ami ugyanazzal a szlltmnnyal rkezett. Teht a csomagok sok szempontbl hasonlak a teherautkhoz, a kommunikcis adatkapcsolatok az aut plykhoz s utakhoz, a csomagkapcsolk a kzlekedsi csompontokhoz s a vgrend szerek az pletekhez. ppgy, ahogy egy teheraut thalad a kzthlzat egy tvonaln, egy csomag is thalad a szmtgp-hlzat egy tvonaln. A vgrendszerek internetszolgltatkon (Internet Service Provider, ISP) keresztl rik el az internetet, amelyek lehetnek otthoni (lakhelyi) szolgltatk, mint amilyen az AOL vagy a helyi kbel- vagy telefontrsasgok, lehetnek vllalati szolgltatk, tovbb egyetemi szolgltatk, illetve olyan szolgltatk, mint a TMobile, amely vezetk nlkli hozzfrst biztost repltereken, szllodkban, kvzkban s ms nyilvnos helyeken. Minden szolgltat nmagban egy csomagkapcsolkbl s kommunikcis adatkapcsolatokbl ll hlzat. Az internetszolgltatk rendkvl sokfle hlzati hozzfrst knlnak a vg rendszerek szmra, ilyen az 56 kb/s-os betrcsz modemes elrs, az otthoni szles sv hozzfrs, mint pldul a kbelmodemes vagy a DSL-elrs, a nagysebessg helyi hlzati hozzfrs, valamint a vezetk nlkli hozzfrs. Az ISP-k tartalomszolgltatknak is nyjtanak internetszolgltatst, a webhelyeket kzvetlenl az internethez kapcsolva. Ahhoz, hogy az internetet hasznlk kztti kommunikci ltrejhessen, s hogy az internetes tartalmat a vilgon brhol elrhessk, az alacsonyabb szint szolgltatkat olyan or szgos s nemzetkzi, magasabb szint szolgltatkkal ktik ssze, mint amilyen az AT&T s a Sprint. Egy ilyen magasabb szint szolgltat nagysebessg tvlasztkbl ll, ame lyeket gyors fnyvezetszlas kbelek ktnek ssze. Minden ISP-hlzat, legyen az magas vagy alacsony szint, felgyelete a tbbitl fggetlenl trtnik, az IP protokollt hasznlja (lsd albb), s alkalmazkodik bizonyos elnevezsi s cmzsi szablyokhoz. A szolgltatkat s a kzttk lv sszekttetseket az 1.3. alfejezetben vizsgljuk meg kzelebbrl. A vgrendszerek, a csomagkapcsolk, s az internet ms rszei protokollokat hasznlnak, amelyek szablyozzk az informcikldst s fogadst az interneten. Az tvitelvezrl protokoll (Transmission Control Protocol, TCP) s az internetprotokoll (Internet Protocol, IP) az internet kt legfontosabb protokollja. Az

internetprotokoll meghatrozza az tvlasztk s a vgrendszerek kztt a kldtt s fogadott csomagok formtumt. Az internet alapvet protokolljait sszefoglal nven TCP/IP-nek nevezik. Kbben a bevezet fejezetben elkezdjk kzelebbrl megvizsglni a protokollokat, de ez csak a bevezets - a knyv nagy rsze szmtgp-hlzati protokollokkal foglalkozik! Mivel az internet szempontjbl fontosak a protokollok, fontos az is, hogy mindenki minden egyes protokoll ltben s a lefedett funkcikban egyetrtsen. Itt kerlnek a kpbe a szabvnyok. Az internetszabvnyokat az Internet F.ngineering Task Force (IETF) [IETF 2007] nev szervezet fejleszti. Az IETFszabvny dokumentumait RFC-k (Request Fr Comments, felkrs hozzszlsra) tartalmazzk. Az RFC-k kezdetben ltalnos hozz szls-krsek voltak (innen a nv) azrt, hogy olyan hlzat- s protokolltervezsi prob lmkat oldjanak meg, amelyek az internet eldjnl felmerltek. Az RFC-ket igyekeznek gy irni, hogy elg szakszerek s rszletesek legyenek. Olyan protokollokat hatroznak meg, mint a TCP, az IP, a HTTP (a web szmra) s az SMTP (az elektronikus levelek szmra). Kzel 5000 RFC van. Ms testletek is foglalkoznak a hlzati sszetevkre, fleg hlzati adatkapcsolatokra vonatkoz szabvnyok specifikcijval. Pldul az IEEE 802 LAN/MAN Szabvnyostsi Bizottsg (IEEE 802 LAN/MAN Standards Committee) [IEEE 802 2007] specifiklja az Ethernet- s a vezetk nlkli WiFi-szabvnyokat. A nyilvnos internet (azaz a hlzatok vilgmret hlzata, amelyet fentebb trgyaltunk) az a hlzat, amely alatt az emberek ltalban az internetet rtik. Van sok olyan magnhlzat is, pldul szmos vllalati s kormnyzati hlzat, amelyekben a hosztok nem cserlhetnek zeneteket a magnhlzaton kvli hosztokkal (kivve, ha az zenetek egy n. tzfalon keresztl haladnak t, amely korltozza a hlzatba s a hlzatbl rkez csomagok ramlst). Ezeket a magnhlzatokat gyakran bels hlzatoknak (intranet) nevezzk, mert ugyanolyan hosztokat, vlasztkat, adatkapcsolatokat s protokollokat hasznlnak, mint a nyilvnos internet.

1.1.2. Szolgltatsok
Az elz lers az internet sok alkotelemt azonostotta, de egy teljesen ms szemszgbl is lerhatjuk az internetet - azaz gy, mint egy olyan infrastruktrt, amely alkalmazsoknak nyjt szolgltatsokat. Ezen alkalmazsok kztt szerepel az elektronikus levelezs, a webbngszs, az azonnali zenetklds, az IPhlzaton keresztl trtn hangtvitel (Voice-over-IP, VoIP), az internetrdi, a videofolyamok, az elosztott jtkok, az egyenrang felek kztti (peer-to-peer, P2P) fjl megoszts, az internetes televzi, a tvoli be jelentkezs s mg sok ms dolog. Az alkalmazsokat elosztott alkalmazsoknak (distributed applications) nevezik, mivel tbb, egymssal adatot cserl vgrendszert vonnak be a mkdskbe. Fontos, hogy az internetes szolgltatsok a vgrendszereken futnak, nem pedig a hlzat belsejben lv csomagkapcsolkon. Ahogy ez majd rthetv is vlik, amint elrehaladunk a knyvben, annak ellenre, hogy a csomagkapcsolk lehetv teszik a vgrendszerek kztti adatcsert, nem trdnek az alkalmazssal, amely az adat forrsa vagy nyelje. Vizsgljuk meg egy kicsit jobban, mit rtnk olyan infrastruktra alatt, amely alkalmazsoknak nyjt szolgltatsokat. E clbl tegyk fel, hogy van egy

rdekes, j tletnk, egy elosztott internetes alkalmazs, amely az emberisg risi hasznra vlhat, vagy amely egyszeren gazdagg s hress tehet bennnket. Hogyan ltnnk neki az tlet megvalstshoz, azaz egy internetes alkalmazs ltrehozshoz? Mivel az alkalmazsok a vgrendszereken futnak, neknk is olyan szoftvereket kell rnunk, amelyek a vgrendszereken futnak. Ezeket a szoftvereket megrhatjuk pldul Java, C vagy C++ nyelven, s mivel egy elosztott internetes alkalmazst runk, a klnbz vgrendszereken fut programoknak adatokat kell kldenik egymsnak. gy el is jutunk egy kzponti krdsig, amely az internet egy alternatv lershoz vezet, miszerint az internet egy platform az alkalmazsok szmra. Hogyan utastja az egyik vgrendszeren fut szoftver az internetet, hogy kzbestse az adatot egy msik vgrendszeren fut msik szoftvernek? Az internethez csatlakoztatott vgrendszerek egy alkalmazi programinterfszt (Application Programming Interface, API) biztostanak, amely meghatrozza, hogy egy vgrendszeren fut szoftver hogyan kri meg az internet infrastruktrt arra, hogy eljuttasson valamilyen adatot egy bizonyos clszoftverhez, amely egy msik vgrendszeren fut. Az Internet API olyan elrsok kszlete, amelyeket a kld szoftvernek kvetnie kell, hogy az internet eljuttassa az adatot a clszoftverhez. Az Internet API-t rszletesen a 2. fejezetben trgyaljuk. Most vzoljunk fel egy egyszer analgit, amelyet gyakran fogunk hasznlni ebben a knyvben. Tegyk fel, hogy Alice a postai szolgltatst hasznlva levelet akar kldeni Bobnak. Persze Alice nem rhatja meg a levelet (adatot), s dobhatja ki csak gy az ablakon. Ahhoz, hogy a postt hasznlhassa, Alice-nek bele kell raknia a levelet egy bortkba, a bortk kzpre r kell rnia Bob teljes nevt s cmt, irnytszmt, le kell zrnia a bortkot, r kell ragasztania egy blyeget a jobb fels sarkba, s vgl be kell dobnia a bortkot egy postaldba. gy a postnak van egy sajt postaszolglati API-ja, szablyok egy halmaza, amelyet Alice-nek kvetnie kell, hogy a posta kzbesthesse a levelt Bobnak. Hasonlkppen az internetnek is van egy API-ja, amelyet a kld szoftvernek kvetnie kell, hogy az internet kzbesthesse az adatokat a clszoftvernek. A postaszolglat termszetesen tbb szolgltatst is knl az gyfelei szmra, mint pldul az expressz kzbests, rtests az tvtelrl, a hagyomnyos postai szolgltats s mg sok egyb. Ehhez hasonlan az internet is tbbfle szolgltatst nyjt az alkalmazsainak. Amikor egy internetes alkalmazst fejlesztnk, neknk is vlasztani kell egyet az internet szolgltatsai kzl. Az internet szolgltatsait a 2. fejezetben rjuk le, a 3. fejezet ben pedig arra trnk ki, hogyan biztostja az internet ezeket. Az internetnek ez a msodik - azaz az alkalmazsoknak szolgltatsokat nyjt infrastruktraknt trtn lersa fontos meghatrozs. Az internet alkotrszeinek fejldst egyre inkbb az j alkalmazsok ignyei hatrozzk meg. Fontos teht szben tartani, hogy az internet egy olyan infrastruktra, ahol folyton j alkalmazsokat tallnak fel s lltanak hadrendbe. ppen most adtunk kt defincit arra, hogy mi az az internet. Az egyiket a hardver- s szoftversszetevk szempontjbl, a msikat az alkalmazsoknak szolgltatsokat nyjt infrastruktra szempontjbl. De taln mg mindig zavaros lehet az internet mibenlte. Mi az a csomagkapcsols, a TCP/IP s az API? Mik azok az tvlasztk? Milyen kommunikcis adat- kapcsolatok vannak az interneten? Mik azok az elosztott alkalmazsok? Hogyan tud egy ke nyrpirt vagy egy

idjrs-rzkel az internethez kapcsoldni? Ha ezt nyomasztan soknak rezzk, ne aggdjunk - a knyv clja az, hogy bemutassa mind az internet alkotelemeit, mind az alapelveket, amelyek meghatrozzk, hogyan s mirt mkdik. A kvetkez szakaszokban s fejezetekben megmagyarzzuk ezeket a fontos szakkifejezseket s krdseket.

1.1.3. Mi a protokoll?
Most, hogy egy kicsit mr rezzk, mi is lehel az internet, tekintsnk egy fontos, a szmtgp-hlzatokkal kapcsolatban gyakran elfordul szt: a protokollt. Mi az a protokoll? Mit csinl egy protokoll? Hogyan ismernnk fel, ha tallkoznnk eggyel?

Egy emberi hasonlat


A hlzati protokoll fogalmt taln gy rthetjk meg a legknnyebben, ha elszr egy emberi hasonlatra gondolunk, mivel mi emberek is folyton protokollokat hasznlunk. Gondoljunk bele, mit csinlunk, ha meg akarjuk krdezni valakitl a pontos idt. Az 1.2. bra egy

tipikus zenetvltst mutat be. Az emberi protokoll (a j modor legalbbis) megkveteli, hogy az ember elszr kszn (az els Szia" az 1.2. brn), ezzel kapcsolatot kezdemnyezve egy msik emberrel. A Szia-ra adott vlasz rendszerint szintn Szia lesz. rtelemszeren az ember ezt a bartsgos Szia vlaszt gy tekinti, mint jelet arra, hogy folytathatja, s meg krdezheti az idt. Az els Szia-ra adott eltr vlasz (mint pldul Ne zavarj! vagy Nem beszlek magyarul, vagy esetleg egy olyan, amit ki sem lehet nyomtatni) azt jelezheti, hogy a msik fl nem akar, vagy nem tud kommuniklni. Ebben az esetben az emberi protokoll azt diktlja, hogy ne krdezzk meg, mennyi az id. Nha az ember egyltaln nem kap vlaszt a krdsre, s ebben az esetben jellemzen nem prblkozik tovbb a krdsekkel. Vegyk szre, hogy az emberi protokollban

meghatrozott zenetek vannak, amelyeket kldnk, s a megkapott vlaszzenetekre vagy ms esemnyekre (pldul nem jtt vlasz egy bizonyos idn bell) reaglva meghatrozott lpseket tesznk. Teht a kldtt s kapott
zenetek, s az ezek kldsekor, fogadsakor vagy ms esemnyek bekvetkezsekor tett lpsek kzponti szerepet jtszanak az emberi protokollban. Ha az emberek klnbz protokollt hasznlnak (pldul ha az egyik ember j modor, a msik nem, vagy ha az egyik rti az id fogalmt, a msik pe dig nem), akkor a protokollok nem mkdnek egytt, s semmi hasznlhat nem fog kislni a dologbl. Ugyanez igaz a hlzatoknl is - ahhoz, hogy egy feladatot teljestsnk, kett (vagy tbb), ugyanolyan protokollt hasznl kommunikl entitsra van szksg. Kpzeljnk el egy msik emberi hasonlatot. Tegyk fel, hogy egy egyetemi eladson lnk (pldul egy szmtgp-hlzatok rn!). A tanr folyton csak protokollokrl beszl, s mi mr elkavarodtunk. A tanr megll, hogy megkrdezze: Van valakinek krdse? (egy zenet, amely azokhoz a dikokhoz jut el, akik ppen nem alszanak). Felemeljk a kezn-

10

1. A SZMTGP-HLZATOK S AZ ISiTF.RNIT

kt (ezzel egyrtelm zenetet kldve a tanrnak). A tanr ezt egy mosollyal nyugtzza, mikzben azt mondja: Igen? (egy olyan kldtt zenet, amely felbtort arra, hogy feltegyk a krdsnket - a tanrok imdjk, ha krdseket tesznek fel nekik), majd ezutn feltesszk a krdst (azaz elkldjk az zenetnket a tanrnak). A tanr hallja a krdst (megkapja a krdszenetet), s vlaszol (elkldi neknk a vlaszt). Azt ltjuk jra, hogy az zenetek kldse, vtele, valamint a kldsnl s a fogadsnl megtett szoksos lpsek halmaza nagyon fontos rszei ennek a krds-vlasz protokollnak.

Hlzati protokollok
Egy hlzati protokoll hasonl egy emberi protokollhoz, azzal a klnbsggel, hogy az zeneteket vlt s cselekv entitsok valamilyen eszkz (pldul szmtgp, PDA, mobiltelefon, tvlaszt, vagy valamilyen ms hlzatos eszkz) hardver- vagy szoftversszetevi. Az interneten foly minden tevkenysget, amelyben kett vagy tbb, egymssal kommunikl entits vesz rszt, egy protokoll irnyt. Pldul kt fizikailag sszekttt szmtgp hlzati csatolkrtyinak hardverben implementlt protokolljai szablyoz zk a kt hlzati csatolkrtya kztti vezetken halad bitek ramlst; a vgrend szerekben torldskezel protokollok szabjk meg a kld s a fogad kztti csomagsebessget; az tvlasztkban protokollok hatrozzk meg a csomag tvonalt a forrstl a clig. A protokollok mindentt jelen vannak az interneten, kvetkezskppen ez a knyv nagyrszt a szmtgp-hlzati protokollokkal foglalkozik. Egy olyan hlzati protokoll pldjaknt, amelyet az olvas taln mr ismer, gondoljuk vgig, mi trtnik akkor, amikor lekrnk valamit egy webkiszolgltl (webszervertl), azaz berjuk egy weblap URL-jt a bngsznkbe. A forgatknyvet az 1.2. bra jobb oldaln lthatjuk. Elszr a szmtgp egy sszekttets-krst kld a webkiszolglnak, majd vr a vlaszra. A webkiszolgl valamikor megkapja ezt a sszekttets-krst tar talmaz zenetet, s visszakld egy sszekttets-vlasz zenetet. Ezt pozitv nyugtaknt rtelmezve a szmtgpnk lekrheti a webdokumentumot, elkldve a webkiszolgltl lekrni kvnt weboldal cmt egy GET zenetben. Vgl a webkiszolgl elkldi a web- oldalt (egy fjlt) a szmtgpnknek. Ltva az elz emberi s hlzati pldkat, az zenetcsere s az zenetek kldsekor s fogadsakor tett lpsek a protokoll meghatrozsnak kulcselemei:

Egy protokoll meghatrozza a kl vagy tbb kommunikl entits kztt tadott adatok formtumt s sorrendjt, valamint az zenetek kldsekor s/vagy fogadsakor vagy ms esemny bekvetkezsekor megtett lpseket.
Az internet s a szmtgpes hlzatok ltalban szles krben hasznlnak protokollokat. Klnbz kommunikcis feladatok megoldshoz klnbz protokollokat alkalmaznak. Ahogy haladunk a knyvben, ltni fogjuk, hogy nhny protokoll egyszer, kzenfekv, mg msok sszetettek, s mly tgondolst ignyelnek. Tkletesen kiismerni magunkat a szmtgp-hlzatok terletn

1.1. Ml AZ AZ INTERNET?

11

egyenl a hlzati protokollok mibenltnek s mkdsnek megrtsvel. 1.2.

A hlzat szle

Az elz rszben az internet s a hlzati protokollok nagyvonal ttekintst adtuk. Most egy kicsit mlyebbre sunk a szmtgp-hlzatok (s rszben az internet) alkotrszeibe. Ezt a rszt a hlzat szlnl kezdjk, megvizsgljuk azokat az sszetevit, amelyeket a legjobban ismernk - ezek a szmtgpek, PDA-k, mobiltelefonok s ms, nap mint nap hasznlt eszkzk. A kvetkez rszben egy kicsit elmozdulunk a hlzatok szltl a hlzat kzepe (magja) fel, s megvizsgljuk a szmtgp-hlzatok kapcsolsi mdjait s tvlasztst. Emlkezznk vissza az elz rszben lertakra, hogy a hlzati zsargonban az internethez kapcsolt szmtgpeket s egyb eszkzket vgrendszereknek nevezzk. Azri nevezik ket vgrendszereknek, mert az internet peremn helyezkednek el, mint azt az 1.3. bra is mutatja. Az internet vgrendszerei kztt tallunk asztali szmtgpeket (pldul asztali PC-k, Mac s Linux gpek), szervereket (pldul web- s e-mail szerverek) s hordozhat szmtgpeket (pldul laptopok, PDA-k s vezetk nlkli internetelrssel rendelkez telefonok). Radsul egyre tbb alternatv eszkzt csatlakoztatnak az internethez vgrendszerknt (lsd az Egy kis trtnelem cm rszt).
gy kis trtnekig Az internetes vgrendszerek szdt sokasga Nem olyan regen az internethez csatlakoztatott vgrendszerek elssorban olyan hagyomnyos szmtgpek voltak, mint pldul az asztali szmtgpek s a nagyteljestmny szerverek. Az 1990-es vek vgtl kezdve napjainkig rengeteg, s egyre tbbfle rdekes eszkzt csatlakoztatnak az internethez. Ezeknek az eszkzknek kzs tulajdonsga, hogy digitlis adatot szksges kldenik ms eszkzknek s digitlis adatot kell fogadniuk ms eszkzktl. Mivel az internet mindentt jelen van jl definilt (szabvnyostott) protokolljaival s mivel internet-kompatibilis hardvereszkzk llnak rendelkezsre, kzenfekv ezeket az eszkzket az internetes technika segtsgvel sszekapcsolni. gy tnik, hogy nhny ilyen eszkzt csak a vicc kedvrt ksztenek. Egy asztali, IP-n keresztl kommunikl kpkeret [Ceiva 2007] digitlis kpeket tlt le egy tvoli szerverrl (kiszolglrl), s egy hagyomnyos kpkerethez hasonl eszkzn jelenti meg; egy internetes kenyrpirt letlti a meteorolgiai informcikat egy szerverrl, majd rsti az aznapi elrejelzs (pldul napos, helyenknt felhs) kpt a reggeli pirtsunkra [BBC 2001). Ms eszkzk hasznos informcit szolgltatnak - webkamerk a jelenlegi forgalmi helyzetet s az idjrsi krlmnyeket mutatjk, vagy valamilyen, szmunkra rdekes ltnivalt figyelnek; az internethez csatlakoztatott hztartsi kszlkek - kztk mosgpek, htk s tzhelyek [Internet Home Alliance 2007] - egy webbngsz interfszen keresztl tvolrl felgyelhetk s vezrelhetk. azt Az IP-kpes hogy mobiltelefonok a tenyernkbe varzsoljk a webet, s az a elektronikus levelezst s az zenetkldst. A hlzati rzkel (szenzor) rendszerek egy j osztlya igri, forradalmastja krnyeze tnk megfigyelsnek mdjt krnyezettel val kapcsolatunkat. A fizikai krnyezetbe gya zott hlzati szenzorok lehetv teszik az pletek, hidak, folytorkolatok, a szeizmikus aktivits, valamint az llatvilg lhelyeinek s az atmoszfra als rtegeinek megfigyelst [CENS 2007, Cuiler 2004, CASA 2007]. Az orvosi szenzorok is beltethetk s hlzatba kthetk [Schwiebert 2001]. Az

12

1. A SZMTGP-HLZATOK S AZ ISiTF.RNIT

rzkelt adat vals idben elrhetv vlik a tvoli felhasznlk szmra. Egy brmilyen trgyra rersthet RFID-cmke vagy kicsi, begyazott szenzor is szolgltathat informcit a trgyrl az interneten, s ez elvezet a mindenfle dolgok internethez [ITU 2005].

1.1. Ml AZ AZ INTERNET?

13

Mobiltelefon hlzat

Orszgos vagy globlis internetszolgltat

r>cV

Helyi vagy regionlis internetszolgltat

Otthoni hlzat

Vllalati hlzat

1.2. bra. Egy emberi s egy szmtgp-hlzati protokoll

14

1. A szmtgp-hlzatok s az in ternet

A vgrendszereket gyakran kosztoknak (gazdagpeknek) nevezzk, mert k a gazdi az olyan alkalmazsoknak (azaz k futtatjk az olyan alkalmazsokat), mint a webbngsz, webszerver, e-mail kliens- vagy e-mail szerverprogram. A knyvben a hoszt s a vgrendszer kifejezseket felvltva fogjuk hasznlni, azaz a hoszt = vgrendszer. A hosztokat nha tovbb osztjk kt kategriba: kliensek (gyfelek) s szerverek (kiszolglk). A htkznapi rtelemben a kliensek ltalban asztali PC-k, PDA-k stb., mg a szerverek ltalban nagyobb teljestmny szmtgpek, amelyek weboldalakat trolnak, s ezekhez hozzfrst biztostanak, videofolyamot tesznek elrhetv, elektronikus leveleket tovbbtanak stb.

1.2.1. Kliens- s szerverprogramok


A hlzati szoftverek sszefggsben a kliensnek s a szervernek van egy msik meghatrozsa is, amelyre a knyvben vgig hivatkozni fogunk. A kliensprogram egy olyan program, amely azon a vgrendszeren fut, amely szolgltatst ignyel s kap egy msik vgrendszeren fut szerverprogramtl. Ahogy ezt a 2. fejezetben rszletesen megtrgyaljuk, ez a kliens-szerver modell ktsgkvl az internetes alkalmazsok legelterjedtebb struktrja. A web, az e-mail, a fjltvitel, a tvoli bejelentkezs (pldul Telnet), a hrcsoportok, s sok ms npszer alkalmazs a kliens-szerver modellt alkalmazza. Mivel lta lban a kliens- s a szerverprogramok klnbz szmtgpeken futnak, a kliens-szerver tpus internctalkalmazsok elosztott alkalmazsokknt (distributed applications) definilhatk. A kliens- s a szerverprogram gy lpnek egymssal kapcsolatba, hogy zeneteket kldenek az interneten keresztl egymsnak. Az elvonatkoztats ezen szintjn az tvlasztk, az adatkapcsolatok s az internet egyb alkotrszei egytt egy fekete dobozknt mkdnek, amely egy internctalkalmazs elosztott, egymssal kommunikl rszei kztt tovbbtja az zeneteket. Az elvonatkoztats ezen szintjt az 1.3. bra mutatja be. Ma mr nem minden internetes alkalmazs ll abbl, hogy csak tisztn kliensprogramok tisztn szerverprogramokkal kommuniklnak. Egyre inkbb sok mai alkalmazs egyenrang (peer-to-peer, P2P), ahol a vgrendszerek olyan programokat futtatnak, amelyek kliensknt is s szerverknt is mkdnek. Pldul a P2P fjlmegoszt alkalmazsokban (mint a Limeware, eDonkey s a Kazaa) a felhasznl vgrendszern fut program kliensknt mkdik, amikor egy trsentitstl (peer) egy fjlt kr; s szerverknt mkdik, amikor egy trsentitsnak egy fjlt kld. Az internettelefonok esetben a kommunikl felek egyenrang trsknt mkdnek egytt - a kommunikcis munkamenet szimmetrikus, ahol mindkt fl kld is s fogad is adatokat. A kliens-szerver s a P2P-architektrkat a 2. fejezetben fogjuk szembelltani s rszletesen sszehasonltani.

1.2.2. Hozzfrsi hlzatok


A hlzat peremn lv alkalmazsok s vgrendszerek ttekintse utn vegyk szemgyre a hozzfrsi hlzatokat (access networks) - azt a fizikai adatkapcsolatot (vagy adatkapcsolatokat), amely a vgrendszert a hlzat szln lv tvlaszthoz (edge rou- ter) kapcsolja. Ez az tvlaszt az adott vgrendszer s brmely msik tvoli eszkz vagy rendszer kztti tvonalon az els tvlaszt.

1.2. A HLZAT SZLE

15

Az 1.4. bra klnfle hozzfrsi adatkapcsolatokat mutat be a vgrendszertl a hlzat peremn lv tvlaszthoz. A hozzfrsi hlzatokat nagyjbl hrom csoportra oszthatjuk:

16

1. A szmtgp-hlzatok s az in ternet

Mobiltelefonhlzat

Orszgos vagy globlis internetszoigltat

Helyi vagy regionlis internetszolgltat

Otthoni hlzat

Vllalati hlzat

1.2. A HLZAT SZLE

17

. Otthoni (lakhelyi) hozzfrs, amely az otthoni vgrendszereket csatlakoztatja a hlzathoz. o Vllalati hozzfrs, amely vllalatok s oktatsi intzmnyek vgrendszereit kapcsolja a hlzathoz. o Vezetk nlkli hozzfrs, amely ltalban hordozhat vgrendszereket kapcsol a hlzathoz. Ezek a kategrik nem merevek - pldul nhny vllalati vgrendszer olyan hozzfrsi technikt is hasznlhat, amelyet mi az otthoni hozzfrsekhez sorolunk be, s fordtva. A kvetkez lersok ltalnos esetekre vonatkoznak.

Otthoni hozzfrs
Az otthoni (lakhelyi) hozzfrs arra utal, hogy az otthoni vgrendszert (egy PC vagy egy otthoni hlzat, lsd lentebb) hozzkapcsoljuk egy a hlzat peremn lv tvlaszthoz. Az otthoni hozzfrsek egyik formja a betrcsz modem (dial-up modem) egy hagyomnyos, analg telefonvonallal egy otthoni internetszolgltat (mint pldul az America Online) fel. Az otthoni modem a PC digitlis kimenett analgg alaktja t, hogy azt az analg telefonhlzaton keresztl el lehessen kldeni. Ez az analg telefonvonal egy rz bl kszli sodrott rpr, s ugyanezt a telefonvonalat hasznljuk hagyomnyos telefon- hivsok lebonyoltsnl. (A sodrott rprt ebben a rszben ksbb trgyaljuk.) Az analg telefonvonal msik vegn a szolgltatnl lv modem visszaalaktja a jelet digitliss, ami a szolgltat tvlasztjnak bemenetl szolgl. gy a hozzfrsi hlzat egyszeren egy modempr s egy kt pont kztti betrcsz telefonvonal. A mai modemek sebessge 56 kb/s-os betrcszs hozzfrst tesz lehetv. A gyenge minsg sodrott rpr vonal mi att azonban sok felhasznl tnylegesen csak 56 kb/s-nl jval kisebb sebessget rhet el. Sok otthoni felhasznl gondolja gy, hogy az 56 kb/s-os elrs rettenetesen lass. Pldul egy hrom perces, MP3-formlum dal letltse 56 kb/s-os modemmel krlbell nyolc percet vesz ignybe. St, a betrcsz modemes elrs meggtolja a hagyomnyos telefonvonal hasznlatt - mikzben egy otthoni felhasznl betrcsz modemmel szrfl a weben, nem tud hagyomnyos telefonhvsokat fogadni vagy kezdemnyezni azon a telefonvonalon keresztl. Szerencsre az j szles sv hozzfrsi technikk nagyobb adatsebessget biztostanak az otthoni felhasznlknak olyan eszkzl nyjtva, amely le hetv teszi a felhasznlk szmra, hogy egyszerre hasznljk az internetet s beszljenek a telefonon. Kl gyakori szles sv otthoni hozzfrs ltezik: a digitlis elfizeti vonal (Digital Subscriber Line, DSL) [DSI. 2007] s a hibrid fny vezetszlas-koaxilis kbel (hybrid fiber-coaxial cable, HFC) fCable Labs 2007). 2006 mrciusa ta sok fejlett orszgban a hztartsok tbb mint 50 szzalka rendelkezik szles sv hozzfrssel, kztk Dl-Korea s Hongkong, ahol ez az arny tbb mint 80 szzalk. A szles sv hozzfrsek szma az Egyeslt llamokban s Knban a legmagasabb, mindkt orszg tbb mint 40 milli ilyen vonallal rendelkezik [Point Topic 2006]. 2006 mr ciustl az Egyeslt llamok s Kanada szles sv vonalainak krlbell 60 szzalka HFC, a fennmarad rsz pedig DSL. Az Egyeslt llamokon s Kanadn kvl a DSL az uralkod, fleg Eurpban, ahol sok orszgban tbb mint 90 szzalkban DSL-t hasznlnak.

18

1. A szmtgp-hlzatok s az in ternet

A DSI.-hozzfrseket jellemzen telefontrsasgok szolgltatjk (pldul a Verizon vagya Franc Telecom), nha fggetlen internetszolgltat partnerekkel. A DSL egy olyan jabb modemes technika, amely a mr meglv sodrott rpr telefonvonalakat hasznlja,

19

1. A SZMTGP-HLZATOK S AZ INTERNE!

s a koncepcit tekintve hasonl a betrcsz modemhez, m a felhasznl s a szolgltat kztti tvolsg korltozsval a DSL nagyobb sebessggel tud adatot kldeni s fogadni. Az adatsebessgek a kt irnyban ltalban aszimmetrikusak, azaz a szolgltattl a felhasznl fel nagyobb a sebessg, mint a felhasznltl a szolgltat tvlasztja fel. Az adatsebessgek aszimmetrija azt a meggyzdst tkrzi, hogy a felhasznlk - az adatokat az otthonukba hozva sokkal inkbb fogyaszti az informcinak, mint elllti. A DSL hrom klnbz frekvenciasvra osztja a felhasznl s a szolgltat kztti kommunikcis adatkapcsolatot: egy gyors letltsi csatornra az 50 kHz - 1 MHz svban, egy kzepes sebessg feltltsi csatornra a 4 kHz - 50 kHz svban, egy hagyomnyos telefoncsatornra a 0 - 4 kHz svban.

Ezrt tnik a DSL-adatkapcsolat gy, mintha hrom klnbz adatkapcsolatunk lenne, s gy egy telefonhvs s egy internetkapcsolat osztozhat a DSLkapcsolaton egyszerre. (Ezt a frekvenciaosztsos nyalbolst (frequency-division multiplexing) az 1.3.1. al fejezetben taglaljuk). A felhasznl szmra elrhet aktulis letltsi s feltltsi adatsebessg tbbek kztt az otthoni modem s az 1SP modemje kztti tvolsgtl, a sodrott rpr tmrjtl s a villamos interferencia nagysgtl fgg. A mrnkk a betrcsz modem mel ellenttben a DSL-t kifejezetten az otthoni s a szolgltat tvlasztja kztti rvid tvolsgra terveztk, ezltal lnyegesen nagyobb tviteli sebessget tve lehetv, mint a betrcsz modemes elrs esetben. A szolgltat modemjhez kzeli felhasznlk szmra klnbz tviteli sebessg adatkapcsolatok llnak rendelkezsre, rendszerint klnbz ron. Pldul a Verizon krlbell 768 kb/s s 1,5 Mb/s kztti letltsi sebessget, s 128 kb/s s 768 kb/s kztti feltltsi sebessget knl. Nhny orszgban szmos, mg gyorsabb DSL-technika is elterjedben van. A VDSL, a nagysebessg DSL (very-high speed DSL ) pldul lenygzen nagy, 12-55 Mb/s-os letltsi, s 1,6-20 Mb/s-os feltltsi sebessget biztost, s jelenleg Dl-Koreban s Japnban a legelterjedtebb [DSL 2007). Mg a DSL s a betrcsz modem hagyomnyos telefonvonalakat hasznl, a HFC hozzfrsi hlzatok a jelenlegi kbeltelevzi-hlzat kiterjesztsei. Egy hagyomnyos kbelhlzatban a lakhelyek fel az adatszrst egy kbel fejlloms vgzi koaxilis kbelek s erstk eloszthlzatn keresztl. Ahogy az 1.5. bra is mutatja, a fejllomst s a lakkrzetszint csompontokat fnyvezetszlas kbel kti ssze, ahonnan a hagyomnyos koakxilis kbelhlzat segtsgvel rik el a hzakat s laksokat. F.gy-egy lakkr zeti csompont jellemzen 500-5000 hztartst kpes elltni. A DSL-hez hasonlan a HFC esetn is szksg van klnleges modemekre, amelyeket kbelmodemeknek (cable modems) neveznk. A kbeles internetelrst szolgltat vllalatok gyfeleinek vagy vennik, vagy brelnik kell egy modemet. A kbelmodem ltalban egy kls eszkz, s az otthoni PC-hez egy Ethernetporton keresztl csatlakozik. (Az Ethernetet rszletekbe menen az 5. fejezetben trgyaljuk.) A kbelmodemek kt - egy feltltsi s egy letltsi - csatornra osztjk a HFC-hlzatot. Ahogyan a DSL esetben is, a letltsi csatorna szmra ltalban nagyobb tviteli sebessget biztostanak, mint a feltltsire. 1.3. bra. Vgrendszerek egyttmkdse A HF'C egyik fontos jellemzje, hogy ez egy osztott adatszr kzeg. Fleg azrt,

20

1. A SZMTGP-HLZATOK S AZ 1NTORNF.T

mert minden csomag, amit a fejlloms kld, mindegyik adatkapcsolaton keresztl minden hztartsba eljut a letltsi csatornn; s mert a hztartsok sszes kldtt csomagja a feltltsi csatornn fog haladni a fejlloms fel. Ezrt ha sok felhasznl egyszerre tlt

1.4. bra. Hozzfrsi hlzatok

1.2. A HLZAT SZLE


Koaxilis kbel Fnyvezet csompont
Fnyvezet szlas kbel

21

Tbb szz laks

Fnyvezet csompont

Tbb szz laks

1.5. bra. Egy hibrid fnyvezetszlas-koaxilis kbeles hozzfrsi hlzat


le iMP3-fjlokat a letltsi csatornn, a tnyleges sebessg, amivel az egyes felhasznlk megkapjk a fjlokat, jelentsen kisebb lesz, mint a letltsi csatorna teljes sebessge. Msrszt, ha csak nhny aktv felhasznl van, s k mind a weben szrflnek, akkor az egyes felhasznlk tulajdonkppen a letltsi csatorna teljes sebessgvel kapjk a weboldalakat, mert a felhasznlk ritkn krnek le weblapokat ugyanabban a pillanatban. Mivel a fel tltsi csatorna is megosztott, az tvitel koordinlsra s az tkzsek elkerlsre egy elosztott tbbszrs hozzfrsi protokollra van szksg. (Az tkzsek problmjrl az Ethernet trgyalsnl, az 5. fejezetben ejtnk szt.) A DSL szszli azonnal rmutatnak, hogy a DSL a hztarts s a szolgltat kztti ktpontos adatkapcsolat, gy a DSL-

kap- csolat teljes tviteli kapacitsa egyedl egy felhasznl, s nem kell osztozni senkivel. A kbeles elrs tmogati azzal rvelnek, hogy egy 22 1. A SZMTGP-HLZATOK S AZsszeren 1NTORNF.T mretezett HFC-hlzat nagyobb tviteli sebessget biztost, mint a DSL. A DSL s a HFC kztti harc a gyors otthoni hozzfrsekrt egyre nagyobb mreteket lt, klnsen Hszak-Amerikban. Vidken, ahol sem a DSL, sem a HFC nem elrhet, mholdas kapcsolat segtsgvel lehet a hztartsokat az internethez kapcsolni tbb mint 1 Mb/s-os sebessggel; ilyen mholdas szolgltatk a StarBand s a IIughesNet. A DSL, a HFC s a mholdas elrs egyik vonz tulajdonsga, hogy a szolgltats folyamatos; azaz a felhasznl bekapcsolva hagyhatja a szmtgpt, s folyamatosan kapcsolatban maradhat a szolgltatval, mikzben hagyomnyos telefonhvsokat bonyolt le.

Vllalati hozzfrs
A vllalatok s egyetemek terletn ltalban helyi hlzatot (local area network, LAN) hasznlnak arra, hogy a vgrendszereket a hlzat szln lv tvlaszthoz csatlakoztassk. Ahogyan az 5. fejezetben is ltni fogjuk, sokfle LAN-technika ltezik, azonban a vllalati hlzatok esetben jelenleg messze az Ethernet a legelterjedtebb hozzfrsi technika. A mai Ethernet-technika 100 Mb/s vagy 1 Gb/s (vagy akr 10 Gb/s) sebessget knl,

1.4. bra. Hozzfrsi hlzatok

s a szmos vgrendszer sszektsre s a hlzat szln lv tvlaszthoz 1.2. A HLZAT SZLE 23 csatlakoztatsra sodrott rpr rzvezetket vagy koaxilis kbelt hasznl. A hlzat szln lv tvlaszt felels a helyi hlzaton kvlre kldtt csomagok irnytsrt. A HFC-hez hasonlan az Ethernet is hasznlhat osztott kzeget, gy a felhasznlk osztoznak a LAN tviteli sebessgn. Mostanban az osztott Ethernettechnika helyett inkbb kapcsolt Et- hernetet hasznlnak. A kapcsolt Ethernet csillagtopolgit alkalmaz, ahol a hosztokat kzvetlenl egy kapcsolhoz (switch) csatlakoztatjk, ezzel lehetv tve azt, hogy az sszes hoszt egyidejleg kldhessen s fogadhasson adatot a LAN teljes tviteli sebessg vel. Az osztott s a kapcsolt Ethernett rszletesen az 5. fejezetben ismerhetjk meg.

Vezetk nlkli hozzfrs


Az internetforradalommal egyidejleg lezajl vezetk nlkli forradalom is rendkvl nagy hatssal van arra, ahogyan az emberek dolgoznak s lnek. Ma Eurpban tbb embernek van mobiltelefonja, mint szmtgpe vagy autja. Ez a vezetk nlkli divat tovbb folytatdik, s sok elemz azt jsolja, hogy a vezetk nlkli (s gyakran hordozhat) kzi eszkzk - mint a mobiltelefonok s PDA-k megelzik a vezetkekkel sszekttt szmtgpeket a vilg uralkod internethozzfrsi eszkzeinek tekintetben. Ma ktfajta ltalnos internet-hozzfrs ltezik. A vezetk nlkli helyi hlzat (wireless LAN) esetben a felhasznlk a csomagokat egy nhny tz mterre lv bzisllomsnak kldik, s onnan is kapjk (ezt a bzisllomst vezetk nlkli hozzfrsi pontnak is nevezik). A bzislloms ltalban a vezetkes internethez csatlakozik, teht arra szolgl, hogy sszeksse a vezetk nlkli felhasznlkat a vezetkes hlzattal. A nagy kiterjeds vezetk nlkli hozzfrsi hlzatok (wide-area wireless access networks) esetben a csomagokat ugyanazon a vezetk nlkli infrastruktrn keresztl tovbbtjk, mint amit a mobil- telefonoknl is hasznlnak, s gy a bzisllomst egy tvkzlsi szolgltat zemelteti. Az IEEE 802.11 technolgin (ms nven Ethernet s WiFi) alapul vezetk nlkli LAN-okat szleskren teleptik az egyetemi tanszkeken, a vllalati irodkban, a kvzkban s a hztartsokban. Sok egyetem telept a terletre IEEE 802.11-es bzisllomsokat, lehetv tve a hallgatknak, hogy elektronikus leveleket kldjenek, fogadjanak vagy szrfljenek a weben, brhol az egyetemen (pldul a knyvtrban, a dikotthonok szobiban, a tantermekben vagy az egyetem kertjben lv pdon). Sok vrosban egy utcasarkon llva tz-hsz bzislloms is elrhet tvolsgban lehet (az ilyen dolgokban r mket lel emberek ltal felfedezett, s egy weboldalon naplzott 802.11 bzisllomsok bngszhet vilgtrkpt lsd |wigle.net 2007]). A leggyakrabban teleptett 802.1 l-es technika, amelyet a 6. fejezetben trgyalunk rszletesen, 54 Mb/s-os osztott tviteli sebessget biztost. Manapsg sok hztartsban kombinljk a szles sv otthoni hozzfrst (azaz a kbelmodemet vagy a DSL-t) olcs, vezetk nlkli LAN-technolgival, hogy hatkony otthoni hlzatot hozzanak ltre. Egy tipikus otthoni hlzat vzlatos rajzt mutatja az 1.6. bra. Ez az otthoni hlzat egy hordozhat laptopbl, egy vezetkkel kapcsold szmtgpbl, egy a vezetk nlkli szmtgppel kommunikl bzisllomsbl (vezetk nlkli hozzfrsi pont), egy szles sv internetelrst biztost kbelmodembl, valamint a bzisl lomst s a helyhez kttt szmtgpet a kbelmodemmel sszekt tvlasztbl ll. Ez a hlzat lehetv teszi a szles sv internet-hozzfrst a hztartsban lknek, ahol egy

felhasznl szabadon mozoghat a konyha, a kert vagy ppen a hlszoba kztt. Egy DSL-modemet) kevesebb, mint 24 ilyen hlzat teljes ra (belertve a kbel1. vagy A SZMTGP-HLZATOK S AZ 1NTORNF.T 150 dollr.

1.4. bra. Hozzfrsi hlzatok

Kbel fejlloms

Internet

1.6. bra. Egy tipikus otthoni hlzat vzlatos rajza


Amikor az internetet vezetk nlkli helyi hlzaton keresztl rjk el, ltalban nhny tz mteren bell kell lennnk egy bzisllomstl. Egy otthoni, kvhzi vagy ltalban egy pleten belli vagy plet krli elrs esetn ez megoldhat, de mi trtnik, ha a strandon vagy az autban van szksgnk internetelrsre. Az ilyen nagy kiterjeds elrshez a barangol internetezk a mobiltelefon infrastruktrjt hasznljk, s olyan bzisllomsokat rnek el, amelyek tbb tz kilomterre vannak. A koncepcit tekintve ez hasonl egyvezetkes telefonvonalon keresztli betrcszs internetkapcsolattal rendelkez otthoni felhasznlhoz, kivve, hogy itt a vezetkes telefon infrastruktrja helyett a mobiltelefon infrastruktrjt hasznljk. A tvkzlsi vllalatok rengeteget fektettek az n. harmadik genercis (3G) vezetk nlkli hlzatok fejlesztsbe, amelyek l Mb/s sebessget is meghalad, nagy kiterjeds csomagkapcsolt vezetk nlkli internet-hozzfrst biztostanak. A nagy kiterjeds vezetk nlkli internet kt fontos szabvnya az EVDO (Evolution-Data Optimized, evolcis adatoptimalizlt, taln a legrosszabb betsz, amit valaha kitalltak!) s a HSDPA (High-Speed Downlink Packet Access, nagysebessg csomagletltsi hozzfrs). Ezek kzl egyik-msik mr sok mobilszolgltatnl elrhet (vagy tervezik, hogy elrhet lesz). Mint mindig, most is van egy potencilis trnkvetel technika, amely arra vr, hogy letasztsa ezt a kt szabvnyt a trnrl. A WiMAX [Intel WiMAX 2007, WiMAX Frum 2007], ms nven az IEEE 802.16 a fentebb trgyalt 802.11 WiFi protokoll nagy hattvolsg testvre. A WiMAX a mobiltelefon-hlzattl fggetlenl mkdik, s 5-10 Mb/s vagy nagyobb sebessget gr, tbb tz kilomteres hattvolsggal. Br 2006 vgn mg nem lltottk szleskren hadrendbe a WiMAX-ot, a Sprint-Nextel mr tbb millird dollrt fektetett a WiMAX 2007-tl trtn bevezetsbe. A WiFi-t, a WiMAX-ot, s a 3G-t a 6. fejezetben trgyaljuk rszletesen.

1.2.3. Fizikai tviteli kzegek


Az elz alfejezetben ttekintettk a nhny legfontosabb, az internetnl elfordul hlzati hozzfrsi technikt, mikzben az ltaluk hasznlt fizikai kzegeket is megemltettk. Pldul azt mondtuk, hogy a H1 : C a fnyvezet szl s a koaxilis kbel kombincijt hasznlja. Azt is mondtuk, hogy a betrcsz 56 kb/s-os modemek s a DSL sodrott rpr rzvezetkeket, a mobil hozzfrsi hlzatok pedig a rdispektrumot hasznljk. Ebben az alfejezetben rviden ttekintjk a fentebb emlteti, s egyb olyan tviteli kzegeket, amelyeket gyakran hasznlnak az internet esetben. Ahhoz, hogy meghatrozzuk, mit is jelent a fizikai tviteli kzeg, gondolkozzunk el egy bit rvidke letn. Kpzeljnk el egy bitet, amely az egyik vgrendszertl egy msikig utazik egy sor adatkapcsolaton s tvlasztn keresztl. Ezt a szegny bitet rengetegszer kldik el, rugdossk ide-oda! A bitet elszr a forrs vgrendszer elkldi, majd rvidesen megkapja a sorban az els tvlaszt; az els tvlaszt ezutn tovbbkldi a bitet, amely hamarosan meg is rkezik a msodik tvlaszthoz, s gy tovbb. gy bitnk, mg a for rstl a clig eljut, egy sor advev pron halad t. Minden ad-vev prnl a bit elektro mgneses hullmok vagy optikai impulzusok, egy fizikai tviteli kzegen keresztl tr tn terjedsvel tovbbtdik. A fizikai tviteli kzeg (physical mdium) sokfle lehet, s nem kell az tvonal minden egyes ad-vev prja esetn megegyeznie. Fizikai tviteli kzeg tbbek kztt lehet pldul a sodrott rpr rzvezetk, a koaxilis kbel, a tbbmdus fnyvezet szl, a fldi sugrzs s a mholdas rdispektrum. A fizikai tviteli kzegeket kt osztlyba sorolhatjuk: vezetkes tviteli kzeg (guided mdia) s vezetk nlkli tviteli kzeg (unguided mdia). A vezetkes kzegeknl a hullmok egy szilrd kzeg, pldul fnyvezet szl, rz sodrott rpr vagy koaxilis kbel mentn haladnak. A vezetk nlkli kzegek esetben a hullmok az atmoszfrban s a vilgrben terjednek, mint pldul a vezetk nlkli helyi hlzatoknl vagy a digitlis mholdas csatornnl. m mieltt belemennnk a klnbz kzegtpusok jellemzibe, ejtsnk nhny szl az rukrl. A fizikai kapcsolatok (rzvezetk, fnyvezet szl stb.) lnyleges ra gyakran viszonylag kicsi a tbbi, hlzatokkal kapcsolatos kltsgekkel sszehasonltva. Klnsen a fizikai vonal kiptsvel kapcsolatos mun ka kltsggel, amely nagysgrendekkel magasabb lehet, mint az anyagkltsg. Emiatt sok ptsi vllalkoz sodrott rprt, fnyvezet szlat s koaxilis kbelt is bept egy adott plet minden szobjba. Mg ha kezdetben csak egy kzeget hasznlnak is, a kzeljvben j esllyel egy msikat is elkezdhetnek hasznlni, s gy pnzt takartanak meg azltal, hogy nem kell j vezetkeket beszerelni.

Sodrott rpr
A legolcsbb s a leggyakrabban hasznlt vezetkes tviteli kzeg a rz sodrott rpr. A telefonhlzatokban mr tbb mint szz ve hasznljk. Valjban - a kzibeszlktl a helyi telefonkzpontig - a vezetkes kapcsolatok tbb mint 99 szzalka rz sodrott rprt hasznl. A legtbbnk mr ltott sodrott rprt otthon s a munkahelyen. A sodrott rpr kt, krlbell 1 mm vastag szigetelt rzvezetkbl ll, amelyek szablyos spirlalakban vannak elrendezve. A vezetkeket azrt sodorjk ssze, hogy cskkentsk a kzelben lv hasonl rprokbl rkez villamos zajokat. Egy kbelben jellemzen tbb prt ktegelnek

ssze gy, hogy egy vdburkolattal veszik ket krl. Egy vezetkpr egyetlen kommunikcis adatkapcsolatot jelent. Az rnykols nlkli sodrott rprt (unshielded twisted pair, UTP) gyakran hasznljk pleten belli szmtgp-hlzatoknl, azaz helyi hlzatoknl (LAN). Manapsg a sodrott rprt hasznl LAN-ok adattviteli sebessge 10 Mb/s s 1 Gb/s kztt van. Az elrhet tviteli sebessg a vezetk vastagsgtl s az ad s a vev kztti tvolsgtl fgg. Amikor a fnyvezetszlas technika 1980-ban megjelent, sokan brltk a sodrott rprat a viszonylag alacsony adatsebessge miatt. Nhnyan gy is reztk, hogy a fnyvezet- szlas technika teljesen fel fogja vltani a sodrott rprt, de a sodrott rpr nem adta fel olyan knnyen. Az olyan modern sodrottrprtechnikval, mint pldul az 5. kategrij UTP, 1 Gb/s tviteli sebessg is elrhet egszen szz mteres tvolsgig. Vgl a sodrott rpr lett az uralkod megolds a nagy sebessg helyi hlzatoknl. Ahogyan korbban is trgyaltuk, a sodrott rprt az otthoni internethozzfrseknl is gyakran alkalmazzk. Lttuk, hogy a betrcsz modemes technika sodrott rprral egszen 56 kb/s sebessg hozzfrst tesz lehetv. Azt is lttuk, hogy a DSL- (digitlis elfizeti vonal) technika az otthoni felhasznlknak 6 Mb/s-nl is gyorsabb internet-hozzfrst knl sodrott rpr segtsgvel (akkor, ha a felhasznlk kzel laknak a szolgltat modemjhez).

Koaxilis kbel
A sodrott rprhoz hasonlan a koaxilis kbel is kt rz vezetbl ll, de itt prhuzamos helyett koncentrikus elrendezsben. Az ilyen szerkezettel, klnleges szigetelssel s rnykolssal elltott koaxilis kbel nagy adatsebessgre kpes. A koaxilis kbel rendkvl gyakori a kbeltelevzis rendszereknl. Ahogyan korbban is lttuk, a kbeltelevzis rendszereket jabban kbelmodemekkel kapcsoljk ssze, hogy az otthoni felhasznlknak 1 Mb/s vagy nagyobb sebessg internet-hozzfrst biztostsanak. A kbeltelevzi s a kbeles internetelrs esetben az ad eltolja a digitlis jelet egy bizonyos frekvencia- svba, s a keletkez analg jelet az ad elkldi a vevnek vagy vevknek. A koaxilis kbel hasznlhat vezetkes osztott kzegknt (shared mdium). Klnsen azrt, mert szmos vgrendszer kapcsolhat kzvetlenl a kbelre, ahol minden egyes vgrendszer megkapja, amit az egyik elkld.

Fnyvezet szl
A fnyvezet szl egy vkony, hajlkony kzeg, amely fnyimpulzusokat vezet, s minden impulzus egy bitet kpvisel. Egyetlen fnyvezet szl is risi, tbb tz vagy tbb szz Gb/s-os adatsebessgre is kpes. Nem rzkeny az elektromgneses zavarokra, a jelcsillaptsa egszen 100 kilomterig nagyon kicsi, s nagyon nehz lehallgatni. Ezen jellemzk miatt lett a fnyvezet szl a kedvelt, nagy tvolsgokat thidal vezetkes tviteli kzeg, fleg tengerentli kapcsolatok esetn. Ma az Egyeslt llamokban s msutt is sok, nagy tvolsg telefonhlzat kizrlag fnyvezet szlakat hasznl. A fnyvezet szl az internet gerincben is gyakori ptelem. Az optikai eszkzk - pldul adk, vevk s kapcsolk - magas ra azonban akadlyozza az alkalmazsukat az olyan rvid tvolsg tvitelnl, mint a LAN vagy egy otthoni hozzfrs esetben a hztartsba trtn tvitel. A fnyvezetszlas vivk (Optical Carrier, OC) szabvny adatsebessgei 51,8 Mb/s-tl

39,8 Gb/s-ig terjednek; ezeket a specifikcikat gyakran OC-H-nek nevezik, ahol az adatkapcsolat sebessge n x 51,8 Mb/s. A ma hasznlatban lv szabvnyok kztt van az OC-1, OC-3, OC-12, OC-24, OC-48, OC-96, OC-192 s az OC-768. Az optikai hlzatokat klnbz szempontok alapjn taglal munkk: [IEC Optical 2007; Goralski 2001; Ramas- wami 1998; s Mukherjee 1997].

Fldi sugrzs rdicsatornk


A rdicsatornk az elektromgneses spektrumban viszik t a jeleket. Kzegknt val hasznlatuk csbt, mert nem ignylik, hogy fizikai vezetkeket szereljnk be, t tudnak hatolni a falakon, kapcsolatot tesznek lehetv mozg felhasznlkkal, s nagy tvolsgokra kpesek jelet tvinni. Egy rdicsatorna jellemzi alapveten a terjedsi krnyezettl s attl a tvolsgtl fggenek, amelyre egy jelet el kell juttatni. A krnyezeti tnyezk meg hatrozzk a tvolsgbl ered vesztesget (path loss), a lernykols miatti jelgyenglst (shadow fad ing) (amelyek miatt cskken a jelerssg, amikor a jel egy bizonyos tvolsgot megtesz, vagy amikor akadlyok krl, illetve azokon keresztl halad), a tbbutas terjeds miatti jelgyenglst (multipath fading) (amely a jel zavar objektumokrl trtn visz- szaverdsnek kvetkezmnye) s az interferencit (ami ms adsok s elektromgneses jelek miatt alakul ki). A fldi sugrzs rdicsatornkat nagyjbl kt csoportba sorolhatjuk: (1) amelyek kis tvolsgban, helyben mkdnek, jellemzen tztl nhny szz mterig; s (2) amelyek nagy, tbb tz kilomteres tvolsgot lefedve mkdnek. Az 1.2.2. alfejezetben lert vezetk nlkli LAN-technolgik helyi rdicsatornkat hasznlnak. A rdicsatornkat rszletesen a 6. fejezetben trgyaljuk.

Mholdas rdicsatornk
Egy kommunikcis mhold kt vagy tbb fldi mikrohullm advevt kt ssze, amelyeket fldi llomsoknak hvunk. A mhold az adsokat az egyik frekvenciasvon veszi, egy ismtl segtsgvel helyrelltja a jelet, amelyet majd egy msik frekvencin elkldi. Kommunikcis clra ktfajta mholdat hasznlnak: geoszinkron (geostationary) mholdakat s alacsony rpplys (low-earth orbiting, LE) mholdakat. A geoszinkron mholdak mindig a Fld ugyanazon pontja fltt tartzkodnak. Ezt gy rikel, hogy a mholdat a Fld felszntl 36 000 kilomteres tvolsgban lltjk plyra. Ez a rendkvl nagy tvolsg a fldi llomstl a mholdig, majd vissza a Fld felsznig, jelents, 280 ms-os jelterjedsi ksleltetst okoz. Ennek ellenre az akr tbb szz Mb/s-os sebessggel mkd mholdas kapcsolatokat gyakran hasznljk a telefonhlzatokban, s az internet gerinchlzatban. Ahogyan az 1.2.2. alfejezetben is trgyaltuk, a mhol das kapcsolatokat egyre nvekv mrtkben hasznljk gyors otthoni hozzfrseknl is olyan helyeken, ahol a DSL vagy a kbeles internetelrs nem valsthat meg. A LE mholdakat a Fldhz sokkal kzelebb helyezik el, s nem maradnak tartsan a Fld egy pontja fltt. A Fld krl keringenek (ahogyan a Hold is), s kommuniklhatnak egymssal is, s a fldi llomsokkal is. Ahhoz, hogy folyamatosan biztostsk egy terlet lefedettsgt, sok mholdat kell Fld krli plyra lltani. Jelenleg sok, kis magassgban mkd kommunikcis rendszert fejlesztenek. A Lloyd cg mhold-konstellcikkal foglalkoz weboldala [Wood 2007] kommunikcis mhold-konstellcik rendszereirl szolgltat s gyjt

informcit. A LE mholdas technikt a jvben internet-hozzfrseknl is hasznlhatjk.

30

1. A SZMTGP-HLZATOK S AZ INTERNET

1.3. A hlzat magja


Miutn megvizsgltuk az internet szlt, ssuk bele magunkat jobban a hlzat kzepbe (magjba) (network core) - a csomagkapcsolk s adatkapcsolatok hljba, amely sszekti az internet vgrendszereit. Az 1.7. brn a hlzat kzept vastag, sttebb vonallal emeltk ki.

1.3.1. Vonalkapcsols s csomagkapcsols


Az adatoknak adatkapcsolatok s kapcsolk hlzatn keresztli tvitelt tekintve kt alapvet megkzelts ltezik: a vonalkapcsols (circuit switching) s a csomagkapcsols (packet switching). A vonalkapcsolt hlzatokban azokat az erforrsokat, amelyekre az tvonal mentn szksg van (pufferek, adatkapcsolatok) a vgrendszerek kztti kommunikci biztostsra, lefoglaljk a kommunikcis munkamenet idtartamra. A csomagkapcsolt hlzatok esetben ezeket az erforrsokat nem foglaljk le; egy ilyen munkamenet zenetei igny szerint hasznljk az erforrsokat, kvetkezskppen lehet, hogy vrniuk kell (azaz sorban kell llniuk), hogy egy kommunikcis adatkapcsolathoz hozzfrjenek. Egyszer hasonlatknt tekintsnk kt ttermet, amelyek kzl az egyik megkveteli az asztalfoglalst, a msik pedig nem kveteli meg, s nem is teszi lehetv. Annl az tteremnl, ahol asztalt kell foglalni, bajldni kell a telefonlssal, mieltt elindulunk otthonrl, m amikor megrkeznk, elvben rgtn beszlhetnk a pincrrel s rendelhetjk az telt. Annl az tteremnl, amelyiknl nem szksges asztalt foglalni, nem is kell veszdnnk ezzel, viszont ha megrkeznk, lehet, hogy vrnunk kell egy asztalra, mieltt beszlhetnnk a pincrrel. Vonalkapcsolt hlzatok pldul a mindentt jelen lv telefonhlzatok. Gondoljuk t, mi trtnik, amikor valaki informcit (hangot vagy faxzenetet) szeretne kldeni telefonhlzaton keresztl. Mieltt a kld elkldhetn az informcit, a hlzatnak fel kell ptenie egy sszekttetst a kld s a fogad kztt. Ez egy valdi sszekttets, ahol a kld s a fogad kztti tvonalon lv kapcsolk fenntartjk a sszekttets llapott. A telefonzsargonban ezt az sszekttetst vonalnak vagy ramkrnek (circuit) hvjk. Amikor a hlzat felpti a vonalat, egy lland tviteli sebessget is lefoglal a hlzat adatkapcsolataiban az sszekttets idtartamra. Mivel a kld-fogad kztti sszekttets szmra svszlessget foglaltunk le, a kld egy lland, garantlt sebessggel kldhet adatokat. A mai internet szntiszta csomagkapcsolt hlzat. Gondoljunk bele, mi trtnik, amikor egy hoszt egy csomagot akar tkldeni az interneten egy msik hosztnak. Ahogyan a vonalkapcsolsnl is, a csomag egy sor kommunikcis adatkapcsolaton halad keresztl, de csomagkapcsolsnl a csomagot anlkl kldik a hlzatba, hogy brmennyi sv- szlessget is lefoglalnnak. Ha az egyik adatkapcsolat zsfolt, mert ms csomagokat is ugyanakkor kell tovbbtania, akkor a csomagunknak vrnia kell az adatkapcsolat kld oldaln egy tmeneti trolban, s ezrt ksleltetst szenved. Az internet garancik nlkl mindent megtesz (best ejfort), hogy idben clba juttassa a csomagokat. Nem minden tvkzl-hlzatot lehet egyrtelmen a tisztn vonalkapcsolt vagy a tisztn csomagkapcsolt hlzatok kz besorolni. Ennek ellenre ez az alapvet besorols kivl kiindulpont a tvkzl hlzati technika megrtshez.

1.2. A HLZAT SZLE

31

Mobiltelefon hlzat

Orszgos vagy globlis internetszolgltat

Helyi vagy regionlis internetszolgltat

Otthoni hlzat

Vllalati hlzat

32

1. A SZMTGP-HLZATOK S AZ INTERNET

Vonalkapcsols
Ez a knyv a szmtgp-hlzatokrl, az internetrl s a csomagkapcsolsrl szl, nem pedig a telefonhlzatokrl s a vonalkapcsolsrl. Fontos azonban megrtennk, mirt hasznljk az internet s ms szmtgp-hlzatok a csomagkapcsolst a hagyomnyosabb, telefonhlzatoknl hasznlt vonalkapcsolt technika helyett. Ezrt rviden ttekintjk a vonalkapcsolst is. Az 1.8. bra egy vonalkapcsolt hlzatot mutat be. Ebben a hlzatban a ngy vonalkapcsol kztt ngy adatkapcsolat van. Mindegyik adatkapcsolatnak n vonala van, gy mindegyik adatkapcsolat n szm egyidej sszekttetst tmogat. Minden hoszt (pldul PC-k s munkallomsok) kzvetlenl az egyik kapcsolhoz van csatlakoztatva. Amikor kt hoszt kommuniklni szeretne, a hlzat egy dediklt vgpontok kztti vagy vg-vg sszekttetst (end-to-end connection) pt fel kzttk. (Persze tbb mint kt eszkz kztti konferenciahvsok is lehetsgesek, de maradjunk az egyszerbb esetnl, s tegyk fel, hogy minden adatkapcsolatban most csak kt hoszt vesz rszt.) gy ahhoz, hogy az A hoszt zenetet kldjn a B hosztnak, a hlzatnak elszr le kell foglalnia egy-cgy vonalat mindkt adatkapcsolaton. Mivel minden adatkapcsolat n szm vonallal rendelkezik, a vg-vg sszekttets az ltala hasznlt minden egyes adatkapcsolat svszlessgnek 1/ rszt kapja az sszekttets idtartamra.

Nyalbols vonalkapcsolt hlzatokban


Egy vonalat egy adatkapcsolatban vagy frekvenciaosztsos nyalbolssal (frequency-di- vision multiplexing, FDM) vagy idosztsos nyalbolssal (timedivision multiplex- ing, TDM) valstanak meg. FDM-nl az adatkapcsolat frekvenciaspektrumt osztjk fel az adatkapcsolaton keresztl felptett sszekttetsek kztt, pontosabban az adatkapcsolat minden sszekttets szmra biztost egy frekvenciasvot az sszekttets idtar tamra. Telefonhlzatoknl ez a frekvenciasv jellemzen 4 kHz szles. A sv szlessgt nem meglep mdon svszlessgnek hvjk. Az FM-rdiadk is FDM-et hasznlnak a 88 MHz s 108 MHz kztti frekvenciaspektrum felosztsra, ahol minden llomsnak sajt frekvenciasvot osztanak ki. Egy TDM-adatkapcsolatnl az idt rgztett hosszsg keretekre, s minden keretet rgztett szm idrsre osztjk. Amikor a hlzat felpt egy sszekttetst egy adat- kapcsolaton keresztl, a hlzat minden keretben hozzrendel egy idrst ehhez az sz- szekttetshez. Ezeket a rseket kizrlag ezen sszekttets szmra tartjk fenn, amely (minden keretben) egy meghatrozott idrst hasznlhat adattvitelre. Az 1.9. bra az FDM-et s a TDM-et mutatja be egy legfeljebb ngy vonalat tmogat hlzati adatkapcsolat esetn. Az FDM-nl a frekvenciatartomnyt ngy, egyenknt 4 kHz svszlessg csatornra osztjk fel. A 'FDM-nl az idtartomnyt keretekre osztjk, ahol minden keretben ngy rs van; minden vonalhoz ugyanazt a rst rendelik az ismtld TMD-keretekben. TDM hasznlata esetn a vonal tviteli sebessge megegyezik a keret- sebessg s az egy rsben lv bitek szmnak szorzatval. Pldul ha az adatkapcsolat msodpercenknt 8000 keretet tovbbt, s minden rsben 8 bit van, akkor a vonal tviteli

1.2. A HLZAT SZLE


sebessge 64 kb/s.

33

1.2. A HLZAT SZLE

34

Minden adatkapcsolat n vonalbl" ll ________ (TDM vagy FDM)

Vg-vg sszekttets A hoszt s B hoszt kztt, amely egy-egy vonalat" hasznl minden adatkapcsolatban

B hoszt

1.8. bra. Ngy kapcsolbl s ngy adatkapcsolatbl ll egyszer vonalkapcsolt hlzat


A csomagkapcsols tmogati mindig is azzal rveltek, hogy a vonalkapcsols pazarl, mert a dediklt vonalak kihasznlatlanok a csendes idszakok (silent periods) alatt. Pldul amikor valaki egy telefonbeszlgets alatt abbahagyja a beszdet, a kihasznlatlan hlzati erforrsokat (az sszekttets tvonaln lv adatkapcsolatok frekvenciasvjait vagy idrseit) nem hasznlhatjk ms, l sszekttetsek. Ezen adatkapcsolatok rossz kihasznlsnak msik pldjaknt tekintsnk egy radiolgust, aki vonalkapcsolt hl zatot hasznl arra, hogy hozzfrjen egy rntgenkpsorozathoz. A radiolgus felpti az sszekttetst, lekr egy kpet, megnzi, majd lekr egy jabb kpet. Mialatt a radiolgus a kpet vizsglja, a hlzati erforrsokat vgig lefoglaljk az sszekttetshez, de nin csenek kihasznlva (azaz pazaroljk). A csomagkapcsols tmogati szeretnek rmutatni, hogy a vgpontok kztti ramkr felptse, s a svszlessg lefoglalsa egyik vgponttl a msikig bonyolult, s az tvonal mentn lv kapcsolk mkdtetshez sszetett jelzsi szoftver szksges. Mieltt befejeznnk a vonal kapcsols trgyalst, kvessnk vgig egy szmpldt, amely segthet a tma tovbbi megrtsben. Gondoljunk bele, mennyi ideig tart elkldeni egy 640 000 bit hossz fjlt az A hosztrl a B hosztra egy vonalkapcsolt hlzaton keresztl. Tegyk fel, hogy a hlzat sszes adatkapcsolata TDM-et hasznl 24 idrssel, s 1,536 Mb/s tviteli sebessgre kpes, legyk fel azt is, hogy 500 msec kell a vgpontok kztti ramkr felptshez, mieltt az A hoszt elkezdi elkldeni a fjlt. Mennyi idt vesz ignybe a fjl elkldse? Minden vonal tviteli sebessge 1,536 Mb/s/24 = 64 kb/s, gy 640 000 bit/64 kb/s = 10 msodpercet vesz ignybe a fjl tvitele. Ehhez a 10 msodperchez hozzadjuk a vonal felptshez szksges idt, s gy 10,5 msodpercet kapunk a fjl elkldsre. Jegyezzk meg, hogy az tvitel ideje fggetlen az sszekttetsek szmtl: az tvitel ideje egy vagy akr szz sszekttets esetn is 10 msodperc lenne. (A valdi vg pontok kztti ksleltets magban foglal egy terjedsi ksleltetst is; lsd 1.4. alfejezet.)

FDM

4KHzAdat- Frekvencia kapcsolat 4KHz

TDM
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

UJ Idrs Keret Id Jells:


2

Minden ,2'jel idrs ugyanahhoz a kld-ogad prhoz tartozik.

1.9. bra. FDM-nl minden vonal folyamatosan birtokolja a svszlessg egy rszt; TDM-nla
vonalak periodikusan az egsz svszlessget megkapjk rvid idszakokra (azaz idrsekre)

Csomagkapcsols
Az elosztott alkalmazsok zeneteket (messages) cserlnek a feladatuk vgrehajtsa kzben. Az zenetek brmit tartalmazhatnak, amit a protokoll tervezje akar. Vezrl funkcit lthatnak el (pldul a Szia zenetek az ismerkeds pldnkban), vagy olyan adatot tartalmazhatnak, mint pldul egy email zenet, egy JPEG-kp vagy egy MP3-hangfjl. A korszer szmtgphlzatokban a forrs a hossz zeneteket kisebb darabokra tr deli, amelyeket csomagoknak (packets) neveznk. A forrs s a cl kztt minden egyes csomag kommunikcis adatkapcsolatokon s csomagkapcsolkon (packet switches) keresztl halad. (A csomagkapcsolk kt legelterjedtebb tpusa az tvlaszt s az adat- kapcsolati rtegben mkd kapcsol.) A csomagokat minden kommunikcis adatkapcsolaton az adatkapcsolat teljes tviteli sebessgvel viszik t. A legtbb csomagkapcsol trol-s-tovbbt tpus tvitelt (store-and-forward trans- mission) hasznl az adatkapcsolatok bemenetnl. A trol-s-tovbbt azt jelenti, hogy a kapcsolnak elbb meg kell kapnia az egsz csomagot, mieltt a csomag els bitjt elkezden kldeni a kifel men adatkapcsolaton. gy a trol-stovbbt tpus kapcsolk miatt megjelenik a trols s tovbbts miatti ksleltets. Gondoljuk t, mennyi idt vesz ignybe egy L bit hosszsg csomag tvitele kt hoszt kztt csomagkapcsolt hlzaton keresztl. Tegyk fel, hogy a kt hoszt kztt Q szm adatkapcsolat van, s mindegyik R b/s sebessgre kpes. Tegyk fel azt is, hogy ez az egyetlen csomag a hlzaton. A cso magot elszr t kell kldeni az els, az A hoszttl kiindul adatkapcsolaton; ez L/R msodpercet vesz ignybe. Ezutn t kell kldeni a fennmarad Q - 1 adatkapcsolaton; azaz Q -

l-szer kell trolni s tovbbtani, minden alkalommal L/R trols s tovbbts miatti ksleltetssel. gy a teljes ksleltets QL/R.

Minden csomagkapcsolhoz tbb adatkapcsolat csatlakozik. A csomagkapcsol minden csatlakoztatott adatkapcsolathoz tartozik egy kimeneti puffer (amit kimen vrakozsi sornak [output queue] is hvunk), amely azokat a csomagokat trolja, amelyeket a kapcsol el akar kldeni azon az adatkapcsolaton. A kimeneti pufFerek kulcsszerepet jtszanak a csomagkapcsolsban. Ha egy bejv csomagot egy olyan adatkapcsolaton kell tovbbkldeni, amely pp egy msik csomag kldsvel van elfoglalva, akkor a bejv csomagnak vrnia kell a kimeneti pufferben. gy a trols s tovbbts miatti ksleltets mellett a csomagok sorbanllsi ksleltetst (queuing delay) is szenvednek. Ezek a ks leltetsek vltozhatnak, s a hlzat zsfoltsgtl fggenek. Mivel a puffer mrete vges, elfordulhat, hogy egy csomag akkor rkezik, amikor a puffer mr teltve van ms, kldsre vrakoz csomagokkal. Ebben az esetben csomagveszts (packet loss) trtnik - vagy a berkez csomagot, vagy valamelyik, a mr sorban vr csomagot eldobjk. A korbban ebben a rszben trgyalt ttermes hasonlathoz visszatrve, a sorbanllsi ksleltets hasonl ahhoz az idhz, amelyet a vendgl brjban kell vrnunk egy szabad asztalra. A csomagveszts hasonl ahhoz, amikor a pincr azt

mondja, hogy el kell hagynunk a helyisget, mert mr tl sok ember vr szabad asztalra a brban.
10 Mb/s Ethernet Statisztikus nyalbois

Sorban ll csomagok, amelyek a kimen adatkapcsolatra vrnak

Jells:

Csriig

1.10. bra. Csomagkapcsols


Az 1.10. bra egy egyszer csomagkapcsolt hlzatot mutat be. Ezen s az ezt kvet brkon a csomagokat hromdimenzis lapokkal jelljk. A lapok vastagsga jelli a csomagban lv bitek szmt. Ezen az brn minden csomag azonos vastagsg, teht ugyanolyan hosszak. Tegyk fel, hogy az A hoszt s a B hoszt csomagokat kldenek az E hoszt na k. Az A s a B hoszt a csomagokat elszr 10 Mb/s-os Ethernet-adatkapcsolaton kldi az els csomagkapcsolnak. A csomagkapcsol ezutn tirnytja ezeket a csoma gokat az 1,5 Mb/s-os adatkapcsolatra. Ha a kapcsolra rkez csomagok berkezsi sebes sge meghaladja azt a sebessget, amellyel a kapcsol tovbbitani tudja a csomagokat az 1,5 Mb/s-os kimen adatkapcsolaton, torlds fog jelentkezni, mert a csomagok sorban fognak llni az adatkapcsolat kimen pufferben, mieltt elkldenk ket. A sorbanllsi ksleltetst rszletesen az 1.4. alfejezetben vizsgljuk meg.

Csomagkapcsols s vonalkapcsols sszehasonltsa


Miutn mr ismertettk a vonal- s a csomagkapcsolst, hasonltsuk ssze ket. A csomagkapcsols brli gyakran rvelnek azzal, hogy a csomagkapcsols nem alkalmas vals ideji szolgltatsok nyjtsra (pldul telefonhvsokhoz s videokonferencikhoz), a kl vgpont kztti vltoz s megjsolhatatlan ksleltetsek miatt (amit elssorban a vltoz s megjsolhatatlan sorbanllsi ksleltetsek okoznak). A csomagkapcsols tmogati viszont azzal rvelnek, hogy (1) jobb svszlessg-megosztst knl, mint a vonalkapcsols, s (2) egyszerbb, hatkonyabb, tovbb a megvalstsa olcsbb, mint a vonalkapcsols. A csomagkapcsols kontra vonalkapcsols tma egy rdekes trgyalst lsd [Moline- ro-Fernandez 2002). ltalban vve azok az emberek, akik nem szeretnek az ttermi asztal- foglalssal bajldni, a csomagkapcsolst rszestik elnyben a vonalkapcsolssal szemben. Mirt hatkonyabb a csomagkapcsols? Tekintsnk egy egyszer pldt. Tegyk fel, hogy felhasznlk egy 1 Mb/s-os adatkapcsolaton osztoznak. Tegyk fel azt is, hogy minden felhasznlnak felvltva van aktv peridusa, amikor lland, 100 kb/s-os sebessggel llt el adatot, s inaktv peridusa, amikor nem llt el adalot. Tovbb tegyk fel, hogy egy felhasznl csak az id 10 szzalkban aktv (s lazn kvzgat az id fennmarad 90 szzalkban). Vonalkapcsols esetn minden egyes felhasznlnak folyamatosan fenn kell tartani 100 kb/s-ot. Pldul vonalkapcsolt TDM-nl, ha egy 1 msodperces keretet 10 db, egyenknt 100 ms-os idrsre osztunk, akkor minden felhasznlnak egy idrst osztunk ki keretenknt. gy a vonalkapcsols csak 10 (= 1 Mb/s/100 kb/s) felhasznlt tmogat egyidejleg. Csomagkapcsols esetn 0,1 annak az eslye, hogy egy bizonyos felhasznl aktv (azaz 10 szzalk). Ha 35 felhasznl van, annak a valsznsge, hogy 11 vagy lbb felhasznl aktv egy idben, krlbell 0,0004. (Az P7. feladat felvzolja, hogyan jn ki ez a valsznsg.) Ha 10 vagy kevesebb felhasznl aktv egy idben (ami 0,9996 valsznsggel ll fenn), az sszegzett sebessg, amivel az adatok berkeznek, 1 Mb/s-nl, azaz az adat- kapcsolat kimen sebessgnl kisebb vagy azzal egyenl. gy ha 10 vagy kevesebb aktv felhasznl van, a felhasznlk csomagjai lnyegben ksleltets nlkl haladnak t az adatkapcsolaton, ppgy, mint vonalkapcsols esetn. Ha egy idben tbb mint 10 aktv felhasznl van, akkor az sszegzett sebessg, amivel a csomagok berkeznek, meghaladja az adatkapcsolat kimen kapacitst, s a kimen vrakozsi sor elkezd nni. (Egszen addig n, amg az sszegzett bemeneti sebessg vissza nem esik 1 Mb/s al, amikor a vrakozsi sor hossza mr elkezd cskkenni.) Mivel ebben a pldban annak a valszn sge kicsi, hogy tbb mint 10 felhasznl aktv egy idben, a csomagkapcsols lnyegben ugyanazt a teljestmnyt biztostja, mint a vonalkapcsols, de gy, hogy kzben tbb mint

hromszor annyi felhasznlt szolgl ki.


Tekintsnk most egy msik pldt. Tegyk fel, hogy 10 felhasznlnk van, s az egyik hirtelen ezer darab 1000 bites csomagot llt el, mikzben a tbbiek tllenek, s nem lltanak el csomagokat. Olyan TDM-vonalkapcsols esetn, ahol 10 idrs van egy keretben, s minden idrs 1000 bitbl ll, az aktv felhasznl egy keretbl csak egyetlen, a sajt idrst tudja felhasznlni az adatok kldshez, s ekzben a keretben lv tbbi idrs ttlen. Az aktv felhasznl egymilli bitjnek tvitele 10 msodpercet vesz ignybe. Csomagkapcsols esetn az aktv felhasznl folyamatosan 1 Mb/s sebessggel kldheti a csomagokat, mivel

nincs ms felhasznl, aki csomagokat llt el, amelyeket az aktv felhasznl csomagjaival nylbl ni kellene. Ebben az esetben az aktv felhasznl adatai nak tvitele 1 msodpercen bell megtrtnik. A fenti pldk kt olyan esetet mutatnak be, amelyeknl a csomagkapcsols teljestmnye nagyobb a vonalkapcsolsnl. Kiemelik az adatkapcsolat tviteli sebessgnek tbb adatfolyam kztti ktfajta megosztsban rejl dnt klnbsget is. A vonal kapcsols az ignyre val tekintet nlkl elre lefoglalja az tviteli vonalat, amelyet ms akkor sem hasznlhat, ha ppen nincs r szksg. Ezzel szemben a csomagkapcsols igny szerint foglalja le a vonalat. A vonal tviteli kapacitst csomagonknt s csak azon felhasznlk kztt osztjk fel, akik csomagokat szeretnnek tkldeni a hlzaton. Az ilyen igny sze rinti (s nem elre lefoglalt) erforrs-felosztst nha statisztikus nyalbolsnak (statistical multiplexing) is nevezik. Br a csomagkapcsols s a vonalkapcsols is elterjedt a mai tvkzlsi hlzatokban, a tendencia egyrtelmen a csomagkapcsols irnyba mutat. St, sok mai vonalkapcsolt telefonhlzat is lassan a csomagkapcsols fel mozdul el. Fleg telefonhlzatok hasznlnak gyakran csomagkapcsolst egy telefonhvs drga, tengerentli rszhez.

1.3.2. Csomagok thaladsa csomagkapcsolt hlzatokon


Korbban azt mondtuk, hogy egy tvlaszt megkap egy csomagot az egyik csatlakoztatott kommunikcis adatkapcsolatn, s tovbbtja azt egy msik csatlakoztatott adat- kapcsolatn. m hogyan hatrozza meg az tvlaszt, hogy melyik adatkapcsolaton kell a csomagot tovbbtani? Ez klnbz tpus szmtgp-hlzatok esetben klnbzkppen trtnik. Ebben a bevezet fejezetben egy npszer megoldst runk le, mgpedig azt, amelyiket az internet is hasznlja. Az internet esetben minden csomag, amely a hlzaton thalad, a fejrszben tartalmazza a clt, ahov cl kell jutnia. Ugyangy, mint a postai cmeknl, ennek a cmnek is hierarchikus felptse van. Amikor egy csomag megrkezik egy, a hlzaton lv tvlasztra, az tvlaszt megvizsglja a csomag clcm rszt, s tovbbtja a csomagot egy szomszdos tvlasztnak. Pontosabban, minden tvlasztnak van egy tovbbttblja (forwarding table), amelyben a clcmek (vagy ezek rszei) a kimen adatkapcsolatokhoz vannak rendelve. Amikor egy csomag berkezik egy tvlasztra, az tvlaszt megvizs glja a cmet, s ezt hasznlva kikeresi a tblzatbl a megfelel kimen adatkapcsolatot. Ezutn az tvlaszt elkldi a csomagot a kimen adatkapcsolaton. Azt lttuk, hogy egy tvlaszt egy csomag clcme szerint keresi ki a tovbbttblban, hogy azt melyik kimen adatkapcsolaton kell tovbbkldeni. Ez az llts azonban felveti a krdst: hogyan kap rtket a tovbbttbla? Minden egyes tvlasztban kzzel lltjk be, vagy az internet egy automatizlt eljrst hasznl? Ezt a krdst rszleteiben a 4. fejezet ben trgyaljuk, de hogy egy kicsit mr most rdekess tegyk, megjegyezzk, hogy ma az internet szmos klnleges tvlasztsi protokollal rendelkezik, amelyeket arra hasznl nak, hogy automatikusan belltsk a tovbbttblkat. Egy tvlasztsi protokoll pldul meghatrozhatja az sszes tvlaszt s sszes cl kztti legrvidebb tvolsgokat, s az eredmnyt felhasznlhatja az tvlasztk tovbbttblinak feltltsre.

A vgpontok kztti tvlaszts folyamata hasonl egy autvezethz, aki nem hasznl trkpet, ehelyett inkbb mindenhol megkrdezi a helyes irnyt. Tegyk fel pldul, hogy Joe Philadelphibl a floridai Orlandban lv Lakeside Drive 156-hoz szeretne autval eljutni. Joe elszr a kzeli benzinktig megy, s megkrdezi, hogyan jut el a floridai Orlandban lv Lakeside Drive 156-hoz. A benzinkutas kiveszi a cmbl, hogy Florida, s megmondja joe-nak, hogy a tbb llamot rint 195 South orszgton menjen, amelynek a bejrata pp a benzinkt mellett van. Azt is elmondja Joe-nak, hogy ha megrkezik Floridba, ott krdez zen meg valaki mst. Ezutn Joe addig megy az 1-95 South-on, amg a floridai Jacksonville-ig nem r, ahol egy msik benzinkutastl kr tbaigaztst. A benzinkutas kiveszi a cmbl, hogy Orlando, majd azt mondja joe-nak, hogy menjen tovbb az I-95-n Daytona Beach-ig, majd krdezzen meg valaki mst. Daytona Beach-ben egy msik benzinkutas kiveszi a cmbl, hogy Orlando, s azt mondja Joe-nak, hogy az I-4esen kzvetlenl Orlandba jut. Joe rmegy az I-4-esre, majd lekanyarodik az Orlando kijratnl. Odamegy egy msik benzin kutashoz, aki ezttal a Lakeside Drive rszt veszi ki a cmbl, majd elmondja Joe-nak, melyik ton kell mennie, hogy eljusson a l.akeside Drive-hoz. Amint Joe elri a Lakeside Drive-ot, megkrdez egy biciklis gyereket, hogyan juthat el az ti cljhoz. A gyerek kiveszi a cmbl azt, hogy 156, majd rmutat egy hzra, s Joe vgre elri az ti cljt. A fenti hasonlatban a benzinkutasok s a biciklis gyerek az tvlasztk megfeleli voltak. Az agyukban lv tovbbttbljukat az vek sorn sszegyjttt tapasztalatok alapjn lltottk be. Szeretn megnzni a vgpontok kztti tvonalat, amelyen a csomagok haladnak az interneten? Ezennel megmutatjuk a lehetsget: vgjon bele a Traceroute program hasznlatval, ltogasson el a http://www.traceroute.org oldalra. (A Traceroute-ot az 1.4. fejezetben trgyaljuk.)

1.3.3. lnternetszolgltatk s internet-gerinchlzatok


Korbban azt lttuk, hogy a vgrendszerek (felhasznli PC-k, PDA-k, webkiszolglk stb.) hozzfrsi hlzatokon keresztl kapcsoldnak az internethez. Idzzk fel: a hozzfrsi hlzat lehet vezetkes vagy vezetk nlkli helyi hlzat (pldul egy vllalatnl, iskolban vagy knyvtrban), otthoni kbelmodem- vagy DSL-hlzat, vagy egy olyan otthoni szolgltat, amelyet betrcsz modemen keresztl rnk el (pldul AOL vagy MSN). m a vgfelhasznlk s a tartalomszolgltatk hozzfrsi hlzatokra kapcsolsa csak egy kis darabja az internetet felpt tbb szzmilli vgrendszerbl s tbb szzezer hlzatbl ll kirakjtknak. Az internet hlzatok hlzata - ennek a kifejezsnek a megrtse a kulcs a kirakjtk megoldshoz. A nyilvnos internetnl az internet szln lv hozzfrsi hlzatokat az internet tbbi rszvel a szolgltatk szintekre osztott hierarchijn keresztl kapcsoljk ssze, ahogy ezt az 1.11. bra is mutatja. A hozzfrsi szolgltatk (pldul otthoni kbel s DSL-hl- zatok, olyan betrcsz hozzfrsi hlzatok, mint az AOL, vezetk nlkli hozzfrsi hlzatok, valamint a I.AN-t hasznl vllalati s egyetemi szolgltatk) a hierarchia aljn helyezkednek el. A hierarchia legtetejn viszonylag kevs, n. 1. szint szolgltat (tier-1 ISP) van. Egy 1. szint szolgltat sok szempontbl ugyanolyan, mint brmelyik hlzat - adatkapcsolatai s tvlaszti vannak, s ms hlzatokkal van sszektve. Ms szempontbl viszont az 1. szint szolgltatk klnlegesek. Az adatkapcsolati sebessgk

gyakran 622 Mb/s, vagy nagyobb, de egy nagyobb 1. szint szolgltat 2,5-10 Gb/sos adat- kapcsolatokkal is rendelkezhet; kvetkezskppen az tvlasztiknak rendkvl gyorsan kell tudniuk tovbbtani a csomagokat. Az 1. szint szolgltatk jellemzi: kzvetlenl csatlakoznak az sszes tbbi 1. szint szolgltathoz, rengeteg 2. szint szolgltat s gyflhlzat csatlakozik hozzjuk, nemzetkzi szolgltatk.

1.11. bra. Az internetszolgltatk sszekapcsoldsa


Az 1. szint szolgltatkat internet-gerinchlzatoknak (Internet backbone) is nevezik. Ilyenek a Sprint, a Verizon, (korbban az UUNet/WorldCom), az AT&T, a NTT, a Level3, a Qwest s a Cable & YVireless. rdekes mdon nincs olyan csoport, amelyik hivatalosan 1. szintnek minsthetne egy szolgltatt; de ahogy a monds is tartja - ha meg kell krdezned, hogy tagja vagy-e egy csoportnak, akkor valsznleg nem. Egy 2. szint szolgltat jellemzen regionlis vagy orszgos szinten mkdik, s (ami fontos, hogy) csak nhny 1. szint szolgltathoz csatlakozik (lsd 1.11. bra). gy ahhoz, hogy egy 2. szint szolgltat a globlis internet nagy rszt elrje, t kell irnytania a forgalmai valamelyik 1. szint szolgltatn, amelyikkel kapcsolatban van. Hgy 2. szint ISP-t a vele kap csolatban lev 1. szint szolgltat gyfelnek (customer) nevezik, s az 1. szint ISP-t az gyfl szolgltatjnak (provider) hvjk. Szmos nagyvllalat s intzmny kzvetlenl egy 1. szint vagy egy 2. szint szolgltathoz csatlakoztatja hlzatt, gy annak a szolgltatnak lesznek az gyfelei. Egy szolgltat ISP az gyfl ISP-ktl djat szed be, amely jellemzen a kt szolgltatt sszekt adatkapcsolat tviteli sebessgtl fgg. Egy 2. szint hlzat dnthet gy is, hogy kzvetlenl ms 2. szint hlzatokhoz is csatlakozik, s ebben az esetben a forgalom gy ramolhat a kt 2. szint szolgltat kztt, hogy nem kell thaladnia egy 1. szint hlzaton. A 2. szint szolgltatk alatt vannak az alacsonyabb szint ISP-k, amelyek az in ternet nagy rszt egy vagy tbb 2. szint szolgltatn keresztl rik el. A hierarchia aljn a

hozzfrsi szolgltatk vannak. A dolgot tovbb bonyoltja, hogy nmelyik 1. szint szolgltat egyben 2. szint is (azaz vertiklisan sszevont), s ppgy rulja az internet-hozzfrst kzvetlenl a vgfelhasznlknak s a tartalomszolgltatknak, mint az alacsonyabb szint szolgltatknak. Ha kt szolgltat kzvetlen kapcsolatban van, egyms trsainak (peer) ne vezzk ket. Egy rdekes tanulmny [Subramanian 2007] azltal prblja meg mg pontosab ban meghatrozni az internet szintekre osztott szerkezett, hogy az internet topolgijt az gyfl-szolgltat s a partner-partner kapcsolatok vonatkozsaiban tanulmnyozza. Egy szolgltat hlzatn bell azokat a pontokat, amelyeken az ISP ms (akr alatta, fltte vagy a hierarchia ugyanazon szintjn lv) szolgltatkhoz kapcsoldik, jelenlti pontoknak (Points of Presence, POPs) nevezzk. Egy POP egyszeren egy tvlaszt vagy tvlasztk egy csoportja a szolgltat hlzatban, amelyhez a ms szolgltatkhoz tartoz, vagy a szolgltat gyfeleinek hlzatban lv tvlasztk csatlakozhatnak. Egy 1. szint szolgltat jellemzen sok jelenlti ponttal rendelkezik, amelyek sztszrtan he lyezkednek el az ISP hlzatnak klnbz fldrajzi helyein, s minden jelenlti ponthoz tbb gyfelhlzat s ms szolgltat csatlakozik. Ahhoz, hogy egy gyflhlzat kap csoldhasson egy szolgltat jelenlti pontjhoz, az gyfl ltalban egy nagysebessg adatkapcsolatot brel egy kvlll telekommunikcis szolgltattl, majd az egyik tvlasztjt kzvetlenl a szolgltat jelenlti pontjnl lv egyik tvlaszthoz kapcsolja. Tovbb, kt szolgltatnak tbb trscsatlakozsi pontja (peering poinl) lehet, ezltal tbb jelenltipont-pron keresztl kapcsoldhatnak egymshoz. sszefoglalva, az internet topolgija sszetett, tbb tucat 1. s 2. szint, valamint tbb ezer alacsonyabb szint szolgltatbl ll. A szolgltatk eltr mret terleteket fednek le, nmelyik tbb kontinensen s cenon vel l, msok pedig a vilg kis rgiira korltozdnak. Az alacsonyabb szint szolgltatk a magasabb szint szolgltatkhoz csatlakoznak, a magasabb szint szolgltatk pedig egymssal vannak kapcsolatban. A felhasznlk s a tartalomszolgltatk az alacsonyabb szint ISP-k gyfelei, az alacsonyabb szint ISP-k pedig a magasabb szint szolgltatk gyfelei.

1.4. Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban


A korbbi 1.1. alfejezetben azt mondtuk, hogy az internetet tekinthetjk gy is, mint egy infrastruktrt, amely vgrendszereken fut elosztott alkalmazsoknak nyjt szolgltatsokat. Idelis esetben szeretnnk, ha az internetszolgltatsok annyi adatot tudnnak azonnal s adatveszts nlkl mozgatni brmely kt vgrendszer kztt, amennyit csak akarunk. Sajnos ez egy elg fennklt cl, amelyet a valsgban sohasem rhetnk el. Ehelyett a szmtgp-hlzatok szksgszeren korltozzk a vgrendszerek kztti tbocs tkpessget (az egy msodperc alatt tvihet adatmennyisget), behozzk a vgrendsze rek kztti ksleltetseket, s adott esetben csomagokat is veszthetnek. Az egyik oldalrl nzve nem szerencss, hogy vals vilg fizikai trvnyei a ksleltetshez, a

csomagvesztshez, valamint az tbocstkpessg korltozshoz vezetnek. Msrszrl pedig, mivel a szmtgp-hlzatoknl fennllnak ezek a problmk, szmos nagyon rdekes krdst vetnek fel a problmk kezelst illeten - tbbet, mint amennyi egy szmtgp-hlzatok tantrgy kitltshez s tbb szz doktori disszertci motivlshoz elegend. Ebben a rszben elkezdjk vizsglni s mennyisgileg meghatrozni a szmtgp-hlzatokban elfordul ksleltetst, vesztesget s tbocstkpessget.

1.4.1. Ksleltetsek ttekintse


Emlkezznk vissza, hogy egy csomag egy hoszttl (frrshoszt) indul, thalad egy sor tvlasztn, s egy msik hosztnl (clhoszt) fejezi be az tjt. Ahogy a csomag az egyik csomponttl (hoszt vagy tvlaszt) a kvetkez csompontig (hoszt vagy tvlaszt) halad ezen az tvonalon, klnbz ksleltetseket szenved minden csompontnl. A legfontosabbak ezek kzl a csomponti feldolgozsi ksleltets, a sorbanllsi ksleltets, az tviteli ksleltets s a jelterjedsi ksleltets; ezek sszegzdnek, s gy elll a teljes csomponti ksleltets. Ahhoz, hogy a csomagkapcsolst s a szmtgp-hlzatokat jobban megrtsk, meg kell rtennk e ksleltetsek termszett s jelentsgt.

A ksleltetsek tpusai
Tekintsk az 1.12. brt, s vizsgljuk meg ezeket a ksleltetseket. A forrs s a cl kztti tvonal rszeknt a csomagot a kimen csompontrl az A tvlasztn keresztl a B tvlaszthoz kldik. A clunk az, hogy az A tvlasztnl jelentkez csomponti ksleltetst jellemezzk. Vegyk szre, hogy az A tvlasztnak van egy olyan kimen adatkapcsolata, amelyik a B tvlaszthoz vezet. Ezt az adatkapcsolatot egy vrakozsi sor elzi meg (amelyet puflernek is neveznk). Amikor a csomag egy elz csomponttl megrkezik az A tvlaszthoz, az A tvlaszt megvizsglja a csomag fejrszt, hogy meghatrozza a megfelel kimen adatkapcsolatot, majd a csomagot ezen az adatkapcsolaton tovbbtja. Ebben a pldban a csomag szmra a kimen adatkapcsolat az, amelyik a B tvlaszthoz vezet. Egy csomagot csak akkor kldhetnk el egy adatkapcsolaton, ha nincs olyan csomag, amelynek az tvitele pp folyik azon az adatkapcsolaton, s egy csomag sem elzi meg a vrakozsi sorban; ha az adatkapcsolat jelenleg foglalt, vagy ms csomagok mr a pufferben vannak az adatkapcsolatra vrva, az jonnan rkez csomag is bell a sorba.

Terjeds

feldolgozs (vrakozs az tvitelre)

1.12. bra. Csomponti ksleltets az A tvlasztnl


Feldolgozsi ksleltets Az az id, amely a csomag fejrsznek megvizsglshoz, s annak a meghatrozshoz szksges, hogy merre kell a csomagot tovbbtani, rsze a feldolgozsi ksleltetsnek (processing delay). A feldolgozsi ksleltets magban foglalhat ms tnyezket is, mint pldul azt az idt, amely a csomagban az elz

csomponttl az A tvlasztig trtn tvitel kzben elfordul bit-szint hibk keresshez szksges. Nagy sebessg tvlasztknl a feldl-

gozsi ksleltetsek mikroszekundum vagy annl kisebb nagysgrendek. Ezutn a csomponti feldolgozs utn az tvlaszt a csomagot a B tvlaszt irnyba es adatkapcsolatot megelz pufferbe irnytja. (A 4. fejezetben az tvlaszt mkdst fogjuk megismerni.) Sorbanllsi ksleltets A csomag a vrakozsi sorban, mialatt arra vr, hogy az adatkapcsolaton tovbbtsra kerljn, sorbanllsi ksleltetst (queuing delay) szenved. Egy bizonyos csomag sorbanllsi ksleltetsnek hossza attl fgg, hogy mennyi a korbban rkezett, a vrakozsi sorban az adatkapcsolaton trtn tvitelre vr csomagok szma. I la a sor res s egyetlen csomag sincs ppen tvitel alatt, akkor csomagunk sorbanllsi ksleltetse nulla lesz. Ha azonban a forgalom nagy, s sok ms csomag is vr az tvitelre, a sorbanllsi ksleltets nagy rtket vesz fel. Rvidesen ltni fogjuk, hogy a vrakoz csomagok szma, amelyre egy berkez csomag szmthat, a pufferbe rkez forgalom intenzitsnak s termszetnek fggvnye. A sorbanllsi ksleltetsek a gyakorlatban mikroszekundum-millisze- kundum nagysgrendek lehetnek. tviteli ksleltets Feltve, hogy a csomagok tvitele, ahogyan ez a csomagkapcsolt hlzatokban ltalnos, a berkezs sorrendjben trtnik, a csomagunkat csak a korbban berkezett csomagok elkldse utn kldik tovbb. L jellje bitekben a csomag hosszt, s B jellje bit/msodpercben az A s B tvlasztk kztti adatkapcsolat tviteli sebessgt. Pldul egy 10 Mb/s-os Ethernet adatkapcsolatnl a sebessg R=10 Mb/s; egy 100 Mb/s-os Ethernet adatkapcsolatnl a sebessg R=100 Mb/s. Az tviteli ksleltets (transmission delay) (amelyet trolsi-tovbbtsi ksleltetsnek is hvnak, ahogyan az 1.3. fejezetben is trgyaltuk) L/R. Ennyi id szksges ahhoz, hogy ttoljuk (azaz tvigyk) a csomag sszes bitjt az adatkapcsolaton. Az tviteli ksleltetsek jellemzen mikroszekundummilliszekundum nagysgrendek. Jelterjedsi ksleltets Ha egy bitet elkldnk egy adatkapcsolaton, annak el kell jutnia a B tvlaszthoz. A jelnek az adatkapcsolat elejtl a B tvlasztig trtn terjedshez szksges id a jel- terjedsi ksleltets (propagation delay). A bit az adatkapcsolat jelterjedsi sebessgvel halad. A jelterjedsi sebessg az adatkapcsolat fizikai tviteli kzegtl fgg (azaz fnyvezet szl, rz sodrott rpr stb.), s a 2 x 10* mter/msodperc - 3 x 10* mter/msodperc tartomnyban van, amely ugyanannyi vagy kicsit kisebb, mint a fnysebessg. A jelterje- . dsi ksleltets a kt tvlaszt kztti tvolsg s a jelterjedsi sebessg hnyadosa, azaz a jelterjedsi ksleltets d/s, ahol d az A s B tvlaszt kztti tvolsg, s s az adatkapcsolat jelterjedsi sebessge. Amint a csomag utols bitje is eljut a B csomponthoz, az a csomag sszes elz bitjeivel egytt troldik a B tvlasztban. Az egsz folyamat gy folytatdik, hogy ezutn a B tvlaszt vgzi a tovbbtst. Nagy kiterjeds hlzatoknl a jelterjedsi

ksleltets milliszekundum nagysgrend.

Az tviteli s a jelterjedsi ksleltets sszehasonltsa


Azoknak, akik jak ezen a terleten, nha nehzsget okoz megrteni az tviteli s a jel- terjedsi ksleltets kztti klnbsget. A klnbsg kicsi, viszont fontos. Az tviteli ksleltets az az id, amelyre az tvlasztnak szksge van ahhoz, hogy betolja a csomagokat az adatkapcsolatba; a csomag hossznak s az adatkapcsolat tviteli sebessgnek fggvnye, de semmi kze a kt tvlaszt kztti tvolsghoz. A jelterjedsi sebessg viszont az az id, amelyet egy bit kt tvlaszt kztt trtn tvitele ignyel; a kt tvlaszt kztti tvolsg fggvnye, de semmi kze a csomag hosszhoz vagy az adatkapcsolat t viteli sebessghez. Egy plda segtsgvel taln tisztzhatjuk az tviteli s a jelterjedsi ksleltets fogalmt. Kpzeljnk el egy autplyt, amelyen 100 kilomterenknt egy fizetkapu van, ahogy azt az 1.13. bra is mutatja. Az autplya-szakaszokat megfeleltethetjk az adatkapcsolatoknak, a fizetkapukat pedig az tvlasztknak. Tegyk fel, hogy az autplyn autk halad nak (azaz terjednek) 100 km/h-s sebessggel (azaz ahogy egy aut elhagyja a fizetkaput, azonnal felgyorst 100 km/h-s sebessgre, amelyet meg is tart a fizetkapuk kztt). Ez utn kpzeljnk el 10 autt, amelyek egytt, karavnban haladnak, rgztett sorrendben kvetik egymst. Minden autt megfeleltethetnk egy bitnek, s a karavnt megfeleltethetjk egy csomagnak. Tegyk fel azt is, hogy minden fizetkapu 12 msodpercenknt enged t egy autt, s azt, hogy ks este van, gy csak ennek a karavnnak az auti vannak az autplyn. Vgl tegyk fel, hogy ha az els aut megrkezik egy fizetkapuhoz, addig vr, amg a tbbi 9 aut is megrkezik s felsorakozik mgtte. (gy az egsz karavnt kell trolni a fizetkapunl, mieltt a tovbbts elkezddhetne.) Az id, amely ahhoz szks ges, hogy az egsz karavnt tengedjk az autplyra, 10 aut/(5 aut/perc) = 2 perc. Ez az id az tvlasztban ltrejv tviteli ksleltets megfelelje. Az id, amely ahhoz szksges, hogy egy aut az egyik fizetkapu kijrattl a kvetkez fizetkapuig vezet utat megtegye, 100 km/100 km/ra = 1 ra. Ez az id a jelterjedsi sebessg megfelelje. gy a karavn egyik fizetkapunl trtn trolstl a msik fizetkapunl trtn trolsig eltelt id az tviteli s a jelterjedsi ksleltets sszege - ebben a pldban 62 perc.

Vizsgljuk tovbb ezt a hasonlatot egy kicsit. Mi trtnne, ha a fizetkapuk kiszolglsi ideje nagyobb lenne, mint a kt fizetkapu kztti tvolsg megttelhez szksges id? Pldul tegyk fel, hogy az autk 1000 km/h-s sebessggel haladnak, s a fizetkapuk 1 aut/perc sebessggel szolglnk ki az autkat. Ekkor a kt fizetkapu kztti utazshoz szksges id 6 perc, s az egy karavn kiszolglshoz szksges id 10 perc. Ebben az esetben a karavn els nhny autja hamarabb rkezik meg a msodik fizetkapuhoz, mint ahogy a karavn utols auti elhagynk az els fizetkaput. Ez a helyzet a csomag kapcsolt hlzatoknl is fennll - egy csomag els bitjei megrkezhetnek egy tvlasz thoz, mikzben a fennmarad bitek nagy rsze mg mindig az tvitelre vr az elz tvlasztban.
100 km

10 autbl ll karavn

Fizetkapu

Fizetkapu

52

1. A SZMTGP-HLZATOK S AZ INI F.RNUT

Ha egy kp ezer szt mond cl, akkor egy animci egy millit fog. E knyv kapcsold weboldaln egy interaktv Java-program tallhat, amely nagyon jl szemllteti s veti ssze az tviteli s a jelterjedsi ksleltetst. Az olvas szmra ersen ajnlott a program megtekintse. Ha deuojgo/4,i, d% t v i t e l i s terjedsi rendre a feldolgozsi, sorbanllsi, tviteli s jel- terjedsi ksleltetst jelli, a teljes csomponti ksleltetst (totl nodal delay) megadhatjuk az albbi sszefggssel:
^csomponti

<^lcldogo.i*i ^sorbanllj ^tviteli ^terjedl

Ezen ksleltetsi sszetevk hozzjrulsa a vgeredmnyhez jelentsen vltozhat. Pldul terjedsi elhanyagolhatan kicsi lehet (pldul nhny mikroszekundum) egy egyetem kt tvlasztja kztt lv adatkapcsolatnl; d{ct)ci6i) azonban tbb szz milliszekundum is lehet olyan tvlasztk kztt, amelyek geostacionrius mholdas adatkapcsolattal vannak sszektve, s gy a daomAponll meghatroz sszetevje lehet. Hasonlan a dixvixcu is az elhanyagolhattl a jelentsig terjedhet. Hatsa jellemzen elhanyagolhat 10 Mb/s vagy nagyobb tviteli sebessgek esetben (pldul helyi hlzatoknl); azonban tbb szz milliszekundum is lehet olyan nagymret csomagok esetn, amelyeket lass, betrcsz modemes adatkapcsolatokon keresztl kldenek. A feldolgozsi ksleltets, dMdo]^titu is gyakran elhanyagolhat; azonban jelentsen befolysolja egy tvlaszt maximlis tbocstkpessgt, azaz azt a legnagyobb sebessget, amellyel egy tvlaszt csomagokat tud tovbbtani.

1.4.2. Sorbanllsi ksleltets s csomagveszts


A csomponti ksleltets legsszetettebb s legrdekesebb sszetevje a sorbanllsi ksleltets, dwtbanii- A sorbanllsi ksleltets valjban olyan fontos s rdekes a szmtgp-hlzatoknl, hogy arrl tbb ezer tanulmnyt s szmos knyvet is rtak [Bertsekas 1991; Daigle 1991; Kleinrock 1975, 1976; Ross 1995]. Mi csak nagyvonalan, a rszletek trgyalsa nlkl ismertetjk a sorbanllsi ksleltetst; a tovbbi rszletek irnt rdek ld olvas ms knyvekbe is belenzhet (vagy ppen rhat egy doktori disszertcit a tmrl). A msik hrom ksleltetstl (nevezetesen t/f c idoi g o/. 4 i> tviteli s /terjedsi) eltren a sorbanllsi ksleltets csomagonknt klnbz lehet. Pldul ha 10 csomag kzel egyszerre rkezik egy res pufferhez, az els csomag egyltaln nem szenved sorbanllsi ksleltetst, az utols tvitt csomag viszont viszonylag nagy sorbanllsi ksleltetst szenved (mialatt arra vr, hogy a tbbi kilenc csomagot elkldjk). Ezrt a sorbanllsi ksleltets jellemzsnl ltalban olyan statisztikai mrszmokat hasznlunk, mint az tlagos sor banllsi ksleltets, a sorbanllsi ksleltets szrsngyzete, s annak a valsznsge, hogy a sorbanllsi ksleltets meghalad egy bizonyos rtket. Mikor nagy s mikor jelentktelen a sorbanllsi ksleltets? A vlasz a vrakozsi sorba rkez csomagok berkezsi sebessgtl, az adatkapcsolat tviteli sebessgtl, valamint a berkez forgalom jellegtl fgg, azaz attl, hogy a csomagok szablyos idkznknt rkeznek vagy rvid sorozatokban. Hogy bepillantst nyerjnk, jelljk fl-val azt az tlagsebessget, amellyel csomagok rkeznek egy vrakozsi sorba (a mrtkegysge csomag/s). Emlkezznk vissza,

1.3. A HLZAT MAGJA

53

hogy R az tviteli sebessg; az a sebessg (bit/s-ban mrve), amellyel a bitek kikerlnek a vrakozsi sorbl. Az egyszersg kedvrt tegyk fel azt is, hogy minden csomag L bitbl ll. Ekkor a bitek vrakozsi sorba rkezsi sebes-

54

1. A szmtgp-hlzatok s az in ternet

sgc La bit/s. Vcgl vegyk gy, hogy a vrakozsi sor nagyon hossz, gy gyakorlatilag vgtelen szm bitet kpes trolni. Az La/ R hnyadost a forgalomintenzitsnak (traffic intensity) nevezzk, s gyakran fontos szerepet jtszik a sorbanllsi ksleltets mrtknek becslsnl. Ma L a/ R > 1, akkor a bitek tlagos vrakozsi sorba rkezsi sebessge meghaladja azt a sebessget, amellyel a bitek tovbbtsra kerlnek a vrakozsi sorbl. Ebben a szerencstlen helyzetben a vrakozsi sor minden hatron tln, s a sorbanl lsi ksleltets a vgtelenhez tart! Ezrt a hlzat forgalmat is figyelembe vev tervezs nl az egyik alapszably: A rendszert gy kell megtervezni, hogy a forgalomintenzits ne

legyen nagyobb, mint 1. Most tekintsk az L a/ R < 1 esetet. Ekkor a forgalom jellege van hatssal a
sorbanllsi ksleltetsre. Pldul ha a csomagok szablyos idkznknt rkeznek - azaz L / R msodpercenknt rkezik egy csomag - akkor minden csomag res vrakozsi sorba fog rkezni, s egyltaln nem lesz sorbanllsi ksleltets. Msrszt, ha a csomagok bizonyos idkznknt rkez rvid sorozatokban jnnek, jelents tlagos sorbanllsi ksleltetssel sz molhatunk. Pldul kpzeljk el, hogy {L/ R) N msodpercenknt N szm csomag rkezik egy idben. Ekkor az els tvitt csomag nem szenved sorbanllsi ksleltetst; a msodik csomag L / R sorbanllsi ksleltetst szenved; s ltalban elmondhat, hogy az n. csomag {n - l) L/ R msodperc sorbanllsi ksleltetst szenved. Az tlagos sorbanllsi ksleltets kiszmtst ebben a pldban meghagyjuk megoldand feladatnak. A szablyos idkznknt trtn berkezs fentebb lert kt pldja kiss elmleti. ltalban a vrakozsi sorba trtn berkezsek vletlenszerek; azaz a berkezsek nem kvetnek semmilyen mintt, s a csomagok berkezse kztt vletlen idtartam telik el. Ebben a valsghoz kzelebb ll esetben az L a/ R mennyisg ltalban nem elegend a sorbanllsi ksleltets statisztikjnak teljes lersra. Ennek ellenre fontos a sorbanllsi ksleltets mrtknek rszletekbe nem men megrtshez. Ha a forgalom intenzits nullhoz kzeli, akkor kevs csomag rkezik, s kzttk sok id telik el, s valszntlen, hogy egy berkez csomag egy msik csomagot tall a vrakozsi sorban. gy az tlagos sorbanllsi ksleltets nullhoz kzeli rtket vesz fel. Msrszt, amikor a forgalomintenzits 1-hez kzeli, lesznek olyan idszakok, amikor a berkezsi sebessg meghaladja az tviteli kapacitst (a csomagberkezsi sebessg vltozsa miatt), s vrakozsi sor fog keletkezni ezen idszakokra; amikor a berkezsi sebessg kisebb, mint az tviteli kapa cits, a vrakozsi sor mrete cskkenni fog. Ahogy a forgalomintenzits 1-hez kzelt, az tlagos sorbanllsi ksleltets egyre nagyobb lesz. Az 1.14. bra az tlagos sorbanllsi ksleltetst mutatja a forgalomintenzits fggvnyben. Az egyik fontos tny, amire az 1.14. bra rvilgt az, hogy amint a forgalomintenzits 1-hez kzelt, az tlagos sorbanllsi ksleltets gyorsan nvekszik. Az intenzits kis nvekedse is sokkal nagyobb szzalkos nvekedst okoz a ksleltetsben. Ezt a jelensget taln mr tapasztalta az autplyn. Ha rendszeresen vezet olyan tszakaszon, amelyen ltalban torlds van, az azt jelenti, hogy ezen a szakaszon a forgalom intenzits kzel 1. Ha valamilyen esemny akr egy kicsit is az tlagos szint fl emeli a forgalmat, rendkvl nagy ksleltetssel szmolhatunk.

1.4. KSLELTETS, VESZ I USG S TBOCSTKPESSG CSOMAGKAPCSOLT HLZATOKBAN

55

Hogy igazn trezze, mit is jelent a sorbanllsi ksleltets, ltogassa meg a knyv kapcsold wcboldalt, amelyen egy olyan interaktv Java-program is tallhat, amely- lyel tanulmnyozhat a sorbanllsi ksleltets. Ha a csomagok berkezsi sebessgt elg nagyra lltjuk gy, hogy a forgalomintenzits meghaladja az 1-et, akkor ltszik, hogy a vrakozsi sor idvel egyre nvekszik.

La/R

1.14. bra. Az tlagos sorbanllsi ksleltets a forgalomintenzits fggvnyben

Csomagveszts
A fenti trgyalsnl feltteleztk, hogy a vrakozsi sor vgtelen szm csomagot kpes trolni. A valsgban egy adatkapcsolatot megelz vrakozsi sor vges mret, br a vrakozsi sor kapacitsa nagyban fgg a kapcsol tervezstl s rtl. Mivel a vrakozsi sor kapacitsa vges, a csomagok vrakozsai igazbl nem kzeltenek a vgtelenhez, ahogy a forgalomintenzits az 1-hez tart. Ehelyett egy berkez csomag gy tallhatja, hogy a vrakozsi sor tele van. Mivel nincs hely a trolsra, az tvlaszt eldobja a csomagot; azaz a csomag elveszik. A vrakozsi sor ilyen tlcsordulst figyelhetjk meg a vrakozsi sort szemlltet Java program segtsgevei, ha a forgalom intenzits nagyobb, mint 1. Egy vgrendszer nzpontjbl, egy csomagveszts esemny gy nz ki, hogy elkldnk egy csomagot a hlzat kzepe fel, de soha nem rkezik meg a hlzatbl a clhoszthoz. Az elveszett csomagok hnyada a forgalom intenzitssal nvekszik, ezrt egy csompont teljestkpessghez nemcsak a ksleltetsek mrtke, hanem a csomagveszts valsznsge is fontos. Ahogyan a kvetkez fejezetekben is megtrgyaljuk, az elveszett csomagok a kt vgpont kztt jra elkldhetk, gy biztostva, hogy minden adat valban tvitelre kerljn a forrshoszttl a clhosztig.

1.4.3. Vgpontok kztti ksleltets


Az eddigi vizsgldsunk a csomponti ksleltetsre, azaz az egyetlen tvlasztnl fennll ksleltetsre helyezte a hangslyt. Most tekintsk a teljes ksleltetst a forrstl a clig. A koncepci megrtshez tegyk fel, hogy a forrshoszt s a cl hoszt kztt N - 1 tvlaszt van. Tovbb tegyk fel, hogy a hlzaton jelenleg nincs torlds (azaz a sorbanllsi ksleltetsek

1.4. KSLELTETS, VESZ I USG S TBOCSTKPESSG CSOMAGKAPCSOLT HLZATOKBAN

56

elhanyagolhatk), a feldolgozsi ksleltets minden tvlasztnl s a forrs hosztnl dlMo\go/Un az tviteli sebessg minden tvlasztnl s a forrshosztnl R bit/s, s a terjedsi ksleltets minden adatkapcsolatnl d[a)edis,t. A csomponti ksleltetsek sszeaddnak, s kiadjk a vgpontok kztti ksleltetst:
d\-ft vg N(d{eldolgo/si
^tviteli + ^tetjedti)

ahol jra d atvlteIl = LIR s L pedig a csomagmret. A kplel ltalnostst csompontonknt eltr ksleltetsekre s minden csompontnl jelen lv tlagos sorbanllsi ksleltetsre az olvasra bzzuk.

Traceroute
Ahhoz, hogy a gyakorlatban is lthatv tegyk egy szmtgp-hlzatban a vgpontok kztti ksleltetst, hasznlhatjuk a Traceroute programot. A Traceroute egy egyszer program, amely brmely, internetre kapcsolt hoszton futtathat. Amikor a felhasznl megadja a clhoszt nevt, a forrshoszton fut program tbb klnleges csomagot kld a cl irnyba. Ahogyan ezek a csomagok a clhoz kzelednek, szmos tvlasztn haladnak t. Amikor egy tvlaszt megkap egy ilyen klnleges csomagot, egy rvid zenetet kld vissza a forrsnak, amely az tvlaszt nevl s cmt tartalmazza. Pontosabban tegyk fel, hogy a forrs s a cl kztt N - 1 tvlaszt van. Ekkor a forrs N szm klnleges csomagol fog kldeni a hlzatba, s mindegyik csomag a legtvolabbi clhosztnak lesz cmezve. Ezt az N szm klnleges csomagot megjellik 1 -tl N-ig, ahol az els csomag az 1-es, az utols az N-es. Amikor az n. tvlaszt megkapja az n jel, n. csomagot, az tvlaszt nem tovbbtja azt a cl fel, ehelyett visszakld egy zenetet a forrsnak. Amikor a clhoszt megkapja az N. csomagot, szintn visszakld egy csomagot a forrsnak. A forrs feljegyzi a csomag kldse, s az ahhoz tartoz vlaszzenet visszarke zse kzlt eltelt idt; s feljegyzi tovbb a vlaszt visszakld tvlaszt (vagy a clhoszt) nevt s cmt is. Ezzel a mdszerrel a forrs rekonstrulhatja a forrstl a cl fel halad csomagok ltal megtett tvonalat, valamint meghatrozhatja a krljrsi ksleltetst minden kzbees tvlasztra. Valjban a Traceroute hromszor ismtli mega lert ksrletet, gy 3 x N csomagot kld a cl fel. A Traceroute-ot az RFC 1393 rja le rszletesen. Itt lthat egy plda a Traceroute program kimenetre, ahol az tvolnalat a gaia.es.u- mass.edu (University of Massachusetls) forrshoszttl a cis.poly.edu (Polytechnic Univer- sity of Brooklyn) hosztig kvettk vgig. A kimenetnek hat oszlopa van: az els oszlop a fentebb lert n rtk, azaz hogy hnyadik az tvlaszt az tvonalon; a msodik oszlop az tvlaszt neve; a harmadik oszlop az tvlaszt cme (xxx.xxx.xxx.xxx formtumban); az utols hrom oszlop pedig a krljrsi id a hrom ksrletben. Ha a forrs egy bizonyos tvlaszttl hromnl kevesebb zenetet kap (a hlzatban bekvetkezett cso magveszts miatt), a Traceroute egy csillagot tesz az tvlaszt szma utn, s hromnl kevesebb krljrsi idt jelent meg ahhoz az tvlaszthoz.

1 2

cs-gw (128.119.240.254) 1.009 ms 0.899 ms 0.993 ras 128.119.3.154 (128.119.3.154) 0.931 ms 0.441 ms 0.651 ms

1.4. KSLELTETS, VESZ I USG S TBOCSTKPESSG CSOMAGKAPCSOLT HLZATOKBAN

57

3 4 5 6 7 8 ms 9 10

border4-rt-gi-l-3.gw.umass.edu (128.119.2.194) 1.032 ms 0.484 ms 0.451 ms acrl-ge-2-l-0.Boston.cw.net (208.172.51.129) 10.006 ms 8.150 ms 8.460 ms agr4-loopback.NewYork.cw.net (206.24.194.104) 12.272 ms 14.344 ms 13.267 ms acr2-loopback.NevjYork.cw.net (206.24.194.62) 13.225 ms 12.292 ms 12.148 ms posl0-2.core2.NewYorkl.Level3.net (209.244.160.133) 12.218 ms 11.823 ms 11.793 ms gige9-l-52.hsipaccessl.NewYorkl.Level3.net (64.159.17.39) 13.081 ms 11.556 ms 13.297 p0-0.polyu.bbnplanet.net (4.25.109.122) 12.716 ms 13.052 ms 12.786 ms cis.poly.edu (128.238.32.126) 14.080 ms 13.035 ms 12.802 ms

A fenti tvonalkvetsben kilenc tvlaszt van a forrs s a cl kztt. Ezek kzl a legtbbnek van neve, s mindegyiknek van cme. Pldul a 3-as tvlaszt neve border4-rt-gi-l-3.gw.umass.edu, s a cme 128.119.2.194, Ha rnznk az erre az tvlasztra vonatkoz adatokra, azt ltjuk, hogy a hrom prba kzl az elsnl a krljrsi ksleltets a forrs s az tvlaszt kztt 1,03 milliszekundum. A krljrsi ksleltets a kvetkez kt prbnl 0,48 s 0,45 milliszekundum. A krljrsi ksleltetsek magukban foglaljk az pp megtrgyalt sszes ksleltetst, ezek kztt az tviteli ksleltetseket, a terjedsi ksleltetseket, az tvlasztnl fellp feldolgozsi ksleltetseket s a sorbn- llsi ksleltetseket. Mivel a sorbanllsi ksleltets idben vltozik, az ti. tvlasztnak kldtt n. csomag krljrsi ksleltetse nha nagyobb lehet, mint az n + 1-ik tvlasztnak kldtt n + 1-ik csomag. Valban, a fenti pldban megfigyelhetjk ezt a jelensget: a ksleltets a 6. tvlaszt esetben nagyobb, mint a 7. tvlaszt esetben! n is kiprbln a Traceroute-ot? Azt tancsoljuk, ltogasson el a http://www.traceroutc . org oldalra, amely webes felletet knl egy sor olyan forrshoz, ahonnan tvonal kvetst lehet indtani. Kivlaszthat egy forrst, s megadhatja brmely clhoszt nevt, ezutn a Trace- route program elvgzi a munkt. Szmos ingyenes alkalmazs ltezik, amelyek grafikus felletet knlnak a Traceroute-hoz; az egyik kedvencnk a PingPlotter [PingPlotter 2007].

Vgrendszert, alkalmazsi s egyb ksleltetsek


A feldolgozsi, tviteli s terjedsi ksleltetsen kvl a vgrendszerekben tovbbi jelents ksleltetsek jhetnek ltre. Pldul a betrcsz modem miatt megjelenik a modulcis/ kdolsi ksleltets, amely tz milliszekundum nagysgrend lehet. (A modulcis/kdolsi ksleltetsek ms hozzfrsi technikknl - pldul Ethernet, kbelmodem s DSL - jelentktelenebbek s ltalban elhanyagolhatk.) Egy vgrendszer, amely egy oszlott kzegen keresztl szeretne adatot kldeni (mint pldul egy WiFi- vagy Ethernet-hlzat- ban), a protokoll tudatosan ksleltetheti az tvitelt, hogy a kzeget ms vgrendszerekkel megossza; az ilyen protokollokat rszletesen az 5. fejezetben fogjuk ttekinteni. Egy msik fontos ksleltets a mdia-csomagolsi ksleltets, amely az IP-hlzaton keresztl trtn beszdtvitel (Voice-over-lP, VoIP) alkalmazsoknl jelenik meg. A VolP-nl a kld oldalnak elbb fel kell tltenie a csomagot kdolt, digitalizlt beszddel, mieltt elklden azt az interneten. Az az id, amg a csomagot feltltik (csomagolsi idnek hvjk) jelents lehet, s befolysolhatja a VoIP-hvs felhasznlk ltal rzkelt minsgt. Ezt a krdst tovbb vizsgljuk egy feladatban a fejezet vgn.

1.4. KSLELTETS, VESZ I USG S TBOCSTKPESSG CSOMAGKAPCSOLT HLZATOKBAN

58

1.4.4. Szmtgp-hlzatok tbocstkpessge


A ksleltetsen s a csomagvesztsen kvl a szmtgp-hlzatok egy msik rendkvl fontos teljestmnymrje a vgpontok kztti tbocstkpessg. Az tbocstkpessg meghatrozshoz tekintsk egy nagy llomny tvitelt az A hoszt ti a B hosztig egy szmtgp-hlzaton keresztl. Ez az tvitel lehet pldul egy nagy videklip kldse kt trs kzt t egy P2P fjlmegoszt rendszerben. Brmely idpillanatban a pillanatnyi tbocstkpessg (instantaneous throughput) az a sebessg (bit/msodpercben), amellyel a B hoszt fogadja az llomnyt. (Sok alkalmazs, belertve szmos P2P fjlmegoszt rendszert, megjelenti a pil lanatnyi tbocstkpessget a felhasznli felletkn - ezt taln mr megfigyelte ezeltt is!) Ha a fjl F bitbl ll, s az F bit tvitele a B hosztig T msodpercet vesz ignybe, akkor a fjltvitel alatti tlagos tbocstkpessg (average throughput) F/T bit/s. Nhny alkal-

59

1. A SZMTGP-HLZATOK S AZ INTERNET

Kliens

Kliens

1.15. bra. tbocstkpessg egy szerver s egy kliens kztti fjltvitel esetn
mazsnl, mint pldul az internettelefonnl elvrhat, hogy a ksleltets kicsi legyen, s a pillanatnyi tbocstkpessg folyamatosan egy bizonyos hatrrtk fltt legyen (pldul nhny internettelefon alkalmazsnl 24 kb/s fltt, s nhny vals idej vides alkalmazsnl 256 kb/s fltt). Ms alkalmazsoknl, belertve azokat, amelyeknl fjltvitel trtnik, a ksleltets nem kritikus, de elvrhat a lehet legnagyobb tbocstkpessg. Hogy tovbbi bepillantst nyerjnk az tbocstkpessg fogalmba, tekintsnk nhny pldt. Az 1.15. (a) brn kt vgrendszer, egy szerver s egy kliens lthat, amelyek kt kommunikcis adatkapcsolaton s egy tvlasztn keresztl vannak sszektve. Tekintsk a szerver s a kliens kztti fjltvitel esetn az tbocstkpessget. Jellje Rs a szerver s az tvlaszt kztti adatkapcsolat sebessgt; s jellje Rc az tvlaszt s a kliens kztti adatkapcsolat sebessgi. Tegyk fel, hogy csak azok a bitek vannak a hlzaton, amelyeket a szerver a kliensnek kldtt el. Feltehetjk a krdst, mennyi a szerver-kliens tbocstkpessg ebben az idealizlt esetben. Ahhoz, hogy ezt a krdst megvlaszoljuk, a biteket folyadkknt, a kommunikcis adatkapcsolatokat csvekknt kpzelhetjk el. Lthat, hogy a szerver nem kldhet t biteket az adatkapcsolaton Rs b/s-nl gyorsabban; s az tvlaszt nem tovbbthat biteket Rc b/s-nl gyorsabban. Ha Rs < Rc> akkor a szerver ltal lkldtt bitek kzvetlenl tramlanak az tvlasztn, s Rs b/s-os sebessggel megrkeznek a klienshez, gy az tbocstkpessg Rs b/s lesz. Viszont ha Rc < Rs , akkor az tvlaszt nem tudja olyan gyorsan tovbbtani a biteket, mint amilyen sebessggel fo gadja. Ebben az esetben a bitek csak Rc sebessggel hagyjk el az tvlasztt, gy a vgpontok kztti tbocstkpessg Rc lesz. (Vegyk szre azt is, hogy ha a bitek folyamatosan Rs sebessggel rkeznek az tvlaszthoz, amit folyamatosan Rc sebessggel hagynak el, az tvlasztnl a kliens fel tvitelre vr bitek vrakozsi sora egyre nni fog, amely elgg nemkvnatos helyzet!) Ezrt ezen az egyszer, kl adatkapcsolatbl ll hlzaton az tbocstkpessg min{Rc,

60

1. A SZMTGP-HLZATOK S AZ INTERNET

Rs}> azaz a

szk keresztmetszet adatkapcsolat (bottleneck link) tviteli sebessge. Miutn meghatroztuk az tbocstkpessget, kzeltleg kisz molhatjuk az idt, amelyet egy F bites fjl a szerver s a kliens kztt F/m\n{Rs , Rc } sebessggel trtn tvitele vesz ignybe. Egy konkrt plda kedvrt tegyk fel, hogy egy F-32 milli bitbl ll MP3-fjlt tltnk le, a szerver R$ = 2 Mb/s sebessggel kldhet adatokat, s neknk egy Rc = 1 Mb/s-os hozzfrsi adatkapcsolatunk van. A fjl tvitelhez szksges id ekkor 32 msodperc. Termszetesen ezek a kifejezsek az tbocstkpessg s az

1.13. bra. A karavn hasonlat

1.4. KSLELTETS, VESZ I USG S TBOCSTKPESSG CSOMAGKAPCSOLT HLZATOKBAN

61

tviteli id kiszmtsra csak kzeltsek, mivel nem vesznek figyelembe csomagszint s protokollkrdsekct. Az 1.15. (b) brn egy olyan hlzat lthat, ahol N szm adatkapcsolat van a szervers a kliens kztt, s az N adatkapcsolat tviteli sebessge R]y R2 ,..., R^. A kt adatkapcsolatbl ll hlzat vizsglathoz hasonlan azt llapthatjuk meg, hogy az tbocstkpessg egy fjltvitel esetn a klienstl a szerverig min{#i, Rj ,..., Rn}, ami itt is a szerver s a kliens kztti tvonalon lv szk keresztmetszet adatkapcsolat tviteli sebessge. Most tekintsnk egy olyan pldt, amelynek az alapja a mai internet. Az 1.16. (a) brn kt vgrendszer, egy szerver s egy kliens lthat, amelyek egy szmtgp-hlzathoz csatlakoznak. Gondoljuk t, mennyi az tbocstkpessg a szervertl a kliensig trtn fjltvitel esetn. A szerver egy Rs, a kliens pedig egy Rc sebessg hozzfrsi adatkapcsolaton keresztl csatlakozik a hlzathoz. Tegyk fel, hogy a hlzat belsejben lv sszes adatkapcsolat nagyon nagy tviteli sebessg, sokkal nagyobb, mint Rs s Rc. Valjban ma az internet belseje tlmretezett, nagy sebessg adatkapcsolatokkal rendel kezik, amelyeknl csak kis torlds jelentkezik [Akella 2003). Tegyk fel azt is, hogy csak azok a bitek vannak a hlzaton, amelyeket a szerver a kliensnek kldtt el. Mivel ebben a pldban a szmtgp-hlzat kzepe olyan, mint egy szles cs, a sebessg, amellyel a bitek a forrstl a clig ramolhatnak, az tbocstkpessg itt is az R$ s Rc kzl a kisebb, azaz az tbocstkpessg = min{R<, Rs}. Emiatt a mai internetnl az tbocstkpessg korltoz tnyezje jellemzen a hozzfrsi hlzat. Utols pldaknt tekintsk az 1.16. (b) brt, ahol tz szerver s tz kliens lthat, amelyek egy szmtgp hlzat belsejhez vannak kapcsolva. Ebben a pldban tz letlts folyik egyidejleg, amelyben tz kliens-szerver pr vesz rszt. Tegyk fel, hogy ez a tz letlts jelenleg az sszes forgalom a hlzaton. Ahogy az bra is mutatja, van egy adatkapcsolat a hlzat belsejben, amelyen mind a tz letlts thalad. Ennek az adatkapcsolatnak az tvi teli sebessgt jellje R. Tegyk fel, hogy minden szerver hozzfrsi adatkapcsolatnak se bessge ugyanaz az Rs, minden kliens hozzfrsi adatkapcsolatnak sebessge ugyanaz az Rc s a hlzat belsejben lv adatkapcsolatok - kivve a kzs, R sebessg adatkapcsolatot - tviteli sebessge jval nagyobb, mint Rs , Rc s R. Feltehetjk a krdst: mekkora az tbocstkpessg a letltseknl? Vilgos, hogy ha a kzs adatkapcsolat sebessge, azaz R nagy - mondjuk szzszorosa i^-nek, s Rc -nek is -, akkor az tbocstkpessg minden letltsnl itt is min{.K s , Rc j lesz. Mi trtnik azonban, ha a kzs adatkapcsolat sebessge azonos nagysgrend Rsse\ s Rc-veI? Mennyi lesz az tbocstkpessg ebben az esetben? Nzznk egy konkrt pldt. Legyen Rs = 2 Mb/s, Rc = 1 Mb/s, R = 5 Mb/s, s a kzs adatkapcsolat az tviteli sebessgt egyenlen osztja fel a 10 letlts kztt. Ekkor a letltseknl a szk keresztmetszet mr nem a hozzfrsi hlzat, hanem a megosztott adatkapcsolat a hlzat belsejben, amely csak 500 kb/s-os tbocstkpessget biztost minden letltshez, gy a vgpontok kztti tbocstkpessg minden letltsnl lecskken 500 kb/s-ra. Az 1.15. s az 1.16. (a) brn lthat pldk mutatjk, hogy az tbocstkpessg azon adatkapcsolatok tviteli sebessgtl fgg, amelyeken keresztl az adatot tovbbtjk. Lttuk, hogy ha kzben nincs ms forgalom, akkor az tbocstkpessg egyszeren kzelthet a forrs s a cl kztti tvonal

62

1. A SZMTGP-HLZATOK S AZ INTERNET

legkisebb tviteli sebessgvel. Az 1.16. (b) brn ltha t plda azt mutatja, hogy ltalnossgban az tbocstkpessg nem csak az tvonalon lv adatkapcsolatok tviteli sebessgeitl fgg, hanem az egyidej forgalomtl is. Egy nagy tviteli sebessg adatkapcsolat is lehet a szk keresztmetszet adatkapcsolat egy fjltvitelnl, fleg ha sok ms adatfolyam is azon halad t. A szmtgp-hlzatokban az tbocstkpessget kzelebbrl a krdsekben s a feladatokban, illetve a kvetkez fejezetekben vizsgljuk meg.

1.13. bra. A karavn hasonlat

1.4. KSLELTETS, VESZTESG F.S TBOCSTKPESSG CSOMAGKAPCSOLT HLZATOKBAN! (a)

63

Szerver

10 szerver

keresztmetszet adatkapcsolat

Kliens

10 kliens

1.16. bra. Vgpontok kztti tbocstkpessg: (a) A kliens letlt egy fjlt a szerverrl;
(b) Tz kliens letlt tz szerverrl

1.5. Protokollrtegek s szolglati modelljeik


Az eddig trgyaltak alapjn nyilvnval, hogy az internet egy rendkvl bonyolult rendszer. Lttuk, hogy az internet sok rszbl pl fel: szmos alkalmazsbl s protokollbl, klnbz fajta vgrendszerekbl, csomagkapcsolkbl s klnbz fajta adatkapcsolati tviteli kzegekbl. Hmellett a rendkvli bonyolultsg mellett van-e remny egy hlzati architektra szervezsre, vagy legalbb a hlzati architektra megtrgyalsra? Szerencsre mindkt krdsre a vlasz igen.

1.5.1. Rtegezett architektra


Mieltt megprblnnk az internet architektrjrl alkotott gondolatainkat rendezni, keressnk egy emberi hasonlatot. A mindennapi letben folyton sszetett rendszerekkel foglalkozunk. Kpzeljk el, hogy valaki megkr arra, hogy rjuk le pldul a lgi kzlekeds rendszert. Hogyan tallnnk meg ennek az sszetett rendszernek a lersra szolgl struktrt, amelynek jegyirodi, csomagellenrzi, biztonsgi szemlyzete, pilti, replgpei, lgiforgalomirnytsa s egy a replk tvonalnak kijellsre szolgl vilg mret hlzata van. A rendszer lersra az egyik lehetsg az lehetne, ha lernnk a l-

1.4. KSLELTETS, VESZTESG F.S TBOCSTKPESSG CSOMAGKAPCSOLT HLZATOKBAN!

64

psck sorozatt, amelyet akkor tesznk (vagy tesznek meg helyettnk), amikor egy jraton replnk. Megvesszk a jegynket, ellenrizzk a csomagjainkat, elmegynk a kapuhoz, s vgl beszllunk a gpbe. A gp felszll, s a clllomshoz irnytjk. Miutn a replnk leszllt, kiszllunk a kapunl, s tvesszk a csomagjainkat. Ha valami gond volt az ton, panaszt nyjthatunk be a jegyirodnl (s az erfesztsnkrt cserbe nem kapunk semmit). Ezt a forgatknyvet az 1.17. bra mutatja be.

Jegy (vsrls) Csomag (ellenrzs) Kapuk (beszlls) Felszlls a kifutplyn Replgp forgalomirnytsa Replgp forgalomirnytsa

Jegy (panasz

benyjtsa)

Csomag (tvtel) Kapuk (kiszlls) Leszlls a kifutplyn Replgp forgalomirnytsa

1.17. bra. Egy replt sorn felmerl feladatok


Mris ltunk nhny hasonlsgot a szmtgp-hlzatokkal. Egy lgitrsasg szllt minket a kiindul llomstl a clllomsig; egy csomagot a forrshoszttl a clhosztig az internet szlltja. Ez azonban nem egszen az az analgia, amit keresnk. Az 1.17. brn valamilyen struktrt keresnk. Az brra rnzve szrevehetjk, hogy mindkt vgn van egy jeggyel kapcsolatos feladat, van egy csomagokkal kapcsolatos feladat is a jeggyel mr rendelkez utasoknak, s egy kapukhoz kapcsold feladat a jeggyel mr rendelkez, s csomagjukat feladott utasoknak. Az utasoknak, akik tjutottak a kapun (azaz, akiknek mr van jegye, ellenriztk a csomagjukat s tmentek a kapun), van egy felszlls, s egy leszlls feladat, s mikzben a levegben vannak, egy replgpforgalomirnytsi feladat is. Ez azt sugallja, hogy az 1.17. brn lv feladatokat vzszintesen is feloszthatjuk, ahogyan azt az 1.18. bra is mutatja. Az 1.18. bra rtegekre osztotta a lgikzlekedsi feladatokat, olyan keretrendszert nyjtva, amelyben megtrgyalhatjuk a replgpen trtn utazst. Vegyk szre, hogy minden rteg az alatta lvkkel valamilyen funkcionalitst, egy bizonyos szolgltatst valst meg. A jeggyel kapcsolatos rteg (az ez alatti rtegekkel egytt) egy szemlynek a repltri jegyirodtl repltri jegyirodig trtn szlltst valstja meg. A csoma gok szintjn (az ez alatti rtegekkel egytt) egy szemlynek s a csomagoknak a szllt sa trtnik meg a csomagellenrzstl a csomagtvtelig. Vegyk szre, hogy a csomag rteg csak azoknak nyjtja ezt a szolgltatst, akiknek mr van jegyk. A kapu rteg egy szemlynek s a csomagoknak az indulsi kaputl az rkezsi kapuig trtn szlltst oldja meg. A felszlls/leszlls rteg az emberek s csomagok kifuttl kifutig trtn eljuttatst biztostja. Minden rteg gy biztostja az ltala nyjtott szolgltatst, hogy (1) bizonyos lpseket tesz azon a rtegen bell (pldul a

1.4. KSLELTETS, VESZTESG F.S TBOCSTKPESSG CSOMAGKAPCSOLT HLZATOKBAN!

65

kapu rtegnl az emberek be/ kiszlltsa egy replgpbe/replgpbl), s hogy a kzvetlenl alatta lv rteg szolgl-

66
Jegy (vsrls) Csomag (ellenrzs) Kapuk (beszlls) Felszlls a kifutplyn Replgp Jegy (panasz benyjtsa) forgalomirnytsa

1. A szmtgp-hlzatok s az in ternet
Csomag (tvtel)

Indul repltr

Jegy
Kapuk (kiszlls) Leszlls a kifutplyn Replgp forgalomirnytsa

Csomag Kapu Felszlls/ leszlls Replgp forgalomirnytsa

Fogad repltr

Replgp forgalomirnytsa

Replgp forgalomirnytsa

Lgikzlekedsi irnyt kzpontok

1.18. bra. Lgikzlekedsi feladatok vszintes rtegezse


tatsait hasznlja (pldul a kapu rteg hasznlja a felszlls/leszlls rtegnek az utasok kifuttl kifutig trtn szlltsi szolgltatst). A rtegzett architektra lehetv teszi, hogy egy bonyolult rendszer jl meghatrozott, konkrt rszt trgyaljuk. Ez az egyszersts azltal, hogy modularitst tesz lehetv, nmagban is rendkvl rtkes, s nagymrtkben megknnyti egy rteg ltal nyjtott szolgltats megvalstsnak megvltoztatst. Mindaddig, amg a rteg ugyanazt a szol gltatst nyjtja a felette lv rtegnek, s az alatta lv rteg ugyanazon szolgltatsait hasznlja, a rendszer tbbi rsze vltozatlan marad, ha a rteg megvalstst megvltoz tatjk. (Vegyk szre, hogy egy szolgltats megvalstsnak megvltoztatsa nagyban klnbzik magnak a szolgltatsnak a megvltoztatstl!) Pldul ha a kapunl elfordul feladatokat megvltoztatnnk (pldul az embereket a magassg szerint szlltannk be s engednnk ki), a lgi kzlekedsi rendszer tbbi rsze vltozatlan maradna, mivel a kapu-rteg mg mindig ugyanazt a feladatot ltja el (emberek beszlltsa s kiengedse); a vltoztats utn egyszeren mskppen valstja meg ugyanazt a feladatot. Nagy s sz- szetett rendszereknl, amelyeket mindig korszerstenek, a rtegzettsg egyik fontos el nye, hogy egy szolgltats megvalstsa megvltoztathat anlkl, hogy ez befolysoln a rendszer tbbi sszetevjt.

Protokollrctegzettsg
Elg is ennyi a repljratokbl. Fordtsuk a figyelmnket a hlzati protokollok fel. A hlzatok tervezi ahhoz, hogy struktrt biztostsanak a hlzati protokollok tervezshez, a protokollokat - s a protokollokat megvalst hlzati hardvert s szoftvert - rtegekbe (layers) rendezik. Minden protokoll valamelyik rteghez tartozik, mint ahogy a replgpes pldban minden funkci egy rteghez tartozik az 1.18. brn. jra azok a szolgltatsok (services) rdekelnek bennnket, amelyeket egy rteg a felette lvnek biztost - vagyis egy rteg n. szolglati modellje (service model). ppgy, mint a repl jratos esetben, minden rteg gy biztostja a szolgltatsait, hogy (1) bizonyos lpseket tesz az adott

1.4. KSLELTETS, VESZ I USG S TBOCSTKPESSG CSOMAGKAPCSOLT HLZATOKBAN

67

rtegen bell, s (2) hogy a kzvetlenl alatta lv rteg szolgltatsait igny be veszi. Pldul az n. rteg ltal nyjtott szolgltatsok magukban foglalhatjk az zenetek megbzhat kzbestst a hlzat egyik vgpontjtl egy msikig. Ez megvalsthat egy (n - 1). rteg nem megbzhat kt vgpont kztti zenetkzbestsi szolgltatsnak

hasznlatval, s egy n. rtegbeli tevkenysg hozzadsval, amely szleli, ha elveszett egy zenet, s jbl elkldi azt. Egy protokoll rteg megvalsthat szoftveresen, hardveresen s a kett kombincijval. Az alkalmazsi rteg protokolljait - mint pldul a HTTP s az SMTP - majdnem mindig szoftveresen valstjk meg a vgrendszerekben; ugyangy a szlltsi rteg protokolljait is. Mivel a fizikai rteg s az adatkapcsolati rteg egy bizonyos adatkapcsolat fltti kommunikci kezelsrt felels, jellemzen egy adott adatkapcsolathoz tartoz hlzati csatolkrtyn vannak megvalstva (pldul Ethernet- vagy WiFi-csatolkrtyk). A h lzati rteg gyakran kevert hardver s szoftver megvalsts. Vegyk szre, hogy ppgy, mint ahogy a rtegzett lgi kzlekedsi architektra feladatai el voltak osztva a rendszert felpt klnbz replterek s lgi irnyt kzpontok kztt, egy n. rtegbeli protokoll is elosztott a hlzatot alkot vgrendszerek, csomagkapcsolk s ms sszetevk kztt. Azaz, gyakran minden egyes ilyen hlzati sszetevben van egy n. rtegbeli protokoll. A protokoll rtegzettsgnek koncepcionlis s strukturlis elnyei is vannak. Amint lttuk, a rtegzettsg lehetv teszi a rendszer sszetevinek strukturlt trgyalsi mdjt. A modularits megknnyti a rendszer sszetevinek korszerstst. Megemltjk azonban, hogy nhny kutat s hlzatokkal foglalkoz mrnk hevesen ellenzi a rtegzettsget [Wakeman 1992]. A rtegzettsg egyik lehetsges htrnya, hogy egy adott rteg megism telheti az alatta lv rteg feladatait. Pldul szmos protokollkszlet biztost hibajavtst adatkapcsolati szinten is s szlltsi szinten is. Egy msik lehetsges htrny, hogy az egyik rtegbeli feladatnak olyan informcira lehet szksge (mint pldul egy idblyeg rtke), amellyel csak egy msik rteg rendelkezik; ez megsrti a rtegek elklntsnek elvt. Az egszet egytt tekintve, a klnbz rtegek protokolljait protokollkszletnek (protocol stack) nevezzk. Az internet protokollkszlete t rtegbl ll: fizikai, adatkapcsolati, hlzati, szlltsi s alkalmazsi rteg, ahogyan az 1.19. (a) bra is mutatja. Ha e knyv tartalomjegyzkt megvizsgljuk, lthatjuk, hogy a knyvet az internet protokollkszletnek rtegeit felhasznlva szerveztk. Fentrl lefel trtn megkzeltst (top-down approach) alkalmazunk, elszr az alkalmazsi rteget trgyaljuk, s innen haladunk lefel.
Alkamazsi Szlltsi

Alkalmazsi Megjelentsi Viszony Szlltsi


Hlzati Hlzati Adatkapcsolati Fizikai

Adatkapcsolati Fizikai

(a) Az trteg internetprotokoll kszlet

(b) A htrteg ISO OSI hivatkozsi modell

1.5. PROTOKOLLRITEGEK S SZOLGLATI MODELLJEIK

69

Alkalmazsi rteg
Az alkalmazsi rteg az, amelyben a hlzati alkalmazsok s az alkalmazsi rtegbeli protokolljaik helyezkednek el. Az internet alkalmazsi rtege szmos protokollt foglal magban, mint pldul a HTTP (amely weboldalak lekrst s tvitelt vgzi), az SMTP (amely az elektronikus levelek tvitelt ltja el) s az FTP (amely kt vgrendszer kztt fjltvitelt biztost). Ltni fogjuk, hogy bizonyos hlzati funkcik, mint pldul az internet vgrendszerek www.ietf.org-hoz hasonl emberbart neveinek 32-bites hlzati cmekre trtn fordtst szintn egy bizonyos alkalmazsi rtegbeli protokoll, neveze tesen a krzet nvkezel rendszer (domain name system, DNS) segtsgvel vgzik. A 2. fe jezetben ltni fogjuk, hogy egy j, sajt alkalmazsi rtegbeli protokollt rendkvl knny megalkotni s hadrendbe lltani. Egy alkalmazsi rtegbeli protokoll tbb vgrendszer kztt van elosztva, ahol az egyik vgrendszeren fut alkalmazs a protokoll segtsgvel cserl informcicsomagokat egy msik vgrendszeren fut alkalmazssal. Erre az informcicsomagra az alkalmazsi rtegben zenetknt (message) fogunk hivatkozni.

Szlltsi rteg
Az internet szlltsi rtege vgzi az alkalmazsi rteg zeneteinek szlltst az alkalmazsi vgpontok kztt. Az internetben kt szlltsi protokoll van, a TCP s az UDP, s mindkett szllthat alkalmazsi rtegbeli zeneteket. A TCP sszekttets alap szolgltatst nyjt alkalmazsainak. Ez a szolgltats magban foglalja az alkalmazsi rtegbeli zenetek garantlt clbajuttatst s a forgalomszablyozst (azaz a kld s a fogad kztti sebessgegyeztetsi). A TCP a hossz zeneteket fel is darabolja rvidebb szeg mensekk, s torldskezel mechanizmust is biztost, gy a forrs cskkenti az tvite li sebessgt, ha a hlzaton torlds lp fel. Az UDP sszekttets nlkli szolgltatst biztost az alkalmazsainak. Ez egy nagyon egyszer szolgltats, amely nem biztost sem megbzhatsgot, sem forgalomszablyozst, sem torldskezelst. Ebben a knyvben a szlltsi rtegbeli csomagokat szegmenseknek (segment) hvjuk.

Hlzati rteg
Az internet hlzati rtege felels a hlzati rteg datagramoknak nevezett csomagjainak kt hoszt kztt trtn mozgatsrt. Az internet szlltsi rtegbeli protokollja (TCP vagy UDP) egy forrshoszton egy szlltsi rtegbeli szegmenst s egy clcmet ad t a hlzati rtegnek ppgy, mint ahogyan a postaszolglatnak odaadunk egy a cmzett cmt tartalmaz levelet. A hlzati rteg ezutn azt a szolgltatst biztostja, hogy kzbesti a szegmenst a clhoszton lv szlltsi rtegnek. Az internet hlzati rtegbe beletartozik az nnepelt IP, amely meghatrozza a datagram mezit s azt, hogy a vgrendszerek s az tvlasztk hogyan kezeljk ezeket a mezket. Csak egyetlen IP protokoll van, s minden, hlzati rteggel rendelkez internet-sszetevnek az IP-t kell hasznlnia. Az internet hlzati rtege tartalmaz az tvlasztsnl hasznlt

protokollokat is, amelyek a datagramok tvonalait hatrozzk meg a forrs s a cl kztt. Az internet szmos tvlaszt proto kollal rendelkezik. Amint azt az 1.3. alfeiezetben is lttuk, az internet hlzatok hlzata,
r

s egy hlzaton bell a hlzat adminisztrtora olyan tvlaszt protokollt hasznlhat, amilyet akar. Br a hlzati rteg mind az IP-t, mind szmos tvlasztsi protokollt tartalmaz, ltalban egyszeren csak IP-rtegknt hivatkoznak r, amely azt a tnyt tkrzi, hogy az IP tartja ssze az internetet.

Adatkapcsolati rteg
Az internet hlzati rtege egy datagramot tvlasztk sorozatn keresztl irnyt a forrstl a clig. Ahhoz, hogy egy csomag az tvonalon egyik csomponttl (hoszt vagy tvlaszt) a kvetkezig eljusson, a hlzati rteg az adatkapcsolati rteg szolgltatsait veszi ignybe. Minden csompontnl a hlzati rteg tadja a datagramot az adatkapcsolati rtegnek, amely azt tovbbtja az tvonalon kvetkez csompontig. Ennl a kvetkez csompontnl az adatkapcsolati rteg feladja a datagramot a hlzati rtegnek. Az adatkapcsolati rteg szolgltatsai az adatkapcsolaton hasznlt konkrt adatkapcsolati protokolltl fggenek. Pldul nhny adatkapcsolati protokoll az adatkapcsolaton a kld csomponttl a fogad csompontig megbzhat kzbestst biztost. Jegyezzk meg, hogy ez a megbzhat kzbests klnbzik a TCP megbzhat kzbeststl, amely vgrendszerek kztti megbzhatsgot biztost. Az adatkapcsolati protokollra plda lehet az Ethernet, a VViFi s a ktpontos protokoll (point-to-point protocol, PPP). Mivel a datagramoknak szmos adatkapcsolaton keresztl kell haladniuk a forrstl a clig, egy datagramot az tvonalon a klnbz adatkapcsolatoknl klnbz adatkapcsolati protokollok kezelhetnek. Pldul egy datagramot az egyik adatkapcsolaton tovbbthat Ethernet, egy msikon pedig PPP. A hlzati rteg klnbz szolgltatsokat kap az egyes adatkapcsolati protokolloktl. Ebben a knyvben az adatkapcsolati csomagokat kereteknek (frame) nevezzk.

Fizikai rteg
Mg az adatkapcsolati rteg feladata az, hogy egsz kereteket tovbbtson az egyik hlzati elemtl a mellette lvig, a fizikai rteg feladata a kereten belli egyes bitek tovbbtsa az egyik csomponttl a kvetkezig. A protokollok ebben a rtegben is fggenek az adatkapcsolattl, tovbb az adatkapcsolat aktulis tviteli kzegtl (pldul rz sodrott rpr, egymdus fnyvezet szl). Pldul az Ethernet szmos fizikai rtegbeli protokollal rendelkezik: egy protokoll a rz sodrott rprhoz, egy msik protokoll a koaxilis kbel hez, egy harmadik protokoll pedig a fnyvezet szlhoz stb. Minden esetben biteteket kell tovbbtani az adatkapcsolaton, de ms-ms mdszerrel.

OSl-modell
Miutn rszletesen megtrgyaltuk az internet protokollkszlett, meg kell emltennk, hogy nem csak ez az egy protokollkszlet ltezik. Az 1970-es vek vge fel, a Nemzetkzi Szabvnygyi Szervezet (International Organization fr

Standardization, ISO) indtvnyozta, hogy a szmtgp-hlzatokat ht rteg kr rendezzk, amelyet nylt rendszerek sszekapcsolsra ltrehozott modellnek (Open Systems Interconnection, OSI) neveztek. Az OSl-modell akkor alakult ki, amikor azok a protokollok, amelyek ksbb az inter net protokolljai lettek, mg gyerekcipben jrtak, s nem emelkedtek ki a sok klnbz, fejleszts alatt ll protokollkszlet kzl; valsznleg az eredeti OSl-modell feltalli valjban nem gondoltak az internetre, amikor megalkottk. Ennek ellenre az 1970-es vek vgn sok tanfolyam s egyetemi eladssorozat ltkrbe kerlt az ISO ajnls, s a htrteg modellrl szmos eladst szerveztek. A htrteg modell a hlzatok oktatsra tett korai hatsa miatt tovbb l nhny hlzatokkal kapcsolatos tanknyvben s kurzusban. Az OSI hivatkozsi modell ht szintjt az 1.19. (b) bra mutatja, amelyek a kvetkezk: alkalmazsi rteg megjelentsi rteg, viszonyrteg, szlltsi rteg, hlzati rteg, adat- kapcsolati rteg s a fizikai rteg. Ezek kzl t rteg mkdse ugyanaz, mint a hasonl nev megfelelik az internetben. Ezrt csak az OSI hivatkozsi modell kt tovbbi rtegt - a megjelentsi rteget s a viszony rteget nzzk meg. A megjelentsi rteg szerepe az, hogy olyan szolgltatsokat nyjtson, amelyek a kommunikcis alkalmazsoknak lehe tv teszik a kicserlt zenetek rtelmezst. Ezek a szolgltatsok magukban foglaljk az adattmrtst s a titkostst (ezek magtl rtetdk), valamint az adatok lerst (amely, ahogy azt a 9. fejezetben is ltni fogjuk, megkmli az alkalmazsokat attl, hogy az adatok bels brzolsi/trolsi formtumval bajldjanak - olyan formtumokkal, amelyek gprl gpre vltozhatnak). A viszonyrteg gondoskodik az adatcsere tagolsrl s szinkronizlsrl, belertve az ellenrzpont s a helyrelltsi sma ltrehozsra irnyul intzkedseket. A tny, hogy az OSI hivatkozsi modell kt rtege nincs jelen az internetben, egy sor rdekes krdst vet fel: Ezen rtegek szolgltatsai nem fontosak? Mi van, ha egy alkalmazsnak szksge van egy ilyen szolgltatsra? Az internet vlasza mindkt krdsre ugyanaz - az alkalmazs fejlesztjtl fgg. Az alkalmazs fejlesztjnek kell eldntenie, hogy egy szolgltats fontos-e, s ha a szolgltats fontos, akkor azt az alkalmazs fejlesztjnek kell megvalstania a programban.

1.5.2. zenetek, szegmensek, csomagok s keretek


Az 1.20. bra mutatja a fizikai tvonalat, amelyen az adat halad lefel egy kld vgrendszer protokollkszletn, majd flfel s lefel a kzbls, az adatkapcsolati rtegben mkd kapcsolk s a hlzati rtegben mkd tvlasztk protokollkszletein, majd felfel a fogad vgrendszer protokollkszletn. Amint azt a knyvben ksbb megtrgyaljuk, az tvlasztk s az adatkapcsolati rtegben mkd kapcsolk mind csomagkapcsolk. Hasonlan a vgrendszerekhez, az tvlasztk s a kapcsolk hlzati hardverei s szoft verei rtegekbe rendezettek. Az tvlasztk s a kapcsolk azonban nem valstjk meg a protokollkszlet sszes rtegt, hanem csak az alsbb rtegeket. Ahogyan az 1.20. bra is mutatja, a kapcsolk az 1. s a 2. rteget, az tvlasztk pedig az 1., a 2. s a 3. rteget valstjk meg. Ez azt jelenti pldul, hogy az internet tvlaszti kpesek megrteni az IP protokollt (egy 3. rtegbeli protokollt), mg a kapcsolk nem. Ksbb ltni fogjuk, hogy a kapcsolk nem ismerik fel az IPcmeket, viszont kpesek felismerni 2. rtegbeli cmeket, mint pldul az Ethernet-

cmeket. Jegyezzk meg, hogy a hosztok mind az t rteget meg valstjk; ez sszhangban van azzal a nzettel, hogy az internet-architektra legbonyolul tabb rsze a hlzat szln van. Az 1.20. bra egy fontos koncepcit is bemutat, ez pedig a begyazs (encapsulation). A kld hoszt egy alkalmazsi zenetet (application layer message) (az 1.20. brn M) tovbbt a szlltsi rtegnek. A legegyszerbb esetben a szlltsi rteg veszi az zenetet, hozzad tovbbi informcit (az n. szlltsi fejrsz informcit, az 1.20. brn H t ), amelyeket a fogad oldal szlltsi rtege fog hasznlni. Az alkalmazsi zenetek s a szlltsi rteg fejrsze egytt alkotja a szlltsi szegmenst (transport-layer segment). Az alkalmazsi zenet gy begyazdik a szlltsi szegmensbe. A hozzadott fejrsz tartalmazhat

Forrs
M M M M Alkalmazsi Szlltsi Hlzati Adatkapcsolati Fizikai

H, Hn Ht M

Adatkapcsolati Fizikai

H| Hn Ht M

Adatkapcsolati kapcsol

M H, Hn Ht H| Hn H, M M M

Alkalmazsi Szlltsi Hlzati Adatkapcsolati Fizikai Hn Ht M H, Hn Ht M Hlzati Adatkapcsolati Fizikai


Hn Ht M H, Hn Ht M

C l

tvlaszt

1.20. bra. Hosztok, tvlasztk s kapcsolk; mindegyik klnbz rtegkszletet


tartalmaz, amely a funkcionlis klnbsgket tkrzi olyan informcit, amely lehetv teszi a fogad oldal szlltsi rtegnek, hogy kzbestse az zenetet a megfelel alkalmazsnak, tovbb hiba jelz biteket, amelyek lehetv teszik a fogad oldal szmra, hogy megllaptsa, hogy az zenet bitjei megvltoztak-e az t sorn. A szlltsi rteg ezutn tadja a szegmenst a hlzati rtegnek, amely olyan hlzati fejrsz informcit ad hozz (az 1.20. brn HJ, mint a forrs s cl vgrendsze rek cmei, s gy elll a hlzati datagram (network-layer datagram). A datagramot ezutn tadja az adatkapcsolati rtegnek, amely (termszetesen!) hozzadja a sajt adat- kapcsolati fejrsz informcijt, s gy elll az adatkapcsolati keret (link-layer frame). gy azt ltjuk, hogy minden rtegnl a csomagnak ktfajta mezje van: a fejrszmez s az adatmez (payload field). Az adatmez (vagy felhasznli adatok mezje) ltalban a felsbb rtegbl rkezett csomag. Egy idevg hasonlat lehet az, amikor egy vllalat kt fikirodja kztt egy

emlkeztett kldenek a nyilvnos postai szolgltats segtsgvel. Tegyk tel, hogy Alice, aki az egyik fikirodban dolgozik, t akar kldeni egy emlkeztett Bobnak, aki a msik fikirodban dolgozik. Ez az emlkeztet hasonl az alkalmazsi rteg zenethez. Alice beteszi az emlkeztett egy bels hasznlat bortkba, amelyre Bob nevt s rszleget rja. A bortk hasonl a szlltsi szegmenshez - fejrsz informcit tartalmaz (Bob neve s a rszleg szma), s ebbe van begyazva az alkalmazsi rteg zenete (az emlkeztet). Amikor a bortkot elkldik, a fikiroda postaszobjba kerl, majd berakjk mg egy bortkba, amely alkalmas arra, hogy a nyilvnos postai szolgltatson keresztl tovbbtsk. A kld postaszoba a postai bortkra rrja a kld s a fogad fikiroda postai

cmt. Itt, a postai bortk hasonl a datagramhoz - ebbe van begyazva a szlltsi szegmens (a bels hasznlat bortk), amelybe az eredeti zenet (az emlkeztet) van begyazva. A postaszolglat kzbesti a postai bortkot a cmzett fikiroda postaszobjnak s megkezddik a bortkok felbontsa. A postaszoba kiveszi a bels hasznlat bortkot, majd tovbbtja Bobnak. Vgl Bob felnyitja a bels hasznlat bortkot s kiveszi belle az emlkeztett. A begyazs folyamata sokkal sszetettebb lehet, mint ahogyan az elzekben lertuk. Pldul egy nagy zenetet tbb szlltsi szegmensre oszthatnak (amelyeket tbb hlzati datagramra darabolhatnak tovbb). A fogad oldalon az ilyen szegmenset ssze kell rakni az azt hordoz datagramokbl.

1.6. Tmadsok a hlzatok ellen


Szmos szervezet, kztk kis- s nagyvllalatok, egyetemek s llami szervek szmra az internet ltfontossgv vlt. Sok magnszemly is kzvett eszkzknt hasznlja az internetet sokfle szakmai, kzssgi s szemlyes tevkenysg elvgzsben. Annak ellenre azonban, hogy az internet mennyi mindenre hasznlhat s mennyire izgalmas, ltezik egy stt oldal, ahol a rosszakark nagy puszttst prblnak meg vghezvinni a mindennapi letnkben gy, hogy krt tesznek az internethez csatlakoztatott szmt gpeinkben, megsrtik a magnszfrnkat, s hasznlhatatlann teszik az internet szolgltatsait, amelyektl fggnk [Skoudis 2006]. A hlzati biztonsg terlete azzal foglalkozik, hogyan tmadhatjk meg a rosszakark a szmitgpes hlzatokat, s hogyan tudjuk mi, akik hamarosan a szmtgp-hl- zatok szakrti lesznk, megvdeni a hlzatokat a tmadsoktl, vagy mg inkbb, elssorban hogyan tudunk olyan j architektrkat kszteni, amelyek vdettek ezekkel a tmadsokkal szemben. A ltez tmadsok gyakorisga s sokflesge, valamint a jv j s mg krtkonyabb tmadsai miatt az elmlt vekben a hlzati biztonsg a sz mtgp-hlzatok terletnek kzponti tmja lett. E knyv negyedik kiadsnak egyik jellemzje, hogy a hlzati biztonsg krdseit eltrbe helyezi. A hlzati biztonsg bevezetst ebben a fejezetben kezdjk, ahol rviden lerunk nhnyat a mai internet legelterjedtebb s legkrtkonyabb tmadsai kzl. Ezutn, amikor a kvetkez fejezetekben a klnbz szmtgp-hlzati megoldsokat s protokollokat rszletesebben trgyaljuk, fontolra vesszk a klnbz biztonsgi krdseket, amelyek ezekhez a megoldsokhoz s protokollokhoz kapcsoldnak. Vgl a 8. fejezetben a szmtgp-hlzatok s az inter- netprotokollok tern jonnan szerzett szakrtelmnkkel felvrtezve alaposan tanulm nyozzuk, hogyan vdhetk meg a szmtgp-hlzatok a tmadsokkal szemben, vagy mindenekeltt hogyan tervezhetek s zemeltethetek gy, hogy az ilyen tmadsokat ellehetetlentsk. Mivel mg nincs szakrtelmnk a szmtgp-hlzatok s az internetprotokollok terletn, itt azzal kezdjk, hogy ttekintnk nhnyat a ma leggyakoribb biztonsgi problmk kzl, ezzel felkeltve az rdekldst a tovbbi fejezetek alaposabb trgyalsaihoz. gy azzal kezdjk, hogy feltesszk a krdst: mi romolhat el? Hogyan sebezhetk a szmtgp-hlzatok? Mik ma a leggyakoribb

tmadsok?

A rosszakark krtkony programokat telepthetnek a szmtgpre az interneten keresztl


Azrt csatlakoztatjuk a szmtgpnket az internetre, mert adatokat akarunk kldeni/ fogadni az internet fel/fell. Ez szmos hasznos dolgot foglalhat magban, pldul weblapok, e-mail zenetek, MP3-fjlok, telefonhvsok, l vide, keresgpek keressi eredmnyei stb. Sajnos azonban ezekkel egytt jrnak krtkony dolgok is - gyjtnven krtkony programok (mahvare) amelyek bekerlhetnek eszkzeinkbe, s megfertzhetik azokat. Ha egyszer egy krtkony program megfertzi az egyik eszkznket, mindenfle krmnfont dolgot vgrehajthat, belertve azt is, hogy letrli a fjljainkat, kmprogramot telept, amely olyan szemlyes informcikat gyjt, mint pldul a trsadalombiztostsi azonost szmunk, jelszavaink s billentyzet-letseink, majd visszakldi ezeket (termszetesen az interneten!) a rosszakarknak. A megfertztt szmtgpnk csatlakozhat tbb ezer hasonlan fertztt eszkz hlzathoz, amelyet botnetnek, tvolrl irnytott fertztt hlzatnak neveznk, s rosszakark tartjk ellenrzsk alatt kretlen e-mail (spam) terjesztshez, vagy clba vett hosztok elleni elosztott szolgltatsmegtagads tpus tmadsokhoz (distributed denialof-service attack, amelyet hamarosan trgyalunk). A ma aktv krtkony programok kzl sok az nmagt msol (self-replicating): ha megfertztt egy hosztot, akkor onnan keres behatolsi pontot ms hosztokra az interneten keresztl, s az jonnan megfertztt hosztokrl pedig tovbbi hosztokat vesz clba, gy az nmagt msol krtkony program exponencilis sebessggel terjedhet. Pldul a Saphire/Slammer freg ltal megfertztt gpek szma 2003-ban 8,5 msodpercenknt megduplzdott a jrvny kitrse utni nhny percben, ezzel 10 percen bell megfertzve a srlkeny hosztok 90 szzalkt [Moore 2003). A krtkony programok vrus, freg vagy trjai fal formban terjedhetnek [Skoudis 2004). A vrusok olyan krtkony programok, amelyeknek a felhasznl gpnek megfertzshez bizonyos felhasznli segtsgre is szksge van. A klasszikus plda egy e-mail csatolmny, amely krtkony vgrehajthat kdot tartalmaz. Ha a felhasznl kap egy ilyen csatolmnyt s megnyitja, akkor nem szndkosan, de lefuttatja a krtkony programot az eszkzn. Az ilyen e-mail vrusok jellemzen nreproduklak: ha egyszer lefuttatjk, a vrus elkldhet egy ugyanolyan levelet ugyanazzal a krtkony csatolmnnyal, pldul a felhasznl cmlistjban tallhat sszes cmre. A frgek (worms) (mint pldul a Slammer-freg) olyan krtkony programok, amelyek minden felhasznli segtsg nlkl hatolhatnak be egy eszkzre. Pldul egy felhasznl futtathat egy olyan srlkeny hlzati alkalmazst, amelynek a tmad krtkony kdot kldhet. Az alkalmazs nhny esetben mindenfle felhasznli kzremkds nlkl megkaphatja a krtkony kdot az internetrl, lefuttathatja azt, gy ltrehozva egy frget. Az jonnan megfertztt eszkzn lv freg ezutn az inter neten kutat ms hosztok utn, amelyek hasonl, a tmadssal szemben srlkeny hl zati alkalmazst futtatnak. Vgl, a Trjai fal programok olyan krtkony programok, amelyek rejtett rszei egy egybknt hasznos alkalmazsnak. Ma a krtkony programok szles krben elterjedtek, s rendkvl nagy anyagi krt okoznak. Pldul becslsek szerint csak a vrusok ltal okozott anyagi kr tbb mint 14 millird dollr volt 2005-ben [Malware 2006]. Ahogy haladunk a knyvben, rdemes elgondolkozni az albbi krdsen: Mit tehetnek a szmtgp-hlzatok tervezi,

hogy megvdjk az internetre csatlakoztatott eszkzket a krtkony programok tmadsaitl?

A rosszakark megtmadhatjk a szervereket s a hlzati infrastruktrt

A biztonsgi fenyegetsek egy nagy csoportjt a szolgltatsmegtagadsi tmadsok (denial-of-service, DoS) kpezik. Ahogy a nv is sugallja, egy DoStmads trvnyes felhasznlk szmra tesz hasznlhatatlann egy hlzatot, hosztot vagy ms rszt az infrastruktrban. Webszervcrek, e-mail szerverek, DNSszcrverek (amelyeket a 2. fejezetben trgyalunk) s intzmnyi hlzatok mind lehetnek DoS-tmadsok clpontjai. Az internetes DoS-tmadsok rendkvl gyakoriak, minden vben tbb ezer DoS-tmads trtnik [Moore 2001; Mirkovic 2005]. A legtbb DoS-tmads besorolhat az albbi hrom kategria kzl valamelyikbe: Sebezhet pontok tmadsa. Ennl a tmadsnl cseles zeneteket kldenek a clba vett hoszt egy sebezhet alkalmazsnak vagy opercis rendszernek. Ha a csomagokat j sorrendben kldik egy vdelemmel nem rendelkez, srlkeny alkalmazsnak vagy opercis rendszernek, a szolgltats, vagy ami mg rosszabb, a hoszt lellhat. Svszlessg-elraszts. A tmad csomagok radatt kldi a clba vett hosztnak - olyan sok csomagot, hogy eldugtja a cl hozzfrsi adatkapcsolatt, s megakadlyozza, hogy a rendes csomagok elrjk a szervert. sszekttets-elraszts. A tmad nagy szm, flig vagy teljesen megnyitott TCP-sszekttetst hoz ltre a clhoszttal (a TCP-sszekttetseket a 3. fejezetben trgyaljuk). Lehetsges, hogy a hoszt annyira cl lesz foglalva ezekkel a hamis sszekttetsekkel, hogy nem tudja fogadni a rendes sszekttets-krseket. Vizsgljuk meg a svszlessg-elrasztsos tmadst rszletesebben. Felidzve a ksleltets s a csomagveszts trgyalst az 1.4.2. alfejezetbl, nyilvnval, hogy ha a szerver R b/s hozzfrsi sebessggel rendelkezik, akkor a tmadnak krlbell R b/s sebessggel kell adatot kldenie, hogy krt okozzon. Ha R nagyon nagy, akkor lehet, hogy a tmadsnl egyetlen forrs nem kpes elg forgalmat ellltani ahhoz, hogy krt okozzon a szerverben. St, ha az sszes forgalom egy forrstl szrmazik, akkor egy hosztot megelz tvlaszt szreveheti a tmadst, s mg akkor letilthatja a forgalmat generl forrsrl jv sszes forgalmat, mieltt az kzel jutna a szerverhez. Egy elosztott DoS- (distributed DoS, DDoS) tmadsnl, amelyet az 1.21. bra is mutat, a tmad tbb forrst tart befolysa alatt, s minden forrssal forgalmat kldet a clhoz. Ezzel a megkzeltssel az irnytott forrsoktl rkez sszforgalom sebessgnek megkzeltleg R-nek kell lennie a szolgltats megbntshoz. A tbb ezer irnytott hosztbl ll botneteket kihasznl DDoS-t- madsok napjainkban gyakran elfordulnak [Mirkovic 2005]. A DDoS-tmadsokat sok kal nehezebb szlelni s kivdeni, mint egy egyetlen hosztrl rkez DoS-tmadst. Amint haladunk a knyvben, rdemes elgondolkozni az albbi krdsen: Mit tehetnek a szmtgp-hlzatok tervezi azrt, hogy vdekezzenek a DoStmadsokkal szemben? Ltni fogjuk, hogy a hrom klnbz fajta DoS-tmads kivdshez klnbzkppen kell vdekezni.

A rosszakark lehallgathatjk a csomagokat


Manapsg sok felhasznl vezetk nlkli eszkzkn keresztl ri el az internetet, mint a WiFi-vel csatlakoz laptopok vagy mobil internetadatkapcsolattal (amelyet a 6. fejezetben trgyalunk) rendelkez kzi kszlkek. Br a mindentt jelen lv internet-hozz-

tmads indtsa

Tmad

ldozat

1.21. bra. Elosztott szolgltatsmegtagads (DDoS) tmads


frs rendvl knyelmes, s a mozg felhasznlk szmra bmulatos, j alkalmazsokat tesz lehetv, slyos biztonsgi sebezhetsget is jelent - ha egy passzv vevt helyeznek el a vezetk nlkli ad krnykn, az kpes minden kldtt csomagot lemsolni magnak! Ezek a csomagok mindenfle rzkeny informcit tartalmazhatnak, belertve jelszavakat, trsadalombiztostsi azonostkat, zleti titkokat s szemlyes zeneteket. Azt a passzv vevt, amely minden, kzelben elhalad csomagbl rgzt egy msolati pldnyt, csomaglehallgatnak (packet sniffer) nevezzk. Csomaglehallgatkat vezetkes krnyezetben is elhelyezhetnek. Vezetkes adatszrsos krnyezetben, mint sok Ethernet LAN esetben, egy csomaglehallgat a helyi hlzaton kldtt sszes csomag msolatt megszerezheti. Ahogyan azt az 1.2. alfejezetben is lertuk, a kbeles hozzfrsi technolgik is adatszrssal tovbbtjk a csomagokat, gy srl kenyek a csomaglehallgatssal szemben. St, egy rosszakar, aki hozzfrst szerez egy szervezet internetes hozzfrsi tvlasztjhoz vagy hozzfrsi adatkapcsolathoz, egy olyan csomaglehallgatt helyezhet el, amely msolatot kszt minden csomagrl, amely a szervezethez/szervezettl rkezik. A lehallgatott csomagokat mr a hlzaton kvl is elemezhetik rtkes informcik utn kutatva. Csomaglehallgat szoftverek ingyenesen is elrhetk szmos weboldalon s kereskedelmi termkekknt is forgalmazzk ket. Ismert, hogy a hlzatokkal kapcsolatos kurzusokat tart professzorok olyan laboratriumi feladatokat adnak ki, amelyek magukban foglaljk egy olyan program rst, amely kpes csomaglehallgatsra s az alkalmazsi adatok rekonstrulsra. Mivel a csomaglehallgatk passzvak - azaz nem kldenek csomagokat a csatornra -, felfedsk nehz. gy amikor egy vezetk nlkli csatornn kldnk csomagokat, el kell fogadnunk annak a lehetsgt, hogy egy rosszakar lemsolhatja a csomagjainkat. Mint mr kitallhatta, a csomaglehallgats elleni

legjobb vdekezsek kzl nhny titkostssal mkdik. A hlzati biztonsgban alkalmazott titkostsokat a 8. fejezetben vizsgljuk meg.

A rosszakark olyannak lczhatjk magukat, akiben megbzunk


Meglepen knny tetszleges forrsimmel, csomagtartalommal s clcmmel rendelkez csomagot ellltani (hamarosan tudni fogjuk, hogyan kell ezt csinlni, ahogy haladunk tovbb a szvegben), s ezutn ezt a ravaszul sszelltott csomagot elkldeni az interneten, amely ktelessgtudan tovbbtja azt a clhoz. Kpzeljnk el egy gyantlan cmzettet (mondjuk egy internet-tvlasztt), amely kap egy ilyen csomagot, igazinak veszi a (hamis) forrscmet, majd vgrehajt valamilyen parancsot, amit a csomag tartalmba gyaztak (mondjuk mdostja a tovbbttbljt). A hamis cmekkel rendelkez csoma gok kldst az internetre IP-trkkzsnek (IP spoofing) nevezzk, s ez csak az egyik mdja annak, hogy egy felhasznl valaki msnak lczza magt. A problma megoldshoz vgponti hitelestsre (end-point authentication) van szksg, azaz egy olyan mechanizmusra, amely lehetv teszi szmunkra, hogy megbizonyosodjunk arrl, hogy az zenet valban onnan rkezik, ahonnan gondoljuk. Amint haladunk a knyvben, rdemes elgondolkozni, hogy ezt hogyan tehetjk meg a hlzati alkalmazsoknl s protokollknl. A vgponti hitelestsi mechanizmusokat a 8. fejezetben trgyaljuk.

A rosszakark mdosthatnak vagy trlhetnek zeneteket


E rvid ttekintst a kzbekeldses (man-in-the-middle) tmadssal zrjuk. A tmadsok ezen csoportjnl a rosszakar a kt kommunikl entits kztti kommunikcis tvonalon helyezkedik el. Hvjuk a kommunikl entitsokat Alicenek s Bobnak, amelyek lehetnek valdi emberi lnyek vagy akr hlzati entitsok is, mint pldul kt tvlaszt vagy kt e-mail szerver. A rosszakar lehet pldul egy fertztt tvlaszt a kommunikcis tvonalon vagy egy szoftvermodul, amely valamelyik vghoszt protokollkszletnek egyik alacsonyabb rtegben helyezkedik el. A kzbekeldses tmadsoknl a rosszakar nemcsak a Bob s Alice kztt kldtt csomagokat tudja lehallgatni, hanem beszrhat, mdosthat s trlhet is zeneteket. A hlzati biztonsgi zsargonnal lve, a kzbekeldses tmadsok megsrthetik az Alice s Bob kztt kldtt adatok integritst. Amint azt a 8. fejezetben is ltni fogjuk, azok a mechanizmusok, amelyek titkostst (csomaglehallgats elleni vdelmet) s vgponti hitelestst (amely lehetv teszi a cmzettnek a csomag forrsnak ellenrzst) biztostanak, nem felttlenl biztostjk az adatok integritst, gy ennek elltshoz mg egy sor megoldsra van szksgnk. A tma lezrsaknt elssorban azt rdemes tgondolni, hogyan lett az internet ilyen veszlyes. Erre a rvid vlasz az, hogy az internetet eredetileg ilyenre terveztk. Az eredeti modell szerint az internet az egymsban klcsnsen megbz felhasznlk egy csoportjnak csatlakoztatsa egy tltsz hlzathoz [Blumenthal 2001]. Ez egy olyan modell, amelyben (meghatrozs szerint) nincs szksg biztonsgra. Az eredeti internet-architektra sok vonatkozsban tkrzi a klcsns bizalom eme eszmjt. Pldul a hlzatnak az a kpessge, hogy egy felhasznl alaprtelmezsben kldhet csomagot brmely ms felhasznlnak ahelyett, hogy ez krs/engedlyezs alap lenne, valamint a felhasznli azonossgot egy valaki ltal belltott rtk alapjn llaptjk meg, ahelyett, hogy alaprtelmezsben hitelests trtnne. Manapsg azonban az interneten sz sincs egymsban klcsnsen megbz

felhasznlkrl. Ennek ellenre a mai felhasznlknak mg akkor is kommuniklniuk kell, amikor nem felttlenl bznak meg egymsban. Kommuniklhatnak nvtelenl, kommunikl

hatnak kzvetve harmadik flen keresztl (pldul webes gyorsttron keresztl, amelyet a 2. fejezetben fogunk megvizsglni, vagy a mobilitst elsegt gynkkn keresztl, amelyet a 6. fejezetben tanulmnyozunk), s nem kell hogy megbzzanak sem a hardverben, sem a szoftverben, de mg a levegben sem, amelyen keresztl kommuniklnak. Szmos, a biztonsggal kapcsolatos kihvs van elttnk, amint haladunk elre a knyvben: vdelmet keresnk a csomaglehallgats ellen, a vgponti lczs ellen, a kzbekeldses tmadsok ellen, a DDoS-tmadsok, a krokoz programok stb. ellen. Meg kell jegyez nnk, hogy az egymsban klcsnsen megbz felhasznlk kztti kommunikci in kbb kivtel, mint szably. Isten hozta a modern szmtgp-hlzatok vilgban!

1.7. Szmtgp-hlzatok s az internet trtnete


Az 1.1-1.6. alfejezetekben a szmtgp-hlzatok s az internet klnfle mszaki megoldsait tekintettk t. Az olvas mr eleget tud ahhoz, hogy elkprztassa csaldjt s bartait! Ha azonban tnyleg figyelemfelkelt akar lenni a kvetkez koktlpartin, akkor eladst az internet rdekfeszt trtnetnek sznes rszleteivel kell fszereznie.

1.7.1. A csomagkapcsols kifejlesztse: 1961-1972


A szmtgpes hlzatok s a mai internet terletnek kezdete az 1960-as vek elej re nylik vissza, amikor a telefonhlzatok voltak a vilg meghatroz kommunikcis hlzatai. Emlkezznk vissza az 1.3. alfejezetben lertakra, hogy a telefonhlzat vonal-

megolds ahhoz, hogy a hang lland sebessggel kerljn tvitelre a kld s a fogad kztt. Az 1960-as vek elejn a szmtgpek egyre nvekv fontossga (s magas ra), valamint az idosztsos szmtgpek megjelense miatt taln termszetes volt a gondolat (legalbbis gy utlag gy tnik), hogy hogyan lehet a szmtgpeket gy sszektni, hogy tbb, egymstl fldrajzilag tvol elhelyezked felhasznl is ignybe vehesse szolgltatsaikat. Az ilyen felhasznlk ltal ellltott forgalom tbbnyire lketekbl (burst) llt, vagyis olyan aktv intervallumbl, mint amilyen pldul egy tvoli szmtgpnek trtn parancskldes, majd az ezt kvet inaktv peridusbl, mialatt vrunk a vlaszra vagy feldolgozzuk a kapott vlaszt. Hrom, egymstl fggetlen kutatcsoport a vilg klnbz pontjain'[Leiner 1998) kezdte felfedezni a csomagkapcsolst, amely a vonal kapcsols hatkony s robusztus alternatvja lehet. Az els csomagkapcsolsrl megjelent munka Leonard Kleinrock [Klein- rock 1961; Kleinrock 1964), egy vgzs MIT-s dik dolgozata volt. A sorban lls elmlett hasznlva Kleinrock munkja elegnsan mutatta be a lketszer forgalmat elllt forr soknl a csomagkapcsolsos megkzelts hatkonysgt. 1964-ben a Rand Institute-nl dolgoz Paul Baran (Baran 1964) vizsglni kezdte a csomagkapcsols hasznlhatsgt katonai hlzatokon trtn biztonsgos hangtvitelre, s az angliai National Physical Laboratoryban Donald Davies s Roger Scantlebury is kifejtettk a csomagkapcsolssal kapcsolatos elkpzelseiket. Az MIT-n, a Rand-nl s az NPL-nl foly munka fektette le a mai internet alapjait. Az internetnek azonban hossz ptsk meg s mutassuk be tpus

trtnete van, amely szintn az 1960-as vekig nylik vissza. J. C. R. Licklider [DEC 1990) s Lawrence Roberts, mindketten Kleinrock kollgi az MIT-n, folytattk a szmtstechnikval foglal-

1.22. bra. Egy korai zenetcsatol processzor (IMP) s Leonard Kleinrock


(Mark J. Terrill, AP/Wide World Photos) koz program vezetst az Advanced Research Projects Agency-nl (ARPA) az Egyeslt llamokban. Roberts publiklta az ARPAnet tfog tervt [Roberts 1967}, amely az els csomagkapcsolt szmtgp-hlzat, s a mai nyilvnos internet kzvetlen se. A korai csomagkapcsolkat zenetcsatol processzoroknak (interface messagc processor, IMP) neveztk, cs a BBN trsasg nyerte meg a szerzdst ezek legyrtsra. Az els IMP-t Kleinrock felgyelete alatt helyeztk zembe az UCLA-n, 1969-ben a munka nnepn, s rviddel ezutn tovbbi hrom IMP-t szereltek be a Stanford Research Institute-nl (SRI), a Santa Barbara-i UC-nl s a University of Utah-nl (1.22. bra). Az internet fiatal se 1969 vgre ngy csompontbl llt. Kleinrock gy emlkszik vissza a hlzat els hasznlatra, hogy megprblt tvolrl bejelentkezni az ULCA-rl az SRI-re, ami miatt sszeomlott a rendszer [Kleinrock 2004].

1972-re az ARPAnet krlbell 15 csomponttal rendelkezett, s elszr nyilvnosan Rbert Kahn mutalta be az 1972-es International Conference on Computer Communications konferencin. Elksztettk az els, az ARPAnet vgrendszerei kztti hoszt-hoszl protokollt, melynek neve network-control protocol (NCP) volt [RFC 001]. gy egy hozz frhet vgpontok kztti protokoll birtokban mr alkalmazsokat lehetett rni. Az els e-mail programot a BBN-nes Ray Tomlinson rta 1972-ben.

1.7.2. Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980


A kezdeti ARPAnet egyetlen, zrt hlzat volt. Ahhoz, hogy valaki egy ARPAnet hoszttal kommuniklhasson, r kell csatlakoznia egy msik ARPAnet IMP-re. Az 1970-es vek elejtl a kzepig tovbbi egyedi csomagkapcsolt hlzatok jelentek meg az ARPAnet-en kvl: ALOHANet, egy mikrohullm hlzat, amely a Hawaii-szigeteken lv egyetemeket [Abramson 1970], valamint a DARPA csomagkezel mholdjt [RFC 829] s a csomagalap rdis hlzatokat [Kahn 1978] kttte ssze. Telenet, egy BBN kereskedelmi csomagkapcsolt hlzat, amely az ARPAnet megoldsain alapult. Cyclades, egy francia csomagkapcsolt hlzat, amelynek fejlesztst Louis Pouzin kezdte el [Think 2007]. Idosztsos hlzatok, tbbek kztt a Tymnet s a GE Information Services hlzat az 1960-as vekben s az 1970-es vek elejn [Schwartz 1977]. Az IBM SNA-ja (1969-1974), amely prhuzamosan folyt az ARPAnel munkjval [Schwartz 1977].

A hlzatok szma egyre nvekedett. Utlag lthatjuk, hogy megreti az id a hlzatok sszekapcsolsra szolgl sszefog architektra kifejlesztsre. A hlzatok egymshoz kapcsolsnak ttrmunkjt (a Defense Advanced Research Projects Agency [DARPA] tmogatsval) Vinton Cerf s Rbert Kahn vgezte [Cerf 1974], lnyegben k hoztk ltre a hlzatok hlzatt; az internetting szt a munkjuk jellemzsre alkottk. Ezeket az architekturlis elveket bepletk a TCP-be. A TCP korai verzii azonban mg nagyban klnbztek a mai TCP-tl. A TCP korai verzii kombinltk az adatok vgrendszeri jrakldssel megoldott megbzhat, sorrendtart kzbestst (amely ma is rsze a TCP-nek) a tovbbtsi funkcikkal (amelyeket ma az IP vgez). Az els ksrletek a TCP-vel, valamint annak a felismerse, hogy egy megbzhatatlan, forgalomszablyozs nlkli, vgpontok kztti szlltsi szolgltats fontos az olyan alkalmazsok szmra, mint a hang csomagokban trtn tovbbtsa, az IP TCP-bl trtn kivlshoz, s az UDP kifejlesztshez vezettek. A hrom f internet protokoll, amelyet ma ltunk - TCP, UDP s IP - az 1970-es vek vgn fogalmilag mr a helykn voltak. A DARPA internettel kapcsolatos kutatsai mellett sok ms fontos, hlzatokkal kapcsolatos tevkenysg folyt. A Hawaii-szigeteken Norman Abramson kifejlesztette az A LO- FIAnet-et, egy csomagalap rdis hlzatot, amely a Hawaii-szigeteken tbb tvoli lloms szmra tette lehetv, hogy kommunikljanak egymssal. Az ALOHA protokoll [Abramson 1970] volt az els tbbszrs hozzfrsi protokoll, amely fldrajzilag sztszrt felhasznlknak tette lehetv az egyetlen adatszrsos kommunikcis kzeg (egy rdi- frekvencis

csatorna) megosztst. Metcalfe s Boggs ptett Abramson tbbszrs hozz frs protokolljra, amikor kifejlesztette az Ethernet protokollt [Metcalfe 1976] vezetkes adatszrsos osztott kzegekre (lsd 1.23. bra). rdekes mdon Metcalfe s Boggs Ethernet protokolljt az motivlta, hogy tbb szmtgpet, nyomtatt s megosztott lemezes trolt (diszket) kellett sszekapcsolni [Perkins 1994]. Jval a PC-forradalom s a hlzatok robbansszer gyors fejldse eltt, Metcalfe s Boggs lefektettk a mai szmtgpes helyi hlzatok alapjait. Az Ethernet mszaki megoldsa fontos lpst jelentett a hlzatok sszekapcsolsa fel is. Minden egyes Ethernet LAN nmagban egy hlzat volt, s aho gyan a helyi hlzatok szma ntt, ezek sszekapcsolsa egyre fontosabb vlt. Az Ether nett, az ALOHA-t s a tbbi LAN-megoldst az 5. fejezetben trgyaljuk rszletesen.

1.23. bra. Metcalfe eredeti Ethernet-koncepcija

1.7.3. Hlzatok gyors fejldse: 1980-1990


Az 1970-es vek vgre krlbell ktszz hoszt kapcsoldott az ARPAnet-hez. Az 1980-as vek vgre a nyilvnos internethez, azaz az sszekttt hlzatok csoportjhoz, amely nagyon hasonltott a mai internethez, csatlakozott hosztok szma elrte a szzezret. Az 1980-as vekben risi nvekeds vette kezdett. A nvekedst nagyrszt az egyetemek szmtgp-hlzattal trtn sszekapcsolsra irnyul, egymstl elklnl erfesztsek eredmnyeztk. A BITNET elektronikus levelezst s fjltvitelt biztostott szmos egyetem kztt az USA szak-keleti partvidkn. A CSNET-et (computer Science network) azrt alaktottk ki, hogy sszekssk azokat az egyetemi kutatkat, akiknek nem volt hozzfrsk az ARPAnet-hez. 1986-ban megalkottk az NSFNET-et, amelynek clja az NSF ltal tmogatott szuperszmtgp-kzpontok- hoz trtn hozzfrs biztostsa volt. Az 56 kb/s kezdeti gerinchlzati sebessggel kez d NSFNET az vtized vgre 1,5 Mb/s-on zemelt, s regionlis hlzatokat sszekt elsdleges gerinchlzatknt szolglt. Az ARPAnet-kzssgbcn a mai internet-architektra sok vgs darabja a helyre kerlt. 1983. janur 1-jn hivatalosan bevezettk a TCP/IP-t, mint az ARPAnet j szabvny hosztprotokolljt (ezzel kivltva az NCP-t). Az tlls [RFC

801] NCP-rl TCP/IP-re jelents nap volt - attl a naptl kezdve minden hosztnak TCP/IP fltt kellett kommuniklnia. Az 1980-as vek vgn jelents kiterjesztseket tettek a TCP-be, hogy megvalstsk a hosztalap torldskezelst [Jacobson 1988]. Kifejlesztettk a DNS-t, hogy az emberek ltal olvashat internetes nevek (pldul gaia.cs.umass.edu) s a 32-bites IP-cmek kztti megfeleltetst biztostsk [RFC 1034]. Az ARPAnet ezen fejlesztsvel (amely nagyrszt amerikai erfeszts volt) prhuzamosan 1980-ban a francik elindtottk a Minitel-projektet, amely egy nagyra tr terv volt arra, hogy a hlzatokat minden hztartsba eljuttassk. A francia kormny ltal tmogatott Minitel-rendszer egy nyilvnos csomagkapcsolt hlzatbl (amely az X.25 protokollkszleten alapult), Mi nitel-szerverekbl s beptett, kis sebessgre kpes modemmel rendelkez olcs terminlokbl llt. A Minitel nagy siker lett 1984-ben, amikor a francia kormny minden hztartsnak, amely ignyelte, adott egy ingyenes Minitel-terminlt. A Mi nitel-oldalak kztt voltak ingyenes oldalak, mint pldul a telefonknyvoldalak s privt oldalak is, amelyekrt a hasznlattl fggen djat szedtek be minden felhaszn ltl. Fnykorban, az 1990-es vek kzepn tbb mint 20 000 szolgltatst nyjtott az otthoni banki szolgltatsoktl a specilis kutatsi adatbzisokig. A francia lakossg tbb mint 20%-a hasznlta, ami tbb mint 1 millird dollr bevtelt jelentett vente, s 10 000 munkahelyet teremtett. A Minilel 10 vvel azeltt mr jelen volt a francia hztartsokban, mieltt a legtbb amerikai egyltaln hallott volna az internetrl.

1.7.4. Az internet robbansszer elterjedse: az 1990-es vek


Az 1990-es veket szmos olyan esemny elzte meg, amely a folyamatos fejldst s az internet kzeli zletiesedst jelkpezte. Az ARPAnet, az internet se megsznt. A MIL- NET s a Defense Data Network az 1980-as vekben nagymrtkben nvekedett, gy ezeken keresztl vittk az Egyeslt llamok Vdelmi Minisztriumval kapcsolatos forgalom nagy rszt. Az NFSNET pedig az Egyeslt llamok regionlis hlzatait s a tengerentli nemzeti hlzatokat sszekt gerinchlzatknt kezdett mkdni. 1991-ben az NFSNET megszntette az zleti clra trtn hasznlatnak korltozsait. Az NFSNET engedlyt 1995ben visszavontk, s az internet gerinchlzati forgalmt kereskedelmi internctszol- gltatk tovbbtottk. Az 1990-es vek legfbb esemnye azonban a vilghl (World Wide Web) megjelense volt, amely emberek milliinak otthonba s vllalkozsba hozta be az internetet vilgszerte. A vilghl platformknt szolglt tbb szz olyan alkalmazs elindtshoz, amelyeket ma mr termszetesnek vesznk. A web korai idszaknak rvid trtnethez lsd a [W3C 1995] munkt. A webetTim Berners-Lee fejlesztette ki 1989 s 1991 kztt (Berners-Lee 1989] az 1940-es vektl Vannevar Bush [Bush 1945] s az 1960-as vektl 'Fed Nelson [Xandu 2007] ltal rt hiperszveggel foglalkoz munkkbl szrmaz tletekre alapozva. Berners-I.ee s munkatrsai kifejlesztettk a HTML, a HTTP, egy webszerver s egy webbngsz kezdeti verziit, a web ngy kulcselemt. 1992 vgre krlbell ktszz webszerver mkdtt, s ezek a szerverek csak az elhrnkei voltak mindannak, ami ezutn kvetkezett. Ekkor sok kutat fejlesztett grafikus felhasznli fellettel (GUI) rendelkez bngszket, bele rtve Marc Andreesen-t, aki a npszer Mosaic GUI-val rendelkez bngsz fejlesztst vezette. 1994-ben Marc Andreesen cs Jim Clark megalaptottk a Mosaic

Communica- tions-t, a ksbbi Netscape Communications Corporation-t (Cusumano 1998; Quittncr 1998). 1995-re az egyetemistk nap mint nap Mosaic s Netscape bngszt hasznltak a bngszshez. Krlbell ebben az idszakban - kis s nagy - cgek elkezdtek webszer- vereket zemeltetni, s zleteket lebonyoltani a vilghln. 1996-ban a Microsoft bngszkt kezdett el fejleszteni, amivel kezdett vette a bngszhbor a Netscape s a Microsoft kztt, amelyet a Microsoft nyert meg nhny vvel ksbb [Cusumano 1998). Az 1990-es vek msodik fele az internet risi mrtk nvekedsnek s fejldsnek idszaka volt, amikor nagyvllalatok s tbb ezer indul vllalkozs ksztett internetes termkeket s szolgltatsokat. Az internetes e-mail tovbb fejldtt az olyan szolgltatsokkal rendelkez kliensekkel, amelyek cmtrat, csatolmnyokat, hotlinkeket s multimdia-tvitelt kezeltek. Az vezred vgre az internet tbb szz npszer alkalmazs alapjt kpezte, belertve a ngy legfontosabb alkalmazst: e-mail, belertve a csatolmnyokat s a webrl elrhet e-mailt, a vilghl, belertve a webbngszst s az internetes kereskedelmet, azonnali zenetklds kapcsolatlistkkal, amelyet az ICQ vezetett be elsknt, egyenrang felek kztti (peer-to-peer) MP3-megoszts* amelyet elszr a Napster tett lehetv. rdekes mdon az els kt legfontosabb alkalmazst kutatk alkottk meg, az utols kettt pedig nhny fiatal vllalkoz. Az 1995-tl 2001-ig terjed idszakban az internet egy hullmvast volt a pnzgyi piac szmra. j internetes cgek mg azeltt, hogy nyeresgesek lettek volna, kibocstottk az els rszvnyeiket s elkezdtk rulni az rtkpaprpiacon. Sok vllalatot millird dollr rtkre tettek anlkl, hogy jelents bevtele lett volna. Az internetes rtkpaprpiac 2000-2001-ben sszeomlott, s sok j cg bezrt. Ennek ellenre szmos vllalat nagy nyertesknt jelent meg az internetes vilgban, kztk a Microsoft, Cisco, Yahoo, e-Bay, Google s az Amazon.

1.7.5. Legutbbi fejlesztsek


A szmtgp-hlzatok tern trtn fejlesztsek gyors temben folytatdnak. Minden oldalon trtnnek elrelpsek, belertve az j alkalmazsok bevezetst, a tartalommegosztst, az internettelefont, a helyi hlzatok nagyobb tviteli sebessgt s a gyorsabb tvlasztkat. Hrom fejleszts azonban kln figyelmet rdemel: a nagysebessg hozzfrsi hlzatok (belertve a vezetk nlkli hozzfrst) elterjedse, a biztonsg, valamint a P2P megoldsok. Ahogyan az 1.2. alfejezetben is trgyaltuk, a kbelmodemes s a DSL szles sv internet-hozzfrsek elterjedse megteremtette a feltteleket szmos j multimdia-alkalmazs szmra, belertve az IP feletti hang- s videtvitelt [Skype 2007], a videmegosztst (Youtube 2007] s az IP-televzit (PPLive 2007]. A nyilvnos WiFi-hlzatok s a mobiltelefon-hlzatokon keresztli kzepes sebessg (nhny szz kb/s) internet-hozzfrs egyre nagyobb mrtk elterjedse nemcsak azt teszi lehetv, hogy folyton hlzatra kapcsoldva legynk, hanem egy csom rdekes, j, helytl fgg szolgltatst is lehetv tesz. A vezetk nlkli hlzatokat s a mobilitst a 6. fejezetben trgyaljuk. Az 1990-es vek vgn prominens web szerverek ellen indtott

szolgltatsmegtagads tpus tmadsok sorozatt s a fregtmadsokat (pldul a Blaster-freg) kveten a hlzati biztonsg rendkvl fontos tma lett. Ezek a tmadsok azt eredmnyeztk, hogy betrsjelz rendszereket fejlesztettek ki a tmadsok korai szlelse cljbl, valamint tzfalakat hasznltak a nemkvnatos forgalom kiszrsre. Szmos fontos, biztonsggal kapcsolatos tmt trgyalunk a 8. fejezetben.

A legjabb fejleszts, amelyet kln megemltnk, a P2P-megoldsok. Egy P2P hlzati alkalmazs a felhasznlk szmtgpeinek erforrsait - trhely, tartalom, CPU id, s emberi jelenlt - hasznlja ki, s nagymrtkben fggetlen a kzponti szerverektl. A felhasznlk szmtgpei (azaz az egyenrang felek) jellemzen nem folytonosan kapcsoldnak a hlzatra, gzmos P2P-sikertrtnet ismert az elmlt nhny vbl, belertve a P2P-fjlmegosztst (Napster, Kazaa, Gnutella, eDonkey, LimeWare stb.), fjlelosztst (BitTorrent), IP-n keresztl trtn hangtvitelt (Skype) s az IPTV-t (PPLive, ppStream). Ezek kzl sokat meg fogunk trgyalni a 2. fejezetben.

1.8. sszefoglals
Ez a fejezet rendkvl nagy anyagot fed le! Lttuk a klnbz hardver- s szoftverelemeket, amelyekbl fleg az internet s ltalban a szmtgphlzatok felplnek. A hlzat szlnl kezdtk, megnztk a vgrendszereket, az alkalmazsokat s a vgrendszereken fut alkalmazsoknak nyjtott szlltsi szolgltatst. Megvizsgltuk a hozzfrsi hlzatokban ltalban alkalmazott adatkapcsolati technolgikat s fizikai kzegeket. Ezutn mlyebbre stunk a hlzatban a hlzat kzepe fel, tisztztuk a csomagkapcsols s a vonalkapcsols fogalmt, mint kt alapvet megkzeltst arra, hogyan lehet adatot tvinni egy tvkzl-hlzaton, s mindegyik megkzeltsnek megvizsgltuk az elnyeit s htrnyait. Megvizsgltuk tovbb a globlis internet szerkezett. Megtudtuk, hogy az internet hlzatok hlzata. Lttuk, hogy az internet magasabb s alacsonyabb szint szolgltatkbl ll hierarchikus szerkezete tette lehetv, hogy akkorra nvekedjen, hogy tbb ezer hlzatot foglaljon magba. Ennek a bevezet fejezetnek a msodik rszben szmos, a szmtgphlzatok tern kzponti tmt vettnk grcs ala. Elszr megvizsgltuk a ksleltetsek tpusait, az tbocstkpessget s a csomagvesztst egy csomagkapcsolt hlzatban. Egyszer meny- nyisgi modellt lltottunk fel az tvitelre, a terjedsre, a sorbanllsi ksleltetsekre, valamint az tbocstkpessgre; nagymrtkben tmaszkodni fogunk ezekre a modellekre a knyvben tallhat feladatoknl. Ezutn megvizsgltuk a protokoll rtegzettsget s a szolglati modelleket, azaz a hlzatok kulcsfontossg tervezsi elveit, amelyekre hivatkozni fogunk a knyv ksbbi rszeiben. Megvizsgltunk tovbb nhny tmadsi formt, amely a leggyakrabban elfordul az interneten. A hlzatokba trtn bevezetst a szmtgp-hlzatok rvid trtnetvel zrtuk. Az 1. fejezet nmagban is egy kis, a szmtgp-hlzatokrl szl eladssorozat. gy valban sok rszt rintettnk ebben az 1. fejezetben. Ha egy kicsit soknak tnik, ne aggdjunk. A kvetkez fejezetekben jra megnznk minden tmt sokkal rszletesebben (ez egy gret, s nem fenyegets!). Ennl a pontnl remljk, az olvas gy hagyja el ezt a fejezetet, hogy van valamilyen elkpzelse egy hlzat alkotrszeirl, a hlzattal kapcsolatos szavakrl, kifejezsekrl (ne vonakodjon visszalapozni ebbe a fejezetbe), s egyre n a vgya, hogy tbbet tudjon meg a hlzatokrl. Ez a feladat ll elttnk a knyv tovbbi rszben.

A knyv szerkezete
Mieltt brmilyen tnak nekivg, rdemes rnznie a trkpre, hogy jobban megismerkedjen a nagyobb utakkal s keresztezdsekkel, amelyek n eltt llnak. Az t clja, amelynek most nekivgunk az, hogy mlyen megrtsk a szmtgp-hlzatok hogyanjt s mirtjt. A trkpnk a knyv fejezeteinek sorozata: 1. 2. 3. 4. 5. 6. 7. 8. 9. A szmtgp-hlzatok s az internet Az alkalmazsi rteg A szlltsi rteg A hlzati rteg Az adatkapcsolati rteg s helyi hlzatok Vezetk nlkli s mobilhlzatok Multimdia-hlzatok A szmtgp-hlzatok biztonsga Hlzatfelgyelet

A 2-5. fejezet alkotja a knyv magjt. Vegyk szre, hogy ezeket a fejezeteket az trte- g internetprotokoll-kszlet fels ngy rtege kr szerveztk. Vegyk szre azt is, hogy utazsunkat az internet protokollkszletnek tetejn fogjuk kezdeni, nevezetesen az alkalmazsi rtegnl, s innen fogunk lefel haladni. A fentrl lefel trtn halads mgtti elgondols az, hogy ha egyszer megrtjk az alkalmazsokat, meg fogjuk rteni a hlzati szolgltatsokat, amelyek az alkalmazsok tmogatshoz szksgesek. Ezutn cserbe megvizsglhatjuk azokat a klnfle mdokat, ahogyan ezeket a szolgltatsokat egy h lzati architektra megvalsthatja. gy az alkalmazsok korai megismerse motivl az anyag tbbi rsznek megismerst. A knyv msodik fele, a 6. fejezettl a 9. fejezetig, a modern szmtgphlzatok ngy rendkvl fontos (s valamennyire fggetlen) tmjra sszpontost. A 6. fejezetben megvizsgljuk a vezetk nlkli s a mobil megoldsokat, kztk a vezetk nlkli helyi hlzatokat (belertve a WiFi-t, a WiMAX-ot s a Bluetooth-t), a mobiltelefon-hlzatokat (kztk a GSM-et) s a mobilitst (mind az IP-, mind a GSM-hlzatokban). A 7. fejezet ben (multimdiahlzatok) megvizsgljuk az olyan hang- s videoalkalmazsokat, mint az internettelefon, a videokonferencia s a trolt mdia folyamszer letltse. Megvizsgljuk azt is, hogyan tervezhet gy egy csomagkapcsolt hlzat, hogy lland szolgltatsi minsget biztostson hang- s videoalkalmazsoknak. A 8. fejezetben (szmtgp-hlzatok biztonsga) elszr megnzzk a titkosts s a hlzati biztonsg alapjait, majd megvizsgljuk, hogyan alkalmazzk az alapclmletet az internettel sszefggsben. Az utols, 9. fejezetben (hlzatfelgyelet) megvizsgljuk a kulcsfontossg hlzatfelgyele ti krdseket, valamint a hlzatfelgyeletnl hasznlt fontosabb internetprotokollokat.

Krdsek
1.1. al fejezet KI.

94

1. A SZMTGP-HLZATOK S AZ INTERNET

Mi a klnbsg egy hoszt s egy vgrendszer kztt? Sorolja fel a vgrendszerek tpusait. Vajon a webszerver egy vgrendszer? K2. A protokoll szt gyakran hasznljk diplomciai kapcsolatok lersra. Adjon egy pldt egy diplomciai protokollra. 1.2. alfejezet K3. Mi a kliensprogram? Mi a szerverprogram? Igaz-e, hogy egy szerverprogram szolgltatsokat ignyel s kap egy kliensprogramtl? K4. Soroljon fel hat hozzfrsi megoldst. Csoportostsa ket az albbiak szerint: otthoni hozzfrs, vllalati hozzfrs, mobil hozzfrs. K5. A HFC tviteli sebessge egy felhasznlhoz rendelt vagy megosztott a felhasznlk kztt? Lehetsgesek-e tkzsek a HFC letltsi csatornn? Indokolja vlaszt! K6. Sorolja fel a hozzfrsi megoldsokat, amelyek elrhetek a lakhelyn. Minden tpushoz adja meg a reklmozott letltsi sebessget, feltltsi sebessget s a havidjat. K7. Mennyi az Ethernet LAN-ok tviteli sebessge? Egy adott tviteli sebessg esetn adhat-e minden felhasznl a LAN-on folyamatosan azzal a sebessggel? K8. Milyen fizikai kzegeken futhat Ethernet? K9. A betrcsz modemeket, a HFC-t s a DSL-t mind otthoni hozzfrseknl hasznljk. Adja meg az tviteli sebessgek tartomnyt, amelyre ezek a hozzfrsi megoldsok kpesek, s adja meg, hogy az tviteli sebessg megosztott vagy dediklt. K10. rja le a legnpszerbb mai vezetk nlkli internet-hozzfrsi megoldsokat. lltsa szembe, s hasonltsa ssze ket. 1.3. fejezel K l l . Milyen elnyei vannak egy vonalkapcsolt hlzatnak egy csomagkapcsolttal szemben? Milyen elnyei vannak a TDM-nek az FDM-mel szemben egy vonalkapcsolt hlzatban? K12. Mirt mondjk, hogy a csomagkapcsols statisztikus nyalbolst hasznl? Hasonltsa ssze a statisztikus nyalbolst a TDM esetn alkalmazott nyalbolssal. KI3. Tegyk fel, hogy pontosan egy csomagkapcsol van a kld s a fogad hoszt kztt. A kld hoszt s a kapcsol kztti tviteli sebessg R^ a kapcsol s a fogad hoszt kztti tviteli sebessg R,. Ha feltesszk, hogy a kapcsol trol-s-to- vbbt tpus csomagkapcsolst hasznl, mennyi a teljes vgpontok kztti ksleltets egy L hosszsg csomag kldse esetn (figyelmen kvl hagyva a sorban llst, a terjedsi ksleltetst s a feldolgozsi ksleltetst). K14. Mi az 1. szint s a 2. szint szolgltatk kztti legfontosabb klnbsg? K15. Tegyk fel, hogy felhasznlk osztoznak egy 2 Mb/s-os adatkapcsolaton.

1.6. TMADSOK A HLZAT LLUN

95

Tegyk fel azt is, hogy minden felhasznlnak 1 Mb/s-ra van szksge, amikor adatot kld, de minden felhasznl csak az id 20%-ban teszi ezt. (Lsd a statisztikus nyalbols trgyalst az 1.3. alfejezetben.) (a) Vonalkapcsols esetn hny felhasznlt tmogathatunk? (b) A feladat tbbi rszben tegyk fel, hogy csomagkapcsolst hasznlunk. Mirt nem lesz gyakorlatilag sorbanllsi ksleltets az adatkapcsolat eltt, ha kett vagy kevesebb felhasznl kld egyszerre? Mirt lesz sorbanllsi ksleltets, ha hrom felhasznl kld egyszerre? (c) Adja meg annak a valsznsgt, hogy egy adott felhasznl pp adatot kld. (d) Tegyk fel, hogy hrom felhasznl van. Adja meg a valsznsgt annak, hogy brmely adott idpillanatban mind a hrom felhasznl kld adatot. Adja meg az idszakaszt, amely alatt a sor n. 1.4. alfejezet Kl. Tegyk fel, hogy valaki zenetet kld egy forrshoszttl egy clhosztig egy rgztett tvonalon keresztl. Sorolja fel a vgpontok kztti ksleltets sszetevit. Ezek kzl melyek llandak, s melyek vltozhatnak? K17. Nzze meg a Transmission Versus Propagation Delay programot a kapcsold weboldalunkon. Az elrhet sebessgek, terjedsi ksleltetsek s csomagmretek kztt talljon egy kombincit, amelynl a kld befejezi az adst, mieltt a csomag els bitje elri a fogadt. Talljon egy msik kombincit, ahol a csomag els bitje clba r, mieltt az ad befejezi az adst. K18. Mennyi idt vesz ignybe egy 1000 byte hosszsg csomag terjedse egy 2500 km hossz adatkapcsolaton, ahol a terjedsi sebessg 2,5 x 10* m/s, s az tviteli sebessg 2 Mb/s? Egy kicsit ltalnosabban: mennyi idt vesz ignybe egy l hosszsg csomag terjedse egy d hosszsg adatkapcsolaton, ahol a terjedsi sebessg 5, az tviteli sebessg pedig R b/s? Fgg-e ez a ksleltets a csomag hossztl? Fgg-e ez a ksleltets az tviteli sebessgtl? K19. Tegyk fel, hogy az A hoszt egy nagy fjlt akar kldeni a B hosztnak. Kzttk az tvonalon hrom adatkapcsolat van, amelyeknek a sebessge: R} = 500 kb/s, R? = 2 Mb/s, R3 = 1 Mb/s. (a) Feltve, hogy ms forgalom nincs a hlzaton, mennyi az tbocstkpessg a fjltvitelnl? (b) Tegyk fel, hogy a fjl 4 milli bjt hossz. Krlbell mennyi idt vesz ignybe az tvitele az A hoszt ti a B hoszt ig? (c) Vlaszoljuk meg az (a) s a (b) krdseket jra, de ezttal cskkentsk R2- t 100 kb/s-ra. K20. Tegyk fel, hogy az A vgrendszer egy nagy fjlt szeretne kldeni a B vgrendszernek. Nagyon magas szinten, rja le, hogy az A vgrendszer hogyan kszt csomagokat a fjlbl. Amikor az egyik ilyen csomag megrkezik egy csomagkapcsolhoz, a csomag milyen informcija alapjn hatrozza meg a kapcsol, hogy melyik adatkapcsolaton kell a csomagot tovbbtani? Mirt hasonl az internet csomagkapcsolsa ahhoz, amikor az egyik vrosbl a msikba vezetnk, s tkzben krdezzk meg a helyes irnyt? K21. Indtsa el a Queuing and Loss programot a kapcsold weboldalon. Mekkora a legnagyobb kibocstsi sebessg s a legkisebb tviteli sebessg? Mennyi a

96

1. A SZMTGP-HLZATOK S AZ INTERNET

forgalomintenzits ezekkel a sebessgekkel? Futtassa le a programot ezekkel a sebessgekkel, s hatrozza meg, mennyi id mlva kvetkezik be csomagveszts. Ezutn ismtelje meg a ksrletet msodszor is, s hatrozza meg jra, mennyi id mlva kvetkezik be csomagveszts. Klnbznek az rtkek? Indokolja vlaszt! 1.5. alfejezet K22. Soroljon fel t feladatot, amelyet egy rteg ellthat. Lehetsges, hogy ezek kzl egyet (vagy tbbet) kett (vagy tbb) rteg is ellthat? K23. Mi az internetprotokoll-kszlet t rtege? Melyek az egyes rtegek legfontosabb feladatai? K24. Mit neveznk alkalmazsi zenetnek, szlltsi szegmensnek, hlzati datagram- nak, s adatkapcsolati keretnek? K25. Az internetprotokoll-kszlet mely rtegeit dolgozza fel egy tvlaszt? Mely rtegeket dolgozza fel egy adatkapcsolati rtegben mkd kapcsol? Mely rtegeket dolgozza fel egy hoszt? 1.6. al fejezet K26. Mi a klnbsg egy vrus, egy freg s egy trjai fal kztt? K27. rja le, hogyan jn ltre egy botnet, s hogyan hasznlhatjk fel egy DDoStmadsra? K28. Tegyk fel, hogy Alice s Bob csomagokat kldenek egymsnak egy szmtgphlzaton keresztl. Tegyk fel, hogy Trudy gy helyezkedik el a hlzaton, hogy elkaphatja az sszes csomagot, amit Alice kld, s brmit kldhet Bobnak; tovbb elkaphatja a Bobtl rkez csomagokat is, s brmit kldhet Alice-nek. Soroljon fel nhny krtkony dolgot, amelyet Trudy megtehet egy ilyen helyzetben.

Feladatok
FI. Tervezzen, s jellemezzen egy olyan alkalmazsi rtegbeli protokollt, amelyet egy pnzfelvev-automata s egy bank kzponti szmtgpe kztt hasznlnak. A protokollnak lehetv kell tennie, hogy egy felhasznl krtyjt s jelszavt leellenrizzk, le lehessen krdezni a szmlaegyenleget (amelyet a kzponti szmtgpen tartanak nyilvn), s pnzt lehessen felvenni a szmlrl (azaz pnzt kiadni a felhasznlnak). A protokollentitsoknak tudniuk kell kezelni azt az ltalnos esetet, amikor nincs annyi pnz a szmln, ami fedezn a pnzfelvtelt. Specifiklja a pro tokollt gy, hogy megadja a vltott zeneteket, valamint az zenetek kldse, s fogadsa esetn az automata vagy a bank kzponti szmtgpe ltal tett lpseket. Vzolja fel a protokoll mkdst egy olyan esetre, amikor egy egyszer pnzfelvtel trtnik hiba nlkl, felhasznlva egy olyan diagramot, amely hasonlt az 1.2. brhoz, rja le, milyen felttelezsekkel l a protokoll az alatta lv, kt vgpont kztti szlltsi szolgltatssal szemben. F2. Tekintsnk egy alkalmazst, amely lland sebessggel kld adatot (pldul a kld N-bites egysgekben llt el adatot k idegysgenknt, ahol k kicsi s rgztett). Tovbb, ha egy ilyen alkalmazs elindul, akkor viszonylag hossz ideig fut. Vlaszolja meg az albbi krdseket, rvid bizonytssal:

1.6. TMADSOK A HLZAT LLUN

97

(a) Csomagkapcsolt vagy vonalkapcsolt hlzat lenne a megfelelbb ennek az alkalmazsnak? Mirt? (b) Tegyk fel, hogy csomagkapcsolt hlzatot hasznlunk, s csak olyan forgalom van a hlzaton, amelyet a fentebb lert alkalmazsok lltanakel. Tovbb tegyk fel, hogy az alkalmazsok tviteli sebessgeinek sszege kisebb, mint brmely adatkapcsolat kapacitsa. Szksges-e valamilyen torldsszablyozs? Mirt?

1.6. TMADSOK A HLZAT ELLEN

98

F3. Tekintsk az 1.8. brn lthat vonalkapcsolt hlzatot. Emlkezznk vissza, hogy n vonal van minden adatkapcsolaton. (a) Legfeljebb mennyi egyidej adatkapcsolat lehet folyamatban ezen a hlzaton brmely idpillanatban? (b) Tegyk fel, hogy minden adatkapcsolat a bal fels sarokban lv kapcsol, s a jobb als sarokban lv kapcsol kztt van. Legfeljebb hny egyidejadatkapcsolat lehet folyamaiban? F4. Nzze meg jra az 1.4. alfejezetben lv aulkaravn hasonlatot. A terjedsi sebessg itt is legyen 100 km/h. (a) Tegyk fel, hogy a karavn 200 km utat tesz meg, egy fizetkapu ell indulnak, tmennek egy msodik fizetkapun, s befejezik az ulat a harmadik fizetkapunl. Mennyi a vgpontok kztti ksleltets? (b) Ismt vlaszolja meg (a)-t, de ezttal a karavn lljon 10 helyeit 7 autbl. F5. Ez az alapfok feladat kezdi a terjedsi cs az tviteli ksleltetst, az adattviteli hlzatok kt kzponti fogalmt vizsglni. Kpzeljnk el kt hosztot, A-t s B-t, amelyeket egy R b/s sebessg adatkapcsolat kt ssze. Tegyk fel, hogy a kt hosztot m mter tvolsg vlasztja el egymstl, s a terjedsi sebessg az adatkapcsolaton s m/s. Az A hoszt egy L bit hosszsg csomagot kld a B hosztnak. (a) Fejezze ki a terjedsi ksleltetst m s s fggvnyben. (b) Hatrozza meg a csomag dilyile |, tviteli idejt Ls R fggvnyben. (c) rjon fel egy kifejezst a vgpontok kztti ksleltetsre, ahol a feldolgozsi s a sorbanllsi ksleltetst nem veszi figyelembe. (d) Tegyk fel, hogy az A hoszt t = 0 idnl kezdi kldeni a csomagot. Hol van a csomag utols bitje a t = d 4tv ,tci. idpillanatban? (e) Tegyk fel, hogy dl(Tic<ieu nagyobb, mint / tvi ,d. Hol van a csomag els bitje a t = / ilv ci, idpillanatban? (f) Tegyk fel, hogy dtetfcdi kisebb, mint dixyMh. Hol van a csomag els bitje a = dityilc ii idpillanatban? (g) Legyen s = 2,5 x 10* m/s, L = 100 bit s R = 28 kb/s. Mennyi az m tvolsg akkor, ha ^terjedsi dtvitcli? F6. Ebben a feladatban egy vals idej hangtvitelt tekintnk az A hoszttl a B hosztig egy csomagkapcsolt hlzaton keresztl (VoIF). Az A hoszt menet kzben talaktja az analg hangot egy digitlis, 64 kb/s-os bitfolyamm. Ezutn az A hoszt a biteket 48 bjtos csomagokba osztja. Az A s a B hoszt kztt egyetlen adatkapcsolat van; az tviteli sebessg 1 Mb/s, a terjedsi ksleltets 2 msec. Amint az A hosztnl sszegylik egy csomag, elkldi a B hosztnak. Amint a B hoszt megkapja a teljes csomagot, talaktja a csomag bitjeit analg jell. Mennyi id telik el egy bit ltrehozstl (ami az eredeti analg jelbl jn ltre az A hosztnl) a bit dekdolsig (amely mr az analg jel rsze a B hosztnl)? F7. Kpzeljk el, hogy felhasznlk osztoznak egy 1 Mb/s-os adatkapcsolaton. Tegyk fel, hogy minden felhasznlnak 100 kb/s-ra van szksge, amikor adatot kld, de minden felhasznl csak az id 10 szzalkban ad. (Lsd a statisztikus nyalbols trgyalst az 1.3. alfejezetben.) (a) Hny felhasznlt tmogat a rendszer vonalkapcsols esetn? (b) A feladat tovbbi rszben tegyk fel, hogy csomagkapcsolst hasznlunk. Menynyi a valsznsge, hogy egy adott felhasznl pp adatot kld? (c) Tegyk fel, hogy 40 felhasznl van. Mennyi annak a valsznsge, hogy

1.7. Szmtgp-hlzatok s az internet trtnete

99

brmely adott pillanatban pontosan n szm felhasznl kld pp adatokat? (Segtsg: hasznlja a binomilis eloszlst.) (d) Mennyi a valsznsge, hogy 11 vagy tbb felhasznl kld adatokat egy idben? F8. Tekintsk a statisztikus nyalbols 1.3. alfejezetben tallhat trgyalst, ahol egy pldt lthatunk egy 1 Mb/s-os adatkapcsolattal. A felhasznlk 100 kb/s sebessggel lltanak el adatokat, amikor elfoglaltak, de csak p = 0,1 valsznsggel vannak adatok ellltsval elfoglalva. Tegyk fel, hogy az 1 Mb/s-os adatkapcsolatot kicserljk egy 1 Gb/s sebessgre. (a) Mn nyi az az N legtbb felhasznl, akit egyidejleg kiszolglhat a rendszer vonalkapcsols esetn? (b) Tegyk fel, hogy a rendszer csomagkapcsolst hasznl, s M szm felhasznl van. Adja meg annak a valsznsgt (p, M s N tekintetben), hogy tbb mint N felhasznl kld pp adatot. F9. Tekintsnk egy L hosszsg csomagot, amelyet elkldenek az A vgrendszerrl, thalad egy adatkapcsolaton egy csomagkapcsolhoz, s innen egy msik adatkapcsolaton keresztl tovbbhalad a cl vgrendszerhez. Jellje d,y s, s R, az /. adat- kapcsolat hosszt, terjedsi sebessgt s tviteli sebessgt, ahol / = 1, 2. A csomag- kapcsol mi nden csomagot d Mdo i goriil ideig ksleltet. H a 0 sorbanl lsi ksleltetst ttele znk fel, akkor mennyi a teljes vgpontok kztti ksleltets, amelyet a csomag szenved, dn s R (i = 1, 2) s L vonatkozsban? legyk fel, hogy a csomag 1000 bjt hossz, a terjedsi sebessg mindkt adatkapcsolaton 2,5 x 10* m/s, az tviteli sebessg mindkt adatkapcsolaton 1 Mb/s, a csomagkapcsol feldolgozsi ksleltetse 1 msec, az els adatkapcsolat hossza 4000 km, az utols 1000 km. Mennyi a vgpontok kztti ksleltets ezeknl az rtkeknl? F10. Az elz feladatbaivtegyk fel, hogy /?, = R2 = R s <4idoi R ii = 0. legyk fel tovbb, hogy a csomagkapcsol nem trol-s-tovbbt tpus tvitelt alkalmaz, hanem azonnal elkld minden berkez bitet, mieltt az egsz csomag megrkezne. Mennyi a vgpontok kztti ksleltets? FII. Kgy csomagkapcsol megkap egy csomagot, s meghatrozza, melyik kimen adat- kapcsolatn kell a csomagot tovbbtani. Amikor a csomag megrkezik, egy msik csomagot mrpp fligelkldtekezen a kimenadatkapcsolaton,stovbbi hrom csomag vrakozik kldsre. A csomagokat rkezsi sorrendben tovbbtjk. Tegyk fel, hogy minden csomag 1000 bjt hossz, s az adatkapcsolat sebessge 1 Mb/s. Mennyi a sorbanllsi ksleltets erre a csomagra? ltalnosabban, mennyi a sorbanllsi ksleltets, ha minden csomag L hossz, az tviteli sebessg Ry az pp klds alatt ll csomag els x bitjt kldtk mr el, s n csomag vrakozik a sorban? FI2. Tegyk fel, hogy ti csomag egyszerre rkezik meg egy adatkapcsolatra, amelyen pp nem visznek t egy csomagot sem, s amelyre nem vrakozik pp egyetlen csomag sem. Minden csomag L hossz, s az adatkapcsolat tviteli sebessge R. Mennyi az tlagos sorbanllsi ksleltets n csomag esetn? F13. Tekintskasorbanllsi ksleltetst egy tvlaszt (egyik kimen adatkapcsolata eltt lv) puferben. legyk fel, hogy minden csomag L bit hossz, az tviteli sebessg R b/s, s ti csomag rkezik egy idben a puftrbe

100

1. A SZMTGP-HLZATOK S AZ INTP.RNfc!
minden LN/R. msodpercben. Adja meg egy csomag tlagos sorbanllsi ksleltetst. (Segtsg: A sorbanllsi ksleltets az els csomagnl 0; a msodik csomagnl L/R; a harmadik csomagnl 2L/R. Az ti. csomagot mr elkldtk, amikor a msodik adag csomag megrkezik.) Tekintsk a sorbanllsi ksleltetst egy tvlaszt pufferben. Jellje / a forgalomintenzitst; azaz / = La/R. Tegyk fel, hogy a sorbanllsi ksleltets IL/R (1 - /) alak, ahol / < 1. (a) Adja meg a teljes ksleltets kplett, azaz a sorbanllsi s az tviteli ksleltets sszegt. (b) Rajzolja fel a teljes ksleltetst L/R fggvnyben. (a) ltalnostsa a teljes ksleltets 1.4.3. alfejezetben megadott kplett heterogn feldolgozsi sebessgekre, tviteli sebessgekre s terjedsi ksleltetsekre. (b) Ismtelje meg (a)-t, de ezttal tegyk fel, hogy minden csompontnl Sorbanllsi tlagos sorbanllsi ksleltets van. Ksztsen tvonal kvetst (Traceroute) ugyanazon a kontinensen lv forrs s cl kztt a nap hrom klnbz rjban. (a) Adja meg a krljrsi ksleltetsek tlagt s a norml eloszlst mindhrom rra. (b) Adja meg minden rban az tvonalon lv tvlasztk szmt. Vltoztak az tvonalak brmely ra alatt? (c) Prblja meghatrozni a szolgltati hlzatok szmt, amelyeken a Traceroute csomagok thaladnak a forrstl a clig. A hasonl nev s/vagy hasonl IP-cm tvlasztkat tekintsk ugyanazon szolgltat hlzatba tartoznak. A ksrletben a legnagyobb ksleltetsek az egymst kvet szolgltatk kapcsoldsi pontjainl vannak? (d) Ismtelje meg a fentieket olyan forrssal s cllal, amelyek ms kontinensen helyezkednek el. Hasonltsa ssze a kontinensen belli s a kontinensek kztti ksrlet eredmnyeit. Tekintsk az 1.16. (b) brhoz kapcsold pldt az tbocstkpessgre. Tegyk fel, hogy M szm kliens-szerver pr van 10 helyett. Jellje R Rs. s R a szerver adatkapcsolatok, a kliens adatkapcsolatok s a hlzati adatkapcsolat tviteli sebessgt. Tegyk fel, hogy a tbbi adatkapcsolat bsges kapacitssal rendelkezik, s az M kliens-szerver pr ltal ellltott forgalmon kvl nincs ms forgalom a hlzaton. Vezessen le egy ltalnos kifejezst az tbocstkpessgre K Rn R s M vonatkozsban. Tekintsnk kt hosztot, A-t s B-t, amelyek 10 000 km tvolsgban vannak egymstl, s egy R = 1 Mb/s sebessg kzvetlen adatkapcsolattal vannak sszektve. Tegyk fel, hogy a terjedsi sebessg az adatkapcsolaton 2,5 x 10 s m/s. (a) Szmtsa ki a svszlessg s a ksleltets szorzatt, azaz R x dictjed^-t. (b) Kpzeljk el, hogy egy 400 000 bit hossz fjlt kldnk az A hosztrl a B hosztra. 'legyk fel, hogy a fjlt folytonosan kldjk, egyetlen nagy zenetknt. Hny bit lesz legfeljebb az adatkapcsolaton brmely adott idpillanatban? (c) rtelmezze a svszlessg s a ksleltets szorzatt. (d) Milyen hossz (mterben) egy bit az adatkapcsolaton? Hosszabb, mint egy fut- ballplya? (e) Vezessen le egy ltalnos kifejezst a bit hosszra az s terjedsi sebessg, az R tviteli sebessg, s az m adatkapcsolathossz

F14.

F15.

F16.

F17.

F18.

1.7. Szmtgp-hlzatok s az internet trtnete

101

vonatkozsban. F19. Tekintsk a P 18-as feladatot, s most tegyk fel, hogy megvltoztathatjuk R1. Milyen R rtkre fog megegyezni egy bit hossza az adatkapcsolat hosszval? F20. Tekintsk a Pl8-as feladatot, de most R = 1 Gb/s-os adatkapcsolati sebessggel. (a) Szmtsa ki a svszlessg s a ksleltets szorzatt, azaz R

102

1. A SZMTGP-HLZATOK S AZ INTP.RNfc!
(b) Kpzeljk el, hogy egy 400 000 bit hossz fjlt kldnk az A hoszttl a B hosztra. Tegyk fel,hogy a fjlt folytonosan kldjk,egyetlen nagy zenetknt. Hny bit lesz legfeljebb az adatkapcsolaton brmely adott idpillanatban? (c) Milyen hossz (mterben) egy bit az adatkapcsolaton? Tekintsk jra az F18. feladatot. (a) Mennyi idt vesz ignybe a fjl kldse, ha feltesszk, hogy folytonosan kldjk? (b) Tegyk fel, hogy a fjlt 10 csomagra daraboljuk fel, ahol minden csomag 40 000 bitet tartalmaz. Tegyk fel azt is, hogy a fogad minden csomagot nyugtz, s a nyugta csomag tvitei ideje elhanyagolhat. Vgl tegyk fel, hogy a kld nem kldhet addig csomagot, amg az elzt nem nyugtztk. Mennyi idt vesz ignybe a fjl tvitele? v (c) Hasonltsa ssze az (a) s (b) eredmnyeit. Tekintsnk egy 10 Mb/s-os mikrohullm adatkapcsolatot egy geostacionrius mhold s a fldi bzisllomsa kztt. A mhold percenknt kszt egy digitlis fnykpet, s elkldi a bzisllomsnak. Tegyk fel, hogy a terjedsi sebessg 2,4 x 10 8 m/s. (a) Mennyi az adatkapcsolat terjedsi ksleltetse? (b) Mennyi a svszlessg s a ksleltets szorzata, azaz R x dlcl}cHi? (c) jellje x a fnykp mrett. Mekkora az a legkisebb A - rtk, amelynl a mikrohullm adatkapcsolaton keresztl folyamatos lesz az tvitel? Tekintsk az 1.5. alfejezetben trgyalt, rtegzettsgrl szl trgyalsunkban lv lgi kzlekedsi hasonlatot, s a protokoll adategysgekhez trtn fejrszhozzadst, mikzben haladnak lefel a protokollkszleten. Van-e megfelelje a fejrsz informcinak, amit hozzadnak az utasokhoz s a csomagokhoz, amint haladnak lefel a lgi kzlekeds protokollkszletn? A modern csomagkapcsolt hlzatokban a forrs hoszt kisebb csomagokra darabolja a hossz, alkalmazsi zeneteket (pldul egy kp vagy egy zenei fjl), s ezeket a csomagokat kldi el a hlzaton. A fogad ezutn sszerakja a csomagokat, sellltja az eredeti zenetet. Ezt zenet szegmentlsnak nevezzk. Az 1.24. bra egy zenet vgpontok kztti tvitelt mutatja be zenetszegmentlssal s anlkl. Tekintsk az 1.24. brn a forrstl a clig tkldend 7,5 x 10 6 bit hossz fjlt. Tegyk fel, hogy az brn minden adatkapcsolat 1,5 Mb/s sebessgre kpes. I lanyagoljuk el a terjedsi, sorbanllsi s feldolgozsi ksleltetst.

F21.

F22.

F23.

F24.

Forrs

Csomagkapcsol Csomagkapcsol Cl

Cl

1.7. Szmtgp-hlzatok s az internet trtnete

103

104

1. A SZMTGP-HLZATOK S AZ INTP.RNfc!
Csomagkapcsol Csomagkapcsol

1.24. bra. Vgpontok kztti zenettvitel: (a) zenetszegmentls nlkl;


(b) zenetszegmentlssal

(a )

i c>oma9 G8S3 *
Forrs

(b)

(a) Tekintsk az zenet kldst a forrstl a clig zenetszegmentls nlkl. Menynyi idt vesz ignybe az zenet tvitele a forrshoszttl az els csomagkapcsolig? Figyelembe vve, hogy minden kapcsol trol-stovbbt tpus csomag- kapcsolst hasznl, mennyi ideig tart az zenet teljes tvitele a forrshoszttl a cl hoszt ig? (b) Tegyk fel, hogy az zenetet 5000 csomagra daraboljuk, ahol minden csomag 1500 bjt hossz. Mennyi idt vesz ignybe az els csomag tvitele a forrshoszttl az els kapcsolig? A forrshoszt akkor kldi a msodik csomagot az els kapcsolnak, amikor az els kapcsol az els csomagot a msodik kapcsolnak kldi. Mikor fog a msodik csomag teljesen megrkezni az els kapcsolhoz? (c) Mennyi ideig tart a fjl tvitele a forrshoszttl a clhosztig, ha zenetszegmentlst hasznlunk? Hasonltsa ssze ezt az eredmnyt az (a) rsznl kapott eredmnnyel, s indokolja. (d) rja le az zenetszegmentls htrnyait. F25. Ksrletezzen a knyv weboldaln tallhat Message Segmentation programmal. Kapcsoldnak a programban lthat ksleltetsek az elz feladatban lthat ksleltetsekhez? Hogyan befolysolja az adatkapcsolat terjedsi sebessge a teljes, vg- * pontok kztti ksleltetst csomagkapcsols (zenetszegmentlssal) s zenetkap- csols esetn? F26. Tekintsk egy nagy, F bit hossz fjl tvitelt az A hosztrl a B hosztra. A s B kztt kt adatkapcsolat (s egy kapcsol) van, s az adatkapcsolatokon nincs torlds (azaz nincs sorbanllsi ksleltets). Az A hoszt S bites szegmensekre darabolja a fjlt, s 40 bites fejrszt ad minden szegmenshez, L = 40 + S bit hosszsg csomagokat ellltva. Minden adatkapcsolat tviteli sebessge R b/s. Adja meg azon S rtket, amelyre az A hoszt s B hoszt kztti fjltvitel ksleltetse a legkisebb lesz. Hagyja figyelmen kvl a terjedsi ksleltetst.

Gondolkodtat krdsek
Gl. Milyen vezetk nlkli mobil szolgltatsok rhetk el az n krnyezetben? G2. IEEE 802.11 vezetk nlkli I.AN-megoldst hasznlva tervezzen egy otthoni hlzatot a sajt s a szlei otthonba. Sorolja fel az otthoni hlzatban lv egyes termktpusokat s az raikat. G3. Ismertesse a PC-k kztt mkd Skype-szolgltatst. Prblja ki a Skype PC-k kztti videoszolgltatst, s rja le tapasztalatait. G4. A Skype egy olyan szolgltatst knl, amely lehetv teszi, hogy telefonhvst kezdemnyezznk egy PC-rl egy hagyomnyos telefonra. Ez azt jelenti, hogy a hanghvsnak t kell mennie az interneten s a telefonhlzaton keresztl is. Hogyan valsthat ez meg? G5. Mi a rvid szvegeszenet-szolgltats (Short Message Service, SMS)? Mely orszgokban/kontinenseken npszer ez a szolgltats? Lehetsges SMS-t kldeni egy weboldalrl egy hordozhat telefonra? G6. Mit jelent a trolt vide folyamszer letltse? Ma milyen npszer weboldalak

knlnak videoletltsi lehetsget?

G7. Mit jelent az l vide P2P folyam szer letltse? Ma milyen npszer weboldalak knlnak ilyen szolgltatst? G8. Keressen t vllalatot, amely P2P fjlmegoszt-szolgltatst knl. Milyen tpus fjlokkal (azaz tartalommal) foglalkoznak ezek a cgek? G9. Ki tallta fel az ICQ-t, az els azonnali zenetkld szolgltatst? Mikor talltk fel, s mennyi idsek voltak a feltallk? Ehhez hasonlan ki tallta fel a Napstert? Mikor talltk fel, s mennyi idsek voltak a feltallk? G10. Hasonltsa ssze a WiFi vezetk nlkli internet-hozzfrseket s a 3G vezetk nlkli internet-hozzfrseket. Milyen sebessget nyjtanak ezek a szolgltatsok? Mennyibe kerlnek? Jellemezze a barangolst (roaming) s a mindenhonnan elrhet hozzfrseket. Gll. Mirt nem ltezik mr az eredeti Napster P2P-fjlmegoszt szolgltats? Mi az RIAA, s milyen intzkedseket tesz, hogy korltozza a szerzi joggal vdett tartalmak P2P-megosztst? Mi a klnbsg a szerzi jog kzvetlen s kzvetett megsrtse kztt? G12. Mi az a BitTorrent? Miben klnbzik alapveten az olyan P2P fjlmegoszt hlzatoktl, mint az eDonkey, a LimeWare s a Kazaa? G13. n szerint 10 v mlva mg mindig szleskren jelen lesz a szerzi joggal vdett fjlok szmtgp-hlzatokon keresztl trtn megosztsa? Fejtse ki indoklst is.

Vlaszol

Leonard Kleinrock
Leonard Kleinrock a szmtstechnika professzora a Los Angeles-i University of Californin. 1969-ben az szmtgpe lett az internet els csompontja. 1961ben kidolgozta a csomagkapcsols alapelveit, amely az internet mszaki htterv vlt. Elnke s alaptja a Nomadix Inc.-nck, egy olyan vllalatnak, amely jobb hozzfrst biztost a szles sv internetszolgltatsokhoz. Villa mosmrnkknt vgzett a City College of New York-on (CCNY), majd a mester s a PhD fokozatt az MIT-n szerezte meg. Mi ksztette arra, hogy hlzatos/internetes mszaki megoldsokra szakosodjon? 1959-ben PhD-sknt az MIT-n krlnztem, s azt lttam, hogy a legtbb osztlytrsam informcielmleti s kdolselmleti kutatsokat vgez. Az MIT-n volt az a nagy kutat, Claude Shannon, aki elindtotta ezeket a terleteket, s mr megoldotta a legfontosabb problmkat. A fennmarad kutatsi feladatok nehezek voltak, s kevesebb eredmnnyel kecsegtettek, gy gy dntttem, hogy egy j terleten kezdek, amellyel mg senki nem foglalkozott. Az MIT-n rengeteg szmtgppel voltam krlvve, s vilgos volt, hogy ha marosan ezeknek a szmtgpeknek kommuniklniuk kell egymssal. Akkoriban nem volt hatkony mdszer, hogy ezt lehetv tegye, ezrt gy dntttem, hogy kifejlesztem azt a mszaki megoldst, amely hatkony adathlzatok ltrehozst teszi lehetv. Mi volt az els munkja a szmtgpiparban? 1951-tl 1957-ig a CCNY esti villamosmrnki szakra jrtam. Napkzben elszr technikusknt, majd mrnkknt dolgoztam egy kis, ipari elektronikkkal foglalkoz gyrban, amit Photobellnek hvtak. Amg ott voltam, bevezettem a digitlis technikt a termkvonalukba. Lnyegben fotoelektromos eszkzket hasznltunk bizonyos dolgok (dobozok, emberek stb.) jelenltnek rzkelsre, s egy ramkrt, az n. bistabil multivibrtort hasznltunk, amelyre azrt volt szksgnk, hogy az rzkels e terletbe bevonjuk a digitlis feldolgozst. Ezek az ramkrk trtnetesen a szmtgpek ptkocki lettek, s Jlip-Jlopokknt vagy kapcsolkknt lettek ismertek a mai szaknyelvben.

Mi futott l az agyn, amikor az els, hosztok kztti zenelct elkldte (az ULCA-rl a Stanford Research lnstitutc-hoz)? Az els hosztok kztti zenet inkbb egy kis kibrnduls volt. Az els, sokkal meghatrozbb esemny 1969. szeptember 2-n trtnt, amikor az els hlzati berendezst (az IMP-t) hozzkapcsoltuk az els, klvilgban lv mkd rendszerhez (az n UCLA-n lv szmtgpemhez). Ekkor szletett meg az internet. Egy vvel korbban, egy LJI.CA sajtkzlemnyemet idztk, amikor azt mondom, hogy amint az els hlzat felll s mkdik, olyan knnyen lehet majd szmtgpekhez csatlakozni otthonrl, az irodkbl, mint ahogyan elrjk az elektromossgot s a telefont. gy az internetrl alkotott vzim akkor az volt, hogy mindentt jelen lesz, mindig mkdik, mindig el

rhet, mindenki brmilyen eszkzzel brhonnan csatlakozhat, s lthatatlan lesz. Soha nem gondoltam azonban, hogy az n 99 ves anym llandan az interneten fog lgni, s ma valban ezt teszi. Mi a vzija a jv hlzatairl? A vzim legtisztbb rsze a nomd szmtgpezs s az okos terek vzija. A knny, olcs, nagy teljestmny s hordozhat szmtgpek elrhetsge, valamint az, hogy az internet mindentt jelen van, lehetv teszik, hogy nomdok legynk. A nomd szmt- gpezs arra a mdszerre utal, amely lehetv teszi az utaz felhasznlknak, hogy teljesen szrevehetetlen mdon rjk el az internetet, brhov is utaznak. A nomd szmtgpezs azonban csak egy lps. A msik lps az lesz, amelyik lehetv teszi, hogy a kibertr poklbl kilpjnk az okos terek fizikai vilgba. A krnyezetnk elemei (asztalok, falak, jrmvek, rk, vk stb.) letre fognak kelni, ha olyan mszaki megoldsokat alkalma zunk, mint a belltok, a szenzorok, a logika, a feldolgozs, a trols, a kamerk, a mik rofonok, a hangszrk, a kijelzk s a kommunikci. Ez a begyazott megolds lehetv fogja tenni, hogy a krnyezetnk olyan IP-szolgltatsokat nyjtson, amilyet akarunk. Ha belpek egy szobba, a szoba tudni fogja, hogy belptem. Kommuniklhatok a krnyezetemmel termszetes mdon, ahogyan a beszlt angolban; a krseim olyan vlaszokat fognak generlni, amelyek weboldalakat mutatnak meg a fali kijelzkn, a szemvegemen, hangot, hologramot stb. Kiss tvolabbra tekintve, olyan hlzatos jvt ltok, amely tovbbi kulcssszetevket tartalmaz. Olyan intelligens szoftvereket ltok, amelyeket adatbnyszat cljbl teleptettek a hlzaton, s azrt, hogy reagljanak az adatokra, megfigyeljk a tendencikat, s ezekhez dinamikusan alaktott feladatokat hajtsanak vgre. Jelentsen megnvekedett hlzati forgalmat ltok, amelyet nem annyira az emberek lltanak el, hanem ezek a begyazott eszkzk s az intelligens szoftverek. Nagyszm, nmaga rendezsre kpes rendszert ltok, amely vezrli ezt a nagy, gyors hlzatot. Hatalmas mennyisg inform cit ltok, amint azonnal thalad ezen a hlzaton, s kzben feldolgozzk s szrik is. Az internet lnyegben egy mindent that, vilgmret idegrendszer lesz. Ezeket a dolgokat ltom, s mg tbbet is, ahogy elre haladunk a 21. szzadban. Kik inspirltk szemlyesen? Tvolrl Calude Shannon volt az MIT-rl, aki brilins kutat, s intuitv mdon ssze tudta ktni a matematikai tleteit a fizikai vilggal. Benne volt a doktori disszertcimat brl bizottsgban.
4

Van valami tancsa azoknak az egyetemi hallgatknak, akik most lpnek be a hlzatok/internet terletre? Az internet s mindaz, ami lehetv teszi, egy hatalmas j terlet, tele elkpeszt kihvsokkal. Van hely nagy fejlesztseknek. Ne hatrolja be ket a ma technikja. Kutassk ki s kpzeljk el, mi lehetne mg, s valstsk meg.

2. FEJEZET

Az alkalmazsi rteg

A szmtgp-hlzatok ltezst a hlzati alkalmazsok indokoljk - ha nem tallnnk ki klnfle hasznos alkalmazsokat, nem lenne szksg arra, hogy hlzati protokollokat tervezznk ezek szmra. Az elmlt negyven vben szmos nagyszer s gyes hlzati alkalmazst hoztak ltre. Ezek magukba foglaljk azokat a klasszikus szvegalap alkalmazsokat, amelyek az 1970-es s 1980-as vekben vltak npszerv: a szveges elektronikus levelet (e-mail), szmtgpek tvoli elrst, a fjltvitelt, a hrcsoportokat s a szveges csevegprogramokat (chat). Magukba foglaljk az 1990-es vek kzepnek tt erej alkalmazst, a vilghlt (World Wide Web) s vele a webbngszst, keresst, va lamint az elektronikus kereskedelmet. Ide tartozik az a kt sikeralkalmazs, amelyek az vezred vge fel kezdtek elterjedni: az azonnali zenetklds (ismersk listjval) s a P2P-fjlmegoszts. Ide tartozik tovbb sok sikeres audio- s videoalkalmazs, belertve az internetes telefonlst, videoanyagok cserjt s folyamszer letltst, az internetes rdizst s az IP-televzit (IPTV). Az otthoni szles sv hozzfrs nvekv elterjedtsge s az egyre nagyobb terleten elrhet vezetk nlkli hlzatok pedig tovbbi j s izgal mas alkalmazsok szmra ksztik el a terepet. Ebben a fejezetben megvizsgljuk a hlzati alkalmazsokat az elvek s a megvalsts szemszgbl. Elszr meghatrozzuk az alkalmazsi rteg legfontosabb fogalmait, belertve az alkalmazsok ltal ignybe vett hlzati szolgltatsokat, klienseket s szervereket, folyamatokat, valamint az interfszeket a szlltsi rteg fel. Rszletesen megvizsglunk nhny hlzati alkalmazst, igy a vilghlt, az elektronikus levelezst, a DNS-t, a P2Pfjlcserlst (peer-to-peer) s a P2P internetes telefonlst. Ezutn a hlzati alkalmazsok fejlesztsrl lesz sz a TCP s az UDP felett egyarnt. Rszletesen tanulmnyozzuk a szoketprogramozsi interfszt s bemutatunk nhny egyszer kliens-szerver alkalmazst Java nyelven. Az alkalmazsi rteg klnsen j a protokollokkal trtn ismerkedsre. Itt ismers terepen mozgunk, hiszen sok olyan alkalmazst ismernk, amelyek az ltalunk vizsgland protokollokra tmaszkodnak. Rajta keresztl ttekintst kapunk arrl, hogy mire is jk a protokollok, s megismerkednk azokkal a szempontokkal, amelyek ksbb a szlltsi, hlzati s adatkapcsolati rteg vizsglatnl is visszaksznnek.

2.1. Hlzati alkalmazsok elvi alapjai


Tegyk fel, hogy az olvas kitall egy j hlzati alkalmazst. Ez az alkalmazs esetleg nagy szolglatot tehet az emberisgnek, rmet szerezhet a tanrunknak, sok pnzt lehet vele keresni, vagy egyszeren csak kedvtelsbl fejlesztjk. Fggetlenl attl, hogy mi a motivcink, vizsgljuk meg, hogyan lehet ebbl az tletbl egy valdi hlzati alkalmazst alkotni. A hlzati alkalmazsok fejlesztsnek lnyege, hogy olyan programokat kell rni, amelyek klnll vgrendszereken futnak, s a hlzaton keresztl kommuniklnak egymssal. A web esetben pldul kt program kommunikl egymssal: a bngszprogram, amely a felhasznl hosztjn (ez lehet asztali szmtgp, laptop, PDA, mobiltelefon s gy tovbb) fut, s a webszerver hoszton fut szerverprogram. Egy msik plda lehet egy P2F fjlmegoszt rendszer, ahol minden hoszton fut egy program, amely rszt vesz a fjlmegoszt kzssgben. Ez utbbi esetben a klnbz hosztokon valsznleg azonos vagy hasonl programok futnak. Az j alkalmazs fejlesztsekor teht olyan szoftvert kell rni, amely tbb klnbz vgrendszeren fog futni. Ezt a szoftvert megrhatjuk pldul C, C++ vagy Java nyelven. Fontos megjegyezni, hogy az alkalmazsfejlesztnek nem lesz szksge arra, hogy a hlzat belsejben lv eszkzkn, pldul tvlasztkon (mtereken) vagy adatkapcsolati rtegbeli kapcsolkon fut szoftvereket rjon. Mg ha szeretne is, ezekre az eszkzkre nem lehetsges alkalmazi szoftvereket rni. Amint azt az l. fejezetben s korbban az 1.20.brn lttuk, a hlzat belsejben lv eszkzk nem az alkalmazsi rtegben mkdnek, hanem alacsonyabb rtegekben, egszen pontosan a hlzati rtegben s az alatt. Ez a 2.1. brn lthat konstrukci - vagyis az alkalmazi szoftvereknek a vgrendszerekre trtn korltozsa - elsegtette a hlzati alkalmazsok sokasgnak gyors fejlesztst s elterjedst.

2.1.1. Hlzati alkalmazsi architektrk


Mieltt belemerlnnk a szoftverkd rsba, ksztennk kell egy nagyvonal architek- turlis tervet az alkalmazsunkrl. Ne felejtsk el, hogy egy alkalmazs architektrja hatrozottan klnbzik a hlzat architektrjtl (vagyis az 1. fejezetben trgyalt trteg i nterneta rch itekt rtl). Az alkalmazsfejleszt szemszgbl nzve a hlzati architektra rgztett, s meghatrozott szolgltatsokat nyjt az alkalmazsoknak. Az alkalmazs architektrjt ezzel szemben az alkalmazsfejleszt tervezi meg, s hatrozza meg az alkalmazs struktrjt a klnbz vgrendszereken. Az alkalmazs architektrjnak megtervezsekor a fejlesztk felteheten a kt leggyakoribb architekturlis megkzelts valamelyikt vlasztjk: ezek a kliens-szerver architektra s az egyenrang trsak kztti (peer-to-peer, P2P) architektra. Kliens-szerver architektrnl minden esetben van egy folyamatosan mkd hoszt, a szerver, amely kiszolglja a tbbi hoszttl, a kliensektl rkez krseket. A klienshosz- tok is lehetnek folyamatosan mkdk, de ez nem szksgszer. Klasszikus pldja ennek az architektrnak a web mkdse, ahol egy folyamatosan mkd webszerver szolglja ki a klienshosztokon fut bngszk ltal kldtt krseket. Ha a webszerver egy ob jektumra vonatkoz krst kap egy

klienshoszttl, vlaszknt elkldi a krt objektumot a klienshosztnak. Megjegyzend, hogy a kliens-szerver architektrban a kliensek nem kommuniklnak kzvetlenl egymssal; a web esetn pldul kt bngsz nem kommunikl kzvetlenl egymssal. A kliens-szerver architektrra jellemz az is, hogy a szerver rgztett, jl ismert cmmel rendelkezik, az n. IP-cmmel (amelyet a ksbbiekben trgyalunk). Mivel a szervernek rgztett, jl ismert cme van, s folyamatosan mkdik, egy kliens brmikor kapcsoldhat a szerverhez azltal, hogy egy csomagot kld a szerver cmre. A kliens-szerver architektrt hasznl alkalmazsok kz olyan ismert alkalma-

Alkalmazsi Szlltsi Hlzati Adatkapcsolati Fizikai

Mobiltelefon hlzat

Orszgos vagy globlis internetszolgltat

C>cv-

'^

Helyi vagy krzet internetszolgltatc

Otthoni hlzat

Alkalmazsi Szlltsi Hlzati Adatkapcsolati Fizikai Hlzati Adatkapcsolati Fizikai


Alkalmazsi Szlltsi

2.1. bra. Egy hlzati alkalmazsban a kommunikci az alkalmazsi rtegben lv


vgrendszerek kztt megy vgbe

zsok tartoznak, mint pldul a web, az FTP, a Telnet s az e-mail. A kliens-szerver architektra a 2.2. (a) brn lthat. Kliens-szerver alkalmazsoknl gyakori, hogy egyetlen szerver nem kpes egyedl feldolgozni a kliensektl rkez krseket. Egy npszer kzssgi oldal pldul gyorsan tlterheldhet, ha egyetlen szervernek kell kiszolglnia az sszes krst. Emiatt gyakran zemeltetnek tbb hosztbl kialaktott szerverfarmokat, amelyek nagy teljestmny virtulis szerverknt mkdnek a kliens-szerver architektrban. A kliens-szerver architektrn alapul szolgltatsok sokszor infrastruktra-ignyesek, mivel ezek mkdtetshez a szolgltatnak szerverfarmokat kell beszereznie, teleptenie s fenntartania. A szolgltatnak tovbb rendszeres sszekt hlzati s svszlessg-djakat kell fizetnie az internetre trtn adatkldsrt s onnan trtn adatfogadsrt. Az olyan npszer szolgltatsok, mint a keresmotorok (pldul Google), az internetes kereskedelem (pldul Amazon, e-Ray), a webes levelezs (pldul Yahoo Mail), a kzssgi oldalak (pldul MySpace, Facebook) s a videomegoszts (pldul YouTube) infrastruktra-ignyesek s kltsgesek. A P2P-architektra nem (vagy csak minimlis mrtkben) tmaszkodik a folyamatos zem infrastruktra-szerverekre. Az alkalmazs ehelyett az idszakosan sszekapcsolt hosztok, az n. egyenrang trsak (peer) kztti kzvetlen kommunikcit aknzza ki.

(a) Kliens-szerver architektra

(b) P2P-architektra

2.2. bra. (a) Kliens-szerver architektra; (b) P2P-architektra

A trsak nem a szolgltat tulajdonban vannak, hanem a felhasznlk ltal kezelt asztali szmtgpek s laptopok, amelyek ltalban laksokban, egyetemeken s irodkban helyezkednek el. Mivel a trsak egy kzponti szerver kzbeiktatsa nlkl kommuniklnak, ezt a felptst egyenrang trsak kztti (peer-to-peer, P2P) architektrnak nevezik. Napjaink legnpszerbb s leginkbb forgalomintenzv alkalmazsai kzl sok a P2P-alap alkalmazs. Ilyenek tbbek kztt a fjlcserl alkalmazsok (pldul Bit'lbr- rent), fjlkeres s megoszt alkalmazsok (pldul eMule, LimeWire), az internetes telefonls (pldul Skype) s az IPTV (pldul PPLive). A P2P-architektrt a 2.2. (b) bra szemllteti. Itt emltjk meg, hogy egyes alkalmazsok hibrid architektrt hasznlnak, vegytve a kliens-szerver s a P2PeIrendezsek elemeit. Sok zenetkld alkalmazs pl dul szervereken kveti nyomon a felhasznlk IP-cmeit, a felhasznlk egyms kzt ti zeneteit viszont mr kzvetlenl a felhasznlk hosztjai kztt tovbbtja (szerverek kzbeiktatsa nlkl). A P2P-architektrk egyik leggretesebb tulajdonsga az nsklzhatsg (selfsca- lability). Egy P2P fjlmegoszt alkalmazs esetn pldul igaz, hogy minden trs nveli a terhelst azzal, hogy fjlokat tlt le, ugyanakkor viszont minden egyes trs nveli a rendszer kiszolglkpessgt azltal, hogy fjlokat tovbbt ms trsakhoz. A P2P-archi- tektrk emellett kltsghatkonyak is, mert ltalban nem ignyelnek jelents szerverinfrastruktrt s svszlessget. A kltsgek cskkentse rdekben a szolgltatk (MSN, Yahoo s msok) egyre inkbb rdekldnek a P2Parchitektrk irnt. Msrszt viszont a P2P-alkalmazsok biztonsgnak megoldsa kihvst jelent azok nagymrtkben elosztott s nyitott jellege miatt [Doucer 2002; Yu 2006; Liang 2006; Naoumov 2006].

2.1.2. Kommunikl folyamatok


Egy hlzati alkalmazs elksztse eltt szksg van annak megrtsre, hogy a klnbz vgrendszereken fut programok hogyan kommuniklnak egymssal. Az opercis rendszerek zsargonjval lve nem is programok, hanem folyamatok (processes) vesznek rszt a kommunikciban. Egy folyamat felfoghat gy, mint egy program, amely ppen fut egy vgrendszeren. Ha tbb folyamat fut ugyanazon a vgrendszeren, akkor folyamatok kzti kommunikci segtsgvel kommuniklhatnak egymssal, amely a vgrendszer opercis rendszere ltal meghatrozott mdon mkdik. Knyvnkben nem foglal kozunk az ugyanazon a hoszton fut folyamatok kzti kommunikcival, rdekldsnk arra irnyul, hogyan kommuniklnak azok a folyamatok, amelyek klnbz hosztokon (s esetlegesen klnbz opercis rendszereken) futnak. Kt klnbz vgrendszeren fut folyamatok gy kommuniklnak egymssal, hogy zeneteket (messages) kldenek a szmtgp-hlzaton keresztl. Egy kld folyamat zeneteket hoz ltre, s azokat elkldi a hlzatra, egy fogad folyamat pedig fogadja ezeket az zeneteket, s esetleg vlaszzeneteket kld a kld folyamatnak. A 2.1. bra illusztrlja, hogyan kommuniklnak egymssal a folyamatok az trteg protokollverem alkalmazsi rtegt felhasznlva.

Kliens- s szerverfolyamatok
Egy hlzati alkalmazs folyamatprokbl ll, amelyek zeneteket kldenek

egymsnak a hlzaton t. A web esetn pldul egy, a kliensen fut bngsz folyamat cserl zeneteket egy webszerverfolyamattal. A P2P fjlmcgoszt rendszerekben az egyik trs egy folyamata egy msik trson fut folyamatnak kldi t a fjlokat. ltalban minden kommunikl folyamatprnl az egyik folyamat kliensknt, a msik pedig szerverknt definilha t. A web esetn a bngsz egy kliensfolyamat, a webszerver pedig egy szerverfolyamat. A P2P-fjlmegosztknl az a trs a kliens, amely ppen letlt egy fjlt, amelyik pedig feltl ti a fjlt, az a szerver. Megfigyelhet, hogy bizonyos alkalmazsokban, pldul a P2P-fjlmegosztkban egy folyamat lehet kliens is s szerver is. St, egy P2P fjlmegoszt rendszerben ugyanaz a folyamat kpes egy idben le- s feltlteni fjlokat. Mindazonltal egy adott kommunikcis munkamenet alatt egyrtelmen meghatrozhat, hogy melyik folyamat a kliens s melyik a szerver. A kliens- s szerverfolyamatokat a kvetkezkppen definiljuk:

Kt folyamat kztt zajl kommunikcis munkamenet sorn azt a folyamatot, amelyik a kommunikcit kezdemnyezi (vagyis elsknt veszi fel a kapcsolatot a msik folyamattal a munkamenet kezdetn), kliensnek nevezzk. Azt a folyamatot, amely vrakozik arra, hogy felvegyk vele a kapcsolatot, szervernek nevezzk.
A web esetn a bngszfolyamat kezdemnyezi a kapcsolatot a webszerverfolyamattal, ezrt a bngszfolyamat a kliens, a webszerver folyamat a szerver. A P2P-fjlmegoszts- nl, ha az A trs krst intz a B trs fel, hogy az kldjn el neki egy megadott fjlt, az adott kommunikcis munkafolyamatban az A trs a kliens, a B pedig a szerver. Ahol nem okoz flrertst, a tovbbiakban gyakran fogjuk hasznlni az alkalmazs szerver- oldala s kliensoldala elnevezseket.

A folyamatok s a szmtgp-hlzat kztti interfsz


Mint korbban mr emltettk, a legtbb alkalmazs kommunikl folyamatprokbl ll, amelyek mindkt tagja zeneteket kld egymsnak. Minden zenet az alkalmazsi rteg alatt clhelyezked hlzaton keresztl jut el cljba. A folyamatok egy szoftveres interfszen, a csatlakozn vagy szoketen (socket) keresztl tudnak zeneteket kldeni a hlzatba, illetve fogadni onnan. A folyamatok s szoketek jobb megrtshez tekintsnk egy analgit. Egy folyamatot egy hzhoz lehet hasonltani, a szoketet pedig az ajthoz. Ha egy folyamat zenetet kvn kldeni egy msik hoszton fut folyamatnak, kiteszi az zenetet a sajt ajtajn (ez a szkt). A kld folyamat felttelezi, hogy ltezik valamilyen tviteli infrastruktra az ajt tloldaln, amely elszlltja az zenetet a clfolyamathoz. Amikor az zenet megrkezik a clhosztra, az zenet belp a fogad folyamat ajtajn (szoketjn), ezutn a fogad folyamat feldolgozza az zenetet. A 2.3. bra bemutatja a szoketalap kommunikcit kt folyamat kztt, amelyek az interneten keresztl kommuniklnak (felttelezve, hogy az alkalmazott szlltsi protokoll az internet TCP protokollja). Amint az brn lthat, a szoketek jelentik az interfszt az alkalmazsi rteg s a szlltsi rteg kztt egy hoszton bell. A szkt msik szoksos elnevezse az alkalmazsprogramozi interfsz (Application Programming Interface, API) az alkalmazs s a hlzat kztt, mivel a szkt az a programozsi interfsz, amelyre a hlzati alkalmazsok plnek. A szkt

alkalmazsi rteg felli oldala az alkalmazsfejleszt irnytsa alatt ll, a szlltsi rteg felli oldalra viszont a fejlesztnek kevs befolysa van. Az alkalmazsfejleszt a szlltsi rteg oldaln csak (1) a szlltsi proto kollt vlaszthatja ki s (2) esetlegesen bellthat nhny szlltsi rtegbeli paramtert, mint amilyen pldul a maximlis puftermret s a maximlis szegmensmrct (ezekrl a

Hoszt vagy szerver

Hoszt vagy szerver

Alkalmazas fejleszt kezeli Folyamat

Alkalmazsfejleszt kezeli

Szkt
Opercis rendszer kezeli TCP-pufferekkel, vltozkkal Internet TCP-pufferekkel, vltozkkal Opercis rendszer kezeli

2.3. bra. Alkalmazsi szint folyamatok, szoketek s az alattuk elhelyezked


szlltsi protokoll 3. fejezetben lesz sz). Miutn az alkalmazsfejleszt kivlasztotta a szlltsi protokollt (ha van egyltaln vlasztsi lehetsge), az alkalmazs gy pl fel, hogy az adott protokoll ltal biztostott szolgltatsokat veszi ignybe. A szoketeket rszletesen a 2.7. s 2.8. aifejezetben mutatjuk be.

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok


Ne felejtsk el, hogy a szoketek jelentik az interfszt az alkalmazsi folyamat s a szlltsi rteg protokolljai kztt. A kld alkalmazs zeneteket tovbbt a szoketen keresztl. A szkt msik oldaln a szlltsi rtegbeli protokoll a felels azrt, hogy eljuttassa az zeneteket a fogad szkt ajtajig. Sok hlzat, kztk az internet is, tbb szlltsi protokollt knl. Egy alkalmazs fejlesztsekor el kell dnteni, hogy melyiket hasznljuk a rendelkezsre ll szlltsi protokollok kzl. Mi alapjn hozhat meg ez a dnts? Valsznleg az a legjobb, ha megvizsgljuk a rendelkezsre ll protokollok ltal nyjtott szolgltatsokat, s azt a protokollt vlasztjuk, amelyik a leginkbb megfelel az alkalmazs ignyeinek. A helyzet hasonl ahhoz, amikor azt kell eldntennk, hogy

vonattal vagy replgppel tegynk-e meg egy utat kt vros kztt. Vlaszthatjuk az egyiket vagy a msikat, s a kt esetben klnbz szolgltatsokat kapunk. (A vonat elnye pldul, hogy a vroskzponthoz kzel ll meg, a repl ezzel szemben gyorsabb.) Milyen szolgltatsokat nyjthat egy szlltsi protokoll az alkalmazsok rszre? Nagyjbl ngy szempont alapjn osztlyozhatjuk a lehetsges szolgltatsokat: (1) a megbzhat adatszllts, (2) az tbocstkpessg, (3) az idzts s (4) a biztonsg.

124

2. A/. ALKALMAZSI RTEG

Megbzhat adatszllts
Ahogy az 1. fejezetben emltettk, egy szmtgp-hlzatban elveszhetnek egyes csomagok. Ez trtnhet pldul azrt, mert egy tvlasztban tlcsordul a puffer, vagy mert egy hoszt vagy egy tvlaszt eldobja a csomagot, mert annak nhny bitje megsrlt. Szmos alkalmazsnl - gy az elektronikus levelezsnl, a fjltvitelnl, a tvoli elrsnl, a webes dokumentumtvitelnl s a banki alkalmazsoknl - az adatveszts katasztroflis kvetkezmnyekkel jrhat (az utbbi pldnl vagy a bank, vagy az gyfl szmra!). Az ilyen alkalmazsok szmra ezrt valahogyan szavatolni kell azt, hogy az alkalmazs egyik vgpontjrl kldtt adatok helyesen s hinytalanul megrkezzenek az alkalmazs msik vgpontjra. Ha egy protokoll ilyen garantlt adattovbbtsi szolgltatst nyjt, megbzhat adatszlltsrl (reliable data transfer) beszlnk. Az alkalmazsok kztti megbzhat adatszllts az egyik fontos szolgltats, amelyet egy szlltsi protokoll nyjtani tud. Ha egy szlltsi protokoll ezt a szolgltatst nyjtja, a kld folyamatnak nem kell mst tennie, mint elhelyeznie zenett a szoketben. Ezutn teljesen biztos lehet abban, hogy az adat hibtlanul megrkezik a fogad folyamathoz. Ha egy szlltsi rtegbeli protokoll nem biztost megbzhat adatszlltst, elfordulhat, hogy a kld folyamat ltal kldtt adatok nem rkeznek meg a fogad folyamathoz. Ez elfogadhat lehet a vesztesgtr alkalmazsok (losstolerant applications) szmra, amelyek kzl a legjelentsebbek a multimdis alkalmazsok, mint pldul a vals idej hang- s videoszolgltatsok, illetve olyan trolt hang- s videofjlok, amelyek elviselnek bizonyos mennyisg adatvesztst. Ezeknl a multimdis alkalmazsoknl az adatvesz ts egy rvid zavarjelknt jelenik meg a lejtszott videban vagy hangfjlban - ez nem jelent kritikus minsgromlst.

Albocstkpessg
Az 1. fejezetben bevezettk az elrhet tbocstkpessg fogalmt, amely kt folyamat hlzaton keresztli kommunikcis munkamenetben azt a sebessget jelenti, amellyel a kld folyamat tovbbtani tudja a biteket a fogad folyamathoz. Mivel ugyanazon a hlzati tvonalon tbb munkamenet osztozik a svszlessgen, s ezek fel- s lekapcsoldnak, az elrhet tbocstkpessg idben ingadozhat. Ezek alapjn meghatrozhatunk egy jabb szolgltatst, amelyet egy szlltsi rtegbeli protokoll knlhat: nevezetesen a garantlt elrhet tbocstkpessget egy adott sebessggel. Ennek a szolgltatsnak a felhasznlsval az alkalmazs r bit/s sebessg garantlt tvitelt ignyelhet, s a szlltsi protokoll biztostja szmra, hogy az elrhet tbocstkpessg legalbb r bit/s lesz. Ez a garantlt tbocstkpessg szolgltats sok alkalmazs szmra hasznos lehet. Egy internetes telefonszolgltatsnak pldul, amely 32 kb/s-mal kdolja a hangot, legalbb ilyen sebessggel kell kldenie az adatokat a hlzatra, s az adatoknak ezzel a sebessggel kell megrkeznik a fogad alkalmazshoz. Ha a szlltsi protokoll nem biztostja ezt az tbocstkpessget, az alkalmazsnak alacsonyabb frekvencival kell kdolnia a hangot (s rendelkeznie kell az alacsonyabb sebessg tbocstkpessggel), illetve a fenti sebessg felnl kisebb tbocstkpessg alatt ez az internetes telefonszolgltats nem is kpes mkdni. Azokat az alkalmazsokat, amelyek ilyen tbocstkpessgi kvetelmnyeket tmasztanak, svszlessg-rzkeny

2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI

125

alkalmazsoknak (bandwidth-sensitive applications) nevezik. Szmos mai multimdia-alkalmazs svszlessg-rzkeny, br vannak olyan multimdiaalkalmazsok, amelyek adaptv kdolsi technikk segtsgvel kpe sek az ppen rendelkezsre ll tbocstkpessgnek megfelel sebessggel kdolni. Mg a svszlessg-rzkeny alkalmazsoknak kifejezett tbocstkpessgi kvetelmnyeik vannak, a rugalmas alkalmazsok (elastic application) szmra megfelel a mindenkori aktulisan elrhet tbocstkpessg. Az elektronikus levelezs, a fjltvitel s a webes tvitelek mind rugalmas alkalmazsok. Termszetesen ezen alkalmazsoknl is az a j, ha minl nagyobb az tbocstkpessg. Egy szllige szerint az ember soha nem lehet tl gazdag, tl sovny, s soha nem rendelkezhet tl nagy svszlessggel!

Idzts
Egy szlltsi rtegbeli protokoll idztsi garancikat is nyjthat. Ahogy az tbocstkpessgi garancik, az idztsi garancik is sokflk lehetnek. Egy protokoll garantlhatja pldul, hogy minden elkldtt bit, amelyet a kld folyamat a szkt fel tovbbt, 100 ms-on bell megrkezik a fogad folyamat szoketjhez. Ez a szolgltats olyan interaktv, vals idej alkalmazsok szmra lehet hasznos, mint az internetes telefonls, a virtulis krnyezetek, a tvkonferencia-alkalmazsok s a tbbszerepls jtkok, amelyek hat konysgi okokbl mind szigor idztsi kvetelmnyeket tmasztanak az adattvitellel szemben (lsd 7. fejezet, [Gauthier 1999 ; Ramjee 1994)). Az internetes telefonszolgltatsnl pldul a nagy ksleltetsek termszetellenes szneteket okozhatnak a beszlgets kzben, a tbbszerepls jtkokban s a virtulis interaktv krnyezetekben egy mvelet elvgzse s a krnyezet erre adott vlasza (pldul egy msik gpnl l jtkos vlasza) kztti nagy ksleltets azt okozza, hogy az alkalmazs kevsb tnik lethnek. A nem vals idej alkalmazsok is a kisebb ksleltetst rszestik elnyben a nagyobbhoz kpest, de nem tesznek szigor megktseket a vgpontok kztti ksleltetsre.

Biztonsg
A szlltsi protokollok a fentieken tl klnbz biztonsgi szolgltatsokat is nyjthatnak. Ilyen szolgltats lehet pldul, hogy a szlltsi protokoll a kld hoszton titkostja a kld folyamat ltal tovbbtott adatokat, a fogad hoszton pedig visszafejti a titkostott adatokat, mieltt tovbbtja azokat a fogad folyamatnak. Ezek a szolgltatsok titkossgot biztostanak a kt folyamat kztt akkor is, ha a kld s fogad folyamat kztt valaki megfigyeli az adatforgalmat. A szlltsi protokollok egyb szolgltatsokat is nyjthatnak a titkossgon tl, belertve az adatintegritst s a vgponti hitelestst, amelyeket a 8. feje zetben mutatunk be rszletesen.

2.1.4. Internetes szlltsi szolgltatsok


Egszen idig ltalnossgban vve trgyaltuk a szlltsi szolgltatsokat, amelyeket egy szmtgp-hlzat nyjtani tud. Vizsgljuk meg most konkrtabban, hogy milyen tmogatst nyjt az alkalmazsok szmra az internet. Az interneten (s ltalban a TCP/IP- hlzatokon) kt szlltsi protokoll ll az alkalmazsok rendelkezsre: az UDP s a TCP. Amikor egy alkalmazsfejleszt j internetes alkalmazst kszt, az egyik els eldntend krds az, hogy UDP-t vagy

126

TCP-t hasznljon. A kt protokoll klnbz szolgltatso kat biztost az ket felhasznl alkalmazsok rszre. A 2.1. tblzat nhny kivlasztott alkalmazs pldjn mutatja be, hogy az egyes alkalmazsok milyen szolgltatsi kvetel mnyeket tmasztanak.

2. A/. ALKALMAZSI RTEG

84
2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI
Alkalmazs Fjltvitel E-mail Webes dokumentumok Internetes telefonls/ Videokonferencia Trolt audio/video Interaktv jtkok Azonnali zenetklds Vesztesgtr Vesztesgmentes Adatveszts Vesztesqmentes Vesztesgmentes Vesztesgmentes Vesztesgtr Vesztesgtr Svszlessq

. . 2. Az

ALKALMAZSI

RTEG

127
Idztsrzkenysq Nem Nem Nem Igen: nhny 100 ms Igen: nhny msodperc Igen: nhny 100 ms Igen is, nem is

2.1. tblzat. Nhny hlzati alkalmazshoz szksges szolgltatsi kvetelmny___________


Rugalmas Rugalmas Rugalmas (nhny kb/s) Hang: nhny kb/s - 1 Mb/s Vide: 10 kb/s-5 Mb/s Hang: nhny kb/s - 1 Mb/s Vide: 10 kb/s - 5 Mbps Nhny kb/s - 10 kb/s Rugalmas

TCP-szolgltatsok
A TCP szolglati modellje egy sszekttets-alap szolgltatst s egy megbzhat adatszlltst foglal magban. Ha egy alkalmazs a TCP-t hasznlja szlltsi protokollknt, a TCP biztostja szmra ezeket a szolgltatsokat.

sszekttets-alap szolgltats. A TCP protokollban a kliens s a szerver szlltsi szint vezrlinformcikat cserlnek, mieltt megkezddik az

alkalmazsi szint adatramls. Ez a kzfogsnak (handshaking) nevezett eljrs figyelmezteti a klienst s a szervert, hogy kszljenek fel a csomagok rkezsre. A kzfogsi szakasz utn azt mondjuk, hogy egy TCP-sszekttets (TCP connection) jtt ltre a kt folyamat szoketjei kztt. Ez egy duplex sszekttets, mivel a kt folyamat egyidejleg kldhet egymsnak csomagokat mindkt irnyba. Miutn az alkalmazs befejezte az zenetek kldst, le kell bontania az sszekttetst. A szolgltatst sszekttetsalapnak nevezik, mivel a kt folyamat nagyon lazn kapcsoldik ssze. A 3. fejezetben rszletesen trgyaljuk az sszekttets-alap szolgltatst, s megvizsgljuk, hogyan valsthat meg. Megbzhat adatszlltsi szolgltats. A kommunikl folyamatok biztosak lehetnek abban, hogy a TCP minden adatot hiba nlkl s helyes sorrendben tovbbt. Ha az alkalmazs az egyik oldalon egy bjtfolyamot kld a szoketre, szmthat arra, hogy a TCP ugyanezt a bjtfolyamot tovbbtja a fogad szoketre, s nem lesznek hinyz vagy ismtld bjtok. A TCP tartalmaz egy torldskezelsi mechanizmust is. Ez olyan szolgltats, amely nem annyira a kommunikl folyamatoknak vlik elnyre, inkbb az internet egsznek megfelel mkdst segti el. A TCP torldskezelsi mechanizmusa lelasstja a kld folyamatot (a klienst vagy a szervert), ha a hlzaton torlds lp fel a kld s a fogad kztt. Amint azt a 3. fejezetben ltni fogjuk, a TCP torldskezelse megprblja oly mdon korltozni az egyes TCP-sszekttetseket, hogy azok igazsgosan osztozzanak a hlzati svszlessgen. Ezen okokbl kifolylag a vals idej alkalmazsok fejleszti gyakran az UDP-t vlasztjk a TCP helyett alkalmazsaik szmra.

128

UDP-szolgltatsok

2. A/. ALKALMAZSI RTEG

Az UDP minden flslegeset mellz, kevsb fontos szlltsi protokoll, amely csak minimlis szolgltatsokat biztost. Az UDP sszekttets nlkli protokoll, ezrt a kt folyamat kzti kommunikci megkezdse eltt nem trtnik kzfogs. Az UDP nem megbzhat adattviteli szolgltatst nyjt - vagyis, ha egy folyamat zenetet kld egy UDP-szoketre, az UDP nem garantlja, hogy az zenet megrkezik a fogad folyamathoz. Ezen fell a fogad folyamathoz megrkez zenetek sem felttlenl a helyes sorrendben rkeznek meg. Az UDP nem tartalmaz torldskezelsi mechanizmust, ezrt a kld oldal tetszleges sebessggel kldheti az adatokat az alatta lv (hlzati) rtegbe. (Megjegyzend azonban, hogy a vgpontok kztti tnyleges tvitel ennl a sebessgnl kisebb lehet a kzbees adatkapcsolatok korltozott svszlessge, illetve a torlds miatt.) Mivel a vals idej alkalmazsok gyakran elviselnek bizonyos mennyisg adatvesztst, ellenben a hatkony mkdshez szksgk van egy meghatrozott minimlis svszlessgre, a vals idej alkalmazsok fejleszti esetenknt UDP-t hasznlnak szlltsi protokollknt, hogy meg kerljk a TCP torldskezelsi mechanizmust s a tbbletcsomagokat. Msfell viszont, mivel sok tzfal belltsai blokkoljk az UDP-forgalom legtbb tpust, a multimdis s vals idej alkalmazsok tervezi egyre inkbb a TCP-t hasznl megoldsok fel fordulnak [Sripanidkulchai 2004).
Fkuszban a b.iztonsng Biztonsgos TCP Sem a TCP, sem az UDP nem biztost titkostst, vagyis a kld folyamat ltal a szoketre kl dtt adatok megegyeznek a hlzaton utaz adatokkal. gy ha pldul a kld folyamat egy jelszt kld nylt szvegknt (azaz titkosts nlkl) a szoketjre, ez a nylt szveg tovbbt dik a kld s a fogad kztti sszes adatkapcsolaton, ami magban foglalja azt a veszlyt, hogy a jelszt tkzben brhol elfoghatjk s leolvashatjk. Mivel napjainkban az adatok tit kossga s az egyb biztonsgi szempontok sok alkalmazsnl kritikus fontossg, az inter netes kzssg a TCP tovbbfejlesztsvel megalkotta a biztonsgos szokelrleget (Secure Sockets Layer, SSL). Az SSL-lel javtott TCP azon tl, hogy a hagyomnyos TCP minden k pessgvel rendelkezik, olyan kritikus folyamatkzi biztonsgi szolgltatsokat is nyjt, mint a titkosts, az adatintegrits s a vgponti hitelests. Hangslyozzuk, hogy az SSL nem egy harmadik internetes szlltsi protokoll az UDP s a TCP mellett, hanem a TCP protokoll tovbbfejlesztse az alkalmazsi rtegben implementlt kiegsztsekkel. Pontosabban, ha egy alkalmazs ignybe kvnja venni az SSL szolgltatsait, be kell illesztenie az SSL kd jt (ltez, ersen optimalizlt knyvtrakat s osztlyokat) mind a kliens-, mind a szerveroldali alkalmazskdba. Az SSL-nek sajt szkt APl-ja van, amely hasonl a hagyomnyos TCPszoket API-jhoz. Ha egy alkalmazs SSL-t hasznl, a kld folyamat nylt szveget ad t az SSL-szoketnek; az SSL a kld hoszton titkostja az adatokat, majd tovbbtja azokat a TCPszoketnek. A titkostott adatok az interneten keresztl a fogad folyamat TCP-szoketjbe kerlnek. A fogad folyamat tovbbtja a titkostott adatokat az SSL-nek, amely visszafejti az adatokat. Az SSL vgl a sajt szoketjn t tovbbtja a nylt szveget a fogad folyamatnak. Az SSL-lel rszletesebben a 8. fejezetben foglalkozunk.

Az internetes szlltsi protokollok ltal nem biztostott szolgltatsok


A szlltsi protokollok ltal nyjthat szolgltatsokat ngy szempont szerint csoportostottuk: megbzhat adatszllts, tbocstkpessg, idzts s biztonsg. Melyeket nem knlja fel ezek kzl a TCP s az UDP? Korbban mr megllaptottuk, hogy a TCP megbzhat vgpontok kztti adattvitelt biztost.

2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI

129

Azt is tudjuk, hogy a TCP knnyen tovbbfejleszthet az alkalmazsi rtegben SSL segtsgvel gy, hogy kpes legyen biztonsgi szolgltatsokat nyjtani. A TCP s UDP rvid lersbl azonban szembetnen nem ejtettnk szt idztsi vagy tbocstkpessgi garancikrl - ezek olyan szolgltatsok, amelyeket a jelenlegi internetes szlltsi protokollok nem biztostanak. Azt jelenti ez vajon, hogy az olyan idrzkeny alkalmazsok, mint az internetes telefonls, nem kpesek futni napjaink internetes hlzatn? A vlasz egyrtelmen nem - az interneten mr vek ta lteznek ilyen idrzkeny alkalmazsok. Ezek az alkalmazsok ltalban megfelelen mkdnek, mert gy terveztk ket, hogy a lehet legnagyobb mrtkben kpesek legyenek megbirkzni a garantlt idztsi szolgltatsok hinyval. A 7. fejezetben megvizsglunk nhny tervezsi fogst, amelyeket erre a clra talltak ki. Mindamellett az gyes tervezs is csak korltozottan oldja meg a problmkat, ha a ksleltetsek tl nagyok, mint ahogy az gyakran elfordul a nyilvnos interneten. sszegezve elmondhatjuk, hogy napjainkban az internet sok esetben kielgt szolgltatst nyjt az idrzkeny alkalmazsok szmra, de nem biztost idztsi s svszlessg-garancikat. A 2.2. tblzatban lthat nhny npszer internetes alkalmazs s az ltaluk hasznlt szlltsi protokollok. Lthatjuk, hogy az e-mail, a tvoli terminlelrs, a web s a fjltviteli alkalmazsok mind TCP-t hasznlnak. Ezen alkalmazsok tervezi elssorban azrt dntttek a TCP mellett, mert a TCP megbzhat adatszlltst knl, amely garantlja, hogy elbb-utbb minden adat megrkezik rendeltetsi helyre. Lthatjuk azt is, hogy az internetes telefonls ltalban UDP-vel mkdik. Egy internetes telefonos alkalmazs mindkt oldala egy adott minimlis sebessggel kell, hogy tudjon adatokat kldeni a h lzaton keresztl (lsd a vals idej hangalkalmazsokat a 2.1. tblzatban). Ezt a clt na gyobb valsznsggel rhetik el az UDP segtsgvel, mint a TCP-vel. Az internetes tele fonos alkalmazsok emellett vesztesgtrk is, ezrt nincs szksgk a TCP ltal nyjtott megbzhat adatszlltsi szolgltatsra.

2.2. tblzat. Npszer internetes alkalmazsok, az ltaluk hasznlt alkalmazsi protokollok , s


az ezek alatt elhelyezked szlltsi protokollok
Alkalmazs Elektronikus levelezs Tvoli terminlelrs Web Fjltvitel Multimdia-adatfolyamok Internetes telefonls Alkalmazsi rtegbeli protokoll SMTP (RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 9591 HTTP (pldul YouTube), RTP SP, RTP vagy egyedi (pldul Skype) A hasznlt szlltsi protokoll TCP TCP TCP TCP TCP vagy UDP Jellemzen UDP

Folyamatok cmzse
A fentiekben kt kommunikl folyamat kztti szlltsi szolgltatsokra sszpontostottunk. De vajon hogyan jelli ki egy folyamat azt a msik folyamatot, amellyel ezen szolgltatsok ignybevtelvel kommuniklni szeretne? Kgy folyamat, amely egy, az USA-be- li Massachusctts llam Amherst vrosban lv hoszton fut, hogy mondja meg, hogy egy olyan folyamattal kvnja felvenni a kapcsolatot, amelyik egy, a thaifldi Bangkokban lv hoszton fut? A fogad folyamat azonostshoz ktfle informcira van szksg: (1) a hoszt nevre vagy cmre s (2) egy azonostra, amely kijelli a cl hoszton a fogad fo lyamatot. Az interneten a hosztokat az IP-cmk azonostja. Az IP-cmcket rszletesebben a

130

4. fejezetben mutatjuk be. Most elg annyit tudnunk, hogy az IP-cm egy 32 bites szm, amelyet egy hoszt egyedi azonostjnak tekinthetnk. (Habr, ahogy azt a 4. fejezetben ltni fogjuk, a hlzati cmfordts [Netvvork Address Translation, NAT] szles kr elterjedse kvetkeztben manapsg az IP-cm mr nem azonost egyrtelmen egy hosztot.) Azon tl, hogy a kld hosztnak ismernie kell annak a hosztnak a cmt, amelynek az zenetet kldi, a clhoszton bell a fogad folyamatot azonostania kell. Erre az informcira azrt van szksg, mert egy hoszton ltalban tbb hlzati alkalmazs is futhat. Ezt a clt szolglja a clfolyamat portszma. Egyes npszer alkalmazsoknak rgztett portszmaik vannak. A vvebszervereket pldul a 80-as portszmon lehel elrni. Az SMTP protokollt hasznl levelezszervereket a 25-s portszm azonostja. A szabvnyos inter netes protokollok ltal hasznlt kzismert portszmok felsorolsa megtallhat a http:// www.iana.org cmen. Egy j hlzati alkalmazs ksztsekor az alkalmazshoz egy j portszmot kell rendelni. A portszmokat rszletesen a 3. fejezetben vizsgljuk meg.

2. A/. ALKALMAZSI RTEG

2.1.5. Alkalmazsi protokollok


Az eddigiekbl megtudtuk, hogy a hlzati folyamatok gy kommuniklnak egymssal, hogy zeneteket kldenek a szoketjeiken keresztl. De milyen a felptsk ezeknek az zeneteknek? Mit jelentenek a klnbz mezk az zenetekben? Mikor kldik a folyamatok ezeket az zeneteket? Ezek a krdsek az alkalmazsi protokollok vilgba vezetnek bennnket. Egy alkalmazsi protokoll (application-layer protocol) meghatrozza azt, hogy egy alkalmazs klnbz vgrendszereken fut folyamatai hogyan tovbbtanak egymsnak zeneteket. Rszletesebben, az alkalmazsi protokollok a kvetkezket defi niljk: az zenetek tpusait, mint pldul a krszeneteket s a vlasz zeneteket, a klnbz zenettpusok szintaxist, pldul az zenet mezit s a mezk elvlasztsnak mdjt, az egyes mezk szemantikjt, vagyis a mezkben tallhat informcik jelentst, szablyokat, amelyek megadjk, hogy egy folyamat mikor s hogyan kld zeneteket, illetve vlaszol zenetekre. Nhnyk alkalmazsi protokollt RFC-kben specifikltak, ezrt ezek nyilvnosan hozzfrhetk. A web alkalmazsi protokollja, a HTTP (IlyperText Transfer Protocol, hipersz- veg tviteli protokoll) pldul hozzfrhet az RFC 2616-ban. Ha egy bngsz fejlesztje betartja a HTTP RFC szablyait, a bngsz brmilyen weboldalt kpes lesz megjelenteni, amelyet olyan webszerverrl tltttek le, amely szintn kveti a HTTP RFC szablyait. Sok egyb alkalmazsi protokoll ellenben szabadalmi vdelem alatt ll, ezeket szndkosan nem teszik nyilvnosan elrhetv. A jelenleg ltez P2P fjlmegoszt rendszerek kzl pldul sok szabadalmazott alkalmazsi protokollt hasznl. Fontos, hogy klnbsget tegynk a hlzati alkalmazsok s az alkalmazsi protokollok kztt. Az alkalmazsi protokoll csak egy rsze a hlzati alkalmazsnak. Nzznk nhny pldt. A web egy kliens-szerver alkalmazs, amely lehetv teszi a felhasznlk szmra, hogy igny szerint dokumentumokat tltsenek le a webrl. Maga a web mint alkalmazs tbb sszetevbl ll, belertve a dokumentumformtumra vonatkoz szab* vnyt (ez a HTML), a webbngszket

2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI

131

(mint pldul a Firefox vagy a Microsoft Internet Hxplorer), a webszervereket (mint pldul az Apache- vagy a Microsoft-szerverek) s egy alkalmazsi protokollt. A web alkalmazsi protokollja, a HTTP definilja a bngsz s a webszerver kztt tovbbtott zenetek formtumt s sorrendjt. A HTTP teht csak egy rsze (jllehet, fontos rsze) a webnek. Egy msik plda: egy internetes e-mail alkalmazs szintn tbb komponensbl ll, belertve a levelezszervereket, amelyek a felhasznlk postaldinak adnak otthont, a levlolvaskat, amelyek lehetv teszik a felhasznlknak levelek megrst s olvasst, az e-mail zenetek felptst definil szabvnyt s az al kalmazsi protokollokat, amelyek meghatrozzk, hogyan tovbbtdnak az zenetek a szerverek kztt, illetve a szerverek s a levlolvask kztt, valamint azt, hogyan kell rtelmezni az e-mail zenet bizonyos rszeinek (pldul egy zenet fejlcnek) tartalmt. Az elektronikus levelezs legfontosabb alkalmazsi protokollja az SMTP (Simple Mail Transfer Protocol, egyszer levltovbbt protokoll). Az e-mail alapvet protokollja, az SMTP teht csak egy rsze (br fontos rsze) az e-mail alkalmazsnak.

2.1.6. A knyvben trgyalt hlzati alkalmazsok


Nap mint nap kszlnek j nyilvnos s szabadalmazott internetes alkalmazsok. Ahelyett, hogy lexikonszeren felsorolnnk nagyszm internetes alkalmazst, gy dntttnk, hogy nhny that s fontos alkalmazsra sszpontostunk. Ebben a fejezetben t fontos alkalmazst trgyalunk: a webet, a fjltvitelt, az elektronikus levelezst, a krzet- nv-szolgltatst s a P2P-alkalmazsokat. Elsknt a webet trgyaljuk, nemcsak azrt, mert egy roppant npszer alkalmazsrl van sz, hanem azrt is, mert az alkalmazsi protokollja, a HTTP egyszer s knnyen megrthet. A web lersa utn az FTP-t mutatjuk be rviden, mivel szemlletesen ellenttbe llthat a HTTP-vel. Ezutn az elektronikus levelezst trgyaljuk, amely az internet els igazi hzalkalmazsa volt. Az e-mail jval bonyolultabb a webnl abban az rtelemben, hogy nemcsak egy, hanem tbb alkalmazsi protokollt is hasznl. Az e-mail utn rviden ismertetjk a DNS-t, amely krzet- nvszolgltatst nyjt az internet szmra. A legtbb felhasznl nem lp kapcsolatba kzvetlenl a DNS-sel, ehelyett a felhasznlk kzvetett mdon hasznljk a DNS-t ms alkalmazsokon keresztl (belertve a webet, a fjltvitelt s az elektronikus levelezst). A DNS pldja szpen illusztrlja azt, hogy egy hlzati alapszolgltats (a hlzati nevek lefordtsa hlzati cmekre) az internet alkalmazsi rtegben is megvalsthat. Vgl megvizsglunk nhny P2Palkalmazst, kztk a fjlcserlst, az elosztott keresst s az internetes telefonlst.

2.2. A web s a HTTP

2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI

132

Az 1990-es vek elejig az internetet elssorban kutatk, egyetemi oktatk s egyetemi hallgatk hasznltk tvoli hosztokra trtn belpsre, fjlok tvitelre helyi hosztokrl tvoli hosztokra s fordtva, hrek fogadsra s kldsre, valamint elektronikus levelek fogadsra s kldsre. Habr ezek az alkalmazsok rendkvl hasznosak voltak (s a mai napig azok), az internet a tudomnyos s kutati kzssgeken kvl lnyegben is meretlen volt. Az 1990-es vek elejn aztn megjelent a sznen egy j, nagy jelentsg alkalmazs: a World Wide Web (vilghl vagy web) [Berners-I.ee 1994). A web volt az az internetes alkalmazs, amely igazn felkeltette a kznsg rdekldst. Drmai vl tozsokat hozott az emberek munkahelyi s azon kvli kapcsolattartsban. Az internet korbban a sok adathlzat egyike volt; a web rvn az internet lnyegben az egyetlen s kizrlagos adathlzatt vlt. A web taln legnagyobb vonzereje a felhasznlk szmra az igny szerinti mkds. A felhasznlk brmikor megkaphatjk, amit szeretnnek. Ez a klnbsg a rdi- s televzikzvettsekhez kpest, amelyeknl a felhasznl csak akkor jut a kvnt tartalomhoz, amikor azt a tartalomszolgltat msorra tzi. Az igny szerinti elrhetsgen kvl a web sok egyb nagyszer tulajdonsggal is rendelkezik, amelyeket az emberek szeretnek. Roppant knny informcikat kzztenni a weben - vagyis brki publiklhat rendkvl olcsn. A hiperhivatkozsok s a keresmotorok segtsgvel knnyedn naviglhatunk a weboldalak cenjn. A grafikus tartalmak serkentik az rzkeinket. Az rlapok, Java-kisalkalmazsok s egyb eszkzk lehetv teszik szmunkra a prbeszdet a web- oldalakkal s webhelyekkel. Egyre jellemzbb az, hogy a web mens felletet nyjt az interneten trolt hatalmas mennyisg hang- s videoanyag elrshez ezek a multimdis tartalmak mind igny szerint hozzfrhetk.

2.2.1. A HTTP ttekintse


A hiperszveg-tviteli protokoll (HyperText Transfer Protocol, HTTP), a web alkalmazsi protokollja, kzponti szerepet tlt be a weben. A HTTP-t az (RFC 1945] s az [RFC 2616] definilja. A HTTP-t kt program implementlja: egy kliensprogram s egy szerverprogram. A kliensprogram s a szerverprogram, amelyek klnbz vgrendszereken futnak, HTTP-zenetek cserje rvn kommuniklnak egymssal. A HTTP definilja ezen zenetek felptst s annak mdjt, ahogy a kliens s a szerver zeneteket cserl egyms kztt. A HTTP rszletes ismertetse eltt tisztznunk kell nhny webes elne vezs jelentst. Egy weboldal (web page) (ms nven dokumentum) objektumokat tartalmaz. Egy objektum egyszeren egy fjl - pldul egy HTML-fjl, egy JPEG kp, egy Javakisalkal- mazs vagy egy videoklip -, amely egy URL-lel megcmezhet. A legtbb weboldal egy alap HTML-fjlbl s nhny hivatkozott objektumbl ll. Ha pldul egy weboldal HTML-szveget s l JPEG-kpet tartalmaz, akkor a weboldal hat objektumbl ll: az alap HTML-fjlbl s az t kpbl. Az alap HTML-oldal a tbbi objektumra azok URL-j- vel hivatkozik. Minden URL kt rszbl ll: az objektumot trol szerver hosztnevbl s az objektum elrsi tjbl. Tekintsk pldul az albbi URL-t: http://www.someSchool.edu/someDepartment/picture.gif Ebben az URL-ben a www.someSchool.edu a hoszt nv, a /someDepartment/

2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI

133

picture.gif pedig az objektum elrsi tvonala. Mivel a webes krnyezetben a


web- bngszk (web browsers) (mint az Internet Explorer vagy a Firefox) valstjk meg a HTTP kliensoldali rszt, a bngsz s a kliens kifejezseket azonos rtelemben fogjuk hasznlni. A webszerverek, amelyek a HTTP szerveroldali rszt valstjk meg, troljk a webes objektumokat, amelyek kzl mindegyik megcmezhet egy URL-lel. Npszer webszerverek pldul az Apache s a Microsoft Internet Information Server. A HTTP definilja azt, hogy a webes kliensek hogyan krhetnek le weboldalakat a web- szerverekrl s a szerverek hogyan juttatjk el ezeket az oldalakat a klienseknek. A kliens s a szerver kztti prbeszdet ksbb trgyaljuk rszletesen, de az alapvet tlet a 2.4. brn lthat. Ha a felhasznl egy weboldalra vonatkoz krst kld a szervernek (pldul rkattint egy hiperhivatkozsra), a bngsz az oldalon tallhat objektumokra vo natkoz HTTPkrszeneteket kld a szervernek. A szerver fogadja ezeket a krseket s az objektumokat tartalmaz HTTP-vlaszzcnetekkel vlaszol.
Apache webszervert futtat szerver

Internet Explorert futtat PC

Firefoxot futtat Linux

2.4. bra. A HTTP-krs/vlosz mechanizmus mkdse


A HTTP a TCP-t hasznlja szlltsi protokollknt (nem pedig az UDP-t). Els lpsben a HTTP-kliens TCP-sszekttetst kezdemnyez a szerverrel. Ha a kapcsolat ltrejtt, a bngszs a szerver folyamatok a sajt szoketinterfszeiken keresztl rik el a TCP-t. Ahogy a 2.1. alfejezetben rtuk, a kliensoldali szkt interfsz jelenti az ajtt a kliensfolya mat s a TCP-sszekttets kztt; a szerveroldali szoketinterfsz az ajt a szerverfolyamat s a TCPsszekttets kztt. A kliens HTTP-krszeneteket kld a sajt szoketinterfszre, s HTTP-vlaszzeneteket fogad a sajt szkt interfszrl. Hasonlkppen, a HTTP-szerver krszeneteket fogad a sajt szkt interfszrl s vlaszzeneteket kld a sajt szoketinterfszre. Miutn a kliens elkldte zenett a szoketinterfszre, az zenet tbb nem a kliens, hanem a TCP irnytsa alatt ll. Idzzk fel a 2.1. alfejezetben lerta kat, miszerint a TCP megbzhat adatszlltsi szolgltatst biztost a HTTP szmra. Ez azt jelenti, hogy a kliensfolyamat ltal kldtt sszes HTTP-krszenet elbb-utbb sr tetlenl megrkezik a szerverhez, s fordtva, a szerver ltal kldtt HTTP-vlaszzenetek vgl szintn srtetlenl megrkeznek a klienshez. Most lthatjuk a rteges architektra egyik nagy elnyt - a HTTP-nek nem kell foglalkoznia az adatvesztssel vagy annak rsz-

134

2. A/. ALKALMAZSI RTEG


WEB

2.2. A

lis A HTTP

91

leteivel, hogy a TCP hogyan lllja vissza a hlzatban elveszett adatokat, illetve hogyan rendezi sorba azokat. Hz mind a TCP s a protokollverem alsbb rtegeinek feladata. Pontos megjegyezni, hogy a szerver anlkl kldi el a kliensnek az ignyelt fjlokat, hogy ekzben brmilyen llapotinformcit trolna a kliensrl. Ha egy adott kliens nhny msodpercen bell ktszer kri le ugyanazt az objektumot, a szerver nem vlaszolja azt, hogy pp az imnt szolglta ki a kliensnek ugyanezt a krst. A szerver ehelyett jra elkldi az objektumot, mivel egyltaln nem emlkszik a korbbi krsekre. Mivel a HTTP nem trol llapot informcikat a kliensekrl, a HTTP-t llapot nlkli protokollnak (stateless protocol) nevezik. Megjegyezzk azt is, hogy a web a 2.1. alfejezetben lert kliens-szerver alkalmazsarchitektrt hasznlja. A webszerverek folyamatosan mkd nek s a hlzatra vannak kapcsolva, rgztett IP-cmmel rendelkeznek s akr tbb milli klnbz bngsz krseit szolgljk ki.

2.2.2. Idleges s lland sszekttetsek


A kliens s a szerver sok internetes alkalmazsban hosszabb idtartamon keresztl kommunikl: a kliens ezalatt egy sor krst kld, a szerver pedig minden krsre vlaszol. Az alkalmazstl s az alkalmazs hasznlatnak mdjtl fggen ezek a krsek kvetkezhetnek szorosan egyms utn, periodikusan vagy szakaszosan. Mivel ez a kliens-szerver prbeszd TCP felett trtnik, az alkalmazs fejlesztjnek meg kell hoznia egy fontos dntst: minden krs-vlasz prt kln TCP-sszekttetsen kldjn az alkalmazs, vagy pedig a krseket s a hozzjuk tartoz vlaszokat ugyanazon a TCP-sszekttetsen keresztl kldje. Az els megkzelts esetn azt mondjuk, hogy az alkalmazs idleges sszekttetst (non-persistent connections) hasznl, az utbbi esetben pedig lland sszekttetsrl (persistent connections) beszlnk. Ahhoz, hogy alaposabban megrtsk ezt a tervezsi szempontot, vizsgljuk meg az lland sszekttetsek elnyeit s htrnyait egy adott alkalmazs - nevezetesen a HTTP - szemszgbl, amely egyarnt hasznlhat idleges s lland sszekttetseket. Habr a HTTP alaprtelmezs szerint lland sszekttetseket hasznl, a HTTP-kliensek s -szerverek bellthatk gy, hogy ehelyett idleges sszekttetseket hasznljanak.

HTTP idleges sszekttetsekkel


Nzzk vgig sorban egy weboldal letltsnek lpseit a szerverrl a kliensre abban az esetben, ha a HTTP idleges sszekttetsekkel dolgozik. Tegyk fel, hogy az oldal egy alap HTML-fjlbl s 10 JPKG-kpbl ll, s ez a 11 objektum mind ugyanazon a szerveren tallhat, 'legyk fel tovbb, hogy az alap HTML-fjl az albbi URL-lel cmezhet meg: http://www.someSchool.edu/someDepartment/home.index A kvetkez trtnik:

2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI

135

l. A HTTP-kliensfolyamat TCP-osszekttetst kezdemnyez a www. someSchool.edu a 80-as portszmon lv szerverrel, amely a HTTP alaprtelmezett portszma. A TCP-sszekttetshez a kliens s a szerveroldaln is tartozik egy-egy szkt.

136

2. A/. ALKALMAZSI RTEG


2. A HTTP-kliens egy HTTP-krszenetet kld a szervernek a szoketjn keresz tl. A krszenet tartalmaza a /someDepartment/home.index elrsi utat. (A HTTP-zeneteket a ksbbiekben rszletesebben trgyaljuk.) 3. A HTTP-szerver fogadja a krst a szoketjn keresztl, elkeresi a /someDepartment/ home. index objektumot a trhelyrl (a memribl vagy lemezrl), begyazza az objektumot egy HTTP-vlaszzenetbe, majd elkldi ezt a vlaszzenetet a kliensnek a szoketjn keresztl. 4. A HTTP-szerverfolyamat utastja a TCP protokollt, hogy zrja le a TCPsszektte- tst. (A TCP azonban addig nem fejezi be a kapcsolatot, amg nem bizonyosodott meg rla, hogy a kliens psgben megkapta a vlaszzenetet.) 5. A HTTP-kliens fogadja a vlaszzenetet. A TCP-sszekttets lezrul. Az zenet jelzi, hogy a begyazott objektum egy IITML-fjl. A kliens kibontja a fjlt a vlaszzenetbl, megvizsglja a HTiML-fjlt, amelyben hivatkozsokat tall a 10 JPEG objektumra. 6. Az els ngy lps megismtldik mind a 10 hivatkozott JPEG-objektumra.

Ahogy a bngsz megkapja a weboldalt, megjelenti azt a felhasznlnak. Egy weboldalt kt klnbz bngsz nmileg klnbzkppen rtelmezhet (vagyis jelenthet meg a felhasznlnak). A H TTP nem trdik azzal, mikppen jelenti meg egy kliens a webolda- lakat. A HTTP-specifikcik ([RFC 1945) s [RFC 2616]) csak a kliens HTTP-program s a szerver HTTP-program kztti kommunikcis protokollt definiljk. A fenti lpsek az idleges sszekttetsek hasznlatt mutatjk be, amikor is minden egyes TCP-sszekttets lezrul, miutn a szerver elkldtt egy objektumot - a kapcsolat nem rzdik meg ms objektumok szmra. Megjegyzend, hogy minden TCP-sszekttets pontosan egy krszenetet s egy vlaszzenetet szllt. A fenti pldban ezrt, amikor a felhasznl letlti a weboldalt, 11 TCP-sszekttets jn ltre. A fenti lpsek lersakor szndkosan elhallgattuk, hogy a kliens a 10 JPEG objektumot 10 soros TCP-sszekttetsen keresztl kapja meg, vagy a JPEG-ek egy rsze prhuzamos TCP-sszekttetsen keresztl jut el a klienshez. A modern bngszkben a felhasznlk mg a prhuzamosts mrtkt is bellthatjk. A legtbb bngsz alaprtelmezs szerint 5-10 prhuzamos TCP-sszekttetst nyit, s mindegyik sszekttets egy krs-vlasz tranzakcit kezel. A megengedett prhuzamos sszekttetsek szma l is lehet, ami azt jelenti, hogy a 10 sszekttets sorosan, egymst kveten jn ltre. Amint azt a kvetkez fejezetben ltni fogjuk, a prhuzamos sszekttets hasznlata lervidti a vlaszidt. Mieltt tovbblpnnk, egy durva szmtssal becsljk meg azt az idt, amely attl az idponttl, amikor egy kliens lekri az alap HTML-fjlt, a teljes fjl megrkezsig eltelik. Ebbl a clbl bevezetjk a krbejrsi id (round-trip time, RTT) fogalmt, amely egy kis csomagnak a klienstl a szerverig, majd vissza a szervertl a kliensig trtn eljuttatshoz szksges idt jelli. Az RTT magban foglalja a csomagtcrjcdsi ksleltetseket, a csomagok sorbanllsi ksleltetseit a kzbees tvlasztkon s kapcsolkon, valamint a csomagfeldolgozsi ksleltetseket. (Ezeket a ksleltetsi idket az 1.4. alfejezetben trgyal tuk.) Nzzk most meg, mi trtnik, amikor a felhasznl egy hiperhivatkozsra kattint. Amint a 2.5. brn lthat, a bngsz ennek hatsra TCP-sszekttetst kezdemnyez a webszerverrel. Ez magba foglal egy hromutas kzfogst - a kliens egy kis TCP-szeg- menst kld a szervernek, a szerver ezt nyugtzza s egy

2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI

137

msik kismret TCP-szegmenst kld vlaszknt, vgl a kliens is kld egy nyugtt a szervernek. A hromutas kzfogs els kt lpse egy egysgnyi krbejrsi idt (1 RTT-t) vesz ignybe. Miutn a kzfogs els kt lpse befejezdtt, a kliens elkldi a HTTP-krszenetet a hromutas kzfogs

2.5. bra. Durva szmts egy HTML-fjl krsnek s megrkezsnek idignyre


2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI 138

TCP-sszekttets kezdemnyezse

Fjl krse

RTT Fjltvitelhez szksges id

A teljes fjl megrkezett

Kliens ideje ver e

harmadik rszvel (a nyugtval) egytt a TCP-sszekttetsen keresztl. Miutn a krszenet megrkezett a szerverre, a szerver visszakldi a HTML-fjlt a TCPsszekttetsen keresztl. Ez a HTTP krs-vlasz pr egy tovbbi RTT-t vesz ignybe. gy a teljes vlaszid nagyjbl kt RTT plusz a HTML-fjl tovbbtsi ideje a szerveren.

HTTP lland sszekttetsekkel


Az idleges sszekttetseknek van nhny htrnya. Elszr is, minden egyes letltend objektumhoz egy teljesen j sszekttetst kell ltesteni. Minden egyes sszekttetshez TCP-puffereket kell foglalni s TCP-vltozkat kell kezelni mind a kliensen, mind a szerveren. Ez jelents terhelst okozhat a webszerver szmra, amelynek klnbz kliensekrl rkez tbb szz krst kell kiszolglnia egyidejleg. Msodszor, ahogy az elbb irtuk, min den objektum tovbbtsa kt RTT-nyi ksleltetst szenved - egy RTT szksges a TCP-sz- szekttets felptshez, egy tovbbi pedig az objektum lekrshez s fogadshoz. lland sszekttetsek hasznlata esetn a szerver nyitva hagyja a TCPsszektte- tst egy vlasz elkldse utn. Az ugyanazon kliens s szerver kztti, egymst kvet krsek s vlaszok ugyanazon az sszekttetsen keresztl kerlnek tovbbtsra. Kzelebbrl ez azt jelenti, hogy egy egsz weboldal (a fenti pldban az alap HTML-fjl s a 10 kp) ugyanazon az sszekttetsen keresztl jut el a szervertl a kliensig. Azt is jelentheti tovbb, hogy a szerver akr tbb weboldalt is tkldhet a kliensnek ugyanazon az lland TCP-sszekttetsen

2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI

139

keresztl. Az objektumokra vonatkoz krsek szorosan

140

egyms utn is kvetkezhetnek anlkl, hogy a kliens vrakozna a fggben lv krsek megvlaszolsra (ezt csvezetkezsnek - pipelining - hvjk). A HTTPszerver ltalban akkor zr le egy sszekttetst, ha azt mr egy bizonyos ideje nem hasznltk (ez az idtllpsi intervallum konfigurlhat). Ha a szerver egyms utn kvetkez krseket kap, szintn egymst kveten kldi vissza az objektumokat. A HTTP alaprtelmezett mdja lland sszekttetseket hasznl csvezctekezssel. A 2. s 3. fejezet feladataiban mennyisgileg sszehasonltjuk az idleges s az lland sszekttetsek teljestmnyt. A tmrl rszletesebben lsd [Heidemann 1997; Nielsen 1997) munkjt.

2. A/. ALKALMAZSI RTEG

2.2.3. HTTP-zenetformtumok
A IiTTP-specifikcik ([RFC 2616]) tartalmazzk a HTTP-zenetformtumok defincijt. A HTTP-zeneteknek kt tpusa ltezik, a krszenetek s a vlaszzenetek, melyeket a kvetkezkben trgyalunk.

HTTP-krszenetek
Tekintsnk egy tipikus HTTP-krszenetet:

GET /somedir/page.html HTTP/1.1 Hst: www.someschool.edu Connection: close User-agent: Mozilla/4.0 Accept-language: fr
Ha kzelebbrl megvizsgljuk ezt az egyszer krszenetet, sok mindenre jhetnk r. Mindenekeltt megllapthatjuk, hogy az zenet kznsges ASCIIkarakterekbl ll, gy egy htkznapi szmtgpes mveltsggel rendelkez ember szmra is olvashat. Msodszor, lthat, hogy az zenet t sorbl ll, minden sor vgen egy kocsivissza s egy soremels jellel. Az utols sor utn egy tovbbi kocsivissza-soremels pr kvetkezik. Habr ez a krszenet t sort tartalmaz, a krszenetek sokkal tbb sort is tartalmazhat nak, vagy llhatnak egyetlen sorbl is. A HTTP-krszenet els sora a krssor (request line), az ezt kvet sorok a fejlcsorok (header line). A krssor hrom mezt tartalmaz: a metdusmezt, az URL-mezt s a HTTP-verzimezt. A metdus mez pldul az albbi rtkeket veheti fel: GET, POST, HEAD, PT vagy DELETE. A HTTPkrszenetek nagy tbbsge a GET metdust hasznlja. A bngszk is a GET metdust hasznljk, amikor egy objektumra vonatkoz krst kldenek gy, hogy az URL-mezben megadjk az objektum azonostjt. A mi pldnkban a bngsz a /somedir/page.html objektumot kri le a szervertl. A verzi mez magtl rtetd, ebben a pldban a bngsz a HTTP/1.1 verzit valstja meg. Vessnk most egy pillantst a pldban szerepl fejlcsorokra. A Hst: www.somes- chool.edu fejlcsor megadja a hosztot, amelyen az objektum tallhat. Azt gondolhatnnk, hogy ez a fejlcsor felesleges, hiszen mr fennll egy TCP-sszekttets a hoszttal. Ahogyan azonban a 2.2.5. alfejezetben ltni fogjuk, a webes gyorsttrazshoz szksg van a hoszt fejlcsor ltal tartalmazott informcikra. A Connection: close sorral a bngsz azt kzli a szerverrel, hogy nem kvn lland sszekttetseket fenntar-

2.1. HLZATI ALKALMAZSOK ELVI ALAPJAI

141

tani vagyis a szervernek minden elkldtt objektum utn le kell zrnia a kapcsolatot. A User-agent: sor a felhasznli gynkt azonostja, vagyis megadja a krst kld bngsz tpust. A pldban a felhasznli gynk a Mozilla/4.0, egy Netscape bngsz. Ez a fejlcsor azrt hasznos a szerver szmra, mert gy ugyanannak az objektumnak klnbz verziit kldheti el a klnbz,tpus felhasznli gynkknek. (A klnbz verzik ugyanazzal az RL-lel cmezhetk.) Vgl, az Accept-language: fr fejlc azt jelzi, hogy a felhasznl az objektum francia nyelv verzijt szeretn megkapni, amennyiben ez a verzi ltezik; egybknt a szerver az alaprtelmezett verzit kldi. Az Accept-language: fejlc csak egy a HTTP-ben rendelkezsre ll szmos tartalom- egyeztet fejlc kzl. Miutn megvizsgltunk egy pldt, nzzk meg a krszenetek ltalnos formtumt, amint azt a 2.6. bra mutatja. Lthatjuk, hogy az ltalnos formtum nagyban hasonlt a korbban tanulmnyozott pldnkhoz. szrevehetjk azonban, hogy a fejlcsorok (s az azokat kvet kocsivissza-soremels pr) utn egy trzs tallhat. A trzs GET metdus hasznlata esetn res, mg POST hasznlata esetn ki van tltve. A HTTP-kliensekakkor hasznljk a POST metdust, amikor a felhasznl egy rlapot tlt ki - pldul, amikor a felhasznl keresszavakat ad meg egy keresmotornak. A POST zenet szintn egy weboldal lekrsre szolgl a szervertl, de bizonyos tartalmak a weboldalon attl fggnek, amit a felhasznl az rlap mezibe rt. Ha a metdus rtke POST, a trzs azt tartalmazza, amit a felhasznl begpelt az rlap mezibe. Emltst kell tennnk azonban arrl, hogy egy rlappal ltrehozott HTTPkrsnek nem szksgszeren kell a POST metdust hasznlnia. A HTML-rlapok ehelyett gyakran hasznljk a GET metdust, s a kldend adatokat (az rlapmezk tartalmt) a krs URL-jhez fzik. Ha pldul egy rlap, amelynek kt mezje van, GET metdust hasznl, s a kt mez a majmok, illetve a bannok szvegeket tartalmazza, az URL a kvetkez lesz: www.somesite.com/animalsearch?majmok&bannok . Napjaink webes alkalmazsaiban is megfigyelhet ez a kibvtett URL-formtum.
Krssor metdus sp URL sp rtk Verzi cr If cr If

fejlcmez neve:

sp

Fejlcsorok

fejlcmez neve: cr If

sp

rtk

cr

If

res sor

Trzs

142

2. A/. ALKALMAZSI RTEG

2.2. A

web S a

HTTP

143

A HEAD metdus hasonlt a GET metdushoz. Amikor egy szerver HEAD metdussal kldtt krst kap, vlaszknt visszakld egy HTTP-zenetet, de az nem tartalmazza a krt objektumot. Az alkalmazsfejlesztk gyakran hasznljk a HEAD metdust hibakeressre. A PT metdust gyakran hasznljk a webes kzztteli eszkzkkel kapcsolatban. A PT metdus lehetv teszi a felhasznl szmra, hogy feltltsn egy objektumot a webszerver egy megadott knyvtrba. A PT metdust hasznljk azok az alkalmazsok is, amelyeknek objektumokat kell feltltenik a webszerverekre. A DELETE metdus lehetv teszi a felhasznlknak s az alkalmazsoknak, hogy objektumokat trljenek a webszerveren.

HTTP-vlaszzcnetek
Az albbiakban bemutatunk egy tipikus HTTP-vlaszzenetet. Ez a vlaszzenet egy lehetsges vlasz a fentiekben trgyalt krszenetre.

HTTP/1.1 200 OK Connection: close Date: Thu, 07 Jul 2007 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Sun, 6 May 2007 0 9 : 2 3 : 2 4 GMT ContentLength: 6 8 2 1 Content-Type: text/html (adat adat adat adat adat . . . )
Vizsgljuk meg figyelmesen a fenti vlaszzenetet. Hrom szakaszbl ll: a bevezet llapotsorbl (status line), hat fejlcsorbl (header line) s a trzsbl (entity body). A trzs az zenet veleje - ez tartalmazza magt a krt objektumot (ezt jelli az adat adat adat ...). Az llapotsornak hrom mezje van: a protokoll verzit jell mez, az llapotkd s a megfelel llapotzenet. A pldban az llapotsor azt jelzi, hogy a szerver HTTP/1.1 verzit hasznl, s minden hiba nlkl zajlott le (vagyis a szerver megtallta s elkldi a kliensnek a krt objektumot). Nzzk meg most a fejlcsorokat. A Connection : close sorral azt jelzi a szerver a kliensnek, hogy az zenet elkldse utn le fogja zrni a TCPsszekttetst. A Date: fejlcsor azt a dtumot s idpontot tartalmazza, amikor a szerver ltrehozta s elkldte a HTTP-vlaszt. Megjegyzend, hogy ez nem azonos az objektum ltrehozsnak vagy utols mdostsnak idpontjval, hanem azt az idpontot jelli, amikor a szerver kikereste az objektumot a fjlrendszerbl, beillesztette a vlaszzenetbe s elkldte a vlasz- zenetet. A Ser ver: fejlcsor mutatja, hogy az zenetet egy Apache webszerver hozta ltre; ez a sor analg a 1 ITTP-krszenet User-agent: fejlcsorval. A LastModifi- ed : fejlcsor az objektum ltrehozsnak vagy utols mdostsnak dtumt tartalmazza. A Last-Modified: fejlc, amelyet a ksbbiekben rszletesen ismertetnk, alapvet fontossg az objektumok gyorsttrazsa szempontjbl mind a helyi kliensen mind a hlzati gyorsttrszervereken (ezeket helyettest vagy proxyszervereknek is nevezik). A Content-Length: fejlcsor az elkldtt objektum bjtjainak szmt tartalmazza. A ContentType: fejlcsor azt jelzi, hogy az zenet trzsbe gyazott objektum egy

llapotsor 144

verzi

sp

llapotkd

sp llapotszveg rtk cr If

cr

2. If A/. ALKALMAZSI RTEG

fejlcmez neve:

sp

Fejlcsorok

fejlcmez neve: cr If

sp

rtk

cr

If

res sor

Trzs

2.7. bra. A HTTP-vlaszzenetek ltalnos formtuma


HTML-szveg. (Az objektumtpust hivatalosan a Content-Type: fejlc, nem pedig a fjl kiterjesztse jelli.) A plda ttekintse utn vizsgljuk meg most a vlaszzenetek ltalnos formtumt, amelyet a 2.7. bra mutat be. Hz az ltalnos formtum megfeleltethet a fenti pldabeli vlaszzenetnek. Szlnunk kell pr szt az llapotkdokrl s a nekik megfelel vlasz- zenetekrl. Az l lapot kd s a hozz tartoz szveges lers a krs eredmnyrl ad informcikat. Az albbiakban felsorolunk nhny gyakori llapotkdot s a megfelel llapot zeneteket: 200 OK: A krs sikeres volt s a szerver a vlaszzenetben elkldte a krt informcikat. 301 Moved Permanently: A krt objektumot tartsan thelyeztk. Az j URL a vlaszzenet Location: fejlcben tallhat. A kliensszoftver automatikusan t irnytja a krst az j URL-re. 400 Bad Request: ltalnos hiba, amely azt jelzi, hogy a szerver nem kpes rtelmezni a krst. 404 Nt Found: A krt objektum nem tallhat a szerveren. 505 HTTP Version Nt Supported: A HTTP protokoll hasznlni kvnt ver zijt a szerver nem tmogatja. Szeretne a kedves olvas most mr egy valdi HTTP-vlaszzenetet ltni? Ez ersen ajnlott s nagyon knny megtenni! Elszr is lpjnk be kedvenc webszervernkre Telnet segtsgvel. Ezutn rjunk be egy a szerveren lv objektumra vonatkoz egysoros krst. Ha rendelkezsnkre ll egy parancssoros fellet, gpeljk be a kvetkezket: telnet cis.poly.edu 80 GET /-ross/ HTTP/1.1 Hst:

2.2. A web S a HTTP cis.poly.edu

145

(Az utols sor utn ssnk ktszer kocsivisszt.) Ezzel egy TCP-sszekttetst nyitunk a cis.poly.edu hoszt 80-as portjn, s elkldjk a HTTPkrszenetet. A kapott vlaszzenet egy HTML-fjlt tartalmaz, amely Ross professzor honlapjnak kezdfjlja. Ha nem vagyunk kvncsiak magra az objektumra, csak a HTTP-zenetsorokra, cserljk ki a GET szt HEAD-re. Vgl cserljk ki a /-ross/ elrsi utat a /-banana/ elrsi tra, s figyeljk meg a kapott vlaszzenetet. Ebben az alfejezetben sorra vettnk szmos fejlcsort, amelyek a HTTP krs- s vlaszzenetekben hasznlatosak. A HTTP-specifikci sokkal tbb olyan fejlcsort definil, amelyet a bngszk, webszerverek s gyorsttrszerverek az zenetbe illeszthetnek. Ezek kzl nhnyat az albbiakban mutatunk be, a tovbbiakat pedig a 2.2.5. alfejezetben, a gyorsttrazs bemutatsnl. A HTTP protokoll egy olvasmnyos s kimert bemutatsa - a fejlcekkel s az llapotkdokkal egytt megtallhat [Krishnamurty 2001] rsban, [Luotonen 1998] pedig egy fejleszti megkzeltst trgyal. Hogyan dnti el a bngsz, hogy mely fejlcsorokat kell beszrnia egy krszenetbe? Hogyan dnti el a webszerver, hogy mely fejlcsorokat kell beszrnia egy vlaszzenetbe? A bngsz ltal ltrehozott fejlcsorok fggnek a bngsz tpustl s verzijtl (egy HTTP/1.0 verzij bngsz pldul nem hoz ltre 1.1 verzij fejlcsorokat), a bngsz felhasznl ltal belltott konfigurcijtl (pldul a preferlt nyelvtl) s attl, hogy a bngsz mr rendelkezik-e az objektumnak egy gyorsttrazott, de mr elavult verzi jval. A webszerverek viselkedse hasonl: klnbz termkek, verzik s konfigurcik lteznek, amelyek mind befolysoljk azt, hogy milyen fejlcsorokat helyez el a szerver a vlaszzenetekbe.

2.2.4. Felhasznl s szerver kztti egyttmkds: stik


Korbban emltettk, hogy a HTTP-szerver llapotmentes. Ez leegyszersti a szerverek tervezst, s ez tette lehetv a mrnkk szmra nagy teljestmny, tbb ezer egyidej TCP-sszekttetst kezel webszerverek kifejlesztst. Gyakran van azonban szksg arra, hogy egy weboldal azonostsa a felhasznlit, akr azrt, mert korltozni akarja egyes felhasznlk hozzfrst, akr azrt, hogy kpes legyen a felhasznl azonossgtl fgg tartalmat szolgltatni. A HTTP erre a clra a sti kt (cookie) hasznlja, amelyeket az RFC 2965 definil. A stik lehetv teszik, hogy az egyes webhelyek nyomon kvessk felhasznlikat. Napjainkban a legtbb nagy kereskedelmi weboldal stiket hasznl. Amint azt a 2.8. bra mutatja, a stitechnolgia ngy alkotelembl ll: (1) egy sti- fejlcbl a HTTP-vlaszzenetben; (2) egy stifejlcbl a HTTPkrszenetben; (3) egy stifjlbl a felhasznl vgrendszern, amelyet a felhasznl bngszje kezel; (4) egy httradatbzisbl a weboldalon. Nzzk vgig most egy pldn a 2.8. bra segtsgvel, hogyan mkdnek a stik. 'I'cgyk fel, hogy Susan, aki a webet mindig Internet Explo- reren keresztl ri el az otthoni szmtgprl, els alkalommal ltogatja meg az Ama zon.com oldalt. Felttelezzk, hogy korbban mr jrt az eBay oldaln. Amikor a krs megrkezik az Amazon webszerverhez, a szerver egy egyedi azonost szmot hoz ltre, s elhelyez egy bejegyzst a sajt httradatbzisban, amelyben az azonost szm

alapjn lehet keresni. Az Amazon webszervere ezutn vlaszt kld Susan bngszjnek, s a HTTP-vlaszzenetben egy Set-cookie : fejlcet helyez el, amely az azonost szmot tartalmazza. Egy ilyen fejlcsor lehet pldul a kvetkez:

Set-cookie: 1678

Klienshoszt

Szerverhoszt
A szerver 1678-as bejegyzs a azonostt adja a httrfelhasznlnak adatbzisba

amazon: 1678 ebay: 8734 Sutitl fgg mvelet

hozzfrs

<

Egy httel ksbb


amazon: 1678 ebay: 8734 Stitl mvelet fgg

Id

T
Id

Jells:

(p

5ti

J'

2.8. bra. A felhasznli llapot megrzse stikkel


Amikor Susan bngszje megkapja a HTTP-vlaszzenetet, ltja, hogy az egy Set-coo- kie: fejlcet tartalmaz. A bngsz ezutn egy sort fz a sajt specilis stifjljhoz. Ez a sor tartalmazza a szerver hosztnevt s a Set-cookie: fejlcben tallhat azonost szmot. Megjegyzend, hogy a stifjlban mr van egy bejegyzs, mgpedig az eBay oldalhoz tartoz, hiszen azt Susan korbban mr megltogatta. Ahogy Susan tovbb bngszi az Amazon oldalt, minden egyes alkalommal, amikor letlt egy weboldalt, a bngszje meg keresi a slifjlban az ehhez az oldalhoz tartoz azonost szmt, s beszr a HTTP-krs- zenetbe egy stifejlcet, amely tartalmazza ezt az azonost szmot. Egszen pontosan az albbi sort fogja tartalmazni minden HTTP-krs, amelyet az Amazon szervernek kld:

Cookie: 1678

Az Amazon-szerver ezltal kpes nyomon kvetni Susan tevkenysgt az Amazon oldalon. Habr az Amazon webhelye nem felttlenl ismeri Susan nevt, azt pontosan tudja, hogy az 1678-as szm felhasznl mely oldalakat, mikor s milyen sorrendben ltogatta meg! Az Amazon a stiket a bevsrlkocsi szolgltatshoz hasznlja fel - az oldal egy listt kszt a Susan ltal megvsrolni kvnt termkekrl, gy ezeket egytt, a vsrls vgn lehet kifizetni. Ha Susan ksbb, mondjuk egy ht mlva visszatr az Amazon webhelyre, a bngszje tovbbra is beilleszti a krszenetekbe a Cookie:1678 fejlcsort. Az Amazon tovbb termkeket ajnl Susannek az ltala korbban a webhelyen megltogatott oldalak alapjn. Ha Susan regisztrl az Amazonnl - megadva teljes nevt, e-mail cmt, postai cmt s hitelkrtyaadatait - az Amazon eltrolja ezeket az informcikat az adatbzisban, sszekapcsolva gy Susan nevt az azonost szmval (s az sszes, ltala korbban megltogatott oldallal!). Ez a megolds teszi lehetv az Amazonon s ms e-kereskedelmi webhelyeken a vsrlst egy kattintssal (one-click shopping) - ha Susan egy kvetkez alkalommal meg szeretne vsrolni egy termket, nem kell jra megadnia a nevt, hitel krtyaszmt s cmt. A fentiekbl ltjuk, hogy a stik a felhasznlk azonostsra szolglnak. Az els alkalommal, amikor egy felhasznl megltogat egy webhelyei, megadhat magrl valamilyen azonost informcit (pldul a nevt). Az ezt kvet ltogatsok alkalmval a bngsz egy stifejlcet kld a szervernek, amelyben azonostja a felhasznlt a szerver fel. A stik gy arra hasznlhatk, hogy egy felhasznli viszonyrteget alaktsunk ki az llapotmentes HTTP fltt. Ha pldul egy felhasznl bejelentkezik egy webes e-mail alkalmazsba (mint amilyen pldul a Hotmail), a bngsz a stik ltal olyan informcikat kld a szervernek, melyek ltal a szerver azonostani tudja a felhasznli a munkamenet sorn. A stik ugyan sok esetben megknnytik az internetes vsrlst a felhasznlk szmra, alkalmazsuk mgis vitk trgya, ugyanis a szemlyisgi jogok egyfajta megsrtst jelentheti. Ahogy az imnt lttuk, a stik s a felhasznlk ltal megadott belpsi informcik sszekapcsolsval a webhelyek sok mindent megtudhatnak a felhasznlkrl, s az gy szerzett informcikat tovbbkldhetik egy harmadik flnek. A Cookie Central [Cookie Central 2007] tfog tjkoztatst ad a stik alkalmazsa krli vitrl.

2.2.5. Webes gyorsttrazs


A webes gyorsttrak - ms nven helyettest vagy proxyszerverek - olyan hlzati eszkzk, amelyek HTTP-krseket szolglnak ki a tnyleges webszerverek helyett. A gyorsttrszerverek sajt lemezes trolval rendelkeznek, amelyben a nemrgiben letlttt objektumok msolatait troljk. Amint a 2.9. brn lthat, a felhasznl bngszjt be lehet lltani gy, hogy a felhasznl sszes IITTP-krst elszr a gyorsttrba irnytsa. Ha egy bngszt gy lltanak be, minden esetben, amikor egy objektumra vonal koz krst kld egy szervernek, a krs elszr a gyorsttrhoz jut el. Pldaknt tegyk fel, hogy egy bngsz lekri a http://someschool.edu/campus.gif objektumot. A kvetkez trtnik: 1. A bngsz TCP-sszekltetst llest a gyorsttrral, s elkldi az objektumra vonatkoz HTTP-krst a gyorsttrnak.

2.2. A
2.

web f.s a

HTTP

101

A gyorsttr megnzi, hogy ltezik-e a sajt troljban az objektum egy msolata. Ha igen, a gyorsttr egy IITTP-vlaszzenetben visszakldi az objektumot a kliens bngszjnek. 3. Haazobjektum nem tallhat megagyorsttrban,agyorsittrszerverTCPsszekt- tetst nyit az objektumot eredetileg tartalmaz szerverrel, a forrsszerverrel (www. someschool.edu). A gyorsttr ezutn egy HTTPkrszenetet kld a forrsszervernek, amelyben lekri az objektumot. Miutn a szerver megkapta ezt a krst, HTTP-vlaszzenetben visszakldi az objektumot a gyorsttrnak. 4. Miutnagyorsttrmegkaptaazobjektum troljba, egy msik msolatt ot.annakegymsolattelmentiasajthelyi
gszjnek (a kliens bngszje <

pedig HTTP-vlaszzenetben elkldi a kliens bn- s a gyorsttr kztt mr fennll ICP-sszekt tetsen keresztl).

Forrs szerver

Kliens

Forrs szerver

2.9. bra. Objektumok elrse webes gyorsttron keresztl


Jegyezzk meg, hogy a gyorsttr kliensknt s szerverknt is mkdik egyidejleg. Amikor krseket fogad egy bngsztl s vlaszokat kld annak, szerverknt viselkedik. Amikor krseket kld egy forrsszervernek, s vlaszokat fogad tle, kliensknt viselkedik. A gyorsttrakat ltalban az internetszolgltatk szerzik be s zemeltetik. Egy egyetem pldul zembe helyezhet egy gyorsttrszervert a sajt bels hlzatn, az egyetemi hlzaton tallhat bngszket ekkor gy lltjk be, hogy ehhez a gyorsttrhoz forduljanak elszr krseikkel. Egy lakossgi internetszolgltat (pldul az AOL) telepthet egy vagy tbb gyorsttrat a sajt hlzatn, s bellthatja az ltala szlltott bngszket gy, hogy ezekre a gyorsttrakra kldjk krseiket. A gyorsttrazs kt okbl terjedt cl az interneten. Az els ok, hogy a gyorsttrszerverek nagymrtkben cskkenthetik a kliensek krseinek vlaszidejt, klnsen, ha a kliens- s a forrsszerver kztt a svszlessg szk keresztmetszete sokkal kisebb, mint a kliens- s a gyorsttrszerver kztt. Ha a

kliens s a gyorsttr kztt nagy sebessg sszekttets van (ez gyakran teljesl), s a gyorsttrban megtallhat a krt objektum, a gyorsttr pillanatokon bell elkldi az objektumot a kliensnek. Msodszor, amint azt egy pldn be is fogjuk mulatni, a gyorsttrak jelents mrtkben cskkenthetik a forgalmat egy intzmny internetes kapcsolatn. A forgalom cskkentse azt jelenti, hogy

az intzmny nem szorul r a svszlessg gyakori nvelsre, vagyis kltsgcskkens rhet el. A webes gyorsttrak tovbb jelentsen cskkenthetik az internet egsznek forgalmt, ezltal nvelve minden internetes alkalmazs teljestmnyt. A gyorsttrak elnyeinek jobb megrtshez vessnk egy pillantst a 2.10. brn lthat pldra. Az brn kt hlzat lthat - az intzmnyi hlzat s a nyilvnos internet tbbi rsze. Az intzmnyi hlzat egy nagy sebessg LAN. Az intzmnyi hlzat tvlasztja s az internetes tvlaszt kztt egy 15 Mb/s sebessg adatkapcsolat tallhat. A forrsszerverek az internetre csatlakoznak, de a Fld tbb klnbz pontjn helyezkednek el. Tegyk fel, hogy az tlagos objektummret 1 Mbit, az a sebessg pedig, amellyel az intzmny bngszi a forrsszerverekhez fordulnak, 15 krs msodpercenknt. Felttelezzk, hogy a HTTP-krszenetek mrete elhanyagolhatan kicsi, s gy nem okoz tbbletforgalmat sem a hlzatokon, sem az intzmnyi tvlaszt s az internetes tvlaszt kzti adatkapcsolaton. Felttelezzk tovbb, hogy attl kezdve, hogy a 2.10. brn lthat internetes tvlaszt tovbbt egy HTTPzenetet (egy IP-adatcsomagban) kt msodperc telik el addig, amg megkapja r a vlaszt (ltalban tbb IP-adatcsomagban). Nevezzk el ezt a ksleltetst nem hivatalosan internetksleltetesnek. A teljes vlaszid - a bngsz objektumra vonatkoz krsnek elkldse s az objektum megrkezse kztti id - a LAN ksleltetsnek, a hozzfrsi ksleltetsnek (a kt tvlaszt kzti adatkapcsolat ksleltetsnek) s az internetes ksleltetsnek az sszege.
Forrsszerverek

15 Mb/s hozzfrsi adatkapcsolat

Nyilvnos internet
100 Mb/s LAN

Intzmnyi hlzat

Vgezznk el egy kzelt szmtst erre a ksleltetsre. A forgalom intenzitsa a LAN-on (lsd 1.4.2. alfejezet): (15 krs/s) x (1 Mbit/krs)/(10() Mb/s) = 0,15 mg a hozzfrsi adatkapcsolaton (az internetes tvlaszt s az intzmnyi tvlaszt kztt) a hozzfrsi forgalom intenzitsa (15 krs/s) x (1 Mbit/krs)/(15 Mb/s) = 1 A 0,15-os forgalomintenzits egy LAN-on ltalban legfeljebb pr tzezredmsodperces ksleltetst okoz, a LAN ksleltetst ezrt figyelmen kvl hagyhatjuk. Ahogy azonban az 1.4.2. fejezetben lttuk, ha a forgalomintenzits elri az 1-et (ez a helyzet a 2.10. bra adat- kapcsolati hozzfrsnl), az adott kapcsolaton a ksleltets nagyon naggy vlik s korlt nlkl nvekszik. A krsek teljestsnek tlagos vlaszideje gy a perces nagysgrendben lesz, esetleg ennl is nagyobb, ami az intzmny felhasznli szmra elfogadhatatlan. Ezzel a problmval nyilvnvalan kezdeni kell valamit. Egy lehetsges megolds az internetelrs sebessgnek nvelse 15 Mb/s-rl, mondjuk, 100 Mb/s-re. Ezltal az internetelrsen a forgalomintenzits lecskken 0,15-re, ami azt jelenti, hogy a kt tvlaszt kztti ksleltets el hanyagol hatv vlik. Ebben az esetben a teljes vlaszid durvn kt msodperc lesz, amely megegyezik az internet ksleltetssel. Ez azonban egy kltsges javaslat, hiszen az intzmnynek fejlesztenie kell a hozzfrsi adatkapcsolatt 15 Mb/s-rl 100 Mb/s-re. Az internet-hozzfrs svszlessgnek nvelsvel szemben a msik megolds egy gyorsttrszerver teleptse az intzmnyi hlzatra. Ezt a megoldst mutatja be a 2.11. bra. A tallati arny - azon krsek arnya, amelyeket a gyorsttr szolgl ki - a gyakorlatban tipikusan 0,2-0,7 kzti rtk. A szemlltets cljbl tegyk fel, hogy a pldnkban szerepl intzmnynl a gyorsttr tallati arnya 0,4. Mivel a kliensek s a gyorsttr ugyanarra a nagy sebessg LAN-ra csatlakoznak, a krsek 40 szzalkt a gyorsttr szinte azonnal - mondjuk 10 ms alatt - kiszolglja. A krsek fennmarad 60 szzalkt azonban a forrsszervereknek kell kiszolglniuk. De mivel a krt objektumoknak csak 60 szzalka kerl tovbbtsra az internet-hozzfrsen keresztl, ezrt itt a forgalomintenzits lecskken 1-rl 0,6-ra. ltalnossgban elmondhat, hogy egy 15 Mb/s sebessg sszekttetsen a 0,8 alatti forgalomintcnzits kis ksleltetst - ez kb. nhny 10 ms - eredmnyez. Ez a ksleltets elhanyagolhat a kt msodperces internetksleltetshez kpest. Ezen felttelek mellett az tlagos ksleltets az albbi kplettel szmthat: 0,4 x (0,01 s) + 0,6 x (2,01 s) ami kicsivel tbb, mint 1,2 msodperc. A msodik megoldssal teht mg a vlaszidt is cskkenthetjk az els megoldshoz kpest, s nem szksges az intzmny internet-hozzfrcsnek bvtse sem. Termszetesen az

intzmnynek be kell szereznie s teleptenie kell egy gyorsttrszervert. Ez azonban nem jelent nagy kltsget - a gyorsttrak gyakran olcs PC-kbl s az azokon fut ingyenes szoftverekbl llnak.

2.3. Fjltvitel: FTP


Egy tipikus FTP-munkamenetben a felhasznl egy hoszt (a helyi hoszt) eltt l, s fjlokat szeretne letlteni egy tvoli hosztrl vagy feltlteni oda. Annak rdekben, hogy a felhasznl hozzfrjen a tvoli felhasznli fikjhoz, meg kell adnia felhasznli azonostjt s jelszavt. A jogosultsg-ellenrzs utn a felhasznl fjlokat msolhat a helyi fjlrendszerrl a tvoli fjlrendszerre, s fordtva. Ahogy a 2.12. bra mutatja, a felhasznl egy FTP felhasznli gynkn keresztl mkdik egytt az FTP-vel. A felhasznl elszr megadja a tvoli hoszt nevt, aminek hatsra a helyi hoszton fut FTP-kliens TCP-sszekttetst ltest a tvoli hoszton fut FTP-szer ver folyamat tl. A felhasznl ez utn megadja felhasznli azonostjt s jelszavt, amelyet a kliens a TCP-sszekttet- sen keresztl FTPparancsokban tovbbt. Miutn a szerver azonostotta a felhasznlt, a felhasznl fjlokat tlt fel a helyi fjlrendszerrl a tvoli fjlrendszerre vagy fordtva.

FTP felhasznli interfsz Felhasznl vagy hoszt

FTPkliens

Fjltvitel

Helyi fjlrendszer

Tvoli fjlrendszer

2.12. bra. Fjlok mozgatsa a helyi s a tvoli fjlrendszer kztt FTP-vel


A HTTP s az FTP egyarnt fjltviteli protokoll, s sok kzs jellemzvel rendelkeznek; pldul mindkett TCP fltt fut. Van azonban nhny fontos klnbsg e kt alkalmazsi protokoll kztt. A legfeltnbb eltrs, hogy az FTP kt prhuzamos TCP-sszekttetst hasznl a fjltvitelhez: egy vezrlsi sszekttetst (control connection) s egy adattviteli sszekttetst (data connection). A vezrlsi sszekttets vezrlsi informci tovbbtsra szolgl a kt hoszt kztt - ilyen informcik pldul a felhasznli azonost, a jelsz, a tvoli knyvtrvltsra szolgl parancsok, a fjlokat feltlt (PT) s letlt (GET)

parancsok. Magnak a fjlnak az tvitele az adattviteli sszekttetsen keresztl trtnik. Mivel az FTP kln vezrlsi sszekttetst hasznl, azt mondjk, a ve zrlsi informcit svon kvl (out of bnd) kldi. A 7. fejezetben ltni fogjuk, hogy az RT'SP protokoll, amely hang- s videoadatok folyamatos tvitelre szolgl, szintn svon kvl tovbbtja a vezrlsi informcit. A HTTP, ahogy lttuk, ugyanazon a TCP-ssze- kttetsen keresztl kldi a a krs- s vlaszfej lceket, amelyen magt a tovbbtand fjlt. Ms kifejezssel, a HTTP protokoll svon bell (in-band) tovbbtja a vezrlsi informcit. A kvetkez alfejezetben ltni fogjuk, hogy az SMTP, az elektronikus levelezs f protokollja szintn svon bell tovbbtja a vezrlsi informcit. Az FTP vezrlsi s adattviteli sszekttetseit mutatja be a 2.13. bra.

TCP vezrlsi sszekttets 21-es port


aan nm tjwmwK4 iw<m wwmMma>i

TCP adattviteli sszekttets 20-as port FTPkliens .

FTPszerver

2.13. bra. Vezrlsi s adattviteli sszekttetsek


Amikor a felhasznl FTP-munkamenetet indt egy tvoli hoszttal, az FTP kliensoldala (a felhasznl) elszr egy vezrlsi TCP-sszekttetst ltest a szerveroldallal (tvoli hoszt) a 21-es portszmon. Ezen a vezrlsi sszekttetsen keresztl az FTP-kliens elkldi a felhasznl azonostjt s jelszavt. Az FTPkliens ezen fell elkldi a vezrlsi sszekttetsen keresztl azokat a parancsokat is, amelyek mdostjk az aktulis knyv trt a tvoli hoszton. Amikor a szerver fjltvitelre vonatkoz parancsot (letlts a helyi hosztra vagy feltlts a tvoli hosztra) kap a vezrlsi sszekttetsen keresztl, adattvi teli TCPsszekttetst ltest a klienssel. Az FTP pontosan egy fjlt kld t az adattviteli sszekttetsen, majd lezrja az adattviteli sszekttetst. Ha ugyanezen munkamenet sorn a felhasznl egy jabb fjlt kvn letlteni, az FTP jabb adattviteli sszekttetst nyit. Az FTP protokollnl teht a vezrlsi sszekttets vgig nyitva marad egy felhasznli munkamenet sorn, azonban minden egyes fjl tvitelekor j adattviteli sszekttets jn ltre (vagyis az FTP idleges adattviteli sszekttetseket hasznl). Az FTP-szervernek egy munkamenet folyamn llapotinformcikat kell trolnia a felhasznlrl. Rszletesebben, a szervernek egy adott felhasznli fikhoz kell rendelnie a vezrlsi sszekttetst, s nyomon kell kvetnie a felhasznl aktulis knyvtrt, ahogy a felhasznl a tvoli knyvtrszerkezetben barangol. Az, hogy ezeket az llapotinformcikat minden fennll felhasznli munkamenethez el kell trolni, jelents mrtkben korltozza az FTP ltal egyidejleg fenntarthat munkamenetek szmt. Idzzk fel, hogy a HTTP ezzel szemben llapotmentes protokoll, vagyis nem kell a felhasznl llapotnak nyomon kvetsrl gondoskodnia.

2.3.1. FTP-parancsok s -vlaszok


Ezt az alfejezetet nhny kzismertebb FTP-parancs s -vlasz rvid bemutatsval zrjuk. A parancsok (a klienstl a szerverig) s a vlaszok (a szervertl a kliensig) a vezrlsi sszekttetsen kerlnek tovbbtsra 7 bites ASCII-formtumban. gy az FTP-parancsok - a HTTP-parancsokhoz hasonlan emberek ltal is olvashatk. Az egymst kvet parancsok elvlasztsa cljbl minden parancsot egy kocsivissza s egy soremels jel kvet. Minden parancs ngy ASCII nagybetbl ll, nmely parancsokhoz argumentumok is tartozhatnak. Az albbiakban felsorolunk nhny szoksos parancsot: USER felhasznlnv: A felhasznli azonost kldsre szolgl.

PASS jelsz: A felhasznl jelszavnak kldsre szolgl. LIST: arra kri a szervert, hogy kldjn egy listt, amely az aktulis tvoli knyvtrban tallhat sszes fjlt tartalmazza. Ezt a fjllistt a szerver a vezrlsi TCP-ssze- kttets helyett egy (jonnan ltrehozott s idleges) adattviteli sszekttetsen t kldi vissza.

Forrsszerverek

Nyilvnos internet

15 Mb/s hozzfrsi adatkapcsolat

Intzmnyi gyorstr

Intzmnyi hlzat

2.11. bra. Az intzmnyi hlzat kibvtse gyorsttrral

2.2.6. A feltteles GET


A gyorsttrazs cskkentheti ugyan a felhasznl ltal rzkelt vlaszidket, ezzel egytt egy j problmt is felvet - meglehet, hogy egy objektum gyorsttrban tallhat msolata mr elavult. Ms szavakkal, elfordulhat, hogy a webszerveren trolt objektumot mdostottk, mita msolat kszlt rla a gyorsttrban. A HTTP protokollban szerencsre ltezik egy mechanizmus, amely lehetv teszi a gyorsttr szmra annak ellenrzst, hogy a trolt objektumai naprakszek-e. Ennek a mechanizmusnak a neve feltteles GET. Egy HTTPkrszenetet feltteles GET zenetnek neveznk, ha (1) a krszenet a GET metdust hasznlja s (2) a krszenet tartalmaz egy If-Modified-Since: fejlcsort. A feltteles GET mkdsnek szemlltetshez nzznk meg egy pldt. Els lpsknt a gyostrszerver - a kliens bngszje nevben - egy krszenetet kld a webszervernek: GET /fruit/kiwi.gif HTTP/1.1 Hst: www.exotiquecuisine.com

A webszerver msodik lpsknt visszakldi a gyorsttrnak a krt objektumot tartalmaz vlaszzenetet:

HTTP/1.1 200 OK Date: Thu f 7 Jul 2007 15:39:29 Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 4 Jul 2007 09:23:24 ContentType: image/gif (adat adat adat adat adat . . . ) A gyorsttr tovbbtja az objektumot a bngsznek, s egyttal el is menti az objektumot a sajt troljba. Fontos, hogy a gyorsttr az objektummal egytt az objektum utols mdostsnak dtumt is eltrolja. Harmadik lpsknt egy httel ksbb egy msik bngsz lekri ugyanezt az objektumot a gyorsttrszerveren keresztl. Az objektum mg mindig a gyorsttrban van. Mivel lehetsges, hogy az elmlt hten mdostottk az objektumot a webszerveren, a gyorsttr egy feltteles GET kiadsval ellenrzi az objek tum frissessgt. A gyorsttr az albbi zenetet kldi a webszervernek: GET /fruit/kiwi.gif HTTP/1.1 Hst: www.exotiquecuisine.com If-modified-since: Wed, 4 Jul 2007 09:23:24 Figyeljk meg, hogy az If-modified-since: fejlcsor rtke pontosan megegyezik az egy httel korbban a szervernek kldtt Last-Modified: fejlcsor rtkvel. Ez a feltteles GET azt mondja a szervernek, hogy csak akkor kldje cl az objektumot, ha az vltozott a megadott dtum ta. Tegyk fel, hogy az objektum nem mdosult 2007. jlius 4. 09:23:24 ta. Ekkor a negyedik lpsben a webszerver a kvetkez vlaszzenetet kldi a gyorsttrnak: HTTP/1.1 304 Nt Modified Date: Thu, 14 Jul 2007 15:39:29 Server: Apache/1.3.0 (Unix) (res trzs) Ltjuk, hogy a feltteles GET krsre vlaszul a szerver csak egy vlaszzenetet kld, de nem csatolja a krt objektumot a vlaszzenethez. A krt objektum csatolsa csak feleslegesen pazaroln a svszlessget s nveln a felhasznl ltal tapasztalt vlaszidt, klnsen nagy mret objektumok esetn. Figyeljk meg, hogy az utols vlaszzenet llapotsornak tartalma 304 Nt Modified (nem mdostott), ami azt jelzi a gyorsttrnak, hogy elkldheti az objektum gyorsttrazott msolatt a bngsznek. Ezzel befejeztk a HTTP trgyalst. Ez volt az els internetes protokoll (egy alkalmazsi rtegbeli protokoll), amelyet rszletesen tanulmnyoztunk. Megvizsgltuk a HTTP-zenetek formtumt, valamint a webszerver s a kliens ltal ezen zenetek kldse s fogadsa sorn vgrehajtott mveleteket. Betekintst nyertnk a web alkalmazs-infrastruktrjba, amely magban foglalja a gyorsttrakat, a stiket s a httradatbziso kat, amelyek valamilyen mdon

mind kapcsoldnak a HTTP protokollhoz.

108

2. A/. ALKALMAZSI RTEG

RETR fjlnv: letlti a megadott nev fjlt a tvoli hoszt aktulis knyvtrbl. A parancs hatsra a tvoli hoszt lt rehoz egy adattviteli sszekttetst, s azon keresztl kldi el a krt fjlt. STOR filename: feltlti a megadott nev fjlt a tvoli hoszt aktulis knyvtrba. A felhasznl ltal kiadott parancsok s a vezrlsi sszekttetsen keresztl tovbbtott FTP-parancsok ltalban egyrtelmen megfeleltethetk egymsnak. Minden parancsot egy vlasz kvet, amelyet a szerver kld a kliensnek. A vlaszok hrom szmjegy szmok, amelyeket esetlegesen egy zenet kvethet. Ez hasonlt a HTTP-vlaszzenetek llapotsorban tallhat llapotkdok s zenetek struktrjhoz. Kvetkezzen nhny szoksos vlasz a hozzjuk tartoz zenetekkel egytt: 331 Username OK, password required (Felhasznlnvrendben, jelsz szk sges) 125 Data connection already open; transfer starting (Azadat- tviteli sszekttets mr ltezik; tvitel indtsa) 425 Can't open data connection (Nem lehet megnyitni az adattviteli sszekttetst) 452 Error writing fjl (Hiba a fjl rsa kzben) Akik szeretnk rszletesebben megismerni az FTP-parancsokat s -vlaszokat, az RFC 959-ben tallnak bvebb informcikat.

2.4. Elektronikus levelezs az interneten


Az elektronikus levelezs az internet kezdeti napjaitl ltezik. Az internet gyermekkorban a legnpszerbb alkalmazsnak szmtott, s az vek sorn egyre hatkonyabb s kiforrottabb vlt. Napjainkban is ez az internet egyik legfontosabb s legtbbet hasznlt alkalmazsa. A hagyomnyos postai levelezshez hasonlan az c-mail is aszinkron kommunikcis kzeg - az emberek akkor kldik s olvassk el a leveleket, amikor az knyelmes nekik anlkl, hogy msok idbeosztshoz kellene igazodniuk. A postai levelekkel ellenttben az elektronikus levelek gyorsak, olcsk s knnyen kzbesthetk. A korszer e-mail sok hasznos tulajdonsggal rendelkezik. A levelezlistk hasznlatval tbb ezer cmzettnek lehet egyszerre e-mailt (s levlszemetet) kldeni. A korszer e-mail zenetek gyakran tartalmaznak mellkleteket, hiperhivatkozsokat, HTML-formzs szvegeket s fny kpeket. Ebben az alfejezetben az internetes elektronikus levelezs alapjul szolgl alkalmazsi protokollokat vizsgljuk meg. Mieltt azonban mlyebben elmerlnnk ezen protokollok trgyalsban, tekintsk t az internetes levelezsi rendszert s annak f sszetevit egy magasabb szinten. A 2.14. bra ttekintst ad az internetes levelezrendszerrl. Lthat az brn, hogy a rendszer hrom f sszetevbl ll, ezek a felhasznli gynkk (user agents), a levelezszerverek (mail servers) s az egyszer levltovbbt protokoll

109

2. A/. ALKALMAZSI RTEG

(Sirnple Mail Transfer Protocol, SMTP). F. hrom sszetevt egy pldn mutatjuk be, amelyben a kld, Alice

110

2. A/. ALKALMAZSI RTEG

egy e-mail zenetet kld a cmzettnek, Bobnak. (A felhasznli gynkket levlolvasknak is szoktk nevezni, de ebben a knyvben ltalban nem hasznljuk ezt a kifejezst.) Miutn Alice megrta az zenetet, a felhasznli gynke elkldi az zenetet a levelezszervernek, ahol az zenet a levelezszerver kimen zenetsorba kerl. Amikor Bob szerelne elolvasni egy zenetet, a felhasznli gynke elkeresi ezt az zenetet Bob sajt levelezszervern tallhat postafikjbl. A*z 1990-es vek kzeptl egyre npszerbb vltak a grafikus felhasznli fellettel rendelkez felhasznli gynkk, amelyek lehetv teszik a felhasznlk szmra multimdis zenetek megtekintst s sszelltst. Ilyen npszer grafikus fellet e-mail felhasznli gynk jelenleg tbbek kztt a Microsoft Outlook, az Apple Mail s a Mozilla Ihunderbird. Ezenkvl szmos szvegalap ingyenes e-mail felhasznli fellet ltezik (tbbek kztt a mail, pine s elm), valamint, ahogy azt nemsokra ltni fogjuk, vannak vvebes felletek is. Az e-mail infrastruktra magjt a levelezszerverek alkotjk. Minden cmzett, gy Bob is rendelkezik egy postafikkal (mailbox), amely valamelyik levelezszerveren tallhat. Bob postafikja kezeli s tartja karban azokat az zeneteket, amelyeket Bob kapott.
Levelez szerver

elhasznli gynk

Levelez szerver

elhasznli gynk Levelez szerver


elhasznli gynk elhasznli elhasznli gynk gynk

elhasznli gynk

Jells:

111

2. A/. ALKALMAZSI RTEG

Kimen Ozeneisor

Lili

fSH Felhasznl postafikja

gy kis trtnelem

Hotmail
1995 decemberben Sabeer Bhatia s Jack Smith felkerestk az internetes vllalkozsokkal foglalkoz befektet cget, a Draper Fisher Jurvetsont, s felajnlottk neki, hogy kifejlesztenek egy webes alap elektronikus levelezrendszert. A/, volt a-/, tletk, hogy brki, aki szeretn, kaphasson ingyenes e-mail postaikot, s ezeket a postafikokat a weben keresztl lehessen elrni. A webes e-mail rendszeren keresztl brki, aki webhozzfrssel rendelkezik pldul egy iskolbl vagy egy kzknyvtrbl - olvashatna s rhatna e-maileket. A webes e-mail tovbb nagy mrtk mobilitst tenne lehetv elfizeti szmra. Bhatia s Smith megalaptottk a Hotmail nev ccget, amelyet 15 szzalkos rszesedsrt cserbe a Draper Fisher Jurvetson finanszrozott. Hrom teljes munkaids munkatrssal s 12-14 rszmunkaids alkalmazottal, akik rszvnyvsrlsi opcirt dolgoztak, 1996 jliusra sikerlt kifejleszteni s elindtani a szolgltatst. Az induls utn egy hnappal mr 100 000 elfizetjk volt. Az elfizetk szma gyorsan nvekedett, ami azt is jelentette, hogy az elolvasott levelekhez fztt szalaghirdetsek egyre tbb emberhez jutottak el. 1997 decemberben, kevesebb mint 18 hnappal a szolgltats elindtsa utn, a Hotmailnek 12 milli elfizetje volt; ekkor a Microsoft felvsrolta, a hrek szerint 400 milli dollrrt. A Hotmail sikert gyakran tulajdontjk az elsknt mozdulk

(first-mover) elnynek,

valamint az e-mail jellegbl add vrusmarketingnek. A Hotmail elnyre szolglt, hogy az els cg volt, amely webes alap e-mail szolgltatst knlt. Termszetesen tbb ms cg is lemsolta a Hotmail tleti, de a Hotmail hat hnap elnnyel rendelkezett velk szemben. Sikerk azon alapult, hogy volt egy eredeti tletk, s abbl gyorsan s titokban mkd alkalmazsi fejlesztettek ki. A vrusmarketing kifejezs azokra a termkekre s szolgltatsokra vonatkozik, amelyek nmagukat reklmozzk. Az e-mail a vrusmarketing klasszikus pldja - a felad zenetet kld egy vagy tbb cmzettnek, ezllal minden cmzett figyelmt felhvja a szolgltatsra. A Hotmail esete megmutatta, hogy az elsknt mozdulk elnynek s a vrusmarke- tingnek egyszerre trtn kihasznlsval igazi tt erej alkalmazs hozhal ltre. Taln ppen az ezen knyvet olvas hallgatk kzl kerlnek majd ki azok a vllalkozk, akik hasonl internetes szolgltatsokat tallnak ki s fejlesztenek ki.

F.gy tipikus zenet tja a felad felhasznli gynknl kezddik, innen az zenet elbb a felad levelezszerverre tovbbtdik, majd megrkezik a cmzett levelezszerverre, ahol a cmzett postafikjba kerl. Amikor Bob hozz szerelne frni a postafikjban lv zenetekhez, a postafikot karbantart levelezszerver azonostja Bobot (a felhasznlnevvel s a jelszavval). Alice levelezszervernek kezelnie kell azokat az eseteket is, ha Bob levelezszervern hiba lp fel. Ha Alice szervere nem tudja tovbbtani a levelet Bob szervernek, Alice szervere egy zenetsorba (message queue) helyezi az zenetet, s k sbb jra megprblkozik a kldssel. A prblkozsok trtnhetnek pldul 30 msod percenknt. Ha nhny nap utn sem sikerl a kzbests, a szerver trli az zenetet, s errl e-mailben rtesti Alice-t. Az internetes elektronikus levelezs alapvet alkalmazsi protokollja az SMTP. Az SMTP a TCP megbzhat adattviteli szolgltatst hasznlja a levelek eljuttatsra a felad levelezszervertl a cmzett levelezszerverig. Mint a legtbb alkalmazsi protokollnak, az SMTP-nek is kt oldala van: egy kliens a felad levelezszervern, s egy szerver a cmzett levelezszervern. Minden levelezszerver futtatja az SMTP mindkt oldalt, a szerver s a kliensoldalt is.

Amikor egy levelezszerver levelet kld ms levelezszervereknek,

SMTP-kliensknt mkdik. Amikor egy levelezszerver levelezszerverektl, SMTP-szerverknt mkdik.

levelet

fogad

ms

2.4.1. SMTP
Az SMTP, amelyet az RFC 2821-ben definiltak, az internetes elektronikus levelezs alapja. Ahogy mr emltettk, az SMTP juttatja el az zeneteket feladk levelezszervereitl a cmzettek levelezszervereihez. Az SMTP jval rgebbi protokoll, mint a HTTP. (Az eredeti SMTP RFC-t 1982-ben tettk kzz, de az SMTP mr korbban is ltezett.) Habr az SMTP szmos nagyszer tulajdonsggal rendelkezik, amit az interneten trtnt szles kr elterjedse is igazol, mgis rkltt (legacy) technolginak szmt, nmileg elavult jellegzetessgekkel. Ilyen pldul, hogy mindenfle e-mail zenet trzsben (nem csak a fejlcekben) kizrlag egyszer, 7 bites ASC'II-kdokat enged hasznlni. Ennek a korl tozsnak volt rtelme az 1980-as vek elejn, amikor szks volt az tviteli kapacits, s senki nem csatolt nagy mellkleteket, kpeket, hang- vagy videofjlokat az emailjeihez. Napjaink multimdis korszakban azonban a 7 bites ASCII-kdokra korltozs csak gondokat okoz - a multimdis adatokat emiatt ASCII-formtumra kell kdolni, mieltt SMTP-vel el lehetne kldeni ket; az SMTP-tvitel utn pedig dekdolni kell ezt az ASCII-zenetet binris formtumra. Idzzk fel a 2.2. alfejezetbl, hogy a HTTP nem ignyli a multimdis adatok ASCII-formtumra trtn kdolst az tvitel eltt. Az SMTP mkdsnek alapjait ismertetend, nzznk vgig egy szokvnyos forgatknyvel. Tegyk fel, hogy Alice egy egyszer ASCII-zenetet szeretne kldeni Bobnak. A forgatknyvet a 2.15. bra szemllteti. 1. Alice elindtja a sajt e-mail felhasznli gynkt, megadja Bob e-mail cmt (pldul bob@someschool.edu ), sszellt egy zenetet, majd utastja a felhasznli gynkt, hogy kldje el az zenetet. 2. Alice felhasznli gynke elkldi az zenetet Alice levelezszervernek, ahol az egy zenetsorba kerl. 3. Az SMTP kliensoldali rsze, amely Alice levelezszervern fut, szreveszi az zenetet az zenetsorban. TCP-sszekttetst ltest a Bob levelezszervern fut SMTP-szer- verrel. 4. Nhny kezdeti SMTP kzfogs-zenet utn az SMTP-kliens elkldi Alice zenett a TCP-sszekttetsen keresztl. 5. Bob levelezszervern az SMTP szerveroldali rsze fogadja az zenetet. Bob levelezszervere ezutn Bob posta fikjba helyezi az zenetet. 6. Bob a sajt felhasznli gynkvel elolvassa a levelet, amikor az neki knyelmes. Fontos szrevenni, hogy az SMTP alapesetben nem vesz ignybe kzbees levelezszervereket a levl elkldshez, mg akkor sem, ha a kt levelezszerver a Fld kl tellenes pontjn tallhat. Ha Alice szervere Hongkongban, Bob szervere pedig St. Louis-ban van, akkor is kzvetlen TCP-sszekttets jn ltre a kt szerver kztt. Abban az esetben, ha Bob szervere ppen nem mkdik, az zenet Alice levelezszervern marad, s vrakozik egy jabb tovbbtsi ksrletre - az zenet nem kerl t egy kzbees levelezszerverre.

Vizsgljuk meg most egy kicsit kzelebbrl, hogyan juttatja el az SMTP az zeneteket a kld levelezszervertl a fogad levelezszerverig. Ltni fogjuk, hogy az SMTP protokoll sokban hasonlt azokra a protokollokra, amelyek az emberek kztti kzvetlen rintkezs-

Jells:
zeroiso- F^"410 hUS postafikja

2.15. bra. Alice zenetet kld Bobnak re szolglnak. A SMTP-kliens (amely a kld levelezszerver-hoszton fut) TCPsszekt- tetst ltest a 25-s porton lv SMTP-szerverrel (amely a fogad levelezszerver-hoszton fut). Ha a szerver nem elrhet, a kliens ksbb jra prblkozik. Miutn az sszekttets ltrejtt, a szerver s a kliens nhny alkalmazsi rtegbeli kzfogs-zenetet vlt - ahogy az emberek is bemutatkoznak egymsnak, mieltt informcikat cserlnnek, az SMTP-kliensek s -szerverek is bemutatkoznak egymsnak az informcicsere meg kezdse eltt. Az SMTP kzfogsi fzisa alatt az SMTP-kliens azonostja a felad (aki az zenetet ltrehozta) e-mail cmt s a cmzett e-mail cmt. Abbl a clbl, hogy az ze netet hiba nlkl eljuttassa a szerverhez, az SMTP a TCP megbzhat adatszllt szolgltatsra tmaszkodhat. Ha tovbbi zeneteket kell elkldeni a szerver fel, a kliens megismtli ezt az eljrst ugyanazon a TCP-sszekttetsen keresztl; egybknt pedig lezrja a TCP-sszekttetst. Nzznk meg most egy pldt, amely az SMTP-kliens (K) s az SMTP-szerver (S) kztt cserlt zenetek msolata. A kliens hosztneve crepes.fr, a szerver hosztneve pedig hamburger.edu. A K: kezdet ASCII-szveges sorok pontosan azt a szveget tartalmazzk, amelyet a kliens a sajt TCP-szoketjre kld, az S: kezdet ASCII-sorok pedig pontosan azt a szveget tartalmazzk, amelyet a szerver a sajt TCP-szoketjre kld. A TCP-sszekttets ltrehozsa utn kzvetlenl a kvetkez prbeszd kezddik:

S: 220 hamburger.edu K: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you K: MAIL FROM: < alice@crepes.fr > S: 250 alice6crepes.fr ... Sender ok K: RCPT TO: < bob@hamburger.edu > S: 250 bob@hamburger.edu ... Recipient ok K: DATA S: 354 Enter mail, end with "." on a line by itself K: Szereted a ketchupt? K: s a savanysgot?

K: QUIT

K: . S: 250 Message accepted fr delivery

S: 221 hamburger.edu closing connection A fenti pldban a kliens egy zenetet (Szereted a ketchupt? s a sa vanysgot?) kld a crepes.fr levelezszerverrl a hamburger.edu levelezszerverre. A prbeszd rszeknt a kliens 5 parancsot ad ki: HELO (a HELLO rvidtse), MAIL FROM (levl feladja), RCPT TO (levl cmzettje), DATA (az tkldend adat) s QUIT (kilps). A kliens kld egy egyetlen pontot tartalmaz sort is, amely az zenet vgt jelzi a szervernek. (ASCIl-zsargonban kifejezve, minden zenetet CRLF.CRLF zr, ahol CR a kocsivissza, LF pedig a sorvge karaktert jelli). A szerver vlaszt kld minden egyes parancsra. A vlaszok egy vlaszkdbl s (opcionlisan) egy angol nyelv magya rzatbl llnak. Itt jegyezzk meg, hogy az SMTP lland sszekttetseket hasznl: ha a kld levelezszerver tbb zenetet akar elkldeni ugyanannak a fogad levelezszer vernek, megteheti, hogy az sszes zenetet ugyanazon a TCP-sszekttetsen keresztl kldi el. A kliens minden zenet elkldsekor egy j MAIL FROM: crepes.fr sorral indt, az zenet vgt egy ponttal jelzi, az sszes zenet elkldse utn pedig kiadja a QUIT parancsot. Ersen javasoljuk, hogy az olvas prblja ki a Telnet segtsgvel, hogyan lehet kzvetlenl kommuniklni egy SMTP-szervrrel. Ehhez az albbi parancsot kell begpelni: telnet szervernv 25 ahol szervernv a helyi levelezszerver neve. Ennek a parancsnak a kiadsakor egyszeren egy TCP-sszekttets jn ltre az olvas helyi hosztja s a levelezszerver kztt. A fenti sor begpelse utn a szerver azonnal visszakldi a 220-as kd vlaszt. Ezutn adjuk ki a megfelel sorrendben a HELO, MAIL FROM, RCPT TO, DATA, CRLF.CRLF s QUIT SMTP-parancsokat.

2.4.2. sszehasonlts a HTTP-vei


Hasonltsuk most ssze rviden az SMTP-t a HTTP-vel. Mindkt protokoll fjlok tvitelre szolgl egyik hosztrl a msikra: a HTTP-fjlokat (ms nven objektumokat) tlt le egy webszerverrl egy webes kliensre (jellemzen egy bngszre), mg az SMTP-fjlokat (vagyis e-mail zeneteket) szllt egy levelezszerverrl egy msik levelezszerverre. A fjlok tvitelekor az SMTP lland sszekttetseket hasznl, s a HTTP-nek is van ilyen mkdsi mdja. A kt protokoll teht sok kzs jellegzetessggel br. Vannak kztk azonban fontos klnbsgek is. Az els, hogy a HTTP alapveten lehz (puli) proto koll - valaki adatokat tlt fel a vvebszerverre, a felhasznlk pedig a HTTP-t hasznlva leszedik ezeket az adatokat, vagyis akkor tltik le azokat, amikor nekik a legmegfelelbb. Rszletesebben, a TCP-sszekttetsl az a gp kezdemnyezi, amely fogadni szeretn a fjlokat. Ezzel szemben az SMTP elsdlegesen feltol (push) protokoll a felad levelezszervere akkor tovbbtja a fjlt a cmzett levelezszervernek, amikor a felad levelet kvn kldeni. Rszletesebben, a TCP-sszekttetst az a gp kezdemnyezi, amelyik fjlokat akar kldeni.

Egy msik klnbsg, amelyre korbban mr utaltunk, hogy az SMTP-nl minden zenetnek, belertve az zenetek trzst is, 7 bites ASCTI-formtumnak kell lennie. Ha az zenetben olyan karakterek vannak, amelyek a 7 bites ASCIIkdtblban nem tallhatk meg (pldul kezetes magyar betk), vagy az zenet binris adatokat (pldul egy kpet) tartalmaz, akkor az zenetet t kell kdolni 7 bites ASCII-formtumra. A HTTP nem tesz ilyen megszortsokat. A harmadik fontos klnbsg abban mutatkozik, hogy hogyan kezeli a kt protokoll a szveget s kpeket (esetleg ms binris objektumokat) tartalmaz dokumentumokat. Ahogy a 2.2. alfejezetben lttuk, a HTTP minden objektumot a sajt HTTP-vlaszze- netbe gyaz be. Az internetes levelezsnl, ahogy azt ksbb rszletesen bemutatjuk, az zenet sszes objektuma egyetlen zenetbe kerl. Vgl egy fontos hasonlsg, amelyrl korbban mr esett sz, hogy a HTTP is s az SMTP is svon belli vezrlst hasznl.

2.4.3. Levl zenetformtumok s a MIM


Ha Alice a hagyomnyos postval (csigapostval) levelet kld Bobnak, a levl tetejn feltnteti az sszes olyan jrulkos fejlc-informcit, mint pldul Bob cme, a sajt vlaszcme s a dtum. Hasonlkppen, amikor valaki e-mail zenetet kld egy msik szemlynek, szintn egy jrulkos adatokat tartalmaz fejlc kerl az zenet trzse el. Ezek a jrulkos adatok egymst kvet fejlcsorokban jelennek meg, amelyeket az RFC 822 definil. A fejlcsorokat az zenet trzstl egy res sor (vagyis egy CRLF) vlasztja el. Az RFC 822 megszabja az e-mail fejlcsorok pontos formtumt azok szemantikus rtel mezsvel egytt. A HTTP-hez hasonlan minden fejlcsor olvashat szveget tartalmaz. A sorok egy kulcsszval kezddnek, amelyet kettspont, majd az rtk kvet. Nmely kulcsszt ktelez megadni, msok opcionlisak. Minden fejlcnek kell, hogy legyen egy From: (felad) fejlcsora s egy To: (cmzett) fejlcsora; a fejlc tartalmazhat egy Sub- ject: (trgy) fejlcsort, valamint tovbbi opcionlis fejlcsorokat. Fontos megjegyezni, hogy ezek a fejlcsorok klnbznek a 2.4.1. alfejezetben bemutatott SMTP-parancsoktl (mg ha tartalmaznak is kzs szavakat, mint pldul froms fo). A 2.4.1. alfejezetben trgyalt parancsok az SMTP kzfogsi protokolljnak rszei voltak, mg a jelen alfejezet ben vizsglt fejlcsorok magnak az e-mail zenetnek a rszei. Egy szokvnyos zenetfejlc hasonl az albbihoz:

From: Alice@crepes.fr To: bob@hamburger.edu Subject: Keressk az elet ertelmet.


Az zenetfejlc utn egy res sor kvetkezik, ezt kveti az zenet trzse (ASCIIkdo- lsban). A Telnet segtsgvel prblja ki a fent lertakat: kldjn zenetet egy levelez- szervernek, amely tartalmaz nhny fejlcsort, kztk a Subject: fejlcsort. Ehhez a telnet szervernv 25 parancsot kell kiadni, ahogy a 2.4.1. alfejezetben lttuk.

A MIM kiterjeszts nem ASCII-kdols adatokhoz


Mg az RFC 822-ben lert zenetfejlcek megfelelek kznsges ASCII-szveg kldsre, nem knlnak azonban kielgt megoldst multimdia-zenetek (pldul kpekkel elltott zenetek, hang vagy vide) vagy nem ASCIIszvegformtumok (pldul az angol nyelvben nem hasznlt karakterek) szlltsra. Ahhoz, hogy az ASCII-szvegen kvl brmi mst tovbbthasson, a kld felhasznli gynknek kiegszt fejlceket

kell elhelyeznie az zenetben. Ezeket az extra fejlceket az RFC 2045 s az RFC 2046, a tbbcl internetes levl kiterjesztsek (Multipurpose Internet Mail Extensions, MIM) definiljk. A multimdia tmogatsra szolgl kt f MIME-fejlc a Content-Type : fejlc s a Content-Transfer-Encoding: fejlc. A Content-Type: fejlc lehetv teszi a fogad felhasznli gynk szmra, hogya megfelel mveletet hajtsa vgre az zeneten. Ha pldul a fejlc azt jelzi, hogy az zenet trzse egy JPEG-kpet tartalmaz, a fogad felhasznli gynk tovbbthatja az zenettrzset egy JPEG kicsomagol rutinnak. Ah hoz, hogy a ContentTransfer-Encoding: fejlc jelentsgt megrtsk, idzzk fel, hogy a nem ASCII-kdols szveges zeneteket ASCII-formtumv kell kdolni, hogy ne zavarjk meg az SMTP mkdst. A Content-Transfer-Encoding: fejlc arra figyelmezteti a fogad felhasznli gynkt, hogy az zenet trzst ASCIIform- tumv kdoltk t, s megadja a hasznlt kdols tpust. gy, ha egy felhasznli gynk zenetet kap a fenti kl fejlccel, elbb a ContentTransfer-Encoding: fejlc rtke alapjn visszaalaktja az zenet trzst az eredeti, nem ASCII-formtumba, majd a Content-Type: fejlc alapjn eldnti, hogy milyen mveletet kell vgrehajtania az zenettrzsn. Nzznk meg egy konkrt pldt. Tegyk fel, hogy Alice egy JPEG-kpet szeretne kldeni Bobnak. Ehhez Alice elindtja a sajt e-mail klienst, berja Bob e-mail cmt, megadja az zenet trgyt, s beszrja a )PEG-kpet az zenet trzsbe. (Beillesztheti a kpet mellkletknt is, az alkalmazott felhasznli gynk tpustl fggen.) Miutn Alice befejezte a levl rst, a Klds gombra kattint. Alice felhasznli gynke ezutn egy MIME-zenetet llt ssze, amely valahogy gy nz ki:

From: alice@crepes.fr To: bob@hamburger.edu Subject: Kp a finom sutidrol. MIME-Versio n : 1.0 Content- TransferEncoding: base64 Content- Type: image/jpeg (base64 kdols adat ...................................................... base64 kdols adat)
A fenti MIME-zenetben megfigyelhetjk, hogy Alice felhasznli gynke base64 kdolssal kdolta a JPEG-kpet. Ez az egyik olyan kdolsi technika, amely az zenetek 7 bites ASCII-formtumra trtn kdolsra szolgl. A base64-et nhny ms kdolsi technikval egytt a MIME |RCF 2045]-ben szabvnyostottk. Egy msik npszer kdolsi technika az idzett nyomtathat karakteres (quotedprintable) tartalomtviteli kdols, amelyet jellemzen 8 bites (az angol nyelven kvli karaktereket tartalmaz) ASCII-szvcgek 7 bites ASCII-formtumra trtn talaktsra hasznlnak. Amikor Bob elolvassa a levelet a sajt felhasznli gynkvel, a felhasznli gynk ugyanezt a MIME-zenetet dolgozza fel. Amikor Bob felhasznli gynke

szleli a Content-Transfer-Encoding : base64 fejlcsort, elkezdi dekdolni a base64 kdols zenettrzset. Az zenet egy Content-Type: image/jpeg fejlcsort is tartalmaz, amely azt jelzi Bob felhasznli gynke szmra, hogy az zenet trzsn JPEG kicsomagol algoritmust kell futtatni. Az zenet tovbb tartalmazza a MIME-Version: fejIcct is, amely rtelemszeren az alkalmazott MlME-verziszmot jelli. Megjegyezzk, hogy az zenet egybknt a szabvnyos RFC 822/SMTP formtumot kveti. Az zenetfejlc utn egy res sor, majd az zenet trzse kvetkezik.

A fogadott zenet
Hanyagok lennnk, ha nem tennnk emltst a fejlcsorok egy tovbbi osztlyrl, amelyet a fogad SMTP-szerver illeszt be az zenetbe. A cmzett szerver, amikor egy RFC 822 s MJMF-fejlcsorokkal elltott zenetet fogad, az zenet elejre egy Received: fejlcsort szr be; ez a ejlcsor adja meg az zenetet kld SMTPszerver nevt (from), az zenetet fogad szerver nevt (by), valamint azt az idpontot, amikor az zenet megrkezett a szerverre. Az zenet teht a cmzett felhasznl szmra a kvetkez formban jelenik meg:

Received: from crepes.fr by hamburger.edu; 12 Oct 98 15:27:39 GMT From: Alice0crepes.fr To: bob@hamburger.edu Subject: Kp a finom sutirl. MIME-Versio n: 1.0 Content-Transfer- Encoding: base64 Content-Type: imag e/jpeg base64 kdols adatok ............... ............base64 kdols adatok
Majdnem mindenki, aki hasznlt mr elektronikus levelezst, ltta mr az e-mail zeneteket megelz Received: fejlcsort (a tbbi fejlcsorral egytt). (Ez a sor gyak ran kzvetlenl is lthat a kpernyn vagy a kinyomtatott zeneten.) Taln szrevette az olvas, hogy nha egy zenetnek tbb Received: fejlcsora s egy bonyolultabb Return-Path: fejlcsora van. Ennek az a magyarzata, hogy egy zenet a kld s a fogad kztt tbb SMTP-szervercn is thaladt. Ha pldul Bob azt az utastst adja a sajt e-mail szervernek (hamburger.edu), hogy tovbbtson minden berkez zenetet a sushi.jp szervernek, akkor a Bob felhasznli gynke ltal megjelentett zenet valahogy gy fog kezddni:

Received: fro m hamburger.edu by sushi.jp; 3 Jul 01 15:30.01 GMT Received: from crepes.fr by hamburger.edu; 3 Jul 01 15:17:39 GMT

Ezen fejlcsorok segtsgvel a cmzett felhasznli gynke nyomon tudja kvetni, hogy az zenet mely SMTP-szervereken s milyen idpontban haladt keresztl.

2.4.4. Levl-hozzfcrsi protokollok

Miutn az SMTP eljuttatta az zenetet Alice levelezszervertl Bob levelezszerverhez, az zenet Bob postafikjba kerl. A korbbiakban hallgatlagosan feltteleztk, hogy Bob a levelet gy olvassa el, hogy bejelentkezik a szerverhosztra, majd elindt egy levlol vas programot, amely ezen a hoszton fut. Egszen az 1990-es vek elejig ez volt a levelek elolvassnak szoksos mdja. Napjainkban azonban a levlelrs kliens-szerver architektrval mkdik - az tlagos felhasznl az e-mailjeit egy olyan kliens hasznlatval tekinti meg, amely a felhasznl vgrendszern fut, pldul egy irodai PC-n, egy laptopon vagy egy PDA-n. Azltal, hogy a levelezkliens egy helyi PC-n fut, a felhasznlk a szolgltatsok gazdag vlasztkt lvezhetik, belertve a multimdis zenetek s mellkletek megtekintsnek lehetsgt is. Felttelezve, hogy (a cmzett) Bob a felhasznli gynkt a sajt helyi PC-jn futtatja, termszetesnek tnik ugyanerre a helyi PC-re telepteni egy levelezszervert is. Ebben a megkzeltsben Alice levelezszervere kzvetlen prbeszdet folytatna Bob PC-jvel. Van azonban egy kis gond ezzel a megkzeltssel. Emlkezznk, hogy a levelezszerverek kezelik a postafikokat s futtatjk az SMTP kliens- s szerveroldali rszt. 1 la Bob levele zszervere a sajt PC-jn futna, Bob PC-jnek folyamatosan bekapcsolva s az internetre csatlakoztatva kellene lenni, hogy fogadja az j leveleket, amelyek brmely idpontban rkezhetnek. Ez a legtbb internetfelhasznl szmra nem praktikus. Egy tlagos felhasznl ehelyett a helyi PC-n futtatja a felhasznli gynkt, de a postafikja egy folyamatosan zemel, megosztott hasznlat levelezszerveren tallhat. Ezt a levelezszervert tbb felhasznl megosztva veszi ignybe, s ltalban a felhasznlk internetszolgltatja (pldul egy egyetem vagy vllalat) tartja karban. Nzzk most meg egy e-mail zenet tjt, ahogy Alice-tl eljut Bobig. Amint lttuk, az e-mail zenetet tja sorn egyszer el kell juttatni Bob levelezszerverhez. Ezt gy rhetjk el, ha Alice felhasznli gynkvel elkldetjk az zenetet kzvetlenl Bob levelez- szervernek. Ezt pedig az SMTPvel tehetjk meg - st, az SMTP-t arra terveztk, hogy e-mail zeneteket juttasson cl egyik hoszttl a msikig. A kld felhasznli gynke azonban ltalban nem kommunikl kzvetlenl a cmzett levelezszervervel. Ehelyett, amint azt a 2.16. brn lthatjuk, Alice felhasznli gynke az SMTP segtsgvel el kldi az zenetet a sajt levelezszervernek, majd Alice levelezszervere SMTP haszn latval (mint SMTP-kliens) tovbbtja az e-mail zenetet Bob levelezszervernek. Mirt van szksg erre a kt lpscs eljrsra? Elssorban azrt, mert ha nem iktatjuk kzbe Alice levelezszervert, Alice felhasznli gynke nem tud mihez kezdeni, ha a cmzett levelezszervere elrhetetlen. Azltal, hogy Alice elszr a sajt levelezszerverre kldi el az zenetet, Alice levelezszervere ismtelten mondjuk 30 percenknt - megksrelheti az zenet tovbbtst Bob levelezszervere fel, amg Bob levelezszervere nem vlaszol. (Ha pedig Alice levelezszervere nem mkdik, jelezheti a hibt a rendszeradminisztr tornak!) Az SMTP RFC' definilja azokat az SMTP-parancsokat, amelyekkel egy zenetet tbb

SMTP-szerveren keresztl lehet tovbbtani. Egy darab azonban hinyzik mg a kirakbl Hogyan kapja meg egy cmzett, mrmint Bob - aki a sajt PC-jn futtatja felhasznli gynkt - a leveleit, amelyek egy levelez- szerveren tallhatk Bob internetszolgltatjnl? Jegyezzk meg, hogy Bob felhasznli gynke nem hasznlhat SMTP-t az zenetek letltsre, mert az zenetek letltse a le hzs (puli) mvelete, mg az SMTP feltolsi (push) protokoll. A kirak hinyz darabja egy klnleges levlhozzfrsi protokoll lesz, amely eljuttatja az zeneteket Bob levelez-

3_
Alice gynke SMTP

'^ i
r

Alice levelez- szervere

Bob levelezszervere Bob gynke

SMTP

POP3, IMAP vagy HTTP

2.16. bra. E-mailprotokollok s kommunikl egyedeik szervertl a sajt helyi PC-jig. jelenleg szmos npszer levl-hozzfrsi protokoll ltezik, tbbek kztt a postahivatal protokoll (Post Office Protocol Version 3, POP3), az internetes levl-hozzfrsi protokoll (Internet Mail Access Protocol, IMAP) s a HTTP. A 2.16. brn az internetes levelezsre hasznlt protokollok sszegzse lthat: az SMTP-t hasznljk a levelek eljuttatsra a felad levelezszervertl a cmzett levelezszerverhez; SMTP-t hasznlnak tovbb a leveleknek a felad felhasznli gynktl a felad levelezszerverhez trtn eljuttatsra is. A cmzett levelezszervertl a cmzett felhasznli gynkhez egy levl-hozzfrsi protokoll - pldul a POP3 - alkalmazsval jutnak el a levelek.

P0P3
A POP3 egy rendkvl egyszer levl-hozzfrsi protokoll. Az [RFC 1939] definil ja, amely rvid, s egsz jl olvashat. Mivel a protokoll ilyen egyszer, funkcionalitsa viszonylag korltozott. A POP3 akkor indul, amikor a felhasznli gynk (a kliens) TCP-sszekttetst ltest a levelezszerverrel (a szerverrel) a 110-es porton. A TCP-sz- szekttets ltrejtte utn a POP3 protokollnak hrom fzisa van: hitelests, tranzakci s frissts. Az els, a hitelestsi fzis sorn a felhasznli gynk egy felhasznlnevet s egy jelszt kld (nylt szvegknt), amelyek azonostjk a felhasznlt. A msodik fzis, a tranzakci sorn a felhasznli gynk zeneteket fogad; a felhasznli gynk ezen fzis alatt kijellhet zeneteket trlsre, eltvolthatja ezeket a kijellseket, valamint levelezsi statisztikkat krdezhet le. A harmadik, a frisstsi fzis akkor kezddik, amikor a kliens kiadta a quit parancsot, befejezve ezzel a POP3-munkamenetet; a levelezszerver ekkor trli azokat az zeneteket, amelyeket korbban trlsre jelltek ki. Egy POP3-tranzakci sorn a felhasznli gynk parancsokat ad ki, a szerver pedig minden parancsra egy vlaszt kld. Kt lehetsges vlasz ltezik: +OK (nha a szervertl a kliensnek kldtt adatok utn elhelyezve), amellyel a szerver azt jelzi, hogy a megelz parancs vgrehajtsa sikeres volt; s -ERR, amellyel a szerver azt jelzi, hogy a megelz parancs vgrehajtsa sorn problma lpett fel. A hitelestsi fzishoz kt alapvet parancs tartozik: user <felhasznlnv> s

pass <jelsz>. Ezen kt parancs illusztrlshoz javasoljuk az olvasnak, hogy lp jen be kzvetlenl egy POP3-szerverre Telnet segtsgvel (110-es port), s adja ki ezeket a parancsokat. Tegyk fel, hogy a levelezszerver neve levelSzerver. Az albbihoz hasonl zenetek jelennek meg: telnet levelSzerver 110 +OK POP3 server ready

122

2. A/ ALKALMAZSI RTLG

user bob +OK pass hungry +0K user successfully logged on Ha elgpelnk egy parancsot, a POP3-szerver -ERR zenettel vlaszol. Vessnk most egy pillantst a tranzakcis fzisra. Egy POP3-at hasznl felhasznli gynk konfigurlsnl a felhasznl gyakran vlaszthat a letlts s trls, valamint a letlts s megtarts belltsok kzl. A POP3 felhasznli gynk ltal kiadott parancsok sorrendje attl fgg, hogy felhasznli gynk a fenti kt md kzl pp melyikben mkdik. A letlts s trls mdban a felhasznli gynk a list, retr s dele parancsokat adja ki. legyk fel pldul, hogy a felhasznlnak kt zenete van a posta fikjban. Az albbi prbeszdben K: (kliens) a felhasznli gynkt jelzi, S: (szerver) pedig a levelezszervert. A tranzakci valahogy gy nz ki:
SZAMITOGEP- HLZATOK...............................................3 MKDS............................................................3

Tartalomjegyzk.............................................................................................................. 7

A szmtgp-hlzatok s az internet........................................................................ 26

1.1.Mi az az internet?...................................................................................................... 2

1.1.1.Alkotrszek........................................................................................................... 2

1.1.2.Szolgltatsok........................................................................................................ 5

1.2. A hlzat szle....................................................................................................... 11

2.4. ELEKTRONIKUS LEVELEZS AZ INTERNETEN

123

1.2.1.Kliens- s szerverprogramok............................................................................... 14

1.2.2.Hozzfrsi hlzatok......................................................................................... 14

1.2.3.Fizikai tviteli kzegek........................................................................................ 26

1.3.A hlzat magja...................................................................................................... 30

1.3.1.Vonalkapcsols s csomagkapcsols.................................................................30

1.3.2.Csomagok thaladsa csomagkapcsolt hlzatokon........................................40

1.3.3.lnternetszolgltatk s internet-gerinchlzatok..............................................41

1.4.Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban ...44

1.4.1.Ksleltetsek ttekintse.................................................................................... 46

1.4.2.Sorbanllsi ksleltets s csomagveszts.......................................................52

1.4.3.Vgpontok kztti ksleltets............................................................................. 55

124 2. A/. ALKALMAZSI RF.TUG 1.4.4.Szmtgp-hlzatok tbocstkpessge......................................................58

1.5.Protokollrtegek s szolglati modelljeik..............................................................63

1.5.1.Rtegezett architektra...................................................................................... 63

1.5.2.zenetek, szegmensek, csomagok s keretek..................................................72

1.6.Tmadsok a hlzatok ellen................................................................................. 76

1.7.Szmtgp-hlzatok s az internet trtnete....................................................84

1.7.1.A csomagkapcsols kifejlesztse: 1961-1972....................................................84

1.7.2.Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980...................................87

1.7.3.Hlzatok gyors fejldse: 1980-1990...............................................................88

1.7.4.Az internet robbansszer elterjedse: az 1990-es vek.................................89

1.7.5.Legutbbi fejlesztsek......................................................................................... 90

2.4. ELEKTRONIKUS LEVELEZS AZ INTERNETEN

125

1.8.sszefoglals.......................................................................................................... 92

Krdsek........................................................................................................................ 94

Feladatok....................................................................................................................... 96

Gondolkodtat krdsek............................................................................................. 105

Leonard Kleinrock........................................................................................................ 108

Az alkalmazsi rteg................................................................................................... 113

2.1.Hlzati alkalmazsok elvi alapjai.......................................................................114

2.1.1.Hlzati alkalmazsi architektrk..................................................................114

2.1.2.Kommunikl folyamatok.................................................................................. 119

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok ........122

2.1.4.Internetes szlltsi szolgltatsok..................................................................125

126 2. A/. ALKALMAZSI RF.TUG 2.1.5.Alkalmazsi protokollok....................................................................................130

2.1.6.A knyvben trgyalt hlzati alkalmazsok....................................................131

2.2. A web s a HTTP.................................................................................................. 132

2.2.2.Idleges s lland sszekttetsek................................................................134

2.2.3.HTTP-zenetformtumok................................................................................... 140

2.2.4.Felhasznl s szerver kztti egyttmkds: stik....................................146

2.2.5.Webes gyorsttrazs...................................................................................... 149

2.3.Fjltvitel: FTP...................................................................................................... 127

2.3.1.FTP-parancsok s -vlaszok..............................................................................129

2.2.6.A feltteles GET................................................................................................. 131

2.4.Elektronikus levelezs az interneten...................................................................108

2.4. ELEKTRONIKUS LEVELEZS AZ INTERNETEN

127

2.4.1.SMTP................................................................................................................... 134

2.4.2.sszehasonlts a HTTP-vei..............................................................................113

2.4.3.Levl zenetformtumok s a MIM.................................................................114

2.4.4.Levl-hozzfcrsi protokollok...........................................................................118

2.5.DNS - Az internet krzetnv-szolgltatsa.........................................................131

2.5.1.A DNS ltal nyjtott szolgltatsok..................................................................132

2.5.2.A DNS mkdsnek ttekintse.....................................................................135

2.5.3.DNS-rekordok s -zenetek..............................................................................131

2.6.P2P-alkalmazsok................................................................................................. 139

2.6.1.P2P-fj1cserls................................................................................................. 140

F \................................................................................................................................. 143

128 2. A/. ALKALMAZSI RF.TUG 2.6.2.Informcikeress egy P2P-kzssgben........................................................155

2.6.3.Esettanulmny: P2F internetes telefonls (Skype).......................................163

2.7.TCP-szoketprogramozs....................................................................................... 166

2.7.1.TCP-szoketprogramozs.................................................................................... 168

2.7.2.Egy kliens-szerver alkalmazsi plda Javban programozva.........................172

l.................................................................................................................................... 183

t.................................................................................................................................... 186

Bram Cohen................................................................................................................. 202

A szlltsi rteg.......................................................................................................... 205

O................................................................................................................................... 245

O................................................................................................................................... 211

2.4. ELEKTRONIKUS LEVELEZS AZ INTERNETEN

129

Sally Floyd................................................................................................................... 295

A hlzati rteg........................................................................................................... 298

Vinton G. Cerf.............................................................................................................. 151

1................................................................................................................................... 196

1................................................................................................................................... 196

r,=2X.......................................................................................................................... 231

p*"~ j........................................................................................................................... 242

I I l i.............................................................................................................................. 106

K: K: S:

dele 2 quit +OK POP3

server signing off

A felhasznli gynk elszr elkr a levelezszervertl egy listt, amely az egyes trolt zenetek mreteit tartalmazza. A felhasznli gynk ezutn letlti, majd trli az zeneteket a szerverrl. Figyeljk meg, hogy a hitelestsi fzis utn a felhasznli gynk csak ngy parancsot adott ki: list, retr, dele s quit. A parancsok szintaktikjt az RFC 1939 definilja. A quit parancs feldolgozsa utn a POP3-szerver a frisstsi fzisba lp, s trli a postafikbl az 1. s 2. szm zeneteket. A letlts s trls mddal az a problma, hogy a cmzett, Bob, esetleg tbb klnbz gprl is szeretne hozzfrni e-mail zeneteihez, pldul az irodai PC-

130 2. A/. ALKALMAZSI RF.TUG jrl, az otthoni PC-jrl s a hordozhat szmtgprl. A letlts s trls md sztosztja Bob e mail zeneteit e hrom gp kztt; rszletesebben, ha Bob elszr elolvas egy zenetet az irodai PC-jn, ksbb otthon nem tudja majd ugyanezt az zenetet jra elolvasni a hordozha t gprl. A letlts s megtarts mdban a felhasznli gynk a levelezszerveren hagyja az zeneteket, miutn letlttte azokat. Ebben az esetben Bob jra elolvashatja ugyanazokat az zeneteket tbb klnbz gprl; egy zenethez hozz tud frni munka kzben, s ksbb a hten valamikor az otthoni gprl is. Egy felhasznli gynk s egy levelezszerver kztti POP3-munkamenet sorn a POP3-szerver trol bizonyos llapotinformcikat; pontosabban, nyomon kveti, hogy mely felhasznli zeneteket jelltek ki trlsre. Nem trol azonban llapotinformcikat a POP3-szerver az egyes POP3-munkamenetek kztt. Az, hogy a munkamenetek kztt nem kell llapotin formcikat nyilvntartani, nagyban leegyszersti egy POP3-szerver implementcijt.

1MAP
POP3-hozzfrs esetn, miutn Bob letlttte zeneteit a helyi gpre, ltrehozhat levelezsi mappkat, s a letlttt zeneteket t mozgathatja ezekbe a mappkba. Bob ezen tl trlhet zeneteket, mozgathatja az zeneteket a mappk kztt, s kereshet zeneteket (a felad neve vagy a trgy alapjn). Ez a szemlletmd vagyis a helyi gpen ltrehozott mappk, s azokban trolt zenetek - azonban gondot jelent az gynevezett nomd felhasznlk szmra, akik ugyanazokat a szolgltatsokat tbb helyrl, tbb klnbz hosztrl szeretnk ignybe venni. Nekik jobban megfelelne, ha egy tvoli szerveren alakthatnnak ki mappahierarchit, amelyet aztn brmely szmtgprl elrhetnek. A POP3-mal ez nem lehetsges - a POP3 protokoll nem knl olyan eszkzket, amelyek kel a felhasznl tvoli mappkat hozhatna ltre s ezekhez a mappkhoz rendelhetn az zeneteket. A fenti - s tbb ms - problma megoldsra talltk ki az IMAP protokollt, amelyet az [RFC 3501] definil. A POP3-hoz hasonlan az IMAP is egy levlhozzfrsi protokoll. Tbb szolgltatst nyjt, mint a POP3, de jelentsen bonyolultabb is. (s gy a kliens- s a szerveroldali implementci is sokkal bonyolultabb.) Egy IMAP-szerver minden zenetet egy mapphoz rendel; amikor egy zenet elszr megrkezik a szerverre, a cmzett INBOX mappjba helyezi azt. A cmzett ezutn t- mozgathalja az zenetet egy j, a felhasznl ltal ltrehozott mappba, elolvashatja az zenetet, trlheti az zenetet s gy tovbb. Az IMAP protokoll olyan parancsokat is knl, amelyekkel a felhasznlk megadott feltteleknek megfelel zeneteket kereshetnek a tvoli mappkban. Jegyezzk meg, hogy a POP3-mal ellenttben az IMAP-szerverek az egyes IMAPmunkamenetek kztt is megrzik az llapotinformcikat - pldul a map pk nevt, s hogy mely zenetek mely mappkhoz tartoznak. Az IMAP egy tovbbi fontos jellemzje, hogy olyan parancsokat is tartalmaz, amelyek lehetv teszik egy felhasznli gynk szmra, hogy csak az zenetek bizonyos komponenseit tltse le. Egy felhasznli gynk pldul megleheti, hogy egy zenetbl csak a fejlcet vagy egy tbbrszes MIME-zenetbl csak az egyik rszt tlti le. Ez a szolgltats akkor hasznos, ha a felhasznli gynk s a levelezszerver kztt kis svszlessg sszekttets van (pldul egy lass modemes kapcsolat). Lehetsges, hogy egy kis svszlessg sszekttetssel

2.4. ELEKTRONIKUS LEVELEZS AZ INTERNETEN

131

rendelkez felhasznl nem akarja letlteni az sszes zenetet a posta fikjbl, klnsen a hossz zeneteket szeretn elkerlni, amelyek pldul hangot vagy videoklippet tartalmaznak. Az IMAP-rl minden informci megtallhat az IMAP hivatalos webhelyn (IMAP 2007].

Webalap e-mail

Napjainkban egyre tbb s tbb felhasznl a webbngszje segtsgvel kld s olvas e-mail zeneteket. A webalap hozzfrst a Hotmail vezette be az 1990-es vek kzepn; jelenleg a Yahoo, a Google, valamint majdnem minden nagyobb egyetem s vllalat biztost webalap e-mail hozzfrst. Ennla szolgltatsnl a felhasznli gynk egy kznsges webbngsz, s a felhasznl HTTP-n keresztl lp kapcsolatba tvoli pos- tafikjval. Amikor egy cmzett - mint Bob hozz szeretne frni egy, a postafikjban lv zenethez, az e-mail zenetet Bob levelezszervere HTTP protokollal kldi el Bob bngszjhez ahelyett, hogy POP3 vagy IMAP protokollt hasznlna. Amikor egy felad - mint Alice - e-mail zenetet szeretne kldeni, az e-mail zenetet a bngszje HTTP-n keresztl kldi el a levelezszerverhez SMTP helyett. Alice levelezszervere azonban to vbbra is SMTP-n keresztl cserl zeneteket ms levelezszerverekkel.

2.5. DNS - Az internet krzetnv-szolgltatsa


Minket, embereket, sokflekppen lehel azonostani. Azonosthatk vagyunk pldul a nevnkkel, amely a szletsi anyaknyvi kivonaton szerepel. Azonosthat bennnket az adazonost jelnk. Azonosthat bennnket a jogostvnyunk sorszma. Habr mindezek az azonostk emberek azonostsra szolglnak, egy adott krnyezetben az egyik azonost megfelel lehet, a tbbi nem. Az adhivatal szmtgpei pldul a rgztett hosszsg adazonost jelekkel dolgoznak a szletsi nevek helyett. Msrszrl, az tlagemberek a jobban megjegyezhet szletsi neveket rszestik elnyben az adszmokkal szemben. (Kpzeljk csak el, hogy valaki igy mutatkozik be: Szia, a nevem 132-67-9875. pedig a frjem, 178-87-1146) Ahogy az embereket, gy az internetes hosztokat is tbbflekppen lehet azonostani. Egy hoszt egyik azonostja a hosztneve. A hosztnevek - mint cnn.com, www.yahoo . com, gaia.cs.umass.edu vagy cis.poly.edu - knnyen megjegyezhetk, ezrt az emberek ezeket szeretik hasznlni. A hosztnevek azonban kevs vagy semmi informcit nem nyjtanak arrl, hogy a hoszt hol helyezkedik el az interneten. (A www.eurecom . fr hosztnv, amely a .fr orszgkddal vgzdik, jelzi, hogy a hoszt valsznleg Francia- orszgban tallhat, de ennl tbbet nem rul el.) Tovbb, mivel a hosztnevek vltoz hoszszsg alfanumerikus karakterlncokbl llhatnak, az tvlasztk szmra nehzkes lenne a feldolgozsuk. Ezen okokbl kifolylag a hosztokat az gynevezett IP-cm azonostja. Az IP-cmeket rszletesebben a 4. fejezetben trgyaljuk, hasznos azonban, ha itt is ejtnk rluk pr szt. Egy IP-cm ngy bjtbl ll, s merev hierarchikus struktrval rendelkezik. Egy IP-cm a kvetkezhz hasonlan pl fel: 121.7.106.83, ahol a pontok az egyes bjtok decimlis formban kifejezeti (0 s 255 kzti) rtkeit vlasztjk el egymstl. Az IP-cmek hierarchikusak, mivel a cmet balrl jobbra olvasva egyre tbb informcit kapunk arrl, hogy a hoszt hol

132 2. A/. ALKALMAZSI RF.TUG tallhat az interneten (vagyis, a hlzatok hlzatn bell melyik hlzaton). Hasonlkppen, ha egy postai cmet a tetejtl az alja fel haladva olva sunk, egyre tbb informcihoz jutunk arrl, hogy hol tallhat a cmzett.

2.5.1. A DNS ltal nyjtott szolgltatsok

Az imnt lthattuk, hogy egy hosztot ktflekppen lehet azonostani hosztnvvel s IP-cmmel. Az emberek a knnyebben megjegyezhet hosztnevet szeretik hasznlni azonostknt, mg az tvlaszlk a rgztett hosszsg, hierarchikusan strukturlt IP-cmeket rszestik elnyben. Ezen ignyek sszeegyeztetse cljbl szksg van egy katalgusszolgltatsra, amely a hosztneveket IP-cmckk fordtja le. Ez az intenetes kr- zetnvkezel rendszer (domain name system, DNS) elsdleges feladata. A DNS (1) egy elosztott adatbzis, amelyet hierarchikusan szervezett DNS-szerverekkel valstottak meg, s (2) egy alkalmazsi rtegbeli protokoll, amely lehetv teszi a hosztok szmra, hogy lekrdezseket hajtsanak vgre ebben az adatbzisban. A DNSszerverek gyakran UNIX-os gpek, amelyeken a Berkeley Internet Name Domain (BIND) szoftver fut [BIND 2007]. A DNS-protokoll UDP felett fut s az 53-as portot hasznlja. A DNS-t rendszeresen hasznljk egyb alkalmazsi protokollok - belertve a HTTP, SMTP s FTP protokollokat - arra, hogy a felhasznl ltal megadott hosztneveket IP-c- mekre fordtsa. Pldaknt vizsgljuk meg, mi trtnik akkor, ha egy bngsz (vagyis egy HTTP-kliens), amely egy felhasznl hosztjn fut, a www.someschool.edu/index . html URL-re vonatkoz krst kld. Ahhoz, hogy a felhasznl hosztja HTTP-krsze- netet tudjon kldeni awww.someschool.edu webszervernek, a felhasznl hosztjnak meg kell szereznie a www. someschool.edu IP-cmt. Ez a kvetkezkppen trtnik: 1. A felhasznl gpe futtatja a DNS-alkalmazs kliensoldali rszt. 2. A bngsz kiemeli az URL-bl a hosztnevet (www.someschool.edu ), majd ezt a hosztnevet tadja a DNS-alkalmazs kliensoldalnak. 3. A DNS-kliens egy, a hosztnevet tartalmaz lekrdezst kld egy DNSszervernek. 4. A DNS-kliens egyszer vgl kap egy vlaszt, amely tartalmazza a hoszt nvhez tartoz IP-cmet. 5. Miutn a bngsz megkapta a DNS-tl az IP-cmet, kezdemnyezhet egy TCP-sszekttetst a HTTP-szerverfolyamattal, amely a kapott IP-cmen, a 80as porton tallhat. A pldbl lthat, hogy a DNS egy tovbbi - nha jelents mrtk ksleltetst okoz az t hasznl internetes alkalmazsoknak. Szerencsre, amint azt az albbiakban trgyalni fogjuk, a kvnt IP-cm gyakran megtallhat egy kzeli DNS-szerver gyorsttrban, ami segt mind a DNS ltal okozott hlzati forgalom, mind az tlagos DNS ksleltets cskkentsben.
Elvek a gyakorlatban'

DNS: kritikus hlzati szolgltats kliens-szerver megkzeltsben A HTTP, FTP s SMTP protokollokhoz hasonlan a DNS is egy alkalmazsi rtegbeli pro tokoll, mivel (1) egymssal kommunikl vgrendszereket futtat kliens-szerver megkzelts alapjn, s (2) egy alsbb rtegbeli, vgpontok kztti szlltsi protokollra tmaszkodik, hogy eljuttassa a DNSzeneteket a kommunikl vgrendszerekhez. Ms rtelemben viszont, a DNS szerepe elgg

2.4. ELEKTRONIKUS LEVELEZS AZ INTERNETEN


klnbzik a web, a fjltviteli s az e-mail alkalmazsok szereptl. El lenttben ezekkel az alkalmazsokkal, a DNS nem olyan alkalmazs, amellyel a felhasznl kzvetlenl kapcsolatba lep. A DNS ehelyett egy alapvet internetes szolgltatst nyjt - ne vezetesen a hosztneveket IP-cmekre fordtja a felhasznli alkalmazsok s ms internetes

133

szoftverek szmra. Az 1.2. alfejezetben emltettk, hogy az internetes architektra bonyo lultsga leginkbb a hlzat szlein'* jelenik meg. A DNS, amely alapvet fontossg nv-cm lekpezst valst meg a hlzat szln elhelyezked kliensek s szerverek hasznlatval, egy jabb plda erre a tervezsi filozfira.

A DNS a hosztnevek IP-cmekre fordtsn tl nhny tovbbi fontos szolgltatst is nyjt: Hoszt-lnevek kezelse. Egy bonyolult hosztnvvel rendelkez hosztnak lehet egy vagy tbb lneve (alias). Pldul egy olyan hosztnvnek, mint relayl .westeoast. enterprise.com, lehet kt lneve, mint enterprise.com s www.enterprise.com. Ebben az esetben a relayl.west-coast.enterprise.com hoszt* nevet kanonikus hosztnvnek nevezzk. Az lnevek, ha lteznek ilyenek, ltalban jobban megjegyezhetek, mint a kanonikus hosztnevek. Egy alkalmazs lekrdezheti a DNS-tl egy megadott lnvhez tartoz kanonikus hosztnevet s a hoszt IP-cmt. Levelezszerver-lnevek kezelse. Nyilvnval okokbl ersen ajnlott, hogy az e-mail cmek knnyen megjegyezhetek legyenek. Ha pldul Bobnak van egy felhasznli fikja a Hotmail-nl, Bob e-mail cme valsznleg egyszer, pldul bob@ hotmail.com. A Hotmail levelezszervernek hosztneve azonban bonyolultabb s sokkal nehezebben megjegyezhet, mint az egyszer hotmail.com (a kanonikus hoszt nv olyasmi lehet, mint pldul relayl.westcoast.hotmail.com). Egy levelezalkalmazs lekrdezheti a DNS-ti a megadott lnvhez tartoz kanonikus hosztnevet a hoszt IP-cmvel egytt. Az MX bejegyzs (lsd lejjebb) valjban lehetv teszi egy vllalat levelezszervere s webszervere szmra, hogy ugyanazt a hoszt(l)nevet hasznljk; pldul egy cg webszervernek s levelezszervernek neve egyarnt lehet enterprise.com. Ha lteznek ilyenek, ltalban jobban megjegyezhetek, mint a kanonikus hosztnevek. Terhelseloszts. A DNS-t arra is hasznljk, hogy sztossza a terhelst a tbbszrztt szerverek kztt, pldul tbbszrztt webszerverek kztt. A nagy forgalm webhelyek (pldul a cnn.com) tbbszrztt szervereken futnak, ahol minden szerveren klnbz vgrendszer fut, s mindegyiknek kln IP-cme van. Tbbszrztt webszerverek esetn egy kanonikus hosztnvhez IP-cmek egy halmaza tartozik. Ezt az IP-cmhalmazt a DNSadatbzis trolja. Amikor a kliensek DNS-lekrdezst hajtanak vgre egy nvre, amelyhez tbb IP-cm tartozik, a szerver visszakldi az sz- szes IPcmet, de a cmek sorrendjt vlaszrl vlaszra megvltoztatja. Mivel egy kliens ltalban arra az IP-cmre kldi el HTTP-krszenctett, amelyik az els helyen szerepel a felsorolsban, a DNS a cmek sorrendjnek vltoztatsval sztosztja a forgalmat a tbbszrztt szerverek kztt. Ezt a mdszert e-mail szervereknl is hasznljk, vagyis tbb e-mail szervernek lehet ugyanaz az lneve. A tartalomelosztssal foglalkoz cgek, mint az Akamai [Akamai 2007] kifinomultabb mdon hasznljk a DNS-t arra, hogy webes tartalomelosztst biztostsanak (lsd 7. fejezet). A DNS-t az RFC 1034-ben s az RFC 1035-ben specifikltk, valamint tovbbi kiegszt RFC-kben aktualizltk. A DNS egy sszetett rendszer, amelynek itt csak a fbb szempontjait rinthettk. Az rdekld olvas a fenti RFC-kben, valamint

2.4. ELEKTRONIKUS LEVELEZS AZ INTERNETEN

135

Abitz s Liu knyvben [Abitz 1993] tallhat tovbbi informcikat; tovbb [Mockapetris 1998] visz- szatekint mvben, amely pontos lerst ad arrl, hogy mi a DNS s hogyan mkdik; valamint [Mockapetris 2005] weblapjn.

2.5.2. A DNS mkdsnek ttekintse

Ebben az alfejezetben nagyvonal ttekintst nyjtunk a DNS mkdsrl. Trgyalsunk a hosztnv - IP-cm fordtst megvalst szolgltatsra sszpontost. Tegyk fel, hogy egy felhasznl hosztjn fut alkalmazsnak (pldul egy webbn- gsznek vagy levlolvasnak) szksge van egy adott hosztnvhez tartoz IP-cmre. Az alkalmazs meghvja a DNS kliensoldali rszt, megadva neki a lefordtand hosztnevet. (Sok UNIX-alap gpen az alkalmazsnak a gethostbyname() fggvnyt kell meghvnia, amely elvgzi a fordtst. A 2.7. alfejezetben bemutatjuk, hogyan hvja meg egy Java alkalmazs a DNS-t.) A felhasznl hosztjn fut DNS ezutn tveszi a kezdemnye zst, s egy lekrdez zenetet kld a hlzatra. Minden DNS lekrdezs- s vlaszzene tet UDPadatcsomagok szlltanak az 53-as porton keresztl. Egy bizonyos ksleltetsi id utn, amely ezredmsodpercektl pr msodpercig terjedhet, a felhasznl hosztjn fut DNS egy DNS-vlaszzenetet kap, amely a kvnt lekpezst tartalmazza. A lekpezst a DNS ezutn tovbbtja a hv alkalmazsnak. A felhasznl hosztjn fut hv alkalmazs szempontjbl gy a DNS egy fekete doboz, amely egyszer, kzvetlen fordtsi szol gltatst nyjt. Valjban azonban a fekete doboz, amely ezt a szolgltatst megvalstja, bonyolult, s egyrszt sok, a vilg minden pontjn elosztott DNS-szerverbl, msrszt egy alkalmazsi rtegbeli protokollbl ll, amely megadja, hogy a DNS-szerverek s a lekrde z hosztok hogyan kommuniklnak egymssal. A DNS egy egyszer megvalstsa egyetlen DNS-szerverbl llna, amely tartalmazza az sszes lekpezst. Ebben a kzpontostott elrendezsben a kliensek egyszeren minden lekrdezst az egyetlen DNS-szerverhez irnytanak, a DNSszerver pedig kzvetlenl a lekrdez klienseknek vlaszol. Br a fenti megvalsts egyszersge vonz, a megolds nem megfelel napjaink internetje szmra, amely rengeteg (s egyre nkekv szm) hosztot foglal magban. A kzpontostott elrendezs problmi a kvetkezk: Egyetlen hibahely (single point of failure). Ha a DNS-szerver meghibsodik, az egsz internet sszeomlik! A forgalom nagysga. Egyetlen DNS-szervernek kell kiszolglnia az sszes DNS-le- krdezst (minden HTTP-krsnl s e-mail zenetnl, amelyeket tbb szz milli hoszt hoz ltre). Tvoli, kzpontostott adatbzis. Az egyetlen DNS-szerver nem lehet kzel minden lekrdez klienshez. Ha az egyetlen DNS-szervert New Yorkba helyezzk, az sz- szes Ausztrlibl rkez lekrdezsnek t kell utaznia a Fld tellenes pontjra, esetleg lass s torld adatkapcsolatokon keresztl. Ez jelents ksleltetseket okozhat. Karbantarts. Az egyetlen DNS-szervernek trolnia kell az interneten tallhat sz- szes hoszthoz tartoz bejegyzseket. Ez a kzpontostott adatbzis nemcsak risi mret lenne, de gyakran kellene frissteni is, amikor egy-egy j hosztot csatlakoztatnak a hlzatra. sszegezve, egy kzpontostott adatbzis, amelyet egyetlen DNS-szerver kezel, nem sklzhat. Ebbl kvetkezen a DNS-t elosztott mdon terveztk. A DNS

136

2. A/. ALKALMAZSI RTEG


arra, hogyan lehet elosztott adatbzisokat

valjban egy nagyszer plda megvalstani az interneten.

Egy elosztott, hierarchikus adatbzis


A sklzhatsg megoldsnak rdekben a DNS nagy szm szervert hasznl, amelyek hierarchikus mdon szervezdnek, s szt vannak osztva az egsz vilgon. Nincs olyan DNS-szerver, amely egymaga tartalmazza az interneten tallhat sszes hoszthoz tartoz lekpezseket. A lekpezsek ehelyett a sok DNS-szerver kztt elosztva troldnak. Els kzeltsben a DNS-szerverek hrom osztlyt klnbztethetjk meg - a gykr DNS-szerverek, a legfelsbb szint krzethez (top-level domain, TLD) tartoz DNS-szer- verek, s a hiteles DNSszerverek - amelyek a 2.17. brn lthat hierarchiba szervezd nek. Annak megrtshez, hogyan kapcsoldik egymshoz a szerverek e hrom osztlya, tegyk fel, hogy egy DNS-kliens szeretn megtudni a www.amazon.com hosztnvhez tartoz IP-cmet. Els kzeltsben a kvetkez esemnyek trtnnek: a kliens elszr kapcsolatba lp egy gykrszerverrel, amely visszakldi neki a com legfels szint krzet TI.D-szervereinek IP-cmeit. A kliens ezutn kapcsolatba lp valamelyik TLD-szerverrel, amely visszakldi neki az amazon.com egy hiteles DNS-szervernek IP-cmt. A kliens vgl az amazon.com egy hiteles szervervel lp kapcsolatba, s megkapja tle a www. amazon.com hosztnvhez tartoz IPcmet. Rvidesen rszletesebben is megvizsgljuk a DNS keressi folyamatt. Elbb azonban nzzk meg kzelebbrl a DNS-szerverek hrom osztlyt: Gykr DNS-szerverek. Az interneten 13 gykr DNS-szerver tallhat (A-tl M-ig jellve), amelyek tbbsge kszak-Amerikban helyezkedik el. A gykr DNS-szer- verek 2006 oktberi elhelyezkedst brzolja a 2.18. bra trkpe; a jelenleg mkd gykr DNS-szerverek megtallhatk a [Root-servers 2007] cmen. Habr a 13 gykr DNS-szerverre mint egyedi szerverekre hivatkoztunk, biztonsgi s megbzhat- sgi okokbl valjban minden szerver egy tbbszrztt szerverekbl ll frt. Legfels szint krzetek (top-level domain, TLD) szerverei. Ezek a szerverek felelsek az eredeti legfels szint krzetekrt (com, org, net, edu, gov) s az orszgok legfels szint krzeteirt (uk, fr, de, jp, hu stb.). A knyv rsakor (2007 tavasza) a NetWork Solutions vllalat tartja karban a com legfels szint krzet TLD-szervereit, az Educause vllalat pedig az edu legfels szint krzet TLD-szervereit. Hiteles DNS-szerverek. Minden szervezetnek, amely az interneten nyilvnosan elrhet hosztokkal (pldul webszerverekkel vagy e-mail szerverekkel) rendelkezik, nyilvnosan hozzfrhet DNS-bejegyzseket kell biztostania, amelyek ezen hosztok neveit I P-cmekre kpezik le. Ezeket a DNSbejegyzseket a szervezet hiteles DNS-szer- vere tartalmazza. Egy szervezet vagy sajt maga tartja karban a hiteles DNS-szervert, vagy fizet egy szolgltatnak, hogy az zemeltessen egy hiteles DNS-szervert ezekkel a bejegyzsekkel. A legtbb egyetem s nagyvllalat maga zemelteti a sajt elsdleges s msodlagos (biztonsgi msolat cljt szolgl) hiteles DNSszervert. A gykr-, TLD- s hiteles DNS-szerverek mind a DNS-szerverek hierarchijba tartoznak, amint a 2.17. bra mutatja. A DNS-szerverek egy tovbbi fontos tpusa a helyi DNS-szerver. A helyi DNS-szerverek nem tartoznak szigoran a

2.4. ELEKTRONIKUS LEVELEZS AZ INTERNETEN

137

szerverhierarchiba, mindazonltal kzponti szerepk van a DNS-architektrban. Minden internetszolgltat - egyetemek, akadmiai intzetek, vllalatok s lakossgi internetszolgltatk - rendelkezik egy helyi DNS-szerverrel (ezt helyi nvszervernek is hvjk). Amikor egy hoszt kapcsoldik az internetszolgltathoz, az internetszolgltat megadja a hosztnak egy vagy

2.4. ELEKTRONIKUS LEVELEZS AZ INTERNETEN

149

Gykr DNS-szerverek

com DNS-szerverek org DNS-szerverek edu DNS-szerverek

11

yahoo.com DNS-szerverek

amazon.com DNS-szerverek

pbs.org DNS-szerverek

poly.edu DNS-szerverek

umass.edu DNS-szerverek

2.17. bra. A DNS-szerverek hierarchijnak rszlete tbb sajt helyi DNS-szervernek IP-cmt (ltalban DHCP-n keresztl, amelyet a 4. fejezetben trgyalunk). Az olvas is knnyen megtekintheti helyi DNSszervernek IP cmt a Windows- vagy UNIX-rendszer hlzati llapotot mutat ablakaiban. Egy hoszt helyi DNS-szervere ltalban a hoszthoz kzel' helyezkedik el. Egy intzmnyi internetszolgltatnl a helyi DNS-szerver ltalban ugyanazon a LAN-on tallhat, mint a hoszt; egy lakossgi internetszolgltatnl ltalban csak nhny tvlaszt van a DNS-szerver s a hoszt kzlt. Amikor egy hoszt DNS-lekrdezst hajt vgre, a lekrdezst elkldi a helyi DNS-szervernek, amely proxyknt viselkedik, s tovbbtja a krst a DNS-szerverhierar- chiba, amint azt a kvetkezkben ltni fogjuk. Vizsgljunk meg egy egyszer pldt, legyk fel, hogyacis.poly.edu hosztnak szksge van a gaia.cs.umass.edu hoszt IP-cmre. Felttelezzk tovbb, hogy a mszaki egyetem helyi DNS-szervernek neve dns.poly.edu, a gaia.cs.umass.edu hiteles (e) (f)
NASA Mt View, CA Internet Software C. Palo Alto, CA (mg tovbbi 36 helyen) (a) Verisign, Dulles, VA (c) Cogent, Herndon, VA (Los Angeles is) (d) U Maryland College Park, MD (g) US DoD Vienna, VA (h) ARL Aberdeen, MD (j) Verisign, (21 helyen)

(i)

Autonmica, Stockholm

(mg tovbbi 28 helyen) (k)RIPE London (mg tovbbi 16 helyen)


(m) WIDE Tokyo (Szulban, Prizsban, San Franciscban is)

(b)

USC-ISI Marina del

Rey.CA (I) ICANN Los Angeles, CA

DNS-szervernek neve pedig dns.umass.edu. Amint a 2.19. brn lthat, a cis. poly.edu hoszt elszr a sajt helyi DNS-szervernck kld egy lekrdezst. A lekrdez zenet tartalmazza a lefordtand hosztnevet, amely a pldban a gaia.es.umass. edu. A helyi DNS-szerver tovbbtja a lekrdez zenetet egy gykr DNS-szerverhez. A gykr DNS-szerver szreveszi az edu uttagot, s visszakldi a helyi DNS-szcrver- nek az edu tartomnyrt felels TLD-szerverek IPcmeinek listjt. A helyi DNS-szerver ezutn jra elkldi a lekrdezst az egyik TLD-szervernek. A TLD-szerver szreveszi a nv umass.edu vgzdst, s vlaszban visszakldi a Massachusettsi Egyetem hiteles DNS-szervernck (dns.umass.edu) IP-cmt. Vgl a helyi DNS-szerver jbl elkldi a lekrdez zenetet, ezttal kzvetlenl a dns.umass.edu szervernek, amely visszakldi a gaia.cs.umass.edu hoszt IP-crht. Figyeljk meg, hogy a fenti pldban egy hosztnevhez tartoz cm megszerzshez nyolc DNS-zenet - ngy lekrdez zenet s ngy vlaszzenet - kldsre volt szksg! Nemsokra ltni fogjuk, hogyan cskkenthet ez az zenetforgalom a DNS-gyorsttrazs segtsgvel. Elz pldnkban feltteleztk, hogy a TLD-szerver ismeri a hosztnvrt felels hiteles DNS-szervert.' Ez ltalnossgban nem mindig igaz. A TLD-szerver ehelyett gyakran csak egy kzbees DNS-szervert ismer, amely viszont ismeri a hosztnvrt felels hiteles DNS-szervert. Pldaknt tegyk fel ismt, hogy a Massachusettsi Egyetemnek van egy egyetemi DNS-szervere, amelynek neve dns.umass.edu. Tegyk fel tovbb, hogy

Gykr DNS-szerver

Helyi DNS-szerver

TLD DNS-szerver

dns.pcly.edu

Hiteles DNS-szerver

dns.cs.umass.edu

ga ia.cs.umass.edu

a Massachusettsi Egyetem minden egyes tanszke sajt DNS-szerverrel rendelkezik, s minden tanszki DNS-szerver a tanszk sszes hosztjrt felels hiteles szerver. Ebben az esetben, ha a kzbees DNS-szerver, a dns.umass.edu olyan lekrdezst kap, amely egycs.umass.edu vgzds hosztnvre vonatkozik, visszadja a dns.poly.edu -nak a dns.cs.umass.edu IP-cmt, amely a cs.umass.edu vgzds hosztnevekrt felels hiteles szerver. A dns.poly.edu helyi DNS-szerver ezutn elkldi a lekrdezst a hiteles DNS-szervernek, amely visszakldi a kvnt lekpezst a helyi DNS-szervernek, amely aztn tovbbkldi a lekpezst a krst kld Kosztnak. Ebben az esetben sszesen 10 DNS-zenet kldse trtnik! A 2.19. brn lthat plda kihasznlja mind a rekurzv lekrdezsek, mind az iteratv lekrdezsek lehetsgt. A cis.poly.edu hoszttl a dns.poly.edu hosztnak kldtt lekrdezs egy rekurzv lekrdezs, mivel a lekrdezs arra kri a dns.poly.edu szervert, hogy a sajt nevben szerezze meg a lekpezst. A kvetkez hrom lekrdezs viszont iteratv, mert minden vlasz kzvetlenl a dns.poly.edu hoszthoz jut vissza. Elmletileg brmely DNS-lekrdezs lehet iteratv vagy rekurzv. A 2.20. bra pldul egy olyan DNS-lekrdezslncot mutat be, amelyben minden lekrdezs rekurzv. A gyakorGykr DNS-szerver

Helyi DNS-szerver

TLD DNS-szerver

dns.poly.edu

Hiteles DNS-szerver
A krst kld hoszt

dr.s . cs. umass. edu

cis.poly.edu

gaia.cs.umass .edu

latban a lekrdezsek ltalban a 2.19. brn ltott mintt kvetik: a lekrdez hoszt ltal a helyi DNS-szervernek kldtt lekrdezs rekurzv, mg a tbbi lekrdezs iteratv.

DNS-gyorsttrazs
Trgyalsunk sorn eddig figyelmen kvl hagytuk a DNS-gyorsttrazst, a DNSrend- szeregy rendkvl fontos szolgltatst. Valjban a DNS alaposan kihasznlja a DNS-gyor- sttrazs lehetsgeit annak rdekben, hogy javtsa a ksleltetsi teljestmnyt, s cskkentse az interneten kering DNS-zenetek szmt. A DNS-gyorsttrazs alapjul szolgl tlet igen egyszer. Egy lekrdezsi lncban, ha egy DNS-szerver DNS-vlaszt kap (amely pldul egy hoszt nv - IP-cm lekpezst tartalmaz), gyorsttrazhatja azt a sajt helyi memrijban. Pldul a 2.19. brn minden alkalommal, amikor a dns. poly.edu helyi DNS-szerver vlaszt kap egy msik DNS-szervertl, gyorsttrban el mentheti a vlaszbl kinyert informcit. Ha egy hosztnv - IP-cmpr megtallhat egy DNS-szerver gyorsttrban, s egy jabb lekrdezs rkezik a DNS-szerverhez ugyanarra a hosztnvre vonatkozan, a DNS-szerver visszakldheti a kvnt IP-cmet akkor is, ha nem az adott hoszt nvhez tartoz hiteles DNS-szerver. Mivel a hosztok s a hosztnv - IP-cm lekpezsek semmi esetre sem tekinthetk llandnak, a DNS-szerverek egy bizonyos id (ltalban kt nap) utn eldobjk a gyorsttrazott informcikat. Pldaknt tegyk fel, hogy az apricot.poly.edu hoszt lekrdezst kld a dns. poly.edu szervernek a cnn.com hosztnvre vonatkozan. Tegyk fel tovbb, hogy nhny rval ksbb egy msik hoszt a mszaki egyetemrl, mondjuk a kiwi.poly. fr szintn ugyanerre a hosztnvre vonatkoz lekrdezst kld a dns.poly.edu szervernek. A gyorsttrazs miatt a helyi DNS-szerver azonnal vissza tudja kldeni a cnn. com IP-cmt a msodik lekrdez hosztnak anlkl, hogy tovbbi lekrdezseket kellene kldenie ms DNS-szerverek fele. Egy helyi DNS-szerver gyorsttrazhatja tovbb a TLD szerverek IP-cmeit, ezltal kiiktatva a gykr DNS-szervereket a lekrdezsi lncbl (ez gyakori eset).

2.5.3. DNS-rekordok s -zenetek


A DNS-szerverek, amelyek egytt az elosztott DNS-adatbzist valstjk meg, erforrs-bejegyzseket (resource rccords, RR) trolnak, amelyek tbbek kztt a hosztnv -IP-cm megfeleltetseket rjk le. Minden DNS-vlaszzenet egy vagy tbb erforrs-bejegyzst tartalmaz. Ebben s a kvetkez alfejezetben rvid ttekintst adunk a DNS erforrs-bejegyzseirl s zeneteirl; tovbbi rszletek [Abitz 1993] munkjban vagy a DNS RFC-kben [RFC 1034; RCF 1035] tallhatk. Egy erforrs-bejegyzs egy ngyesbl ll, amely az albbi mezket tartalmazza:

(Name, Value, Type, TTL),


ahol Name a bejegyzs neve, Value az rtke, Type a tpusa. A TTL mez az erforrs-bejegyzs lettartamt jelli; meghatrozza, hogy mennyi id eltelte utn kell trlni az erforrst a gyorsttrbl. Az albbi pldabejegyzsekben a TTL mezt figyelmen kvl hagytuk. A Name s Value mezk jelentse fgg a

Type meztl:

Ha Type=A, akkor Name egy hoszt nv, Value pedig a hosztnvhez tartoz IPcin. Egy A tpus bejegyzs teht a szabvnyos hosztnv - IP-cm lekpezst adja meg. Egy plda A tpus bejegyzsre: (relayl.bar.foo.com, 145.37.93.126, A). Ha Type=NS, akkor Name egy krzet (mint pldul foo.com), Value pedig annak a hiteles DNS-szervernek a hosztneve, amely tudja, hogyan lehet megszerezni az adott krzet hosztjainak IP-cmeit. Az ilyen bejegyzsek arra szolglnak, hogy irnytsk a DNS-lekrdezseket a lekrdezsi lncban. Egy plda NS tpus bejegyzsre: foo.com, dns.foo.com, NS) Ha Type=CNAME, akkor Value egy kanonikus hosztnv, amely a Name mezben megadott lnvhez tartozik. Ez a bejegyzs szolgltatja az lnevekhez tartoz kanonikus neveket a lekrdez hosztok szmra. Egy plda CNAME bejegyzsre: foo.com, relayl.bar.foo.com, CNAME). Ha Type=MX, akkor Value egy levelezszerver kanonikus neve, amelynek egy lneve a Name mezben megadott hosztnv. Pldul a (foo.com, mail.bar. foo.com, MX) egy MX bejegyzs. Az MX bejegyzsek lehetv teszik, hogy a levelezszervereknek egyszer lneveik legyenek. Megjegyzend, hogy az MX bejegyzs hasznlatval egy cg megteheti, hogy ugyanazt az lnevet adja a levelez- szervernek s egy msik szervernek (pldul a webszervernek). A levelezszerver kanonikus nevnek meghatrozsra a DNS-kliensek egy MX bejegyzsre vonatkoz lekrdezst hajtanak vgre; a msik szerver kanonikus nevnek lekrdezshez a DNS-klienseknek CNAME bejegyzsekre vonatkoz lekrdezst kell vgrehajtaniuk. Ha egy DNS-szerver egy adott hosztnvrt felels hiteles szerver, akkor tartalmaz egy A tpus bejegyzst az adott hosztnvre vonatkozan. (Ha a DNSszerver nem hiteles szerver, akkor is tartalmazhat ilyen A tpus bejegyzst a gyorsttrban.) Ha egy szerver nem egy adott hosztnv hiteles szervere, akkor NS tpus bejegyzst tartalmaz arra a krzetre vonatkozan, amelyben a hosztnv tallhat; tovbb egy A tpus bejegyzst is tartalmaz, amely az NS bejegyzs Value mezjben megnevezett DNS-szerver IP-c- mt adja meg. Tegyk fel pldul, hogy egy edu TLD-szerver nem a gaia.es.umass. edu hoszt hiteles szervere. Ekkor ez a szerver egy olyan krzetre vonatkoz bejegyzst tartalmaz, amely magban foglalja a cs.umass.edu hosztot, pldul: (umass.edu, dns.umass.edu, NS). Az edu TLD-szerver tartalmaz tovbb egy A tpus bejegy zst is, amely a dns.umass.edu DNS-szerver nevt IP-cmre kpezi le, pldul: (dns. umass.edu, 128.119.40.111, A).

DNS-zenclek
Ebben az alfejezetben korbban mr hivatkoztunk a DNS lekrdez s vlaszzeneteire. A DNS-zeneteknek ez a kt fajtja ltezik. Ezenkvl mind a lekrdez, mind a vlaszzeneteknek ugyanaz a formtumuk, ahogy a 2.21. brn lthat. A DNS-zenet klnbz mezinek jelentse a kvetkez: Az els 12 bjt a fejlc szakasz, amelynek tbb mezje van. Az els mez egy

16 bites szm, amely azonostja a lekrdezst. Ez az azonost tmsoldik a lekrdezsre kldtt vlaszzenetbe, ezltal lehetv tve a kliensnek, hogy a kapott vlaszokat sz- szeprostsa a kldtt lekrdezsekkel. A kvetkez mez nhny jelzbitet tartalmaz. Egy lekrdezs/vlasz jelzbit mutatja, hogy az zenet lekrdezs (0) vagy vlasz

(1) . A hitelessg jelzbit akkor van belltva egy vlaszzenetben, ha egy DNS-szerver a lekrdezett nvrt felels hiteles szerver. A rekurzi krse bitet akkor lltja be a kliens (hoszt vagy DNS-szerver), ha azt szeretn, hogy a DNS-szerver rekurzvan hajtsa vgre a lekrdezst, ha nem rendelkezik a bejegyzssel. Egy DNS-szerver a vlaszban belltja az l bites rekurzi lehetsges mezt, ha az tmogatja a rekurzit. A jelzbiteket tartalamaz mez utn fejlcben van ngy olyan szmmez, amelyek azt jel zik, hogy a fejlcet kvet ngyfle adatszakasz kzl melyik hnyszor fordul el. A krds szakasz az ppen vgrehajtott lekrdezsrl tartalmaz informcit. Ez a szakasz magban foglal (1) egy nv mezt, amely a lekrdezett nevet tartalmazza, s (2) egy tpus mezt, amely jelzi a nvre vonatkoz krds tpust - pldul egy hoszt cme a hozz tartoz nvvel (A tpus), vagy egy nvhez tartoz levelezszerver (MX tpus). Egy DNS-szervertl rkez vlaszzenetben a felelet szakasz tartalmazza az eredetileg lekrdezett nvhez lartoz erforrs-bejegyzseket (RR). Idzzk fel, hogy minden erforrs-bejegyzsnek van egy tpusa (Type - pldul A, NS, CNAME vagy MX), egy rtke (Value) s egy lettartama (TTL). Egy vlaszban tbb erforrs-bejegyzs is lehet, mert egy hosztnvhez tbb IP-cm is tartozhat (pldul a tbbszrztt web- szerverck esetben, amint azt korbban trgyaltuk). A hitelessg szakasz ms hiteles szerverekre vonatkoz bejegyzseket tartalmaz. A kiegszt informci szakasz tovbbi hasznos bejegyzseket tartalmaz. Pldul egy MX lekrdezsre adott vlasz felelet szakasza tartalmaz egy erforrs-bejegyzst, amely egy levelezszerver kanonikus nevt adja meg. A kiegszt informci szakasz pedig egy A tpus bejegyzsi tartalmaz, amely a levelezszerver kanonikus hosztne- vhez tartoz IP-cmet adja meg. Hogyan kldhetnk DNS-lekrdezst egy DNS-szcrvernek kzvetlenl arrl a hosztrl, amelyiken dolgozunk? Knnyen megtehetjk ezt az nslookup programmal, amely a leg12 bjt
Azonosts Krdsek szma Hiteles RR-ek szma Jelzbitek Vlasz Kiegszt RR-ek szma -A krdsek nv- s tpusmezi - A RR-ek szma krsre vlaszul kldtt RR-ek Feleletek (vltoz szm erforrs-bejegyzs Hitelessg (vltoz szm erforrs-bejegyzs Kiegszt informcik (vltoz szm erforrs-bejegyzs Hiteles szerverekhez tartoz bejegyzsek Krdsek (vltoz szm krds)

1
Tovbbi segdinformci", amely hasznos lehet

136

2. Az ALKALMAZSI RTfcG

tbb Windows- s UNIX-krnyezetben elrhet. Pldul, ha windowss hoszttal dolgozunk, nyissuk meg a Parancssort s indtsuk el az nslookup programot. Ehhez egyszeren be kell gpelni: nslookup. Az nslookup meghvsa utn DNSlekrdezseket kldhetnk tetszleges (gykr, TLD vagy hiteles) DNS-szervernek. Miutn megkapta a vlaszze- nctet a DNS-szervertl, az nslookup megjelenti a vlaszban lv bejegyzseket (emberek ltal olvashat formban). Az nslookup sajt hosztrl trtn futtatsa mellett egy msik lehetsg az, ha megltogatunk egy olyan weboldalt, amely lehetv teszi, hogy a felhasz nl tvolrl futtassa az nslookup-oi. (Csak rjuk be az nslookup" szt egy keresbe, s mris eljutunk az egyik ilyen oldalra.)

Bejegyzsek beszrsa a DNS-adatbzisba


Az eddigiekben arra sszpontostottunk, hogyan lehet bejegyzseket kiolvasni a DNS adatbzisbl. Felmerlhet a krds, elszr is hogyan kerlnek be a bejegyzsek az adatbzisba. Nzzk meg egy konkrt pldn, hogyan is trtnik ez. Tegyk fel, hogy az olvas pp most alaptott egy j vllalkozst Netv/ork Utpia nven. Az els teend minden bizonnyal az, hogy bejegyezteti a networkutopia.com krzetnevet egy nyilvntartnl. A nyilvntart (registrar) egy kereskedelmi trsasg, amely ellenrzi a krzetnv egyedisgt, bejegyzi a krzetnevet a DNS-adatbzisba (amint azt ksbb ltni fogjuk), s ezekrt a szolgltatsokrt felszmt nmi djazst. 1999 eltt a com, net s org krzetekbe tartoz nevek bejegyzsnek monopliuma egyetlen nyilvntart, a Network Solutions birtokban volt. Jelenleg azonban mr sok nyilvntart verseng az gyfelekrt, a klnbz nyilvntartkat a Kijellt Nevek s Szmok Internetes Trsasga (Internet Corporation fr Assigned Names and Numbers, ICANN) akkreditlja. Egy, az sszes akkreditlt nyilvn tartt tartalmaz felsorols a http://www.internic.net cmen tallhat. Amikor regisztrljuk a networkutopia.com krzetnevet egy nyilvntartnl, kzlni kell a nyilvntartval az elsdleges s msodlagos hiteles DNS-szervernk nevt s IP-cmt. Tegyk fel, hogy a szerverek nevei s cmei dnsl.networkutopia.com, dns2.networkutopia.com, 212.212.212.1 s 212.212.212.2, A nyilvntart ezutn mindkt szerver rszre egy NS tpus s egy A tpus bejegyzst hoz ltre a com krzet TLD-szerverein. Rszletesebben, a networkutopia.comelsdleges hiteles szervere szmra a nyilvntart az albbi kt erforrs-bejegyzst hozza ltre a DNS-rcndszerben: (networkutopia.com, dnsl.networkutopia.com, NS) (dnsl.networkutopia.com, 212.212.212.1, A) Meg kell bizonyosodnunk arrl is, hogy a webszerverhez ( www.networkutopia . com) tartoz A tpus erforrs-bejegyzs s a levelezszerverhez (mail.networkutopia.com) tartoz MX tpus erforrs-bejegyzs bekerl a sajt hiteles DNSszerve- reinkbe. (A legutbbi idkig a DNS-szerverek tartalmt statikusan lltottk be, pldul egy, a rendszergazda llal ltrehozott konfigurcis fjlbl. jabban, a DNS protokoll egy kibvtse, az UPDATE opci lehetv teszi az adatok dinamikus hozzadst s trlst DNS-zenetek tjn. A DNS dinamikus kibvtseit az [RFC

2.5. DNS - Az INTERNET KRZHTNHV-SZOLGLTATSA


2136] s az [RFC 3007] specifiklja.)

137

2.21. bra. DNS-zenetformtum

138
Fkuszban.a biztonsg

2. A/. ALKALMAZSI RF.TUG

A DNS sebezhetsge
Lttuk, hogy a DNS az internetes infrastruktra kritikus sszetevje, sok fontos szolgltats belertve a webet s az e-mailt - nem is kpes mkdni nlkle. Ezrt termszetesen addik a krds: hogyan lehet tmadni a DNS-t? Vajon a DNS vdtelen prda, amely csak arra vr, hogy kiljk, lelltva ezzel a legtbb internetes szolgltatst? Az els tmadstpus, ami esznkbe juthat, egy DDoS svszlessg-elraszt tmads (lsd 1.6. alfejezet) a DNS-szerverek ellen. gy tmad pldul azzal ksrletezhet, hogy minden DNSszervernek risi mennyisg csomagot kld, olyan sokat, hogy a valdi DNS-krsek tbbsgt a szerverek soha nem tudjk megvlaszolni. Ilyen nagylptk, DNS-gykrszerve- rek elleni tmadst valban vgre is hajtottak 2002. oktber 21-n. Ebben a tmadsban a t madk szoftverrobotja egy tehervagonnyi CMP ping zenetet kldtt mind a 13 DNS-gykr- szervernek. (Az ICMP-zeneteket a 4. fejezetben trgyaljuk. Most elg annyit tudni, hogy az ICMP-zenetek specilis IP-adatcsomagok.) Szerencsre ez a nagylptk tmads csak mini mlis krokat okozott, az internet felhasznli nem vagy csak alig vettk szre. A tmadknak sikerlt elrasztani a gykrszervereket csomagok znvel. Sok DNS-gykrszerver azonban el volt ltva vdelemmel: csmagszrkkel, amelyek gy voltak belltva, hogy minden esetben blokkoljk az sszes, gykrszerverekhez irnytott ICMP ping zenetet. Az ilyen vdelemmel elltott szerverek tvszeltk a tmadst, s tovbbra is normlisan mkdtek. Ezenkvl a leg tbb helyi DNS-szerver gyorsttrazza a legfels szint krzeti szerverek IP-cmeit, lehetv tve ezltal, hogy a lekrdezsi folyamat gyakran teljesen kikerlje a DNS-gykrszervereket. Potencilisan hatkonyabb DDoS-tmads lehet a DNS-szerverek ellen, ha a legfels szint krzeti szervereket rasztjk el DNS-lekrdezsekkel, pldul a .com krzetet kezel sszes legfels szint krzeti szervert. Ekkor nehezebb lenne kiszrni a DNS-szervereknek kldtt DNSlekrdezseket; a legfels szint krzeti szervereket tovbb nem olyan knny kikerl ni, mint a gykrszervereket. Egy ilyen tmads slyossgt enyhtheti azonban a gyorst trak hasznlata a helyi DNS-szerverekben. A DNS tmadsra ms lehetsgek is lteznek. Egy

kzbekeldses (mn- in-the-midd-

le) tmads sorn a tmad elkapja a hosztok ltal kldtt lekrdezseket s hamis vlaszo kat
kld azokra. A DNS elleni mrgez tmadsban a tmad hamis lekrdezseket kld egy DNSszervernek, ezzel rveszi a szervert, hogy hamis bejegyzseket hozzon ltre a gyorst trban. A fenti tmadsok pldul arra hasznlhatk, hogy egy gyantlan webes felhaszn lt a tmad wcboldalra 2006]. Egy tovbbi fontos DNSelleni tmads tulajdonkppen nem a DNS-szolgltatst tmadja meg, hanem arra hasznlja ki a DN'S-infrastruktrt, hogy DDoS-tmadst intzzen egy megclzott hoszt (pldul az egyetemi levelezszerver) ellen. Ebben a tmadsban a tmad sok hiteles DNSszervernek kld DNS-lekrdezseket, amelyekben forrscmknt hamisan a megclzott ret hosztcmeszcrepel.Hasikerlalckrdezseketgybelltani.hogyegyvlaszsokkalnagyobbmirnytsanak t. Ezen tmadsok vghezvitele azonban bonyolult, mert ezek megvalstshoz a csomagok elfogsra vagy a szerverek elnyomsra van szksg (Skoudis

(bjtokban), mint egy lekrdezs (ezaz gynevezett ersts), akkor a tmad anlkl raszt hatja el a megclzott hosztot, hogy nagy forgalmat generlna sajt magnak. Az ilyen visszave rds tmadsok a mai napig korltozottan vezettek sikerre (Mirkovic 2005]. sszegezve, a DNS meglepen robusztusnak bizonyult a tmadsokkal szemben. Egszen napjainkig nem tudott senki olyan tmadst kivitelezni, amely sikeresen akadlyozta volna a DNSszolgltatst. Elfordultak sikeres visszaverds tmadsok; ezek a tmadsok azonban egyre inkbb kivedhetk a DNS-szerverek megfelel belltsval.

2.5. DNS - Az INTERNET KRZHTNHV-SZOLGLTATSA

139

A fenti lpsek megttele utn az emberek megltogathatjk webhelynket, s e-mai- leket kldhetnek cgnk alkalmazottainak. Ezen llts igazolsval levonhatjuk a DNS trgyalsnak kvetkeztetseit. Az llts igazolsa a DNS-rl szerzett ismereteink megszilrdtsban is segt. Tegyk fel, hogy Alice Ausztrlibl szeretn megtekinteni a www. networkutopia.com weboldalt. Ahogy korbban trgyaltuk, Alice hosztja elszr a sajt helyi DNS-szervernek kld egy DNS-lekrdezst. A helyi DNS-szerver ezutn kapcsolatba lp egy com krzetbeli TLD-szerverrel. (A helyi DNS-szerver kapcsolatba lphet egy DNS-gykrszerverrel is, ha a com TLD-szerver cme nem tallhat meg a gyorst trban.) Ez a TLDszerver tartalmazza a fent felsorolt NS tpus s A tpus erforrs-be jegyzseket, mert a nyilvntart ltrehozta ezeket az erforrs-bejegyzseket minden com TLDszerveren. A com TLD-szerver vlaszt kld Alice helyi DNS-szervernek, amely ezt a kt erforrs-bejegyzst tartalmazza. A helyi DNS-szerver ezutn egy DNSlekrdezst kld a 212.212.212.1 cmre, amelyben elkri a www.networkutopia.com-hoz tartoz A tpus bejegyzst. Ez a bejegyzs megadja az elrni kvnt webszerver IP-cmt (pldul 212.212.71.4), amelyet a helyi DNSszerver tovbbt Alice hosztjnak. Alice bngszje most mr tud TCP sszekttetst kezdemnyezni a 212.212.71.4 hoszttal, s HTTP-krst kldeni az sszekttetsen keresztl. Nagyszer! Sokkal tbb dolog trtnik, mikzben a weben barangolunk, mint amit a szemnk szrevesz!

2.6. P2P-alkalmazsok
Korbban, a 2.1.1. alfejezetben azt mondtuk, hogy egy alkalmazst nagy ltalnossgban vagy kliens-szerver architektrval vagy P2P- (egyenrang felek kztti trs-trs) architektrval terveznek. A fejezetben ez idig bemutatott alkalmazsok - belertve a webet, az e-mailt s a DNS-t - mind a kliens-szerver architektrt valstjk meg, s jelents mr tkben alapoznak a folyamatosan mkd infrastruktra-szerverekre. Idzzk fel, hogy a P2P-architektra esetben nincs (vagy csak minimlisan van) szksg folyamatos zem infrastruktraszerverekre. Ehelyett idszakosan sszekttt hosztok, az n. trsak kz vetlenl kommuniklnak egymssal. A trsak nem egy internetszolgltat tulajdonban lv eszkzk, hanem a felhasznlk llal vezrelt asztali szmtgpek s laptopok. Ebben az alfejezetben hrom klnbz alkalmazst vizsglunk meg, amelyek klnsen jl illeszkednek a P2P-konstrukcihoz. Az els a fjlcserls, ahol az alkalmazs egy egyetlen forrsbl szrmaz fjlt nagyszm trs kztt oszt szt. A fjlcserls kivlan alkalmas arra, hogy a P2P vizsglatt ezen a ponton kezdjk, mivel vilgosan megmutatja a P2P-architcktrk nsklzhatsgt. A fjlcserls egy konkrt pldjaknt bemutatjuk a npszer BitTorrcnt protokollt. A msodik P2P-alkaImazs, amelyet megvizsglunk, az informci szervezse s keresse egy trsakbl ll kzssgben. Ennl az alkalmazsnl tbb klnbz smt mutatunk be, amelyek mindegyikt alkalmazzk nagylptk fjl megoszt rendszerekben. Vgl a harmadik alkalmazs, amelyet vizsglat al vesznk, a Skype lesz, egy rendkvl sikeres P2P internetes telefonlsi alkalmazs.

2.21. bra. DNS-zenetformtum

140

2. Az ALKALMAZSI RTfcG

2.6.1. P2P-fj1cserls
A P2P megismersi egy magtl rtetd alkalmazssal kezdjk, ez pedig egy nagy fjl sztosztsa egyetlen szerver s nagyszm hoszt kztt (amelyeket trsaknak neveznk). A fjl lehet a Linux opercis rendszer egy j verzija, javtcsomag egy ltez opercis rendszerhez vagy alkalmazshoz, egy MP3 zenefjl vagy egy MPEG videofjl. A kliens-szerver alap fjlcserlsnl a szervernek el kell kldenie a fjl egy msolatt minden trs rszre - ez risi terhelst okoz a szerveren, s jkora hnyadt foglalja le a szerver svszlessgnek. A P2P-fjlcserlsnl minden trs, amely mr megszerezte a fjl egy tetszleges szelett, tovbbthatja azt ms trsaknak, ezltal segdkezve a szervernek a fjl sztosztsban. Knyvnk rsnak idpontjban (2007 tavaszn) a legnpszerbb P2P fjlcserl protokoll a BitTorrent [BitTorrent 2007]. Egyes becslsek szerint a BitTorrent okozza az internetes gerinchlzat forgalmnak krlbell 30 szzalkt [CacheLogic 2007]. Eredeti vltozatt Bram Cohen fejlesztette ki (lsd az interjt Bram Cohennel a fe jezet vgn), jelenleg azonban mr sok klnbz, egymstl fggetlen BitTorrent-kliens ltezik, amelyek a BitTorrent protokollt valstjk meg ppgy, ahogy szmos webbng sz kliens ltezik, amelyek a HTTP protokollt valstjk meg. Ebben az alfejezetben elszr a P2P-architektrk nsklzhatsgt vizsgljuk meg a fjlcserls sszefggsben. Ezutn rszletesebben bemutatjuk a BitTorrentet, kiemelve legfontosabb jellegzetessgeit s szolgltatsait.

A P2P-architektrk sklzhatsga
A kliens-szerver architektrk s a P2P-architektrk sszehasonltshoz, s annak szemlltetshez, hogy a P2P sklzhatsga magbl az architektrbl ered, lltsunk fel egy egyszer mennyisgi modellt mindkt architektrnl arra az esetre, amikor egy fjl cserje rgztett szm trs kztt zajlik. Ahogy a 2.22. brn lthat, a szerver s a trsak internetes hozzfrsi adatkapcsolattal vannak sszektve. Jellje a szerver hozz frsi kapcsolatnak feltltsi sebessgt ut, az i-cdik trs hozzfrsi adatkapcsolatnak feltltsi sebessgt az i-cdik trs hozzfrsi adatkapcsolatnak letltsi sebessgt pe dig d,. A megosztand fjl mrett jellje F (bitekben), a trsak szmt, amelyek meg sze retnk szerezni a fjl egy msolatt, jellje N. A sztosztsi id (distribution time) az az id, amely alatt mind az N trs megkapja a fjl egy msolatt. A sztosztsi id albb olvashat elemzsben mind a kliens-szerver, mind a P2P-architcktrk esetn azzal az egyszerst (s ltalban helytll) feltevssel lnk [A kel la 2003], miszerint az internetes gerinchlzat bsges svszlessggel rendelkezik, vagyis a szk keresztmetszetek mind a hozzfrsi hlzatokban tallhatk. Felttelezzk tovbb, hogy a szerver s a kliensek nem futtatnak ms hlzati alkalmazsokat, gy a teljes feltltsi s letltsi hozzfrsi svszlessgket a fjlcserlsre tudjk fordtani. Hatrozzuk meg a sztosztsi idt elszr a kliens-szerver architektra esetn, s jelljk azt D Ci -vel. A kliens-szerver architektrnl egyik trs sem segt a fjl sztosztsban. A kvetkezket figyelhetjk meg: A szervernek el kell juttatnia a fjl egy msolatt mind az N trs rszre. A

2.5. DNS - Az INTERNET KRZHTNHV-SZOLGLTATSA

141

szervernek gy NF bitet kell tovbbtania. Mivel a szerver feltltsi sebessge us, a fjlcserls ideje legalbb NFIus lesz. Jellje dmtn a legkisebb letltsi sebessggel rendelkez trs letltsi sebessgt, vagyis dmil} = min [dh dp>..., ci, v ). A legkisebb letltsi .sebessggel br trs nem tudja letlteni mind az F bitet F/dintn msodpercnl kevesebb id alatt. A minimlis sztosztsi id teht legalbb F/d mm* Ezt a kt megfigyelst sszevetve az albbi sszefggst kapjuk:

2.21. bra. DNS-zenetformtum

142
Fjl: F

2. Az ALKALMAZSI RTfcG

Szerver

. u <

Internet

2.22. bra. Egy szemlltet fjlsztosztsi problma

D>,nax& JL\ Ms ^min Ezltal egy als korltot kapunk a kliens-szerver architektra esetn elrhet

legkisebb sztosztsi idre. A hzi feladatok kztt szerepel egy plda, amelyben 2.5. DNS - Az INTERNET KRZHTNHV-SZOLGLTATSA 143

az olvasnak meg kell mutatnia, hogy a szerver kpes gy temezni az adattvitelt, hogy ezt az als korltot valban elrje. A fent kapott als korltot teht tekinthetjk gy, hogy ez a tnyleges sztosztsi id:
F

Dcs = max

Anin

(2.1)

A (2.1) egyenletbl lthatjuk, hogy elcg nagy N esetn a kliens-szerver architektra fjl- cserlsi ideje az NF/us kplettel adhat meg. A sztosztsi id teht a trsak szmval (N) linerisan nvekszik. gy, ha pldul a trsak szma egyik htrl a msikra ezerrl egymillira, vagyis az ezerszeresre n, a fjlcserlshez szksges id is 1000-szeresre nvekszik. Vgezznk most egy hasonl elemzst a P2P-architcktrn, ahol minden egyes trs segtsgre lehet a szervernek a fjl sztosztsban. Rszletesebben, amikor egy trs megkapja a fjl egy rszlett, feltltsi kapacitst arra hasznlhatja, hogy ezt a fjlrszletet tovbbtsa ms trsaknak. A P2P-architektra fjlsztosztsi idejnek kiszmtsa valamivel bonyolultabb, mint a kliens-szerver architektr, mivel a sztosztsi id fgg attl, hogy az egyes trsak milyen mdon tovbbtjk ms trsaknak a fjl szeleteit. Mindazonltal a

2.21. bra. DNS-zenetformtum

minimlis sztosztst id egy egyszer kifejezssel szmthat [Kumar 2006]. Ebbl a clbl az albbi megfigyelseket tesszk: A fjlcserls kezdetn a fjl csak a szerveren tallhat meg. Ahhoz, hogy a fjl eljusson a trsak csoportjhoz, a szervernek legalbb egyszer t kell kldenie a fjl minden egyes bitjt a sajt hozzfrsi kapcsolatn. Az tvitel minimlis ideje gy legalbb F/us. (A kliens-szerver architektrval ellenttben itt elfordulhat, hogy a szerver tbbszr nem kldi el azt a bitet, amelyet egyszer mr elkldtt, mert azt a trsak egyms kztt tovbbthatjk). A kliens-szerver architektrhoz hasonlan, a legalacsonyabb tviteli sebessggel rendelkez trs nem tudja letlteni az F bitet F/d:nin msodpercnl kevesebb id alatt. A fjlcserls minimlis ideje teht legalbb F/dmin. Vgl figyeljk meg, hogy ha a rendszer teljes feltltsi kapacitst egszben szemlljk, az egyenl lesz a szerver feltltsi sebessgnek s az egyes klnll trsak feltltsi sebessgeinek sszegvel, vagyis uloul = w, + m, + ... + us. A rendszernek F bitet kell tovbbtania (feltltenie) az N trs fel, vagyis sszesen NF bit tvitele trtnik meg. Ezt w tota , sebessgnl gyorsabban nem lehet megtenni. A minimlis sztosztsi id teht legalbb NF/( h, + w, + ... + u^). sszegezve a fenti megfigyelseket, a P2P minimlis fjlcserlsi idejre (D P2 P ) a kvetkez eredmnyt kapjuk:

DP2P > max 1JL, J, |


W. min , v

(2

. 2)

us + X M,
1=1

A (2.2) egyenlet als becslst ad a P2P-architektra minimlis fjlcserlsi idejre. Ha belegondolunk abba, hogy minden trs azonnal tovbb tud adni egy bitet, amint azt megkapta, kiderl, hogy ltezik olyan fjlcserl rendszer, amely tnylegesen kpes elrni ezt az als korltot [Kumar 2006]. (Ennek az eredmnynek egy specilis esett a hzi feladat ban bizonytjuk.) A valsgban, amikor egyedlll bitek helyett a fjl nagyobb darabjai cserldnek ki, a (2.2) egyenlet j kzeltsknt szolgl a tnyleges minimlis sztosztsi idre. Ezrt tekintsk gy a (2.2) egyenletben kapott als korltot, hogy az egyenl a tny leges minimlis sztosztsi idvel:
SZAMITOGEP- HLZATOK...............................................3 MKDS............................................................3

Tartalomjegyzk.............................................................................................................. 7

A szmtgp-hlzatok s az internet.......................................................................26

1.1.Mi az az internet?..................................................................................................... 2

1.1.1.Alkotrszek........................................................................................................... 2

1.1.2.Szolgltatsok........................................................................................................ 5

1.2. A hlzat szle....................................................................................................... 11

1.2.1.Kliens- s szerverprogramok..............................................................................14

1.2.2.Hozzfrsi hlzatok......................................................................................... 14

1.2.3.Fizikai tviteli kzegek........................................................................................ 26

1.3.A hlzat magja...................................................................................................... 30

1.3.1.Vonalkapcsols s csomagkapcsols.................................................................30

1.3.2.Csomagok thaladsa csomagkapcsolt hlzatokon........................................40

1.3.3.lnternetszolgltatk s internet-gerinchlzatok.............................................41

1.4.Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban ...44

1.4.1.Ksleltetsek ttekintse.................................................................................... 46

1.4.2.Sorbanllsi ksleltets s csomagveszts.......................................................52

1.4.3.Vgpontok kztti ksleltets............................................................................55

1.4.4.Szmtgp-hlzatok tbocstkpessge......................................................58

1.5.Protokollrtegek s szolglati modelljeik.............................................................63

1.5.1.Rtegezett architektra...................................................................................... 63

1.5.2.zenetek, szegmensek, csomagok s keretek..................................................72

1.6.Tmadsok a hlzatok ellen................................................................................76

1.7.Szmtgp-hlzatok s az internet trtnete...................................................84

1.7.1.A csomagkapcsols kifejlesztse: 1961-1972...................................................84

1.7.2.Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980...................................87

1.7.3.Hlzatok gyors fejldse: 1980-1990...............................................................88

1.7.4.Az internet robbansszer elterjedse: az 1990-es vek.................................89

1.7.5.Legutbbi fejlesztsek........................................................................................ 90

1.8.sszefoglals.......................................................................................................... 92

Krdsek........................................................................................................................ 94

Feladatok....................................................................................................................... 96

Gondolkodtat krdsek............................................................................................. 105

Leonard Kleinrock....................................................................................................... 108

Az alkalmazsi rteg................................................................................................... 113

2.1.Hlzati alkalmazsok elvi alapjai....................................................................... 114

2.1.1.Hlzati alkalmazsi architektrk..................................................................114

2.1.2.Kommunikl folyamatok.................................................................................119

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok ........122

2.1.4.Internetes szlltsi szolgltatsok..................................................................125

2.1.5.Alkalmazsi protokollok.................................................................................... 130

2.1.6.A knyvben trgyalt hlzati alkalmazsok....................................................131

2.2. A web s a HTTP.................................................................................................. 132

2.2.2.Idleges s lland sszekttetsek................................................................134

2.2.3.HTTP-zenetformtumok..................................................................................140

2.2.4.Felhasznl s szerver kztti egyttmkds: stik....................................146

2.2.5.Webes gyorsttrazs...................................................................................... 149

2.3.Fjltvitel: FTP...................................................................................................... 127

2.3.1.FTP-parancsok s -vlaszok..............................................................................129

2.2.6.A feltteles GET................................................................................................. 131

2.4.Elektronikus levelezs az interneten..................................................................108

2.4.1.SMTP................................................................................................................... 134

2.4.2.sszehasonlts a HTTP-vei.............................................................................. 113

2.4.3.Levl zenetformtumok s a MIM................................................................114

2.4.4.Levl-hozzfcrsi protokollok...........................................................................118

2.5.DNS - Az internet krzetnv-szolgltatsa.........................................................131

2.5.1.A DNS ltal nyjtott szolgltatsok..................................................................132

2.5.2.A DNS mkdsnek ttekintse.....................................................................135

2.5.3.DNS-rekordok s -zenetek..............................................................................131

2.6.P2P-alkalmazsok................................................................................................. 139

2.6.1.P2P-fj1cserls................................................................................................ 140

F \................................................................................................................................. 143

2.6.2.Informcikeress egy P2P-kzssgben........................................................155

2.6.3.Esettanulmny: P2F internetes telefonls (Skype).......................................163

2.7.TCP-szoketprogramozs....................................................................................... 166

2.7.1.TCP-szoketprogramozs.................................................................................... 168

2.7.2.Egy kliens-szerver alkalmazsi plda Javban programozva.........................172

l.................................................................................................................................... 183

t.................................................................................................................................... 186

Bram Cohen................................................................................................................. 202

A szlltsi rteg......................................................................................................... 205

O................................................................................................................................... 245

O................................................................................................................................... 211

Sally Floyd................................................................................................................... 295

A hlzati rteg........................................................................................................... 298

Vinton G. Cerf.............................................................................................................. 151

1................................................................................................................................... 196

1................................................................................................................................... 196

r,=2X.......................................................................................................................... 231

p*"~ j........................................................................................................................... 242

I I l i.............................................................................................................................. 106

i=i A 2.23. bra sszehasonltja a kliens-szerver s a P2P-architektrk minimlis fjlcserlsi idejt, felttelezve, hogy minden trs ugyanazzal az u feltltsi sebessggel rendelkezik. A 2.23. brn az albbiak szerint vlasztottuk meg az egyes rtkeket: F/u = 1 ra, us = 10 u s dn]in > u. gy trs ezek szerint egy ra alatt tudja letlteni az egsz fjlt, a szerver tviteli sebessge a trsak feltltsi sebessgnek l-szerese, s (az egyszersg kedvrt) a trsak le tltsi sebessgt elg nagynak vesszk ahhoz, hogy ez ne befolysolja az eredmnyt. A 2.23. brn lthatjuk, hogy kliens-szerver architektra esetn a sztosztsi id a trsak szmval egyenes arnyossgban nvekszik minden hatron tl. Habra P2P-architektra minimlis fjlcserlsi ideje nem mindig kisebb, mint a kliensszerver architektra fjlcserlsi ideje,

2.23. bra. Sztosztsi id P2P- s kliens-szerver architektra hasznlata esetn viszont a trsak akrmekkora Nszma esetn kisebb lesz, mint egy ra. A P2Parchitektrt hasznl alkalmazsok teht nsklzhatk. Ez a sklzhatsg egyenes kvetkezmnye annak, hogy a trsak egyarnt vgzik a bitek letltst s tovbbterjesztst.

BitTorrent
A BitTorrent egy npszer P2P fjlcserl protokoll [BitTorrent 2007]. A BitTorrent zsargonjban egy adott fjl cserjben rszt vev trsak sszessgt torrentnek (radatnak) nevezik. Egy radatba tartoz trsak a fjl egyenl mret tredkeit tltik le egymsrl, a tredkek mrete jellemzen 256 KB. Amikor egy trs els alkalommal kapcsoldik be egy radatba, nincsenek nla tredkek. Ahogy telik az id, egyre tbb s tbb tredket gyjt ssze. Mikzben tredkeket tlt le, ezzel egy idben fel is tlt tredkeket ms trsaknak. Amikor egy trs megszerezte az egsz fjlt, elhagyhatja (nz mdon) az radatot, vagy benne ma radhat (nzetlenl) az radatban, s folytathatja a tredkek feltltst ms trsak

rszre. Brmely trs kilphet tovbb az radatbl tetszleges idpontban, amikor mg a fjlnak csak nhny rszletvel rendelkezik, s ksbb jra csatlakozhat az radathoz. Vessnk most egy kzelebbi pillantst a BitTorrent mkdsre. Mivel a BitTorrent viszonylag bonyolult protokoll, csak a legfontosabb mechanizmusokat mutatjuk be, sznyeg al sprve nmely rszleteket. Ez lehetv teszi szmunkra, hogy meglssuk a ftl az erdt. Minden radathoz tartozik egy infrastruktra-csompont, amelyet nyomkvetnek (tracker) neveznek. Amikor egy trs csatlakozik egy radathoz, bejelentkezik a nyomkve tnl, s rendszeres idkznknt tjkoztatja a nyomkvett arrl, hogy mg az radat ban van. Ezltal a nyomkvet nyilvntartja az radatban aktulisan rszt vev trsakat. Egy adott radatban tbb szz vagy tbb ezer trs is rszt vehet brmely idpillanatban. Amint a 2.24. bra mutatja, amikor egy j trs, Alice csatlakozik az radathoz, a nyomkvet vletlenszeren kijelli a rsztvev trsak egy rszhalmazt (mondjuk 50-et), s elkldi ennek az 50 trsnak az IP-cmt Alice rszre. A trsak listjnak birtokban Alice megprbl a listn szerepl sszes trssal prhuzamosan TCPsszekttetst ltesteni. Nevezzk azokat a trsakat, amelyekkel Alice sikeresen ltestett TCP-sszekttelst, szomszdos trsaknak. (A 2.24. brn Alice-nak csak hrom szomszdos trsa van. A valsgban ennl sokkal tbb lehet.) Ahogy telik az id, ezen trsak kzl nmelyek kilphetnek az radatbl, s ms trsak (a kezdeti 50-en kvl) prblhatnak meg TCP-sz- szekttetseket ltesteni Alice-szal. Egy trs szomszdos trsainak csoportja ezrt idben vltozhat. Tetszleges idpillanatban az egyes trsak a fjl darabjainak egy rszhalmazt birtokoljk, a klnbz trsak klnbz rszhalmazokkal rendelkeznek. Alice rendszeres idkznknt megkri minden szomszdos trst (a TCPsszekttetseken keresztl), hogy kldjn egy listt a nla tallhat tredkekrl. Ha Alice-nak L klnbz szomszdos trsa van, L ilyen listt fog kapni. Ezen ismeret birtokban Alice elkri (szintn a TCP-sz- szekttetseken keresztl) azokat a tredkeket, amelyeket mg nem szerzett meg. Ezek alapjn brmely idpillanatban Alice a fjltredkek egy rszhalmazval rendelkezik, s tudja, hogy a szomszdos trsaknl mely tredkek tallhatk meg. Ezen informcik alapjn Alice-nak kt fontos dntst kell hoznia. Elszr: mely tredkeket krje el elszr a szomszdaitl? Msodszor: mely szomszdjainak kldjn tredkeket? Annak eldntshez, hogy mely tredkeket krje el, Alice a legritkbban elfordult elszr (rarest first) nev mdszert alkalmazza. Az alaptlet, hogy meg kell hatrozni, a mg meg nem szerzett tredkek kzl melyek azok, amelyek a szomszdoknl a legritkbban for dulnak el (vagyis amelyekbl a szomszdoknak a legkevesebb ismtld msolatuk van), majd ezeket a legritkbb tredkeket kell elszr elkrni. Ezltal a legritkbb tredkek cserje gyorsan megtrtnik, ami hozzjrul ahhoz, hogy az egyes tredkek msolatainak szma (nagyjbl) kiegyenltdjn az radatban.

Nyomkvet

Trs

Annak eldntsre, hogy mely krsekre vlaszoljon, a BitTorrent egy gyes keresked algoritmust alkalmaz. Az algoritmus alaptlete, hogy Alice azokat a szomszdokat rszesti elnyben, amelyek ppen a legnagyobb sebessggel szlltjk az adatait. Rszletesebben, Alice minden szomszdjtl jv vonalon folyamatosan mri azt a sebessget, amellyel az a biteket tkldi neki, s meghatrozza azt a ngy trsat, amelyek a legnagyobb sebessg gel kldik neki a biteket. Ezutn ugyanennek a ngy trsnak a szolgltatsait viszonozza azzal, hogy nekik kldi a tredkeket. Alice minden 10. msodpercben jra kiszmtja a sebessgeket, s ennek megfelelen vltoztatja a ngy trsbl ll halmazt. Fontos, hogy minden 30. msodpercben vletlenszeren vlaszt egy tovbbi trsat, akinek szintn kld tredkeket. Nevezzk a vletlenszeren kivlasztott trsat Bobnak. Mivel Alice adatokat kld Bobnak, ezzel bekerlhet Bob ngy leggyorsabb feltltje kze, s ebben az esetben Bob is elkezd adatokat kldeni Alicc-nak. Ha a sebessg, amellyel Bob adatokat kld Ali- ce-nak, elg nagy, Bob is bekerlhet Alice ngy leggyorsabb feltltje kz. Ms szavakkal, Alice 30 msodpercenknt vletlenszeren vlaszt egy j zlettrsat, s zletet kezdem nyez ezzel a partnerrel. Ha a kt trs elgedett az zlettel, beveszik egymst a leggyorsabb feltltik listjba s addig folytatjk a kereskedst, amg valamelyikk nem tall egy jobb partnert. Ennek hatsra az sszemrhet feltltsi sebessggel rendelkez trsak elbb-utbb rtallnak egymsra. A szomszdok vletlenszer kivlasztsa lehetv teszi, hogy az j trsak is megszerezhessenek tredkeket, gy lesz mivel kereskednik. Az t szomszdos trson (a ngy leggyorsabb s a vletlenszeren vlasztott trs) kvl minden ms trs ki van zrva a kereskedsbl, vagyis nem kapnak tredkeket Alice-tl.

A P2P-fjl megoszts ltalnos problmja az ingyenutazs (free riding), amikor is egy trs anlkl tlt le fjlokat a fjlmegoszt rendszerrl, hogy fjlokat tltene fel. A BitTorrent keresked algoritmusa virtulisan kikszbli az ingyenutazs problmjt, mivel ahhoz, hogy Alice hosszabb idn t jelents sebessggel tlthessen le biteket Bobtl, ezzel egy idben neki is jelents sebessggel kell feltltenie biteket Bob rszre. A BitTorrent szmos tovbbi, itt nem trgyalt rdekes mechanizmussal rendelkezik, belertve a mor zskat (mini-tredkek), a csvezetkezst, az elst vletlenszeren kivlasztsi md szert, a jtk vge mdot s a hirtelen lelassts kivdst (anti-snubbing) (Cohen 2003).

2.6.2. Informcikeress egy P2P-kzssgben


Sok P2P-alkalmazs kritikus sszetevje egy informcis index - informci lekpezse hosztok elhelyezkedsre. Ezekben az alkalmazsokban a trsak dinamikusan frisstik az indexet s keresnek benne. Mivel az informci lekpezse hosztok elhelyezkedsre kifejezs kiss elvontan hangozhat, vessnk egy pillantst nhny konkrt pldra: Egy P2P fjl megoszt rendszerben jellemzen nagyszm trs vesz rszt, amelyek kzl mindegyik fjlokat cserl, kztk MP3-akat, videkat, kpeket s szoftvereket. A P2P fjl megoszt rendszerekben egy index dinamikusan nyomon kveti azokat a fjlokat, amelyeket a trsak megosztsra hozzfrhetv tesznek. Minden fjl minden egyes msolathoz, amelyet a trsak megosztanak egyms kztt, az index egy bejegyzst tart nyilvn, amely az adott msolatrl szl informcit (pldul, hogy az egy MP3 zenefjl, a dal cmt, az eladt s gy tovbb) hozzrendeli a msolatot bir tokl trs IP-cmhez. Az index dinamikusan frissl, ahogy trsak lpnek be s lpnek ki, illetve ahogy egyes trsak megszerzik a fjlok j msolatait. Ha pldul egy trs csatlakozik a rendszerhez, tjkoztatja az indexet arrl, hogy milyen fjlokkal rendelkezik. Ha egy adott felhasznl, mondjuk Alice meg szeretne szerezni egy bizonyos fjlt, akkor ebbl az indexbl keresi ki, hogy hol tallhatk a kvnt fjl msolatai. Miutn megtallta azokat a trsakat, amelyek rendelkeznek a fjl msolatval, letltheti a fjlt ezektl a trsaktl. Miutn az egsz fjlt megszerezte, az indexbe bekerl, hogy immr Alice-nl is megtallhat a fjl egy j msolata. Egy azonnali zenetkld alkalmazsban egy index kpezi le a felhasznlneveket helyekre (IP-cmekre). Annak megrtshez, hogy az index mennyire fontos ebben az alkalmazsban, tegyk fel, hogy kt felhasznl, SzpAlice s Jkp Bob egyarnt szerepelnek egyms ismerslistjn. Amikor JkpBob elindtja azonnali zenetkld klienst az X IP-cm hoszton, a kliens rtesti az indexet, hogy JkpBob elrhet az X IP-cmen. Ksbb, amikor SzpAlice elindtja a sajt azonnali zenetkld klienst, mivel JkpBob az ismerslistjn van, a kliense megkeresi az indexben J- kpBobot, s kiderti, hogy JkpBob elrhet azX IP-cmen. SzpAlice ezutn kz vetlen TCPsszekttetst kezdemnyezhet az X cmen tallhat hoszttal, s elkezd heti az zenetvltst Jkp Balzzsal. Az azonnali zenetkldkn kvl, napjaink szmos alkalmazsa hasznl indexet a jelenlt nyomon kvetsre, tbbek kztt az internetes telefonrendszerek (lsd 2.6.3. alfejezet).

itt jegyezzk meg rviden, hogy a BitTorrent protokoll, amely egyszeren egy fjlcserl protokoll, nem biztost indexelsi s fjlkeressi szolgltatsokat. A kvetkezkben hrom megoldst trgyalunk, amelyek alapjn egy trsakbl ll kzssgben indexet lehel ltrehozni s keresni benne. Ezeket egy konkrt pldn, egy P2P fjlmegoszt rendszerben trtn fjlkeressen keresztl mutatjuk be. Hangslyozzuk azonban, hogy az elmondottak egyarnt rvnyesek brmilyen informcinak a P2P-k- zssgben trtn keressre.

Kzpontostott index
Egy fjl helynek meghatrozsra az egyik legegyszerbb megkzelts a kzpontostott index (centralized index) hasznlata, ahogy azt a Napster, az els nagylptk kereskedelmi P2P fjl megoszt alkalmazs is tette. Ebben az elrendezsben egy nagy szerver (vagy szerverfarm) nyjtja az indexelsi szolgltatst. Amint a 2.25. brn lthat, amikor egy felhasznl elindtja a P2P fjlmegoszt alkalmazst, az alkalmazs kzli az indexel szerverrel a sajt IPcmt s a megosztsra hozzfrhetv tett fjlok neveit (pldul az sszes ltala trolt MP3-fjl cmt). Az indexel szerver sszegyjti ezeket az infor mcikat minden aktivizld trstl, ltrehozva ezltal egy kzpontostott dinamikus indexet, amely minden fjlmsolatot IP-cmek egy halmazra kpez le. Megjegyezzk, hogy egy kzpontostott indexszel rendelkez P2P fjlmegoszt rendszer tulajdonkppen a P2P s a kliens-szerver architektra hibridje. A fjlcserls P2P-alap, a keress viszont kliens-szerver alap. Napjainkban szmos alkalmazsban tallhatunk ilyen hibrid archi tektrt, tbbek kztt sok azonnali zenetkld alkalmazsban. A kzpontostott index hasznlata informcik keressre egyszer elveken alapszik, azonban szmos htrnya van: Egyetlen meghibsodsi pont. Ha az indexel szerver sszeomlik, az egsz alkalmazs sszeomlik. Mg abban az esetben is, ha szerverfarmot hasznlnak redundns szerve-

Kzpontostott katalgusszerver

Alice

2.25. bra. Kzpontostott index rekkel, a szerverfarm internet-sszektletse is megszakadhat, ezltal a teljes alkalmazs sszeomlst okozva. Teljestmnybeli szk keresztmetszet s infrastruktra-kltsgek. Egy nagy P2P-rend- szerben, amelyhez tbb szzezer felhasznl kapcsoldik, egy kzpontostott szervernek hatalmas mret indexet kell karbantartania, s msodpercenknt tbb ezer lekrdezsre kell vlaszolnia. 2000-ben, amikor a Napster volt a legnpszerbb P2P fjlmegoszt alkalmazs, a Napster kzponti szervere valban ilyen mret forgalommal kszkdtt. Szerzi jogok megsrtse. Br ez a tma kvl esik e knyv keretein, rviden megemltjk, hogy a hanglemezipari rzkenyen rintette (finoman szlva) az, hogy a P2P fjlmegoszt rendszerek lehetv teszik felhasznlik szmra, hogy knnyen s ingyenesen hozzjussanak szerzi jogvdelem al tartoz tartalmakhoz. (Kivl elemzs olvashat a szerzi jogok hatsrl a P2P-re [von Lohmann 2003] munkjban). Ha egy P2P-fjlmegosztssal foglalkoz cg kzpontostott indexel szervert zemeltet, a jogi eljrsok eredmnyeknt ktelezhetik a cget a szerver lelltsra. A de- centralizltabb architektrknl ezt sokkal nehezebb megtenni.

Lekrdezs-elraszts
A kzpontostott katalgusokkal szemben a msik vgletet a lekrdezs-elraszts (query flooding) teljesen decentralizlt megkzeltse kpviseli. A lekrdezselrasztst alkalmazta a Gnutella protokoll eredeti vltozata. A lekrdezselrasztsnl az index teljesen el van osztva a trsak kzssge kztt. Minden trs csak a sajt maga ltal megosztott fjlokat indexeli, ms fjlokat nem. A lekrdezs-elraszts sorn a trsak egy absztrakt, logikai hlzatot alkotnak. Ezt tlapol hlzatnak (overlay network) nevezik, s grfelmleti fogalmakkal a kvetkezkppen definilhat: Ha az X trs TCP-sszekttetst tart fenn egy msik Y trssal, azt

mondjuk, hogy X s Y kztt egy l (edge) tallhat. Az sszes aktv trsat s az sszekt leket (fennll TCP-sszekttetseket) tartalmaz grf definilja az tlapol hlzatot. Megjegyezzk, hogy az lek nem fizikai kommunikcis adatkapcsolatokat jelentenek; egyl ehelyett egy absztrakt adatkapcsolatnak felel meg, amely tbb fizikai adatkapcsolatbl llhat ssze. Egy l az tlapol hlzatban jelkpezheti pldul egy Litvniban s egy Brazliban tallhat trs kztti TCP-sszekttetst. Habr egy ilyen tlapol hlzat akr tbb szzezer rszt vev trsat is tartalmazhat, egy adott trs jellemzen kevs szm msik csomponthoz (ltalban tznl kevesebbhez) csatlakozik az tlapol hlzatban, amint a 2.26. bra mutatja. Ksbb elmagyarzzuk, hogyan pthet fel az tlapol hlzat, s hogyan lehet karbantartani, mikzben csompontok lpnek be a hlzatba s lpnek ki onnan. Most tegyk fel, hogy az tlapol hlzat mr ltezik, s sszpontostsunk arra, hogyan tall meg s tlt le tartalmakat egy trs. Ebben az elrendezsben a trsak a mr ltez TCP-sszekttetseken keresztl kldenek zeneteket az tlapol hlzatbeli szomszdos trsaiknak. Amikor Alice meg akarja tallni a Szerelem a hlzaton cm tartalmat, a kliense minden szomszdjnak kld egy lekrdez zenetet, amely a Szerelem a hlzaton kulcsszavakat tartalmazza. Alice szomszdjai tovbbtjk a lekrdezst a sajt szomszdjaiknak, amelyek szintn tovbb- kldik a lekrdezst a sajt szomszdjaiknak s gy tovbb. Ezt a lekrdezs-elraszts nev folyamatot mutatja a 2.26. bra. Amikor egy trs kap egy lekrdezst, ellenrzi, hogy a kulcssz illeszkedik-e valamelyik fjlra, amelyet megosztsra elrhetv lett. Ha illeszkedik, a trs egy lekrdezs-tallat zenetet kld Alice-nak, amely tartalmazza a megtallt fjl nevt s mrett. A lekrdezs-tallat zenet a lekrdez zenet tvonalt kveti ellenkez irnyban, ezltal felhasznlva a mr megnyitott TCP-sszekttetseket. Alice ily mdon felderti azokat a trsakat, amelyeknl megtallhat a kvnt fjl msolata. Habr ez a decentralizlt elrendezs egyszer s elegns, gyakran brljk amiatt, hogy nem sklzhat. Rszletesebben, ha a lekrdezs-elraszts sorn brmikor egy trs lekrdezst indt, a lekrdezssel elrasztja az sszes tbbi trsat a teljes tlapol hlzatban, miltal jelents mrtk forgalmat generl a trsak kztt az ket alsbb szinten sszekt hlzaton (vagyis az interneten). A Gnutella tervezi erre a problmra a korltozott kiterjeds lekrdezs-elraszts (limited-scope query flooding) alkalmazsval vlaszoltak. Ez azt jelenti, hogy amikor Alice elkldi a kezdeti lekrdez zenett, egy trsszmll mez az zenetben kap egy meghatrozott rtket (mondjuk 7-et). Min den alkalommal, amikor a lekrdez zenet egy jabb trshoz rkezik, a trs cskkenti a trsszmll mez rtkt, mieltt tovbbklden a lekrdezst az tlapol hlzatbeli szomszdjainak. Amikor egy trs olyan lekrdez zenetet kap, amelyben a trsszmll mez rtke nulla, nem kldi tovbb a lekrdezst. Ily mdon az elraszts csak az tlapol hlzat egy krzetre terjed ki, a korltozott kiterjeds lekrdezst elindt trs krnyezetben. Ez a korltozott kiterjeds lekrdezs-elraszts egyrtelmen cskkenti a lekrdezsi forgalmat. Cskkenti azonban azoknak a trsaknak a szmt is, amelyekhez eljut a lekrdezs. gy lehetsges, hogy egy bizonyos tartalmat keres trs nem tudja meg tallni a tartalmat, mg ha az meg is tallhat valahol a trsak kzssgben.

Az tlapolsnl alapvet krds a belp s kilp trsak kezelse. Az eredeti Gnutella- elrcndezst pldaknt vve bemutatjuk, hogyan lehet karbantartani egy tlapol hlzatot, amikor j trsak lpnek be. legyk fel, hogy egy j X trs szeretne csatlakozni az tlapol hlzathoz.

Fjltvitel

Lekrdezs

Lekrdezs-tallat

Lekrdezs-tallat

2.26. bra. Lekrdezs-elraszts 1. Az X trsnak elszr tallnia kell nhny msik trsat, amelyek mr az tlapol hlzatban vannak. Az egyik megkzelts ennek az indtsi problmnak (bootstrap problem) a megoldsra, hogy X egy listt vezet azokrl a trsakrl (azok IP-cmei- rl), amelyek gyakran vannak bejelentkezve az tlapol hlzatra; egy msik lehetsg, hogy X kapcsolatba lp egy nyomkvetvel (mint a BitTorrentnl), amely rendelkezik ilyen listval. Miutn X szert tett egy ilyen listra, megprbl TCP-sszekttetst ltesteni sorra a listn szerepl trsakkal egszen addig, amg ltre nem jn egy sszekttets valamely Y trssal. Miutn X s Y kztt ltrejtt a TCP-sszekttets, X kldhet egy ping zenetet Y-nak. A ping zenet tartalmaz egy trsszmll mezt. A ping zenet megrkezsekor Y tovbbtja azt minden tlapol hlzatbeli szomszdjnak. A trsak tovbbkl- dik a ping zenetet, amg a trsszmll mez rtke el nem ri a nullt. Amikor egy Z trs ping zenetet kap, vlaszul egy pong zenetet kld vissza X-nek az tlapol hlzaton keresztl. A pong zenet tartalmazza Z IPcmt. Miutn X megkapta a pong zeneteket, mr sok trs IP-cmt ismeri az tlapol hlzatbl. Ezutn TCP-sszekttetseket nyithat ezen trsak kzl nhnnyal, ezltal leket hozva ltre az tlapol hlzatban, amelyek belle indulnak ki.

2.

3.

4.

5.

Azokat a lpeseket, amelyeket az tlapol hlzat trsak kilpsekor tesz meg, a hzifel- adat-pldk kztt dertjk fel. Ezzel lefedtk a lekrdezs-elraszts s a dinamikus tlapolsi elrendezs alapvet tulajdonsgait. sszegezve, a lekrdezs-elraszts egy egyszer, elosztott P2P-sma, amely lehetv teszi a felhasznlk szmra, hogy kzeli trsaknl tallhat informcit krdezzenek le (ahol kzeli az tlapol hlzaton nhny lpsben elrhett jelent). Az eredeti

Gnutella-elrendezs a fent lert lekrdezs-elrasztst hasznlta. Az vek sorn a Gnutella protokoll jelents fejldsen ment kersztl, s jelenlegi formjban a P2P fjlmegoszt rendszerekben rszt vev trsak heterogenitst hasznlja ki. A Gnutella mig nagyon npszer s a szintn npszer LimeWire P2P-kliens alkalmazza.

Hierarchikus tlapols
Lttuk, hogy a kzpontostott index s a lekrdezs-elraszts kt homlokegyenest ellenkez megkzelts az informci keressre. Most egy harmadik megkzeltst mutatunk be, amelyre hierarchikus tlapolstervezsknt (hierarchical overlay design) fogunk hivatkozni, s amely egyesti az elz kt megkzelts legjobb tulajdonsgait. A hierarchikus tlapolstervezst elszr a FastTrack, egy P2P fjlmegoszt protokoll alkalmazta, amelyet az vek sorn szmos kliensben, tbbek kztt a Kazaa-ban s a Morpheusban is megvalstottak. A Gnutella modern vltozata is hierarchikus tlapolstervezst hasznl, br az nmileg eltr az itt lerttl. A lekrdezs-elrasztshoz hasonlan a hierarchikus tlapolstervezs sem hasznl dediklt szervert (vagy szerverfarmot) a fjlok nyomkvetsre s indexelsre. A lekrdezs-elrasztstl eltren azonban a hierarchikus tlapolstervezsben nem minden trs egyenl. Rszletesebben, a nagy svszlessg internet-sszekttetssel br s nagy rendelkezsre lls trsakat szupertrsaknak nevezik, ezeknek nagyobb a felelssgk. Ahogy a 2.27. brn lthat, ha egy trs nem szupertrs, akkor egy kznsges trs, s gyermekknt egy szupertrshoz van rendelve. Egy szupertrsnak tbb szz gyermeke le het, amelyek kznsges trsak. Egy j trs elszr az egyik szupertrssal ltest TCP-sszekttetst. Az j trs ezutn tjkoztatja szupertrst mindazokrl a fjlokrl, amelyeket megosztsra hozzfrhetv tesz. Ez lehetv teszi, hogy a szupertrs egy listt vezessen, amely tartalmazza az sz- szes olyan fjl azonostjt, amelyet gyermekei megosztanak, tovbb metaadatokat ezen fjlokrl, s az egyes fjlokat birtokl gyermekek IP-cmeit. Ezltal minden szupertrs egy mini indexsz vlik. Az alfejezet elejn trgyalt kzpontostott indexszel szemben azonban egy szupertrs nem dediklt szerver, hanem kznsges trs, amely ltalban egy laksban vagy egy egyetemen helyezkedik el. Ila az sszes mini csompont s az gyermekeik el lennnek szigetelve, egy trs szmra elrhet tartalom mennyisge ersen korltozott lenne. E korltozs elkerlse rdekben a szupertrsak sszekapcsoldnak egymssal TCPsszekttetseken keresztl, ezltal egy tlapol hlzatot hozva ltre egyms kztt. Ennek az tlapolsnak a segtsgvel a szupertrsak tovbbthatjk a lekrdezseket a szomszdos szupertrsaknak. Ez a megkzelts a lekrdezselrasztsra hasonlt, de itt korltozott kiterjeds elraszts trtnik a szupertrsak tlapol hlzatban. Amikor egy trs kulcsszavak alapjn keres, a kulcsszavakat tartalmaz lekrdezst elkldi a szupertrsnak. A szupertrs azoknak a gyermekeinek az IPcmvel vlaszol, amelyeknl a kulcsszavakra illeszked lerval rendelkez fjlok tallhatk (a vlaszban ezen fjlok azonostjt is visszakldi). A szupertrs tovbbthatja is a lekrdezseket a szomszdos szupertrsaknak. Ha egy

szomszdos szupertrs ilyen lekrdezst kap, szintn azon gyermekeinek IPcmvel vlaszol, amelyeknl illeszked fjlok tallhatk. A szupertrsak vlaszai fordtott utat jrnak be az tlapol hlzatban. Ez a hierarchikus tlapolstervezs a trsak heterogenitst hasznlja ki azltal, hogy a nagyobb teljestmny trsak egy kis hnyadt szupertrsaknak nevezi ki, ezek alkotjk

2.27.
Jells:

bra.

Hierarchikus

vr Kznsges trs Szupertrs Szomszdsgi viszonyok az rlapol hlzatoan

tlapols

egy hierarchikus tlapol hlzat fels rteget, amint a 2.27. bra mutatja, sszehasonltva a korltozott kiterjeds lekrdezs-elrasztssal (mint a Gnutella eredeti megvalstsban), a hierarchikus tervezs lehetv teszi jelentsen tbb trs vizsglatt az illeszkeds keresse sorn anlkl, hogy tl nagy mennyisg hlzati forgalom keletkezne. Mieltt befejeznnk a P2P-alkalmazsok informcikeressi megoldsainak trgyalst, rviden megemltnk egy tovbbi fontos tervezsi megkzeltst, amelynek neve elosztott hash tbla (Distributed Hash Table, DHT) [Stoica 2001; Rowstron 2001; Rat- nasamy 2001; Zhao 2004; Maymounkov 2002; Garces-Erce 2003]. A DHT teljes kr trgyalsa kvl esik e knyv keretein. Megemltjk azonban, hogy egy DHT (1) teljesen decentralizlt indexet hoz ltre, amely a fjlazonostkat a fjlok elhelyezkedsre kpezi le, s (2) lehetv teszi, hogy a felhasznlk egy fjl (elvben) sszes elrhetsgt meghatrozzk tlzott mrtk keressi forgalom generlsa nlkl. A DHT-k korbban risi rdekldst keltettek a kutati krkben. Az Overnet, a npszer eMule fjlmegoszt al kalmazs kzponti sszetevje DHT-t hasznl [Liang 2006).

2.6.3. Esettanulmny: P2F internetes telefonls (Skype)


A Skype egy roppantul npszer P2P-alkalmazs, gyakran ht- vagy nyolcmilli egy idben kapcsold felhasznlval. Azon tl, hogy PC-k kztti internetes telefonszolgltatst tesz lehetv, a Skype PC s telefon kztti telefonszolgltatst, telefon s PC kztti telefonszolgltatst s PC-k kztti videokonferencia-szolgltatst is knl. A Skype alapti ugyanazok voltak, akik a FastTrack-et s a Kazaa-t megalkottk. 2005-ben az eBay 2,6 millird dollrrt megvette a Skype-ot. A Skype sokfle innovatv mdon alkalmazza a P2P-technikt, ami szpen szemllteti, hogy a P2P a tartalomcsern s a fjlmegosztson kvl ms alkalmazsokban is hasznlhat. Az azonnali zenetkldshez hasonlan a PC-k kztti internet telefon is termszetnl fogva P2P-alap, mivel az alkalmazs szvben felhasznlprok (vagyis trsak) kommuniklnak egymssal vals idben. A Skype azonban kt tovbbi fontos feladatra is P2P-megoI- dsokat hasznl,

nevezetesen a felhasznlk helymeghatrozsra s a NAT thidalsra.

2.6. P2P-AI.KALMAZSOK

165

Nemcsak a Skype protokolljai esnek szabadalmi oltalom al, hanem a Skype sszes csomagtvitele (hang- s vezrlcsomagok) is titkostva van. Mindezek ellenre a Skype weblapjrl s a szmos mrsi eredmnybl a kutatk kidertettk a Skype ltalnos mkdst [Basel 2006; Guba 2006; Chen 2006; Suh 2006; Ren 2006]. A FastTrack-hez hasonlan a Skype-ban is hierarchikus tlapol hlzatba szervezdnek a csompontok, s minden trs szuper trsknt vagy kznsges trsknt viselkedik (lsd 2.27. bra). A Skype kezel egy indexet, amely a Skype-felhasznlneveket lekpezi az aktulis IP-cmckre (s port szmokra). Ez az index cserldik a szupertrsak kztt. Amikor Alice fel szeretn hvni Bobot, Alice Skype-klicnse keresst vgez az elosztott indexben, hogy meghatrozza Bob aktulis IP-cmt. Mivel a Skype protokoll egyedi, jelenleg nem tisztzott, hogy a szupertrsak kztt hogyan trtnik az indexlekpezsek megszervezse, habr nagyon valszn, hogy a DHT valamely formjt hasznljk. P2P-technikt alkalmaznak a Skype tjtszk (relays) is, amelyek az otthoni hlzatokban elhelyezked hosztok kzti hvsok ltestsre hasznlatosak. Sok otthoni hlzati konfigurciban egy tvlasztn (jellemzen vezetk nlkli tvlasztn) keresztl lehet elrni az internetet. Ezek az tvlasztk valjban nem egyszeren tvlasztk, s ltalban tartalmaznak egy gynevezett hlzati cmfordtt (NetWork Address Trans- lator, NAT). A NAT-ot a 4. fejezetben vizsgljuk meg. Most elg annyit tudnunk, hogy a NAT megakadlyozza az otthoni hlzaton kvli hosztokat abban, hogy kapcsolatot kezdemnyezzenek egy, az otthoni hlzatban lv hoszttal. Ha mindkt Skype-on beszlget fl NAT mgtt helyezkedik el, akkor gond van - egyik sem kpes a msik ltal kezdemnyezett hvst fogadni, ami ltszlag lehetetlenn teszi a hvsokat. A szuper trsak s tjtszk tletes alkalmazsa szpen megoldja ezt a problmt. Tegyk fel, hogy amikor Alice bejelentkezik, hozzrendeldik egy nem NAT-olt szupertrshoz. Ezzel a szupertrssal Alice kpes egy munkamenett (session) indtani, mivel a NAT-ja csak az otthoni hlzatra kvlrl indtott munkameneteket nem engedlyezi. Ez lehetv teszi, hogy Alice s az szupertrsa vezrlsi zeneteket vltsanak egymssal a munkamenetben. Ugyanez trtnik, amikor Bob bejelentkezik. Ezutn amikor Alice fel akarja hvni Bobot, Alice tjkoztatja a szupertrst, amely tjkoztatja Bob szupertrst, az pedig tjkoztatja Bobot az Alice-tl jv hvsrl. Ha Bob fogadja a hvst, a kt szupertrs kivlaszt egy harmadik nem NAT-olt szupertrsat - ez az tjtsz csompont amelynek az lesz a feladata, hogy tjtssza az adatokat Alice s Bob kztt. Alice s Bob szupertrsai ezutn utastjk Alice-t s Bobot, hogy kezdemnyezzenek munkamenetet az tjtszval. Alice ezutn hangcsomagokat kld az tjtsznak az Alice s az tjtsz kztti sszekttetsen (amelyet Alice kezdemnyezett), az tjtsz pedig tovbbtja ezeket a csomagokat az tjtsz s Bob kzti sszekttetsen (amelyet Bob kezdemnyezett); Bobtl Alice fel ugyanezen a kt tjtsz sszekttetsen keresztl ramlanak a csomagok, csak ellenkez irnyban. s me! - Bob s Alice kztt ltrejtt egy igny szerinti, vgpontok kzti ssze kttets annak ellenre, hogy egyikk sem tud a sajt helyi hlzatn kvlrl kezdem nyezett munkameneteket fogadni. Az tjtszk alkalmazsa szemllteti a P2P-rendszerek egyre kifinomultabb kialaktst, amelyben a trsak alapvet rendszerszolgltatsokat nyjtanak msok szmra (plda erre az indexelsi szolgltats s az tjtszs), mikzben maguk is ignybe veszik a P2P-rendszer ltal biztostott vgfelhasznli szolgltatst (vagyis a fjlletltst, IP telefonlst).

166

2. A/. ALKALMAZSI RTEG

A Skype egy rendkvl sikeres internetes alkalmazs, amely a sz szoros rtelmben tbb tzmilli felhasznl kztt terjedt el. A Skype llegzetellltan gyors s szles kr elfogadsa (ahogy korbban a P2P-fjlmegoszts, a web s az azonnali zenetklds) kesen bizonytja az internet blcs architekturlis tervezst, hiszen a tervezsnl nem lthattk elre a kvetkez harminc vben kifejlesztsre kerl internetes alkalmazsok gazdag s llandan bvl csoportjt. Az internetes alkalmazsok szmra nyjtott szolgltatsok sszekttets nlkli datagramtvitel (UDP), sszekttets alap megbzhat datagra- mtvitel (TCP), a szoketinterfsz, cmzs s nvkezels (DNS), valamint sok egyb - megfelelnek bizonyultak tbb ezer alkalmazs kifejlesztsre. Mivel ezek az alkalmazsok mind az internetes protokollverem ngy alsbb rtegre plnek, csak a vgrendszereken hasznlatos kliens-szerver vagy P2P-szoftvert kell jonnan kifejleszteni. Hz teszi lehetv, hogy ezeket az alkalmazsokat gyorsan lehessen telepteni s gyorsan el is terjedjenek.

2.7. TCP-szoketprogramozs
Most, hogy mr szmos fontos hlzati alkalmazst ttekintettnk, dertsk fel, hogyan is rdnak a hlzati alkalmazsok programjai. Ebben az alfejezetben olyan alkalmazi programokat runk, amelyek TCP-t hasznlnak; a kvetkez alfejezetben UDP-t hasznl programokat fogunk rni. Idzzk fel a 2.1. alfejezetbl, hogy sok hlzati alkalmazs egy programprbl ll - egy szerverprogrambl s egy kliensprogrambl -, amelyek kt klnbz vgrendszeren tallhatk. E kt program vgrehajtsa sorn ltrejn egy kliens- s egy szerverfolyamat, s ezek a folyamatok szoketek rsa s olvassa rvn kommuniklnak egymssal. Egy hlzati alkalmazs megalkotsakor a fejleszt f feladata a kliens- s a szerverprogram kdjnak megrsa. A hlzati alkalmazsoknak kt fajtja ltezik. Az egyik egy protokollszabvnyt valst meg, amelyet pldul egy RFC-ben definiltak. Egy ilyen megvalstsnl a kliens- s a szerverprogramnak be kell tartania az RFC ltal elrt szablyokat. Pldul a kliensprogram lehet az FTP protokoll kliensoldalnak (lersa a 2.3. alfejezetben, pontos defincija az RFC 959-ben) megvalstsa, a szerverprogram pedig az FTP-szerverprotokoll (pontos defincija szintn az RFC 959-ben) megvalstsa. Ha egy fejleszt megrja a kliensprogram kdjt, egy msik, tle fggetlen fejleszt pedig megrja a szerverprogram kdjt, s mindkt fejleszt gondosan kveti az RFC szablyait, akkor a kt program egytt fog tudni mkdni. St, napjaink legtbb hlzati alkalmazsa olyan szerver- s kliensprog ramok kzti kommunikcit foglal magban, amelyeket egymstl fggetlen fejlesztk hoztak ltre - plda erre, amikor egy Firefox bngsz s egy Apache webszerver kommu nikl egymssal, vagy amikor egy PC-s FTP-kliens fjlt tlt fel egy linuxos FTPszerverre. Ha egy kliens- vagy szerverprogram RFC-ben definilt protokollt valst meg, az adott protokollhoz rendelt portszmot kell hasznlnia. (A portszmokat rviden emltettk a 2.1. alfejezetben. Rszletesebb trgyalsukat lsd a 3. fejezetben.) A hlzati alkalmazsok msik csoportjt az egyedi hlzati alkalmazsok alkotjk. Ebben az esetben a kliens- s a szerverprogram ltal hasznlt alkalmazsi rtegbeli protokoll nem felttlenl alkalmazkodik egy ltez RFC-hez. Mind a kliens-, mind a szerverprogramot egyetlen fejleszt (vagy fejlesztcsapat) rja

2.6. P2P-ALKAI.MAZS0K 167 meg, s teljesen a fejleszt ellenrzse al tartozik, hogy mi kerl a kdba. Mivel azonban a kd nem egy nyilvnos protokollt valst meg, ms fggetlen fejlesztk nem lesznek kpesek olyan programot rni, amely egyttmkdik az alkalmazssal. Egy egyedi alkalmazs fejlesztse sorn a programoz nak gyelnie kell arra, hogy ne hasznlja az RFC-kben definilt kzismert portszmokat.

2.24. bra. Fjlcserls BitTorrenttel

2.6. P2P-AI.KALMAZSOK

168

Ebben s a kvetkez fejezetben megvizsgljuk egy egyedi kliens-szerver alkalmazs fejlesztsnek f krdseit. A fejlesztsi fzis alatt az egyik els dolog, amit a fejlesztnek el kell dntenie, az, hogy az alkalmazs TCP fltt vagy UDP fltt fusson. Emlkezznk, hogy a TCP-sszekttets alap s megbzhat bjtfolyamcsatornt biztost, amelyen az adatok a kt vgrendszer kztt ramlanak. Az UDP-sszekttets nlkli protokoll, s fggetlen adatcso magokat kld az egyik vgrendszerrl a msikra, mindenfle kzbestsi garancia nlkl. Ebben az alfejezetben egy egyszer, TCP fltt fut kliensalkalmazst, mg a kvetkez alfejezetben egy egyszer, UDP fltt fut kliensalkalmazst fejlesztnk. Ezeket az egyszer TCP- s UDP-alkalmazsokat java nyelven mutatjuk be. rhattuk volna a kdot C vagy C++ nyelven is, de a Java mellett dntttnk, leginkbb azrt, mert az alkalmazsokat egyszerbben s tisztbban lehet megrni Javban. Java hasznlatval kevesebb kdsorra van szksg, s a kezd programoz szmra minden sor klnsebb nehzsg nlkl megmagyarzhat. Nem kell azonban megijedni, ha nem ismeri a Java nyelvet. Ha brmely ms nyelven rendelkezik programozsi tapasztalattal, kvetni tudja a kdot. Azok szmra, akik rdekldnek a C nyelv kliens/szerver programozs irnt, rendelkezsre ll nhny j kziknyv [Donahoo 2001; Stevens 1997; Frost 1994; Kurose 1996].

2.7.1. TCP-szoketprogramozs
Idzzk fel a 2.1. szakaszbl, hogy a klnbz gpeken fut folyamatok gy kommuniklnak egymssal, hogy zeneteket kldenek a szoketeken keresztl. Azt mondtuk, hogy az egyes folyamatok hzaknak felelnek meg, a folyamatok szoketjei pedig ajtknak. Amint a 2.28. brn lthat, a szkt az ajt az alkalmazsi folyamat s a TCP kztt. A szkt alkalmazsi rteg felli oldala teljes mrtkben az alkalmazsfejleszt irnytsa alatt ll, a szlltsi rteg oldaln viszont a fejlesztnek kevs beleszlsi lehetsge van. (Az alkal mazsfejleszt a legtbb esetben nhny TCP-paramtert llthat be, mint pldul a maxi mlis puffermretet vagy a legnagyobb szegmensmretet.)
Hoszt vagy szerver

Az alkalmazsfejleszt irnytsa alatt

Hoszt vagy szerver

Az alkalmazsfejleszt irnytsa alatt

2.6. P2P-ALKAI.MAZS0K
Az opercis rendszer irnytsa alatt

i
TCP-pufferekkel, vltozkkal Internet

169
i TCP-pufferekkel, vltozkkal Az opercis rendszer irnytsa alatt

2.24. bra. Fjlcserls BitTorrenttel

170

2. A/. ALKALMAZSI RTEG

2.6. P2P-ALKAI.MAZS0K

171

Nzzk meg most kzelebbrl a kliens- s szerverprogramok klcsnhatst. A kliens feladata felvenni a kapcsolatot a szerverrel. Annak rdekben, hogy a szerver reaglni tudjon a kliens kapcsolatfelvteli kezdemnyezsre, a szervernek kszenltben kell llnia. Elszr, a szerver nem lehet alv llapotban vagyis mr futnia kell folyamatknt, mieltt a kliens kapcsolatot prbl ltesteni. Msodszor, a szerverprogramnak kell, hogy legyen egy ajtaja - pontosabban egy szoketje amely kpes tetszleges hoszton fut folyamat l lal kezdemnyezell kapcsolat fogadsra. A hz-ajt analgit hasznlva a folyamatokra s szoketekre, egyes esetekben azt fogjuk mondani a kliens kezdeti kapcsolatfelvtelre, hogy kopogtat az ajtn. Ha a szerverfolyamat mr fut, a kliens TCP-sszekottetst kezdemnyezhet a szerverrel. Ezt a kliensprogram hajtja vgre egy szkt ltrehozsval. Amikor a kliens ltrehozza szoketjt, megadja a szerverfolyamai cmt, nevezetesen a szerverhoszt IP-cmt s a szerverfolyamat portszmt. Miutn a kliensprogramban ltrejtt a szkt, a kliensoldali TCP hromutas kz fogst kezdemnyez, s TCPsszekttetsl ltest a szerverrel. A hromutas kzfogs, amely a szlltsi rtegben trtnik, a szerver- s a kliensprogram szmra teljesen tltsz. A hromutas kzfogs sorn a kliensfolyamat kopogtat az t fogad szerverfolyamat ajtajn. Amikor a szerver meghallja a kopogst, ltrehoz egy j ajtt - pontosabban egy szoketet - amelyet kln ennek a kliensnek tart fenn. Lenti pldnkban az ajt egy Ser- verSocket objektum, amelynek neve welcomeSocket. Amikor egy kliens kopogtat ezen az ajtn, a program meghvja a welcomeSocket accept( ) metdust, amely ltrehoz egy j ajtt a kliens szmra. A kzfogsi fzis vgre ltrejn egy TCP-sszekt- tetsa kliens szoketje s a szerver j szoketje kztt. A tovbbiakban a szerver j, dediklt szoketjre mint a szerver sszekttets-szoketjre (connection socket) fogunk hivatkozni. Az alkalmazs szemszgbl nzve a TCP-sszekttets egy kzvetlen virtulis csvezetk a kliens szoketje s a szerver sszekttets-szoketje kztt. A kliensfolyamat tetszleges bjtokat kldhet a sajt szoketjbe, a TCP garantlja, hogy a szerverfolyamat megkapja ezeket a bjtokat (az sszekttets-szoketen keresztl) az elkldsk sorrendjben. A TCP teht megbzhat bjtfolyamszolgltatst (reliable byte-stream service) biztost a kliens- s a szerverfolyamat kztt. Tovbb, ahogy az emberek is ki- s bemehetnek ugyanazon az ajtn, a klicnsfolyamat sem csak kld bjtokat a szoketjbe, hanem fogad is a szoketjbl bjtokat. Ezt szemllteti a 2.29. bra. Mivel a szktek kzponti szerepet jtszanak a kliens-szerver alkalmazsokban, a kliens-szerver alkalmazsfejlesztst szoketprogramozsnak is nevezik. Mieltt bemutatnnk kliens-szerver alkalmazsi pldnkat, hasznos, ha meghatrozzuk az (adat)folyam fogalmt. Egy (adat)foiyam (stream) egy folyamatba beraml vagy onnan kiraml karakterek sorozata. Minden adatfolyam a folyamat szempontjbl vagy bemen (adat)folyam (input stream) vagy kimen (adat)folyam (output stream). Ha a folyam bemen folyam, akkor a folyamat valamely bemeneti forrsra csatlakozik, pldul a szabvnyos bemenetre (a billentyzetre) vagy egy szoketre, amelybe az internetrl ramlanak az adatok. Ha a folyam kimen folyam, akkor a folyamat valamely kimeneti forrsra csatlakozik, pldul a szabvnyos kimenetre (a kpernyre) vagy egy szoketre, amely adalokat ramoltat az internet fel.

2.24. bra. Fjlcserls BitTorrenttel

172

2. A/. ALKALMAZSI RTEG

2.29. bra. Kliensszoket, fogad szkt s sszekttets-szoket

2.7.2. Egy kliens-szerver alkalmazsi plda Javban programozva


Az UDP- s a TCP-szoketprogramozst a kvetkez egyszer kliens-szerver alkalmazs pldjn mutatjuk be: 1. Egy kliens beolvas egy sort a szabvnyos bemenetrl (standard input) (a billentyzetrl), majd kikldi ezt a sort a szoketjn keresztl a szervernek. 2. A szerver beolvas egy sort az sszckttets-szoketjrl. 3. A szerver nagybetss alaktja a sort. 4. A szerver kikldi a mdostott sort az sszekttets-szoketjn keresztl a kliensnek. 5. A kliens beolvassa a mdostott sort a szoketjrl, s kirja azt a szabvnyos kimenetre (standard output) (a kpernyre). A 2.30. bra szemllteti a kliens s a szerver szktekkel kapcsolatos fbb mveleteit. A kvetkezkben bemutatjuk az alkalmazst TCP fltt megvalst kliensszerver programprt. Rszletes, soronknti elemzst adunk mindkt program utn. A kliens- program neve TCPClient.java, a szerver program neve pedig TCPServer. java lesz. Mivel a kulcskrdsekre helyezzk a hangslyt, a bemutatott programok lnyegre trk, de nem golyllk .A j kdhoz bizonyra kellene rni meg nhny kiegszt sort. Miutn a kt programot lefordtottuk a megfelel hosztokon, elszr a szerverprogramot kell vgrehajtani, amely ltrehoz egy szerverfolyamatot a

2.6. P2P-ALKAI.MAZS0K 173 szerverhoszton. Ahogy korbban trgyaltuk, a szerverfolyamat arra vrakozik, hogy egy kliensfolyamat felvegye vele a kapcsolatot. A plda alkalmazsban a kliensprogram vgrehajtsakor ltrejn egy folyamat a

2.24. bra. Fjlcserls BitTorrenttel

174 Szerver
(a hseid futtatja) Szkt ltrehozsa port x portszmmal, a bejv krshez: welcomeSocket = ServerSocket()
i

2. A/. ALKALMAZSI RTEG


Kliens

Vrakozs bejv sszekttets-krsre

welcomeSocket.a ccept( )

' hostid/

connectionSocket =

TCP-sszekttets ltrehozsa

port=x-hez csatlakoz szkt ltrehozsa clientSocket = Socket()

1
Krs kldse

Krs beolvassa connec

clientSocket

tionSocke t-rl

hasznlatval

1
Vlasz rsa

connectionSocket-re

Vlasz olvassa

clientSocket-rl

connectionSocket
bezrsa

clientSocket
bezrsa

2.30. bra. sszekttets alap szlltsi szolgltatsokat hasznl kliens-szerver

alkalmazs

kliensen; ez a folyamat azonnal fel is veszi a kapcsolatot a szerverrel, s TCPsszekttetst ltest vele. Ezutn a kliens felhasznlja hasznlatba veheti az alkalmazst: elkldhet egy sort, amelyre a sor nagybets vltozatt kapja vlaszul.

TCPClient.java
Az alkalmazs kliensoldali kdja a kvetkez:

2.6. P2P-AI.KALMAZSOK

175

import java.io.*; import java.net.*; elss TCPClient { public static void main(String argv[]) throws Exception
{

} }

String sentenc e; String modifiedSentenc e; BufferedReader inFromser = new BufferedReader( new InputStreamReader(System.in)); Socket clientSocket = new Socket("hostname", 6789); DataOutputStream outToSrver = nv/ DataOutputStream( clientSocket.getOutputStream( )); BufferedReader inFromServer = new BufferedReader (new InputStreamReader( clientSocket.getlnputstrea m())); sentenc e = inFromUser.readLine(); outToServer.writeBytes(sentence + '\n'); modifiedSentence = inFromServer. readLine( ); System.out.println("FROM SERVER: " + modifiedSentence ); clientSocket.close();

A TCPClient program hrom folyamot s egy szokctet hoz ltre, ahogy a 2.31. bra mutatja. Ennek a szoketnek a neve clientSocket. Az inFromser folyam a program bemen folyama, s a szabvnyos bemenetre (vagyis a billentyzetre) csatlakozik. Amikor a felhasznl karaktereket gpel be a billentyzeten, a karakterek az inFromUser folyamba kerlnek. Az inFromServer a program egy msik bemen folyama, amely a szoketre csatlakozik. A hlzatrl rkez karakterek az inFromServer folyamba kerlnek. Vgezetl, az outToServer folyam a program kimen folyama, s szintn a szoketre csatlakozik. A kliens ltal a hlzat fel kldtt karakterek az outToServer folyamon ramlanak t. Vizsgljuk meg most a kd klnbz sorait.

import java.io.*; import j ava.net.*;


A java.io s a java.net Java-csomagok. A java.io csomag bemen s kime n folyamok kezelsre szolgl osztlyokat tartalmaz. Rszletesebben, a java.io. csomag tartalmazza a Buf feredReader s a DataOutputStream osztlyokat; ezeket az osztlyokat hasznlja a program a hrom korbban bemutatott folyam ltrehozsra. A java.net csomag hlzati tmogatst nyjt osztlyokat tartalmaz. Rszletesebben, ez tartalmazza a Socket s ServerSocket osztlyokat. A program clientSocket objektuma a Socket osztlybl szrmazik.

elss TCPClient { public static void main(String argv[]) throws Exception


{ }

Ki O <0 r> o M U c: H

Kperny

folya m

Folyamat

rte g fel

rte g fell

2.31. bra. A TCPclient-nek hrom folyama van, amelyeken keresztl karakterek

ramlanak Amit eddig lttunk, az mind szabvnyos kd, amelyet a legtbb Java kd elejn lthatunk. A harmadik sor egy osztlydefincis blokk kezdete. A elss kulcssz vezeti be a TCPClient nev osztly osztlydefincijt. Egy osztly vltozkat s metdusokat tartalmaz. Az osztly vltozit s metdusait kapcsos zrjelek veszik krl, amelyek az osztlydefincis blokk kezdett s vgt jellik. A TCPClient osztlynak nincsenek osztlyvltozi, s pontosan egy metdusa van, a main() metdus. A metdusok hasonlak a C jelleg nyelvekbl ismert fggvnyekhez vagy eljrsokhoz; a Java nyelv main ( ) metdusa hasonl a C s C++ nyelvek main( ) fggvnyhez. Amikor a Java-rtelmez vgrehajt egy alkalmazst (az alkalmazs vezrl osztlynak meghvsval), az osztly main( ) metdust hvja meg elszr. A main( ) metdus ezutn meghvja az sszes tbbi, az alkalmazs futshoz szksges metdust. Az itt lert Java nyelv szoketprogramozsi bevezetben a public, static, void, main s throws Exceptions figyelmen kvl hagyhatk (habr a kdba bele kell ket rni). String sentence; String modifiedSentence ; A fenti kt sor String tpus objektumokat deklarl. A sentence objektum az a karakterlnc, amelyet a felhasznl begpel s elkld a szervernek. A modifiedSentence

objektum az a karakterlnc, amelyet a szerver llt el s elkld a felhasznl szabvnyos kimenetre. BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in));

A fenti sor hozza ltre a Buf feredReader tpus inFromUser folyamobjektumot. A bemen folyamot a System.in objektummal inicializlja, amely a szabvnyos bemenetre csatlakoztatja a folyamot. Az utasts lehetv teszi, hogy a kliens szveget olvasson be a billentyzetrl. Socket clientSocket = nv; Socket("hostname", 6789); A fenti sor hozza ltre a Socket tpus clientSocket objektumot. Ezenkvl TCPsszekttetst kezdemnyez a kliens s a szerver kztt. A "hostname" karak terlnc helyre a szerver hosztnevt (pldul "apple.poly.edu") kell behelyettesteni. A TCP-sszekttets tnyleges kezdemnyezse eltt a kliens DNS-keresst vgez a hoszt- nvre, hogy megszerezze a hoszt IP-cmt. A 6789-es szm a portszm. Lehet ms portszmot is hasznlni, de meg kell bizonyosodni arrl, hogy az alkalmazs szerveroldaln ugyanazt a portszmot hasznljuk. Ahogy korbban trgyaltuk, a hoszt IP-cme az alkalmazs portszmval egytt azonostja a szerverfolyamatot. DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream()); BufferedReader inFromServer = new BufferedReader(new inputStreamReader( clientSocket.getInputStream())); A lenti kt sor folyamobjektumokat hoz ltre, amelyek a szkt hez csatlakoznak. Az outToServer folyam a folyamat kimenett tovbbtja a szoketre. Az inFromServer folyam a folyamat bemenetre kapcsolja a szoketet (lsd 2.31. bra). sentence = inFromUser.readLine(); Ez a sor a sentence karakterlncba msol egy, a felhasznl ltal begpelt sort. A sentence karakterlnc addig folytatja a karakterek beolvasst, amg a felhasznl le nem zrja a sort egy kocsivissza karakterrel. A sor a szabvnyos bemenetrl az inFromUser folyamon keresztl a sentence karakterlncba kerl. outToServer.writeBytes(sentence + ' \ n ' ) ; A fenti sor elkldi a kocsivissza karakterrel meghosszabbtott sentence karakterlncot az outToServer folyamba. A meghosszabbtott sor tramlik a kliens szoketjn, s a TCP-csvezetkbe kerl. A kliens ezutn a szervertl rkez karakterekre vrakozik. modifiedSentence = inFromServer. readLine ();

Amikor karakterek rkeznek a szervertl, tramlanak az inFromServer folyamon s vgl a modifiedSentence karakterlncba kerlnek. A modifiedSentence ka rakterlncban addig gylnek a karakterek, amg a sor vget nem r egy kocsivissza karakterrel.

System.out.println("FROM SERVER" + modifiedSente nce);


A fenti sor kirja a kpernyre a szervertl visszakapott modifiedSentence karakterlncot.

clientSocket. close();
Ez az utols sor lezrja a szoketet, ennlfogva lezrja a kliens s a szerver kztti TCP-sz- szekttetst is. Hatsra a kliensoldali TCP egy TCP-zenetet kld a szerveroldali TCP-nek (lsd 3.5. alfcjezet).

TCPServer.java
Nzzk meg most a szerverprogramot.

import java.io.*; import java.net.*; elss TCPServer { public static void main(String argv[]) throws Exception
{

String clientSent ence; String capitalizedSentenc e; ServerSocket welcomeSocket = new ServerSocket ( 6 7 8 9 ) ; while(true) { Socket connectionSocket = welcomeSocket. accept(); BufferedReader inFromClient = new BufferedReader (new inputStreamReader( connectio nSocket.getInput Stream())); DataOutputStream outToClient = new DataOutputStream( connectionSocket.getOutputStream()); clientSentence = inFromClient.readLine(); capitalizedSent ence = clientSentence.toUpperCase() + '\n'; outToClient.writeBytes(capitalizedSentenc e);
} } A TCPServer sokban hasonlt a TCPClient-re. Vessnk most egy pillantst a TCPServer.java soraira. Azokat a sorokat, amelyek ugyanazok vagy hasonlk, mint a TCPClient kdjban, nem magyarzzuk. A TCPServer els olyan sora, amely alapveten klnbzik a TCPClient-bcn ltot -

taktl: ServerSocket welcomeSocket = new ServerSocket(6789); Ez a sor hozza ltre a welcomeSocket objektumot, amely ServerSocket tpus. A welcomeSocket egyfajta ajtknt szolgl, amely arra vr, hogy egy kliens kopogtasson rajta. A welcomeSocket a 6789 szm porton figyel. A kvetkez sor: Socket connectionSocket = welcomeSocket.accept(); Ez a sor egy j, connectionSocket nev szoketet hoz ltre, amikor egy kliens ko pogtat a welcomeSocket szkinl. Ennek a szoketnek a portszma szintn 6789. (A 3. fejezetben megmagyarzzuk, mirt ugyanaz a kt szkt portszma.) A TCP ezutn kzvetlen virtulis csvezetket hoz ltre a kliens clientSocket szoketje s a szerver connectionSocket szoketje kztt. A kliens s a szerver ezl kveten kldhet egymsnak bjtokat a csvezetken keresztl, s minden elkldtt bjt a megfelel sorrendben megrkezik a msik oldalon. Miutn a connectionSocket-et ltrehozta, a szerver a welcomeSocket-et hasznlva tovbb figyelheti az alkalmazs ms klienseitl jv krseket. (A program itt lert verzija valjban nem vrakozik tovbbi kapcsolatfclvteli krsekre, de szlak hasznlatval megoldhat, hogy gy tegyen.) A program ezutn ltrehoz nhny folyamobjektumot, hasonlan a clientSocket-nl ltrehozott folyam objektumokhoz. Vizsgljuk most meg a kvetkez sort: capitalizedSentence = clientSentence.tolIpperCase() + ' \ n ' ; Ez a parancs az alkalmazs szve. Fogja a kliens ltal kldtt sort, nagybetss alaktja, s hozzad egy kocsivissza karaktert. A parancs a toUpperCase() metdust hasznlja. A program sszes tbbi parancsa mellkes; azok a klienssel trtn kommunikcira szolglnak. A programpr tesztelshez telepteni kell a TCPClient .java fjlt egy hosztra, s le kell fordtani, a TCPServer.java fjllal pedig meg kell tenni ugyanezt egy msik hosz- ton. Gyzdjn meg rla, hogy a TCPClient .java kdjban a megfelel szerver hoszt- nv szerepel. Ezutn futtassa a lefordtott TCPServer.elss szerverprogramot a szerveren. Ezltal ltrejn egy folyamat a szerveren, amely vrakozik addig, amg valamelyik kliens sszekttetst nem kezdemnyez vele. Ezutn indtsa el a lefordtott TCPClient. elss nev kliensprogramot a kliensen. Ezltal ltrejn egy folyamat a kliensen, amely aztn TCP-sszekttetst ltest a kliens- s a szerverfolyamat kztt. Vgl az alkalmazs kiprblshoz rjon be egy mondatot kocsivissza karakterrel a vgn. Sajt kliens-szerver alkalmazsnak fejlesztst kezdheti gy, hogy egyes helyeken mdostja a fenti programokat. Ilyen mdosts lehet pldul, hogy a szerver a betk nagybetv alaktsa helyett megszmolja, hny alkalommal fordul el a megadott sorban az s karakter, s ezt a szmot adja vissza.

2.8. UDP-szoketprogramozs

Az elz szakaszbl kiderlt, hogy amikor kt folyamat TCP fltt kommunikl, az olyan, mintha a kt folyamatot egy csvezetk ktn ssze. Ez a csvezetk addig

ltezik, amg valamelyik folyamat be nem zrja. Ha az egyik folyamat nhny bjtot szeretne kldeni a msik folyamatnak, egyszeren a csvezetkbe helyezi a bjtokat. A kld folyamatnak nem kell clcmet csatolnia a bjtokhoz, mivel a csvezetk logikailag kapcsoldik a clfolyamathoz. Ezen tlmenen a csvezetk megbzhat bjtfolyam csatornt biztost - a fogad folyamathoz pontosan abban a sorrendben rkeznek meg a bjtok, amelyben a kl d elhelyezte ket a csvezetkben. Az UDP szintn kt (vagy tbb) klnbz hoszton fut folyamat kzti kommunikcit tesz lehetv. Az UDP azonban szmos alapvet dologban klnbzik a TCP-tl. Az els klnbsg, hogy az UDP sszekttets nlkli szolgltats - nincs kezdeti kzfogsi fzis, amelynek sorn csvezetk jnne ltre a kt folyamat kztt. Mivel az UDP-nl nincs csvezetk, amikor egy folyamat egy bjtkteget akar kldeni egy msik folyamatnak, a kld folyamat a bjlkteghez kell, hogy csatolja a clfolyamat cmt. A kld folyamat nak ezt minden elkldend bjtktegnl meg kell tennie. Hasonlatknt tekintsnk egy 20 fbl ll csoportot, akik t taxit rendelnek ugyanarra a clcmre. Amikor az emberek be szllnak a taxikba, minden taxisofrnek kln el kell mondaniuk, hov szeretnnek eljutni. Az UDP teht egy taxiszolgltatsra hasonlt. A rendeltetsi cm a clhoszt IP-cmbl s a clfolyamat portszmbl ll pros. Az informcis bjtok ktegt a cl IP-cmmel s portszmmal egytt csomagnak nevezzk. Az UDP nem megbzhat zenet alap szolglati modellt valst meg, amely megprblja a lehet legtbbet megtenni annak rdekben, hogy a bjtkteg eljusson rendeltetsi helyre. Az UDP azrt zenet alap, mert a ktegek olyan bjtok, amelyeket a kld oldal egy egyszer mvelettel kld el, a foga d oldalon bjtktegknt rkeznek meg; ez ellenttes a TCP bjtfolyam szemantikjval. Az UDP legjobbra trekv szolgltats, mert nem garantlja, hogy a bjtkteg egyltaln megrkezik. Az UDP-szolgltats teht (nhny szempontbl) lesen klnbzik a TCP megbzhat bjtfolyam szolglati modelljtl. Miutn ltrehozott egy csomagot, a kld folyamat egy szoketen keresztl a hlzatra juttatja a csomagot. Polytatva a taxis analgit, a kld szkt msik oldaln egy taxi vrakozik a csomagra. A taxi azonban nem vllal garancit arra, hogy a csomagot egyltaln eljuttatja a rendeltetsi helyre - elfordulhat, hogy a taxi lerobban, vagy valamilyen elre nem ltott problma merl fel. Ms szavakkal, az UDP nem megbzhat szlltsi szolgltatst nyjt kommunikl folyamatainak - nem szavatolja, hogy a csomagok megrkeznek rendeltetsi helykre. Ebben az alfejezetben ismt a szoketprogramozst mutatjuk be, az elz alfejezetben megismert alkalmazst jrarva, de ezttal UDP fltt. Ltni fogjuk, hogy az UDP-t hasznl kd sok fontos ponton klnbzik a TCP-t hasznl kdtl. Rszletesebben, ebben az esetben (1) nincs kezdeti kzfogs a kt folyamat kztt, ennlfogva nincs szksg fogad szoketre, (2) nem csatlakoznak folyamok a szoketekre, (3) a kld hoszt a csomagok ltrehozsakor minden egyes elkldtt bjtkteghez hozzcsatolja a cl IP-cmet s a port szmot, s (4) a fogad folyamatnak ki kell bontania minden berkezett csomagot, hogy hozzfrhessen az informcit hordoz bjtokhoz. Idzzk fel jra egyszer alkalmaz sunk mkdst:

Szerver
(a hseid hoszton fut) Szkt ltrehozsa a port=x porton a bejv krshez: serverSocket = DatagramSocket()

Kliens

Szkt ltrehozsa clientSocket = DatagramSocket( )

l
Krs beolvassa serverSocket-rl

Cm ltrehozsa (hostid,port=x) datagram krs kldse

i
Vlasz rsa serverSocket-re a kliens hoszt cmnek s portszmnak meghatrozsa

clientSocket-en keresztl

Vlasz olvassa clientSocket-rl

clientSocket lezrsa

2.32. bra. Az sszekttets nlkli szlltsi szolgltatst hasznl kliens-szerver alkalmazs


1. Egy kliens beolvas egy sort a szabvnyos bemenetrl (a billentyzetrl), majd kikldi ezt a sort a szoketjn keresztl a szervernek. 2. A szerver beolvas egy sort az sszekttets-szoketjrl. 3. A szerver nagybetss alaktja a sort. 4. A szerver kikldi a mdostott sort az sszekttets-szoketjn keresztl a kliensnek. 5. A kliens beolvassa a mdostott sort a szktjrl, s kirja azt a szabvnyos kimenetre (a kpernyre). A 2.32. bra az sszekttets nlkli (UDP) szlltsi szolgltats felett kommunikl kliens s szerver fontosabb szktekk! kapcsolatos mveleteit emeli ki.

UDPClient.java
Az alkalmazs kliensoldali rsznek kdja a kvetkez:

import j ava.io.* ; import java.net.*;

elss UDPClient { public static void main(String a r g s ( J ) throws Exception


{

} }

BufferedReader inFromUser = new BufferedReader(new InputStreamReader System.in)); DatagramSocket clientSocket = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName("hostname"); byte[ ] sendData = nv; byte[1024]; byte[] receiveData = new byte[1024]; String sentence = inFromUser.readLine(); sendData = sentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876); clientSocket. send ( sendPacket) ,* DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.rciv(receivePacket); String modifiedSentence = new String(receivePacket.getData()); System.out.printIn("FROM SERVER:" + modifiedSentence) ; clientSocket.close();

Az UDPClient .java program egy folyamot s egy szoketet hoz ltre, amint a 2.33. brn lthat. A szkt neve clientSocket, tpusa DatagramSocket. Megjegyezzk, hogy az UDP msfle szoketet hasznl a kliensnl, mint a TCP. Rszletesebben, UDP-vel a kliensnk DatagramSocket tpus szoketet hasznl, mg TPC-vel Socket tpust. Az inFromUser folyam a program bemen folyama, s a szabvnyos bemenetre, vagyis a bil- lentyzetre csatlakozik. A program TCP-s vltozatban volt egy ezzel egyenrtk folyam. Amikor a felhasznl karaktereket gpel be a billentyzeten, a karakterek az inFrom User folyamba kerlnek. Az TCP-vel ellenttben azonban most nem csatlakoznak (be men vagy kimen) folyamok a szoketre. Ahelyett, hogy bjtokai kldene a Socket ob jektumhoz csatlakoztatott folyamba, az UDP klnll csomagokat kld a DatagramSocket objektumon keresztl. Vegyk most szemgyre a kd azon sorait, amelyek jelents mrtkben klnbznek a TCPClient.java-ban ltottaktl. DatagramSocket clientSocket = new DatagramSocket(); Ez a sor hozza lire a DatagramSocket tpus clientSocket objektumot. A TCPClient. java programmal ellenttben ez a sor nem kezdemnyez TCP-sszekttetst. Rszletesebben, a kliens hoszt nem veszi fel a kapcsolatot a szerverrel a sor vgrehajtsakor. A DatagramSocket () konstruktr ezrt nem kapja meg paramterknt a szerver hoszt nevt vagy portszmt. Az aj t-csvezetk hasonlattal lve a fenti sor vgre-

Kperny

u < D O
Bemen folyam -

1 3 R O
V l u c

Folyamat
G u <TJ 0) > ri V u

u <u o *3 Qi -o c d> (0

UDPadatcsomag

UDPadatcsomag

UDP-szoket

Szlltsi rteg fel

Szlltsi rteg fell

2.33. bra. Az UDPClient-nek egy folyama van; a szkt csomagokat fogad a folyamattl s
csomagokat tovbbt a folyamat fel hajtsakor keletkezik egy ajt a kliens folyamatnl, de nem jn ltre csvezetk a kt folyamat kztt. InetAddress IPAddress = InetAddress.getByName("hostname"); Ahhoz, hogy bjtokat kldjnk egy cl folyamatnak, szksgnk van a folyamat cmre. A clhoszt IP-cime rsze ennek a cmnek. A fenti sor egy DNS-keresst vgez, amely a hosztnevet (amelyet ebben a pldban a kdban helyezett el a fejleszt) IP-cmre fordtja le. A kliens TCP feletti megvalstsa is meghvta a DNSt, habr inkbb implicit, mint explicit mdon. A getByName () metdus argumentumknt megkapja a szerver hoszt- nevt, s ennek a szervernek az IPcmt adja vissza. A cmet az InetAdddress tpus IPAddress objektumban trolja el. byte[] sendData = new byte[1024]; byte[]

receiveData = new byte[1024]; A sendData s receiveData bjttmbk fogjk trolni a kliens ltal kldtt, illetve fogadott adatokat.

188

2. A/. ALKALMAZSI RTEG

dData = sentence.getBytes();

nti sor lnyegben egy tpuskonverzit hajt vgre. Fogja a sentence karakterlncot, s tnevezi sendData-ra, amely egy bjtokbl ll tmb. DatagramPacket sendPacket = new DatagramPacket( sendData, sendData.length, IPAddress, 9876);

a sor lltja ssze a sendPacket csomagot, amelyet a kliens a s/oketjn keresztl el fog kldeni a hlzatra. A csomag magban foglalja a sendData magban tallhat adatokat, ezen adatok mrett, a szerver IP-cmt s az alkalmazs portszmt (amelyet a 9876 rtkre lltottunk be). Jegyezzk meg, y a sendPacket tpusa DatagramPacket.

ntSocket.send(sendPacket);

nti sorban a clientSocket objektum send() metdusa fogja az imnt sszelltott csomagot s kikldi a hlzatra a clientSocket-en keresztl. Mg egyszer gjegyezzk, hogy az UDP a TCP-tl teljesen klnbz mdon kldi el a karakterek sorozatt. A TCP egyszeren elhelyezte a karakterlncot egy folyamba, ely logikailag kzvetlenl ssze volt kapcsolva a szerverrel; az UDP ltrehoz egy csomagot, amelybe a szerver cmt is beilleszti. A csomag elkldse utn a ns a szervertl rkez csomagra vrakozik.

agramPacket receivePacket = DatagramPacket(receiveData, receiveData.length);

nti sorban a kliens, mikzben a szervertl rkez csomagra vrakozik, egy helyrzt hoz ltre a csomag (egy receivePacket nev, DatagramPacket tpus ektum) szmra.

ntSocket.rciv(receivePacket);

iens vrakoz llapotban van, amg egy csomag nem rkezik hozz; amikor csomag rkezik hozz, a csomagot a receivePacket objektumba helyezi.

ng modifiedSentence = new String(receivePacket.getData());

enti sor kicsomagolja az adatokat a receivePacket-bl, s tpuskonverzit hajt vg re, amelynek sorn a bjtokbl ll tmbt a modifiedSentence akterlncc alaktja t.

tem.out.printIn("FROM SERVER:" + modifiedSentence);

a sor, amely TCPClient kdjban is szerepel, kirja a modifiedSentence karakter lncot a kliens kpernyjre. ntSocket.close();

utols sor lezrja a szoketet. Mivel az UDP sszektets nlkli, a kliens nem kld szl ltsi rtegbeli zenetet a szervernek a fenti sor hatsra (ellenttben CPClient-tel).

Server.java

zk meg most az alkalmazs szerveroldalt:

ort java.io.*; import java.net.*; elss UDPServer { public static void main(String args[]) throws Exception { DatagramSocket serverSocket = new DatagramSocket(9876); byte[] receiveData = nv; byte[1024]; byte[1 sendData = new byte[1024]; while(true)

2.8. UP-SZOKiTPROGRAMO/.S

189

{ DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.rciv(receivePacket); String sentence = new String( receivePacket.getData()); InetAddress IPAddress = receivePacket.getAddress(); int port = receivePacket.getPort(); String capitalizedSentence = sentence.topperCase(); sendData = capitalizedSentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port); serverSocket.send(sendPacket); > }

z UDPServer.java program egy szoketet hoz ltre, ahogy a 2.34. bra mutatja. En nek a szoketnek a neve serverSocket. Ez egy DatagramSocket tpus ektum, hasonlan az alkalmazs kliensoldali szoketjhez. Ismt megjegyezzk, hogy a szoketre nem csatlakoznak folyamok. essnk most egy pillantst azokra a kdsorokra, amelyek eltrnek a TCPServer. java soraitl.

190

2. A/. ALKALMAZSI RTEG

agramSocket serverSocket = new DatagramSocket(9876);

enti sor hozza ltre a DatagramSocket tpus serverSocket objektumot a 9876-os porton. Minden kldtt s fogadott adat ezen a szoketen fog esztlhaladni. Mivel az UDP sszekttets nlkli, nem szksges egy j szoketet ltrehozni, s tovbb vrakozni j sszekttets-ltestsi krsekre, gy azt a TCPServer. java programban tettk. Ha tbb kliens kommunikl az alkalmazssal, mindannyian ezen az egyetlen ajtn, a serverSocket-en keresztl dik csomagjaikat.

ng sentence = new String(receivePacket.getData()); InetAddress IPAddress = receivePacket.getAddress(); int port = receivePacket.getPort();

nti hrom sor kibontja a klienstl rkezett csomagot. A hrom sor kzl az els kiveszi az adatokat a csomagbl s a sentence nev karakterlncba (String s objektumba) helyezi azokat; az UDPClient-ben is tallhat egy hasonl sor. A msodik sor az IP-cmet veszi ki a csomagbl, a harmadik sor pedig a kliens szmt, amelyet a kliens vlaszt, s amely klnbzik a szerver portszmtl (9876).(A kliensek portszmait rsz letesebben a kvetkez fejezetben yaljuk.) A szervernek szksge van a kliens cmnek (IP-cm s portszm) ismeretre, hogy vissza tudja kldeni a kliensnek a nagybetss alaktott veget. zzel befejeztk az UDP-programpr elemzst. Az alkalmazs kiprblshoz tele ptse egy hosztra az UDPClient.java programot s fordtsa le, majd tegye g ugyanezt az UDPServer.java programmal egy msik hoszton. (Gyzdjn meg rla, hogy

2.34. bra. Az UDPServer-nl nincsenek folyamok; a szkt csomagokat fogad a folyamattl, s csomagokat tovbbt a folyamat fel

2.8. UDP-SZKETPROGRAMOZS

191

Szlltsi rteg fel

Szlltsi rteg fell

a megfelel hosztnevet rta be az UDPClient.java kdjba.) Ezutn indtsa el mind kt programot. Most - a TCP-nl tapasztaltakkal ellenttben - megteheti, hogy elbb a kliensoldalt indtja el, aztn a szerveroldalt. Ennek oka, hogy a kliensfolyamat nem ksrel meg sszekttetst ltesteni a szerverrel a kliensprogram indtsakor. Miutn elindtotta a kliens- s a szerverprogramot, prblja ki az alkalmazst gy, hogy begpel egy sort a kliensen.

2.9. sszefoglals
Ebben a fejezetben megismertk a hlzati alkalmazsok elvi s megvalstsi szempontjait. Megismerkedtnk a mindentt jelen lv kliens-szerver architektrval, amelyet szmos internetes alkalmazs hasznl, s lttuk alkalmazst a HTTP, FTP, SMTP, POP3 s DNS protokollokban. Rszletesebben tanulmnyoztuk ezeket a fontos alkalmazsi szint protokollokat, s a hozzjuk tartoz megfelel alkalmazsokat (a webet, a fjltvitelt, az e-mailt s a DNS-t). Megismerkedtnk az egyre nagyobb mrtkben elterjed P2P-archi- tektrval s azzal, hogyan hasznljk sok alkalmazsban. Megvizsgltuk, hogyan lehet a szkt API segtsgvel hlzati alkalmazsokat kszteni. Megtanultuk a szoketek hasz nlatt sszekttets alap (TCP) s sszekttets nlkli vgpontok kzti szlltsi szolgltatsoknl. Ezzel megtettk az els lpst lefel a rteges hlzati architektrban! A knyv legelejn, az 1.1. alfejezetben egy elgg homlyos, sovny defincit adtunk arra, hogy mi is a protokoll: szablyok halmaza, amely meghatrozza kt vagy tbb kommunikl egysg kztt cserlt zenetek formtumt s sorrendjt, valamint egy zenet kldsekor s/vagy fogadsakor vagy ms esemny bekvetkezsekor vgrehajtott mveleteket. A fejezet anyaga, klnsen a HTTP, FTP, SMTP, POP3 s DNS protokollok rszletes trgyalsa szmotteven hozzjrult a fenti definci pontostshoz. A protokoll a hlzatok tmakrnek kzponti

192

2. A/. ALKALMAZSI RTEG

fogalma; az alkalmazsi protokollok tanulmnyozsa megteremtette szmunkra annak lehetsgt, hogy egy intuitvebb kpet alkothassunk arrl, mik is voltakppen a protokollok. A 2.1. alfejezetben bemutattuk a TCP s UDP ltal az ket meghv alkalmazsok rszre nyjtott szolglati modelleket. Mg kzelebbrl szemgyre vehettk ezeket a szolglati modelleket, amikor egyszer, TCP s UDP felett fut alkalmazsokat rtunk a 2.7. s 2.8. alfejezetben. Arrl azonban kevs sz esett, hogyan biztostja a TCP s az UDP ezeket a szolgltatsokat. Tudjuk pldul, hogy a TCP megbzhat adatszolgltatst biztost, semmit nem mondtunk mg azonban arrl, hogyan teszi ezt. A kvetkez fejezetben gondosan megvizs gljuk nemcsak a mit, hanem a hogyan s mirt krdst is a szlltsi protokolloknl. Az internetes alkalmazsok struktrjrl s az alkalmazsi rtegbeli protokollkrl szl tudssal felvrtezve most mr kszen llunk arra, hogy egy tovbbi lpst tegynk lefel a protokollveremben, s megvizsgljuk a szlltsi rteget a 3. fejezetben.

Krdsek

2.1. a 1 fejezet K.l. Soroljon fel t nem egyedi internetes alkalmazst, s az ltaluk hasznlt alkalmazsi rtegbeli protokollokat. K.2. Mi a klnbsg a hlzati architektra s az alkalmazsok architektrja kzlt? K.3. Kgy kommunikcis munkamenetet tekintve kt folyamat kztt, melyik folyamat a kliens s melyik a szerver? K.4. Egyetrt-e az albbi, P2P fjlmegoszt alkalmazsokra vonatkoz lltssal: Egy kommunikcis munkamenet sorn nem ltezik a kliens- s szerveroldal fogalma? Mirt? K.5. Milyen informcik alapjn azonost egy adott hoszton fut folyamat egy msik hoszton fut folyamatot? K.6. Tegyk fel, hogy egy tvoli kliensrl a lehet leggyorsabban szeretne vgrehajtani egy tranzakcit egy szerverrel. UDP-t vagy TCP-t hasznlna? Mirt? K.7. A 2.1. tblzatra visszatekintve lthatjuk, hogy egyetlen, az brn szerepl alkalmazs sem ignyel egyszerre adatveszts-elkerlst s -idztsi. Ki tudna tallni olyan alkalmazst, amely nagy mrtkben idztsrzkeny s nem enged meg adatvesztsi? K.8. Soroljon fel ngy nagy osztlyt, amelyekbe egy szlltsi protokoll ltal nyjtott szolgltatsok besorolhatk. Minden osztlynl jellje, hogy a TCP vagy az UDP (vagy mindkett) nyjt-e ilyen szolgltatst. K.9. Idzze fel, hogy a TCP kibvthet SSL-lel, hogy folyamatok kztti biztonsgi szolgltatsokat nyjtson, a titkostsi is belertve. Az SSL a szlltsi rtegben vagy az alkalmazsi rtegben mkdik? Ha az alkalmazsfejleszt SSL-lel szeretn kibvteni a TCP-t, mit kell tennie? 2.2-2.5. alfejezet K.10. Mit rtnk kzfogs protokoll alatt? K.ll. Miri futnak a HTTP, FTP, SMTP s POP3 protokollok TCP felett, s nem UDP helyett?

2.8. UP-SZOKiTPROGRAMO/.S

193

K.12. Vegynk egy e-kereskedelmi webhelyet, amely nyilvntartst akar vezetni arrl, hogy az egyes vsrlk mit vsroltak. rja le, hogyan valsthat meg ez stikkel. K.13. rja le, hogyan cskkentheti a webes gyorsttrazs egy lekrdezett objektum letltsnek ksleltetst. Minden krt objektumnl cskken a ksleltets a webes gyors- trazs hasznlatval, vagy csak nhny objektumnl? Mirt? K.14. Lpjen be egy webszerverre Telnet segtsgvel, s kldjn egy tbb sorbl ll krszenetet. Helyezze el a krszenetben az If-modified-since: fejlcsori, hogy egy 304 Nt Modified llapotsorral elltott vlaszzenetet kapjon. K.15. Mirt mondjk, hogy az FTP svon kvl kldi a vezrl zeneteket? K.16. legyk fel, hogy Alice, aki rendelkezik egy webes e-mail postafikkal (pldul Hotmaillel vagy gmaillel), zenetet kld Bobnak, aki a sajl levelezszervern trolt leveleihez POP2 hasznlatval fr hozz. rja le, hogyan jut el az zenet Alice hosztjrl Bob hosztjra. Gyzdjn meg rla, hogy felsorolta az alkalmazsi protokollok teljes listjt, amelyek ahhoz szksgesek, hogy az zenet eljusson az egyik hoszt rl a msikra. K.17. Nyomtassa ki egy nemrg rkezett e-mail zenet fejlct. Hny Received: fejlcsor szerepel benne? Elemezze az zenet minden egyes fejlcsort. K.18. F.gy felhasznl szemszgbl nzve mi a klnbsg a POP3 letlt s trl, illetve letlt s megtart zemmdja kztt? K.19. Lehetsges, hogy egy szervezet webszervere s levelezszervere pontosan ugyanazt az lnevet (pldul foo.com) hasznlja hosztnvknt? Milyen tpus lesz az az erforrs-bejegyzs, amely a levelezszerver hosztnevt tartalmazza?
2. 6. al fejezet

K.20. Tegyk fel, hogy Alice BitTorrent-et hasznlva 30 msodperces idkznknt kld Bobnak tredkeket. Vajon Bob mindenkppen viszonozni fogja a szvessget, s ugyanezzel a gyakorisggal fog tredkeket kldeni Alicenak? Mirt vagy mirt nem? K.21. Tekintsnk egy j trsat, Alice-t, aki gy csatlakozik a BitTorrenthez, hogy egyetlen tredkkel sem rendelkezik. Ha nincs egyetlen tredke sem, nem kerlhet ms trsak ngy leggyorsabb feltltje kz, mivel nincs mit feltltenie? Hogyan tesz szert Alice mgis egy tredkre? K.22. Mit neveznk tlapol hlzatnak? Vannak tvlasztk egy ilyen hlzatban? Mik az tlapol hlzat szlei? I Iogyan hozzk ltre s hogyan tartjk karban a lekrdezs-elraszts tlapol hlzatt? K.23. Mirt mondjuk, hogy a kzpontostott indexet hasznl azonnali zenetkld alkalmazsok architektrja a kliens-szerver s a P2P-architektra hibridje? K.24. Napjainkban a legtbb azonnali zenetkld rendszer kzpontostott indexet alkalmaz a felhasznlk keressre, legyk fel, hogy egy ilyen alkalmazs ehelyett tlapol hlzatot szeretne hasznlni lekrdezs-elrasztssal. rja le, hogyan valsthat ez meg, s elemezze ennek a megvalstsnak az elnyeit s a htrnyait. K.25. A Skype kt fontos funkci megvalstsra hasznl P2P-technikkat. Melyek ezek? K.26. Soroljon fel legalbb ngy klnbz alkalmazst, amelyeknl termszetesen

194

2. A/. ALKALMAZSI RTEG


addik a P2P-architektra hasznlata ( Segtsg: kt ilyen alkalmazs a fjlcserls s az azonnali zenetklds.)

2.7-2.8. alfejezet K.27. A 2.8 alfejezetben bemutatott UDP-szervernek csak egy szoketre volt szksge, mg a 2.7. alfejezetben bemutatott TCP-szerver kt szoketet hasznlt. Mirt? Ha a TCP-szervernek n prhuzamos kapcsolatot kell kiszolglnia, mindegyikei klnbz klienssel, hny szoketre lenne szksge a TCP-szervernek? K.28. A 2.7. alfejezetben lert TCP feletti kliens-szerver alkalmazsnl mirt kell a szerverprogramot a kliensprogram eltt elindtani? A 2.8. alfejezetben lert UDP feletti kliens-szerver alkalmazs esetn mirt lehet a kliensprogramot elbb elindtani, mint a szerverprogramot?

2.8. UDP-SZKETPROGRAMOZS

195

Feladatok _______________________________________________________________________________ FI. Igaz vagy hamis? (a) Egy felhasznl lekr egy weboldalt, amely szvegbl s kt kpbl ll. A kliens az oldal letltse sorn egy krszenetet kld s hrom vlaszzenetet kap. (b) Ugyanazon az lland sszekttetsen keresztl kt klnbz weboldal kldhet (pldul a wv/w.mit.edu/research.html s a www.mit.edu/ students/html). (c) Ha a bngsz s a forrsszerver kztt idleges sszekttets van, lehetsges, hogy egy TCP-szegmens kt klnbz HTTP-zenetet hordoz. (d) A HTTP-vlaszzenetben a Date: fejlc azt az idpontot jelzi, amikor a vlaszzenetben elkldtt objektumot utoljra mdostottk. F2. Olvassa cl az FTP-rl szl 959-es RFC-t. Sorolja fel az sszes kliensparancsot, amelyet ez az RFC tmogat. F3. Tegyk fel, hogy egy HTTP-kliens szeretne letlteni egy adott URL-lel azonosthat weboldalt. A HTTP-szerver IP-cme kezdetben nem ismert. Milyen szlltsi s alkalmazsi rtegbeli protokollokra van szksg ebben az esetben a HTTP mellett? F4. Tekintsk az albbi ASCII-karakterlncot, amelyet Wireshark segtsgvel rgztettnk, mikzben a bngsz egy HTTP GET zenetet kldtt (vagyis ez egy HTTP GET zenet tnyleges tartalma). <cr> s <//> a kocsivissza, illetve a soremels karaktereket jelli (vagyis az albbi szvegben dlt betvel rt <cr> a HTTP-fejlc adott pontjn szerepl kocsivissza karaktert jelenti). Vlaszoljon az albbi krdsekre, s jellje a HTTP GET zenet szvegben, hogy hol tallta meg a vlaszt GET /cs453/index.html HTTP/1. l<cr><lf>Host: gai a.cs.umass.edu<cr><If>User-Agent: Mozilla/5.0 (

Windows;U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/ 20040804 Netscape/7.2 (ax) <cr><lf> Accept:ext/xml, application/xml,application/xhtml+xml,text/html; q=0.9,text/plain;q=0.8,image/png,*/*;q=0. 5<cr><lf> Accept-Language: en-us,en;q=0.5<cr><!f>AcceptEncoding: zip,defiate<cr><If>Accept-Charset: ISO8859-1,utf-8;q=0.7,*;q=0.7<cr><2f>Keep-Alive: 300<cr><If>Connection:keep-alive<cr><lf><cr><lf>
(a) Mi a bngsz ltal lekrt dokumentum URL-je? (b) Mi a bngsz ltal futtatott HTTP verzija? (c) lland vagy idleges kapcsolatot kr a bngsz? (d) Mi az IP-cme annak a hosztnak, amelyen a bngsz fut? F5. Az albbi szveg azt a vlaszt tartalmazza, amelyet a szerver az elz krdsben szerepl HTTP GET' krsre kldtt. Vlaszoljon az albbi krdsekre, s jellje az zenet szvegben, hogy hol tallta meg a vlaszt. HTTP/1.1 200 OK<cr><2f>Date: Tue, 07 Mar 2006 12:39:45GMT<cr><lf>Server: Apache/2.0.52 (Fedora) <cr><lf>LastModified: Sat, 10 Dec2005 18:27:46GMT <cr><lf>ETag: "526c3-f22-

196

2. A/. ALKALMAZSI RTEG


a88a4c80"<cr><If>AcceptRanges: bytes<cr><2f>Content-Length: 3874<cr><lf> Keep-Alive: timeout=max=100<cr><2f>Connection: Keep-Alive<cr><lf>Content-Type: text/html; charset= ISO-8859-l<cr><2f><cr><If><!doctype html public //w3c//dtd html 4.0 transitional//en"><Ifxhtml><If> <head><If> <meta http-equiv= ,, Content-Type"content=" text/html; charset=iso-8859-l "><lf> <meta name= "GENERTOR content="Mozilla/4.79 [en] (Windows NT 5.0; U) Netscape]"><2f> <title>CMPSCI 453 / 591 / NTU-ST550A Spring 2005 homepage</title><If></head><If> <much more document text following

here (nt shown)>


Sikeresen megtallta a szerver a dokumentumot vagy nem? Mikor keletkezett a dokumentumvlasz? (b) Mikor mdostottk legutbb a dokumentumot? (c) Hny bjtot tartalmaz a visszakldtt dokumentum? (d) Mi a visszakldtt dokumentum els 5 bjtja? Beleegyezett a szerver az lland kapcsolatba? Olvassa el a HTTP/1.1 specifikcit [RFC 2616]. Vlaszoljon az albbi krdsekre: (a) Magyarzza cl, milyen mechanizmust hasznlnak annak jelzsre, hogy egy kliens s szerver kztti lland kapcsolat lezrul. Csak a kliens, csak a szerver, vagy mindkett lezrhatja a kapcsolatot? (b) Milyen titkostsi szolgltatsokat biztost a HTTP? Tegyk fel, hogy a webbngszjben egy hivatkozsra kattint, hogy letltsn egy weboldalt. A hivatkozs URL-jhez tartoz IP-cm nem tallhat meg a helyi hoszt gyorsttrban, gy DNS-keresst kell vgezni az IP-cm megszerzshez. Tegyk fel, hogy a L)NS-Iekrdezs n szerveren halad t, mieltt az n hosztja megkapja az IP-cmet a szervertl; az egymst kvet hozzfrsek krlfordulsi ideje rendre RTTj, ..., RT1\ Tegyk fel tovbb, hogy a hivatkozs ltal mutatott web- oldal pontosan egy objektumot tartalmaz, amely egy kevs HTML-szvegbl ll. Jellje RTT Q a krlfordulsi idt a helyi hoszt s az objektumot tartalmaz szerver kztt. Felttelezve, hogy az objektum tviteli ideje zrus, mennyi id telik el attl, hogy a kliens a hivatkozsra kattint, addig, amikor a kliens megkapja az objek tumot. Az F7. feladat alapjn tegyk fel, hogy a HTML-fjl hrom nagyon kicsi objektumra hivatkozik, amelyek ugyanazon a szerveren tallhatk. Az tviteli idket elhanyagolva mennyi id telik el: (a) Idleges HTTP-vel, prhuzamos TCP-sszekttetsek nlkl? (b) Idleges HTTP-vel, prhuzamos TCP-sszekttetseket hasznlva? (c) lland HTTP-vel? Tekintse meg a 2.10. brt, amelyen egy intzmnyi hlzat csatlakozik az internetre. Tegyk fel, hogy az tlagos objektummret 900 000 bit, s az intzmny bngszi tlagosan 15 msodpercenknt kldenek krseket a forrsszervereknek. Tegyk fel tovbb, hogy tlagosan kt msodperc telik el attl, amikor a hozzfrsi kapcsolat internet oldali tvlasztja tovbbt egy HTTP-krst addig, amikor a vlaszt megkapja (lsd 2.2.5. alfejezet). Modellezzk a teljes tlagos vlaszidt az tlagos hozzfrsi ksleltets (vagyis az internetes tvlaszt s az intzmnyi tvlaszt kztti ksleltets) s az tlagos internetes ksleltets sszegvel. Az tlagos hozzfrsi ksleltets kiszmtshoz hasznljuk a A/(l-A(3) (a)

F6.

F7.

F8.

F9.

2.8. UP-SZOKiTPROGRAMO/.S

197

kifejezst, ahol A az az tlagos id, amely egy objektumnak a hozzfrsi kapcsolaton trtn tkldshez szksges, p pedig az az tlagos gyakorisg, amellyel az objektumok a hozzfrsi kapcsolatra rkeznek. (a) Szmtsa ki a teljes tlagos vlaszidt. (b) legyk most fel, hogy az intzmny helyi hlzatn egy gyorsttr mkdik. Tegyk fel, hogy LAN = 0,4. Szmolja ki a teljes vlaszidt. F10. Vegynk egy rvid, 10 mteres kbelt, amelyen keresztl a kld 150 bit/s sebessggel tud adatokat tkldeni. Tegyk fel, hogy az adatokat tartalmaz csomagok hossza 100 000 bit, a csak vezrl utastsokat tartalmaz csomagok hossza pedig 200 bit. Tegyk fel, hogy N prhuzamos sszekttets van, s mindegyik a kapcsolat svszlessgnek l/N rszt kapja meg. Vegyk most a HTTP protokollt, s tegyk fel, hogy minden letlttt objektum mrete 100 kbit, valamint hogy az elsknt letlttt objektum 10 tovbbi objektumra hivatkozik ugyanattl a kld tl. Lenne rtelme ebben az esetben, ha a prhuzamos letltseket prhuzamos id leges HTTP-pldnyokkal oldannk meg? Tekintsk most az lland HTTPsz- szekttetst? Szmt-e jelents teljestmnynvekedsre az idleges kapcsolathoz kpest? Igazolja s magyarzza vlaszt. FII. rjon egy egyszer TCP-szerverprogramot, amely sorokat vr bemenetknt egy klienstl, s kirja ezeket a sorokat a szerver szabvnyos kimenetre. (Ezt a korbban ltott TCPServer.java program mdostsval teheti meg.) Fordtsa le s indtsa cl a programot. Egy msik tetszleges gpen, amely rendelkezik webbng- szvel, lltsa be a bngsz proxyszervernek azt a hosztot, amelyen a szerver- program fut; lltsa be a portszmot is megfelelen. A bngsz ezutn a CET- zeneteket elkldi a szervernek, s a szerver megjelenti ezeket az zeneteket a szabvnyos kimenetn. A fenti sszellts segtsgvel hatrozza meg, hogy a bngszje feltteles GETzeneteket hasznl-e a helyben gyorsttrazott objektumok letltshez. FI2. Mi a klnbsg a MAIL FROM: (SMTP) s magban az e-mail zenetben tallhat From: kztt? FI3. Olvassa el a POP3-rl szl RFC-t [RFC 1939]. Mi a feladata az UIDL POP3-parancsnak? F14. Tegyk fel, hogy POP3-mal fr hozz e-mailjeihez. (a) Tegyk fel, hogy POP3-klienst gy lltotta be, hogy letlts s trls mdban mkdjn. Egsztse ki a kvetkez prbeszdet (K: kliens, S: szerver): K: list Ss 1 498 S: 2 912 S: . K: retr 1 S: bla bla ... S: ...........................bla S: . 9 (b) Tegyk tel, hogy POP-levelezklienst letlts s megtarts mdra lltotta. Egsztse ki a kvetkez prbeszdet: K: list S: 1 498 S: 2

198

2. A/. ALKALMAZSI RTEG


912 S: . K: retr 1 S: bla bla ... S: ..........................bla S: . ?
m

(c) Tegyk fel, hogy POP-klienst letlts s megtarts mdba lltotta. A (b) pontbeli lersi hasznlva, tegyk fel, hogy letlt kt zenetet s kilp a POP-bl, majd t perccel ksbb jbl szeretne hozzfrni POPpal a levelezshez, hogy letltse az j leveleket, legyk fel, hogy ez alatt az t perc alatt nem rkezett jabb levl. rja le ennek a msodik POP-munkamenetnek a forgatknyvt. FI5. (a) Mi az a whois adatbzis? (b) Prblja meg megtudni kt DNS*szerver nevt tbb klnbz internetes whois adatbzis hasznlatval. rja le, mely whois adatbzisokat hasznlta. (c) Kldjn DNS-lekrdezseket helyi hosztjrl az nslookup programmal hrom DNS-szervernek: helyi DNS-szervernek s a (b) pontban tallt kt DNS-szer- vernek. Prbljon meg A, NS s MX tpus jelentseket lekrdezni, sszegezze eredmnyeit. (d) Keressen nslookup-pa\ egy olyan webszervert, amelynek tbb IP-cme van. Nzze meg, hogy az n intzmnynek (iskolnak vagy cgnek) webszervere tbb IP-cmmel rendelkezik-e. (c) Az ARIN whois adatbzis hasznlatval llaptsa meg az egyeteme ltal hasznlt lP-cmtartomnyt. (f) rja le, hogyan hasznlhatja egy tmad a whois adatbzisokat s az nslookup eszkzt arra, hogy feldertsen egy intzmnyt, mieltt tmadst indt. (g) Elemezze, mirt szksges, hogy a whois adatbzisok nyilvnosan hozzfrhetek legyenek. F16. Egy ljlcserlsben N trs vesz rszt, a fjl mrete F = 10 Gbit. A szerver feltltsi sebessge us = 20 Mb/s, s minden trs letltsi sebessge dj = 1 Mb/s, feltltsi sebessge pedig u. Ksztsen egy tblzatot N = 10, 100, s 1000, s u = 200 kb/s, 600 kb/s s 1 Mb/s rtkekkel, amely a minimlis sztosztsi idt mulatja N s u sszes kombincijra mind kliens-szerver, mind P2P-fjlcserls esetn. F17. Egy kliens-szerver architektrj fjlcserlsben iV trs vesz rszt, a fjl mrete F bit. Felttelezznk egy folyadkmodellt, ahol a szerver prhuzamosan tbb trsnak tud adatot tovbbtani, minden trsnak klnbz sebessggel, amg az sz- szegzett sebessg el nem ri us-1. (a) Tegyk fel, hogy Us/N<dm{n. rjon le egy olyan fjlcserlsi smt, ahol a sztosztsi id NF/us. (b) 'legyk fel, hogy us/N>dmm. rjon le egy olyan fjlcserlsi smt, ahol a szt- osztsi id Fldmj n . (c) Vezesse le, hogy a minimlis sztosztsi id ltalnossgban a max{NF/u 5> Fldm n } kifejezssel adhat meg.

2.8. UP-SZOKiTPROGRAMO/.S

199

F18. Egy P2P architektrj fjlcserl rendszerben N trs vesz rszt, a fjl mrete F bit. Felttelezznk egy folyadkmodellt. Az egyszersg kedvrt tegyk fel, hogy dm n nagyon nagy, vagyis a trsak letltsi svszlessge soha nem lehet szk kereszt- metszet. (a) Tegyk fel, hogy u$ <(us + u\ + ... + UN)/N. rjon le egy fjlcserlsi smt, ahol a sztosztsi id Flus. (b) Tegyk fel, hogy us >{us + u\ + ... + uN)/N. rjon le egy fjlcserlsi smt, ahol a sztosztsi id NF/{us + U \ + ... + uN). (c) Vezesse le, hogy a minimlis sztosztsi id ltalnossgban a max{F/w 5i NF/{us + u\ + ... + uN )} kifejezssel adhat meg. F19. Tekintsnk egy N aktv trsbl ll tlapol hlzatot, ahol brmely kt trs kztt fennll egy TCP-sszekttets. Tegyk fel tovbb, hogy a TCPsszekttetseken sszesen M tvlaszt tallhat. Hny csompont s hny l van a megfelel tlapol hlzatban? F20. A lekrdezs-elrasztst hasznl tlapol hlzat bemutatsnl a 2.6. alfejezet- ben rszletesen lertuk, hogyan csatlakozik egy j trs az tlapol hlzathoz. Ebben a feladatban azt szeretnnk kiderteni, mi trtnik, amikor egy trs kilp az tlapol hlzatbl. Tegyk fel, hogy minden rszt vev trs minden idpillanatban legalbb ngy klnbz trssal tart fenn TCPsszekttetst. Tegyk fel, hogy az X trs, amelynek t TCP-sszekttetse van ms trsakkal, ki akar lpni. (a) Elszr tekintsk a kmletes tvozs esett, vagyis, amikor az X trs explicit mdon bezrja a sajt alkalmazst, ezltal kmletesen lezrja t TCP-ssze- kttetst. Milyen mveleteket kell vgrehajtania az t korbban csatlakozott trsnak? (b) Tegyk fel most, hogy az X trs hirtelen leszakad az internetrl anlkl, hogy rtestette volna t szomszdjt arrl, hogy lezrja a TCPsszekttetseket. Mi trtnik ekkor? F21. Ebben a feladatban a lekrdezs-tallat zenetek fordtott irny tvlasztst dertjk fel lekrdezs-elrasztsban. Tegyk fel, hogy Alice egy lekrdezs-zenetet kld. legyk fel tovbb, hogy Bob megkapja a lekrdezs-zeneteket (amelyek esetleg thaladtak nhny kzbees trson), s rendelkezik egy fjllal, amely illeszkedik a lekrdezsre. (a) Idzzk fel, hogy ha egy trsnak van egy illeszked fjlja, akkor illeszkedstallat zenetet kld a megfelel lekrdezs-zenet tvonaln ellenkez irnyban. Egy msik lehetsges elrendezsben Bob ltesthetne kzvetlen TCP-sz- szekttetst Alice-szal, s elkldhetn a lekrdezstallat zenetet ezen az sszekttetsen keresztl. Mik az elnyei s htrnyai ennek az alternatv megvalstsnak? (b) Amikor Alice egy lekrdezs-zenetet kszt, az zenet MessagelD mezjben egy egyedi azonostt helyez el. Amikor Bob illeszkedst tall, lekrdezs-tallat zenetet llt ssze ugyanazzal a MessagelD-vel, mint a lekrdezs-zenet, rja le, hogyan hasznlhatjk a trsak a MessagelD mezt s a helyi tvlaszt-tblkat a fordtott irny tvlaszts megvalstsra. (c) Egy alternatv megkzelts, amely nem hasznl zenetazonostkat, a kvetkez. Amikor egy lekrdezs-zenet megrkezik egy trshoz, a trs, mieltt tovbbklden az zenetet, hozzteszi a sajt IP-cmt a

200

2. A/. ALKALMAZSI RTEG


lekrdezs-zenethez, rja le, hogyan hasznlhatjk a trsak ezt a mechanizmust a fordtott irny tvlaszts megvalstsra. Ebben a feladatban egy hierarchikus tlapolsi terveznk, amelyben vannak kznsges trsak, szupertrsak s szuper-szuper trsak. (a) Tegyk fel, hogy minden szuper-szuper trs nagyjbl 200 szupertrsrt felels, s minden szupertrs nagyjbl 200 kznsges trsrt felels. Hny szuper-szuper trs szksges egy ngymilli trsbl ll hlzathoz? (b) Milyen informcikat kell trolnia az egyes szupertrsaknak? Milyen informcikat kell trolnia az egyes szuper-szuper trsaknak? Hogyan vgezhetnk keresst egy ilyen hromrteg hlzatban? Tekintsk a 2.6. alfejezetben trgyalt lekrdezs-elrasztst, legyk fel, hogy minden trs legalbb N szomszdhoz csatlakozik az tlapol hlzatban. Tegyk fel tovbb, hogy a csompontszmll mez rtke kezdetben K. Tegyk fel, hogy Alice vgrehajt egy lekrdezst. Adjon egy fels korltot az tlapol hlzatba kldtt lekrdezs-zenetek szmra. Teleptse s fordtsa le a TCPClient s UDPClient Java programokat egy hoszton, a TCPServer s UDPScrver programokat egy msik hoszton. (a) Tegyk fel, hogy a TCPClient programot a TCPServer futtatsa eltt indtja el. Mi trtnik? Mirt? (b) legyk fel, hogy az UDPClient programot az UDPServer futtatsa eltt indtja el. Mi trtnik? Mirt? (c) Mi trtnik, ha klnbz portszmokat hasznl a kliens s a szerveroldalon? Tegyk fel, hogy az UDPCIient.java programban kicserljk a DatagramSocket clientSocket - nv; DatagramSocket( ); sort a DatagramSocket clientSocket = new DatagramSocket(54 3 2 ) ; sorra. Szksges ezek utn mdostani az UDPServer.java kdjt? Mik a sz ktek portszmai az UDPClient-nl s az UDPServer-nl? Mik voltak a port szmok a fenti mdosts eltt?

E22.

F23.

F24.

F25.

Gondolkodtat krdsek
Gl. Mit gondol, mirt ilyen npszerek a P2P fjlmegoszt alkalmazsok? Azrt, mert zenemvek s videk ingyenes (esetenknt illeglis) cserjre adnak lehetsget? Azrt, mert rengeteg szerverk hatkonyan szolglja ki az ignyt a hatalmas meny- nyisg adatra? Esetleg mindkett?

1.8. SSZEFOGLALS

201

G2. Olvassa el a kvetkez cikket: Biddle, England, Peinado, Willman: Ihe Darknet and the Future of Content Distribution [Biddle 2003]. Egyetrt a szerzk sszes lltsval? Mirt igen vagy mirt nem? G3. Az elektronikus kereskedelmi oldalak s ms webhelyek gyakran rendelkeznek httradatbzissal. Hogyan kommuniklnak a HTTP-szerverek ezekkel a httradatbzisokkal? G4. HogyanllthatjabesajtbngszjbenaheIyigyorsttrazst? Milyengyorsttra- zsi lehetsgek vannak? G5. Be tudja lltani bngszjt gy, hogy tbb prhuzamos sszekttetst kezeljen egyszerre egy webhellyel? Mik a nagyszm prhuzamos TCPsszekttets elnyei s htrnyai? G6. Lttuk, hogy az internetes TCP-szoketek bjtfolyamknt kezelik az adatokat, az UDP szoketek viszont felismerik a csomagok hatrait. Nevezze meg egy elnyt s egy htrnyt annak, ha bjt alap API-t hasznlunk olyan API helyett, amely pontosan felismeri s megrzi az alkalmazsban definilt zenethatrokat. G7. Mi az Apache-webszerver? Mennyibe kerl? Milyen funkcii vannak jelenleg? G8. Tegyk fel, hogy a webes szabvnyostsi szervezetek az elnevezsi konvenci megvltoztatsa mellett dntenek gy, hogy minden objektum egy egyedi nvvel rendelkezik, s ezzel a helyfggetlen nvvel lehet r hivatkozni (n. egysges erforrsnv - Uniform Resource Name, URN). Vzoljon fel nhny krdst, amelyet ez a vltoztats felvet. G9. Vannak olyan cgek jelenleg, amelyek az interneten keresztl szolgltatnak l televzis adst? Ha igen, ezek a cgek kliens-szerver vagy P2Parchitektrt hasznlnak? G10. Vannak olyan cgek jelenleg, amelyek hlzati videoletlt (video-ondemand) szolgltatst nyjtanak az interneten P2P-architektra hasznlatval? Gll. Hogyan nyjt a Skype PC-tl telefonig tovbbtott hangtviteli szolgltatst sok klnbz clorszgban? G12. Soroljon fel nhnyat napjaink legnpszerbb BitTorrent kliensei kzl.

202

2. A/.

ALKALMAZSI RTEG

Vlaszol

Bram Cohen
Bram Cohen a BitTorrent, Inc. vezrigazgatja s trs alaptja, egyben a BitTorrent P2P fjlcserl protokoll megalkotja. A CodeCon trsalaptja s a Codeville trsszerzje. A BitTorrent ltrehozsa eltt a MojoNationnl dolgozott. A MojoNation lehetv tette a felhasznlk szmra, hogy bizalmas fjlokat titkostott darabokra trdeljenek s ezeket a tredkeket kicserljk ms, a MojoNation szoftvert futtat szmtgpekkel. Ez az elgondols inspirlta Bram Cohent a BitTorrent kifejlesztsre. Korbban a dot-com vilg meghatroz szemlyisge volt, tbb internetes cgnl dolgozott az 1990-es vek kzepnvgn. New York Cityben ntt fel, a Stuyvesant High Schoolban rettsgizett s a buffali egyetemre jrt. Honnan jtt a BitTorrent kifejlesztsnek tlete? Elg sok munkatapasztalatom volt a hlzatok (TCP s UDP feletti protokollok) tern, s akkortjt a rajzs (swarming) megvalstsa tnt a legrdekesebb megoldatlan problmnak, ezrt dntttem gy, hogy ezzel foglalkozom. A BitTorrent mgtt magtl rtetd szmts llt: rengeteg feltltsi kapacits llt rendelkezsre. Sokan msok is megfigyeltk ezt. Azonban megoldani az ebbl ered logisztikai feladatokat, mr egy egszen ms problma. Mik voltak a BitTorrent fejlesztsnek legnagyobb kihvst jelent vonatkozsai? A legalapvetbb a protokoll ltalnos konstrukcijnak s formjnak helyes megvlasztsa volt. A gyakorlatba tltetni mr csak egyszer programozs krdse volt. A legnehezebb egy megbzhat rendszer megvalstsa volt. Nem megbzhat trsak kezelsnl minden szlssges esetre meg kell hatrozni valamilyen viselkeds. A BitTorrent elkszlte utn mg sokig tartott, amg az ltalnos konstrukci letisztult. Hogyan fedeztk fel kezdetben az emberek a BitTorrentet? Az emberek ltalban mint letltk fedeztk fel a BitTorrentet. Bizonyos tartalmak
9

FELADATOK

203

csak a BitTorrenten keresztl voltek elrhetk. A kiadk azrt dntttek a BitTorrent hasznlata mellett, mert nem volt elegend svszlessgk, hogy brmi ms mdon terjesszk a tartalmat. Milyen megjegyzst fzne a RIAA s az MPAA jogi lpseihez azok ellen, akik a BitTor- renthez hasonl fjlmegoszt programokkal cserlgetnek filmeket s zenemveket? Pereltk mr be amiatt, hogy olyan technikt fejleszt, amely szerzi jogvdelem alatt ll anyagokai oszt meg illeglisan? A szerzi jogok megsrtse illeglis. A technika nem az. Soha nem pereltek be, mert soha nem kvettem el szerzi jogsrtst. Ha a technika ltrehozsa rdekel, ki kell tartanod a technika mellett.

204

2. A/.

ALKALMAZSI RTEG

Mit gondol: jhetnek a kzeljvben ms fjlcserl rendszerek, amelyek felvltjk a BitTorrentet? Elfordulhat pldul, hogy a Microsoft egy kvetkez kiads opercis rendszerbe begyazza a sajt egyedi fjl megosztsi protokolljt? A jvben megjelenhetnek ms protokollok, de az adatok rajzsnak elve, amelyet a Bit- Torrent protokoll tisztzott le, valsznleg nem fog vltozni. Elmozdulsra akkor a szmthatunk, ha alapvet vltozs trtnik az internet tfog struktrjban amiatt, hogy a sebessg nvekedsvel radiklisan megvltozik nhny alapvet konstans arnya. De a kvetkez nhny vre vonatkoz elrejelzsek csak megerstik a jelenlegi modellt. ltalnossgban vve merre lart n szerint az internet? Mit gondol, melyek a legfontosabb technikai kihvsok? Lt-e j men" alkalmazsokat a horizonton? Az internet s ltalban a szmtgpek egyre inkbb jelen vannak az let minden terletn. Az iPod nano gy nz ki, mint egy partikellk, hiszen elkerlhetetlenl az is lesz, amint az rak lejjebb mennek. Jelenleg legnagyobb technikai kihvs az, hogy a csatlakoztatott eszkzkrl sszegyjtsnk annyi adatot, amennyit csak lehetsges, s elrhetv tegyk ezeket az adatokat valamilyen knnyen hozzfrhet s hasznlhat formban. Pldul majdnem minden hordozhat eszkz tartalmazhat egy GPS-t, s minden hasznlati trgyunk (pldul ruhink, jtkaink stb.) rtesthetnek minket arrl, hogy hol vannak, ha ppen elvesztettk valamelyiket, valamint egy teljes kr naplt vezethetnek magukrl, amely tartalmazza a szksges karbantartsokat, ksbbi vrhat szolgltat sokat stb. Informcikat gyjthetnk pldul egy termk teljes letciklusrl is. Az em berek kztti egyttmkds sokkal knnyebb vlhat, tl azon az egyszer, de drmai fejldsen, hogy az emberek knnyen megtallhatjk egymst, ha mindkettjknl van mobiltelefon. pp most alaptott egy cget. Hogy fog ez a cg szert tenni bevtelre a BitTorrent ltal? Segteni szeretnnk a kiadknak, hogy tartalmaikat kzztegyk a hlzaton, s ezzel pnzt keressenek, valamint adatcserl szolgltatsokat szeretnnk nyjtani ms cgeknek. Milyen tancsokat adna a hlzatok s az internet terletvel most ismerked hallgatknak? Talljanak valamit, ami mg nem felkapott, de amirl gy gondoljk, hogy izgalmas dolgokat lehet vele vghezvinni, s ami szemlyesen nagyon rdekli ket, aztn kezdjenek el dolgozni rajta. A val vilgbeli tapasztalatok tantjk meg az embernek, hogy mi a fontos, s errl mindig nagyon torz kpet kapunk, ha csak az egyetemen bellrl szemlljk.

3. FEJEZET

FELADATOK

205

A szlltsi rteg

Az alkalmazsi s a hlzati rteg kztt tallhat szlltsi rteg kzponti eleme a rtegzett hlzati architektrnak. E rtegnek jutott az a kiemelkeden fontos feladat, hogy kommunikcis szolgltatsokat nyjtson kzvetlenl a klnbz gpeken fut alkalmazsi folyamatok szmra. Pedaggiai okokbl a fejezet sorn felvltva trgyaljuk a szlltsi rtegbeli elveket s azt, hogy ezeket az elveket a ltez protokollok hogyan valstjk meg - ahogy mindig, most is nagy hangslyt kapnak az internet protokolljai, klnsen a kt szlltsi rtegbeli protokoll, a TCP s az UDP. Elszr a szlltsi s a hlzati rteg kapcsolatt trgyaljuk. Ez j alapokat teremt a szlltsi rteg els kritikus feladatnak vizsglathoz, ami a hlzati rteg ltal nyjtott kt vgrendszer kztti kzbestsi szolgltats kiterjesztse kt vgrendszeren fut alkalmazsi rtegbeli folyamat kzti kzbestsi szolgltatss. Ezt a feladatot az internet sszekttets nlkli szlltsi protokolljnak, az UDP-nek a bemutatsakor fogjuk szemlltetni. Ezt kveten ismt alapelvekke foglalkozunk, s a szmtgpes hlzatok egyik legalapvetbb problmjt vizsgljuk meg, azt, hogyan kpes kt eszkz megbzhatan kommuniklni egy olyan kzegben, amelyben az adat elveszhet, illetve mdosulhat is. Egyre komplikltabb (s realisztikus!) forgatknyvek sorozatn t tbb olyan mdszert gyjtnk ssze, amelyeket a szlltsi protokollok e problma megoldsra hasznlnak. Ezt k veten megmutatjuk, hogyan valstja meg ezeket az elveket az internet sszekttets-ala p szlltsi protokollja, a TCP. Ezutn egy msodik alapvet fontossg hlzati problmra trnk t - a szlltsi rtegbeli elemek tviteli sebessgnek szablyozsra, amely segt a hlzati torldsok elkerlsben vagy az azok utni helyrelltsban. ttekintjk a torlds okait s kvetkezmnyeit, valamint a gyakran hasznlt torldskezelsi mdszereket. A torldskezels mgtt rejl krdsek alapos megrtst kveten a TCP torldskezelsi mdszert fogjuk tanulmnyozni.

3.1. Bevezets s szlltsi szolgltatsok


Az elz kt fejezetben a szlltsi rteg szerept s az ltala nyjtott szolgltatsokat rintettk. Ismteljk t gyorsan a szlltsi rtegrl eddig szerzett ismereteinket. Egy szlltsi rtegbeli protokoll a klnbz hosztokon fut alkalmazsi folyamatok kztti logikai kommunikcit (logical communication) valstja meg. Logikai kommunikci alatt azt rtjk, hogy egy alkalmazs szmra gy ltszik, mintha a folyamatokat futtat hosztok kzvetlenl ssze lennnek ktve valjban a hosztok akr a Eld

206

2. A/. ALKALMAZSI RTEG

tellenes pontjain is lehetnek, szmos tvlasztval s a legklnbzbb tpus adatkapcsolatokkal sszektve. Az alkalmazsi folyamatok a szlltsi rteg ltal nyjtott logikai kommunikcit arra hasznljk, hogy egymsnak zeneteket kldjenek anlkl, hogy az ezeket az zeneteket szllt fizikai infrastruktra rszleteivel foglalkozniuk kellene. A 3.1. bra a logikai kommunikci fogalmt illusztrlja. Ahogyan az a 3.1. brn is lthat, a szlltsi rteg protokolljait csak a vgrendszerekben implementljk, a hlzati tvlasztkban nem. A kld oldalon a szlltsi rteg a kld alkalmazsi folyamattl kapott zeneteket szlltsi rtegbeli csomagokk, vagy ahogy az internetes terminolgia nevezi szegmensekk (segments), alaktja. Ez gy trtnik, hogy (ha szksges) az alkalmazsi zeneteket kisebb darabokra trdeli, s minden tredkhez hozzad egy szlltsi fejrszt, gy hozva ltre a szlltsi rtegbeli szegmenst. A szlltsi rteg ezt kveten tovbbadja a szegmens! a kld vgrendszer hlzati rtegnek, ahol a szegmenst egy hlzati rtegbeli csomagba (datagram, adatcsomag) foglaljk, s elkldik a clllomsnak. Fontos megjegyezni, hogy a hlzati tvlasztk csak a datagram hlzati rtegbeli mezi szerint jrnak el, azaz nem vizsgljk a datagramban tallhat szlltsi szegmens mezit. A vev oldalon a hlzati rteg kicsomagolja a datagrambl a szlltsi szegmenst, s azt a szlltsi rtegnek tovbbtja. Ezt kveten a szlltsi rteg feldolgozza a kapott szegmenst, s a vev alkalmazs szmra elrhetv teszi a szegmensben tall hat adatot. A hlzati alkalmazsok szmra tbb szlltsi rtegbeli protokoll llhat rendelkezsre. Pldul az internetnek kt protokollja van - a TCP s az UDP. Mindkt protokoll klnbz szlltsi rtegbeli szolgltatshalmazt nyjt a meghv alkalmazs szmra.

3.1.1. A szlltsi s a hlzati rteg kztti viszony


Emlkezznk r, hogy a protokollveremben a szlltsi rteg kzvetlenl a hlzati rteg fltt tallhat. Amg egy szlltsi rtegbeli protokoll logikai kommunikcit biztost klnbz hosztokon fut folyamatok kztt, egy hlzati rtegbeli protokoll a hosztok kztt biztost logikai kommunikcit. A klnbsg ugyan hajszlnyi, de fontos. Vizsgljuk meg ezt a klnbsget egy hztartsi analgia segtsgvel. Vegynk kt hzat, az egyik New Yorkban, a msik pedig Chicagban van, mindkett egy tucat gyermeknek az otthona. A New York-i hztartsban s a chicagi hztartsban l gyerekek unokatestvrek. A gyerekek mindkt hztartsban nagyon szeretnek rni egymsnak - mindegyik minden hten r mindegyik unokatestvrnek, s az sszes levelet kln bortkban hagyomnyos postai szolgltatssal kzbestik. Ennlfogva mindkt hztarts hetente 144 levelet kld a msik hztartsnak. (Ezek a gyerekek aztn sok pnzt megtakarthatnnak, ha lenne e-mailjk!) Mindkt hzban van egy gyerek Chicagban Ann, New Yorkban pedig Bili aki a levelek sszegyjtsrt s sztosztsrt felels. Ann minden hten felkeresi az sszes testvrt, sszegyjti a leveleiket, s odaadja azokat a postsnak, aki napi rendszeressggel rkezik a hzhoz. Amikor levl rkezik a chicagi hzba, szintn Ann feladata, hogy a testvreinek sztossza a leveleiket. Bilinek New Yorkban ugyanez a feladata. Ebben a pldban a postai szolgltats biztostja a logikai kommunikcit a kt

FELADATOK

207

hz kztt - a posta hztl hzig szlltja a leveleket, nem pedig szemlytl szemlyig. Msrszt viszont Ann s Bili az unokatestvrek kztti logikai kommunikcit biztostjk - Ann s Bili sszegyjti a leveleket a testvreitl, s sztosztja a leveleket a testvreinek. Vegyk szre, hogy az unokatestvrek szemszgbl Ann s Bili nyjtjk a postai szolgltatst

GONDOLKODTAT KRDSK
Mobiltelefon hlzat

Orszgos vagy globlis internetszolgltat

208

Hlzati

Adatkapcsolati Fizikai Hlzati Adatkapcsolati Fizikai


Hlzati Alkalmazsi Szlltsi Hlzati Adatkapcsolati

Helyi vagy krzeti internetszolgltat


Adatkapcsolati Hlzati Adatkapcsolati Fizikai Hlzati Fizikai

Otthoni hlzat

Fizikai

Adatkapcsolati Fizikai

GONDOLKODTAT KRDSK Vllalati hlzat

209
Alkalmazsi

Szlltsi
Hlzati Adatkapcsolati Fizikai

3.1. bra. A szlltsi rteg inkbb logikai, mintsem fizikai kommunikcit biztost az alkalmazsi folyamatok kztt

GONDOLKODTAT KRDSK

210

annak ellenre, hogy a vgpontok kztti kzbestsi folyamatnak k csak egy rszt kpezik (a vgrendszer rszt). Ez a hztartsbeli plda j analgiul szolgl a szlltsi rteg s a hlzati rteg kztti viszony szemlltetshez: alkalmazsi zenetek = levelek a bortkban folyamatok = unokatestvrek hosztok (ms nven vgrendszerek) = hzak szlltsi rtegbeli protokoll = Ann s Bili hlzati rtegbeli protokoll = a posta (a postsokat is belertve). Tovbb vizsglva ezt az analgit, szre kell venni, hogy Ann s Bili a munkjukat a sajt otthonukon bell vgzik; nem vesznek rszt pldul a levelek sztvlogatsban egy kzbens levlelosztban sem, vagy a levelek szlltsban egyik levleloszttl a msikig. Hasonlan, a szlltsi rtegbeli protokollok a vgrendszerekben lteznek. Egy vgrendszeren bell a szlltsi protokoll tovbbtja az zeneteket az alkalmazsi folyamatoktl a hlzat szlig (vagyis a hlzati rtegig) s vissza, de semmi beleszlsa sincs abba, hogy a hlzat magjban hogyan tovbbtdnak az zenetek. Valjban, ahogy az a 3.1. brn lthat, a kzbens tvlasztk nem vizsgljk, s fel sem ismerik az informcit, amit a szlltsi rteg esetleg az alkalmazsi zenetekhez hozzadott. A csaldregnynket folytatva, ttelezzk fel, hogy amikor Ann s Bili elutaznak, egy msik unokatestvrpr - mondjuk Susan s Henry - helyettesti ket, s vgzi a hztartson bell a levelek sszegyjtst s sztosztst. A kt csald szmra sajnlatos mdon Susan s Henry nem pontosan ugyangy gyjti ssze s osztja szt a leveleket, mint Ann s Bili. Fiatalabbak lvn, Susan s Henry ritkbban gyjtik ssze s osztjk szt a leveleket, s alkalmanknt el is vesztenek leveleket (amiket nha a csald kutyja sztrg). gy az unokatestvrpr Susan s Henry nem ugyanazt a szolgltatshalmazt nyjtja (azaz nem ugyanazt a szolglati modellt), mint Ann s Bili. Analg mdon egy szmtgp-hlzat tbb szlltsi protokollt bocsthat rendelkezsre, mindegyik protokollal klnbz szol glati modellt nyjtva az alkalmazsoknak. Az Ann s Bili ltal nyjthat lehetsges szolgltatsokat egyrtelmen korltozzk azok a lehetsges szolgltatsok, amelyeket a posta nyjt. Pldul, ha a posta nem szab egy maximlis korltot arra, hogy mennyi idt vehet ignybe egy levl kzbestse a kt hz kztt (pldul hrom nap), akkor Ann s Bili sehogyan sem tud egy maximlis ksleltetst garantlni a levelek kzbestsre brmely kt unokatestvr kztt. Hasonl mdon a szlltsi protokoll ltal nyjthat szolgltatsokat gyakran korltozza az alatta tallhat hlzati rtegbeli protokoll szolglati modellje. Ha a hlzati protokoll nem kpes a hosztok kztt kldtt szlltsi rtegbeli szegmensek szmra ksleltets- vagy svsz lessg-garancikat nyjtani, akkor a szlltsi rtegbeli protokoll sem kpes a folyamatok kztt kldtt alkalmazsi zenetek szmra ksleltets- vagy svszlessg-garancikat biztostani. Mindazonltal vannak bizonyos szolgltatsok, amelyeket a szlltsi protokoll kpes nyjtani akkor is, ha az alatta lv hlzati protokoll nem nyjt megfelel szolgltatsokat a hlzati rtegben. Pldul, ahogyan ezt ebben a fejezetben ltni fogjuk, a szlltsi protokoll mg akkor is kpes egy alkalmazs szmra megbzhat adattvitelt biztostani, ha az alsbb rtegbeli hlzati protokoll megbzhatatlan, azaz mg akkor is, ha a hlzati pro tokoll csomagokat veszt, mdost vagy duplikl. Egy msik plda (amit a 8. fejezetben fo gunk megvizsglni,

GONDOLKODTAT KRDSK biztonsgot trgyaljuk), hogy a szlltsi protokoll titkostst 211 amikor a hlzati alkalmazhat azrt, hogy garantlni tudja azt, hogy az alkalmazsi zeneteket a behatolk ne olvashassk el mg akkor sem, ha a hlzati rteg nem biztostja a szlltsi rtegbeli szegmensek titkossgt.

3.1.2. Az internet szlltsi rte-gnek ttekintse


Emlkezznk vissza arra, hogy az internet, ltalnosabban a TCP/IP-hlzat, az alkalmazsi rteg szmra kt klnbz szlltsi rtegbeli protokollt tesz elrhetv. Az egyik ezek kzl az UDP (User Datagram Protocol - felhasznli datagram protokoll), ami nem megbzhat, sszekttets nlkli szolgltatst nyjt a hv alkalmazsnak. A msik protokoll a TCP (Transmission 'Control Protocol tvitelvezrl protokoll), amely megbzhat, sszekttets-alap szolgltatst biztost a hv alkalmazsnak. Egy hlzati alkalmazs tervezsekor az alkalmazs fejlesztjnek el kell dntenie, hogy a kt szlltsi protokoll kzl melyiket hasznlja. Ahogyan azt a 2.7. s 2.8. alfejezetben lttuk, az alkalmazs fejlesztje a szoketek ltrehozsakor vlaszt az UDP s a TCP kzl. A terminolgia egyszerstse rdekben, ha internetes szvegkrnyezetben hasznljuk, a szlltsi rtegbeli csomagra szegmensknt hivatkozunk. Megemltjk ugyanakkor, hogy az internetes irodalom (pldul az RFC-k) TCP esetben a szlltsi rtegbeli csomagol szintn szegmensnek hvja, viszont UDP esetben a csomagot gyakran datagramnak nevezi. Viszont ugyanez az internetes irodalom a datagram kifejezst a hlzati rtegbeli csomagra is hasznlja! Egy a szmtgphlzatokrl szl bevezet jelleg knyv esetn, mint amilyen ez is, hisszk, hogy kevsb zavar, ha mind a TCP-, mind az UDP-cso- magokra szegmensknt hivatkozunk, a datagram kifejezst pedig fenntartjuk a hlzati rtegbeli csomag szmra. Mieltt az UDP s a T CP rvid bemutatst folytatnnk, hasznos lesz, ha ejtnk pr szt az internet hlzati rtegrl. (A hlzati rteget rszletesen a 4. fejezetben vizsgljuk.) Az internet hlzati protokolljnak a neve IP, azaz Internet Protocol. Az IP a hosztok kztt biztost logikai kommunikcit. Az IP szolglati modell egy legjobbra trekv kzbestsi szolgltats (best-efort delivery service). Ez azt jelenti, hogy az IP mindent megtesz annak rdekben, hogy a kommunikl hosztok kztt a szegmenseket kzbestse, de semmilyen garancit nem nyjt. Azaz, nem garantlja a szegmensek kzbestst, nem garantlja a szegmensek sorrendhelyes kzbestst, s nem garantlja a szegmensekben lev adatok integritst. Ezek miatt az okok miatt tartjk az IP-t nem megbzhat szol gltatsnak (unreliable service). Szintn itt emltjk meg, hogy minden hoszt rendelkezik legalbb egy hlzati rtegbeli cmmel, az gynevezett IP-cmmel. Az IP-cimzst rszleteiben a 4. fejezetben fogjuk vizsglni; ebben a fejezetben elegend azt szben tartanunk, hogy minden hosztnak van egy IP-cme. Miutn vetettnk egy pillantst az IP szolglati modellre, foglaljuk ssze az UDP s a TCP ltal nyjtott szolglati modelleket. Az UDP s a TCP legalapvetbb feladata az, hogy az IP kt vgrendszer kztti kzbestsi szolgltatst kiterjessze egy a kt vgrendszeren fut alkalmazsok kztti kzbestsi szolgltatss. A hosztok kztti kzbests folyamatok kztti kzbestss val kiterjesztst szlltsi rtegbeli nyalbolsnak (trans- port-layer multiplexing) s nyalbbontsnak vagy a nyalbols megszntetsnek (de- multiplexing) nevezik. A szlltsi rtegbeli nyalbolst s nyalbbontst a kvetkez alfejezetben fogjuk trgyalni. Az UDP s a TCP adatintegrits-ellenrzst is biztost a szegmensek fejrszben elhelyezett ellenrz mez segtsgvel. Kizrlag e kt minim lis

GONDOLKODTAT KRDSK szlltsi rtegbeli hibaellenrzs

szolgltats

folyamatok

kztti

adattvitel

s 212 a

- tartozik az UDP ltal biztostott szolgltatsok kz! gy, ahogy az IP sem, az UDP sem megbzhat szolgltats - nem garantlja, hogy az egyik folyamat ltal kldtt adatok srtetlenl megrkeznek (vagy egyltaln megrkeznek!) a clfolyamathoz. Az UDP-rl rszletesen a 3.3. alfejezetben lesz sz. Ezzel szemben a TCP szmos tovbbi szolgltatst nyjt az alkalmazsoknak. Mindenekeltt megbzhat adatszlltst (reliable data transfer) biztost. A TCP forgalomszablyozs, sorszmok, nyugtk s idztk (ezek olyan megoldsok, amelyeket rszletesen ebben a fejezetben vizsglunk majd meg) hasznlatval biztostja, hogy az adatok a kld folyamattl a vev folyamatig hibtlanul s sorrendhelyesen jussanak el. Teht a TCP az IP-vgrendszerek kztti nem megbzhat szolgltatst talaktja folyamatok kztti megbzhat adatszlltsi szolgltatss. A TCP torldskezelsrl (congestion control) is gondoskodik. A torldskezels nem is egy, a hv alkalmazsnak nyjtott szolgltats, hanem inkbb az internet egsznek nyjtott szolgltats, egy szolgltats a j cl rde kben. Pontatlanul fogalmazva a TCP torldskezelse megakadlyozza, hogy brmely TCP-sszekttets tlzott mennyisg forgalommal rassza el a kommunikl hosztok kztti adatkapcsolatokat s tvlasztkat. A TCP arra trekszik, hogy minden tlterhelt adatkapcsolaton thalad sszekttets szmra egyenl rszt biztostson a adatkapcsolat svszlessgbl. Ez annak a sebessgnek a szablyozsval oldhat meg, amivel a TCP-sszekttetsek kld oldalai adatot kldhetnek a hlzatba. Az UDP-forgalom viszont nem szablyozott. Egy UDP-szlltst hasznl alkalmazs tetszleges sebessggel adhat s olyan hosszan, amilyen hosszan csak szeretne. Egy protokoll, amely megbzhat adattvitelrl s torldskezelsrl gondoskodik, szksgszeren sszetett. Szmos szakaszra lesz szksg ahhoz, hogy a megbzhat adattvitel s a torldskezels alapelveit lefedjk, s tovbbi szakaszokra, hogy magt a TCP protokollt is ismertessk. Ezeket a tmkat a 3.43.8. alfejezetekben vizsgljuk. A fejezetben az alapelveket s a TCP-t felvltva ismertetjk. Pldul, elszr a megbzhat adattvitelt trgyaljuk egy ltalnos krnyezetben, majd ezt kveten fejtjk ki, hogy kimondottan a TCP hogyan biztost megbzhat adatszlltst. Hasonlkpp, elszr ltalnossgban a torldskezelst ismertetjk, s ez utn trgyaljuk azt, hogy a TCP hogyan valstja meg a torldskezelst. De mieltt megismerkednnk ezekkel a nagyszer dolgokkal, elszr nzzk meg a szlltsi rtegbeli nyalbolst s nyalbbontst.

3.2. Nyalbols s nyalbbonts


Ebben az alfejezetben a szlltsi rtegbeli nyalbolst s nyalbbontst trgyaljuk, azaz a hlzati rteg ltal nyjtott hosztok kztti kzbestsi szolgltats kiterjesztst a Kosztokon fut alkalmazsi folyamatok kztti kzbestsi szolgltatss. Annak rdekben, hogy a trgyals sorn konkrtumokrl beszlhessnk, ezt az alapvet szlltsi rtegbeli szolgltatst internetes krnyezetben fogjuk vizsglni. Hangslyozzuk azonban, hogy a nyalbols/nyalbbonts szolgltatsra minden szmtgp-hlzatban szksg van. A clhosztnl a szlltsi rteg a kzvetlenl alatta tallhat hlzati rtegtl

kapja meg a szegmenseket. A szlltsi rteg felelssge a szegmensekben tallhat adatok kzbestse a Koszton fut megfelel alkalmazsi folyamat szmra. Nzznk meg egy pldt, 'legyk fl, hogy n egy szmtgp eltt l, s weboldalakat tlt le, mikzben egy FTP-munka- menetet (FTP-session) s kt Telnet-munkamenetet is futtat. Ennek kvetkeztben ngy

hlzati alkalmazsi folyamata fut: kt Telnet-folyamat, egy FTP- s egy HTTPfolyamat. Amikor a szmtgpnek a szlltsi rtege adatot kap az alatta lev hlzati rtegtl, a ngy folyamat kzl tovbbtania kell az egyiknek a kapott adatokat. Vizsgljuk meg, hogy ez hogyan trtnik. Elszr emlkezznk r a 2.7. s 2.8. alfejezetekbl, hogy a folyamatnak (mint egy hlzati alkalmazs rsznek) egy vagy tbb szoketje (csatlakozja) lehet ezek ajtk, amelyeken keresztl az adat a hlzatbl a folyamathoz jut, s amelyeken keresztl az adat a folyamattl a hlzatba jut. Teht, ahogy azt a 3.2. bra mutatja, a cllloms szlltsi rtege nem kzvetlenl a folyamatoknak kzbesti az adatokat, hanem egy kztes csatlakoznak. Mivel egy clllomsnak egy tetszleges adott pillanatban tbb mint egy szoketje lehet, minden szoketnek egyedi azonostja van. Ahogyan azt rvidesen bemutatjuk, az azono st formtuma attl fgg, hogy UDP- vagy TCP-szoketrl van-e sz.
Alkalmazsi Szlltsi Hlzati Adatkapcsolat Fizikai

Alkalmazsi 1 , Szlltsi Hlzati Adatkapcsolati Fizikai

^Alkalmazsi Szlltsi Hlzati Adatkapcsolati Fizikai

Jells:
Folyamat I' i Szkt

3.2. bra. Szlltsi rtegbeli nyalbols s nyalbbonts Most pedig nzzk meg, hogy a vev hoszt hogyan irnyt egy bejv szlltsi rtegbeli szegmenst a megfelel szokethez. Mindegyik szlltsi rtegbeli

szegmensben van egy mezcsoport erre a clra. A vev oldalon a szlltsi rteg megvizsglja ezeket a mezket, hogy a vev szoketet azonostsa, majd ehhez a szokethez irnytja a szegmenst. A szlltsi rtegbeli szegmensben tallhat adat megfelel szoketnek trtn kzbestse a nyalbbonts (demultiplexing). A nyalbols (multiplexing) feladata az albbi rszekbl tevdik ssze: a forrshosztnl az adattredkek sszegyjtse a klnbz szktekbl, szegmensek ltrehozsa gy, hogy minden adattredket fejrsszel egszt ki (amit ksbb a nyalbbontskor hasznlnak fel) s a szegmensek tadsa a hlzati rtegnek. Vegyk szre, hogy a 3.2. brn a kzps hoszt szlltsi rtegnek az alsbb hlzati rtegtl rkez szegmensnyalbok esetn el kell vgeznie a nyalbbontst a fltte tallhat P ( vagy P, folyamatok szmra - ezt gy teszi meg, hogy a berkez szegmensben tallhat adatot a megfelel folyamat szoketjhez irnytja. A kzps hoszt szlltsi rtegnek ssze kell gyjtenie az ezektl a szktektl kimen adatokat is, ezekbl szl ltsi rtegbeli szegmenseket kell alkotnia, s ezeket a szegmenseket a hlzati rtegnek kell tovbbtania. Ilabr a nyalbolst s a nyalbbontst az internet szlltsi protokoll-

3.2.

NYALBOLS

S NYALBBONTS

217

jain mulattuk be, fontos szrevennnk, hogy a nyalbols feladata minden olyan esetben felmerl, amikor egy adott (szlltsi vagy ms) rtegbeli protokollt a felette lev rteg tbb protokollja is hasznlja. A nyalbbonts menetnek illusztrlshoz vegyk el ismt az elz alfejezet hztartsi hasonlatt. Minden gyereket a nevvel azonostunk. Amikor Bili egy halom levelet kap a postai kzbesttl, elvgzi a nyalbbonts mvelett azltal, hogy megvizsglja azt, hogy a leveleket kiknek cmeztk, majd a testvrei kezbe adja azokat. Ann pedig a nyalbols m velett vgzi, amikor sszegyjti a testvreitl a leveleket, s odaadja azokat a postsnak. Most, hogy mr rtjk a szlltsi rtegbeli nyalbols s nyalbbonts szerept, nzzk meg, hogy pontosan hogyan is trtnik ez egy gazdagpben. A fenti fejtegetsbl mr tudjuk, hogy a szlltsi rtegbeli nyalbolshoz szksges, hogy (1) a szkteknek egyedi azonostja legyen s (2) minden szegmensnek legyenek dediklt mezi, amelyek meg adjk, hogy a szegmenst melyik szoketnek kell elkldeni. Ezek a dediklt mezk, amelyek a 3.3. brn lthatk, a forrsportszm mez (source port number field) s a clport- szm mez (destination port number field). (Az UDP- s TCP-szegmenseknek ezen fell ms mezik is vannak, ahogy azt a fejezet kvetkez szakaszaiban trgyaljuk.) Minden portszm egy 16 bites 0 s 65535 kztti szm. A -tl 1023-ig terjed portszmok az gynevezett kzismert portszmok (well-known port numbers), ezek korltozsokkal hasznlhatk, ami azt jelenti, hogy ezeket jl ismert alkalmazsok szmra tartjk fenn, mint pldul a HTTP (ami a 80-as portszmot hasznlja) vagy az FTP (ami a 21-es port- szmot hasznlja). A kzismert portszmokat az RFC 1700 tartalmazza, s a http://www . iana.org-on [RFC 3232] frisstik. Amikor egy j alkalmazst fejlesztnk (mint amilyenek pldul a 2.7. s 2.8. a 1 fejezetekben fejlesztett alkalmazsok), ki kell jellnnk az alkalma zs szmra egy portszmot.
32 bit

Forrsportszm Clportszm Egyb fejrszmezk

Alkalmazs adatai (zenet)

3.3. bra. Forrs- s clportszm mezk a szlltsi rtegbeli szegmensben Mostanra nyilvnvalnak kell lennie, hogy a szlltsi rteg hogyan vals/m/ja meg a nyalbbonts szolgltatst: A hoszt minden szoketjhez egy portszmot lehet rendelni, s amikor egy szegmens a hoszthoz megrkezik, a szlltsi rteg megvizsglja a szegmensben a clportszmot, s a szegmenst a megfelel szokethez irnytja. Ezt kveten a szegmens adatai a szkin keresztl a csatlakoz folyamathoz kerlnek. Ahogyan azt ltni fogjuk, az UDP esetben ez alapveten gy is trtnik. Azt is ltni fogjuk azonban, hogy TCP esetben a

218

3. A

szlltsi rteg

sszekttets nlkli nyalbols s nyalbbonts

nyalbols/nyalbbonts ennl jval bonyolultabb.

A 2.8. alfejczctbl emlkezhetnk arra, hogy egy hoszton fut Java-program a kvetkez sorral tud ltrehozni egy UDP-szoketet

DatagramSocket mySocket = new DatagramSocket();


Amikor ilyen mdon ltrehozunk egy UDP-szoketet, a szlltsi rteg automatikusan kijell egy portszmot a szokethez. Rszletesebben, a szlltsi rteg az 1024-tl 65535-ig terjed tartomnybl jell ki egy olyan portszmot, amit a hoszt semelyik msik UDP-portja sem hasznl. Egy msik lehetsgknt a Java-program a kvetkez sorral is ltrehozhat szoketet:

DatagramSocket mySocket = new DatagramS ocket(19157);


Fbben az esetben az alkalmazs az adott portszmot - nevezetesen a 19157-est rendeli az UDP-szokethez. Ha a programkdot r alkalmazsfejleszt egy kzismert protokoll szerveroldali rszt implementln, akkor a fejlesztnek a megfelel kzismert portszmot kellene hozzrendelnie. Jellemzen az alkalmazs kliensoldali rsznl hagyjk, hogy a szlltsi rteg automatikusan (s tltszan) jellje ki a portszmot, amg az alkalmazs szerveroldali rsze egy megadott portszmot hasznl. Az UDP-szoketekhez rendelt portszmokkal most mr pontosan el tudjuk magyarzni az UDP-nyalbolst s -nyalbbontst. Ttelezzk fel, hogy egy az A hoszton fut, 19157-es UDP-portszmmal rendelkez folyamat alkalmazsi adatokat szeretne kldeni a B hoszton fut 46428-as UDP-portszm folyamatnak. Az A hoszt szlltsi rtege ltrehoz egy szlltsi rtegbeli szegmenst, amely az alkalmazsi adatokat, a forrsportszmot (19157), a clportszmot, valamint kt msik rtket (amelyek ksbb kerlnek trgyalsra, de a jelenlegi tma szempontjbl lnyegtelen) tartalmazza. Ezt kveten a szlltsi rteg az gy kapott szegmenst tadja a hlzati rtegnek. A hlzati rteg a szegmenst egy IPda- tagramba gyazza, s lehetsgeihez mrten megprblja a szegmenst a vev hosztnak kzbesteni. Ha a szegmens megrkezik a vev B hoszthoz, a vev hoszt szlltsi rtege megvizsglja a szegmens clports/mt (46428) s a szegmenst a 46428-as portszmmal azonostott szoketjhez juttatja. Ne felejtsk el, hogy a B hoszt tbb folyamatot is futtathat, mindegyiknek sajt UDP-szoketje s hozz kapcsolt portszma van. Ahogy az UDP-szeg- mensek a hlzatbl megrkeznek, a B hoszt minden szegmenst, a szegmens clportsz- mnak vizsglatval, a megfelel szokethez irnyt (megsznteti a nyalbolst). Fontos szrevenni, hogy minden UDP-szoket egyrtelmen azonosthat egy rtkprral, amely a cl-IP-cimbl s a clportszmbl ll. Ebbl kvetkezik, hogy ha kt UDP-szegmensnek klnbzek a forrs-IP-cmei s/vagy forrsportszmai, de megegyeznek a c/-IP-cmeik s cc/portszmaik, akkor a kt szegmenst azonos clszoketen t ugyanannak a clfolyamatnak kzbestik. Flmerlhet a krds, mi clt szolgl a forrsportszm? Ahogy az a 3.4. brn lthat, az A-tl B-nek kldtt szegmensben a forrsport a vlaszcm rszt kpezi - amikor B egy szegmenst szeretne visszakldeni A-nak, a B-tl A-nak

3.2.

NYALBOLS

S NYALBBONTS

219

kldtt szegmens clportja az A-tl B-nek kldtt szegmensben lev forrsport rtkt fogja felvenni. (A teljes vlaszcm A IP-cme s a forrsportszm.) Pldul eleventsk fel a 2.8. alfeje/etben tanulmnyozott UDP-szerverprogramot. Az UDPServer.java-ban a szerver egy fggvny segtsgvel

220
Kliensfolyamat Szkt
A hoszt

3. A

szlltsi rteg

B szerver

forrspotszm: clportszm:

19157

46428

46428 19157

forrsportszm: clportszm:

3.4. bra. A forrs- s clportszmok megcserlse nyeri ki a klienstl kapott szegmensbl a forrsportszmot; ezt kveten egy j szegmenst kld a kliensnek, amelyben a kinyert forrsportszm szolgl az j szegmens clportsz- maknt.

sszekttets-alap nyalbols s nyalbbonts


Annak rdekben, hogy a TCP nyalbbontst megrtsk, kzelebbrl kell megszemllnnk a TCP-szoketeket s a TCP-sszekttets felptst. Az apr klnbsg a TCP-s az UDP-szoketek kztt az, hogy a TCP-szoketet egy szmngyes azonostja: (forrs-IP-cm, forrsportszm, cl-IP-cm, clportszm). Ezrt amikor egy TCP-szegmens a hlzatbl a hoszthoz rkezik, a hoszt mind a ngy rtket felhasznlja ahhoz, hogy a szegmenst a megfelel szokethez irnytsa (megszntesse a nyalbolst). Nevezetesen, s az UDP-vel ellenttben, kt klnbz forrs-IP-cmmel vagy forrsportszmmal rkez TCP-szeg mens (az eredeti sszekttets-felptsi krelmet szllt TCP-szegmens kivtelvel) kt klnbz szokethez lesz irnytva. Hogy mg mlyebb betekintst nyerjnk, vizsgljuk meg ismt a 2.7. alfejezet TCP kliens-szerver programozsi pldjt:

3.2.

NYALBOLS

S NYALBBONTS

221

hoz a kliensfolyamat s/.mra, amelyen keresztl az adatok a kliensfolyamathoz rkezhetnek, illetve elhagyhatjk azt. o Amikora szerverfolyamatot futtat szmtgp hoszt opercis rendszere egy 6789-es portszmmal rendelkez bejv sszekttets-felptsi krelmet fogad, megkeresi azt a szerverfolyamatot, amelyik a 6789-es porton vr egy sszekttets fogadsra. Ezt kveten a szerverfolyamat ltrehoz gy j szokctet:

Socket connectionSocket = welcome Socket.accept();


Valamint, a szerver szlltsi rtege feljegyzi a sszekttets-felptsi krelemben tallhat kvetkez ngy rtket: (1) a forrsportszmot a szegmensben, (2) a kld gazdagp IP-cmt, (3) a clportszmot a szegmensben s (4) a sajt IP-cmt. Az jonnan ltrehozott sszekttetsszoketet ez a ngy rtk azonostja - az ezt kveten r kez minden szegmens, amelyiknek a forrsportja, forrs-IP-cme, clportja s cl-IP-cme megegyezik ezzel a ngy rtkkel (a nyalbbontst kveten), ehhez a sz keihez lesz kapcsolva. Most, hogy a TCP-sszekttets a helyn van, a kliens s a szerver adatokat tud kldeni egymsnak. A szerver gazdagp egyidejleg sok TCP-szoketet tmogathat, mindegyik szoketet egy folyamathoz kapcsolva, s mindegyik szoketet a sajt szm ngyesvel azonostva. Amikor
Fkuszban a biztonsg Sebezhet portok keresse a szerveren (port szkennels) Lttuk, hogy a szerverfolyamai egy nyitott porton trelmesen vr arra, hogy egy tvoli kliens hozzkapcsoldjon. Nmely portokat jl ismert alkalmazsok (pldul web-, FTP-, DNS- s SMTP-szerverek) szmra tartjk fenn, ms portokai egyezmny alapjn npszer alkalmaz sok hasznlnak (pldul a Microsoft 2000 SQL-szerver az 1434-es UDP-porton vrja a krse ki). gy, ha megllaptjuk, hogy egy port nyitva van egy gazdagpen, kpesek lehetnk megfeleltetni azt egy adott, a gazdagpen fut alkalmazsnak. Ez a rendszergazdk szmra nagyon hasznos, akik gyakran tudni szeretnk azt, hogy a hlzatuk gazdagpein milyen hlzati alkalmazsok futnak. De a tmadk azrt, hogy helyszni szemlt tartsanak, szintn tudni szeretnk, hogy a megclzn hoszton melyik portok vannak nyitva. Ila gy talljk, hogy a gazdagp egy ismert biztonsgi rssel rendelkez alkalmazst futtat (pldul az 1434-es porton figyel SQL-szerver puffertlcsordulsnak voll kitve, ami lehetv teszi a tvoli felhasznl szmra, hogy a sebezhet gazdagpen tetszleges kdot futtathasson - ezt a sebezhetsget hasznlja ki a Slammer-freg [CERT 2003-041), akkor az a hoszt megreti a tmadsra. Annak meghatrozsa, hogy mely alkalmazsok mely portokon figyelnek, viszonylag knyny feladat. Valjban szmos olyan nyilvnos, portpsztznak (port scanner) nevezett prog ram van, amely pontosan ezt teszi. Ezek kzl taln a leggyakrabban hasznlt az nmap, ami ingyenesen hozzfrhet a http://insecure.org/nmap oldalon, s amit a legtbb I.inux-disztriblici tartalmaz. TCP-nl az nmap sorra vgigpsztzza a portokat, olyan portokat keres, amelyek TCP-sszekttetseket fogadnak. UDP esetn az nmap szintn sorra vgigpsztzza a portokat, s olyan UDP-portokat keres, amelyek vlaszolnak az tkldtt UDP-szegmen- sekre. Mindkt esetben az nmap a nyitott, zrt vagy elrhetetlen portok listjt adja vissza. Az nmapot futtat gazdagpek az interneten

brhol lev brmelyik megclzott gazdagp szken-

nelst megksrelhetik. Az nmap-pal a 3.5.6. alfejezetben mg jra tallkozunk, amikor a TCP

222
sszekttets-kezelst trgyaljuk.

3. A

szlltsi rteg

egy TCP-szegmens megrkezik a Koszthoz, mind a ngy mezt (forrs-IP-cmet, forrs- portot, cl-IP-cmet, clportot) felhasznlja a szegmens megfelel szokethez trtn irnytshoz (a nyalbols megszntetshez). A helyzetet a 3.5. bra mulatja, amikor a C hoszt kt HTTP-munkakapcsolatot kezdemnyez a B szerverrel, az A hoszt pedig egy HTTP-munkakapcsolatot kezdemnyez B-vel. Az A s C hosztoknak s a B szervernek sajt, egyedi IP-cmk van - A, C s B. A C hoszt kt klnbz forrsportszmot (26145 s 7532) jell ki a kt HTTP-sszekttetse szmra. Mivel az A hoszt C-tl fggetlenl vlaszt forrsportszmokat, elfordulhat, hogy szintn a 26145-s forrsportot jelli ki a HTTP-sszekttetsekhez. De ez nem jelent problmt - a B szerver gy is kpes lesz helyesen elvgezni a kt azonos forrsportszm- mal rendelkez sszekttets nyalbbontst, mivel a kt sszekttetsnek klnbzek a forrsIP-cmeik.

Webszerverek s TCP
Mieltt lezrnnk ezt a tmt, tanulsgos nhny szt szlni a webszerverekrl s arrl, hogyan hasznljk a portszmokat. Vegynk egy gazdagpet, ami a 80-as porton egy webszervert futtat, mint pldul az Apache-webszerver. Amikor a kliensek (pldul bngszk) szegmenseket kldenek a szervernek, az sszes szegmens clportja a 80-as port lesz. Nevezetesen, mind a kezdeti sszekttetsltestsi szegmenseknek, mind pedig a

fet
st m

bW
rtegbeli nyalb bonts

3.5. bra. Kt kliens, amelyik ugyanazt a clportszmot (80) hasznlja ugyanazon webszerver-alkalmazssal val kommunikcihoz

HTTP-krst szllt zeneteknek a 80-as port lesz a clportja. Mint ahogy azt az elbb trgyaltuk, a szerver a klnbz kliensektl rkez szegmenseket a forrsIP-cmk s forrsportszmuk alapjn klnbzteti meg. A 3.5. brn egy webszerver lthat, ami folyamattbbszrzssel minden sszekttetshez ltrehoz egy j folyamatot. Az brn is lthat, hogy ezeknek a folyamatoknak sajt sszekttets-szoketje van, amelyen keresztl HTTP-krsek rkeznek, s HTTP-v- laszokat kld. Megemltjk ugyanakkor, hogy nem minden esetben lehetsges egy az egyben megfeleltetni az sszekttets-szoketeket s a folyamatokat. Valjban a mai nagyteljestmny webszerverek gyakran csak egy folyamatot hasznlnak, s minden egyes j kliens-sszekttetshez egy j szlat hoznak ltre, egy j sszekttets-szokettel. (Egy szl egy kisebb jelentsg alfolyamatnak tekinthet. Egy ilyen szervernek egy tetszleges idpillanatban sok sszekttets-szoketje csatlakozhat (klnbz azonostkkal) ugyan ahhoz a folyamathoz. Ha a kliens s a szerver tarts HTTP-sszekttetst hasznl, akkor a tarts sszekttets teljes idtartamn keresztl a kliens s a szerver ugyanazon a szerverszoketen keresztl cserl HTTP-zeneteket. Ugyanakkor, ha a kliens s a szerver nem lland HTTP-ssze- kttetst hasznl, akkor minden egyes krs/vlasz prhoz egy j TCP-sszekttets jn ltre s zrul be, ennlfogva minden egyes krs/vlasz prhoz egy j szkt jn ltre s ksbb zrul be. Ez a gyakori szkdtrehozs s -bezrs slyosan befolysolhatja egy forgalmas webszerver teljestmnyt (habr szmos opercis rendszerbeli trkk hasznl hat a problma mrsklsre). Azoknak az olvasknak, akiket rdekelnek a tarts s nem lland HTTP-sszekttetseket vez opercis rendszerbeli krdsek, ajnljuk, hogy tanulmnyozzk a [Nielsen 1997; Nahum 2002] dolgozatokat. Most, hogy mr rszletesen trgyaltuk a szlltsi rtegbeli nyalbolst s nyalbbontst, lpjnk tovbb, s vizsgljuk meg az internet egyik szlltsi protokolljt, az UDP-t. A kvetkez alfejezetben ltni fogjuk, hogy az UDP egy kicsivel tbbel egszti ki a hlzati rtegbeli protokoll szolgltatsait, mint a nyalbols/nyalbbonts szolgltatsa.

3.3. sszekttets nlkli szllts: UDP


Ebben az alfejezetben kzelebbrl megvizsgljuk az UDP-t, azt, hogyan mkdik, s mit csinl. Arra bztatjuk az olvast, hogy lapozzon vissza a 2.1. alfejezethez, amely ttekinti az UDP szolglati modelljt, illetve a 2.8. alfejezethez, amely az UDP hasznlatval trtn szoketprogramozst trgyalja. Azrt, hogy felkeltsk az olvas rdekldst az UDP trgyalshoz, ttelezzk fel, hogy n egy extra szolgltatsokat nem nyjt, minimlis kltsg szlltsi protokoll tervezsben rdekelt. Hogy fogjon hozz? Elsnek fontolra vehet egy res szlltsi protokoll hasznlata. Rszletesebben, a kld oldalon felmerlhet, hogy az zeneteket az alkalmazsi folyamattl kzvetlenl a hlzati rtegnek adjuk t, a vevoldalon pedig, hogy a hlzati rtegbl rkez zeneteket kzvetlenl az alkalmazsi folyamatnak juttassuk. De ahogy azt az elz rszben megtanultuk, a semminl azrt egy kicsivel tbbet kell ten nnk. A minimum az, hogy a szlltsi rtegnek biztostania kell a nyalbols/nyalbbon ts szolgltatst

annak rdekben, hogy az adatokat t lehessen juttatni a hlzati rteg s a megfelel alkalmazsi szint folyamat kztt. Az [RFC 768)-ban definilt UDP pontosan annyit tesz meg, amennyit egy szlltsi protokollnak mindenkppen meg kell tennie. A nyalbols/nyalbbonts funkcijn s egyszer hibaellenrzsen kvl semmit nem ad hozz az IP szolgltatsaihoz. Valjban, ha az alkalmazsfejleszt a TCP helyett az UDP-t vlasztja, akkor az alkalmazs majdhogynem kzvetlenl az IP-vel kommunikl. Az UDP az alkalmazsi folyamattl kapott zenetekhez hozzcsatolja a nyalbols/nyalbbonts szolgltatshoz szksges forrs- s clportszmot, hozzad mg kt msik mezt, majd az eredmnyl kapott szegmenst tovbbadja a hlzati rtegnek. A hlzati rteg a szlltsi rtegbeli szegmenst egy IP-da- tagramba foglalja, s ezt kveten lehetsgeihez mrten megprblja a szegmenst a vev hosztnak kzbesteni. Ha a szegmens megrkezik a cmzett hoszthoz, az UDP a clport szmot hasznlja, hogy a szegmens adatait a megfelel alkalmazsi folyamatnak kzbestse. Figyeljk meg, hogy UDP esetn a szegmens elkldse eltt nincs kzfogs a kld s a vev szlltsi entitsok kztt. Ezrt nevezik az UDP-t

sszekttets nlklinek.
A DNS egy olyan alkalmazsi rtegbeli protokollra plda, ami jellemzen UDP-t hasznl. Amikor a gazdagpben a DNS-alkalmazs lekrdezst akar vgrehajtani, egy DNS lekrdezsi zenetet kszt, s ezt az zenetet adja tovbb az UDP-nck. Anlkl, hogy a clvgrendszeren fut UDP-entitssal kezet fognnk, a hosztoldali UDP fejrszmezket ad az zenethez, majd az gy kapott szegmenst tovbbadja a hlzati rtegnek. A hlzati rteg az UDP-szegraenst egy datagramba gyazza, s a datagramot elkldi a nvszervernek. A krdez hoszt DNS-alkalmazsa ezt kveten a krdsre adott vlaszra vr. Ha nem kap vlaszt (esetleg azrt, mert az alatta lev hlzat elvesztette a krst vagy a vlaszt), vagy megprblja a krst egy msik nvszervernek elkldeni, vagy rtesti a hv alkal mazst arrl, hogy nem tud vlaszolni. Az olvas most esetleg azon tndik, hogy egy alkalmazsfejleszt vajon mirt is dntene gy, hogy egy alkalmazst UDP-re alapoz, nem pedig TCP-re. Nem igaz az, hogy a TCP minden esetben elnysebb, mivel megbzhat adattviteli szolgltatst biztost, mg az UDP nem? A vlasz nem, mivel az albbi okok miatt szmos alkalmazs szmra megfelelbb az UDP: hozz semmilyen ksleltetst azrt, hogy az sszekttetst felptse. Valsznleg ez a legfontosabb ok, amirt a DNS TCP helyett UDP-t hasznl - a DNS sokkal lassabb lenne, ha TCP fltt futna. A HTTP viszont TCP-t hasznl, nem pedig UDP-t, mivel a szveget tartalmaz weblapok szmra kritikus szempont a megbzhatsg. De ahogyan arrl rviden a 2.2. alfejezetben sz volt, a HTTP-nl a TCP sszekttetsfelptsi ksleltetse fontos sszetevje a webdokumentumok letltsvel egytt jr ksleltetseknek. llapotmentes sszekttetsek. A TCP a vgrendszerekben sszekttetsllapotokat tart nyilvn. A sszekttets-llapot a vev s kld puereket, torldskezelsi paramtereket, valamint a csomagsorszm s nyugtaszm paramtereket tartalmazza. A 3.5. alfejezetben ltni fogjuk, hogy erre az llapotinformcira szksg van a TCP megbzhat adattviteli szolgltatsnak megvalstshoz s a torldskezels biz tostshoz. Ezzel szemben az UDP nem tart nyilvn sszekttets-llapotokat s nem kveti nyomon ezeket a paramtereket. Ezrt egy adott alkalmazsra sznt szerver jellemzen sokkal tbb aktv klienst tud tmogatni, ha az alkalmazs UDP fltt

fut, mint ha TCP fltt.

Kis csomagfejrsz tbbletterhels. A TCP-szeginensek fejrsze 20 bjt


tbbletterhelst eredmnyez minden szegmensben, amg az UDP-nl ez a tbbletterhels csak 8 bjt.

A 3.1. tblzat npszer internetes alkalmazsokat, s az ltaluk hasznlt szlltsi protokollokat sorolja fel. Ahogy azt vrjuk, az e-mail, a tvoli terminlos hozzfrs, a web s a fjltvitel TCP fltt mkdnek - ezen alkalmazsok kzl mindegyiknek a TCP megbzhat adattviteli szolgltatsra van szksge. Mindazonltal sok fontos alkalmazs inkbb UDP fltt fut, mintsem TCP fltt. UDP-t hasznl a RIP az tvlasztsi tblk aktualizlshoz (lsd 4.6.1. alfejezet). Mivel a RIP-frisstseket periodikusan kldik (jellemzen tpercenknt), az elveszett frisstseket jabb kelet frisstsek ptoljk, gy tve az elveszett, elavult frisstseket flslegess. Az UDP-t hlzatfelgyeleti (SNMP; lsd 9. fejezet) adatok szlltsra is hasznljk. Ebben az esetben az UDP-t elnyben r szestik a TCP-vel szemben, mivel gyakori, hogy a hlzatfelgyeleti alkalmazsoknak olyankor kell futniuk, amikor a hlzat terhelt llapotban van - pontosan akkor, amikor megbzhat, torldsvezrelt adatszlltst nehz megvalstani. Ahogy azt korbban emltettk, szintn UDP fltt fut a DNS, ezltal elkerlve a TCP sszekttets-felptsi ksleltetseit. Ahogyan az a 3.1. tblzatban lthat, manapsg mind az UDP-t, mind pedig a TCP-t hasznljk multimdis alkalmazsokhoz, mint amilyen az internetes tvbeszls, a vals idej videokonferencia s a trolt hang vagy vide folyamszer letltse is. Ezeket az alkalmazsokat a 7. fejezetben vizsgljuk meg kzelebbrl. Most csak megemltjk, hogy ezen alkalmazsok kzl mindegyik kpes elviselni kis mennyisg csomagvesztst, gy a meg bzhat adatszllts nem felttlenl kritikus az alkalmazs sikeres mkdse szempontj bl. Tovbb a vals idej alkalmazsok, mint az internetes tvbeszls s a videokonferen cia, nagyon rosszul reaglnak a 'PCP torldskczelsre. Ezek azok az okok, amelyek miatt a multimdis alkalmazsok fejleszti gy dntenek, hogy az alkalmazsaik TCP helyett UDP fltt fussanak. Ugyanakkor a TCP-t egyre tbbet hasznljk folyamszer multimdia-letltsre. Pldul a [Sripanidkulchai 2004] szerint az igny szerinti s az l multimdia-letltsek kzel 75 szzalka TCP-t hasznl. Amikor alacsony a csomagvesztsi gyakorisg, s nhny szervezet biztonsgi okokbl (lsd 8. fejezet) blokkolja az UDP-forgalmat, a TCP egyre vonzbb protokoll vlik a vals idej multimdia letltsre.

3.1. tblzat. Npszer internetes alkalmazsok s az alattuk lv szlltsi

protokollok
Alkalmazs

Alkalmazsi rtegbeli protokoll SMTP Telnet HTTP FTP NFS Jellemzen egyedi Jellemzen egyedi SNMP RIP DNS

Az alatta elhelyezked szlltsi protokoll TCP TCP TCP TCP Jellemzen UDP UDP vagy TCP UDP vagy TCP Jellemzen UDP Jellemzen UDP Jellemzen UDP

Elektronikus levl Tvoli terminl elrse Web Fjltvitel Tvoli fjlszerver Multimdia-adatfolyam (streaming) Internetes tvbeszls Hlzatfelgyelet tvlasztsi protokoll Nvfelolds

Elterjedt hasznlata ellenre a multimdia-alkalmazsok UDP feletti futtatsa ellentmondsos. Ahogyan azt fent emltettk, az UDP nem rendelkezik lorldskezelssel. Viszont a torldskezelsre szksg van ahhoz, hogy megelzzk a hlzat tlzsfoltsgt, amelyben nagyon kevs hasznos forgalom bonyoldik le. Ha mindenki elkezdene nagy bitsebessg videt letlteni mindenfle torldskezels nlkl, olyan sok csomagtlcsor duls lenne az tvlasztknl, hogy nagyon kevs UDP-csomag tenn meg sikeresen a for rs-cl tvonalat. Radsul a szablyozatlan UDP-kldk ltal elidzett magas vesztsi gyakorisg kvetkeztben a TCP-kldknek (amelyek, ahogy ltni fogjuk, torlds jelenltben valban cskkentik a kldsi sebessgeiket) drasztikusan cskkentenik kellene a sebessgeiket. Ily mdon az UDP-nl a torldskezels hinya az UDP-kld s -vev kztt magas vesztsi gyakorisgot s a TCPsszekttetsek hibs mkdst eredmnyezheti - ami [Floyd 1999] szerint komoly problma. Sok kutat javasolt j mechanizmusokat, hogy minden forrst, belertve az UDP-forrsokat is, rknyszertsenek az adaptv torldskezelsre [Mahdavi 1997; Floyd 2000; Kohler 2006: RFC 4340). Mieltt rtrnnk az UDP-szegmens szerkezetnek trgyalsra, megemltjk, hogy valban lehetsges, hogy egy alkalmazsnak UDP hasznlatakor megbzhat adattvitele legyen. Ez akkor valsthat meg, hogyha a megbzhatsgot magba az alkalmazsba ptik be (pldul olyan nyugtz s jrakldo mechanizmusokba, mint amelyek a kvetkez alfejezet trgyt kpezik). De ez egyltaln nem nyilvnval feladat, aminek a hibajavtsa egy alkalmazsfejlesztt hossz ideig lefoglalna. Mindazonltal a megbzhatsgnak kzvetlenl az alkalmazsba trtn beptse lehetv teszi az alkalmazs szmra, hogy a kecske is jllakjon s a kposzta is megmaradjon. Azaz az alkalmazsi folyamatok megbzhatan kommuniklhatnak anlkl, hogy a TCP torldskezelsi mechanizmusa korltozn az tviteli sebessget.

3.3.1. Az UDP-szegmens szerkezete


Az UDP-szegmens szerkezett az RFC 768 definilja, ami a 3.6. brn lthat. Az UDP-szegmens adatmezjt az alkalmazsi adat foglalja el. Pldul DNS esetn az adatmez vagy egy lekrdezsi zenetet vagy egy vlasz zenetet tartalmaz. Egy hangfolyam-letltses (streaming audio) alkalmazs esetn a hangmintk tltik meg az adatmezt. Az UDP-fej- 32 bit I
Forrsportszm Clportszm Hossz ' Ellenrz sszeg Alkalmazsi adat (zenet)

3.6. bra. Az UDP-szegmens felptse

rsznek csak ngy mezje van, mindegyik kt bjtbl ll. Ahogyan azt az elz alfeje- zetben trgyaltuk, a portszmok teszik lehetv a clhoszt szmra, hogy az alkalmazsi adatokat a clvgrendszeren fut megfelel folyamatnak adjk t (azaz, hogy elvgezzk a nyalbbonts feladatt). A vev hoszt az ellenrz sszeget hasznlja arra, hogy ellenrizze azt, hogy kerltek-e hibk a szegmensbe. Valjban az UDP-szegmens mellett az IP-fejrsz nhny mezjt is felhasznljk az ellenrz sszeg szmtshoz. De ezt a rszletet most figyelmen kvl hagyjuk azrt, hogy lthassuk a ftl az erdt. Az ellenrz sz- szeg szmtst ksbb fogjuk trgyalni. A hiba fel ismers alapelveit az 5.2. alfejezet rja le. A hossz mez az UDP-szegmens hosszt adja meg bjtokban, belertve a fejrszt is.

3.3.2. Az UDP ellenrz sszege


Az UDP ellenrz sszege gondoskodik a hibafelismersrl. Azaz az ellenrz sszeget hasznljk arra, hogy megllaptsk, hogy az UDP-szegmensben mdosultak-e a bitek (pldul az adatkapcsolatokon lev zaj hatsra, vagy egy tvlasztban val trolskor), ahogy a forrstl a clig haladt. A kld oldalon az UDP a szegmensben lev minden 16 bites sz sszegnek az 1-es komplemenst veszi. Ha az sszegezs sorn tlcsorduls lp fel, a tlcsordult bitet jobbrl lpteti be (visszacsatolja). Ez az eredmny kerl az UDP-szegmens ellenrz sszeg mezjbe. Nzznk egy egyszer pldt az ellenrz sz- szeg szmtsra. A hatkony szmts rszleteirl lsd [RFC 1071], vals adatokon nyj tott teljestmnyrl pedig a [Stone 1998; Stone 2000]. Pldaknt ttelezzk fel, hogy a kvetkez hrom 16 bites szavunk van: 0110011001100000 0101010101010101 1000111100001100

Az els kt 16 bites sz sszege:


0110011001100000 0101010101010101

1011101110110101 A harmadik szt a fenti sszeghez hozzadva az albbit adja: 10111011101101 01 10001111000 Q _1_1_00 01001010110000 10 Vegyk szre, hogy az utols sszeadsnl tlcsorduls volt, ami visszacsatoldott. Az l-es komplemenst gy kapjuk, hogy az sszes 0-t 1-re, s az sszes 1-est 0-ra cserljk. Ily mdon a 0100101011000010 sszeg l-es komplcmense 1011010100111101, ami maga az ellenrz sszeg. A vev mind a ngy 16 bites szt sszeadja, belertve az ellenrz sszeget is. Ha nem lpett fel hiba a csomagban, akkor a vevnl az sszeg egyrtelmen 1111111111111111 lesz. Ha a bitek kzl az egyik 0, akkor tudjuk, hogy a csomagban hiba lpett fel. Eltndhet az olvas, hogy elszr is mirt biztosit az UDP egy ellenrz sszeget, amikor sok adatkapcsolati rtegbeli protokoll (idertve a npszer Ethernet protokollt) is biztost hibaellenrzst. Az ok az, hogy nincs arra garancia, hogy a forrs s a cl kztti sszes adatkapcsolat biztost hibaellenrzst. Tovbb, mg ha a szegmenseket helyesen is viszik t az adatkapcsolaton, elfordulhat, hogy a bithibk akkor keletkeztek, amikor a szegmenst egy tvlaszt memrijban troltk. Mivel adott, hogy sem az adatkapcsolatok kztti megbzhatsg, sem pedig a memriabcli hibafelismers nem garantlt, az UDPnek a szlltsi rtegben kell hibafelismerst biztostania vgpontok kztti alapon ahhoz, hogy a vgpontok kztti adattviteli szolgltats hibafelismerst biztostson. Ez egy pldja az nnepelt vgpontok kztti rendszertervezsi elvnek (end-end princi- ple), [Saltzer 1984], amely a kvetkezket mondja ki, mivel bizonyos funkcionalitsokat (ez esetben a hibafelismerst) vgpontok kztti alapon kell megvalstani: lehet, hogy az alsbb szintekre helyezett funkcik redundnsak vagy kevsb hasznosak, sszehasonltva a magasabb szinten megvalstott ugyanilyen funkcik hatkonysgval. Mivel felttelezzk azt, hogy az IP szmra hasznos biztonsgi intzkeds brmelyik msodik rtegbeli protokoll fltt is fut -, ha a szlltsi rteg hibaellenrzst vgez. Ugyan az UDP biztost hibaellenrzst, semmit sem tesz a hiba kikszblse rdekben. Nmely UDP-megvalstsok egyszeren eldobjk a srlt szegmenst, msok egy figyelmeztetssel egytt tovbbtjk a szegmenst az alkalmazsnak. Ezzel tulajdonkppen krbejrtuk, amit az UDP-rl tudnunk kell. Hamarosan ltni fogjuk, hogy a TCP megbzhat adattviteli szolgltatst, valamint ms olyan szolgltatsokat is biztost az alkalmazsai szmra, amelyeket az UDP nem nyjt. Termszetesen a TCP sszetettebb is, mint az UDP. Mieltt azonban rtrnnk a TCP trgyalsra, hasznos lesz ttekinteni a megbzhat adattvitel mgtt rejl alapelveket.

3.4. A megbzhat adatszllts elvi alapjai


Hbben az alfejezetben a megbzhat adatszllts problmit tekintjk t ltalban. Mivel a megbzhat adattvitel megvalstsa nemcsak a szlltsi rtegben fordul el, hanem az adatkapcsolati s az alkalmazsi rtegekben is, errl itt kell beszlni. Az ltalnos problma ennlfogva kzponti jelentsg a hlzatpts szempontjbl. Csakugyan, ha valakinek egy top 10-es listt kellene ksztenie a hlzatpts egsznek alapvet fontossg problmirl, ez lenne az egyik jellt a listavezet szerepre. A kvetkez alfejezetben

232

3.

SZLLTSI

RTEG

megvizsgljuk a TCP-t, s megmutatjuk, hogy a TCP sok alapelvet alkalmaz azok kzl, amelyeket a kvetkezkben szeretnnk bemutatni. A 3.7. brn lthat a megbzhat adattvitel tanulmnyozshoz hasznlt keretrendszer. A felsbb rtegbeli entitsok szmra nyjtott szolgltatsabsztrakci megbzhat csatorna, amelyen keresztl az adatok tvihetk. Egy megbzhat csatornval az tvitt adatbitek nem srlnek (vltoznak 0-rl 1-re vagy fordtva) vagy vesznek el, s az sszes adat abban a sorrendben rkezik meg, ahogyan azt elkldtk. Pontosan ez az a szolglati modell, amit a TCP az t meghv internetes alkalmazsoknak knl. A megbzhat adattviteli protokoll (reliable data transfer protocol) felelssge, hogy ezt a szolgltatsabsztrakcit megvalstsa. Ezt a feladatot az a tny teszi nehzz, hogy a megbzhat adattviteli protokoll alatti rtg megbzhatatlan lehet. Pldul a TCP megbzhat adattviteli protokoll, amit egy megbzhatatlan (IP) vgpontok kztti hlzati rteg fltt valstottak meg. ltalnosabban, a kt megbzhatan kommunikl vgpont alatti rteg llhat egyetlen fizikai adatkapcsolatbl (ahogy az adatkapcsolati szint adat- tviteli protokoll esetben), vagy vilgmret hlzatok sszekapcsolsbl is (ahogy a szlltsi szint protokoll esetben). Mindazonltal a mi cljainknak megfelel, ha ezt az alsbb rteget egyszeren egy megbzhatatlan kt pont kzti csatornnak tekintjk.

Alkalmazsi rteg Kld folyamat Vev folyamai

rdt sendo
Szlltsi rteg Megbzhat csatorna

delivex data
Megbzhat adattviteli protokoll (vev oldal)

Megbzhat adattviteli protokoll (kld oldal)

udt send(}

rdt rev)

Hlzati rteg Megbzhatatlan csatorna

(a) Biztostott szolgltats


Jells:

(b) A szolgltats megvalstsa

rr: Adar (~ Csomag

3.3.

SSZEKTTETS

NLKLI SZLLTS:

UDP

233

3.7. bra. Megbzhat adattvitel: a szolglati modell s a szolgltats megvalstsa

234

3.

SZLLTSI

RTEG

Ebben az alfejezetben lpsrl lpsre fejlesztjk ki a megbzhat adattviteli protokoll kld s vev oldalait gy, hogy figyelembe vesszk az alatta tallhat csatornnak egyre sszetettebb modelljeit. A 3.7. (b) bra az adattviteli protokollunk csatlakozsi felleteit brzolja. Az adattviteli protokoll kld oldalt fentrl az rdt_send() fogja meghvni. Ez a kzbestend adatot tadja a vev oldalon a felsbb rtegnek. (Itt az rdt a megbzhat adattviteli protokollt [reliable data transfer] jelli, a _send [klds] pedig azt jelli, hogy az rdt kld oldala hvdik meg. Brmely protokoll fejlesztsekor az els lps a j nvvlaszts!) A vev oldalon az rdt_rcv() fog meghvdni, amikor a csatorna vev oldalrl egy csomag megrkezik. Amikor az rdt protokoll adatot akar kzbesteni a felsbb rtegnek, ezt a deliver_data () meghvsval fogja megtenni. A kvetkezkben a csomag terminolgit alkalmazzuk a szlltsi rtegbeli szegmens helyett. Mivel az ebben az alfejezetben kifejlesztett elmlet a szmtgp-hlzatokra ltalnossgban rvnyes, s nem csak az internet szlltsi rtegre, gy itt az ltalnos csomag kifejezs valsznleg helynvalbb. Ebben az alfejezetben csak az egyirny adattvitel (unidirectional data transfer) esett fontoljuk meg, azaz az adattvitelt a kld oldaltl a vev oldalig. A ktirny (azaz full-duplex) adattvitelt (bidirectional data transfer) nem nehezebb megrteni, de sokkal frasztbb elmagyarzni. Habr csak egyirny adattvitelt vesznk figyelembe, fontos szrevenni, hogy ennek ellenre a protokollunk kld s vev oldalainak mindkt irnyba kell majd csomagokat szlltaniuk, ahogyan ez a 3.7. brn is lthat. Hamarosan ltni fogjuk, hogy az tviend adatokat tartalmaz csomagok cserje mellett az rdt kld s vev oldalainak vezrl csomagokat is kell majd cserlnik oda-vissza. Az rdt-nek mind a kld, mind pedig a vev oldala az udt_send() meghvsval kld csomagokat a msik oldalnak (ahol az udt a megbzhatatlan adattvitelt [unreliable data transfer) jelli).

3.4.1. Megbzhat adatszlltsi protokoll felptse


Most egy sor protokollon haladunk vgig, mindegyik egyre sszetettebb vlik, vgl egy hibtlan, megbzhat adattviteli protokollhoz rkeznk.

Megbzhat adattvitel egy tkletesen megbzhat csatornn t: rdtl.O


Elszr a legegyszerbb esetet gondoljuk t, ahol az alatta lev csatorna teljesen megbzhat. Maga a protokoll, amit rdtl.0-nak fogunk nevezni, trivilis. Az rdtl.O kldjhez s vevjhez tartoz vges llapot automata (finite-state machine, FSM) definciit a 3.8. bra mutatja. A 3.8. (a) brn lv FSM a kld mkdst definilja, amg a 3.8. (b). brn lv FSM a vev mkdst definilja. Fontos megfigyelni, hogy klnll FSM-ek vannak a kldhz s a vevhz. A 3.8. brn a kld s a vev FSM-ek kzl mindegyiknek csak egy llapota van. Az FSM lersnl a nyilak az tmeneteket jellik a protokoll egyik llapotbl a msikba. (Mivel a 3.8. brn mindegyik FSM-nek csak egy llapota van, az tmenet szksgszeren az

3.4. A MEGBZHAT ADATSZLTS LIVI ALAPJAI

235

egyetlen llapotbl nmagba tr vissza hamarosan bonyolultabb llapotdiagramokat is fogunk ltni.) Az tmenetet kivlt esemny a vzszintes vonal fltt lthat, ez az tmenet neve, az esemny bekvetkezsekor vgre hajtott mveletek pedig a vzszintes vonal alatt lthatk. Amikor egy esemny hatsra semmit sem kell tenni, illetve ha nem trtnik semmilyen esemny, s mgis vgre kell hajtani egy mveletet, a A szimblumot fogjuk hasznlni a vzszintes vonal alatt, illetve fltt, hogy vilgosan jelljk a mvelet vagy esemny hinyt. Az FSM kezdeti llapott

236

3.

SZLLTSI

RTEG

rdt send(data)
Fellrl trtn hvsra
f Pocket.=rr.ake_pkt

(data) vrakozs t-. V udt.send (packet)

(a) rdt 1.0: kld oldal


Alulrl r ^ rdt rcv (packet) trtn

hvsra #extract{packet,data) vrakozs -V dliver_data(data)

(b) rdtl.O: vev oldal 3.8. bra. rdt 1. 0 - protokoll egy teljesen megbzhat csatorna szmra

szaggatott nyl jelzi. Habr a 3.8. brn lev FSM-nek csak egyetlen llapota van, a tovbbiakban az FSM-eknek tbb llapotuk lesz, ezrt fontos azonostani minden FSM kezdeti llapott. Az rdt kld oldala egyszeren adatokat fogad a felsbb rtegtl az rdt_send (data) esemnyen keresztl, ltrehoz egy, az adatokat tartalmaz csomagot (a make_ pkt(data) mveleten keresztl), s a csomagot a csatornba kldi. A gyakorlatban az rdt_send(data) esemny egy, a felsbb rtegbeli alkalmazs eljrshvstl (pldul az rdt_send () -hez) szrmazna. A vev oldalon az rdt az alatta fekv csatorntl kapja meg a csomagot az rdt_ rcv(packet) esemnyen t, eltvoltja az adatot a csomagbl (az extract (packet, data) mvelettel), s tovbbadja azt a felsbb rtegnek (a deliver_data(data) m velettel). A gyakorlatban rdt_rcv(packet) esemny egy, az alsbb rtegbeli protokoll ltali eljrshvstl (pldul az rdt_rcv( )-hez) szrmazna. Ebben az egyszer protokollban nincs klnbsg az adategysg s a csomag kztt. Tovbb, minden csomagfolyam a kldtl a vevig halad - tkletesen megbzhat csatornnl nincs szksg arra, hogy a vev oldal brmilyen visszajelzst adjon a kldnek, hiszen semmi sem romolhat el! Vegyk szre, hogy azt is feltteleztk, hogy a vev kpes olyan gyorsan fogadni az adatokat, amilyen gyorsasan azt a kld ppen kldi. Ennlfogva nincs szksg arra, hogy a vev fl megkrje a kldt, hogy lasstson!

Megbzhat adattvitel egy bithibkat tartalmaz csatornn t: rdt2 . 0


Az alul lev csatorna valszerbb modellje, amikor a csomagban lev bitek megsrlhetnek. Az ilyen bithibk jellemzen akkor kvetkeznek be a hlzat

3.4. A MEGBZHAT ADATSZLTS LIVI ALAPJAI

237

fizikai alkotelemeiben, amikor a csomagot elkldik, halad a hlzatban vagy tmenetileg troljk. Tovbbra is azt felttelezzk, hogy az elkldtt csomagok ugyanabban a sorrendben rkeznek meg (br a bitjeik megsrlhettek), ahogy azokat elkldtk.

Mieltt ltrehoznnk egy ilyen csatornn megbzhatan kommunikl protokollt, nzzk meg azt, hogyan kezelnnek egy ilyen helyzetet az emberek. Gondoljuk t, hogyan diktlnnk telefonon keresztl egy hossz zenetet. Egy jellemz forgatknyvben az zenetet tvev minden egyes mondat utn, amit hallott, megrtett s rgztett, azt mondhatja, hogy igen. 1 la az zenetet tvev nem teljesen rt egy mondatot, akkor megkri nt, hogy ismtelje meg. Ez az zenetdiktl protokoll pozitv nyugtzst (positive acknowledgment) (igen) s negatv nyugtzst (negative acknowledgment) (Krem, ismtelje meg!) is hasznl. Ezek a vezrlzenetek lehetv teszik a vev szmra, hogy tudassa a kldvel, hogy mely zeneteket kapta meg helyesen, s melyeket hibsan, ame lyeket ennlfogva meg kell ismtelni. Egy szmtgp-hlzati krnyezetben az ilyen jra- kldseken alapul megbzhat adattviteli protokollokat ARQ protokollokknt (Automatic Repeat reQuest - automatikus ismtlskrs) ismerjk. Az ARQ protokollokban alapveten hrom tovbbi kpessg szksges ahhoz, hogy a bithibk jelenltt kezelni tudja: Hibajelzs. Elszr is egy olyan mdszerre van szksg, amely lehetv teszi a vev szmra, hogy szrevegye, ha bithibk lptek fel. Eleventsk fel az elz szakaszbl, hogy az UDP pontosan erre a clra hasznlja az internetes ellenrz sszeg mezt. Az 5. fejezetben rszletesebben is megvizsgljuk majd a hibajelzsi s hibajavtsi technikkat; ezek a mdszerek teszik lehetv a vev szmra, hogy felfedjk, s lehetsg szerint kijavtsk a csomag bithibit. Egyelre elg annyit tudnunk, hogy ezekhez a megoldsokhoz az szksges, hogy a kld (az eredetileg t kldend adat bitjein fell) plusz biteket is tkldjn a vevnek - ezeket a biteket az rdt2.0-s datagram csomagellenrz sszeget tartalmaz mezjben fogjuk sszegyjteni. A vev visszajelzse. Mivel a kld s a vev jellemzen klnbz, akr egymstl ezer kilomterekre lev vgrendszereken fut, az egyetlen lehetsg, hogy a kld megismerje a vev vilgnzett (jelen esetben azt, hogy a csomagot helyesen kapta-e meg, vagy sem), hogy a vev visszacsatolst nyjt a kld szmra. Az zenetdiktlsi forgatknyvben ilyen visszacsatolsra pldk a pozitv (ACK) s negatv (NAK) nyugtk. Ehhez hasonlan az rdt2.0 protokollunk is ACK- s NAK-csomagokat kld vissza a vevtl a kldnek. Elvileg ezeknek a csomagoknak elgsges egy bit hossznak lennik - pldul a 0 rtk jellhetn a NAK-ot, az 1-es rtk pedig az ACK-ot. jraklds. Azt a csomagot, amit a vev hibsan kapott meg, a kld jra fogja kldeni. A 3.9. brn lthat az rdt2.0-nak, egy olyan adattviteli protokollnak az FSMrepre- zentcija, ami hibajelzst, pozitv nyugtkat s negatv nyugtkat alkalmaz. Az rdt2.0 kld oldalnak kt llapota van. A bal oldali llapotban a kld oldali protokoll arra vr, hogy adatokat kapjon a felsbb rtegtl. Amikor az rdt_send( data) esemny bekvetkezik, a kld ltrehoz egy, a kldend adatokat tartalmaz csomagot (sndpkt) egy csomagellenrz sszeggel egytt (pldul az UDPszegmens esetben a 3.3.2. alfejezeteben lert mdon), s ezt kveten az

udt_send(sndpkt) mvelettel elkldi a csomagot. A jobb oldali llapotban a kld protokoll a vevtl egy ACK vagy egy NAK-csomagra vr. Ha ACK-csomag rkezik (a 3.9. brn ezt az esemnyt az rdt_ rcv(rcvpkt) && is ACK (rcvpkt) jelli), a vev tudja, hogy a legutbb elkldtt csomag helyesen rkezeti meg, s gy a protokoll visszatr a felsbb rtegtl kldtt ada-

rdt send(data) sndpkt*make_pkt (data,checksum) udt_send(sndpkt)

Fellrl trtn hvsra vrakozs

Vrakozs ACK-ra vagy NAK-ra '

rdt_rcv (rcvpkt}

(.(, .

sNAK

(rcvpkt. > udt_send (sndpkr.)

rdt_rcv(rcvpkt) isACK(rcvpkt) (a) rdt2.0: kls oldal


trtn hvsra

O
^ Alulrl

vrakozs

O
rdt_rcv(rcvpkt) && corrupt(rcvpkt) sndpkt^make_pkt (\AK) udt_send (sndpkt.)

rdt_rcv(rcvpkt) fii notcorrupt(rcvpkt) extr'act (rcvpkt,data) deliver data(data) sndpkr--make j>kt (ACK) udtsend (sndpkr.) (b) rdt2.0: vev oldal 3.9. bra. rdt2. 0 - protokoll egy bithibkat okoz csatorna szmra

tokra val vrakozs llapotba. Ha NAK-csomag rkezik, a protokoll jrakkli az utols csomagot, s vr, hogy az jrakldtt adatcsomagra vlaszknt a vev egy ACK-t vagy NAK-ot kldjn vissza. Fontos megjegyezni, hogy amikor a kld a

vrakozs ACK-ra- vagy-NAK-ra llapotban van, akkor a felsbb rtegtl nem kaphat tbb adatot, azaz nem kvetkezhet be az rdt_send() esemny. Az csak azutn kvetkezik be, ha a kld egy ACK-t kap, s elhagyja ezt az llapotot. Ennlfogva a kld nem fog j adatot kldeni addig, amg nem biztos benne, hogy a vev az aktulis csomagot helyesen megkapta. Az ilyen viselkeds miatt az rdt2.0-hoz hasonl protokollok megll-s-vr (stop-and-wait) protokollokknt ismertek. Az rdt2.0 vev oldali FSM-je mg mindig egyetlen llapottal rendelkezik. Csomagrkezskor a vev vagy egy ACK-val vagy egy NAK-kal vlaszol attl fggen, hogy az tvett csomag srlt-e vagy sem. A 3.9. brn az rd t_rc v (rcvpkt) & & cor r upt (rcvpkt) jells annak az esemnynek felel meg, amikor egy csomag megrkezik, s a vev hibsnak tallja.

Az rdt2.0-s protokoll gy tnhet, hogy helyesen mkdik, de sajnos van egy vgzetes hibja. Ez pedig az, hogy nem vettk szmtsba annak a lehetsgt, hogy egy ACK- vagy NAK-csomag is megsrlhet! (Mieltt tovbbolvasna, gondolkozzon el azon, hogyan javthat ki ez a problma.) Sajnos ez az apr hiba nem is olyan rtalmatlan, mint amilyennek ltszik. A legkevesebb az, hogy ellenrzsszeg biteket kell az ACK/NAK-csomagok- hoz adnunk annak rdekben, hogy az ilyen hibkat fel tudjuk fedni. A nehezebb krds az, hogy a protokollnak hogyan kellene helyrellnia az ACK vagy NAK-csomagban lev hibbl. Itt az a nehzsg, hogy ha egy ACK vagy NAK megsrlt, a kld nem tudhatja meg, hogy a vev az utoljra kldtt adaltredket helyesen kapta-e meg. Tekintsnk hrom lehetsget a srlt ACK-k vagy NAK-ok kezelsre: Els lehetsgknt fontoljuk meg, hogy mit tenne egy ember az tizenetdiktls forga- tkny vben. Ha a beszl nem rtette az igen vagy Krem, ismtelje meg vlaszokat a vevtl, a beszl valsznleg megkrdezn, Mit mondott? (ezzel egy j tpus a kldtl-a-vevig kldtt csomagot ptve be a protokollunkba). Erre a diktl meg ismteln a vlaszt. De mi van akkor, ha a beszl Mit mondott? krdse srl meg? A vev, mivel fogalma sincs arrl, hogy a rszben rthetetlen mondat a diktls rsze volt-e vagy egy krs az utoljra kldtt vlasz megismtlsre, valsznleg egy Mit mondott? krdssel vlaszolna. s persze lehet, hogy a vlasz ismt rthetetlen. Vilgos teht, hogy nehz utat vlasztottunk. A msodik lehetsg, hogy elegend ellenrz sszeg bitet csatolunk ahhoz, hogy a kld ne csak szlelni, hanem javtani is tudja a bithibkat. Ez megoldja a kzvetlen problmt egy olyan csatorna esetben, amiben a csomagok megsrlhetnek, de nem veszhetnek el. A harmadik lehetsg a kld szmra, hogy egyszeren jrakildi a/ aktulis adatcsomagot, ha egy rszben srlt ACK- vagy NAK-csomagot kap. Ez a megkzelts azonban dupliklt csomagokat (duplicate packets) eredmnyez a kldtl-a-vevig men csatornban. A dupliklt csomagok alapvet nehzsge, hogy a vev nem tudja, hogy az ltala utoljra kldtt ACK-t vagy NAK-ot a kld helyesen kapta-e meg. Ily mdon nem tudhatja eleire, hogy egy berkez csomag j adatokat tartalmaz-e, vagy csupn egy ismtls! Egyszer megolds erre az j problmra (s amelyet majdnem minden ltez adat- tviteli protokollban, gy a TCP-ben is alkalmaznak), hogy az adatcsomaghoz egy j mezt adnak, s a kldnek szmoznia kell az adatcsomagjait gy, hogy egy sorszmot (sequence number) tesz ebbe a mezbe. A vevnek gy csak ezt a sorszmot kell ellenriznie ahhoz, hogy meghatrozza, hogy a megrkezett csomag jraklds-e vagy sem. Egy megll-s-vr protokollnak ebben az egyszer esetben egy egybites sorszm elegend, mivel ez a vev szmra lehetv teszi, hogy megtudja, hogy a kld a mr korbban tkldtt csomagot kldi-e jra (a berkezett csomagnak ugyanaz-e a sorszma, mint a legutbb fogadott csomagnak), vagy pedig egy j csomag (a sorszm vltozik, elrelp a modulo2-es aritmetikban). Mivel jelenleg olyan csatornt feltteleznk, ami nem veszt csomagokat, maguknak az ACK- s NAK-csomagoknak nem szksges feltntetnik a nyugtzott csomag sorszmt. A kld tudja, hogy a fogadott ACKvagy NAK-csomagot (srlt vagy sem) az ltala legutbb kldtt adatcsomagra

vlaszknt hoztk ltre. A 3.10. s 3.11. bra az rdt2.0 javtott verzijnak, az rdt2.1-nek FSM-lerst brzoljk. Az rdt2.1-nl lv kld s vev FSM-ek mindegyiknek most mr ktszer annyi

cdl send(data)
sndpkt (0,data,checksum) (sndpkt) *=make_pkt udt_serid rdt_rcv(rcvpkt)&& (corrupt(rcvpkt)| | iSNAK(rcvpkt))
Vrakozs 0-s ACK-ra vagy NAK-ra

^ Fellrl trtn 0-s hvsra vrakozs

udt send(sndpkt)

rdt_rcv(rcvpkt) fi& notcorrupt (rcvpkt)j L & isACK(rcvpkt)

rdt_rcv(rcvpkt) .& notccrrupi (rcvpkt) &, isACK (rcvpkt)


Fellrl trtn 1 -es hvsra vrakozs

Vrakozs 1-es ACK-ra / vagy NAK-ra

rdt_rcv(rcvpkt) &
&

(corrupt(rcvpkt) || isNAK(rcvpkt)) udt_send(sndpkt)

rdt send(data)

sr.dpktp*make_pkt ( 1, data, checksumI udt send(sndpkt)

3.10. bra. rd t 2 A kld rdt rev ( rcvpkt) L L notcorrupt (rcvpkt) & has_seqO(rcvpkt) rdtrcv(rcvpkt) ifi corrupt(rcvpkt) sndpkt-makepkt (NAK,checksum) udt_send(sndpk t)
Vrakozs 0ra alulrl
O.

rdt_rcv(rcvpkt) notcorrupt (rcvpkt)SShas_seqO(rcvpkt)

rdt rev(rcvpkt) notcorrupt (rcvpkt)&4has_seql(rcvp kt) sndpkt=make_pk t (ACK,checksum) udt_send(sndpk r) extract (rcvpkt,data) deliver data(data) $ndpktL-.T.ake_pkt (ACK, checksum) ud t_send (sndp kr. )

sndpkt=make_pkt (ACK,checksum) udt send(sndpkt) rdt__rcv (rcvpkt) && notcorrupt (rcvpkt) &fi hasseql (rcvpkt) extract(rcvpkt,data) deliver_data(data) sndpktmake_ckt(ACK,checksum) udt_send(sndpkt)

Vrakozs 1-re alulrl

rdt_rcv(rcv pkt) corrupt(r cvpkt) s ndpktmake_pkt (NAK,chec ksum) udt send(sndp kt)

llapota van, mint korbban volt. Ennek oka, hogy a protokoll llapotnak most mr azt is tkrznie kell, hogy az aktulisan (a kld ltal) kldtt vagy (a vevnl) vrt csomagnak 0-s vagy 1-es sorszmnak kell-e lennie. Vegyk szre, hogy a mveletek azokban az llapotokban, ahol a 0-s szm csomagot kldik vagy vrjk, tkrkpei azoknak, amelyekben az 1-es szm csomagot kldik vagy vrjk - a klnbsgek csak a sorszm kezelsbl addnak. Az rdt2.1-es protokoll a vevtl a kldnek kldtt pozitv s negatv nyugtkat is hasznl. Amikor egy soron kvli csomagot kap, a vev egy pozitv nyugtt kld arrl a csomagrl, amit megkapott. Amikor egy srlt csomagot kap, a vev egy negatv nyugtt kld. Ugyanazt a hatst rhetjk el, mint egy NAK, ha egy NAK kldse helyett egy ACK-t kldnk az utols helyesen megrkezett csomagrl. A kld, ami kt ACK-t kap ugyanarrl a csomagrl (azaz dupliklt ACK-t kap) tudja, hogy a vev nem kapta meg hibtlanul azt a csomagot, amelyiket a ktszer nyugtzott csomagot kveten kldtt. A NAK-mentes megbzhat adattviteli protokollunk bithibkat tartalmaz csatornk szmra az rdt2.2, amit a 3.12. s 3.13. bra szemlltet. Az rdt2.1 s az rdt2.2 k ztt az egyetlen apr klnbsg, hogy az utbbinl a vevnek mr annak a csomagnak a sorszmt is lel kell tntetnie, amit az ACK-zenet ltal nyugtz (ezt a vev FSM-jben a make_pkt () argumentumban megadott ACK, 0-val vagy ACK,l-gyel lehet megtenni). A kldnek pedig most mr ellenriznie kell annak a csomagnak a sorszmt, amit a kapott ACK-zenet nyugtz (ezt a kld FSM-jben az isACK()-ban megadott 0 vagy 1 argumentummal lehet megtenni).
rdt send(data) snpkt-makepkt(0,data,checksum) ser.d( sndpkt) rdi rcv(rcvpkt) (corrupt(rcvpkt)I I isACK(rcvpkt,1)) Vrakozs 0-s ACK-ra udt send(sndpkt) Udt

^ Fellrl trtn 0-s hvsra vrakozs rdt_rcv(rcvpkt) && notcorrupt(rcvpkt) && isACK(rcvpkt,1)

rdt_rcv(rcvpkt) 66 notcorrupt(rcvpkt) S& isACK(rcvpkt,0)

Fellrl trtn 1-es hvsra vrakozs

rdtrcv(rcvpkt) 6 (corrupt: (rcvpkt) I isACK(rcvpkt,0)) udt send(sndpkt) rdt send(data) s.ndpkt--*make_pkt ( 1, data,

checksum) udt 3end(sndpkt)

rtt_rcv (rcvpkt) f . u r.otcorrupt (rcvpkt) ( , ( , has_seqG (rcvpkt )


extract(rcvpkt, data) deliverdata(data) 3ndpkt=make_pkL(AK,0,checksum) udt_ser.d{sndpkt) oncethru-1

oncethru=0

rdt_rcv(rcvpkt) (corrupt(rcvpkt )| hasseql(rcvpkt) ) if(oncethru==l) udtsend(sncpkt)

Vrakozs 0-ra alulrl

Vrakozs 1-re alulrl

rdt_rcv(rcvpkt) & & (corrupt(rcvpkt)I | has_ssq0(rcvpkt)) udtsend(sndpkt)

rdt rev(rcvpkt) & notcorrupt(rcvpkt) has seql(rcvpkt) extract(rcvpkt,data) deliver data(data) sr.dpkt-'inake pki (ACK, 1, checksum) udt_send(sndpkt)

3.13. bra. rdt2.2 vev

Megbzhat adattvitel bithibkat tartalmaz, esomagveszt csatornn t: rdt3 . 0


Ttelezzk fel, hogy a bitek elrontsn kvl az alatta lev csatorna el is veszthet csomagokat, ami a mai szmtgp-hlzatokban (belertve az internetet is) nem egy ritka esemny. Kt jabb gondot kell a protokollnak megoldania: (1) hogyan szlelje a csomag- vesztst, s (2) mit tegyen, amikor csomagveszts kvetkezik be. Ellenrz sszeg, sorszm, ACK-csomagok s jrakldsck alkalmazsa - az rdt2.2-ben mr kifejlesztett mdszerek - lehetv teszik szmunkra, hogy megvlaszoljuk a msodik problmt. Az els problma kezelshez viszont szksges egy j protokoll mechanizmus bevezetse. Sok megkzeltsbl lehetsges a csomagvesztssel foglalkozni (jval tbb, mint amelyekre a fejezet vgn lv feladatok sorn fny derl). Itt mi a kldt fogjuk terhelni a csomagveszts szlelsnek s az abbl trtn helyrelltsnak a

feladatval. Ttelezzk fel, hogy a kld tkld egy adatcsomagot, s vagy a csomag, vagy a vev nyugtja a csomagra elvsz. Egyik esetben sem rkezik vlasz a vevtl a kldhz. Ha a kld hajland elg hosszan vrakozni ahhoz, hogy biztos legyen, hogy egy csomag elveszett, egyszeren jrakldheti az adatcsomagot. Gyzdjn meg arrl, hogy ez a protokoll valban mkdik. De mennyi ideig kell a kldnek vrakoznia ahhoz, hogy biztos legyen abban, hogy valami elveszett? A kldnek biztosan legalbb annyi ideig kell vrnia, amennyi a krbefordulsi ksleltets a kld s a vev kztt (ami a kztes tvlasztknl az ideiglenes trolst is tartalmazhatja), plusz annyit, amennyi idt a vevnl a csomag feldolgozsa ignybe vesz.

Sok hlzatban ezt a legrosszabb esetben elfordul maximlis ksleltetst nagyon nehz akr csak megbecslni is, nemhogy biztonsggal tudni. Radsul a protokollnak elmletileg a lehet leggyorsabban kell helyrellnia a csomagvesztsbl - a legrosszabb esetbeli ksleltetsre olyan hossz vrakozst jelenthet, amg a hiba utni helyrellts megkezd dik. Ennlfogva a gyakorlatban alkalmazott megkzelts az, hogy a kld megfontoltan egy olyan idrtket vlaszt, amelynl valszn, br nem garantlt, hogy csomagveszts trtnt. Ha ezen az idn bell nem rkezik meg egy nyugta, a csomag jrakldsre kerl. Figyeljk meg, hogy ha a csomag klnsen nagy ksleltetst szenved, a kld annak ellenre is jrakldheti a csomagot, hogy sem a csomag, sem a nyugtja nem veszett el. Ez bevezeti a dupliklt adatcsomagok (duplicate data packets) lehetsgt a kldtl-a-vevig halad csatornn. rmnkre az rdt2.2 protokoll funkcionalitsa mr elegend ahhoz, hogy a dupliklt csomagok esett kezelni tudja (ezek a sorszmok). A kld nzpontjbl az jraklds ltalnos gygymd. A kld nem tudja, hogy vajon egy adatcsomag vagy egy nyugta veszett-e el, vagy csak egyszeren tl sokat ksik a csomag vagy a nyugta. Minden esetben ugyanaz trtnik: jraklds. Egy idalap jra- kldsi mechanizmus megvalstshoz egy visszaszmll idzt (countdown timer) szksges, amely egy adott id lejrta utn kpes megszaktst kezdemnyezni a kldnl. A kldnek teht kpesnek kell lennie (1) elindtani az idztt minden alkalommal, amikor egy csomagot (akr els alkalommal, akr jbl) elkld, (2) reaglni egy idzt megszaktsra (a megfelel mveleteket elvgezni), s (3) meglltani az idztt.
rdt_ser.d (data) sndpkt=make_pkt(0,data,checksu m) udt _send(sndpkt) start timer

rdtrev(rcvpkt) && (corrupt(rcvpkt) I I isACK(rcvpkt,1))

rdtrev(rcvpkt)

\ S * ;X Fellrl trtn 0-s hvsra vrakoz s

A timeou Vrakozs t 0-s ACK-ra udtsend(sndpkt) start timer

rdtrev(rcvpkt) notcorrupt(rcvpkt) && isACK (rcvpkt, 1) stop timer

rdt_rcv(rcvpkt) (,(, notcorrupt(rcvpkt) && isACK(rcvpkt, 0) stop_timer

timeout udtsend(snripkt) start timer Vrakoz s 1-es ACK-ra

Fellrl trtn 1es hvsra vrakozs

rdt rev (rcvpkt)

rdt_rcv(rcvpkt) S6 ( c o r r u p t ( r c v p k r .) i | is A C K ( r c v p k t , 0)) sndpkt-make_Fkt <1,d at a . c h e c k s u m ) u d t se n d ( s n d p k t) s t ar t t i m e r

252 A 3.14. brn az rdt3.0 kld FSM-je lthat. Az rdt3.0 protokoll 3. A SZLLTSI RTEG megbzhat

adattvitelt biztost egy olyan csatornn, amiben megsrlhetnek vagy elveszhetnek csomagok - a fejezet vgi feladatokban arra krjk majd az olvast, hogy ksztse cl az rdt3.0 vev FSM-jt. A 3.15. brn lthat, hogyan kezeli a protokoll azt az esetet, amikor nem vsz el vagy nem ksik csomag, s azt az esetet, amikor csomagveszts van. A 3.15. brn az id a diagram tetejtl lefel n - vegyk szre, hogy az tviteli s terjedsi ksleltetsek miatt a csomag rkezsi ideje szksgszeren ksbbi idpont, mint a kldsi ideje. A 3.15. (b) -(d) brkon a kld oldalon az sszekapcsolt idpontok jellik az idzt indulst s lejrtt. A fejezet vgn tallhat feladatok felfedik a protokoll j nhny aprbb rszlett. Mivel a csomagsorszmok rtke 0 s 1 kztt vltakozik, az rdt3.0 protokollt nha vltakoz bit protokollnak (alternating-bit protocol) nevezik. Mostanra sszegyjtttk egy adattviteli protokoll f sszetevit. Az ellenrz sszegek, sorszmok, idztk, pozitv s negatv nyugtacsomagok kzl mindegyik kritikus s szksges szerepet jtszik a protokoll mkdsben. Most mr van egy mkd megbzhat adattviteli protokollunk!

3.4.2. Csvezetkes megbzhat adattviteli protokoll


Az rdt3.0 protokoll funkcionlisan helyes protokoll, de nem valszn, hogy brki elgedett lenne a teljestmnyvel, fleg a mai nagysebessg hlzatokon. Az rdt3.0 teljestmnyproblmjnak kzpontjban az a tny ll, hogy ez megll-svr tpus protokoll. Annak rdekben, hogy tisztn lssuk a megll-s-vr viselkeds hatst, tekintsk kt hoszt idealizlt esett: az egyik az Amerikai Egyeslt llamok nyugati partjn tallhat, a msik pedig a keleti partjn, ahogy azt a 3.16. bra szemllteti. A fnysebessg krbefordulsi terjedsi ksleltets a kt vgrendszer kzlt (RTT) krlbell 30 ms. Ttelezzk fel, hogy egy olyan csatorna kti ssze a hosztokat, aminek az tviteli sebessge ( R ) 1 Gb/s (10 ,J bit msodpercenknt). Ma a csomagmret (L) 1000 bjt (8000 bit) csomagonknt - be lertve a fejrszmezket s az adatot is -, a csomagnak az 1 Gb/s-os adatkapcsolatra trtn tnyleges kikldshez szksges id 8000 bit/csomag dlv = =- - - -5^---------- = 8 us ,v R 10 bit/s A 3.17. (a) bra azt mutatja, hogy ha a kld a csomag kldst i = 0-kor kezdi meg, a megll-s-vr protokollal a kld oldalon az utols bit t = L/R = 8 ps-kor lp be a csatornba. Ezt kveten a csomag megteszi a 15 ms-os orszgot tszel tjt, a csomag utols bitje t = RTT/2 + L/R = 15,008 ms-kor jelenik meg a kldnl. Az egyszersg kedvrt azt felttelezzk, hogy az ACK-csomagok rendkvl kicsik (annyira, hogy az tviteli idejket figyelmen kvl hagyhatjuk), s hogy a vev az adatcsomag utols bitjnek berkezst k veten azonnal tud ACK-ot kldeni, a nyugta a kldhz t = RTT + L/R = 30,008 ms-kor rkezik meg. A kld ekkor kldheti ki a kvetkez zenetet. Ekkppen 30,008 ms sorn a kld 3.15. bra. Az rdt3.0, a vltakoz bit protokoll mkdse csak 0,008 ms-ig kldtt. Ha a kld (vagy a csatorna) kihasznltsgt (utilization) az idnek azzal a hnyadval definiljuk, amg a kld lnylegesen adatokat kldtt ki a csatornba, a 3.17. (a) brn lthat analzis azt mutatja, hogy a ,

3.4. A MEGBZHAT ADATSZI.TS ELVI ALAPJAI

253

megll-s-vr protokoll az albbi elg lehangol kldkihasznltsggal (U llild ) rendelkezik:

254 Kld
csomO-t kld

Vev

Kld
csomO-t kld
Cs

Vev 3. A SZLLTSI RTEG

csomO-t kap ACKO-t kld ACKO-t kap csoml-et kld idtllps csrni j rkul dse

n)
csomO-t kap ACKO-t kld

ACKO-t kap csoml-et kld ACKl-et kap csomO-t kld

csoml-t kap ACKl-t kld

csomO-t kap ACKO-t kld

csoml-t kap ACKl-t kld

ACKl-et kap csomO-c kld csomO-t kap ACKO-t kld

(a) Csomagveszts nlkli mkds

(b) Elveszett csomag

Kld
csornO-t kld ACKO-t kap csoml-et kld idtl lps csoml jrakldse ACKl-et kap csomO-t kld

Vev

Kld
csomO-t kld
Cs

Vev

csomO-t kap ACKO-t kld ACKO-t kap csoml-et kld idtllps csoml j rakldse ACKl-et kap csomO-t kld ACKl-et kap nem tesz semmit

0r no

csomO-t. kap ACKO-t kld

csoml-t kap ACKl-t kld

csoml-t kap ACKl-t kld csoml-et kap (dupiiktum szlelse) ACKl-et kld csomO-t kap ACKO-t kld

csoml-et kap (dup i ik t u m s z l e l s e ) A C K l - et k l d csomC-t kap ACKO-t kld

3.15. bra. Az rdt3.0, a vltakoz bit protokoll mkdse

3.4. A MEGBZHAT ADATSZI.TS ELVI ALAPJAI

255

(c) Elveszett nyugta

(d) Korai idtllps

Adatcsomag

Adatcsomagok

' 1 v

m >wi w i < t
ACK-csomagok

(a) Egy megll-s-vr protokoll mkds kzben (b) Egy csvezetkes protokoll mkds kzben

3.16. bra. A megll-s-vr protokoll s a csvezetkes protokoll szembelltsa Azaz a kld az idnek csak 2,7 tzezred rszben volt elfoglalt! Ms oldalrl nzve, a kld csak 1000 bjtot volt kpes elkldeni 30,008 ms alatt, ami csak 267 kb/s-os tnyleges tbocstkpessg - annak ellenre, hogy egy 1 Gb/s-os adatkapcsolat llt rendelkezsre! Kpzeljk el a szerencstlen hlzatfelgyelt, aki egy vagyont fizetett a gigabites tviteli sebessgrt, de msodpercenknt csak 267 kilobites tbocstkpessget kpes elrni! Hz a plda jl szemllteti, hogy a hlzati protokollok miknt kpesek az alattuk lev hlzati hardver ltal szolgltatott adottsgokat korltozni. Ugyancsak figyelmen kvl hagytuk a kldnl s a vevnl az alsbb rtegbeli protokoll feldolgozsi idket, ahogyan a feldolgozsi s sorbanllsi ksleltetseket is, amelyek brmely, a kld s a vev kztti kzbens tvlasztnl bekvetkezhetnek. Ezeknek a hatsoknak a figyelembevtele csak tovbb nveln a ksleltetst s tovbb hangslyozn a gyenge teljestmnyt. Ennek a bizonyos teljestmnyproblmnak egyszer a megoldsa: egy meglls-vr mkds helyett a kldnek megengedjk, hogy tbb csomagot kldjn ki anlkl, hogy a nyugtkra vrna - ezt brzolja a 3.16. (b) bra. A 3.17. (b) bra azt mutatja, hogy ha a kldnek megengedjk, hogy hrom csomagot kikildjn, mieltt a nyugtkat megvrn, a kld kihasznltsga lnyegben meghromszorozdik. Mivel a sok klds alatt ll kldtl-a-vevig halad csomag gy szemlltethet, mintha egy csvezetket tltennk meg, ez a mdszer csvezetkezsknt (pipelining) is ismert. A csvezetkezs kvetkezmnyei a megbzhat adattviteli protokollokra az albbiak:

Kld

Vev

Az els csomag els bitje tkldve, t = 0


Az els csomag utols bitje tkldve, t = L/R Megrkezik az 1. csomag els bitje Megrkezik az 1. csomag

utols bitje, ACK kldse

ACK

megrkezik,

kvetkez

csomag kldse, t = RTT + L/R

(a) Megll-s-vr mkds

Kld

Vev

Az els csomag els bitje tkldve, t = 0 Az els csomag utols bitje tkldve, t = L/R Megrkezik az 1. csomag els bitje Megrkezik az 1. csomag utols ACK kldse bitje, az 2. csomag Megrkez ACK kldse ik utols bitje, az 3. csomag Megrkezik utols bitje, ACK kldse

ffrSt e.
ACK megrkezik, kvetkez

csomag kldse, t = RTT + L/R

(b)

Csvezetkes mkds

3.4.3. N-nel trtn visszalps (GBN)


Egy N-nel trtn visszalpses (Go-Back-N, GBN) protokollban a kld tbb csomagot is kikldhet (ha rendelkezsre ll) anlkl, hogy nyugtra vrna, de knyszertve van r, hogy egy adott maximlisan megengedhet szm (iV) nyugtzatlan csomagnl ne lehessen tbb a csvezetkben. A GBN protokollt rszletesebben ebben az alfejezetben trgyaljuk. De mieltt tovbblpnnk, arra biztatjuk az olvast, hogy jtsszon a GBN-kis- alkalmazssal (remek kisalkalmazs!) a kapcsold webhelyen. A 3.18. bra a sorszmok tartomnyt szemllteti egy GBN protokollban a kld nzpontjbl. Ha a base (alap) vltozt a legrgebbi, nem nyugtzott csomag sorszmaknt definiljuk, a nextseqnum-ot (kvetkez sorszmot) pedig a legkisebb, mg nem hasznlt sorszmknt (azaz a kvetkez kikldend csomag sorszmaknt), akkor a sorszmok tartomnya ngy rszre oszthat. A [ 0,base-l] tartomnyba es sorszmok olyan csomagokhoz tartoznak, amelyeket mr tkldtk s nyugtztak is. A [base,next- seqnum-1] tartomny a mr kikldtt, de mg nem nyugtzott csomagoknak felel meg. A [nextseqnum,base+N-l] tartomnyba es sorszmokat lehet azokhoz a csoma gokhoz hasznlni, amelyek azonnal elkldhetk, ha adat rkezik a felsbb rtegbl. Vgl pedig a base+N s annl nagyobb sorszmok nem hasznlhatak addig, amg egy ppen a csvezetkben lev nyugtzatlan csomagot (konkrtan a base sorszmmal rendelkez csomagot) nem nyugtznak. Ahogy azt a 3.18. bra sugallja, az elkldtt, de mg nem nyugtzott csomagok sorszmnak megengedett tartomnya egy N mret ablaknak is tekinthet a sorszmok tartomnyn bell. A protokoll mkdse sorn ez az ablak elrefel csszik a sorszmok tern. Emiatt iV-re gyakran ablakmretknt (window size) hivatkoznak, magt a GBN protokollt pedig csszablakos protokollnak (slidingwindow protocol) nevezik. Mindenekeltt azon tndhet az olvas, hogy vajon mirt korltozzuk a htralev, nyugtzatlan csomagok szmt N rtkre. Mirt nem engednk korltlan szm ilyen csomagot? A 3.5. alfejezetben ltni fogjuk, hogy a forgalomszablyozs az egyik ok, amirt korltozzuk a kldt. Ennek msik okt a 3.7. alfejezetben fogjuk megvizsglni, amikor a TCP torldskezelst tanulmnyozzuk. A gyakorlatban a csomag sorszmt egy rgztett hosszsg mez hordozza a csomag fejrszben. Ha k a csomag sorszm mezjben tallhat bitek szma, akkor teht a sorszmok a [0, 2* - 1] tartomnyba esnek. Mivel a sorszmok tartomnya vges, minden sorszmokkal kapcsolatos szmtst modulo 2 l aritmetikval kell vgezni. (Azaz a sorszmok tartomnya egy 2* mret gyrknt kpzelhet el, ahol a 2* 1 sorszmot kzvetlenl a 0-s sorszm k veti.) Emlkezznk r, hogy az rdt3.0-nak a sorszma 1 bites volt, s a [0, 1] tartomnyba esett. A fejezet vgn tallhat szmos problma a sorszmok vges tartomnynak kvet-

base

nextseqnum

Jells:

QMr

9 nyugtz ott

0 Hasznlhat,

D
Ablakmret

Kikldtt, mg nem nyugtzott

mg nem kikldtt
Nem

hasznlhat

kezmnyeit trja fel. A 3.5. alfejezetben ltni fogjuk, hogy a TCP-nek 32 bites a sorszmmezje, ahol a TCP-sorszmok a csomagok helyett a bjtfolyam bjtjait szmozzk. A 3.19. s 3.20. brk egy ACK-alap, NAK-mentes CBN protokoll kld s vev oldalainak kiterjesztett FSM-lerst mutatja. Erre az FSM-lersra kiterjesztett FSM-knt hivatkozunk, mert (egy programozsi nyelv vltozihoz hasonlan) vltozkat rendeltnk a base-hez s a nextseqnum-hoz, tovbb ezeken a vltozkon vgzett mveleteket s ezeket tartalmaz feltteles mveleteket adtunk hozz. Figyeljk meg, hogy a kiterjesztett FSM-lers mostanra gy kezd kinzni, mint egy programozsi nyelv lers. [Bochman 1984] kivl ttekintst nyjt az FSM-technikk egyb kiterjesztseirl, mint ahogy ms, a protokollok lersra alkalmas, programozsi nyelv alap technikkrl is. A GBN-kldnek hromfajta esemnyre kell reaglnia: Fentrl jv hvs. Amikor fellrl meghvjk az rdt_send( )-et, a kld elszr ellenrzi, hogy tele van-e az ablak, azaz hogy van-e N db htralev, nyugtzatlan csomag. Ma az ablak nincs tele, ltrehozza s elkldi a csomagot, a vltozkat megfelelen frissti. Ha az ablak tele van, a kld egyszeren visszakldi az adatot a felsbb rtegnek, ez egy implicit jelzse annak, hogy az ablak tele van. A felsbb rtegnek gy ksbb alighanem jra kellene prblkoznia. Egy igazi megvalstsban valsznbb, hogy a kld vagy ideiglenesen trolja (de nem kldi el azonnal) ezt az adatot, vagy van egy szinkronizcis mechanizmusa (pldul egy szemafor vagy egy jelzbit), amely a felsbb rteg szmra csak akkor engedlyezi a hvst, amikor az ablak nincs tele.
rdt send(data) if ( n e x t s e q nu m < * o as e + N ) { sndpkt [nextseqnum] =make_pkt( n e x t s e q nu m , d at a, c h e c k s u m ) u d t s e n d (s r . d p x t ( ne x t s e q n u m ) ) i f( b as e = n e x t s e q n u m) s t ar t , t i m e r ne x t s e q n u m + +
el3e base-2 nextseqnum1

refusedata ( d at a)

' x

t imeout start timer udt send(3ndoktIbase]) udt_send(sndpkt|base+ i1)


rdt rcv(rcvpkt) & c o r r u p t ( r c v p k t )

udt_send(sndpkt[nextseqnum-1])

rdt rcv (rcvpkt) notccrrupt (rcvpkL) base-getac:knum(rcvpkt) >1 T f <base=nextseqnum) s t o p t i m e r else start t i m e r

rdt_rcv<rcvpkt) noLcorrupt (ccvpkr.) && hasseqnum(rcvpkL, expectedseqnurr.) extract (rcvpkt,data) deiiverdata (data) sndpkt-make_pkt (expectedseqnum, ACK, checksum) udt send(sndpkt) expectedscqnum++

O
Vr

default udt_send (sndpkt)

expectedseqnum! sndpkt=make_pkt{C,ACK, check sum)

3.20. bra. A GBN-vev kiterjesztett FSM-lersa Egy ACK vtele. A GBN protokollun kban egy n sorszm csomag nyugtjt halmozott vagy kumulld nyugtnak (cumulative acknowledgement) vesszk, ezzel jelezvn, hogy az n sorszm csomagig, belertve az n sorszmt is, minden csomag hibtlanul megrkezett a vevhz. Erre hamarosan visszatrnk, amikor a GBN-vev oldalt vizsgljuk. Egy idtllpsi esemny. A protokol I neve: w-nel trtn visszalps a kld csomag- vesztskor vagy nagymrtk ksleltetskor tanstott viselkedsbl szrmazik. Ahogy a megll-s-vr protokollnl, az idzt itt is az adatvesztst vagy nyugtavesztst kvet helyrellts segtsre szolgl. Ha idtllps trtnik, a kld az sszes elzleg kikldtt, de mg nem nyugtzott csomagot jrakldi. A 3.19. brn a kl dnk csak egyetlen idztt hasznl, ami a legrgebben kikldtt, de mg nem nyug tzott csomag idztjnek tekinthet. Ha rkezett egy nyugta, de mg vannak tovbbi kikldtt, de mg nem nyugtzott csomagok, az idztt jraindtja. Ha nincsenek htralev, nyugtzallan csomagok, lelltja az idztt. A GBN-ben a vev mkdse is egyszer. Ha egy n sorszm csomag hibtlanul s sorrendben rkezik meg (azaz az utoljra a felsbb rtegnek tadott adat az n 1 sorszm csomagban rkezett), a vev egy nyugtt kld az w-edik csomagra, s a csomag adatot tartalmaz rszt tadja a felsbb rtegnek. Minden ms esetben a vev figyelmen kvl hagyja a csomagot, s jra elkld egy nyugtt az utoljra sorrendben rkezeit csomagra. Vegyk szre, hogy mivel az adatokat a felsbb rtegnek egyesvel adja t, ha a A>adik cso mag megrkezett s kzbestsre kerlt, akkor az sszes k-nl kisebb sorszm csomag is kzbestve lett. Ekkppen a kumulatv nyugtk hasznlata GBN esetn sszer vlaszts. A GBN protokollunkban a vev eldobja a nem sorrendben rkezett csomagokat. Habr elhamarkodottnak s pazarlnak tnhet eldobni egy helyesen (de nem sorrendben) megrkezett csomagot, van indoka annak, hogy gy tesznk. Emlkezznk r, hogy a vevnek sorrendhelyesen kell az adatot a felsbb rtegnek tadnia. Na mr most tegyk fel, hogy az /i-edik csomagol vrja, de az n + I-edik rkezik meg. Mivel az adatokat sorrendhelyesen kell kzbesteni, a vev

meglehetn, hogy ideiglenesen eltrolja (elmenti) az n + 1 -edik csomagot, s


csak azutn kzbesti kzbestette. Ha azt, miutn mr az n-edik csomagot megkapta s

azonban az /i-edik csomag elvsz, a GBN-kld jrakldesi szablya kvetkeztben vgl az is, s az n + 1-edik csomag is jrakldsre kerl. gy a vev egyszeren el is dobhatja az n + 1-edik csomagot. Ennek a megkzeltsnek a vev pufferelsnek egyszersge az elnye - a vevnek nem szksges pufferelnie egyetlen nem sorrendben rkezett csomagol sem. gy mg a kldnek szmon kell tartania az ablaknak als s fels hatrait s a nextseq- num helyzett ezen az ablakon bell, a vevnek csupn egyetlen informcit kell szmon tartania: a sorrendben kvetkez csomag sorszmt. Ezt az rtket az expectedseqnum vltozban trolja, ahogy ez a 3.20. brn a vev FSM-ben lthat. Termszetesen egy hibtlanul megrkezett csomag eldobsnak htrnya, hogy ezt kveten a csomag az jraklds sorn elveszhet vagy eltorzulhat, s ily mdon tbb jrakldsre lehel szksg. A 3.21. bra a GBN protokoll mkdst mutatja abban az esetben, ha az ablakmret ngy csomagnyi. Emiatt az ablakmret-korltozs miatt a kld i a 0tl 3-ig elkldi a csomagokat, de ezt kveten, mieltt folytathatn a kldst, meg kell vrnia, hogy ezek kzl
Kld
csom-t kld

Vev

csm]-et kld csom2-t kld

csomO-t kap ACKO-t kld csml-et kap ACKl-et kld

csom3-at kLd (vr) csom3-at kap, eldobja ACKl-et kld ACKO-t kld csom4-et kld ACKl-et kap osom5-t kld - csom2 idtllps csom2-t kld csom3-at kld 030014-et kld csom5-t kld csom4-et kap, eldobja ACKl-et kld csom2-t kap, kzbesti ACK2-t kld csom3-at kap, kzbesti ACK3-at kld cso:n5-t kap, eldobja ACKl-et kld

a csomagok kzl egyet vagy tbbet nyugtzzanak. Minden egymst kvet nyugta megrkezsvel (pldul ACKO s ACK1) az ablak elbbre csszik, s a kld egy jabb csomagot kldhet ki (csom4, illetve csom5). A vev oldalon a 2-es csomag elveszett, s ezrt a 3-as, 4-es s 5-s csomagok nem sorrendhelyesen rkeztek, gy eldobsra kerltek. Mieltt a GBN trgyalst lezrnnk, rdemes megfigyelni, hogy ennek a protokollnak a protokollverembeli megvalstsa valsznleg a 3.19. brn lthat kiterjesztett FSM felptshez hasonl. Valszn, hogy a megvalsts klnfle eljrsok formjban trtnne, amelyek a klnfle esemnyek bekvetkezsre adott vlaszlpseket jelentik. Az ilyen esemnyalap programozs (event-based programming) sorn, a klnfle eljr sokat ms protokollverembeli eljrsok hvjk meg, vagy egy megszakts eredmnyekp pen hvdnak meg. A kldnl ezek az esemnyek a kvetkezk: (1) egy felsbb rtegbeli entitstl szrmaz hvs, hogy amikor csomag rkezik, hvja meg az rdt_send () -et, (2) egy idzt megszaktsa s (3) egy alsbb rtegbeli entitstl szrmaz hvs, hogy amikor csomag rkezik, hvja meg az rdt_rcv() -t. Megjegyezzk, hogy a GBN protokoll magba foglalja szinte az sszes megoldst, amivel a 3.5. alfejezetben szembeslni fogunk, amikor a TCP megbzhat adattviteli alkotelemeit tanulmnyozzuk. Ezek a megoldsok magukba foglaljk a sorszmok, kumulld nyugtk, ellenrz sszegek hasznlatt s egy idtllps/jraklds alap mkdst.

3.4.4. Szelektv ismtls


A GBN protokoll lehetv teszi a kld szmra, hogy a 3.16. brn lthat csvezetket esetleg megtltse csomagokkal, gy kerlve el a csatorna kihasznltsgnak problmit, amit a megll-s-vr protokollnl megfigyeltnk. Vannak azonban olyan esetek, amelyek sorn a GBN maga is hatkonysgi problmkkal kzd. Arrl van sz, hogy ha mind az ablakmret, mind pedig a svszcicsscg-ksleltets szorzat nagy, sok csomag lehet a csvezetkben. gy egyetlen csomaghiba hatsra a GBN nagyszm csomagot ismtel, so kat flslegesen. A csatornahibk valsznsgnek nvekedsvel a csvezetk megtelhet ezekkel a flsleges ismtlsekkel. Kpzeljk el, ha az iizenetdiktls forgatknyvben minden alkalommal, amikor egy sz rthetetlen, a krltte lv mind az 1000 szt (egy 1000 szavas ablakmretet vve pldaknt) meg kellene ismtelni. A diktlst lelasstan a rengeteg megismtelt sz. Ahogy a nevbl is sejthet, a szelektv ismtls protokollok gy kerlik el a flsleges jrakldseket, hogy a kldnek csak azokat a csomagokat kell jrakldenie, amelyekrl azt felttelezi, hogy a vevhz hibsan rkeztek meg (azaz elvesztek vagy megsrltek). Ez az egyni, igny szerinti jraklds szksgess teszi, hogy a vev egynileg nyugtzza a helyesen fogadott csomagokat. Az N mret ablak ismt arra fog szolglni, hogy a csvezetkben korltozza a fggben lev, nyugtzatlan csomagok szmt. Ugyanakkor, a GBNnel szemben, az ablakba es csomagok egy rsze mr nyugtzott lesz. A 3.22. bra a sorszmok tartomnyt szemllteti a szelektv ismtlst vgz (Selective Repeat - SR) kld szempontjbl. A 3.23. bra pedig az SR kld ltal vgrehajtott klnbz mveleteket rszletezi. Az SR-vev nyugtzza a helyesen megkapott csomagokat, fggetlenl attl, hogy sorrendben rkeztek-e meg. A sorrenden kvli csomagokat ideiglenesen trolja, amg a hinyz csomagok (azaz a kisebb sorszm csomagok) meg nem rkeznek, amikor is egy halom csomagot lehet sorrendhelyesen kzbesteni a

felsbb rtegnek. A 3.24. bra az SR-vev ltal vgrehajtott klnbz lpseket rszletezi. A 3.25. bra egy pldt mutat az

send base

nexlseqnum

i
Ablakmret

(a) Sorszmok a kld nzpontjbl

Jells:
Mr nyugtzott

hasznlh at, mg
nem epldtt

Kikldtt, mg nem nyugtzo tt

DNem

hasznlhat

rcv b a s e ^ i

Ablakmret

(b) Sorszmok a vev nzpontjbl

N
Jells:
Sorrenden kvli (puferclt). de mr nyugtzott

Eifogaohat
(abiakon belli)

vrt. de meg nem fogadott

Nem
hasznlhat

3.22. bra. A sorszmok tartomnya a szelektv ismtlses (SR) kld s vev

nzpontjbl

SR mkdsre elveszett csomagok esetn. Figyeljk meg a 3.25. brn, hogy a vev kezdetben puffereli a 3-as, 4-es s 5-s csomagokat, s csak a 2-es csomaggal egytt kzbesti azokat a felsbb rtegnek, amikor a 2-es csomagot mr megkapta.
1. Adatok fogadsa fellrl. Amikor adatok rkeznek fellrl, az SR-kld ellenrzi a csomag szmra rendelkezsre
ll kvetkez sorszmot. Ha a sorszm a kld ablakn bellre esik, az adatot becsomagolja s elkldi; ellenkez esetben vagy puffereli vagy pedig, ahogyan a GBN esetn is, visszakldi a felsbb rtegnek ksbbi tvitel cljbl.

2. Idtllps. Az idztket ismt arra hasznljk, hogy vdelmet nyjtsanak az elveszett csomagok ellen.
Ugyanakkor, most mr minden csomagnak sajt logikai idztje kell, hogy legyen, mivel idtllps esetn csak egyetlen csomag kerl tvitelre. Egyetlen hardveres idzt segtsgvel utnozni lehet tbb logikai idzt mkdst [Varghese 1997J.

3. Nyugta fogadsa. Ha nyugta rkezik, az SR kld az adott csomagot elfogadottnak jelli, feltve, hogy az az

ablakba esik. Ha a csomag sorszma a send base -zel egyenl, az ablak alaprtke elre- megy a legkisebb sorszm nyugtzatlan csomagig. Ha az ablak mozog, s vannak olyan mg nem elkldtt csomagok, amelyeknek a sorszma az ablakon bellre esik, ezek a csomagok tovbbtdnak.

5. Az [rcv_base, rcv base+N-lJ-rarromtnyo/] bellre es sorszm csomag hibtlan vtele. Ebben az esetben vett csomag a vev ablakn bellre esik, s egy szelektv ACK*csomagot kld vissza a kldnek. Ha a csomagot korbban mg nem vette, azt ideiglenesen trolja. Ha a csomag sorszma a vev ablak alapjval (re v_base a 3.21. brn) egyenl, akkor ezt a csomagot s az sszes korbban puffereit s (az rcv base-zel kezdden) folytonosan szmozott csomagot a felsbb rtegnek kzbesti. Ezt kveten a vev ablakot elrbb viszi annyival, ahny csomagot a felsbb rtegnek kzbestett. Vegyk pldul a 3.25. brt. Amikor az rcv_base=2 sorszm csomag berkezik, azt s a 3-as, 4-es s 5-s csomagokat a felsbb rtegnek kzbesti. 6. Az [rcv_base-N, rcv_base-l] tartomnyon bellre es sorszm csomag hibtlan vtele. Ebben az esetben egy nyugtt kell generlni, annak ellenre, hogy ez egy olyan csomag, amit a vev mr korbban nyugtzott. 7.

Egybknt. A csomagot figyelmen kvl kell hagyni.

3.24. bra, SR-vev esemnyek s reakcik Fontos megjegyezni azt, hogy a 3.24. bra 2. lpsben a vev ismtelten nyugtzza (ahelyett, hogy figyelmen kvl hagyn) azokat a mr megkapott csomagokat, amelyek egy bizonyos, az aktulis ablak alaprtke alatti sorszmmal rendelkeznek. Gyzze meg magt az olvas arrl, hogy ez az ismtelt nyugtzs csakugyan szksges. Adott pldul a kld s vev sorszmainak tartomnya a 3.22. brn, ha nincs nyugta a vevtl a kldig ha lad send_base csomagra, a kld vgl is jra fogja kldeni a send_base csomagot, annak ellenre, hogy egyrtelm (szmunkra, nem a kld szmrai), hogy a vev mr megkapta azt a csomagot. Ha a vevnek nem kellene nyugtznia ezt a csomagot, a kld ablaka sosem mozdulhatna elrbb! Ez a plda az SR protokollok s sok ms protokoll) egy fontos tulajdonsgt mutatja. A kldnl s a vevnl nem mindig azonos, hogy mit tekint hibtlanul megrkezett csomagnak, s mit nem. Az SR protokollok szmra ez azt jelenti, hogy a kld s vev ablakok nem minden esetben fognak egybeesni. A kld s a vev ablakok kztti szinkronizci hinynak fontos kvetkezmnyei vannak, amikor a sorszmok vges tartomnynak valsgval szembeslnk. Fontoljuk meg, hogy mi trtnhetne pldul a sorszmok ngycsomagnyi vges tartomny: 0, 1,2,3, s hrmas ablakmret esetn. Tegyk fl, hogy 0-tl 2-ig a csomagokat a kld elkldte, azok hibtlanul meg is rkeztek s a vev nyugtzta. Ennl a pontnl a vev ablaka a negyedik, tdik s hatodik csomagnl jr, amelyeknek a sorszmai sorrendben: 3,0,1. Most nzznk kt esetet. Az els esetben (a 3.26. (a) brn lthat) az els hrom csomagra elvesztek a nyugtk, s a kld jrakldi ezeket a csomagokat. A vev gy kvetkezknt egy 0-s sorszm csomagot kap, amely az elsnek elkldtt csomag msolata. A msodik esetben (a 3.26. (b) brn lthat) az els hrom csomagra minden nyugta helyesen megrkezett. Ezrt a kld az ablakt elrbb lpteti, s elkldi a negyedik, tdik s hatodik csomagot 3-as 0-s s 1-es sorszmmal (egyez sorrendben). A 3-as sorszm csomag elveszett, de a 0-s sorszm csomag megrkezik - egy j adatot tartalmaz csomag. Tekintsk most a vev nzpontjt a 3.26. brn, ahol egy jelkpes fggny van a kld s a vev kztt, mivel a vev nem ltja a kld cselekvseit. A vev

mindssze csak az ltala a csatornbl kapott s az oda kldtt zenetek sorrendjt figyeli meg. Ami a vevt illeti, a 3.26. brn a kt eset azonos. Nincs mdja, hogy megklnbztesse az els csomag jrakldst az tdik csomag eredeti elkldstl. A helyzet az, hogy az az ablakmret, ami l-gyel kisebb, mint a sorszmok tartomnya, nem hasznlhat. De mennyire kell ki-

Kld

Vev

0 1 2 3 4 5 6 7 8 9 csomO elkldve 012 34 5 678 9 csrni elkldve 0 1 2 3 4 5 6 7 8 9 csom2 elkldve 0 1 2 3 4 5 6 7 8 9 csom3 elkldve, ablak tele 0 1 2 3 4 5 6 7 8 9 ACKO megrk., csom4 elkldve 0 1 2 3 4 5 6 7 8 9 ACK1 megrk., csom5 elkldve 0 1 2 3 4 5 6 7 8 9 csorr.2 IDTLLPS, csom2 jrakldve csom3 megrk., puffereive, ACK3 elkldve 0 1 2 3 4 5 6 7 8 9 csom4 megrk., pufferelve, ACK4 elkldve 0 1 2 3 5 6 7 8 9 csom5 megrk., pufferelve, ACK5 elkldve 0 1 2 3 4 5 6 7 8 9 csom2 megrk., csom2, csom3, csom4, csom5 kzbestve, ACK2 elkldve 0 1 2 3 4 5 6 7 8 9 4 ACK3 megrk., semmit sem kld 0 1 2 3 4 5 6 7 8 9 csomO megrk., kzbestve, ACKO elkldve 0 1 23 4 5 6 7 8 9

csoml megrk., kzbestve, ACK1 elkldve 1 2 3 4 5 6 7 8 9

3.25. bra. SR-mkds csinek lennie az ablakmretnek? A fejezet vgn lev egyik feladat arra kri az olvast, hogy mutassa meg, hogy SR protokolloknl az ablakmretnek kisebbnek vagy fele akkornak kell lennie, mint a sorszmok tartomnynak mrete. A kapcsold webhelyen tallni fog egy kisalkalmazst, ami az SR protokoll mkdst eleventi meg. Prblja meg vgrehajtani ugyanazokat a ksrleteket, amelyeket a GBN kisalkalmazssal is vgzett. Az eredmnyek megegyeznek az elvrsaival? Ezzel vgre rtnk a megbzhat adattviteli protokollok trgyalsnak. Sok mindent lefedtnk, s szmos mechanizmust mutattunk be, amelyek egytt megbzhat adattvitelt biztostanak. A 3.2. tblzat sszegzi ezeket a mechanizmusokat. Most, hogy mr megfigyelhettk ezeket a mechanizmusokat mkds kzben, s sszellt a kp, arra biztatjuk az olvast, hogy ismt

tekintse t ezt a szakaszt, hogy vilgoss vljon, hogyan

Kld ablak
(vtel utn)

Kld ablak
(vtel utn)

Vev ablak
(vtel utn)

Vev ablak
(vtel utn)

0 0 0

12 3 0 1 2 12 3 0 1 2 12 3 0 1 2

csom O csom l csora 2

0 0 0

12 3 0 1 2 12 3 0 1 2 12 3 0 1 2

csom O ACKO 0 csoml

12 3 0 12 3 0 12 3 0

12 12 12

ACKO ACK1 ACK2

0 C 0

12 3 0

12

ACK1

1 2 3 0 1 2 12 3 0 12

csom 2 ACK2 0

12 3 0 1 2 12 3 0 1 2

csom 3 csom O

idtllps csomOt jraklai

0-s sorszm csomag vtele

0-s sorszm csomag vtele

(b)

3.26. bra. Az SR vev dilemmja tl nagy ablakokkal: j csomag vagy jraklds? ptettk be lpsenknt ezeket a mechanizmusokat annak rdekben, hogy a kldt s a vevt sszekt csatornnak egyre nvekv bonyolultsg (s egyre valsghbb) modelljeit kapjuk, vagy hogy a protokollok teljestkpessgt javtsuk.

3.2. tblzat. A megbzhat adattviteli mechanizmusok s hasznlatuk sszegzse


Mechanizmus Ellenrz sszeg Idzt Hasznlat, megjegyzsek A bithibk szlelsre szolgl a tovbbtott csomagban.

Csomag rvnytelentsre/jrakldsre hasznljk, esetleg azrt, mert a csomag (vagy a nyugtja) a csatornn elveszett. Mivel idtllpsek elfordulhatnak akkor is, ha a csomag ksik, de nem veszett el (tl korai idtllps), vagy amikor a vev megkapta a csomagot, de a vevtl a kldnek kldtt nyugta elveszett, a vev egy csomag dupliklt msolatait is megkaphatja. Sorszm A kldtl a vev irnyba halad adatcsomagok folyamatos szmozsra hasznljk. A vett csomagok kztt a hinyz sorszm teszi lehetv a vev szmra, hogy szlelje az elveszett csomagot. Csomagok azonos sorszma teszi lehetv a vev szmra, hogy egy csomag dupliklt msolatait felismerje. Nyugta A vev arra hasznlja, hogy a kldvel tudassa, hogy egy csomag vagy csomagsorozat hibtlanul megrkezett. A nyugtk jellemzen az ppen nyugtzott csomag vagy csomagok sorszmt tartalmazzk. A protokolltl fggen a nyugtk lehetnek egyediek vagy kumulldak. Negatv nyugta A vev arra hasznlja, hogy tudassa a kldvel, hogy nem kapta meg a csomagot hibtlanul. A negatv nyugtk jellemzen annak a csomagnak a sorszmt tartalmazzk, amelyik nem rkezett meg helyesen. Ablak, csvezetkezs A kldt korltozni lehet, hogy csak egy adott szmtartomnyba es sorszm csomagokat kldjn. Azltal, hogy megengedett tbb csomag elkldse nyugtra vrakozs nlkl, a kld kihasznltsga javthat a megll-s-vr tpus mkdshez kpest. Hamarosan ltni fogjuk, hogy az ablakmret a vev csomagvteli s pufferelsi kpessge, a hlzat torldsi szintje vagy mindkett alapjn is bellthat.

Fejezzk be a megbzhat adattviteli protokollok trgyalst azzal, hogy tekintetbe vesznk mg egy tovbbi felttelezst a csatorna modelljben, amire a protokoll pl. Emlkezznk vissza, hogy azt feltteleztk, hogy a kld s a vev kztti csatornban a csomagokat nem lehet jrarendezni. ltalnossgban ez a felttelezs sszer akkor, amikor a kldt s a vevt egyetlen fizikai vezetk kti ssze. Ugyanakkor, ha a kettt sszekt csatorna egy hlzat, elfordulhat a csomagok jrarendezse. A csomag-jrarendezs egyik formja az, amikor egy csomag rgi msolatai x sorszmmal vagy nyugtaszmmal megjelennek annak ellenre, hogy sem a kld, sem a vev ablaka nem tartalmazza x-et. A csomagjrarendezssel a csatorna gy tekinthet, mint ami alapveten puffereli a cso magokat, s a jvben brmikor spontn mdon kiadja ezeket a csomagokat. Mivel a sorszmok jra felhasznlhatk, figyelmet kell fordtani az ilyen dupliklt csomagok elleni vdekezsre is. A gyakorlatban hasznlt megkzelts az, hogy gondoskodnak arrl, hogy a kld addig ne hasznlja fel jra a sorszmot, ameddig nem biztos" abban, hogy egy korbban x sorszmmal elkldtt csomag sincs mr a hlzatban. Ezt gy teszi meg, hogy azt felttelezi, hogy egy csomag egy adott maximlis idn tl nem lhet a hlzatban. A TCP nagysebessg hlzatokra val kiegsztse [RFC 1323] krlbell hromperces maximlis csomaglettartamot felttelez. [Sunshine 1978] egy olyan mdszert r le a sor -

3.5. sszekttets-alap szllts: TCP

szmok hasznlatra, ahol az jrarendezsi problmk teljesen elkerlhetk.

A megbzhat adattvitel alapjul szolgl alapelvek ttekintse utn trjnk r a TCP-re - az internet szlltsi rtegbeli, sszekttets-alap, megbzhat szlltsi protokolljra. Ebben az alfejezetben ltni fogjuk, hogy a TCP - annak rdekben, hogy megbzhat adattvitelt nyjtson - sok, az elz alfejezetben trgyalt, mgttes alapelvre tmaszkodik, belertve a hibajelzst, az ismtlseket, a kumulld nyugtkat, az idztket s a fejrszeket a sorszmok s a nyugtaszmok szmra. A TCP-t az RFC 793, RFC 1122, RFC 1323, RFC 2018 s RFC 2581 definiljk.

3.5.1. A TCP-sszekttets
A TCP-t sszekttets-alapnak (connection-oriented) nevezik azrt, mert mieltt egy alkalmazsi folyamat elkezdhetne adatokat kldeni egy msiknak, a kt folyamatnak elszr kezet kell fognia egymssal - azaz elkszt szegmenseket kell kldenik egymsnak, hogy ltrehozzk a ksbbi adattvitel paramtereit. A TCP-sszekttets ltestsnek rszeknt az sszekttets mindkt oldala szmos, a TCP-sszekttetssel sszefgg TCP-llapotvltoz (melyek kzl sokrl ebben cs a 3.7. alfejezetben lesz sz) kezdeti rtkt lltja be. A TCP-sszekttets nem vgpontok kztti TDM- vagy FDM-vonal, mint egy vo nalkapcsolt hlzatban; sem pedig egy virtulis vonal (lsd 1. tjezet), mivel az sszekt- tets-llapot teljes egszben a kt vgrendszerben van jelen. Mivel a TCP protokoll csak a vgrendszerekben fut, s a kzbens hlzati elemeken (tvlasztkon s adatkapcsolati rtegbeli kapcsolkon) nem, a kzbens hlzati elemek nem kezelnek TCP sszekttets-llapotokat. Valjban a kzbls tvlasztk teljes mrtkben lnyegtelenek a TCP-sszekttetsek szmra datagramokat ltnak, nem sszekttetseket.
Egy kis trtnelmi

Vinton Cerf, Rbert Kahn s a TCP/IP Az 1970-es vek elejn a csomagkapcsolt hlzatok nagymrtkben terjedni kezdtek, ahol az AR- PAnet - az internet elfutra csak egy volt a sok hlzat kzl. Mindegyik hlzatnak sajt protokollja volt. Kt kutat, Vinton Cerf s Kbrt Kahn felismerte ezen hlzatok sszekapcso lsnak fontossgt s feltallt egy TCP/IP nev hlzatkzti protokollt (Transmission Control Protocol/Internet Protocol - tvitelvezrl protokoll/intcrnetprotokoll). Mabr Cerf s Kahn kez detben egyetlen egysgnek tekintette a protokollt, ezt ksbb kettvlasztottk TCP-re s IP-rc, amelyek kln-kln mkdtek. Cerf s Kahn 1974 mjusban az 19741. A TCP/lP protokollt, amely a mai internet alapeleme, a PC-k s munkallomsok ltezse eltt, az Ethernetek s ms helyi hlzati technolgik elburjnzsa, s a web, a hanganyagok folyamszer letltse s a csevegs eltt terveztk meg. Cerf s Kahn lttk, hogy igny van egy olyan hlzati protokollra, amelyik egyrszt szleskren tmogat mg nem definilt alkal mazsokat, msrszt pedig lehetv teszi, hogy tetszleges hosztok s adatkapcsolati rtegbeli protokollok egyttmkdjenek. 2004-ben Cerf s Kahn megkaptk az ACM vndordjt, amelyet a szmtstechnika No- beldjnak tartanak, a hlzatok sszekapcsolsa tern vgzett ttr munkjukrt, idertve az

IEEE Transactions on

Communications Technology cm folyiratban megjelentetett egy cikkel a TCP/IP-rl fCerf

internet alapvet kommunikcis protokolljnak, a TCP/IP-nek a megtervezst s meg valstst, valamint a hlzati fejlesztsek tern vgzett lelkes vezeti munkjukrt.

A TCP-sszekttets duplex (full-duplex) szolgltatst biztost: ha az egyik hoszton fut A folyamat s a msik hoszton fut B folyamat kzlt TCP-sszekttets van, akkor alkalmazsi rtegbeli adat haladhat az A folyamattl a B folyamatig, mikzben alkalmazsi rtegbeli adat halad a B folyamattl az A folyamat fel. Ugyanakkor egy TCP-sszekttets mindig ktpontos (point-to-point) sszekttets, azaz egyetlen kld s egyetlen vev kztt jn ltre. Az gynevezett tbbesklds (lsd 4.7. alfejezet) - adat tvitele egy kldtl tbb vevnek egyetlen klds mvelettel - a TCP-vel nem lehetsges. A TCP-nl kt hoszt trsasg, de hrom mr tmeg! A kvetkezkben tekintsk t, hogyan jn ltre egy TCP-sszekttets. Tegyk fel, hogy egy, az egyik hoszton fut folyamat sszekttetst szeretne ltesteni egy, a msik hoszton fut msik folyamattal. Emlkezznk vissza arra, hogy az sszekttetst kezdemnyez folyamatot kliens- (vagy gyfl-) folyamatnak nevezik, mg a msik folyamatot szerver- (vagy kiszolgl-) folyamatnak. A kliens alkalmazsi folyamata elszr rtesti a kliens szlltsi rtegt, hogy sszekttetst szeretne ltesteni egy szerveren fut folyamattal. Idzzk fel a 2.7. alfejezetbl, hogy egy Java-kliensprogram a

Socket clientSocket = new Socket("hstname",portNumber);


parancs kiadsval teszi meg ezt, ahol a hostname a szerver neve, a portNumber pedig a folyamatot azonostja a szerveren. A kliens szlltsi rtege ezt kveten hozzfog a TCP-sszekttets ltrehozshoz a szerveren lev TCP-vel. Az alfejezet vgn - nem tl rszletekbe menen - trgyaljuk az sszekttets ltestsnek folyamatt. Egyelre elegend annyit tudni, hogy a kliens elszr egy specilis TCPszegmenst kld, a szerver egy msodik specilis TCP-szegmenssel vlaszol, vgl pedig a kliens egy harmadik, szintn specilis szegmenssel vlaszol. Az els kt szegmens nem szllt felhasznli adatot, azaz alkalmazsi rtegbeli adatot, a harmadik mr szllthat felhasznli adatot. Mivel a kt hoszt kztt hrom szegmens kerl elkldsre, ezt az sszekttets-ltestsi folyamatot gyakran nevezik hromutas kzfogsnak (three-way handshake). Mihelyt a TCP-sszekttets ltrejtt, a kt alkalmazsi folyamat adatokat tud kldeni egymsnak. Tekintsk a kliensfolyamattl a szerverfolyamathoz trtn adatkldst. A kliensfolyamat egy adatfolyamot kld t a szoketen (a folyamat ajtajn) a 2.7. alfejezetben ismertetett mdon. Amint az adat az ajtn keresztlhalad, a kliensen fut 'TCP kezei kz kerl. A 3.27. brn bemutatott mdon a TCP ezt az adatot az sszekttets kld puffe- rehez irnytja, ami a kezdeti hromutas kzfogs sorn flretett pufTerek kzl az egyik. A 'TCP idrl idre adattredkeket vesz ki a kld puferbl. rdekes mdon a TCP ler sa [RFC 793) igen felletes annak meghatrozsban, hogy a TCP-nek tnylegesen mikor kell a puffereit adatot elkldenie. Azt mondja, hogy a TCP-nek akkor kell szegmensekben elkldenie az adatot, amikor az neki megfelel. A maximlis adatmennyisget, amit kivehet s egy szegmensbe helyezhet, a legnagyobb szegmensmret (maximum segment size, MSS) korltozza. Az MSS-t tipikusan gy lltjk be, hogy elszr meghatrozzk a helyi kld hoszt ltal kldhet legnagyobb adatkapcsolati rtegbeli keret hosszt (az gyne vezett legnagyobb tvihet adatmennyisget (maximum transmission unit, MTU). Ezt kveten az MSS-

t gy lltjk be, hogy a TCP-szegmens (amikor egy IP-datagramba cso magoljk) biztosan belefrjen egyetlen adatkapcsolati rtegbeli keretbe. Az MTU jellemz rtkei: 1460 bjt, 536 bjt s 512 bjt. Volt olyan javaslat ennek megoldsra, hogy hatrozzk meg az tvonal MTU-jt (a legnagyobb adatkapcsolati keret, ami a forrstl a vevig minden adatkapcsolaton tkldhet [RFC 1191)), s az MSS-t az tvonal MTU-rtke

3.27. bra. TCP-kiild- s-vevpufferek


alapjn lltsk be. Vegyk szre, hogy az MSS a szegmensben a maximlis adatkapcsolati adatmennyisg, nem pedig a TCP-szegmens maximlis mrete a fejrszekkel egytt. (Ez a terminolgia zavar, de egytt kell lnnk vele, mivel mr igencsak elterjedt.) A TCP a kliens adatnak minden tredkt egy TCP-fejrsszel ltja el, ezltal ltre hozva a TCP-szegmenseket (TCP segments). A szegmenseket tadja a hlzati rtegnek, ahol azokat kln-kln hlzati rtegbeli IP-datagramokba csomagoljk. Az IP-data- gramokat ezt kveten kikldik a hlzatba. Amikor a msik oldalon egy TCP megkap egy szegmenst, a szegmensben szlltott adatatokat a TCPsszekttets vevpufferbe helyezi, ahogyan ez a 3.27. brn is lthat. Az alkalmazs ebbl a pufferbl olvassa ki az adatfolyamot. Az sszekttets mindkt oldalnak megvan a sajt kld puffere s a sajt vev puffere. (Az on-line forgalomszablyozsi kisalkalmazst a http://www.awl.com/ku- rose-ross cmen lthatja, ami a kld- s vevpufferek animcijt mutatja.) A fenti fejtegetsbl ltjuk, hogy egy TCP-sszekttets a kvetkezkbl pl fel: pufferekbl, vltozkbl, egy szoketbl, amely az els hoszt egy folyamathoz kapcsoldik, egy msik puffersorozatbl, vltozkbl, s egy, a msik hoszt egy folyamathoz kapcsold szoketbl. Ahogyan azt korbban emltettk, a hosztok kztti hlzati elemekben (tvlasztkban, kapcsolkban s ismtlkben) nem jellnek ki az sszekttetshez puffereket vagy vltozkat.

3.5.2 A TCP-szegmens szerkezete


Miutn rviden ttekintettk a TCP-sszekttetst, vizsgljuk meg a TCP-szegmens szerkezett. A TCP-szegmens fejrszmezkbl s adatmezbl ll. Az adatmez az alkalmazsi adat egy tredkt tartalmazza. Ahogyan azt fentebb emltettk, az MSS a szegmens adatmezjnek maximlis mrett korltozza. Amikor a TCP egy nagy fjlt kld, mint pldul egy weblap rszt kpz kpet, jellemzen MSS mret

darabokra trdeli a fjlt (kivve az utols tredket, ami gyakran kisebb lesz, mint az MSS). Ugyanakkor az interaktv alkalmazsok gyakran kldenek az MSS-nl kisebb adattredkeket. Pldul a tvoli bejelentkezs alkalmazsok (mint amilyen a Telnet) esetben a TCP-szegmensben az adatmez gyakran csak egy bjtos. Mivel a TCP-fejrsz jellemzen 20 bjt (12 bjttal tbb, mint az UDP-fejrsz), a Telnet ltal kldtt szegmensek csupn 21 bjt hosszak is lehetnek.

A 3.28. bra a TCP-szegmens szerkezetet mutatja be. Ahogyan az UDP esetben is, a fejrsz tartalmaz forrs- s clportszmokat. amiket a felsbb rtegbeli alkalmazsoktl szrmaz alkalmazsokhoz kldtt adat nyalbolshoz/nyalbbontshoz hasznl. Ugyancsak ahogy az UDF-nl is, a fejrsz tartalmaz egy ellenrz sszeg mezt (check- sum field). A TCP-szegmens fejrsze ezeken kvl az albbi mezket tartalmazza: A 32 bites sorszmmezt (sequence number field) s a 32 bites nyugtaszmmezt (acknowledgement number field) a TCP-kiild s vev a ksbb lert mdon a megbzhat adattviteli szolgltats megvalstshoz hasznlja. A 16 bites vteli ablak (rciv window) mezt forgalomszablyozsra hasznlja. A 4 bites TCP-fejrszhosszmez (TCP header length field) a TCP-fejrsz hosszt adja meg 32 bites szavakban mrve. A TCP-fejrsz a TCP-opcik meznek ksznheten vltoz hosszsg lehet. Az opcik mez jellemzen res, gy egy tipikus TCP-fejrsz hossza 20 bjt. Az opcionlis s vltoz hosszsg opcik mez (options field) akkor hasznlatos, amikor a kld s a vev a legnagyobb szegmensmretrl (MSS) egyezkedik, vagy nagysebessg hlzatok esetn ez tartalmazza az ablaksklatnyezt. Egy idblye- gezsi opcit is definiltak. Tovbbi rszletek az RFC 854-ben s az RFC 1323-ban tallhatk. A jelzmez (flag field) hat bitet tartalmaz. Az ACK bitet annak jelzsre hasznljk, hogy a nyugtamezben lev rtk rvnyes, azaz a szegmens egy nyugtt tartalmaz egy sikeresen vett szegmensre. Az RST, SYN s FIN biteket az sszekttets felptshez s lebontshoz hasznljk, amint azt ennek az alfejezetnek a vgn trgyalni fogjuk. A PSH bit belltsa azt jelzi, hogy a vevnek az adatot azonnal tovbbtania kell a felsbb rtegnek. Vgl, az URG bitet annak jelzsre hasznljk, hogy a szegmensben olyan adat (is) van, amit a kld oldali felsbb rtegbeli entits srgseknt jellt meg. Ezen srgs adat utols bjtjnak helyt a 16 bites srgssgi adat mutat mez (urgent data pointer field) adja meg. A TCP-nek rtestenie kell a vevoldali felsbb rtegbeli entitst, ha srgs adat van, s l kell adnia egy mutati, ami a srgs adat vgt adja meg. (A gyakorlatban a PSH bitet, az URG bitet s a srgs adat mutatt nem hasznljk, azonban a teljessg kedvrt megemltjk ezeket a mezket is.)

Sorszmok s nyugtaszmok
A kt legfontosabb mez egy TCP-szegmens fejrszben a sorszm mez s a nyugtaszm mez. Ezek a mezk a TCP megbzhat adattviteli szolgltatsnak a kritikus rszt kpzik. De mieltt belemennnk abba, hogy ezeket a mezket hogyan hasznljk a megbzhat adattvitel biztostsra, elszr nzzk meg, hogy a TCP pontosan mit tesz ezekbe a mezkbe. A TCP az adatokai bjtok strukturlatlan, de rendezett folyamnak tekinti. Ez abban is tkrzdik, ahogy a TCP a sorszmokat hasznlja, mivel a sorszmok az tvitt bjtok folyamt szmoljk, nem pedig az tvitt szegmensek sorozatt. Egy

szegmens sorszma (sequence number fr a segment) gy a szegmens els bjtjnak bjtfolyambeli szma. Nzznk egy pldt. Tegyk fel, hogy egy folyamat az A hoszton egy adatfolyamot szeretne kldeni egy TCP-sszekttetsen keresztl egy B hoszton fut folyamatnak. Az A hoszton a TCP implicit mdon szmozni fog minden bjtot az adatfolyamban. Ttelezzk fel, hogy az adatfolyam egy 500 000 bjtos fjlbl ll, az MSS 1000 bjt s az adat- 32 bit

Forrsport szma Sorszm Nyugtaszm TCP-fej rszhossz Nem hasznlt O l I t- z CC to V/* >3 < CL a: un U-

Clport szma

Vteli ablak

Internet ellenrz sszeg

Srgssgi adat mutat

Opcik

Adat

3.28. bra. A TCP-szegmens szerkezete


folyam els bjtjnak sorszma 0. Ahogy a 3.29. brn lthat, a TCP az adatfolyambl 500 szegmenst hoz ltre. Az els szegmens a 0-s sorszmot kapja, a msodik szegmens az 1000-s sorszmot, a harmadik szegmens a 2000-s sorszmot s gy tovbb. Minden sorszmot a megfelel TCP-szegmens fejrsznek sorszmmezjbe helyez. Tekintsk most a nyugtaszmokat. Ezek egy kicsit bonyolultabbak, mint a sorszmok. Emlkezznk arra, hogy a TCP mkdse duplex, gy az A hoszt adatokat is kaphat B hoszttl, mikzben adatokat kld B hosztnak (ugyanazon TCPsszekttets rszeknt). Minden szegmensnek, ami a B hoszttl rkezik, van egy sorszma a B-tl A fel halad adatok szmra. A nyugtaszm, amit az A hoszt a

szegmensbe tesz a kvetkez bjtnak a sorszma, amit az A hoszt a B hoszttl vr.


rdemes nhny pldt megnzni annak rdekben, hogy megrtsk, mi is trtnik itt. Tegyk fel, hogy A hoszt 0-tl 535-ig minden bjtot megkapott B-tl, s tegyk fel, hogy pp egy szegmenst akar kldeni B-nek. Az A hoszt kvetkeznek B adatfolyambl az 536-os s az azt kvet bjtokat vrja. Ezrt az A hoszt 536-ot r annak a szegmensnek a nyugtaszm mezjbe, amit a B-nek kld. Kvetkez pldnkban tegyk fel, hogy az A hoszt kapott egy szegmenst B hoszttl, ami a 0-tl 535-ig terjed bjtokat tartalmazza, s egy msik szegmenst, ami a 900-tl 1000-ig terjed bjtokat tartalmazza. Valamilyen oknl fogva az A hoszt mg nem kapta meg az 536-tl 899-ig terjed bjtokat. Ebben a pldban az A hoszt mg vr az 536-os (s azt kvet) bjtokra azrt, hogy B adatfolyamt jra

elllthassa. Ennlfogva A B-nek kldtt kvetkez szegmense az 536-ot fogja tartalmazni a nyugtaszm mezjben. Mivel a TCP csak a folyam els hinyz bjtjig nyugtzza a bjtokat, a TCP gynevezett kumulld nyugtkat (cumulative acknowledgements) nyjt. Az utols plda egy fontos, de knyes krdst is felvet. Az A hoszt a msodik szegmens (536-tl 899-ig terjed bjtok) tvtele eltt kapta meg a harmadik szegmenst (900-tl

Fjl Az 1. szegmens adatai A 2. szegmens adatai 11 // 0 1


--------//---------

1000 //

1999 //

499 999

3.29. bra. Fjl adatainak felosztsa TCP-szegmensekbe


1000-ig terjed bjtok). gy a harmadik szegmens nem sorrendben rkezett meg. A knyes krds az, hogy mit tesz a hoszt, ha egy sorrenden kvli szegmens rkezik a TCP-sszekttets sorn. rdekes mdon a TCP RFC-i ezt nem hatrozzk meg, hanem a dntst a TCP-t implementl fejlesztkre bzzk. Alapveten kt vlasztsi lehetsg van: a vev (1) vagy azonnal figyelmen kvl hagyja a sorrenden kvli szegmenseket (ami, ahogy azt korbban trgyaltuk, leegyszersti a vev tervezst), (2) vagy pedig megtartja a sorrenden kvli bjtokat, s vr a hinyz bjtokra, hogy kitltsk a lyukakat. Nyilvnval, hogy az utbbi vlaszts a hatkonyabb a hlzati svszlessget tekintve, s ez az, amit a gyakorlatban is alkalmaznak. A 3.29. brn feltteleztk, hogy a kezd sorszm 0. Valjban azonban egy TCPssze- kttets mindkt oldala vletlenszeren vlaszt ki egy kezd sorszmot. Ezt annak rdekben teszik, hogy minimalizljk a valsznsgt annak, hogy egy a hlzatban mg jelen lev, a kt hoszt kztti korbbi, mr lezrt sszekttetsbl szrmaz szegmenst vletlenl egy, ugyanazon kt hoszt kztti, ksbbi sszekttets (amely vletlenl ugyanazokat a portszmokat is hasznlja, mint amiket a rgi sszekttets hasznlt) rvnyes szegmensnek tekintsenek [Sunshine 1978].

Telnet: esettanulmny sorszmokra s nyugtaszmokra


A Telnet, amelyet az RFC 854-ben definilnak, egy npszer alkalmazsi rtegbeli protokoll, amit tvoli bejelentkezsre hasznlnak. A TCP fltt fut, s gy terveztk, hogy tetszleges hoszlpr kztt mkdjn. Szemben a tmbs adattviteli alkalmazsokkal, amelyeket a 2. fejezetben trgyaltunk, a Telnet interaktv alkalmazs. Egy Telnet-pldt mutatunk be itt, mivel ez jl szemllteti a TCP sorszmait s nyugtaszmait. Megjegyezzk, hogy manapsg sok felhasznl jobban szereti az SSH (Secure Shell) [RFC 4252] protokollt hasznlni, mint a Telnetet, mivel egy Telnet-sszekttets sorn kldtt adatok (a jelszavakat is belertve!) nincsenek titkostva, ezltal sebezhetv tve a Telnetet a lehall- gatsos tmadsokkal szemben (ahogy ezt a 8.7. alfejezetben trgyaljuk). Ttelezzk fel, hogy az A hoszt egy Telnet-munkamenetet kezdemnyez B hoszttal. Az A hoszt kezdemnyezi a munkamenetet, gy ezt nevezik kliensnek, a B hosztot pedig szervernek. Minden, a kliensnl lev felhasznl ltal begpelt karaktert a tvoli hosztnak kldi, a tvoli hoszt pedig minden karakternek visszakldi a msolatt, ami megjelenik a Telnet-felhasznl kpernyjn. Ezt a visszakldst annak biztostsra hasznlja, hogy a Telnet-felhasznl ltal ltott

karaktereket a tvoli hely mr megkapta s feldolgozta. gy minden karakter ktszer halad t a hlzaton az alatt az id alatt, ami a felhasznl billen tyletstl eltelik addig, amg a karakter megjelenik a felhasznl monitorn.

A hoszt

B hoszt

A felhasznl '

C' -t gpel

Hoszt nyugtzza a c 1 vtelt, visszakldi C'-t

Hoszt nyugtzza a visszakldtt ' C' vtelt

Id

Id

3.30. bra. Egy egyszer TCP fltti Telnet-alkalmazs sorszmai s nyugtaszmai


Most tegyk fel, hogy a felhasznl egyetlen C-t t le, majd kvzni megy. Vizsgljuk meg a kliens s a szerver kztt kldtt TCP-szegmenseket. Ahogy a 3.30. brn lthat, a kliensnl s a szervernl 42-es s 79-es kezd sorszmokat feltteleznk. Emlkezznk r, hogy egy szegmens sorszma az adatmezben lev els bjt sorszma. gy a klienstl kldtt els szegmens sorszma 42-es lesz, a szervertl kldtt els szegmens sorszma pedig 79 lesz. Idzzk fel, hogy a nyugtaszm az adat kvetkez bjtjnak sorszma, amit a hoszt vr. Miutn a TCPsszekttets ltrejtt, de mg mieltt adatot kldtek volna, a kliens a 79-es bjtra, a szerver pedig a 42-es bjtra vr. Ahogy a 3.30. brn lthat, hrom szegmenst kldenek. Az els szegmenst a kliens kldi a szervernek, amely az adatmezjben a 'C' bet 1 bjtos ASCIIbrzolst tartalmazza. Ennek az els szegmensnek a sorszm mezjben 42 van, ahogy azt nemrg lertuk. Mivel a kliens mg nem kapott adatot a szervertl, ennek az els szegmensnek a nyugtaszm mezjben 79 lesz. A msodik szegmenst a szerver kldi a kliensnek. Ennek ketts clja van. Egyrszt ez nyugtzza az adatot, amit a szerver megkapott. Azzal, hogy 43-at r a nyugta mezbe, a szerver azt tudatja a klienssel, hogy a 42-es bjtig bezrlag mindent sikeresen megkapott, s most a 43-as s azt kvet bjtokra vr. A msik clja ennek a szegmensnek, hogy visszakldje a 'C' bett. Ezrt a msodik szegmens

adatmezjben a 'C' bet ASCII-brzolsa tallhat. Ennek a msodik szegmensnek a sorszma 79, a szervertl a kliensnek kldtt adatfolyam kezdeti sorszma e TCPsszekttets sorn, mivel ez a legels bjtja a szer ver llal kldtt adatoknak. Figyeljk meg, hogy a klienstl a szervernek kldtt adatra a

nyugtt a szervertl a kliensnek kldtt adatot tartalmaz szegmens szlltja - ezt nevezik a szervertl a kliensnek kldtt adatszegmensre rltetett (piggybacked) nyugtnak. A harmadik szegmenst a kliens kldi a szervernek. Ennek az egyetlen clja az, hogy a szervertl kapott adatot nyugtzza. (Emlkezznk vissza, hogy a msodik szegmens tartalmazott a szervertl a kliensnek kldtt adatot - a 'C' bett.) Ennek a szegmensnek res az adatmezje (azaz a nyugta nincs rltetve a klienstl a szervernek kldtt adatra). A szegmensnek 80-as van a nyugtaszm mezjben azrt, mert a kliens a bjtfolyamot a 79-es sorszmig megkapta, s most a 80-as s azt kvet bjtokat vrja. Mivel a szegmens nem tar talmaz adatot, furcsnak tallhatja, hogy ennek a szegmensnek is van sorszma. De mivel a TCP-nek van egy sorszm mezje, a szegmensnek kell, hogy legyen valamilyen sorszma.

3.5.3. A krbejrsi id becslse s az idzts belltsa


A TCP, ahogy a 3.4. alfejezetben az rdt protokollunk is, egy idtllps/jraklds mechanizmust alkalmaz az elveszett szegmensek okozta hibk helyrelltshoz. Habr ez elvben egyszer, amikor viszont egy valdi protokollban, mint amilyen a TCP is, valstunk meg egy idtllps/jraklds mechanizmust, sok knyes krds merl fel. Taln a legkzenfekvbb krds az idtllpsi intervallum hossza. Nyilvnval, hogy az idtllpsnek nagyobbnak kell lennie, mint a sszekttets krbejrsi ideje (round-trip time, RTT), azaz egy szegmens elkldse s nyugtzs megrkezse kztti id. Klnben flsleges jrakldsek trtnnnek. De mennyivel legyen nagyobb? Elszr is, hogyan kellene az RTT-t becslni? Minden egyes nyugtzatlan szegmenshez kell idztt rendelni? Oly sok krds! Tovbbi trgyalsunk a [Jacobson 1988] TCP-rl rt dolgozatn s a TCP-idztk kezelsrl szl jelenlegi IETF-ajnlsokon [RFC 2988] alapul.

A krbejrsi id becslse
A TCP-idztk kezelsnek tanulmnyozst kezdjk annak megfontolsval, hogy a TCP hogyan hatrozza meg becslssel a kld s a vev kzti krbejrsi idt. Ezt a kvetkezk szerint valstja meg. Egy szegmens minta RTT-je, jelljk SampleRTT-vel, azaz id, ami a szegmens elkldse (azaz az lP-nek trtn tadsa) s a szegmensre kapott nyugta vtele kztt telik el. Ahelyett, hogy minden elkldtt szegmensnl megmrn a SampleRTT-t, a legtbb TCPimplementci egyszerre csak egy SampleRTT mrst hajt vgre. Azaz egy tetszleges idpillanatban a SampleRTT-t csak egy ppen kikldtt, de mg nem nyugtzott szegmensre becsli meg, ami RTT-nknt krlbell egyszer eredmnyez j SampleRTT rtket. Tovbb a TCP sohasem szmt SampleRTT-t egy jrakldtt szegmensre - csak egyszer kikldtt szegmensekre mr SampleRTT-t. (A fejezet vgn tallhat egyik feladat arra kri az olvast, hogy fontolja meg azt, mirt van ez gy.) A SampleRTT rtkek nyilvnvalan szegmensrl szegmensre ingadozni fognak az tvlasztkban fellp torlds s a vgrendszerek a vltoz terhelse miatt. Emiatt az ingadozs miatt brmely SampleRTT rtk a jellemztl eltr lehet. Annak rdekben, hogy egy jellemz RTT-t lehessen becslssel meghatrozni, ezrt termszetes, hogy a SampleRTT rtkeknek valamilyenfajta tlagt vesszk. A TCP a SampleRTT rtkek egy tlagt kezeli, az EstimatedRTT-nek nevezett vltozban.

Mikor megkapja az j SampleRTT rtket, a TCP az albbi kplet alapjn frissti az EstimatedRTT-t:

EstimatedRTT = (1-) x EstimatedRTT + ex x SampleRTT

A fenti kplet programozsi nyelvi llts formjban van felrva - az EstimatedRTT j rtke az EstimatedRTT korbbi rtknek s a SampleRTT j rtknek slyozott kombincija. Az a javasolt rtke a = 0,125 (azaz 1/8) [RFC 2988], amely esetben a fenti kplet a kvetkezkppen alakul: EstimatedRTT = 0 , 8 7 5 x EstimatedRTT + 0 , 1 2 5 x SampleRTT Figyeljk meg, hogy az EstimatedRTT a SampleRTT rtkek slyozott tlaga. Ahogy a fejezet vgn egy feladatban trgyaljuk, ez a slyozott tlag nagyobb slyt ad az jabb mintknak, mint a rgi mintknak. Ez termszetes, mivel az jabb mintk jobban tkrzik a jelenlegi torldsi a hlzatban. A statisztikban az ilyen tlagot exponencilis slyozott mozg tlagnak (exponential weighted moving average, EWMA) nevezik. Az exponencilis sz az EWMA-ban azrt szerepel, mert egy adott SampleRTT slya a frisstsek elrehaladtval exponencilis gyorsasggal cskken. A feladatoknl arra fogjuk krni az olvast, hogy magyarzza meg az exponencilis kifejezst az EstimatedRTT esetben.
Hvek a gyakorlatban

A TCP megbzhat adattvitelt biztosit pozitv nyugtk s idztk hasznlatval nagyjbl gy, ahogy azt a 3.4. alfejezetben megtanultuk. A TCP a hibtlanul megkapott adatokat nyug tzza, s akkor kldi jra a szegmenseket, amikor a szegmenseket vagy az azoknak megfelel nyugtkat elveszettnek vagy hibsnak gondolja. A TCP bizonyos verziinak implicit negatv nyugtzsi mechanizmusa is van - a TCP gyors jrakldsi mechanizmusnl egy adott szeg mensre vett hrom pozitv nyugta a kvetkez szegmensre implicit negatv nyugtaknt szol gl, az adott szegmens jrakldst vltva ki ezzel mg az idtllps eltt. A TCP sorszmok sorozatt hasznlja, hogy lehetv tegye a vev szmra az elveszett vagy kettztt szegmen sek azonostst. Ahogy megbzhat adattviteli protokollunk, az rdt3.0 esetben is, maga a TCP nem tudja biztosan megmondani, ha egy szegmens vagy a nyugtja vajon elveszett, meg srlt vagy nagy kssben van. A kldnl a TCP reakcija ugyanaz lesz: jrakldi a krdses szegmenst. A TCP is hasznl csvezetkezst, lehetv tve a kld szmra, hogy szmos elkldtt, de mg nem nyugtzott szegmense legyen f ggben egy tetszleges idpillanatban. Korbban mr lttuk, hogy a csvezetkezs nagymrtkben javthatja egy munkamenet tbocstkpessgt, amikora szegmensmret sa krbejrsi ksleltets arnya kicsi. A kld fggben lev, nyugtzatlan csomagjainak maximlis szmt a TCP forgalomszablyozsi s torldskezelsi mecha nizmusai hatrozzk meg. A TCP forgalomszablyozst az alfejezct vgn, a TCP torldskezelst pedig a 3.7. alfejezetben trgyaljuk. Jelenleg egyszeren csak tisztban kell lennnk azzal, hogy a TCP-kkl csvezetkezst hasznl.

A 3.31. bra a SampleRTT rtkeket s az EstimatedRTT-t brzolja a = 1/8 rtk esetn egy TCP-sszekttetsre a gaia.cs.umass.edu (Amherst, Massachusetts) s a fantasia.eurecom.fr (Franciaorszg dli rsze) kztt. Vilgos, hogy a Samp leRTT ingadozsai kisimulnak az EstimatedRTT szmtsa sorn. Amellett, hogy van egy becslsnk az RTT-re, az is fontos, hogy ha van egy mrtknk az RTT ingadozsra is. Az (RFC 2988) az RTT ingadozst, a DevRTT-t, annak a becslseknt definilja, hogy jellemzen mennyivel tr el a SampleRTT az EstimatedRTT-tl:

R T T ( m

3.31. bra. Minta RTT s a becslt RTT

Id (s)

DevRTT = (1-P) x DevRTT + p x {SampleRTT - EstimatedRTT}


Figyeljk meg azt, hogy a DevRTT a SampleRTT s az EstimatedRTT klnbsgnek EWMA-ja. Ha a SampleRTT rtkeknek kicsi az ingadozsa, akkor a DevRTT kicsi lesz, msrszt viszont, ha nagy az ingadozs, a DevRTT is nagy lesz. A p javasolt rtke 0,25.

Az jraklds idztsi intervallumnak belltsa s kezelse


Adott EstimatedRTT s DevRTT rtkek mellett milyen rtket hasznljunk a TCP idztsi intervallumaknt? Nyilvnval, hogy az intervallumnak nagyobbnak vagy egyenlnek kell lennie, mint az EstimatedRTT, klnben flsleges jrakiildsek trtnnnek. De az idztsi intervallumnak nem szabad sokkal nagyobbnak sem lennie, mint az EstimatedRTT, klnben amikor egy szegmens elvesz, a TCP nem kldi gyorsan jra a szegmenst, ami nagy adattviteli ksleltetsekhez vezet. Ezrt az idztsi intervallumot clszer az EstimatedRTT plusz valamennyi tartalk rtkre belltani. A tartalknak nagynak kell lennie akkor, amikor a SampleRTT rtkeknek nagy az ingadozsa, s kicsinek kell lennie, amikor az ingadozs kicsi. gy itt a DevRTT rtke jtszik szerepet. Ezen megfontolsok kzl mindegyiket figyelembe veszik a TCP jrakldsi intervallumnak meghatrozshoz hasznlt mdszerben:

3.5.4. Megbzhat adatszllts

Timeoutlnterval = EstimatedRTT + 4 x DevRTT

Emlkezznk r, hogy az internet hlzati rtegbeli szolgltatsa (IP-szolgltats) nem megbzhat. Az IP nem garantlja a datagram kzbestst, nem garantlja a

datagramok sorrendhelyes kzbestst, s nem garantlja a datagramok srtetlensgt. Az IP-szolgl- tatssal a datagramok elraszthatjk az tvlasztk puffereit, s gy soha sem rik el a clllomsukat, a datagramok sorrenden kvl is rkezhetnek, valamint a datagramban a bitek megsrlhetnek (tvltozhatnak 0-rl 1-re, vagy fordtva). Mivel a szlltsi rtegbeli szegmenseket IP-datagramok szlltjk t a hlzaton, a szlltsi szegmensek is szenved hetnek ezektl a problmktl. A TCP megbzhat adattviteli szolgltatst hoz ltre az IP megbzhatatlan, legjobbra trekv (best eTort) szolgltatsa fltt. A TCP megbzhat adattviteli szolgltatsa gondoskodik arrl, hogy az adatfolyam, amelyet a folyamat kiolvas a TCP vteli puTerbl, srtetlen, folyamatos, duplikcitl mentes s helyes sorrend legyen - azaz a bjtfolyam pontosan megegyezzen azzal a bjtfolyammal, amelyet az sszekttets msik oldaln lev vgrendszer elkldtt. Sok, a 3.4. alfejezetben tanulmnyozott alapelvet hasznl fel a TCP ahhoz, hogy egy megbzhat adattvitelt biztostson. A megbzhat adattviteli megoldsaink korbbi fejlesztse sorn elvileg az volt a legknnyebb, hogy azt feltteleztk, hogy minden elkldtt, de mg nem nyugtzott szegmenshez egy egyedi idzt van rendelve. Mg ez elmletben nagyszer, a valsgban az idztkezels jelents tbbletrfordtst ignyelhet. Ennlfogva az ajnlott TCP idzt- kezelsi eljrsok [RFC 2988) egyetlen jrakldsi idztt alkalmaznak mg tbb elkldtt, de mg nem nyugtzott szegmens esetn is. Az ebben a rszben lert TCP protokoll is ezt az egyetlen idzts ajnlst kveti. Kt, egymsra pl lpsben fogjuk trgyalni azt, hogy a TCP hogyan nyjt megbzhat adatszlltst. Elszr egy igen leegyszerstett lerst mutatjuk be a TCP-kldnek, amely csak idtllpseket hasznl az elveszett szegmensek utni helyrelltshoz, ezt kveten egy teljesebb lerst nyjtunk, amely az idtllpsek mellett kettztt nyugtkat is hasznl. A kvetkez trgyals sorn felttelezzk, hogy adatot csak az egyik irnyba kldenek A hoszttl a B hosztnak, s hogy az A hoszt egy nagymret fjt kld. A 3.32. bra a TCP-kld egy igen leegyszerstett lerst mutatja be. Ltni fogjuk, hogy a TCP-kldben hrom jelents, az adatszlltshoz s az jrakldshez kapcsold esemny van: adat fogadsa a felsbb alkalmazstl, idzt idtllpse s nyugta fogadsa.

/* Felttelezzk, hogy a kldt nem korltozza sem a TCP forgalomszablyozsa, sem torldskezelse, hogy a fellrl rkez adat mrete kisebb, mint az MSS, s hogy az adatt vitel csak egyirny. */ NextSeqNum=InitialSeqNumber SendBase=InitialSeqNumber loop (rkk) { switch(event ) event: adat rkezett a felsbb alkalmazstl TCP szegmens ltrehozsa NextSeqNum sorszmmal if (az idzt jelenleg nem fut)

idzt indtsa szegmens tadsa az IP-nek NextSeqNum=NextSeqNum+length(adat) break; event: idzt idtllpse a legkisebb sorszm mg nem nyugtzott szegmens jrakldse idzt indtsa break; event: nyugta rkezett y rtk ACK mezvel if (y > SendBase) { SendBase=y if (van jelenleg mg nem nyugtzott szegmens) idzt indtsa
}

break; > /* loop (rkk) vge*/ 3.32. bra. Egyszerstett TCP-kld


Az els jelents esemny bekvetkezsekor a TCP adatot kap az alkalmazstl, az adatot egy szegmensbe gyazza be, s a szegmenst az IP-nek tovbbtja. Figyeljk meg, hogy minden szegmens tartalmaz egy sorszmot, amely a szegmensben lev els adatbjt bjt- folyamszma, ahogyan azt a 3.5.2. alfejezetben lertuk. Figyeljk meg azt is, hogy ameny- nyiben az idztt mg nem indtottk el egy msik szegmens szmra, gy a TCP akkor indtja el az idztt, amikor a szegmenst tadja az IP-nek. (Hasznos gy gondolni az idztre, mint amely a legrgebbi nyugtzatlan szegmenshez van trstva.) Ennek az idztnek a lejrati intervalluma a Timeoutlnterval, amelyet az EstimatedRTT s a DevRTT alapjn szmtanak a 3.5.3. alfejezetben lertak szerint. A msodik jelents esemny az idtllps. A TCP az idtllps esemnyre annak a szegmensnek az jra kldsvel vlaszol, amelyik az idtllpst okozta. Ezt kveten a TCP jraindtja az idztt. A harmadik jelents esemny, amelyet a TCP-kldnek kezelnie kell, az egy nyugta- szegmens (ACK) rkezse a vevtl (konkrtabban egy olyan szegmens, amely rvnyes ACK-mez rtket tartalmaz). Ezen esemny megtrtntekor a TCP sszehasonltja az y ACK-rtket a SendBase nev vltozjval. A SendBase nev TCP-llapotvltoz a legrgebbi nyugtzatlan bjt sorszmt trolja. (Ennlfogva a SendBase-1 annak az utols bjtnak a sorszma, amelyrl ismert, hogy hibtlanul s sorrendhelyesen megrkezett a vevhz.) Ahogy azt korbban jeleztk, a TCP kumulld nyugtkat hasznl, gy teht y az sszes y bjtszmnl korbbi bjt vtelt nyugtzza. Ha y > SendBase, akkor a nyugta egy vagy tbb korbban nyugtzatlan szegmenst is nyugtz. Ennek kvetkeztben a kld frissti a SendBase vltozjt - valamint jraindtja az idztt, ha van mg nem nyugtzott szegmens.

Nhny rdekes forgatknyv

242

3.

SZLLTSI

RTEG

Eddig egy nagyon leegyszerstett vltozatt mutattuk be annak, hogy a TCP hogyan nyjt megbzhat adattvitelt. De mg ez a nagyon leegyszerstett vltozat is sok finomsgot tartalmaz. Ahhoz, hogy pontosabb kpet kapjunk a protokoll mkdsrl, menjnk vgig nhny egyszer forgatknyvn.* A 3.33. bra az els esetet mutatja be, ahol az A hoszt egyetlen szegmenst kld B hosztnak. Ttelezzk fel, hogy ennek a szegmensnek 92 a sorszma s 8 bjtnyi adatot tartalmaz. E szegmens elkldse utn az A hoszt egy szegmensre vr B hoszt ti 100-as nyugtaszmmal. Noha az A ltal kldtt szegmenst B megkapta, a B-tl A-nak kldtt nyugta elvsz. Ebben az esetben idtllps kvetke zik be, s az A hoszt jrakldi a krdses szegmenst. Termszetesen, amikor B megkapja az jrakldtt szegmenst, a sorszmbl szleli, hogy a szegmens olyan adatot tartalmaz, amelyet mr egyszer megkapott. Ennlfogva a B hosztban a TCP figyelmen kvl hagyja az jrakldtt szegmensben lv bjtokat. A 3.34. brn lthat msodik forgatknyvben az A hoszt egyszerre kt szegmenst kld ki. Az els szegmens sorszma 92 s 8 bjtnyi adatot tartalmaz, a msodik szegmens sorszma 100-as s 20 bjtnyi adatot tartalmaz. Tegyk fel, hogy mindkt szegmens srtetlenl megrkezik B-hez, s B kt kln nyugtt kld ezeknek a szegmenseknek. Ezek kzl a nyugtk kzl az elsnek 100-as nyugtaszma, a msodiknak pedig 120-as nyugtaszma van. Most pedig ttelezzk fel, hogy egyik nyugta sem rkezik meg az A hoszthoz az idz t lejrta eltt. Amikor bekvetkezik az idtllps, az A hoszt jrakldi az els szegmenst 92-es sorszmmal s jraindtja az idztt. Mindaddig, amg a msodik szegmensre a nyugta az j idtllps eltt meg nem rkezik, a msodik szegmens nem kerl A hoszt jrakldsre.

T
Id

v
Id

3.5.

SSZEKTTETS-ALAP SZLLTS: TCP

B hoszt

243

Idtllps

X-'
(veszts)

244

3. A

szlltsi rteg

3.5.

SSZEKTTETS-ALAP SZLLTS: TCP

245 A hoszt B hoszt

Sorsz-92 idztsi

Sorsz=92 idztsi

3.34. bra. A 100-as szegmens nem kerlt jrakldsre

A harmadik s egyben utols forgatknyvben ttelezzk fel, hogy az A hoszt kt szeg- menst kld ki, pontosan gy, ahogy azt a msodik pldban tette. Az els szegmens nyugtja elveszik a hlzatban, de kzvetlen az idtllps eltt az A hoszt 12-as nyugtaszmmal megkap egy nyugtt. Kvetkezskppen az A hoszt tudja, hogy a B hoszt a 119-es bjtig bezrlag mindent megkapott, gy az A hoszt egyik szegmenst sem kldi jra. Ezt a forgatknyvet a 3.35. bra szemllteti.

Az idztsi intervallum megduplzsa


A kvetkezkben nhny olyan mdostst trgyalunk, amelyet a legtbb TCPmegva- lsts alkalmaz. Az els egy idzt lejrtt kvet idztsi intervallum hosszt rinti. Ebben a mdostsban az idtllpsi esemny bekvetkeztekor a TCP jra kldi a legkisebb sorszmmal rendelkez, mg nem nyugtzott szegmenst, ahogyan azt fent lertuk. De minden alkalommal, amikor a TCP jrakld, a kvetkez idztsi intervallumot az elz rtk ktszeresre lltja ahelyett, hogy az utols EstimatedRTT s DevRTT rtkekbl szmtan azt ki (ahogyan azt a 3.5.3. alfejezetben lertuk). Pldul tegyk fel, hogy a legrgebbi mg nem nyugtzott szegmenshez rendelt Timeoutlnterval rtke 0,75 msodperc, amikor az idzt elszr lejr. A TCP jrakldi ezt a szegmenst s egy j, 1,5 msodperces rvnyessgi idt llt be. Ha az idzt 1,5 msodperccel

ksbb ismt lejr, a TCP megint jra fogja kldeni ezt a szegmenst, az idztsi intervallumot pedig

246

3. A

szlltsi rteg

3.5.

SSZEKTTETS-ALAP SZLLTS: TCP A hoszt

247
8 hoszt

Sorsz=92 idzitsi intervallum~

v
Id

3.35. bra. Egy kumulld nyugta elkerli az els szegmens jrakldst

3,0 msodpercre lltja. Ily mdon az idkzk rtekei minden egyes jrakldst kveten exponencilisan nnek. Amikor azonban az idzt valamelyik kt msik esemny utn indul (vagyis ha a fels alkalmazstl adatot vagy nyugtt kap), a Timeoutlnterval-t a legutbbi EstimatedRTT s DevRTT rtkekbl szmtja. Ez a mdosts a torldskezels egy korltozott formjt jelenti. (A TCP torldskeze- lsnek szleskrbb vltozatait a 3.7. alfejezetben fogjuk tanulmnyozni.) Az a legvalsznbb, hogy az idzt lejrtt a hlzatban fellp torlds okozta, azaz tl sok csomag rkezett egy (vagy tbb) tvlaszt vrakozsi sorba a forrs s a cl kztti tvonalon, amely a csomagok eldobst s/vagy hossz sorbanllsi ksleltetst okozott. Torldskor, ha a forrsok kitartan folytatjk a csomagok jrakldst, a torlds rosszabb vlhat. Ehelyett a TCP udvariasabban viselkedik, s minden kld egyre hosszabb idkzket kveten kldi jra a csomagokat. Ltni fogjuk, amikor az 5. fejezetben a CSMA/CD-t tanulmnyozzuk, hogy hasonl tletet hasznl az Ethernet is.

Gyors jraklds
Az idtllpsekkel kivltott jrakldsek egyik problmja az, hogy az idtllpsi idtartam arnylag hossz lehet. Amikor egy szegmens elvsz, ez a hossz idtllpsi intervallum arra knyszerti a kldt, hogy ksleltesse az elveszett csomag jrakldst, ennek kvetkeztben nvelve a vgpontok kztti

ksleltetst. Szerencsre a kld gyakran jval

248

3. A

szlltsi rteg

3.5.

SSZEKTTETS-ALAP SZLLTS: TCP

249

3.3. tblzat. Javaslat TCP-nyugta ltrehozsra [RFC 1122, RFC2581]


Esemny_________________________________________________TCP-vev reakcija_____________________________________ A vrt sorszmmal, sorrendben rkez szegmens rkezse. A vrt sorszmig az sszes adat mr nyugtzva van. Kslelteteti nyugta. Legfeljebb 500 ms-ig vr egy msik sorrendhelyes szegmens rkezsre. Ha nem rkezik meg a soron kvetkez szegmens,

________________________________________________________nyugtt kld.__________________________________________ A vrt sorszmmal, sorrendben rkez szegmens rkezse. Egy msik sorrendhelyes szegmens Egyetlen, mindkt sorrendhelyes szegmenst nyugtz, kumulld nyugta azonnali kldse.

nyugtzsra vr._______________________________________________________________________________________________ Sorrenden kvli, a vrtnl nagyobb sorszm Azonnal kettztt nyugtt kld, amely a kvet-

szegmens rkezse. Rs szlelse.___________________________kez bjt sorszmt jelzi (amely a rs als szle).___________ Olyan szegmens rkezse, amely rszben vagy Azonnal nyugtt kld, feltve, hogy a szegmens a

teljesen betlti a rst a vett adatban.________________________rs als szlnl kezddik.______________________________

az idtllpsi esemny bekvetkezse eltt kpes szlelni a csomagvesztst az gynevezett kettztt nyugtk megfigyelsvel. Egy kettztt nyugta (duplicate ACK) egy olyan nyugta, amely ismtelten nyugtz egy olyan szegmenst, amelynek egy korbbi nyugtjt a kld mr megkapta. Ahhoz, hogy megrtsk a kld vlaszt a kettztt nyugtra, elszr meg kell nznnk azt, hogy a vev elszr is mirt kld kettztt nyugtt. A 3.3 tblzat a TCP-vev nyugta-ltrehozsi irnyelveit [RFC 1122 RFC 2581) sszegzi. Amikor egy TCP-vev olyan szegmenst kap, amelynek a sorszma nagyobb, mint a kvetkez, vrt sorrendben kvetkez sorszm. Rst szlel az adatfolyamban, azaz egy hinyz szegmenst. Ezt a rst egy, a hlzatban elveszett vagy tsorrendezett szegmens okozhatta. Mivel a TCP nem hasznl negatv nyugtzst, a vev nem tud explicit negatv nyugtt visszakldeni a kldnek. Ehelyett egyszeren ismtelten nyugtzza (azaz egy kettztt nyugtt hoz ltre) az ltala megkapott adatok utols sorrend helyes bjtjt. (Vegyk szre, hogy a 3.3. tblzat azt az esetet veszi figyelembe, amikor a vev nem hagyja figyelmen kvl a nem sorrendben rkez szegmenseket.) Mivel a kld gyakran kld nagyszm szegmenst szorosan egymst kveten, ha egy szegmens elveszik, valszn, hogy sok egymst kvet kettztt nyugta lesz. Ha a TCP-kld ugyanarra az adatra hrom kettztt nyugtt kap, ezt annak jell veszi, hogy a hromszor nyugtzott szegmenst kvet szegmens elveszett. (A feladatok kztt megvizsgljuk azt a krdst, hogy a kld mirt vr hrom kettztt nyugtra ahelyett, hogy csak egyetlen kettztt nyugtt vrna.) Abban az esetben, ha hrom kettztt nyugtt kap, a TCP-kld gyors jrakldst (fst retransmit) [RFC 2581) hajt vgre, ismtelten elkldve a hinyz szegmenst, mg mieltt annak idztje lejrna. Ezt a 3.36. bra mutat ja, ahol a msodik szegmens elveszett, majd mg az idztjnek lejrta eltt jrakldsre kerlt. Gyors jrakldst alkalmaz TCP esetn az albbi kdrszlet vltja fel a 3.32. b rn a nyugta rkezett esemnyt:

event: nyugta rkezett y rtk ACK mezvel if (y > SendBase) { SendBase=y if (van jelenleg mg nem nyugtzott szegmens) idzt indtsa
}

250

3. A SZI.l TSI RTEG

else { /* egy kettztt nyugta egy mr nyugtzott szegmensre */ az y-ra kapott kettztt nyugtk szmnak nvelse if (y-ra kapott kettztt nyugtk szma = = 3 ) { /* TCP gyors jraklds */ az y sorszm szeg mns jrakldse > break;
Korbban mr megfigyeltk, hogy sok knyes krds merl fel, amikor egy valdi protokollban, mint amilyen a TCP is, egy idtllpsi/jrakldsi mechanizmust megvalstanak. A fenti eljrsok, amelyek a tbb mint 15 ves TCP-idztkkel szerzett tapasztalatok eredmnyekppen fejldtek ki, meg kell gyzzk az olvast arrl, hogy valban ez a helyzet!
B hoszt

A hoszt

ACK=100
ACK-100 ACK=*100 ACK=100

Idtllps -

3.36. bra. Gyors jraklds: a hinyz szegmens jrakldse mg mieltt a

szegmens idztje lejrna

3.5.

SSZP.KTTETS-ALAP SZLLTS:

TCP

251

l\l-nel trtn visszalps vagy szelektv ismtls?


A TCP hiba-helyrelltsi mechanizmusnak tanulmnyozst a kvetkez krdssel zrjuk le: A TCP CBN vagy SR protokoll-e? Emlkezznk vissza arra, hogy a TCPnyugtk kumulldnak, s a helyesen megkapott, de sorrenden kvli szegmenseket a vev nem nyugtzza egyedileg. Kvetkezskppen, ahogy a 3.32. brn lthat (lsd mg a 3.18. brt), a TCP-kldnek az elkldtt, de nem nyugtzott bjtok kzl csak a legkisebb sorszmnak a sorszmt (SendBase) s a kvetkez kldend bjt sorszmt (NextSeqNum) kell nyilvntartania. Ebben az rtelemben a TCP sokban hasonlt egy GBN stlus protokollra. De van nhny szembetn klnbsg a TCP s az N-nel trtn visszalps kztt. Sok TCP-megvalsts ideiglenesen trolja a hibtlanul megkapott, de nem sorrendhelyes szeg menseket (Stevcns 1994]. Fontoljuk meg azt is, mi trtnik, amikor a kld a szegmensek kvetkez sorozatt kldi: 1,2,..., N, s minden szegmens a helyes sorrendben, hiba nlkl megrkezik a vevhz. Tovbb ttelezze fel, hogy az n < N csomag nyugtja elveszik, de a maradk N - 1 nyugta mg idtllps eltt megrkezik a kldhz. Ebben a pldban a GBN nemcsak az n-edik csomagot klden jra, hanem az sszes azt kvet n + 1, n + 2, ..., N csomagot is. A TCP ugyanakkor legfeljebb egy szegmenst kldene jra, az n-edik szegmenst. Radsul a TCP mg az n-edik szegmenst sem klden jra, amennyiben az n + 1-edik szegmens nyugtja mg az -edik szegmens idtllpse eltt megrkezik. A javasolt mdosts a TCP-hez az gynevezett szelektv nyugtzs (selective acknow- ledgement) [RFC 2018], amely lehetv teszi a TCP-vev szmra, hogy sorrenden kvli szegmenseket szelektven nyugtzzon ahelyett, hogy csak kumulldan nyugtzza az utols hibtlanul vett, sorrendhelyes szegmenst. A szelektv jrakldssel egytt - kihagyva az olyan szegmensek jrakldst, amelyeket a vev mr szelektven nyugtzott, - a TCP nagyon hasonlt az ltalnos SR protokollunkhoz. Ennek kvetkeztben a TCP hiba-helyrelltsi mechanizmusa legjobban taln egy hibrid GBN s SR protokollknt kategorizlhat.

3.5.5. Forgalomszablyozs
Emlkezznk vissza arra, hogy a hosztok egy TCP-sszekttets mindkt oldaln elklntettek egy vteli puffrt az sszekttets szmra. Amikor a TCPsszekttets olyan bjtokat vesz, amelyek hibtlanok s sorrendben rkeznek, az adatokat a vteli pufferbe helyezi. A hozz kapcsold alkalmazsi folyamat ebbl a pufferbl olvassa az adatot, de nem felttlenl abban a pillanatban, amikor az adat megrkezik. St, elfordulhat, hogy a vev alkalmazs valamilyen ms feladattal van elfoglalva s csak hossz idvel a megrkezse utn prblja meg kiolvasni az adatot. Ha az alkalmazs viszonylag lassan olvassa ki az adatot, a kld igen knnyen tltltheti az sszekttets vteli puffert azltal, hogy tl gyorsan, tl sok adatot kld. A TCP az alkalmazsai szmra egy forgalomszablyozsi szolgltatst (flowcontrol service) biztost azrt, hogy kizrja annak a lehetsgt, hogy a kld tltlti a vteli puffert. A forgalomszablyozs ekkppen egy sebessgi!leszt szolgltats - sszeilleszti a kld kldsi sebessgt azzal a sebessggel, amellyel a vev alkalmazs kiolvas. Ahogy korbban megjegyeztk, az IP-hlzatban fellp torlds

3.5.

SSZP.KTTETS-ALAP SZLLTS:

TCP

252

a TCP-kldt is elnyomhatja - a kld szablyozsnak ezt a formjt torldskezelsknt (congestion control) emltik, amely tmaterletet rszleteiben a 3.6. s 3.7. alfejezetekben fogjuk felderteni. Habr a for galomszablyozs s a torldskezels ltal vgzett mveletek hasonlak (a kld gtolsa),

3.5.

OSSZLKTTF.THS-AIAP SZLLTS:

nyilvnvalan nagyon klnbz okok miatt hajtjk vgre azokat. Sajnos sok szerz ezeket a kifejezseket egymssal felcserlhet rtelemben hasznlja, s a blcs olvasnak kellene okosnak lennie s klnbsget tennie kztk. Most pedig trjnk r arra, hogy a TCP hogyan nyjtja forgalomszablyozsi szolgltatst. Annak rdekben, hogy lssuk a fktl az erdt, jelen alfejezet sorn vgig azt felttelezzk, hogy olyan a TCP-megvalsts, hogy a TCP-vev a sorrenden kvli szegmenseket figyelmen kvl hagyja. A TCP gy gondoskodik a forgalomszablyozsrl, hogy a kldnek egy vteli ablak (rciv window) nev vltozt kell fenntartania. Nem hivatalosan a vteli ablakot arra hasznljk, hogy a kldnek fogalma lehessen arrl, hogy a vevnl mg mennyi szabad pufferterlet rhet el. Mivel a TCP duplex, a kldk az sszekttets mindkt oldaln kln vteli ablakot tartanak fenn. Vizsgljuk meg a vteli ablakot a fjltvitel krnyezetben. Ttelezzk fel, hogy az A hoszt egy TCPsszekttetsen keresztl egy nagy fjlt kld B hosztnak. B hoszt elklnt egy vteli puffrt ezen sszekttets szmra - jellje ennek mrett az RcvBuf f er. Definiljuk az albbi vltozkat: LastBy teRead: az adatfolyamban lev utols bjt szma, amelyet a B alkalmazsi folyamata kiolvasott a pufferbl. LastByteRcvd: az adatfolyamban lev utols bjt szma, amely a hlzatbl megrkezett s B-nl a vteli pufferbe kerlt. Mivel a TCP szmra nem megengedett, hogy a kijellt puffrt tltltse, a kvetkeznek kell teljeslnie:

TCP

253

LastByteRcvd - LastByteRead < RcvBuffer


Az RcvWindow-val jellt vteli ablakot a pufferben lv szabad hely mennyisgre lltja:

RcvWindow = RcvBuffer - [LastByteRcvd - LastByteRead]


Mivel a szabad hely idben vltozik, az RcvWindow dinamikus. Az RcvWindow vltozt a 3.37. bra szemllteti. Hogyan hasznlja az sszekttets az RcvWindow vltozt ahhoz, hogy forgalomszablyozsi szolgltatst biztostson? B hoszt megmondja A-nak, hogy mennyi szabad hely van az sszekttets puerben azltal, hogy az RcvWindow aktulis rtkt minden A-nak kldtt szegmens vteli ablak mezjbe belehelyezi. Kezdetben a B hoszt RcvWin-

Adat az IP-rl

3.5. 0

SSZF. KTTET S - ALAP

SZLLTS: TCP

R c vB u f f r

254

RcvVindow i

Szabad hely

TCP-adat a pufferben

Alkalmaz si folyamat

dow = RcvBuf fer-t llt be. Vegyk szre, hogy ahhoz, hogy ezt sikeresen
megtegye, a B hosztnak szmos sszekttets-specifikus vltozt kell nyomon kvetnie. Ezzel szemben az A hoszt kt vltozt kvet nyomon, a LastByteSent (utoljra el kldtt bjt) s a LastByteAcked (utoljra nyugtzott bjt) vltozkat. Vegyk szre, hogy e kt vltoz klnbsge, LastByteSent LastByteAcked, az A ltal az sszekttetsbe kldtt nyugtzatlan adat mennyisge. Azltal, hogy a nyugtzatlan adat mennyisgt az RcvWindow rtke alatt tartja, az A hoszt biztostva van arrl, hogy nem tlti tl a B hoszt vteli puffert. Ennek kvetkeztben az A hoszt az sszekttets sorn vgig biztostja azt, hogy teljesljn a kvetkez:

LastByteSent - La stByteAcked < RcvWindow


Ezzel az elrendezssel azonban van egy kis technikai problma. Azrt, hogy ezt meglssuk, tegyk fel, hogy a B hoszt vteli puffere teljesen megtelik, gy RcvWindow = 0 lesz. Ezen informci A hosztnak trtn kihirdetst kveten ttelezzk fel azt is, hogy B-nek A szmra semmi kldenivalja sincsen. Most nzzk meg, mi trtnik. Ahogy a B-nl lev alkalmazsi folyamat rti ki a puffrt, a TCP nem kld az A hosztnak j szegmenseket az j RcvWindow rtkekkel - csakugyan, a TCP csak akkor kld egy j szegmenst az A hosztnak, ha van elkldend adata, vagy ha nyugtt kell kldenie. Kvet kezskppen az A hoszt soha nem rtesl arrl, hogy a B hoszt vteli pufferben valameny- nyi hely felszabadult - az A hoszt blokkoldik, s nem kldhet tbb adatot! A problma

3.5.

OSSZKTTETS-ALAP SZLLTS:

megoldsa rdekben a TCP-szabvny megkveteli az A hoszt ti, hogy amikor a B vteli ablaka nulla, akkor is folytassa a szegmensek kldst egy bjt adattal. Ezeket a szegmenseket nyugtzni fogja a vev. Vgl is a puffer elkezd kirlni, s a nyugtk egy nem nulla RcvWindow rtket fognak tartalmazni. A knyv szmra ltrehozott online webhely a http://www.awl.com/kurose-rosson , egy interaktv Java-kisalkalmazst biztost a TCP vteli ablaka mkdsnek szemlltetsre. A TCP forgalomszablyozsnak ismertetse utn rviden megemltjk, hogy az UDP nem biztost forgalomszablyozst. Hogy megrtsk ezt a tnyt, vegyk fontolra egy sor UDP- szegmensnek az A hoszton lev folyamattl a B hoszton lev folyamatnak trtn kldst. Egy jellemz UDP-megvalstsnl az UDP sszefzi a szegmenseket egy vges mret puf- ferben, amely megelzi a megfelel szoketet (azaz a folyamathoz vezet ajtt). A folyamat alkalmanknt egy teljes szegmenst olvas ki a pufferbl. Ha a folyamat nem olvassa ki elg gyorsan a szegmenseket a pufferbl, a puffer tlcsordul, s a szegmensek eldobsra kerlnek.

TCP

255

3.5.6. A TCP-sszekttetsek kezelse


Ebben az alfejezetben azt nzzk meg kzelebbrl, hogy egy TCP-sszekttetst hogyan kell ltrehozni s lebontani. Br ez a tma nem tnik klnsen izgalmasnak, mgis fontos, mivel a TCP-sszekttets ltrehozsa jelentsen megnvelheti a tapasztalt ksleltetseket (pldul, amikor a weben barangolunk). Radsul a leggyakoribb hlzati tmadsok k zl sok - kztk a hihetetlenl npszer SYN elrasztsi tmads is - a TCP-sszekt- tets kezelsnek sebezhet pontjait clozza meg. Elszr nzzk meg azt, hogyan jn ltre egy TCPsszekttets. Ttelezzk fl, hogy egy hoszton (kliensen) fut folyamat egy msik hoszton (szerveren) fut msik folyamattal szeretne sszekttetst kezdemnyezni. A kliens alkalmazsi folyamat elszr rtesti a kliens TCP-t, hogy a szerveren egy folyamattal sszekttetst szeretne ltesteni. Ezt kveten a kliensen lv TCP hozzfog egy TCP-sszekttets ltrehozshoz a szerveren lev TCP-vel az albbi mdon:

1. lps. A kliensoldali TCP elszr egy specilis TCP-szegmenst kld a

szerveroldali TCP-nek. Ez a specilis szegmens nem.tartalmaz alkalmazsi rtegbeli adatot, de a szegmens fejrszben (lsd 3.28. bra) az egyik jelzbit, a SYN bit, 1-re van lltva. Emiatt erre a specilis szegmensre SYNszegmensknt hivatkoznak. Ezenfell a kliens vletlenszeren vlaszt egy kezdeti sorszmot (client_isn), s ezt a szmot a kez deti TCP SYN-szegmens sorszmmezjbe teszi. Ezt a szegmenst begyazza egy IP-datagramba, s elkldi a szervernek, jelents rdeklds trgyt kpezi a client_isn megfelelen vletlenszer megvlasztsa, annak rdekben, hogy bizonyos, a biztonsgot rint tmadsokat elkerljnk [CERT 2001-09). 2. lps. Amint a TCP SYN-szegmenst tartalmaz IP-datagram megrkezik a szerver hoszthoz (felttelezve, hogy megrkezik!), a szerver eltvoltja a TCP SYN-szegmenst a datagrambl, kijelli a TCP-puffereket s -vltozkat a sszekttets szmra, s egy sszekttets engedlyezve szegmenst kld a kliens TCP-nek. (A 8. fejezetben ltni fogjuk, hogy ezeknek a puffereknek s vltozknak a hromutas kzfogs harmadik lpsnek befejezse eltt trtn kijellse teszi a TCP-t sebezhetv a SYN-elrasz- tsnak nevezetett

256

szolgltatsmegtagads (Denial-of-Service, DoS) tmadssal szemben.) Ez az sszekttets engedlyezve szegmens szintn nem tartalmaz al kalmazsi adatot. A szegmens fejrsze azonban hrom fontos informcit tartalmaz. F.ls, a SYN bit 1-re van lltva. Msodik, a TCP-szegmens fejrsznek nyugta mezje client_isn+l-re van lltva. Vgl, a szerver sajt kezdeti sorszmot (server_ isn) vlaszt, s az rtkt a TCP-szegmens fejrsznek sorszm mezjbe teszi. Ez az sszekttets engedlyezve szegmens tulajdonkppen azt mondja, hogy Megkaptam az egy sszekttets megkezdsre szolgl SYN-csomagodat client_ isn kezdeti sorszmmal. Beleegyezem ezen sszekttets felptsbe. A sajt kezdeti sorszmom server_isn. Az sszekttets engedlyezve szegmensre SYNACK-szegmensknt hivatkoznak. 3. lps. A SYNACK-szegmenst megkapva a kliens szintn kijelli a pulfereket s vltozkat az sszekttets szmra. Ezt kveten a klienshoszt mg egy szegmenst kld a szervernek - ezen utols szegmens a szerver sszekttets engedlyezve szegmenst nyugtzza (a kliens ezt azltal teszi meg, hogy a server_isn+l rtket a TCP-szegmens fejrsznek nyugtamezjbe helyezi). A SYN bit nullra van lltva, mivel az sszekttets ltrejtt. A hromutas kzfogs harmadik fzisa mr szllthat felhasznli adatokat a szegmens adatmezjben a klienstl a szervernek.

3. A SZI.l TSI RTEG

Amint e hrom lpst befejeztk, a kliens- s a szerverhosztok adatokat tartalmaz szegmenseket tudnak kldeni egymsnak. E jvbeli szegmensek kzl mindegyikben a SYN bit nullra lesz lltva. Figyeljk meg, hogy az sszekttets felptse rdekben a kt hoszt kztt hrom csomag kerlt tkldsre, ahogy ezt a 3.38. bra szemllteti. Ezrt erre az sszekttets-felptsi eljrsra gyakran utalnak hromutas kzfogsknt (three-way handshake). A TCP hromutas kzfogsnak szmos oldalt dertjk majd fel a feladatok sorn (Mirt van szksg a kezdeti sorszmokra? Mirt van szksg hromutas kzfo gsra szemben a ktutas kzfogssal?). rdekes megfigyelni, hogy egy sziklamsz s az t biztost ember (aki a sziklamsz alatt van, s akinek a feladata a msz biztostktelnek kezelse) is egy hromutas kzfogsos kommunikcis protokollt hasznl, amely

3.5.

OSSZKTTETS-ALAP SZLLTS:
Klienshoszt

TCP
3.38.

257

hromutas

bra.

TCPSzerverhoszt kzfogs: szegmenscsere

sszektte t felpts i krelem sszekttets engedlyezve

Nyugta

T
Id Id

ugyanolyan, mint a TCP-, hogy bizonyosak legyenek abban, hogy mindkt fl kszen ll, mieltt a msz mszni kezd. Minden j vget r egyszer, s ugyanez igaz egy TCP-sszekttetsre is. A TCPssze- kttetsben rszt vev mindkt folyamat vget vethet az sszekttetsnek. Amikor egy sszekttets lezrul, a hosztokban az erforrsok (azaz a pufferek s vltozk) felszabadulnak. Pldul ttelezzk fel, hogy a kliens gy dnt, hogy lezrja az sszekttetst, ahogy a 3.39. brn lthat. A kliens alkalmazsi folyamat egy lezr parancsot ad ki. Hz a kliens-TCP-vel elkldet a szerverfolyamatnak egy specilis TCP-szegmenst. Ennek a specilis szegmensnek a szegmensfejrszben egy jelz bit, a FIN bit (lsd 3.28. bra) 1-esre van lltva. Amikor a szerver megkapja ezt a szegmenst, cserbe egy nyugtz szegmenst kld vissza a kliensnek. Ezt kveten a szerver elkldi a sajt lezr szegmenst, amelynek a FIN bitje 1-esre van lltva. Vgl a kliens nyugtzza a szerver lezr szegmenst. Ekkorra a kt hosztnl mr minden erforrs felszabadult. Egy TCP-sszekttets lete sorn mindkt hoszton fut TCP protokoll tmeneteket hajt vgre klnbz TCP-llapotokon (TCP states) keresztl. A 3.40. bra egy jellemz sorrendjt szemllteti a TCP-llapotoknak, amelyeken a kliensTCP thalad. A kli- ens-TCP a LEZRT llapotbl indul. A kliensoldali alkalmazs egy j TCP-sszekttetst kezdemnyez (a 2. fejezetbeli Java-pldnkban egy Socket objektum ltrehozsval). Ez arra kszteti a kliens TCP-jt, hogy egy SYNszegmenst kldjn a szerver TCP-jnek. A SYN-szegmens elkldst kveten a kliens-TCP a SYN_ELKLDVE llapotba kerl. Amg a SYN_ELKLDVE llapotban van, a kliens-TCP egy olyan szegmensre vr a szer- ver-TCP-tl, amely egy nyugtt tartalmaz a kliens elz szegmensre, s amelynek a SYN bitje 1-esre van lltva. Egy ilyen szegmenst vve a kliens TCP a LTREJTT llapotba

3. A SZI.l TSI RTEG

Kliens

Szerver

Lezrs

Lezrs

Idztett vrakozs

Lezrva

3.39. bra.

lezrsa

Egy

TCP-sszekttets

Id

Id

30 msodpercig vr

IDZTETT VRAKOZS"

Kliensalkalmazs egyTCPkap,
LEZRT

FIN-t

SYNACK-t kap, ACKsszekttetst kezdemnyez t kld

ACK-t kld

SYN ELKLDVE

ACK-t

kap, Kliensalkalmazs az sszekttets

semmit sem

lezrst kezdemnyezi

Szerveralkalmazs ltrehoz
LEZRT

egy figyel szoketet

ACK-t kap, semmit sem kld

UTOLS ACK

FIN-t kld

SYN-t kap SYNACK-t kld

LEZRSRA VR

SYN T KAP

3.41. bra. Egy szerveroldali TCP ltal jellemzen bejrt TCP-Uapotok sorozata lp. Ameddig a LTREJTT llapot fennll, a TCP-kliens felhasznli (azaz alkalmazs ltal ltrehozott) adatokat tartalmaz TCP-szegmenseket tud kldeni s fogadni. Ttelezzk fel, hogy a kliensalkalmazs gy dnt, hogy le szeretn zrni az sszekttetst. (Vegyk szre, hogy a szerver szintn dnthetne gy, hogy lezrja az sszekttetst.) Ez arra kszteti a kliens TCP-t, hogy egy TCP-szegmenst kldjn, amelynek a FIN bitje 1- re van lltva, s a FIN-RE_VR_1 llapotba lpjen. Amg a FIN-RE_VR_1 llapotban van, a kliens TCP egy nyugtt tartalmaz TCP-szegmensre vr a szervertl. Amikor megkapja ezt a szegmenst, a kliens TCP a F1N-RE_VR_2 llapotba kerl. Ameddig a FIN-RE_VR_2 llapotban van, a kliens a szervertl egy msik szegmensre vr, amelynek a FIN bitje 1-re van belltva - miutn megkapja ezt a szegmenst, a kliens TCP nyugtzza a szerver szegmenst s az IDZTETTJVRAKOZS llapotba lp. Az IDZ- TETT_VRAKOZS llapot teszi lehetv a TCP kliens szmra, hogy jrakldje a vgs nyugtt abban az esetben, ha a nyugta elveszett. A megvalststl fgg, hogy mennyi idt tlt az IDZTETT_VRAKOZS llapotban, de a jellemz rtkek a kvetkezk: 30 msodperc, 1 perc s 2 perc. A vrakozs utn az sszekttets szablyszeren lezrul s a kliensoldalon minden erforrs (belertve a portszmokat is) felszabadul. A 3.41. bra a szerveroldali TCP ltal jellemzen bejrt llapotsorozatot szemllteti, felttelezve, hogy a kliens kezdemnyezi az sszekttets lebontst. Az tmenetek nmagukat magyarzzk. E kt llapottmeneti diagramon csak azt mutattuk be, hogy egy TCP-sszekttets rendes krlmnyek kztt hogyan jn ltre s hogyan zrul le. Nem rtuk le azt, hogy mi trtnik bizonyos hibs esetekben, pldul amikor egy sszekttets mindkt oldala egyszerre szeretn

ltrehozni vagy lebontani az sszekttetst. Errl s ms bonyolultabb TCP-t rint krdsekrl tbbet megtudhatunk Stevens tfog knyvbl [Stevens 1994].

244

3. A

szlltsi rteg

fkuszban a biztonsg1

A SYN elrasztsi tmads

A TCP hromutas kzfogsrl szl trgyalsunkban lttuk, hogy a szerver egy ka pott SYN-re vlaszul az sszekttets-vltozkat s a pufcreket kijelli, s k

A szerver ezt kveten egy SYNACK-t kld vlaszul, s egy ACK szeg mensre vr a klienstl - ez a harmadik s egyben vgs lps a kzfogsban, miel flig nyitott sszekttetsnek, s visszaveszi a kijellt erforrsokat.

teljesen ltrejnne. I la a kliens nem kld egy ACK-t, hogy a hromutas kz fogs harmadik lpest befejezze, vgl (gyakran egy vagy tbb perc utn) a sze

Ez a TCP sszekttets-kezelsi protokoll elkszti a terepet egy klasszikus szolgltats- megtagadshoz (DoS), nevezetesen a SYN elrasztsi tmadsh ltrehozva gy egy DDoS (distributed denial-of-service - elosztott szolgltatsmegtagads) SYN elrasztsi tmadst. A SYN-szegmenseknek ezzel az sszekttetsi erforrsai gyorsan kimerlhetnek, mivel azokat kijelli (de soha sem hasznlja!) flig nyitott sszekttetsek szmra. Azltal, hogy DoS-tmadsok. tein 20071 neveznek, s amely vdelem ma mr a legtbb nagy opercis rendszer rsze. A SYN-stik az albbiak szerint mkdnek:

Ebben a tmadsban a rossz fi nagyszm TCP SYN-szegmenst kld anlkl, hogy befejezn a harmadik lpst. A tmads ersthet azltal, hogy a SYN-eke

kimerltek, a szablyszer kliensektl meg fogja tagadni a szolgltatst. Ilyen SYN elrasztsi tmadsok JCERT SYN 1996] voltak az els, a CERT (CERT 20

A SYN-elraszts egv potencilisan pusztt tmads. Szerencsre van ellene egy hat kony vdelem, amelyet SYN-stiknek (SYN cookie) (Skoudis 2006; C

Amikor a szerver egy SYN-szegmenst kap, nem tudja, hogy a szegmens egy szablyszer klienstl rkezett-e, vagy egy SYN elrasztsi tmads rsze
hoz ltre egy flig nyitott TCP-sszekttetst ehhez a SYN-hez. Ehelyett a szerver ltrehoz egy kezdeti TCP-sorszmot, amely a SYN-szegmensben

cimeknek cs portszmoknak, valamint egy csak a szerver ltal ismert titkos szmnak sszetett fggv nye (hash fggvnye). (A szerver nagy szm ssze sorszmmal.

ugyanazt a szmot.) Ez a gondosan megalkotott kezdeti sorszm az gynevezett sti. Ezt kveten a szerver elkld egy SYNACK-csomagot ezz

Fontos, hogy a szerver nem emlkszik a stire vagy brmilyen ms, a SYN-hez kapcsold llapot- informcira.

Ha a kliens szablyszer, akkor egy ACK-szegmenst kld vissza. A szervernek a nyugta kzhezvtelt kveten ellenriznie kell, hogy a nyugta egy kor

kapcsoldik-e. Hogyan trtnik ez, ha a szervernek nincsenek emlkei a SYN-szegmen- sekrl? Knnyen kitallhatjuk, hogy ez a sti segtsgvel trtnik

szablyszer nyugtnl a nyugtamezben lv rtk egyenl a SYNACK sorszma plusz eggyel (lsd 3.38. bra). Ezt kveten a szerver lefuttatja ugy korbbi SYN-szegmenshez tartozik, s ennlfogva rvnyes. Ezutn a szerver egy szoket- tcl egytt ltrehoz egy teljesen nyitott sszekttetst. sokat! ACK-szegmenst kld vissza minden SYN ACK-szegmensre, amelyet a szerver ltrehoz. Hz arra kszteti a szervert, hogy

ACK-szegmens ugyanazon mezivel s a titkos szmmal. Ha a fggvny ltal adott ered mny plusz egy megegyezik a nyugtaszmmal, a szerver gy d

Msrszrl viszont, ha a kliens nem kld vissza egy ACK-szegmenst, akkor az eredeti SYN nem tett semmilyen krt a szervernl, mivel a szerver nem je

A SYN-stik hatkonyan kszblik ki egy SYN elrasztsi tmads fenyegetst. A SYN el raszts! tmads egy vltozata az, amikor a rosszindulat k

teljesen nyitott TCP-sszekttet

mg akkor is, ha az opercis rendszer SYN-stiketalkalmaz. Ha tbbtzezcrkliensthasznlilyentmadst(DDoS-tmads), mindegyi ket klnbz I P-cm vdekezni, m i n t a klasszikus SYN elrasztsi tmads ellen.

vlik a szerver szmra, hogy megklnbztesse a sza- blyszerisarosszindulat forrsokat.Ennlfogva,ezelienabefejezellkzfogsostmadsellen

A fenti trgyalsunk felttelezte, hogy mind a kliens, mind pedig a szerver kszen ll a kommunikcira, azaz hogy a szerver fig amelyre a kliens a SYN-szeg- menst kldi. Fontoljuk meg, mi trtnik akkor, amikor egy hoszt egy olyan TCP-szeg- menst kap, amel vagy a forrs-IP-cme nem egyezik meg a hoszt egy hasznlatban lv szoketjvel sem. Pldul ttelezzk fel, hogy egy hoszt egy T kap 80-as clportszmmal, de a hoszt nem fogad sszekltets-krseket a 80-as porion (azaz nem futtat webszervert a 80-as port egy specilis alaphelyzetbe-llts (reset) szegmenst fog kldeni a forrsnak. Ennek a TCP-szeg- mensnek az RST-jelzbitje (lsd 3 esre van lltva. Ily mdon, amikor a hoszt egy alaphelyzetbe-llts szegmenst kld, azt mondja a forrsnak, hogy Nincs szok szmra. Krem, ne kldje jra a szegmenst. Amikor egy hoszt egy olyan UDP-csomagot kap, amelynek a clportszma nem egyezi ban lv UDP-szokettel sem, a hoszt egy specilis ICMP-datagramot kld, ahogy azt a 4. fejezetben trgyaljuk. Miutn mr jl tltjuk a TCP-sszekttets kezelst, ltogassuk meg ismt az nmap portpsztz eszkzt s vizsgljuk meg k mkdik. Ahhoz, hogy egy megclzn hoszton felkutasson egy adott TCP portot, mondjuk a 6789-es portot, az nmap egy TCP SY annak a hosztnak 6789-es clportszmmal. Ennek hrom lehetsges kimenetele van:

A J'or rshoszt egy TCP SYN ACK-szegmenst kap a megclzott hoszt li Mivel ez azl jelenti, hogy a megclzott hoszton fut egy a TCP-portszmmal, az nmap azt adja vissza, hogy nyitva. A forrshoszt egy TCP RST-szegmenst kap a megclzott koszttl. Ez azt jelenti, hogy a SYN-szegmens megrkezett a megclz

3.5.

OSSZKTTETS-ALAP SZLLTS:

TCP

245

megclzott hoszt nem futlat alkalmazst 6789-es TCP-portszmmal. De a tmad legalbb tudja, hogy a hoszton a 6789 szegmenseket a forrs- s a megclzott hoszt kztti lvonalon nem lltja meg semmilyen tzfal. (A tzfalakat a 8. fejezetben t A forrs nem kap semmit sem. Ez valsznleg azt jelenti, hogy a SYN-szegmensl egy kzbens tzfal meglltotta, s s megclzott hoszthoz.

Az nmap hatkony eszkz, amely fel tudja mrni a helyzetet nemcsak nyitott TCP-por- tok tern, de nyilolt UDP-portok tern is belltsai tern, st mg alkalmazsok s opercis rendszerek verzii tern is. Ezek legnagyobb rszt a TCP ssze kt lets-kezel befolysolsval teszi meg [Skoudis 2006). Ha az olvas vletlenl pp egy Linux-gp kzelben l, azonnal ki is prblhatja az nm gy, hogy a parancssorba begpeli azt, hogy nmap. A hltp://insecure.org/nmap cm rl ms opercis rendszerekhez is letltheti az n

246

3. A

SZLLTSI RTKG

Ezzel a TCP-ben a hibakezels s a forgalomszablyozs bevezetsnek vgre rtnk. A 3.7. alfejezetben visszatrnk a TCP-hez s bizonyos mlysgig megvizsgljuk a TCP torldskezelst. Mindenekeltt azonban ltalnosabban vizsgljuk meg a torldskezels krdseit.

3.6. A torldskezels elvi alapjai


Az elz szakaszokban megvizsgltuk mind az ltalnos alapelveket, mind pedig konkrt TCP-mechanizmusokat, amelyek megbzhat adattviteli szolgltats biztostshoz hasznlatosak csomagveszts esetn. Korbban mr emltettk, hogy a gyakorlatban ilyen csomagveszts jellemzen az tvlasztk pdereinek tlcsordulsbl ered, mivel a hlzatban torlds lp fel. gy a csomag jrakildse csak tneti kezelst nyjt a hlzati torldsra (egy adott szlltsi rtegbeli szegmens elvesztsre), de a hlzati torlds okt nem kezeli, vagyis azt, hogy tl sok forrs prbl tl nagy sebessggel adatot kldeni. A hlzati torlds oknak kezelsre olyan mechanizmusokra van szksg, amelyek h lzati torlds esetn lecskkentik a kldk adsi sebessgt. Ebben az alfejezetben ltalnossgban vonjuk vizsglat al a torldskezels problmjt, megksreljk megrteni, hogy mirt rossz a torlds, hogyan mutatkozik meg a hlzati torlds a felsbb rtegbeli alkalmazsok ltal tapasztalt teljestmnyben, s klnfle megoldsokat vizsglunk meg, amelyekkel elkerlhetjk vagy feloldhatjuk a hlzati torldst. A torldskezels ltalnosabb tanulmnyozst az indokolja, hogy a hlzatok alapvet fontossg problmit tartalmaz top 10-es listnkon ez a tma - a megbzhat adattvitel hez hasonlan igen elkel helyen ll. Ezt a rszt az aszinkron tviteli md (asynchro- nous transfer mode, ATM) hlzatok rendelkezsre ll adatsebessg (available bit rate, ABR) szolgltatsnl megvalstott torldskezels trgyalsval zrjuk. A kvetkez szakasz a TCP torldskezelsi algoritmusnak rszletes tanulmnyozst tartalmazza.

3.6.1. A torlds okai s kvetkezmnyei


A torldskezels ltalnos tanulmnyozst hrom olyan, egyre nvekv bonyolultsg forgatknyv vizsglatval kezdjk, amelynek sorn torlds alakul ki. Minden esetben megnzzk, hogy mirt alakul ki a torlds, s azt, hogy mi a torlds ra (az erforrsok nem teljes kihasznlsban s a vgrendszereknl tapasztalhat gyenge teljestmnyben kifejezve). Azzal (mg) nem fogunk foglalkozni, hogy hogyan oldjuk fel vagy kerljk cl a tor ldst, hanem inkbb arra az egyszerbb krdsre sszpontostunk, hogy mi trtnik akkor, amikor a hosztok nvelik az tviteli sebessgket s a hlzatban torlds alakul ki.

1. forgatknyv: Kt kld hoszt s egy vgtelen pufferekkel rendelkez tvlaszt


Kezdjk taln a lehet legegyszerbb torldsi helyzettel. Van kt hoszt (A s B), mindkettnek van egy sszekttetse, amely kzsen hasznlja a forrs s cl

3.5.

OSSZKTTETS-ALAP SZLLTS:

TCP

247

kztti egyetlen tvlasztt, ahogy ez a 3.42. brn lthat. Ttelezzk fel, hogy az A hoszton lv alkalmazs adatokat kld az sszekttetsen keresztl (pldul egy szoketen l adatokat ad t a szlltsi szint protokollnak) tlagosan
A hoszt D hoszt

Korltlan osztott kimeneti adatkapcsolati pufferek

3.42. bra. /. forgatknyv: Kt sszekttets egy kzs hasznlat, vgtelen pufferekkel rendelkez tvlasztval X $ bjt/s sebessggel. Ezek eredeti adatok abban az rtelemben, hogy minden adategysget csak egyszer kld a szoketbe. Az alatta lv szlltsi szint protokoll egy egyszer protokoll. Begyazza az adatot, s elkldi - nem vgez hibajavtst (pldul jrakldst), forgalomszablyozst vagy torldskezelst. Figyelmen kvl hagyva az egyb, szlltsi s alsbb rtegbeli fejrszek hozzadsbl ered tbbletadatokat, gy ebben a forgatknyv ben a sebessg, amellyel az A hoszt az tvlasztnak forgalmat kld bjt/s. B hoszt hasonlkppen mkdik, s az egyszersg kedvrt felttelezzk, hogy ez is bjt/s sebessggel kld. Az A s B hosztoktl a csomagok thaladnak egy tvlasztn s egy kzs, R kapacits kimen adatkapcsolaton. Az tvlasztnak pufFerei vannak, amelyek lehetv teszik a berkez csomagok trolst, amikor a csomagrkezsi sebessg meghaladja a kimen adatkapcsolat kapacitst. Ebben az els helyzetben felttelezzk, hogy az tvlasztnak vgtelen nagysg puferterlete van. A 3.43. bra az A hoszt sszekttetsnek teljestkpessgt brzolja grafikusan ezen els forgatknyv szerinti mkds sorn. A bal oldali grbe a sszekttetsenknti tbocstkpessget (per-connection throughput) (a vevhz a msodpercenknt rkez bjtok szmt) brzolja a sszekttets kldsi sebessgnek fggvnyben. Ha a kldsi sebessg 0 s R/2 kz esik, a vevnl az tbocstkpessg a kld kldsi sebessgvel egyezik meg - minden adat, amelyet a kld elkld, vges ksleltetssel rkezik meg a ve vhz. Amikor azonban a kldsi sebessg R/2-nl nagyobb, az tbocstkpessg csak R/2. Az tbocstkpessgnek ez a fels korltja annak a kvetkezmnye, hogy kt ssze kttets osztozik az adatkapcsolat kapacitsn. Az adatkapcsolat egyszeren nem kpes a csomagokat a vevhz egy jR/2-nl nagyobb llandsult sebessggel kzbesteni. Mindegy, hogy az A s B hosztok milyen magasra lltjk a kldsi sebessgeiket, egyik sem fog soha ft/2-nl nagyobb tbocstkpessget elrni.

248

3. A

szlltsi rteg

Az sszekttetsenknti R2 tbocstkpessg elrse j dolognak tnhet, mivel az adatkapcsolatot teljes mrtkben kihasznljuk a csomagok rendeltetsi helykre trtn szlltshoz. Ugyanakkor a 3.43. bra jobb oldali grafikonja megmutatja az adatkapcsolat kapacitsnak kzelben trtn mkds kvetkezmnyeit. Ahogy a kldsi sebessg (balrl) megkzelti az R/2 rtket, az tlagos ksleltets egyre nagyobb vlik. Amikor a

3.5.

OSSZKTTETS-ALAP SZLLTS:

TCP

249

(a) (b)

3.43. bra. 1. forgatknyv: tbocstkpessg s ksleltets a hoszt kldsi sebessgnek fggvnyben kldsi sebessg meghaladja az Rt2-t, az tvlasztban sorban ll csomagok tlagos szma korltlan, s a forrs s a cl kztti tlagos ksleltets vgtelenn vlik (felttelezve, hogy az sszekttetsek vgtelen ideig mkdnek ezeken a kldsi sebessgeken, s hogy vgtelen pufferterlet ll rendelkezsre). Ekkppen mg az tbocstkpessg szempontjbl idelis lehet az olyan zemeltets, amikor az egyttes tbocstkpessg R kzelben van, ez messze nem idelis a ksleltets szemszgbl. Mg ebben a (vgtelenl) idealizlt helyzetben is

megtalltuk mr az egyik kvetkezmnyt (rt) a torldst tartalmaz hlzatnak - nagy sorbanllsi ksleltetsek tapasztalhatk, ahogy a csomagrkezsi sebessg megkzelti az adatkapcsolat kapacitst.

2. forgatknyv: Kt kld hoszt s egy vges pufferekkel rendelkez tvlaszt


Vltoztassuk most meg egy kicsit az 1. forgatknyvet a kvetkez kt mdon (lsd 3.44. bra). Elszr is az tvlaszt pufferterlett vgesnek ttelezzk fel. Ennek a vals vilgbeli felttelezsnek a kvetkezmnye az, hogy a csomagok eldobsra kerlnek, hogyha egy mr teli pufferbe rkeznek. Msodszor pedig felttelezzk, hogy minden sszekttets megbzhat. Ha egy szlltsi szint szegmenst tartalmaz csomagot eldob az tvlaszt, a kld vgl jra fogja azt kldeni. Mivel lehetnek jrakldtt csomagok is, most mr krltekintbbnek kell lennnk a kldsi sebessg kifejezs hasznlatakor, jelljk megint azt a sebessget, amellyel az alkalmazs eredeti adatot kld a szoketbe A (> bjt/s-mal. A sebessget, amellyel a szlltsi rteg szegmenseket (eredeti adatokat s jrakldtt adatokat) kld a hlzatba \ k . bjt/s fogja jellni. A X hc -re nha a hlzat szmra felajnlott terhelsknt (offered load) hivatkoznak.

250

3. A

szlltsi rteg

A 2. forgatknyv szerinti teljestmny nagymrtkben fgg attl, hogyan vgzik az j- rakldseket. Elszr ttelezzk fel azt a nem valsgh esetet, hogy az A hoszt valahogy (varzslattal) kpes meghatrozni, hogy az tvlasztban egy puffer szabad-e vagy sem, s ezltal csak akkor kld el egy csomagot, amikor egy puffer szabad. Ebben az esetben nem trtnne csomagveszts, a A h egyenl lenne a A he -vel, s az sszekttets tbocstkpessge X^-vel egyezne meg. Ezt az esetet mutatja a 3.45. (a) bra. Az tbocstkpessg

251

3. A

SZLLTSI RTKG

Vges osztott kimeneti adatkapcsolati pufferek

3.44. bra. 2. forgatknyv: Kt hoszt (jrakldsekkel) s egy vges pufferekkel


rendelkez tvlaszt szempontjbl a teljestkpessg idelis - minden, amelyet az ad elkldtt, megrkezett. Vegyk szre, hogy ebben a helyzetben az tlagos hoszt kldsi sebessg nem haladhatja meg az R/2 rtket, mivel azt feltteleztk, hogy soha sem trtnik csomagveszts. Most vegyk fontolra azt a kicsit realisztikusabb esetet, amikor a kld csak akkor kld jra egy csomagot, amikor biztosan tudja, hogy az elveszett. (Br ez a felttelezs egy kiss erltetett, mindamellett lehetsges, hogy a kld hoszt elg nagyra lltja idztsnek rtkt ahhoz, hogy az ltszlagosan biztostsa azt, hogy egy csomag, amelyet nem nyugtztak, elveszettnek tnjn.) Ebben az esetben a teljestkpessg a 3.45. (b). brn lthathoz hasonl lehet. Azrt, hogy helyesen tlhessk meg azt, hogy mi trtnik itt, fontoljuk meg azt az esetet, amikor a felajnlott terhels, X' bc (az eredeti adattvitel plusz az jrakldsek sebessge), Rl2-vel egyenl. A 3.45. (b) bra alapjn a felajnlott terhelsnek ennl az rtknl az adatot a vev alkalmazsnak kzbest sebessg Rl3. Ilyenformn a 0,5 R bjt/sec tvitt adatsebessgbl (tlagosan) 0,333 R bjt/s az eredeti adat, s (tlagosan)

252

3. A

szlltsi rteg

0,166K bjt/s az jraktildtt adat. Itt egy jabb kvetkezmnyt (rt) ltjuk a torldsos hlzatnak - a kldnek jrakldseket kell vgrehajtania annak

rdekben, hogy a pujfer tlcsordulsa miatt eldobott (elveszett) csomagokat ellenslyozza.


Vgl, fontoljuk meg azt az esetet, amikor a kld idztje tl korn jr le, s ezrt egy olyan csomagot kld jra, amelyet a vrakozsi sor ksleltetett, de amely mg nem veszett el. Ebben az cselben mind az eredeti adatcsomag, mind pedig az jraklds eljuthat a vevig. Termszetesen a vevnek csak egyetlen pldnyra van szksge ebbl a csomagbl, s az ismtelten elkldttet el fogja dobni. Ebben az esetben az tvlaszt ltal az eredeti csomag jrakldtt msolatnak tovbbtsa sorn vgzett munkja krba veszik, mivel a vev az jrakldtt csomag megrkezse eltt mr meg fogja kapni az eredeti pldnyt. Az tvlaszt jobban kihasznlta volna az adatkapcsolat tviteli kapacitst, ha ehelyett egy msik csomagot kld. Itt van akkor mg egy kvetkezmnye (ra) a

tlzsfolt hlzatnak - nagy ksleltetsek jelenltben a kld ltali szksgtelen jrakiildsek egy tvlasztt arra ksztethetnek, hogy az adatkapcsolat svszlessgt egy csomag flsleges msolatainak tovbbtsra hasznlja. A
3.45. (c) bra az tbocstkpessget mutalja a felajnlott terhels fggvnyben, amikor felttelezzk azt, hogy minden csomagot (tlagosan) kt szer tovbbt az tvlaszt. Mivel minden csomagot ktszer tovbbit, az tbocstkpessg aszimptotikusan tart R/4-hez, ahogy a felajnlott terhels megkzelti R2-t.

3. forgatknyv: Ngy kld hoszt, vges pufferekkel rendelkez tvlasztk s tbbcsompontos (multihop) tvonalak
Az utols torldsi forgatknyvnkben ngy hoszt kld csomagokat, mindegyik egymst tfed, kt tvlasztt tartalmaz tvonalakon keresztl tovbbtja, ahogy azt a 3.46. bra mutatja. Ismt felttelezzk, hogy minden hoszt egy idzts/jra klds mechanizmust hasznl a megbzhat adattvitel megvalstshoz, s hogy minden hosztnak ugyanaz a X, h rtke, valamint, hogy minden tvlaszt adatkapcsolatnak R bjt/s az tviteli kapacitsa. Tekintsk az A hoszttl a C hoszthoz irnyul sszekttetst, amelyik az R s R2 tvlasztkon halad keresztl. Az A-C sszekttets osztozik az R tvlasztn a DB sszekttetssel, s kzsen hasznlja az R2 tvlasztt a B-L) sszekttetssel.

3.5.

OSSZKTTETS-ALAP SZLLTS:

TCP

253

Nagyon kis \w rtkekre a puffertlcsordulsok ritkk (mint az 1. s 2. torldsi forgatknyvek esetn), s az tbocstkpessg kzeltleg megegyezik a felajnlott terhelssel. A kicsit nagyobb rtkeinl a hozz tartoz tbocstkpessg szintn nagyobb, mivel tbb eredeti adatot tovbbt a hlzatba, s szllt a clllomshoz, a tlcsordulsok pedig mg mindig ritkk. Ekkppen kis A K> rtkekre a A bc nvekedse a A ki nvekedst eredmnyezi. Miutn a nagyon kis forgalom esett tgondoltuk, vizsgljuk meg kvetkeznek azt az esetet, amikor a X K (s ennlfogva a A b is) nagyon nagy. Vegyk az R2 tvlasztt. Az R2 tvlaszthoz rkez A-C forgalom (amely az Rl-tl trtnt tovbbtsa utn rkezik R2-hz) R2-hz trtn rkezsi sebessge a rtktl fggetlenl legfeljebb R, az Rl-tl az R2-hz vezet adatkapcsolat kapacitsa lehet. Ha a minden sszekttetsnl nagyon nagy (belertve a B-D sszekttetst is), akkor a B-D forgalom rkezsi sebessge R2-hz sokkal nagyobb lehet, mint az A-C forgalom. Mivel az A-C s a B-D forgalomnak az R2 tvlasztnl versengenie kell a korltos mennyisg pufferterletrt, az R2-n sikeresen tjut (azaz puffertlcsorduls hatsra el nem vesz) A-C forgalom mennyi sge egyre cskken, ahogy a B-D felajnlott terhelse egyre nagyobb lesz. Hatrrtkben,

254

3. A
eredeti adat

szlltsi rteg

A hoszt

B hoszt

D hoszt

Vges osztott kimeneti adatkapcsolati pufferek

C hoszt

3.46. bra. 3. forgatknyv: Ngy kld hoszt, tvlasztk vges

pufferekkel s tbbcsompontos tvonalakkal


ahogy a felajnlott terhels vgtelenhez tart, R2-nl egy res puffrt azonnal megtlt egy B-D csomag, s R2-nl az A-C sszekttets tbocstkpessge nullhoz tart. Ez viszont maga utn vonja azt, hogy az A-C vgpontok kztti tbocstkpessg nullhoz tart nagy forgalom esetn. Ezek a megfontolsok eredmnyezik a felajnlott terhels s az tbocst- kpessg kztti sszefggst, amely a 3.47. brn lthat. Az tbocstkpessgben nvekv felajnlott terhels mellett bekvetkez vgs cskkens oka nyilvnval, ha fontolra vesszk a hlzat ltal vgzett flsleges munka meny- nyisgt. A fent krvonalazott nagy forgalm esetben, amikor egy csomagot egy msodik tvlaszt (vagyis az, amelyiken a csomag az tja sorn msodikknt halad t) eldob, az els tvlasztnak a csomag msodik tvlaszthoz trtn tovbbtsra fordtott munkja vgl hibaval lesz. A hlzat ugyanolyan jl (pontosabban ugyanolyan rosszul) meglett volna, ha az els tvlaszt egyszeren csak eldobja azt a csomagot, s ttlen ma rad. Mi tbb, az els tvlaszt ltal a csomag msodik tvlaszthoz trtn tovbb tsra hasznlt tviteli kapacitst kifizetdbb lett volna felhasznlni egy msik csomag

3.5.

OSSZKTTETS-ALAP SZLLTS:

TCP

255

tvitelre. (Pldul amikor egy csomagot kijellnek az tvitelre, jobb lehet, ha egy tvlaszt elnyben rszesti azokat a csomagokat, amelyek a tovbbts sorn mr nhny tvlasztn thaladtak.) gy itt mg egy kvetkezmnyt ltjuk

annak, ha torlds miatt

256

3. A SZLLTSI RTEG

3.47. bra. 3. forgatknyv teljestmnye vges pufferekkel s

tbbcsompontos tvonalakkal egy csomagot el kell dobni - amikor az tvonal sorn egy csomagot eldobnak, vgs soron veszendbe megy az az tviteli kapacits, amelyet minden adatkapcsolatnl arra szntak, hogy azt a csomagot ahhoz a ponthoz tovbbtsk, ahol azt aztn eldobtk.

3.6.2. A torldskezels megoldsai


A 3.7. alfejezetben a TCP sajt torldskezelsi megoldsait fogjuk nagy rszletessggel megvizsglni. Itt a torldskezels kt ltalnos, a gyakorlatban is alkalmazott megoldst fogjuk felfedni, s klnbz, az ezeket a megoldsokat megvalst hlzati architektrkat s torldskezelsi protokollokat fogunk trgyalni. A legltalnosabb szinten a torldskezelsi megoldsokat az alapjn klnbztethetjk meg, hogy a hlzati rteg nyjt-e nylt tmogatst a szlltsi rtegnek torldskezelsi clokra:

Vgpontok kztti torldskezels. A torldskezels vgpontok kztti megoldsnl a hlzati rteg semmilyen nylt tmogatst nem nyjt a

szlltsi rtegnek torldskezelsi clokra. Mg a hlzatban fellp torlds jelenltre is csak a megfigyelt hlzati viselkedsre (pldul csomagvesztsre s ksleltetsre) alapozva lehet a vgrendszereknek kvetkeztetnik. A 3.7. alfejezetben ltni fogjuk, hogy a TCP-nek szk sgkppen ezt a vgpontok kztti megkzeltst kell alkalmaznia a torldskezelsre, mivel az IP-rteg semmilyen visszajelzst sem biztost a vgrendszereknek a hlzati torldst illeten. A TCP-szegmens elveszst (amelyet idtllps vagy hromszoros kettztt nyugta jelez) a hlzati torlds jelzsnek veszi, s a TCP ennek megfele len cskkenti az ablakmrett. Egy jabb javaslatot is ltni fogunk a TCP torlds kezelsre, amely a nvekv krbejrsi ksleltetsi rtkekei a megnvekedett hl zati torlds jelzsnek tekinti. Hlzat ltal tmogatott torldskezels. A hlzat ltal tmogatott torldskezels esetn a hlzati ptelemek (azaz az tvlasztk) a

3.45. bra. 2. forgatknyv teljestmnye vges pufferekkel

3.6. A

TORLDSKEZELF.S ELVI ALAPJAI

257

kldnek nylt visszacsatolst biztostanak a hlzatban a torlds llapott illeten. Ez a visszajelzs akr olyan egyszer is lehet, mint egyetlen bil, amely egy adatkapcsolaton ltrejtt torldst jelez. Ezt a megoldst hasznltk a korai IBM SNA [Schwartz 1982] s DEC DECnet jain 1989; Ramakrishnan 1990] architektrkban, nemrgiben ezt javasoltk a TCP/

258

3. A SZI.l TSI RTEG


B hoszt Hlzati visszacsatols a vevn keresztl

Kzvetlen hlzati visszacsatols

A hoszt

3.48. bra. A hlzat ltal jelzett torldsi informci kt visszacsatolsi tvonala IP-hlzatokhoz [Floyd TCP 1994; RFC 3168), s ezt hasznltk az ATM rendelkezsre ll adatsebessg (ABR) torldskezelse esetn is, ahogy ezt albb trgyaljuk. Bonyolultabb hlzati visszajelzs is lehetsges. Pldul az ATM ABR torldskezelsnek egy formja, amelyet rvidesen tanulmnyozni fogunk, lehetv teszi egy tvlaszt szmra, hogy a kldt explicit mdon rtestse arrl, hogy egy kimen adatkapcsolaton milyen kldsi sebessget kpes fenntartani (az tvlaszt). Az XCP protokoll [Katabi 2002] minden forrsnak az tvlaszt ltal szmtott, a csomag fejrszben szlltott visszajelzst nyjt arrl, hogy a forrsnak miknt kell a kldsi sebessgt nvelnie vagy cskkentenie. Hlzat ltal tmogatott torldskezels esetn a torldsi informcit jellemzen ktfle mdon lehet visszacsatolni a hlzatbl a kldnek, ahogy ez a 3.48. brn lthat. Kzvetlen visszajelzst lehet kldeni egy hlzati tvlasztbl a kldnek. Az rtestsnek ez a formja jellemzen egy lefojt csomaggal (choke packet) trtnik (lnyegben azt mondja, hogy Torlds lpett fel nlam!). Az rtests msodik formja akkor k vetkezik be, amikor egy tvlaszt a torlds jelzseknt megjell/frisst egy mezt egy a kldtl a vev fel halad csomagban. Egy megjellt csomag vtele esetn a vev rtesti a kldt a torldsjelzsrl. Vegyk szre, hogy az rtestsnek ez utbbi formja legalbb egy teljes krbejrsi idt vesz ignybe.

3.6.3. Plda a hlzat ltal tmogatott torldskezelsre: az ATM ABR torldskezelse


Ezt a rszt az ATM ABR torldskezelsi algoritmusnak egy rvid

3.6. A

TORLDSKEZELF.S ELVI ALAPJAI

259

esettanulmnyval zrjuk. Ez a protokoll a torldskezelsnek egy hlzat ltal tmogatott megoldst valstja meg. Hangslyozzuk, hogy a clunk nem az ATMarchitektra jellegnek rszletekbe men lersa, sokkal inkbb egy olyan protokoll szemlltetse, amely az internet TCP protokolljval szemben hatrozottan ms megoldst vlaszt a torldskezels megvalsts-

260

3. A SZI.l TSI RTEG

ra. Valjban, albb az ATM-architektrnak csak nhny jellemzjt ismertetjk, amely az ABR lorldskezels megrtshez szksges. Az ATM alapveten egy virtulis ramkr (virtual circuit, VC) irnyultsg csomag- kapcsolsi megolds. Eleventsk fel az 1. fejezetbeli trgyalsunkbl, hogy ez azt jelenti, hogy a forrstl a clig vezet tvonalon minden kapcsol egy forrs-cl VC-llapotot fog kezelni. Ez a VC-nknti llapot lehetv teszi egy kapcsol szmra, hogy az egyes kldk viselkedst nyomon kvethesse (pldul az tlagos kldsi sebessgk nyomon kvetse), s hogy forrstl fgg torldskezelsi lpseket tegyen (mint pldul, nyltan jelezze egy kldnek, hogy cskkentse a sebessgt, amikor a kapcsol torldott vlik). Ez a hlzati kapcsolkban trolt VC-nknti llapot tkletesen alkalmass teszi az ATM-et arra, hogy hlzat ltal segtett torldskezelst alkalmazzon. Az ABR-t egy rugalmas adattviteli szolgltatsknt terveztk bizonyos mrtkben a TCP re emlkeztet mdon. Amikor a hlzat alultcrhelt, az ABRszolgltatsnak ki kell tudnia hasznlni a felesleges elrhet svszlessget, amikor a hlzat torldott, az ABR- szolgltatsnak vissza kell fognia a kldsi sebessgt egy elre meghatrozott legkisebb kldsi sebessgre. Az ATM ABR torldskezelsrl s forgalomkezelsrl rszletes ok tatsi segdletet nyjt [Jain 1996] munkja. A 3.49. bra az ATM ABR torldskezelsnek keretszerkezett mulatja. A trgyalsunk sorn az ATM szhasznlatt alkalmazzuk (pldul a kapcsol kifejezst hasznljuk az tvlaszt helyett, s a cella kifejezst a csomag helyett). Az ATM ABR szolgltats sorn az adatcellkat egy sor kzbens kapcsoln keresztl viszik t egy forrstl egy clig. Az adatcellkkal sszekeverve erforrskezel cellk (resource-management cell, RM cell) is vannak - ezeket az RMcellkat lehet felhasznlni a torldssal kapcsolatos infor mcik kzvettsre a hosztok s a kapcsolk kztt. Amikor egy RM-cella megrkezik egy clllomshoz, az megfordtja a cellt s visszakldi a kldnek (lehet, hogy azt k veten, hogy a cllloms az RM-cella tartalmt mdostotta). Egy kapcsolnak arra is lehetsge van, hogy nmaga hozzon ltre egy RM-cellt, s ezl az RM-cellt kzvetlenl egy forrsnak kldje. Ily mdon az RM-cellk hasznlhatak mind kzvetlen hlzati visszacsatols biztostsra, mind pedig vevn keresztli hlzati visszajelzs kldsre, ahogy ez a 3.49. brn lthat. Az ATM ABR torldskezels sebessgalap megolds. Azaz a kld explicit mdon kiszmol egy legnagyobb sebessget, amellyel kldhet, s ennek megfelelen szablyozza
Forrs

Cl

Jells: R-Vfcellk ^ Adatcellk

261

3. A SZLLTSI RTEG

nmagt. Az ABR hrom mdszert tartalmaz a torldssal informcinak a kapcsolktl a vevnek trtn jelzsre:

kapcsolatos

EFCI bit. Minden adatcella tartalmaz egy kifejezett elremen torldsjelz (explicit forward congestion indication, EFCI) bitet. Egy tlzsfolt hlzati kapcsol az adatcellban az EFCI bitet 1-esre llthatja, hogy jelezze a clhosztnak a torldst. A clllomsnak minden vett adatcellban ellenriznie kell az EFCI bitet. Amikor egy RM-cella rkezik a clllomshoz, ha a legutoljra vett adatcella EFCI bitje 1-esre volt lltva, a cllloms az RM-cella torldsjelz bitjt (congestion indication bit, Cl bit) 1-esre lltja, s visszakldi az RM-cellt a kldnek. Az adatcellkban az EFCI s az RMcellkban a Cl bitek hasznlata kvetkeztben a kld rtesthet egy hl zati kapcsolban ltrejtt torldsrl. 67 s NI bitek. Ahogy azt fent megjegyeztk, a kldtl a vevnek kldtt RMcellk adatcellkkal keverednek. Az RM-cellk keveredsnek arnya egy

3.45. bra. 2. forgatknyv teljestmnye vges pufferekkel

262

3. A SZI.l TSI RTEG

hangolhat paramter, amelynek az alaprtelmezett rtknl egy RM-cella jut minden 32 adatcellra. Ezeknek az RM-cellknak van egy torldsjelz (congestion indication, Cl) bitjk s egy nincs-nvekeds (no increase, NI) bitjk, amelyeket egy torldott hlzati kapcsol bellthat. Konkrtan, enyhe torlds esetn egy kapcsol egy thalad RM-cellban 1-re llthatja az NI bitet, slyos torldsi helyzet esetn pedig a Cl bitet llthatja 1-re. Amikor egy clhoszt megkap egy RM-cellt, azt vissza fogja kldeni a vevnek a Cl s NI biteket rintetlenl hagyva (kivve, hogy a cllloms a Cl-t 1-esre llthatja a fent lert EFCI mechanizmus eredmnyekppen). ER bellts. Minden RM-cella egy 2 bjtos kifejezett sebessg (explicit rate, ER) mezt is tartalmaz. Egy torldott kapcsol egy thalad RM-cellban cskkentheti az ER mez ltal tartalmazott rtket. Ekkppen az ER mez a forrs-cl tvonalon lv sszes kapcsol ltal fenntarthat legalacsonyabb sebessget fogja tartalmazni. Egy ATM ABR forrs a visszakldtt RM-cellkban lv Cl, NI s ER rtkek fggvnyben lltja be a sebessget, amellyel a cellkat kldheti. Ennek a sebessgbelltsnak a szablyai elg bonyolultak, s egy kicsit unalmasak is. Az rdekld olvast rszletekrt [jain 1996) munkhoz irnytjuk.

3.7. A TCP torldskezelse


Ebben az alfejezetben visszatrnk a TCP tanulmnyozshoz. Ahogy a 3.5. alfejezetben megtanultuk, a TCP megbzhat adattviteli szolgltatst biztosit kt klnbz hoszton fut folyamat kztt. A TCP egy msik f sszetevje a torldskezelsi mechanizmusa. Ahogy azt az elz alfejezetben jeleztk, a TCPnek vgpontok kztti torldskezelst kell alkalmaznia a hlzat ltal tmogatott torldskezels helyett, mivel az IP-rteg a hlzati torldst illeten nem nyjt nylt visszacsatolst a vgrendszereknek. A TCP ltal alkalmazott megolds az, hogy minden kldnek sajt magnak kell az szlelt hlzati torlds fggvnyben korltoznia a sebessget, amellyel az sszekttetsen keresztl adatokat kld. Ha egy TCP-kld azt szleli, hogy nmaga s a cllloms kztti tvonalon kicsi a zsfoltsg, akkor a TCP-kld nveli a kldsi sebessgt; ha pedig azt szleli a kld, hogy az tvonal mentn torlds van, akkor cskkenti a kldsi sebessgt. De ez a megolds felvet hrom krdst. Egyrszt, a TCP-kld hogyan korltozza a sebessget, amellyel az sszekttetsbe forgalmat kld? Msrszt, hogyan szleli egy TCP-kld, hogy a kzte s a cllloms kztti tvonalon torlds van? Harmadszor pedig, milyen algoritmust kell a kldnek hasznlnia, hogy az szlelt vgpontok kztti torlds fggvnyben megvltoztassa a kldsi sebessgt? Ezt a hrom krdst meg fogjuk vizsglni a TCP Reno torldskezelsi algoritmusnak krnyezetben, amelyet a legjabb opercis rendszerekben hasznlnak (Padhye 2001]. A trgyals valssgnak megtartsa rdekben felttelezzk, hogy a TCP-kld nagy fjlt kld. Nzzk elszr azt, hogy egy TCP-kld hogyan korltozza azt a sebessget, amellyel az sszekttetsen keresztl adatokat kld. A 3.5. alfejezetben lttuk,

3.6. A

TORLDSKEZELF.S ELVI ALAPJAI

263

hogy egy TCP-sszekt- tets mindkt oldala egy vteli puffrt, egy kld puffrt s szmos vltozt (LastBy te Read, RcvWindow s gy tovbb) tartalmaz. A TCP torldskezelsi mechanizmusa mg egy vltozt, a torldsi ablakot (congestion vvindow) kezel egy sszekttets mindkt oldalval. A CongWin-nel jellt torldsi ablak korltozza egy TCP-kld sebessgt, amellyel a hlzatba adatokat kldhet. Konkrtan, a kldnl a nem nyugtzott adat mennyisge nem haladhatja meg a CongWin s az RcvWindow minimumt, azaz:

LastByteSent - LastByteAcked < min{CongWin, RcvWondow}


Azrt, hogy a torldskezelsre sszpontosthassunk (a forgalomszablyozssal szemben), ttelezzk fel mostantl fogva, hogy a TCP vteli puffere olyan nagy, hogy a vteliab- lak-korltozs figyelmen kvl hagyhat, ily mdon a kldnl a nem nyugtzott adatok mennyisgt kizrlag a CongWin korltozza. A fenti knyszer korltozza a kldnl lv nem nyugtzott adatok mennyisgt, s ez kvetkezskppen kzvetve a kld kldsi sebessgt korltozza. Azrt, hogy ezt meglssuk, vegynk fontolra egy olyan sszekttetst, amelynl a csomagveszts s csomag tviteli ksleltets elhanyagolhat. Ezt kveten nagyjbl minden RTT kezdetekor a korlt CongWin bjtnyi adatnak az sszekttetsbe val kldst engedi meg - az RTT vgn a kld nyugtkat kap az adatokra. Ennlfogva a kld kldsi sebessge megkzeltleg CongWin/RTT bjt/s. A CongWin rtknek lltsval teht a kld lltani tudja azt a

sebessget, amellyel az sszekttetsn keresztl adatokat kld.


Fontoljuk most meg azt, hogy egy TCP-kld hogyan szleli azt, hogy az nmaga s a cllloms kztti tvonalon torlds van. Definiljuk egy TCP-kldnl a vesztsi esemnyt egy idtllps vagy a vevtl kapott hrom kettztt nyugta elfordulsval. (Emlkezznk vissza a 3.5.4. alfejezetben a 3.32. brn az idtllpsi esemnyrl szl trgyalsunkra, s az azt kvet mdostsra, miszerint hrom kettztt nyugta vtele esetn gyors jrakldst alkalmazunk.) Amikor rendvl nagy a torlds, akkor az tvonal mentn egy (vagy tbb) tvlaszt puffere tlcsordul, amely egy (TCP-szegmenst tar talmaz) datagram eldobst eredmnyezi. Az eldobott datagram pedig egy vesztsi ese mnyt eredmnyez a kldnl - vagy egy idtllpst vagy pedig hrom kettztt nyugta vtelt -, amelyet a kld a kld-vev tvonalon fellpett torlds jelzsnek tekint. Miutn ttekintettk, hogyan szleli a kld a torldst, kvetkeznek vegynk fontolra egy derltbb esetet, amikor a hlzat torldsmentes, azaz amikor nem kvetkezik be vesztsi esemny. Ebben az esetben a TCP-kld nyugtkat fog kapni a korbban nem nyugtzott szegmensekre. Ahogyan azt ltni fogjuk, a TCP ezeknek a nyugtknak a vtelt annak jelzsnek tekinti, hogy minden rendben van - teht, hogy a hlzatba kldtt szegmenseket sikeresen kzbestik a clllomshoz -, s a nyugtkat arra fogja hasznlni, hogy nvelje a torldsi ablaknak a mretet (s ennlfogva az adsi sebessgt). Figyelje meg, hogyha a nyugtk viszonylag lass sebessggel rkeznek (pldul, ha a vgpontok kztti tvonalnak nagy a ksleltetse vagy egy kis svszlessg adatkapcsolatot tartal maz), akkor a torldsi ablak viszonylag lass sebessggel fog nni. Msrszrl viszont, ha a nyugtk nagy sebessggel rkeznek, akkor a torldsi ablak gyorsabban fog nvekedni. Mivel a TCP nyugtkat hasznl arra, hogy a torldsi

264

3. A SZI.l TSI RTEG

ablak mretnek nvekedst elidzze (vagy idztse), a TCP-t nidztnek (selfclocking) mondjk. Most mr abban a helyzetben vagyunk, hogy megtekinthetjk a rszleteit annak az algoritmusnak, amelyet egy TCP-kld arra hasznl, hogy a kldsi sebessgt az szlelt torlds fggvnyben szablyozza. Hz az algoritmus a hres TCP torldskezelsi algoritmus (con- gestion control algorithm). Az algoritmusnak hrom f sszetevje van: (1) additv nvels, multiplikatv cskkents, (2) lass induls s (3) idtllpsi esemnyekre trtn reagls.

Additv nvels, multiplikatv cskkents


A TCP torldskezelse mgtt az az alapvet elv hzdik meg, amely szerint egy vesztsi esemny bekvetkezsekor a kld cskkentse a kldsi sebessgt (a torldsi ablak mretnek, CongWin, cskkentsvel). Mivel ms TCPsszekttetsek, amelyek ugyanazokon a tlzsfolt tvlasztkon haladnak keresztl, nagy valsznsggel szintn vesztsi esemnyeket tapasztalnak, valsznleg azok is cskkentik a kldsi sebessgket a sajt CongWin rtkeik cskkentsvel. Ekkor az ltalnos hats azon forrsok esetn, amelyeknek az tvonala tlzsfolt tvlasztkon halad keresztl, az lesz, hogy cskken a hlzatba tovbbtott forgalom sebessge, ez viszont azt eredmnyezi, hogy enyhl a tlzsfolt tvlasztknl fellp torlds. De mennyivel cskkentse a TCPkld a torldsi ablakt, amikor egy vesztsi esemny bekvetkezik? A TCP egy gynevezett multiplikatv cskkents megoldst alkalmaz, amely egy vesztsi esemnyt kveten megfelezi a CongWin aktulis rtkt. Ily mdon, ha egy TCP-kld CongWin rtke jelenleg 20 Kbjt, s egy vesztst szlel, a CongWin-t flbevgja 10 Kbjtra. Ha mg egy vesztsi esemny bekvetkezik, a CongWin-t tovbb cskkenti 5 Kbjtra. A CongWin rtke tovbb eshet, de nem cskkenhet 1 MSS (maximum segment size) al. (Ez egy tfog lersa annak, hogyan vltozik a torldsi ablak egy vesztsi esemnyt kveten. A valsgban a dolgok kiss bonyolultabbak, ahogy ezt hamarosan ltni fogjuk.) xMost, hogy mr lertuk, hogy egy TCP-kld hogyan cskkenti a kldsi sebessgt egy szlelt torlds esetn, termszetes, hogy kvetkezknt azt vesszk fontolra, hogy a TCP-nek hogyan kell nvelnie a kldsi sebessgt akkor, amikor nem szlel torldst, azaz amikor nyugtk rkeznek a korbban mg nem nyugtzott adatokra. A sebessg nvekedsnek sszer magyarzata az, hogy ha nem szlel torldst, akkor valszn, hogy van hozzfrhet (nem hasznlt) svszlessg, amelyet a TCP-sszekttets a jelen- legin fell kihasznlhatna. Ilyen esetekben a TCP lassan nveli a torldsi ablakt, va tosan tapogatzva tovbbi hozzfrhet svszlessg utn a vgpontok kztti tvonalon. A TCP-kld ezt gy valstja meg, hogy a CongWin rtkt minden egyes berkez nyugtt kveten egy kicsivel megnveli, azzal a cllal, hogy a CongWin-t krbejrsi idnknt l MSS-sel nvelje [RFC 2581]. Ez szmos klnbz mdon tehet meg - az ltalnos megolds az, hogy amikor egy j nyugta rkezik, a TCP-kld a CongWin rtkt MSS x (MSS/CongWin) bjttal nveli meg. Pldul, ha az MSS rtke 1460 bjt, a CongWin- pedig 14600 bjt, akkor egy RT F alatt 10 szegmens kerl elkldsre. Minden egyes berkez nyugta (szegmensenknt egy nyugtt felttelezve) a torldsi ablak mre

3.6. A

TORLDSKEZELF.S ELVI ALAPJAI

265

tt 1/10 MSS-sel nveli, s gy mind a 10 szegmens nyugtjnak megrkezst kveten a torldsi ablak rtke a kvnt mdon egy MSS-sel fog megnvekedni. sszegezve, a TCP-kld, amikor szleli, hogy a vgpontok kztti tvonal torlds- mentes, additvan nveli a sebessgt, s multiplikatvan cskkenti a sebessgt akkor, amikor szleli (egy vesztsi esemnyen keresztl), hogy az tvonalon torlds lpett fel. Ezrt, a TCP torldskezelsre gyakran additv nvels, multiplikatv cskkents (Ad- ditive Increase, Multiplicative Decrease, AIMD) algoritmusknt utalnak. A TCP torldskezelsi protokolljnak lineris nvekeds szakasza torldselkerlsknt (congesti- on avoidance) ismert. A CongWin rtke jra meg jra olyan ciklusokon megy keresztl, amelynek sorn rtke linerisan nvekszik, majd (amikor egy vesztsi esemny bekvet kezik) hirtelen az aktulis rtknek a felre cskken. E vltozsok egy frszfog mintt eredmnyeznek a hossz let TCP-sszekttetseknl, ahogy ezt a 3.50. bra is mulatja.

Lass induls
Egy TCP-sszekttets kezdetekor a CongWin kezdeti rtkt jellemzen 1 MSS-re lltjk [RFC 3390], amely nagyjbl egy MSS/RTT kezdeti kldsi sebessget eredmnyez. Pldul, ha az MSS = 500 bjt s az RTT = 200 ms, akkor az eredmnyl kapott kezdeti kldsi sebessg csak 20 kb/s krl lesz. Mivel az sszektlets rendelkezsre ll svszlessge sokkal nagyobb lehet, mint egy MSS/RTT, szgyen lenne csak linerisan nvelni a sebessget, s tlsgosan hossz ideig vrni mieltt a kldsi sebessg felkszik valamilyen elfogadhat szintre. gy ahelyett, hogy a kezdeti szakaszban linerisan nveln a sebess get, egy TCP-kld exponencilisan nveli a sebessgt azltal, hogy minden RTT alatt megduplzza a CongWin rtkt. A TCP-kld addig folytatja sebessgnek exponencilis nvelst, ameddig egy vesztsi esemny nem lp fel, amikor is a CongWin rtkt megfelezi, ezt kveten pedig a fent lert mdon linerisan nveli. Ily mdon a kezdeti fzisban, amelyet lass indulsnak (slow start, SS) neveznek, a TCP-kld kis sebessggel kezd el adni (innen a lass induls kifejezs), de a kldsi sebessgt exponencilisan nveli. A kld az exponencilis nvekedst azltal hozza ltre, hogy minden alkalommal, amikor egy elkldtt szegmensre nyugta rkezik, 1 MSS-sel megnveli a CongWin rtkt. Ahogy a 3.51. bra is mutatja, a TCP elkldi az els szegmenst a hlzatba, s vr egy nyugtra. Ha

3.50. bra. Torldskezels additv nvels, multiplikatv cskkents algoritmussal

266

3. A SZI.l TSI RTEG

3.6. A

TORLDSKEZELF.S ELVI ALAPJAI


A hoszt B hoszt

267

RTT

Id

v
Id

3.51. bra. TCP lass indulsa egy vesztsi esemny eltt a szegmenst nyugtzzk, a TCP-kld egy MSS-sel megnveli a torldsi ablakt, s kl maximlis mret szegmenst kld ki. Ha ezeket a szegmenseket vesztsi esemnyek eltt nyugtzzk, a kld minden egyes nyugtzott szegmensre 1 MSS-sel nveli a torldsi ablakt, amely egy 4 MSS mret torldsi ablakot eredmnyez, s ngy maximlis mret szegmenst kld ki. Ahogy a nyugtk berkeznek, ez az el jrs addig folytatdik, amg vgl egy vesztsi esemny kvetkezik be. Ekkppen a Cong- Win rtke a lass induls fzisa sorn minden RTT alatt valban megduplzdik.

Reagls idtllpsi esemnyekre


A TCP torldsi ablakrl eddig megalkotott kpnk az, hogy rtke 1 MSS-rl (a lass induls alatt) exponencilis felfutssal nvekszik addig, ameddig egy vesztsi esemny be nem kvetkezik, amikor is az AIML) frszfog mintja kezddik el. Habr ez a kp kzel ll a pontos lershoz, mgis felletesek lennnk, ha nem emltennk meg azt, hogy valjban a TCP torldskezelse mskpp reagl egy idtllpsi esemnybl szlelt vesztsi ese mnyre, mint ahogy egy hromszoros kettztt nyugta vtelbl szlelt vesztsi esemnyre. Hrom kettztt nyugtt kveten a TCP pontosan gy viselkedik, ahogyan azt lertuk - a torldsi ablakot megfelezi, majd linerisan nveli. Egy idtllpsi esemnyt

268

3. A SZI.l TSI RTEG

kveten viszont a TCP-kld a lass induls fzisba lp - azaz 1 MSS-re lltja a torldsi ablakt, s ezt kveten exponencilisan nveli az ablakot. Az ablak exponencilisan nvekszik addig,

3.6. A

TORLDSKEZELF.S ELVI ALAPJAI

269

amg a CongWin cl nem ri az idtllpsi esemny eltti rtknek a felt. Onnantl kezdve a CongWin linerisan n, ahogyan azt egy hromszoros kettztt nyugta utn is tenn. A TCP ezeket az sszetettebb dinamikkat egy Threshold (kszbrtk) nev vltoz kezelsvel valstja meg, amely azt az ablakmretet hatrozza meg, amelynl a lass indulsi szakasz vget r, s a torldsikerlsi szakasz megkezddik. A Threshold vltozt kezdetben egy nagy rtkre (gyakorlatban 65 Kbjtra [Stevcns 1994]) lltja azrt, hogy eleinte ne legyen hatsa. Amikor egy vesztsi esemny bekvetkezik, a Threshold rtkt az aktulis CongWin rtk felre lltja. Pldul, ha a torldsi ablak kzvetlenl egy vesztsi esemny eltt 20 Kbjt, akkor a Threshold-ot 10 Kbjtra lltja, s a kvet kez vesztsi esemnyig ez lesz az rtke. Miutn bevezettk a Threshold vltozt, pontosan le tudjuk rni azt, hogy a CongWin hogyan viselkedik egy idtllpsi esemnyt kveten. Ahogy azt fent jeleztk, egy TCP-kld egy idtllpst kveten a lass induls fzisba lp. Amg a lass indulsban van, a CongWin rtkt exponencilis gyorsasggal nveli addig, amg a CongWin el nem ri a Threshold-ot. Amikor a CongWin elri a Threshold-ot, a TCP a torlds- elkerlsi fzisba megy t, amelynek sorn a CongWin linerisan nvekszik, ahogy azt mr korbban lertuk. A TCP torldskezelsi algoritmusnak trgyalst a 3.4. tblzat sszegzi. F. ponton termszetesen fontolra kell venni azt, hogy a TCP torldskezelse mirt viselkedik k-

TCP-kld torldskezelse [RFC2581], felttelezve, hogy a CongWin kezdeti rtke 1 MSS-sel egyenl, a Threshold kezdeti rtke nagy (pldul 65 Kbjt [Stevens 1994]), s a TCP-kld lass induls llapotbl indul. A feltntetett llapot a TCP-kld llapota kzvetlenl az esemny bekvetkezse eltt. Tovbbi rszletekrt lsd [RFC 2581]
3.4. tblzat./I

270
llapot Esemny A TCP-kld torldskezelsi lpse Lass induls (SS) Nyugta vtele korbban nem nyugtzott adatra Torlds elkerls (CA) Nyugta vtele korbban nem nyugtzott adatra CongWin = CongWin + MSS, If (CongWin > Threshold) llapot tlltsa Torldselkerlsw-re CongWin = CongWin + MSS x (MSS/CongWin)

3. A SZI.l TSI RTEG


Megjegyzs

Minden RTT sorn a CongWin rtknek megdup lzdsa

Additv nvels, minden RTT sorn a CongWin rtknek 1 MSS -sel trtn nvelse

SS vagy CA

Vesztsi esemny szlelse hromszoros kettztt nyugtval Idtllps

Threshold = CongWin/2, CongWin = Threshold, llapot tlltsa Torlds i kerlsre Threshold = CongWin/2, CongWin = 1 MSS, llapot tlltsa Lass indulsira

Gyors helyrellts, exponen cilis cskkents megvals tsval; a CongWin rtke nem fog 1 MSS al cskkenni. Lass indulsi llapotba lpes

SS vagyCA

SS vagy CA

Kettztt nyugta A nyugtzott szegmens kettztt nyugta szmlljnak megnvelse.

A CongWin s a Threshold rtke nem vltozik

lnbzkppen egy idtllpst, mint egy hromszoros kettztt nyugta vtelt kveten. Pontosabban, mirt viselkedik egy TCP-kld konzervatvan egy idtllpsi esemny utn, a torldsi ablakt 1 MSS-re cskkentve, mg ezzel ellenttben egy hromszoros kettztt nyugta vtelt kveten csak megfelezi a torldsi ablak mrett. rdekes, hogy a TCP egy korai vltozata, amelyet TCP Tahoe-knt ismernek, felttel nlkl 1 MSS-re cskkenti a torldsi ablakt, s mindkt vesztsi esemny utn a lass induls fzisba lp. A TCP jabb vltozata, a TCP Reno, hromszoros kettztt nyugtt kveten trli a las s indulsi fzist. A lass indulsnak az ebben az esetben trtn trlse mgtti filozfia az, hogy habr egy csomag elveszett, a hrom kettztt nyugta rkezse azt jelzi, hogy nhny szegmenst (pontosabban az elveszett szegmenst kveten mg hrom szegmenst) megkapott a vev. gy, szemben egy idtllps esetvel, a hlzat kpesnek mutatkozik legalbb nhny szegmens kzbestsre, mg hogyha ms szegmensek torlds miatt el is vesznek. A lass indulsnak ezt a hromszoros kettztt nyugtt kvet megszntetst gyors helyrelltsnak (fst recovery) nevezik. A 3.52. bra a TCP torldsi ablaknak alakulst szemllteti mind Reno, mind pedig Tahoe esetn. Ezen az brn a kszbrtk ('Ihreshold) kezdetben 8 MSS. Az els nyolc tviteli fordul sorn a Tahoe s a Reno azonosan viselkedik. A torldsi ablak a lass induls alatt exponencilis gyorsasggal nvekszik, s az tvitel negyedik forduljnl ri el a kszbrtket. A torldsi ablak ezt kveten linerisan nvekedik addig, amg hromszoros kettztt nyugtzs nem trtnik, kzvetlenl a 8. tviteli fordul utn. Figyelje meg, hogy a torldsi ablak mrete ezen vesztsi esemny bekvetkezsekor 12 x MSS. Ezt kveten a kszbrtket 0,5 x CongWin = 6xMSS-re lltja. TCP Reno esetn a torldsi ablak CongWin = 6 x

3.6. A

TORLDSKEZELF.S ELVI ALAPJAI

271

MSS lesz, s linerisan n. TCP Tahoe eseten a torldsi ablak 1 MSS lesz, s a kszbrtk elrsig exponencilisan n. Ez a torldskezelsi algoritmus V. Jacobsonnak ksznhet [Jacobson 1988]; Jacobson eredeti algoritmusnak szmos mdostst [Stevens 1994) s az [RFC 2581] rja le. Ahogy azt fent emltettk, a legtbb TCP-megvalsts jelenleg a Reno algoritmust alkalmazza. A Reno algoritmusnak sok vltozatt javasoltk [RFC 3782; RFC 2018]. A javasolt TCP Vegas algoritmus [Brakmo 1995; Ahn 1995] megprblja elkerlni a torldst, mikzben j tviteli teljestmnyt tart fenn. A Vegas alapvet tletei a kvetkezk: (1) a forrs- s a cllloms kztti tvlasztkban fellp torlds szlelse, mieltt csomag- veszts kvetkezne be, s (2) a sebessg lineris cskkentse kzelg csomagveszts szle-

tviteli fordul

lsekor. A kzelg csomagvesztsi az RTT megfigyelse alapjn jsolja. Minl hosszabb a csomagok RTT-je, annl nagyobb a torlds az tvlasztkban.

A TCP tviteli tbocstkpessgnek makroszkopikus lersa


Adott a TCP frszfogas viselkedse, termeszetes megfontolni, hogy egy hossz let TCP-sszekttetsnek milyen lehet az tlagos tbocstkpessge (azaz az tlagos sebessge). Ebben az elemzsben figyelmen kvl fogjuk hagyni az idtllpseket kvet lass indulsi fzisokat. (Ezek a fzisok jellemzen igen rvidek, mivel a kld a fzisbl exponencilis gyorsasggal halad kifel.) Egy konkrt krbejrsi idkz sorn a sebessg, amellyel a TCP adatokat kld, az aktulis RTT s a torldsi ablak fggvnye. Amikor az ablakmret w bjt, az aktulis krbejrsi id pedig RTF msodperc, akkor a TCP tviteli sebessge nagyjbl tv/RTT. Ezt kveten a TCP vatosan tapogatzik tovbbi svszles sg utn gy, hogy w-1 minden RTT alatt 1 MSS-sel nveli addig, amg egy vesztsi ese mny be nem kvetkezik. Jellje IVa mrtkt, amikor egy vesztsi esemny bekvetkezik. Felttelezve, hogy az RTT s a W krlbell lland az sszekttets idtartama alatt, a TCP tviteli sebessge W/(2 x RTT) s W7RTT kztt mozog. Ezek a felttelezsek a TCP llandsult llapotbeli viselkedsnek egy nagymrtkben egyszerstett, makroszkopikus modelljhez vezetnek. A hlzat az sszekttetsbl eldob egy csomagot, amikor a sebessg W7RTT-re n - a sebessget ekkor megfelezi, majd RTT-nknt MSS/RTT-vel nveli addig, amg ismt el nem ri a VV/RTT rtket. Ez a folyamat ismtldik jbl s jbl. Mivel a TCP tbocstkpessge (azaz a sebessge) a kt szlssges rtk kztt linerisan

272

3. A SZI.l TSI RTEG

nvekedik, azaz 0 75x W Egy sszekttets tlagos tbocstkpessge = ^j j ~ Ezt a nagymrtkben idealizlt modellt alkalmazva a TCP llandsult llapotbeli dinamikjra, egy rdekes kifejezst is szrmaztathatunk, amely egy sszekttets vesztsi sebessgt az elrhet svszlessghez viszonytja [Mahdavi 1997]. Ezt a szrmaztatst a feladatok kztt krvonalazzuk. Egy bonyolultabb modell [Padhye 2000] modellje, amely a tapasztalat alapjn teljesen megegyezik a mrt adatokkal.

A TCP jvje
Fontos tisztban lenni azzal, hogy a TCP torldskezelse az vek sorn fejldtt, s minden bizonnyal folytatni fogja a fejldst. A TCP torldskezclsnek 1990-es vek vgi sszegzse az (RFC 2581]-ben tallhat - a TCP torldskezelsnck tovbbi fejlesztseit illet lershoz a (Floyd 200l]-et nzze meg. Ami j volt az internet szmra, amikor a TCP-sszekttetsek nagy rsze SMTP-, FTP- s Telnetforgalmat szlltott, nem felttlenl j a mai HTTP ltal uralt internetnek vagy a jv olyan szolgltatsokat nyjt internetnek, amelyekrl ma mg nem is lmodunk. A TCP folyamatos fejldsre val igny az elosztott szmtsi (grid-computing) alkalmazsokhoz [Foster 2002] szksges nagysebessg TCP-sszekttetsek ttekintsvel szemlltethet. Vegynk pldul egy TCP-sszekttetst 1500 bjtos szegmensekkel s 100 ms-os RTT-vc 1, s ttelezzk fel, hogy 10 Gb/s-mal szeretnnk adatot tkldeni ezen az sszekttetsen. Az [RFC 3649]-et kvetve megllaptjuk, hogy a fenti TCP tbocstkpessg szablyt alkalmazva egy 10 Gb/s-os tbocstkpessg elrshez a torldsi ablak

tlagos mretnek 83333 szegmensnek kellene lennie. Hz nagyon sok szegmens, amely arra vezet, hogy meglehetsen aggdjunk amiatt, hogy ezen 83333 szegmens egyike elveszhet. Mi trtnne egy veszts esetn? Vagy mshogy tekintve, az tkldtt szegmenseknek mekkora hnyadnak elvesztse tenn mg lehetv a 3.4. tblzatban krvonalazott TCP torldskezelsi algoritmus szmra, hogy a kvnt 10 Gb/s-os sebessget elrje? A fejezet vgi krdsek kztt egy sszefggs levezetst talljuk, amely megadja egy TCP-ssze- kttets tbocstkpessgt a vesztsi arny (L), a krbejrsi id (RTT) s a maximlis szegmensmret (MSS) fggvnyben: ... , ., ,, , ,, , l,22xMSS Egy sszekttets atlagos atbocsatokepessege = Ezt a kpletet hasznlva lthatjuk, hogy 10 Gb/s-os tbocstkpessg elrse rdekben a mai TCP torldskezelsi algoritmusok csak 2 x 10' 10 szegmensvesztsi valsznsget (vagy ezzel egyenrtken, 5 000 000 000 szegmensenknt egy vesztsi esemnyt) kpesek elviselni - ez nagyon alacsony arny. Ez a megfigyels szmos kutatt arra sztnztt, hogy j TCP-vltozatokat kutasson ki, amelyeket kifejezetten ilyen nagysebessg krnyezetekbe terveztek - ezen erfesztsek fejtegetst lsd [Jin 2004; RFC 3649; Kelly 2003].

3.7.1. Igazsgossg
Vegynk K TCP-sszekttetst, mindegyiket klnbz vgpontok kztti tvonallal, de mindegyik keresztlhalad egy szk keresztmetszet adatkapcsolaton, amelynek R b/s az tviteli sebessge. (Szk keresztmetszet adatkapcsolat alatt azt rtjk, hogy minden sszekttetsnl az sszekttets tvonaln az sszes tbbi adatkapcsolat torldsmentes, s a szk keresztmetszet adatkapcsolat tviteli kapacitshoz kpest bsges tviteli kapacitssal rendelkezik.) Ttelezzk fel, hogy minden sszekttets egy nagy fjt szllt, s nem halad t UDP-forgalom a szk keresztmetszet adatkapcsolaton. Egy torldskezelsi mechaniz must igazsgosnak (fair) neveznek, ha minden sszekttets tlagos tviteli sebessge krlbell R/K - azaz minden sszekttets egyenl rszt kap az adatkapcsolat svszlessgbl. Igazsgos-e a TCP AIMD algoritmusa, klnsen akkor, ha adottnak ttelezzk fel azt, hogy klnbz TCP-sszekttetsek klnbz idpillanatokban kezddhetnek el, s gy egy adott idpontban klnbz ablakmretk lehet? A [Chiu 1989] elegns s intuitv magyarzattal szolgl arra, hogy a TCP torldskezelse mirt konvergl gy, hogy a szk keresztmetszet adatkapcsolat svszlessgt egyenl arnyban osztja szl a verseng TCP-sszekttetsek kztt. Tekintsk azt az egyszer esetet, amikor kt TCP-sszekttets egyetlen R tviteli sebessg adatkapcsolaton osztozik, ahogy ezt a 3.53. bra mutatja. Ttelezzk fl, hogy a kt sszekttetsnek egyenlk az MSS s RTT rtkeik (gy, ha megegyezik a torldsi ablakuk mrete, akkor azonos az tbocstkpessgk), valamint hogy nagy mennyisg adatot kell tkldenik, s hogy ezen a kzs adatkapcsolaton semmilyen ms TCP-sz- szekttets vagy UDP-datagram nem halad t. Tovbb hagyjuk figyelmen kvl a TCP lass indulsi fzist, s tegyk fel, hogy a TCPsszekttetsek minden idpillanatban CA zemmdban (AIMD) mkdnek. A 3.53. bra a kt TCP-sszekttets ltal megvalstott tbocstkpessget

brzolja. Ha a TCP-nek egyenl arnyban kell kt sszekttets kztt megosztania az adatkapcsolat svszlessgt, akkor a ltrejv tbocstkpessgnek az origbl ered 45 fokos nyl

3.53. bra. Kt TCP-

sszekttets, amely egyetlen szk


2.TCP-sszekttets

i
Szk keresztmetszet tvlaszt R kapacitssal 1. TCP-sszekttets

keresztmetszet adatkapcsolaton osztozik

(egyenl svszlessg-rszeseds) mentn kell lennie. Idelis esetben a kt tbocstkpessg sszegnek .R-rel kell egyenlnek lennie. (Termszetesen nem kvnatos megolds mindkt sszekttetsnek egyenl, de nulla, rszesedst biztostani az adatkapcsolat kapacitsbl!) gy teht az kell legyen a cl, hogy a ltrejv tbocstkpessgek valahova a 3.54. brn lv kt egyenes - az egyenl svszlessg-rszeseds egyenese s a teljes svszlessg-kihasznltsg egyenese - metszspontjnak kzelbe essenek. Ttelezzk fel, hogy olyanok a TCP ablakmretei, hogy egy adott idpontban az Jes s 2- es sszekttetsek a 3.54. brn A ponttal jellt tbocstkpessgeket valstjk meg. Mivel a kt sszekttets ltal egyttesen felhasznlt svszlessg mennyisge kevesebb, mint R, nem fog fellpni veszts, s a TCP torldskezelsi algoritmusnak eredmnyekpp mindkt sszekttets RTT-nknt 1 MSS-sel fogja nvelni az ablakmrett. Ily m-

dn a kt sszekttets egyttes tbocstkpessge az A pontbl kiindulva egy 45 fokos egyenes mentn halad (mindkt sszekttets szmra egyenl nvekeds). Vgl is a kt sszekttets ltal egyttesen felhasznlt adatkapcsolati svszlessg nagyobb lesz, mint R, s gy vgl csomagveszts fog bekvetkezni. Tegyk fel, hogy az 1-es s 2-es sszekttets a B ponttal jellt tbocstkpessg elrsekor tapasztalnak csomagvesztst. Ezt kveten az 1-es s 2-es sszekttets a felre cskkenti az ablakait. Az ily mdon megvalsul t bocstkpessgek a C pontba esnek, fl ton egy B pontbl indul s az origban vgzd vektor mentn. Mivel a C pontban az egyttes svszlessg-hasznlat kevesebb R-nl, a kt sszekttets ismt nvelni fogja az tbocstkpessgt egy C-bl indul 45 fokos egyenes mentn. Vgs soron ismt veszts fog bekvetkezni, pldul a D pontban, a kt sszekttets ismt felre fogja cskkenteni az ablakmrett, s gy tovbb. Gyzdjn meg rla, hogy a kt sszekttets ltal megvalstott svszlessg vgl is az egyenl sv- szlessg-rszeseds egyenes mentn fog ingadozni. Szintn rdemes meggyzdni arrl, hogy a kt sszekttets attl fggetlenl fog ehhez a viselkedshez tartani, hogy hol van a ktdimenzis trben! Habr rejlik nhny idealizlt felttelezs e forgatknyv mgtt, mgis egy intuitv rzst nyjt arrl, hogy a TCP mirt osztja meg a svszlessget az sz- szekttetsek kztt egyenl arnyban. Az idealizlt forgatknyvnkben feltteleztk, hogy csak TCP-sszekttetsek haladnak t a szk keresztmetszet adatkapcsolaton, s hogy az sszekttetseknek megegyezik az RTT-rtkk, valamint hogy csak egyetlen TCPsszekttets tartozik egy hoszt-cl- lloms prhoz. A gyakorlatban ezek a felttelek jellemzen nem teljeslnek, s a kliens/ szerver alkalmazsok ennlfogva nagyon egyenltlen adatkapcsolati svszlessg-ar- nyokhoz juthatnak hozz. Megmutattk, hogy klnsen akkor, amikor szmos ssze kttets osztozik egy kzs szk keresztmetszeten, azok a munkakapcsolatok, amelyek nek kisebb az RTTjk, kpesek arra, hogy hirtelen megnveljk az ppen felszabadul s rendelkezsre ll adatkapcsolati svszlessget (azaz gyorsabban nveljk a torldsi ablakukat), s ezltal nagyobb tbocstkpessget lvezzenek, mint a nagyobb RTT-kkel rendelkez sszekttetsek [Lakshman 1997|.

Igazsgossg cs az UDP
pp az imnt lttuk azt, hogyan lltja be a TCP torldskezelse a torldsi ablak mkdsn keresztl egy alkalmazs tviteli sebessgt. Sok multimdis alkalmazs, mint amilyen az internetes telefon- vagy videokonferencia, pp emiatt gyakran nem TCP fltt fut - nem akarjk, hogy az tviteli sebessgket korltozzk, mg akkor sem, ha a hlzatban nagy a torlds. Ehelyett ezek az alkalmazsok jobban szeretnek UDP fltt futni, amelynek nincs beptett torldskezelse. UDP fltt futva az alkalmazsok lland se bessggel tudjk a hang- s videoanyagukat a hlzatba pumplni, s inkbb vesztenek alkalmanknt csomagokat, semhogy torlds idejn a sebessgket igazsgos szintre cskkentsk, s ne vesztsenek csomagokat. A TCP szemszgbl az UDP fltt fut multimdis alkalmazsok nem igazsgosak - nem mkdnek egytt ms alkalmazsokkal, s az tviteli sebessgket sem lltjk be megfelelen. Mivel a TCP torldskezclse nvekv torlds (veszts) esetn lecskkenti az tviteli sebessget, mg az UDP-kiildknek ezt nem kell tennie, az UDP-kldk kpesek

kiszortani a TCP-forgalmat. Ennlfogva egy mai kutatsi terlet olyan torldskezelsi mechanizmusok kifejlesztse az internetre, amelyek meggtoljk, hogy az UDP-forgalom az internet tbocstkpessgt jelents cskkensre knyszertse [Floyd 1999; Floyd 2000; Kohler 2006).

279

3. A SZLLTSI RF.TLG

Igazsgossg s prhuzamos TCP-sszekttetsek


Mg ha r is tudnnk knyszerteni az UDP-forgalmat, hogy igazsgosan viselkedjen, az igazsgossg problmja mg gy sem lenne teljesen megoldott. Ez azrt van, mert semmi sem gtolhat meg egy TCP-alap alkalmazst abban, hogy tbb prhuzamos sz- szekttetsl hasznljon. Pldul a webbngszk gyakran hasznlnak tbb prhuzamos TCP-sszekttetst arra, hogy egy weboldalrl tbb objektumot letltsenek. (A tbbszrs sszekttetsek pontos szmt a legtbb bngszben be lehet lltani.) Amikor egy alkalmazs tbb prhuzamos sszekttetst hasznl, nagyobb hnyadt kapja meg egy tlzsfolt adatkapcsolati svszlessgnek. Pldaknt vegynk egy R sebessg adatkapcsolatot, amely kilenc folyamatban lev kliens-szerver alkalmazst szolgl ki, ahol min denegyes alkalmazs egy-egy TCP-sszettetst hasznl. Ha egy j alkalmazs rkezik, s szintn egy TCP-sszekttetst hasznl, akkor minden alkalmazs nagyjbl ugyanakkora, R/10 tviteli sebessget kap. Ha azonban ez az j alkalmazs egy helyett 11 prhuzamos TCP-sszekttetst hasznl, akkor az j alkalmazs igazsgtalanul, tbb mint R/2-t kap. Mivel a webforgalom az interneten nagymrtkben terjed, nem ritka a tbbszrs prhu zamos sszekttets hasznlata.

3.8. sszefoglals
A fejezetet egy szlltsi rtegbeli protokoll ltal a hlzati alkalmazsoknak nyjthat szolgltatsok tanulmnyozsval kezdtk. Az egyik vglet, hogy a szlltsi protokoll nagyon egyszer, s egy extra szolgltatsokat nem nyjt szolgltatst ajnl az alkalmazsoknak, csak egy nyalbols/nyalbbonts funkcit nyjtva a kommunikl folyamatoknak. Az internet UDP protokollja egy ilyen extra szolgltatsokat nem nyjt szlltsi rtegbeli protokollra plda. A msik vgletnl pedig egy szlltsi protokoll biztostkok b vlasztkt nyjthatja az alkalmazsoknak, mint amilyen a megbzhat adatszllts, ksleltetsi garancik s svszlessg-garancik. Mindazonltal a szolgltatsokat, amelyeket egy szlltsi protokoll nyjtani kpes, gyakran korltozza az alatta tallhat hl zati rtegbeli protokoll szolglati modellje. Ha a hlzati protokoll nem kpes ksleltetsi vagy svszlessg-garancikat biztostani a szlltsi rtegbeli szegmenseknek, akkor a szlltsi protokoll nem kpes ksleltetsi vagy svszlessg-garancikat biztostani a folyamatok kztt kldtt zenetek szmra. A 3.4. alfejezetben megtanultuk, hogy egy szlltsi protokoll megbzhat adattviteli szolgltatst kpes nyjtani mg akkor is, hogyha az alatta lev hlzati rteg nem megbzhat. Lttuk, hogy a megbzhat adattvitel biztostsnak sok knyes krdse van, de a feladat megoldhat nyugtk, idztk, jrakldsek s sorszmok krltekint sszekapcsolsval. Habr ebben a fejezetben trgyaltuk a megbzhat adattvitelt, ne felejtsk el, hogy a megbzhat adattvitelt adatkapcsolati, hlzati, szlltsi vagy alkalmazsi rtegbeli protokollok kpesek nyjtani. A protokollverem ngy fls rtegnek brmelyike kpes ltrehozni nyugtkat, idztket s sorszmokat, s a felette lev rtegnek megbzhat adattvitelt nyjtani. St, az vek sorn mrnkk s informatikusok egymstl fggetlenl terveztek s valstottak meg olyan

280

3. A SZI.l TSI RTEG

adatkapcsolati, hlzati, szlltsi s alkalmazsi rtegbeli protokollokat, amelyek megbzhat adattvitelt biztostanak (habr ezek kzl sok protokoll csndesen eltnt). A 3.5. alfejezetben kzelebbrl megtekintettk a TCP-t, az internet sszekttetsalap s megbzhat szlltsi protokolljt. Megtanultuk, hogy a TCP sszetett, s magba foglalja az sszekttets-kezelst, a forgalomszablyozst s a krbejrsi id becslst, ahogy a megbzhat adatszlltst is. Ami azt illeti, a TCP tulajdonkppen sszetettebb, mint ahogy lertuk - szndkosan nem trgyaltuk a TCP klnfle foltozgatsait, javtsait s fejlesztseit, amelyeket a TCP klnbz verziiban megvalstanak. Mindez az sszetettsg azonban rejtve van a hlzati alkalmazs ell. Ha egy hoszton egy kliens megbzha tan szeretne adatot kldeni egy msik hoszton lv szervernek, egyszeren megnyit egy TCP-szoketet a szerverhez, s a szoketbe pumplja az adatot. A kliens-szerver alkalmazs boldog tudatlansgban szenved a TCP sszetettsgt illeten. A 3.6. alfejezetben tvolrl megvizsgltuk a torldskezelst, a 3.7. alfejezetben pedig megmutattuk, hogyan valstja meg azt a TCP. Megtanultuk, hogy a torldskezels a hlzat helyes mkdse rdekben fontos. Torldskezels nlkl egy hlzatban kny- nyen forgalmi dug alakulhat ki, amely kevs vagy semennyi adat tvitelt eredmnyezheti a vgpontok kztt. A 3.7. alfejezetben megtanultuk, hogy a TCP vgpontok kztti torldskezelsi mechanizmust valst meg, amely akkor, amikor a TCP-sszekttets tvonalt torldsmentesnek tli meg, additvat! nveli az tviteli sebessget, s multipli klvn cskkenti az tviteli sebessgt akkor, amikor veszts kvetkezik be. Ezenfell ez a mechanizmus igyekszik minden egyes tlzsfolt adatkapcsolaton thalad TCP-ssze- kttetsnek egyenl rszt biztostani az adatkapcsolat svszlessgbl. Bizonyos mlys gig megvizsgltuk a TCP sszekttets-ltestsnek s a lass indulsnak a ksleltetsre gyakorolt hatst is. Megfigyeltk, hogy sok fontos esetben az sszekttets-ltests s a lass induls jelentsen hozzjrul a vgpontok kztti ksleltetshez. Mg egyszer hangslyozzuk, hogy br a TCP torldskezelse az vek sorn fejldtt, tovbbra is intenzv kutatsi terlet maradt, s vrhatan tovbb fejldik majd a kvetkez vek sorn. Az internet konkrt szlltsi protokolljait illet trgyalsunk a fejezet sorn az UDP-re s a TCP-re sszpontosult K kt protokollal szerzett kt vtizednyi tapasztalat azonban olyan helyzeteket ismert fel, amelyekben egyik sem felel meg igazn. gy a kutatk egyb szlltsi protokollok ltrehozsval voltak elfoglalva, melyek kzl szmos most mr az IliTF ltal javasolt szabvny. A datagram torldskezelsi protokoll (Datagram Congestion Control Protocol, DCCP) [RFC 4340] egy kis tbbletrfordts, zenetalap, UDP-szer megbzhatatlan szolgltatst nyjt, de a torldskezelsnek egy, az alkalmazs ltal vlasztolt formjval, amely kompatibilis a TCP-vel. Ha megbzhat vagy flig megbzhat adattviteli szolgltatsra van szksge egy alkalmazsnak, akkor ezt magn az alkalmazson bell hajtjk vgre, mondjuk a 3.4. alfejezetben tanult mechanizmusok hasznlatval. A DCCP hasznlatt multimdia folyamszer letltshez (streaming) hasonl alkalmazsokban valszns tik (lsd 7. fejezet), amelyek ki tudjk hasznlni az idbelisg s az adattvitel megbzhat sga kztti kompromisszumot, de rugalmasan akarnak reaglni a hlzati torldsra. A folyamvezrl tviteli protokoll (Stream Control Transmission Protocol, SCTP) [RFC 2960, RFC 3286) egy megbzhat, zenetalap protokoll, amely lehetv teszi szmos klnbz alkalmazsi szint folyam nyalbolst egyetlen SCTP-

3.7. A TCP

TORl.DSKEZELSE
,,

281

sszekttet- sen keresztl (egy multi-streaming -nek - tbb folyam egytt nevezett megolds). A megbzhatsg szemszgbl az sszekttetsen bell a klnbz folyamokat nllan kezeli, gyhogy egy folyamban trtn csomagveszts nincs hatssal a tbbi folyamban lv adat kzbestsre. Az SCTP azt is lehetv teszi, hogy amikor egy hoszt kt vagy tbb hlzathoz csatlakozik, az adatol kt kimen tvonalon keresztl kldjk ki, a sorrenden kvli adatot vlaszts szerint kzbestsk, s mg szmos ms lehetsget is. Az SCTP forgalomszablyozsi s torldskezelsi algoritmusai lnyegben azonosak a TCP-ben levkkel. A TCP-bart sebessgszablyozs (TCP-Friendly Rate Control, TFRC) protokoll [RFC 2448] inkbb egy torldskezelsi protokoll, semmint egy ksz szlltsi rtegbeli protokoll. Egy torldskezelsi mechanizmust ad meg, amelyet egy msik protokollban lehet hasznlni, mint amilyen a DCCP is (st, a kett kzl az egyik, DCCP-ben elrhet, alkalmazs ltal bellthat protokoll a TFRC). A TFRC clja, hogy kisimtsa a frsz- fog viselkedst (lsd 3.50. bra) a TCP torldskezelsben, mikzben egy a TCP-hez sszeren kzeli hossz tv kldsi sebessget tart fenn. Egy a TCP-nl egyenletesebb kldsi sebessggel a TFRC jl illeszkedik a multimdis alkalmazsokhoz, mint amilyen az IP-telefonls vagy a multimdia folyamszer letltse, ahol fontos az ilyen egyenle tes sebessg. A TFRC egy egyenletalap protokoll, amely a mrt csomagvesztsi arnyt hasznlja egy egyenlet bemeneteknt [Padhye 2000], amely azt becsli, hogy mi lenne a TCP tbocstkpessge, ha egy TCP-munkamenet azt a vesztsi arnyt tapasztalja. Ez a sebessg lesz a TFRC megclzott kldsi sebessge. Csak a jv fogja megmondani, hogy a DCCP-t, SCTP-t vagy TFRC-t fogjk-e szleskren alkalmazni. Mg ezek a protokollok nyilvnvalan fokozott kpessgeket nyjtanak a TCP-hez s az UDP-hez kpest, a TCP s az UDP mr elg jnak bizonyult az vek sorn. Az, hogy a jobb nyer-e az elg jval szemben, mszaki, trsadalmi s zleti megfontolsok bonyolult keverkn fog mlni. Az 1. fejezetben azt mondtuk, hogy egy szmtgp-hlzatot a hlzat szlre s a hlzat magjra lehet sztbontani. A hlzat szle fed le mindent, amely a vgrendszerekben trtnik. Most, hogy mr megtrgyaltuk az alkalmazsi rteget s a szlltsi rteget, a hlzat szlt illet trgyalsunk teljes. Ideje, hogy feldertsk a hlzati magot! Ez az utazs a kvetkez fejezetben kezddik, ahol a hlzati rteget fogjuk tanulmnyozni, s az 5. fejezetben folytatdik, ahol az adatkapcsolati rteggel ismerkednk meg.

Krdsek_______________________________________________
3.1-3.3. alfejezet KI. Ttelezzk fel, hogy a hlzati rteg az albbi szolgltatst biztostja. A forrshoszt hlzati rtege egy maximum 1200 bjt mret szegmenst s egy clhosztcmet fogad el a szlltsi rtegtl. A hlzati rteg ekkor garantlja, hogy a szegmenst elszlltja a clhoszt szlltsi rtegnek, legyk fl, hogy sok hlzati alkalmazsi folyamat futhat a cl hosztnl. (a) Tervezze meg a lehet legegyszerbb szlltsi protokollt, amely az alkalmazsi adatot a clhoszt kvnt folyamathoz juttatja. Ttelezze fel,

282

3. A SZI.l TSI RTEG


hogy a clhoszton az opercis rendszer egy 4 bjtos portszmot jellt ki minden fut alkalmazsi folyamathoz. (b) Mdostsa ezt a protokollt gy, hogy az a cl folyamatnak egy visszatrsi cmet is biztostson. (c) A protokolljaiban a szlltsi rtegnek kell-e brmit is csinlnia a szmtgp-hlzat magjban? Tekintsen egy olyan bolygt, ahol mindenki egy hattag csaldhoz tartozik, minden csald a sajt hzban l, minden hznak egy egyedi cme van, s egy adott hzban minden szemlynek egyedi neve van. Ttelezze fel, hogy ennek a bolygnak egy olyan postaszolglata van, amely a forrshztl a clhzig kzbesti a leveleket. A postaszolglathoz szksges, hogy (i) a levl egy bortkban legyen s hogy (ii) a clhz cme (s semmi ms) olvashatan a bortkra legyen rva. Ttelezze fel, hogy minden csaldnak van egy megbzott csaldtagja, aki sszegyjti s sztosztja a leveleket a tbbi csaldtagnak. A levelek nem felttlen nyjtanak brmilyen jelzst arrl, hogy ki a levl cmzettje. (a) A fenti R problma megoldst hasznlva tletnek, rjon le egy protokollt, amelyet a megbzottak a levelek egy kld csaldtagtl egy vev csaldtagnak trtn kzbestsre tudnak hasznlni. (b) A protokolljban ki kell-e valaha nyitnia a postaszolglatnak egy bortkot, s meg kell-e vizsglnia a levelet ahhoz, hogy nyjtani tudja a szolgltatst? Fontoljon meg egy TCP-sszekttetst az A hoszt s a B hoszt kztt. Ttelezze fel, hogy az A hoszttl a B hosztig utaz TCP-szegmensek forrsportszma x, clport- szma pedig / Mik a B hoszttl az A hosztig utaz szegmensek forrss clport- szmai? rja le, hogy egy alkalmazsfejleszt mirt dnthet gy, hogy az alkalmazsa TCP helyett UDP fltt fusson. Mirt van az, hogy manapsg az interneten a hang- s videoforgalmat gyakran UDP helyett inkbb TCP fltt kldik t? {Tipp: A keresett vlasznak semmi kze sincs a TCP torldskezelsi mechanizmushoz.) Lehetsges-e, hogy egy alkalmazs megbzhat adattvitelt lvezzen mg akkor is, ha az alkalmazs UDP fltt fut? Ha igen, hogyan? Ttelezze fel, hogy a C hoszton egy folyamatnak egy UDP-szoketje van 6789-es portszmmal. Tegye fel, hogy mind A hoszt, mind pedig B hoszt egy UDP-szegmenst kld a C hosztnak 6789-es clportszmmai. Mindkt szegmens ugyanahhoz a szokethez lesz irnytva a C hoszton? Ha igen, honnan fogja a C hoszt tudni, hogy ez a kt szegmens kt klnbz hoszttl szrmazik? Ttelezze fel, hogy a C hoszt 80-as portjn egy webszerver fut. legye fel, hogy ez a webszerver tarts sszekttetsekat hasznl, s jelenleg kt klnbz hoszttl, A-tl s B-tl kap krseket. Mindegyik krst a C hosztnak ugyanazon a szoketjn keresztl kldik? Ha klnbz szktekn keresztl adjk t azokat, mindkt szo- ketnek 80-as a portszma? Fejtse ki, s magyarzza meg.

K2.

K3.

K4. K5.

K6. K7.

K8.

3.4. alfejezet K9. Az rdt protokolljainkban mirt kellett bevezetnnk sorszmokat? K10. Az rdt protokoljainkban mirt kellett bevezetnnk idztket?

3.7. A TCP

TORl.DSKEZELSE

283

KI 1. Ttelezze fel, hogy a kld s a vev kztt a krbejrsi ksleltets lland, s a kld szmra ismert. Ez esetben is szksg lenne az rdt 3.0 protokollban egy idztre, felttelezve, hogy a csomagok elveszhetnek? Magyarzza meg. KI2. Ltogassa meg a kapcsold webhelyen az M-nel trtn visszalps Java kisalkal- mazst. (a) Kldessen ki a forrssal t csomagot (Send New - tszr), majd pillanatmegl- ltval (Pausc) lltsa le az animcit, mieltt brmelyik csomag elrne a clllomsig. Ezt kveiden nyelss el az els csomagot (kattintson r, majd Kill Packet/Ack), majd folytassa (Resume) az animcit. Fejtse ki, hogy mi trtnik. (b) Ismtelje meg a ksrletet, de most hagyja, hogy az els csomag elrje a clllomst, s az els nyugtt nyelss el. Fejtse ki ismt, hogy mi trtnik. (c) Vgl prbljon hat csomagot kldeni. Mi trtnik? K13. Ismtelje meg az KI2. krdst, de ez esetben a szelektv ismtls Javakisalkalma- zssal. Miben klnbzik a szelektv ismtls s az n-nel trtn visszalps egymstl? 3.5. alfejczct

4*

K14. Igaz vagy hamis? (a) Az A hoszt egy nagy fjlt kld B hosztnak egy TCP-sszekttetsen keresztl. Ttelezze fel, hogy a B hosztnak nincs semmilyen A hosztnak kldend adata. A B hoszt nem fog nyugtkat kldeni A hosztnak, mert a B hoszt nem tudja adatokra rltetni a nyugtkat. (b) Egy sszekttets idtartama sorn soha sem vltozik a TCP RcvWindow mrete. (c) Ttelezze fel, hogy az A hoszt egy nagy fjlt kld a B hosztnak egy TCPsszekttetsen t. Az A ltal kldtt nyugtzatlan bjtok szma nem haladhatja meg a vteli pufer mrett. (d) Ttelezze fel, hogy az A hoszt egy nagy fjlt kld a B hosztnak egy TCPsszekttetsen t. Ha ennek az sszekttets egy szegmensnek a sorszma m, akkor a kvetkez szegmens sorszma szksgszeren m + 1 lesz. (e) A TCP-szegmens fejrszben van egy mez az RcvWindow szmra. (0 Ttelezze fel, hogy egy TCP-sszekttetsben az utols SampleRTT 1 msodperc. Az sszekttetsnek az aktulis Timeoutlnterval rtke szksgszeren > 1 msodperc. (g) Ttelezze fel, hogy A hoszt egy TCP-sszekttets fltt B hosztnak egyetlen szegmenst kld 38-as sorszmmal s 4 bjtnyi adattal. Ugyanebben a szegmensben a nyugtaszm szksgszeren 42. K15. Ttelezze fel, hogy az A hoszt egy TCP-sszekttetsen t szorosan egymst kveten kt TCP-szegmenst kld a B hosztnak. Az els szegmens sorszma 90, a msodik sorszma pedig 110. (a) Mennyi adat van az els szegmensben? (b) Tegye fel, hogy az els szegmens elveszik, de a msodik szegmens megrkezik B-hez. A nyugtban, amelyet a B hoszt kld az A hosztnak, mi

284

3. A SZI.l TSI RTEG


lesz a nyugtaszm? Vegye fontolra a 3.5. alfejezetben trgyalt Telnet-pldt. Nhny msodperccel azutn, hogy a felhasznl leti a C bett, a felhasznl leti az R bett. Az R bet letst kveten hny szegmens kerl elkldsre, s mi kerl a szegmensek sorszm s nyugta mezibe?

Kl.

3.7. alfejczct K17. Ttelezze fel, hogy egy R sebessg szk keresztmetszet adatkapcsolaton kt TCP-sszekttets van jelen. Mindkt sszekttetsnek egy hatalmas fjlt kell t- kldenie (a szk keresztmetszet adatkapcsolaton azonos irnyban). A fjlok tvitele egyszerre kezddik meg. Milyen tviteli sebessget szeretne adni a TCP az egyes sszekttetseknek? K18. Igaz vagy hamis? Tekintse a TCP torldskezelst. Amikor a kldnl egy idzt lejr, a kszbrtket az elz rtknek a felre lltjk.

Feladatok
FI. Ttelezze fel, hogy az A kliens egy Telnet-munkaviszonyt kezdemnyez az S szerverrel. Nagyjbl ugyanakkor a B kliens is egy Telnet-munkaviszonyt kezdemnyez az S szerverrel. Adjon meg lehetsges forrs- s clportszmokat (a) az A-tl S-nek kldtt szegmensek szmra. (b) a B-tl S-nek kldtt szegmensek szmra. (c) az S-tl A-nak kldtt szegmensek szmra. (d) az S-tl B-nek kldtt szegmensek szmra. (e) Ha A s B klnbz hosztok, lehetsges-e, hogy az A-tl az S-nek kldtt szegmenseknek ugyanaz a forrsportszma, mint a B-tl az S-nek kldttek? (f) Mi a helyzet, ha ugyanazok a hosztok? F2. Tekintse a 3.5. brt. Mik a forrs- s clportrtkek a szervertl a kliensfolyama- taihoz visszakldtt szegmensekben? Mik az IP-cmek a szlltsi szegmenseket szllt hlzati rtegbeli datagramokban? F3. Az UDP s a TCP 1-es komplcmenst hasznl az ellenrz sszegeikben. Ttelezze fel, hogy a kvetkez hrom 8 bites bjtja van: 01010101, 01110000, 01001100. Mi az l-es komplemense ezen 8 bites bjtok sszegnek? (Vegye szre, hogy habr az UDP s a TCP 16 bites szavakat hasznl az ellenrz sszeg szmtsakor, e feladat sorn arra krtk, hogy 8 bites sszegeket tekintsen.) A megolds minden lpst tntesse fel. Mirt veszi az UDP az sszeg 1-es komplemenst - azaz mirt nem hasznlja egyszeren az sszeget? Az 1-es komplemensrendszerrel hogyan szleli a vev a hibkat? Lehetsges az, hogy egy 1 bites hiba rejtve marad? Mi a helyzet egy 2 bites hibval? F4. (a) Ttelezze fel, hogy a kvetkez kt bjtja van: 00110100 s 01101001. Mi az 1-es komplemense ennek a kt bjtnak? (b) Ttelezze fel, hogy a kvetkez kt bjtja van: 11110101 s 00101001. Mi az 1-es komplemense ennek a kt bjtnak?

3.7. A TCP

TORl.DSKEZELSE

285

(c) Az (a) rszben lv bjtok esetn adjon egy pldt, ahol mind a kt bjtban egy bit tbillen, s az 1-es komplemens mgsem vltozik meg. F5. Ttelezze fel, hogy az UDP-vev kiszmtja a vett UDP-szegmensre az internet ellenrz sszeget, s gy tallja, hogy az megegyezik az ellenrz sszeg mezben hordozott rtkkel. Teljesen biztos lehet a vev abban, hogy nem kvetkezett be bithiba? Magyarzza meg. F6. Fontolja meg az rdt2.1-es protokollunk javtsnak indtkt. Mutassa meg, hogy a kvetkez oldalon feltntetett vev, amikor a 3.10. brn lthat kldvel mkdik egytt, a kldt s a vevt egy holtponti llapotba tudja juttatni, ahol mindkett egy olyan esemny bekvetkezsre vr, amely soha sem fog bekvetkezni.

286 rdt_rvc(rcvpkt) 66 notcorrupt(rcvpkt) has_seqC{rcvpkt)


(.(.

3. A SZI.l TSI RTEG

extract(rcvpkt,data) delver data(daLa) compute chksum make pkt (sndpkt,ACK, chksum) udt_send(sndpkt)

rdtrcv(rcvpkt) && (corrupt(rcvpkt) | has seqO(rcvpkt)) compute chksum make pkt(sncpkt,MK,chksum)


udt_send(sndpkt)

Vrakozs

Vrakozs 1-esre alulrl

rdt_rcv(rcvpkt) Si (corrupt(rcvpkt)| i has_seql(rcvpkt))

0-ra alulrl

compute chksurr rdt rvc(rcvpkf.) & notcorrupt make pkt(sndpkt,NAK,chksum) (rcvpkt) && has^seql(rcvpkt) udtsend(sndpkt) extract(rcvpkt,data) deliver_data(data) compute chksum make_pkt(sndpkt,ACK,chksum ) udt_send(sndpkt)

F7. Az rdt3.0 protokollban a vevtl a kld fele halad ACK-csomagoknak nincs sorszmuk (habr van nyugta mezjk, amely az ppen nyugtzott csomag sorszmt tartalmazza). Mirt van az, hogy az ACK-csomagjaink nem ignyelnek sorszmokat? F8. Rajzolja meg az rdt3.0 protokoll vev oldali FSM-jt. F9. Vzolja az rdt3.0 protokoll mkdst hibs adatcsomagok s nyugtacsomagok esetn. A vzlata a 3.15. brn hasznltra hasonltson. F10. Tekintsen egy olyan csatornt, amelyben csomagok elveszhetnek, de egy ismert fels korlt van a ksleltetsre. Mdostsa az rdt2.1 protokollt gy, hogy kld oldali idtllpst s jrakldst is tartalmazzon. Adjon r informlis bizonytst, hogy mirt kpes a protokollja hibtlanul kommuniklni ezen a csatornn keresztl. FII. Az rdt3.0 kld oldala egyszeren figyelmen kvl hagyja (azaz nem vgez

3.7. A TCP

TORl.DSKEZELSE

287

semmilyen mveletet) az sszes olyan vett csomagot, amelyek vagy hibt tartalmaznak, vagy pedig egy nyugtacsomag acknum mezjben rossz rtk szerepel. Ttelezze fel, hogy ilyen esetekben az rdt3.0-nak csak egyszeren jra kell kldenie az aktulis adatcsomagot. gy is mkdne a protokoll? (Tipp: Fontolja meg, mi trtnne, hogyha csak bithibk lennnek - nincsenek csomagvesztsek, de trtnhetnek korai idtllpsek. Tekintse meg, hogy az w-edik csomag hatrrtkben hnyszor kerl elkldsre, ha az n vgtelenhez tart.) F12. Tekintseazrdt 3.0 protokollt. Rajzoljon egy diagramot, amely azt mutatja be, hogy ha a kld s a vev kztti hlzati sszekttets tsorrendezheti a csomagokat (azaz kt, a kld s a vev kztti kzegben halad csomag sorrendje mdosulhat), akkor a vltakoz bit protokoll nem fog helyesen mkdni (gyzdjn meg rla, hogy egyrtelmen megadja, hogy milyen rtelemben nem fog helyesen mkdni). A diagramjn a bal oldalon legyen a kld, a vev pedig a jobb oldalon, az idtengely az oldalon lefel fusson, s az adat- (D) s nyugta- (A) csomag vltst

288

3. A

szlltsi rteg

mutassa. Bizonyosodjon meg rla, hogy minden adat- vagy nyugtaszegmenshez tartozik sorszm. F13. Tekintsen egy megbzhat adattviteli protokollt, amely csak negatv nyugtzst hasznl. Ttelezze fel, hogy a kld csak ritkn kld adatot. Kvnatosabb egy csak NAK-ot hasznl protokoll egy ACK-kat hasznl protokollal szemben? Mirt? Most ttelezze fel azt, hogy a kldnek sok kldend adata van, s a vgpontok kztti sszekttetsben kevs veszts tapasztalhat. A msodik esetben kvnatosabb egy csak NAK-ot hasznl protokoll egy ACK-at hasznl protokollal szem ben? Mirt? F14. Tekintse a 3.16. brn lthat Amerikai Egyeslt llamok kt partjnak pldjt. Milyen nagynak kellene az ablakmretnek lennie ahhoz, hogy a csatornakihasznltsg 90 szzalk fltti legyen? F15. Az ltalnos SR protokollban, amelyet a 3.4.4. alfejezetben tanulmnyoztunk, a kld azonnal elkld egy zenetet, amint az rendelkezsre ll (ha az ablakba esik) anlkl, hogy egy nyugtra vrna. Ttelezze fel, hogy egy olyan SR protokollt szeretnnk, amely egyszerre kt zenetet kld el. Azaz a kld egy zenetprt fog ki kldeni, s a kvetkez zenetprt csak akkor fogja elkldeni, amikor tudja, hogy az els zenetpr mindkt zenett hibtlanul vettk. Ttelezze fel, hogy a csatorna elveszthet zeneteket, de nem fogja mdostani vagy tsorrendezni az zeneteket. Tervezzen egy hibajavt protokollt az zenetek egy irny megbzhat tvitelhez. Adja meg a kld s a vev FSM lerst. Rszletezze a kld s a vev kztt, valamint a msik irnyba kldtt csomagok form tumt. Ha a 3.4. alfejezetben szereplkn (pldul udt_send(), start_ timer(), rdt_rcv() s gy tovbb) kvl hasznl ms eljrshvst is, egyrtelmen rja le a mkdst. Adjon egy olyan pldt (a kld s a vev mkd snek vzlatt az idtengely mentn), amely megmutatja, hogyan ll helyre a protokollja egy csomagvesztsbl. F16. Tekintsen egy olyan helyzetet, amelyben az A hoszt egyszerre szeretne csomagokat kldeni B s C hosztoknak. A egy zenetszrsos csatornn keresztl kapcsoldik B-hez s C-hez - egy A ltal kldtt csomagot a csatorna a B-hez is s a C-hez is eljuttat. Ttelezze fel, hogy az A-t, B-t s C-t sszekt zenetszrsos csatorna fg getlenl veszthet el csomagokat s okozhat srlst a csomagokban (s gy, pl dul, egy A-tl kldtt csomagot a B hibtlanul vehet, mg a C nem). Tervezzen egy megll-s-vr jelleg hibajavt protokollt a csomagok A-tl B-hez s C-hez tr tn megbzhat adattvitelre gy, hogy az A nem kap addig j adatot a felsbb rtegtl, ameddig nem tudja, hogy a B s a C is hibtlanul megkapta az aktulis csomagot. Adja meg az A s a C FSM lerst. (Tipp: a B-hez tartoz FSM-nek lnyegben ugyanolyannak kell lennie, mint a C-hez tartoznak.) Valamint adja meg a hasznlt csomagformtum(ok) egy lerst. F17. Tekintsen egy olyan esetet, amikor az A hoszt s a B hoszt zeneteket akar kldeni a C hosztnak. Az A s a C hosztokat egy olyan csatorna kti ssze, amelyben az zenetek elveszhetnek, s megsrlhetnek (de nem rendezdhetnek t). B s C hosztokat egy msik (az A-t s C-t sszekt csatorntl fggetlen), azonos tulajdon sgokkal rendelkez csatorna kti ssze. C hoszt szlltsi rtegnek felvltva kell kzbestenie a felsbb rtegnek az A-tl s a B-tl rkez zeneteket (azaz elszr egy A-tl szrmaz csomagban lv adatot kell kzbestenie, majd egy B-tl szr maz csomagban lv adatot s gy tovbb). Tervezzen egy megll-s-vr jelleg hibajavt protokollt a csomagok A-tl s B-tl C-hez trtn megbzhat adattvitelre, a C-nl a fent lert mdon trtn vltakoz kzbestssel. Adja meg az A s a C FSM lerst. (Tipp: a B-hez tartoz FSM-nek lnyegben ugyanolyannak kell lennie, mint az A-hoz tartoznak.) Valamint adja meg a hasznlt csomagfor- mtum(ok) egy lerst. F18. Tekintsen egy GBN protokollt, egy 3 mret kld ablakkal s egy 1024-ig terjed sorszmtartomnnyal. 'Ttelezze fel, hogy a idpillanatban a vev ltal vrt kvetkez sorrend helyes csomag sorszma k. Tegye fel, hogy a kzeg nem mdostja a csomagok sorrendjt. Vlaszolja meg az albbi krdseket: (a) Mika t idpontban a lehetsges, a kld ablakba es sorszmhalmazok? Iga zolja az lltst. (b) Az sszes lehetsges, a t idpillanatban ppen a kld fel halad zenetben melyek a nyugta mez lehetsges rtkei? Igazolja az lltst. FI9. Ttelezze fel, hogy kt hlzati entitsunk van, A s B. B-nek egy sor adat zenete van, amely a kvetkez szablyok szerint lesz A-nak elkldve. Amikor A a felsbb rtegtl kap egy krst, hogy a kvetkez (D) adatzenetet B-tl tvegye, A-nak az A-B csatornn egy (R) krszenetet kell kldenie B-hez. B csak akkor tud egy (D) adatzenetet visszakldeni Anak a B-A csatornn, amikor egy (R) zenetet kap. A-nak minden (D) zenetbl pontosan egy pldnyt kell a felsbb rtegnek kzbestenie. Az (R) zenetek elveszhetnek (de nem srlhetnek meg) az A-B csa tornban - a (D) zeneteket, ha egyszer elkldtk, mindig hibtlanul kzbestik. Mindkt csatorna ksleltetse ismeretlen s vltoz. Tervezzen (adja meg az FSM lerst) egy olyan protokollt, amely magba foglalja a megfelel mechanizmusokat a vesztsre hajlamos A-B csatorna ellenslyozsra, s az A entitsnl megvalstja a fent lert, felsbb rtegnek trtn

3.7. A TCP

TORLDSKEZEISE

289

zenettadst. Csak azokat a mechanizmusokat hasznlja, amelyek felttlen szksgesek. F20. Tekintse a GBN s SR protokollokat. Ttelezze fel, hogy a sorszmok tere k mret. Mi a mindkt protokoll szmra legnagyobb megengedhet kld ablak, amely meggtolja az olyan problmk elfordulst, mint amilyen a 3.26. brn lthat? F21. Vlaszoljon igazzal vagy hamissal a kvetkez krdsekre, s tmren indokolja a vlaszt: (a) Az SR protokollal lehetsges, hogy a kld egy, az aktulis ablakn kvlre es csomagra kapjon nyugtt. (b) A GBN protokollal lehetsges, hogy a kld egy, az aktulis ablakn kvlre es csomagra kapjon nyugtt. (c) A vltakoz bit protokoll megegyezik egy olyan SR protokollal, ahol a kld s vev ablak mrete 1. (d) A vltakoz bit protokoll megegyezik egy olyan GBN protokollal, ahol a kld s vev ablak mrete 1. F22. Azt mondtuk, hogy egy alkalmazs szlltsi protokollknt az UDF-t vlaszthatja, mert az UDP-nl az alkalmazs finomabban szablyozhatja (mint TCP-nl) azt, hogy egy szegmensben milyen adat, s mikor kerl elkldsre. (a) Mirt tudja egy alkalmazs jobban szablyozni azt, hogy egy szegmensben milyen adat kerl elkldsre? (b) Mirt tudja egy alkalmazs jobban szablyozni azt, hogy egy szegmens mikor kerl elkldsre?

3.54. bra. Az /. s 2. TCP-sszekttets ltal megvalstott tbocstkpessg

1.8. SSZEFOGLALS

290

F23. Fontolja meg egy roppant nagy, L bjtos fjl tvitelt az A hoszttl a B hoszthoz. 1460 bjtos MSS-t ttelezzen fel. (a) Mi L legnagyobb rtke, amelynl a TCP sorszmok mg nem merlnek ki? Emlkezzen r vissza, hogy a TCP sorszm mezje 4 bjtos. (b) Az (a) rszben kapott L-re szmtsa ki, hogy mennyi idbe telik tkldeni a fjlt. Ttelezze fel, hogy sszesen 66 bjtnyi szlltsi, hlzati s adatkapcsolati fejrszt adnak minden szegmenshez, mieltt az gy kapott csomagot egy 10 Mb/s-os adatkapcsolaton tkldenk. Hagyja figyelmen kvl a forgalom- szablyozst s a torldskezelst, hogy az A a szegmenseket szorosan egymst kveten s folyamatosan tudja kikldeni. F24. Az A s a B hosztok egy TCP-sszekttetsen keresztl kommuniklnak, s a B hoszt mr a 248-as bjtig bezrlag az sszes bjtot megkapta A-tl. Ttelezze fel, hogy az A hoszt ezt kveten elkld a B hosztnak kt szegmens! szorosan egymst kveten. Az els s a msodik szegmens 40, illetve 60 bjtnyi adatot tartalmaz. Az els szegmensben a sorszm 249, a forrsportszm 503, a clportszm pedig 80. B hoszt valahnyszor megkap egy szegmenst A hoszttl, elkld egy nyugtt. (a) A msodik, A hoszttl B-nek kldtt szegmensben mi a sorszm, a forrsportszm s a clpor tszm? (b) Ha az els szegmens a msodik eltt rkezik meg, az elsnek rkez szegmens nyugtjban mi a nyugtaszm, a forrsportszm s a clportszm? (c) Ha a msodik szegmens az els eltt rkezik meg, az elsnek rkez szegmens nyugtjban mi a nyugtaszm? (d) Ttelezze fel, hogy az A ltal kldtt kt szegmens sorrendben rkezik meg B-hez. Az els nyugta elveszik, s a msodik nyugta az els idtllpsi intervallumot kveten rkezik meg. Rajzoljon egy idztsi diagramot, amely ezeket a szegmenseket s az sszes tbbi elkldtt szegmenst s nyugtt mutatja. (Ttelezze fel, hogy nincs jabb adatveszts.) Az brjn minden szegmensnl tntesse fel a sorszmot s az adatbjtok szmt - minden nyugthoz, amelyet hozzad, adja meg a nyugtaszmot. F25. Az A s a B hoszt kzvetlenl vannak sszektve egy 200 Mb/s-os adatkapcsolattal. Egyetlen TCP-sszekttets van a kt hoszt kztt, s az A hoszt egy roppant nagy fjlt kld t a B hosztnak ezen a sszekttetsen keresztl. Az A hoszt 100 Mb/s-mal tud alkalmazsi adatot kldeni az adatkapcsolaton, de a B hoszt csak legfeljebb 50 Mb/s-os sebessggel tud kiolvasni a TCP vteli pufferbl. Rszletezze a TCP forgalomszablyozsnak hatst. F26. A SYN-stiket a 3.5.6. alfejezetben trgyaltuk (a) Mirt szksges, hogy a szerver egy specilis kezdeti sorszmot hasznljon a SYNACK-ban? (b) Ttelezze fel, hogy egy tmad tudja, hogy a megclzott hoszt SYNstiket hasznl. Kpes r a tmad, hogy flig nyitott vagy teljesen nyitott sszekttetseket kezdemnyezzen egyszeren egy, a clpontnak kldtt ACK-csomag- gal? Mirt vagy mirt nem? F27. Tekintse a TCP RTT becslsi eljrst. Ttelezze fel, hogy a = 0,1. Legyen a SampleRTTj a legutbbi RTT minta, SampleRTTV, a msodik

GONDOLKODTAT KRDSEK

291

F28. F29. F30. F31.

F32.

F33.

legfrissebb RTT minta s gy tovbb. (a) Egy adott TCP-sszekttets esetn ttelezze fel, hogy ngy nyugta rkezett vissza, a megfelel RTT mintk: SampleRTT,, SampleRTT 3 > SampleRTT ? , SampleRTT r Fejezze ki az EstimatedRTT-t a ngy minta RTT-vel megadva. (b) ltalnostsa a kplett n RTT mintra. (c) A (b) rszbeli kpletnl n tartson vgtelenhez. Magyarzza meg, hogy mirt nevezik ezt az tlagolst eljrst exponencilis mozg tlagnak. A 3.5.3. alfejezetben a TCP RTT becslst trgyaltuk. Mit gondol, mirt kerli el a TCP az jrakldtt szegmensek esetn a SampleRTT mrst? Mi a kapcsolat a 3.5.4. alfejezetben szerepl SendBase vltoz s a 3.5.5. alfejezetben szerepl LastByteRcvd vltoz kztt? Mi a kapcsolat a 3.5.5. alfejezetben szerepl LastByteRcvd vltoz s a 3.5.4. l- fejezetben szerepl y vltoz kztt? A 3.5.4. alfejezetben lttuk, hogy a TCP hrom kettztt nyugta vtelre vr, mieltt gyors jrakldst hajtana vgre. Mit gondol, mirt dntttek gy a TCP tervezi, hogy nem az els vett szegmensre kldtt kettztt nyugtt kveten hajtjk vgre a gyors jrakldst? Tekintse a 3.45. (b) brt. Ha A** Rl2 fl n, kpes a A ki R/3 fl nni? Magyarzza meg. Most tekintse a 3.45. (c) brt. Ha A** R/2 fl n, kpes a A kl R/4 fl nni azt felttelezve, hogy egy csomag az tvlaszttl a vevhz tlagosan ktszer kerl tovbbtsra? Magyarzza meg. Tekintse a TCP ablakmretnek kvetkez grafikonjt az id fggvnyben:

tviteli fordul

Felttelezve, hogy a TCP Reno az a protokoll, amely a fent mutatott viselkedst tapasztalja meg, vlaszolja meg az albbi krdseket. Minden esetben egy rvid fejtegetst is adnia kell, amelyben a vlaszt indokolja. (a) Azonostsa azt az idtartomnyt, amikor a TCP lass indulsi fzisban mkdik. (b) Azonostsa azt az idtartomnyt, amikor a TCP torldselkerlsi fzisban mkdik. (c) A 16. tviteli fordult kveten a szegmensvesztst egy hromszoros kettztt nyugta ltal szlelik vagy egy idtllps ltal?

292

3. A SZI.l TSI RTEG


(d) A 22. tviteli fordult kveten a szegmensvesztst egy hromszoros kettztt nyugta ltal szlelik vagy egy idtllps llal? (e) Mi a Threshold kezdeti rtke az els tviteli fordulnl? (f) Mi a Threshold rtke a 18. tviteli fordulnl? (g) Mi a Threshold rtke a 22. tviteli fordulnl? (h) Melyik tviteli fordul sorn kldik el a 70. szegmenst? (i) Felttelezve, hogy a 26. fordult kveten egy hromszoros kettztt nyugta ltal csomagvesztst szlelnek, mi lesz a torldsi ablak mretnek s a Threshold-nak az rtke? Tekintsen vissza a 3.54. brra, amelyik a TCP AIMD algoritmusnak konvergencijt szemllteti. Ttelezze fel, hogy multiplikativ cskkents helyett a TCP egy konstans mennyisggel cskkentette az ablakmrett. Az eredmnyl kapott AIAD algoritmus egy egyenl rszeseds algoritmushoz tartana? Igazolja a vlaszt egy a 3.54. brn levhz hasonl diagram hasznlatval. A 3.5.4. alfejezetben trgyaltuk az idtllpsi intervallum megduplzst, egy idtllpsi esemnyt kveten. Hz a mechanizmus a torldskezels egy formja. Mirt van szksge a TCP-nek egy ablakalap torldskezelsi mechanizmusra (lsd 3.7. alfejezet) emellett az idtllpsi intervallumot duplz mechanizmus mellett? Az A hoszt egy risi fjt kld a B hosztnak egy TCP-sszekttetsen t. Ennl az sszekttetsnl sosem trtnik csomagveszts, s az idztk sem jrnak le soha. Jellje az A hosztot az internettel sszekt adatkapcsolat tviteli sebessgt R b/s. Ttelezze fel, hogy az A hoszton a folyamat S b/s sebessggel kpes adatot kldeni a TCP-szoketjbe, ahol S = 10 x R. Tovbb felttelezze azt is, hogy a TCP vteli puffere elg nagy ahhoz, hogy a teljes fjl belefrjen, a kld puferbe viszont csak a fjl egy szzalka fr bele. Mi akadlyozn meg, hogy az A hoszton lv folyamat folyamatosan S b/s sebessggel adatot adjon t a TCP-szoketjnek? A TCP forgalom- szablyozsa? A TCP torldskezelse? Vagy valami ms? Rszletezze! Tekintse egy nagy fjl kldst egy hoszttl egy msiknak egy TCPsszekttetsen keresztl, ahol nincs veszts. (a) Ttelezze fel, hogy a TCP lass induls nlkl A1M D-t hasznl torldskezelsre. Felttelezve, hogy a CongWin 1 MSS-sel nvekszik minden alkalommal, amikor egy adag nyugta megrkezik, s kzel lland krbejrsi idt felttelezve, mennyi id alatt n a CongWin 1 MSS-rl 6 MSS-re (felttelezve, hogy nem trtnik vesztsi esemny)? (b) Mi ennek az sszekttetsnek az tlagos tbocstkpessge (MSS-ben s RTT-ben megadva) az 5 RTT idpontig bezrlag? Eleventse fel a TCP tbocstkpessgnek makroszkopikus lerst. Az alatt az id alatt, amg az sszekttets sebessge W7(2 x R'IT)-rl W/RTTre vltozik, csak egy szegmens veszik el (az idtartam legvgn). (a) Mutassa meg, hogy a vesztsi arny (a csomagoknak az elveszett hnyada) az albbival egyenl:

F34.

F35.

F36.

F37.

F38.

/. = V esztsi arny = -r- = (b) Hasznlja a fenti eredmnyt ahhoz, hogy megmutassa azt, hogy ha egy sszekttets vesztsi arnya L, akkor az tlagos arnya megkzeltleg

GONDOLKODTAT KRDSEK
^'

293

l,22xMSS
RTTV T

F39. A 3.7. alfejezetben a TCP jvjrl val trgyalsunkban megjegyeztk, hogy ahhoz, hogy elrje a 10 Gb/s-os tbocstkpessget, a TCP csak 2 x 10 ,0 -es szegmensvesztsi valsznsget tud elviselni (vagy ezzel egyenrtken, minden 5 000 000 000 szegmensre 1 vesztsi esemny jut). Mutassa meg, hogy hogyan szrmaztathat a 3.7. szakaszbeli RTT s MSS rtkekbl a 2 x 10 10 avagy 1 az 5 000 000 000-bl rtk. Ha a TCP-nek egy 100 Gb/s-os sszekttetst kellene tmogatnia, mi lenne az elfogadhat vesztes? F40. A 3.7. alfejezetbeli TCP torldskezelsrl szl trgyalsban implicit mdon feltteleztk, hogy a TCP-kldnek mindig volt elkldend adata. Fontolja most meg azt az esetet, amikor a TCP-kld nagy mennyisg adat elkldst kveten a idpontban ttlenn vlik (mivel nincs tbb adata, amelyet elkldhet). A TCP viszonylag hossz idn t marad ttlen, majd ezt kveten .-ben ismt adatot akar kldeni. Mik az elnyei s htrnyai annak, hogy a TCP a CongWin s Threshold rtkeket hasznlja t -tl /,-ig, amikor elkezd adatot kldeni? Milyen ms lehetsget javasolna? Mirt? F41. E feladat sorn azt vizsgljuk meg, hogy az UDP vagy a TCP kzl valamelyik nyjt-e valamilyen fok vgpont-azonostst. (a) Tekintsen egy szervert, amely egy UDP-csomagban egy krst kap, s egy UDP-csomagban vlaszol arra a krsre (pldul, ahogy azt egy DNSszerver teszi). Ha egy X IP-cm kliens meghamistja a cmt az Y cmre, hova fogja a szerver a vlaszt kldeni? (b) Most ttelezze fel, hogy az UDP helyett TCP-t hasznlnak. Kpes lesz r a kliens, hogy egyszeren az IP-cmnek a meghamistsval ravaszul rvegye a szervert arra, hogy a vlaszt egy Y cmre kldje? (c) Ttelezze fel, hogy egy szerver egy SYN-t kap Y IP-forrscmmel, s egy SYN- ACK-kal val vlaszolst kveten egy nyugtt kap Y IPforrscmmel s a helyes nyugtaszmmal. Felttelezve azt, hogy a szerver egy vletlenszer kezdeti sorszmot vlaszt, s nincs kzbekeld tmad, biztos lehet-e benne a szerver, hogy a kliens csakugyan Y-nl van (nem pedig valamilyen ms X cmen, amelyet Y-nak hamist)? F42. E feladat sorn a TCP lass induls fzisa ltal bevezetett ksleltetst vesszk fontolra. Tekintsen egy R sebessg adatkapcsolattal kzvetlenl sszekttt klienst s webszervert. Ttelezze fel, hogy a kliens egy olyan objektumot szeretne letlteni, amely pontosan 15 S mret, ahol S a legnagyobb szegmensmret (MSS). Jellje a kliens s a szerver kztti krbejrsi idt RTT-vei (llandnak felttelezve). A protokoll fejrszeket figyelmen kvl hagyva, hatrozza meg az objektum megszerzshez szksges idt (belertve a TCP-sszekttets ltestst is), amikor (a) 4 S/R > S/R + RTT > 2 S/R (b) 8 S/R > S/R + RTT > 4 S/R (c) S/R > RTT.

Gondolkodtat krdsek
Gl. Mi az a TCP sszekttetseltrts? Hogyan lehet megvalstani? G2. A 3.7. alfejezetben megjegyeztk, hogy egy kliens-szerver alkalmazs igazsgtalanul ltrehozhat sok prhuzamos egyidej sszekttetst. Mit lehet tenni, hogy az internetet valban igazsgoss tegyk? G3. Olvassa el a kutatsi irodalmat,hogy megtudja, pontosan mit rtenek TCPbart alatt. Valamint olvassa el afejezet vgn tallhat interjt Sally Floyddal. rjon egy egyoldalas rtekezst a TCP-bartsgossgrl. G4. A 3.7.1. szakasz vgn azt a tnyt trgyaltuk, hogy egy alkalmazs tbb TCP-sszekttetst nyithat meg, s gy egy magasabb tbocstkpessget rhet el (vagy ezzel megegyezen gyorsabb adattviteli idt). Mi trtnne, ha minden alkalmazs azltal prbln megjavtani a teljestmnyt, hogy tbb sszekttetst hasz nl? Milyen nehzsgeket foglalhat magba az, hogy egy hlzati elemnek kell meghatroznia azt, hogy egy alkalmazs tbbszrs TCP-sszekttetst hasznl-e? G5. A TCP s UDP portpsztzs mellett milyen funkcionalitsa lehet mg az nmap-nak? Kvesse nyomon az nmap csomagvltsokat Wiresharkkal (vagy valamilyen ms csomaglehallgatval). Hasznlja az elkapott csomagokat arra, hogy megmagyarzza azt, hogy az egyes bonyolultabb funkcik hogyan mkdnek. G6. Olvassa el az SCTP-rl [RFC 2960, RFC 3286) szl irodalmat. Mik azok az alkalmazsok, amelyekrl az SCTP tervezi gy gondoljk, hogy azokhoz hasznlni fogjk az SCTP-t? Milyen tulajdonsgokkal egsztettk ki az SCTPt annak rdekben, hogy ezen alkalmazsok ignyeit kielgtse?

FELADATOK

295

Vlaszol

Sally Floyd
Sally Floyd kutat az ICSI Internet kutat Kzpontban, egy olyan intzetben, amelyet az internetnek s a hlzatos krdseknek szenteltek. Az iparban az internetes protokoll tervezsben vgzett munkjrl ismert, kl nskppen a megbzhat tbbesklds, a torldskezels (TCP), a csomagtemezs (RED) s a protokollelemzs tern. Sally szociolgibl szerzett BA fokozatot a Berkeley California Universityn, majd informatikbl MS s PhD fokozatot ugyanazon egyetemen. Hogyan dnttt az informatika tanulsa mellett? Miutn BA fokozatot szereztem szociolgibl, ki kellett tallnom, hogyan tartsam fenn magamat - vgl a helyi egyetemen szereztem egy ktves bizonytvnyt elektronikbl, majd tz ven keresztl az elektronika s az informatika terletn dolgoztam. Ebbl nyolc vig a Bay A re Rapid Transit (bl krnyki gyors szemlyszllts) vonatokon fut szmtgpek szmtgpes rendszermrnke voltam. Ksbb gy dntttem, hogy komolyabban is tanulok az informatikt, s jelentkeztem a Berkeley Kaliforniai Egyetem informatikai szakra. Mirt dnttt gy, hogy hlzatptsre szakosodik? Az egyetem sorn rdekldni kezdtem az elmleti szmtstechnika irnt. Eleinte algoritmusok valsznsgi elemzsvel foglalkoztam, ksbb szmtgpes tanulsi elmlettel. Emellett az LBL-ben (Lawrence Berkeley Laboratory) is dolgoztam havonta egy napot, az irodm pedig Van Jacobsonval volt szemben, aki akkoriban TCP torldskezelsi algoritmusokkal foglalkozott. Van megkrdezte, hogy szeretnk-e a nyron nhny algoritmust elemezni egy hlzattal kapcsolatos problmhoz, amely magba foglalta a periodikus t vonalvlasztsi zenetek nemkvnatos szinkronizcijt. Ez rdekesnek tnt szmomra, gy ezt csinltam a nyron. Miutn befejeztem a diplommat, Van teljes munkaids llst ajnlott fel, tovbbra is hlzati terleten. Nem felttlenl terveztem vekig a hlzatos terleten maradni, de vgl a hlzati kutatst rdekfesztbbnek talltam, mint

296 az elmleti

3. A alkalmazott SZLLTSI RTF.G informatikt. Rjttem, hogy boldogabb vagyok az tudomnyok vilgban, ahol a munkm kvetkezmnyei kzzelfoghatbbak.
Mi volt a szmitgpes iparban az els munkja? Mivel jrt ez egytt? Az els szmtgpes munkm a BART-nl (Bay Area Rapid Transit) volt 1975-tl 1982-ig, a BART-vonatokon fut szmtgpeken dolgoztam. Technikusknt kezdtem, a BRT-rendszert futtat klnbz elosztott szmtgpes rendszerek karbantartsval s javtsval. Ezek kz tartozott egy kzponti szmtgpes rendszer s egy elosztott miniszmtgp rendszer a vonat mozgsnak szablyozsra; egy DF.Cszmtgpekbl ll rendszer hirdetsek s a clllomsjelzkn a vonatok clllomsainak megjelentsre; s egy

297

3. A SZI.l TSI RTEG

Modcomp szmtgpekbl ll rendszer, amely a fizetkapuktl gyjttte ssze az adatokat. A BART-nl tlttt utols veim alatt egy kzs BART/LBL projekten dolgoztam egy, a BRT korosod vonat vezrl szmtgpes rendszert felvlt rendszer tervezsn. Mi a munkjnak a legnagyobb kihvsokat tartalmaz rsze? A tnyleges kutats a leginkbb kihvst jelent rsz. Jelenleg egy kutatsi tma a torldskezelst illet tovbbi problmk feltrst foglalja magba olyan alkalmazsok szmra, mint a multimdia folyamszer tvitele. Egy msodik tma azokkal a hlzati akadlyokkal foglalkozik, amelyek megneheztik a kzvetlenebb kommunikcit az tvlasztk s a csompontok kztt. Ezek kztt az akadlyok kztt lehetnek IP-alagutak, MPLS tvonalak, tvlasztk vagy kzbees eszkzk, amelyek eldobjk az olyan csomagokat, amelyek IP-opcikat tartalmaznak, sszetett msodik rtegbeli hlzatok s hlzati tmadsi lehetsgek. Egy harmadik folyamatban lev tma annak feldertse, hogyan befolysolja az elemzsben, szimulciban s ksrletekben hasznlt helyzetek modelljeinek megvlasztsa a torldskezelsi mechanizmusok teljestmnynek rtkelst. Ezekrl a tmkrl tovbbi informci a http://www.icir.org/fioyd-r0l elrhet DCCP, Quick-Start (gyors induls) s TMRG weblapokon tallhat. Mit gondol az internet s a hlzatok jvjt illeten? Egy lehetsg, hogy a jellemz torlds, amivel az internetes forgalom szembesl, kevsb lesz slyos, ahogy a rendelkezsre ll svszlessg gyorsabban nvekszik, mint az igny. gy ltom, hogy a kevsb slyos torldsok fel tartunk, mindazonltal a kzptv jvben nem tartom lehetetlennek, hogy a nvekv torldst alkalmanknti torldsi sszeomls teszi majd hangslyoss. Magnak az internetnek vagy az internet architektrjnak a jvje egyltaln nem egyrtelm szmomra. Sok tnyez van, amely a gyors vltozshoz hozzjrul, gy ht nehz megjsolni, hogy az internet vagy az internet architektrja hogyan fog fejldni, vagy egyltaln azt megjsolni, hogy ez a fejlds mennyire lesz kpes sikeresen elkerlni a sok lehetsges csapdt az t sorn. Negatv irnyzat, hogy az internet architektrjban val vltoztats megvalstsa egyre nehezebb vlik. Az internet architektrja tbb mr nem egysges egsz, a klnbz sszetevk, mint pldul a szlltsi protokollok, az tvlaszt mechanizmusok, tzfalak, terhelskiegyenltk, biztonsgi mechanizmusok s hasonlk nha ellenkez cllal mkdnek. Szakmailag kik sztnztk? Richard Karp, a diplomakonzulensem az egyetemen, lnyegben megmutatta, hogyan kell kutatni, s Van Jacobson a csoportvezetm az LBL-ben, akinek a hlzatok tern mutatkoz rdekldsemet s az internet architektrjnak megrtst ksznhetem. Dave Clark az internet architektrjnak tltsval, s ennek az architektrnak a fejlesztsben val kutatssal, rssal, s az IETF-ben s ms nyilvnos frumokon val rszvtellel felvllalt szerepvel sztnztt. Deborah Estrin a figyelmn s hatkonysgn keresztl, s azzal sztnztt, hogy

298 megfontoltan dnttte el, hogy min s mirt fog dolgozni.

3. A SZLLTSI RTF.G

4.

FEJEZET

A hlzati rteg

Az elz fejezetbl megtudtuk, hogy a szlltsi rteg - a hlzati rteg hosztok kztti kommunikcis szolgltatst ignybe vve - a processzek kztti kommunikci klnfle mdozatait bocstja rendelkezsre. Az is kiderlt, hogy ekzben semmilyen ismerettel nem rendelkezik arrl, hogy a hlzati rteg valjban mikppen valstja meg ezt a szolgltatst. Az olvasban gy joggal vetdhet fel a krds: hogyan is mkdik a hosztok kztti kommunikcis szolgltats. Ez a fejezel rszletekbe menen bemutatja, hogy a hlzati rteg mikppen valstja meg a hosztok kztti kommunikcis szolgltatst. Megltjuk majd, hogy - a szlltsi rtegtl eltren - a hlzati rteg egy-egy rsze a hlzat minden egyes hosztjban s tvlasztjban megtallhat. Ezrt van az, hogy a protokollok hierarchikus rendszern bell a hlzati rteg protokolljai a legsszetettebbek (s gy a legrdekesebbek is!). Maga a hlzati rteg is a hivatkozsi modell egyik legsszetettebb rtege, gy ebben a fejezetben sok mindenrl kell majd szt ejtennk. Elsknt ttekintjk a hlzati rteg felptst s az ltala nyjthat szolgltatsokat. Ezt kveten jra foglalkozunk azzal, hogy mikppen trtnik a csomagszllts szervezse a hlzati rtegben. jfent megvizsgljuk a problmnak az 1. fejezetben mr emltett kt, szles krben elterjedt megkzeltst: a datagramalap modellt, illetve a virtulis ramkrkn alapul modellt. Sz lesz a cmzs dnt szereprl is a csomagoknak a clgpig trtn eljuttatsban. Ebben a fejezetben komoly figyelmet szentelnk a hlzati rteg tovbbtsi (forwarding) s tvlasztsi (routing) funkcii kztti alapvet klnbsgnek. A tovbbts azt jelenti, hogy az tvlaszt egy-egy csomagot thelyez a bemen oldali interfszrl a kimen oldali interfszre; ez teht egy egyetlen tvlasztt rint mvelet. Az tvlaszts a hlzat sszes tvlasztjt rinti, mivel ezek sszessgnek az tvlaszt protokollokon keresztl trtn klcsnhatsa hatrozza meg a csomagok tvonalt 1 a forrs- s a clcsompont kztt. Annak rdekben, hogy a fejezetben trgyalt fogalmakat s folyamaA fordt megjegyzse: a magyar nyelvben sszemosdik az t s az tvonal fogalma. A
grfelmletben az t kt csompont kztti egy vagy tbb lbl ll rendezett lsorozatot jelent; az els el az els csompontbl indul ki, az utols l az utols csompontba fut be. Az thoz tartoz leket sorban bejrva az els csompontbl eljutunk az utolsba. Ezzel szemben a kznyelvben tnak ltalban a kzthlzat egy konkrt szakaszt hvjuk (pldul Vci t), s tvonalnak nevezzk azt, amit a grfelmletben tnak hvunk. Tovbb nveli a kavarodst, hogy a telefonhlzatokkal, SDH-val kapcsolatos szakmai terminolgiban szintn gyakran tvonalknt

4 ugyanebben az rtelemben hasznljk az t" szt is. emlegetik a grfelmleti utakat, de 8 idnknt

FELADATOK

299

Ebben a knyvben e tekintetben elssorban az rthetsgre trekedtnk, a grfelmleti precizits msodlagos volt; ezrt a precz t helyett gyakran a htkznapi tvonal szt hasznljuk. Bzunk benne, hogy a szvegkrnyezet mindenti egyrtelmv teszi, hogy az t, tvonal, tszakasz szavak mit jelentenek.

tokt a megfelel szvegkrnyezetbe tudjuk helyezni, sose tvesszk szem ell ezt a megklnbztetst. A csomagtovbbts jobb megrtse cljbl belenznk az tvlasztk belsejbe, azaz megismerkednk hardver-architektrjukkal s mkdskkel. Ezutn alaposabban is tanulmnyozzuk az internetes csomagtovbbtst s a sokat emlegetett IP-t (Internet Pro- tocol). Foglalkozunk a hlzati rtegbeli cmzssel s az IPv4 datagram-formtummal, ezt kveten pedig a hlzati cmfordtssal (network address translation, NAT), a datagra- mok darabolsval, az ICMP-vel (Internet Control Message Protocol) s az lPv6-tal. A tovbbiakban a hlzati rteg tvlasztsi funkciival foglalkozunk. Ltni fogjuk, hogy az tvlaszt algoritmus (routing algorithm) feladata az, hogy j tvonalakat (ms terminolgiban utakat) talljon a csomagok kldi s fogadi kztt. Elsknt az tvlaszt algoritmusok elmlett tekintjk t klns tekintettel kt legelterjedtebb osztlyukra, a kapcsolatllapots a tvolsgvektor-alap algoritmusokra. Ahogy az tvlaszt algoritmusok a hlzati tvlasztk szmnak nvekedsvel egyre sszetettebb vlnak, gy vlnak egyre vonzbbakk az tvlasztsban a hierarchikus mdszerek. Az internet egyetlen autonm rendszern bell hasznlatos tvlaszt protokollok (a R1P, az OSPF s az IS-IS), illetve az autonm rendszerek kztt hasznlt BGP taglalsa kapcsn ltni fogjuk, hogyan alkalmazhatjuk az elmletet a gyakorlatban. A fejezetet az adatszr (broad- cast) s a tbbeskldses (multicast) tvlaszts trgyalsval zrjuk. Rviden sszefoglalva: jelen fejezet hrom f rszbl ll. Az els rsz (4.1. s 4.2. alfeje- zet) a hlzati rteg feladataival s szolgltatsaival, a msodik rsz (4.3. s 4.4. alfejezet) a tovbbtssal, a harmadik rsz (4.5., 4.6. s 4.7. alfejezet) az tvlasztssal foglalkozik.

4.1.

Bevezets

A 4.1. brn egy kt hosztbl (Hl s H2) s a kztk lv tvonalon tallhat tbb tvlasztbl ll egyszer hlzat lthat. Tegyk fel, hogy Hl informcit kld H2-nek. Vizsgljuk meg az ezekben a hosztokban s a kzremkd tvlasztkban lv hlzati rteg szerept. Ill-ben a hlzati rteg tveszi a szlltsi rtegbl rkez szegmenseket, majd datagramokba (azaz egy-egy hlzati rtegbeli csomagba) csomagolva elkldi ezeket a hozz kzeli R tvlasztnak. A H2 hosztnl a hlzati rteg a hozz kzeli R2 tvlasz ttl megkapott datagramokbl kicsomagolja a szlltsi rteg adatszegmenseit, amelyeket a szlltsi rtegnek tovbbt. Az tvlasztk f feladata az, hogy a hozzjuk valamely interfszen berkez csomagokat (ezt az interfszt a tovbbiakban bemeneti interfsznek nevezzk) azon az interfszen kldjk ki, amely hlzattopolgiai rtelemben a csomagok cmzettje fel nz (a tovbbiakban kimeneti interfsz). Vegyk szre, hogy a 4.1. brn az tvlasztkat csonka protokollkszlettel brzoltuk: hinyoznak bellk a hlzati rteg feletti rtegek, mivel az tvlasztk a hlzat felgyelet kivteleivel nem

300 3. A SZLLTSI RTF.G futtatnak a 2. s 3. fejezetben ismertetett alkalmazsi, illetve szlltsi rtegbeli

protokollokat.

4.1.1.

Tovbbts s tvlaszts

A hlzati rteg feladata igen egyszernek tnik: el kell juttatni a csomagokat a kld hoszttl a fogad hosztig. Ennek sorn az albbi kt funkci jtszik fontos szerepet:

301

3. A SZI.l TSI RTEG


Orszgos vagy globlis Mobiltelefon hlzat internetszolgltat
L___J

H1 vgrendszer Alkalmazsi Szlltsi Hlzati R1 tvlaszt Hlzati

Hlzati Adatkapcsolati Fizikai

Adatkapcsolati Fizikai

Adatkapcsolati

Fizikai

Helyi vagy krzeti internetszolgltat

Hlzati
Adatkapcsolati

302

Otthoni hlzat
Hlzati Adatkapcsolati
Fizikai 2 tvlaszt

3. A SZLLTSI RTF.G
Fizikai

Hlzati Adatkapcsolati Fizikai

H2 vgrendszer Alkalmazsi Szlltsi Hlzati Adatkapcsolati

Vllalati hlzat

Fizikai

Tovbbts. Az tvlasztnak a bemeneti interfszen berkez csomagot a


megfelel kimeneti interfszre kell eljuttatnia. Pldul a Hl hoszttl az R tvlasztra rkez csomagot a 112 fel vezet tvonalon lv legkzelebbi tvlaszthoz kell tovbbtania. A 4.3. alfejezetben belenznk az tvlaszt belsejbe, s megvizsgljuk, hogy miknt trtnik a gyakorlatban a csomag tovbbtsa az tvlaszt bemeneti interfszrl a kimeneti interfszre.
p

tvlaszts. A hlzati rtegnek meg kell hatrozni a kld s a fogad kztt raml csomagok tvonalt. Az tvonalak kiszmtst vgz algoritmusokat tvlaszt algoritmusoknak (routing algorithm) nevezzk. Egy ilyen algoritmus hatrozn meg pldul azt, hogy milyen tvonal mentn haladjanak a csomagok a Hl hoszttl a M2 hoszt ig. A hlzati rteggel foglalkoz szerzk kzl sokan felcserlhetnek tekintik a tovbbts s az tvlaszts fogalmt, jelen knyv szerzi azonban szigoran megklnbztetik ket. Tovbbts alatt a csomagnak az tvlaszt valamely bemeneti interfsztl a megfelel kimeneti interfszhez az tvlasztn bell trtn eljuttatst rtjk. tvlaszts alatt azt a hlzat egszre kiterjed folyamatot rtjk, amely meghatrozza a csomagoknak a forrstl a clig kvetett tvonalt. Egy auts analgival lve kvessk nyomon az 1.3.2. alfejezetben szerepl utasunk tjt Pennsylvnibl Floridba. Utazsa sorn autsunk tbb kzti csomponton halad keresztl. A tovbbtst az egyes csompontokon val tjutsknt kpzelhetjk cl. Az aut az egyik ton haladva elri a csompontot, majd a vezet eldnti, hogy melyik ton hagyja el azt. Az tvlasztst pedig gy kpzelhetjk el, mint a Pennsylvnibl Floridba tart utazs megtervezsi: a vezet az utazs megkezdse eltt egy trkp segtsgvel kivlaszt a sokfle lehetsges tvonal kzl egyet, mikzben mindegyik lvonal egy sor olyan szakaszbl ll, amelyek a csompontokban kapcsoldnak egymshoz. Ebben a fejezetben elsknt a hlzati rteg szolglati modell jeit tekintjk t, mieltt rtrnnk a hlzati rtegnek a tovbbtsban s az tvlasztsban betlttt szerepre. Minden tvlaszt rendelkezik egy tovbbttblval (forwarding table). Az tvlaszt a berkez csomag fejrszben lv egyik mez rtkt indexknt hasznlva kivlasztja a tblnak azon sort, amely megmutatja, hogy mely kimeneti interfszhez kell az adit csomagot tovbbtani. A konkrt hlzati rtegbeli protokolltl fggen ez a fejrszmez lehet a csomag clcme, vagy annak a hlzati kapcsolatnak az azonostja, amelyhez a csomag tartozik. A 4.2. brn lthal pldban a berkez csomagban a megfelel fejrszmez rt ke 0111. Az tvlaszt a tovbbttbla 0111 azonostj sorbl kiolvassa, hogy a csomagot a 2-es kimeneti interfszhez kell tovbbtani. A 4.3. alfejezetben belenznk az tvlaszt belsejbe, s ennl sokkal rszletesebben vizsgljuk majd meg a tovbbtsi funkcit. Az olvasban bizonyosan felmerl a krds, hogy mikppen trtnik az tvlasztk tovbbttblinak konfigurlsa. Ez valban dnt fontossg krds, amely rvilgt az tvlaszts s a tovbbts kztti klcsnhats jelentsgre. Ahogy azt a 4.2. brn lttuk, az tvlasztk tovbbttbliba kerl rtkeket az tvlaszt algoritmus hatrozza meg. Az tvlaszt algoritmus lehet centralizlt vagy decentralizlt. Az els esetben az algoritmus egy kzponti helyen fut, majd a futtats eredmnyeknt ltrejtt tovbbttblkat letlti az egyes tvlasztkra. A

304

4. A HLZATI RTEG

msodik esetben minden egyes tvlaszt maga futtatja le az elosztott tvlaszt algoritmus r es rszt. Az tvlaszt mindkt esetben megkapja a tovbbttbla konfigurlshoz szksges tvlasztprotokoll-zeneteket A tovbbtsi s tvlasztsi funkcik cljai kztti klnbsg az albbi hipotetikus (nem

Helyi tovbbttbla fejrsz rtke kimeneti interfsz

4.2.
bra. A

berkez

csomag

fejrszben

tovbbttblban szerepl rtkeket az tvlaszt algoritmusok hatrozzk meg letszer, de mszakilag megvalsthat) esettel szemlltethet jl: tekintsnk egy olyan hlzatot, amelyben az sszes tovbbttblt az tvlasztknl fizikailag jelen lv, a hlzatot zemeltet opertorok kzvetlenl kzzel konfigurljk az tvlasztkon. Ebben az esetben egyltaln nem lenne szksg tvlaszt protokollokra! A hlzatot zemeltet opertoroknak termszetesen egytt kellene egymssal mkdni ahhoz, hogy a tovbbttblkat gy konfigurljk, hogy valban lehetv vljon a csomagok clbajuttatsa. Az is valsznsthet, hogy az emberi ervel trtn konfigurls tbb hibalehetsget rejtene magba s jval lassabban tudna alkalmazkodni a hlzati topolgia vltozsai hoz, mint az tvlaszt protokollok. Ilyen szempontbl szerencss, hogy az sszes hlzat mindkt funkcival, a tovbbt s az tvlaszt funkcival is rendelkezik. Ha mr a terminolginl tartunk, rdemes kt msik fogalomrl is szt ejteni, amelyeket msoktl eltren nem tekintnk felcserlhetnek. Jelen knyvben a csomagkapcsol (packet switch) fogalmt az olyan ltalnos csomagkapcsol eszkzk szmra tartjuk fenn, amelyek a csomag valamely fejrszmezje rtknek megfelelen tovbbtjk a csomagot a bemeneti interfszrl valamelyik kimeneti interfszre. Vannak olyan kapcsolk, az n. adatkapcsolati rtegbeli kapcsolk (link-layer switches) (ezekre az 5. fejezetben trnk r), amelyek a tovbbtsra vonatkoz dntsket egy az adatkapcsolati rteghez tartoz fejrszmeznek az rtkre alapozzk; az tvlasztnak (router) nevezett csomagkapcsolk pedig a hlzati rteg egyik fejrszmezjnek rtktl teszik fggv,

306

4. A HLZATI RTEG

hogy

merre tovbbtjk a csomagot. (A klnbsgttel mlyebb megrtshez ajnlatos az 1.5.2. alfejezet elolvassa, amely rszletesen trgyalja a hlzati rtegbeli datagramok s az adat- kapcsolati rtegbeli keretek kztt fennll sszefggseket). Mivel jelen fejezet a hlzati rtegrl szl, a csomagkapcsol helyett az tvlaszt (router) kifejezst fogjuk hasznlni, mg a virtulis ramkr hlzatok csomagkapcsolira is.

sszekttets ltestse
Korbban azt lltottuk, hogy a hlzati rtegnek kt f feladata van: a tovbbts s az tvlaszts. Ltni fogjuk azonban, hogy nmelyik szmtgp-hlzatban van egy harmadik fontos funkcija is, nevezetesen az sszekttets ltestse (connection setup). A TCP trgyalsnl sz volt arrl, hogy hromutas kzfogsra van szksg ahhoz, hogy a kt fl adatokat kldhessen egymsnak. A kzfogs sorn kerl sor az sszekttets llapot- vltozinak (pldul a kezdeti sorszm s a forgalomszablyozs kezdeti ablakmrete) belltsra. Vannak olyan hlzati rtegbeli architektrk, mint pldul az ATM s a frame relay (de az internet nem ilyen), amelyeknl az adatok csak azt kveten ramolhatnak a forrs s a cl kztti sszekttetsen, hogy a vlasztott t mentn elhelyezked tvlasztk egymssal trtn kzfogsval sor kerlt bizonyos llapotvltozk belltsra. A hlzati rtegben ezt a folyamatot sszekttets ltestsnek nevezzk. Ezt a 4.2. alfejezetben trgyaljuk.

4.1.2. Hlzati szolglati modellek


Mieltt belemlyednnk a hlzati rteg rejtelmeinek vizsglatba, vegyk szemgyre a hlzati rteg ltal nyjthat klnfle szolgltatsokat. Szmthat-e a kld hoszt szlltsi rtege arra, hogy a hlzati rteg biztosan kzbesti a clhosztnak a csomagot azt kveten, hogy a kld hosztnl a hlzatba juttatta azt (azaz tovbbadta annak a szoftvernek, amely a hlzati rteg funkciit a kld hoszton valstja meg)? Tbb csomag kldse esetn a csomagok a klds sorrendjben rkeznek-e meg a fogad hoszt szlltsi rtegbe? A kt egymst kvet csomag elkldse kztt eltelt id vajon megegyezik-e a megrkezsk kztt eltel idvel? A hlzat ad-e tjkoztatst az esetleges torldsokrl? Milyen tulajdonsgokkal rendelkezik a kld s fogad hoszt szlltsi rtegt sszekt csatorna? Ezekre s az ezekhez hasonl krdsekre a hlzati rteg ltal rendelkezsre bocstott szolglati modell adja meg a vlaszt. A hlzati szolglati modell (network service model) hatrozza meg a csomagoknak a hlzat egyik szltl a msikig, azaz a kld s fogad vgrendszerek kztt vgponttl vgpontig trtn szlltsnak jellemzit. Tekintsnk most t nhny, a hlzati rteg ltal nyjthat szolgltatst. A kld hosztnl a hlzati rteg az albbi konkrt szolgltatsok nyjtsra lehet kpes azt kveten, hogy a szlltsi rteg tovbbadta neki az adott csomagot: Garantlt kzbests. Ez a szolgltats szavatolja azt, hogy a csomag vgl eljut a cl hoszt hoz. Garantlt kzbests korltos ksleltetssel. Ez a szolgltats nem csak a csomag kzbestst szavatolja, hanem azt is, hogy a csomag egy elrt

308

4. A HLZATI RTEG

ksleltetsi idn (pldul 100 ms-on) bell jut el az egyik vgponttl a msikig. Ezen tlmenen az adott forrs s cl kztti csomagfolyam szmra mg az albbi szolgltatsokat nyjthatja a hlzat:

4.1. BEVEZETS

309

Sorrendhelyes csomagkzbesls. Ez a szolgltats szavatolja azt, hogy a

csomagok a klds sorrendjben rkeznek meg a clhoszthoz. Garantlt minimlis svszlessg. A hlzati rtegnek ez a szolgltatsa a kld s a fogad hoszt kztt adott bitsebessg (pldul 1 Mb/s-os) tviteli kapcsolat viselkedst emullja (annak ellenre, hogy a vgponttl vgpontig terjed valdi t tbb fizikai adatkapcsolatot is rinthet). A szolgltats garantlja, hogy mindaddig, amg a kld hoszt legfeljebb a megadott sebessggel kldi a csomagok rszt kpez biteket, nem vsz el csomag, s egyetlen csomag vgponttl vgpontig trtn eljuttatsa sem tart tovbb, mint egy megadott rtk (pldul 40 ms). Garantlt dzsittermaximum. Ez a szolgltats azt szavatolja, hogy kt egymst kveten elkldtt csomag elkldse kztti id s a clhoszthoz trtn megrkezse kztt eltel id megegyezik (illetve, hogy a ksleltets esetleges vltozsa nem lp tl valamilyen elrt rtket). Biztonsgi szolgltatsok. A kizrlag a forrs- s a clhoszt ltal ismert titkos viszonykulcs hasznlatval a hlzati rteg a forrshosztnl titkostani tudja a cl- hosztnak kldtt datagramokban szerepl felhasznli adatokat. Ebben az esetben a clhosztnl a hlzati rteg feladata az adatok visszafejtse. Ezzel a fajta szolgltatssal biztosthat a titkossg a forrs- s clhosztok kztt a szlltsi rteg ltal kldtt valamennyi (TCP s UDP) szegmens szmra. A titkossg biztostsn kvl a hlzati rteg adatintegritsi s forrshitelestsi szolgltatsok nyjtsra is kpes lehet. A fenti felsorols csupn nhnyat emel ki a hlzati rteg ltal nyjthat szolgltatsok kzl; valjban szmtalan egyb varici megvalsthat. Az internet hlzati rtege egyetlen szolgltatst valst meg, amely a legjobbra trekv szolgltats (best-effort service) nven vlt kzismertt. A 4.1. tblzatot tanulmnyozva gy tnhet, hogy a legjobbra trekv szolgltats csupn a semmilyen szolgltats eufemizmusa (nem annyira srt szhasznlata). A legjobbra trekv szolgltats sem azt nem szavatolja, hogy az egymst kveten elkldtt csomagok kldse kztt eltelt id megegyezik a fogadsuk kztt eltelt idvel, sem azt, hogy a klds sorrendjben rkeznek meg, st, az tvitt csomagoknak mg a kzbestse sem biztos. Vagyis: mg egy olyan hlzat is megfelel a legjobbra trekv szolgltatst nyjt hlzat defincijnak, amely egyetlen csomagot sem kzbest a clhosztnak. Hamarosan ltni fogjuk azonban, hogy lteznek elfogadhat rvek

4.1. bra. A hlzati rteg

310

4. A HLZATI RTEG

4.1. tblzat. Az internet, az ATM CBR s az ATM ABR szolglati modell


Hlzati Szolglati modell Best Effort Svszlessg garancia Nincs architektra Internet Csomagvesztsi garancia Nincs Csomag sorrend

Idzts

Torlds jelzs

Brmilyen rkezsi sorrend

Nem kezeli

Nincs

ATM

CBR

Garantlt bitsebessg

lland

Van

Kldsi sorrend megtartva

Kezeli

Torlds nem fordul el Van

ATM

ABR

Garantlt minimlis bitsebessg

Nincs

Kldsi sorrend megtartva

Nem kezeli

az effajta minimalista hlzati rtegbeli szolglati modell mellett. A 7. fejezetben foglalkozunk majd tbb ms, rszben mg fejleszts alatt ll internetes szolglati modellel is. Ms hlzati architektrk az internet legjobbra trekv szolgltatsn tlmutat szolgltatsokat hatroztak meg s implementltak. Az ATM-hlzati architektra [MTA borm 2007, Black 1995] pldul tbb szolglati modellt is definil, s lehetv teszi, hogy egyetlen hlzaton bell tbb, klnbz szolglati osztlyt hasznl sszekttetst is kialaktsunk. Annak bemutatsa, hogy az ATM-hlzat hogyan valstja meg ezeket a szolgltatsokat, tlmutat knyvnk keretein. Csak arra szeretnnk felhvni az olvas figyelmt, hogy az internet legjobbra trekv szolgltatsnak lteznek alternatvi. A fontosabb ATiM-szolgltatsok kzl szerepeljen itt kett, az lland bitsebessg s a rendel kezsre ll bitsebessg szolgltats: lland bitsebessg (constant bit rate, CBR) ATM-hlzati szolgltats. Ezt az ATM-szolgltatst szabvnyostottk elszr, ami rszben a telefontrsasgok kezdeti rdekldsvel magyarzhat, rszben pedig azzal, hogy alkalmas a vals idej, lland bitsebessg hang- s mozgkpforgalom tvitelre. A CBR-szolglats egyszeren megfogalmazhat clt tztt ki maga el: egy virtulis cs segtsgvel a csomagok (ATM-terminolgiban: cellk) ramlst olyann tenni, mintha az tvitelk a kld s fogad hoszt kztti lland svszlessg dediklt adatkapcsolaton keresztl trtnne. A CBRszolgltatssal az ATM-cellafolyam gy halad t a hlzaton vg ponttl vgpontig, hogy a kvetkez jellemzk egyike sem halad meg egy-egy meg adott rtket: a cella vgpontok kztti ksleltetse, a ksleltets ingadozsa (azaz a dzsitter), az elveszett vagy tl ksn kzbestett cellk arnya. Ezekrl az rtkekrl a kld hoszt s az ATM-hlzat a CBR-sszekttets felptsekor llapodik meg egymssal. o Rendelkezsre ll bitsebessg (available bit rate, ABR) ATM-hlzati szolgl tats. Az ATM ABR-szolgltatst az internet legjobbra trekv szolgltatst alapul vve gy is jellemezhetnnk, mint a legjobbra trekvnl kicsit jobb szolgltatst. Az internet szolglati modelljhez hasonlan itt is elfordul cellaveszts. Az internettl eltren azonban nem vltozhat meg a cellk sorrendje (br elveszni elveszhetnek), s van egy garantlt minimlis

4.1. BEVEZETS

311

cellatviteli sebessg (minimum cell transmission rate, MCR). Ha a hlzatban egy adott pillanatban elegend szabad erforrs ll rendelkezsre, a kld hoszt az MCR-ben megllaptottnl nagyobb sebes sggel is tud cellkat kldeni. Ezen tlmenen, mint ahogy a 3.6. alfejezetben mr eml tettk, az ATM ABR-szolgltatsa torlds esetn vissza tud jelezni a kld hosztnak egy torldsjelz bit formjban, illetve valamilyen cellasebessg explicit megadsval; a kld hoszt ezek figyelembevtelvel vlaszt az MCR s a legnagyobb megengedett cellasebessg (pcak cell rate) kz es adsi sebessget.

4.2.

Virtulisramkr- s datagramalap hlzatok

A 3. fejezetben lttuk, hogy a szlltsi rteg az alkalmazsoknak sszekttetsalap vagy sszekttets nlkli szolgltatst nyjthat. Az internet szlltsi rtege pldul minden alkalmazsnak megadja a vlaszts lehetsgt az sszekttets nlkli UDP s az sszekttets-alap TCP kztt. Ehhez hasonlan a hlzati rteg szintn kpes sszekttets nlkli vagy sszekttets-alap szolgltatst nyjtani, amelyek sok tekintetben hasonltanak a szlltsi rteg megfelel szolgltatsaihoz. gy pldul mg a hlzati rteg sszekttets-alap szolgltatsa a forrs- s a cmzett hoszt kztti kzfogssal kezddik, addig sszekttets nlkli szolgltatsnak nincs szksge ilyen elzetes megllapodsokra. A hasonlsgok mellett azonban vannak komoly eltrsek is a hlzati s a szlltsi rteg sszekttets-alap s sszekttets nlkli szolgltatsai kztt: Mg a hlzati rtegben ezek a szolgltatsok hosztok kztti szolgltatsok, amelyeket a hlzati rteg bocst a szlltsi rteg rendelkezsre, addig a szlltsi rtegben processzek kzt ti szolgltatsokrl van sz, amelyeket a szlltsi rteg az alkalmazsi rteg szmra nyjt. Napjaink legfontosabb szmtgp-hlzati architektrinak tbbsgben (internet, ATM, frame relay stb.) a hlzati rteg vagy csak sszekttets-alap vagy csak sz- szekttets nlkli szolgltatst nyjt, egyszerre mind a kettt nem. Azokat a szmtgp-hlzatokat, amelyek a hlzati rtegen bell csak az sszekttets-alap szolgltatst biztostjk, virtulisramkr-alap hlzatoknak (virtual-circuit networks) vagy virtulis ramkri hlzatoknak, a csak sszekttets nlkli szolgltatst biztost hlzatokat pedig datagramalap hlzatoknak (datagram networks) vagy egyszeren datagramhlzatoknak nevezzk. Az sszekttets-alap szolgltats szlltsi, illetve hlzati rtegbeli implementcija gykeresen eltr. Az elz fejezetben szltunk arrl, hogy a szlltsi rtegbeli sszekttets-alap szolgltats megvalstsa a hlzat peremn, a vgrendszerekben trtnik; ezzel szemben, mint azt hamarosan ltni fogjuk, a hlzati rtegbeli sszekttets-alap szolgltats megvalstsban nem csupn a vgrendszerek, hanem a hlzat belsejben tallhat tvlasztk is rszt vesznek. A szmtgp-hlzatok kt f csoportra oszthatk: a virtulis ramkri

312

4. A HLZATI RTEG

hlzatokra s a datagramhlzatokra. A ktfle hlzatban mkd tvlasztk teljesen klnbz adatok alapjn hozzk meg tovbbtsi dntseiket. Az albbiakban kzelebbrl is szemgyre vesszk a ktfle hlzat mkdst.

4.2.1. Virtulisramkr-alap hlzatok


Azt mr tudjuk, hogy az internet egy datagramhlzat. Szmos alternatv hlzati architektra azonban - belertve az ATM-et s a frame relay-t - a virtulis ramkri hlzatok kz tartozik, s mint ilyen, hlzati rtegbeli sszekttetseket hasznl, amelyeket virtulis ramkrknek (VC) neveznk. Nzzk meg, miknt implementlhat a virtulis ramkri szolgltats egy szmtgp-hlzatban! A virtulis ramkrk az albbi elemekbl llnak: (1) a forrs- s clhosztok kztti tvonalbl (azaz az tvonal mentn lv adatkapcsolatok s tvlasztk sorozatbl), (2) virtulis ramkri szmokbl (az tvonal mentn mindenegyes adatkapcsolathoz tartozik egy szm) s (3) azokbl a bejegyzsekbl, amelyek az t mentn lv egyes tvlasztk tovbbttbliban tallhatk. Minden virtulis ramkr ltal szlltott csomag fejrszben szerepel egy virtulis ramkri szm. Mivel a virtulis ramkrkhz az egyes adat- kapcsolatokon ms-ms virtulis ramkri szm tartozhat, az thalad csomagban minden egyes rintett tvlaszt ki kell, hogy cserlje a fejrszben tallhat virtulis ramkri szmot arra a virtulis ramkri szmra, amely a sajt tovbbttblja szerint a kvetke z tvlasztig tart tszakaszon ezt a virtulis ramkrt azonostja.

R3

R4

4.3. bra. Egyszer virtulisramkr-alap hlzat


A fent ismertetett koncepcit a 4.3. brban felvzolt hlzat pldjn szemlltetjk. Az R melletti szmok az R adatkapcsolati interfszeinek azonosti (sorszmai). Ttelezzk fel, hogy az A hoszt azt kri a hlzattl, hogy az ltestsen egy virtulis ramkrt kzte s a B hoszt kztt, legyk fel tovbb, hogy a hlzat az A-R1-R2-B utat vlasztja s az ezen az ton lv hrom adatkapcsolat szmra rendre a 12, 22, 32 virtulis ramkri szmokat jelli ki. Ekkor a szban forg virtulis ramkr esetben az A hosztot elhagy csomag fejrsznek VC-mezejben szerepl rtk 12, amelyet az R tvlaszt 22-re, az R2 tvlaszt pedig 32-re mdost. Honnan tudja az tvlaszt, milyen virtulis ramkri szmmal kell helyettestenie a rajta thalad csomag eredeti virtulis ramkri szmt? A virtulis ramkri hlzatok esetben minden tvlaszt tovbbttblja a bemen s kimen virtulis ramkri szmok egymsnak val megfeleltetst tartalmazza. Az R tovbbttblja pldul az albbihoz hasonl lehet:

4.1. BEVEZETS

313

Bemeneti interfsz 1 2 3 1

Bejv VC-szm 12 63 7 97 M

Kimeneti interfsz 2 1 2 3

Kimen VC-szm 22 18 17 87

Minden j virtulis ramkr felptsekor j bejegyzst kell elhelyezni a tovbbttbl- ban. Egy virtulis ramkr lebontsakor pedig a hozz tartoz bejegyzseket trlni kell. Az olvasban jogosan merl fel a krds, hogy mirt nem tartja meg a csomag ugyanazt a virtulis ramkri szmot az tjba es sszes adatkapcsolaton. Ennek kt oka is van. Az els az, hogy a szm adatkapcsolatonknti megvltoztatsa cskkenti a VC-mez hosszt a csomag fejrszben. A msodik (s nyomsabb) ok pedig az, hogy a virtulis ramkr felptsnek folyamatt jelentsen leegyszersti, ha a hozz tartoz virtulis ramkri szm minden egyes tszakaszon klnbz lehet; gy ugyanis az tvonal mentn elhelyezked minden egyes tvlaszt nllan vlaszthat virtulis ramkri szmot azok kzl a szmok kzl, amelyek a kimeneti interfszen az adott pillanatban ppen nem foglaltak. Ha azonban azt szeretnnk, hogy a virtulis ramkrhz az sszes tsza kaszon azonos virtulis ramkri szm tartozzon, akkor az tvlasztk knytelenek lennnek nagyszm zenetet vltani annak rdekben, hogy egy olyan egysges virtulis ramkri szmban tudjanak megegyezni az j sszekttets szmra, amelyet az ezeket az tvlasztkat rint egyetlen mr ltez virtulis ramkr sem hasznl.

4.1. BEVEZETS

314

A virtulis ramkri hlzatok tvlaszti knytelenek az sszes rajtuk thalad hlzati sszekttetst egyenknt nyilvntartani. Ezt nevezik az sszekttets llapotinfor- nicijnak (connectiom state information). Az tvlasztknak minden j sszekttets felptsekor j bejegyzst kell elhelyeznik tovbbttbljukban, illetve minden sszekttets lebontskor trlnik kell a megsznt sszekttetsre vonatkoz bejegyzst. Fontos megjegyezni, hogy mg ha nincs virtulis szmmegfeletets, akkor is kezelni kell az sszekttets llapotinformcijt, amelyik a virtulis ramkri szmokat sszcrendeli a kimeneti interfszszmokkal. Dnt fontossg az a krds, hogy egy hlzatban egy tvlasztnak minden egyes fennll sszekttets llapot informcijt kezelni kell-c vagy sem; knyvnkben ezt a krdst tbbszr is krljrjuk majd. A virtulis ramkrk letciklusa hrom jl elklnthet szakaszbl ll: A virtulis ramkr felptse. A felptsi szakaszban a kld szlltsi rteg kapcsolatba lp a hlzati rteggel, megadja a fogad cmt, s megvrja, hogy a hlzat felptse a virtulis ramkrt. A hlzati rteg meghatrozza a kld s a fogad kztti tvonalat, azaz azoknak az adatkapcsolatoknak s tvlasztknak a sort, amelyeken keresztl a virtulis ramkr sszes csomagja thalad majd. A hlzati rteg az egyes adatkapcsolatok virtulis ramkri szmt is meghatrozza, majd bejegyzst tesz az egyes tvlasztk tovbbttbljba. A virtulis ramkr felp tse sorn a hlzati rteg erforrsokat (pldul svszlessget) is lefoglalhat a vir tulis ramkr tvonala mentn. Adattvitel. Ahogy az a 4.4. brn is lthat, a virtulis ramkr felptst kveten megkezddhet a csomagok ramlsa a virtulis ramkr mentn. A virtulis ramkr lebontsa. Ennek kezdemnyezsre akkor kerl sor, ha a kld (vagy a fogad) a virtulis ramkr megszntetst kri a hlzati rtegtl. Ilyenkor a hlzati rteg tjkoztatja a tvoli vgrendszert a hvs befejezsrl, s aktualizlja az tvonal menti tvlasztk tovbbttbljt, jelezve hogy az adott virtulis ramkr mr nem ltezik. Csak egy parnyi, ennek ellenre igen fontos eltrs van a hlzati rtegbeli virtulis ramkr felptse s a szlltsi rtegbeli sszekttets felptse kztt (amilyen pldul a hromutas kzfogs a TCP-nl, amirl a 3. fejezetben szltunk). A szlltsi rtegbeli

4.1. bra. A hlzati rteg

4.1. BEVEZETS

315

Alkalmazsi Szlltsi Hlzati Adatkapcsolati

4. sszekttets felpl 5. Megindul az adatok ramlsa

3. Hvs elfogadsa 6. Adatok \ fogadsa \

Alkalmazsi Szlltsi Hlzati Adatkapcsolati

Fizikai

Fizikai

316

4. A HLZATI RTEG

sszekttets felptsben csak a kt vgrendszer vesz rszt, egyedl ok hatrozzk meg a szlltsi rtegbeli sszekttetsk paramtereit (pldul a kezdeti sorszmot s forgalom- szablyozshoz hasznlt ablakmretet). Jllehet a kt vgrendszer tud a kzttk fennll szlltsi rtegbeli sszekttetsrl, a hlzat tvlasztinak nincs tudomsuk errl. A virtulis ramkri hlzati rteg esetn viszont a kt vgrendszer kztti t mentn lv tvlasztk is rszt

vesznek a virtulis ramkr felptsben, s minden tvlaszt tudomst szerez a rajta thalad sszes virtulis ramkrrl.
Azokat az zeneteket, amelyeket a vgrendszerek kldenek a hlzatnak a virtulis ramkr felptse, illetve lebontsa vgett, s azokat, amelyeket az tvlasztk kldenek egymsnak a virtulis ramkr felptsekor (azaz az sszekttets llapot informci tovbbttblban trtn mdostsa vgett) jelzszeneteknek (signaling messages), az ilyen zenetek cserjnl hasznlt protokollokat pedig jelzsprotokolloknak (signaling protocols) nevezzk. A virtulis ramkr felptst a 4.4. bra szemllteti. Knyvnkben nem foglalkozunk a virtulis ramkrkkel kapcsolatos jelzsprotokol- lokkal; az sszekttets-alap hlzatokban trtn jelzs ltalnos trgyalsa megtallhat [Black 1997] mvben s az ATM Q.2931 jelzsprotokollt specifikl [ITU-T Q.2931 1994] ajnlsban.

4.2.2. Datagramhlzatok
A datagramhlzatok esetben a vgrendszer minden elkldend csomagot ellt egy a cmzett vgrendszer cmt tartalmaz blyeggel, majd a csomagot bedobja a hlzatba. Ahogy ez a 4.5. brn is lthat, virtulis ramkr felptsre nincs szksg. A datagram- hlzat tvlaszti nem kezelnek semmifle virtulis ramkri llapotvltozkat (mivel nincsenek is virtulis ramkrk!). A csomagok a forrstl a clig vezet ton szmos tvlasztn haladnak t. Mindegyik tvlaszt a csomagban lv clcmet felhasznlva tovbbtja a csomagot. Pontosabban az trtnik, hogy amikor a csomag megrkezik az tvlaszthoz, az tvlaszt a sajt tovbbttbljban a csomagbeli clcmhez megkeresi a megfelel adatkapcsolati kimeneti interfszt, majd a csomagot ehhez az adatkapcsolati kimeneti interfszhez tovbbtja.

Alkalmazsi Szlltsi

Adatkapcsolati Fizikai

Alkalmazsi

4.2.

VIRTULISAI?AMKR- S

DATAGRAMALAP HLZATOK

317

Szlltsi
1. Adatok kldse 2. Adatok fogadsa

Hlzati
Adatkapcsolati

A tovbbttbla mkdsnek jobb megrtse rdekben tekintsk a kvetkez konkrt pldt. Ttelezzk fel, hogy minden lehetsges clcm pontosan 32 bites (vletlenl ppen ennyi az IPv4-ben hasznlt cmek hossza). A tovbbttbla egy kapsbl trtn implementcijban a tblnak annyi sora lenne, ahny lehetsges cm van: mindegyikhez konkrtan hozzrendeln a kimeneti interfszt. Mivel 32 biten mintegy ngymillird klnbz cmet tudunk brzolni, a tovbbtbla irdatlan mret, kezelhetetlen lenne - teht ms megoldst kell keresnnk. Tegyk fel mg azt is, hogy az tvlasztnknak ngy interfsze van, amelyeket a 0-tl 3-ig terjed szmokkal azonostunk, s hogy a csomagtovbbts szablyai az albbiak szerint foglalhatk ssze:
V

Clcmtartomny 11001000 00010111 00010000 00000000-tl

Kimeneti interfsz

SZAMITOGEP- HLZATOK...............................................3 MKDS............................................................3

Tartalomjegyzk.............................................................................................................. 7

A szmtgp-hlzatok s az internet........................................................................26

1.1.Mi az az internet?...................................................................................................... 2

1.1.1.Alkotrszek........................................................................................................... 2

1.1.2.Szolgltatsok........................................................................................................ 5

1.2. A hlzat szle....................................................................................................... 11

1.2.1.Kliens- s szerverprogramok............................................................................... 14

1.2.2.Hozzfrsi hlzatok.........................................................................................14

1.2.3.Fizikai tviteli kzegek........................................................................................ 26

1.3.A hlzat magja...................................................................................................... 30

1.3.1.Vonalkapcsols s csomagkapcsols.................................................................30

1.3.2.Csomagok thaladsa csomagkapcsolt hlzatokon........................................40

1.3.3.lnternetszolgltatk s internet-gerinchlzatok..............................................41

1.4.Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban ...44

1.4.1.Ksleltetsek ttekintse.................................................................................... 46

1.4.2.Sorbanllsi ksleltets s csomagveszts.......................................................52

1.4.3.Vgpontok kztti ksleltets............................................................................. 55

1.4.4.Szmtgp-hlzatok tbocstkpessge......................................................58

1.5.Protokollrtegek s szolglati modelljeik..............................................................63

1.5.1.Rtegezett architektra...................................................................................... 63

1.5.2.zenetek, szegmensek, csomagok s keretek..................................................72

1.6.Tmadsok a hlzatok ellen................................................................................. 76

1.7.Szmtgp-hlzatok s az internet trtnete....................................................84

1.7.1.A csomagkapcsols kifejlesztse: 1961-1972....................................................84

1.7.2.Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980 ...................................87

1.7.3.Hlzatok gyors fejldse: 1980-1990...............................................................88

1.7.4.Az internet robbansszer elterjedse: az 1990-es vek .................................89

1.7.5.Legutbbi fejlesztsek......................................................................................... 90

1.8.sszefoglals.......................................................................................................... 92

Krdsek........................................................................................................................ 94

Feladatok....................................................................................................................... 96

Gondolkodtat krdsek............................................................................................. 105

Leonard Kleinrock........................................................................................................ 108

Az alkalmazsi rteg................................................................................................... 113

2.1.Hlzati alkalmazsok elvi alapjai....................................................................... 114

2.1.1.Hlzati alkalmazsi architektrk..................................................................114

2.1.2.Kommunikl folyamatok.................................................................................. 119

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok ........122

2.1.4.Internetes szlltsi szolgltatsok..................................................................125

2.1.5.Alkalmazsi protokollok....................................................................................130

2.1.6.A knyvben trgyalt hlzati alkalmazsok....................................................131

2.2. A web s a HTTP.................................................................................................. 132

2.2.2.Idleges s lland sszekttetsek................................................................134

2.2.3.HTTP-zenetformtumok................................................................................... 140

2.2.4.Felhasznl s szerver kztti egyttmkds: stik....................................146

2.2.5.Webes gyorsttrazs...................................................................................... 149

2.3.Fjltvitel: FTP...................................................................................................... 127

2.3.1.FTP-parancsok s -vlaszok..............................................................................129

2.2.6.A feltteles GET................................................................................................. 131

2.4.Elektronikus levelezs az interneten...................................................................108

2.4.1.SMTP................................................................................................................... 134

2.4.2.sszehasonlts a HTTP-vei..............................................................................113

2.4.3.Levl zenetformtumok s a MIM.................................................................114

2.4.4.Levl-hozzfcrsi protokollok...........................................................................118

2.5.DNS - Az internet krzetnv-szolgltatsa.........................................................131

2.5.1.A DNS ltal nyjtott szolgltatsok..................................................................132

2.5.2.A DNS mkdsnek ttekintse.....................................................................135

2.5.3.DNS-rekordok s -zenetek..............................................................................131

2.6.P2P-alkalmazsok................................................................................................. 139

2.6.1.P2P-fj1cserls................................................................................................. 140

F \................................................................................................................................. 143

2.6.2.Informcikeress egy P2P-kzssgben........................................................155

2.6.3.Esettanulmny: P2F internetes telefonls (Skype).......................................163

2.7.TCP-szoketprogramozs....................................................................................... 166

2.7.1.TCP-szoketprogramozs.................................................................................... 168

2.7.2.Egy kliens-szerver alkalmazsi plda Javban programozva.........................172

l.................................................................................................................................... 183

t.................................................................................................................................... 186

Bram Cohen................................................................................................................. 202

A szlltsi rteg.......................................................................................................... 205

O................................................................................................................................... 245

O................................................................................................................................... 211

Sally Floyd................................................................................................................... 295

A hlzati rteg........................................................................................................... 298

Vinton G. Cerf.............................................................................................................. 151

1................................................................................................................................... 196

1................................................................................................................................... 196

r,=2X.......................................................................................................................... 231

p*"~ j........................................................................................................................... 242

I I l i.............................................................................................................................. 106

Nyilvnval, hogy ebben az esetben szksgtelen ngymillird bejegyzsi elhelyezni az tvlaszt tovbbltbljban. Elegend lenne pldul a kvetkez ngy bejegyzst tartalmaz tbla: Illeszked clcm-prefix Kimeneti interfsz

SZAMITOGEP- HLZATOK...............................................3 MKDS............................................................3

Tartalomjegyzk.............................................................................................................. 7

A szmtgp-hlzatok s az internet........................................................................26

1.1.Mi az az internet?...................................................................................................... 2

1.1.1.Alkotrszek........................................................................................................... 2

1.1.2.Szolgltatsok........................................................................................................ 5

1.2. A hlzat szle....................................................................................................... 11

1.2.1.Kliens- s szerverprogramok............................................................................... 14

1.2.2.Hozzfrsi hlzatok.........................................................................................14

1.2.3.Fizikai tviteli kzegek........................................................................................ 26

1.3.A hlzat magja...................................................................................................... 30

1.3.1.Vonalkapcsols s csomagkapcsols.................................................................30

1.3.2.Csomagok thaladsa csomagkapcsolt hlzatokon........................................40

1.3.3.lnternetszolgltatk s internet-gerinchlzatok..............................................41

1.4.Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban ...44

1.4.1.Ksleltetsek ttekintse.................................................................................... 46

1.4.2.Sorbanllsi ksleltets s csomagveszts.......................................................52

1.4.3.Vgpontok kztti ksleltets............................................................................. 55

1.4.4.Szmtgp-hlzatok tbocstkpessge......................................................58

1.5.Protokollrtegek s szolglati modelljeik..............................................................63

1.5.1.Rtegezett architektra...................................................................................... 63

1.5.2.zenetek, szegmensek, csomagok s keretek..................................................72

1.6.Tmadsok a hlzatok ellen................................................................................. 76

1.7.Szmtgp-hlzatok s az internet trtnete....................................................84

1.7.1.A csomagkapcsols kifejlesztse: 1961-1972....................................................84

1.7.2.Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980 ...................................87

1.7.3.Hlzatok gyors fejldse: 1980-1990...............................................................88

1.7.4.Az internet robbansszer elterjedse: az 1990-es vek .................................89

1.7.5.Legutbbi fejlesztsek......................................................................................... 90

1.8.sszefoglals.......................................................................................................... 92

Krdsek........................................................................................................................ 94

Feladatok....................................................................................................................... 96

Gondolkodtat krdsek............................................................................................. 105

Leonard Kleinrock........................................................................................................ 108

Az alkalmazsi rteg................................................................................................... 113

2.1.Hlzati alkalmazsok elvi alapjai....................................................................... 114

2.1.1.Hlzati alkalmazsi architektrk..................................................................114

2.1.2.Kommunikl folyamatok.................................................................................. 119

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok ........122

2.1.4.Internetes szlltsi szolgltatsok..................................................................125

2.1.5.Alkalmazsi protokollok....................................................................................130

2.1.6.A knyvben trgyalt hlzati alkalmazsok....................................................131

2.2. A web s a HTTP.................................................................................................. 132

2.2.2.Idleges s lland sszekttetsek................................................................134

2.2.3.HTTP-zenetformtumok................................................................................... 140

2.2.4.Felhasznl s szerver kztti egyttmkds: stik....................................146

2.2.5.Webes gyorsttrazs...................................................................................... 149

2.3.Fjltvitel: FTP...................................................................................................... 127

2.3.1.FTP-parancsok s -vlaszok..............................................................................129

2.2.6.A feltteles GET................................................................................................. 131

2.4.Elektronikus levelezs az interneten...................................................................108

2.4.1.SMTP................................................................................................................... 134

2.4.2.sszehasonlts a HTTP-vei..............................................................................113

2.4.3.Levl zenetformtumok s a MIM.................................................................114

2.4.4.Levl-hozzfcrsi protokollok...........................................................................118

2.5.DNS - Az internet krzetnv-szolgltatsa.........................................................131

2.5.1.A DNS ltal nyjtott szolgltatsok..................................................................132

2.5.2.A DNS mkdsnek ttekintse.....................................................................135

2.5.3.DNS-rekordok s -zenetek..............................................................................131

2.6.P2P-alkalmazsok................................................................................................. 139

2.6.1.P2P-fj1cserls................................................................................................. 140

F \................................................................................................................................. 143

2.6.2.Informcikeress egy P2P-kzssgben........................................................155

2.6.3.Esettanulmny: P2F internetes telefonls (Skype).......................................163

2.7.TCP-szoketprogramozs....................................................................................... 166

2.7.1.TCP-szoketprogramozs.................................................................................... 168

2.7.2.Egy kliens-szerver alkalmazsi plda Javban programozva.........................172

l.................................................................................................................................... 183

t.................................................................................................................................... 186

Bram Cohen................................................................................................................. 202

A szlltsi rteg.......................................................................................................... 205

O................................................................................................................................... 245

O................................................................................................................................... 211

Sally Floyd................................................................................................................... 295

A hlzati rteg........................................................................................................... 298

Vinton G. Cerf.............................................................................................................. 151

1................................................................................................................................... 196

1................................................................................................................................... 196

r,=2X.......................................................................................................................... 231

p*"~ j........................................................................................................................... 242

I I l i.............................................................................................................................. 106

Ilyen jelleg tbla hasznlata esetn az tvlaszt a csomagok clcmeinek valamilyen prefixt prblja a lovbbttbla soraira illeszteni. Ha illeszkedst tall, az adott sorban szerepl kimeneti interfszen adja ki a csomagot. Tegyk fel pldul, hogy a csomagon szerepl clcm az 11001000 00010111 00010110 10100001. Mivel a tbla els sorban szerepl 21 bites prefix megegyezik a clcm els 21 bitjvel (teht a clcm illeszkedik a prefixre), az tvlaszt az ebben a sorban szerepl nulls interfszen kldi ki a csomagot. Ha az els hrom sor egyikben szerepl prefixre sem illeszkedik a clcm, az tvlaszt a csomagot a hrmas interfszen kldi ki. Noha ez elg egyszeren hangzik, ne feledkezznk meg egy fontos aprsgrl: vegyk szre, hogy ugyanaz a clcm tbb prefixre is illeszkedhet. Pldul az 11001000 00010111 00011000 10101010 clcm els 24 bitje illeszkedik a msodik, els 21 bitje pedig a harmadik sorban szerepl prefixre. Ha tbb illeszkedst is tall, az t vlaszt mindig a leghosszabb illeszked prefixet veszi figyelembe, teht a tovbbttbla azon sorban szerepl kimeneti interfszen kldi ki a csomagot, amelyhez az illeszked prefixek kzl a leghosszabb tartozik. A leghosszabb illeszked prefixen alapul dntsi mechanizmus akkor lehet hatkony, ha minden kimeneti interfsz lehetleg minl nagyobb egybefgg cmtartomnyokrt felels. A 4.4. alfejezetben ltni fogjuk, hogy az interneten

ltalban hierarchikusan trtnik a cmek kiosztsa, gy a legtbb tvlaszt tovbbttbljban valban javarszt egybefgg cmtartomnyok szerepelnek. Ezzel egytt a kutatk egy rsze aggdik amiatt, hogy az IP-cmtr daraboldik (fragmentldik): a kiosztott egybefgg cmtartomnyok egyre kisebbek, a tovbbttblk pedig egyre nagyobbak lesznek. (Lsd mg [Meng 2005], [RFC 3221] munkkat s a 4.4. alfejezetben az Elvek a gyakorlatban cm rszt.) Jllehet a datagramalap hlzatok tvlaszti nem kezelnek sszekttets llapot informcit, csak a csomagtovbbts szablyait ler tovbbttblt tartjk karban, llapotterk a tbla tartalmra korltozdik. A tblkat az tvlaszt algoritmusok mdostjk, de csak viszonylag ritkn: kt mdosts kztt akr percek is eltelhetnek. Ezzel szemben egy virtulisramkr-alap hlzatban az tvlasztk tovbbttbljnak tartalma akr mikroszekundumonknt is vltozhat (pldul gerinchlzati, 1-es szint tvlaszt esetben), mivel minden, az tvlasztn thalad hlzati kapcsolat felptse vagy lebontsa a tbla mdostsval jr. Mivel a datagramalap hlzatokban hasznlt tovbbttblk tartalma brmikor mdosulhat, elkpzelhet, hogy kt vgpont kztti forgalom bizonyos csomagjai ms-ms tvonalon haladnak s emiatt nem sorrendben rkeznek meg a cmzetthez. A [Paxson 1997] s a [Jaiswal 2003] forrsban rdekes mrsi eredmnyeket tallhatunk az interneten tapasztalhat csomagsorrendvltozsokkal s ms jelensgekkel kapcsolatban.

4.2.3. A virtulis ramkri s a datagramhlzatok eredete


A datagram- s a virtulis ramkri hlzatok fejldse jl tkrzi eredetket. A virtulis ramkrnek mint kzponti szervezsi elvnek a gondolata a valdi ramkrket hasznl telefnia vilgban fogalmazdott meg. A virtulis ramkri hlzatok, amelyekben az tvlasztk rszt vesznek a hvsfelptsben s hvsonknti llapotjelzket tartanak nyilvn, sokkal sszetettebbeknek tnnek, mint a datagramhlzatok (mbr rdemes ezzel kapcsolatban megismerkedni a vonalkapcsolt s a csomagkapcsolt hlzatok ssze tettsgt sszehasonlt [Molinero-Fernandez 2002] mben lertakkal). Ez a bonyolultsg szintn a telefonos rksggel fgg ssze. A telefonhlzatok szksgszeren bonyolultak voltak, mivel olyan csekly tuds, egyszer vgberendezseket kapcsoltak ssze, mint amilyenek pldul a szmtrcss telefonok. (A fiatalabbak kedvrt: a szmtrcss telefon nyomgombok nlkli analg kszlk volt). A datagramalap internetet viszont a szmtgpek sszekapcsolsnak ignye hozta ltre. Mivel a vgpontok intelligensebbek voltak, az internet tervezi a lehet legegyszerbb hlzati rtegbeli modell mellett dntttek. Ahogy errl a 2. s 3. fejezetben mr sz volt, a legegyszerbb feladatokon tlmutat funkcikat (mint amilyen pldul a sorrend- tart kzbests, a megbzhat adattvitel, a torldskezels vagy a DNS-es nvfelolds) a vgrendszerekben a magasabb rtegekbe teleptettk. A telefonhlzatokbl ismert modell ilyetn megfordtsa nhny rdekes kvetkezmnyt vont maga utn: Az internet gy ltrejtt hlzati rtegbeli szolglati modellje, amely minimlis szolglati garancikat (vagyis semmilyet sem) nyjt (s ezrt minimlis ignyeket tmaszt a hlzati rteggel szemben) megknnyti az egymstl

igen eltr adatkapcsolati rtegbeli technikkat (mint amilyen pldul a mholdas, az Ethernet-, a fnyvezetszlas vagy a rdis technika) hasznl, nagyon klnbz tviteli sebessgeket s vesztesgi jellemzkkel rendelkez hlzatok sszekapcsolst. Az IP-hlzatok ssze kapcsolst rszletesen trgyaljuk a 4.4. alfejezetben. A 2. fejezetbl tudjuk, hogy az olyan alkalmazsokat, mint amilyen az e-mail, a web, de mg a hlzati rteggel alapjaiban sszefgg alkalmazs, a DNS is, a hlzat szln lv hosztokba (szerverekbe) teleptettk. Ennek az az elnye, hogy nagyon kny- nyen s gyorsan megvalsthatk j alkalmazsok: csupn csatlakoztatni kell a hlzathoz egy j hosztot s definilni kell egy j alkalmazsi rtegbeli protokollt (mint pldul a HTTP-t). A web is ennek ksznheti gyors bevezetst s elterjedst. A 7. fejezetben ltni fogjuk, hogy komoly vita van az internetes kzssgen bell arrl, hogy miknt lehetne az internet hlzati rtegnek architektrjt abba az irnyba fejleszteni, hogy az tmogassa a vals idej szolgltatsokat, pldul a multimdit. A virtulis- ramkr-alap ATM- hlzati architektra s egy javasolt jgenercis internetes architektra rdekes sszevetse tallhat (Crowcroft 1995) cikkben.

4.3. Mi van az tvlasztk belsejben?


Eddig a hlzati rteg funkciit s szolgltatsait tekintettk t; ideje rtrnnk tovbbtsi funkcijnak vizsglatra, amely megvalstja a csomagok tvitelt az tvlaszt bemeneteirl a megfelel kimenetekre. A 4.2. alfejezetben mr rintettk a tovbbts nhny krdst, nevezetesen a cmzst s a leghosszabb illeszked prefixen alapul csomag- tovbbtst. Ebben a fejezetben kzelebbrl is megismerkednk a csomagok fent emltett tvitelt megold konkrt tvlasztarchitektrkkal. Teljessgre termszetesen nem trekedhetnk, hiszen az tvlasztk felptsnek alapos bemutatsra nem elegend egyetlen fejezet; ezt ellenslyozand fokozott figyelmet fordtunk az olyan hivatkozsok megadsra, amelyek kell mlysgben trgyaljk a tmt. Gyorsan szv tesszk mg, hogy a szmtgpek hlzatba szervezsvel foglalkoz kutatk s gyakorlati szakembe rek gyakran felcserlhetnek tekintik a tovbbtst s a kapcsolst; jelen knyv azonban klnbsget tesz a kt fogalom kztt. A 4.6. brn vzlatosan bemutatott ltalnos tvlaszt-architektrn az albbi ngy egysg klnbztethet meg: Bemeneti portok. A bemeneti port tbb feladatot is ellt: (1) a fizikai rtegnek az tvlasztra berkez fizikai kapcsolat vgzdtetsvel kapcsolatos funkciit (a 4.6. brn a bemeneti port bal szls s a kimeneti port jobb szls doboza); (2) az adatkapcsolati rteg azon funkciit, amelyek a berkez adatkapcsolat tvoli oldaln lv eszkz adatkapcsolati rtegvel val egyttmkdst biztostjk (a bemeneti s a kimeneti portok kzps dobozai); (3) visszakeressi s tovbbtsi funkci, amely biztostja, hogy az tvlaszt kapcsolgpbe tovbbtott csomag a megfelel kimeneti portra kerljn (a

bemeneti port jobb szls s a kimeneti port bal szls doboza). A vezrl csomagok - pldul azok, amelyek az tvlaszt protokoll zeneteit szlltjk a bemeneti portrl az tvlaszt processzorhoz kerlnek. A gyakorlatban egyetlen vonali krtyn (line card) gyakran tbb port is tallhat.
Bemeneti port Kimeneti port

4.6. bra. Egy tvlaszt architektrja Kapcsolgp. A kapcsolgp kapcsolja ssze az tvlaszt bemeneti portjait a kimeneti portokkal. A kapcsolgp teljes mrtkben az tvlaszt rsze, lnyegben egy kis hlzat a hlzati tvlasztn bell. Kimeneti portok. A kimeneti port trolja a kapcsolgp ltal hozz tovbbtott csomagokat, majd kikldi ket a kimeneti interfszen, vagyis a bemeneti port ltal elltott adatkapcsolati s fizikai rtegbeli funkciknak ppen a fordtottjt vgzi el. Ktirny adatkapcsolatok esetn az adott kapcsolathoz tartoz kimeneti port ltalban ugyanazon a vonali krtyn tallhat, mint az ahhoz az adatkapcsolathoz tartoz bemeneti port. tvlaszt processzor. Az tvlaszt processzor azon tlmenen, hogy vgrehajtja az tvlaszt protokollokat (mint amilyeneket pldul a 4.6. alfejezetben trgyalunk), kezeli az tvlasztsra vonatkoz adatokat s a tovbbttblkat, valamint hlzatfelgyelettel sszefgg feladatokat lt el az tvlasztn bell (lsd 9. fejezetet). A kvetkez alfejezetekben rszletesebben foglalkozunk a bemeneti portokkal, a kapcsolgppel s a kimeneti portokkal. [Chuang 2005; Keslassy 2003; Chao 2001; Turner 1988; Giacopelli 1990; McKeown 1997a; Partridge 1998] rsaibl tbb konkrt tvlaszt-architektrval is megismerkedhetnk. Klnsen olvasmnyos [McKeown 1997b) cikke, amelyben a Cisco 12000 tvlasztt alapul vve tekinti t a korszer tvlaszt-architektrkat. Annak rdekben, hogy ne csak elmleti skon mozogjunk, az albbiakban azt felttelezzk, hogy a szmtgp-hlzat csomagkapcsolt, s hogy a tovbbtsi dntsek a csomag clcmt veszik alapul (s nem a virtulisramkr-alap hlzatokban hasznlatos VC-szmot). A fogalmak s mdszerek azonban a virtulisramkr-alap h lzatok esetben is hasonlak.

4.3.1. Bemeneti portok


A 4.7. bra a korbbiaknl rszletesebben mutatja be egy bemeneti port funkciit. Ahogy mr emltettk, a bemeneti port vonalvgzdtetsi funkcija s adatkapcsolati rtegbeli adatfeldolgozsa valstja meg az tvlaszt valamely konkrt bemeneti adatkapcsolathoz tartoz fizikai s adatkapcsolati rtegeket. A bemeneti port visszakeres/tovbbt egysge kzponti szerepet jtszik az tvlaszt tovbbtsi funkcijban. Sok tvlaszt itt hatrozza meg, hogy a kapcsolgp mely kimeneti porthoz tovbbtsa a berkez csoma got. A kimeneti port megvlasztsa a tovbbttblban trolt adatok segtsgvel trtnik. A tovbbttblt ugyan az tvlaszt processzor szmtja ki, egy-egy msolatot azonban ltalban minden bemeneti port is trol; ezeket a pldnyokat a processzor szksg szerint aktualizlja. A tovbbttbla helyi msolatainak segtsgvel az egyes bemeneti portok nllan hatrozhatnak a tovbbtsrl, a kzpontostott tvlaszt processzor bevonsa nlkl. Ezzel a decentralizlt tovbbtssal elkerlhet egy szk keresztmetszet kialakul sa az tvlasztban: a tovbbtsrl egy kzs erforrs elrse nlkl is lehet dnteni.

Kapcsolgp

4.7. bra. Adatfeldolgozs a bemeneti porton Azoknl a bemeneti portoknl, amelyek csak korltozott adatfeldolgozsi kapacitssal rendelkeznek, elfordulhat, hogy a port a csomagot egyszeren tovbbkldi a kzpontostott tvlaszt processzornak, amely ezt kveten maga vgzi el a visszakeresst a tovbbttblban s a csomag tovbbtst a megfelel kimeneti porthoz. Ez trtnik akkor, ha egy munkalloms vagy egy szerver ltja el az tvlaszt feladatt; ebben az esetben az tvlaszt processzor valjban a munkalloms CPU-ja, a bemeneti port pedig a munka- lloms hlzati interfszkrtyja (pldul egy Ethernet-krtya). A tovbbttbla meglte elvben nagyon egyszerv teszi a visszakeresst: csupn a leghosszabb illeszked prcixet kell megtallnunk, ahogy errl a 4.2.2. alfejezetben szltunk. A gyakorlatban azonban nem ilyen egyszer a dolog. A legnagyobb gondot taln az jelenti, hogy a gerinchlzati tvlasztknak nagyon gyorsan kell mkdnik, azaz msodpercenknt tbb milli visszakeresst kell vgrehajtaniuk. A kvnatos az lenne, ha a bemeneti port a vonali sebessggel (line speed) megegyez sebessgen tudn feldolgozni az adatokat, vagyis a visszakeress folyamata kevesebb idt venne ignybe, mint az adott csomag fogadsa a bemeneti porton. Ez azrt fontos, mert gy biztosthat, hogy a

fogadott csomag adatainak a feldolgozsa a soron kvetkez fogadsi mvelet eltt befejezdik. Ha szem eltt tartjuk, hogy egy OC-48 adatkapcsolat 2,5 Gbit/sos tvitelt valsit meg, jobban el tudjuk kpzelni, hogy milyen nagyok a kvetelmnyek a visszakeress sebessgt illeten. 256 bjt hosszsg csomagok esetn ez megkzeltleg msodpercenknt 1 milli visszakeresst jelent.

F.gy kis trtnelem] A Cisco Systems eszkzgyrt ris rvid trtnete A knyv rsnak idejn (2006 oktbere) a Ciscnak tbb mint 30 ezer alkalmazottja volt, a vllalat rszvnyeinek sszrtke pedig elrte a 140 millird dollrt. A cg meghatroz mr tekben rszesedik az internetes tvlasztpiacbl, s az utbbi vekben az internetes telefnia piacn is megjelent, ahol jl llja a versenyt az olyan telefonos berendezseket gyrt vllala tokkal, mint pldul a Lucent, az Alcatel, a Nortel s a Siemens. Hogyan jtt ltre ez az risvllalat? A trtnet 1984-ben, egy Szlicium-vlgybeli laks nappalijban kezddtt. A stanfordi egyetemen dolgoz Len Bosaknak s felesgnek, Sandy Lernernek az az tlete tmadt, hogy internetes tvlasztkat lltsanak el s adjanak el kutatintzeteknek. Sandy I.erner javasolta a Cisco nevet, ami tulajdonkppen a San Francisco rvidtse, s tervezte a trsasg stilizlt hidat formz lgjt is. Telephelyk laksuk nappalija volt, a projekt pnz gyi httert hitelkrtykkal s mellkllsban vgzett tancsadi tevkenysggel teremtettk meg. 1986 vgre a Cisco rbevtele elrte a havi 250 ezer dollrt. 1987 vgn a trsasg egy- harmadrt cserbe, sikerlt a Sequoia Capital trsasgtl 2 milli dollr kockzati tkt is bevonni az zletbe. A Cisco az elkvetkez vekben folyamatos nvekedsnek indult, s egyre nagyobb piaci rszesedsre tett szert. Ugyanakkor feszltt vlt a viszony a BosakLerner hzaspr s a vllalat vezetsge kztt. A vllalatot 1990-ban jegyeztk be a tzsdre; I.erner s Bosak ugyanebben az vben kilpett a cgbl. Az vek sorn a Cisco szmos j termkkel bvtette knlatt: az tvlasztkon kvl biz tonsgi, vezetk nlkli s VoIP-termkeket s -szolgltatsokat is fogalmaz. Idkzben egyre inkbb kilezdtt a piaci verseny, gy pldul megjelent a gyorsan fejld knai Huawci, amely vilgszerte tbb mint 38 ezer alkalmazottat foglalkoztat, s a knyv rsnak idejn 7 szzal kot is meghalad piaci rszesedst szerzett az Ethernet-kapcsolk s az tvlasztk piacn. Az tvlasztk s az ethernetes eszkzk piacn az Alcatel-Lucent s a Juniper is komoly vetlytrsai a Ciscnak.

Napjaink nagysebessg adatkapcsolatai nem engedik meg a lineris keresst egy nagymret tovbbttblban. sszerbb a tovbbttbla bejegyzseit faszerkezetben trolni. A fa minden egyes szintje a clcim egyik bitjnek felel meg. A tovbbttbla egy sornak keresst a fa gykernl kezdjk. Ma az els cmbil nulla, a bal oldali rszfa tartalmazza a tbla clcmre vonatkoz bejegyzst; ha egyes, akkor a bejegyzs a jobb oldali rszfban tallhat. A megfelel rszfa tfslse a fennmaradt cmbitekkel analg mdon trtnik: ha a soron kvetkez cmbit nulla, a bal oldali rszft kell kivlasztani, ha egyes, a jobb oldalit. Ezzel a mdszerrel a megfelel bejegyzs N lpsben megtallhat a tovbbttblban, ahol N jelli a cmben lv bitek szmt. (Vegyk szre, hogy ez l nyegben egy 2 v -en mret cmtrben val binris keress.) [Srinisvan 1999] ler a bin ris keressnl jobb eljrsokat, a csomagosztlyozsi algoritmusok ltalnos ttekintse pedig [Gupta 2001] cikkben tallhat. Sajnos azonban a binris keress sebessge N = 32 lps (pldul egy 32 bites IP-cm) esetn nem elgti ki napjaink gerinchlzati tvlasztsi ignyeit. Fia pldul minden lpsnl egy-egy memriaolvasst s 40 ns-os memriahozzfrsi idt feltteleznk, msodpercenknt csak egymillinl kevesebb cm visszakeress valsthat meg. Ezrt tbb olyan mdszert is megvizsgltak, amellyel fel lehetne gyorstani a cmvisszakeresst. A tartalom szerint cmezhet memrik (content addressable memories, CAMs) lehetv teszik, hogy egy

tetszleges 32 bites IP-cm hez tartoz tovbbttbla-bejegyzst lnyegben konstans id alatt megtalljunk. A Cisco 8500-as sorozat tvlasztinak min den bemeneti portjt egy-egy 64 K-s CAM-mal lttk el. A visszakeress felgyorstsnak msik mdja az, hogy a nemrg hasznlt tblabejegyzseket egy gyorsttrban (cache) troljuk [Feldmeier 1988]. Ebben az esetben fontos krds a gyorsttr mrete. [Waldvogel 1997] olyan gyors adatstruktrt javasol, amely log(N) lpsben tallja mega tovbbttbla megfelel bejegyzst. [Brodnik 1997] lerja, hogyan tmrthet a tovbbttbla. [Gupta 1998] egy olyan hardveralap megoldst mutat be, amely arra a gyakori esetre van optimalizlva, amikor a clcmnek 24 vagy kevesebb rt kes bitje van. Az IP-cmek nagysebessg visszakeressi technikinak ttekintse s osz tlyozsa megtallhat [Ruiz-Sanchez 2001] cikkben. Ha mr eldlt, melyik a megfelel kimeneti port, a csomag a kapcsolgpbe tovbbthat. Elfordulhat azonban, hogy a csomagnak elbb vrakoznia kell, mivel a kapcsolgpet mr ms bemeneti portrl rkez csomagok hasznljk. A blokkolt csomagot sorba kell lltani a bemeneti porton, majd temezni kell a kapcsolgpen egy ksbbi idpontban trtn thaladst. A 4.3.4. alfejezetben rszletesen foglalkozunk majd a csomagok blokkolsval, sorba lltsval s temezsvel (mind a bemeneti, mind a kimeneti portokon).

4.3.2. A kapcsolgp
A kapcsolgp (switching fabric) az tvlaszt legfontosabb eleme. ltala valsul meg a csomagok kapcsolsa (azaz tovbbtsa) a bemeneti s a kimeneti portok kztt. A kapcsols tbb mdon is megvalsthat, ahogy ez a 4.8. brn is lthat:

Memriaalap kapcsols. A legegyszerbb kezdeti tvlasztk gyakran


hagyomnyos szmtgpek voltak, amelyeknl a bemeneti s kimeneti portok kztti kapcsolst kzvetlenl a CPU (tvlaszt processzor) hajtotta vgre. A bemeneti s kimeneti portok egy hagyomnyos opercis rendszer hagyomnyos I/O-eszkzeiknt viselkedtek. A bemeneti port elszr egy megszaktssal jelezte a csomag megrkezst, majd a CPU bemsolta a csomagot a bemeneti port pufferbl a sajt memrijba. Az tvlaszt processzor kiolvasta a fejrszbl a clcmet, visszakereste a megfelel kimeneti portot a tovbbttblbl, s bemsolta a csomagot a kimeneti port pufferbe, jegyezzk meg, hogy ha a memria svszlessge msodpercenknt B csomag berst vagy kiolvasst teszi lehetv, akkor a tovbbtsi teresztkpessg (a csomagok bemeneti s kimeneti portok kztti tvitelnek sszsebessge) sszessgben Bl2-nl csak kisebb lehet. Szmos korszer tvlaszt is alkalmazza a memriaalap kapcsolst; ezek abban klnbznek a kezdeti tvlaszttl, hogy a bemeneti vonalkrtykon tallhat processzorok keresik vissza a clcmeket s msoljk a memriba a berkez csomagokat. A memriaalap kapcsolst alkalmaz tvlasztk bizonyos tekintetben nagyon hasonltanak a kzs memrival rendelkez multiprocesszoros rendszerekhez; a vonalkrtyn lv processzorok a megfelel kimeneti port memrijba msoljk a csomagokat. Kzs memris megoldst hasznlnak pldul a Cisco Catalyst 8500-as sorozat kapcsoliban

[Cisco 8500 2007]. A memriaalap kapcsols tanulmnyozst meg knnyt absztrakt modell, valamint a mdszer ms kapcsolsi technikkkal val ssze hasonltsa megtallhat az [Iyer 2002] forrsban. Snalap kapcsols. Ennl a techniknl a bemeneti portok egy kzs snen keresztl kzvetlenl (az tvlaszt processzor bevonsa nlkl) viszik t a csomagokat a kimeneti portra (vegyk szre, hogy a csomagoknak - a memriba, illetve a memribl

Memria-alap

Keresztkapcsol-alap A

San
B

C U

d]
2

[m]-* M f H D

QiD

1
Sn-alap

OS
B

[ H D c

[il I I
igp

II

a
[

Z rzr

[D

sna

Jells: C3 LZJ HDID Bemeneti port Ojj!L L_U Q Kimeneii doh

4.8. bra. Hrom kapcsolsi technika kivezet tjuk sorn - a memriaalap kapcsolsnl is t kell haladniuk a rendszersnen). Mivel a sn kzs, egyszerre csak egy csomag haladhat t rajta annak ellenre, hogy az tvlaszt processzornak ebben nincs kzvetlen szerepe. Azokat a csomagokat, amelyek olyan pillanatban rkeznek, amikor a sn foglalt, a bemeneti porton pufferei ik y amg t nem haladhatnak a kapcsolgpen. Mivel a snen minden csomagnak t kell haladnia, az

tvlaszt kapcsolsi svszlessgt a sin korltozza. Tekintettel arra, hogy a snek mai mszaki megoldsai mr 1 Gbit/s-os sebessget is lehetv tesznek, a snalap kapcsols is gyakran ki tudja elgteni az ignyeket a hozzfrsi s vllalati hlzatokban (pldul egy helyi hlzatban) zemel tvlasztknl. Napjaink tbb tvlaszt-termke is alkalmazza a snalap kapcsolst, tbbek kztt a Cisco 5600 [Cisco Switches 20071, amely a csomagok kapcsolst egy 32 Gbit/s-os backplane (htlap) snen keresztl hajtja vgre. sszekthlzat-alap kapcsols. Az egyetlen kzs sn svszlessgkorltai elkerlhetk az olyan fejlettebb sszekt hlzatok hasznlatval, amelyeket mr korbban is alkalmaztak processzorok sszektsre tbbprocesszoros szmtgp-architektrkban. A keresztkapcsol (crossbar) egy 2 n snbl ll sszekt hlzat, amelyben a 2 n sn n bemeneti portot kapcsol ssze n kimeneti porttal a 4.8. brn lthat mdon. A bemeneti portra berkez csomag mindaddig a porthoz kapcsold vzszintes snen halad vgig, amg az nem keresztezi a kvnt kimeneti porthoz vezet fggleges snt. Ha ez utbbi sn szabad, a csomag akadlytalanul haladhat t rajta

4.3. Ml

VAN AZ TVLASZTK BELSEJBEN?

345

a kimeneti porthoz. la a fggleges snt ppen egy msik bemeneti portrl rkez s ugyanafel a kimeneti port fel halad csomag foglalja el, a csomag blokkoldik s a bemeneti port vrakozsi sorba kerl. Javasoltk Delta- s Omega-tpus kapcsolgpek alkalmazst a bemeneti s kimeneti portok sszekt hlzataknt. [Tobagi 1900] cikkben ttekint szmos kapcsolarchitektrt. A Cisco 12000 termkcsaldba tartoz kapcsolk [Cisco 12000 2007] olyan sszekt hlzatot hasznlnak, amely 60 Gbit/s-os tvitelt tesz lehetv a kapcsolgpen t. Az sszekt hlzatok tervezsnek egyik, [Keshav 1998] ltal javasolt irnyzata az, hogy az eredenden vltoz hosszsg IP-csomagokat lland hosz- szsg cellkba trdelik, majd ezeket felcmkzve tovbbtjk az sszekt hl zaton keresztl a megfelel kimeneti porthoz, ahol megtrtnik eredeti alakjukba val visszaalaktsuk. Az lland cellahossz s a bels cmkzs lnyegesen leegyszersti s felgyorstja a csomagok sszekthlzat-alap kapcsolst.

4.3.3. Kimeneti portok


A kimeneti porton trtn adatfeldolgozs lpseit a 4.9. bra mutatja be. A port kiveszi a memrijbl az ott elhelyezett csomagokat s kikldi azokat a kimen interfszen. Az adatkapcsolati rtegbeli protokoll feldolgozsa s a vonalvgzdtets az a kld-oldali adatkapcsolati s fizikai rtegbeli funkci, amely egyttmkdik a kimeneti interfszhez tartoz fizikai sszekttets msik vgn tallhat bemeneti porttal, ahogyan azt a 4.3.1. alfejezetben lttuk. A sorba lltsi s pufferkezelsi funkcikra akkor van szksg, ha a kapcsolgp a kimeneti interfszen megvalsthat sebessgnl nagyobb sebessggel szl ltja a csomagokat a kimeneti portra; a kvetkez fejezetben foglalkozunk majd a csomagok kimeneti porton trtn sorba lltsval.

^apcsolgp

4.9. bra. Adatfeldolgozs a kimeneti porton

4.3.4. Sorba lltsi technikk


A bemeneti s kimeneti portok funkcii s a 4.8. brn bemutatott elrendezsek ismeretben nem meglep, hogy mind a bemeneti, mind a kimeneti portokon kpzdhetnek csomagsorok. Azrt kell rszletesebben foglalkozni ezekkel a sorokkal, mert ha a sorok elegenden hosszv vlnak, megtelik az tvlaszt puffere, s ez csomagvesztshez (pac- ket loss) vezet. Mr korbban volt sz arrl, hogy a csomagok vagy a hlzatban vesznek el, vagy egy tvlasztn kerlnek eldobsra. Ezt most kiegsztjk azzal, hogy tipikusan ppen akkor knytelen egy tvlaszt egy csomagot eldobni, ha megtelt az a puffer, amely ben el kellene helyeznie. Az, hogy ez a bemeneti vagy a kimeneti portokon lv sorokban

346

4. A HLZATI RTEG

trtnik, a forgalmi terhelstl, a kapcsolgp viszonylagos sebessgtl s a vonali sebessgtl fgg. Errl lesz sz az albbiakban. Ttelezzk fel, hogy a bemeneti s a kimeneti vonali sebessgek megegyeznek, tovbb, hogy bemeneti s kimeneti portunk van. Vezessk be a kapcsolgp sebessgnek (switching fabric speed) fogalmt: legyen ez az a sebessg, amellyel a kapcsolgp csomagokat tud tovbbtani a bemeneti portokrl a kimeneti portokra. A bemeneti portokon nem alakulhat ki sor, ha a kapcsolgp sebessge legalbb -szerese a bemeneti vonali sebessgnek. Ekkor ugyanis a kapcsolnak mg abban a legrosszabb esetben - amikor mind az bemeneti portra egyszerre rkezik csomag - sem lesz tbb idre szksge ahhoz, hogy ezt az csomagot a bemeneti portokrl a kimeneti portokra tovbbtsa, mint amennyi id alatt ez az csomag megrkezik a bemeneti portokra. De mi a helyzet a kimeneti portokon? Tovbbra is ttelezzk fel, hogy a kapcsolgp sebessge legalbb -szerese a vonali sebessgeknek. A legrosszabb eset az, amikor mind az bemeneti portra berkez csomagot ugyanarra a kimeneti portra kell kldeni. Ilyenkor abban az idintervallumban, amely egyetlen csomag fogadshoz (illetve kldshez) szksges, csomag rkezik erre a kimeneti portra. Mivel a kimeneti port (a csomag tviteli idejnek megfelel) idegy sgenknt csupn egyetlen csomagot tud kikldeni, az berkez csomagnak sorba kell llnia (vrakoznia kell) a kimen interfszen trtn kiklds eltt. Elfordulhat, hogy ezt kveten jabb csomag rkezik be abban az idintervallumban, amely a mr korbban sorba lltott csomag kzl csupn egyetlen egynek a kikldsre elg, s ez a folyamat mg sokszor megismtldhet. Vgl a sorba lltott csomagok szma olyan nagyra nhet, hogy a kimeneti port puffere mr nem tudja az sszes csomagot befogadni, s ilyenkor kerl sor a csomagok eldobsra. A 4.10. bra szemllteti a kimeneti porton trtn sorba lltst. A / idpontban mindegyik bemeneti portra olyan csomag rkezik, amelyet a legfels kimeneti portra kell tovbbtani. Ha azonos vonali sebessgeket s az ezeket hromszorosan meghalad kapcso- lsebessgct feltteleznk, akkor a berkezst kvet egy idegysggel (azaz egy csomag fogadshoz illetve kikldshez szksges idvel) ksbb mindhrom t idpontban berkezett csomag elkerlt a kikld porthoz, s ott sorban ll kikldsre vrva. Az ezt kvet idegysgben a kimeneti port az egyik sorban ll csomagot kikldi majd. A 4.10. brn lthat pldban kl j csomag rkezett a kapcsol bemen interfszei re, amelyek kzl az egyiket a legfels kimeneti portra kell majd tovbbtania. Abbl, hogy az tvlaszt pufferei egyenltik ki a forgalmi terhels ingadozsait, logikusan kvetkezik a krds, hogy mekkora pufferre van szksg. A puffermretezsnl sokig azt az klszablyt hasznltk, hogy a pufer mrete () legyen az tlagos krbejrsi id (round-trip time, RTT, mondjuk 250 ms) s az adatkapcsolat sebessgnek (C) szorzata [RFC 3439]. Ez a szably viszonylag kisszm TCP-folyam sorbanllsi dinamikjnak elemzsre plt [Villamizar 1994]. Ez azt jelenten, hogy egy RTT = 250 ms-os, 10 Gbit/s-os adatkapcsolat esetn egy B = RTT x C = 2,5 Gb/s-os pufferre lenne szksg. jabb elmleti s ksrleti kutatsi eredmnyek [Appenzeller 2004] azonban arra utalnak, hogy ha nagyszm TCP-folyam halad t az adatkapcsolaton, akkor a sziiksgespuffermret az N folyamszm nvekedsvel jelentsen cskkenhet: B = RTT X C / V/V . Klnsen nagy gerinchlzati tvlasztk esetben, amelyeken tbbnyire igen nagyszm folyam halad t (lsd pldul [Fraleigh 2003]), a korbban

4.3. Ml

VAN AZ TVLASZTK BELSEJBEN?

347

szoksosnl lnyegesen kisebb puffer is elegend lehet. [Appenzeller 2004] s [VVischik 2005] igen olvasmnyosan r a puffermretezs problmjrl, rintve elmleti, implementcis s zemeltetsi krdseket is.

348

Torlds a kimeneti porton r idpontban

4. A HLZATI RTEG


Egy csomagfogadsi, illetve -kldsi idvel ksbb

4.10. bra. Sorbon lls a kimeneti porton A kimeneti portnl jelentkez sorban lls miatt szksg van egy csomagtemezre (packet scheduler), amely kivlasztja a sorban ll csomagok

4.3 Ml azt VAN az A/ TVLASZTK BELSHJHBtN? 349 kzl egyet, amely legkzelebb kikldsre kerl. A vlaszts trtnhet olyan egyszer eljrssal, mint pldul az rkezsi sorrend szerinti temezs (firslcome-first-served, FCFS)), vagy kifinomultabb mdon, mint pldul a slyozott mltnyos sorba llts (weighted fair queuing, WFQ), amely mltnyosan osztja el a kimen adatkapcsolatot azok kztt a vgponttl vgpontig terjed hlzati sszekttetsek kztt, amelyekhez tartoz csomag ppen a sorban v rakozik. A csomagtemezs dnt szerepet jtszik a szavatolt minsg szolgltatsok (quality-of-service guarantees, QoS) nyjtsban. A tmt fontossgra val tekintettel a 7. fejezetben rszletesen trgyaljuk. A kimeneti porton sorban ll csomagok temezsvel kapcsolatos eljrsokat tbbek kztt a [Cisco Queue 2007] forrs mutatja be. A csomagok kzl akkor is vlasztani kell, ha egy berkez csomag mr nem fr el a puFerben. Ilyenkor arrl kell dnteni, hogy a rendszer a legutolsnak berkezett csomagot dobja el, vagy a mr sorba lltott csomagok kzl dobjon el egyet vagy akr tbbet is, hogy az jonnan berkezettnek helyet csinljon. Elfordulhat, hogy elnysebb a csomagot a puffer megtelse eltt eldobni (vagy a fejrszt megjellni), mivel gy jelezhet lehet a torlds a kld szmra. Szmos javaslat s elemzs ltott napvilgot a csomageldobssal s -megjellssel kapcsolatos eljrsokrl, amelyek az aktv sorkezels (active queue ma- nagement, AQM) gyjtnven vltak ismertt [Labrador 1999, Hollot 2002]. Az egyik legelterjedtebb s legtbbet tanulmnyozott AQM-algoritmus a vletlenszer korai szlelsi (Random Early Detection, RED) algoritmus. A RED-del trtn sorkezelsnl a kimeneti porton lv sor hossznak slyozott tlagrtke jtszik fontos szerepet. Ha az tlagos sor-

hossz egy csomag berkezsekor a kmin kszbrtket nem ri el, a csomag bekerl a sorba. Ha azonban a csomag berkezsekor a sor mr betelt, vagy a sor hossznak tlagrtke meghaladja a kindX kszbrtket, akkor a rendszer megjelli vagy eldobja a csomagot. Abban az esetben, ha a csomag berkeztekor az tlagos sorhossz rtke a [kmiM k[n ] intervallumba esik, a csomag eldobsnak vagy megjellsnek a valsznsge az tlagos sorhossz s a kt kszbrtk valamilyen fggvnye. Tbb valsznsgi megjellsi/eldobsi fggvnyt javasoltak mr, s a RED klnfle verziinak analitikus modellezsvel, szimulcijval s implementlsval is tallkozhatunk. [Christiansen 2001) s [Floyd 2007] munkjban a tma j ttekintse s tbb hasznos hivatkozs tallhat. Ha a kapcsolgp sebessge nem elegend ahhoz, hogy az sszes berkez csomagot ksleltets nlkl tovbbtsa, akkor a bemeneti porton is sor kerlhet a csomagok sorba lltsra, hiszen ott kell vrakozniuk addig, mg a kapcsolgp a kimeneti porthoz tudja ket tovbbtani. Ennek a sorban llsnak fontos kvetkezmnyei vannak, amelyek jobb megrtshez tekintsk a kvetkez pldt. I.egyen a kapcsolgp crossbar-tpus, s tegyk fel, hogy (1) az sszes kapcsolat sebessge megegyezik, (2) a csomag tvitele brmely be meneti portrl egy adott kimeneti portra ugyanannyi idt vesz ignybe, mint egy csomag fogadsa valamelyik bemeneti porton, valamint hogy (3) a csomagok thelyezse az adott bemeneti sorbl a kvnt kimeneti sorba az ECFS-temezs szerint trtnik. Tbb csomag
Versenyhelyzet f idpontban a kimeneti porton - csak egy stt sznnel jellt csomag tovbbthat

A vilgos sznnel jellt csomag HOL-blokkolst szenved el - 1

---

* 1------>

Kapcsolgp

---

J--------
%

- Jells:
^ a fels kimeneti poara kell Tovbbtani

*1
: a kzps kimeneti portra kell Tovbbtani az als kimene oortra kell tovbbtani

vihet t egyidejleg, ha ms-ms kimeneti portra kell ket tovbbtani. Ha azonban a kt bemeneti porton kialakult kt sor egy-egy els tagjt ugyanahhoz a kimeneti porthoz kell eljuttatni, akkor valamelyik csomag tvitele blokkoldik, s a csomagnak tovbbra is vrakoznia kell a bemeneti sorban, hiszen a kapcsolgp egyszerre csak egy csomagot tud az adott kimeneti porthoz tovbbtani. A 4.11. brn a bemeneti sorok az bra bal oldaln, a kimeneti portok az bra jobb oldaln lthatk. Az brn lthat pldban a hrom bemeneti sor kzl kett (a legfels s a legals) elejn is olyan (stt sznnel jellt) csomag tallhat, amelyet a legfels kimeneti port fel kellene tovbbtani. Ttelezzk fel, hogy a kapcsol a bemeneti sorok elejn tallhat csomagok kzl a legfelst vlasztja ki tovbbtsra. Ebben az esetben a legals sorban lv stt sznnel jellt csomagnak vrakoznia kell. De nem csak ennek a csomag nak kell vrakoznia, hanem a mgtte ll, vilgosabb sznnel jellt csomagnak is, annak ellenre, hogy a kzps kimeneti p>orton, ahov ezt a csomagot kell eljuttatni, nem alakult ki torlds. Ezt a jelensget, amelynl a bemeneti porton lv sorbanll csomagnak annak ellenre vrakoznia kell, hogy szabad az a kimeneti port, ahov t kellene vinni, mert a sor elejn ll msik csomag blokkolja, soreleji blokkolsnak (head-of-the-line blocking, HOL blocking) nevezzk. [Karol 1987] megmutatta, hogy a HOL-blokkols miatt a bemeneti sor hossza minden vges korlton tln (kevsb formlisan: jelents csomagvesztsre kerl sor), radsul bizonyos felttelek teljeslse esetn mr akkor is, ha a csomagok rkezsi sebessge elri a bemeneti adatkapcsolatok kapacitsnak 58 sz zalkt. [McKeown 1997b] munkjban tbb megoldst is tallunk a HOL-blokkolssal kapcsolatos problmkra.

4.4. Az Internet Protocoi (IP): tovbbts s cmzs az interneten


A hlzati rtegbeli tovbbts s cmzs eddigi trgyalsa sorn nem foglalkoztunk semmilyen konkrt szmtgp-hlzattal. Ebben a fejezetben annak jrunk utna, hogy mikppen trtnik a tovbbts s cmzs az interneten. Ltni fogjuk, hogy az internetes cmzs s tovbbts az Internet Protocoi (IP) lnyeges eleme. Napjainkban az IP kt verzijt hasznljk. Elsknt az IP szles krben

elterjedt 4-es verzijval ismerkednk meg, amelyet gyakran csak IPv4-nck neveznek [RFC 791]. A fejezet vgn tanulmnyozni fogjuk az IP 6-os verzijt, az IPv6-ot [RFC' 2460, RFC.' 3513], amelyet az IPv4 utdjnak sznnak. Az IP rejtelmeinek felfedezse eltt azonban tekintsk t kzelebbrl az internet hlzati rtegnek alkotelemeit. A 4.12. brn lthat, hogy az internet hlzati rtege hrom f alkotelembl ll, amelyek kzl az els, jelen fejezet tmja, az IP mint protokoll; a msodik az tvlaszt protokoll, amely a csomagok clbajuttatst segt tovbbttblk belltsval hatrozza meg a datagram tjt a forrstl a clig. Az internet tvlaszt pro tokolljaira a 4.6. alfejezetben trnk ki. A hlzati rteg harmadik fontos eleme lehetv teszi a datagramok hibinak jelzst s a vlaszadst a hlzati rtegre vonatkoz krd sekre. Az internet hlzati rtegbeli hibajelzsi s bizonyos forgalmi adatokat tovbbt protokolljval (Internet Control Message Protocoi, ICMP) a 4.4.3. alfejezetben foglalkozunk rszletesebben.

tvlaszt protokollok t kivlasztsa RIP, OSPF, BGP v

IP protokoll cmzsi megllapodsok datagramformium csomagkezelsi megllapodsok Hlzati rteg

Tovbbt ICMP protokoll tvlasztk "jelzsei

Adatkapcsolati rteg Fizikai rteg

4.12. bra. Pillants az internet hlzati rtegbe

4.4.1. A datagramformtum
A hlzati rtegbeli csomagot datagramnak nevezzk, ahogy erre mr korbban is utaltunk. Az IP tanulmnyozst az IPv4-datagram szintaxisnak s szemantikjnak ttekintsvel kezdjk, amirl sok olvas bizonyra azt gondolja, hogy ennl rdektelenebb tma taln nincs is. Da ha gy is van, a datagram olyan kzponti szerepet tlt be az internetben, hogy alapos tanulmnyozsa, megrtse s helyes hasznlata elengedhetetlen, akr dikknt, akr vgzett szakemberknt foglalkozik valaki hlzatokkal. A 4.13. bra szemllteti az IPv4datagramformtum fbb mezit:

Verziszm. Ez a 4 bit megadja, hogy a datagramformtum az IP mely

verzijnak felel meg. Az tvlaszt a verziszm alapjn rtelmezi az IPdatagram tbbi rszt. Az IP klnbz verzii eltr datagramformtumokat hasznlnak. A 4.13. bra a napjainkban elterjedt IPv4 ltal hasznlt datagramformtumot mutatja be; az IPv6-tal a fejezet vgn foglalkozunk majd. Fejrszhossz. Ez a 4 bit megadja az adatok kezdetnek helyt az IPdatagramban. Erre azrt van szksg, mert az IPv4-datagram fejrsze vltoz szm opcii tartalmazhat s gy nem lland a hossza. Mivel az IPdatagramok tbbsge nem tartalmaz opcikat, a fejrsz hossza ltalban 20

bjt.

Szolgltatstpus. A szolgltats tpusra (type of service, TOS) vonatkoz


bitek az IPv4-datagramok fejrszben tallhatk, mivel gy vlik lehetv a klnfle szolgltatstpust (pldul kis ksleltetst, nagy teresztkpessget, nagyfok megbzhatsgot) ignyl IP-datagramok megklnbztetse, ami gyakran igen hasznos lehet. Gondoljunk csak arra, milyen elnykkel jr, ha meg tudjuk klnbztetni a vals

32 bits Verzi FejrszSzolgltatstpus

I
Datagramhossz (bjtban)

16 bites azonost letben marads Fels rtegbeli ideje protokoll

J Z(

. * ? bitek
A

13 bites darabolsi eltols ,., ... A fejrsz ellenrz sszege

32 bites forrs IP-cm 32 bites c! IP-cm Opcik (ha vannak) Adatok

4.13. bra. IPv4-datogromformtum


idej alkalmazsoknl (mint pldul az IP-telefnia) hasznlt datagramokat a nem vals idej forgalomban (pldul az FTP-nl) hasznltaktl! Az ezekhez tartoz konkrt szolgltatsszint meghatrozsa az tvlaszt zemeltetjnek dntsn mlik. A megklnbztetett szolgltats (differentiated service) tmakrvel a 7. fejezetben foglalkozunk rszletesen. Datagramhossz. A datagramhossz az IP-datagram teljes hossznak (fejrsz + adatok) bjtban megadott rtke. Mivel ez a mez 16 bites, egy IP-datagram mrete elmletileg nem haladhatja meg a 65535 bjtot. A gyakorlatban azonban ritkn tallkozunk 1500 bjtnl hosszabb datagrammal. Azonost, jelzbitek, darabolsi (fragmentcis) eltols. Ez a hrom mez az n. IP-darabolshoz kapcsoldik, amellyel rvidesen rszletesen is foglalkozunk majd. rdekessg, hogy az IP j verzija, az IPv6 nem engedi meg, hogy az tvlasztk daraboljk a csomagokat. letben marads ideje. Az letben marads ideje (time-to-live, TTL) mezben szerepl rtk szavatolja, hogy a datagramok nem vndorolnak idtlen idkig (pldul egy hossz let tvlasztsi hurok miatt) a hlzatban. A mez rtke minden tvlasztn val thalads sorn eggyel cskken, s ha elri a 0-t, az tvlasztnak a csomagot el kell dobnia. Protokoll. Az ebben a mezben szerepl prolokollazonost csak az IPdatagram clba rst kveten jut szerephez. Azt adja meg, hogy az adott IPdatagram adatokat tartalmaz rszt melyik szlltsi rtegbeli protokollnak kell tovbbadni (pldul ha az rteke 6, akkor a TCP-nek, ha 17, akkor az UDPnek). Az sszes lehetsges rtk jegyzke az [RFC 1700; RFC 3232] forrsokban tallhat meg. Vegyk szre, hogy az IP-datagram protokollazonostja hasonl szerepet tlt be, mint a szlltsi rtegben hasznlt portszm. A protokollazonost a hlzati s a szlltsi rteget, a portszm pedig a szlltsi s az alkalmazsi rteget sszekt kapocs. Az 5. fejezetben meg fogjuk ltni, hogy az adatkapcsolati rtegbeli keretben szintn van egy olyan mez, amely kapocsknt szolgl az adatkapcsolati s a hlzati rteg kztt. A fejrsz ellenrz sszege. A fejrsz ellenrz sszege segt az tvlasztnak abban, hogy szlelje, ha a fogadott IP-datagram bithibt tartalmaz. Az ellenrz sszeg kiszmtsa gy trtnik, hogy a fejrsz minden kt bjtjt egy szmnak tekintjk, s ezeket a szmokat egyes komplemens aritmetikval sszeadjuk. A 3.3. alfejezetben mr emltettk, hogy a fejrsz ellenrz sszegt trol mezbe ennek az sszegnek az egyes komplemenst rjuk,

amit internetes ellenrz sszegnek is hvnak. Az tvlaszt minden berkez IP-datagram fejrsznek ellenrz sszegt kiszmolja, s meggyzdik arrl, hogy a kiszmtott rtk megegyezik-e az ebben a mezben tall hat rtkkel. Amennyiben nem egyezik meg, a csomag hibs; ezeket a csomagokat az tvlasztk ltalban eldobjk. Pontos, hogy az ellenrz sszeget minden t vlaszt knytelen jra kiszmtani s berni a fejrszbe, mivel a TTL-mez tartalma megvltozik, s az opci-mez is vltozhat. Az [RFC 1071]-ben megtallhatjuk nhny, az internetes ellenrz sszeget kiszmt gyors algoritmus lerst. Az olvasban bizonyra felmerl a krds, mirt van szksg hibajelzsre a szlltsi s a hlzati rtegben kln-kln is. A vlasz az, hogy tbb okbl is: egyrszt vegyk szre, hogy az IP-rtegben csak az IPfejlc ellenrz sszegt szmtjuk ki, mg a TCP/UDP ellenrz sszege a teljes TCP/UDP-szegmenst vdi. Msrszt a TCP/U DP-t s az lP-t elvileg egymstl fggetlenl is hasznlhatjuk: a TCP elvileg mkdhet ms protokoll (pldul ATM) felett is, s az IP is szllthat olyan datagramokat, ame lyekben nem TCP/U DP-szegmensek utaznak. Forrs s cl IP-cm. A forrs a datagram ellltsakor sajt IP-cmt a forrs IP-cm mezbe, a cmzett cmt pedig a cl IP-cm mezbe rja be. A forrshoszt a clcmet gyakran a 2. fejezetben lert mdon, a DNS-bl visszakeresve hatrozza meg. Az IP-cmzs rszletes ismertetsre a 4.4.2. alfejezetben trnk ki. Opcik. Az opcimezk teszik lehetv az IP-fejrsz bvtst. A fejlesztk szndka szerint ritkn lett volna szksg az opcimezk hasznlatra, ezrt dntttek gy, hogy nem helyezik el ezeket minden datagram fejrszben. Az opcik ltezse azonban mr nmagban nehzsgeket okoz pldul azzal, hogy - mivel a datagram fejrsze vltoz hosszsg lehet - nem hatrozhat meg elzetesen, hogy hol kezddik az adatmez. Tovbbi bonyodalmat jelent, hogy mg egyes datagramok ignylik az opcik feldolgozst, msok meg nem, az IP-datagramok feldolgozsnak ideje igen eltr lehet. Ezek a tnyezk elssorban a nagyteljestmny tvlasztkban s hosztokban tr tn feldolgozsnl vlnak kritikuss. Ezrt, de ms okokbl is, nincsenek opcimezk az IPv fejrszben (lsd 4.4.4. alfejezet). Adatok (hasznos adatok, felhasznli adatok). Vgl elrkeztnk a datagramnak lt- jogosultsgot ad, legfontosabb mezhz. Az esetek tbbsgben az IP-datagram adatmezje a clba juttatand szlltsi rtegbeli szegmenst (TCP vagy UDP) tartalmazza, de szllthat msfajta adatokat, pldul ICMP-zeneteket is (lsd 4.4.3. alfejezet). Jegyezzk meg, hogy az IP-datagramok fejrsznek teljes hossza 20 bjt (opcik nlkl). Ha a datagramok TCP-szegmenst is tartalmaznak, akkor minden (nem darabolt) datagram az alkalmazsi rtegbeli zeneten kvl egy 40 bjtbl ll fejrszt (20 bjtos IP-fej- rsz + 20 bjtos TCP-fejrsz) is hordoz.

Az IP-datagramok darabolsa

Az 5. fejezetben ltni fogjuk, hogy nem mindegyik adatkapcsolati rtegbeli protokoll tud brmilyen mret csomagot szlltani: nagy klnbsgek vannak az egyes protokollok kztt abbl a szempontbl, hogy mekkora keretek szlltst teszik lehetv. Mg pldul az Kthernet-keretek akr 1500 bjt adatot is tartalmazhatnak, addig a nhny nagy kiterjeds kapcsolatban alkalmazott keretek legfeljebb 576 bjtbl llhatnak. Azt a legnagyobb adatmennyisget, amelyet az adatkapcsolati rtegbeli keret szlltani kpes, tvihet leg hosszabb

adategysgnek (maximum transmission unit, MTU) nevezzk. Mivel minden IPdatagram az adatkapcsolati rtegbeli keretbe becsomagolva kerl szlltsra az egyik tvlaszttl a msikig, az adatkapcsolati rtegbeli protokoll MTU-ja jelentsen korltozza az IP-datagramok hosszt; nem ez a legnagyobb problma azonban, hanem az, hogy a kld s a cl kztti kapcsolatok klnbz, egymstl eltr MTU-val rendelkez adat- kapcsolati rtegbeli protokollokat is hasznlhatnak. A tovbbtsi folyamai jobb megrtse cljbl kpzeljk el, hogy mi vagyunk annak az tvlasztnak a helyben, amely tbb, egymstl eltr adatkapcsolati protokollal fut s klnbz MTU-val rendelkez adatkapcsolatot kt ssze. Az egyik adatkapcsolattl kapunk egy 1 P-datagramot, a tovbbtlbibl pedig kiderl, hogy egy olyan adatkapcsolatra kell kikldennk, amelynek az MTU-ja kisebb, mint az IP-datagram hossza. Mit tehetnk ilyenkor? Hogy prselhetjk be ezt a tlmretezett 1 P-datagramot az adatkapcsolati rtegbeli keret adatmezjbe? Ilyenkor az a megolds, hogy az IP-datagram adatait kt vagy tbb kisebb IP-dalagramba trdeljk (daraboljuk), amelyeket kln-kln, egy-egy adatkapcsolati rtegbeli keretbe csomagolva kldnk ki a kimen adatkapcsolaton. Ezeket a kisebb datagramokat daraboknak (tredkeknek) nevezzk. A tredkeket jbl ssze kell rakni mg azeltt, hogy a clnl lv szlltsi rteg megkapn ket; mind a TCP, mind az UDP ugyanis teljes s nem szttrdelt szegmenseket vr a hlzati rtegtl. Az IPv4 fejleszti attl tartottak, hogy ha a datagramokat az tvlasztknak kellene jbl sszerakniuk, az sszetettebb protokollokat ignyelne s cskkenten az tvlasztk teljestkpessgt. (Az tvlasztk helyben mi sem szeretnnk az egyb feladatainkon tl mg tredkek sszeraksval is veszdni.) Az IPv4 fejleszti - azt az elvet szem eltt tartva, hogy a hlzat belseje legyen egyszer - gy dntttek, hogy a datagramok jbli sszerakst az tvlasztk helyett a vgrendszerekre bzzk. A clhosztnak el kell dntenie, hogy az azonos forrstl kapott datagramok sorozatban vannak-e olyanok, amelyek egy-egy nagyobb datagram tredkei. Amennyiben vannak, azt is szre kell vennie, ha megjtt az utols tredk, s meg kell hatroznia, hogy a kapott tredkeket hogyan kell sszeilleszteni az eredeti datagramm. Az IPv4 fejleszti ppen azrt bvtettk a fejrszt az azonostt, a jelzbiteket s a darabolsi eltolst tartalmaz mezkkel, hogy a clhoszt ezeket a feladatokat el tudja ltni. A forrshoszt a datag- ramot azonost szmmal, valamint forrscm- s clcmblyeggel ltja el. A kvetkez datagram ltalban nagyobb azonost szmot kap, mint az elz. Az tvlaszt egy adott datagram darabolsakor keletkezett sszes tredket szintn elltja az eredeti datagram azonostszm-, forrscm- s clcmblyegvel. Ily mdon a clhoszt az ugyanattl a for- rshoszttl kapott datagramsorozatok megfelel blyegeibl meg tudja llaptani, hogy melyek egy adott nagyobb datagram tredkei. Mivel az IP egy nem megbzhat szolgltats, elfordulhat, hogy egy vagy akr tbb tredk soha sem rkezik meg a clhoszthoz, teht nem llapthat meg megbzhatan, hogy az utolsknt berkezett tredk az eredeti datagramnak is valban a sorban utols tredke-e. Ennek egyrtelm eldntsben se-

gt az, hogy a sorban utols tredk egyik jelzbitje 0, az sszes tbbi pedig 1. darabolsi mez segt a tredkek megfelel sorrendben trtn sszeraksban s annak megllaptsban, hogy vannak-e hinyz tredkek. A 4.14. bra az albbi konkrt pldn szemllteti a datagramok darabolst s jbli sszerakst: az tvlasztnak a berkez 4000 bjtos (20 bjtos IP-fejrsz + 3980 bjtos adatmez (hasznos adat) datagramot egy 1500 bjt MTU-val rendelkez adatkapcsolatra kell tovbbtania, amit gy tud megoldani, hogy az eredeti datagram 3980 adatbjtjt hrom klnll tredkre osztja el (amelyek egyben IP-datagramok is). Ttelezzk fel, hogy az eredeti datagram azonost szma 777. A hrom tredk jellemzit a 4.2. tbl zat tartalmazza. A tblzatban szerepl rtkekbl az is kitnik, hogy - az utols tredk kivtelvel - minden tredknek a 8 bjt egsz szm tbbszrsnek megfelel adath nyadot kell tartalmaznia az eredeti adatmezbl, s hogy az eltols rtkt 8 bjtos adat blokk-egysgekben kell megadni. A clhosztnl a datagram adatrsze csak azutn kerl a szlltsi rteghez, hogy az IP-rteg teljes mrtkben rekonstrulta az eredeti IP-datagramot. Az egy vagy tbb tredk hinya miatt csak rszben rekonstrult datagramokat a rendszer nem tovbbtja a szlltsi rtegnek, hanem eldobja. Az ezt megelz fejezetben azonban lttuk, hogy ez nem jelenti az adott datagram teljes elvesztst, ha a szlltsi rtegben TCP-t hasznlunk, mivel a TCP az adott datagram jbli elkldsre szltja majd fel a forrst.

Darabols: Bemenet: egy nagymret datagram (4000 bjt) Kimenet: 3 kisebb datagram

Kimenet: egy nagymret datagram (4000 bjt)

4.4. AzINTERNET Internet Protocol (IP): tovbbts f.s AZ cmzs az interneten 4.2. tblzat. IP-tredkek 361 4.4. Az PROTOCOI . (IP): TOVBBTS S CMZS INTERNETEN
Tredk Els tredk Bjtszm 1480 bjt az IP-datagram adatmezjben Azonost Azonost szm = 777 Eltols Eltols = 0 (azaz az adatok beszrsa a 0-ik bjtnl kezddjn) Eltols = 185 (azaz az adatok beszrsa az 1480-ik bjtnl kezddjn; vegyk szre, hogy Harmadik tredk 1020 adatbjt (= 3980 - 14801480) Azonost szm = 777 185x8 = 1480) Eltols = 370 (azaz az adatok beszrsa a 2960-ik bjtnl kezddjn; vegyk szre, hogy 370 X 8 = 2960) Jelzbit = 0 (azaz ez a sorban utols tredk) Jelzbit Jelzbit = 1 (azaz van mg ezt kvet tredk)

Msodik tredk

1480 adatbjt

Azonost szm = 777

Jelzbit = 1 (azaz van mg ezt kvet tredk)

Az IP-darabols teht fontos szerepet jtszik abban, hogy az adatkapcsolati rtegben hasznlt klnbz fizikai megvalstsok tjrhatv vljanak. Ennek azonban ra van. Egyfell bonyolultabb teszi az tvlasztk s a vgrendszerek mkdst, amelyeket fel kell kszteni a darabols s az jbli sszeraks elvgzsre, msfell felhasznlhat vgzetes DoS-tmadsok indtsra olyan mdon, hogy a tmad bizarr s nem vrt tredkek sorozatt kldi. Ennek klasszikus pldja a Jolt2 tmads, amelynl a tmad egy sor kis tredkbl ll folyamot kld a megclzott hosztnak, amelyek kzl egyiknek sem nulla az eltolsa. A hoszt sszeomolhat, mikzben megksrli a datagramokat a degencrlt csomagokbl rekonstrulni. Egy msik tmads egymst tfed IP-tredkek kldsn alapul, amelyeknl a megadott eltolsi rtkek nem teszik lehetv a tredkek sszeillesztst. Ez az tlapol tredkek esetnek kezelsre fel nem ksztett opercis rendszerek sszeomlshoz vezethet [Skoudis 2006). A fejezet vgn ltni fogjuk, hogy az IPv6 azzal, hogy teljes egszben megsznteti a darabolst, egyszerbb teszi az IP-csomagok feldolgozst s cskkenti az IP sebezhetsgt. Ennek a knyvnek a weboldaln (http://vvww.awl.com/kurose-ross ) elhelyeztnk egy tredkeket generl Java-appletet, amely a megadott adatok (berkez datagram mrete s azonostja, MTU) alapjn ellltja a kvnt tredkeket.

4.4.2. Az lPv4-cmzs
Sokan gy gondolhatjk, hogy az IPv4-cmzs teljesen egyszer s problmamentes mvelet. A knyv szerzi azonban azt remlik, hogy az olvast c fejezet vgre meggyzik arrl, hogy az internetes cmzs nemcsak, hogy flttbb egzotikus, kifinomult s rdekes, hanem emellett az internet egyik kzponti krdse is. Az IPv4-cmzs kivl trgyalsa megtall hat a [3Com Addressing 2007] forrsban s [Stewart 1999] knyvnek els fejezetben is. Az IP-cmzs trgyalsa eltt azonban pr szl kell szlnunk arrl, hogy

mikppen kapcsoldnak a hosztok s az tvlasztk a hlzathoz. A hosztokat a hlzattal ltalban csak egy adatkapcsolat kti ssze; a hoszt IP-implementcija 362 4. A HLZATI RTEG ezen keresztl tovbbtja a kldsre sznt datagramokat. A hoszt s a fizikai adatkapcsolat kztti hatrfelletet interfsznek (interface) nevezzk. Mi a helyzet az tvlasztkkal s ezek interfszeivel? Az tvlasztkat szksgszeren kt vagy tbb adatkapcsolat kti a hlzathoz, hiszen az a feladatuk, hogy az egyik adatkapcsolaton fogadott datagramot valamelyik msik adatkap csolaton tovbbtsk. Az tvlaszt s az egyes adatkapcsolatai kztti hatrfelletet szin tn interfsznek nevezzk. Az tvlasztk teht tbb interfsszel rendelkeznek. Az sszes tvlaszt-interfsznek s hosztnak rendelkeznie kell sajt IP-cmmel, hiszen mindegyik kpes datagramok kldsre s fogadsra. A fentiekbl kvetkezik, hogy az IP-cm technikailag elssorban valamely interfszhez ktdik, nem pedig ahhoz az tvlaszthoz vagy hoszt hoz, amelyben az interfsz tallhat. Minden IP-cm 32 bit (azaz 4 bjt) hossz, ami azt jelenti, hogy a lehetsges IPcmek szma 2 32 , azaz mintegy 4 millird. A cmek rsra a pontozott decimlis jellst (dot- ted-decimal notation) hasznljk, amelynl a cm minden egyes bjtjt tzes szmrendszerben rt szmmal, s a szmokat elvlaszt ponttal rjuk le. Pldaknt szerepeljen itt a 193.32.216.9-es IP-cm. A 193 a cm els 8 bitjnek, a 32 a msodik 8 bitjnek tzes szmrendszer megfeleltetse, s gy tovbb. A 193.32.216.9-es cm binris jellsben: 11000001 00100000 11011000 00001001 A globlis internet minden egyes interfsznek egyedi IP-cmmel kell rendelkeznie (kivtelt csak a NAT-ok mgtti interfszek kpeznek, amire a fejezet vgn trnk ki). A cmek megvlasztsa azonban nem tetszleges; az interfszek IP-cmeinek egy rszt az az alhlzat hatrozza meg, amelyhez kapcsoldnak (lsd pldul 4.15. bra).

A 4.15. brn lthat pldban egy (hrom interfsszcl rendelkez) tvlaszt kt ssze ht hosztot. Vegyk szre az egyes cmek kztti sszefggseket: az bra bal oldaln tallhat hrom hoszt s a velk sszekttetsben ll tvlasztinterfsz cme 223.1.1.xxx-ala- k, vagyis ezekben a cmekben az els 24 bit azonos. Ezen tlmenen a ngy interfszt olyan hlzat kti ssze, amelyben

nincsenek tvlasztk. (Ez lehetne pldul egy Ethernet LAN, amelyben az 4.4. Az
interfszeket egy Ethernet-eloszt vagy egy Ethernet-kapcsol kti sz- sze, lsd INTERNET PROTOCOI. (IP): TOVBBTS S CMZS AZ INTERNETEN 363 5. fejezet). Az IP-terminolgiban ez a hrom hosztinterfszt s egy tvlaszt-interfszt sszekt hlzat egy alhlzatot (subnet) kpez [RFC 950). (Az internettel foglalkoz irodalomban az alhlzat helyett az JP-hlzat vagy egyszeren a hlzat kifejezsek is hasznlatosak). Az IP cmzsi gyakorlata szerint a fenti pldban a szerepl alhlzatra a kvetkezkppen hivatkozhatunk: 223.1.1.0/24, ahol az alhlzati maszkknt (subnet mask) is ismert /24 jells arra utal, hogy a 32 bitbl az els 24 bit hatrozza meg az alhl zat cmt. A 223.1.1.0/24-es alhlzat ebben a pldban teht a 223.1.1.1, 223.1.1.2,223.1.1.3 cm hosztinterfszekbl s a 223.1.1.4 cm tvlaszt-interfszbl ll. A 223.1.1.0/24-es alhlzathoz esetleg kapcsold brmely tovbbi hoszt cmnek szintn 223.1.l.xxx alaknak kell lennie. A 4.15. brn a fent emltetten kvl kt tovbbi alhlzat, a 223.1.2.0/24-es s a 223.1.3.0/24-es is lthat. A fenti hrom IP-alhlzatot a 4.16. bra szemllteti. Az alhlzatok IP-s defincija nem szortkozik a tbb hosztot egy tvlasztinterfsszel sszekt Ethernet-szegmensekre. Ezt hivatott rzkeltetni a 4.17. bra: itt hrom olyan tvlaszt lthat, amelyeket ktpontos adatkapcsolatok kapcsolnak ssze. Az tvlasztk hrom-hrom interfsszel rendelkeznek, egy-egy interfsszel a ktpontos adatkapcsolatok szmra, eggyel pedig az adatszr adatkapcsolat szmra, amely az egyes tvlasztkat kzvetlenl kti ssze ktkt hoszttal. Ebben az esetben milyen alhlzatokrl beszlhe tnk? A 223.1.1.0/24, 223.1.2.0/24 s 223.1.3.0/24 alhlzatok hasonltanak a 4.15. brn lthatkra. Van azonban mg hrom tovbbi alhlzat is: az Rl s R2 tvlasztt sszekt interfszek ltal alkotott 223.1.9.0/24, az R2 s R3 tvlasztt sszekt interfszek ltal

alkotott 223.1.8.0/24, valamint az R s R3 tvlasztt sszekt interfszek ltal alkotott 223.1.7.0/24 alhlzat. Egymssal sszekttt tvlasztk s hosztok rendszerben ltalban az albbi lers szerint hatrozhatk meg az alhlzatok:

Az sszes interfszt a kosz tjrl, illetve tvlasztjrl levlasztva kozzunk ltre elszigetelt hlzatokbl ll szigeteket ezek vgpontjait lezr interfszekkel. Minden gy ltrehozott elszigetelt hlzatot alhlzatnak neveznk.

Ha a 4.17. brn bemutatott rendszeren a fentiek alapjn jrunk el, hat szigetet, illetve alhlzatot kapunk. 364 4. A HLZATI RTEG Eddigi ismereteink alapjn knnyen belthatjuk, hogy egy olyan intzmnyben, ahol tbb Ethernet-szegmens s ktpontos adatkapcsolat fordul el (pldul egy vllalaton bell vagy egy kutathelyen), sok olyan alhlzat is lesz, amelyekben az adott alhlzathoz tartoz eszkzk azonos alhlzati cmmel rendelkeznek majd. Elvben az egyes alhlzatok cme lehetne egymstl teljesen eltr is. A gyakorlatban azonban sok bennk a kzs. Ennek okt jobban megrtjk, ha megnzzk, hogy a globlis interneten mikppen valsul meg a cmzs. Az internetes cmkiosztsi stratgia az osztly nlkli krzetek kztti forgalomirnyts (Classless Interdomain Routing, CIDR) nven vlt ismertt [RFC 4632). A CIDR ltalnostja az alhlzati cmzst. Kt rszre bontja a 32 bites IP-cmet, s szintn az a.b.c.d/x pontozott decimlis jellst alkalmazza, ahol A; jelli a cm els rszben lv bitek szmt.

82
223.1.1.1 223.1.1.4

223.1.2.1

223.1.2.2

223.1.3.1

223.1.3.2

4.17. bra. Hat alhlzatot sszekt hrom tvlaszt Az a.b.c.d/x alakban felrt cmek fels x bitje alkotja az IP-cm hlzati rszt; ezeket gyakran nevezik a cm prefixnek (vagy hlzatiprefixnek). Az intzmnyek szmra ltalban egy egybefgg cmblokkot, azaz egy kzs prefixszel rendelkez cmtartomnyt osztanak ki (lsd az Elvek a gyakorlatban cm rszt), vagyis az adott intzmnyen belli eszkzk IP-cme kzs prefixszel rendelkezik. Az internet BGP tvlaszt protokolljnak trgyalsakor (4.6. alfejezet) ltni fogjuk, hogy az adott intzmnyen kvli tvlasztk kizrlag az els a* prefix bitet veszik figyelembe. Vagyis, ha egy kls tvlaszt olyan datagramot tovbbt, amelynek intzmnyen belli a clcme, akkor elg, ha a cm els x bitjvel foglalkozik. Ez jelentsen cskkenti az rintett tvlasztk tovbbttblinak mrett, hiszen egyetlen a.b.c.d/x alak cm is elegend ahhoz, hogy a csomagok az intzmnyen belli brmelyik clhoz eljussanak. A cm 32 bitibl x bit felhasznlsa utn fennmarad 32-x bitjnek segtsgvel klnbztethetk meg az intzmnyen bell az egyes eszkzk, amelyek, mint mondottuk, azonos hlzati prefixszel rendelkeznek. Ezeket a biteket kell az intzmnyen belli tvlasztknak figyelembe vennik a csomagok tovbbtsnl. Esetenknt elfordul, hogy az als bitek ltal kifesztett cmtr a fentebb trgyaltakhoz hasonlan tovbbi alhlzatokra tagoldik. Ttelezzk fel pldul, hogy a C1DR alapjn kiosztott a.b.c.d/21 cm els 21 bitje specifiklja az intzmny hlzati prefixt, amellyel az intzmnyen belli sszes eszkz IP-cme is rendelkezik. Ekkor a fennmarad 11 bit azonostja az intzmny konkrt hosztjait. Az intzmny bels felptse indokoltt teheti, hogy a 11 als bitet az intzmnyen belli tovbbi hlzati hierarchia kialaktsra hasznljk fel. Pldul

83

az intzmny valamely konkrt rszhlzatnak cme lehet az a.b.c.d/24 cm. A CIDR elfogadst megelzen az IP-cmek hlzati rszeinek hossza csak 8, 16 vagy 24 bit lehetett. A cmkiosztsnak ez a mdja cmtartomny osztlyok szerinti szervezse (classful addressing) nven vlt ismertt, mivel a 8, 16 s 24 bites alhlzati cmekkel rendelkez alhlzatokat A, B, illetve C osztly hlzatoknak neveztk. Az a megkts, hogy az IP-cm alhlzati rsze pontosan 1,2, illetve 3 bjt hossz legyen, egyre tbb problmt okozott a kis- s kzepes mret alhlzatokkal rendelkez intzmnyek esetben. A C osztly (/24) alhlzat csupn 2 8 -2 = 254 hosztot tud cmekkel elltni (a 2* cm kzl kett specilis clokra van fenntartva), ami szmos intzmnynl nem elegend. Ezzel szemben az akr 65634 hosztot is elltni kpes B osztly (/16) alhlzat sokszor tlmre tezettnek bizonyult. A cmtartomny osztlyok szerinti szervezsnl egy mondjuk 2000 hosztos intzmny szmra ltalban egy R osztly alhlzati cmtartomnyt osztottak ki, ami a rendelkezsre ll B osztly cmtartomny gyors fogyshoz vezetett, mikzben a kiosztott cmtartomny kihasznltsga alacsony volt, hiszen a 2000 hosztos intzmny a szmra kiosztott 65534 lehetsges cmbl csupn 2000-et hasznlt fel, a fennmarad tbb mint 63000 cmet azonban nem lehetett ms intzmnyek rendelkezsre bocstani. Hibt kvetnnk el, ha nem tennnk emltst egy klnleges IP-cmrl, az adatszrsra fenntartott 255.255.255.255-s krzvnycmrl. Ha egy hoszt a 255.255.255.255 clcmre kld datagramot, azt az adott alhlzatban lv sszes hoszt megkapja. Az tvlasztk ezeket az zeneteket a szomszdos alhlzatokba is eljuttathatjk (de nem ez a jellemz). Most, hogy rszletesebben is megismerkedtnk az IP-cmzs rejtelmeivel, ideje megtudnunk, hogy a hosztok s az alhlzatok hogyan kapnak cmeket egyltaln. Elsknt azt vizsgljuk, hogy valamely intzmny hogyan jut hozz az eszkzei szmra szsges cmblokkokhoz. Ezt kveten nzzk meg, hogy az egyes eszkzk (pldul a hosztok) szmra hogyan trtnik a cmkioszts az intzmnyi cmblokkon bell.

60
lvek a gyakorlatban

4. A HL/ATI RTEG

Egy nyolc intzmny internetes hozzfrst biztost internetszolgltat pldjn mutatjuk be, hogy a CIDR alapjn kell gonddal kiosztott cmek miknt knnytik meg az tvlasztst. A 4.18. brn lthat, hogy a bemutatott inlernetszolgltal - legyen a neve HiperNet-azt hir deti a klvilgnak, hogy olyan datagramokat vr, amelyek els 20 cmbitje a 200.23.16.0/20-ra illeszkedik. A klvilgnak arrl nem kell tudnia, hogy a 200.23.16.0/20-as cmblokkon bell nyolc, sajt alhlzattal rendelkez intzmny ltezik. Azt a kpessget, amely lehetv teszi tbb hlzat hirdetst egyetlen prefixszel cmsszevonsnak (address aggregation) nevezik, de hasznlatosak az tvonal-sszevons (route aggregation), illetve az tvonal-sszests (route summarization) kifejezsek is. A cmsszevons akkor mkdik igazn jl, ha a cmeket mr az internetszolgltatknak is blokkokban utaltk ki, s k gyfeleiket szintn cmblokkokkal ltjk el. De mi trtnik akkor, haa cmek kiutalsnl nem rvnyesl ez a fajta hierarchia? Ha pldul a HiperNet internetszolgltat megvsrolja a KirlyDSL internetszolgltatt, s az 1-es intzmnyt ezen lenyvllalatn keresztl csatlakoztatja az internethez? A 4.18. brn lthat, hogy az 1-es intzmny IP-c- mei sajnlatos mdon kvl esnek a KirlyDSL lenyvllalat ltal birtokolt 199.31.16.0/16-os cmblokkon. Mi a teend ilyenkor? Az 1-es intzmny termszetesen sszes tvlasztjnak s hosztjnak jraszmozsval megoldhatn, hogy ezek cmei az KirlyDSL cmblokkjn bell legyenek. De ez egyfell kltsges, msfell elfordulhat, hogy ezt az intzmnyt a jvben egy msik lenyvllalathoz csatoljk. ltalban az az elfogadott megolds, hogy az 1-es intzmny megtartja a 200.23.18.0/23-as alhlzatbeli cmeit. Ebben az esetben (lsd 4.19. bra) a HiperNet internetszolgltat tovbbra is a 200.23.16.0/20-as cmblokkot hirdeti, a KirlyDSL pedig a 199.31.16.0/16-os cmblokkon kvl az 1-es intzmny szmra hirdeti a 200.23.18.0/23-as cmblokkot is. A nagy internet tvlaszti a 200.23.16.0/20-as (HiperNet) s a 200.23.18.0/23-as cmblokk (KirlyDSL) lttn a leghosszabb illeszked prefix mdszert (lsd 4.2.2. alfejezet) al0- s intzmny 200.23.16.0/23 1- es intzmny 200.23.18.0/23 2- es intzmny 200.23.20.0/23

Kldjetek ide mindent, aminek az els 20 cmbitje a 200.23.16.0/20-ra illeszkedik"


HiperNet

7-es intzmny 200.23.30.0/23

4.14. bra. IP-datagram darabolsa s jbli sszeraksa

61

Internet

Kldjetek ide mindent, aminek az els 20 cmbitje a 199.31.16.0/16-ra illeszkedik" Kirly DSL

kai mazva a KirlyDSL fel kldik a csomagokat, mivel az ltala hirdetett, a csomagok clcimre illeszked prefix hosszabb (vagyis specifikusabb, konkrtabb, kevsb ltalnos), mini a HiperNet. ,Kldjetek ide mindent, aminek az els 20 cmbitje a 200.23.16.0/20ra illeszkedik"

0-s intzmny 200.23.16.0/2 3 2-es intzmny 200.23.20.0/2 3 7-es intzmny 200.23.30.0/2 3

HiperNet

Internet

1-es intzmny 200.23.18.0/2 3

Kldjetek ide mindent, aminek az els 20 cmbitje a 199.31.16.0/16-ra vagy a 200.23.18.0/23-ra illeszkedik Kirly DSL

4.19. bra. A KirlyDSL 1-es intzmnyhez vezet tvonalnak hosszabb a

preftxe Cmblokkok kiosztsa


Az intzmnyen belli alhlzatban hasznlhat IP-cmblokk tbbek kztt valamelyik internetszolgltattl ignyelhet, amely a szmra mr korbban kiutalt nagyobb cmblokkbl bocsthat cmeket az intzmny rendelkezsre, 'legyk fel, hogy az internetszolgltat szmra a 200.23.16.0/20 cmblokkot utaltk ki. Ezt a blokkot nyolc egyenl mret egybefgg cmblokkra oszthatja, amelyek kzl cgyet-egyet az ltala elltott intzmnyek kzl legfeljebb nyolcnak adhat az albbiakban vzolt mdon (a knnyebb kvethetsg rdekben alhztuk a cmek alhlzati rszt): Az internetszolgltat blokkja 200.23.16.0/2011001000 00010111 00000000 0-s intzmny 200.23.16.0/23 11001000 00010111 00000000 l -es intzmny 200.23.18.0/23 11001000 00010111 00000000 2-es intzmny 200.23.20.0/23 11001000 00010111 00000000

0001 0000 0001000 0 0001001 0 0001010 0

7-es intzmny 00000000

200.23.30.0/23 11001000

00010111 0001111 0

Cmblokkot azonban nem csak az internetszolgltatktl kaphatunk, hiszen k is kaptk a cmblokkjukat valahonnan. Az IP-cmek kiosztsrt az Internet Corporation fr Assigned Names and Numbers (ICANN) a felels [ICANN 2007], amely az RFC 2050-ben lefektetett irnyelvek szerint jr el [RFC 2050]. A nonprofit ICANN-nak az IP-cmek kiutalsn kvl a DNS rootszerverek kezelse [NTIA 1998], a krzetnevek (domainnevek) kiosztsa s a krzet nevekkel kapcsolatos vits gyek elsimtsa is feladata. Az ICANN regionlis internetes cmnyilvntart hivataloknak (ilyen pldul az ARIN, a RIPE, az

APNIC cs a LACN1C) utal ki cmeket, amelyek egyttesen kpezik az Address Supporting Organization of ICANN szervezetet [ASO-ICANN 2007], s a sajt rgiikon bell ezek ltjk el a cmek kiutalsval s kezelsvel kapcsolatos feladatokat.

Hosztcmek kiosztsa: a dinamikus hosztkonfigurl protokoll (DHCP)


Az adott intzmny a cmblokk birtokban hozzlthat ahhoz, hogy a hosztok s tvlasztk interfszeihez egyedi IP-cmeket rendeljen. A rendszergazda tbbnyire kzzel lltja be az tvlaszt-interfszek IP-cmeit (gyakran tvolrl, valamilyen hlzatfelgyel eszkzzel). Elvben a hosztcmeket is lehet kzzel konfigurlni, de manapsg a leggyakrabban mr a dinamikus hosztkonfigurl protokollt (Dynamic Hst Configuration Protocol, DHCP) hasznljk erre a clra [RFC 2131]. A DHCP automatizlja a hosztok szmra trtn IP-cm kiosztst. Attl fggen, hogy a rendszergazda hogyan konfigurlja a DHCP-t, az adott hoszt megkaphatja mindig ugyanazt az IP-cmet, ahnyszor a hlzathoz kapcsoldik; de kaphat minden kapcsoldskor ms s ms ideiglenes IP-cmet (temporary IP address) is. A cmkiosztson kvl a DHCP tovbbi adatokkal is ellthatja a hosztot: megadhatja pldul az alhlzati maszkot, valamint az alaprtelmezett tjrnak (default gateway) is nevezett legkzelebbi (first-hop) tvlasztjnak a cmt s a helyi DNS-szerver IP-cmt. Mivel a DHCP kpes a hoszt hlzati kapcsolatnak belltst automatizlni, gyakran nevezik automatikus hardverfelismer s konfigurl protokolloknak (plug-and-play protocol) is. Ez a kpessge rendkvl vonzv teszi a hlzatok zemelteti szmra, akiknek a DHCP nlkl kzzel kellene mindezt belltaniuk. A DHCP-t szles krben hasznljk a lakossgi internetes hozzfrsi hlzatokban s a vezetk nlkli hlzatokban, amelyekben gyakori a hosztok csatlakozsa, illetve kilpse. Gondoljunk csak egy dikra, amint a laptopjval tmegy a kollgiumbl az eladterembe vagy a knyvtrba! Valsznsthet, hogy mindenhol egy j alhlzathoz csatlakozik, ahol j IP-cmre lesz szksge. A DHCP idelis megolds az ilyen helyzetekben, amikor a felhasznlk llan dan jnnekmennek, s csak rvid idre ignyelnek cmeket. De ugyanilyen hasznos az internetszolgltatk lakossgi hozzfrsi hlzataiban. Pldaknt kpzeljnk el egy internetszolgltatt, amelynek 2000 elfizetje kzl egyszerre legfeljebb 400 van online kapcsolatban. Ebben az esetben a cmeket dinamikusan kioszt DHCPszervernek csak egy 512 cmet tartalmaz (pldul a.b.c.d/23 alakban rhat) blokkra van szksge, nem pedig 2048 cmet tartalmaz cmblokkra. A DHCPszervernek a hosztok be- s kilpsekor aktualizlnia kell a rendelkezsre ll IPcimek jegyzkt. A DHCP-szcrver a hoszt belpsekor kiutal neki egy cmet a rendelkezsre ll cmek kzl; ha pedig egy hoszt levlik a hlzatrl, a neki korbban kiutalt cm ismt szabadon felhasznlhatv vlik. A DHCP egy kliens-szerver protokoll. A kliens az jonnan csatlakoz hoszt, amely hlzati konfigurcis adatokra vr, belertve a sajt IP-cmt. Egyszerbb a helyzet akkor, ha minden (a 4.17. brn bemutatott cmzs szerinti) alhlzat rendelkezik sajt DlICP-szer- verrel. Ha nem, akkor szksg van egy DHCPtjtszra (DHCP relay agent), amely ismeri az ahhoz az alhlzathoz tartoz DHCP-szerver cmt. A DHCP-tjtsz szerept gyakran tlti be egy tvlaszt. A 4.20. brn lthat egy olyan elrendezs, amelyben a DHCP-szerver a 223.1.2.0/24-es alhlzatban tallhat s a DHCP-tjtszknt szolgl tvlaszt jtssza t a csomagokat kzte s a 223.1.1.0/24-es vagy 223.1.3.0/24-es alh -

lzathoz kapcsold, jonnan csatlakoz kliensek kztt. felttelezzk, hogy az alhlzatnak sajt DHCP-szervere van.

Az

albbiakban

DHCPszerver

223.1.2.5

223.1.2.1

223.1.2.2
223.1.1.3

jonnan csatlakoz DHCP* kliens

bra. DHCP kliens-szerver elrendezs Az jonnan csatlakoz hoszt szmra a DHCP-protokoll egy ngylpses folyamatot definil, amelyet a 4.21. bra szemlltet a 4.20. brn bemutatott elrendezs esetre. Ebben az brban a yiaddr (a your internet address, vagyis a Te internetcmed kezdbeti) jelli az jonnan csatlakoz kliens szmra kiutalt cmet. Az albbiakban ismertetjk a ngy lpst: /\ DHCP-szerverfeldertse. Az jonnan csatlakoz hosztnak elszr meg kell tallnia azt a DHCP-szervert, amellyel kommuniklhat. Erre szolgl a DHCPfeldertszenet (DHCP discover message), amelyet a kliens egy IPdatagramba csomagolt UDP- csomagban kld a 67-es portra. De milyen cmre kldje? A hoszt mg annak a hlzatnak az alhlzati cmt sem ismeri, amelyhez csatlakozik, ht mg a hlzat DHCP-szervernek a cmt! Ezrt a DHCP-kliens olyan, DHCP-feldertszenetet tartalmazIP-datagramot llt el, amelybe a 255.255.255.255 adatszrsra fenntartott krzvnycmet teszi, feladknt pedig a 0.0.0.0 IP-t tnteti fel. A DHCP-kliens az IP-datagramot az adatkapcsolati rtegnek adja tovbb, amely ezt a keretet adat szrssal tovbbtja az alhlzathoz csatlakoz sszes csomponthoz (az adatkap csolati rtegbeli adatszrsrl az 5.4. alfejezetben lesz sz rszletesebben) DHCP-szerver ajnlata. A DHCP-t feldert zenetet fogad szerver egy DHCPajn- latzenettel (DHCP offer message) vlaszol a kliensnek, amelyet szintn az adatszrsra fenntartott 255.255.255.255 IP-cmmel lt el. 1 Tbb DHCPszerver is lehet A fordt megjegyzse: Az RFC1541 (http://tools.ietf.org/html/rfcl541 , 3.1. fejezet) szerint a
DHCP-szervemek elssorban egyeskldses (unicast) csomagban kellene elkldenie a DHCP-ajnlatzenetet, s csak akkor hasznlni adatszrst, ha az egyesklds nem lehetsges (pldul mert a szerver s a kliens nem ugyanabban az alhlzatban tallhat); bizonyos elterjedt DHCPmegvalstsok azonban eleve adatszrst hasznlnak.

4.20.

223.1.3.1

223.1.3.2

az alhlzatban; ajnlataikkzl a kliens kedvre vlogathat. Mindegyik DHCPajnlat (offer) zenet tartalmazza a fogadott felderts* (discover) zenet tranzakci-azonostjt, a kliens szmra ajnlott IP-cmet, az alhlzati maszkot s egy IP-cmbrleti idt (address lease time), amely megadja az IPcm rvnyessgnek idejt. A szerverek ltalban nhny rtl nhny napig terjed rvnyessget lltanak be [Droms 1999). DHCP-krs. Az jonnan csatlakoz kliens a DHCP-ajnlatzenetre egy DHCPkrszenettel (DHCP request message) vlaszol, amely tartalmazza az ajnlatbl kimsolt, a kliens ltal krt konfigurcis paramtereket. 1 DHCPACK. A szerver a DHCP-krszenetre egy DHCP-nyugtazenettel (DHCP ACK message) vlaszol, amelyben megersti a krt paramtereket. Amint a kliens megkapja a DHCP-nyugtazenetet, a prbeszd lezrtnak tekinthet, s a kliens a brleti id ltal megszabott ideig hasznlhatja a DHCPszerver ltal kiosztott IP-cmet. A DHCP a brleti id igny szerinti meghosszabbtsra is lehetsget ad. A DHCP elnyei nyilvnvalak, ha belegondolunk, hogy enlkl manulisan kellene konfigurlni a hoszt IP-cmt. Hadd emlkeztessnk annak a diknak a pldjra, aki laptopjval tmegy a kollgiumbl az eladterembe, majd a knyvtrba, mindenhol egy j alhlzathoz csatlakozva, ahol j IP-cmet kell kapnia. Mg belegondolni is rossz, milyen lenne, ha egy rendszergazdnak kellene a laptopokat minden j helysznen jrakonfigurl' nia, s az sem valszn, hogy az sszes dik kpes lenne arra, hogy laptopjt manulisan maga konfigurlja. A mobilitst illeten azonban a DHCP-nek vannak htrnyai. Tekintet tel arra, hogy a kliens mindig j cmet kap a DHCP-tl, valahnyszor j alhlzathoz csat lakozik, a tvoli alkalmazsokkal ltestett TCP-sszekttetsei hlzatvltskor nem ma radnak fenn. A 6. fejezetben foglalkozunk majd a mobil IP-vel, az IP-infrastruktra jabb kibvtsvel, amely lehetv teszi, hogy az alhlzatrl alhlzatra jr mobil csompont egyetlen lland cmet hasznljon. Tovbbi rszletek tallhatk a DHCP-rl a (Droms 1999) forrsban s a [dhc 2007J IETF-honlapon. A DHCP nylt forrskd refcrenciaimplemcn- tcija letlthet az Internet Systems Consortium [1SC 2007] honlapjrl.

Hlzati cmfordits
Az internetcmek s az IPv4-datagramformtum trgyalst kveten jl tudjuk, hogy minden IP-t tmogat eszkznek rendelkeznie kell IP-cmmel. Ezrt a kisvllalati s otthoni irodkban (small ofice, home office, SOHO) teleptett alhlzatok elterjedse azt a ltszatot keltheti, hogy az internetszolgltatknak egsz sor cmet kell kiutalniuk, valahnyszor egy SOHO tbb gp sszekapcsolst egy LAN ltrehozsval szeretn megoldani, hiszen minden gpet el kell ltni sajt IP-cmmel. Az alhlzat bvtse (amire pldul azrt van szksg, mert a gyerekeknek otthon mr nemcsak sajt PC-jk, hanem PDA- juk, IP-telefonjuk s hlzatba kthet jtkkonzoljuk is van) pedig egy mg nagyobb cmblokk kiutalst tenn szksgess. De mi van akkor, ha az internetszolgltat mr nem tudja az adott SOHO-hlzat cmtartomnyt a meglevvel sszefgg tartomnnyal

A fordt megjegyzse: Az RFC1541 szerint a kliens a krst is kteles adatszrssal kldeni, hogy azok a szerverek, amelyeknek az ajnlatt nem veszi ignybe, rtesljenek arrl,
hogy ms cmet vlasztott, s a kliens szmra ideiglenesen lefoglalt, imnt ajnlott cmet felszabadthassk. A valsgban ezt az elrst nem minden kliens tartja be, de ezzel nem okoznak nagy hajt, mert ritkk az olyan hlzatok, amelyekben tbb DHCP-szerver is mkdik.

DHCP-szerver:
223.1.2.5

jonnan csatlakoz kliens

DHCP-feldertszenet
orrscrr-- O.O.O.0.68 clcm 255.255JS5.2S5.67

DBC.PDISCOVFR
DHCP-ajnlatzenet
yiaddr: 0.0.0.0 tranzakciazonost: 654 forrsdm: 223.1.25,67 clcm; 255.255.255.255,68 OHCPOfFER yiactcf: 223.1.2.4 tranzakciazonost: 654 (5! CPszervoazonosfr 223.1.2.5 lettram. 3600 scs

DHCP-krszenet

foristnt .O.O.0,68
clcm: 255.255.255255,6/ DHCPREQUST yiaddr: 223 .2.4 tranzakci azonost: 655 DHCf\ververazonost: 223.1.2.5 lettartam: 3600 secs

DHCP-nyugtazenet

forrscm. 223.1.2.5,67 Clcim:

255.25525S.255.68 HCPACK yiaddr: 223.1.2.4 tranzakciazonost: 655" DHCPszerverazonosil: 223. l .2.5 lettartam: 3600 secs

4.21. bra. DHCP kliens-szerver prbeszd bvteni, mert ezeket a cmeket mr kiutalta msnak? s egyltaln, mirt akarna egy tlagos lakstulajdonos rteni az IP-cmek kiosztshoz, vagy mirt kellene, hogy rtsen hozz? Szerencsre ltezik a cmkiosztsnak egy ennl egyszerbb megoldsa, amelyet a fent emltett esetekben mr szles krben alkalmaznak is. Ez az n. hlzati cmfordts (Network Address Translation, NAT) |RFC 2663; RFC 3022]. A 4.22. bra szemllteti a NAT-ot tmogat tvlasztk mkdst. Az bra jobb oldaln lthat az otthoni tvlasztnak az az interfsze, amely az otthoni hlzathoz csatlakozik. Az otthoni hlzaton belli cmzs pontosan a korbban lert mdon trtnik: mind a ngy erre a hlzatra csatlakoz interfsznek ugyanaz az alhlzati cme: 10.0.0.0/24. Az [RFC 1918) hrom cmtartomnyt jell ki a 4 .22. brn bemutatotthoz hasonl otthoni hlzatok, illetve privt cmeket hasznl n. privt hlzatok szmra; ezek kzl a 10.0.0.0/8 az egyik. Privt cmeket hasznl privt hlzatok alatt olyan hlzatokat rtnk, amelyek cmei kizrlag az adott hlzatban tallhat eszkzk szmra rtelme-

sek. Hnnek a jelentsgt akkor rtjk meg igazn, ha figyelembe vesszk, hogy szzezrvel vannak otthoni hlzatok, amelyek kzl sokan ugyanazt a 10.0.0.0/24-es cmtartomnyt hasznljk. Egy adott otthoni hlzaton belli kszlkek egyms 10.0.0.0/24-es cmeit hasznlva kldhetnek egymsnak csomagokat. Az otthoni hlzaton kvlre, a globlis internet fel tovbbtott csomagok azonban termszetesen sem forrs-, sem clcmknt nem hasznlhatjk ezeket a cmeket, hiszen, mint emltettk, tbb szzezer hlzat hasz nlja ezt a cmtartomnyt. Ez azt jelenti, hogy a 10.0.0.0/24-es cmek csak egy adott ott honi hlzaton bell rtelmezhetk. De ha a privt cmek kizrlag egy adott hlzaton bell rtelmezhetk, hogyan cmezhet meg egy magnhlzatra kapcsolt szmtgp egy a globlis interneten zemel msikat, s hogyan kaphatja meg a vlaszt, ha az interneten a cmek szksgszeren egyediek? A krdsre a NAT adja meg a vlaszt. A cmfordtst vgz tvlaszt a klvilg szmra nem tvlasztnak tnik, hanem egyetlen IP-cmmel rendelkez egyetlen eszkznek. A 4.22. brn lthat otthoni tvlaszt ltal az internet fel kldtt sszes csomag forrscme 138.76.29.7, s az internet fell az otthoni tvlasztnak sznt sszes csomagot ugyanerre az IP-cmre kell cmezni. Ez lnyegben azt jelenti, hogy a cmfordtst vgz tvlaszt a klvilg ell elrejti az otthoni hlzat felptsnek rszleteit. (Az olvasban felmerlhet a krds, hogy honnan kapjk cmeiket az otthoni szmtgpek, s honnan tudja az tvlaszt, mi az glob lisan egyedi cme. A vlasz mindkt esetben gyakran ugyanaz: a DHCP segtsgvel. Az tvlaszt gyakran az internetszolgltat DHCP-szervertl kapja IP-cmt, az tvlaszt pedig maga is futtat egy DHCP-szervert, hogy el tudja ltni cmekkel az ltala kezelt otthoni hlzati cmtartomnyhoz tartoz szmtgpeket). Ha a NAT-tvlaszthoz a VVAN-bl berkez minden datagramon azonos cl-IPcm szerepel (nevezetesen a NAT-tvlaszt WAN-oldali interfsznek cme), akkor honnan tudja az tvlaszt, hogy melyik bels hoszt rszre tovbbtsa azt? A problmt az tv-

NAT cmfordt tbla WAN-oldali cm 138.76.29.7, 5001 10.0.0.1,3345


LAN-oldali cm

V/H
S= 10.0.0.1,3345 D= 128.119.40.186,80

10.0.0.1

S= 138.76.29.7, 5001 D128.119.40.186,80

/ H

10.0.0. 4
--------------------------------:------//S = 128.119.40.186,80 D = 10.0.0.1, 3345

10.0.0.2

----------------------------------S = 128.119.40.186, 80 D = 138.76.29.7.5001 L---------------r_-------------------//J

138.76.29. 7

. _Y

-----------------------------------//-

10.0.0.3

laszt egy olyan cmfordt tbla (NAT translation table) segtsgvel oldja meg, amelyben az IP-cmeken kvl portszmok is szerepelnek. Tekintsk a 4.22. brn bemutatott pldt! Ttelezzk fel, hogy az otthoni hlzat 10.0.0.1-es hosztjnak felhasznlja a 128.119.40.186 IP-cm 80-as portjn elrhet web- szerverrl kr le egy weboldalt. A 10.0.0.1-es hoszt nknyesen kivlasztja mondjuk a 3345-s forrsportot, s kikldi a csomagol a helyi hlzatba. A NATtvlaszt a csomag vtelt kveten, szintn nknyesen, mondjuk az 5001-es j forrsportszmot jelli ki ennek a kapcsolatnak a szmra; a forrscim helyre a sajt 138.76.29.7 WAN-oldali IP-cmt rja be, s az eredeti 3345-s portszmot az j 5001-essel helyettesti. Az j forrs- portszmok ellltsnl a NAT-tvlaszt brmely olyan forrsportszmot vlaszthat, amely az adott idpontban nem szerepel a cmfordt tblban (s olyan hlzati kapcsolat sem hasznlja, amelyben maga az tvlaszt a kliens vagy a szerver). Vegyk szre, hogy mivel a portszmmez 16 bites, a NAT-mechanizmus hatvanezernl is tbb egyidej sz- szekttetst kpes kezelni akkor is, ha az tvlasztnak csak egyetlen WAN-oldali, vagyis globlisan egyedi lP-cme van! Az j kapcsolat nyomon kvetse rdekben az tvlaszt j bejegyzst helyez el a cmfordt tblban. A webszerver, amely szerencsre mit sem tud arrl, hogy a HTTP-krst tartalmaz berkez csomagot a NAT-tvlaszt mdostotta, olyan csomaggal vlaszol, amelynek a clcme a NAT-tvlaszt WANoldali IP-cme, clportszma pedig az 5001-es. A vlaszcsomag berkezsekor a NATtvlaszt gy hatrozza meg, melyik bels IP-cm melyik portjra kell azt tovbbtani, hogy a fordttblban megkeresi az 5001-es forrsporthoz tartoz sort; ebben a sorban tallhat meg a megfelel bels IP-cm s portszm (10.0.0.1, illetve 3345). Az tvlaszt a vlaszcsomagban szerepl clcmei s clportot a cmfordttblban talltakra cserli, s az gy mdostott csomagot kikldi a LANinterfszn a 10.0.0.1-es hoszton fut bngsz szmra. Napjainkban a NAT-ot szleskren alkalmazzk. Meg kell azonban jegyezni, hogy az IETF-kzssgnek a szablyokhoz ragaszkod szakemberei kzl sokan adnak hangot a NAT-tal kapcsolatos ellenrzseiknek. Ngy f ellenrvk kzl az els az, hogy a portszmokat eredenden folyamatok, nem pedig hosztok megcmzsre szntk. (Ennek a szablynak a megsrtse valban okozhat problmkat az otthoni hlzatban fut szerverek esetben, mivel, ahogy azt a 2. fejezetben lttuk, a szerverfolyamatok a bejv krseket a jl ismert portokon vrjk). Msodik ellenrvk az, hogy az tvlasztknak a csomagokat csak a harmadik rteggel bezrlag kellene feldolgozniuk. Harmadsorban azt kifogsoljk, hogy a NAT megsrti az n. vgponttl vgpontig elvet, vagyis azt, hogy a hosztoknak - az IPcmeket s portszmokat mdost csompontok bevonsa nlkl - kzvetlenl kellene egymssal trsalogni. s vgl, negyedsorban az a vlemnyk, hogy az IPcmek hinyt az IPv6 bevezetsvel kellene orvosolni (lsd 4.4.4. alfejezet), nem pedig olyan szksgmegoldsokkal, toldozgatssal-lbldozgatssal, mint amilyen a NAT. Csakhogy akr tetszik, akr nem, a NAT az internet fontos tnyezjv vlt. A NAT tovbbi komoly htrnya, hogy zavarja a P2P-alkalmazsokat, belertve a fjl- cserlket s a P2P-alap Voice-over-IP-alkalmazsokat is. Gondoljunk a 2. fejezetben mondottakra, melyek szerint a P2P-alkalmazsokban rszt vev brmely A kommunikl flnek (a tovbbiakban A flnek) kpesnek kell lennie arra, hogy brmely ms B kommunikl fllel (a tovbbiakban B fl) TCP-sszckttetst kezdemnyezzen. Mrpedig, ha a B fl egy cmfordt tvlaszt mgtt van, akkor nem tud szerverknt mkdni s TCP-sszekttetscket fogadni. A fejezetet kvet feladatok megoldsakor ltni fogjuk, hogy a NAT-nak ez a problmja megkerlhet,

ha az A fl nincs NAT-tvlaszt mgtt. Ekkor ui. az A fl egy olyan kztes C kommunikl flen keresztl tud kapcsolatba lpni

B fllel, amely szintn nincs N AT-t vlasz t mgtt, s amellyel a B fl TCPsszekt- tetst tart fenn. Ebben az esetben az A fl a C flen keresztl krheti B fltl egy vele val kzvetlen TCP-sszekttets kezdemnyezst. Az A s B fl kztti kzvetlen P2P-alap TCP-sszekttets felptst kveten a kt fl mr kpes lesz az zenetek, illetve fjlok egyms kztti kzvetlen cserjre. Ezzel a kapcsolat-visszafordtsnak (connection reversal) nevezett megoldssal valban sok P2P-alkalmazs l a NAT-thidals (NAT traversal) megvalstsa rdekben. A helyzet kiss bonyolultabb, ha mind az A, mind a B fl NAT-t vlaszt mgtt van; ilyenkor az alkalmazsszint tjtszk hasznlata jelent megoldst, ahogy ezt a 2. fejezetben bemutatott Skype-tjtszk esetben lttuk.

UPnP
A NAT-thidalst egyre gyakrabban a Universal Plug and Play (UPnP) protokoll segtsgvel valstjk meg, amely lehetv teszi, hogy egy hoszt feldertsen s konfigurljon egy kzeli NAT-tvlasztt [UPnP Frum 2007]. A UPnP csak akkor mkdik, ha mind a hoszt, mind a NAT-tvlaszt implementlja a protokollt, azaz mindketten UPnP-kompatibilisek. A UPnP segtsgvel a hoszton fut alkalmazs krheti a NAT-tvlaszttl, hogy hozzon ltre lekpezst a sajt / privt IP-cme; privt portszmai s az internet oldali valamilyen Inyilvnos IP-cm; nyilvnos portszm) prok kztt. 1 la a NAT-tvlaszt elfogadja a krst s ltrehozza a megfeleltetst, akkor a az interneten tallhat csompontok kpess vl nak arra, hogy TCP-sszekttetst nyissanak a nyilvnos IP-cm, nyilvnos portszm)-ra. A UPnP mg azt is lehetv teszi, hogy a privt hlzatbeli alkalmazs megtudja a {nyilvnos IP-cm, nyilvnos portszm} rtkt s ezt hirdets formjban a nagyvilggal tudassa. Pldaknt ttelezzk fel, hogy a UPnP-t tmogat NAT-tvlaszt mgtti hosztunk, amelynek privt cme 10.0.0.1, BitTorrcnt alkalmazst futtat a 3345 porton, a NAT-tvlaszt nyilvnos cme pedig 138.76.29.7. A BitTorrent-alkalmazs termszetesen szeretn, ha sszekttetseket tudna fogadni ms hosztoktl, hogy fjldarabokat cserlhessen velk. Ezrt arra kri a NAT-tvlasztt, hogy hozzon ltre megfeleltetst a {10.0.0.1, 3345} s a {138.76.29.7, 5001} cm kztt. (Az 5001-es nyilvnos portszmot az alkalmazs vlasztotta.) A BitTorrent-alkalmazs ezutn meghirdetheti a nyomonkvetjnek (a rsztvev partnerek nyilvntartjnak), hogy a {138.76.29.7,5001} cmen rhet el. Egy BitTorrentet futtat kls hoszt kapcsolatba lphet a trackerrel, amelytl megtudhatja, hogy a mi hosztunk BitTorrent-alkalmazsval a {138.76.29.7,5001} cmen kommuniklhat. A kls hoszt TCP SYN szegmenst tartalmaz csomagot kldhet erre a cmre, amelynek fogadst kveten a NAT-tvlaszt {10.0.0.1, 3345}-re mdostja a csomagban szerepl IP-clcmet s a portszmot, s tovbbtja a csomagot a pldnkban szerepl hosztnak. sszefoglalskppen megllapthatjuk, hogy a UPnP lehetv teszi kls hosztok szmra, hogy adattviteli kapcsolatot kezdemnyezzenek NAT mgtti hosztokkal, akr TCP, akr UDP felelt. A NAT sokig a P2P-alkalmazsok kerkktjnek szmtott; a megoldst a hatkony s robusztus NAT-thidalst megvalst UPnP jelentheti. Knyvnkben sajnos nem tudunk tbb teret szentelni a NAT-nak s a UPnP-nek. A NAT rszletesebb trgyalsa megtallhat a [Huston 2004] s a [Cisco NAT 2007] forrsban.

4.4.3. Az Internet Control Message Protocol (1CMP, internetes vezrlzenet-protokoil)


Az internet hlzati rtegnek hrom f alkoteleme az IP (lsd elz fejezet), az internetes tvlaszt protokollok (pldul a RIP, az OSPF s a BGP) - ezekre a 4.6. alfejezetben trnk majd ki -, s az ICMP, amely jelen fejezet tmja. Az (RFC 792] dokumentumban specifiklt ICMP-vei a hosztok s az tvlasztk a hlzati rtegre vonatkoz adatokat tartalmaz zeneteket kldhetnek egymsnak. Leggyakoribb alkalmazsa a hibajelzs. Pldul Telnet-, FTP- vagy HTTPkliensprogramok hasznlata kzben bizonyra tallkoztunk mr a Destination network unreachable hibazenettel (vagy valamelyik magyar megfeleljvel, pldul A clhlzat nem elrhet); a hibazenet alapjul szolgl jelzst az ICMP szlltja. Ha egy IP-tvlaszt nem kpes utat tallni a fent emltett alkalmazsok ltal megadott hoszthoz, akkor ezt egy 3-as tpus ICMP-zenet ltrehozsval s elkldsvel jelzi. Az IC'MP-t gyakran tekintik az IP rsznek, de az architektrt tekintve kzvetlenl az IP felett helyezkedik el, mivel az ICMP-zenetekct IP-datagramok szlltjk az adatmezjkben, csakgy, mint a TCP- s UDP-szegmenseket. Ha a hoszt olyan IPdatagramot kap, amely fels szint protokollknt az ICMP-t jelli meg, akkor az ICMPig bontja vissza a datagram tartalmt, hasonlan a TCP-ig s UL)P-ig trtn visszabontshoz. Az ICMP-zenetek tpus- s kdmezvel rendelkeznek, s tartalmazzk annak az IPdatagramnak a fejrszt s els 8 bjtjt, amely elidzte az ICMP-zenet ltrehozst annak rdekben, hogy a kld fl meg tudja llaptani, mely datagram okozta a hibt. A 4.3. tblzat bemutatja az ICMP-zenetek nhny tpust. Vegyk szre, hogy az zeneteket nem csak hibajelzsre hasznljk! A jl ismert ping program 8-as tpus, 0-s kd ICMP-zenetet kld a megadott hoszt- nak. A clhoszt az echo-request >> (visszhangkr) zenetre a 0-s tpus 0-s kd echo-reply (visszhangvlasz) ICMP-zenettel vlaszol. A TCP/IPimplementcik tbbsge magban az opercis rendszerben valstja meg a pingszervert, amely teht nem klnll processz. A [Stevcns 1990] forrs 11. fejezetben megtallhat a ping-kli- ensprogram. Fontos, hogy a kliensprogramnak kpesnek kell lennie arra, hogy egy 8-as tpus, 0-s kd ICMP-zenet ltrehozsra utastsa az opercis rendszert. rdemes nhny szt szlni a viszonylag ritkn hasznlt source quench (forrsinyom) ICMP-zenetrl. A fejlesztk eredetileg torldsok kezelsre szntk: a tlterhelt tvlaszt ltal kldtt source quench zenet a hosztot csomagsebessgnek cskkentsre szltja fel. A 3. fejezetben azonban lthattuk, hogy a TCP sajt torldskezel mechanizmussal rendelkezik, amely a szlltsi rtegben mkdik, s nem tmaszkodik olyan hlzati rtegbeli visszajelzsekre, amilyen az ICMP source quench zenet. Az 1. fejezetben bemutattuk a Traceroute programot, amelynek segtsgvel nyomon kvethet egy adott hoszt s a vilg brmely tjn lv msik hoszt kztti t. rdekes mdon a Traceroute program mkdse is az ICMP-n alapszik. A forrsgpen fut Traceroute program olyan mdon hatrozza meg a forrs s a cl kztti tvlasztk nevt s IP-cmt, hogy egy sor olyan clportra szl UDPcsomagot kld a clnak, amely porion valsznleg nem mkdik szolgltats (ezeket az UDP-csomagokat termszetesen kznsges IP-datagramok szlltjk). Az els datagram TTL-rtke 1, a msodik 2, a harmadik 3 s gy tovbb. A forrs

minden elkldtt datagramhoz idztt is rendel. Az N-edik tvlaszt a hozz berkez -edik datagramrl megllaptja, hogy ppen lejrt a TTL-je. Az tvlaszt az IP elrsainak megfelelen - eldobja a datagramot, s egy az tvlaszt 4.3. tblzat. ICMP-zenettpusok
ICMP-tipus 0 3 3 3 3 3 3 4 8 9 10 11 12 Kd 0 0 1 2 3 6 7 0 0 0 0 0 0 Lers echo reply (ping-re adott vlasz) destination network unreachable (clhlzat nem elrhet) destination host unreachable (clhoszt nem elrhet) destination protocol unreachable (clprotokoll nem elrhet) destination port unreachable (clport nem elrhet) destination network unknown (clhlzat ismeretlen) destination host unknown (clhoszt ismeretlen) source quench (torldskezels) echo request (visszhangkrs") router advertisement (tvlaszt-hirdets) router discovery (tvlaszt-felderts) TTL expired (TTL lejrt) IP header bad (IP-fejrsz hibs)

nevt s IP-cmt is tartalmaz (11-es tpus, 0-s kd) figyelmeztet ICMP-zenetet kld a forrsnak. 1 A forrs az ICMP-zenet berkezsekor a hibajelzst kivlt prbacsomag kikldsekor elindtott idzt aktulis rtkbl kiszmtja a krbejrsi idt, az zenet tartalmbl pedig megtudja, melyik az -edik tvlaszt a clhoz vezet ton. Honnan tudja a Traceroute-forrs, hogy mikor kell abbahagynia az UDPszegmensek kldst? Ne felejtsk el, hogy a forrs minden egyes datagram kldsekor eggyel nveli a TTI.-mez rtkt! Ezzel elri, hogy lesz egy olyan datagram, amely vgl is elri a cl- hosztot. Mivel azonban a datagramban lv UDP-Szegmens olyan portra rkezik be, amelyen nem mkdik szolgltats, a clhoszt egy (3-as tpus, 3-as kd) port unreachable (vagyis port nem elrhet) ICMP-zenetet kld a forrsnak. Ebbl az zenetbl tudja meg a forrs, hogy mr nem kell tbb prbacsomagot kldenie. (A szabvnyos Traceroute
1

A fordt megjegyzse: Az ICMP-zenet szigoran vve nem tartalmazza" az tvlasztnak sem


http://www.ietf.org/rfc/rfc0792.txt ). Az

az IP-cmt, sem a nevt (lsd az RFC792 5. oldaln:

tvlaszt IP-cme az ICMP-zenetet szllt IP-datagram fejrsznek feladmezjben tallhat meg; az tvlaszt nevt a Traceroute program a DNS segtsgvel hatrozza meg, az tvlaszt IP-cme alapjn.

A fordt megjegyzse: Egy IDS hasznlata nmagban termszetesen semmilyen vdelmet


nem nyjt, hiszen a riaszts nem akadlyozza meg a tmadst (a tmad nem is rtesl rla). Akkor beszlhetnk vdelemrl, ha a riasztsokat a rendszergazda figyelemmel ksri, s szksg esetn azonnal beavatkozik. Az IDS-ek a krenyhtsben s a nyombiztostsban is nagy segtsgnkre lehetnek.

A fordt megjegyzse: Eurpban a R1PE szerint valamikor 2009 s 2011. kztt fogynak cl az

program hrom azonos TTL- csomagbl ll sorozatokat kld, azaz minden TTLrtk- re hrom krbejrsi idt kap). A forrshoszt a fent emltett mdon megtudja a kzte s a clhoszt kztti tvlasztk szmt s cmt, valamint a kettejk kztti krbejrsi idt. Fontos tudni, hogy a Traceroute kliensprogramnak kpesnek kell lennie arra, hogy megadott TTL-rtkekkel rendelkez UDP-datagramok ltrehozsra utastsa az opercis rendszert, s arra, hogy az opercis rendszer jelzst fogadja, ha ICMPzenetek rkeznek. Most, hogy az olvas megrtette a Traceroute mkdst, lehet, hogy vissza kvn trni hozz s egy kicsit jtszani kvn vele.
Fkuszban a biztonsg

Datagramok tvizsglsa: tzfalak s behatolsjelzs


Kpzelje magt egy otthoni, egyetemi vagy vllalati hlzat rendszergazdjnak a helybe! A hlzata cmtartomnyt ismer tmadknak nem okoz gondot, hogy az ehhez a cmtarto mnyhoz tartoz cmekre datagramokat kldjenek, s gy mindenfele aljassgra kpesek legyenek: feltrkpezhetik a hlzatotping-psztzssal (ping sweep), portletapogatssal (port scan), sebezhet hosztok sszeomlst idzhetik el hibs, rvnytelen csomagokkal, ICMPcsoma- gok znvel raszthatjk el a szervereket, s megfertzhetik a hosztokat a csomagokba rejtett krokoz programokkal. A rendszergazda helyben n mit tenne, hogy megvdje hlzatt az ilyen tmadkkal szemben? A csomagalap tmads ellen kt

tzfalak s az IDS-ek (intrsion detection system; tmadsjelz, illetktelen behatolst jelz vagy egyszeren behatolsjelz rendszer).
vdekezsi mechanizmus terjedt el szles krben: a Hlzatzemeltetknt elszr taln tzfalat teleptene hlzata s az internet kze. (Ma napsg a hozzfrsi tvlasztk tbbsge rendelkezik tzfal funkcikkal.) A tzfalak tvizs gljk a datagramok s szegmensek fejrszmezit, s a gyans datagramokat kiszrik: nem tovbbtjk ket a bels hlzatba. A tzfal bellthat pldul gy, hogy blokkolja az sszes 1CMP echo request csomagot, amivel megakadlyozza, hogy a tmad egyszer ping-psztzssal feldertse az alhlzaton bell elrhet hosztokat. A tzfalak adott forrs- s cl-IPcm, illetve portszm csomagokat is ki tudnak szrni. Ezen tlmenen ltalban arra is kpesek, hogy nyomon kvessk a TCP-sszekttetseket; gy ki tudjk szrni azokat a datagramokat, amelyek nem tartoznak egyetlen rvnyes, engedlyezett sszekttetshez sem. Az IDS ms termszet vdelmet nyjt. Az ltalban a hlzat hatrn elhelyezked rendszer nem csak a fejrszmezket, hanem az adatmezt (belertve az alkalmazsi rtegbeli adatokat) is megvizsglja, amit az angol szhasznlatban deep packet inspection"-nek neveznek; magyarul szoks nha mlyrehat csomagellenrzsnek vagy csomagtartalomvizsglatnak" hvni. Az IDS olyan - folyamatosan aktualizlt - adatbzissal rendelkezik, amely nyilvntartja a tmads rszeknt ismertt vlt csomagmintkat. Az IDS a csomagok thaladsakor azt vizsglja, hogy tall-e illeszkedst a fejrszmezk, illetve az adatmez s az adatbzisban nyilvntartott mintk kztt. Ha tall, riaszt. Az

illetktelen behatols elleni

vdelmi rendszer (intrsion prevention system, IPS) hasonlt az IDS-hez, attl azonban
abban klnbzik, hogy nemcsak riaszt, hanem blokkolja is a gyans csomagokat. A 8. fejezetben rszletesebben is foglalkozunk majd a tzfalakkal s az IDS-ekkel. Felvetdik a krds, hogy a tzfalak s az IDS-ek teljes kr vdelmet nyjtanak-e minden fele tmads ellen. Termszetesen nem, hiszen a tmadk mindig j megoldsokkal llnak el, amelyek mintja mg nem ismert. Hredmenyesen hasznlhatk az ismert tmadsok ellen. 1 1 Pv4-es cmek. Ezzel kapcsolatban lsd a RIPE 2007. oktber 29-i kzlemnyt a http://www.ripe.net/ news/community-stalement.html cmen. rdekessg: a RIPE szakemberei annyira ketsgbeej lnek lttk a helyzetet, hogy mg egy dalt is rtak rla, amelyet a YouTube-on jelen sorok rsakor a http:// \vww.youtube.com/watch?v=_y36fG2Oba0 cmre ltogatva hallgathatunk meg. A dal cme The Day

4.4.4. Az 1PV6 protokoll


Az 1990-es vek elejn az Internet Engineering Task Force (IETF) elindtotta az IPv4-pro- tokoll utdjnak fejlesztst, mivel vilgoss vlt, hogy a 32 bites IPcmtr ltal rendelkezsre bocstott cmek nyugtalant temben fogynak, s nem lesz elegend cm az

The Routers Died", s a RIPE55 konferencin hangzott el.

A fordt megjegyzse: Kicsit pontosabban arrl van sz, hogy az elszr 1979-ben specifiklt,
majd az 1990-ben megjelent RFC 1190-ben s az 1995-ben kiadott RFC 1819-ben tdolgozott ST, az Internet Stream Protocol datagramjainak fejrsze hasznlta az 5-s szmot a verzimezben (ahol az IPv4-es datagramok esetben 4-es, az IPv6-os datagramoknl pedig 6-os szm ll). Ha az IPv4 utd jnak sznt protokoll az 5-s szmot kapta volna, a datagramjait nehz lelt volna megklnbztetni az ST-datagramoktl; ezrt volt szksg az 5-s verziszm tugrsra. A kt emltett RFC a http://tools . ietf.org/html/rfcll90 illetve a http://tools.ietf.org/html/rfcl819 cmen rhet el. Az ST protokollt sohasem hasznltk.

internethez csatlakoz egyre jabb alhlzatok s csompontok egyedi cmekkel val elltsra. Az j, IPv6-protokoll kifejlesztsnl elsrend szempont volt a nagyobb cmtr ltrehozsa, de a fejlesztk arra is trekedtek, hogy az IPv4-gyel szerzett tapasztalatokat hasznostsk s kijavtsk az vek sorn megfigyelt hibkat. Az, hogy mikorra fogynak el vgrvnyesen az IPv4-cmek, komoly vitk trgya volt. Az IETFezzel foglalkoz Address Lifetime Expectation nev munkacsoportjnak kt egymstl eltr, mrvad vlemnye szerint ez 2008-ban, illetve 2018-ban kvetkezik majd be [Solensky 1996). Az American Registry fr Internet Numbers (ARIN) 1996-ban kiadott jelentse (ARIN 1996] szerint az IPv4 Aosztly cmeinek 100 szzalka, B osztly cmeinek 62 szzalka, C-osztly cmeinek 37 szzalka mr kiosztsra kerlt; erre vonatkoz jabb adatok a (Hain 2005] jelentsben tallhatk. Ezek a becslsek s adatok ugyan arra engedtek kvetkeztetni, hogy az IPv4-cmtr kimerlse meg egy ideig vrat magra, de az is vilgoss vlt, hogy egy j protokoll bevezetshez is idre lesz szksg. Ezt felismerve 1994-ben elindult az jgenercis IP, a Next Generation IP (IPng) fejlesztse [Bradner 1996; RFC 1752], ami vgl az IP 6-os verzijnak, az lPv6-nak a specifikcijhoz [RFC 2460] vezetett. (Gyakran feltett krds, hogy mit trtnt az IPv5-tel. Az eredeti tervek szerint az ST-2 protokollbl lett volna az IPv5, 2 de a ksbbiekben az RSVP-t rszestettk elnyben, s az ST-2 a sllyesztbe kerlt. Az RSVP-vel a 7. fejezetben foglalkozunk majd). Az IPv6-rl nagyon j ttekintst ad a The IP Next Generation Homepage [Hinden 2007] s Huitema knyve [Huitema 1998].

Az IPvG datagram formtuma


Az IPv6-os datagram formtuma a 4.23. brn lthat. Az IPv4-es datagramformtum- mal (4.13. bra) sszehasonltva szembetlek az albbi vltozsok: Bvtett cmzsi lehetsgek. Az IPv6 32 bitrl 128 bitre nveli az lP-cm mrett, s ezzel biztostja, hogy nem lesz hiny IP-cmekben, st, bolygnk akr minden egyes homokszeme kaphatna egyedi IP-cmet. Az IPv6 ezen tlmenen a unicast s multi- cast cmeken kvl egy jfajta cmet is bevezetett, a brkinek szl cmet (anyeast address), amelynek segtsgvel a datagramok a hosztok adott csoportjn bell brmelyik hosztnak kzbesthetk. (Az anyeast vagy brkinek-ads, pldul arra is hasznlhat, hogy egy HTTP GET zenetet kldjnk a mindenkor legkzelibbnek azok kzl a vvebszervcrek kzl, amelyeken elrhet egy adott dokumentum). Karcsstott 40 bjlos fejrsz. Az albbiakban ltni fogjuk, hogy az IPv4 fejrszben szerepl mezkkzl nmelyeket teljesen elhagytak, msokat pedigopcionliss tettek. Az gy ltrejtt 40 bjtos lland hosszsg fejrsznek ksznheten gyorsabb lett az IP-datagram feldolgozsa, az opcik megvltozott kdolsa pedig lehetv teszi rugalmasabb feldolgozsukat. Folyamcmkzs s priorits. Az IPv folyamra (flow) vonatkoz defincija kiss homlyos. Az RFC 1752 cs az RFC 2460 kimondja, hogy a folyamcmkzs lehetv teszi az olyan folyamhoz tartoz csomagok cmkzst, amelynek a kldje a folyamnak az tlagostl eltr kezelst kri, mint amilyen pldul az alaprtelmezettl eltr szogltatsminsg vagy a vals idej szolgltats. Ebben az rtelemben a hang- s mozgkptvitel is folyamnak minslhet, mg a

hagyomnyosabb alkalmazsok, mint amilyen a fjltvitel vagy az e-mail nem minslnnek annak. Elfordulhat, hogy egy nagy priorits felhasznl (pldul valaki, aki felrat fizet a jobb szolgltatsminsgrt) forgalmt szintn folyamknt kezelik. Vilgosan ltszik teht, hogy az IPv6 fejleszti elbe mentek annak az ignynek, hogy a folyamok kztt dif ferencilni kell majd, ha a folyam fogalmt nem is hatroztk meg pontosan. Az IPv6 fejrszben is tallhat egy 8 bites mez a forgalmi osztly megjellsre, amely az 1 Pv4 TOS-mezjhez hasonlan arra hasznlhat, hogy az adott folyamon bell egyes datagramok elsbbsget kapjanak, illetve, hogy egyes alkalmazsok (pldul az 1CMP) datagramjai prioritst lvezzenek ms alkalmazsok (pldul a Usenet news) datagramjaival szemben. A fentieknek megfelelen, ha a 4.23. brt sszehasonltjuk a 4.13. brval, egyrtelmen lthatjuk az IPv-datagram egyszerbb, hatkonyabb szerkezett. Az IPv6-data- gram az albbi mezket tartalmazza: Verziszm (version). Ez a 4 bites mez az IP verziszmnak azonostja, ami az IPv6 esetben nem meglep mdon a 6-os. Fontos tudni, hogy ha ebbe a mezbe 4-est runk, nem kapunk rvnyes IPv4-es datagramot (ami nagy kr, mert nagyban megknnyten az tllst az IPv4-rl az IPv6-ra, ahogy ezt a ksbbiekben ltni fogjuk).
32 bit 1 1 Verziszm Forgalmi osztly Adatmez hossza Folyamcmke Kvetkez fejrsz tszakasz-korlt Forrscm (128 bit) Clcim (128 bit) Adat

Forgalmi osztly (traffic elss). Ez a 8 bites mez hasonlt az IPv4-datagramok TOS-mezejhez. Folyamcmke (flow label). Ezt a 20 bites mezt a datagramok adott folyamnak az azonostsra hasznljk a fentebb lert mdon. Hasznos adat hossza (payload length). Ez az eljel nlkli egsz szmknt rtelmezett 16 bites rtk az IP-datagramban az lland hosszsg 40-bjtos fejrszt kvet bjtok szmt adja meg. - Kvetkez fejrsz (next header). Ez a mez azt adja meg, hogy az adott IPdatagram tartalmt (az adatmezt) melyik szlltsi rtegbeli protokollnak kell tovbbadni (pldul a TCP-nek vagy az UDP-nek). Ez a mez ugyanazokat az rtkeket hasznlja, mint az IPv4 fejrszben szerepl protokollmez. tszakaszkorlt (hop limit). Ennek az IPv4 TTL-mezjvel analg meznek az rtkt a datagramot tovbbt minden egyes tvlaszt eggyel cskkenti. Ma a mez rtke nullra cskken, az tvlaszt eldobja a datagramot. Forrs- s clcmek. A 128 bites IPv6-cmek klnbz formtumai

megtallhatk az [RFC 4291] forrsban. Adatok. Ez a mez tartalmazza az lPv6-datagram ltal szlltott hasznos adatot, amelyet a rendszer a cl elrsekor eltvolt az IP-datagrambl s tovbbad a kvetkez fejrszre mutat mezben megadott protokollnak. A 4.23. brn bemutatott lPv6-datagrani formtumt az IPv4-datagram formtum val (4.13. bra) sszehasonltva megllapthatjuk, hogy az albbi mezk hinyoznak az IPv6-datagramokbl:

Darabols/jbli sszeraks. Az IPv6 kizrlag a forrsnl s a clnl

engedlyezi a datagramok darabolst s jbli sszerakst, ez a mvelet a kztes tvlasztkon nem hajthat vgre. Az tvlaszt eldobja azt a berkez csomagot, amely tl nagy ahhoz, hogy tovbbthat legyen a kimen adatkapcsolaton, s egy Packet Too Big" (a csomag tl nagy) ICiMPhibazenetet kld a feladnak. 1 A felad ezt kveten kisebb IP-datagramokba csomagolva kldheti el jra az adatokat. A darabols s az jbli sszeraks sok idt vesz ignybe; az tvlasztkbl a vgrendszerekbe trtn thelyezse felgyorstja az IP-csomagok tovbbtst a hlzatban. Fejrsz ellenrz sszege. Mivei a szlltsi rtegbeli s az adatkapcsolati rtegbeli protokollok (a TCP s az UDP, illetve pldul az Ethernet) maguk is kpeznek ellenrz sszegeket, az IP fejleszti joggal rezhettk gy, hogy ez a funkci a hlzati rteg esetn elhagyhat. Lthat teht, hogy ebben az esetben is az IP-csomagok gyors feldolgozsa volt az elsrend szempont. Emlkezznk csak vissza az !Pv4 trgyalsakor elmondottakra (4.4.1. alfejezet): mivel az IPv4-es fejrsz (hasonlan az IPv6 tsza kaszkorlt mezejhez) tartalmaz egy TTL-mezt, minden tvlasztnl jra kell szmolni a fejrsz ellenrz sszegt, ami a darabolshoz s az jbli sszerakshoz hasonlan megnveli a csomagok feldolgozsnak idejt.

/\

fordt megjegyzse: Ehhez hasonl rtelm zenet az IPv4-es ICMP-ben is van: Destination
a Dl 7 (dont a fragment vagyis ne Ha darabold) emiatt jelzbittel megtilthatjuk nem az

un- reachable, fragmentation needed (a cl nem elrhet, darabolsra lenne szksg). Az IPv4 egyik fejrszbitjvel, tvlasztknak, hogy csomagot feldaraboljk. valamelyik tvlaszt tudja

kzbesteni a csomagot - mert az nagyobb, mint ami a kvetkez tszakaszon szllthat lenne akkor az imnt emltett hibajelzst kapjuk.

Opcik. Az opcik mez mr nem szerepel ugyan a szabvny IP-fej rszben, de nem is tnt el egszen. A kvetkez fejrszre mutat mez ugyanis az opcik mezre is mutathat, azaz az IP-csomagon bell a TCP-, illetve UDPprotokollfejrszeken kvl opcik mez is lehet a kvetkez fejrsz. Az opcik mez eltvoltsnak ksznheten az IPv fejrsznek hossza lland, minden esetben 40-bjt. A 4.4.3. alfejezetben emltettk, hogy az ICMP-t az IP-csompontok nem csak hibajelzsre, hanem korltozott mrtkben adattvitelre is hasznljk (pldul a ping-zenetre adott echo vlasz nem jelez hibt). Az IPv6 szmra az ICMP egy j verzijt is specifikltk, az RFC 4443-ban. Az ICMPv a meglv zenettpusok s kdok defincijnak mdostsn tlmenen kt j zenettpussal s kddal is bvtette a vlasztkot, amit az IPv j funkcii tettek szksgess. Az egyik a Packet Too Big (tl nagy csomag), a m sik pedig az unrecognized IPv6 options

(ismeretlen IPv-opcik) hibakd. Az ICMPv az internet csoportkezel protokolljnak (Internet Group Management Protocol, IGMP) funkciit is magba foglalja. Az IGMP (amellyel a 4.7. alfejezetben foglalkozunk majd) ke zeli a hosztok csatlakozst a multicast csoportokhoz, illetve az ezekbl val kilpsket. Az IGMP az IPv4-ben nll protokoll volt.

tlls az lPv4-rl az 1Pv6-ra


Most, hogy mr megismerkedtnk az IPv mszaki jellemzivel, trjnk t egy nagyon is gyakorlati krdsre: Hogyan valsul meg az IPv4-re pl nyilvnos internet tlltsa az IPv-ra? A problma az, hogy mg az IPv6-ot tmogat j rendszerek lefel kompatibiliss tehetk, azaz kpesek IPv4-es datagramok kldsre, tvlasztsra s fogadsra, addig a mr meglv IPv4-es rendszerek nem tudjk kezelni az IPv-datagramokat. A problma megoldsra azonban tbb megolds is knlkozik. Az egyik egy olyan nap kitzse lenne, amelyen kikapcsolnk az sszes internetes berendezst, s tlltank ket az IPv4-rl az IPv6-ra. Az utols jelents technikai tllsra (az NCP-rl a TCP-re a megbzhat szlltsi szolgltats rdekben) 1983. janur 1-jn kerlt sor. Mr akkor [RFC 801] vilgoss vlt, hogy rendkvl krlmnyes egy ilyen tllsi nap kitzse, pedig akkor az internet mg olyan kicsi volt, hogy igazgatst kis szm varzsl is el tudta ltni. Napjainkban pedig elkpzelhetetlen az egyik naprl a msikra trtn tlls, hiszen tbb szzmilli gpet, valamint rendszergazdk s felhasz nlk milliit rinten. Az RFC 4213 kt utat is felvzol (amelyek kln-kln, de egytt is jrhatk) az IPv6-hosztok s -tvlasztk fokozatos integrlsra az IPv4 vilgba, termszetesen azzal a cllal, hogy vgl megtrtnik az sszes IPv4csompont tlltsa az IPv-technikra. 1 Az IPv6-ot tmogat csompontok bevezetsnek felteheten legegyszerbb mdja a ktprotokollos (dual-stack) megolds, amelynl az IPv-csompontok teljes IPv4-proto- koll kszlet tel is rendelkeznnek. Ezek, az RFC 4213 terminolgijban IPv6/IPv4-es csompontnak nevezett csompontok mind az IPv4-, mind az IPv6-datagramok kldsre s fogadsra kpesek. Az IPv6/IPv4csompontok aszerint hasznlnak IPv4-, illetve IPv-datagramokat, hogy milyen csomponttal folytatnak prbeszdet. Az IPv/ Pv4-csompontoknak rendelkeznik kell mind IPv-, mind IPv4-cmekkel. Meg kell A fordt megjegyzse: rdemes elolvasni Dniel J. Bernstein professzornak a tmrl irt
(enyhn vitriolos) sorait a http://cr.yp.to/djbdns/ipv6mcss.html oldalon.

tudniuk hatrozni, hogy egy msik csompont tmogatja-e az IPv6-ot, vagy csak az IPv4-et. Ez a problma megoldhat a DNS segtsgvel (lsd 2. fejezet): megtehetjk, hogy a DNS-be ugyanahhoz a nvhez Pv6-os s IPv4-es cmet is bejegyznk aszerint, hogy az adott nven elrhet szmtgp melyik protokollkszletet tmogatja. Amennyiben a lekrdezst kld DNS-kliens csak az IPv4-et tmogatja, meg sem kell kapnia az IPv-os cmet a DNS-szervertl a vlaszban. A ktprotokollos megoldsnl IPv4-datagramot kell hasznlni, ha a kld s a fogad kzl az egyik csak az IPv4-et tmogatja. Ez ahhoz vezethet, hogy kt IPv6ot tmogat csompont vgeredmnyben szintn IPv4-datagramokat kld egymsnak, mint a 4.24. brn bemutatott pldnkban. Ttelezzk fel, hogy az A

csompont tmogatja az IPv6-ol, s IP-datagramot akar kldeni az F csompontnak, amely szintn tmogatja az IPv6-ot. Az A s B csompontok kldhetnek egymsnak IPv6-os datagramot, de a B csompont mr IPv4-es datagramot kell, hogy kldjn C-nek. Az IPv-datagram adatmezje min den tovbbi nlkl tmsolhat az IPv4-datagram adatmezjbe, s a megfelel cmmegfeleltets sem jelent problmt. Az IPv6-nak az IPv4-be trtn konverzijnl azonban lesznek olyan IPv6-mezk, amelyeknek nincs megfelelje az IPv4-datagramban (ilyen pldul a folyamazonost mez), s gy az azokban lv adatok elvesznek. Hz pldnkban azt jelenti, hogy br F. s F kldhetnek egymsnak IPv6-datagramokat, az E-nek D ltal kldtt IPv4-datagram mr nem tartalmazza az A ltal kldtt eredeti IPv-datagram sszes mezjt. Az RFC 4213 bemutatja a ktprotokollos megolds alagt tpus tvitelknt (tunneling) ismert alternatvjt is. Az alagt tpus tvitel lehetv teszi, hogy pldnknl maradva - K megkapja az A ltal kldtt teljes IPv6-datagramot. A tunneling az albbi mechanizmusra pl: Ttelezzk fel, hogy kt IPv6-os csompont (pldnkban mondjuk a B s az E) IPv-datagramokkal akar egymssal kommuniklni, de IPv4-tvlasztkon keresztl kapcsoldnak egymshoz. A kt IPv6-tvlaszt kztt elhelyezked IPv4-tvlaszt- kat tekintjk alagtnak (tnnl) a 4.25. brn bemutatott mdon. Az alagt kld vg nl lv IPv6-os csompont (pldul a B) az IPv6-datagram teljes tartalmt beleteszi egy IPv4datagram adatmezjbe, majd ezt a datagramot az alagt fogad vgnl lv IPv6-os csompontnak (mondjuk K-nek) cmezve elkldi az alagt els csompontjnak (mondjuk C-nek). Az alagtban lv IPv4-tvlasztk ezt a datagramot az sszes tbbi datagramhoz hasonlan egyms kztt tovbbtjk, tudomst sem szerezve arrl, hogy ez az lPv4-data- gram egy teljes IPvdatagramot tartalmaz. Az alagt vgn lv IPv6-os csompont cm-

84

4. A HLZATI RTEG

Folyam: X Forrs: A Cl: F

Forrs: A Cl: F

Forrs: A Cl :F

Folyam: ?? Forrs: A Cl: F

adatok adatok A S-nek: !Pv6 B C-nek: IPv4

adatok adatok
Df-nek: IPv4

E f-nek: IPv6

zettknt megkapja az IPv4-datagramot, megllaptja, hogy az egy IPv6-datagramot tartalmaz, majd a kinyert IPv6-datagramot ugyangy tovbbtja, mintha azt egy vele kzvetlen kapcsolatban ll szomszdos IPv6-os csomponttl kapta volna. Befejezsl megjegyezzk, hogy az IPv6 bevezetse kezdetben nmi ellenllsba tkztt [Lawton 2001), de az utbbi idben lthatan felgyorsult. Az Egyeslt llamok igazgatsi s kltsgvetsi hivatala (Office of Management and Budget, OMB) 2008 jniusra rta el az IPv6-ra val tllst. Az IP-t tmogat telefonok s ms hordozhat eszkzk elterjedse is hozzjrult ahhoz, hogy az IPv szles kr alkalmazsa mr nem vrat magra sokat. Eurpban a Third Generation Partnership Program [3GPP 2007) rtelmben az IPv lesz a mobil multimdia szabvnyos cmzsi mdja. Az IPv jvje biztosnak lt szik, annak ellenre, hogy a kidolgozst kvet els tz vben nemigen terjedt el. Tbb vtizedbe telt, mg napjaink immr csaknem fl vszzada bevlt telefonszm-rendszere vgre meghonosodott, s eddig jele sincs annak, hogy el fog tnni a sllyesztben. Az IPv esetben is ilyesmire szmthatunk: lass trhdts, amelyet hossz alkalmazs kvet. Brian Carpenter, az Internet Architecture Board (IAB) korbbi elnke 11AB 2007] s tbb IPv6-tal kapcsolatos RFC szerzje a kvetkezket mondta: Mindig gy tekintettem erre, mint egy 1995-ben kezddtt 15 ves folyamatra [Lawton 2001]; eszerint mr tl vagyunk az t ngytdn! Az eddigi tapasztalatok alapjn leszrhetjk azt a tanulsgot, hogy rettenetesen nehz megvltoztatni a hlzati rtegbeli protokollokat. Az 1990-es vek elejtl fogva szmos j hlzati rtegbeli protokollrl lltottk mr, hogy forradalmastani fogjk az interneLogikai nzet
IPv6 IPv6 IPv6
IPv6

Alagt

Fizikai nzet
IPv6 IPv6 , IPv4

Folyam:

Forrs: B Cl: Cl: F

Folyam: X Forrs: A

4.4. Az

INTERNET PROTOCOI. (IP):

TOVBBTS S CMZS AZ INTERNETEN

85

Forrs: A Cl: F Forrs: A adatok

Forrs: B Cl: E Folyam: X Cl: F

A 8-nek: IPv6
adatok

B C-nek: IPv4 (IPv begyazva) Folyam: X Forrs :A


Cl:/7 adatok f-nek: IPv6 adatok O f-nek: IPv4 (IPv6 begyazva)

tt, de eddig alig-alig terjedtek el. Ezek kz tartozik az IPv6, de tallunk kzttk tb- beskldses (multicast) protokollokat (4.7. alfejezet) s erforrs-lefoglal protokollokat (7. fejezet) is. j protokollok bevezetse a hlzati rtegben egy hz alapjnak a kicserlshez hasonlthat - nehz megcsinlni a teljes hz lebontsa, vagy legalbbis a lakk ideiglenes kiteleptse nlkl. Ezzel szemben az alkalmazsi rtegben mr volt plda j protokollok gyors bevezetsre. Klasszikus pldnak szmt a web, az azonnali zenetklds (instant messaging, 1M) s a P2P-fjlmegoszts, de ide sorolhatjuk a hang- s video- letltst s a hlzati jtkokat is. Mivel ilyenkor a meglev alapokon nem kell vltoztat ni, ha valaki valami igazn jt tall ki, hamarosan kvetkre tall. sszefoglalskppen megllapthatjuk, hogy a jvben az internet hlzati rtegben is lesznek vltozsok, de ezekre sokkal tovbb kell vrni, mint az alkalmazsi rtegbeli vltoztatsokra.

4.4.5. Rvid betekints az lP-biztonsg vilgba


A 4.4.3. alfejezetben viszonylag rszletesen foglalkoztunk az IPv4-protokollal, az ltala nyjtott szolgltatsokkal s azzal, hogy ezeket hogyan valstjk meg. Taln feltnt az olvasnak, hogy a biztonsgi szolgltatsokrl nem ejtettnk szt. Ennek az az oka, hogy az IPv4 fejlesztse arra az idre (az 1970-es vekre) esett, amikor az internetet elssorban a hlzatkutatssal foglalkoz kutatk hasznltk, akik klcsnsen megbzhattak egymsban. A tbb klnbz adatkapcsolati rtegbeli technikt integrl hlzat megalkotsa gy is hatalmas feladat volt, hogy nem kellett a biztonsggal trdni. Napjainkban azonban a biztonsg elsrend krdss lpett el, ami azzal jr, hogy az internettel foglalkoz kutatknak szmos j, tbbfle biztonsgi szolgltatst nyjt hlzati rtegbeli protokollt kell fejlesztenik. Ezek kzl viszonylag ismert az IPsec, amelyet a virtulis magnhlzatokban (virtual privt networks, VPN) is szleskren alkalmaznak. Az IPsec-keretrendszert s kriptogrfiai alapjait a 8. fejezetben trgyaljuk majd rsz letesebben, ebben a fejezetben csak az IPsec-szolgltatsokat tekintjk t rviden. Az IPsec fejleszti gyeltek r, hogy lefel kompatibilis legyen az IPv4-gvel s az lPv6-tal. Fontos, hogy az IPsec elnyeinek kihasznlshoz nem kell az internet sszes tvlasztjban s hosztjban kicserlni a protokollkszletet. Pldul az IPsec kt zemmdja 1 kzl az egyiket, a szlltsi zemmdot (transport mode) hasznlva kt hoszt egyms kztti biztonsgos kommunikcija gy is szavatolhat, hogy az IPsec csak ezen a kt hoszton ll rendelkezsre; az sszes tbbi tvlaszt s hoszt tovbbra is a megszokott IPv4-et hasznlhatja. Az albbiakban az IPsec szlltsi zemmdjval foglalkozunk. Ebben az zemmdban az els lps az, hogy kt hoszt egyms kztt ltest egy IPsecviszonyt. (Az IPsec teht sszekttets-alap!) A viszony ltrejttt kveten a kt hoszt ltal egymsnak kldtt sszes TCP- s UDP-szegmens hasznlhatja az IPsec ltal nyjtott biztonsgi szolgltatsokat. A kld oldalon a szlltsi rteg adja tovbb az adott szegmenst az IPsec-nek, amely titkostja, tovbbi biztonsgi 1 Titkostsimegllapods. Olyan mechanizmusok, amelyek segtsgvel a ktegy mssal kommunikl hoszt meg tud llapodni a titkostsi algoritmusokban s kulcsokban.

mezket csatol hozz, majd az gy keletkezett hasznos adatokat becsomagolja egy kznsges IP-datagramba. (Az eljrs a gyakorlatban ennl kicsit bonyolultabb; ezt a 8. fejezetben ltjuk is majd.) Ezek utn a kld hoszt az inter neten elkldi a datagramot a clhosztnak, ahol az IPsec visszafejti a szegmenst, s immr titkostatlanul tovbbadja a szlltsi rtegnek. Az IPSec-viszony az albbi szolgltatsokat nyjtja: IP-datagramok adatmezjnek titkostsa. Azt kveten, hogy a kld hoszt megkap egy szegmenst a szlltsi rtegtl, az IPsec titkostja az adatmezt, amelyet ezutn kizrlag a fogad hoszt IPSec-megvalstsa kpes visszafejteni. Adatintegrits. Az IPsec segtsgvel a fogad hoszt meggyzdhet arrl, hogy a fejrszmezkn s a titkostott adatmezn a forrs s a cl kztti ton semmilyen mdosts nem trtnt. Forrshitelests. Ha a hoszt egy megbzhatnak tartott kulccsal alrt (lsd 8. fejezetet) IPscc-datagramot kap, akkor biztos lehet abban, hogy a datagramban szerepl forrs IP-cm a datagram valdi feladj. Ha kt hoszt kztt ltrejtt az IPsec-viszony, akkor valamennyi egymsnak kldtt TCP- s UDP-szegmenst titkostjk s hitelestik. Az IPsec teht a kt hoszt kztti adatcsere egszre kiterjed biztonsgot nyjt az sszes hlzati alkalmazs esetben. A klnbz intzmnyek az IPsec segtsgvel biztonsgos adatcsert bonyolthatnak le a nem-biztonsgos nyilvnos internet felett. Vegynk pldul egy vllalatot, amelynl sok az utaz zletkt, s mindegyik vllalati laptopot hasznl. Ttelezzk fel, hogy gyakran kell hozzfrnik a vllalati telephely valamelyik szervern trolt rzkeny vllalati adatokhoz, s, hogy egymsnak is ilyen adatokat tartalmaz dokumentumokat kell kldenik. Mikppen szavatolhat ezek biztonsga az IPsec-kel? Egyszer: lltsuk be az IPsec-et a szerveren s az sszes laptopon, gy ezen szmtgpek egyms kztti kommu nikcija mindig biztonsgos lesz.

4.5. litvlaszt algoritmusok


A fejezet eddigi rszben elssorban a hlzati rteg tovbbtsi funkcijval foglalkoztunk. Megtudtuk, hogy az tvlaszt a csomag berkezst kveten a tovbbttblban szerepl adatok segtsgvel meghatrozza, hogy melyik interfszhez kell a csomagot tovbbtania. Azt is lttuk, hogy a hlzati tvlasztkon fut tvlaszt algoritmusok a tovbbttblk belltshoz szksges adatokat kiszmtjk s egyms kztt kicserlik. Az tvlaszt al goritmusok s a tovbbttblk kztti kapcsolatot a 4.2. brn mutattuk be. A tovbbtsi funkci vizsglata utn rtrhetnk jelen fejezet msik fontos tmjra, a hlzati rteg dnt fontossg tvlasztsi funkcijra. Fggetlenl attl, hogy a hlzati rteg datag- ram-szolgltatst nyjt (amelynl az egyes csomagok egymstl eltr utakon juthatnak el a forrstl a clig), vagy virtulisramkr-szolgltatst (amelynl minden csomag azonos utat hasznlva r clhoz), mindenkppen meg kell hatroznia a csomagok tvonalt a kldtl a

fogadig. Meg fogjuk ltni, hogy az tvlaszts (routing) elsdleges feladata egy j t (ms terminolgik szerint tvonal) meghatrozsa a forrs s a cl kztt. A hosztok ltalban kzvetlenl egy-cgy tvlaszthoz, a hoszt alaprtelmezett tvlasztjhoz (default router) csatlakoznak (amelyet a hoszt first-hop routernek, legkzelebbi tvlasztjnak is szoks nevezni). A hoszt ltal kldtt sszes (nem a helyi hlzatba szl) csomag elsknt a hoszt alaprtelmezett tvlasztjhoz kerl. A forrshoszt alaprtelmezett tvlasztjt forrstvlasztnak (source router), a clhosztt cltvlasztnak (destination router) fogjuk hvni. A csomagnak a forrshoszttl a clhosztig val eljuttatsa lnyegben a forrstvlaszttl a cltvlasztig val eljuttatst jelenti; ebben a fejezetben erre fordtjuk majd a legnagyobb figyelmet. Az tvlaszt algoritmus dolga teht az, hogy egy tbb tvlasztbl s adatkapcsolatbl ll rendszerben j utat talljon a forrs- s a cltvlaszt kztt. ltalban a legkisebb kltsggel jr utat tekintik j tnak. A gyakorlatban azonban ms, pldul zletpolitikai szempontok is szerepet jtszhatnak. Az olyan szablyok, mint pldul hogy az Y intzmny x tvlasztja ne tovbbtsa a Z intzmnybl szrmaz csomagokat, bonyolthatjk az elvben egyszer s elegns algoritmusokat, amelyek elmletre pl a mai hlzatok tvlasztsi gyakorlata. Az tvlaszt feladatokat grlbkkal szoks megfogalmazni. Emlkezznk arra, hogy a G = (N,) grf (graph) egy N csomponthalmaz s egy E lhalmaz egyttese, kiegsztve egy olyan relcival, amely megmondja, mely csompontprok kztt halad l (a relci az iV csomponthalmaz nmagval vett direktszorzatnak egy rszhalmaza; ennek a rszhalmaznak azok a csompontprok az elemei, amelyek kztt l halad). A hlzati rtegbeli tvlaszts problmjt gy modellezhetjk grfokkal, hogy a grf csompontjai felelnek meg az tvlasztknak (vagyis azoknak a pontoknak, ahol csomagtovbbtssal kapcsolatos dntseket hozunk), a csompontokat sszekt lek pedig az tvlasztk kztti fizikai adatkapcsolatokat jelkpezik. A 4.26. brn lthat egy szmtgp-hlzat grfalap meg jelentse. A gyakorlatban elfordul hlzatok trkpeit bemutat grfok a [Dodge 2007, Cheswick 2000| forrsokban tallhatk; a [Zegura 1997, Faloutsos 1999, Li 2004] forrsok azt vizsgljk, hogy a klnbz grfalap modellek mennyire jl kpezik le az internetet. A 4.26. brn lthat, hogy az lhez kltsget is lehet rendelni. Az lhez kapcsold kltsg sszefgghet a hozz tartoz adatkapcsolat fizikai hosszval (pldul egy transzatlanti kapcsolatnak nagyobb lehet a kltsge, mint egy rvid tvolsg fldfelszni kapcsolatnak), az adatkapcsolat tviteli sebessgvel, vagy az adatkapcsolat hasznlatval kapcsolatos pnzben mrt kltsggel. A tovbbiakban adottnak tekintjk az l-kltsgeket, s nem trdnk azzal, milyen fizikai mennyisget tkrznek. Brmely E-beli {x,y) l esetben c(x,^)-nal jelljk az * sy csompont kztti l kltsgt. Ha az l nem eleme -nek, akkor definci szerint c(x,y) = Kizrlag irnytatlan grfokkal foglalkozunk (azaz olyan gr fokkal, amelyek lei irnytatlanok), teht az (x,y) l azonos az ( y,x) llel, s c(x,y) = c(ytx). Egyy csompontot akkor s csak akkor tekintjk a* szomszdjnak, ha (*,;') eleme E-nek. Mivel a grfalap modellben az egyes lekhez kltsg tartozik, az tvlaszt

algoritmusnak magtl rtetden arra kell trekednie, hogy megtallja a forrsok s clok kztti legalacsonyabb kltsg utakat. A feladat preczebb megfogalmazshoz idzzk fel, hogy egy t (path) a G = (N,) grfban a csompontok olyan (*,, x2,..., x) sorozata, amelyben

minden egyes (xp ]txp) pr eleme E-nek. Az (xx, x2,..., x) t kltsge az utat kpez lek kltsgeinek sszege, azaz c(x,,x 2 ) + c(xytxy) + ... + c(xp {,x^). Brmely x s y csompont kztt ltalban tbb t is van, s mindegyiknek meghatrozhat a kltsge. Az sszes lehetsges t kztt van egy vagy akr tbb minimlis kltsg t (least-cost path). A minimlis kltsg tvonal megtallsnak problmja teht a kvetkez: tall juk meg azt az tvonalat, amely mentn a kltsgek sszege a legkisebb. A 4.26. brn v zolt pldban az u forrscsompont s a w clcsompont kztti legalacsonyabb kltsg t az (11, x,y, w), amelynek a kltsge 3. Vegyk szre, hogy ha grf sszes lnek megegyezik a kltsge, akkor a legalacsonyabb kltsg t egyben a legrvidebb t (shortest path) is. (A legrvidebb t kt csompont kztt az, amelyik a legkevesebb elet tartalmazza.) Egyszer gyakorlatknt prbljuk megtallni a 4.26. bra u s z csompontja kztti legalacsonyabb kltsg utat, s gondolkozzunk el azon, hogyan is hatroztuk meg! A legtbb emberhez hasonlan valsznleg gy jrtunk el, hogy az brn nyomon kvettnk nhny u s z kztti utat, majd valahogy meggyztk magunkat arrl, hogy az ltalunk vlasztott tvonal az sszes kztt a legalacsonyabb kltsg. De vajon mind a 17 lehet sges utat leellenriztk? Nem valszn! Ebben az esetben a kzpontostott tvlaszt algoritmus mintjra jrtunk el: az tvlaszt algoritmust egyetlen helyen (a fejnkben) futtattuk, mikzben teljes mrtkben ismertk a hlzatot. Az tvlaszt algoritmusokat osztlyozhatjuk aszerint, hogy azok globlisak vagy decentralizltak. A globlis tvlaszt algoritmus (global routing algorithm) a globlis hlzati jellemzk teljes ismeretben szmtja ki a forrs s a cl kztti legalacsonyabb kltsg utat. Ez azt jelenti, hogy az algoritmus az sszes csompont kztti sszekttetst s az sszes adatkapcsolat kltsgt bemen adatknt kezeli, vagyis az algoritmusnak a szmtsok megkezdse eltt valahogy hozz kell jutnia ezekhez az adatokhoz. A sz mts maga

futtathat egyetlen helyen (kzpontostott globlis tvlaszt algoritmus) vagy egyidejleg tbb helyen; a globlis tvlaszt algoritmust elssorban az kln bzteti meg a decentralizlttl, hogy az sszekttetsekre s az adatkapcsolati kltsgekre vonatkoz minden adatot ismer. A gyakorlatban a globlis llapotadatok birtokban lv algoritmusokat gyakran nevezik kapcsolatllapot-alap tvlaszt algoritmusnak (link-state [LS] algorithm), mivel az algoritmusnak ismernie kell a hlzat sszes adatkapcsolatnak kltsgt. Az LS-algoritmusokkal a 4.5.1. alfeje- zetben foglalkozunk majd. A decentralizlt tvlaszt algoritmus (decentralized routing algorithm) iteratv mdon s az adatkapcsolatokra vonatkoz rszleges informcik klcsns cserjvel szmtja ki a legalacsonyabb kltsg utat. A csompontok nem ismerik a hlzat sszes kapcsolatnak kltsgt, csak a hozzjuk kzvetlenl csatlakoz adatkapcsolatokt. A legalacsonyabb kltsg t meghatrozsa a szomszdos csompontokkal trtn folyamatos adatcsere s az ezen alapul iteratv szmtsi folyamat eredmnye. A 4.5.2. alfejezetben a decentralizlt tvlaszt algoritmusok kzl a tvolsg- vektor-alap (distance-vector, DV) algoritmusokkal foglalkozunk majd. Itt minden csompont egy a hlzat sszes csompontjt figyelembe vev tvolsgvektort kezel, amely az sszes csomponthoz men tvonal becslt kltsgt (tvolsgt) tartalmazza. Az tvlaszt algoritmusok aszerint is osztlyozhatk, hogy statikusak vagy dinamikusak. A statikus tvlaszt algoritmusok (static routing algorithms) esetben az utak idben nagyon lassan vltoznak, tbbnyire emberi beavatkozs eredmnyeknt (pldul valaki manulisan mdostja egy tvlaszt tovbbttbljt). A dinamikus tvlaszt algoritmusok (dynamic routing algorithms) a hlzati forgalom, illetve topolgia vltozsaihoz igazodva gyorsan vltoztatjk az utakat. A dinamikus algoritmus futtathat periodikusan, vagy a topolgia, illetve az adatkapcsolati kltsgek vltozsaihoz kzvetlenl igazodva. A dinamikus algoritmusok rzkenyebben reaglnak a hlzati vltozsokra, azonban fogkonyabbak az olyan problmkra, mint az tvonalmenti hurokkpzds, s az egymst kvet gyors tvllsok (toszcillcik). Az tvlaszt algoritmusokat egy harmadik szempont szerint osztlyozva beszlhetnk terhelsre rzkeny, illetve terhelsre nem rzkeny algoritmusokrl. A terhelsrzkeny algoritmusok (load-sensitive algorithms) esetben az adatkapcsolati kltsgek az adott adatkapcsolat pillanatnyi torldsi szintjnek fggvnyben dinamikusan vltoznak. Ha a pillanatnyilag torldsnak kitett adatkapcsolathoz hozzrendelt kltsg magas, az tvlaszt algoritmus inkbb olyan utakat fog vlasztani, amelyek elkerlik ezt az adat- kapcsolatot. A kezdeti A R PA net terhelsrzkeny tvlaszt algoritmusokat hasznlt [McQuillan 19801, ami szmos problmt okozott [Huitema 1998]. Napjainkban az inter net terhelsrzketlen (load-insensitive) algoritmusokat hasznl (ilyen a RIP, az OSP1 1 1 D(v): a forrscsompont s a v clcsompont kztt az algoritmus jelenlegi itercijig tallt minimlis kltsg t kltsge; p(v): az elz csompont (v szomszdja) a forrs s v kztti minimlis kltsg ton;

s a BGP); az adatkapcsolat kltsge nem tkrzi egyrtelmen az adatkapcsolat (pillanatnyi vagy mltbli) torldsi szintjt.

4.5.1. A kapcsolatllapot-alap tvlaszt algoritmus


A kapcsolatllapot-alap (link-state, LS) algoritmus esetben ismert a hlzati topolgia s az sszes kapcsolat kltsge, vagyis ezek a tnyezk bemeneti adatknt az LS-algorit- mus rendelkezsre llnak. A gyakorlatban ez gy valsul meg, hogy minden csompont az sszes tbbi csompontnak adatszrs tjn kapcsolatllapot-informcikat tartalmaz csomagokat kld, amelyek az adott csomponthoz tartoz adatkapcsolatok azonostjt s kltsgt tartalmazzk. A gyakorlatban (pldul az internet OSPl- tvlaszt protokolljnl, amelyre a 4.6.1. fejezetben trnk majd r) ezt sokszor valamilyen adatkapcsolat-llapot alap adatszr (link-state broadcast) algoritmus (lsd 4.7. fejezet) segtsgvel oldjk meg [Perlmann 1999]. A csompontok kztti adatszrs eredmnye knt az sszes csompont a hlzat teljes s azonos kpvel rendelkezik. gy mindegyik csompont kpes ugyangy lefuttatni az LS-algoritmust, s mindegyik ugyanazokat a minimlis kltsg utakat szmtja ki, mint a tbbi csompont. Mi az albbiakban a kidolgozjrl elnevezett Dijkstra-algoritmussal fogunk foglalkozni. Ezzel rokon a Prm-algoritmus; a grf-algoritmusok ltalnos trgyalsa megtallhat a [Cormen 2001] forrsban. A Dijkstra-algoritmus egy adott csompont (a tovbbiakban az u csompont) s a hlzat sszes tbbi csompontja kztti minimlis kltsg utat szmtja ki. A Dijkstra-algoritmus iteratv mdon jut el az eredmnyhez; a fc-adik iterci vgn k csomponthoz mint clcsomponthoz vezet minimlis kltsg utakat isme rnk meg, cs az sszes clcsomponthoz vezet minimlis kltsg t kzl ennek a k tnak a kltsge lesz a legalacsonyabb. Vezessk be az albbi jellseket: A 7 : a csompontok egy rszhalmaza; v akkor eleme ST-nek, ha bizonyosan ismert a forrs s v kztti minimlis kltsg t. A globlis tvlaszt algoritmus egy inicializl lpsbl s az azt kvet ciklusbl ll. A ciklus annyiszor hajtdik vgre, ahny csompont van a hlzatban. A vgrehajts befejezdsekor rendelkezsre llnak a legrvidebb utak az u forrscsompont s a hlzat sszes tbbi csompontja kztt.

Kapesolatllapot-alap (LS-) algoritmus az u forrscsompont esetben


v

1 2 3 4 5 6
7

Initialization:

N' = {u> fr all nodes v if v is a neighbor of u then D ( v ) = c ( u , v ) else D (v) = oo Loop find w nt in N' such that D ( w ) is a minimum add w to N'

7 8 9

10 update D ( v ) fr each neighbor v and nt in N': 11 D ( v ) = min( D ( v ) , D ( w ) + c ( w , v ) ) 12 / * new cost to v is either old cost to v known 13 least path cost to w plus cost from w to v */ 14 until N ' = N

of

or

Pldaknt szmtsuk ki a 4.26. brn bemutatott hlzat u csompontja s az sszes lehetsges cl kztti minimlis kltsg utakat! A 4.4. tblzat foglalja ssze az algoritmus llal kiszmolt eredmnyeket; a tblzat egyes sorai az algoritmus vltozinak az iterci vgn felvett rtkt adjk meg. Az albbiakban rszletesen is nyomon kvetjk az els lpseket:

Az inicializls sorn az -ti a v, x, s w kzvetlen szomszdaihoz vezet eddig ismert minimlis kltsg utak kltsge rendre 2, 1, illetve 5. Vegyk szre, hogy a w-hez vezet t kltsge 5, mivel ez az u s w kztti kzvetlen t kltsge (a ksbbiekben azonban ltni fogjuk, hogy ltezik ennl alacsonyabb kltsg t is). Az y-hoz s 2-hez vezet utak kltsgt az algoritmus vgtelennek veszi, mivel ezek a csom pontok nem kapcsoldnak kzvetlenl -hoz. Az els iterci sorn olyan csompontokat keresnk, amelyek mg nem elemei az N halmaznak, s kivlasztjuk kzlk azt, amelyhez vezet t kltsge az elz iterci vgn a legalacsonyabb volt. Ez azxcsompont (a hozz vezet t kltsge l);x-et hozzadjuk N-hz. Ezutn vgrehajtjuk az algoritmus 12. sort s minden csomponthoz vezet t D(v) kltsgt a megadott mdon aktualizljuk. A mvelet eredmnyt a 4.4. tblzat 1. lpshez tartoz sorban lthatjuk: a v-hez vezet t kltsge nem vltozott, viszont azt talltuk, hogy a vv csomponthoz az * csomponton t 4 kltsg t vezet, mg eddig csak egy 5 kltsg utat ismertnk (ezt mg az inicializls sorn talltuk). Termszetesen az alacsonyabb kltsg utat vlasztjuk, cs megjegyezzk, ahogy azt is, hogy a w-hez vezet minimlis kltsg ton a w eltti csompont x (nem pedig u, mint eddig). Analg mdon megllaptjuk s megjegyezzk, hogy x-en t y-ba 2 kltsggel juthatunk el. A msodik iterciban az N-n kvli csompontok kzl v-hez s y-hoz tartozik a minimlis kltsg t (a kltsg mind kt esetben 2); ezekkzl nknyesen kivlasztjuk mondjuk y-[ s hozzadjuk az N' halmazhoz, amely gy az u, x, y csompontokat tartalmazza. Ezutn az N-n kivli (v, vv, z) csompontokhoz vezet minimlis kltsg utak kltsgt aktualizljuk az algoritmus 12. sora szerint; az eredmnyek a 4.4. tblzat 2. lpshez tartoz sorban lthatk. s gy tovbb... Az LS-algoritmus vgrehajtst kveten megkapjuk minden egyes csompont eldjt a forrscsomponttl kiindul minimlis kltsg t mentn. Ugyanakkor minden eld eldjt is megkapjuk, s gy fel tudjuk pteni a forrs s az sszes cl kztti teljes utat. A (mondjuk az u) csompont tovbbttblja ezekbl az adatokbl gy llthat el, hogy minden cl esetben troljuk, melyik a kvetkez csompont (next hop) az u s az adott cl kztti minimlis kltsg t mentn. A 4.26. brn bemutatott hlzati topolgia alapjn meghatrozott valamennyi, wbl indul minimlis kltsg t s az u csompont tovbbttblja a 4.27. brn lthat.

4.4. tblzat. A kapcsolotllopot-alap algoritmus futtatsa a 4.26. brn bemutatott


hlzaton

Lps 0 1 2 3 4 5 u ux

N'

D(v),p{v) 2,u 2,u 2,u

D(w),p(w) 5,u 4,x 3,y 3,y

D(x),p(x) 1,u

D(y),p(y)
oo

D(z),p(z)
OO oo

2,x

uxy uxyv uxyvw uxyvwz

4,y 4,y 4,y

Cl Adatkapcsolat

V w X

(u, v) (u, X)

(u, x) (u, x)
(u, X)

y z

4.27. bra. Az u csompont minimlis kltsg tjai s tovbbttblja Mekkora ennek az algoritmusnak a lpsszma? Azaz, n csompont esetn (a forrst nem szmolva) hny szmtst kell elvgezni a legrosszabb esetben a forrs s az sszes cl kztti minimlis kltsg utak megtallshoz? Az els iterci sorn mind az n csompont kzl kell kikeresni azt a legalacsonyabb kltsg w csompontot, amely nem eleme iV-nek. A msodik iterci sorn n - 1 csompontot kell megvizsglnunk a legalacsonyabb kltsg meghatrozshoz, a harmadik sorn n - 2 csompontot, s gy tovbb. Az sszes iterci sorn sszesen ti(n + l)/2 csompontot kell megvizsglni. Ezrt kijelenthetjk, hogy az LS-algoritmus fenti implementcijnak legrosszabb esetben 0{ti2) a lpsszma. (Ltezik ennek az algoritmusnak egy kifinomultabb vltozata, amely egy kupacnak, angolul heapnek nevezett adatstruktra segtsgvel a 9. sorban a minimlis kltsg w-1 nem 0(/?), hanem 0(log ti) lps alatt tallja meg.) Mieltt befejeznnk az LS-algoritmus trgyalst, r szeretnnk mutatni egy lehetsges problmra. A 4.28. brn bemutatott hlzati topolgia esetben minden adatkapcsolat kltsge egyenl az adatkapcsolat terheltsgvel, pldul azrt, hogy a kltsg a vrhat ksleltetst rzkeltesse. Ebben a pldban az adatkapcsolatok kltsgei nem szimmetrikusak, azaz c(u,v) csak akkor egyenl c(v,w)-val, ha az (w,v) adatkapcsolaton szlltott adatok mennyisge mindkt irnyban megegyezik. Pldnkban a z s az A; csompont is ltrehoz egy-egy egysgnyi, v-nek sznt forgalmat, az y csompont pedig egy e nagysg forgalmat kld a rendszerbe, amelynek szintn w a clllomsa. A kezdeti tvlaszts a 4.28. (a) brn lthat; az adatkapcsolatok kltsgei a szlltott forgalom nagysgval arnyosak. Az LS-algoritmus kvetkez vgrehajtsakor az y csompont (a 4.28. (a) brn lthat adatkapcsolat-kltsgekre alapozva) megllaptja, hogy a v-hez az ramutat jrsval megegyez irnyban vezet t kltsge 1, mg az eddig hasznlt, az ramutat jrsval ellenttes irny 1 + e. Jelenleg a minimlis kltsg t y s w kztt teht az ramutat jrsval megegyez irny. Az a: csompont szintn erre az eredmnyre jut (a kltsgeket lsd a 4.28. (b) brn). Az LS-algoritmus kvetkez futsa sorn az A, y s z csompont az ramutat jrsval ellenttes irnyban nulla kltsg w-hez vezet utakat tall; gy aztn mindannyian ezeket az utakat kezdik hasznlni, majd az LS-algoritmus rkvetkez

vgrehajtsakor mind a hrom csompont ismt az ramutat jrsval megegyez irny utakra irnytja forgalmt. Hogyan elzhetk meg az ilyen gyors tvltsok (oszcillcik), amelyek nem csak az LS-algoritmusnl, hanem brmely, torlds- vagy ksleltetsalap adatkapcsolat-kltsget hasznl algoritmusnl is elfordulhatnak? Megoldst jelenthetne az, ha megszabnnk, hogy az adatkapcsolati kltsgek ne fggjenek a szlltott forgalom nagysgtl. Ez azonban elfogadhatatlan, hiszen az tvlaszts egyik clja a slyosan torldott (pldul nagy kslel tets) utak elkerlse. Egy msik megolds az lehetne, ha az LS-algoritmust az tvlasztk

a) Kezdeti tvlaszts

b) x s y elnysebb utat tall w-hez az ramutat jrsval megegyez irnyban

c) x, y s z elnysebb utat tall w-hez

d) x, y s z elnysebb utat tall w-hez

az ramutat jrsval ellenttes irnyban

az ramutat jrsval megegyez irnyban

4.28. bra. toszcillcik a torldsrzkeny tvlasztsnl nem egyidejleg futtatnk. Ez sszerbbnek tnik, mert mg ha az egyes tvlasztk azonos idkznknt futtatjk is az LS-algoritmust, akkor is remlhet, hogy kt vagy tbb csomponton fut pldny nem egyezik meg teljesen (mert ms-ms bemeneti adatokkal dolgozik). rdekes mdon azonban a kutatk azt talltk, hogy az internetes tvlasztk egymshoz szinkronizldhatnak [Floyd Synchronization 1994]; vagyis az algoritmusnak az egyes tvlasztkon fut pldnyai sszhangba kerlhetnek, s ez az sszhang fenn is maradhat mg akkor is, ha az tvlasztk kezdetben azonos periodicitssal, de eltr idpontokban futtatjk az algoritmust. Az effle nszinkronizci elkerlsnek egyik mdja az, ha mindegyik tvlaszt vletlenszer idpontokban kldi ki adatkapcsolathirdetseit. Trjnk most t a szintn gyakran hasznlt tvolsgvektor-alap algoritmus trgyalsra!

4.5.2. A tvolsgvektor-alap tvlaszt algoritmus


Mg az LS-algoritmus mindenre kiterjed, globlis adatokat hasznl, addig a tvolsgvektor-alap (distance-vector, DV) algoritmus iteratv, aszinkron s

elosztott. Elosztott abban az rtelemben, hogy minden csompont valamennyi informcit kap egy vagy

tbb kzvetlen szomszdjtl, majd az ezek figyelembevtelvel elvgzett szmtsok eredmnyeit a maga rszrl szintn megosztja szomszdaival. Az iteratv ebben az esetben azt jelenti, hogy ez a folyamat mindaddig folytatdik, amg fennll az informcicsere a szomszdok kztt. (A dolog rdekessge, hogy az algoritmus vgrehajtsa minden kls jel nlkl, nmagtl fejezdik be). Az algoritmus olyan szempontbl aszinkron, hogy nem kell az sszes csomponton szinkronban futnia. Ltni fogjuk, mennyivel rdekesebb s izgalmasabb egy olyan algoritmus, amely aszinkron, iteratv, nterminl s elosztott, mint az elbb trgyalt kzpontostott algoritmus. A DV-algoritmus bemutatsa eltt rdemes foglal koznunk egy a minimlis kltsg utak kztt fennll fontos sszefggssel. Legyen djy) az xs y csompont kztti minimlis kltsg t kltsge. A minimlis kltsgekre igaz a kvetkez, Bellmann-Ford-egyenlet nven ismert sszefggs:

dx(y) = min v {c(xy v) + dv{y))

(4.1)

ahol min v az x sszes szomszdjra vett minimum. Ez a magtl rtetd sszefggs az albbi okfejtsre pl: ha az jc-bl v-be val eljutst kveten a vbl a minimlis kltsg ton megynk j'-ba, a teljes t kltsge c(xyv) + dv(y) lesz, s mivel az t els lpsben mindenkppen x valamelyik v szomszdjhoz kell eljutnunk, az x s y kztti t kltsgnek minimuma megegyezik a c(.y,v) + / v (>>) sszeg valamennyi szomszdra vett minimumval. Az egyenlet rvnyessgt ktsgbe vonk kedvrt tegynk prbt a 4.26. b rn szerepl u forrscsompont s z clcsompont esetben! Az u forrscsompontnak hrom szomszdja van: a v, az x s a w csompont. A grf klnfle tjait bejrva knnyen belthat, hogy dl.(z) = 5ydx(z) = 3sdw(z) = 3. Ezeket az rtkeket s a c(w,v) = 2,c(//,.t) = I, c(u,vi) = 5 kltsgeket a (4.1) egyenletbe behelyettestve azt kapjuk, hogy du{z) = min {2 + 5,5 +3,1 + 3} = 4 ami nyilvnvalan igaz, s ami megegyezik a Dijk- stra-algoritmussal kapott eredmnynkkel. Az egyenlet rvnyessgnek eme gyors veri- fikcija remlhetleg eloszlatja a tamskodk ktsgeit; a matematikailag precz bizony tstl eltekintnk. A Bellman-Ford-egyenletnek nem csupn elvi, hanem nagy gyakorlati jelentsge is van: az egyenlet megoldsa szolgltatja ugyanis a bejegyzseket az x csompont tovbbttbljba. Ennek szemlltetsre ttelezzk fel, hogy v 1 egy olyan szomszdos csompont, amelyen t a (4.1) egyenlet rtelmben az y fel vezet t kltsge minimlis. Ebben az esetben az x csompontnak elsknt a v* csomponthoz kell tovbbtania azokat a csoma gokat, amelyeket minimlis kltsg ton szeretne az y csomponthoz eljuttatni. Ezrt az x csompont tovbbttblja a v* csompontot jelli meg soron kvetkez (next hop) t vlasztknt az y clcsomponthoz vezet ton. A Bellman-l ; ord-egyenlet msik jelents gyakorlati haszna az, hogy sejteni engedi a kzvetlen szomszdok kztti kommunikci jellegt a DV-algoritmus vgrehajtsa sorn. A gondolatmenet az albbi: minden* csompont kezdetben rendelkezik a tle az y csomponthoz vezet minimlis kltsg t kltsgre vonatkoz Dx(y) becslssel minden y e N csompontra. Legyen D = [Dx(y):y e N] az * csompont tvolsgvektora, amely az sszes tbbi y e N csompontba vezet t becslt 1 x minden kzvetlen v szomszdjra a kettjk kztti tszakasz c(x,v) kltsge;

kltsgt tartalmaz vektor. A DV-algoritmus vgrehajtsa sorn minden x csompont az albbi tvlasztsi adatokat tartja nyilvn: az .x csompont tvolsgvektora, azaz x-nek az sszes y e N clpontba vezet t kltsgeire vonatkoz becslst tartalmaz D = \Ds(y):y V]; minden v szomszd tvolsgvektora, azaz D = \D (y): y e N]. Az elosztott, aszinkron algoritmus gy mkdik, hogy minden csompont idnknt minden szomszdjnak elkldi sajt tvolsgvektora msolatt. Az x csompont a valamely v szomszdjtl kapott j tvolsgvektort elmenti, s a Bellman-Ford egyenletet felhasznlva az albbi mdon aktualizlja sajt tvolsgvektort:

Dx(y) = min v {c(. x, v) + Dv (>>)}

minden y e N csompontra

l la x tvolsgvektora a mvelet sorn megvltozik, akkor a megvltozott vektort elkldi minden szomszdjnak, amelyek ezt kveten szintn aktualizljk sajt tvolsgvektorukat. Csodval hatros mdon abban az esetben, ha az sszes csompont aszinkron mdon kicserli egymssal tvolsgvektorait, minden L) (y) kltsgbecsls dx(y)-hoz, az a: s az y kztti minimlis kltsg t valdi kltsghez tart (Bertsekas 1991].

Tvolsgvektor-alap (DV) algoritmus


Minden x csomponton:

1 2 3 4 5 6 7
8

Initialization: forall destinations y in N: = C X not a ( 'Y) t* it y neighbor then c(x,y) = x */ for each neighbor w D w (y) = oo. for all destinations y in N for each neighbor w send distance vector D.= (D v (y): y in N] to w
A

8 9 10
12

loop wait (until I see a link cost change tosome neighbor w or until I receive a distance vector from some neighbor w) for each y in N: D x (y) = min v {c(x,v) + D v (y)} if D (y) changed for any destination y send distance vector Dv = [D v (y): y in N] to all neighbors

11 12 15 13 14

18 19 forever 1

1 1Inicializls:

4.5. tvlaszt algoritmusok

101

Lthat, hogy a DV-algoritmus futsa sorn az a* csompont akkor aktualizlja becslt tvolsgvektort, ha valamelyik sajt adatkapcsolatnak kltsge megvltozik, vagy ha aktualizlt tvolsgvektort kap valamelyik szomszdjtl. Ahhoz, hogy az x csompont kitlthesse sajt tovbbttbljnak egy adott clra vonatkoz sort, nem azy-hoz vezet legrvidebb t hosszt kell ismernie, hanem azy-hoz vezet legrvidebb t mentn fekv soron kvetkez (next hop) v*(y) tvlasztt! Ez pedig, ahogy vrhat is volt, az a v szom szd, amelyet az algoritmus 14. sorban kerestnk meg; a 14. sorban szerepl kifejezs pont azt fejezi ki, hogy ez az a szomszd, amely az els lloms az y fel vezet legrvidebb ton. (Ha tbb ilyen szomszd is van, akkor brmelyikket tekinthetjk v*(y)-nak). Az A csompont az algoritmus 13-14. sorban minden^clcsompontra meghatrozza v*(y)-1, s aktualizlja tovbbttbljnak y-ra vonatkoz sort. Emlkezznk r, hogy az LS-algoritmus globlis abban az rtelemben, hogy minden csompontnak fel kell trkpeznie a teljes hlzatot ahhoz, hogy a Dijkstra-algoritmust futtathassa. A DV-algoritmus decentralizlt, s nem hasznl globlis adatokat. A csompont csak a kzvetlen szomszdaihoz tartoz kapcsolatok kltsgeit s az ezektl a szomszdoktl kapott adatokat ismeri. Mindegyik csompont aktualizlt rtkekre vr valamelyik szomszdjtl (10-11. sor), majd az aktualizlt rtket alapul vve kiszmtja j tvolsgvektort (14. sor), amelyet elkld szomszdainak (16-17. sor). A gyakorlatban szmos protokoll (gy pldul az internetes RIP s BGP, az ISO IDRP, a Novell IPX s az eredeti ARPAnet) hasznl DV-szer algoritmusokat. A 4.29. bra az bra tetejn bemutatott egyszer hromcsompontos hlzat esetre szemllteti a DV-algoritmus mkdst szinkron mdban, amikor az sszes csompont egyidejleg kap tvolsgvektorokat szomszdaitl, egyidejleg szmtja ki j tvolsgvektort s egyidejleg rtesti szomszdait a tvolsgvektor esetleges vltozsairl. Annak beltst, hogy az algoritmus aszinkron mdban is helyesen mkdik, vagyis akkor is, ha a csompontok egymstl eltr idpontokban vgzik el a fent emltett mveleteket, az olvasra bzzuk. Az bra els oszlopban a hlzat hrom csompontjnak kezdeti tvlaszt tbljt (routing table) lthatjuk (a bal fels sarokban pldul az A csompontt). Az tvlaszt tblkban minden sor egy-egy tvolsgvektornak felel meg. Mindegyik csompont tvlaszt tblja sajt s minden szomszdja tvolsgvektort tartalmazza. gy pldul az A csompont kezdeti tvlaszt tbljnak els sora a D = [Dx (A), Dx {y)> Dx ( z)\ = 0, 2, 7] tvolsgvektor. Ennek a tblnak msodik s harmadik sorban az illetve a z csomponttl legutbb kapott tvolsgvektorok szerepelnek, amelyek kezdeti rtke <*>, mivel az A csompont az inicializls pillanatban mg semmilyen adatot nem kapott az yt illetve a z csomponttl.
8 9 vgtelen ciklus 10 vrjunk (amig valamely w szomszdhoz vezet t kltsge megvltozik vagy 11 amig valamely w szomszdtl tvolsgvektort kapunk) 12 12 minden y e N clcsompontra:

102

4. A HLZATI RTEG

13 15 14 15 18

Dx(y) = minv{c(x,v) + Dv(y)> ha brmely y clcsompont Dx(y) kltsgbecslse megvltozott kldjk el a Dx = [Dx(y): y e N| tvolsgvektort sszes szomszdunknak

103

4. A HLZATI RTEG

Az x csompont tvolsgvektor-tblja
Clig

Clig x y z
X

Clig x y z
o ^
*2

xy z C0T7J
X </\
'2

y
z

Co

2 Tj>

*s\

0 23 2 01 3 10

y z

oo oo o oo oo

cR

7 1 OH

y z

Az y csompont tvolsgvektortblja
N Forrstl VC X

Clig x yz ;
OO OO OCB

Clig x y z \ j*

0 2 7 7 1 0

\L x
Z

Clig x y z 0 2 3

y
z

2 0 1 p y

2 0 1 3 1 0

2 0 jS
OO OO OO

A z csompont tvolsgvektortblja
Clig x y z

Clig x y z / / 027 5 x
* n

//

Clig x y z 'O *
A_^

0 2 3 2 0 1 3 1 0

2 >y z

2 0 1 //

is y
z

Id

4.29. bra. Tvolsgvektor-alap (DV) algoritmus Az inicializlst kveten minden csompont mindkt szomszdjnak elkldi sajt tvolsgvektort, amit a 4.29. brban a tblkat bzol els oszlopbl a tblkat brzol msodik oszlopba mutat nyilakkal jeleztnk. Pldul az x csompont az ^ s a z csompontnak is elkldi Dx = (0, 2, 7] tvolsgvektort. A szomszdai ltal kldtt tvolsgvektorok ismeretben mindegyik csompont jraszmtja sajt tvolsgvektort. Az x csompont az albbi szmtsokat vgzi el:
D(x) = 0

D v (y) = m i n {c(xyy) + D(y),c{x,z) + D_(y)} = m i n {2 + 0,7 + 1) = 2 D x (z) = m i n {c(x,y) + D k (z),c(x,z) + D_(z)| = m i n {2

4.26. bra. Szmtgp-hlzat absztrakt grfmodellje

104

4. A HLZATI RTEG

+ 0,7 + 0} = 3

4.5. TVLASZT

ALGORITMUSOK

105

A tblk msodik oszlopa gy minden csompont esetben az adott csompont j tvol sgvektorbl s a szomszdaitl jonnan kapott tvolsgvektorokbl ll. Vegyk szre pldul, hogy az x csompontnl a z csomponthoz vezet minimlis kltsg t kltsgnek becslt Dx(z) rtke 7-rl 3-ra vltozott. Vegyk szre tovbb, hogy x szmra az algoritmus 14. sorban az derl ki, hogy)' a minimlis kltsg utakon a soron kvetkez tvlaszt; vagyis x szmra v*(y) = y s v*\z) = y. Amennyiben egy csompont tvolsgvektora az jraszmts sorn megvltozott, az aktualizlt vektort jbl elkldi szomszdainak, amit a 4.29. brn a tblkat tartalmaz msodik oszlopbl a harmadik oszlopba mutat nyilakkal szemlltettnk. Vegyk szre, hogy csak az x s az csompont kld aktualizlt rtkeket, mivel az y csompont tvolsgvektora nem vltozott. A csompontok az aktualizlt rtkeket felhasznlva jraszmt jk tvolsgvektorukat, s ennek megfelelen aktualizljk tvlaszt tbljukat, amelyek tartalmt a ksrlet vgn a 4.29. bra harmadik oszlopban lthatjuk. Az aktualizlt tvolsgvektorok berkezse a szomszdoktl, az tvlaszttbla bejegy zseinek jraszmtsa s a szomszdok tjkoztatsa a clhoz vezet minimlis kltsg t kltsgeinek megvltozsrl akkor marad abba, ha megsznik az aktualizlt rtkek kldse. Ez utbbi esetben nem kerl sor az tvlaszt tblkra vonatkoz jabb szmt sokra, s az algoritmus nyugalmi llapotba kerl, azaz az sszes csompont a DV-algorit- mus 10-11. sorban ll vrakozsra vonatkoz utastst kveti. Az algoritmus mindaddig nyugalmi llapotban marad, amg nem vltozik meg valamelyik kapcsolat kltsge, ahogy azt az albbiakban ltni fogjuk.
r

\ volsgvektor-alap algoritmus: kapcsolatkltsg-vltozsok s kapcsolatmeghibsodsok

Ha a DV-algoritmust futtat csompont a valamely szomszdjhoz vezet adatkapcsolat kltsgben vltozst szlel (10-11. sor), akkor aktualizlja tvolsgvektort (13-14. sor), s a minimlis kltsg t kltsgben bekvetkezett esetleges vltozs esetn elkldi szomszdainak j tvolsgvektorl (16-17. sor). A 4.30. (a) bra azt a helyzetet szemllteti, amelynl a y-bl x-be vezet tszakasz kltsge 4-rl 1-re vltozott. Az albbiakban csak azt kvetjk nyomon, hogy ez miknt befolysolja az y s a z tvolsgvektornak az x clcsompontra vonatkoz koordintjt. A DV-algoritmus lefuttatsa sorn a kvetkezk jtszdnak le: / () idpontban azy csompont szleli a kapcsolatkltsg (4-rl 1-re trtnt) vltozst, aktualizlja tvolsgvektort s tjkoztatja szomszdait a mdostsrl. idpontban z megkapja^ mdostott tvolsgvektort, s aktualizlja sajt tbljt. Kiszmtja azx-hez vezet j minimlis kltsg t kltsgt (amely a korbbi 5-rl - ez a z-y-x t kltsge - 2-re cskkent), s elkldi szomszdainak j tvolsg vektort. t7 idpontban y megkapja z mdostott tvolsgvektort, s aktualizlja sajt tbljt. Mivel y minimlis kltsgeinek rtke nem vltozott, semmilyen zenetet nem kld z-nek. Az algoritmus nyugalmi llapotba kerl. A DV-algoritmus teht mr kt lps utn nyugalmi llapotba kerlt; az x s y kztti t kltsgnek cskkensre vonatkoz j hr gyorsan elterjedt a hlzatban.

19 ciklus vge

106

4. A HLZATI RTEG

4.30. bra. Az adatkapcsolat kltsgnek

megvltozsa

Nzzk meg, mi trtnik akkor, ha a kapcsolatkltsg n. Ttelezzk fel, hogy az a s az y kztti adatkapcsolat kltsge 4-rl 60-ra n (4.30. (b) bra). 1. A kltsg megvltozst megelzen D^x) = 4; Dpz) - 1; D.(y) = 1 s D:(x) = 5. tf idpontban azy csompont szleli a kapcsolatkltsg (4-rl 60-ra trtnt) vltozst, s kiszmtja az A-hez vezet j minimlis kltsg t kltsgt, amelyre az albbi eredmnyi kapja:

Dx (a) = min {c( v, x) + Dx(a), c(y,z) + D.(a)} = min {60 + 0, 1 + 5} = 6


A hlzat globlis jellemzinek ismeretben termszetesen tudjuk, hogy ennek a z-n keresztl vezet tnak az jonnan kiszmtott kltsge nem helyes (hiszen z 5 kltsg A-hez vezet tjnak els llomsa ppen y volt, viszont y-nak mr nincs 4 kltsg tja A-hez). De az y csompont csak azzal az informcival rendelkezik, hogy az t kzvetlenl x-szel sszekt t kltsge 60, s hogy a neki kldtt utols zenetben z arrl tjkoztatta, hogy maga egy 5-s kltsg ton tud eljutni Ahez. Ezeknek az informciknak a birtokban y termszetesen a 2-n keresztl vezet utat vlasztja A-hez abban a hamis tudatban, hogy z A-hez egy 5-s kltsg ton tud eljutni. Mindez azt eredmnyezi, hogy a t, idpontban tvlasztsi hurok (routing loop) alakul ki: az/csompont Aelrshezegyz-n keresztl vezet utat vlaszt ,z pedig egyy-on keresztl vezett. Az tvlasztsi hurok gy viselkedik, mint egy fekete lyuk: a ti idpontban y-ra vagy z-re berkez, A-nek cmezett csomag rkk (vagy a tovbbttblk mdostsig) ide-oda pattog/s z kztt. 2. Mivel azy csompont j legalacsonyabb kltsget szmtott ki az A-hez vezet tra, a , idpontban elkldi z-nekj
tvolsgvektort.

3. Kevssel t{ utn z megkapja y j tvolsgvektort, amelybl kitnik, hogy az y s a kztti minimlis kltsg t kltsge 6. Az csompont tudja, hogy 1-es kltsggel eljuthat y-ba, ezrt az A-hez vezet minimlis kltsg t kltsgnek kiszmtsakor a kvetkezre jut: Dpc) = min {50 + 0, 1 +6} = 7. A zs a kztti t kltsge teht ntt, z-nek j tvolsgvektort kell meghatroznia, amelyet t2 idpontban el is kld/-nak. 4. Hasonlkppen y is j tvolsgvektort hatroz meg, miutn megkapta z aktualizlt tvolsgvektort; D [x) = 8 lesz. Az j vektort elkldi z-nek, amely az ennek alapjn kapott D_(a) = 9 rtket tartalmaz vektort elkldi /-nak, s gy tovbb. Mikor szakad meg ez a folyamat? Annak beltst, hogy a hurok 44 itercin {y s z kztti zenetvltson) keresztl fennmarad, egszen addig, mg z egy 50-nl nagyobb rt ket nem kap azy-on keresztl vezet t kltsgre, az olvasra bzzuk. Ekkor dnt majd z gy, hogy a kzte s a kztti minimlis kltsg t az A-szel val kzvetlen sszekttets.

4.5. TVLASZT

ALGORITMUSOK

107

Ezt kveten az / csompont a z-n keresztl vezet utat vlasztja x-hez. A megntt kapcso- latkltsgrl szl rossz hr lassan terjedt el a hlzatban. Mi trtnt volna, ha a c(y,x) kapcsolat kltsge 4-rl 10 000-re n s a c(z,x) kltsg 9999? A fent ltottak miatt ezt a problmt a vgtelenig szmols problmjnak (count-to-infinily problem) is szoks nevezni.

Tvolsgvektor-alap algoritmus: rtalmas visszattal bvtve

A fent bemutatott hurokjelensg az rtalmas visszatknt (poisoned reverse) ismert eljrssal elkerlhet. Az alaptlet igen egyszer: ha z azy-on t vezet utat vlasztja x elrshez, akkor azt hirdeti y-nak, hogy a kzte s x kztti tvolsg vgtelen, azaz azt kzli y-nal, hogy D.(x) = oo (annak ellenre, hogy z valjban tudja, hogy Dz(x) = 5). A z csompont mindaddig kitart emellett az rtatlan hazugsg mellett, amg x elrshez egv v-on t vezet utat vlaszt. Mivel y ezek utn abban a hiszemben van, hogy z nem rendelkezik x-hez vezet ttal, mindaddig nem fog azzal prblkozni, hogy z-n keresztl jusson cl x-hez, amg z a rajta keresztl vezet utat vlasztja x-hez. Nzzk meg, miknt oldja meg az rtalmas visszat azt a hurokproblmt, amellyel a 4.30. (b) bra kapcsn szembesltnk. Az rtalmas visszat eljrs miatt y tvolsgvektorban D(x) = oo. Amikor a t0 idpontban az (x,y) kapcsolat kltsge 4-rol 60-ra n, y aktualizlja tbljt, s a 60-ra ntt kltsg ellenre tovbbra is a kzvetlen sszekttetst vlasztja x-hez, majd rtesti z-t az x-hez vezet t j kltsgrl, vagyis arrl, hogy D (x) = 60. z azt kveten, hogy a t{ idpontban megkapta y j tvolsgvektort, az 50-es kltsg kzvetlen (z,x) sszekttets mellett dnt. Mivel egy x-hez vezet j minimlis kltsg trl van sz, amely mr nem halad ty-on, za t> idpontban tjkoztatja y-[, hogy Dz(x) = 50. Az aktualizlt D.(x)-rtk ismeretben y is aktualizlja tvolsgvektort a D (x) = 51 rtkkel. Ezen tlmenen, mivel zimmry-nak azx fel vezet minimlis kltsg tvonala mentn tallhat,/rtalmasnak nyilvntja a zs x kztti utat azzal, hogy /. idpontban azt kzli z-vel, hogy D (x) = oc (annak ellenre, hogy y tudja, valjban D (x) = 51). xMegoldja az rtalmas visszat mdszere a vgtelenig szmols problmjt? Sajnos nem. Az olvas egy gondolatksrlettel meggyzdhet arrl, hogy a nem csak kt szomszdos tvlasztbl ll, hanem hrom vagy tbb csompontot rint hurkokat az rtalmas visszat mdszere nem ismeri fel s nem is sznteti meg.

Az LS- s a DV-algoritmusok sszehasonltsa


A DV- s az LS-algoritmusok egymst kiegszt mdon kzeltik meg az tvlaszts problmjt. A DV-algoritmus esetben minden csompont kizrlag kzvetlen szomszdaival folytat prbeszdet, ugyanakkor kzli szomszdaival a kzte s az ltala ismert sszes tbbi csompont kztti minimlis kltsg t becslt kltsgt. Az LS-algoritmus esetben minden csompont az sszes tbbi csomponttal folytat ugyan (adatszrsos) prbeszdet, de kizrlag a kzvetlenl hozz tartoz adatkapcsolatok kltsgeirl tjkoztatja ket. Zrjuk le az LS- s DV-algoritmusok trgyalst nhny jellemzjk ssze hasonltsval. Ehhez idzzk fel, hogy N a csompontok (tvlasztk), E pedig az lek (adatkapcsolatok) halmaza. Az N halmaz szmossgt |N|-nel fogjuk jellni.

19 ciklus vge

4.5. TVLASZT

ALGORITMUSOK

____

108

csompontot az j kltsgrl, valahnyszor megvltozik valamely adatkapcsolat kltsge. A DV-algoritmus esetben a kzvetlen szomszdoknak minden iterci sorn zenetet kell vltaniuk. Lttuk, hogy szmos tnyeztl fgghet, hogy mikor alakul ki stacionrius llapot. 1 A DV-algoritmus egy adatkapcsolat kltsge megvltozsnak hatsra csak akkor kld zenetet a szomszdainak, ha a vltozs kvetkeztben valamely csomponthoz vezet minimlis kltsg t kltsge is megvltozott. Az algoritmus sebessge. Mennyi id szksges az egyenslyi llapot elrshez? Lttuk, hogy LS-implementcink egy 0(|N| 7 ) lpsszm, 0(|N| | E|) zenet elkldst ignyl algoritmus. A DV-algoritmus bizonyos esetekben lass, s amg a hlzat el nem ri az egyenslyi llapotot, ltezhetnek tvlasztsi hurkok. Tovbbi nehzsg a DV-algoritmus esetben a vgtelenig szmols problmja. Robusztussg. Mi trtnik akkor, ha egy tvlaszt kiesik, hibsan mkdik vagy egy tmad befolysa al kerl? Az LS-algoritmus esetben egy csompont valamelyik hozz tartoz adatkapcsolatra vonatkozan helytelen kltsget kldhetn szt a tbbi csompontnak (de csak sajt adatkapcsolatainak kltsgt illeten van lehetsge tvedni). Az is elfordulhat, hogy valamelyik csompont az LS-es adatszrs sorn kapott csomagokat eltorztja vagy eldobja. Egy adott LS-csompont azonban kizrlag sajt tovbbttblit szmtja ki, s ez a tbbi csompontra is elmondhat. Ez azt jelenti, hogy az tvlasztsra vonatkoz szmtsok nmikppen elklnlnek egymstl, ami bizonyos fok robusztussgot biztost az LSalgoritmusnak. A DV-algoritmus esetben egy csompont brmelyik vagy akr az sszes clra vonatkozan helytelen minimlis kltsg utakat hirdethet. (Erre konkrt plda is van: 1997-ben egy kis internetszolgltat meghibsodott tvlasztja hibs tvlaszt adatokkal ltta el az USA orszgos gerinchlzati tvlasztit. Ennek kvetkeztben ms tvlasztk a meghibsodott tvlasztt elrasztottk forgalommal, ami vgl ahhoz vezetett, hogy az internet nagy rszei tbb rn keresztl elrhetetlenek voltak [Neumann 1997].) ltalnosabban fogalmazva megjegyezzk azt, hogy minden egyes iterci sorn egy csompont DV-szmtsa tovbbtdik szomszdjnak, s ezutn kzvetve a kvetkez iterci alkalmval a szomszd szomszdjnak. Ebben az rtelemben egy csompont pontatlan szmtsa sztterjedhet az egsz DV-s hlzaton. Megllapthatjuk teht, hogy egyik algoritmus sem egyrtelmen jobb a msiknl; nem vletlen, hogy az interneten mind a kettt hasznljk.

Egyb tvlaszt algoritmusok


Az LS- s DV-algoritmusok nemcsak, hogy szles krben elterjedtek, de napjainkban az interneten is gyakorlatilag kizrlag ezt a ktfajta tvlaszt algoritmust hasznljk. Ezzel egytt kutatk szmos ms tvlaszt algoritmust is javasollak az elmlt 30 v sorn, a legegyszerbbektl a nagyon kifinomultakig s sszetettekig. Ezek egy rsze a csomagfor- galmat a hlzati forrsok s clok kztti folyamoknak tekinti. Ebben a megkzeltsben az tvlaszts matematikailag egy korltos optimalizlsi feladatknt foghat fel, amely hlzati folyamproblma nven vlt ismertt [Bertsekas 1991]. Az algoritmusok msik

4.5. TVLASZT

ALGORITMUSOK

109

csoportja a telefonia vilgban gykerezik. Ezek a vonalkapcsols tvlaszt algoritmusok (circuit-switched routing algorithms) a csomagkapcsols hlzatokban akkor juthatnak szerephez, amikor fizikai adatkapcsolatonknti erforrsokat (pldul puffere- ket vagy a fizikai kapcsolat svszlessgnek egy rszt) kell lefoglalni a fizikai adatkapcsolatot rint minden hlzati adatkapcsolat szmra. Annak ellenre, hogy az tvlasztsi feladat megfogalmazsa ltszlag jelentsen eltr az itt trgyalt minimlis kltsgen alapul tvlasztsi feladattl, van egy sor hasonlsg is, legalbbis az tvlaszt algoritmust illeten. Az tvlaszt algoritmusok kutatsnak krdseivel s eredmnyeivel [Ash 1998; Ross 1995; Girard 1990] foglalkozik rszletesen.

4.5.3. A hierarchikus tvlaszts


Az LvS- s DV-algoritmusok trgyalsnl a hlzatot leegyszerstve egymssal sszekttt tvlasztk egyttesnek tekintettk. Az tvlasztkat egyformnak tekintettk: mindegyik ugyanazt az tvlaszt protokollt futtatta a hlzat egszt tszel tvonalak kiszmtsra. A gyakorlatban ez legalbb kt okbl tlegyszersts: Az tvlasztk szmnak nvekedsvel a szmtsi, adattrolsi s az tvlasztsi adatokat (pldul minimlis kltsg utak vagy adatkapcsolatok llapotvltozsait) tartalmaz zenetek tovbbtsi kltsgei elfogadhatatlann vlnak. Napjainkban a nyilvnos internet tbb szz milli hosztbl ll. Ahhoz, hogy minden hoszt trolja az tvlasztsra vonatkoz adatokat, rengeteg memrira lenne szksg. Az l.S-llapotzenetek minden hosztra val sztkldshez annyi svszlessgre lenne szksg, hogy felhasznli adatcsomagok tovbbtsa mr nem is lenne lehet sges! Egy ilyen nagyszm tvlaszt adatait feldolgoz tvolsgvektoralap algorit mus pedig soha nem kerlne egyenslyba. Valamit teht tenni kell, hogy az interneten s a hozz hasonl nagymret hlzatokban egyszerbb vljon az utak kiszmtsa. Hlzatigazgasi autonmia. A kutatk hajlanak arra, hogy figyelmen kvl hagyjk a vllalatok hlzatigazgatsi autonmia irnti ignyt (pldul azt, hogy megvlaszthassk, milyen algoritmust futtatnak tvlasztikon), vagy azt, hogy hlzataik bels felptst rszben el szeretnk rejteni a klvilg ell, pedig ezek fontos szempontok. A kvnatos az lenne, ha a vllalatok sajt ignyeik szerint gy zemeltethetnk s igazgathatnk hlzataikat, hogy azok tovbbra is sszekapcsolhatk legyenek ms, kls hlzatokkal. Mindkt fent emltett problma megoldhat az tvlasztk autonm rendszerekbe (autonomous systems, ASs) trtn szervezsvel. Az egyes AS-eket alkot tvlasztk rendszerint ugyanazon adminisztratv irnyts alatt llnak (pldul ugyanaz az internetszolgltat zemelteti ket, vagy ugyanahhoz a vllalati hlzathoz tartoznak). Egy adott AS-en bell minden tvlaszt ugyanazt az tvlaszt algoritmust futtatja (pldul egy LS- vagy egy DV-algoritmust), s ugyangy informcikkal rendelkezik a tbbi tvlasztrl, mint az elz fejezetben trgyalt idealizlt modell esetben. Az autonm rendszeren bell fut tvlaszt 19 ciklus vge algoritmust autonm rendszeren belli tvlaszt protokollnak (intra-

Sklzhatsg.

110

4. A HLZATI RTEG

autonomous system routing protocol) nevezzk. Termszetesen az AS-ek sszekapcsolsra is szksg van, ezrt vannak olyan AS-eken belli tvlasztk, amelyeknek

4.5. tvlaszt algoritmusok

111

egyb feladataikon kvl a csomagoknak az AS-en kvli clokhoz val tovbbtst is el kell ltniuk. Ezeket az tvlasztkat hvjk tjr tvlasztknak (gateway routers). A 4.31. brn az AS-ek sszekapcsolsnak egyszer pldjt lthatjuk, amelyben hrom AS vesz rszt: az AS1, AS2 s AS3. Az brn a vastag vonalak jellik a kt-kt tvlaszt kztti kzvetlen fizikai sszekttetst, az tvlasztkbl kiindul vkonyabb vonalak pedig az tvlasztkhoz kzvetlenl kapcsold alhlzatokat. Az ASl-ben ngy tvlaszt tallhat: az la, az 1b, az le s az ld, amelyek mindannyian valamely konkrt, az ASl-en bell hasznlatos tvlaszt protokollt futtatnak, s mindegyik tudja, hogyan kell az ASl-en belli brmelyik clhoz az optimlis tvonalon csomagokat tovbbtani. Az AS2-ben s az AS3-ban hrom-hrom tvlaszt tallhat. Fontos, hogy az ASl-ben, az AS2-ben s az AS3-ban hasznlt tvlaszt protokollok klnbzhetnek. Vegyk szre, hogy az lb, le, 2a s 3a tvlasztk tjr tvlasztk. Most mr tudjuk, hogy az AS-en belli tvlasztk hogyan hatrozzk meg az AS-en belli forrs-cl prok kztti tvonalakat. De honnan tudja egy AS-en belli tvlaszt, hogyan juttathatja el a csomagokat az adott AS-en kvli clokhoz? A krds egyszer, ha az AS egyetlen tjr tvlasztval rendelkezik, s az csak egyetlen msik AS-hez kapcsoldik. Ebben az esetben mindegyik bels tvlaszt tudja, hogyan juttassa clba a csomagot, hiszen az AS-en belli tvlaszt algoritmus minden bels tvlaszt s az tjr tvlaszt kztti minimlis kltsg utat meghatrozta. Az tjr tvlaszt a hozz berkez csomagot azon az egy adatkapcsolaton tovbbtja, amely kivezet az AS-bl. Ezt kveten az adatkapcsolat msik oldaln lv AS feladata lesz, hogy a csomagot eljuttas sa a clhoz. Pldaknt tegyk fel, hogy a 4.31. bra 2b tvlasztja olyan csomagot kap, amelynek clja az AS2-n kvl van. A 2b tvlaszt az AS2 bels tvlaszt protokolljnak megfelelen konfigurlt tvlaszt tblja alapjn a csomagot a 2a vagy a 2c tvlaszthoz

112

4. A HLZATI RTEG
^ Autonm rendszereKX kztti (inter-AS) tvlaszt algoritmus Tovbbttbla

4.5. tvlaszt algoritmusok

113

tovbbtja. A csomag vgl eljut a 2a tjr tvlaszthoz, amely az 1b tvlasztnak tovbbtja. Az AS2-nek, azt kveten, hogy a csomag elhagyta a 2a tvlasztt, mr semmit nem kell tennie ennek a csomagnak a clbajuttatsrt. A problma teht knnyen megoldhat, ha a forrs-AS csak egyetlen kivezet adatkapcsolattal rendelkezik. De mi van akkor, ha az AS-nek (kt vagy tbb tjr tvlasztn keresztl) kett vagy tbb ilyen kapcsolata van? Ebben az esetben sokkal nehezebb annak eldntse, hogy hov kell a csomagot tovbbtani. Tegyk fel pldul, hogy egy ASl-en belli tvlaszt kap egy olyan csomagot, amelynek a clllomsa az AS-en kvl van. Az tvlasztnak nyilvnvalan a kt tjr tvlaszt (lb s le) valamelyikhez kell tovbb tania a csomagot, de vajon melyikhez? Ennek a problmnak a megoldshoz az ASl-nek (1) meg kell tudnia, hogy mely clok rhetk el az AS2-n s melyek az AS3-on keresztl; (2) el kell juttatnia ezt az elrhetsgi informcit az sszes tbbi ASl-en belli tvlaszthoz azrt, hogy mindegyik tvlaszt az AS-en kvli clok kezelsnek megfelelen konfigurlhassa tovbbttbljt. Ezt a kt feladatot - az elrhetsgi informcik megszerzst a szomszdos AS-ektl s ezeknek az informciknak az AS-en belli sszes tvlaszthoz val eljuttatst - az AS-kzi tvlaszt protokoll (inter-AS routing protocol) ltja el. Az egymssal kommunikl kt AS-nek azonos AS-kzi tvlaszt protokollt kell futtat nia ahhoz, hogy ez a protokoll a kt, egybknt klnll, AS kztti kommunikcit meg tudja valstani. Az interneten valjban az sszes AS ugyanazt az AS-ek kztti tv laszt protokollt - a BGP4-et - futtatja. A BGP4-gycl a kvetkez fejezetben foglalkozunk majd. xVlinden tvlaszt mind az AS-en belli, mind az AS-ek kztti protokolltl kap informcit (lsd 4.31. bra) tovbbittblja konfigurlshoz. Pldaknt vegynk egy a ClDR-cmvel adott x alhlzatot, s ttelezzk fel, hogy az AS1 az AS-kzi tvlaszt protokolltl megtudja, hogy az x alhlzat elrhet az AS3-on, de nem rhet el az AS2-n keresztl. Az AS1 ezt az informcit minden tvlasztjnak sztkldi. Amikor az Id tvlaszt megtudja, hogy az x alhlzat AS3-on, azaz az le tjrn keresztl rhet el, az AS-en belli tvlaszt protokoll segtsgvel meghatrozza, melyik interfszn kell kikldenie a csomagokat annak rdekben, hogy a kzte s az 1c kztti minimlis kltsg ton haladjanak; nevezzk ezt az interfszt /-nek. Az ld ezt kveten tovbbttbljban elhelyezi az (x,I) bejegyzst. (Ebben s a fejezetben szerepl tbbi pldban szmos egyszerstssel lnk annak rdekben, hogy az alapelveket szemlletesebben mutathassuk be. Az interneten valjban az itt lertnl bonyolultabban trtnik mindez; a kvetkez fejezetben rszletesebben s kevsb leegyszerstve foglalkozunk majd a tmval a BGP kapcsn). A fenti pldnl maradva, ttelezzk fel, hogy az AS2 s az AS3 az brn nem lthat tbb ms AS-hez is kapcsoldik, tovbb, hogy az ASl az AS-kzi tvlaszt protokolltl megtudja, hogy az x alhlzat az lb tjrn keresztl az AS2-bl, az le tjrn keresztl pedig az AS3-bl is elrhet. Az ASl minden tvlasztjt, gy az ld-t is tjkoztatja errl. Az ld tvlasztnak tovbbttblja konfigurlshoz meg kell hatroznia, hogy az x alhlzatba eljuttand csomagokat az lb vagy az le tjr tvlaszthoz tovbbtsa. Megoldst jelenthet a gyakran hasznlt forr krumpli (hot-potato) tvlaszts. A hot- potato tvlaszts sorn az AS a lehet leggyorsabban - illetve szigoran vve a lehet legolcsbban - megszabadul a csomagtl (a forr krumplitl) olyan mdon, hogy az rin tett tvlaszt a

114

4. A HLZATI RTEG

csomagot a clhoz vezet ttal rendelkez tjrk kzl ahhoz tovbbtja, amely tle a legkisebb kltsggel rhet el. jelenlegi pldnkban ez gy nzne ki, hogy az ld-n fut hot-potato tvlaszt algoritmus az AS-en belli tvlaszt protokolltl kapott informcik alapjn meghatrozn az lb-hez s az lc-hez vezet utak kltsgt, majd ezek

4.5. tvlaszt algoritmusok

121

Tudomst szerznk az AS-kzi protokoll- tl, hogy az x alhlzat tbb tjrn keresztl is elrhet. A szba jv tjrkhoz

vezet minimlis kltsg utak kltsgnek kiszmtsa az AS-en belli protokoll segtsgvel Hot-potato (forr

krumpli) tvlaszts: annak az tjrnak a kivlasztsa, amelyhez vezet minimlis kltsg t kltsge a legkisebb. A tovbbttbla

segtsgvel a legalacsonyabb kltsg tjrhoz vezet I interfsz meghatrozsa. Az (x,l) bejegyzs elhelyezse a tovbbttblban.

4.32. bra. Az AS-en kvli clra vonatkoz bejegyzseknek a tovbbttblba

trtn bejegyzst megelz lpsek


kzl kivlasztan azt, amelynek a kltsge a legalacsonyabb, s az x alhlzatra vonatkozan ennek megfelel bejegyzst helyezne el tovbbttbljban. A 4.32. bra szemllteti az ld tvlasztn lejtszd esemnyeket, amelyek megelzik azx-re vonatkoz j bejegyzs elhelyezst a tovbbttblban. Ha egy AS tudomsra jut, hogy egy adott cl valamelyik szomszdos AS-en keresztl elrhet, akkor ezeket az elrhetsgi informcikat hirdetheti szomszdos AS-ek fel. Tegyk fel pldul, hogy az AS1 megtudja az AS2-tl, hogy az A: alhlzat elrhet az AS2-n keresztl. Ekkor az ASl kzlhetn az AS3-mal, hogy X elrhet az ASl-en keresztl. Az AS3 teht az ASl-nek tovbbtan az x-nek cmzett csomagot, az ASl pedig az AS2-nek. Ltni fogjuk a BGP trgyalsnl, hogy az AS-ek meglehetsen rugalmasan dnthetnek arrl, mely clokat hirdetik a szomszdos AS-ek fel. Ezek a hlzat tulajdonosainak stratgiai jeWeg dntsei, s inkbb zleti, mint mszaki megfontolsoktl fggenek. Az 1.5. alfejezetben mr szltunk arrl, hogy az internet egymssal hierarchikusan sz- szekapcsolt internetszolgltatkbl ll. Hogyan viszonyulnak egymshoz az internetszolgltatk s az AS-ek? Kzenfekv lenne azt gondolni, hogy egy adott internetszolgltat tvlaszti s az ket sszekt adatkapcsolatok egyetlen AS-t alkotnak. Noha ez gyakran van gy, szmos internetszolgltat tbb AS-re bontja fel hlzatt. gy aztn vannak leg felsbb szint (tier-1) internetszolgltatk, amelyek egyetlen AS-knt kezelik egsz hl zatukat, s olyanok, amelyek tbb tz egymssal sszekttt AS-be particionljk. sszefoglalsul megllapthatjuk, hogy a sklzhatsg s az adminisztratv fennhatsg, a hlzat igazgatsi autonmia krdse megoldhat autonm rendszerek kialaktsval. Egy AS-en bell az sszes tvlaszt ugyanazt az AS-en belli tvlaszt protokollt futtatja. Az AS-ek az egyms kztti kommunikci biztostsa rdekben ugyanazt az AS-kzi tvlaszt protokollt futtatjk. A sklzhatsg problmjt gy oldjk meg, hogy az adott AS-en belli tvlasztknak kizrlag a sajt AS-k tvlasztinak adatait kell ismernik. Az adminisztratv autonmia is adott, hiszen minden intzmny maga dntheti el, hogy melyik AS-en belli tvlaszt protokollt futtatja; arra azonban oda kell figyelni, hogy minden egymssal sszekapcsolt AS-pr az elrhetsgi informcik kicserlse rdekben ugyanazt az AS-kzi tvlaszt protokollt futtassa. A kvetkez alfejezetben rtrnk az interneten jelenleg is hasznlt R1P s OSPF AS-en belli s a BGP AS-kzi tvlaszt protokoll trgyalsra.

4.6. tvlaszts az interneten


Az internetes cmzs s az IP protokoll utn az internet tvlaszt protokolljaival fogunk megismerkedni. Ezek feladata az, hogy meghatrozzk, milyen ton haladjanak a datagramok a forrs s a cl kztt. Ltni fogjuk, hogy ezek az tvlaszt protokollok szmos korbban trgyalt elvet kvetnek. A 4.5.1. s a 4.5.2. alfejezetben ismertetett kapcsolatllapots tvolsgvektor-alap megkzelts s a 4.5.3. alfejezetben bevezetett autonm rendszer fogalma ma kzponti szerepet jtszik az internetes tvlasztsban. A 4.5.3. alfejezet ta tudjuk, hogy az autonm rendszer (AS) ugyanazon adminisztratv s technikai irnyts al tartoz tvlasztk csoportja, amelyek mind ugyanazzal az tvlaszt protokollal hatrozzk meg az egyms kztti tvonalakat. Minden AS jellemzen tbb alhlzatbl ll (az alhlzat fogalmt itt a 4.4.2. alfejezetben ismertetett szigoran vett cmzsi rtelemben hasznljuk).

4.6.1. Autonm rendszeren belli tvlaszts az interneten R1P protokollal


Az autonm rendszeren (AS-en) bell az tvlaszts mdjt egy AS-en belli protokoll hatrozza meg. Az ilyen protokollokat bels tjr-protokollnak 1 (interior gateway pro- tocol, IGP) is nevezik. Eredetileg az interneten kt tvlaszt protokollt hasznltak szleskren az AS-en belli tvlasztsnl: az tvlaszt protokollt (Routing Information Protocol, RIP) s a legrvidebb-utat-elre protokollt (Open Shortest Path First, OSPF). 2 Az OSPF-hez nagyon hasonl az IS-IS protokoll 3 [RFC 1142, Perlman 1999]. Az albbiakban elszr a RIP-pel foglalkozunk, ksbb pedig rtrnk az OSPF-re is. A RIP egyike volt az els internetes AS-en belli tvlaszt protokolloknak, s mg ma is szles krben hasznljk. A protokoll s nevnek gykerei a Xerox Network Systems (XNS) architektrig nylnak vissza. Elterjedtsgt rszben annak ksznheti, hogy 1982-ben beptettk a TCP/IP-1 tmogat BSD (Berkeley Software Distribution) UNIX-ba. A RIP 1-es verzijt az [RFC 1058], a lefel kompatibilis 2-es verzijt pedig az [RFC 2453] specifiklja. A RIP a 4.5.2. alfejezetben tanulmnyozott idealizlt DV-protokollhoz nagyon hasonlan mkd tvolsgvektor-alap protokoll. Az RFC 1058-ban lert verzi a kltsg mrszmaknt az t ltal rintett alhlzatok szmt (hop counl) hasznlja, vagyis minden adatkapcsolat kltsgt 1-nek tekinti. A 4.5.2. alfejezetben a DV-algoritmus esetben a kltsgeket - az egyszersg kedvrt - a szomszdos tvlasztk kztti tszakaszokhoz rendeltk hozz. A RIP (s az OSPF) esetben a kltsgek valjban a forrs-tvlaszt A fordt megjegyzse: A valsznleg tkrfordtsknt keletkezeti s nmileg elterjedt
hrom szban rt forma a magyar helyesrs szablyai szerint mindenkppen helytelen; helyesen belstjr- protokollt vagy bels tjr-protokollt kell rnunk. Ebben a knyvben az utbbi mellett maradunk.

A fordt megjegyzse: A protokoll nevben az Open sz arra utal, hogy nylt protokollrl
van sz; emiatt azok az itt kzltnl nem kevsb suta magyartsok, amelyek az Open-t igeknt rtelmezik pldul legrvidebb-t-nyitsa-elszr protokoll" jelentstanilag hibsak. A

tovbbiakban az eredeti OSPF rvidtst fogjuk hasznlni.

A lektor megjegyzse: A protokoll teljes neve OSI Intermediate System to Intermediate


System Intradomain Routing Protocol. Az ISO-OSI protokollkszletbe tartozik.

Cl

Hopok szma

u v w X
y z

1 2 2 3 3 2

4.33. bra. A hopok szma az A forrstvlaszt s az egyes alhlzatok kztti

ton

s a cl-alhlzat kztti tra vonatkoznak. A RIP teht a hopszm fogalmt hasznlja, amely azoknak az alhlzatoknak a szma, amelyeket a datagram a forrs-tvlaszt s a cl-alhlzat kztti legrvidebb t sorn bejr, belertve a cl-alhlzatot is. A 4.33. brn egy olyan AS lthat, amelyhez hat olyan alhlzat kapcsoldik, amelynek az A, B, C vagy D tvlaszt az egyetlen kapcsolata a hlzat tbbi rszvel; nevezzk ezeket levl-al hlzatoknak. Az brhoz mellkelt tblzatbl leolvashat a hopok szma az A forrs s az egyes levl-alhlzatok kztti ton. Egy t kltsge legfeljebb 15 lehet, ami azt jelenti, hogy egy RIP-et hasznl AS tmrje nem lehet 15 hopnl nagyobb. Mint tudjuk, a DV-protokollok esetben a szomszdos tvlasztk kicserlik egymssal tvolsgvektoraikat. Az egyes tvlasztk tvolsgvektora az tvlaszt s az AS-ben lv alhlzatok kztti legrvidebb utak becslt kltsgt tartalmazza. A RIP esetben a szomszdok krlbell 30 msodpercenknt kldenek egymsnak n. RIP-vlaszzenetet (RIP response message). Az tvlaszt vagy a hoszt ltal kldtt vlaszzenet egy listt tartalmaz, amely legfeljebb 25, az AS-en belli cl alhlzatot, valamint a kld s a megadott clalhlzatok kztti tvolsgot adja meg. A vlaszzeneteket RIP-hirdetseknek (RIP advertisements) is nevezik. A 4.34. brn szemlltetett plda segtsgvel nzzk meg kzelebbrl a RIPhirdetsek mkdst! Az brn egy AS kiragadott rsze lthat. Az tvlasztkat sszekt vonalak alhlzatokat jellnek; az AS tvlaszti s alhlzatai kzl csak nhnyat cmkztnk meg (az /\, f, C, s D tvlasztt, valamint a w, x, y s z alhlzatot); a szaggatott vonalak jelzik, hogy az AS az brzoltnl sokkal tbb tvlasztval s adatkapcsolattal rendelkezik. Minden tvlaszt egy RIP-tblt, az gynevezett tvlaszt tblt (routing table) tart fenn, amely az tvlaszt tvolsgvektort s tovbbttbljt is tartalmazza. A D tvlaszt tvlaszt tblja a 4.5. tblzatban lthat. Vegyk szre, hogy a tbla 3 oszlopbl

3b4

4. A

HLZATI RTliti

4.6. TVLASZTS AZ INTH.RNETEN

103

4.5. tblzat. A D tvlaszt tvlaszt tblja az A tvlaszt hirdetsnek

berkezse eltt
w

Clalhlzat

Soron kvetkez tvlaszt A B B


-

Hopok szma a clig


2 2

y
z
X

7
1

MII

ll: az elsben a cl-alhlzat szerepel, a msodik a cl-alhlzathoz vezet legrvidebb t menti soron kvetkez tvlasztt jelli, a harmadik pedig a hopok szmt adja meg (vagyis azoknak az alhlzatoknak a szmt, amelyeket a datagramnak a cl-alhlzathoz vezet legrvidebb ton be kell jrnia, belertve a cl-alhlzatot is). Pldnkban a tbla azt jelzi, hogy a I) tvlaszt ltal w clalhlzatba kldtt datagramot elszr a szomszdos A tvlaszthoz kell tovbbtani, s hogy a w cl-alhlzat 2 hopnyira van a legrvidebb tvonalon, tovbb, hogy a B tvlasztn keresztl elrhet z alhlzat 7 hopnyira van D-tl. Elvben az tvlaszt tblk minden sora egy-egy AS-en belli alhlzathoz van hozzrendelve, a RIP 2-es verzija azonban lehetv teszi az alhlzatra vonatkoz bejegyzsek aggreglst, hasonlan a 4.4. alfejezetben trgyalt tvonal-aggreglsi technikkhoz. A 4.5. tblzat s az ezt kvet tblzatok csak rszlegesen teljesek. Ttelezzk fel, hogy a D tvlaszt 30 msodperccel ksbb a 4.6. tblzatban lthat hirdetst kapja az A tvlaszttl. Vegyk szre, hogy ez a hirdets nem ms, mint az A tvlaszt tvlaszt tbljban tallhat informci! Ez a hirdets tbbek kztt azt kzli, hogy a z alhlzat csak 4 hopnyira van az A tvlaszttl. A D tvlaszt a hirdets berkezst kveten sszefsli a 4.6. tblzatban lthat hirdetst a 4.5. tblzatban szerepl korbbi tvlaszt tblval. A D tvlaszt a hirdetsbl tbbek kztt megtudta, hogy a z alhlzathoz van egy A tvlasztn keresztl vezet t, amely rvidebb a B tvlasztn keresztl vezet tnl, s ennek megfelelen aktualizlja az tvlaszt tbljt (4.7. tbl zat). Az olvasban felmerlhet a krds, hogy mitl lett rvidebb a z alhlzathoz vezet legrvidebb t? Lehet, hogy a decentralizlt tvolsgvektor-alap algoritmus mg nem jutott nyugalmi llapotba (lsd 4.5.2. alfejezet), de az is elkpzelhet, hogy j kapcsolatokkal s/vagy tvlasztkkal bvlt az AS, ami a korbbitl eltr legrvidebb utakat eredmnyezett. Az albbiakban a RIP nhny implementcis krdsvel foglalkozunk. Mint tudjuk, a RIP-tvlasztk nagyjbl 30 msodpercenknt hirdetseket cserlnek. Ha egy tvlaszt 180 msodpercen bell egyszer sem hall semmit valamelyik szomszdja fell, akkor azt a szomszdot elrhetetlennek tekinti; felttelezi, hogy az eszkz vagy a hozz tartoz adat- kapcsolat meghibsodott. Ha ilyesmi trtnik, a RIP mdostja a helyi tvlaszt tblt, s a (mg elrhet) szomszdainak kldtt hirdetseivel elterjeszti ezt az informcit. Az 4.6. tblzat. Az A tvlaszt ltal kldtt hirdets

4.6. TVLASZTS AZ INTH.RNETEN

104

Clalhlzat z w

Soron kvetkez tvlaszt C


-

Hopok szma a clig 4 1

4.6. TVLASZTS AZ INTERNETEN

105

4.7. tblzat. A D tvlaszt tvlaszt tblja az A tvlaszt hirdetsnek

berkezse utn
w

Clalhlzat

Soron kvetkez tvlaszt A B A


Hopok szma a clig 2 2 5


Ml

y
z
....

tvlaszt a RIP vlaszkr zenetnek (request message) segtsgvel tjkoztatst krhet a szomszdja s egy adott cl kztti t kltsgrl. Az tvlasztk a vlaszkr s a vlaszzeneteket UDP fltt, az 520-as portra kldik egymsnak. Az UDP-szegmenst egy szabvnyos IP-datagram szlltja az tvlasztk kztt. Az, hogy a RIP egy hlzati rtegbeli protokoll (IP) feletti szlltsi rtegbeli protokollt, az UDP-t hasznlja egy hlzati rtegbeli mkds (egy tvlaszt algoritmus) megvalstsra, bonyolultnak tnik (s az is!). De ha kicsit behatbban foglalkozunk a RIP megvalstsnak mdjval, megltjuk, hogy erre mirt van szksg. A 4.35. brn felvzoltuk, hogyan integrldik a RIP egy UNIX-rendszerbe, pldul egy tvlasztknt mkd UNIX-munkallomsba. Egy routed-nek nevezett processz valstja meg a RIP-et, azaz ez tartja nyilvn az tvlasztsra vonatkoz informcikat s cserl zeneteket a szomszdos tvlasztkon fut routed folyamatokkal. Mivel a RIP-et alkalmazsi rtegbeli processzknt (a UNIXkernel tvlaszt tblinak manipullsra kpes, klnleges processzknt, de mgis felhasznli programknt) valstottk meg, az a legegyszerbb, ha a szabvnyos szkt programozi interfszen keresztl kldi s fogadja az zeneteit, s ha szabvnyos szlltsi protokollt hasznl. Lthat, hogy a RIP-et egy UDP feletti alkalmazsi rtegbeli protokollknt (lst a 2. fejezetet) valstottk meg.

Routed

Szlltsi rteg (UDP) Hlzati rteg (IP) Tv abit tb Ik

Adatkapcsolati rteg Fizikai rteg

106

4. A HLZATI RTEG

Szlltsi rteg (UDP) Tv bbt tt Ik Hlzati rteg (IP)

Adatkapcsolati rteg
rt art

4.35. bra. A RIP megvalstsa mint routed daemon

4.6.2. Autonm rendszeren belli tvlaszts az interneten OSPF protokollal


A RIP-hez hasonlan az OSPF-et is szles krben hasznljk az interneten az autonm rendszeren belli tvlaszts megvalstsra. Az OSPF-et s a vele rokon IS-IS-t ltalban a felsbb szint, a RIP-et pedig az alsbb szint internetszolgltatk hlzataiban s a vllalati hlzatokban alkalmazzk. Az OSPF-ben az Open arra utal, hogy az tvlaszt protokoll specifikcija nyilvnosan hozzfrhet (szemben pldul a Cisco EIGR proto kolljval). Az OSPF legjabb, 2-es verzijnak specifikcija az IETF ltal kzztett RFC 2328-ban v tallhat. Az OSPF-et a RIP utdjnak szntk; igyekszik eldje hibit kikszblni s j funkcikat biztostani. Alapjban vve kapcsolatllapot-alap protokoll, amely a kapcsolatllapotra vonatkoz adatokra az elrasztst, a minimlis kltsg t kiszmtsra pedig a Dijkstra-algoritmust hasznlja. Az OSPF-nl az tvlaszt egy teljes topolgiai trkpet (azaz egy grfot) szerkeszt az autonm rendszer egszrl, majd loklisan futtatva a Dijkstra-algoritmust meghatrozza az sszes alhlzat fel vezet legrvidebb utak fjt, amelyben maga a gykrcsompont. Az egyedi adatkapcsolati kltsgeket a hlzatad minisztrtor konfigurlja (lsd az OSPF-slyok belltsa cm rst). Az adminisztr tor dnthet gy, hogy az sszes adatkapcsolat kltsge 1 legyen, amivel minimumhopos tvlasztst r el, de dnthet gy is, hogy a kapcsolati slyok az adatkapcsolatok kapacitsval fordtottan legyenek arnyosak, hogy a forgalmat a kis svszlessg adatkapcsolatok elkerlsre sztnzze. Az OSPF teht a kapcsolati slyok belltsra vonatkoz elrsokat nem tartalmaz (ezt a hlzatzemeltetre bzza), biztostja viszont a minimlis kltsg tvlasztshoz szksges mechanizmusokat (protokollokat) a kapcsolati slyok belltott rtkeire. Az OSPF esetben az tvlaszt nem csak szomszdainak, hanem az autonm rendszeren belli sszes tbbi tvlasztnak is egyidejleg megkldi az tvlasztssal kapcsolatos informcit. Erre mindannyiszor sor kerl, ahnyszor valamelyik adatkapcsolat llapotban (a kltsgben vagy a mkdkpessgben) vltozs kvetkezett be, de rendszeres idkzkben (30 percenknt legalbb egyszer) akkor is, ha nem kvetkezett be vltozs. Az RFC 2328 megllaptja, hogy a kapcsolatllapot ezen rendszeres aktualizlsa ro busztussgot klcsnz a kapcsolatllapot-alap algoritmusnak. Az OSPFhirdetseket tartalmaz OSPF-zenetek kzvetlenl az IP fltt szlltott, 89-cs felsbb szint proto- kollazonostval elltott csomagok. Mivel nem tmaszkodik szlltsi rtegbeli protokollra, magnak az OSPF-nek kell megvalstania az olyan funkcikat, mint a megbzhat zenettvitel s az adatszrs. Az OSPF protokoll az adatkapcsolatok zemkpessgt is ellenrzi (egy hozz kapcsold szomszdnak kldtt HELLO zenettel), s lehetv teszi, hogy az OSPF-tvlaszt lekrdezze egy szomszdos tvlasztnak a hlzat egszre vonatkoz kapcsolatllapotadatbzist. Az albbiakban felsoroljuk az OSPF nhny elnys tulajdonsgt:

szerint az tvlasztk nem hitelestik a kicserlt OSPF-csomagokat, gy azok hamisthatok. Ktfle hitelests rhat el: az egyszer s az MD5-s (ez utbbirl s a hitelestsrl ltalban a 8. fejezetben lesz majd sz). Az egyszer hitelestsnl minden tvlasztn belltjk ugyanazt ajelszt;ezt azutn az tvlaszt minden OSPF-csomagba bemsolja, titkosts nlkl. Nyilvnval, hogy az egyszer hitelests nem tlsgosan biztonsgos. Az MD5-s hitelests szintn minden tvlasztn belltott azonos kzs titokra pl. Az tvlaszt minden elkldtt csomaghoz kpzeletben hozzfzi a titkos kulcsot (elkldeni nem gy fogja!), majd kiszmtja az gy nyert megnvelt csomag MD5-s hash rtkt, s ezt az rtket elhelyezi az elkldend csomagban. (Az zenethitelest kdokrl bvebben a 7. fejezetben szlunk.) A fogad tvlaszt az elre konfigurlt titkos kulcs segtsgvel kiszmolja a csomag MD5-S hash-rtkt, s ezt a csomagban szerepl hash-rtkkel sszehasonltva hitelesti a csomagot. Az MD5-s hitelests az ismtlses tmadsok kivdse rdekben sorszmokat is hasznl. Tbb azonos kltsg t. Az OSPI : tbb t egyidej hasznlatt is lehetv teszi, ha a clhoz vezet utak kzl tbbnek is azonos a kltsge, azaz a forgalmat ilyenkor nem ktelez egyetlen ton szlltani, a terhels megoszthat tbb t kztt (a megoszts maga termszetesen az tvlaszt feladata, az OSPF csak az utakat jelli ki). Az egynekads (unicast) s a tbbesklds (multicast) egyttes tmogatsa. A tbbes- kldses OSPF (multicast OSPF, MOSPF) az OSPF-nek a tbbeskldses tvlasztst lehetv tv bvtse [RFC 1584]. (A tbbeskldses tvlasztssal a 4.7.2. alfejezct- ben foglalkozunk majd rszletesebben.) Az MOSPF az OSPF meglv adatbzist hasznlja, s OSPFnek a kapcsolatllapotra vonatkoz adatszrsi mechanizmust jfajta kapcsolatllapot-hirdetssel bvti. Hierarchikus struktra tmogatsa egy nll routing krzeten bell. Az OSPF kidolgozsnl az egyik legjelentsebb elrelps taln az volt, hogy kpess tettk a protokollt az autonm rendszeren belli hierarchikus struktra tmogatsra. A 4.5.3. alfejezetben mr szltunk a hierarchikus tvlaszts szmos elnyrl. Jelen fejezet fennmarad rszben azt mutatjuk be, hogyan valstja meg az OSPF a hierarchikus tvlasztst. Az OSPF-et hasznl autonm rendszerek krzetekre (area) oszthatk fel. Mindegyik krzet sajt OSPF-et futtat, s egy krzeten bell minden tvlaszt a krzet sszes tbbi tvlasztjval adatszrs tjn kzli sajt kapcsolatllapott. A krzeten kvli tvlasztk gy nem szereznek tudomst a krzeten belli adatokrl. A krzeten belli tvlasztsban (intra-area routing) kizrlag az ugyanahhoz a krzethez tartoz tvlasztk vesznek rszt. Minden krzethez tartozik egy vagy tbb krzethatri tvlaszt (area bordr router), amely a csomagoknak a krzeten kvl es clokhoz val tovbbtsrt felels. Az AS-en bell pontosan egy OSPF-krzetet gerinchlzati (backbone arca) krzetknt kell belltani. A gerinchlzati krzet f feladata az AS-en belli tbbi krzet kztti forgalom irnytsa. A gerinchlzatnak mindenkppen rsze az AS sszes krzethatri tvlasztja, de tartozhatnak hozz nem-krzethatri tvlasztk is. Az AS-en belli krzetek kztti forgalomirnytsnl (inter-area

routing) a csomagokat elszr valamelyik krzethatri tvlaszthoz kell tovbbtani (ez a krzeten belli tvlaszts - az intra-area routing - feladata), amely a gerinchlzaton keresztl a clkrzetben lv krzethatri tvlaszt hoz tovbbtja, amely aztn gondoskodik a csomag clba juttatsrl.

AS-hatr-tvlasztk Gerinchlzati tvlaszt


Gerinchlzat

Krzet* \ hatri 'tvlasztk

Bels tvlasztk
1. krzet 2. krzet

3. krzet

4.36. bra. Ngy krzettel rendelkez hierarchikusan strukturlt OSPF-AS A hierarchikusan strukturlt OSPF-hlzatban klnbztetnk meg (lsd 4.36. bra): ngyfle tvlasztt

Bels tvlasztk (internl routers). Ezek az tvlasztk nem-gerinchlzati

krzethez tartoznak, s kizrlag AS-en belli tvlaszt feladatokat oldanak meg. Krzethatri tvlasztk (area bordr routers). Ezek az tvlasztk egyarnt tartoznak valamelyik krzethez s a gerinchlzathoz. Gerinchlzati tvlasztk (nem-krzethatri tvlasztk). Ezek az tvlasztk a gerinchlzati krzeten bell oldanak meg tvlaszt feladatokat, de nem krzethatri tvlasztk. A nem-gerinchlzati krzetek bels tvlaszti a ms krzetekhez vezet utak ltezsrl a krzeten belli adatszrs tjn rteslnek a krzethez tartoz gerinchlzati tvlasztktl (elssorban kapcsolatllapot-hirdetsekbl, amelyek valamely msik krzethez vezet t kltsgre, nem pedig valamely adatkapcsolat kltsgre vonatkoznak). AS-hatr-tvlasztk (boundary routers). A hatr-tvlasztk a ms AS-ekhez tartoz tvlasztkkal cserlnek az tvlasztsra vonatkoz adatokat. Az ASkzi tvlaszts sorn hasznlhatnak pldul BGP-t. Az AS-en belli tbbi tvlaszt ezektl a hatrtvlasztktl rtesl a kls hlzatokhoz vezet utakrl. Az OSPF viszonylag sszetett protokoll, amelyet itt termszetesen csak rviden

ismertethettnk; tovbbi rszletek a [Huitema 1998; Moy 1998; RFC 2328] forrsban olvashatk.

UIvek a gyakorlatban Az OSPF-slyok belltsa A kapcsolatllapot-alap tvlaszts trgyalsnl hallgatlagosan feltteleztk, hogy a kapcsolatslyok be vannak lltva, az tvlaszt valamelyik tvlaszt algoritmust, pldul az OSPF-t futtatja, a forgalom pedig az LS-algoritmussal szmtott tvlaszt tblknak megfelelen alakul. Az ok s okozat fogalmaival lve: a kapcsolatslyok adottak (azaz ezek a kiindulsi adatok), s (a Dijkstra-algoritmus alkalmazsval) a kltsgeket minimalizl tvonalakat eredmnyeznek. Ebben a megkzeltsben a kapcsolatslyok az adatkapcsolat hasznlatnak kltsgeit tkrzik (vagyis: ha a kapcsolatslyok a kapacitssal fordtottan lennnek arnyosak, a nagy kapacits adatkapcsolatok kisebb slyak s gy tvlaszt szempontbl vonzbbak lennnek), a Dijkstra-algoritmus pedig a kltsgek sszessgnek minimalizlst tartja szem eltt. A gyakorlatban azonban elfordul, hogy a kapcsolatslyok s az tvlaszts sorn kiszm tott utak kztti ok-okozati sszefggs megfordul, pldul akkor, ha a hlzatzemeltetk gy konfigurljk a kapcsolatslyokat, hogy az tvlaszts sorn kiszmtott utak bizonyos forgalomszervezsi clok elrst szavatoljk [Fortz 2000; Fortz 2002]. Tegyk fel pdul, hogy a hlzatzemeltet meg tudja becslni, mekkora forgalom rkezik a hlzat egyes belpsi s kilpsi pontjaira, s azt szeretn elrni, hogy a hlzaton traml forgalom kvetkeztben fellp, egyes kapcsolatokat rint cscsterhelsek minimlisak legyenek. Az olyan tvlaszt algoritmusoknl, mint az OSPF, az zemeltet elssorban a kapcsolatslyok segtsgvel tudja befolysolni a hlzaton tfoly forgalom irnytst. Az zemeltet teht gy minimalizlhatja kvnatos a maximlis kapcsolatterhelst, s az OSPF-ben hogy megkeresi az ezt biztost gy kell kapcsolat- sly-rtkeket, ami az ok-okozat sszefggs megfordtst jelenti: ismert a folyamok tvlasztsa, hasznlt kapcsolatslyokat megvlasztani, hogy az OSPF tvlaszt algoritmus ezt az tvonalat eredmnyezze.

4.6.3. Autonm rendszerek kztti tvlaszts BGP-vel


A fentiekbl megtudtuk, hogyan hasznljk az internetszolgltatka RIP-ct s az OSPF-et optimlis utak meghatrozsra valamely AS-en belli forrs-cl prok esetben. Az albbiakban azt vizsgljuk meg, hogyan hatrozhatk meg olyan utak, amelyek klnbz AS-ekben tallhat forrs-cl prok kztt haladnak. A Bordr Gateway Protocol (hatrtjr protokoll) 4-es verzija, amelyet az (RFC 4271]-ben specifikltak, mra az internetes AS-kzi tvlaszts defacto szabvnyv vlt (lsd mg [RFC 1772], |RFC1773] s [RFC 4271]); BGP4-nek vagy egyszeren BGP-nek szoks nevezni. A BGP, mint AS-kzi protokoll (lsd 4.5.3. alfejezet) minden AS-nek az albbi lehetsgeket nyjtja: 1. Az alhlzatok elrhetsgre vonatkoz adatok megszerzse a szomszdos AS-ektl. 2. Az elrhetsgre vonatkoz adatok megosztsa az AS-en belli sszes tbbi tvlasztval. 3. Az egyes alhlzatokhoz vezet j utak meghatrozsa az elrhetsgi adatok s az AS forgalomirnytsi politikja alapjn.

Kiemelten fontos, hogy a BGP segtsgvel minden alhlzat hirdetheti ltezst az internet sszes tbbi rsztvevje fel. Az alhlzat elkiltja magt: ltezem, s itt s itt vagyok, a BGP pedig gondoskodik arrl, hogy az internet sszes AS-e tudjon az alhlzatrl s arrl, hogyan lehet elrni.

Alapvet tudnivalk a BGP-rl


A BGP rendkvl sszetett; tbb knyv is foglalkozik vele, s mg mindig van egy sor tisztzatlan krds [Yanuzzi 2005). Az irodalom alapos tanulmnyozst kveten is tbb hnapos (vagy akr ves) tervezsi vagy alkalmazsi gyakorlat kell ahhoz, hogy az ember igazn kiismerje a BGP-t. Mivel a BGP az internet dnt fontossg protokollja - mondhatni, ez tartja ssze az egszet - a fentiek ellenre is legalbb elemi szinten meg kell rtennk a mkdst. Bevezetsknt azt vizsgljuk meg, hogy miknt mkdik a 4.31.brn szemlltetett egyszer hlzat esetn. Ekzben hivatkozni fogunk a hierarchikus tvlasztsra vonatkoz ismereteinkre, ezrt azt tancsoljuk az olvasnak, hogy ismtelje t a 4.5.3. alfejezet anyagt. A BCP esetben az tvlasztprok a 179-es portot hasznlva n. rszlegesen lland (semipermanent) TCP-sszekttetseken keresztl cserlnek egymssal tvlaszt adatokat. A 4.31. brn felvzolt hlzat rszlegesen lland kapcsolatai a 4.37. brn lthatk. Jellemzen minden egymssal fizikailag sszekttt, kt klnbz AS-hez tartoz tvlasz t tart fenn egy-egy ilyen BGP/TCP-sszekttetst; gy a 4.37. brn a 3a s az le, valamint az lb s a 2a tvlaszt kztt van TCP-sszekttets. Az AS-en belli tvlasztk kztt is lteznek rszlegesen lland BGP/TCP-sszekttetsek. A 4.37. bra pldul azt a gyakori konfigurcit mutatja be, amelynl az AS-en bell brmely kt tvlaszt kztt fennll egy TCP-sszekltets, vagyis az AS-en belli tvlasztk hlzata teljes szvevny (full mesh). Az egyes TCP-sszekttetsek kt vgn lv tvlasztkat BGP-trsaknak (BGP peer), a TCP-sszekttetsek s a rajtuk szlltott BGP-zenetek sszessgt pedig BGP-viszony- nak (BGP session) nevezik. A kt AS-t sszekt BGP-viszonyt kls BGP-viszonynak (external BGP, eBGP session), az ugyanazon AS-hez tartoz tvlasztkat sszekapcsol BGPviszonyokat pedig bels BGP-viszonynak (internal BGP, iBGP session) nevezik. A 4.37.brn az eBGP-viszonyokat hossz szaggatott vonalak, az i BGP-viszonyokat pedig rvid szaggatott vonalak jellik. Vegyk szre, hogy a 4.37. brn lthat BGP-viszonyokat jelz vonalak nem minden esetben azonosak a 4.31. brn jellt fizikai kapcsolatokkal. A BGP segtsgvel minden AS rteslhet arrl, hogy mely clok rhetk el a vele szomszdos AS-eken keresztl. A BGP-nl a clok nem hosztok, hanem a CIDR-nl ltott mdon megadott prefixek, amelyek vagy egy alhlzatot, vagy az alhlzatok egy csoportjt jellik. Tegyk fel pldul, hogy a kvetkez ngy alhlzat kapcsoldik az AS2-hz: a
3c

2c

3a

1 c /

2a
f1

>C
3b

AS3

Jells:
--------------eBGPviszony ---------------iBGP-viszony

138.16.64.0/24, a 138.16.65.0/24, a 138.16.66.0/24 s a 138.16.67.0/24. Az AS2 ennek a ngy alhlzatnak a prefixeit aggreglva megteheti, hogy a BGP segtsgvel egyetlen prefixet, a 138.16.64.0/22-t hirdeti az AS1 fel. Msik pldaknt ttelezzk fel, hogy a fenti ngy alhlzat kzl csak hrom tartozik az AS2-hz, a negyedik, a 138.16.67.0/24 pedig az AS3-hoz. Ebben az esetben a 4.4.2. alfejezet Elvek a gyakorlatban cm rszben lertaknak megfelelen mivel az tvlasztk a leghosszabb illeszked prefix szablyt kvetik - az AS3 a 138.16.67.0/24 specifikusabb prefixet hirdeti, mg az AS2 tovbbra is hirdetheti a 138.16.64.0/22 aggreglt prefixet AS1 fel. Vizsgljuk meg, hogy a BGP hogyan terjeszten a prefix-elrhetsgi informcikat a 4.37. brn lthat BGP-viszonyokon keresztl. Az AS3 - ahogyan vrnnk - a 3a s le tjr tvlasztkon megvalstott eBGP-viszonyon keresztl kldi el az ASl-nek az AS3-bl elrhet prefixek jegyzkt, az AS1 pedig az AS3nak a tle elrhetk jegyzki. Hasonlkppen az AS1 s az AS2 az lb s 2a tjr tvlasztikon keresztl cserlik ki a prefixelrhetsgre vonatkoz adatokat. Szintn megfelel a vrakozsainknak, hogy a brmely AS-ben lv tjr tvlaszt az eBGP-viszonyon keresztl kapott prefixeket az iBGP-viszonyain keresztl terjeszti az AS-en belli tbbi tvlasztnak. Ily mdon az AS1 sszes tvlasztja - az lb tjr tvlaszt is - rtesl az AS3-as prefixekrl. Az lb tjr tvlaszt teht tovbbhirdetheti az AS3 prefixeit az AS2 fel. Minden tvlaszt (akr tjr, akr nem) a 4.5.3. alfejezetben lertaknak megfelelen j prefixbejegyzst helyez el tovbbttbljban azt kveten, hogy egy j prefixrl rtesl.

tattribtumok s BGP-route-ok
Mlytsk el eddig szerzett ismereteinket a BGP-rl (nhny kevsb fontos rszletet azonban tovbbra is el fogunk elhanyagolni). A BGP szmra egy autonm rendszer globlisan egyedi azonostja az AS-szm (autonomous system number, ASN) (RFC 1930]. (Szigoran vve nem minden AS rendelkezik ASN-nel; gy pldul az n. csonka AS, amely csak olyan forgalmat szllt, amelynek a forrsa vagy a clja, ltalban nem rendelkezik AS-szmmal. Ezt a rszletkrdst az albbiakban azonban figyelmen kvl hagyjuk majd, nehogy a fktl ne lssuk az erdt.) Az AS-szmokat, csakgy, mint az IP-cmeket, az ICANN regionlis hivatalai osztjk ki [ICANN 2007]. Amikor egy tvlaszt a BGP-viszonyon keresztl prefixet hirdet, ez a prelixeken kvl egy sor BGP-attribtumot (BGP attribute) is tartalmaz. A BGP-zsargonban az attribtumaival kiegsztett prefixet route-nak szoks nevezni. A BGP-trsak teht ilyen rtelemben vett route-okat hirdetnek egyms fel. Az albbiakban a fontosabb attribtumok kzl az AS_PATH s a NEXT_HOP attribtumot mutatjuk be: NEXT_HOP. Ez az attribtum dnt fontossg kapocs az AS-kzi s AS-en belli protokollok kztt. /\ NEXT_IOP a hirdetst kld tvlaszt azon

interfsznek az IP-cime, amely a hirdetett AS_PATH mentn a hirdetst kap tvlaszt fel nz.1 Az attribtum ismertetshez ismt a 4.37. bra nyjt
segtsget. Vizsgljuk meg, mi trtnik, ha az AS3-on belli 3a tjr tvlaszt az eBGP segtsgvel az ASI le tjr tvlasztjhoz vezet routeot hi relt, amely (a route kifejezst a fenti rtelemben hasznlva) tartalmazza a hirdetett x preixet s a prefixhez tartoz AS_PATI1 attri btumot. Emellett

tartalmazza a NEXT_HOP attribtumot is, amely a 3a tvlaszt le fel nz interfsznek az IP-cme. (Mint tudjuk, az tvlasztknak tbb IP-cme van, interfszenknt egy-egv.) Nzzk meg, mi trtnik, amikor az Id tvlaszt az iBGP-n keresztl rtesl errl az x-hez vezet route-rl. Ha az ld ezen a routeon szeretne x-hez csomagokat tovbbtani, akkor tovbbttbljban el kell helyeznie az (x, /) bejegyzst, ahol / az az interfsze, amelyen t az Id-tl az le tjr tvlaszt fel vezet minimlis kltsg ton el kell indtani a csomagokat. Az ld tvlaszt / meghatrozshoz AS-en belli tvlaszt alrendszernek tadja a NEXT_HOP attribtumban szerepl IP-cmet. Az AS-en belli tvlaszt algoritmus mr korbban meghatrozta az ASl-hez tartoz tvlasztkhoz csatlakoz sszes alhlzathoz vezet legalacso nyabb kltsg utat, gy az le s 3a kztti kapcsolathoz tartoz alhlzathoz vezett is. Az ld tvlaszt az lc-3a alhlzathoz vezet minimlis kltsg t alapjn hatrozza meg az ennek az tnak kiindulpontjul szolgl / interfszt, s ezt kveten helyezi cl tovbbttbljban az (x, /) bejegyzst. sszefoglalva azt mondhatjuk, hogy az tvlasztk az AS_PATH s a NEXT_HOP attribtumot tovbbttbljuk helyes konfigurlshoz hasznljk. A 4.38. bra az AS_PATH attribtumnak az elbbitl eltr felhasznlst mutatja be. Az ASl-et az AS2-vel kt trskapcsolat (peering 1 link) is sszekti. Az ASl-beli tvlasztk egy adott x prefixhez vezet kt klnbz route-rl is rteslhetnek, amelyeknek az AS_PATH attribtuma megegyezik, NEXT_HOP attribtuma azonban - a klnbz trskapcsolatoknak megfelelen - eltr. Az tvlasztk a megfelel interfsz meghatrozshoz a hot-potato tvlasztst (lsd 4.5.3. alfejezet) alkalmazzk azt kveten, hogy az AS_PAT1I rtkek s az 1

AS_PATH. Ez az attribtum tartalmazza azokat az AS-eket, amelyeken a


prefixre vonatkoz hirdets thaladt. Amikor az AS megkapja az adott prefixet, az AS_PATH attribtumhoz csatolja sajt ASN-jt. Pldaknt ttelezzk fel, hogy a 4.37. brban felvzolt alhlzatok esetben a 138.16.64.0/24-es prefixet elszr az AS2 hirdeti meg az AS1 fel; ha ezt kveten az ASl a prefixet az AS3 fel hirdeti, az AS_PATH tartalma AS2 ASl lesz. Az tvlasztk az AS_PATH attribtumot a krbejr (hu rokba kerlt) hirdetsek szlelsre s elkerlsre hasznljk; ez konkrtan azt jelenti, hogy az tvlaszt elutastja a hirdetst, ha a sajt AS-szma is szerepel az utak jegy zkben. Hamarosan megltjuk, hogy az tvlasztk arra is hasznljk az AS_PATH attribtumot, hogy tbb, ugyanahhoz a prefixhez vezet t kzl vlasszanak. A fordt megjegyzse: A helyzet az itt lertnl jval bonyolultabb; a rszletek irnt

rdekld olvas figyelmbe ajnljuk az RFC4271 5.3.1. fejezett, amely tbbek kztt a http://tools.ietf.org/ html/rfc4271#section-5.1.3 cmen rhet el. Rviden s sok rszlet kihagysval gy foglalhat ssze a NEXT_HOP szerepe, hogy egy olyan tvlaszt-interfsz IPcmt tartalmazza, amelyen keresztl a hirdetett prefix a hirdets cmzettje szmra minl rvidebb ton rhet el.

A fordt megjegyzse: A BGP-vei kapcsolatos zsargonban a peering ltalban azt jelenti,


hogy kt konkrt AS kztti kapcsolaton lebonyold forgalomrt egyik AS tulajdonosa sem fizet a msiknak. A BGP-t s a hlzatos szlenget mr ismer olvas vegye figyelembe, hogy jelen tanknyv a peering szt ennl ltalnosabb rtelemben hasznlja, teht nem felttlenl csak azokban az esetekben, amikor egyik AS tulajdonosa sem rszesl anyagi ellenszolgltatsban a msik forgalmnak elszlltsrt.

AS-en belli tvlaszt algoritmus segtsgvel meghatroztk az egyes trskapcsolatokhoz vezet utak kltsgt. A BGP olyan attribtumokat is tartalmaz, amelyek segtsgvel az tvlasztk preferenciamrcket (preference metrics) rendelhetnek a route-okhoz, egy msik attritbtum pedig azt jelzi, hogy a forrs-AS-nl miknt trtnt a prefix hozzadsa a BGP-hez. A route- attribtumok teljes kr trgyalsa megtallhat a [Griffin AS 2

2002; Stewart 1999; Halabi 2000; Feamster 2004; RFC 4271] forrsokban.
Jells:
a/ x-hez vezet rouie-okra vonatkoz hirdetsekei larraimaz zenetek

Kt trskapcsolat (peering link) A S 2 s A S 1 kztt Az tvlaszt egy x-hez vezet route-rl rtesl

4.38. bra. A hirdetsekben szerepl NEXT_HOP attribtumok segtsgvel eldnthet> hogy melyik trskapcsolatot (peering linket) clszer hasznlni
Az tvlaszt egy x-hez vezet tovbbi route-rl rtesl

Az tjr tvlaszt az importra vonatkoz sajt hzirendje, ms szval importszrje (import policy) segtsgvel dnti el, hogy elfogadja vagy kiszri a kapott route-hirdetst, s hogy bellt-e bizonyos attribtumokat, pldul a preferenciamrct. Az importszr pldul azrt dnthet egy adott route kiszrse mellett, mert az adott AS nem akarja forgalmt a route AS_PATH attribtumban szerepl valamelyik AS-en keresztl szlltani, de azrt is, mert tudomsra jutott egy az adott prefixhez vezet elnysebb t.

A BGP route-vlasztsi mechanizmusa


Megtudtuk, hogy a BGP az eBGP s az iBGP segtsgvel kzli a route-okra vonatkoz informcikat az AS-en belli sszes tvlasztval. Ezltal az

tvlasztk az x prefixhez vezet egynl tbb route-rl is tudomst szerezhetnek, s vlasztaniuk kell a lehetsges route-ok kzl. A route-vlasztsi folyamat bemeneti adatait az tvlaszt tudomsra jutott s az ltala el is fogadott routeok sszessge alkotja. Ha ugyanahhoz a prefixhez kt vagy tbb route tartozik, a BGP egyms utn az albbi trlsi szablyokat alkalmazza mindaddig, amg a vlasztk egyetlen route-ra nem cskken:

tsnak ez lenne az egyetlen szablya, a BGP egy DV-algoritmus segtsgvel hatrozn meg az utat, amelynl a tvolsgi metrika az rintett AS-ek (AShopok) s nem az rintett tvlasztk (router-hopok) szmt hasznlja. Az ezutn fennmarad (azonos lokl is preferenciartkkel s AS_PATH hosszal rendelkez) route-ok kzl a BGP a legkzelebbi NKXT_HOP tvlasztn thaladt vlasztja. Itt a legkzelebbi azt az tvlasztt jelenti, amelyre vonatkozan az AS-en belli algoritmus ltal kiszmtott minimlis kltsg t kltsge a legkisebb. A 4.5.3. alfejezetben mr volt sz errl a mdszerrl: ezt nevezik hot-potato tvlasztsnak. Ha ezek utn mg mindig egynl tbb route maradt fenn, az tvlaszt BGPazonostk segtsgvel vlasztja ki a megfelelt [Stewart 1999]. A trlsi szablyok a valsgban a fent lertaknl sokkal bonyolultabbak. A BGPvel kapcsolatos lidrces lmok leginkbb gy kerlhetk el, ha kis adagokban ismerkednk a BGP kivlasztsi szablyaival

tvlasztsi szablyok
A 4.39. brn felvzolt egyszer pldn mutatjuk be a BGP tvlasztsi szablyainak nhny fontos elemt. Az brn hat egymssal sszekapcsolt autonm rendszer (A, B, C, W, X s Y) lthat. Fontos megjegyezni, hogy ezek ASek s nem tvlasztk. Ttelezzk fel, hogy a W, X s Y autonm rendszer csonka hlzat, A, B s C egy-egy gerinchlzati szolgltat hlzata, tovbb, hogy A, B s C egyenrang flknt kommunikl (zsargonban: peeringjk van) egymssal s hogy gyfeleik hlzatainak valamennyi, a BGP-vel szer zett informcit tovbbadjk. A csonka hlzatba (stub network) rkez sszes forgalom clja csak magban a csonka hlzatban lehet, s az sszes azt elhagy forgalomnak csak ott lehet a forrsa. W s Y egyrtelmen csonka hlzat, az X pedig egy tbbszrsen kapcsold csonka hlzat (niultihomed stub network), hiszen kt klnbz szolgltatn keresztl kapcsoldik a hlzat tbbi rszhez (ami egyre tbbszr fordul el a gyakorlatban). Ennek ellenre X-re is ugyanaz vonatkozik, mint W-re s Y-ra: csak nmaga lehet a clja, illetve forrsa a bejv, illetve kimen sszes forgalomnak. De mikppen valsthat meg s szavatolhat a csonka hlzatnak megfelel viselkeds? Hogyan akadlyozhat meg X abban, hogy forgalmat tovbbtson B s C kztt? A vlasz az, hogy a BGP-route-ok hirdetsre vonatkoz szablyokkal. Az X-nek pldul azt kell hirdetnie B s C szomszdai fel, hogy rajta keresztl nmagn kvl semmilyen ms cl nem rhet el. Teht, ha X trtnetesen ismern is az Y hlzatba vezet XCY utat, nem szabad ezt hirdetnie B fel. Mivel B nincs annak tudatban, hogy X ismer egy Y-ba vezet utat, eszbe sem fog jutni, hogy az Y-nak (vagy C-nek) sznt forgalmat X-en keresztl tovbbtsa. Ez az egyszer plJells: B
W
Szolgltati

hlzat gyflhlzat

da jl szemllteti, hogy miknt hasznlhat fel egy szelektv route-hirdetst elr szably az gyfelek s szolgltatk kztti tvlasztsi kapcsolatok 1 megvalstsnl. Tekintsk most valamelyik szolgltati hlzatot, mondjuk a B autonm rendszert. Ttelezzk fel, hogy B arrl rteslt (A-tl), hogy W A-bl elrhet az AW ton. B teht felveheti a BAW utat tvlasztsi adatbzisba. B a BAW utat termszetesen X gyfele fel is szeretn hirdetni, hogy X is megtudja: W elrhet B-n keresztl. De jl teszi-e B, ha ezt az utat C fel is hirdeti? Ha gy tesz, C a Wnek sznt forgalmat a CBAYV ton tovbbthatn. Ha A, B s C gerinchlzati szolgltat, B joggal rezheti, hogy nem kvnja magra venni az A s C kztti tmen forgalom szlltsnak terht (s kltsgt!), s hogy tu lajdonkppen A s C dolga annak biztostsa, hogy C a kettjk kzti forgalmat egy A s C kztti kzvetlen kapcsolaton tudja tovbbtani, s ennek kltsgeit is A*nak s C-nek kellene viselnie. Jelenleg nem lteznek a gerinchlzati szolgltatk egyms kztti forgalomirnytsra vonatkoz hivatalos szabvnyok. A kereskedelmi szolgltatsokat nyjt internetszolgltatk gyakran azt az klszablyt kvetik, hogy a gerinchlzatukon thalad sszes forgalom forrsnak vagy cljnak (vagy mindkettnek) az adott inter- netszolgltat valamelyik gyfele hlzatban kell lennie; klnben a szolgltat ingyen szlltan harmadik felek egyms kzti forgalmt. Az egyes internetszolgltatk ltalban a fenti krdseket szablyoz (gyakran bizalmas) megllapodsokat ktnek egymssal, amelyekrl tbb rdekessg is megtudhat a [Huston 1999a] forrsbl. [Gao 2001] rszle tesen ismerteti, hogy az tvlasztsi szablyok mikppen tkrzik az internetszolgltatk kztt fennll zleti kapcsolatokat. [Caesar 2005] az internetszolgltatknak a BGP tvlasztsi szablyokkal kapcsolatos szempontjait mutatja be. Mint arrl mr sz volt, a BGP az AS-kzi tvlaszts de facto szabvnya a nyilvnos interneten. Tbb legfelsbb szint (tier-1) internetszolgltat tvlasztibl nyert (risi mret) BGP-s tvlaszt tbla tartalma megtekinthet a http://www.routeviews.org/ cmen. A BGP-s tvlaszt tblk gyakran tbb tzezer prefixet s ezek attribtumait tartalmazzk. A BGP-s tvlaszt tblk mreteivel s ms jellemzivel kapcsolatos statisztikk a [Huston 2001; Meng 2005] forrsokban jelentek meg. Ezzel vget is r rvid bevezetsnk a BGP rejtelmeibe. Ennek a protokollnak a megrtse nagyon fontos, mivel kzponti szerepet tlt be az interneten. A tma irnt rdekldk az albbi forrsokbl tudhatnak meg tbbet a BGP-rl: [Griffin 2002; Stewart 1999; Labovitz 1997; Halabi 2000; Huitema 1998; Gao 2001; Eeamster 2004; Caesar 2005].

A fordt megjegyzse: Nemcsak az fontos, hogy az gyfl ne hirdessen


bizonyos prefixeket, hanem az is, hogy a gerinchlzati szolgltat az ilyen hirdetseket ne fogadja el, amennyiben mgis kapna ilyet. Gondoljunk csak bele: ha Y azt hirdethetn, hogy W elrhet rajta keresztl, akkor ellophatn W forgalmt. Y-t semmi sem akadlyozza meg abban, hogy W prefixeit hirdesse (akr

vletlenl, akr szndkosan); viszont ha C ezeket a hirdetseket nem fogadja el (s fleg nem hirdeti tovbb msoknak), azzal megakadlyozhatja, hogy a hamis hirdets valdi krokat okozzon. Jelen sorok rsakor - 2008 kzepn - mg szmos szolgltat nem szri elegenden szigoran az gyfeleitl rkez BGPhirdetseket. Ez az elmlt vekben tbb alkalommal is eredmnyezett hosszabbrvi- debb, kisebb-nagyobb tvlasztsi galibi.
Hvek a gyakorlatban

Mirt nem hasznlhatjuk ugyanazt a protokollt az AS-en belli s az AS-kzi tvlasztsra? Miutn rszletesen foglalkoztunk az internet egyes jellegzetes AS-kzi s AS-en belli proto kolljainak jellemzivel, feltehetjk azt a taln legalapvetbb krdst, hogy mirt klnbznek egymstl az AS-kzi s az AS-en belli protokollok. (A knyv szerzi titkon abban remny kednek, hogy az olvask nem vesztek el a rszletekben, s idkzben mr el is gondolkoztak ezen). A protokollok klnbzsge az AS-en belli s az AS-ek kztti tvlaszts cljai kztti eltrsekkel magyarzhat:

Politika. Az AS-ek kztti tvlasztsnl eltrbe kerl a politika. A hlzatzemelte tnek nagyon fontos lehet, hogy egy adott AS-bl szrmaz forgalom ne haladhasson t valamelyik msik AS-en. Hasonlkppen egy adott AS ellenrizni, korltozni szeretn a tbbi AS kztti, ltala szlltott tmen forgalmat. A BGP azzal, hogy tattribtumo- kat szlit s gondoskodik az tvlasztsi adatok szablyozott terjesztsrl, lehetv teszi a politikaalap tvlasztsi dntsek meghozatalt. Az AS-en belli tvlasztsban sokkal kisebb szerepet jtszanak a politikai szempontok, mivel minden eszkz s kapcso lat legalbbis nvlegesen - ugyanazon adminisztratv fennhatsg al tartozik.

Sklzhatsg. Az AS-kzi tvlasztsnl dnt fontossg a sklzhatsg, vagyis az,


hogy az tvlaszt algoritmus s annak adatstruktri kpesek legyenek nagyszm h lzat s t kezelsre. Egy AS-en bell kevsb fontos a sklzhatsg, mr csak azrt is. mert a tl naggy vlt adminisztratv tartomny mindig kettoszthat, a kt j AS kztt pedig alkalmazhat az AS-kzi tvlaszts. (Emlkezznk r, hogy az OSPF se gtsgvel egy AS krzetekre osztsval is ltrehozhat ilyen hierarchia.)

Teljestkpessg. Mivel az AS-kzi tvlasztsnl a politikai szempontok kerlnek


eltrbe, az utak minsge (pldul teljestkpessge) gyakran csak msodrend krds (vagyis elfordulhat, hosszabb nem hogy t az adott politikai egy Lttuk, szempontoknak rvidebb, hogy az de a megfelel politikai kztti kltsgesebb vagy elnyben ttal rszesl

szempontoknak

megfelel

szemben).

AS-ek

tvlasztsnl meg sem jelenik az utakhoz tartoz kltsg, mrtkknt csak az AS-hopok szma szerepel. Egyetlen AS-en bell a politikai szempontok kevsb fontosak, ezrt az tvlasztsnl nagyobb szerephez jut az t ltal megvalsthat teljestkpessg.

4.7. Adatszrsos s tbbeskldses tvlaszts


Az eddigiekben figyelmnket az egynekadsos (unicast, azaz pont-pont rendszer) adattvitelt tmogat tvlasztsi protokollokra sszpontostottuk. Ennl az adattvitelnl egyetlen forrs egyetlen clcsompontnak kld csomagot. Ebben a alfejezetben az adatszrsos s a tbbeskldses tvlasztsi protokollokkal fogunk foglalkozni. Az adatszrsos tvlasztsnl (broadeast routing) a hlzati rteg ltal nyjtott szolgltats a valamely forrscsomponttl kldtt csomagot a hlzat sszes tbbi csompontjnak kzbesti. A tbbeskldses tvlaszts (multicast routing) segtsgvel egy forrscsompont az adott csomag egy-egy

pldnyl elkldheti a tbbi hlzati csompont valamely rszhalmaznak anlkl, hogy minden egyes clcsompontnak egyenknt cl kellene kldenie a csomagot. A 4.7.1. alfejezetben az adatszrsos tvlaszt algoritmusokkal s

ezeknek az ivlasztsi protokollokba trtn begyazsval, a 4.7.2. alfejezetben pedig a tbbeskldses tvlasztssal foglalkozunk.

4.7.1. Adatszrsos tvlaszt algoritmusok


Az adatszrsos adattvitel taln legegyszerbb mdja az, ha a kld csompont minden egyes clnak elkldi a csomag egy-egy msolatt (lsd 4.40. (a) bra). Ha teht N clcsompont van, a forrscsompont elkszti a csomag N msolatt, elltja az egyes msolatokat az egyes clok cmvel, majd az egynekadsos tvlasztst hasznlva elkldi az N msolatot az N clnak. Ez az N-utas egynekadsos (N-way-unicast) megkzelts nagyon egyszer, hiszen a hlzati rtegben nincs szksg sem j tvlasztsi protokollra, sem csomagm solsra (hiszen ezt a feladatot elvgzi a forrs), sem j tovbbtsi funkcionalitsra. Ennek a megoldsnak azonban szmos htrnya is van: pldul nagyon kicsi a hatsfoka. Ha a forrst egyetlen adatkapcsolat kti ssze a hlzat tbbi rszvel, akkor az adott csomag N darab msolata szintn ezen az egy adatkapcsolaton kell, hogy thaladjon. Nyilvnvalan sokkal hatkonyabb lenne, ha ezen az els tszakaszon a csomagnak csak egyetlen msolatt kellene tkldeni, s az els hop msik vgn lv csompont lltan el s tovbbtan a szksges tovbbi msolatokat, vagyis ha nem a forrscsompontra hrulnnak az sszes msolat ellltsbl add terhek, hanem a hlzat tbbi csompontja kszten el a hozz berkezett csomag tovbbi msolatait. A 4.40. (b) brn pldul a csomagnak csak egy pldnya halad t az R1-R2 kapcsolaton. A csomag dupliklsra az R2-n kerl sor, amely egy-egy msolatot tovbbt az R2-R3 s az R2-R4 adatkapcsolaton keresztl. Az N-utas egynekadsos megolds tbbi htrnya taln nem ennyire szembetn, de nem kevsb jelents. Ennl a megoldsnl hallgatlagosan felttelezzk, hogy a felad ismeri az adatszrs fogadit s ezek cmeit. De ahhoz, hogy ezek birtokba jusson, felttelezheten tovbbi protokoll mechanizmusokra van szksg (pldul valamifle adatszr-tagsgot vagy a clcsompontokat regisztrl protokollra), ami megnveln a fej rszt s bonyolultabb tenn az els ltsra egyszernek tn protokollt. Vgl meg kell emltennk azt a htrnyt, amely az adatszrs hasznlatnak cljval kapcsolatos. A 4.5. alfejezetben lttuk, hogy a kapcsolatllapot-alap tvlasztsi protokollok az adatszrst az egynek adsos utak kiszmtshoz szksges kapcsolatllapotra vonatkoz adatok terjesztsre hasznljk. Olyan esetekben, amikor az adatszrst egynekadsos utak meghatrozsra s aktualizlsra hasznljk, finoman szlva nem lenne blcs dolog az egy nekadsos tvlasztsi infrastruktrra bzni az adatszrs megvalstst.
Msolat ellltsa/kldse

Az N-utas egynekadsos megkzelts htrnyait figyelembe vve termszetes, hogy azok a megoldsok kerltek az rdeklds homlokterbe, amelyeknl a hlzati csompontok aktvan rszt vesznek a csomagok dupliklsban, tovbbtsban s az adatsz- rsos tvonalak kiszmtsban. Az albbiakban tbb ilyen megoldst is megvizsglunk. A 4.5. alfejezetben megszokott mdon egy G = (N,E) grfknt modellezzk a hlzatot, ahol a grf egy N csomponthalmaz s egy E lhalmaz egyttese, kiegsztve egy olyan relcival, amely megmondja, mely csompontprok kztt halad l. Kiss pongyola mdon bnunk majd a jellssel: ahol ez nem okoz flrertst, ott a csompontok halmaznak \N\ szmossgt is csak N-nel jelljk (ugyangy, mint magt a csomponthalmazt).

Szablyozatlan elraszts
Az adatszrs megvalstsnak legkzenfekvbb mdja az elrasztsos (flooding) mdszer, amelynl a forrscsompont minden szomszdjnak elkldi a csomag msolatt. Az adott csompont az adatszorsos csomag megkapst kveten lemsolja azt, s (a kld csomponton kvl) minden szomszdjnak elkldi. Ha a grf sszefgg, az eljrs sorn nyilvnvalan a grf minden csompontjhoz elbb-utbb eljut majd az adatszorsos csomag egy-egy msolata. Ez az eljrs egyszer s elegns, magban rejti azonban egy vgzetes hiba lehetsgt is (az olvas tovbbolvass eltt prblja meg kitallni, hogy mi is lehel az): ha a grf hurkokat is tartalmaz, akkor minden adatszorsos csomag egy vagy tbb msolata a vgtelensgig kering. A 4.40. brnl maradva: az R2 az R3 fel, az R3 az R4 fel, az R4 az R2 fel, az R2 pedig (jbl!) az R3 fel vgez elrasztst, s gy tovbb. Ebben az egyszer elrendezsben vgl kt adatszorsos csomag kering a vgtelensgig, az egyik az ramutat jrsval egyez, a msik azzal ellenttes irnyban. Elfordulhat azonban egy mg ennl is slyosabb vgzetes hiba: a tbb mint kt csomponttal sszekapcsolt csompont az adatszorsos csomag egynl tbb msolatt lltja el s tovbbtja, s ezek mindegyikrl szintn tbb msolat kszl azokon a csompontokon, amelyek kettnl tbb szomszddal rendelkeznek, s gy tovbb. Az adatszorsos csomagok vgte len msolsa rvn keletkez adatszrsi vihar (broadeast storm) elbb-utbb olyan sok adatszorsos csomagot llt el, hogy a hlzat hasznlhatatlann vlik.

Szablyozott elraszts
Az adatszrsi vihar gy kerlhet el, hogy a csompontok megfontoltan dntenek arrl, hogy elrasszk-e a szomszdaikat egy adott csomaggal (pldul tekintsenek el ettl, ha annak a csomagnak egy korbban kapott msolatval mr vgeztek elrasztst). Az elraszts korltozsra tbb mdszer is ismert a gyakorlatban. A sorszmmal szablyozott elrasztsnl (sequence-nuinber-controlled flooding) a forrscsompont a cmt (vagy ms egyedi azonostjt) s egy adatszrsi sorszmot (broadeast sequence number) helyez el az adatszorsos csomagba azeltt, hogy elklden sszes szomszdjnak. Minden csompont az ltala kapott, dupliklt s tovbbtott sszes adatszorsos csomag forrscmt s sorszmt tartalmaz jegyzket tart fenn. A csompont az adatszorsos csomag berkezsekor ellenrzi, hogy annak adatai szerepelnek-e eb ben a jegyzkben. Ha

igen, eldobja a csomagot, ha nem, akkor dupliklja s tovbbtja min den szomszdjnak (kivve azt a csompontot, amelytl a csomagot kapta). A 2. fejezetben ismertetett Gnutella protokoll a sorszmmal szablyozott elrasztst hasznlja a keressek adatszrsra tfed hlzatban (overlay network). (A Gnutella esetben az zenet dupli- klsa s tovbbtsa nem a hlzati, hanem az alkalmazsi rtegben trtnik.) A szablyozott elraszts a fordtott irny tovbbtsknt (reverse path forwarding, RPF) ismert mdszerrel is megvalsthat [Dalai 1978], amelyet egyes forrsok fordtott irny adatszrsnak (reverse path broadeast, RPB) is neveznek. Az RPF alapelve egyszer s mgis elegns. Az tvlaszt az adott forrscmrl berkez adatszrsos csomagot csak akkor kldi ki az sszes kimeneti interfszen (kivve azt, amelyiken berkezett), ha a csomag azon az interfszen rkezett be, amelyik a forrscmhez vezet minimlis kltsg egynekadsos t fel nz, teht amelyiken az tvlaszt a forrsnak sznt csomagokat kiklden. 1 Egyb esetekben egyszeren eldobja a berkez csomagot anlkl, hogy br melyik kimeneti interfszre tovbbtan. Az tvlaszt azrt dobhatja el ezt a csomagot, mert tudja, hogy a fent emltett interfszen vagy mr megkapta, vagy a jvben meg fogja kapni ennek a csomagnak egy pldnyt azon az interfszen, amely hlzattopolgiai rtelemben a forrs fel nz. Fontos megjegyezni, hogy az RPF nem hasznlja az egynekadsos tvlasztst ahhoz, hogy a csomagot a clnak kzbestse, s azt sem ignyli, hogy az tvlaszt ismerje a kzte s a forrs kztti teljes legrvidebb utat. Az RPF-nek csak a feladhoz vezet legrvidebb egynekadsos ton fekv legkzelebbi szomszdot kell is mernie; ezt az adatot kizrlag annak eldntsre hasznlja fel, hogy a kapott adatszrsos csomaggal elrassza-e szomszdait. A 4.41. bra szemllteti az RPF mkdst. Ttelezzk fel, hogy a vastag vonallal jelzett adatkapcsolatok az A forrs s a cmzettek kztti minimlis kltsg utak. Az /I csompont adatszrssal csomagot kld a Cs B csompontnak. A B csompont C-nek s D-nek is tovbbtja az /\-tl kapott csomagot, hiszen A a kzte s A kzti minimlis kltsg t mentn fekszik. Ezzel szemben tovbbts nlkl eldobja az sszes olyan csomagot, amelynek a forrsa /\, s amelyet brmelyik msik csomponttl (pldul a C vagy a D tvlaszttl) kap. Nzzk meg, mi trtnik a C csomponton, amely #-tl s kzvetlenl A-ti is megkapja az A ltal kldtt csomag egy-egy pldnyt. Mivel B nem fekszik a C s az A kzti legrvidebb t mentn, C eldobja azokat a /i-tl kapott csomagokat, amelyeknek a forrsa A. Ezzel szemben a kzvetlenl A-tl kapott csomagokat tovbbtja a B az E s az /'csompontnak.

Fesztfs adatszrs
A sorszmmal szablyozott elrasztssal s az RPF-fel elkerlhetk az adatszrsi
1

A fordt megjegyzse:

Taln rdemes megemlteni, hogy a hamistott forrscm csomagok

(spoofed packet) szlelsre egy ehhez nagyon hasonl, fordtott irny szrsnek (reverse path filtering, RPF) nevezett mdszert hasznlnak. Az tvlaszt akkor tekint hamisnak egy csomagot, ha nem azon az interfszen rkezett be, amelyen az lltlagos feladnak szl csomagokat ki kellene kldeni. A mdszer htrnya, hogy aszimmetrikus tvlaszts esetn (pldul egyirny gyr topolgij hlzatban) nem mkdik helyesen.

viharok, a felesleges adatszrsos csomagok kldse azonban nem kszblhet ki teljesen, gy pldul a 4.42. brn a B, C, D, E s F csompont egy vagy kt felesleges csomagot is kap. Idelis esetben minden csompontnak csak egy pldnyt kellene kapnia az adott adatszrsos csomagbl. 1 la megnzzk a 4.42. (a) bra vastag vonalaival sszekttt csompontjai ltal kifeszitett ft, azt ltjuk, hogy mindegyik csompont az adatszrsos csomag pontosan egy msolatt kapn akkor, ha a csomagok kizrlag a ft alkot kapcso-

4.6. TVLASZTS

AZ INTERNETEN

130

Jells:
* a csomagot az tvlaszt tovbbtja

Hl a csomagot az tvlaszt nem tovbbtja

4.41. bra. Plda a fordtott irny tovbbtsra latokon kerlnnek tovbbtsra, vagyis ilyenkor pontosan az trtnne, amit el szeretnnk rni. Az bra a fesztfa (spanning tree), vagyis egy olyan fa pldjt szemllteti, amely a grf minden egyes csompontjt tartalmazza. Kiss formlisabban: a G = (N,) grf fesztfja az a G = (N,E") grf, amelynl F az rszhalmaza, G sszefgg, krmentes s tartalmazza G minden csompontjt. Ha minden adatkapcsolathoz tartozik egy kltsg, a fa kltsge pedig az adatkapcsolatok kltsgeinek sszege, akkor (nem meglep mdon) azt a fesztft nevezzk minimlis fesztfnak (minimum spanning tree), amely a grf fesztfi kzl a legalacsonyabb kltsg. Az adatszrs teht gy is megoldhat, hogy a hlzati csompontok fesztft alaktanak ki. Az adott forrscsompont az elkldsre sznt adatszrsos csomagot a fesztfban is szerepl sszes kapcsolatn kikldi. A csomagot fogad csompont az sszes olyan szomszdjnak tovbbtja, amely a fesztfban is szomszdja (kivve azt, amelyiktl a csomagol kapta). A fesztfa nemcsak, hogy kikszbli a redundns csomagok kldst, hanem mg azt is lehetv teszi minden csompont szmra, hogy adatszrst kezdemnyezzen, ahogy az a 4.42. (a) s (b) brn is lthat. Fontos tudni, hogy egy adott csom pontnak nem kell a teljes ft ismernie; elg, ha tudja, hogy mely csompontok szomszdai a fesztfban is. A fesztfs megoldsnl a legnagyobb nehzsget a fesztfa fellltsa s karbantartsa jelenti. Eddig mr szmos elosztott fesztfa-algoritmust dolgoztak ki [Gallager 1983; Gartner 2003]. Az albbiakban csak az egyik egyszer algoritmussal fogunk foglalkozni. A kzpontalap fesztfa (center-based spanning tree) fellltsnl kijellnk egy kzponti csompontot, amelyet randevpontnak (rendezvous point) vagy magnak (core) is szoks nevezni. Ezt kveten a csompontok csatlakozsi szndkot jelz zeneteket kl denek a kzponti csompontnak. Ennek tovbbtsa a kzpont fel irnyul egynekadsos tvlaszts segtsgvel trtnik, amg az zenet el nem ri valamelyik, a fesztfhoz mr csatlakozott csompontot vagy a kzpontot. Mindkt esetben a csatlakozsi szndkot jelz zenet ltal megtett t meghatrozza a fesztfnak a kzpont s az zenetet kld csompont kztti gt. Ezt gy is elkpzelhetjk,

4.39. bra. Egyszer BGP-s plda

4.7. ADATSZRSOS S TBBESKLDSES TV1-ASZTS

131

hogy az j csomag ltal bejrt utat hozzragasztjuk a mr meglev fesztfhoz.

132

4. A HLZATI RTEG

a) A ltal kezdemnyezett adatszrs

b) D ltal kezdemnyezett adatszrs

4.42. bra. Adatszrs egy fesztfa mentn A 4.43. bra szemllteti a kzpontalap fesztfa fellltst. Ttelezzk fel, hogy az E csompont a fa szmra kivlasztott kzpont, s hogy az F csompont az els csompont, amelyik csatlakozni szeretne a fhoz s csatlakozsi szndkot jelz zenetet kld -nek. Ekkor az egyedi EF-adatkapcsolat lesz a kezdeti fesztfa. A B csompont ezt kveten kldi el -nek csatlakozsi szndkt jelz zenett, amivel szintn a fesztfa rszv vlik. Ttelezzk fel, hogy az E s B kztti egynekadsos t D-n keresztl vezet. Ebben az esetben a csatlakozsi szndkot jelz zenet azt eredmnyezi, hogy a BDF. t is a fesztfa rszv vlik. Ezt kveten az A csompont csatlakozik a fesztfa-csoporthoz azzal, hogy E irnyba elkld egy csatlakozsi szndkot jelz zenetet. Ma az A s E kztti egynekadsos t B-n keresztl vezet, akkor, mivel B mr rsze a fesztfnak, A zenetnek B-hez rkezsekor az AB kapcsolat is a fesztfa rszv vlik, s A zenett nem felttlenl szksges E-ig tovbbtani. A C csompont gy csatlakozik, hogy csatlakozsi szndkt jelz zenett kzvetlenl E-nek kldi. Vgl, mivel a G s E kztti egynekadsos tvlasztsnak rintenie kell a D csompontot, a G ltal E-nek kldtt csatlakozsi szndkot jelz zenet D-hez val megrkezst kveten a GD kapcsolat is hozzaddik a fesztfhoz a D csompontban.

Adatszr algoritmusok a gyakorlatban


A gyakorlatban az adatszrsi protokollokat az alkalmazsi s a hlzati rtegben egyarnt hasznljk. A 2.6. alfejezetben megtudtuk, hogy a Gnutella (Gnutella 2007] az alkalmazsi rtegbeli adatszrst a Gnutella-trsak kztti tartalomkeressek adatszrsra hasznlja; kt Gnutella alkalmazsi szint trsprocessz kztti kapcsolat pedig valjban egy TCP-sszekttets. A Gnutella a sorszmmal korltozott elraszts egyik vltozatt hasznlja, amelynl egy 16 bites azonost s egy (a Gnutella-zenet tpust azonost) 16 bites felhasznliadat-ler segt annak eldntsben, hogy egy adott ke resszenetet

4.7. ADATSZRSOS S TBBESKLDSES TV1-ASZTS

133

az adott csompont mr korbban is fogadott, dupliklt s tovbbtott-e. A 2.6. alfejezetben azt is megeltettk, hogy a Gnutella egy letben maradsi id (Time To Live, TTL) mezt is hasznl, hogy az elrasztsos lekrdezsek tovbbtsakor korltozza a hopok szmt. A Gnutella-processz a lekrdezs berkezsekor s dupliklsakor annak tovbbtsa eltt eggyel cskkenti a TTL-mez rtkt. Ily mdon az elrasztsos

134

4. A HLZATI RTEG

a) Fesztfa lpsenknt! fellltsa

b) A fellltott fesztfa

4.43. bra. Fesztfa kzpontalap fellltsa Gnutella-lekrdezs csak azokat a trsakat ri el, amelyek a lekrdezs kezdemnyezjtl az alkalmazsi rtegbeli hopok adott szmn (a TTL kezd rtkn) bell vannak, zrt nevezik a Gnutella elrasztsos mechanizmust nha

korltozott kiterjeds elrasztsnak (limited-scope flooding).


A sorszmmal szablyozott elraszts egyik formjt a kapcsolatllapothirdetsek (link-state advertisement, LSA) adatszrsra is hasznljk az OSPF tvlaszt algoritmus esetben (RFC 2328, Perlman 1999], valamint az IS-IS (Intermediate-System-to-Interme- diate-System) tvlaszt algoritmusnl [RFC 1142, Perlman 1999). Az OSPF egy 32 bites sorszmot s egy 16 bites letkormezt hasznl az I.SA-k azonostsra. Mint tudjuk, az OSPF-csompont a hozz tartoz adatkapcsolatok jellemzirl adatszrssal kld LSA-t, egyfell rendszeres idkznknt, msfell pedig valahnyszor valamelyik adatkapcsolat kltsgben vagy mkdkpessgben vltozs kvetkezik be. Az LSA-sorszmok a kettztt LSA-k szlelsn kvl mg egy fontos feladatot ltnak el. Az elrasztsnl elfordulhat, hogy a forrs ltal i idpontban generlt LSA az ugyanazon forrs ltal a t + 6 ksbbi idpontban generlt LSA utn rkezik be. A forrscsompont ltal hasznlt sorszmok segtsgvel megklnbztethet egymstl a rgebben s az jabban generlt LSA. Az letkor-me z a TTL-rtkhez hasonl szerepet tlt be. Kezdeti rtke nulla, de rtki az tvlasztk folyamatosan nvelik mind elrasztskor, mind akkor, amikor a csomag egy tvlaszt memrijban vrakozik az elrasztsra. Az LSA-elrasztsrl itt csak nagyon rviden szltunk, meg szeretnnk azonban jegyezni, hogy az LSAadatszrsi protokollok kidolgozsa egyltaln nem egyszer feladat. Az [RFC 789; Perlman 1999) forrsban olvashatunk arrl az esetrl, amikor kt hibsan mkd tvlaszt ltal elkldtt helytelen LSA-k miatt az LSA-elrasztsos algoritmus egyik korai verzija a teljes ARPAnet sszeomlst okozta.

4.7. ADATSZRSOS S TBBESKLDSES TV1-ASZTS

135

4.7.2. A tbbesklds
Az elz fejezetben lttuk, hogy az adatszrsos szolgltats a hlzat minden egyes csompontjnak kzbesti a csomagokat. Ebben a fejezetben a tbbeskldses (multicast) szolgltatssal foglalkozunk, amely a csomagokat a hlzati csompontok egy meghatrozott rszhalmaznak kzbesti. Szmos jabban fejlesztett hlzati alkalmazs ignyli az egy vagy tbb kldtl szrmaz csomagok egy meghatrozott csoportnak val kzbestst.

136

4. A HLZATI RTEG

Ilyen alkalmazsok pldul: nagy adatmennyisgek, mondjuk szoftverfrisstsek tvitele; folyamatos mdiaadatok folyamszer kzvettse (pldul egy l elads hang-, vide- s szvegadatainak tvitele); a kzs adatokkal dolgoz alkalmazsok (pldul egy tbbrsztvevs munkatbls vagy telekonferencis alkalmazs); a hrfolyamok (pldul rszvnyr- folyamok); webes gyorsttrak tartalmnak frisstse; az interaktv jtk (pldul elosz tott, interaktv virtulis krnyezet hasznlata vagy tbbfelhasznls jtk esetn). A tbbeski'ildses adattvitelnl kt problmval is szembeslnk: a tbbeskldses csomag cmzettjeinek azonostsval s a csomagok cmzsvel. Az egynekadsos adattvitelnl a cmzett (vagy cl) IP-cme, amelyet minden IP egynekadsos IP-datagram tartalmaz, egyetlen cmzettet azonost; az adatszrsnl nincs szksg clcmekre, mivel minden csompontnak meg kell kapnia az adatszrsos csomagot. A tbbeskldsnl azonban minden csomagnak tbb cmzettje van. Van-e annak rtelme, hogy mindegyik tbbeskldses csomag az sszes cmzett cmt tartalmazza? Ez nyilvn csak kis szm cmzett esetben jrhat, tbb szz vagy akr tbb ezer cmzett esetn a datagram l tal szlltott cmadatok kiszortank a csomagbl a hasznos adatot. Ahhoz, hogy a kld explicit mdon azonostani tudja a cmzetteket, ismernie kell azok cmt. Rvidesen meg fogjuk ltni, hogy ez nem minden esetben kvnatos. A fentiek miatt az internetes architektrban (de ms architektrkban, pldul az ATM-ben [Black 1995] is) a tbbeskldses csomag cmzsnl a cm alapjn trtn kzvetett tovbbtst (address indirection) alkalmazzk, amelynl a cmzettek adott csoportjnak egyetlen azonostja van, s a hlzat az adott csoport minden tagjnak kzbest egy-egy pldnyt az ennek az azonostnak cmzett csomagokbl. Az internet esetben a cmzettek csoportjt jelkpez azonost egy D-osztly tbbeskldses IP-cm. A vgpontok egy adott D-osztly IP-cmmel elrhet csoportjt tbbeskldses csoportnak (multicast group) nevezik. A tbbeskldses csoport koncepcijra lthatunk pldt a 4.44. brn, ahol (a vstag vonallal jellt) ngy hoszt tagja a 226.17.30.197-es tb beskldses csoportcmmel rendelkez csoportnak s megkapja valamennyi, erre a cmre kldtt datagramot. Megoldand problmt jelent az, hogy minden hoszt olyan egyedi IP-cmmel rendelkezik, amely teljesen fggetlen azoknak a tbbeskldses csoportoknak a cmtl, amelyeknek tagja. A tbbeskldses csoport egy alapjaiban egyszer koncepci, ennek ellenre egy sor krdst vet fel. Hogyan jnnek ltre a csoportok s hogyan sznnek meg? Hogyan vlasztjk meg a csoportcmet? Hogyan csatlakozhatnak j tagok (kldknt vagy fogadknt) a csoporthoz? Brki csatlakozhat-e a csoporthoz (s kldhet a csoportnak vagy fogadhat a csoporttl datagramot), vagy korltozva van-e a csoporttagsg, s ha igen, ki ltal? Megtudjk-e a tagok a hlzati rtegbeli protokoll mkdsbl addan, hogy kik a csoport tagjai? Hogyan mkdnek egymssal egytt a hlzati csompontok annak rdekben, hogy a tbbeskldses datagramok eljussanak a csoport minden tagjhoz? Az internet esetben ezek a krdsek az Internet Group Management Protocol (IGMP; internetes csoportkezel protokoll) segtsgvel vlaszolhatk meg [RFC 3376]. Ezrt az albbiakban rviden ismertetjk az IGMP-t, majd visszatrnk a fenti krdsek trgyalsra.

4.7. ADATSZRSOS S TBBESKLDSES TV1-ASZTS

137

Az IGMP mkdse
Az IGMP 3-as verzija [RFC 3376) a hoszt s az ahhoz kzvetlenl kapcsold tvlaszt kztti kommunikci mdjt rja le (informlisan azt mondhatjuk, hogy a kzvetlenl kapcsold tvlaszt a legkzelebbi azok kzl, amelyeket a hoszt a sajt helyi hlzatn

4.6. TVLASZTS

AZ INTERNETEN

138
mcast group 226.17.30.1 97

128.119.40.186

128.34.108.63

Jells:
s* olyan tvlaszt, amelyhez csatlakozik a csoport valamely tagja *^an tvlaszt, amelyhez nem csatlakozik tobbeskltses csoporthoz tartoz tag

A tbbeskldses csoport: o csoportnak cmzett datagramot a tbbeskldses csoport minden tagjhoz kikzbestik
4.44. bra. kvli brmely ms hoszthoz vezet ton lt), ahogy ez a 4.45. brn is lthat. Az brn szemlltetett hrom, a hosztok hoz legkzelebbi tbbeskldses tvlaszt egy-egy inter- fsszel kapcsoldik a hozz tartoz hosztokat tartalmaz LAN-hoz. A LAN-okhoz ugyan tbb hoszt is csatlakozik, de ezek kzl valamely adott idpontban ltalban csak nhny tartozik egy adott tbbeskldses csoporthoz. A hoszt az IGMP segtsgvel tjkoztatja a hozz csatlakoz tvlasztt arrl, hogy a hoszton fut valamely alkalmazs csatlakozni kvn valamelyik tbbeskldses csoporthoz. Mivel az lGMP-s egyttmkds egy hosztra s a hozz kapcsold tvlasztra korltozdik, nyilvnvalan egy msik protokollra is szksg van a tbbeskldses tvlasztknak (belertve ebbe a hosztokhoz kzvetlenl kapcsold tvlasztkat is) az internet egszre kiterjed koordinlshoz, ami alapfelttele annak, hogy a tbbeskl dses datagramok el is jussanak a vgclokhoz. Hz utbbi funkcionalitst azok a hlzati rtegbeli tbbeskldses tvlaszt algoritmusok valstjk meg, amelyekkel rvidesen meg fogunk ismerkedni. Az internet esetben a hlzati rtegbeli tbbesklds teht kt dologra tmaszkodik: az IGMP-re s a tbbeskldses tvlasztsi protokollokra. Az IGMP csak hrom zenettpust definil. Az ICMP-hez hasonlan az IGMP-zeneteket is IP-datagramok szlltjk; az IGMP protokoll-azonostja a 2. A membership_query (laglekrdezses) zenetet az tvlaszt valamely csatlakoz interfsz valamennyi hosztjnak elkldi (pldul egy LAN sszes hosztjnak), hogy megtudja, mely tbbeskldses csoportokhoz csatlakoztak az adott interfszhez kapcsold hosztok. Erre az zenetre a hosztok az IGMP membership_report (tagsgjelents) zenetvel vlaszolnak; egy hoszt valamely alkalmazs els csatlakozsakor akkor is kldhet members-

4.39. bra. Egyszer BGP-s plda

4.7. ADATSZRSOS S TBBESKLDSES TV1-ASZTS

139

IGMP Nagy kiterjeds tbbeskldses tvlaszts

4.45. bra. A hlzati rtegbeli tbbesklds kt internetes komponense: az IGMP

s a tbbeskldses tvlasztsi protokollok


hip_report zenetet, ha mg nem kapott az tvlaszttl membership_query ze netet. Az IGMP-zenetek harmadik tpusa a leave_group (csoport elhagysa) zenet, amely meglep mdon opcionlis. De ha ez gy van, akkor honnan tudja az tvlaszt, hogy egy hoszt elhagyta a csoportot? Erre a krdsre a vlasz az, hogy az tvlaszt kikvetkezteti, hogy egy adott hoszt nem tagja mr a tbbeskldses csoportnak, ha az tbb nem vlaszol a membership_query zenetre az adott csoportcmmel. Az ilyen protokollokat hvjk nha puha llapotnak (soft State). A puha llapot protokollok llapotinformcii (jelen esetben az a tny, hogy vannak tagjai egy tbbeskldses csoportnak) egy id utn elvlnek, trldnek, ha nem frissti ket senki. Az idzts ebben az esetben a rendszere sen kikldtt membership_query zenethez van ktve (ha egy hoszt nem vlaszol r, az tvlaszt trli a csoport tagjai kzl), a frissts pedig membership_report zene tek segtsgvel trtnik. A puha llapot protokollok tmogati azzal rvelnek, hogy egyszerbben kezelhetk, mint a kemny llapotak, amelyek nem csak az llapotinformcik explicit hozzadst s trlst kvetelik meg, hanem azt is, hogy a hlzat megbirkzzon azokkal az esetekkel, amikor valamely llapot trlsrt felels entits az llapot trlst elmulasztotta (pldul mert id eltt kikapcsoltk vagy meghibsodott). A puha llapot protokollokat [Raman 1999; Ji 2003 s Lui 2004] trgyalja rszletesebben.

Tbbeskldses tvlaszt algoritmusok


A tbbeskldses tvlaszts problmjt (multicast routing problem) a 4.46. bra szemllteti. A tbbeskldses csoporthoz csatlakozott hosztokat kk sznnel jelltk, csakgy, mint a hozzjuk kzvetlenl kapcsold tvlasztkat. Lthat, hogy nem minden tvlasztnak kell megkapnia a tbbeskldses forgalmat, hanem csak az A, f, E s F tvlasztnak, mivel az ezekhez kapcsold hosztok kztt vannak olyanok, amelyek tagjai a tbbeskldses csoportnak. Mivel a C

140

4. A HLZATI RTEG

tvlaszthoz nem kapcsoldnak hosztok,

4.7. ADATSZRSOS S TBBESKLDSES TV1-ASZTS

141

a D-hez kapcsoldak pedig nem tagjai a tbbeskldses csoportnak, sem C-nek, sem D-nek nem kell megkapnia a tbbeskldses forgalmat. A tbbeskldses tvlasztsnak teht az a feladata, hogy megtallja azt az adatkapcsolati ft, amely sszekti az sszes olyan tvlasztt, amelyhez a tbbeskldses csoportot kpez hosztok kapcsoldnak. Ezt kveten a tbbeskldses csomagok e fa mentn tovbbtdnak a kldtl a tbbeskldses fhoz tartoz sszes hosztig. A fnak termszetesen olyan tvlasztk is lehetnek rszei, amelyekhez nem kapcsoldnak a tbbeskldses csoporthoz tartoz hosztok (pl dul a 4.46. brn A, B, E s F nem is lehetnnek sszekthetk egy olyan fban, amely nem tartalmazza a C vagy a D tvlasztt). A gyakorlatban kt megoldst alkalmaznak a tbbeskldses tvlasztsi fa fellltsra. Mivel mindkettrl mr volt sz az adatszrsos tvlasztssal kapcsolatban, itt csak rintlegesen foglalkozunk velk. A kt megolds abban klnbzik egymstl, hogy mg az egyiknl a csoport tagjai kzsen hasznlnak egyetlen ft az sszes kldtl szrmaz forgalom elosztsra, addig a msiknl minden egyes kld szmra kln tvlasztsi ft lltanak fel. Tbbeskldses tvlaszts a csoport ltal kzsen hasznlt fval. A fesztfs adatszrshoz hasonlan ez a mdszer is egy olyan fa fellltsra pl, amely az sszes olyan, a hlzat peremn lev (szls") tvlasztt tartalmazza, amelyhez kapcsoldik a tbbeskldses csoporthoz tartoz hoszt. A gyakorlatban a kzpontalap megoldst hasznljk a tbbeskldses tvlasztsi fa fellltsnl, ahol a fent emltett szls tvlasztk csatlakozsi szndkot jelz zeneteket kldenek a kzponti csompont nak. Az adatszrshoz hasonlan ezek az zenetek is az egynekadsos tvlasztssal tovbbtdnak a kzpont fel, amg meg nem rkeznek valamely, a fa rszt kpez tvlaszthoz vagy a kzponti csomponthoz. Ezt kveten a csatlakozsi szndkot jelz zenet tjn fekv sszes tvlaszt az imnt csatlakoz szls tvlaszthoz tovbbtja majd az ltala megkapott tbbeskldses csomagokat. A kzpontalap ft hasznl tbbeskldses tvlaszts knyes pontja a kzpont kivlasztsnak mdja. A kzpontot kivlaszt algoritmusok rszletes trgyalsa megtallhat a [Wall 1980; Thaler 1997; Estrin 1997] forrsokban. Tbbeskldses tvlaszts forrsalap fval. Mg csoport ltal kzsen hasznlt ft alkalmaz tbbeskldses tvlasztsnl egyetlen, kzsen hasznlt fa kerl fellltsra az sszes kld csomagjainak tovbbtsra, addig az ebben a bekezdsben ismertetett megoldsnl a tbbeskldses csoporthoz tartoz minden egyes forrs szmra kln fa fellltsra kerl sor. A gyakorlatban a valamely x forrscsomponthoz tartoz fa fellltsa egy RPFalgoritmus segtsgvel trtnik. A korbban ismertetett adatszrsos RPFalgoritmust kicsit t kell alaktani ahhoz, hogy a tbbes- kldsnl is hasznlhat legyen. Ennek okt megrtjk, ha megnzzk, mi is trtnik a D tvlasztnl a 4.47. brn. Az adatszrsos RPF-nl ez az tvlaszt annak ellenre tovbbtana G-nek csomagokat, hogy G-hez nem csatlakoznak a tbbeskldses csoporthoz tartoz hosztok. Az brn lthat pldban ez nem jelentene katasztrft, hiszen a hlzatban D alatt csak az az egy tvlaszt helyezkedik el, de kpzeljk csak cl, mi trtnne, ha tbb ezer lenne! A tbb ezer tvlaszt kzl mindegyik kapna nem kvnt tbbeskldses csomagokat. (Ez a helyzet nem is annyira valszertlen, mint gondolnnk. Az

142

4. A HLZATI RTEG

els globlis tbbeskldses hlzatnak, az MBone-nak [Casner 1992; Macednia 1994], kezdetben ppen ezzel a problmval kellett megkzdenie.) A nem kvnt tbbeskldses csomagok kzbestsnek megakadlyozsra az RPF

4.7.

Adatszrsos s tbbeskldses tvlaszts

143

4.46. bra. Tbbeskldses hosztok a hozzjuk kapcsold tvlasztkkal s

ms tvlasztk
algoritmust ki kell bvtennk a metszs (pruning) nev mvelettel: az az tvlaszt, amely annak ellenre kap tbbeskldses csomagokat, hogy nem kapcsoldik hozz az adott csoporthoz tartoz hoszt, metszszenetei kld annak az tvlasztnak, amely a nem kvnt csomagot kzbestette neki. Azok az tvlasztk, amelyek az sszes - a tbbeskldses csomagok forrsa fell nzve - aljuk tartoz tvlaszttl metszszenetet kaptak, a legkzelebbi, a forrs fel es tvlasztnak maguk is kldhetnek metszszenetet. 1

Tbbeskldses tvlaszts az interneten


A tvolsgvektor-alap tbbeskldses tvlasztsi protokoll (Distance-Vector Multicast Routing Protocol, DVMRP) volt az els internetes tbbeskldses tvlasztsi protokoll [RFC 1075]. Forrsalap fkat s egy metszs-mvelettel bvtett RPFalgoritmust hasznl. A tbbeskldses tvlasztsi protokollok kzl taln a protokollfggetlen tbbeskldses tvlasztsi protokoll (Protocol-Independent Multicast, PIM) a legelterjedtebb az interneten; ennek kt tbbeskldses forgatknyve van. A sr zemmdban
A

fordt megjegyzse: A mdszer htrnya nyilvnval; a nem kvnt tbbeskldses


reklmokkal bombznak minket, s elvileg ugyan mindegyik hrlevlrl egyenknt

csoportokbl az rintett tvlasztknak egyenknt ki kell lpnik. A problma analg azzal, amikor kretlen leiratkozhatunk, sszessgben mgsem cskken a berkez reklmok mennyisge (mg akkor sem, ha a leiratkozs valban mkdik), meri mindig jabb rekJmforrsok jelennek meg.

4.7. ADATSZRSOS S TBBESKLDSES TVLASZTS


S: source

144

Jells:
a csomag tovbbtsra kerl =-* a csomagot
a/

tvlaszt rm tovbbtja

4.47. bra. Fordtott irny tovbbts tbbesklds esetn (dense mode) RFC 3973] a tbbeskldses csoport tagjai srn helyezkednek el, azaz a krnyk szmos vagy legtbb tvlasztja knytelen lesz rszt venni a tbbeskldses da- tagramok tovbbtsban. A PIM sr zemmdja egy a DVMRPhez hasonl elrasz- tsos-metszses fordtott irny tovbbtsi algoritmuson alapul. A ritka zemmdnl (sparse mode) [RFC 4601] az sszes tvlaszthoz kpest kicsi azoknak az tvlasztknak a szma, amelyekhez csoporttagok csatlakoznak, azaz a csoporttagok egymstl tvol, nagy terleten sztszrdva helyezkednek el. A PIM ritka zemmdja randevpontok segtsgvel lltja fel a tbbeskldses eloszt ft. A forrsspecifikus tbbeskldsnl (source-specific multicast, SSM) |RFC 3569, RFC 4607] csak egyetlen forrs kldhet forgalmat a tbbeskldses fba, ami nagy mrtkben megknnyti a fa fellltst s karbantartst. Ha egy egyetlen adminisztratv irnyts al tartoz hlzaton bellre korltozdik a PIM s a DVMRP alkalmazsa, a hlzatzemeltet a krzeten bell nagyjbl ugyangy konfigurlhatja a tbbeskldses IP-tvlasztkat, mint a RIP, az IS-IS vagy az OSPF AS-en belli egynekadsos tvlasztsi protokollok alkalmazsakor. De mi a helyzet a klnbz AS-ek kztti tbbeskldses tvonalak esetben? Ltezik vajon olyan, a BGP-hez hasonl, AS-kzi tvlasztsi protokoll, amely tmogatja a tbbeskldst? Igen, ltezik: az [RFC 4271] olyan funkcikkal bvti a BGP-t, amelyek segtsgvel ms (tbbek kztt a tbbeskldses) protokollok szmra is szllthatk az tvlasztssal kapcsolatos adatok. A klnbz ritka zemmd PIM-et hasznl AS-ekben tallhat randevpontok a Multicast Source Discovery Protocol (tbbeskldses forrsfeldertsi protokoll, MSDP) [RFC 3618, RFC 4611] segtsgvel kapcsolhatk ssze. Befejezsl megjegyezzk, hogy az IP tbbesklds szles kr alkalmazsa mg vrat magra. Jelenlegi internetes hasznlatrl tbb rdekes adat tallhat a [Dit

4.7.

Adatszrsos s tbbeskldses tvlaszts

145

2000] s a [Sharma 2003) forrsban. Egyelre azonban korai lenne a tbbeskldst eltemetni. Az Internet2 i s a vele kommunikl trshlzatok mr tbb ve szlltanak tbbeskldses forgalmat [Inter- net2 Multicast 2007]. Az Egyeslt Kirlysgban a BBC rszvtelvel folynak az IP tbbes kldses tartalomsztosztssal kapcsolatos ksrletek (BBC Multicast 2007]. Ugyanakkor az alkalmazs szint tbbesklds a trsak kztti tbbeskldses tartalom-sztosztst inkbb alkalmazsi rtegbeli (s nem hlzati rtegbeli) tbbeskldses protokollokkal valstja meg, ahogy azt a 2. fejezetben bemutatott PPLive- vagy ms P2P-rendszerek (pldul az Knd System Multicast [ESM 2007]) esetben lttuk. Krds, hogy a tbbeskldses szolgltatsokat a jvben a hlzati rtegbe (a hlzat belsejbe) vagy az alkalmazsi rtegbe (a hlzat szlre) teleptik majd. Noha a tartalom-sztoszts jelenlegi P2P-divatja rvid tvon az alkal mazsi rtegbeli tbbesklds fel billenti a mrleg nyelvt, a hlzati rtegbeli tbbesklds technikja is lassan, de biztosan fejldik; a verseny mg nem dlt cl.

4.8. sszefoglals
Ebben a fejezetben megkezdtk utazsunkat a hlzat belseje fel. Megtudtuk, hogy a hlzati rteg mkdse a hlzat minden egyes hosztjt s tvlasztjt rinti, s hogy emiatt a hlzati rtegbeli protokollok a legizgalmasabbak kz tartoznak. Lttuk, hogy egy tvlasztnak egyidejleg akr tbb milli, klnbz forrsokbl ered s cloknak sznt csomagfolyamot is fel kell dolgoznia. A hlzattervezk az vek sorn megtanultk, hogy az tvlasztk akkor tudnak ezzel sikeresen megbirkzni, ha az ltaluk elltand feladatok a lehet legegyszerbbek. Ezt a clt szolglja a datagramalap hlzati rteg elnyben rszestse a virtulisramkr-alapval szemben, a karcsstott, lland hosszsg fejrsz hasznlata s a darabols elkerlse az IPv6-ban, valamint a legjobbra trekv (best-effort) szolgltats. Az eszkztr taln legfontosabb eleme az, hogy az tvlasztsi dntsek meghozatalhoz nem kell nyomon kvetni az egyedi folyamokat, hanem elegend a datagramokban szlltott hierarchikusan strukturlt clcmeket figyelembe venni. Itt jegyezzk meg, hogy a posta mr rgta hasznlja ezt a megoldst. Ebben a fejezetben azokkal az alapelvekkel is megismerkedtnk, amelyekre az tvlaszt algoritmusok plnek. Megtudtuk, hogy ezek az algoritmusok hogyan lltjk el a hlzatok csompontokat s adatkapcsolatokat tartalmaz absztrakt grfmodelljt. Ennek az absztrakcinak a segtsgvel hasznosthatk az opercikutatsnak s az algoritmuselmletnek a legrvidebb utak megkeressvel kapcsolatos eredmnyei. Lttuk, hogy kt megolds terjedt el szles krben: a centralizlt (globlis) tvlaszts, amelynl minden csompont megkapja a hlzat teljes trkpt s a tbbi csomponttl fggetlenl alkalmaz egy adott legrvidebb utakat keres tvlaszt algoritmust; s a decentralizlt tvlaszts, amelynl az egyes csompontok csupn a hlzat bizonyos rszeirl rendel keznek ismeretekkel, de a centralizlt megoldssal ellenttben egymssal egyttmkd ve talljk meg a legrvidebb csomagtovbbtsi utakat. Megvizsgltuk, hogyan tehet az tvlaszts sklzhatv a nagymret hlzatok hierarchikus, egymstl fggetlen A fordt megjegyzse: Az Internet2 egy nagysebessg kisrleli/kutati hlzat, amelyhez
2008 kzepre az Amerikai Egyeslt llamok mintegy 240 egyeteme csatlakozott, s amely szmos nemzetkzi akadmiai hlzathoz (gy pldul a pn-eurpai GEANT-hoz s a magyar HUNGARnet-hez is) kapcsoldik.

146

4. A HLZATI RTEG

tartomnyokba (autonm rendszerekbe, AS-ekbe) val particionlsval. Az egyes AS-ek egymstl fggetlenl tovbbtjk a datagramokat az adott AS-en bell, hasonlan ahhoz, ahogy az egyes orszgok is egymstl fggetlenl tovbbtjk a postai forgalmat az orszgon bell. Megtudtuk, hogy a centralizlt, decentralizlt s hierarchikus megoldsok miknt plnek be az internet fontosabb tvlasztsi protokolljaiba: az RIP-be, az OSPF-be s a BCP-be. Vgl megismerkedtnk az adatszrsos s a tbbeskldses tvlasztssal. Most, hogy befejeztk a hlzati rteggel val ismerkedst, egy lpssel tovbb haladunk a protokollkszlet lejjebb fekv rtegei fel, s az adatkapcsolati rteggel foglalkozunk majd. A hlzati rteghez hasonlan az adatkapcsolati rteg is a hlzat belsejnek rsze, de mint a kvetkez fejezetben ltni fogjuk, egy jval krlhatroltabb feladatot lt el, nevezetesen a csomagok mozgatst azonos fizikai adatkapcsolaton vagy LAN-ban elhelyezked csompontok kztt. Felletesen szemllve gy tnhet, hogy ez sokkal egyszerbben megoldhat, mint a hlzati rteg klnbz feladatai, de ltni fogjuk, hogy az adatkapcsolati rteg szmos fontos s rdekes krdst vet fel, amelyek trgyalsa szintn sok figyelmet ignyel.

Krdsek_______________________________________________
4.1-4.2. alfejezet KI. Vegyk szmba a knyvben hasznlt terminolgit. Emlkezznk arra, hogy a szlltsi rtegbeli csomagot szegmensnek hvjuk, az adatkapcsolati rtegbelit pedig keretnek. Hogy hvjk a hlzati rtegbeli csomagot? Idzzk fel, hogy az tvlasztkat csakgy, mint az adatkapcsolati rtegbeli kapcsolkat csomagkapcsolknak nevezzk. Mi az alapvet klnbsg az tvlaszt s az adatkapcsolati rtegbeli kapcsol kztt? Ne felejtsk el, hogy az tvlaszt fogalmt egyarnt hasznljuk a datagramhlzatok s a virtulis ramkri hlzatok esetben. K2. Melyik a kt legfontosabb hlzati rtegbeli funkci a datagramhlzatokban? Melyik a hrom legfontosabb hlzati rtegbeli funkci a virtulis ramkrket hasznl hlzatokban? K3. Mi a klnbsg az tvlaszts (routing) s a tovbbts (forwarding) kztt? K4. Hasznlnak a datagramhlzatok s a virtulis ramkri hlzatok tvlaszti tovbbttblkat? Ha igen, ismertesse a ktfle hlzatban hasznlt tovbbttblkat. K5. Mulasson be nhny felttelezett szolgltatst, amelyet a hlzati rteg egy egyedi csomagnak, illetve egy csomagfolyamnak nyjtani kpes. Van ezek kztt olyan, amelyet az internet hlzati rtege nyjt? Nyjt-e ilyen szolgltatsokat az ATM CBR szolglati modellje? Ht az ATM ABR szolglati modellje? K6. Soroljon fel nhny olyan alkalmazst, amelyek szmra elnyt jelentene az ATM CBR szolglati modellje. 4.3. alfejezet K7. Magyarzza el, hogy mirt trolja a nagysebessg tvlasztk minden

4.7.

Adatszrsos s tbbeskldses tvlaszts

147

portja a tovbbttbla egy-egy msolatt.

4.7.

Adatszrsos s tbbeskldses tvlaszts

151

K8. A 4.3. alfejezetben a kapcsolgpek hrom tpusval ismerkedtnk meg. Sorolja fel s rviden ismertesse ezeket. K9. Magyarzza el, hogyan kerlhet sor csomagvesztsre a bemeneti portokon. Hogyan kerlhet el a csomagveszts vgtelen kapacits pufferek hasznlata nlkl? K10. Magyarzza el, hogyan kerlhet sor csomagvesztsre a kimeneti portokon. Kll. Mit rtnk soreleji (HOL-) blokkols alatt? A bemeneti vagy a kimeneti portokon fordul el? 4.4. al fejezet K12. Rendelkeznek-e az tvlasztk IP-cmmel? Ha igen, hnnyal? KI3. Mi a 223.1.3.27-es IP-cm 32 bites binris megfelelje? K14. Ltogasson el egy hoszthoz, amely a DHCP segtsgvel hatrozza meg IPcmt, hlzati maszkjt s helyi DNS-szervere IP-cmt. Sorolja fel ezeket az rtkeket. KI5. Ttelezzk fel, hogy egy forrs- s egy clhoszt kztt hrom tvlaszt helyezkedik el. Hny interfszen keresztl kell thaladnia egy IP-datagramnak a forrs s a cl kztt, ha eltekintnk a darabolstl? Hny tovbbttbla jut szerephez a datagram forrs s cl kztti tovbbtsakor? Kl. Ttelezzk fel, hogy egy adott alkalmazs minden 20. ezred msodpercben elllt egy 40 bjtos adat tredket, amelyet egy TCP-szegmensbe, majd egy IP-data- gramba csomagolva szllttat el. A datagram adatainak hny szzalkt teszi ki a fejrsz, illetve az adatmez? K17. Ttelezzk fel, hogy A hoszt B hosztnak egy IP-datagramba csomagolt TCPszeg- menst kld. A csomag megkapst kveten honnan ludja a B hosztnl lv hlzati rteg, hogy a szegmenst (vagyis a datagram adatmezjt) a TCP-nek s ne az UDP-nek vagy valamelyik msik protokollnak adja t? K18. Ttelezzk fel, hogy vsrolt egy vezetk nlkli tvlasztt, s ezt sszekapcsolja a modemjvel, tovbb, hogy az internetszolgltatja dinamikusan oszt ki az n eszkznek (vagyis vezetk nlkli tvlasztjnak) egy IP-cmet. Tegyk mg fel, hogy t otthoni PC-je van, amelyek az IEEE 802.11 szerint kapcsoldnak vezetk nlkl a fent emltett vezetk nlkli tvlaszthoz. Hogyan kaphat IP-cmet az t PC? Szerephez jut-e a vezetk nlkli tvlasztn a NAT? Ha igen, mirt? Ha nem, mirt nem? K19. Hasonltsa ssze az IPv4 s az 1P V 6 fejrszmezit. Vannak olyan mezk, amelyek mindkt protokollban szerepelnek? K20. Sz volt arrl, hogy az IPv6- az IPv4-alagutakal adatkapcsolati rtegbeli protokollokkent kezeli az IPv6-datagramoknak az IPv4-tvlasztkon trtn alagt tpus tvitelnl. Egyetrt ezzel az lltssal? Ha igen, mirt? Ha nem, mirt nem? 4.5. al fe jezet K21. Hasonltsa ssze a kapcsolatllapot-alap s a tvolsgvektor-alap tvlaszt algoritmusokat. K22. Magyarzza el, hogy mirt az internet hierarchikus felptsnek ksznhet, hogy tbb millian is hasznlhatjk. K23. Szksges-e, hogy minden autonm rendszer ugyanazt az AS-en belli

152

4. A HLZATI RTEG

tvlaszt algoritmust hasznlja? Ha igen, mirt? Ha nem, mirt nem?

4.7. ADATSZRSOS S TBBESKLDSES TVLASZTS

129

4.6. alfejezet K24. Ttelezzk fel, hogy a 4.34. bra D tvlasztja (amely mg az eredeti tblval rendelkezik) A-tl az albbi hirdetst kapja:
Clalhlzat z w
X

Legkzelebbi tvlaszt C

Hopok szma a clig 10 1 1

K25. K26.

K27. K28.

K29.

Megvltozik-e a hirdetst kveten D tblja? Ha igen, hogyan? Hasonltsa ssze a RIP s az OSPF ltal hasznlt hirdetseket. Helyettestse be a hinyz kifejezst: a RIP-hirdetsek tipikusan a hopok szmt adjk meg a klnbz clokhoz vezet ton. Ezzel szemben a BGPzenetek a klnbz clokhoz az__________________________________-t hirdetik. Mirt klnbznek egymstl az internetes AS-kzi s AS-en belli tvlasztsi protokollok? Ugyanolyan fontosak a politikai szempontok az AS-en belli protokolloknl (pldul az OSPF-nl s az RIP-nl), mint az AS-kzi protokolloknl (pldul a BGP-nl)? Definilja s hasonltsa ssze az albbi fogalmakat: alhlzat, prefix, BGP-

tvonal.
K30. Hogyan hasznlja a BGP a NEXT_HOP s az AS_PATH attribtumot? K31. rja le, hogy miknt rvnyesthet egy felsbb szint internetszolgltat politikai szempontokat a BGP belltsa sorn. 4.7. alfejezet K32. Milyen lnyeges klnbsg van akztt, hogy az adatszrsi tbb egynekadssal vagy az adatszrst megvalst hlzati funkcikkal oldjuk meg? K33. llaptsa meg, hogy az albbi lltsok kzl melyek igazak s melyek hamisak az adatszrsos tvitel ltalunk vizsglt hrom megoldsra - a nem

130

4. A HLZATI RTEG

Feladatok______________________________________________

szablyozott elrasztsra, a szablyozott elrasztsra s a fcsztfs adatszrsra - abban az esetben, ha nincs puffertlcsorduls miatti csomagveszts, s minden csomag kzbestse a klds sorrendjben trtnik. (a) Egy csompont ugyanannak a csomagnak tbb msolatt is megkaphatja. (b) Egy csompont ugyanazon a kimeneti adatkapcsolaton egy adott csomag tbb msolatt is tovbbthatja. K34. Ha egy hoszt csatlakozik egy tbbeskldses csoporthoz, sajt cmt a csoport cmre kell cserlnie? K35. Milyen szerepet jtszik az IGM P s milyet a nagy kiterjeds hlzatban alkalmazott tbbeskldses tvlasztsi protokoll? K36. Mi a klnbsg a csoport ltal kzsen hasznlt fa s a forrsalap fa kztt a tbbeskldses tvlasztsnl?

FI. Mrlegelje a virtulis ramkri (VC-) hlzatok s a datagramhlzatok nhny elnyt s htrnyt. (a) Ttelezzk fel, hogy az tvlasztk a hlzati rtegben olyan ignybevtelnek vannak kitve, amelynek kvetkeztben gyakran mkdnek hibsan. Milyen magas szint intzkedsekkel kellene reaglni az ilyen tvlaszt-meghibsodsokra? Ilyen esetekben a VCvagy a datagram-architektra az elnysebb? (b) Ttelezzk fel, hogy a teljestkpessg egy adott szintjnek (pldul a ksleltets mrtknek) valamely cl-forrs tvonal mentn trtn szavatolshoz a hlzat azt ignyli, hogy a kld nyilatkozzon cscsforgalma mrtkrl. Ha a bejelentett cscsforgalmi sebessg s a mr korbban bejelentett, meglev forgalmi sebessgek nem teszik lehetv, hogy a forrs s a cl kztti forgalom megfeleljen az ignyelt ksleltetsi kvetelmnyeknek, a forrs krst a hlzat elutastja. Ez a VC- vagy a datagram-architektrval oldhat meg knnyebben? F2. Tekintsnk egy virtulis ramkri hlzatot. Ttelezzk fel, hogy a VC-szm egy 16 bites mez. (a) Legfeljebb hny virtulis ramkr szllthat egy adott adatkapcsolaton? (b) Ttelezzk fel, hogy az sszekttets ltestsekor egy kzponti csompont hatrozza meg az utakat s a VC-szmokat, s hogy a VC tvonala mentn fekv minden egyes adatkapcsolaton ugyanazt a VCszmot hasznlja. rja le, hogy a kzponti csompont hogyan hatrozhatja meg a VC-szmot az sszekttets ltestsekor. Elfordu 1 hat- e, hogy a z adat kapcsolat az (a) pontban meghat rozot t maximlis szmnl kevesebb VC-t szllt, s mgsincs egy kzs szabad VC-szm? (c) Ttelezzk fel, hogy a VC-tvonal mentn minden egyes adatkapcsolat ms-ms VC-szmmal rendelkezhet. rja le, hogyan vlaszthatnak az adatkapcsolatok decentralizlt mdon, a kzponti csomponttl fggetlenl VC-szmot az sszekttets ltestse kzben azt kveten, hogy meg lett hatrozva egy adott vgponttl vgpontig kiterjesztett t. F3. A VC-hlzatban egy egyszer tovbbttbla ngy oszlopbl ll. Mit jelentenek az egyes oszlopokban szerepl rtkek? Adatagramhlzatban egy egyszer tovbbttbla kt oszlopbl ll. Mit jelentenek az egyes oszlopokban szerepl rtkek?

4.7.

Adatszrsos s tbbeskldses tvlaszts

131

F4. Tekintsnk egy VC-hlzatot, amelyben a VC-szm mezje 2 bites. Tegyk fel, hogy a hlzat egy ngy adatkapcsolatot (az A-t, a B-t, a C-t s a D-t) rint VC-t akar ltesteni, s hogy ez a ngy adatkapcsolat mr kt-kt msik VC-t szllt az albbi VC-szmokki:
A adatkapcsolat 00 01 B adatkapcsolat 01 10 C adatkapcsolat 10 11 D adatkapcsolat 11 00

F5. F6.

F7.

F8.

Az albbi krdsek megvlaszolsa sorn ne feledkezzen meg arrl, hogy az egyes VC-k a ngy adatkapcsolat kzl esetleg csak az egyiken haladnak t. (a) Ha mindegyik VC-nek az tja mentn fekv sszes adatkapcsolaton ugyanazt a VC-szmot kell hasznlnia, milyen VC-szmot lehetne kiosztani az j VC szmra? (b) Ha mindegyik VC ms-ms VC-szmot hasznlhat az tja mentn fekv klnbz adatkapcsolatokon (vagyis a tovbbttblknak VC-szm transzformcit kell vgrehajtaniuk), a ngy adatkapcsolat egyedi VCszmainak hny klnbz kombincija hasznlhat? Mi a klnbsg az sszekttets-alap szolgltats szlltsi, illetve hlzati rtegbeli implementcija kztt? A 4.3. alfejezetben megjegyeztk, hogy a bemeneti portokon nem alakulhat ki sor, ha a kapcsolgp sebessge legalbb n-szerese a bemeneti vonali sebessgnek, felttelezve, hogy mind az n bemeneti vonalnak megegyezik a vonali sebessge. Magyarzza el, hogy ez mirt van gy. Tekintsnk egy kapcsolgppel, 2 bemeneti porttal (A-val s B-vel) s 2 kimeneti porttal (C-vel s D-vel) rendelkez tvlasztt. Ttelezzk fel, hogy a kapcsolgp sebessge msflszerese a vonali sebessgnek. (a) Tervezhet-e olyan kapcsolgp, amely biztostani tudja, hogy ne legyen sorban lls, ha valamilyen okbl az sszes A ltal kldtt csomag clja D s az sszes B ltal kldtt csomag clja C? Egy mondatban magyarzza el, hogy ha igen, mirt, ha pedig nem, akkor mirt nem. (b) Most ttelezzk fel azt, hogy az A s B ltal kldtt csomagok vletlenszeren oszlanak meg a C s D cl kztt. Ebben az esetben tervezhet-e olyan kapcsolgp, amely biztostani tudja, hogy ne legyen sorban lls? Egy mondatban magyarzza el, hogy ha igen, mirt, ha pedig nem, akkor mirt nem. Tekintsnk egy 32 bites hosztcmeket hasznl datagramhlzatot. Ttelezzk fel, hogy egy adott tvlaszt ngy adatkapcsolattal rendelkezik, amelyeket 0tl 3-ig szmozunk, s a csomagokat az albbi mdon kell az egyes interfszekre tovbbtani: Clcimtartomny 11100000 00000000 00000000 00000000-tl Kimeneti interfsz

SZAMITOGEP- HLZATOK...............................................3 MKDS............................................................3

Tartalomjegyzk................................................................................................................. 7

132

4. A HLZATI RTEG

A szmtgp-hlzatok s az internet..........................................................................26

1.1.Mi az az internet?........................................................................................................ 2

1.1.1.Alkotrszek............................................................................................................. 2

1.1.2.Szolgltatsok.......................................................................................................... 5

1.2. A hlzat szle.......................................................................................................... 11

1.2.1.Kliens- s szerverprogramok.................................................................................14

1.2.2.Hozzfrsi hlzatok............................................................................................ 14

1.2.3.Fizikai tviteli kzegek........................................................................................... 26

1.3.A hlzat magja......................................................................................................... 30

1.3.1.Vonalkapcsols s csomagkapcsols....................................................................30

1.3.2.Csomagok thaladsa csomagkapcsolt hlzatokon...........................................40

4.7.

Adatszrsos s tbbeskldses tvlaszts

133

1.3.3.lnternetszolgltatk s internet-gerinchlzatok................................................41

1.4.Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban .....44

1.4.1.Ksleltetsek ttekintse......................................................................................46

1.4.2.Sorbanllsi ksleltets s csomagveszts..........................................................52

1.4.3.Vgpontok kztti ksleltets...............................................................................55

1.4.4.Szmtgp-hlzatok tbocstkpessge.........................................................58

1.5.Protokollrtegek s szolglati modelljeik................................................................63

1.5.1.Rtegezett architektra......................................................................................... 63

1.5.2.zenetek, szegmensek, csomagok s keretek.....................................................72

1.6.Tmadsok a hlzatok ellen...................................................................................76

1.7.Szmtgp-hlzatok s az internet trtnete......................................................84

134

4. A HLZATI RTEG

1.7.1.A csomagkapcsols kifejlesztse: 1961-1972......................................................84

1.7.2.Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980 ......................................87

1.7.3.Hlzatok gyors fejldse: 1980-1990.................................................................88

1.7.4.Az internet robbansszer elterjedse: az 1990-es vek ....................................89

1.7.5.Legutbbi fejlesztsek........................................................................................... 90

1.8.sszefoglals............................................................................................................. 92

Krdsek........................................................................................................................... 94

Feladatok.......................................................................................................................... 96

Gondolkodtat krdsek............................................................................................... 105

Leonard Kleinrock.......................................................................................................... 108

Az alkalmazsi rteg..................................................................................................... 113

4.7.

Adatszrsos s tbbeskldses tvlaszts

135

2.1.Hlzati alkalmazsok elvi alapjai.........................................................................114

2.1.1.Hlzati alkalmazsi architektrk.....................................................................114

2.1.2.Kommunikl folyamatok.................................................................................... 119

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok ..........122

2.1.4.Internetes szlltsi szolgltatsok.....................................................................125

2.1.5.Alkalmazsi protokollok....................................................................................... 130

2.1.6.A knyvben trgyalt hlzati alkalmazsok.......................................................131

2.2. A web s a HTTP..................................................................................................... 132

2.2.2.Idleges s lland sszekttetsek..................................................................134

2.2.3.HTTP-zenetformtumok..................................................................................... 140

2.2.4.Felhasznl s szerver kztti egyttmkds: stik.......................................146

136

4. A HLZATI RTEG

2.2.5.Webes gyorsttrazs......................................................................................... 149

2.3.Fjltvitel: FTP......................................................................................................... 127

2.3.1.FTP-parancsok s -vlaszok................................................................................. 129

2.2.6.A feltteles GET.................................................................................................... 131

2.4.Elektronikus levelezs az interneten.....................................................................108

2.4.1.SMTP...................................................................................................................... 134

2.4.2.sszehasonlts a HTTP-vei................................................................................. 113

2.4.3.Levl zenetformtumok s a MIM...................................................................114

2.4.4.Levl-hozzfcrsi protokollok.............................................................................. 118

2.5.DNS - Az internet krzetnv-szolgltatsa............................................................131

2.5.1.A DNS ltal nyjtott szolgltatsok....................................................................132

4.7.

Adatszrsos s tbbeskldses tvlaszts

137

2.5.2.A DNS mkdsnek ttekintse........................................................................135

2.5.3.DNS-rekordok s -zenetek................................................................................. 131

2.6.P2P-alkalmazsok.................................................................................................... 139

2.6.1.P2P-fj1cserls................................................................................................... 140

F \.................................................................................................................................... 143

2.6.2.Informcikeress egy P2P-kzssgben...........................................................155

2.6.3.Esettanulmny: P2F internetes telefonls (Skype)..........................................163

2.7.TCP-szoketprogramozs.......................................................................................... 166

2.7.1.TCP-szoketprogramozs....................................................................................... 168

2.7.2.Egy kliens-szerver alkalmazsi plda Javban programozva............................172

l....................................................................................................................................... 183

138

4. A HLZATI RTEG

t....................................................................................................................................... 186

Bram Cohen.................................................................................................................... 202

A szlltsi rteg............................................................................................................ 205

O..................................................................................................................................... 245

O..................................................................................................................................... 211

Sally Floyd...................................................................................................................... 295

A hlzati rteg.............................................................................................................. 298

Vinton G. Cerf................................................................................................................. 151

1...................................................................................................................................... 196

1...................................................................................................................................... 196

r,=2X............................................................................................................................. 231

4.7.

Adatszrsos s tbbeskldses tvlaszts

139

p*"~ j.............................................................................................................................. 242

I I l i................................................................................................................................. 106

(a)

lltson el egy tovbbttblt, amely ngy bejegyzst tartalmaz, a leghosszabb illeszked prefix mdszert hasznlja s a csomagokat a megfelel adatkapcsolati interfszre tovbbtja. (b) rja le, hogyan hatrozza meg tovbbttblja a megfelel adatkapcsolati interfszt az albbi clcimeknek cmzett datagramok esetben:
11001000 10010001 01010001 01010101 11100001 00000000 11000011 00111100 11100001 10000000 00010001 01110111

F9. Tekintsnk egy 8 bites hosztcmeket hasznl datagramhlzatot. Ttelezzk fel, hogy egy adott tvlaszt a leghosszabb illeszked prefix mdszert hasznlja s az albbi tovbbtjval rendelkezik:

4.7. ADATSZRSOS S TBBESKLDSES TVLASZTS

140

Illeszked clcimprefix 1 11 111 Egybknt

Kimeneti interfsz 0 1 2 3

Adja meg mind a ngy interfsz esetben az interfszhez tartoz clcmtartomnyt s a tartomnyhoz tartoz cmek szmt. F10. Tekintsnk egy 8 bites hosztcmeket hasznl datagramhlzatot. Ttelezzk fel, hogy egy tvlaszt a leghosszabb illeszked prefix mdszert hasznlja s az albbi tovbbttblval rendelkezik:
Illeszked clcimprefix 00 01 10 11 Kimeneti interfsz 0 1 2 3

Adja meg mind a ngy interfsz esetben az interfszhez tartoz clcimtartomnyt s a tartomnyhoz tartoz cmek szmt. F I I . Tekintsnk egy tvlasztt, amely sszekapcsolja az 1-cs, 2-es s 3-as alhlzatot. Ttelezzk fel, hogy mindhrom alhlzat sszes interfsznek a 223.1.17.0/24-es prefixszel kell rendelkeznie, tovbb, hogy az 1-es alhlzatnak 125, a 2-es s 3-as alhlzatnak pedig 60-60interfszt kell tmogatnia. Osszon ki a hrom hlzatnak egy-egy a.b.c.d/x formj hlzati cmet gy, hogy ezek a felttelek teljesljenek. FI2. A 4.2.2. alfejezetben pldaknt szerepel egy a leghosszabb illeszked prefix mdszert hasznl tovbbttbla. rja t ezt a tblt gy, hogy a binris helyett az a.b.c.d/x jellst hasznlja. F13. Az F8. feladatban ellltott tovbbttblt rja t gy, hogy a binris helyett az a.b.c.d/x jellst hasznlja. F14. Tekintsnk egy 101.101.101.64/26-os prefixszel rendelkez alhlzatot. Adjon

4.7.

Adatszrsos s tbbeskldses tvlaszts

141

meg egy olyan (xxx.xxx.xxx.xxx alakban felrt) IP-cmet, amely ennek a hlzatnak kioszthat. Ttelezzk fel, hogy egy adott internetszolgltat a 101.101.128.0/17 alakban felrt cmblokkal rendelkezik, s ebbl a blokkbl ngy alhlzatot kvn ltrehozni gy, hogy mindegyik blokk azonos szm IPcmmel rendelkezzen. Melyek a ngy alhlzat (a.b.c.d/x alakban felrt) prefixei? F15. Tekintsk a 4.17. brn felvzolt topolgit. 12:00-tl kezdve az ramutat jrsval egyez irnyban jellje a hosztokkal rendelkez alhlzatokat A-val, B-vel s C-vel, a hosztokkal nem rendelkezket pedig D-vel, E-vel s F-fel. (a) Osszon ki hlzati cmeket mind a hat alhlzatnak az albbi megszortsokkal: minden cmnek a 214.97.254.0/23-as cmtartomnyba kell esnie; az A alhlzatnak elg cmmel kell rendelkeznie ahhoz, hogy 250 interfszt tudjon tmogatni; B alhlzatnak elg cmmel kell rendelkeznie ahhoz, hogy 120 interfszt tudjon tmogatni; a C alhlzatnak elg cmmel kell rendelkeznie ahhoz, hogy 120 interfszt tudjon tmogatni. A D, E s F alhlzatnak termszetesen kpesnek kell lennie kt-kt interfsz tmogatsra. A kiosztott cmek minden alhlzat esetben az a.b.c.d/x, illetve az a.b.c.d/x - e.f.g.h/y alakban legyenek felrva.

142

4. A HLZATI RTEG

(b) Az F15. a)-ra megadott vlaszt felhasznlva lltsa el mind a hrom tvlaszt
F16.

FI 7.

F18.

(leghosszabb prefixnek megfelel illeszkedst hasznl) tovbbttbljt. Tekintsk azt az esetet, amikor egy 500 bjtos MTU-val rendelkez adatkapcso latba 3000 bjtos datagramot kldnk ki. T telezzk fel, hogy az eredeti datagram azonost szma 422. Hny tredk ellltsra kerl sor s mik ezek jellemzi? Ttelezzk fel, hogy az A forrshoszt s a B clhoszt kztt szlltott datagramok mrete (a fejrszt is belertve) legfeljebb 1500 bjt lehet. Egy 4 milli bjtos MP3 elkldshez hny datagramra lenne szksg, ha az IP-fejrsz 20 bjtos? Tekintsk a 4.22. brn vzolt hlzati elrendezst. Tegyk fel, hogy az ott meg adottak helyett az internetszolgltat a 126.13.89.67-es cmet osztja ki az tvlasz tnak, s hogy az otthoni hlzat hlzati cme 192.168.0.0/16. (a) Osszon ki cmet az otthoni hlzat sszes interfsznek. (b) Ttelezzk fel, hogy minden hoszt rendelkezik kt l TCP-sszekttetssel a 128.119.40.86-os hoszt 80-as portjval. Adja meg az ennek megfelel hat bejegyzst a NAT cmfordt tbljban. F19. Ebben a feladatban a NAT-nak a P2P-alkalmazsokra gyakorolt hatst vizsgljuk. Ttelezzk fel, hogy az Aladr felhasznlnev fl lekrdezs tjn megtudja, hogy a Bla nev flnek van olyan fjlja, amelyet le szeretne tlteni. Tovbb ttelezzk fel, hogy Bla s Aladr is egy-egy KAI mgtt van. Prbljon felvzolni egy olyan technikt, amelynek segtsgvel Aladr alkalmazsspecifikus NAT-konfigurci nlkl tud TCP-sszekttetst ltesteni Blval. Ha ez
F20. F21. F22.

nehzsgekbe tkzik, magyarzza meg, hogy mirt. Sorolja fel a 4.26. bra azon v s y kztti tjait, amelyek hurokmentesek. 'legye meg ugyanezt az x s n\ a w s u s a z s x kztti utak esetben is. Tekintsk az albb felvzolt hlzatot. A feltntetett kapcsolat kltsgek figyelembevtelvel szmtsa ki Dijkstra legrvidebb t algoritmusval x s az sszes hlzati csompont kztti legrvidebb utat. Mutassa be az algoritmus mkdst a 4.4. tblzathoz hasonl tblzat kiszmtsval.

4.7.

Adatszrsos s tbbeskldses tvlaszts

143

F23. Tekintsk az F22. feladatban felvzolt hlzatot. A Dijkstra-algoritmus s a 4.4. tblzathoz hasonl sajt tblzata segtsgvel vgezze el az albbi szmtsokat:

144

4. A HLZATI RTEG

(a)

1 latrozza meg s s az sszes hlzati csompont kztti legrvidebb utat. (b) Hatrozza meg l s az sszes hlzati csompont kztti legrvidebb utat. (c) Hatrozza meg u s az sszes hlzati csompont kztti legrvidebb utat. (d) Hatrozza meg v s az sszes hlzati csompont kztti legrvidebb utat. (e) Hatrozza meg w s az sszes hlzati csompont kztti legrvidebb utat. (f) Hatrozza megy s az sszes hlzati csompont kztti legrvidebb utat. (g) l latrozza meg 2 s az sszes hlzati csompont kztti legrvidebb utat. F24. Tekintsk az albbi felvzolt hlzatot, s ttelezzk fel, hogy kezdetben minden csompont ismeri az sszes szomszdjhoz vezet t kltsget. Tegyk fel, hogy a hlzat tvolsgvektor-alap algoritmust hasznl. Adja meg az csompont tvolsgvektornak tartalmt.

F25. Tekintsnk valamilyen ltalnos topolgit (teht nem az F24. feladatban megadottat) s a tvolsgvektor-alap algoritmus szinkron verzijt. Ttelezzk fel, hogy egy adott csompont minden itercinl megkldi tvolsgvektorait szomszdainak, amelyek cserbe elkldik neki sajtjaikat. Legfeljebb hny itercira van szksg ahhoz, hogy stacionrius llapot lljon be, ha felttelezzk, hogy az algo ritmus elindtsakor minden csompont kizrlag a kzvetlen szomszdaihoz ve zet utak kltsgeit ismeri? Vlaszt indokolja. F26. Tekintsk az albb brzolt rszhlzatot, x-nek csak kt hozz kapcsold szomszdja van: w s y. w egy 5 kltsgrtk minimlis kltsg ttal, y pedig egy 6 ktsgrtck minimlis kltsg ttal rendelkezik az (brn nem lthat) clhoz. Az brn nem lthat sem a u'-tl sy-tl -hoz vezet teljes t, sem a w s>' kztti t. A hlzatban az sszes kapcsolatkltsg pozitv egsz szm.

145

4. A HLZATI RTEG

(a) Adja meg x tvolsgvektort a w, y s u clok esetben. (b) c(x,w)-re vagy c(x,y)-ra adjon meg egy olyan kapcsolatkltsgvltozst, hogy x-nek tjkoztatnia kelljen szomszdait egy /-hoz vezet j minimlis kltsg trl, miutn vgrehajtotta a tvolsgvektor-alap algoritmust.

GONDOLKODTAT KRDSEK

146

(c) c(x,w)-re vagy c(x,y)-ra adjon meg egy olyan kapcsolatkltscg-vltozst> hogy x-nek ne kelljen tjkoztatnia szomszdait egy u-hoz vezet j minimlis kltsg trl, miutn vgrehajtotta a tvolsgvektor-alap algoritmust. F27. Tekintsk a 4.29. brn lthat hromcsompontos topolgit. Az ott megadott kltsgek helyett azonban legyen c{x,y) = 5, c(yyz) = 6, c(z,x) = 2. Szmtsa ki a tvolsgok tbljt a tvolsgvektor-alap algoritmus valamely szinkron verzijnak inicializlsi lpst s minden itercijt kveten (ahogy ezt a 4.29. bra trgyalsnl is tettk). F28. rja le, hogy a BGP-nl miknt derthetk fel a hurkok az utakban. F29. Tekintsk az albb bemutatott hlzatot. Ttelezzk fel, hogy az AS3 s az AS2 az OSPF-et,azASl sazAS4pedigaRTP^etfuttatja AS-enbelli tvlasztsi protokollknt. Ttelezzk fel tovbb, hogy az AS-ek egyms kztt az eBGP s az iBGP-t hasznljk. Kezdetben ne legyen fizikai adatkapcsolat AS2 s AS4 kztt. (a) A 3c tvlaszt melyik tvlasztsi protokolltl rtesl az x prefixrl? Az OSPF- tl, a RIP-tl, az eBGP-tl vagy az iBGP-tl? (b) A 3a tvlaszt melyik tvlasztsi protokolltl rtesl x-rl? (c) Az le tvlaszt melyik tvlasztsi protokolltl rtesl x-rl? (d) Az ld tvlaszt melyik tvlasztsi protokolltl rtesl x-rl?

F30. Az elz feladatra utalva: az ld tvlaszt elhelyezi az (x, l) bejegyzst tovbbttbljban, amint rtesl x-rl. (a) Az / mivel lesz egyenl ennl a bejegyzsnl, /,-gyel vagy /,-vel? Vlaszt magyarzza el egy mondatban. (b) Most ttelezzk fel azt, hogy van fizikai adatkapcsolat AS2 s AS4 kztt (lsd a szaggatott vonalat az brn). Az I mivel lesz egyenl, /,-gyel vagy /,-vel, ha az ld tvlaszt rtesl arrl, hogy x AS2-n s AS3-n keresztl is elrhet? Vlaszt magyarzza el egy mondatban. (c) Ttelezzk fel, hogy van mg egy autonm rendszer, az brn nem lthat AS5, amely az AS2 s az AS4 kztti ton fekszik. Az / mivel lesz

FELADATOK

147

egyenl, /.-gvel vagy /,-vel, ha az ld tvlaszt rtesl arrl, hogy x AS2 AS5 AS4-en s AS3 AS4-en keresztl is elrhet? Vlaszt magyarzza cl egy mondatban. F31. Tekintsk az albbi hlzatot. B, illetve C internetszolgltat orszgos gerinchlzati szolgltatst nyjt A, illetve D regionlis internetszolgltatnak. Mindegyik internetszolgltat egy AS-bl ll. B s C az USA kt pontjn egyenrang flknt kommunikl egymssal a BGP-t hasznlva. Mi trtnik az A-bl D-be irnyul for galommal? B termszetesen a nyugati partvidken szeretn tadni ezt a forgalmat C-nek (mivel gy C-nek kellene viselnie a keletre szllts kltsgeit), mg C jobban szeretn, ha B viseln ezeket a kltsgeket, s neki csak a keleti partvidki trscsat lakozsi ponton (peering point) kellene tvennie a forgalmat. Milyen BGP-mechanizmus segtsgvel rhetn el C ezt a clt? Ennek a krdsnek a megvlaszolshoz elengedhetetlen a BGP-specifikci tanulmnyozsa.

F32. Mrlegelje, milyen tinformcik jutnak cl a 4.39. brn lthat W, X s Y csonka hlzathoz. Ezekre tmaszkodva milyen kpet alakthat ki magnak W sX a hlzat topolgijrl? Bizonytsa be vlaszt. A topolgia Y ltal kialaktott kpe az albbi brn lthat.

w
Az Y csonka hlzat ltal kialaktott kp a hlzat topolgijrl

F33.

Trjnk vissza az E22. feladatban szerepl (5-tl y-ig cmkzett) nyolccsompontos hlzathoz. Mutassa meg azt az s-gyker minimlis fesztft, amely (vghosztok- knt) az u, v, w s y csompontot is

148

4. A HLZATI RTEG

F34.

F35.

F36.

F37.

F38.

F39.

tartalmazza. Indokolja meg, hogy ez a fa mirt minimlis. Gondoljunk az adatszrs megvalstsnak kt alapvet megoldsra, az adatszrs egynekadsos emullsra s a hlzati rtegbeli (azaz tvlaszt ltal t- inogatott) adatszrsra, s ttelezzk fel, hogy a fesztfs adatszrssal valsul meg a hlzati rtegbeli adatszrs. Vegyk azt az esetet, amikor egyetlen kld s 32 cllloms van. Ttelezzk fel, hogy a kld egy tvlasztkbl ll binris fa segtsgvel kapcsoldik a clllomsokhoz. Ennl a topolginl mennyi egy adat- szrsos csomag kldsnek kltsge az adatszrs egynekadsos cmullsa, s mennyi a hlzati rtegbeli adatszrsesetn? Tegyk fel, hogy ahnyszor sor kerl egy csomag (vagy a csomag egy msolatnak) egy fizikai adatkapcsolaton trtn tkldsre, egy egysgnyi kltsg keletkezik. A kld, a clllomsok s az tvlasztk milyen sszekapcsolsi topolgija kellene ahhoz, hogy az adatszrs egynekadsos emullsnak s a valdi hlzati rtegbeli adatszrsnak a kltsgei minl inkbb klnbzzenek egymstl? Tetszs szerinti szm tvlasztt hasznlhat. Tekintsk a fordtott irny tovbbtst alkalmaz RPl ; -algoritmus mkdst a 4.41. brn felvzolt esetben. Az brn lthat topolgit hasznlva tallja meg az sszes csompont s az A forrscsompont kztti utaknak egy olyan csoportjt, hogy amennyiben ezek az utak lennnek a minimlis kltsg utak, akkor a B csompont az RPF miatt az A, C s D csompontoktl megkapja az A ltal kldtt adatszrsos zenet egy-egy pldnyt. (Jellje ezeket az utakat a 4.41. brhoz hasonlan vastag vonalakkal egy grfban.) Maradjunk a 4.41. brn lthat topolginl. Ttelezzk fel, hogy minden adat- kapcsolat egysgnyi kltsg, s hogy az E csompont egy adatszr forrs. A 4.41. brhoz hasonlan jellje nyilakkal azokat az adatkapcsolatokat, amelyeken a csomagok az RPF-et alkalmazva tovbbtdnak s azokat, amelyeken nem tovbbtdnak, ha az E csompont a forrs. A 4.43. brn lthat topolgia esetben ttelezzk fel, hogy minden adatkapcsolat egysgnyi kltsg. Legyen a Ccsompont a kzpontalap tbbeskiildses tvlasztsi algoritmus kzpontja. Induljon ki abbl, hogy minden csatlakoz tvlaszt a csatlakozsi szndkt jelz zenett a C-hez vezet minimlis kltsg tjn kldi el, s rajzolja meg a fenti felttelekkel fellltott kzpontalap tvlasztsi ft. Minimlis kltsg-e a kapott fa? lltst bizonytsa. A 4.5.1. alfejezetben foglalkoztunk Dijkstra kapcsolatllapot-alap algoritmusval, amelynek segtsgvel kiszmthatk a forrs s az sszes cl kztti minimlis kltsg egynekadsos utak. Ezeknek az utaknak az unijt nevezzk a minimlis kltsg egynekadsos utak fjnak (leastunicast-cost path tree) (illetve a legrvidebb egynekadsos utak fjnak, ha az sszes adatkapcsolati kltsg azonos). Ellenplda konstrulsval bizonytsa be, hogy a minimlis kltsg utak fja nem mindig azonos a minimlis fesztfval. Tekintsnk egy olyan hlzatot, amelyben az sszes csompont hrom msikkal van sszektve. Egy csompont egyetlen temben megkaphatja a szomszdai ltal kldtt sszes adatszrsos csomagot, elksztheti ezek msolatt s elkldheti ket sszes szomszdjnak (az adott csomag

FELADATOK

149

kldjnek kivtelvel). A kvetkez temben a szomszdok kaphatjk meg, msolhatjk le s tovbbthatjk ezeket a csomagokat s gy tovbb. Ttelezzk fel, hogy egy ilyen hlzatban az adatszrs a ncm-ellenrztt elrasztssal valsul meg. Az adatszrsos csomag hny msolata kerl tvitelre a t idintervallumban, ha felttelezzk, hogy az 1-es idintervallum ban a forrscsompont egyetlen adatszrsos csomagot tovbbt hrom szomszdjnak?

150

4. A HLZATI RTEG

F40. A 4.7. alfejezetben lttuk, hogy nincs olyan hlzati rtegbeli protokoll, amelynek segtsgvel azonostani lehetne egy adott tbbeskldses csoporthoz tartoz kosztokat. Ennek ismeretben a tbbeskldses alkalmazsok hogyan derthetik fel a tbbeskldses csoport tagsgt? F41. Adja meg egy olyan alkalmazsi rtegbeli protokoll pszeudokdos lerst, amely karbantart egy adott tbbeskldses csoportot alkot sszes hoszt cmt tartalmaz listt. Adja meg az e protokoll ltal hasznlt (egynekadsos vagy tbbeskldses) hlzati szolgltatst; jelezze, hogy ez a protokoll svon bell vagy svon kvl kld zeneteket, s adja meg ennek okt. (A svon bell vagy kvl a tbbeskldses csoport tagjai kztti alkalmazsi adatfolyamhoz viszonytva rtend.) F42. Milyen mret a tbbeskldses cmtartomny? Ttelezzk fel, hogy kt tbbeskldses csoport vletlenszeren vlaszt tbbeskldses cmet. Milyen nagy annak a valsznsge, hogy egyforma cmet vlasztanak? Ttelezzk fel, hogy egyszerre 1000 tbbeskldses csoport mkdik, s ezek vletlenszeren vlasztanak cmet. Mi annak a valsznsge, hogy zavarni fogjk egymst?

Gondolkodtat krdsek
Gl. Keressen hrom, nagysebessg tvlaszt-termkeket forgalmaz cget, s hasonltsa ssze termkeiket. G2. Az ARIN whois szolgltatsnak (http://www.arin.net/vvhois ) segtsgvel hatrozza meg hrom egyetem IP-cmtartomnyt. Meg lehet-e egyrtelmen hatrozni a whois szolgltats segtsgvel egy adott IP-cm fldrajzi helyzett? G3. Javban is megrhat az ICMP-zeneteket hasznl ping-kliensprogram? Ha igen, mirt? Ha nem, mirt nem? G4. A 4.4. alfejezetben utaltunk r, hogy az 1PV6 hasznlata lassan terjed. Ennek mi az oka? Mire lenne szksg elterjedse felgyorstshoz? G5. Eejtse ki, hogy a NAT milyen problmkat vet fel az IPsec-kel kapcsolatban (lsd [Phifer 2000]). G6. Tanulmnyozza a U PnP-t, s rszletesen ismertesse azokat az zeneteket, amelyeket a hoszt a NAT tkonfigurlsra hasznl. G7. Ttelezzk fel, hogy az X s a Z autonm rendszer az Y autonm rendszeren keresztl (s nem kzvetlenl) ll kapcsolatban. Tegyk fel tovbb, hogy Xnek Y-nal, Y-nak pedig Z-vel van trskzi megllapodsa (peeringje), s hogy Z ksz elszlltani Y sszes forgalmt, de X forgalmt nem akarja szlltani. Meg lehet-e fogalmazni a BGP-ben ilyen rtelm politikt Zszmra? G8. A 4.7. alfejezetben szmos tbbeskldses alkalmazsrl szltunk. Ezek kzl melyik s mirt illeszkedik jl az internetes minimalista tbbeskldses szolglati modellhez? Mely alkalmazsok megvalstsra kevsb alkalmas ez a szolglati modell?

FELADATOK

151

Vlaszol

Vinton G. Cerf
Vinton G. Cerf, a Google elnkhelyettese s az internet apostola, tbb mint 16 vig dolgozott az MCl-nl klnbz beosztsokban, szolglati ideje vgn a mszaki stratgirt felels rszleg vezet alelnke volt. A TCP/IP proto kollkszlet egyik kidoldozjaknt vlt kzismertt. 1976-tl 1982-ig az Egyeslt llamok Vdelmi Minisztriumhoz tartoz Fejlett Kutatsok Hivatalban (DoD Advanced Research Projects Agency, DARPA) a kutatsok vezetjeknt kulcsszerepet jtszott az internet s az internethez kapcsold csomagkapcsols s biztonsgi technikk kidolgozsban. 1997-ben megkapta a National Medl of Techno- logyt, amely a tudomnyos s mszaki fejlesztsek tern elrt kimagasl eredmnyekrt jr legmagasabb amerikai kitntets, 2005-ben pedig a Presidential Medl of Freedom elnki kitntetsben rszeslt. A Stanford Universityn szerzett BScfokozatot matematikbl, majd MSc- s PhD-fokozatot szmtstudomnybl a Los Angeles-i Universityof Californin (az UCLA-n). Mi sztnzte arra, hogy hlzatokkal foglalkozzon? Programozknt dolgoztam az UCLA-n az 1960-as vek vgn. Munkmat az Egyeslt llamok Vdelmi Minisztriumhoz tartoz Fejlett Kutatsok Hivatala, az akkori ARPA (ma DARPA) tmogatta. Leonard Kleinrock professzor laboratriumban dolgoztam az jonnan ltrehozott ARPAnet hlzati mrsekkel foglalkoz kzpontjban, a Network Measurement Centerben. Az ARPAnet els csompontjnak bezemelsre 1969. szeptember 1-jn kerlt sor az UCLA-n. Az n feladatom volt annak a szmtgpnek a programozsa, amely rgztette s tovbbtotta az ARPAnet teljestkpessgre vonatkoz adatokat a matematikai modellekkel val sszehasonlts s a hlzat teljestkpessgre vonatkoz elrejelzsek lehetv ttele cljbl. Tbb vgzett diktrsammal egytt az ARPAnet n. hosztszint protokolljainak kidolgozsval foglalkoztam, amelyektl azt vrtk, hogy lehetv teszik a hlzatba kapcsolt tbb klnbz tpus szmtgp egyttmkdst.

152

4. A

HLZATI RF.TEG

Szmomra ez a munka lenygz felfedez utat jelentett az elosztott rendszerek (nekem) addig ismeretlen vilgba. Gondolta volna az IP protokoll kidolgozsakor, hogy mra ennyire el fog terjedni? Azt hiszem, hogy amikor Bob Kahnnal 1973-ban elkezdtnk ezzel foglalkozni, szmunkra az elsrend krds az volt, hogyan tudnnk megoldani a heterogn csomagkapcsols hlzatok egyttmkdst anlkl, hogy magukat a hlzatokat kellene megvltoztatnunk. Azt remltk, hogy tallunk olyan megoldst, amelynek segtsgvel tlthat mdon sikerl sszekapcsolni csomagkapcsols hlzatok tetszleges sszellts csoportjt gy, hogy a hoszt-szmtgpek vgponttl vgpontig mindenfle protokolltalakts nlkl tudjanak egymssal kommuniklni. Azt hiszem, tudtuk, hogy egy teljestkpes s bvthet megoldssal van dolgunk, de ktlem, hogy lett volna arrl elkpzelsnk, milyen lesz az internetes vilg a maga tbb szz milli sszekapcsolt szmtgpvel.

FELADATOK

153

Hogyan ltja most a hlzati egyttmkds s az internet jvjt? Vlemnye szerint milyen komolyabb akadlyokat kell a tovbbi fejlesztsek sorn lekzdeni? Azt hiszem, hogy az internet s ltalban a hlzatok tovbbi elterjedsre kell szmtani. Mr most minden jel arra mutat, hogy internetkpes eszkzk millirdjai jelennek majd meg az interneten, belertve a mobiltelefonokat, htszekrnyeket, PDA-kat, otthoni szervereket, tv-kszlkeket, a laptopok sokasgt s gy tovbb. Komoly kihvst jelent a mobilits tmogatsa, a megfelel lettartam akkuk fejlesztse, a hozzfrsi hlzatok kapacitsnak nvelse s az optikai gerinchlzat korltlan bvtsnek lehetv ttele. Most komolyan elkteleztem magam az internet bolygkzi kiterjesztsvel foglalkoz projekt mellett, amelyen a NASA Jet Propulsion Laboratriumval kzsen dolgozom. Az IPv6-ra val tlls szksgessgt sem gyzm hangslyozni. Sok munka vr mg rnk! Szakmailag ki hatott nre sztnzen? Kollgm, Bob Kahn; konzulensem, Gerald Estrin; legjobb bartom, Steve Crocker, akivel egytt jrtam kzpiskolba, s aki 1960-ban (!) megismertetett a szmtgpekkel; s az a tbb ezer mrnk, aki napjainkban folyamatosan fradozik az internet tovbbfejlesztsn. Mit tancsolna a hlzatok s az internet vilgba belp hallgatknak? Gondolatban lpjenek t a meglv rendszerek korltain, kpzeljk el a jvbeni lehetsgeket, s dolgozzanak szorgosan azokon a megoldsokon, amelyek segtenek a jelenlegi korltok lebontsban s az elkpzelt lehetsgek megvalstsban. Merjenek lmodni: a Jet Propulsion laboratrium fl tucat munkatrsval egytt a fldi internet bolygkzi kiterjesztsnek megoldsn munklkodunk. Lehet, hogy ennek lpsrl lpsre trtn megvalstsa mg vtizedekig vrat magra, de mindig a klt, Rbert Browning gondo latt tartjuk szem eltt: tzznk ki az azonnal elrhetknl tvolabbi clokat, ostromoljuk az eget! 1

154

4. A

HLZATI RF.TEG

A fordt megjegyzse: Vinton G. Cerf Robert Browning Andrea del Sarto" cm versnek
egy sort (Ah, but a mans reach should exceed his grasp, or whats a heaven for?) fogalmazza t: A mans reach should exceed his grasp, or what are the heavens for?

5. FEJEZET

Az adatkapcsolati rteg s a helyi hlzatok

Az elz fejezetben lthattuk, hogy a hlzati rteg kt hoszt kztti kommunikcis szolgltatst biztost. Ahogy azt az 5.1. bra is mutatja, az erre szolgl kommunikcis tvonal a forrshoszttl a clhosztig tvlasztk (routerek) s az ket sszekt fizikai adat- kapcsolatok (linkek) sorozatn vezet t. A protokollveremben tovbb haladva lefel tbb krds is felmerlhet bennnk. Vajon hogy jutnak t a csomagok az egyes, szomszdos hosztokat vagy tvlasztkatt sszekt adatkapcsolatokon, amelyek a teljes kommunikcis tvonalat alkotjk? Hogyan gyazdnak be a hlzati rtegbeli csomagok az adatkapcsolaton val tvitelre hasznlt adatkapcsolati keretekbe? Kpesek az adatkapcsolati protokollok a szomszdos tvlasztk kztti megbzhat tvitelre? Vajon hasznlhatunk-e ugyanazon kommunikcis tvonal klnbz adatkapcsolatain klnbz adatkapcsolati protokollokat? Ebben a fejezetben a fenti s ms fontos krdsekre kaphatunk vlaszt. Mint azt ltni fogjuk, az adatkapcsolati csatornknak alapveten kt tpust klnbztetjk meg. Az els tpus az adatszr (broadeast) csatorna, amely a vezetkes s vezetk nlkli helyi hlzatokban (LAN), a mholdas hlzatokban, valamint a hibrid fnyve- zetszlas-koaxilis kbeles (hybrid fiber-eoax, HFC) hlzatokban elterjedt. Adatszr csatornk esetn tbb hoszt kapcsoldik ugyanazon kommunikcis kzeghez, az tvitel vezrlsre s a csomagtkzsek kezelsre pedig n. kzegelrsi protokollokat hasznlunk. Az adatkapcsolati csatornk msik fajtja az n. ktpontos (pont-pont) sszekttets, amelyet pldul kt tvlaszt kztt, vagy otthoni modemnk s az internetszolgltat tvlasztjnak sszektsre hasznlhatunk. Ktpontos sszekttetsek esetn a hozzfrs kezelse magtl rtetd, m a keretezs, a megbzhat adattvitel, a hibajelzs s a forgalomszablyozs tmakrei fontos krdseket vetnek fel. Ebben a fejezetben szmos adatkapcsolati technikval fogunk megismerkedni. El fogunk mlylni napjaink uralkod vezetkes LAN-technikja, az Ethernet rejtelmeiben, s megvizsgljuk a ktpontos protokollt (PPP), amely az otthoni betrcszs internetkapcsolatoknl elterjedt. Jllehet, a WiFi, vagy ltalnosabban a vezetk nlkli LAN-ok is ebbe a tmakrbe tartoznnak, ezekkel mgsem foglalkozunk ebben a fejezetben. No nem azrt, mert lnyegtelen tmakrk lennnek - pp ellenkezleg! Napjaink WiFiforradalma drasztikus gyorsasggal vltoztatja internetezsi szoksainkat. A WiFivel ezrt a vezetk nlkli hlzatoknak s a mobilits krdsnek szentelt 6.

FELADATOK

155

fejezetben foglalkozunk mlyebben.

156
Mobiltelefon hlzat

4. A HLZATI RTEG Orszgos vagy globlis internetszolgltat

>c

______

Forrshoszt Alkalmazsi Szlltsi Hlzati Hlzati adatkapcsolati Fizikai Fizikai Hlzati


Adatkapcsolati

Adatkapcsolati Fizikai

Hlzati

Otthoni hlzat

Adatkapcsolati

Helyi vagy krzeti internetszolgltat


Hlzati
.datkapcsot Fizikai Hlzati ; datkapcsolati Fizikai Clhoszt Alkalmazsi Szlltsi Hlzati atkapcsolati Fizikai

Vllalati hlzat

FELADATOK

157

5.1.

Adatkapcsolati rteg: bevezets s szolgltatsok

Kezdjk mindjrt egy pr terminolgiai megjegyzssel. A fejezetben az tvlasztra s a hosztokra egyarnt a csompont (node) elnevezst hasznljuk, mivel - ahogy azt hamarosan ltni fogjuk - nem kell azzal foglalkoznunk, hogy egy adott csompont tvlaszt-e vagy hoszt. A szomszdos csompontokat sszekt csatornkat adatkapcsolatoknak (link) fogjuk nevezni. Egy csomagnak forrshoszttl clhosztig val eljuttatshoz a csomagot a kt vgpont kztti tvonal mentn tallhat minden egyes klnll adatkapcsolaton t kell juttatni. Egy csomag adott adatkapcsolaton val tvitelhez a kld csom pont a csomagot egy adatkapcsolati keretbe gyazza, amelyet kikld az adatkapcsolatra, a vev csompont pedig veszi a keretet, s kinyeri belle a kldtt csomagot.

5.1.1.

Az adatkapcsolati rteg szolgltatsai

Az adatkapcsolati protokollok csomagok egyetlen adatkapcsolaton val tvitelre hasznlatosak. Az adatkapcsolati protokoll (link-layer protocol) definilja az tvitelre hasznlt adatformtumot, csakgy mint az ad s a vev csompont ltal a kldskor, illetve fogadskor elvgzend mveleteket. Az 1. fejezetbl emlkezhetnk, hogy az adatkapcsolati protokollokkal tvitt adategysgeket kereteknek (frame) nevezzk, s hogy egy adatkap csolati keretbe ltalban egyetlen hlzati rtegbeli csomagol gyazunk. Mint azt hama rosan ltni fogjuk, a keretek kldsekor s vtelekor vgrehajtand mveletek kiterjedhet nek a hibaellenrzsre, az jrakiildsre, a forgalomszablyozsra s a vletlen hozzfrsre is. Adatkapcsolati protokoll tbbek kztt az Ethernet, az IEEE 802.11 vezetk nlkli LAN protokoll (ms nven WiFi), a tokengyr s a PPP, de bizonyos szempontbl az ATM-et is tekinthetjk annak. A fent emlteti technikk nagy rszvel alaposan meg fogunk ismerkedni a fejezet msodik felben. Amg a hlzati szint protokollok feladata a csomagok forrshoszttl clhosztig val eljuttatsa, addig az adatkapcsolati protokollok csomponttl csompontig mozgatjk a csomagokat az tviteli t egyetlen adatkapcsolatn keresztl. Az adatkapcsolati rteg fontos tulajdonsga, hogy az tviteli t klnbz adatkapcsolatain klnbz adatkapcsolati protokollokat hasznlhatunk az tvitelre. Csomagunkat pldul tovbbthatjuk Ethernettel az els adatkapcsolaton, PPP-vel az utolsn, s egy WAN-hlzatokban hasznlatos adatkapcsolati protokoll segtsgvel a kztes adatkapcsolaton. Fontos megjegyeznnk, hogy az adatkapcsolati rteg szolgltatsai protokollon knt eltrhetnek. Pldul mg bizonyos protokollok kpesek a megbzhat tvitelre, addig msok nem. Ebbl kifolylag a hlzati rtegnek tbbfle adatkapcsolati protokollal is egytt kell tudnia mkdni a kt vgpont kztti tvitel megvalstsa rdekben. Hogy tlssuk az adatkapcsolati rteg feladatt s hlzati rteggel val viszonyt, vonatkoztassunk kicsit el a szmtgpes hlzatoktl, s vegynk egy utazsi pldt. Adotl egy utazsi gynk, aki egy Npolybl a Komrom-Esztergom megyei Szrligetre utaz turista tjt tervezi. Tegyk fel, hogy az gynk gy dnt, a turista szmra az a legknyelmesebb, ha Npolybl Rmig taxival utazik, onnan Budapestig replgppel, vgl pedig Budapesten vonatra szll, amely elviszi t a szrligeti vastllomsra. Attl kezdve, hogy az gynk

megteszi a hrom foglalst, a npolyi taxitrsasg felelssge, hogy eljut tassa a turistt a rmai repltrre, a lgitrsasg feladata a turista Rmbl Budapestig val utaztatsa, s a MV felel azrt, hogy az utas eljusson Budapestrl Szrligetre. Az t mindhrom szakasza kzvetlen sszekttets a szomszdos vrosok kztt. Figyeljk meg, hogy mindhrom szakasz klnbz vllalathoz tartozik, s hogy minden szakaszon teljesen ms mdon trtnik az utazs (taxi, replgp, illetve vonat). Habr a hrom tszakaszon hrom klnbz mdon utazik a turista, mindhrom szolgltats emberek szomszdos vrosok kztti utaztatst biztostja. Analginkban a turista jtssza az adatcsomag szerept, a hrom tszakasz hrom adatkapcsolatnak felel meg, az utazsi gynk pedig nem ms, mint az tvlaszt protokoll. Habr az adatkapcsolati protokollok ltal nyjtand alapszolgltats a csomagok szomszdos csompontok kztti tvitele, a szolgltatsok rszletei protokollrl protokollra eltrhetnek. A kvetkezkben felsorolunk nhny lehetsges adatkapcsolati szolgltatst:

Keretezs. Szinte valamennyi adatkapcsolati protokoll keretbe gyazza a

hlzati rtegbl kapott csomagot az tvitel eltt. Egy keret valahny fejlcmezbl s egy adatmezbl ll. Utbbi tartalmazza az tviend hlzati rtegbeli csomagot. (A keret ezen fell tartalmazhat az adatmezt kvet farokrsz mezt is, de a tovbbiakban erre is fejlcmezknt fogunk hivatkozni.) A keretszerkezetet az adatkapcsolati protokoll definilja. Keretszerkezetekre szmos pldt fogunk ltni konkrt adatkap csolati protokollok vizsglatakor a fejezet msodik felben. Kzegelrs. A keretek adatkapcsolatra val kikldsnek szablyait egy kzegelrsi (mdium access control, MAC) protokoll rja le. Egy kld s egy fogad kztti ktpontos sszekttetsek esetn a kzegelrsi protokoll egyszer (vagy egyltaln nincs is) - a kld brmikor adhat, amikor a csatorna res. rdekesebb a helyzet, ha tbb csompont osztozik ugyanazon az zenetszrsi csatornn. Ez az n. tbbszrs hozzfrsi problma. Ebben az esetben a kzegelrsi protokoll feladata a csompontok kerettovbbtsnak szablyozsa. A kzegelrsi protokollokkal bvebben az 5.3. fejezetben foglalkozunk. Megbzhat tvitel. Ha egy adatkapcsolati protokoll megbzhat tvitelt biztost, akkor garantlja, hogy valamennyi adatkapcsolati keretet hiba nlkl tviszi az adatkapcsolaton. Emlkezznk vissza, hogy bizonyos szlltsi rtegbeli protokollok (pldul a TCP) szinten kpesek megbzhat csomagtovbbtsra. A szlltsi rteg megbzhat tviteli szolgltatshoz hasonlan sokszor az adatkapcsolati rtegben is nyugtz sokkal s jraadsokkal rjk el a megbzhat tvitelt (lsd 3.4. fejezet). Az adatkap csolati szinten megbzhat tviteli szolgltatst ltalban hibra hajlamos tviteli kzegek, pldul vezetk nlkli kapcsolat esetn hasznlunk annak rdekben, hogy a hibt helyben, teht a hibs adatkapcsolaton javtsuk ki ahelyett, hogy a szlltsi vagy alkalmazsi rteget knyszertennk a csomag jraadsra. Kis hibavalszn- sg kzegek esetn azonban csupn flsleges pluszkltsget jelent a szolgltats, gy a vezetkes adatkapcsolati protokollok ezt nem is tartalmazzk. Forgalomszablyozs. Egy adatkapcsolathoz kapcsold valamennyi

csompont korltos pufferkapacitssal br. Ez a tny problmt okoz, ha egy fogad csompont gyorsabban knytelen fogadni a kereteket, mint ahogy azokat fel tudja dolgozni. Forgalom- szablyozs nlkl a vev csompont puffere teht tlcsordulhat s keretek veszhetnek el. A szlltsi protokollokhoz hasonlan az adatkapcsolati protokollok is kpesek lehetnek a forgalom szablyozsra annak rdekben, hogy elkerljk a vev csom pont ad csompont ltali elrasztst. Hibajelzs. Egy csompont vevegysge hibsan nullnak rzkelhet egy, az adatkapcsolatra egy rtkknt kikldtt bitet, s fordtva. Ilyen bithibk jelcsillapods, illetve elektromgneses zaj jelenlte miatt is jelentkezhetnek. Mivel egy hibs csomagol rtelmetlen tovbbtani, szmos adattviteli protokoll rendelkezik olyan mechanizmussal, amely kpes egy vagy tbb hiba detektlsra. Ehhez az adsi oldalon a keret hiba-ellenrzsi bitjeit kell belltani, a vteli oldalon pedig el kell vgezni magt az ellenrzst. A hibajelzs meglehetsen elterjedt szolgltats az adatkapcsolati proto kollok krben. A 3. s 4. fejezetben mr szltunk arrl, hogy az internet hlzati s szlltsi rtege is kpes egy bizonyos szint hibajelzsre, amelyet egy ellenrz sszeggel (internet checksum) valst meg. Az adatkapcsolati rtegbeli hibajelzs ennl ltalban sokkal kifinomultabb, s hardverszinten valsul meg. Hibajavts. A hibajavts hasonlt a hibajelzsre. A klnbsg itt annyi, hogy a vev nem csak szleli a hibkat, hanem azok kereten belli pontos helyt is meg tudja llaptani (s gy kijavtani azokat). Nhny protokoll (pldul az ATM) a teljes csomag helyett csak a csomagfejlc hibit kpes javtani. A hibajelzsrl s -javtsrl az 5.2. fejezetben szlunk rszletesebben. Flduplex s duplex tvitel. Duplex tvitel esetn az adatkapcsolat mindkt vgn lev csompont adhat egyszerre. Ezzel szemben flduplex tvitelnl egy csompont nem adhat s vehet egy idben. Amint azt fent emltettk, szmos adatkapcsolati szolgltatsnak van megfelelje a szlltsi rtegben. Pldaknt vegyk a megbzhat tviteli szolgltatst, amely mind az adatkapcsolati, mind a szlltsi rteg protokolljaiban elfordulhat. Habr a megbzhat tvitelt a kt rteg protokolljai hasonl mdon biztostjk (lsd 3.4. fejezet), a kt szolgl tats mgsem ugyanaz, ugyanis mg egy szlltsi protokoll szolgltatsa egy kt vgpont kztti teljes tviteli tra vonatkozik, addig egy adatkapcsolati protokoll kt, kzvetlen fizikai sszekttetsben ll csompont kztt garantlja a megbzhat tvitelt. Hason lkppen, mindkt rteg protokolljai kpesek lehetnek a forgalom szablyozsra, de a fentiekhez hasonlan, amg a szlltsi rtegbeli forgalomszablyozs egy egsz tviteli tra vonatkozik kt vgpont kztt, addig az adatkapcsolati szint forgalomszablyozs csupn egy kt csompontot kzvetlenl sszekt adatkapcsolatra.

5.1.2. Hol valstjuk meg az adatkapcsolati rteget?


Mg mieltt belesnnk magunkat az adatkapcsolati rteg rszletes tanulmnyozsba, nzzk meg, hogy az ltala nyjtott szolgltatsok hol vannak megvalstva. A 4. fejezetben mr lttuk, hogy az tvlasztk esetn a hlzati

csatolkrtykra implementltk ezeket a szolgltatsokat, ezrt most vizsgljuk meg, mi a helyzet a vgberendezseknl. Vajon egy hoszt adatkapcsolati rtegi szoftveresen vagy hardveresen valstjk meg? Vajon egy kln krtyn vagy chipen valstjk meg, s ez hogyan kapcsoldik a hoszt tbbi hardveregysghez s opercis rendszerhez? Az 5.2. brn egy tipikus hoszt szerkezett lthatjuk. Az adatkapcsolati rteg feladatait legtbbszr a hlzati csatol, ms nevn a hlzati interfszkrtya (network interface card, NIC) ltja el. A hlzati csatol lelke az adatkapcsolati rteg vezrlegysge, amely ltalban egy specilis, az elz alfejezetben trgyalt funkcikat (keretezs, kzegelrs, forgalomszablyozs, hibajelzs stb.) megvalst chip. Az adatkapcsolati rteg szolgltatsainak j rszt teht hardveresen valstjk meg. Pldul az Intel 8254x tpus vezrl [Intel 2006] az 5.5. alfejezetben trgyalt Ethernet-protokollokat implementlja, az Atheros AR5006 pedig [Atheros 2006] a 802.11-es WiFi protokollokat, amelyekrl a 6.3. alfejezetben lesz sz. Mg az 1990-es vek vgig a hlzati csatolk tbbsge fizikailag klnll

Hoszt Alkalmazsi Szlltsi Hlzati Adatkapcsolati Processzor Memria

Hlzati csatol

Rendszersin (pl. PCI-sn) Vezrlegysg Adatkapcsolati Fizikai Fizikai tovbbts

5.2. bra. A hlzati csatol illeszkedse a hoszt tovbbi egysgeihez s kapcsolata a


protokollverem rtegeivel krtya volt (pldul PCMCIA krtya vagy egy szmtgp PCI bvthelybe helyezhet bvtkrtya), manapsg egyre npszerbb a csatolknak az alaplapra trtn integrlsa - ezek az n. alaplapra integrlt hlzati krtyk. zenetkldskor a kld oldal vezrlegysge kiveszi a memribl a protokollverem felsbb rtegei ltal ellltott csomagot, azt egy adatkapcsolati keretbe helyezi (a keret megfelel mezit kitlti), vgl pedig a kzegelrsi protokoll szerint tovbbtja a keretet a csatornra. A vev oldal vezrlje veszi a keretei, s kiszedi belle a hlzati szint csomagot. Amennyiben adatkapcsolati szint hibaellenrzst is vgznk, a kld oldali vezrlegysg belltja a hibaellenrzsi fejlcmezket, a vev oldali vezrl pedig elvgzi a hibaellenrzst. Forgalomszablyozs esetn a kld s a vev oldali vezrlk elvgzik az ehhez szksges informcicsert, majd az ad olyan tviteli sebessggel ad, hogy a vev kpes legyen feldolgozni a berkez adatfolyamot. Az 5.2. brn lthatjuk, hogy a hlzati csatol a hoszt bels rendszersnjhez (pldul PCI vagy PCI-X snhez) kapcsoldik, amelyen keresztl ugyanolyannak ltszik a hoszt tbbi komponense fel, mint brmely ms beviteli/kiviteli eszkz. Az brn szintn megfigyelhetjk, hogy mg az adatkapcsolati rteg nagy rszt az interfszkrtyn hardveresen implementltk, bizonyos rszeket a hoszt processzorn fut szoftver valst meg. A rteg szoftveres rszei ltalban magasabb szint feladatokat ltnak el, mint pldul a hlzati szint adatcsomag

vtelt, az adatkapcsolati cmzshez szksges informci sszegyj tst vagy a vezrlegysg mkdtetst. A vev oldalon a szoftveres rsz a vezrlegysg megszaktsaira reagl (pldul keretek vtelt jelz megszaktsokra), de a hibk kezelse s a hlzati szint csomag hlzati rteghez val eljuttatsa is szoftveresen trtnik. sszefoglalva teht elmondhatjuk, hogy az adatkapcsolati rteg hardveres s szoftveres elemek sszessge, s a protokollveremnek ez az a rtege, ahol a hardver a szoftverrel rintkezik. Az [Intel 2006] programozi szemszgbl kzrtheten bemutatja a 8254x-es vezrlt, s egy rszletes lerst is tartalmaz rla.

Fizikai adatkapcsolat

Csatolkrtya Csatolkrtya

Adatkapcsolati protokoll

5.3. bra. Kommunikl hlzati csatolk: adatkapcsolati keretbe gyazott hlzati


adatcsomag Az 5.3. brn kt kommunikl hlzati csatolt lthatunk. Mivel a f adatkapcsolati funkcikat a bennk tallhat vezrl ltja el, a csatolk olyan flig automatikus egysgek, amelyek feladata a keretek msik csatolhoz trtn tvitele, illetve msik csatoltl val fogadsa. Tbben kutattk a hlzati csatolk kpessgeinek (adatkapcsolati feldolgozson tlmutat) bvtst. A 8254x vezrl pldul kpes a TCP/UDP ellenrz sszeg, va lamint az IP-fejlc ellenrz sszegnek kiszmtsra - azaz a szlltsi, valamint hlza ti rteg bizonyos feladatainak hardveres elltsra. Habr ez a megolds a rtegmodellelv hallatlan megsrtsnek tnhet, az az elnye, hogy hardveresen sokkal gyorsabban szmolhatk az ellenrz sszegek, s gy az elv thgsa felett taln szemet is hunyhatunk. [Mogul 2003) egyes TCP-funkcik hlzati csatolkon val megvalstsnak elnyeit s htrnyait foglalja ssze, mg [Kim 2005] egy mg magasabb szint szolgltats (egy HTTP-gyorsttr kezelsnek) hlzati csatoln trtn megvalstst vizsglja.

5.2. Hibajelzs s -javts


Az elz szakaszban emltettk, hogy a szomszdos csompontok kztt kzleked adat- kapcsolati keretek hibs bitjeit felismer s javt bitszint hibajelzs s -javts az adat- kapcsolati rteg kt gyakori szolgltatsa. A 3. fejezetben lttuk, hogy gyakran a szlltsi rteg is foglalkozik hibajelzssel s hibajavtssal. Ebben a fejezetben nhny olyan, a legegyszerbbek kzl val mdszert vizsglunk meg, amelyeket bithibk jelzsre, vagy akr javtsra is hasznlhatunk. Az irodalomban egsz knyveket tallhatunk, amelyek ezen tmaterlet elmleti, illetve gyakorlati implementcis krdseivel foglalkoznak (pl dul [Schwartz 1980], [Bertsekas 1991]), gy jelen fejezetben egy tmr ttekintst adunk csupn. A cl az, hogy intuitven rrezznk a hibajelz s -javt mdszerek szksges sgre, megismerjk kpessgeiket, s hogy bemutassuk nhny egyszer mdszer mkdst s a gyakorlatban val hasznlatt. Az elrendezst az 5.4. bra segtsgvel mutatjuk be. A kld csompont az ltala tovbbtand D csomagot kiegszti a bithiba-vdelmet biztost hibajelz s -javt (error-de- tection and -correction, EDC) bitekkel. A hibavdelem ltalban nem csak a hlzati rtegbeli csomagra terjed ki, hanem az adatkapcsolati szint cmzsi adatokra, sorszmokra s ms adatkapcsolati fejlcmezkre is. Az

adatkapcsolati keretben kikldtt D-t s EDC-1 a cmzett csompont D-knt, illetve EDC-knt veszi. Meg kell jegyeznnk, hogy D* s EDC az tvitel kzben bekvetkez bithibk miatt eltrhet )-tl s EDC-ti.

Adatcsomag

d adatbit

Bithibra hajlamos csatorna

5.4. bra. Hibajelzsi s -javtsi elrendezs


A vev csompont feladata ezek utn az, hogy kizrlag a vett IX s EDC alapjn meghatrozza, vajon a fogadott D megegyezik-e a kld ltal az adatkapcsolatra helyezett D-vel. Figyeljk meg az brn a vev csompont dntsnek pontos megfogalmazst. (Nem az a krds, hogy bekvetkezett-e tvteli hiba, hanem az, hogy rzkeltnk-e hibt!) A hibajelz s -javt mdszerek ugyanis nem minden esetben garantljk a hibk felfedezst, hasznlatukkal mg mindig maradhatnak feltratlan bithibk (undetected bit errors), ami annyit jelent, hogy a cmzett csompont nem szerez tudomst arrl, hogy a vett adatcsomag bithibkat tartalmaz. Ennek az lehel a kvetkezmnye, hogy a vev adatkapcsolati rtege hibs adatcsomagot ad t a hlzati rtegnek, vagy hogy nem tud az adatkapcsolati fejlcben bekvetkezett hibk jelenltrl. A cl teht egy olyan hibajelz mdszer vlasztsa, amely a fent lert eset bekvetkeztnek valsznsgt minimalizlja. A kifinomultabb (teht az szrevtlen bithibkat nagyobb valsznsggel elkerl) hiba jelz mdszerek hasznlata ltalban nagyobb pluszkltsget jelent - tbb hibajelz s -javt bit tvitelhez s kezelshez tbb erforrs szksges. Vizsgljunk most meg hrom eljrst az tvitt adat bithibinak rzkelsre - a paritsi lenrzcst (amely szemllteti a hibajelzs s -javts alaptleteit), az ellenrz sszeget hasznl mdszert (amelyet inkbb a hlzati rtegben alkalmaznak) s a ciklikus redundancia-ellenrzst (amelyet jellemzen a hlzati

csatolk vgeznek adatkapcsolati szinten).

5.2.1. Parits-ellenrzs
A hibaellenrzs valsznleg legegyszerbb mdja az, ha egyetlen paritsbittel toldjuk meg az zenetet, legyk fel, hogy az elkldeni kvnt D adatcsomag d bitbl ll (5.5. bra). Pros paritsbit hasznlata esetn a kld az zenethez csatolt paritsbit rtkt gy vlasztja meg, hogy a d + 1 bit (teht az eredeti zenet bitjei plusz a paritsbit) kzl pros

d adathiba

Parits-

bit

0111000110101011 1

5.5. bra. Pros, egybites parits


szmnak legyen 1 az rtke. Pratlan paritsbit alkalmazsakor az 1 rtk bitek szmnak pratlannak kell lennie. Az 5.5. bra a pros paritsbit esett szemllteti, egy darab, az zenet utn csatolt paritsbittel. Egyetlen paritsbit esetn a vev feladata is egyszer, a teend ugyanis csupn a vett d+l bit kzl az 1 rtkek sszeszmolsa. Ha pros paritsbit esetn pratlan szm 1 rtk bitet tallunk, a vev biztos lehet abban, hogy legalbb egy bithiba van a vett zenetben. Pontosabban megfogalmazva, a vev tudja, hogy pratlan szm bithiba trtnt. De mi trtnik akkor, ha pros szm bithiba kvetkezik be? Az olvas knnyen meggyzdhet arrl, hogy ez feldertetlen bithibkat eredmnyez. Amennyiben a bithibk valsznsge kicsi, s az egyes bithibk egymstl fggetlenl kvetkeznek be, egy adatcsomagon bell rendkvl alacsony lenne tbb bithiba jelenltnek valsznsge. Ebben az esetben egyetlen paritsbit elg is lehet. Sajnos azonban mrsek kimutattk, hogy a bithibk ltalban nem egymstl fggetlenl, sokkal inkbb csoportosan kvetkeznek be. Csoportos hibk esetn az feldertetlen hibk jelenltnek valsznsge egy egyetlen paritsbittel vdett keretben megkzeltheti az 50 szzalkot (Spragins 1991]. Egyrtel m teht, hogy egy sokkal robusztusabb hibajelz mdszerre van szksg (szerencsre a gyakorlatban a fent ismertetettnl ersebb eljrsok terjedtek el!). Mieltt azonban megvizsglnnk a gyakorlatban hasznlt hibajelz mdszereket, nzzk meg az egyetlen paritsbitet hasznl mdszer egy egyszer ltalnostst, amelynek alapjn knnyebben tlthatjuk a bonyolultabb megoldsokat. Az 5.6. brn a fenti mdszer ktdimenzis ltalnostst lthatjuk. A D adatcsomag d bitjt i sorra s j oszlopba rendeztk. Ezutn valamennyi sor s oszlop paritsbitjt kiszmoltuk. Az gy kapott / + j + 1 bit adja az adatkapcsolati keret hibaellenrz bitjeit. Tegyk most fel, hogy a d informcis bit kzl egy meghibsodik. Ktdimenzis parits hasznlata esetn hibs bitnek mind az oszlopban, mind a sorban hibs lesz a parits. A vev csompont teht nem csupn a hiba tnyt kpes rzkelni, hanem a megfelel sor s oszlop sorszmait felhasznlva beazonosthatja a hibs bitet, s kijavthatja a hibt! Az 5.6. brn lthatunk egy pldt, amelyen az eredetileg 1 rtk (2,2) sorszm elem bithiba kvetkeztben 0 rtkre vltozott - ez egy olyan hiba, amelyet a vev szlelni tud, s ki is tud javtani. Habr eddig a d darab informcis bitrl beszltnk, azt is meg kell jegyeznnk, hogy a ktdimenzis mdszer kpes egyetlen, valamely paritsbitet rint hiba szlelsre s kijavtsra is. Ezen fell kt, a d informcis bitet rint bithibt szintn kpesek vagyunk jelezni a mdszerrel (de ezeket nem tudjuk kijavtani!). A ktdimenzis parits tovbbi tulajdonsgait a fejezel vgn tallhat feladatokban fedezzk fel. A vev azon kpessgt, hogy a hibk jelzsn kvl ki is tudja javtani azokat, elre irnyul hibajavtsnak (Forward Error Correction, FEC) nevezzk. Ezeket a mdszereket elszeretettel hasznljk hanginformci trolsnak cs

lejtszsnak terletn, pldul audi CD-k hibavdelmre. Hlzatos alkalmazsok esetn a EEC-alap eljrsokat magukban vagy a 3. fejezetben trgyaltakhoz hasonl adatkapcsolati szint ARQ-alap (au-

Sorparits
d

\,\ 1./

* O a 0 a 3 .o
N

* S > f

2,j

w n

d,\ djj M.I y

<*/./ i

Nincs hiba

1 1 0 0

0 1 1 0

1 1 1 1

0 1 1

0 0 Javthat
egybites hiba

Parits hiba

00101p

5.6. bra. Ktdimenzis pros parits

Parits hiba

tmatikus ismtlskr) eljrsokkal egytt hasznljk. A FEC-alap mdszerek elnye, hogy cskkentik a szksges jraadsok szmt, s ami taln mg fontosabb, lehetv teszik az azonnali hibajavtst a vev oldalon. Ezzel elkerlhetjk az adnak kldend iNAK nyugta, illetve az jrakldtt csomag terjedsi ksleltetst - ez rendkvl elnys vals idej hlzati alkalmazsok [Rubenstein 1998], illetve nagy ksleltets (pldul vilgr- bli) adatkapcsolatok esetn. Tbben vizsgltk az elre irnyul hibajavts hibajavt protokollokban trtn alkalmazst [Biersack 1992; Nonnenmacher 1998; Byers 1998; Shacham 1990].

5.2.2. Ellenrz sszeget hasznl eljrsok


Az ellenrz sszeget hasznl eljrsok az 5.5. bra d adatbitjt /c-bites egszek sorozatnak tekintik. Egyszer mdszer ezen egszeknek az sszegzse, majd a kapott sszeg ellenrz sszegknt val hasznlata. Az internetes ellenrz sszeg (internet check- sum) is ezen a megkzeltsen alapul - az adatbjtokat 16 bites egszeknek tekinti, majd ezeket sszeadja. Az sszeg egyes komplemens kdja adja ki a csomagfejlcben szlltott internetes ellenrz sszeget. Ahogy a 3.3. fejezetben mr lttuk, a vev az ellenrzs kor sszeadja a fogadott zenet 16 bites sorozatait (az ellenrz sszeget is beleszmt va), majd ellenrzi, hogy az sszeg egyes komplemensnek minden bitje l-e. Amennyiben brmelyik bit 0, bithiba trtnt. Az RFC 1071 rszletesen lerja az internetes ellenrz sszeg kezelsnek algoritmust s annak implementcijt. A TCP- s UDP-csomagok

ellenrz sszegt a teljes csomagra szmtjuk (belertve a fejlcet s az adatmezket is). IP-csomagoknl csak a fejlcre szmolunk ellenrz sszeget (mivel a szlltott TCP- vagy UDP-csomagok sajt ellenrz sszegekkel rendelkeznek). Ms protokollok, mint pldul az XTP [Strayer 1992] esetn kt ellenrz sszeget kell szmolni, egyet csak a fejlcre, egyet pedig a teljes csomagra. Az ellenrz sszegen alapul mdszerek elnye, hogy hasznlatuk csak kis pluszkltsget jelent. Pldul a TCP s UDP ellenrz sszegek mindssze 16 bitesek. Sajnos azonban a kvetkezkben trgyalt s az adatkapcsolati rtegben gyakran hasznlt ciklikus redundancia-ellenrzssel sszehasonltva meglehetsen gyenge vdelmet nyjtanak a bithibk ellen. Termszetesen merlhet fel a krds, vajon mirt hasznljk a ciklikus redundancia-ellen rzst az adatkapcsolati rtegben s az ellenrz sszegen alapul eljrsokat a szlltsi rtegben. A krds megvlaszolshoz emlkezznk vissza arra, hogy a szlltsi rteget jellemzen az opercis rendszer rszeknt, szoftveresen valstjk meg, s gy a szlltsi rtegbeli hibajelzst egyszer s gyors mdszerrel kell megvalstani, pldul ellenrz sz- szeggel. Ezzel szemben az adatkapcsolati rtegbeli hibajelzs clhardver segtsgvel trtnik, s gy a ciklikus redundanciaellenrzs sokkal bonyolultabb mveleteit is elvgezhet jk viszonylag rvid id alatt. Feldmeier olyan programozsi technikkat kutatott, amelyek nemcsak slyozott ellenrz sszeges, de a ciklikus redundancia-ellenrzst hasznl s egyb mdszerek hatkony implementcijt is lehetv teszik [Feldmeier 1995]

5.2.3. Ciklikus redundancia-ellenrzs


A ciklikus redundancia-ellenrz (cyclic redundancy check, CRC) kd egy napjaink szmtgp-hlzataiban elterjedten hasznlt hibajelz eljrs alapjt kpezi. A CRC-k- dokat ms nven polinomilis kdoknak is nevezzk, mivel az elkldtt bitsorozat megfeleltethet egy olyan polinomnak, amely egytthati a bitsorozat 0, illetve 1 rtkei. A bitsorozaton vgzett mveleteket teht a megfelel polinomon vgzett mveleteknek foghatjuk fel. A CRC-kdok a kvetkezkppen mkdnek. Vegynk egy d bitbl ll D adatcsomagot, amelyet a kld csompont a fogad csompontnak szeretne tovbbtani. A kldnek s a fogadnak elszr is egy r + 1 bites bitmintban, az n. genertorban kell megllapodnia. Ezt a tovbbiakban G'-vel jelljk. G legnagyobb helyrtk (azaz legbaloldalibb) bitjnek l rtknek kell lennie. Az 5.7. bra szemllteti a CRC-kd mkdsnek lnyegt. A kld csompont a d bites D zenethez vlaszt egy, a D zenet utn illesztend r bites R sorozatot gy, hogy a kapott d + r elem bitminta (mint binris szm) modulo-2 aritmetika szerint oszthat legyen G-vel. Ezek utn a CRC-vel trtn hibaellenrzs igen egyszer: A fogad csompont a vett d + r bitet elosztja G-vel. Amennyiben a maradk nem 0, a vev biztos lehet abban, hogy a vett csomag hibs. Ha az oszts maradka 0, a csomagot bithibamentesnek tekintjk.
d bit r bit ir

------------------------ '----R: CRC-bitek

D: elkldend adatbitek

Bitminta

D x 2' XOR R

Matematikai kplet

Valamennyi CRC-mveletet modulo-2 aritmetika szerint vgezzk, az sszeadsnl s a kivonsnl nem vesszk figyelembe az tvitelt. Ennek kvetkeztben teht az sszeads s a kivons lnyegben ugyanaz a mvelet, s ekvivalens az operandusokon elvgzett bit szerinti kizr-vagy-mvelettel (XOR). gy pldul

1011 XOR 0101 = 1110 1001 XOR 1101 = 0100


Hasonlkppen
1011 - 0101
=

1110 1001 - 1101

0100

A szorzs s oszts mvelete megfelel a modulo-2 aritmetika szorzs, illetve oszts mveleteknek azzal a klnbsggel, hogy a szksges sszeadsi vagy kivonsi mveleteket az tvitelek figyelmen kvl hagysval kell elvgezni. A 2*nal val szorzs a binris aritmetiknak megfelelen k helyi rtkkel balra tolja el a bitmintt, gy a Dx 2' XOR R mvelet az 5.7. brn lthat d + r elem bitmintt adja eredmnyl. A tovbbiakban a bitminta fenti algebrai lerst fogjuk hasznlni. Most mr csak egy kritikus krds maradt megvlaszolatlan, nevezetesen az, vajon hogy szmtja ki a kld csompont az R bitsorozatot? Tudjuk, hogy R-re lteznie kell olyan n rtknek, hogy Dx2 r XOR R-nG Mskppen fogalmazva, egy olyan R-ct keresnk, amelyre G osztja Dx2'XOR Rnek. Ha a fenti egyenlet mindkt oldalra XOR-mveletet (azaz tvitel nlkli modulo-2 sszeadst) hajtunk vgre R-rel mint msik operandussal, akkor a kvetkezt kapjuk D x 2 r = nG XOR R Ebbl az egyenletbl mr lthatjuk, hogy amennyiben l)x2r -t G-vel osztjuk, a maradk pontosan R lesz. R-et teht a kvetkezkppen szmthatjuk:

R = maradk
Az 5.8. brn megfigyelhetjk R kiszmtst D = 101110, d = 6, G = 1001 s r- 3 esetn. A 9 tviend bit ebben az esetben 101110 011. A szmts vgigkvetst az olvasra bzzuk, s javasoljuk a Dx2r = 10101 lxG XOR R egyenlsg ellenrzst is. Nemzetkzi szabvnyok definiljk a 8, 12, 16 s 32 bites G genertorokat. Az ATM-cel- lk 5 bjtos vdelmt 5 bites CRC-kdok biztostjk. A tbb adatkapcsolati protokollban is hasznlt 32 bites lEEE-szabvnyos CRC-32 genertora a kvetkez: G crc . 32 = 100000100110000010001110110110111

1 0

1 0 1 1

1 0 0 1 | 1 1 1 0 1 O O P 1 0 1 0 1 0 0 1 1 1 0 000

1 1

1 0

11 0 0 '1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 l 1

5.8. bra. Minta a CRC-szmtsra


Valamennyi CRC-szabvny kpes az r + 1 bitnl rvidebb csoportos hibk szlelsre. (Ez teht azt jelenti, hogy valamennyi r vagy annl kevesebb egymsra kvetkez bitbl ll hiba feldertsre sor kerl.) St, megfelel felttelek mellett r+l-nl tbb bitre kiterjed hibkat is szlelhetnk 1 - 0,5 r valsznsggel. Ezen fell minden CRC-szabvny szleli tetszleges, de pratlan szm bithiba jelenltt. A CRC-hibaellenrzs implement cijval foglalkozik (Williams 1993] munkja. A CRC-kdok mgtti elmlet mr tlmu tat e knyv keretein, [Schwartz 1980) azonban nagyszeren lerja annak alapjait.

5.3. Tbbszrs hozzfrsi protokollok


A fejezet elejn mr emltettk, hogy a hlzati adatkapcsolatoknak kt tpust klnbztetjk meg: a ktpontos adatkapcsolatokat, valamint az adatszr adatkapcsolatokat. A ktpontos adatkapcsolat (point-to-point link) egyetlen kld s egyetlen fogad csompontot kt ssze. Szmos ktpontos adatkapcsolatra kifejlesztett adatkapcsolati protokoll ltezik, mint pldul a ktpontos protokoll (PPP) vagy a HDLC (high-level data link control - magas szint adatkapcsolatvezrls). Tbbek kztt ezekrl is sz lesz a fejezet ben. Egy adatszr adatkapcsolathoz (broadeast link) tbb ad s tbb vev csompont csatlakozhat egyszerre. Az adatszr elnevezs arra utal, hogy amikor egy csompont zenetet tovbbt a csatornra, annak egy-egy msolatt valamennyi csompont megkap ja. Adatszr adatkapcsolati eljrsra j plda az Ethernet s a vezetk nlkli LAN. Ebben az alfejezetben nem vetjk rgtn bele magunkat konkrt protokollok tanulmnyozsba, elszr azt az alapvet fontossg krdst vizsgljuk meg, hogyan koordinljuk az ad s vev csompontok ugyanazon csatornhoz val hozzfrst - ez a tbbszrs hozzfrsi problma (multiple access problem). Adatszr csatornkat elterjedten hasznlnak a helyi hlzatokban, amelyek ltalban egy pleten (vagy egy egyetem vagy cg terletn) bell helyezkednek el, ezrt az alfejezet vgn azt is megnzzk, hogyan mkdik a tbb szrs hozzfrs a helyi hlzatoknl.

Az adatszrs fogalmval valamilyen szinten mr tisztban vagyunk - a televzi ugyanis, amita csak ltezik, az adatszrs elvn mkdik. A hagyomnyos televzi ugyanakkor csak egyirny adatszrst valst meg (azaz egy fix adcsompont sugroz szmos vevcsompontnak), mg egy szmtgpes hlzat csompontjai mind adsra, mind vtelre kpesek. Az adatszr csatornra esetleg tallbb hasonlat egy koktlparti, ahol az emberek egy nagyobb szobban gylnek ssze, hogy beszljenek egymsnak, s hallgassk egymst (a csatorna szerept a leveg jtssza). Egy msik j analgia az osztlyterem, ahol a tanr s a dikok egyazon csatornn osztoznak. Mindkt helyzet egyik kzponti krd se, hogy ki s mikor beszlhet, azaz tovbbthat zenetet a csatornra. Mi, mint emberek, kialaktottunk egy bonyolult szablyrendszert az adatszr csatorna megosztsra: Mindenki kapjon lehetsget a beszdre. Ne beszlj, amg nem szltanak. Hagyj msokat is szhoz jutni. Ha krdsed van, jelentkezz. Ne szlj kzbe, ha ms beszl. Ne aludj el, amikor ms beszl. A szmtgpes hlzatoknak is megvannak a sajt hasonl szablyrendszerei (protokolljai) -az gynevezett tbbszrs hozzfrsi protokollok (multipleaccessprotocols) - amelyek segtsgvel a csompontok szablyozhatjk a kzs csatornhoz val hozzfrsket. Ahogy az 5.9. bra is mutatja, a tbbszrs hozzfrsi protokollokra a legklnbzbb esetekben szksg lehet, belertve a vezetkes s vezetk nlkli helyi hlzatokat s a mholdas hlzatokat is. Habr valamennyi hlzati csompont a csatoljn keresztl ri el a csatornt, a fejezetben csompont alatt az ad-, illetve vevegysgeket fogjuk rteni. A gyakorlatban csompontok szzai, st ezrei kommuniklhatnak egymssal, egyetlen kzs csatornn osztozva. Mivel valamennyi csompont kpes keretek tovbbtsra, elfordulhat, hogy tbb csompont egy idben helyez egy-egy keretet a csatornra. Ilyenkor valamennyi csompont tbb keretei vesz egy idben, azaz valamennyi csompont a keretek tkzst (collide) fogja rzkelni. Kerettkzskor jellemzen semelyik csompont nem kpes semelyik vett keret rtelmezsre - az tkz keretekhez tartoz jelek lnyegben kibogozhatatlanul sszekeverednek. Ebbl kvetkezen valamennyi tkz keret elveszik, a csatorna pedig gyakorlatilag kihasznlatlanul marad az tkzs idtartamra. Egyrtelm, hogyha sok csompont viszonylag gyakran szeretne kereteket tovbbtani, az eredmny kereltkzsek sorozata lesz, s az adatszr csatorna svszlessgnek nagy rsze ki hasznlatlanul marad. Annak rdekben, hogy tbb aktv csompont esetn is ki tudjuk hasznlni az adatszr csatornt, valahogyan szablyozni kell a csompontok kerettovbbtst. Ezt a hozzfrs-szablyozst a tbbszrs hozzfrsi protokoll vgzi. Az elmlt 30 vben cikkek ezrei s doktori disszertcik szzai szlettek a tbbszrs hozzfrsi protokollok tmakrben. (Rom 1990] ezekrl a munkkrl nyjt rthet ttekintst. Napjainkban az jabb s jabb faj la adatkapcsolatok, klnskppen az j vezetk nlkli megoldsok megjelen svel

a tbbszrs hozzfrsi protokollok kutatsa mg mindig igen npszer. Habr az vek sorn tbbszrs hozzfrsi protokollok tucatjait hasznltk klnfle adatkapcsolati megoldsokban, szinte minden tbbszrs hozzfrsi protokollt alapveten hrom csoportba sorolhatunk be. Ezek: a csatornaosztsos protokollok (channel

Osztott vezetk nlkli hlzat

(pldul Wifi)

Osztott vezetkes hlzat

(pldul Ethernet)

Koktlparti

8la,bla,b!a

ZZZZZ
Mholdas hlzat

5.9. bra. Klnfle tbbszrs hozzfrs csatornk

partitioning protocols), a vletlen hozzfrsi protokollok (random access protocols) s a adsjog-tvteli protokollok (taking-turns protocols). Ezt a hrom protokollfajtt a kvetkez hrom alfejezetben trgyaljuk. ttekintsnket zrjuk egy idelis R bit/s tviteli sebessg adatszr csatornn mkd tbbszrs hozzfrsi protokoll kvnatos tulajdonsgainak sszefoglalsval: Egyedl forgalmaz csompontnak R b/s a hatsos adattviteli sebessge. Ha egyszerre M csompont forgalmaz, mindegyikknek R/M b/s a hatsos adat- tviteli sebessge. Ez nem felttlenl jelenti azt, hogy valamennyi csompontnak lland R/M b/s az tviteli sebessge, sokkal inkbb azt, hogy egy alkalmasan megvlasztott idintervallumra szmolva minden csompont tviteli sebessge R/M. 3. A protokoll elosztott, azaz nincsenek vezrcsompontok, amelyek meghibsodsval a teljes rendszer mkdskptelenn vlhatna. 4. A protokoll egyszer s olcsn megvalsthat. 1. 2.

5.3.

TBBSZRS

HOZZFRSI PROTOKOI I.OK

179

5.3.1. Csatomaosztsos protokollok


Az 1.3. fejezetbl emlkezhetnk, hogy a frekvenciaosztsos nyalbols (frequency divi- sion multiplexing, FDM), valamin! az idosztsos nyalbols (time division multiplexing - TDM) kt mdja annak, hogy az tviteli csatorna teljes svszlessgt megosszuk a csatornra csatlakoz valamennyi csompont kztt. Pldaknt nzzk azt az esetet, amikor az R adattviteli sebessg csatorna N csompontot szolgl ki. A TDM a csatornt idkeretekre (time frames), majd ezen idkereteket N darab idrsre (time slots) osztja. (Fontos, hogy ne keverjk ssze az idkereteket az adatkapcsolati rtegben a hlzati csatolk k ztt kzleked adategysgekkel, amelyeket szintn kereteknek hvunk. Az egyrtelmsg kedvrt az adatkapcsolati szint adategysgeket az alfejezetben adatkeretnek fogjuk nevezni.) Ezek utn minden egyes idrst hozzrendeljk az N csompont kzl valamelyik csomponthoz. Amennyiben egy csompont adatkeretet szeretne kldeni, azt a szmra fenntartott idrsben kldi, s ha az idrs tl rvid, az adst a kvetkez idkeret ugyanazon idrsben folytatja. Az 5.10. brn megfigyelhetjk a TDM mkdst ngy csompont esetn. A koktlpartis pldnkra visszatrve, egy TDM szablyai szerint foly partin minden rsztvev egy meghatrozott ideig beszlhetne, ezutn a kvetkez rszt vev ugyanennyi ideig beszlhetne, s gy tovbb. Mikor mindenki sorra kerlt, az egsz kezddne ellrl. A TDM elnyei kz tartozik, hogy teljesen igazsgos, s elkerli a csomagtkzseket. Valamennyi csompont azonos, R/N b/s adattviteli sebessggel vesz minden idkeretben. Sajnos azonban kt nagy htrnya is van a megoldsnak. Elszr is, ha csak egy csom pont kvn adatot kldeni, azt csak R/N b/s tviteli sebessggel teheti. Msrszt a csom pontnak meg kell vrnia a szmra kijellt idkeretet - mg akkor is, ha az egyetlen, aki adni szeretne. Kpzeljk csak el, mi lenne, ha a koktlpartin csak egy rsztvev szeretne beszlni (s azzal a ritka esettel van dolgunk, amikor a tbbieket rdekli is a mondandja). Nyilvnval, hogy a TDM elg rossz vlaszts lenne egy ilyen koktlparti esetre. Amg a TDM idrseket definil, addig az FDM R/N svszlessg frekvenciasvokra osztja az R svszlessg csatornt, s mindegyik frekvenciasvot valamely csomponthoz rendeli. Az FDM teht az eredeti R svszlessg csatornbl N darab kisebb, R/N sv- szlessg csatornt kszt. Az FDM s a TDM elnyei s htrnyai azonosak. Az FDM is elkerli az tkzseket, s igazsgosan osztja el az eredeti svszlessget a csompontok kztt, de f htrnya a TDM f htrnyhoz hasonl - egy egyedliknt adni kvn csompont tovbbra is csak a szmra fenntartott R/N svszlessget hasznlhatja fel. A csatornaosztsos protokollok harmadik kpviselje a kdosztsos tbbszrs hozzfrs (code division multiple access, CDMA) Mg a TDM s az FDM idrseket, illetve frekvenciasvokat, addig a CDMA klnbz kdokat rendel az egyes csompontokhoz. A csompontok a kapott, egyedi kdjaikat kldend zeneteik kdolsra hasznljk. A kdok gondos megvlasztsa esetn a csompontok a tbbi csompont adst nem zavarva, ugyanakkor egyszerre adhatnak, s a megfelel vevk az adk kdjnak ismeretben kpesek helyesen dekdolni a nekik kldtt zeneteket. A CDMA-t (nehz zavarhatsga miatt) katonai clokra is hasznltk, napjainkra pedig mr a mindennapi letben - k lnsen a mobiltelefonos alkalmazsokban - is szles krben elterjedt. Mivel a CDMA-t fleg

180

5. AZ ADATKAPCSOLATI RTEG F.S A HELYI HLZATOK

vezetk nlkli rendszerekben hasznljk, rszleteiben a 6. fejezetben fogjuk trgyalni, addig is elg, ha annyit tudunk rla, hogy a CDMA-kdokat a TDM idrseihez s az FDM frekvenciasvjaihoz hasonlan tbbszrs hozzfrs csatornk csompontjaihoz rendelhetjk.

5.3.

TBBSZRS

HOZZFRSI PROTOKOI I.OK

157

TDM
4KHz 1

FDM
2 3 4 1 2 34 1
*t

2 Link

Idrs Jells: Idkeret 4KHz

Vaiamennyi.2* vet jele t idrs egy meghatrozott ad-vev prnak van fenntartva.

5.10. bra. Ngy csompontos idosztsos (TDM) s frekvenciaosztsos (FDM) nyalbols

5.3.2. Vletlen hozzfrs protokollok


A tbbszrs hozzfrs protokollok msodik nagy csoportjt a vletlen hozzfrs protokollok alkotjk. Ilyen protokolloknl a kld csompont mindig a csatorna maximlis, R b/s adattviteli sebessgvel tovbbtja adatait. tkzs esetn valamennyi csompont addig prblkozik a keret (azaz csomag) jbli tovbbtsval, ameddig csomagtkzs nlkl meg nem trtnik az tvitel. Az tkzs szlelsekor a csompont nem felttlenl azonnal kldi jra csomagjt, ehelyett vletlen ideig kslelteti az jraadst. Mivel az tkzsben rintett csompontok kzl mindegyik egymstl fggetlenl vlasztja vletlen ksleltetst, lehetsges, hogy valamely csompont ksleltetse elg kicsi a tbbihez kpest, s gy csomagjt mg a tbbi csompont eltt, tkzs nlkl tviheti. Tbb tucat, de taln tbb szz ilyen protokollrl is olvashatunk az irodalomban [Rom 1990; Bertsekas 1991]. Ebben a fejezetben a legelterjedtebb vletlen hozzfrs protokollokbl ismertetnk nhnyat: az ALOIIA protokollokat [Abramson 1970; Abramson 1985] s a vivrzkelses tbbszrs hozzfrsi (carrier sense multiple access - CSMA) protokollcsaldot [Kleinrock 1975b]. Ksbb, az 5.5. alfejezetben megismerkednk az Ethernet [Metcalfe 1976], a npszer s szles krben alkalmazott CSMA/CD protokoll rszleteivel.

Rseit ALOI IA
A vletlen hozzfrsi protokollokkal val ismerkedsnket kezdjk az egyik legegyszerbb ilyen protokollal, a rseit ALOMA protokollal. A rseit ALOIIA ismertetse sorn a kvetkez felttelezsekkel fogunk lni:

158

5. AZ ADATKAPCSOLATI RTEG F.S A HELYI HLZATOK

A tovbbtand adatkeretek L bitbl llnak.

5.3. Tbbszrs

HOZZFRSI PROTOKOLLOK

159

Az idrsek L/R msodpercesek (teht egy adatkeret tvitelhez pontosan egy idrs szksges). Egy adatkeret adst kizrlag az idrs elejn kezdhetjk. A csompontok szinkronizltak, azaz mindegyikk tudja, mikor kezddik egy idrs. Ha kt vagy tbb adatkeret tkzik egy idrsben, valamennyi csompont rzkeli az tkzst mg az idrs vge eltt. Legyen p egy valsznsgi mrtk, azaz egy 0 s 1 kz es szm. A rseit ALOHA mkdse mindezek utn igen egyszer: Ha egy csompontnak tovbbtand kerete van, megvrja a kvetkez idrs elejt, s abban az idrsben tovbbtja is az adatkeretet. Ha nem trtnt tkzs, sikeres volt az tvitel, s nincs szksg jraadsra. (A csompont, ha van mg tviend adatkerete, azt elksztheti tvitelre) Ha tkzs trtnt, a csompont szleli azt mg az idrs vge eltt. A kvetkez idrsekben p valsznsggel jraadja az adatkeretet, egszen addig, amg nem sikeres az tvitel. A p valsznsggel val jraads tulajdonkppen annyit jelent, hogy a csompont feldob egy cinkelt pnzrmt, amelynek p valsznsggel fej, (1 - p) valsznsggel az rs oldala kerl fellre. A fej az add jra az adatkeretet utastsnak, az rs pedig az a kvetkez idrst hagyjad ki, s a vgn jra dobd fel az rmt utastsnak felel meg. Els rnzsre a rseit ALOHA-nak sok elnys tulajdonsga van. A csatornaosztsos mdszerekkel ellenttben ugyanis egy csompont folyamatosan kihasznlhatja a teljes, R adattviteli sebessget, amennyiben aktv egyedl. (Egy csompont akkor aktv, ha ppen van elkldend kerete.) Ezen fell a protokoll nagymrtkben elosztott, mivel a csompontok egymstl fggetlenl rzkelik az tkzsek bekvetkeztt, s egymstl fggetlenl dntik el, mikor adjk jra az tkztt keretet (igaz, a csompontokat r kell szinkronizlni az idrsekre - hamarosan azonban trgyalni fogjuk az ALOHA protokoll egy nem rseit vltozatt s a CSMA protokollcsaldot is, amelyek nem ignylik a csom pontok szinkronizcijt, s amelyek gy teljesen elosztottak). A rseit ALOHA mindezeken tl egy vgtelenl egyszer mkds protokoll. A rseit ALOHA jl teljest, ha csak egy csompont aktv, de mi van, ha egyszerre tbb csompont is adni szeretne. Ekkor kt nagy problmval is szembe kell nznnk. Elszr is, ahogy azt az 5.11. bra is mutatja, ha tbb csompont aktv egyszerre, az idrsek egy bizonyos hnyadban tkzsek trtnnek, s gy ezek az idrsek elvesznek. Msrszt lesznek olyan idrsek is, amelyek resen maradnak, mivel az jraads valsznsgen alapul szablyozsa miatt valamennyi csompont tartzkodik az adatkeret jbli adstl. Teht kizrlag azon idrsek lesznek kihasznlva, amelyekben pontosan egy csompont tovbbt keretet. Az olyan idrseket, amelyekben csak egy csompont tovbbt keretet, sikeres idrseknek (successful slot) nevezzk. Egy rseit tbbszrs hozzfrs protokoll hatkonysga nem ms, mint a hossz idej futs sorn tapasztalt sikeres idrsek hnyada abban az esetben, ha sok aktv csompont van, s ezek

160

5. AZ ADATKAPCSOLATI RTEG F.S A HELYI HLZATOK

kzl mindegyiknek sok tovbbtand kerete van. Figyeljk meg, hogy amennyiben nem szablyoznnk a csatornhoz val hozzfrst, s minden csompont az tkzs utn rgtn jraadn a csomagjt, a hatkonysg nullval lenne egyenl. A rseit ALOHA nulla fl emeli a hatkonysgot - de vajon mennyivel?

5.3.

TBBSZRS

HOZZFRSI PROTOKOI I.OK

161

I. csompont

Id

2. csompont Jells:
3. csompont 3

C =tko/ses (Coll'Sion) idrs S E = res (Empty) idrs S = Sikeres (Successful) idrs

5.11. bra. Az 1-es, 2-es s 3-os csompontok az els idrsben tkznek. A 2-es csompont vgl a negyedik, az 1-es csompont a nyolcadik, a 3-as csompont pedig a kilencedik idrsben jr sikerrel
Prbljuk meg most levezetni a rseit ALOHA segtsgvel elrhet maximlis hatkonysgot! A szmts egyszerstse rdekben mdostsuk kiss a protokollt, s tegyk fel, hogy valamennyi csompont minden egyes idrsben p valsznsggel prblkozik kerettovbbtssal. ('lht mindegyik csompont mindig rendelkezik tovbbtand adatkerettel, s akr jraadsrl, akr az adatkeret els tovbbtsi ksrletrl van sz, p valsznsggel forgalmazunk.) 'legyk fel tovbb, hogy N db csompontunk van sszesen. Annak valsznsge, hogy egy idrs sikeres, annak a valsznsgvel egyenl, hogy egy csompont forgalmaz, a tbbi N - 1 viszont nem. Egy csompont p valsznsggel ad, annak a valsznsge pedig, hogy a tbbi csompont nem ad, (1 - p)N~l. gy egy adott csompont sikernek valsznsge p( 1 - p)N Mivel sszesen Ncsompontunk van, an nak valsznsge, hogy ezek kzl brmelyik sikerrel jr, Np( 1 - p) v ~ ! . Ez teht azt jelenti, hogy N aktv csompont esetn a rseit ALOHA hatkonysga Np(l - py A maximlis hatkonysg elrshez meg kell tallnunk azt a p* valsznsget, amely maximalizlja a fenti kifejezst. (A levezets vzlatt lsd a fejezet vgi feladatoknl.) Vennnk kell teht Np*( 1 - p*)N 1 hatrrtkt, ahol N tart a vgtelenbe. (Lsd a feladatokat.) A szksges szmtsok elvgzse utn lthatjuk, hogy a hatkony sg az 1 le = 0,37 rtkben maximalizldik. Ez nem jelent mst, mint hogy amennyiben sok csompont

162

5. AZ ADATKAPCSOLATI RTEG F.S A HELYI HLZATOK

szeretne sok adatkeretet tovbbtani, az idrsek mindssze 37 szzalka hasznos, azaz a csatorna vals tviteli sebessge nem R b/s, csupn 0,37 R b/s! Egy hasonl vizsglat azt is megmutatja, hogy az idrsek szintn 37 szzalka res, s 26 szzalkukban trtnik tkzs. Kpzeljk csak el azt a szerencstlen rendszergazdt, aki megvett egy 100 Mb/s adattviteli sebessg ALOHArendszert, s arra szmt, hogy felhasznlk tmkelegnek tud majd sszesen, teszem azt, 80 Mb/s sebessg adattviteli szolgltatst biztostani! Ugyanis jllehet, a csatorna kpes egy keret teljes, 100 Mb/s sebessggel val tvitelre, hossz tvon mgis 37 Mb/s al kerl ezen a csatornn a hasznos tereszt kpessg.

5.3. Tbbszrs

HOZZFRSI PROTOKOLLOK

163

Egyszer ALOHA
A rseit ALOHA esetben szksg volt arra, hogy a csompontok adatkerettovbbtsait az idrsekhez szinkronizljuk. Az ALOHA els vltozata (az egyszer AL01IA) [Ab- ramson 1970] valjban nem rseit, teljesen elosztott protokoll volt. Az egyszer ALOHA, ha egy csompontnak tviend kerete keletkezik (azaz az adatkapcsolati rteg hlzati szint adatcsomagot kap a hlzati rtegtl), azt azonnal s teljes egszben tovbbtja. Amennyiben tkzst szlel a csompont, p valsznsggel (a teljes tkz keret leadst kveten) azonnal jraadja a keretet, 1 - p valsznsggel vr egy keretidnyit (teht egy adatkapcsolati keret adshoz szksges idt). Utbbi esetben a keretid letelte utn p valsznsggel jraadja a keretet, 1 - p valsznsggel pedig ismt egy keretidnyi vrakozsba kezd. Az egyszer ALOHA maximlis hatkonysgnak megllaptshoz egy adott i csompontra fogunk sszpontostani. Feltevseink ugyanazok, mint a rseit ALOHA vizsglatnl, idegysgnek a keretidt tekintjk. Egy keret adsnak megkezdse brmely idpillanatban p. Tegyk fel, hogy keretnket a p idpillanatban kezdjk tovbbtani. Ahogy az 5.12. brn is lthatjuk, a keret tvitele akkor lesz sikeres, ha a (f 0 - 1, j idintervallumban nem kezddtt meg msik keret adsa. Egy ilyen keret ugyanis tkzne az i csompont keretnek elejvel. Annak valsznsge, hogy egyik csompont sem kezdi meg adst ebben az idintervallumban, (1 - p)' v ". Hasonlkppen, nem kezddhet meg ms keret adsa addig, ameddig keretnket t nem vittk, hiszen ellenkez esetben az jonnan to vbbtott keret adsa az i csompont keretnek vgvel tkzne. Ebben az idszakaszban szintn (1 - p)N 1 valsznsggel nem kezddik meg ms keret tvitele. gy teht annak valsznsge, hogy egy adott csompont sikerrel tovbbt egy adatkeretet, /;(1 p) 2(;V l) . A rseit ALOHA-hoz hasonl hatrrtk-szmts segtsgvel azt kapjuk, hogy a maximlis hatkonysg csupn \/(2e) - a rseit ALOHA hatkonysgnak pontosan a fele. Ezt az rat kell teht fizetnnk egy teljesen elosztott ALOHA protokollrt.
tkzs / csompont keretnek elejvel tkzs /csompont keretnek vgvel

Az /' csompont kerete

5.3. Tbbszrs

HOZZFRSI PROTOKOLLOK

164

o~

...

Time

Egy kis trtnelem Norm Abramson s az AI.OH Anet Dr. Norm Abramson szenvedlyes szrfs volt, s a csomagkapcsols irnt is rdekldtt. Ez a kt dolog vitte l a Hawaii Egyetemre 1969-ben. Hawaii tbb hegyes-vlgyes szigetbl ll, amely megnehezti a vezetkes hlzatok teleptst s mkdtetst. Abramson ezrt azon kezdett gondolkodni, hogyan lehetne megvalstani egy olyan hlzatot, amely rdi segts gvel tovbbt adatcsomagokat. Az ltala megtervezett hlzat egy kzponti hosztbl s tbb msodlagos, Hawaii szigetein sztszrt csompontbl llt. A hlzat kt klnbz frekven ciasvot hasznl csatornval rendelkezett. A lelltsi csatorna feladata a kzponti hoszttl a msodlagos csompontok fel val zenetszrs, a feltltsi csatorn pedig a msodlagos csompontoktl a kzponti hoszt fel irnyul forgalom lebonyoltsa volt. A letltsi csatornn az informcis adatcsomagok kldsn tl a kzponti hoszt nyugtkat is kldtt a msodlagos csompontoknak, minden egyes tlk kapott csomag sikeres vtele utn. Mivel a msodlagos csompontok csomagkldst elosztottan valstottk meg, a feltltsi csatornn elkerlhetetlenek voltak az tkzsek. Abramson ezen megfigyelse vezetett az egyszer ALOH A protokoll kidolgozshoz. 1970-ben, az ARPA folyamatos tmogatst lvezve, Abramson csatlakoztatta az AI.OH Anet-et az ARPAnet-hez. Abramson munkssga nemcsak azrt fontos, mert megjelenik benne az els csomagkapcsolssal mkd rdis hlzat, hanem azrt is, mert ihlette Bob Metcalfe munkjt, aki pr vvel ksbb az ALOHA mdostsval megalkotta a CSMA/CD protokollt s Etherneten alapul helyi hlzatot.

Vivrzckelses tbbszrs hozzfrs (CSMA)


Mind az egyszer, mind a rseit ALOHA esetben a csompontok a tbbi csompont tevkenysgtl fggetlenl tovbbthatjk csomagjaikat. Egyrszt teht a csompontokat nem rdekli, hogy esetleg mr ms csompont hasznlja a csatornt, mikor kerettovbbtsba kezdennek, msrszt nem fggesztik fel adsukat, ha egy msik csompont elkezd forgalmazni. Koktlpartis pldnkban az ALOHA protokollok teht egy faragatlan rsztvevhz hasonlthatak, aki llandan fecseg, attl fggetlenl, hogy msvalaki ppen beszl vagy nem. Mint emberi lnyek, fel vagyunk vrtezve olyan emberi protokollokkal, amelyek se gtsgvel nem csak civilizltabban tudunk viselkedni, de cskkenteni is tudjuk a beszdtkzsekre elpazarolt id hosszt, s gy nvelni tudjuk a beszd ltal kicserlt informci mennyisgt. Az illedelmes emberi beszlgetsnek alapveten kt aranyszablya van:

Hallgass, mieltt beszlnl. Ha valaki ms beszl, vrj, mg befejezi. A

szmtgphlzatok vilgban ezt hvjk vivrzkelsnek (carrier sensing) a csompont ads eltt belehallgat a csatornba. Ha egy msik csompont keretnek adsa folyamatban van, a csompont vr (visszalp) vletlen ideig, majd ismt belehallgat a csatornba. Ha szabad a csatorna, a csompont megkezdi kerete tovbbtst. Ellenkez esetben ismt vletlen ideig vr, s megismtli a fent lertakat. Ha ms kezd veled egytt beszlni, hallgass el. A szmtgp-hlzatos vilgban ez az tkzsrzkels (collision detection) - a keretet tovbbt csompont hallgatja a csatornt ads kzben. Ha gy rzkeli, hogy egy msik csompont vele egyszerre ad, felfggeszti adst, s valamilyen protokoll segtsgvel kiszmtja azt az idpontot, amikor jra megprblkozik a keret tovbbtsval.

Ezen szablyok alapjn szlettek meg a vivrzkelses tbbszrs hozzfrs (car- rier sense multiple access, CSMA), valamint az tkzsjelzses CSMA (CSMA with collision detection, CSMA/CD)) protokollcsaldok [Kleinrock 1975b; Metcalfe 1976; Lm 1980; Rom 1990]. A CSMA-ra s CSMA/CD-re rendkvl sok vltozatot dolgoztak ki. Ezek rszleteirl a fent emltett anyagokban olvashatunk bvebben. Az Ethernetnl hasznlt CSMA/CD-vltozatot rszletesen az 5.5. fejezetben trgyaljuk, most a CSMA s a CSMA/CD legalapvetbb s legfontosabb jellemzit vesszk vizsglat al. Az els nagy krds amin esetleg az olvas is elgondolkozott, az az, vajon hogyan trtnhetnek keret tkzsek, amikor ads eltt minden csompont belehallgat a csatornba? Hogyan trtnhetnek keret tkzsek, amikor a csompontnak vissza kell lpnie a keret- tovbbtstl, ha ms csompont adst rzkeli? A krdsre a vlaszt a legknnyebben a jelterjedsi (vagy hely-id) diagramok segtsgvel szemlltethetjk [Molle 1987]. Az 5.13. brn ngy, sntopolgiba rendezett csompont jelterjedsi diagramjt lthatjuk. A vz szintes tengely az egyes csompontok helyt mutatja, a fggleges tengely az idtengely. A B csompont t0 idpontban szabadnak rzkeli a csatornt, mivel ppen senki sem forgalmaz rajta. Megkezdi teht keretnek tovbbtst, amelyek bitjei egyenletesen terjednek a kzegen B csomponttl elfel mindkt irnyba. Az 5.13. brn lthat, hogy az id elrehaladtval a keret terjedst brzol svok lefel toldnak. Ez azt jelenti, hogy el kell telnie valamennyi (nem nulla) idnek ahhoz, hogy a B csompont llal kikldtt bitek
Hely

________I______________!_______________I______________I________

Id

Id

5.13. bra. CSMA-t hasznl csompontok jelterjedsi diagramja tkz keretekkel


az egsz kzeget befussk (jllehet, a kzeg terjedsi sebessge a fnysebessget srolja). Ezek utn egy (t t >t (l ) idpontban D csompont is t szeretne vinni egy keretet a kzegen. Habr B tl idpontban mr forgalmaz, D csompont szabadnak rzkeli a csatornt, mivel B bitjei mg nem rtek el hozz. A CSMA protokoll szablyainak megfelelen D teht elkezdi kikldeni a kerett. Egy kis id elteltvel a kt csompont ltal kldtt keretek tkzni kezdenek, s az tkzs a kzegen D-nl is rzkelhetv vlik. Az 5.13. bra alapjn egyrtelm, hogy a csatorna teljestmnye nagymrtkben fgg annak vgpontok kztti csatorna terjedsi ksleltetstl (channel propagation delay) - teht egy jel egyik cso mponttl msikig val terjedsnek idtartamtl. Minl nagyobb ugyanis a terjedsi ksleltets, annl nagyobb valsznsggel fordulhat el, hogy egy csompont a csatornba val belehallgatskor nem szleli egy msik csompont mr

folyamatban lv adst. Az 5.13. bra csompontjai nem vgeznek tkzsjelzst, gy az tkzs ellenre mindketten kikldik teljes keretket a csatornra. Egy tkzsjelzst hasznl csompont azonban hasonl esetben azonnal felfggeszti adst. Az 5.14. brn lthat eset az 5.13. brhoz hasonl, a klnbsg itt annyi, hogy a csompontok az tkzs szlelse utn rvid idvel abbahagyjk keretk tovbbtst. Egyrtelmen lthatjuk, hogy egy tbbszrs hozzfrsi protokoll tkzsjelzssel val felvrtezse nveli a protokoll teljestmnyt, mivel a hasznlhatatlann vlt, tkzs kvetkeztben megrongldott keretek nem kerlhetnek ki teljes egszkben a csatornra. Az 5.5. fejezetben trgyalt Ethernet-prolokoll is az tkzsjelzses CSM A-protokollok csaldjba tartozik.
Hely

_______I______________1______________!______________!_______

Az tkzs jelzsnek s az ads felfggesztsnek ideje

5.3.3. Adsjog-tvteli protokollok


Ahogy korbban inr megtrgyaltuk, a tbbszrs hozzfrsi protokollok na k kt kvnatos tulajdonsga, hogy egyrszt amennyiben csak egy csompont forgalmaz a csatornn, azt R b/s teresztkpessggel tehesse, msrszt Maktv csompont esetn valameny- nyinek krlbell R/M b/s legyen az adsi sebessge. Az ALOHA s CSMA protokollok az elbbi felttelt teljestik, az utbbit azonban sajnos nem. Ez motivlta a tbbszrs hozzfrsi protokollok harmadik csoportjnak, a adsjog-tvteli protokolloknak (ta- king-turns protocols) a kidolgozst. A vletlen hozzfrsi protokollokhoz hasonlan rengeteg adsjog-tvteli protokoll s ezek szmtalan vltozata ltezik. A fejezetben kt fontosabb adsjog-tvteli protokollal fogunk megismerkedni. Ezek egyike a lekrdez- protokoll (polling protocol) (polling protocol), amelyhez egy mestercsompontot kell ki jellnnk. Ez a mestercsompont krbe-krbe haladva lekrdezi az egyes csompontokat. Elszr az els csompontnak kld egy zenetet, amelyben engedlyezi szmra bizonyos szm keret tvitelt. Miutn az els csompont elkldtt valahny keretet, a mestercsompont a msodik csomponthoz fordul, s hasonlkppen meghatrozza a maximlisan tvihet keretek szmt. (A mestercsompont a csatornt figyelve a jelek elmaradsbl ki tudja kvetkeztetni, hogy valaki befejezte az adst.) A mestercsompont valamennyi csompontot vgigkrdezi, majd visszatrve az els csomponthoz az eljrs ugyangy folytatdik tovbb. Ez a protokoll elkerli az tkzseket, csakgy, mint a vletlen hozzfrsi protokollok- nl problmt okoz resen marad idrseket. Lekrdezssel teht lnyegesen nagyobb hatkonysgot tudunk elrni, jllehet nhny jabb problmval is szembeslnnk kell. Elszr is megjelenik a lekrdezsi ksleltets - az az id, amely a csompontok adsra val felszltshoz szksges. Ha pldul egyetlen aktv csompontunk van, az R b/s-nl lassabban tud csak adni, mivel a mester minden krben vgigkrdezi valamennyi csompontot, miutn az aktv csompont befejezte az engedlyezett szm keretnek tovb btst. A lekrdez protokoll ennl sokkal nagyobb gondot jelent htrnya az, hogy a

Id

mestercsompont kiesse esetn az egsz rendszer mkdskptelenn vlik. A msik trgyalt adsjog-tvteli protokoll az n. tokentadsos (token-passing) protokoll. Ennl a protokollnl nincsen mestercsompont. Egy specilis clokra hasznlt keret, egy n. tokn kering a csompontok kztt valamilyen, elre meghatrozott sorrendben - pldul az els csompont mindig a msodiknak adja t a tknt, a msodik mindig a harmadiknak, az N-edik pedig mindig az els csompontnak. Ha valamely csompont megkapja a tknt, csak akkor tartja meg, ha vannak tviend keretei, ellenkez esetben azonnal tovbbadja azt. Ha a tknt birtokl csompontnak van tviend adata, legfeljebb egy elre meghatrozott szm keretet kldhet t, majd tovbb kell adnia a tknt. A to kentadsos protokoll elosztott s rendkvl hatkony, de van nhny htultje is. Pldul egy meghibsodott csompont hasznlhatatlann teheti az egsz csatornt. Szintn problmt okoz, ha valamelyik csompont nem adja tovbb a tknt. Ekkor valamifle karbantartsi folyamatot kell indtani annak rdekben, hogy a tokn visszakerljn a csompontok kztti krforgsba. Az vek sorn szmos tokentadsos protokollt dolgoztak ki, amelyek kzl mindegyiknek szembe kellett nznie a fent emltett s ms komoly problmkkal. Ezen protokollok kzl mi kettt trgyalunk a kvetkez fejezetben, nevezetesen az FDDI-t s az IEEE 802.5 protokollt.

5.3.4. Helyi hlzatok


A tbbszrs hozzfrsi protokollokkal sokfle adatszr csatornn tallkozhatunk. Korbban pldul elfordultak mholdas s vezetk nlkli csatornkon, ahol valamennyi rsztvev ugyanazon a frekvenciatartomnyon kommunikl. Manapsg a kbeles internet-hozzfrsnl ezt hasznljk a feltltsi csatornn, s rendkvl elterjedten hasznlatosak a helyi hlzatokban (Local A re NetWork, LAN) is. A korbbiakbl emlkezhetnk, hogy a helyi hlzatok egy bizonyos terleten, pldul pleteken bell vagy egyetemek terletn helyezkednek el. Amikor egy egyetemi vagy cges felhasznl hozzfr az internethez, szinte biztos, hogy ezt egy helyi hlzaton keresztl teszi. A felhasznl szmtgpe ugyanis helyi hlzaton keresztl ri el azt az tvlasztt, amely mr kzvetlenl kapcsoldik az internethez (5.15. bra). A helyi hlzatok R adattviteli sebessge ltalban rendkvl magas, mr az 1980-as vek elejn is 10 Mb/s volt. Napjainkban a 10 Mb/s sebessg helyi hlzatokat szkebb krben (de mg mindig) hasznljk, inkbb a 100 Mb/s s 1 Gb/s adattviteli sebessg LAN-ok az elterjedlek. Az 1980-as s 90-es vekben a LAN-megoldsok kt csoportja terjedt el a munkahelyeken. Az els csoportba a vletlen hozzfrssel mkd Ethernetet hasznl helyi hlzatok (ms nven a 802.3-as szabvny helyi hlzatok [IEEE 802.3 2007)) tartoznak. A msodik csoportba tartoz megoldsok lokentadsos protokollokat, pldul token- gyrt (tokn ring) (IEEE 802.5 szabvny [IEEE 802.5 2007]) vagy fnyvezetszlas osztott adatinterfszt (fiber distributed data interface, FDDI) (Jain 1994] hasznlnak. Mivel az Ethernet klnbz vltozatait az 5.5. alfejezetben rszletesen trgyaljuk, itt csak a tokentadsos helyi hlzatokkal foglalkozunk. Ezen technikk az Ethernet elterjedsvel mra szinte teljesen eltntek a gyakorlatbl, de hogy vals tokentadsos protokollokat is megismerjnk, illetve hogy kicsit belelssunk a protokollok fejldsnek trtnetbe, rviden bemutatjuk ket.
A felhasznlk szmtgpei Webszerve r tvlaszt Internet

Helyi hlzat

Jells:
= interfsz

5.15. bra. A felhasznlk szmtgpei helyi hlzaton keresztl

kapcsoldnak egy internetes webszerverhez. A szmtgpek az tvlasztval kzvetlen adatkapcsolatban llnak

172

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

Egy tokentadsos helyi hlzatban az Ndb csompontot (tvlasztkat s hosztokat) egy kzvetlen adatkapcsolatokbl ll gyr kti ssze, amely egyben meghatrozza a token- tads sorrendjt. Mikor egy csompont elkld egy keretet, az bejrja a gyrt, amely gy egy virtulis adatszr csatornaknt mkdik. Mikor a cmzett csompont megkapja a keretet, elolvassa, majd tovbbkldi. A kld csompont felelssge a keret eltvoltsa a gyrrl. Az FDDI-t nagyobb terleten elhelyezked helyi hlzatokra, tbbek kztt nagyvrosi h lzatokra (metropolitan area network, MN) fejlesztettk ki. Ilyen nagymret (kilom terekre kiterjed) hlzatoknl flsleges hatkonysgromlst okoz, ha egy keret visszatr az t kld csomponthoz, ezrt az FDDI-ben mr a cmzett csompont eltvoltja a keretet a gyrrl. (Pontosan fogalmazva teht az FDDI-gyr nem tiszta adatszr csatorna, mivel nem minden csompont kap meg minden, a kzegre kikldtt keretet.)

5.4. Adatkapcsolati cmzs


Valamennyi csompont - legyen az hoszt vagy router - rendelkezik egy adatkapcsolati szint cmmel. Ezt elsre taln furcsllhatjuk, mivel a 4. fejezetben mr lttuk, hogy a csompontoknak hlzati cmeik is vannak, jogosan merlhet teht fl a krds, mi szksg lehet arra, hogy mindkt szinten cmeket definiljunk? Az adatkapcsolati cmek szerkezetnek s mkdsnek lersa mellett ebben a fejezetben remnyeink szerint sikerl rvilgtanunk arra, hogy mirt hasznos s valjban nlklzhetetlen a ktszint cmzs. Bemutatjuk tovbb a cmfelold protokollt (Address Resolution Protocol, ARP) is, amely- lyel IP-cmeket fordthatunk le adatkapcsolati szint cmekre.

5.4.1. MAC-cmek
Az adatkapcsolati szint cmek valjban nem csompontokat (hosztokat vagy tvlasztkat) azonostanak, hanem a csompontok hlzati csatolit. Ezt szemllteti az 5.16. bra is, Az adatkapcsolati cmeket LAN-cmeknek, fizikai cmeknek vagy MAC-cmek- nek is nevezik. Mivel a legutbbi a legelterjedtebb elnevezs, mi az adatkapcsolati cmekre MAC-cmekkent fogunk hivatkozni. A legtbb helyi hlzati szabvny (pldul az Ether net vagy az IEEE 802.11-es vezetk nlkli helyi hlzati szabvny) 6 bjtos MAC-cmeket definil, amely 2 48 lehetsges cmet jelent. Ahogy az 5.16. brn lthat, a MAC-cmeket ltalban hexadecimlisan rjuk, a cm minden bjtjt kt hexadecimlis szmmal kifejez ve. jllehet, a MAC-cmeket eredetileg llandra terveztk, ma mr meg lehet ket szoftveresen vltoztatni. A fejezetben ennek ellenre feltesszk, hogy a csatolk adatkapcsolati cmei rgztettek. A MAC-cmek rdekes tulajdonsga, hogy nincs a vilgon kt olyan hlzati csatol, amelynek cme megegyezne. I.ehet, hogy ez meglepen hangzik annak tudatban, hogy a csatolkat szmtalan orszg szmtalan zemben gyrtjk. 1 Iogy lehet mgis biztos egy tajvani cg abban, hogy az ltala gyrtott csatolk M AC-cmei klnbznek egy belga cg csatolinak cmeitl? A vlasz egyszer. A MAC-cmek kiosztst az IEEE felgyeli. gy valahnyszor egy cg hlzati csatolk

5.3.

TBBSZRS

HOZZFRSI PROTOKOLLOK

173

gyrtsba kezd, nvrtken megvsrol egy 2U cmbl ll tartomnyt. Az IEEE a cmtartomny lefoglalsakor rgzti annak els 24 bit jt, a csatolk cmeinek tbbi 24 bitje felett pedig a gyrt rendelkezik.

5.14. bra. CSMA tkzsjelzssel

174

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

1A-23-F9-CD-06-9B

'9-BD-D2-C 7-56-2 A

5C-66-AB-90-75-B1

88-B2-2F-54-1A-0F u

5.16. bra. Minden LAN-hoz kapcsold csatolnak egyedi MAC-cime van Egy hlzati csatol MAC-cmnek struktrja egyszint (azaz nem hierarchikus), s nem vltozik, brhov is kerl a csatol. Ez azt jelenti, hogy egy hordozhat szmtgp Ethernet-krtyjnak, de egy PDA vezetk nlkli hlzati csatoljnak sem vltozik a M AC-cme, brhova is kerljn maga a szmtgp vagy a PDA. Emlkezznk arra, hogy ezzel szemben az IP-cmek struktrja hierarchikus (teht egy hlzati azonost rszbl s egy hosztot azonost rszbl ll), s amikor a hoszt mozog, teht egy j hlzatba kerl, IP-cme is megvltozik. A MAC-cmet a szintn egyszint s rgztett szemlyi szmokhoz hasonlthatnnk, mg az IPcimek a postai cmekhez hasonlan mkdnek, hiszen a postai cmek struktrja az IP-cmekhez hasonlan hierarchikus, s amikor va laki elutazik valahova, postai cme is megvltozik. Ahogy a szemlyeknl hasznos, ha van postai cmk s szemlyi szmuk is, gy a hlzati csompontok esetben is hasznos a MAC-cm s az IP-cm meglte. Ahogy az alfejezet elejn mr emltettk, ha egy hlzati csatol egy msik csatolnak kld zenetet, az adatkapcsolati keretbe elhelyezi a cmzett csatol MAC-cmt, majd kikldi a keretet a helyi hlzatra. Ha a helyi hlzaton adatszr csatornt hasznlunk (mint pldul a 802.11-es vezetk nlkli hlzatoknl s szmos Ethernetes hlzatban), akkor valamennyi, az tviteli kzeghez csatlakoz csompont veszi, s feldolgozza a keretet. Ez pontosabban fogalmazva azt jelenti, hogy valamennyi csompont veszi a keretet, majd megvizsglja, hogy a cmzett M AC-cme egyezik-e a sajt MAC-cmvel. Ha megegyezik a kt cm, a csatol eltvoltja a keret fejlct, s az gy kinyert hlzati szint adatcsomagot tovbbadja a hozz kapcsold csompontnak. Ha nem egyezik a kt MAC-cm, a csatol egyszeren figyelmen kvl hagyja a keretet, s nem adja tovbb a hlzati rtegbeli csomagot. Ezzel a megoldssal csak a cmzett csompont szerez tudomst a csomag rkezsrl. Bizonyos esetekben viszont a kld csompontnak kifejezett clja, hogy az sszes tbbi csompont megkapja, s feldolgozza a keretet. Ebben az esetben egy specilis krzvny- cmet (broadeast address) helyez cl a keret fejlcben a cmzett cme mezben. Azokban a helyi hlzatokban, amelyek 6 bjtos adatkapcsolati cmekkel mkdnek (mint pldul az Ethernet vagy tokentadsos I.AN-ok) a krzvnycm egy 48 bites egyesekbl ll sorozat (azaz hexadecimlisan az FF-FF-FF-FF-FF-FF cm).

5.4. ADATKAPCSOLATI CMZS

175

Ivek a gyakorlatban i
A rtegek fggetlensge Szmtalan oka van annak, hogy a csompontok IP-cmeken kvl MAC-cmekkel is rendel keznek. Elszr is, a helyi hlzatokat gy terveztk, hogy az IP-n s az interneten tl tet szleges hlzati protokollal egytt tudjanak mkdni. Ha a csatolkat IP-cmekkel, s nem semleges" MAC-cmekkel azonostannk, igencsak nehzkes lenne ez az egyttmkds ms hlzati protokollokkal (pldul az IPX-szel vagy a DECnet-tel). Msrszt, ha a csatolknak hlzati cmeket kellene hasznlniuk MAC-cmek helyett, akkor ezt a cmet bels memri jukban kellene trolni, s jra kellene konfigurlni, valahnyszor thelyezzk (vagy bekapcsol juk) ket. A MAC-cmek elkerlsnek msik mdja az lehetne, ha a csatolk egyltaln nem rendelkeznnek semmifle cmmel, s valamennyi vett keretben szlltott adatot (ami ltal ban egy IP-csomag) tadnnak a hlzati rtegnek. Ezutn a hlzati rteg ellenrizhetn a cmegyezst. A megolds hibja, hogy minden, a helyi hlzaton megjelen keretrl, belertve a ms csompontnak cmzett kereteket is, rtesteni kellene a hosztot. Egyszval, annak rde kben, hogy a rtegek a hlzati architektra nagymrtkben fggetlen ptkvei lehessenek, a klnbz rtegeknek rendelkeznik kell valamifle sajt cmzsi rendszerrel. Ezek kzl a cimtpusok kzl mi eddig hrmat ismertnk meg, nevezetesen az alkalmazsi rteg hosztne- veit, a hlzati rteg IP-cmeit, valamint az adatkapcsolati rteg M AC-cmeit.

5.4.2. A cmfelold protokoll


Minthogy - a fentiekben megbeszltek szerint - az internetes krnyezetben ktfle cmet hasznlunk, a hlzati szint cmeket (pldul internetes IP-cmeket) s az adatkapcsolati cmeket (MAC-cmeket) valamilyen mdon meg kell tudnunk feleltetni egymsnak. Az interneten ezt a feladatot a cmfelold protokoll (Address Resolution Protocol, ARP) [RFC 826] vgzi. Hogy megrtsk, mirt is van szksgnk ilyen protokollra, figyeljk meg az 5.17. brn lthat hlzatot. Ebben az egyszer pldban valamennyi csompont egy egyedi IP-cm- mel s valamennyi csatol egy egyedi MAC-cmmel rendelkezik. Az IP-cmeket szoks szerint pontokkal elvlasztva, mg a MAC-cmeket hexadecimlis formban jelltk. Tegyk most fel, hogy a 222.222.222.220 IPcm csompont a 222.222.222.222 cm csompontnak szeretne elkldeni egy csomagot. (A 222.222.222.222-es csompont pldul lehet egy webszerver, amelyiknek az IP-cmt a kld a DNS segtsgvel llaptotta meg.) Pldnk ban a kld s a fogad csompont cmzsi rtelemben (4.4.2. alfejezet) ugyanazon a helyi hlzaton van. A csomag elkldshez a kld csompontnak nem csak az IP-csomagot kell odaadnia a hlzati csatolnak, de a cmzett MAC-cmt is. Ezek alapjn a kld hlzati csatol sszelltja az adatkapcsolati keretet, amelyet utna ki is kld a helyi hlzatra. Ebben a fejezetben arra a lnyeges krdsre keressk a vlaszt, hogy vajon hogyan kpes a kld csompont meghatrozni a cmzett csompont MAC-cmt? Az olvas mr bizonyra ki is tallta, hogy az ARP segtsgvel. A kld csompont ARP-modulja a bemenetknt kapott, ugyanazon helyi hlzaton elhelyezked valamely hoszthoz tartoz IP-cmre vlaszul megadja az IP-cmhez tartoz MACcmet. A pldnkban szerepl 222.222.222.220 IP-cm kld csompont a 222.222.222.222 cmet adja t az ARP-mo- dulnak, amire az visszaadja a 49-BD-D2-C7-56-2A MAC-cmet.

176

5. AZ ADATKAPCS01AT1 RTEG S A HF.I.YI HLZATOK

Most mr lthatjuk, hogy az ARP IP-cmeket fordt le MAC-cmekre. Bizonyos rte lemben az ARP s a hosztneveket lP-cmekre fordt DNS (amelyet a 2.5. alfejezetben is-

5.4. ADATKAPCSOLATI CMZS

177

lF-cim:222.222.222.220

1A-23-F9-CD-06-9B

/
8-B2-2F-54-1A0F

5C-66-AB-90-7S-B1 IPcim:222.222.222.223

IP-cim:222.222.222.221

IPc i m : 2 2 2 . 2 2 2 . 222.22

5.17. bra, A helyi hlzat minden csompontjnak van IP-cme, s valamennyi

csompont csatolja rendelkezik MAC-cmmel


mertettnk) rokon protokollok. Lnyeges klnbsg kztk azonban, hogy mg a DNS az interneten brhol elhelyezked hoszt nevt kpes IP-cmre fordtani, addig az ARP csak az azonos helyi hlzaton lv csompontok IP-cmeit oldja fel. Ha pldul egy budapesti csompont prbln meg feloldani ARP segtsgvel egy debreceni csompont IP-cmt, az ARP-modul hibazenettel vlaszolna. Most, hogy mr tudjuk, mire val az ARP, nzzk meg, hogyan mkdik. Valameny- nyi csompont (hoszt vagy router) memrijban trol egy n. ARPtblt, amely IP-c- mekhez tartoz MAC-cmeket tartalmaz. Az 5.1. tblzatban lthatjuk, hogyan nz ki a 222.222.222.220 IP-cm csompont ARP-tblja. A tblban a bejegyzsekhez tartozik egy lettartamrtk is, amely azt jelzi, hogy az adott bejegyzst mikor kell trlni a tblbl. Lnyeges megjegyeznnk, hogy a tbla nem felttlen tartalmaz bejegyzst a helyi hlzat valamennyi csompontjra - elfordulhatnak ugyanis lejrt bejegyzsek, de az is lehetsges, hogy van olyan csompont, amelyre soha nem is jtt ltre bejegyzs. A tbla egy adott IP-cm-MAC-cm lekpezsnek lettartamra egy tipikus rtk 20 perc, a bejegyzs idpont jtl szmtva. Vegyk most azt az esetet, amikor a 222.222.222.220 IP-cm csompont egy ugyanazon a helyi hlzaton lv hoszt IP-cmt tartalmaz adatcsomagot kvn tovbbtani. Az IP-cm alapjn teht els lpsben meg kell szereznie a cmzett csompont MAC-cmt. Ez nem tl bonyolult mvelet, ha az ARP-tbla mr tartalmaz bejegyzst a cmzett csompontra. De mit tegynk, ha a tbla alapjn nem tudjuk megfejteni a szksges MAC-c- met? Tegyk fel, hogy a cmzett csompont IP-cme 222.222.222.222. Helyzetnkben a

178

5. AZ ADATKAPCS01AT1 RTEG S A HF.I.YI HLZATOK

5.1. tblzat. A 222.222.222.220 IP-cm csompont egy lehetsges ARP-tblja


IP-cim 222.222.222.221 MAC-cm 88-B2-2F-54-1A-0F lettartam 13:45:00

5.4. ADATKAPCSOLATI CMZS

179

180

5. AZ ADATKAPCS01AT1 RTEG S A HF.I.YI HLZATOK

cmfeloldshoz az ARP-protokolIt kell hasznlnunk. Els lpsben a kld csompont ltrehoz egy specilis csomagot, egy n. ARP-csomagot. Az ARPcsomag tbb mezt tartalmaz, kzttk a kld s a fogad csompont IP- s MACcmeit szllt mezket. Az ARP krs- s vlaszzeneteinek formtuma megegyezik. A krszenet clja, hogy az alhlzat valamennyi csompontjt lekrdezze annak rdekben, hogy megtalljuk a fel oldand IP-cmhez tartoz MAC-cmet. Visszatrve pldnkhoz, a 222.222.222.220 cm csompont egy ARP krszenetet ad t hlzati csatoljnak arra krve t, hogy a csomagot a krzvny MAC-cmre, teht az FF-FF-FF-FF-FF-FF cmre tovbbtsa. A csatol az ARP-csomagot egy adatkapcsolati keretbe gyazza, amely clcmmezjben a krzvnycmet adja meg, majd kikldi a keretet az alhlzatra. Az ARP-krst tartalmaz adatkapcsolati keretet valamennyi, az alhlzatra kapcsold hlzati csatol veszi, s (a krzvnycm miatt) a keretbe gyazott ARP-zenetet minden csatol tovbbadja a csompontban lv ARP-modulnak. Minden csompont ellenrzi, hogy IP-cme megegyezik-e az ARP-krs cl IP-cmvel. A krsre az a (legfeljebb egy) csompont vlaszol, amely egyezst tall, s elkld egy ARPvlaszzenetet, amely tartalmazza a krt IP-cm - MAC-cm prost. A krst kl d 222.222.222.220 cm csompont ezek utn mr frisstheti ARP-tbljt, s elkldheti csomagjt egy olyan adatkapcsolati keretben, amely a cmzett mezben mr a frissen megismert MAC-cmet tartalmazza. Nhny rdekes dolgot megfigyelhettnk az ARP-vel kapcsolatban. Elszr is, a krszenetet krzvny keretben kldjk, mg a vlaszzenetet mr egy egyszer keretben. Mieltt tovbbolvasnnk, rdemes elgondolkozni azon, vajon mirt van ez gy. Msodszor, az ARP plug-and-play elven mkdik, azaz a csompontok ARPtbli automatikusan felplnek, nincsen szksg a rendszergazda kzi konfigurcijra. Hasonl mdon, ha egy csompont lekapcsoldik az alhlzatrl, az t rint bejegyzs egy id utn trldik a tblbl.

Adatcsomag kldse egy alhlzaton kvli csompontra


Most mr tudjuk, hogyan mkdik az ARP, ha ugyanazon az alhlzaton lv csompont szmra akarunk csomagot kldeni. (Az alhlzatok fogalmrl rszletesen r a 4.4.2. al- fejezet.) Nzzk meg most azt a bonyolultabb esetet, amikor is egy, az alhlzaton kvli (azaz egy msik, valamilyen tvlasztn keresztl elrhet alhlzathoz kapcsold) csomponthoz szeretnnk eljuttatni adatcsomagot. Az eset vizsglathoz tekintsk az 5.18. brt, amelyen kt, tvlasztval sszekapcsolt alhlzat lthat. Tbb dolgot is szrevehetnk az 5.18. brt szemllve. Elszr is, hlzatunk ktfle csompontbl, mghozz hosztokbl s tvlasztkbl ll. Valamennyi hoszt pontosan egy IP-cmmel s egy hlzati csatolval rendelkezik, de ahogy a 4. fejezetben is megtrgyaltuk, egy tvlasztnak minden egyes interfszhez kln IP-cm tartozik. Egy tvlaszt valamennyi interfsznek tovbb kln hlzati csatolja s kln (az tvlasztban tallhat) ARP-modulja van. Az 5.18. bra tvlasztja kt interfsszel br, gy kt IP-cme, kt csatolja van, s kt ARPmodult tartalmaz. Termszetesen a hlzatban tallhat va lamennyi csatol kln

5.4. ADATKAPCSOLATI CMZS

181

MAC-cmmel rendelkezik. Az brn az is ltszik, hogy mg az egyik alhlzatnak 111.111.111.0/24 az alhlza- ti cme, addig a msiknak 222.222.222.0/24. Emiatt valamennyi, az elbbi alhlzathoz csatlakoz interfsznek 111.111.111.xxx alak az IP-cme, az utbbi hlzathoz tartoz interfszek IP-cmei pedig a 222.222.222.xxx mintra illeszkednek.

74-29-9C-E8-FF-55

IP-ci:n:

111.111.111.11 1
CC-49-DE-D0-AB-7D

IP-cim:lll.111.111.110

222.221

jp-cim:

1A-23-F9-CD-06-9B 1 P cim:222.222.222.220

4 9-BD-D2-C7-56-2A

IP-cim:
222 .222 .222.222

111.111.111.112

5.18. bra. Kt tvlasztval sszekapcsolt alhlzat Mindezek utn vizsgljuk meg, hogy egy, a 111.111.111.0/24 cm alhlzatra csatlakoz hoszt hogyan tud adatcsomagot kldeni egy, a msik alhlzaton lv hosztnak. Tegyk fel, hogy a kld csompont a 111.111.111.111 IP-cm csompont, s hogy a 222.222.222.222 cm hosztnak szeretne tkldeni egy IPcsomagot. A kld csompont szoks szerint t adja a tovbbtand csomagot hlzati csatoljnak. A problma ott jelentkezik, hogy ekkor kzlnnk kellene a csatolval a cmzett MAC-cmt is. Vajon milyen MAC-cmet kellene hasznlnunk? Felmerlhet esetleg a cmzett csompont adatkapcsolati cme, nevezetesen 49BD-D2-C7-56-2A. Hz a megolds azonban hibs lenne! Ha ugyanis ezzel a MACcmmel kldennk ki a keretet az alhlzatra, egyik csatol sem tovbbtan a benne lv csomagot a hlzati rtegnek, mivel a keret clcme nem illeszkedne egyik csatol MAC-cmvel sem. Az adatcsomag egyszeren elhalna, s az adatcsomag a menyorszgba kerlne. Ha jl megfigyeljk az 5.18. brt, szrevehetjk, hogy annak rdekben, hogy a csomag eljusson 111.111.111.111-tl a msik alhlzatba, azt els lpsben az tvlaszt 111.111.111.110 IP-cm interfszre kell elkldeni. Ebbl kvetkezen az adatkapcsolati keretben hasznland MAC-cm az tvlaszt 111.111.111.110 interfsznek cme, azaz E6-E9-00-17-BB-4B. Hogy hogyan derti ki a kld csompont az tvlaszt MAC-cmt? Termszetesen az ARP segtsgvel! Mikor a kld csompont csatoljnak mr rendelkezsre ll az tvlaszt MAC-cme, ltrehozza a keretet (amely tartalmazza a 222.222.222.222 IP-cmre cmzett csomagot), s kikldi a sajt alhlzatra. Az tvlaszt ezen alhlzatra csatlakoz hlzati csatolja szreveszi a neki cmzett adatkapcsolati keretet, gy tadja a benne lv adatcsomagot az tvlaszt hlzati rtegnek. Hurr! Az IPcsomag sikeresen megrkezett a forrs hoszttl az tvlaszthoz! Ez azonban ko rntsem jelenti azt, hogy kszen vagyunk. A csomagot ugyanis mg el kell

juttatnunk az CMZS tvlaszttl a cmzett hosztig. Az tvlasztnak elszr is el kell 5.4. ADATKAPCSOLATI 183 dntenie, hogy melyik interfszn kell tovbbtania a csomagot. Ahogy a 4. fejezetben mr megtrgyaltuk, ezt az tvlaszt tblja segtsgvel teheti meg. Az tvlaszt tblbl az tvlaszt azt olvassa ki, hogy a 222.222.222.220 IPcm interfszn kell kiadnia a csomagot. Ez az interfsz a csomagot ezek utn tadja hlzati csatoljnak, amely egy j keretbe helyezi azt, s kikldi a cmzett hoszt alhlzatra. Ezttal a keretben mr a csomag vgllomsnak MAC-cme szerepel clcmknt. s hogy hogyan szerzi meg az tvlaszt ezt az adatkap csolati cmet? Termszetesen ismt ARP-vel! Az Ethernetben hasznlt ARP-protokollt az RFC 826 definilja. A TCP/IP-t ismertet RFC 1180-ban egy kzrthet bevezett olvashatunk az ARP-rl. Az ARPvel rszletesebben a feladatokban foglalkozunk.

222.222.222.223

5C-66-AB-90-75 B1

13:52:00

184

5.5. Az Ethernet

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

Az Ethernet mra gyakorlatilag tvette az uralmat a vezetkes LAN-piacon, jllehet, az 1980-as s 90-es vekben szmtalan kihvs el lltotta a tbbi LANtechnika, ide rtve a tokengyrt, az FDDI-t s az ATM-et. Ezek a technolgik pr vre ugyan meg tudtk maguknak szerezni a piac egy kisebb rszt, de az Ethernet szletstl - a 70-es vek kzeptl - tart ersdsvel s nvekedsvel folyamatosan tartotta, s tartja meghatroz pozcijt. Az Ethernet napjainkra messzemenen a legelterjedtebb helyi hlzati megoldss ntte ki magt, s a belthat jvben minden bizonnyal az is marad. Mond hatjuk gy is, hogy az Ethernet sz ugyanazt jelenti a helyi hlzatokban, mint amit az internet sz a globlis hlzatoknl. Az Ethernet sikernek szmos oka van. Elszr is, az Ethernet volt az els, szeles krben hasznlt, nagysebessg helyi hlzati megolds. Minthogy igen hamar elterjedt, a rendszergazdk megismerkedhettek minden egyes rszletvel - a csodival csakgy, mint a zngivel s ksbb nem szvesen vltottak ms, frissen felbukkant LAN-megoldsokra. Msodszor, a tokengyr, az FDDI s az ATM mind bonyolultabbak s drgbbak voltak az Ethernetnl, ami mg jobban visszatartotta a rendszergazdkat a vltstl. Harmadszor, a ms megoldsokra (pldul FFDI-re vagy ATM-re) val ttrs oka legtbbszr azok nagyobb adatsebessge lett volna - az Ethernet azonban jabb, azonos vagy nagyobb adatsebessg verziival mindig felvette a versenyt a rivlisokkal. Az 1990-es vek elejn bevezettk a kapcsolt Ethernetet (switched Ethernet), amely tovbb nvelte az effektv adattviteli sebessgeket. Vgl pedig, az Ethernet hatalmas npszersgnek ksznheten a hozz szksges hardveregysgek (klnsen a hlzati csatolk s a kapcsolk) brki ltal hozzfrhetek s rendkvl olcsak lettek. Az Ethernet-alap LAN-t eredetileg Bob Metcalfe s Dvid Boggs tallta fel az 1970-es vek kzepn. Az 5.19. brn Metcalfe a tallmnyrl kszlt vzlata lthat. Az brt szem-

5.19. bra. Az eredeti, Metcalfe-fle konstrukci vezetett a 10BASE5 Ethernet-

szabvnyhoz, amely egy kls advevt, egy Ethernet-csatolt, s e kettt sszekt interfszkbelt tartalmazott

5.4. ADATKAPCSOLATI

CMZS

185

222.222.222.223

5C-66-AB-90-75 B1

13:52:00

186

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

5.20. bra. Csillagtopolgij Ethernet-hlzat; a csompontokat egy eloszt kti

ssze

llve szrevehetjk, hogy eredetileg koaxilis kbelt hasznltak snknt a csompontok sz- szektsre. Ez a sntopolgia egszen az 1990-es vek kzepig elterjedt volt. A sntopo- lgia szerint felptett Ethernet-hlzat adatszr hlzatknt mkdik, azaz valamennyi tovbbtott adatkeretet valamennyi, a snre kapcsold csompont veszi, s feldolgozza. Az 1990-es vek vge fel a legtbb vllalat s egyetem az addig sntopolgij Ether- net-hlzatukat elosztalap csillagtopolgijv alaktotta. Ahogy az 5.20. brn is ltszik, egy ilyen kialakts esetn a hosztok (s az tvlaszt) rzbl kszlt sodrott rpr segtsgvel kzvetlenl kapcsoldnak egy eloszthoz. Az eloszt (hub) nem ms, mint egy fizikai szint eszkz, amely keretek helyett biteket kezel. Amikor valamely interfszre egy nulla vagy egy rtk bit rkezik, az eloszt egyszeren jra ellltja a bitet, megn veli jelerssgt, majd az sszes tbbi interfszn kikldi azt. gy teht a elosztalap csil lagtopolgij Ethernet is adatszr helyi hlzatnak szmt, hiszen amikor az eloszt az egyik interfszn vesz egy bitet, azt az sszes tbbi interfszn megismtli. Ha az eloszt egyszerre kl interfszn jelenik meg egy-egy bit, akkor tkzs trtnik, s a rszt vev csompontok jraadsra knyszerlnek. A 2000-es vek elejn az Ethernet egy jabb, fejldsben fontos szerepet jtsz vltozson ment keresztl. Az Kthernet-hlzatok tovbbra is a csillagtopolgit kvettk, de a kzppontban lev elosztt egy kapcsol (switch) vltotta fl. A kapcsolt Ethernetet a fejezet ksbbi szakaszban rszletesen fogjuk trgyalni, most csak annyit jegyeznnk meg, hogy amellett, hogy br a kapcsolk tkzsmentesek, trol-s-tovbbt elven mkdnek s csomagalapak, az tvlasztkkal ellenttben nem a harmadik, hanem csak a msodik rtegig vizsgljk a tovbbtand csomagot.

5.5.1. Az Ethernet-keret szerkezete


Az Ethernetrl sokat megtudhatunk, ha megvizsgljuk keretszerkezett, amelyet az 5.21. bra szemlltet. Hogy ismerkedsnket valsgos krnyezetben kezdjk,

vegyk azt az CMZS esetet, amikor egy hoszt egy msik hoszt nak szeretne kldeni egy 1 5.4. ADATKAPCSOLATI 187 P-csomagot. l egyk fel, hogy a kt hoszt ugyanarra az F.thernet-alap helyi hlzatra (pldul az 5.20. bra hlzatra) kapcsoldik. (Habr Ethernet-keretnk szlltmnya jelen esetben egy IPcsomag, azt meg kell jegyeznnk, hogy a keretben ms hlzati rtegbeli protokollok csomagjait is szllthatnnk.) Legyen a kld hlzati csatol az A csatol, AA-AA-AA-AA-AA-AA M AC-cmmel, a fogad hlzati csatol pedig a B csatol, BB-BB-BB-BB-BB-BB MAC-cm- mel. A kld csatol az IP-csomagot adatkapcsolati keretbe gyazza, amelyet ezutn tad a fizikai rtegnek. A vev csatol a fizikai rtegtl kapja meg a keretet, kiszedi belle az IP-csomagot, amelyet lad a hlzati rtegnek. Most pldnk felhasznlsval vizsgljuk meg az 5.21. brn lthat F.thernet-keret felptst: Adatmez (46-tl 1500 bjtig). Ebben a mezben tovbbtdik az IP-csomag. A szllthat csomag maximlis mrete (maximum transmission unit - MTU) 1500 byte. Ez azt jelenti, hogy amennyiben az IP-csomag mrete meghaladja az 1500 bjtot, a hosztnak a tovbbts eltt fel kell trdelnie azt, a 4.4.1. alfejezetben megbeszltek szerint. Az adatmez minimlis mrete 46 bjt. Ha helykitltst alkalmazunk az adatmezben, a kitlt bitek az IP-csomaggal egytt tadsra kerlnek a hlzati rtegnek. A hlzati rteg az IP-fejlc hossz mezjnek segtsgvel tvoltja el ezen kitlt biteket. Clcm (6 bjt). Ez a mez tartalmazza a cmzett hlzati csatol MAC-cmt, azaz a BB-BB-BB-BB-BB-BB cmet. Ha a B csatol olyan Ethernet-keretet vesz, amely cl- cmknt a BB-BB-BB-BB-BB-BB cmet, vagy a krzvny MAC-cmet tartalmazza, a keret adatmezjnek tartalmt tadja a hlzati rtegnek; amennyiben ms clcmet tartalmaz keretet vesz, azt egyszeren figyelmen kvl hagyja. Forrscm (6 bjt). Ez a mez annak a csatolnak a MAC-cmt tartalmazza, amely a keretet a helyi hlzatra tovbbtja, azaz pldnkban az AA-AA-AA-AAAA-AA cmet. Tpusmez (2 bjt). A tpusmezben engedlyezhetjk az Ethernetnek, hogy klnbz hlzati protokollokat nyalboljon. Hogy megrtsk, mire j ez, emlkezznk vissza, hogy a hosztok az IP-n kvl ms protokollokat is alkalmazhatnak a hlzati rtegben. Egy adott hoszt valjban klnfle alkalmazsokhoz ms-ins hlzati protokollokat hasznlhat. Ezen okbl kifolylag amikor B csatolhoz megrkezik egy keret, neki tudnia kell, hogy melyik hlzati protokollnak tovbbtsa (azaz bontsa a nyalbot, demultiplexing) az adatmez tartalmt. Az IP-nek, csakgy mint az sszes tbbi hlzati protokollnak (pldul a Novell IPX-nek vagy az AppleIalknak) megvan a sajt, szabvnyostott tpusszma. St, mg a korbbiakban trgyalt ARP-protokoll is kln tpusszmmal rendelkezik. Vegyk szre, hogy az adatkapcsolati keretek tpusmezje a hlzati csomagok protokoll mezjnek s a szlltsi rtegbeli csomagok portszm mezjnek felel meg - ezen mezk ugyanis mindannyian arra szolglnak, hogy a hasznlt protokollt sszekapcsoljk az eggyel feljebbi rtegben hasznlt protokollal. Ciklikus redundancia-ellenrzs, CRC (4 bjt). Amint azt az 5.2.3. fejezetben mr megtrgyaltuk, a CRC-mez abban jtszik fontos szerepet, hogy a cmzett hlzati csatol megllapthassa, hogy a vett keret tartalmaz-e hibkat, azaz van-e olyan bit,
222.222.222.223 5C-66-AB-90-75 B1 13:52:00

188

Elhang

Clcm

Forrscm

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI


Adatok

CRC

HLZATOK

Tpus

amely rtke megvltozott. Bithibk szmos okbl bekvetkezhetnek, ilyenek a jelcsillapts vagy a krnyez elektromgneses energia, amely zajt kelt az Ethernet- kbeleken vagy a hlzati csatol krtykban. A hibaellenrzs a kvetkezkppen mkdik. Az A hoszt Ethernet-kerete ltrehozsakor kiszmolja a CRC-mez rtkt, amelyet a keret CRC-mezn (sazelhangon) kvli bitjeinek valamilyen lekpezsvel kap. Mikor B hoszt megkapja a keretet, ugyanazt a lekpezst alkalmazva megvizsglja, hogy az eredmny s a CRC-mez rteke megegyezik-e. Ezt a vev oldalon vgrehajtott mveletet hvjuk CRC-ellenrzsnek. Amennyiben az ellenrzs meghisul, azaz a lekpezs eredmnye s a CRC-mez rtke nem egyezik meg, B hoszt mr biztos lehet abban, hogy a keret hibt tartalmaz. Elhang (8 bjt). Az Ethernet-keret egy 8 bjtos elhang mezvel kezddik. Az els 7 bjt rtke 10101010, azt utols pedig 10101011. Az elhang els 7 bjtja arra szolgl, hogy a vev csatolk felbredjenek, s rjukat a kld csompont rjhoz szinkronizljk. De mirt is ne lennnek az rk mindig szinkronban? Ne felejtsk el, hogy az A csatol clja, hogy a keretet az Ethernetes helyi hlzat tpustl fggen 10 Mb/s, 100 Mb/s vagy 1 Gb/s sebessggel tovbbtsa. Mivel azonban semmi sem tkletes, ezrt az A csatol sosem fogja pontosan valamelyik fenti sebessggel tovbbtani kerett, a megclzott adattviteli sebessgtl kismrtkben mindig elfog trni. Ez az eltrs pedig a tbbi csatol szmra elre nem ismert, gy a megoldst az jelentheti, hogy a vev csatolk az elhang els 7 bjtjnak teme alapjn rhzzk magukat az A csatol rajelre. Az elhang nyolcadik bjtjnak utols kt bitje (az els kt egymst kvet 1 -es bit) arra figyelmezteti a vevt, hogy hamarosan fontos dolgok jnnek. Amikor a B hoszt rzkeli a kt egymst kvet 1-es bitet, tudja, hogy a kvetkez 6 bjt mr a clcmet tartalmazza. A keret vgt a csatolk egsz egyszeren a kzegen addig jelen lv ram hinyaknt rzkelik. Az Ethernet alapsvi tovbbtst hasznl - ez annyit jelent, hogy a hlzati csatolk digitlis jeleiket kzvetlenl kldik az adatszr csatornra, s az ADSL-es s kbelmodemes rendszerektl eltren azokat nem toljk el valamely msik frekvenciasvba. Tbb Ethernet-vltozat (mint pldul a 10BASE-T) ezen fell Manchester-kdolst is hasznl, amelyet az 5.22. bra szemlltet. Manchesterkdols esetn valamennyi bit egy tmenetet tartalmaz a bitid kzepn - az 1 rtk bitek fentrl lefel irnyul tmenetet, mg a 0 rtk bitek lentrl felfel irnyul tmenetet. Manchester-kdolst akkor clszer hasz nlni, ha az ad s a vev csatolk nincsenek tkletes szinkronban. Ha ugyanis minden bit kzepre tmenetet helyeznk el, ezek segtsgvel a vev hoszt az ad hoszt rjhoz tudja igaztani a sajt rjt Miutn a vev csatol szinkronizlta a sajt rjt, dekdolhatja a biteket, s megllapthatja azok rtkeit. A Manchester-kdols sokkal inkbb fizikai, mint adatkapcsolati rtegbeli mvelet, azrt foglaltuk itt mgis tmren ssze, mert az Ethernet-hlzatban elterjedten hasznljk.

Megbzhatatlan, sszekttets nlkli szolgltats

Az Ethernet-hlzatok minden vltozata sszekttets nlkli szolgltatst 5.4. ADATKAPCSOLATI CMZS 189 (connectionless service) biztost a hlzati rteg fel. Ez annyit jelent, hogy amikor az A hlzati csatol a B csatolnak kvn adatcsomagot kldeni, azt egyszeren begyazza egy keretbe, amelyet aztn a B-vel val megegyezs nlkl kld ki a helyi hlzatra. Ez az adatkapcsolati rtegbeli sszekttets nlkli szolgltats hasonlt a szlltsi rtegbeli UDP protokoll sszekttets nlkli szolgltatshoz.

222.222.222.223

5C-66-AB-90-75 B1

13:52:00

190
Id

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

Bitfolyam

5.22. bra.
Binris kdols

Manchesterkdols

Manchesterkdols

Ezenkvl valamennyi Ethernetes megolds megbzhatatlan szolgltatst (unreliable service) nyjt a hlzati rteg szmra. Preczebben megfogalmazva ez azt jelenti, hogy amikor a B csatol egy keretei fogad A csatoltl, elvgzi rajta a CRC-ellenr/.st, de annak eredmnyrl nem kld nyugtt az A csatolnak - sem pozitv nyugtt siker, sem negatv nyugtt meghisuls esetn. A CRC-ellenrzs sikertelensge esetn B csatol egyszeren figyelmen kvl hagyja a keretet. A megbzhat kerettovbbts ezen hinya (az adatkapcso lati rtegben) hozzjrul az Ethernet olcssghoz s egyszersghez, azonban azt is jelen ti, hogy a hlzati rteg fel tovbbtott adatfolyambl adatcsomagok maradhatnak ki.
Egy kis trtnelem Bob Metcalfe s az Ethernet Bob Metcalfe az 1970-es vek elejn a l larvard Egyetem doktorandus/, hallgatjaknt rszt vett az ARPAnet az MIT-n foly fejlesztsben. Tanulmnyai sorn elkezdett rdekldni Abramson ALOHA-val s vletlen hozzfrs protokollokkal kapcsolatos munkssga irnt. Doktoranduszi tanulmnyai befejeztvel, de mg mieltt elkezdett volna dolgozni a Xerox Palo Alto-i kutatsi kzpontjban (Xerox Palo Alto Research Center, Xerox PARC), tett egy hrom hnapos ltogatst Abramsonnl s Hawaii egyetemi kollginl, s gy els kzbl ismerhette meg az ALOl I Anet-et. Ksbb, a Xerox PARC-nl elkezdtk rdekelni az Alto tpus szmit gpek, amelyek sok rtelemben az 1980-as vek a szemlyi szmtgpeinek elfutrai vol tak. rezte, hogy szksg van ezen szmtgpek hlzatba ktsre, mghozz olcsn, gy az ARPAnet-ben, az ALOHAnet-ben s a vletlen hozzfrs protokollokban val jrtassgval felvrtezve - kollgjval, Dvid Boggs-szal egytt - feltallta az Ethernett. Az els Ethernet-hlzat 2,94 Mb/s adatsebessgre volt kpes, s 256 darab, 1 mrfldn bell elhelyezked hosztot tudott sszektni. Metcalfe s Boggs elrtk, hogy a Xerox PARCnl dolgoz kutatk tlnyom rsze sajt Alto szmtgpk segtsgvel kommunikljon. Ksbb Metcalfe kzremkdsvel ltrejtt egy, a Xerox, a Digital s az Intel kztti konzorcium, amely azt tzte ki clul, hogy egy 10 Mb/s sebessg Ethernet-szabvnyt hozzanak ltre az IEEE jvhagysval. Mivel a Xeroxot nem nagyon rdekelte az Ethernet bevezetse az zleti vilgba, Metcalfe megalaptotta sajt cgt, a 3Com-ot, amely hlzati megoldsok, kztk az Ethernet fejlesztsvel s eladsval foglalkozott. A 3Com fejlesztette s dobta piacra tbbek kztt a vgtelenl npszer IBM PC-khez kszlt Ethernet-krtykat. Metcalfe 1990-ben hagyta ott az akkor 2000 embert foglalkoztat 400 milli dollr bevtellel rendelkez 3Com-ot.

5.4. ADATKAPCSOLATI

CMZS

191

Ha az eldobott Ethernet-keretek miatt kimarad valahny adatcsomag, vajon rzkeli-e ezt a B hoszton fut alkalmazs? Ahogy a 3. fejezetben megtanultuk, ez attl fgg, hogy az alkalmazs TCP, vagy UDP protokollt hasznl. UDP esetn az alkalmazs szre fogja venni a csomagkimaradsokat. TCP hasznlata esetn azonban - mivel B hoszt szlltsi rtege nem rzkeli, s gy nem is nyugtzza az eldobott keretekben szlltott csomagokat - az A hoszt jrakldsre knyszerl. Vegyk szre, hogy a TCP ltal jraadott adat ahhoz az Ethernet-csatolhoz fog visszatrni, amely azt eldobta. Ebben az rtelemben az Ether net vgez jrakiildst, habr nem foglalkozik azzal, hogy egy teljesen j csomagot visz t s j adatokkal vagy egy mr korbban is tovbbtott csomagot.

5.5.2. CSMA/CD: Az Ethernet tbbszrs hozzfrsi protokollja


Amikor a hlzat csompontjai egy elosztval vannak sszektve az 5.20. brn lthat mdon, az Ethernet-hlzat lnyegben adatszr helyi hlzatknt mkdik - teht mikor egy csatol elkld egy keretet, azt az sszes tbbi csatol megkapja. Mivel az Ethernet adatszrst hasznl, mkdshez szksge van egy tbbszrs hozzfrsi protokollra. Az 5.3. alfejezetbl emlkezhetnk, hogy a CSMA/CD a kvetkezkppen mkdik: 1. 2. Egy csatol brmikor megkezdheti adst - azaz nincsenek idrsek. Egy csatol nem kezdheti el adst, ha egy msik csatol forgalmaz - teht vivrzkelst hasznlunk. 3. A forgalmaz csatol azonnal megszaktja adst, ha ms csatol adst rzkeli - ez az t kzjel zs. 4. Egy csatol jraads eltt vletlen hossz ideig vr - ez az id egy keret adsnak idejhez viszonytva tipikusan rvid. Ezen mechanizmusoknak ksznheten helyi hlzati krnyezetben a CSMA/CD sokkal jobb teljestkpessggel rendelkezik, mint az ALOHA. Ha a csompontok kztti terjedsi ksleltets elg kicsi, a CSMA/CD hatkonysga akr a 100%-ot is megkzeltheti. Vegyk azonban szre, hogy a fent felsorolt msodik s harmadik szably miatt az Ethernet-csatolknak kpesnek kell lennik arra, hogy egyrszt rzkeljk, ha ms forgalmaz, msrszt ads kzben szleljk az tkzseket. Ezeket a feszltsgszintek ads eltti s ads kzbeni mrsvel rik el. Az Etherneten elhelyezked hlzati csatolk egymstl fggetlenl, kifejezett koordinci nlkl futtatjk a CSMA/CD protokollt, amely egy adott csatolban a kvetkezflekppen mkdik: 1. A csatol tovbbtand adatcsomagot kap a hlzati rtegtl, ebbl elllt egy Ethernet-keretet, s berakja valamelyik pufferbe. 2. Ha szabadnak rzkeli a csatornt (azaz 96 bitidig nem rzkel rajta jelet), megkezdi a keret tovbbtst. Amennyiben foglaltnak rzkeli a csatornt, addig vrakozik, amg nem rzkel mr jelet (illetve ezutn mg tovbbi 96 bitidig), majd elkezdi a keret tovbbtst.

222.222.222.223

5C-66-AB-90-75 B1

13:52:00

5.4. ADATKAPCSOLATI CMZS

192

3.

Ads kzben a csatol figyeli, hogy megjelennek-e ms csatolktl szrmaz jelek a csatornn. Ha az egsz keretet sikerlt tvinni anlkl, hogy ms csatol jelt rzkelte volna, kszen van az adssal. 4. Ha ads kzben ms csatol jelt rzkeli, lell a keret adsval, s helyette egy 48 bites tkzsi jelzst (jam) tovbbt. 5. Az ads megszaktsa (azaz az tkzsi jelzs leadsa) utn a csatol az exponencilis visszalps fzisba kerl. Ez azt jelenti, hogy sorozatban az nedik tkzs szlelse utn a csatol vletlenszeren vlaszt egy K rtket a {0,1,2,..., 2"'- 1} tartomnybl, ahol m = min(/i,10). A csatol ezutn K x 512 bit idt vrakozik, majd a 2. pontban foglaltak szerint folytatja mkdst. A CSMA/CD protokoll pr rszlete mg tovbbi magyarzatra szorul. Elszr is, az tkzsi jelzs (jam) azrt szksges, hogy valamennyi ppen forgalmaz hlzati csatol rtesljn az tkzsrl. Ehhez nzznk egy pldt. Tegyk fel, hogy A csatol megkezdi egy keret tovbbtst, de pp mieltt jelei elrnk B csatolt, B csatol is elkezd adni. B teht csak pr bitet tovbbthat a kzegre, mieltt meg kell szaktania adst. Ez a pr bit termszetesen elri A-t is, de nem felttlenl szllt akkora energit, hogy A szlelni tudja az tkzst. Annak rdekben, hogy A hatrozottan rzkelje az tkzst (s gy megsza ktsa adst), B egy 48 bites tkzsi jelzst kld. iMost vizsgljuk meg az exponencilis visszalpsi algoritmust. Elszr is meg kell jegyeznnk, hogy a bitid (teht az az id, amely egyetlen bit tovbbtshoz szksges) igen rvid - egy 10 Mb/s adatsebessg Ethernet-hlzaton 0,1 mikroszekundum. Tekintsk most azt a pldt, amikor egy csatol tkzst rzkel a keret els tovbbtsa kzben. Ezutn a csatol K = 0-t s K = 1-et is 0,5 valsznsggel vlasztja. K = 0 vlasztsa esetn az tkzsi jelzs tovbbtst kveten rgtn a 2. pontra ugrik, K = 1 vlasztsa esetn pedig 51,2 mikroszekundumig vr a 2. pontra val ugrs eltt. Egy esetleges msodik tkzs utn K rtkt egyenl valsznsggel vlasztjuk a {0, 1, 2, 3} halmazbl. A har madik tkzst kveten {0,1,2,3,4,5,6, 7) rtkek kzl vlasztunk egyenl valsznsgekkel. 10 vagy tbb tkzs esetn pedig a {0, 1, 2,..., 1023} rtkek kzl vlasztunk szintn egyenl valsznsgekkel. gy teht K lehetsges rtkeinek halmaza az egyms utni tkzsekkel exponencilisan n (n = 10-ig) ezrt nevezzk az Ethernet visszalpsi algoritmust exponencilisnak. Az Ethernet-szabvny fels korltot szab kt csompont tvolsgra. Ezek a korltok biztostjk, hogy amennyiben A csatol kisebb K rtket vlaszt valamennyi, az tkzsben rszt vev csatolnl, akkor A keretnek jraadsakor ne trtnjen jabb tkzs. Ezt a tulajdonsgot alaposabban a feladatokban vizsgljuk meg. De mirt hasznlunk exponencilis visszalpst? Mirt nem vlasztjuk inkbb K rtkt a {, 1,2, 3, 4, 5,6, 7} halmazbl minden egyes tkzs utn? Azrt nem, mert amikor egy csatol szleli az els tkzst, nem tudhatja, hogy abban hny csatol vett rszt sszesen. Ha az tkzsnek kevs rsztvevje van, rdemesebb Krtkt egy kis halmazbl vlasztani. Ha azonban sok csatol keretei tkztek, K1 egy nagyobb, sztszrtabb rtkkszletbl clszer vlasztani (vajon mirt?). Az rtkhalmaz minden tkzs utni nvelsvel a csatolk megfelelen tudnak alkalmazkodni ezekhez a klnbz helyzetekhez.

5.5. Az

ETHERNET

193

Meg kell emltennk, hogy valahnyszor egy csatol egy jabb keretet kszt el tovbbtsra, a fent ismertetett CSMA/CD algoritmust futtatja. Ez teht azt jelenti, hogy a csatol egyltaln nem foglalkozik esetleges, a kzeli mltban bekvetkezett tkzsekkel, azaz lehetsges, hogy az jonnan ltrehozott keret ppen tcsszik a hlzaton, sikeresen to vbbtdik, amg tbb msik csatol az exponencilis visszalps llapotban vrakozik.

Az Ethernet hatkonysga
Amennyiben csak egy csompont kvn keretet tovbbtani, azt az Ethernet maximlis adattviteli sebessgn teheti (amely a hasznlt megoldstl fggen lehet pldul 10 Mb/s, 100 Mb/s vagy 1 Gb/s). Ha azonban tbb csompontnak van tovbbtand kerete, a tnyleges tviteli sebessg ennl jval alacsonyabb lehet. Az Ethernet hatkonysgt gy definiljuk, hogy a hossz futtats alatt sikeresen tvitt keretekre fordtott idt a teljes futtatsi idhz viszonytjuk, ha sok tovbbtand kerettel rendelkez csompontjaink vannak. Az Ethernet hatkonysgnak kzeltshez legyen dtet)r brmely kt csatol kztti jelterjeds maximuma, dilvUeu pedig az az idtartam, amely egy maximlis mret Ethernetkeret adshoz szksges (ez 10 xMb/s sebessg Ethernet esetn megkzeltleg 1,2 ms). Az Ethernet hatkonysgt megad kplet levezetse tlmutat e knyv keretein (lsd [Lm 1980] s [Bertsekas 1991]), ezrt itt csak a vgeredmnyt kzljk: Hatkonysg =--------------------I ^^tcrjcdcsi ^ Elviteli A kpletbl lthatjuk, hogy amennyiben / tfrjc>is ; 0-hoz tart, a hatkonysg az 1-et kzelti. Ez a megfigyels sszhangban van azzal a megrzsnkkel, hogy amennyiben 0 a terjedsi ksleltets, az tkz csompontok azonnal felfggesztik adsukat, s a csatorna nem marad kihasznlatlanul. Azt is megfigyelhetjk, hogy t/ , V ucit rtknek nagyra nvekedsvel is 1-hez kzelt a hatkonysg. Ezt szintn rezhetjk, hiszen mikor egy keret megszerzi a csatornt, azt hossz ideig meg is tarthatja - a csatorna teht hasznos munkt vgez az id nagy rszben.

5.5.3. Ethernet-vltozatok
Az Ethernettel val eddigi ismerkedsnk sorn gy beszltnk rla, mint egyetlen proto- kollszabvnyrl. A valsg ezzel szemben az, hogy a Ethernet tbb vltozatban is elrhet, mghozz olyan megtveszt nevekkel, mint a 10BASE-T, a 10BASE-2, a 100BASE-T, a 1000BASE-LX s a 10GBASE-T. Az IEEE 802.3 CSMA/CD (Ethernet) munkacsoportja [IEEE 802.3 2007] ezeket s szmos ms Ethernet-vltozatot szabvnyostott. Habr a fenti betszavak megtvesztnek tnhetnek, valjban rtelmes informcikat hordoznak. Els felk a szabvnyos adattviteli sebessgre utal - a 10, 100 1000 s 10G rendre a (m sodpercenknti) 10 Megabites, 100 Megabites, a Gigabites s a 10 Gigabites Ethernetnek felelnek meg. A BASE sz az alapsvi (baseband) Ethernetet jelenti, teht azt, hogy az tviteli kzeg kizrlag Ethernet-forgalmat tovbbt - szinte valamennyi 802.3-as szabvnyt az alapsvi Ethernetre dolgoztk ki. A sz vge magra az tviteli kzegre utal. Az Ethcrnet-szabvnyok tartalmaznak

194

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

adatkapcsolati szint s fizikai szint elrsokat is, utbbiak kztt azon lehetsges tviteli kzegeket, amelyeken az Ethernet-forgalmat to vbbthatjuk. Ide tartozik tbbek kztt a koaxilis kbel, a rzvezetk s a fnyvezet szl. A T rvidts ltalban a rzbl kszlt sodrott rprt jelli. Az Ethernetet trtnelmnek kezdetn a koaxilis kbel szegmenseknt kpzeltk cl, ahogy ezt az 5.19. bra is mutatja. A korai 10BASE-2 s 10BASE-5 szabvnyok 10 Mb/s sebessg Ethernetet definilnak ktfle koaxilis kbelre, amelyek maximlis hosszt 500 mterben szabtk meg. Nagyobb tvolsgokat ismtlk segtsgvel lehetett thidalni. Az ismtl olyan fizikai rtegbeli eszkz, amely a bemenetre kapott jelet a kimenetn jragenerlja. Az 5.19. brn felvzolt Ethernet-hlzat koaxilis kbele megfelel az adatszr kzegekrl alkotott elkpzelsnknek, ugyanis egy adott interfsz ltal tovbbtott kereteket az sszes tbbi interfsz megkapja, a CSMA/CD protokoll segtsgvel pedig szpen megolddik a tbbszrs hozzfrs problmja is. A csompontok egyszeren csak rkapcsoldnak a kbelre, s me, ksz is a helyi hlzat! Az vek sorn az Ethernet tbb, fejldse szempontjbl lnyeges vltozson ment keresztl, aminek kvetkeztben a mai Ethernet sokban klnbzik az eredeti, sntopolgit s koaxilis kbelt hasznl konstrukciktl. Manapsg a legtbb esetben a csompontok sodrott rprokon vagy fnyvezet szlon keresztli ktpontos adatkapcsolatokkal egy kapcsolhoz csatlakoznak, ahogy azt az 5.23. bra is mutatja. Az 1990-es vek kzepn megszletett a 100 Mb/s adatsebessg Ethernetszabvny, amely 10-szer gyorsabb volt a 10 Mb/s sebessg szabvnynl. Az eredeti keretszerkezei s tbbszrs hozzfrsi protokoll megmaradt, de nagyobb adattviteli sebessg fizikai rtegeket definiltak a rzvezetkekre (100BASE-T) s a fnyvezet szlra is (100BASE-FX, 100BASE-SX, 100BASE-BX). Az 5.24. bra ezeket a klnbz szabvnyokat s a kzs MAC protokollt s keretszerkezetet szemllteti. A 100 Mb/s adatsebesseg Ethernetnl egy sodrott rprral legfeljebb 100 mteres, fnyvezet szllal tbb kilomteres tvolsgot hi dalhatunk t, gy Ethernet-kapcsolk segtsgvel akr tbb pletet is sszekthetnk. A gigabites Ethernet a nagy sikernek rvend 10 Mb/s s 100 Mb/s sebessg Ether- net-szabvnyok kiterjesztse. Az 1000 Mb/s tviteli sebessg gigabites Ethernet az risi szm, mr hasznlatban lv Ethernet-eszkzkkel teljes mrtkben kompatibilis. A gigabites Ethernet szabvnya, ms nven az IEEE 802.3z a kvetkezkre kpes: Az Ethernet szabvnyos keretszerkezett hasznlja (5.21. bra), s visszafel kompatibilis a 10BASE-T s 100BASE-T verzikkal. Ez megknnyti a gigabites Ethernetre val ttrst a mr hasznlatban lv eszkzk megtartsa mellett is.

5.5. Az

ETHERNET

195

196

5. AZ ADATKAPCSOLATI RTliG IS A HELYI HLZATOK

Lehetv teszi a ktpontos adatkapcsolatok, csakgy, mint azadatszr csatornk alkalmazst. A ktpontos adatkapcsolatok kapcsolkat, mg az adatszr csatornk elosztkat hasznlnak, ahogy azt korbban mr megtrgyaltuk. A gigabites Ethernet szakzsargonjban a elosztkat puffereit elosztknak nevezik. A CSMA/CD protokollt hasznlja kzs hasznlat adatszr csatornk esetn. A megfelel szint hatkonysg elrse rdekben a csompontok kztti maximlis tvolsgot szigoran korltozni kell. Ktpontos csatornkon duplex mkdst biztost 1000 Mb/s adattviteli sebessg mellett. A kezdetben fnyvezet szlon mkd gigabites Ethernet ma mr 5-s kategrij UTP kbelezs felett is hasznlhat. 2006 nyarn szabvnyostottk a 10 gigabites Ethernett (10GBASE-T), amely a kzeljvben remlhetleg mg kedvezbb tulajdonsgokkal ruhzza fel az Ethernetes helyi hlzatokat. Ethernettel val ismerkedsnket zrjuk egy olyan krds megvlaszolsval, amely eddig esetleg nyugtalantotta az olvast. A sn- s a elosztalap csillagtopolgia korban az Ethernet nem volt ms, mint egy adatszr csatorna (lsd 5.3. alfejezet), amelyen tbb csompont egyszerre trtn adsa esetn tkzsek trtntek. Az tkzsek kezelsre bevettk a szabvnyba a CSMA/CD protokollt, amely klnskppen a kis terleten elhe lyezked vezetkes Ethcrnethlzatoknl hatkony. Ha azonban manapsg mr a kapcso l kzppont trol-stovbbt elven mkd csillagtopolgia az elterjedt, vajon szksg van-e egyltaln tbbszrs hozzfrs protokollra? Ahogy az 5.6. alfejezetben ltni fogjuk, a kapcsol koordinlja keretek adst, s ugyanazon interfszen sosem kld el egynl tbb keretet. Ezenkvl a modernebb kapcsolk duplex mkdsre is kpesek, gy a kapcsol s a csompont egyszerre is kldhetnek egymsnak kereteket, minden problma nlkl. Ms szavakkal lve kapcsolalap Ethernethlzatokban nincsenek kerettkzsek, s gy nincs szksg tbbszrs hozzfrsi protokollokra! Ahogy lthattuk, a mai Ethernet-hlzatok nagyon sokban eltrnek a Metcalfe s Boggs ltal tbb mint 30 ve meglmodott Ethernettl - a sebessgek hrom nagysgrenddel nvekedtek, a kereteket tviteli kzegek egsz sorozatn vihetjk t, a kapcsolalap Et- hernet-hlzalok lettek a legelterjedtebbek, s mg a tbbszrs hozzfrsi protokollok is szksgtelenn vltak! Mindezt sszevetve tovbbra is beszlhetnk valdi Ethernetrl? A vlasz - termszetesen - a definci szerint igen. rdekes azonban megjegyeznnk, hogy mindezen vltozsok ellenre a szabvnynak van egy eleme, amely vgig kitartott eredeti formja mellett - ez az Ethernet keretszerkezete. Taln ez lenne az Ethernet-szab- vny egyetlen valban fontos eleme?
Alkalmazsi Szlltsi Hlzati Adatkapcsolati Fizikai

5.21. bra. Az Ethernet-keret szerkezete

5.5. Az

ETHERNET
MAC protokoll s keretszerkezet
100BASE-TX 100BASE-T4 100BASE-T2 100BASE-SX 100BASE-FX 100BASE-BX

197

5.24. bra. 100 Mb/s adatsebessg Ethernet-szabvnyok: kzs adatkapcsolati

rteg, klnbz fizikai rtegek

198

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

5.6. Az adatkapcsolati szint kapcsolk


Ahogy az 5.25. brn megfigyelhetjk, a modern Ethernet-hlzatok csillagtopolgit hasznlnak, amelynek kzppontjban egy kapcsol ll. Mostanig csak halvny elkpzelseink lehettek arrl, hogyan mkdik egy ilyen kapcsol, s mi a feladata. A kapcsol feladata nem ms, mint fogadni az adatkapcsolaton rkez kereteket s tovbbtani kifel men adatkapcsolatokon. Ezt a kerettovbbtsi funkcit fogjuk hamarosan trgyalni. Egy kapcsol a hlzati csompontok szmra tltsz, azaz egy csompont egy msik csompontnak cmzi kerett (nem a kapcsolnak), amelyet azutn kikld a helyi hlzatra anlkl, hogy tudn, hogy valjban a kapcsol fogja megkapni s tovbbtani a keretet a tbbi csompont fel. A kereteknek a kapcsol valamelyik kimeneti interfszhez val rkezsnek gyakorisga tmenetileg meghaladhatja ezen interfsz adatkapcsolati kapacitst, ezrt a kapcsol valamennyi kimeneti interfszhez csatlakozik egy-egy puffn amelyek mkdse hasonl az tvlasztk adatcsomagokat trol kimeneti puffereihez. Nzzk most meg kzelebbrl is a kapcsolk mkdst.

5.6.1. Tovbbts s szrs


A kapcsol szrs (filtering) funkcija segtsgvel dnti el, hogy egy adott keretet valamely interfszn tovbbtson vagy egyszeren eldobjon. A tovbbts (forwarding) az az eljrs, amely sorn a kapcsol eldnti, hogy egy-egy keretet melyik interfszre szksges irnytani, majd a megfelel interfszre helyezi a keretet. Mindkt funkcit az n. kapcsoltblval (switch table) valstja meg, amely a hlzaton elhelyezked csompontokrl tartalmaz bejegyzseket (nem felttlenl az sszesrl). A tbla egy bejegyzse tartalmazza (1) egy csompont MAC-cmt, (2) hogy melyik interfsz vezet a csomponthoz s (3) a
WebA kls internethlzathoz
szerver 1 Gb/s

Levelez
1 Gb/s

szerver
100 Mb/s (fnyvezet szl) 100 Mb/s (fnyvezet szl) 10 Mb/s. 100 Mb/s, 1 Gb/s sebessg, Cat 5 UTP-kbe! , 100 Mb/s (fnyvezet szl)

Villamosmrnki tanszk

Szmtstudomnyi tanszk

Szmtgp-mrnki tanszk

5.5. Az

ETHERNET

199

bejegyzs ltrehozsnak idpontjt. Az 5.25. brn fent elhelyezked kapcsolnak egy lehetsges kapcsoltbljt mutatja az 5.2. tblzat. Habr a kerettovbbts mkdse mg hasonlnak tnhet a 4. fejezetben megtrgyalt csomagtovbbtshoz, hamarosan ltni fogjuk a kett kztti jelents klnbsgeket. Egy fontos eltrs, hogy a kapcsolk IP-c- mek helyett MAC-cmek alapjn vgzik a kerettovbbtst. Azt is ltni fogjuk, hogy a kap csoltblkat az tvlasztk tvlaszt tblzataitl teljesen eltr mdon kell felpteni. 5.2. tblzat. Az 5.25. brn fent elhelyezked kapcsolhoz tartoz

kapcsoltbla rszlete
Cm 62-FE-F7-11-89-A3 7C-BA-B2-B4-91-10
...

Interfsz 1 3
...

Idpont 9:32 9:36


...

Hogy megrtsk a szrsi s tovbbtsi funkci mkdst, vegyk azt a pldt, amikor a DD-DD-DD-DD-DD-DD clcm keret megrkezik a kapcsol x interfszre. A kapcsol ezek utn megkeresi a tblzatban azt a sort, amely a DD-DD-DD-DD-DD-DD MAC-cmet tartalmazza. Ezutn hrom lehetsg jhet szba: A tblzat nem tartalmaz a DD-DD-DD-DD-DD-DD cmre illeszked sort. Ekkor a kapcsol elhelyezi a keret msolatait azx-en kvli valamennyi interfsznek kimeneti pufferben. Ms szavakkal lve a kapcsol adatszrssal krzvnyknt tovbbtja a keretet. A tblzat egyik bejegyzse a DD-DD-DD-DD-DD-DD cmet az x interfsszel prostja. Ebben az esetben a keret a helyi hlzat DD-DD-DD-DD-DD-DD csatolt tartalmaz rszrl rkezett. Nem szksges teht a keret tovbbtsa a tbbi interfszre, a kapcsol teht a keret eldobsval szrst hajt vgre. A tblzat egy bejegyzse a DD-DD-DD-DD-DD-DD cmet az y*x interfsszel prostja. Ekkor a keretet az y interfszre csatlakoz LAK szegmensre kell tovbbtani. A kapcsol ezt a keret )' interfszhez csatlakoz pufferben val elhelyezsvel valstja meg. Nzzk vgig ezeket a pldkat az 5.25. brn fell lthat kapcsolnak s 5.2. tblzatban lthat kapcsoltbljnak esetre. Tegyk fel, hogy egy 62-FE-F7-1189-A3 clcm keret rkezik a kapcsol 1-es interfszre. A kapcsol a tblbl kiolvassa, hogy a cmzett az 1-es interfszen elrhet hlzatban (azaz a Villamosmrnki tanszk hlzatban) tallhat. Ez teht azt jelenti, hogy a keret mr adatszrsra kerlt a helyi hlzat azon rszn, amely a cmzettet is tartalmazza, a kapcsol gy kiszri (azaz figyelmen kvl hagyja) a keretet. Most nzzk meg, mi trtnik, ha a 2-es interfszrl rkezik egy keret ugyanezzel a clcmmel. A kapcsol ismt megvizsglja tbljt, s ltja, hogy a cl az 1- es interfsz irnyban van - gy az 1-es interfsz pufferben helyezi el a keretet. A plda alapjn vilgos, hogy amg a kapcsoltbla teljes s pontos, a kapcsol adatszrs nlkl tovbbit minden keretet. Ebben az rtelemben a kapcsol okosabb, mint egy eloszt. De vajon hogyan kerlnek a bejegyzsek a kapcsoltblba? Lteznek adatkapcsolati megfeleli a

200

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

hlzati szint tvlaszt protokolloknak? Vagy netn rendszergazdnak kell kzzel kitltenie az egsz tblzatot?

egy

tlterhelt

201

5.6.2. nll tanuls

5. AZ ADATKAPCSOLATI RTliG IS A HELYI HLZATOK

A kapcsolknak megvan az a (mr amgy is tlterhelt rendszergazda szmra mindenkppen) fantasztikus tulajdonsga, hogy tblik automatikusan, dinamikusan s nllan plnek - anlkl, hogy a rendszergazda vagy valamely konfigurcis protokoll brmilyen szinten beavatkozna. Mshogy fogalmazva, a kapcsolk nllan tanulnak. Ez a kpessg a kvetkezkppen mkdik: 1. A kapcsoltbla eredenden res. 2. A kapcsol a tblban valamennyi berkez keretre eltrolja (1) a keret forrscm mezjben tallhat MAC-cmet, (2) azon interfsz szmt, amelyen a keret berkezett s (3) a berkezs idpontjt. gy teht a kapcsol rgzti a tbljba, hogy a kld csompont melyik hlzati szegmensen tallhat. Ha minden, a hlzaton tallhat csompont kld keretet, akkor valamennyi csompontra lesz bejegyzs a tblban. 3. A kapcsol trli a tblbl azokat a bejegyzseket, amelyekben trolt cmrl, mint forrscmrl nem rkezett keret egy bizonyos ideig (ez az elregedsi id [aging time]). Ennek ksznheten ha egy szmtgpet egy msik szmtgppel cserljk le a hlzatban, a lecserlt gp MAC-cme el fog tnni a tblzatbl. Vizsgljuk most meg az nll tanuls mkdst az 5.25. bra fent emltett kapcsolja s annak az 5.2. tblzatban lthat kapcsoltblja pldjn. Tegyk fel, hogy 9:39 idpontban egy forrscmknt a 01-12-23-34-45-56 MAC-cmet tartalmaz keret rkezik a 2- es interfsz irnybl. Tegyk fel tovbb, hogy ez a cm mg nem szerepel a kapcsol- tblban. A kapcsol ekkor teht j bejegyzssel bvti a tblt, ahogy azt az 5.3. tblzatban is lthatjuk. Pldnkat folytatva tegyk fel, hogy a kapcsolra belltott elregedsi id 60 perc, s hogy nem rkezik a 62-FE-F7-11-89-A3 forrscmet tartalmaz keret 9:32 s 10:32 kztt, gy 10:32 idpontban a kapcsol trli ezt a cmet a tblbl. A kapcsolk plug-and-play eszkzk, mivel a rendszergazda vagy felhasznl beavatkozsa nlkl is kpesek mkdni. A rendszergazdnak a kapcsol teleptsekor nincs 5.3. tblzat. A kapcsol megtanulja, hogy hol tallhat a 01-12-23-34-45-56 cm

csatol

Cm 01-12 23-34-45-56 7C-BA-B2-B4-91-10 62-FE-F7-11-89-A3

Interfsz 2 3 1

Idpont 9:39 9:36 9:32

...

...

ms dolga, minthogy csatlakoztassa a helyi hlzat szegmenseit a kapcsolhoz. Nem kell a kapcsoltbla konfigurlsval bajldnia sem a kapcsol teleptsekor, sem akkor, amikor egy hosztot eltvoltanak a hlzatrl. A kapcsolk mindezek mellett duplex mkdsre kpesek, azaz a kapcsol s a csompont egyszerre

5.21. bra. Az Ethernet-keret szerkezete

202

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

5.6.3. A kapcsolk tulajdonsgai

forgalmazhat az ket sszekt adat- kapcsolaton tkzs nlkl.

Miutn megtrgyaltuk az adatkapcsolati szint kapcsolk mkdsnek alapjait, most vizsgljuk meg kpessgeiket s tulajdonsgaikat. Az 5.23. brn lthat hlzatot tekintve a kapcsolk szmos elnys tulajdonsgt fedezhetjk fel a sntopolgij vagy elosztalap csillagtopolgij adatszr hlzatokkal szemben: tkzsek megszntetse. Egy kapcsolkkal (elosztk nlkl) felptett helyi hlzatban ismeretlen az tkzsek kvetkeztben elpazarolt svszlessg fogalma! A kapcsolk pufferelik a kereteket, s egynl tbb keretet sosem tovbbtanak egy idben ugyanarra a hlzati szegmensre. Aztvlasztkhozhasonlanegy kapcsol maximlissszestett teresztkpessge teht a kapcsol interfszei maximlis adattviteli sebessgeinek sszege. gy teht kapcsolk hasznlatval jelents teljestmnynvekedst rhetnk cl az adatszr helyi hlzatokhoz kpest. Heterogn adatkapcsolatok. Mivel a kapcsolk adatkapcsolatokat vlasztanak el egymstl, a klnbz adatkapcsolatok klnbz sebessgeken s klnbz tviteli kzegeken mkdhetnek. Az 5.23. brn pldul lehetsges, hogy az A csompont 10 Mb/s sebessg lOBASE-T-vel, rzvezetkkel, a B csompont 100 Mb/s sebessg lOOBASE-FX-szel, fnyvezetszlas vezetkkel, mg C csompont 1 Gb/s sebessg lOOOBASE-T-vel, rzvezetkkel csatlakozik a kapcsolhoz. Kapcsolk segtsgvel ezrt knnyedn sszekthetnk rgebbi eszkzket jabbakkal. Hlzatfelgyelet. Amellett, hogy jobb biztonsgi szolgltatsokat nyjt (lsd a Fkuszban a biztonsgcm rst), egy kapcsol megknnyti a hlzat karbantartst. Pldul ha egy csatol meghibsodik, s folyamatosan kldi Ethernet-kereteit (ezt hvjk fecseg csatolnak), a kapcsol kpes szlel ni a problmt s lekapcsoldnia csatolrl. A kapcsol ezen kpessge mellett a rendszergazdnak nem kell kikelnie az gybl, s visszamenni a munkahelyre, hogy kijavtsa a hibt. Ezen kvl egy kbel esetleges elvgsa is csak azt a csompontot vlasztja le a hlzatrl, amely az elvgott kbellel csatlakozott a kapcsolhoz. A koaxilis kbel korban a rendszergazdk olykor rkat tltttek azzal, hogy vgigjrjk a vezetket (vagy pontosabban vgignyaljk a padlt), hogy megtalljk azt az egyetlen kbelhibt, amely az egsz hlzatot trdre knyszertette. Ahogy a 9. fejezetben (Hlzatfelgyelet) ltni fogjuk, a kapcsolk ezeken kvl statisztikt ksztenek a svszlessg kihasznltsgrl, az tkzsek gyakorisgrl valamint a klnbz forgalomtpusokrl, amelyet utna a rendszer gazda szmra is elrhetv tesznek. Ezek az informcik hasznosak hibakeresskor s hibajavtskor, valamint a hlzat tovbbfejlesztsnek tervezsekor.
Fkuszban a biztonsg

Kapcsolt LAN lehallgatsa: kapcsolmrgezs


Mikor egy csompont egy kapcsolhoz csatlakozik, jellemzen csak olyan kereteket kap, amelyeket neki cmeztek. Pldul nzzk meg az 5.23. bra helyi hlzatt. Amikor A cso mpont B csompontnak kld egy keretet, s van B csompontra vonatkoz bejegyzs a kapcsoltblban, a kapcsol

kizrlag B-nek tovbbtja a keretet. Amennyiben C cso mpont

5.5. Az
egy

ETHERNET
snittrt (a hlzati forgalomba val belehallgatsra, annak naplzsra

203
k pes,

rosszindulat tmadk ltal szles krben hasznlt programot) futtat, nem fogja tudni megfigyelni az A-bl B-be tart keretet. gy egy kapcsolalap helyi hlzatban (a 802.11-es LAN-okhoz, illetve a elosztalap Ethernetes LAN-okho/. hasonl adatszr hlzatokkal ellenttben) sokkal nehezebb a dolga a tmadnak, aki kereteket szeretne lehallgatni. Igen m, de mivel a kapcsol adatszrssal kldi szt azokat a kereteket, amelyek cmzettje nincs benne a kapcsoltblban, a C-n fut sniffer mg mindig meg tud figyelni nhny olyan ke retet, amelyet nem kifejezetten C-nek szntak. Ezenkvl a tmad megfigyelheti az sszes olyan keretet is, amelyeket a krzvny MAC-cmre kldtek, azaz az FF-FF-FF-FF-FF-FF cmre. Egy kapcsol ellen vgrehajthat jl ismert tmads a kapcsolmrgezs (switch poisoning), amely sorn a kapcsolt klnbz, forrscmknt hamis MAC-cmeket tartal maz kerettel rasztjk cl, s gy a kapcsoltbla hamis bejegyzsekkel lesz tele, s nem marad hely a valdi csompontok cmeinek. Ezltal a kapcsol arra knyszerl, hogy a legtbb keretet adatszrssal tovbbtsa, amelyeket utna a tmad megfigyelhet fSkoudis 2006J. Mivel ez a tmads mg a tapasztalt tmadk szmra is bonyolult, a kapcsolk sokkal kevsb tmadhatk snifFerek segtsgvel, mint a elosztk vagy a vezetk nlkli helyi hlzatok.

5.6.4. Kapcsolk s lvlasztk sszehasonltsa


Ahogy a 4. fejezetben mr lttuk, az tvlasztk trol-s-tovbbt elven mkd csomag- kapcsolk, amelyek hlzati cmek alapjn tovbbtjk a csomagokat. Habr a kapcsolk is trol-s-tovbbt elv keretkapcsolk, gykeresen klnbznek az tvlasztktl, mivel MAC-cmek alapjn tovbbtjk a csomagokat. Amg teht egy tvlaszt egy harmadik rtegbeli csomagkapcsol, addig a kapcsol egy msodik rtegbeli keret kapcsol. Jllehet a kapcsolk s tvlasztk sokban klnbznek egymstl, a rendszergazdknak sokszor kettejk kzl kell vlasztaniuk, amikor tbb hlzatot sszekapcsol eszkzt szeretnnek telepteni. Pldnak okrt az 5.25. brn lthat hlzat rendszergazdja ugyanolyan knnyen hasznlhatott volna a kapcsol helyett egy tvlasztt a klnbz tanszkek, szerverek s az internetes tjrst biztost tvlaszt sszekapcsolsra. Valjban egy tvlaszt is kpes lenne a tanszkek kztti tkzsmentes kommunikci megvalstsra. Adottak teht hlzatok sszekapcsolsra alkalmas jelltjeink, a kap csolk s az tvlasztk. Vajon mik a kt megolds elnyei s htrnyai? Elszr vizsgljuk meg a kapcsolk elnyeit s htrnyait. Ahogy fent emltettk, a kapcsolk plug-and-play eszkzk, amirt a vilg sszes tlterhelt rendszergazdja rajonghat. Ezen fell a kapcsolk relatvcn nagy szrsi s tovbbtsi sebessgekkel rendelkeznek - ahogy az 5.26. brn megfigyelhetjk, a kapcsolknak csak a msodik rtegig felmenen kell feldolgozniuk a csomagokat, mg az tvlasztknak a harmadik rtegig. Msrszt vi szont a krzvnykeretek keringsnek elkerlse rdekben a hlzati topolgia aktv adatkapcsolatokbl ll rsze a hlzat egy fesztfjra korltozdik. Egy nagy, kapcso lkkal felptett hlzatban nagyobb ARP-tblkra lenne szksg a csompontokban, s nagyobb ARP-forgalom jelenne meg a hlzatban. Ezenkvl a kapcsolk nem nyjtanak vdelmet az adatszrsi viharok ellen, amelyek akkor kvetkeznek be, ha egy hoszt meghibsodik, s krzvnykeretek vgtelen sorozatt kldi ki a hlzatra, amelyeket a kapcsolk termszetesen tovbbtanak, s amelyek gy az egsz hlzat sszeomlst okozzk. Vizsgljuk az tvlasztk elnyeit s htrnyait. Mivel a hlzati cmzs

204

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

hierarchikus (s nem egyszint, mint a M AC-cmzs), a csomagok nem kezdenek keringeni mg akkor sem, ha a hlzat alternatv tvonalakat tartalmaz. (Habr igaz, hogy rosszul belltott tvlasztsi tblk esetn elfordulhat ilyen kerings, de ahogy a 4. fejezetben megbeszltk, az IP a keringseket egy csomagfejlcben tallhat mez segtsgvel korltozza). Ebbl kvetkezik, hogy a csomagok nem csak egy fesztfa mentn haladhatnak, hanem nyugodtan hasznlhatjk a forrs s cl kztti legjobb utat. Az, hogy egy tvlasztkbl

5.5. Az

ETHERNET Hoszt

Hoszt

205

Kapcsol Alkalmazsi Szlltsi Hlzati Adatkapcsolati Fizikai Adatkapcsolati * Fizikai

tvlaszt Alkalmazsi Szlltsi

"^TTz atT
Adatkapcsolati Fizikai Fizikai

Hlzati Adatkapcsolati

5.26. bra. Csomagfeldolgozs a kapcsolkban, tvlasztkban s hosztokban ptett hlzat topolgijt mr nem kell egy fesztfra korltozni, megteremtette annak lehetsgt, hogy az internet olyan sr topolgival pljn meg, amely pldul tbb Eurpt s szak-Amerikt sszekt adatkapcsolatot is tartalmaz. Az tvlasztk msik elnys tulajdonsga, hogy tzfallal kpesek vdekezni az adatkapcsolati rteg esetleges adatszrsi viharai ellen. Taln a legnagyobb htrnyuk viszont, hogy nem plug-and-play eszkzk, be kell ugyanis lltani az s a hozzjuk kapcsold hosztok IP-cmeit. Tovbbi htrny, hogy a csomagonknti feldolgozsi idejk ltalban nagyobb, mint a kap csolk, mivel a harmadik rtegig felmenen kell feldolgozniuk a csomagokat. Vgl pe dig, angol nyelven ktflekppen is ejthetjk a router szt, mghozz rtor-nak vagy rauter-nek, s egyesek rengeteg idt kpesek elpazarolni a helyes kiejtsrl vitatkozva [Perlman 1999]. Most, hogy mr ismerjk a kapcsolk s az tvlasztk elnyeit s htrnyait, elgondolkozhatunk azon, hogy egy intzmny (pldul egy egyetem vagy egy cg) hlzatban mikor rdemes kapcsolkat, s mikor tvlasztkat hasznlni. ltalnossgban elmondhat, hogy az olyan kisebb, pr szz hosztbl ll hlzatoknl, amelyek nhny LAN-szegmensbl llnak, a kapcsolk teljesen megfelelek, mivel lokalizljk a forgalmat, s sszessgben nvelik a hlzat teresztkpessgt anlkl, hogy IP-cmeket kellene konfigurlnunk. Nagyobb, tbb ezer hosztbl ll hlzatok esetn azonban jellemzen tvlasztkat hasznlnak (a kapcsolk mellett). Az tvlasztknak robusztusabb md szereik vannak a forgalom elszigetelsre, kezelik az adatszrsi viharokat, s intelligen sebb tvonalakon tovbbtjk a csomagokat a hosztok kztt.

206 5. AZ RTEG S A HELYI HLZATOK Ebben a fejezetben megtanultuk, hogy a ADATKAPCSOLATI elosztk, a kapcsolk s az tvlasztk

egyarnt hasznlhatk hosztok, illetve hlzati szegmensek sszekapcsolsra. Az 5.4. tblzat e hrom mdszer kpessgeit s tulajdonsgait foglalja ssze. 5.4. tblzat. Hlzatok sszektsre hasznlhat eszkzk sszehasonltsa

5.23. bra. Hat csompontot sszekt adatkopcsoloti szint kapcsol

5.6. A/.

ADATKAPCSOLATI SZINT KAPCSOLK


Elosztk tvlasztk Igen Nem Igen Nem Kapcsolk Igen Igen Nem Igen

207

A forgalom elszigetelse Plug and play Optimlis tvlaszts tltszsg

Nem Igen Nem Igen

5.7. PPP: a ktpontos protokoll

Az adatkapcsolati protokollokkal val eddigi ismerkedsnk sorn az adatszr csatornkon alkalmazott protokollokra szortkoztunk. Ebben az a 1 fejezetben megismerkednk egy ktpontos sszekttetsekre kifejlesztett adatkapcsolati protokollal - a PPP ktpontos protokollal (point-to-point protocol). Mivel a betrcszs otthoni internetkapcsolatoknl ltalban PPP-t hasznlnak, napjainkban ktsgkvl ez az egyik legszlesebb krben el terjedt adatkapcsolati protokoll. A msik fontos, napjainkban hasznlt adatkapcsolati pro tokoll a HDI.C (high-level data link control - magas szint adatkapcsolat-vezrls) - errl bvebben [Spragins 1991] r. A HDLC-nl egyszerbb PPP-vel val ismerkedsnk sorn a ktpontos adatkapcsolati protokollok szmos fontos jellemzjt fogjuk megismerni. Ahogy a neve is mutatja, a ktpontos protokoll (PPP) [RFC 1661; RFC" 2153] egy olyan adatkapcsolati protokoll, amely egy ktpontos adatkapcsolat (point-to-point link) felett mkdik - teht olyan adatkapcsolat felett, amely kt vghez egy-egy csompont csatlakozik. Ez a ktpontos adatkapcsolat lehet egy soros betrcszs telefonvonal (pldul egy 56 kb/s sebessg modemmel ltestett kapcsolat), egy SONET/SDH sszekttets, egy X.25 sszekttets, vagy akr egy ISDN-vonal. Ahogy mr fent is emltettk, az otthoni betrcszs internetkapcsolatokhoz hasznlt protokollok kzl a PPP a legelterjedtebb. Mieltt a PPP rszleteibe merlnnk, tanulsgos lehet megvizsglni azokat a kvetelmnyeket, amelyeket az IETF tztt ki a PPP tervezsekor [RFC 1547):

Csomagkeretezs. A PPP-t hasznl kld flnek kpesnek kell lennie egy

hlzati csomagot PPP adatkapcsolati keretbe gyazni gy, hogy a vev azonostani tudja mind a PPP-keret, mind a benne szlltott hlzati csomag elejt s vgt. tltszsg. A PPP nem llthat semmifle megktst a szlltott csomag formtumval szemben. gy pldul nem tilthatja meg bizonyos bitmintk hasznlatt a hlzati csomagban. Ehhez a krdshez hamarosan visszatrnk a bjtbeszrsrl szl szakaszban. Tbbfle hlzati rtegbeli protokoll. A PPP-nek tmogatnia kell tbb, ugyanazon az adatkapcsolaton egyszerre fut hlzati protokoll (pldul IP s DECnet) hasznlatt. Mint ahogy az IP-nek is kpesnek kell lennie tbbfle szlltsi protokoll (pldul a TCP s az UDP) nyalbolsra ugyanazon a kt vgpont kztti sszekttetsen, gy kell a PPP-nek tmogatnia klnbz hlzati protokollok nyalbolst egyazon ktpontos adatkapcsolat felett. Ez a kvetelmny legalbb annyit jelent, hogy a PPP-ben definilni kell egy protokolltpus-mezt, vagy valamilyen hasonl eljrst arra, hogy a vev oldali PPP protokoll kpes legyen a megfelel hlzati protokollnak tovbbtani a keretben kapott hlzati adatcsomagot. Tbbfle udatkapcsolat-tpus. Amellett, hogy tbbfle hlzati protokoll

208

csomagjait kell tudnia szlltani, a PPP-nek kpesnek kell lennie tbbfle tvitelikzeg-tpus feletti mkdsre. Ide tartoznak a soros adatkapcsolatok (amelyeken egyszerre csak egy bitet tovbbthatunk egy irnyba), a prhuzamos adatkapcsolatok (amelyek egyszerre tbb bit tovbbtsra kpesek), de a szinkron (a bitekkel egytt rajelet is tovbbt), az aszinkron, a kissebessg, a nagysebessg, az elektromos s az optikai kzegek felett megvalstott adatkapcsolatok. Hibajelzs. A PPP-t hasznl fogad flnek kpesnek kell lennie bithibk szlelsre a vett keretben. Kapcsolatllapot figyelse. A PPP-nek fel kell ismernie az adatkapcsolati szint hibkat (pldul azt, hogy a kld oldalrl nem lehet adatot tovbbtani a vev oldal irnyba), s ezeket jeleznie kell a hlzati rteg fel. Hlzati cmegyeztets. A PPP-nek biztostania kell egy olyan mechanizmust a hlzati rteg (pldul IP) szmra, amellyel a felek megtudhatjk vagy bellthatjk egyms hlzati cmeit. Egyszersg. A PPP-vel szemben a fent felsoroltakon kvl mg szmos kvetelmnyt tmasztottak. Mindezek felett a legels s legfontosabb azonban az egyszersg. Ahogy az RFC 1547 rja, Egy ktpontos protokollnl a jelsz az egyszersg kell hogy legyen. Ez a PPP-vel szemben megfogalmazott tbbi kvetelmny ismeretben, mr elg magasra tette a lcet! Ma mr tbb; mint tven RFC definilja ezen egyszer protokoll klnbz rszleteit.

5. AZ

ADATKAPCSOLATI RTEG S A HELYI HLZATOK

Habr gy tnhet, hogy a PPP-nek rengeteg kvetelmnyt kellett kielgtenie, a helyzet valjban sokkal bonyolultabb is lehetett volna! A PPP tervezsi specifikcii azt is explicite felsoroljk, hogy a protokollnak milyen kvetelmnyeket nem kell teljestenie:

azokat.

Hibajavts. A PPP-nek fel kell ismernie a hibkat, de nem kell kijavtania

Forgalomszablyozs. A PPP-t futtat vev flnek a fizikai rteg maximlis

tviteli sebessgvel kell tudnia fogadni a kereteket. Amennyiben valamely fels rteg nem kpes ezen a sebessgen fogadni a csomagokat, akkor a fels rteg dolga, hogy csomagokat dobjon el, vagy cskkentse a kld fl adsi sebessgt. Azaz ahelyett, hogy a PPP-t futtat kld flnek kellene szablyoznia sajt adsi sebessgt, a felsbb rtegbeli protokollnak kell szablyoznia azt a sebessget, amellyel a csomagokat tovb btsra tadja a PPP-nek. Sorrendhelyessg. A PPP-nek nem feladata annak biztostsa, hogy a vev ugyanolyan sorrendben kapja meg a kereteket, mint amilyen sorrendben a kld elkldte azokat. rdekessgknt megjegyezzk, hogy mg ez a fajta rugalmassg hasonlt az IP szolgltatsi modelljre (amely megengedi a kt vgpont kztti csomagok tetszleges sorrendben trtn tovbbtst), addig ms, PPP felett mkd hlzati protokollok megkvetelik a kt vgpont kztti sorrendhelyes tvitelt. Tbbpontos adatkapcsolatok. A PPP-nek csak olyan adatkapcsolatok felett kell tudnia mkdni, amelyre egyetlen kld s egyetlen vev csatlakozik. Ms adatkapcsolati protokollok (pldul a HDLC) tbb, ugyanazon kzegre csatlakoz fogad csompontot (pldul egy Ethernethez hasonl elrendezst) is kpesek kezelni.

5.25. bra. Elosztk, kapcsolk s egy tvlaszt segtsgvel felptett egyetemi hlzat

5.6. A/.

ADATKAPCSOLATI SZINT KAPCSOLK

209

Most, hogy mr ismerjk, hogy mik a PPP tervezs eltt kitztt cljai (s mik nem), nzzk meg, hogyan vltotta valra a protokoll ezeket a clkitzseket.

5.7.1. PPP-kcretezs
Az 5.27. brn lthatjuk, hogy a PPP a HDLC-hez hasonl keretszerkezetet [RFC 1662] hasznl. A PPP-keret a kvetkez mezket tartalmazza: Jelzmez. Minden PPP-keret egy egybjtos, 01111110 bitsorozatot tartalmaz jelzmezvel indul s r vget. Cmmez. Ennek a meznek egyetlen lehetsges rtke 11111111.
1
1111,111 0 0 0 0 0 0 1 1

Vltoz 1

11 vagy 2
p,0t0 k 7

mret
mezo

2 vagy 4

01 111 no

"-

1 .. ,11 Jl ...___________________________________1

. , _ Ellenrz Adatmez ~ sszeg mezo

Jelzmez Cmmez Vezrlmez

Jelzmez

5.27. bra. A PPP keretszerkezete

Vezrlmez. A mez egyetlen lehetsges rtke 00000011. Mivel mind a

cm-, mind a vezrlmez rtke fix, felmerlhet hogy vajon mirt definiltk ezeket a mezket egyltaln. A PPP specifikcija, az [RFC 1662) szerint a tovbbi rtkek ksbb kerlhetnek definilsra, habr mind a mai napig egyetlen egyet sem definiltak. A kt mez fix rtkei miatt a PPP lehetv teszi a kld szmra, hogy egyszeren ne kldje el a cm- s vezrlmez rtkeit, ezzel megsprolva kt felesleges bjt tovbbtst. Protokollmez. A protokoll mezbl tudja meg a vev, hogy melyik az a felsbb szint protokoll, amelyhez a vett keretbe gyazott adat (azaz a PPPkeret informcis mezjnek tartalma) tartozik. Egy PPP-keret vtelekor a vev elszr hibaellenrzst hajt vgre a kereten, majd a bele gyazott csomagot tadja a megfelel protokollnak. A PPP-ben hasznlatos 16 bites protokollkdokat az RFC 1700 s az RFC 3232 defi nilja. Minket most csak az IP protokoll rdekel (teht az az eset, amikor a PPP-ke- retbe gyazott csomag egy IP-csomag), amely kdja hexadecimlisan 21 - ms hl zati protokollok s kdok: AppleTalk(29), DECnet (27). Adatmez. Ez a mez tartalmazza magt a keretbe gyazott csomagot (adatot), amelyet a felsbb rtegbeli protokoll (pldul az IP) kld t a PPPcsatornn. A mez maximlis mrete alaprtelmezs szerint 1500 bjt, br ezt megvltoztathatjuk a csatorna kezdeti belltsakor, amelyet lentebb trgyalunk. Ellenrz sszeg mez. Az ellenrz sszeget a tovbbtott keretben tallhat bithibk szlelsre hasznljuk. A mez 2 vagy 4 bjtosHDLC'-szabvny szerinti ciklikus redundanciakdot tartalmaz.

Bjtbeszrs
Mieltt befejeznnk a PPP-keretezs trgyalst, foglalkozzunk kicsit azzal a problmval, amely akkor merlhet fel, ha egy protokoll egy bizonyos bitmintt hasznl a keret elejnek s vgnek jelzsre. Mi trtnik ugyanis akkor, ha ez a

210

bitminta mshol is elfordul a csomagban? Mi trtnik pldul, ha a 01111110 jelzmezrtk az informcis mezben is felbukkan? A vev fl hibsan fogja rzkelni a PPP-keret vgt? A problma egy megoldsa az lehetne, ha a PPP megtiltan e bitminta hasznlatt a fels rtegbeli protokoll szmra. A PPP tltszsgi kvetelmnye miatt ez a lehetsg azonban szba sem jhet. Egy alternatv megolds, amelyet a PPP s mellette szmos ms protokoll is alkalmaz, a bjtbeszrs (byte stuffing) mdszere. A PPP-ben definiltak egy specilis bitmintt, a 01111101 sorozatot. Amennyiben a jelzmez bitsorozata, a 01111110 valahol mshol is elfordul a keretben, a PPP beszrja el (hozzadja) ezt a specilis bit mintt, hogy jelezze azt, hogy a rkvetkez 01111110 sorozat nem jelzbitsorozat, hanem valdi adat. Ha teht a vev egy olyan 01111110 sorozatot lt, amelyet a 01111101 szekvencia elz meg, eltvoltja a specilis bitsorozatot, s visszalltja a szlltott adat eredeti llapott. Amennyiben a specilis bitsorozatunk is valdi adatknt
b5 b4 b1 b2

5. AZ

ADATKAPCSOLATI RTEG S A HELYI HLZATOK

01111110
r

01111110 b4 b5 ppp

b2 b1

p p p m-m

b5 b4 0 1 1 1 1 1 1 0

0 1

1 1 1 0 1

b 2

b l

5.28. bra. Bjtbeszrs szerepel a keretben, akkor el is be kell szrni a specilis szekvencit, gy ha a vev egy magban ll 01111101 sorozatot rzkel, biztos lehet benne, hogy az bjtbeszrssal kerlt az adatfolyamba. Ha azonban kt 01111101 sorozat kveti egymst, az azt jelenti, hogy az eredeti adat is tartalmazta a specilis bitsorozatot. Az 5.28. brn nyomon kvethetjk a PPP bjtbeszrsnak mkdst. (A PPP valjban a specilis bitsorozattal megelztt bjtra ezen kvl egy XOR mveletet is vgrehajt a hexadecimlis 20 rtkkel, mint msik operandussal, de erre a rszletre az egyszersg kedvrt itt nem trnk ki.) Megjegyezzk, hogy a PPP egy adatkapcsolat-vezrl protokollt (link control protocol, LCP) is tartalmaz, amelynek feladata a PPP-adatkapcsolat inicializlsa, karbantartsa s lezrsa. Az LCP nhny rszlett a knyvhz tartoz internetes anyagok trgyaljk.

5.8. Az adatkapcsolat virtuliss ttele: a hlzat mint adatkapcsolati rteg


Mivel hamarosan az adatkapcsolati rtegrl szl fejezet vghez rnk, foglaljuk ssze, hogy az adatkapcsolat kifejezsrl alkotott kpnk hogyan formldott, fejldtt. A fejezet elejn az adatkapcsolatot egy kt hosztot fizikailag sszekt vezetknek tekintettk, ahogy az az 5.2. brn is szerepel. A tbbszrs

5.25. bra. Elosztk, kapcsolk s egy tvlaszt segtsgvel felptett egyetemi hlzat

5.6. A/.

ADATKAPCSOLATI SZINT KAPCSOLK

211

hozzfrsi protokollok trgyalsakor (5.9. bra) mr lttuk, hogy tbb hoszt is kapcsoldhat ugyanahhoz a kzs vezetkhez, s ez a hosztok kztti vezetk lehet egy rdisv vagy egy msfajta kzeg. Ezek utn az adat- kapcsolatokat egy mr kiss absztraktabb szinten, vezetkek helyeit csatornknak kpzel tk el. Az Ethernet-hlzatok trgyalsakor olyan tbb hosztot sszekapcsol kzeggel is tallkoztunk, amely mr egy bonyolultabb, kapcsolt infrastruktra volt. Ezen fejlds ellenre a hosztok nzpontjbl a kzeg egy egyszer adatkapcsolati csatorna maradt, amely kt vagy tbb hosztot kt ssze. Lttuk pldul, hogy az Ethernet-hosztoknak nem is kell tisztban lennik azzal, hogy a tbbi hoszttal egy rvid egyszegmenses LAN (5.9. bra), vagy egy nagyobb terletei tfog kapcsolt LAN (5.25. bra) kti-e ssze ket. Az 5.7. alfejezetben megtrgyaltuk, hogy a PPP protokollt elterjedten hasznljk kt hoszt kztti modemes sszekttetseknl. Itt teht a kt csompontot sszekt adat- kapcsolat a telefonhlzat - egy logikailag klnll, globlis tvkzlsi hlzat, amelynek megvannak a jelzshez s adattvitelhez szksges sajt kapcsoli, adatkapcsolatai

5.6. A/.

ADATKAPCSOLATI SZINT KAPCSOLK

215

s protokollvermei. Az internet adatkapcsolati rtege szemszgbl nzve ugyanakkor a telefonhlzaton keresztli betrcszs kapcsolat egy egyszer vezetk. Ebben az rtelemben az internet virtualizlja, ltszlagoss teszi a telefonhlzatot, azaz egy kt hoszt sszektsre alkalmas adatkapcsolati techniknak, megoldsnak tekinti. Visszaemlkezhetnk a 2. fejezetre, ahol lttuk, hogy az tlapol (overlay) hlzatok is tlapol (over- lay) csompontok sszektsre hasznlhat erforrsknt tekintenek az internetre, azaz ugyangy elfedik az internetet, ahogy az internet is elfedi a telefonhlzatot. Ebben az alfejezetben az aszinkron tviteli md (asynchronous transfer mode, ATM) valamint a tbbprotokollos cmkekapcsols (multiprotocol label switching, MPLS) alapjn mkd hlzatokkal fogunk megismerkedni. Az ramkrkapcsolt telefonhlzatokkal ellenttben mind az ATM, mind az MPLS csomagkapcsolssal mkdik, s sajt maga ltal definilt virtulis ramkrket hasznl. Mindkettnek megvan a sajt keretszerke- zete s sajt csomagtovbbtsi szablyrendszere. Az internet nzpontjbl azonban az ATM-et s az MPLS-t is IP-eszkzk sszektsre alkalmas adatkapcsolati techniknak, megoldsnak kell tekintennk, csakgy, mint a telefonhlzatot vagy a kapcsolt Ether- net-hlzalokat. gy a tovbbiakban mind az ATM-et, mind az MPLS-t az adatkapcsolati rteghez tartoznak fogjuk venni. IP-eszkzk sszektsre hasznlhatunk kerettovb bt (Frame-relay) hlzatokat is, habr ezek mr egy kiss rgi (de mg mindig fejld) technika kpviseli, s a fejezet sem foglalkozik velk - m [Goralski 1999] rthet s rszletes magyarzatot ad rluk. Az ATM-et s MPLS-t mi szksgkppen tmren fogjuk ismertetni, mivel egsz knyvek szlhatnnak (s szlnak) rluk. A [Black 1995, Black 1997] s a [Davie 2000) anyagokat ajnljuk rendre az ATM, illetve az MPLS rszletei irnt rdekldk figyelmbe. E fejezetben elssorban arra keressk a vlaszt, hogy ezen hl zatok hogyan biztostjk az IPeszkzk sszektst, igaz, nhny technikai rszletben mlyebben is elmerlnk.

5.8.1. ATM-hlzatok
Az ATM-hlzatok (asynchronous transfer mode - aszinkron tviteli md) szabv nyainak kidolgozsa az 1980-as vek kzepn kezddtt. A cl egy olyan megolds kifejlesztse volt, amely egymagban kpes vals idej audio- s videoinformci, e-mailek, de szveges s kpfjlok tvitelre is. Az ATM-szabvnyok fejlesztsben kt csoport, nevezetesen az ATM Frum (mai nevn az MFA Frum [MFA Frum 2007]) s a Nemzetkzi Tvkzlsi Egyesls (International Telecommunications Union) (ITU 2007] vett rszt. Munkjuk eredmnye egy teljes, vgpont-vgpont elv szabvny volt, amely az ATM alkalmazsi interfsztl kezdve mindent tartalmaz, egszen a klnbz optikai kbelek, rzvezetkek s rdis fizikai rtegek feletti bitszint keretezs specifikcijig. Az ATM a gyakorlatban fleg a telefonos s IP-hlzatokban terjedi el, ahol mint adatkapcsola ti technikt tbbek kztt IP-tvlasztk sszektsre hasznlhatjk, ahogy azt fent is megtrgyaltuk.

Az ATM f jellegzetessgei
Ahogy a 4.1. alfejezetben megbeszltk, az AI'M szmos klnbz szolglati modellt tmogat, mint pldul az lland bitsebessg (constant bit rate) szolgltatst, a vltoz bitsebessg szolgltatst, az elrhet bitsebessg

216

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

(available bit rate) szolgltatst s a

193

5. Az ADATKAPCS01 ATI RTEG S A HELYI HLZATOK

Vgrendsze r

Vgrendsz er

5.29. bra. Az ATM hrom rtege; ozAAL kizrlag azATM-hlzat szln tallhat

meg

meghatrozatlan bitsebessg (unspecified bit rate) szolgltatst. Az ATM architektrja csomagkapcsolt, virtulis ramkrket (virtual circiut - VC) definil. Emlkezznk visz- sza, hogy a 4.2.1. alfejezetben mr valamilyen szinten foglalkoztunk a virtulis ramkrkkel. Az ATM felptse hrom rtegbe rendezdik, ahogy azt az 5.29. bra mutatja. Az ATM adaptcis rtege (ATM adaptation layer, AAL), amely lnyegben megfeleltethet az internet szlltsi rtegnek, kizrlag azon eszkzknl van jelen, amelyek az ATM-hlzat szln helyezkednek el. A kld oldalon a felsbb rtegbeli alkalmazs vagy protokoll (mint pldul az IP, ha az ATM-et IP-eszkzk sszekapcsolsra hasznljuk) az A A 1.-nek adjk t az tviend adatot. A vev oldalon az AAL tovbbtja a vett adatot a fel sbb rtegbeli alkalmazsnak vagy protokollnak. AAL-rtegeket definiltak tbbek kztt lland bitsebessg szolgltatsokhoz s ramkr-emulcihoz (AALI), vltoz bitsebes sg szolgltatsokhoz, pldul vltoz bitsebessg videhoz (AAL2) s olyan adatszllit- si szolgltatsokhoz, mint pldul az IP-csomagok tovbbtsa (AAL5). Az adaptcis rteg szolgltatsai kztt megtallhat a hibajelzs s a csomagdarabols/csomagsszellts. Az AAL llal kezeli adategysget az igencsak ltalnos AAL protokoll adategysg (protocol data unit, PDU) elnevezssel illettk, ez egy UDP- vagy TCP-szegmensnek felel meg. Az 5.30. brn megfigyelhetjk az AAL5 rteghez lartoz PDU felptst. A PDU mezi viszonylag egyrtelmek. A kitltmezvel (idegen nevn PAD) rhet el az, hogy a PDU mrete 48 egsz szm tbbszrse legyen. Erre azrt van szksg, mert a PDU-kat 48 bjtos egysgekre kell darabolni, hogy pontosan illeszkedjenek az als, ATM-rteg- beli csomagok (ms nven ATM-cellk) adatmezibe. A hosszmez a PDU adatmezjnek hosszt adja meg, gy a vev ennek segtsgvel eltvolthatja a kitltmezt. A CRC-me- z az Ethernet esetben is hasznlt ciklikus redundancia-ellenrzs alap hibajelzshez szksges. A adatmez legfeljebb 65535 bjt hossz lehet. Lpjnk most egy rteggel lejjebb, s vizsgljuk meg az ATM architektrjnak szvben elhelyezked ATM-rteget. Az ATM-rteg hatrozza meg az ATM-cellk szerkezett s mezinek jelentst. Egy ATM-cella pp ugyanolyan fontos szerepet jtszik az ATM-h- lzatban, mint egy IP-csomag az IP-hlzatban. A cella els 5

194

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

bjtja alkotja az ATM-fej- lcel, a maradk 48 bjt pedig az ATM-adatmezt. Az 5.31. brn lthatjuk az ATM-cella fejlcnek felptst.
0-65535
Adatmez 0-47 Kitltmez Hosszmez CRC-mez

5.7. PPP:

A KTPONTOS PROTOKOLL
1 1 1 1 I 1 I I I I 1 1 I I 1 1 1 1 1 1 1 1 1 1 1 1 P T 1 1 1 1 1 1 1 1 1

195

40 bjt 1 1 1 1 1

C L P

V C I

H E C

5.31. bra. Az ATM-cella fejlcnek szerkezete Az ATM-cella mezi a kvetkezk: Virtuliscsatorna-azonost (virtual channel identifier, VCI). Annak a virtulis csatornnak az azonostja, amelyheza cella tartozik. Csakgy, mint a legtbb virtulis ramkrket alkalmaz technolgia esetben, az ATM-cellk VCImezje is adat- kapcsolatrl adatkapcsolatra cserldik (lsd a 4.2.1. fejezetet). Adatok tpusa (Payload type, PT). A cella szlltmnynak tpust azonostja. Tbbfle tpust definiltak klnfle adatok, karbantartsi informcik szlltsra, illetve ltezik egy res cellt jelz adattpus is. A PT-mezben tallhat tovbb egy olyan bit is, amely az AAL darabolt PDU-jnak utols darabjt szllt cellt jelzi. Cellavesztsi priorits (Cell-loss priority, CLP) jelzbit. A kld csompont llt hatja be, hogy klnbsget lehessen tenni a magas s az alacsony priorits forgalom kztt. Ha torlds esetn egy ATM-kapcsolnak el kell dobnia nhny cellt, ennek a bitnek a segtsgvel elszr eldobhatja az alacsony priorits cellkat. A fejlc hibavdelme (header error control, HEC) bjt. A cella fejlct vd hibajelz bitek. Mg mieltt a forrscsompont elkezdhetn a cellk adst a clcsompontnak, az ATM-hlzatnak egy virtulis csatornt (virtual channel, VC) kell felptenie a forrs s a cl kztt. Egy virtulis csatorna nem ms, mint egy virtulis ramkr, amelyet a 4.2.1. alfejezetben mr bemutattunk. Minden virtulis csatorna egy adatkapcsolatok sorozatbl ll tvonal a forrs- s a clcsompont kztt. A virtulis csatorna minden egyes adatkap- csolatjhoz egy virtuliscsatornaazonost (virtual channel identifier, VCI) rendeldik. Valahnyszor felpl vagy lebomlik egy csatorna, a virtulis csatorna lekpezsi tblzato kat frissteni kell (lsd 4.2.1. alfejezet). Ha lland virtulis csatornkat hasznlunk, nincs szksg dinamikus csatorna felptsre s -lebontsra. Ha dinamikus virtulis csatorna lt rehozsa s lebontsa szksges, a Q.2931 protokoll (Black 1997, ITU-T Q.2931 1994] tartalmazza az ATM-kapcsolk s a vgrendszerek kztti jelzszeneteket. Az ATM fizikai rtege az ATM protokollvermnek legaljn tallhat, s feszltsgszinteket, bitidket, valamint a fizikai szint keretezst kezeli. A fizikai rtegben sok mlik a adatkapcsolat fizikai jellemzin. A fizikai rteg alapveten kt nagy osztlyba sorolhat: lteznek olyan, megoldsok, amelyek rendelkeznek tviteli keretszerkezettel (mint pldul a TI, T3, SONET vagy az SDH), s lteznek olyanok is, amelyek nem. Amennyiben a fizikai rteg rendelkezik ilyen keretszerkezettel, akkor a rteg feladata a keretek generlsa s visszafejtse. Az itt hasznlt tviteli keret megnevezs nem keverend ssze az adat- kapcsolati rtegben (pldul az Ethernetben) hasznlt adatkeretekkel, amelyekkel a feje zet korbbi rszeiben foglalkoztunk. Az tviteli keretszerkezet itt egy fizikai rtegbeli, az adatkapcsolatra kikldtt bitek szervezst segt TDM-szer mechanizmust jelent.

IP az ATM feleit (IP over ATM)


Vizsgljuk most meg, hogyan hasznlhatjuk az ATM-hlzatot IP-eszkzk sszektsre. Az 5.32. bra egy ngy belpsi/kilpsi ponttal rendelkez, internetes IP-forgalom tvitelre hasznlt ATM-gerinchlzatot szemlltet. Vegyk szre, hogy minden belpsi/ kilpsi pont egy tvlaszt. Egy ATM-hlzat egsz kontinenseket fedhet le, s tbb tz vagy akr tbb szz ATM-kapcsolt is tartalmazhat. A legtbb ATM-hlzatban valamennyi belpsi/kilpsi pontpr kztt vezet egy-egy lland virtulis csatorna. Ezek segtsgvel az ATM-cellkat a belpsi pontoktl a kilpsi pontokig tudjuk irnytani anlkl, hogy dinamikusan kellene ltrehozni s lebontani virtulis csatornkat. Az l land virtulis csatornk azonban csak akkor jhetnek szba a gyakorlatban, ha a be lpsi/kilpsi pontok szma viszonylag alacsony, mivel n belpsi pont esetn n(n - 1) virtulis csatorna szksges az sszes pontpr sszektshez. Valamennyi, ATM-hlzathoz csatlakoz tvlasztnak kt cmre lesz szksge, hasonlan ahhoz, ahogy egy IP-hoszt Ethernet-interfsznek is kt cme van: egy IP-cme s egy MAC-cme. Ezzel sszhangban egy ATM-interfszneklesz egy IP-cme s egy ATM-cme. Tekintsnk most egy olyan IP-csomagot, amely az 5.32. bra ATM-hlzatn halad t. Az ATM-hlzat a legegyszerbb esetben egyetlen logikai adatkapcsolatknt jelenik meg - az ATM gy kapcsolja ssze a ngy tvlasztt, ahogy az Ethernet segtsgvel is sszekapcsolhatnnk ngy tvlasztt. A tovbbiakban azt az tvlasztt, amelyen a csomag belp az ATM-hlzatba, belpsi tvlasztnak, azt az tvlasztt, amelyen pedig elhagyja az ATMhlzatot, kilpsi tvlasztnak nevezzk. A belpsi tvlaszt a kvetkezkp pen mkdik:
Internetes IP-forgalom

1
IP-tvlaszt &

Internetes ___________. IP-forgalom


v

IP-tvlaszt

ATM-hlzat ~ IP-tvlaszt

IP-tvlaszt

&

1
Internetes IP-forgalom

197

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

1. Megvizsglja az adatcsomag clcmt. 2. Az tvlaszt tbljhoz fordul, s meghatrozza a kilpsi tvlaszt (azaz a csomag tvonaln elhelyezked kvetkez tvlaszt) IP-cmt. 3. Annak rdekben, hogy a csomag eljusson a kilpsi tvlasztig, a belpsi tvlaszt az ATM-et egyszeren egy adatkapcsolati protokollnak tekinti. Ahhoz, hogy eljuttassuk csomagunkat a kvetkez tvlasztig, meg kell tudnunk annak fizikai cmt. Az 5.4.2. alfejezetbl emlkezhetnk, hogy ezt az ARP segtsgvel rhetjk el. Egy ATM-interfsz esetben ez gy mkdik, hogy a belpsi tvlaszt a kilpsi tvlaszt IP-cme alapjn kikeresi ATMes ARP-tbljbl annak ATM-cmt. Az ATM ARP-protokollt az (RFC 2225) rja le rszletesen. 4. Ezt kveten a belpsi tvlasztn fut IP protokoll tadja a csomagot s a kilpsi tvlaszt ATM-cmt az eggyel lejjebb lev rtegnek (teht az ATMnck). Miutn a ngy lpst vgrehajtottuk, a csomag kilpsi tvlasztig val eljuttatsa mr nem az IP, hanem az ATM kezben van. Az ATM-nek most az a feladata, hogy a fenti 3. lpsben megszerzett ATM-clcmre juttassa a csomagot. Ez kt rszfeladatbl ll: 1. Meg kell hatrozni a kilpsi tvlasztig vezet virtulis csatorna azonostjt (VCI). 2. Az adatcsomagot cellkra kell darabolni a virtulis csatorna ad oldaln (teht a belpsi tvlasztnl), a vev oldalon (azaz a kilpsi tvlasztnl) pedig a cellkat egyestve vissza kell lltani az eredeti adatcsomagot. Az els rszfeladat magtl rtetd. A kld oldali interfsz karbantart egy ATM-c- meket VCI-kre lekpez tblzatot. Mivel azt tteleztk fel, hogy a virtulis csatornk llandak, ez a tblzat is lland s mindig friss. (Nem lland virtulis csatornk esetn az ATM Q.2931-es jelzsprotokollra lenne szksgnk a virtulis csatornk dinamikus felptsre s lebontsra.) A msodik feladathoz mr kiss vatosabban kell hozzll- nunk. Az egyik megolds itt az IP-darabols alkalmazsa lehetne, amelyet a 4.4. fejezetben trgyaltunk. Ez az eredeti adatcsomagot olyan darabokra trdeln, amelyek mrete nem haladja meg a 48 bjtot, s amelyek gy elfrhetnnek egy-egy ATM-cellban. Ennek a megkzeltsnek azonban van egy risi hibja - az IP-tredkeknek ugyanis jellemzen 20 bjtos fejlceik vannak, s ez azt jelenten, hogy egy ilyen tredket szllt ATM-cellban 25 bjtot foglalnnak el a fejlcek, s mindssze 28 bjtnyi hasznos informci lenne. Az ATM-ben ezrt a hatkonyabb csomagdarabols s -sszellts elrsre AAL5-I hasznlnak. Ezek utn az ATM-hlzat minden egyes cellt eljuttat az ATM-clcmre. Az ATMfor- rs s az ATM-clcsompont kzti valamennyi ATM-kapcsolban az ATM fizikai rtege s az ATM-rteg is feldolgozza az ATM-cellt, de az AAL-rteg nem. Jellemzen minden kapcsol lecserli a VCI-azonostt (lsd 4.2.1. alfejezet), s jraszmolja a HEC-mez rtkt. Amikor a cellk megrkeznek az ATM-clcmre, az AAL adott virtulis csatornhoz tartoz pufferbe kerlnek. Ezutn helyrell az

198

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

AAL5 PDU, majd pedig a benne szlltott IP-csomag tkerl a protokollveremben eggyel feljebb tallhat IP rteghez.

5.8.2. Tbbprotokollos cmkekapcsols

A tbbprotokollos cmkekapcsols (mulliprotocol label switching, MPLS) az 1990-es vek kzepnek-vgnek azon ipari trekvseibl fejldtt ki, amelyek az IPtvlasztk tovbbtsi sebessgnek nvelsre irnyultak. Kzt a sebessgnvekedst gy kvntk elrni, hogy tvettk a virtulis ramkrk egyikf koncepcijt: a fix hosszsg cmkket. Nem az volt a cl, hogy lemondjanak az IP clcmalap csomagtovbbtsrl egy olyan megolds javra, amely fix hosszsg cmkken s virtulis ramkrkn alapul, ehe lyett arra trekedtek, hogy az eredeti csomagtovbbtsi mdszert hatkonyabb tegyk azltal, hogy a csomagokat klnbz cmkkkel ltjk el, s az tvlasztkat felksztik (az IP-cmckkel szemben) a fix hosszsg cmkken alapul tvonalvlasztsra, ahol lehetsges. Fontos, hogy ezek a megoldsok kz a kzben egyttmkdnek az IP-vei, annak cmzst s tvlasztst hasznlva. A fent lert trekvseket az 1ETF az MPLS protokollban sszegezte [RFC 3031, R1 ; C 3032), amely hatkonyan integrlja a virtulis ramkri technikkat a datagramhlzatokba. Az MPLS-sel val ismerkedsnk elejn vizsgljuk meg az MPLS-t alkalmaz tvlasztk ltal kezelt adatkapcsolati keretek szerkezett. Az 5.33. brn lthatjuk, hogy egy PPP-adatkapcsolaton vagy helyi hlzaton (pldul Etherneten) tovbbtott adatkapcsolati keret egy kis mret, a msodik s harmadik rteg fejlcei kztt tallhat MPLS-fejlcet tartalmaz. Az ilyen tpus adatkapcsolatokon hasznland MPLS-fejlcet az RFC 3032 definilja. ATM-re s kerettovbbtsi (frame relay) hlzatra is kidolgoztak fejlce ket, ezeket ms RFCk tartalmazzk. Az MPLS-fejlc mezi kztt megtallhat a cmke mez (amely a 4.2.1. alfejczetben megtrgyalt virtulisramkr-azonost szerept jtsz- sza), 3 ksrleti clokra fenntartott bit, egyetlen S jel bit, amely vermelt MPLS-fejlcek sorozatnak vgt jelzik (ez egy bonyolultabb tma, amivel itt nem foglalkozunk), s egy lettartammez (TTL). Az 5.33. bra alapjn azonnal s egyrtelmen ltszik, hogy egy MPLS-fejlcet tartalmaz csomagot kizrlag kt, MPLS-re kpes tvlaszt kztt kldhetnk (minthogy egy MPLS-t nem ismer tvlaszt elgg megzavarodna, ha egy MPLSfejlcet tallna ott, ahol egy IP-fejlcre szmtott!). Az MPLS-t tmogat tvlasztkat gyakran nevezzk cmkekap- csolt tvlasztknak (label-switched router), mivel tvlaszt tbljukban az MPLS-cm- ke alapjn keresnek, s ezutn rgtn kiadjk a csomagot a megfelel kimeneti interfszen. Az MPLStvlasztnak teht nem kell megnznie a cmzett IP-cmt, s megkeresnie a leghosszabb prefixegyezst az tvlaszt tblban. De vajon honnan tudhatja egy tvlaszt, hogy a szomszdja valban tmogatja-e az MPLS-t, s hogyan tallja ki, hogy egy adott IP-cmhez milyen cmkt kell rendelnie? Hogy a krdsekre vlaszolni tudjunk, kzelebbrl is meg kell vizsglnunk MPLS-tvlasztk egy csoportjnak egyttmkdst.
PPP va^y Ethernet MPLS-fejlc IP-fejlc Az adatkapcsolati keret tovbbi rsze

199
Cmke

5.
S

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

Fenntartott lettartambitek mez

5.33. bra. MPLS-fejlc az adatkapcsolati s a hlzati fejlcek kztt

5.8. AZ

ADATKAPCSOLAT VIRTULISS TTELE: A HLZAT MINT ADATKAPCSOLATI RTEG

200

Az 5.34. bra pldjt tekintve az R tvlaszttl az R4-ig minden tvlaszt tmogatja az MPLS-t. R5 s R6 ezzel szemben hagyomnyos IP-tvlasztk. R kihirdette R2-nek s R3-nak, hogy (R) kpes csomagokat tovbbtani A irnyba, s hogy a 6 rtk MPLS-cmkvcl kapott csomagokat fogja A csompont irnyba tovbbtani. R3 tvlaszt pedig tudatta R4-gyel, hogy az A s D clcsompontok irnyba kpes csomagokat tovbbtani, s hogy rendre a 10, valamint 12 rtk MPLS-cmkkkel kapott MPLS-csomagokat fogja ezen csompontok fel tovbbtani. R2 R4-nek hirdette ki, hogy (R2) kpes az A csompont elrsre, s hogy a 8 rtk MPLS-cmkvel kapott csomagokat fogja A irnyba kldeni. Figyeljk meg, hogy R4 mr ktfle ton is kpes A elrsre: a 0 szm interfszn, 10 rtk kimen MPLS-cmkvel, illetve az 1-es interfszen, 8-as MPLS-cmkvel. Az 5.34. bra azt mutatja, hogy az R5 s R6 nev IP-eszkzk, valamint A s 1) csompontok egy MPLS-infrastruktrn (az R, R2, R3 s R4-es MPLS-tvlasz- tkon) keresztl vannak sszektve hasonl mdon ahhoz, ahogyan egy kapcsolt LAN vagy ATM-hlzat kt ssze IP-eszkzket. s valban, az R, R2, R3 s R4 tvlasztk is ugyanezt csinljk anlkl, hogy akr egyszer is

hozznylnnak az IP-fejlchez.
A fenti lersban nem ismertettk azt a protokollt, amely a cmkk MPLStvlasztk kztti kihirdetsrt felel, mivel ezen jelzszenetek ismertetse jval tlmutat a knyv keretein. Azt azrt megjegyezzk, hogy az IETF MPLS-sel foglalkoz munkacsoportja az [RFC 3468]-ban lerta, hogy az MPLS-jelzs kidolgozsa sorn a (7. fejezetben ismertetett) RSVP protokoll egy kiterjesztst, az RSVP-TE-t [RFC 3209) fogja alapul venni. Az rdek ld olvasnak gy az RFC 3209 olvasst tudjuk ajnlani. Az MPLS eddigi tanulmnyozsa sorn arra fektettk a hangslyt, hogy az MPLS cmkealap kapcsolst vgez anlkl, hogy figyelembe kellene vennie a csomag IP-cmt. Az MPLS valdi elnyei azonban nem a kapcsolsi sebessgek nvekedsnek lehetsgben, sokkal inkbb az MPLS-ben lehetv vl j forgalom kezelsi kpessgekben rejlenek. Ahogy fent emltettk, R4 ktfle tvonalon is el tudja rni az A csompontot. Ha az tvlaszts az IP rtegben trtnne az IP-cm alapjn, akkor a 4. fejezetben tanulmnyobemeneti cimke kimeneti cmke 10 12 8 kimeneti interfsz 0 0 1 kimeneti bemeneti cmke cmke

cl

interfsz

A D A

bemeneti cmke

kimeneti cimke 6

cl

kimeneti interfsz

5.30. bra. AzAAL5 PDU-szerkezete

201

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

bemeneti cimke 6

kimeneti cimke
-

cl A

kimeneti interfsz 0

zott IP-ben hasznlt tvlaszt protokollok egyetlen, legalacsonyabb kltsg tvonalat hatroznnak meg A csompont irnyba. gy az MPLS lehetv teszi csomagok olyan tvonalakon val tovbbtst, amelyeket az IP hagyomnyos tvlaszt protokolljaival nem hasznlhatnnk. Ez a forgalom mrnksg (traffic engineering) egy igen egyszer MPLS-alap formja [RFC 3346; RFC 3272; RFC 2702; Xiao 2000). A forgalom mrnksg lnyege, hogy a rendszergazda fellrva az ltalnos lP-tvlasztst, egy bizonyos cl fel tart forgalom egy rszt egy adott tvonalon, egy msik rszt pedig egy msik tvonalon vezeti el (akr rendszablyozsi, akr teljestmnynvelsi, akr ms megfontolsokbl). Az MPLS sok ms clra is alkalmazhat. Hasznlhatjuk tbbek kztt az MPLS csomagtovbbtsi tvonalainak gyors helyrelltsra, azaz pldul egy adatkapcsolat meghibsodsa esetn a forgalom egy elre kiszmtott vdelmi tvonalra val terelsre (lsd |Kar 2000; Huang 2002; RFC 3469]). Az MPLS ugyancsak hasznlhat a differencilt szolgltatsi keretrendszer (dif-serv) megvalstsra, amelyet a 7. fejezetben fogunk trgyalni. Vgl megjegyezzk, hogy az MPLS hasznlhat, s hasznljk is az n. virtulis magnhlzatok (virtual privt networks, VPN) implementlsra. Egy felhasznl magnhlzatnak megvalstsakor az internetszolgltat sajt MPLS-kpes hlzatt hasznlja a felhasznl klnbz hlzatainak sszekapcsolsra. AZ MPLS alkalmas arra, hogy a felhasznl VPN-hlzatnak mind az erforrsait, mind az abban hasznlt cmzst elszigetelje a tbbi, az internetszolgltat hlzatt hasznl felhasznl VPN-h- lzataitl - rszletekrt lsd [DeClercq 2002]. Az MPLS-sel val ismerkedsnk szksgkppen rvid volt, de biztatjuk az olvast, hogy tanulmnyozza az ltalunk emltett anyagokat. Meg kell megjegyeznnk, hogy gy tnik, az MPLS szmos alkalmazsi terletvel igen gyorsan az internetes forgalommrnksg svjci bicskjv (azaz sokoldalan hasznlhat eszkzz) vlik.

5.9. sszefoglals
Ebben a fejezetben megvizsgltuk az adatkapcsolati rteget - annak szolgltatsait, a mkdse mgtt rejl elveket, s nhny fontos protokollt, amely ezen elvek alapjn nyjtja adatkapcsolati szolgltatsait. Lttuk, hogy az adatkapcsolati rteg alapszolgltatsa hlzati adatcsomagok egyik csomponttl (tvlaszttl vagy hoszttl) egy szomszdos csompontig val mozgatsa. Azt is lttuk, hogy az adatkapcsolati protokollok a hlzati csomagokat adatkapcsolati keretekbe gyazzk, mieltt azokat elkldenk a szomszdos csomponthoz vezet adat- kapcsolatra. Ezen keretezsi feladat mellett megtanulhattuk, hogy klnbz adatkapcsolati protokollok klnbz adatkapcsolat-hozzfrsi, kzbestsi, forgalomszablyozsi s tviteli szolgltatsokat nyjtanak. Ezen klnbsgek rszben a vilgszerte hasznlt adatkapcsolatok sokflesgnek a kvetkezmnye, amelyek felett az adatkapcsolati pro- tokolloknak mkdnik kell. Egy egyszer ktpontos sszekttets egyetlen vezetken keresztl kommunikl kt felet kt ssze. Egy tbbszrs hozzfrs adatkapcsolaton tbb kld s tbb vev osztozik, kvetkezskppen egy tbbszrs hozzfrsi csatorna adatkapcsolati protokollja

(tbbszrs hozzfrsi protokollja) vezrli a kzegelrst is. Az ATM s az MPLS esetben a kt szomszdos csompontot (pldul kt IP-tvlasztt, amelyek IPrtelemben szomszdosak - azaz valamely clcsompont fel vezet ton egy ugrsra tallhatak egymstl) sszekt adatkapcsolat valjban egy egsz hlzat is lehet. Bizonyos rtelemben egy hlzat adatkapcsolatknt val kezelse nem felttlenl szokatlan. Egy telefonos adatkapcsolat pldul, amely az otthoni modemet/szmtgpet kti ssze egy tvoli modemmel/szmtgppel, valjban egy kifinomult s sszetett te- leonhlzaton tvezet tvonal. Az adatkapcsolati kommunikci mgtt rejl elvi krdsek kzl beszltnk hibajelzsi s hibajavtsi mdszerekrl, a tbbszrs hozzfrsi protokollokrl, az adatkapcsolati cmzsrl s a kiterjesztett helyi hlzatok elosztk, illetve kapcsolk segtsgvel trtn kialaktsrl. A hibajelzs s hibajavts tmakrben megnztk, hogyan lehet a keretekhez fztt plusz bitek segtsgvel rzkelni vagy akr ki is javtani olyan bithibkat, amelyek a keret adatkapcsolaton val tovbbtsa kzben keletkeznek. Megismertk az egyszer paritsbites s az ellenrz sszeget hasznl mdszereket, csakgy, mint az ezeknl robusztusabb ciklikus redundancia-ellenrzst. Ezek utn ttrtnk a tbbszrs hozzfrsi protokollok tmakrre. Itt az adatszr csatornkhoz val hozzfrs szablyozsnak hrom alapvet megkzeltst emltettk s ismertk meg: a csatornaosztsos mdszereket (TDM, FDM), a vletlen hozzfrsi mdszereket (az ALOH A s a CSMA protokollokat) s adsjog-tvteli mdszereket (a lekrdez s a tokentadsos protokollokat). Lttuk, hogy ha tbb csompont osztozik ugyanazon az adatszr csatornn, akkor a csompontokat adatkapcsolati cmekkel kell elltnunk. Megtanultuk, hogy a fizikai cmek elgg klnbznek a hlzati rtegbeli cmektl, s azt is, hogy az interneten egy specilis protokoll: a cmfelold protokoll (Address Resolution Protocol, ARP) feladata a cmek kt fajtja kztti lekpezs. Ksbb tanulmnyoztuk, hogy egy adatszr kzegre kapcsold csompontok hogyan alkotnak helyi hlzatot, illetve hogyan kapcsolhatunk ssze helyi hlzatokat egy nagyobb helyi hlzatt - mghozz hlzati szint tvlasztk hasznlata nlkl. Nhny konkrt adatkapcsolati protokollt - az Ethernetet s a PPP-t - is rszletesebben megismertk. Az adatkapcsolati rteg tanulmnyozst annak vizsglatval zrtuk, hogy az ATM- s MPLS-hlzatok hogyan biztostanak adatkapcsolati szint szolgltatsokat IP-tvlasztk sszektsekor. Az adatkapcsolati rteg felfedezsvel a protokollveremben lefel vezet utunk vgre rtnk! Val igaz, hogy a fizikai rteg az adatkapcsolati rteg alatt helyezkedik el, de ennek rszletei taln mr egy msik trgy (pldul a kommunikcielmlet, de nem a szmtgp-hlzatok) tmakrbe tartoznak. Ennek ellenre ebben s az 1. fejezetben is rintettk a fizikai rteg nhny krdst is (mint pldul a Manchester-k- dols lnyegt az 5.5. alfejezetben vagy a klnbz tviteli kzegeket az 1.2. alfejezetben). A fizikai rteggel legkzelebb a kvetkez szakaszban, a vezetk nlkli adatkapcsolatok jellemzinek tanulmnyozsakor fogunk tallkozni. Habr utunk a protokollverem mentn vget rt, a szmtgp-hlzatokkal val ismerkedsnk mg korntsem. A kvetkez ngy fejezetben a vezetk nlkli hlzatokat, a multimdia-hlzatokat, valamint a hlzatbiztonsg s a hlzatfelgyelet krdseit vesszk vizsglat al. Ezen ngy tmakr kzl egyiket sem sorolhatnnk csupn egyetlen rteghez - valjban mindegyikk tbb rtegre

terjed ki. Ezeken - az irodalom egy rsze ltal mr a halad kategriba sorolt terleteken azonban csak akkor igazodhatunk el, ha a protokollverem valamennyi rtegrl mr van biztos alaptudsunk - olyan alaptudsunk, amely az adatkapcsolati rteg megismersvel most teljess vlt!

Krdsek
5.1-5.2. alfcjczet KI. Ha az interneten tallhat valamennyi adatkapcsolat megbzhat tviteli szolgltatst biztostana, a TCP megbzhat tviteli szolgltatsa mr redundns lenne? Vlaszt indokolja! K2. Soroljon fel nhny olyan szolgltatst, amelyet adatkapcsolati protokollok biztosthatnak a hlzati rteg fel! Az IP, illetve a TCP szolgltatsai kzl melyek hasonlak ezekhez? 5.3. alfejezet K3. Tegyk fel, hogy egy adatszr kzegen egyszerre kt csompont kezd el adni egy L hossz csomagot R adattviteli sebessggel. A kt csompont kztti terjedsi ksleltets jellse: dtcticdiu. Lesz-e tkzs, ha dler)Cfi < IIR? Vlaszt indokolja! K4. Az 5.3. fejezetben megemltettk az adatszr csatornk ngy kvnatos tulajdonsgt. Ezen tulajdonsgok kzl melyekkel rendelkezik az ALOHA? s melyekkel rendelkezik a tokentads? K5. Magyarzza el a tokentadsos s a lekrdez protokollt a koktlparti analgijt hasznlva! K6. Nagyon nagy kerlet helyi hlzat esetn mirt nem hatkony a tokentadsos gyr protokoll? 5.4. alfejezet K7. Mekkora a MAC-cmtartomny? Mekkora az lPv4-cmtartomny? sazIPv6cm- tartomny? K8. legyk fel, hogy A, B s C csompontok ugyanazon adatszr helyi hlzatra csatlakoznak (csatolikon keresztl). Ha A csompont tbb ezer csomagot kld B-nek, a keretekben B M AC-cmt hasznlva, C csatolja fel fogja dolgozni ezeket a kereteket? Ha igen, tovbbtja-e C csatolja a keretekbe gyazott csomagokat a hlzati rtegnek? Hogyan vltoznak a krdsekre adott vlaszok, ha az A a krzvny MAC-cm- mel kldi kereteit? K9. Mirt krzvny keretben kldjk ki az ARP-krseket? Az ARP-vlaszokat szllt kereteket mirt egy meghatrozott MAC-cmre cmzik? K10. Az 5.18. bra hlzatn a tvlasztnak kt ARP-modulja van. Mindkt modul sajt ARP-tblval rendelkezik. Lehetsges, hogy a kt tblban megjelenik ugyanaz a MAC-cm? 5.5. alfejezet K1X. Hasonltsa ssze a 10BASE-T, a 100BASE-T, valamint a gigabites Ethernet ltal hasznlt keretszerkezeteket! Miben klnbznek? K12. Tegyk fel, hogy egy 10 Mb/s adatsebessg ad egy vgtelen, 1-esekbl ll Man- chester-kdols folyamot kld a csatornra. A csatolt elhagy

jel hny tmenetet tartalmaz msodpercenknt? KI3. CSMA/CD protokoll hasznlata esetn mi annak a valsznsge, hogy az tdik tkzst kveten egy csompont a K = 4 rtket vlasztja? A K = 4 vlaszts mekkora vrakozsnak felel meg 10 Mb/s adatsebessg Ethernet esetn? 5.6. a 1 fejezet K14. Tekintsk az 5.25. brt. Hny alhlzatot tartalmaz a 4.4. alfejezetben trgyalt cmzsi szablyok rtelmben?

Feladatok
FI. legyk fel, hogy egy csomag adat rsze az 1010101010101011 bitsorozat. Mi tallhat a paritsbiteket tartalmaz mezben, ha ktdimenzis, pratlan paritst alkalmazunk? Vlaszadskor ttelezze fel, hogy a paritsbitek mezjnek hossza minimlis. F2. Mutassa meg (egy az 5.6. brtl klnbz pldn), hogy a ktdimenzis paritsellenrzs kpes egyetlen hiba jelzsre, illetve javtsra. Mutasson pldt olyan ktszeres bithibra, amely jelezhet, de nem javthat. F3. Tegyk fel, hogy egy csomag adatrsze (azaz D az 5.4. brn) J0 bjtbl ll, amelyek a 0-tl 9-ig terjed egszek 8 bites, eljel nlkli reprezentcii. Szmtsa ki az internetes ellenrz sszeget. F4. A feladat ugyanaz, mint az elbb, a klnbsg az, hogy a csomag 10 bjtja nem az egszeket tartalmazza 0-tl 9-ig, hanem (a) az 1-tl 10-ig terjed egszek binris alakjt. (b) az A-tl J-ig terjed betk ASCII-kdjait (nagybetk). (c) az a-tl j-ig terjed betk ASCII-kdjait (kisbetk). Szmolja ki az internetes ellenrz sszeget ezekre az adatokra. F5. Vegyk az 5.8. bra 4 bites G genertort, s tegyk fel hogy D rtke 10101010. Mi lesz az R rtke? F6. A feladat ugyanaz, mint az elbb, csak D rtke (a) 10010001. (b) 10100011. (c) 01010101. F7. Az 5.3. fejezetben bemutattunk egy vzlatot a rseit A LI IA hatkonysgnak levezetsre. Ebben a feladatban kiegsztjk a levezetst. a) Emlkezznk vissza, hogy N aktv csompont esetn a rseit ALOHA hatkonysga Np{ 1 - p)K~'. Keresse meg azt a p-1, amely maximalizlja a kifejezst, (b) Az elz feladatban kiszmtott p segtsgvel szmolja ki a rseit ALOIIA hatkonysgt, ha Na vgtelenhez tart. Tipp: (1 - 1 /N)s 1/e-hez tart, ha Na vgtelenhez tart. F8. Mutassa meg, hogy azegyszer ALOHA maximlis hatkonysga U{2e). Megjegyzs: A feladat knny, ha mr megoldotta az elz feladatot!

F9. Tegyk fel, hogy hrom aktv csompont - A, B s C csompont versenyeznek a csatornhoz val hozzfrsrt, rseit ALOI I A-t hasznlva. Tegyk fel, hogy mindhrom csompontnak vgtelen szm tovbbtand csomagja van. Valamennyi csompont valamennyi idrsben p valsznsggel prblkozik csomagadssal. Az els idrs sorszma 1, a msodik 2, s gy tovbb. (a) Mi annak a valsznsge, hogy A csompont elszr a 4. idrsben jr sikerrel? (b) Mi a valsznsge annak, hogy valamely csompont (akr A, B vagy C) sikerrel jr a 2. idrsben? (c) Mi annak valsznsge, hogy az els sikeres csomagads a 4. idrsben trtnik? (d) Mi ennek a hrom csompont rendszernek a hatkonysga? F10. brzolja a rseit ALOHA s az egyszer ALOHA hatkonysgt p fggvnyben, N kvetkez rtkei mellett: a) N= 10. b) N = 25. c) N = 50. FI 1. Tekintsnk egy N csomponttal rendelkez, 11 b/s adattviteli sebessg adatszr csatornt. Tegyk fel tovbb, hogy az adatszr csatornn lekrdez protokollt hasznlunk (egy, az emltetteken felli lekrdez csomponttal) a tbbszrs hozzfrsszablyozsra. Jellje t/kkerdetsi azt az idtartamot, amely egy csompont forgalmazsnak befejezse s a kvetkez csompont adsnak engedlyezse kztt telik el (azaz a lekrdezsi ksleltetst). Tegyk fel, hogy egy fordulban egy adott csompont maximum Q bitet tovbbthat. Mi az adatszr csatorna maximlis teresztkpessge? FI 2. Tekintsk az 5.35. bra hrom helyi hlzatt, amelyet kt tvlaszt kt ssze. (a) Rajzolja jra az brt hlzati csatolkkal. (b) Rendeljen IF-cmeket valamennyi interfszhez. Azelsalhlzatban 111.111.111. xxx, a msodik alhlzatban 122.222.222.xxx, a harmadik alhlzatban pedig 133.133.133.xxx alak IP-cmeket hasznljon. (c) Rendeljen MAC-cmet minden csatolhoz.

2. alhlzat

F13.

F14.

F15.

F16.

(d) Tegyk fel, hogy egy IP-csomagot tovbbtunk A s F hosztok kztt. Tegyk fel tovbb, hogy valamennyi A RP-tbla friss adatokat tartalmaz. Sorolja fel valamennyi szksges lpst, ahogy azt az 5.4.2. alfejezet egy tvlaszts pldjnl tettk. (e) Oldja meg a (d) feladatot gy, hogy a kld hoszt ARP-tblzata kezdetben res (s a tbbi A RP-tbla friss adatokat tartalmaz). A feladat ugyanaz, mint az elbb, csak a 2. s 3. alhlzatok kztti tvlasztt egy kapcsolra cserljk le. Vlaszolja meg az elz feladat (a)(e) krdseit ebben az j krnyezetben. Emlkezznk vissza, hogy CSMA/CD protokoll hasznlata esetn a csatol tkzs utn K x 512 bitidnyit vrakozik, ahol K rtke vletlenszeren vlasztott. Ha K = 100, mennyit vrakozik a csatol a 2. lpshez val visszatrs eltt 10 Mb/s adatsebessg Ethernet esetn? s 100 Mb/s sebessg Ethernet esetn? Tegyk fel, hogy az A s B csompontok ugyanazon a 10 Mb/s sebessg Ethernet- snen helyezkednek el, s hogy a kt csompont kzti terjedsi ksleltets 225 bitid. Tegyk fel tovbb, hogy az A csompont megkezdi egy keret tovbbtst, de mg mieltt befejezn, B is megkezdi kerete adst. Befejezheti-c A a keret adst, mieltt rzkeln, hogy B is forgalmaz? Vlaszt indokolja! Ha igen a vlasz, A tvesen hiszi, hogy keretnek tovbbtsa sikeres volt. Tipp: Vegyk azt az esetet, amikor A csompont a / = 0 bitidnl kezdi meg adst. Legrosszabb esetben A egy minimlis mret keretet 512 + 64 bitid alatt tovbbt. A csompont teht 512 + 64 bitidnl fejezn be a keretadst. A vlasz teht nem, amennyiben B jelei / = 512 + 64 bitid eltt rik el A-t. Legrosszabb esetben mikor rnek el B jelei A-hoz? Tegyk fel, hogy A s B csompontok ugyanazon a 10 Mb/s adatsebessg Ethernet- snen helyezkednek el, s hogy a kettejk kztti terjedsi ksleltets 225 bitid. Tegyk fel, hogy A s B egyszerre tovbbt egy-egy keretet, amelyek tkznek, s ezutn A s B CSMA/CD algoritmussal

klnbz K rtkeket vlasztanak. Ha nincs A-n s B-n kvl ms aktvcsompont, tkzhetnek-e A s B jraadott keretei? Cljainknak megfelel, ha vgiggondoljuk a kvetkez pldt, 'legyk fel, hogy A s B is t = 0 bitidben kezdi meg adst. Az tkzst mindketten t = 225 bitidben rzkelik. Az tkzsi jel tovbbtst t = 225 + 48 = 273 bitidben fejezik be. Tegyk fel, hogy Ka = 0 s Kh = 1. Mikorra idzti B az jraadst? Mikor kezdi meg A az jraadst? {Megjegyzs: A csompontoknak a 2. lpshez val visszatrs utn meg kell vrniuk, am g szabad lesz a csatorna - lsd a protokollt.) A csompont jelei mikor rik el B-t? Vissza fog lpni B az elre kitztt idpontban val jraadstl? F17. Vegynk egy 100 Mb/s sebessg 100BASE-T Ethernet-hlzatot, amelyben valamennyi csompont egy eloszthoz kapcsoldik kzvetlenl. Mekkora lehet egy csompont s a eloszt kztti maximlis tvolsg, ha 0,50 rtk hatkonysgot kvnunk elrni? Tegyk fel, hogy egy keret hossza 64 bjt, s a hlzatban nincsenek ismtlk. Ez a maximlis tvolsg azt is garantlja, hogy A csompont kpes rzkelni, ha ms csompont is ad, mikzben forgalmaz? Vlaszt indokolja! Hasonltsa ssze a kiszmolt tvolsgot a valdi 100 Mb/s szabvnnyal! F18. Ebben a feladatban egy CSMA/CD-hez hasonl tbbszrs hozzfrsi protokoll hatkonysgt szmoljuk ki. A protokoll idrseket hasznl, s a csompontok az idrsekhez vannak szinkronizlva. A rseit ALOHA-val szemben azonban egy idrs jval rvidebb a keretidnl (egy keret tovbbtshoz szksges idnl). Jellje S a rsidt. Tegyk fel, hogy a keretek L mrete egyforma, L = /c X X 5, ahol R

a csatorna adattviteli sebessge, s k egy nagy egsz szm. A csatornn N csompontunk van, s mindegyik vgtelen szm tovbbtand kerettel rendelkezik. Feltesszk tovbb, hogy dteriCdcsl < S, azaz minden csompont a keret vge eltt kpes az tkzs rzkelsre. A protokoll a kvetkezkppen mkdik: Amennyiben egyik csompont sem birtokolja a csatornt, mindegyik csompont versenyezni kezd rte - minden csompont p valsznsggel tovbbt keretet a csatornra. Amennyiben pontosan egy csompont forgalmazott az idrsben, akkor ez a csompont a kvetkez k - 1 idrsre maghoz ragadja a csatornt, s tovbbtja a teljes kerett. I la valamelyik csompont birtokolja a csatornt, az sszes tbbi csompont tartzkodik a kerettovbbtstl, mindaddig, amg a csatornt birtokl csompont befejezi forgalmazst. Amint ez a csompont befejezi a kerettovbbtst, valamennyi csompont versenyezni kezd a csatornrt. Figyeljk meg, hogy a csatorna kt llapot kztt ingzik: a pontosan k idrsig tart hasznos llapot kztt s a vletlen szm keretidig tart haszontalan llapot kztt. Egyrtelm, hogy a csatorna hatkonysga a k / ( k + *) arny, ahol xaz egymst kvet haszontalan idrsek vrhat szma. (a) Rgztett N s p rtkek mellett szmolja ki a protokoll hatkonysgt! (b) Szmtsa ki azt a p rtket, amely maximalizlja a hatkonysgot, rgztett N mellett. (c) Felhasznlva a (b) feladatban kiszmtott p rtket (amely N fggvnye), szmolja ki a hatkonysgot, ha N a vgtelenbe tart. (d) Mutassa meg, hogyha a keret mret nagy, a hatkonysg l-hez kzelt. FI9. legyk fel, hogy A s B csompontok egy 900 mteres kbel kt vghez kapcsoldnak, s hogy mindkettjknek egy-egy 1000 bites kerete van (az elhangot s a teljes fejlcmezt is belertve), amelyet a msikhoz szeretnnek eljuttatni. Mindkt csompont megksrli az adst t = 0 idpontban. Tegyk fel, hogy A s B kztt ngy jelismtl helyezkedik el, s hogy egyenknt 20 bites ksleltetst okoznak. Tegyk fel tovbb, hogy az tviteli sebessg 10 Mb/s s hogy a csompontok CSMA/CD protokollt hasznlnak, 512 bit egsz szm tbbszrsnek megfelel visszalpsi idtartamokkal. Az els tkzs utn A csompont K = 0 rtket, B csompont K = 1 -et vlaszt az exponencilis visszalpshez. Az tkzsi jelet s a 96 bites ksleltetst hagyjuk figyelmen kvl. (a) Msodpercekben kifejezve mekkora az egy utas terjedsi ksleltets A s B kztt (beleszmtva az ismtlk ksleltetst is)? Tegyk fel, hogy a jelterjedsi sebessg 2 x 10* m/sec. (b) Mikorra r oda B csomponthoz az A csompont ltal kldtt keret teljes egszben (msodpercekben kifejezve)? (c) Most tegyk fel, hogy csak A csompont szeretne keretet kldeni, s a jelismtlket kapcsolkkal helyettestettk. Tegyk fel tovbb, hogy minden egyes kapcsolnak a trols-s-tovbbtsi ksleltetsen kvl 20 bites feldolgozsi ksleltetse is van. Msodpercekben kifejezve mikorra kapja meg B csompont az A csompont csomagjt? F20. Tekintsk az F12. feladat 5.35. brjt. Rendeljnk MAC-cmeket s IPcmeket az A hoszt, mindkt tvlaszt, valamint az F hoszt interfszeihez. Tegyk fel, hogy az A hoszt az F hosztnak kld egy adatcsomagot. Adja meg

F21.

F22.

F23.

F24.

F25.

F26.

ezen I P-csomagot szllt keret forrs s cl MAC-cmt (i) az A hoszt ti a bal oldali tvlasztig, (ii) a bal oldali tvlaszttl a jobb oldali tvlasztig, (iii) a jobb oldali tvlaszttl az F hosztig. Ezen kvl adja meg az IPcsomagban lv forrs s cl IP-cmeket ezekre az tszakaszokra. Cserljk le az 5.35. bra bal oldali tvlasztjt egy kapcsolra, s csatlakozzon az A, B, C s D hoszt, valamint a jobb oldali tvlaszt csillagtopolgiban ehhez a kapcsolhoz. Tegyk fel, hogy A hoszt F hosztnak kld egy adatcsomagot. Adja meg ezen IP-csomagot szllt keret forrs s cl MAC-cmt (i) az A hoszttl a kapcsolig, (ii) a kapcsoltl a jobb oldali tvlasztig, (iii) a jobb oldali tvlaszttl az F hosztig. Ezen kvl adja meg az IP-csomagban lv forrs s cl IP-cmeket ezekre az tszakaszokra. Tekintsk az 5.25. brt. Tegyk fel, hogy valamennyi adatkapcsolat adatsebessge 100 Mb/s. Mekkora a hlzatnak a 14 vgberendezs kztt elrhet maximlis sszestett teresztkpessge? Mirt? Cserljk le az 5.25. bra hrom tanszki tvlasztjt elosztkkal. Valamennyi adatkapcsolat adatsebessge 100 Mb/s. Mekkora a hlzatnak a 14 vgberendezs kztt elrhet maximlis sszestett teresztkpessge? Mirt? Cserljk le az 5.25. bra valamennyi kapcsoljt elosztkkal. Valamennyi adat- kapcsolat adatsebessge 100 Mb/s. Mekkora a hlzatnak a 14 vgberendezs kztt elrhet maximlis sszestett teresztkpessge? Mirt? Vizsgljuk meg egy kapcsol tanulsnak mkdst az 5.23. bra segtsgvel. legyk fel, hogy (i) A egy keretet kld D-nek, (ii) D egy kerettel vlaszol A-nak, (iii) C egy keretei kld D-nek, (iv) D egy kerettel vlaszol Cnek. A kapcsoltbla kezdetben res. Adja meg a kapcsoltbla llapott valamennyi esemny eltt s utn. Valamennyi esemnyre keresse meg az(oka)t az adatkapcsolat(ok)at, amely(ek)en a kerettovbbts trtnik, s rviden igazolja vlaszt. Emlkezznk vissza, hogy az ATM 53 bjtos csomagokat hasznl, amelyek egy 5 bjtos fejlcbl s egy 48 bjtos adatmezbl llnak. Az tvenhrom bjtos hossz szokatlanul kicsi fix hosszsg csomagoknl - a legtbb hlzati protokoll (az IP, az Ethernet, a kerettovbbtsi protokoll s gy tovbb) tlagosan sokkal nagyobb csomagokat hasznl. A kis csomagmret egyik f htultje, hogy az adatkapcsolatok adatsebessgnek jelents hnyadt a fejlcek bjtjai hasznljk cl - az ATM esetben a svszlessg majdnem 10szzalkt pazaroljkel a fejlcek. Ebben a feladatban azt vizsgljuk, hogy vajon mirt vlasztottak ilyen kicsi csomagmrelet. Ennek rdekben tegyk fel, hogy egy ATM-cella /. bjtbl (ahol L valsznleg eltr 48-tl) s egy 5 bjtos fejlcbl ll. (a) Tegyk fel, hogy egy hangforrs digitlisan kdolt hangjt visznk t kzvetlenl ATM felett. Tegyk fel tovbb, hogy a forrs hangjt lland, 64 kb/s sebessggel kdoljuk, s hogy minden cellt teljesen megtltnk, mieltt kikl- dennk a hlzatra. Az egy cella megtltshez szksges idt csomagolsi ksleltetsnek (packetization delay) nevezzk. Szmolja ki a csomagolsi ksleltetst L fggvnyben, ms-ban. (b) Egy 20 msec-nl nagyobb csomagolsi ksleltets szlelhet s

kellemetlen visszhangot okozhat. Szmtsa ki a csomagolsi ksleltetst L = 1500 bjt (ami nagyjbl egy maximlis mret Ethernet-csomag mrete), illetve L = 48 (az ATM-cellnak megfelel mret) esetn. (c) Szmtsa ki egy ATM-kapcsol trols-s-tovbbtsi ksleltetst, az adatkapcsolat R = 155 Mb/s (ATM-bcn elterjedt) adatsebessge, /. = 1500 bjt, illetve L = 48 bjt esetn. (d) Magyarzza el a kis cellamret elnyeit. F27. Tekintsk az 5.34. brn lthat MPLS hlzatot, s tegyk fel, hogy az R5 s R6 tvlasztk most MPLS-tvlasztk! El szeretnnk rni, hogy az R6-tl az A fel tart csomagok az R6-R4-R3-R1 tvonalon s az R5-tl A fel halad csomagok az R5-R4-R2-R1 tvonalon haladjanak. lltsa el R5 s R6, s mdostsa R4 MPLS-tbljt gy, hogy elrhessk clunkat. F28. Hlzatunk az elz feladatval egyezik, de most tegyk fel, hogy R6-tl Dbe men csomagokat az R6-R4-R3 tvonalon, R5-tl D-be tart csomagokat pedig az R4-R2-R1-R3 tvonalon szeretnnk tvinni. lltsa be az sszes tvlaszt MPLS-tbljt gy, hogy ezt elrjk.

Gondolkodtat krdsek
Ajnljuk, hogy a kvetkez krdseknek a vveben nzzen utna. Gl. Mennyibe kerl nagyjbl egy 10/100 Mb/s sebessg csatol? s egy 1 gigabites Ethernet-csatol? Milyenek ezek az rak egy 56 kb/s sebessg modem vagy egy ADSL-modem rhoz viszonytva? G2. A kapcsolk ra sokszor interfszeik (vagy LAN-os zsargonnal lve portjaik) szmnak felel meg. Mekkora nagyjbl egy kizrlag 100 Mb/s sebessg interfszekkel rendelkez kapcsol egy interfszre szmtott ra? G3. A hlzati csatolk tbb funkcija a csompont processzorn szoftveresen is megvalsthat. Milyen elnykkel, illetve htrnyokkal jr, ha ezeket a feladatokat a csatolrl a csompontra helyezzk t? G4. Keresse meg a weben az Ethernet-keretek fejrszben az IP-csomagok, illetve az ARP-csomagok jellsre hasznlt protokollszmokat. G5. Olvassa el az MPLS-es forgalom mrnksgrl szl [Xiao 2000, Huang 2002 s RFC 3346) anyagokat. Sorolja fel a forgalom mrnksg nhny cljt. Ezen clok kzl melyek azok, amelyeket csak MPLS-sel s melyek azok, amelyek ms ltez (nem MPLS) protokollokkal is elrhetk? Az utbbi esethez kpest milyen elnyei vannak az MPLS-nek?

Vlaszol

Simon S. Lm
Simon S. Lm az austini Texasi Egyetem (University of Texas) professzora s igazgattancsnak elnke. 1971-tl 1974-ig a Los Angeles-i California University (UCLA) ARPA Network Mesurement Centerben dolgozott, ahol mholdas s rdis csomagkapcsolssal foglalkozott. Azt a kutatcsoportot vezette, amely feltallta a bizton sgos szoketeket, s 1993ban elksztette az els biztonsgos szoket-rteg prototpust, amelyet Secure Network Programming-nek neveztek cl, s amely elnyerte a 2004 ACM szoftverrendszere djat. Kutatsi terlete hlzati protokollok tervezse s vizsglata. Villamosmrnki BsC diplomjt a Washington State Universityn, MsC s PhD fokozatt pedig a Los Angeles-i California Universityn szerezte. Mirt dnttt a hlzatok mellett? Amikor friss BsC-diplomsknt megrkeztem a Los Angeles-i Kaliforniai Egyetemre, irnytselmletet szerettem volna tanulni. Azutn felvettem egy sorbanllsi elmlettel log- lalkoz trgyat Leonard Kleinrocknl, aki nagy hatssal volt rm. Egy ideig sorbanllsi rendszerek adaptv irnytsval foglalkoztam, mint lehetsges diplomatmval. 1972 elejn Larry Roberts letre hvta az ARPAnet mholdas rendszer (ARPAnet Satellite System) cm projektet (amelyet ksbb Mholdas csomagkapcsolsnak - Packet Satellite-nek - hvtak). Kleinrock professzor felkrt, hogy vegyek rszt a projektben. Els dolgunk az volt, hogy kidolgozzunk egy egyszer, de mg valszer visszalpsi algoritmust a rseit A LI IA szmra. Nem sokkal ksbb tbb rdekes kutatsi tmval is megismerkedtem, mint pldul az ALOI IA instabilitsval s az adaptv visszalps szksgessgvel, amelyek diplomamunkm magjt alkottk. n az internet korai korszakban, az 1970-es vekben a Kaliforniai Egyetemre rkezst kveten mr aktvan kutatott. Milyen volt akkoriban a lgkr? Sejtette brki is, hogy hova fog fejldni az internet?

A lgkr egyltaln nem klnbztt ms ipari vagy egyetemi rendszerfejlesztsi projektek lgkrtl. Kezdetben az ARPAnet clkitzse elgg szerny volt, mindssze annyi, hogy biztostsa a tvoli hozzfrst drga szmtgpekhez, amelyeket gy tbb kutat is hasznlhatott. A Mholdas csomagkapcsols projekt 1972-es, illetve a Rdis csomagkapcsols projekt 1973-as elindtsval az ARPA cljai nagymrtkben megvltoztak. 1973-ban az ARPA mr hrom klnbz csomagkapcsolt hlzatot fejlesztett egyszerre, s szksges s vlt, hogy Vint Cerf s Bob Klin kidolgozzanak egy stratgit ezek sszekapcsolsra. Akkoriban ezeket a fejlesztseket (vlemnyem szerint) inkbb logikusnak tartottk, mint hihetetlennek. Senki sem lthatta elre az internet mai mrett s a szemlyi szmtgpek mai elterjedtsgt. Akkoriban mg tz vvel az els PC-k megjelense eltt jrtunk. Hogy rvilgtsunk a lnyegre, kpzeljk el, hogy akkoriban a hallgatk mg lyukkrtykon adtk be szmitgpes programjaikat ktegelt feldolgozsra. Csak nhny hallgat frhetett hoz

z kzvetlenl szmtgpekhez, amelyeket ltalban zrt helyen helyeztek el. A modemek lassak voltak, s ritkasgszmba mentek. Vgzs dikknt csak egy telefon volt az asztalomon, s paprral s ceruzval vgeztem munkm nagy rszt. Mit gondol, hova jutnak a hlzatok s az internet a jvben? A mltban az interneten hasznlt IP-protokoll egyszersgvel nyerte meg a versenyt, s vlt a hlzatok de facto szabvnyv. Versenytrsaival, mint az 1980-as vek X.25 protokolljval, vagy az 1990-es vekben kifejlesztett ATM-mel szemben brmilyen adatkapcsolati protokoll felett futhat, mivel csupn best el'ort (legjobbra trekv) szolgltatst nyjt, gy teht brmilyen csomagkapcsolt hlzat kapcsoldhat az internetre. Sajnlatos mdon az IP legnagyobb erssge hinyossgg vlt. Az IP olyan, mint egy knyszerzubbony, amely az internet fejlesztst bizonyos irnyokra korltozza. Az lP-r- teg gazdasgilag tl fontos ahhoz, hogy belekontrkodjunk, vagy hogy olyan j kpessgekkel ruhzzuk fel, mint a tbbesklds vagy a QoS. Az elmlt vekben a kutatk tbbsge a szlltsi s alkalmazsi rtegekben kereste a tbbesklds s a QoS-szolgltatsok megvalstsnak lehetsgeit. Ms npszer kutatsi tmk, mint a biztonsg vagy a P2P-rendszerek kizrlag az alkalmazsi rtegre szortkoznak. A vezetk nlkli s ad hoc hlzatok, a szenzors mholdas hlzatok terletn is sokan kutatnak. Ezeket a hlzatokat tekinthetjk nll rendszereknek vagy adatkapcsolati szint rendszereknek, s ezek nyugodtan fejldhetnek, mivel kvl esnek az IP knyszerzubbonyn. j internetalkalmazsok fejlesztsnek lehetsgt sokan a P2P-rendszerekben ltjk, m a P2P rendszerek az internetes erforrsok kihasznlsnak szempontjbl egyltaln nem hatkonyak. n tbbek kztt arra vagyok kvncsi, hogy vajon az internet magjnak tviteli s kapcsolsi kapacitsa gyorsabban fog-e nni, mint a megjelen forgalomignyek, mikzben az internet tovbb n, egyre tbbfle eszkzt kt ssze, s tmogatja a jvbeni P2P-alkalmazsokat. Nagy kihvst fog jelenteni a hlzat stabilitsnak biztostsa rossz indulat tmadsok s torldsok mellett, a kapacitsok jelents nvekedse nlkl. Mi a legnagyobb kihvs a munkjban? A munkm legnagyobb kihvst jelent rsze az, hogy tantsam s motivljam minden egyes hallgatmat az rimon s minden egyes doktoranduszomat, s nem csak az llovasokat. Kzlk a legrtelmesebbeknek s legmotivltabbaknak csak egy kis irnymutatsra van szksgk, semmi msra. Tlk sokszor tbbet tanulok, mint k tlem. A gyengbb kpessg hallgatk oktatsa s motivlsa viszont risi kihvst jelent. Hogy ltja, milyen hatssal lesz az internet a tanulsra a jvben? Vgeredmnyben a teljes emberi tudsanyag elrhet lesz az interneten, amely gy a tanuls leghatkonyabb eszkzv fog vlni. Ez az risi tudsbzis egy szintre fogja hozni a vilg sszes dikjnak lehetsgeit. Pldul brmelyik orszg motivlt dikja kpes lesz elrni a legjobb weboldalakat, a legjobb multimdis eladsokat s a legmagasabb sznvonal oktatsi anyagokat. gy tudom, hogy az IEEE s az ACM digitlis knyvtrai mr ma is nagymrtkben felgyorstottk a

szmtstudomnnyal foglalkoz knai kutatk munkjt. Idvel az internet a tanuls rdekben minden fldrajzi hatrt t fog lpni.

FELADATOK

217

5.35. bra. Hrom, tvlasztkkal sszekttt alhlzat

218

5. AZ ADATKAPCSOLATI RTEG F.S A HELYI HLZATOK

GONDOLKODTAT KRDSEK

219

6. FEJEZET

Vezetk nlkli s mobilhlzatok

A telefonos vilg elmlt 15 ve vitathatatlanul a mobiltvkzls fnykora volt. Mg 1993-ban vilgszerte 34 milli mobiltelefon-elfizet volt, ez a szm 2005-re tbb mint 2 millirdra emelkedett, s gy a mobiltelefon-elfizetk szma mra nagyobb lett a vezet- kestelefon-elfizetk szmnl [ITU Statistics 2007]. A mobiltelefonok elnyei mindenki szmra nyilvnvalak: elrhetsg brhol, brmikor, ktetlen hozzfrs a globlis telefonhlzathoz knnyen hordozhat, kis sly kszlkek segtsgvel. A laptopok, palm- topok s PDA-k korszaknak bckszntvel s ezeknek az eszkzknek a globlis inter nethez brhol s brmikor trtn kapcsolhatsguk gretvel vajon a vezetk nlkli interneteszkzk is hasonl robbansszer elterjeds eltt llnak? Brmit is tartogat a vezetk nlkli interneteszkzk jvje, mr most vilgos, hogy a vezetk nlkli hlzatoknak s mobilitson (hordozhatsgon) alapul szolgltatsaiknak helye van letnkben. Hlzatos szemszgbl nzve a vezetk nlkli s mobilhlzatokkal megjelen kihvsok - klnskppen adatkapcsolati s hlzati szinten - olyan nagymrtkben eltrnek a hagyomnyos, vezetkes hlzatoktl, hogy egy kln fejezetet (ezt a fejezetet) szentelnk tanulmnyozsuknak. A fejezet elejn a mobilfelhasznlkrl, a vezetk nlkli adatkapcsolatokrl s hlzatokrl lesz sz, ezen kvl megvizsgljuk azt is, hogy ezek hogyan kapcsoldnak a nagyobb (ltalban vezetkes) hlzatokhoz. Klnbsget fogunk tenni a hlzatok vezetk nlkli adatkapcsolatai, illetve a segtsgkkel lehetv vl mobilits ltal tmasztott kihvsok kztt. Ezzel a - vezetk nlklisg s a mobilits kztti - klnbsgttellel lehetv vlik, hogy jobban sztvlasszuk, megismerjk s megrtsk a kt terlet leglnyegesebb elemeit. Meg kell jegyeznnk, hogy lteznek olyan hlzati krnyezetek, amelyek csompontjai vezetk nlkliek, de nem hordozhatk (pldul otthoni vagy irodai vezetk nlkli hlzatok rgztett munkallomsokkal s nagy kijelzkkel), s vannak korlto zottan mobil krnyezetek is, amelyek nem ignyelnek vezetk nlkli adatkapcsolatokat (pldul egy dolgoz, aki otthon vezetkes hlzatban hasznlja a laptopjt, majd lekapcsolja, elmegy a munkahelyre, ahol csatlakoztatja a laptopot a cg vezetkes hlzathoz). Termszetesen a legrdekesebb hlzati krnyezetek azok, amelyek egyszerre vezetk nl kliek s mobilok - pldul egy olyan szituci, amikor a mobil felhasznl (mondjuk egy aut hts lsn lve) egyszerre tart fenn egy VoIP-hvst s tbb TCPsszekttetst, mikzben 160 kilomter per rs sebessggel szguld egy nmet autplyn. Pontosan itt, a vezetk nlklisg s a mobilits metszetben fogunk

220

5. AZ ADATKAPCSOLATI RTEG F.S A HELYI HLZATOK

szembeslni a legrdekesebb mszaki kihvsokkal! Kezdsknt ismertetjk azt az elrendezst, amelyben a vezetk nlkli kommunikci s mobilits krdseit vizsgljuk - ez egy olyan hlzat, amelyben a vezetk nlkli (s esetleg mobil) felhasznlk egy nagyobb hlzathoz kapcsoldnak a hlzat szln elhelyezked vezetk nlkli adatkapcsolaton keresztl. Ezutn a 6.2. alfejezetben ennek a vezetk nlkli adatkapcsolatnak a tulajdonsgait elemezzk. Szintn a 6.2. alfejezetben rviden bemutatjuk egy vezetk nlkli hlzatokban gyakran hasznlt csatornaosztsos proto koll, a kdosztsos tbbszrs hozzfrs (code division multiple access, CDMA) alapjait. A 6.3. alfejezetben valamilyen szinten megvizsgljuk az IEEE 802.11 (WiFi) vezetk nlkli helyi hlzati szabvny adatkapcsolati szint tulajdonsgait, de a Bluetooth-rl s a WiMAX-rl is szlunk pr szt. A 6.4. alfejezetben a mobil (cells) internet-hozzfrst tekintjk t, idertve az egyre jobban fejld harmadik genercis (3G) mobiltechnolgikat, amelynek segtsgvel mind a hangtvitel, mind a nagysebessg internet-hozz frs lehetv vlik. A 6.5. alfejezetben figyelmnket a mobilits krdse fel fordtjuk, s olyan problmkkal foglalkozunk, mint egy mobil-elfizet megtallsa, a mobil-elfizet fel trtn tvlaszts, vagy a hlzat klnbz pontjai kztt dinamikusan mozg mobil felhasznl tadsa. Megvizsgljuk, hogy ezen szolgltatsokat hogyan valstottk meg a mobil-IP- (6.6. alfejezet) s GSM-szabvnyokban (6.7. alfejezet). Vgl tanulmnyozzuk a mobilits s a vezetk nlkli adatkapcsolatok szlltsi protokollokra s hlzati alkalmazsokra gyakorolt hatst (6.8. alfejezet).

6.1. Bevezets
A 6.1. brn szemlltetjk azt az elrendezst, amelynek segtsgvel a vezetk nlkli adattvitel s a mobilits krdseit vizsgljuk. Eleinte egytt s ltalnosan foglalkozunk a klnbz megoldsokkal, mint az IEEE 802.11-hez hasonl vezetk nlkli helyi hlzatokkal s a mobil- (cells) hlzatokkal (pldul a 3G-hlzatokkal), a ksbbi alfejezetek- ben pedig rszletesebben is megvizsgljuk a klnbz vezetk nlkli megoldsokat. Egy vezetk nlkli hlzatban a kvetkez alkotelemeket tallhatjuk:

FELADATOK

221

%>>

S&>

Hlzati
infrastruktra

Jells:

Vezetk nlkl' hozzfrsi pori

Vezetk nlkli hoszt

i?
Mozg vezetk nik hoszt

Lefedett kizei

222

5.

AZ

ADATKAPCSOLAT! RTEG S A HELYI

HLZATOK

6.1. bra. A vezetk nlkli hlzat elemei tvlasztk, kapcsolk s ms hlzati eszkzk sszektsre. Ebben a fejezetben ennek ellenre mi a hlzat szln hasznlt vezetk nlkli adatkapcsolatokkal fogunk foglalkozni, mivel a legnagyobb mszaki kihvsok a hlzat ezen rszn jelennek meg, s a legnagyobb fejlds is itt trtnik. Bzislloms. A bzislloms (base station) a vezetk nlkli infrastruktra kulcs- fontossg eleme. A vezetk nlkli hosztoktl s adatkapcsolatoktl eltren a bzis- llomsnak nincs egyrtelm megfelelje a vezetkes hlzatban. A bzislloms azrt felels, hogy adatot (pldul csomagokat) kldjn a vezetk nlkli hosztnak, illetve hogy adatot fogadjon tle. Amikor azt mondjuk, hogy egy mobil hoszt trsult egy bzisllomssal, az azt jelenti, hogy (1) a mobil hoszt a bzislloms kommuni kcis hatsugarban helyezkedik el, s hogy (2) a hoszt arra hasznlja a bzisllo mst, hogy kzte (a hoszt kztt) s egy nagyobb hlzat kztt adatokat vigyen t. Bzisllomsra plda a mobiltelefon-hlzatok (cells hlzatok) tjtsz llomsai (cell tower) vagy az 1F.EE 802.11 vezetk nlkli hlzat hozzfrsi pontjai (access point). A 6.1. brn a bzislloms egy nagyobb hlzathoz (pldul az internethez, egy cges vagy otthoni hlzathoz vagy egy telefonhlzathoz) kapcsoldik, s gy adatkapcsolati tjtszknt mkdik a vezetk nlkli hoszt s a vilg azon rsze kztt, amellyel a hoszt kommunikl.

Egy bzisllomshoz kapcsold hosztokat sokszor infrastruktra mdban m kdknek nevezzk, hiszen valamennyi hagyomnyos hlzati szolgltatst (mint a cmkiosztst s az tvlasztst) az a hlzat valstja meg, amelyhez a hosztok a bzisllomson keresztl kapcsoldnak. Az ad hoc hlzatokban (ad hoc networks) nincs olyan infrastruktra, amelyhez a hosztok kapcsoldhatnnak. Ennek hinyban azonban a hosztoknak maguknak kell biztostania olyan szolgltatsokat, mint pldul az tvlaszts, a cmkioszts vagy a DNS-hez hasonl cmfordts. Mikor egy mobil hoszt valamely bzislloms hatsugarbl egy msik bzislloms hatsugarba lp, megvltozik a nagyobb hlzathoz val kapcsoldsi pontja (azaz megvltozik az a bzislloms, amelyhez kapcsoldik) - ezt a folyamatot vezrlstadsnak (handoff) nevezzk. Ez a fajta mobilits tbb rdekes krdst is felvet. Ha egy hoszt mozoghat, hogyan tudjuk megtallni t a hlzatban, amikor adatot akarunk kldeni neki? Hogyan mkdik a cmzs, ha a hoszt klnbz lehetsges helye ken bukkanhat fel? Ha a hoszt egy TCP-sszekttets fennllsa vagy egy telefonhvs lebonyoltsa kzben mozog, hogyan kell tovbbtanunk az adatokat, hogy a kapcsolat tovbbra is zavartalanul fennlljon? Ezeknek s mg sok (valban sok!) ms krdsnek ksznheten a mobilhlzatok tmakre rendkvl izgalmas kutatsi terlet. Hlzati infrastruktra. Ez az a nagyobb hlzat, amellyel a vezetk nlkli hoszt kommuniklni kvn. Most, miutn megismertk a vezetk nlkli hlzatok elemeit, megjegyezzk, hogy a klnbz elemeket klnfle vezetk nlkli hlzatokban klnbz mdokon helyezhetjk el. Ezen hlzatok egy osztlyozsa hasznos lehet az olvas szmra a fejezet tovbbi rszben, illetve amennyiben mr nem e knyvbl ismerkedik a vezetk nlkli hlzatokkal. Legfels szinten kt kvetelmny szerint csoportosthatjuk a vezetk nlkli hlzatokat: (i) aszerint, hogy a vezetk nlkli hlzat egy csomagja pontosan egy vagy tbb kzvetlen vezetk nlkli adatkapcsolaton halad t, illetve (ii) aszerint, hogy van-e infrastruktra a hlzatban, pldul egy bzislloms:
200 Mb/s 54 Mb/s 5-11 Mb/s 4 Mb/s 1 Mb/s

802.11 n 802.11 a,g 802.11b 802.11 a.g kt pont kztti WiMAX UMTS/WCDMA-HSDPA, CDMA2000-1 xEVDO Javtott 3G

802.15.1
384 kb/s 56

UMTS/WCDMA, CDMA2000 ISkb/s

3G

95, CDMA, GSM

pleten bell 10-30m

pleten kvl

Kzepes tvolsg pleten kvl 200 m-4 km Nagy tvolsg pleten kvl 5 km20 km

Egy adatkapcsolatos, infrastruktrn alapul. Ezek a hlzatok rendelkeznek egy nagyobb vezetkes hlzathoz (pldul az internethez) csatlakoz bzisllomssal. Ezen fell a kommunikci mindig a bzislloms s valamely vezetk nlkli hoszt kztt zajlik, egyetlen vezetk nlkli adatkapcsolaton keresztl. Az 1EEE802.11 -es hlzatok, amelyeket tantermekben, kvzkban vagy knyvtrakban hasznlhatunk, a mobiltelefon-hlzatok, valamint az IEEE 802*. 16 WiMAX-hlzatok, amelyekkel hamarosan megismerkednk, mind ebbe a kategriba esnek. Egy adatkapcsolatos, infrastruktra nlkli. Ezekben a hlzatokban nincs vezetk nlkli hlzathoz kapcsold bzislloms, habr - ahogy hamarosan ltni fogjuk -lehet olyan csompontjuk, amely a tbbi csompont adattvitelt vezrelheti. A Blue- tooth-hlzatok (amelyekrl a 6.3.6. alfejezetben olvashatunk bvebben), valamint az ad hoc mdban mkd IEEE 802.11-es hlzatok ilyen tpus hlzatok. Tbb adatkapcsolatos, infrastruktrn alapul. Ezek a hlzatok tartalmaznak egy, a nagyobb vezetkes hlzathoz kapcsold bzisllomst. Nhny vezetk nlkli csompont azonban ignybe kell vegye ms vezetk nlkli csompontok tjtsz szolgltatst a bzisllomssal val kommunikcijhoz. Nhny vezetek nlkli szenzorhlzat, illetve a vezetk nlkli teljesen sszekttt hlzatok (wireless mesh net- works) ebbe a kategriba esnek. Tbb adatkapcsolatos, infrastruktra nlkli. Ezekben a hlzatokban nincsen bzis- lloms, s a csompontoknak adott esetben ms tjtsz csompontokon keresztl kell eljuttatniuk zeneteiket a clcsompontig. A csompontok lehetnek mobilok, amely azt jelenti, hogy a kztk lev sszekttetsek llandan vltozhatnak. gy van ez a mobil ad hoc hlzatoknl (mobile ad hoc network, MANET). Ha a hordozhat csompontok jrmvek, akkor kzti ad hoc hlzatrl (vehicular ad hoc network, VANET) beszlnk. Elkpzelhet, hogy milyen nagy kihvst jelent ilyen hlzatok rszre protokollokat fejleszteni. Ez szmos, jelenleg is foly kutats tmja. Ebben a fejezetben elssorban az egy adat kapcsolatos hlzatokat, majd az infrastruktrn alapul hlzatokat fogjuk trgyalni. ssuk most bele magunkat kicsit mlyebben a mobil- s vezetk nlkli hlzatok kihvsaiba. Elsknt az egyedli vezetk nlkli adatkapcsolattal foglalkozunk, a hordozhatsg krdseinek trgyalst kicsit ksbbre halasztjuk.
Egy kis trtnelem

Nyilvnos vezetk villanyoszlopokon

nlkli

hozzfrs:

hamarosan

philadelphiai

A vezetek nlkli, vagyis WiFi-hotspotok - azok a nyilvnos helyek, ahol az IEF.E 802.11-es vezetk nlkli hozzfrs ll a felhasznlk rendelkezsre - vilgszerte egyre gyakoribb vlnak klnbz szllodkban, repltereken s kvzkban. 2006 vgre a T-Mobile tbb mint 8000 helysznen biztostott csatlakozsi pontokat az Egyeslt llamokban, gy a Starbucks kvzkban s a Borders knyvs zenem-ruhzakban is. A McDonalds vilgszerte tbb mint 7000 ttermben teszi elrhetv a vezetk nlkli internetet. Ezzel szemben a Pennsylvania llambeli Philadelphia vrosa a mindentt elrhet vezetk nlkli internet-hozzfrs fogalmt egy lpssel tovbbfejleszti egy olyan program segtsgvel, amely a vros 135 ngyzetmrloldes terletn tallhat valamennyi vrosrszbe

eljuttatja a vezetk nlkli internetet. A cl nem ms, mint hogy Philadelphia az amerikai nemzet legnagyobb WiFi-hotspotja legyen, ezzel segtve az oktatst, a digitlis szakadk thidalst, a vrosrszek fejldst s az llami kiadsok cskkentst. A terv szerint mintegy 4000 villanyoszlopot s forgalom irnyit berendezst ltnak el IEEE 802.1 lb protokoll szerint mkd vezetk nlkli hozzfrsi pontokkal. Az ambicizus program egy megllapodson alapul, melynek rsztvevi a vrosvezets, a Wireless Philadelphia (egy non-profit szervezet) s az Earthlink nev internetszolgItat. A terv kivitelezse a vroslakknak nem kerl pnzbe, s megvalsulsa utn a klnbz parkokban s nyilvnos helyeken ingyenes hozzfrst biztost. Az otthoni s cges felhaszn lknak viszont fizetnik kell majd a hozzfrsrt. A Wireless Philadelphia szervezet bevtelt (a hozzfrsi djak 5 szzalkt) philadelphiai oktatsi s kzssgi programok, tbbek kztt technolgiakzpont programok szervezsbe fektetik.

6.2. Vezetk nlkli adatkapcsolatok s hlzati jellemzk


Vegynk elsknt egy egyszer vezetkes hlzatot, mondjuk egy otthoni hlzatot, amelyben van egy hosztokat sszekt vezetkes Hlhernet-kapcsol (lsd 5.6. alfejezet). Amennyiben vezetkes F.thernet-hlzatunkat egy vezetk nlkli IEEE 802.11-cs hlzatra cserljk le, a hosztok Ethernet-krtyit vezetk nlkli interfszkrtykra, az F.t- hernet-kapcsolt pedig egy hozzfrsi pontra kell cserlnnk, de a hlzati vagy a felsbb szinteken lnyegben semmi vltozst nem kell eszkzlnnk. ppen ezrt tancsos, hogy a vezetk nlkli s vezetkes hlzatok lnyegesebb klnbsgeinek vizsglatakor az adatkapcsolati rteget tanulmnyozzuk rszletesen. s valban, a vezetk nlkli s ve zetkes aciatkapcsolatok (linkek) kztt tbb lnyeges klnbsget is tallhatunk. Az elektromgneses sugrzs gyengl, amikor klnbz kzegeken hatol t (pldul egy rdihullm a falon val thaladskor), de mg szabad tren is sztszrdik a jel, ami a jelerssg gyenglst - ms nven tvonali gyenglst (path loss) - eredmnyezi, ahogy az ad s a vev kzti tvolsg nvekedik. Ms forrsokbl jv jelekkel trtn interferencia. Az azonos frekvenciasvban forgalmaz rdis forrsok adsai zavarjk egymst. Pldul a 2,4 GHz-es vezetk nlkli telefonok s az IEEE 802.11-es helyi hlzatok ugyanazt a frekvenciasvot hasznljk adsra, gy egy olyan IEEE 802.11-es hlzati felhasznl, aki egy 2,4 GHz-es vezetk nlkli telefonon beszl, arra szmthat, hogy sem a telefon, sem a hlzat nem fog k lnsebben jl teljesteni. A rdis forrsok mellett a krnyezetben elfordul (pldul egy kzeli motor vagy mikrohullm st ltal keltett) elektromgneses zaj is okozhat interferencit. Tbbutas terjeds. Tbbutas terjedsrl (multipath propagation) akkor beszlnk, ha az elektromgneses hullm bizonyos rszei klnbz akadlyokrl vagy a fldrl visszaverdnek, s gy klnbz hosszsg utakon rkeznek az adtl a vevhz. Ez azt eredmnyezi, hogy a jel a

Cskken

jelerssg.

vevhz rkezve mr nem teljesen tisztn kivehet. Az ad s a vev kztti mozg objektumok a tbbutas terjeds idbeni vltozst okozhatjk. A vezetk nlkli csatornk tulajdonsgait, modelljeit s mrseit rszletesebben megismerhetjk [Anderson 1995) munkjbl. A fent lertakbl rezhetjk, hogy gyakrabban fordulnak el bithibk vezetk nlkli, mint vezetkes kzegen. gy az sem csoda, hogy a vezetk nlkli adatkapcsolati protokollk (mint az IKRE 802.11 protokoll, amelyet a kvetkez alfejczetben trgyalunk), nemcsak igen ers CRC hibajelz kdokat, de olyan adatkapcsolati szinten is megbzhat adattvitelt biztost eljrsokat is tartalmaznak, amelyek megismtlik a megsrlt kereteket. Miutn megbeszltk, hogy milyen mdokon srlhetnek meg a keretek a vezetk nlkli csatornn, vizsgljuk most meg a vezetk nlkli jelet fogad hosztot. Ez a hoszt egy olyan jelet fog venni, amely az eredeti jel (a tobbutas terjedsnek, a jelgyenglsnek s mg sok minden msnak ksznheten) deformldott alakjbl s a krnyezetbl szrmaz httrzajokbl ll. A jel-zaj viszony (signal-to-noise ratio, SNR) egy a vett jel s az elbb emltett zaj erssgt mutat relatv mrtk. Az SNR-t jellemzen decibelben (dB) mrik, amelyet sokak vlemnye szerint a villamosmrnkk azrt hasznlnak, hogy sszezavar jk az informatikusokat. A dB-ben mrt SNR nem ms, mint a vett jel s a zaj amplitdi hnyadosnak tzes alap logaritmusnak hszszorosa. A mi cljainknak azonban az is megfelel, ha tudjuk, hogy nagyobb SNR mellett a vev knnyebben nyeri ki a tovbbtott jelet a httrzajbl. A 6.3. bra (forrs: [Holland 2001]) a bithiba valsznsgt (bit error rate, BR) - annak valsznsgt, hogy egy kldtt bit a vevnl hibsan jelenik meg - mutatja az SNR-hez viszonytva, hrom klnbz, a kldend bitek idelis vezetk nlkli csatornn val kdolsra hasznlt modulcis technika mellett. A modulcis tech nikk s a kdolsi eljrsok trgyalsa csakgy, mint a BR s az eredeti jel kinyerse, jval tlmutat e knyv keretein (ezen tmk rszletes lerst lsd [Schwartz 1980]). A 6.3. bra mindamellett szmos olyan fizikai rtegbeli jellemzt is brzol, amelyek szksgesek a felsbb szint vezetk nlkli protokollok megrtshez: Egy adott modulcis eljrs mellett ha n az SNR, cskken a BR. Mivel a kld az SNR-t az adsi jelcrssg nvelsvel tudja nvelni, a bithiba valsznsgnek cskkenst is az adsi jelcrssg nvelsvel tudja elrni. Vegyk azonban szre, hogy a gyakorlatban a BR igen kismrtk javulst rhetjk el az adsi jelerssg egy bizonyos kszbszint fel nvelsvel, pldul a BR 10 l2 -rl 10" ,3 -ra val cskken-

SNR dB)

tst. Az adsi jelcrssg nvelsnek htrnyai is vannak: az adnak tbb energit kell felhasznlnia (amely elg nagy gondot jelenthet akkumultorrl zemel mobil kszlkek esetben), ezenkvl az ads nagyobb valsznsggel fogja zavarni valamely ms ad adst (lsd a 6.4. (b) bra).

Adott SNR mellett egy nagyobb bitsebessggel br modulcis eljrsnak (akr hibzik, akr nem), nagyobb lesz a bithiba elfordulsnak valsznsge.
Pldul mg a 6.3. brn 10 dB-es SNR mellett az 1 Mb/s adattviteli sebessg BPSK-modulcinak 10 : -nl is alacsonyabb a bithiba valsznsge, addig 4 Mb/s sebessg QAM16 modulcit hasznlva 10 1 a bithiba-valsznsg, amely mg mindig tl magas ahhoz, hogy a gyakorlatban hasznos legyen, br 20 dB-es SNR mellett a QAM16 modulci adatsebessge 4 Mb/s, bithiba-valsznsge 10 7 , a BPSK modulci adatsebessge 1 Mb/s, bithiba-valsznsge pedig olyannyira kicsi, hogy (sz szerint) lekerlt a trkprl. Ha a QAM16 10 _: nagysg bithiba-valsznsge elfogadhat, akkor ez a modulcis eljrs az idelis vlaszts. Ezek a megfigyelsek adnak rtelmet az utols jellemznek, amelyet a kvetkezkben ismertetnk.

A fizikai szint modulcis eljrst dinamikusan vlaszthatjuk meg annak rdekben, hogy a modulci a csatorna jellemzihez alkalmazkodjon. Az SNR
(s gy a BR is) a mobilits vagy a krnyezet vltozsnak kvetkeztben mdosulhat. Adaptv modulcit s kdolst hasznlnak a cells adattviteli rendszerek, az IEEE 802.16 WiMAX- s az IEEE 802.11 WiFi-hlzatok, amelyeket a 6.3. alfejezetben trgyalunk. Ennek segtsgvel pldul kivlaszthatjuk azt a modulcis eljrst, amely egy bithibavalsznsgre megadott korlt s adott csatornajellemzk mellett a maximlis tviteli sebessget biztostja.

A magasabb s idben vltoz bithiba-valsznsg nem az egyetlen klnbsg a vezetkes s vezetk nlkli csatornk kztt. Emlkezznk vissza, hogy vezetkes adatszr csatornk esetben egy csompont adst valamennyi msik csompont veszi. Vezetk nlkli csatornk esetn a helyzet nem ilyen egyszer, ahogy azt a 6.4. brn is lthatjuk. Tegyk fel, hogy az A csompont tovbbt adatokat a B csompontnak. Tegyk l tovbb, hogy a C csompont is a B csompont fel tovbbt. A rejtett lloms problmja ak

6.4. bra. Akadly (a), illetve jelgyengls (b) kvetkeztben megjelen

rejtett lloms problma

kor ll fenn, ha a krnyezet fizikai akadlyai (pldul egy hegy vagy egy plet) miatt A s C csompont nem hallja egymst, habr adsaik B clcsompontnl zavarjk egymst. A problmt a 6.4. (a) brn figyelhetjk meg. szrevtlen tkzseket ezen fell a jel vezetk nlkli csatornn val terjedse kzbeni gyengls is okozhat. A 6.4. (b) brn lthatjuk azt az elrendezst, amelyben A cs C gy helyezkednek el, hogy jeleik nem ersek elgg ahhoz, hogy szleljk egyms adsait, de ahhoz mg elg ersek, hogy B csompontnl zavarjk egymst. Ahogy a 6.3. alfejezetben ltni fogjuk, a rejtett lloms problmja s a jelgyengls miatt a vezetk nlkli hlzatokban jval bonyolultabb a tbbszrs hozz frs problmja, mint a vezetkes hlzatokban.

6.2.1.

CDMA

Az 5. fejezetbl emlkezhetnk, hogy hosztok osztott csatornn keresztli kommunikcijhoz szksg van egy olyan protokollra, amely biztostja, hogy a klnbz adk ltal kldtt jelek ne zavarjk egymst a vev csompontoknl. Az 5. fejezetben a kzegelrsi protokollok hrom osztlyval ismerkedtnk meg, nevezetesen a csatornaosztsos protokollokkal, a vletlen hozzfrsi protokollokkal, valamint a adsjog-tvteli protokollal. A kdosztsos tbbszrs hozzfrs (code division multiple access, CDMA) a csatorna osztsos protokollok csaldjhoz tartozik, s uralja a vezetk nlkli helyi hlzatok, va lamint a mobilhlzatok terlett. Mivel a CDMA ennyire fontos a mobilhlzatokban, rviden megismerkednk vele, mg mieltt a kvetkez alfejezetekben belekezdennk az egyes vezetk nlkli hozzfrsi technikk tanulmnyozsba. CDMA protokoll hasznlata esetn a biteket gy kdoljuk, hogy beszorozzuk ket egy olyan jelsorozattal (a kddal), amely a tovbbtand bitek sorozatnl sokkal nagyobb sebessggel, a tredksebesggel (chipping rate) vltozik. A 6.5. brn megfigyelhetjk a CDMA-kdols/dekdols egy egyszer, idealizlt esett. Tegyk fel, hogy az egysgnyi idt az a sebessg definilja, amellyel az eredeti adatfolyam bitjei elrik a CDMA-kdolt - azaz az eredeti adatfolyam valamennyi bitjnek tovbbtshoz egy bitrsnyi idre van szksgnk. Legyen dt az /'-edik bitrsben kldend adatbit rtke. Hogy megfeleljnk a matematikai kvetelmnyeknek, a 0 rtk biteket -1 rtkkel fogjuk reprezentlni. Valamennyi bitrst tovbb osztunk M minirsre - a 6.5. brn M = 8, habr a gyakorlatban M rtke jval nagyobb ennl. A kldben hasznlt CDMA-kd rtkek A hossz sorozat bl ll, ezeket c r -mel jelljk, ahol m = 1,..., M, s a sorozat elemei a +1 vagy -1 rtkeket vehetik fel. A 6.5. brn az ad M bites CDMA-kdja (1, 1, 1, -1,1, -1, -1, -1). A CDMA mkdsnek megrtse rdekben vegyk most d-1, az /-edik adatbitet. A bit adsi idejnek m-edik minirsben a CDM A-kdol ki menete Z. wi , ami nem ms, mint a d rtk megszorozva a csomponthoz rendelt CDMA-kd m-edik bitjvel, c^-mel: 2,>= /, x c
( 6. 1)

Egy egyszer, egymst zavar adk nlkli vilgban a vev a kdolt Zm biteket vve visszalltan az eredeti d adatbitet a kvetkez kifejezs kiszmolsval:

Az olvas esetleg vgigszmolhatja a 6.5. bra pldjt, hogy lssa, hogy a (6.2) kplet hasznlatval a vev valban kpes helyesen visszalltani az eredeti adatbiteket. A vilg azonban egyltaln nem idelis, s gy, ahogy azt fent emltettk, a CDMA-nak klnbz kdokat hasznl, egymst zavar adcsompontok jelenlte mellett is mkdnie kell. De vajon hogyan lltja vissza a CDM A-t hasznl vev a kld eredeti bitjeit, amikor ezek a bitek ms adk bitjeivel interferlnak? A CDM A azt felttelezi, hogy kt egymst zavar bit jelei additvak. Ez azt jelenti pldul, hogy amennyiben hrom ad 1 rtket kld, egy negyedik ad pedig -1 rtket ugyanabban a minirsben, akkor abban a minirsben minden vev 2 rtket fog venni (mivel 1 + 1 + 1 - 1 = 2). Az s kld tbb ad jelenlte mellett is pontosan ugyangy kdolja a kldend Zsin. biteket, azaz a (6.1) kplet alapjn. Egy vev ltal az m-edik minirsben vett rtk most azonban az N kld ltal ebben a minirsben kldtt bitek sszege:

r,=2X

5*1

Kld

Csatorna Zim kimenete

Elkpeszt mdon, ha a kldk kdjait odafigyelssel vlasztjuk meg, valamennyi

vev kpes lesz kinyerni egy bizonyos ad ltal kldtt bitsorozatot sszegezdtt jelbl, pontosan ugyanazon a mdon, mint a (6.2) kpletnl:

az

d,=T.ZL*cm 1Y m1

(6.3)

Ezt lthatjuk a 6.6. brn is, kt CDMA-ad esetre. A fels kld ltal hasznlt M bites CDMA-kd (1, 1, 1, -1,1, -1, -1 -1), mg az als kld CDMA-kdja (1, -1,1,1,1, -1,1,1). A 6.6. brn azt is megfigyelhetjk, amint a vev kinyeri a fels ad eredeti adatbitjeit a vett jelbl. Figyeljk meg, hogy a vev kpes az 1. ad ltal kldtt adat kinyersre annak ellenre, hogy a 2. ad adsa is jelen van a csatornn. Ha visszaemlkeznk koktlpartis pldnkra az 5. fejezetbl, a CDMA protokoll ahhoz hasonlthat, mintha a partizok klnbz nyelveken beszlnnek. Ilyen krlmnyek kztt az emberi fl kpes rllni arra a nyelvre, amelyet megrt, a tbbi nyelven foly beszlgetseket meg kiszrni. Lthatjuk, hogy a CDMA egy olyan csatornaosztsos protokoll, amely a kdteret osztja fel (a frekvenciatartomny helyett), s minden csomponthoz a kdtartomny egy szelett rendeli. A CDMA protokollal val ismerkedsnket itt szksgkppen rvidre kell fognunk a valsgban azonban tbb dolgot is fontolra kell vennnk. Elszr is, annak rdekben, hogy a CDM A-vevk egyrtelmen ki tudjk nyerni egy bizonyos ad jelsorozatt, a kdokat nagy odafigyelssel kell megvlasztani. Msodszor, mi feltteleztk, hogy a klnbz adktl vett jelek erssge megegyezik - ezt azonban a gyakorlatban elg nehz elrni. Az ezen s ms tmakrkkel foglalkoz irodalom igen gazdag - lsd a [Pickholtz 1982] s [Viterbi 1995] anyagokat a rszletekrt.

6.3. WiFi: az IEEE 802.11 tpus vezetk nlkli helyi hlzatok


Az letnket mindenhol, a munkahelyeken, otthon, az oktatsi intzmnyekben, kvzkban, repltereken s utcasarkokon that vezetk nlkli helyi hlzatok mra a hozzfrsi hlzati megoldsok egyik legfontosabb kpviselje. Habr sokfle vezetk nlkli hlzati megolds s szabvny kerlt kidolgozsra az 1990es vekben, ezek kzl egy szabvnycsald emelkedett ki egyrtelm gyztesknt: az IEEE 802.11 vezetk nlkli helyi hlzat, ms nevn a WiFi. Ebben az alfejezetben kzelebbrl megismerkednk az IEEE 802.11-es vezetk nlkli helyi hlzatokkal, megvizsgljuk keretszerkezetket, tbbszrs hozzfrsi protokolljukat, valamint az IEEE 802.11-es s a vezetkes helyi h lzatok egyttmkdst. Szmos IEEE 802.11-es szabvny ltezik vezetk nlkli helyi hlzatokra, gy, mint az IEEE 802.11b, az IEEE 802.11a s az IEEE 802.llg. A 6.1. tblzat ezen szabvnyok fbb jellemzit foglalja ssze. E knyv rsakor (2007 tavaszn) mr rengeteg IEEE 802.1 lg eszkzt forgalmaznak a hozzfrsipont- s hlzatikrtyagyrtk, de nhny ketts mdban (dual-mode - IEEE 802.1 la/g), illetve hrmas mdban (tri-mode - IEEE 802.1 la/b/g) mkd eszkz is kaphat. A hrom IEEE 802.11 szabvnynak sok kzs tulajdonsga van. Ugyanazt a kzegelrsi protokollt, a CSMA/CA-t hasznljk, amellyel hamarosan megismerkednk. Ezen-

Kldk

6.6.

bra. Ktklds CDMA-pldci

Adat bitek

Kd

Z*m csatorna

1.vev

1. idrsben

0.

idrsben

a vev bemenete a vev bemenete

kvl mindhrom szabvny ugyanazt az adatkapcsolati szint keretszerkezetet hasznlja, mindhrom szabvny kpes az adattviteli sebessg cskkentsre nagyobb tvolsgok thidalsnak rdekben, vgl pedig mindhrom szabvny lehetv teszi ad hoc, illetve az infrastruktra md hasznlatt, amelyeket szintn megismernk nemsokra. Mindazonltal, ahogy a 6.1. tblzat is mutatja, a hrom szabvny fizikai rtegbeli tulajdonsgai nhny ponton sokban eltrnek.

6.1. tblzat. Az IEEE 802.11-es szabvnyok sszefoglalsa


Szabvny IEEE 802.11b IEEE 802.11a IEEE 802.1 lg Frekvenciatartomny (az Egyeslt llamokban) 2,4-2,485 GHz 5,1-5.8GHz 2,4-2,485 GHz Adattviteli sebessg 11 Mb/s-ig 54 Mb/s-ig 54 Mb/s-ig

Az IEEE 802.11b vezetk nlkli helyi hlzatok 11 Ylb/s adatsebessgre kpesek, s a szabadon hasznlhat 2,4-2,5 GHz-es frekvenciasvban mkdnek, ahol is a 2,4 Gllz-es hordozhat telefonokkal s a mikrohullm stkkel kell versenyeznik a frekvenciasvrt. Az IEEE 802.1 la vezetk nlkli helyi hlzatok ennl jelentsen nagyobb sebessgre kpesek, de nagyobb frekvencikat hasznlnak. A nagyobb frekvenciatartomny miatt az IEEE 802.1 la hlzatoknl kisebb a hattvolsg rgztett adteljestmny mellett, s job ban ki vannak tve a tbbutas terjeds hatsainak is. A IEEE 802.1 lg hlzatok az IEEE 802.11b hlzatokkal azonos, kisebb frekvenciatartomnyban mkdnek, s visszafel kompatibilisek az IEEE 802.11b hlzatokkal (teht meglv IEEE 802.11b klienseinket inkrementlisan frissthetjk), de az IEEE 802.11a hlzatok megnvekedett adattviteli sebessgre is kpesek, teht a kecske is jllakik, s a kposzta is megmarad. Egy j WiFi-szabvny, az IEEE 802.1 In [IEEE 802.1 In 2007] most van a szabvnyosts folyamatban. A IEEE 802.1 In tbbszrs kimeneti s tbbszrs bemeneti (multiple-in- put multiple-output - MIMO) antennkat hasznl, azaz kt vagy tbb antennt az ad oldalon s kt vagy tbb antennt a vev oldalon, amelyek klnbz jeleket adnak s vesznek [Diggavi 2004]. Br a szabvny mg nem vgleges, elzetesen legyrtott eszkzk mr lteznek, amelyek tesztjei azt mutatjk, hogy tbb, mint 100 Mb/s adattviteli sebes sg rhet el a gyakorlatban [Loh 2006]. A szabvny egy nagy megoldatlan problmja azonban, hogy hogyan fog egyttmkdni a mr ltez IEEE 802.1 la/b/g eszkzkkel.

6.3.1. Az IEEE 802.11 architektra


A 6.7. bra az IEEE 802.11 hlzatok f komponenseit mutatja. Az IEEE 802.11 architektra egyik legalapvetbb pteleme az alap szolgltatscsoport (basic service set - BSS). Egy BSS legalbb egy vezetk nlkli llomst s egy kzponti bzisllomst tartalmaz, amelyet IEEE 802.1 l-es terminolgival hozzfrsi pontnak (acces point, AP) neveznk. A 6.7. brn lthatjuk, hogy a kt BSS hozzfrsi pontjai valamilyen sszekt eszkzhz (pldul kapcsolhoz vagy tvlaszthoz) csatlakoznak, amely az internethez is kapcsoldik. Egy tipikus otthoni hlzat egy hozzfrsi pontot s egy tvlasztt tar talmaz (amelyeket ltalban egytt, egy eszkzn bell valstanak meg), amely sszekti a BSS-t az internettel. Az Ethernet-eszkzkhz hasonlan valamennyi IF.EE 802.1 l-es vezetk nlkli lloms rendelkezik egy 6 bjtos MAC-cmmel, amelyet az lloms hlzati csatoljban (teht IEEE 802.1 l-es hlzati interfszkrtyjban) trolnak szoftveresen. Ezen fell a hozzfrsi pontok vezetk nlkli interfszeinek is van MAC-cme. Ahogy az Ethernet esetben is, ezeket a MAC-cmeket is az IEEE kezeli,

s (elmletileg) ezek a cmek is egyediek mindenhol a vilgon. Ahogy korbban emltettk (lsd 6.1. alfejezet), a hozzfrsi pontokat tartalmaz vezetk nlkli helyi hlzatokat infrastruktrn alapul vezetk nlkli helyi hlzatoknak (infrastructure wireless LANs) is nevezzk, ahol az infrastruktra a hozzfrsi pon-

Kapcsol vagy

Internet

1.BSS 2.BSS

6.7. bra. IEEE 802.11 helyi hlzati architektra tokbl s az azokat, valamint az tvlasztt sszekt vezetkes Ethernetes infrastruktrbl ll. A 6.8. brn lthatjuk, hogy az IEEE 802.11 llomsok ad hoc hlzatba is csoportosulhatnak - azaz egy olyan hlzatba, amelyben nincs kzponti vezrls, s amely nem ll sszekttetsben a kinti vilggal. A hlzatot ebben az esetben menet kzben alaktjk ki olyan mobil eszkzk, amelyek szrevettk, hogy kzel vannak egymshoz, amelyek kommuniklni szerelnnek egymssal, s amelyek nem talltak semmilyen mr felplt hlzatot a krnyken. Ad hoc hlzatok ltrejhetnek, amikor klnbz emberek laptopjai egyms kzelbe kerlnek (pldul konferenciaieremben, vonaton vagy au tban), s kzponti hozzfrsi pont irnytsa nlkl szeretnnek adatokat cserlni. Bl z ad hoc hlzatokat a hordozhat kommunikcis eszkzk fejldsvel egyre nagyobb rdeklds vezi, ebben az alfejezetben mi az infrastruktrn alapul vezetk nlkli helyi hlzatokat fogjuk megvizsglni.

Csatornk s trsuls
Az IEEE 802.11 hlzatokban valamennyi vezetk nlkli llomsnak trsulnia (kapcsoldnia) kell egy hozzfrsi ponthoz, mieltt hlzati rtegbeli adatokat tudna kldeni vagy fogadni. Habr a trsulst valamennyi IEEE 802.11 szabvny hasznlja, mi itt az IEEE 802.1 lb/g szabvny esett fogjuk vizsglni. Amikor egy rendszergazda mkdsbe helyez egy hozzfrsi pontot, egy egyvagy kt- szavas szolgltatscsoport-azonostt (Service Set Identifier, SSID) rendel a hozzfrsi ponthoz. (Pldul amikor az Elrhet vezetk nlkli hlzatok megjelentse menpontra kattintunk Microsoft Windows XP alatt, a hozzfrsi pontok SSID-it tartalmaz listt kapunk.) A rendszergazdnak ezenfell egy csatornaszmot is kell rendelnie a hozzfrsi ponthoz. Hogy megrtsk a

csatornaszmok szerept, emlkezznk vissza, hogy az IEEE 802.11 hlzatok a 2,4 GHz-tl 2,485 GHz-ig terjed frekvenciasvban mBSS

6.8. bra. Egy IEEE 802.11 ad hoc hlzat kdnek. Ezen a 8 MHz-es svon bell az IEEE 802.11 szabvny 11, egymst rszben tfed csatornt definil. Kt csatorna akkor s csak akkor nem tfed, ha ngy vagy tbb csatorna vlasztja el ket. Valjban az 1, 6 s 11 csatornkbl ll halmaz az egyetlen hromelem, nem tfed csatornkbl ll halmaz. Ez azt jelenti, hogy a rendszergazda hrom hozzfrsi pont azonos helyen trtn felszerelsvel, s az 1, 6 s 11 csatornk hozzfrsi pontokhoz val rendelsvel egy 33 Mb/s sszestett tviteli sebessg vezetk nlkli hlzatot hozhat ltre. Most, hogy mr rtjk az IEEE 802.11 csatorninak alapjait, vizsgljunk meg egy rdekes (s a gyakorlatban nem teljesen szokatlan) pldt - a WiFi-dzsungel pldjt. Egy WiFi-dzsungel (WiFi jungle) egy olyan helyet jelent, ahol egy vezetk nlkli lloms tbb hozzfrsi ponttl is kpes elg ers jelet venni. Pldul New York vrosnak tbb kvzjban az lloms tbb krnykbeli hozzfrsi pont jelt is tudja fogni. Az egyik hozzfrsi pont lehet pldul a kvz sajtja, mg a tbbi hozzfrsi pont lehet a krnykbeli laksok otthoni hlzatnak hozzfrsi pontja. Ezekhez a hozzfrsi pontokhoz mindemellett kln-kln rendeltek csatornkat, s knnyen tartozhatnak klnbz IP-alhlzatokhoz. Tegyk fel most, hogy az olvas hordozhat szmtgpvel a kezben, vezetk nlkli internet-hozzfrst s egy alms rtest keresve belp egy ilyen WiFidzsungelbe. Tegyk fel, hogy a WiFi-dzsungelben t hozzfrsi pontot tallunk. A vezetk nlkli internetelrs rdekben pontosan egy alhlzathoz kell csatlakoznunk, s gy pontosan egy hozzfrsi ponttal kell trsulnunk. A trsuls nem jelent mst, minthogy a vezetk nlkli lloms egy virtulis vezetket hoz ltre maga s a hozzfrsi pont kztt. Bvebben kifejtve, kizrlag a trsult hozzfrsi pont fog vezetk nlkli llomsunkra kereteket (teht adatokat, pldul felsbb szint adatcsomagokat tartalmaz kereteket) kldeni, illetve vezetk nlkli llomsunk kizrlag a trsult hozzfrsi ponton keresz tl fog adatokat kldeni az internetre. De vajon hogyan trsul a vezetk nlkli lloms egy bizonyos hozzfrsi ponttal? Vagy egy mg alapvetbb krds: Hogyan tudja meg a vezetk nlkli lloms, hogy milyen hozzfrsi pontokhoz kapcsoldhat, ha azok a dzsungelben vannak? Az IEEE 802.11 szabvny szerint a hozzfrsi pontnak n. jelzfnykereteket (beacon frames) kell periodikusan kldenie, amelyek a hozzfrsi pont SSID-jt s

MAC-cmt

6.2. VEZETS

NLKLI ADATKAPCSOI-ATOK S HLZATI JELLEMZK

239

tartalmazzk. Vezetk nlkli llomsunk gy annak tudatban, hogy a hozzfrsi pontok jelzfnykereteket kldenek, psztzni kezdi a 11 csatornt ilyen, hozzfrsi pontoktl szrmaz jelzfnykeretet keresve. (A hozzfrsi pontok kzl nhny lehet, hogy ugyanazt a csatornt hasznlja - hiszen egy dzsungelben vagyunk!) Miutn megismertk a krnykbeli hozzfrsi pontokat, kivlaszthatunk (vagy vezetk nlkli llomsunk ki vlaszthat) kzlk egyet, amelyhez kapcsoldni fogunk. Az IEEE 802.11 szabvny nem tartalmaz semmilyen algoritmust a hozzfrsi pont kivlasztsra - ez az algoritmus az IEEE 802.11-es firmware- illetve szoftvertervezkre maradt. A hoszt ltalban azt a hozzfrsi pontot vlasztja, amelyiknek a legnagyobb a jelerssge. Br a nagy jelerssg alapjban vve j (lsd pldul 6.3. bra), nem ez az egyetlen tnyez, amely meghatrozza, hogy a hoszt milyen teljestmnnyel kpes venni. Elfordulhat ugyanis, hogy br a hozzfrsi pont jelerssge nagy, ms hosztok tlterhelik (amelyeknek osztoznia kell a hozzfrsi pont vezetk nlkli svszlessgn), mg egy msik, egyltaln nem leterhelt hozzfrsi pontot azrt nem vlasztunk ki, mert ki csi a jelerssge. A hozzfrsi pontok kivlasztsra tbb megolds szletett (Vasudevan 2005; Nicholson 2006; Sudaresan 2006). [Bardwell 2007) rdekesen s kzrtheten r a jelerssg mrsrl. A csatornk psztzst s jelzfnyzenetek keresst passzv psztzsinak (passive scanning) nevezzk (lsd 6.9. (a) bra). A vezetk nlkli hoszt ezen kvl aktv psztzsi (active scanning) is vgezhet, amely sorn egy vizsglati keretet (probe frame) kld ki. Ezt a keretet valamennyi, a vezetk nlkli hoszt hatsugarn belli hozzfrsi pont venni fogja, ahogy azt a 6.9. (b) bra is mutatja. A hozzfrsi pontok a keretre egy vizsg lati vlaszkerettel reaglnak. A vezetk nlkli hoszt a vlaszol hozzfrsi pontok kzl ezutn kivlaszthatja azt, amelyikhez kapcsoldni szeretne. A hozzfrsi pont kivlasztsa utn a vezetk nlkli hoszt egy trsulsi krszenetet kld a hozzfrsi pontnak, amelyre az egy trsulsi vlaszzenettel felel. Vegyk szre,

a) Passzv psztzs
1. 2. 3. Az AP-k jelzfnykereteket kldenek Hl a vlasztott AP-nek trsulsi krszenetet kld A vlasztott AP H 1-nek trsulsi vlaszzenetet kld b)

Aktv psztzs
Hl vizsglati krszenetet kld krzvnyknt zenetszrssal Az AP-k vizsglati vlaszzenetet kldenek Hl a vlasztott AP-nek trsulsi krszenetet kld A vlasztott AP H1 -nek trsulsi vlaszzenetet kld

1. 2. 3. 4.

6.2. VEZETK

NLKLI ADATKAPCSOLATOK S HLZATI JELLEMZK

240

hogy erre a msodik krs-vlasz zenetprra is szksg van, hiszen a kezdeti vizsglati keretre vlaszol hozzfrsi pont nem tudhatja, hogy (a felteheten sok hozzfrsi pont kzl) a hoszt melyiket fogja vlasztani, hasonlan ahhoz, amikor a DHCP-kliensek tbb DHCP-szerver kzl vlaszthatnak (lsd 4.21. bra). Miutn trsult az AP-vel, a hoszt kapcsoldni kvn a hozzfrsi pontot tartalmaz alhlzathoz is (abban az rtelemben, ahogy azt a 4.4.2. alfejezetben az IPcmzssel kapcsolatban megismertk). A hoszt ezrt a hozzfrsi ponton keresztl egy DHCP felfedez zenetet fog kldeni (lsd 4.21. bra) az alhlzatra. Miutn a hoszt megszerezte az IP-cmt, a klvilg szmra gy ltszik, mint egy jabb, IP-cmmel rendelkez hoszt az alhlzaton. A hozzfrsi ponttal val trsuls rdekben a vezetk nlkli llomsnak bizonyos esetekben hitelestenie kell magt a hozzfrsi pont fel. Az IEEE 802.11-es vezetk nlkli helyi hlzatok a hitelestsre s hozzfrsre tbb megoldst is knlnak. Egyik lehetsges, sok cg ltal alkalmazott megolds az, amikor a vezetk nlkli hlzathoz val hozzfrst az lloms MAC-cime biztostja. Egy msik megolds, amelyet szmos internet kvzban hasznlnak, a felhasznlk nvvel s jelszval trtn azonostsa. A hozzfrsi pont ltalban mindkt esetben egy hitelestsi szerverrel kommunikl, s a vezetk nlkli lloms s a hitelestsi szerver kztt tovbbt informcit egy RA- DlUS-hoz [RFC' 2865] vagy DIAMETER-hez [RFC 3588] hasonl protokoll segtsgvel. A hitelestsi szervert azrt rdemes elvlasztani a hozzfrsi pontoktl, mert gy egy hitelestsi szerver tbb hozzfrsi pontot is vezrelhet, egyetlen szerveren kzpontostva a hitelests s hozzfrs (sokszor rzkeny) dntseit, s ezzel cskkentve a hozzfrsi pontok kltsgeit s mkdsk bonyolultsgt. A 8.8. alfejezetben ltni fogjuk, hogy az j, az IEEE 802.11 protokoll biztonsgi krdseit definil IEEE 802.1 li protokoll is pontosan ezt az utat kveti.

6.3.2. Az IEEE 802.11 MAC protokoll


Miutn egy vezetk nlkli lloms valamely hozzfrsi ponttal trsult, megkezdheti adatkeretei tovbbtst, illetve vtelt a hozzfrsi pont fel vagy afell. Mivel azonban adott esetben ugyanazon a csatornn egyszerre tbb lloms is forgalmazni kvn, szksgnk van a kerettovbbtsokat szablyoz tbbszrs hozzfrsi protokollra. Itt lloms alatt akr a hozzfrsi pontot, akr a vezetk nlkli llomst rthetjk. Ahogy az 5. fejezetben s a 6.2.1. alfejezetben mr megbeszltk, a tbbszrs hozzfrsi protokol lokat hrom nagy csoportba sorolhatjuk. Ezek a csatornaosztsos protokollok (idertve a CDMA-t is), a vletlen hozzfrsi, illetve az adsjog-tvteli protokollok. Az IEEE 802.11 tervezit az Ethernet risi sikere s annak tbbszrs hozzfrsi protokollja inspirlta, amikor kivlasztottk az IEEE 802.11 vezetk nlkli helyi hlzatok tbbszrs hozzfrsi protokolljt. Ezt a tbbszrs hozzfrsi protokollt tkzselkerlses CSMA-nak (CSMA with collision avoidance), vagy egyszeren CSMA/CA-nak nevezik. Ahogy az Ethernet CSMA/CD protokolljnl, gy a CSMA/CA protokollnl is a CSMA vivr- zkelses tbbszrs hozzfrst (carrier sense multiple access) jelent, azaz az llomsok ads eltt belehallgatnak a csatornba, s ha azt foglaltnak talljk, nem kezdik meg ke rettovbbtsukat. Habr mind az Ethernet, mind az IEEE 802.11 vivrzkelses vletlen hozzfrst hasznl, a kt protokollban tbb nagy eltrst is felfedezhetnk.

6.3. bra. Bithiba-valsznsg, adattviteli sebessg s SNR

6.2. VEZETS

NLKLI ADATKAPCSOI-ATOK S HLZATI JELLEMZK

241

Elszr is, tkzsrzkels helyett az IEEE 802.11 tkzselkerlsi mdszereket hasznl. Msodszor, a vezetk nlkli csatornk viszonylag magas bithiba-valsznsge miatt az IEEE 802.11 (az Ethernettel ellenttben) adatkapcsolati szint nyugtzst s jraadst (ARQ) alkalmaz. Az tkzselkerlsi s adatkapcsolati szint nyugtzsi technikkat a kvetkezkben trgyaljuk. Az 5.3., illetve 5.5. alfejezetekbl emlkezhetnk, hogy egy Ethernetes lloms hallgatja a csatornt ads kzben, s amennyiben msik lloms forgalmazst rzkeli, felfggeszti adst, s egy rvid, vletlenszeren vlasztott idtartam letelte utn jra prblkozik az adssal. Az IEEE 802.3-as Ethernet-szabvnnyal ellenttben az IEEE 802.11 MAC protokoll nem hasznl tkzsrzkelst. Ennek kt f oka van: Az tkzsrzkelshez szksges, hogy az llomsok egyszerre tudjanak kldeni (sajt jeleiket kldeni) s fogadni (rzkelni a tbbi lloms adst forgalmazs kzben). Mivel az IEEE802.il csatol ltal vett jel erssge ltalban rendkvl gyenge a kldtt jel erssghez kpest, az tkzsrzkel hardver drga lenne. A lnyegesebb problma azonban az, hogy mg ha a csatolk tudnnak egyszerre adni s venni (s gy felfggeszteni az adst foglalt csatorna esetn), egy csatol mg mindig nem volna kpes azsszes tkzs rzkelsre a 6.2. alfejezetben trgyalt rejtett lloms problmja s a jelgyengls miatt. Mivel az IEEE 802.11-es vezetk nlkli helyi hlzatok nem hasznlnak tkzsrzkelst, egy keretadsba kezd csatorna az egsz kerett tovbbtja, azaz ha az lloms keretadsba kezd, nincs visszat. rezhetjk, hogy egsz keretek tovbbtsa (klnskppen nagyobb mret keretek esetn) gyakori tkzsek mellett nagymrtkben cskkentheti egy tbbszrs hozzfrsi protokoll teljestmnyt. Az tkzsek valsznsgnek csk kentse rdekben ezrt az IEEE 802.11 szabvny szmos tkzselkerlsi mdszert hasznl. Ezekkel hamarosan megismerkednk. tkzselkerlsi mdszerekkel val ismerkedsnk eltt mg meg kell vizsglnunk az IEEE 802.11 szabvny adatkapcsolati szint nyugtzsi (link-layer acknowledgement) mdszert. A 6.2. alfejezetben emltettk, hogy amikor egy vezetk nlkli hlzathoz csatlakoz lloms egy keretet tovbbt, ez a keret nem felttlenl r el srtetlenl a cmzett llomshoz. Mivel az ilyen esetek elfordulsnak eslye nem elhanyagolhat, az IEEE 802.11 MAC protokollja adatkapcsolati szint nyugtkat hasznl. Ahogy azt a 6.10. brn is lthatjuk, mikor a cllloms ltal fogadott keret sikeresen tmegy a CRC-ellenrzsen, ki kell vrnia az n. rvid keretkzi id (Short Inter-frame Spacing, SIFS) leteltt, majd visszakldenie egy nyugtt. Amennyiben a kld lloms nem kap nyugtt egy bizonyos idn bell, azt felttelezi, hogy hiba trtnt az tvitel sorn, a CSMA/CA protokoll segtsgvel hozzfr a csatornhoz, s jraadja a keretei. Amennyiben tbb jraads utn sem kap nyugtt, a kld lloms feladja, s nem prblkozik tbbet a keret tovbbtsval. Most, hogy mr rtjk az IEEE 802.11 adatkapcsolati szint nyugtzsnak mkdst, belekezdhetnk a CSMA/CA protokoll tanulmnyozsba. Tegyk fel,

242

6. VEZETK ^LKLI

S MOBILHLZATOK

hogy valamely lloms (teht egy vezetk nlkli lloms vagy egy hozzfrsi pont) egy keretet kvn tovbbtani.
Forrs Cl

:
OV^ 13

:TS,FS

p*"~

6.10. bra. Az IEEE 802.11 adatkapcsolati szint nyugtkat hasznl 3. Amikor a szmll rtke 0-ra cskken (figyeljk meg, hogy ez csak akkor kvetkezhet be, amikor a csatornt szabadnak rzkeljk), az lloms a teljes keretet tovbbtja, majd nyugtra vr. 4. Amennyiben megrkezett a nyugta, a kld lloms biztos lehet benne, hogy kerete psgben megrkezett a vevhz. Ha a kldnek mg van tovbbtand kerete, a 2. lpsre ugorva kezdi meg a CSMA/CA protokoll vgrehajtst. Ha nem rkezik nyugta, a kld csompont visszatr a 2. lps visszalpsi fzishoz egy nagyobb intervallumbl vlasztott vletlen rtkkel. Emlkezhetnk, hogy az Ethernet esetben hasznlt CSMA/CD tbbszrs hozzfrsi protokollnl (5.5.2. alfejczet) egy lloms rgtn megkezdi adst, amint a csatornt szabadnak rzkeli. Ezzel szemben a CSMA/CA protokollnl az lloms addig nem kezd bele a kerettovbbtsba, amg a szmll le nem jr, mg akkor sem, ha kzben a csatornt szabadnak rzkeli. Vajon mirt tr el a kt protokoll ezen a ponton ennyire? A krds megvlaszolshoz kpzeljnk el egy olyan helyzetet, ahol kt llomsnak van tviend adata, de egyik sem kezdi meg adst, mivel szlelik, hogy egy harmadik lloms mr foglalja a csatornt. Az Ethernet CSMA/CD protokollja szerint mindkt csatorna azonnal megkezden adst, amint a

6.2. VEZETS

NLKLI ADATKAPCSOI-ATOK S HLZATI JELLEMZK

243

csatornt szabadnak rzkeli. Ez tkzshez vezetne, ami nem nagy problma a CSMA/CD esetn, mivel a kt lloms felfggeszten adst, s nem tovbbtan flslegesen a keretek megmarad rszeit. Az IEEE 802.11 esetben

244

6. VEZETK

NLKLI S MOBILHLZATOK

azonban ms a helyzet. Mivel ugyanis az IEEE 802.11 nem rzkel tkzst s nem szakt meg kerettovbbtst, az tkz keretek teljes egszkben tovbbtsra kerlnek. Az IEEE 802.11 clja teht az, hogy ahol csak lehet, elkerlje az tkzseket. IEEE 802.11 esetn ha a kt csompont foglaltnak rzkeli a csatornt, mindketten a vletlen ideig tart visszalps fzisba kerlnek, amelyhez remlhetleg klnbz rtkeket vlasztanak. Amennyiben a visszalpsi rtkek valban klnbzek, a csatorna szabadd vlsa utn az egyik lloms hamarabb kezdi el kerete tovbbtst, mint a msik, s (amennyiben a kt lloms ltja egymst), a vesztes lloms hallja a gyztes lloms jelt, meglltja a szmlljt, s addig nem forgalmaz, amg a gyztes lloms foglalja a csatornt. Ily mdon sikerlt elkerlnnk egy kltsges tkzst, de termszetesen mg mindig trtnhetnek tkzsek az IEEE 802.11 hlzatban: Az llomsok pldul lthatatlanok lehetnek egyms szmra, vagy vlaszthatnak klnbz visszalpsi rtkeket, amelyek elg kzeliek ahhoz, hogy a gyztes lloms jelei ne rjk el elg hamar a vesztes llomst. Emlkezznk vissza, hogy ezzel a problmval mr foglalkoztunk korbban, a vletlen hozzfrsi protokollok trgyalsakor az 5.14. brn.

A rejtett llomsok problmjnak kezelse: RTS s CTS


Az IEEE 802.11 MAC protokoll a fentieken kvl tartalmaz egy tletes (de opcionlis) foglalsi mdszert, amely mg rejtett llomsok jelenlte esetn is segti az tkzsek elkerlst. Vizsgljuk meg ezt a mdszert a 6.11. bra pldjnak alapjn, amely kt vezetk nlkli llomst s egy hozzfrsi pontot brzol. Mindkt vezetk nlkli lloms a hozzfrsi pont hatsugarn bell tallhat (amely lefedettsget a stt kr jelzi), s mindketten tr sultak a hozzfrsi ponthoz. A jelgyengls kvetkeztben azonban a vezetk nlkli l lomsok hatsugara a 6.11. bra vilgosabb kreire korltozdik. gy a kt vezetk nlkli lloms egyms szmra lthatatlan, de a hozzfrsi pont szmra mindkett lthat. Nzzk most meg, hogy ez milyen problmt okozhat. 'legyk fel, hogy a Hl lloms ppen keretet tovbbt, s a tovbbts felnl H2 is keretet kvn tovbbtani a hozzfrsi pontnak (az AP-nak). H2 nem rzkeli Hl adst, elszr DIFS ideig vr, majd megkezdi a kerettovbbtst. Az eredmny termszetesen tkzs. A csatorna gy H1 s H2 adsa alatt is kihasznlatlanul marad.

'o
Hl
AP

H2

6.5. bra. Egyszer CDMA-pldo: a kld kdol, o vev dekdol

6.3. WIFI: az IEEE 802.11

tpus vezetk nlkli helyi hlzatok

245

Az ilyen helyzetek elkerlsre az IEEE 802.11 protokoll lehetv teszi az llomsok szmra a rvid adskrs (Request to Send, RTS), illetve adsra ksz (Clear to Send, CTS) vezrlkeretek hasznlatt annak rdekben, hogy a csatornt adsra lefoglaljk. Mikor egy kld egy adatkeretet (DATA) szeretne tovbbtani, elszr egy RTS-keretet kld a hozzfrsi pontnak, amelyben jelzi a DATA- s az ACK-keretek tovbbtshoz szksges teljes idt. Amikor a hozzfrsi pont RTS-keretet vesz, egy krzvnyknt kldtt CTS-kerettel vlaszol. Ez a CTS-keret ketts clt szolgl: Egyrszt engedlyezi az adnak a kerettovbbtst, msrszt a tbbi llomst arra utastja, hogy a lefoglalt idszakban tartzkodjanak a kerettovbbtstl. Ennek megfelelen a 6.12. bra Hl llomsa az adatkeret tovbbtsa eltt, elsknt k- rzvnyknt kikild egy RTS-keretet, amelyet a hatsugarban lv llomsok, kztk a hozzfrsi pont is szlel. A hozzfrsi pont ezek utn egy CTS-kerettel vlaszol, amelyet valamennyi, az hatsugarban tallhat lloms vesz, belertve Hl-et s H2-t is. H2 a CTS-keret vtele utn tartzkodik a kerettovbbtstl, a CTS-keretben megadott idtartam lejrtig. A 6.12. brn lthatjuk az RTS-, CTS-, ADAT- s ACK-kereteket. Az RTS- s CTS-keretek hasznlata ktflekppen nvelheti a teljestmnyt: A lthatatlan llomsok ltal okozott problma mrskldik, hiszen a ADATkeret tovbbtsa kizrlag a csatorna lefoglalsa utn kezddhet meg. Mivel az RTS- s CTS-keretek rvidek, tkzsk csak a keretek ltal ignyelt rvid ideig fog tartani. Az RTS- s CTS-keretek sikeres tovbbtsa utn a ADAT- s ACK- kereteket mr tkzs nlkl lehet tovbbtani. Ajnljuk, hogy az olvas nzze meg a knyvhz tartoz weboldalon tallhat IEEE 802.11 appletet. Ez az interaktv applet a CSMA/CA protokoll mkdst szemllteti, belertve az RTS- s CTS-keretek kldst is. Habr az RTS- s CTS-keretek hasznlata cskkenti a keret t kzsek szmt, ksleltetst okoz, s hasznlja a csatorna erforrsait. Emiatt az RTS- s CTSkereteket csak olyan esetben hasznljk, amikor hossz adatkeretet kell tvinni (ha egyltaln hasznljk). A gyakorlatban minden vezetk nlkli lloms bellthat egy olyan RTS-kszbrtket, hogy az RTS/CTS-szekvencia csak akkor jusson szerephez, amikor az adatkeret hosszabb a kszbrtknl. Sokszor a kszbrtk meghaladja a maximlis keretmretet, gy az RTS/CTS-szekvencia elmarad valamennyi elkldtt adatkeret ell.

Az IEEE 802.11 hasznlata ktpontos sszekttetshez


Mindeddig gy tekintettnk az IEEE 802.11 protokollra, mint amely tbbszrs hozzfrst biztost. Meg kell azonban emltennk, hogy amennyiben kt csompontnak irnytott antenni vannak, azokat egyms fel fordthatjk, s hasznlhatjk az IEEE 802.11 protokollt efelett a lnyegben ktpontos

246

6. VEZETK ^LKLI

S MOBILHLZATOK

sszekttets felett. Nhny olcsn kaphat IEEE 802.11 hardvereszkzzel, irnytott antennkkal s megnvelt adteljestmnnyel gy tbb tz kilomteres vezetk nlkli ktpontos sszekttetseket hozhatunk ltre kis kltsggel. [Raman 2007] egy az indiai Gangesz-sksgon mkd sok csompontos hlzatrl r, amely ilyen vezetk nlkli ktpontos sszekttetseket tartalmaz.

6.3. WIFI: az1HHE 802.11


Forrs (Hl)

tpusu vezetk nlkli helyi hlzatok


Cl (AP) Az sszes tbbi csompont

247

<< >

ksleltetse

248

6. VF.ZETK

NLKLI S MOBILHLZATOK

6.12. bra. tkzselkerls RTS- s CTS-keretek hasznlatval

6.3.3. Az IEEE 802.11 keretszerkezete


Habr az IEEE 802.11 keretszerkezete sokban hasonlt az Ethernet protokollhoz, tartalmaz nhny, kifejezetten vezetk nlkli csatornk miatt szksges mezt. Az IEEE 802.11 keretszerkezett a 6.13. bra mutatja. A mezk feletti szmok azok bjtokban kifejezett hosszait jelentik, a vezrlmez almezi feletti szmok pedig az almezk bitekben kifejezett hosszra vonatkoznak. Vizsgljuk most meg a keret mezit s a vezrlmez nhny fontosabb a 1 mezjt.

6.9. bra. Hozzfrsi pontok keresse aktv, illetve passzv psztzssal

6.3. WiFi: av IEEE 802.11


Keret: 2 2 6
Vezerlo- . . . . cmmez

tpus vezetk nlkli helyi hlzatok


6 6 2 6 0-2312
Adatmez

249
4
CRC

1. Idtartam mez

2. 3. 4. - , - Sorszm cmmez cmmez cmmez

A kifejtett vezrlmez: 2 24 1 Protokollverzi


Cl "P AP
US

'

U5 AI

111 1 I1 Forrs Tbb jrapr- Tpenergia- Tbb AP darab blkozs gazdlkods adat WEP Lefo9lalt

1 ,,,,

6.13. bra. Az IEEE 802.11 keretszerkezete

Adatmez s CRC-mez
A keret szvben tallhat az adatmez (payload), amely tipikusan egy IP- vagy egy ARP-csomagot hordoz. Habr a mez maximlis megengedett hossza 2312 bjt, ltalban 1500 bjtnl rvidebb, amely elegend egy IP- vagy egy ARPcsomag szmra. Az Ethernet-keretekhez hasonlan az IEEE 802.11 keret is 32 bites ciklikus redundancia-ellenrzst (CRC) hasznl annak rdekben, hogy a vev rzkelhesse, ha a vett keret hibs. Ahogy korbban lttuk, a bithibk a vezetk nlkli helyi hlzatokon jval gyakoribbak, mint a vezetkeseken, gy a CRC-meznck itt tbb hasznt vesszk.

Cmmezk
Az Ethernet s az IEEE 802.11 protokoll keretszerkezete kztt taln a legszembetnbb eltrs az, hogy az utbbi ngy cmmezvel rendelkezik, amelyek kzl mindegyik egy 6 bjtos MAC-cmet tartalmazhat. De vajon mi szksg van ngy cmmezre? Nem elg a forrs s a cl MAC-cme, ahogy az Ethernet esetben is? Ltni fogjuk, hogy a hrom cm mezre klnbz hlzatok sszekapcsolsakor lehet szksg - klnskppen akkor, amikor egy hlzati rtegbeli adatcsomagot egy vezetk nlkli llomstl valamely hoz zfrsi ponton keresztl egy tvlaszt valamely interfszhez mozgatunk. A negyedik cmmez akkor jut szerephez, amikor a hozzfrsi pontok ad hoc mdban tovbbtanak egymsnak kereteket. Mivel mi csak az infrastruktrval rendelkez hlzatokkal foglalkozunk, nzzk meg, mire j az els hrom cmmez. F.zeket a cmmezket a szabvny a kvetkezkppen definilja:

250

6. VEZETK ^LKLI

S MOBILHLZATOK

Hogy megrtsk a 3. cmmez szerept, emlkezznk vissza, hogy a BSS (amely a hozzfrsi pontot s a vezetk nlkli llomsokat is tartalmazza) egy alhlzat rsze, s ez az alhlzat egy tvlaszt valamely interfszn keresztl csatlakozik tovbbi alhlzatokhoz. A 3. cmmez az tvlaszt ezen interfsznek MAC-cmt tartal mazza. Hogy mg jobban tlssuk, mire j a 3. cmmez, vegynk egy tbb hlzat egyttmkdsrl szl pldt, amelyet a 6.14. brn lthatunk. Az brn kt hozzfrsi pont szerepel, amelyek kln-kln tbb vezetk nlkli llomsrt felelnek. Mindkt hozzfrsi pont kzvetlenl kapcsoldik egy tvlaszthoz, amely sszekttetsben ll az internettel. Nem szabad elfelejtennk, hogy a hozzfrsi pontok adatkapcsolati szint eszkzk, s gy nem beszlik az IP nyelvt, s nem rtik az IP-cmeket sem. Kpzeljk el most azt az esetet, amikor az R tvlaszt-interfszrl a Hl llomshoz szeretnnk egy csomagot tovbbtani. Az tvlaszt ekkor nem tud arrl, hogy kzte s Hl kztt van egy hozz frsi pont - az tvlaszt szemszgbl a Hl egyszeren csak egy hoszt az tvlaszthoz kapcsold egyik alhlzaton. Az tvlaszt ismeri Hl hoszt IP-cmt (az adatcsomag clcmmezjbl), gy az A RP protokoll segtsgvel kiderti Hl MAC-cmt is, csakgy, mint egy egyszer Ktherne- tes helyi hlzatnl. Miutn mr tudja a M AC-cmet, az R tvlaszt-interfsz becsomagolja az adatcsomagot egy Ethernet-keretbe. Az Ethernet-keret forrscmmezje R MAC-cmt tartalmazza, a clcmmez pedig Hl MAC-cmt. Amikor a hozzfrsi pont veszi a keretet, ezt a 802.3 Ethernet-keretet IEEE 802.11 kerett alaktja, mg mieltt kiklden a vezetk nlkli csatornra. Az 1. s 2. cmmezbe rendre berja H1 s a sajt MAC-cmt, ahogy azt fent megbeszltk. A 3. cm-

2. BSS

A cmmezk hasznlata kerettovbbts H1 s R kztt


6.14. bra.

az

IEEE

802.11

protokollban:

6.3. WIFI: az IEEE 802.11

tpus vezetk nlkli helyi hlzatok

251

252

6. VEZETK ^LKLI

S MOBILHLZATOK

mezben a hozzfrsi pont R MAC-cmt helyezi el. Ily mdon III (a 3. cmmezbl) megllapthatja a csomagot az alhlzatra kikld tvlasztinterfsz MAC- cmt. Gondoljunk most bele, hogy mi trtnik, amikor tovbbtand adatcsomaggal szeretne vlaszolni. Hl egy Hl-tl Rl-nek

Hl ltrehoz egy IEEE 802.11 keretet, amely 1. s 2. cmmezjben rendre elhelyezi a hozzfrsi pont s a sajt (Hl) MAC-cmt, a korbban trgyaltaknak megfelelen. A 3. cmmezbe R MAC-cme kerl. Amikor a hozzfrsi pont megkapja az IEEE 802.11 keretet, azt Ethernetkerett alaktja. Az Ethernet-keret forrscm mezje Hl MAC-cmt, clcmmezje pedig R MAC-cmt fogja tartalmazni. gy teht a hozzfrsi pont a 3. cmmez alapjn hatrozza meg az Ethernet-keret clcmmezjbe rand rtket. sszefoglalva, teht a 3. cmmez dnt szerepet jtszik egy BSS s egy vezetkes hlzat kztti egyttmkdsben.

A korbbiakbl emlkezhetnk arra, hogyha egy IEEE 802.11 protokoll szerint mkd lloms p keretet vesz, azt egy nyugta segtsgvel visszaigazolja. Mivel ezek a nyugtk is elveszhetnek, a kld lloms adott esetben tbb pldnyt is kldhet egy keretbl. Ahogy az RDT 2.1 protokollnl mr lttuk (3.4.1. alfejezet), hogy a kld sorszmok segtsgvel eldntheti, hogy egy jabb keretet kell kikldenie, vagy egy korbban mr tovbbtottl jrakldenie. Az IEEE 802.11 keret sorszmmezje pontosan ugyanazt a clt szolglja, mint a 3. fejezetben, csak jelen esetben adatkapcsolati s nem hlzati szinten. Ahogy korbban mr megbeszltk, az IEEE 802.11 protokollban az ad lloms lefoglalhatja a csatornt az adatkeret s a nyugta tvitelhez szksges idre. Ezt az idtarlam- rtket szlltja az idtartammez (mind RTS-, mind CTS-csomagok esetn). Ahogy a 6.13. brn is lthatjuk, a vezrlmez tbb almezbl ll. Itt csak a fontosabb almezkrl szlunk pr szt - rszletesebb lersrt az IEEE 802.11 specifikciinak olvasst ajnljuk a [Ileld 2001; Crow 1997; IEEE 802.11 1999] munkkban. A tpus- s altpus- mezk alapjn tudhatjuk meg, hogy a keret az RTS, a CTS, az ACK-keretek kzl melyiket szlltja vagy adatkeretet hordoz. A cls a/orrsalmezk a klnbz cmmezk szerept definiljk. (A cmmezk szerepe attl fgg, hogy ad hoc vagy infrastruktra zemmd ban mkdik-e a hlzat, illetve infrastruktra mdban attl, hogy egy vezetek nlkli lloms vagy egy hozzfrsi pont kldi-e a keretet.) Vgl a WEP-mez azt jelzi, hogy hasznlunk-e titkostst, vagy nem. (A WEP-rl a 8. fejezetben runk rszletesebben.)

6.3.4. Mobilits ugyanabban az lP-alhlzatban

6.3. WIFI: az IEEE 802.11

tpus vezetk nlkli helyi hlzatok

253

A vezetk nlkli helyi hlzatok hattvolsgnak nvelse rdekben az egyetemek s cgek sokszor tbb BSS-t is elhelyeznek egy IP-alhlzaton bellre. Ezzel magtl rtetden felmerl a BSS-ek kztti mobilits krdse - vajon hogy kpesek a vezetk nlkli llomsok kt BSS kztt gy mozogni, hogy kzben nem szakadnak meg fennll TCP-sszekttetseik? Ahogy ebben az alfejezetben ltni fogjuk, elg knnyen kezelhet a helyzet, ha a BSS-ek ugyanazon alhlzathoz tartoznak. Amikor az llomsok klnbz alhlzatok kztt mozognak, kifinomultabb mobilitsi protokollokra van szksgnk, amelyekrl a 6.5. s 6.6. alfejezetben lesz sz. Nzznk most egy pldt ugyanazon alhlzathoz tartoz BSS-ek kztti mobilitsra. A 6.15. brn egy kt sszekttt BSS-bl ll hlzatot lthatunk, ahol is Hl hoszt BSSl-bl BSS2 fel tart. Mivel a kt BSS-t sszekt eszkz nem tvlaszt, a kt BSS valamennyi llomsa ugyanazon alhlzathoz tartozik, idertve a hozzfrsi pontokat is. gy amikor Hl tlp BSSI-bl BSS2-be, megtarthatja IPcmt, s valamennyi l TCP-sszekttetse is srtetlen marad. Ha a BSS-cket tvlasztval ktnnk ssze, Hl-nek j IP-cmet kellene kr nie attl az alhlzattl, amelybe belp. A cmvltoztats miatt megszakadnnak (s vgl lezrulnnak) Hl TCP-sszekttetsei. A 6.6. alfejezetben ltni fogjuk, hogyan orvosolhat ez a problma hlzati szint mobilitsi protokollokkal, mint pldul a mobil IP-vel. De mi is trtnik pontosan, amikor Hl tlp BSSl-bl BSS2-be? Ahogy Hl az 1. hozzfrsi ponttl (API) tvolodik, rzkeli API jelnek gyenglst, s elkezd ersebb jelek utn kutatni. H1 megkapja a 2. hozzfrsi pont (AP2) jelzfnykereteteit (amelyek SSID-je egyetemi vagy cges krnyezetben megegyezhet API SSID-jvel). Hl ezutn elszakad APl-tl, s AP2-vel trsul, IPcmnek s fennll TCP-sszekttetseinek megtartsa mellett. A hozzfrsi pont s a hoszt szmra a problma ezzel meg is olddott. De mi a helyzet a 6.15. bra kapcsoljval? Honnan fogja tudni, hogy a hoszt az egyik hozzfrsi pont felgyelete all a msik hozzfrsi ponthoz kerlt? Az 5. fejezetbl emlkezhetnk arra, hogy a kapcsolk nllan tanulnak, s sajt maguk ptik fel tovbbttblikat. Az nll tanuls ezen kpessge alapjn a kapcsol szpen kezeli az alkalmi helyzetvltoztatsokat (pldul amikor egy dolgozt az egyik osztlyrl thelyeznek egy msik osztlyra). Igen m, de a kapcsolkat nem arra terveztk, hogy olyan mobil felhasznlkat kezeljenek, akik fenn szeretnk tartani TCP-sszekttetseiket BSS-ek kzti mozgsuk kzben is. Hogy megrtsk a problma slyt, gondoljunk bele, hogy mieltt a hoszt az egyik BSS-bi a msikba lpett volna, a kapcsol tovbbttblja egy olyan bejegyzst tartalmazott, amely Hl MAC-cmt a kapcsol azon interfszvel prostja, amelyen keresztl Hl elrhet. Ha Hl eredetileg a BSSl-ben tartzkodik, akkor a neki cmzett adatcsomagokat a kapcsol APl-en keresztl fogja kikldeni. Amint azonban Hl tlp BSS2-be, a neki sznt csomagokat mr AP2-n keresztl kellene kldeni. Hgy (rendkvl egyszer) megoldst jelenthet, ha AP2 egy Ethernet-keretet kld a kapcsolnak krzvny cmmel, mint clcmmel s Hl

254
Kapcsol

6. VEZETK ^LKLI

S MOBILHLZATOK

cmvel mint forrscmmel. Mikor a kapcsol veszi a keretet, frissti tovbbttbljt, aminek eredmnyekppen ezentl AP2-n keresztl prblkozik majd Hl elrsvel. Az IEFF. 802.1 lf szabvnnyal foglalkoz munkacsoport egy olyan hozzfrsi pontok kztti protokollt fejleszt, amely ilyen s ehhez hasonl helyzeteket hivatott kezelni.

6.3.5. Az IEEE 802.11 LAN-ok tovbbi jellemzi


Az IEEE 802.11 protokollal val ismerkedsnket az IEEE 802.11 hlzatok kt tovbbi kpessgnek rvid trgyalsval zrjuk. Ahogy ltni fogjuk, ezeket a kpessgeket nem definiltk az IEEE 802.11 szabvnyban, de a szabvnyban lert mechanizmusok segtsgvel lehetv vlnak. Ezltal a klnbz gyrtk kifejleszthetik sajt megoldsaikat, amelyekkel esetleg elbbre trhetnek a gyrtk kzti versenyben.

IEEE 802.11 sebesscgadaptei


Mr lthattuk a 6.3. brn, hogy klnbz SNR-viszonyokhoz klnbz (klnbz adatsebessget biztost) modulcis eljrsokat hasznlnak. Kpzeljnk el pldul egy olyan mobil felhasznlt, aki kezdetben 20 mterre van a bzisllomstl, ahol is a jel-zaj viszony igen nagy. Ilyen SNR mellett a felhasznl olyan fizikai szint modulcis eljrst is hasznlhat a bzisllomssal val kommunikci sorn, amely nagy adattviteli sebessget biztost, kis bithibaarny mellett. Ez aztn a boldog felhasznl! legyk most fel, hogy a felhasznl elkezd mozogni, mghozz egyre jobban tvolodik a bzisllo mstl, az SNR pedig a bzisllomstl val tvolsg nvekedsvel egyre cskken. Ha ilyen esetben nem vlasztunk msik modulcis eljrst a bzislloms s a felhasznl kztt mkd IEEE 802.11 protokoll szmra, a bithibaarny az SNR cskkensvel elfogadhatatlanul nagyra n, s gyakorlatilag egyetlen keretet sem fogunk tudni srtetlenl tvinni. Ezen okbl tbb IEEE 802.11 megvalstst vrteztek fel a sebessgadaptci kpessgvel, amely a csatorna jelenlegi vagy kzelmltbeli llapotbl kiindulva adaptvan vlasztja ki a fizikai szinten hasznland modulcis eljrst. A Lucent WaveLAN-Il nev IEEE 802.11b implementcija [Kamerman 1997] klnbz adattviteli sebessgekre kpes. Amennyiben egy csompont kt egyms utn kldtt zenete is nyugtzs nlkl marad (ezzel implicite jelezve a csatornn elfordul bithibkat), az adsi sebessg a kvetkez, alacsonyabb szintre esik vissza. Amennyiben sorozatban 10 keretre kapunk nyugtt, vagy ha lejr egy utols sebessgcskkenskor belltott idzt, az adattviteli sebessg egy

6.3. WIFI: az IEEE 802.11

tpus vezetk nlkli helyi hlzatok

255

Tpenergia-gazdlkods

szinttel magasabb lesz. A fent ismertetett mdszer mgtti elmlet hason lt a TCPben hasznlatos tapogatz torldskezel eljrshoz - j felttelek mel lett (amelyet az ACK-zenetek jeleznek), addig nveljk az adsi sebessget, amg valami rossz nem trtnik (nem jnnek az ACK-zenetek). Amikor valami rossz trtnik, az adsi sebessget cskkentjk. Az IEF.E 802.11 protokoll sebessgadaptcija s a TCP protokoll torldskezelse teht arra a gyerekre hasonlt, aki egyre tbbet kvetel a szleitl (pldul tbb dessget vagy ksbb, tizenvesen tbb zsebpnzt) egszen addig, amg a szlk azt nem mondjk Elg!, s ekkor a gyerek visszafogja magt (persze csak azrt, hogy ksbb, remlhetleg rendezdtt felttelek mellett jra prblkozzon!). A sebessgadaptci fejlesztsre tbb mdszert is kidolgoztak (lsd (Holland 2001; La- cagc 2004]).

Mobil eszkzk esetn a tpenergia rendkvl rtkes erforrs, ezrt az IEEE 802.11 szabvny olyan energiagazdlkodsi eljrsokat is tartalmaz, amelyek segtsgvel az IEEE 802.11- es csompontok minimalizlhatjk azt az idt, amg az rzkelsi, tovbbtsi, vteli s egyb ramkreiket bekapcsolva kell tartaniuk. Az IEEE 802.11 energiagazdlkodsa a kvetkezkppen mkdik. A csompontok alv s ber zemmdok kztt tudnak vltogatni (egy eladteremben l lmos hallgathoz hasonlan). Egy csompont az IEEE 802.11 fejlc tpenergiagazdlkods bitjnek 1-be lltsval jelezheti a hozzfrsi pont fel, hogy alv llapotba megy. Ezutn a csompont bellt egy idztt, ami ppen azeltt breszti fel, hogy a hozzfrsi pont jelzfny keretet kldene (emlkezznk vissza, hogy egy hozzfrsi pont ltalban 100 ms idkznknt kld jelzfnykeretet). Mivel a hozzfrsi pont a belltott energiagazdlkodsi bitbl tudja, hogy a csompont alv mdba megy, tudja, hogy nem kldhet kereteket a csompontnak, s gy valamennyi, az alv csompontnak kldend zenetet ksbbi tovbbts cljbl puffereli. A csompont pp a jelzfnykeret kldse eltt bred fel, s azonnal aktv llapotba kerl (ellenttben az lmatag hallgatval, ez az breds mindssze 250 mikroszekundumba kerl [Kamerman 1997]!). A hozzfrsi pont ltal kldtt jelzfnykeret tartalmaz egy listt azokrl a csompontokrl, amelyek szmra a hozzfrsi pontban tartogat pufferelt zeneteket. Ha csompontunk szmra nincs puierelt zenet, mris visszamehet alv llapotba. Msklnben a csompont egy hozzfrsi pontnak kldtt lekrdez zenet segtsgvel kifejezetten krheti a szmra eltrolt keretek kldst. A jelzfnykeretek kztt 100 ms telik el, a felbredsi id 250 ps, s a jelzfnykeret vtelhez s annak ellenrzshez, hogy nincs a csompontnak cmzett vrakoz keret, hasonlan kevs id szksges, gy egy olyan csompont, amelynek nincs kldend s fogadand kerete, az id 99 szzalkban aludhat, amely jelents tpenergiamegtakartst eredmnyez.

6.3.6. Bluetooth s WiMax


Ahogy a 6.2. brn is lthattuk, az IEEE 802.11 WiFi-szabvnyt egymstl legfeljebb 100 m-re lev eszkzk kommunikcijra terveztk (kivve azt az esetet, amikor az IEEE 802.11- et kt pont kztti sszekttetsknt hasznljuk, irnytott antennval).

256

6. VEZETK ^LKLI

S MOBILHLZATOK

Kt msik IEEE 802-es protokollt is kidolgoztak ennl kisebb, illetve nagyobb tvolsgra lv eszkzk kommunikcijra. Kisebb tvolsgok thidalsra alkalmas a Bluetooth-szabvny (amelyet az IEEE 802.15.1 szabvny [IEEE 802.15 2007) definil), nagyobb tvolsgok feletti kommunikcira pedig a WiM AXszabvnyt fejlesztettk ki (ezt az IEEE 802.16 szab vny [IEEE 802.ld 2004; IEEE 802.16e 2005] rja le).

Bluetooth
Egy IEEE 802.15.1 hlzat kis hattvolsgon bell mkdik, kevs tpenergii hasznl s olcs. A Bluetooth lnyegben egy kis fogyaszts, kis hattvolsg s kis sebessg kbeleket helyettest megolds, amelyet notebookok, klnbz perifrik, mobiltelefonok s PDA-k sszekapcsolsra fejlesztettek ki, mg az IEEE 802.11 nagyobb fogyaszts, kzepes hattvolsg s nagyobb sebessg hozzfrsi megolds. Emiatt a 802.15.1 hlzatokat sokszor vezetk nlkli szemlyi hlzatoknak hvjk (wireless personal area network, WPAN). A 802.15.1 adatkapcsolati s fizikai rtegeinek a korbbi, szemlyi h-

Lefedettsg! sugr Jells:

0
S
. .'
{

Mesiercsompont

Szolgacsompont

I ni ki v es/k?

6.16. bra. Egy Bluetooth-os pikohlzat lzatokra kifejleszteti Bluetooth-specifikci szolglt alapul [Held 2001, Bisdikian 2001). Az IEEE 802.15.1 hlzatok a szabadon hasznlhat 2,4 GHz-es frekvenciatartomnyban mkdnek, s TDM-et hasznlnak, 625 mikroszekundumos idrsekkel. Egy idrsben a kld a 79 csatorna kzl valamelyiken tovbbt, amely csatorna kivlasztsa idrs rl idrsre vltozik ismert, pszeudo-vletlenszer mdon. Ez a csatornavltsi mdszer, amely frekvenciaugrsos szrt spektrumknt ismert (frequency-hopping spread spectrum, FHSS) az idben elrehalad ads jeleit a frekvenciatartomnyban sztterti. Az IEF.E 802.15.1 legfeljebb 4 Mb/s adattviteli sebessgre kpes. Az IEEE 802.15.1 hlzatok ad hoc hlzatok. Nincs szksg semmilyen hlzati infrastruktrra (pldul hozzfrsi pontra) ahhoz, hogy a 802.15.1 eszkzk sszekapcsoldhassanak. Ebbl az kvetkezik, hogy a 802.15.1 eszkzknek nszervez mdon kell sszekapcsoldniuk. Az eszkzk els lpsben egy legfeljebb nyolc eszkzbl ll pikohlzatba (piconet) szervezdnek, ahogy azt a 6.16. brn is lthatjuk. Az eszkzk kzl az egyik lesz a mestercsompont, a tbbi szolgacsompont lesz. A mestercsompont valban uralkodik a pikohlzat felett - az 6 rja hatrozza meg a pikohlzat idejt, tovbbthat adatokat minden pratlan sorszm idrsben, egy szolgacsompont pedig csak azutn forgalmazhat, ha a mestercsomponttal azt az elz idrsben megbeszlte. Ezenfell a szolgacsompontok kizrlag a mesternek kldhetnek adatokat. A szolgacsompontokon kvl a pikohlzatban mg jelen lehet legfeljebb 255 inaktv eszkz is. Ezek az eszkzk addig nem kommunikl hatnak, amg a mestercsompont inaktvrl aktvra nem vltoztatta llapotukat. Az rdekld olvas a [Held 2001, Bisdikian 2001] anyagokban, illetve a hivatalos IEEE weboldalon [IEEE 802.15 2007] olvashat tbbet a Bluetooth-rl.

WiMAX
A WiMAX (World lnteroperability fr Microwave Access - vilgszint egyttmkds a mikrohullm hozzfrsrt) egy IEEE 802.16 szabvnyokbl ll szabvnycsald, amelynek clja, hogy sok felhasznl szmra, nagy terleten tegye lehetv a vezetk nlkli hozzfrst olyan adattviteli sebessgekkel, amelyek a kbel modemes, illetve ADSL-es

hlzatokkal is felveszik a versenyt. Az IEEE 802.16d szabvnyt gy terveztk, hogy 110-130 km/h sebessggel (teht autplyn) halad mobil felhasznlk szmra is biztostani tudja a hozzfrst. Eddigiektl eltr keretszerkezett kisebb, korltozott erforrsokkal rendelkez eszkzkre, pldul PDA-kra, telefonokra s laptopokra szabtk.

i *
*o c ni MAD Ml MAD 1 - DL 2 DL ' nj DL-MAr UL-MAP .... .... v JC lket lket ' lket
n DL

....

Inicializci/ Kapcsoldsi . , . . , karbantartas krelem

55

55 2

Letltsi (DL) alkeret

Feltltsi (UL) alkeret

Az IEEE 802.16 architektra alapja a kzponti bzislloms, amely nagyszm felhasznl (ms nven elfizeti lloms) kiszolglsra kpes. Ebben az rtelemben a WiMAX egyesti a YViFi-t s a cells felpts mobiltelefon-

hlzatokat. A bzislloms felels az adatkapcsolati csomagok tovbbtsnak szablyozsrt, mind letltsi (a bzisllomstl az elfizeti llomsok fel mutat), mind feltltsi (az elfizeti llomsoktl a bzis- lloms fel mutat) irnyban, a 6.17. brn brzolt TDM-keretszerkezetnek megfelelen. Ebben a szakaszban a csomag elnevezst fogjuk hasznlni a keret helyett (amelyet az IEEE 802.11-es s adatkapcsolati kereteknl hasznltunk), hogy klnbsget tegynk az adatkapcsolati szint adategysgek s a 6.17. brn lthat TDMkeretszerkezet kztt. A WiMAX teht idosztsos multiplexelst (TDM) hasznl, habr a keretidk vltozhatnak, ahogy azt lentebb trgyaljuk. Meg kell jegyeznnk, hogy a WiMAX FDM-mdban is kpes mkdni, m ezzel itt nem foglalkozunk. A keret kezdetn a bzislloms MAP-zeneteket (kzegelrsi protokolliizeneteket) kld a letltsi csatornn, amelybl az elfizeti llomsok tjkozdhatnak a keret lke- teinek (brsztjeinek) tovbbtshoz hasznlt fizikai rtegbeli jellemzkrl (a modulcis eljrsrl, a kdolsrl s a hibajavts paramtereirl). Egy kereten bell tbb lket is elfordulhat, egy lketen bell pedig tbb, valamely elfizeti llomsnak cmzett csomagot is tovbbthatunk. A bzislloms tovbbtja a lket valamennyi csomagjt, ugyanazon fizikai rtegbeli jellemzket hasznlva. Ezek a fizikai jellemzk azonban lketrl lketre vltozhatnak, amely lehetv teszi, hogy a bzislloms olyan fizikai szint tviteli belltsokat hasznljon, amelyek a vev elfizeti csompont szmra a legknyelmesebbek. A bzislloms a csatorna egyes vevk fel becslt llapota alapjn sszellthatja azon vevk halmazt, amelyeknek a kereten bell adatokat fog tovbbtani. Ez a fajta megalkuv temezs (opportunistic scheduling) [Bender 2000, Kulkarni 2005] - teht a fizikai szint protokoll a kld s vev kzti csatornallapot alapjn trtn megvlasztsa s a cmzett csompontok szintn csatornallapot alapjn trtn kivlasztsa - lehetv teszi a bzis- lloms szmra, hogy a lehet legjobban kihasznlja a kzeget. A WiM AX-szabvny nem kti meg, hogy milyen fizikai szint paramter-belltsokat kell hasznlni egy adott szituciban. Ez a dnts a WiMAX-eszkzk gyrtjra, illetve a rendszergazdra hrul. A WiMAX-bzislloms az eddig emltetteken kvl az elfizeti llomsok feltltsi csatornhoz val hozzfrst is szablyozza, az UL-MAP zenetek segtsgvel. Ezen zenetek hatrozzk meg, hogy az egyes elfizeti llomsok mikor frhetnek hozz a csatornhoz az UL-MAP zenetet kvet feltltsi alkeret(ek)ben. A WiMAX nem szablyozza azt sem, hogy az egyes elfizeti llomsokhoz hogyan rendeljk hozz az engedlyezett adsi idt - ez a dnts a rendszergazdra marad. A szabvny azonban tartalmaz olyan mechanizmusokat (mint pldul az UL-MAP vezrlzenetek), amelyek segtsg vel kifejleszthetnk egy szablyrendszert klnbz csatorna-hozzfrsi idk klnb z elfizeti llomsokhoz val hozzrendelsre. A feltltsi alkeret els szakaszai arra szolglnak, hogy az elfizetk a rdis adatkapcsolatot vezrl zeneteket, a WiMAX-h- lzatba val belpshez, illetve hitelestshez szksges zeneteket, valamint a magasabb szint hlzatkezelsi protokollokhoz (mint pldul a DHCP vagy SNMP protokollokhoz) tartoz zeneteket tovbbtsanak.

A 6.18. brn lthat a WiMAX csomagszerkezete, amelybl mi most egyedl a kapcsolatazonost mezvel foglalkozunk. A WiMAX architektrja sszekttetsalap, amely lehetv teszi, hogy minden egyes kapcsolathoz valamilyen szint szolgltatsminsget (quality of service, QoS) rendeljnk. Hogy hogyan trtnik ez a QoS-hozzrendels, az mr a rendszergazda feladata. A WiMAX klnbz alacsony szint eljrsokat biztost (pldul az n. csalornabecsls s sszekttets-elfogads mez a bzislloms s a hoszt kztti klnfle informci szlltshoz), de sem egy QoS biztostshoz szksges l talnos megkzeltst, sem az ahhoz elengedhetetlen szablyrendszert nem definiltk. Az eszkzk a WiM AX-ban is rendelkeznek 48 bites M AC-cimekkel, de ezeket a cmeket inkbb eszkzazonostkknt foghatjuk fel, mivel a csompontok kztti adattvitelt sz- szekttets-azonostkkal (s nem a kld, illetve fogad csompont cmvel) vezrlik. WiMAX-szal val ismerkedsnk szksgkppen rvid volt, nem rtintettnk szmos tmakrt, mint pldul a tpenergia-gazdlkodst (itt is ltezik az IEEE 802.11 protokoll- hoz hasonl alv zemmd), az elfizeti llomsok bzisllomsok kzti mozgst, a bzisllomsrl az elfizeti llomsok fel tovbbtand adatkapcsolati keretek csatornallapottl fgg temezst, a QoStmogatst vagy a biztonsg krdseit. Az IEEE 802.16e szabvnnyal, amely mg fejleszts alatt van, a WiMAX-rendszerek a kvetkez vekben tovbbi fejlds el nznek. Mg a fent emltett szabvnyok elgg szrazak lehetnek az olvas szmra, a WiMAX-ot trgyal (Eklunk 2002], valamint a [Cicconetti 2006] mun kk rendkvl olvasmnyosak.

0 EC Tpus

ESF Cl EKS RSV Hosszkd LSB-bitjei

MSB-bitjei (3)

sszekttets-azonost (MSB-bite)

sszekttets-azonost (LSB-bitek) Adatmez

Fejlc CRC

6.4. Internet-hozzfrs mobiltelefon-hlzatbl


Az elz alfejezetben megvizsgltuk, hogy egy hoszt hogyan frhet az internethez egy Wi- Fi-znn bellrl - azaz egy IEEE 802.11 hozzfrsi pont hatsugarn bellrl. Sajnos azonban a legtbb WiFi hozzfrsi pont hatsugara 10 s 100 mter kztti, a nagyobb hatsugar WiMAX-hlzatok pedig mg nem terjedtek el. Mit tehetnk teht akkor, ha csillapthatatlan vgyat rznk az internethez val hozzfrsre, de egyetlen WiFi-zna sincs a kzelnkben? Mivel a mobiltelefon-hlzatok a vilg j rszn szinte mindentt megtallhatk, termszetes megolds lehet, ha ezeket tovbbfejlesztjk gy, hogy a telefonszolgltats mellett internet-hozzfrst is biztostsanak. Idelis esetben ez a fajta internet-hozzfrs elfogadhat sebessg lenne, s teljes mobilitst biztostana. gy a felhasznlk, mikzben vonaton vagy autbuszon utaznak, fenntarthatnk TCP-sszekttetseiket. Megfelelen nagy feltltsi, illetve letltsi adatsebessggel mg videokonferencis sszekttetseket is fenn lehetne tartani lland mozgs kzben. Az itt vzolt helyzet nem is esik tl messze a valsgtl. A knyv rsnak idejn (2007 tavaszn) tbb amerikai mobilszolgltat biz tost msodpercenknti tbb szz kb/s fel- s letltsi sebessg mobil internethozzfrst 100 dollrnl (18 000 forintnl) alacsonyabb havi djrt. A szles sv EVDO-, illetve HSDPA-szolgltatsok elterjedsvel a msodpercenknti tbb megabites adatsebessgek is elrhetv vlnak. Ebben az alfejezetben rvid ttekintst adunk napjaink egyre jobban elterjed mobilinternetes megoldsairl. Figyelmnket itt is az adattnak a mobiltelefon s a vezetk nlkli telefonhlzat kztti els szakaszra fogjuk sszpontostani. A 6.7. alfejezetben megtudjuk, hogyan kell a hvsokat kezelni a bzisllomsrl bzisllomsra vndorl felhasznlk esetn. Rvid lersunk csak egy leegyszerstett s magas szint ttekintst fog nyjtani a klnbz mobiltechnikkrl. A modern mobilkommunikci terlete ter mszetesen rendkvl szles, tbb egyetem oktat a tmhoz kapcsold trgyakat. Ha az olvast mlyebben rdekli a tma, javasoljuk, hogy olvassa el a [Goodman 1997; Scourias 2007; Korhonen 2003; Kaaranen 2001; Lin 2001; Schiller 2003) munkkat csakgy, mint a kivl s a tmt kimerten trgyal (Mouly 1992] anyagot.

6.4.1. A mobiltelefon-hlzat architektrjnak ttekintse


Egy fldrajzi terlet szmos, a bzisllomsok hatsugara ltal lefedett fldrajzi terletekre, n. cellkra oszthat, amelyeket a 6.19. bra bal oldaln lthatunk. Minden cellhoz tartozik egy bzislloms, amely a cellban tartzkod mobil llomsoktl fogad, illetve nekik tovbbt jeleket. Egy cella terlete sok mindentl fgg, pldul a bzislloms s a mobillloms adteljestmnytl, a cellban

tallhat jeleket zavar pletektl s a bzislloms antenninak magassgtl. Habr a 6.19. bra olyan cellkat mutat, amelyekben egy bzislloms van, mghozz kzpen, manapsg tbb rendszerben a cellk sarkaiba helyezik el a bzisllomsokat, ahol hrom cella tallkozik, s gy egy lloms irnytott antennk segtsgvel hrom cellt is kiszolglhat.

Alapvet hlzati architektra


Ahogy a 6.19. bra is mutatja, valamennyi bzislloms egy vezetkes infrastruktrn keresztl egy nagy kiterjeds hlzathoz kapcsoldik - pldul a nyilvnos kapcsolt telefon- hlzathoz (Public Swilched Telephon Network, PSTN) vagy kzvetlenl az internethez.

Mobiltelefon kapcsolkzpontja

Nyilvnos telefonhlzat s internet

Jells:
Bzislloms

Felhasznlk

6.19. bra. A mobilhlzati architektra elemei Ahogy a 6.19. bra mutatja, a bzisllomsok mobiltelefonos kapcsolkzpontokkal (mobile switching center, MSC) llnak sszekttetsben, amelyek a mobilfelhasznlk fell jv, illetve az irnyukba men hvsok felptsrt s lebontsrt felelnek. A mobiltelefonos kapcsolkzpontok mkdskben sokban hasonltanak a hagyomnyos te lefonos kapcsolkzpontokhoz (pldul az irodai alkzpontokhoz), de fel vannak vrtezve azokkal a kpessgekkel, amelyek a felhasznlk mobilitsnak kezelshez szksgesek.
Egy kis trtnelem Harmadik genercis mobiltelefon-hlzatok sszehasonltsa vezetk nlkli helyi hlzatokkal Szmos mobilszolgltat fejleszt harmadik genercis (3G) mobiltelefon rendszereket, amelyek zrt trben 2 Mb/s, szabadtren pedig 384 kb/s vagy nagyobb adattviteli sebessgre kpesek. A 3G-rendszereket djkteles rdis frekvenciasvokra fejlesztik, gy a szolgltatknak jelents sszegeket kell fizetnik a kormnyoknak ezekrt a frekvenciasvokrt cserbe. A 3G-rendszerck segtsgvel a felhasznlk tvoli helyekrl a mobiltelefonos hozzfrshez hasonlan, akr szabadtren s mozgs kzben is hozzfrhetnek az internethez. Pldul egy 3Grendszcrbcn autvezets kzben trkpeket krhetnk le, vagy a tengerparton napozva megnzhetjk, milyen filmek mennek a moziban. Mindezek mellett tbb szakrt ktelkedik a 3G-megoldsok sikerben, mivel elgg drgk, s a vezetk nlkli helyi hlzatokkal is versenyeznik kell. A szakrtk fbb aggodalmai a kvetkezk:

6.3. WiFi: AZ lEEF. 802.11 TPUS VEZETK NLKLI HELYI HLZATOK

264

zetk nlkli helyi hlzatok lassan mindentt megtallhatak lesznek. Az 54 Mb/s adatsebessg IEEE 802.11 helyi hlzatok szles krben terjednek.

szmtgpei s PDA-t gyrilag felszerelnek IEEE 802.1 L-es h lzati krtykkal. Ezenkvl a fejld interneteszkzk - mint a vezetk nlkli kamerk

mret s kis fogyaszts vezetk nlkli hlzati krtykat fognak hasznlni.

yalt WiMAX minden bizonnyal nagy hatsugar adatszolgla tokat fog nyjtani a mobil-felhasznlk szmra, mghozz tbb megabites vagy nagyobb

l nemrg jelentette be, hogy 3,5 millird dollrt fektet YViMAX- fejlesztsbe az elkvetkezend nhny vben.

zatok bzisllomsai mobiltelefonokat is tudnnak kezelni. A jv telefonjai kpesek lehetnek arra, hogy egy Skype-hoz hasonl VoIP-szolgltats se -

- vagy IP-hlzathoz kapcsoldjanak, gy megkerlve a mobil telefonos szolgltatk cells hangtviteli s 3G adatszolgltatsait.

t abban hisznek, hogy a 3G nemcsak nagy sikert fog aratni, de forradalmastani fogja mindennapi munknkat s letnket. Termszetesen lehetsges,

ralkod technikkk vlnak olyan eszkzkkel, amelyek alapjn automatikusan vlasztjk ki, hogy tartzkodsi helykn melyik a legjobb mdszer az

lsd jelen alfejezet negyedik genercis (4G) vezetk nlkli hozz frsrl szl lerst)

szhez

tbb hvs is folyik. Ezeknek a hvsoknak osztozniuk kell a mobilszolgltatnak fenntartott rdis frekvenciasvon. A rdis apsg kl f mdszert hasznlnak

(FDM) s idosztsos (TDM) nyalbolsi mdszerek valamilyen kombincija. Az 1. fejezetbl emlkezhetnk arra, hogy az

el a csatornt tbb frekvenciasvra oszthatjuk, s minden frekvenciasvon egy hvs bo nyoldhat. Azt is megtrgyaltuk, hogy hasznlata esetn az idt keretekre, azokat pedig idrsekre osztjuk, s egy hvshoz az aktulis keret egy bizonyos idrst M/TDM-et hasznl rendszereknl a csa tornt frekvencia-alsvokra osztjuk, azokat pedig tovbb idkeretekre s idrsekre, gy TDM-rendszerben a csatornt / 1 'frekvencia-alsvra osztjuk, s minden alsvot tovbb osztunk 7 idrsre, akkor a csatorna kezelni. s hozzfrs (CDMA). A 6.2.1. alfejezetbl emlkezhetnk arra, hogy a CDMA nem frekvencia vagy id szerint osztja fel a sznlk ugyanazt a frekvencia- s idtartomnyt hasznljk. A cella valamennyi fel hasznljhoz egy egyedi bitsorozatot, n. nk. Ahogy a 6.2.1. alfejezetben lttuk, ha ugyanazt a tredksorozatot hasznljuk az adban s a vevben, a vev kpes arra, tal tovbbtott bitsorozatot a tbb, egyszerre zajl adsbl. A CDMA egyik legnagyobb elnye, hogy nincsen szksg frekvencia sre. FDM/TDM-rcndszer hasznlata esetn a vevk rz kenyek az azonos frekvenciatartomnybeli jelek keltette zajra. Ennek

ugyanazt a frekvencit csak egymstl megfelelen tvol elhelyezked cellkban hasznlhatjuk jra. Ilyen fajta frekvenciancy reuse) problma nem merl fel CDMA-rendszerek esetn.

1 Globlis mobilkommunikcis rendszer (Global System fr Mobile Communica tions, GSM). Az 1980-as vekben Eurpban reztk, hogy szksg van egy egsz Eurpt lefed digitlis rendszerre, amely lecserln az egymssal inkompatibilis 1G-rendszereket, s amely minden orszgra kiterjed mobilitst s olyan szolgltatsokat biztostana, amelyek analg rendszerekkel elrhetetlenek. Ez a felismers vezetett a mobiltelefonos kommunikcit tmogat GSM-szabvny kidolgozshoz. A GSM Eurpban az 1990-es vekben nagyon sikeres volt, s egyre jobban elterjedt. Ezutn tovbbterjedt zsiba s szak-A meri kba, napjainkra pedig a legszlesebb krben 32 bites CRC vlt. A 2G mobilrendszerek GSMhasznlt mobilkommunikcis szabvnny szab- vnya kombinlt FDM/TDM-mdszert hasznl a rdis interfszen. A GSM-rend- szerek 200 kHz svszlessg frekvenciasvokon mkdnek, s 6.18. bra. IEEE 802.16 csomag minden frekvenciasv 8 hvst nylbl TDM-mdszerrel. A GSM 13 kb/s s 12,2 kb/s sebessggel kdolja a beszdet.

6.3. WiFi: AZ lEEF. 802.11 TPUS VEZETK NLKLI HELYI HLZATOK

265

zati szabvnyok s mszaki megoldsok: rvid ttekints

oldsokrl beszlnk, ltalban genercikba soroljuk az egyes megoldsokat. A korbbi genercikat fleg hangtvitelre iltelefonos rendszerek azonban a hangtvitel mellett internetes hozzfrst is biztosta nak. Mivel e knyv szmtgpes iltelefonos rendszerekrl szl, termszetesen inkbb az jabb genercis mobiltelefonos rendszerek irnt rdekldnk. Mivel s rendszerek kzvetlenl a korbbi genercikbl fejld tek ki, mgis az els s korai genercis rendszerek rvid ttekintsvel

efoglalnkban a klnbz megoldsok zsargonjnak betra datn fogunk tvgtatni. Az olvas ne rezze gy, hogy e fejezst s rvidtst meg kell jegyeznie. Az sszefoglal clja az, hogy tlssuk a klnbz vezetk nlkli genercikat, s klnbz kifejezsek s rvidtsek jelentsrl. ndszerek analg FDMA-rendszerek voltak, amelyeket kiz rlag hangtvitelre terveztek. Ezek az iG-megoldsok mra mr szinte a digitlis 2G-rendszerek vettk t.

dszereket, jllehet digitlisak, szintn hangtvitelre terveztk, de mivel a jelenlegi, adat- s hangalap kommunikcira endszerek a 2G-rendszerekbl nttek ki, fontos, hogy nhny szt szljunk a 2G-megoldsokrl. Egy msodik genercis ginformcit digitlis formtumv ala ktja, mieltt a jelet modulln, s tovbbtan az terbe. Tbbfle 2G-szabvny s meg rben, mint pldul:

32 bites CRC

6.18. bra. IEEE 802.16 csomag

266

6. VEZETK

NLKLI S MOBILHLZATOK

IS-95 CDM A. A/. IS-95 CDM A szabvny kdosztsos tbbszrs hozzfrst alkalmaz (lsd 6.2.1. alfejezet). A szabvny letkpessgt a Qualcomm vllalat bizonytotta az 1980-as vek vge fel - azta szmos IS-95 rendszert fejlesztettek ki, legfkpp szak-Amerikban s Koreban.

A msodik s harmadik generci kztti tmenet (2,5G)


A 2G-rendszereket, pldul az IS-95 s a GSM-rendszereket hangtviteli szolgltatsokra optimalizltk, gy nem jelentettk a legjobb vlasztst adattvitelre. Az 1990-es vekben a szabvnyost szervezetek felismertk, hogy szksg van egy harmadik genercis mobiltechnikra, amely megfelel mind hang-, mind adattvitelre (idertve az internetes hozz frst is). Mivel azonban a harmadik genercis megoldsok kifejlesztshez sok vre volt szksg, a cgek tmeneti protokollokat s szabvnyokat dolgoztak ki, amelyek lehetv tettk a meglev msodik genercis infrastruktra feletti adattovbbtst. Az ilyen rend szereket egysgesen 2,5 genercis mobilrendszerekk kiltottak ki. A 2,5Grendszerek a kvetkezket tartalmazzk: ltalnos csomagkapcsolt rdis szolgltats (General Packet Radio Service, GPRS). A GPRS a GSM-bl fejldtt ki. Adattvitelkor a GSM lnyegben egy modemet emull a felhasznli eszkz s a cl adathlzat kztt. Ahogy az 1. fejezetben mr lttuk, az ramkrkapcsols rendkvl rossz hatkonysg egy lketekbl ll (brszts) adatfolyam tvitelekor. Ezen fell a GSM csak 9,6 kb/s adatsebessget tesz lehetv, amely szveges informci tviteln kvl szinte semmire sem elg. A GPRS egy olyan tmeneti megolds, amely ennl hatkonyabb s nagyobb sebessg (ltalban 40 s 60 kb/s kztti), csomagalap tvitelt biztost ahhoz hasonl mdon, amikor ott honi szmtgpnket a telefonvonalat hasznl betrcszs kapcsolattal csatlakoz tatjuk az internethez. A GSM teht ramkrkapcsolst hasznl mind hang-, mind adatt vilelhez(tehtafelhasznlieszkzinternethezvalcsatlakoztatshoz).AGPRSszol- gltatst az alatta lv GSM-hlzat biztostja, de GPRS esetn az egyszer GSM-mel ellenttben a hordozhat GPRS-llomsok igny szerint egynl tbb idrst is hasznlhatnak egy adott csatornn bell. A GPRSszolgltats biztostshoz tbb idrst adatkommunikcira tartanak fenn, s ezeket dinamikusan rendelik a mobil llom sokhoz, pillanatnyi ignyeik fggvnyben. Megnvelt sebessgek a globlis evolcirt (Enhanced Data Rates fr Global Evolution, EDGE). Az EDGE f clja, hogy nvelje a GSM/GPRS-hlzatok adatsebessgt - azaz, hogy kihasznlja a 200 kHz-es GSM csatornkat s 8 idrsbl ll idkereteiket. Ezt alapjban vve a GSM modulcis eljrsnak hatkonyabb eljrsra val lecserlsvel ri el. Az EDGE 384 kb/s adattviteli sebessget kpes biztostani a felhasznlknak. Az EDGE-t kivlan sszefoglalja az [Ericsson 2007] anyag. CDMA-2000, 1. fzis. Ez a2,5G-megolds az IS-95-bl fejldtt ki. Csomagalap szolgltatsaival akr 144,4 kb/s sebessget is elrhetnk. Ez a megolds a harmadik genercis CDMA-2000, 2. fzis elfutra.

A harmadik generci (3G)

6.4. INTERNF.T-HOZZFRS MOBILTELEFON-HLZATRL

267

A harmadik genercis mobilrendszerek clja az, hogy a 2G-rendszereknl jval nagyobb adatsebessgen tegyenek elrhetv mind telefonos, mind adatszolgltatsokat. A 3G-rendszerek kvetelmnyei: 144 kb/s adattviteli sebessg autzs kzben, 384 kb/s szabadban lls vagy sta kzben, 2 Mb/s sebessg fedett helyen. A 3G kzdtern kt nagyobb szabvny versenyzik egymssal:

CDMA-200. A CDMA-2000 a msodik genercis IS-95 rendszer utdja,


amellyel visszafel kompatibilis. Ahogy a nevbl vrnnk, CDMA-t alkalmaz a rdis kzegben. A CDMA-2000 szak-Amerikban s zsia bizonyos rszein terjed. A CDMA- 2000 IxF.VDO (optimalizlt evolcis adat, Evolution Data Optimized, amely valsznleg a valaha kitallt egyik legrosszabb elnevezs) nven ismert adatszolgltatsa 3 Mb/s nagysgrend adatsebessgekre kpes. Az alkalmi temezsi eljrsokat, amelyekkel a YViMAX-szabvnyban tallkoztunk, eredetileg az EVDO s eldje, a CDMA-200-HDR (high data rate nagy adatsebessg) szmra fejlesztettk ki [Bender 2000].

Univerzlis mobiltvkzlsi szolgltats ( Universal Mobile Telecommunications Service, UMTS). Az UMTS a GSM 3G-szolgltatsokra
kpes tovbbfejlesztse. Habr az UMTS hlzati architektrja a mr meglv GSM-architektra tbb elemt felhasznlja, a rdis interfszen nem a GSM FDMA/TDMA-megoldst hasznlja. Az UMTS a TDMA-rseken bell ehelyett a CDMA egy vltozatt, a szles sv direkt szekvencis CDMA-t (Direct Sequence Wideband CDMA, DS-WCD.MA) alkalmazza (amellyel a TDM-rsek tbb frekvencin is elrhetv vlnak - ez az eddig bemutatott hrom csatornaosztsos mdszer egy rdekes felhasznlsa). Nem tl meglep mdon, m ivei azUMTSaGSM-repl, Eurpban szles krben terjed. A WCDMAakr 14 Mb/s sebessgre kpes adatszolgltatst HSDPA/HSUPA-nak nevezik (nagysebessg letltsi/feltltsi csomagalap hozzfrs - High Speed Downlink/Uplink Packet Access). Az EVDO-hoz hasonlan a HSDPA/HSUPA-ban is megtallhat az alkalmi temezs s sok ms jonnan kifejlesztett eljrs.

A negyedik generci (4G)


Most, hogy ttekintettk a vezetk nlkli helyi hlzati s mobiltelefonhozzfrsi technolgik skljt, lpjnk kicsit vissza, s gondolkodjunk cl azon, hogy mi felhasznlk melyik vezetk nlkli internet-hozzfrsi megoldst vlasztannk. me, egy lehetsges kvnsglista: dezsnk automatikusan az IEEE 802.1 lg-t vlasztan, mivel ez biztostja a legnagyobb tviteli sebessget. J lenne, ha ezen heterogn krnyezetben mozogva automatikusan s teljesen tltszan kerlnnk t egyik hozzfrsrl a msikra (pldul IEEE 802.11-rl 3G-re) a rendelkezsre lls fggvnyben s felhasznli beavatkozs nlkl. Barangols kzben termszetesen fenn kvnjuk tartani l TCP-

268

6. VEZETK

NLKLI S MOBILHLZATOK

sszekttetscinket. Ezenfell szeretnnk, ha a rendszer tudn, ppen merrejrunk, hogy az jonnan kezdemnyezett hvsok helyvltoztatsunk kzben is elrhessenek bennnket. Szeretnnk, ha a rendszer tmogatn a hangtvitelt, csakgy, mint a vals idej IP feletti videotvitelt, hogy Dick Tracy-karrt viselhessnk s bartainkkal s kollginkkal brhol videokonferencit folytathassunk. 1 s termszetesen mindezt ingyen szeretnnk (vagy relisabban nzve, alacsony sszegrt). Habr a fent lertak mr a vezetek nlkli mennyorszgot idzik, a j hr az, hogy a hozz szksges kritikus sszetevk mr rendelkezsre llnak, gy mostantl mr tnyleg csak a protokollokat s a klnbz mszaki megoldsokat kell integrlni, hogy kvnsglistnk valsgg vljon. A szksges technikk kztt megtallhatk a hozzfrsi megoldsok, mint az IEEE 802.11 vagy a 3G, a mobilitskezel protokollok (lsd 6.5, 6.6 s 6.7 alfejeze- tek), a titkostsi s hitelestsi protokollok (lsd 8. fejezet), valamint a multimdia-hlzati protokollok (mint a VoIP-hoz a SP protokoll, amelyrl a 7. fejezetben szlunk bvebben).

6.5. A helyvltoztats kvetsnek elvi megoldsai


Miutn megismerkedtnk a vezetk nlkli hlzatok kommunikcis csatorninak vezetk nlkli termszetvel, vizsgljuk meg a vezetk nlkli csatornk ltal lehetv vl mobilits krdst. A legtgabb rtelemben egy mobil csompont az, ami idvel vltoztatja a hlzathoz val csatlakozsi pontjt. Mivel a mobilits fogalmnak mind a telefonos, mind a szmtgpes vilgban tbb jelentse van, nem rt, ha elszr megvizsgljuk a mobilits nhny krdst. A hlzati rteg nzpontjbl ki szmt mobil felhasznlnak? Egy fizikailag mobil felhasznl a szoksostl sokmindenben eltr kihvsok el lltja a hlzati rteget, attl fggen, hogyan vltoztatja kapcsoldsi pontjt. A 6.20. bra skljnak baloldali vghez tartoz felhasznl pldul egy vezetk nlkli interfsszel rendelkez laptoppal stlgat egy pleten bell. Ahogy a 6.3.4. alfejezetben lttuk, ez a felhasznl nem mobil a hlzati rteg nzpontjbl. Ha tovbb a felhasznl mindig ugyanahhoz a hozzfrsi ponthoz csatlakozik, helyzettl fggetlenl, mg az adat- kapcsolati rteg szmra sem mobil. A skla msik, jobboldali vgn egy olyan felhasznlt kpzeljnk el, aki BMWjvel 150 km/h sebessggel repeszt a nmet autplyn, s tbb vezetk nlkli hozzfrsi hlzaton thaladva utazsa kzben zavartalanul fenn szeretn tartani l TCPssze- kttetseit. Ez a felhasznl ktsgkvl mobil felhasznl! Ezen kt szlssges helyzet kztt lehet egy olyan felhasznl, aki laptopjt az egyik helyrl (pldul egy irodbl vagy kollgiumbl) egy msik helyre (pldul egy
1

A lektor megjegyzse: Olyan karrrl van sz, amely az 1940-es vek detektvrcgnyeibl
szerint tbbek kztt mholdas vevvel, videokamerval, amely rintkpernyvel, arra, hogy

ismert, hres amerikai nyomoz, Dick 'lracy karrja lehetne, ha mg ma is lne. Az ra az elkpzelsek wcbhoz/frssel, GPShelymeghatrozval rendelkezik, alkalmas

videokonferencia, beszdtviteli, idkc- zelsi s honlapelrsi szolgltatst nyjtson.

6.4. INTERNF.T-HOZZFRS MOBILTELEFON-HLZATRL

269

kvzba vagy tanterembe) viszi, s az j helysznen is kapcsoldik a hlzathoz. Ez a felhasznl is mobil (br kevsb, mint a BMW-s!), de nincs szksge a meglv sszekttetsek fenntartsra mozgs kzben. A 6.20. bra a mobilits ezen skljt brzolja, a hlzati rteg nzpontjbl. Mennyire fontos, hogy a mobil csompont cme vltozatlan maradjon? Mobiltelefonszmunk - amely lnyegben a telefon hlzati szint cme - vltozatlan marad, mi kzben klnbz szolgltatk hlzatai kztt mozgunk. Vajon egy laptopnak is meg kell tartania IP-cmt, mikzben IP-hlzatok kztt mozog? A vlasz ersen fgg attl, hogy milyen alkalmazsok futnak rajta. A BMW-s esetben, ahol az autplyn val szgulds kzben is fenn kell tartani a TCPsszekttetseket a tvoli alkalmazsokkal, knyelmes lenne ugyanazt az IPcmet megtartani. Emlkezznk vissza ugyanis a 3. fejezetre, ahol lttuk, hogy az internetes alkalmazsoknak tudniuk kell annak a tvoli egysgnek az IP-cmt s portszmt, amellyel kommuniklnak. Ha a mobil egysg meg tudja tartani IPcmt mozgs kzben, a mobilits szrevehetetlen marad a tvoli alkalmazs fell nzve. Ez az tltszsg rengeteget r - az alkalmazsnak nem kell olyan IPcmekkel bajldnia, amelyek vltozhatnak, s az alkalmazs ugyanazon rsze kpes kezelni a mobil s a nem mobil kapcsolatokat. A kvetkez alfejezetben ltni fogjuk, hogy a mobil-IP biztostja ezt az tltszsgot, magyarul azt, hogy egy mobil csompont megtarthassa lland IP-cmt mozgs kzben. Msrszt viszont egy nem ennyire mobil felhasznl esetleg ki akarja kapcsolni laptopjt az irodban, azt hazavinni, majd otthon bekapcsolni s dolgozni rajta. Ameny- nyiben a laptop elssorban kliensknt viselkedik az otthoni kliens-szerver alkalmazsokban (pldul levlklds/levlfogads, bngszs a weben, Telnetkapcsolat felptse egy tvoli hoszttal), a laptop llal hasznlt IP-cm nem annyira fontos. Ekkor lnyegben megteszi egy olyan IP-cm, amelyet az otthoni internetszolgltat ideiglenesen rendel a laptophoz. A 4.4. alfejezetben lttuk, hogy a DHCP mr kpes ennek megvalstsra. Milyen vezetkes infrastruktra tmogatst lvezhetjk? A fenti helyzetek kzl mindegyikben azt feltteleztk, hogy van egy vezetkes, fix infrastruktra, amelyhez a mobil felhasznlk kapcsoldhatnak - pldul az otthoni internetszolgltat hlzata, az irodai vezetk nlkli hlzat vagy az autplyn mindenhol elrhet vezetk nlkli hozzfrsi hlzatok. Mi trtnik azonban akkor, ha nincs ilyen elrhet hlzat. Ha kt felhasznl egyms kommunikcis hatsugarn bell van, vajon felptNincs mobilits Nagyfok mobilits

i ilSl
A felhasznl ugyanazon vezetk nlkli hozzfrsi hlzaton bell mozog A felhasznl hozzfrsi hlzatok kztt mozog, mozgs kzben kikapcsol A felhasznl hozzfrsi hlzatok kztt mozog, sszekttetseit fenntartja

hetnek egy hlzati sszekttetst, brmifle hlzati szint infrastruktra nlkl is? Az ad hoc hlzatok ppen erre kpesek. Ez a gyorsan fejld terlet azonban a mobilhlzatok hatrn van, s tlmutat e knyv keretein, de a [Perkins 2000] anyagban, illetve az IETF mobil ad hoc hlzatokkal foglalkoz (Mobile Ad Hoc NetWork, MANET) munkacsoportjnak weblapjn (manet 2007]

270

6. VEZETK

NLKLI S MOBILHLZATOK

rszletesen olvashatunk rla. Hogy megrtsk, mit is jelent a mobil felhasznl sszekttetseinek fenntartsa mozgs kzben, vegynk egy emberi analgit. Egy csaldi fszekbl kirepl egyetemista mobill vlik, mivel kollgiumokban, illetve albrletekben kezd lni, cmeit pedig gyakran vltoztatja. De mi trtnik, ha egy rgi bart kapcsolatba szeretne lpni vele? Hogyan fogja t megtallni? Gyakori megolds, hogy megkeresi a csaldot, mivel a mobil egyetemista gyakran kzli a csalddal pillanatnyi tartzkodsi helyi (ha msrt nem is, ht azrt, hogy a szlei elkiildhessk neki a pnzt, amibl kifizeti a lakbrt). A csald hza teht az a hely, ahova els lpsknt fordulhatunk az egyetemistval val kommunikci felvte le cljbl. A ksbbi kommunikci ezek utn lehet indirekt (pldul a levelet elszr a szli hzba kldjk, akik azt tovbbkldik a gyerekknek), vagy direkt (pldul a szlk ltal megadott cm ismeretben kzvetlenl az egyetemistnak kldjk). Visszatrve az eredeti hlzati krnyezethez, egy mobil csompont (mint pldul egy laptop vagy PDA) lland otthont hazai hlzatnak (home network), az otthoni hlzatban tallhat egysget, amely a lejjebb trgyalt mobilitskezelsi feladatokat ltja el, s a mobil csompont nevben cselekszik, hazai gynknek (home agent) nevezzk. Az a hlzat, amelyben a mobil csompont ppen tartzkodik, az idegen (vagy tvoli) hlzat (foreign network), s az idegen hlzat azon eleme, amely a lent trgyalt mobilitskezelsi feladatok elltsban segti a mobil csompontot, az idegen gynk (foreign agent). A hazai hlzat lehet pldul a cges hlzatunk, mg az idegen hlzat egy megltogatott kollgnk hlzata. A partner az az egysg, amely kommuniklni kvn a mobil csomponttal. A 6.21. brn lthatjuk ezeket a szereplket, illetve az albb trgyalt cmzsi fogalmakat is. Vegyk szre, hogy az brn az gynkk az tvlasztkban helyezkednek el (lehetnek pldul tvlasztkon fut folyamatok), de megvalsthatk a hlzat hosztjain vagy szerverein is.

6.5.1. Cmzs
Korbban mr megjegyeztk, hogy annak rdekben, hogy a hlzati alkalmazsok fel tltsz legyen a mobilits, j, ha a mobil csompont megtartja eredeti cmt, mikzben egyik hlzatrl a msikra vndorol. Mikor a mobil csompont egy idegen hlzatban tartzkodik, a teljes, eredeti cmre kldtt forgalmat t kell irnytani az idegen hlzatba. De hogyan trtnik ez? Az egyik megolds, hogy az idegen hlzat minden msik hlzatnak kihirdeti, hogy a mobil csompont az hlzatban tallhat. Ehhez a krzetek kztti s krzeten belli (interdomain s intradomain) tvlasztsi informcik szoksos kicserlsre s a ltez lvlasztsi infrastruktra kismrtk mdostsra vol na szksg. Az idegen hlzat egyszeren kihirdethetn szomszdainak, hogy ismer egy konkrt tvonalat a mobil csompont lland cmhez (azaz lnyegben kzln a tbbi hlzattal, hogy ismeri a helyes utat, amelyen a mobil csompont lland cmre sznt csomagokat kell kldeni - lsd 4.4. alfejezet). Ezek a szomszdok azutn elterjesztenk ezt az informcit a hlzatban, a szoksos tvonalvlaszt informcik s tvonalvlaszt tblzatok frisstsnek rszeknt. Amikor a mobil csompont elhagyja az egyik idegen hlzatot, s egy msikhoz kapcsoldik, az j idegen hlzat hirdetn ki a mobil csom-

6.4. INTERNF.T-HOZZFRS MOBILTELEFON-HLZATRL

271

ponthoz vezet tvonalat, a rgi idegen hlzat pedig visszavonn az ltala szolgltatott, a mobil csompontot rint tvonalvlaszt informcit. Ez egyszerre kt problmt is megold anlkl, hogy a hlzati szint infrastruktrt nagymrtkben meg kellene vltoztatni. A tbbi hlzat megtudja a mobil csompont helyzett, s egyszer lesz hozz irnytani a neki cmzett csomagokat, mivel az tvlaszt tblk az idegen hlzatba fogjk irnytani a csomagokat. Nagy htrny azonban, hogy nem sklzhat. Ha a mobilits kezelse a hlzat tvlasztinak felelssge lenne, az t vlasztk tvlaszt tblzataiban mobil csompontok milliirl kellene informcikat trolnunk, s ezeket frissteni, valahnyszor egy mobil csompont elmozdul. Mg tbb htrnyos tulajdonsgra derl fny a fejezet vgn lv feladatokbl. Egy msik (s a gyakorlatban alkalmazott) megkzelts szerint a mobilits kezelsnek terht a hlzat kzpontjbl annak szlre kell tvinni - ez egy jra s jra visszatr tma az internettel val ismerkedsnk sorn. Ezt egyszeren megtehetjk a mobil csompont hazai hlzatn keresztl. Hasonl mdon ahhoz, ahogy a mobil egyetemista szlei kvetik gyerekk mozgst, a mobil csompont hazai hlzata is kpes kvetni, hogy a mobil csompont melyik idegen hlzatban tartzkodik. A mozg csompont (vagy az t kpvisel idegen gynk) kztt ezrt egy protokollra lesz szksgnk, valamint arra, hogy a hazai gynk frisstse a mobil csompont helyzett. Vizsgljuk meg most az idegen gynkt kicsit rszletesebben. Az egyik legegyszerbb megolds, hogy az idegen gynkket az idegen hlzat hatrn elhelyezked tvlasztkban helyezzk cl. Az idegen gynk egyik feladata, hogy a mobil csompont szmra ltrehozzon egy n. felgyeleti cmet (care-of address, COA) , amely felgyeleti cm hlzati rsze megegyezik az idegen hlzat hlzati cmvel. Vgeredmnyben teht kt cmmel rendelkezik a mobil csompont, nevezetesen egy lland cmmel (permanent address) (amely hasonl az egyetemista szlei hznak cmhez) s egy felgyeleti cmmel (COA), amelyet gyakran neveznek idegen cmnek (foreign address) (amely az egyetemis ta jelenlegi lakhelynek cmhez hasonlthat). A 6.21. bra pldjn a mobil csompont lland cme 128.119.40.186. Amikor a csompont tkerl a 79.129.13.0/24 cm hlzatba, felgyeleti cme 79.129.13.2 lesz. Az idegen gynk msik feladata, hogy rtestse a hazai gynkt arrl, hogy a mobil csompont pillanatnyilag az (az idegen gynk) h lzatban tartzkodik, s az adott felgyeleti cm tartozik hozz. Rvidesen ltni fogjuk, hogy a felgyeleti cm alapjn vlik lehetsgess az adatcsomagok tirnytsa az idegen gynkn keresztl a mobil csomponthoz. Habr eddig sztvlasztottuk a mobil csompont s az idegen gynk szerept, rdemes megjegyeznnk, hogy a mobil csompont is magra vllalhatja az idegen gynk feladatait. Pldul a mobil csompont szerezhet magnak felgyeleti cmet az idegen hlzatban (pldul egy olyan protokollal, mint a DHCP), s sajt maga is tjkoztathatja a hazai gynkt errl a felgyeleti cmrl.

6.5.2. tvlaszts egy mobil csomponthoz


Mr tudjuk, hogy a mobil csompontok hogyan tesznek szert felgyeleti cmeikre, s a hazai gynk hogy szerez tudomst ezekrl a cmekrl, de az, hogy a hazai gynk ismeri a felgyeleti cmet, csak rszben oldja meg a problmi. Azzal

272

6. VEZETK

NLKLI S MOBILHLZATOK

ugyanis mg nem foglalkoztunk, hogyan kell megcmezni s tovbbtani a mobil csompontoknak cmzett adatcsomagokat. Mivel egyedl a hazai gynk (s nem a hlzat sszes tvlasztja) ismeri a mobil csompont aktulis helyzett, nem elegend, ha az adatcsomagot a mobil csom-

Hazai hlzat:
128.119.40.0/24

Idegen hlzat:
79.129.13.0/24

Mobil csompont
lland cm: 128.119.40.18 6

lland cm: 128.119.40.1 86

I
& Hazai gynk

Felgyeleti cm: 79.129.13.2

Nagy kiterjeds hlzat

Idegen gynk

Partner

6.21. bra. Egy mobil hlzati architektra alapelemei pont lland cmvel elltva egyszeren leadjuk az adatkapcsolati szint infrastruktrnak. Ennl tbbet kell tenni. A problmt ktflekppen lehet megoldani, az n. kzvetett s kzvetlen tvlasztssal.

Kzvetett tvlaszts egy mobil csomponthoz


Kpzeljnk el egy partnert, amely valamely mobil csompontnak szeretne elkldeni egy adatcsomagot. Ha kzvetett tvlasztst alkalmazunk, a partner egyszeren elltja az adatcsomagot a mobil csompont lland cmvel, majd kikldi a hlzatra anlkl, hogy tudn, hogy a mobil csompont a hazai hlzatban tartzkodik-e vagy valamely idegen hlzatban - a mobilits teht teljes mrtkben tltsz a partner szmra. Az ilyen adat csomagok els lpsben ltalban a mobil csompont hazai hlzatba kerlnek. Ezt a mdszert szemllteti a 6.22. bra. Vizsgljuk most meg kicsit jobban a hazai gynkt. Amellett, hogy idegen gynkkkel kell kommuniklnia a mobil csompont felgyeleti cmnek kvetse rdekben, mg egy nagyon fontos feladata van. Figyelnie kell ugyanis a vele azonos hazai hlzathoz tartoz, azonban jelenleg valamely idegen hlzatban

tartzkod csompontok szmra rkez csomagokat. A hazai gynk ezen adatcsomagokat elfogja, majd kt lpsben tkldi a mobil csompontnak. Els lpsben az adatcsomagot az idegen gynknek kldi, a mo bil csompont felgyeleti cmt hasznlva (a 6.22. bra 2. lpse), majd a csomag az idegen gynktl a mobil csompontnak tovbbtdik (a 6.22. bra 3. lpse).

Hazai hlzat:
128.119.40.0/2 4

Idegen hlzat:
79.129.13.0/24

Mobil csompont

W>>
lland cm: 128.119.40.18 6

lland cm: 128.119.40.186

jFelgyeleti
Hazai gynk

Nagy kiterjeds hlzat

cm: Wegen 79. 129.13.2 gynk

Partner

6.22. bra. Kzvetett tvlaszts egy mobil csomponthoz Sokat tanulhatunk abbl, ha megvizsgljuk az tirnyts pontos mkdst. A hazai gynknek a mobil csompont felgyeleti cmt kell hasznlnia clcmknt, hogy a hlzati rteg a csomagot az idegen hlzat fel kldje. Msfell azonban rdemes lenne az adatcsomagot teljesen rintetlenl hagyni, hogy az azt fogad alkalmazs ne vegye szre, hogy a csomag a hazai gynkn keresztl jutott el hozz. Mindkt fent emltett clunkat kielgti, ha a hazai gynk begyazza (encapsulate) a partner adatcsomagjt egy j (nagyobb) adatcsomagba, s ezt a nagyobb adatcsomagot kldi el a mobil csompont felgyeleti cmre. A felgyeleti cmet birtoklidegen gynk fogadja, s kibontja a csomagot - teht kinyeri a partner eredeti adatcsomagjt az azt tartalmaz nagyobb csomagbl, s ezt az eredeti csomagot tovbbtja (a 6.22. bra 3. lpse) a mobil csompontnak. A 6.23. brn azt figyelhetjk meg, amint a partner eredeti csomagja a hazai hlzatba tovbbtdik, onnan egy msik csomagba gyazva az idegen gynkhz jut, majd az eredeti csomag az idegen gynktl a mobil csomponthoz kerl. A szemfles olvas szreveheti, hogy az itt trgyalt begyazs/kibonts mvelete megegyezik a 4. fejezetben a tbbeskldsnl s IPv6-nl elkerlt alagutazs mdszervel. Vizsgljuk most meg azt, hogy a mobil csompont hogyan kldhet csomagot a partnernek. Ez a mvelet igen egyszer, minthogy a mobil csompont kzvetlenl

a partnernek tudja cmezni az adatcsomagot (sajt lland cmt forrs-, a partner cmt pedig clcmknt hasznlva). Mivel a mobil csompont ismeri a partner cmt, nincs szksg arra, hogy a csomagot a hazai gynkn keresztl kldjk vissza. Ezt a mveletet a 6.22. bra 4. lpse brzolja.

cl: 128.119.40.186

lland cm: 128.119.40.186


Hazai

\
Nagy kiterjeds hlzat

gynk

lland cm: Felgyeleti cm 128.119.40.18 79.129.13.2 6 Idegen gynk

cl: 128.119.40.186

Partner

6.23. bra. Begyazs s kibonts Foglaljuk ssze kzveteti tvlasztsrl szerzett j ismereteinket a hlzati rteg mobilits tmogatshoz szksges elemeinek felsorolsval. Ezek a kvetkezk:

A mobil csompont s az idegen gynk kztti protokoll. A mobil

csompontnak az idegen gynknl kell bejegyeztetnie magt az idegen hlzathoz val csatlakozskor, s hasonlkppen, a csompont a hlzat elhagysakor is az idegen gynkkel trlteti a r vonatkoz adatokat. Az idegen gynk s a hazai gynk kztti regisztrcis protokoll. Az idegen gynknek a hazai gynk tudtra kell adnia a mobil csompont felgyeleti cmt. Az idegen gynk azonban nem felels azrt, hogy amikora mobil csompont elhagyja hlzatt, a hazai gynknl trltesse a felgyeleti cmet. Ezt ugyanis a mobil csompont j hlzathoz val csatlakozsakor, egy jabb felgyeleti cm bejegyzse automatikusan fellrja. Adatcsomag-begyazsi protokoll a hazai gynknl. Ahhoz szksges, hogy a hazai gynk a partner eredeti adatcsomagjt egy felgyeleti cmre kldend csomagba gyazza, s ezt tovbbtsa. Adatcsomag-kibontsi protokoll az idegen gynknl. Feladata, hogy a kapott adatcsomagbl kibontsa a partner eredeti adatcsomagjt, s ezt tovbbtsa a mobil csompontnak. A fenti lersban valamennyi olyan alkotelemrl - idegen gynkkrl, a hazai gynkrl s a kzvetett tvlasztsrl - szltunk, amely ahhoz szksges, hogy a mobil csompont fenntarthassa l sszekttetseit klnbz hlzatok kztt vndorolva. Pl

daknt kpzeljk el azt a helyzetet, amikor egy mobil csompont az A idegen hlzatban tartzkodik, az A hlzattl kapott felgyeleti cmet, s hazai gynkn keresztl, kzvetetten fogadja a neki cmzett csomagokat. A mobil csompont most a B hlzathoz kapcsoldik, amely elkldi a hazai gynknek a mobil csompont j felgyeleti cmt. Ettl a pillanattl kezdve a hazai gynk a B hlzatba fogja tirnytani a csomagokat. A partner szemszgbl nzve a mobilits tltsz - a csomagok ugyanazon hazai gynkn keresz tl tovbbtdnak a mobil csompont helyvltoztatsa eltt is s utn is. A partner szemszgbl az adatcsomagok folyama hbortatlanul jut el a mobil csompontig - a berkez csomagok elszr az A hlzatba, majd a felgyeleti cm megvltozsa utn a B hlzatba tovbbtdnak. De vajon a mobil csompont is gy fogja rzkelni, hogy az adatcsomagok folyama nem szakad meg? Amg az A hlzatrl val levls (ami utn nem tud az A hlzatrl csomagokat fogadni) s a B hlzatba val belps (amikor bejegyezteti az j felgyeleti cmet a hazai gynknl) kztt eltelt id rvid, csak kevs adatcsomag fog elveszni. A 3. fejezetbl emlkezhetnk, hogy kt vgpont kztti sszekttetsek esetn hlzati torldsok kvetkeztben is elfordulhatnak csomagvesztsek, gy a hlzatok kzti mozgs miatti alkalmi csomagvesztsek nem jelentenek nagy problmt. Ameny- nyiben a csomagveszts-mentes kommunikci a cl, felsbb szint eljrsok segtsgvel oldhatjuk meg a csomagvesztsek problmjt, akr hlzati torlds, akr a felhasznl mobilitsa miatt kvetkeztek be. A mobil-IP-szabvny [RL'C 3344] is kzvetett tvlasztst hasznl, ahogy azt a 6.6. al- fejezetben is ltni fogjuk.

Kzvetlen tvlaszts egy mobil csomponthoz


A 6.22. brn lthat kzvetett tvlaszts hatkonysgt nagyban rontja az n. hromszgeit tvlasztsi problma (triangle routing problem) - teht az, hogy a mobil csompontnak cmzett csomagok elsknt a hazai gynkhz kerlnek, majd csak azutn jutnak az idegen hlzatba, mg akkor is, ha ltezik egy sokkal rvidebb t is a partner s a mobil csompont kztt. Legrosszabb esetknt kpzeljnk el egy olyan mobil felhasznlt, aki egy kollgjt ltogatja meg. Ketten egyms mellett lve cserlnek klnbz ada tokat a hlzaton keresztl. A partner (aki jelen esetben a ltogat kollgja) ltal kldtt adatcsomagok els lpsben a mobil felhasznl hazai gynkhez jutnak el, majd csak onnan kerlnek vissza az idegen hlzatba! A kzvetlen tvlaszts megoldja a hromszgeit tvlaszts problmjt, de cserbe bonyolultabban mkdik. Kzvetlen tvlaszts esetn a partner hlzatban tallhat partnergynk (correspondent agent) elszr megtanulja a mobil csompont felgyeleti cmt. Ez trtnhet gy, hogy a partnergynk lekrdezi a hazai gynkt, azt felttelezve, hogy (a kzvetett tvlasztshoz hasonlan) a hazai gynk ismeri a mobil csompont felgyeleti cmt. Lehetsges az is, hogy a partnergynk szerept maga a partner veszi t, hasonlan ahhoz, ahogy a mobil csompont is tvehette az idegen gynk szerept. A felgyeleti cm lekrst a 6.24. bra 1. s 2. lpse mutatja. A partnergynk ezek utn alagutazst alkalmazva, kzvetlenl juttatja el a csomagot a mobil csompont felgyeleti cmre, hasonl mdon ahhoz, ahogy a hazai gynk vgezte az alagutazst - ez ltszik a

6.24. bra 3. s 4. lpsn. Jllehet a kzvetlen tvlasztsnl megolddik a hromszgeit tvlaszts problmja, kt j kihvssal is szembe kell nznnk:

A partnergynknek szksge van egy a mobil felhasznlk helyzett meghatroz protokollra, amely segtsgvel lekrdezheti a mobil csompont felgyeleti cmt (a 6.24. bra 1. s 2. lpse) Amikor a mobil csompont az egyik idegen hlzatbl a msikba vndorol, vajon hogyan trtnik az adatok tirnytsa az j idegen hlzatba? Kzvetett tvlaszts esetn egyszeren megoldhatjuk a problmt azzal, hogy a hazai gynkben frisstjk a felgyeleti cmet. Kzvetlen tvlaszts esetn azonban a partnergynk csak egyszer krdezi le a felgyeleti cmet a hazai gynktl, az adatklds elejn. gy a felgyeleti cm frisstse a hazai gynknl br szksges, de nem elgsges ahhoz, hogy az adatokat a mobil csompont j idegen hlzatba irnytsuk. Megoldsi jelenthet, ha ltrehozunk egy olyan protokollt, amely rtesti a partnergynkt a megvltozott felgyeleti cmrl. Egy msik megolds, amelyet a GSM-hlza- toknl a gyakorlatban is alkalmaznak, a kvetkezkppen mkdik. Tegyk fel, hogy a mobil csompontnak kldtt adatfolyamot jelenleg abba az idegen hlzatba tovbbtjuk, amelyben a mobil csompont az adatklds elejn tartzkodott (a 6.25. bra 1. lpse). Azt az idegen gynkt, amely idegen hlzatban a mobil csompontot elszr megtalltuk, horgonygynknek (anchor foreign agent) fogjuk hvni. Amikor a mobil csompont egy
Hazai hlzat:
128.119.40.0/24

Idegen hlzat:
79.129.13.0/24

Mobil csompont llandcm: lland cm: 128.119.40.186

Hazai gynk

Idegen gynk

Nagy kiterjeds hlzat


Partner gynk

Felgyeleti cm: 79.129.13.2

Partner Jells:
Vezfiuzenete*. Adatfolyam

A mobil csompontot tartalmaz idegen hlzat az adatklds elejn:

gynk
Hazai gynk

r9 on y

Nagy kiterjeds hlzat

Uj idegen hlzat:

Partnergynk

Partner

j idegen gynk

6.25. bra. Mobil csompont vndorlsa kzvetlen tvlaszts hasznlata mellett j idegen hlzatba kerl (a 6.25. bra 2. lpse), a mobil csompont bejegyezteti magt az j hlzat idegen gynknl (3. lps), majd ez az idegen gynk elkldi a mobil csompont j felgyeleti cmt a horgonygynknek (4. lps). Ha a horgonygynk egy mr elvndorolt mobil csompontnak szl begyazott keretet vesz, azt egy j keretbe gyazva, az j felgyeleti cmet hasznlva tovbbthatja a mobil csompontnak (5. lps). Ha a mobil csompont ksbb ismt egy jabb idegen hlzatba vndorol, az j hlzat kap csolatba lp a horgonygynkkel annak rdekben, hogy a mobil csompontnak cmzett csomagokat onnantl kezdve az j idegen hlzatba tovbbtsa.

6.6. Mobil-IP
A mobilitst tmogat internetes architektra s protokollok, gyjtnevn a mobilIP, nagy rszt az IPv4 verzira az RFC 3344-ben definiltk. A mobil-IP igen rugalmas protokoll, tbbfle mdban is tud mkdni (pldul idegen gynkkel s anlkl is), segtsgvel a mobil csompontok s gynkk tbbfle mdon is felderthetik egymst, tmogatja az egyszeres, illetve tbbszrs felgyeleti cmek hasznlatt, s az adatcsomagok begyazsra is sokfle mdszert ismer. A mobilIP mint olyan, elgg sszetett szabvny, egy egsz knyvre lenne szksg minden rszletnek lershoz - [Perkins 1998b) ilyen knyv. A mi szerny clunk annyi, hogy sszefoglaljuk a mobil-IP legfontosabb rszeit, s hogy bemutassunk nhny gyakran elfordul helyzetet.

A mobil-IP architektrjban megtallhat valamennyi fent emltett elem, mint pldul a hazai gynk, az idegen gynk, a felgyeleti cm s a csomagok begyazsa/ kibontsa. A jelenlegi szabvny (RFC 3344] kzvetett tvlasztst hasznl a mobil csompontok elrsre. A mobil-IP-szabvny hrom f rszbl ll:

gynkk feldertse. A mobil-IP egyrszt olyan protokollokat specifikl,

amelyek segtsgvel a hazai vagy idegen gynk kihirdetheti szolgltatsait a mobil csompontnak, msrszt olyan protokollokat is, amelyeken keresztl a mobil csompontok krhetik a hazai s tvoli gynkk szolgltatsait. Regisztrci a hazai gynknl. A mobil-IP tartalmazza azokat a protokollokat, amelyek segtsgvel a mobil csompontok felgyeleti cmeiket be tudjk jegyeztetni, illetve trltetni tudjk a hazai gynknl. Az adatcsomagok kzvetett tovbbtsa. A mobil-IP azt is meghatrozza, hogy hogyan kell a hazai gynknek tovbbtani az adatcsomagokat a mobil csompontok lei, ide rtve az adatcsomagok tovbbtsa mellett a felmerl hibk kezelst s az adatcsomagok begyazsnak klnbz mdjait [RFC 2003, RFC 2004]. A mobil-IP-szabvny minden elemnek megalkotsakor fontos szerepet kaptak a biztonsgi megfontolsok. Pldul a mobil csompontoknak azonostaniuk kell magukat annak rdekben, hogy egy rosszindulat felhasznl ne regisztrlhasson hamis felgyeleti cmeket a hazai gynknl, gy akadlyozva meg azt, hogy bizonyos IP-cmekre kldtt adatcsomagokat e felhasznlhoz irnytsanak. A mobil-IP biztonsgi eljrsai kzl tbbet trgyalunk a 8. fejezetben, gy az albbiakban nem foglalkozunk biztonsgi krdsekkel.

gynkk feldertse
Mikor egy mobil-lP-csompont j hlzatba kerl, akr egy idegen hlzathoz kapcsoldik, akr visszatr hazai hlzatba, meg kell tudnia, hogy kicsoda a hlzatban tallhat idegen vagy hazai gynk. Valjban a mobil csompont hlzati rtege azltal rzkeli, hogy j hlzatba kerlt, hogy felfedez egy j, az eddigitl klnbz IP-cm idegen gynkt. Ezt a folyamatot hvjuk az gynk feldertsnek (agent discovery). Az gynk feldertse kt mdon trtnhet: gynkhirdetssel vagy gynklekrdezssel. gynkhirdets (agent advertiseinent) esetn a hazai vagy idegen gynk az tvlaszt-feldertsi protokoll [RFC 1256] egy kiterjesztsnek segtsgvel kihirdeti szolgltatsait. Az gynk valamennyi hozz kapcsold adatkapcsolaton periodikusan krzvny- knt kikld ICMP-zeneteket, amelyek tpus mezjt 9-re (tvlaszt-felderts) lltja. Az tvlaszt-feldertsi zenet tartalmazza az tvlaszt (azaz az gynk) IP-cmt, gy a mobil csompontok megismerhetik azt. Az zenet ezenfell egyb, a mobil csompont szmra szksges gynkfelderts-specifikus adatokat is tartalmaz. Lssunk ht ezen gynkspecifikus adatok kzl nhny fontosabbat: Hazai gynk bit (H). Azt jelzi, hogy az gynk hazai gynk az t tartalmaz hlzatban. Idegen gynk bit (F). Azt jelzi, hogy az gynk idegen gynk az t tartalmaz hlzatban.

8
Tpu s = 9 Kd = 0

16

24

Ellenrz sszeg

tv lasz ts cm e

- Hagyomnyos ICMP-mezk

RBHFMGrT bitek

Hoss z

Sors zm

Tpus = 16 Regisztrci lettartama


Fenn tartv a

Mobilitsi

0
v a g y t b b fe l g y el et i c m

gynkhirdetsi kiegszts

6.26. bra.

kiegsztssel

tvlaszt-feldertsi

ICMP-zenet

mobilitsi

gynkhirdetsi

Regisztrci szksges (R). Azt jelzi, hogy a hlzatba lp mobil felhasznlknak regisztrlniuk kell magukat az idegen gynknl. Pontosabban

fogalmazva ezt azt jelenti, hogy a mobil csompontok nem kaphatnak felgyeleti cmet az idegen hlzattl (pl-dul DHCP-vel), s nem hasznlhatjk az idegen gynk szolglatait anl kl, hogy regisztrlnk magukat nla. M s G begyazsi bitek. Azt jelzik, hogy milyen csomagbegyazst alkalmazunk, amennyiben nem IP-csomagot gyazunk egy IP-csomagba.

Felgyeleti cmmezk. Az idegen gynk ltal kioszthat egy vagy tbb


felgyeleti cm listja. Lenti pldnkban a felgyeleti cm az idegen gynkhz lesz rendelve, aki gy megkapja a felgyeleti cmre kldtt adatcsomagokat, s tovbbtja azokat a megfelel mobil csompontnak. A mobil csompont ezen cmek kzl vlaszt magnak felgyeleti cmet, amelyet a hazai gynknl regisztrlnia kell.

A 6.26. bra az gynkhirdetsi - ICMP - zenet fontosabb mezit szemllteti. gynklekrdezs esetn az a mobil csompont, amelyik nem akar az gynkk gynkfeldertsi zeneteire vrni, adatszrssal kikld egy gynklekrdezsi zenetet, amely egyszeren egy 10 rtk tpusmezvel elltott ICMP-zenet. A lekrdez zenetet vev gynk kzvetlenl a mobil csompontnak vlaszol, egy gynkhirdetsi zenettel. A mobil csompont ezek utn gy folytatja mkdst, mintha egy nem ltala kiknysze- rtett gynkhirdetsi zenetet kapott volna.

Regisztrci a hazai gynknl


Amikor egy mobil IP-csompont megszerezte felgyeleti cmt, azt regisztrlnia kell a hazai gynknl. Ezt trtnhet egyrszt az idegen gynkn keresztl (aki elvgzi a felgyeleti cm regisztrcijt a hazai gynknl), illetve a mobil IPcsompont kzvetlenl is elvgezheti a regisztrcit. Itt az elbbi esetet trgyaljuk. A regisztrci ngy lpsbl ll:

1.

Egy idegen gynk hirdetsi zenetnek vtelt kveten a mobil csompont egy mobil-IP regisztrcis zenetet kld az idegen gynknek. A regisztrcis zenetet egy UDP-csomagban kldi, mghozz a 434-es portra. Az zenet tartalmazza az idegen gynk ltal kihirdetett egyik felgyeleti cmet (COA), a hazai gynk cmt (HA), a mobil csompont lland cmt (MA), a regisztrci ignyelt lettartamt, valamint egy 64 bites regisztrciazonostt. Az ignyelt regisztrcis lettartam az a msodpercekben kifejezett idtartam, ameddig a regisztrci rvnyes marad. Amennyiben a regisztrcit nem frisstik a megadott lettartamon bell, az rvnytelenn vlik. A regisztrcis azonost sorszmknt mkdik, s arra szolgl, hogy a regisztrcis krseket ssze tudjuk prostani a fogadott regisztrcis vlaszzenetekkel - ezt a kvetkezkben trgyaljuk. 2. Az idegen gynk a regisztrcis zenet fogadsakor bejegyzi a mobil csompont lland IP-cmt, s ezek utn tudni fogja, hogy figyelnie kell azon zeneteket, amelyekben szlltott adatcsomag clcme illeszkedik a mobil csompont lland cmre. Az idegen gynk ezutn elkld egy (mint korbban emltettk, UDP-csomagban elhelyezett) IP regisztrcis zenetet a hazai gynk 434-es portjra. Ez az zenet tartalmazza a felgyeleti cmet, a hazai gynk cmt, a mobil csompont lland cmt, a krt begyazsi formtumot, a krt regisztrcis lettartamot, valamint a regisztrciazonostt. 3. A hazai gynk megkapja a regisztrcis krelmet, s ellenrzi annak hitelessgt s helyessgt. A hazai gynk ezutn sszerendeli a mobil csompont lland IP- cmt s a felgyeleti cmet - gy a jvben a mobil csompont cmre rkez adatcsomagokat egy msik csomagba gyazva a felgyeleti cmre fogja tovbbtani. A regisztrcis krst a hazai gynk ezutn egy, a sajt cmt, a mobil csompont lland cmt, a valdi regisztrcis lettartamot s a regisztrciazonostt tartal maz mobil-IP regisztrcis vlaszzenettel nyugtzza. 4. Az idegen gynk megkapja a regisztrcis vlaszzenetet, amelyet a mobil csompontnak tovbbt. A regisztrci ezen a ponton vget rt, a mobil csompont ksz az lland cmre kldtt csomagok fogadsra. A fenti lpseket a 6.27. brn kvethetjk nyomon. Figyeljk meg, hogy a hazai gynk a krtnl rvidebb lettartamot llt be. Az idegen gynknek nem kell explicite trltetnie a felgyeleti cmet, mikor egy mobil csompont elhagyja a hlzatt. Ez ugyanis automatikusan meg fog trtnni, amikor a mobil csompont tlp egy msik hlzatba (akr egy jabb idegen hlzatba, akr a hazai hlzatba), s j felgyeleti cmet regisztrl. A mobil-IP szmos, a fent lertakon kvli helyzet kezelsre kpes, s a fent lertaknl jval tbb kpessggel br. Az rdekld olvasnak a [Perkins 1998b; RFC 3344] anyagokat ajnljuk.

6.7. A mobilits kezelse mobiltelefon-hlzatokban


Miutn megvizsgltuk, hogy az IP-hlzatok hogyan kezelik a mobilitst, vegyk most szemgyre azokat a hlzatokat, amelyekben a mobilitst mr jval rgebb

ta tmogatjk - a mobiltelefon-hlzatokat. Mivel a 6.4. alfejezetben mr rszletesen tanulmnyoztuk a mobiltelefon-hlzatok vezetek nlkli csatornit, itt a mobilits szempontjbl vizsgl-

juk meg ezeket a hlzatokat, a szles krben elterjedt s kiforrott GSM cells architektrjt [Goodman 1997; Mouly 1992; Scourias 1997; Kaaranen 2001; Korhonen 2003] mint esettanulmnyt tekintve. Ltni fogjuk, ahogy a mobil-IP esetben is, a 6.5. alfejezetben lefektetett alapelvek j rsze a GSM hlzati architektrjban is visszakszn. A mobil-IP-hez hasonlan a GSM is kzvetett tvlasztst hasznl, amelynek sorn a partner hvst elszr a mobil felhasznl hazai hlzatba, majd onnan az idegen hlzatba irnytjk. A GSM szhasznlatval lve, a mobil felhasznl hazai hlzatt a felhasznl hazai nyilvnos fldi mobiltelefon-hlzatnak (home public land mobile
Idegen hlzat:
79.129.13.0/24
_________J _________

Mobil gynk
MA: 128.119.40.186

Hazai gynk
HA: 128.119.40.7

Idegen gynk
COA: 79.129.13.2
&

<iM>

ICMP gynkhirdets

Regisztrcis krelem
COA- 79.129.137 HA: 128.119.407 MA: 1 2 8 ! 19.40.186 lettram: 9999 Azonost: 714 COA: 79.129.13.2 HA: 128.119.40.7 MA: 128.119.40.186 lettartam: 9999 Azonost: 7 1 4 Begyazsi formtum

Regisztrcis krelem

Regisztrcis vlasz

HA: 128. H 9.40.7 MA: 1281:9.40.186 ienactam: 4999 Azonost: 714 Begyazs formtum HA: 128.119.407 MA. 128.1 i 9.40.186 lettartam: 999 Azonost: 714

Regisztrcis vlasz

Id

Id

network, homc PLMN) nevezzk. Mivel a PLMN rvidts hasznlata nem egszen felel meg annak a clunknak, hogy elkerljk a rvidtsek bettorldst, egy hazai GSM PLMN-re egsz egyszeren hazai hlzatknt fogunk hivatkozni. A hazai hlzat az a szolgltat, amellyel a mobil felhasznl szerzdsben ll (teht az a szolgltat, aki a havi szmlkat kldi a felhasznlnak). Az a PLMN, amelyet idegen hlzatknt fogunk emlegetni, az a hlzat, amelyben a mobil felhasznl jelenleg tartzkodik. Ahogy a mobil-IP esetben is, a hazai s idegen hlzatok feladatai elg sokban eltrnek. A hazai hlzat karbantart egy olyan adatbzist, az n. hazai helyregisztert (home location register, HLR), amely az egyes elfizetk lland telefonszmait s elfizeti profiljait tartalmazza. Fontos, hogy a HLR ezeken fell az elfizetk jelenlegi helyzetre vonatkoz informcikat is tartalmaz. Fia teht egy felhasznl ppen egy msik szolgltat hlzatban tartzkodik, a HLR elg informcit tartalmaz ahhoz, hogy (egy hamarosan ismertetett mdszerrel) megszerezzk azt az idegen hlzathoz tar toz telefonszmot, amelyre a felhasznl berkez hvsait tovbbtani kell. Ahogy ltni fogjuk, a hv fl a hazai hlzat specilis kapcsolkzpontjhoz, az tjr mobiltelefon kapcsolkzponthoz (Gateway Mobile services Switching Center, GMSC) fordul, amikor valamely mobil felhasznlt kvnja felhvni. Ismt a rvidtsek bet- torldsnak elkerlse vgett a GMSC-re a nagyobb kifejezerej hazai MSC (home MSC) kifejezssel fogunk hivatkozni. Az idegen hlzat tartja karban a ltogati helyregiszter (visitor location register, VLR) nev adatbzist. A VLR valamennyi, jelenleg a VLR ltal kiszolglt hlzatrszben tartzkod mobil felhasznlrl tartalmaz egy bejegyzst. VLR-bejegyzsek teht folyamatosan jnnek ltre s sznnek meg, ahogy felhasznlk belpnek a hlzatba s kilpnek onnan. A VLR-t ltalban az idegen hlzatbl vagy annak irnyba kezdemnyezett hvsok felptst vezrl mobil kapcsolkzponttal (mobile switching center, MSC) ptik egybe. A gyakorlatban egy szolgltat hlzata a szolgltat elfizeti szmra a hazai hlzat, mg a ms szolgltatkhoz tartoz elfizetk szmra egy idegen hlzat.

6.7.1. Hvsok irnytsa a mobil elfizethz


Most mr elg felkszltek vagyunk ahhoz, hogy megvizsgljuk, vajon hogyan irnytanak egy hvst valamely idegen hlzatban tartzkod elfizethz. A kvetkezkben egy egyszer pldt vesznk - bonyolultabb helyzetekrl a [Mouly 1992] anyagban szerepelnek lersok. A 6.28. brn szemlltetett lpsek a kvetkezk: 1. A hv fl trcszza a mobil felhasznl telefonszmt. nem egy meghatrozott helyre vagy telefonvonalra telefonszm rgztett, mg a felhasznl mozog!). A szmjegyei elegek ahhoz, hogy globlisan meghatrozzk Ez a telefonszm utal (elvgre a telefonszm els az elfizet hazai

hlzatt. A hvs a hv fltl a PSTN-hlzaton t a mobil felhasznl hazai hlzatnak mobiltelefon-kapcsolkzpontjhoz (hazai MSC) tovbbtdik. Ez a hvs tjnak els szakasza. 2. A hazai MSC' fogadja a hvst, s a ITLR-tl lekrdezi a mobil felhasznl helyzett. A legegyszerbb esetben a HLR a mobil lloms barangolszmt (mobile station roaming number, MSRN) adja vissza, amelyre mi barangolszmknt fogunk hivat-

Hazai hlzat

Hazai mobil- telefon kapcsol kzpont

Hv fl

Mobiltelefon
Nyilvnos kapcsolt 3) Mobiltelefon kapcsolkzpont 4 telefonhlzat (PSTN)

felhasznl

Idegen hlzat

6.28. bra. Egy hvs irnytsa mobil felhasznlhoz: kzvetett tvlaszts


kozni. Megjegyezzk, hogy ez a szm klnbzik a mobiltelefon hazai hlzathoz tartoz lland szmtl. A barangolszm tmeneti ideiglenesen rendelik egy mobil llomshoz, amikor az egy idegen hlzatba lp. A barangolszm hasonl szerepet jtszik, mint a felgyeleti cm a mobillP esetn, s hasonlan a felgyeleti cmhez, lthatatlan a hv fl s a mobil lloms szmra. Amennyiben a HLR nem ismeri a barangolszmot, az idegen hlzat VLR-jnek cmt adja vissza. Ebben az esetben (ez nem lthat a 6.28. brn), a hazai MSC-nek kell lekrdeznie a mobil lloms barangolszmt a VLR-tl. De vajon hogyan jut a HLR a barangolszm vagy a VLR cmnek birtokba? Mi trtnik azok rtkeivel, amikor a mobil felhasz nl tlp egy j hlzatba? Hamarosan megvizsgljuk ezeket a fontos krdseket. 3. A barangolszm birtokban a hazai MSC felpti a hvs msodik szakaszt a hlzaton keresztl, egszen az idegen hlzat kapcsolkzpontjig. A hvs ezzel fel is plt. tvonala a hv fltl a hazai MSC-ig, a hazai MSC-tl pedig az idegen MSC-ig s azon keresztl a mobil llomsig vezet. A 2. lps egy rszlett mg nem vizsgltuk meg. Hogyan tudja meg ugyanis a HLR, hogy hol tartzkodik a mobil felhasznl? Amikor egy mobiltelefon egy j VLR ltal felgyelt hlzatba lp, vagy ott kapcsoldik be, a mobil felhasznlnak be kell regisztrlnia magt az idegen hlzatban. Ezt a regisztrcit egy, a mobil lloms s a VLR kztti jelzszenet-vltssal bonyoltjk le. Az idegen VLR ezutn egy helyzetfrisstsi zenetet kld a mo biltelefon HLR-jnek, amelyben rtesti a Hl.R-t a mobil lloms barangolszmrl, vagy sajt (az idegen VLR) cmrl (amelyrl ksbb a HLR lekrdezheti a barangolszmot). Az zenetvlts sorn ezenkvl a HLR a VLR-nek klnfle informcit is kld a mobil-el-

fizetrl, s meghatrozza, hogy mely szolgltatsokat kell biztostani az elfizet szmra az idegen hlzatban (ha egyltaln biztostani kell valamilyen szolgltatst).

6.7.2. Vezrlstads egy GSM-hlzatban


Vezrlstadsra (handoff) akkor van szksg, amikor egy mobil lloms hvs kzben egyik bzisllomstl elszakad, s egy msikhoz kapcsoldik. Ahogy a 6.29. bra is mubiakban rgi bzisllomson) keresztl vezettk, az tads utn viszont mr egy msik bzisllomson (a tovbbiakban j bzisllomson) keresztl. Megjegyezzk, hogy a ve-

kommuniklni, hanem azt is, hogy a fennll hvst a hlzatban tallhat valamely kapcsolkzpontban t kell kapcsolni az j bzisllomshoz. Els lpsben tegyk fel, hogy a kt bzislloms ugyanazon MSC-hez tartozik, s a hvs tkapcsolst ennl az MSC-nl kell elvgezni. Egy vezrlstads szmos okbl kifolylag megtrtnhet, pldul (1) a jelenlegi bzislloms s a mobil lloms kztti jel annyira legyenglhet, hogy a hvs megszakadsnak veszlye fenyeget, vagy (2) egy cellban tl sok hvst kell kezelni, gy a cella tlterheltt vlhat. Ezt a tlterheltsget gy cskkenthetjk, hogy tbb mobil llomst tadunk a kevsb terhelt szomszdos cellknak. Mikzben egy mobil lloms valamely bzisllomshoz kapcsoldik, periodikusan mri a sajt bzisllomstl, illetve ms, hallhat bzisllomsoktl rkez jelzfnyzenetek jelerssgt. Ezeket a mrt rtkeket a mobil lloms msodpercenknt egyszer vagy ktszer elkldi a bzisllomsnak. A vezrlstadst ezen mrsek, a szomszdos cellk terheltsge s egyb tnyezk alapjn a rgi bzislloms kezdemnyezi [Mouly 1992]. A GSM-szabvny nem tartalmaz konkrt algoritmust annak meghatrozsra, hogy az tadsnak meg kell-e trtnnie vagy nem. A 6.30. bra azokat a lpseket brzolja, amelyek akkor mennek vgbe, ha egy bzis- lloms gy dnt, hogy tad egy mobil felhasznlt: I. A rgi bzislloms tjkoztatja az idegen MSC-t arrl, hogy vezrlstads kvetkezik, s arrl, hogy ki lesz az j bzislloms (vagy mely bzisllomsok jhetnek szba).

Rgi bzislloms

j bzislloms

Rgi bzislloms

bzislloms

Uj

6.30. bra. Kzs MSC-hez tartoz bzisllomsok kztti vezrlstads lpsei


Az idegen MSC megkezdi az tvonal felptst az j bzislloms fel. Ennek sorn lefoglalja az tkapcsolt hvshoz szksges erforrsokat, s rtesti az j bzisllomst a vezrlstadsrl. 3. Az j bzislloms lefoglal, s aktivl egy rdicsatornt a mobil lloms szmra. 4. Az j bzislloms jelzi az idegen MSC-nek s a rgi bzisllomsnak, hogy az j MSC-j bzislloms tvonal elkszlt, s hogy a mobil llomst rtesteni kne a vezrlstadsrl. Az j bzislloms rendelkezsre bocst minden olyan informcit, amely a mobil lloms j bzisllomshoz val kapcsoldshoz szksges. 5. A mobil lloms tjkoztatst kap arrl, hogy j bzisllomshoz kell kapcsoldnia. Vegyk szre, hogy a mobil lloms mindeddig nem tudott semmit arrl, hogy a hlzat mr megkezdte a vezcrlstads alapozst (azaz a rdicsatorna lefoglalst az j bzisllomsnl s az tvonal ltrehozst az idegen MSC s az j bzislloms kztt). 6. A mobil lloms s az j bzislloms nhny zenetvlts segtsgvel teljes mrtkben aktivlja az j bzisllomsnl lefoglalt csatornt. 7. A mobil lloms vezrlstads vge zenettel jelez az j bzisllomsnak, amely zenet az MSC-hez is tovbbtdik. Az idegen MSC ezek utn az j bzisllomson keresztl tirnytja a mobil lloms fel folyamatban lv hvst. 8. A rgi bzisllomshoz vezet ton lefoglalt erforrsok felszabadulnak. Vezrlstadssal val ismerkedsnket zrjuk annak vizsglatval, hogy mi trtnik, amikor a mobil lloms egy olyan bzisllomshoz kerl t, amely egy, a rgi bzisllomstl klnbz MSC-hez tartozik, s hogy mi trtnik, ha ez, az MSC-k kztti vezrlstads tbbszr is elfordul. Ahogy a 6.31. brn is lthatjuk, a GSM-szabvny bevezeti a horgony-MSC (anchor MSC) fogalmt. A horgony-MSC az a kapcsolkzpont, amely terletn a mobil csompont akkor helyezkedik cl, amikor a hvs megkezddik - a horgony-MSC teht a hvs alatt vltozatlan marad. A hvs, teljes idtartama alatt s attl fggetlenl, hogy a mobil csompont hny MSC-k kztti bzislloms-vltst hajt vgre, a hazai MSC s a horgony-MSC, majd a horgony-MSC s a mobil lloms jelenlegi idegen MSC-je kztt tovbbtdik. Amikor a mobil lloms az egyik MSC ltal lefedett terletrl egy msik MSC ltal lefedett terletre lp, a folyamatban lv hvst a horgonyMSC-tl az j bzislloms felett ll MSC-ig vezetjk el. gy teht mindig legalbb 2.

hrom MSC

Hazai hlzat

Hazai hlzat

Hazai MSC

Hv fl Hazai MSC

Horgony MSC

Horgony MSC

a) Vezrlstads eltt

b) Vezrlstads utn

6.31. bra. tirnyts a horgony-MSC-n keresztl


(a hazai MSC, a horgony-MSC s az idegen MSC) ll a hv fl s a mobil lloms kztt. A 6.31. brn lthatjuk a hvs tjt az MSC-k kztt. Ahelyett, hogy a horgony-MSC s a mobil llomst jelenleg kiszolgl MSC kztt kzvetlenl vezetjk el a hvst, alternatv megolds lehetne az, hogy a mobil lloms ltal ltogatott kapcsolkzpontokat egyszeren lncba fznnk gy, hogy a rgi MSC-tl mindig az j MSC fel haladna a hvs, valahnyszor tlp a mobil lloms egy j kapcsolkzpont terletre. Az MSC-k lncba fzst az 1S-41 mobiltelefon-hlzatokban a gyakorlatban is hasznljk egy a horgony-MSC s a jelenlegi idegen MSC kztti kapcsolkzpontokat kiiktat tvonal-minimalizlsi lpssel kiegsztve [Lin 2001]. A GSM mobilitsnak trgyalst zrjuk a GSM s a mobil-IP mobilitskezelsnek sz- szehasonltsval. A 6.2. tblzatban lthat sszehasonltsbl kitnik, hogy br az IP s a mobilhlzatok sok szempontbl alapveten klnbznek, meglepen sok funkcionlis alkotelemk s mobilits-kezelsi elvk megegyezik.

6.8. Vezetk nlklisg s mobilits: hatsuk a magasabb szint protokollokra


Ebben a fejezetben eddig lthattuk, hogy a vezetk nlkli hlzatok sok mindenben eltrnek vezetkes trsaiktl, mind adatkapcsolati szinten (a vezetk nlkli csatornk jellemzi, mint a jelgyengls, a tbbutas terjeds vagy a rejtett llomsok miatt), mind hlzati

6.2. tblzat. Hasonlsgok a mobil-IP s a GSM mobilitskezelse kztt


GSM-elem Hazai hlzat Megjegyzs a GSM-elemhez Az a hlzat, amelyhez a mobil-elfizet lland telefonszma tartozik. tjr mobiltelefon kapcsolkzpont vagy egyszeren hazai MSC, Hazai helyregiszter (HLR) Hazai MSC: hozz kell fordulni a mobil felhasznl valdi elhelyezkedst tkrz cmrt. HLR: a hazai rendszer adatbzisa, amely az lland telefonszmot, a felhasznli profilt, a mobil felhasznl jelenlegi helyzett s az elfizetsi informciit tartalmazza. Idegen hlzat Az a hazai hlzattl klnbz hlzat, amelyben a mobilelfizet tartzkodik. Idegen gynk Idegen kapcsolkzpont: az MSC-hez tartoz cellkban tartzkod mobil csompontokban vgzdtetett, vagy onnan Idegen kapcsolkzpont, Ltogati helyregiszter (VLR) kezdemnyezett hvsok felptsrt felels. VLR: a hlzatban tartzkod, ms hazai hlzatbl szrmaz mobil csompontok elfizeti informciirl ideiglenes bejegyzseket tartalmaz adatbzis. Felgyeleti cm Mobil lloms barangolszma (MSRN), vagy egyszeren barangol szm A hazai MSC s az idegen MSC kztt hasznlt, a mobil lloms tnyleges helyt tkrz cm, sem a mobil csompont, sem a hv fl szmra nem lthat. Idegen hlzat Hazai gynk Mobil-IP-elem Hazai hlzat

szinten (a kapcsoldsi pontjukat vltoztat felhasznlk miatt). Vajon a szlltsi s alkalmazsi szinteken is hasonl fontos klnbsgeket fedezhetnk fel? Csbt azt gondolni* hogy ezek a klnbsgek cseklyek lesznek, tekintve, hogy a hlzati rteg ugyanazt a best effort (legjobbra trekv), tovbbtsi szolgltatst nyjtja a felsbb rtegek szmra mind vezetkes, mind vezetk nlkli hlzatok esetn. Hasonlkppen, ha a TCP-hez vagy UDP-hez hasonl protokollok mind vezetkes, mind vezetk nlkli hlzatokban biztostanak klnfle alkalmazsok szmra szlltsi szolgltatst, akkor az alkalmazsi rtegnek is vltozatlannak kell lennie. Bizonyos rtelemben megrzsnk nem csal - a TCP s az UDP vezetk nlkli hlzatokban is kpes mkdni (s mkdik is). Msfell viszont a szlltsi protokollok ltalnossgban, s konkrtan a TCP is, nagyon eltr telje stmnnyel mkdnek vezetkes, illetve vezetk nlkli hlzatokban, gy a kt krnyezet kztti klnbsgekpp itt, a teljestmny tern lesznek szembet nek. Lssuk, mirt! Emlkezznk vissza, hogy a TCP a kld s a cmzett kztt elveszett vagy megsrlt szegmenseket jraadja. Mobil felhasznlk eseten a csomagvesztst okozhatja akr hlzati torlds (az tvlasztk puffereinek tlcsordulsa), akr vezrlstads (a szegmenseknek a mobil felhasznl j kapcsoldsi helyre trtn tirnytsbl szrmaz ksleltetsek). Brmely eset ll fenn, a TCP-szint nyugtbl az ad csak annyit tud meg, hogy a szegmens nem ment t srtetlenl -

a kld teht nem tudja, hogy a szegmenstor- lds, vezrlstads vagy bithibk felfedezse miatt veszett el. Az ad reakcija minden esetben ugyanaz - a szegmens ujraadsa. A TCP torldskezelsi eljrsa is ugyangy rea gl mindegyik esetre - cskkenti a torldsi ablak mrett, ahogy a 3.7. alfejezetben meg trgyaltuk. A torldsi ablak felttel nlkli cskkentsvel a TCP implicite azt felttelezi, hogy a csomagveszts torlds s nem bithiba vagy vezrlstads miatt kvetkezett be. A 6.2. alfejezetben lttuk, hogy a vezetk nlkli hlzatokban gyakrabban fordulnak el bithibk, mint vezetkes hlzatokban. Amikor ilyen bithibk kvetkeznek be vagy vezr lstads trtnik, semmi sszer ok nincs arra, hogy a TCP-kld cskkentse a torldsi ablak mretet (s ezzel az adsi sebessgt). Valjban olyan helyzet is fennllhat, hogy az tvlasztk pufferei resek, s csak nhny csomag lzeng a kt vgpont kztti tvonalon anlkl, hogy brmennyire is fennllna a torlds veszlye. Az 1990-es vek eleje-kzepe fel a kutatk rjttek, hogy a vezetk nlkli csatornk magas bithiba-valsznsge s a vezrlstads kvetkeztben bekvetkez csomagvesztsek lehetsge miatt a TCP torldskezelsi mechanizmusa problmt jelenthet a vezetk nlkli hlzatoknl. A problma megoldsra szletett mdszereket hrom nagycsoportba sorolhatjuk: Helyi javts. A helyi javtst vgz protokollok akkor s ott kezelik a bithibkat, amikor s ahol (pldul egy vezetk nlkli csatornn) bekvetkeznek. Ilyen az IKEE 802.11 ARQ protokoll, amellyel a 6.3. alfejezetben tallkoztunk, vagy azok a mg kifinomultabb eljrsok, amelyek mind nyugtzst (ARQ), mind elre irnyul hibajavtsi (FEC) alkalmaznak [Ayanoglu 1995]. A TCP-kld felvilgostsa a vezetk nlkli adatkapcsolatokrl. A helyi javtst hasznl megoldsoknl a TCP-kld nem tud arrl, hogy kikldtt szegmensei egy vezetk nlkli csatornn haladnak t. Alternatv megoldst jelenthet, ha a TCP-kldket s -vevket felvilgostjuk a vezetk nlkli adatkapcsolatok jelenltrl, hogy szt tudjk vlasztani a vezetkes hlzatok torlds kvetkeztben elfordul s a vezetk nlkli csatornk csomagsrls okozta csomagvesztseit, s hogy kizrlag vezetkes krnyezetben hasznljanak torldskezelst. A [Balakhrisnan 1997] anyag olyan TCP-vlto- zatokat tanulmnyoz, amelyek lnek ezzel a klnbsgttellel. |Wei 2004] olyan meg oldsokat vizsgl, amelyek clja egy kt vgpont kztti tvonal vezetk nlkli, illetve vezetkes szakaszain trtn csomagvesztsek kztti klnbsgttel. sszekttets-oszt (split-connection) eljrsok. A sszekttetsoszt eljrsok [Bakre 1995] a mobil felhasznl s a msik vgpont kztti (kt vgpont kztti) sszekttetst kt szlltsi szint sszekttetsre osztjk - ezek kzl az egyik a mobil hoszttl a vezelk nlkli hozzfrsi pontig, a msik rsz pedig a hozzfrsi ponttl az sszekttets msik vgpontjig terjed (amelyet itt vezetkes hoszt na k tteleznk fel). A kt vgpont kztti sszekttets gy teht egy vezetk nlkli s egy vezetkes szakasz konkatencijaknt ll el. A vezetk nlkli szakasz feletti szlltsi rteg lehet egy hagyomnyos TCPsszekttets [Bakre 1995], vagy UDP s fltte egy specilis hiba javt rteg. [Yavatkar 1994] egy szlltsi szint , szelektv ismtlst alkalmaz proto koll hasznlatnak lehetsgt vizsglja vezetk nlkli sszekttetsek felett. A (Wei 2006] anyagban kzztett mrsek arrl szmolnak be, hogy a sszekttets-oszt eljrsokat elterjedten hasznljk cells adathlzatokban, s hogy osztott TCP-ssze- kttetsek hasznlatval valban jelents

teljestmnynvekeds rhet el.

A TCP vezetk nlkli csatornk feletti teljestmnynek vizsglatt szksgszeren rvidre kellett szabnunk. Az olvast azonban arra btortjuk, hogy a hivatkozott anyagokat lapozgatva ismerje meg ennek a napjainkban is aktulis kutatsi terletnek nhny rszlett. Miutn megvizsgltuk a szlltsi szint protokollokat, foglalkozzunk kicsit a vezetk nlklisg s a mobilits alkalmazsi protokollokra gyakorolt hatsval. Itt figyelembe kell vennnk, hogy a vezetk nlkli csatornk gyakran relatve alacsony svszlessggel rendelkeznek, ahogy azt a 6.2. brn is lttuk. Ennek megfelelen a vezetk nlkli csatornk s klnsen a cells vezetk nlkli csatornk felett mkd alkalmazsoknak a svszlessget nehezen megszerezhet eszkzknt kell kezelnik. Pldul egy 3G-s mobiltelefonon fut webbngszt kiszolgl webszerver nagy valsznsggel nem lesz kpes ugyanazt a rszletds kpet szolgltatni, mint amit egy vezetkes kzegen keresztl kiszolglt bngsznek nyjt. Habr a vezetk nlkli csatornk kihvsok el lltjk az alkalmazsi rteget, az ltaluk lehetv vl mobilits, a hely- s krnyezet fgg alkalma zsok egsz sora szmra nyitja meg az utat [Chen 2000j. ltalnosabban fogalmazva, a vezetk nlkli s mobil hlzatok kulcsszerepet fognak jtszani a jv mindenhol jelen lv szmtgpes krnyezeteinek megvalstsban [Weiser 1991]. Ha azt mondjuk, hogy amit lttunk, csak a jghegy cscsa, nem jrunk messze a valsgtl, hiszen a vezetk nlkli s mobil hlzatok csak most fognak berobbanni a hlzati alkalmazsok s protokollok vilgba!

6.9. sszefoglals
A vezetk nlkli s mobil hlzatok forradalmastottk a telefonos vilgot, s egyre nagyobb hatssal vannak a szmtgpes hlzatokra is. Mivel segtsgkkel brhol, brmikor egy globlis hlzatot rhetnk el, nem csak egyre tbb helyen frhetnk az internethez, de rdekes, helyfgg szolgltatsok egsz sornak megjelense vlik lehetv. Minthogy a vezetk nlkli s mobil hlzatok egyre fontosabb szerepel tltenek be, ezt a fejezetet az alapelveik, gyakori vezetk nlkli csatorna feletti eljrsaik s architektrjuk bemutatsnak szenteltk. A fejezetet egy bevezetvel kezdtk a vezetk nlkli s mobil hlzatok vilgba, klnbsget tve a kommunikcis csatornk vezetk nlklisge s az ltaluk lehetv vl mobilits jelentette kihvsok kztt. Ez lehetv tette az egyes terletek kulcsfogalmainak elklntst s megismerst. Els lpsben a vezetk nlkli kommunikcit s a vezetk nlkli csatornk jellemzit tekintettk t, a 6.2. alfejezetben. A 6.3. s 6.4. alfejezetek- ben megvizsgltuk az IEEE 802.11 (WiFi) vezetk nlkli helyi hlzati szabvny, az IEEE 802.16 WiMAX-, valamint az IEEE 802.15.1 Bluetooth-szabvny adatkapcsolati jellemzit s megismerkedtnk a mobil internet-hozzfrssel. Ezek utn figyelmnket a mobilits vizsglatnak szenteltk. A 6.5. alfejezetben a mobilits szmos formjt lttuk, amelyek mind klnbz kihvsokat jelentenek* s klnbz megoldsokat kvetelnek. Megis merkedtnk a mobil felhasznlk megtallsnak, illetve a feljk trtn tvlasztsnak a problmival csakgy, mint a hlzati kapcsoldsi pontjukat vltoztat felhasznlk tadsnak klnbz mdszereivel. Megvizsgltuk, hogy ezeket a problmkat hogyan kezelik a mobil-IP, valamint a GSM esetben, rendre a 6.6. s

6.7. alfejezetekben. Vgl, a 6.8. alfejezetben megvizsgltuk a vezetk nlkli adatkapcsolatok s a mobilits szlltsi szint protokollokra s a hlzati alkalmazsokra gyakorolt hatst. Habr egy egsz fejezetet szntunk a vezetk nlkli s mobil hlzatok tanulmnyozsnak, egy egsz knyvre (vagy inkbb knyvekre) lenne szksg ezen rdekes s gyorsan fejld terlet teljes felfedezsre. Arra bztatjuk az olvast, hogy a fejezetben emltett anyagok segtsgvel jobban mlyedjen bele ebbe a tmakrbe.

Krdsek_______________________________________________
6.1. alfejezet

KI. Mit jelent az, ha egy vezetk nlkli hlzat infrastruktra mdban mkdik? Ha a hlzat nem infrastruktra mdban mkdik, akkor milyen mdban mkdik, s ez a md miben klnbzik az infrastruktra mdtl? K2. Melyik a vezetk nlkli hlzatok azon ngy tpusa, amelyet a 6.1. alfejezetben lv osztlyozsban megemltettnk? 6.2. al fejezel

K3. Mik a klnbsgek a vezetk nlkli csatornk kvetkez htrnyos tulajdonsgai kztt: jelgyengls, tbbutas terjeds, ms forrsokkal val interferencia? K4. Ahogy egy mobil csompont egyre tvolodik egy bzisllomstl, mi az a kt dolog, am it a bzisllomsnak meg kell tennie an nak rdekben, hogy ne njn a tovbbtott keretek elvesztsnek valsznsge? 6.3. aIfejezet

K5. Ismertesse az IEEE 802.11 jelzfny keretnek a szerept. K6. Igaz, vagy hamis a kvetkez llts: Mieltt egy IEEE 802.11 lloms tovbbt egy adatkeretet, elsknt RTS-keretet kell kldenie, s fogadnia egy CTS-keretet. K7. Mirt hasznlunk nyugtzst IEEE 802.11 eseten, amikor vezetkes Ethernet esetn nem? K8. Az IEEE 802.11 s az Ethernet keretszerkezete megegyez. Igaz vagy hamis? K9. Magyarzza meg az RTS-kszbrtk mkdst. K10. Tegyk fel, hogy az IEEE 802.11 RTS- s CTS-keretei ugyanolyan hosszak, mint a DATA- s ACK-keretek. Jelentene brmi elnyt a CTS- s RTS-keretek hasznlata? Vlaszt indokolja. Kll. A 6.3.4. alfejezet a mobilits olyan formjt trgyalja, amikor egy vezetk nlkli lloms azonos alhlzaton bell mozog kt BSS kztt. Amikor a hozzfrsi pontokat egy kapcsol kti ssze, azegyikhozzfrsi pontnak lehet, hogy egy,, becsaps >> M AC-cmmel elltott keretet kell kldenie annak rdekben, hogy a kapcsol megfelelen tovbbtsa a keretet. Mirt? K12. Mi a klnbsg a Bluetooth-hlzat mestercsompontja s egy IEEE 802.11 hlzat bzisllomsa kztt?

K13. Igaz vagy hamis a kvetkez llts: WiMAX esetn a bzisllomsoknak minden csompont fel ugyanazzal az adsi sebessggel kell adatokat tovbbtaniuk. K14. Mit jelent az alkalmi temezs WiMAX esetn? K15. A 6.3.2. alfejezctben lthattuk, hogy kt f 3G-szabvny ltezik: az UMTS s a CDM A-2000. Ezek a szabvnyok mely 2G-, illetve 2,5G-szabvnyok leszrmazottai? G.5-6.6. alfejezet Kl. Egy az internettel vezetk nlkli sszekttetsben ll csompontnak mindig mobilnak kell lennie? K17. Mi az eltrs az lland s a felgyeleti cm kztt? Ki osztja ki a felgyeleti cmeket? K18. Kpzeljnk el egy mobil-IP fltti TCP-sszekttetst. Igaz vagy hamis-e az az llts, miszerint a mobil lloms s a kezdemnyez fl kztti TCPsszekttets felptsi zenetei thaladnak a mobil lloms hazai hlzatn, mg az adattvitel a kezdemnyez fl s a mobil lloms kztt kzvetlenl, a hazai hlzat megkerlsvel folyik? 6.7. alfejezel K19. Mi a HLR s a VLR szerepe a GSM-hlzatokban? A mobil-IP architektrjnak mely elemei hasonlak a VLR-hez, illetve a HLR-hez? K20. Mi a horgony-MSC szerepe a GSM-hlzatokban? 6.8. alfejezet K21. Miaza hrom eljrs, amellyel elkerlhetjk azt, hogyegyctlen vezetknlkli sszekttets lerontsa a TCP-sszekttets kt vgpont kztti teljestmnyt?

Feladatok
F1. Vegyka 6.5. bra egy kldt tartalmaz CDM A pldjt. Mi lenne a kld ki menete (a kt brzolt adatbitre), ha a kld ltal hasznlt CDMA-kd (1, -1,1, -1,1, -1,1, -1) lenne? F2. Tekintsk a 2. adt a 6.6. brn. Mi a kld csatornra kldtt kimenete, Z (az i 1. ad jelhez val hozzadds eltt)? F3. Tegyk lel, hogy a 6.6. bra vevje a 2. ad ltal kldtt adatokat szeretn fogadni. Mutassa meg (szmts segtsgvel), hogy a vev a 2. ad kdjnak hasznlatval kpes kinyerni a 2. ad adatfolyamt a csatornn lv sszeaddott jelbl! F4. Egy ktads, ktvevs pldra adjon meg kt olyan 1 s -1 rtkeket tartalmaz CDMA-kdot, amelyek hasznlatakor a vevk nem kpesek az adk eredeti adatfolyamainak kinyersre. F5. Tegyk fel, hogy egy kvzban kt szolgltat is biztost WiFi-hozzfrst, sajt hozzfrsi pontjaikkal s cmtartomnyaikkal.
2

(a) Tegyk fel tovbb, hogy valamilyen vletlen folytn mindkt szolgltat gy lltotta be hozzfrsi pontjait, hogy a 11-cs csatorna felett mkd jenek. A IEEE 802.11 protokoll ebben a helyzetben teljes mrtkben mkdskptelen lesz? Gondolja t, hogy mi trtnik, amikor kt, klnbz szolgltathoz csatlakoz lloms egyszerre prbl adni. (b) Most tegyk fel, hogy az egyik szolgltat hozzfrsi pontja az 1-es, a msik pedig a 11-es csatornn mkdik. Hogyan vltoznak az elz krdsre adott vlaszai? F6. A CSMA/CA protokoll 4. lpsben egy keretet sikerrel tovbbt csompont az 1. lps helyett a 2. lpsnl kezdi jra a CSMA/CA protokoll vgrehajtst. Mi jrhatott a CSMA/CA tervezinek fejben, amikor gy dntttek, hogy egy ilyen lloms nem kezdheti meg rgtn a msodik keret adst (amennyiben a csatornt szabadnak rzkeli)? F7. Tegyk fel, hogy egy IEEE 802.11b llomst gy lltottak be, hogy mindig lefoglalja a csatornt egy RTS/CTS zenetvltssal. Tegyk fel tovbb, hogy ennek az llomsnak hirtelen tmad 1000 bjt tovbbtand adata, s az sszes tbbi lloms nyugalmi llapotban van ekkor. Az SIFS s DIFS rtkek fggvnyben, a terjedsi ksleltets figyelmen kvl hagysa mellett, bithibktl mentes csatornt felttelezve szmolja ki azt az idtartamot, amely a keret tovbbtshoz s a nyugta vtelhez szksges. F8. Vegyk a 6.32. brn vzolt elrendezst, A, B, C s D vezetk nlkli csompontokkal. A ngy csompont rdis hattvolsgt a sznezett ellipszisek mulatjk - mind a ngy csompont ugyanazon frekvencin mkdik. Amikor A forgalmaz, azt csak B hallhatja/veheti, amikor B forgalmaz, azt A s C is hallhatja/veheti, ami kor C forgalmaz, azt B s D is hallhatja/veheti, D csompont adst csak C csompont hallhatja/veheti. Ttelezzk fel, hogy valamennyi csompont vgtelen szm zenettel rendelkezik, amelyeket a tbbi csompontnak szeretne elkldeni. Amennyiben egy zenet cmzettje nem kzvetlen szomszd, az zenetet egy msik csompont segtsgvel kell tovbbtani. Ha pldul A D-nek szeretne tovbbtani, zenett elsknt B-nek kell elkldenie, aki azutn D-nek tovbbtja azt. Az idt rsekre osztjuk fel, egy zenet- kldshez pontosan egy idrs szksges, ahogy pldul a rseit ALOHA-ban is. Egy idrsben egy csompont hrom dolgot tehet: (i) zenetet kld (amennyiben van kldend zenete); (ii) fogadhat zenetet (ha pontosan egy zenetet kldenek neki); (iii) maradhat csndben. Amennyiben egy csompont kt vagy tbb adst is hall egyszerre, tkzs trtnik, s egyik zenetet sem sikerl fogadnia. Feltesszk, hogy nincsenek bitszint hibk, azaz ha pontosan egy zenetet kldnkki, az srtetlenl rkezik meg a kld hatsugarn bell elhelyezked csompontokhoz. (a) Tegyk fel, hogy egy mindentud vezrl (egy olyan vezrl, amelyik a hlzat valamennyi csompontjnak llapott ismeri) brmelyik csompontot brmire utasthatja, pldul, hogy kldjn egy zenetet, fogadjon egy zenetet vagy

maradjon csndben. A mindentud vezrlvel mekkora a legnagyobb adattviteli sebessg, amellyel egy zenetet C csomponttl A csompontig tvihetnk? Feltesszk, hogy a tbbi forrs/cl pros kztt nem kell semmit tvinni. (b) Tegyk most fel, hogy A kld zeneteket B-nek, s D pedig C-nek kld zeneteket. Mi a maximlis sszestett adatsebessg, amellyel az A-bl Bbe, illetve a D-bl C-be kldtt zenetek haladhatnak? (c) legyk lel, hogy A B-nek, C pedig D-nek kld zeneteket. Mi a maximlis sszestett adatsebessg, amellyel az A-bl B-be, illetve a C-bl D-be kldtt zenetek haladhatnak? (d) Tegyk fel, hogy a vezetk nlkli csatornkat vezetkesekre cserljk. Vlaszolja meg az (a)-(c) krdseket ebben az esetben is. (e) Tegyk fel, hogy most ismt vezetek nlkli krnyezetben vagyunk, s hogy a forrstl a clig eljutott zeneteket a cmzett egy ACK-zenettel nyugtzza (pldul mint TCP esetn). Vlaszolja meg ebben az esetben is az (a)-(c) krdseket. F9. rja le a 802.15.1 Bluetooth-keret formtumt. Khhez a knyvn kvl ms anyagokat is el kell olvasnia. Tall valamit a keretben, amely miatt a 802.15.1 hlzatban nem lehet tbb 8 aktv csompontnl? Vlaszt magyarzza meg. F10. Vegyk a kvetkez idealizlt WiMAX-hlzatot. A letltsi alkeret (lsd 6.17. bra) idrsekre van osztva, mghozz alkeretenknt Nazonos hossz letltsi rsre. A ngy csompontot, A-t, B-t, C-t s D-t a bzisllomsbl rendre 10 Mb/s, 5 Mb/s, 2,5 Mb/s, 1 Mb/s sebessgeken lehet elrni a letltsi csatornn. A bzislloms vgtelen mennyisg tovbbtand adattal rendelkezik valamennyi csompont fel, s brmelyik csompontnak a letltsi alkeret brmely idrsben tud kldeni. (a) xVlekkora maximlis adatsebessggel tud kldeni a bzislloms, ha brmelyik idrsben tetszleges csompontnak kldhet? Igazsgos ez a megolds? Magyarzza meg, hogy mit rt igazsgos alatt. (b) Ha a rendszerben definiltak egy igazsgossgi kvetelmnyt arra vonatkozan, hogy minden csompontnak ugyanannyi adatot kell fogadnia minden letltsi alkeretben, akkor mi lesz a bzislloms tlagos letltsi sebessge (az sszes csompontra szmolva) egy letltsi alkereten bell? (c) Tegyk fel, hogy az igazsgossgi kvetelmnyt gy mdostjuk, hogy brmely csompont legfeljebb ktszer annyi adatot fogadhat egy alkereten bell, mint brmely msik. Mi lesz a bzislloms tlagos letltsi sebessge (az sszes csompontra szmolva) egy letltsi alkereten bell? FII. A mobil felhasznlk IP-cmeinek megtartsra a 6.5. alfejezetben lert egyik megolds szerint az idegen hlzat a ltez t vlasztsi infrastruktrt hasznlva a hlzatban elterjeszt egy, a mobil felhasznlhoz vezet utat. A megolds egyik htrnyaknt a nehz sklzhatsgot emeltk ki. Amikor a

mobil felhasznl az egyik hlzatbl tlp egy msikba, az j hlzatnak ki kell hirdetnie a mobil felhasz- nlhozvezet utat, a rgi hlzatnakpedig vissza kell vonniaa korbban elterjesztett tvonalat. Gondolja t, hogy tvolsgvek tor-alap tvlaszts esetn hogyan terjed az tvlasztsi informci a hlzatban (klnskppen hlzatkzi tvlaszts esetn, a vilgot behlz hlzatok kztt). (a) Kpes lesz minden tvlaszt azonnal az j tvonalon kldeni csomagjait, amint az idegen hlzat elkezdi terjeszteni az tvonalat? (b) Lehetsges, hogy klnbz tvlasztk klnbz idegen hlzatban tartzkodnak hiszik a mobil csompontot? (c) Gondolkozzon el arrl az idsklrl, amelyen haladva a hlzatban tallhat tvlasztk vgl megismerik az j utat a felhasznlhoz. FI2. Tegyk fel, hogy a 6.21. brn lthat partner egy mobil csompont. Vzolja azt a plusz adatkapcsolati szint infrastruktrt, amely szksges volna a csomagok eredeti mobil csomponttl a (most mr mobil) partnerig val eljuttatshoz. A 6.22. brhoz hasonlan ismertesse az eredeti mobil csompont s a (most mr mobil) partner kztt halad adatcsomagok szerkezett. F13. Mobil-IP esetn milyen hatssal lesz a mobilits a forrs s cl kztt halad adatcsomagok kt vgpont kztti ksleltetsre? F14. Vegyk a 6.7.2. alfejezet vgn trgyalt lncolsi pldt. Tegyk fel, hogy egy mobil felhasznl az A, B s C idegen hlzatokat ltogatja meg, s hogy egy hv fl akkor ltest kapcsolatot a mobil felhasznlval, amikor a mobil felhasznl ppen az A idegen hlzatban tartzkodik. Ismertesse az idegen gynkk kztt, illetve az idegen gynkk s a hazai gynk kztt a mobil csompont A hlzatbl B, illetve C hlzatokba trtn tvndorlsa kzben lezajl zenet vltsi szekvencit. iMsodik esetknt tegyk fel, hogy nem fzzk lncba a kapcsolkzpontokat, s hogy a hv felet (csakgy, mint a hazai gynkt) kln kell rtesteni a mobil fel hasznl felgyeleti cmnek vltozsairl. Ismertesse ebben a msodik esetben szksges zenetvltsi szekvencit. F15. Vegynk kt mobil csompontot, amelyek ugyanazon, idegen gynkkel is rendelkez idegen hlzatban helyezkednek el. Lehetsges, hogy a kt mobil csompont ugyanazt a felgyeleti cmet hasznlja? Vlaszt indokolja! F16. Alapul vve azt az eljrst, amelyben a VLR friss informcit kld a HLR-nek a mobil csompont helyzett illeten, mik az elnyei, illetve htrnyai annak, ha az MSRN-t adja meg HLR-nek a VLR cme helyett?

Gondolkodtat krdsek
Gl. Soroljon fel t olyan, a piacon ma jelen lv termket, amelyek rendelkeznek Blue- tooth vagy IEEE 802.15 interfsszel. G2. Elrhet a 3G vezetk nlkli szolgltats a lakhelyn? Milyen ron? Milyen alkalmazsokat tmogat? G3. IHHK 802.11 felhasznlknt mifle problmkat figyelt mr meg? Hogyan fejldhet az IEEE 802.11, hogy kikszblje ezeket a problmkat? G4. Keressen r a Weben, hogy milyen irnyokba trtntek fejlesztsek WiMAX-

hl- zatok tern. Mennyire voltak tfogak ezek a fejlesztsek? Milyen adattviteli sebessgeket sikerlt velk elrni? Mekkora tvolsgokat sikerlt thidalni? Mindezt mekkora felhasznlszm mellett? G5. Keresgljen a weben, hogy megismerkedjen az EVDO-t s HSDPA-t rint fejlesztsekrl. Melyik terjedt el jobban eddig? Hol?

Vlaszol

Charlie Perkins
Charles E. Perkins a Nokia Research Centeren belli Palo Alto Systems Research Center egyik legmegbecsltebb munkatrsa. Vezetk nlkli mobil hlzatokkal s di

namikus konfigurcis protokollokkal foglalkozik. Ezek mellett az internetet fejleszt munkacsoport (Internet En- gineering Task Porc, IETF) mobil-IP munkacsoportjnak kiadvnyszerkesztje, a mip4, mip, manet, dhc, sea- moby (Seamless Mobility - teljes mobilits), valamint az autoconf munkacsoportok tbb szabvnynak s ms dokumentumnak szerzje vagy trsszerzje, az ACM s az IEEE tbb vezetk nlkli hlzatokkal foglalkoz foly iratnak szerkesztje. A Nokinl meghatroz szerepe volt azokban a kutatsokban, amelyek az ad hoc hlzatokkal, illetve a tbb milli hordozhat eszkz internet-hozz frsvel, tovbb a sklzhatsggal, illetve teljestmnyjellemzkkel foglalkoztak. Tbb mobil-IP-rl, illetve ad hoc hlzatokrl szl knyvet rt s szerkesztett, valamint szmos djnyertes cikkel is publiklt a mobilhlzatok, az ad hoc hlzatok, a mobilhlzatok tvonal-optimalizlsa, az erforrs-felderts, illetve a mobil szmtgpek automatikus konfigurcijnak tmakrben. Charles Perkins emellett a MobiHoc konferencia egyik ltrehozja. A konferencinak volt elnke, illetve programbizottsgi elnke is. Dolgozott az IETF internetarchitektrval foglalkoz bizottsgban (Internet Architecture Board) s az amerikai Nemzeti Kutatsi Tancs (National Research Council) tbb bizottsgban csakgy, mint a Katonai Kutatlaboratrium (Army Rese arch Lb) s a svjci M1CS Program szmos technikai rtkel bizottsgban. Mirt dnttt a vezetk nlklisg s a mobilits kutatsa mellett? A vezetk nlkli hlzatok s a mobilits vilgba egy IBM Research-nl vgzett projektmunka sorn kerltem az 1980-as vek vgn. Voltak rdis adatkapcsolataink, s egy olyan ThinkPad-szer eszkzt prbltunk kifejleszteni (mint pldul egy Palm Pilot), amely kpes vezetk nlkli hlzatokhoz

csatlakozni s felismerni a kzrst. Kifejlesztettnk egy egyszer megoldst (a ksbbi mobil-lP-t), s azt vettk szre, hogy mkdik. Mobil IP-s tapasztalainkkal felvrtezve kidolgoztuk az RIP egy mdostott vltozatt, amely gyorsnak s hatkonynak bizonyult, s amellyel megvalstottuk az els ad hoc hlzatot, ami szintn elg jl mkdtt. A mkds alatt n azt rtem, hogy a mr meglv alkalmazsok brmifle mdosts nlkl is teljesen jl futottak, s a hlzat az j fejlesztseinkkel is ugyanolyan olajozottan mkdtt. Ezeket a jellemzket nevezhetjk alkalmazstltszsgnak, illetve sklzhatsgnak. Termszetesen a kutats a laborban s a piaci siker egszen ms dolgok, s a fent emltett kt megoldsban mg rengeteg rtk rejlik, ami a piacon mg nem jelent meg. Mi volt az els munkja a szmtgpiparban? A Texas llambeli houstoni TRW Controlsnl dolgoztam. Ez jelents vltozst jelentett egyetemi tanulmnyaimhoz kpest.

A TRW Controlsnl megtanultam egy fontos dolgot: azt, hogy mennyire gyengk mg a legkritikusabb kzmvezrl rendszerek szoftverei is. Ezek a rendszerek azrt felelsek, hogy risi villamos eloszthlzatokban a villamos ram ramlst vezreljk. A vezrlshez kifejlesztett szoftverekben olyan megoldsokat tallhatunk, amelyektl felll az ember htn a szr. Mindemellett az temtervek mindig szkre szabottak voltak, s a programozk vgtelenl kibrndultak voltak a menedzsment szndkai s sajt munka- krlmnyeik miatt. Az egsz rendszeri jra kellett volna tervezni, az alapoktl kezdve. Nincs tl sok okom azt hinni, hogy a dolgok az elmlt 30 v sorn megvltoztak, fleg a 2003-as ramsznet krlmnyeinek ismeretben. Valjban a liberalizci kvetkeztben szinte biztos, hogy rosszabb a helyzet. rmmel hagytam ott a TRW Controlst, s kezdtem a Tektronixnl (Tek Labs) dolgozni. Mi jelenti a legnagyobb kihvst munkjban? A legnagyobb kihivst az jelenti, hogy rjjjek, mivel segthetnm a legjobban a cgemet. Munkm rsznek tekintem ezenkvl azt, hogy kicsit alaktsak az ltalam megismert vezetk nlkli megoldsokon, hogy azok jobb szolgltatst s az emberek szmra nagyobb lmnyt nyjtsanak a mindennapokban. A cgem feladata az emberek sszekapcsolsa (Connecting People), s n remlem, hogy hozzjrulok ahhoz, hogy ezek a kapcsolatok - amennyire csak lehet harmonikusak s zavartalanok legyenek. s miutn ezt a munkt gy igyekszem vgezni, hogy maximalizljam az ltalunk fejlesztett mszaki megoldsok piaci letkpessgt, minden nap j kihvs. gy gondolom, hogy klnsen a vezetk nlkli vilgban mg fejldnik kell a biztonsgi megoldsoknak, hogy vonzak s elfogadottak (mint egy eskabt) legyenek, s ne nehzkesek s ijesztek (mint amilyenek manapsg). Rszletesebben mszaki szinten fogalmazva - ebben valjban jobban otthon is vagyok - hlzati protokollok problmit prblom megoldani gy, hogy minl kevesebb teher nehezedjen a vezetk nlkli eszkzkre (s akkumultoraikra!), s hogy a felhasznlk a lehet legkevesebb knyelmetlensggel szembesljenek. A mai vezetk nlkli telefonok sszektse az internettel nagysebessg hlzati megoldsok segtsgvel egyrszt elkpeszten rdekes mszakilag, msrszt pedig vgtelen piaci lehetsgeket jelent azok szmra, akik meg tudjk tallni a megfelel utakat. Hogyan ltja a vezetk nlkli vilg jvjt? Az egsz vezetk nlkli ipar hatalmas vltozson megy keresztl, aminek nem ltni a vgt. j nagysebessg vezetk nlkli megoldsok emelkednek fel, s lehet, hogy olyan elre nem lthat gyakorlati hatsaik lesznek, amelyek gykeresen megvltoztatjk majd a trsadalmat. A jelenlegi, titkossggal kapcsolatos vrakozsaink s a kommunikcink (hang-, kps adatkommunikci) korltozott lehetsgei tz v mlva mr esetleg is meretlenek lesznek. Ahogy a cgek is egyre inkbb a vezetk nlkli kommunikci hvei lesznek, nagyon valszn, hogy j biztonsgi mrck jelennek majd meg, amelyek

jelentsen megvltoztatjk majd a munkahelyi gyakorlatot. Elg vilgosan ltszik, hogy egyre nagyobb frekvenciaspektrum ll majd a rdis kommunikci rendelkezsre, amely igen nagy sebessgv vlhat. Az llamok tbb s tbb nagysebessg rdis szolgltatst bocstanak majd polgraik rendelkezsre - egsz vrosok vlhatnak risi helyi hlzatokk. Ez j ert adhat ahhoz, hogy ismt megismerjk a kzssg fogalmt, egy fogalmat, amely trsadalmunkban, legalbbis az Egyeslt llamokban mr rg nem ismert. Termszetesen a kzssg tovbbra is ignyelni fogja az internethez val hozzfrst. A trolkapacitsok hihetetlenl gyorsan nnek, mghozz olyan olcsk, hogy ma mr zsebnkben hordhatjuk a teljes Wikipdit, valsznleg a vilg sszes telefonszmt, s akkor mg nem is emltettk a pldtlan szemlyes knyv-, zene- s filmgyjtemnyeket. A vezetk nlkli megoldsok fejldse gyorstja az internet nvekedst. Ahogy a vezetk nlkli eszkzk olcsbbakk vlnak, egyre tbb helyen jelenik meg az internetes kommunikci letnkben (fldugkban, tbb rsztvevs jtkokban, a metr krtya- leolvasiban). Ez pedig tovbb motivlja az j alkalmazsok s biztonsgi megoldsok fejlesztst.

30

6. VEZETK

NLKLI S MOBILHLZATOK

FELADATOK

31

7. FEJEZET

Multimdia-hlzatok

Napjainkban tani lehetnk az internetes audio- s videoalkalmazsok szles kr terjedsnek. Sok szz weboldal - pldul a CCN, Rhapsody, Napster, MSN, AOL, Yahoo! - teszi elrhetv az audio- s videotartalmak vals idej letltst. A YouTube s ms videomegoszt oldalakon a felhasznl - krsre - msok ltal feltlttt videkat is megtekinthet. Millik hasznljk a Skype-ot telefonlsra s videokonferencira. Nhny hagyomnyos televzis csatornt ma mr az interneten keresztl kzvettenek, lehetv tve a vilg brmely szgletbl szrmaz televzis adsok vtelt. A multimdis internetal kalmazsok robbansszer nvekedse a szles sv lakossgi hozzfrs s a nagysebes sg vezetk nlkli hozzfrs (mint pldul a WiFi) elsdleges kvetkezmnye. Ahogy az 1.2. alfejezetben elmondtuk, a szles sv hozzfrsek szma tovbb nvekszik, ez pedig elsegti j s rdekes multimdis alkalmazsok fejldst. A multimdis alkalmazsok a szolgltatsok kvetelmnyeit teintve jelentsen klnbznek a hagyomnyos rugalmas alkalmazsoktl, mint amilyen az e-mail, a webszrf- ls, a tvoli elrs, a fjlletlts s -megoszts is (amelyet a 2. fejezetben trgyaltunk). A rugalmas alkalmazsokkal ellenttben a multimdis alkalmazsok klnsen rzkenyek a vgpontok kztti ksleltetsre s ksleltetsingadozsra, de eltrik az alkalmanknti adatvesztesget. Ezt a fejezetet a multimdis alkalmazsok osztlyozsval kezdjk (lsd 7.1. alfejezet). Ltni fogjuk, hogy a multimdis alkalmazsok besorolhatk trolt

audio/vide folyamszer letltse (streaming stored audio/video), l audio/vide folyamszer letltse (strea- ming live audio/video) vagy vals idej interaktv audio/vide (real-time interactive audio/ vide) kategrikba. Tovbb, azt is ltni
fogjuk, hogy mindegyik alkalmazsnak a hlzat klnbz szolgltatsaira van szksge. A 7.2. alfejezetben megvizsgljuk a trolt audio/vide folyamszer letltsnek nhny rszlett. A 7.3. alfejezetben megmutatunk alkalmazsszint eljrsokat, amelyek megnvelhetik a multimdis alkalmazsok tel jestmnyt a mai legjobb szolgltatsra trekv (best-effort) interneten. A 7.4. alfejezetben bemutatunk szmos multimdia-protokollt, amelyeket a mai interneten hasznlnak. A 7.5. alfejezetben olyan hlzati mechanizmusokat vizsglunk meg, amelyekkel meg tudjuk klnbztetni az egyik forgalmi osztlyt (pldul ksleltetstr alkalmazsokat, mint amilyen a multimdia) a msiktl (pldul rugalmas alkalmazsok, amilyen az FTP is), s amelyek megklnbztetett szolgltatsokat nyjtanak az eltr forgalmi osztlyok szmra. Vgl a 7.6. alfejezetben tgondoljuk azt az esetet, amikor a hlzatnak teljest mnybeli garancikat kell adnia egy alkalmazs szmra - pldul hogy mi szksges ahhoz, hogy a csomagalap IP-tclefonhvs ugyanazt a teljestmnyt kapja, mint a vonal -

523

6. VEZETK NLKLI S MOBILHLZATOK

kapcsolt telefonhlzati hvs. Ltni fogjuk, hogy ehhez j hlzati mechanizmusok s protokollok bevezetsre lesz szksgnk.

7.1.

A multimdia hlzati alkalmazsai

A 2. fejezetben az alkalmazsok szmra nyjtand szolgltatsi felttelek trgyalsa sorn meghatroztunk bizonyos szm jellemzt, amelyek szerint ezeket a feltteleket osztlyozhatjuk. Kett ezek kzl - az idbeli tnyezk s az adatvesztesggel szembeni trkpessg - klnsen fontos a hlzati multimdis alkalmazsok szmra. Az idbeli tnyezk azrt fontosak, mert szmos multimdis alkalmazs nagyon ksleltetsrzkeny (delay sensitive). Rvidesen ltni fogjuk, hogy sok multimdia-alkalmazsban a cso magok, amelyek a kldtl a fogadig pr szz milliszekundumnl tbb ksleltetst szen vednek el, lnyegben hasznlhatatlanok a fogad fl szmra. Msfell viszont a hlzati multimdia-alkalmazsok tbbnyire vesztesgtrk (loss-tolerant) - a ritkn elfordul ritkn okoz hibt az audio-/videolejtszsban, s ezek a vesztesgek gyakran rszlegesen vagy teljesen elrejthetk. Ezek a ksleltetsrzkeny, m vesztesgtr jellemzk teljesen klnbznek azoktl, amelyekkel a rugalmas alkalmazsok - a web, az e-mail, az FTP s a Telnet - rendelkeznek. A rugalmas alkalmazsok szmra a hossz ksleltetsek ideges- tek, m nem krosak, s az tvitt adat teljessge s srtetlensge a legfontosabb.

7.1.1.

Pldk multimdia-alkalmazsokra

Az internet a multimdia-alkalmazsok szles skljt tmogatja. Ebben az alfejezetben a multimdia-alkalmazsok hrom tfog osztlyt vizsgljuk meg: (1) a trolt audio/vide folyamszer letltst, (2) az l audio/vide folyamszer letltst s (3) a vals idej interaktv audio/videt. Ebben a fejezetben nem trgyaljuk a tltsd-le-s-indtsd-el tpus alkamazsokat, mint amilyen egy P2P fjlmegoszt alkalmazs, ahol a teljes MP3-fjl letltse megtrtnik, mieltt annak lejtszsa elkezddne. A tltsd-le-s-indtsd-el tpus alkalmazsok rugalmas, fjltviteli alkalmazsok klnleges ksleltetsi kvetelmnyek nlkl. A fjltviteli (HTTP s FTP) s P2P-rendszereket a 2. fejezetben vizsgltuk meg.

Trolt audio s vide folyamszer letltse


Ebben az alkalmazsosztlyban a kliensek krsre tmrtett audio- vagy videofjlokat tlthetnek le az ezeket trol szerverekrl. Tbb ezer olyan weboldal ltezik, amelyik lehetv teszi trolt audio/videoanyagok folyamszer letltst, mint pldul a CNN, Microsoft Vide s a YouTube. Ennek az alkalmazsi osztlynak hrom f jellemzje van:

Trolt mdia. Az elre felvett multimdis tartalom a szerveren troldik.

Mivel a mdia elre felvett, a kliensnl lv felhasznl megllthatja, visszatekerheti, elreprgetheti vagy kereshet a multimdis tartalomban. Az idnek, amely a felhasznl krstl annak teljeslsig eltelik, egy s tz msodperc kztt kell lennie az elfogadhat vlaszreakcihoz. Folyamszer multimdia-letlts. A trolt audio/vide folyamszer letltsre 6.32. bra. Azalkalmazsokban, F8. feladat hlzatiaelrendezse szolgl kliens tipikusan pr msodperccel a fjl szerverrl

523

6. VEZETK NLKLI S MOBILHLZATOK

trtn letltsnek megkezdse utn kezdi el az audio-/videotartalom lejtszst. Ez azt jelenti, hogya kliens mr lejtssza azaudit/videt a fjl egy bizonyos helyrl, mikzben a ksbbi fjlrszeket mg ppen tlti le a szerverrl. Ez az eljrs, az gynevezett folyamszer multimdia-letlts (streaming), elkerli a teljes fjl letltst (s a fel

6.32. bra. Az F8. feladat hlzati elrendezse

merl igen valszn nagy ksleltetst), mieltt a lejtszst elkezden. Sok ilyen folyamszer multimdia-letlt kliens ltezik, mint pldul a RealPlaycr a RealNet- workstl (RealNetworks 2007], az Apple QuickTime-ja [QuickTime 2007) s a Microsoft Windows Medija [Microsoft Media Player 2007]. Folytatlagos lejtszs. Amint a multimdia-tartalom lejtszsa elkezddik, a felvtel rgztsnek eredeti idztse szerint kell elrehaladnia. Ezrt az adatnak idben meg kell rkeznie a szervertl a kliensen val lejtszshoz, msklnben a felhasznl frusztrl pufferelsi ksleltetst rzkel. Habr a trolt mdis alkalmazsoknl kvetelmny a folyamatos lejtszs, a kt vg kztti ksleltetsk mindazonltal kevsb szigor, mint az olyan l, interaktv alkalmazsoknak, mint pldul az internettelefon s a videokonferencia (lsd albb).

l audio s vide folyamszer letltse


Az alkalmazsok ezen osztlya hasonlt a hagyomnyos rdi- s televzis msorok szrshoz, kivve, hogy az tvitel az interneten keresztl zajlik. Ezek az alkalmazsok lehetv teszik a felhasznl szmra, hogy olyan l rdi- vagy televziadsokat fogadjon, amelyeket a vilg brmely sarkbl adhatnak. (Pldul a knyv egyik szerzje gyakran hallgatja a kedvenc philadelphiai rdiadjt utazs kzben. A msik szerz gyakran hallgatta az egyeteme kedvenc kosrlabdacsapatnak jtkt kzvett l rdiadst, mikzben veken keresztl Franciaorszgban lt. Ezeket az alkalmazsokat gyakran nevezik internetrdinak s IPTV-nek. Manapsg tbb ezer rdiad szolgltat msort az interneten keresztl s szmos IPTV-megvalsts ltezik (lsd az IPTV-rl szl rst).
gy is trtnelem

IPTV
A televzis tartalmat hagyomnyosan fldfelszni mikrohullm sugrzssal, hibrid fnyvezetszlas-koaxilis kbeles (hybrid-fiber coax, MFC) s geostacionrius mholdas csatorn kon szolgltatjk (lsd 1.2. alfejezet). A mai internetes vilgban viszont nagymrtk rdekl ds van az IPTV irnt - amely az interneten val televzis tartalom sztosztst jelenti. Az IPTV egyik kihvsa a hatalmas svszlessg igny megoldsa, klnsen a szerverforrsnl. Gondoljunk bele pldul egy f sportesemny kzvettsbe, amilyen egy vilgbajnoki meccs, amelyet egyetlen szerver szolgltat az interneten 100 milli egyidej felhasznlnak. Ha a vide tviteli sebessge egy 1 Mb/s-os szerny rtk, akkor a szerver ltal ignyelt svszlessg iszony nagy, 100 terabit/msodperc lenne! Ezrt a klasszikus kliens-szerver eloszts szba sem jhet. Ha az IP tbbesklds az interneten szleskren elterjedne, akkor sokkal knnyebb lenne az IPTV-t megvalstani. Egy msik megolds a videnak egy tbbeasadssal tartalomsztoszt alfejezet). Szintn alternatv megolds a peer-to-peer sztoszts, ahol minden egyes fl, amely egy televzis csatornt fogad, maga is segt a csatorna jrasztosztsban a tbbi fl fel. A legnagyobb vonzer az ilyen megoldsban taln az alacsony sztosztsi kltsg: ha az egyes telek egyttesen elg feltltsi svszlessget adnak, kis szerver-svszlessgre van szksg (taln csak alig prszorosa a vide sebessgnek). Ilyen alacsony r esetn brki, akinek van webkamerja, elhanyagolhat kltsggel egy l kzvettst tud sztosztani tbb milli felhasznlnak. mkd tlapol hlzaton val sztosztsa. CDNs) Ilyen szolgltatst (lsd a hlzatok (content distribution networks, nyjtanak 7.3.

26

6. VEZETK

NLKLI S MOBILHLZATOK

Eddig nhny BitTorrent tpus P2P IPTV rendszert ptettek ki. Ezen a terleten az ttr, a CoolStreaming, tbb mint 4000 egyidej felhasznlt szmllt 2003-ban |CoolStreraming 2005]. Nemrg szmos ms rendszer, pldul a PPLive s ppstream, rt el hatalmas sikereket tbb tzezer egyidej felhasznlval, akik 300 kb/ss 1 Mb/s kzt ti sebessggel nztek adsokat. Ezeknl a BitTorrent tpus rendszereknl a felek egy dinamikus tfed hlzatot alkotnak, s videotredkeket cserlnek ki az tfed hlzaton lv szomszdjaikkal. rdekes lenne vgigkvetni, hogyan fejldik az IPTV a kvetkez 5-10 vben. Mi lesz a mszaki megolds alapja: CDN vagy P2P, vagy a kett keverke? Vajon a vilgbajnoksg szurkoli tbornak nagy rsze az interneten keresztl fogja nzni a meccseket 20!4-ben?

Mivel az l audio-/vide folyamszer letlts sorn fogadott adatot nem troljk, a kliens nem tekerhet elre, azaz nem nzhet bele a mdiba ksbbi esemnyeket kutatva. Habr a vett adat helyi trolsval lehetsges a megllts s a visszatekers. Az l, kzvettsszer alkalmazsoknak gyakran nagyszm kliense van, amelyek ugyanazt az audio-/videoadst tltik le. A 4.7. alfejezetben trgyalt IP tbbeskldses eljrsokkal lehet az l audiot/videt hatkonyan sztosztani sok fogadhoz egyszerre. Ennek ellenre manapsg az l audio-/videotartalmakat gyakran alkalmazs szint tbbeskldssel (P2P vagy CDN hasznlatval) vagy tbb klnll egynekadsos adatfolyammal osztjk szt. Hasonlan a trolt audio/vide folyamszer letltshez a folyamatos lejtszs kvetelmny, habr az idbeli megktsek nem annyira szigorak, mint a vals idej interaktv alkalmazsoknl. A felhasznl letltsi krstl az l tvitelt kvet lejtszs megkezdsig eltel legfeljebb nhny tz msodperces ksleltets mg elviselhet.

Vals idej interaktv audio s vide letltse


Ezek az alkalmazsok lehetv leszik az audio/vide hasznlatt az emberek egyms kztti vals idej kommunikcijban. Az interneten keresztli vals idej interaktv audit gyakran internettelefonnak (internet telephony) hvjk, mivel a felhasznl szempontjbl hasonl a hagyomnyos vonalkapcsolt telefonszolgltatshoz. Az internettelefon egy alkzponton kersztl (privt branch exchange, PBX) helyi s tvoli telefonszolgltatst biztost nagyon olcsn. Olyan j szolgltatsok bevezetst is megknnytheti, amelyek a hagyom nyos vonalkapcsolt hlzatokkal nagyon nehezen voltak megvalsthatk, mint pldul je- lenltrzkels, csoportos hvs, hvszrs, webtelefon-integrci s meg sok ms. Szmos termk elrhet, amely tmogatja az internettelefont. Pldul a Skype-felhasznlk kpesek PC-s-telefon s PC-s-PC hanghvsokat lebonyoltani. A vals idej interaktv videval, amelyet videokonferencinak is neveznek, a felek vizulisan s szban is kommuniklhatnak egyszerre. Szmos termk is tmogatja az interneten keresztli vals idej interaktv videt (pldul a Microsoft NetMeetingje, a Skype-video s szmos Polycom-termk). Vegyk szre, hogy egy vals idej interaktv audio-/videoalkalmazsban a felhasznl brmikor beszlhet vagy brmikor abbahagyhatja. A tbb kommunikl fl kztt trtn beszlge tseknl az a ksleltets, amg a felhasznl beszde vagy mozgsa a fogad felekig eljut, kevesebb kell legyen pr szz ms-nl. A hangnl a 150 ms-nl kisebb ksleltets nem rzkelhet az emberi fl szmra, a 150 s 400 ms kztti ksleltets elfogadhat, a 400 ms feletti ksleltets pedig zavar vagy teljesen rthetetlen beszdet eredmnyez.

7.1.2. A multimdit a mai interneten akadlyoz tnyezk


Emlkezznk, hogy a mostani interneten megvalstott IP protokoll legjobbra trekv szolgltatst (best-efort service) nyjt az ltala szlltott adatcsomagok szmra. Ms szval minden tle telhett megtesz, hogy minden adatcsomagot eljuttasson a kldtl a fogadig, amilyen gyorsan csak lehetsges, de nem tesz gretet a csomagok kt vgpont kztti ksleltetsre. Ugyangy egy csomagfolyamon belli csomagksleltets ingadozst sem garantlja. Mivel a TCP s UDP IP felett mkdik, ezrt ebbl kvetkezik, hogy ezek a szlltsi szint protokollok sem vllalnak ksleltetsi garancit az alkalmazsok szmra. Az idbeli specilis csomagtovbbtsi szolgltatsok hinyban nagyon nehz problma a multimdis hlzati alkalmazsok fejlesztse. Mindezek ellenre az interneten keresztli multimdia jelents sikereket rt el mind a mai napig. Pldul a felhasznli interaktivitssal egybekttt trolt audio/vide folyamszer letltsnek 5 s 10 ms-os ksleltetse ltalnosnak mondhat az interneten. A cscsforgalmi idszakokban viszont a teljestmny nem felttlenl kielgt, klnsen amikor a kzbees adatkapcsolatok tlzsfoltak (pldul zsfolt tengerentli kapcsolatok esetn). Az internetes telefonls s a vals idej interaktv vide szles krben elterjedt; rutinszeren tbb mint 7 milli felhasznl hasznlja a Skype-ot online egy adott pillanatban. A vals idej interaktv hang s vide szigor megktseket tesz a csomagksleltetsre s csomagksleltets ingadozsra. A csomagksleltets ingadozsa (packct jitter) ugyanazon a csomagfolyamon bell a csomagok ksleltetsnek az ingadozsa. A vals idej hang s vide jl mkdik nagy svszlessg esetn, ekkor a ksleltets s az ingadozs minimlis. A minsg azonban azonnal elfogadhatatlan szintre cskken, amint a vals idej hang- s video-csomagfolyam mrskelten torld adatkapcsolattal tallkozik. A multimdis alkalmazsok tervezse biztosan egyszerbb lenne, ha az internetszolgltatsokat besorolnk els s msodosztly szolgltatsokba. Az els osztlyba csak meghatrozott szm csomag tartozna, s az tvlasztk vrakozsi soraiban elsbbsget lveznnek. Az ilyen els osztly szolgltatsok elegendek lennnek a ksleltetsrzkeny alkalmazsok szmra. m egszen mostanig az tvlasztk vrakozsi sorain belli csomagtemezsben az internet fleg az egyenlsgre trekedett. Minden csomag egyenl szolgltatst kap; semmilyen csomag, belertve a ksleltetsrzkeny hang- s videocsomagokat is, nem kap prioritst az tvlasztk vrakozsi soraiban. Nem szmt, mennyi pnzed van vagy milyen fontos vagy, be kell llnod a sor vgre s vrni kell a sorodra! A fejezet ksbbi rszben megvizsgljuk az ajnlott architektrkat, amelyek ennek a megszortsnak a feloldst clozzk. gy ht egytt kell lnnk a legjobbra trekv szolgltatssal. E megszorts mellett is szmos tervezsi lehetsg van, s bevethetnk pr trkkt a felhasznli lmnyek minsgnek javtsra a multimdis hlzati alkalmazsokban. Pldul kldhetjk a hangot s a videt UDP-n keresztl, gy megkerlve a TCP lass tvitelt, amikor a TCP belp a lass induls fzisba. Ksleltethetjk a lejtszst a fogadnl 100 vagy tbb ms-mal, an nak rdekben, hogy kikszbljk a hlzati ksleltetsingadozst. Idblyeggel lthat juk el a csomagokat a kldnl, gy a fogad lel tudja, hogy mikor melyik csomagot kell lejtszania. Trolt audionl s videnl elre letlthetnk adatokat a lejtszs kzben, ha a kliensnek van elegend trhelye s svszlessge. Redundns

28

6. VEZETK

NLKLI S MOBILHLZATOK

informcit is kldhetnk a hlzat keltette csomagveszts cskkentsre. Ezek kzl szmos eljrst megvizsglunk a fejezet els felnek htralv rszben.

7.1.3. Hogyan kell fejldnie az internetnek, hogy jobban tmogassa a multimdit?


Napjainkban lland vita folyik arrl, hogy milyen irnyban kellene fejldnie az internetnek annak rdekben, hogy ki tudja szolglni a szigor idbeli megszortsokkal rendelkez multimdia-forgalmat. Az egyik vglet szerint nhny kutat gy gondolja, hogy az internetet alapveten t kell alaktani azrt, hogy az alkalmazsok kt vgpont kztti svszlessget tudjanak lefoglalni, garancit szerezve a kt vgpont kztti teljestmnyre. A kemny garancia (hard guarantee) azt jelenti, hogy az alkalmazs biztosan megkapja a krt szolgltatsminsget (quality of servise, QoS). A puha garancia (soft guarantee) azt jelenti, hogy az alkalmazs nagy valsznsggel megkapja a krt szolgltatsminsget. Ezek a kutatk gy gondoljk, hogy ha pldul egy A hoszton lv felhasznl interneten keresztl szeretne telefonlni egy B hoszton lv felhasznlnak, akkor a felhasznl internettelefon-alkalmazsnak kpesnek kell lennie a konkrt svszlessg lefoglalsra a kt hoszt kztti ton lev minden adatkapcsolatnl. Ahhoz viszont, hogy megengedjk az alkalmazsoknak a lefoglalsokat, s hogy a hlzat figyelembe vegye azokat, nhny nagy vltoztatst kell tenni. Elszr is, szksgnk van egy protokollra, amely az alkal mazsok rszrl lefoglalja az adatkapcsolat svszlessgt a kldtl a fogadkig terjed ton. Msodszor, mdostanunk kell az tvlasztk temezsi hzirendjt, hogy figyelembe vegyk a svszlessg-lefoglalsokat. Az j temezsi hzirendek ltal a csomagok nem kapnak egyenl elbrlst; ellenkezleg, azok, amelyek tbbet foglalnak le (s tbbet fizetnek), tbbet kapnak. Harmadszor, a lefoglalsok figyelembevtelnek rdekben, az alkalmazsoknak lerst kell adniuk az ltaluk kvnt forgalomrl a hlzat szmra. A hlzatnak ezutn figyelnie kell az alkalmazs forgalmt azrt, hogy ellenrizze, hogy eleget tesz-e a lersnak. Vgezetl a hlzatnak kpesnek kell lennie meghatrozni, hogy van-e elegend szabad svszlessge az j lefoglalsi krelem kiszolglshoz. Ha kombi nljuk ezeket az eljrsokat, a hosztoknl s az tvlasztknl j s bonyolult szoftverekre, valamint j tpus szolgltatsokra van szksgnk. Ezeket az eljrsokat a 7.6. alfejezet- ben tekintjk t. A msik vglet, hogy nhny kutat szerint nem szksges alapvet mdostsokat tenni a legjobbra trekv szolgltatsban s az alapul szolgl internetprotokollokban. ppen ellenkezleg, szabadelv mkdst javasolnak: Ahogy a kvetelmnyek nvekednek, az ISP-k (mind a legfels szint, mind az alacsonyabb szint ISP-k) sklzni fogjk a hlzatukat, hogy a kvetelmnynek megfeleljenek. Ezltal az ISP-k a hlzatukon bell elegend svszlessget s kapcsolsi kapacitst tudnak nyjtani, a kielgt ksleltets s csomagvesztsi teljestmny elrse rdekben [I luang 2005]. Az ISP-k gy jobb szolgltatst fognak nyjtani az elfizetiknek (a felhasznlknak s elfizeti ISP-knek), magasabb bevtelt produklva a tbb elfizet s a magasabb szolgltatsi djak ltal. Annak rdekben, hogy a multi mdiaalkalmazsok mg tlterheltsg esetn is megkapjk a megfelel

szolgltatsokat, az ISP tlbiztosthatja a svszlessget s a kapcsolsi kapacitst. Megfelel forgalmi elrejelzssel s svszlessg tlbiztostsval puha QoS-garancikat lehet tenni. Tartalomsztoszt hlzatok (CDNs) msolatot ksztenek a trolt tartalomrl, s a msolatokat az internet szln helyezik el. Az interneten keresztlfoly forgalom (weboldalak, MP3-ak, videk) nagy rszt trolva, a CDN-ek jelentsen cskkenthetik a forgalmat az ISP-ken s az ISP-k kztti csatlakozsi pontokon. Tovbb, az CDN-ek klnbz szolgltatsokat nyjtanak a tartalomszolgltatknak: azok a tartalom- szolgltatk, amelyek fizetnek egy CDN-szolgltatsrt, gyorsabban s hatkonyabban clba juttathatjk a tartalmat. A CDN-eket a 7.3. alfejezetben tanulmnyozzuk. A felhasznlk milliihoz egyidejleg eljuttatott l adsfolyam forgalmnak (pldul egy sportesemny forgalmnak) kezelsre, tbbeskldses tlapol hlzatokat (multicast overlay neworks) hozunk ltre. Egy tbbeskldses tlapol hlzat felhasznli hosztokat s valsznleg dediklt szervereket tartalmaz, amelyek az interneten sztszrdva helyezkednek el. Ezek a hosztok, a szerverek s a kztk lv logikai adatkapcsolatok egyttesen egy tlapol hlzatot alkotnak, amely tbbeskldssel tovbbtja (lsd 4.7. alfejezet) a forgalmat a forrstl a tbb milli felhasznlig. Ellen ttben az lPtbbeskldssel,aztlapol hlzatok alkalmazsi szinten vgzika tbbes kldst. Pldul a forrshoszt kldheti az adatfolyamot hrom tlapol szervernek; mindegyik tlapol szerver tovbbi lapol szervereknek s hosztoknak tovbbtja a folyamot; a folyamat folytatdik, sztosztsi ft hozva ltre az IP-hlzat felett. Az tlapol hlzatokon a npszer ladsforgalmakat tbbeskldssel tovbbtva az internet teljes forgalmt cskkenteni lehet az egynekadsi sztosztshoz kpest. A lefoglalok tbora s a szabadelv tbor kztt van meg egy harmadik tbor is - a megklnbztetett szolgltatsok (diferentialed services, Diffserv) mellett rvelk. Ez a tbor viszonylagosan kis mrtk vltoztatsokat hajtana vgre a hlzaton s a szlltsi rtegben, s egyszer djazs s hzirend smkat vezetne be a hlzat szln (amely a felhasznlk s a felhasznlk ISP-i kztti interfszt jelenti). Alapelvk, hogy kis szm forgalmi osztlyt hoznak ltre (csupn kt osztlyt), minden adatcsomagot hozzrendelnek egy osztlyhoz, az adatcsomagoknak az osztlyuknak megfelelen klnbz szint szolgltatsokat adnak az tvlasztk vrakozsi soraiban, s a djat a felhasznlktl az ltaluk a hlzatba kldtt csomagok osztlynak megfelelen szedik be. A megkln bztetett szolgltatsokat a 7.5. alfejezetben trgyaljuk. A multimdia-forgalom kezelsnek e hrom mdszert - a legtbbet kihozni a legjobbra trekv szolgltatsbl, a megklnbztetett QoS s a garantlt QoS sszefoglaltuk a 7.1. tblzatban, s egyenknt trgyaljuk a 7.3., 7.5. s 7.6. alfejezetben.

30

6. VEZETK

NLKLI S MOBILHLZATOK

7.1. tblzat. A multimdia-alkalmazsok tmogatsnak hrom mdszere


Mdszer Lefoglalsi egysg nincs A legtbbet kihozva a legjobbra trekv szolgltatsbl nhny folyam Megklnbztetett QoS Garantlt QoS osztlyok klnll folyamok nincs vagy puha kevs nagy kzepes hzirend, temezs Garancia nincs vagy puha A jelenlegi megvalsts brhol Komplexits minimlis Eljrsok alkalmazs szint tmogats, CDN, felgyelet

puha vagy kemny, egyszerre egy folyam engedlyezett

hzirend, temezs, hvs engedlyezs s jelzs

7.1.4. Hang- s kptmrts


Mieltt a hangot s a videt tjtsszuk szmtgpes hlzaton, digitalizlnunk s tm- rtennk kell. A digitalizls oka nyilvnval: a szmtgpes hlzatok biteket kzvettenek, gy minden tvinni kvnt informcit bitek sorozatval kell lernunk. A tmrts fontos, mivel a tmrtetlen hang s vide hatalmas mennyisg trhelyet s svszlessget emszt fel - a digitalizlt hang- s videojelben rejl redundancit a tmrtssel eltvolitva nagysgrendekkel cskkenthet az tvitelhez szksges adat s svszlessg mennyisge. Pldul egy 1024 pixelt tartalmaz kp, 24 bittel kdolva minden kppontot (8 bit min den sznhez: vrs, zld s kk), 3 MB trhelyet ignyel tmrts nlkl. Egy 64 kb/sos kapcsolaton keresztl ezt a kpet ht perc alatt lehetne tkldeni. Gyenge, 10 : 1 arny tmrtssel viszont a kp trhelyignye 300 kilobjtra cskkenne, s az tviteli id is a tizedre esne. Rengeteg cikk szl a hang- s kptmrtsrl. Tbb mint 50 ve aktv kutatsi terlet, s sz szerint tbb szz hres eljrs s szabvny ltezik mind a hang, mind a kp tmrtsre. Sok egyetem sajt kurzust indt a hangtmrtsrl s a kptmrtsrl. Mi ezrt itt csak a tma rvid, tfog bemutatst adjuk.

Hangtmrts az interneten
A folyamatosan vltoz audiojel (amely beszdbl vagy zenbl szrmazik) digitlis jell trtn talaktsnak lpsei a kvetkezk: Az analg hangjelet elszr egy meghatrozott sebessggel mintavtelezik, pldul msodpercenknt 8000 mintval. Minden minta rtke egy tetszleges vals szm. Ezutn minden mintt egy a vges szm rtkhalmaz valamely elemre kerektenek. A mvelet neve a kvantls (quantization). A vges szm rtkhalmaz - amely elemeit kvantlsi rtkeknek nevezzk - tipikus mrete a kett valamely hatvnya, pldul 256 kvantlsi rtk. Minden kvantlsi rtket kttt szm bittel runk le. Pldul 256 kvantlsi rtk esetn minden rtket - gy minden mintt is - 1 bjttal runk le. Minden

mintt talaktva, bitekkel runk le. A mintk bitszint egymsutn rva a jel digitlis lerst kapjuk.

reprezentcijt

Ha egy audiojelet pldul msodpercenknt 8000 mintval mintavteleznk, s minden mintt 8 biten kvantlunk, akkor a kapott digitlis jel bitsebessge msodpercenknt 64 000 bit lesz. A lejtszshoz ezt a digitlis jelet ezek utn visszaalakthatjuk - azaz dekdolhatjuk - analg jell. A dekdolt audiojel azonban ltalban klnbzik az eredeti audiojeltl. A mintavtelezsi sebessg s a kvantlsi rtkek szmnak nvelsvel jobban kzelthetjk az eredeti analg hangjelet. gy nyilvnval kompromisszum van a de kdolt audiojel minsge s a digitlis jel trhely-, illetve svszlessg-ignye kztt. A most lert alap kdolsi eljrst impulzuskd-modulcinak (pulse code modula- tion, PCM) nevezik. A beszdkdols gyakran hasznlja a PCM-et, msodpercenknti 8000 mints mintavteli sebessggel s mintnknti 8 bites lerssal, gy 64 kb/s-os adat- sebessget eredmnyezve. Azaudio-CD-k szintn PCM-et hasznlnak, msodpercenknti 44 100 minta mintavteli gyakorisggal s mintnknt 16 bites lerssal; ebbl egycsatorns hangra 705,6 kb/s, szterera pedig 1,411 Mb/s adatsebessg addik.

32

VLASZOL CHARLIE PERKINS

Ahogy a sztere zenre add 1,411 Mb/s-os sebessg majdnem minden hozzfrsi sebessgei meghalad, ugyangy a beszd 64 kb/s-os sebessge is meghaladja a betrcs- zs modemmel rendelkez felhasznl hozzfrsi sebessgt. Ezen okokbl kifolylag a PCM-mel kdolt beszd s zene ritkn hasznlatos az interneten. Helyettk tmrtsi eljrsokat hasznlnak az adatfolyam bitsebessgnek cskkentsre. A beszdnl hasz nlt npszer tmrtsi eljrsok a GSM (13 kb/s), a G.729 (8 kb/s), a G.723.3 (6,4 s 5,3 kb/s) s mg szmos szabadalmaztatott eljrs. Egy sztere CD-minsghez kzeli np szer tmrtsi eljrs az MPEG 1 layer 3, kzismertebb nevn az MP3. Az MP3-tmrtk leggyakoribb sebessge a 96 kb/s, a 128 kb/s s a 160 kb/s, s nagyon kicsi hangminsg-romlst okoznak. Ha egy MP3-fjlt tbb rszre vgunk, akkor mindegyik rsz lejtszhat marad. Az ilyen fejlc nlkli fjlformtum lehetv teszi az MP3-ba kdolt zene interneten keresztli letltst (feltve, ha a lejtszsi sebessg s az internetkapcsolat sebessge kompatibilisek). Az MP3 tmrtsi szabvny bonyolult, felhasznlja a pszicho- akusztikai maszkolst, a redundancia cskkentst s a bitgyjt pufferelst.

Kptmrts az interneten
A vide kpek sorozata, tipikusan lland sebessggel (24 vagy 30 kp/s) megjelentve. Egy digitlisan kdolt kp kppontok tmbjbl ll, amelyben minden kppontot bizonyos szm bittel rnak le, a fnyessg s szn kifejezshez. A videban ktfle redundancia van, mindkettt kihasznlhatjuk a tmrtsnl. A trbeli redundancia egy kpen belli redundancia. Pldul egy olyan kp, amely tbbnyire fehr sznt tartalmaz, hatko nyan tmrthet. Az idbeli redundancia egy kp ksbbi megismtldst jelenti. Egy kp s egy ksbbi kp teljes egyezsnl pldul nincs rtelme a ksbb kvetkez kpet is kdolni; sokkal hatkonyabb egyszeren jelezni a kdols sorn, hogy a ksbbi kp teljesen ugyanaz. Az MPEG tmrtsi szabvnyok a legnpszerbb tmrtsi eljrsok. Ide tartozik a CD-ROM-minsg videt jelent MPEG 1 (1,5 Mb/s), a j minsg DVD videt jelent MPEG 2 (3-6 Mb/s) s az objektumorientlt videotmrtst jelent MPEG 4. Az MPEG-szabvnyok jelentsen tmaszkodnak a JPEG-szabvnyra a kptmrtsnl azltal, hogy a kpek kztti idbeli redundancia cskkentse mellett a JPEG ltal biztostott trbeli redundancit is kihasznljk. A H.261 videotmrt szabvnyok is igen npszerek az interneten. Emellett mg szmos egyedi, szabadalmaztatott eljrs ltezik, pldul az Apple QuickTime-ja s a RealNetworks kdoli. Azoknak az olvasknak, akik tbbet szeretnnek megtudni a hang- s kptmrtsrl, ajnlott olvasmny a [Rao 1996] s a [Solari 1997] munkja. [Crowcroft 1999] j ttekintst ad a hlzaton keresztli multimdia-tvitelrl.
gy kis trtnelem

Trolt hang s vide folyamszer letltse: A RealNetworkstl a YouTube-ig A RealNetworks cg, amely ttr volt a hang- s vide folyamszer letltsben, elsknt hozta be a kztudatba az internetes audit. Az els termkk - az 1995-ben bemutatott RealAudio rendszer - egy hangkdolbl, egy audioszer vrbl s egy hanglejtszbl llt. Az ltal, hogy lehetv tette a felhasznlknak, hogy bngszszenek, kivlasszanak s krsre

VLAS/.OI CHARUE PURKINS

33

hangtartalmat tlthessenek le az internetrl, gyorsan npszer rendszerr vlt a szrakozta ts, az oktats s a hrtartalmak sztosztsban. Napjainkban a hang- s vide folyam s/e r letlts az internet legnpszerbb szolgltatsai kztt van. Nemcsak a letlthet tartalmakat szolgltat cgek bsges knlatval tallko zunk, de szmtalan klnbz szerver-, lejtsz- s protokolltech ni kkt alkalmaznak. N hny rdekes plda a 2007-es vbl:

Rhapsody a RcalNetworkstl. Letltsi s streamelsi szolgltatsokra nyjt feliratkozst. A


Rhapsody a sajt levdett klienst hasznlja, amely az ugyancsak levdett szerverrl tlt le zeneszmokat HTTP-n keresztl. Amint a zeneszm a HTTP-n keresztl megrkezik, a Rhap sody kliens lejtssza azt. A letlttt tartalomhoz csak a Digital Rights Management (DRM) (digitlis jogi kezels) rendszeren keresztl lehet hozzfrni.

MSN vide. A felhasznlk vltozatos tartalmakat tltenek le, pldul nemzetkzi hreket s
videoklipeket. A videt a npszer Windows Media Player (WMP) jtssza le, amely majdnem minden Windowst futtat hoszton megtallhat. A WMP- s a Microsoft-szerverek kztti kommunikci a jogvdett Microsoft Media Server (MMS) protokollon keresztl trtnik, amely tipikusan RTSP/RTP-n keresztl prblja letlteni a tartalmat; a tzfal okozta meghi sulsesetn HTTP-n keresztl ksrli mega tartalom lekrsi.

Muze. Hangminta-szolgltatst nyjt kereskedseknek, mint pldul a BestBuy-nak s a Yahoo-nak. Az ilyen kereskedelmi oldalakon kivlasztott zenei mintk valjban a Muze-rl jnnek, s WMP-n keresztl tltik le ket. A Muze, Rhapsody, YouTube s sok ms letlthet tartalmat nyjt szolgltat tartalomeloszt hlzatokat (CDN-eket) hasznl a tartalmaik szt osztsra, a 7.3. alfejezetben lertak szerint.

YouTube. A hihetetlenl npszer videomegoszt szolgltats Flash-alap klienst hasznl (a


weboldalakba begyazva). A kliens s a YouTube szerverek kztti kommunikci HTTP-n keresztl trtnik. Mit hoz mg a jv? Napjainkban a videotartalmak letltse meglehetsen gyenge min sg, kdolsa 500 kb/s vagy mg ennl is kisebb sebessgen trtnik. A vide minsge biz tosan javulni fog a szles sv s az otthoni optikai internet-hozzfrs egyre szlesebb kr elterjedsvel. Nagy valsznsggel a kzben hordozhat lejtszink mr nem fogjk trolni a zeneszmokat, ehelyett krsnkre mindent vezetk nlkli csatornkon fogunk megkapni.

7.2. Trolt hang s kp folyamszer letltse


Az utbbi vekben a hang s kp folyamszer letltse npszer alkalmazss vlt, s meghatroz fogyasztja lett a hlzati svszlessgnek. A hang s kp folyamszer letltsekor a kliensek a szerveren trolt tmrtett audio-/videofjlokat ignyelnek. Hamarosan rtrnk, hogy ezek a szerverek lehetnek kznsges webszerverek, vagy lehetnek kifejezetten hang s kp folyamszer letltst elsegt szerverek. A kliens krsnek be rkezsekor a szerver egy audio-/videofjlt kld a kliensnek egy szoketen keresztl. Habr mind a TCP-t, mind az UDP-t alkalmazhatjuk, manapsg az audio/video folyamszer letltse TCP-n keresztl zajlik. (A tzfalakat gyakran gy lltjk be, hogy ne engedjk t az UPD-forgalmat. A TCP hasznlatval a megbzhat kzbestsnek ksznheten ezenkvl a teljes fjl csomagveszts nlkl kerl tvitelre a

klienshez, lehetv tve a helyi gyorsttrbl a fjl jbli lejtszst.) (Sripanidkulchai 2004). A krt audio-/videofjl megrkezsekor a kliens (tipikusan) pr msodpercen bell elindtja a fjl lejtszst. N hny rendszer felhasznli interaktivitst is lehetv tesz: a lejtszs meglltst/folyta tst, a fjlban idbeli ugrst. A vals idej adatfolyam protokoll (real-time streaming protokoll, RTSP), amelyet majd a fejezet vgn rszleteznk, egy felhasznli interaktivi tst lehetv tev nyilvnos protokoll. A felhasznlk gyakran egy webkliensen (bngszn) keresztl kezdemnyezik az audio/vide folyamszer letltst, m azutn egy mdialejtszn (pldul Windows Media Playeren vagy egy Flash lejtszn) keresztl nzik meg, s azzal irnytjk a lejtszst. A mdialejtsz szmos funkcival rendelkezik, tbbek kztt a kvetkezkkel:

Kiterjeszts (decompression). A hang s a kp majdnem mindig tmrtett

formban kerl tvitelre trhellyel s svszlessggel val takarkoskods miatt. A mdialejtsznak a hangot s a kpet lejtszs kzben vals idben kell kiterjesztenie, azaz visszaalaktania tmrtetlen formba. Ksleltetsingadozs eltvoltsa (jitter removal). A csomagok ksleltetsi ingadozsa az adott csomagfolyamon belli csomagok forrs-cl kztti ksleltetsnek vltakozsa. Mivel a hangot s a videt ugyanolyan idztssel kell lejtszani, mint ahogyan azt felvettk, a fogad fl egy rvid ideig puHereii a kapott csomagokat a ksleltets ingadozs elkerlse vgett. A tmt rszletesen a 7.3. alfejezetben vizsgljuk meg.

7.2.1. Hang s kp elrse webszerveren keresztl


A trolt hang s kp jelen lehet mind egy webszerveren, amelyik a hangot s a kpet szolgltatja a HTTP-n keresztl, vagy egy erre kijellt audio-/videofolyamletlt szerveren, amely HTTP-t vagy ms protokollt hasznl. Ebben az alfejezetben a webszerverrl trtn audio/videoletltst vizsgljuk meg; a kvetkez alfejezetben pedig az adatfolyamszerverrl trtn letltst. A multimdia-folyam HTTP-n keresztli kzvettse npszerv vlt, mivel amg a tzfalak (lsd 8. fejezet) gyakran tengedik a HTTP-forgalmat, addig az egyedi, klnleges protokollok forgalmt a tzfalak blokkoljk. Elsknt tekintsk a hangfolyamletltst. Abban az esetben, ha egy hangfjlt a webszerveren trolnak, a hangfjl egy kznsges objektum a szerver fjlrendszern bell ugyangy, mint a HTML- s a JPEG-fjlok. Amikor a felhasznl szeretn meghallgatni a hangfjlt, a felhasznl gazdagpe TCP-sszekttetst ltest a webszerverrel, s HTTP-krst kld az objektumra. A krs megrkezsekor a webszerver begyazza a hangfjlt egy HTTP-vlaszzenetbe, s visszakldi ezt az zenetet a TCP-sszekttetsen keresztl. A vide esete kicsit trkksebb, ha a hang s a vide kt kln fjlban vannak. Lehetsges az is, hogy a hang s a vide sszefsltn helyezkedik el egy fjlon bell, ilyenkor csak egy objektumot kell elkldeni a kliensnek. Az egyszersg kedvrt, a vide esetben azt felttelezzk, hogy a hangot s a videt egy fjlban troljk. A HTTP-n keresztli audio/videofolyam-letltsnek szmos megvalstsban a kliens oldali funkcionalitst kt rszre bontottk. A bngsz feladata, hogy metallomnyt krjen, amely informcival szolgl (pldul URL-cmmel s tmrtsi tpussal annak rdekben, hogy a megfelel mdialejtszt meg

VLAS/.OI CHARUE PURKINS

35

lehessen tallni) a HTTP-n keresztl letlteni kvnt multimdia-fjlrl. Ezt a metallomnyt aztn a bngsztl megkapja a mdialejtsz, amelynek feladata, hogy a HTTP-szerverrel kapcsolatba lpjen, amely ez utn HTTP-n keresztl elkldi a multimdia-fjlt a mdialejtszhoz (ezeket a lpseket mutatja be a 7.1. bra):

1.

A felhasznl egy audio-/videofjl h i perhivatkozsra kattint. A hiperhivatkozs nem mutat kzvetlenl a fjlra, helyette egy metafjlra. A metafjl tartalmazza a tnyleges audio-/videofjl URL-jt. A HTTPvlaszzenetbe gyazott metafjl tartalmazza a tartalom tpust ler fejlecsort, amely kijelli a megfelel audio-/videoalkalmazst. 2. A kliens bngszje megvizsglja a vlaszzenet tartalmnak tpusra vonatkoz fejlcsort, elindtja a hozzrendelt mdialejtszt, s tadja a vlaszzenet teljes trzst (azaz a metafjlt) a mdialejtsznak. 3. A mdialejtsz TCP-sszekttetst ltest kzvetlenl a HTTP-szerverrel. Ezutn elkld egy HTTP-krst tartalmaz zenetet az audio-/videofjlnak a TCP-ssze- kttetsen keresztl. Azaudio-/videofjI elkldsre kerl egy I ITTP-v lasz zenetben a mdialejtsznak. A lejtsz elindtja az audio-/videofjl folyamnak lejtszst. A kzbens lps fontossga, amelynek sorn a metallomnyt begyjtjk, tisztn ltszik. Azltal, hogy a bngsz ltja a fjl tartalmnak tpust, el tudja indtani a megfelel mdialejtszt, s gy a mdialejtsz kzvetlenl kapcsoldik a szerverhez. Megtanultuk teht, hogyan jrul hozz egy metafjl ahhoz, hogy a mdialejtsz kzvetlenl tudjon kommuniklni a webszerverrel, amely az audio- s videofjlokat trolja. Ennek ellenre szmos cg, amely audio/video folyamszer letltsre szolgl termkeket forgalmaz, nem ajnlja az imnt bemutatott architektrt. Szerintk a trolt hang- s videofolyamot ajnlott inkbb olyan dediklt folyamletltst megvalst szerverekrl letlteni, amelyeket folyam letltsre optimalizltak.

Szerver Webbngsz

A hang-s videofjlokat tartalmaz webszerver Mdia lejtsz

7.1. bra. A webszerver kzvetlenl a mdialejtsznak kldi a hangot s a kpet

37

VLASZOL CHARLIE PERKINS

7.2.2. Multimdia kldse egy adatfolyam-letltst megvalst szerverrl egy segdalkalrnazshoz


Az adatfolyam-letltst megvalst szerver lehet egy olyan egyedi, szabadalmazott szerver, mint amilyeneket a RealNetworks s a Microsoft is forgalmaz, de lehet nyilvnosan elrhet adatfolyamszerver is. Egy ilyen adatfolyam-letltst megvalst szerverrel a hangot s a kpet HTTP/TCP-n keresztl kldhetjk; vagy UDP-n keresztl is kldhet olyan alkalmazsi szint protokollokat hasznlva, amelyek a hang- s videoletlts esetn job ban testre szabhatk, mint a HTTP. A felpts kt szervert ignyel, ahogyan a 7.2. brn is ltszik. Az egyik szerver, a web- szerver weboldalakat szolgltat (metallomnyokkal egytt). A msodik szerver, az adatfolyam-letltst megvalst szerver (streaming server) az audio- s a videofjlokat szolgltatja. A kt szerver futhat ugyanazon, vagy kt klnbz vgrendszeren. Az architektra lpsei hasonlak az elz alfejezetben trgyalthoz. Attl eltren viszont most a mdialejtsz a fjlt az adatfolyamletltst megvalst szervertl kri, nem pedig a webszervertl, s ebben az esetben az mdialejtsz s a letltst megvalst szerver a sa jt protokolljaikon keresztl lphetnek kapcsolatba egymssal. Ezek a protokollok gazdag felhasznli interaktivitst engednek meg a hang s vide letltse sorn. A 7.2. brn lthat architektrn sok lehetsg nylik a hang s kp eljuttatsra az adatfolyam-letlt szervertl a mdialejtszig. E lehetsgek kzl felsorolunk nhnyat: 1. A hangot s kpet UDP-n keresztl kldik lland sebessggel, amely megegyezik a fogad fel vteli sebessgvel (amely a hang/kp kdolt sebessge). Abban az esetben pldul, ha a hangot GSM-mel tmrtik 13 kb/s-mal, akkor a szerver 13 kb/s-mal adja a tmrtett hangfjlt. Amint a kliens megkapja a tmrtett audio-/videotartal- mat a hlzatbl, dekdolja, s elkezdi lejtszani. 2. Ez az eset megegyezik az elzvel, m itt a mdialejtsz 2, de akr 5 msodpercig is kslelteti a lejtszst azrt, hogy kikszblje a hlzat ltal keltett ksleltets ingadozst. A kliens ezt gy ri el, hogy a hlzatrl berkez tmrtett mediatartalmat a 7.3. brn lthat mdon egy klienspuferbe helyezi. Pr msodpercnyi tartalom megrkezse utn a kliens elkezdi kirteni a pufirt. Ezrt s az elz eset miatt, a puffer feltltdsi sebessge x(/) megegyezik a d kirlsi sebessggel, kivve ha csomagveszts fordul el, ekkor az *(/) rvid ideig kevesebb lesz, mint d. 3. A mdit TCP-n keresztl kldjk. A szerver olyan sebessggel rakja a mdiafjlt a TCP-szoketbe, amilyen gyorsan csak tudja; a kliens (esetnkben a mdialejtsz) szintn olyan sebessggel olvassa a TCP-szoketet, amilyen gyorsan a tmrtett videt a lejtsz pufferbe tudja helyezni. A kezdeti 2-5 msodperces vrakozs utn a mdia- lejtsz d sebessggel olvas a pufferbl, s tovbbt ja a tmrtett mdit kiterjesztsre s lejtszsra. Mivel a TCP jrakldi az elveszett csomagokat, potencilisan jobb hang minsget tud biztostani, mint az UDP. Msfell viszont az x(t) feltltsi sebessg ingadozik a TCP torldskezelse s csszablakos forgalomszablyozsa miatt. Gyakorlatban elfordulhat, hogy csomagveszts utn a TCP-torldskezels hossz ideig d al cskkenti a pillanatnyi

sebessget. Ez a puffer kirlshez vezethet - a folyamat neve hezs (starvation) -, s nem vrt szneteket eredmnyezhet a kliens fel men audio-/videotartalom kimenetn. [VVang 2004) szerint, ha a TCP tlagos

Kliens

7. MSzerverek ULTIMDIA-HLZATOK

Webbngsz

A megjelentst ler fjlra vonatkoz HTTPkrs/-vlasz 1 )~

Webszerver

2 o * < u l
v/V

^ A multimdis fjl krse s elkldse <_------*

Adatfolya m letltst megvalst szerver

7.2.

mdialejtszra

bra.

Letlts

egy

adatfolyam-letltst

megvalst

szerverrl

tbocstkpessge nagyjbl ktszerese a mdia bitsebessgnek, akkor a vals idej TCP-adatfolyam-letlts minimlis hezst s kis kezdeti ksleltetst eredmnyez. A harmadik lehetsg esetn az x{t) viselkedse nagymrtkben a kliens pufFernek mrettl fgg (amely nem tvesztend ssze a T CP fogad oldali pufFervel). Abban az esetben, ha ez a puffer elg nagy ahhoz, hogy az egsz mdiafjl elfrjen benne (valsznleg a lemeztrban), akkor a TCP az adatkapcsolat teljes pillanatnyi svszlessgt felhasznlja, gy x(t) sokkal nagyobb lehet, mint d. Ha az x(t) sokkal nagyobb vlik d-nl, akkor a mdia egy nagyobb rsze elre letltdik a klienshez, egy esetleges kliens oldali hezsnek pedig kicsi lesz az eslye. Msfell viszont, ha a kliens puTer kicsi, akkor x(t) a kirtsi sebessg d rtke krl fog ingadozni. A kliens oldali hezs veszlye

ebben az esetben sokkal nagyobb lesz.

7. MULTIMDIA-HLZATOK

______________I ________________.

Kliens oldali puffer

60
Feltltsi Hlzat sebessg = x ( t ) fell

7. MULTIMDIA-HLZATOK
Kirlsi sebessg = d ^ kiterjeszts s a lejtszs fel
. 11

7.2.3. Vals idej adatfolyam-letltst tmogat protokoll (RTSP)


Elre letlttt videadat

Szmos internetes multimdia-felhasznl (klnsen azok, akik tv-tvirnytval a kezkben nttek fel) szeretn vezrelni a mdia folyamatos lejtszst gy, hogy a lejtszst sznetelteti, egy ksbbi idpontra pozcionlja a lejtszst, a kpernyn nzve elre-, illetve visszaprgeti s gy tovbb. Ez a hasznlati md hasonlt a DVD-lejtsz funkciihoz egy DVD-film nzse kzben, illetve egy CDlejtsz szolgltatsaihoz egy zenei CD hallgatsa kzben. A felhasznl szmra a lejtszs vezrlshez a mdialejtsznak s m diaszervernek szksge van egy protokollra a lejtszst vezrl informci kicserlshez. A vals idej adatfolyam-letltst tmogat protokoll (Real-Time Streaming Protocol, RTSP), amelyet az RFC 2326 definil, egy ilyen protokoll. Mieltt belemlyednnk az RTSP rszleteibe, elszr megemltjk, hogy az RTSP mit nem tmogat. Az RTSP nem definilja a hang s a kp tmrtst. Az RTSP nem mondja meg a hang s a kp csomagokba gyazst hogyan kell elvgezni, mieltt a hlzaton tkldjk azokat; a mdiafolyam szmra a begyazsi eljrst az RTP vagy egy cg sajt protokollja vgzi. (Az RTP-t a 7.4. alfejezetben trgyaljuk.) A RealNetworks hang- s videoszerverek s -lejtszk pldul RTSP-t hasznlnak a vezrlsi adatok egyms kztti tkldsre, m a mdiafolyam maga RTP- csomagokba, vagy ms sajt adatformtumba gyazhat be. Az RTSP nem kti ki, hogy a mdia vals idej letltst hogyan valstsuk meg; TCP-n vagy UDP-n is tvihet. Az RTSP szintn nem kti ki, hogy a mdialejtsz hogyan puffereli az audit s a videt. A mdia lejtszsa elkezddhet, amint az els csomagok megrkeznek a klienshez, pr msodperces vrakozs utn, vagy amikor a letlts teljesen befejezdtt. Ha az RTSP a fentiek kzl egyiket sem vgzi el, akkor vgl is mit csinl? Az RTSP lehetv teszi a mdialejtsznak a mdiafolyam tvitelnek vezrlst. A fent emltettek szerint a vezrlshez tartozik a szneteltets/folytats, a lejtszs jrapozicionlsa, gyorstekers elre s htra. Az RTSP egy svon kvli protokoll (out-of-band protocol). Pontosabban az RTSP-tizeneteket svon kvl kldik, mivel svon bellinek az a mdiafolyam szmt, amelynek a csomagstruktrjt nem az RTSP hatrozza meg. Az RTSP-zenetek a mdiafolyamtl eltr portszmot hasznlnak, az 544-es portot. Az RTSP-specifikci [RFC 2326] megengedi, hogy az RTSP-zeneteket mind TCP-n, mind UDP-n tkldhessk. A 2.3. alfejezetet felidzve emlkezhetnk arra, hogy a fjltviteli protokoll (FTP)

7.3. bra. A kliens oldali puffer feltltse x(t) sebessggel s kirlse d sebessggel

szintn a svon kvli alapelvet hasznlja. Eszerint az FTP kt kliens/szerver szoketprt hasznl, mindegyik a sajt portszmval: egyik kliens/szerver pr azt a TCP-sszekttetst valstja meg, amely a vezrl informcikat szlltja; a msik kliens/szerver szoketprt pedig arra a TCP-sszekttetsre hoztk ltre, amelyik a tnyleges fjlt szlltja. Az RTSP-csator na sok tekintetben hasonl az FTP vezrlcsatornjhoz. Most kvessnk vgig egy egyszer RTSP-pldt, amelyet a 7.4. bra illusztrl. A web- bngsz elszr egy megjelentst ler fjlt kr a webszervrtl. A megjelentst ler fjl tartalmazhat szmos folytonos mdiafjlra vonatkoz hivatkozst, s a fjlokra rvnyes S Z n kronizlsi irnyelveket is. M inden hivatkozs az rt sp: // URL- metdussal kezdd i k.

61

7. MULTIMDIA-HLZATOK

7.3. bra. A kliens oldali puffer feltltse x(t) sebessggel s kirlse d sebessggel

38
Kliens

7. MULTIMDIA-HLZATOK
Szerverek

Webbngsz

HTTP GET

Webszerver

I 'i WWW

Megjelentst ler fjl

Elkszts

Lejtszs
Mdia lejtsz

Mdiafolyam

Mdia szerver

Sznet

Kapcsolatbonts

7.4. bra. A kliens s a szerver kztti RTSP-t hasznl interakci

Albb egy megjelentst ler fjlt is bemutatunk, amely a [Schulzrinne 1997]-bl szrmazik. Ebben a pldban az audio- s videofolyam prhuzamosan s helyes ajakszinkronnal kerl lejtszsra (ugyannanak a csoportnak a tagjaknt). Az audiofolyamnl a lejtsz vlaszthat egy gyenge s egy jobb minsg felvtel kzl. (A fjl formtuma hasonl a SMIL-hez [SMIL 2007], amelyet sok vals idej letltst megvalst termk hasznl a multimdia-megjelents szinkronitsnak meghatrozshoz.) A webszerver begyazza a megjelentst ler fjlt egy HTTP-vlaszzenetbe, s elkldi az zenetet a bngsznek. Amikor a bngsz ezt a HTTP-zenetet megkapja, az zenet tartalomtpus mezje alapjn meghv egy mdia lejtszt (azaz egy segdalkalmazst). A megjelentst ler fjl mdiafolyamokra vonatkoz hivatkozsokat tartalmaz, az rtsp:// URI.-metdust alkalmazva. Ezutn a 7.4. brnak megfelelen a lejtsz s a szerver RTSP-zenetek sorozatt kldi el egymsnak. A lejtsz elkld egy RTSP SETUP krst, a szerver vlaszol egy RTSP OK zenettel. A lejtsz elkld egy RTSP PLAY krst, pldul gyenge minsg hangra, a szerver pedig jbl vlaszol egy RTSP OK zenettel. Ezen a ponton a vals idej letltst megvalst szerver hozzkezd a gyenge minsg hang elkldshez a sajt svon belli csatornjban. Ksbb a mdialejtsz egy RTSP PAUSK krst kld, a szerver pedig RTSP OK zenettel vlaszol. Amikor a felhasznl vgzett, a mdialejtsz 7.3. bra. A kliens oldali puffer elkld egy x(t) RTSP TEARDOWN feltltse sebessggel s krsi, amelyet a szerver szintn egy RTSP OK zenettel

kirlse d sebessggel

39

7. MULTIMDIA-HLZATOK

elfogad.

7.3. bra. A kliens oldali puffer feltltse x(t) sebessggel s kirlse d sebessggel

7.2. Trolt hang s kp folysszer letltse

54c)

<title>Twister</title> <session> <group language=en lipsync>


<switch>

<track type=audio e="PCMU/8000/ l" src="rtsp: / /audio. example. com/twister/audio. en/lofi"> <track type=audio e="DVI4/16000/2" pt="90 0714/8000/1" src="rtsp: / /audio.example.com/twister/audio.en/hifi"> <track type="video/jpeg" src="rtsp://vide.example.com/tv/ister/video"> </group> </session>
Nzznk egy tmr lerst a tnyleges RTSP-zenetekrl. A lers egy kliens (K:) s egy szerver (S:) kztti egyszerstett plda.

</switch>

K: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Cseq: 1 Transport: rtp/udp; compression; port=3056; mode=PLAY S: RTSP/1.0 200 OK Cseq: 1 Session: 4231 K: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Rang: npt=0- Cseq: 2 Session: 4231 S: RTSP/1.0 200 OK Cseq: 2 Session: 4231 K: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Rang: npt=37 Cseq: 3 Session: 4231 S: RTSP/1.0 200 OK Cseq: 3 Session: 4231 K: TEARDOWN rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Cseq: 4 Session: 4231 S: RTSP/1.0 200 OK Cseq: 4 Session: 4231

40

7. MUI.TIMDIA-HLZATOK

rdekes megemltennk a hasonlsgokat a HTTP s az RTSP kztt. Minden krss vlaszzenet ASCII szveges formtum, a kliens szabvnyostott eljrsokat alkalmaz (SETUP, PLAY, PAUSE s gy tovbb), a szerver pedig szabvnyostott kdokkal vlaszol. Fontos klnbsg, hogy az RTSP-szerver nyomon kveti a kliens llapott minden folyamatban lv RTSP-munkamenetnl. A szerver pldul szmontartja, hogy a kliens kezdeti llapotban, lejtsz llapotban vagy sznet llapotban van-e. A munkamenet- s sorszmok, amelyek az RTSP-krsek s vlaszok rszei, segtenek a szervernek kvetni a munkamenet llapott. A munkamenetszm rgztett az egsz munkamenet alatt; a kliens nveli a sorszmot minden j zenet kldsekor; a szerver visszajtssza a munka- menetszmot s az aktulis sorszmot. Amint a pldban is lthattuk, a kliens a munkamenet ltestsekor SETUP zenetet kld, biztostva a letltend fjl URL-jt s az RTSP-verzit. Ez a munkamenet-felpt zenet tartalmazza a kliens portszmt, amelyre a mdit kell kldeni. A munkamenet-felpt zenet jelzi azt is, hogy a mdit UDP-n keresztl kell kldeni az RTP csomagkezelsi protokolljt alkalmazva (ezt a tmt bvebben a 7.4. alfejezetben trgyaljuk). Vegyk szre, hogy ebben a pldban a lejtsz nem a j minsg lejtszst vlasztotta, hanem csupn a mdia gyenge minsg vltozatt. Az RTSP valjban sokkal tbbre kpes, mint amit a fenti rvid ttekintsben lertunk. Az RTSP pldul lehetsget nyjt a klienseknek a szerver fel irnyul vals idej feltltsre (pldul felvtelkor). Az RTSP-t tvette a RealNetworks, az audio-/videoletltsi ipar egyik vezetje. Henning Schulzrinne kzremkdse ltal elrhet egy weboldal, amely az RTSP-rl szl [Schulzrinne-RTSP 2007].

7.3. A legjobbra trekv szolgltatsbl kihozni a legjobbat


Az internet hlzati szint protokollja, az IP, legjobbra trekv szolgltatst (besteffort service) nyjt. Ms szavakkal ez azt jelenti, hogy a szolgltats minden tle telhett megtesz, hogy az adatcsomagot a forrstl a clig eljuttassa olyan gyorsan, ahogy csak lehetsges. Garancit viszont nem vllal az adatcsomagok vgpontok kztti ksleltetsnek mrtkre, tovbb a csomagfolyamon belli csomagok ksleltetsi ingadozsnak s a csomagvesztsnek a nagysgra. A ksleltetsre s annak ingadozsra vonatkoz garancik hinya jelents kihvst jelent az olyan vals idej multimdis alkalmazsok tervezsnl, mint amilyen az internetes telefon s a vals idej videokonferencia, amelyek na gyon rzkenyek a csomagksleltetsre, a ksleltets ingadozsra s a csomagvesztsre. A fejezet bemutat szmos olyan eljrst, amelyek javthatjk a legjobbra trekv szolgltatson alapul hlzat multimdis alkalmazsainak teljestmnyt. Kzponti figyelmnk az alkalmazsi rteg eljrsain lesz, pldul olyan megkzeltseken, amelyekhez nem szksges semmifle vltoztats a hlzat belsejben vagy mg akr a szlltsi rtegben sem a vgponti hosztokon. Elszr lerst adunk, hogy milyen hatsai vannak a multimdis alkalmazsokra a csomagvesztsnek, a ksleltetsnek s a ksleltets ingadozsnak. Ezutn ttekintjk azokat az eljrsokat, amelyek alkalmasak az ilyen htrltat tnyezk kikszblsre. Vgl

41

7. MUI.TIMDIA-HLZATOK

7.3.1. A legjobbra trekv szolgltats korltai

elmagyarzzuk, hogyan hasznlhat a tartalomsztoszt hlzat s az erforrsok felgyelete a hasonl hibk elkerlsre s megelzsre.

Fentebb emltettk, hogy a legjobbra trekv s/.oJgltats csomagvesztshez, tlzott vgpontok kztti ksleltetshez s csomagksleltets ingadozshoz vezethet. Vizsgljuk meg ezeket a problmkat kzelebbrl. Annak rdekben, hogy a lers konkrt legyen, az eljrsokat a kvetkez internetes telefonalkalmazsok (Internet phone applications) krnyezetben mutatjuk be. A szituci hasonlt a vals idej videokonferencis alkalmazsokhoz [Bolot 1994]. Az internetes telefonrl szl pldnkban a kzi beszl mikrofonja vltakoz, beszd l- keteket s beszdszneteket tartalmaz hangjeleket generl. A svszlessg megtakartsa rdekben az alkalmazsunk csupn a beszdlketek alatt kld csomagokat. Egy beszdlket sorn a kld msodpercenknt 8000 bjtot generl, 20 ms-onknt pedig egy tredkk lltja ssze a generlt bjtokat. gy a bjtok szma egy tredkben (20 ms x 8000 bjt/s) = 160 bjt. iMinden tredkhez egyedi fejlc csatoldik, amelynek tartalmt albb rszletezzk. A tredk s a fejlc egy UDP-csomagba gyazdik be a szoket-interfsz- hez irnyul hvson keresztl. Ezltal egy beszdlket sorn minden 20. ms-ban egy UDP-csomag kerl elkldsre. Abban az esetben, ha minden csomag elr a vev flhez, s csak kismrtk vgpontok kztti ksleltets van jelen, akkor a csomagok 20 ms-onknt rkeznek a vevhz a beszdlket sorn. Ilyen idelis krlmnyek mellett a vev egyszeren le tud jtszani minden tredket, mihelyt azok megrkeznek. Sajnos egyes csomagok elveszhetnek, ms csomagok vgpontok kztti ksleltetse pedig nem azonos, mg akkor sem, ha az internet kihasznltsga nagyon kicsi. Ezrt a vevnek tbb figyelmet kell fordtania arra, hogy eldntse, (1) mikor kezdje el lejtszani a tredket, s (2) mit csinljon hinyz tredk esetn.

Csomagveszts
Tekintsk az internetes telefonalkalmazsunk ltal generlt egyik UDP-szegmenst. Az UDP-szegmenst IP-adatcsomagba gyaztk be. Amint az adatcsomag a hlzaton keresztl barangol, tbb tvlaszt puffern (vrakozsi sorn) is keresztlhalad annak rdekben, hogy elrje a kifel men adatkapcsolatokat. Elkpzelhet, hogy a kldtl a fogadig terjed ton lev pufferck egy vagy tbb tagja tele van, s nem tudjk fogadni az IP-cso- magot. Ebben az esetben az IP-adatcsomagot eldobjk, s soha nem fog megrkezni a vev alkalmazshoz. A csomagvesztst kikszblhetjk gy, hogy a csomagokat UDP helyeit TCP-n kldjk t. Emlkezznk arra, hogy a TCP jrakldi azokat a csomagokat, amelyek nem rnek clba. Az jrakldsi eljrs viszont gyakran elfogadhatatlan az olyan vals idej interaktv audioalkalmazsoknl, mint amilyen az internetes telefon is, mivel nvelik a vgpontok kztti ksleltetst [Bolot 1996). T ovbb, a TCPtorldskezels miatt a kld oldalon az adsi sebessg a csomagveszts kvetkezmnyeknt a vev fl vteli sebessge al cskkenhet. Hz komolyan befolysolhatja a vev oldali beszdrthetsget. Emiatt a legtbb internetes tele fonalkalmazs UDP felett mkdik, s nem trdik az elveszett csomagok jrakldsvel. [Baset 2006) bemutatja, hogy a Skype UDP-t hasznl kivve, ha NAT vagy tzfal mgtt van, amely blokkolja az UDP-szegmenseket (ebben az esetben TCP-t hasznl).

42

7. MUI.TIMDIA-HLZATOK

A csomagok elvesztse nem annyira katasztroflis, mint ahogyan azt gondolhatnnk. A beszd kdolstl s tjtszstl, valamint a vev oldalon a csomagveszts maszkolsnak mdjtl fggen az 1 s 20 szzalk kztti csomagveszts mg trhet minsget biztost. Az elre irnyul hibajavts (FEC) pldul segthet a csomagveszts elrejtsben. Ksbb ltni fogjuk, hogy FEC esetn az eredeti adatok mellett redundns adatokat is kldnk, gy az elveszett adatok valamekkora rsze visszanyerhet a redundns adatokbl. Mindazonltal, ha a kld s a vev kzt egy vagy tbb adatkapcsolat slyosan tlterhelte vlik, s a csomagveszts 10 s 20 szzalk kz nvekszik (habr ezek az rtkek egy meg felelen felgyelt hlzatban ritkn fordulnak el), akkor igazbl semmit nem lehet tenni az elfogadhat hangminsg biztostsnak rdekben. Egyrtelm, hogy a legjobbra trekv szolgltatsnak megvannak a korltai.

Vgpontok kztti ksleltets


A vgpontok kztti ksleltets (end-to-end delay) halmozott ksleltets, amely az tvlasztkban elszenvedett tviteli, feldolgozsi s sorbanllsi ksleltetsekbl, az adat- kapcsolatok terjedsi ksleltetsbl, valamint a vgrendszerek feldolgozsi ksleltetsbl tevdik ssze. A nagymrtkben interaktv audioalkalmazsoknl, mint amilyen az internetes telefon, a 150 ms-nl kisebb vgpontok kztti ksleltets nem rzkelhet az ember szmra; 150 s 400 ms kztti ksleltets elfogadhat, m nem idelis; a 400 ms-ot meghalad ksleltetsek pedig komoly zavarokat okoznak az interaktv beszdkommunikciban. Az internetes telefonalkalmazs vteli oldala ltalban figyelmen kvl hagy minden olyan csomagot, amelynek ksleltetse egy bizonyos kszbrtk felett van, pl dul tbb mint 400 ms. Azok a csomagok teht, amelyek ksleltetse a kszbrtk felett van, tnylegesen elvesznek.

Csomagksleltets ingadozsa
A vgpontok kztti ksleltetsnek igen fontos rsze az tvlasztkban elszenvedett vletlenszer sorbanllsi ksleltets. Az ilyen hlzaton belli vltoz ksleltetsek miatt az az id, amely a csomagnak a forrsnl trtn ellltstl a vevhz val megrkezsig eltelik, csomagrl csomagra vltozhat. Ezt a jelensget nevezik ksleltetsi ingadozsnak (jitter). Pldaknt kpzeljnk el kl egymst kvet csomagot egy beszdlketen bell az internetes telefonalkalmazsunknl. A kld a msodik csomagot 20 ms-mal az els elkldse utn tovbbtja. A vevnl viszont e kt csomag kztti eltrs nagyobb lehet, mint 20 ms. Azrt, hogy ezt magunk el tudjuk kpzelni, tegyk fel, hogy az els csomag az egyik tvlaszthoz gy rkezik meg, hogy az tvlaszt vrakozsi sora majdnem teljesen res, m mieltt a msodik csomag megrkezik ugyanehhez az tvlaszthoz, rengeteg ms forrsbl szrmaz csomag rkezik a vrakozsi sorhoz. Mivel ennl az tvlasztnl az els csomag kis sorban llsi ksleltetst szenved el, a msodik pedig nagyot, a kt csomag kzti idklnbsg nagyobb lesz, mint 20 ms. Ugyangy, ez a idklnbsg az egymst k vet csomagoknl akr kisebb is lehet, mint 20 ms. Ezt belthatjuk, ha elkpzelnk szintn kt egymst kvet csomagot egy beszdlketben. Tegyk fel, hogy az els csomag olyan sorba rkezik meg, amelyben mr sok ms csomag tartzkodik, a msodik csomag pedig a tbbi forrsbl jv csomagok rkezse eltt csatlakozik a sorhoz. Ebben az esetben

43

7. MUI.TIMDIA-HLZATOK

a kt csomagunk rgtn egyms utn tallja magt a sorban. Abban az esetben, ha az tvlaszt kimen adatkapcsolatra a tovbbtsi id kevesebb, mint 20 ms, akkor az els s msodik csomag idklnbsge kisebb lesz, mint 20 ms.

A helyzet hasonl ahhoz, mint amikor autt vezetnk. Tegyk fel, hogy egy bartunk s mi kln kocsival hajtunk San Diegobl Phoenix fel. Tegyk fel, hogy a vezetsi stlusunk hasonl, s mindketten 100 km/h sebessggel megynk, mivel a forgalom ezt megengedi. Vgl tegyk fel, hogy a bartunk egy rval hamarabb indul, mint mi. Ekkor a kzbejv forgalomtl fggen, Phoenixbe rkezsnk kztt akr tbb, akr kevesebb is lehet, mint egy ra. Akkor, ha a vev figyelmen kvl hagyja a ksleltetsingadozs jelenltt, s elkezdi lejtszani a tredket, amint az megrkezik, a vevnl az gy kapott hang minsge any- nyira rossz lehet, hogy a beszd knnyen rthetetlenn vlhat. Szerencsre az ingadozst gyakran kikszblhetjk sorszmok, idblyegek s lejtszsi ksleltets hasznlatval, ahogyan azt majd a tovbbiakban trgyalni fogjuk.

7.3.2. Ksleltetsingadozs eltvoltsa a vevnl hangtvitel esetn


Egy beszdtviteli alkalmazsnl, mint amilyen az internetes telefon vagy a krsre kldtt audio, a vevnek meg kell prblnia a hangtredkek szinkronizlt lejtszst biztostani a vletlenszer hlzati ksleltetsingadozs mellett; a videoalkalmazsoknl gyakran hasonl kvetelmnyekkel kell szmolni. Ezt leggyakrabban a kvetkez hrom eljrs kombinlsval oldjk meg: Minden tredket sorszmmal ltnak el. A kld minden egyes ellltott csomag esetn eggyel nveli a sorszmot. Minden tredket idblyeggel ltnak el. A kld hozzadja a tredkhez azt az idt, amikor ellltotta. o A vevnl a tredkek lejtszst ksleltetik. A vett hangtredkek lejtszsi ksleltetse elg nagy kell legyen ahhoz, hogy a legtbb csomag megrkezzen az temezett lejtszsi idejk eltt. A lejtszs ksleltetse az audio-munkamenet idtartama alatt lehet lland, vagy pedig adaptvan vltozhat. Azok a csomagok, amelyek nem rkeznek megaztemezett lejtszsi id eltt,elveszettnek tekintendk, sa tovbbiakban azokat mr nem vesszk figyelembe; ahogyan azt korbban is megjegyeztk, a vev alkalmazhat bizonyos beszd-interpolcit a vesztesg elrejtsre. A kvetkezkben bemutatjuk, hogy ez a hrom eset egytt hogyan tudja cskkenteni vagy ppen teljesen kikszblni a ksleltets ingadozsnak a hatsait. Kt lejtszsi stratgit vizsglunk meg: az lland lejtszsi ksleltetst s az alkalmazkod (adaptv) lejtszsi ksleltetst.

lland lejtszsi ksleltets


Az lland lejtszsi ksleltets stratgija esetn a vev megksrel lejtszani minden tredket pontosan q ms-mal a tredk generlsa utn. Teht ha a tredket t idpontban lttk el idblyeggel, a vev t + q idpillanatban jtssza azt le, felttelezve, hogy a tredk addigra mr megrkezett. Azokat a csomagokat, amelyek a tervezett lejtszsi idejk utn rkeznek meg, eldobjk s elveszettnek

45

7. MUI.TIMDIA-HLZATOK

tekintik.

46
Tervezeti lejtszs

7. MUI.TIMDIA-HLZATOK

p-r
Kimaradt csomagok Ellltott csomagok Vett csomagok

Tervezett lejtszs

7.5. bra. Csomagveszts klnbz lland lejtszsi ksleltetsek esetn

Mi a j vlaszts a q rtkre? Az internettelefon 400 ms-ig terjed ksleltetst is tmogat, m csupn q kisebb rtkeinl rhet el kielgt interaktv lmny. Msfell viszont ha q rtkt sokkal kisebbre vlasztjuk, mint 400 ms, akkor sok csomag leksheti az temezett lejtszsi idejt a hlzat ltal okozott csomagksleltets-ingadozs miatt. Az igazat megvallva, ha a vgpontok kztti ksleltets tipikusan nagyon vltoz, akkor nagy q rtk hasznlata ajnlott, msfell viszont, ha a ksleltets kicsi s a ksleltets vltozsa is kicsi, akkor a kis q rtk hasznlata javasolt, esetleg kevesebb mint 150 ms. A lejtszsi ksleltets s a csomagksleltets ingadozsa kztti sszefggst a 7.5. bra mutatja. Az bra azokat az idket brzolja, amikor egy beszdlket sorn a csomagok generldnak, valamint amikor azokat lejtsszk. Kt kln esetet mutatunk be, klnbz kezdeti lejtszsi ksleltetsekkel. Amint azt a balra lthat lpcs mutatja, a kld szablyos idkznknt kldi el a csomagokat - mondjuk minden 20. ms-ban. E beszdlket els csomagja r idpontban rkezik meg. Ahogyan az brn is ltszik, a hlzati ksleltets ingadozsnak ksznheten a kvetkez csomagok megrkezsi ideje kzti tvolsg nem azonos. Az els lejtszsi terv esetn az lland kezdeti lejtszsi ksleltets p-r rtkre van belltva. Ezen terv esetn a negyedik csomag nem rkezett meg az temezett lejtszsi idejre, s a vev elveszettnek tekinti. A msodik lejtszsi terv esetn az lland kezdeti lejtszsi ksleltets p - r rtkre van lltva. Ebben az esetben minden csomag megrkezik az temezett lejtszsi id eltt, gy nincs csomagveszts.

Alkalmazkod (adaptv) lejtszsi ksleltets


A fenti plda bemutat egy fontos ksleltets-csomagveszts sszefggst, amely az lland lejtszsi ksleltetssel rendelkez lejtszsi stratgia tervezse kzben merl fel. A kezdeti lejtszsi ksleltets nagyra vlasztsval a legtbb csomag hatridn bell megrkezik, s gy csupn elhanyagolhat lesz a vesztesg; az internetes telefon s a hozz hasonl inter aktv szolgltatsok szmra viszont a hossz kssek zavarv, st trhetetlenn vlhat nak. Idelis esetben azt szeretnnk, hogy a lejtszsi ksleltets minimlis rtk legyen gy, hogy a csomagveszts nhny szzalk alatt maradjon.

7.3. A LEGJOBBRA TREKV SZOLGLTATSBL KIHOZNI A LEGJOBBA!'

47

mszetes mdja ennek a kettssgnek a kezelsre a hlzati ksleltets s a kslel tets vltozsnak megbecslse, s a lejtszsi ksleltets megfelel belltsa minden beszdlket eltt. Az ilyen beszdlketek eltti adaptv lejtszsi ksleltets belltsa azt eredmnyezi, hogy az ad zneteit tmrteni s meghosszabbtani kell; a t mrts s a kis mrtk meghosszabbts viszont nem szrevehet a beszdben. ee 1994)-t kvetve most bemutatunk egy generikus algoritmust, amelyet a vev fl a lejtszsi ksleltetsnek adaptv belltshoz hasznlhat. egyen

csomag idblyege = az az idpont, amikor a csomagot a kld ellltotta, r. = az i. csomag vtelnek ideje a vevnl, pt = az i. csomag zsnak ideje a vevnl.

csomag vgpontok kztti hlzati ksleltetse r - t.. A hlzati ksleltets ingadozsnak kvetkeztben ez a ksleltets csomagrl csomagra Jellje di az i. csomag vtelnl az tlagos hlzati ksleltets becslst. A becslt rtk az idblyegekbl a k vetkezkppen ll el:

gy meghatrozott lland (pldul u = 0,01). gy di az / megfigyelt ksleltets simtott tlaga. A becslt rtk tbb slyt helyez a nemrg megfigyelt hlzati ksleltetsekre, mint a tvoli mltban megfigyelt hlzati tsekre. Az ilyen becslt rtk szmtsa nem lehet teljesen idegen a szmunkra; hasonl tletet hasznlnak a krljrsi id becslsre a TCP amelyet a 3. fejezetben trgyaltunk. Jellje v az tlagos ksleltets becslsbl szmtott tlagos ksleltetsi szrs becslt rtkt. Ehhez a shoz szintn az idblyegeket hasznljuk fel:

)vm + u |r( - ~d, |

v. becslt rtkeket minden berkez csomagra kiszmtjk annak ellenre, hogy csupn a beszdlketek els csomagjai esetn hasznljk a lejtszsi pontjnak meghatrozshoz. slsek kiszmtsa utn a vev a kvetkez algoritmust alkalmazza a csomagok lejtszsra. Ha az csomag az els csomag a beszdlketben, a pi si idejt a kvetkez mdon szmtjuk: p,=t,+d, + Kv,

gy pozitv konstans rtk (pldul K = 4). A Kvt kifejezs oka a lejtszsi id olyan elg tvoli idpontra lltsa, hogy a beszdlketben berkez ok csupn kis tredke vesszen el a ksn rkezs miatt. A beszdlket brmely elkvetkez csomagjnak lejtszsi idpontja a beszdlket els nak lejtszsi idpontjbl eltolssal szmtdik ki. Rszletesebben, legyen

dlket els csomagjnak ellltstl a lejtszsig eltelt id hossza. Ha a j. csomag szintn ugyanehhez a beszdlkethez tartozik, a

ban kerl lejtszsra. nt bemutatott algoritmus tkletesen rthet, ha felttelezznk, hogy a vev fl meg tudja mondani, hogy az adott csomag a beszdlket els a-e vagy sem. Ha nincs csomagveszts, akkor a vev meg tudja hatrozni, hogy az i. csomag a beszdlket els csomagja-e oly mdon, hogy sonltja a i. s az (/ - 1). csomag idblyeget. t,-t, , > 20 ms esetn a vev tudja, hogy az /. csomag a beszdlket els csomagja. Ttelez zk fel, ost van esetleges csomagveszts. Ebben az esetben kt sikeres csomag v telnek idblyege kztt lehetsges a 20 ms-nl nagyobb eltrs, ha a mag azonos beszdlkethez tartozik. Ebben az esetben klnsen hasznosak a sorszmok. A vev fel hasznlhatja a sorszmokat annak ptsra, hogy a 20 ms-nl nagyobb klnbsg az idblyegekben az j beszdlket vagy csomagveszts kvetkezmnye.

hang s kp folyamszer letltse

ezetet vgn ejtsnk pr szt a trolt hang s kp folyamszer letltsrl. A trolt hang s kp folyamszer letltsre szolgl alkalmazsok n sorszmokat, id- blyegeket s lejtszsi ksleltetseket hasznlnak azrt, hogy enyhtsk, vagy akr teljesen megszntessk a hlzati ts ingadozsnak hatsail. Fontos klnbsg van viszont a vals idej interaktv hang s kp, valamint a trolt hang s kp folyamszer letltse Egsz pontosan a trolt hang s kp folyamszer letltse eltri a jelentsen hosz- szabb ksleltetseket. Abban az esetben, ha a felhasznl krst nyez egy hangvagy videoanyagra, a felhasznl elfogadhatnak tekint 5 msodperc vagy mg ennl is hosszabb vrakozst a lejtszs dse eltt. s sok felhasznl az olyan interaktv tevkenysgek utn is, mint amilyen az idbeli ugrs a mdiafolyamban, elfogadhatnak rzi a

48

7. MUI.TIMDIA-HLZATOK

mrtk ksleltetseket. Ez kalmazsok tervezsnl.

a ksleltetssel szembeni tolerancia nagyobb ru galmassgot nyjt az alkalmazs fejlesztjnek a trolt

Csomagveszts hatsnak kikszblse

megbeszltk, hogy az internetes telefonalkalmazsok hogyan oldjk meg a cso- magksleltets ingadozst. Most rviden ttekintnk nhny amely megprbl csomagveszts mellett elfogadhat hangminsget megrizni. Az ilyen smkat csomag- vesztst kikszbl smknak (loss y schemes) nevezzk. Tg rtelemben a csomagveszts a kvetkezkppen definilhat: egy csomag elveszettnek tekintend, ha soha nem rkezik vevhz, vagy a tervezett lejtszsi id utn rkezik meg. Az internet telefonos pldnk fog most is krnyezetl szolglni a csomagvesztst bl smk bemutatshoz. zet elejn emltett mdon, az elveszett csomagok jrakldse nem megfelel meg olds egy olyan interaktv vals idej alkalmazsnl, mint amilyen net telefon. Az temezett lejtszsi idejt leks csomagok jrakldse valban nem szolgl semmilyen clt. Az tvlaszt vrakozsi sorn ul csomagot gysem lehet elg gyorsan jra elkldeni. Ezen megfontolsok miatt az internetes, telefonalkalmazsok gyakran hasznl nak yen tpus csomagveszts-megelzsi smt. A csomagveszts-megelzsi s mk kt tpusa ismeretes: az elre irnyul hibajavts (forward error on, FEC) s az sszefsls (interleaving).

Elre irnyul hibajavts

A FEC alaptlete az, hogy az eredeti csomagfolyamhoz redundns adatokat adunk. Azon az ron, hogy kiss megnveljk a hangfolyam tviteli sebessgt, a redundns informci felhasznlhat nhny elveszett csomag kzelt vagy teljes visszalltsra. [Bolot 1996] s [Perkins 1998] gondolatait kvetve felvzolunk kt egyszer FEC-eljrst. Az els eljrs minden n tredk utn kld egy redundns tredket. A redundns tredket az n eredeti tredkbl kapjuk kizr VAGY mvelettel [Shacham 1990]. Eszerint, ha az n + 1 szm csomagbl ll csoportbl csupn egy csomag veszik el, a vev az elveszett cso magot teljes mrtkben el tudja lltani. Kt elveszett csomag esetn viszont a vev nem tudja visszalltani az elveszett csomagokat: Az n + 1 rtket, vagyis a csoport mretet kicsire lltva az elveszett csomagok nagy rsze visszallthat, ha a csomagveszts nem rendkvl nagy mrtk. Minl kisebb viszont a csoport mrete, annl nagyobb az audio folyam tviteli sebessgnek relatv nvekedse. A gyakorlatban az tviteli sebessg l/>;-es tnyezvel nvekszik; pldul ha n = 3, akkor az tviteli sebessg 33 szzalkkal nvekszik. Tovbb, ez a sma megnveli a lejtszsi ksleltetst, mivel a vevnek a lejtszs meg kezdse eltt meg kell vrnia, amg a teljes csomagcsoport megrkezik. Tovbbi gyakor lati rszletek megtallhatk a multimdia-tvitelben hasznlt FEC mkdsrl az [RFC 2733] ajnlsban. A msodik FEC eljrs redundns informciknt egy kisebb felbonts hangfolyamot kld. Pldul a kld elllt egy nvleges hangfolyamot s egy annak megfelel kis felbonts, kis bitsebessg hangfolyamot is. (A nvleges folyam lehet 64 kb/s PCM-kdo- ls, a kisebb felbonts folyam pedig 13 kb/s-on kdolt GSM.) A kis bitsebessg folyam a redundns folyam. Amint a 7.6. bra is mutatja, a kld az ti. csomagot gy lltja el, hogy veszi a nvleges folyam n. tredkt s hozzfzi a redundns folyam (ti - 1). tredkhez. gy ahol nincs egymst kvet csomagveszts, a vev el tudja tntetni a vesztesget a kvetkez csomaggal rkez kis bitsebessgen kdolt tredk lejtszsval. Termszetesen a kis bitsebessg tredkek gyengbb minsget eredmnyeznek, mint a nvleges tredkek. Az olyan folyam viszont, amely fknt nagyobb felbonts tredkeket s ritkn

7.3. A LEGJOBBRA TREKV SZOLGLTATSBL KIHOZNI A LEGJOBBA!'

49

kis felbontsakal tartalmaz, s nincs benne hinyz tredk, j ltalnos hangminsgei ad. Vegyk szre, hogy ebben a smban a vevhz csupn kt tredknek kell megrkeznie a lejtszs megkezdse eltt, gy a lejtszsi ksleltets nvekedse kis mrtk. Tovbb, ha a kis bitsebessg kdols sokkal kisebb, mint a nvleges kdols, akkor az tviteli sebessg nvekedse is kicsi lesz. Annak rdekben, hogy az egymst kvet hibkkal megbirkzzunk, csak egy egyszer vltoztatst kell tennnk. Ahelyett, hogy a kld csupn az (;i - 1). kis bitsebessg tredket fzn hozz az n. eredeti tredkhez, hozzfzheti az (n 1). s (n - 2). kis bitsebessg tredket is, vagy az (n - 1)., ( - 2). s (n - 3). kis bitsebessg tredket s gy tovbb. A nvleges tredkekhez val tbb kis bitsebessg tredk hozzfzsvel a vteli hangminsg a legjobbra trekv krnyezetek szles krben elfogadhatv vlik. Msfell viszont a hozzadott tredkek nvelik az tvitelhez szksges svszlessget s a lejtszsi ksleltetst. A RAT [RAT 2007] egy jl dokumentlt internetes telefonalkalmazs, amely FEC-t hasznl. A gyengbb minsg hangfolyamot a fenti mdon egytt kldi el a nvleges hangfolyammal. Tovbbi informcik tallhatk [Roseberg 2000| munkjban.

sszefsls
A redundns tvitel alternatvjaknt az internetes telefonalkalmazs kldhet sszefslt hangot is. A 7.7. bra szerint az tvitel eltt a kld jra sorba rendezi a hangot tartalmaz adategysgeket oly mdon, hogy az eredetileg szomszdos egysgeket az tvitt folyamban megadott tvolsgra klnti el. Az sszefsls mrskeli a csomagveszts hatst. Abban az esetben pldul, ha az adategysgek 5 ms, a tredkek pedig 20 ms hosszsgak (gy egy tredkben 4 adategysg van), akkor az els tredk az 1., 5., 9. s 13. adategysget tartal mazza; a msodik tredk a 2., 6., 10., s 14. adategysget s gy tovbb. A 7.7. brn lthat, hogy egy sszefslt folyambl egy csomag elvesztse sok kis rst eredmnyez a visszalltott folyamban, nem pedig egy nagy rst, amely a nem sszefslt folyam esetn keletkezne.

50

7. MUI.TIMDIA-HLZATOK

Az sszefsls jelentsen javtja a hangfolyam rzkelhet minsgt (Perkins 1998], s kismrtk adattbblettel jr. Az sszefsls nyilvnval htrnya a megnvekedett lappangs. Ezen tulajdonsgai korltozzk az internetes telefon s a hasonl interaktv alkalmazsok alkalmazhatsgt, ennek ellenre a trolt hang folyamszer letltsnl jl hasznlhat. Az sszefsls egyik f elnye, hogy nem nveli meg a folyam svszlessgignyt.

Srlt hangfolyamok vevalap javtsa


A vevalap helyrelltsi smk megprblnak olyan helyettestst ellltani az elveszett csomag helyre, amely hasonl az eredetihez. A [Perkins 1998|-ban lertak szerint ez lehetsges, mivel a hangjelek, jelen esetnkben a beszd, rvid tvon nagymrtkben hasonl tulajdonsgokkal rendelkeznek. Ilyen mdon ezek az eljrsok viszonylag kis (15 szzalknl kevesebb) csomagvesztsi gyakorisg, valamint kis csomagok (4-40 ms) esetn mkdnek. Abban az esetben, ha a vesztesg hossza megkzelti egy fonma hosszt (5-100 ms), ezek az eljrsok nem mkdnek, mivel a hallgat szmra akr egy teljes fonma is elveszhet. (A fonma jelentsmegklnbztet szereppel br hang, amelynek megvltoztatsa a sz jelentst is megvltoztatja.) A vevalap helyrellts taln legegyszerbb eljrsi formja a csomagismtls. A csomagismtls az elveszett csomagot kzvetlenl az eltte rkez csomag msolatval he-

Eredet i folyam

sszefslt folyam
1 1 1

I I

I I

I I

I I

r +

Csomagveszts

Vett folyam

Visszalltott folyam

7.7. bra. sszefslt hang kldse lycttesti. Alacsony szmtsi komplexits szksges hozz, s meglehetsen jl teljest. A vevalap helyrellts msik eljrsi formja az interpolci, amely az elveszett csomag eltti s utni hangrsz segtsgvel llt el interpollssal egy megfelel csomagot, amely a vesztesget ptolja. Az interpolls valamelyest jobb minsget ad, mint a csomagismtls, de jval nagyobb szmtsi intenzitst ignyel [Perkins 1998).

7.3.4. Multimdia sztosztsa a mai interneten: tartalomsztoszt hlzatok


A folyamszer videoletltsek sebessge a pr szz kb/s-os kis felbonts videtl a nhny Mb/s-os DVD videig terjed, gy az a feladat, hogy a trolt videt krsre - sok, helyileg sztszrtan elhelyezked felhasznlhoz eljuttassuk, ijeszt kihvsnak tnik. A klienskrsek kiszolglsra a legegyszerbb megkzelts taln a vide trolsa lenne egy kln szerveren, majd a videt egyszeren a videoszerverrl (vagy szerverfarmrl) folyamszeren lehetne letlteni a klienshez, ahogy azt a 7.2. alfejezetben trgyaltuk. E megolds sorn viszont kt nyilvnval problma merl fel. Az els az, hogy mivel a kliensek a szervertl esetleg nagyon tvol helyezkednek el, a szervertl a kliensek fel irnyul csomagok sok ISP-n mehetnek keresztl, s ez megnveli annak valsznsgt, hogy a csomagksleltets s csomagveszts szmottev lesz. A msodik problma az, hogy abban az esetben, ha a vide nagyon npszer, akkor nagy valsznsggel sokszor halad l ugyanazokon az ISP-ken (s ugyanazokon a kommunikcis adatkapcsolatokon), gy jelents svszlessget (tviteli kapacitst) kt le. A 2. fejezetben bemutattuk, hogy a gyors

ttrazs hogyan enyhti ezt a problmt. Annak ellenre, hogy a gyorsttrazst csupn a tradicionlis webtartalmak kapcsn beszltk meg, tisztn lthat, hogy ez a mdszer megfelel az olyan multimdis tartalmak esetn is, mint amilyen a trolt hang s vide. Ebben az alfejezetben bemutatjuk a tartalomsztoszt hlzatokat (content distribution networks, CDNs), amelyek alternatv megoldst nyjtanak a trolt multimdis tartalom (valamint a hagyomnyos vvebtartalom) sztosztsra. A CDN-ek alapfilozfija az, hogy ha a kliens nem tud a tartalomhoz jnni (mivel a legjobbra trekv szolgltatson alapul t, amely a szervertl a kliensig megy, nem tmogatja a vide folyamszer letltst), a tartalmat kell a klienshez hozni. A CDN-ek gy a webes gyorsttrtl eltr modellt hasznlnak. Egy CDN esetn, a tovbbiakban nem az ISP-k a fizet gyfelek, hanem a tartalomszolgltatk. A megosztani kvnt videval rendelkez tartalomszolgltat (pldul CNN) fizet a CDN-t szolgltat cgnek (pldul Akamainak) azrt, hogy azok az gyfelek, akik az videit szeretnk letlteni, a lehet legkisebb ksleltetssel kapjk meg azt. A CDN-t biztost cg ltalban a kvetkez mdon nyjtja a tartalomsztoszt szolgltatst: 1. A CDN-szolgltatst nyjt cg tbbszz CDN-szervert (CDN servers) telept szerte az interneten. ltalnos esetben a CDN-szervereket adatkzpontokba (datacenters) helyezik, amelyek gyakran alacsonyszint ISP-k, kzel az ISP hozzfrsi hlzatokhoz s a kliensekhez. 2. A CDN lemsolja az gyfelei tartalmt a CDN-szervereken. Az gyfelek tartalomfrisstseikor a CDN jra sztosztja a legjabb tartalmat a CDNszerveren. 3. A CDN-szolgltatst nyjt cg egy olyan mechanizmust biztost, hogy amikor egy klienstl tartalomkrs rkezik, a tartalmat az a CDN-szerver szolgltatja, amelyik a legjobb mdon tudja eljuttatni a tartalmat az adott klienshez. Ez a szerver lehet a klienshez legkzelebbi CDN-szerver (esetleg a kliens ISP-jn belli) vagy olyan szerver, amely a kliens fel rendelkezik egy torlds nlkli ttal. A 7.8. brn a tartalomszolgltat s a CDN-t szolgltat cg kzti egyttmkds lthat. A tartalomszolgltat elszr meghatrozza, hogy mely objektumait (pldul videkat) szeretn sztosztani a CDN-en keresztl. (A tartalomszolgltat a fennmarad objektumokat a CDN kzbenjrsa nlkl osztja szt.) A tartalomszolgltat felcmkzi ezt a tartalmat, majd eljuttatja egy CDNcsomponthoz, amely msolatot kszt rla, s tovbbtja a kivlasztott CDNszerverek fel. A CDN-t zemeltet cg akr sajt magn- hlzattal is rendelkezhet, amely a CDN-csompontbl a CDN-szerverekig eljuttatja a tartalmat. Minden esetben, amikor a tartalomszolgltat mdostja a CDN llal sztosz lott objeklumot, eljuttatja a legjabb verzit a CDN-csomponthoz, amely jbl azonnal msolatot kszt, s tovbbtja az objektumot a CDN-szerverekhez. Fontos esznkbe vsni azt, hogy az egyes CDN-szerverek ltalban sok tartalomszolgltattl rendelkeznek objektummal. Most egy rdekes krds kvetkezik. Amikor a felhasznl szmtgpn a bngsz utastst kap egy meghatrozott objektum letltsre (URL-cmmel azonostva), hogyan dnti el a bngsz, hogy az eredeti forrsszerverrl vagy a

CDN-szerverek kzl az egyikrl tltse le az objektumot? A CDN-ek ltalban a DNS-tirnyitst hasznljk fel arra, hogy a bngszt a megfelel szerverhez vezessk |Kangasharju 2000).

7.3. A LEGJOBBRA TREKV SZOLGLTATSBL KIHOZNI A LEGJOBBA!'


Forrsszerver szak-Amerikban

55

CDN eloszt csompont

CDN-szerver Dl-Amerikban

ggl CDN-szerver Eurpban

CDN-szerver zsiban

7.8. bra. A CDN eljuttatja a CDN-szerverekhez a tartalomszolgltat ltal

cmkzett objektumokat
Pldaknt tegyk tl, hogy a tartalomszolgltat hostneveawww.foo.com . Tegyk fel, hogy a CDN-t mkdtet vllalat hostneve a cdn.com. Tovbb tegyk fel, hogy a tartalomszolgltat csupn az mpeg videofjljait szeretn sztosztani a CDN ltal; minden ms objektumot, belertve az alap HTML-oldalakat, kzvetlenl a tartalomszolgltat osztja szt. Ehhez a tartalomszolgltat a forrsszervernl tallhat sszes HTML-objektumot mdostja gy, hogy a videofjlok URL-jeit elltja a http://www.cdn.com eltaggal. Ennek eredmnyekppen, ha a forrsszerveren lev egyik HTML-fjl eredetileg tartalmazott egy http://www.foo.com/sports/highlights.mpg hivatkozst,a tartalomszolgltat a cmkzs sorn a hivatkozst kicserli a http: // www.cdn .com/www. foo.com/sports/highlights.mpg karakterlncra. Amikor a bngsz a highlights.mpg videt tartalmaz weboldalt szeretn letlteni, a kvetkez esemnyek trtnnek: 1. A bngsz elkldi az alap HTML-objektum letltsi krelmt a forrsszerverhez, a www.foo.com-hoz , amely elkldi a krt HTML-objektumot

56

7. M ULT1MHD1A-H1.ZAT0K

a bngsznek. A bngsz elemzi a HTML-fjlt, s megtallja az albbi hivatkozst http: //www. cdn.com/www.foo.com/sports/highlights.mpg . 2. A bngsz ezutn egy DNS-keresst hajt vgre a www.cdn.com-ra , amely a hivatkozott URL hosztneve. A DNS gy van belltva, hogy a gykr DNSszerverhez rkez minden krst, amely www.cdn.com-ra vonatkozik, elkldi egy a v/ww.

7.3. A LEGJOBBRA TREKV SZOLGLTATSBL KIHOZNI A LEGJOBBA!'

57

cdn.com szmra hiteles DNS-szerverhez. A hiteles DNS-szerver a krs vtelekor megnzi a krst kld bngsz IP-cmt. A CDN DNS-szervere a teljes internetre ksztett bels hlzati trkpt felhasznlva, visszakldi annak a CDN-szervernek az IP-cmt, amely a krst kiad bngsz szmra nagy valsznsggel a legalkalmasabb (leggyakrabban a bngszhz legkzelebbi CDN-szervert). 3. A krst kiad kliensnl tallhat DNS megkapja az IP-cmet tartalmaz vlasz- zenetet. Ezutn a bngsz elkldi a HTTP-krst a kapott IP-cfmmel rendelkez CDN-szerverhez. A bngsz errl a CDN-szerverrl letlti a highlights.mpg video- fjlt. A v;ww.cdn.com cmre vonatkoz esetleges kvetkez krseket a kliens tovbbra is ugyanarra a CDN-szerverre kldi, mivel a www.cdn.com IP-cmt a (klienshosztnl vagy a helyi DNSnvszerveml lv) DNS-gyorsttr mr tartalmazza. A 7.9. brn is bemutatott ttekintsben a krst kiad hoszt az alap HTiMLobjektu- mrt elsknt a forrs webszerverhez fordul, majd a CDN hiteles DNSszerverhez a legalkalmasabb CDN-szerver IP-cmrt, vgl pedig ahhoz a CDNszerverhez, amelyiktl megkapja a videi. Vegyk szre, hogy a II ITP, a DNS s a bngsz semmilyen mdostst nem ignyel a sztosztsi sma megvalstshoz. Htra van mg annak a magyarzata, hogy a CDN-t mkdtet cg hogyan hatrozza meg a letltst kezdemnyez hoszt szmra legalkalmasabb CDNszervert. Annak ellenre, hogy erre minden CDN-t biztost cgnek megvan a sajt, nem nyilvnos eljrsa, nincs nehz dolgunk elkpzelni, hogyan is csinljk. A CDN-t biztost cg az interneten tallhat minden hozzfrsi ISP szmra (ahol a lehetsges krst kiad kliensek tallhatk) nyilvntartja a legalkalmasabb CDNszervert. A CDN-t mkdtet vllalat azon ludasa alapjn hatrozza meg a legalkalmasabb CDN-szervert, amelyet az internetes tvlasztk tblibl (egsz pontosan a 4. fejezetben bemutatott BGP-tblkbl), a be cslt krbejrsi idkbl s ms mrsi adatokbl, amelyekkel a klnfle szerverektl a

A www. cdn. cor. cmre vonatkoz DNSlekrdezs

CDN-szerver

58

7. IV1U LTIM EDI A- HLZATOK

Forrsszerver

A CDN hiteles DNS-szervere

7.9. bra. CDN-ek a DNS-t hasznljk a kzeli CDN-szerverhez trtn irnytshoz

7.3. A LEGJOBBRA TREKV SZOLGLTATSBL KIHOZNI A LEGJOBBA!'

59

klnfle hozzfrsi hlzatokig a cg rendelkezik; errl bvebb informci a [Verma 2001]-ben tallhat. Ezek alapjn a CDN megbecsli, hogy melyik legjobbra trekv szolgltatst nyjt CDN-szerver a legalkalmasabb az ISP szmra. Ezt a CDN az interneten tallhat szmos hozzfrsi ISP-re elvgzi, s felhasznlja a kapott informcit a hiteles DNS-szerver belltsra. Ha az Olvas a multimdia folyamszer letltst egy nagymret mkd CDN (Akamai) szemszgbl*szeretn megvizsglni, ajnlott a [Sripanid- kulchpai 2004] munka tanulmnyozsa.

60

7. IV1U LTIM EDI A- HLZATOK

7.3.5. Legjobbra trekv hlzatok tervezsi krdsei szolgltatsminsgi szempontok figyelembevtelvel


Az elz a 1 fejezetekben lttuk, hogy az olyan alkalmazs szint eljrsok, mint a csomaglejtszs, a FEC, a csomag-sszefsls a Kosztban s az egsz hlzatban teleptett CDN-infraslruktra, hogyan javtjk a multimdis alkalmazsok minsgt a mai legjobbra trekv internet esetn. A multimdis alkalmazsok tmogatsnak nehzsge alapveten a szigor teljestmnykvetelmnyekbl - a vgpontok kztti kis ksleltets, a csomagksleltets ingadozsa s a csomagveszts -, s abbl a tnybl ered, hogy a ks leltets, csomagksleltets ingadozsa s csomagveszts mindig jelen van, ha a hlzatban torlds lp fel. A multimdis alkalmazsok javtsnak egyik utols megoldsi lehet sge - egy mdszer, amely gyakran hasznlhat minden olyan problma megoldsra, ahol az erforrsok korltozottak - egyszeren az ljnk mg pnzt a problmba, gy egyszeren elkerljk a versengst az erforrsrt. A hlzati multimdia esetben ez azt jelenti, hogy a hlzat minden rszn elegend teresztkpessget biztostunk az adat- kapcsolatoknl, gy a hlzati torlds s az ebbl kvetkez csomagksleltets s csomag- veszts sohasem (vagy csak nagyon ritkn) fordul el. Elegend adatkapcsolati kapacits sal a csomagok a mai interneten sorbanllsi ksleltets vagy vesztesg nlkl ramlanak t. Sok szempontbl ez idelis megoldsnak ltszik - a multimdis alkalmazsok hibt lanul mkdnnek, a felhasznlk boldogok lennnek, s mindezt a mai internet legjobbra trekv architektrjnak vltoztatsa nlkl tudnnk elrni. A krds termszetesen az, hogy mekkora az a kapacits, amely elegend a nirvna elrshez, s vajon az elegend svszlessg elrsnek kltsgei az ISP-k zleti szempontjbl a gyakorlatban kivite- lezhetk-e. Azt a krdst, hogy egy adott topolgiban a hlzati adatkapcsolatoknak mennyi kapacitst kell nyjtaniuk egy meghatrozott vgpontok kztti teljestmnyszint elrshez, gyakran a svszlessggel val elltsnak (bandwidth provisioning) nevezik. Azt a mg ennl is bonyolultabb hlzattervezsi problmt, amelynek sorn olyan hlzati topolgit kell megtervezni (hova tegynk tvlasztkat, hogyan kapcsoljuk ssze az tvlasztkat, milyen kapacitst adjunk az adatkapcsolatoknak), amely kpes elrni egy meghatrozott, vgpontok kztti teljestmnyszintet, gyakran a hlzati topolgia tervezsnek (network dimensioning) nevezik. Mind a svszlessggel val ellts, mind pedig a hlzati topolgia tervezse sszetett tma, tlmutat e knyv keretein. Mindezek ellenre megjegyezzk, hogy ezekre a problmkra megoldst kell tallni, hogy elre meg tudjuk mondani az

7.9. bra. CDN-ek a DNS-t hasznljk a kzeli CDN-szerverhez trtn irnytshoz

7.3. A LEGJOBBRA TREKV SZOLGLTATSBL KIHOZNI A LEGJOBBA!'

61

alkalmazsszint teljestmnyt kt hlzati vgpont kztt, s gy ele gend kapacitst tudjunk lefoglalni egy adott teljestmny elrshez.

62

7. MUI.TIMDIA-HLZATOK

1.

Modelleket kell meghatrozni mind a hvs szintjn (pldul felhasznlk rkeznek a hlzatba s vgpontok kztti alkalmazsokat indtanak), mind csomagszinten (pldul a folyamatban lev alkalmazsok csomagokat kldenek). Vegyk szre, hogy a terhels idben vltozhat. 2. Jl meghatrozott teljestmnykvetelmnyek. Lehet, hogy egy ksleltetsrzkeny forgalmat (pldul egy interaktv audio-/videoalkalmazst) tmogat teljestmnykvetelmny az a valsznsg, amellyel az alkalmazsok vgpontok kztti kslel tetse meghalad egy mg elviselhet maximumot, kisebb legyen, mint egy valami lyen kis e rtk [Fraleigh 2003). 3. Modellek alkotsa vgpontok kztti teljestmny elrejelzsre egy adott

Hlzati

vgpontok

kztti

forgalomigny-modellek.

terhelsi modell esetn, s eljrsok keresse egy legkisebb kltsg svszlessg lefoglalsra, amelyek ltal a felhasznli kvetelmnyek teljeslnek. Ebben a tmban a kutatk sorbanllsi modelleket fejlesztenek
ki (lsd 1.4. fejezet), amelyekkel mennyisgileg meg lehet hatrozni a teljestmnyt egy adott terhelsre, valamint optimalizlsi elj rsokat kutatnak a teljestmnykvetelmnyek kielgtsre alkalmas legkisebb klt sg svszlessg lefoglalsra. Habr a mai legjobbra trekv internet megfelel tervezs esetn (mszaki szempontbl) kpes lenne elegend teljestmnyt szolgltatni a multimdis forgalom szmra, a krds az, hogy mirt nem teszi? A vlaszok elssorban gazdasgi s szervezeti jellegek. Gazdasgi szemszgbl a krds az, hogy a felhasznlk hajlandk lennnek-e fizetni internetszolgltatjuknak azrt, hogy a legjobbra trekv interneten elegend svszlessget ptsen ki a multimdis alkalmazsok szmra? A szervezetek kztti vitk taln mg ijesztbbek. Figyeljk meg, hogy kt multimdis vgpont kztt az t tbb internetszol gltatbl ll hlzaton vezet keresztl. Szervezeti szemszgbl a f krds pedig, hogy hajlandk lennnek-e ezek az internetszolgltatk egyttmkdni (esetleg a bevtel megoszlsval) annak rdekben, hogy a vgpontok kztti t a multimdis alkalmazsok szmra megfelelen megtervezett legyen? Az emltett gazdasgi s szervezeti problmk ttekintse a [Davies 2005) munkban tallhat meg. A (Fraleigh 2003] dolgozat pedig lerja, hogy az 1. szint gerinchlzatot hogyan lehet ksleltetsrzkeny forgalom tmo gatsra felhasznlni.

7.4. Vals idej interaktv alkalmazsok protokolljai


A vals idej interaktv alkalmazsok, amelyek kz az internettelefon s a videokonferencia is tartozik, biztostjk az internet jvbeli nvekedst. Nem csoda ht, hogy az olyan szabvnyostsi szervezetek, mint az IHTF s az ITU, sok ve azzal vannak (s azzal is lesznek!) elfoglalva, hogy szabvnyokat ksztsenek az ilyen tpus alkalmazsokhoz. Abban az esetben, ha a vals idej interaktv alkalmazsokra vonatkoz megfelel szabvnyok elkszlnek, lehetv vlik, hogy egymstl fggetlen cgek kpesek lesznek elkszteni olyan j s nagyszer

7.3. A LEGJOBBRA TREKV SZOLGLTATSBL KIHOZNI A LEGJOBBA!'

63

7.4.1. Vals idej protokoll (RTP)

alkalmazsokat, amelyek egymssal egyttmkdnek. A fejezetben megvizsgljuk az RT P, a SP s a H.323 mkdst vals idej interaktv alkalmazsok esetn. Mindhrom szabvnyhalmazt szleskren megvalstottk kln bz ipari termkekben.

Az elz alfejezetben lthattuk, hogy az ad oldalon tallhat multimdis alkalmazs az audio-/videotredkekhez fejlcmezket fz hozz, mieltt azokat a szlltsi rtegnek tadja. Ezek a fejlcmezk sorszmokat s idblyegeket tartalmaznak. Mivel a legtbb multimdis hlzati alkalmazs fel tudja hasznlni a sorszmokat s az idblyegeket, knyelmes lenne olyan szabvnyostott csomagszerkezetet hasznlni, amelyben van mez a hang- s kpadat, a sorszm s idblyeg, valamint ms potencilisan hasznos mez szmra. Az RFC 3550 ltal definilt vals idej protokoll (real-time protocol, RTP) ilyen szabvny. Az RTP alkalmazhat olyan gyakran hasznlt formtumokban trolt ada tok tvitelre, mint pldul hang esetn a PCM, a GSM s az MP3, vide esetn pedig az MPEG s a H.263. Az RTP alkalmas egyedi formtum audio- s videoadatok tvitelre is. Manapsg az RTP szles kr elterjedtsgnek rvend, sok szz termkben s kutatsi prototpusban hasznljk. Ms fontos vals idej interaktv protokollnak is kiegsztje, mint pldul a SIP-nek s a H.323-nak. A fejezetben bemutatjuk az RTP-t s trsprotokolljt, az RTCP-t. Ajnlott elltogatni Henning Schulzrinne RTP-vel foglalkoz weboldalra is [Schulzrinne-RTP 2007], amely sok informcival szolgl a tmrl. A RAT weboldal |RAT 2007] megtekintse is hasznos, ahol egy internetes telefonalkalmazs lersa tallhat.

RTP-alapok
Az RTP ltalban UDP felett fut. A kld oldal RTP-csomagba gyazza a mdiatredket, majd ezt a csomagot UDP-szegmensbe gyazza, s vgl tadja a szegmenset az IP-nek. A vev oldal az UDP-szegmensbl kibontja az RTP-csomagot, ezutn az RTP-csomagbl szintn kibontja a mdiatredket, s legvgl tadja a tredket a mdialejtsznak dekdolsra s megjelentsre. Pldaknt kpzeljk el az RTP-t beszd tvitelre. legyk fel, hogy a beszdforrs 64 kb/s-os PCM-kdoIs (azaz mintavtelezett, kvantlt s digitalizlt). Tovbb tegyk fel, hogy az alkalmazs 20 ms-onknt gyjti ssze a kdolt adatot, gy egy tredk 160 bjtbl ll. A kld oldal minden hangadattredk el egy RTP-fejrszt (RTP header) illeszt, amely tartalmazza a hangkdols tpust, egy sorszmot s egy idblyeget. Az RTP-fej- rsz normlis esetben 12 bjt hossz. A hangtredk s az RTP-fejrsz egytt alkotja az RTPcsomagot (RTP packet). Az RTP-csomag ezutn elkerl az UDP-szoket interfsz hez. A vev oldalon az alkalmazs megkapja a csomagot a szkt interfsztl. Az alkalmazs kibontja a hangtredket, s az RTP-csomag fejrszmezi segtsgvel megfelelen dekdolja, majd lejtssza. Ha egy alkalmazs az RTP-t magba foglalja - nem gy, mint adatmezt, sorszmot vagy idblyeget lehetv tev egyedi sma -, knnyebben egytt tud mkdni ms hlzati multimdis alkalmazsokkal. Pldul ha kt klnbz cg fejleszt internetes telefonszoftvert, s mindkett alkalmazza az RTP protokollt a sajt termkben, akkor van nmi remnynk arra, hogy az egyik termket hasznl szemly a msik internetes telefonalkalmazst hasznl szemllyel

kommuniklni tudjon. A 7.4.3. fejezetben ltni fog juk, 7. hogy az RTP-t gyakran 64 IV1U LTI M EDI A- HLZATOK hasznljk egytt az internetes telefon szabvnyaival. Ki kell emelnnk, hogy az RTP nem nyjt semmifle eljrst, amellyel az adatot idben cl lehet juttatni a clig, s nem ad semmilyen szolgltatsminsgi (QoS) garancit sem; mg a csomagok pontos clba rst sem garantlja, s azt sem biztostja, hogy a csomagok

7.9. bra. CDN-ek a DNS-t hasznljk a kzeli CDN-szerverhez trtn irnytshoz

helyes sorrendben rjenek clba. Valjban az RTP-begyazs csupn a vgrendszereknl lthat. A tvlasztk nem tesznek klnbsget az RTPcsomagot hordoz s az RTP-cso- magot nem hordoz IP-adatcsomagok kztt. Az RTP minden forrs szmra lehetv teszi (pldul kamera vagy mikrofon szmra), hogy kijellje a sajt fggetlen RTP-csomagfolyamait. Kt rsztvev kztti videokonferencia esetn pldul ngy RTP-folyam lehet nyitva - kt folyam a hang tvitelre (egy-egy mindkt irnyba), kt folyam a vide tvitelre (szintn egy-egy mindkt irnyba). Szmos npszer kdolsi eljrs azonban - mint az MPEG 1 s MPEG 2 - a kdols sorn a han got s a videt egyetlen folyamba ktegeli. Abban az esetben, amikor a kdols sorn a han got s a videt sszektegelik, egy irnyba csupn egyetlen RTP-folyamot lltanak el. Az RTP-csomagok nem korltozdnak csupn az egynekadst megvalst alkalmazsokra. Elkldhetk egytl-tbbnek s tbbtl-tbbnek tpus tbbeskldses fkon keresztl is. Egy tbbtl-tbbnek tbbeskldses munkamenetben a sajt RTP-folyamaik elkldsre a munkamenet sszes adja s forrsa ltalban kzs tbbesklds-csopor- tot hasznl. Az olyan sszetartoz R I P tbbeskldses folyamok, mint amilyen pldul egy videokonferencia esetn a klnbz adktl ered hang- s videofolyamok, egy RTP-munkamenethez tartoznak.

Az RTP-csomag fejrszmezi
A 7.10. brn lthat az RTP-csomag fejrsz ngy f mezje: az adatmez tpusa, a sorszm, az idblyeg s a forrsazonost.
Adatmez _ tpusa Sorszm Idblyeg Szinkronizcis forrsazonost Egyb mezk

7.10. bra. Az RTP fejrszmezi Az RTP-fejrszben tallhat adatmez tpusa mez 7 bit hossz. Hangfolyam esetn ez a mez mutatja a hasznlt hangkdolst (pldul PGM, adaptv deltamodulci, lineris prediktv kdols). Abban az esetben, ha a kld szeretn menet kzben a kdolsi megvltoztatni, a vevi az adatmez tpusa mezn keresztl tjkoztathatja. A kld megvltoztathatja a kdo lst a hangminsg javtsa, vagy pp az RTP-folyam bitsebessgnek cskkenlse rdekben. A 7.2. lblzat felsorol nhny, az RTP ltal jelenleg tmogatott hang adatmez tpust.

7.2. tblzat. Az RTP ltal tmogatott adatmeztpusok hang esetn


Adatmez tpusszma 0 1 3 7 9 14 15 Hangformtum PCM p-law 1016 GSM LPC G.722 MPEG Audio G.728 Mintavteli frekvencia 8 kHz 8 kHz 8 kHz 8 kHz 16 kHz 90 kHz 8 kHz Adatsebessg 64 kb/s 4,8 kb/s 13 kb/s 2,4 kb/s 48-64 kb/s 16 kb/s

Videofolyam esetn az adatmez tpusa a videokdolst jelli (pldul mozg JPEG, MPEG 1, MPEG 2, H.261). A munkamenet sorn a kld most is megvltoztathatja menet kzben a vide kdolst. A 7.3. tblzat felsorol nhny, az RTP ltal jelenleg tmogatott videoadat-mez tpust. A tovbbi fontos mezk a kvetkezk:

Sorszmmez. A sorszmmez 16 bit hossz. A sorszm rtke minden

elkldtt RTP-csomag esetn eggyel n, s a vev fel tudja hasznlni a csomagveszts felismersre, valamint a csomagsorrend visszalltsra. Abban az esetben pldul, ha az alkalmazs a vev oldalon a 86. s 89. sorszm kztt nem kap csomagot, felismeri, hogy a 87. s a 88. csomag hinyzik. gy a vev megprblhatja az elveszett adatokat elfedni. Idblyegmez. Az idblyegmez 32 bit hossz. Az RTP-adatcsomag els bjtjnak mintavteli pillanatt tkrzi. Amint az elz fejezetben is lttuk, a vev az idblyegeket felhasznlhatja a hlzatban elfordul csomagksleltets ingadozsnak kikszblsre, valamint a szinkronizlt lejtszs megvalstsra. Az idblyeg a kld mintavteli rajelbl szrmazik. I lng esetn pldul az idblyeg rajele mintavteli peridusonknt eggyel nvekszik (pldul 8 kHz-es mintavteli frekvencia esetn minden 125. fisec-ban); abban az esetben, ha az audio alkalmazs 160 kdolt mintbl ll tredkeket hoz ltre, akkor aktv forrs esetn az idblyeg minden RTP-csomag esetn 160-nal n. Az idblyeg mg inaktv forrs esetn is lland sebessggel n. Szinkronizcis forrsazonost (SSRC) mez. Az SSRC-mez 32 bit hossz. Az RTP-csomag forrst azonostja. ltalnos esetben minden RTP-munkamenet kln SSRC-rtkkel rendelkezik. Az SSRC nem a kld IP-cme, hanem egy vletlen szm, amelyet a forrs oszt ki, amikor egy j folyam indul. Annak valsznsge, hogy kt folyam ugyanazt a vletlen szmot kapja, nagyon kicsi. Ma mgis ez trtnik, a kt forrs egy j SSRC-rtket generl.

7.3. tblzat. Nhny RTP ltal tmogatott adatmeztpus vide esetn


Adatmez tipusszma 26 31 32 33 Videoformtum Motion JPEG H.261 MPEG 1 vide MPEG 2 vide

RTP-tmogatssal rendelkez alkalmazsok fejlesztse


Az RTP-alap hlzati alkalmazsok fejlesztsre kt megkzelts ltezik. Az els szerint az alkalmazsfejleszt sajt kezleg valstja meg a RTP-t - ami azt jelenti, hogy olyan kdot r, amely elvgzi az RTP-begyazst a kld oldalon s az RTPkibontst a vev oldalon. A msodik megkzelts szerint az alkalmazsfejleszt mr ltez RTP-knyvtrakat (C programnyelv esetn) s Java-osztlyokat (Java programnyelv esetn) hasznl, amelyek elvgzik a begyazst s a kibontst az alkalmazs szmra. A kt megolds kifejtst (tb besklds helyett inkbb) egynekadsos kommunikcis krnyezetben vgezzk. Idzzk fel a 2. fejezetbl azt, hogy a kld UDP API-nak szksge van arra, hogy a kld folyamat minden UDP-szegmcns esetn belltsa a cl IP-cmt s portszmt, mieltt a csomagot az UDP-szoket fel tovbbtja. Az UDP-szegmens ezutn keresztlhalad az interneten, s (ha a szegmens nem veszik el pldul egy tvlaszt puHernek tlcsordulsa miatt) vgl elrkezik az alkalmazs vev folyamatnak ajtajhoz. Az ajtt cl-IP-cme s -portszma teljes mrtkben azonostja. Gyakorlatilag minden olyan IP-adatcsomag, amely ezzel a cl-IP-cmmel s -portszmmal rendelkezik, a vev folyamat UDP-ajtaj- hoz irnytdik. (Az UDP API azt is lehetv teszi az alkalmazsfejleszt szmra, hogy az UDP-forrsport szmt belltsa; ennek az rtknek azonban egyltaln nincs hatsa arra a folyamatra, amelyikre a szegmenset kldik.) Fontos tudni, hogy az RTP nem fog lal le elre meghatrozott portszmot. Az RTP-alkalmazsok ksztsekor az alkalmazs- fejleszt hatrozza meg a portszmot az alkalmazs mindkt oldala szmra. Ahogy a 7.11. brn lthat, egy RTP-alkalmazs programozsi interfsze (API-ja) a szabvnyos UDP-szoket lesz.
Alkalmazsi RTP Szkt UDP IP Adatkapcsolati Fizikai

7.11. bra. Az RTP az alkalmazs rsze s az UDP-szoket felett helyezkedik el

Egy msik lehetsges megolds egy elre elksztett Java RTP-osztly (vagyC RTP-kny v- tr C programozk szmra) felhasznlsa az RTP-mveletek megvalstsra. Ennl a megoldsnl, amely a 7.12. brn is lthat, az alkalmazsfejleszt az RTP-t a szlltsi rteg rsznek tekinti, egy RTP/UDP APIknt az alkalmazsi rteg s a szlltsi rteg kztt. Az alapvet rszletek bemutatsa nlkl (mivel azok osztly-/knyvtrfggek) el kell mondjuk, hogy amikor egy mdiatredket adunk t az API-nak, az alkalmazs kld oldalnak kell az interfszt biztostania magval a mdiatredkkel, az adatmez tpusszmval, az SSRC-vel s az idblyeggel, valamint a clport szmval s a cl IP-c- mvel egytt. Megemltjk tovbb, hogy a Java multimdis keretrendszere (Java Media Framework, JMF) tartalmaz egy teljes RTPimplementcit.
Alkalmazsi RTP UDP IP Adatkapcsolati Fizikai -Szlltsi

7.4.2. RTP-vezrl protokoll (RTCP)

69

7. MUI.TIMDIA-HLZATOK

Az RCF 3550 az RTP-vezrl protokoll (RTF control protocol, RTCP) specifikcijt is tartalmazza, egy olyan protokollt, amelyet a hlzati multimdis alkalmazs ltalban az RTP-vel egytt hasznl. A 7.13. brn lthat tbbeskldses forgatknyvnek megfelelen az RTP-munkamenet minden rsztvevje elkldi a tbbi flnek IP-tbbeskldsen keresztl az RTCP-csomagokat. Egy RTPmunkamenethez ltalban egy tbbeskldsi cm tartozik, a munkamenethez tartoz RTP- s RTCP-csomagok pedig ezt a cmet hasz nljk. Az RTP- s RTCPcsomagok a megklnbztethetsg miatt ltr portszmot hasznlnak. (Az RTCP portszma az RT P portszmnl eggyel nagyobb rtk.) Az RTCP-csomagok nem tartalmaznak begyazott hang- s videotredkeket. A csomagokat ezzel szemben idszakosan kldik, s olyan jelentseket, statisztikkat tartalmaznak, amelyek az alkalmazs szmra hasznosak, s amelyek a vevtl s/vagy a kldtl erednek. Ilyen statisztika pldul az elkldtt csomagok szma, az elveszett csomagok szma s a berkezsi idk ingadozsa. Az RTP-specifikci [RFC 3550] nem mondja meg az alkalma zsnak, hogy mit csinljon ezekkel az adatokkal, amelyeket a visszajelzsekbl nyert; ezt az alkalmazsfejleszt dnti el. A kld felhasznlhatja ezt az informcit pldul az tviteli sebessg mdostsra. A visszajelzsekbl nyert informci hibaelemzsi clokat is szolglhat; pldul a vev meghatrozhatja, hogy a problma helyi, rgin belli vagy globlis.

RTCP-csomagtpusok
Minden olyan RTP-folyam esetn, amelyet a vev egy munkamenet rszeknt megkap, a vev egy vteli jelentst llt el. A vev a vteli jelentseket sszefogja egy RTCP-csomagba. A csomagot ezutn kikldi a tbbeskldses fiiba, amely a munkamenet rsztvevit kti sz- sze. A vteli jelentsnek szmos mezje van, amelyek kzl a legfontosabbak a kvetkezk:
Kld

IRTCP j

4
1RTCP1

i
Internet

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

70

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

71

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

72

Annak az RTP-folyamnak az SSRC-ertke, amelyhez a vteli jelents generldott. Az RTP-folyamon bell elveszett csomagok. Minden vev kiszmolja az folyamban elkldtt csomagok s az elveszett RTP-csomagok arnyt. Abban az esetben, ha a kld olyan vteli jelentst kap, amely szerint a vev csupn az ad ltal elkldtt csomagjainak kis rszt kapta meg, alacsonyabb kdolsi sebessgre vlthat, a hlzati torlds cskkentse s a clba jutott csomagok arnynak nvelse rdekben. A legutols vett sorszm az RTP-csomagfolyamban. A csomagok berkezsi idejnek ingadozsa, amely egy simtott becslse az RTP- folyamban egyms utn clba jutott csomagok berkezsi ideje kztti vltakozsnak. Minden RTP-folyam esetn, amelyet egy ad elkld, az ad RTCP kldsi jelentst tartalmaz csomagot hoz ltre, majd azt tovbbtja. F.zek a csomagok tbbek kztt az albbi, RTP-vel kapcsolatos informcit tartalmazzk: az RTP-folyam SSRC rtkt, a folyam legutoljra ellltott RTP-csomagjnak idblyegt s a kls ra aktulis a folyamban elkldtt csomagok szmt, a folyamban elkldtt bjtok szmt.

A kldsi jelentsek az egy RTP-munkameneten belli klnbz mdifolyamok szinkron izcijhoz hasznlhatk. Kpzeljnk el pldul egy videokonferenciaalkalmazst, amelyben minden egyes ad kt klnbz RTP-folyamot llt el, egyet a hangnak, egyet pedig a kpnek. Az RTP-csomagok idblyegei a vide s a hang mintavteli frekvencijhoz ktttek, nem pedig a kls ra aktulis idejhez (pldul a vals idhz). Minden egyes RTCP kldsi jelents tartalmazza az adott RTP-folyamban legutoljra ltrejtt csomagra vonatkoz idblyeget s a keletkezsnek kls ra szerinti idejt. Ily mdon az RTCP kldsi jelents sszerendeli a mintavteli rajelet a vals ra idejvel. Ezt az sszerendelst a vevk fel tudjk hasznlni visszajtszskor a kp s a hang szinkronizcijhoz. Minden tkldeni kvnt RTP-folyam esetn, a kld forrst ler csomagokat is kszt s tovbbt. Ezek a csomagok olyan informcikat tartalmaznak a forrsrl, mint az e-mail cme, a kld neve s cme, valamint az RTP-folyamot elllt alkalmazs lersa. Tartalmazza mg a megfelel RTP-folyam SSRC-rtkt is. Ezek a csomagok lekpezst szolgltatnak a forrsazonost (azaz az SSRC) s a felhasznl/hos/.tnv kztt. Az RTCP-csomagok vermelhetk, ez azt jelenti, hogy vevk vteli jelentsei, a kldsi jelentsek s az imnt emltett forrslerk sszellthatk egyetlen csomagg. Az gy keletkez csomagot UDP-szegmensbe gyazzk, s tovbbtjk a tbbeskldses fa fel.

RTCP svszlessg sklzsa


Megfigyelhettk, hogy az RTCP rendelkezik egy potencilis sklzsi problmval. Kpzeljk el pldul, hogy egy RTP-munkamenet egy adbl s sok vevbl ll. Abban az esetben, ha minden vev periodikusan llt el RTCP-csomagokat, az

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

73

RTCP-csomagok sszestett tviteli sebessge jelentsen meghaladja azt a sebessget, amivel az ad az RTP-csomagokat kldi. Fi gyeljk meg, hogy amg a vevk szmnak nvekedsvel a tbbeskldses fba jut RTP-for- galom nem vltozik, addig az RTCP-forgalom a vevk szmval linerisan nvekszik. E skl zsi problma megoldshoz az RTCP a rszt vev felek szmnak megfelelen mdostja azt a sebessget, amellyel a rsztvevk RTCP-csomagokat kldenek a tbbeskldses fba. Mivel minden rsztvev minden ms tagnak is kld vezrlsi csomagot, a munkamenetben rsztvev sszes tag szmt minden rszt vev kpes megbecslni [Friedman 1999]. Az RTCP megksrli a forgalmt a munkamenetben elrhet svszlessg 5 szzalkra korltozni. Tegyk fel pldul, hogy egy olyan adnk van, amely 2 Mb/s sebessggel kld videt. Ekkor az RTCP megprblja a forgalmt a 2 Mb/s 5 szzalkra, vagyis 100 kb/s-ra korltozni a kvetkez mdon. A protokoll a sebessg 75 szzalkt, azaz 75 kb/s-ot a vevknek adja; a maradk 25 szzalkot, azaz 25 kb/s-ot pedig az adnak. A vevknek adott 75 kb/s egyenletesen oszlik meg kztk. gy ha R vev van, akkor minden vevnek 75 R kb/s jut az RTCP-forgalom kldsre, s az ad pedig 25 kb/s sebessggel kldhet RTCP-forgal- mat. Egy tag (ad vagy vev) gy hatrozza meg az RTCP-csomag kldsnek peridust, hogy kiszmolja az (egsz munkamenetre vonatkoz) tlagos RTCP-csomagmretet, s az gy kapott rtket elosztja a hozz rendelt sebessghez tartoz tlagos RTCP-csomagmret- tel. sszegzskppen, az egy adra vonatkoz RTCP csomagtviteli peridus: Az adk szma x 7 =------------------------------------------------------ x tlagos RiCP-csomagmerct 0,25 x 0,05 x A munkamenet svszlessge Egy vevre vonatkoz RTCP csomagtviteli peridus pedig a kvetkez

T =-------------A vevk szma ---------------------- x tlagos RTCP-csomagmcret 0,75 x 0,05 x A munkamenet svszlessge

7.4.3. Viszonykezdemnyez protokoll (SP)


Kpzeljnk el egy olyan vilgot, amelyben a szmtgp eltt dolgozva a telefonhvsaink az interneten keresztl a szmtgpnkre rkeznek. A reggeli breds utn, amikor elkezdnk mszklni a laksban, az j hvsaink automatikusan a PDA-kszlkiinkre irnytdnak. Autvezets kzben pedig automatikusan a kocsinkban tallhat internetes kszlkhez futnak be. Ugyanebben a vilgban egy konferenciabeszlgets kzben hozz frhetnk egy cmjegyzkhez, s j tagokat hvhatunk meg a konferenciabeszlgetsbe. A beszlgets tbbi rsztvevje lhet a szmtgpe eltt, stlhat a PDAkszlkvel vagy ppen vezetheti az autjt - nem szmt, hol van, hvsunk tltsz mdon jut el hozz. Megint ugyanebben a vilgban, egy szemly honlapjt bngszve egy Hvj fel hivatkozst tallunk; hivatkozsra kattintva interneten keresztl telefonos munkamenet jn ltre a szmtgpnk s az oldal tulajdonosa kztt (brhol legyen is az illet). Ebben a vilgban tbb mr nem ltezik vonalkapcsolt telefonhlzat. Ezzel ellenttben minden hvs az interneten megy keresztl - vgponttl vgpontig. A

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

74

cgek tbb nem hasznlnak magncl telefonalkzpontokat (privt branch exchange, PBX), amelyek a cgen belli telefonhvsok kezelsre szolgl helyi vonalkapcsolk. Helyettk a cgen belli telefonos forgalom a vllalat nagysebessg LAN-hlzatn folyik keresztl. Mindez tudomnyos-fantasztikus trtnetnek hangzik. Termszetesen a mai vonalkapcsolt hlzatok s PBX-rendszerek nem fognak a kzeli jvben egyhamar teljesen eltnni [Jiang 2001]. Mindamellett lteznek protokollok s termkek ennek a vzinak a valra vltshoz. Ezek kztt a protokollok kztt az egyik leggretesebb az (RFC 3261] szabvnyban meghatrozott viszonykezdemnyez protokoll (session initiation proto- col, SP). A SP nem tlsgosan fontos protokoll, amely a kvetkezket valstja meg: Eljrsokat biztost a hv s a hvott fl kztti kapcsolat felptsre IPhlzaton keresztl. Lehetv teszi a hv fl szmra, hogy a hvott fl fel jelezze a hvskezdemnyezsi szndkt. Lehetv teszi a feleknek, hogy megegyezzenek a mdia kdolsban. Lehetv teszi a hvsok befejezst is. Eljrsokat biztost a hv fl szmra a hvott fl jelenlegi IP-cmnek meghatrozsra. A felhasznlk nem rendelkeznek lland IP-cmmel, mivel lehet, hogy dinamikus cmkiosztst hasznlnak (DHCP hasznlatval), vagy lehet az is, hogy tbb 1P- kpes kszlkkel rendelkeznek, mindegyiknek ms az IP cme. Eljrsokat biztost a hvskezels szmra, mint pldul j mdiafolyam indtsra a hvs alatt, kdols megvltoztatsra menetkzben, j tagok meghvsra hvs kzben, hvstirnytsra s hvsvrakoztatsra.

Ismeri lP-cm felhvsa


A SP alapjainak jobb megrtshez a legjobb, ha egy konkrt pldn keresztl vizsgljuk meg. A pldban Alice a szmtgpe eltt l, s szeretn felhvni Bobot, aki szinten a szmtgpe eltt lve dolgozik. Alice s Bob szmtgpe rendelkezik a telefonhvsok kezdemnyezshez s fogadshoz szksges SIPalap szoftverrel. Ebben a bevezet pldban feltesszk, hogy Alice ismeri Bob IPcmt. A 7.14. bra bemutatja a SP hivsfelptsi folyamatt. Az brn lthat, hogy a SIP-viszony akkor kezddik, amikor Alice INVITE zene tet kld Bobnak, amely hasonlt egy HTiVIL-krst tartalmaz zenethez. Ezt az INVITE zenetet a SP jl ismert 5060-as portjra kldik UDP protokollon keresztl. (A SlP-ze- neteket TCP-n keresztl is lehet kldeni.) Az INVITE zenet tartalmazza Bob azonostjt (bob@193.64.210.89 ), Alice jelenlegi IP-cmt, egy jelzst arra vonatkozan, hogy Alice hangot szeretne fogadni, amelyet RTP-begyazssal AVP 0 formtumban kell kdolni (PC J M-kdols ^-law), s tartalmaz egy jelzst, amely megmutatja, hogy a 38060-as szm porton szeretn az RTP-csomagokat fogadni. Alice INVITE zenetnek vtele utn Bob egy SP-vlaszzenetet kld, amely szintn egy HTTP-vlaszt tartalmaz zenetre hasonlt. Ezt a SIP-vlaszzenetet szintn az 5060-as portra kldi. Bob vlasza tartalmaz egy 200 OK ze netet a jelenlegi IP-cme mellett, valamint a venni kvnt kdolst, csomagolsi eljrst, s a portszmot, amelyre a hangot tartalmaz adatcsomagokat kldeni kell. Megjegyezzk, hogy a pldban Alice s Bob klnbz hangkdolsi eljrsi hasznl: amg Alice-t GSM kdolsra krtk, addig Bob PCM /v-law kdolsra lett felszltva. Bob vlasznak megrkezse utn Alice SIP-nyugtazenetet kld

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

75

Bobnak. (A megjelents egyszerstse miatt a 7.14. b rn Alice Bob utn beszl, m a valsgban egyszerre is beszlhetnnek.) Bob a krsnek megfelelen kdolja s csomagolja a hangot, majd elkldi a hangot tartalmaz csomagokat a 38060-as portra, a 167.180.112.24 IP-cmre. Alice szintn a krsnek megfelelen kdol s kszti el a csomagokat, majd tovbbtja azokat a 48753-as portra s 193.64.210.89 IP-cmre. Ebbl az egyszer pldbl megtanultuk a SP nhny kulcsfontossg jellemzjt. Elszr is, hogy a SP egy svon kvli protokoll: a SIP-zenetek kldsre s fogadsra hasznlt szktek klnbznek a mdia tartalmnak tvitelre hasznlt szktektl. Msodsorban, hogy a SIP-zenetek maguk is ASCIIkdolsak, s hasonltanak a HTTP-zenetekhez. Harmadikknt pedig elmondhat, hogy a SP minden zenetre vteli visszajelzst vr, gy mind UDP, mind pedig TCP felett hasznlhat.

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

76

193.64.210.8 9

as

Port Bob terminlja *


kicseng

M-law kdols hang 38060-as port

Id

Id

7.14. bra. SIP-hivsfelpits bban az esetben, ha Alice ismeri Bob IP-cmt Kpzeljk el mi trtnne, ha a pldban Bob nem rendelkezne PCM /-law kdolval a hangkdols szmra. Ebben az esetben a 200 OK vlasz helyett 600 Nt Acceptable zenetet kldene, s felsoroln, hogy milyen kdolsokat tud elvgezni. Alice gy a felsorolt kdekek kzl vlasztana, s jabb INVITE zenetet kldene, ezttal a kivlasztott kdolst jelezve. A hvs elutastsra Bobnak sok ms elutast vlaszkd is rendelkezsre ll. (Szmos ms kd ltezik, pldul foglalt, nincs a telefonnl, a hvshoz fizets szksges, s nem engedlyezett hvs.)

SIP-cmek
Az elz pldban Bob SIP-cme sip:bob@l 93.64.210.89. Ezzel egytt arra szmtunk, hogy sok - ha nem a legtbb - SIP-cm hasonl az e-mail cmekhez. Pldul Bob cme lehet sip:bob@domain.com . Abban az esetben, amikor Alice SIPkpes kszlke INVITE zenetet kld, akkor az zenet tartalmazza ezt az e-mailcmszer karakterlncot; ezutn a SIP-hlzat az zenetet Bob jelenleg hasznlt IP-

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

77

kpes kszlke fel irnytja (a ksbbiekben lert mdon). Ms lehetsges SIPcm formtum lehet Bob korbbi tele

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

78

fonszma vagy egyszeren Bob vezetkneve/els keresztneve/msodik keresztneve (ha ezek egyrtelmen azonostjk Bobot). A SP egyik rdekes tulajdonsga, hogy weboldalakba lehet begyazni ugyangy, ahogyan az emberek e-mail cme is szerepel a weboldalakon, a mailto URL-t hasznlva. Pldul tegyk fel, hogy Bob rendelkezik szemlyes honlappal, s szeretn a ltogatk szmra lehetv tenni, hogy a honlapon keresztl fel tudjk hvni. Ekkor egyszeren hozz kell adnia a sip:bob@doma in.com URL-cmet az oldalhoz. Abban az esetben, amikor a ltogat rkattint a hivatkozsra, elindul a SIP-alkalmazsa, s INVITE zenetet kld Bobnak.

SIP-zenetek
A SIP-rl adott rvid bevezetnkben nem tekintjk t az sszes zenetfajtt s fejrszt. Ehelyett rviden megnzzk a SP INVITE zenetet, nhny ltalnos fejrsz sorral egytt. Tegyk fel ismt, hogy Alice szeretne egy IP-telefonhvst kezdemnyezni Bob fel, ezttal Alice csupn Bob SIP-cmt ismeri, s nem tudja Bob jelenlegi kszlknek az IP-cmt. Ebben az esetben az zenete ehhez lesz hasonl:

I N V I T E s i p : bob@domain.com S I P / 2 . 0 Via: SIP/2.0/UDP 167.180.112.24 F r o m : s i p : alice@hereway.com T o : s i p : bob@domain.com C a l l - I D : a2e3a@pigeon.hereway.com Content-Type: application/sdp Content-Length: 885 c=IN IP4 167.180.112.24 m=audio 38060 RTP/AVP 0
Az INVITE sor tartalmazza a SP verziszmot, valamint egy HTTP-krs zenetet. Minden esetben, amikor egy SIP-zenet egy SIP-kpes eszkzn keresztlhalad (az eredeti kld kszlket is belertve), az eszkz egy Via (Keresztl) fejrszt illeszt hozz, amely az eszkz IP-cmt jelli. (Hamarosan ltni fogjuk, hogy az ltalnos INVITE zenet szmos SIP-kpes eszkzn megy keresztl, mieltt elrn a hvott fl SIP alkalmazst.) Az e-mail zenethez hasonlan a SIP-zenet tartalmaz egy From (Felad) s egy To (Cmzett) fejrszsort. Az zenet rendelkezik egy Call-ID-vcl (Hvs-azonostval), amely egyrtelmen azonostja a hvst (hasonl mdon, mint a inessage-ID - zenetazonost - az e-mail esetn). Rendelkezik tovbb Content-Type (Tartalom-tpus) fejrszsorral, amely meghatrozza a SIP-zenet tartalmt ler formtumot. A Content-l.ength (Tartalomhossz) sora megadja az zenet tartalmnak hosszt bjtokban. Az zenet kvetkez sorban pedig mr a tartalom kezddik. Esetnkben a tartalom informcii hordoz Alice IP-cmrl s arrl, hogy Alice hogyan szeretn fogadni a hangot.

Nvfordts cs a felhasznlk elhelyezkedse

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

79

A 7.14. brn felvzolt pldban azt feltteleztk, hogy Alice SIP-kpes eszkze ismeri azt az IP-cmet, amelyen Bobot el tudja rni. Ez a felttelezs azonban nem valszer, nem csupn azrt, mert az IP-cmeket gyakran dinamikusan osztjk ki DHCP felhasznlsval, hanem mert Bob tbb IP-kpes kszlkkel is rendelkezhet (pldul klnbz eszkzkkel az otthonban, az autjban s a munkahelyn). Ezrt most tegyk fel, hogy Ali- ce csupn Bob e-mail cmt ismeri, a bob@domain.com cmet, s ezt a cmet hasznlja a SIP-alap hvsokhoz is. Ebben az esetben Alice-nek meg kell tudnia a bob@domain.com cm felhasznl ltal jelenleg hasznlt eszkz IP-cmt. Ehhez Alice egy INVITE zenetet hoz ltre, amely INVITE bob@domain.com SIP/2.0 sorral kezddik, s elkldi egy SlP-he- lyettesnek (SP proxy). A helyettes egy SIP-vlaszzenettel lelel, amely tartalmazhatja a bob@domain.com ltal jelenleg hasznlt eszkz IP-cmt, vagy tartalmazhatja egy web- oldal URL-jt (amely szerint Bob alszik. Hagyj bkn!). A helyettes vlasza a hv fltl is fgghet: ha a hv fl Bob felesge, akkor elfogadja a hvst s visszaadja Bob IP-cmt; ha a hv fl Bob anysa, akkor a vlasz az az URL, amelyik az Alszok weboldalra mutat. A kedves olvas mostanra mr biztos clgondolkozott azon, hogy a helyettes szerver vajon honnan tudja bob@domain.com jelenlegi IP-cmt? Ennek megvlaszolshoz ejtennk kell pr szt egy msik SIP-kpes eszkzrl, a SIPnyilvntartrl (SP regist- rar). Minden SIP-felhasznlhoz rendelnek egy nyilvntartt. Minden esetben, amikor a felhasznl egy SIP-alkalmazst indt egy eszkzn, az alkalmazs egy SIP-nyilvntart zenetet kld a nyilvntartnak, informlva t a jelenlegi IP-cmrl. Abban az esetben pldul, amikor Bob elindt egy SIP-alkalmazst a PDA kszlkn, az alkalmazs egy zenetet kld a kvetkez sorokkal:

REGISTER sip:domain.com SIP/2.0 Via: SIP/2.O/UDP 193.64.210.89 From: s i p : bob@domain.com T o : s i p : bob@domain.com E x p i r e s : 3600
Bob nyilvntartja nyomon kveti Bob aktulis IP-cmt. Minden esetben, amikor Bob SI p -kpes kszlket cserl, az j kszlk j nyilvntart zenetet kld, jelezve az j IP-cmt. Mg abban az esetben is, ha Bob hosszabb ideig ugyanannl a kszlknl marad, a kszlk nyilvntarts-frisstsi zeneteket kld rtestskppen, hogy a leg- utb kldtt IP-cm mg mindig rvnyes. (A fenti pldban 3600 msodpercenknt kell frisstsi zeneteket kldeni annak rdekben, hogy a nyilvntart szerver ne dobja el a cmet.) rdemes megjegyezni, hogy a nyilvntart mkdse analg a DNS hitelest nvszolgltat mkdsvel: a DNS-szerver lland hosztneveket fordt meghatrozott IPcmekre; a SIP-nyilvntart pedig fix szemlyi azonostkat (pldul bob@domain. com) fordt dinamikus IP-cmekre. A SIP-nyilvntartk s helyettestk gyakran ugyanazon a hoszton futnak. Vizsgljuk meg, hogy az Alice SIP-helyetteslje hogyan szerzi meg Bob aktulis IP-c- mt. Az elzekben lertak szerint a helyettes szervernek csupn annyit kell tennie, hogy elkldi Alice INVITE zenett Bob nyilvntartjhoz/helyettestjhez. Ezutn a nyilvntart/helyettest tovbbtja az zenetet Bob ppen hasznlatban

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

80

lv SIP-kpes kszlkhez. Vgl Bob, Alice INVITE zenett megkapva, SIPvlaszzenetet kld Alice-nek. Pldaknt tekintsk a 7.15. brt, amelyenjim@umass.edu ppen a 217.123.56.89 IP-cm gpen dolgozik, s szeretne IP-hlzaton keresztli beszdtvitelt (VoIP) kezdemnyezni keith@upenn.edu-val, aki pp a 197.87.54.21 IP-cmmel rendelkez eszkzn dolgozik. A kvetkez lpsek trtnnek: (1) Jim INVITE zenetet kld az umass SIP-helyettesnek. (2) A helyettes DNS-keresst hajt vgre az upenn.edu SIP-nyilvntartn (az brn nem
SIP-nyilvntart upenn.edu

SIP-helyettes umass.edu

SIP-nyilvntart eurcom.fr

7.15. bra. Viszonyfelpts SIP-helyetteseks -nyilvntartkkzremkdsvel

SIP-klIens 217.123.56.89

SIP-kliens 197.87.54.21

lthat), majd tovbbtja az zenetet a nyilvntart szerverhez. (3) Mivel keith@upenn. edu mr nincs nyilvntartva az upenn nyilvntartnl, az upenn nyilvntart tirnyt vlaszt kld, amely jelzi, hogy a helyettes prblkozzon a keith@eurecom.fr cmmel. (4) Az umass helyettest INVITE zenetet kld az eurecom SIP-nyilvntartnak. (5) Az eurecom nyilvntart ismeri keith@eurecom.fr IP-cmt, s tovbbtja az INVITE zenetet a 197.87.54.21 cm hosztnak, amelyen Keith SIP-kliense fut. (6-8) A nyilvntartkon/ helyetteseken keresztl egy INVITE zenet visszajut a 217.123.56.89 cmen tallhat SIP- klienshez. (9) A mdiaforgalom kzvetlenl a kt eszkz kztt zajlik. (A folyamat sorn egy SP hvsi fogadsi (nyugta-) zenet is ltrejn, amely az brn nincs feltntetve.) A SIP-rl szl lersunkat a beszdhvsok kezdemnyezsre fkuszltuk. Mivel a SP ltalban hvsok kezdemnyezsre s befejezsre szolgl jelzsi protokoll, ugyangy hasznlhat videokonferencia-hvsok esetn, mint szvegalap viszonyoknl. A gyakorlatban a SP szmos azonnali zenetkld alkalmazs alapvet rszv vlt. Azok az Olvask, akik tbbet szeretnnek megtudni a SP protokollrl, ltogassk meg Henning Schulzrinne SP weboldalt

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

81

[Schulzrinne-SIP 2007]. Ezen az oldalon tallhatnak nylt for rskd SIP-kliens s -szerver megvalstsokat [SP Software 2007].

7.4.4. 1H.323
A SP alternatvjaknt, az internetes vgrendszerek krben a H.323 egy msik npszer szabvny vals idej hang- s videokonferencik lebonyoltsra. A 7.16. brn lthat, hogy a szabvny azt is trgyalja, hogy az internethez kapcsolt vgrendszerek hogyan kom

82

7. MUI.TIMDIA-HLZATOK

muniklhatnak a szoksos vonalkapcsolt telefonhlzatok telefonkszlkeivel (Annak ellenre, hogy ezt nem emltettk, erre a SP is kpes.) A H.323znavezrl a SlP-nyilvn- tarthoz hasonl eszkz. A H.323-szabvny egy ernyspecifikci, amely a kvetkez specifikcikat tartalmazza: A vgpontok kzs audio-/videokdol*snak megtrgyalsra szolgl specifikci. Mivel a H.323 szmos klnbz hang- s videokdolsi szabvnyt tmogat, a vgpontoknak meg kell egyeznik egy protokoll segtsgvel a kzs kdolsban annak rdekben, hogy lehetv tegyk a kommunikcit. A hang- s videotredkek csomagokba gyazst s tvitelt ler specifikci. A gyakorlatban a H.323 erre a clra az RTP protokollt hasznlja. A vgpontok s a hozzjuk tartoz znavezrlk kztti kommunikci specifikcija. Az internetes telefonok s a hagyomnyos PSTN hlzatbeli telefonok kztti tjrn keresztli kommunikci specifikcija. A H.323-vgpontoknak mg a legrosszabb esetben is tmogatniuk kell a G.711 beszdtmrt szabvnyt. A G.711 ajnls PCM-kdolst hasznl digitalizlt beszd ellltsra 56 kb/s vagy 64 kb/s esetn. Annak ellenre, hogy a H.323 elrja, hogy minden vgpont beszdkdols-kpes legyen (G.711 hasznlatval), a vide tvitelnek lehetsge nem ktelez. Mivel a videotmogats nem ktelez, a vgberendezsek gyrti eladhatnak egyszerbb beszdtvitelre kpes berendezseket, valamint olyan berendezseket is, amelyek a hang s a vide tvitelt is tmogatjk. Egy H.323-kpes vgpont videotmogatsa nem ktelez. Abban az esetben viszont, ha egy vgpont tmogatja a videotvitelt, akkor kte lezen ismernie kell a QCIF H.264 (174 x 144 kppont) videoszabvnyt. A H.323 tfog ernyspeciikci, amely a fenti szabvnyok s protokollok mellett felhasznlja a H.245 vezrlprotokollt, a Q.931 jelzsi csatornt s a RAS protokollt, hogy a znavezrlnl regisztrltassa magt.
Znavezrl

Telefonhlzat

7.4. VALS

Internet

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

83

H.323-vgpontok

Telefonkszlkek

7.16. bra. Az internethez csatlakoztatott H.323-vgrendszerek kpesek a vonalkapcsolt


hlzatok telefonkszlkeivel kommuniklni

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

84

Ezt a fejezetet a } 1.323 s a SP kztti klnbsgek kiemelsvel fejezzk be. A H.323 multimdia-konferencik lebonyoltsra szolgl teljes, fgglegesen integrlt protokollgyjtemny: jelzs, regisztrls, belpsellenrzs, szllts s kdolsi eljrsok. Ezzel ellenttben, a SP csupn a viszony felptsrt s felgyeletrt felels, egyetlen komponensknt. A S P egyttmkdik az RTP-vel, de nem tartalmazza azt. Ugyangy nem tartalmazza, m egyttmkdik a G.711 hangkodekkel s a QCIF H.261 video- kodekkel is. Ms protokollokkal s szolgltatsokkal egytt is hasznlhat. A H.323 az 1TU- (telefon) szervezet szabvnya, a SIP-et viszont az 1ETF hozta ltre, valamint sok ms elkpzelst klcsnvesz a webtl, a DNS-tl s az internetes e-mail-tl. A H.323 egy ernyszabvny, amely sszetett, s sok mindenre kiterjed. A SP a KISS elvet hasznlja: keep it simple, stupid vagy keep it short and simple (tervezd rvidre s egyszerre, ne bonyoltsd feleslegesen).

7.5. Tbbfle szolgltatsi osztly lehetv ttele


Az elz fejezetekben megtanultuk, hogy a mai internetes multimdis alkalmazsoknl hogyan hasznlhatak a sorszmok, idblyegek, a FEC, az RTP s a H.323. A CDN-h- lzatok segtsgvel a teljes rendszerben megoldhat a multimdis tartalom sztosztsa. Elegendek-e csupn ezek az eljrsok nmagukban, hogy olyan megbzhat s robusztus multimdis alkalmazsokat tmogassanak, mint az IP telefonos szolgltats, amely pontosan ilyen alkalmazst jelent a mai interneten? Mieltt e krdst megvlaszolnnk, szeretnnk felidzni, hogy a mai internet legjobbra trekv szolgltatst nyjt az alkalma zsoknak; ez azt jelenti, hogy az alkalmazsok szmra nem gr semmifle QoS-szolgl- tatst. Az alkalmazs olyan szint teljestmnyt kap (pldul vgpontok kztti ksleltetsi szintet s csomagvesztsi szzalkot), amilyet a hlzat az aktulis pillanatban nyjtani tud. Idzzk fel azt is, hogy a mai internet nem teszi lehetv a ksleltetsrzkeny multimdis alkalmazsok szmra, hogy klnleges bnsmdban rszesljenek. Mivel minden csomagot, belertve a ksleltetsrzkeny hang- s videocsomagokat is, egyenlen ke zelnek az tvlasztk, az ppen folyamatban lev IP-telefonhvsok minsgnek romba dntshez bven elegend a megfelel mennyisg tkz forgalom (azaz hlzati torlds), ezltal szreveheten nvekszik az IP-telefon hvsban rzkelhet ksleltets s a csomagveszts. Pontosan milyen tpus szolgltatsrl kell azonban gondoskodni abban az esetben, ha a cl olyan szolgltatsi modell ltrehozsa, amely az egy-mret-jmindenkinek tpus legjobbra trekv szolgltatsnl tbbet nyjt? Egy egyszer emelt szint szolgltatsi modell nem ms, mint a forgalom osztlyokba sorolsa, s a klnbz osztlyok szmra klnbz szint szolgltats biztostsa. Egy internetszolgltat pldul kpes a ksleltetsrzkeny IP-hlzaton keresztli beszdtvitel szmra magasabb szint szolgltatsi osztlyt biztostani (tbb pnzrt!), mint az olyan rugalmas forgalomnak, amilyen az FTP vagy a HTTP.

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

85

Mindannyian tisztban vagyunk a mindennapi let klnbz szolgltatsi osztlyaival - az els osztlyon utaz utasok a replgpen jobb szolgltatsokat kapnak, mint az zleti osztlyon utazk, akik pedig jobb szolgltatsokat kapnak, mint mi, akik a turistaosztlyon utazunk; a VIP-szemlyek azonnal bejutnak olyan helyekre, ahov mi csak sorban llssal mehetnk be; az idseket klnsen tisztelik nhny orszgban, tiszteletbeli helyeket kapnak rendezvnyeken s a legjobb telt az asztaloknl. Fontos, hogy az ilyen megklnbztetett szolgltatsok forgalomcsoportokra vonatkoznak, pldul forgalmi osztlyokra, nem pedig egyedi kapcsolatokra. A replgpen pldul az els osztlyon utazk ugyanabban a bnsmdban rszeslnek (egyik els osztly utas sem kap jobb bnsmdot, mint egy msik els osztly utas) ugyangy, ahogy minden VoIP-csomagot egyenlen kezelnek egy hlzaton bell, fggetlenl attl, hogy mely vgpontok kztti kapcsolathoz tartoznak. Amint ltni fogjuk, azzal hogy sok egyedi kapcsolat helyett kisszm forgalmi csoporttal foglalkozunk, a legjobbra trekvnl jobb szolgltatsokat nyjt j hlzati eljrsok viszonylag egyszerek maradnak. A korai internet tervezinek nyilvn megvolt az elkpzelsk a tbbosztly szolgltatsokrl. Emlkezznk csak a szolgltats tpusa mezre az IPv4-fejlcben a 4.13. brn. Az IEN123 [ISI 1979] lerja, hogy a ToS-mez az IPv4 egyik eldjben is ltezett a kvetkez mdon: A szolgltats tpusa [mez] egy jelzse azoknak a paramtereknek, amelyek a kvnt szolgltats minsgre vonatkoznak. Ezeket a paramtereket kell felhasznlni a tnyleges szolgltatsi paramterek kivlasztshoz, amikor az adatcsomagot tvisszk a hlzat egy bizonyos rszn. Szmos hlzat biztost fontossgi sorrendet a szolgltatsokban, amely valamilyen mdon az elbbre sorolt forgalmat fontosabbnak kezeli, mint az tbbi forgalmat. Mr hrom vtizeddel ezeltt is tisztban voltak azzal az elkpzelssel, hogy klnbz osztly forgalmak szmra eltr osztly szolgltatsokat nyjtsanak. Neknk azonban ugyanilyen hossz id kellett ahhoz, hogy megvalstsuk ezt az elkpzelst. A vizsglatainkat a 7.5.1. alfejezetben nhny jelenet bemutatsval kezdjk, amelyek elremozdtjk a klnbz eljrsok bevezetsnek szksgessgt tbbosztly szolgltatsok biztostsra. Ezutn kt fontos tmakrt rintnk adatkapcsolati szint temezs s csomagosztlyozs a 7.5.2. alfejezetben. A 7.5.3. alfejezet pedig a Diffserv-tmrl szl - az internet megklnbztetett szolgltatsokat nyjt jelenlegi szabvnyairl.

7.5.1. Motivcis forgatknyvek


A 7.17. bra egy egyszer hlzati elrendezst brzol. legyk fel, hogy az egyik LAN-on belli Hl s H2 hosztoktl ered kt csomag halad egy msik LAN-ban elhelyezked 113 s H4 hoszt fel. A kt LAN tvlasztja kzt egy 1,5 Mb/s sebessg adatkapcsolat van. Felttelezzk, hogy a LAN-ok bels sebessgei lnyegesen nagyobbak, mint 1,5 Mb/s, s az R tvlaszt kimen sorra sszpontostunk; itt fog elfordulni a ksleltets s a csomag- veszts, ha a Hl s H2 egyttes sebessge meghaladja az 1,5 Mb/s-ot. Most tekintsnk t nhny forgatknyvet, amelyek mindegyike fontos indokot tartalmaz arra vonatkozan, hogy meglthassuk, mirt szksgesek a tbbszint szolgltatsi osztlyok tmogatst clz klnleges eljrsok.

7.4. VALS

IDEJ INTERAKTV ALKALMAZSOK PRO TOKOLLJAI

86

1. forgatknyv: Egy 1 IVlb/s sebessg audioalkalmazs s egy FTP-szerver


Az I. forgatknyvet a 7.18. bra mutatja. Egy 1 Mb/s sebessg audioalkalmazs (pldul CD-minsg hanghvs) osztozik az R s R2 kztti 1,5 Mb/s-os adatkapcsolaton egy FTP-szerverrel, amely egy fjlt msol t H2-rl H4-re. A legjobbra trekv internet esetn a hang s az FTP-csomagok sszekeverednek az R kimen sorban s (ltalban)

87

7. MUI.TIMDIA-HLZATOK

R - l ss
1,5 Mb/s sebessg ' v vL adatkapcsolat % ^ R2

t *

R1 kimen sora

7.17. bra. Egy egyszer hlzat kt alkalmazssal


FI FO-sor rendben kerlnek tvitelre. Ebben a forgatknyvben egy FTP fell rkez csomaglket teljesen feltltheti a sort, az IP-audiocsomagok nagy ksleltetst s csomag- vesztsi arnyt okozva az R puffernek tlcsordulsa kvetkeztben. Hogyan tudnnk megoldani ezt a lehetsges problmt? Mivel az FTP-alkalmazsnak nincs idkorltja, az els tletnk az lehel, hogy Rl-nl az audiocsomagoknak nagy prioritst adunk. Egy szigor s fegyelmezett prioritsos temezs mellett R kimen pufferben egy audiocsomag mindig elbb kerlne tvitelre, mint brmely FTP-csomag. Az Rl s R2 kztti adatkapcsolat egy 1,5 Mb/s sebessg dediklt adatkapcsolat lenne a hangforgalom szmra, az FTPforgalom pedig csak akkor menne, ha a sorban nem llna audioforgalom.

^ .1,5 Mb/s sebessg

adatkapcsolat ^ ^

Annak rdekben, hogy Rl megklnbztethesse a sorban ll audio- s az FTPcso- magokat, minden csomagot meg keli jellni, hogy melyik forgalmi osztlyhoz tartozik. Ez volt az IPv4 szolgltats tpusa (ToS) mezjnek eredeti clja. Mivel ez egyrtelm, a tbbszrs forgalmi osztlyok biztostshoz szksges eljrsok kapcsn ez az els kvetkeztetsnk.

1. kvetkeztets: A csomagok megjellse lehetv teszi az tvlaszt


szmra, hogy a csomagokat klnbz forgalmi osztlyokba sorolja.

2.

forgalknyv: Egy 1 Mb/s sebessg audioalkalrnazs s egy

nagy priorits FTP-szerver


A 2. fogatknyvnk alig klnbzik az elztl. Tegyk fel, hogy amg az FTPalkal- mazst futtat felhasznl platina (azaz magasabb r) internethozzfrst vsrolt az internetszolgltatjtl, a hangalap alkalmazst futtat felhasznl csupn olcs, alacsony kltsg hozzfrst, amely a platinaszolgltats tredkbe kerl. Ebben az esetben elnyben rszestsk-e az olcs megoldst vlaszt felhasznl audiocsomagjait az FTP-csomagokkal szemben? Nem egyrtelm a nemleges vlasz. Esetnkben sszerbb megolds lehet, hogy a csomagokat a kld IP-cme alapjn klntsk el. ltalnosabban fogalmazva: lthatjuk, hogy egy tvlaszt szmra szksges a csomagok bizonyos kritriumok alapjn trtn csoportostsa. Ezek kvetkeztben enyhe mdostst kell tennnk az 1. kvetkeztetsnkben: 1. kvetkeztets (mdostva): A csomagok osztlyokba sorolsa lehetv teszi az tvlaszt szmra, hogy a csomagokat klnbz forgalmi osztlyokba sorolja. A csomagok explicit megjellse csupn egy mdszer a csomagok megklnbztetsre. A csomag ltal hordozott jells nmagban azonban nem jelenti azt, hogy a csomag egy adott minsg szolgltatsban fog rszeslni. A jells csupn egy eljrs a megklnbztetsre. Ha az tvlaszt a csomagokat a velk val klnbz bnsmd alapjn klnbzteti meg, akkor politikai dntsrl beszlnk.

3.

forgatknyv: Egy hibsan viselked audioalkalrnazs s egy

FTP-szerver
Tegyk fel, hogy az tvlaszt valahogyan (a ksbbi fejezetekben lert eljrsok segtsgvel) megllaptja, hogy az 1 Mb/s sebessg hangalap alkalmazs csomagjai rszre kell prioritst biztostania. Mivel a kimen adatkapcsolat sebessge 1,5 Mb/s, mg a kisebb priorits FTP-csomagok is tlagosan 0,5 Mb/s tviteli svszlessget kapnak. Mi trtnik viszont akkor, ha a hangalap alkalmazs 1,5 Mb/s vagy ennl nagyobb sebessggel kezdi el kldeni a csomagjait (akr szndkosan, akr az alkalmazsban lv hiba miatt)? Ebben az esetben az FTP-csomagok hezni fognak, azaz semmilyen szolgltatatsban sem rszeslnek az R1-R2 adatkapcsolatban. I Iasonl problmk fordulhatnak el abban az esetben is, ha tbb azonos priorits alkalmazs (pldul egyszerre tbb hanghvs) osztozik egy azonos adatkapcsolat svszlessgn; egyetlen nz

adatfolyam lecskkentheti, st rom-

ba dntheti a tbbi adatfolyam teljestmnyt. Idelis esetben ahhoz, hogy egy adatfolyamot megvdjnk egy msik hibsan mkd adatfolyamtl, olyan fok elszigetelsre van szksg, amely ltal garantlhat a csomagok osztlyok kztti megklnbztetse, s az esetleges azonos forgalmi osztlyba tartoz adatfolyamok kztti megklnbztetse. Az azonos forgalmi osztlyba tartoz adatfolyamok egymstl val megvdsnek elkpzelse ellentmond azon korbbi megfigyelsnknek, miszerint az azonos osztlyba tartoz csomagokat azonos mdon kell kezelni. Valjban a csomagokat a hlzat bels rszben elhelyezked tvlasztknl egyenl mdon kezelik. A hlzat szln azonban azrt, hogy egy adatfolyam sszestett sebessge ne haladjon meg egy megadott rtket, az egy adatfolyamon belli csomagokat is ellenrzik. Ezek a megfontolsok adjk a msodik kvetkeztetsnket: 2. kvetkeztets: Ajnlott az adatfolyamok, valamint a forgalmi osztlyok kztt bizonyos fok elszigetelst biztostani annak rdekben, hogy egy osztlyt vagy adatfolyamot ne rinthesse htrnyosan egy msik osztly vagy adatfolyam hibs mkdse. A kvetkez alfejezetben megvizsglunk nhny specilis eljrst, amely alkalmas a forgalmi osztlyok, valamint az adatfolyamok kztti elklntsre. Megjegyezzk, hogy kt f megolds ltezik. Az els megolds a forgalom ellenrzse (traflic police), amelyet a 7.19. bra is bemutat. Abban az esetben, ha a forgalmi osztlynak vagy az adatfolyamnak egy meghatrozott kvetelmnynek kell megfelelnie (pldul, hogy a hangfolyam ne ha ladja meg az 1 Mb/s-os cscssebessget), akkor valamilyen ellenrz eljrst alkalmaz-

R1

Jells:

Csomagjells s ellenrzs

1,5 Mb/s sebessg adatkapcsolat

Mrs ellenrzs

j
Megjellsek

hatunk. Az ellenrztt alkalmazs hibs mkdse esetn az ellenrzsi eljrs lpseket tesz (pldul eldobja vagy kslelteti a kvetelmnyt megsrt csomagokat) azrt, hogy a hlzatba belp tnyleges forgalom megfeleljen a kvetelmnynek. A kvetkez fejezetben bemutatott lyukas vdr (leaky bucket) eljrs taln a legszlesebb krben alkalmazott ellenrzsi eljrs. A 7.19. brn a csomagosztlyozs s a jellsi eljrs (1. kvetkeztets), valamint az ellenrzsi eljrs (2. kvetkezfets) egytt helyezkedik el a hlzat szln, egyrszt a vgrendszernl, msrszt egy szls tvlasztnl. Egy msik megolds a forgalmi osztlyok s folyamok kztti elklnts megvalstsra az adatkapcsolat-szint csomagtemezs (link-level packetscheduling mechanism) gy, hogy minden osztly s adatfolyam szmra lland svszlessget foglalunk le. A hangfolyam szmra lefoglalhatunk pldul az Rlnl 1 Mb/s-ot, az FTP-folyam szmra pedig 0,5 Mb/s-ot. Ebben az esetben a hangfolyam s az FTP-folyam a 7.20. bra szerint egy-egy logikai adatkapcsolatot lt 1,0 s 0,5 Mb/s sebessggel. A svszlessg adatkapcsolat-szint lefoglalsnak szigor vgrehajtsval egy osztly vagy adatfolyam csupn a szmra lefoglalt svszlessget hasznlhatja; gyakorlatilag nem tud olyan svszlessget felhasznlni, amelyet ms ugyan nem hasznl, de nem a szmra van lefoglalva. Abban az esetben pldul, ha a hangfolyam megsznik (a beszl sznetet tart, s nem keletkeznek csomagok), az FTP-folyam akkor sem lenne kpes 0,5 Mb/s-nl nagyobb sebessggel adatot tvinni az R1-R2 kapcsolaton, annak ellenre, hogy a hangfo lyam 1 Mb/s-os svszlessge ppen nincs hasznlatban. Szksg van teht a svszlessg lehet leghatkonyabb kihasznlsra olyan mdon, hogy egy osztly vagy adatfolyam szmra lehetv vljon egy ms ltal ppen kihasznlatlan svszlessg felhasznlsa. E megfontolsbl szletett a harmadik kvetkeztetsnk: 3. kvetkeztets: Az osztlyok, illetve adatfolyamok kztti elklnts mellett szksg van az erforrsok (pldul adatkapcsolatok svszlessge, pufferek) lehet leghatkonyabb kihasznlsra.

R1

1,0 Mb/s sebessg logikai adatkapcsolat .

lif;j 1,5 Mb/s sebessg adatkapcsolat

*
0,5 Mb/s sebessg logikai adatkapcsolat

7.5.2. temezsi s ellenrzsi eljrsok


Most, hogy mr bepillantst nyertnk azokba az eljrsokba, amelyek a klnbz szolgltatsi osztlyok biztostshoz szksgesek, vizsgljuk meg a kt legfontosabb eljrst - az temezst (scheduling) s az ellenrzst (policing) rszletesen.

temezsi eljrsok
Az 1.3. s 4.3. a 1 fejezeteket felidzve, a klnbz hlzati adatfolyamokhoz tartoz csomagok valamelyik adatkapcsolat kimen pufferben kerlnek a vrakozsi sorba, s ott trtnik a nyalbolsuk az tvitel eltt. Azt a mdszert, ahogyan a sorban ll csomagokat kivlasztjk az adatkapcsolaton trtn tvitelre, adatkapcsolat-temezsnek nevezzk. Nzznk meg a legfontosabb adatkapcsolat-temezsek kzl nhnyat rszletesebben. Elsknt be, elsknt ki (FIFO) A 7.21. bra egy absztrakci a FIFO (first-in-first-out) adatkapcsolat-temezs sorbn- llsi modelljrl. Az adatkapcsolat kimenetre rkez csomagok vrni knyszerlnek, ha az adatkapcsolat ppen egy msik csomag tvitele miatt foglalt. Abban az esetben, ha a berkez csomag szmra nincs elegend hely a pufTerben, a sor csomageldobsra vonatkoz irnyelve (packet-discarding policy) meghatrozza, hogy a berkez csomagot dobja el (s ez elveszik) vagy ms csomagokat tvoltson-c el a sorbl azrt, hogy a berkez sz mra helyet szabadtson fel. Az albbiakban a csomageldobst nem vesszk figyelembe. Amikor a csomag tvitele az adatkapcsolaton teljes mrtkben befejezdik (azaz megkapja a megfelel szolgltatst), kikerl a vrakozsi sorbl.

Vrakozsi sor (vrakozsi terlet)

Adatkapcsolat (Szerver)

7.21. bra. A FIFO sorbon lls vzloto A FIFO (rkezsi sorrend szerinti temezs, first-come-first-served, FCFS nven is ismert) temezsi mdszer a csomagokat olyan sorrendben vlasztja ki elkldsre, ahogyan azok az adatkapcsolat kimen vrakozsi sorba megrkeztek. Mindannyiunknak ismers lehet a FIFO vrakozsi sor a buszmegllk kapcsn (klnsen Angliban, ahol a sorban llsi tkletesre fejlesztettk) vagy ms szolgltatsi kzpontok kapcsn, ahol az rkez gyfl az egyetlen sor vgre ll be, megtartva a helyt halad elre, majd kiszolgl jk, amint elrte a sor eleit. A 7.22. bra mutatja a FIFO-t mkds kzben. A csomagok rkezst a fels idvonalon lthat szmozott nyilak jellik, ahol a szmok a csomagok rkezsi sorrendjt mutatjk. A csomagok tvozsa az als idvonalon lthat. A csomagok kiszolglshoz (tvitelhez) szksges idket a kt idvonal kztt elhelyezked satrozott tglalapok jellik. A FIFO-kiszolgls kvetkeztben a csomagok az rkezsk sorrendjben tvoznak. Figyeljk meg, hogy a 4. csomag tvozsa utn az adatkapcsolat kihasznlatlan marad (mi-

Id

H !-
Id

rkezsek Kiszolgls csomag

Tii H iiiii--------------------------1---1-----1------i
m m. B

alatt ll 13! f=0 f = 2 i = 4 f = 6 f = 8 [ f = f 10


Tvozsok

H 1----------1------1------!------1------1------1-----1--------1-----1-------1-------= 4 r= b f = f = l f = 12 t= 14

r= 12 t = 14

40 im m 7.22. bra. A FlFO-temezs mkds kzben

mm

vei az els ngy csomag tvitele befejezdtt, s a csomagok tvoztak a sorbl) az 5. csomag megrkezsig. Prioritsos sorba llts A prioritsos (fontossgi sorrend szerinti) sorba llts (priority queuing) esetn a 7.23. brn lthat mdon a berkez csomagokat fontossgi osztlyokba soroljk a kimenet vrakozsi sorban. Az elz fejezetben lertak szerint a csomag fontossgi osztlya fgghet a fejrszben hordozott jellstl (pldul az IPv4csomag ToS-fej rszmez rtktl), a forrs vagy cl IP-cimtl, a forrsport szmtl vagy egyb kvetelmnytl. Tipikusan minden fontossgi osztly sajt vrakozsi sorral rendelkezik. Amikor a csomagok elkldsre kivlasztdnak, a prioritsos sorba lltsi eljrs a legnagyobb, nem res vrakozsi sorral rendelkez prioritsi osztlybl vlaszt csomagot (azaz abbl, ame lyiknek van kiszolglsra vrakoz csomagja). Azonos prioritsi osztlyban a kiszolgls rendszerint ITFO-elv szerint mkdik. A 7.24. bra illusztrlja a kt fontossgi osztllyal rendelkez prioritsos sorba llts mkdst. Az 1., 3. s 4. csomag a nagyobb prioritsi osztlyba tartozik, mg a 2. s az 5. csomag a kisebbe. Az 1. csomag rkezsekor az adatkapcsolat kihasznlatlan, gy a csomag tvitele azonnal elkezddik. A kiszolgls kzben megrkezik a 2. s a 3. csomag, s rtelemszeren bekerlnek a kis, illetve a nagy priorits osztlyba. Az 1. csomag tvitele utn a 3. (nagy priorits) csomag kerl kivlasztsra a 2. csomaggal szemben (amely an-

Nagy priorits vrakozsi sor (vrakozsi terlet)

Kis priorits vrakozsi sor (szerver) (vrakozsi terlet)

Ft, i ? ISI
rkezsek ! j I j j Id

*-----1-----1------1------1----1-----1------I-------------1-----1-----!-----1------f------1----Kiszolgls _____________ ________________ ________________________________ alatt lv


csomag

H h->

m m m, m
f = o

rr
r,= i2 r=14

Id

H 1-----------1-------1------1-------1--------

t= 2

Tvozsok

i i fii isi rr rV
r=4

t= 6

r=8

f = 10

4 5

7.24. bra. A prioritsos sorba llts mkdse nak ellenre, hogy korbban rkezett, kisebb prioritsi osztlyba tartozik). A 3. csomag tvitelnek befejezsekor a 2. csomag kiszolglsa kezddik meg. A 4. (nagy priorits) csomag a 2. (kis priorits) csomag kiszolglsa kzben rkezik meg. Egy nem megszak- tsos prioritsos sorba llts esetn a csomagok tvitelt nem lehet megszaktani, miutn az mr elkezddtt. Esetnkben a 4. csomag a vrakozsi sorba kerl, majd a 2. csomag tvitelnek befejezse utn kerl kiszolglsra. Krbejrsos s slyozott egyenl esly (WFQ) sorba llts A krbejrsos sorba llts (round robin queuing discipline) esetn a prioritsos sorba lltshoz hasonlan a csomagokat osztlyokba soroljk. Az elz esetnl ltott szigor fontossgi sorrend kiszolglssal szemben, a krbejrsos sorba lltsi temez folyamatosan vltoztatja a kiszolglst az osztlyok kztt. Az temezs legegyszerbb esetben elszr egy 1. osztly csomag kerl tvitelre, majd egy 2. osztly, majd megint egy 1. osztly, ezutn jra 2. osztly, s gy tovbb. Egy gynevezett munkatakarkos sorba lltsi fegyelem esetben soha nem fordulhat el, hogy egy adatkapcsolat kihaszn latlan maradjon egszen addig, amg ltezik (brmelyik osztlyba tartoz) tvitelre vr csomag. A munkatakarkos krbejrsos sorba llts (work-conserving round robin discipline) abban az esetben, ha nem tall egy adott osztlyban csomagot, a krbejrsos temezs szerinti kvetkez osztlyban keres tovbb. A 7.25. brn kt osztllyal rendelkez krbejrsos sorba llts mkdse lthat. A pldban az 1., 2. s 4. csomag az 1. osztlyba, mg a 3. s 5. csomag a

2. osztlyba tartozik. Az 1. csomag tvitele a sorba rkezse utn azonnal elkezddik. A 2. s 3. csomag az 1. csomag kiszolglsa kzben rkezik, gy bellnak a vrakozsi sorba. Az tvitel befejse- kor az adatkapcsolat temezje egy 2. osztlyba tartoz csomagot keres, gy a 3. csomagot vlasztja ki tvitelre. A 3. csomag tvitele utn az temez egy 1. osztly csomagot keres, gy a 2. csomag kiszolglst kezdi meg. Ennek befejezse utn a 4. csomag az egyetlen sorban ll csomag; ezrt ennek tvitele azonnal elkezddik a 2. csomag utn. A slyozott egyenl esly .sorba llts (weighted fair queuing, WFQ) a krbejrsos sorba lltsi temezs egyfajta ltalnostsa, amely igen jl hasznlhat a QoS-archi- tektrk esetn [Demers 1990; Parekh 1993]. A WFQ illusztrcija a 7.26. brn lthat. A berkez csomagok a megfelel osztlyhoz tartoz vrakozsi terleten llnak be a sorba. A krbejrsos sorba lltsi temezshez hasonlan a WFQ-temez is krkrs mdon szolglja ki az osztlyokat - elszr az 1. osztlyt, majd a 2. osztlyt, vgl a 3. osztlyt, ezek utn pedig (felttelezve, hogy sszesen hrom osztly van) visszatr a ki-

m mm m
rkezsek

rr
Id

T1
Kiszolgls

1---1---1---1- -fI- -1---1---1---1---f

H- -1

Id 1 -------1------!------1------1------1 ------- -------1 f = 2 f = 4 t= 6 1 =0

ii

-------1------1------1 ii -------1 f = 10 f.= 12 f =8| i i

if f= 14 ------* 5

B8 ! 3 csomag

t
Tvozsok

7.25. bra. A kt osztllyal rendelkez krbejrsos sorba llts mkdse szolgls sorrend elejre. A WFQ szintn egy munkatakarkos sorba lltsi fegyelem, gy res osztly esetn azonnal a kiszolglsi sorozat kvetkez osztlyra ugrik.

A WFQ abban klnbzik a krbejrsos sorba lltsi temezstl, hogy brmely idtartamot tekintve minden egyes osztly klnbz mrtk kiszolglsban rszesl. Rszletesebben kifejtve, minden i osztlyhoz rendelnk egy w slyt. A WFQ esetn minden olyan idintervallumban, amikor az / osztlybeli csomagok kerlnek tvitelre, az /. osztly a szolgltats Wf I (wp mennyisgnek megfelel rszt kapja meg biztosan, ahol a nevezben tallhat sszegzs az sszes vrakoz csomaggal rendelkez osztlyra vonatkozik. Mg a legrosszabb esetben is, ha minden osztly rendelkezik vrakoz csomaggal, az /. osztly garantltan megkapja a teljes svszlessg w-J V, (wp rszt. gy az R tviteli sebessggel rendelkez adatkapcsolat esetn, az osztly mindenkpp kpes legalbb R x wj (w ; ) sebessget elrni. Az elzekben egy idelis WFQ-t mutattunk be, mivel nem vettk figyelembe azt, hogy a csomagok diszkrt adategysgek, s egy cso mag tvitelt egy msik csomag tvitelnek kezdete nem szaktja meg; [Demers 1990] s [Parekh 1993] ad bvebb lerst errl a csomagolsi krdsrl. A kvetkez alfejezetekben ltni fogjuk, hogy a WFQ kzponti szerepet jtszik a QoS-architekt rkban. Megtallhat a mai tvlaszt-termkekben is [Cisco QoS 2007].

Berkez csomagok osztlyozsa

Tvozsok

Adatkacsolat

7.5. TBBFLE

SZOLGLTATSI OSZTLY LEHETV TTELE

101

7.26. bra. Slyozott egyenl esly sorba llts (WFQ)

102

7. MULTIMDIA-HLZATOK

Ellenrzs lyukas vdrrel


A 7.5.1. a 1 fejezetbeli egyik kvetkeztetsnk az volt, hogy az ellenrzs, vagyis annak a sebessgnek a szablyozsa, amellyel egy osztly vagy adatfolyam (az albbi lersban azt felttelezzk, hogy az ellenrzs egysge az adatfolyam [flow] lesz) csomagokat kld a h lzatba, fontos QoS-eljrs. m az adatfolyam csomagsebessgnek mely vonatkozst kell ellenriznnk? Hrom fontos ellenrzsi kvetelmnyt llapthatunk meg, ezek a cso magfolyam ellenrzsnek idsklja szerint klnbznek egymstl:

tlagos sebessg. A hlzat korltozhatja a hossz tv ltagos sebessget (idintervallu-

monknti csomagok szmt), azaz amilyen gyorsan az adatfolyamok csomagjai a hl zatba rkezhetnek. Ebben az esetben kritikus krds az idintervallum, amely szerint az ellenrzst vgrehajtjuk. Az az adatfolyam, amelynek az tlagos sebessge msod percenknt 100 csomagra korltozdik, szigorbban korltozott, mint az a forrs, amelyiknek percenknt 6000 csomagot engednk, annak ellenre, hogy elg hossz idintervallumot figyelembe vve mindkett ugyanolyan tlagos teresztsi kpessg gel rendelkezik. Az utbbi megszorts pldul megengedi, hogy egy msodperc hosz- sz idintervallumban egy adatfolyam 1000 csomagot kldjn, mg az elbbi korltozs ezt a kldsi tulajdonsgot nem engedi meg. Cscssebessg. Amg az tlagos sebessgbeli megszortsok korltozzk a hossz tvon a hlzatba kldhet forgalom mennyisgt, a cscssebessg megszortsai a rvid tvon a hlzatba kldhet csomagok szmnak legmagasabb rtkt korltozzk. A fenti pldnkban elfordulhat, hogy a hlzat ellenriz egy adatfolyamot olymdon, hogy percenknt tlagosan 6000 csomagot enged be, m korltozhatja gy is, hogy az adatfolyam msodperenknt legfeljebb 1500 csomagot kldhet. Lkelmret. A hlzat azt is megmondhatja, hogy egy rendkvl rvid idinterval lum alatt legfeljebb mennyi csomagot (mekkora csomaglketet) lehet a hlzatba kldeni. Abban az esetben, ha az intervallum hossza nullhoz kzeli, ez a korlt meg mondja, hogy mennyi csomagot lehet egyidejleg a hlzatba kldeni. Annak elle nre, hogy az egyidej csomagklds nem lehetsges (mivel minden adatkapcsolatnak van fizikai sebessgkorltja), az elvonatkoztatott maximlis lketmret hasznos fogalom. A lyukas vdr mdszer absztrakci, amely ezen ellenrzsi korltozsok jellemzs re hasznlhat. A 7.27. brn lthat, hogy a lyukas vdr olyan vdr, amely b szm zsetont tud trolni. A zsetonok a kvetkez mdon jutnak be a vdrbe: az j zsetonok egy lland r zseton/msodperc sebessggel keletkeznek. (Az egyszersg kedvrt fel ttelezzk, hogy az idegysg a msodperc.) Abban az esetben, ha a vdrben b-nl kevesebb zseton van, akkor a keletkezsekor az j zseton beleesik a vdrbe; ellenkez esetben viszont az jonnan keletkezett zseton nem kerl be a vdrbe, s a vdrben tallhat vezrjelek szma b marad. Vizsgljuk most meg, hogy a lyukas vdr milyen mdon hasznlhat csomagfolyam ellenrzsre. Tegyk fel, hogy mieltt egy csomag bekerlne a hlzatba, elszr el kell tvoltania egy zsetont a zsetonok trolsra szolgl vdrbl. Abban az esetben, ha a vdr res, a csomagnak vrnia kell, amg rkezik egy zseton. (Msik megolds a csomag eldobsa lehetne, m ezt most figyelmen kvl hagyjuk.) Vizsgljuk meg, hogy ez a visel keds hogyan ellenrzi a forgalmat. Mivel legfeljebb b zseton lehet a vdrben, a lyukas

103

7. MUI.TIMDIA-HLZATOK

Oj Legfeljebb b zsetont / trolni kpes vdr


r zseton/msodperc

vdr ltal ellenrztt adatfolyam maximlis lketmrete b lehet. Tovbb, mivel a zsetonok ellltsi sebessge r, brmely hossz idintervallumban a hlzatba legfeljebb rt + b szm csomag rkezhet. Ennlfogva, az r zsetonellltsi sebessg korltozza azt a hossz tv tlagsebessget, amellyel a csomagok a hlzatba rkeznek. A lyukas vdrket arra is felhasznlhatjuk (klnsen, ha egyms utn kt lyukas vdrnk van), hogy a hossz tv llagsebessg mellett az adatfolyam cscssebessgt is szablyozzuk; lsd mg a fejezet vgn tallhat feladatokat. Lyukas vdr + slyozott egyenl esly sorba llts = bizonythat legnagyobb ksleltets egy vrakozsi sorban Hamarosan megvizsgljuk az gynevezett Intserv- s Diffserv-megoldsokat, amelyek alkalmasak szolgltatsminsg biztostsra az interneten. Ltni fogjuk, hogy mind a lyukasvdr-ellenrzs, mind pedig a WFQ-temezs fontos szerepet kap. Zrjuk ezrt ezt az alfejezetet azzal, hogy megvizsgljuk egy tvlaszt kimen adatkapcsolatt, amely n adatfolyamot nylbl, valamint minden adatfolyamra lyukasvdr-ellenrzs rvnyes b s r, i = 1,..., n paramterekkel, s WFQ-temezst hasznlva. Az adat folyam kifejezs alatt most olyan csomagok halmazt rtjk, amelyben lv csomagokat az temez nem klnbzteti meg egymstl. A gyakorlatban az adatfolyamot alkothatja akr egyetlen kt vgpont kztti sszekttets forgalma, vagy akr sok ilyen sszekttets gyjtemnye is. Az esetet a 7.28. bra illusztrlja. A WFQ-rl szl lersunkban lttuk, hogy minden egyes i adatfolyam szmra biztostott az adatkapcsolati svszlessg legalbb R x Wj/ (wj) rsze, ahol R az adatkapcsolat csomag/msodpercben mrt tviteli sebessge. Kzek utn krdezhetnnk, hogy mi az a legnagyobb ksleltets, amelyet egy csomag tapasztalhat, mikzben a kiszolglsra vr WFQ-nl (miutn thaladt a lyukas vdrn)? Koncentrljunk most az 1. adatfolyamra! legyk fel, hogy az 1. adatfolyam zsetonokat trol vdrje kezdetben tele van. Az 1. adat folyam lyukas vdr ellenrzjhez b{ csomaglket rkezik. Ezek a csomagok eltvoltjk az sszes zsetont a vdrbl (vrakozs nlkl), majd csatlakoznak az 1. adatfolyam WFQ vrakozsi terlethez. Mivel ezeket a csomagokat legalbb R x wj (wj) csomag/m-

104

7. MULTIMDIA-HLZATOK

7.28. bra. n darab nyalbolt lyukas vdr adatfolyama WFQ-temezssel


sodperc sebessggel szolgljk ki, az utols csomag legnagyobb ksleltetse d lesz, mire ennek az tvitele befejezdik, ahol

R x v i /wj
A kplet teht azt jelenti, hogy ha b{ csomagunk van a vrakozsi sorban, s ezeket legalbb R x wi iQwp csomag/msodperc sebessggel szolgljk ki (tvoltjk el a sorbl), akkor az utols csomag tvitelig eltelt idmennyisg nem lehet tbb, mint b\ /(R x w\ /(2,wp). Az egyik megoldand fejezetvgi feladatban be kell majd bizonytani, hogy rj < R x vi /Cwj) esetn dmiX valban a lehet legnagyobb ksleltets, amelyet brmely 1. adatfolyamban elhelyezked csomag tapasztalhat a WI'Q vrakozsi sorban.

7.5.3. Uiffserv
Az internetes DifFserv-architektra [RFC 2475; Kilkki 1999] a szolgltatsok differencilt (megklnbztetett md) nyjtst tzi ki clul - amely azt a kpessget jelenti, hogy az internet klnbz forgalmi osztlyait klnbz mdon kezelje s mindezt sklzhat s rugalmas mdon. A sklzhatsg kvetelmnye abbl a tnybl ered, hogy egymssal egyidejleg tbb szzezer forrs-cl kztti forgalom adatfolyama lehet jelen egy internetes gerinchlzati tvlasztnl. Rvidesen ltni fogjuk, hogy ezt a kvetel mnyt mr csupn az ltal is teljesteni lehet, hogy egyszer tbbletfunkcionalitst adunk a hlzati maghoz azzal, hogy jval sszetettebb vezrl mkdst valstunk meg a hl zat szln. A rugalmassg irnti igny pedig abbl a tnybl kvetkezik, hogy j szolglta tsi osztlyok jhetnek ltre, valamint rgiek vlhatnak elavultt. A DifFservarchitektra rugalmassga azt jelenti, hogy nem hatroz meg szolgltatsokat vagy szolgltatsi osztlyokat. ppen ellenkezleg, a DifTserv csupn a

7.5. TBBFLE

SZOLGLTATSI OSZTLY LEHETV TTELE 105 mkdshez szksges komponenseket szolgltatja, teht a hlzati architektra azon rszeit, amelyekkel a szolgltatsokat meg lehet valstani. Vizsgljuk meg most ezeket a komponenseket rszletesebben.

Megklnbztetett szolgltatsok: egy egyszer forgatknyv

Ahhoz, hogy bemutathassuk a megklnbztetett szolgltatsok (Diffserv) modelljnek szerkezeti rszeit meghatroz keretrendszert, kezdjk a 7.29. brn lthat egyszer h lzattal. Ebben az a 1 fejezetben lerjuk a Diffserv komponenseinek egyik hasznlati mdjt. Az RFC 2475 szabvnyban lertak szerint szmos ms felhasznls lehetsges. Clunk a Diffserv f szempontjainak bemutatsa, nem pedig az architektra modell kimert rsz letessg lersa. Azoknak az olvasknak, akik tbbel szertnnek megtudni a Dilfserv-architektrrl, ajnlott a tmra szleskren kitr [Kilkki 1999] knyv. A Diffserv-architektra kt funkcionlis elemhalmazbl ll:

Peremfunkcik: csomagosztlyozs s forgalomkondicionls. A hlzat

hatrn (vagy egy olyan DiTserv-kpes hosztnl, amely forgalmat generl, vagy az els olyan Diffserv- kpes tvlasztnl, amelyen a forgalom tmegy) a befel rkez csomagokat megjellik. Kicsit pontosabban ez azt jelenti, hogy a csomag fejrsznek megklnbztetett szolgltats (DS) mezjt valamilyen rtkre belltjk. Pldul a 7.29. brn a H 1-tl a H3-hoz kldtt csomagokat az R jelli meg, mg a H2-tl H4-hez kldtt csomagokat az R2. A jells, amelyet a csomag kap, jelzi, hogy melyik forgalmi osztlyba tartozik. A klnbz forgalmi osztlyok klnbz szolgltatsokat kapnak a hlzat belsejben. Magfunkcik: tovbbts. Abban az esetben, amikor a DS-mezben megjellt csomag egy Diffserv-kpes tvlaszthoz rkezik, a csomag tovbbtsa a kvetkez csomponthoz a csomag osztlyhoz rendelt csomagtovbbtskor kvlrl megfigyelhet viselkeds (per-hop behaviour) alapjn trtnik. A csomagtovbbtskor kvlrl megfigyelhet viselkeds befolysolja azt, hogy az tvlaszt puffere s svszlessge

7.26. bra. Slyozott egyenl esly sorba llts (WFQ)

Hl

Jells:

C R2 J tvlaszt VJ-KJy* tvlaszt a hlzat |x?rernn a hlzat Belsejben

hogyan oszlik meg a verseng forgalmi osztlyok kzlt. A Ditfservarchitektra alapelve az, hogy az tvlaszt csomagtovbbtskor kvlrl megfigyelhet viselkedse csupn a csomagok jellseitl fgg, azaz attl az osztlytl, amelyikbe a csomag tartozik. gy, ha a 7.29. bra szerint a Hl-tl a H3-fel kldtt csomagok ugyanazt a jellst kapjk, mint a H2-tl a H4-fel irnyul csomagok, akkor a hlzat sszevontan kezeli ket anlkl, hogy megklnbztetn a Hl, illetve a H2-tl ered csomagokat. Az R3 pldul nem klnten el a Hl-ti, illetve a H2-I1 ered csomago kat, amikor tovbbtja ket az R4 fel. gy a megklnbztetetl szolgltatsi architek tra megsznteti az tvlasztban fenntartott llapotok szksgessgt minden egyes forrs-cl prhoz - ez fontos tnyez az alfejezet elejn trgyak sklzhatsgi kve telmnyek elrse rdekben. Hasznos lehet itt egy analgia bemutatsa. Szmos nagyszabs kzssgi esemny (pldul egy nagy fogads, egy nagy tncklub vagy egy diszk, egy koncert vagy egy focimeccs) esetn a belp emberek valamilyen tpus jegyet kapnak: VIP a nagyon fontos szemlyek szmra; 18 v feletti jegyek azoknak a szemlyeknek, akik elmltak vagy ppen pontosan 18 vesek (alkoholos italok felszolglsa esetn pldul); sznpad mgtti jegyek a koncerteken; sajtjegyek az jsgrk szmra; s hagyomnyos belp az tlagemberek nek. Ezek a belpk ltalban az esemnyre trtn belpskor kerlnek kiosztsra, azaz az esemny szln. Itt, az esemny szln trtnnek a szmtsignyes mveletek, pldul a belpdj fizetse, a megfelel tpus meghv ellenrzse s a meghv rvnyestse a szemlyazonossg ellenrzse mellett. Tovbb elfordulhat, hogy bizonyos tpus szemlyek csupn korltozott szmban kapnak belpt az

esemnyre. Abban az esetben, ha ilyen korlt ltezik, az ilyen szemlyeknek vrniuk kell a belps eltt. Miutn mindannyian bejutottak, a klnbz szemlyek a klnbz belpik alapjn eltr szolgltats igny- bevtelre jogosullak - egy VIP kaphat ingyen italokat, jobb asztalt, ingyen telt, belpst nyerhet kizrlagos termekbe s udvarias kiszolglsban rszesl. Ezzel ellenttben, egy hagyomnyos szemly csupn alapszolgltatsokat kap. Mindkt esetben az esemny sorn az egyes embereket megillet szolgltatsok csupn a belpjk tpustl fggnek. Emellett az azonos osztlyba tartoz szemlyeket egyformn kezelik.

Diffserv-forgalomosztlyozs s -kondicionls
A 7.30. bra egy logikai nzett mutatja be a hlzat szln elhelyezked tvlasztkon belli osztlyozsnak s a jellsi funkciknak. A berkez csomagokat elszr osztlyozzk. Az osztlyoz a csomagokat egy vagy tbb fejrszmezjk alapjn vlasztja ki (pldul forrsportszm, forrscm, clcm, clportszm s protokollazonost), s a csomagot a megfelel jell eljrshoz irnytja. A csomag jellse az IPv4- vagy IPv6-fejrsz DS-mezjben tallhat [RFC 3260]. A DS-mez clja a 4. fejezetben trgyalt IPv4-szol- gltats tpusmezjnek s az IPv6 forgalomosztly mezjnek helyettestse. Nhny esetben a vgfelhasznl hozzjrul ahhoz, hogy a csomagkldsi sebessgt korltozzk annak rdekben, hogy alkalmazkodjon egy meghatrozott forgalmi profilhoz (traffic profile). A forgalmi profil megszabhatja a cscssebessg maximumt, vagy akr a csomagfolyam lketmrett, ahogyan azt korbban a lyukas vdr eljrsnl is lttuk. Addig, amg a felhasznl az adott forgalmi osztlynak megfelelen kldi a csomagokat a hlzatba, azok megkapjk a priorits jellsket, s tovbbtdnak a clirnyuk fel. Msfell, ha megsrtik a forgalmi profilt, a profilon kvli csomagok ms tpus je-

7.30. bra. A szls tvlaszt csomagosztlyozsnak s kondicionlsnak

logikai smja
llst kapnak, esetleg mdosulhatnak (pldul feltarthatok, gy egy maximlis sebessgkorlt lehetsges), vagy eldobdnak a hlzat szln. A 7.30. brn lthat mrsi funkci (metering function) feladata a bejv csomagfolyam s az adott forgalmi osztly sszehasonltsa, s annak megllaptsa, hogy a csomag a megfelel forgalmi osztlyon bell van-e. A tnyleges dnts, hogy a csomagot jra megjelljk, tovbbtjuk, ksleltetjk vagy eldobjuk, a hlzati rendszergazda ltal megllaptott hzirend krdse, a Diffserv-archi- tektra ezt nem hatrozza meg.

Egy csompont kvlrl megfigyelhet viselkedse csomagtovbbtskor


Egszen idig a Diffserv-architektra peremfunkciira koncentrltunk. A Diffservarchi- tektra msodik kulcsfontossg komponense a Difserv-kpes tvlasztk ltal vgrehajtott kvlrl megfigyelhet viselkeds (per-hop behavior, PHB). A PH B elg rejtlyes, de vatos meghatrozsa a kvetkez: egy Difserv-csompont kvlrl megfigyelhet csomagtovbbtsi viselkedsnek lersa, amelyet egy adott Diserv-viselkedscsoportra alkalmaznak (RFC 2475). Egy kicsit mlyebbre sva a definciban, szmos fontos megfontolst fedezhetnk fel:

Jelenleg ktfle PHB ltezik: egy srgs tovbbts PHB [RFC 3246] s egy biztos tovbbts PH B [RFC 2597]. A srgs tovbbts (expedited forwarding, EF) PH B megmondja, hogy egy forgalmi osztly tvozsi sebessge egy tvlaszttl nagyobb vagy egyenl legyen, mint egy elre belltott rtk. Ez azt jelenti, hogy a forgalmi osztly szmra brmely idintervallumban biztostott az elegend svszlessg ahhoz, hogy a forgalom kimen sebessge elrjen vagy akr meghaladjon egy elre belltott rtket. Figyeljk meg, hogy az FF PHB magban foglalja az osztlyok kztti elklnts nhny formjt, mivel a garancia biztostsa az tvlaszthoz rkez tbbi osztlytl fggetlenl trtnik, gy mg ha a tbbi osztly forgalma tltelti is az tvlasztt s az adatkapcsolat er forrsait, ezeknek az erforrsoknak bizonyos rszt akkor is elrhetv kell tenni az osztly szmra, hogy az megkapja a minimlis sebessgre vonatkoz garancit. Az EF teht egy minimlis svszlessg-garancival rendelkez adatkapcsolat egy egyszer absztrakcival rendelkz osztlyt biztostja. A biztos tovbbts (assured forwarding, AF) PHB ennl sszetettebb. Az AF ngy osztlyba sorolja a forgalmat, amelyek kzl mindegyik garantltan valamekkora minimlis svszlessgben s pufer kapacitsban rszesl. Minden osztlyon bell a csomagokat tovbb soroljk az eldobsi sorrend szerinti hrom kategria kzl valamelyikbe. Abban az esetben, ha egy AF osztlyon bell torlds lp fel, az tvlaszt a csomagokat a hozzjuk tartoz eldobsi sorrend rtkk alapjn dobja el. Tovbbi rszletek [RFC 2597]-ben tallhatk. Az osztlyokhoz rendelt erforrsok vltozta tsval, az ISP klnbz AF forgalmi osztlyok szmra eltr teljestmnyszintet tud biztostani.

Diffserv-visszatekintcs
Az elmlt 20 vben szmos prblkozs trtnt (ltalban sikertelenl) a csomagkapcsolt hlzatokon belli QoS bevezetsre. A sikertelensgek tbbnyire inkbb gazdasgi s jogi okokra vezethetk vissza, mintsem mszaki okokra. E prblkozsok kztt voltak a vgpontok kztti ATM-hlzatok s a TCP/IPhlzatok. Nzznk meg pr krdst, amely a Diffserv kapcsn felmerl (s amelyeket rviden a kvetkez fejezetben tanulmnyozunk majd). Eddig rtelemszeren azt tteleztk fel, hogy a Diffserv csupn egy adminisztratv krzeten bell kerlt teleptsre. A sokkal tipikusabb eset azonban az, hogy a vgpontok kztti szolgltatsokat tbb internetszolgltat befolysolja, amelyek a kommunikl vgrendszerek kztt helyezkednek el. Annak rdekben, hogy biztostani tudjuk a vg pontok kztti DifFservszolgltatsokat, a vgrendszerek kztti internetszolgltatknak nemcsak a szolgltatst kell biztostaniuk, hanem egytt is kell mkdnik, valamint meg kell llapodniuk annak rdekben, hogy az gyfeleknek igazi vgpontok kztti szolgltatsokat ajnlhassanak. Ilyen egyttmkds nlkl azok az internetszolgltatk, amelyek az gyfeleknek kzvetlenl ruljk a Diffservszolgltatst, gyakran mondogatjk majd, hogy Igen, tudjuk, hogy n tbb pnzt fizetett, de az egyik magasabb szint ISP-nkkel nincs szolgltatsi szerzdsnk.

Sajnljuk, hogy sok rs volt a VolP-hvsban! A Diffserv nmagban mg egy azonos adminisztratv krzetben sem elegend egy adott szolgltatsi osztlyhoz tartoz szolgltats minsgi garancijhoz. A Diffserv csupn lehetv teszi a klnbz szolgltatsi osztlyok szmra, hogy eltr szint teljestmnyt kapjanak. Abban az esetben, ha a hlzat jelentsen alultervezett, meg a nagy priorits forgalmi osztly sem kap elfogadhat teljestmnyt. Ezrt ahhoz, hogy sikeres legyen, a Diffserv mellett szksges mg a hlzat megfelel tervezse is (lsd 7.3.5. al- lejezet). A Diffserv-szolgltatssal azonban az internetszolgltat nagyobb hangslyt helyezhet a hlzat kapacitsnak nvelsre. Azltal, hogy az erforrsok a nagy priorits forgalmi osztlyok szmra brmikor elrhetek (a kis priorits osztlyok rovsra), az internetszolgltat ezen osztlyok szmra nagyobb teljestmnyt tud szolgltatni. Abban az esetben, amikor ezeket az erforrsokat a nagy priorits forgalmi osztlyok nem hasznljk, elrhetv vlik a kis prioritssal rendelkez osztlyok szmra is (amelyek felteheten ezrt az alacsonyabb szint szolgltatsrt kevesebbet is fizettek). A msik problma ezekkel a fejlett szolgltatsokkal az, hogy szksg lehet a forgalom ellenrzsre s esetleges mdostsra, amely viszont bonyolult s kltsges mvelet. A szolgltats elszmolst szksges lenne ms mdon elvgezni, inkbb a forgalom alapjn, mintsem lland havidjjal, amely a jelenlegi gyakorlat - ez az internetszolgltatk szmra egy msik kltsges kvetelmny. Vgl akkor, ha a Diffserv-szolgltats bevezetse utn, a hlzatban csupn mrskelt mrtk forgalom van, az id nagy rszben nem lenne rzkelhet klnbsg a legjobbra trekv szolgltats s a Diffserv-szol gltats kztt. Manapsg a vgpontok kztti ksleltets valban inkbb a hozzfrsi sebessgektl s az tvlasztk kztti ugrsok szmtl fgg, mintsem az tvlasztknl elszenvedett sorbanllsi ksleltetsektl. Kpzeljk csak el azt az elgedetlen gyfelet, aki fizetett a prmium szolgltatsrt, m azt tapasztalja, hogy a msok szmra nyjtott legjobbra trekv szolgltats majdnem mindig ugyanazt a teljestmnyt nyjtja!

7.6. Szolgltats minsgnek garancii


Az elz fejezetben megtanultuk, hogy a csomagok megjellse s az ellenrzs, a forgalom elklntse s az adatkapcsolati szint temezs kpes az egyik szolgltatsi osztly szmra egy msikkal szemben nagyobb teljestmnyt biztostani. Bizonyos temezsi fegyelem esetn - pldul a prioritsos temezs esetn - a kisebb priorits forgalmi osztlyok a legnagyobb priorits osztly szmra alapveten lthatatlanok. Megfelel hlzati tervezs mellett a legnagyobb priorits szolgltatsi osztly valban kpes lehet rendkvl alacsony csomagvesztst s ksleltetst elrni - lnyegben vonalkapcsols-sze- r teljestmnyt. Viszont az eddig bemutatott eljrsokkal a hlzat garantlni tudja-e azt, hogy a nagy priorits forgalmi osztlyba tartoz, folyamatban lv adatfolyamok a teljes idtartamuk alatt ugyanilyen szolgltatst kapjanak? Nem tudja. A fejezet kvetkez rszben megltjuk, mirt szksgesek tovbbi hlzati mechanizmusok s protokollok a szolgltatsminsgi garancik nyjtshoz.

7.6.1. Egy motivl plda


Trjnk vissza a 7.5.1. alfejezetben bemutatott jelenetnkhz, s kpzeljk el, hogy kt audioalkalmazs kldi t a csomagokat az 1,5 Mb/s sebessg adatkapcsolaton, ahogy az a 7.31. brn lthat. A kt adatfolyam sszestett sebessge (2 Mb/s) meghaladja az adatkapcsolat kapacitst. Ez a fellls mg osztlyozs, jells, adatfolyam-elklnts s a kihasznlatlan svszlessg megosztsa (amely gyakorlatilag nincs) esetn sem mkdkpes.

7.5. TBBFLE

SZOLGLTATSI OSZTLY LEHETV TTELE

87

Egyszeren nincs elegend svszlessg, hogy mindkt alkalmazst egyszerre szolgljuk ki. Abban az esetben, ha mindkt alkalmazs egyenl svszlessget kapna, csupn 0,75 Mb/s jutna mindkettjknek. Ms oldalrl kzeltve a dolgot, mindkt alkalmazs elveszten az tvitt csomagjainak 25 szzalkt. Ez annyira alacsony QoS, hogy egyik alkalmazs sem lenne hasznlhat. Ebben az esetben jobb, ha egyltaln nem kldenek csomagokat. Abban a 7.31. brn is lthat esetben, amikor is a kt alkalmazst nem lehet egy idben kiszolglni, mit csinljon a hlzat? Azzal, hogy rossz QoS mellett engedjk mindkettt tovbb mkdni, olyan hlzati erforrsokat pocskolunk el az alkalmazsok ltal kldtt adatfolyamokra, amelyek a vgfelhasznlk szmra hasznlhatatlanok. A vlasz szerencsre vilgos - az egyik alkalmazsfolyamot blokkolni kell (pldul megtagadjuk a hozzfrst a hlzathoz), amg a msikat tovbb engedjk mkdni az alkalmazs ltal ignyelt teljes 1,0 Mb/s-os svszlessg felhasznlsa mellett. A telefonhlzat megfelel plda egy ilyen hlzatra, amely hvsblokkolst vgez. Abban az esetben, ha a szksges erforrst (a telefonhlzatoknl pldul egy vgpontok kztti ramkrt) nem lehet lefoglalni, a hvst blokkoljk (megakadlyozzk a belpst a hlzatba), s a felhasznlhoz foglalt jelzst kldenek vissza. A pldnkban abbl, hogy a hlzatba olyan adatfolyamot engednk, amely nem kap elegend QoS-t, nem szrmazik semmilyen nyeresg. ppen ellenkezleg, az elgtelen QoS-sel rendelkez adatfolyamoka hlzatban kltsggel jrnak, mivel a hlzati erforrsokat olyan adatfolyam emszti fel, amely a vgfelhasznl szmra hasznavehetetlen. Abban az esetben, ha az adatfolyamokat a sajt erforrs-kvetelmnyk, valamint a mr engedlyezett adatfolyamok erforrs-szksgletei alapjn klsleg blokkoljuk vagy engedlyezzk, a hlzat garantlni tudja, hogy az engedlyezett adatfolyamok megkapjk a krt erforrsokat. A QoS garantlsnak szksgessge magban foglalja azt is, hogy az adat folyam meghatrozza a szmra szksges QoS-kvetelmnyekel. Azt a folyamatot, amelynek sorn az adatfolyam meghatrozza a sajt maga szmra szksges QoS kvetelmnyeit, majd rbzza a hlzatra, hogy t elfogadja-e (a krt QoS mellett) vagy blokkolja, hvsengedlyezsnek (call admission) nevezzk. A QoS-t biztost eljrsokkal kapcsolatban ez lesz a 4. kvetkeztetsnk (a 7.5.1. a 1 fejezetben lert tbbi kvetkeztetsnk mellett). 4. kvetkeztets: Abban az esetben, ha a mkdshez szksges erforrsok nem mindig elrhetk, m a QoS-t mindenkppen garantlni kell, hvsengedlyezs szksges, amelynek sorn az adatfolyamok meghatrozzk a sajt kvnt QoS-kvetelm- nyeiket, majd ezutn a hlzat annak fggvnyben vagy engedlyezi vagy blokkolja ket, hogy a krt QoSkvetelmnyeket tudja-e biztostani vagy sem.

7.6.2. Erforrs lefoglalsa, hvs engedlyezse, hvs felptse


A motivl pldnk rvilgtott arra, hogy szksgnk van szmos j hlzati mechanizmus s protokoll bevezetsre, ha egy folyamatban lv hvs

88

7. MUI.TIMDIA-HLZATOK

(vgpontok kztti adatfolyam) szmra adott minsg szolgltatst szeretnnk garantlni:

7.5. TBBFLE SZOLGLTATSI OSZTLY LEHETV TTELE

89

1 Mb/s ^ sebessg audiofolyam

m 1.5 Wb/s sebessg R2

vl
n Mb/S sebessg

adatkapcsolat

T "

audiofolyam

H2

H4

7.31. bra. Kt verseng audiocilkalmazs tlterheli az R1-R2 adatkapcsolatot mikor hozzfrhet ezekhez, a tbbi hvs erforrskrstl fggetlenl. Abban az esetben, ha egy hvs garancit kr s kap x Mb/s adatkapcsolati svszlessgre, s soha nem vgez 1 -nl nagyobb sebessg tvitelt, akkor csomagvesztstl s ksleltetstl mentes tviteli teljestmnyt tapasztal. Hvs engedlyezse. Az erforrsok lefoglalsa rdekben a hlzatnak rendelkeznie kell olyan mechanizmussal, amellyel a hvsok erforrsokat tudnak krni, s azokat le tudjk foglalni: ez a folyamat a hvsengedlyezs (call admission). Mivel az erforrsok nem vgtelen kapacitsak, azt a hvsengedlyezsi krst, amelyre nincs elegend erforrs, nem engedlyezzk (azaz blokkoljuk). Ilyen a telefonhlzat hvs engedlyezsi 1 Az egyetlen mdja annak, hogy egy hvs szmra garantljuk a kvnt QoS elrshez szksges erforrsokat (adatkapcsolati svszlessget, puffereket), hogy elre lefoglaljuk azokat a hvs szmra. Ezt a folyamatot a hlzatok nyelvn erforrs lefoglalsnak (resource reservation) neveznk. Miutn az erforrsokat lefoglaltuk a hvs szmra, a hvs idtartama alatt a hvs krsre - br-

Erforrs

lefoglalsa.

7.29. bra. Egyszer Diffserv-hlzati plda

90

7. MUI.TIMDIA-HLZATOK

mechanizmusa is - az erforrsokat a trcszskor krjk. Abban az esetben, ha a hvs teljestshez szksges ramkrk rendelkezsre llnak, lefogla lsra kerlnek, s a hvs teljesl. Ha az ramkr nem ll rendelkezsre, a hvs blokkoldig s foglalt jelzs hallhat a kzibeszcln. Egy blokkolt hvs jra prblkozhat az engedly megszerzsrt, m mindaddig, amg a hvsengedlyezsi folyamatot nem teljestette, nem kldhet forgalmat a hlzatba. Termszetesen,ahogyan mra 1.3.1. fejezetben ltott tterem menedzseresem fogadott cl az tterem asztalszmnl tbb foglalst, egy tvlaszt sem foglalhat le nagyobb svszlessget, mint amennyi az adatkapcsolaton elrhet. Egy hvs tipikusan a sv- szlessgnek csupn tredkt foglalja le, ezltal az tvlaszt egynl tbb hvs szmra is kioszthat svszlessget. Az sszes lefoglalt svszlessgnek azonban kevesebbnek kell lennie, mint az adatkapcsolat teljes kapacitsa. Hvskezdemnyez jelzs. A fent lert hvsengedlyezsi folyamat esetn egy hvsnak kpesnek kell lennie lefoglalnia a forrs-cl t mentn tallhat minden egyes hlzati tvlasztnl a szmra elegend erforrst annak rdekben, hogy a vgpontok kztti QoS-kvetelmnyek teljesljenek. Minden tvlasztnak meg kell hatroznia a hvs helyi erforrsignyeit a tbbi folyamatban lv viszony erforrs foglalsnak fggvnyben, s el kell dntenie, hogy egy msik folyamatban lv viszony lefoglalsnak megsrtse nlkl ki tudja-e elgteni az engedlyezsre vr viszony QoS-kvetelmnyeit. Ahhoz, hogy ezeket a klnfle tevkenysgeket megfelelen vezrelhessk, jelzsi protokollra (signaling protocol) van szksgnk - ilyen tevkenysg az erforrsok csompontrl csompontra halad lefoglalsa,

valamint az a teljes, vgpontok kztti tvonalra vonatkoz elnts, hogy a hvs a vgpontok kztti ton elhelyezked tvlasztknl le tudta-e foglalni a megfelel erforrsokat. Ez a hvsfelptsi protokoll (call setup protocol) feladata. A 7.32. bra felvzolja a hvs felptsnek folyamatt. Vizsgljuk meg ezeket a lpseket kzelebbrl: 1.

Forgalomjellemzs s a kvnt QoS specifiklsa. Annak rdekben, hogy

egy tvlaszt el tudja dnteni, hogy elegend erforrssal rendelkezik-e a hvs QoS-ig- nynek teljestshez, a hvsnak elszr kzlnie kell a QoSkvetelmnyeit, valamint jellemeznie kell a hlzatba kldeni kvnt forgalmat, amelyre a krt QoS vonatkozik. Az internet I ntserv-architektrja esetn az gynevezett Rspec (Ra lefoglalst [reservation],spec a meghatrozst [specification] jelenti) [RFC 2215] hatrozza meg a hvs ltal krt QoS-jellemzket; az gynevezett Tspec (T a forgalmat [trafic] jelenti) [RFC 2210] pedig azt a forgalmat jellemzi, amelyet a kld a hlzatba fog juttatni, vagy a vev fog fogadni a hlzatbl. Az Rspec s a Tspec alakja vltoz, a krt szolgltatstl fgg, a kvetkezkben bemutatott mdon. Az ATM hlzatokban felhasznli forgalom lert s a QoS-paramtert hordoz informcis elemek hordozzk a Tspec s Rspec jellemzkhz hasonl informcit. A rszletekrt lsd [Black 1997]. 2. Jelzsek hvsfelpts esetn. A hvsnak a forgalom jellemzst s QoSkrst el kell juttatni az tvlasztkhoz, ahol az erforrsok lefoglalsa trtnik. Az Intserv esetn erre a clra az RSVP protokoll [RFC 2210] hasznlhat az interneten. Az ATM- hlzatokban a Q2931b [Black 19971 protokoll hordozza ezt az informcit az ATM-kapcsolk s vgpontok kztt. 3. Elemenknti hvsengedlyezs. Miutn az tvlaszt megkapja a forgalom lerst s a QoS-t, cl kell dntenie, hogy engedlyezi-e a hvst. Az engedlyezs fgg a forgalom tulajdonsgaitl, a krt szolgltats tpustl s a jelenlegi erforrs-lefoglal-

QoS hvskezdemnyez jelzs

Krs: forgalom meghatrozsa (Tspec), QoS-garancia

kielgthet vagy nem elgthet ki

Az elem veszi a krt s a szabad erforrsokat

7.33. bra. Viselkeds elemenknti hvs esetn soktl, amelyeket az tvlaszt a folyamatban lv hvsoknak mr kiosztott. Emlkezznk arra, hogy a 7.5.3. alfejczetbcn pldul a lyukas vdr ltal vezrelt forrs s a WFQ egyttes hasznlata hogyan kpes meghatrozni a forrs legnagyobb sorban llsi ksleltetst. Az elemenknti hvsfelpts a 7.33. brn lthat. A hvsfelptsrl s engedlyezsrl tovbbi informcikat a [Breslau 2000; Roberts 2004] munkkbl szerezhetnk.

7.6.3. Garantlt QoS az interneten: lntserv s RSVP


Az integrlt szolgltatsok (intgrated services, lntserv) architektra egy keretrendszer, amelyet az IETF-en bell fejlesztettek ki annak rdekben, hogy az interneten a klnbz alkalmazshoz tartoz sszes viszonyhoz kln-kln QoSgarancikat rendelhessenek. Az lntserv [RFC 2212]-ben definilt garantlt minsg szolgltatsspecifikci szilrd (matematikailag bizonythat) hatrokat biztost azokra a sorbanllsi ksleltetsekre, amelyeket a csomagok az tvlasztknl elszenvednek. Annak ellenre, hogy a garantlt szolgltatsok rszletes httere elg bonyolult, az alaptlet valjban nagyon egyszer. Els megkzeltsben a forrs forgalom legyen (r, b) paramter lyukas vdrrel (lsd a 7.5.2. alfejezetet) jellemezve, a krt szolgltats pedig az R tviteli sebessggel, amellyel a csomagok a hlzaton keresztl haladnak. A garantlt szolgltatst kr hvs szmra alapveten az a fontos, hogy a csomagjaiban lev bitek szmra az R bit/s tovbbtsi sebessget biztostani tudjuk. Felttelezve, hogy a forgalom jellemzsre a lyukas vdr mechanizmust hasznljuk, s a szksges garantlt sebessg R, a maximlis sorbanllsi ksleltetst is meg tudjuk hatrozni. Emlkezznk, hogy azltal, hogy lyukas vdrrel adjuk meg a jellemzst, brmely I idintervallumot tekintve az ellltott forgalommeny- nyisg (bitekben mrve) kttt rtke rt + b. A 7.5.2. alfejezetbl azt is megtudtuk,

hogyha egy lyukas vdr eljrst hasznl forrs kldi a csomagokat a vrakozsi sorba - amely garantlja, hogy a sorban ll csomagok tviteli sebessge msodpercenknt R bit lesz -, a csomag ltal tapasztalt legnagyobb sorbanllsi ksleltets b/R rtk lesz mindaddig, amg R nagyobb mint r. Egy msodik lntserv szolgltatsi garancit is definiltak, vezrelt

terhelsi szolgltats (controlled load service) nven, amely meghatrozza, hogy


egy hvs olyan szolgltatst kapjon, amely j kzeltsben megfelel annak a QoSek, amelyet egy hasonl adafolyam kapna egy kihasznlatlan hlzati elemtl [RFC 2211). Az erforrs-lefoglal protokoll (resource reservation protocoll, RSVP) (RFC 2205; Zhang 1993] egy internetes jelzsi protokoll, amely az Intserv-hez szksges jelzsi folyamatokat vgzi el a hvs felptse sorn. Az RSVP a Difserv kapcsn is hasznlhat a tbb hlzaton keresztli Diffserv-funkcik sszehangolsra, valamint ki is bvtettk, s jelzsi protokollnak hasznljk egyb krlmnyek kztt is, pldul leggyakrabban az MPLS jelzs esetn RSVP-TE formban [RFC 3209], amelyet az 5.8.2. alfejezetben trgyaltunk. Intserv-krnyezetben az RSVP protokoll lehelv teszi az alkalmazsoknak, hogy az adatfolyamjaik szmra svszlessget foglaljanak le. A hoszt felhasznlja arra, hogy az alkalmazsok adatfolyamai nevben megfelel mennyisg svszlessget ignyeljen a hlzattl. Az tvlasztk is alkalmazzk az RSVP-t a svszlessg-lefoglalsi krsek tovbbtsra. Az RSVP implementlshoz a protokollt tmogat szoftvernek jelen kell lennie a vevkben, az adkban s a kt vgpont kztti ton tallhat tvlasztkban, ahogyan a 7.32. bra is mutatja. Az RSVP kt fo jellemezje: A tbbeskldses fkban svszlessg lefoglalst tesz lehetv, az egynekadst pedig a tbbesklds elfajult eseteknt kezeli. Ez klnsen fontos az IP-hlzaton keresztl trtn vals idej televzis msorszrshoz hasonl multimdis alkalmazsok esetn, ahol sok vev szereln ugyanazt az egyetlen forrsbl szrmaz multimdis forgalmat fogadni. Vevalap, teht az adatfolyam vevje kezdemnyezi s kezeli az adatfolyamra vonatkoz erforrs-lefoglalst. Az RSVP jszer, vevcentrikus szemllete a vevket teszi a fogadott forgalom vezrljv, pldul klnbz vevk kaphatjk meg s nzhetik a multimdis tbbeskldst klnbz felbontsban. Ez ellenttben ll az ATM-ben megvalstott adalap Q2931b jelzssel. Az RSVP-szabvny (RFC 2205] nem szabja meg a hlzatnak, hogyan biztostsa az adatfolyamok szmra az erforrs-lefoglalst. Csupn egy protokoll, amely lehetv teszi az alkalmazsoknak, hogy lefoglaljk a szksges svszlessget. Miutn a lefoglalsok megtrtntek, az internet tvlasztin mlik, hogy az adatfolyamok szmra a lefoglalt svszlessget szolgltassk. A szolgltats megvalstsa trtnhet a 7.5. alfejezetben trgyalt ellenrz s temez mechanizmusokkal (lyukas vdr, slyozott egyenl esly sorba llts). Az RSVPrl tbbet megtudhatunk az [RFC 2205; Zhang 1993] munkkbl, s a knyvhz kapcsold online elektronikus anyagbl. Elvek a gyakorltban
A puha llapot alapelve Az RSVP segtsgvel az tvlasztkban ltrehozott llapot (svszlessg-lefoglalsok)

puha

llapot (soft state) protokollknt ismert. A puha llapot fogalma nagyjbl a jelzsekhez
hasonlthat, amelyek sorn a ltrehozott llapot ideje lejr (s trldik), hacsak periodikusan meg nem jtjk egy olyan jelzsi zenet vtelvel (ltalban olyan entitstl, amely az lla pot

ltrehozsrt felels), amely azt jelzi, hogy az llapotnak mg fenn kell maradnia. Mivel a nem frisstett llapot ideje elbb-utbb lejr, a puha llapot jelzs nem ignyel sem kifeje zett llapoteltvoltst, sem olyan eljrst, amely az llapot ltrehozsakor bekvetkez hiba miatt keletkez

rva llapotot tvoltja el. Ehhez hasonlan, mivel az llapotok ltrehozsa s a puha llapot fogalma Clark nevhez fzdik [Clark 1988], aki lerta a

frisstsi zenetek utn tovbbi periodikus frisstsi zenetek kvetkeznek, nincs szksg megbzhat jelzsre. A vgrendszerek ltal kldtt periodikus llapotfrisstsi zenetek gondolatt, s hangslyozta, hogy az ilyen frisstsi zenetekkel rendszerlells esetn az llapot automatikusan visszal lthat - mindez a vgrendszer szmra tltsz mdon s minden kls rendszerlells utni visszalltsi eljrs nlkl: . ..az llapotinformci nem kritikus az adatfolyamhoz rendelt szolgltatstpus karbantar tshoz. Ezzel ellenttben a szolgltats tpusa a vgpontokon mlik, amelyek idszakonknt ismtelt zeneteket kldenek annak rdekben, hogy a megfelel szolgltatstpus legyen az adatfolyamhoz rendelve. gy az adatfolyamhoz rendelt llapotinformci egy rendszerlells sorn elveszhet anlkl, hogy tarts fennakadst okozna a hasznlt szolgltatsokban. Ezt az elkpzelst puha llapotnak hvom, s taln igen nagy mrtkben hozzjrul az elsdleges cljainkhoz, amely a tlls s a rugalmassg..." Rviden, a puhallapot-megolds lnyege az, hogy az llapot megvalstja hasznlja a leg jobbra trekv periodikus llapotmegvalsitst s -frisstst, az llapot fenntartja pedig az idztsre trtn llapottrlst. A puhallapot-megolds szmos protokollban megtallhat, pldul az RSVP, PIM (4.7. alfejezet), SP (7.4.3. alfejezet), IGMP (4.7. alfejezet) protokollban s a transzparens hidak tovbbttbliban (5.6. alfejezet). A

kemny llapot (har state) jelzs ellenttben ll a puhallapot-megkzeltssel - a

ltrehozott llapotok mindaddig megmaradnak, amg azokat kifejezetten el nem tvoltja az llapot ltrehozja ltal kldtt llapotlebonts zenet. Mivel az llapot egszen addig megmarad, amg kifejezetten el nem tvoltjk, a kemny llapot jelzsnek szksge van egy eljrsra az olyan hasznlatlan llapotok lebontshoz, amelyek az llapot ltrehozjnak sszeomlsa vagy vratlan tvozsa esetn keletkeztek. Ehhez hasonlan, mivel az llapotok ltrehozsa s eltvoltsa csupn egyszer trtnik meg (s nem hasznl llapotfrisstst s idtllpst sem), fontos, hogy az llapot ltrehozja tudja, mikor keletkezett vagy trldtt az llapot. A megbzhat (s nem a legjobbra trekv) jelzsi protokollok gy ltalban a kemny llapot protokollok alapjn mkdnek. Rviden, a kemny llapot megkzelts lnyege teht az llapotot trol informci megbzhat kifejezett ltrehozsa s eltvoltsa. A kemny llapot megoldst tbbek kztt az ST-II [Partridge 1992, RFC 1190] s a Q.2931 [ITU-T Q.2931 1994] protokollok tartalmazzk. Az RSVP a koncepcijbl kvetkezen (habr nem ktelez jelleggel) kifejezetten gondos kodik a lefoglalsok eltvoltsrl. A nyugtaalap megbzhat jelzst az lRl-'C 29611-ben kiegsztsknt vezettk be a RSVPbc, s a [Pan 1997]-ben is javaslatot tettek r. Az RSVP gy opciknt tvette a kemny llapot jelzsnek nhny elemt. A puha s a kemny llapot sszehasonltst lsd [Ji 2003].

7.7. sszefoglals

A multimdis hlzatpts manapsg az internet egyik legizgalmasabb (s mg a teljes megvalstsra vr) fejlesztse. Az emberek vilgszerte mindenhol egyre kevesebb idt tltenek a rdijuk s a televzijuk eltt, sokkal inkbb az internet fel fordulnak hang- s kpanyagok letltse cljbl, amelyek lehetnek akr l, akr elre felvett anya

gok. Ahogy a nagysebessg hozzfrs egyre tbb laksba behatol, ez az irnyvonal folytatdik - a pamlagon heversz szemly a vilg brmely pontjn, az interneten fog hozzfrni a kedvenc msorhoz, nem pedig a hagyomnyos msorszrs csatornkon. A hang- s videosztoszts mellett az internet a telefonhvsok tovbbtsra is felhasznlhat. 10 ven bell az internet a hagyomnyos vonalkapcsolt telefonos rendszert sok orszgban gyakorlatilag teljesen eltnteti majd. Az internet nemcsak kevesebb pnzrt nyjtja a telefon szolgltatst, hanem szmos rtknvel szolgltatst is biztost, pldul a videokonferencit, online katalgusszolgltatst, hangalap zenetkldsi szolgltatsokat s webintegrcit. A 7.1. alfejezetben hrom osztlyba soroltuk a multimdis alkalmazsokat: trolt hang s kp folyamszer letltse, vals idej hang s kp egy-tbb tpus letltse, valamint vals idej hang s kp interaktv tvitele. Kiemeltk, hogy a multimdis alkalmazsok ksleltetsrzkenyek s vesztesgtrek - ezek olyan jellemzk, amelyek nagyon klnbznek a ksleltetstr s vesztesgrzkeny statikus tartalmakat megvalst alkalmazsoktl. Szmos akadlyoz tnyezt is megbeszltnk, amelyeket a mai internet helyez a multimdis alkalmazsok el. Megvizsgltunk szmos lehetsges megoldst az akadlyok elhrtsra, pldul a jelenlegi hlzati struktra egyszer javtst (tbb svszles sg kiptse, tbb hlzati gyorsttr, tbb CDN-csompont s tbbesklds kiptse), tbb funkci hozzadst az internethez, amellyel az alkalmazsok vgpontok kztti erforrsokat foglalhatnak le (s a hlzat tiszteletben tarthatja ezeket a lefoglalsokat), s vgl szolgltatsi osztlyok bevezetst a megklnbztetett szolgltatsok nyjtsra. A 1.2-1 A. alfejezetekben multimdia-hlzatokra vonatkoz architektrkat s mechanizmusokat vizsgltunk meg egy legjobbra trekv hlzatban. A 7.2. alfejezetben tnztnk szmos architektrt trolt hang s kp folyamszer letltsre. Megbeszltk a felhasznli interakcit pldul szneteltets/folytats, jrapozcionls s vetts kzbeni gyorstekers -, s bevezettk az RTSP-t, egy protokollt, amely kliens-szerver kommunik cit biztost a folyamszer letltst megvalst alkalmazsok szmra. A 7.3. alfejezetben lttuk, hogy az interaktv vals idej alkalmazsok megtervezhetk legjobbra trekv hlzatok feletti hasznlatra is. Lttuk, hogy klienspufferek, csomagsorszmok s idblyegek kombincija nagymrtkben cskkentheti a hlzat ltal keltett ksietetsi ingadozst. Azt is megbeszltk, hogy a CDN hogyan segti el a trolt multimdia folyamszer letltst azltal, hogy a trolt multimdit elretekinten a vgfelhasznlkhoz kzeli CDN-szerverekhez helyezi. A 7.5. alfejezet bemutatta, hogy nhny hlzati mechanizmus (adatkapcsolatiszint temezs s ellenrzs) hogyan hasznlhat megklnbztetett szolgltatsok nyjtsra klnfle forgalmi osztlyok szmra. Vgezetl, a 7.6. alfejezetben kidertettk, hogy a hlzat hogyan kpes szolgltatsminsgi garancikat biztostani az engedlyezett hvsok szmra. Ebben a rszben tovbbi j hlzati mechanizmusokra s protokollokra volt szksgnk, pldul az erforrs-lefoglalsra, hvsok engedlyezsre s a hvsjelzsek re. Ezek az j hlzati elemek egytt a jvben olyan garantlt QoS-alap hlzatot fog nak ltrehozni, amely a mai legjobbra trekv internettl meglehetsen eltr (s sokkal bonyolultabb) hlzat lesz.

Krdsek
7.1-7.2. alfejezetek KI. Mit rtnk a trolt audio/vide folyamszer letltsnek interaktivitsn? Mit rtnk a vals idej interaktv audio/vide interaktivitsn? K2. Hrom tbort trgyaltunk, amelyek segtsgvel az internet nagyobb hatkonysggal tmogatja a multimdis alkalmazsokat. Rviden foglalja ssze mindhrom tbor nzpontjt. n melyik tborba tartozik? K3. Mik a tipikus tmrtsi arnyok (a tmrtetlen objektum bitszmnak arnya az objektum tmrtett vltozatnak bitszmhoz kpest) kp- s hangalap alkalmazsok esetn, s melyek a 7.1. a 1 fejezetben trgyalt tmrtsi eljrsok? K4. A 7.1. s 7.2. brn kt sma lthat a trolt mdia folyamszer letltsre. Mik az egyes smk elnyei s htrnyai? 7.3-7.4. alfejezetek K5. Mi a klnbsg vgpontok kztti ksleltets s a csomagksleltets ingadozsa kztt? Mik a ksleltets ingadozsnak okai? K6. Az temezsi id utn rkezett csomag mirt szmt elveszettnek? K7. A 7.3. alfejezel bemutat kt FEC-smt. Rviden foglalja ssze ket. Mindkt sma tbbletbitekkel nveli az adatfolyam tviteli sebessgt. Nveli-e az sszefsls is az tviteli sebessget? K8. Mi a DNS szerepe a CDN-hlzatokban? Kell-e mdostani a DNS-t, hogy tmogassa a CDN-t? Milyen informcit kell (ha kell egyltaln) a DNS szmra szolgltatni a CDN-hlzatnak? K9. Milyen informci szksges egy hlzat tervezse esetn egy adott szolgltatsminsg (QoS) elrshez? K10. Hogyan kpes a vev azonostani a klnbz RTP-adatfolyamokat klnbz munkamenetekben? Hogyan lehet egy munkameneten bell a klnbz adatfolyamokat azonostani? Hogyan klnbztetjk meg az (egy munkamenethez tartoz) RTP- s az RTCP-csomagokat? KI 1. A 7.4. alfejezetben hrom RTCP-csomagtpust mutattunk be. Rviden foglalja ssze a hrom csomagtpus ltal hordozott informcit. KI2. Mi a szerepe a SIP-nyilvntartnak? Mennyire tr el a SIP-nyilvntart szerepe a mobil-IP hazai gynknek szereptl? 7.5-7.6. alfejezetek KI3. A 7.5. fejezetben kifejtettk a nem megszaktsos prioritsos sorballtst. Mi lenne a megszaktsos prioritsos sorba llts? Van-e rtelme a megszaktsos prioritsos sorba lltsnak a szmtgp hlzatokban? KI4. Adjon pldt olyan temezsre, amely nem munkatakarkos. K15. Mondjon a mindennapi letben tapasztalt sorba lltsi pldt a FIFO, prioritsos, krbejrsos s WFQ tpus sorba lltsra. Kl. Soroljon fel nhny nehzsget, amely az Intserv-modell s az adatfolyamonknt erforrs-lefoglals kapcsn felmerl.

Feladatok
FI. Bngsszen a weben, s keressen kt honlapot, amelyrl trolt hang s/vagy vide tlthet le folyamszeren! A kvetkez krdsek eldntsre hasznlja a Wireshark protokollanaliztor programot (szabadon letlthet a www.wireshark.org honlaprl): (a) Hasznlnak-e metafjlokat? (b) Az audio/video UDP-n vagy TCP-n kerl tvitelre? (c) Hasznlnak-e RTP-t? (d) Hasznlnak-e RTSP-t? F2. Kpzeljk el a 7.3. brn lthat klienspuffert! legyk fel, hogy a letltrendszer a harmadik megoldst hasznlja, vagyis ahol a szerver a lehet leggyorsabban kldi a mdit a szoketbe. Felttelezzk, hogy a rendelkezsre ll svszlessg az id legnagyobb rszben d. Tegyk fel azt is, hogy a klienspuffer a mdia egyharmadt kpes trolni. Mutassa be, hogy az x(t) s a klienspuffer hogyan alakul az id folyamn. F3. A TCP vev oldali puffere s a mdialejtsz klienspufere ugyanazt a fogalmat jelli? Ha nem, hogyan viszonyulnak egymshoz? F4. A 7.3. alfejezet internetes telefon alkalmazsa esetn legyen h a tredkekhez adott fejrszbjtok sszessge, belertve az UDP- s IPfejrszt is. (a) felttelezve, hogy 20 ms-onknt bocstunk ki IP-adatcsomagot, szmtsa ki az tviteli sebessget bit/s-ban az alkalmazs egyik oldala ltal ellltott csomagokra. (b) Mi a h tipikus rtke RTP hasznlata eseten? F5. Tekintsk a 7.3. al fejezetben lert folyamatot a / i tlagos ksleltets becslsre. Tegyk fel, hogy u = 0,1. Legyen r, - t] a legutbbi minta ksleltetse, az r, - pedig az az eltti minta ksleltetse, s gy tovbb. (a) Tegyk fel, hogy egy adott hangalap alkalmazs esetn ngy csomag rkezett a vevhz r, - f 4 , r 3 - / 3 , r, - / 2 s rt mintaksleltetssel. Fejezze ki a d ksleltetst a ngy minta alapjn. (b) ltalnostsa a kapott kpletet n minta ksleltetsre. (c) A (b) esetben kapott kplet esetn ti tartson vgtelenhez, adja meg ebben az esetben a kpletet! Magyarzza el, hogy ez az tlagolsi eljrst mirt nevezik exponencilis mozgtlagnak. F6. Ismtelje meg a 6. krds (a) s (b) rszt az tlagos ksleltets szrsra. F7. A 7.3. alfejezetben tallhat internetes telefon esetn bemutattunk egy online eljrst (exponencilis mozgtlag) a ksleltets kiszmtsra. Ebben a feladatban egy alternatv eljrst vizsglunk. Legyen t. az /'. vett csomag idblyege; r pedig legyen az id, amikor az /. csomag rkezett. Jelljk d-vei a az n. csomag megrkezse utni becslt ksleltetst. Az els csomag rkezsekor a becslt ksleltetst d, = r - rtkre lltjuk. (a) Tegyk fel, hogy tudni szerelnnk dn = (r, - /, + r 2 - t2 + ... + r - tj/n minden n esetn. Adjon egy rekurzv formult dr rtkre dn ,, rn s t fggvnyben. (b) Magyarzzad, hogy a 7.3. alfejezetben bemutatott ksleltetsbecsls mirt alkalmasabb az internetes telefnihoz, mint az (a) rszben ltott ksleltetsbecsls.
(

F8. Hasonltsa ssze a 7.5. alfejezetben ltott ltagos ksleltets becslsre vonatkoz eljrst s a 3.5. alfejezetben tallhat krljrsi id becslsre vonatkoz mdszert! Milyen kzs tulajdonsggal rendelkeznek? Miben klnbznek?

F9. Tekintsk a 7.3. alfejezetben lv alkalmazkod (adaptv) lejtszsi stratgit. (a) Hogyan lehetsges, hogy a kt sikeresen clba rkezett csomag idblyegrtke tbb mint 20 ms-mal eltr egymstl, mikzben ugyanahhoz a beszdlkethez tartoznak? (b) Hogyan hasznlhatja fel a vev a sorszmokat annak eldntsre, hogy egy csomag vajon a beszd lket els csomagja-e? Vlaszoljon minl tbb konkrtummal. F10. Nzzk a kvetkez brt (ami hasonl a 7.5. brhoz)! Az ad t = 1 idpillanatban periodikusan kezdi el adni a csomagokba gyazott hangot. Az els csomag t = 8 idpillanatban rkezik meg a vevhz. (a) Milyen ksleltetsei (az adtl a vevig, a lejtszsi ksleltetst figyelmen kvl hagyva) vannak a 2-8. csomagoknak? Fontos megjegyeznnk, hogy az brn a fggleges s vzszintes vonalszegmensek 1, 2 vagy 3 idegysg hosszak. (b) Abban az esetben, ha a hang lejtszsa az els csomag berkezse utn a t = 8 idpillanatban azonnal elkezddik, az els nyolc elkldtt csomag kzl melyik nem fog megrkezni idben a lejtszshoz? (c) Abban az esetben, ha a hang lejtszsa t = 9-kor kezddik el, az els nyolc elkldtt csomag kzl melyik nem fog megrkezni idben a lejtszshoz? (d) Mi az a legkisebb lejtszsi ksleltets a vevnl, aminl mind az els nyolc csomag idben rkezik meg?

FII. Tekintsk jra az F10. feladatban lthat hangcsomagok tvitelt s a vteli idket mutat brt. (a) Szmtsa ki a 2-8. csomagok becslt ksleltetst, a 7.3.2. alfejezetben lv d-re vonatkoz kpletet felhasznlva. (b) Szmolja ki a 2-8. csomagok becslt ksleltetsbl ered szrs becslst, a 7.3.2. alfejezetben lv v -re vonatkoz kplet segtsgvel. Legyen u =

0,1. FI2. Eleventsk fel a 7.3. alfejezetben az internetes telefonra vonatkoz kt FECsmt! Tegyk fel, hogy az els sma minden ngy eredeti tredkhez kszt egy redundns tredket. Ttelezzk fel, hogy a msodik sma esetn pedig kis bitszm kdols tviteli sebessge az eredeti adatfolyam tviteli sebessgnek 25 szzalka. (a) Mennyi tbbletsvszlessget ignyel a kt sma? Mennyi a kt sma lejtszsi ksleltetse? (b) Hogyan teljestenek a smk, ha minden t csomagbl az els elveszik? Melyik sma esetn lesz jobb hangminsg? (c) Hogyan teljestenek a smk, ha minden msodik csomag elveszik? Melyik sma eseten lesz jobb hangminsg? F13. 'legyk fel, hogy a CDN nem nveli a hlzatban tallhat adatkapcsolatok kapacitst (felttelezve, hogy a CDN mr ltez adatkapcsolatokat hasznl a tartalom sztosztsra a CDN-csompontok kztt), hogyan nveli ekkor a CDN a hosztok ltal tapasztalt teljestmnyt? Adjon egy pldt is. F14. Lehetsges, hogy a CDN rosszabb teljestmnyt nyjt annak a multimdiaobjektumot kr hosztnak, mint annak, amelyik tvoli forrsszervertl kr objektumot? Fejtse ki! F15. Hogyan szmoljk az rkezsek kztti idbeli ingadozst az RTCPjelentsekben? (Tipp: Olvassa el az RTP RFC-t.) F16. (a) legyk fel, hogy kt IP-adatcsomagot kldnk az interneten, klnbz UDP-szegmenst hordozva. Az els adatcsomag forrs-IP-cme Al, cl-IPcme B, forrs-portszma Pl s clportszma P2. A msodik adatcsomag for- rs-IP-cme A2, cl-IP-cme B, forrsportszma P2 s clportszma T. Tegyk fel, hogy az Al klnbzik A2-tl s Pl is klnbzik P2-tl. Felttelezve, hogy mindkt adatcsomag clba r, ugyanaz a szkt fogadja-e ket? Ha igen, mirt, ha nem, mirt nem? (b) Tegyk fel, hogy Alice, Bob s Claire szeretne audiokonferencia-hvst lebonyoltani SP s RTP hasznlatval. Elg-e Alice szmra, Bobnak s Claire-nek zenetklds s fogads cljbl egy UDP-szoket (a SP ltal ignyelt szoketen kvl)? Ha igen, akkor hogyan klnbzteti meg Alice SIP-kliense a Bobtl s Claire-tl rkezett RTP-csomagokat? F17. Tekintsnk egy RTP-munkamenetet ngy felhasznlval, amelyek ugyanarra a tbbesklds cmre kldenek s onnan fogadnak RTP-csomagokat. Mindegyik felhasznl 100 kb/s sebessggel kld videoadatot. (a) Milyen sebessgre korltozza a forgalmat az RTCP? (b) Mennyi svszlessget kap egy vev? (c) Mennyi svszlessget kap egy ad? F18. (a) Mennyiben hasonlt az RSTP a HTTP-hez? Vannak-e az RSTP-nek eljrsai? Felhasznlhat-e a HTTP-adatfolyam krsre? (b) Mennyiben klnbzik az RSTP a IITTP-tl? Pldul a HTTP svon belli vagy svon kvli? Fenntart-e az RSTP llapot informcikat a kliensrl (tekintse a sznteteltets/folytats funkcit)? F19. Igaz vagy hamis: (a) Abban az esetben, ha a vide kzvetlenl egy webszerverrl tltdik le a mcdia- lejtszra, az alkalmazs TCP-t hasznl, mint alapul szolgl szlltsi protokollt.

(b) RTP hasznlatakor az ad megvltoztathatja a kdolst a viszony kzben. (c) Az RTP-t hasznl sszes alkalmazs a 87-es portot kell hasznlja. (d) Abban az esetben, ha egy RTP-munkamenct kln hang- s kln videofolyam- mal rendelkezik minden ad szmra, a hang- s videofolyamok ugyanazt az SSRC-rtket hasznljk. (e) A megklnbztetett szolgltatsoknl, mivel a csompontok csomagtovbbtskor kvlrl megfigyelhet viselkedse az osztlyok kztt klnbz teljestmnyeket hatroz meg, nem jell ki semmilyen konkrt eljrst ezeknek a teljestmnyeknek az elrsre. (f) 'legyk fel, hogy Alice SIP-viszonyt szeretne felpteni Bobbal. Az INVITE zenetben szerepel a kvetkez sor: m=audio 48753 RTP/AVP 3 (az AVP 3 a GSM- hangot jelenti). Alice ezzel az zenettel jelezte, hogy GSMhangot szeretne kldeni. (g) Az elz lltsban Alice az INVITE zenetben azt jelezte, hogy a hangot a 48753-as portra kldi. (h) A SP egyedek kztt kldtt SIP-zeneteket ltalban egy alapvet SlPport- szmra kldik. (i) A bejegyzs fenntartsa miatt a SIP-kliensek periodikusan REGISTER zeneteket kldenek. (j) A SP megkveteli, hogy minden SIP-kliens tmogassa a G.711 hangkdolst. F20. Tegyk fel, hogy WFQ temezsi szablyt alkalmazunk egy pufferre, amely hrom osztlyt tmogat, s a hrom osztlyra vonatkoz slyok 0,5, 0,25 s 0,25. (a) Tegyk fel, hogy minden osztlynak nagyszm csomagja van a pufferben. Milyen sorrendben lesz a hrom osztly kiszolglva, hogy a VVFQ-slyok teljesljenek? (Krbejrsos temezs esetn az alapvet sorrend az 123123123...). (b) Kpzeljk el, hogy az 1. s a 2. osztly nagyszm csomaggal rendelkezik a pufferben, s nincs 3. osztlybeli csomag. Milyen sorrendben lesz a hrom osztly kiszolglva, hogy a WFQ-slyok teljesljenek? F21. Tekintsk meg a 620. oldalon lv brt, amely hasonlt a 7.22-7.25. brkhoz. Vlaszolja meg a kvetkez krseket: (a) Felttelezve a FIFO-kiszolglst, jellje be azt az idt, amikor a 2-12. csomagok elhagyjk a vrakozsi sort! Mennyi az a ksleltets, amg a csomagok a megrkezstl a sor elejre jutnak, ahol tvitelre kerlnek? Mennyi ennek a ksleltetsnek az tlaga a 12 csomagra? (b) Ttelezznk fel egy prioritsos kiszolglst, s tegyk fel, hogy a pratlan szm csomagok nagy prioritssal, a prosszmakpedigkisprioritssal rendelkeznek. Jellje be azt az idt, amikor a 2-12. csomagok elhagyjk a vrakozsi sort! Mennyi az a ksleltets, amg a csomagok a megrkezstl a sor elejre jutnak, ahol tvitelre kerlnek? Mennyi ennek a ksleltetsnek az tlaga a 12 csomagra? (c) Most legyen a kiszolgls krbejr. Tegyk fel, hogy az 1., 2., 3., 6., 11. s 12. csomagok az 1. osztlyba, a 4., 5., 7., 8., 9. s 10. csomagok pedig

a 2. osztlyba tartoznak. Jellje be azt az idt, amikor a 2-12. csomagok elhagyjk a vrakozsi sort! Mennyi a ksleltets a csomagok a megrkezstl a tvozsukig? Mennyi ennek a ksleltetsnek az tlaga a 12 csomagra? (d) Ttelezznk fel most slyozott egyenl esly sorban llsi (WFQ) kiszolglst. Tegyk fel, hogy a pratlan szm csomagok az 1. osztlyba, a pros szmak a 2. osztlyba tartoznak. Az 1. osztly WFQ-slya 2, a 2. osztly 1. Vegyk szre, hogy nem lehetsges a szveg szerinti idelis WFQ-temezst elrni, ezrt indokolja, hogy mirt azt a csomagot vlasztotta ki kiszolglsra! Mennyi a ksleltets a csomagok megrkezstl a tvozsukig? Mennyi ennek a ksleltetsnek az tlaga a 12 csomagra? (e) Mit vesz szre az tlagos ksleltetsnl mind a ngy esetben (FCFS, RR, prioritsos s WFQ)?

rkezsek

m
16 8 10
Id

IIli
Kiszolgls alatt lv : i csomag f = 0

I 1--------1-----1----1- - - -1----1-----1-----h

Id

i1--------------1-------------1-------1-------1-------1-------1-------1------1-------1-------1------1-------1------1-------h>

Tvozsok

f = 2

f = 4

f = 6

f = 8

f = 10 f= 12 f = 14

F22. Tekintsk jra az F21. feladathoz tartoz brt. (a) Prioritsos kiszolglst felttelezve, legyenek az 1., 4., 5., 6. s 11. csomagok nagy priorits csomagok. A fennmarad csomagok legyenek kis prioritsak. jellje be az idrseket, amikor a 2-12. csomagok elhagyjk a vrakozsi sort. (b) Legyen most a kiszolgls krbejrsos, tartozzanak az 1., 4., 5., 6. s 11. csomagok az 1. forgalmi osztlyba, a fennmarad csomagok pedig a 2. forgalmi osztlyba. Jellje a rseket, amikor a 2-12. csomagok elhagyjk a vrakozsi sort! (c) Ttelezznk fel WFQ-kiszolglst, tartozzanak az l.,4., 5., 6. s 11. csomagok az 1. forgalmi osztlyba, a fennmarad csomagok pedig a 2. forgalmi osztlyba. Az 1. osztly WFQ-slya 1, a msik pedig 2 (lthatjuk, hogy ezek a slyok eltrnek az elz krdsben szerepl slyoktl). Jellje a rseket, amikor a 2-12. csomagok elhagyjk a vrakozsi sort. Nzzk meg a kiktst az elz WFQ- kiszolglsra vonatkoz krdsben is! F23. Nzzk meg az albbi brt, amely egy lyukasvdr-ellenrzt mutat, amelyet egy csomagfolyam tpll. A zsetonpufl'er legfeljebb kt zsetont tud trolni, s t = 0 idpillanatban kezdetben tele van. j zsetonok rkeznek l zseton/idrs sebessggel. A kimen adatkapcsolat sebessge akkora, hogyha kt csomag ignyel zsetont az idrs kezdetekor, akkor mind a kett egyszerre lphet be az idrsbe. A rendszer idztsi rszletei az albbiak: 1. A csomagok (ha van egyltaln) az idrs kezdetekor rkeznek. gy az brn az 1., 2. s 3. csomagok az 0. rsben rkeznek. Abban az esetben, ha a vrakozsi sorban mr vancsomag,azrkezkbellnaka sorok vgre. A csomagoka sorban FIFO-elv szerint haladnak elre. 2. Miutn az rkezk hozzaddtak a sorhoz, ha van sorban ll csomag, egy vagy kt csomag (az elrhet zsetonok szmtl fggen) eltvolt egy-egy zsetont a trolpufferbl, s az idrs alatt tovbbhalad a kimen adatkapcsolat fel. gy mind az 1., mind a 2. csomag eltvolt egy-egy zsetont a pulTerbl (mivel ott kezdetben kt zseton van), s tovbbhalad a kimen adatkapcsolat fel a 0. idrsben. 3. Mivel a zsetongenerlsi sebessg r = 1, egy j zseton addik a trol

pufferhez, ha az nincs tele. 4. Ezutn a kvetkez idrsbe lpnk, s a lpsek megismtldnek. Vlaszolja meg a kvetkez krdseket: (a) Azonostsa minden idrsben a sorban ll csomagokat s zsetonok szmt a vdrben a berkezsek feldolgozsa utn kzvetlenl (az 1. lps), de mieltt

10

8
/

rke- . zsek | i

rr rr
f=4

tii

i
------1-----1---1----1 i
f=4

t=
8

f=6

f= 2

t=2

Vrakozsi sor (vrakozs zsetonokra)

F24. F25. F26.

F27.

F28.

brmely csomag tjutott a vrakozsi soron, s eltvoltott egy zsetont. Ebben az esetben a / = 0 idrsben a fenti plda szerint az l, 2. s 3. csomagok llnak a sorban s kt zseton van a puTerben. (b) Minden idrs esetn jelezze, hogy mely csomagok jelennek meg a kimeneten a zseton(ok) eltvoltsa utn! Ebben az esetben a = 0 idrsben a fenti plda esetn az 1. s 2. csomag jelenik meg a lyukas vdr puffernek kimenetn. Ismteljk meg az F23. feladatot r= 2-t felttelezve. Ttelezze fel megint, hogy a vdr kezdetben tele van. Tekintsk az F24. feladatot, s tegyk fel, hogy r = 3 sb = 2, mint korbban. Vltozni fog-e a fenti krsre adott vlasz? Tekintsk a (a 7.5. alfejezetben trgyalt) lyukasvdr-ellenrzst, amely az adatcsomag tlagos tviteli sebessgt s lketmrett szablyozza. Szeretnnk a p cscssebessget is szablyozni. Mulassa meg, hogy ezzel a lyukasvdr-ellenrz- vel hogyan lehet egy msodik lyukasvdr-ellenrzt tpllni gy, hogy a kt sorba kapcsolt ellenrz ellenrizze az tlagos tviteli sebessget, a cscssebessget s a lketmretet! Adja meg a msodik ellenrz vdrmrett s zsetonellltsi sebessgt! Feleljen meg egy adott csomagfolyam az (r, b) paramter lyukas vdr mechanizmusnak b lketmrettel s r tlagos tviteli sebessggel abban az esetben, ha minden t idintervallumra a t id alatt a lyukas vdrhz rkez csomagok szma kevesebb, mint rt + b. Kell-c valaha egy ( r,b) paramter lyukas vdrnek megfelel csomagfolyamnak vrnia az r, b paramter lyukas vdr ellenrznl? Igazolja a vlaszt! Mutassa meg, hogy rj < IR x /(]hj) esetn d i valban a legnagyobb ksleltets, amelyet egy csomag tapasztalhat az 1. adatfolyamban YVFQ tpus sorban lls esetn.

Gondolkodtat krdsek
Gl. Keressen egy cget, amely l vide folyamszer sztosztst teszi lehetv P2P hasznlatval. rjon egy beszmolt az alapul szolgl technikrl. G2. n szerint TCP vagy UDP felett jobb a trolt audio/vide folyamszer letltse? G3. rjon egy beszmolt a Cisco SP-termkeirl.

8. FEJEZET

Szmtgp-hlzatok biztonsga

Hadd mutassunk be kt embert, Alice-t s Bobot, akik egymssal szeretnnek kommuniklni, mghozz biztonsgosan. Mivel hlzatokrl beszlnk, meg kell jegyeznnk, hogy Alice s Bob lehet akr kt tvlaszt is, amelyek a forgalomirnyt tblikat akarjk egymsnak biztonsgosan tkldeni, vagy lehet egy kliens s egy szerver, amelyek biztonsgos kapcsolatot szeretnnek felpteni, esetleg ppen kt e-mail alkalmazs, amelyek biztonsgosan akarnak e-mailt vltani - mindezen pldkkal tallkozunk mg ebben a fejezetben. Alice s Bob jl ismert figurk a biztonsggal foglalkoz szakemberek kr ben, vlhetleg azrt, mert a nevk jobban hangzik, mint egy ltalnos A-nak nevezett entits, amely biztonsgosan szeretne kommuniklni a B nev ltalnos entitssal. Til tott szerelmi kapcsolatokat, a hbors kommunikcit vagy zleti tranzakcikat szoks emlegetni mint olyan helyzeteket, amikor az embernek biztonsgos kommunikcira van szksge. Az elbbire szvesebben gondolunk, mint az utbbi kettre, ezrt szves rmest kpzeljk Alice-t s Bobot - mint kldt s vevt - az els szituciba. Az imnt azt mondtuk, hogy Alice s Bob kommuniklni szeretnnek, mgpedig biztonsgosan. De mit is jelent ez pontosan? Ahogy ltni fogjuk, a biztonsg (akrcsak a szerelem) csodlatos dolog; azaz nagyon sok szempontbl tekinthet. Alice s Bob bizonyra szeretnk, ha az zeneteik tartalma titokban maradna egy ket lehallgat harmadik fl (mondjuk egy fltkeny hzastrs) eltt. Valsznleg arrl is szeretnnek meggyzdni, hogy amikor kommuniklnak, valban egymssal kommuniklnak, ha pedig az zeneteiket valaki meghamistan, akkor azt bizonyra szrevennk. A fejezel els rszben azo kat az alapvet kriptogrfiai mdszereket vesszk t, amelyek lehetv teszik az zenetek titkositst, a kommunikl felek hitelestst, s az zenetek integritsnak biztostst. A fejezet msodik rszben azt vizsgljuk, hogyan lehet az alapvet kriptogrfiai ptkvekbl biztonsgos hlzati protokollokat pteni. Ismt fentrl lefel kzeltve, az alkalmazsi rteggel kezdve sorra vesszk a fels ngy hlzati rtegben mkd biztonsgi protokollokat. Megnzzk, hogyan lehet biztonsgoss tenni a levelezst, hogyan lehet egy TCP-sszekttetst megvdeni, miknt lehet a hlzati rtegben ltalnos biztonsgot nyjtani, valamint hogyan lehetnek a vezetk nlkli hlzatok biztonsgosak. Emlkezhet az Olvas, hogy az 1.6. alfcjezetben ttekintettnk nhny tmadst, kztk tbb DoS tpus tmadst is, amelyekkel a rossz fik zavart okozhatnak egy szervezet hlzatban (mint amilyen egy egyetemi vagy cges hlzat). Fejezetnk harmadik rszben a mkdsi biztonsggal foglalkozunk, amely szervezetek hlzatainak vdelmrl szl. Konkrtan azt vizsgljuk majd meg alaposan, hogy a tfalak s a behatolsjelz rend szerek miknt nvelhetik egy szervezet hlzatnak biztonsgt. G4. Megoldhat-e a QoS-garancik problmja csupn a svszlessg nvelsvel, azaz ha addig nveljk az adatkapcsolatok kapacitsl, amikor a svszlessg-koril mr nem fog szmtani? G5. Kgy rdekes feltrekv piac az internetes telefoni s a cgek nagysebesg LAN- hlzatt hasznlja a PBX-ek (magncl helyi telefon alkzpontok) lecserlsre, rjon egyoldalas beszmolt errl a tmrl. A dolgozat a kvetkez krdsekre adjon vlaszt: (a) Mi a hagyomnyos PBX? Kik hasznljk? (b) Kpzeljnk el egy hagyomnyos telefonhlzaton lebonyoltott hvst egy cgen belli felhasznl s egy cgen kvli felhasznl kztt. Milyen tpus technika kell a LAN s a hagyomnyos telefonhlzat kztti interfszi? (c) Az internetes telefon alkalmazson s a (b) rszben ltott interfszen kvl milyen egyb dolgok szksgesek a PBX lecserlshez?

G6. Gondolkodjon cl azon, hogy milyen mdon tervezik az autplya-hlzatokat (pldul egy nagyvrosba vezet autplya svjainak szmt). Soroljon fel ngy lpst, amelyrl gy gondolja, hogy egy kzlekedsi mrnknek meg kell tennie ilyen autplyk tervezsekor. Mely lpsek feleltethetk meg ezeknek a szmtgpes hlzatok tervezsekor?

Vlaszol

Henning Schulzrinne
Henning Schulzrinne egyetemi tanr, a Columbia University Department of Computer Science tanszkvezetje s az Internet Real-l ime Laboratory vezetje. Trsszerzje az RTP-nek, az RSTP-nek, a SIP-nek s a GIST-nek, ame lyek az interneten keresztli audio- s videokommunik- ci szmra kulcsfontossg protokollok. Villamosmrnki BS fokozatot szerzett a nmetorszgi TU Darmstadt egyetemen, villamosmrnki s szmtstudomnyi MS fokozatot a University of Cincinnatin, villamosmrnki PhD fokozatot a University of Massachusettsen. Mi ksztette arra, hogy a multimdia-hlzatokra szakosodjon? Ez majdnem vletlenl trtnt. PhD-halIgatknt kapcsolatba kerltem a DARTnettel, az egsz Egyeslt llamokon thidal Ti vonalakkal rendelkez ksrleti hlzattal. A DARTnet a tbbesklds s a vals idej internetes protokollok tesztkrnyezetl szolglt. Ez vezetett az els hangeszkz megrshoz, a NVoThoz. Nhny DARTnet-rsztvevn keresztl belekeveredtem az IETF-be is, az ppen kezdd Audio Vide Transport munkacsoportba. Ez a csoport volt az, amely ksbb befejezte az RTF szabvnyostst. Mi volt az els munkja a szmitgpes iparban? Mit eredmnyezett? Az els munkm egy Altair szmtgpes kszlet sszeforrasztsa volt, amikor mg fiskolai hallgat voltam Livermore-ban, Kaliforniban. Odahaza Nmetorszgban gy kezdtem, hogy ltrehoztam egy kis tancsadi irodt, amellyel cmkezelsi programot ksztettnk utazsi irodknak - az adatokat szalagos kazettn troltuk a TRS-80-unk szmra s egy IBM Selectric rgpet hasznltunk nyomtatknt egy hzilag barkcsolt hardverinterfsszel kiegsztve. Az els igazi llsomat az AT@T Bell Laboratorynl kaptam, hlzati emultort fejlesztettem hlzati ksrletek lebonyoltsra laboratriumi krlmnyek kztt.
%

Mik az Internet Real-Time Lb cljai?

Clunk elemek s ptblokkok ellltsa az internet mint az egyedli jvbeli kommunikcis infrastruktra szmra. Ebben benne van olyan j protokollok fejlesztse, mint pldul a GIST (hlzati szint jelzs) s a LOST (erforrsok hely alapjn trtn meghatrozsa), valamint a korbban ksztett protokollok, mint pldul a SP kibvtse, valamint olyan munkk, mint a gazdag jelenlt, a P2Prendszerek, az jgenercis vszhvs s a szolgltatsltrehoz. Mostanban intenzven vizsgltuk a VoIP kapcsn felmerl vezetk nlkli rendszereket, a 802.11b s a 802.lln hlzatokat, s taln a WiMax-hl- zatok lesznek majd a jv hozzfrsi hlzatai. Megprblunk a gyakorlatban is hasznos munkt vgezni azltal, hogy prototpusokat s nylt forrs rendszereket ksztnk, vals rendszerek teljestmnyt mrjk, illetve azzal, hogy rszt vesznk az IETF szabvnyok elksztsben.

n milyen jvkpet lt a multimdis hlzatok tern? Jelenleg tmeneti szakaszban vagyunk; mr csak pr v, s az IP lesz az univerzlis platform a multimdis szolgltatsok szmra, az IPTV-tl a VoIP-ig. Szerintnk a rdi, a telefon s a televzizs hviharok s fldrengsek kzben is elrhet lesz majd, teht amikor az internet tveszi ezeknek a dediklt hlzatoknak a szerept, a felhasznlk ugyanazt a megbzhatsgot vrhatjk majd el. Meg kell tanulnunk olyan koszisztmra tervezni a hlzati technikkat, amelyben verseng szolgltatk, szolgltats- s tartalomszolgltatk szolglnak ki mszakilag kpzetlen felhasznlkat, vdik meg ket a kis szm, de rosszindulat s bnz felhasznlktl. A protokollok megvltoztatsa egyre nehezebb. Egyre bonyolultabbak, mivel a verseng zleti rdekeket, biztonsgot, szemlyisgjogi vdelmet s a tzfalak s hlzati cmfordtk ltal okozott hlzatok tltszsgnak hinyt is szem eltt kell tartaniuk. Mivel a multimdia-hlzat ptse majdnem az egsz fogyaszti szrakoztat ipar alapjv vlik, hangslyt kell majd helyezni a hatalmas hlzatok kis kltsg kezelsre. A felhasznlk elvrjk majd, hogy ugyanazt a tartalmat minden eszkzkn megtallhassk. Mi az oka a SP gretes jvjnek? Ahogyan a jelenlegi vezetk nlkli hlzat 3G-hlzatt fejldik, van arra remny, hogy egyetlen multimdis jelzsi mechanizmus terjedjen el az sszes hlzattpuson, a kbelmodemektl a vllalati telefonos hlzatokon keresztl egszen a nyilvnos vezetk nlkli hlzatokig. A rdis szoftverekkel egytt ez lehetv teszi a jvben, hogy egyetlen eszkzt hasznlhassunk majd az otthoni hlzatban vezetk nlkli Bluetooth telefonknt, vllalati hlzatban 802.11 kapcsolaton keresztl s nagy kiterjeds 3G-hlzatokban. Mg mieltt egy ilyen egyetlen univerzlis vezetk nlkli eszkznk lenne, a szemlyi mobilitsi mechanizmusok lehetv teszik, hogy a hlzatok kztti klnbsgeket elrejt sk. Egyetlen azonost elegend lesz majd egy szemly elrsre, a jelenlegi krlbell fl tucat technikai s helyspecifikus telefonszm megjegyzse s tovbbadsa helyett. A SP elvlasztja a hang- (bit) tvitelt a hangszolgltatstl. Technikailag mr most lehetsg van arra, hogy a helyitelefon-monopliumot levlasszuk, ahol az egyik cg a hagyomnyos bitl vitelt biztostja, mg msok az IP hangtrcszst s a klasszikus telefonszolgltatsokat, mint pldul az tjrkat, hvstovbbtst s a hv fl azonostjt. A multimdis jelzsen tl a SP lehetv tesz egy j szolgltatst, amely az interneten eddig hinyzott: egy esemny jelzst. Ltrehoztunk kzel hasonl szolgltatsokat a HTTP barkcsolsval s az e-mail hasznlatval, m ezek sohasem voltak kielgtek. Mivel az esemnyek az elosztott rendszerek szmra egy kzs absztrakci, ez egyszerstheti az j szolgltatsok ltrehozst. Milyen tancsokat tud adni azoknak az egyetemi hallgatknak, akik most kezdenek cl foglalkozni a hlzatokkal?

8.1. Mit jelent a hlzati biztonsg?

A hlzatok mr majdnem klasszikus thidal diszciplna. Mert a villamosmrnki tudomnybl, az informatika minden rszbl, az opercikutatsbl, a statisztikbl, a kzgazdasgtanbl s ms terletekrl. gy a hlzatokkal foglalkoz kutatknak a protokollokon s tvlaszt-algoritmusokon kvl rengeteg mindennel tisztban kell lennik. Mivel a hlzatok a mindennapi let fontos rszeiv vltak, azoknak az egyetemi hallgatknak, akik ezen a terleten ttrst szeretnnek elrni, az j hlzati erforrs-korltokra kell gondolniuk: az emberi idre s energira sokkal inkbb, mint a svszlessgre s trkapacitsra. A hlzati kutatsban val munka mindenkit roppant megelgedssel tlthet el, mivel az emberek kztti kommunikcirl s az elkpzelsek kicserlsrl szl, az emberi lt egyik alapvet tulajdonsgrl. A szllts s az energiaeloszts mellett az internet vlt a vilg harmadik globlis infrastruktrjv. A gazdasg szinte semmilyen rsze nem mkdhet a nagysebessg hlzatok nlkl, gy ezen a terleten rengeteg lehetsg nylik a kzeli jvben.

A hlzati biztonsggal kapcsolatos vizsgldsunk elejn trjnk vissza Alice-hez s Bobhoz, a szerelmesekhez, akik biztonsgosan" szeretnnek kommuniklni. Egsz pontosan mit jelent ez? Az biztos, hogy Alice szeretn, ha kizrlag Bob rten meg a neki kldtt zenetet, akkor is, ha egy olyan nem biztonsgos kzegen keresztl trtnik a kommunikci, ahol egy tmad (Trudy) kpes elfogni minden zenetet, amit Alice Bobnak kld. Bob pedig arrl szeretne meggyzdni, hogy az zenetet, amit Alice-tl kapott, valban Alice kldte, mikzben Alice is biztosan akarja tudni, hogy akivel beszl, az tnyleg Bob. Mindketten biztosak akarnak lenni abban is, hogy az zeneteik tartalmt nem vltoztattk meg tkzben. Mindenekeltt pedig arra szeretnnek garancit, hogy egyltaln kommuniklhatnak, azaz senki nem akadlyozza meg, hogy hozzfrjenek azokhoz az erforrsokhoz, amelyek kommunikcijukhoz szksgesek. Ezen meggondolsok mentn a biztonsgos kommunikci albbi elvrt tulajdonsgait hatrozhatjuk meg: Titkossg. Egy elkldtt zenet tartalmt kizrlag a kldje s a cmzettje legyen kpes rtelmezni. Mivel egy hallgatz fl megszerezheti az zenetet, az zenetet valahogyan titkostani kell (azaz a tartalmt el kell rejteni), hogy az elfogott zenetet ne tudjk illetktelenek dekdolni (a tartalmt megfejteni). Alighanem legtbbszr a titkossgnak ezen rtelmezsre gondolunk a biztonsgos kommunikci kifejezs hallatn. Azonban, nemcsak hogy a biztonsgos kommunikci fogalma nem korltoz dik ennyire (a biztonsgos kommunikci tovbbi szempontjait trgyaljuk albb), de ez a titkossgnak is csak egy szk defincija. Lehetsges pldul, hogy Alice azt is titokban szeretn tartani, hogy egyltaln Bobbal kommunikl (vagy a beszlgetsek idpontjt, s/vagy gyakorisgt is). Az adatok titkostsnak s visszafejtsnek kriptogrfiai mdszereit a 8.2. alfejezetben trgyaljuk. zenetintegrits. Abban az esetben is, ha a kld s a vev hitelesteni tudjk egymst, afell is biztosak szeretnnek lenni, hogy az zeneteik tartalmt az tvitel sorn nem mdostottk sem szndkos rosszindulattal, sem vletlenl. Az ellenrz sszegeken alapul mdszerek, amelyekkel a megbzhat szlltsi s adatkapcsolati protokollok kapcsn tallkoztunk, kiegszthetk

gy, hogy az zenetek ilyen rtelemben vett integritst biztostsk. Errl szl a 8.3. alfejezet. Vgpont-hitelests. Mind a kldnek, mind a vevnek meg kell tudni bizonyosodni a msik fl kiltrl, vagyis arrl, hogy akivel kommunikl, az valban az, akinek (vagy aminek) mondja magt. Ha emberek egymssal szemtl szemben beszlnek, akkor vizulis felismerssel knnyedn megoldjk ezt a problmt. Amikor azonban a kommunikl felek olyan kzegen keresztl vltanak zeneteket, ahol nem lthatjk egymst, a hitelests nem megy ilyen egyszeren vgbe. Mi alapjn kellene elhinnnk pldul, hogy egy e-mail, amiben az ll, hogy egy bartunk kldte, valban tle jtt? Ha valaki felhvna, s azt lltan hogy a bank nevben telefonl, ahol a szmlnkat vezetik, s arra krne, hogy adjuk meg a szmlaszmnkat, a titkos azonost sz munkat (FN-kd) s az egyenlegnket ellenrzs cljbl, vajon elmondannk-e ezeket az adatokat telefonon keresztl? Remlhetleg nem! A vgponthitelests mdszereit a 8.4. alfejezetben vizsgljuk. Mkdsi biztonsg. Mra majdnem minden szervezet (cgek, egyetemek stb.) rendelkezik a nyilvnos hlzatra, az internetre csatlakoz sajt hlzattal. Ezeket veszlyeztethetik azok a tmadk, akik az interneten keresztl hozzfrnek a hlzathoz. A t-

117 Adatok
Biztonsgi uzeneiklds Vezerlo- s adatzenetek Biztonsgi zenetCsatorna rogadas

7. MUI.TIMDIAAdatok -HLZATOK

Alice

Bob

Trudy

8.1.

bra. Kld, vev s tmad

madk megksrelhetik fregprogramok teleptst a gpekre, vagy megtudhatnak szervezeti titkokat, vagy feltrkpezhetik a bels hlzat felptst, s DoS-tmad- sokat indthatnak ellene. A 8.9. alfejezetben ltni fogjuk, hogy egy szervezet hlzata elleni tmadsok elhrtsra olyan eszkzk szolglnak, mint a tzfalak s a behatolsjelz rendszerek. A tzfal a szervezet hlzata s a nyilvnos hlzat kztt helyez kedik el, s felgyeli a be- s kimen csomagokat. Egy behatolsjelz rendszer a cso magokat mlyrehat vizsglatnak veti al, s rtesti a rendszergazdt a gyans tev kenysgekrl. Miutn tisztztuk, hogy mit rink hlzati biztonsgon, hatrozzuk meg pontosan, hogy egy tmad milyen informcikhoz frhet hozz s milyen mveleteket hajthat vgre. A 8.1. brn lthat a szereplk elhelyezkedse. Alice, a kld szeretne adatot kldeni Bobnak, a vevnek. Annak rdekben, hogy az adatcsere biztonsgos legyen, azaz teljestse a titkossg, vgpont-hitelests s zenet integrits kvetelmnyeit, Alice s Bob vezrl- s adatzenete ket fognak vltani (nagyon hasonlan ahhoz, ahogy egy TCP-sszekttets kldje s vevje is vezrl- s adatszegmenseket kldenek). Jellemzen ezen zenetek egy rszt vagy kzlk mindegyiket titkostjk. Ahogy azt az 1.6. alfejezetben trgyaltuk, egy tmad kpes: hallgatzni - lehallgatni s rgzteni a csatornn kldtt vezrl- s adatzeneteket. mdostani, beszrni vagy trlni zeneteket vagy azok tartalmt.

Ltni fogjuk, hogy amennyiben nem tesznk megfelel ellenintzkedseket, ezen kpessgek sokfle tmads kivitelezsre nyitnak lehetsget egy tmad szmra: lehallgathatja a kommunikcit (ellophat jelszavakat s ms adatokat), megszemlyesthet ms entitst, eltrthet egy mr mkd kapcsolatot, vagy a rendszer erforrsainak tlterhelsvel megakadlyozhatja, hogy a jogszer felhasznlk ignybe vehessenek bizonyos szolglta tsokat stb. Ezekkel s ms biztonsgi fenyegetettsgekkel foglalkozik egy tanulmnyktet [Denning 1997) s Rubin nagyon olvasmnyos knyve is [Rubin 2001). Az ismert tmad sok listjt a CERT Coord inat ion Center [CERT 2007) tartja folyamatosan karban. Ezeken kvl rdekesek mg a [Cisco Security 2007; Voydock 1983; Bhimani 1996) forrsok. Megllaptottuk teht, hogy tnyleges fenyegetettsgeket rejt az internet, de vajon mi lehet a mi biztonsgosan kommunikl bartaink, Alice s Bob internetes megfelelje? Termszetesen Alice s Bob lehetnek valdi emberek, felhasznlk egy rendszer kt vg

7. MUI.TIMDIA-HLZATOK pontjnl, pldul egy igazi Alice s egy igazi Bob, akik valban biztonsgosan szeretnnek e-maileket kldeni egymsnak. Vagy lehetnek egy elektronikus vsrlsi tranzakci rsztvevi is. Pldul lehet, hogy egy igazi Bob a hitelkrtyja szmt szeretn biztonsgosan elkldeni egy webszervernek, hogy megvsroljon egy termket az interneten keresztl. Ehhez hasonlan elkpzelhet, hogy egy valdi Alice online szeretne kapcsolatba lpni a bankjval. Lehetsges azonban, ahogy a [RFC 1636] is rja, hogy a biztonsgos kommunikcit ignyl felek a hlzati infrastruktra rszei. Emlkezznk arra, hogy kt fl kzti biztonsgos kommunikcira van szksg a nvfeloldst vgz rendszer eset ben is (DNS, lsd 2.5. alfejezet), valamint akkor is, amikor az tvonalvlaszt folyamatok routing informcit cserlnek. Ugyancsak gy van a 9. fejezetben trgyaland hlzatfel gyeleti alkalmazsok esetben is. Az interneten valsggal elszabadulna a pokol, ha egy tmad kpes lenne sszezavarni, irnytsa al vonni vagy meghamistani akr a DNS keresseket s frisstseket (ahogy a 2.5. alfejezetben trgyaltuk), akr az tvonalvlasztst [Murphy 2003] vagy ppen a hlzatfel gyeleti feladatokat [RFC 2574]. Ezek utn mr adott egy vzunk, tisztztuk a legfontosabb fogalmakat s belttuk a hlzati biztonsg szksgessgt. A kvetkezkben nzznk a kriptogrfia mlyre. Amikor titkossgra treksznk, magtl rtetd a kriptogrfia alkalmazsa. Hamarosan ltni fogjuk azonban, hogy ez a vgponthitelestsnl s az zenetintegritsnl is kulcsszerepet kap, ezltal a kriptogrfia a hlzatbiztonsg alappillre lesz.

119

8.2. A titkosts elvi alapjai


Br a kriptogrfia hossz trtnete legalbb Julius Caesarig nylik vissza, azok a modern kriptogrfiai mdszerek, amelyek kzl szmos az interneten is hasznlatos, az utbbi 30 v fejldsnek eredmnye. Kahn The Codebreakers cm knyve [Kahn 1967] s Singh knyve, a Kdknyv - A rejtjelezs s rejtjelfejts trtnete [Singh 1999] lenygz kpet festenek a titkosts sokfejezetes trtnetrl. A kriptogrfit mszaki, azon bell hlza ti szempontbl [Kaufmann 1995] trgyalja rszletesen (s ugyanakkor szrakoztat, ol vasmnyos formban). A kriptogrfival ma mr elvlaszthatatlanul sszekapcsoldott politikai s trsadalmi problmknak (pldul a szemlyes adatok vdelme) kivl s napraksz ttekintse s elemzse [Difii 1998] munkja. A kriptogrfia teljes mlysg trgyalsa nmagban is megtlt egy knyvet [Kaufman 1995; Schneier 1995], ezrt itt csak a legalapvetbb ptelemekre szortkozunk, mgpedig abban a formban, ahogy az interneten is alkalmazzk ket. A tma irnt rdekldk szmra kivl honlap az RSA Labs FAQ [RSA FAQ 2007]. rdemes itt megjegyeznnk, hogy ebben a fejezetben a titkossgra fogunk koncentrlni, azonban nemsokra ltjuk majd, hogy a kriptogrfia meg kerlhetetlenl tszvi a hitelests, az zenetintegrits, a letagadhatatlansg s szmos egyb terlet krdseit is. A titkostsi eljrsok lehetv teszik egy kld szmra, hogy az adatait gy elvltoztassa, hogy egy illetktelen semmilyen informcihoz ne jusson hozz az adatok megfigyelsvel. Termszetesen a vevnek vissza kell tudnia lltani az clvltoztatott adatokat. A 8.2. bra mulatja be a legfontosabb fogalmakat. Tegyk fel, hogy Alice szeretne zenetet kldeni Bobnak. Alice zenett eredeti

formjban (pldul: Szeretlek Bob. Alice) nylt szvegnek (plaintext, cleartext) nevezzk. Alice az zenett egy rejtjelez (kdol) algoritmus (encryption algorithm)

614
Jells:
Nylt szveg

VLASZOL HRNNING SCHULZRINN

Nylt szveg

By Rejtjelez algoritmus (kdols

Rejtett szveg
Dekdols

\ 4 Csatorna

Trudy
Kulcs

8.2.

bra. A titkosts elemei

segtsgvel titkostja, gy a titkostott zenet - amelyet rejtett szvegnek (ciphertext) neveznk - az illetktelenek szmra rtelmezhetetlenn vlik. rdekes mdon a legtbb modern kriptogrfiai rendszer esetben, gy az interneten hasznlatos megoldsoknl is, maga a rejtjelezs mdja ismert, vagyis publiklt, szabvnyos, brki szmra - mg a lehetsges tmadk szmra is hozzfrhet (pldul [RFC 1321; RFC 2437; RFC 2420; NIST 2001]). Ha mindenki ismerheti az adatok kdolsnak mdjt, nyilvn kell lennie valamilyen titkos informcinak, ami megakadlyozza, hogy illetktelenek is dekdoljk az adatokat. Ennl a pontnl kapnak szerepet a kulcsok (key). A 8.2. brn Alice a rejtjelez algoritmus bemenetn megadja a KA kulcst, amely szmok vagy betk egy sorozata. A rejtjelez algoritmus bemeneteknt az m nylt zenet, valamint a kulcs szolgl, kimenete pedig a rejtett szveg. Egy m nylt szvegnek a KA kulccsal val titkosts eredmnyeknt ltrejv rejtett megfeleljt K{m) jelli. A szvegkrnyezetbl vilgosan kiderl majd, hogy ppen melyik rejtjelez algoritmus bemenetn hasznljuk a K A kulcsot. Bob is hasonlan tesz, megad egy Kf kulcsot a dekdol algoritmusnak (decryption algorithm), amelynek bemenete egyrszt Bob kulcsa, ms rszt a rejtett szveg, kimenete pedig az eredeti nylt szveg. Ms szavakkal. Bob meg kapja a titkostott KA(m) zenetet, s KB(KA{m) -m szmtsval tudja azt dekdolni. Szimmetrikus kulcs rendszerek (symmetric key system) esetn Alice s Bob kulcsa megegyezik, s senki ms nem ismerheti. Nyilvnos kulcs rendszerekben (public key system) kulcsprokat hasznlnak. A egyik kulcsot ismeri Alice s Bob is (st, valjban a vilgon mindenki). A msik kulcsot viszont csak Alice vagy csak Bob tudhatja, mindketten nem. A kvetkez szakaszban rszletesen is megvizsgljuk a szimmetrikus kulcs s a nyilvnos kulcs rendszereket.
Egy kis trtnelem Kdfeltr versenyek A 56 bites DES (Data Encryption Standard) titkositt elsknt az USA kormnyzata alkalmaz ta, de ma is szles krben hasznljk pnzgyi szolgltatk s ms ipargak is rzkeny adataik vdelmre. Az RSA Security nev cg egy teljes DES-tr versenysorozatot szponzorl, hogy

VLASZOL HENMING SCHULZRINNE


felhvja a figyelmet arra, hogy az 56 bites szabvnynl ersebb kdolsra van szksg. A fel-

615

8.1. MIT

JELENT A HLZATI BIZTONSG?

123

advny egy 56 bites DES-el rejtjelezett zenet megfejtse minl rvidebb idn bell. A kdtrk az sszes lehetsges kulcs vgigprblsval oldjk ezt meg. Az RSA 10 000 dollros djat fizet a gyztesnek. Az els DES-tr versenyt 1997-ben egy coloradi csapat nyerte meg, akik kevesebb mint ngy hnap alatt talltk meg a titkos kulcsot. Azta a technika fejldse rvn sokkal gyor sabban vgrehajthat a kimert keress. 1998. februrjban a Distibuted.Net nyerte az RSA II-l DES-tr versenyt, 41 napos teljestmnnyel, majd jliusban az Electronic Frontier Foundation (EFF) nyert az RSA II-2 DES-tr versenyen, amikor 56 ra alatt fejtett meg egy DES-zenetet. 1999 janurjban a Distributed.Net, amely szmtgp-rajongk egy vilgmret szvets ge, az EFF Deep Crack-kel, egy erre a clra tervezett szuperszmtgppel, valamint vilgszerte kzel 10 000 internetre kttt PC-vel dolgozott, s nyerte meg a III. RSA DES-tr versenyt mindssze 22 ra s 15 perc alatt. Az EFF Deep Crack s a Distibuted.Net gpei egytt msodpercenknt 245 millird kulcsot prbltak ki.

8.2.1. Szimmetrikus kulcs titkosts


Minden titkostsi eljrs bizonyos dolgoknak valami mssal val helyettestsvel jr. Vegyk pldul a nylt szveg egy rszt, szmtsuk ki a hozz tartoz rejtett szveget, majd ezt tegyk a helyre, gy megkapjuk a titkostott zenetet. Mieltt rtrnnk egy modern, kulcsalap kriptogrfiai rendszer tanulmnyozsra, bevezetsknt nzznk meg egy igen rgi, roppant egyszer szimmetrikus kulcs eljrst, amelyet Julius Caesarnak tulajdontanak, s ezrt Caesar-kdolsnak (Caesar cipher) neveznk. Egy magyar nyelv szvegre a Caesar-kdols gy mkdne, hogy a nylt szveg minden egyes betjt kicserljk az bcben a tle k betvel htrbb lv betre (a krbefordulsi is megengedjk, mintha a z utn az a kvetkezne, a ketts s hrmas hangzkat nem szmtjuk, hanem betnknl kln tekintjk). Pldul ha k = 3, a nylt szveg a betit c betre cserljk a rejtett szvegben, a nylt szvegbeli b rejtjelezettje e lesz stb. Jelen esetben A' rtke szolgl kulcsknt. Fia pldul a nylt szveg szeretlek bob. ali- ce, akkor a rejtett szveg: bgugogn ee. cokg lesz. Hiba tnik a rejlett sz veg valban rtelmetlennek, nem tartana sok visszafejteni, ha tudjuk, hogy Caesar-kdo lssal kszlt, mivel mindssze 34 lehetsges rtke van a kulcsnak. A Caesar-kdol tovbbfejlesztett vltozata a monoalfabetikus kdols (monoalp- habetic cipher), amely szintn az bc betit helyettesti az bc egy msik betjvel. A helyettests viszont nem szablyszer (mint pldul egy k betvel val eltols), hanem brmely bet helyettesthet brmely msikkal, feltve, hogy minden betnek csak egy megfelelje van, tovbb minden bet csak egy msiknak a megfelelje. A 8.3. brn lthat helyettestsi szably a nylt szveg kdolsnak egy lehetsges mdjt mutatja.

124

8.

SZMTGP-HLZATOK

BIZTONSGA

a b e d e f g h i j k i m n o p q r s t u v w x y z Rejtett szveg beti: m n b v c x z a s d f a h j k . 1 p o i u y t r e w q


Nylt szveg beti:

A szeretlek bob. alicekdolsa ixoxujxh nn. mjdvx. A Caesar-k- dolshoz hasonlan, ezttal is rtelmetlennek ltszik a szveg. A monoalfabetikus kdol annyiban tnik jobbnak a Caesar-kdolsnl, hogy 34 helyett 35! (lO -10 nagysgrend) a lehetsges betprostsok szma. Mind a 10 prosts vgigprblsa tl sok munkval jrna ahhoz, hogy ez a kd feltrsnek, egy zenet megfejtsnek jrhat tja legyen. A nylt szveg nyelvnek statisztikai elemzsvel viszont arnylag knnyen trhet ez a kd is. Angol szveg esetn tudjuk pldul, hogy az e s a t a kt leggyakoribb bet egy szvegben (az sszes bet 13, illetve 9 szzalka), tovbb bizonyos betk sokszor szerepelnek egytt prban vagy bethrmasokban (angolban ilyenek: in, it, the, ion, ing stb.). Mg knnyebben boldogulhat egy tmad a kd trsvel, ha az zenetek lehetsges tartalmrl is van nmi ismerete. Pldul ha Bob felesge, Trudy a kvncsiskod, s gyantja, hogy Bobnak viszonya van Alice-cl, sejtheti, hogy a bob s alice nevek szerepelnek a szvegben. Ma Trudy biztosan tudja, hogy a kt nv szerepel a rejtett szvegben, s birtokba jut az elbbi plda szerinti rejtett szveg, a 35 betprbl azonnal meg tud hatrozni hetet, gy mris a 10-ed rszre cskkent a kimert keresssel vgigprbland prostsok szma. A valsgban ha Trudy tnyleg azzal gyanstja Bobot, hogy viszonya van, joggal szmt hat bizonyos jl megvlasztott szavak elfordulsra az zenetben. Ha azt vizsgljuk, hogy mennyire nehezen tudja Trudy Alice s Bob titkostst megtrni, hrom lehetsget klnbztethetnk meg aszerint, hogy a tmadnak milyen informcik llnak rendelkezsre. Rejtett szveg tmads. Bizonyos esetekben a tmad csak elfogott rejtett szvegekhez fr hozz, semmi biztosat nem tud a nylt zenet tartalmrl. Lthattuk, hogy a statisztikai elemzs miknt segt a rejtett szveg tmads (ciphertext-only attack) vgrehajtsban. 1 Ismert nylt szveg tmads. Az imnt lttuk, hogy ha Trudy biztos benne, hogy a bob s alice szavak szerepelnek a rejtett zenetben, akkor az a, l, i, c, e, b s o betk (nylt, rejtett) betprostst meg tudja hatrozni. Elkpzelhet, hogy Trudy olyan szerencss volt, hogy sikerlt megszereznie minden rejtett zenetet, majd rtallt az egyik zenet dekdolt vltozatra is, amelyet Bob rt fel egy darab paprra. Valamely titkost algoritmus elleni, ismert nylt szveg tmadsnak (knovvn-plaintext attack) nevezzk azt az esetet, amikor a tmad ismer (nylt szveg-rejtett szveg) prokat. Vlasztott nylt szveg tmads. A vlasztott nylt szveg tmadsnl (chosen- plaintext attack) a tmad megvlaszthatja, hogy mely nylt szveg titkostott vltozatt szeretn megtudni. Az eddigiekben bemutatott egyszer titkost algoritmusok esetn pldul Trudy teljes egszben feltrn a titkostt, ha r tudn venni Alice-t, hogy a kvetkez zenetet kldje
1 A fordt vethet be.

megjegyzse: Valjban a statisztikai elemzs csak a helyettestses kdolknl

8.1. MIT

JELENT A HLZATI BIZTONSG?

125

titkostva: Egy htlen vejt fln csp, dhs mexiki r Wesselnyinl mzol Quitban. Ltjuk majd, hogy a kifinomultabb titkostsi mdszerek esetn a vlasztott szveg tmads sem felttlenl eredmnyezi a titkostsi eljrs feltrst. tszz vvel ezeltt talltk fel a monoalfabetikus kdoln alapul tovbbfejlesztett eljrst, a polialfabetikus titkostst (polyalphabetic encryption). A polialfabetikus kdols tlete az, hogy tbb monoalfabetikus kdolt alkalmaznak, a nylt szveg adott poz-

126

8.

SZMTGP-HLZATOK

BIZTONSGA

djban lv beti egy adott monoalfabetikus kdol szerint titkostva. gy a nylt szveg klnbz helyein elfordul azonos betknek tbbfle kdolt megfelelje lehet. A 8.4. brn lthatunk pldaknt egy polialfabetikus kdolt. Ahogy a sorok mutatjk, a kdol kt Caesar-titkostt alkalmaz (k = 5 s k = 19 kulcsokkal). Ezt a kt Caesar-kdolt, C, -t s C 2 -t, hasznlhatjuk a C,,C,,C P C,,C\ minta szerint ismtelve. Azaz, a nylt szveg els betjt C, szerint, a msodikat C2 szerint, a harmadik s negyedik bett C, szerint, mg az tdiket C 2 szerint kdolva. A minta ismtldik, vagyis a hatodik bett ismt C, -el, a hetediket C, -vei titkostjuk s gy tovbb. A szeretlek bob. nylt zenet tit kostva: isvyi fqfVegyk szre, hogy az szveg els e betjt C,, mg a msodik e betjt C2 szerint kdoltuk. Ebben a pldban a kdols s a dekdols kulcsa a kt Caesartitkost kulcsnak (k = 5 s k = 19), valamint a C,, C,, C,, C,,C 2 mintnak az ismerete.

Nylt szveg beti: abc SZAMITOGEP- HLZATOK...............................................3 MKDS............................................................3

Tartalomjegyzk............................................................................................. 7

A szmtgp-hlzatok s az internet.......................................................26

1.1.Mi az az internet?..................................................................................... 2

1.1.1.Alkotrszek.......................................................................................... 2

1.1.2.Szolgltatsok....................................................................................... 5

8.1. MIT

JELENT A HLZATI BIZTONSG?

127

1.2. A hlzat szle...................................................................................... 11

1.2.1.Kliens- s szerverprogramok..............................................................14

1.2.2.Hozzfrsi hlzatok......................................................................... 14

1.2.3.Fizikai tviteli kzegek.......................................................................26

1.3.A hlzat magja...................................................................................... 30

1.3.1.Vonalkapcsols s csomagkapcsols.................................................30

1.3.2.Csomagok thaladsa csomagkapcsolt hlzatokon........................40

1.3.3.lnternetszolgltatk s internet-gerinchlzatok.............................41

1.4.Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban................................................................................................. 44

128

8.

SZMTGP-HLZATOK

BIZTONSGA

1.4.1.Ksleltetsek ttekintse...................................................................46

1.4.2.Sorbanllsi ksleltets s csomagveszts......................................52

1.4.3.Vgpontok kztti ksleltets............................................................55

1.4.4.Szmtgp-hlzatok tbocstkpessge.....................................58

1.5.Protokollrtegek s szolglati modelljeik.............................................63

1.5.1.Rtegezett architektra...................................................................... 63

1.5.2.zenetek, szegmensek, csomagok s keretek..................................72

1.6.Tmadsok a hlzatok ellen................................................................76

1.7.Szmtgp-hlzatok s az internet trtnete...................................84

8.1. MIT

JELENT A HLZATI BIZTONSG?

129

1.7.1.A csomagkapcsols kifejlesztse: 1961-1972...................................84

1.7.2.Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980..................87

1.7.3.Hlzatok gyors fejldse: 1980-1990..............................................88

1.7.4.Az internet robbansszer elterjedse: az 1990-es vek................89

1.7.5.Legutbbi fejlesztsek........................................................................90

1.8.sszefoglals.......................................................................................... 92

Krdsek........................................................................................................ 94

Feladatok....................................................................................................... 96

Gondolkodtat krdsek............................................................................105

130

8.

SZMTGP-HLZATOK

BIZTONSGA

Leonard Kleinrock....................................................................................... 108

Az alkalmazsi rteg..................................................................................113

2.1.Hlzati alkalmazsok elvi alapjai......................................................114

2.1.1.Hlzati alkalmazsi architektrk..................................................114

2.1.2.Kommunikl folyamatok.................................................................119

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok............................................................................................. 122

2.1.4.Internetes szlltsi szolgltatsok..................................................125

2.1.5.Alkalmazsi protokollok....................................................................130

2.1.6.A knyvben trgyalt hlzati alkalmazsok....................................131

8.1. MIT

JELENT A HLZATI BIZTONSG?

131

2.2. A web s a HTTP.................................................................................. 132

2.2.2.Idleges s lland sszekttetsek...............................................134

2.2.3.HTTP-zenetformtumok..................................................................140

2.2.4.Felhasznl s szerver kztti egyttmkds: stik....................146

2.2.5.Webes gyorsttrazs.....................................................................149

2.3.Fjltvitel: FTP...................................................................................... 127

2.3.1.FTP-parancsok s -vlaszok.............................................................129

2.2.6.A feltteles GET................................................................................. 131

2.4.Elektronikus levelezs az interneten..................................................108

132

8.

SZMTGP-HLZATOK

BIZTONSGA

2.4.1.SMTP.................................................................................................. 134

2.4.2.sszehasonlts a HTTP-vei..............................................................113

2.4.3.Levl zenetformtumok s a MIM................................................114

2.4.4.Levl-hozzfcrsi protokollok...........................................................118

2.5.DNS - Az internet krzetnv-szolgltatsa.........................................131

2.5.1.A DNS ltal nyjtott szolgltatsok.................................................132

2.5.2.A DNS mkdsnek ttekintse.....................................................135

2.5.3.DNS-rekordok s -zenetek..............................................................131

2.6.P2P-alkalmazsok................................................................................. 139

8.1. MIT

JELENT A HLZATI BIZTONSG?

133

2.6.1.P2P-fj1cserls................................................................................ 140

F \................................................................................................................. 143

2.6.2.Informcikeress egy P2P-kzssgben........................................155

2.6.3.Esettanulmny: P2F internetes telefonls (Skype).......................163

2.7.TCP-szoketprogramozs......................................................................166

2.7.1.TCP-szoketprogramozs...................................................................168

2.7.2.Egy kliens-szerver alkalmazsi plda Javban programozva.........172

l.................................................................................................................... 183

t................................................................................................................... 186

134

8.

SZMTGP-HLZATOK

BIZTONSGA

Bram Cohen................................................................................................ 202

A szlltsi rteg......................................................................................... 205

O.................................................................................................................. 245

O.................................................................................................................. 211

Sally Floyd................................................................................................... 295

A hlzati rteg.......................................................................................... 298

Vinton G. Cerf............................................................................................. 151

1................................................................................................................... 196

1................................................................................................................... 196

8.1. MIT

JELENT A HLZATI BIZTONSG?

135

r,=2X.......................................................................................................... 231

p*"~ j........................................................................................................... 242

I I l i............................................................................................................. 106

8.4. bra. Polialfabetikus kdol kt Caesar-titkost alkalmazsval

Blokkrcjljclezk
Haladjunk most mr a modern idk fel, s vizsgljuk meg, hogyan is trtnik a szimmetrikus kulcs titkosts manapsg. A szimmetrikus kulcs titkostsi mdszerek kt nagy csoportra oszthatk: kulcsfolyamatos-rejtjelezkre (stream cipher) s blokkrejtjelezkre (block cipher). A kulcsfolyamatos rejtjelezkkel rviden a 8.8. alfejezetben fogunk foglalkozni a vezetk nlkli hlzatok biztonsga kapcsn. Jelen alfejezetben a blokkrejtjelezkre koncentrlunk, amelyeket szmos interneten hasznlt biztonsgi protokoll, belertve a PGP (biztonsgos levelezs), SSL (biztonsgos TCP-sszekttets), valamint az IPsec (biztonsgos hlzati rteg), is alkalmaz. A blokk rejtjelezk a titkostand zenetet k bitbl ll blokkokban dolgozzk fel. Ha pldul k = 64, akkor az zenetet 64 bites blokkokra bontjk, s minden blokkot kln-kln titkostanak. A kdol egy blokk titkostshoz egy klcsnsen egyrtelm lekpezst hasznl, ezzel a k bites nylt szveget tartalmaz blokknak egy k bites titkostott szveget tartalmaz blokkot feleltet meg. Hogy kzelebbrl megvizsglhassuk a blokk rejtjelezket, vegynk egy egyszer pldt. Tegyk fel, hogy k = 3, azaz a blokk rejtjeleznk 3 bites bemenetet (nylt szveg) 3 bites kimenetre (rejtett szveg) kpez le. Egy lehetsges lekpezs lthat az albbi tblzatban: kerneiie t 000 001 010 011
kimenet

bemenet 100 101 110 111

kme.o.et 011 010 000 001

110 111 101 100

136

8.

SZMTGP-HLZATOK

BIZTONSGA

8.2. A

TITKOSTS ELVI ALAPJAI

137

Figyeljk meg, hogy a lekpezs klcsnsen egyrtelm, vagyis minden lehetsges bemenethez ms-ms kimenet tartozik. Ez a blokkrejtjelez 3 bites blokkokra osztja az zenetet, s a fenti lekpezs szerint titkostja azokat. Ellenrizheti az olvas, hogy a 010110001111 zenet titkostott megfelelje az 101000111001 zenet lesz. Maradva ennl a 3 bites pldnl, rdemes megjegyezni, hogy a fent ltott csupn egy az sszes lehetsges lekpezs kzl. Hnyfle lekpezs lehetsges? Hogy ezt a krdst megvlaszolhassuk, vegyk szre, hogy a lekpezs nem ms, mint az sszes lehetsges bemenet egy permutcija. sszesen 2 3 (=8) lehetsges bemenet ltezik (a bemenet oszlop elemei). Ez a 8-fle bemenet 8! = 40 320 klnbz mdon permutlhat. Mivel minden permutci meghatroz egy lekpezst, sszesen 40 320-fle lekpezs lehetsges. Ezen lekpezsek kulcsnak is tekinthetk - ha Alice s Bob is ismerik a megfeleltetst (vagyis a kulcsot), az egymsnak kldtt zeneteiket kpesek kdolni s dekdolni. A kimert keresses tmads ez ellen a kdol ellen a rejtett szvegnek az sszes lehetsges lekpezssel val dekdolsa. Ha 40320-fle lekpezs lehet csupn (k = 3), ez gyorsan kivitelezhet akr egy asztali PC-vel is. A kimert keresses tmadsokat elkerlend, a blokkrejtjelezk ltalban sokkal hosszabb, 64 bites, vagy annl is nagyobb mret blokkokkal dolgoznak. rdemes megjegyezni, hogy a lehetsges lekpezsek szma 2 1 !, amely k viszonylag kis rtkei (mint pldul k = 64) mellett is csillagszati rtk. A bemutatott formjukban a teljes-tbls blokkrejtjelezk kis k rtkek mellett is ers szimmetrikus kulcs titkostk lehetnek, de sajnos nehezen megvalsthatk, k = 64 esetn egy adott lekpezs hasznlatakor Alice-nek s Bobnak egy 2 61 -fle bemenetet tartalmaz tblzattal kellene dolgoznia, amely kivitelezhetetlen feladat. St, ha Alice s Bob szeretn lecserlni a kulcsot, mindkettejknek jra el kellene lltani a tblzatot. A teljes-tbls blokkrejtjelezk, amelyek egy elre meghatrozott lekpezst valstanak meg a lehetsges bemenetek s kimenetek kztt (mint a fenti pldban), gy szba sem jhetnek. ltalban a blokkrejtjelezk ehelyett olyan fggvnyeket hasznlnak, amelyek gy viselkednek, mint a vletlenl permutlt tblzatok. Pldaknt lthat egy ilyen fggvny k = 64 bitre a 8.5. brn (a pldt a [Kaufmann 1995|-bl vettk t). A fggvny elszr 8, egyenknt 8 bitbl ll darabra bontja a 64 bites blokkot. Minden 8 bites darabot egy 8 bitbl 8 bitbe lekpez, mg kezelhet mret tblzat segtsgvel dolgoz fel. Az els 8 bites darabot pldul a -gyei jellt tblzattal. Ezutn, a kimenet 8 bites darabjait jra egy 64 bites blokk rakja ssze. A blokkon bell ezutn a 64 bitet sszekeveri (permutl ja), gy szletik egy 64 bites kimenet. Ezt a kimenetet visszacsatolja a 64 bites bemenetre, s egy j ciklus kezddik. A fggvny kimeneteknt n ciklus utn ll el vgl a 64 bites rejtett szveg. Az ismtlsek azt a clt szolgljk, hogy a bemenet egyetlen bitje a kimenet legtbb (vagy minden) bitjnek kialakulsban szerepet jtsszon. (Ha csak egyszer futtatnnk, egy adott bemeneti bit csupn 8 kimeneti bitre lenne hatssal.) Ennek a blokkrejtjeleznek a 8 permutcis tblzat lenne a kulcsa (feltve, hogy a kevers mindig ugyanaz). Manapsg szmos npszer blokkrejtjelez ltezik, tbbek kztt a DES (Data Encryp- tion Standard), a 3DES s az AES (Advanced F.ncryption Standard). Ezen szabvnyok kzl mindegyik fggvnyeket hasznl elre definilt tblzatok

138

8.

SZMTGP-HLZATOK

BIZTONSGA

helyett a 8.5. brnak megfelelen (jllehet, azok sokkal bonyolultabbak, s jellemzek az adott titkostra). Az algoritmusok kivtel nlkl felhasznlnak kulcsknt egy bitsorozatot. A DES pldul 64 bites blokkokhoz 56 bites kulcsokat hasznl. Az AES 128 bites blokkokkal dolgozik, a kulcs hossza pedig vlaszthat: 128, 192 vagy 256 bites lehet. Egy algoritmusnak a kul csa hatrozza meg a kis tblzatok lekpezseit s azokat a permutcikat, amelyeket az algoritmus futsa sorn felhasznl. Minden ilyen titkost ellen a kimert keresses

8.2. A

TITKOSTS ELVI ALAPJAI

139

64 bites bemenet

8 bit

/ 7 IZ
8 bit

/ \

8 bit

T
Ismtls n-szer 8 bit 8 bit

8 bit
i
v

8 bit i.
Y

8 bit
4 /\

8 bit

8 bit

Y V

8 bit

8 bit
\

8 bit
/

8 bit
/

8 bit

8 bit

\\\

/7

64 bites kevers

64 bites kimenet 64 bites kimenet

8.5. bra. Egy blokkrejtjelez (plda)


tmads (brute force attack) a dekdol algoritmusnak az sszes lehetsges kulccsal val vgigprblsa. Vegyk szre, hogy egy n hossz kulcs 2"-fle rtket vehet fel. A NIST [NIST 2001) becslse szerint egy olyan gp, amely egy msodperc alatt kpes lenne feltrni egy DES-t (vagyis mind a 2 56 kulcsrtket vgigprblja egyetlen msodperc alatt), krlbell 149 billi (149 x 10 ,J ) v alatt trne fel egy 128 bites kulcs AES-rejtjelezt.

Titkostott blokkok lncolsa


Szmtgp-hlzatokkal kapcsolatos alkalmazsokban ltalban hossz zenetek, vagy hossz adatsorok titkostsra van szksg. Ha a blokk rejtjelezt az imnt lert mdon hasznlnnk, vagyis egyszeren k bites darabokra vgnnk az zenetet, majd ezeket egymstl fggetlenl titkostannk, felmerlne egy apr, de lnyeges problma. Lssuk, mirl is van sz: vegyk szre, hogy a nylt szveg kt vagy tbb blokkja egyforma lehet. A nylt szveg pldul kt vagy tbb

140

8.

SZMTGP-HLZATOK

BIZTONSGA

blokkban is lehet HTTP/l.i. Az egyforma nylt sz veg blokkokbl termszetesen a blokkrejtjelez is egyforma rejtett blokkokat llt el. Egy tmad, ha ismeri a hlzati protokollt, amelyet Alice s Bob hasznl, kitallhatja a nylt szveg blokkokat, ha megfigyeli az egyforma rejtett blokkokat. F.gy tmad akr egsz rejtett zeneteket is kpes lehet megfejteni az alkalmazott protokoll ismeretben az egyforma rejtett blokkok beazonostsval [Kaufmann 1995]. A problma megoldsra a blokkrejtjelezk egy titkostott blokkok lncolsnak (Cipher Block Chaining, CBC) nevezett technikt hasznlnak. Hogy megrtsk a CBC-t, jellje m(i) a nylt szveg i-edik blokkjt, c{i)a rejtett szveg /-cdik blokkjt, a b pedig az a s b bitsorozat kizr vagy (XOR) kapcsolatt. Ezen kvl tegyk fel, hogy a blokkmret 64 bit. Jellje a titkost algoritmus S kulccsal val vgrehajtst Ks. A CBC mkdse a kvetkez:

1.

Az zenet (vagy adatsor) titkostsa eltt, a kld egy 64 bites vletlen bitsorozatot generl, amelyet inicializl vektornak (Initialization Vector, IV) neveznk. Jellje ezt az inicializl vektort c(0). A kld nylt szvegknt tkldi az lV-t a vevnek. 2. Az els blokk esetn a kld kiszmtja m(i) c(0) rtket, azaz a nylt szveg els blokkjnak s az inicializl vektornak XOR kapcsolatt. A megfelel rejtett blokkot ezutn gy kapjuk, hogy a mvelet eredmnyn vgrehajtjuk a blokkrejt- jelezs algoritmust, azaz c(l) = Ks{m{[) c(0)). A kld a titkostott c(l) blokkot kldi t a vevnek. 3. Az /-edik blokk esetn, a kld a c{i) = Ks(nt(i) c(i -1)) formulval kapja meg az /-edik rejtett blokkot. Vizsgljuk most meg ezen megkzelts kvetkezmnyeit. Elszr is, a vev gy is kpes visszalltani az eredeti zenetet. Mgpedig gy, hogy ha a vev megkapja c(0-t, dekdolja azt K$-sel, gy a kvetkezt kapja: s(i) = (m(i) c(i -1)). Mivel a vev ismeri c(i -l)-et is, a nylt szveg megfelel blokkjt megkaphatja m(i) = (s(i) c(i -1)) kiszmtsval. Msodszor pedig, meg akkor is, ha a nylt szveg kt blokkja megegyezik, a megfelel rejtett blokkok (majdnem mindig) klnbzek. Vgl pedig, annak ellenre, hogy az IV-t a kld nyltan tovbbtja, a tmad nem kpes dekdolni a rejtett blokkokat, mivel nem ismeri az S titkos kulcsot. A CBC-nek fontos kvetkezmnyei vannak, amikor biztonsgos hlzati protokollokat szeretnnk tervezni: szksg van a protokollban egy olyan mechanizmusra, amely eljuttatja az IV-t a kldtl a fogadhoz. A fejezet htra lv rszeiben tbb protokoll kapcsn is ltni fogjuk, hogy ez hogyan trtnik.

8.2.2. Nyilvnos kulcs rejtjelezs


Tbb mint 2000 ven keresztl (a Caesar-kdol idejtl egszen az 1970-es vekig) ahhoz, hogy kt fl titkostva kommuniklhasson, elbb egy kzs titkot - a kdolshoz s dekdolshoz hasznlt szimmetrikus kulcsot - kellett ltrehozni. Ezen megkzelts legfbb nehzsge, hogy a feleknek valahogy meg kell llapodniuk a kzs kulcsban. Ahhoz azonban, hogy ezt megtehessk, kommuniklniuk kell (radsul biztonsgosan)! Elkpzelhet, hogy a kt fl elbb szemlyesen tallkozik s megllapodnak egy kulcsban (pldul Caesar kt szzadosa tallkozhat egy rmai frdben), ezutn pedig mr titkostva kommuniklhatnak. A hlzat vilgban azonban elfordulhat, hogy a kom munikl felek soha nem tallkoznak vagy nem beszlnek egymssal, csakis a hlzaton keresztl. Vajon elkpzelhet, hogy kt fl gy titkostsa a kommunikcijt, hogy eltte nem llapodtak meg egy kzs titkos kulcsban? Diffie s 1 lellmann 1976-ban mutatta be a Diffie-Hellmann-kulcscsere nven ismert algoritmust, amely pontosan ezt teszi lehetv. A biztonsgos kommunikcinak ez egy merben ms, s bmulatosan elegns megkze ltse, amely a mai nyilvnos kulcs kriptogrfia kialakulshoz vezetett. Nemsokra lt juk majd, hogy a nyilvnos kulcs kriptogrfiai rendszerek szmos elnys tulajdonsggal brnak, amelyeknek ksznheten nemcsak titkostsra, de

hitelestsre s digitlis alrs ksztsre is hasznlhatk. rdekes mdon nemrg derlt ki, hogy nagyon hasonl elveket, mint amelyeket a (DilTie 1976] s az [RSA 1978] bemutat, mr az 1970-es vek elejn tlk fggetlenl is kidolgoztak az Egyeslt Kirlysgban, a Communications-Electronics Security Group kutatinak titkos beszmoliban. Ahogy az sokszor elfordul, a nagyszer

tletek sok helyen felmerlhetnek egymstl fggetlenl; szerencsre a nyilvnos kulcs eljrsok fejldse nemcsak egy bizalmas krben zajlott, hanem a nyilvnossg eltt is. Maga a nyilvnos kulcs kriptogrfia tlete meglehetsen egyszer. Tegyk fel, hogy Alice Bobbal szeretne kommuniklni. Ahogy a 8.6. bra mutatja, ahelyett hogy Alice-nek s Bobnak lenne egy kzs titkos kulcsa (mint a szimmetrikus kulcs rendszerek esetben), Bobnak (vagyis az zenet vevjnek) kt kulcsa is van - egy nyilvnos (publi- kus) kulcs, amelyet a vilgon mindenki ismer (mg Trudy, a tmad is), s egy titkos (privt) kulcs, amelyet kizrlag Bob ismerhet. K'fcs K{i fogja jellni Bob nyilvnos s titkos kulcst. Ahhoz, hogy Alice Bobbal kommunikljon, elszr megszerzi Bob nyilvnos kulcst. Ezutn Alice az (m) zenett valamilyen ismert (pldul egy szabvnyos) kdol algoritmus segtsgvel, Bob nyilvnos kulcsval rejtjelezi, vagyis Alice kiszmtja 1. Bob, amikor megkapja Alice titkostott zenett, a sajt titkos kulcsval s az ismert (pldul egy szabvnyos) dekdol algoritmus segtsgvel visszafejti azt. Azaz, Bob Klt(Kg{m)) kiszmtst vgzi el. Az albbiakban ltni fogjuk, hogy lteznek olyan megfelel rejtjelez/dekdol algoritmusok, valamint eljrsok a nyilvnos s a titkos kulcspr megvlasztsra, hogy K'8(K*B(m)) = m teljesl. A nyilvnos kulcs kriptogrfia tlete teht nem bonyolult. Rgtn felmerlhet azonban kt aggodalmunk is. Az els gondunk, hogy az igaz ugyan, hogy a tmad, aki elfogja Alice titkostott zenett, csak rtelmezhetetlen zenetet lt, de ismeri mind a kulcsot (Bob nyilvnos kulcsa. amit az egsz vilg lthat), mind a titkostsi eljrst, amivel Alice titkostotta zenett. Trudy vlasztott nylt szveg tmadst hajthat vgre, vagyis az ismert (szab vnyos) titkostsi eljrs segtsgvel, Bob nyilvnosan elrhet kulcsnak ismeretben tetszleges ltala vlasztott zenetet kdolhat. gy Trudy pldul prblkozhat olyan ze netek vagy zenetrszek kdolsval, amelyekrl gyantja, hogy azok kzl valamelyiket Alice kldte. Vilgos, hogy amennyiben a nyilvnos kulcs kriptogrfia mkdkpes, akkor a kulcspr megvlasztsa s a kdols/dekdols bizonyra gy zajlik, hogy egy tmad szmra Bob privt kulcsnak meghatrozsa, vagy Alice Bobnak szl zenetnek ms mdon trtn dekdolsa vagy kitallsa lehetetlen (vagy legalbbis annyira nehz, hogy majdnem lehetetlen). A msodik aggodalmunk, hogy mivel Bob titkost kulcst mindenki ismeri, brki kldhet titkostott zeneteket Bobnak, gy Alice is, vagy valaki, aki csak azt lltja, hogy Alice. Abban az esetben, amikor egyetlen titkos kulcs van, kimondatlanul is KJ Nyilvnos titkost kulcs K
Titkos (privt) dekdol kulcs

Nylt zenet,

m
Rejtett szveg Rejtjelez algoritmu s

Nylt zenet,

KB*(m)

Dekdol algoritmus

Xir

azonostja a kldt a vev szmra a tny, hogy a kld ismeri a kulcsot. Nyilvnos kulcs titkostsnl azonban ez mr nem ll fenn, ugyanis brki kldhet Bobnak titkostott zenetet Bob nyilvnosan hozzfrhet kulcst hasznlva. Ahhoz, hogy egy zenetet a kldjhez hozzrendelhessnk, a 8.3. alfejezetben trgyalt digitlis alrsokra van szksg. Szmos algoritmus s kulcs ltezhet, amelyek megfelelnek a lent lertaknak, mgis az RSA algoritmus (kitalli, Ron Rivest, Adi Shamir s Leonard Adleman nyomn nevezik gy) az, amely mr-mr szinonimja lett a nyilvnos kulcs kriptogrfinak. Nzzk meg elbb, hogy miknt is mkdik az RSA, majd vizsgljuk meg, hogy mirt mkdik. Tegyk fel, hogy Bob titkostott zeneteket szeretne kapni, ahogy a 8.6. bra is mutatja. Az RSA kt idevg sszetevje: a nyilvnos s a titkos kulcs megvlasztsa, a titkost s a dekdol algoritmusok. Bob az albbi lpsek vgrehajtsval vlasztja meg a nyilvnos s a titkos kulcst: 1. Kivlaszt kt nagy prmszmot, p-1 s q-1. Mennyire legyen nagy p s q? Minl nagyobbak, annl nehezebb megtrni az RSA-t, viszont annl tovbb tart a kdols s dekdols is. Az RSA Laboratories ajnlsa szerint vllalatok szmra p s q szorzata legyen 1024 bites nagysgrend, mg kevsb rtkes informcik esetn 768 bites |RSA Key 2007] (azon persze gondolkodhatunk, hogy mirt is tartjk a vllalati felhasznlst sokkal fontosabbnak, mint brmi mst). Arrl, hogy hogyan lehet nagy prmeket tallni, rszletesebben [Caldweel 2007] mvben olvashatunk. Kiszmtja ti = pq s z- {p-\)(q-\) rtkeket. Vlaszt egy olyan n-nl kisebb e szmot, amelynek nincs kzs osztja (az 1en kvl) 2-vel. (gy mondjuk, hogy e s z ekkor relatv prmek.) Ezt a szmot hasznljk titkostsra, ezrt szoks e-vel jellni (az angol encryption sz nyomn). Keres egy olyan d szmot, amelyre fennll, hogy ed-1 oszthat (azaz maradk nlkl oszthat) 2-vel. Dekdolskor ezt a szmot fogjuk hasznlni, ezrt jelljk J-vel (az angol decryption sz nyomn). Mskppen fogalmazva, egy adott e szmhoz megkeressk azt a d szmot, amelyre ed szorzat 2-vel osztva 1 maradkot ad. (Ha az .v egsz szmot elosztjuk az n egsszel, akkor a maradkot xmod n jelli.) A nyilvnos Kg kulcs, amelyet Bob a nagyvilg nyilvnossgra hoz, az (n,e) szmpr, a titkos kulcsa, Kf pedig az (ti,d) szmpr.

2. 3.

4.

5.

A kvetkez trtnik, amikor Alice titkost s Bob dekdol: legyk fel, hogy Alice egy olyan m bitmintt vagy szmot szeretne kldeni Bobnak, amelyre ni < ti. A kdolshoz Alice kiszmtja az ni* hatvnyt, majd veszi az w-nel val maradkt. Azaz, az ni nylt zenet c titkostott rtke, amelyet majd Alice elkldi a kvetkez:

c = mc md n

Bob a kapott c rejtett zenet dekdolshoz kiszmtja m = cd md n rtket, amihez szksge van az (ti, d) titkos kulcsra. 8.1. tblzat. Alice RSA-titkostsa, e = 5,n = 35 me Nylt szveg betje m, szmmal kifejezve
1 12 15 22 5 248832 759375 5153632 3125

Rejtett szveg c=m'mod 17 15 22 10

0
V e

8.2 tblzat. Bob RSA-dekdolsa, d = 29, n = 35


Rejtett szveg c 17 15 22 10 4819685721067509150915091411825223071697 127834039403948858939111232757568359375 85164336537701956194499721106030592 1oooooooooooooooooooooooooooooo 12 15 22 5

C*

c=m'modr?

Nylt szveg betje 1

0
V e

Vegynk egy egyszer pldt az RSA-ra. Tegyk fel, hogy Bob vlasztsa p- 5 s q = 7. (Az igazat megvallva, ezek az rtkek messze nem elg nagyok ahhoz, hogy biztonsgosak legyenek.) Ekkor r = 35 s z - 24. Bob vlasztsa e = 5, mivel az 5 s a 24 relatv prmek. Vgl Bob kivlasztja a d - 29 rtket, mivel 5x29-1 (vagyis ed - 1) oszthat 24-gyel. Bob nyilvnossgra hozza az n = 35 s e = 5 rtkeket, s titokban tartja ad = 29 szmot. Alice a kt nyilvnossgra hozott szm ismeretben, tegyk fel, hogy az /, o, v s e betket szeretn Bobnak elkldeni. Minden bett brzoljunk egy 1 s 26 kztti szmmal (hasznljuk most az angol bct, legyen az a az 1, s a z a 26). Alice s Bob a titkostst, illetve a dek dolst a 8.1. s a 8.2. tblzatokban lthat mdon vgzik. Ltva a 8.1. s 8.2. tblzatokban, hogy mr a kis pldnk is eredmnyezett nhny igen nagy szmot, s a korbban ltottak alapjn tudva, hogy p s q nhnyszor szz bit hosz- sz kell hogy legyen, felmerlhet az RSA-val kapcsolatban nhny gyakorlati problma. Hogyan vlasztunk nagy prmeket? Hogyan vlasszuk meg ezutn az e s d szmokat? Hogyan vgznk hatvnyozst nagy szmokkal? Ezen fontos krdsek mr tlmutatnak knyvnk keretein, rszletes trgyalsuk (Kaufmann 1995] mvben, valamint az ott hi vatkozott irodalomban tallhat.

Viszonykulcsok
Meg kell jegyeznnk, hogy az RSA llal megkvetelt hatvnyozs elgg

idignyes mvelet. sszehasonltsknt, a DES legalbb 100-s/or gyorsabb szoftveres megvalstsban, s 1000-10 000-szer gyorsabb hardveresen [RSA Fst 2007]. ppen ezrt, a gyakorlatban az RSA-t sokszor szimmetrikus kulcs kriptogrfival kombinlva hasznljk. Pldul ha Alice nagy mennyisg titkostott adatol szeretne kldeni Bobnak, a kvetkezkpp jrhat el. Elszr Alice vlaszt egy kulcsot, amellyel magt az adatot fogja kdolni, ezt a Ks kulcsot fogjuk viszonykulcsnak (session key) nevezni. Alice-nek Bob tudomsra kell hoznia a viszonykulcsot, mivel ez az a kzs titkos kulcs, amelyet a szimmetrikus kulcs titkostsnl (pldul DES vagy AES) alkalmazni fognak. Alice a viszonykulcsot Bob nyilvnos kulcsval titkostja, vagyis kiszmtja c = (Ks)f md/; rtket. Bob megkapja c -t, az RSA-val titkostott viszonykulcsot, majd ezt dekdolja, gy megkapja a K$ viszonykulcsot. Bob most mr ismeri a viszonykulcsot, amelyet Alice az adatok titkostsra fog hasznlni.

Mirt mkdik az RSA?


Az RSA kdols/dekdols elg varzslatosnak tnik. Mirt kellene a titkost, majd a dekdol algoritmus alkalmazsa utn visszakapnunk az eredeti zenetet? Ahhoz, hogy megrthessk az RSA mkdst, a modulo-w aritmetikban kell majd mveleteket vgeznnk. A modulo aritmetikban a szoksos mveleteket vgezzk, mint sszeads, szorzs s hatvnyozs. A mveletek eredmnyt azonban az -nel val oszts sorn keletkezett maradkukkal helyettestjk. Az = pq rtkkel dolgozunk, ahol p s q a nagy prmek, amelyeket az RSA algoritmusban hasznltunk. Emlkezznk, hogy RSA kdolskor ahhoz, hogy titkostsuk az m zenetet (amely egy egsz szm), azt elszr az e hatvnyra emeljk a modulo- aritmetika szerint. A dekdols ezen rtk d hatvnyra val emelsvel trtnik, ugyancsak a modulo- aritmetikt hasznlva. Vagyis egy titkosts, majd dekdols eredmnye nem ms, mint (m'Y- Lssuk, mit mondhatunk el errl az rtkrl. Tudjuk, hogy

(m'Y md = m

md .

Br ppen azon vagyunk, hogy az RSA mkdsben a csods elemeket megmagyarzzuk, most a szmelmlet egy meglehetsen varzslatos eredmnyre lesz szksgnk. Nevezetesen arra, amelyik azt mondja ki, hogy ha p s q prmek, s = pq, akkor xy md ugyanannyi, mint )** > md [Kaufmann 1995]. Felhasznlva ezt:

(m*Y md = m Wmod ^- ,K > > md .


Emlkezznk azonban, hogy gy vlasztottuk e s d szmokat, hogy ed - 1 pontosan (azaz maradk nlkl) oszthat (p - \)(q - l)-el, vagyis ed (p - 1 ){q - l)-el osztva 1 maradkot ad, gy ed md (/; - 1)(/ - 1) = 1. Ez azt eredmnyezi, hogy

(m'Y md = ? 1 md =
/, azaz:

(m'Y md = m.
Pontosan erre az eredmnyre szmtottunk! Elszr az e (titkostskor), majd a d (dekdolskor) hatvnyra emelve, visszakapjuk az eredeti rn rtket. Mg ennl is szebb, hogy ha elszr a d s azutn az e hatvnyra emelnk - azaz megfordtjuk a kdols s dekdols sorrendjt, s elszr a dekdolst hajtjuk vgre s csak azutn a kdolst - szintn visszakapjuk az eredi m rtket. (Az llts bizonytsa pontosan megegyezik az elbbivel, ugyanis med = mde) Hamarosan ltjuk majd, hogy az RSA algoritmus ezen szpsges tulajdonsgnak, miszerint (rn'Y md = (mJ)r md n mg nagy hasznt vesszk. Az RSA biztonsga azon alapszik, hogy nem ismert gyors algoritmus egy szm prmtnyezinek megtallsra, jelen esetben a nyilvnos n szm p s q prmekre val bontsra. Ha valaki ismern a /> s q szmokat, akkor a nyilvnos e szm segtsgvel knnyen kiszmthatn a titkos kulcsot, ci-1 is. Az sem ismert viszont, hogy egyltaln ltezik-e gyors algoritmus a prmtnyezkre bontsra, ilyen rtelemben az RSA biztonsgossga nem garantlt.

8.3. Uzenetintegrits
Az elz fejezetben lttuk, hogy titkostssal hogyan lehet biztostani kt kommunikl fl szmra a titkossgot. Ebben a fejezetben a kriptogrfia egy nem kevsb fontos terletvel, az zenetintegritssal (message integrity) (ms nven zenethitelests, message authentication) foglalkozunk. Szintn ebben a fejezetben trnk ki a digitlis alrsokra. Ltni fogjuk, hogy a kriptogrfiai hash fggvnyek mind az zenetintegritsnak, mind a digitlis alrsoknak kzs alkotelemei. jfent Alice s Bob segtsgvel vezetjk be az zenetintegrits problmjt. Tegyk fel, hogy Bob kap egy zenetet (akr titkostott szvegt, akr nylt szvegt), s gy gondolja, hogy az zenetet Alice kldte. Az zenet hitelestshez Bobnak ellenriznie kell, hogy 1. az zenet valban Alice-tl jtt, 2. az zenetet nem mdostottk tkzben, amg Bobhoz rt. A 8.5-8.8. alfejezetekben ltni fogjuk, hogy az zenetintegrits krdse kulcsfontossg csaknem az sszes biztonsgos hlzati protokoll esetben. Konkrt pldaknt, gondoljunk egy olyan szmtgp-hlzatra, amely kapcsolatlla- pot-alap tvlaszt algoritmust hasznl (pldul OSPF) ahhoz, hogy meghatrozza a kt tvlaszt kztti tvonalat (lsd 4. fejezet). A kapcsolatllapot-alap algoritmus sorn minden tvlasztnak kapcsolatllapotzeneteket kell szctkldenie a hlzat tbbi tvlasztjnak. Egy tvlaszt kapcsolatllapot-zenete tartalmaz egy listt a kzvetlen szomszdjairl, s ezen szomszdok kzvetlen elrsnek kltsgrl. Amint egy tv laszt a hlzat sszes tbbi tvlasztjtl megkapta a kapcsolatllapot-zenetet, tud fel lltani

egy teljes kpet a hlzatrl, majd ezutn megkeresi a legalacsonyabb kltsg t vonalakat, s ez alapjn tlti ki az tvlaszt tblzatt. Egy viszonylag egyszer tmads az tvlaszt algoritmus ellen az, ha Trudy hamis kapcsolatllapotzeneteket terjeszt, benne valtlan kapcsolatl lapot-in formcikkal. Ezrt van szksg zenetintegritsra - amikor egy B tvlaszt kap egy kapcsolatllapotzenetet A-tl, akkor a B tvlasztnak ellenriznie kell, hogy tnyleg az A tvlaszt kldte az zenetet, valamint azt is, hogy tovbbts kzben senki nem mdostotta azt. libben az alfejezetben bemutatunk egy elterjedt mdszert az zenetintegrits biztostsra, amelyet sok biztonsgos hlzati protokoll alkalmaz. Mieltt azonban ezt megtennnk, a kriptogrfia egy jabb fontos fejezetvel kell megismerkednnk - a kriptogrfiai hash fggvnyekkel.

8.3.1. Kriptogrfiai hash fggvnyek


Ahogy a 8.7. bra mutatja, egy hash fggvny az m bemenetbl egy rgztett mret kimenetet szmt, amelyet hash-nek neveznk. Az internet ellenrz sszeg fggvnye (3. fejezet) s a CRC (4. fejezet) egyarnt kielgti ezt a defincit. Egy kriptogrfiai hash fggvnynek ezen tlmenen a tovbbi tulajdonsgokkal is rendelkeznie kell: Szmtsi komplexitst tekintve lehetetlen kt klnbz x s y zenetet tallni, melyekre H(x) = H(y). Kevsb formlisan, ez a tulajdonsg azt jelenti, hogy egy tmad szmra gyakorlatilag lehetetlen egy hash fggvnnyel vdett zenet kicserlse egy msik zenetre. Azaz, ha (wi, H(m)) jelli az zenetet s az zenet hash rtkt, amelyet a kld ellltott, akkor a tmad nem kpes az zenet tartalmt egy y zenetre hamistani gy, hogy a hash rtke ugyanaz maradjon, mint az eredeti zenet volt. Gyzdjnk meg arrl, hogy egy egyszer ellenrz sszeg, mint az internet ellenrz sszeg fggvnye is, nem vlna be kriptogrfiai hash fggvnyknt. Egyes komplemens aritmetika (ahogy az internet ellenrz sszeg esetn) helyett szmtsuk most az ellenrz sszeget gy, hogy minden karaktert egy bjtnak tekintnk, s sszeadjuk a bjtokat, 4 bjtos darabokat vve egyszerre. Tegyk fel, hogy Bob tartozik Alice-nek 100,99 dollrral, s kld egy adslevelet (I owe you, IOU) Alice-nek, a kvetkez szveggel: 10- U100.99BOB. ASCIIbrzolsban (hexadecimlis jellssel) ezek a betk a kvetkezk: 49, 4F, 55,

31, 30, 30, 2E, 39, 39, 42, 4F, 42.


A 8.8. bra fels rszn lthat, hogy a 4 bjtos ellenrz sszege ennek az zenetnek B2 Cl D2 AC. Egy kicsit eltr tartalm (viszont Bob szempontjbl jval kltsgesebb) zenet lthat az bra als rszn. Az IOUIOO. 99 BOB s a IOU900.19BOB zeneteknek megegyezik az ellenrz sszege. gy, ez az egyszer ellenrz sszeg srti a fenti kvetelmnyt. Vilgos, hogy biztonsgi clokra az ellenrz sszegnl jval ersebb hash fggvnyekre van szksgnk.

Hossz zenet:

SZAMITOGEP- HLZATOK.......................3 MKDS....................................3

Tartalomjegyzk..........................................7

A szmtgp-hlzatok s az internet. . .26

1.1.Mi az az internet?.................................2

1.1.1.Alkotrszek.......................................2

1.1.2.Szolgltatsok....................................5

1.2. A hlzat szle...................................11

1.2.1.Kliens- s szerverprogramok..........14

1.2.2.Hozzfrsi hlzatok.....................14

1.2.3.Fizikai tviteli kzegek....................26

1.3.A hlzat magja..................................30

1.3.1.Vonalkapcsols s csomagkapcsols ...................................................................30

1.3.2.Csomagok thaladsa csomagkapcsolt hlzatokon...................40

1.3.3.lnternetszolgltatk s internetgerinchlzatok.........................................41

1.4.Ksleltets, vesztesg s tbocstkpessg csomagkapcsolt hlzatokban.............................................44

1.4.1.Ksleltetsek ttekintse................46

1.4.2.Sorbanllsi ksleltets s csomagveszts..........................................52

1.4.3.Vgpontok kztti ksleltets........55

1.4.4.Szmtgp-hlzatok tbocstkpessge.................................58

1.5.Protokollrtegek s szolglati modelljeik..................................................63

1.5.1.Rtegezett architektra..................63

1.5.2.zenetek, szegmensek, csomagok s keretek.......................................................72

1.6.Tmadsok a hlzatok ellen............76

1.7.Szmtgp-hlzatok s az internet trtnete....................................................84

1.7.1.A csomagkapcsols kifejlesztse: 1961-1972.................................................84

1.7.2.Egyedi hlzatok s ezek sszekapcsolsa: 1972-1980....................87

1.7.3.Hlzatok gyors fejldse: 19801990...........................................................88

1.7.4.Az internet robbansszer elterjedse: az 1990-es vek...................89

1.7.5.Legutbbi fejlesztsek....................90

1.8.sszefoglals......................................92

Krdsek....................................................94

Feladatok...................................................96

Gondolkodtat krdsek.........................105

Leonard Kleinrock...................................108

Az alkalmazsi rteg...............................113

2.1.Hlzati alkalmazsok elvi alapjai...114

2.1.1.Hlzati alkalmazsi architektrk .................................................................114

2.1.2.Kommunikl folyamatok.............119

2.1.3. Az alkalmazsok szmra rendelkezsre ll szlltsi szolgltatsok .................................................................122

2.1.4.Internetes szlltsi szolgltatsok .................................................................125

2.1.5.Alkalmazsi protokollok................130

2.1.6.A knyvben trgyalt hlzati alkalmazsok...........................................131

2.2. A web s a HTTP..............................132

2.2.2.Idleges s lland sszekttetsek .................................................................134

2.2.3.HTTP-zenetformtumok..............140

2.2.4.Felhasznl s szerver kztti egyttmkds: stik.............................146

2.2.5.Webes gyorsttrazs..................149

2.3.Fjltvitel: FTP..................................127

2.3.1.FTP-parancsok s -vlaszok..........129

2.2.6.A feltteles GET.............................131

2.4.Elektronikus levelezs az interneten .................................................................108

2.4.1.SMTP...............................................134

2.4.2.sszehasonlts a HTTP-vei..........113

2.4.3.Levl zenetformtumok s a MIM .................................................................114

2.4.4.Levl-hozzfcrsi protokollok.......118

2.5.DNS Az internet krzetnvszolgltatsa...........................................131

2.5.1.A DNS ltal nyjtott szolgltatsok .................................................................132

2.5.2.A DNS mkdsnek ttekintse. 135

2.5.3.DNS-rekordok s -zenetek..........131

2.6.P2P-alkalmazsok.............................139

2.6.1.P2P-fj1cserls............................140

F \.............................................................143

2.6.2.Informcikeress egy P2Pkzssgben............................................155

2.6.3.Esettanulmny: P2F internetes telefonls (Skype).................................163

2.7.TCP-szoketprogramozs...................166

2.7.1.TCP-szoketprogramozs................168

2.7.2.Egy kliens-szerver alkalmazsi plda Javban programozva.............................172

l................................................................183

t................................................................186

Bram Cohen.............................................202

A szlltsi rteg.....................................205

O...............................................................245

O...............................................................211

Sally Floyd...............................................295

A hlzati rteg.......................................298

Vinton G. Cerf..........................................151

1...............................................................196

1...............................................................196

r,=2X......................................................231

p*"~ j.......................................................242

I I l i..........................................................106

B2

Cl D2

AC Ellenrz sszeg

8.8. bra. Az eredeti s a hamistott zenetnek ugyanaz az ellenrz sszege!

Ron Rivest MD5 hash algoritmust [RFC 1321] szles krben alkalmazzk manapsg. 1 Ez az algoritmus ngy lpsben szmt ki egy 128 bites hash rtket. Az els lps egy kitlt lps (kiegsztve az zenetet egy egyessel s kell szm nullval, hogy az zenet hossza megfeleljen bizonyos feltteleknek), a msodik egy hozzfzs (hozzfzi a kitlts eltti zenet- hossz 64 bites reprezentcijt), a harmadik az sszeg inicializlsa, s egy vgs, ismtld lps, amelyben az zenet 16 szavas blokkjait ngy krben dolgozza fel (mdostja). Az MD5 lersa (belertve egy C forrskd megvalsts is) megtallhat az [RFC 1321]-ben. A msodik fontos, ma hasznlatos hash fggvny a Secure Hash Algorithm (SHA1) [FIPS 1995]. Ez az algoritmus hasonl elveken alapul, mint az MD5 eldje, az MD4 [RFC 1320). llamkzi alkalmazsok esetn az SHA-1 algoritmust, az Egyeslt llamok kzponti szabvnyt kell hasznlni. Az zenetrl 160 bites pecstet (message digest) kszt. A hosszabb kimenet biztonsgosabb teszi az SHA-1 -et.

8.3.2. zenethitelest kd
Trjnk vissza az zenetintegrits krdshez. Most, hogy megrtettk a hash fggvnyeket, nzzk meg, hogy els kzeltsben hogyan biztostannk az zenet integritst: Alice elkszti az m zenetet s kiszmtja a hash rtkt, H(m)-et (mondjuk SHA-1 algoritmussal). 2. Alice hozzfzi H(w)-et az m zenethez, ezzel ltrehozva egy kibvtett zenetet, (m,H(m))-et, s ezt a kibvtett zenetet kldi el Bobnak. 3. Bob megkapja az {m,h) kibvtett zenetet, s kiszmtja a H(m) rtket. Ha H(rn) = hy Bob arra kvetkeztet, hogy minden rendben zajlott. 1. Ez a megkzelts nyilvnvalan hibs. Trudy ugyanis kszthet egy hamis zenetet, ni-1, amelyben azt lltja, hogy Alice, majd kiszmtja H(ni)-1, s elkldi Bobnak a ( m z e n e t e t . Amikor Bob megkapja az zenetet, a 3. lpsben minden stimmel, s Bob nem is sejti, hogy megtrfljk. Ahhoz, hogy zenetintegritst biztostsunk, a kriptogrfiai hash fggvnyeken kvl egy kzs titokra, s-re is szksge lesz Alice-nek s Bobnak. Ezt a kzs titkot, amely nem

1 A fordt megjegyzse: Az MD5 algoritmus ma mr nem tekinthet teljesen biztonsgosnak.

tbb mint egy bitsorozat, hitelest kulcsnak (authentication key) nevezzk. A kzs titok felhasznlsval az zenet integrits biztostsa a kvetkezkppen nz ki: 1.

8.3. ZENETINTEGRITS

161

Alicc ltrehozza az m zenetet, hozzfzi m-hez az 5 kulcsol, gy megkapja m + s -t, majd kiszmtja a H(m+s) hash rtket (pldul SlA-1 algoritmussal). H(m+s)-et zenethitelest kdnak nevezzk (message authentication code, MAC). 2. Alice ezutn hozzfzi a MAC-rlkel az m zenethez, ltrehozva egy kibvtett zenetet, (m, H(m+$))-1, s ezl a kibvtett zenetet kldi el Bobnak. 3. Bob megkapja az (m,h) kibvtett zenetet, s kiszmtja a H{m+s) MACrtket (megkapta az m zenetet s ismeri az s litkot). Ha H(m+$) = h, Bob arra kvetkeztet, hogy minden rendben zajlt t. A folyamatot a 8.9. bra foglalja ssze. Felhvjuk az olvas figyelmt, hogy itt a MAC (amely a message authentication code rvidtse) nem ugyanaz, mint amivel az adatkapcsolati rleg protokolljai esetn tallkoztunk (amely a mdium access control rvidtse). A MAC egyik szp tulajdonsga, hogy nincs szksg hozz titkostsra. Valban, sok alkalmazs esetn, belertve a korbban emltett kapcsolatllapot-alap tvlasztst is, a kommunikl felek csak az zenetintegritssal foglalkoznak, s nem rdekli ket az zenetek titkossga. MAC hasznlatval a felek gy tudjk az egymsnak kldtt zeneteiket hitelesteni, hogy kzben nem kell bonyolult titkost algoritmusokat beptenik az integritsvdelem folyamatba. Ahogy kitallhattuk, szmos klnbz szabvnyt javasoltak az zenethitelest kdokra. Manapsg a legnpszerbb a HMAC, amely egyarnt hasznlhat MD5-tel s SHA-l-gyel. A HMAC a hitelest kulcsot s az adatot tulajdonkppen ktszer vezeti keresztl a hash fggvnyen [Kaufmann 1995; RFC 2104). Mg mindig maradt egy fontos krdsnk. Hogyan osztjuk szt a kzs hitelest kulcsot a kommunikl feleknek? A kapcsolatllapot-alap tvlaszt algoritmus esetben pldul valahogy el kellene juttatnunk a titkos hitelest kulcsot a hlzat minden megbzhat tvlasztjhoz. (Megjegyezzk, hogy minden tvlaszt hasznlhatja ugyanazt a hitelest kulcsot). Egy rendszergazda megteheti ezt azzal, hogy minden egyes tvlasztt fizikailag felkeres. Vagy, ha a rendszergazda egy lusta fick, s minden tvlasztnak

Internet

H(m+ s)
Jells:

m I * zenet s =
Kzs titox

8.9. bra. zenethitelest kd (MAC)

162

8.

SZMTGP-HLZATOK

BIZTONSGA

van sajt nyilvnos kulcsa, akkor a rendszergazda kioszthatja a hitelest kulcsot minden egyes tvlasztnak gy, hogy titkostja az egyes tvlasztk nyilvnos kulcsval, majd a titkostott kulcsot a hlzaton keresztl elkldi az adott tvlasztnak.

8.3.3. Digitlis alrsok


Gondoljunk bele, hnyszor rtuk le a nevnket egy darab paprra az elmlt hten. Alrunk csekkeket, nyugtkat, iratokat s leveleket. Az alrsunk tanstja, hogy mi (s nem valaki ms) tudomsul vesszk s/vagy egyetrtnk a dokumentum tartalmval. A digitlis vilgban is gyakran elfordul, hogy szeretnnk egy dokumentum tulajdonost vagy ltrehozjt megnevezni, vagy csak kifejezsre juttatni azt, hogy egyetrtnk egy dokumentum tartalmval. A digitlis alrs (digital signature) egy kriptogrfiai mdszer, amely a digitlis vilgban ezeket a clokat szolglja. Ahogy a kzzel trtn alrsok esetben is, a digitlis alrsokat is gy kell ltrehozni, hogy azok ellenrizhetk s hamisthatatlanok legyenek. Azaz, ha egy szemly alrt egy dokumentumot, bizonythatnak kell lennie, hogy azt valban az adott szemly rta al (az alrsnak ellenrizhetnek kell lennie), tovbb, hogy csakis az adott szemly rhatta azt al (az alrs nem hamisthat). Gondoljuk meg, hogyan terveznnk egy digitlis alrs smt. Vegyk szre, hogy amikor Bob alr egy zenetet, olyasvalamivel kell az zenetet elltnia, ami kizrlag r jellemz. Bob gondolhatna arra, hogy alrsknt egy hitelest kulcsot, egy MAC-et fz az zenethez, ahol a MAC-et az zenet s egy kizrlag ltala ismert titok hash rtkeknt szmtja. Ahhoz azonban, hogy Alice ellenrizni tudja az alrst, neki is rendelkeznie kell a kulcs egy pldnyval, azaz a kulcs mr nem kizrlag Bobra jellemz. gy a MAC-k- dok itt nem tudjk elvgezni a feladatot. Emlkezznk vissza arra, hogy a nyilvnos kulcs titkostsnl Bobnak volt egy nyilvnos s egy titkos kulcsa is, mindkett egyedi, kizrlag Bobra jellemz. ppen ezrt, a nyilvnos kulcs kriptogrfia idelis jellt a digitlis alrs megvalstsra. Lssuk, hogyan is trtnik mindez. Tegyk fel, hogy Bob szeretne digitlisan alrni egy m dokumentumot. A dokumentum lehet egy fjl, vagy zenet, amelyet Bob szeretne alrni s elkldeni. Ahogy a 8.10. brn lthatjuk, a dokumentum alrshoz Bob egyszeren a titkos kulcst ( KH ) hasznlja, s kiszmtja a K~B(m) rtket. Elsre taln furcsnak tnik, hogy Bob a titkos kulcst hasznlja amikor alr egy dokumentumot (amelyet a nyilvnos kulcsval titkostott zenetek dekdolsra is hasznl, mint azt lttuk a 8.2. alfejezetben). Ne felejtsk el, hogy a titkosts s a dekdols pusztn matematikai mveletek (RSA esetben e vagy d hatvnyra emels; lsd 8.2. alfejezet), s hogy Bobnak nem az a clja, hogy sszezavarja vagy elrejtse a dokumentum tartalmt, hanem hogy alrja azt, mgpedig gy, hogy az ellenrizhet s hamisthatatlan legyen. Bobnak teht rendelkezsre ll az m dokumentum, valamint a sajt digitlis alrsa erre a dokumentumra, Ku(m). Ez a K0(m) digitlis alrs, vajon kielgti az ellenrizhetsg s a hamisthatatlansg kvetelmnyeit? Tegyk fel, hogy Alice ismeri az m,KB(m)

8.3. ZENETINTEGRITS

prost. Szeretn bizonytani a brsg eltt (mivel peresked tpus), hogy Bob valban alrta a dokumentumot, s kizrlag lehetett az, aki alrta azt a dokumentumot. Alice fogja Bob K, nyilvnos kulcst, s alkalmazza azt az m dokumentumhoz tartoz digitlis alrsra. Azaz, kiszmtja K*B(K~(m)) rtket, s lm, drmai izgalmak kzepette megkapja m-t, amely

163

8.9. bra. zenethitelest kd (MAC)

8.3. UZENETINTEGRITS
Amila mi....

164

Alrt zenet:

zenet:

Kedves Alice! Ne haragudj, hogy olyan rgen nem rtam mr

Encryption algorithm

fadfg54986fgnzmcn v T98734ngldskg02 j ser09tugkjdf)g

T
Bob

Bob titkos kulcsa,

Ke
8.10. bra.

Digitlis alrs ksztse

pontosan megegyezik az eredeti dokumentummal. Alice az albbi rvek alapjn llthatja, hogy kizrlag Bob rhatta al a dokumentumot: Ahhoz, hogy Kg(Kl(m)) = m fennlljon, akrki is rta al az zenetet, az alrs, vagyis K'B(m) szmtsakor a Kt titkos kulcsot kellett hasznlnia. Az egyetlen, aki ismerhette a K~ titkos kulcsot, az Bob. Idzzk fel a 8.2. alfejezetbl, az RSA bemutatsbl, hogy a K'f nyilvnos kulcs ismerete mit sem segt Kn titkos kulcs megtallsban. Ezrt, az egyetlen szemly, aki ismerheti a K~ titkos kulcsot, az lehet, aki generlta a ( K ' f . K B ) kulcsprt, azaz Bob. (Felttelezzk, hogy Bob nem adta oda a K ~ kulcsot msnak, s senki sem lopta el azt tle.) Azt is fontos megjegyeznnk, hogy ha az eredeti m dokumentumot valamikor megvltoztatjk m-re, Bob alrsa, amelyet m-re ksztett, nem lesz rvnyes mre, mivel nem azonos m -vei. Ltni fogjuk teht, hogy a digitlis alrs zenetintegritst is biztost, az zenet vevje egyarnt kpes meggyzdni az zenet kldjnek kiltrl, valamint arrl, hogy az zenetet nem vltoztattk meg. Annak, hogy kdolssal runk al adatokat, az az egyik htultje, hogy a kdols s dekdols mveletnek szmtsa kltsges. A kdols s dekdols tbbletrfordtsval egytt a teljes adat kdolssal/dekdolssal trtn alrsa megengedhetetlenl drga lenne. Ennl hatkonyabb megkzeltst eredmnyez, ha a hash fggvnyeket is bevonjuk a digitlis alrs ksztsbe. Idzzk fel a 8.3.2. alfejezetbl, hogy egy hash fggvny bemenet egy tetszleges hosszsg m zenet, s abbl kiszmtja az zenet egy rgztett hosszsg ujjlenyomatt, pecstjt (message digest), amelyet H{ni) jell. A hash megvdi az adatot abban az rtelemben, hogy ha m-et m-re cserlik, akkor az eredeti adaton szmtott (s 8.7. bra. Hash fggvnyek az adattal egytt tkldtt) H(m) rtk nem fog megegyezni a mdostott adaton szmtott H(m') rtkkel. A hash fggvny alkalmazsval Bob az zenet helyett az zenet hash rtkt

rja al, azaz kiszmtja artket. Mivel rendszerint H(m) sokkal kisebb, mint az eredeti m zenet, a digitlis alrs ksztshez szksges szmtsigny gy jelentsen cskken.

8.3. ZENETINTEGRITS

165

8.9. bra. zenethitelest kd (MAC)

166

8.

SZMTGP-HLZATOK

BIZTONSGA

Hossz zenet Rgztett mret hash


Kedves Alice! E2 egy nagyon hossz levl, mert annyi minden van, amit el kell mondanom......................

......

Hash fggvny
v_

Opgmdvboijrtnsd gghPPdogm;lcvkb

Bob

Alice-nek kldend csomag

Alirt pecst

Fgkopdgoo69cmxw 54psdterma[asofmz

Kdol algoritmus \ Bob titkos kulcsa. KB

V
8.11. bra. Digitlison alrt zenet kldse

A 8.11. bra sszefoglalja a digitlis alrs ksztsnek folyamatt arra az esetre, ami kor Bob kld zenetet Alice-nek. Bob elkszti az eredeti, hossz zenet pecstjt egy hash fggvnnyel. Ezutn a kapott hash rtket digitlisan alrja a titkos kulcsval. Az eredeti (nylt szveg) zenetet, az zenet digitlisan alrt pecstjvel egytt (amit a to vbbiakban digitlis alrsnak neveznk), ezutn elkldi Alice-nek. A 8.12. bra foglalja ssze az alrs ellenrzsnek folyamatt. Alice a kld nyilvnos kulcst alkalmazva, az zenetbl megkapja a hash rtket. Alice a hash fggvny segtsgvel szintn elkszt a nylt zenetbl egy msodik pecstet. Ha a kt pecst megegyez, akkor Alice biztos lehet az zenet kldje s integritsa fell.

8.3. UZENETINTEGRITS

167

Mieltt tovbbmennnk, rviden hasonltsuk ssze a digitlis alrsokat s a M AC-kdokat, mivel mutatnak ugyan hasonlsgot, de van kztk nhny apr, de lnyeges k lnbsg. Mind a digitlis alrsok, mind a MAC-kdok egy zenetbl (vagy dokumen tumbl) indulnak ki. MAC ksztsekor a hitelest kulcsot hozzfzzk az zenethez, majd vesszk az eredmny hash rtkt. Fontos megjegyezni, hogy sem nyilvnos, sem szimmetrikus kulcs titkosts nem trtnik MAC ksztsekor. Digitlis alrs ksz tsnl elszr vesszk az zenet hash rtkt, majd ezt a titkos kulcsunkkal titkostjuk (nyilvnos kulcs titkostst alkalmazunk). A digitlis alrs teht egy kemnyebb mdszer, mivel szksges hozz a httrben egy nyilvnos kulcs infrastruktra (Public Key Infrastructure, PKI), az albb rszletezett hitelestsszolgltatkkal egytt. A 8.5. alfejezetben ltjuk majd, hogy a PGP egy npszer biztonsgos e-mail rendszer - digitlis alrsokat hasznl az zenetintegrits vdelmre. A korbbiakban lttuk, hogy az OSPF MAC-kdokkal vdi az zenetek integritst. A 8. 6. s 8.7. alfejezetben azt is ltjuk majd, hogy a MAC-kdokat npszer szlltsi s egyb hlzatbiztonsgi protokollok is alkalmazzk.

168
Alrt pecst

8.

SZMTGP-HLZATOK

BIZTONSGA

Fgkopdgoo69cmxw 54psdterma[asofmz

Kdol algoritmus

fw
Bob titkos kulcsa, Kg*

l
Hossz zenet

Kedves Allce! Ez egy nagyon hossz levl, meri annyi minden van. amit el kell mondanom

Rgztett mret hash Opgmdvboijrtnsd gghPPdogm;!cvkb

Rgztett mret hash

Hash fggvny

....................................

8.3. UZENETINTEGRITS

169

8.12. bra. Egy alrt zenet ellenrzse

Nyilvnos kulcs tanstvnyok


A digitlis alrsok egy jelents alkalmazsi terlete a nyilvnos kulcs tanstvnyok (public key certification) kezelse, azaz annak igazolsa, hogy egy bizonyos nyilvnos kulcs egy adott entitshoz tartozik. A nyilvnos kulcs tanstvnyokat szmos elterjedt biztonsgos hlzati protokoll hasznlja, idertve az IPsec-et s az SSL-t is. Hogy nmi betekintst nyerjnk a problmba, gondoljuk vgig a klasszikus pizzs trkk internetes kereskedelmi vltozatt. Alice, aki pizzaszlltssal zletel, az interneten keresztl fogadja a megrendelseket. Bob, aki rajong a pizzrt, elkld Alice-nek egy nylt zenetet, amelyben lerja a cmt, s hogy milyen pizzt szeretne. Ehhez az zenethez Bob egy digitlis alrst is mellkel (azaz a nylt szveg alrt pecstjt), hogy biztostsa Alice-t, hogy valban kldte az zenetet. Ahhoz, hogy ellenrizni tudja az alrst, Alice megszerzi Bob nyilvnos kulcst (egy nyilvnos kulcsokat trol szerverrl vagy az e-mail zenetbl), majd elvgzi a digitlis alrs ellenrzst. Ilyen rtelemben Alice meggyz dik rla, hogy valban Bob, s nem egy szrakoz kamasz adta le a rendelst. Ez mind nagyon jl hangzik, egszen addig, amg a ravasz Trudy be nem jn a kpbe. Ahogy a 8.13. brn lthatjuk, Trudy megenged magnak egy csnyt. Elkld egy zenetet Alice-nek, amelyben azt lltja, hogy Bob, megadja Bob cmt, s rendel egy pizzt. Eh-

hez az zenethez (Trudy) a sajt nyilvnos kulcst mellkeli, br Alice termszetesen azt fogja gondolni, hogy az Bob nyilvnos kulcsa. Trudy mellkel tovbb egy digitlis alrst is, amelyet kszteti a sajt titkos kulcsval. Miutn Alice megkapja az zenetet, azt gondolvn, hogy az Bob nyilvnos kulcsa, Trudy nyilvnos kulcsval ellenrzi a digitlis alrst, s arra jut, hogy a nylt zenetet valban Bob kldte. Bob igen meg fog lepdni, amikor a pizzafutr megjelenik nla egy pepperonis, szardells pizzval. Ebbl a pldbl lthatjuk, hogy ahhoz, hogy hasznt vegyk a nyilvnos kulcs kriptogrfinak, meg kell tudnunk gyzdni arrl, hogy a rendelkezsnkre ll annak az entitsnak (szemly, tvlaszt, bngsz stb.) a publikus kulcsa, amellyel kommuniklni szeretnnk. Ha pldul Alice Bobbal szeretne kommuniklni, meg kell bizonyosodnia arrl, hogy a nyilvnos kulcs, amely lltlag a Bob, valban Bob nyilvnos kulcsa. Egy nyilvnos kulcs hozzrendelst egy adott entitshoz ltalban egy hitelestsszolgltat (Certificate Authority, CA) vgzi, amelynek feladata az azonossg ellenrzse s a tanstvnyok killtsa. Egy hitelestsszolgltatnak az albbi feladatai vannak:

zenet Alice, Kldj egy pizzt. Bob \_


______9

Hash fggvny

Kdol algoritmus

Trudy titkos kulcsa, Kt~

r
W1
Alice Trudy nyilvnos kulcst hasznlja, azt gondolvn, hogy a Bob kulcsa, gy arra jut, hogy az zenetet Bob kldte.

\
Az zenet (Trudy titkos kulcsval) alrt pecstje

Fgkopdgoo69cmxw 54psdterma[asofmz

Trudy nyilvnos kulcsa, Kj

1.

A CA ellenrzi, hogy egy entits (szemly, tvlaszt stb.) valban az, akinek mondja magt. Nincs elrt mdszer az azonosts elvgzsre. Ha valakinek egy bizonyos CA-val akad dolga, akkor meg kell bznia abban, hogy a CA kell alapossggal ellenrizte az illet azonossgt. Ha pldul Trudy csak bestl Linkci CA-hoz, s egyszeren kzli, hogy n vagyok Alice., s mris kap egy Alice szemlyazonossghoz rendelt tanst vnyt,akkor nem ajnlott tlzott bizalommal lenni a Linkci CA ltal killtott nyilvnos kulcs tanstvnyok irnt. Ezzel szemben az ember inkbb megbzik (vagy inkbb nem!) egy olyan CA-ban, amely rsze egy llamkzi vagy llami programnak. Csak annyira bzhatunk meg valamely nyilvnos kulcshoz rendelt azonostban, amennyire a CA-ban, s annak azonostsi mdszereiben megbzunk. Micsoda bizalmi hlba keveredtnk! 2. Ha a CA meggyzdtt az entits azonossgrl, a CA killt egy tanstvnyt (certi- ficate), amely az entits nyilvnos kulcst az entits azonossghoz rendeli. A tanstvny tartalmazza a nyilvnos kulcsot, valamint a kulcs tulajdonosnak egyedi azonostsra alkalmas informcit (pldul egy ember nevt vagy egy IP-cmet). A tanstvnyt a CA digitlisan alrja. A 8.14. bra mutatja ezeket a lpseket. Most lssuk, hogyan kzdhetnk a Trudy-hoz hasonl pizza rendelssel szrakozk s ms illetktelenek ellen a tanstvnyok segtsgvel. Amikor Bob elkldi a rendelst, elkldi a CA ltal alrt tanstvnyt is. Alice a CA nyilvnos kulcsval leellenrzi Bob tanstvnynak rvnyessgt, s megkapja belle Bob nyilvnos kulcst. Az ITU s az IETF is szabvnyostotta a CA-kat. Az ITU X.509 (IT 1993] szabvny meghatrozza a hitelestsszolgltatst, s elrja a tanstvnyok kttt szintaxist is. Az [RFC 1422| rszletezi a biztonsgos e-levelezsre hasznlatos CAn alapul kulcskezelst. Ez utbbi kompatibilis az X.509 szabvnnyal, de tbb is nla annyival, hogy kulcskezelst, megvalst eljrsokat, konvencikat is rgzt. A 8.3. tblzat tartalmazza egy tanstvny legfontosabb mezit.
CA nyilvnos

kulcsa, KQ!

Hitelestsszolgltat (CA)

&

Bob CA ltal alirt tanstvnya, amely tartalmazza Bob nyilvnos kulcst, K8~

8.3. tblzat. Az X.509 s RFC 1422 tanstvny fbb mezi


Mez neve Verzi Sorozatszm Alrs Kibocst neve Lers Az X.509 szabvny verziszma A tanstvny CA ltal adott egyedi azonostja Az algoritmust jelli, amelyet a CA a tanstvny alrshoz hasznlt A tanstvnyt killt CA azonossga, megklnbztetett nv (distinguished name, DN) formtumban rvnyessg ideje Tulajdonos neve A tanstvny rvnyessgnek kezdete s vge Annak az entitsnak az azonostja DN-formtumban, akihez a nyilvnos kulcst ez a tanstvny rendeli hozz Tulajdonos nyilvnos kulcsa A tulajdonos nyilvnos kulcsa, s a nyilvnos kulcs algoritmus megjellse, amellyel a kulcs hasznlatos (valamint az algoritmus paramterei)

Az utbbi idkben az e-kereskedelemben bekvetkezett hatalmas fejlds, s az ezzel prhuzamosan a biztonsgos tranzakcikra vonatkoz, egyre szlesebb krben jelentkez igny, a hitelestszolgltatk irnti rdekldst is felerstettk. A CA-szolgltatst nyjt vllalatok kztt megtalljuk a VcriSign cget is [VeriSign 2007).

8.4. Vgpont-hitelests
A vgpont-hitelests (end-point authentication) nem ms, mint a szemlyazonossg igazolsa msvalaki fel. Mi emberek sokflekppen hitelestjk egymst: tallkozskor felismerjk egyms arct, a telefonban rismernk a msik hangjra, a vmnl a hatrr is hitelest bennnket, amikor megnzi a fnykpnket az tlevelnkben. Ebben az alfejezetben megnzzk, hogyan tudja egyik fl a msikat azonostani olyankor, amikor a felek hlzaton keresztl kommuniklnak. Jelen esetben egy l, azaz a protokoll futsakor jelen lv msik fl hitelestsvel foglalkozunk, mgpedig a kommunikci tnyleges idejvel azonos idben. Ez a problma egy kicsit ms, mint annak bizonytsa, hogy egy mltban kapott zenet valban az lltlagos kldtl szrmazik-e. E krdst a 8.3. alfejezetben trgyaltuk. Amikor a hitelests hlzaton keresztl trtnik, nem hagyatkozhatunk biometrikus azonostkra, mint amilyen a kls megjelens vagy a beszdhang. Ahogy a ksbbi eset- tanulmnyainkbl is ki fog derlni, a valsgban sokszor a hlzat alkotelemeinek, pldul tvlasztknak vagy kliens/szerver folyamatoknak kell hitelestenik egymst. Ebben az esetben a hitelestsnek egyedl a hitelestsi protokoll (authentication protocol) llal meghatrozott zenetek s adatok cserje alapjn kell megtrtnnie. A hitelestsi proto koll jellemzen azelll fut le, hogy a kl fl valamilyen ms protokoll futtatsba kezdene (pldul megbzhat adattovbbts, tvlasztshoz szksges

informcik cserje, vagy egy e-mail protokoll). A hitelestsi protokoll elbb mindenki szmra kielgt mdon tisztzza a rsztvevk kiltt; a felek csak ezutn ltnak hozz a tnyleges munkhoz. Ahogy a 3. fejezetben a megbzhat adattviteli protokoll fejlesztsnl, gy itt is tanulsgos lesz egy hitelestsi protokoll (amelynek neve ap lesz, mint authentication protocol) tbb verzijt kifejleszteni, s haladvn elre, az egyes verzik hinyossgait feltrni. (Ha az Olvasnak tetszik egy terv ilyen lpsrl lpsre val fejlesztse, bizonyra tetszene [Bryant 1988] munkja is, amely egy nylt hlzatbeli hitelest rendszer tervezirl szl kpzeletbeli trtnetet mesl el, azt a folyamatot, ahogy k felfedezik a sok apr felmerl problmt.) Tegyk most tel, hogy Alice szeretn hitelesteni magt Bob fel.

8.4.1.

Hitelestsi protokoll

apl.O

Valsznleg nem tudunk elkpzel ni annl egyszerbb hitelestsi protokollt, minthogy Alice egyszeren kld egy zenetet Bobnak, amiben az ll, hogy Alice. Ez a protokoll lthat a 8.15. brn. A protokoll a hibja kzenfekv - Bob sehogyan sem tudja kiderteni, hogy az a valaki, aki azt mondja, hogy Alice vagyok', az valban Alice-e. Pldul Trudy (a tmad) is ugyangy kldhette ezt az zenetet.

8.4.2.

Hitelestsi protokoll

ap2.0

Ha Alice a kommunikcijt mindig egy jl ismert hlzati cmrl (pldul egy adott IP-cmrl) folytatja, akkor Bob megksrelheti Alice hitelestst gy, hogy ellenrzi, hogy az IP-csomag forrscme, amelyben Alice hitelest zenete rkezik, megegyezik-e Alice ezen jl ismert cmvel. Ezzel hitelesthetnnk Alice-t. Ez a mdszer, lehet hogy megakadlyozna egy hlzatokban jratlan tmadt abban, hogy megszemlyestse Alice-t, de nem gtoln - msok mellett - az ebbl a knyvbl tanul buzg hallgatkat sem. A hlzati s adatkapcsolati rteggel kapcsolatban tanultakbl tudjuk, hogy nem is olyan nehz (pldul ha valaki hozzfr az opercis rendszer forrskdjhoz s sajt kernelt fordthat, mint a Linux s sok ms ingyenes opercis rendszer esetben is) egy IP-csomagot kszteni, abba tetszleges IP-forrscmet (pldul Alice jl ismert cmt) rni, majd elkldeni a csomagot az adatkapcsolati rtegbeli protokollon keresztl az els tvlasztig. Innentl pedig a tvlasztk a hibs forrscmmel elltott IP-csomagot engedelmesen tovbbtjk Bobnak. Ez a megkzelts, amely a 8.16. brn is lthat, az IP tejtsnek (IP spooing) egy fajtja. Az IP-cm hamistsa ellen gy vdekezhetnk, hogy a Trudy kzelben lv els tvlasztt gy lltjuk be, hogy csak olyan csomagokat toAlice

Alice

vagyok

177
Alice Bob

8. SZMTGP-HLZATOK BIZTONSGA

Trudy

8.16. bra. ap2.0 protokoll s egy azt kijtsz forgatknyv vbbtson, amelyek Trudy IP-cmt tartalmazzk (RFC 2827]. Ez a lehetsg azonban nem mindenhol adott, s ltalnosan nem ktelez a hasznlata. Bob teht ostoba lenne, ha azt felttelezn, hogy Trudy hlzatnak gazdja (aki lehet, hogy maga Trudy) gy lltotta be a Trudyhoz legkzelebbi tvlasztt, hogy kizrlag helyesen cmzett csomagokat tovbbtson.

8.4.3.

Hitelestsi protokoll

ap3.0

A titkos jelszval trtn hitelests egy klasszikusnak szmt megkzelts. PINkdot hasznlunk, hogy azonostsuk magunkat a bankautomata szmra, s hogy bejelentkezznk az opercis rendszerbe. A jelsz egy kzs titok, amelyet csak a hitelest s a hitelestett szemly ismerhet. A Telnet s az FTP is jelszavas hitelestst hasznl. gy teht az ap3.0 protokoll sorn Alice a titkos jelszavt kldi el Bobnak, ahogy a 8.17. brn is lthatjuk. Mivel a jelszavak olyannyira elterjedtek, felttelezhetnnk, hogy az ap3.0 meglehetsen biztonsgos. Ha ezt hinnnk, bizony rosszul gondolnnk! Itt is nyilvnval a biztonsgi hiba. Ha Trudy lehallgatja Alice kommunikcijt, akkor megszerezheti Alice jelszavt. Nehogy azt higgyk, hogy ez nem tl valszn. Gondoljunk bele, hogy amikor Telnettel bejelentkeznk egy tvoli gpre, a jelszavunk titkosts nlkl kerl tovbbtsra a Tel- net-szervernek. Brki, aki a Telnet-klienshez vagy szerverhez tartoz LAN-ra csatlakozik, lehallgathat (olvashat s trolhat) minden csomagot, amelyet a LAN-on tovbbtanak, gy teht ellophatja a jelszt is. Ez a val letben is egy kzismert mdja a jelszavak megszerzsnek (pldaknt lsd [Jimancz 1997] dolgozatt). Ez a fajta veszly teht nagyon is valsgos, gy nyilvnval, hogy az ap3.0 nem llja meg a helyt.

8.4.4.

Hitelestsi protokoll

ap3.1

Az ap3.0 kijavtsra egy kzenfekv tletnk, hogy titkostsuk a jelszt. A jelsz titkostsval megakadlyozhatjuk, hogy Trudy megszerezze Alice jelszavt. Ha felttelezzk, hogy Alice s Bob rendelkezik egy KA_B kzs titkos szimmetrikus kulccsal, akkor Alice mr titkosthatja a jelszavt, s gy kldheti el az t azonost Alice vagyok. zenetet Bobnak, a titkostott jelszavval egytt. Bob

8.13. bra. Trudy a nyilvnos kulcs kriptogrfia segtsgvel eljtssza, hogy Bob

178

8.

SZMTGP-HLZATOK

BIZTONSGA

dekdolja a jelszt, s feltve, hogy a jelsz helyes, hitelesti Alice-t. Bob igen megnyugtatnak tartja Alice hitelessgt, hiszen nem-

8.3. UZEK'HTINTEGRITS
Alice Bob

179
Alice Bob

Hangrgzt (diktafon)

Jells:

8.17. bra. ap3.0protokoll s egy azt kijtsz forgatknyv csak a jelszt ismeri, de a kzs titkos kulcsot is ismernie kellett ahhoz, hogy titkostsa a jelszt. Nevezzk ezt a protokollt ap3. J-nek. Az igaz ugyan, hogy az ap3.1 protokoll megakadlyozza, hogy Trudy hozzfrjen Alice jelszavhoz, a kriptogrfia ilyetn alkalmazsa mgsem oldja meg a hitelests problmjt. Bob visszajtszsos tmadsnak (playback attack) van kitve: elg, ha Trudy egyszeren lehallgatja s megjegyzi a jelsz titkostott vltozatt, majd Alice-nek kiadva magt visszajtssza azt Bobnak. A titkostott jelsz hasznlata az ap3.1 protokollban nem hozott lnyegi vltozst a 8.17. brn lthat ap3.0 protokollhoz kpest.

8.4.5. Hitelestsi protokoll

ap4.0

Az ap3.1 protokollal az a gond, hogy ugyanazt a jelszt hasznljk jra s jra. A problma egyik lehetsges megoldsa lehetne, ha minden alkalommal ms jelszt hasznlnnk. Alice s Bob megegyezhet a jelszavak egy sorozatban (vagy egy algoritmusban, amellyel a jelszavakat ellltjk), s sorra ezeket a jelszavakat hasznlhatjk, mindegyiket csak egyszer. Ezt az tletet valstja meg az S/KEY rendszer (RFC 1760], tvve a jelszsorozat generlsnak Lamport szerinti megoldst (Lamport 1981]. Ahelyett, hogy megelgednnk ezzel a megoldssal, nzznk meg egy ltalnosabb megkzeltst a visszajtszsos tmads megakadlyozsra. A 8.17. brn lthat tmadsra azrt nylik lehetsg, mert Bob nem tudja megklnbztetni Alice eredeti hitelest zenett Alice ksbb visszajtszott hitelest zenettl. Azaz, Bob nem tudhatja, hogy Alice valban ott van-e az sszekttets tloldaln, vagy az zenet, amit kap, csupn egy visszajtszsa Alice egy korbban rgztett hitelestsnek. A nagyon (nagyon) figyelmes Olvasnak eszbe juthat, hogy a hromutas TCP-kzfogsnak ugyanezt a problmt kellett megoldania - a TCP-sszekttets a szerver oldalon nem fogadhatja el az sszekttetst, ha a kapott SYN-szegmens egy korbbi sszekttets SYN-szegmensnek msolata (jrakldse). Hogyan is llaptotta meg a TCP szerver oldala, hogy a kliens valban jelen

8.14. bra. Bob tanstvnyt ignyel egy CA-tl

180

8. SZMTGP-HLZATOK BIZTONSGA

van-e? Egy nagyon rgta nem hasznlt kezdeti sorszmot vlasztott, ezt elkldte a kliensnek, s vrta, hogy a kliens vlaszoljon egy ACK-szegmenssel, amely ezt a sorszmot tartalmazza. Ugyanezt az tletet tvehetjk, a hitelests cljainak megfeleltetve. A nonce (a number used only once) egy olyan szm, amelyet a protokoll csak egyetlen egyszer hasznlhat. Azaz, ha egyszer a protokoll egy adott nonce-t hasznl, mg egyszer soha tbbet nem fogja ugyanezt a szmot hasznlni. Az ap4.0 protokoll nonce-t alkalmaz, a kvetkezkppen: 1. Alice elkldi az Alice vagyok. zenetet Bobnak. 2. Bob vlaszt egy R nonce-t, s elkldi azt Alice-nck. 3. Alice titkostja a nonce-t a K A_B Alices Bob ltal ismert titkos szimmetrikus kulccsal, majd a titkostott nonce-t, KA_f(R) rtkel visszakldi Bobnak. Csakgy, mint az ap3.l protokoll esetben, az a tny, hogy Alice ismeri a K { H kulcsot, s ezt hasznlja a titkostsra, biztostja Bobot, hogy a kapott

8.13. bra. Trudy a nyilvnos kulcs kriptogrfia segtsgvel eljtssza, hogy Bob

8.3. UZEK'HTINTEGRITS

181

zenetet Alice kldte. A nonce hivatott garantlni, hogy Alice l, azaz jelen van a protokoll futsakor. 4. Bob dekdolja a kapott zenetet. Ha a dekdolt rtk megegyezik az Alicenekkldtt nonce rtkvel, akkor Alice hitelestette magt. Az ap4.0 protokoll futst a 8.18. bra mutatja. Bob azzal, hogy egyszer hasznlatos R szmot alkalmaz, majd ellenrzi a visszakapott K, H ( R ) rtket, biztos lehet mind afell, hogy Alice az, akinek mondja magt (mivel ismeri a titkos kulcsot, amely R titkostshoz kellett), mind afell, hogy lben van jelen (mivel a frissen generlt R nonce-t titkostotta).

8.4.6. Hitelestsi protokoll

ap5.0

A nonce s a szimmetrikus kulcs kriptogrfia egyttes alkalmazsa volt az alapja jl mkd hitelestsi protokollunknak, az p4.-nak. Addik a krds, hogy vajon hasznlhat-e hitelestsre egy nonce (szimmetrikus kulcs kriptogrfia helyett) nyilvnos kulcs kriptogrfia alkalmazsa mellett. A nyilvnos kulcs megkzeltssel megszabadulhatnnk a kzs kulcsokon alapul rendszerekkel kapcsolatban felmerl nehzsgektl - elssorban a kt fl kzti titkos kulcs ltrehozsnak gondjtl. Az apS.O protokoll nyilvnos kulcs kriptogrfit alkalmaz annak analgijra, ahogy az ap4.0 a szimmetrikus kulcs megkzeltst hasznlta.
Bob

Alice

Alice vagyok

8.14. bra. Bob tanstvnyt ignyel egy CA-tl

1. Alice elkldi Bobnak az Alice vagyok. zenetet. 2. Bob vlaszt egy R szmot, s elkldi Alice-nek. Ne felejtsk, a nonce annak biztostsra szolgl, hogy Alice l, azaz jelen van. 3. Alice a sajt titkos kulcsval titkostja a nonce-t, s az eredmnyt, K j ( R ) rtket elkldi Bobnak. Mivel kizrlag Alice ismeri a titkos kulcsot, senki ms nem tudja kiszmtania K j ( R ) rtkt. 4. Bob Alice K * nyilvnos kulcst hasznlja, hogy a kapott zenet alapjn kiszmtsa a K ] ( K A { R ) ) rtket. A nyilvnos kulcs RSA titkosts 8.2. alfejezetbeli trgyalsbl emlkezhetnk, hogy K \{K 4(R)) = R Azaz, Bob eredmnyl az R szmot kapja, ezzel hitelesti Alice-t. Az apS.O protokoll mkdst mutatja a 8.19. bra. Vajon az ap5.0 ugyanolyan biztonsgos, mint az ap4.0? Mindkett hasznl nonce-t. Mivel az ap5.0 nyilvnos kulcs mdszerekkel dolgozik, Bobnak felttlenl meg kell szereznie Alice nyilvnos kulcst. Ez lehetv teszi azt a 8.20. brn lthat forgatknyvet, amely sorn Trudy megszemlyestheti Alice-t. 1. Alice elkldi Bobnak az Alice vagyok. zenetet. 2. Bob vlaszt egy R szmot, s elkldi Alice-nek. 3. Trudy a sajt Kr titkos kulcsval titkostja a nonce-t, s az eredmnyt, K r { R ) rtket elkldi Bobnak. Bob szmra K r ( R ) zenet pusztn egy halom bit, nem tudhatja, hogy az valjban K ^ ( R ) vagy K : ( R ) . 4. Bobnak most meg kell szereznie Alice nyilvnos kulcst, hogy a kapott rtket K \ segtsgvel dekdolhassa. Kld egy zenetet Alice-nek, amelyben elkri a A", kulcsot (Bob akr Alice weboldalrl is letltheti a kulcsot). Trudy ezt az zenetet is elfogja, s K ] kulcsot, azaz Trudy sajt nyilvnos kulcst kldi Bobnak vlaszknt. Bob kiszmtja a K ' r { K r ( R)) rtket, s gy hitelesti Trudyt, mint Alice-t! Ebbl a forgatknyvbl vilgosan ltszik, hogy az apS.O protokoll csak annyira lehet biztonsgos, amennyire a nyilvnos kulcsok terjesztse biztonsgos. Szerencsre, ahogy a 8.3. alfejezetben lttuk, tanstvnyok alkalmazsval biztonsgoss tehet a nyilvnos kulcsok terjesztse.

%
Alice v a g y o k

Bob ellenrzi, hogy ' ezzel

hitelesti Alice-t

Alice vagyok

Bob ellenrzi, hogy

KT'(Kfm = R.
Alice-knt hitelesti Trudyt

8.20. bra. Egy biztonsgi rs az ap5.0 protokollban A 8.20. bra szerinti forgatknyv esetn Alice s Bob egyttesen vgl rjhetnek, hogy valami nem stimmel, mivel Bob azt lltja majd, hogy Alice-szel kommuniklt, Alice viszont tudja, hogy soha nem lpett kapcsolatba Bobbal. Ltezik egy mg alattomosabb tmads, amely mg ezt a leleplezdst is elkerli. A 8.21. brn lthat forgatknyvben Alice s Bob egymssal beszl ugyan, de a hitelestsi protokollban lv biztonsgi rs kihasznlsval Trudy tltszan (transzparens mdon) bekeldhet Alice s Bob kz. Mgpedig azltal, hogy amikor Bob a Trudytl kapott kulccsal titkostott adatot kld Alice-nek, Trudy meg tudja fejteni a Bobtl Alice-nek kldtt zenetek nylt szvegt. Ugyanekkor Trudy tovbbtja Bob zenett Alice-nek, miutn azt Alice valdi nyilvnos kulcsval jra titkostotta. Bob rl, hogy titkostva kldheti az adatokat, s Alice is rl, mert a sajt nyilvnos kulcsval titkostva kapja az zeneteket, egyikk sem sejti Trudy jelenltt. Ha Bob s Alice ksbb tallkoznak is, s beszlnnek az zenetvltsrl, mindent rendben tallnak majd, mivel Alice pontosan megkapta, amit Bob kldtt neki. Az imnti plda az gynevezett kzbekeldses (man-inthe-middle) tmads egy pldja. (Fontosabban, esetnkben woman-in-the-middle tmadsrl beszlhetnk.) Nha llnc (bucket-brigade )1 tmadsnak is nevezik ezt a fajta tmadst, mivel Trudy ahhoz hasonlan tovbbtja az adatokat, ahogy tzoltskor a vizesvdrket adjk kzrl kzre egy llncon keresztl, ha a vzforrs tvol van.

8.5. Az elektronikus levelezs biztonsga


1 A fordt megjegyzse: A kifejezs magyar megfelelje nem hasznlatos a tmadsra.

Az elz nhny fejezetben sorra vettk a hlzatbiztonsg legalapvetbb krdseit, gymint a szimmetrikus s nyilvnos kulcs kriptogrfit, a vgponthitelestst, a kulcsok sztosztst, az zenetintegritst s a digitlis alrsokat. Most azt vizsgljuk majd, hogyan lehet ezekkel az eszkzkkel az internetet biztonsgoss tenni. rdekes mdon az

185
%

8. SZMTGP-HLZATOK BIZTONSGA

<

Alice

vagyok

Alice vagyok

Kldd el a nyilvnos kulcsodat

Alice K (X) dekdolsval megkapja az Xzenetet udy dekdolja a K}+(X) zenetet, ~(K*{X)) kiszmtsval megkapja X rtket, majd titkostja az X zenetet Kj kulccsal s elkldi Alicenek K~{X)- 1.
Bob az X zenete t kldi, Kj kulccsal titkostv a

8.21. bra. Kzbekeldses tmads internet protokollkszletnek fels ngy rtege kzl brmelyikben lehetsges biztonsgi szolgltatst nyjtani. Ha a biztonsgot egy alkalmazsi rtegbeli protokoll nyjtja, akkor a biztonsgi szolgltatsokat, mint pldul titkossgot, hitelestst vagy zenetintegritst, csak az adott, ezt a protokollt hasznl alkalmazs veszi ignybe. Ha a szlltsi rteget tesszk biztonsgoss, akkor minden alkalmazs, amely a protokollt hasznlja, lvezi a szlltsi rteg biztonsgi szolgltatsait. Amikor a biztonsg hoszt-hoszt alapon a hl zati rtegben valsul meg, akkor minden szlltsi rtegbeli szegmens (gy az alkalmazsi rteg adatai is) hasznlja a hlzati rteg biztonsgi szolltatsait. Ha pedig adatkapcsolati alapon nyjtunk biztonsgot, akkor az adatkapcsolat biztonsgi szolgltatsai minden, az adatkapcsolaton keresztl tovbbtott keretben tallhat adatra vonatkoznak. A 8.5-8.8. alfejezetekben megvizsgljuk, hogy a hlzatbiztonsg eszkzei hogyan hasznlhatk az alkalmazsi, szlltsi, hlzati s adatkapcsolati rtegben. A knyv ltalnos felptst kvetve, a protokollkszlet tetejrl indulunk, s az alkalmazsi rteg biztonsgt vizsgljuk elszr. Egy esettanulmnyon, mgpedig az elektronikus levelezsen mint konkrt alkalmazson keresztl mutatjuk be az alkalmazsi rteg biztonsgt. Ez utn haladunk lefel a protokollkszletben. Megvizsgljuk majd az SSL protokollt (amely

8.18. bra. ap4.0protokoll futsa s egy azt kijtsz forgatknyv

186

8.

SZMTGP-HLZATOK

BIZTONSGA

a szlltsi rtegben nyjt biztonsgot) az IPsec protokollt (amely a hlzati rteget teszi biztonsgoss) s az IEEE 802.11 vezetk nlkli LAN protokollt. Felmerlhet a krds, hogy a biztonsgi funkcikat mirt valstjk meg az internet tbb rtegben is. Nem lenne elg a hlzati rtegben nyjtani a biztonsgi szolgltatsokat, s akkor ksz is lennk az egsszel? Kt vlasz is adhat erre a krdsre. Elszr is, br a hlzati rteg teljes lefedettsget nyjt azzal, hogy a datagramokban lv adatokat (azaz szlltsi rtegbeli szegmenseket) titkostja s hitelesti a forrs IP-cmt, a felhasz nlk szintjn nem tud biztonsgot garantlni. Pldul egy kereskedelmi weboldal nem bzhat az 1 Prteg biztonsgban, amikor egy vsrlt szeretne hitelesteni, aki ppen egy, az adott weboldalon lv termket szeretne megvsrolni. Szksg van teht mind a hlzati rteg teljes lefedettsgre, mind a felsbb rtegekben nyjtott biztonsgi funkcikra. Msodszor pedig j internetes szolgltatsokat, belertve a biztonsgi szolgltatsokat is, mindig egyszerbb a protokollkszlet fels rtegeiben megvalstani. Mikzben arra vrunk, hogy a biztonsg szles krben megvalsuljon a hlzati rtegben, amely hossz vekig eltarthat mg, szmos alkalmazsfejleszt teszi a dolgt, s kedvenc alkalmazst elltja biztonsgi funkcikkal. Klasszikus pldja ennek a Pretty Good Privacy (PCP), amely biztonsgos e-mail szolgltatst nyjt (amelyet a fejezet ksbbi rszben trgya lunk). Mivel csupn egy kliens- s egy szerveralkalmazs kellett hozz, a PGP volt az egyik els, az interneten szleskren elterjedt biztonsgi megolds.

8.5.1. Biztonsgos e-levl


A S.2-8.3. alfejezetekben ltott kriptogrfiai alapelemeket most arra hasznljuk, hogy biztonsgos e-mail rendszert hozzunk ltre. Ezt a magas szint tervezst lpsrl lpsre vgezzk el, minden lpsben jabb biztonsgi szolgltatst megvalstva. A biztonsgos levelezrendszer tervezsnl jusson esznkbe a 8. 1. alfejezetben bemutatott nevezetes pldnk - Alice s Bob szerelmi viszonya. Kpzeljk azt, hogy Alice szeretne Bobnak egy levelet kldeni, Trudy pedig kzbe akar avatkozni. Mieltt nekiltnnk annak, hogy Alice-nek s Bobnak biztonsgos levelezrendszert tervezznk, gondoljuk t, hogy vajon mely biztonsgi funkcik a leginkbb kvnatosak szmukra. Els s legfontosabb a titkossg. Ahogy mr kifejtettk a 8.1. alfejezetben, sem Alice, sem Bob nem szeretn, ha Trudy elolvasn Alice levelt. A msodik szolgltats, amelyet Alice s Bob minden bizonnyal szvesen ltna egy biztonsgos e-mail rendszer ben, a kld hitelestse. Konkrtan, ha Bob kap egy zenetet, amelyben az ll, hogy Mr nem szeretlek. Soha tbb nem akarlak ltni. Egykori kedvesed, Alice., termszetesen biztos akar lenni abban, hogy az zenet Alice-tl, nem pedig Trudytl jtt. Egy tovbbi szolgltats, amelyet bizonyra nagyra rtkelne a szerelmes pr, az zenetintegrits, azaz annak biztostsa, hogy az Alice ltal kldtt zenetet nem mdostottk azalatt, amg eljutott Bobhoz. Vgl a levelezrendszernek a vev hitelessgt is garantlnia kell, vagyis Alice szeretne meggyzdni arrl, hogy valban Bobnak kldi az zenetet, s nem valaki msnak (pldul Trudynak), aki gy tesz, mintha Bob lenne. Kezdjk a legfontosabb krdssel, a titkossggal. A titkossg biztostsra a legegyszerbb megolds, ha Alice egy szimmetrikus kulcs mdszer segtsgvel (pldul DES vagy AES) titkostja az zenett, Bob pedig dekdolja azt, amikor megkapja. A 8.2. alfejezetben lttuk, hogy ha a kulcs elg nagy, s ha kizrlag Alice s Bob ismeri azt, akkor mindenki ms (pldul Trudy) szmra szinte

lehetetlenl nehz elolvasni az zenetet. Br a megolds egyszer, megvan az az 8.4. VGPONT -HITELESTS 187 alapvet nehzsge, amelyet a 8. 2. fejezetben mr kifejtet

8.19. bra. apS.O protokoll helyes lefutsa

188

8.

SZMTGP-HLZATOK

BIZTONSGA

tnk - gy kiosztani a szimmetrikus kulcsot, hogy az kizrlag Alice s Bob birtokba juthasson. gy termszetes, hogy egy msik megkzeltsre is gondolhatunk, mgpedig a nyilvnos kulcs kriptogrfira (pldul RSA hasznlatra). A nyilvnos kulcs megkzelts esetn Bob nyilvnossgra hozza a publikus kulcst (pldul a szemlyes weblapjn vagy egy kulcsszcrveren), Alice az zenett Bob nyilvnos kulcsval titkostja, s elkldi a titkostott zenetet Bob email cmre. (A titkostott zenetet MIME-fejlccel tovbbtjk egyszer SMTP protokoll segtsgvel, ahogy a 2.4. alfejczetben lttuk.) Ami kor Bob megkapja az zenetet, egyszeren dekdolja azt a titkos kulcsval. Feltve, hogy Alice biztosan tudja, hogy a nyilvnos kulcs Bob nyilvnos kulcsa (s amennyiben a kulcs elgenden nagy), ez a megkzelts egy kitn mdszer a kvnt titkossg biztostsra. Gondot jelent azonban, hogy a nyilvnos kulcs titkosts nem tl hatkony, klnsen hossz zenetek esetben. (A hossz e-mail zenetek manapsg nem ritkk az interneten, hla a mellkleteknek, kpeknek, videknak.) Ahhoz, hogy thidaljuk a hatkonysggal kapcsolatos problmt, hasznljunk viszonykulcsot (lsd 8.2.2. alfejezet). Esetnkben Alice (I) vlaszt egy Ks vletlen szimmetrikus viszonykulcsot, (2) titkostja az ni zenett ezzel a szimmetrikus kulccsal, (3) titkostja a szimmetrikus kulcsot Bob nyilvnos K's kulcsval, (4) sszefzi a titkostott zenetei s a titkostott szimmetrikus kulcsot, ezzel kszt egy csomagot, vgl (5) elkldi Bob e-mail cmre a csomagot. Az egyes lpseket a 8.22. bra is mutatja. (Ezen, s tovbbi brkon a krbe irt + az sszefzs, mg a krbe rt a sztvlaszts jele.) Amikor Bob megkapja ezt a csomagot, ( 1) a K[{ tilkos kulcsnak segtsgvel kiszmtja a Ks szimmetrikus kulcsot, majd (2) a Ks szimmetrikus kulcsot hasznlja az m zenet dekdolsra. Azutn, hogy terveztnk egy titkossgot biztost levelezrendszert, tervezznk most egy olyan rendszert, amely egyarnt biztostja a kld hitelessgt s az zenet integritst. Tegyk fel most egy rvid idre, hogy Alice s Bob nem foglalkoznak a titkossggal (mindenkinek el szeretnek mondani, hogy mit reznek!), s csak a kld hitelestse s az zenet integrits rdekli ket. Ahhoz, hogy eleget tegynk ennek a feladatnak, digitlis alrsokat s zenetpecsteket fogunk alkalmazni, ahogy a 8.3. alfejezetben bemutattuk. Konkrtan, Alice (1) egy H hash fggvny (pldul MD5) segtsgvel kszt egy pecstet az m zenetrl, ezutn (2) alrja az eredmnyt a titkos K~ kulcsval, gy kszt egy digitlis alrsi, (3) az eredeti (nylt szveg) zenethez hozzfzi az alrst, ezzel kszt egy csomagot, vgl (4) ezt a csomagot elkldi Bobnak. Amikor Bob megkapja a csomagot,

Internet

K e

Kg (K$)

Alice elkldi az m e-mail zenetet

Bob megkapja az m zenetet

KB(KS )

KH-)

8.4. VGPONT-HITELESTS

189

8.22. bra. Alice a Ks szimmetrikus viszonykulcsot hasznlja, amikor titkos e-

mailt kld Bobnak

8.19. bra. apS.O protokoll helyes lefutsa

m ()

KA

()

KA (H(m))

KA ( H(m))

Interne t

m
Alice elkldi az

m e-mail zenetet

Bobmegkapja az

m zenetet

8.23. bra. A kld hitelessgnek s az zenet integritsnak biztostsa hash

fggvnyek s digitlis alrsok segtsgvel


(1) Alice K'A nyilvnos kulcsval dekdolja az alrt zenetpecstet, s (2) az eredmnyt sszeveti az zenet ltala szmtott H hash rtkvel. A lpsek a 8.23. brn lthatk. Ahogy a 8.3. allejezetbcn megtrgyaltuk, amennyiben a kt eredmny megegyezik, Bob kellen biztos lehet abban, hogy az zenetet Alice kldte, s azt nem vltoztattk meg. Gondoljuk t most, hogyan terveznnk olyan levelezrendszert, amely a titkossgot, a kld hitelessgt s az zenet integritst egyszerre garantlja. Ezt a 8.22. s a 8.23. brn ltott eljrsok tvzsvel tehetjk meg. Alice elszr egy elzetes csomagot kszt, amely az eredeti zenetbl s az zenet digitlisan alrt pecstjbl ll, pontosan gy, ahogy a 8.23. bra mutatja. Ezutn ezt az elzetes csomagot nll zenetnek tekintve, vgrehajtja rajta a 8. 22. brn lthat zenetklds lpseit, ezzel ltrehoz egy j csomagot, amelyet elkld Bobnak. Alice lpsei a 8.24. brn lthatk. Amikor Bob megkapja a csomagot, elszr vgrehajtja a 8.22. bra, majd a 8.23. bra r vonatkoz rszt. Vil gosan lthat, hogy ez a mdszer megvalstja a titkossgra, a kld hitelestsre s az zenetintegritsra vonatkoz elvrsainkat. Vegyk szre, hogy ebben az eljrsban Alice ktszer alkalmaz nyilvnos kulcs titkostst: egyszer a sajt titkos kulcsval, egyszer pe-

Internet fel

8.24. bra. A kld hitelessgnek, az zenet titkossgnak s integritsnak

biztostshoz Alice szimmetrikus kulcs titkostst, nyilvnos kulcs kriptogrfit, egy hash fggvnyt s digitlis alrst hasznl

dig Bob nyilvnos kulcsval. Hasonlan Bob is ktszer vgez nyilvnos kulcs kriptogrfiai mveletet - egyszer a sajt titkos kulcsval, egyszer pedig Alice nyilvnos kulcsval. A 8.24. brn sszefoglalt eljrs a legtbb e-mail felhasznl szmra, az esetek nagy tbbsgben valsznleg kielgt biztonsgot nyjt. Mg egy fontos problmt azonban meg kell oldanunk. A 8.24. bra szerinti mdszer mkdshez Alice-nek tudnia kell Bob nyilvnos kulcst. Bobnak pedig ismeri kell lice nyilvnos kulcst. Ezen nyilvnos kulcsok terjesztsnek mdja nem nyilvnval. Pldul Trudy eljtszhatja Bob szerept, s odaadhatja Alice-nek a sajt nyilvnos kulcst, mondvn, hogy az Bob nyilvnos kulcsa, ezzel pedig hozzjuthat a Bobnak sznt zenetekhez. A nyilvnos kulcsok biztonsgos terjesztsnek elterjedt mdszere, hogy a nyilvnos kulcsokat CA segtsgvel tanstjuk, ahogy azt a 8.3. alfejezetben lttuk.
Egy kis trtnelem Phil Zimmermann s a PGP Philip R. Zimmermann a Pretty Good Privacy (PGP) megalkotja. Ezrt a tettrt egy hrom vig tart bngyi nyomozs gyanstottjv vlt, mivel a kormny gy gondolta, hogy azzal, hogy az 1991-ben szabad szoftverknt trtn publiklst kveten a PGP vilgszerte elter jedt, megsrtette az USA kriptogrfiai szoftverekre vonatkoz exportszablyozst. Miutn a PGP szabad felhasznls szoftverknt jelent meg, valaki kitette a/, internetre, s gy klfldiek is letltttk. A kriptogrfiai programok az Egyeslt llamok szvetsgi trvnye szerint hadi felszerelsnek minslnek, gy tilos az exportjuk. A kormnyzati kzbeavatkozsok dacra, s annak ellenre, hogy hinyzott a tkeer, a fizetett munkaer s a vllalati httr is, a PGP a vilg legelterjedtebb levelezstitkostsra szolgl szoftvere lett. Furcsa md Zimmermann gyvel a kormnyzat valsznleg akaratlanul is hozzjrult a PGP elterjedshez. 1996 elejn a kormny elejtette a vdat. A hr bejelentst rmmel fogadtk az internet aktivisti. Zimmermann esete a hatalmas kormnyzattal szemben a jogairt kzd rtatlan ember trtnete lett. A kormnyzat meghtrlsa rmmel nyugtzott hr volt, rszben a Kongresz- szus az internet cenzrzsrt folytatott kampnya, s az FBI a kormnyzati lehallgatsok szlesebb kr engedlyezsre irnyul nyomsgyakorlsa miatt. Miutn a kormny ejtette az gyet, Zimmermann megalaptotta a PGP Inc. vllalatot, ame lyet 1997. decemberben megvsrolt a Network Associates. Zimmermann jelenleg fggetlen kriptogrfiai szakrtknt dolgozik.

8.5.2. PGP
A Pretty Good Privacy (elg jl vdett szemlyes adatok, PGP) nev, e-mail zenetek titkostsra szolgl szoftvert Phil Zimmermann rta 1991-ben, s ez vlt a terlet defac- to szabvnyv. A PGP weboldala tbb mint egymilli krst szolgl ki havonta 166 orszg felhasznli szmra [PGPI 2007). A PGP klnbz verzii nyilvnosan hozzfrhetk; a PGP nemzetkzi honlapjrl (International PGP Home Page [PGPI 2007)) letlthetjk pldul a kedvenc platformunkon fut szoftvert, de rengeteg rdekes olvasmnyt is tallunk itt. (A PGP alkotjtl egy meglehetsen rdekfeszt rs a [Zimmermann 2007).) A PGP-nek ltezik kereskedelmi vltozata is, s sok levelez kliensalkalmazs is tartalmazza bvtmnyknt, mint pldul a Microsoft Exchange s Outlook. A PGP konstrukcija lnyegben ugyanaz, mint amit a 8.24. brn bemutattunk. A PGP az adott

verzitl fg-

BEGIN PGP SIGNED MESSAGE ------------Hash: SHA1 Bob: Lthatlak ma este? Szenvedlyes szerelemmel, Alice BEGIN PGP SIGNATURE----------Version: PGP fr Personal Privacy 5.0 Charset: noconv yhHJRHhGJGhgg/12EpJ+lo8gE4vB3mqJhFEvZP9t6n7G6m5Gw2 END PGP SIGNATURE-----------8.25. bra. Egy alrt PGP-zenet

gen az MD5- vagy SHA-algortanssal szmtja az zenetpecstet; szimmetrikus kulcs titkostsra a CAST, 3DES vagy IDFA kzl valamelyiket, publikus kulcs titkostsra pedig az RSA-algoritmust hasznlja. Ezen tlmenen a PGP adattmrtst is vgez. Amikor egy felhasznl telepti a PGP programot, a szoftver generl szmra egy kulcsprt. A nyilvnos kulcsot a felhasznl kiteheti a weboldalra, vagy elhelyezheti egy nyilvnos kulcsszerveren. A titkos kulcsot jelszval vdik. Ezt a jelszt mindig meg kell adni, akrhnyszor a felhasznl a titkos kulcsot hasznlja. A PGP felknlja a felhasznlnak, hogy digitlisan alrja vagy titkostsa, vagy egyszerre digitlisan alrja s titkostsa az zenetet. A 8.25. brn lthat egy alrt PGP-zenet. Ez maga az zenet, amely a MIM fejlcet kveten megjelenik. Az zenet kdolt rsze K ,(//(m)), vagyis az zenet alrt lenyomata. Ahogy fent kifejtettk, ahhoz, hogy Bob ellenrizni tudja az zenet integritst, hozz kell frnie Alice nyilvnos kulcshoz. A 8.26. bra egy titkostott PGP-zenetet mutat. Ez az zenet szintn a MIMEfejlcet kveti. Termszetesen a nylt zenetet a titkostott levl nem tartalmazza. Amennyiben egy kld (pldul Alice) titkossgot s zenetintegritst is szeretne, akkor a PGP-zenet egy a 8.26. brn lthathoz hasonl zenetet tartalmaz a 8.25. brn lthat zenet rszeknt.

BEGIN PGP MESSAGE----------Version: PGP fr Personal Privacy 5.0 u2R4d+/jKmn8Bc5+hgDsqAewsDfrGdszX681iKm5F6Gc4sDfcXyt RfdSIOjuHgbcfDssWe7/K=lKhnMikLo0+l/BvcX4t==Ujk9PbcD4 Thdf2awQfgHbnmKlok8iy6gThlp END PGP MESSAGE
8.26. bra. Egy titkos PGP-zenet

A PGP gondoskodik a nyilvnos kulcs tanstvnyok kezelsrl is, azonban a hagyomnyos CA helyett egy attl lnyegesen eltr megoldst alkalmaz. A PGP nyilvnos kulcsait egy bizalmi hl tanstja. Alice maga is tansthatja egy kulcs/felhasznlnv pr sszetartozst, amennyiben gy gondolja, hogy a pr valban sszetartoz. Ezenkvl a PGP azt is megengedi, hogy Alice kijelentse, hogy megbzik tovbbi kulcsok egy msik telhasznl ltal lltott hitelessgben. Nhny PGP-felhasznl kulcsalr sszejveteleket is tart, s ott rjk al egyms kulcsait. A felhasznlk ilyenkor fizikailag sszegyl nek, kicserlik a

nyilvnos kulcsaikat, s egyms kulcsnak sajt titkos kulcsukkal val

alrsval tanstjk azokat. A PGP nyilvnos kulcsait nyilvnos PGPkulcsszerverek (PGP public key servers) is terjesztik az interneten keresztl. Amikor a felhasznl egy ilyen szervernek elkldi a kulcst, a szerver eltrol belle egy pldnyt, egy pldnyt elkld az sszes tbbi nyilvnos kulcsszervernek is, s azutn brkinek odaadja a kulcsot, aki csak kri. Br vannak kulcsalr sszejvetelek s nyilvnos PGP-kulcsszerverek, mgis a leggyakoribb mdja a nyilvnos kulcs terjesztsnek, hogy a felhasznlk kzz teszik azt a szemlyes weboldalukon vagy e-leveleikben hirdetik.

8.6. A TCP-sszekttetsek biztonsga: SSL


Az elz fejezetben azt lttuk, hogy a kriptogrfiai mdszerek hogyan biztostanak titkossgot, adatintegritst s vgpont-hitelestst egy konkrt alkalmazs, nevezetesen az e-mail esetben. Jelen fejezetben egy szinttel lejjebb megynk a protokollkszletben, s azt vizsgljuk meg, hogyan hasznlhat a kriptogrfia arra, hogy olyan biztonsgi szolgltatsokkal erstsk meg a TCP-sszekttetseket, mint a titkossg, az adatintegrits s a vgpont-hite lests. A TCP ezen megerstett vltozata biztonsgos szoketrteg (Secure Sockets Layer, SSL) nven ismert. Az SSL 3. verzijnak picit mdostott vltozatt szlltsi szint biz tonsg (Transport Layer Security, TLS) nven szabvnyostotta az IETF [RFC 2246). Az SSL-t eredetileg a Netscape tervezte, de a TCP-sszekttets biztonsgoss ttele mgtt hzd alaptletek mr megelztk a Netscape munkjt (pldul lsd [Woo 1994] ). Bevezetse ta az SSL igen szles krben elterjedt. A legnpszerbb webbngszk s webszerverek mind tmogatjk az SSL protokollt, s gyakorlatilag az sszes internetes kereskedelmi oldal ezt hasznlja (tbbek kztt Amazon, eBay, Yahoo!, MSN stb.). Tbb tzmillird dollrt kltenek el minden vben SSL-en keresztl. Tulajdonkppen, ha valaha vsroltunk valamit interneten keresztl hitelkrtys fizetssel, majdnem biztos, hogy a tranzakci sorn a bngsz s a szerver kztti kommunikci SSL-lel trtnt. (gy ve hetjk szre, hogy a bngsznk SSL-t hasznl, hogy az URL kezdete http helyett https.) Vegyk vgig egy tipikus internetes vsrls forgatknyvt, hogy lssuk, mirt is van szksg SSL-re. Bob a webbngszse kzben eljut az Alice Zrt. oldalra, ahol parfmket rulnak. Az Alice Zrt. oldaln egy rlap tallhat, ahol Bobnak meg kell mondania, hogy melyik parfmbl s mennyit szeretne rendelni, valamint meg kell adnia a cmt s a hitelkrtyja szmt is. Bob megadja ezeket az adatokat, megnyomja az Elkld gombot, s arra szmt, hogy majd megkapja (hagyomnyos postai ton) a vsrolt parfmket. Arra is fel van kszlve, hogy a rendels sszegvel a kvetkez hitelkrtyaszmljt megterhelik majd. Ez mind jl hangzik, de biztonsgi intzkedsek hjn rheti Bobot nhny meglepets. Ha a titkossg nem biztostott (kdols), egy illetktelen lehallgathatja Bob rendelst, s megszerezheti a hitelkrtyaszmt. Ezutn mr a tmad is vsrolhat Bob kltsgn. Ha az adat integritst nem vdik, a tmad mdosthatja Bob rendelst, s tzszer annyi parfmt vetethet meg vele, mint amennyit szeretett volna.

Vgl pedig, ha a szervert nem hitelestik, egy szerver kiteheti az Alice Zrt. jl ismert lgjt az oldalra, mikzben azt valjban Trudy zemelteti, aki gy tesz, mintha az Alice Zrt. lenne. A rendels felvtele utn Trudy zsebre teheti a pnzt, s eltnhet. Vagy Trudy ellophatja Bob szemlyazonossgt azzal, hogy begyjti a nevt, cmt s hitelkrtyaszmt.

Az SSL elejt veszi ezeknek a problmknak azzal, hogy a TCP-sszekttetseket felruhzza titkossggal, adatintegritssal, szerverhitelestssel s klienshitelestssel. Az SSL protokollt gyakran HTTP felett zajl tranzakcik biztostsra hasznljk. Mivel azonban az SSL a TCP-sszekttetseket teszi biztonsgoss, brmely TCP felett fut alkalmazs hasznlhatja. Az SSL egy egyszer programozi interfszt (Application Programmer Interface, API) nyjt, amely sok hasonlsgot mutat a TCP programozi interfszvel. Ha egy alkalmazs az SSL-t szeretn hasznlni, akkor az alkalmazs betlti az SSL-osztlyokat/knyvtrakat, amelyek a fejleszt szmra az SSL-szoketinterfszt nyjtjk. Ahogy a 8.27. bra mutatja, annak ellenre, hogy az SSL technikailag az alkalmazsi rtegben helyezkedik el, a fejleszt szempontjbl ez egy olyan szlltsi protokoll, amely a TCP szolgltatsait nyjtja, kiegsztve biztonsgi szolgltatsokkal.

8.6.1. Mirt szksges az SSL s hogyan mkdik?


Az SSL egy egyszerstett vltozatnak bemutatsval kezdjk, amely j lesz arra, hogy egy tfog kpet kapjunk az SSL mirtjeirl s hogyanjairl. Az SSL ezen egyszerstett vltozatt majdnem-SSL-nek fogjuk nevezni. Miutn bemutattuk a majdnem-SSL protokollt, a kvetkez alfejezetben megtltjk azt rszletekkel, s bemutatjuk az igazi SSL-t. A majdnem-SSL protokoll (ahogy az SSL is) hrom fzisbl ll: kzfogs (handshake), kulcsszrmaztats 1 (key derivation) s adattovbbts (data transfer). Egy kliens (Bob) s egy szerver (Alice) kzti kommunikcin keresztl magyarzzuk el ezt a hrom fzist. Alice rendelkezik egy publikus/privt kulcsprral, valamint egy tanstvnnyal, amely a nyilvnos kulcst az azonostjhoz kti.

Kzfogs
A kzfogs fzis alatt Bobnak (a) fel kell ptenie egy TCP-sszekttetst Aliceszel, (b) ellenriznie kell, hogy Alice valban Alice, s (c) el kell kldenie Alice-nek egy titkos mcsterkulcsot (master key), amelybl majd Alice s Bob is elllthatja az SSL-viszony- hoz szksges szimmetrikus kulcsokat. Ezt a hrom lpst mutatja a 8.28. bra. Megjegyezzk, hogy amint a TCP-sszekttets felplt, Bob egy hello zenetet kld Alice-nek.
Alkalmazsi SSL-szoket Alkalmazsi TCP-szoket TCP IP
SSL-alrteg TCP-szoket TCP IP

'Alkalmazsi rteg

1 A fordt megjegyzse: A szerz ltal hasznlt elnevezs nem szerencss, mivel az igazi SSL Handshake a kulcsszrmaztatst is magban foglalja.

TCP API

SSL-lel megerstett TCP

8.27. bra. Br az alkalmazsi rtegben helyezkedik el, a fejleszt szempontjbl

az SSL egy szlltsi protokoll

SSL hello

(c)
Mestertitok (MS) generlsa EMS dekdolsa -val, hogy megkapjuk MSt

8.28. bra. A majdnem-SSL-kzfogs Alice vlaszul elkldi a tanstvnyt, amely tartalmazza a nyilvnos kulcst. Ahogy a 8.3. alfejezetben rszleteztk, Bob biztos lehet benne, hogy ez a nyilvnos kulcs Alice kulcsa, mivel a tanstvnyt egy CA lltotta ki. Bob ezutn generl egy mestertitkot (Master Secret, MS) (amelyet kizrlag ennl az SSL-viszonynl (SSL session) hasznl), titkostja az MS-titkot Alice nyilvnos kulcsval, ezzel ltrehozza a titkostott mestertitkot (Encrypted Master Secret, EMS), majd elkldi az EMS-t Alice-nek. Alice a titkos kulcsval dekdolja az EMS-t, s gy megkapja az MS-titkot. A fzis lezrultval Bob hitelestette Alice-t, s mind Alice, mind Bob (de ms nem) ismeri az SSL-viszony mestertitkt.

Kulcsszm! azt a t s
Elvileg minden tovbbi titkosts s adatintegrits-ellenrzs trtnhetne az Alice s Bob kzs MS-mestertitknak szimmetrikus kulcsknt val hasznlatval. ltalban viszont biztonsgosabbnak tartjuk, ha Alice s Bob ms-ms kulcsokat hasznl, tovbb klnbz kulcsokat hasznlnak titkostsra s integrits-ellenrzsre is. Alice s Bob az MS-titkot teht arra hasznlja, hogy ngy kulcsot lltson belle el: E B = a viszony titkost kulcsa a Bobtl Alice-nek kldtt adatokra, M B = a viszony MAC-kulcsa a Bobtl Alice-nek kldtt adatokra, E A = a viszony titkostkulcsa az Alice-tl Bobnak kldtt adatokra, M A = a viszony MAC-kulcsa az Alice-tl Bobnak kldtt adatokra. Alice s Bob egyarnt kiszmtjk a ngy kulcsot az MS-titokbl. Ezt megtehetnk gy is, hogy egyszeren ngy rszre daraboljk az MS-titkot. (Ltni fogjuk azonban, hogy az igazi SSL kicsit bonyolultabban jr el.) A kulcsszrmaztatsi fzis vgn Alice s Bob is rendelkezik ugyanazzal a ngy kulccsal. Ezek kzl a kt tikostkulcsol adatok titkostsra, a msik kett MAC-kulcsot pedig adatintegrits ellenrzsre fogjk hasznlni.

Adattovbbts
Most, hogy Bob mr biztosan tudja, hogy Alice-szel beszl, s mindketten ismerik a ngy kzs viszonykulcsot (E B ,M B ,E A s M, x ) elkezdhetnek a TCP-sszekttetsen keresztl biztonsgosan adatokat kldeni egymsnak. Mivel a TCP egy bjtalap protokoll, kzenfekv lenne az a megkzelts, hogy az alkalmazs adatait egybl titkostsa az SSL, majd a titkostott adatot kapsbl adja tovbb a TCP-nek. Viszont ha ezt tennnk, akkor hova tennnk az integrits-ellenrz MAC-kdot? Bizonyra nem szeretnnk megvrni a TCP-vi- szony lezrst, hogy egyszerre ellenrizhessk Bob minden adatnak az integritst, amelyet Bob a viszony fennllstl kezdve kldtt. A problma megoldsaknt az SSL az adatfolyamot rekordokra bontja, kiegszti a rekordokat integrits-ellenrz MAC-kddal, majd titkostja a rekord+MAC egyttest. A MAC kiszmtshoz Bob veszi a rekord adatnak s az M lt kulcs egyttes hashrtkt pontosan gy, ahogy a 8.3. alfejezetben lttuk. A rekord+MAC csomag titkostshoz ezutn a viszony B titkost kulcst hasznlja. Vgl ez a titkostott csomag kerl szlltsra a TCP segtsgvel az interneten keresztl. Br a fenti megkzelts sok mindenre j, mgsem golyll, ha az egsz adatfolyam integritsnak biztostsrl van sz. Nzzk azt az esetet, amikor Trudy kzbekeldik (woman-in-the-middle) s kpes az Alice s Bob kztt kldtt TCPszegmensek sorozatba ms szegmenseket kzbeszrni vagy abbl szegmenseket trlni vagy msra cserlni. Trudy pldul elfoghat kt szegmenst, amelyet Bob kldtt Alice-nek, megcserlheti ezek sorrendjt, a TCP-sorszmokat ennek megfelelen be tudja lltani (hiszen ezek nem tit- kostottak), s a kt szegmenst ezutn fordtott sorrendben elkldheti Alice-nek. Nzzk meg, hogyan dolgozn fel ezeket a szegmenseket Alice, feltve, hogy a TCP-szegmensek pontosan egy rekordot tartalmaznak: 1. Az Alice-nl futtatott TCP protokoll mindent rendben tallna, s tovbbtan a kt rekordot az SSL-alrtegnek. 2. Alice oldaln az SSL dekdoln a kt rekordot. 3. Alice oldaln az SSL a MAC segtsgvel ellenrizn mindkt rekord integritst. 4. Az SSL ezutn a dekdolt bjtfolyamot tovbbadn az alkalmazsi rtegnek. Ekkor azonban az Alice ltal kapott teljes bjtfolyam a kl megcserlt rekord miatt rossz sorrendben rkezne meg! Gondoljunk vgig ehhez hasonl tovbbi forgatknyveket, amelyek sorn Trudy trl, vagy visszajtszik szegmenseket. Bizonyra kitallta az Olvas, hogy a sorszmok hasznlata knl megoldst a prob lmra. Az SSL is ezt teszi, mgpedig a kvetkezkeppen. Bob nyilvntart egy sorsz mot, amelyet nullrl indt, s minden egyes elkldtt SSL-rckord utn megnveli eggyel. Maga a rekord nem tartalmazza a sorszmot, ehelyett Bob a MAC szmtsakor a sorszmot is figyelembe veszi a hitelest kd meghatrozshoz. A MAC teht az adat s az M H MAC-kulcs s a helyes sorszm hash rtke lesz. Alice is kveti Bob sorszmozst, gy ellenrizheti az egyes rekordok adatainak integritst, ha a MAC meghatrozsakor is beszmtja a megfelel sorszmot. Az SSLsorszmok ilyetn alkalmazsa megakadlyozza Trudyt abban, hogy kzbekeldses tmadst hajtson vgre, pldul sszekeverjen vagy visszajtsszon szegmenseki. (Mirt is?)

Tpus Verzi Hossz

Adat

MAC

EB kulccsal titkostott rsz

8.29. bra. Az SSL-rekord formtuma

Az

SSL-rekord
Az SSL-rekord (SSL record) (ugyanez a majdnem-SSL-rekord is) a 8.29. brn lthat. A rekord tpus-, verzi-, hossz-, adat- s M AC-mezket tartalmaz. Meg kell jegyeznnk, hogy az els hrom mez nem titkostott. A tpusmez jelzi, hogy a rekord egy kzfogs- (hands- hake) zenet, vagy az alkalmazs adatt tartalmaz zenet. Ahogy ksbb ltjuk majd, az SSL-viszony lezrsra is ez szolgl. A vev oldalon az SSL a hosszmez segtsgvel nyeri ki az SSL-rekordokat a bejv TCPbjtfolyambl. A verzimez jelentse magtl rtetd.

8.6.2. Az SSL rszletesebben


Az elz alfejezetnkben megismerkedtnk a majdnem-SSL protokollal, amely arra szolglt, hogy megrtsk az SSL mirtjt s hogyanjt. Most, hogy elsajttottuk az SSL alapjait, egy kicsit mlyebbre sva megvizsglhatjuk a valdi SSL legfontosabb elemeit.

SSL-kzfogs
Az SSL nem ktelezi Alice-t s Bobot, hogy egy bizonyos szimmetrikus kulcs algorit must, egy adott publikus kulcs eljrst vagy egy konkrt MAC-kdot hasznljon. Az SSL ehelyett lehetv teszi, hogy Alice s Bob az SSL-viszony kezdetekor, a kzfogs fzisban megllapodjanak a hasznlt kriptogrfiai algoritmusokban. Ezentl a kzfogs fzisban Alice s Bob frissen generlt vletlen szmokat is kldenek egymsnak, amelyek a viszonykulcsok (E B ,M B ,E A s M A ) szmtsnl tesznek szolglatot. A valdi SSL-kz- fogs (SSL handshake) lpsei az albbiak: Az utbbi kel lps arra szolgl, hogy megvdje a kzfogsi fzist az illetktelen kzbeavatkozstl. Hogy lssuk ennek szksgt, figyeljk meg, hogy az els lpsben a kliens jellemzen felajnl egy sor algoritmust, amelyek kzl egyesek ersek, msok gyengbbek. Mivel az algoritmusokban s a kulcsokban mg nem egyeztek meg, ezt a listt nylt szvegknt kldik el. Trudy, ha kzbekeldik (woman-in-the-middle), az ersebb algoritmusokat trlheti a listrl, ezzel arra knyszerten a szervert, hogy egy gyenge algoritmust vlasszon. Ezt a fajta tmadst megakadlyozand, az 5. lpsben a kliens ssze fzi az sszes kldtt s vett kzfogszenetet, s elkldi az ezen szmtott MAC-rtket. A szerver sszevetheti ezt a MAC-rtket az ltala kldtt s vett kzfogszeneteken sz mtott MAC-kddal. Ha a szerver eltrst tapasztal, lezrja az sszekttetst. Hasonlan a szerver is elkldi az ltala ltott kzfogszeneteken szmtott MAC-kdot, gy a kliens is elvgezheti az ellenrzst.

Az sszekltets bontsa
Egy id utn vagy Alice, vagy Bob vget szeretne majd vetni az SSL-viszonynak. Ennek egyik lehetsges mdja az lenne, ha Bob egyszeren az alapul szolgl TCP bontsval fejezn be az SSL-viszonyt, azaz Bob kldene egy TCP FIN szegmenst Alice-nek. Ez a naiv megkzelts azonban alkalmas terepet teremtene a csonktsos tmadshoz (trun- cation nttack), amelynek sorn Trudy, ismt kzbekeldve, egy fennll SSL-viszonyt TCP FIN kldsvel id eltt lezrhatna. Ha Trudy ezt megtehetn, akkor Alice azt hihet- n, hogy minden adatot megkapott Bobtl, pedig valjban csak egy rsze rkezett meg. A problmra az nyjt megoldst, hogy a tpusmez jelzi, hogy a rekord az SSL-viszony lezrst jelenti-e. (Annak ellenre, hogy az SSL-tpusmezt nyltan kldik, a vev a rekord MAC-kdjnak segtsgvel hitelesti azt is.) Egy ilyen mez bevezetse nyomn, ha Alice kapna egy T CP FIN szegmenst azeltt, hogy egy zr SSL-rekord rkezett volna, tudn, hogy valaki megprblja megtrflni. Ezzel lezrjuk az SSL protokoll bemutatst. Lthattuk, hogy szmos kriptogrfiai alapelemet felhasznl a 8.2. s 8.3. alfejezetben trgyaltak kzl. Ha az Olvas mg mlyebben szeretne megismerkedni az SSL protokollal, akkor figyelmbe ajnljuk Rescorla SSL-rl szl igen olvasmnyos knyvt (Rescorla 2001].

8.7. Hlzati szint biztonsg: IPsec


Az IP security - vagy kzkedvelt nevn az IPsec protokoll - egy protokollcsald, amely a hlzati rteg biztonsgoss ttelre szolgl. Ahogy a 4. fejezetben emltettk, az IPsec az alapja a legtbb virtulis magnhlzatnak (virtual privt network, VPN). Az IPsec egy meglehetsen bonyolult jszg - az egyes rszeit tbb mint egy tucat RFC trgyalja. Jelen fejezetben egy olyan konkrt helyzetben mutatjuk be az IPsec protokollt, amikor a kt egymssal kommunikl hoszt IPsec-kel rendelkezik. A kt legfontosabb, IPsec-kel kapcsolatos RFC az RFC 4301, amely bemutatja a teljes IP security architektrt, valamint az RFC 2411, amely az IPsec protokollcsaldot foglalja ssze. Mieltt elmerlnnk az IPsec rszleteiben, lljunk meg egy kicsit s gondoljuk t, mit is jelent a hlzati rteget biztonsgoss tenni. Elszr is, gondoljuk meg, mit jelent a titkossga hlzati rtegben (network-layer confidentiality). A hlzati rteg gy biztostana titkossgot, ha minden adatot, amelyet az IP-datagramok szlltanak, titkostana. Ez azt jelenti, hogy minden esetben, amikor egy hoszt egy datagramot szeretne kldeni, titkostja annak adatrszt, mieltt kikldi a hlzatba. A titkosts elvileg trtnhet szimmetrikus kulcs kdolssal, nyilvnos kulcs titkostssal vagy nyilvnos kulcs titkosts segtsgvel meghatrozott viszonykulcsokkal. Az adatelem lehet egy TCP-szegmens, egy UDP-szegmens, egy ICMP zenet stb. Ha egy ilyen hlzati* szint szolgltatst hasznlnnk, akkor min den adat, amelyet egy hoszt kld - gymint e-mailek, weboldalak, a TCP kzfogszenetei s felgyeleti zenetek (mint az ICMP vagy SNMP) - rejtve maradna brmely a hlzaton hallgatz harmadik fl eltt. Egy ilyen szolgltats teht bizonyos rtelemben lefedn a tel jes internetes forgalmat, amely mindannyiunknak a biztonsg rzett nyjtan. A titkossgon tl elvrhatjuk, hogy a hlzati rteg a forrs hitelessgt (source authcntication) is biztostsa. Amikor egy hoszt egy IP-datagramot fogad valamilyen IP-

forrscmrl, hitelesti a forrst azzal, hogy megbizonyosodik arrl, hogy az IP-datagramot valban az adott cmmel rendelkez hoszt kldte. Egy ilyen szolgltats megakadlyozza az IP-cmek hamistst. Az IPsec protokollkszlet kt alapvet protokollbl ll: a hitelest fejrszprotokoll (Authcntication Header, AH Protocol), valamint a begyazott biztonsgos adatmez (Encapsulation Security Payload, ESP Protocol) protokoll. Amikor egy forrshoszt biztonsgosan kld datagramokat egy clhosztnak, akkor azt vagy az AH, vagy az ESP protokoll segtsgvel teszi. Az AH protokoll biztostja a forrs hitelessgt s az adatok integritst, de nem biztostja a titkossgot. Az ESP protokoll egyarnt garantlja a forrshitelestst, az adatintegritst s a titkossgot. Mivel tbb szolgltatst nyjt, az ESP protokoll nyilvn bonyolultabb is, s tbb szmtst ignyel, mint az AH protokoll. Mieltt megindulna a forrs s a cl hoszt kztt a biztonsgos datagramok kldse, az AH s az ESP protokoll egyarnt lefuttat egy kzfogst, s ltrehoz egy hlzati szint logikai sszekttetst. Ez a logikai csatorna a biztonsgi sszekttets (security asso- ciation, SA). Az IPsec teht az internet sszekttets nlkli hlzati rtegt egy logikai sszekttetsekkel rendelkez rtegg alaktja t. Az SA ltal meghatrozott logikai kapcsolat szimplex sszekttets, azaz egyirny. Ha mindkt hoszt szeretne biztonsgos datagramot kldeni a msiknak, akkor kt SA-t (vagyis logikai sszekttetst) kell felptenik, mindkt irnyra egyet-egyet. Egy SA azonostsra egy 32 bites, biztonsgi paramtereket cmz index (Security Paramter Index, SPI) nev azonost szolgl. A gyakorlatban minden IPsec-datagram fejrsze tartalmaz egy SPI-mezt. Az ugyanahhoz az SA-hoz (vagyis ugyanahhoz a logikai sszekttetshez) tartoz datagramok mind ugyanazt az SPI-indexet tartalmazzk.

8.7.1. Hitelest fejrszprotokoll: AH


Mint az imnt emltettk, az AH protokoll [RFC 4302; RFC 4305] forrshitelestst s adatintegritst biztost, titkossgot viszont nem. Amikor valamely forrshoszt egy bizonyos cmzettnek datagramokat szeretne kldeni, legelszr ltrehoz a clgppel egytt egy SA-t. Miutn felptettk az SA-t, a forrs- s clhoszt mr rendelkezik egy kzs titkos hitelest kulccsal. Felttelezzk, hogy a kzs titkos kulccsal rendelkez forrshoszt megbzhat fl, azaz nem fogja meghamistani az IP-cimt. Miutn ltrejtt az SA s a kzs titkos kulcs, a forrsgp mr kpes biztonsgos datagramokat kldeni a cmzettnek. A biztonsgos datagramok tartalmazzk az AHfejrszt, amely az eredeti IP-datagram adateleme (pldul egy TCP- vagy UDPszegmens) s az IP-fejlc kztt foglal helyet, ahogyan azt a 8.30. brn is megfigyelhetjk. Az AHfejrsz teht megnveli az eredeti adatelemet, s ez a kibvlt adatelem gyazdik be egy hagyomnyos IP-datagramba. Amikor a cmzett megkapja ezt a datagramot, szreveszi, hogy a protokoll meznek az rtke 51, gy az AH protokoll szerint dolgozza fel a datagramot. (Emlkezznk, hogy az IP-datagram protokoll mezje ltalban annak a felsbb rtegbeli protokollnak a meghatrozsra szolgl - pldul TCP, UDP vagy 1CMP -, amelynek az IP-datagram adatrszt tovbbtani kell.) A kzbees tvlasztk ugyangy dolgozzk fel a datagramokat, ahogy eddig is tettk - megvizsgljk a cl IP-cmet s eszerint tovbbtjk a datagramokat. Az AH-fejrsz szmos mezbl ll:

Kvetkezfejrsz-mQZ. Ugyanaz a szerepe, mint egy hagyomnyos datagram esetben a protokoll meznek. Azt jelzi, hogy az AH-fejrszt kvet adat egy TCPszeg- mens, vagy egy UDP-szegmens, vagy egy lCMP-szegmens stb. (Ne feledjk, hogy az IP-fcjrsz protokoll mezje most az AH-protokoll hasznlatt jelzi, gy nem azonosthatja a szlltsi rtegbeli protokollt.) Security Paramter Index (SP1) mez. Egy tetszleges 32 bites szm, amely a biztonsgi protokollt is figyelembe vve, egyrtelmen azonost egy SA-t. Sorszm mez. Ez a 32 bites mez a datagram sorszmt tartalmazza. Kezdeti rtke az SA felptsekor 0. A sorszmot az AH protokoll (az SSL-hez hasonlan lsd 8. 6. alfejezet) visszajtszsos s kzbekeldses tmadsok megakadlyozsra alkalmazza. Hitelestsiadat-mez. Egy vltoz hosszsg mez, amely a datagramra szmtott MAC-kdot tartalmazza. A MAC-kdot az eredeti IP-datagramon s az AH fejrszmezin szmtjk (kivve az IP TTL-mezjt, s az AH hitelestsiadatmezjt) a kzs titkos kulcs segtsgvel. A MAC meghatrozst az IPsec HMAC (lsd 8.3. altejezet) szerint vgzi, az SA ltal elrt hash-fggvny alkalmazsa mellett (pldul MD5 vagy SI IA-1). Amikor a cmzett hoszt egy AH-fejrsszel elltott IP-datagramot kap, meghatrozza a datagramra vonatkoz SA-t, majd a hitelestsiadat-mez alapjn ellenrzi a datagram integritst s hitelesti a forrst.

8.7.2. Az ESP protokoll


Az ESP protokoll [RFC 4303; RFC 4305] a hlzati rtegben egyszerre biztostja a tit kossgot, a forrshoszt hitelestst s az adatok integritst. Ugyancsak azzal kezddik a trtnet, hogy a forrshoszt felpt egy SA-t a clhoszttal. Miutn ltrehoztk az SA-t, a forrshoszt s a clhoszt mr rendelkezik egy kzs titkos titkost kulccsal, valamint egy kzs titkos hitelest kulccsal is. Ezutn a forrshoszt mr tud biztonsgos datagraIP-fejrsz AH-fejrsz TCP/UDP-szegmens

Protokoll = 51

8.30. bra. Az AH-fejrsz elhelyezkedse egy IP-datagramon bell mokat kldeni a clhosztnak. Ahogy a 8.31. brn is lthat, a biztonsgos datagram gy kszl, hogy az eredeti IP-datagram adatmezjt elltjk fejrsszel s farokrsszel, majd ez a begyazott adat kerl egy IP-datagram adatmezjbe. Az IP-datagram protokollme- zjben az 50-es rtk hivatott jelezni, hogy a datagram ESP fej- s farokrszt tartalmaz. Ha a cmzett hoszt kap egy IPdatagramot, szreveszi, hogy a protokollmez rtke 50, s az ESP protokollnak megfelelen dolgozza azt fel. Az eredeti IP-datagram adatmezje az ESPfarokrsszel egytt titkostva van, ahogy a 8.31. brn is lthat. Az ESP-fejrsz egy 32 bites SPI-mezbl s egy 32 bites sorszmmezbl ll, amelyeknek pontosan ugyanaz a szerepe, mint az AH protokoll esetben. Az ESP-farokrsz tartalmazza a kvetkez fejrszmezt, ennek szerepe ugyancsak megegyezik az AH-nl ltottal. Megjegyezzk, hogy mivel az ESP-farokrsz titkostott, egy tmad

nem kpes meghatrozni, hogy melyik szlltsi protokollt hasznljuk. A farokrszt kveten szerepel egy hitelcstsiadat-mez, amelynek jfent ugyanaz a szerepe, mint az AH protokollnl. Az ESP protokoll tovbbi rszletei megtallhatk a kt hivatkozott RFC-ben [RFC 4303; RFC 4305].

8.7.3. SA s kulcskezels
A 8.7.1. alfejezetben lttuk, hogy az AH protokoll egy titkos hitelest kulcsot alkalmaz, amelyet a forrshoszt s a clhoszt oszt meg egymssal. A 8.7.2. alfejezetben lthattuk, hogy az ESP protokoll emellett egy titkos titkost kulcsot is hasznl a szimmetrikus kulcs rejtjelezshez. Vajon a forrs- s clhoszt hogyan jut hozz ezekhez a kulcsokhoz? Ezenkvl krds, hogy a forrs- s a clhoszt hogyan egyeznek meg a kriptogrfiai algoritmusokban (a szimmetrikus kulcs titkostsra s a HMAC szmtsra szolgl algoritmusokban)? Nagy vonalakban ktfle megkzelts lehetsges: Kzi: A rendszergazda kzzel belltja a hosztokon a megfelel kriptogrfiai algoritmusokat s kulcsokat. Automatikus: Az egyes SA-k kriptogrfiai algoritmusait s kulcsait igny esetn, automatikusan, minden SA-ra kln hatrozzk meg. Ez az internetes kulcscserl (Internet Key Exchange, IKF.) protokoll segtsgvel trtnik [RFC 2409]. Ahogy mr sejthetjk, az IKE nyilvnos kulcs kriptogrfia alkalmazsval terjeszti a kulcsokat. Az IKE protokoll sokflekppen hajthat vgre, ennek pontos lersa megtallhat (Kauf- mann 1995] mvben.

Hitelestett

IP-fejrsz

ESP-fejrsz

TCP/UDP-szegmens

ESP-farokrsz

ESP-hitelests

Protokoll = 50

1-----------------------------------------------------------------Titkostott

Ezzel vgre rtnk az IPsec-rl szl sszefoglalsunknak. Az IPsec-et IPv4 s szlltsi krnyezetben trgyaltuk. Az IPsec egy alagt (tnnl) tviteli mdot is definil, amely sorn a hosztok helyett az tvlasztk ltjk el a biztonsgi funkcikat. s vgl, az IPsec az !Pv4 mellett az IPv 6 protokollra is meghatrozza a titkostsi eljrsokat.

8.8. Vezetk nlkli LAN-ok biztonsga


A biztonsg klnsen fontos krds a vezetk nlkli hlzatok esetben, mivel a kereteket szllt rdihullmok messze tlterjedhetnek a vezetk nlkli bzisllomst s hosz- tokat tartalmaz plet hatrain. Jelen fejezet rvid betekintst nyjt a vezetk nlkli biztonsg tmakrbe. A terlet rszletes trgyalst Edney s Arbaugh igen olvasmnyos knyvben talljuk meg (Edney 2003]. Az IEEE 802.11 biztonsgi krdsei mszaki krkben s a mdiban is jelents rdekldsnek rvendhettek. Br nem kevs sz esett ezekrl, a nzetek kicsiben klnbznek csak - gy tnik, ltalnos az egyetrts, miszerint az IEEE 802.11 protokoll szmos slyos biztonsgi hinyossggal rendelkezik. Valban, nyilvnosan elrhet olyan szoftver, amely kihasznlja ezeket a biztonsgi rseket, ugyangy kitve a 802.11 biztonsgi mechanizmust hasznlkat a tmadsoknak, mint azokat a felhasznlkat, akik egyltaln nem hasznljk a biztonsgi funkcikat. A kvetkez alfejezetben megvizsgljuk azokat a biztonsgi megoldsokat, amelyeket az IEEE 802.11 szabvny eredetileg tartalmaz, s amelyeket sszefoglal nven vezetkes hlzatval egyenrtk biztonsgnak neveznek (Wired Equivalent Privacy, WEP). A nvbl is kiderl, hogy a WEP a vezetkes hlzatokval azonos szint biztonsgot hivatott (volna) garantlni. Elbb megnzzk, hogy milyen biztonsgi rsekkel rendelkezik a WEP, majd megvizsgljuk az IEEE 802.Ili szabvnyt, amely az IEEE 802.11 szabvny 2004-ben elfogadott, lnyegesen biztonsgosabb vltozata.

8.8.1. Vezetkes hlzatval egyenrtk biztonsg (WEP)


Az IEEE 802.11 WEP protokoll [IEEE 802.11 1999) hitelestst s az adatok titkostst biztostja egy vezetk nlkli hozzfrsi pont (access point, AP) s egy hoszt kztt, szimmetrikus kulcs megolds hasznlatval. A WEP nem tartalmaz kulcskezelsre vonatkoz algoritmusokat, vagyis azt felttelezi, hogy a

bzislloms s a hoszt valamilyen ms mdszerrel mr megegyeztek a kulcsban. A hitelests gy zajlik, mint a 8.4. alfejezetben ltott ap4.0 protokoll esetben. Ngy lps trtnik: 1. A vezetk nlkli hoszt a hitelestst kri egy hozzfrsi ponttl. 2. A hozzfrsi pont a hitelestsi krelemre egy 128 bites nonce szmmal vlaszol. 3. A vezetk nlkli hoszt a hozzfrsi ponttal kzs szimmetrikus kulcsval titkostja a nonce szmot. 4. A hoszt ltal titkostott nonce szmot a hozzfrsi pont dekdolja. Ha a dekdolt nonce szm megegyezik a hosztnak kldtt eredeti nonce szmmal, akkor a bzislloms sikeresen hitelestette a hosztot.

A WEP adattitkostsnak algoritmust a 8.32. bra mutatja be. Felttelezzk, hogy a 40 bites Ks szimmetrikus kulcsot a hoszt s a bzislloms is ismeri. Ezenkvl a 40 bites kulcsot egy 24 bites inicializl vektorral (IV) egsztjk ki, gy megkapjuk azt a 64 bites kulcsot, amelyet egy keret titkostsakor hasznlni fogunk. A IV keretenknt ms-ms rtket vs/ fel, gy minden adatkeretet klnbz 64 bites kulccsal kdolunk. A titkos ts a kvetkezkppen trtnik. Legelszr egy 4 bjtos CRC-kdot (lsd 5.4. alfejezetet) szmtunk a keret adatmezjhez. Ezutn az adatmezt a 4 bjtos CRC-kddal egytt az RC4 kulcsfolyamatos rejtjelezvel titkostjuk. Az RC4 algoritmust nem trgyaljuk rszle teiben (bvebb lersrt lsd [Schneier 1995] s [F.dney 2003]). Szmunkra most elg any- nyit tudni, hogy az RC4 algoritmust egy kulcs inicializlja (esetnkben a n 64 bites ( Ks ,IV) kulcs), s egy k\' ,k2!' ,... yk^ kulcsfolyamotlltel,amelyetegykeretadatainaksCRC-r- tknek titkostsra hasznlunk. Az egyszersg kedvrt kpzeljk gy, hogy a mvele teket
IV

bjtonknt hajtjuk vgre. A tikosts gy trtnik, hogy az adat i-cdik bjtjt, d\-1 a (Ks ,1V) prbl generlt kulcsfolyam i-edik bjtjval, k\' -vei XOR kapcsolatba hozzuk, gy megkapjuk a rejtett szveg i-edik bjtjt, Cj-t.

c\ - dt k}
Az IV rtke keretrl keretre vltozik, s minden WEP szerint tikostott 802.11 keret nylt szvegknt tartalmazza azt fejrszben a 8.32. brn lthat mdon. A vev fogja a kldvel kzs 40 bites szimmetrikus kulcst, hozzfzi az IV-t, s a 64 bites kulcs segtsgvel (amely ugyanaz, mint amit a kld hasznlt a titkostshoz), dekdolja a keretet:

d\ =

C\

/j,v

Az RC4 titkost megfelel hasznlathoz hozz tartozik, hogy soha nem szabad ugyanazt a 64 bites kulcsot tbbszr hasznlni. Ne felejtsk, a WEP-kulcsok keretrl keretre vltoznak. Ez azt jelenti, hogy egy adott Ks kulcshoz (amely igen ritkn vagy soha nem vltozik) sszesen csupn 224 egyedi kulcsrtk tartozik. Megmutathat [Walker 2000; Edney 2003], hogy amennyiben a kulcsokat vletlenszeren vlasztjuk, mindssze 12 000 keret elkldse utn mr tbb mint 99 szzalk az eslye annak, hogy van olyan IV-rtk (s ebbl kifolylag olyan 64 bites kulcs is), amelyet tbbszr is hasznltunk. Ha az tviteli sebessg 11 Mb/s, a keretek hossza pedig 1 KB, akkor nhny msodperc elegend ahhoz, hogy 12 000 keretet elkldjnk. St, mivel az IV-t nyltan kldjk t, egy hallgatz pon tosan tudni fogja, hogy mikor hasznlunk ismtld IV-t.

IV (keretknt klnbz) Kulcsfolyam Ks: 40 bites szimmetrikus kulcs


k
w k kN

genertor

(adott Kv IV rtkekre)

IV

Nylt vg adatkeret: adat + CRC

i -d, i i + Cl

i d, I I *

k
w

*N+1
1 CRC, i 1 i C N+1

kN+4 1 -CRC, 1
1 +

i d3 i i +
c,

i N 1 1 + C N

802.1! fejrsz

adatok + CRC WEP szerint titkostva

156

8.

SZMTGP-HLZATOK

BIZTONSGA

Hogy lssunk legalbb egyet a tbbszr hasznlt kulcsok kvetkeztben felmerl problmk kzl, nzzk meg a kvetkez vlasztott nylt szveg tmadst, amelyet Trudy hajt vgre Alice ellen. Tegyk fel, hogy Trudy (lehet, hogy egy hamis IP-cmrl) kld egy krst Alice-nek (pldul egy HTTP- vagy Fl'Pkrst), hogy kldjn el neki egy ismert di, d2 > 3 , d,\... tartalm fjlt. Trudy megfigyeli a Cy, c2 , C 3, C 4 ... titkostott adatot. Mivel dj = Cj k/' , ha az egyenlet mindkt oldalt XOR kapcsolatba hozzuk q-vel, akkor a kvetkezt kapjuk:

dic - ki,v
Ezzel az sszefggssel Trudy a dj s c, rtkek ismeretben meghatrozhatja a k/v kulcsot. Amikor Trudy legkzelebb azt ltja, hogy jra ugyanezt az I V-t hasznljk, knnyen dekdolni tudja a titkostott zenetet, mivel ismeri a k\v, k2 , k{ ,... kulcsfolyamot. A VVEP szmos ms biztonsgi hinyossggal is rendelkezik. [Fluhrer 20011 egy olyan tmadst mutat be, amely az RC4-kdol bizonyos kulcsok (n. gyenge kulcsok) esetben jelentkez ismert gyengesgt hasznlja ki. [Stubblefield 2002] azt rszletezi, hogyan lehet hatkonyan megvalstani s felhasznlni ezt a tmadst. A WEP tovbbi hinyossga a 8.32. brn ltott CRC-rtkkel kapcsolatos, amely az IEEE 802.11 adatkeretben arra szol gl, hogy detektlja az adatmezben megvltoztatott biteket. Ennek ellenre, egy tmad, ha megvltoztatja a kdolt adatot (pldul zagyvasgra cserli), s kiszmtja a beszrt zagy vasg CRC-rtkt, s ezt a CRC-kdot is beteszi a keretbe, el tud lltani olyan 802.11 keretet, amelyet a vev elfogad. A tartalom meghamistsnak vagy kicserlsnek szlelshez olyan zenetintegritst biztost eljrsokra lenne szksg, mint amilyeneket a 8.3. alfejezetben trgyaltunk. A WEP biztonsgval kapcsolatos tovbbi rszletek megtallhatk a [Edney 2003; Walker 2000; Weatherspoon 2000; 802.11 Security 2007] mvekben s ezek hivatkozott irodalmban.

8.8.2. IEEE 802.Ili


Nem sokkal az IEEE 802.11 1999-ben trtn megjelenst kveten elkezddtt az IEEE 802.11 j, tovbbfejlesztett s ersebb biztonsgi megoldsokat alkalmaz vltozatnak fejlesztse. A szabvnyt vgleges formjban 2004-ben fogadtk el. Ahogy ltni fogjuk, amg a VVEP viszonylag gyenge titkostst hasznlt, csupn egyfle hitelestst tmogatott s nem tartalmazott kulcskezel algoritmusokat, addig az IEEE 802.1 li lnyegesen ersebb titkostsi mdszereket alkalmaz, a hitelest eljrsok szles vlasztkt nyjtja s biztost eljrst a kulcsok terjesztsre is. A kvetkezkben ttekintjk az IEEE 802.1 li szabvnyt. Egy kitn, mszaki szemllet sszefoglals az IEEE 802.1 li-rl (hanganyag formjban) a [TechOnline 2004] anyag. Az IEEE 802.1 li keretrendszer fbb elemei a 8.33. brn lthatk. A vezetk nlkli kliensen s bzisllomson kvl, az IEEE 802.Ili definil egy hitelest szervert is, amely- lyel az AP kommuniklhat. A hitelest szerver s bzislloms klnvlasztsa lehetv teszi, hogy egy hitelest szerver tbb AP-t is kiszolgljon, gy a hitelestssel s hozzfrs sel kapcsolatos (nemritkn kritikus) dntsek egyetlen szerverre koncentrldnak, ezzel az AP olcsbb s egyszerbb vlik. Az IEEE 802.11 i ngy mkdsi fzist hatroz meg:

8.7. Hlzati

SZINT BIZTONSG:

IPsec

157

1. Felderts. A felderts szakaszban az AP hirdeti a jelenltt, valamint a titkostsi s hitelestsi mdszereket, amelveket a vezetk nlkli kliensnek fel tud knlni.

A kliens ezutn az zlsnek megfelel konkrt titkostsi s hitelestsi formt kri. Br a kliens s az AP mr vltanak egymssal zeneteket, sem a kliens hitelestse nem trtnik mg meg, sem a titkostshoz szksges kulcs nem ll mg rendelkezsre, gy nhny lps szksges mg ahhoz, hogy a kliens tetszleges tvoli hosztot elrhessen a vezetk nlkli csatornn keresztl. 2. Klcsns hitelests s a mesterkulcs (MK)generlsa. A hitelests a vezetk nlkli kliens s a hitelest szerver kztt trtnik. Ebben a fzisban a bzislloms lnyegben tjtszknt mkdik, a kliens s a hitelest szerver kzti zeneteket tovbbtja. A kiterjesztett hitelestsi protokoll (Extensible Authentication Protocol, EAP) (RFC 2284] a kliens s a szerver kztti egyszer krds/vlasz jelleg prbeszdknt rja el a vgpontok kztt kldtt zenetek formtumt. Amint a 8.34. bra mutatja, az EAPzenetek az EAPoL (FAP over LAN, [IEEE 802.IX]) protokoil- ba gyazdva tovbbtdnak a 802.11 vezetk nlkli csatornn keresztl. Az EAPzeneteket az AP kibontja, majd ezek jra begyazdnak, mivel a hitelest szerver fel IP/UDP felett, a RADIUS protokoll vgzi az tvitelt. Br az IEEE 802.1 li nem kveteli meg a RADIUS szerver s a hozz tartoz protokoll hasznlatt, mgis ezek az IEEE 802.1 li defacto szabvnyos komponensei. A kzeljvben a RADIUS protokollt valsznleg felvltja a nemrg szabvnyostott DIAMETER protokoll [RFC 3588]. Az EAP hasznlatval a hitelest szerver szmos hitelestsi mdszer kzl vlaszthat. Igen gyakran alkalmazzk az EAP-TLS hitelestsi eljrst [RFC 2716], br az IEEE 802.1 li nem rja el egyik konkrt protokoll hasznlatt sem. A kliens s a hitelest szerver klcsns hitelestshez, valamint a mester kulcs (MK) szrSTA: klienslloms AP: hozzfrsi pont AS: hitelest

Vezetkes hlzat

szerver

1. A biztonsgi kpessgek feldertse

^0 ---------------------------------Az AP kzvettsvel az STA s az AS klcsnsen hitelestik egymst, egyttesen ltrehoznak egy mesterkulcsot (Master Key, MK) STA kiszmtja * C i ) " "

8.7.

Hlzati szint biztonsg: IPSEC a pronknt! mesterkulcsot (Pairwise Master Key. PMK)

Az AS kiszm, 3 u a

i 9Vanazl PMK-kulcsot s elkldi az AP-nek

063

4
Az STA s az AP a PMK segtsgvel kiszmtanak egy ideiglenes kulcsot {Temporal Key,TK), amelyet titkostsra, zenetintegrits biztostsra hasznlnak

8.31. bra. Az ESP-mezkkel kibvtet IP-datogram

160

8.

SZMTGP-HLZATOK

BIZTONSGA

STA: klienslloms

AP: hozzfrsi pont

AS: hitelest szerver

<* p>>
Wired network

EAPTLS EAP
EAPover LAN (EAPoL) IEEE 802.11 RADIUS UDP/IP

8.34. bra. Az EAP egy vgpontok kztti protokoll. Az EAP-zenetek a kliens s a bzislloms kztt a vezetk nlkli adatkapcsolaton EAPoL-nak megfelelen ,

mg a hozzfrsi pont s a hitelest szerver kztt az IP/UDP felett mkd RADIUS protokollnak megfelelen gyazdnak be
maztatshoz az EAP-TLS azokhoz hasonl nyilvnos kulcs mdszereket hasznl (bevetve nonce titkostst s zenetpecsteket is), amelyeket a 8.3. s 8.4. alfejezet- ben tanulmnyoztunk. 3. A pronknli mesterkulcs generlsa (PMK). Az MK egy kzs titok, amelyet kizrlag a kliens s a hitelest szerver ismer, s amelyet mindketten arra hasznlnak, hogy ellltsanak egy msodik kulcsot, a pronknti mesterkulcsot (PMK). Ezutn a hitelest szerver a PMK-kulcsot elkldi az APnek. Pontosan ezt szerettk volna elrni! A kliens s a hozzfrsi pont rendelkezik egy kzs kulccsal (emlkezznk, hogy a WEP egyltaln nem foglalkozott a kulcs terjesztsnek krdsvel), tovbb klcsnsen hitelestik egymst. Mr csak egy kevs hinyzik ahhoz, hogy munkhoz lthassanak. 4. Ideiglenes kulcs (TK) generlsa. Azzal, hogy adott a PMK, az AP s a kliens mr szrmaztathatnak tovbbi kulcsokat, amelyeket a kommunikcijuk sorn hasznlhatnak. Ezek kzl emltsre mlt az ideiglenes kulcs (Temporal Key, TK), amelyet a tetszleges tvoli hosztnak a vezetk nlkli csatornn keresztl kldtt adatok adatkapcsolati szint titkostsra hasznlnak. Az IEEE 802.1 li szmos titkostsi eljrst knl fel, kztk egy AES-titkostn alapul mdszert, valamint a WEP-titkosts egy megerstett vltozatt is.

8.9. Mkdsi biztonsg: tzfalak s behatolsjelz rendszerek


Fejezetnk eddigi rszeibl mr kiderlt, hogy az internet korntsem biztonsgos hely - a rossz fik ott vannak, s a legklnbzbb mdokon okozhatnak krokat. Gondoljunk most egy szervezet hlzatra s a rendszergazdra, aki azt felgyeli. A rendszergazda szempontjbl a vilg kt elg jl elklnl rszre oszthat vannak a j fik (akik a

8.9.

Mkdsi biztonsg: tzfalak s behatolsjelz rendszerek

161

szervezet hlzathoz tartoznak, s akik viszonylag korltlanul hozzfrhetnek a szervezet hlzatn belli erforrsokhoz) s a rossz fik (mindenki ms, akiknek a hlzat erforrsaihoz val hozzfrst szigoran ellenrizni kell). A kzpkori vraktl kezdve egsz a modern irodahzakig, a legtbb szervezet esetben egyetlen bejrat/kijrat adott, ahol a belpket s kilpket - akr j fik, akr rossz fik - biztonsgi ellenrzsnek vetik al. Egy vrban ez a felvonhd vgben lv kapuban trtnt; egy irodapletben pedig a biztonsgi pultnl vgzik. Egy szmtgp-hlzat esetben a bejv/kimen forgalom biztonsgi ellenrzst, naplzst, eldobst vagy tovbbtst olyan eszkzk vgzik, mint a tzfalak (Firewall), a behatolsjelz rendszerek (Intrusion Detection System, IDS) s a behatolst megelz rendszerek (Intrusion Prevention System, IPS).

8.9.1. Tzfalak
A tzfal (firewall) nem ms, mint egy olyan hardver-szoftver egyttes, amely a szervezet hlzatt elvlasztja az internettl gy, hogy egyes csomagokat tenged, mg msokat blokkol. A tzfal lehetv teszi a rendszergazda szmra, hogy a bejv s kimen forgalom felgyelsvel szablyozza a klvilg s felgyelt hlzat erforrsai kztti hozzfrst. Egy tzfalnak hrom feladata van: Minden kvlrl befel jv vagy bentrl kifel men forgalom thalad a tzfalon. A 8.35. brn lthat egy tzfal, amely - gy ahogy azt kell -, a felgyelt hlzat s az internet tbbi rsze kzti hatron foglal helyet. Br nagy szervezetek hasznlhatnak tbbszint vagy elosztott tzfalakat is ISkoudis 2006], egyszerbb teszi a felgyeletet s a biztonsgi hzirend betartatst, ha a tzfal a hlzat egyetlen, a hozzfrst biz tost pontjn helyezkedik el, a 8.35. brn lthat mdon.

Tzfal

Nyilvnos internet

8.35. bra. A tzfal elhelyezkedse a felgyelt hlzat s a klvilg kztt

162

8.

SZMTGP-HLZATOK

BIZTONSGA

Felgyelt hlzat

Kizrlag jogszer, azaz a helyi biztonsgi hzirend szerint engedlyezett forgalom mehet t. Azltal, hogy a tzfal a szervezet hlzatnak minden bejv

s kimen forgalmt ltja, kpes kizrlag a jogszer forgalomra korltozni a hozzfrs engedlyezst. Maga a tzfal ellenll a tmadsoknak. A tzfal maga is egy hlzatra kttt eszkz. Ha nem kell gonddal tervezik vagy kivitelezik a tzfalat, akkor azt kijtszhatjk, ez esetben pedig csupn hamis biztonsgrzetet ad (ami annl is rosszabb, mintha egyltaln nem hasznlnnk tzfalat!). A kt legnagyobb tzfalakat forgalmaz cg napjainkban a Cisco s a Check Point. Tzfalat (csomagszrt) knnyen kszthetnk egy Linuxot futtat gpbl is az iptables segtsgvel (amely egy nylt szoftver s legtbbszr tartalmazza a Linux). A tzfalak hrom fbb csoportra oszthatk: lteznek hagyomnyos csomagszrk, llapottart csomagszrk s alkalmazs szint tjrk. A kvetkez alfejezetekben ezeket vesszk sorra.

Hagyomnyos csomagszrk
Ahogy a 8.35. bra mutatja, egy tipikus szervezet rendelkezik egy tjrval, amely a bels hlzatot sszekapcsolja az ISP-vel (s gy a nagy, nyilvnos internethlzattal is). Minden forgalom, ami a bels hlzatba belp vagy azt elhagyja, keresztlhalad ezen a tvlasztn, s ennl az tvlasztnl trtnik a csomagszrs (packet filtering). A csomagszr minden egyes datagramot kln megvizsgl, s a rendszergazda ltal elrt szablyok alapjn eldnti, hogy az adott csomag tmehet vagy el kell azt dobni. A szrs legtbbszr a kvetkezk alapjn zajlik: IP-forrs-s-clcmek, Az IP-fejrszben szerepl protokoll tpusa: TCP, UDP, ICMP, OSPF stb., TCP s UDP forrs- s clportszmok, . TCP-jelzbitek: SYN, ACK stb., ICMP-zenet tpusa, a bejv s kimen datagramokra vonatkoz klnbz szablyok, az tvlaszt klnbz csatolira definilt klnbz szablyok. A rendszergazda a tzfalat a szervezet hzirendje szerint lltja be. A szablyzat figyelembe veheti a felhasznlk tevkenysgt s svszlessg felhasznlst, valamint a szervezet biztonsgi elvrsait is. A 8.4. tblzatban felsoroltunk nhny lehetsges hzirendet, amelyet egy szervezet alkalmazhat, valamint megadtuk ezek csomagszrvel trtn megvalstst is. Ha pldul a szervezet egyltaln nem szeretne kvlrl TCP-ssze- kttetseket fogadni, kivve azokat, amelyekkel a nyilvnos webszerverkhz szeretnnek csatlakozni, akkor a csomagszr blokkolhat minden TCP SYN szegmenst, kivve azokat, amelyek clportszma 80, cl-IP-cme pedig a webszerver IP-cme. Ha a szervezet nem szeretn, hogy a felhasznli internetes rdizssal foglaljk le a svszlessget, ak kor blokkolhatja a lnyegtelen UDP-csomagokat (mivel az internetes rdik legtbbszr UDP felett adnak). Amennyiben egy szervezet el szeretn kerlni, hogy a bels hlzatt kvlrl feltrkpezzk (nyomkvets, traceroute), akkor blokkolhat minden ICMP TTL expired zenetet, amely elhagyn a szervezet hlzatt.

8.4. tblzat. Lehetsges biztonsgi hzirendek s a megfelel szrsi szablyok a

130.27.0.0/16 tartomnyban lv szervezet 130.207.244.203 cmen egy webszerver fut


Szablyzat Kifel ne legyen webhozzfrs . Tzfalbellts

hlzata

esetben,

ha

Brmely IP-cm 80 portszmra kldtt kimen csomag eldobsa Ne fogadjon bejv TCP-sszekttetseket, kivve a szervezet nyilvnos v/ebszervere fel Brmely IP-cimre rkez TCP SYN csomag eldobsa, kivve a 130.207.244.203 cm 80 portjra kldttek

Akadlyozza meg, hogy a webrdik emsszk fel a rendelkezsre ll svszlessget Akadlyozza meg, hogy a hlzatunkat a smurf (trpe) DoS-tmadsra hasznljk fel Akadlyozza meg, hogy a hlzatot feltrkpezzk

A DNS-csomagokon kvl minden UDP-csomag eldobsa Minden krzvnycmre (pldul 130.207.255.255) rkez ICMP ping csomag eldobsa

Minden kimen ICMP TTL expired csomag eldobsa

A szrsi szablyok az IP-cmekel s portszmokat egytt is figyelembe vehetik. Egy csomagszr tvlaszt pldul eldobhat minden Telnet-datagramot (23 portszmmal rendelkezt), kivve azokat, amelyek egy bizonyos listn szerepl IPcmek kzl valamelyikrl rkeznek vagy oda tartanak. Ez a szably csak a listn szerepl cmeknek engedlyez Telnet-sszekttetseket. Sajnos hamistott forrscmet tartalmaz datagramok ellen nem nyjt vdelmet egy kls cmekre hagyatkoz szablyrendszer. A szrs az alapjn is trtnhet, hogy a TCP ACK bit rtke 1 vagy 0. Ez a trkk akkor hasznlhat, ha a szervezet a bels kliensek szmra engedlyezi a kls szerverekhez val csatlakozst, de szeretn megakadlyozni, hogy kls kliensek bels szerverekre csatlakozzanak. Idzzk fel a 3.5. alfejezetbl, hogy minden TCPsszekttets els szegmensben az ACK rtke 0, mg az sszekttets minden tovbbi szegmensben 1. gy, ha a szervezet szeretn megakadlyozni, hogy kls kliensek bels szerverekkel kezdemnyezzenek sszekttetst, akkor a tzfal egyszeren kiszr minden olyan bejv szegmenst, amelynek ACK bitje 0. Ez a szably minden kintrl ered TCP-sszekttetetst elfojt, de engedlyezi a bentrl kezdemnyezett sszekttetseket. A tvlasztkban a tzfalszablyokat hozzfrs-vezrl listk valstjk meg, mgpedig gy, hogy a tvlaszt minden csatolja (interfsze) sajt listval rendelkezik. A hozzfrs-vezrl listra lthat egy plda a 8.5. tblzatban, a 222.22.0.0/16 hlzaton lv szervezet esetben. Ez a hozzfrs-vezrl lista egy olyan csatolra vonatkozik, amely a tvlasztt a szervezet kls internetszolgltatjval kti ssze. Az egyes szablyokat fent- rl lefel haladva prbljk alkalmazni minden egyes, a csatoln thalad datagramon. Az els kt szably egytt engedlyezi a bels felhasznlknak, hogy bngsszenek a We ben: az els szably minden 80 clportszmmal rendelkez TCP-csomagnak engedlyezi, hogy elhagyja a szervezet hlzatt; a msodik pedig beengedi a szervezet hlzatba a 80 forrsportszmmal s 1-es ACK bittel rkez csomagokat. Vegyk

szre, hogy ha egy kls cmrl prblnak egy bels hoszttal TCP-sszekttetst felpteni, az sszekttets blokkoldni fog, mg akkor is, ha a forrs- vagy clportszm 80. A msodik kt szably a DNS-csomagoknak engedi meg, hogy belpjenek a szervezet hlzatba vagy ppen el8.5. tblzat. Egy tvlaszt csatoljnak hozzfrs-vezrl listja
Teend Engedlyez Forrs cme 222.22.0.0./16 Cl cme Kvl a 222.22.0.0./16 tartomnyon Engedlyez Kvl a 222.22.0.0./16 tartomnyon Engedlyez 222.22.0.0716 Kvl a 222.22.0.0716 tartomnyon Engedlyez Kvl a 222.22.0.0716 tartomnyon Letilt Minden Minden Minden Minden Minden Minden 222.22.0.0716 UDP 53 >1023 UDP >1023 53 222.22.0.0./16 TCP 80 >1023 ACK Protokoll TCP Forrsport >1023 Clport 80 Jelzbit brmely

hagyjk azt. sszefoglalva, ez a meglehetsen szigor hozzfcrs-vezrl lista minden forgalmat blokkol, kivve a DNS-forgalmat s a szervezeten bellrl kezdemnyezett web- forgalmat. A (CERT Filtering 2007] ajnls azokat a port/protokoll csomagszrsi szablyokat sorolja fel, amelyek ajnlottak a ltez hlzati alkalmazsokban meglv ismert biztonsgi rsek kihasznlsnak megakadlyozsa rdekben.

Allapottart csomagszirk
Egy hagyomnyos csomagszr a szrsi szablyokat minden egyes csomagra klnk- ln alkalmazza. Az llapottart csomagszrk ezzel szemben nyomon kvetik a TCP-sz- szekttetseket, s ezen tuds birtokban hozzk meg a szrsi dntseket. Az llapottart csomagszrk megrtshez vizsgljuk meg a 8.5. tblzat hozzf rs-vezrl listjt. Br ez a hozzfrs-vezrl lista meglehetsen szigor, megengedi, hogy a kintrl 80 forrsporlszmmal s ACK=1 bittel rkez csomagok tmenjenek. Az ilyen csomagokat a tmadk fel tudjk hasznlni arra, hogy szablytalan formtum csomagokkal bels rendszereket prbljanak megzavarni, vagy hogy DoS-tmadsokat hajtsanak vgre, vagy hogy feltrkpezzk a bels hlzatot. A naiv megolds az lenne, hogy blokkoljuk a TCP ACK csomagokat is, ez a megkzelts viszont megakadlyozn, hogy a szervezeten belli felhasznlk a weben bngsszenek. Az llapottart csomagszrk ezt a problmt azzal oldjk meg, hogy minden fennll TCP-sszekttetst nyilvntartanak egy sszekttets-tblban. Ez kivitelezhet, mivel a tzfal szlelni tudja egy j TCP-sszekttets kezdett, amikor

egy hromutas kzfogst lt (SYN, SYNACK s ACK); tovbb szlelni tudja az sszekttets lezrst is, amikor az adott sszekttetsre vonatkoz FIN-csomagol lt. A tzfal (konzervatv hozzllssal) azt is felttelezheti, hogy az sszekttets vget rt, ha nem tapasztal aktivitst, mondjuk 60 msodpercen t. Pldaknt megtallhat egy tzfal sszekttetseket nyilvntart tblzata a 8. 6. tblzatban. A tblzatbl kiderl, hogy pillanatnyilag hrom TCP-ssze8. 6. tblzat. Egy llapottart csomagszr sszekttets-tblja
Forrscm 222.22.1.7 222.22.93.2 222.22.65.143 Clcm 37.96.87.123 199.1.205.23 203.77.240.43 Forrsportszm 12699 37654 48712 Clportszm 80 80 80

kttets ll fenn, s ezek kzl mindegyiket a szervezeten bellrl kezdemnyeztk. Az llapot tart csomagszr tartalmaz tovbb a vezrl tbljban egy j, sszekttets-ellenrzs oszlopot, ahogy a 8.7. tblzatban megfigyelhetjk. Vegyk szre, hogy a 8.7. tblzatban szerepl hozz frsvezrl lista azonos a 8.5. tblzatban lthatval, azzal a klnbsggel, hogy most kt szably esetben az sszekttets ellenrzse is el van rva. Nzznk meg nhny pldt, hogy lssuk, miknt mkdik egytt az sszekttets-tbla s a kibvtett hozzfrs-vezrl lista. Tegyk fel, hogy a tmad egy szablytalan formtum csomagot ksrel meg a szervezet hlzatba bejuttatni gy, hogy egy datagramot kld a 80 forrsportszmrl, 1-re lltott ACK jelzbittel. Tegyk fel tovbb, hogy ez a csomag forrscmknt a 150.23.23.155 cmet, frrsportszmknt pedig az 12543 portot tartalmazza. Amikor a tzfalhoz rkezik ez a csomag, a tzfal a 8.7. tblzatban megnzi a hozzfrs-vezrl listjt, ez pedig azt mutatja, hogy mieltt engedlyeznnk, hogy a csomag belpjen a szervezet hlzatba, az sszekttets-tblt is ellenrizni kell. A tzfal, ahogy azt kell, ellenrzi az sszekttets-tbljt, s azt tapasztalja, hogy a csomag nem rsze egyik fennll TCP-sszekttetsnek sem, ezrt eldobja a csomagot. A msodik plda kedvrt, tegyk fel, hogy egy bels felhasznl szeretne egy kls weboldalt bngszni. Miutn a felhasznl legelszr egy TCP SYN szegmenst kld, a felhasznl TCP-ssze- kttetse bekerl az sszekttetstblba. Amikor a webszerver vlaszcsomagokat kld

8.7. tblzat. Egy llapottart csomagszr hozzfrs-vezrl listja


Forrs Teend Forrs cme Cl cme Protokoll port szm Engedlyez 222.22.0.0/16 Kivl a 222.22.0.0/16 tartomnyon Engedlyez Kvl a 222.22.0.0/16 Engedlyez tartomnyon 222.22.0.0/16 Kvl a 222.22.0.0/16 tartomnyon Engedlyez Kivl a 222.22.0.0/16 tartomnyon Letilt Minden Minden Minden Minden Minden Minden 222.22.0.0/16 UDP 53 >1023 X UDP >1023 53 222.22.0.0/16 TCP 80 >1023 ACK X TCP >1023 Cl port szm 80 Br mely Jelzbit ssze kttets ellenrzse

(termszetesen ACK = 1 bittel), a tzfal elvgzi az ellenrzst, s azt ltja, hogy mkdik egy megfelel sszekttets. A tzfal gy tengedi ezeket a csomagokat, s nem zavarja a bels felhasznl webbngszst.

Alkalmazsi szint tjrk


A fenti pldkon keresztl azt lttuk, hogy a csomagszint szrssel egy szervezet kpes egy viszonylag nagyluk szitval az IP- s TCP/UDP-fejrszek alapjn szrst vgezni, megvizsglva az IP-cmeket, a portszmokat s az ACK biteket. Mi trtnik azonban, ha egy szervezet pldul a bels felhasznlk csak egy zrt (nem IP alapjn meghatrozott) csoportjnak szeretne Telnet-szolgltatst biztostani? s vajon mit lehet tenni, ha a szervezet azt szeretn, hogy az ilyen kivltsgokkal br felhasznlk hitelestsk magukat, mieltt megengednnk, hogy a klvilg fel Telnetsszekttetseket hozzanak ltre? Az ehhez hasonl feladatok mr tlmutatnak a hagyomnyos vagy az llapottart csomagszrk kpessgein. Valban, a bels felhasznlk kiltre vonatkoz informci alkalmazsi szint adat, amelyet nem tartalmaznak az IP/TCP/UDP-fejrszek. Ahhoz, hogy a biztonsg egy kifinomultabb szintjt rjnk el, a tzfalaknak tvznik kell az alkalmazsi szint tjrkat s a csomagszrket. Az alkalmazsi szint tjrk az IP/TCP/UDP-fejrszek mg is nznek, s alkalmazsi szint adatok alapjn hoznak a hzirendet rvnyest dntseket. Az alkalmazsi szint tjr (application gateway) egy alkalmazsfgg szerver, amelyen az adott alkalmazshoz tartoz sszes adatnak (legyen az akr bejv, akr kimen) keresztl kell mennie. Tbb alkalmazsi szint tjr is futhat egyazon hoszton, de minden tjr egy klnll szerver, sajt processzekkel. Ahhoz, hogy nmi betekintst nyerjnk az alkalmazsi szint tjrk vilgba, tervezznk egy olyan tzfalat, amely csupn a bels felhasznlk egy rsznek

engedlyezi kifel a Telnetet, a kls klienseknek pedig egyltaln nem engedi, hogy befel Telnet-sszekt- tetst ltestsenek. Egy ilyen szablyrendszer a 8.36. brn lthat mdon, egy csomag- szr tvlaszt s egy Telnethez tartoz alkalmazsi szint tjr fellltsval valsthat meg. A tvlaszt szrsi szablyai gy vannak belltva, hogy blokkoljon minden Telnet-sszekttetst, kivve azokat, amelyek az alkalmazsi szint tjr IP-cmrl erednek. Ez a szrsi szably arra knyszert minden kimen Telnet-sszekttetst, hogy keresztlhaladjon az alkalmazsi szint tjrn. Kpzeljk most, hogy egy bels felhasznl szeretne a klvilg fel egy Telnet-sszekttetst nyitni. A felhasznlnak elszr az alkalmazsi szint tjrval kell kiptenie egy Telnet-sszekttetst. Az tjrn fut al kalmazs, amely a berkez Telnet-sszekttetseket figyeli, egy azonostt s egy jelszt kr a felhasznltl. Amikor a felhasznl megadja ezeket az adatokat, az alkalmazsi szint tjr ellenrzi, hogy a felhasznl jogosult-e a klvilg fel Telnetsszekttetst nyitni. Amennyiben nem, az tjr megszaktja a felhasznlval fennll Telnet-sszekt- tetst. Ha a felhasznl jogosult, akkor az tjr (1) megkrdezi a felhasznlt, hogy mi a neve annak a kls hosztnak, amelyhez csatlakozni szeretne, (2) kipt egy Telnet-sz- szekttetst az tjr s a kls hoszt kztt, majd (3) tovbbt a kls hosztnak minden adatot, amely a felhasznltl rkezik, s tovbbt a felhasznlnak minden adatot, amely a kls hoszttl rkezik. A Telnethez tartoz alkalmazsi szint tjr teht nemcsak a felhasznl hitelestst vgzi, hanem Telnet-szerverknt s Telnet-kliensknt is mkdik, s tovbbtja a felhasznl s a tvoli Telnet-szerver kztti adatokat. Meg kell jegyeznnk, hogy a 2. lpst nem akadlyozza meg a szrs, mivel az tjr kezdemnyez Telnet-ssze kttetst a klvilg fel.

a hoszt s az tjr kztt

az tjr s a tvoli hoszt kztt _

Alkalmazsi szint tjr tvlaszt s csomagszr

8.36. bra. Egy alkalmazsi szint tjrbl s egy csomagszrbl ll tzfal Az alkalmazsi szint tjrknak is megvannak a maguk htrnyai. Elszr is, minden egyes alkalmazshoz kln alkalmazsi szint tjr szksges. Msodszor, a teljestkpessgben is megfizetjk az rt, mivel minden adat az tjrn keresztl, kzvetve tovbbtdik. Ez a gyakorlatban akkor jelenthet gondot, ha tbb felhasznl vagy tbb alkalmazs hasznlja egyszerre ugyanazt az tjrt. Vgl pedig a kliensszoftvernek is tudnia kell, hogy a felhasznl krsre hogyan tud az tjrval kapcsolatba lpni, valamint tudnia kell, hogy miknt kzlheti az tjrval, hogy mely kls szerverhez kell csatlakoznia.

8.9.2. Behatolsjelz rendszerek


Az imnt azt lttuk, hogy a (hagyomnyos s llapottart) csomagszrk hogyan vizsgljk meg az IP-, TCP-, UDP-fej rszeket, amikor arrl dntenek, hogy tengedjk-e a csomagot a tzfalon. Szmos tmadstpus szlelshez azonban csomagtartalom-vizsglat (deep packet inspection) szksges, azaz a fejrszek mg kell nzni, s a csomagban lv alkalmazsi szint adatokat kell megvizsglni. A 8.9.1. alfejezetben lttuk, hogy az alkalmazsi szint tjrk gyakran elvgzik a csomagok mlyrehat elemzst. Egy alkalmazsi szint tjr azonban csak egy adott alkalmazsra vonatkozan teszi ezt. Vilgos, hogy egy tovbbi eszkznek is van helye - egy olyan eszkznek, amely az thalad csomagoknak nemcsak a fejrszt vizsglja (ahogy egy csomagszr), hanem mlyrehat elemzsi is vgez (a csomagszrvel ellenttben). Ha egy ilyen eszkz egy gyans csomagot tall, vagy a csomagok egy gyans sorozatt szleli,

kpes megakadlyozni, hogy ezek a csomagok belpjenek a szervezet hlzatba. Vagy mivel a csomagokat csak gyansnak tartja, ez az eszkz tengedheti ket, de figyelmeztetst kld a rendszergazdnak, aki miutn alaposabban megvizsglta az adott forgalmat, mr megteheti a szksges

intzkedseket. Az olyan eszkzt, amely figyelmeztet, ha felteheten rosszindulat forgalmat tall, behatolsjelz rendszernek nevezzk (Intrusion Detection System, IDS). Az olyan eszkzt pedig, amely ki is szri a gyans forgalmat behatols-megelz rendszernek hvjuk (Intrusion Prevention System, IPS). jelen fejezetben a kt rendszert (IDS s 1PS) egytt trgyaljuk, hiszen technikailag az a legfontosabb szempont, hogyan szlelik ezek a gyans forgalmat (nem pedig az, hogy figyelmeztetst kldenek vagy eldobjk a csomagokat). A tovbbiakban ezrt IDSrendszeren az IDS- s IPS-rendszereket egyttesen rtjk. Az IDS a tmadsok szles skljnak feldertsre hasznlhat, mint amilyen tbbek kztt a hlzat letapogatsa (elindtva, pldul nmaprl), nyitott portok keresse (port scan), a TCP-verem letapogatsa, DoS jelleg svszlessg elleni tmadsok, freg- s vrusprogramok, az opercis rendszer biztonsgi rseit kihasznl tmadsok s az alkalmazsok sebezhetsgeit kihasznl tmadsok. (A hlzati tmadsok ttekintse megtallhat az 1.6. alfejezetben.) Manapsg tbb ezer szervezet alkalmaz IDS-rendszereket. Az alkalmazott rendszerek kzl sok a Cisco, a Check Point vagy ms biztonsgi eszkzket gyrt ltal forgalmazott vdett termk. Szmos nyilvnosan elrhet IDS-rendszert is hasznlnak, mint amilyen pldul a nagy npszersgnek rvend Snort IDS (amelyet hamarosan mi is trgyaluk). Egy szervezet egy vagy tbb IDS-rzkelt is elhelyezhet a hlzatban. A 8.37. brn egy hrom IDS-rzkelvel rendelkez szervezet lthat. Ha tbb rzkel is van, ezek ltalban sszehangoltan mkdnek, s a gyans forgalmakkal kapcsolatos informcikat egy kzponti IDS-feldolgoznak kldik el, amely sszegyjti s sszegzi a rendelkezsre ll adatokat, s ha indokoltnak tli, rtesti a rendszergazdt. A 8.37. brn a szervezet kt rgira osztotta a hlzatt: egy fokozott biztonsg rgira, amelyet a csomagszr s egy alkalmazsi szint tjr vd, s IDSrzkelk felgyelik, valamint egy alacsonyabb biztonsgi szint rgira demilitarizlt znra (demilitarized zone, DMZ) -, amelyet csak a csomagszr vd, de egy IDS-rzkel is felgyel. Vegyk szre, hogy a DMZ a szervezet azon szervereit - a webszervert s a hiteles DNS-szervert - tartalmazza, ame lyeknek a klvilggal kommuniklniuk kell. Felmerlhet a krds, hogy mirt j, ha tbb IDS-rzkelnk van. A 8.37. bra hlzatban mirt nem helyeznk egyetlen IDS-rzkelt kzvetlenl a csomagszr mg (vagy akr a csomagszrvel integrltan)? Nemsokra ltjuk majd, hogy az IDSrendszernek nemcsak a csomagok mlyrehat elemzst kell elvgeznie, hanem minden egyes rajta ke- resztlmen csomagot tbb tzezer szabllyal kell sszevetnie, ez pedig jelents mennyisg szmts, klnsen, ha a szervezet gigabit/s nagysgrend internetes forgalmat bonyolt le. Ha az IDS-rzkelket htrbb helyezzk, akkor mindegyik rzkel a szervezet forgalmnak csak egy rszt figyeli, gy knnyebben tudjk tartani a lpst. Mindazonltal lteznek nagy teljestmny IDS- s IPS-rendszerek is manapsg, sok szervezetnek elegen d, ha egyetlen rzkelt helyeznek el a belpsi pontknt mkd tvlaszt kzelben. Az IDS rendszerek ltalnossgban kt f csoportba sorolhatk: vagy szablyalap (sig- nature-based) rendszerek vagy anomliaalap (anomaly-based) rendszerek. A szablyalap IDS nyilvntart egy kiterjedt adatbzist a tmadsokat ler szablyokrl. Minden bejegyzs szablyok egy halmaza, amelyek valamilyen tmadsra vonatkoznak. A szably lehet egyetlen csomag tulajdonsgainak felsorolsa (pldul forrs- s clportszmok, protokolltpus, az adatelemben

elfordul konkrt bitsorozat) vagy csomagok egy soro zatra is vonatkozhat. A szablyokat ltalban felkszlt hlzatbiztonsggal foglalkoz

mrnkk ksztik, akik felkutatjk az ismert tmadsokat. Egy szervezet rendszergazdja persze testre szabhatja a szablyokat s sajt szablyokkal is bvtheti az adatbzist. Mkdst tekintve a szablyalap 1DS minden thalad csomagot lehallgat, s minden lehallgatott csomagot sszevet az adatbzisban lv szablyokkal. Ha egy csomag (vagy csomagok egy sorozata) megfelel az adatbzis valamely szablynak, az IDS figyelmeztetst kszt. Ezt a figyelmeztetst elkldheti e-malben a rendszergazdnak, vagy tovbbthatja a hlzatfelgyeleti rendszernek, vagy egyszeren naplzhatja tovbbi vizsglatok cljbl. Br a szablyalap IDS-rendszerek igen elterjedtek, szmos htrnnyal is rendelkeznek. A legfontosabb az, hogy elre ismerni kell a tmadst ahhoz, hogy a megfelel szablyokat ltre lehessen hozni. Mskppen fogalmazva, a szablyalap IDS-rendszer figyelmt teljesen elkerlik az j tmadsok, amelyeket mg nem vettek fel a szablyok kz. Egy msik htrnyuk, hogy ha egy szably illeszkedik, mg nem biztos, hogy azt valban egy tmads idzte el, gy hamis riaszts is elfordulhat. Vgl pedig, mivel minden egyes csomagot szmos szabllyal kell sszevetni, az IDSrendszert tlterhelheti a csomagok feldolgozsa, gy rosszindulat csomagok is elkerlhetik a figyelmt.

Az anomliaalap IDS a normlis mkds sorn megfigyelt forgalom alapjn felllt egy forgalomprofilt. Ezek utn keresi a statisztikailag szokatlan csomagforgalmakat, pldul az ICMP-csomagok szokottl eltr arnyt, vagy egy hirtelen exponencilis nvekedst a portletapogatsok vagy ping-krsek szmban. Az anomliaalap IDSrendszeBels hlzat

Alkalmazsi szint tjr

Csomag szr Internet

jells: t ^ - IDS rzkel

szerver

szerver Demilitarized zone

szerver

Egy csomagszrt, rzkelket alkalmaz szervezet


8.37. bra.

alkalmazsi

szint

tjrt

IDS-

rekben az a nagyszer, hogy nem hagyatkoznak az ismert tmadsok elzetes ismeretre, azaz kpesek lehetnek j, mg nem dokumentlt tmadsok felfedezsre is. Klnsen nehz kihvs viszont a normlis s a statisztikailag nem szokvnyos forgalmak kztt klnbsget tenni. A legtbb ma hasznlt IDS elssorban szablyalap, br kzlk nhny kiegszl egy-kt anomliaalap szolgltatssal is.

Snort
A Snort egy nyilvnosan hozzfrhet, nylt forrskd IDS, amelyet sok szzezer rendszerben hasznlnak [Snort 2007; Koziol 2003), s amely Linux-, UNIX- vagy Windows-platformon egyarnt fut. A libpcap knyvtr ltalnos csomaglehallgat interfszt alkalmazza, amelyet a Wireshark s sok ms csomagok utni szimatolsra hasznlatos program is hasznl. 100 Mb/s nagysgrend forgalommal mg knnyedn elbr, gigabit/s mrtk forgalmak esetn mr tbb Snort-rzkelre lehet szksg. Nzznk egy pldt egy Snort-szablyra, hogy mlyebb betekintst nyerjnk a mkdsbe:

alert icmp $EXTERNAL_NET any -> $HOME__NET any msg: "ICMP PING NMAP"; dsize: 0; itype: 8; )
A szably minden olyan ICMP-csomagra illeszkedik, amely a szervezet hlzatba ($HOME _ NET) kvlrl ($EXTERNAL _ NET) rkezik, a tpusa 8 (ICMP ping), s az adatmezje res (dsize = 0). Mivel az nmap (lsd. 1. 6. alfejezet) pontosan ezekkel a jellemzkkel generl ping csomagokat, a szably az nmap ping feldertst hivatott felismerni. Ha egy csomagra rillik ez a szably, a Snort figyelmeztet zenetet generl "ICPMP PING NMAP" szveggel. A Snort-rendszer legersebb oldala felteheten a rengeteg felhasznl s biztonsgi szakember egyttmkdse, amely rvn a szablyok adatbzist karbantartjk. A Snort-k- zssg egy j tmads utn ltalban nhny rn bell megrja s kzzteszi az j tmadsra illeszked szablyt, amelyet aztn a vilgszerte mkd sokszzezer Snort-rendszer letlthet. St, a Snort-szablyok szintaxist kvetve, a rendszergazdk a meglv szablyok mdostsval vagy teljesen j szablyok rsval a sajt szervezetk ignyeire szabhatjk a szablyokat.

8.10. sszefoglals
A fejezetben ttekintettk a klnbz mdszereket, amelyeket Bob s Alice, a szerelmket titkol procsknk alkalmazhat ahhoz, hogy biztonsgosan kommunikljanak egymssal. Lttuk, hogy Bob s Alice szmra fontos a titkossg (vagyis, hogy kizrlag k rthessk meg egy elkldtt zenet tartalmt), a vgponthitelests (vagyis, hogy biztosak lehessenek abban, hogy egymssal beszlnek) s az zenetintegrits (azaz, hogy meggyzdhessenek arrl, hogy az zeneteiket nem mdostottk tkzben). A biztonsgos kommunikci ignye termszetesen nemcsak eltitkolt szerelmi kapcsolatok esetben merl tel. Valban, a 8.5. alfejezettl kezdden a 8. 8. alfejezetig lthattuk, hogy biztonsgi megoldsokat a hlzati architektra szmos rtegben alkalmazhatunk, hogy vdekezznk a rossz fik ellen, akik a lehetsges tmadsok hatalmas fegyvertrval rendelkeznek.

A fejezet els rsze a biztonsgos kommunikci megvalstshoz szksges klnbz ptkveket tekintette t. A 8.2. alfejezetben az adat titkosts s dekdols kriptogrfiai mdszereit vettk sorra, belertve a szimmetrikus kulcs s a nyilvnos kulcs titkostsokat is. Megvizsgltuk a DES- s RSA-mdszereket, mint konkrt pldkat a mai hlzatokban hasznlt kriptogrfiai mdszerek kt f csoportjra. A 8.3. alfejezetben kt mdszert lttunk az zenetintegrits biztostsra: az zenet- hitelest kdokat (MAC) s a digitlis alrsokat. A kct megkzeltsnek szmos kzs vonsa van. Mindkett kriptogrfiai hash-fggvnyeket alkalmaz, tovbb mindkett alkalmas nemcsak az zenet integritsnak ellenrzsre, hanem az zenet kldjnek hitelestsre is. Lnyeges klnbsg viszont, hogy mg a digitlis alrshoz szksg van egy nyilvnos kulcs infrastruktrra, addig a MACkdok nem titkostson alapulnak. Mindkt mdszert szleskren alkalmazzk a gyakorlatban is, ahogy lttuk a 8.5.-8.8. alfejezetekben. Ezen kvl a digitlis alrsokat digitlis tanstvnyok killtsra is hasznljk, amelyeknek a nyilvnos kulcsok rvnyessgnek ellenrzsekor van fontos jelentsge. A 8.4. alfejezet sorn figyelmnket a vgpont-hitelestsre fordtottuk, s egy sor, egyre kifinomultabb hitelest protokollt dolgoztunk ki, hogy biztosthassuk, hogy a partnernk jelen van, s valban az, akinek mondja magt. Lttuk, hogy mind a szimmetrikus, mind a nyilvnos kulcs kriptogrfia nemcsak az adatok elrejtsben (titkosts/dekdols) jtszhat fontos szerepet, hanem a hitelests lebonyoltsban is. A 8.5-8. 8. alfejezetekben szmos olyan hlzatbiztonsgi protokollt vizsgltunk meg, amelyet a gyakorlatban is szles krben alkalmaznak. Lttuk, hogy a szimmetrikus kulcs kriptogrfia adja az alapjt a PGP, az SSL, az IPsec s a vezetk nlkli biztonsgi proto- kolloknak. Azt tapasztaltuk, hogy a nyilvnos kulcs kriptogrfia alapvet fontossg a PGP s az SSL esetben. Lttuk, hogy a PGP digitlis alrssal biztost zenet integritst, mg az SSL s az IPsec MAC-kdokat alkalmaz. Most, hogy megrtettk a kriptogrfia alapjait, s megvizsgltuk, hogyan alkalmazzk ezeket az alapelveket, kszen llunk, hogy sajt hlzatbiztonsgi protokollokat is tervezznk! A 8.2-8.4. alfejezetekben bemutatott mdszerekkel felfegyverkezve Bob s Alice mr biztonsgosan kommuniklhat egymssal. (Persze csak remlhetjk, hogy tanultak a hlzatokrl, s jl elsajttottk ezt az anyagrszt, s gy elkerlhetik, hogy a lgyottjaikat Trudy leleplezze!) A titkossg azonban csak egy kis mozaikkocka a hlzatbiztonsg teljes kprl. A hlzatbiztonsg figyelme egyre inkbb arra irnyul, hogy miknt lehet a hlzati infrastruktrt megvdeni a rossz fik elkpzelhet tmadsai ellen. Fejezetnk legutols rszben ezrt a tzfalakkal s IDS-rendszerekkel ismerkedtnk, amelyek tvizsgljk egy szervezet hlzatba belp s az onnan kimen csomagokat. Fejezetnk szmos terletet rintett, a modern hlzatbiztonsg legfontosabb tmaira koncentrlva. Olvasinknak, akik szeretnnek mlyebbre sni, ajnljuk a fejezetben hivatkozott irodalom ttekintst. Konkrtan: a tmadsokrl s a mkdsi biztonsgrl [Skoudis 2006], a kriptogrfirl s annak hlzatbiztonsgi alkalmazsrl [Kaufmann 1995] szmol be rszletesebben, az SSL alapos, de olvasmnyos trgyalst [Rescola 2001] adja, vgl ajnljuk (Edney 2003] mvt, amely az IEEE 802.11 biztonsgnak bvebb kifejtse, belertve a WEP s annak hinyossgainak alapos vizsglatt. Az Olvas rdekldsre tarthat szmot [Ross 2007] munkja, amely egy

tbb mint 400 PowerPoint dibl ll tfog anyag a hlzatbiztonsgrl.

Krdsek

KI. Mi a klnbsg az zenet titkossga s az zenet integritsa kztt? Ltezhet egyik a msik nlkl? Indokolja meg a vlaszt. K2. Mi a klnbsg egy aktv s egy passzv tmad kztt? K3. Mi az alapvet eltrs egy szimmetrikus kulcs s egy nyilvnos kulcs rendszer kztt? K4. Tegyk fel, hogy egy tmad hozzjut egy titkostott zenethez, s ennek nylt szveg vltozathoz is. Rejtett szveg tmadst, ismert nylt szveg tmadst, vagy vlasztott nylt szveg tmadst hajthat vgre a tmad? K5. Tegyk fel, hogy N ember a tbbi N-l ember mindegyikvel szimmetrikus kulcs titkosts segtsgvel szeretne kommuniklni. Brmely kt /, j ember kzti zeneteket az N fbl ll csoport minden tagja ltja, de a csoportbl senki ms nem szabad, hogy dekdolni tudja a kommunikcijukat. sszesen hny kulcsra van szksg a rendszerben? Tegyk fel, hogy nyilvnos kulcs titkostst alkalmaznak. Hny kulcsra van szksgk ebben az esetben? K 6. Mi a szerepe a frissen generlt vletlen szmnak (nonce) egy vgponthitelestsi protokoll esetben? K7. Mit jelent, hogy egy nonce csak egyszer az letben hasznlhat? Kinek az letben? K 8. Mi a kzbekeldses (man-in-the-middle) tmads? Szimmetrikus kulcsok alkalmazsa mellett lehetsges ez a tmads? K9. Mit jelent egy alrt dokumentum esetben, hogy ellenrizhet s nem hamisthat? K10. Milyen mdon biztost egy hash jobb zenetintegritst, mint egy olyan ellenrz sszeg, mint az internetes ellenrz sszeg? Kll. Milyen rtelemben jobb digitlis alrs egy zenet pecst nyilvnos kulcs titkostsa, mint az zenet nyilvnos kulcs titkostsa? K12. Dekdolhat egy zenet hash-rtke gy, hogy visszakapjuk az eredeti zenetet? Indokolja a vlaszt! KI3. Mi a hitelestsszolgltat (CA)? K14. Foglalja ssze melyek a fbb klnbsgek az IPsec hitelest fejrsz (AH) s a begyazott biztonsgos adatmez (ESP) protokollja ltal nyjtott szolgltatsok kztt?

Feladatok______________________________________________
FI. A 8.3. brn lthat monoalfebetikus kdol segtsgvel kdolja a kvetkez zenetet: Ez egy igen egyszer feladat. Dekdolja a myou mlldom lxk zenetet. F2. Mutassa meg, hogy Trudy ismert nylt szveg tmadsa, amely sorn ismeri ht bet (rejtett szveg, nylt szveg) megfeleljt, krlbell 109 -ed rszre cskkenti a lehetsges helyettestsek szmt. F3. Tekintsk a 8.4. brn lthat polialfabetikus rendszert. Egy vlasztott nylt szveg tmads, amelybl megkapjuk az Egy htlen vejt fln csp, dhs mexiki r Wesselnyinl mzol Quitban. zenet k-

doltjt, elegend-e ahhoz, hogy minden zenetet megfejthessnk? Ha igen, mirt, ha nem, mirt nem? F4. RSA-titkostssal kdolja a Hello. zenetet p = 3 s c\ = 11 paramterek vlasztsa mellett. Alkalmazzuk a dekdol eljrst a titkostott vltozatra, hogy visszakapjuk az eredeti nylt szveg zenetet. F5. Tekintsk az ap4.0 hitelestsi protokollt, amelynek sorn Alice hitelesti magt Bob fel, s amelyrl lttuk, hogy jl mkdik (azaz nem talltunk hibt benne). Tegyk most fel, hogy mikzben Alice hitelesti magt Bob fel, Bobnak is hite lesteni kell magt Alice fel. Mutassunk olyan forgatknyvet, amelyben Trudy, Alice szerept jtszva hitelesteni tudja magt Bob fele mint Alice. (Tipp: Gondoljunk arra, hogy az ap4.0 protokoll futsnak lpsei tetszlegesen tlapoldhatnak egy Trudy ltal kezdemnyezett s egy Bob ltal kezdemnyezett futs sorn. Figyeljnk klnsen arra, hogy Alice s Bob is hasznl nonce-t, s ha nem vigyzunk, ugyanazt a nonce-t fel lehet hasznlni rosszindulatan.) F 6. A 8.21. bra kzbekeldses tmadsa sorn Alice nem hitelestette Bobot. Ha Alice az ap5.0 protokollal hitelesten Bobot, elkerln-e a kzbekeldses tmadst? Indokolja a vlaszt. F7. Az internet BGP tvlaszt protokollja nyilvnos kulcs titkosts helyett M ACk- dot hasznl a BGP-zenetek alrsra. Mit gondol, mirt a MAC-kdra esett a vlaszts a nyilvnos kulcs titkostssal szemben? F 8. Adjunk meg egy olyan a 8. 8. brn lthat kt zenettl eltr olyan harmadik zenetet, amelynek ugyanaz az ellenrz sszege, mint a 8. 8. brn lv zeneteknek. F9. legyk fel, hogy Alice szimmetrikus kulcs kriptogrfia segtsgvel, egy Ks viszonykulcs hasznlatval szeretne Bobbal kommuniklni. A 8.2. alfejezetben megtanultuk, hogyan hasznlhat a nyilvnos kulcs titkosts arra, hogy a viszonykulcsot eljuttassuk Alice-tl Bobhoz. Ebben a feladatban pedig azt tl ljuk ki, hogyan lehet nyilvnoskulcskriptogrfianlkl,egy kulcseloszt kzpont (keydistribution center, KDC) segtsgvel clba juttatni a viszonykulcsot. A KDC egy olyan szerver, amelynek van egy egyedi, kzs titkos szimmetrikus kulcsa minden egyes regisztrlt felhasznlval. Jellje Alice s Bob ezen kulcsait K . K[K~ s Kf KDC. Tervezzen egy olyan protokollt, amely a KDC segitsgvel juttatja el a Ks viszonykulcsot Alice-nek s Bobnak. A protokoll hrom zenettel oldja meg a viszonykulcs sztosztst: egy zenet Alice-tl a KDC-nek, egy zenet a KDC-tl Alice-nek, vgl egy zenet Alice-tl Bobnak. F10. A 8.24. brn lthatk azok a mveletek, amelyeket Alice hajt vgre, hogy titkossgot, hitelessget s integritst biztostson. brzoljuk azokat a mveleteket, amelyeket Bobnak kell vgrehajtania az Alice-tl kapott csomagon. FI 1. Igaz vagy hamis? (a) Tekintsnk egy A hoszttl egy B hoszt fel IPsec alkalmazsval kldtt csomagok sorozatt. ltalban a sorozat minden egyes csomagjhoz j SA-t hoznak ltre. (b) Tegyk fel, hogy a TCP IPsec felett fut, az AH protokoll hasznlatval. Amikor a TCP jrakld egy csomagot, a kt csomagnak ugyanaz lesz az AHfejrszben lv sorszma. (c) Tegyk fel, hogy Alice s Bob egy SSL-viszonyon keresztl kommuniklnak,

legyk fel, hogy egy tmad, aki nem ismeri a kzs kulcsokat, beszr egy hamis TCP-szcgmenst a csomagok kz helyes TCP ellenrz sszeggel s sorszmmal (s helyes IP-cmekkel s portszmokkal). Az SSL a vev oldalon elfogadja a hamistott csomagot s tovbbtja azt az alkalmazs fel. (d) Tegyk fel, hogy a certifier.com killt egy tanstvnyt a foo.com szmra. Jellemzen az egsz tanstvnyt titkostja a certifier.com nyilvnos kulcsval. (e) Idzzk fel, hogy az OSPF zenetek terjesztsekor kriptogrfiai hash fggvnyt alkalmaznak, ahogy tanultuk. Ahhoz, hogy egy tvlaszt ellenrizni tudja az zenet integritst, kell hogy legyen egy kzs titkos kulcsa azzal az tvlasztval, amelyik ltrehozta az zenetet. (f) Egy hossz zenetet titkostunk a titkostott blokkok lncolsval (CBC). Ezen eljrs sorn a forrs az inicializl vektort (IV) s a titkos kulcsot nyltan kldi el a vevnek. F12. Tekintsk a kvetkez l-WEP protokollt. A kulcs 4 bites s az IV 2 bites. A kulcs vgre fzzk az IV-t a kulcsfolyam generlsakor. Tegyk fel, hogy a kzs kulcs 1010. A ngy lehetsges kulcshoz tartoz kulcsfolyamok az albbiak:
101000:0010101101010101001011010100100... 101001: 1010011011001010110100100101101...

101010: 0001101000111100010100101001111...
101011: 1111101010000000101010100010111...

Tegyk fel, hogy minden zenet 8 bit hossz. Tegyk fel, hogy az ICV (integrity check) 4 bites, s az adat els ngy bitjnek s utols ngy bitjnek XOR kapcsolata. Tegyk fel, hogy az l-WEP-csomagok hrom mezt tartalmaznak: elszr az IV-mezt, utna az zenetmezt, vgl az ICV-mezt gy, hogy ezek kzl nhny titkostva van. (a) Az m = 10100000 zenetet szeret nnk elkldeni a WEP hasznlatval, mikzben IV = 11. Mi lesz a WEP-csomag hrom mezjnek rtke? (b) Mutassa meg, hogy ha a vev dekdolja a WEP-csomagot, megkapja az zenetet s az ICV-t. (c) Tegyk fel, hogy Trudy elfog egy WEP-csomagot (nem felttlenl azt, amelyre IV = 11), s mdostani akarja, mieltt tovbbtan a vevnek. Tegyk fel, hogy Trudy mdostja az ICV els bitjt. Feltve, hogy Trudy nem ismeri egyik IV-hez tartoz kulcsfolyamot sem, mely msik bit(ek)et kell mdostania ahhoz, hogy az ICV-ellenrzsen ne bukjon meg a vett csomag? (d) Ellenrizze a vlaszt gy, hogy az (a) rsz WEP-csomagjban mdostja a biteket, dekdolja az eredmnyl kapott csomagot, s ellenrizze, hogy az integritsellenrzs sikeres. F13. Ksztse el egy llapottart csomagszr tzfal sszekttets- s szrsiszablytbljt. Legyen a lehet legszigorbb, mikzben megfelel a kvetkezknek: (a) minden bels felhasznl ltesthet kls hoszttal Telnet-sszekttetst, (b) a cg weboldalt a 222. 22. 0.12 cmen megtekinthetik kls felhasznlk, (c) ezeken kvl minden kimen s bejv forgalmat blokkol. A bels hlzat cme 222.22.0.0/16. A megolds sorn felttelezze, hogy az sszekttets-tblban ppen 3 sszekttets szerepel, amelyek kzl mindegyik bentrl kifel irnyul. Ezekhez talljon ki megfelel IP-cmeket s

portszmokat. F14. Tekintse a Wireshark (korbbi nevn Elhereal) albbi kimenett, amelyen egy SSL-viszony rszlete lthat.

(a) A 112 sorszm csomagot a kliens vagy a szerver kldte? (b) Mi a szerver IP-cme s portszma? (c) Feltve, hogy nincs csomagveszts s jraklds, mi lesz a kliens kvetkez TCP-szegmensnek a sorszma? (d) Hny SSL-rekordot tartalmaz a 112 sorszm csomag? (c) A 112 sorszm csomag mestertitkot (Master Secret), rejtjelezett mestertitkot (F.ncrypeted Master Secret), vagy egyiket sem tartalmaz? (f) Feltve, hogy a kzfogs zenet tpusmezje 1 bjtos s mindegyik hosszmez 3 bjtos, mi a mestertitok vagy a rejtjelezett mestertitok els s utols bjtja? (g) A kliens ltal titkostott kzfogszenet hny SSL-rekordot vesz figyelembe? (h) A szerver ltal titkostott kzfogszenet hny SSL-rekordot vesz figyelembe?

lit race - Ethereal

N a . . 1 Time Sarce
106 H.. 805705 108 21.830201
Ill 21.853520

128.238.38.162

Dftstjrwtwn

216.75.194.220
216. 75.10.220

216.75.104.220

YccoooT Jrrfc
S5tv3
SSi.v3 SS.v3

128.238.38.162
128.238.38.162 216. 7S.l*i .220

SsCv2~c1T*nt xSTTT"

Mrverwellc.

Crtif tct. Server

Oofta

114 21.954189

& r-r.vae 112 (2SB i/s'on wire, 253 es captured) * kt berget X2. sre: ItmjL0:60:9? (00:09:6to:i0:60:$9). Ost: All-Msnp-r out er sMoo (00:00s0c:07uc:) * Internat Protocol. Src: 228.238.38.162 (128.238.33.1). >:t: UO.75.lW.220 <216.75.104.?20> 3 Tr,myfS5loo control protocol, 5rc Pflft: 2271 (2271). 0?t Port: https (4*3). 5*q: 79, ACk: 2785, Ln: 704 a secure socket layer a S3lv3 ftecord Layers Handshake protocol: client rcey exchange content Type: Handshake (22) version: SSL 3.0 (0x0300) (jtngchi 13?

* AA*< +

123.238.38.162

# -* * A

* . i ..14

Application 0t*

Mi*.

d 5SLV3 Record nyer: Change Cipher Spec Protocol: Change Cipher spec content Typ: Change cipher spec (20) verilon: SSL 3.0 (0x0300) Length: 1 Change Cipher spec nassage B sstv3 ftecord Layer: wandsha*e protocol: encrypted nandshafce Message content Type: Handshake (22) version: SSL 3.0 (0x0300) Length: 56 K*nd*hake protocol: Encrypted Handshake Message

Length: 12fi

kc Type: c

fd If fd c2Ifdc2 9 0C 10 03 00 000 84 0030 d900 PC 00 10 03 0 oo a040 3aEK>i'3^

S3iSLIS

1*

x> > o 5gB;>yra j-ovo o f|K a41r Dbo


OOcO 03 0100 03 00 00 01 00 16 OOdO 7 a 417a 48 <1 15 48 4f DOoO C 4 e5 12 50f0 77 lc de
.f

v.'.--

* Iii/jL ...[. 0 .. e 4 e 5 12 b 9 U
f6

0100 0100 16 0 dc 0 011 38 29. . a9 5* 74 03 3803 290 a9 5a 74 . . dc . . . 11 . . 8)...ZT 15 4 4f 4b OC e? do df do 5b C4 as G 50 b 50 e? df 5 bOc C4 44 j8 ea 44 7 AH. 0 PK. b9 11 f6 b3 9<i d* b7 22 M 3a 17 9a 3 ab f2 41 c7 2e ad d5 lc 5b a2 Od ab 4

b 3 9 <j tf? b?

22

M 17

9a

83

182

8.

SZMTGP-HLZATOK

BIZTONSGA

GONDOLKODTAT KRDSEK

183

Gondolkodtat krdsek
Gl. Tegyk fel, hogy egy tmad kpes DNS-zeneteket beszrni, illetve eltvoltani a hlzatrl. Mutasson hrom forgatknyvet, amelyekbl kiderl, hogy milyen problmkat okozhat egy ilyen tmad! G2. Mg senki nem igazolta formlisan, hogy a 3L)ES s az RSA biztonsgos. Ennek fnyben honnan tudhatjuk, hogy tnyleg biztonsgosak? G3. Mi a Kerberos? Hogyan mkdik? Mi kze van e fejezet F9. feladathoz? G4. Ha az IPsec a hlzati rtegben biztonsgot nyjt, mirt van szksg az IP feletti rtegekben is biztonsgi megoldsokra? G5. Ltogasson el a PGP nemzetkzi honlapjra (http://vvvvw.pgpi.org/ )! Figyelembe vve tartzkodsi helyt, a PGP mely verzijt jogosult letlteni?

184

8.

SZMTGP-HLZATOK

BIZTONSGA

Vlaszol

Steven M. Bellovin
Steven M. Bellovin a Flohram Parkban, New Yerseyben, az AT&T Lb kutatintzetben a hlzati szolgltatsok kutatsval foglalkoz laboratriumban eltlttt sok esztend utn csatlakozott a Columbia University tantestlethez. Hlzatokkal, biztonsggal s azzal a kr dssel foglalkozik, hogy ez a kett mirt zrja ki egymst. A Usenet megalkotsban szerzett rdemeirt 1995-ben a Usenet letmdjjal tntettk ki. A Usenet az els olyan vitafrum volt, amely kt vagy tbb szmtgpet kttt ssze, s lehetv tette a felhasznlknak, hogy informcikat cserljenek, valamint bekapcsoldhassanak a vitkba. Steve vlasztott tagja a National Academy of Enginee- ringnek. BA diplomjt a Columbia Universityn, a PhD cmt pedig a University of North Carolinn szerezte. Mi sztnzte arra, hogy a hlzatbiztonsgra specializldjon? Lehel, hogy szokatlanul fog hangzani, de roppant egyszer a vlasz: szrakoztatott. Rendszerprogramozssal s rendszeradminisztrcival foglalkoztam, ami viszonylag termszetes mdon vezetett a biztonsghoz. Visszagondolva az egyetemistaknt rendszerprogramozi rszmunkaids llsaimra, mindig is rdekelt a kommunikci. A biztonsggal kapcsolatos munkmat kt tovbbi tnyez motivlja - a vgy, hogy a szmtgpek hasznosak legyenek, azaz a mkdsket ne zavarhassk meg tmadk, illetve hogy a szemlyes adatokat megvdjk. Mi volt az elkpzelse a Usenetrl akkor, amikor a fejlesztsn dolgozott? s most? Eredetileg gy tekintettk, mint annak egyik mdjt, hogy az orszg klnbz pontjain is beszlhessnk a szmtstudomnyrl, programozsrl, emellett persze rengeteg helyi rdekeltsg, adminisztratv dologra is felhasznlva, mint pldul a hirdetsek stb. Valjban eredetileg gy kpzeltem, hogy 1-2 zenet lesz naponta, legfeljebb 50-100 klnbz helyrl. Az emberekkel kapcsolatos tmk azonban meghoztk az igazi nvekedst, tbbek kztt - de nem kizrlagosan - az emberek s szmtgpek viszonyra vonatkozan. Az vek sorn a kedvenc

GONDOLKODTAT KRDSEK

hrcsoportjaim olyanok voltak, mint a rec.woodworking (famunkkkal kapcsolatos hrcsoport) vagy a sci.crypt (kriptogrfival kapcsolatos hrcsoport). Bizonyos rtelemben a web felvltotta a hrcsoportokat. Ha most kezdenk a tervezsbe, biztosan teljesen mskppen nzne ki az egsz. Ennek ellenre mg mindig jl bevlt mdja annak, hogy szleskren elrjnk egy adott tma irnt rdekld kznsget anlkl, hogy egy bizonyos weboldalra kellene hagyatkoznunk. Volt valaki, aki szakmailag nagy hatssal volt nre? Ha igen, milyen mdon? Fred Brooks professzor - Chapell Hillen University of North Carolina szmtstudomnyi tanszknek alaptja s els vezetje, az IBM S/360 s OS/360 fejlesztcsapatnak ve-

185

186

8.

SZMTGP-HLZATOK

BIZTONSGA

zetje, valamint a The Mythical Man-Mouth szerzje - risi hatssal volt a karrieremre. Mindenekeltt kifinomult szemllete, s az a kiegyenslyozottsg, ahogy a problmkat a vals vilg kvetelmnyeiben szemlli (mennyivel rendetlenebb a val vilg annl, mint azt elmleti szakemberek szeretnk!), s ahogy az ellenttes rdekeket kiegyenslyozza egy megolds tervezse kzben. A legtbb szmtgpes munka mrnksg - vagyis annak a mvszete, hogy a megfelel kzputak megtallsval sok ellenttes szempontnak megfeleljnk. Hogyan kpzeli a hlzatok s a biztonsg jvjt? Eddig a biztonsg fleg az elszigetelds ltal valsult meg. Pldul egy tzfal megakadlyozza bizonyos szolgltatsokhoz s szmtgpekhez val hozzfrst. Ezzel egytt az egyre kiterjedtebb sszekttetsek idejt ljiik - egyre nehezebb elszigetelni dolgokat. s ami mg ennl is rosszabb hr, a termelrendszereinknek egyre tbb nll, de hlzattal sszekttt rszekre van szksge. Mindezt biztonsgoss tenni az egyik legnagyobb kihvs. Mit a tart a biztonsg legnagyobb eredmnyeinek? Milyen messzire kell mg eljutnunk? Kevsb tudomnyosan fogalmazva, tudjuk, hogyan kell bnni a kriptogrfival. Ez risi segtsg. A legtbb biztonsgi problmt viszont a hibs kdok okozzk, ami sokkal nehezebb krds. Valjban ez a legrgibb megoldatlan problma a szmtgpes tudomnyban, s szerintem ez gy is lesz mg egy darabig. A kihvs az, hogy kitalljuk, hogyan lehet biztonsgos rendszereket pteni, ha nem biztonsgos elemekbl kell azt sszeraknunk. A hardverhibk megbzhatsga tern ezt mr meg tudjuk tenni. Vajon kpesek vagyunk ugyanerre a biztonsg tekintetben is? Mit tancsolna a internettel s a hlzatbiztonsggal kapcsolatban a dikoknak? A mdszerek elsajttsa a knnyebbik rsz. Sokkal nehezebb megtanulni paranoisan gondolkozni. Nem szabad elfelejtennk, hogy a valsznsgi eloszlsok itt nem rvnyesek - a tmadk kpesek megtallni s kihasznlni a legvalszintlenebb krlmnyeket is! s nem utolssorban, a rszleteken mlik minden.

9.

FEJEZET

Hlzatfelgyelet

Az els nyolc fejezet ttanulmnyozsa utn tisztban vagyunk azzal, hogy egy hlzat szmos sszetett, egymssal egyttmkd hardverbl s szoftverbl ll az adatkapcsolatoktl, kapcsolktl, tvlasztktl, hosztoktl s a hlzat egyb

GONDOLKODTAT KRDSEK

fizikai rszeitl egszen a rengeteg (hardver s szoftver) protokollig, amelyek ezeket a hardvereszkzket irnytjk s sszehangoljk. Abban az esetben, amikor egy szervezet tbb szz, st tbb ezer ilyen elemet hlzatt foltoz ssze, nem csoda, hogy a komponensek esetenknt meg hibsodnak, a hlzat elemeit rosszul lltjk be, a hlzati erforrsokat tlzott mr tkben hasznljk ki, vagy a komponensek egyszeren eltrnek (pldul elvgnak egy kbelt vagy egy pohr szdt ntenek egy tvlasztra). A hlzati rendszergazdnak, akinek a feladata a hlzat stabil mkdst biztostani, kpesnek kell lennie a hasonl hibk kikszblsre (mg jobb, ha meg is tudja elzni ket). Mivel tbb ezer potencilis hlzati komponens helyezkedik el nagy trsgben, nyilvnval, hogy a hlzati mveleti kzpontban (network operations center, NOC) lv rendszergazdnak szksge van olyan eszkzkre, amelyekkel figyelheti, felgyelheti s vezrelheti a hlzatot. libben a fejezet ben megvizsgljuk a rendszergazda ltal e feladat sorn hasznlt architektrt, protokol lokat s informcis alapot.

187

9.1. Mi az a hlzatfelgyelet?
Mieltt a hlzatfelgyeletbe belemerlnnk, tekintsnk nhny illusztratv, a val vilgbl vett - nem hlzati tmj - forgatknyvet, amelyekben a rendszergazdnak egy sszetett rendszer szmos interaktv komponenst kell figyelni, felgyelni s vezrelni. Az elektromos energit elllt ermvek (legalbbis a npszer mdik, pldul a hres mozi, a Kna szindrma' szerint) egy vezrlteremmel rendelkeznek, ahol szmlapok, mreszkzk s jelzfnyek jelentik meg a tvoli szelepek, csvek, trolednyek s az erm egyb rszeinek llapott (hmrsklet, nyoms, ramls). Ezek az eszkzk teszik lehetv az opertor szmra, hogy az erm szmos rszt ellenrizze, s ezek figyelmeztethetik az opertort (a hres vrs villogssal) a kzelg bajra. Az erm kezelje ekkor lpseket tehet a klnbz komponensek vezrlsre. Ehhez hasonlan egy replgp piltaflkjnek berendezse is lehetv teszi a pilta szmra, hogy a gpet alkot egyes elemeket ellenrizhesse s vezrelhesse. A fenti kt pldban a rendszergazda ellenrzi a tvoli eszkzket, s elemzi az adataikat annak biztostsa rdekben, hogy mkd kpesek legyenek s az elrt hatrok kzlt mkdjenek (pldul az atomerm magja nem kezd olvadni, a replgpbl pedig nem fog kifogyni az zemanyag), az adatokra

Hoszt

Kls hlzat fel irnyul adatkapcsolat

Hoszt

Szerver

9.1.
belli

bemutatsra

bra.

Egyszer

forgatknyv

hlzatfelgyelet

hasznlatnak

reaglva vezrli a rendszert azltal, hogy a rendszerbeli vagy annak krnyezetn


megfelelen reaglva belltsokat vltoztat, s elretekinten felgyeli a rendszert (olyan esetekben pldul, amikor hibs mkdst szlel, gy lehetsg nylik utastsok vgrehajtsra, mieltt komolyabb problma felmerlne). Ezekhez az esetekhez hasonl mdon a hlzati rendszergazda aktvan ellenrzi, felgyeli s vezrli a rbzott rendszert. A hlzatok korai veiben, amikor a szmtgpes hlzatok mg kutatsi tmk voltak, nem pedig millik ltal hasznlt kritikus architektrk, a hlzatfelgyelet ismeretlen volt. Abban az esetben, ha valaki egy hlzati problmval tallkozott, pr tvonalkeresssel megtallta a forrst, s mdostotta a rendszer belltsait, jraindtotta a hardvert, illetve a szoftvert, vagy egy tvoli kollgjt krte meg, hogy ezt vgrehajtsa. (Az ARPA- net, mg sokkal a hlzatfelgyeleti eszkzk ltrejtte eltt bekvetkez, 1980. oktber 27-i els nagy sszeomlsrl, annak helyrelltsrl s a hiba megrtsrl szl nagyon olvasmnyos lers tallhat az [RFC 789]-ben.) Azzal, hogy a nyilvnos internet s a magn intranetek kis hlzatokbl egy nagy tfog infrastruktrv nvekedtek, annak ignye is megnvekedett, hogy e hlzatokban tallhat nagyszm hardver- s szoftverelemeket felgyeljk. A hlzatfelgyeletrl szl tanulmnyainkat motivland, kezdjnk egy egyszer pldval. A 9.1. bra egy kis hlzatot mutat be, amely hrom tvlasztt, valamint nhny gazdagpet s kiszolglt tartalmaz. Mg egy ilyen egyszer hlzatban is szmos forgat- knyv lehetsges, amelyekben a hlzati rendszergazda szmra hatalmas elnyt jelentenek a hlzatfelgyeleti eszkzk: vltozsoknak

A gazdagp vagy az tvlaszt hlzati krtyjnak meghibsodsa esetn a hiba feldertse. Megfelel hlzatfelgyeleti eszkzkkel egy hlzati entits (pldul
az A tvlaszt) rtestheti a hlzati rendszergazdt, hogy az egyik interfsze nem mkdik. (Hz sokkal elnysebb, mint egy olyan telefonhvs, amellyel egy dhs felhasznl rtesti az NOC-t, hogy a hlzati kapcsolat nem mkdik.) A rendszer- gazda, aki aktvan ellenrzi s elemzi a Hlzati forgalmat, vlsggal lenygzheti az esetleges dhs felhasznlt azzal, hogy id eltt szleli az interfsz hibjt, s kicserli a hlzati krtyt, mieltt az elromlana. Ezt pldul akkor lehet megtenni, ha a rendszergazda szreveszi, hogy az elromlani kszl interfsz ltal kldtt keretek ellenrz sszegben megnvekszik a hibk szma. Gazdagp ellenrzs. Ebben az esetben, a hlzati rendszergazda bizonyos idkznknt ellenrizheti, hogy minden hlzati gazdagp be van-e kapcsolva s mkd- kpes-e. A rendszergazda azzal is lenygzheti a hlzatban lv felhasznlt, hogy elretekinten reagl egy hibra (gazdagp lell), mieltt mg azt a felhasznl jelenten. Forgalom figyelse az erforrs-kioszts segtsre. A hlzati rendszergazda figyelheti a forrs-cl forgalmi mintkat, s szreveheti, ha pldul a LAN-szegmensek kztti kiszolgl tkapcsolsa esetn a tbb LAN-on thalad forgalom jelentsen cskken. Kpzeljk csak el azt az eufrit (fknt a magasabb szint adminisztrcinl), amikor nagyobb teljestmnyt tudunk elrni j eszkzbeszerzse nlkl. Hasonlan, ha a rend szergazda figyeli az adatkapcsolatok kihasznltsgt, szreveheti, hogy egy LAN-szeg- mens vagy egy kls vilg fel irnyul adatkapcsolat tlteltdik, s egy nagyobb svszlessg adatkapcsolatot kell lefoglalni (termszetesen megnvekedett kltsg gel). A rendszergazdt akkor is ajnlott rtesteni, ha egy adott adatkapcsolaton a tor lds szintje meghalad egy bizonyos kszbrtket, gy nagyobb svszlessg adatkapcsolatot lehet lefoglalni, mieltt a torlds komolly vlik. Az tvlaszttblk gyors vltozsainak szlelse. tvonal vltakozsa (oda-vissza ugrls) - az tvlaszttblk gyakori vltozsa - az tvlaszts instabilitst vagy egy rosszul belltott tvlasztt jelezhet. Termszetesen jobb, ha az tvlasztt helytelenl bellt hlzati rendszergazda maga fedezi fel a hibt, mieltt a hlzat mkdskptelenn vlik. Ellenrzs az SLA-k szmra. A szolgltatsi szerzdsek (service level agreements, SLAs) megjelensvel az ellenrzs irnti rdeklds az utbbi nhny vben jelentsen megnvekedett [Larsen 1997; Huston 1999a]. Az SLA egy olyan szerzds, amely meghatrozza a hlzati szolgltat ltal nyjtott specilis teljestmny mrtkt s a szolgltat rendelkezsre llsnak szintjt. Verizon s Sprint csupn kett a szmos hlzati szolgltat kzl, amelyek SLA-kat biztostanak az gyfeleiknek [Verizon 2007; Sprint 2007]. Ezek az SLA-k tartalmazzk tbbek kztt a szolgltats elrhetsgt (lellst), ksleltetsi idt, tvitelt s lellsjelzsi zeneteket. Nyilvnval, hogy ha a teljestmnykvetelmny a hlzati szolgltat s az gyfl kztti szolgltatsi szerzds rsze, akkor a teljestmny mrse s felgyelete nagyon fontos a hlzati rendszergazda szmra. Betrs detektlsa. A hlzati adminisztrtor szmra jelezni kell, ha a hlzati forgalom egy gyans forrstl (pldul gazdagptl vagy portszmtl) rkezik, vagy oda irnyul. Ugyangy a rendszergazdnak rdemes szlelnie (s sok esetben szrnie) bizonyos tpus forgalmakat (pldul a forrs ltal irnytott csomagokat

vagy az adott gazdagp fel irnytott nagymennyisg SYN-csomagot), amelyek a 8. fejezetben trgyalt biztonsgi tmadsokra jellemzk. A Nemzetkzi Szabvnygyi Szervezet (ISO) ltrehozott egy hlzat felgyeleti modellt, amely segtsgvel a fentebb elmeslt forgatknyvek egy jobban szervezett keretrendszerbe helyezhetek. t hlzatfelgyeleii terletet hatroztak meg:

Hatkonysgfelgyelet. A hatkonysgfelgyelet clja klnbz hlzati


elemek teljestmnynek (pldul kihasznltsgnak s tbocstkpessgnek) kvantlsa, mrse, jelentse, elemzse cs vezrlse. Ilyen elemek lehetnek akr az egyes eszkzk (pldul adatkapcsolatok, tvlasztk s gazdagpek), akr a vgpontok kztti abszt rakcik, mint pldul a hlzaton keresztli tvonal. Rvidesen ltni fogjuk, hogy az egyszer hlzat felgyeleti protokoll (simple network management protocol, SNMP) [RFC 3410] s a hozz hasonl protokollszabvnyok kzponti szerepet jtszanak az internet teljestmnynek felgyeletben. Hibafelgyelet. A hibafelgyelet clja a hlzat meghibsodsi krlmnyeinek naplzsa, szlelse s az azokra vonatkoz vlaszlpsek vgrehajtsa. A hibafelgyelet s a hatkonysgfclgyelet kztti hatrvonal igen elmosd. A hibafelgyeletet gy kpzelhetjk el, mint a hlzat tmeneti hibinak (pldul az adatkapcsolatok, tvlasztk, gazdagpek vagy tvlaszt hardverek s szoftverek lellsainak) azonnali kezelst, mg a hatkonysgfelgyelet tgabb idintervallumban tekinti az elfogad hat teljestmnyszint biztostst, a vltoz forgalmi kvetelmnyek s a hlzati eszkzk esetenknti meghibsodsa mellett. Amint a hatkonysgfelgyeletnl, a hiba- felgyeletnl is az SNMP kzponti szerepet jtszik. Konfigurcifelgyelet. A konfigurcifelgyelet lehetv teszi a hlzatfelgyel szmra a hlzatban tallhat eszkzk nyomon kvetst, s annak, hogy ezeken az eszkzkn milyen hardvers szoftverkonfigurcik vannak. A konfigurcifelgye- letrl s az IP-alap hlzatok azzal kapcsolatos kvetelmnyeirl az [RFC 3139] ajn lsban tallhatunk ttekintst. Tmaszm-felgyelet. A tmaszm-felgyelet lehetv teszi a hlzatfelgyelnek, hogy meghatrozza, naplzza s vezrelje a felhasznlk s eszkzk hozzfrst a hlzati erforrsokhoz. A hasznlati kvtk, a hasznlatalap szmlzs s az er- forrs-hozzfrsi jogosultsgok kiosztsa mind-mind a tmaszm felgyelet hatskrbe esnek. Biztonsgfelgyelet. A biztonsgfelgyelet clja hlzati erforrsokhoz val hozzfrs vezrlse jl definilt hzirend alapjn. A 8.3. alfejezetben vizsglt kulcseloszt kzpontok a biztonsgfelgyelet rszei. Egy msik letbevg komponens a 8.9. alleje- zetben bemutatott tzfalak hasznlata a felhasznl hlzatn a kifel irnyul hozzfrsi pontok ellenrzsre s vezrlsre.

Ebben a fejezetben csupn a hlzatfelgyelet alapismereteit mutatjuk be. A kzponti tmnk szndkosan szk - csupn a hlzatfelgyelet infrastruktrjt vizsgljuk meg - az tfog architektrt, a hlzat felgyeleti protokollokat s az informcis bzist, amelyekkel a hlzati rendszergazda a hlzatot

mkdkpess teszi. Nem mutatjuk be a hlzati adminisztrtor dntshoz folyamatait, aki a tervezst, az elemzst s a NOC-hoz eljuttatott felgyeleti informciknak megfelel vlaszlpseket elvgzi. E terlet kapcsn olyan tmk jhetnek szba, mint pldul a hibaazonosts s hibakezels [Katzela 1995; Medhi 1998; Steinder 2002], anomlia elretekint szlelse [Thottan 1998], riasztsi korrelci [Jakobson 1993) s sok ms egyb. Nem trgyaljuk tovbb a tgabb tmj szolgltatskezelst [Saydam 1996; RFC 3052; AT&T SLM 2006] sem az erforrsok biztosi-

tst, mint pldul a svszlessg, a kiszolgl kapacitsa s a vllalatok olyan szmtsi/ kommunikcis erforrsainak biztostst, amelyek a vllalatok egyb kldetsspecifi- kus szolgltatsainak a kvetelmnyei. Ebben az utbbi tmban az olyan szabvnyok, mint a TMN [Glitho 1995; Sidor 1998] s a TINA [Hamada 1997] azok a nagyobb, tfogbb (s vitathatan nehzkesebb) szabvnyok, amelyek e nagyobb krdsre vlaszt adnak. A TINA-t pldul a kvetkez mdon hatrozzk meg: kzs clok, elvek s koncepcik halmaza, amelyek lefedik a szolgltatsok, erforrsok s az osztott feldolgozsi krnyeze tek felgyelett [Hamada 1997]. Nyilvnval, hogy minden egyes tmrl kln knyvet lehetne rni, s messzebb vinne a szmtgpes hlzatok technikai nzpontjtl. Amint fentebb is emltettk, a mi jelenlegi szernyebb clunk nem ms, mint bemutatni annak az infrastruktrnak a fontosabb mozgatrugit, amelynek segtsgvel a hlzati rendszergazda a bitek zavartalan ramlst biztostja. Gyakori krds, hogy Mi az a hlzatfelgyelet?. E fenti lersunk motivlst s illusztrcit nyjtott a hlzatfelgyelet nhny felhasznlsra. A fejezetet a hlzatfelgyelet [Saydam 1996] egymondatos (habr elgg hossz) defincijval zrjuk:

hlzatfelgyelet magban foglalja a hardver-, szoftver- s emberi erforrsok teleptst, integrcijt s sszehangolst annak rdekben, hogy ellenrizze, tesztelje, lekrdezze, konfigurlja, elemezze, kirtkelje s vezrelje a hlzatot s az egyes rszek erforrsait azrt, hogy elfogadhat ron nyjtson vals idej, mkdkpes teljestmnyt, s kielgtse a szolgltats minsgi kvetelmnyeit.
A Elgg terjengs, m annl mkdkpesebb definci. A kvetkez fejezetekben valameny- nyi hst is rtesznk a hlzatfelgyelet ilyenfajta, inkbb csontokbl ll defincijra.

9.2. A hlzatfelgyelethez szksges infrastruktra


Az elz fejezetben lttuk, hogy hlzatfelgyelet megkveteli, hogy a hlzat hardver- s szoftverelemeit ellenrizni, tesztelni, lekrdezni, konfigurlni... s vezrelni tudja. Mivel a hlzati eszkzk eloszlottak, ez a kpessg a legegyszerbb esetben is azt ignyli, hogy a hlzati rendszergazda adatokat tudjon gyjteni (pldul ellenrzs cljbl) egy tvoli entitstl, s azon vltoztatsokat tudjon eszkzlni (pldul vezrelni). Az emberi anal gia knnyen tlthatv teszi a hlzati-felgyelethez szksges infrastruktrt. Kpzeljk cl, hogy egy nagyvllalat vezeti vagyunk, amely vllalat szmos gazati irodval rendelkezik az egsz vilgon. A mi feladatunk az, hogy a szervezetnk rszei zkkenmentesen mkdjenek. Hogyan rjk el mindezt? Legalapvetbb feladatunk az, hogy adatokat gyjtsnk az egyes irodkbl jelentsek s tevkenysgi, termelsi s kltsgvetsi mrsek alakjban. Idnknt (m nem gyakran) kln rtestst kapunk, amikor az egyik irodnl

problma addik; az iroda vezetje, aki a vllalati ltrn prbl felfel kapasz kodni (taln a mi llsunkra plyzva), kldhet egy ltalunk nem krt zenetet is, hogy a dolgok milyen simn mennek az irodjban. A berkezett jelentseket megvizsgljuk, remlve, hogy mindentt minden rendben van, m biztosan lesz olyan problma, ami a mi beavatkozsunkat is ignyli. Kezdemnyezhetnk kln prbeszdet a problms irodkkal, gyjthetnk tbb adatot annak rdekben, hogy megrtsk a problmt, s aztn elkldhetjk a vgrehajt parancsot (Tedd meg ezt a vltoztatst!) az iroda vezetjnek.

194

VLASZOL STEVEN M. BELLOVIN

Ebben a nagyon is gyakori emberi pldban benne van a szervezet irnytsra vonatkoz infrastruktra - a fnk (mi), a tvoli helyek, amelyeket irnytani kell (az gazati irodk), a tvoli gynkk (az irodk vezeti), a kommunikcis protokollok (ltalnos jelentsek s adatok kldshez s kln prbeszdekhez) s adatok (a jelentsek tartalma s a tevkenysgek, termels s kltsgvets mennyisgi mrse). Az emberi szervezeti felgyelet minden egyes komponensnek megtalljuk a megfeleljt a hlzatfelgyeletben. A hlzatfelgyeleti architektra koncepcionlisan azonos az egyszer emberi szervezet analgival. A hlzat felgyeleti terletnek megvannak a sajt terminolgii az architektra klnbz rszeire, ezrt ezeket a terminolgikat vesszk t mi is. A 9.2. brn lthat, hogy a hlzatfelgyeleti architektra hrom f alkoteleme: a felgyel entits (a fenti analgi nk szerint a fnk - mi), a felgyelt eszkzk (az irodk) s a hlzatfelgyeleti protokoll. A felgyel entits (managing entity) egy alkalmazs, amelyet ltalban ember kezel, s egy kzpontostott hlzat felgyeleti llomson fut a NOC hlzati mveleti kzpontban. A felgyel entits a hlzatfelgyeletre irnyul tevkenysg helye, feladata pedig a hlzatfelgyeleti informcik sszegyjtse, feldolgozsa, elemzse s/vagy megjelentse. Itt trtnik a hlzat viselkedsnek vezrlst clz tevkenysgek kezdemnyezse, s innen irnytja az emberi hlzati rendszergazda a hlzati eszkzket. A felgyelt kszlk (managed device) a felgyelt hlzatban tallhat hlzati berendezsek rsze (lehet akr szoftver is). Az emberi analginkban ez a kihelyezett iroda. A felgyelt kszlk lehet gazdagp, tvlaszt, hd, nyomtat vagy akr modem is. Egy
gynk Ada

Felgyel entits Felgyelt kszlk

gynk [Adat
Hlzat felgyeleti protokoll

Felgyelt kszlk

gynk Adat

X'
Felgyelt kszlk

Felgyelt kszlk

felgyeli eszkzn bell lehetsges szmos felgyelt objektum (managed object) is. Ezek a felgyelt objektumok a tnyleges hardverelemek a kszlken bell (pldul a hlzati krtya), s a hardver- s szoftverelemek belltsainak paramterhalmaza (pldul krzeten belli tvlasztsi protokoll, mint amilyen a RIP). Az emberi analgink szerint a felgyelt objektumok lehelnek a kihelyezett irodk klnbz osztlyai. Minden ilyen felgyelt objektum rendelkezik valamilyen Informcival, amelyeket a felgyeleti infor mcis adatbzisba (management in formt ion base, MIB) gyjtenek ssze; ltni fogjuk, hogy ezek az informcidarabok elrhetek (s sok esetben llthatak is) a felgyel en tits szmra. Az analginkban, a MIB megfelel a kihelyezeti irodk s a kzponti iroda kztti prbeszdben elhangz mrt adatoknak (mrsi adatok a tevkenysg, a termels s a kltsgek mrtkrl, valamint a kltsgvetsi mdostsok!). A MIB-bel rszletesen a 9.3. alfejezetben foglalkozunk. Vgl, szintn minden felgyelt kszlkben jelen van a hlzatfelgyel gynk (network management agent), egy, a felgyelt kszlken fut folyamat, amely a felgyel entitssal kommunikl, valamint helyi utastsokat hajt vgre a felgyelt kszlken a felgyel entits irnytsa alatt s annak parancsai alapjn. A hlzatfelgyel gynk a fenti analgiban az iroda vezetje. A hlzatfelgyeleti architektra harmadik darabja a hlzatfelgyeleti protokoll (network management protocol). A protokoll a felgyel entits s a felgyelt kszlk kztt mkdik, lehetv tve a felgyel entits szmra, hogy a felgyelt eszkzk llapott lekrje, valamint az gynkkn keresztl kzvetve utastsokat hajtson vgre. Az gynkk hasznlhatjk a hlzatfelgyeleti protokollt, hogy a felgyel entitst kivteles esemnyekrl rtestsk (pldul komponensmeghibsodsok esetn, vagy a teljestmny kszbrtkeinek megszegse esetn). Fontos megjegyeznnk, hogy a hlzatfelgyeleti protokoll nmagban nem alkalmas a hlzat kezelsre. Csupn egy eszkzt knl, ami vel a hlzati rendszergazda a hlzatot felgyelheti (ellenrizheti, tesztelheti, lekrdezheti, bellthatja, elemezheti s vezrelheti). Ez apr, m fontos klnbsg! Annak ellenre, hogy a hlzatfelgyeleli infrastruktra alapveten knnyen felfoghat, knnyen megrekedhetnk a felgyel entits, hlzatfelgyel gynk s felgyeleti informcis bzis kifejezsekhez hasonl fogalmaknl, amelyek a hlzatfelgyelet nyelvezetnek sztrba tartoznak. A hlzatfelgyelet nyelvezete szerint az egyszer gazdagp figyel felllsunknl pldul a felgyelt kszlknl tallhat hlzatfelgyel gynkt gyakran lekrdezi a felgyel entits - egyszer elkpzels, m nyelvileg bo nyolult! Kis szerencsvel a vllalati analgia s a hlzatfelgyelettel kapcsolatos nyilvn val prhuzamok segthetnek a fejezet tovbbi rszeinek megrtsben. A hlzatfelgyeleti architektrrl adit fenti lersunk elgg ltalnos, s szleskren vonatkozik az vek alatt megalkotott hlzatfelgyeleti szabvnyokra s protokollokra. A szabvnyok a 1980-as vek vgn kezdtek megjelenni, az OSI hlzatfelgyeleti protokollja, a CMISE/CMIP (Common Management Information Services Element/ Common Management Information Protocol) [Piscatello 1993; Stallings 1993; Glitho 1998] s az internet egyszer hlzatfelgyeleti protokollja (Simple Network Management Protocol, SNMP) |RFC 3410; Stallings 1999; Rose 1996] ltrejttvel, mint a kt legfontosabb

szabvnnyal [Miller 1997; Subramanian 2000]. Mindkt szabvnyt gyrt specifikus termkektl s hlzatoktl fggetlennek terveztk. Mivel az SNMP-t azok ban az idkben, amikor a hlzatfelgyeletre geten szksg volt, rvid id alatt gyorsan terveztk s valstottk meg, szles kr felhasznlsra s elfogadsra tallt. Manapsg az SNMP a legtbb helyen alkalmazott s teleptett hlzat felgyeleti keretrendszer. Az SNMP rszleteit a kvetkez alfejezetben mutatjuk be.

ly..k J gyakorlatban A SprintLink hlzati mveleti kzpontja A hlzatok sokfele alakkal s mrettel rendelkezhetnek. A legkisebb otthoni hlzattl eg szen a legnagyobb 1. szint ISP-ig, a hlzati opertor(ok) feladata annak biztostsa, hogy a hlzat zkkenmentesen mkdjn. Mi trtnik valjban a hlzati mveleti kzpontban (NOC), s mit is csinl a hlzati opertor? A fldgolyt behlz hlzat, a bolyg egyik legnagyobb 1. szint IP-hlzata, amelyet a Sprint cg mkdtet. A SprintLink nven ismert hlzat (tovbbi informcik a www.sprint . com weboldalon) tbb mint 70 helyen van jelen, s tbb mint 800 tvlasztval rendelkezik. Ez risi svszlessget jelent. A SprintLink elsdleges NOC-kzpontja Restonban (VA) van, httr NOCkzpontjai pedig Floridban, Georgiban s Kansas Cityben vannak. A Sprint az ATM-hlzata, kerettovbbt hlzata s optikai hlzatai szmra tovbbi NOC-ket tart fenn. Minden pillanatban ngy hlzati mveleti kzpont csapata figyeli s kezeli a SprintLink IP-hlzat magjban lv berendezseket. Egy msik csapat ll kszenltben, hogy az gyfe lek hibabejelentseit kezelje, cs vlaszoljon a krseikre. Az automatizls - a megfigyelsben (riaszts korrelci, hibaazonosits s szolgltats-helyrellts), a konfigurcifelgyeletben s az gyfelek hibabejelentseinl - teszi lehetv, hogy ez a kis opertori csoport ellthassa ennek a nagy s sszetett hlzatnak felgyelett. Abban az esetben, ha problma addik, a SprintLink opertorainak elsdleges feladata az gyfeleknek nyjtand szolgltatsok gyors helyrelltsa. Az NOC-opertorok egy adott problma esetn elre meghatrozott prioritsi sorrendel lltanak fel, diagnosztizlnak, s helyrelltsi lpseket tesznek. Azokat a problmkat, amelyeket nem tudnak azonnal diag nosztizlni, vagy nem tudnak helyrelltani egy bizonyos idn bell (pldul 15 perc alatt), je lentik a kvetkez szinten lv szakembereknek. Ezen a szinten a tmogatst a Sprint National Technical Assistance Center (N'TAC) nyjtja. Az XTAC-tagok felelsek a problma mlyebb gykernek felkutatsrt; mveleti eljrsokat rnak az NOC szmra, s egyttmkdnek a termkek szolgltatival (pldul tvlaszt beszlltkkal) a n n a k rdekben, hogy kiele-

Notwor* Op+rmUo<\*

Nmtworfc
Mtntpftmtnt Center

A Sprint technikusai a kpen lthathoz hasonl mveleti kzpontokban figyelik a hlzat psgt

mezzk s megoldjk a termkspecifikus hibkat. A hibk kzel 90 szzalkt kzvetlenl az NOC-technikusok s mrnkk oldjk meg. A NOC s a NTAC szemlyzete ms csapatok kal is egyttmkdik, tbbek kztt (kls s bels) partner NOC-kzpontokkal s a Sprint helysznel mveleti csapatval, amely helyszni szemet, kezet s flet szolgltat a Sprint POP-okben (jelenlti helyeken). A m i n t azt a fejezetben mr korbban is emltettk, a SprintLinknl (s ms ISP-knl is) a hlzatfelgyelet hibafelgyeletbl hatkonysgfelgyelett, majd szolgltatsfelgyelett fejldtt, egyre nvekv hangslyt helyezve az gyfelek szksgleteire. Amellett, hogy az gyfelek szksgleteire koncentrlnak, a Sprint opertorai bszkk a kiemelked zemeltetsre s arra a szerepkre, a m i t a vilg egyik legnagyobb ISP-jnek globlis hlzati infrastruktrjnak fenntartsban s rzsben betltenek.

9.3. Az internetszabvnyos hlzatfelgyeleti keretrendszer


Azzal ellenttben, amit az SNMP (Simple NetWork Management Protocol) neve sugallna, az internetes hlzat felgyelet sokkal tbb mint egy egyszer protokoll adatok tvitelre a felgyel entits s a hozz tartoz gynkk kztt, s sokkal sszetettebb fejldtt, mint azt az egyszer' (simple) jelzbl gondolhatnnk. A jelenlegi internetszabvnyos hlzatfelgyeleti tevkenysg gykerei a Simple Gateway Monitoring Protocolig (SGMP) [RFC 1028| nylnak vissza. Az SGMP-t egy egyetemi hlzati kutatkbl, felhasznlkbl s felgyelkbl ll csoport fejlesztette ki. Az SGMP fejlesztse sorn szerzett tapasztalatok segtsgvel pr hnap alatt megterveztk, implementltk s teleptettk az SNMP-t [Lynch 1993] - merben eltr mdon a mai tl hosszra nyl szabvnyostsi eljrsoktl. Azta az SNMP tovbbfejldtt az SNMPvl-bl az SNMPv2-n t egszen a legjabb verziig, az SNMPv3-ig [RFC 3410], amelyet 1999 prilisban adtak ki, s 2002 decemberben frisstettek. Brmely keretrendszer lersnl, amely a hlzatfelgyelettel kapcsolatos, elkerlhetetlenl fel kell tenni bizonyos krdseket: Mit is figyelnk pontosan (jelentstani szempontbl)? Milyen vezrlst tud megvalstani a hlzati rendszergazda? o Mi az a meghatrozott forma, amelyben az informcit a jelentsekbe gyazzuk s/ vagy tvitelre kldjk? Milyen kommunikcis protokollt hasznlunk ennek az informcinak a kicserlsre? Idzzk fel az elz fejezetben szerepl vllalatunk analgijt! A fnknek s az irodavezetknek meg kell egyeznik azokban a mrszmokban, amelyekkel a tevkenysget/ termelst s a kltsgvetst jellemezni tudjk irodk llapotjelentsben. Hasonlan, a fnk ltal kiadhat utastsokban is meg kell egyeznik (pldul a kltsgvets lefaragsa, az irodavezet utastsa, hogy az iroda mkdst bizonyos szempontbl megvltoztassa, vagy ppen a szemlyzet elbocsjtsa s az iroda bezrsa). Rszletekbe menen ez azt jelenti, hogy meg kell llapodniuk az adatok megjelensi alakjban, amely a jelentsek ben szerepel.

Pldul milyen pnznem (dollr, eur?) szerepel a kltsgvetsi jelentsben? Milyen egysgekben mrik a termelst? Annak ellenre, hogy ezek a rszletek egyrtelmnek tnnek, ezekben is meg kell llapodni. Vgl pedig meg kell hatrozni azt a mdot, ahogyan az informcit a f iroda s a kihelyezett irodk kztt kicserlik (azaz a kommunikcis protokollt). Az internetszabvnyos hlzatfelgyeleti tevkenysgek a fenti krdsekre prblnak vlaszt adni. A keretrendszer ngy rszbl ll: A hlzatfelgyeleti objektumok (azaz MIB-objektumok) defincija. Az internetszabvnyos hlzatfelgyeleti tevkenysgek esetn a felgyeleti informcit a felgyelt objektumok gyjtemnyeknt brzoljk, amelyek egytt egy virtulis informcis trhzat formlnak, amelyet hlzat felgyeleti adatbzisnak (Management Information Base, MIB) neveznk. Egy MIB-objektum lehet egy szmll, pldul az IP-adatcsomag fejrsznek hibja miatt eldobott csomagok szma vagy a hibs tvitelek rzkelsnek szma az Ethetnet-interfszkrtynl; lehet ler informci, pldul a DNS-kiszolgln fut szoftver verzija; llapotinformci, pldul egy adott eszkz megfelelen mkdik-e; vagy protokollspecifikus informci, pldul adott clhoz vezet tvonal. Az MIB-objektumok teht meghatrozzk a felgyelt kszlknl fenntartott felgyeleti informcit. Az sszekapcsold MIB-objektumok MIBmodulokba szervezdnek. A vllalati analginkban a MIB a kihelyezett irodk s a kzponti iroda kztt kicserlt informcit hatrozza meg. Egy adatler nyelv, amelyet hlzatfelgyeleti adatok szerkezetnek (Structure of Management Information, SMI) neveznek. Definil adattpusokat, egy objektum- modellt s a felgyeleti informcik ltrehozsra s mdostsra vonatkoz szablyokat. Az MIB-objektumokat ezen az adatler nyelven definiljk. A szoksos analginkban az SMI a kicserlt informci pontos alakjt hatrozza meg. Egy protokoll, SNMP. A protokoll a felgyelt hlzatban a felgyel entits s az entits nevben cselekv gynk kztti informcik s parancsok tvitelre szolgl. Biztonsgi s administrcis kpessgek. Ezen kpessgekkel val kiegszts jelenti az SNMPv3 javtst az SNMPv2-vel szemben. Az internetes hlzatfelgyeleti architektra teht modulris felpts, egy protokollfg- getlen adatler nyelvvel s a MIB-bel, valamint egy MIB-fggetlen protokollal. rdekes mdon ezt a modulris szerkezetet elszr azrt vezettk be, hogy enyhtsk egy SNMP-alap hlzat fel gyeletrl trtn tlls nehzsgeit egy olyan ISO ltal fejlesztett hlzatfelgyeleti keretrendszerre, amely az SNMP els bevezetsekor annak versenytrsaknt jtt ltre - m az tlls sohasem kvetkezett be. Idvel azonban az SNMP - modulris tervezse folytn - h rom f fejldsi szakaszon ment keresztl, a fentebb megbeszlt ngy f alkotrsz fggetlen fejldsvel. A modularits nyilvnvalan helyes dnts volt, a rossz ok ellenre is! A kvetkez alfejezetben az internetszabvnyos hlzat felgyeleti tevkenysgek ngy f alkotrszt mutatjuk be rszletesen.

9.3.1. A hlzatfelgyeleti adatok szerkezete: SMI


A hlzatfelgyeleti adatok szerkezete (Structure of Management Information, SMI) (a hlzatfelgyeleti keretrendszer meglehetsen furcsn elnevezett rsze, amely nv nem ad semmilyen informcit a funkcionalitsrl) az a nyelv, amellyel a felgyelt hlzati entitsban lv hlzatfelgyeleti adatokat lehet definilni. Az ilyen adatler nyelvre

szksg van ahhoz, hogy a hlzatfelgyeleti adatok szintaxisnak s szemantikjnak jldefiniltsgt s egyrtelmsgt biztostani lehessen. Vegyk szre, hogy az SMI nem definilja a felgyelt hlzati entitsban lv adatok meghatrozott elfordulst, m annl inkbb meghatrozza azt a nyelvet, amellyel az ilyen informcit le lehet rni. Az SNMPv3-hoz kapcsold SMI-t (amelyet zavar mdon SMIv2-nek hvnak) ler dokumentumok az [RFC 2578; RFC 2579; RFC 2580] ajnlsok. Vizsgljuk meg az SMI-t alul rl felfel, az SMI alapvet adattpusaival kezdve. Ezutn megnzzk, hogy a felgyelt objektumokat hogyan lehet az SMI-ben lerni, majd azt is, hogy a vonatkoz felgyelt objektumok hogyan rendezdnek modulokba.

Az SMI alapvet adattpusai


Az RFC 2578 az SMI MIB moduller nyelvvel definilja az alapvet adattpusokat. Habr az SMI az ASN.l (Abstract Syntax Notation One) [ISO 1987; ISO X.680 1998] objektumler nyelven (lsd 9.4. alfejezet) alapul, elegend szm SMI-specifikus adattpust tartalmaz ahhoz, hogy klnll adatler nyelvnek tekinthessk. Az RFC 2578-ban definilt 11 alapvet adattpust mutatja a 9.1. tblzat. E skalrobjektumok mellett az is lehetsges, hogy a MIB--objektumok rendezett gyjtemnyt tblzatos formban jelentsk meg a SENTENCE OF szerkezettel; tovbbi rszletekrt lsd [RFC 2578]. A 9.1. tblzat ban szerepl legtbb adattpus szmos olvasnak ismers lehet (vagy nmagrt beszl). Az egyetlen adattpus, amelyet rvidesen rszletesebben is trgyalunk, az OBJECT IDF.N- TIFIER adattpus, amellyel az objektumot megnevezhetjk.

Az SMI magasabb szint konstruktorai


Az alapvet adattpusok mellett, az SMI adatler nyelv magasabb szint nyelvi konstruk- torokat is biztost. Az OBJECT-TYPE szerkezet hasznlhat a felgyelt objektum adattpusnak, llapotnak s szemantikjnak meghatrozsra. A felgyelt objektumok egyttesen tartalmazzk a felgyeleti adatokat, amelyek a hlzatfelgyeleti kzpontban tallhatk. A klnfle internetes RFC-ben [RFC 3410] tbb mint 10 000 definilt objektum tallhat. Az OBJECT-TYPE szerkezetnek ngy klza van. Az OBJECT-TYPE pldny SYNTAX klza az objektumhoz rendelt alapvet adattpust hatrozza meg. A MAX-ACCESS kiz megadja, hogy a felgyelt objektum olvashat, rhat, ltrehozhat vagy az rtke szerepel-e egy rtestsben. A STATUS kiz jelzi, hogy az objektum defincija jelenleg aktulis s rvnyes, teljesen elavult (ebben az esetben megvalstsa egyltaln nem megengedett, a meghatrozsa csupn trtnelmi clokat szolgl) vagy csak az j verzi szmra elavult-e (elavult, m megvalsthat, hogy a rgi verzikkal egytt tudjon mkdni). A DKSCRIP- TION kiz az ember szmra is olvashat formban tartalmazza az objektum lerst: ezltal dokumentlja a felgyelt objektum cljt, s megadja a megvalstshoz szksges sszes szemantikai informcit. Az OBJECTIVE-TYPE szerkezet pldjaknt tekintsk az [RFC 4293] ajnlsban megtallhat ipSystemStatsInDelivers objektumtpus defincit. Az objektum egy 32 bites szmllt definil, amely szmon tartja a felgyelt kszlkhez sikeresen

megrkezett s egy felsbb szint protokoll fel sikeresen tovbbtott IPadatcsomagok szmt. A definci utols sora az objektum nevre vonatkozik, az ezzel foglalkoz tmrl a kvetkez fejezetben szlunk. 9.1. tblzat. Alapvet SMI-adattpusok
Adattpus INTEGER Lers Az ASN.1 szerint definilt 32 bites integer, -2 5' s 2JI - 1 kztti rtkkel, vagy a lehetsges megnevezett konstans rtkek egy listjbl vlasztott rtk. Integer32 Unsiqned32 OCTET STRING 32 bites integer -23 s 231 - 1 kztti rtkkel. 32 bites inteqer 0 s 232 - 1 kztti rtkkel. ASN.1 formtum bjt karakterlnc, amely tetszleges binris vagy szveges adatot reprezentl, legfeljebb 65535 bjt hosszon. OBJECT IDENTIFIER ASN.1 formtum kzpontilag hozzrendelt (strukturlt nv), lsd 9.3.2. alfejezetet. 1 Padd ress Counter32 Counter64 Gauge32 32 bites interneteim 32 bites szmll, amely 0-tl nvekszik 23> -1-ig, majd 0-tl jra kezddik. 64 bites szmll 32 bites integer, amely nem megy 2,; - 1 fl s 0 al, amikor nvelik vagy cskkentik. TimeTicks Opaque Valamely esemnytl szmtva szzadmsodpercekben mrt id.

Nem rtelmezet ASN.1 karakterlnc, amely a visszafel kompatibilits miatt szksges.

ipSystemStatsInDeliver s OBJECT-TYPE SYNTAX Counter32 MAXACCESS read-only STATUS current DESCRIPTION "Az IPuser- protokolloknak sikeresen tovbbtott adatcsomagok szma (belertve az ICMP-t is). Amikor az interfsz statisztikit nyomon kvetjk, annak az interfsznek a szmlljt nveljk, amely hez az adatcsomagokat cmeztk. Ez az interfsz nem felttlenl egyezik meg a bemeneti interfssz el nh ny csomag esetn. A szmll ltal mutatott rtkben folytonossgi szakads fordulhat el a felgyelet i rendszer jra indtsakor, s az ipSystemStatsDiscontinuityTime rtkkel jelzett alkalmakkor." ::= { ipSystemStatsEntry 18 }
A MODULE-IDENTITY szerkezet lehetv teszi az egymssal kapcsolatban lv ob jektumok csoportostst a modulon bell. Pldul az [RFC 4293) meghatrozza a MIB-modult, amely felgyelt objektumokat definil (belertve az ipSystemStatsIn- Delivers-t) az Internet Protokoll (IP) felgyeletnek implementcija s a hozzrendelt internet vezrlzenet protokoll (ICMP) szmra. Az [RFC 4022] a TCP szmra spe cifiklja a MIB-modult, az [RFC 4133] pedig az UDP szmra. Az [RFC 4502] az RMON tvoli ellenrzs sorn hasznlt

MIB-modult definilja. A modulban tallhat felgyelt objektum OBJECT-TYPE defincija mellett a MODULE-IDENTITY szerkezet olyan kl- zokat tartalmaz, amelyek a modul szerzjnek elrhetsgit, a legutols frissts dtumt, a klnbz verzik lerst, illetve szveges lerst tartalmaznak a modulrl. Pldaknt tekintsk az IP protokoll felgyeletre definilt modult:

ipMIB MODULE-IDENTITY LAST-UPDATED "200602020000Z" ORGANIZATION "IETF IPv6 MIB Revision Team" CONTACT-INFO "Szerkeszt: Shawn A. Routhier Interworking Labs 108 Whispering Pines Dr. Suite 235 Scotts Valley, CA 95066 USA EMail: < sar@iwl.com >" DESCRIPTION "MIB modul, amely az IP- tvonalak kivtelvel az IP s ICMP megvalstsok felgyelett vgzi. Copyright (C) The Internet Society (2006).A MIB modul ezen verzija az RFC 4293 rsze; lsd az RFC-t a teljes jogi lersrt."
REVISION "200602020000Z"

DESCRIPTION "Az IP verzi semleges fellviz sglsa, kiegsztve IPv6 objektumokkal az ND, alaprtelmezett tvlasz tk s tvlaszt hirdetmnyek szmra. A MIB modul mind az RFC 2011, mind az RFC 2465 s 2466 utdja. RFC 4293knt kerlt nyilvnossgra." REVISION "199411010000Z" DESCRIPTION "Egy klnll MIB modul (IP- MIB) IP s ICMP fel gyeleti objektumok szmra. RFC 2011-knt kerlt nyilvnossgra." REVISION "199103310000Z" DESCRIPTION "A MIB modul kezdeti fellvizsg lata az MIB-II rsze, amely RFC 1213-knt kerlt nyilvnossgra." ::= { mib-2 48}
A NOTIFICATION-TYPE szerkezet egy gynk vagy felgyel entits ltal generlt SNMPv2-Trap s In formt ion Request zenetekre vonatkoz informcik meghatrozsra szolgl; lsd a 9.3.3. alfejezetben. Ez az informci tartalmaz egy szveges DESCRIP- TION-t arrl, hogy az ilyen zeneteket mikor kell kldeni, s tartalmaz egy listt olyan rtkekrl, amelyeket az ellltott zenetben mellkelni kell; lsd [RFC 2578]. A MODU- LE-COiMPLIANCE szerkezet a modulon belli felgyelt objektumok halmazt definilja, amelyet egy gynknek implementlni kell. Az AGENT-CAPABILITIES szerkezet pedig az gynkk

kpessgeit rja le az objektum- s esemnyrtestsi defincik kapcsn.

9.3.2. Hlzatfelgyeleti adatbzis: MIB


Amint mr korbban is emltettk, a hlzatfelgyeleti adatbzis (Management Information Base, MIB) felfoghat egy virtulis informcis trhzknt is, amely olyan felgyeleti objektumokat tartalmaz, amelyek rtkei egyttesen tkrzik a hlzat pillanatnyi llapott. Ezeket az rtkeket a felgyel entits gyjti ssze s/vagy lltja be azltal, hogy SNMP zenetek kld az gynknek, amely a felgyel entits nevben cselekszik a felgyelt kszlkben. A felgyelt objektumokat az OBJECT-TYPE SMI szerkezettel lehet specifiklni a fent trgyalt mdon, valamint MODULE-IDENTITY szerkezetek segtsgvel lehet MIBmodulokba gyjteni. Az IETF szabvnyostotta az tvlasztkhoz, gazdagpekhez s egyb hlzati berendezsekhez kapcsold MIB-modulokat. Ezekbe beletartoznak a hardvereszkzk alapvet azonostsi adatai s a kszlkek hlzati interfszeinek s protokolljainak felgyeleti informcii. 2006 ta tbb mint 200 szabvnyalap MIB-modul s mg tbb gyrtspecifi kus (magn) MIB-modul jtt ltre. A sok szabvny miatt az lETF-nek megoldst kellett ta llnia a szabvnyostott modulok s a modulokon belli specilisan felgyelt objektumok elnevezsre s azonostsra. Ahelyett, hogy nullrl indultak volna, az IETF tvette a Nemzetkzi Szabvnygyi Szervezel (ISO) szabvnyostott objektumazonost (elnevez) keretrendszert. Mint minden szabvny esetn, az ISO nagy remnyeket fztt a szabvnyostott objektumazonost keretrendszerhez - minden lehetsges szabvnyostott objektumot (pldul adatformtumot, protokollt vagy informcirszletet) azonostani szeretett volna brmely hlzatban, fggetlenl az eszkzgyrttl vagy a hlzat tulaj donostl (pldul IF.TF, ISO, IEEE vagy ANSI). Valban nagyravgy tlet! Az ISO ltal tvett objektumazonost keretrendszer az ASN.l (Abstract Syntax Notation One) [ISO 1987; ISO X.680 1998] objektumler nyelv rsze, amelyet a 9.4. alfejezetben trgyalunk. A szabvnyostott MIB-moduloknak megvan a sajt meghitt helyk ebben a mindent magban foglal nvkpz keretrendszerben, amint azt ksbb ltni fogjuk. Amint a 9.3. bra is mutatja, az objektumok az ISO elnevezsi keretrendszer szerint hierarchikus mdon kapjk a nevket. Figyeljk meg, hogy a fa minden elgazsi pontjnak van egy neve s egy szma (zrjelben); gy a fa minden pontja azonosthat nevek vagy szmok sorozatval, amely meghatrozza az tvonalat a gykrtl az adott pontig az azonost fban. Egy mks, m nem teljes s nem hivatalos webalap objektumazonosit fabejr (nkntesek ltal biztostott elgazsi informcikat felhasznl) segdprogram tallhat az [Alvcstrand 1997] s [Franc Telecom 2006| anyagokban. A hierarchia tetejn az ISO s a Nemzetkzi Tvkzlsi Uni Tvkzlsi Szabvnyost Szektora (ITU-T) tallhat, a kt f szabvnyost szervezet, amely az ASN.l-gyei foglalkozik, s a kt szervezet kzs erfesztsnek kzs pontjaknt szolgl. A fa ISO ga alatt minden ISO-szabvnyra vonatkozan tallunk bejegyzst (1.0), valamint olyan szabvnyokra is, amelyeket klnbz ISOtagorszgok szabvnyai valstanak meg. Annak ellenre, hogy a 9.3. brn nem lthat, alatta (az ISO member bodies, azaz az 1.2 alatt) az USA-t (1.2.840)

tallnnk, amelyhez szmos IEEE-, ANSI- s cgspecifikus szabvny tartozik. Ezek kz tartozik az RSA (1.2.840.11359) s a Microsoft (1.2.840.113556), ami hez a klnbz Microsoft-termkre vonatkoz Micosot File Formats (1.2.840.113556.4, Microsoft fjlformtumok), pldul a Word (1.2.840.113556.4.2) is tartozik. m bennn-

ITU-T (0)

ISO(1)

Joint ISO/ITU-T (2)

Standard (0)

ISO member body (2)


-7V-

ISO identified organization (3)

-ih
NATO identified (57)

US DoD (6)

Open

Software

Foundation (22) (0) Internet (1) (2) I____________________________ directory (1) management (2) MIB-2 (1) experimental (3) private (4)

security (5)

snmpv2 (6)

mail (7)

T"~\

system interface (1) (2)

address translation (3)

ip (4)

icmp tcp (5) (6)

udp (7)

egp cmot transmission snmp (8) (9) (10) (11)

rmon (16)

9.3. bra. ASN. 1 objektumazonost fa kel a hlzat rdekel (nem pedig a Microsoft Word fjlok), gy tekintsk az 1.3-as cmkj elgazst, a szabvnyokat, amelyeket az ISO ltal elismert testletek bocstanak ki. Ezek kz tartozik az Amerikai Egyeslt llamok Vdelmi Minisztriuma (U.S. Department of Defense, 6 ) (amely alatt az internetszabvnyok helyezkednek el), az Open Software Foundation (22), a SITA repltrsasg (69), a NATO ltal elismert testletek (57) s sok ms egyb szervezet. Az Internet ghoz (1.3.6.1) ht kategria tartozik. A privt (1.3.6.1.4) g alatt szmos nv s sok ezer olyan magnvllalati kd listjt [IANA 2007b) talljuk, amely vllalatok az Internet Assigned Numbers Authority nyilvntartsban (IANA) [IANA 2007] szerepelnek. Az objektumazonost management (1.3.6.1.2) s a MIB-2 ghoz (1.3.6.1.2.1) a szabvnyostott MIB modulok defincii tartoznak. Ejha, ez elg hossz t a mi ISO nvternkhz!

Szabvnyostott MIB-modulok
A 9.3. brn lthat fa legalacsonyabb szintje nhny fontos hardverkzpont, valamint a legfontosabb internetprotokollokhoz kapcsold MIB-modult (system s interface) mutat. Az [RFC 3700] felsorolja az sszes szabvnyostott MIB-modult. Annak ellenre, hogy a MIB-hez kapcsold RFC-k igen unalmas s szraz olvasnivalk, ajnlott (olyan mint zldsgeket enni, jt tesz neked) nhny MIB-modul defincijt ttekinteni an nak rdekben, hogy valamelyest megismerjk a modulokban lv informcik fajtit.

9.2. tblzat. Felgyelt objektumok a MIB-2 system csoportban


Objektum azonost 1.3.6.1.2.1.1.1 Nv sysDescr Tpus OCTET STRING Lers (az RFC 1213 alapjn) A rendszerhardver tpusnak, opercis rendszernek s hlzati szoftvernek teljes neve s verzijnak azonostja." 1.3.6.1.2.1.1.2 sysObjectID OBJECT IDENTIFIER Gyrt ltal hozzrendelt objektumazonost, amely,,knny s egyrtelm mdszert biztost a 'felgyelt doboz tpusnak' meghatrozsra." 1.3.6.1.2.1.1.3 sysUpTime TimeTicks

A hlzatfelgyelet legutols jraindtstl eltelt id (szzadmsodpercekben)."

1.3.6.1.2.1.1.4

sysContact

OCTET STRING

A csomponthoz kapcsold sszekt szemly, a kapcsolatfelvtel mdjrl szl informcival egytt."

1.3.6.1.2.1.1.5

sysName

OCTET STRING

A felgyelt csompont hivatalos neve. Megegyezs alapjn, ez a csompont teljes joggal elismert krzetneve." A csompont fizikai helye."

1.3.6.1.2.1.1.6 1.3.6.1.2.1.1.7

sysLocation sysServices

OCTET STRING Integer32

Egy kdolt rtk, amely a csompont szmra elrhet szolgltatsok halmazt jelzi: fizikai (pldul ismtl), adatkapcsolat/ alhlzat (pldul hd), internet (pldul IP-tjr), vgpontok kztti (pldul gazdagp), alkalmazsok.

9.3. tblzat. Kivlasztott felgyelt objektumok a MIB-2 UDP-modulbon


Objektumazonost 1.3.6.1.2.1.7.1 Nv Tpus Counter32 Lers (az RFC 1213 alapjn) Az UDP-felhasznlkhoz eljutatott sszes UDPadatcsomagok szma"

udplnDatagrams

1.3.6.1.2.1.7.2

udpNoPorts

Counter32

Az sszes fogadott UDP-adatcsomag szma, amelyekhez nem volt alkalmazs a clport szmon"

1.3.6.1.2.1.7.3

udpInErrors

Counter32

Az sszes fogadott UDP-adatcsomag szma, amelyeket nem lehetett kzbesteni a clporthoz rendelt alkalmazs hinytl eltr ok miatt"

1.3.6.1.2.1.7.4

udpOutDatagrams

Counter32 Ettl az entitstl kldtt sszes UDP-adatcsomag szma"

A system alatt elhelyezked felgyelt objektumok ltalnos informcikat tartalmaznak az ppen felgyelt kszlkrl; minden felgyelt kszlknek

tmogatnia kell a sys- temhez tartoz MIB objektumokat. A 9.2. tblzat az [RFC 1213) szerint meghatrozza a system-csoportbeli objektumokat. A 9.3. tblzat a felgyelt entitsoknl lv MIB-modu- lon belli felgyelt objektumokat definilja az UDP protokoll szmra.

9.3.3. SNMP-mveletek
Az egyszer hlzatmenedzsment protokoll 2. verzija (SNMPv2) [RFC 3416) a felgyel entitsok s az entitsok nevben cselekv gynkk kztti MIBinformci tvitelre szolgl. Az SNMP legltalnosabb alkalmazsa a krds-vlasz mdban (request-res- ponse mode) van, amely sorn egy SNMPv2 felgyel entits egy krst kld az SNMPv2 gynknek, amely miutn azt megkapja, vgrehajt valamilyen tevkenysget, s vlaszt kld a krsre. A krst leggyakrabban a felgyelt kszlkhez rendelt MIB-objektum rtknek begyjtsre (lekrdezsre) vagy mdostsra (belltsra) hasznljk. Az SNMP msodik leggyakoribb hasznlata a krst nem tartalmaz zenetek (ms nven csapdazenetek, trap message) kldse az gynkk ltal a felgyelt entitshoz. A csapdazenetek segtsgvel a felgyel entitst rtesteni lehet, ha egy kivteles eset sorn az MIB-objektumok rtkei megvltoznak. Korbban a 9.1. alfejezetben lttuk, hogy akkor van szksg arra, hogy a hlzati rendszergazda csapdazenetet kapjon, ha pldul egy interfsz lell, a torlds elr egy bizonyos szintet egy adatkapcsolaton, vagy ms emltsre mlt esemny trtnik. Jegyezzk meg, hogy szmos fontos kompromisszum van a lekrdezs (krsvlasz prbeszd) s a csapdzs kztt; lsd a feladatokat. Az SNMPv2 htfajta zenetet definil, ltalnos nven protokoll adategysgeket PDU-kat amelyeket a 9.4. tblzat s az albbi lers is tartalmaz. A PDU formtuma a 9.4. brn lthat. A GetRequest, GetNextRequest s GetBulkRequest PDU-kat a felgyel entits kldi az egyik gynknek azrt, hogy az gynk felgyelt kszlkrl egy vagy tbb MIB-objektum rtket lekrdezzen. A lekrdezett MIB-objektumok azonostit a PDU vltoz ktsrsze hatrozza meg. A GetRequest, GetNextRe quest s GetBulkRequest az adatlekrsek mdjnak finomsgaiban trnek el. A GetRequest korltlan MIB-rtkhalmazt krdezhet le; tbb GetNextRequest krs segtsgvel egy MIB-objektumlistn vagy tblzaton naviglhatunk keresztl; a GetBulkRequest lehetv teszi nagy adatblokk visszaadst, elkerlve ezzel a tbb GetRequest s GetNextRequest zenet kldsekor fellp tbbletterhelst. Mindhrom esetben az gynk egy Response PDUval vlaszol, amely tartalmazza az objektumazonostkat s a hozzjuk rendelt rtkeket. A SetRequest PDU-t a felgyel entits alkalmazza arra, hogy belltsa az rtkt a felgyelt kszlk egy vagy tbb MIB-objektumnak. Az gynk noKrror hiballapot Response PDU-val vlaszol annak igazolsra, hogy az rtket valban belltotta. Az InformRequest PDU segtsgvel a felgyel entits rtesteni tud egy msik entitst, amely az adott vev entitstl tvol van. A vev entits noError hiballapot Response PDU-val vlaszol annak jelzsekppen, hogy az InformRequest PDU-t megkapta.

Az SNMPv2 zenetek utols fajtja a csapdazenet. A csapdazenetek szablytalan idkznknt jnnek ltre; azaz nem egy vett krs vlaszaknt generljk ket, hanem

9.4. tblzat. SNMPv2 PDU tpusok


Kld-vev SNMPv2 PDU tpus GetRequest felgyel-gynk Egy vagy tbb MIB-objektum pldny rtknek lekrse Egy listban vagy tblzatban szerepl, kvetkez MIB- objektum pldny rtknek lekrse GetBulkRequest felgyel-gynk Az adatok lekrse nagyobb adatblokkban, pldul egy nagyobb tblzatban InformRequest felgyel-felgyel Tvoli felgyel entits rtestse a szmra nem kzvetlenl elrhet MIB-rtkekrl Lers

GetNextRequest

felgyel-gynk

SetRequest
Response

felgyel-gynk gynk-felgyel vagy felgyel-felgyel

Egy vagy tbb MIB-objektum pldny rtknek belltsa

A kvetkez PDU-kra adott vlasz GetRequest/ GetNextRequest, GetBulkRequest, SetRequest vagy InformRequest

SNMPv2-Trap

gynk-felgyel

A felgyel rtestse egy kivteles esemnyrl

inkbb egy esemny hatsra, amelyrl a felgyel entitst rtesteni kell. Az RFC 3418 jl ismert csapda tpusokat definil, amelyek kz tartozik a kszlk hideg vagy meleg indtsa, egy adatkapcsolal lellsa s elindulsa, egy szomszd elvesztse vagy egy hitelests meghisulsa. A vett csapda zenetre a felgyel entitsnak nem kell vlaszolnia. Az SNMPv2 krs-vlasz termszete mellett meg kell jegyeznnk, hogy habr az SNMP PDU-kat sok klnbz szlltsi protokollon keresztl lehet kldeni, e PDU-k ltalban egy UDP-adatcsomag adatmezjben utaznak. Az RFC 3417 szerint az UDP az ajnlott szlltsi szolglat. Mivel az UDP nem megbzhat szlltsi protokoll, nincs semmilyen garancia arra, hogy egy krs vagy vlasz megrkezik a tervezett clhoz. A PDU-krs azonostmezje segtsgvel a felgyel entits meg tudja szmozni a krseit, amiket egy gynknek kld; az gynk vlaszban szerepl krsazonost a berkezett krsbl szrmazik. gy a krsazonost segtsgvel a felgyel entits szlelheti az elveszett krseket s vlaszokat. A felgyel entitson mlik, hogy egy krst jrakld-e, ha egy bizonyos idn bell nem rkezik megfelel vlasz. Egybknt az SNMP-szabvny eset ben nincs semmilyen kijellt eljrs az jrakldsre, vagy egyltaln arra, hogy szksg vane jrakldsre. Csupn azt rja el, hogy a felgyel entitsnak felelssgteljesen kell cselekednie az jraklds gyakorisgval s idtartamval kapcsolatban. Termszetesen elgondolkodtat lehet szmunkra, hogyan is kell viselkednie egy felelssgteljes protokollnak!

Fejrsz lekrse/belltsa

lekrdezni/belltani kvnt vltozk

PDUtpus (0-3)

Krsazonost

Hiba llapot (0-5)

Hiba-

Nv

index

rtk

Nv rtk

Csapda Vllalat gynk tpusa Specifikus (0-7) cme


kod

PDU* tpus (4) 1

Id blyeg

Nv rtk

i Csapdafejrsz

II 1 I Csapdainformci

1 SNMP PDU

9.4. bra. SNMP PDU formtum

9.3.4.

Biztonsg s adminisztrci

Az SNMPv3 tervezi gy mondjk, hogy az SNMPv3-ra ptllagos biztonsgi s ad minisztrcis kpessgekkel kiegsztett SNMPv2-knt gondolhatunk" [RFC 3410]. Termszetesen az SNMPv3-ban az SNMPv2-hz kpest mshol is trtnt vltoztats, m a legtbb mdosts az adminisztrci s biztonsg terletn ment vgbe. Az SNMPv3-on belli biztonsg kzponti szerepe klnsen fontos, mivel a megfelel biztonsg hinya miatt az SNMP-t elsdlegesen megfigyelsre hasznltk, nem pedig vezrlsre (pldul a SetRequest ritkn hasznlt zenet az SNiVlPvl-ben). Az SNMP hrom verzin keresztl fejldtt, a funkcionalitsa megntt, ezzel egytt az SNMP-vel kapcsolatos dokumentci is. Ezt tmasztja al az is, hogy mg most is ltezik egy olyan RFC [RFC 3411], amely egy SNMP hlzatfelgyeleti keretrendszer lerst definilja! Br egy keretrendszer definilsra ksztett architektra tlete nehezen felfoghat, az RFC 3411 clja rtkelend - olyan kzs nyelv bevezetse, amellyel egy SNMPv3 gynk vagy felgyel entits funkcionalitst s tevkenysgeit lerhatjuk. Az SNMPv3 entitsnak architektrja nem tl bonyolult, egy bemutat tra megszilrdta n az SNMP-rl szerzett eddigi tudsunkat. Az gynevezett SNMP-alkalmazsok tartalmaznak egy parancsgenertort, rtestsfogadt s helyettest tovbbtt (amelyek kzl mindegyik megtallhat egy ltalnos felgyel entitsban); egy parancsmegvlaszolt s egy rtestskezdemnyezt (mindkett megtallhat egy ltalnos gynkben); s egyb lehetsges alkalmazsokat. A parancsgenertor ltrehozza a GetRequest, GetNextRequest, GetBulkRequest s SetRequest PDU-kat, amelyeket a 9.3.3. alfejezetben megvizsgltunk, s kezeli az ezekre rkezett vlaszokat. A parancsmegvlaszol az gynkben fut, s fogadja, feldolgozza a vett GetRequest, GetNextRequest, GetBulkRequest s SetRequest PDU-kat, s vlaszol rjuk (a Response zenet segtsgvel). Az gynk rtestskezdemnyez alkalmazsa Trap PDU-kat llt el; ezeket a PDU-kat vgl a felgyel entitsnl egy rtestsvev fogadja s dolgozza fel. A helyettest tovbbt alkalmazs a krseket, az rtestseket s a vlasz PDU-kat tovbbtja.

Valamely SNMP-alkalmazs ltal kldtt PDU a kvetkez lpsben az SNMP-,,motoron halad keresztl, mieltt a megfelel szlltsi protokoll fel tovbbtdik. A 9.5. bra mutatja, hogyan lp be egy parancsgenertor alkalmazs ltal ltrehozott PDU a kld modulba, ahol az SNMP-verzit megllaptjk. A PDU-t ezutn feldolgozzk az zenetfeldolgoz rendszerben, ahol a PDU-t becsomagoljk egy zenet fejrszbe, amely tartalmazza az SKMP-verziszmot, az zenet azonostjt s informcit az zenet mretrl. Abban az esetben, ha titkosts vagy hitelests szksges, a megfelel fejrszmezket is mellkelik; tovbbi rszletekrt lsd [RFC 3411]. Vgl az SNMP-zenet (az alkalmazs ltal ellltott PDU s a hozzadott fejlcinformci) a megfelel szlltsi protokollhoz kerl. Az SNMP hordozsra az ajnlott szlltsi protokoll az UDP (ami azt jelenti, hogy az SNiMP-zenetck az UDP-csomag adatmezjben vannak), az ajnlott portszm pedig a 161. A 162-es portszm a csapdazenetek szmra hasznland. Korbban lttuk, hogy az SNMP-zeneteket nem csupn megfigyelsre hasznlhatjuk, hanem a hlzati elemek vezrlsre is (pldul a SetRequest zenet sesgtsgvel). Nyilvnval, hogy abban az esetben, ha egy betr SNMPzenetcket fog el s/vagy sajt SNMP-csomagokat kld a felgyeleti infrastruktrba, nagy puszttst vgezhet a hlzatban. Ezrt ltfontossg az SNMP-zenetek biztonsgos tvitele. Meglep mdon a biztonsg csupn az SNMP legjabb verzijban kapja meg az t megillet figyelmet. Az SNMPv3-biztonsgot felhasznlalap biztonsgnak (user-based security) is nevez zk, mivel hagyomnyos felhasznli szemlletet tkrz, ahol a felhasznlt egy nvvel azonostjk, amelyhez olyan biztonsgi informcik vannak hozzrendelve, mint pldul
Parancs genertor Helyettest tovbbt

SNMPalkalmazsok

Parancs genertor

rtestskezdemnyez

PDU Biztonsg

---------V:________
Elklds zenetfeldolgoz rendszer Idbelisg, hitelests, titkosts Hozzfrs vezrls

SNMPmotor

r-----------

Biztonsgi/zenetfejlc PDU

216

9. HIZATFEUJGYELET

jelsz, kulcsrtk vagy hozzfrsi jogosultsgok. Az SNMPv3 titkostst, hitelestst s vdekezst biztost a visszajtszsi tmadsok (lsd 8.4.alfejezet) s hozz frs-vezrlsi tmadsok ellen.

Titkosts. Az SNMP PDU-kat rejtjellncols (Cipher Block Chaining, CRC)

mdban hasznlt adattitkost szabvnnyal (dat encryption standard, DES) lehet titkostani. Mivel a DES kzs kulcsot hasznl rendszer, a felhasznli adattitkosts titkos kulcsa ismert kell legyen a vev entits szmra, amelynek az adatot vissza kell fejteni. Hitelests. Az SNMP vegyti a 8.3. alfejezetben ltott MD5-algoritmust s a hozz hasonl hash fggvnyeket a titkoskulcs-rtkek hasznlatval annak rdekben, hogy mind hitelestst, mind pedig meghamistselleni vdelmet nyjtson. Ahashelt zenethitelest kdok (Hashed Message Authentication Codes, HMAC) [RFC 2104] nven ismert megolds felptst tekintve egyszer. Tegyk fel, hogy az ad rendelkezik egy m SNMP PDU-val, amelyet el akar kldeni a vevnek. Lehet, hogy ez a PDU mr titkostva van. Tegyk fel tovbb, hogy az ad s a vev is ismer egy K titkos kulcsot, amelynek nem felttlenl kell megegyeznie a titkostshoz hasznlt kulccsal. Az ad elkldi az ni zenetet a vevhz. Egy egyszer zenetpecst vagy AC(w) zenet in tegritsi kd (Message Intergrity Code, MIC) kldse helyett, amelyet az m-re szmolnak ki az zenet megvltoztatsa elleni vdelem rdekben, az ad a kzs titkos kulcsot hozzfzi m-hez s kiszmt egy MIC(m) MIC rtket a PDU s kulcs egyttesre. Ezutn a MIC(ni,K) rtket (a titkos kulcs nlkli) kldi el az ni zenettel egytt. A vev az m megrkezsekor hozzfzi a K titkos kulcsot, s kiszmolja M1C(mtK)-1 . Abban az esetben, ha ez a kiszmolt rtk az tkldtt MIC{m,K) rtkkel megegyezik, akkor a vev nem csupn azt tudja megllaptani, hogy az zenetet nem mdostottk, hanem azt is tudja, hogy az zenetet olyan valaki kldte, aki ismeri K rtkt, teht a msik fl megbzhat, s most mr az ad hitelestett lett. A gyakorlatban a HMAC a tnyleges hozzfzs-s-hashels mveletet ktszer vgzi el, enyhn eltr kulcsot hasznlva a kt esetben (tovbbi rszletekrt lsd [RFC 2104|). Visszajtszs elleni vdelem. Idzzk fel a 8 . fejezetet, miszerint a visszajtszsos tmadsok elleni vdekezsre egyszer hasznlatos szmokat, kitzket (nonce) hasznlhatunk. Az SNMPv3 hasonl megkzeltst alkalmaz. Annak biztostsa rdekben, hogy a megrkezett zenet ne lehessen egy korbbi zenet megismtlse, a vevnek szksge van arra, hogy az ad olyan rtkel mellkeljen minden zenethez, amely egy vevoldali szmlln alapul. Ez a kitzknt szolgl szmll a vev hlzatfelgyeleti szoftvernek legutols jraindtstl eltelt idi s az utols konfigurlsa ta trtnt sszes jraindts szmt tkrzi. Addig, amg a berkezett zenet szmllja a vev aktulis rtkhez viszonytva egy hibahatron bell van, az zenetet nem megismtelt zenetknt fogadja el, ami utn hitelesteni s/vagy visszafejteni tudja. Tovbbi rszletekrt lsd [RFC 3414). Hozzfrs-vezrls. Az SNMPv3 nzetalap hozzfrs-vezrlst [RFC 3415) biztost, amely vezrli, hogy mely hlzatfelgyeleti informcit mely felhasznl tud lekrdezni s/vagy mdostani. Az SNMP entits a hozzfrsi jogokat s szablyokai a helyi konfigurcis adattrban (Local Configuration LCD) trolja. Az LCD egyes rszei elrhetk felgyelt 9.5. Datastore, bra. Az SNMPv3-motor s SNMP-alkalmazsok

9.3. AZ

INTERNETSZABVNYOS HLZAT FELGYELETI KERETRENDSZER

217

objektumokknt, amelyeket a nzetalap hozzfrs vezrlsi modellkonfigurci (View-based Access Control Model Configuration) MIB [RFC 3415] definil, ezrt SNMP-n keresztl tvolrl is felgyelhetk s mdost hatk.

218

9. HI.ZATFLLGYLLET

Hvek n gyaklalbln

Sok szz (st ezer) hlzatfelgyeleti termk rhet cl napjainkban, mind magban foglalja bi zonyos mrtkig a fejezetben bemutatott hlzatfelgyeleti tevkenysgek s az SNMP alapjait. Ezen termkek ttekintse tlmutat e knyv keretein, s (biztosan) az olvas rdekldsi krn is. Ezrt itt csupn nhny kiemelked termk elrhetsgt adjuk meg. A hlzat felgyelet teljes ttekintshez egy j kiindulsi pontot jelent a [Subramanian 2000] 12. fejezete. A hlzatfelgyeleti eszkzket kt rszre oszthatjuk. A hlzati eszkzk beszllti ltal kszteti eszkzk az egyes gyrtk sajt beredezseinek felgyeletre specializldnak, mg a msik csoport heterogn berendezsekbl ll hlzatok felgyelett clozza meg. A gyrtspecifikus megoldsok kzlt van a Cisco Nctwork Application Performance Analysis (NAPA) csomagja, amely a Cisco-eszkzkre pl hlzatfclgyeletet vgzi (Cisco NAPA 2007]. A Lucent s a Juniper operatv munkt tmogat informcirendszereket (operation support system, OSS) biztost a hlzati hozzfrsek s SLA/QoS szmra [Lucent 2006]. A heterogn hlzatokat felgyel npszer eszkzk kztt van a Hewlett-Packard OpenView lOpenView 2007] termke, az Aprisma Spectrum [Aprisma 2007] termke, valamint a Sun Solstice hlzatfelgyeleti rendszere [Sun 2007]. Mindhrom elosztott architektrj rendszer, amelyben tbb kiszolgl gyjti be a hlzatfelgyeleti informcikat a sajt felgyelt krze tbl. A hlzatfelgyeleti lloms ezutn ezektl a kiszolglktl tudja megszerezni az ered mnyeket, megjelenteni az informcikat s a tevkenysgeket irnytani. Mindhrom termk tmogatja az SNMP s a CMIP protokollt, s automatizlt tmogatst nyjt esemny/riaszts korrelcikhoz.

9.4. ASN.1
A knyvben a szmtgpes hlzatok szmos rdekes tmakrt emltettk. Ez az alfcje- zet azonban, amely az ASN.l-rol szl, biztosan nem lesz a tz legrdekesebb tma kztt. Ugyangy, mint a zldsgek, az ASN.l s az ennl tgabb megjelentsi szolgltatsrl szl ismeretek is csupn olyanok, amelyek hasznosak szmunkra. Az ASN.l egy, az ISO ltal ksztett szabvny, amelyet szmos internethez kapcsold protokoll tartalmaz, klnsen a hlzatfelgyelet terletn. A 9.3. alfejezetben pldul lttuk, hogy az SNMP MIB-vltozi kibogozhatatlanul ktdnek az ASN.l-hez. Annak ellenre teht, hogy a fe jezetben lv ASN.l-rl szl anyagrsz elg szraz, remljk, hogy az Olvas elhiszi ne knk, hogy igenis fontos! Azrt, hogy a lersunkat rdekesebb tegyk, kpzeljk el a kvetkez kitallt ksrletet. Tegyk fel, hogy megbzhat mdon msolhatunk adatokat az egyik szmtgp memrijbl kzvetlenl egy msik, tvoli szmtgp memrijba. Megoldan-e ez a kommunikcis problmt, ha ezt megtehetnnk? A vlasz attl fgg, hogy milyen mdon definiljuk a kommunikcis problmt. Termszetesen tkletes memri- bl-memriba msols hibtlanul vinn t a biteket s bjtokat az egyik gprl a msikra. A bitek s bjtok ilyen tkletes msolsa valban azt jelenti-e, hogy amikor a vevoldali szmtgpen fut alkalmazs hozzfr ezekhez az adatokhoz, ugyanazokat az rtkeket ltja, mint amelyek a kld szmtgp memrijban voltak trolva? A krdsre a vlasz:

9.3. AZ

INTERNETSZABVNYOS HLZAT FELGYELETI KERETRENDSZER

219

nem szksgszeren! A problma nehzsge abban rejlik, hogy a klnbz szmt- gp-architektrk, opercis rendszerek s fordtk klnbz elveket alkalmaznak az adatok trolsra s megjelentsre. Abban az esetben, ha tbb szmtgp kztt szeret-

220

9. HIZATFEUJGYELET

ncnk adatokat tvinni s trolni (ahogyan ez minden tvkzlsi hlzatban meg is trtnik), akkor ezt a problmt nyilvnvalan meg kell oldani. Pldaknt tekintsk a kvetkez egyszer C kdrszletet. Hogyan rendezdik el ez a szerkezetet a memriban?

struct { char code; int x; } test; test.x = 259; test.code = 'a';


A 9.6. bra bal oldaln ennek az adatnak az elrendezse lthat egy felttelezett szmtgp architektrban: a memria egyetlen bjtja trolja az a karaktert, ezt kveti a 259-es integer rtket trol 16 bites sz, a legnagyobb helyirtk bittel az els helyen. A msik szmtgp esetn az elrendezst az bra jobb oldala mutatja. Az a karaktert az integer rtek kveti a legkisebb helyirtk bittel az els helyen, a 16 bites integer kezdpoz cija pedig egy 16 bites szhatrhoz van igaztva. Termszetesen, ha sz szerinti msolst vgeznnk a kt szmtgp memrija kztt, s ugyanazt a meghatrozott szerkezetet hasznlnnk a trolt rtkek kiolvassakor, nagy klnbsget ltnnk a kt szmtgpen kiolvasott rtkek kztt! Az a tny, hogy eltr architektrk esetn klnbzek a bels adatformtumok, vals s that problma. Az integer klnbz architektrn trtn trolsnak problmja annyira htkznapi, hogy sajt neve van. A nagy a vgn (big-endian) integer trolsi sorrend a legnagyobb helyrtk bitet trolja legell (a legkisebb trolsi cmen). A kicsi a vgn (little-endian) trolsi sorrend a legkisebb helyrtk bitet trolja legell. A Sun SPARC- s a Motorola-processzorok nagy a vgn trolsi mdot hasznlnak, az IN TEL- s a DEC/Compaq Alpha-processzorok pedig kicsi a vegn mdszert. Mellkesen megemltjk, hogy a nagy a vgn s a kicsi a vgn fogalmak Jonathan Swift Gulliver Utazsai cm knyvbl szrmaznak, mivel a knyvben kt csoport egy egyszer dolgot kt eltr mdon akart megoldani (remljk a szmtgpes architektrkra vonatkoz analgia mindenkinek rthet). Lilliput orszgban az egyik csoport ragaszkodott ahhoz, hogy a tojst a nagyobb vgn trje fel (anagy a vgn mdszerhez ragaszkodk), a msik csoport ezzel szemben ragaszkodott ahhoz, hogy a kisebb vgn kell feltrni. Ez az ellentt volt a polgrhbor s a

9.5. bra. Az SNMPv3-motor s SNMP-alkalmazsok

9.3. AZ

INTERNETSZABVNYOS HLZAT FELGYELETI KERETRENDSZER

221

lzads oka. Tudva azt, hogy a klnbz szmtgpek eltr mdon troljk s jelentik meg az adatokat, hogyan tudnak a hlzati protokollok ezzel a problmval megkzdeni? Abban az esetben pldul, ha egy SNMP-igynk egy olyan Response
Lest.code
zest.

test.code

00000001 zenetet kszl elkldeni,

00000011

.est. x

00000011

222

9. HIZATFEUJGYELET

amely a vett UDP-adatcsomagok szmt jelz integer szmllt tartalmaz, milyen megjelentsi formban kldje azt el a felgyel entitsnak - nagy a vgn vagy kicsi a vgn mdon? Az gynk egyik megoldsa az lehetne, hogy a bjtokat olyan sorrendben kldi, ahogyan a felgyel entits azokat trolja. A msik lehetsges megolds pedig, hogy a sajt trolsi sorrendjben kldi el, s majd a vev entits rendezi a bjtokat a neki megfelel sorrendbe. Mindkt megolds esetben igaz, hogy az egyik flnek ismernie kell a msik integer brzolsi formtumt. Egy harmadik megolds egy szmtgp-fggetlen, OS*fggetlen, nyelvfggetlen eljrs az integer s egyb adattpusok lersra (azaz egy adatler nyelv), s olyan szablyok ltrehozsa, amelyek az adattpusok hlzati tvitelnek mdjt jellemzik. Amikor egy adott tpus adat megrkezik, akkor ismert formtumban rkezik meg, gy brmilyen szksges szmtgp-specifikus formban lehet trolni. Mind az SMI - amelyet a 9.3. alfejezetben tanulmnyoztunk mind az ASN.l ezt a harmadik megoldst alkalmazza. ISO-termi- nolgit hasznlva azt mondjuk, hogy ez kt szabvny egy megjelentsi szolgltatst (presentation service) r le az informci egyik gpspecifikus formtumrl a msikra trtn tvitelt s talaktst vgz szolgltatst. A 9.7. bra egy vals vilgbl szrmaz megjelentsi problmt mutat be; egyik vev sem rti az elmondott szveg

Nagymama

reged hippi a 60as vekbl

Tindzser 2007-bl

mgtti vals tartalmat - azt, hogy a beszl szeret valamit. Ahogy a 9.8. bra is mutatja, a megjelen-

-n ,..

Klassz

9.5. bra. Az SNMPv3-motor s SNMP-alkalmazsok

9.3. AZ

INTERNETSZABVNYOS HLZAT FELGYELETI KERETRENDSZER

223

9.7. bra. A megjelentsi problma


Ez kellemes

Megjelensi szolglat

Megjelensi szolglat

Megjelensi szolglat

| Klassz Remek

Nagymama

reged a 60-as vekbl

hippi

Tindzser 2007-bl

9.8. bra. A megjelentsi problma megoldsa

tsi szolglat megoldja a problmt azltal, hogy a tartalmat lefordtja egy mindenki ltal rthet, szemlyfggetlen nyelvre, ezt elkldi a vevnek, az pedig visszaalaktja az ltala megrthet nyelvre. A 9.5. tblzat nhny ASN.l adattpust tntet fel. Idzzk fel az INTEGER, OCTET STRING s OBJECT IDENTIFIER adattpusokat, amelyekkel korbban az SMI trgyalsnl tallkoztunk. Mivel jelenleg nem clunk (szerencsre) az ASN.l teljes lerst adni, az ASN.l adattpusok s szerkezetek - pldul a SEQUENCE s SET szerkezetek, amelyek strukturlt adattpusok definilst teszik lehetv rszletes bemutatshoz ajnljuk a szabvnyokat vagy a nyomtatott, illetve online knyveket [l.armouth 1996).

9.5. tblzat. Kivlasztott ASN.l adattpusok


Cmke 1 Tpus BOOLEAN INTEGER BITSTRING OCTET STRING NULL OBJECT INDENTIFIER 6 Lers igaz" vagy hamis" rtk Tetszlegesen nagy lehet Egy vagy tbb bit listja Egy vagy tbb bjt listja rtk nlkl Az ASN.l szabvnyban lv elnevezsi fa szerinti nv; lsd 9.2.2. alfejezet Lebegpont

2 3
4

REL

Amellett, hogy az ASN.l egy adatler nyelvet szolgltat, alapvet kdolsi szablyokat (Basic Encoding Rules, BR) is biztost, amelyek meghatrozzk, hogy az ASN.l adatler nyelvvel definilt objektumok pldnyait hogyan kell tvinni a hlzaton. A BR az gynevezett tpus, hossz, rtk (Type, Length, Value, TLV) megkzeltst hasznlja a kdolt adat tvitelre. Minden kldeni kvnt adatelem esetn az adattpust, az adatelem hosszt s az aktulis rtkt kell elkldeni, ebben a sorrendben. Ennek az egyszer konvencinak a betartsval a vett adat alapveten sajt magt azonostja. A 9.9. bra bemutatja, hogy egy egyszer plda esetn a kt adatelemet hogyan kell elkldeni. A pldban az ad a smith karakterlncot akarja elkldeni, majd a 259 rtk decimlis szmot (amely 00000001 00000011 binris szmnak vagy egy 1 rtk s egy 3 rtk bjtnak felel meg), nagy a vgen mdot felttelezve. Az adatfolyam els elkldtt bjtjnak rtke 4, jelezve, hogy a kvetkez adatelem tpusa OCTET STRING; ez jelenti a T-t a TLV-kdolsban. A folyam msodik bjtja az OCTET STRING hosszt mutatja, esetnkben 5-t. A harmadik bjt az tvitt adatfolyamban az 5 hossz OCTET STRIN- GET kezdi meg; az s bet ASCII-reprezentcijt tartalmazza. A kvetkez adatelem T, L s V rtkei 2 (az INTEGER tpus jellsnek rtke), 2 (azaz 2 bjt hossz integer) s a 2 bjtos nagy a vgn reprezentcija a 259 rtk decimlis szmnak. Az elbbi lersunkban az ASN.l csupn egy kisebb s egyszerbb rszt

rintettk. Az ASN.l-gycl bvebben foglalkoz anyagok kz tartoznak az ASN.l szabvny dokumentumai (ISO 1987; ISO X.680 1998], az online OSI-vel foglalkoz knyv [Larmouth 1996] s az ASN.l-hez kapcsold weboldalak, az [OSS 2007) s a [Franc Telecom 2006] anyagok.

lastname OCTET STRING weight INTEGER


ASN.1-ben irt adattpus deklarcik modulja

{weight, 259} {lastname, "smith"} A modulban specifiklt

adattpusok pldnyai

Alapvet kdolsi szablyok (BR) 3

1
2

2
h tvitt bjtfolyam

i
m s 5 4

9.9. bra. Plda a BER-kdolsra

9.5. Kvetkeztetsek
A hlzat felgyeleti tanulmnyaink s az egsz hlzati tmakr vgre rtnk! Ebben a hlzat felgyeletrl szl utols fejezetben elszr azzal kezdtnk foglalkozni, mirt is szksges megfelel eszkzket biztostani a hlzati rendszergazdnak - annak a szemlynek, akinek a feladata a hlzat egszsges mkdsnek biztostsa -, hogy a hlzat mkdst figyelni, tesztelni, lekrdezni, konfigurlni, elemezni, kirtkelni s vezrelni tudja. Az ermvek, replgpek s vllalatokhoz hasonl komplex rendsze rek analgija volt segtsgnkre, hogy ennek lerst rdekesebb tegyk. Lttuk, hogy a hlzatfelgyeleti architektra t kulcselem kr ptkezik: (l) egy hlzat felgyel, ( 2 ) (hlzatfelgyeltl) tvoli felgyelt kszlkek, (3) a felgyelt kszlkeknl lv hlzatfelgyeleti adatbzis (MIB), amelyek a kszlkek llapotrl s mkdsrl hordoznak adatokat, (4) tvoli gynkk, amelyek MIB-informcikat tovbbtanak, valamint a hlzat felgyel irnytsa mellett utastsokat hajtanak

vgre, vgl pedig (5) a hlzatfelgyel kommunikcira szolgl protokoll.

tvoli

kszlkek

kztti

Ezutn melyebbre stunk az internetszabvnyos hlzat felgyeleti keretrendszerben (Internet-Standard Management Framework), klnskppen a SNMP protokoll tekintetben. Lttuk, hogyan valstja meg az SNMP a hlzatfelgyeleti architektra t kulcselemt, s tbb idt tltttnk az MIBobjektumok, az SMI adatler nyelv vizsglatval, amellyel specifiklhatok az MIBobjektumok, s maga az SNMP protokoll. Mikzben hangslyoztuk, hogy az SMI s az ASN.l kibogozhatatlanul sszefondik, s hogy az ASN.l kulcsszerepet jtszik az ISO/OSI htrteg hivatkozsi modelljnek megjelentsi rtegben, rviden tnztk az ASN.l-et. Az ASN.l rszleteinl taln fontosabb volt az a megllapts, hogy a hlzat klnbz szmtgpeinek adatformtumai kztt szk sg van fordtsra. Amg nhny hlzati architektra elfogadja ennek a szolgltatsnak a fontossgt azltal, hogy rendelkezik megjelentsi rteggel, addig az intemetprotokoll verembl ez a szolglat hinyzik. rdemes azt is megemlteni, hogy a hlzatfelgyelet szmos tmakrt nem szndkoztuk bemutatni - olyan tmkat, mint a hibaazonosts s -kezels, proaktv anomliaszlels, riasztskorrelci s a szolgltatsfelgyelet tgabb krdsei. Amellett hogy fontosak, ezek a tmk egy maguk megtltennek egy kln knyvet, gy az Olvas figyelmbe ajnljuk a 9.1. alfejezetben lert hivatkozsokat.

Krdsek_______________________________________________
9.1. al fejezet

KI. Mirt elnysek a hlzatfelgyel szmra a hlzatfelgyeleti eszkzk? Mutasson be t forgatknyvet. K 2 . Mi az ISO ltal meghatrozott t hlzatfelgyeleti terlet? K3. Mi a klnbsg a hlzatfelgyelet s a szolglat felgyelet kztt? 9.2. a 1 fejezet

K4. Definilja a kvetkez fogalmakat: felgyel entits, felgyelt kszlk, felgyel gynk, MIB, hlzatfelgyeleti protokoll. 9.3. al fejezet

K5. Mi az SMI szerepe a hlzat felgyeletben? K 6 . Mi a krs-vlasz zenet s a csapdazenet kztti fontos klnbsg az SNM P esetn? K7. Sorolja fel a ht SNMP-zenettpust! K 8 . Mit rtnk SNMP-motor alatt? 9.4. alfejezet

K9. Mi az ASN.l objektumazonost fa clja? K10. Mi az ASN.l szerepe az ISO/OSI hivatkozsi modell megjelentsi rtegben?

Kll. Rendelkezik-e az internet megjelentsi rteggel? Ha nem, hogyan kszblik ki a szmtgp-architektrk kzti klnbsget - pldul az eltr integer megjelentst a klnbz gpeken? K12. Mit rtnk TLV-kdols alatt?

Feladatok
FI. Tekintsk a felgyel entits s a felgyelt kszlk kztti kommunikci kl mdjt: krs-vlasz s csapdzs. Mik a kt md elnyei s htrnyai a (1) tbblet- terhels (overhead), a ( 2 ) kivteles esemny bekvetkezsekor fellp rtestsi id s a (3) felgyel entits s a kszlk kztt elveszett zenetek szerinti robusztussg tekintetben? F2. A 9.3. alfejezetben lttuk, hogy a SNMP tvitelre a nem megbzhat UDP ajnlott. Mit gondol, az SNMP tervezi mirt az UDP-t vlasztottk a TCP helyett az SNMP szlltsi protokoljaknt? F3. Mi az ASN.l objektumazonost az 1CMP protokoll esetn (lsd 9.3. alfejezet)? F4. Tegyk fel, hogy egy egyeslt llamokbeli vllalatnak dolgozunk, amely a sajt MIB-jt szeretn kifejleszteni termksornak felgyeletre. Hol lenne ez nyilvntartva az objektumazonost fban (9.3. alfejezet)? (Tipp: A krds megvlaszolshoz az RFC-kben kell mlyebbre sni.) F5. Emlkezznk, hogy a 9.3.2. alfejezet szerint egy magncg (vllalat) az 1.3.6.1.4.1. privt elgazs alatt hozhatja ltre a sajt MIB-vltozit. Tegyk fel, hogy a Netscape Corp. szeretn ltrehozni sajt MIB-vltozit webkszolglja szmra. Mi lesz a kvetkez OID-minst az 1.3.6.1.4.1 utn? (A krds megvlaszolshoz az [IANA 2007b] anyag tnzse szksges.) Megnzend a vveben, hogy ltezik-e ilyen M1B valamely Netscape Ser veihez. F 6 . Tekintsk a 9.9. brt. Mi lenne a {weight, 276} {lastname, Jlia"} BR kdolt vltozata? F7. Tekintsk a 9.9. brt. Mi lenne a {weight, 160} {lastname, Child"} BR kdolt vltozata?

Gondolkodtat krdsek
Gl. Az ermtl s a replgp piltaflkjtl eltekintve, milyen analgit tud mondani egy felgyelni kvnt sszetett elosztott rendszerre? G2. Tekintsk a 9.1. alfejezet motivl forgatknyvt! Mit gondol, milyen ms tevkenysgeket kell mg egy hlzati rendszergazdnak ellenriznie? Mirt? G3. Olvassa el az RFC 789 ajnlst! Hogyan lehetett volna az ARPAnet 1980-as sszeomlst elkerlni (vagy a helyrelltst egyszerbb tenni), ha az ARPAnet felgyeli rendelkeztek volna a mai hlzatfelgyeleti eszkzkkel?

Vlaszol

Jeff Case
jeli Case a SNMP Research, Inc. alapitja s vezel technikusa. A cg a hlzatfelgyelettel foglalkoz internetszabvnyok s szabvnyalap termkek vezet gyrtja, jekt BSC diplomt (ipari s villamosmrnki techno lgia) s kt MSC diplomt (ipari s villamosmrnki) szerzett a Purdue University intzmnyben. A PhD fokozatt mszaki oktatsban szerezte az University of llliois, Urbana-Champaign intzmnyben. Mirt dnttt gy, hocjy a hlzatokra szakosodik? Kisgyermek korom ta lenygz mindenfle dolgok sz- szerakosgatsa, mr akkor is tket dugdostam a konnektorokba. Ez tindzser koromra tovbbfejldtt, akkor az audioberendezsek rdekeltek olyan hangrendszereket raktam ssze rockegytteseknek, amelyek a betont is sztzztk. A fiskola mellett televzi- s rdiszerelknt dolgoztam (fleg audioberendezsekkel), a szmtgp bogara is megcspett, rdekelt minden olyan dolog, ami digitlis, legyen az akr szmtgphardver, akr -szoftver. Elkezdett rdekelni az, hogy mindenfle furcsa cuccot msfajta furcsa cuccok kai kssek ssze. Elszr perifrikat kapcsoltam processzorokhoz. Ksbb klnfle rendszereket ktttem ssze. A hlzat a legfbb csatol. Manapsg az internet a legfbb hlzat. Mi volt az els munkja a szmitgpes iparban? Mit eredmnyezett? Az els szakmai veimet a Purdue Universityn tltttem. Egyik-msik alkalommal a tanterv majdnem minden kurzust tantottam villamosmrnki s szmtgpmrnki hallgatknak. Ebbe beletartozott a mikroprocesszor hardveres s szoftveres tmihoz kapcsold j kurzusok ltrehozsa. Egy szemeszter alatt az osztlynak chipekbl meg kellett terveznie egy szmtgpet, a laboratriumi gyakorlatokon pedig meg kellett ptenie gy, hogy egyik csapat csinlta a CPU-t, egy msik a

memria alrendszert, megint egy msik az I/O alrendszer s gy tovbb. A kvetkez szemeszterben a megptett hardverhez el kellett kszteni a szoftvert. Ebben az idben kezdtem vezet szerepben dolgozni az egyetem informatikai rendszernl mint az egyetem szmtgpes felhasznli szmra nyjtott szolgltatsi rszleg vezetje. Mi a legnagyobb kihvst nyjt rcsze a munkjnak? A mszaki s az zleti vltozsok napraksz kvetse. Mszaki vezet vagyok, s egyre nehezebb napraksznek maradni a szakmnkban vgbemen mszaki fejlds mellett. A szerepem miatt az zleti terlet vltozsait is nyomon kell kvetnem, pldul a vllalategyeslseket s -felvsrlsokat is.

Milyen jvt lt a hlzatok cs az internet szmra? Mindenbl tbbet, tbbet s tbbet. Nagyobb sebessg. Nagyobb trhdts. Tbb tartalom. Nagyobb feszltsg az anarchia s a szervezettsg kztt. Tbb spam. Tbb spamel- lenessg. Tbb biztonsgi problma. Tbb biztonsgi megolds. Vgl pedig szmtanunk kell vratlan dolgokra is. Kik inspirltk szakmailag? Nhai apm, aki sikeres zletember volt; Dillbert; Dr. Vint Cerf, Dr. John Postel, Dr. Marsh Rose s Chuck Davin, akik jl ismert alakok az internetes iparban; Bili Seifert, jelenlegi VC-partnerem; Dr. Rupert Evans, a disszertcim professzora; a felesgem, aki egytt dolgozik velem az zleti letben; s vgl, de nem utols sorban, Jzus. gy olvastam, hogy rengeteg kzmondst tud. Amikor CS professzor volt, mondott ilyeneket a hallgatinak? Egy plda felr kt knyvvel (taln Gausstl). Nha rs van az elmlet s a gyakorlat kztt. Az elmlet s gyakorlat kztti elmleti rs nem olyan nagy, mint az elmlet s gyakorlat kztti gyakorlati rs. (Fogalmam sincs honnan ered ez a monds.) Mik a legnagyobb akadlyok az internetszabvnyok ltrehozsakor? Pnz. Politika. nteltsg. Vezetsgi hibk. Mi volt az SMMP eddigi legmeglepbb alkalmazsa? Mindegyik. Az internetfelgyelettel tnyleg csak a sajt tllsem miatt kerltem kapcsolatba. Szksgem volt nhny tisztessges eszkzre a cgem hlzati infrastruktrjnak felgyelethez. A szles kr felhasznls, ami abbl eredt, hogy sok ms embernek is hasonl problmkat kellett megoldania, tehetsg, szerencse s sok-sok kemny munka eredmnye.

Irodalomjegyzk

URL-ekkel kapcsolatos megjegyzs. Az albbi hivatkozsokban megadjuk a weboldalak, csak weben elrhet dokumentumok s ms olyan anyagok URL-jt, amelyeket konferenciakiadvny vagy folyirat nem kzl (termszetesen csak akkor, ha sikerlt megtudnunk az ilyen anyagok URL-jt). E knyv korbbi kiadsaival ellenttben, most nem kzljk a konferencia- s folyirat-publikcik URL-jt, mivel ezek a dokumentumok keresgpek segtsgvel rendszerint letlthetk a konferencia weblapjrl (pldul minden ACM Sigcomm konferencia s workshop dolgozata elrhet a http://www.acm.org/ sigcomm weblapon

keresztl), vagy egy digitlis knyvtri elfizetsen keresztl. Jl lehet az sszes, albb megadott URL rvnyes volt 2006. decemberben (ellenriztk!), bizonyos URL-ek megvltozhattak azta. Krjk, hogy a bibliogrfia frisstse rdekben figyelje a knyv on-line vltozatt. RFC-kke! kapcsolatos megjegyzs: Internet RFC-k msolati pldnyai sok helyrl beszerezhetk. Az Internet Society RFC szerkesztsge (az a testlet, amely tnzi az RFC-ket) fenntart egy honlapot: http://www.rfc-editor.org . Ezen a honlapon az RFC-k kereshetk cm szerint, szm szerint vagy szerz szerint, s brmely felsorolt RFC-k frisstsei is lthatk. Az Internet RFC-k frissthetk vagy rvnytelenthetk ksbbi RFC-kkel. Kedvenc honlapunk, ahonnan az RFC-ket levettk, az eredeti forrs: http:// www.rfc-editor.org .
[3Com Addressing 2007] 3Com Corp., White paper: Understanding IP addressing: Everything you ever wanted to know, http://www.3com.com/other/pdfs/infra/corpinfo/ en_US/501302.pdf [3GPP 2007] Third Generation Partnership Project homepage, http://www.3gpp.org/ [802.11 Security 2007] The Unofficial 802.11 Security Web Page, http://www.drizzle.com/~aboba/ I FEE/ [Abramson 1970] N. Abramson, The Aloha System Another Alternative for Computer Commu -

Proc. 1970 Fall Joint Computer Conference, AFIPS Conference, p. 37, 1970. [Abramson 19851 N. Abramson, Development of the Alohanet, EEE Transactions on Information Theory, Vol. IT-31, No. 3 (Mar. 1985), pp. 119-123.
nications, [Ahn I995J J. S. Ahn, P. B. Danzig, Z. Liu, Y. Yan, Experience with TCP Vegas: Emulation and Ex periment,

Proc. 1995 ACM SIGCOMM (Boston, MA, Aug. 1995), pp. 185-195.

[Akamai 2007] Akamai homepage, http://www.akamai.com . [Akella 2003] A. Akella, S. Seshan, A. Shaikh; An empirical Evaluation of Wide-area Internet

Proc. 2003 ACM Internet Measurement Conf (Miami FL, Nov. 2003). [Albitz 1993] P. Albitz, C. Liu, DNS and BIND, OReilly Sc Associates, Petaluma, CA, 1993.
Bottlenecks, [Alvestrand 1997] II. Alvestrand, Object Identifier Registry, http://www.alvestrand.no/harald/ objectid/top.html [Anderson 1995] I. B. Andersen, T. S. Rappaport, S. Yoshida, Propagation Measurements and Mo dels for Wireless Communications Channels, 42-49.

IEEE Communications Magazine, (Jan. 1995), pp.

[Appenzeller 2004] G. Appenzeller, I. Keslassy, N. McKeown, Sizing Router Buffers,

Proc. 2004

ACM SIGCOMM (Portland, OR, Aug. 2004).


[Aprisma 2007] Aprisma homepage, http://www.aprisma.com/ [ARIN 1996] ARIN, IP allocation report, ftp://rs.arin.net/netinfo/ip_network_allocations (Ash 1998] G. R. Ash,

Dynamic Routing in Telecommunications Networks, McGraw Hill, NY, NY, 1998.

[ASO-ICANN 2007] Ihe Address Supporting Organization home page, http://www.aso.icann.org (AT&T SLM 20061 AT8cT Business, AT&T Enterprise Hosting Services Service Guide, http:// www.att.com/abs/serviceguide/docs/eh_sg.pdf [Atheros 2006] Atheros Communications Inc. Atheros AR5006 WLAN Chipset Product Bulletins, http://www.atheros.com/pt/AR5006Bulletins.htm [Ayanoglu 1995] E. Ayanoglu, S. Paul, T. F. La Porta, K. K. Sabnani, R. I). Gitlin, AIRMAIL: A LinkLayer Protocol for Wireless Networks, Feb. 1995. [Bakre 1995] A. Bakre, B. R. Badrinath, I-TCP: Indirect TCP for Mobile Hosts,"

ACM ACM/Baltzer Wireless Networks Journal, 1: 47-60, Proc. 995 Int.

Conf. on Distributed Computing Systems (JCDCS), May 1995, pp. 136-143.


[Balakrishnan 19971 H. Balakrishnan, V. Padmanabhan, S. Seshan, R. Katz, A Comparison of Mechanisms for Improving TCI Performance Over Wireless Links,

IEEE/ACM Transactions on IEEE Transactions on Com-

Networking Vol. 5, No. 6 (Dec. 1997),


[Baran 1964] P. Baran, On Distributed Communication Networks,

munication Systems, Mar. 1964. Rand Corporation Technical report with the same title
(Memorandum RM-3420-PR, 1964). http://www.rand.org/publications/RM/RM3420/ [Bardwell 2007] J. Bardwcll, You Believe You Understand What You Think I Said... The Truth About 802.11 Signal And Noise Metrics: A Discussion Clarifying Often-Misused 802.11 WLAN pdf? Terminologies, format=raw [Baset 2006] S. A. Basset, H. Schulzrinne, An analysis of the Skype peer-to-peer Internet Telephony Protocol, http://madwifi.org/attachment/wiki/UserDocs/RSSI/ you_beIieve_D100201.

Proc. 2006 IEEE Infocom (Barcelona, Spain, Apr. 2006).

[BBC 20011 BBC news online A Small Slice of Design, Apr. 2001, http://news.bbc.co.uk/2/hi/ scicncc/nature/1264205.stm [BBC Multicast 2007] BB, BBC Multicast Trial http://support.bbc.co.uk/multicast/ (Bender 2000J P. Bender, P. Black, M. Grob, R. Padovani, N. Sindhushayana, A. Viterbi, CDMA/ HDR: A bandwidth-efficient high-speed wireless data service for nomadic users, Vol.38, No. 7 (July 2000) pp.70-77. (Berners-Lee 1989] T. Berners-Lec, CERN, "Information Management: A Proposal, Mar. 1989, May 1990. http://www.w3.org/History/1989/proposal.html (Berners-Lee 1994] T. Berners-Lee, R. Cailliau, A. l.uotonen, II. Frystyk Nielsen, A. Secret, The World-Wide Web,

IEEE Commun. Mag.,

Communications of the ACM, Vol. 37, No. 8 (Aug. 1994), pp. 76-82. Data Networks, 2nd Ed., Prentice Hall, Englewood Communications of the ACM,

[Bernstein 2007] D. Bernstein, SYN Cookies, http://cr.yp.to/svncookies.html iBertsekas 1991] D. Bertsekas, R. Gallagher, Cliffs, NJ, 1991. IBhimani 1996| A. Bhimani: Securing the Commercial Internet, Vol. 39 No. 6 (Mar. 1996), pp. 29-35. [Biddle 2003] P. Biddle, P. England, M. Peinado, B. Willman, The Darknet and the Future of Con tent Distribution,

2002 ACM Workshop on Digital Rights Management, (Nov. 2002, Washington,

D.C.) http://crypto.stanford.edu/DRM2002/darknet5.doc [Biersack 1992) E. W. Biersack, Performance evaluation of forward error correction in ATM net works,

Proc. 1999 ACMSIGCOMM (Baltimore, MD, Aug. 1992), pp. 248-257. IEEE Communications

[HIND 2007] Internet Software Consortium page on BIND, http://www.isc.org/bind.html [Bisdikian 2001] C. Bisdikian, An Overview of the Bluetooth Wireless Technology,

Magazine, No. 12 (Dec. 2001), pp. 86-94. [Bishop 2003] M. Bishop, Computer Security: Art and Science, Boston: Addison Wesley, Boston
MA, 2003 [BilTorrent 2007] BitTorrent.org homepage, http://www.bittorrent.org [Black 1995) U. Black, ATM, Volume II: Signaling in Broadband Networks, Prentice Hall, 1997. [Blumenthal2001] M. Blumenthal, D. Clark, Rethinking the Design of the Internet: the End-to-end Arguments vs. the Brave New World, 70-109. [Bochman 1984] G. V. Bochmann, C. A. Sunshine, Formal methods in communication protocol

ATM

Volume I: Foundation for Broadband Networks, Prentice Hall, 1995. [Black 1997] U. Black,

ACM Transactions on Internet Technology, Vol. 1, No. I (August 2001) pp.

IEEE Transactions on Communications, Vol. 28, No. 4 (Apr. 1980), pp. 624-631. [Bolot 1994] J-C. Bolot, T. Turletti, A rate control scheme for packet video in the Internet, Proc. 1994 IEEE Infocom, pp. 1216-1223.
design, [Bolot 1996] J-C. Bolot, A. Vega-Garcia, Control Mechanisms for Packet Audio in the Internet,

Proc. 1996 IEEE Infocom, pp. 232-239. ftp://ftp-sop.inria.fr/rodeo/bolot/96.Audio_ctl.ps.gz [Bradner 1996J S. Bradner, A. Mankin, IPng: Internet Protocol Next Generation, AddisonWesley, Reading, MA, 1996. [Brakino 1995] L. Brakmo, L. Peterson, TCP Vegas: End to F.nd Congestion Avoidance on a Global Internet, Oct. 1995. [Breslau 2000| L. Breslau, E. Knightly, S. Shenkcr, 1. Stoica, H. Zhang, Endpoint Admission Cont rol: Architectural Issues and Performance,

IEEE Journal of Selected Areas in Communications, Vol. 13, No. 8, pp. 1465-1480,

Proc. 2000 ACM SIGCOMM (Stockholm, Sweden, Aug.

2000).
IBrodnik 1997) A. Brodnik, S. Carlsson, M. Dcgemark, S. Pink, Small Forwarding Tables for Fast

Proc. 1997 ACM SIGCOMM (Cannes, France, Oct. 1997), pp. 3-15. [Bush 1945] V. Bush, As We May 'Ihink, Vie Atlantic Monthly, July 1945. http://www.theatlantic .
Routing Lookups, com/unbound/flashbks/computer/bushf.htm [Byers 1998] J. Byers, M. Luby, M. Mitzenmachcr, A Rcge, A digital fountain approach to reliab le distribution of bulk data,

Proc. 1998 ACM SIGCOMM (Vancouver, Canada, Aug. 1998), pp. 56-67.

[Cablelabs 2007] CableLabs homepage, http://www.cablelabs.com [CacheLogic 2007) CacheLogic homepage, http://www.cachelogic.com [Caesar 2005] M. Caesar, J Rexford, BGP Routing Policies in ISP Networks,

IEEE Network Maga-

zine, vol. 19, no. 6 (Nov. 2005).


[Caldwell 2007] C. Caldwell, The Prime Pages, http://www.utm.edu/research/primcs/prove [Cardwell 2000] N. Cardwell, S. Savage, T. Anderson, Modeling TCP Latency,

Proc. 2000 IEEE

Infocom, (Tel-Aviv, Israel, Mar. 2000).


[CASA 2007| Center for Collaborative Adaptive Sensing of the Atmosphere, http://www.casa . umass.edu [Casner 1992] S. Casner, S. Deering, First IETF Internet Audiocast,

ACM SIGCOMM Computer

Communications Review, Vol. 22, No. 3 (July 1992), pp. 92-97.


[Ceiva 2007] Cciva homepage, http://www.ceiva.com/ [CENS 2007J Center for Embedded Network Sensing, http://www.cens.ucla.edu/ [Cerf 1974] V. Cerf, R. Kahn, A Protocol for Packet Network Interconnection,

IEEE Transactions

oil Communications Technology, Vol. COM-22, No. 5, pp. 627-641.


[CERT 2001-09] CERT, Advisory 2001-09: Statistical Weaknesses in TCP/IP Initial Sequence Numbers, http://www.cert.org/advisories/CA-2001-09.html [CERT 2003-04] CERT, "CERT Advisory CA-2003-04 MS-SQL Server Worm, http://www.cert . org/advisories/CA-2003-04.html [CERT 2007] CERT Coordination Center, http://www.cert.org/advisories [CERT Filtering 2007] CERT, Packet Filtering for Firewall Systems, http://www.cert.org/

tech_tips/packet_filtering.html [Cert SYN 1996] CERT, Advisory CA-96.21: TCP SYN Flooding and IP Spoofing Attacks." http:// www.cert.org/advisories/CA-1998-01.html [Chao 2001] H. J. Chao, C. Lam, E. Oki, Broadband Packet Switching Technologies - A Practical Guide to ATM Switches and IP Routers, John Wiley & Sons, 2001. JChen 2000] G. Chen, D. Kotz, A Survey of Context-Aware Mobile Computing Research, cs.dartmouth.edu/~dfk/papers/chen:survey-tr.pdf [Chen 2006] K.-T. Chen, C.-Y. Huang, P. Huang, C.-L. Lei, Quantifying Skype User Satisfaction,

Technical

Report TR2000-381, Dept, of Computer Science, Dartmouth College, Nov. 2000. http://www .

Proc. 2006 ACM S1GCOMM (Pisa, Italy, Sept. 2006).


[Cheswick 2000] B. Cheswick, H. Burch, S. Branigan, Mapping and Visualizing the Internet,

Proc.

2000 Usenix Conference (June 2000, San Diego)


[Chiu 1989] D. Chiu, R. Jain, Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks,

Computer Networks and ISDN Systems, Vol. 17, No. 1, pp.

1-14. http://www.cis.ohio-state.edu/~jain/papers/cong_av.htm [Christiansen 2001] M. Christiansen, K. Jeifay, D. Ott, F. D. Smith, Tuning Red for Web Traffic,

IEEE/ACM Transactions on Networking, Vol. 9, No. 3 (June 2001), pp. 249-264.


IChuang 2005J S. Chuang, S. Iyer, N. McKeown, Practical Algorithms for Performance Guaran tees in Buffered Crossbars, Networks,

Proc. 2005 IEEE Infocom.

ICicconetti] C. Cicconetti, L. Lenzini, A. Mingozi, K. Eklund, Quality of Service Support in 802.16

IEEE Network Magazine, Mar./Apr. 2006, pp. 50-55.


ht

ICisco 12000 20071 Cisco Systems Inc., Cisco XR 12000 Series and Cisco 12000 Series Routers, htlp://www.cisco.com/en/US/products/hw/routers/psl67/products_data_sheet()900aecd8027c8dd . ml [Cisco 8500 2007] Cisco Systems Inc., Catalyst 8500 Campus Switch Router Architecture, http:// www.cisco.com/univercd/cc/td/doc/product/13sw/8540/rel_i2_0/w5_6f/softcnlg/lcfg8500.pdf ICisco NAT 2007] Cisco Systems Inc., How NAT Works, http://www.cisco.com/warp/public/556/ natcisco.shtml {Cisco NAPA 2007] Cisco Systems Inc., Cisco Network Application Performance Analysis (NAPA) Solution, http://www.cisco.com/en/US/products/sw/netmgtsw/index.htmI ICisco QoS 2007] Cisco Systems Inc., Advanced QoS Services for the Intelligent Internet, http:// www.cisco.com/warp/public/cc/pd/iosw/ioft/ioqo/tech/qos_wp.htm [Cisco Queue 2007] Cisco Systems Inc., Interface Queue Management, http://www.cisco.com/ wa r p/publ ic/614/16.ht m I {Cisco Security 2007] Cisco Systems Inc., Why You Need a Firewall, http://www.cisco.com/en/ US/products/sw/secursw/ps743/products_user_guide_ chapter09186a008007f303.html {Cisco Switches 2007] Cisco Systems Inc. Cisco Catalyst 1900/2820 - Affordable Switching Solu tions http://www.cisco.com/warp/public/cc/pd/si/index.shtml

(Cisco SYN 2007] Cisco Systems Inc., Defining Strategies to Protect Against TCP SYN Denial of Service Attacks, http://cio.cisco.cOm/warp/public/707/4.htniI#tcpsyn (Clark 1988J D. Clark, The Design Philosophy of the DARPA Internet Protocols, 9501 -dark.html (Clarke 2002) I. Clarke, T. W. Hong, S. G. Miller, O. Sandberg, B. Wiley, Protecting Free Expression Online with Freenet,

Proc. 1988 ACM

SIGCOMM (Stanford, CA, Aug. 1988), http://www.acm.org/sigcornm/ccr/archive/1995/jan95/ ccr-

IEEE Internet Computing, Jan.-Feb. 2002, pp. 40-49. Proc. Fifth Data

[Cohen 1977] D. Cohen, Issues in Transnet Packetized Voice Communication,

Communications Symposium, (Snowbird, Utah, Sept. 1977) pp. 6-13.


[Cohen 2003] B. Cohen, Incentives to Build Robustness in BitTorrent,

First Workshop on the

Economics of Peer-to-Peer Systems, Berkeley, CA, June 2003.


[Cookie Central 2007] Cookie Central homepage, http://www.cookiecentral.com (CoolStreaming 2005] X. Zhang, J. Liu, J., B. Li, T.-S. P. Yum, CoolStreamingDONet/: A Data-dri ven Overlay Network

Proc. IEEE INFOCOM, (March 2005, Miami FL). [Cormen 2001] T. H. Cormen, Introduction to Algorithms, 2nd Ed., MIT Press, Cambridge, MA,
for Peer-to-Peer Live Media Streaming,

2001.

[Crow 1997] B. Crow, I. Widjaja, J. Kim, P. Sakai, IEEE 802.11 Wireless Local Area Networks,

IEEE

Communications Magazine, Sept. 1997, pp. 116-126.


[Crowcroft 1995] J. Crowcroft, Z. Wang, A. Smith, J. Adams, A Comparison of the IETF and ATM

IEEE Communications Magazine, Nov./ Dec. 1995, pp. 12-16. [Crowcroft 1999) J. Crowcroft, M. Handley, I. Wakeman, Internetworking Multimedia, Morgan-KaService Models, ufman, San Francisco, 1999. [Culler 2004] D. Culler, D. Estrin, M. Srivastava, Overview of Sensor Networks, Vol. 37 No. 8, pp. 41-49, Aug. 2004. [Cusumano 1998] M. A. Cusumano, D. B. Yoffie,

IEEE Computer,

Competing on Internet Time: Lessons from

Netscape and its Battle with Microsoft, Free Press, NY, NY, 1998. [Daigle 1991) J. N. Daigle, Queuing Theory for Telecommunications, Addison-Wesley, Reading,
MA, 1991. [Dalai 1978] Y. Dalai, R. Metcalfe, Reverse Path Forwarding of Broadcast Packets,

Communica-

tions of the ACM, Vol. 21, No. 12, (Dec. 1978), pp. 1040-1048. [Davie 2000] B. Davie, Y. Rekhter, MPLS: Technology and Applications, Morgan Kaufmann
Series in Networking, 2000. (Davies 2004] G. Davies, F. Kelly, Network Dimensioning, Service Costing, and Pricing in a Pac ketswitched Environment,

Telecommunications Policy, Vol. 28 (no. 4), pp. 391-412.

(DEC 19901 Digital Equipment Corporation, In Memoriam: J. C. R. Licklider 1915-1990, SRC Research Report 61, Aug. 1990. http://www.memex.org/Iicklider.pdf [DeClercq 2002J J. DeClercq, O. Paridaens, Scalability Implications of Virtual Private Networks,"

IEEE Communications Magazine, Vol. 40 No. 5 (May 2002), pp. 151-157.


[Demers 1990] A. Demers, S. Keshav, S. Shenkcr, Analysis and Simulation of a Fair Queuing Algo -

Internetworking: Research and Experience^Vol. 1, No. 1,1990, pp. 3-26. [Denning 1997] D. Denning (Editor), P. Denning (Preface), Internet Besieged: Countering Cyberspace Scolaws, Addison-Wesley, Reading, MA, 1997.
rithm, [dhc 2007) IETF Dynamic Host Configuration working group homepage, html.charters/dhc-charter.html [Diftie 1998) W. Diffie, S. Landau, http://www.ietf.org/

Privacy on the Line, the Politics of Wiretapping and

Encryption, MIT Press, Cambridge MA, 1998.

210 VLASZOL JEFF CASK [Diggavi 2004] S. N. Diggavi, N. Al-Dhahir, A. Stamoulis, R. Calderbank, "Great Expectations: 'Ihe
Value of Spatial Diversity in Wireless Networks, the IP Multicast Service and Architecture, maps.html [Donahoo 2001] M. Donahoo, K. Calvert,

Proceedings of the IEEE, vol. 92, no. 2, Feb

2004. [Diot 2000] C. Diot, B. N. Levine, B. Lyles, H. Kassem, D. Balensiefen, Deployment Issues for

IEEE Network, Vol. 14, No. 1 (Jan./Feb. 2000), pp. 78-

88. [Dodge 2007] M. Dodge, An Atlas of Cyberspaces, http://www.cybergeography.org/atlas/isp_

TCP/IP Sockets in C: Practical Guide for Eirst International Workshop on Peer-to-Peer

Programmers, Morgan Kaufman, 2001.


[Doucer 2002] J. R. Douceur, Ihe Sybil Attack,

Systems (IPTPS 02) (Cambridge, MA, Mar. 2002). [Droms 1999] R. Droms, T. Lemon, Ihe DHCP Handbook, Macmillan Technical Publishing, Indianapolis, IN, 1999. |DSL 2007] DSL Forum homepage, http://www.dslforum.org/ (F.dney 2003] J. Edney, W. A. Arbaugh,

Real 802.11 Security: Wi-Fi Protected Access and

802.1 li, Addison-Wesley Professional, 2003.


[Eklund 2002] K. Eklund, R. Marks, K. Stanswood, S. Wang, IEEE Standard 802.16: A Technical Overview of the Wireless MAN Air Interface for Broadband Wireless Access,

IEEE Communica-

tions Magazine, June 2002, pp. 98-107.


[Ellis 1987] H. Ellis, Ihe Story of Non-Secret Encryption, http://www.cesg.gov.uk/site/publications/media/ellis.pdf [Ericsson 2007| Ericsson, EDGE: Introduction of High-Speed Data in GSM/GPRS Networks. http://www.ericsson.com/products/white_papers_pdf/edge_wp_technical.pdf [ESM 2007] End System Multicast homepage, http://esm.cs.cmu.edu/ {Estrin 1997] I). Estrin, M. Handley, A. Helmy, P. Huang, D. Thaler, "A Dynamic Bootstrap Me chanism for Rendezvous-based Multicast Routing, NY. April 1998). [Ethereal 2007] Ethereal homepage, http://www.etliereal.com [Faloutsos 1999] C. Faloutsos, M. Faloutsos, P. Faloutsos, What Does the Internet Look Like? Em pirical Laws of the Internet Topology, neering,

Proceedings of IEEE Infocom '98, (New York,

Proc. 1999 ACM S1GCOMM (Boston, MA, Aug. 1999).

[Feamster 2004] N. Feamster, J. W r inick, J. Rexford, A Model for BGP Routing for Network Engi -

Proc. 2004 ACM SIGMETRICS, (NY, NY, June 2004).

[Feldmeier 1988] D. Feldmeier, Improving Gateway Performance with a Routing Table Cache,

Proc. 988 IEEE Infocom (New Orleans LA, Mar. 1988).


[Feldmeier 1995J D. Feldmeier, Fast Software Implementation of Error Detection Codes,

IEEE/

ACM Transactions on Networking, Vol. 3, No. 6 (Dec. 1995), pp. 640-652.


|FI PS 1995] Federal Information Processing Standard, Secure Hash Standard, FTPS Publication 180-1. http://www.itl.nist.gov/fipspubs/fipl80-l.htm [Floyd 1999] S. Floyd, K. Fall, Promoting the Use of End-to-End Congestion Control in the Inter net,

IEEE/ACM Transactions on Networking, Vol. 6, No. 5 (Oct. 1998), pp. 458-472.


[Floyd 2000] S. Floyd, M. Handley, J. Padhye, J. Widmer, Equation-Based Congestion Control for Unicast Applications,

Proc. 2000 ACM SIGCOMM (Stockholm, Sweden, Aug. 2000). IEEE

[Floyd 2001) S. Floyd, A Report on Some Recent Developments in TCP Congestion Control,

Communications Magazine (Apr. 2001),


[Floyd 2007] S. Floyd, References on RF.D (Random Early Detection) Queue Management, http:// w ww.icir.org/11 oyd / red. h t m 1 [Floyd Synchronization 1994] S. Floyd, V. Jacobson, Synchronization of Periodic Routing Messa ges,

IEEE/ACM Transactions on Networking, Vol. 2, No. 2 (Apr. 1997), pp. 122-136.

211
[Floyd

9. HLZATFELGYELET

TCP 1994J S. Floyd, TCP and Explicit Congestion Notification, ACMSIGCOMM Computer Communications Review, Vol. 24, No. 5, pp. 10-23, Oct. 1994.
[Fluhrer 2001] S. Fluhrer, I. Mantin, A. Shamir, Weaknesses in the Key Scheduling Algorithm of RC4,

Eighth Annual Workshop on Selected Areas in Cryptography, (Toronto, Canada, Aug.

2002). [Fortz 2000) B. Fortz, M. Thorup, Internet Traffic Engineering by Optimizing OSPP Weights,

Proc. 2000 IEEE Infocom. (Tel Aviv, Israel, Apr. 2*000).


[Fortz 2002] B. Fortz, J. Rexford, M. Thorup, Traffic Engineering with Traditional IP Routing Pro tocols,

IEEE Communication Magazine, Oct. 2002. Physics Today,

[Foster 2002] I. Foster, The Grid: A New Infrastructure for 21st Century Science, 55(2):42-47, 2002.

[Fraleigh 2003] C. Fraleigh, T. Tobagi, C. Diot, Provisioning IP backbone Networks to Support Latency Sensitive Traffic,

Proc. IEEE Infocom Conference, (San Francisco, March 2003).

[France Telecom 2006] Object Identifier (OID) repository, http://asnl.elibel.tm.fr/oid/ [Fraleigh 2003J C. Fraleigh, F. Tobagi, C. Diot, "Provisioning IP Backbone Networks to Support Latency Sensitive Traffic,

Proc. 2003 IEEE Infocom (San Francisco, CA, Mar. 2003). Proc.

[Friedman 1999] T. Friedman, D. Towsley Multicast Session Membership Size Estimation,

1999 IEEE Infocom (New York, USA, Mar. 1999)


[Frost 1994] J. Frost, BSD Sockets: A Quick and Dirty Primer, http://world.std.com/~jimf/papers/ sockets/sockets.html [Gallagher 1983] R. G. Gallagher, P. A. Humblet, P. M. Spira, A Distributed Algorithm for Mi nimum Weight-Spanning Trees, 1983), pp. 66-77. [Gao 2001] L. Gao, J. Rexford, Stable Internet Routing Without Global Coordination,

ACM Trans, on Programming Languages and Systems, 1(5), (Jan. IEEE/ACM

Trans. Networking, Vol. 9, No. 6 (Dec. 2001), pp. 681-692.


[Garces-Erce 2003] L. Garces-Erce, K. W. Ross, E. Biersack, P Felber, G. Urvoy-Keller, TOPLUS: Topology Centric Lookup Service,

Fifth Int. Workshop o)i Networked Group Communications

(NGC2003), (Munich, Sept. 2003) http://cis.poly.edu/~ross/papers/TOPLUS.pdf [Gartner 2003J F. C. Gartner, A Survey of Self-Stabilizing Spanning-Trce Construction Algo rithms, Technical Report IC/2003/38, Swiss Federal Institute of Technology (EPFL), School of Computer and Communication
Sciences, June 10,2003. http://ic2.epil.ch/publications/documents/ IC_TECH_REPORT_200338.pdf. IGauthier 1999] L. Gauthier, C. Diot, J. Kurose, End-to-end Transmission Control Mechanisms for Multiparty Interactive Applications on the Internet, 1999). [Giacopclli 1990] J. Giacopelli. M. Littlewood.W. D. Sincoskie Sunshine: A high performance self-

Proc. 1999 IEEE Infocom (New York, NY, Apr.

1990 International Switching Symposium. An extended version of this paper appeared in IEEE J. Selected. Areas in Communications, Vol. 9,
routing broadband packet switch architecture, No. 8 (Oct. 1991), pp. 1289-1298. fGill 2005| V. Gill, Abstract: Design Decisions and Architecture Analysis of a Global 10G Backbo ne,

NANOG 34, http://www.nanog.org/mtg-0505/gill.html [Girard 1990] A. Girard, Routing and Dimensioning in Circuit-Switched Networks, AddisonWes- ley, Reading, MA, 1990. [Glitho 1995] R. Glitho, S. Hayes (eds.), special issue on Telecommunications Management Net work,

IEEE Communications Magazine, Vol. 33, No. 3 (Mar. 1995).


[Glitho 1998] R. Glitho, Contrasting OSI Systems Management to SNMP and TMN,

Journal of

Network and Systems Management, Vol. 6, No. 2 (June 1998), pp. 113-131.
[Gnutella 2007) The Gnutella Protocol Specification, v0.4 http://www9.limewire.com/developer/ gnutella_protocol_0.4.pdf [Goodman 1997] David j. Goodman, 1997.

Wireless Personal Communications Systems , Prentice-Hall,

212 [Goralski 1999] YV. Goralski,


Berkeley, CA,

Frame Relay for High-Speed Networks, John Wiley, New York, 1999. [Goralski 2001] W. Goralski, Optical Networking and WI)M, Osborne/McGraw-Hill,
2001.
[Griffin 2002] T. Griffin, Interdomain Routing Links, http://www.research.att.com/~griffin/interdomain.html

VLASZOL JEFF CASK

[Guha 2006] S. Guha, N. Daswani, R. Jain, An Experimental Study of the Skype Peer-to-Peer VoIP System, eds,

Proc. Fifth Int. Workshop on P2P Systems, (Santa Barbara, CA, 2006).

[Gupta 1998j P. Gupta, S. Lin, N. McKeown. Routing lookups in hardware at memory access spe -

Proc. 1998 IEEE Infocom (San Francisco, CA, Apr. 1998), pp. 1241-1248. [Gupta 2001] P. Gupta, N. McKeown, Algorithms lor Packet Classification, IEEE Network Magazine, Vol. 15, No. 2 (Mar./Apr. 2001), pp. 24-32. [Main 2005] T. Hain, A Pragmatic Report on IPv4 Address Space Consumption," Internet Protocol Journal, Vol. 8, No. 3. IHalabi 2000] S. Halabi, Internet Routing Architectures, 2nd Ed., Cisco Press, 2000.
[Hamada 1997] T. I latnada, H. Kamata, S. Hogg, An Overview of the TINA Management Archi tecture,

Journal of Network and Systems Management, Vol. 5. No. 4 (Dec. 1997). pp. 411IEEE/ACM Transactions on Networking, Vol. 5, No. 5 (Oct.

435. [Heidemann 1997] J. Heidemann, K. Obraczka, J. Touch, Modeling the Performance of HTTP over Several Transport Protocols, 1997), pp. 616-630. [Held 2001] G. Held, McGraw-Hill, 2001. [Hersent 2000] O. Hersent, D. Gurle, J-P. Petit,

Data Over Wireless Networks: Bluetooth, WAP, and Wireless LANs, IP Telephony: Packet-Based Multimedia

Communication Systems, Pearson Education Limited, Edinburgh, 2000.


[Hinden 2007] R. Hinden, IP Next Generation (IP ng)," http://playground.sun.com/pub/ipng/ html/ipng-main.html [Holland 2001] G. Holland, N. Vaidya, V. Bahl, A Rate-Adaptive MAC Protocol for Multi-Hop Wireless Networks,

Proc. 2001 ACM Int. Conference of Mobile Computing and Networking (Mobi-

comOl), (Rome, Italy, July 2001).


(Hollot 2002] C.V. Hollot, V. Misra, D. Towsley,W. Gong, Analysis and design of controllers for AQM routers supporting TCP flows, 2002) , pp. 945-959. [Huang 2002] C. Haung, V. Sharma, K. Owens, V. Makam, Building Reliable MPLS Networks Using a Path Protection Mechanism, 156-162. [Huang 2005] Y. Huang, R. Guerin, Does Over-Provisioning Become More or Less Efficient as Networks Grow Larger?, November 2005). [Huitema 1998| C. Huitema, Englewood Cliffs, NJ, 1998. [Huston 1999aJ G. Huston, Interconnection, Peering, and Settlements - Part I,"

IEEE Transactions on Automatic Control, Vol. 47, No. 6 (June

IEEE Communications Magazine, Vol. 40, No. 3 (Mar. 2002), pp.

Proc. IEEE Int. Conf. Network Protocols (ICNP), (Boston MA,

IPv6: 'The New Internet Protocol, 2nd Ed., Prentice Hall, The Internet Pro-

tocol Journal, Vol. 2, No. 1, (Mar. 1999).


[Huston 2001] G. Huston, Analyzing the Internet BGP Routing Table,

The Internet Protocol JourThe In-

nal, Vol. 4, No. 1 (Mar. 2001).


(Huston 2004| G. Huston, NAT Anatomy: A Look Inside Network Address Translators,

ternet Protocol Journal, Volume 7, Number 3 (Sept. 2004).


[IAB 2007} Internet Architecture Board homepage, http://www.iab.org/iab/ [1 ANA 2007) Internet Assigned Number Authority homepage, http://www.iana.org/ [I ANA 2007b) Internet Assigned Number Authority, Private Enterprise Numbers, http://www .

iana.org/assignments/enterprise-numbers (ICANN 2007] The Internet Corporation for Assigned Names and Numbers homepage, http:// www.icann.org [IEC Optical 2007J 1EC Online Education, Optical Access, http://www.iec.org/online/tutorials/ opt_acc/ [IEEE 802 2007] IEEE 802 LAN/MAN Standards Committee homepage, http://www.ieee802.org/ [IEEE 802.11 1999] IEEE 802.11, 1999 Edition (ISO/IEC 8802-11: 1999) IEEE Standards for In formation Technology - Telecommunications and Information Exchange Between Systems - Local and Metropolitan Area Network - Specific Requirements - Part 11: Wireless LAN Medium Ac cess Control (MAC) and Physical Layer (PHY) Specification, http://standards.iece.org/geticec802/ download/802.1 l-1999.pdf [IEEE 802.1 In) IEEE, IEEE P802.11 - Task Group N - Meeting Update: Status of 802.1 In http:// grouper.ieee.org/groups/802/1 l/Reports/tgn_update.htm [IEEE 802.15 2007) IEEE 802.15 Working Group for WPAN homepage, http://grouper.ieee.org/ groups/802/15/. [IEEE 802.16d 2004) IEEE, IEEE Standard for Local and metropolitan area networks. Part 16: Air Interface for Fixed Broadband Wireless Access Systems, http://standards.ieee.org/getieee802/ download/802, l6-2004.pdf [IEEE 802.16e 2005) IEEE, IEEE Standard for Local and metropolitan area networks, Part 16: Air Interface for Fixed and Mobile Broadband Wireless Access Systems, Amendment 2: Physical and Medium Access Control Layers for Combined Fixed and Mobile Operation in Licensed Bands and Corrigendum 1, http://standards.ieee.org/getieee802/download/ 802.16e-2005.pdf [IEF.F. 802.1X| IEEE Std 802.1 X-2001 Port-Based Network Access Control, http://standards.ieee . org/rcading/iecc/std_public/description/lanman/802.1x-2001_desc.html [IEEE 802.3 20071 IEEE, IEEE 802.3 CSMA/CD (Ethernet), http://grouper.ieee.org/gro- ups/802/3/ [IEEE 802.5 2007] IEEE, IEEE 802.5 homepage, http://www.ieee802.Org/5/www8025org/ [IETF 2007] Internet Engineering Task Force homepage, http://www.ietf.org [IMAP 2007] The IMAP Connection, http://www.imap.org/ [Intel 2006] Intel Corp, PCI/PCI-X Family of Gigabit Ethernet Controllers Software Developers Manual, http://download.intel.com/design/nctwork/manuals/ 8254x_GBe_SDM.pdf [Intel WiMax 2007] Intel Corp., WiMax Broadband Wireless Technology Access, http://www . i ntel.com/netcom ms/tech nologies/wimax/ [Interlinknetworks 2004] Internlinknetworks, Introduction to 802.Ix for Wireless Local Area Networks, http://www.interlinknetworks.com/resource/wp5-I-l.htm [Internet Home Alliance 2007| Internet Home Alliance Research Council homepage, http://www . caba.org/iha/ llnternet2 Multicast 2007] Internet2 Multicast Working Group homepage, http://raulticastinternet2.edu/ [ISC 2007] Internet Systems Consortium homepage, http://www.isc.org [ISI 1979] Information Sciences Institute, DoD Standard Internet Protocol, Internet Engineering Note 123, Dec. 1979. http://www.isi.edu/in-notes/icn/icnl23.txt

214

IRODALOMJEGYZP.K

[ISO 1987) International Organization for Standardization, Information processing sys tems - Open Systems Interconnection , International Standard 8824 (Dec. 1987). http://asnl . elibcl.tm.fr/en/standards/index.htm [ISO 20071 International Organization for Standardization homepage, International Organization for Standardization, http:// www.iso.org/ [ISO X.680 1998J International Organization for Standardization, X.680: ITU-T Recommenda tion X.680 (1997) | ISO/IEC 8824-1:1998, Information Technology Abstract Syntax Notation One (ASN.l): Specification of Basic Notation. http://asnl.elibel.tm.fr/en/standards/index.htm [ITU 2005] International Telecommunication Union, 7 he homepage, http://www.itu.int/ [ITU Statistics 2007] International Telecommunications Union, ICT Statistics," http://www.itu . int/rrU-D/icteye/ Reports, aspx [ITU-T Q.2931 1994] ITU-T, Broadband Integrated Service Digital Network (B-ISDN) Digital Subscriber Signaling System no.2 (DSS2) User Network Interface layer 3 Specification for Basic Call/Connection Control, cation Union, 1994. [Iyer 2002] S. Iyer, R. Zhang, N. McKeown, Routers with a Single Stage of Buffering,

Internet ofViings, 2005, http://www.itu .

int/osg/spu/pubIications/intcrnetofthings/lnternetofIhings_summary.pdf [ITU 2007J The ITU

ITU-T Recommendation Q.2931, Geneva: International TelecommuniProc. 2002

ACM SIGCOMM (Pittsburgh, PA, Aug. 2002).


[Jacobson 1988] V. Jacobson, Congestion Avoidance and Control, (Stanford, CA, Aug. 1988), pp. 314-329. [Jain 1989] R. Jain, A Delay-Based Approach for Congestion Avoidance in Interconnected Hete rogeneous Computer Networks, No. 5 (1989), pp. 56-71. [Jain 1994] R. Jain,

Proc. 1988 ACM SIGCOMM

ACM SIGCOMM Computer Communications Review, Vol. 19,

FDDI Handbook: High-Speed Networking Using Fiber and Other Media,

Addi- son-Wesley, Reading, MA, 1994. [Jain 1996J R. Jain. S. Kalyanaraman, S. Fahmy, R. Goyal, S. Kim, Tutorial Paper on ABR Sour ce Behavior, htm [Jaiswal 2003J S. Jaiswal, G. Iannaccone, C. Diot, J. Kurose, D. Towsley, Measurement and Classi -

ATM Forum/96-1270, Oct. 1996. http://www.cis.ohio-state.edu/~jain/atmf/a96-1270 .

Proc. 2003 IEEE Infocom. [Jakobson 1993] G. Jacobson, M. Weissman, Alarm Correlation, IEEE Network Magazine, 1993,
fication of Out-of-Sequence Packets in a Tier-1 IP backbone, pp. 52-59. |Ji 2003] P. Ji, Z. Ge, J. Kurose, D. Towsley, A Comparison of Hard-state and Soft-state Signaling Protocols,

Proc. 2003 ACM SIGCOMM (Karlsruhe, Germany, Aug. 2003). NOSSDAVOl (Port Jefferson, NY, June 2001).

[Jiang 2001]W. Jiang, J. Lennox, H. Schulzrinne, K. Singh, Towards Junking the PBX: Deploying IP Telephony, [Jimenez 1997] D. Jimenez, Outside Hackers Infiltrate MIT Network, Compromise Security," 7 he

Tech, Vol. 117, No. 49 (Oct. 1997), p. 1. http://www-tech.mit.edu/V117/N49/hackers.49n.html [Jin 2004J C. Jin, D. X. We, S. Low, FAST TCP: Motivation, architecture, algorithms, performan ce, Proc. 2004 IEEE Infocom, (Hong Kong, March 2004). [Kaaranen 2001] H. Kaaranen, S. Naghian, I.. Laitinen, A. Ahtiainen, V. Niemi, Networks: Architecture, Mobility and Services, New York: John Wiley & Sons, 2001. [Kahn 1967] D. Kahn, The Codebreakers: ''the Story of Secret Writing, The Macmillan
Company, 1967. [Kahn 1978] R. E. Kahn, S. Gronemeyer, J. Burchfiel, R. Kunzelman, Advances in Packet Radio Technology,

Proc. of the IEEE, 66, 11 (Nov. 1978). Bell Labs Technical Journal, Summer 1997, pp. 118-133. [Kangasharju

[Kamerman 1997] A Kamcrman, L. Monteban, WaveLAN-II: A High -Performance Wireless LAN for the Unlicensed Band,

1RODALOM JHGYZK

215

2000] J. Kangasharju, K. W. Ross, J. W. Roberts, Performance Evaluation of Redi rection Schemes in Content Distribution Networks, (Lisbon, Portugal, iVlay 2000). [Kar 2000] K. Kar, M. Kodialam, T. V. Lakshman, Minimum Interference Routing of Bandwidth Guaranteed Tunnels with MPl.S Traffic Engineering Applications,

Proc. 5th Web Caching and Content Distribution Workshop,

IF.F.E J. Selected Areas in

CommunicationsDec. 2000.
[Karol 1987] M. Karol, M. Hluchyj, A. Morgan, "Input Versus Output Queuing on a Space- Di vision Packet Switch, 1356. [Katabi 2002] D. Katabi, M. Handley, C. Rohrs, Internet Congestion Control for Future High Bandwidth-Delay Product Environments, works,

IEEE Transactions on Communications, Vol. 35, No. 12, (Dec. 1987), pp. 1347-

Proc. 2002 ACM SIGCOMM (Pittsburgh, PA, Aug. 2002).

[Katzela 1995] I. Katzela, M. Schwartz. Schemes for Fault Identification in Communication Net -

IEEE/ACM Transactions on Networking, Vol. 3, No. 6 (Dec. 1995), pp. 753-764. [Kaufman 1995] C. Kaufman, R. Perlman, M. Speciner, Network Security, Private Communication in a Public World, Prentice Hall, Englewood Cliffs, NJ, 1995.
[Kelly 2003| T. Kelly, Scalable TCP: improving performance in high speed wide area networks,"

ACM SIGCOMM Computer Communications Review, Volume 33, No. 2 (Apr. 2003), pp 83-91. [Kcshav 1998] S. Keshav, R. Sharma, Issues and Trends in Router Design, IEEE Communications Magazine, Vol. 36, No. 5 (May 1998), pp. 144-151.
IKeslassy 2003) I. Keslassy, S. Chuang, K. Yu, D. Miller, M. Horowitz, O. Solgaard, McKeown, Scaling

Proc. 2003 ACM SIGCOMM (Karlsruhe, Germany, Aug. 2003). [Kilkki 1999] K. Kilkki, Differentiated Services for the Internet , Macmillan Technical Publishing,
Internet Routers Using Optics, Indianapolis, IN, 1999. [Kim 2005] H. Kim, S. Rixner, V. Pai, Network Interface Data Caching,"

IEEE Transactions on

Computers, Volume 54, No. 11, (Nov. 2005), pp. 1394-1408.


(Kleinrock 1961] L. Klcinrock, Information Flow in Large Communication Networks, RLE Qu arterly Progress Report, July 1961. [Kleinrock 1964] L. Klcinrock,

1964 Communication Nets: Stochastic Message Plow and

Delay, McGraw-Hill, NY, NY, 1964. [Kleinrock 1975] L. Kleinrock, Queuing Systems, Vol. I, John Wiley, New York, 1975.
JKleinrock 1975b] L. Kleinrock, F. A. Tobagi, Packet Switching in Radio Channels: Part I - Car rier Sense Multiple-Access Modes and Their Throughput-Delay Characteristics,

IEEE Transactions on

Communications, Vol. 23, No. 12 (Dec. 1975), pp. 1400-1416. [Kleinrock 1976] L. Kleinrock, Queuing Systems, Vol. 2, John Wiley, New York, 1976.
(Kleinrock 2004] L. Klcinrock, The Birth of the Internet, http://www.lk.cs.ucla.edu/LK/Inet/ birth.html [Kohler 2006] E. Kohler, M. Handley, S. Floyd, DDCP: Designing DCCP: Congestion Control Without

Proc. 2006 ACM SIGCOMM (Pisa, Italy, Sept. 2006). [Korhonen 2003] J. Korhonen, Introduction to 3G Mobile Communications , 2nd ed., Artech I
Reliability, louse, 2003.

Intrusion Detection with Snort, Sams Publishing, 2003. [Krishnamurthy 2001] B. Krishnamurthy, J. Rexford, Web Protocols and Practice: HTTPU. I, Networking Protocols, and Traffic Measurement, Addison-Wesley, Boston, MA, 2001.
[Koziol 2003] J. Koziol, [Kulkarni 2005] S. Kulkarni, C. Rosenberg, Opportunistic Scheduling: Generalizations to Inc lude Multiple Constraints, Multiple Interfaces, and Short Term Fairness, 569, 2005. (Kumar 2006] R. Kumar, K.W. Ross, Optimal Peer-Assisted File Distribution: Single and Mul ti-Class Problems

Wireless Networks, 11, 557-

IEEE Workshop on Hot Topics in Web Systems and Technologies, Boston, 2006.

(Kurose 1996) J. F. Kurose, Unix Network Programming, http://manic.cs.umass.edu/-amldemo/

216
courseware/intro.html

1 RODAl.OM JEGYZK

[Labovitz 1997] C. Labovitz, G. R. Malan, F. ]ahanian, Internet Routing Instability,

Proc. 1997

ACM S1GCOMM (Cannes, France, Sept. 1997), pp. 115-126.


[Labrador 1999] M. Labrador, S. Banerjee, Packet Dropping Policies for ATM and IP Networks,

IEEE Communications Surveys, Vol. 2, No. 3 (Third Quarter 1999), pp. 2-14.
[Lacage 2004) M. Lacage, M.H. Manshaei, T. Turletti, IEEE 802.11 Rate Adaptation: A Practical

ACM Int. Symposium on Modeling, Analysis, and Simulation of Wireless and Mobile Systems (MSWiM) (Oct. 2004, Venice, Italy).
Approach, [Lakshman 1997] T. V. Lakshman, U. Madhow, The Performance of TCP/IP for Networks with Fligh Bandwidth-Delay Products and Random Loss, No. 3 (1997). pp. 336-350. [Lam 19801 S. Lam, A Carrier Sense Multiple Access Protocol for Local Networks,

IEEE/ACM Transactions on Networking, Vol. 5 Computer NetCommu-

works, Vol. 4 (1980), pp. 21-32, 1980.


[Lamport 1981) L. Lamport, Password Authentication with Insecure Communication,

nications of the ACM, Vol. 24, No. 11 (Nov. 1981), pp. 770-772. [Larmouth 1996] J. Larmouth, Understanding OSI, International Thomson Computer Press 1996.
Chapter 8 of this book deals with ASN.l and is available on-line at http://www.salford.ac.uk/iti/ books/osi/a 11. h t m l#head8 [Larsen 1997] A. Larsen, Guaranteed Service: Monitoring Tools, 1997, pp. 85-94. ILawton 2001] G. Lawton, Is IPv6 Finally Gaining Ground? 2001), pp. 11-15. [Leiner 19981 B. Leiner, V. Cerf, D. Clark, R. Kahn, L. Kleinrock, D. Lynch, J. Postel, L. Roberts, S. Woolf, A Brief History of the Internet, http://www.isoc.org/internet/history/brief.html [Li 2004] L. Li, D. Aldcrson,YV. Willinger, J. Doyle, A First-Principles Approach to Understanding the Internets Router-Level Topology,

Data Communications,June

IEEE Computer Magazine (Aug.

Proc. 200't ACM SIGCOMM (Portland, Oregon, Aug. 2004). Computer

Jl.iang 2005] J. Liang, R. Kumar, Hie Kazaa Overlay: A Measurement Study,

Networks (Special Issue on Overlays), 2005.


(Liang 2006] J. Liang, N. Naoumov, K.W. Ross, lhe Index Poisoning Attack in P2P File-Sharing

Proc. 2006 IEEE hifocom 2006 (Barcelona, Spain, April 2006). [Lin 2001JY. Lin, 1. Chlamtac, Wireless and Mobile Network Architectures, John Wiley and
Systems, Sons, New York, NY, 2001. [Liu 2002] B. Liu, D. Goeckel, D. Towsley, TCP-Cognizant Adaptive Forward Error Correction in Wireless Networks,

Proc. 2002 Global Internet.

[Loh 2006] V. Loh, Real-World Interoperability Tests of Five 802.11 n Routers, http://www.extremetech .com/a rt icle2/0,1697,2013303,00.asp [Lucent 2006] Lucent Technologies, OSS Software for Lucent Technologies and Juniper Networks Unified Solutions, http://www.lucent.com/solutions/juniper_oss.html [Lui 2004] J. Lui, V. Misra, I). Rubenstein, On the Robustness of Soft State Protocols,

Proc. IEEE

Int. Conference on Network Protocols (ICNP 04), pp. 50-60. [Luolonen 1998] A. Luotonen, Web Proxy Servers, Prentice Hall, Englewood CliiTs, New Jersey,
1998. (Lynch 1993] D. Lynch, M. Rose, Internet,

Internet System Handbook, Addison-Wesley, Reading, MA,

1993. [iYlacedonia 1994] M. Macedonia, D. Brutzman, MBone Provides Audio and Video Across the

IEEE Computer Magazine, Vol. 27, No. 4 (Apr. 1994), pp. 30-36.

[Mahdavi 1997] J. Mahdavi, S. Floyd, TCP-Friendly Unicast Rate-Based Flow Control, unpublis hed note, Jan. 1997. (Malware 2006] Computer Economics, 2005 Malware Report: The Impact of Malicious Code At tacks, >> http://www.computereconom ics.com [manet 2007] IETF Mobile Ad-hoc Networks (manet) Working Group, http://www.ietf.org/html .

1RODALOM JHGYZK
charters/manet-charter.html

217

[Maymounkov 2002] P. Maymounkov, D. Mazieres. Kademlia: A Peer-to-Peer Information Sys tem Based on the XOR Metric/

Proceedings of the 1st International Workshop on Peer-to-Peer

Systems (IPTPS 02), pp. 53-65, Mar. 2002.


[McKeown 1997a] N. McKeown, M. Izzard, A. Mekkittikul.W. Ellersick, M. Horowitz, The Tiny Tera: A Packet Switch Core,

IEEE Micro Magazine, Jan.-Feb. 1997. Busi-

(McKeown 1997b] X. McKeown, A Fast Switched Backplane for a Gigabit Switched Router,

ness Communications Review, Vol. 27, No. 12. http://www.bcr.com/bcrmag/12/mckeown.htm


[McQuillan 1980] J. McQuillan, 1. Richer, E. Rosen, The New Routing Algorithm for the Arpa net,

IEEE Transactions on Communications, Vol. 28, No. 5 (May 1980), pp. 711-719.
[Medhi 1997] D. Medhi, D. Tipper (eds.), Special Issue: Fault Management in Communication Net works,

Journal of Network and Systems Management, Vol. 5. No. 2 (June 1997). Computer

[Meng 20051 X. Meng, IPv4 Address Allocation and the BGP Routing Table Evolution,

Communication Reviews, Vol. 35, No 1 (2005), pp. 71-80.


[Metcalfe 1976] R. M. Metcalfe, D. R. Boggs. Ethernet: Distributed Packet Switching for Local Computer Networks,

Communications of the Association for Computing Machinery, Vol. 19,

No. 7, (July 1976), pp. 395-404. (MFA Forum 2007) MFA Forum homepage, http://www.mfaforum.org/ ^Microsoft Player Media 2007] Microsoft Windows Media homepage, http://www.microsoft.com/ windows/wi ndowsmed ia/ [Miller 1997] M.A. Miller, 1997. [Mirkovic 2005] I. Mirkovic, S. Dietrich, D. Dittrich. P. Reiher,

Managing Internetworks with SNMP, 2nd ed., M & T Books,New York, Internet Denial of Service: Attack

and Defense Mechanisms, Prentice Hall, 2005.


[Mockapetris 1988] P. V. Mockapetris, K. J. Dunlap, Development of the Domain Name System,

Proc. 1988 ACM AIGCOMM (Stanford, CA, Aug. 1988).


(Mockapetris 2005] P. Mockapetris, Sigcomm Award Lecture, video available at http://www.postel . org/sigcomm (Mogul 2003] J. Mogul, TCP offload is a dumb idea whose time has come.

Proc. HotOS IX: The

9th Workshop on Hot 'Topics in Operating Systems, (2003) USENIX Association.


(Molinero-Fernandez 2002] P. Molinaro-Fernandez, N. McKeown, H. Zhang, Is IP Going to 'Fake Over the World (of Communications)?

Proc. 2002 ACM Hotnets. IEEE Journal on Selected Areas in Communications, Proc.

(Molle 1987| M. L. Mollc, K. Sohraby, A. N. Venetsanopoulos, Space-Time Models of Asynchro nous CSMA Protocols for Local Area Networks, Vol. 5, No. 6, (1987) pp. 956-968. (Moore 2001] D. Moore, G. Voelker, S. Savage, Inferring Internet Denial of Service Activity,

2001 USENIX Security Symposium, (Washington DC, Aug. 2001).

[Moore 2003] D. Moore, V. Paxson, S. Savage, C. Shannon, S. Stamford, N. Weaver, Inside the Slammer Worm, on the Web,"

2003 IEEE Security and Privacy Conference.

[Moshchuck 2006] A. Moshchuk, T. Bragin, S. Gribble, H. Levy, A Crawler-based Study of Spy- ware

Proc. 13th Annual Network and Distributed Systems Security Symposium (NDSS 2006), (San Diego, CA, Feb. 2006). [Mouly 1992] M. Mouly, M. Pautet, Vie GSM System for Mobile Communications , Cell andSys,
Pa- laiseau, France, 1992. [Moy 1998] J. Moy, MA, 1998. [Mukherjec 1997] B. Mukherjee,

OSPF: Anatomy of An Internet Routing Protocol, Addison-Wesley, Reading,

Optical Communication Networks, McGraw-Hill, 1997.

[Murphy 2003] S. Murphy, BGP Security Vulnerabilities Analysis, draft-ietf-idr-bgp- vuln-00. txt, June 2003, ftp://flp.rfc-editor.org/in-notes/internet-drafts/draft-ietf-idrbgpvuln-00.txt [Nahum 2002] E. Nahum, T. Barzilai, D. Kandlur, Performance Issues in WWW Servers,

IEEE/ ACM Inti Works-

Transactions on Networking, Vol 10, No. 1 (Feb. 2002).


[Naoumov 2006] N. Naoumov, K.W. Ross, Exploiting P2P Systems for DDoS Attacks,

hop on Peer-to-Peer Information Management, (Hong Kong, May 2006), [Neumann 1997] R. Neumann, Internet Routing Black Hole, he Risks Digest: Forum on Risks to the Public in Computers and Related Systems, Vol. 19, No. 12 (May 1997).
http://catless.ncl.ac.uk/ Risks/19.12.html#subj 1.1 [Nicholson 2006] A Nicholson,Y. Chawathe, M. Chen, B. Noble, D. Wetherall, Improved Access Point Selection,

Proc. 2006 ACM Mobisys Conference, (Uppsala Sweden, 2006). W3C Document, 1997 (also appears

[Nielsen 1997] H. F. Nielsen, J. Gettys, A. Baird-Smith, E. Prud'hommeaux, H. W. Lie, C. Lilley, Network Performance Effects of HTTP/1.1, CSS1, and PNG, in

Proc. 1997 ACMSIGCOM, (Cannes, France, Sept 1997), pp. 155-166.

[NIST 2001] National Institute of sStandards and Technology, Advanced Encryption Standard (AES), Federal Information Processing Standards 197, Nov. 2001, http://csrc.nist.gov/publications/ fips/fipsl97/fips- 197.pdf [Nmap 2004] Nmap homepage, http://www.insecure.com/nmap [Nonnenmacher 1998] J. Nonnenmacher, E. Biersak, D. Towsley, Parity-Based Loss Recovery for Reliable Multicast Transmission, 1998), pp. 349-361. [NTIA19981 XationalTelecommunicationsand Information Administration (NT1 A), USDepartmcnt of Commerce, Management of Internet names and addresses, Docket Number: 980212036-8146-02. http://www.ntia.doc.gov/ntiahome/domainname/6_5_98dns.htm [Odlyzko 2003] A. Odlyzko, Internet Traffic Growth: Sources and Implications, A. M. Optical Transmission Systems and Equipment for WDM Networking II,

IEEE/ACM Transactions on Networking, Vol. 6, No. 4 (Aug.

Proc. SPIE, 5247, 2003. pp. 1-15.

http://www.dtc.umn.edu/~odlyzko/doc/itcom.internet.growth.pdf . [OpenView2007] HP OpenView homepage, http://www.openview.hp.com/ [OSI 2007] International Organization for Standardization homepage, http://www.iso.org/iso/en/ ISOOnline.frontpage [OSS 2007] OSS Nokalva, ASN.l Resources, http://www.oss.com/asnl/ [Padhye 2000] J. Padhye, V. Firoiu, D. Towsley, J. Kurose, ModelingTCP Reno Performance: A Simple Model and its Empirical Validation, 2000), pp. 133-145. [Padhye 2001] J. Padhye, S. Floyd, On Inferring TCP Behavior, Diego, CA, Aug. 2001). [Pan 1997] P. Pan, H. Schulzrinne, Staged Refresh Timers for RSVP,

IEEE/ACM Transactions on Networking, Vol. 8 No. 2 (Apr. Proc. 2001 ACM SIGCOMM, (San Proc. 2nd Global Internet

Conference, (Phoenix, AZ, Dec. 1997).

IROAI.OMJKGYZEK

72!
IEEE/ACM Transactions on Networking,

(Parekh 1993] A. Parekh, R. Gallagher, A generalized processor sharing approach to flow control in integrated services networks: the single-node case , Vol. 1, No. 3 (June 1993), pp. 344-357. [Partridge 1992] C. Partridge, S. Pink, An Implementation of the Revised Internet Stream Proto col

Journal of Internetworking: Research and Experience , Vol. 3, No. I (Mar. 1992). [Partridge 1998] C. Partridge, et al. A Fifty Gigabit per second IP Router, IEEE/ACM Transactions on Networking, Vol. 6, No. 3 (Jun. 1998), pp. 237-248. [Paxson 19971 V. Paxson, End-to-end Internet packet dynamics, Proc. 997 ACM SIGCOMM
(ST-2), (Cannes, France, Sept 1997). [Perkins 1994] A. Perkins, Networking with Bob Metcalfe, 1994. [Perkins 1998] C. Perkins, O. Hodson, V. Hardman, A Survey of Packet Loss Recovery Techniques

Ihe Red Herring Magazine, Nov.

IEEE Network Magazine, Sept./Oct. 1998, pp. 40-47. [Perkins 1998b] C. Perkins, Mobile IP: Design Principles and Practice, Addison-Wesley, Reading,
for Streaming Audio, MA, 1998.

Ad Hoc Networking, Addison-Wesley, Reading, MA, 2000. [Perlman 1999] R. Perlman, Interconnections: Bridges, Routers, Switches, and Internetworking Protocols, 2nd cd., Addison-Wesley Professional Computing Series, Reading, MA,
[Perkins 2000] C. Perkins, 1999. [PGP1 2007] The International PGP Home Page, http://www.pgpi.org [Phifer 2000] L. Phifer, Ihe Trouble with NAT,

The Internet Protocol Journal, Vol. 3, No. 4 (Dec.

2000), http://www.cisco.com/warp/public/759/ipj_3-4/ipi_3-4_nat.html [Pickholtz 1982] R. Pickholtz, D. Schilling, L. Milstein, Theory of Spread Spectrum Communica tion a Tutorial.

IEEE Transactions on Communications, Vol. 30, No. 5 (May 1982), pp. 855-884. Open Systems Networking, Addison-Wesley,

[pingplotter 2007] pingplotter homepage, http://www.pingplotter.com [Piscatello 1993] D. Piscatello, A. Lyman Chapin, Reading, MA, 1993. [Point Topic 2006] Point Topic Ltd., com [PPLive 20071 PPI.ive homepage, http://www.pplive.com [Primctrica 2007] PriMetrica Inc, Global Internet Geography 2006, http://www.tclegeography . com [QuickTime 2007] QuickTime homepage, http://www.apple.com/quicktime [Quittner 1998] J. Quittner, M. Slatalla,

World Broadband Statistics Q1 2006, http://www.pointtopic .

Speeding the Net: 'Ihe Inside Story of Netscape and

How it Challenged Microsoft, Atlantic Monthly Press, 1998.


[Ramakrishnan 1990] K. K. Ramakrishnan, R. Jain, A Binary Feedback Scheme for Congestion Avoidance in Computer Networks, 1990) , pp. 158-181. [Raman 1999] S. Raman, S. McCanne, A Model, Analysis, and Protocol Framework for Soft Sta tebased Communication,"

ACM Transactions on Computer Systems, Vol. 8, No. 2 (May

Proc. 999 ACM SIGCOMM (Boston, MA, Aug. 1999). IEEE

[Raman 2007J B. Raman, K. Chebrolu, Experiences in using WiFi for Rural Internet in India, Emerging Economies, Jan 2007. [Ramaswami 1998] R. Ramaswami, K. Sivarajan, Morgan Kaufman Publishers, 1998.

Communications Magazine, Special Issue on New Directions in Networking Technologies in Optical Networks: A Practical Perspective,

243

IRODALOMJKGYZF.K

[Ramjee 1994] R. Ramjee, J. Kurosc, D. Towsley, H. Schulzrinne, Adaptive Playout Mechanisms for

Proc. 1994 IEEE Infocom. JRao 1996] K. R. Rao, J. J. Hwang, Techniques and Standards for Image, Video and Audio Coding, Prenticc Hall, Englewood Clifls, NJ, 1996.
Packetized Audio Applications in Wide-Area Networks [RAT 2007] Robust Audio Tool, http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/ [Ratnasamy 2001] S. Ratnasamy, P. Francis, M. Handley, R. Karp, S. Shenker, A Scalable Content-Addressable Network,

Proc. 2001 ACM SIGCOMM, (San Diego, CA, Aug. 2001). [RealNetworks 20071 Proc. 2006 IEEE ICDCS (Lisboa,

RealNetworks homepage, http://www.realnetworks.com [Ren 2006] S. Ren, 1.. Guo, X. Zhang, ASAP: an AS-aware peer-relay protocol for high quality VoIP, Portugal. July 2006). [Rescorla200l] E. Rescorla, Wesley, Boston, 2001. [RFC 001] S. Crocker, Host Software, RFC 001 (the

SSL and I LS: Designing and Building Secure Systems, Addisonvery first RFC!).

[RFC 768] J. Postel, User Datagram Protocol," RFC 768, Aug. 1980. [RFC 7891 E. Rosen, Vulnerabilities of Network Control Protocols, RFC 789. [RFC 791] J. Postel, Internet Protocol: DARPA Internet Program Protocol Specification," RFC 791, Sept. 1981. [RFC 792] J. Postel, Internet Control Message Protocol, RFC 792, Sept. 1981. [RFC 793] J. Postel, Transmission Control Protocol, RFC 793, Sept. 1981. [RFC 801] J. Postel, NCP/TCP Transition Plan, RFC 801 Nov. 1981. [RFC 826] D. C. Plummer, An Ethernet Address Resolution Protocol - or - Converting Network Protocol Addresses to 48 bit Ethernet Address for Transmission on Ethernet Hardware, RFC 826, Nov. 1982. [RFC 829) V. Cerf, Packet Satellite Technology Reference Sources, RFC 829, Nov. 1982. [RFC 854] J. Postel, J. Reynolds, TELNET Protocol Specification, RFC 854. May 1993. [RFC 950] J. Mogul, J. Postel, Internet Standard Subnetting Procedure, RFC 950, Aug. 1985. [RFC 9591 J- Postel. I. Reynolds, File Transfer Protocol (FTP), RFC 959, Oct. 1985. [RFC 977] B. Kantor, P. Lapsley, Network News Transfer Protocol, RFC 977, Feb. 1986. [RFC 1028] J. Davin. J.D. Case, M. Fedor, M. Schofistall, A Simple Gateway Monitoring Protocol, RFC 1028, Nov. 1987. [RFC 1034] P. V. Mockapetris, Domain Names - Concepts and Facilities, RFC 1034, Nov. 1987. [RFC 1035] P. Mockapetris, Domain Names - Implementation and Specification, RFC 1035, Nov. 1987. [RFC 1058] C. L. Hendrick, Routing Information Protocol, RFC 1058, June 1988. 808 [RFC 1071] R. Braden, D. Borman, C. Partridge, ComputingThe Internet Checksum RFC 1071, Sept. 1988. [RFC 1075] D. Waitzman, C. Partridge, S. Deering, Distance Vector Multicast Routing Protocol, RFC 1075, Nov. 1988. [RFC 11121 S. Deering, Host Extension for IP Multicasting, RFC 1112, Aug. 1989. [RFC 1122] R. Braden, Requirements for Internet Hosts - Communication Layers, RFC 1122, Oct. 1989. [RFC 1123] R. Braden, ed., Requirements for Internet Hosts -Application and Support RFC-1123, Oct. 1989. [RFC 1142] D. Oran, OSI IS-IS Intra-domain Routing Protocol, RFC 1142, Feb. 1990. [RFC 1190] C. Topolcic, Experimental Internet Stream Protocol: Version 2 (ST-II), RFC 1190, Oct. 1990. [RFC 1191J J. Mogul, S. Deering, Path MTU Discovery, RFC 1191, Nov. 1990.

IRODALOMJEGYZK
TCP/IP-based internets: MIB-II, RFC 1213, Mar. 1991. [RFC 1256] S. Deering, ICMP Router Discovery Messages, RFC 1256, Sept. 1991. [RFC 1320| R. Rivest, The MD4 Message-Digest Algorithm, RFC 1320, Apr. 1992. [RFC 1321] R. Rivest, 'lhe MD5 Message-Digest Algorithm, RFC 1321, Apr. 1992.

221

[RFC 1213] K. McCloghrie, M. T. Rose, Management Information Base for Network Management of

[RFC 1323] V. Jacobson, S. Braden, D. Borman, TCP Extensions for High Performance, RFC 1323, May 1992. [RFC 1422] S. Kent, Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management, RFC 1422. [RFC 1547] D. Perkins, Requirements for an Internet Standard Point-to-Point Protocol, RFC 1547, Dec. 1993. [RFC 1584] J. Moy, Multicast Extensions to OSPF, RFC 1584, Mar. 1994. [RFC 1633] R. Braden, D. Clark, S. Shenker, integrated Services in the Internet Architecture: an Overview, RFC 1633, June 1994. [RFC 1636] R. Braden, D. Clark, S. Crocker, C. Huitema, Report of 1AB Workshop on Security in the Internet Architecture, RFC 1636, Nov. 1994. [RFC 1661]W. Simpson (ed.), The Point-to-Point Protocol (PPP), RFC 1661, July 1994. [RFC 1662] W. Simpson (ed.), PPP in HDLC-like framing, RFC 1662, July 1994. [RFC 1700] J. Reynolds, J. Postel, Assigned Numbers, RFC 1700, Oct. 1994. [RFC 1752] S. Bradner, A. Mankin, The Recommendations for the IP Next Generation Protocol, RFC 1752, Jan. 1995. [RFC 1760] N. Haller. The S/KEY One-Time Password System, RFC 1760, Feb. 1995. [RFC 1772JY. Rekhter, P. Gross, "Application of the Border Gateway Protocol in the Internet, RFC 1772, Mar. 1995. [RFC 1773] P. Trana, Experience with the BGP-4 protocol, RFC 1773, Mar. 1995. [RFC 1918] Y. Rekhter, B. Moskowitz, D. Karrenberg, G. J. de Groot, E. Lear, Address Allocation for Private Internets, RFC 1918, Feb. 1996. [RFC 1930] J. Hawkinson, T. Bates, Guidelines for Creation, Selection, and Registration of an Au tonomous System (AS), RFC 1930, Mar. 1996. [RFC 1938] N. 11 a Her, C. Metz, A One-Time Password System, RFC 1938, May 1996. [RFC 1939] J. Myers, M. Rose, Post Office Protocol - Version 3, RFC 1939, May 1996. [RFC 1945] T. Berners-Lee, R. Fielding, H. Frystyk, Hypertext Transfer Protocol HTTP/1.0, RFC 1945, May 1996. [RFC 2003] C. Perkins, IP Encapsulation within IP, RFC 2003, Oct. 1996. [RFC 2004] C. Perkins, "Minimal Encapsulation within IP, RFC 2004, Oct. 1996. [RFC 2018] M. Mathis, J. Mahdavi, S. Floyd, A. Romanow, TCP Selective Acknowledgment Options, RFC 2018, Oct. 1996. [RFC 2045] N. Freed, N. Borenstein, Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, RFC 2045, Nov. 1996. [RFC 2050] K. Hubbard, M. Kosters, D. Conrad. D. Karrenberg, J. Postel, "Internet Registry IP Allocation Guidelines, RFC 2050, Nov. 1996. (RFC 2104] H. Krawczyk, M. Bcllare, R. Canetti, HMAC: Keyed-Hashing for Message Authentication, RFC 2104, Feb. 1997. 1RFC 2131] R. Droms, Dynamic Host Configuration Protocol, RFC 2131, Mar. 1997. [RFC 21361 P. Vixie, S. Thomson,Y. Rekhter, J. Bound, Dynamic Updates in the Domain Name System, RFC 2136, Apr. 1997. [RFC 2153JW. Simpson, PPP Vendor Extensions, RFC 2153, May 1997.

222

IRODALOMJEGYZEK

[RFC 2205] R. Braden, Ed., L. Zhang, S. Bcrson, S. Herzog, S. Jamin, Resource ReSerVation Proto col (RSVP) - Version 1 Functional Specification, RFC 2205, Sept. 1997. [RFC 2210] J. Wroclawski, The Use of RSVP with IETF Integrated Services, RFC 2210, Sept. 1997. [RFC 2211] ]. Wroclawski, Specification of the Controlled-Load Network Element Service, RFC 2211, Sept. 1997. [RFC 2215] S. Shenker, J. Wroclawski, General Characterization Parameters for Integrated Service Network Elements, RFC 2215, Sept. 1997. [RFC 2225] M Laubach, J. Halpern, Classical UP and ARP over ATM, RFC 2225, Apr. 1998. [RFC 2246] T. Dicrks, C. Allen, The TLS Protocol, RFC 2246, Jan. 1998. [RFC 2253] M. Wahl, S. Kille, T. Howes, Lightweight Directory Access Protocol (v3), RFC 2253, Dec. 1997. [RFC 2284] L. Blunk, J. Vollbrecht, PPP Extensible Authentication Protocol (F.AP)RFC 2284, Mar. 1998. [RFC 2326] H. Schulzrinne, A. Rao, R. I.anphier, Real Time Streaming Protocol (RTSP), RFC 2326, Apr. 1998. (RFC 2328| J. Moy, "OSPF Version 2, RFC 2328, Apr. 1998. (RFC 2409] D. Harkins, D. Carrel,The Internet Key Exchange (IKE), RFC 2409, Nov. 1998. http:// www.rfc-editor.org/rfc/rfc2409.txt [RFC 2420] H. Kummert, The PPP Triple-DES Encryption Protocol (3DESE), RFC 2420, Sept. 1998. [RFC 2437] B. Kaliski, J. Staddon, PKCS #1: RSA Cryptography Specifications, Version 2, RFC 2437, Oct. 1998. [RFC 2448] M. Civanlar, G. Cash, B. Haskell, AT&Ts Error Resilient Video Transmission Tech nique, 1 "Nov. 1998. [RFC 2453] G. Malkin, RIP Version 2, RFC 2453, Nov. 1998. [RFC 2460] S. Deering, R. Hinden, Internet Protocol, Version 6 (IPv6) Specification, RFC 2460, Dec. 1998. (RFC 2475] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang.W. Weiss, An Architecture for Dif ferentiated Services, RFC 2475, Dec. 1998. (RFC 2578] K. McCloghrie, I). Perkins, J. Schoenwaelder, Structure of Management Information Version 2 (SMIv2), RFC 2578, Apr. 1999. [RFC 2579] K. McCloghrie, D. Perkins, J. Schoenwaelder, Textual Conventions for SMIv2, RFC 2579, Apr. 1999. (RFC 2580] K. McCloghrie, D. Perkins, J. Schoenwaelder, Conformance Statements for SMIv2, RFC 2580, Apr. 1999. [RFC 2581] M. Allman, V. Paxson,W. Stevens, TCP Congestion Control, RFC 2581, Apr. 1999. [RFC 2597] J. Heinanen, F. Baker,W. Weiss, J. Wroclawski, Assured Forwarding PHB Group, RFC 2597, June 1999. [RFC 2616] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. I.each, T. Berners-Lee, R. Fielding, Hypertext Transfer Protocol - HTTP/1.1, RFC 2616, June 1999. (RFC 2663] P. Srisuresh, M. Holdrege, IP Network Address Translator (NAT) Terminology and Considerations, RFC 2663. [RFC 2702] D. Awduche, J. Malcolm, J. Agogbua, M. ODell, J. McManus, Requirements for Traffic Engineering Over MPLS, Sept. 1999. (RFC 2716] B. Aboba, D. Simon, "PPP EAP TLS Authentication Protocol, RFC 2716, Oct. 1999. [RFC 2733) |. Rosenberg, H. Schulzrinne, An RTP Payload Format for Generic Forward Error Correction," RFC 2733, Dec. 1999. [RFC 2821] J. Klensin, ed., Simple Mail Transfer Protocol, RFC 2821, Apr. 2001.

IRODALOMJEGYZEK

223

[RFC 2827) P. Ferguson, D. Senie, Network Ingress Filtering: Defeating Denial of Service Attacks which Employ IP Source Address Spoofing," RFC 2827, May 2000. [RFC 2865] C. Rigney, S. Willens, A. Rubens,W. Simpson, Remote Authentication Dial In User Service (RADIUS)," RFC 2865, June 2000. RFC 2960] R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang, V. Paxson, Stream Control Transmission Protocol, RFC 2960, Oct. 2000. [RFC 2961] L. Berger, D. Gan, G. Swallow, P. Pan, F. Tommasi, S. Molendini, RSVP Refresh Over head Reduction Extensions, RFC 2961, Apr. 2001. [RFC 2988] V. Paxson, M. Allman, Computing TCP's Retransmission Timer, RFC 2988, Nov.

2000 .
[RFC 3007] B. Wellington, Secure Domain Name System (DNS) Dynamic Update, RFC 3007, Nov. 2000. [RFC 3022] P. Srisuresh, K. Egevang, Traditional IP Network Address Translator (Traditional NAT)"RFC3022, Jan. 2001. [RFC 3031] E. Rosen, A. Viswanathan, R. Callon, Multiprotocol Label Switching Architecture, RFC 3031, Jan. 2001. [RFC 3032] E. Rosen, D. Tappan, G. Fedorkow,Y. Rekhter, D. Farinacci, T. Li. A. Conta, MPLS La bel Stack Encoding, RFC 3032, Jan. 2001. [RFC 3052] M. Edcr, S. Nag, Service Management Architectures Issues and Review, RFC 3052, Jan. 2001. [RFC 3139] L. Sanchez, K. McCloghrie, J. Saperia, Requirements for Configuration Management of IP-Based Networks RFC 3139, June 2001. [RFC 3168] K. Ramakrishnan, S. Floyd, D. Black, The Addition of Explicit Congestion Notifica tion (ECN) to IP, RFC 3168, Sept. 2001. [RFC 3209] D. Awduche, L. Berger, D. Gan, T. Li, V. Srinivasan, G. Swallow, RSVP-TE: Extensions to RSVP for LSP Tunnels, RFC 3209, Dec. 2001. [RFC 3221] G. Huston, Commentary on Inter-Domain Routing in the Internet, RFC 3221, Dec. 2001. [RFC 3232) ]. Reynolds, Assigned Numbers: RFC 1700 is Replaced by an On-line Database, RFC' 3232, Jan. 2002. [RFC 3246] B. Davie, A. Charny, J.C.R. Bennet, K. Benson, J.Y. Le Boudec,W. Courtney, S. Dava- ri, V. Firoiu, D. Stiliadis, "An Expedited Forwarding PIIB (Per-Ilop Behavior), RFC 3246, Mar.

2002.
[RFC 3260] D. Grossman, New Terminology and Clarifications for Diffserv, RFC 3260, Apr.

2002.
[RFC 3261] J. Rosenberg, H. Schulzrinne, G. Carmarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler,SIP: Session Initiation Protocol, RFC 3261, July 2002. [RFC 3272] J. Boyle, V. Gill, A. Hannan, D. Cooper, D. Awduche, B. Christian,W.S. Lai, Overview and Principles of Internet Traffic Engineering, RFC 3272, May 2002. [RFC 3286] L. Ong, J. Yoakum, An Introduction to the Stream Control Transmission Protocol (SCTP)," RFC 3286, May 2002. [RFC 3344] C. Perkins, ed., IP Mobility Support for IPv4," RFC 3344, Oct. 2002. [RFC 3346] J. Boyle, V. Gill, A. Hannan, D. Cooper, D. Awduche, B. Christian,W. S. Lai, Applica bility Statement for Traffic Engineering with MPLS," RFC 3346, Aug. 2002. (RFC 3376) B. Cain, S. Deering, I. Kouvelas, B. Fenner, A. Tliyagarajan, "Internet Group Manage ment Protocol, Version 3 RFC 3376, Oct. 2002. [RFC 3390) M. Allman, S. Floyd, C. Partridge, Increasing TCPs Initial Window, RFC 3390, Oct.

2002.
[RFC 3410] J. Case, R. Mundy, D. Partain, Introduction and Applicability Statements for Internet Standard Management Framework," RFC 3410, Dec. 2002. [RFC 3411] I). Harrington, R. Presuhn, B. Wijnen, An Architecture for Describing Simple Net work

224
Management Protocol (SNMP) Management Frameworks, RFC 3411, Dec. 2002.

1R0DA1.0MJEGYZEK

[RFC 3414] U. Blumenthal, User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3), RFC 3414, Dec. 2002. [RFC 3415] B. Wijnen, R. Presuhn, K. McCloghrie, View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP), RFC 3415, Dec. 2002. [RFC 3416] R. Presuhn, J. Case, K. McCloghrie, M. Rose, S. Waldbusser, Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP), Dec. 2002. [RFC 3417J R. Presuhn, Transport Mappings for the Simple Network Management Protocol, (SNMP), RFC 3417, Dec. 2002. [RFC 3439] R. Bush, D. Meyer, Some internet architectural guidelines and philosophy, RFC 3439, Dec. 2003. [RFC 3468) L. Andersson, G. Swallow, The Multiprotocol Label Switching (MPLS) Working Gro up Decision on MPLS Signaling Protocols, RFC 3468, Feb. 2003. [RFC 3469] V. Sharma, Ed., F. Hellstrand, Ed, Framework for Multi-Protocol Label Switching (MPLS)based Recovery, RFC 3469, Feb. 2003. ftp://ftp.rfc-editor.org/in-notes/rfc3469.txt [RFC 3501] M. Crispin, Internet Message Access Protocol - Version 4revl, RFC 3501, Mar. 2003. [RFC 3513] R. Hinden, S. Deering, Internet Protocol Version 6 (IPv6) Addressing Architecture, RFC 3513, Apr. 2003. [RFC 3550J H. Schulzrinne, S. Casner, R. Frederick, V. Jacobson, RTP: A Transport Protocol for RealTime Applications, RFC 3550, July 2003. [RFC 3569J S. Bhattacharyya (ed.), An Overview of Source-Specific Multicast (SSM), RFC 3569, July 2003. [RFC 35881 P. Calhoun, J. Loughney, I. Guttman, G. Zorn, 1. Arkko, Diameter Base Protocol, RFC 3588, Sept. 2003. [RFC 3618] B. Fenner, D. Meyer, Ed., Multicast Source Discovery Protocol (MSDP)RFC 3618, Oct. 2003. [RFC 36491 S. Floyd, High Speed TCP for Large Congestion Windows, RFC 3649, Dec. 2003. [RFC 3700] J. Reynolds, S. Ginoza, Ed, Internet Official Protocol Standards, RFC 3700, July 2004. [RFC 3782] S. Floyd, T. Henderson, A. Gurtov, The NewReno Modification to TCPs Fast Recovery Algorithm, RFC 3782, Apr. 2004. [RFC 3973] A. Adams, J. Nicholas,W. Siadak, Protocol Independent Multicast - Dense Mode (PIMDM): Protocol Specification (Revised), RFC 3973, Jan. 2005. [RFC 4022] R. Raghunarayan, Ed., Management Information Base for the Transmission Control Protocol (TCP)," RFC 4022, Mar. 2005. [RFC 4113] B. Fenner, J. Flick, Management Information Base for the User Datagram Protocol (UDP), RFC 4113, June 2005. [RFC 4213] E. Nordmark, R. Gilligan, Basic Transition Mechanisms for IPv6 Hosts and Routers, RFC 4213, Oct. 2005.

225

IRODALOMJHGYZLK

[RFC 4271] Y. Rckhtcr,T. Li, S. Hares, Ed., A Border Gateway Protocol 4 (BGP-4), RFC 4271, Jan. 2006. [RFC 42911 R. 1 linden, S. Peering, 'TP Version 6 Addressing Architecture, RFC 4291, February 2006. (RFC 4293) S. Routhier, Fid. Management Information Base for the Internet Protocol (IP), RFC 4293, Apr. 2006. (RFC 4301] S. Kent, K. Seo, Security Architecture for the Internet Protocol, RFC 4301, December 2005. (RFC 4302] S. Kent, TP Authentication Header, RFC 4302, December 2005. [RFC 4303] S. Kent, IP Encapsulating Security Payload (ESP), RFC 4303, December 2005. [RFC 4305] D. F.astlake, Cryptographic Algorithm Implementation Requirements for Encapsula ting Security Payload (ESP) and Authentication Header (AH), RFC 4305, December 2005. [RFC 4340] E. Kohler, M. Handley, S. Floyd, Datagram Congestion Control Protocol (DCCP), RFC 4340, Mar. 2006. [RFC4443] A. Conta, S. Deering, M. Gupta, Ed.,Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification, RFC4443, Mar. 2006. (RFC 4346] T. Dierks, E. Rescorla, The Transport Layer Security (TI.S) Protocol Version 1.1, RFC 4346, April 2006. [RFC 4502] S. YValdbusser, Remote Network Monitoring Management Information Base Version 2, RFC 4502, May 2006. [RFC 4601] B. Fenner, M. Handley, H. Holbrook, I. Kouvelas, Protocol Independent Multi cast Sparse Mode (PIM-SM): Protocol Specification (Revised), RFC 4601, Aug. 2006. [RFC 4607] H. Holbrook, B. Cain, Source-Specific Multicast for IP, RFC 4607, Aug. 2006. [RFC 4611] M. McBride, J. Meylor, D. Meyer, Multicast Source Discovery Protocol (MSDP) Dep loyment Scenarios, RFC 4611, Aug. 2006. [RFC 4632] V. Fuller, T. Li, Classless Inter-domain Routing (CIDR): The Internet Address Assign ment and Aggregation Plan, RFC 4632, Aug. 2006. [Rhee 1998] I. Rhee, Error Control Techniques for Interactive l.ow-bit Rate Video Transmission over the Internet,

Proc. 1998 ACM SIGCOMM, (Vancouver BC, Aug. 1998). A

[Roberts 1967] L. Roberts, T. Merril, Toward a Cooperative Network of Time-Shared Computers,

FI PS Fall Conference, Oct. 1966.


[Roberts 2004] J. Roberts, Internet Traffic, QoS and Pricing, Proceedings of the IEEE, Volume 92, No. 9, (Sept. 2004), pp. 1389-1399. [Rom 1990] R. Rom, M. Sidi, Verlag, New York, 1990. [Root Servers 2007] http://www.root-servers.org/

Multiple Access Protocols: Performance and Analysis, Springer-

The Simple Book: An Introduction to Internet Management, RevisedSecond Edition, Prentice Hall, Englewood Cliffs, NJ, 1996.
[Rose 1996] M. Rose, [Rosenberg 2000] J. Rosenberg, L. Qiu, H. Schulzrinne, Integrating Packet FEC into Adaptive Pla-

Proc. 2000 IEEE Infocom (Tel Aviv, Israel, Apr. 2000). [Ross 1995] K. W. Ross, Multiservice Loss Models for Broadband Telecommunication Networks, Springer, Berlin, 1995.
yout Buffer Algorithms on the Internet, [Ross 2007] K. W. Ross, PowerPoint slides on network Security, http://cis.poly.edu/~ross [Rowston 2001] A. Rowston, P. Druschel, Pastry: Scalable, Distributed Object Location and Rou ting for LargeScale Peer-to-Peer Systems, in key Cryptosystems,

Proc. 2001 1FIP/ACM Middleware, Heidelberg, Germany, 2001.

[RSA 1978] R. Rivest, A. Shamir, L. Adelman, A Method for Obtaining Digital Signatures and Public-

Communications of the ACM, Vol. 21, No. 2, pp. 120-126, Feb. 1978. [RSA

FAQ 2004] RSA Inc., RSA Laboratories Frequently Asked Questions About Todays Cryptography, Version 4.1, htlp://\v\vw.rsasecurity.com/rsalabs/faq [RSA Fast 2007] RSA Laboratories, Mow fast is RSA? http://www.rsasecurity.com/rsalabs/ faq/3-l-

1RODALOMJEGYZK

226

2.html [RSA Key 2007] RSA Laboratories, How large a key should be used in the RSA Crypto system? http://www.rsasecurity.com/rsalabs/faq/3-l-5.html [Rubenstein 1998] D. Rubenstein, J. Kurose, D. Towsley, Real-Time Reliable Multicast Using Pro -

Proceedings of NOSSDAV '98 (Cambridge, UK, July 1998). [Rubin 2001] A. Rubin, White-Hat Security Arsenal: Tackling the Threats , Addison-Wesley,
active Forward Error Correction, 2001. [Ruiz-Sanchez 2001] M. Ruiz-Snchez, E. Bicrsack.YV. Dabbous, Survey and Taxonomy of IP

IEEE Network Magazine, Vol. 15, No. 2, pp. 8-23, Mar./Apr. 2001 [Saltzer 1984] J. Saltzer, D. Reed, D. Clark, End-to-End Arguments in System Design, ACM Transactions on Computer Systems (TOCS), Vol. 2, No. 4 (Nov. 1984).
Address Lookup Algorithms, [Saydam 1996] T. Savdam. T. Magcdanz, From Networks and Network Management into Service and Service Management, 1996), pp. 345-348. [Schiller 2003] J. Schiller,

Journal of Networks and System Management, Vol. 4, No. 4 (Dec.

Mobile Communications 2nd edition, Addison Wesley, 2003. [Schneier 1995] B. Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C, John Wiley and Sons, 1995.
[Schulzrinne 1997] H. Schulzrinne, A Comprehensive Multimedia Control Architecture for the Internet,

NOSSDAV97 (Network and Operating System Support for Digital Audio and

Video), (St. Louis, MO, May 1997).


[Schulzrinne-RTP 2007J Iienning Schulzrinnes RTP site, http://www.cs.columbia.edu/~hgs/rtp [Schulzrinne-RTSP 2007] Henning Schulzrinnes RTSP site, http://www.cs.columbia.edu/~hgs/ rtsp [Schulzrinne-SIP 2007] Henning Schulzrinnes SIP site, http://www.cs.columbia.edu/~hgs/sip [Schwartz 1977] M. Schwartz, [Schwartz 1980] M. Schwartz, NY, NY 1980. [Schwartz 1982| M. Schwartz, "Performance Analysis of the SNA Virtual Route Pacing Control," Schwiebert, S. Gupta, J. Weinmann, Research Challenges in Wireless Net works of Biomedical Sensors,

Computer-Communication Network Design and Analysis, Information, Transmission, Modulation, and Noise, McGraw-Hill, IEEE

Prenti- ce-Hall, Englewood Cliffs, N.J., 1997.

Transactions on Communications, Vol. 30, No. 1, (Jan. 1982), pp. 172-18'L JSchwicbert 2001] L. ACM Mobicotn 2001, 2001, pp. 151-165.

[Scourias 2007] J. Scourias, Overview of the Global System for Mobile Communications: GSM. htt p://w w w.pr ivatel i ne.com/ PCS/GSM0. h t m I [Segaller 1998] S. Segallcr,

Nerds 2.0.1, A Brief History of the Internet, TV Books, New York, Proc. 1990 IEEE Infocom (San Francisco, CA, Apr. 1990), pp.

1998. [Shachani 1990] N. Shacham, P. McKenney, Packet Recovery in High-Speed Networks Using Coding and Buffer Management, 124-131. [Sharma 2003] P. Sharma, E, Perry, R. Malpani, IP Multicast Operational Network management: Design, Challenges, and Experiences,

IEEE Network Magazine, Mar. 2003, pp. 49-55.

[Sidor 1998] D. Sidor, TMN Standards: Satisfying Todays Needs While Preparing for Tomorrow,"

IEEE Communications Magazine, Vol. 36, No. 3 (Mar. 1998), pp. 54-64.

1RODALOMJEGYZK

227

739
I RODALOMJUGYZK

The Code Book: The Evolution of Secrecy from Mary, Queen of Scotsto Quantum Cryptography, Doubleday Press, 1999.
{Singh 1999J S. Singh, (SIP Software 2007] H. Schulzrinne Software Package site, http://www.cs.columbia.edu/IRT/softwarc

Malware: Fighting Malicious Code, Prentice Hall, 2004. (Skoudis 2006] E. Skoudis, T. Liston, Counter Hack Reloaded: A Step-by-Step Guide to Computer Attacks and Effective Defenses (2nd Edition), Prentice Hall, 2006.
(Skoudis 2004] E. Skoudis, L. Zeltser, (Skype 2007] Skype homepage, www.skype.com (SMIL 2007] W3C Synchronized Multimedia homepage, http://www.w3.org/AudioVideo (Snort 2007] Sourcefire Inc., Snort homepage, http:// http://www.snort.org/

Digital Video and Audio Compression, McGraw Hill, NY, NY, 1997. [Solensky 1996] F. Solensky, IPv4 Address Lifetime Expectations, in I Png: Internet Protocol Next Generation (S. Bradner, A. Mankin, ed.), Addison-Wesley, Reading, MA, 1996. (Spragins 19911 J. D. Spragins, Telecommunications Protocols and Design, Addison-Wesley,
[Solari 1997] S. j. Solari, Reading, MA, 1991. [Sprint 2007] Sprint Corp., Dedicated Internet Access Service Level Agreements, http://www . sprint.com/business/resources/dedicated_internet_access.pdf [Srinivasan 1999] V. Srinivasan, G. Varghesc, Fast Address Lookup Using Controlled Prefix Ex pansion, ACM

Transactions ComputerSys., Vol. 17, No. 1 (Feb 1999), pp. 1-40. Proc. 4th ACM SIGCOMM Internet Measurement Conference, SNMP, SNMP v2, and CMIP The Practical Guide to Network

[Sripanidkulchai 2004] K. Sripanidkulchai, B. Maggs, H. Zhang, An analysis of live streaming workloads on the Internet, [Stallings 1993] W. Stallings, (Taormina, Sicily, Italy), pp. 41-54, 2004.

Management Standards, Addison-Wesley, Reading, MA, 1993. [Stallings 1999] W. Stallings, SNMP, SNMPv2, SNMPv3, and RMONI and2, Addison-Wesley, Reading, MA, 1999. [Steinder 2002] M. Steinder, A. Sethi, Increasing robustness of fault localization through analysis of

Proc. 2002 IEEE Infocom. [Stevens 1990]W. R. Stevens, Unix Network Programming, Prentice-Hall, Englewood Cliffs, NJ. (Stevens 1994]W. R. Stevens, TCP/IP Illustrated, Vol. I: The Protocols, Addison-Wesley, Reading,
lost, spurious, and positive symptoms, MA, 1994. (Stevens 1997] W.R. Stevens,

Unix Network Programming, Volume 1: Networking A PIs-

Sockets and XT1, 2nd edition, Prentice-Hall, Englewood (Tiffs, NJ, 1997. (Stewart 1999] J. Stewart, BGP4: Interdomain Routing in the Internet, Addison-Wesley, 1999.
[Stoica 2001] 1. Stoica, R. Morris, D. Karger, M.F. Kaashock, H. Balakrishnan, Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications, CA, Aug. 2001). (Stone 1998] J. Stone, M. Greenwald, C. Partridge, J. Hughes, Performance of Checksums and CRCs

Proc. 2001 ACM SIGCOMM (San Diego,

IEEE/ACM Transactions on Networking, Vol. 6, No. 5 (Oct. 1998), pp. 529-543. (Stone 2000] J. Stone, C. Partridge, When Reality and the Checksum Disagree, Proc. 2000 ACM SIGCOMM (Stockholm, Sweden, Aug. 2000). (St rayer 1992] W. T. St rayer, B. Dempsey, A. Weaver, XTP: The Xpress Transfer Protocol, AddiOver Real Data, son-Wesley, Reading, MA, 1992. (Stubblefield 2002] A. Stubblefield, J. Ioannidis, A. Rubin, Using the Fluhrer, Mantin, and Shamir Attack to Break WEP,

Proceedings of2002 Network and Distributed Systems Security

Symposium (2002), 17-22.

[Suhramanian 2000J M. Subramanian, Wesley, Reading, M A, 2000.

Network Management: Principles and Practice, Addison-

(Subramanian 2002] L. Subramanian, S. Agarwal, J. Rexford, R. Katz, Characterizing the Internet I lierarchy from Multiple Vantage Points, Point Selection, 2006). [Suh 2006] K. Suh, D.R. Figueiredo, J. Kurose, D. Towsley, Characterizing and detecting relayed tralTic: A case study using Skype, tice/sem/index. [Sunshine 1978| C. Sunshine,Y. Dalai, Connection Management in Transport Protocols,"

Proc. 2002 IEEE Infocom.

[Sundaresan 2006] K.Sundaresan, K. Papagiannaki, The Need for Cross-layer Information in Access

Proc. 2006 ACM Internet Measurement Conference, (Rio De Janeiro, Oct.

Proc. 2006 IEEE Infocom (Barcelona, Spain, Apr. 2006).

(Sun 2007| Sun Microsystems, Solstice Enterprise Manager, http://www.sun.com/software/sols-

Computer

Networks, North-Holland, Amsterdam, 1978.


[TechnOnLine 2004] TechOnLine, Protected Wireless Networks," online webcast tutorial, http:// www.techonline.com/community/tech_topic/internet/2l752 [Thaler 1997] D. Thaler, C. Ravishankar, Distributed Center-Location Algorithms,

IEEE Journal on

Selected Areas in Communications, Vol. 15, No. 3, (Apr. 1997), pp. 291-303.
[Think 2007] Technical I listory of Network Protocols, "Cyclades, http://www.cs.utexas.edu/users/ chris/think/Cyclades/index.shtml
/

['Ihottan 1998] M. Thottan, C. Ji, Proactive Anomaly Detection Using Distributed Intelligent Agents,

IEEE Network Magazine, Vol. 12, No. 5 (Sept./Oct. 1998), pp. 21-28.

[Tobagi 1990] P. Tobagi, Fast Packet Switch Architectures for Broadband Integrated Networks,

Proc. of the IEEE, Vol. 78, No. 1 (Jan. 1990), pp. 133-167.
(Turner 1988] J. S. Turner Design of a Broadcast packet switching network,

IEEE Transactions

on Communications, Vol. 36, No. 6 (June 1988), pp. 734-743.


(UPnP Forum 2007) UPnP Forum homepage, http://www.upnp.org/ [Varghese 1997] G. Varghese, A. Lauck, Hashed and Hierarchical 'Timing Wheels: Efficient Data Structures for Implementing a Timer Facility, No. 6, (Dec. 1997), pp. 824-834. (Vasudevan 2006] S. Vasudevan, C. Diot, J. Kurose, D. Towsley, Facilitating Access Point Selec tion in IEEE 802.11 Wireless Networks," Francisco CA, Oct. 2005). [Verisign 2007] http://www.verisign.com [Verizon 2007] Verizon, US Products and Services, http://www.verizonbusiness.com/terms/us/ products/ [Verma 2001J D.C. Verma, Wiley,

IEEE/ACM Transactions on Networking, Vol. 5,

Proc. 2005 ACM Internet Measurement Conference , (San

Content Distribution Networks: An Engineering Approach, John

2001.
[Villamizar 1994] C. Villamizar, C. Song. High performance tcp in ansnet,

ACM SIGCOMM

Computer Communications Review, Vol. 24, No. 5 (1994), pp. 45-60. (Viterbi 19951 A- Viterbi, CDMA: Principles of Spread Spectrum Communication, AddisonWesley, Reading, MA, 1995. [von I.ohmann 2003] F. von Lohmann, Peer-to-Peer File Sharing and Copyright Law: A Primer for Developers, CA, 2003). [Voydock 1983J V.L. Voydock,S.T. Kent, Security Mechanisms in High-Level Network Protocols,

2nd International Workshop on Peer-to-Peer Systems (IPTPS 03), (Berkeley,

ACM Computing Surveys, Vol. 15, No. 2 (June 1983), pp. 135-171.

IROAIOMJRCYZK
741

I RODALOMJEGYZ K

(W3C 1995J The World Wide Web Consortium, A Little History of the World Wide Web, 1995. http://www.w3.org/History.html [Wakeinan 1992] I. Wakeman, J. Crowcroft,Z. Wang, D. Sirovica, Layering Considered Harmful,

IEEE Network, Jan. 1992, pp. 20-24.


(Waldvogel 1997] M. Waldvogel et a!., Scalable High Speed IP Routing Lookup,

Proc. 1997ACM

SIGCOMM (Cannes, France, Sept. 1997).


(Walker 2000] J. Walker, IEEE P802.11 Wireless LANs, Unsafe at Any Key Size; An Analysis of the WHP Encapsulation, Oct. 2000, http://www.drizzle.com/-aboba/IEEE/0-362.2ip (Wall 1980] D. Wall,

Mechanisms for Broadcast and Selective Broadcast, Ph.D. thesis, Stanford University, June
1980. (Wang 2004] B. Wang, J. Kurose, P. Shenoy, D. Towsley, Multimedia Streaming via TCP: An Analytic Performance Study,

Proc. ACM Multimedia Conf, (NY, NY, Oct. 2004). Intel Technology

(Wcatherspoon 2000] S. Weatherspoon, Overview of IEEE 802.11b Security,

Journal, (2nd Quarter 2000), http://developcr.intel.com/technology/itj/q22000/articles/art_5.htm


[Wei 2005] W. Wei, B. Wang, C. Zhang, J. Kurose, D. Towsley, Classification of Access Network Types: Ethernet,Wireless LAN, ADSL, Cable Modem or Dialup?, 2005). [Wei 2006J W. Wei, C. Zhang, H. Zang, J. Kurose, D. Towsley, Inference and Evaluation of SplitConnection Approaches in Cellular Data Networks,

Proc. 2005 IEEE Infocom (Apr.

Proc. Active and Passive Measurement

Workshop, (Adelaide, Australia, Mar. 2006).


[Wei 2007] D. X. Wei, C. Jin, S. H. Low, S. Hegde, FAST TCP: Motivation, Architecture, Algo rithms,

IEEE/ACM Transactions on Networking, to appear 2007. [ Weiser 1991J M. Weiser, The Computer for the Twenty-First Century, Scientific American (Sept.
Performance, 1991) : 94-10. http://www.ubiq.com/hypertext/weiser/SciAmDrafl3.html [Wigle.net 2007J Wireless Geographic Logging Engine, http://www.wigle.net [Williams 1993] R. Williams, A Painless Guide to CRC Error Detection Algorithms, http://www . ross.net/crc/crcpaper.html [WiMax Forum 2007]WiMax Forum, http://www.wimaxforum.org/tech [Wischik 2005] D. Wischik, N. McKeown, Part I: Buffer Sizes for Core Routers,

ACM SIGCOMM

Computer Communications Review, Vol. 35, No. 3, July 2005.


|Woo 1994] T. Woo, R. Bindignavlc, S. Su, S. Lam, SNP: an interface for secure network pro gramming,

Proc. 1994 Summer USENIX, Boston, M A, June 1994, pp. 45-58.

[Wood 2007] L. Wood, Lloyds Satellites Constellations, http://www.ee.surrey.ac.Uk/Personal/L . Wood/constellations/iridium.html [Xanadu 2007] Xanadu Project homepage, http://www.xanadu.com/ [Xiao 2000] X. Xiao, A. Hannan, B. Bailey, L. Ni, Traffic Engineering with MPLS in the Internet,

IEEE Network, Mar./Apr. 2000.


[Yannuzzi 2005J M. Yannuzzi, X. Masip-Bruin, O. Bonaventure, Open Issues in Interdomain Routing: A Survey,

IEEE Network Magazine, Nov./Dec. 2005. Proc. Mobile 94 Workshop on Mobile Computing Systems and Applications,

[Yavatkar 1994] R. Yavatkar, N. Bhagwat, Improving End-to-Hnd Performance of TCP over Mo bile Internetworks, Dec. 1994. [Youtube 2007]Youtube homage, www.youtube.com [Yu 2006] H. Yu, M. Kaminsky, P. B. Gibbons, A. Flaxman, SybilGuard: Defending Against Sybil Attacks via Social Networks,

Proc. 2006 ACM (Pisa, Italy, Sept. 2006).

[Zegura 1997] E. Zegura, K. Calvert, M. Donahoo, A Quantitative Comparison of Graphbascd

IROAIOMJRCYZK

Models for Internet Topology, 1997).

IEEE/ACM Transactions on Networking, Vol. 5, No. 6, (Dec.

IROAIOMJRCYZK

See also http://www.cc.gatech.edu/projects/gtim for a software package that generates networks with a transit-stub structure. (Zhang 1993] L. Zhang, S. Deering, D. Estrin, S. Shenker, D. Zappala, RSVP: A New Resource Re servation Protocol,

IEEE Network Magazine,Vol. 7, No. 9 (Sept. 1993), pp. 8-18. IEEE Journal on Selected Areas in Com-

[Zhao 2004] B. Y. Zhao, L. Huang, J. Stribling, S. C. Rhea, A. D. Joseph, J. Kubiatowicz, Tapestry: A Resilient Global-scale Overlay for Service Deployment,"

munications, Vol. 22, No. 1 (Jan. 2004).


[Zimmerman 1980] H. Zimmerman, OSl Reference Model-The ISO Model of Architecture for Open Systems Interconnection, pp. 425-432. [Zimmermann whypgp/en/ 20071 P. Zimmermann, Why do you need PGP? http://www.pgpi.org/doc/

IEEE Transactions on Communications, Vol. 28, No. 4 (Apr. 1980),

A ablakmret (GBN protokoll) 209-213 ACK (nyugta) ACK bit 222 adatkapcsolati szint 484 DHCP nyugtazenet 320 dupliklt 201 kumulld 211,223 szelektv 235 ACK bit, TCP-szegmens 222 ad hoc hlzatok 470, 471, 481 adsjogtvteli protokollok 411, 420 lekrdez 420 tokentadsos 420 adskrs 487 adsra ksz 487 adattvitel bithibkat tartalmaz csatornn 197 bithibkat tartalmaz csomagveszt csatornn 202 csvezetkes megbzhat adattviteli protokoll 205-208 egyirny 196 ktirny 196 megbzhat 228-235 megbzhat csatornn 196 vltakoz bit protokoll 205 visszaszmll idzt 204 adatbzis, hlzatfelgyeleti (MIB) 700-703 MIB-modulok 696, 700 adatcsomagbegyazsi protokoll hazai gynknl 510 adatcsomag-kibontsi protokoll idegen gynknl 510 adatcsomagok (dupliklt) 204 adatfolyam 150 adatfolyam-letltst megvalst szerver 547 adatkapcsolati szint csomag temezs 585 szint nyugtzs 484 adatkapcsolati rteg cmzs 422-427 duplex tvitel 401 Ethernet 428-439 flduplex tvitel 401 forgalomszablyozs 400 hlzat mint ~ 447-454

Trgymutat
hibajelzs s -javts 403-409 kapcsolk 438-443 keretezs 49, 399-400 kzegelrs 400 megbzhat adattvitel 400 megvalstsa 401-403 PPP (ktpontos protokoll) 444-447 szolgltatsok 399-401 tbbszrs hozzfrsi protokollok 409-422 adatkapcsolati rtegbeli kapcsolk 2, 285 adatmez 49, 489 adatok szerkezete, hlzat felgyeleti (SMI) 696-700 adatszrsos tvlaszts adatszrsi sorszm 371 adatszrsi vihar 371 algoritmusok 374-375 fesztfs adatszrs 372 fordtott irny tovbbts 372 forrsnl vs. hlzaton belli duplikls 370 N-utas egynekadsos 370 sorszmmal szablyozott elraszts 370 szablyozatlan elraszts 371 adattovbbts 658 additv nvels, multiplikatv cskkents (AIMD) 256 ajnlat zenet 319 aktv psztzs 482 aktv sorkezels (AQM) 303 alagt tpus tvitel 332 alap szolgltatscsoport (BSS) 479 alapvet kdolsi szablyok (BR) 711 alhlzat 313 alhlzati maszk 313 alkalmazs szint tjrk 670, 674

232

IRODALOMJEGYZK

alkalmazsi rcteg API 80 architektrk 76-79 DNS 121-134 elvi alapok 75-76 folyamatok 79-81 FTP 106-108 HTTP 89-105 infrastruktra-ignyes szolgltats 78 P2P-alkalmazsok 134-148 protokollok 87-88 SMTP 111-114 TCP-szoketprogramozs 148-157 UDP-szoketprogramozs 158-165 zenetek 79 alkalmazsi zenet 48 alkalmazsok elosztott 5, 11 multimdia-hlzatok 536-544 P2P 11 rugalmas 83 svszlessgrzkeny 82 SNMP 705 szlltsi szolgltatsok 81-83 vesztesgtr 82 alkalmazsprogramozi interfsz (API) 6,80 lland bitsebessg ATM-hlzati szolgltats (CBR) 288 lland cm 507 lland sszekttetsek, HTTP 93-94 llapotsor 96 llapottart csomagszrk 670, 672 ALOHA 413-417 API (alkalmazsprogramozi interfsz) 6 , 80 AQM (aktv sor menedzment) ASN.l 708 tbocstkpessg tlagos 39 pillanatnyi 39 szk keresztmetszet adatkapcsolat 40 tbocstkpessg, sszekttetsenknt i 246 tjr mobiltelefon kapcsolkzpont 518 tjtszk 147 tlapol hlzat 142 ATM (aszinkron tviteli md) 245 ATM-hlzatok 448 adaptcis rtege (AAL) 449 adatok tpusa mez 450 ATM frum 448 cellavesztsi priorits (CLP) 450 fejlc hibavdelme mez 450 fizikai rteg 450 IP az - felett 451 jellegzetessgei 448-449 protokoll adategysg (PDU) 449 -rteg 449 virtuliscsatorna-azonost (VCI) mez 450

tvihet legnagyobb adategysg (MTU) 309 tviteli ksleltets 33, 34 tviteli sebessg 2 audio elrse webszerveren 545-547 l audio folyamszer letltse 537 hibs audio alkalmazs (plda) 583585 Mb/s audio alkalmazs 548-543 srlt hangfolyam vevalap javtsa 560-561 trolt audio folyamszer letltse 543-544 tmrts 542-543 vals idej 538 automatikus hardverfelismer s konfigurl protokoll 318 automatikus ismtlskrs (ARQ) 198 autonm rendszerek 351 autonm rendszerek kztti tvlaszts 362-368 autonm rendszeren belli tvlaszts OSPF protokol 359-362 RIPprotokol 355-358 B bjtbeszrs 446-447 barangolszm, mobil lloms 518 brkinek szl cm (anyeast) 328 bzislloms 469,479 begyazs 48, 509, 510 begyazott biztonsgos adatmez 661 behatolsjelz rendszerek 668,675-678 anomliaalap 676 szablyalap 676 behatolsmegelz rendszerek 676 bels tjr protokoll (IGP) 355 bels hlzatok 5 bemeneti portok 297-299 bemen adatfolyam 150 betrcsz modem 13 betrs detektlsa 689 BGP lsd hatrtjr protokoll bithiba feltratlan 404 valsznsge 473 bitszint hibajelzs 403 BitTorrent protokoll 134-135, 138-140 biztonsg adminisztrci 705 llapot tart csomagszr 670, 672 dekdols 618 digitlis alrs 636-642 hitelestsi protokoll 642 hitelestsszolgltat (CA) 640 IPsec 660-664 nyilvnos kulcs tanstvny 639 titkosts 618 titkosts elvi alapjai 620-632 tzfalak 669-675 mkdsi biztonsg 618, 668-678 PGP 653

SYN elrasztsi tmads 243 szlltsi rteg biztonsga 655 TCPsszekttetsek 655-660 zenetintegrits 618, 632 vgponthitelests 618,642-648 biztonsgi sszekttets 661 biztonsgi paramtereket cmz index (SPI) 661 biztonsgos szkt rteg (SSL) 85, 655 mkdse 656 blokkrejtjelezk 624 Bluetooth 494-495 bngsz 90

c, cs
Caesar-kdols 622 CDMA, kdosztsos tbbszrs hozzfrs 412 CDN-szerver 562 vals idej interaktv audio/vide letltse 538 clportszm 222 clportszm mez 184 ciklikus redundancia-ellenrzs (CRC) 407 CRC mez 489 cmbrleti id 320 cmblokkok kiosztsa 317 cmfelold protokoll (ARP) 424 cmfordt tbla 323 cmmez 1EEE802.11 vezetk nlkli LAN 444, 489-491 PPP-keretezs 445 cmzs alhlzat 313 lland 507 brkinek szl cm 328 cl-IP-cm 185 cmblokkok 317 cmfelold protokoll (ARP) 424 cmsszevons 316 cmtartomny osztlyok szerinti szervezse 315 Ethernet 48 felgyeleti 507 fizikai 422 folyamatok 87 hosz te rnek kiosztsa 318 idegen 507 internetes szlltsi protokollok 86-87 IP 87, 121,312-320,574 LAN 422 MAC 422 NAT 87,320-323 osztlyok nlkli krzetek kztti forgalomirnyts (CIDR) 314 pontozott decimlis jells 312 prefix 315 tartalom szerint cmezhet memrik (CAM) 298 CMISE/CMIP 693 CRC-el lenrzs 731 csapdazenetek (krst nem tartalmaz) 703 csatorna bithibkat tartalmaz csatorna 197 bithibkat tartalmaz csomagveszt csatorna 202 kihasznltsga 205

megbzhat csatorna 196 terjedsi ksleltets 419 csatornaosztsos protokoll 410,412 CSMA (vivrzkelses tbbszrs hozzfrs) 417 tkzsjelzses 418 csomag 2, 25, 48-50 adatmez 49 llapottart csomagszr 672-674 thalads 28-29 definci 2, 25 dupliklt 200, 204 dupliklt adatcsomag 204 eldobs irnyelve 586 eldobott ~ 37 fejrszmez 49, 568-569 feldolgozs 443 kapcsol 2, 27 kapcsolgp 302 keretezs, PPP kvetelmnyek 444 ksleltets 539, 553-554 lehallgats 52-53 RTP 567 sorrendhelyes kzbests 287 sorszm 200 szrs 670,674 tpusai 571-572 temez 303 veszts 26,35-37,301,558-559 csomagkapcsolk 2, 25, 285 csomagkapcsolt hlzat 25-29 ksleltets 31-42 kifejlesztse 55-57 kimeneti puffer 26 sorbanllsi ksleltets 26 trol-s-tovbbt tpus tvitel 25 tovbbttbla 28 zenetek 25 volnl kapcsols vs. 21-22, 27-28 csomagksleltets ingadozsa 54 csomagszrk alkalmazs szint tjrk 670, 674 llapottart 670, 672 hagyomnyos 670 csomagtartalom-vizsglat 675 csomagtovbbts biztos 596 kvlrl megfigyelhet viselkeds 593 sorrendhelyes 287 srgs 596 csomagveszts 33, 35-37, 301, 553 hatsnak kikszblse 558 csvezetkes megbzhat adattviteli protokoll 205-208 csvezetkezs 207 csszablakos protkoll 209 D datagram 46 hlzati 49

234

IRODALOMJEGYZK

datagramalap hlzatok 289, 292-295 dekdol algoritmus 621 demilitarizlt zna 676 DHCP (dinamikus hosztkonfigurl protokoll) ajnlatzenet 319 feldertszenet 319320 nyugtazenet 320 diffserv (megklnbztetett szolgltats) 592597 forgalomkondicionls 594 forgalomosztlyozs 594 kvlrl megfigyelhet viselkeds 593 digitlis alrs 636-642 digitlis elfizeti vonal lsd DSL dinamikus hosztkonfigurl protkoll lsd DHCP 318 DNS (krzetnvkezel rendszer) 121-134 bejegyzsek beszrsa 132 egyetlen hibahely 124 forgalom nagysga 124 gyorsttrazs 129 gykr-DNSszerverek helyi DNS-szerver 125 hiteles DNS-szerverek 125 hoszt-lnevek 123 hoszt nv 121 IP-cm 121 karbantarts 124

235

T RGYMUTAT

IRODALOMJEGYZHK

nyilvntart 132 rekordok 129 rekurzv lekrdezs 128 szerverek 122 szolgltatsa 122-123 tvoli, kzpontostott adatbzis 124 TLD (legfels szint krzetek) 125 zenetek 130 DSL (digitlis elfizeti vonal) 13 duplex szolgltats, TCP-sszekttets 220 dupliklt ACK (nyugta) 201 dupliklt adatcsomagok 200,204 E EAPol 667 egyedi hlzatok sszekapcsolsa 57-58 egyirny adattvitel 196 hezs 547 l 143 ellenrz sszeg, eljrsok 406-407 elosztott szolgltatsmegtagads (DDoS) 52, 243 elre irnyul hibajavts 405,558, 559-560 e-mail 108-121 ttekintse 108-109 biztonsga 648-655 felhasznli gynk 108 fogadott zenetek 115 Hotmail esettanulmny 110 IMAP 120 internet legfontosabb terlete 108 levelezszerverek 108 levl-hozzfrsi protokoll 117-123 MIM zenetformtum 114-116 POP3 protokoll 118-120 postafik 109 SMTP 108, 111-114 zenetformtumok 114116 zenetsor 110 webalap 121 erforrs-kezel cellk 253 erforrslefoglals 598 erforrs-lefoglal protokoll (RSVP) 602 esemnyalap programozs 213 ESP protokoll 662 Ethernet 428-437 adatkapcsolati rteg 428-436 cmek 48 eloszt (hub) 429 gigabites 436 hatkonysga 435 hozzfrsi technika 15-16 ismtlk 436 kapcsolsi technika 15-16 keretszerkezete 429-433 Manchesterkdols 432 megbzhatatlan szolgltats 432 sszekttets nlkli szolgltats 431-432 puffereit eloszt 437 tervezse 428-429 tbbszrs hozzfrsi protokoll (CSMA/CD) 433-

435 vltozatok 435-437 exponencilis slyozott mozg tlag (EVVMA) 227 exponencilis visszalps 434 F tej lcsor 94, 96 fejrsz, RTP 567 felajnlott terhels 247 feldertszenet 319-320 feldolgozsi ksleltets 32 felhasznlalap biztonsg 706 feltol protokoll 113 felgyeleti cam 507 felgyeleti informcis adatbzis 693 felgyel entits 692 felgyelt kszlk 692 felgyelt objektum 693 fnyvezet szl 19 frgek 51 fesztfa 373 kzpontalap 373 minimlis 373 FIFO 586 FIN bit, TCP-szegmens 222 fizikai tviteli kzegek 18-20 vezetkes 28 vezetk nlkli 18 forgalmi profil 594

236

1 KODAI.OMJEGYZU K

forgalom figyelse 689 forgalomintenzits 36 forgalomszablyozs, TCP 235 forrs hitelessge 661 forrsportszm 222 forrsportszm mez 184 fldi sugrzs rdicsatornk 20 frekvenciaosztsos szrt spektrum 495 FTP adattviteli sszekttets 106 llapotinformcik 107 alkalmazsi rteg 106-108 parancsok 107-108 svon bell 106 svon kvl 106 vlaszok 107-108 vezrlssszekttets 106 G gazdagp ellenrzs 689 gazdagp vagy tvlaszt hlzati krtyjnak meghibsodsa 689 genertor 407 geoszinkron mhold 20 gerinchlzati tvlaszt 360 gyors helyrellts 260 gyors jraklds, TCP 234 H hagyomnyos csomagszrk 670 hlzat magja 21-31 hlzat szle 9-20 hlzatfelgyelet 687-712 ~i adatbzis (MIB) 700-703 adatok szerkezete (SMI) 696-700 ASN.l 708 biztonsg s adminisztrci 705 biztonsgfelgyelet 690 CM I SE/CM IP 693 felhasznlalap biztonsg 706 hatkonysgfelgyelet 690 hibafelgyelet 690 infrastrutra 691-695 internetszabvnyos keretrendszer 695 konfigurcifelgyelet 690 protokoll 693 SNMP 693 tmaszm felgyelet 690 hlzatfelgyeleti protokoll 693 hlzatfelgyel gynk 693 hlzat i cm fordts (NAT) 320-324 cmfordt tbla 323 kapcsolatvisszafordts 324 NAT-thidals 324 hlzati rteg lland bitsebessg ATM-hlzati szolgltats (CBR) 288 biztonsg 660-664 datagramalap hlzatok 289, 292-

295 hlzati szolglati modellek 286 IP (Internet Protcol) 305-335 legjobbra trekv szolgltats 287 sszekttets ltestse 286 rendelkezsre ll bitsebessg ATM-hlzati szolgltats (ABR) 288 tovbbts 281 tovbbttbla 284 tvlaszts 281 tvlaszt algoritmus 284 virtulisramkr-alap hlzatok (VC) 288-292, 294-295 hlzati szolglati modellek 286 hlzati topolgia 565 hlzatok lsd mg hlzati rteg 1980-1990 58-59 adatkapcsolati rteg, mint 447-455 ad hoc 470,481 tlapol 142 biztonsg 50-55 csonka 367 egyedi hlzatok sszekapcsolsa (1972-1980) 57 internet 2-4 legjabb fejlesztsek 60-61 tbbszrsen kapcsold csonka 367 hromszgeit tvlasztsi problma 511 hromutas kzfogs 92, 150, 190,220, 239, 240, 243,286, 291,672 hatrtjr protokoll (BGP) AS-szm 364 ttekints 363 bels BGP-viszony 363 importszr 366 kls BGP-viszony 363 route-ok 364-366 trsak 363 tattribtumok 364-366 tvlasztsi szablyok 367-368 vlasztsi mechanizmus 366-367 viszony 363 hazai hlzat 518 hazai helyregiszter 518 hazai nyilvnos fldi mobiltelefonhlzat 517 hibafelderts ciklikus redundanciaellenrzs 407 ellenrz sszeget hasznl eljrsok 406-407 paritsellenrzs 404-406 hibrid fnyvezetszlas koaxilis kbel 13 hitelestsi protokoll 642-648 hitelest fejrszprotokoll (AH) 661662 hitelest kulcs 635 hitelest tanstvny 641 hitelestszolgltat 640 hvsengedlyezs 599 hvsfelptsi protokoll 600 hvsok

tirnytsa mobil elfizethz 518 horgony-M SC 521 horgonygynk 512 hoszt 2 hosztcmek kiosztsa 318 Hotmail esettanulmny 110 hozzfrsi pont 469, 479 hozzfrsi hlzatok 11-17 internet 2-4 otthoni 13-14 vllalati 15-16 vezetk nlk I i 16-17 HTTP 89105 lland sszekttetsekkel 93-94 ttekints 89-91 feltteles GET 104-105 idleges sszekttetsekkel 91-93 krszenet 94-96 krbejrsi id 92 stik 98-100 zenetformtumok 94-98 vlaszzenet 96-97 webes gyorsttrazs 100-103 HTTP vs. SMTP 113-114 I idegen cm 507 idegen gynk-hazai gynk kztti regisztrcis protokoll 510 ideiglenes IP-cm 318 idblyeg 555 idleges sszekttetsek, HTTP 91-93 idtartammez 491 IEEE 802.11 ad hoc hlzat 470, 471, 481 architektra 479483 keretszerkezete 486 MAC protokoll 483-487 vezetk nlkli LAN 477-494 WiFi protokoll 17,401 impulzuskdmodulci 542 indtsi problma 144 infrastruktra, hlzatfelgyeleti 691695 interfsz 312 internet alkotelemei 2-5 API (alkalmazsprogramozi interfsz) 6 elosztott alkalmazsok 6 elterjedse 59-60 e-mail 108-121 fizikai tviteli kzegek 18-20 gerinchlzatok 29-30 hozzfrs 2-5 hozzfrsi hlzatok 11-17 internetszolgltatk (ISP) 4 protokollok 4,6-8 routing 355368 szabvnyok 5 szolgltatsok 5-6 internet-gerinchlzatok 29--30 internet-hozzfrs mobiltelefonhlzatbl 498-5004 internetszabvnyos keretrendszer, hlzatfelgyeleti 695

internetszolgltatk (ISP) 4, 29-31 1. szint 29 internettelefon 538 Intserv 601 IP (Internet Protcol) 4, 305-335 alagt tpus tvitel 332 alhlzat 313 alhlzat, mobilits 491-493 biztonsga 334-335 cmzs 311324 datagramformtumok 306-308 datagramok darabolsa 309-311 ICMP protokoll 325-326 UPnP protokoll 324IPsec protokoll 660-664 IP-trkkzs 54 IPv4-cmzs 311-324 !Pv 6 protokoll 327-334 ismert nylt szveg tmads 623

J
jelenlti pont 31 jelgyengls 475 jelterjedsi ksleltets 33, 34 jel-zaj viszony (SNR) 473 jelzsprotokoll 292 jelzszenet 292 jelzfnykeret 481 jelzmez, TCP szegmens 222 K kbelmodem 14 kapcsol 429 adatkapcsolati szint 438-443 csomagfeldolgozs 443 csompontok 438 elregedsi id 440 kapcsoltbla 438 nll tanuls 440 plug-and-play 440 tulajdonsgai 441 szrs 438 tovbbts 438 tvlasztk vs. 442-443 kapcsolgp definci 299 sebessge 302 krtkony programok 51 kemny garancia 540 krds-vlasz md 703 krssor 94 krst nem tartalmaz csapdazenetek 703 keretek 47, 48-50 adatkapcsolati 49 keret kzi id elosztott 484 rvid 484 ksleltets alkalmazkod lejtszsi 556 lland lejtszsi 555 tviteli 33, 34 csatorna terjedsi 419 feldolgozsi 32 forgalom intenzits 36 jelterjedsi 33, 34 sorba nllsi 33 teljes csomponti 35 tpusai 32-35 Traceroute program 38 vgponti 37-38 vgpontok kztti 554 ksleltetsi

238

1 KODAI.OMJEGYZU K

ingadozs 554 eltvoltsa 555 ktirny adattvitel 196 ktpontos sszekttets 220, 487 kzfogs 656, 659 kifejezett elremen torldsjelz bit (EFCI) 254 kimeneti portok 301 kimen adatfolyam 150 kiterjesztett hitelestsi protokoll (HAP) 667 kvlrl megfigyelhet viselkeds 593 kliensfolyamatok 79-80 kliensprogramok 11 klienspuffer 547 kliens-szerver architektra 76 koaxilis kbel 19 kdolsi szablyok, a lavet (BR) 711 kdosztsos tbbszrs hozzfrs (CDMA) CDMA-2000 502-503 IS95 502 vezetk nlkli hlzatok 475-477 kommunikcis adatkapcsolatok 2 kommunikl folyamatok alkalmazsi rteg 79-81 API (alkalmazsprogramozi interfsz) 80 interfsz folyamatok s internet kztt 80-81 kliensfolyamatok 79-80 szerverfolyamatok 79-80 krbejrsi id (RTT) 92, 226, 252,256, 262-262, 266, 302, 326, 564 krbejrsos sorba llts 588 krzvnycm 423 krzethatri tvlaszt 360 krzetnvkezel rendszer lsd DNS kzbekeldses tmads 54, 55, 133, 648, 649, 658,662 kzismert portszmok 184 kzti ad hoc hlzat (VANET) 471 kriptogrfiai hash fggvnyek 633-634 kulcs 621 kulcsfolyamatos rejtjelezk 624 kulcsszrmaztats 657 kumulld nyugta 211,223 kld puffer 220 kvantls 542 L LAN cmzs 422-423 fnyvezetszlasz osztott adatinterfsz (FDDI) 421 vllalati hozzfrs 15-16 vezetk nlkli 477483 infrastruktrn alapul 479 trsuls 481 lass indulsi fzis (SS)

257 ltogati helyregiszter 518 lefojt csomag 252 legjobbra trekv szolgltats 181, 287, 539, 552-566 csomagveszts 553 korltai 553-555 tervezsi krdsei 565-566 legnagyobb tvihet adatmennyisg (MTU) 220 legnagyobb szegmensmret (MSS) 220 legrvidebb-utat-elre protokoll (OSPF-) 355 lehz protokoll 113 lekrdezs-elraszts 142-145 korltozott kiterjeds 143 logikai kommunikci 177 lyukas vdr ellenrzs 590, 591 M MAC protokoll, IEEE 802.11 483-487 MAC-cmek 422-424 Manchesterkdols 432 megalkuv temezs 496 megll-s-vr protokoll 207 megbzhat adattvitel 228-235 megbzhat adattviteli protokoll 195 megbzhat adatszllits 182 elve 194-218 megbzhat bjtfolyam-szolgltats 150 megjelentsi szolgltats 710 megklnbztetett szolgltats lsd diTserv mobil ad hoc hlzat (MANET) 471 mobil lloms barangolszma 518 mobil csompont-idegen gynk kztti protokoll 510 510 mobil felhasznlk helyzett meghatroz protokoll 512 mobilhlzatok lsd mg vezetk nlkli hlzatok adatcsomag-begyazsi protokoll hazai gynknl 510 adatcsomagkibontsi protokoll idegen gynknl 510 cmzs 506-507 hazai hlzat 506 hazai gynk 506 helyvltoztats kvetse 504-513 idegen (tvoli) hlzat 506 idegen gynk 506 idegen gynk-hazai gynk kztti regisztrcis protokoll 510 internet-hozzfrs 498-504 kzvetett tvlaszts 508 kzvetlen tvlaszts 511 mobilits kezelse 516-522 mobil csompont-idegen gynk kztti protokoll 510 510

mobil felhasznlk helyzett meghatroz protokoll 512

partner 506 partnerg ynk 511 tvlaszt s 57-513 mobil-IP 513-516 mobilits kezelse 516-522 mobiltele fonhlzat szabvny ok 2G 501 2,5G 502 3G 503 4G 503 ltalnos csomagkapcsolt rdis szolgltats (GPRS) 502 CDMA-2000 1. fzis 502 globlis mobilkommunikc is rendszer (GSM) 501 megnvelt sebessgek a globlis evolcirt (EDGE) 502 mobiltelefonhlzat architektra 498500 hazai nyilvnos fldi 517
/

hvsok tirnytsa mobil elfizethz 518 internethozzfrs 498504 mobil lloms barangolszma 518 mobilits kezelse 516-522

rdis interfsz 500 szabvnyok 501-504 mobiltelefonos kapcsolkzpont 499 monoalfabetikus kdols 622 MPEG tmrts 543 MSS (legnagyobb szegmensmret) 220 MTU (legnagyobb tvihet adatmenynyisg) 220 multimdia kldse adatfolyamletltst megvalst szerver 547 hezs 547 klienspuer 547 multimdia sztosztsa 561 tartalomsztosz t hlzatok 561565 multimdiahlzatok adatkzpont 562 akadlyoz tnyezk 539 alkalmazsok 536544 ttekints 535-536 CDNszerver 562 csomagksle ltets ingadozsa 539 diffserv (megklnb ztetett szolgltats) 592-597 ellenrzs 590-592 garancia 540 hangtmrt s 542

240

1 KODAI.OMJEGYZU K

internettelef on 538 Intserv 601 kptmrts 543 legjobbra trekv szolgltats 539, 552-566 szolgltatsmin sgi garancik 597-603 szolgltatsok 580-597 trolt audio/vide folyamszer letltse 536-537, 544-552 vals idej interaktv alkalmazsok protokolljai 566580 vals idej adatfolyamletltst tmogat protokoll (RTSP) 549-552 tartalomsztoszt hlzatok 561-565 temezsi eljrsok 586-589 viszonykezdemny ez protokoll (SP) 573-578 munkamenet RTP 568 munkatakarkos krbejrsos sorba llts 588 mhold alacsony rpplys 20 geoszinkron 20 mholdas rdicsatornk 20 mkdsi biztonsg 668-678 behatolsjelz rendszerek 668 tzfalak 668,669675

N, NY negatv nyugtzs 198 nincsnvekeds (NI) bit 254 N-nel trtn visszalpses (GBN) protokoll 207,209-213 nonce 647 nyalbbonts 181,183 sszekttetsalap 185 sszekttets nlkli 185 nyalbols frekvenciaosztso s (FDM) 23,412 idosztsos (TDM) 23,412 sszekttet s-alap 185 sszekttets nlkli 185 statisztikus 28 szlltsi rtegbeli 181, 183 vonalkapcsolt hlzatokban 23-24 nylt szveg 620 nyilvnos kulcs 628 nyilvnos kulcs rejtjelezs 627-632 nyilvnos kulcs rendszerek 621 nyilvnos kulcs tanstvny 639 nyugtaszmm ez 222 nyugtazenet 320

0,0 opcik mez TCPszegmens szerkezet e 222 OSImodell 47-48 osztly nlkli krzetek kztti forgalomirnyts (CIDR) 314 nllan tanul kapcsol 440 n idzt 256 nsklzhatsg 79 sszefsls 560 sszekttets llapot in formci 291 sszekttetsek adattviteli 106 -alap szllts (TCP) 219-244 lland 91, 93-94 betrcsz modem 13 bontsa 660 DSL 13-15 elrasztso s tmads 52 HFC 13 idleges 91-92 kbelmode m 14 ktpontos
220

ltestse, hlzati rteg 286 nyalbols/ nyalbbont s 186-188 oszt eljrs 524 sszekt tetsenknti tbocstkpe

ssg 246 PPPtervezs kvetelmn yei 444 szkt 150 TCP 219221 VDSL (nagy sebessg DSL) 14 vgponto k kztti 23 vezrlsi 106 visszafordts 324 sszekttetsszoket 150 P P2Palk al ma z so k 13 414 8 arc ht ekt r a 78 architektrk sklzhatsga 135-138 BitTorrent protokoll 134*135, 138-140 fjlcserls 134140 hierarchikus tlapolstervezs 145-146 informcikeress 140-146

ingyenutazs 140 kzpontostott index 141 lekrdezselraszts 142145 sztosztsi id 135 nsklzhatsg 79 P2Parchitektra 78 paritsbit 404 paritsellenrzs, hiba felderts 404-406 partnergynk 511 passzv psztzs 482 pecst 637 PGP 653 nyilvnos PGPkulcsszerverek 655 pikohlzat 495 polalfabetikus kdols 623 polinomilis kd 407 pontozott decimlis jells 312 port bemeneti 297299 kimeneti 301 pozitv nyugtzs 198 PPP (ktpontos protokoll) 444-447 adatkapcsolati rteg 444 adatkeretezs 445-446 bjtbeszrs 446447 IETFkvetclmnyek 444-445 keretek 445-446 prefix 315 hlzat 293 prioritsos sorba llts 587 privt hlzatok 321 protokoll fggetlen

tbbeskldses tvlasztsi protokoll (PIM) 380 protokollkszlet 45 protokollok llapot nlkli 91 autonm rendszeren belli tvlaszt 351 automatikus hardverfelismer s konfigurl (plug-and-play) 318 automatikus ismtlskrs (ARQ) 198 csszablakos 209 emberi hasonlat 7-8 feltol- 113 hlzati - 8-9 internet- 7-8 jelzs- 292 lehz- 113 megll-s-vr 199 vltakoz bit protokoll 205-206 protokoll rtegek 42-50 adatkapcsolati rteg 47 alkalmazsi rteg 46 fizikai rteg 47 hlzati rteg 46 OSI-modell 47-48 rtegzett architektra 4248 szlltsi rteg 46 szolglati modell 44-45 vzszintes rtegezs, plda 43-44 PSH bit, TCPszegmens 222

puha llapot 378 puha garancia 540 R r d i s i n t e r f s z 5 0 0 R A D 1 U S p r o t o k o l l 6 6 7 r a n d

e v p o n t 3 7 3 regisztrci hazai gyknl, mobil-IP 515-516 regisztrcis protokoll, idegen gynk- hazai gynk kztt 510 rejtett lloms problma 747 rejtett llomsok problmja 486487 rejtett szveg 621 rejtett szveg tmads 623 rejtjelez algoritmus 620 rendelkezsre ll adatsebessg (ABR) 245 RFC 5 RIP-hirdets 356 RIP-vlaszzenet 356 RSA algoritmus 629 RST bit, TCPszegmens 222 RTP-vezrl protokoll (RTCP) 571 S SA s kulcskezels 663 svon kvli protokoll 549 svszlessg 23 elraszts 52 rzkeny alkalmazsok 82 -gl val ellts 565 lefoglals

242

1 KODAI.OMJEGYZU K

tbbeskldses fkban 602 sklzsa (RTCP) 572 srlt hangfolyam vevalap javtsa 560 sikeres idrs 414 SMTP 108,111-114 HTTP vs. 113-114 SNMP 693 alkalmazsok 705 mveletek 703-704 Snort 678 sodrott rpr 18 rnykols nlkli (UTP) 18 sorba lltsi technikk aktv sorkezels (AQM) 303 kimeneti port 301 sorbanllsi ksleltets 33 csomagveszts, s 35-37 soreleji blokkols (HOL) 305 sorszm 200, 555 sorszmmez 222, 491 SSLrekord 659 slyozott egyenl esly sorba llts 588,591 srgssgi adat mutat mez 222 stik 98-100,243 SYNACK szegmens 239 SYN bit, TCPszegmens 222 SYN elrasztsi tmads 243 SYNsti 243 SZ szablyalap szabvnyos bemenet 151 szabvnyos kimenet 151 szlltsi rteg biztonsga 655

megbzhat adatszllts 182 nyalbols 181, 182-188 nyalbbonts 181 torldskczels 182 szlltsi szolgltatsok alkalmazsokna k 81-83 internet ltal nem biztostott 86 internetes 83-87 szavatolt minsg szolgltatsok (QoS) 303 szegmens 46,48-50 definci 178 legnagyobb szegmensmret (MSS) 220 legnagyobb tvihet adategysg (MTU)

UDP 158-165 szolgltatscsopor t-azonost (SSID) 480 szolgltatsi szerzdsek (SLA) 689 szolgltatsmegta gads (DoS) 52, 239, 243 szolgltatsmins gi garancik, multimdiahlzatok 597-603 szk keresztmetszet adatkapcsolat 40 T tmadsok biztonsg 5055 csomaglehallg ats 53 csonktsos 660 DDoS (elosztott szolgltatsm egtagads) 55 DNS sebezhetsge 133 DoS (szolgltatsm egtagads) 55 llnc 648 frgek 51 IP-trkkzs 54 ismert nylt szveg 623 krtkony programok 51 kzbekeldses 54-55, 133,648,649, 658,662 rejtett szveg 623 sebezhetsg 52 SYN elrasztsos 243 tvolrl irnytott fertztt

220
sorszmok 222 szlltsi 48 TCP-szegmens szerkezete 221225 szelektiv ismtls (SR) protokoll 207, 213-218 szelektiv nyugtzs 235 szerverfarm 78 szerverfolyamatok 79-80 szerverproframok 11 szimmetrikus kulcs rendszerek 621 szkt 183 szoketprogra mozs kliensszerver alkalmazsfejleszt s Javban 151157 TCP 148-157

hlzat 51 Trjai fal 51 vlasztott nylt szveg 623 visszajtszsos 645 trsuls, IEEE802.il LAN WiFi 481 tartalom szerint cmezhet memria (CAM) 298 tartalomsztoszt hlzatok 561-565 tvolrl irnytott fertztt hlzat 51 tvolsg vektor-alap tbbeskldses tvlasztsi protokoll (DVMRP) 380 TCP 4, 219244 llapotok 240 biztonsga 655660 biztonsgos szkt rteg (SSL) 655 duplex szolgltats 220 ellenrz sszeg
222

fejrszhosszmez
222

forgalomszablyoz s 235 hromutas kzfogs 221 sszekttets 84 sszekttetsalap szllts 219-244 szlltsi rteg biztonsga 655 szegmens szerkezete 221225 szoketprogramoz s 148-157 szolgltatsok 84 Telnet esettanulmny 224-226 lorldskezels 236 vteli ablak

237 webszerverek, s 188-189 TCP Reno 260 TCP Tahoe 260 TCP/IP 4 T DMkeretszer kezet 496 teljes csompo nti ksleltet s 35 Telnet 224-226 tpus, hossz, rtk mdszer (TLV) 711 titkos kulcs 628 titkosts blokkrejtjelezk 624 Caesarkdols 622 dekdol algoritmus 621 digitlis alrs 636 hitelest kulcs 635 hitelestszol gltat 640 ismert nylt szveg tmads 623 kulcs 621 kulcsfolyamatos rejtjelezk 624 monoalfabetikus kdols 622 nylt szveg 620 nyilvnos kulcs 628 nyilvnos kulcs rejtjelezs 627-632 nyilvnos kulcs rendszerek 621 nyilvnos kulcs tanstvny 639 polialfabetikus

kdols 623 rejtett szveg 621 rejlett szveg tmads 623 rejtjelez algoritmus 620 RSA algoritmus 629 szimmetrikus kulcs rendszerek 621 titkostott blokkok lncolsa 626 titkos kulcs 628 zenethitelest kd 634 vlasztott nylt szveg tmads 623 viszonykulcsok 630 titkostott blokkok lncolsa 626 torldselkerls 257 torldsi ablak 255 torldsjelz (Cl) bit 254 torldskezels 182 AIMD (additv nvels/multiplika tv cskkents) 256 ATM ABR algoritmus plda 252-254 algoritmus 256 elkerlse 257 elvi alapjai 245254 hlzat ltal tmogatott 252254 idtllpsi esemnyek, reagls 258-260 kifejezett elremen torldsjelz bit (EFCI) 254 kifejezett sebessg mez (1R) 254 lass induls (SS) 257 lefojt csomag

252 nincsnvekeds (NI) bit 254 okai/kvetkezmn yei 245-250 TCP 84, 182, 236, 254265 torldsi ablak 255 torldsjelz bit (Cl) 254 vgpontok kztti 251 tovbbts hlzati rteg 281 tovbbttbla 28, 284 tbbeskldses tlapol hlzat 541 tbbeskldses fkban svszlessg lefoglals 602 tbbeskldses tvlaszts algoritmusok 378380 cm alapjn trtn kzvetett tovbbts 376 ford tott irny 381 forr sala p fval 379 forr sspe cifik us (SSM ) 381 IGMP 376378 inter net

380381 kz sen hasz nlt fval 379 mets zs 380 tbbeskldses csoport 376 tbbeskldses forrsfeldertsi protokoll (MSDP) 381 tbbszrs cmkekapcsols 453-455 tbbszrs hozzfrsi protokollok, adatkapcsolati rteg 409-422 tbbutas terjeds 472 tredksebessg 475 trzs 96 T r a c e r o u t e 2 9 , 3 9 T r j a

244

1 KODAI.OMJEGYZU K

i f a l 5 1 t z f a l a k 6 6 8 , 6 6 9 6 7 5 U, UDP ellenrz sszeg 193-194 szlltsi rtegszolg ltatsai 181 szegmens szerkezete 192-193 szkt programoz s 158-165 szolgltat sok 85 URG bit, TCP szegmens

222 tvlaszts adatszrs os 369-375 interneten 355-368 hlzati rteg 281 hatrtjr protokoll (BGP) 362-368 tbbeskldses 375-382 tvlaszt 2, 285 a l a p r t e l m e z e t t 3 3 5 c l 3 3 5 cmkekap csolt 453 forrs 335 gerinchlz ati 360 hlzat szln 11 krzethatri 360

tvlaszt algoritmus 284, 335354 tjr 352 autonm rendszeren belli tvlaszt protokoll 351, 353 decentralizlt 337 Dijkstra338 dinamikus 338 forr krumpli 353 globlis 337 hierarchikus 351-354 kapcsolatlla pot-alap (LS) 337, 338-342,349350 legrvidebb t 337 minimlis kltsg 337 Prim- 338 statikus 337 szomszd csompont 336 tvolsgvektoralap (DV) 342349,350 terhelsrzkeny 338 terhelsrzketlen 338 vonalkapcsols 351 tvlaszt protokoll (RIP) 355 tvlaszt tbla 356 tvlaszttblk figyelse 689 tvonal 4 tvonali gyengls

472 tvonalsszests 316 tvonalsszevon s 316 gynkfelderts 514 gynkhir dets 514 gynk lekrdez s 515 temezsi eljrsok adatkapcs olattemezs 586 multimdi ahlzatok 586-592 tkzsr zkels 417 zenet 25, 46, 48-50, 79 alkamazs i 48 zenetcsa tol processzo rok 56 zenethite lest kd 634 zenet integrits 632 V vlasztott nylt szveg tmads 623 vals idej adatfolyamletltst tmogat protokoll (RTSP)

549-552 vals idej interaktv alkalmazsok protokolljai, multimdiahlzatok 566-580 vals idej protokoll (RTP) 567-570 vltakoz bit protokoll 205 vges llapot automata 196 vgponthitelests 618, 642-648 hitelestsi protokoll 642-648 vgponti ksleltets 37-38 vgpontok kztti ksleltets 554 vgpontok kztti rendszer tervezsi elv 194 vgrendszerek 2 vletlen hozzfrsi protokollok 410, 413-419 vletlenszer korai szlels (RED) 303 vteli ablak TCP 237 TCPszegmen s szerkezet e 222 vezrls tads 470 vezrls tads, GSM-

hlzat 520 vezrlssszektt ets, FTP 106 vezrlm ez 491 vezetk nlkli hlzatok lsd mg mobilhlzatok ad hoc hlzat 470, 471,481 alap szolgltatscsopor t (BSS) 479 tjtszlloms 469 bzislloms 469, 479 egy adatkapcsolatos (single hop)~ 471 hlzati infrastruktra 471 hlzati jellemzk 472-477 hatsa magasabb szint protokollokra 523525 hozzfrsi pont 469, 479 infrastruktra md 470 jelgyengls 475 jel-zaj viszony (SNR) 473 jelzfnykeret 481 kdosztsos tbbszrs hozzfrs (CDMA) 475-477 kommunikcis adatkapcsolat 468 kzti ad hoc (VANET) 471 LAN 477-494 m k e f T v w v A

T C P s z e r v e r a l k a l m a z s n a k v a n e g y v e v s z k e tj e , a m e l y

246

1 KODAI.OMJEGYZU K

i k a 6 7 8 9 e s p o rt s z m o n v rj a a T C P k li e n s e k s s z e k tt e t s f

e l p t si k r e l m e it (l s d 2 . 2 9 . b r a ).

A TC Pklie ns az al bbi sor ral ge ner lja a ss zek tt et sfel p tsi kr elm et

A ss zek tt et sfel p tsi kr ele m ne m tb b mi nt egy 67 89es por tsz m TC Psze gme ns, am ely nek a TC Pfejr sz be n egy spe cil is ss zek tt

et sfel p tsi bit be van ille szt ve (r szl ete sen ls d 3.5 . alf eje zet ). Eze nk vl a sze gm ens egy forr sp ortsz mo t is tart alm az, am ely et a klie ns vl asz tott . A

248

1 KODAI.OMJEGYZU K

fen ti sor egy TC Pszo ket et is ltr e*

A l k a l m a z s i s z i n t e n j o b b a n s z a b l y o z h a t

, h o g y m il y e n a d a t o k a t s m i k o r k l d .
U D P al k al m a z s a k o r, a m i n t

a z al k al m a z si f ol y a m a t t a d ja a z a d a t o k a t a z U D P n e k, a z U D P e g y U

D P s z e g m e n s b e c s o m a g ol ja a z a d a t o k a t, s a z o n n al t a d ja a s z e g m

250

1 KODAI.OMJEGYZU K

e n s t a h l z a ti r t e g n e k. E z z el s z e m b e n a T C P n e k v a n e g y t o rl d

s k e z el si m e c h a n iz m u s a , a m i h a a f o rr s s a c l h o s z t o k k z tt e g y

v a g y t b b a d a t k a p c s ol a t t lz o tt a n z s f ol tt v l ik , la s s tj a a s z l l t

si r t e g b el i T C P k l d t. E m el le tt a T C P a d d i g f ol y t a tj a a s z e g m e n s e

252

1 KODAI.OMJEGYZU K

k jr a k l d s t, a m g a c m z e tt n e m n y u g t z z a a s z e g m e n s t v t el

t, t e ki n t e t n l k l a rr a , h o g y a m e g b z h a t k z b e s t s m e n n yi i d t

v e s z i g n y b e . M iv el a v al s i d ej al k al m a z s o k s z m r a g y a k r a n s z

k s g e s e g y m i n i m l is k l d si s e b e s s g , n e m a k a rj k t ls g o s a

254

1 KODAI.OMJEGYZU K

n k sl el t e t n i a s z e g m e n s t vi t el t, s k p e s e k el vi s el n i v al a m e n n yi a

d a t v e s z t s t, a T C P s z ol g l a ti m o d el lj e n e m i g a z n f el el m e g e z e n al k al

m a z s o k i g n y ei n e k. A h o g y a z al b b ia k b a n l t n i f o g j u k, e z e k a z al k

al m a z s o k U D P -t h a s z n lh a t n a k, s a z U D P e x tr a s z ol g l t a t s o k a t

256

1 KODAI.OMJEGYZU K

n e m n y jt s z e g m e n s k z b e s t si s z ol g l t a t s n t l, a z al k al m a z

s r s z e k n t b r m il y e n t o v b b i ki e g s z t f u n k ci t is m e g v al s t h

a t n a k.

N i n c s s s z e k t t e t s f e l p t s .
A h o g y a n a z t k s b b

t r g y al n i f o g j u k, a T C P a z a d a t o k t vi t el n e k m e g k e z d s e el tt

258

1 KODAI.OMJEGYZU K

r o m u t a s k z f o g s t ( t h r e e w a y h a n d s h a k e )
h a s z n l . A z U D P m i

n d e n f o r m l is b e v e z e t n l k l e g y s z e r e n c s a k b el e v g . g y a z U

D P n e m a d
1. Hvskezdemnyezs Fi zi k ai

1 Inic iali zl s 2 N1 = {u} 3 az ss zes v cso m pon tra 4 ha v szo ms zd ja unak 5 ak kor D(v ) = c(u ,v) 6 kl nb en D(v ) = oo
7

Cik lus 8 veg yk azt a min im lis D(w )-j w-t, am ely ne m ele me Nnek 9 ad ju k ho zz wt Nh z 11 w mi nd en ol ya n v sz o m sz d jr a, a m el y ne m el e m e

260 N' ne k: 12 D( v) = mi n(
D(v ),

1 KODAI.OMJEGYZU K e ve ze t t k lts g e */ 15 a m g N* =
N

D( w) +c (w ,v) ) 13 /* v j k lts g e va gy a ko r bb an tal lt t k lts g e, va gy 14 a wig ta rt t pl us z a wb l v*b

fe nn ne m ll 2 min den y e N cl cso mp ont ra: 3 Dx( y) =c (x/ y) /* ha y ne m szo msz d, c(x ,y) = oc */ 4 min den w szo msz dr a: 5 D w ( y ) = i . y

e N cl cso mp ont ra 6 min den w szo msz dr a: 7 kl dj kel wnek a Dx = (D x (y) : y e N] tv ols gv ekt ort

s g e .
L tt u k , h o g y a z L S a l g o ri t m u s e s e t b e n m i n d e n c s o m p

A z z e n e t e k s s z e t e t t

262

1 KODAI.OMJEGYZU K

o n t n a k is m e r n i e k e ll a h l z a t s s z e s a d a t k a p c s o l a t n a k k

lt s g t. E h h e z 0 (| N | | E |) s z m z e n e t e l k l d s r e v a n s z k s

g . E z e n t l m e n e n t j k o z t a t n i k e ll a z s s z e s A

B i z t o n s g .

A z O S P F t v l a s z t k e g y m s n a k k l d tt z e n e t e i ( p l d u l k

264

1 KODAI.OMJEGYZU K

a p c s o l a t ll a p o ta k t u a li z l s o k ) h it e l e s t h e t k . A h it e l e s t

s n e k k s z n h e t e n a z A S e n b e l l k iz r l a g m e g b z h a t t v

l a s z t k v e h e t n e k r s z t a z O S P F p r o t o k o ll b a n . E z z e l m e g e l z

h e t , h o g y r o s s z s z n d k b e h a t o l k ( v a g y a z j o n n a n s z e r z

266

1 KODAI.OMJEGYZU K

e tt t u d s u k a t k i l v e z n i a k a r d i k o k ) h e l y t e l e n a d a t o k a t r

j a n a k b e a z t v l a s z t k t b l i b a . A l a p rt e l m e z s A r o u t e o

k a tt ri b t u m ai k z t a rt o zi k e g y lo k l is p r e f e r e n ci a m r c e is ; e z t a z

t v la s z t k m a g u k is b e l l t h a tj k, v a g y t v e h e ti k e g y a s aj t A S -

268

1 KODAI.OMJEGYZU K

k h z t a rt o z m si k t v l a s z t t l . A p r e f e r e n ci a m r c r e v o n a

t k o z d n t s e k e t a z A S h l z a t z e m el t e t j e h o z z a m e g . ( A B G P

v el k a p c s ol a t o s s tr a t g ia i d n t s e k k el h a m a r o s a n r s zl e t e s e

b b e n is f o g la lk o z u n k m aj d .) A z t v l a s z t k ki v l a s z tj k a le g n a g y o b

270

1 KODAI.OMJEGYZU K

b lo k l is p r e f e r e n ci a m r c v el r e n d el k e z r o u t e o k a t. A BG P a fen nm ara

d (az ono s lok lis pre fer enc ia m rc vel ren del kez ) rou teok kz l azt vl asz tja, am ely nek az AS_ PAT H attr ib tu ma a leg rvi deb b. Ha a rou tevl asz -

V e z e t k n l k li h o s z t o k .
A v e z e t k e s h l z a t o k h o z h a s o n l

a n a h o s z t o k al k al m a z s o k a t f u tt a t v g r e d s z e r c k. E g y v e z e t

272

1 KODAI.OMJEGYZU K

k n l k li h o s z t ( w ir el e s s h o s t) le h e t e g y la p t o p , e g y p al m t o p , e g y P

D A , e g y t el e f o n v a g y e g y a s z t al i s z m t g p . M a g u k a h o s z t o k n

e m f el t tl e n l h o r d o z h a t k.

Ve zet k nl kli ad atk ap cso lat ok.


A hos zto k egy m sho z vag y egy (al bb defi nil t)

bz isllo m sho z egy vez et k nl kli ko mm uni kc is ada tka pcs olat on (wir ele ss co mm unic atio n link ) ker esz tl kap cso ld nak . A kl nb z vez et k nl kli ada

274

1 KODAI.OMJEGYZU K

tka pcs olat oknak kl nb z tvi teli seb ess ge ik van nak , s kl nb z tv ols go kat kp ese k th idal ni. A 6.2 . br n lt hat juk a leg np sze rb b vez et k nl kli sza

bv nyo k kl f jell em zj t (a lefe det t kr zet m ret t s az ada tt vite li seb ess ge t). (Az br r l csa k nag yvo nal ada tok olv ash at k le. Pl du l nh ny

me gol ds m g csa k mo st terj ed el, illet ve nh ny ada tt vite li seb ess g a tv ols g, a csa tor na lla pot a s a csa tor nn os ztoz hos zto k sz m nak fg

gv ny ben elt rhe t az br n lt hat tl .) Eze kke l a sza bv nyo kka l a feje zet els fel nek vg e fel fog unk fogl alk ozn i, illet ve a vez et k nl kli ada tka pcs olat ok m

276

1 KODAI.OMJEGYZU K

s tul ajd ons ga it is tr gya ljuk (mi nt pl du l hib aar ny uka t s a bit hib k oka il) a 6.2 . alfe jez etb en. A 6.1 . br n a vez et k nl kli ada tka pcs olat ok a hl

za t sz ln tal lha t vez et k nlkli hos zto kat kap cso ljk egy kite rje dte bb hl za tho z. Gy ors an hoz z kell azo nba n ten nn k, hog y vez et k nl kli ada tka pcs olat

oka t a hl za ton

bel l
is has zn lha tun k 1. A m e n n yi b e n a z l lo m s s z a b a d n a k r z k el i a c s a

t o r n t, e g y r vi d i d , a z el o s z t o tt k e r e t k zi i d ( D is tr i b u t e d I n t

278

1 KODAI.OMJEGYZU K

e rfr ai n e S p a c e , D IF S ) le t el t e u t n t o v b b t ja k e r e t t (l s d 6 . 1 0 .

b r a ). 2. E g y b k n t a z l lo m s v l e tl e n s z e r e n v l a s z t e g y vi s s z al

p si rt k e t (r a n d o m b a c k o ff v al u e ), a m el y e t a k k o r k e z d el c s k k e

n t e n i, a m ik o r a c s a t o r n t s z a b a d n a k r z k el i. A m g a c s a t o r n

280

1 KODAI.OMJEGYZU K

t f o g la lt n a k r z k el j k, a s z m l l rt k e n e m v l t o zi k. A 2 . c m m e z

a k e r e t e t t o v b b t ll o m s M A C c m e . A m i k o r t e h t e g y v e z

e t k n l k li ll o m s t o v b b t j a a k e r e t e t, a z ll o m s M A C c m e k

e r l a 2 . c m m e z b e . H a s o n l a n , h a e g y h o z z f r s i p o n t t o v

282

1 KODAI.OMJEGYZU K

b b t j a a k e r e t e t, a k k o r a h o z z f r s i p o n t M A C c m e s z e r e p e

l a 2 . c m m e z b e n . Az 1. c m me z a cl k nt me gje llt vez et k nl kl i ll om s MA Cc me . Am iko r teh t eg y

vez et k nl kl i ll om s tov b btj a a ker ete t, az 1. c m me z a c mz ett hoz zf r si po nt MA Cc m t tar tal ma zza , s has onl k p pe n, am

iko r eg y hoz zf r si po nt tov bbtj a a ker ete t, az 1. c m me zb en a c mz ett vez et k nl kl i ll om s MA Cc me sz erep el.

............i
ii >

............... ^

TT--------------------------------

n--------------------------------1

284

1 KODAI.OMJEGYZU K

M i n d e n tt e l r h e t i n t e r n e th o z z f r s t s z e r e t n n k , a

z a z a k r o tt h o n r l, a z ir o d b l, a z a u t b l, e g y k v z b l v a g y

a s tr a n d r l is l e h e t s g e s i n t e r n e th o z z f r s t. He lyz et nk, ille tve mo zg si

seb ess g nk fg gv ny be n mi ndi g a leh et leg na gyo bb seb ess g gel sze ret n nk hoz zf rn i az int ern eth ez. Pl d ul ha egy oly an utc asa rko n llu nk, aho l

286

1 KODAI.OMJEGYZU K

egy 11 Mb/ s seb ess g IEE E 80 2.1 1b, egy 54 Mb/ s seb ess g IEE E 80 2.1 lg, ille tve egy 38 4 kb/ s seb ess g 3Ghoz zf r s is leh ets ge s, akk or sze

ret n nk, ha ber en A P H B a z t e r e d m n y e z h e ti , h o g y k l n b z f o r g a l m i o s

z t l y o k k l n b z t e lj e s tm n y b e n r s z e s l n e k ( e z t j e l e n ti

a k l n b z k v lr l m e g fi g y e l h e t t o v b b t si v is e l k e d s ). A

288

1 KODAI.OMJEGYZU K

m g a PH B kl n bz telj est m nye ket (vis elk ed st) hat ro z me g az osz tl yok kz tt, ne m jel l ki egy etl en kon kr t elj rs t se m en nek me gva ls ts ra

. Ad dig , am g a kv lr l me gfi gye lhe t telj est m nyk ve tel m nye k telj es lne k, br mil yen me gva lst si elj rs s br mel y puf fer/ sv sz les sg lef ogl al

si hz ire nd has zn lha t. A PH B pl d ul ne m kt i ki, ho gy me lyik cso ma gso rba lli tsi feg yel em (p ld ul pri orit so s sor ba ll ts , WF Q vag y FCF S tp

us sor ba ll ts ) has zn lha t az ado tt vis elk ed s el rs re . A PH B a cl, am ely nek el rs he z az er forr slef ogl al s me gva ls t elj rs ok az esz kz k.

290

1 KODAI.OMJEGYZU K

A telj est m nyb eli kl n bs gek nek me gfi gye lhe te kne k s gy m rhe tk nek kell len ni k. 1. A kl ie n s el k l di a z l ta la t m o g at ot t

kr ip to gr f ia i al g or it m u s o k li st j t e g y fr is s e n g e n er l t v l et le n sz m m al e g y t t.

2.

A s z e r v e r e rr l a li st r l v l a s zt e g y s zi m m e tr ik u s k ul c s el j r st ( p l d ul

a z A E S t) , e g y n yi lv n o s k ul c s al g o ri t m u st ( m o n dj u k a z R S A t, e g y a d

292

1 KODAI.OMJEGYZU K

o tt k ul c s h o s s z al ) s e g y M A C k d o t. A v l a s zt s t vi s s z a k l di a kl ie n s

n e k a t a n s t v n y v al s a s aj t v l e tl e n s z m v al e g y tt . 3. A kl ie n s el le

n r zi a t a n s t v n y t, a b b l m e g s z e r zi a s z e r v e r n yi lv n o s k u lc s t, g

e n e r l e g y m e s t e rt it k o t ( M a s t e r S e c r e t) , a z M S ti t k o t ti t k o s tj a a

294

1 KODAI.OMJEGYZU K

s z e r v e r n yi lv n o s k u lc s v al , m aj d a ti t k o si t o tt M S -t el k l d i a s z e r v e

r n e k. 4. U g y a n a z t a k u lc s s z r m a z t a t f g g v n y t ( a m el y e t a z S S L

s z a b v n y r g z t) al k al m a z v a a kl ie n s s a s z e r v e r e g y m s t l f g g e

tl e n l ki s z m t j k a ti t k o s t s M A C k u lc s o k a t a z M S s a v l e tl e n s z

296

1 KODAI.OMJEGYZU K

m o k s e g t s g v el . E tt l k e z d v e a kl ie n s s a s z e r v e r k z tt k l d tt

m i n d e n z e n e t ti t k o s t o tt s M A C k d d al h it el e s t e tt . 5. A kl ie n s el k l di

a k zf o g si f zi s s s z e s z e n e t n s z m t o tt M A C k d o t. 6. A s z e r v e r

el k l di a k zf o g si f zi s s s z e s z e n e t n s z m t o tt M A C k d o t.

You might also like