CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m.
Info My Office Hours: Wednesdays 10 a.m. to 11 a.m. No class on Thursday 4 th October. RECOMMENDED BOOK: AD HOC NETWORKING by Charlie Perkins Covers only Routing A good reference. Collection of papers – you might find them on web.
Course Details Discussions based Evaluation by means of Project 60 % for Report 30 % for Presentation 10 % for Participation/ Discussion Report Due Date: November 19 th 2001 Presentations by Students From Nov 22 nd to Dec 6 th. 15 Minute Presentations + 5 Minutes for Questions.
ABSOLUTELY NO EXTENSIONS
What do I expect in the project? Could be Study Oriented It should be excellent ! Simulations New stuff though! If you are doing simulations, no point in repeating other peoples work. Implementations Difficult – need not be original Lack of resource may be a problem. Ultimately your enthusiasm is what counts. You can do joint projects but individual presentations.
What I expect to Cover Discussion on what is happening in the area of Mobile Ad Hoc Networks. I expect great class participation. Nothing etched in stone – open opportunities for research and innovation. No consensus yet on the way things ought to be done. What I leave out you might cover in your presentations. Attendance for “your” colleague’s presentations is used as a criteria for points on “class participation”.
Topics Ad Hoc Networks – An Introduction Routing in Ad Hoc Networks Table Driven Routing Destination Sequenced Distance Vector (DSDV) Source Tree Adaptive Routing (STAR) On Demand Routing Temporally Ordered Routing Algorithm (TORA) Dynamic Source Routing (DSR) Ad hoc On-demand Distance Vector (AODV)
Topics Routing in Ad Hoc Networks Hybrid Routing – Zone Routing Protocol Location Aided Routing (LAR, DREAM) Clustering Open Issues – Heterogeneity, Scalability Medium Access Control The Standard, What are the Issues ? Open Problems
Topics Multicasting On Demand Multicast Routing Protocol (ODMRP) Core Assisted Mesh Protocol (CAMP) Wireless Ad Hoc Real-Time Multicast (WARM) TCP for Ad hoc Networks Challenges Explicit Failure Notifications Split TCP and use of Proxies Power Management in Ad Hoc Networks – How ? Why? Security in Ad Hoc Networks.
Motivation TO MAKE A DIFFERENCE
Ad Hoc Networks Ad Hoc Networks consist of peer to peer communicating nodes (possibly mobile) – no infrastructure. Topology of the network changes dynamically – links appear and disappear dynamically. Find application in military deployments, rescue operations, electronic classrooms etc. Can be interfaced with the Internet. Easy to deploy but difficult to maintain.
Range of Node X Node X
Differences from Wire-line networks Links are unstable – break and form often Routing Methods need to be changed. Multicasting is more challenging TCP may not work well. A large number of users trying to access a “broadcast” channel. No Centralized Controller such as a base station in cellular networks Medium Access control is a challenge. More difficult to make it secure !
Routing Preview DISTANCE VECTOR ROUTING Based on Bellman Ford Method RIP is based on this ! Let us consider an example !
A E B C D Link 1 Link 6 Link 2 Link 4 Link 3 Link 5 Consider D Initially nothing in routing table. When it receives an update from C and E, it notes that these nodes are one hop away. Subsequent route updates allow D to form its routing table. DestinationLinkHop count A42 B42 C41 Dlocal0 E61
A E B C D Link 1 Link 6 Link 2 Link 4 Link 3 Link 5 Broken Network partitions into two isolated islands Disadvantage of Distance Vector Routing is formation of loops. Let Link 2 break, and after some time let link 3 break.
After Link 2 is broken, Node A routes packets to C, D, and E through Node B. Node B detects that Link 3 is broken. It sets the distance to nodes C, D and E to be infinity. Let Node A in the meantime transmit a update saying that it can reach nodes C, D, and E with the appropriate costs that were existing before – i.e., via Node B. Node B thinks it can route packets to C, D, and E via Node A. Node A thinks it can route packets to C, D, and E, via Node B. A routing loop is formed – Counting to Infinity problem. Methods that were proposed to overcome this – Split Horizon and Split Horizon with poisonous reverse.
Destination Sequenced Distance Vector (DSDV) Invented by Charlie Perkins and Pravin Bhagwat Why ? Loops are caused more often. Split-Horizon or Split Horizon with Poisonous reverse require interface info. In Wireless there is usually only one interface ! – Channel is broadcast in nature. Other methods (see book/paper) require co-ordination among nodes that would be difficult if topological changes are frequent. DSDV does not require nodes to be synchronized.
MAIN IDEA: Each routing table entry is tagged with a “sequence number” that is originated by the corresponding destination node in that entry. -- Did you get it ? --- This ensures that the “freshest” update is maintained. In our previous example what happens ?
A E B C D Link 1 Link 6 Link 2 Link 4 Link 3 Link 5 Broken Network partitions into two isolated islands Node A’s update is stale !!! Sequence number indicated for nodes C,D, and E is lower than the sequence number maintained at B. Looping avoided !
DSDV : Nitty Gritty Details In DSDV, each routing table update will contain for each destination node X: # The address of the destination node X # The number of hops required to reach node X # The latest sequence number information received with regards to node X This sequence number would have “originated” at node X. Of all the paths with the same sequence number the one with the minimal cost is chosen as the route.
When a link is found broken, the cost to any destination that is routed via this hop is set to infinity. A new broadcast routing packet is created. For each such destination a new sequence number is assigned. This sequence number is greater than the latest sequence number generated by the destination by “one”. When a node receives a message with an infinite cost metric, if it has an entry indicating a sequence number equal to or greater than the one advertised, it triggers a new broadcast with that sequence number.
This enables the node (the one which sent the initial broadcast message) to know of an alternate path to the destination. If indeed an alternate path exists, it is found ! It is possible that a node receives multiple updates with the same sequence number for a destination. It is also possible due to timing skews etc. that a route with a “bad metric” is obtained before the route with “the best” metric. Do we send an update for every metric ? Could lead to congestion in the network !! Remember – wireless bandwidth is scarce ---- why ?
Thus, each node waits for sometime before propagating an update. – hopefully an update that gives the route with the best metric is obtained before this “time”. Thus, if a new routing update is received and the cost indicated in the update is higher than the cost of the path to that destination, currently stored then: o The new route is used for sending packets. o But the new route is not advertised until a pre- determined time. Thus, the node maintains two routing tables : one for routing and the other to be included in advertisements. The time up to which the node has to wait is called the “damping time”.
Routing Information Packets Two types Full Dump Carries the entire routing table. This is transmitted infrequently. Incremental update Carries only the information with regards to changes in routing tables. Broadcasted more often.
An Example In this example node X moves from its first position where it is a neighbor of node B to a new position where it is a neighbor of node E.
Routing Tables at Node A prior to Node X’s migration DestinationNext HopCostSequence Number AA0666 BB1403 CC1102 DC2549 EC2440 XB2331
The sequence number entry indicates the last sequence number received from that destination. When Node X moves, it would generate a new route update that is sent to Node E. Node E would propagate this to Node C, which in turn propagates this to the other nodes. Note: In the interim many intermediate changes would have occurred (e.g. Node B detects that the link to Node X is broken) and this would trigger other route updates. Thus, sequence numbers associated with other destinations would have changed as well.
Routing Tables at Node A prior to Node X’s migration DestinationNext HopCostSequence Number AA0746 BB1538 CC1212 DC2633 EC2540 XC3424
Purging Route Table Entries In order to ensure that routing table entries don’t become stale, they will have to be purged if no updates are received. An additional column is included in the routing table to indicate the time at which the previous update was received (or to indicate when the entry is to be purged). If the entry is not refreshed in a timely fashion, the entry is purged and the corresponding cost to that destination is set to infinity. A route update is generated to indicate this.
Complexity Each node’s update has to reach every other node in the network. Thus, if there are “n” nodes in the network, the number of messages grows as O(n 2 ). The memory storage at each node is O(n).
Advantages / Disadvantages Simple to implement Fairly good overhead/ storage It may take time before a node gets to know of a change. Frequent updates may be necessary if the topology of the network changes often. Not scalable – limited to small / medium sized networks. Optimal values for purge interval, interval between updates etc. may be dynamic – difficult to estimate.
References Chapter 3 of Reference book. C.Perkins and P.Bhagwat, “Highly Dynamic Destination-Sequenced Distance-Vector (DSDV) Routing for Mobile Computers”, Computer Communication Review, pp , October
Calvin : Dad, will you explain the theory of relativity to me? I don't understand why time goes slower at great speed. Dad : It's because you keep changing time zones. See, if you fly to California, you gain three hours on a five-hour flight, right? So if you go at the speed of light, you gain more time, because it doesn't take as long to get there. Of course, the theory of relativity only works if you're going west.