LAUNCH is one of the location aided routing scheme which is being explored for CRN networks [7]. According to this technique, apart from destination’s position, each node needs to know only its own location and the location of neighbors in order to forward the packets. In order to learn current position of a specific node, help of location service is needed. When node does not know the position of a desired communication partner, it contacts the location service and requests for the communication. FCC–geo location databases are used to receive the location information of CRN nodes. This routing scheme incurs low control overhead.
2.5.2 Routing algorithm
Users start to follow the routing algorithm discussed in this section in order to communicate with other users. The core of algorithm looks for the minimum value of metric between neighboring nodes of source and destination. The metric used here is the distance. And based on this metric value, corresponding neighbor node will be selected as a next source node. This process is continued till the actual destination is reached.
Figure 2.6: Operation of Reference model 2 [7]
When a node wants to select one of its neighbors for packet forwarding, it sends RREQ packets to all neighbor nodes as shown in Figure 2.6. Neighbor node sends route reply RREP with
27
distance between destination node and itself. Upon reception of RREP requesting node selects next-hop based on minimum distance value. It then sends route confirmation RCONF message to next-hop neighbor node. Next-hop node sends route acknowledgement (RACK) packet for confirmation. The process continues till destination is reached. The algorithm is described by the flow chart mentioned below.
2.5.2.1 Flow chart
Routing algorithm consists of various steps which includes, sending routing requests to all the neighbors, getting routing replies from them, selecting valid node as a next source node, getting a confirmation from the next hop nodes and repeating this procedure till destination is reached. 2.5.2.1.1 Step 1: Initializing the system variables.
In this preliminary step, system variables such as path, srcNode and destNode are initialized. Status of all the nodes is set to ‘available’.
Start
nodeStatus[i] = 0; set node status of ith node as ‘0’ (which means ith node is available for communication)
i <= numberOfNodes
Define the value of srcNode, destNode, QoSLevel
Go to step 2 YES NO i++ i = 1
28 2.5.2.1.2 Step 2: discovering route to destination.
Source node broadcasts the routing request to all its neighbors. The request consists of ‘destNodeId’ of destination node, ‘srcNodeId’ of its own and ‘timeStamp’ information. Upon reception of routing request, each neighbor node sends route reply back to source node with distance between neighbor node and destination. When source node receives reply packet from neighbor nodes, it sends route confirmation request to a neighbor with minimum distance to destination. If next-hop agrees, it transmits route acknowledge packet to confirm on being as a next-hop, else it simply denies the request and source node selects sub-sequent next-hop with minimum metric value. Above process is repeated till destination is reached. Detailed flow graph is mentioned in Figure 2.8.
2
If srcNode != destNodeSource node broadcasts the routing request to its neighbors Neighbor node calculates the metric value (distance) from its own location to destination’s location. All neighbors
send this metric value to source node After receiving routing replies from all the neighbors,
source node selects minimum metric value and corresponding node as a next source node. Source node sends request to next hop node to confirm it
as a next-hop.
Next-hop confirms? ‘pathList’ is updated by new ‘next-hop’ as a source node
All neighbors
considered? Communication not possible Send confirmation request to
subsequent next hop Final path is recorded
Yes No
No
Yes
No Yes
Select subsequent next-hop with minimum metric value neighbor
29
2.5.3 Impediments/catches
Routing technique selects the neighbor as a next-hop which is closer to destination node; it stands as greedy forwarding of packets. Because of this it may consume more end to end transmission power than our model discussed in next chapter. Moreover it incurs initial delay in route set up. If neighbors to source nodes are more in number then amount of broadcasting messages exchanged are more. Even though it incurs less control overhead, sometimes route to destination is not reachable. This is as good as packet being lost before it reaches to destination. In addition this routing scheme requires routing algorithm to be implemented at each intermediate node.
In order to explain it, we carried out an experiment where we again considered 3 different scenarios with 10 different networks each. In each scenario, we look for percentage number of time destination is not reachable from different source nodes.
Figure 2.9 indicates for Scenario 1, out of all combinations of source and destination pairs, approximately 11% of time destination is not reachable for all QoS Levels. It is as good as a packet lost before reaching to the destination node. Similarly, Figure 2.9 also shows the result for Scenarios 2 and 3.
30 2.6 Summary
In this Chapter we described routing mechanisms proposed in literature with their metrics and catches. There is a need to overcome these impediments. We need to design a profile exchange mechanism that makes use of location information of nodes in the network to reduce the traffic (information exchange) overhead, number of control messages exchanged, delay in route discovery and can estimate the path before sending data packets to destination through intermediate nodes which may help to reduce the packet losses in the network. Such a model which makes use of salient features and functionalities of profile exchange and location aiding while keeping the functionality of SU simpler is explored in next Chapter.
31