First of all, when a node receives RREQ, it will create a route entry which indicates the next hop (the node forwarding the RREQ) to the source node and calculate the distance between this next hop node and the source node. Second, this
node will also make the similar decision when it receives RREQ, update route table or discard RREQ. For convenience, we use two variables ( shortest and gap ) to indicate how to make reverse route calculation in RREQ. The shortest is
distance the node calculates at the first time when it receives RREQ or the distance at current time. The gap is distance the node calculates when it receives RREQ again.