Network: Routing Y. Richard Yang 3/30/2011.

Slides:



Advertisements
Similar presentations
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Advertisements

MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols By Josh Broch, David A. Maltz, David B. Johnson, Yih- Chun Hu, Jorjeta.
Mobile Ad-Hoc Networks (MANET)
1 Routing in Mobile Ad Hoc Networks most slides taken with permission from presentation of Nitin H. Vaidya University of Illinois at Urbana-Champaign.
Wireless Ad Hoc Network Routing Protocols CSE Maya Rodrig.
ITIS 6010/8010 Wireless Network Security Dr. Weichao Wang.
CS541 Advanced Networking 1 Mobile Ad Hoc Networks (MANETs) Neil Tang 02/02/2009.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
TORA : Temporally Ordered Routing Algorithm Invented by Vincent Park and M.Scott Corson from University of Maryland. TORA is an on-demand routing protocol.
Aodv. Distance vector routing Belman principle AODV - overview Similar to DSR –On demand –Route request when needed and route reply when a node knows.
Ad Hoc Wireless Routing COS 461: Computer Networks
A Highly Adaptive Distributed Routing Algorithm for Mobile Wireless Networks Research Paper By V. D. Park and M. S. Corson.
Mobile Ad Hoc Networks: Routing, MAC and Transport Issues Material in this slide set are from a tutorial by Prof. Nitin Vaidya 1.
Itrat Rasool Quadri ST ID COE-543 Wireless and Mobile Networks
Mobile Routing protocols MANET
Mobile Adhoc Network: Routing Protocol:AODV
Ad-Hoc Networks. References r Elizabeth Royer and Chai-Keong Toh, " A Review of Current Routing Protocols for Ad Hoc Wireless Mobile Networks, " IEE Personal.
1 Network Routing 11/2/2009. Admin. r Exam 1 Monday Nov. 9 m Covers architecture, application and transport layers (lectures 1-16, and resource allocation.
Routing Protocols of On- Demand Dynamic Source Routing (DSR) Ad-Hoc On-Demand Distance Vector (AODV)
Routing Protocols for Mobile Ad-Hoc Networks By : Neha Durwas For: Professor U.T. Nguyen COSC 6590.
1 Dynamic Source Routing in Ad Hoc Wireless Networks David B. Johnson and David A. Maltz published in the book “Mobile Computing” 1996.
The Destination Sequenced Distance Vector (DSDV) protocol
Fault-Tolerant Papers Broadband Network & Mobile Communication Lab Course: Computer Fault-Tolerant Speaker: 邱朝螢 Date: 2004/4/20.
Asstt. Professor Adeel Akram. Infrastructure vs. multi-hop Infrastructure networks: One or several Access-Points (AP) connected to the wired network.
1 Ad Hoc On-Demand Distance Vector Routing (AODV) Dr. R. B. Patel.
SRL: A Bidirectional Abstraction for Unidirectional Ad Hoc Networks. Venugopalan Ramasubramanian Ranveer Chandra Daniel Mosse.
Traditional Routing A routing protocol sets up a routing table in routers A node makes a local choice depending on global topology.
Network Layer: Mobile, Wireless Routing Y. Richard Yang 11/29/2012.
Paper Reviews Written reviews for each paper to be discussed in class are due by noon on Fridays of the previous week The soft copy of the reviews should.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
Dynamic Source Routing in Ad Hoc Wireless Networks
Routing in Mobile Ad Hoc Network (MANET)
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Fundamentals of Computer Networks ECE 478/578
Mobile Ad Hoc Networks. What is a MANET (Mobile Ad Hoc Networks)? Formed by wireless hosts which may be mobile No pre-existing infrastructure Routes between.
Wireless Ad Hoc Network Routing Protocols
GeoTORA: A Protocol for Geocasting in Mobile Ad Hoc Networks
Author:Zarei.M.;Faez.K. ;Nya.J.M.
Mobile Computing CSE 40814/60814 Spring 2017.
Mobile Ad Hoc Networks: Introduction
DSDV Highly Dynamic Destination-Sequenced Distance-Vector Routing
Routing design goals, challenges,
A comparison of Ad-Hoc Routing Protocols
Routing Protocols in MANETs
Sensor Network Routing
Slides courtesy of Nitin Texas A&M
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
Temporally-Ordered Routing Algorithm (TORA)
Mobile and Wireless Networking
Mobile Computing CSE 40814/60814 Spring 2018.
Routing in Packet Networks Shortest Path Routing
by Saltanat Mashirova & Afshin Mahini
CSCI {4,6}900: Ubiquitous Computing
A Probabilistic Routing Protocol for Mobile Ad Hoc Networks
Mobile Ad-hoc Networks (MANET)
Folien aus: Mobile Ad Hoc Networks: Routing, MAC and Transport Issues
Communication Networks
Overview: Chapter 3 Networking sensors
Routing.
Network Layer (contd.) Routing
Vinay Singh Graduate school of Software Dongseo University
A Routing Protocol for WLAN Mesh
DSDV Destination-Sequenced Distance-Vector Routing Protocol
Routing in Mobile Wireless Networks Neil Tang 11/14/2008
A Talk on Mobile Ad hoc Networks (Manets)
Presentation transcript:

Network: Routing Y. Richard Yang 3/30/2011

Admin Project meetings Weekly meeting for 15 min Please sign up on the classesv2 server

Recap: Routing Overview The problem of routing is to find a good path for each source destination pair Issues How to define a path to be good? How do we compute the path? A E D C B F

Recap: Design Dimensions What does each node know? Whole network topology and per link cost Link state Set of neighbors that can reach dest Link reversal Neighbors’ costs to destination When to know? All the time (proactive) Upon a need to forward a data packet (reactive/on demand)

Recap: Link Reversal Motivations Implementation maintain a mesh (hopefully) local adaptation Implementation A node i contains a triple (i, i, i) representing its height of the node Suppose there is a link from node i to node j, the direction is determined by their heights i -> j: if (i, i, i) > (j, j, j) For destination D, the height is (0, 0, D)

min  of all neighbors with new  Illustration min  of all neighbors with new  min  of all neighbors

Analysis: Convergence Does the partial reversal algorithm converge? What is convergence? a protocol converges if it stops after a finite number of steps after the last link Up/Down event

Analysis by Invariants Invariants are statements defined over the states of the distributed nodes A very effective method in understanding distributed asynchronous systems is invariants

Analysis The state of a node An invariant over the state of a node its height as well as its neighbors’ (potentially obsolete) heights An invariant over the state of a node  is non-decreasing

Convergence if Not Partitioned Partial reversal always converges after a finite number of steps, if not partitioned proof by contradiction: assume not converge, i.e., the protocol runs forever after the last change. Since each node will increase its  value by at least one after each step, then there should exist a subset of nodes whose  values go to infinite dest infinite

Partition A B A B D D Node A and node B will increase their heights repeatedly forever.

Analysis: Loop of Link Reversal Does the partial reversal algorithm form loops? the algorithm does not have any loops after convergence because the heights form a total order before convergence, temporary loops may form due to inconsistent views

Temporally-Ordered Routing Algorithm (TORA) TORA modifies the partial link reversal algorithm to be able to detect partitions When a partition is detected, all nodes in the partition are informed, and link reversals in that partition cease For details, see the backup slides at the end

Summary: Link Reversal Algorithms Advantages the DAG provides many hosts the ability to send packets to a given destination beneficial when many hosts want to communicate with a single destination Disadvantages paths may not be the best loops before convergence hurt performance

Design Dimensions What does each node know? Whole network topology and per link cost (link state) Set of neighbors that can reach dest Link reversal Neighbors’ costs to destination (distance vector)

Distance Vector Routing Algorithm Based on the Bellman-Ford algorithm at node X, the distance (or any additive link quality metric) to Y is updated by where dX(Y) is the current distance at node X from X to Y, N(X) is the set of the neighbors of X, and d(X, Z) is the distance of the direct link from X to Z Implemented in the RIP routing protocol and some wireless mesh networks

Distance Table: Example 7 8 1 2 Below is just one step! The algorithm repeats for ever! distance tables from neighbors computation E’s distance, forwarding table distance table E sends to its neighbors E d () A B C D A 7  1 d(E,A) B 7 1  8 d(E,B) D  2 d(E,D) A 1 8  B 15 8 9  D  4 2 1, A 8, B 4, D 2, D A: 1 B: 8 C: 4 D: 2 E: 0 destinations

Distance Vector in the Presence of Topology Dynamics Good news propagate fast Link AB is up

Distance Vector in the Presence of Topology Dynamics Bad news propagate slowly: referred to as the count-to-infinity problem Link AB is down or cost increases substantially

Why Count-to-Infinity Routing loop: a loop is a global state (consisting of the nodes’ local states) at a global moment (observed by an oracle) such that there exist nodes A1, A2, …, An such that A1 (locally) thinks A2 as down stream, A2 thinks A3 as down stream, An thinks A1 as down stream

Destination-sequenced distance vector protocol (DSDV) There are optimizations but we present the base protocol Only handle the case when link is broken Let’s assume the destination node is D Basic idea: DSDV tags each route with a sequence number Each destination node D periodically advertises monotonically increasing even sequence numbers When a node realizes that the link that it uses to reach destination D is broken, the node increases the sequence number for D to be one greater than the previous one (odd number).

DSDV: Details Periodical and triggered updates periodically D increases its seq# SD by 2 and broadcasts with (SD, 0) if A is using B as next hop to reach D and A discovers that the link AB is broken A increases its sequence number SA by 1 (odd) sets dA to , and sends (SA, dA) to all neighbors The step if SA > SB, then update may not be good because it maybe a cross talk.

DSDV: Details Update after receiving a message Assume B sends to A the information (SB, dB), where SB is the sequence number at B for destination D and dB is the distance from B to D; when A receives (SB, dB) if SB > SA and A uses B as next hop then // higher seq#, always update SA = SB if (dB == ) dA = ; else dA= dB + d(A,B) else if SA == SB, then // conditional update if dA > dB + d(A,B) dA= dB + d(A,B) and uses B as next hop The step if SA > SB, then update may not be good because it maybe a cross talk. A B route update (SB, dB)

DSDV: Example H F E A G C D D B

Question Does DSDV solve the count-to-infinity problem (i.e., no routing loop is formed)?

Technique Again use the invariant method to understand the distributed asynchronous protocol Consider any node A What is the state of node A? (SA, dA)

Consider a Single Node A What properties do you observe about the state of node A, i.e. (SA, dA)? SA is non-decreasing dA is non-increasing for the same sequence number time

Invariants For any node time For any node sequence number is non-decreasing for the same sequence number, distance is non-increasing For a pair of nodes, if A (according to local state) considers B as next hop to destination D: either SB > SA (B updates seq# after sends update) or SB == SA implies dB < dA if link cost is not zero A B

Claim: DSDV Does Not Form Loop Proof by induction and contradiction assume initially no loop (no one has next hop so no loop) derive contradiction by assuming that we have a loop when we add a new link, e.g., when A decides to use B as next hop update A B

Loop Freedom of DSDV update Consider a critical moment A considers B as next hop and forms a loop If any link in the loop (X considers Y as next hop) satisfies SY > SX by transition along the loop SB > SB If all nodes along the loop have the same sequence number by transition along the loop dB > dB update A B X Y

Discussion of DSDV Q: what is the scope of updates when a link changes status?

Summary: Routing Algorithms Complete information: Nodes maintain complete topology, link cost info “link state” algorithm Distributed next hop distance: Nodes maintain distance to each dest. Iterative process of computation, exchange of info with direct neighbors “distance vector” algorithm Partial connectivity information: Nodes maintain reachability topology (mesh) for each dest. “link reversal” algorithm A E D C B F 2 1 3 5

Design Dimensions What does each node know? When to know? Whole network topology and per link cost Neighbors’ costs to destination Set of neighbors that can reach dest When to know? All the time (proactive) Upon a need to forward a data packet (reactive/on demand)

DSR Concepts On-demand route discovery Source routing DSDV, link state and link reversal protocols are proactive: they continuously maintain routes/topology DSR is a reactive protocol, maintaining active routes only Source routing no need to maintain information at intermediate nodes

Dynamic Source Routing (DSR) When node S wants to send a packet to node D, but does not know a route to D, node S initiates a route discovery Source node S floods Route Request (RREQ) Each node appends its own identifier when forwarding RREQ

Route Discovery: RREQ Y Z S E F B C M L J A G H D K I N Represents a node that has received RREQ for D from S

Broadcast transmission Route Discovery: RREQ Y Broadcast transmission Z [S] S E F B C M L J A G H D K I N Represents transmission of RREQ [X,Y] Represents list of identifiers appended to RREQ

Forwarding RREQ A request is forwarded by a node if the node is not destination the node has not seen RREQ with the same sequence number (from the same source) When forwarding RREQ, use a random delay to avoid collision

Route Discovery: RREQ Y Z S [S,E] E F [S,B] B C M L J A G [S,C] H D K N Node H receives RREQ from two neighbors B and C Node C and E send RREQ to each other

Route Discovery: RREQ Y Z S E F B [S,E,F] C M L J A G H D K [S,C,G] I N Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once

Route Discovery: RREQ Y Z S E F [S,E,F,J] B C M L J A G H D K I N [S,C,G,K]

Route Discovery: RREQ Y Z S E [S,E,F,J,M] F B C M L J A G H D K I N Node D does not forward RREQ, because node D is the intended target of the route discovery

Route Reply (RREP) Destination D on receiving the first RREQ, sends a Route Reply (RREP) why first? RREP includes the route from S to D on which RREQ was received by node D Question: how to send RREP from D back to S?

Route Reply in DSR Route Reply is sent by reversing the route in Route Request (RREQ) this requires bi-directional link to ensure this, RREQ should be forwarded only if it received on a link that is known to be bi-directional this also necessary for IEEE 802.11 MAC is used to send data, then links have to be bi-directional (since Ack is used) If unidirectional (asymmetric) links are allowed, then RREP may need a route discovery from D back to S

Route Reply Y Z S RREP [S,E,F,J,D] E F B C M L J A G H D K I N Represents RREP control message

hence the name source routing Data Delivery in DSR Y Z DATA [S,E,F,J,D] S E F B C M L J A G H D K I N When node S sends a data packet to D, the entire route is included in the packet header hence the name source routing

DSR Optimization: Route Caching Each node caches a new route it learns by any means, e.g., when node S finds route [S,E,F,J,D] to node D, node S also learns route [S,E,F] to node F when node K receives Route Request [S,C,G], node K learns route [K,G,C,S] to node S when node F forwards Route Reply RREP [S,E,F,J,D], node F learns route [F,J,D] to node D a node may also learn a route when it overhears data packets

DSR: Summary Advantages Disadvantages reactive: routes maintained only between nodes who need to communicate route caching can further reduce route discovery overhead Disadvantages packet header size grows with route length due to source routing flood of route requests may potentially reach all nodes in the network

Ad Hoc On-Demand Distance Vector Combination of ideas in DSR and DSDV on-demand mechanism of route discovery and route-maintenance from DSR plus the hop-by-hop routing (not source routing), sequence numbers and periodic beacons from DSDV

Comparison of Routing Algorithms in the Presence of Topology Dynamics

Comparisons of The Protocols Some key parameters affecting the performance of a routing protocol number of nodes mobility model, e.g., the way-point model, where each node picks a random target, moves to the target at a random speed picked uniformly in a range, pauses for some time after arrival traffic model, e.g., Constant Bit Rate (CBR) Performance metrics packet delivery ratio routing overhead path optimality

Path Optimality: Difference from Optimal 50 nodes; 20 sources; 20 m/s

Comparison: Packet Delivery Ratio 50 nodes; 20 sources; 20 m/s

Comparison: Packet Delivery Ratio 50 nodes; 20 sources; 1 m/s

Summary: Traditional Routing So far, all routing protocols in the framework of traditional wireline routing Implicit assumptions we adopted when defining the problem a graph representation of underlying network point-to-point graph, edges with costs select a lowest-cost route for a src-dest pair commit to a specific route before forwarding each node forwards a received packet as it is to next hop

Motivating Scenario: I

Motivating Scenario: II Motivating question: can we take advantage of transmissions that reach unexpectedly far or unexpectedly short? Traditional routing picks a single route, e.g., src -> B -> D -> dst Packets received off path are useless

Motivating Scenario: III Src A sends 1 packet to dst B; src B sends packet 3 to dst A The network needs to transmit 4 packets Motivating question: can we do better? p1 p1 A R B p2 p2

Motivating Scenario: III If R has both packets 1 and 3, it can combine them and explore coding and broadcast nature of wireless A B R

Backup Slides

A Local Loop A A B B D D When B does a reversal, B locally thinks A is downstream; before B’s new height arrives at A, A thinks B is downstream as well.

Temporally-Ordered Routing Algorithm (TORA)

Link Direction Through “Heights” Each node i has a height – a quintuple Hi = (t, oid, r, d, i), where  : the “logical time” of a link failure oid: the node who originates the failure r : a “reflect” bit  : a reference level i : node ID Link direction through heights Node i points to node j if Hi > Hj When Hj is unknown, it is set to NULL; NULL is considered to be infinite

TORA: Three Basic Functions Creating routes on demand A query (QRY) message is flooded through the network An update (UPD) message propagates back if route exists If a node uses another node as next hop, it increases the  value by 1 Maintaining routes using link reversal A node sends an UPD message to re-orient the links after detecting no outgoing links Link reversal is similar to partial link reversal set the first three elements to be the highest among neighbors if all neighbors have the highest first three elements if (no reflect bit) set reflect bit else find partition else set = min {j: where neighbor j has the highest first three elem}-1 Erasing routes when partitioned A clear (CLR) message is flooded through the network to erase invalid routes

TORA: Created Routes (0, 0, 0, 3, A) (0, 0, 0, 2, D) (0, 0, 0, 1, E) (0, 0, 0, 2, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H)

TORA: Link from D to E Fails (0, 0, 0, 2, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H)

TORA: Link from B to H Fails (0, 0, 0, 2, D) (0, 0, 0, 1, E) (0, 0, 0, 2, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H)

TORA: B Updates (0, 0, 0, 3, A) (0, 0, 0, 2, D) (0, 0, 0, 1, E) UPD (1, B, 0, 0, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H) Assume B’s clock is 1 when detecting failure

TORA: D Updates UPD (0, 0, 0, 3, A) (1, B, 0, -1, D) (0, 0, 0, 1, E) (1, B, 0, 0, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H) (1,B,0) = max( A:(0,0,0), B:(1,B,0) ); -1 = min{0}-1

TORA: A Updates UPD (1, B, 0, -2, A) (1, B, 0, -1, D) (0, 0, 0, 1, E) (1, B, 0, 0, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H) (1,B,0) = max( B:(1,B,0),C:(0,0,0), D:(1,B,0) ); -2 = min{0,-1}-1

TORA: Link from A to C is Down (1, B, 0, -2, A) (1, B, 0, -1, D) (0, 0, 0, 1, E) (1, B, 0, 0, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H)

TORA: A Updates UPD (2, A, 0, 0, A) (1, B, 0, -1, D) (0, 0, 0, 1, E) (1, B, 0, 0, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H) Assume A’s clock is 2 when detecting failure

TORA: D Updates UPD (2, A, 0, 0, A) (2, A, 0, -1, D) (0, 0, 0, 1, E) (1, B, 0, 0, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H) (2,A,0) = max( A:(2,A,0), B:(1,B,0) ); -1 = min{0}-1

TORA: B Updates (2, A, 0, 0, A) (2, A, 0, -1, D) (0, 0, 0, 1, E) UPD (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H) Because B’s neighbors have the same first three values

TORA: D Updates UPD (2, A, 0, 0, A) (2, A, 1, -1, D) (0, 0, 0, 1, E) (2, A, 1, 0, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H) (2,A,1)=max(A:(2,A,0),B:(2,A,1)); -1 = min{0}-1

TORA: A Detects Partition CLR (-, -, -, -, A) (2, A, 1, -1, D) (0, 0, 0, 1, E) (2, A, 1, 0, B) (0, 0, 0, 3, C) (0, 0, 0, 0, F) (0, 0, 0, 2, G) (0, 0, 0, 1, H) (2,A,1)=max(A:(2,A,0),B:(2,A,1)); -1 = min{0}-1

The Reverse-Poison (Split-horizon) Hack D C B 7 8 1 2 If the path to a dest is through neighbor h, report  to neighbor h for dest. E’s distance, forwarding table distance tables from neighbors computation distance table E sends to its neighbors E d () A B C D A 7  1 d(E,A) B 7 1  8 d(E,B) D  2 d(E,D) A 1 8  B 15 8 9  D  4 2 1, A 8, B 4, D 2, D To A A:  B: 8 C: 4 D: 2 E: 0 To B A: 1 B:  C: 4 D: 2 E: 0 To D A: 1 B: 8 C:  D:  E: 0 destinations distance through neighbor

An Example Where Split-Horizon Fails 1 When the link between C and D fails, C will set its distance to D as  However, unfortunate timing can cause problem A receives a new update () from C, then a previous update from B (when B thought C was good) arrives; then A will use B to go to D A sends the good news to C C sends the good news to B

Using Route Cache Advantages Disadvantages using route cache can speed up route discovery and reduce RREQ propagation check route cache before issues RREQ intermediate nodes can send Route Reply using route cache Disadvantages stale caches can adversely affect performance e.g., a sender may try several stale routes (obtained from local cache, or replied from cache by other nodes), before finding a good route