• Nem Talált Eredményt

FEJEZET. A KADEMLIA ÁTFEDŐ MEGBÍZHATÓSÁGÁNAK NÖVELÉSE 50

külső→belső külső→külső

belső→belső belső→külső

(a) egy alhálózat esetén (b) véletlenszerűelosztásban

1. alhálózat 2. alhálózat

(c) két alhálózat esetén (d) véletlenszerűelosztásban

4.3. ábra. A kapcsolati mátrix jellege és valós alakja sok azonos alhálózatból érkezőegyed esetén

Általában ez akkor történik, amikor az adatot tároló egyed van tűzfal vagy címfordítás mögött van [19]. Ilyenkor a beérkezőlekérdezés valószínűleg nem fog elérni hozzá (4.1. ábra).

Fordított esetben, amikor a tűzfal mögötti egyed próbál meg a külsőhöz csatlakozni, nagyobb valószínűséggel fog létrejönni a kapcsolat. A tűzfal és címfordítás eljárások a kimenőcsomag keletkezésétől számítva egy ideig nyitva tarthatja az adott portot [20]. Vagyis ha egy kapcsolat létrejött, akkor az meg is marad, ha folyik rajta adat. Így ha egy tűzfalon kívüli egyed tárolja az adott tételt, az a tűzfal mögötti egyed számára is elérhető, mivel a válasz megkérkezésének idejére még a tűzfal nyitva lesz, és a kommunikáció sikeres. Ez tükröződik a 4.3. ábra kapcsolati mátrixain is. (Más típusú hibák által létrehozott hibamátrixokról a 4.5.2. szakaszban lesz szó.)

4. FEJEZET. A KADEMLIA ÁTFEDŐMEGBÍZHATÓSÁGÁNAK NÖVELÉSE 51 A kapcsolati mátrixok jellegét a 4.3. ábra mutatja. A grafikon színnel jelölt részei mutatják a mátrix HAMIS elemeit. A 4.3(a). ábra egy olyan átfedőmátrixát mutatja, amely egyedeinek 10%-a egy bizonyos, nyilvános IP címekkel nem rendelkezőalhálózaton található. Ezek egy-más között gond nélkül tudnak üzenetet küldeni (belső→belső), és a külvilág felé küldött üzeneteiket (belső→külső) is megkapják a címzettek. A külvilág egyedei azonban nem tudnak kapcsolatot létesíteni velük (külső→belső). A külvilág egyedei között elszórt, egymással nem korrelált hibákat találunk csak. A 4.3(b). ábra mutatja a szimulációban használt mátrixot, amely a véletlenszerűazonosítók miatt van megkeverve. A 4.3(c). és 4.3(d). ábra ugyanezt mutatja két, eltérő méretű alhálózat esetére. Amellett, hogy a külső egyedek nem tudnak kapcsolatot kezdeményezni a belsőegyedek felé, a két alhálózat egyedei egymással sem tudnak kommunikálni.

A fentiek alapján felismertem, hogy a hibák nem egyenletes eloszlása ad lehetőséget arra, hogy az adatreplikáció növelni tudja az átfedő megbízhatóságát. Az átfedőalapjául szolgáló fizikai, IP szintű hálózat permanens hibái, vagyis a tűzfalak és a címfordítás hatásai függetlenek a kulcsoktól. Az egyedek az alkalmazási szintű azonosítóikat szabadon megválaszthatják, általában véletlenszerűen generálják azt, a 4.2. alfejezetben leírtak szerint. Egy egyed bármilyen azonosítót sorsolhat magának, viszont ez nem változtat azon a tényen, hogy a többi egyed által elérhető-e, mert az a fizikai hálózat adottságainak függvénye. Az eltárolt tételekhez tartozó kulcs hasított értéke is véletlenszámmal közelíthető, emiatt pedigegy eltárolt tétel kulcsa és az azáltal végeredményben meghatározott fizikai helye között nincsen összefüggés.

Ha több egyednél tárolunk egy adott tételt, akkor nagyobb az esély arra, hogy a „véletlensze-rűen” választott célpontok között lesz olyan is, amellyel minden többi egyed, vagy legalábbis a legnagyobb részük tud kommunikálni. Ha vannak egyedek a hálózatban, amelyek szinte minden másik egyedtől elérhetőek, akkor a replikáció növelésével egyre valószínűbb az, hogy az adott kulcs tárolásáért felelős egyedek halmazába valamelyikük bele fog esni. Minél több alkalmas egyed van, annál kisebbkr érték szükséges ehhez. A hálózati hibák pontos eloszlása a szükségeskr értéket, vagyis a kvantitatív eredményt módosítja ; a kvalitatív eredmény azonban, hogy egy adott szintűreplikáció felett a hálózat kellően megbízhatóvá tehető, nem módosul.

4.3.2. A replikáció szükséges szintjének meghatározása

A 4.3. alfejezetben tárgyalt szimulációs módszer alapján meghatározható az, hogy egy adott hálózati hibaarány és -eloszlás mellett milyen kr érték szükséges ahhoz, ahogy az átfedő megbízható működését, vagyis a tárolt tételek elérhetőségét biztosítani lehessen.

