1 Transport BW Allocation, and Review of Network Routing 11/2/2009.
-
Upload
peter-cole -
Category
Documents
-
view
214 -
download
0
Transcript of 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.
![Page 1: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/1.jpg)
1
Transport BW Allocation, and Review of Network Routing
11/2/2009
![Page 2: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/2.jpg)
Recap: Questions
Forward engineering: which allocation objective?
Reverse engineering: what are the objectives of TCP/Reno, TCP/Vegas?
2
Objective Allocation (x1, x2, x3)
TCP/Reno 0.26 0.74 0.74
TCP/Vegas 1/3 2/3 2/3
Max throughput 0 1 1
Max-min ½ ½ ½
Max sum log(x) 1/3 2/3 2/3
Max sum of -1/(RTT2 x) 0.26 0.74 0.74
0over
link any for subject to
max
link uses :
x
lcx
xU
lfflf
Ffff
![Page 3: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/3.jpg)
3
Recall: Resource Allocation Framework
Maximize aggregate utility, subject to capacity constraints
0over
link any for subject to
max
link uses :
x
lcx
xU
lfflf
Ffff
![Page 4: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/4.jpg)
4
A One-Slide Summary of Optimization Theory
Sx
xg
xf
over
0)(subject to
)(max
g(x)
f(x)
f(x) concaveg(x) linearS is a convex set
)()(max)( xqgxfqDSx
q1 q2S
-D(q) is called the dual;q (>= 0) are called prices in economics- Then according to optimization theory: when D(q) achieves minimum over all q (>= 0), then the optimization objective is achieved.
-D(q) provides an upper bound on obj.
![Page 5: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/5.jpg)
5
Decomposition
Assume each link l has non-negative congestion signal ql, consider the dual D(q)
f l
llfflff
xcxqxUqD
f
)()(max)( uses:
0
f l
lllllfff
xcqqxxU
f uses f :0
)(max
l
lllllfff
fx
cqqxxUf uses f :
0)(max
x1
x2 x31 1
![Page 6: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/6.jpg)
6
Distributed Optimization: User Problem
Given price signal per unit rate pf (=sum of ql along the path) flow f chooses rate xf to maximize:
Using the price signals, the optimization problem of each user is independent of each other
0over
max
x
pxxU
f
ffffx f
![Page 7: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/7.jpg)
7
Distributed Optimization: User Problem
0over
max
x
pxxU
f
ffffx f
0' fff pxU
At equilibrium (i.e., at optimal), xf satisfies:
How should flow f adjust xf locally?
ffff pxUx '
![Page 8: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/8.jpg)
8
Interpreting Congestion Measure
xf(t)
ql(t) q2(t)
l uses flf qp ffff pxUx '
![Page 9: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/9.jpg)
9
Distributed Optimization: Network Problem
The network (i.e., link l) adjusts the link signals ql (assume after all flows have picked their optimal rates given congestion signal)
l
lllllfff
fx
cqqxxUqDf uses f :
0)(max)(
l lf
fllq xcqqD uses f :
0 )()(~
min
![Page 10: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/10.jpg)
10
Distributed Optimization: Network Problem
lffl
l
xcqDq uses:
)(
lqqD
lq)(
how should link l adjust ql locally?
l lf
fllq xcqqD uses f :
)()(min
llffl cxq
uses:
![Page 11: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/11.jpg)
11
Decomposition
SYSTEM(U):
USERf:
NETWORK:
0over
link any for subject to
max
link uses :
x
lcx
xU
lfflf
Ffff
0over
max
x
pxxU
f
ffffx f
l lf
fllq xcqqD uses f :
0 )()(~
min
![Page 12: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/12.jpg)
Outline
Bandwidth allocation framework framework Nash Bargaining Solution (NBS) distributed computation TCP/Reno, TCP/Vegas revisited
12
![Page 13: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/13.jpg)
13
fff pxU '
TCP/Reno Dynamics
)(x 22
2
2
2 pxRTT
x
2
' 2)(
RTTxxU
fff
ffff pxUx '
fff xRTTxU
2
2)(
![Page 14: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/14.jpg)
14
fff pxU '
TCP/Vegas Dynamics
xff xU )('
))(( min2 RTTRTTx xRTTx
)log()( fff xxU
ffff pxUx '
![Page 15: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/15.jpg)
15
Summary: TCP/Vegas and TCP/Reno
Pricing signal is queueing delay Tqueueing
queueingTfx
queueingff TxU )('
fff xxU
)('
)log()( fff xxU
pxU ff )('
2
' )(
RTTxxU
fff
pRTTfx
Pricing signal is loss rate p
fff xRTTxU
2
')(
![Page 16: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/16.jpg)
16
Summary: Global Network Bandwidth Allocation
Understand protocols, e.g., Reno, Vegas
Design new e2e congestion control and router queue management protocols e.g., FAST , XCP
Pointer: congestion control through game theory and economics http://www.statslab.cam.ac.uk/~frank/pf/
0over
subject to
max
x
CAx
xUFf
ff
![Page 17: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/17.jpg)
Exam 1
Covers lectures 1-16 and the preceding part of today’s lecture
A one-page “cheat” sheet
17
![Page 18: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/18.jpg)
18
Recap: Network Layer: Protocols
forwarding
Network layer functions:
Routing protocols•path selection•e.g., RIP, OSPF, BGP
Network layer protocol (e.g., IP)•addressing conventions•packet format•packet handling conventions
Control protocols•error reporting e.g. ICMP
Transport layer
Link layer
physical layer
Networklayer
Control protocols- router “signaling” e.g. RSVP
![Page 19: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/19.jpg)
19
Recap: Routing Design Space
Routing has a large design space who decides routing? how many paths from source s to destination
d? will routing adapt to network traffic demand? …
We focus mostly on network-based, single-path, static routing
- Robustness- Optimality- Simplicity
![Page 20: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/20.jpg)
Example: Cisco Proprietary Recommendation on Link Cost
Link metric:
By default, k1=k3=1 and k2=k4=k5=0. The default composite metric for EIGRP, adjusted for scaling factors, is as follows:
EIGRP : Enhanced Interior Gateway Routing Protocol
![Page 21: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/21.jpg)
EIGRP Link Cost
BWmin is in kbps and the sum of delays are in 10s of microseconds.
Example The bandwidth and delay for an Ethernet
interface are 10 Mbps and 1ms, respectively. The calculated EIGRP BW metric is as follows:
256 × 107/BW = 256 × 107/10,000 = 256 × 10000 = 256000
![Page 22: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/22.jpg)
22
Recap: Synchronous Bellman-Ford (SBF)
Nodes update in rounds: there is a global clock; at the beginning of each round, each node
sends its estimate to all of its neighbors; at the end of the round, updates its
estimation ))((min)1( )( hddhd jijiNji
A
E D
CB7
810
2
1
2
A
B
E
C
D
?)0(d
![Page 23: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/23.jpg)
23
Recap: Properties of SBF
Monotonicity: if d(t) d’(t) => d(t+1) d’(t+1)
• i.e., each node has a higher estimate in one scenario (d) than in another scenario (d’), then each node has a higher estimate in d than in d’ after one round of synchronous update.
SBF/ computes the shortest path costs Bellman equation has a unique solution SBF/-1 also computes the shortest path
costs
))((min)1( )( hddhd jijiNji
![Page 24: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/24.jpg)
Recap: Asynchronous Bellman-Ford (ABF)
No notion of global iterations each node updates at its own pace
Asynchronously each node i computes
using last received value dij from neighbor j.
Asyncrhonously node j sends its estimate to its neighbor i: there is an upper bound on the delay of
estimate packets (no worry for out of order)
)(min )(ijijiNji ddd
![Page 25: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/25.jpg)
Distance Table: ExampleA
E D
CB7
8
10
2
1
2
d ()
A
B
C
D
E
distance tablesfrom neighbors
dest
inat
ions
computation E’sdistance
table
distance table E sends to its neighbors
A: 10
B: 8
C: 4
D: 2
E: 0
Below is just one step! The protocol repeats forever!
10 15
A B D
0 7
A B D
10 8 2
7 0
1 2
0
A: 10
B: 8
D: 4
D: 2
17 8
9 4
2
![Page 26: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/26.jpg)
Recap: Asynchronous Bellman-Ford: Summary
Distributed: each node communicates its routing table to its directly-attached neighbors
Iterative: continues periodically or when link changes, e.g. detects a link failure
Asynchronous: nodes need not exchange info/iterate in lock step!
Convergence in finite steps, independent of initial condition if network is connected
![Page 27: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/27.jpg)
Properties of Distance-Vector Algorithms
Good news propagate fast
![Page 28: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/28.jpg)
Properties of Distance-Vector Algorithms Bad news propagate slowly
This is called the counting-to-infinity problem
Question: why does counting-to-infinity happen?
![Page 29: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/29.jpg)
What is a Routing Loop?
A routing 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, … E such that A (locally) thinks B as down stream, B thinks C as down stream, … E thinks A as down stream
29
![Page 30: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/30.jpg)
Backup Slides
30
![Page 31: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/31.jpg)
31
Network problem
As if the network maximizes a logarithmic utility function, but with constants (wf, fF) chosen by the users
0over
link any for subject to
max
link uses :
log
x
lcx
xw
lfflf
Ffff
![Page 32: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/32.jpg)
32
Three Optimization Problems
SYSTEM(Uf):
USERf(Uf; pf)
NETWORK(wf)
0over
link any for subject to
max
link uses :
x
lcx
xU
lfflf
Ffff
0over
max
x
pxxU
f
ffffx f
![Page 33: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/33.jpg)
33
Decomposition Theorem
There exist vectors p , w and x such that
1. wf = pfxf for f F
2. wf solves USERf(Uf; pf)
3. x solves NETWORK(w)
1. The vector x then also solves SYSTEM(U).
![Page 34: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/34.jpg)
34
Another Decomposition
SYSTEM(U):
USERf(Uf; pf)
NETWORK(wf)
0over
link any for subject to
max
link uses :
x
lcx
xU
lfflf
Ffff
0over
max
w
wU
f
fp
wf
x f
f
f
0over
link any for subject to
logmax
link uses :
x
lcx
w
lfflf
Fffxf f
![Page 35: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/35.jpg)
35
Decomposition Theorem
There exist vectors p , w and x such that
1. wf = pfxf for f F
2. wf solves USERf(Uf; pf)
3. x solves NETWORK(w)
1. The vector x then also solves SYSTEM(U).
![Page 36: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/36.jpg)
36
TCP/Reno: Equilibrium
Pricing signal is aggregated loss rate p
2
' 2)(
RTTxxU
fff
fff xRTTxU
2
2)(
pRTTfx
fff pxU '
![Page 37: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/37.jpg)
37
TCP/Vegas: Equilibrium
Pricing signal is queueing delay Tqueueing
queueingTfx
fff xxU
)('
)log()( fff xxU
fff pxU '
![Page 38: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/38.jpg)
Summary: Network Bandwidth Allocation
Forward engineering: how to determine objective functions: “first-
principles” approach to derive utility functions given objective, how to design effective alg (?)
Reverse engineering: understand current protocols
Discussion: problems of the framework38
0over
link any for subject to
max
link uses :
x
lcx
xU
lfflf
Ffff
![Page 39: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/39.jpg)
39
Using Virtual Circuit to Implement Network Services
In order to provide some functionalities, a network may choose virtual circuit, e.g., Virtual Private Network (VPN)
![Page 40: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/40.jpg)
40
Using Datagram to Implement the Most Basic Network Service
A datagram network generally provides simple services: the forwarding of packets from src to dest.
We will focus on datagram networks which provide best effort service extensions to provide more services will be discussed
in the multimedia networking part of the course
![Page 41: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/41.jpg)
EIGRP Neighbor Discovery
EIGRP routers actively establish relationships with their neighbors
EIGRP routers establish adjacencies with neighbor routers by using small hello packets.
The Hello protocol uses a multicast address of 224.0.0.10, and all routers periodically send hellos.
![Page 42: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/42.jpg)
EIGRP Neighbor Discovery
On hearing hellos, the router creates a table of its neighbors.
The continued receipt of these packets maintains the neighbor table
By forming adjacencies, EIGRP routers do the following:
Dynamically learn of new routes that join their network
Identify routers that become either unreachable or inoperable
Rediscover routers that had previously been unreachable
![Page 43: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/43.jpg)
43
Neighbor Discovery - 3
![Page 44: 1 Transport BW Allocation, and Review of Network Routing 11/2/2009.](https://reader036.fdocuments.us/reader036/viewer/2022062517/56649edc5503460f94bec85c/html5/thumbnails/44.jpg)
Default Hello Intervals and Hold Time for EIGRP