Boda Miklós – Vattay Gábor – Veres András Kaotikus viselkedés az Interneten
A kommunikációs hálózatok robbanásszerű fejlődésének lehetünk tanúi napjainkban. A hagyományos telefonhálózatok közel százéves egyeduralmát a kilencvenes évek elején kezdték megtörni a számítógép-hálózatok. Spontán fejlődéssel létrejött a számítógépeket világszerte összekötő hálózat, az Internet. Először az elektronikus levelezés terjedt el, melynek segítségével kisméretű dokumentumok gyors cseréje vált lehetővé. A nagyobb adattömegek átvitelét az ftp (file transfer protocol) végezte. A kilencvenes évek közepén a hálózati keresők (web browsers) kifejlesztése utat nyitott az átvitt adatok azonnali vizuális megjelenítéséhez. A technológia így felhasználóbaráttá vált, ami elősegítette a szolgáltatások és egyéb lehetőségek szinte végtelen tárházát nyújtó világháló (World Wide Web) megjelenését. Az Internet azonban a hagyományos telefonhálózatokhoz hasonlóan csak fix, rögzített hálózatba kapcsolt számítógépeken áll rendelkezésre. A kommunikációs hálózatok helyhez kötöttségét az Internettel lényegében egy időben megjelenő rádiófrekvenciás mobiltelefon-hálózatok enyhítették. A csökkenő méret és a digitális hangtovábbításra való áttérés (GSM, TDMA) javította a telefonok mobilitását, és megjelenhettek a lassú modemes adatátvitelhez hasonló adatátvitel eszközei. Ezt használja ki az rövid szöveges üzenetküldés (SMS) és a WWW-hez hasonló WAP (Wireless Application Protocol) szolgáltatás. Jelenleg az Internet és a mobiltelefonok előnyeit egyesítő technológiák kifejlesztése van napirenden. A Magyarországon is működő GPRS mobiltelefonok már a gyors modemekhez hasonló adatforgalmat tesznek lehetővé. A bevezetés stádiumában álló harmadik generációs mobiltelefonok a fix Internet gyorsaságát és grafikai lehetőségeit egyesítik a mobiltelefonok könnyű mozgathatóságával és helyfüggetlenségével.
Az Internet és a telefonhálózatok összekapcsolása a mérnököket arra kényszerítette, hogy az egymástól függetlenül fejlődő kommunikációs rendszerek működését egymással összeegyeztethetővé (kompatibilissé) tegyék, és hogy ezek a rendszerek ugyanolyan módon kezeljék és továbbítsák az információt. Ezt a közös viselkedési „etikett”-et Internetprotokollnak (IP) hívják. Az Internetprotokoll felelős azért, hogy a hálózat egyik felhasználója által feladott adatcsomagok rendben megérkezzenek a címzettekhez. Feladáskor számítógépünk (vagy telefonunk) a hang-, kép- és egyéb információt adathalmazzá alakítja. Az adatokat aztán adott hosszúságú csomagokká tördeli szét. (A csomagok nagyságát bájtokban szokás megadni.) Az elküldendő csomagok fejlécébe a feladó számítógépe beírja a saját és a címzett címét. A csomagok a feladás után a hálózat különböző elemein utaznak keresztül. Ezek egyik fajtája a „vonal”, amely a csomagok passzív továbbításával foglalkozik. Kapacitását az a – bit/másodperc egységekben megadott – adatmennyiség jellemzi, amely időegység alatt képes rajta áthaladni. A vonalakon terjedő csomagokat a vonalak összefutásakor keletkező útkereszteződésekben az útvonalválasztók, „router”-ek küldik tovább a csomag címéhez vezető vonal irányába. Az 1. ábra az Internet egy kis részében mutatja a vonalakkal összekötött routerek hálózatát.
1. ábra. Az Internet hálózat egy tipikus darabja. A sötétkék és piros körök a routereket jelölik. A hálózat szélén halványan jelölt csomópontokon találhatók az egymással kommunikáló számítógépek. (Forrás: https://www.cybergeography.org/atlas/topology.html)
A hálózati hierarchiában különböző szinten található routerek időről időre üzeneteket küldenek egymásnak. Ezekben elérésiútvonal-információkat közölnek a környezetükben található számítógépekről. Ilyen módon minden routernek tudomása van arról, hogy milyen útirányba kell egy adott csomagot továbbítania annak érdekében, hogy az a lehető legkevesebb router érintésével jusson el a címzetthez.
A routerekből különböző irányokban kiinduló vonalak adattovábbítási sebessége eltérő lehet; néhány tízezertől több százmillió bit/másodpercig terjedhet. A routerekben egy-egy csomag feldolgozása adott, véges ideig tart. Ezt a periódust kiszolgálási időnek nevezik. A kiszolgálási idő alapvetően a kimenő vonal sebességétől függ. Egy routerhez egyszerre több csomag is érkezhet a különböző befutó vonalakon keresztül. Feldolgozásukig a router ezeket a memóriatároló helyein, a pufferekben tárolja. Ha a beérkező csomagok beérkezési sebessége meghaladja a feldolgozás sebességét, akkor a csomagok a memóriában sorban állásra kényszerülnek. Amikor a sorban álló csomagok mennyisége eléri a memóriapuffer méretét, a router már nem képes tárolni a beérkező csomagokat. Ezeket a csomagokat nem tudja feldolgozni és így ezek nem is érkeznek meg a címzetthez, elvesznek. A megbízható kommunikáció érdekében a csomag feladója általában szeretne meggyőződni arról, hogy a feladott csomag megérkezett-e a címzetthez. Ezért a címzett egy kisméretű nyugtázó csomag visszaküldésével jelzi az adatcsomag megérkezését (2. ábra).
2. ábra. A hálózat működésének sematikus képe. A csomagokat feladó számítógépek (szerverek) vonalakon keresztül érnek el a routerekben található memóriapufferekbe, ahol feldolgozásukig a csomagok várakoznak. Útjuk során a csomagok számos vonalon és pufferen keresztül jutnak el a címzetthez (felhasználóhoz). A címzett a beérkezett csomagokat nyugtázó csomag visszaküldésével jelzi a feladónak
A csomagok késleltetése és a csomagvesztés következtében a csomagáramlás időben változatos, komplex viselkedést mutat. Ennek megfelelően a hálózati forgalom modellezése és a hálózat elemeinek tervezése vagy méretezése bonyolult feladat, melyben fontos szerepet játszanak a természettudományos ismeretek.
Érdemes megjegyezni, hogy hazánkban van Európa egyik legnagyobb ilyen típusú mérnöki kutatásokkal foglalkozó intézete, a svéd Ericsson vállalat budapesti forgalomkutató laboratóriuma. A laboratórium szorosan együttműködik a Budapesti Műszaki és Gazdaságtudományi Egyetem Nagysebességű Hálózatok Laboratóriumával, illetve a Kommunikációs Hálózatok Laboratóriummal az Eötvös Loránd Tudományegyetemen.
Komplex forgalom számítógép-hálózatokban
A számítógép-hálózatokban kialakuló csomagforgalom tulajdonságainak kutatása csak alig több mint tíz évre tekint vissza. A hálózatok forgalmát kezdetben a telefonhálózatoknál megszokott módszerekkel próbálták modellezni.
A telefonhálózatok vonalainak foglaltságát először Erlang dán matematikus vizsgálta 1917-ben. Ma is az általa kidolgozott formulák szerint méretezik a telefonközpontokat (lásd írásunkat a cikk végén).
A telefonhálózatok Erlang-féle modelljét úgy lehet alkalmazni számítógép-hálózatok esetén, ha minden számítógépet a telefon-előfizetőhöz hasonló módon írunk le, csak itt a beszélgetések helyett azon időszakok hosszát tekintjük, amikor a számítógép csomagokat küld ki. A telefonközpontok szerepét a routerek játsszák. Ennek alapján azt várjuk, hogy egy nagy teljesítményű router csomagterhelése hasonlóan modellezhető és méretezhető, mint egy telefonközpont.
Nagy meglepetésre kiderült, hogy a számítógép-hálózatokban a routerek terhelése nem annyira egyenletes, mint a telefonhálózatokban. Gyakran előfordul, hogy hirtelen nagy adatforgalom indul el valamelyik számítógépből, majd hirtelen véget is ér. Ezek a „csomagkitörések” (angolul „bursts”) a terhelést egyenetlenné teszik és megnehezítik az optimális hálózati kapacitások megtervezését. Másrészt gyakran előfordul, hogy egyes számítógépek hosszú ideig megszakítás nélkül kommunikálnak. Ez történik például, amikor számítógépünkre nagy programcsomagokat töltünk le. Ha egy telefonhálózat esetén egy adott időszakban a beszélgetések átlagos hossza T1, akkor nagyon ritka, hogy egy beszélgetés ennek az időnek a sokszorosáig tartson. Például száz beszélgetés közül átlagosan csak kb. kettőnek a hossza fogja T1 négyszeresét meghaladni, míg egy számítógép-hálózatban kb. húsznak. A hagyományos Erlang/Poisson-modell és egy hálózat terheltségét összevethetjük, ha egy számítógép-hálózat routerében kialakuló igazi csomagfolyamot egy olyan hipotetikus csomagfolyammal hasonlítjuk össze, amelyet az Erlang-modell felhasználásával generáltunk, és amelyben a csomagok számának időbeli átlaga ugyanakkora. A 3. ábra egy ilyen esetre ad példát. Az ábra különböző időskálákon mutat egy Poisson-típusú és egy Interneten mért adatsort. Látható, mennyire lassan simul ki az Internetforgalom a Poisson-modellhez képest.
3. ábra. A jobb oldalon a routerbe beérkező csomagok számát látjuk egy számítógép-hálózatban. A legfelső ábra tizedmásodperces időskálán mutatja a forgalmat, az alatta levő ábrákon pedig az egyre hosszabb intervallumokra átlagolt forgalmat látjuk az idő függvényében. A feketével satírozott tartományok mindig a felettük levő ábrának megfelelő tartományt mutatják a hosszabb idősoron belül. A bal oldalon az ugyanakkora átlagos időegységre eső csomagszámmal rendelkező, de az Erlang/Poisson-modellel generált csomagfolyamot látjuk. Ha egyre nagyobb időskálára átlagolunk, a hagyományos modellben a fluktuációk gyorsan kisimulnak, míg a számítógép-hálózat forgalma sokkal lassabban simul ki. (Forrás: V. Paxson és S. Floyd, Wide-Area Traffic: The Failure of Poisson Modeling. IEEE/ACM Transactions on Networking, 3. kötet, 3, 226–244, 1995. június)
A forgalom lassú kisimulását az átlagolási idő függvényében kvantitatív módon is jellemezhetjük. Erre a célra a forgalomfluktuációk nagyságának és a teljes forgalomnak az arányát vizsgálhatjuk az átlagolás hosszának függvényében. Az Erlang-modell szerint a routerbe beérkező forgalom nagysága, egy adott idő alatt, arányos az átlagolási idő t hosszával. A forgalom fluktuációit jól jellemző statisztikai szórás az átlagolási idő négyzetgyökével (~Öt) arányos. A fluktuációknak az átlaghoz viszonyított aránya így az átlagolási idő négyzetgyöke szerint csökken (). A számítógép-hálózatokban ez az arány lassabban csökken, amit a 4. ábra jól szemléltet.
4. ábra. Egy számítógép-hálózat egyik routerében mért forgalom relatív szórása az átlagolási idő függvényében. A függőleges tengelyen a forgalom szórás/átlag arányának tízes alapú logaritmusa, a vízszintes tengelyen az átlagolási idő 100 ms egységekben (t=m·100 ms) mért értékének tízes alapú logaritmusa látható. A pontozott egyenes az Erlang-modell szerint várt függést, a folytonos egyenes az adatokhoz jobban illeszkedő 1/m1–H függést mutatja, ahol H=0,8 az ún. Hurst-paraméter. (Forrás: Will E. Leland, Murad S. Taqqu, Walter Willinger és Daniel V. Wilson, On the Self-Similar Nature of Ethernet Traffic (Extended Version), IEEE/ACM Transactions on Networking, 2. kötet, 1, 1–15, 1994. február)
A 4. ábra alapján megállapíthatjuk, hogy a forgalom relatív szórása továbbra is az átlagolási idő valamely hatványfüggvénye szerint csökken, azonban ez a csökkenés lassabb, mint az Erlang-modellben. A hatványkitevőt 1/t1–H alakban írva a csökkenést a H (Hurst-) paraméterrel jellemezhetjük. A H=1/2 érték felel meg az Erlang-modellnek, a H=1 érték pedig azt jelentené, hogy a forgalom relatív fluktuációi nem csökkennek az átlagolás során. A számítógép-hálózatokban tipikusan e két szélső érték közé eső (1/2<H<1) Hurst-paramétereket találhatunk.
A relatív szórás hatványfüggvény szerinti viselkedése annak a jele, hogy a forgalom fluktuációi fraktálszerű időbeli viselkedést mutatnak. A forgalom rövid időskálákon megfigyelt viselkedése statisztikus értelemben hasonló a nagy időskálákon megfigyelt viselkedéséhez. Ennek a statisztikus önhasonlóságnak a magyarázata és jellemzése az egyik legnagyobb kihívás a terület kutatói előtt. Mint ismeretes, a kaotikus rendszerek időbeli viselkedése is gyakran mutat önhasonlósági tulajdonságokat. Ezért fordult a kutatók érdeklődése a számítógép-hálózatok csomagküldési dinamikája felé. A következő részekben a számítógép-hálózatokat a dinamikai rendszerek és a káosz szemszögéből vizsgáljuk.
Az Internet mint dinamikai rendszer
Az Internet rendkívül inhomogén, ha a rácsatlakozó és a hálózatot alkotó berendezéseket tekintjük. Egy Internetes letöltés nem ritkán 15-20 csomagtovábbító berendezésen is áthalad, s a csomópontokat összekötő vonalak sebessége között több nagyságrendnyi különbség is lehet. Például egy webszerver által kiküldött adatcsomag rendszerint egy 10-100 Mbit/s kapacitású (1 Megabit=106 bit) vonalra kerül először, majd valamilyen nagy „gerinchálózat” másodpercenként több száz megabit, esetleg gigabit sebességű vonalain halad tovább, ahonnan egy kis helyi szolgáltatón keresztül (pl. 2 Mbit/s) végül eljut a felhasználó néhány tíz kilobit/s sebességgel működő modemjéig. A hálózat egyes részeit egyszerre használó számítógépek a csomópontokon található routereket időről időre változó mértékben terhelik, így a csomagok várakozási ideje, illetve a csomagok elvesztésének gyakorisága gyakran változik.
Annak érdekében, hogy egy ilyen heterogén rendszerben is működjön a csomagküldés mechanizmusa, az Interneten szakítottak a távközlésben addig megszokott központosított erőforrás-vezérlési filozófiával (lásd a telefonhálózatokat). Az Internet tervezésének egyik legfontosabb (és legbátrabb) filozófiai döntése talán az volt, hogy minden vezérlési lépésről, így például arról is, hogy egy adott időpontban melyik számítógép küldhet csomagot, minden részt vevő számítógép maga dönthet a saját maga gyűjtötte adatok alapján. Hogy mégis működik az Internet és a túlterheléstől nem omlik össze azon nyomban, annak az az oka, hogy az algoritmus, ami szerint a számítógépek csomagjaikat kiküldik, mindig figyelembe veszi a hálózat terheltségi állapotát és a gépek viselkedését ahhoz igazítják. Így a hálózat minden autonóm módon működő számítógépe együttesen kooperatív, lehetőleg demokratikus viselkedést alakít ki annak érdekében, hogy idővel mindenkinek a csomagjai célhoz érjenek.
Mivel az Internet nem központilag vezérelt hálózat, és egyes elemeit más-más tulajdonosok birtokolják, az Internet nem látja el felhasználóit a hálózat állapotát jellemző információkkal. Így az egyes csomagküldő számítógépek csak a saját maguk által kiküldött csomagokat és a vevő által nyugtaként visszaküldött köszönetcsomagokból származó információkat használhatják működésükhöz. Csupán a kommunikáció végpontjai szólhatnak bele a csomagáramlás irányításába. Ezt az alapelvet az Internet „végtől végig” (end to end) vezérlőelvének nevezik. A számítógépek túlnyomó része a csomagküldések ütemezésére a fenti elveket leginkább figyelembe vevő algoritmust, az TCP-t (Transmission Control Protocol) használja.
Az algoritmus leegyszerűsítve a következő módon működik. A kapcsolat kezdetén a számítógép még nem tud semmit a hálózat állapotáról, ezért csak egy csomagot „mer” kiküldeni. Ha sikeresen megérkezik a csomag a címzetthez, akkor köszönő nyugtacsomag érkezik vissza. A csomag feladása és a nyugta megérkezése közt eltelt időt körbeutazási időnek, angolul „round trip time”-nak vagy röviden RTT-nek hívják. A TCP állandóan, minden csomag esetén méri és nyilvántartja ezt az időt, mert a hálózat állapotára csak az RTT-adatokból tud következtetni. (A növekvő RTT-értékek mindig arra utalnak, hogy a csomagok egyre hosszabb ideig várakoznak a routerekben, ami a hálózat terheltségének egyik fokmérője.) Amikor az első csomagról a nyugta visszaérkezik, a TCP egymás után két csomagot ad fel. Az ezekre érkező nyugták megérkezésekor szintén két-két csomagot ad fel és így tovább. A TCP-nek ezt a működési módját „lassú kezdés”-nek (slow start) hívják. Ez – elnevezésére rácáfolva – a beküldött csomagok számának exponenciális növekedését okozza. Az egymást követő RTT-nagyságú időintervallumokban 1, 2, 4, 8... csomag kiküldésére kerül sor. Ez a folyamat addig folytatódik, amíg az egyik feladott csomagra nem érkezik nyugta: ez a csomag elveszését jelzi. A csomagok elvesztését a TCP két módon tudja detektálni. Az egyik módszer azon alapul, hogy az Interneten két számítógép között a csomagok mindig ugyanazon az útvonalon haladnak és a csomagok feladásuk sorrendjében érkeznek meg a címzetthez. Amennyiben egy csomag nyugtája hamarabb érkezik meg, mint egy korábban feladott csomagé, akkor feltehető, hogy ez utóbbi csomag elveszett. A másik módszer azon alapul, hogy az algoritmus figyeli az RTT-értékek alakulását. Ha az utoljára mért néhány RTT-érték átlagát jelentősen meghaladó időn túl sem érkezik nyugta, az algoritmus a csomagot elveszettnek nyilvánítja.
A csomagvesztés után a TCP óvatosabbá válik. Megvárja, amíg a vesztés észlelésekor a hálózatban lévő csomagjainak feléről visszatér a nyugta, és csak ezután növeli ismét – óvatosan – a hálózatban tartott csomagjainak számát. Ennek módszere a következő: az algoritmus használ egy torlódási ablaknak (congestion window vagy röviden cwnd) nevezett változót. Amennyiben a kiküldött, de még nyugtázatlan csomagjainak száma nagyobb, mint a torlódási ablak egész része ([cwnd]), akkor egy nyugta beérkezésekor nem küld ki csomagot, és a cwnd értékét sem változtatja. Ha a hálózatban annyi nyugtázatlan csomag van, mint [cwnd], akkor egy nyugta beérkezésekor kiküld egy csomagot, és a cwnd értékéhez hozzáadja az 1/[cwnd] számot (cwnd’=cwnd+1/[cwnd]). Ha a [cwnd] értéke nagyobb a nyugtázatlan csomagok számánál, akkor egy nyugta beérkezésekor két csomagot küld ki, és a cwnd értékéhez 1/[cwnd]-t ad hozzá. Ha csomagvesztés lép fel, akkor a cwnd értékét felezi és az így adódó szám egész részére, de legalább 1-re állítja be az új értéket (cwnd’=max(1,[cwnd/2])). A TCP-nek ezt a működési állapotát torlódáskerülő (congestion avoidance) üzemmódnak hívják. Például ha kezdetben 5 nyugtázatlan csomagunk van a hálózatban és cwnd=5, akkor a nyugták megérkezésekor a TCP egy-egy csomagot küld ki. Így a nyugtázatlan csomagok száma mindig 5 marad. A cwnd értéke ekkor az 5,2; 5,4; 5,6; 5,8 értékeket veszi fel. Az ötödik nyugta visszaérkezésekor a cwnd értéke 6,0 lesz. Ennek egész része 6, és ekkor a TCP ennek a nyugtának a beérkezésekor két csomagot küld ki 6-ra növelve a nyugtázatlan csomagok számát a hálózatban. Így ebben a módban minden egyes RTT-idő alatt eggyel növekszik a nyugtázatlan csomagok száma a hálózatban, azaz az idővel lineárisan, nem pedig exponenciálisan (állandó RTT-értéket feltételezve) változik. A torlódáskerülő mód szemléltetésére tekintsük az 5. ábrán látható kapcsolást. Ebben egy számítógép csomagokat küld egy router pufferén keresztül egy másik számítógépnek.
5. ábra. Egyszerű kapcsolás két számítógép között. A bal oldali TCP-vel jelölt számítógép egy puffererel ellátott routeren keresztül csomagokat küld a címzett számítógépnek. Egyéb csomagforgalom nincs
A TCP egyre növeli a hálózatban tartott csomagok számát. Amennyiben a vonalak csak kismértékben késleltetik a csomagokat, a csomagok a pufferben torlódnak fel. A torlódás addig tart, míg a puffer meg nem telik, túl nem csordul, és a TCP által küldött egyik csomag el nem veszik. Ekkor a TCP megfelezi a hálózatban tartott csomagjainak számát és a feltorlódási folyamat újrakezdődik. Ennek megfelelően ebben az egyszerű rendszerben a cwnd változó időben periodikusan változik a puffer maximális nagyságát jellemző B érték és annak fele (B/2) között. A folyamat közben a pufferben feltorlódó csomagoknak egyre hosszabban kell várakozniuk az előttük várakozó csomagok miatt. Így a körbejárási idő is folyamatosan növekszik. A 6. ábra a cnwd érékének időben periodikus változását mutatja be.
6. ábra. A cwnd időbeli viselkedése az 5. ábrának megfelelő elrendezés esetén. A cwnd a B és B/2 értékek között mozog periodikusan. A cwnd minden RTT alatt eggyel nő, viselkedése mégsem lineáris, mivel az RTT-értékek is növekednek a pufferben kialakuló várakozás miatt
Végül a TCP harmadik, „visszafogott” (back-off) működési módja akkor aktivizálódik, amikor a torlódás és csomagvesztés olyan nagy a hálózatban, hogy a cwnd értéke 1-re esik vissza, és az RTT-időnkénti egy csomag kézbesítése sem sikerül. Ilyenkor, sikertelen csomagküldés után, a TCP a következő csomagot két RTT-várakozás után próbálja elküldeni, majd ha ez ismét nem sikerül, akkor ehhez hasonlóan 4, 8, 16, 32 és 64 RTT-várakozás után próbálja újra elküldeni a csomagot. Ha valamelyik lépésben sikerül elküldenie a csomagot, ismét visszatér a torlódáselkerülő módba.
A valódi algoritmus ennél persze bonyolultabb. Talán meglepő, de ez az egyszerű dinamikus rendszer bevált a mai viszonyok között is, és sikeresen megelőzi, hogy az Internet összeomoljon.
Káosz a csomagfolyamok dinamikájában
Ebben a fejezetben egy egyszerű példán keresztül mutatjuk be, hogyan jelentkezik a káosz a csomagfolyamok dinamikájában. A példában két TCP-csomagfolyam (pl. fájlletöltés) találkozik egy hálózati csomópontban. A két kapcsolaton haladó csomagok ugyanabban a sorban várnak arra, hogy a kiszolgáló továbbítsa őket a vevő számítógép felé. Mindkét TCP-folyam az előző fejezetben ismertetett torlódásszabályozási algoritmust működteti, így mindkettő megpróbálja dinamikusan kihasználni a rendelkezésére álló kapacitást. Végeredményben a két adatfolyam között „versengés” lép fel.
A következőkben megvizsgáljuk, milyen a versengés dinamikája a rendszer paramétereinek függvényében. Az első konfigurációban a kiszolgáló sebessége 0,2 Mbit/s, a vonali késleltetés 10 ms, a csomagok mérete egységesen 1000 bájt, és a sorban maximálisan 20 adatcsomag tud várakozni. Mint látjuk majd, a legfontosabb rendszerparaméter a dinamika szempontjából a várakozási sor mérete. A 7. ábra az idő függvényében ábrázolja a két adatfolyam dinamikáját legjobban leíró mennyiséget, a torlódási ablak (cwnd) méretét. A kezdeti tranziens után a két folyam rövid időn belül szinkronizálódik és ez az állapot stabilan fenn is marad.
7. ábra. Két csomagfolyam versengésének periodikus viselkedése. Az a) ábrán a kezdeti tranziens látható, a rendszer a szinkronizálódás felé halad. A b) ábrán ugyanez a rendszer látható röviddel később
A rendszer paramétereinek változtatásával a periodikus viselkedés gyökeresen megváltozik. A sor méretét mindössze 4 csomagra csökkentettük a következő méréshez. Az egymást követő 8.a–d ábrák egyre nagyobb időtartamokat fognak át. A jobb láthatóság kedvéért a cwnd értékei külön ábrán, egymás fölött kaptak helyet. Megfigyelhető, hogy még a 10 000 másodperc hosszú mérés sem mutat semmiféle szikronizációt a két adatfolyam között!
8. ábra. Két versengő TCP-folyam cwnd idősorai különböző hosszúságú időtartamokra: a) 10 s, b) 100 s, c) 1000 s, d) 10 000 s
Az egymással folytatott versengésből kialakuló kaotikus rendszer rendkívül érzékeny a külső beavatkozásokra is. Ezt a fajta érzékenységet írja le a Ljapunov-exponens, amely a beavatkozások robbanásszerű hatásának sebességét jellemzi. A 9. ábra egy ilyen apró beavatkozás hatását mutatja, amikor egy adott időpontban (t=50 s), mesterségesen beavatkozva, megnöveltük az egyik folyam cwnd paraméterét. Az ábra a perturbált és az eredeti rendszer cwnd-inek távolságát () mutatja.
9. ábra. Példa a rendszer érzékenységére külső beavatkozás esetén. Az ábra a t=50 s időpontban perturbációt szenvedett és az eredeti rendszer cwnd-inek távolságát mutatja. Látható, amint a távolság robbanásszerűen növekszik
A beavatkozás után néhány másodperc alatt bekövetkezett a változás, ami azután tartósan meg is maradt. Az érzékenységnek fontos következményei vannak az Internet működése szempontjából, és alapvetően meghatározza a hálózatot üzemeltetői Internetszolgáltatók beavatkozási lehetőségeit, hiszen a beavatkozások hatásai nehezen jelezhetők előre. Valószínűleg ebben gyökerezik az is, hogy az Internet a robbanásszerű fejlődése ellenére mindmáig alapvetően minőségi garanciák nélkül működik.
A fenti determinisztikus rendszer nem periodikus és rendkívül érzékeny a perturbációkra, mégis alapvetően szigorú belső szabályosságot követ, amit a rendszer attraktorának ábrázolásával demonstrálhatunk. A legegyszerűbb, ha a két cwnd állapotváltozót „simítjuk” és egymás függvényében ábrázoljuk (10. ábra).
10. ábra. A 8. ábrán bemutatott két TCP-folyam attraktora. Az ábra tengelyein a két TCP simított cwnd értékeit ábrázoltuk egymás függvényében
A kaotikus attraktoroknak általában fontos tulajdonságuk, hogy fraktálszerkezetet mutatnak. (Ellenpéldaként a fejezet elején ismertetett periodikus rendszert tudjuk állítani, aminek egész dimenziója van – tehát az nem fraktál.) A fraktáldimenziót úgy határozhatjuk meg, hogy a fraktált lefedjük különböző méretű négyzetekkel, és megszámoljuk, hogy adott s élhosszúságú négyzetekből hány darab szükséges a lefedéséhez. Amennyiben a lefedéshez szükséges négyzetek N(s) száma s–D-vel arányosan nő az élhosszúság csökkenésével, a D számot a fraktál dimenziójának nevezzük. A 11. ábrán a két TCP-attraktor lefedéséhez szükséges négyzetek számát ábrázoltuk az élhossz függvényében. Ezzel a módszerrel attraktorunk dimenziójára D=1,61 adódik.
11. ábra. Periodikus és kaotikus attraktor dimenziójának meghatározása. Az attraktor lefedéséhez szükséges négyzetek számát ábrázoltuk az élhossz függvényében. A kis négyzetek a kaotikus attraktorhoz tartoznak, a kis körök a periodikus rendszerhez
Összefoglalás
Itt az alkalom, hogy visszakanyarodjunk a cikk legelején felvetett észrevételekhez: tehát a „hagyományos”, Erlang-forgalommodell használata miért ütközik problémákba, ha az Internet modellezésére szeretnénk használni. Az első magyarázatok ezt a jelenséget az adatfolyamok hosszának (például a fáljméretek) eloszlásával magyarázták.
Ebben a cikkben röviden ismertettük a legújabb kutatások eredményeit, amelyek megmutatták, hogy az Internet legfontosabb protokollja, a TCP működési mechanizmusán keresztül hogyan járul hozzá a fraktálok és a káosz kialakulásához. A TCP-protokollt használó Internetes alkalmazások, például a WWW és az e-mail, ugyanazokat a szabályokat használva versengenek a hálózati sávszélességért, és ebből a versenyből kaotikus rendszer alakulhat ki. Erre a kaotikus rendszerre jellemzőek a káosz elméletében ismert jelenségek, így a rendkívüli érzékenység (más néven pillangóeffektus) és a fraktáldimenziójú attraktorok.
Mint említettük, a káosz vizsgálata az Interneten új kutatási irány. A kutatások amellett, hogy már eddig is fontos kérdésekre adtak magyarázatot, még több izgalmas, megválaszolatlan tudományos kérdést vetettek fel.
Köszönetnyilvánítás
Vattay Gábor köszöni az Országos Tudományos Kutatási Alapprogram (OTKA) T037903 és T032437 számokon nyújtott támogatását.
Lényege, hogy a telefon-előfizetők véletlenül és egymástól függetlenül kezdeményeznek telefonhívásokat, és a beszélgetéseket egy véletlen időpontban fejezik be. Egy előfizető egy hívása átlagosan T1 ideig tart. Egy hívást átlagosan T0 hosszúságú szünet követ. Hosszú idő (t) alatt egy előfizető átlagosan t/(T0+T1) hívás-szünet cikluson megy keresztül. Minden ciklusban átlagosan T1 ideig telefonál és így T1t/(T0+T1) ideig foglalja a vonalat. Másként fogalmazva: annak a valószínűsége, hogy egy adott pillanatban egy előfizető éppen telefonál, p1=T1/(T0+T1), és annak, hogy nem telefonál, p0=T0/(T0+T1). Ha egy telefonközponthoz N előfizető vonala van bekötve, akkor a foglalt vonalak száma binomiális eloszlást követ:
A foglalt vonalak átlagos száma n=Np1=NT1/(T0+T1), szórása . Mivel általában a beszélgetések hossza nagyságrendekkel kisebb, mint a két hívás közti szünetek hossza, T0>>T1, a foglalt vonalak átlagos száma n»NT1/T0=l, szórása s»Öl, a foglalt vonalak számának eloszlása pedig a Poisson-eloszlással közelíthető:
A vonalak foglaltságának eloszlása az Erlang-modellben. Az ábrán a Poisson-statisztika látható l=10 paraméter esetén. Ez azt jelenti, hogy az összes előfizető számával beszorzott átlagos telefonálási idő (NT1) tízszerese egy előfizető két beszélgetése közt eltelő időnek (T0)
Természet Világa, 134. évfolyam, 1. szám, 2003. január
https://www.chemonet.hu/TermVil/
https://www.kfki.hu/chemonet/TermVil/
Vissza a tartalomjegyzékhez