A megbízhatóság a hálózati hibák miatt nem lehet 100%-os. Egy olyan egyed, amelyik tűzfal vagy címfordítás mögött van, és így a legtöbb másik egyedek által elérhetetlen, az adatok tárolása szempontjából nem hasznos tagja az átfedőnek. Ha egy adott kulcs környezetében lévőösszes egyed ilyen, akkor a kulcs eltárolása nehézségekbe ütközik. Viszont a replikáció szintjének növelésével lecsökkenthetjük ennek a valószínűségét.

Ha nem írjuk előa tételek 100%-os elérhetőséget, hanem annál akár csak néhány százalék-kal alacsonyabbat, akkor a szükségeskr értéket is csökkenthetjük – a megbízhatóság rovására ezzel csökkenthetőa hálózati forgalom és az egyedeknél használt tárkapacitás. A szükséges megbízhatóságot természetesen a konkrét alkalmazás határozza meg. Például előírhatjuk azt, hogy az átfedőben a tárolások és kikeresések 99%-a sikeres kell legyen. Ez azt jelenti, hogy az

4. FEJEZET. A KADEMLIA ÁTFEDŐMEGBÍZHATÓSÁGÁNAK NÖVELÉSE 52 eltárolt adatot az átfedőegyedeinek 99%-a képes legyen lekérdezni.1

Egy átfedőben minden egyed véletlenszerűen választott azonosítóval rendelkezik. Az, hogy egy konkrét egyedcsoport képes-e olyan átfedőt építeni, amely biztosítani tudja az előírt rendelkezésre állást, függ az átfedőbeli elhelyezkedésüktől. Ez pedig az azonosítók véletlenszerűmegválasztásának függvénye, hiszen végeredményben azok határozzák meg, hogy mely egyedeknek melyekhez kell majd csatlakozniuk.

Ezért egy adottkr szám mellett több szimulációt kell végeznünk ; minden esetben meg-határozva azt, hogy a kiválasztott kulcs eltárolását el tudja-e végezni egy kulcshoz közeli egyed. vagy lekérdezését az egyedek mekkora hányada tudta megvalósítani. Ha igen, akkor a szimulációt sikeresnek tekintjük, egyébként pedig sikertelennek. A sikeres szimulációk aránya adja meg azt, hogy egy adott,kr szintűreplikáció mekkora valószínűséggel elegendőaz előírt rendelkezési arány biztosításához.

Mivel az adott kulcsot eltároló egyedek véletlenszerűen kerülnek kiválasztásra (a véletlen-szerűség az azonosítójukból adódik), ugyanaz akr replikációs szint használható kicsi és nagy átfedők esetén is. Ez a feltételezés akkor igaz, ha egy nagy átfedőkben ugyanolyan hálózati kapcsolattal rendelkezőegyedek vesznek részt általában, mint egy kicsiben, hiszen a vélet-lenszerűen kiválasztott egyed egy véletvélet-lenszerűen kiválasztott kapcsolat minőséget jelent.A szükséges replikációs szint így független az átfedőméretétől.

4.4. Az adattárolás helyességének modellezése

A 4.2. alfejezet megfontolásai alapján a hálózati hibák kiküszöböléséhez szükségeskr repliká-ciót számítással is meg lehet határozni. Ennek menete a következő.

Az átfedőcímtartományában az egyedek eloszlása egyenletesnek vehető. A véletlenszerű azonosító választás miatt két szomszédos, vagyis az átfedőcímterén belül értelmezve egymás-hoz legközelebbi egyed egymástól földrajzilag igen távol lehet. Eltérőhálózati kapcsolattal rendelkezhetnek, azaz egymástól függetlenek. Ezen függetlenség miatt a hálózati hibák konkrét eloszlásaaz egyedek között, vagyis hogy melyik egyed pontosan milyen fizikai hálózati kapcso-lattal rendelkezik,nem számít az átfedőegészének működése szempontjából, hanem csak a hibák globális eloszlása lényeges. Az átfedőn belüli összefüggés – például két egyed közelsége van az alkalmazási szintűcímtérben – semmi további kapcsolatot nem jelent közöttük. Emiatt az egyedekhez tartozó hibaarányok konkrét egyedekhez rendelése nem lényeges, így azok a modellben növekvősorrendbe rendezhetők. Ezt illusztrálja a 4.4. ábra. Ezzel egy monoton növekvőfüggvény adódik.

Nagy számú egyed esetén a címtartományban diszkréten elhelyezkedőegyedek (x ten-gelyen) helyett egy folytonos eloszlás tekinthető. A hálózati hibák aránya (y tengelyen) is folytonos változóval közelíthető [10]. Az így kapott függvényt, amelyet a 4.5. ábra mutat, jelöljükh(m)-mel. Egy adottm∈[0,1] címűegyedreh(m) azt adja meg, hogy milyen arányú kapcsolattal rendelkezik – vagyis hogy a többi egyedek mekkora része nem tud csatlakozni hozzá.

1 Éppen ez a megbízhatóság sérül egy tűzfal mögötti egyednél történőtárolásnál : ha az ottani egyedek teszik ki pl. az átfedő2%-át, akkor csak annak a 2%-nak elérhetőaz adat. Vagyis az egész átfedőben szinte semelyik egyednek sem.