Download presentation
Presentation is loading. Please wait.
1
Network: Location Management
Y. Richard Yang 3/21/2011
2
Admin Assignment 3 status Exam this Wednesday Project meetings
Weekly meeting for 15 min.
3
Recap: Network Layer Services
Transport packets from source to dest Network layer protocol in host and router Basic functions: Control plane compute routing from sources to destinations Data plane: forwarding move packets from input interface to appropriate output interface(s) to reach dest B A S1 E D2 S2 J D1 C G I K M N L
4
Basic Network Layer Model
Each node is a network attachment point (e.g., router, base station), to which hosts/user equipment attaches A E D C B F User device identified by addressing scheme locator: identifies attachment point identifier: independent of location
5
Key Problems Location management
D C B F Key Problems Location management E.g., due to user mobility (roaming), attached point changes Routing under mobility and wireless channels
6
Outline Admin. Location management cellular networks
7
Routing in Cellular Networks
D C B F Cellular networks face the location management problem: a phone may be out of its home switch How GSM handles out-of-switch phones: a global home location register (HLR) database for each carrier each base transceiver station (BTS) has a visitor location register (VLR)
8
GSM Radio Subsystem MS (mobile station) BSC (base station controller)
BTS (base transceiver station) MSC (mobile switching center) GMSC (gateway MSC) GSM fixed network Network & Switching Subsystem and Operation Subsystem HLR GMSC MSC MSC BSC MS BSC MS Radio Subsystem BTS VLR MS MS MS BTS MS BTS VLR VLR VLR BTS BTS VLR
9
Two Primitives for Cellular Location Management
Mobile station: reports to the network of the cell it is in called update uses the uplink channel Network: queries different cells to locate a mobile station called paging uses the downlink channel
10
Performance of the Two Primitives
A city with 3M users During busy hour (11 am - noon) Assume each paging message is 100 bits Update only update messages: millions Q: why so many update messages? Paging only paging traffic: 1433 calls/sec Q: how many messages in the busy hour?
11
Location Management Through Location Areas (LA)
A hybrid of paging and update Used in the current cellular networks such as GSM Partitions the cells into location areas (LA) e.g., around 10 cells in diameter in current systems Each cell (BTS) periodically announces its LA id If a mobile station arrives at a new location area, it updates the base station about its presence When locating a MS, the network pages the cells in an LA
12
How to Decide the LAs: A Simple Model
Assume the cells are given Cell i has on average Ni users in it during one unit time; each user receives c calls per unit time There are Nij users move from cell i to cell j in a unit of time Cell 1 Cell 2 N1 N2 N12 N21
13
How to Decide the LAs: A Simple Scenario
Cell 1 Cell 2 N1 N2 N12 N21 Separate LAs for cells 1 and 2 #update: N12 + N21 #paging: c (N1 + N2) Merge cells 1 and 2 into a single LA #update: 0 #paging: 2 c (N1 + N2) When to merge and when to separate?
14
Discussions The LA design should consider
call pattern: when (how often) does a mobile station receive a call? mobility model: how does a mobile station move? How to further improve the performance of location management?
15
Dynamic/Distributed Location Management Schemes
In dynamic/distributed location management schemes, each user makes independent decision about when to update
16
Dynamic/Distributed Location Management Schemes
Timer based A MS sends an update after some given time T Movement based A MS sends an update after it has visited N different cells Distance based A MS sends an update after it has moved away for D distance (need ability to measure distance) Profile based A MS predicts its mobility model and updates the network when necessary
17
Timer-based Location Management
A MS sends an update after some given timer T The network pages the MS upon a call request at all cells which the MS can potentially arrive during T cells reachable from last update cell, e.g., within distance vmax * T, where vmax is the maximum speed Question: how to determine T?
18
Timer-based Location Management
Assume time between call arrivals is Tcall Cell radius is dcell Total bandwidth cost: Take derivative and set it to 0 to derive the optimal value:
19
Summary: Location Management
Two primitives of location management in cellular networks update (a proactive approach) paging (a reactive approach) The location area (LA) approach a hybrid approach Distributed approaches timer based movement based distance based profile based
20
Mobile IP
21
Mobile IP: Architecture
Assume the current Internet addressing and routing architecture Design extensions to handle out of network devices
22
Mobile IP: Terminology
Mobile Node (MN) the node under consideration Home Agent (HA) a stationary network node (e.g., a router) at the home network Foreign Agent (FA) a network node (e.g. a router) in the foreign network Care-of Address (COA) the address in the foreign network Correspondent Node (CN) communication partner
23
Illustration HA MN FA CN mobile node Internet router home network
(physical home network for the MN) FA foreign network router end-system CN router (current physical network for the MN)
24
Mobile IP Operations Basic idea of Mobile IP:
a MN acquires a COA in a foreign network from a foreign agent registers to the home agent all messages sent to its home address is forwarded by its home agent to its COA
25
Discovering the Agents and Care-of Address
Mobile IP discovery process (home or foreign) agent broadcasts advertisements at regular intervals announce the network list one or more available care-of addresses mobile node takes a care-of address mobile node can also send solicitation to start the process
26
Registering the Care-of Address
Mobile node sends an update (called) registration request) to its home agent with the care-of address information Home agent approves/disapproves the request Home agent adds the necessary information to its routing table Home agent sends a registration reply back to the mobile node
27
Registration Operations in Mobile IP
MH = Mobile Host HA = Home Agent FA = Foreign Agent
28
Data Transfer from the Mobile Node
HA 1 MN Internet home network sender FA foreign network 1. Sender sends to the IP address of the receiver as usual, FA works as default router CN receiver
29
Data Transfer to the Mobile Node
HA 2 MN Internet home network 3 receiver FA foreign network 1. Sender sends to the IP address of MN, HA intercepts packet 2. HA tunnels packet to COA, here FA, by encapsulation 3. FA forwards the packet to the MN 1 CN sender
30
Tunneling Operations in Mobile IP
Correspondent Node X
31
Discussion Any problems of the Mobile IP approach?
32
Triangular Routing Triangular Routing “Solution”
CN sends all packets via HA to MN higher latency and network load “Solution” CN learns the current location of MN direct tunneling to this location HA or MN informs a CN about the location of MN Problem of the solution big security problems !
33
Handoff Change of FA (COA) “Solution”
packets on-the-fly during the change can be lost “Solution” new FA informs old FA to avoid packet loss, old FA buffers and then forwards remaining packets to new FA this information also enables the old FA to release resources for the MN
34
Summary: Mobile IP An out-of-network mobile node (MN) registers its current reachable address (COA) with its home agent Home agent forwards packets to the MN Several optimization techniques to improve efficiency and reduce packet losses during mobility
35
Preview: How to Routing?
A E D C B F 2 1 3 5
36
Backup Slides
37
Change of Foreign Agent
CN HA FAold FAnew MN Data Data Data Update ACK Data Data MN changes location Registration Update ACK Data Data Data Warning Request Update ACK Data Data t
38
Micro Mobility A very typical scenario of Mobile IP is that a MN visits a company or university the MN may change foreign networks multiple times in the foreign network, generating much control traffic
39
Handoff Aware Wireless Access Internet Infrastructure (HAWAII)
Operation: MN obtains co-located COA and registers with HA Handover: MN keeps COA, new BS answers Reg. Request and updates routers MN views BS as foreign agent Backbone Router Internet BS MN Crossover DHCP Server HA Mobile IP 1 2 4 1 2 3 4 BS 3
40
Network Routing Y. Richard Yang 2/19/2009 DSDV revised on 2/23/2009
41
Admin Each group please talk to me and the TA by Friday next week about potential project
42
Recap: Network Layer Services
Transport packets from source to dest Network layer protocol in every host, router Major components: Control plane addressing scheme is crucial for usability, mobility compute routing from sources to destinations Data plane: forwarding move packets from input interface to appropriate output interface(s) B A S1 E D2 S2 J D1 C G I K M N L
43
Recap: Key Problems Location management
D C B F Location management Routing with lossy and dynamic wireless Broadcast wireless channels
44
Outline Admin and recap Routing with lossy and dynamic links
45
Routing Overview The problem of routing is to find a good path for each source destination pair A typical measure for a good path is that it is the shortest path according to some metric A E D C B F
46
Link Metric A E D C B F One possibility is to assign each link a metric of 1 (hop-count based routing) problems maximizes the distance traveled by each hop low signal strength -> high loss ratio uses a higher TxPower -> interference different links have different qualities
47
Performance of Shortest Hop Count
D C B F
48
Example Metric: ETX ETX: The predicted number of data transmissions required to successfully transmit a packet over a link the ETX of a path is the sum of the ETX values of the links over that path Examples: ETX of a 3-hop route with perfect links is 3 ETX of a 1-hop route with 50% loss is 2 “A High-Throughput Path Metric for Multi-Hop Wireless Routing” by D. De Couto, D. Aguayo, J. Bicket, R. Morris. Mibicom 2003.
49
Acquiring ETX Measured by broadcasting dedicated link probe packets with an average period τ (jittered by ±0.1τ) Delivery ratio: – count(t-w,t) is the # of probes received during window w – w/τ is the # of probes that should have been received
50
ETX: Example
51
ETX: Advantage Tends to minimize spectrum use, which can maximize overall system capacity (reduce power too) each node spends less time retransmitting data ETX has problems and is not the only link metric. We will revisit link metrics next class.
52
Outline Admin and recap Routing overview
computing shortest path routing A E D C B F 2 1 3 5 How does Internet (Yale) computes shortest path routing?
53
Link-State Routing Algorithms
Separation of topology distribution from route computation Used in OSPF, the dominant intradomain routing protocol used in the Internet Net topology, link costs are distributed to all nodes Link state distribution accomplished via “link state broadcast” Each node (locally) computes its paths to all destinations
54
Link State Broadcast B A S E F H J D C G I K M N L
represents a node that has received update represents link
55
Link State Broadcast S E F B C M L J A G H D K I N
56
Link State Broadcast S E F B C M L J A G H D K I N
To avoid forwarding the same update multiple times, each update has a sequence number. If an arrived update does not have a higher seq, discard! - The packet received by E from C is discarded - The packet received by C from E is discarded as well - Node H receives packet from two neighbors, and will discard one of them
57
Summary of Link State Routing
Separation of topology distribution from route computation Whenever a link metric changes, the node broadcasts new value Q: What is the scope of updates when a link changes status? Q: Does link state routing work well in a network with dynamic link status?
58
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
59
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
60
Distance Vector in the Presence of Topology Dynamics
Good news propagate fast Link AB is up
61
Distance Vector in the Presence of Topology Dynamics
Bad news propagate slowly: the count-to-infinity problem Link AB is down or cost increases substantially
62
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
63
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
64
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).
65
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 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.
66
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, 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)
67
DSDV H F E A G C D D B
68
Claim: DSDV Does Not Form Loop
Proof technique: 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
69
Protocol Analysis by Invariants
This is a very effective method in understanding distributed asynchronous protocols Invariants are defined over the states of the distributed nodes Consider any node A What is the state of node A? (SA, dA)
70
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
71
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: SB > SA (B updates seq# after sends update) SB == SA implies dB < dA if link cost is not zero A B
72
Loop Freedom of DSDV update Proof by contradiction
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
73
Discussion of DSDV Q: what is the scope of updates when a link changes status?
74
Link Reversal Algorithms
75
Motivation Link reversal algorithms maintain a mesh
(hopefully) local adaptation
76
Links and DAG up stream down stream A B F Links are bi-directional
But algorithm imposes logical directions on them C E G Maintain a directed acyclic graph (DAG) for each destination, with the destination being the only sink This DAG is for destination node D D C E up stream down stream
77
Link Reversal Algorithm: Illustration of Idea
B F C E G Link (G,D) broke D Any node, other than the destination, that has no outgoing links reverses some incoming links. Node G has no outgoing links
78
Link Reversal Algorithm: Illustration
B F C E G Represents a link that was reversed recently D Now nodes E and F have no outgoing links, the process continues.
79
Link Reversal Algorithm: Illustration
B F C E G Represents a link that was reversed recently D Now nodes B and G have no outgoing links
80
Link Reversal Algorithm: Illustration
B F C E G Represents a link that was reversed recently D Now nodes A and F have no outgoing links
81
Link Reversal Algorithm: Illustration
B F C E G Represents a link that was reversed recently D Now all nodes (other than destination D) have an outgoing link
82
Link Reversal Algorithm: Illustration
B F C E G D DAG has been restored with only the destination as a sink
83
Link Reversal Remaining questions:
how to implement it? will reversal stop? Next we will look into the issues using partial reversal (not full reversal, as the preceding example)
84
Link Direction Through Heights
A node i contains a triple (i, i, i) i : an integer (the major integer) i : another integer (the minor integer) i : node index (to impose a total order) The triple of a node is called the 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)
85
Illustration of Heights
86
Partial Reversal Algorithm
If the height of node i is lower than all of its neighbors, i.e., (i, i, i) < (j, j, j) for all j in Ni, Increases i to where Ni is the neighbors of i. Set i to if there exists a neighbor j with the same value after i has increased its ; otherwise i not changed
87
min of all neighbors with new
Illustration min of all neighbors with new min of all neighbors
88
Example (0,4,1) (0,3,2) (0,2,3) (0,5,4) (0,1,6) (0,2,5) Destination: (0,0,0)
89
Example: Link from 6 to 0 is down
(0,4,1) (0,3,2) (0,2,3) (0,5,4) (0,1,6) (0,2,5) Destination: (0,0,0)
90
Example: After Node 6 Reverses
(0,4,1) (0,3,2) (0,2,3) (0,5,4) (1,1,6) (0,2,5) 1 = min{0,0}+1 Destination: (0,0,0)
91
Example: After Nodes 3 and 5 Reverse
1 = min{0,1}+1; 0 = min{1}-1 (0,4,1) (0,3,2) (1,0,3) (0,5,4) (1,1,6) (1,0,5) Destination: (0,0,0)
92
Example: After Nodes 2 Reverses
(0,4,1) (1,-1,2) (1,0,3) (0,5,4) (1,1,6) (1,0,5) Destination: (0,0,0)
93
Example: After Nodes 1 Reverses
(1,-2,1) (1,-1,2) (1,0,3) (0,5,4) (1,1,6) (1,0,5) Destination: (0,0,0)
94
Network: Routing Protocols, and Metrics
Y. Richard Yang 2/24/2009
95
Outline Admin. Network routing Protocol Re-examing routing contracts
DSDV Link reversal DSR Re-examing routing contracts
96
Recap: DSDV Motivation
1 1 1 1
97
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 A, B, C such that A (locally) thinks B as down stream, B thinks C as down stream, C thinks A as down stream 1
98
Destination-sequenced distance vector protocol (DSDV)
There are optimizations but we present the base protocol Only handle the case when a link hop count metric Let’s assume the destination node is D Basic idea: DSDV tags each route with a sequence number
99
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.
100
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, 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)
101
DSDV: Example H F E A G C D D B
102
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: SB > SA (B updates seq# after sends update) SB == SA implies dB < dA if link cost is not zero A B
103
Claim: DSDV Does Not Form Loop
Proof technique: invariant Invariant: true over node states at all times 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
104
Loop Freedom of DSDV update Proof by contradiction
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
105
Recap: Link Reversal Motivations Full link reversal
maintain a mesh (hopefully) local adaptation Full link reversal Partial link reversal
106
Link Direction Through Heights
A node i contains a triple (i, i, i) i : an integer (the major integer) i : another integer (the minor integer) i : node index (to impose a total order) The triple of a node is called the 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)
107
Illustration of Heights
108
Partial Reversal Algorithm
If the height of node i is lower than all of its neighbors, i.e., (i, i, i) < (j, j, j) for all j in Ni, Increases i to where Ni is the neighbors of i. Set i to if there exists a neighbor j with the same value after i has increased its ; otherwise i not changed
109
min of all neighbors with new
Illustration min of all neighbors with new min of all neighbors
110
Example (0,4,1) (0,3,2) (0,2,3) (0,5,4) (0,1,6) (0,2,5) Destination: (0,0,0)
111
Example: Link from 6 to 0 is down
(0,4,1) (0,3,2) (0,2,3) (0,5,4) (0,1,6) (0,2,5) Destination: (0,0,0)
112
Example: After Node 6 Reverses
(0,4,1) (0,3,2) (0,2,3) (0,5,4) (1,1,6) (0,2,5) 1 = min{0,0}+1 Destination: (0,0,0)
113
Example: After Nodes 3 and 5 Reverse
1 = min{0,1}+1; 0 = min{1}-1 (0,4,1) (0,3,2) (1,0,3) (0,5,4) (1,1,6) (1,0,5) Destination: (0,0,0)
114
Example: After Nodes 2 Reverses
(0,4,1) (1,-1,2) (1,0,3) (0,5,4) (1,1,6) (1,0,5) Destination: (0,0,0)
115
Example: After Nodes 1 Reverses
(1,-2,1) (1,-1,2) (1,0,3) (0,5,4) (1,1,6) (1,0,5) Destination: (0,0,0)
116
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
117
Analysis: Convergence
What is convergence? a protocol converges if it stops after a finite number of steps after the last link Up/Down event Does the partial reversal algorithm converge?
118
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
119
Partition A B A B D D Node A and node B will increase their heights repeatedly forever.
120
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 (see the
121
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
122
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
123
Summary: Routing Algorithms
Global information: Routers maintain complete topology, link cost info “link state” algorithm Distributed: Routers maintain distance to each dest. Iterative process of computation, exchange of info with direct neighbors “distance vector” algorithm Partial global information: Routers maintain partial topology (mesh) for each dest. “link reversal” algorithm A E D C B F 2 1 3 5
124
Outline Admin. Network routing Protocol DSDV Link reversal DSR
125
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
126
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
127
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
128
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
129
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
130
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
131
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
132
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]
133
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
134
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?
135
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 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
136
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
137
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
138
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
139
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
140
DSR: Summary Advantages Disadvantages
reactive: routes maintained only between nodes who need to communicate route caching can further reduce route discovery overhead a single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches Disadvantages packet header size grows with route length due to source routing flood of route requests may potentially reach all nodes in the network care must be taken to avoid collisions between route requests and route reply propagated by neighboring nodes
141
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
142
Comparison of Routing Algorithms in the Presence of Topology Dynamics
143
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
144
Comparison: Packet Delivery Ratio
50 nodes; 20 sources; 20 m/s
145
Comparison: Packet Delivery Ratio
50 nodes; 20 sources; 1 m/s
146
Routing Overhead 50 nodes; 20 sources; 20 m/s
147
Path Optimality: Difference from Optimal
50 nodes; 20 sources; 20 m/s
148
Traditional Routing So far, all routing protocols in the framework of traditional wireline routing select a single route for each src-dest pair commit to a specific route before forwarding Problem: don’t fully exploit path (spatial) diversity and wireless broadcast (opportunities)
149
Motivating Scenario: I
Assumes independent links Tradition routing has to follow one pre-committed route
150
Motivating Scenario: II
Traditional routing picks a single route, e.g., src -> B -> dst
151
Motivating Scenario: III
A sends a packet to B; B sends one to A Can we do better than the traditional routing? A B R
152
Backup Slides
153
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.
154
Temporally-Ordered Routing Algorithm (TORA)
155
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
156
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
157
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)
158
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)
159
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)
160
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
161
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
162
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
163
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)
164
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
165
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
166
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
167
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
168
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
169
Network Routing: Link Metrics and Non-Traditional Routing
Y. Richard Yang 2/26/2009
170
Admin. Homework 3 Project proposal:
March 6 by to and
171
Recap: Routing Protocols
Proactive protocols distance vector e.g., DSDV link state link reversal e.g., partial link reversal, TORA Reactive (on-demand) protocols DSR AODV A E D C B F 2 1 3 5
172
Recap: ETX ETX: The predicted number of data transmissions required to successfully transmit a packet over a link Link loss rate = p Expected number of transmissions
173
ETX Performance DSDV DSR
174
Problems of ETX ETX does not handle multirate 802.11 networks
ETX does not work out well when nodes have multiple radios that can operate at different channels
175
Extending ETX: Multirate
In a multirate environment, need to consider link bandwidth: packet size = S, Link bandwidth = B each transmission lasts for S/B Multirate Multradio “Routing in Multi-radio, Multi-hop Wireless Mesh Network,” Richard Draves, Jitendra Padhye, and Brian Zill. Mobicom 2004.
176
Extending ETX: Multirate
Add ETTs of all links on the path Use the sum as path metric Interpretation: pick a path with the lowest total network occupation time Q: under what condition is SETT the network occupation time?
177
Problem of SETT In networks with multiple channels/radios, SETT does not consider channel reuse Path SETT Throughput Red-Red Red-Blue 2.66 ms 3 Mbps 2.66 ms 6 Mbps
178
Observation Interference reduces throughput
throughput of a path is lower if many links are on the same channel path metric should be worse for non-diverse paths
179
Extending SETT for Multiple Channels
Group links on a path according to channel assumes links on the same channel interfere with one another pessimistic for long paths Add ETTs of links in each group Find the group with largest sum (BG-ETT) this is the “bottleneck” group too many links, or links with high ETT (“poor quality” links) Use this largest sum as the path metric Lower value implies better path
180
BG-ETT Example Path Blue Sum Red Sum BG-ETT Throughput All-red 1 Blue
5.33 ms 5.33 ms 1.5 Mbps 1.33 ms 4 ms 4 ms 2 Mbps 2.66 ms 2.66 ms 2.66 ms 3 Mbps
181
BG-ETT May Select Long Paths
182
Path Metric: Putting it all together
SETT favors short paths BG-ETT favors channel diverse paths β is a tunable parameter Higher value: more preference to channel diversity Lower value: more preference to shorter paths
183
Implementation and such
Implemented in a source-routed, link-state protocol, Multi-Radio Link Quality Source Routing (MR-LQSR) Nodes discover links to its neighbors, measure quality of those links link information floods through the network each node has “full knowledge” of the topology sender selects “best path” packets are source routed using this path Measure loss rate and bandwidth loss rate measured using broadcast probes similar to ETX updated every second bandwidth estimated using periodic packet-pairs updated every 5 minutes
184
Evaluations
185
Median Throughput (Baseline, single radio)
186
Median Throughput (Baseline, two radios)
187
Impact of β value
188
Summary Link metrics are still an active research area, in particular, due to interactions with (channel, spatial) diversity
189
Summary: Traditional Routing
So far, all routing protocols in the framework of traditional wireline routing 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 Problems: don’t fully exploit path (spatial) diversity and wireless broadcast opportunities
190
Motivating Scenario: I
191
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
192
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? A R B
193
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
194
Outline Admin. Link metrics Non-traditional routing motivation
network coding: exploiting network broadcast
195
Network Coding We have covered source coding (FEC, compression)
The new approach uses opportunistic network coding goal: increase the amount of information that is transported
196
Opportunistic Coding: Basic Idea
Each node looks at the packets available in its buffer, and those its neighbors’ buffers It selects a set of packets, computes the XOR of the selected packets, and broadcasts the XOR
197
Opportunistic Coding
198
Outline Admin. Link metrics Non-traditional routing motivation
network coding: exploiting network broadcast opportunistic routing
199
Key Issue in Opportunistic Routing
Key Issue: opportunistic forwarding may lead to duplicates.
200
Extreme Opportunistic Routing (ExOR)
Basic idea: avoid duplicates by scheduling Instead of choosing a fix sequential path (e.g., src->B->D->dst), the source chooses a list of forwarders (a forwarder list in the packets) using ETX-like metric a background process collects ETX information via periodic link-state flooding Forwarders are prioritized by ETX-like metric to the destination
201
ExOR: Forwarding Group packets into batches
The highest priority forwarder transmits when the batch ends The remaining forwarders transmit in prioritized order each forwarder forwards packets it receives yet not received by higher priority forwarders status collected by batch map
202
Batch Map Batch map indicates, for each packet in a batch, the highest-priority node known to have received a copy of that packet
203
ExOR: Example N2 N0 N3 N1
204
ExOR: Stopping Rule A nodes stops sending the remaining packets in the batch if its batch map indicates over 90% of this batch has been received by higher priority nodes the remaining packets transferred with traditional routing
205
Evaluations 65 Node pairs 1.0MByte file transfer
1 Mbit/s bit rate 1 KByte packets EXOR bacth size 100 1 kilometer
206
Evaluation: 2x Overall Improvement
1.0 0.8 0.6 Cumulative Fraction of Node Pairs 0.4 0.2 ExOR Traditional spend a little more time on the 240 x say this is just for the median, and it’s a factor of 2! 200 400 600 800 Throughput (Kbits/sec) Median throughputs: Kbits/sec for ExOR, 121 Kbits/sec for Traditional
207
OR uses links in parallel
possible question – why are there only 7 forwarders.(just say we thin out...) ExOR 7 forwarders 18 links Traditional Routing 3 forwarders 4 links
208
OR moves packets farther
58% of Traditional Routing transmissions 0.6 ExOR Traditional Routing Fraction of Transmissions 0.2 25% of ExOR transmissions 0.1 lower is better. right circle – using lots of longer links, sum them up and it’s 25%. so, like ex 1, using lots of long links. zeros: before many packets made no progress, with exor at least some. 100 200 300 400 500 600 700 800 900 1000 Distance (meters) ExOR average: 422 meters/transmission Traditional Routing average: 205 meters/tx
209
Comments: ExOR Pros Cons
takes advantage of link diversity (the probabilistic reception) to increase the throughput does not require changes in the MAC layer can cope well with unreliable wireless medium Cons scheduling is hard to scale in large networks overhead in packet header (batch info) batches increase delay
210
Outline Admin. Link metrics Non-traditional routing motivation
network coding: exploiting network broadcast opportunistic routing ExOR MORE
211
MORE: MAC-independent Opportunistic Routing & Encoding
Basic idea: Replace node coordination with network coding Trading structured scheduler for random packets combination Previous network coding technique is for inter-flow MORE is for intra-flow network coding
212
Basic Idea: Source Chooses a list of forwarders (e.g., using ETX)
Breaks up file into K packets (p1, p2, …, pK) Generate random packets MORE header includes the code vector [cj1, cj2, …cjK] for coded packet pj’
213
Basic Idea: Source
214
Basic Idea: Forwarder Check if in the list of forwarders
Check if linearly independent of new packet with existing packet Re-coding and forward
215
Basic Idea: Destination
Decode Send ACK back to src if success
216
Key Practical Question: How many packets does a forwarder send?
Compute zi: the expected number of times that forwarder i should forward each packet
217
Computes zs Єij: loss probability of the link between i and j Compute zs so that at least one forwarder that is closer to destination is expected to have received the packet :
218
Compute zj for forwarder j
Only need to forward packets that are received by j sent by forwarders who are further from destination not received by any forwarder who is closer to destination
219
Compute zj for forwarder j
To guarantee at least one forwarder closer to d receives the packet
220
Evaluations 20 nodes distributed in a indoor building
Path between nodes are 1 ~ 5 hops in length Loss rate is 0% ~ 60%; average 27%
221
Throughput
222
Problem of MORE?
223
Mesh Networks API So Far
Forward correct packets to destination PHY/LL Deliver correct packets
224
570 bytes; 1 bit in 1000 incorrect
Motivation R1 10-3 BER 0% S D 0% 10-3 BER R2 570 bytes; 1 bit in 1000 incorrect Packet loss of 99%
225
Opportunistic Routing 50 transmissions
Implication R1 99% (10-3 BER) Loss 0% S D Loss 0% 99% (10-3 BER) R2 Opportunistic Routing 50 transmissions
226
Outline Admin. Link metrics Non-traditional routing motivation
network coding: exploiting network broadcast opportunistic routing ExOR MORE MIXIT
227
New API PHY + LL Deliver correct symbols to higher layer Network
Forward correct symbols to destination
228
What Should Each Router Forward?
P1 P1 P2 R2 P2 P1 P2
229
What Should Each Router Forward?
P1 P2 P1 P1 P2 R2 P2 P1 P2 P1 P2 Forward everything Inefficient Coordinate Unscalable
230
Symbol Level Network Coding
P1 P2 P1 R2 P2 P1 P2 Forward random combinations of correct symbols
231
Symbol Level Network Coding
… … D R2 … … Routers create random combinations of correct symbols
232
Symbol Level Network Coding
… D R2 … Solve 2 equations Destination decodes by solving linear equations
233
Symbol Level Network Coding
… … D R2 … … Routers create random combinations of correct symbols
234
Symbol Level Network Coding
… D R2 … Solve 2 equations Destination decodes by solving linear equations
235
Destination needs to know which combinations it received
Use run length encoding Original Packets Coded Packet
236
Destination needs to know which combinations it received
Use run length encoding Original Packets Coded Packet
237
Destination needs to know which combinations it received
Use run length encoding Original Packets Coded Packet
238
Destination needs to know which combinations it received
Use run length encoding Original Packets Coded Packet
239
Destination needs to know which combinations it received
Use run length encoding
240
Evaluation Implementation on GNURadio SDR and USRP
Zigbee (IEEE ) link layer 25 node indoor testbed, random flows Compared to: Shortest path routing based on ETX MORE: Packet-level opportunistic routing
241
Throughput Comparison
CDF 2.1x MIXIT 3x MORE Shortest Path Throughput (Kbps)
242
Backup Slides
243
Motivation for a Better Metric
244
Implementation and such
Modify DSDV or DSR Example evaluation: in DSDV w/ ETX, route table is a snapshot taken at end of 90 second warm-up period in DSR w/ ETX, source waits additional 15 sec before initiating the route request
245
Where do the gains come from?
CDF MIXIT without concurrency 1.5x MORE Shortest Path Throughput (Kbps) Take concurrency away from MIXIT
246
Where do the gains come from?
CDF MIXIT MORE Shortest Path Throughput (Kbps) Take concurrency away from MIXIT
247
Non-Traditional Routing, Transport and Localization
Y. Richard Yang 3/3/2009
248
Admin. Project proposal: Exam date?
March 6 by to and Exam date?
249
Outline Admin. Opportunistic routing Transport overview
Localization overview
250
Recap: Opportunistic Routing
Basic idea: Take advantage of spatial diversity Key issue Avoid redundancy and interference Techniques ExOR: coordination MORE: coordination -> random network coding
251
Opportunistic Routing 50 transmissions
Problem of MORE R1 99% (10-3 BER) Loss 0% S D Loss 0% 99% (10-3 BER) R2 Opportunistic Routing 50 transmissions
252
MIXIT: Revisiting Link/ Network API
PHY + LL Deliver correct symbols to higher layer Network Forward correct symbols to destination R1 S P1 P1 P2 R2 P2 P1 P2
253
Key Question: What Should Each Router Forward?
P1 P1 P2 R2 P2 P1 P2
254
Key Question: What Should Each Router Forward?
P1 P2 P1 P1 P2 R2 P2 P1 P2 P1 P2 Forward everything Inefficient
255
Symbol Level Network Coding
P1 P2 P1 R2 P2 P1 P2 Forward random combinations of correct symbols
256
Symbol Level Network Coding
… … D R2 … … Routers create random combinations of correct symbols
257
Symbol Level Network Coding
… D R2 … Solve 2 equations Destination decodes by solving linear equations
258
Symbol Level Network Coding
… … D R2 … … Routers create random combinations of correct symbols
259
Symbol Level Network Coding
… D R2 … Solve 2 equations Destination decodes by solving linear equations
260
Problem: Mixed Correct and Incorrect Symbols
Original Packets
261
Destination needs to know which combinations it received
Use run length encoding Original Packets Coded Packet
262
Destination needs to know which combinations it received
Use run length encoding Original Packets Coded Packet
263
Destination needs to know which combinations it received
Use run length encoding Original Packets Coded Packet
264
Destination needs to know which combinations it received
Use run length encoding Original Packets Coded Packet
265
Destination needs to know which combinations it received
Use run length encoding
266
Evaluation Implementation on GNURadio SDR and USRP
Zigbee (IEEE ) link layer 25 node indoor testbed, random flows Compared to: Shortest path routing based on ETX MORE: Packet-level opportunistic routing
267
Throughput Comparison
CDF 2.1x MIXIT 3x MORE Shortest Path Throughput (Kbps)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.