User Tools

Site Tools


proiecte:wireless-mac

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:wireless-mac [2014/01/31 00:13]
adrian.ciobanu [Rezultate]
proiecte:wireless-mac [2014/02/07 10:47] (current)
codrin.ciubotariu [Rulare si rezultate]
Line 1: Line 1:
 ====== Wireless MAC ====== ====== Wireless MAC ======
  
-Ciubotariu Codrin         Master AAC +Ciubotariu Codrin         Master AAC 
-Constantinescu Adrian     Master AAC+Constantinescu Adrian     Master AAC
  
  
Line 18: Line 18:
  
  
-===== Implementare si simulare teoretica =====+===== Implementare si simulare teoretica [1]=====
  
-Base-station-ului (nodul cu indicele 0) va da un mesaj initial de Broadcast. Toti senzorii retin numarul de hop-uri până la base-station si next-hop-ul pana la base-station. Pentru a minimiza sansele ca mesajul de broadcast să fie pierdut, fiecare nod care primeste un mesaj de broadcast (prima oară) va transmite in urmatoarele doua frame-uri cate un broadcast.+Base-station-ului (nodul cu indicele 0) va da un mesaj initial de Broadcast. Toti senzorii retin numarul de hop-uri pana la base-station si next-hop-ul pana la base-station. Pentru a minimiza sansele ca mesajul de broadcast să fie pierdut, fiecare nod care primeste un mesaj de broadcast (prima oară) va transmite in urmatoarele doua frame-uri cate un broadcast. **Stabilirea "topologiei" de rutare**, pentru fiecare nod se face in aceasta faza initiala.
  
-Orice pachet este directionat inspre base-station.+In interiorul retelei, comunicarea se va face din aproape in aproape, dar va avea ca punct final nodul 0, **orice pachet este directionat inspre base-station.**
          
-Pentru a transmite un pachet, un nod va trimite mai intai un scurt pachet RTS (care contine destinatia hop-ului curent). Trimiterea acestui pachet se face cu contention period, nodul va astepta un interval random marginit de un sfert din perioada activa (deci între 0 si ACTIVE_PERIOD/4) inainte de a trimite, si se abtine daca a fost transmis intre timp alt pachet RTS.+Pentru a transmite un pachet, un nod va trimite mai intai un scurt pachet **RTS** [2] (care contine destinatia hop-ului curent). Trimiterea acestui pachet se face cu contention period, nodul va astepta un interval marginit de un sfert din perioada activa (deci între 0 si ACTIVE_PERIOD/4) inainte de a trimite, si se abtine daca a fost transmis intre timp alt pachet RTS. Nodul care este adresat ca next hop va raspunde cu un mesaj **CTS**. Pachetul poate fi transmis in acea perioada activa imediat dupa receptionarea CTS.
  
-Nodul care este adresat ca next hop va raspunde cu un mesaj CTS. 
  
-Pachetul poate fi transmis in acea perioada activa imediat dupa receptionarea CTS.+===== Rulare si rezultate =====
  
 +Pentru fiecare nod, **un ciclu dureaza 20 de secunde**. In acest timp, nodul va face receptie si trimitere, dupa caz, iar in momentul in care si-a incheiat activitatea intra in sleep pana la termianrea cuantei de 20 de secunde, cand "se trezeste" pentru a incepe un nou ciclu. La transmiterea mesajului, contention period este de 5 secunde.
  
-===== Rulare si rezultate ===== 
  
