User Tools

Site Tools


proiecte:stiva-wds

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
proiecte:stiva-wds [2014/02/05 21:54]
delia_madalina.popescu [Implementare]
proiecte:stiva-wds [2014/02/07 12:58] (current)
artiom.fascian
Line 40: Line 40:
 Primeste replay cu in care valoarea max=4 , actualizeaza max=5 si trimite mesaj pentru sincronizarea noii valori. Primeste replay cu in care valoarea max=4 , actualizeaza max=5 si trimite mesaj pentru sincronizarea noii valori.
  
-Figura 1 //Stabilirea legaturii de date// 
  
 {{:proiecte: schema.jpg | Figura 1}} {{:proiecte: schema.jpg | Figura 1}}
- +Figura 1 Stabilirea legaturii de date = 
-Figura 2 //Sincronizarea// + 
  
 {{:proiecte: schema-update.jpg | Figura 2}} {{:proiecte: schema-update.jpg | Figura 2}}
- +Figura 2 Sincronizarea =
- Figura 3 //Stabilirea legaturii de date dupa deconectarea unui nod// +
  
 {{:proiecte: schema-fail.jpg | Figura 3}} {{:proiecte: schema-fail.jpg | Figura 3}}
 += Figura 3 Stabilirea legaturii de date dupa deconectarea unui nod = 
 +
  
 === Tabela de rutare === === Tabela de rutare ===
  
-Tabela de rutare contine intrari: destinatie, next hop si numarul de hopuri pana la destinatie. Fiecare nod din retea contine propria tabela de rutare. Transmisia pachetelor in retea de la un nod sursa la un nod destinatie se realizeaza in conformitate cu datele din tablea de rutare, pentru a se folosi calea+Tabela de rutare contine intrari: destinatie, next hop, TTL si numarul de hopuri pana la destinatie. Fiecare nod din retea contine propria tabela de rutare. Transmisia pachetelor in retea de la un nod sursa la un nod destinatie se realizeaza in conformitate cu datele din tablea de rutare, pentru a se folosi calea
 cea mai scurta. cea mai scurta.
 Dupa procesul de asignare a unui identi cator pentru un nod nou din retea, nodurile deja existente, care au receptionat mesajul de broadcast cu noua valoare pentru max, trimit mesaj catre nodul nou cu tablela de rutare. Noul nod receptioneaza primul mesaj cu tabela de rutare si stocheaza informatiile in stiva. Pentru toate mesajele receptionate ulterior, secvential, veri ca datele din tabela pentru a detecta eventualele modi cari, respectiv o tabela de rutare noua. Daca informatiile nu difera pastreaza prima tabela, in caz contrar arunca prima tabela si stocheaza datele receptionate ulterior. Next-hop-ul se calculeaza conform protocolului DSDV, incrementand valoarea unui metric de catre fi ecare nod in parte, la receptionarea tabelei. Dupa procesul de asignare a unui identi cator pentru un nod nou din retea, nodurile deja existente, care au receptionat mesajul de broadcast cu noua valoare pentru max, trimit mesaj catre nodul nou cu tablela de rutare. Noul nod receptioneaza primul mesaj cu tabela de rutare si stocheaza informatiile in stiva. Pentru toate mesajele receptionate ulterior, secvential, veri ca datele din tabela pentru a detecta eventualele modi cari, respectiv o tabela de rutare noua. Daca informatiile nu difera pastreaza prima tabela, in caz contrar arunca prima tabela si stocheaza datele receptionate ulterior. Next-hop-ul se calculeaza conform protocolului DSDV, incrementand valoarea unui metric de catre fi ecare nod in parte, la receptionarea tabelei.
-Fata de protoculd DSDV, in aplicatia implementata nu se realizeaza updateul tabelei de rutare. 
  
 === Sleep si Wake-up === === Sleep si Wake-up ===
Line 71: Line 70:
   *  Tabela de rutare este transmisa secvential, de catre nodurile aflate in starea wake, incepand de la nodul initiator, dupa transmiterea mesajului de wake up.   *  Tabela de rutare este transmisa secvential, de catre nodurile aflate in starea wake, incepand de la nodul initiator, dupa transmiterea mesajului de wake up.
  
-Figura 4+Figura 4 =
 {{:proiecte:sleep.jpg}} {{:proiecte:sleep.jpg}}
  
-=== Concluzii ===+=== Update pentru tabela de rutare === 
 + 
 +Pentru a intelege daca un mesaj ar putea ajunge catre un nod, tabela de rutare necesita o actualizare. Problema aparenta in designul propus este deosebirea nodurilor care sunt in starea sleep de cei care sunt deconectati de la retea. In acest fel se poate considera doar timpul in care un nod este treaz. 
 + 
 +Sa presupunem o retea cu 4 noduri prezentata in figura 4. Fiecare nod, pentru fiecare intrate din tabela de rutare are cate un TTL. Variabila data este responsabila pentru a diferentia un nod viu de unul ce e in starea sleep. De fiecare data cand un nod se trezeste acesta decrementeaza aceasta valoare. In designul propus, valoarea acesteia este 255 (maximum pe un octet). Daca destinatia unei intrari din tabela de rutare coincide cu adresa nodului, aceasta valoare nu se decrementeaza. La transmiterea tabelei de rutare, valoarea TTL se compara cu intrarile individuale din tabela. Daca TTL-ul este mai mare atunci se updateaza intrarea cu noile valori. In caz in care aceasta valoare ajunge la 0, intrarea din tabela este stearsa. 
 + 
 +===== Concluzii =====
 In cadrul acestei lucrari a fost pusa baza unei stive de comunicatie. Cercetarea pe parcursul implementarii acestui proiect a ajutat la o intelegere mai buna a ce inseamna o comunicatie intr-o retea ad-hoc.  In cadrul acestei lucrari a fost pusa baza unei stive de comunicatie. Cercetarea pe parcursul implementarii acestui proiect a ajutat la o intelegere mai buna a ce inseamna o comunicatie intr-o retea ad-hoc. 
 +
 +
 +
 +Pentru mai multe informatii, gasiti [[https://elf.cs.pub.ro/wsn/wiki/_media/proiecte/doku.pdf|raportul]] prezentat in detalii.
  
proiecte/stiva-wds.1391630071.txt.gz · Last modified: 2014/02/05 21:54 by delia_madalina.popescu