cs 260: seminar in computer science topic: mobile ad hoc networks instructor: srikanth krishnamurthy...

34
CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m.

Post on 22-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

CS 260: Seminar in Computer Science

Topic: Mobile Ad Hoc Networks

Instructor: Srikanth Krishnamurthy

Tuesday, Thursday 2:10 p.m. – 3:30 p.m.

Page 2: 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: [email protected]

• 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.

Page 3: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 5: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 6: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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”.

Page 7: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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)

Page 8: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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

Page 9: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 11: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 13: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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 !

Page 14: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

Routing Preview• DISTANCE VECTOR ROUTING

• Based on Bellman Ford Method

• RIP is based on this !

• Let us consider an example !

Page 15: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Destination Link Hop count

A 4 2

B 4 2

C 4 1

D local 0

E 6 1

Page 16: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

A

E

B

C

D

Link 1

Link 6

Link 2

Link 4

Link 3 Link

5

Broken

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.

Page 17: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

•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.

Page 18: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 19: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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 ?

Page 20: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

A

E

B

C

D

Link 1

Link 6

Link 2

Link 4

Link 3 Link

5

Broken

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 !

Page 21: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 22: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

• 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.

Page 23: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

• 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 ?

Page 24: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

• 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”.

Page 25: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 26: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 27: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

Routing Tables at Node A prior to Node X’s migration

Destination

Next Hop Cost Sequence Number

A A 0 666

B B 1 403

C C 1 102

D C 2 549

E C 2 440

X B 2 331

Page 28: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

• 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.

Page 29: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

Routing Tables at Node A prior to Node X’s migration

Destination

Next Hop Cost Sequence Number

A A 0 746

B B 1 538

C C 1 212

D C 2 633

E C 2 540

X C 3 424

Page 30: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 31: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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).

Page 32: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.

Page 33: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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

Page 34: CS 260: Seminar in Computer Science Topic: Mobile Ad Hoc Networks Instructor: Srikanth Krishnamurthy Tuesday, Thursday 2:10 p.m. – 3:30 p.m

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.