-Pentru fiecare nod, un ciclu dureaza 20 de secundeIn acest timpnodul va face receptie si trimiteredupa caz, iar in momentul in care si-a incheiat activitatea intra in sleep pana la termianrea cuantei de 20 de secundecand "se trezeste" pentru a incepe un nou ciclu.+== Testul 1 == 
 +Topologia contine doua noduri 
 + 
 +Node          Time   Event 
 +------------------------------------------------------------------------------ 
 +    0:00:00.000762  ----> 00.00.00.00.7A.04.0D.FF.68.AC  0.319 ms 
 +    0:00:00.000796  <==== 00.00.00.00.7A.04.0D.FF.68.AC  0.319 ms 
 + 
 + 
 +== Testul 2 == 
 +Topologia contine sase noduri 
 + 
 +Node          Time   Event 
 +------------------------------------------------------------------------------ 
 +    0:00:00.000882  ----> 00.00.00.00.7A.07.0D.FF.00.00.00.6A.D9  0.416 ms 
 +    0:00:00.000916  <==== 00.00.00.00.7A.07.0D.FF.00.00.00.6A.D9  0.416 ms 
 +    0:00:00.000916  <==== 00.00.00.00.7A.07.0D.FF.00.00.00.6A.D9  0.416 ms 
 +    0:00:00.102397  ----> 00.00.00.00.7A.07.0D.FF.01.00.01.4D.C8  0.416 ms 
 +    0:00:00.202771  ----> 00.00.00.00.7A.07.0D.FF.02.00.01.14.98  0.416 ms 
 +    0:00:00.203306  ----> 00.00.00.00.7A.07.0D.FF.01.00.01.4D.C8  0.416 ms 
 +    0:00:00.404054  ----> 00.00.00.00.7A.07.0D.FF.02.00.01.14.98  0.416 ms 
 +    0:00:00.102432  <==== 00.00.00.00.7A.07.0D.FF.01.00.01.4D.C8  0.416 ms 
 +    0:00:00.102432  <==== 00.00.00.00.7A.07.0D.FF.01.00.01.4D.C8  0.416 ms 
 +    0:00:00.404672  ----> 00.00.00.00.7A.07.0D.FF.03.00.02.13.CB  0.416 ms 
 +    0:00:00.505044  ----> 00.00.00.00.7A.07.0D.FF.04.00.02.96.5B  0.416 ms 
 +    0:00:00.706335  ----> 00.00.00.00.7A.07.0D.FF.03.00.02.13.CB  0.416 ms 
 +    0:00:00.907079  ----> 00.00.00.00.7A.07.0D.FF.04.00.02.96.5B  0.416 ms 
 +    0:00:00.505080  <==== 00.00.00.00.7A.07.0D.FF.04.00.02.96.5B  0.416 ms 
 +    0:00:01.008073  ----> 00.00.00.00.7A.07.0D.FF.05.00.03.B1.4A  0.416 ms 
 +    0:00:01.510491  ----> 00.00.00.00.7A.07.0D.FF.05.00.03.B1.4A  0.416 ms 
 + 
 +In continuare vom descrie un frame de mai susVom lua ca referinta frame-ul nr 4 (00.00.00.00.7A.07.0D.FF.01.00.01.4D.C8): 
 +  * 7A.07 (2 octeti) - lungimea frame-ului; 
 +  * 0D (1 octet) - Magic payloadnumarul 13; 
 +  * FF (1 octet) - Adresa destinatie (MAC) a frame-ului; FF reprezinta adresa broadcast; 
 +  * 01 (1 octet) - Adresa sursa (MAC) a frame-ului; 
 +  * 00 (1 octet) - tipul pachetului encapsulat. Acesta este un pachet numit "DISCOVERY" de catre noi, si are valoarea 0; 
 +  * 01 (1 octet) Numarul de hopuri pe care il are nodul sursa pana la nodul base station; Informatie specifica pachetului DISCOVERY 
 +  * 4D.C8 (2 octeti) - CRC; 
 + 
 +===== Informatii aditionale ===== 
 +== Anexa 1 - structuri de date == 
 +* tipurile de mesaje si structurile lor 
 +<file> 
 +typedef enum { 
 +DISCOVERY = 0, 
 +RTS, 
 +CTS, 
 +NORMAL 
 +}packet_type; 
 + 
 +typedef struct { 
 +uint8_t hop_nr; /* number of hops from the sender 
 +of the packet to node 0 */ 
 +}discovery_packet; 
 + 
 +typedef struct { 
 +uint8_t request; // must be 1 - request; 
 +}rts_packet; 
 + 
 +typedef struct { 
 +uint8_t response; // 1 - ack; 0 - nack 
 +}cts_packet; 
 + 
 +typedef struct { 
 +uint8_t val; 
 +}normal_packet; 
 +</file> 
 + 
 +* componenta unui mesaj 
 +<file> 
 +typedef struct { 
 +uint8_t destination_node; /* receiver of the packet */ 
 +uint8_t source_node; /* transmitter of the packet */ 
 +packet_type type; /* type of the next packet */ 
 +//uint8_t data_size; /* nr of bytes for data */ 
 +void * data; /* pointer to data_size bytes of data */ 
 +}Frame_t; 
 +</file> 
 + 
 +* tabela de rutare pentru fiecare nod (directia catre nodul 0)  
 +<file> 
 +typedef struct { 
 +int next_hop; 
 +int hop_count; 
 +}route_table; 
 +</file>
 ===== Bibliografie ===== ===== Bibliografie =====
  
-* http://elf.cs.pub.ro/wsn/wiki/lab3 +[1] http://elf.cs.pub.ro/wsn/wiki/lab3 
-* http://en.wikipedia.org/wiki/IEEE_802.11_RTS/CTS+[2] http://en.wikipedia.org/wiki/IEEE_802.11_RTS/CTS 
proiecte/wireless-mac.1391120030.txt.gz · Last modified: 2014/01/31 00:13 by adrian.ciobanu