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 i ti i ti d iti � Reverse engineering TCP � Reverse engineering TCP/ IP � Reverse engineering TCP/ IP � Delay insensitive utility � Delay sensitive utility � Delay sensitive utility � How bad is single-path routing J. Wang, Li, Low, Doyle. ToN, 2005 Pongsajapan Low Infocom 2007 Pongsajapan, Low, Infocom 2007 M. Wang, Tan, Tang, Low, pre-print, 2009
Layering as optimization decomposition � Each layer designed separately and evolves asynchronously evolves asynchronously � Each layer optimizes certain objectives objectives Minimize response time (web layout)… application transport transport Maximize utility (TCP/ AQM) Minimize path costs (IP) network Reliability, channel access, … y, , link link physical Minimize SIR, max capacities, …
Layering as optimization decomposition • 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 others • Operate at different timescales Application: utility Application: utility application ∑ ∑ ( ( ) ) transport transport U x max max i i i i ≥ 0 x Phy: power i network ≤ subj to ( ) Rx c p link link x ∈ X physical IP: routing Link: scheduling
A wireless example Application objective Network objective + ∑ ∑ ∑ ∑ ( ( ) ) ( ( ) ) U x V w max max i i i i l l l l ≥ 0 x i l ≤ ≤ subj subj to to ( ( ) ) ( ( , , ) ) R R G G x x c c w w P P ∈ ( ) P x C IP: optimize route given network graph G Link: maximize channel capacity given link resources capacity given link resources Rate also constrained by interaction Rate also constrained by interaction w and desired error probability P of coding mechanism & ARQ
Layering as optimization decomposition � 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 others � Operate at different timescales 1) U d 1) Understand each layer in isolation, assuming t d h l i i l ti i application other layers are designed nearly optimally transport transport 2) Understand interactions across layers 2) Understand interactions across layers network 3) Incorporate additional layers 4) Ultimate goal: entire protocol stack as ) g p link link solving one giant optimization problem, where physical individual layers are solving parts of it
Layering as optimization decomposition � Network generalized NUM � Layers subproblems � Layering � Layering decomposition methods decomposition methods � Interface functions of primal or dual vars 1) Understand each layer in isolation, assuming 1) U d t d h l i i l ti i application other layers are designed nearly optimally transport transport 2) Understand interactions across layers 2) Understand interactions across layers network 3) Incorporate additional layers 4) Ultimate goal: entire protocol stack as ) g p link link solving one giant optimization problem, where physical individual layers are solving parts of it
Examples Optimal web layer: Zhu, Yu, Doyle ’01 HTTP/ TCP: Chang, Liu ’04 application transport p TCP: Kelly, Maulloo, Tan ’98, …… network TCP/ IP: Wang et al ’05, …… link n TCP/ MAC: Chen et al ’05, …… C / C C e e a 05, physical TCP/ power control: Xiao et al ’01, Chiang ’04, …… 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
Outline � Background � L � Layering as optimization decomposition i ti i ti d iti � Reverse engineering TCP � Reverse engineering TCP/ IP � Reverse engineering TCP/ IP � Delay insensitive utility � Delay sensitive utility � Delay sensitive utility � How bad is single-path routing J. Wang, Li, Low, Doyle. ToN, 2005 g y Pongsajapan, Low, Infocom 2007 M. Wang, Tan, Tang, Low, pre-print, 2009
Network model: general x y R R F 1 G 1 Network N t k AQM AQM TCP TCP F N G L q p R T = 1 if source uses link R li i l IP routing + = T ( 1 ) ( ( ), ( )) x t F R p t x t Reno, Vegas, FAST + = ( 1 ) ( ( ), ( )) p t G p t Rx t DropTail, RED, …
Network model: example f or ever y RTT Reno: (AI) { { W W += 1 } += 1 } Jacobson f or ever y l oss 1989 (MD) { W : = W / 2 } AI 2 1 x ∑ ∑ + + = = − i ( ( 1 1 ) ) ( ( ) ) x x t t R R p p t t MD MD i li l 2 2 T l i ⎛ ⎛ ⎞ ⎞ ∑ ∑ + = ⎜ ⎜ ⎟ ⎟ ( 1 ) ( ), ( ) p t G R x t p t TailDrop l l li i l ⎝ ⎠ i
Network model: example per i odi cal l y FAST: FAST: { { baseRTT = + α W : W Jin, Wei, Low RTT 2004 } γ ⎛ ⎞ ∑ + = + − ⎜ α ⎟ i ( 1 ) ( ) ( ) ( ) x t x t x t R p t i i i i li l ⎝ ⎝ ⎠ ⎠ T T l i ⎛ ⎞ 1 ⎝ ∑ ∑ + = + ⎜ ⎜ − ⎟ ⎟ ( ( 1 ) ) ( ( ) ) ( ( ) ) p p t p p t R x t c l l l l li li i i l l ⎠ c i l
� How to characterize equilibrium of TCP = * * * T ( ( , , ) ) x F R p p x = * * * ( , ) p G p Rx = 1 if source uses link R li i l IP routing + = T ( 1 ) ( ( ), ( )) x t F R p t x t Reno, Vegas, FAST + = ( 1 ) ( ( ), ( )) p t G p t Rx t DropTail, RED, …
Duality model of TCP = � TCP * * * T ( , ) x F R p x = = * * * ( ( , ) ) p p G G p p Rx Rx � Equilibrium (x*,p*) primal-dual optimal: ∑ ∑ ≤ max ( ) subject to U x Rx c i i ≥ 0 x � F determines utility function U y � G guarantees complementary slackness � p* are Lagrange multipliers p g g p Kelly, Maloo, Tan 1998 L Low, Lapsley 1999 L l 1999 Uniqueness of equilibrium � x* is unique when U is strictly concave � x* is unique when U is strictly concave � p* is unique when R has full row rank
Duality model of TCP = � TCP * * * T ( , ) x F R p x = = * * * ( ( , ) ) p p G G p p Rx Rx � Equilibrium (x*,p*) primal-dual optimal: ∑ ∑ ≤ max ( ) subject to U x Rx c i i ≥ 0 x � F determines utility function U y � G guarantees complementary slackness � p* are Lagrange multipliers p g g p Kelly, Maloo, Tan 1998 L Low, Lapsley 1999 L l 1999 The underlying concave program also y g p g leads to simple dynamic behavior
Duality model of TCP � Equilibrium (x*,p*) primal-dual optimal: ∑ ≤ max ( ) subject to U x Rx c i i ≥ 0 x Mo & Walrand 2000: α = ⎧ ⎪ log if 1 x = = i ⎨ ⎨ ( ( ) ) U U x x − α i i ⎪ − − α α ≠ 1 1 ( 1 ) if 1 ⎩ x i � α = 1 : Vegas, FAST, STCP V FAST STCP � α = 1.2: HSTCP � α = 2 : Reno � α 2 : Reno ∞ � α = : XCP (single link only)
Duality model of TCP � Equilibrium (x*,p*) primal-dual optimal: ∑ ≤ max ( ) subject to U x Rx c i i ≥ 0 x Mo & Walrand 2000: α = ⎧ ⎪ log if 1 x = = i ⎨ ⎨ ( ( ) ) U U x x − α i i ⎪ − − α α ≠ 1 1 ( 1 ) if 1 ⎩ x i � α = 0: maximum throughput i h h � α = 1: proportional fairness � α = 2: min delay fairness � α 2: min delay fairness ∞ � α = : maxmin fairness
Some implications � Equilibrium E ilib i � 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 � Counter-intuitive throughput behavior g p � Fair allocation is not always inefficient � Increasing link capacities do not always raise aggregate throughput h h [ Tang, Wang, Low, ToN 2006] � FAST TCP � FAST TCP � Design, analysis, experiments [ Jin, Wei, Low, Hegde, ToN 2007]
Outline � Background � L � Layering as optimization decomposition i ti i ti d iti � Reverse engineering TCP � Reverse engineering TCP/ IP � Reverse engineering TCP/ IP � 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)
Motivation ∑ ∑ ≤ ≤ Primal Primal : : max max ( ( ) ) subject to subject to U U x x Rx Rx c c max max i i ≥ R 0 x i ⎛ ⎛ ⎞ ⎞ ⎛ ⎛ ⎞ ⎞ ∑ ∑ ∑ ∑ ∑ ∑ ⎜ ⎜ ⎟ ⎟ − + ⎜ ⎜ ⎟ ⎟ Dual D : l min i ( ( ) ) min i U U x x R R p p c max ⎜ ⎟ i i i li l l l ⎝ ⎠ ≥ ⎝ ⎠ 0 ≥ p R 0 x i i l l i
Recommend
More recommend