Routing Protocol And Dynamic Source Routing Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

In this paper we are analysing performance of the TCP, TCP Reno, TCP Tohoe , TCP Vegas using routing protocol DSDV,DSR(Dynamic Source Routing), AODV(Ad hoc on Demand Distance Vector) and R ADOV. We have analyze and compare their performance through simulation using SN2 network simulator.


In mobile ad hoc network is a dynamically self organizing network without any central s administrator or infrastructure support. If two nodes are not within the transmission range of each other, other nods are needed to serve as intermediate routers for the communication between the two nodes.

The routing protocol are

Routing is the act of moving information from source to destination in the network. At least one intermediate node within the network is encountered during the transfer of information. Basically two activities are involved in this concept: determining optimal routing paths and transferring the packets through an internetwork is called as packet switching which is straight forward, and the path determination could be very complex.

Routing protocols use several metrics as a standard measurement to calculate the best path for routing the packets to its destination that could be number of hops, which are used by the routing algorithm to determine the optimal path for the pocket to its destination. The process of path determination is that, routing algorithms find out and maintain routing tables, which contain the total route information for the packet. The information of route varies from one routing algorithm to another. The routing table are filled with entries in the routing table are IP address prefix and the next hop. Destination/ next hop associations of routing table tell the router that a particular destination and IP address prefix specifies a set of destinations for which the routing entry is valid.

Routing is mainly classified into static routing and dynamic routing. Static routing refers to the routing strategy being stated manually or statically, in the router. Static routing maintains a routing table usually written by a network status, i.e. , whether the destination is active or not. Dynamic routing refers to the routing strategy that is being learnt by an interior or exterior routing protocol. This routing primary depends on the state of the network i.e. the routing table is affected by the activation of the destination.


