Reverse Engineering TCP/ IP Reverse Engineering TCP/ IP
Steven Low EAS, Caltech Joint work with: Li J W P j T T M W Li, J. Wang, Pongsajapan, Tan, Tang, M. Wang
Reverse Engineering TCP/ IP Reverse Engineering TCP/ IP Steven Low - - PowerPoint PPT Presentation
Reverse Engineering TCP/ IP Reverse Engineering TCP/ IP Steven Low EAS, Caltech Joint work with: Li J W Li, J. Wang, Pongsajapan, Tan, Tang, M. Wang P j T T M W Outline Background Layering as optimization decomposition L
Steven Low EAS, Caltech Joint work with: Li J W P j T T M W Li, J. Wang, Pongsajapan, Tan, Tang, M. Wang
L i ti i ti d iti Layering as optimization decomposition Reverse engineering TCP
Delay insensitive utility Delay sensitive utility Delay sensitive utility How bad is single-path routing
Pongsajapan Low Infocom 2007 Pongsajapan, Low, Infocom 2007
application transport Minimize response time (web layout)… Maximize utility (TCP/ AQM) transport network link
Minimize path costs (IP) Reliability, channel access, …
link physical
y, , Minimize SIR, max capacities, …
Application: utility
x U
i i
) ( max
application transport
Application: utility
p c Rx
i i i x
≤
≥
) ( to subj ) ( max
transport network link
Phy: power
X x∈
link physical
IP: routing Link: scheduling
Application objective Network objective
l l i i
l l l i i i x
≥
IP: optimize route given network graph G Link: maximize channel capacity given link resources Rate also constrained by interaction capacity given link resources
w and desired error probability P
Rate also constrained by interaction
Each layer is abstracted as an optimization problem Operation of a layer is a distributed solution Results of one problem (layer) are parameters of Results of one problem (layer) are parameters of
Operate at different timescales
1) U d t d h l i i l ti i
application transport
1) Understand each layer in isolation, assuming
2) Understand interactions across layers
transport network link
2) Understand interactions across layers 3) Incorporate additional layers 4) Ultimate goal: entire protocol stack as
link physical
) g p solving one giant optimization problem, where individual layers are solving parts of it
Network generalized NUM Layers subproblems Layering decomposition methods Layering decomposition methods Interface functions of primal or dual vars
1) U d t d h l i i l ti i
application transport
1) Understand each layer in isolation, assuming
2) Understand interactions across layers
transport network link
2) Understand interactions across layers 3) Incorporate additional layers 4) Ultimate goal: entire protocol stack as
link physical
) g p solving one giant optimization problem, where individual layers are solving parts of it
Optimal web layer: Zhu, Yu, Doyle ’01 HTTP/ TCP: Chang, Liu ’04
application transport
TCP: Kelly, Maulloo, Tan ’98, ……
p network link
TCP/ IP: Wang et al ’05, …… TCP/ MAC: Chen et al ’05, ……
n physical
TCP/ power control: Xiao et al ’01, Chiang ’04, …… C / C C e e a 05, Rate control/ routing/ scheduling: Eryilmax et al ’05, Lin et al ’05, Neely, et al ’05, Stolyar ’05, Chen, et al ’05
Survey in Proc. of IEEE, 2006
L i ti i ti d iti Layering as optimization decomposition Reverse engineering TCP
Delay insensitive utility Delay sensitive utility Delay sensitive utility How bad is single-path routing
g y Pongsajapan, Low, Infocom 2007
R x y F1 G1 R
TCP N t k AQM
FN GL
TCP Network AQM
RT q p
T
Reno, Vegas, FAST
IP routing
DropTail, RED, …
f or ever y RTT { W += 1 }
(AI)
{ W += 1 } f or ever y l oss { W : = W / 2 }
(MD)
Jacobson 1989
i
2
AI MD
l l li i i
2
MD
i l i li l l
TailDrop
per i odi cal l y {
Jin, Wei, Low 2004
α W RTT baseRTT : W + = { }
l li i i i i i
l i li l l l i
i l i li l l l
* * *
T
How to characterize equilibrium of TCP
* * *
T
Reno, Vegas, FAST
IP routing
DropTail, RED, …
* * * * * *
T
i i x
≥
y
Kelly, Maloo, Tan 1998 L L l 1999
g g p
Uniqueness of equilibrium
x* is unique when U is strictly concave
Low, Lapsley 1999
x* is unique when U is strictly concave p* is unique when R has full row rank
* * * * * *
T
i i x
≥
y
Kelly, Maloo, Tan 1998 L L l 1999
g g p
Low, Lapsley 1999
The underlying concave program also y g p g leads to simple dynamic behavior
i i x
≥
Mo & Walrand 2000:
i
− −
1 1
α i i i
V FAST STCP
α = 1 : Vegas, FAST, STCP α = 1.2: HSTCP α = 2 : Reno α 2 : Reno α = : XCP (single link only)
i i x
≥
Mo & Walrand 2000:
i
− −
1 1
α i i i
i h h
α = 0: maximum throughput α = 1: proportional fairness α = 2: min delay fairness α 2: min delay fairness α = : maxmin fairness
Always exists, unique if R is full rank Bandwidth allocation independent of AQM or arrival pattern Can predict macroscopic behavior of large scale Can predict macroscopic behavior of large scale networks
Fair allocation is not always inefficient Increasing link capacities do not always raise h h aggregate throughput
[ Tang, Wang, Low, ToN 2006]
Design, analysis, experiments
[ Jin, Wei, Low, Hegde, ToN 2007]
L i ti i ti d iti Layering as optimization decomposition Reverse engineering TCP
Delay insensitive utility Delay sensitive utility Delay sensitive utility How bad is single-path routing
For joint congestion control and multipath routing:
Gallager (1977), Golestani & Gallager (1980), Bertsekas, Gafni & Gallager (1984), Kelly, Maulloo & Tan (1998), Kar, Sarkar & Tassiulas (2001), Lestas ( ) y ( ) ( ) & Vinnicombe (2004), Kelly & Voice (2005), Lin & Shroff (2006), He, Chiang & Rexford (2006), Paganini (2006)
≥ i i i x R
≥ ≥ l l l i l l li R i i i x p
i i
≥ i i i x R
≥ ≥ l l l i l l li R i i i x p
i i
Shortest path Shortest path routing!
TCP converges instantly TCP converges instantly Route changes slowly
prop delay queueing delay
TCP/ AQM
p(0) p(1)
R(0)
R(1) … R(t), R(t+1) ,
TCP converges instantly TCP converges instantly Route changes slowly
prop delay queueing delay
TCP/ AQM
p(0) p(1)
R(0)
R(1) … R(t), R(t+1) ,
TCP
i i x
≥
i x
≥
≥ ≥ l li i i i x p
≥ l l i l x p
i
AQM
l
Link cost slow timescale
l l l li R i
li
IP
TCP/ AQM
p(0) p(1)
R(0)
R(1) … R(t), R(t+1) ,
Kelly’s problem solved by TCP
⎟ ⎞ ⎜ ⎛ ⎟ ⎞ ⎜ ⎛ ≤
≥ i i i x R
c Rx x U i ) ( i subject to ) ( max max
⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ −
≥ ≥ l l l i l l li R i i i x p
c p p R x x U
i i
min ) ( max min
TCP-AQM IP TCP-AQM
Applications
Q
i i i x R c
≥
Q
IP
TCP/ AQM
T i x
≥
IP Link
TCP/ IP (with fixed c): Equilibrium of TCP/ IP exists iff zero duality gap NP hard but subclass with zero duality gap is P NP-hard, but subclass with zero duality gap is P Equilibrium, if exists, can be unstable Can stabilize, but with reduced utility
, y
Nonzero duality gap: complexity, cost of not splitting
TCP-AQM IP TCP-AQM
Applications
Q
i i i x R c
≥
Q
IP
TCP/ AQM
T i x
≥
IP Link
BUT…
If b>0 then there are networks for which equilibrium routings exist but do not maximize q g any delay insensitive utility function
L i ti i ti d iti Layering as optimization decomposition Reverse engineering TCP
Delay insensitive utility Delay sensitive utility Delay sensitive utility How bad is single-path routing
Pongsajapan Low Infocom 2007 Pongsajapan, Low, Infocom 2007
l l li i i i i i i i i
Link prop delay Round-trip prop delay
l
prop delay prop delay
Round trip propagation delay depends on R Delay sensitive utility function Utility from throughput … balanced by Di tilit f d l Disutility from delay
≤
c Rx d x U subject to ) ( max max
⎟ ⎟ ⎞ ⎜ ⎜ ⎛ + ⎟ ⎞ ⎜ ⎛ + ≤
≥ i i i i x R
c p p R x d x U c Rx d x U ) ( min ) ( max min subject to ) , ( max max
τ ⎟ ⎟ ⎠ ⎜ ⎜ ⎝ + ⎟ ⎠ ⎜ ⎝ + −
≥ ≥ l l l i l l l li R i i i i x p
c p p R x d x U
i i
) ( min ) , ( max min
τ
c c x 2
*
< =
Equilibrium rate:
, − = τ x x V d x U
c c x 2 < =
Equilibrium rate:
' , = − = ∂ ∂ τ τ c V c x U
Equilibrium routing: use short path only
) , ( , τ τ c x U ∂ ∂ + ∞
q g p y
a a# a1 a2
stable unstable stable
# 1 2
L i ti i ti d iti Layering as optimization decomposition Reverse engineering TCP
Delay insensitive utility Delay sensitive utility Delay sensitive utility How bad is single-path routing
Pongsajapan Low Infocom 2007 Pongsajapan, Low, Infocom 2007
Source can split its total rate into multiple paths paths
ik i i
x x x
i
,..., : rate source Total
1
=
j ij i ij
x x x j i || || : path
: path
rate s '
1= ∑ ij j i j
x x max || || : path
=
∞
R x U
i i i x R
≥
bj ) || (|| max max
1
U c Rx ≤
) || (|| subject to
c Rx x U
i i i x R
≤
∞ ≥
subject to ) || (|| max max
ik i i
x x x
i
,..., : rate source Total
1
=
j ij i ij
x x x j i || || : path
: path
rate s '
1= ∑ ij j i j
x x max || || : path
=
∞
R x U
i i i x R
≥
bj ) || (|| max max
1
U c Rx ≤
) || (|| subject to
c Rx x U
i i i x R
≤
∞ ≥
subject to ) || (|| max max
For multi-path routing Joint routing and congestion control is a concave program (polynomial-time solvable) Zero duality gap Zero duality gap Upper bounds max utility of single-path TCP/ IP
R x U
i i i x R
≥
bj ) || (|| max max
1
U c Rx ≤
) || (|| subject to
c Rx x U
i i i x R
≤
∞ ≥
subject to ) || (|| max max
For single-path TCP/ IP: No longer concave program; primal is NP-hard Non-zero duality gap in general Z iff TCP/ IP ilib i i t Zero gap iff TCP/ IP equilibrium exists Duality gap = cost of not splitting
R x U
i i i x R
≥
bj ) || (|| max max
1
U c Rx ≤
) || (|| subject to
c Rx x U
i i i x R
≤
∞ ≥
subject to ) || (|| max max
Theorem For any multi-path solution (R, x), there is a multi-path solution (R’, x’) That uses no more than N+L paths That uses no more than N+L paths Achieves the same utility
R x U
i i i x R
≥
bj ) || (|| max max
1
U c Rx ≤
) || (|| subject to
c Rx x U
i i i x R
≤
∞ ≥
subject to ) || (|| max max
Theorem Duality gap is upper bounded by
max ) , min(
i i
N L ρ =
i
ρ
R x U
i i i x R
≥
bj ) || (|| max max
1
U c Rx ≤
) || (|| subject to
c Rx x U
i i i x R
≤
∞ ≥
subject to ) || (|| max max
Corollary For Vegas/ FAST duality gap is bounded by
i i i i
x x U log ) ( α =
i i i
E ilib i f TCP/ IP b i t t d Equilibrium of TCP/ IP can be interpreted as maximizing network utility over rates & routes
Given routing, TCP utility is increasing in throughput With TCP/ IP, this is no longer the case