Вы находитесь на странице: 1из 21

TABLE OF CONTENTS Certificate from department Acknowledgements Abstract List of figures List of tables Chapter 1: introduction 1.

1 aim 1.2 motivation 1.3 methodology 1.4 applications 1.5 organization of the report Chapter 2: literature survey 2.1 computer networks and the layering concept 2.2 layering concept 2.3 OSI& TCP\IP reference model 2.4 wired computer networks: advantages and disadvantages 2.5 wireless computer networks: advantages and disadvantages 2.6 Mobile ad-hoc networks 2.61 characteristics of MANETS 2.7 routing protocols 2.7.1 Why routing protocols are main issue in ad-hoc networks 2.8 Ad-hoc routing protocols 2.8.1 Table driven routing protocols 2.8.2 On demand routing protocols V VI 1 1 1 1 1 2 3 3 3 4 7 7 8 10 11 11 11 12 14 ` I II III

2.8.3 Hybrid routing protocols 2.8.4 Comparison Chapter 3: destination sequenced distance vector 3.1 overview & properties of protocol 3.2 basic route discovery 3.3 basic route maintenance 3.4 updating of routing tables 3.5 packet routing and routing table management 3.6 responding to topology changes 3.7 merits of dsdv 3.8 de-merits of dsdv Chapter 4: simulation 4.1 entities of simulation 4.2 time dependent simulation 4.3 network simulator 4.3.1 Basic architecture 4.3.2 Installation 4.3.3 Directories & convention 4.3.4 Running ns2 4.3.5 Main ns-2 simulation steps Chapter 5: implementation of tool command language (TCL) script 5.1 OTCL linkage 5.2 concept review 5.3 basic command to run simulation script in ns2 5.4 node creation

16 18 18 19 21 24 27 29 31 32 33 34 35 36 38 40 42 44 45 46 47 48 49 50 51

5.5 creating node movements 5.6 node configuration interface 5.7 node configuration parameters

52 53 54

(Link layer, ARP, interface queue, MAC layer, tap agents, network interface, radio propagation model, antenna) 5.8 links 5.9 queue management & packet scheduling 5.10 agents 5.11 Dsdv tcl codes Chapter 6: performance evaluation 6.1 NETWORK ANIMATOR 6.2 TRACE FILE 6.3 X-Graph Chapter 7: results & conclusion 7.1 results 7.1.1 Network animator 7.1.2 Trace file output 7.1.3 X-graph 7.2 conclusion 7.3 merits of the project 7.4 future scope REFERENCES output 92 92 94 96 97 98 99 58 61 62 68 81 82 85 90

Chapter 1: introduction
The Temporally-Ordered Routing Algorithm (TORA) is an algorithm for routing data across Wireless Mesh Networks or Mobile ad-hoc networks. It was developed by Vincent Park at the University of Maryland and the Naval Research Laboratory. Park has patented his work, and it was licensed by Nova Engineering, who are marketing a wireless router product based on Parks algorithm. The TORA attempts to achieve a high degree of scalability using a "flat", non-hierarchical routing algorithm. In its operation the algorithm attempts to suppress, to the greatest extent possible, the generation of far-reaching control message propagation. In order to achieve this, the TORA does not use a shortest path solution, an approach which is unusual for routing algorithms of this type. TORA builds and maintains a Directed Acyclic Graph rooted at a destination. No two nodes may have the same height. Information may flow from nodes with higher heights to nodes with lower heights. Information can therefore be thought of as a fluid that may only flow downhill. By maintaining a set of totally-ordered heights at all times, TORA achieves loop-free multipath routing, as information cannot 'flow uphill' and so cross back on itself. The key design concepts of TORA is localization of control messages to a very small set of nodes near the occurrence of a topological change. To accomplish this, nodes need to maintain the routing information about adjacent (one hop) nodes. The protocol performs three basic functions:

Route creation Route maintenance Route erasure

During the route creation and maintenance phases, nodes use a height metric to establish a directed acyclic graph (DAG) rooted at destination. Thereafter links are assigned based on the relative height metric of neighboring nodes. During the times of mobility the DAG is broken and the route maintenance unit comes into picture to reestablish a DAG routed at the destination.

Timing is an important factor for TORA because the height metric is dependent on the logical time of the link failure. TORA's route erasure phase is essentially involving flooding a broadcast clear packet (CLR) throughout the network to erase invalid routes Route creation A node which requires a link to a destination because it has no downstream neighbours for it sends a QRY (query) packet and sets its (formerly unset) route-required flag. A QRY packet contains the destination id of the node a route is sought to. The reply to a query is called an update UPD packet. It contains the height quintuple of the neighbour node answering to a query and the destination field which tells for which destination the update was meant for. A node receiving a QRY packet does one of the following:

If its route required flag is set, this means that it doesn't have to forward the QRY, because it has itself already issued a QRY for the destination, but better discard it to prevent message overhead.

If the node has no downstream links and the route-required flag was not set, it sets its routerequired flag and rebroadcasts the QRY message.

A node receiving an update packet updates the height value of its neighbour in the table and takes one of the following actions:

If the reflection bit of the neighbours height is not set and its route required flag is set it sets its height for the destination to that of its neighbours but increments d by one. It then deletes the RR flag and sends an UPD message to the neighbours, so they may route through it.

If the neighbours route is not valid (which is indicated by the reflection bit) or the RR flag was unset, the node only updates the entry of the neighbours node in its table.

Each node maintains a neighbour table containing the height of the neighbour nodes. Initially the height of all the nodes is NULL. (This is not zero "0" but NULL "-") so their quintuple is (-,-,-,,i). The height of a destination neighbour is (0,0,0,0,dest). Node C requires a route, so it broadcasts a QRY.

The QRY propagates until it hits a node which has a route to the destination, this node then sends an UPD message. The UPD is also propagated, while node E sends a new UPD. Route Maintenance Route maintenance in TORA has five different cases according to the flowchart below: Example B still has a downstream link to the destination, so no action is needed partition detection and route erasure he links D-F and E-F reverse. Node D propagates the reference level. Node E now "reflects" the reference level. The reference heights of the neighbours are equal with the reflection bit not set. E sets the reflection bit to indicate the reflection and sets its offset to 0. Node C just propagates the new reference level. Node A now propagates the reference level Route Erasure When a node has detected a partition it sets its height and the heights of all its neighbours for the destination in its table to NULL and it issues a CLR (Clear) packet. The CLR packet consists of the reflected reference level (t,oid,1) and the destination id. If a node receives a CLR packet and the reference level matches its own reference level it sets all heights of the neighbours and its own for the destination to NULL and broadcasts the CLR packet. If the reference level doesn't match its own it just sets the heights of the neighbours its table matching the reflected reference level to NULL and updates their link status (->undirected). TORA is an on-demand routing protocol. The main objective of TORA is to limit control message propagation in the highly dynamic mobile computing environment. Each node has to explicitly initiate a query when it needs to send data to a particular destination. TORA belongs to a class of algorithms called the link reversal algorithms. (We will defer a discussion of what this means to later).

TORA essentially performs three tasks Creation of a route from a source to a destination Maintenance of the route Erasure of the route when the route is no longer valid.

TORA attempts to build what is known as a directed acyclic graph (DAG) which is rooted at the destination. Directed Acyclic Graph (DAG) A graph G(V,E) is a directed graph with V nodes and E edges if every edge in the graph has an associated direction. Now, if a path in a directed graph forms a cycle if it originates and terminates at the same node and has at least one link in it. In other words, a path from v0 vk in the graph forms a cycle if v0 = vk and the path has at least one edge. A directed graph with no cycles is a DAG. A DAG is rooted at the destination if the destination is the only node with no downstream nodes, i.e., no links lead out of the destination. Such a DAG is often called a destination oriented DAG. Creation of such a DAG from a source to a destination would contain multiple routes to the destination. The idea is to first build a DAG from the source to the destination. Then as links fail, it might be necessary to recomputed a DAG in order to find a route. Link Reversal algorithms are used for this. If network gets partitioned, erasures of routes is required. TORA uses three kinds of messages: I. II. III. The QRY message for creating a route. The UPD message for both creating and maintaining routes. The CLR message for erasing a route.

Destination Disoriented DAG

Topology of the Mobile Ad Hoc Network changes in time. Thus, it is possible that one of the nodes may have all inbound links (since for example, the only outbound link failed). This is not ok since only the destination should have this property. Such a graph is called destination disoriented. At this point TORA resorts to link reversals.

1.2 Aim:
The Temporally Ordered Routing Algorithm (TORA) is a highly adaptive, efficient and scalable distributed routing algorithm based on the concept of link reversal. TORA is proposed for highly dynamic mobile, multi-hop wireless networks. It is a source-initiated on-demand routing protocol. It finds multiple routes from a source node to a destination node. The main feature of TORA is that the control messages are localized to a very small set of nodes near the occurrence of a topological change. To achieve this, the nodes maintain routing information about adjacent nodes. The protocol has three basic functions: Route creation, Route maintenance and Route erasure. TORA can suffer from unbounded worst-case convergence time for very stressful scenarios . TORA has a unique feature of maintaining multiple routes to the destination so that topological changes do not require any reaction at all. The protocol reacts only when all routes to the destination are lost. In the event of network partitions the protocol is able to detect the partition and erase all invalid routes.

1.2 Motivation:
Temporally Ordered Routing Algorithm by Park et al is a distributed routing protocol for multi hop networks. The unique feature of this protocol is that it endeavors to localize the spread of routing control packets. The protocol is basically an optimized hybrid of the Gafni Bertsekas and Lightweight Mobile Routing protocols. It guarantees loop freedom, multiple routes and minimal communication overhead even in highly dynamic environments. The protocol targets at minimizing routing discovery overhead and in doing so prefers instant routes to optimal routes. The protocol supports source-initiated on-demand routing for networks with a high rate of mobility as well as destination oriented proactive routing for networks with lesser mobility.

1.3 methodologies
TORA maintains state on a per-destination basis and runs a logically separate instance of the algorithm for each destination. TORA assigns directional heights to links so as to direct the flow of traffic from a higher source node to a lower destination. The significance of these heights, which are assigned based on the direction of a link towards the destination, is that a node may only forward packets downstream but not upstream i.e. to another node that has a higher, undefined or unknown height. The height is represented by a quintuple (, oid, r, , i) where the first three values represent a reference level and the last two represent the delta with respect to the reference level. Each time a node loses its downstream link due to a link failure, a new reference level is computed using either a partial or full link reversal mechanism. The values in the height quintuple indicate the following: : Logical time of a link failure oid : Unique ID of the router that defined the ref. level r i : Reflection indicator bit : Propagation ordering parameter : Unique ID of the router

In the on-demand mode, TORA algorithm performs four routing functions: Route Creation, Route Maintenance, Route Erasure and Route Optimization To accomplish these functions it uses four distinct control packets: Query (QRY), Update (UPD), Clear (CLR) and Optimisation (OPT). During route discovery, a source node requiring a route to a destination, broadcasts a QRY packet containing the destination address. The QRY packet is propagated through the network until it reaches the destination or any intermediate node possessing a route to the intended destination. The recipient of the QRY packet broadcasts an UPD packet that lists its height with respect to the destination. If the destination itself replies to a QRY packet it sets the height to zero in the UPD packet. Each node that receives the UPD packet sets its own height greater than that in the UPD packet. This results in creation of a directed acyclic graph (DAG) with all links pointing in the direction of the destination as the root. In the proactive mode, routes are created using the OPT packet that is sent out by the destination. The OPT packet,

which is similar to the UPD packet, also consists of a sequence

number for duplication

avoidance. Each recipient nodes adjusts its height data structure and sends out a OPT packet to neighbouring nodes. When a node discovers that it has no downstream links either due to a link

failure or to a link reversal it modifies its height based upon five predefined cases. The first case (GENERATE) is applicable when there are no downstream links due to a link failure, in which the node defines a new reference level. All other cases (PROPAGATE, REFLECT, DETECT and GENERATE) are executed by nodes having no downstream links due to a link reversal. These cases define and propagate new reference levels upon reception of UPD packets based on pre-defined different criteria. Whenever a partition is spotted through a DETECT case, the node sets its own and the height of all its neighbours to NULL and broadcasts a CLR packet. The neighbouring nodes that receive the CLR packet, based upon the reference level, also set the heights in a similar manner and rebroadcast the CLR packet. In this way the height of each node in the portion of the network that is partitioned is set to NULL and all invalid routes are erased. As each node in TORA maintains multiple DAGs to the destination so in any network with an average n number of nodes each with n/2 downstream neighbours, a node could still effectively communicate with the destination node upon link failure of (n/2) 1 nodes. However, to sustain this redundancy, each node maintains a height data structure, link status along with a number of state and auxiliary variables for each destination node. TORA is not a standalone routing protocol but requires the services of Internet MANET Encapsulation Protocol (IMEP). IMEP [17] has been designed as a network layer protocol that provides link status, neighbour connectivity information, address resolution and other services to Upper Layer Protocols (ULP). 1.5 Application In TORA we use the following four categories to derive the events that would be used to compute the Situational Trust and subsequently the Direct Trust in nodes: I. II. III. IV. Acknowledgements (PA) Packet Precision (PP) Beacon Packets (BP) Authentication Objects (AO)

Each category in TORA is represented by one or more types of events. Events are logged into tables based upon their success or failure rate. These events are then normalized to generate information, which can be used by the trust agent. If Cs represents the accumulative sum of successful events of a category and Cf signifies the accumulative sum of failed events of a category, then the normalized value Ci would be equal to:

Where Ci represents one of the events being considered for the computation of a category In the same way all events representing a single category are logged and normalized. By normalizing the values of recorded events we limit the trust values between 1 to +1. If the number of failures is higher than successes for an event then negative values for trust can also occur. A trust value of 1 corresponds to complete distrust; a value of 0 implies a noncontributing event and a value of +1 means absolute trust in a particular event. These normalized events are then allocated weights depending upon their usefulness and significance. The Situational Trust Txy(n) in node y by node x for trust category n is computed using the following equation:

1.5 organization of the report:


We have used a simple, flexible and pragmatic trust model for computing trustworthy routes in TORA based ad-hoc networks. The trust model requires two types of inputs. The first input is the direct trust information that is extracted from the communication that takes place with other nodes. The direct trust gives maximum information regarding the immediate neighbors and limited information about the nodes beyond one hop. The second type of input is the indirect trust that is requested and received in the form of trust reputations. These trust reputations provide the nodes with vital information regarding trust levels of other nodes beyond a single hop. However, malicious nodes may exploit this mechanism of trust exchange by overwhelming other nodes with a large number of fabricated requests for reputation. In order to suppress the rate of fictitious requests, we employ Hash Cash tokens that inherently limit the number of recommendation request packets, which can be generated over a certain interval. Depending upon the weighting of different types of recommendations, the amount of work required for each token to be generated can be set interactively or non-interactively. In the interactive setting, it is possible to dynamically adjust the amount of work that the REQUESTER is required to perform based upon the RECOMMENDER CPU load. By using an interactive Hash Cash scheme during peak times of CPU load, Denial of Service attacks can be effectively countered in an adhoc network. The verification of a token by a RECOMMENDER requires trivial effort in comparison to the effort required for the generation of a token by the REQUESTER. The collision size of the token can also be increased or decreased based upon the hostility of the environment. Such a policy restrains malicious nodes from overloading the system with deceptive recommendation request packets. In the same way, the receipt of a token along with a packet not only provides the proof-of-effort by the sender but also justifies the assignment of a higher trust value to the sender of the token.

The packet overhead is likely to increase for Trusted TORA due to increase in the number of REC_REQ and REC_REP packets generated in order to acquire the reputation of other nodes. Decreasing the frequency of execution of the Reputation Exchange protocol can lower this overhead but at the cost of delayed trust update interval. Research is currently underway to integrate the REC_REQ and REC_REP packets with the existing TORA routing packets so as to reduce the overall packet overhead.

Chapter 2: literature survey

OSI& TCP\IP reference model The TCP/IP model is a descriptive framework for computer network protocols created in the 1970s by DARPA, an agency of the United States Department of Defense. The name derives from the two most important protocols of the networking protocol suite, the Transmission Control Protocol (TCP) and the Internet Protocol (IP). The model evolved from the operational principles of the ARPANET, which was an early wide area network and a predecessor of the Internet. The TCP/IP model is formalized in the Internet protocol suite and is sometimes called the Internet model or the DoD model. The TCP/IP model describes a set of general design guidelines and implementations of specific networking protocols to enable computers to communicate over a network. TCP/IP provides endto-end connectivity specifying how data should be formatted, addressed, transmitted , routed and received at the destination. Protocols exist for a variety of different types of communication services between computers. TCP/IP has four abstraction layers as defined in RFC 1122. This layer architecture is often compared with the seven-layer OSI model; using terms such as Internet reference model, incorrectly, however, because it is descriptive while the OSI model was intended to be prescriptive, hence being a reference model.

Wired computer networks: Advantage:


1. Security
o

One of the advantages of a wired network is the security that being wired provides. Wireless networks are fairly easy for a determined individual to snoop into, or to steal bandwidth from, if they wish. Wired networks require you to actually hook your computer into the network and to access it that way. Additionally, if you want to keep users off your wired network all you have to do is make sure that there's no outside connection (such as an Internet connection) and your network is isolated from other computer networks.

Speed
o

Wired networks tend to be faster than wireless networks, according to netgear.co.uk. While you do have to be physically wired into a physical network, the cables and wires can transmit signals much faster than the radio waves that wireless networks use. Additionally the equipment in a wired network tends to work up to its maximum potential more often than the equipment in a wireless network. All of this leads to a lack of lag and much better transmission time. Cost

Wired networks also tend to be cheaper than wireless networks, according to web-articles.info. This is because the equipment that you need to make a wired network has been out for some time, thus it doesn't cost as much as the newer, wireless technology. A wireless network adapter costs anywhere from $50 on up, whereas a part that serves the same function in a wired network might cost between $10 and $20. For those who are looking to put together a bargain-basement network, a wired network is definitely much more inexpensive.

Ad-hoc routing protocol


An ad-hoc routing protocol is a convention, or standard, that controls how nodes decide which way to route packets between computing devices in a mobile ad hoc network . In ad-hoc networks, nodes are not familiar with the topology of their networks. Instead, they have to discover it. The basic idea is that a new node may announce its presence and should listen for announcements broadcast by its neighbors. Each node learns about nodes nearby and how to reach them, and may announce that it, too, can reach them. Note that in a wider sense, ad hoc protocol can also be used literally, that is, to mean an improvised and often impromptu protocol established for a specific purpose.

Table driven routing protocols This type of protocols maintains fresh lists of destinations and their routes by periodically distributing routing tables throughout the network. The main disadvantages of such algorithms are: 1. Respective amount of data for maintenance. 2. Slow reaction on restructuring and failures.

On demand routing protocols:


On-Demand Routing (ODR) is an enhancement to Cisco Discovery Protocol (CDP), a protocol used to discover other Cisco devices on either broadcast or non-broadcast media. With the help of CDP, it is possible to find the device type, the IP address, the Cisco IOS version running on the neighbor Cisco device, the capabilities of the neighbor device, and so on. In Cisco IOS software release 11.2, ODR was added to CDP to advertise the connected IP prefix of a stub router via CDP. This feature takes an extra five bytes for each network or subnet, four bytes for the IP address, and one byte to advertise the subnet mask along with the IP. ODR is able to carry Variable Length Subnet Mask (VLSM) information

Hybrid routing protocols


Hybrid Routing, commonly referred to as balancedhybrid routing, is a combination of distance-vector routing, which works by sharing its knowledge of the entire network with its neighbors and link-state routing which works by having the routers tell every router on the network about its closest neighbors. Hybrid Routing is a third classification of routing algorithm. Hybrid routing protocols use distance-vectors for more accurate metrics to determine the best paths to destination networks, and report routing information only when there is a change in the topology of the network. Hybrid routing allows for rapid convergence but requires less processing power and memory as compared to link-state routing.

Advantages:
That of an on-demand routing protocol create a DAG only when necessary. Multiple paths created. Good in dense networks.

Disadvantages
Same as on-demand routing protocols. Not much used since DSR and AODV outperform TORA. Not scalable by any means.

Вам также может понравиться