340 likes | 373 Views
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 E-Mail: krish@cs.ucr.edu Office Hours: Wednesdays 10 a.m. to 11 a.m. No class on Thursday 4 th October. RECOMMENDED BOOK:
E N D
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 E-Mail: krish@cs.ucr.edu • Office Hours: Wednesdays 10 a.m. to 11 a.m. • No class on Thursday 4th 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 19th 2001 • Presentations by Students From Nov 22nd to Dec 6th. 15 Minute Presentations + 5 Minutes for Questions.
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 802.11 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.
Node X Range of 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 !
D A Link 2 Link 4 C Link 1 Link 6 B Link 3 Link 5 E • 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.
D A Broken Link 4 Link 2 C Link 1 Link 6 Broken B Link 3 Link 5 E 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 ?
D A Broken Link 4 Link 2 C Link 1 Link 6 Broken B Link 3 Link 5 E 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: • The new route is used for sending packets. • 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.
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.
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(n2). • 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 234-244, October 1994. • http://citeseer.nj.nec.com/perkins94highly.html
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.