COP 5991 OPERATING SYSTEMS FALL 2004 TERM FINAL PROJECT “Survey Study on Ad Hoc Networks” Prepared by: SELIM KALAYCI Florida International University School of Computer Science skala001@cs.fiu.edu 12/02/2004 1- INTRODUCTION As the wireless network technology exploded, it has opened a new view to users and expanded the information and application sharing very conveniently and fast. Mobile ad hoc networks (MANETs) use wireless technology without a pre-existing infrastructure (access points). As the name states, MANETs consists of mobile nodes, which can vary from notebooks, PDAs to any electronic device that has the wireless RF transceiver and message handling capability. Mobility and no-infrastructure forms the basis of this network type. Mobility gives maximum freedom to users, as they can be connected to the network, whether they are fixed or moving, unless they are in the range of the network. Also, it is highly dynamic, as the new nodes come, they can be connected to the network very easily. Unlike the fixed networks or traditional wireless networks, MANETs don’t need any infrastructure to create and maintain communication between nodes. This property provides the ability to create a network in very unexpected and urgent situations very quickly, also without any extra cost. 2- STRUCTURE OF AD HOC NETWORKS As we said any electronic device that has the wireless transmission capability with proper processing hardware can be a part of a MANET. So, firstly the nodes have to have RF wireless transceivers as the network interface. But since the wireless transmission ranges according to transmission type of the antenna (omnidrectional, bidirectional), and the variations between transceivers at different nodes effect the network structure of the MANETs. However, members of the MANETs can be fixed without any constraint, they consist of mobile nodes. So, their processing capability is limited. Also, power consumption of the mobile nodes is a very great factor on the structure of the MANETs. So, to make MANETs applicable and get maximum performance from them, we have to consider these two factors, and design any algorithms appropriately. MANETs are autonomous and decentralized networks. So, they can operate no matter which nodes are connected or not connected to the network. Connectivity of nodes only affects the topology and routing of the network, not the general operations. Since, MANETs don’t have any centralization, operations are done distributed, so each node has to have sufficient information about the network and have to operate independently. Two nodes that want to communicate with each other can send and receive messages directly, if they are both in their transmission range. Otherwise, every node is also capable to be a router, and the messages between nodes are relayed by the intermediate nodes, from the originator of the message to the destination. Since the nodes are mobile and the members of the network changes without any notice, the network structure is very dynamic. So, the route the messages are sent by, are dynamic also. Routing is a very vital and performance critic issue for ad hoc networks. So, we are going to handle that procedure in deep. Why Ad Hoc Networks ? Ease of deployment Speed of deployment Decreased dependence on infrastructure Basically, these three facilities of Ad Hoc Networks makes us improve and use them efficiently. Challenges Although MANETs have some simplifications in design, we have some issues that affects the feasibility and performance of MANETs. Most important ones are, namely: Limited and variable wireless transmission range. Broadcast nature of the wireless medium. Packet losses due to transmission errors. No centralized administration or standard support services. Route changes because of the dynamic structure of MANETs (mobility) which may cause to loss of packets Nodes with limited power Potential network partitions due to mobility and structure of wireless medium Security issues Usage Scenarios and Scalability of Ad Hoc Networks Ad hoc networks may have different usage scenarios. In [2], it is divided into 4 subcategories: Enterprise networks Hot spot networks Community networks Home/Apartment networks But, also we know that it is used in military environments, emergency operations, meeting (e.g. conference) halls, etc. This information is important, because each of these scenarios has specific values for some parameters existing in every ad hoc network, and these parameters affect the usage, performance and feasibility of ad hoc networks very dramatically. These parameters are divided into 3 subcategories in [3]: 1. Independent parameters Number of nodes Node density Traffic load Mobility 1/(Physical size of nodes) 2. Primary metrics: these are the observed parameters as the independent parameters change Throughput of the network Packet delay in the network Power consumption at nodes Memory/storage at nodes Processing load at nodes 3. Environmental parameters Network characteristics: mobility pattern of the nodes, location of nodes, etc. Traffic pattern Routing layer Medium access layer Physical layer Node characteristics For ex. number of nodes is very different in a home network and an enterprise network, or mobility of nodes is definitely different in military environment and hot spot networks, etc. Also, the consideration for each scenario varies. For ex. in a home network, throughput of the network could be the most important metric, while security is vital for military environment networks. One very important issue in ad hoc networking is the scalability. While scalability of an ad hoc network algorithm/method can be measured in a variety of ways, we can define it as the efficiency of the algorithm/method as the parameter converges to infinity (or more realistically, the maximum value for that parameter that can be seen). Scalability is a great tool for efficiency measurement of a method or an algorithm for ad hoc networks. So, any proposed method/algorithm should be scalable according to above parameters, especially for independent parameters. Because, independent parameters can change independently from any other parameter, at very unpredicted levels. According to above definitions and classifications, we can see that scalability of an algorithm/method can be optimized by considering the network’s usage area. Since, it is not impossible to make an ad hoc network algorithm/method (e.g. routing protocol), one can predict the upper and lower bounds for the parameters at the usage context and design his algorithm accordingly. 3- AD HOC NETWORK ROUTING PROTOCOLS Why is Routing in MANET different? Conventional routing protocols are not designed for highly dynamic, low bandwidth networks. They are not suitable for MANETs, basically because of: Host mobility: link failure/repair due to mobility may have different characteristics than those due to other causes Rate of link failure/repair may be high when nodes move fast New performance criteria may be used: e.g. route stability despite mobility, energy consumption Loop formation during temporary node failures and network partitions Protocols that use flooding techniques (for ex. Link State alg.) create excessive traffic and control overhead Unicast Routing Protocols We will discuss and see examples of unicast (from single sender to single destination) routing protocols. Many protocols have been proposed, some of them have been invented specifically for MANETs, and others are adapted from previously proposed protocols for wired networks. Generally, it is the case that a node does not send a message to a specific node, because of network topology discovery purposes. Then the transmission is done primarily by using flooding technique. That is the transmission of the message without designating a destination node and sending to any available node at the transmission range of the sender. This technique is very useful method for neighbor discovery. Neighbor nodes for a node S are the nodes that S can send/receive message directly. Flooding technique works basically as follows: Sender S broadcasts data packet P to all its neighbors Each node receiving P forwards P to its neighbors Packet P reaches destination D, eventually, if D is reachable from sender S (there is a path between D and S) Node D gets the packet, and it does not flood further. Since, same nodes may receive the same packet through various nodes, sequence numbers are used to avoid the possibility of forwarding the same packet more than once. Advantages of Flooding Very simple technique May be more efficient than first determining the path between sender and receiver and then sending the message, when the network topology changes very frequently and the frequency of message transmission is low. Potentially higher reliability of data delivery, because packets may be delivered to the destination on multiple paths Disadvantages of Flooding Very high overhead: Data packets may be delivered to too many nodes that are irrelevant to message transmission. If number of nodes is large, in the network, flooding of different packets may limit the bandwidth of the network, and also since each node receives high number of packets, it increases processing and power consumption at each node. Potentially lower reliability of data delivery: Flooding uses broadcasting, and broadcasting in IEEE 802.11 MAC is unreliable. For example, if two nodes transmit to same destination node simultaneously, packets are lost due to collision. In this case, destination would not receive the packet at all. Flooding of Control Packets Besides its simplicity, because flooding is not scalable and causes high overhead, most protocol uses flooding to deliver control packets, not for data delivery. These control packets are generally used for discovering routes, or constructing routing tables. Ad Hoc Network Routing Protocol Categories There are different algorithms and implementations which differ basically in route discovery. According to route discovery methods, we can classify these protocols like this: Proactive (table-driven) protocols Reactive (on-demand) protocols Hierarchical protocols Geographical protocols Power aware protocols And here is a protocol list for these categories that can be seen in full description at http://www.fact-index.com/a/ad/ad_hoc_protocol_list.html. Proactive (table-driven) protocols: CGSR (Clusterhead Gateway Switch Routing protocol) - Clusterhead Gateway Switch Routing protocol (CGSR) [Murthy96] S. Murthy and J.J. Garcia-LunaAceves, "An Efficient Routing Protocol for Wireless Networks", ACM Mobile Networks and App. J., Special Issue on Routing in Mobile Communication Networks, Oct. 1996, pp. 183-97. http://www.ics.uci.edu/atm/adhoc/papercollection/aceves-routing-winet.pdf DBF (Distributed Bellman-Ford routing protocol) - SHREE MURTHY, J.J. GARCIA-LUNA-AVECES Distributed Bellman-Ford routing protocol (DBF), A Routing Protocol for Packet Radio Networks, Proc. ACM International Conference on Mobile Computing and Networking, pp. 86-95, November, 1995. http://citeseer.nj.nec.com/murthy95routing.html DSDV (Higly Dynamic Destination-Sequenced Distance Vector routing protocol) - C. E. PERKINS, P. BHAGWAT Higly Dynamic Destination-Sequenced Distance Vector (DTDV) for Mobile Computers Proc. of the SIGCOMM 1994 Conference on Communications Architectures, Protocols and Applications, Aug 1994, pp 234-244. HSLS (Hazy Sighted Link State routing protocol) - CESAR SANTIVANEZ AND RAM RAMANATHAN Hazy Sighted Link State routing protocol (HSLS),BBN Technical Memorandum No. 1301, August 31, 2001. HSR (Hierarchical State Routing protocol) - ALAN O'NEILL HONGYI LI HIERARCHICAL STATE ROUTING PROTOCOL Internet Draft, draft-oneill-lihsr-00.txt http://alternic.net/drafts/drafts-o-p/draft-oneill-li-hsr-00.txt Distance Source Distance Vector routing protocol (DSDV) LCA (Linked Cluster Architecture) - M. GERLA, J. T. TSAI Multicluster, Mobile, Multimedia Radio Network ACM Wireless Networks, VOl 1, No.3, 1995, pp. 255265 MMRP (Mobile Mesh Routing Protocol) - K. GRACE Mobile Mesh Routing Protocol (MMRP), http://www.mitre.org/work/tech_transfer/mobilemesh/ OLSR (Optimized Link State Routing Protocol) - PHILIPPE JACQUET, PAUL MUHLETHALER, AMIR QAYYUM, ANIS LAOUITI, LAURENT VIENNOT, THOMAS CLAUSEN Optimized Link State Routing Protocol Internet Draft, draftietf-manet-olsr-04.txt, work in progress, June 2001. STAR (Source Tree Adaptive routing protocol) - J.J. GARCIA-LUNA, M. SPOHN Source Tree Adaptive Routing Internet Draft, draft-ietf-manet-star-00.txt, work in progress, October 1999. TBRPF (Topology Broadcast based on Reverse-Path Forwarding routing protocol) - BHARGAV BELLUR, RICHARD G. OGIER, FRED L. TEMPLIN Topology Broadcast Based on Reverse-Path Forwarding (TBRPF) Internet Draft, draft-ietf-manet-tbrpf-01.txt, work in progress, June 2001. WRP (Wireless Routing Protocol) - Wireless Routing Protocol (WRP) [Chen98] Tsu-Wei Chen and Mario Gerla, "Global State Routing: A New Routing Scheme for Ad-hoc Wireless Networks" Proc. IEEE ICC'98, 5 pages. http://www.ics.uci.edu/atm/adhoc/paper-collection/gerla-gsr-icc98.pdf Reactive (on-demand) protocols ARA (Ant-based Routing Algorithm for Mobile Ad-Hoc Networks) - Mesut Günes et. al., ARA - the ant-colony based routing algorithm for manets, In Stephan Olariu, editor, Proceedings of the 2002 ICPP Workshop on Ad Hoc Networks (IWAHN 2002), pages 79-85, IEEE Computer Society Press, August 2002, http://www.adhoc-nets.de ABR (Associativity Based Routing protocol) - C.-K. TOH ASSOCIATIVITYBASED LONG-LIVED ROUTING (ABR) PROTOCOL , Internet Draft, http://www.watersprings.org/pub/id/index-wgm.html AODV (Ad hoc On Demand Distance Vector routing protocol) - C. PERKINS, E.ROYER AND S. DAS Ad hoc On-demand Distance Vector (AODV) Routing, Internet Draft, draft-ietf-manet-aodv-11.txt, work in progress, Aug 2002. BSR (Backup Source Routing protocol) - SONG GUO, OLIVER W. YANG Performance of Backup Source Routing (BSR) in mobile ad hoc networks p 440444, Proc. 2002 IEEE Wireless Networking Conference CHAMP (CacHing And MultiPath routing protocol) - ALVIN C. VALERA, WINSTON K.G. SEAH AND S.V. RAO, CHAMP: A Highly-Resilient and EnergyEfficient Routing Protocol for Mobile Ad hoc Networks. In Proceedings of the 5th IEEE Conference on Mobile and Wireless Communications Networks (MWCN 2002), Stockholm, Sept 9 - 11, 2002. Available from: http://www.icr.astar.edu.sg/~cwcpub/zfiles/ty-mwcn3.pdf DSR (Dynamic Source Routing protocol) - D. JOHNSON, D. MALTZ, Y-C. HU AND J. JETCHEVA: The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks, Internet Draft, draft-ietf-manet-dsr-09.txt, work in progress, April 2003. DSRFLOW (Flow State in the Dynamic Source Routing protocol) - YIH-CHUN HU, DAVID B. JOHNSON, DAVID A. MALTZ Flow State in the Dynamic Source Routing Protocol Internet Draft, draft-ietf- manet-dsrflow-00.txt, work in progress, June 2001. FORP (Flow Oriented Routing Protocol) LBR (Link life Based routing), B. S. Manoj, R. Ananthapadmanabha, and C. Siva Ram Murthy, "Link life Based Routing Protocol for Ad hoc Wireless Networks", Proc. of The 10th IEEE International Conference on Computer Communications 2001 (IC3N 2001), October 2001. LMR (Lightweight Mobile Routing protocol) - M.S. CORSON AND A. EPHREMIDES Lightweight Mobile Routing protocol (LMR) ,A distributed routing algorithm for mobile wireless networks, Wireless Networks 1 (1995). LUNAR (Lightweight Underlay Network Ad hoc Routing) - CHRISTIAN TSCHUDIN AND RICHARD GOLD Lightweight Underlay Network Ad hoc Routing (LUNAR), http://www.docs.uu.se/selnet/lunar/ MOR (Multipath On-demand Protocol) RDMAR (Relative-Distance Micro-discovery Ad hoc Routing protocol) - G. AGGELOU, R. TAFAZOLLI Relative Distance Micro-discovery Ad Hoc Routing (RDMAR) protocol Internet Draft, draft-ietf-manet- rdmar-00.txt, work in progress, September 1999. SSR (Signal Stability Routing protocol) - R. DUBE, C. D. RAIS, K. WANG, AND S. K. TRIPATHI Signal Stability based adaptive routing (SSR alt SSA) for ad hoc mobile networks, IEEE Personal Communication, Feb. 1997. http://citeseer.nj.nec.com/dube97signal.html TORA (Temporally-Ordered Routing Algorithm routing protocol) - V. PARK, S. CORSON TEMPORALLY-ORDERED ROUTING ALGORITHM (TORA) VERSION 1 Internet Draft, draft-ietf-manet-tora-spec- 03.txt, work in progress, June 2001. PLBR (Preferred link based routing)-- R. S. Sisodia, B. S. Manoj, and C. Siva Ram Murthy, "A Preferred Link Based Routing Protocol for Ad Hoc Wireless Networks", Journal of Communications and Networks, Vol. 4, No. 1, pp. 14-21, March 2002. Hierarchical protocols: CBRP (Cluster Based Routing Protocol) - M. JIANG, J. LI, Y. C. TAY Cluster Based Routing Protocol (CBRP) Functional Specification Internet Draft, draftietf-manet-cbrp.txt, work in progress, June 1999. CEDAR (Core Extraction Distributed Ad hoc Routing) - RAGHUPATHY SIVAKUMAR, PRASUN SINHA, VADUVUR BHARGHAVAN Core Extraction Distributed Ad hoc Routing (CEDAR) Specification, Internet Draft, draft-ietfmanet-cedar-spec-00.txt DDR (Distributed Dynamic Routing Algorithm) - NAVID NIKAEIN, HOUDA LABIOD, CHRISTIAN BONNET Distributed Dynamic Routing Algorithm (DDR) for Mobile Ad Hoc Networks, in proceedings of the MobiHOC 2000 : First Annual Workshop on Mobile Ad Hoc Networking & Computing http://www.eurecom.fr/~nikaeinn/ddr.ps GSR (Global State Routing protocol) - Global State Routing protocol (GSR) [Iwata99] A. Iwata, C.-C. Chiang, G. Pei, M. Gerla, and T.-W. Chen, "Scalable Routing Strategies for Ad Hoc Wireless Networks" IEEE Journal on Selected Areas in Communications, Special Issue on Ad-Hoc Networks, Aug. 1999, pp.1369-79. http://www.cs.ucla.edu/NRL/wireless/PAPER/jsac99.ps.gz FSR (Fisheye State Routing protocol) - MARIO GERLA, GUANGYU PEI, XIAOYAN HONG, TSU-WEI CHEN Fisheye State Routing Protocol (FSR) for Ad Hoc Networks Internet Draft, draft-ietf-manet-fsr-00.txt, work in progress, June 2001. HARP (Hybrid Ad Hoc Routing Protocol) - NAVID NIKAEIN, CHRISTIAN BONNET, NEDA NIKAEIN Hybrid Ad Hoc Routing Protocol - HARP, in proceeding of IST 2001: International Symposium on Telecommunications http://www.eurecom.fr/~nikaeinn/harp.ps HSR (Host Specific Routing protocol) LANMAR (Landmark Routing Protocol for Large Scale Networks) - MARIO GERLA, XIAOYAN HONG, LI MA, GUANGYU PEI Landmark Routing Protocol (LANMAR) Internet Draft, draft-ietf-manet- lanmar-01.txt, work in progress, June 2001. ZRP (Zone Routing Protocol protocol) - ZYGMUNT J. HAAS, MARC R. PEARLMAN, PRINCE SAMAR THE BORDERCAST RESOLUTION PROTOCOL (BRP) Internet Draft, draft- ietf-manet-zone-zrp-04.txt, work in progress, July 2002. BRP (Bordercast Resolution Protocol) - ZYGMUNT J. HAAS, MARC R. PEARLMAN, PRINCE SAMAR THE BORDERCAST RESOLUTION PROTOCOL (BRP) Internet Draft, draft- ietf-manet-zone-brp-02.txt, work in progress, July 2002. IARP (Intrazone Routing Protocol) - ZYGMUNT J. HAAS, MARC R. PEARLMAN, PRINCE SAMAR THE INTRAZONE ROUTING PROTOCOL (IARP) Internet Draft, draft-ietf- manet-zone-iarp-02.txt, work in progress, July 2002. IERP (Interzone Routing Protocol) - ZYGMUNT J. HAAS, MARC R. PEARLMAN, PRINCE SAMAR THE INTERZONE ROUTING PROTOCOL (IERP) Internet Draft, draft-ietf- manet-zone-ierp-02.txt, work in progress, July 2002. Geographical protocols: DREAM (Distance Routing Effect Algorithm for Mobility) - S. BASAGNI, I. CHLAMTAC, V. R. SYROTIUK, B. A. WOODWARD A Distance Routing Effect Algorithm for Mobility (DREAM) In Proc. ACM/IEEE Mobicom, pages 76-84, October 1998. GLS(Grid) (Geographic Location Service) - JINYANG LI, JOHN JANOTTI, DOUGLAS S. J. DE COUTU, DAVID R. KARGER, ROBERT MORRIS A Scalable Location Service for Geographic Ad Hoc Routing M.I.T. Laboratory for Computer Science LAR (Location-Aided Routing protocol) - Y.-B. KO, V. N. H. Location-Aided Routing in mobile Ad hoc networks In Proc. ACM/IEEE Mobicom, pages 66-75, October 1998. GPSAL (GPS Ant-Like Routing Algorithm) - Daniel Câmara, Antonio Alfredo F. Loureiro, A Novel Routing Algorithm for Hoc Networks, Baltzer Journal of Telecommunications Systems, 18:1-3, 85-100, Kluwer Academic Publishers, 2001.'' ZHLS (Zone-Based Hierarchical Link State Routing) - JOA NG, I-TAI LU ZoneBased Hierchical Link State Routing (ZHLS). An abstract routing protocol and medium access protocol for mobile ad hoc networks Submitted for partial fulfillment of the requirements for the degree of doctor of philosophy (Electrical engineering) in January 1999. Power aware protocols: ISAIAH (Infra-Structure Aodv for Infrastructured Ad Hoc networks) - ANDERS LINDGREN AND OLOV SCHELÉN Infrastructured ad hoc networks In Proceedings of the 2002 International Conference on Parallel Processing Workshops (International Workshop on Ad Hoc Networking (IWAHN 2002)). pages 64-70. August 2002. PARO (Power-Aware Routing Optimization Protocol) - J. GOMEZ, A. T. CAMPBELL, M. NAGHSHINEH, C. BISDIKIAN, T.J. WATSON POWER-AWARE ROUTING OPTIMIZATION PROTOCOL (PARO) Internet Draft, draft-gomezparo-manet-00.txt, work in progress, June 2001. http//comet.ctr.columbia.edu/~javierg/paro/draft-gomez-paro-manet-00.txt PAMAS (PAMAS-Power Aware Multi Access Protocol with Signaling Ad Hoc Networks) - S. SINGH, C.S. RAGHAVENDRA PAMAS & PAMAS-Power Aware Multi Access Protocol with Signaling Ad Hoc Networks Also, there are protocols designed for multicast routing. But, we will focus on two routing protocol strategies: Proactive protocols : We will discuss DSDV (Destination Sequenced Distance Vector Algorithm) Reactive protocols: We will discuss DSR (Dynamic Source Routing) But, first let’s give some basic ideas about Proactive and Reactive routing techniques and trade-offs between them. Proactive Protocols Keeps routing tables at each node, which is updated periodically, and the routing procedure is based on this data. One routing-table driven method is the next-hop model, which is widely used and we will focus on next-hop model. In this model, each node keeps the best next-hop node information for all destination nodes in the network. There are basically two kinds of table driven next-hop routing protocols: 1- Link-state algorithms: Each node maintains a view of network topology, with a cost for each link. Link costs are broadcasted. Each node updates its topology and applies a shortest-path algorithm to find the next-hop for each destination. Short-lived routing loops (because some link states received from other nodes can be incorrect and this can cause a short-time loops) Complex Requires large storage and requires competition, periodically. Not suitable for ad-hoc networks. 2- Distance-Vector algorithms: Each node maintains, for every destination, a set of distances to get that destination. The neighbor with the minimum distance is selected for that destination. Periodically broadcasts its routing table, containing the best next-hop for each destination, to each of its neighbors. Efficient, easier to implement and requires less storage according to LinkState algorithm. Originally produces short-lived and long-lived loops. But, modifications are proposed to handle this problem. One of them is internodal coordination, but is suitable for fixed networks. DSDV uses sequence numbers to handle this problem. Reactive Protocols No routing table or similar structure is used. Also, there is no periodic packet broadcasting and route computation. Routes are determined on-demand. Special algorithms are designed for route discovery and route maintenance. Proactive vs. Reactive Protocols Route discovery latency Proactive protocols may have lower latency since routes are maintained continuously and ready to use. Reactive protocols may have higher latency because if there is no route from S to D, it should be discovered first. Not suitable for real-time communication. Route discovery/maintenance overhead Reactive protocols may have lower overhead since routes are determined upon request Proactive protocols generally causes higher overhead due to continuous route updating Processing and Power Consumption Proactive protocols require more processing and power capabilities, because of continuous route table updating process. Even if there is no change in network topology, it is applied, which causes wasting of resources. Not scalable for large networks. Reactive protocols don’t waste resources, because communication is done when it is necessary. As a result, we can say that, which technique achieves a better trade-off depends on the traffic and mobility patterns of the network. 4- DESTINATION SEQUENCED DISTANCE VECTOR PROTOCOL (DSDV) The basic algorithm is designed as follows: Each node maintains a routing table where it keeps: Next hop towards each destination A cost metric (e.g. hop number) for the path to each destination The destination sequence number that is created by the destination itself Each node periodically forwards the routing table to its neighbors Each node appends its sequence number to outgoing local routing table This sequence number indicates the freshness of a route. Routes with the most recent sequence number (most fresh route) is used to transfer packets, if more than one route has the same sequence number, then the route with the best cost metric (e.g. smallest hop-count) is used. An example from [11]: Assume that node X receives routing information from Y about a route to node Z X Y Z Let S(X) and S(Y) denote the destination sequence number for node Z as stored at node X, and as sent by node Y with its routing table to node X, respectively Node X takes the following steps: X Y Z If S(X) > S(Y), then X ignores the routing information received from Y If S(X) = S(Y), and cost of going through Y is smaller than the route known to X, then X sets Y as the next hop to Z If S(X) < S(Y), then X sets Y as the next hop to Z, and S(X) is updated to equal S(Y) Topology changes It is not required and efficient to broadcast the whole routing table at each period. For this reason each node maintains two routing tables, full routing table, and the incremental table. Incremental table contains the most recent route modifications since the previous broadcast, and it is used for advertising route updates as long as the incremental table gets bigger. In that case, the full routing table is broadcasted instead. If a next-hop in the route of a node is broken, that link is identified by ∞, which is a specific case, and the update packet for the destination replacing that route is processed immediately and broadcasted among the network. Damping Fluctuations It is possible to get an update broadcast, then another update with the same sequence number with a better metric. In this case, both the first, and then immediately after that, the second route update should be broadcasted to all neighbors of that node, and the received nodes updates their routing table and broadcasts to their own neighbors, so on. This scheme causes an update fluctuation through whole network, which consumes the network bandwidth and processing power. So, this should be handled. To handle this problem, a node waits for a specific time; average settling time, before advertising routes, then it broadcasts the best one, to its neighbors. 5- DYNAMIC SOURCE ROUTING PROTOCOL (DSR) Routes are determined upon request. It can be taken from route cache of the node (if available), or a route discovery protocol is issued. Once a source route is constructed at the sender, the sender places this route to the packet header and then forwards the packet to the first hop in the source route. Each node upon receiving a data packet, check whether it is the destination node for the packet, if it is, it passes the packet to the upper layer software, if it is not, it forwards the packet to the next node according to the source route at the packet header. DSR basically consists of two parts: route discovery and route maintenance. Route discovery protocol If one node wants to send some data to another node, and there is no route to that node at the route cache, then a route request packet is broadcasted to the network. For each route request, the sender places a request id on the route request packet to avoid routing loops. This is done by keeping <initiator address, request id> pairs at each node, so that they can check whether they have propagated this packet before or not. Once a route request packet reaches to the destination, it accumulates the node addresses in this route to the route record, which is then reversed and sent as a route reply packet by the destination node. When an intermediate node receives a route request packet, it acts according to these 4 conditions: 1- If <initiator address, request id> pair matches with the current route request, discard the packet. 2- Else if, this host’s address is already listed in the route record, then discard the packet. 3- Else if, the destination address at the packet matches with this node’s address, then send a route reply packet to the sender. 4- Else, append the node’s address to the incoming route request packet in route record, and broadcast the packet. The destination node to send the route reply packet to the initiator of the route request packet, it must have a route to the initiator. One way to send the route reply packet is to reverse the route record in the route request packet and send through this route. But, this approach assumes that the wireless transceivers to operate bidirectional, which may not be the case. Other alternative is to use the route that has been found in the route cache of the destination node (if exists). Another approach is to piggyback this route reply packet on a route request packet that is destined at the initiator node. Route Maintenance As always, in an ad hoc network, one route that has been used for a while can be useless when there is at least one link-breakage on the route. So, that route should not be used for further transmission and must be maintained. Since most of the wireless networks supports hop-by-hop acknowledgement at the data link level, we can benefit from that information and revise the route. So, when a node can not receive a positive acknowledgement from the next-hop on that route for a long time, then that node sends a route error packet back to the owner of the data packet. When the owner of the packet receives the route error packet, the route is truncated at that hop with any other routes that contain the same hop. To send the route error packet back to the initiator, we can follow the same strategies used in transmission of route reply packets. Optimizations to the Protocol Improvements on Route Cache: Represent the entries in route cache as a tree. In this way we can get very useful improvements on routes, like shortening routes and recognizing a route from a previous route, etc. An intermediate node can add the route record on route request and route reply packets to its route cache. A node can configure its network interface into promiscuous mode and by this way, it can update its route cache with any information that it can overhear. If a node has a cached for a destination node that it received, it can append this information to the route record in the route request packet and send back to the initiator without propagating the route request packet. Piggybacking on Route Discoveries: Data can be allowed to be piggybacked by route request, route reply and route error packets. But, at this time, route requests can be replied from a node’s route cache, causing the data not to be transmitted. To avoid this, the intermediate node should consider this and forward the data portion in another packet to the destination. Improved Handling of Errors: Sometimes, the wireless network become partitioned (no connection between two groups of nodes). At this time, route request packets from one group to a node in the other group would cause an infinite number of route request attempts in the network. To reduce this effect, an exponential backoff limit is applied to each route request packet. After exceeding this limit, transmission of route request packet is not initiated until some time interval has passed from the last attempt. By using promiscuous receive mode at nodes, they can receive route error packets and extract the information that includes the broken hop in the network, and using that information, they can update their route cache reflecting the change in the network. As we said earlier, route reply packet can follow a different route than the route request packet. In this situation, the nodes that have the route information of the route error packet may not receive the route error packet, even in the promiscuous mode. Now, in this situation, we can make the original sender of the data packet to transmit this information along the data packet route to inform those nodes in the route. 6- SECURITY ISSUES IN AD HOC NETWORKS In this section, we will give some terminology and talk about security concerns on ad hoc networks. Even though some encryption and authentication methods are proposed for ad hoc networks, they are not capable of providing a secure ad hoc network, and there is a lot research going on at this subject. Motivation Security is one of the most challenging and in request issue of ad hoc networks. Have unique security problems. Mobility and limited power constraint makes security requirements different. Some Terminology on Security Data confidentiality: secrecy of data, provided by encryption. Data integrity: keeping data unaltered while sending from sender to receiver, provided by encryption. Data availability: availability of data on request. Data authentication: verification that the data came from the user that it claims to be. Security Hazards for Ad Hoc Networks Every node can be a target. No trusted peer. Decentralized and cooperative participation of all nodes. Encryption and authentication cannot eliminate threats. Security Threats for Ad Hoc Networks At the networking layer, the routing information must be protected from any attack against confidentiality, authenticity, integrity and availability of the information. Most of these are connected with encryption methods and access methods of the network. From the nature of ad hoc networks, these methods are not centralized, but rather distributed. So, the management of this information (key generation-distribution-storage, access groups, etc.) must be handled very secure. Also, the network should tolerate, at some level, the situation where some nodes become unavailable, to resume availability in network operations. Also, the threat of denial of service, which is unavoidable in most situations, can be reduced by using alternate communication paths between nodes, instead of a single path. There are several kinds of attacks threatening ad hoc networks, which are: passive attacks; like eavesdropping, active attacks; modification-deletion of in-transfer data, external attacks; denial of service attacks, and internal attacks; altering network services and routing information as an insider of the network. Classical denial of service attack is not very harmful for ad hoc networks. Because even if some nodes are flood and may not operate because of heavy data flooding, since the operations are distributed among nodes, the others can continue to operate. But, there are some worse situations in ad hoc networks, when malicious nodes alter the routing protocol inside, and send frequent routing information to the network, causing congestion, and consequently preventing the nodes to recognize the new topology of the network. Even worse, when, as a member of network, some malicious node modify the vital information like routing information, access control groups, and key management data to its own use, without recognition. This type of attack is also called Byzantine failure. When the authentication mechanism is not well designed, another kind of attack, impersonation may occur. In this attack, some malicious node joins the network and uses all the network services like a trusted party, causing very harmful and unpredicted results. Another type of attack is disclosure, which causes vital information, most probably the control data and network management data rather than the exchanged data by eavesdropping or unauthorized nodes accessing confidential information stored at a node. There are many other issues to consider at security in ad hoc networks, but the level of security is depends heavily on application area. Most of the basic ad hoc networks, does not consider security issues at all. It is considered to be specified separately from routing protocol which needs to be improved to satisfy basic ad hoc network requirements. Once the basic protocol implementation is approved to be feasible for most of ad hoc environments, they think to integrate the security implementations to that protocol. Even if this is not applied as now, it can cause unpredictable results and vulnerabilities in the system, since the protocol and security portion are not implemented concurrently. 7- CONCLUSION In this term paper, I tried to investigate a survey study on ad hoc networks. Ad hoc networks is a rapidly growing field that integrates wireless communication with distributed, de-centralized, and autonomous networks that apply to a very large application areas, ranging from personal computation to emergency and military environments. Besides its convenience, it has a lot of issues to consider. Basically, these issues start from hardware components (wireless antenna, battery) of hosts participating to the network, and then apply through networking issues like routing –which is the most studied topic in literature-, multicasting, etc. Also, security is a big drawback on this field that requires further research. 8- REFERENCES [1] Frodigh, M., Johansson, P. and Larsson, P. Wireless Ad-hoc Networking -- The Art of Networking Without a Network. Ericsson Review, 4, 2000. [2] Yang, Conner, Guo, Hazra, and Zhu, "Common wireless ad hoc network usage scenarios", Internet draft, work in progress, 2003. [3] Arpacioglu, Small, and Haas, “Notes on scalability of wireless ad hoc networks,” Internet draft, work in progress, December, 2003. [4] Corson, M. and J. Macker,”Mobile Ad Hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations”, RFC 2501 January 1999. [5] D.B. Johnson, Routing in ad hoc networks of mobile hosts, in: Proceedings of IEEE Workshop on Mobile Computing Systems and Applications (1994) pp. 158163. [6] C.E. Perkins and P. Bhagwat. Highly dynamic destination sequenced distancevector routing (DSDV) for mobile computers. In Proceedings of SIGCOMM 94, pages 234-244 August 1994. [7] Vishal Misra, Intro to Network Layer, Routing Algorithms, Course notes, for CS4119-Fall04 Computer Networks, http://www1.cs.columbia.edu/~cs4119/notes/routing-extra.ppt [8] David B. Johnson and David A. Maltz, "Dynamic Source Routing in Ad Hoc Wireless Networks," in Mobile Computing, T. Imielinski and H. Korth, Eds.: Kluwer Academic Publishers, 1996. [9] Vesa Kärpijoki, “Security in Ad hoc Networks,” http://www.tcm.hut.fi/Opinnot/Tik-110.501/2000/papers/karpijoki.pdf. [10] Ad hoc protocol list, http://www.fact-index.com/a/ad/ad_hoc_protocol_list.html [11] Nitin Vaidya, “Tutorial on Mobile Ad Hoc Networks: Routing, MAC and Transport Issues “, www.crhc.uiuc.edu/wireless/talks/draft-infocom-2004.ppt.