Research Article
A Multipath Routing Protocol Based on Bloom Filter for Multihop Wireless Networks
Notations: | hc: hop count | nn: next node | ns: neighbor of source | Rs: route to the source | Rd: route to the destination | BF: bloom filter | (1) Upon receiving an RREQ message at the destination | Begin | if a new RREQ then | Set a timer Td | / Initiate an RREP2 after timeout / | Send an RREP1 back to the source | Record the BF of the primary path | end if | if a second RREQ && RREQ.ns BF then | Record the previous hop as the next hop of RREP2 | else if a duplicate RREQ && within the timer Td then | if RREQ.ns BF then | Initiate an RREP_N | else | Add the neighbor nodes of the destination to the BF | end if | End | (2) Upon timeout at the destination | Begin | if receives a second RREQ && haven’t sent an RREP_N then | Extract the information of the next hop and the BF | Initiate an RREP2 | end if | End | (3) Upon receiving a reply message at an intermediate node | Begin | Case: an RREP1 | Forward the RREP1 based on the source route | Case: an RREP2 | if has an N_Route (Rs.ns BF) then | Initiate an RREP_N | else if has an O_Route (Rs.ns BF && Rs.nn BF) then | Relay the RREP2 to Rs.nn | else if has an L_Route (Rs.nn BF && Rs.hc == 1) then | Relay the RREP2 to Rs.nn | end if | if has an Rs.nn BF && Rs.hc is the shortest one then | Send an RREP_A to Rs.nn | end if | Case: an RREP_N | if has an Rs.nn BF && Rs.hc is the shortest one then | Send an RREP_A to Rs.nn | end if | Relay the RREP_N to next hop based on the source route | Case: an RREP_A | Record the Rd information stored in the RREP_A | End |
|