Presentation is loading. Please wait.

Presentation is loading. Please wait.

Network: Location Management

Similar presentations


Presentation on theme: "Network: Location Management"— Presentation transcript:

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)


Download ppt "Network: Location Management"

Similar presentations


Ads by Google