13.07.2015 Views

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

Page 2 Lecture Notes in Computer Science 2865 Edited by G. Goos ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4 H. Dubois-Ferrière, M. Grossglauser, and M. VetterliTable 1. Rout<strong>in</strong>g table entries.n N D Next hop to node D <strong>in</strong> N’s rout<strong>in</strong>g table.d N D Distance to node D <strong>in</strong> N’s rout<strong>in</strong>g table.Source Time of the rout<strong>in</strong>g entry to D <strong>in</strong> N’s rout<strong>in</strong>g table.t N DTable 1 summarizes the notation used to describe rout<strong>in</strong>g state at each node.We drop the superscript and use the notation n D ,d D ,t D when the context allowsdo<strong>in</strong>g this unambguously. We use the convention that when a node has no entryfor D, n D = null, d D = ∞, and t D = ∞.Packet Types. Beside regular data packets, STR uses route request (RREQ)and route reply (RREP) packets. A node sends a RREQ packet when it has noroute to the dest<strong>in</strong>ation, or if the next hop along the route is broken. It sends aRREP packet <strong>in</strong> reply to a route request when it has a route fresh enough andshort enough to satisfy that request. Note that STR does not use any route errorpackets: s<strong>in</strong>ce l<strong>in</strong>k breaks are always repaired locally, there is no need to <strong>in</strong>formthe source and upstream nodes when this occurs.Apart from the usual source and dest<strong>in</strong>ation addresses of a packet, we <strong>in</strong>troducethe follow<strong>in</strong>g STR-specific fields: The source time ofapacket(p.st) isthe clock time at the packet’s source node when it orig<strong>in</strong>ated the packet. Eachpacket is stamped with the clock time of the source that orig<strong>in</strong>ates it. This fieldis present <strong>in</strong> all packets.The source distance ofapacket(p.sd) is the distance this packet has traverseds<strong>in</strong>ce leav<strong>in</strong>g the source. It is updated at each hop to reflect the new distancefrom the source. This field is present <strong>in</strong> all packets.The dest<strong>in</strong>ation distance (p.dd) and dest<strong>in</strong>ation time (p.dt) ofapacketarepresent only <strong>in</strong> RREQ and RREP packets. In the case of a RREQ packet, theycome from the rout<strong>in</strong>g entry that the source of the RREQ has to the requesteddest<strong>in</strong>ation. In the case of a RREP packet, they represent the distance to therequested dest<strong>in</strong>ation from the reply<strong>in</strong>g node.2.2 STR AlgorithmDATA Process<strong>in</strong>g. We first describe orig<strong>in</strong>at<strong>in</strong>g and forward<strong>in</strong>g of data packets.A node S orig<strong>in</strong>at<strong>in</strong>g a data packet <strong>in</strong>itializes the source distance field to 0and <strong>in</strong>itializes the source time field to the present value of its clock. A node Nreceiv<strong>in</strong>g from neighbor M a packet orig<strong>in</strong>ated <strong>by</strong> node S first <strong>in</strong>crements thesource distance field of the packet to reflect the distance that the packet has nowtraversed: p.sd ← p.sd + △(N,M).Then, if the packet has come over a shorter (<strong>in</strong> the spatio-temporal metricspace) route than the route it currently has, N updates its rout<strong>in</strong>g entry to S.Formally, if f(p.sd, p.st)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!