hsls r outing p rotocol eleonora borgia pervasive computing & networking lab. perlab iit – cnr...

14
HSLS HSLS R R OUTING OUTING P P ROTOCOL ROTOCOL Eleonora Borgia Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR [email protected] MobileMAN Project - Helsinki – June 7/8, 2004

Upload: alan-burke

Post on 06-Jan-2018

212 views

Category:

Documents


0 download

DESCRIPTION

Packet format Packet Sequence NumberPacket Length Originator Address TTLPacket TypeValidity Time Link TypeAddress Size Neighbor Address 1 Link TypeAddress Size Neighbor Address 2 OPTIONAL 0123 Packet Header Message Header Message Body

TRANSCRIPT

Page 1: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

HSLSHSLS RROUTINGOUTING P PROTOCOLROTOCOL

Eleonora Borgia Eleonora Borgia

Pervasive Computing & Networking Lab. PerLab

IIT – CNR [email protected]

MobileMAN Project - Helsinki – June 7/8, 2004

Page 2: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

HSLS characteristicsHSLS characteristics

1. A node wakes up every te sec and sends a LSU with TTL=2 if there has been a link status change in the last te sec;

2. Every 2i-1 * te sec (with i=1,2,3..) a node wakes up and sends a LSU with TTL= 2i if there has been a link status change in the last 2i-1 * te sec;

3. Every tb sec (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 te sec

Page 3: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

Packet formatPacket format

Packet Sequence Number Packet LengthOriginator AddressTTL Packet Type Validity Time

Link Type Address SizeNeighbor Address 1

Link Type Address SizeNeighbor Address 2

OPTIONAL

0 1 2 3Packet Header

Message Header

Message Body

Page 4: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

Software ArchitectureSoftware Architecture

HSLS

Initialization

Garbage Collector

NEST Communication

Packet Mangement

SocketManagement

Processing

LSU Hello

Page 5: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

Data Data structuresstructures (1)(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

T_Sender_Addr

T_Destination_Addr

T_Link_Type

T_Validity_Time

R_Destination_Addr

R_Next_Hop R_Cost

Page 6: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

Data Data structuresstructures (2)(2)

• SENT LSU CACHE: it stores relevant information about sent LSU packets

• RECEIVED LSU CACHE: it stores relevant information about LSU packets coming from other nodes

Pkt NumberTTLACK_LSU numberTimeoutPkt content

Originator addressPkt NumberTTLACK_LSU numberTimeoutPkt content

SLC entry: RLC entry:

Page 7: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

Reliable HSLSReliable HSLSThe Broadcast problem

Introduction of a mechanism to make HSLS reliable: ACK_LSU = LSU (TTL = i-1) received from 1-hop neighbors

1. Node A sends an LSU (TTL = i) in the network; 2. Node A counts the number of ACK_LSU packets received from its

1-hop neighboors in a specific time window T<<te;3. 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.

C

A

E

B

F

LSU (TTL =i )ACK_LSU = LSU (TTL = i-1)

EDUNICAST ACK_LSU

Page 8: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

Modules Interactions Modules Interactions (1)(1)

Hello/LSUInit Socket Management

Data structures initialization

Generation of Hello/LSU message

Addition of header PKT and OPTIONAL field

sleep .. PKT sent to wireless card

Page 9: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

Modules Interactions Modules Interactions (2)(2)

…waiting for a PKT from the network

Processing Phase

ProcessingSocket Management

OPTIONAL field and/or TT exported to NEST..

forwarding PKT..

Page 10: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

LSU Module LSU Module (1)(1)

INIT: SendLSU (TTL = ); Reset Counter (NumTe, TimeLastChange); Mode = START; LinkChange = false;

Expire Te

Generate LSU (TT)

R = 2i t.c R<MD<2R

Compare (LSU, LastLSUSent) TimeLastChange +

+

TimeLastChange = 0; LinkChange = true;

=

Expire Tp

SendLSU (TTL = );Reset Counter (NumTe, TimeLastChange); change = false;Update SLC;

Page 11: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

LSU ModuleLSU Module (2)(2)

mode

SendLSU (TTL = 2); Mode = HSLS; NumTe ++ Update SLC;

LinkChange

TRUE

FALSE START HSLS

NumTe ++ Find 2i exact_div (NumTe , &i, &TTL)

TimeLastChange

2i

SendLSU (TTL = );Reset Counter (NumTe, TimeLastChange); change = false;Update SLC;

SendLSU (TTL = 2i+1); Update SLC;

< 2i

< R

>= R

>= 2i

Page 12: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

PROCESSING Module PROCESSING Module (1)(1)

Byte = ReceivedPacket ()

Extract (PKTHeader, MSGHeader)

Compare (HostIP, OriginatorAddress)

DupPKT = DuplicatePacket (SentLSUCache)

DupPKT = DuplicatePacket (ReceivedLSUCache)

DupPKT

Compare (packetType, LSU&LSU_OPT)

Process MSGBody

TTL

sendExplicitACK

ForwardingPKT

=

= 0

0

0

=

(Hello)

= 0> 1

Page 13: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

PROCESSING ModulePROCESSING Module(2)(2)

Build RouteTree (HostIP)

UPDATE algorithm (TT)

Link Change

Dijikstra RouteTree (HostIP)

UPDATE (RT)

Extract MD (Max n° hop)

UPDATE Kernel Routing Table

Packet TypeExtract OPTIONAL

NOSI

LSU_OPT

Hello, LSU

Page 14: HSLS R OUTING P ROTOCOL Eleonora Borgia Pervasive Computing & Networking Lab. PerLab IIT – CNR MobileMAN Project - Helsinki

Ongoing workOngoing work

HSLS

Initialization

Garbage Collector

NEST Communication

Packet Mangement

SocketManagement

Processing

LSU Hello