It is clear that a scheme like TCP-BuS has to be used in order to provide Internet access to ad hoc nodes, but we are not convinced that Mobile IP is necessary. It might be feasible implement a dynamic DNS service that would be updated every time a node roams to another network. When Mobile IP is used we have two levels of indirection – first the textual address has to be looked up from the DNS server and then the home agent has to be contacted to get the current position of the mobile node. With a dynamic DNS the address lookup would instantly yield the current position of the mobile node indicated by the network portion of the IP address.
5CASE STUDY, TREE ROUTING PROTOCOL
The Tree Routing Protocol (TRP) is a routing scheme for Ad Hoc mobile multihop networks, which is able to discover and maintain network topology information needed for sending information from every node to every other node on the same network. The TRP was specifically designed for this thesis in order to provide a case study to be examined. Like many routing protocols, TRP has a strategy to minimize the amount of control overhead needed for discovering routes between source nodes (or originator) and destination nodes. There is a trade-off between having up-to-date routing information and minimizing the amount of control overhead. Reactive protocols only discover routes on a demand basis, but when initialized the only prior knowledge about the network that a node has is its neighbors. In a worst-case scenario, this forces the discovery process to contact every node in the network. It is this trade-off that TRP attempts to optimize by having partial up-to-date routing information at every node, which can be used to make intelligent routing decisions most of the time.
5.1 Definitions
In the following text we will use traditional terms for network components, like node for vertex and link instead of edge. Some graph theoretical terms will be used (for example parent-child), which will express essentially the same thing as they do in graph theory.
-
Node: A synonym for node is mobile host. The graph theoretical equivalent is vertex.
-
Neighbor: Nodes a and b are neighbors if their radio transmission range is longer than the distance between them.
-
Link: Every kind of link between node a and b is denoted [a, b]. The graph theoretical equivalent is edge.
-
Preference of a neighbor: A node that joins a tree prefers a node in the tree which becomes the joining node’s parent.
-
Parent-Child: If there exists a link between neighbors p and n, and n has preferred p, then p is said to be n’s parent. N is p’s child.
-
Grandparent-Grandchild: If c is a child of g and n is a child of c then n is said to be a grandchild of g. There can also be many more Parent-Child relationships between n and g.
-
Interlink: A link that connects two nodes in different trees.
-
Extralink: An extralink can exist between two subtrees. Whether an extralink exist is determined by a subroot which is currently forwarding a message. If the subroot’s tree contains a node with a neighbor in another subtree, then this node has an extralink. In figure 5-1 subroot 2 views the links [4,3] and [4,5] as extralinks but root 1 does not. This is because node 4 and 3 belong to root 1’s tree.
-
Update: A message sent by a node whose subtree has changed (i.e. a child has moved out of range or a new node has joined the subtree and an update was therefore received). The update will propagate to the root, traversing every preferred link and every node adds itself and the updates it itself has received so far. When the message reaches the root, every node will “know” its grandchildren.
-
Hello message: A message sent from a node to its neighbors when its state changes.
-
Route Query Message (RQM): A message sent by the source node to find a destination node
-
Shallowness: If a node n has a route containing fewer hops to the root than another node q, then n is said to be a shallower node. A synonym for shallow in this text is high-level node.
-
Next-hop: a routing table entry that indicates the next node on the route towards the destination.
-
Branch: In this text a branch is a single loop-free path from a grandparent to grandchild. This path is used to forward to nodes with extra- or interlinks. These can be discovered because of the updates (section 5.4.1).
5.2 Introduction to TRP
TRP defines the network as a tree or a collection of trees that have developed independently, and which can be joined together at later time by so-called interlinks. An interlink connects two nodes that find that they do not belong to the same tree. A root is a node that booted and did not find other nodes in its vicinity. When a node finds that it is in the vicinity of other nodes, belonging to a tree, it will join this tree by associating itself with a node that has a route that contains the fewest hops (shallowest) to the root. This is possible because every node keeps track of the level it is on and informs the new node about this in a hello message. The shallowest neighbor of the new node will form its preferred link towards the root. Every node sends local information to its preferred neighbor whenever it changes in an update message. The local information that a node sends contains a list of the node’s neighbors, itself and the lists that was received from its children. As this is done in every child-parent relationship, it will result in dissemination of information in a controlled way and every subroot of every subtree knows which nodes belong to its subtree. Therefore, the root’s routing table contains routes (knows next-hops) to every node and can calculate which nodes have interlinks to other trees. To clarify this, there is a distinct loop-free path from every leaf to the root through which periodic updates are sent and the updates accumulate at every level of the tree as nodes add themselves to the list. In this way a partial routing table will be set up at every node in the form of a tree in which every subroot knows which nodes belong to its subtree. This tree of preferred links is needed in the attempt to prohibit network-wide searches when a node needs to be found by using a "divide-and conquer" method. Since every node (subroot or root) knows which nodes are located in its subtree, it can deduce that a route query does not have to be forwarded to any particular branch in the subtree at all. In the case that there is a extra- or interlink in a forwarding subroot’s subtree then the path to the node with the link can be found and forwarded to. Every "up cast" (towards the root) of a message, containing a route query will increase the probability that a grandparent will have a route to the destination node, and is able to answer the query.
A route query message (RQM) is a message that indicates a query of route from the initiator (source) of the query to a destination node. RQMs are sent to the preferred neighbor but also through extralinks, interlinks and to branches that contain extralinks or interlinks. The extralinks are so-called because they have to be omitted when the network topology is viewed as a tree, in order to set the paths for the updates to travel (see figure 5-1). It is then this tree view that forms the basis for the divide-and-conquer scheme which can be used in forwarding decisions. The extralinks are links to neighbors that are not preferred. This must not be understood that the extralinks would be dropped altogether. They are still used to forward data messages and route queries because otherwise discovery of shortest path could not be guaranteed. Therefore the tree structure can be taken advantage of in certain situations.
TRP uses a semi proactive (table driven), semi reactive (on-demand) approach. It is proactive because of the updates that are sent whenever a change in the routing table occurs (i.e. a node receives a new update or a link is broken to a neighbor). On the other hand if a node demands a route to a non-(grand) child the protocol will have to react with the discovery process and issue a discovery control message. A fundamental idea in TRP is that every network can be seen as a graph or as a tree if strategically chosen extralinks are disabled in certain situations.
Fig. 5 15: Views of the network.
Share with your friends: |