1 / 55

Reaktívne routovacie protokoly v bezdrôtových ad hoc sieťach

Reaktívne routovacie protokoly v bezdrôtových ad hoc sieťach. Peter Kostolányi Eva Kubaščíková Juraj Stacho. Bezdrôtové siete.

luz
Download Presentation

Reaktívne routovacie protokoly v bezdrôtových ad hoc sieťach

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reaktívne routovacie protokolyv bezdrôtových ad hoc sieťach Peter Kostolányi Eva Kubaščíková Juraj Stacho

  2. Bezdrôtové siete • „Štandardná verzia“ pozostáva zo statických routrov, ktoré riadia prenos paketov a (potenciálne) pohyblivých koncových uzlov (hostov), ktoré pakety posielajú a prijímajú • V angličtine Networks with Mobile Hosts

  3. Ad hoc siete • Zovšeobecnenie bezdrôtových sietí, aj routre sa môžu pohybovať • V angličtine aj MANETy (Mobile Ad hoc NETworks) • „Definícia:“ Bezdrôtová ad hoc sieť je počítačová sieť pozostávajúca z bezdrôtovo komunikujúcich koncových uzlov a routerov, ktoré sa môžu ľubovoľne pohybovať.

  4. Použitie ad hoc sietí • Komunikácia vojakov a bojových vozidiel v nepriateľskom teréne bez vlastnej infraštruktúry • Komunikácia lodí na otvorenom mori • Komunikácia medzi záchranármi v oblastiach, kde katastrofa zničila infraštruktúru • Komunikácia ľudí s prenosnými počítačmi v prostredí bez Wi-Fi

  5. Grafové znázornenie ad hoc siete • Modrá kružnica – dosah vysielača modrého uzla • Hrana medzi uzlami práve vtedy, ak sú v dosahu svojich vysielačov • Takto zostrojený graf je platný iba pre určitý časový okamih (premenlivá topológia)

  6. Routovanie v ad hoc sieťach • Niektoré uzly v ad hoc sieti nemusia vedieť komunikovať priamo • Pri komunikácii sa využívajú na prenos paketov ostatné uzly • Prenos paketov riešia routovacie protokoly • V „klasických“ sieťach sa pri routovaní využíva informácia o topológii siete • V ad hoc sieťach to nie je možné, keďže topológia je premenlivá • Routovanie v ad hoc sieťach je teda zložitejšie

  7. Reaktívne routovacie protokoly (1) • Viacero stratégií prístupu k routovaniu v ad hoc sieťach • Jednou z nich sú reaktívne alebo on-demand protokoly • Reaktívne routovacie protokoly hľadajú cestu od zdroja k spotrebiču práve vtedy, keď zdroj chce spotrebiču poslať paket • Zdroj si vyžiada u routovacieho protokolu najlepšiu cestu k spotrebiču – preto on demand • Alebo: reakciou na požiadavku zdroja je zistenie cesty k spotrebiču routovacím protokolom – preto reaktívny

  8. Reaktívne routovacie protokoly (2) • Žiadosť o zistenie cesty pomocou zaplavenia siete tzv. Route Request (RREQ) paketom • Nevýhody tejto triedy protokolov: • Veľká časová odozva (cestu treba najprv nájsť) • Možné upchávanie siete RREQ paketmi

  9. Protokol AODV (1) • Ad hoc On-demand Distance Vector • Založený na protokole Distance Vector Routing pre „klasické“ (fixed-point) siete

  10. Distance Vector Routing • Iné názvy: distribuovaný Bellmanov-Fordov routovací algoritmus, Fordov-Fulkersonov routovací algoritmus • V ARPANETe hlavný routovací protokol • Používaný aj v Internete (pod názvom RIP) • V každom uzle tabuľka (vektor) jemu známych uzlov a informácií o cestách do nich

  11. Protokol AODV (2) • Adaptácia Distance Vector Routing do prostredia ad hoc sietí • V každom uzle routovacia tabuľka(+ lokálne premenné, iné informácie) • V routovacej tabuľke informácie o cestách do iných uzlov

  12. Základné úlohy protokolu AODV (1) • Objavenie cesty – Route Discovery • Zdroj vyvolá broadcast paketu Route Request (RREQ) • Pokiaľ RREQ dorazí do uzla s lepšou informáciou o ceste do spotrebiča, pošle zdroju paket Route Reply (RREP)

  13. Základné úlohy protokolu AODV (2) • Údržba cesty (Route Maintenance) • Uzly v ad hoc sieti sa môžu aj vypínať a zapínať, preto môže objavená cesta ľahko stratiť aktuálnosť • Údržba cesty - zisťovanie, či sú susedia aktívni, a ak niektorý zaspal, upovedomenie ostatných

  14. Štruktúra paketu RREQ (1) • Adresa zdroja – jednoznačný identifikátor zdroja v ad hoc sieti. Typicky je to IP adresa zdroja. V angličtine Source address.

  15. Štruktúra paketu RREQ (2) • ID požiadavky (zdroja) – v každom uzle je lokálna premenná ID požiadavky. Vždy, keď uzol vyvolá broadcast RREQ, zvýši sa o 1. ID požiadavky zdroja spoločne s adresou zdroja jednoznačne určujú paket RREQ. To sa využíva pri odhaľovaní duplikátov RREQ paketov. V angličtine Request ID.

  16. Štruktúra paketu RREQ (3) • Adresa spotrebiča – IP adresa, prípadne iný identifikátor spotrebiča. V angličtine Destination address. • Počítadlo zdroja – každý uzol udržiava lokálnu premennú, tzv. počítadlo. Inkrementuje sa vždy, keď uzol prepošle RREQ alebo RREP. V angličtine Source sequence number.

  17. Štruktúra paketu RREQ (4) • Počítadlo spotrebiča – hodnota počítadla spotrebiča v nejakom čase. Každý uzol má v svojej routovacej tabuľke pri každom uzle uložené aj jeho počítadlo. Pokiaľ ešte RREQ nenarazil na uzol, ktorý má informácie o ceste do spotrebiča, je tam hodnota 0. V opačnom prípade je to najvyššia z týchto hodnôt. Táto hodnota sa používa na určenie, aké staré sú informácie v routovacích tabuľkách. V angličtine Destination sequence number.

  18. Štruktúra paketu RREQ (5) • Počet krokov – určuje, koľko krát bol paket RREQ preposlaný. Na základe toho sa dá zistiť, ako ďaleko je od zdroja. V angličtine Hop count.

  19. Spracovanie paketu RREQ • Algoritmus (spracovanie paketu RREQ uzlom U): • Uzol U v pamäti zistí, či sa už týmto paketom zaoberal (podľa adresy zdroja a ID požiadavky). Ak áno, zahodí ho ako duplikát, ak nie pokračuje krokom 2. • U vyhľadá v routovacej tabuľke záznam o spotrebiči určenom paketom RREQ. Ak je počítadlo spotrebiča v tomto zázname ≥ ako počítadlo spotrebiča v pakete RREQ, pokračuje krokom 3, ináč pokračuje krokom 4. • Údaje v uzle U sú novšie. Pomocou záznamov v tzv. tabuľke spätných ciest (vytváranej pri posielaní RREQ) pošle zdroju paket RREP (použi mňa). • Údaje v uzle U sú staršie. Zmení počítadlo spotrebiča v routovacej tabuľke a paket RREQ rozpošle všetkým svojim susedom. Pridá čas. záznam do tabuľky spätných ciest.

  20. Štruktúra paketu RREP (1) • Adresa zdroja – Hodnota sa skopíruje z paketu RREQ. • Adresa spotrebiča – Hodnota sa skopíruje z paketu RREQ. • Počítadlo spotrebiča – Hodnota sa skopíruje z routovacej tabuľky uzla U.

  21. Štruktúra paketu RREP (2) • Počet krokov – Hodnota počtu krokov pri vytvorení paketu inicializovaná na vzdialenosť spotrebiča od U (z routovacej tabuľky U). • Životnosť paketu – Určuje, ako dlho je daná cesta platná. V angličtine Lifetime.

  22. Spracovanie paketu RREP • Algoritmus (spracovanie paketu RREP uzlom V): • V nastaví v routovacej tabuľke za začiatok najlepšej cesty do spotrebiča uzol, od ktorého dostal RREP práve vtedy, ak je splnená jedna z nasledujúcich podmienok: • Uzol V nemá žiaden záznam o ceste do spotrebiča. • Hodnota počítadla spotrebiča v routovacej tabuľke V < hodnota počítadla spotrebiča z paketu RREP. • Tieto hodnoty sa rovnajú, ale cesta, ktorú reprezentuje prichádzajúci paket je kratšia. Dĺžka cesty: počet krokov RREP vs. routovacia tabuľka. • V pakete zvýši hodnotu počtu krokov. Pošle paket ďalej po spätnej ceste. Zmaže záznam z tabuľky spätných ciest.

  23. Štruktúra routovacej tabuľky • Routovacia tabuľka je zoznam, ktorého prvky obsahujú tieto informácie: • Adresa spotrebiča • Uzol, ktorému posielať pakety určené pre spotrebič (začiatok cesty) • Dĺžka známej cesty do spotrebiča • Počítadlo spotrebiča • Adresy aktívnych susedov (pre údržbu cesty) • Doba platnosti údajov o ceste

  24. Príklad na objavenie cesty (1) • Uzol S (source) chce poslať pakety uzlu D (destination)

  25. Príklad na objavenie cesty (2) • Preto S rozpošle paket RREQ svojím susedom

  26. Príklad na objavenie cesty (3) • Susedia tiež nemajú žiadnu informáciu o ceste do D. Preto si vytvoria záznam v tabuľke spätných ciest a rozpošlú paket RREQ ďalej.

  27. Príklad na objavenie cesty (4) • Takto sa to opakuje, až kým paket dorazí do uzla s informáciou o ceste do D (v našom príklade je to až samotný uzol D).

  28. Príklad na objavenie cesty (5) • Uzol D pošle po spätnej ceste uzlu S paket RREP. Uzly na tejto ceste si postupne obnovujú informácie o ceste do D.

  29. Príklad na objavenie cesty (6) • Po objavenej ceste sa môže začať komunikácia.

  30. Koniec 1. časti prezentácie Ďakujem za pozornosť. Priestor pre Vaše otázky.

  31. Protokol DSR (1) • Dynamic Source Routing • Protokol, ktorý dokáže spravovať MANET bez použitia tabuľky uchovávajúcej správy oaktualizáciach. • Využitie v multi-hop bezdrôtových ad hoc sieťach • Proces vyhľadávania cesty je vykonávaný, len keď je daná cesta vyžadovaná niektorým uzlom. • Odosielateľ určuje celú cestu a informáciu o nej ukladá do hlavičiek paketov 

  32. Protokol DSR (2) • DSR má niekoľko predpokladov pre efektívnosť: • Každý uzol v sieti by mal byť ochotný zúčastňovať sa prenosu údajov, ktorý sa ho priamo netýka, teda prenosu medzi dvomi inými uzlami. • Diameter siete by mal byť nízke číslo, to znamená, že by nemali existovať dvojice uzlov, ktoré nie sú dosiahnuteľné na pár "hopov". • Jednotlivé uzly sa môžu pohybovať, avšak rýchlosť pohybu by mala byť primeraná času oneskorenia prenosu.

  33. Ako to funguje? (1) • Pri odosielaní paketu najskôr odosielateľ vytvorí tzv. source route teda zoznam uzlov, po ktorom bude paket posielaný. • Táto informácia je uložená do jeho hlavičky a púť sa môže začať. Keď je paket doručený do uzla ten sa pozrie do hlavičky, či je cieľom a ak nie, posiela paket na adresu ďalšieho uzla, na základe informácie v hlavičke. • Route discovery protokol umožňuje každému uzlu v ad hoc sieti dynamicky nájsť cestu k inému uzlu v sieti, buď priamym nadviazaním spojenia s cieľovým uzlom alebo využitím viacerých uzlov pred dosiahnutím cieľového.

  34. Ako to funguje? (2) • Paket s požiadavkou obsahuje okrem adresy žiadateľa a cieľa aj záznam, v ktorom sa ukladajú informácie o uzloch prejdených daným paketom. Tento paket máaj unikátne id určené žiadateľom podľa jeho lokálneho čísla. Id je určené kvôli detekcii duplikátnych requestov.

  35. Ako to funguje? (3) • Uzol, ktorý spustil route discovery posiela špeciálny paket (route request paket) obsahujúci routovaciu požiadavku na všetky uzly v dosahu (broadcasting). Tentopaket potom identifikuje uzol, ktorý je označený ako cieľový. Ak je route discovey úspešná, uzol, ktorý ju spustil dostane paket s odpoveďou (route reply paket) obsahujúci sekvenciu uzlov, cez ktoré má viesť cesta k cieľu. • Routovacia požiadavka takto putuje sieťou kým nedosiahne cieľ a ten pošle odpoveď žiadateľovi. To, že uzol ignoruje opätovné prijatie tej istej požiadavky zabezpečuje, že putovanie sieťou sa skončí.

  36. Ako to funguje? (4) • Dôležitou súčasťou Route discovery protokolu je aj udržiavanie ciest pomocou neustáleho posielania aktuálnych informácii o ich stave. Ak sa stav jednej cesty zmení, aktualizované sú všetky cesty, ktorých sa to týka, takže ak sa uzol stane nefunkčným, cesty, ktoré ho obsahujú sú prepočítané. • Keď uzol posiela paket ďalšiemu, vie posúdiť, či daný uzol stále pracuje - či bol schopný prijať daný paket. Keď zistí problém, ktorý nemožno odstrániť, posiela správu s chybou odosielateľovi (route error packet). Táto správa obsahuje adresy uzlov, ktoré na ceste susedili s daným chybným uzlom.

  37. Ako to funguje (5) • Úsek s chybným uzlom je odstránený z cache žiadateľa a všetky cesty, ktoré ho obsahujú sú skrátené poň. • Aj úspešné doručenie paketu môže byť použité na overenie, že daná cesta je stále funkčná. • Poslednou možnosťou overovania je použitie bitu v hlavičke paketu, ktorý umožňuje odosielateľovi žiadať od prijímateľa potvrdenie prijatia.

  38. Optimalizácie • Cieľom optimalizácie je zmenšiť počet paketov a zlepšiť priemernú úspešnosť ciest používaných paketmi • Plné využitie cache siete • Piggybacking pri hľadaní cesty • Uprednostnenie kratšej cesty

  39. Plné využitie cache siete (1) • Údaje uložené v cache uzla môžu mať rôzny formát, ale pre aktívne cesty je najefektívnejšie využiť podobu stromu, pričom koreňom je daný uzol - novoobjavené cesty môžu byť pridané bez narušenia pôvodnej štruktúry. • Keď uzol posiela údajový paket ďalej, má prístup k celej ceste definovanej v pakete a môže ju pridať do vlastnej cache.Podobne to je, keď uzol posiela ďalej paket s odpoveďou.

  40. Plné využitie cache siete (2) • Keď uzol príjme paket a sú splnené tieto podmienky • Nie je cieľom paketu • Nenachádza sa v zázname doterajšej cesty paketu • Dvojica odosielateľ a id paketu sa ešte v danom uzle neobjavila • Uzol už má v cache zaznamenanú cestu do cieľamiesto aby broadcastoval paket ďalej môže do záznamu paketu pridať cestu, ktorú má vcache a poslať odosielateľovi paket s odpoveďou. • Problém môže nastať v prípade, keď niekoľkouzlov prijme paket od odosielateľa a všetky pošlú paket sodpoveďou obsahujúcou cestu, ktorúnašli vo svojej cache.

  41. Plné využitie cache siete (3) • Tento problém sa dá odstrániť, ak uzol, ktorý má odpoveď ju neposiela hneď, ale najskôr vykoná tieto akcie: • Určí dĺžku omeškania d = H(h − 1 + r), kde h je počet skokov v ceste, ktorú chce vrátiť, r je náhodné číslo medzi 0 a 1 a H je malé konštantné zdržanie, ktoré vznikne pred každým skokom. • Pozdrží odoslanie odpovede o čas d. • Počas tohto pozdržania prijíma všetky pakety v okolí. Ak počas tohto čakania príjme paket, určený tomu istému cieľu a ak je dĺžka cesty v ňom kratšia než h (jeho dĺžka) potom zruší čakanie a neposiela svoj pripravený paket ďalej, pretože môže predpokladať, že odosielateľ už dostal kratšiu alebo rovnako dlhú cestu.

  42. Piggybacking pri hľadaní cesty • Zdržanie spôsobené vyhľadávaním cesty a celkovýpočet odoslaných paketov môže byť znížený, akumožníme "piggybacking"pri požiadavkových paketoch(priloženie informácií).  • Avšak, ak by bola taká požiadavka prijatá uzlom, ktorý má v cache cestu do cieľa a ten ju použije na odpoveď bez toho aby ďalej šíril požiadavku, rozširované data by boli stratené. V takomto prípade je nutné, aby pred zahodením požiadavky daný uzol najskôr vytvoril nový paket obsahujúci rozširované data a nastavil novú cestu na základe tej, ktorú našiel pre cieľ vo svojej cache.  Ako odosielateľ by mal byť označený originál žiadateľ z cache aktuálneho uzla (ten, čo spustil hľadanie cesty).

  43. Uprednostnenie kratšej cesty • Keď uzol B pošle paket do C, a D je ďalším uzlomna ceste v pakete, D môže preskúmať hlavičku daného paketu, aby zistil, že cesta z B má dĺžku 2, pri čom ale vie, že B je dosiahnuteľné na jeden skok. D môže usúdiť, že bude  lepšie skrátiť cestu v pakete odstránením uzla C. Potom D pošle paket žiadateľovi informujúc ho, žeD môže dosiahnuť kratšou cestou priamo z B.

  44. Spracovanie chýb (1) • Jednou bežnou chybou, ktorá musí byť spracovaná v ad hoc sieťach je prípad, keď sa sieť rozdelí do niekoľkých partícií. V takejto situácií by bolo poslané veľké množstvo zbytočných požiadavkových paketov. Pre jeho zníženie sa používa limit na rýchlosť akou môžu vznikať nové požiadavky pre ten istý cieľ. Ak sa nejaký uzol snaží poslať paket k danému cieľu častejšie než limit dovoľuje, spustenie vyhľadávania cesty bude pozastavené, kým to limit nedovolí. • Ak sú uzly okolo v promiskuitnom prijímacom móde, dokážu zachytiť paket s chybou. Kedže ten obsahuje mená oboch uzlov, medzi ktorými vznikla chyba, môžu aktualizovať svoju cache, aby sa v cestách nevyužíval skok medzi danými uzlami.

  45. Spracovanie chýb (2) • Ďalšou optimalizáciou spracovania chýb je podpora cachovania negatívnych informácií. • Ak uzol dostane správu o nefunkčnosti nejakého úseku, vymaže ho zo svojej cache. Ak by nemal možnosť uchovať túto negatívnu informáciu mohlo by sa stať, že na požiadavkový paket dostane ako odpoveď práve daný usek, ktorý mal uložený v cache iný uzol. • Umožnenie cachovania negatívnych informácií by vyriešilo takúto problematickú situáciu.

  46. Koniec 2. časti prezentácie Ďakujem za pozornosť. Priestor pre Vaše otázky.

  47. Protokol CHAMP • CacHing And MultiPath routing • Dátové štruktúry • Route cache • Route request cache • Send buffer • Data cache

  48. Route Discovery (1) • Zdrojový uzol h iniciuje zisťovanie cesty, keď má dáta, ktoré treba poslať a nemá dostupnú trasu. Uzol h zaplaví sieť RREQ(route request message) pre j.  • Každý RREQ od h do j má pole počtu forwardov fc, ktoré zdroj inicializuje na nulu a inkrementuje sa zakaždým, keď je správa znovu predávaná. Keď uzol i prvýkrát obdrží RREQ od h do j, inicializuje minfchji na fc a Phji na predošlý hop správy.

  49. Route Discovery (2) • Keď uzol i obrží  request s • fc =minfchji (to znamená, že požiadavka prešla cestu rovnakej dĺžky od h do tohto uzla) zahrnie predchádzajúci hop do Phji.  • fc <minfchji (to znamená, že request prešiel kratšiu trasu od h do tohto uzla), nastaví  minfchji  na fc a Phji na predošlý hop správy.  • Množina Phji obsahuje identifikátory uzlov, ktoré môžu obdržať korešpondujúci RREP od i, ak i nejaký pošle.

  50. Route Discovery (3) • Ak nejaký cieľový uzol j dostane RREQ, okamžite pošle späť RREP ak  fc ≤minfchji. Každý RREP explicitne špecifikuje množinu uzlov P, ktoré ho môžu akceptovať. Cieľový uzol j inicializuje toto pole na predchádzajúci hop RREQ-u, čo efektívne indikuje, že RREP je určený len pre tento uzol. Každý RREP má aj počítadlo hop-ov hc, ktoré je tiež inicializované na nulu.

More Related