140 likes | 240 Views
HSLS R OUTING P ROTOCOL. Eleonora Borgia. Pervasive Computing & Networking Lab. PerLab IIT – CNR eleonora.borgia@iit.cnr.it. MobileMAN Project - Helsinki – June 7/8, 2004. HSLS characteristics.
E N D
HSLSROUTING PROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR eleonora.borgia@iit.cnr.it MobileMAN Project - Helsinki – June 7/8, 2004
HSLS characteristics • A node wakes up every tesec and sends a LSU with TTL=2 if there has been a link status change in the last tesec; • Every 2i-1 * tesec (with i=1,2,3..) a node wakes up and sends a LSU with TTL= 2iif there has been a link status change in the last 2i-1 * tesec; • Every tbsec (tb>te) a global LSU (TTL=) is sent in the entire network to give a complete overview of the network topology, even if there’s no link changes. High mobility scenario : LSU generated every tesec
Packet format 0 1 2 3 Packet Header Message Header Message Body
Software Architecture Initialization Garbage Collector NEST Communication HSLS Packet Mangement Hello LSU Socket Management Processing
Data structures(1) • INTERFACE:it stores internal information of the node (e.g. socket descriptor, wireless information) • TOPOLOGY TABLE:it stores all the links of the network characterized by their status (SYM/ASYM) • ROUTING TABLE:it stores the shortest path to each node of the network
Data structures(2) • SENT LSU CACHE:it stores relevant information about sent LSUpackets • RECEIVED LSU CACHE:it stores relevant information about LSUpackets coming from other nodes SLC entry: RLC entry:
Reliable HSLS LSU (TTL =i ) B A ACK_LSU = LSU (TTL = i-1) C F E D E UNICAST ACK_LSU The Broadcast problem Introduction of a mechanism to make HSLS reliable: ACK_LSU = LSU (TTL = i-1) received from 1-hop neighbors • Node A sends an LSU (TTL = i) in the network; • Node A counts the number of ACK_LSU packets received from its 1-hop neighboors in a specific time window T<<te; • Comparison between (ACK_LSU, threshold): • If #ACK_LSU >= threshold, A transmission is correct; • If #ACK_LSU < threshold, node A retransmits the same LSU; 4. Explicit unicast ACK in the last hop.
Modules Interactions (1) Init Hello/LSU Socket Management Data structures initialization Generation of Hello/LSU message Addition of header PKT and OPTIONAL field .. PKT sent to wireless card sleep
Modules Interactions (2) Socket Management Processing …waiting for a PKT from the network Processing Phase OPTIONAL field and/or TT exported to NEST .. forwarding PKT..
LSU Module (1) INIT:SendLSU (TTL = ); Reset Counter (NumTe, TimeLastChange); Mode = START; LinkChange = false; Expire Te Expire Tp SendLSU (TTL = ); Reset Counter (NumTe, TimeLastChange); change = false; Update SLC; Generate LSU (TT) R = 2i t.c R<MD<2R Compare (LSU, LastLSUSent) = TimeLastChange ++ TimeLastChange = 0; LinkChange = true;
LSU Module(2) HSLS START mode FALSE LinkChange NumTe ++ Find 2i exact_div (NumTe , &i, &TTL) TRUE TimeLastChange SendLSU (TTL = 2); Mode = HSLS; NumTe ++ Update SLC; >= 2i < 2i 2i SendLSU (TTL = 2i+1); Update SLC; < R >= R SendLSU (TTL = ); Reset Counter (NumTe, TimeLastChange); change = false; Update SLC;
PROCESSING Module (1) 0 Byte = ReceivedPacket () Process MSGBody Extract (PKTHeader, MSGHeader) Compare (packetType, LSU&LSU_OPT) (Hello) Compare (HostIP, OriginatorAddress) = = DupPKT = DuplicatePacket (ReceivedLSUCache) DupPKT = DuplicatePacket (SentLSUCache) TTL > 1 = 0 ForwardingPKT sendExplicitACK DupPKT = 0 0
PROCESSING Module(2) UPDATE algorithm (TT) Link Change NO SI Build RouteTree (HostIP) Dijikstra RouteTree (HostIP) UPDATE (RT) Extract MD (Max n° hop) UPDATE Kernel Routing Table Packet Type LSU_OPT Hello, LSU Extract OPTIONAL
Ongoing work Initialization Garbage Collector NEST Communication HSLS Packet Mangement Hello LSU Socket Management Processing