Академический Документы
Профессиональный Документы
Культура Документы
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:
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.
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,
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:
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.
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.
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.
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.
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.