PERSONAL communications and mobile computing require a wireless network infrastructure that is fast deployable, possibly multi hop, and capable of multimedia service support . The wireless network is often connected to a wired network (e.g., ATM or Internet) so that the ATM or Internet multimedia connection can be extended to the mobile users. There are several contributions that have already appeared in the wireless extensions of the wired ATM networks [1], [20]. Most of them focus on the cellular architecture for wireless personal communication networks (PCN's) supported by ATM backbone infrastructures. In this architecture, all mobile hosts in a communication cell can reach a base station in one hop.

Transmission Control Protocol (TCP):

TCP provide connections between clients and server. A TCP client establishes a connection with a given server, exchanges data with that server across the connections and then terminates the connections.

TCP also provides reliability when TCP sends data to the other end, it requires an acknowledgement in return, if acknowledgement is not received, TCP automatically retransmits the data and waits a longer amount of time. After some number of retransmission, TCP will give up, with the total amount of time spend trying to send data typically between 4 and 10minutes

TCP contains algorithm to establish to estimate the Round Trip Time (RTT) between a client and server dynamically so that it knows how long to wait for an acknowledgment. TCP continuously estimate the RTT of a given connections because RTT is effected by variation in the network traffic.

TCP provide flow control. TCP always tells its peer exactly how many bytes of data it is willing to accept from the peer at any one time. This is called the advertised window. At any time, the window is the amount of room currently available in the receive buffer, the sender cannot overflow the receiver buffer window changes dynamically over time.

TCP connection full duplex this means that an application can send and receive data in both directions on a given connection at any time.

TCP is widely used by many Internet services including HTTP (World Wide Web) and FTP (File Transfer Protocol). Thus, even if the network infrastructure may change in the future Internet, TCP and its applications would be likely to be continuously used. However, TCP Tahoe and Reno versions (and their variants), which are widely used in the current Internet, are not perfect in terms of throughput and fairness among connections, as having been shown in the past literatures.

Routing most widely used protocols for routing in mobile ad hoc network these protocols are described in the following below


DSDV is a table driven routing scheme for an ad hoc mobile networks based on the Bellman Ford algorithm. It was developed by C. Perkins and P. Bhagwat in 1994.The main contribution of this algorithm was to solve the routing loop problem. In DSDV each node maintains a route to every other node in the network and thus routing table is formed. Each entry in the routing table contains sequence numbers which are even if a link is present; else, an odd number is used. The number is generated by the destination, and the emitter needs to send out the next update with this number [5]. This number is used to distinguish stale routes from new ones and thus avoids the formation of loops. The routing table updates can be sent in two ways: a "full dump" or an incremental update. A full dump sends the full routing table to the neighbours and could span many packets whereas in an incremental update only those entries from the routing table are sent that have a metric change since the last update and it must fit in a packet. When the network is relatively stable, incremental updates are sent to avoid extra traffic and full dump are relatively infrequent. In a fast changing network, incremental packets can grow big so full dumps will be more frequent.

DSDV was one of the early algorithms available. It is quite suitable for creating ad hoc networks with small number of nodes. DSDV requires a regular update of its routing tables, which uses up battery power and a small amount of bandwidth even when the network is idle. Whenever the topology of the network changes, a new sequence number is necessary before the network reconverges; thus DSDV is not suitable for highly dynamic networks

Dynamic Source Routing (DSR)

Ad hoc on Demand Distance Vector (AODV): AODV perform Route Discovery using control message route request(RREQ) and route reply (RREP) whenever node wishes to send packet to destination. To control network wide broadcasts of RREQs, the source node use an expanding ring search technique. The forward path sets up in intermediate nodes in its route table with a lifetime association using RREP. When either destination or intermediate node moves, a route error (RERR) is sent to the affected source nodes. When source node receives the (RERR), it can reinitiate route discovery if the route is still needed. Neighbourhood information is obtained from broadcast Hello packet. An important feature of AODV is the maintenance of timer-based states in each node, regarding utilization of individual routing table entries. A routing table entry is "expired" if not used recently. A set of predecessor nodes is maintained for each routing table entry, indicating the set of neighbouring nodes that use that entry to route data packets. These nodes are notified with RERR packets when the next hop link breaks. Each predecessor node, in turn, forwards the RERR to its own set of predecessors, thus effectively erasing all routes

using the broken link. In contrast to DSR, RERR packets in AODV are intended to inform all sources using a link when a failure occurs. Route error propagation in AODV can be visualized conceptually as a tree whose root is the node at the point of failure and all sources using the failed link as the leaves.

DSR: For DSR [8,15], this protocol has two mechanisms: Route Discovery and Route Maintenance. The source route is needed when some node originates a new packet destined for some node by searching its route cache or initiating route discovery using ROUTE

REQUEST and ROUTE REPLY messages. On detecting link break, DSR sends ROUTE ERROR message to source for new route. DSR is a simple and efficient routing protocol designed for use in multi hop wireless ad hoc networks of mobile nodes. Network is self-organizing and self-configuring when using DSR. When the nodes in an ad hoc network move and join the network while forwarding packets, all routing is automatically determined and maintained by DSR. DSR allows nodes to dynamically discover a source route across multiple network hops to any destination. Each data packet sent then carries in its header the complete, ordered list of nodes through which the packet must pass, allowing packet routing to be trivially loop free and avoiding the need for up-to-date routing information in the intermediate nodes. So for DSR, the overhead incurred by performing a new Route Discovery can be avoided when the caching of multiple routes to a destination occurs.

Comparison on AODV and DSR : The DSR and the AODV protocol are two dynamic routing protocols that initiate routing activities for ad hoc networks on an on demand basis [12-13]. These protocols were designed for reducing the routing RREP. When either destination or intermediate node loading in networks. The routing mechanism in DSR uses source routing, while AODV uses a table driven routing framework and destination sequence numbers. AODV relies on certain timer-based activities while DSR does not rely on such options. In DSR the sender knows the hop-by-hop route to the destination because of the use of source routing in the protocol. In DSR, the routes are stored in route cache. The packet header A's routing table entry is "expired" if not used recently. A contains the source route. Route Discovery is used to dynamically determine a route when the route is not known. Route Request packets are send to flood the network and Route Error packets are send when any notified with RERR packets when the next hop link in the source route is broken. DSR makes use of source routing and route caching. DSR uses Route Maintenance mechanism to repair routes that get broken when sending packets from the sender to destination. Packet Salvaging, Automatic Route Shortening, Increased Spreading of Route Error Messages are some of the mechanisms, which are used under Route Maintenance. AODV discovers routes on an on-demand basis using a similar route discovery process as in DSR. AODV uses traditional routing tables, one entry per destination for maintaining routing information. DSR on the other hand maintains multiple route cache entries for each destination. To propagate route reply back to the source and to route data packets to the destination, AODV relies on routing table entries. Sequence numbers at each destination determines freshness of routing information and prevents routing loops. Routing packets carry the sequence

numbers. The maintenance of timer-based states in each node for utilization of individual route entries is an important feature of AODV protocol. Sets of predecessor nodes are maintained for each routing table entry, which indicates the set of neighbouring nodes. Route Error packets are used to notify these nodes when the next-hop link breaks. All the routes using the broken link are erased when the route error packets are sending to its own set of predecessors. Route Error packets in AODV are intended to inform all sources using a link when a failure occurs. In AODV, Route Error propagation is visualized as a tree structure where the root is the node at the point of failure and all sources using the failed link as leaves. An optimizing technique in AODV to control Route Request flood in the route discovery process is to use an expanding ring search to discover routes to unknown destination. DSR with the influence of source routing and promiscuous listening of data packet transmissions has access to a significantly greater. In all, DSR allow cache more paths from a source to a destination, while AODV just use amount of routing information than AODV. AODV can gather only limited amount of routing information. DSR uses route caching aggressively by replying to all requests reaching a destination from a single request cycle. In AODV, the destination replies only once to the request arrive first. The rest of the requests are ignored. Since DSR does not have any mechanism for the

expiration of stale routes stored in the cache, some of these stale routes may start polluting other caches. AODV when faced with the choice of stale routes would choose the fresher one. The entry in the routing table if not used recently gets expired.

Accord to the discussion on AODV and DSR above, our performance evaluation mode should give out the expected result on the following matrix: For routing load, DSR should be lower than AODV (in terms of number of packets) due to its aggressive caching (though more replies and errors) and another reason is that AODV is dominated by RREQ packets. For packets delivery rate and delay, DSR should be better if less stressful traffic load. Since caching only provide significant benefits to a certain extent. Stale caches are chosen in high loads which will cause unnecessary bandwidth consumption and pollution of caches in other nodes under high load with DSR. For average delays, which may determine by network congestion, bandwidth cost by routing overhead, and routing error, so it is a little hard to say but DSR may be better in most cases since the routing overhead is extremely great with AODV.

Traditional routing protocols designed for infrastructure networks cannot be applied in ad hoc networks. The ad hoc routing protocols were designed to satisfy the needs of infrastructure less networks.

Reverse AODV (R AODV): In fact, a RREP message of AODV is obtained by the cost of flooding the entire network or a partial area [1-5]. RREP loss leads to source node reinitiate route discovery process which causes degrade of the routing performance, like high power consumption, long end-to-end delay and inevitably low packet delivery ratio. Therefore, we are considering how simply to decrease the loss of RREP messages. RREP missing will occur and the route discovery process will be useless. We can easily know that several alternative paths built by the RREQ message are ignored. the R-AODV to avoid RREP loss and improve the performance of routing in MANET. R-AODV uses absolutely same procedure of RREQ of AODV to deliver route reply message to source node. We call the route reply messages reverse request (R-RREQ). R-AODV protocol can reply from destination to source if there is at least one path to source node. In this manner, R-AODV prevents a large number of retransmissions of route request messages, and hence diminishes the congestion in the network. Moreover, R-AODV will improve the routing performance such as packet delivery ratio and end-to-end delay.

3 Proposed R-AODV Protocol

In this section we present an overview and purpose of proposed R-AODV protocol.

3.1 Protocol Overview Analyzing previous protocols, we can say that most of on-demand routing protocols,

except multipath routing, uses single route reply along the first reverse path to establish routing path. As we mentioned before, in high mobility, pre-decided reverse path can be disconnected and route reply message from destination to source can be missed. In this case, source node needs to retransmit route request message. Purpose of our study is to increase possibility of establishing routing path with less RREQ messages than other protocols have on topology change by nodes mobility.

Specifically, the proposed R-AODV protocol discovers routes on-demand using a reverse route discovery procedure. During route discovery procedure source node and destination node plays same role from the point of sending control messages. Thus, after receiving RREQ message, destination node floods reverse request (R-RREQ), to find source node. When source node receives an R-RREQ message, data packet transmission is started immediately.

TCP Reno : A. TCPReno

TCP Reno induces packet losses to estimate the available bandwidth in the network. While there are no packet losses,

TCP Reno continues to increase its window size by one during each round trip time. When it experiences a packet loss, it

reduces its window size to one half of the current window size. This is called additive increase and multiplicative decrease. The additive increase and multiplicative decrease algorithm is based on the results given in [3]. There it is shown that such an algorithm leads to a fair allocation of bandwidth. TCP Reno, however, fails to achieve such fairness because TCP is not a

synchronized rate based control scheme, which is necessary for the convergence results of [3].

The congestion avoidance mechanism adopted by TCP Reno causes a periodic oscillation in the window size due to the con- stant update of the window size. This oscillation in the window size leads to an oscillation in the round trip delay of the packets. This oscillation results in larger delay jitter and an inefficient use

of the available bandwidth due to many retransmissions of the same packets after packet drops occur.

TCP Vegas

TCP Vegas adopts a more sophisticated bandwidth estimation scheme. It uses the difference between expected and actual flows rates to estimate the available bandwidth in the network. The idea is that when the network is not congested, the actual flow rate will be close to the expected flow rate. Otherwise, the actual flow rate will be smaller than the expected flow rate. TCP Vegas, using this difference in flow rates, estimates the congestion level in the network and updates the window size accordingly. Note that this difference in the flow rates can be easily translated into the difference between the window size and the number

of acknowledged packets during the round trip time, using the equation

Dif f = (Expected - Actual) BaseRTT,


where Expected is the expected rate, Actual is the actual rate, and BaseRTT is the minimum round trip time. The details of the algorithm are as follows:

1. First, the source computes the expected flow rate Expected

-- - A::,&, where CWND is the current window size and

BaseRlT is the minimum round trip time.

2. Second, the source estimates the current flow rate by using the actual round trip time according to Actual = w,

where RlT is the actual round trip time of a packet.

3. The source, using the expected and actual flow rates, computes the estimated backlog in the queue from Diff

= (Expected-Actual) BaseRTT.

4. Based on Diff, the source updates its window size as fol- lows.


if Diff < a

CWND-1 ifDiff >p

CWND otherwise