Performance Evaluation of TCP Flows Florian Hisch Chair for Network Architectures and Services Department for Computer Science Technische Universit¨ at M¨ unchen 11.07.2014 1 Florian Hisch: Performance Evaluation of TCP Flows
Outline Overview of TCP and AQM 1 2 TCP Throughput / Performance Models Single Connection Models (SCM) Multiple Connections Models (MCM) Fluid Models 3 Modeling Process Assumptions Model Validation Techniques Applicability 4 5 Conclusion 2 Florian Hisch: Performance Evaluation of TCP Flows
Transmission Control Protocol (TCP) Protocol Topology most used transport protocol ISO/OSI level 4 usually in combination with IP (called TCP/IP) 5-7 ... ... TCP 4 Transport , UDP, ... 3 Network IP 2 Data Link Ethernet Token Ring 1 Physical ... Figure : TCP in the ISO/OSI protocol stack. 3 Florian Hisch: Performance Evaluation of TCP Flows
Transmission Control Protocol (TCP) Data Transfer connection oriented protocol data partitioned in segments with unique segment-numbers received segments are acknowledged (with an ACK) missing segments can be resend Transfer Control sliding window with size WND Flow Control: not to overload the receiver Flow Window Size RWND Congestion Control: not to overload the network Congestion Window Size CWND 4 Florian Hisch: Performance Evaluation of TCP Flows
Transmission Control Protocol (TCP) Connection Phases 1 Connection Establishment (Three-Way-Handshake) Figure : Three-Way-Handshake during TCP initialization. 5 Florian Hisch: Performance Evaluation of TCP Flows
Transmission Control Protocol (TCP) Connection Phases 1 Connection Establishment (Three-Way-Handshake) 2 Date Transfer 1 Initial Slow Start Congestion Window Size X Congestion Threshold Time t Figure : Size of the Congestion Window over time. 6 Florian Hisch: Performance Evaluation of TCP Flows
Transmission Control Protocol (TCP) Connection Phases 1 Connection Establishment (Three-Way-Handshake) 2 Date Transfer 1 Initial Slow Start 2 Congestion Avoidance Slow Start Window Bisection Fast Retransmit / Fast Recovery Congestion Window Size Triple Duplicated ACKs X Triple Duplicated ACKs Timeout Congestion Threshold Time t Figure : Size of the Congestion Window over time. 7 Florian Hisch: Performance Evaluation of TCP Flows
Transmission Control Protocol (TCP) Connection Phases 1 Connection Establishment (Three-Way-Handshake) 2 Date Transfer 1 Initial Slow Start 2 Congestion Avoidance Slow Start Window Bisection Fast Retransmit / Fast Recovery 3 Connection Teardown 8 Florian Hisch: Performance Evaluation of TCP Flows Figure : TCP Teardown.
Active Queuing Management (AQM) Basics routers have buffers for incoming packets dropping policy Example: Taildrop drops incoming packets only if buffer is full synchronizes TCP flows simple but limits the network performance Example: Random Early Drop (RED) drop probability is a function of buffer fill randomness desynchronizes TCP flows rather simple but ignores Quality of Service 9 Florian Hisch: Performance Evaluation of TCP Flows
Active Queuing Management (AQM) Basics routers have buffers for incoming packets dropping policy Example: Taildrop drops incoming packets only if buffer is full synchronizes TCP flows simple but limits the network performance Example: Random Early Drop (RED) drop probability is a function of buffer fill randomness desynchronizes TCP flows rather simple but ignores Quality of Service 9 Florian Hisch: Performance Evaluation of TCP Flows
Active Queuing Management (AQM) Basics routers have buffers for incoming packets dropping policy Example: Taildrop drops incoming packets only if buffer is full synchronizes TCP flows simple but limits the network performance Example: Random Early Drop (RED) drop probability is a function of buffer fill randomness desynchronizes TCP flows rather simple but ignores Quality of Service 9 Florian Hisch: Performance Evaluation of TCP Flows
TCP Modeling Why to model TCP performance? tries to express TCP / AQM behavior in math used to estimate the overall performance of a specific network used to improve the behavior for the next TCP version Model classification Single Connection Models (SCM) Multiple Connections Models (MCM) Fluid Models 10 Florian Hisch: Performance Evaluation of TCP Flows
Single Connection Models (SCM) Basics observes a single TCP flow can model all aspects of TCP behavior for single and multiple bottleneck networks Examples RTT + D s · ( 1 − p r + 1 − p f E [ D h ] = − 2) 1 − 2 p r 1 − 2 p f � E [ S ss ]( γ − 1) � E [ D ss ] = RTT · log γ + 1 w 1 2 − q 2 2 + 3 q 2 � 3 � � 7 4 − 5 q � 8 + q W 2 + E [ S CAFR ] = W 2 2 1 − 2 q + q 2 � � − 11 Florian Hisch: Performance Evaluation of TCP Flows
Multiple Connections Models (MCM) Basics observes a many TCP flow can model nearly all aspects of TCP behavior in some cases: heterogeneous traffic (e.g. UDP) for single and multiple bottleneck networks 12 Florian Hisch: Performance Evaluation of TCP Flows
Fluid Models Basics observes all network links and TCP flows can only model the Congestion Avoidance behavior AQM can be modeled very easy whole model can be expressed in aprox. 3 equations Example (F,G,H)-Model � + � x s ( t ) + 1 − q s ( t ) − 2 3 q s ( t ) x 2 x s ( t + 1) = F s ( x s ( t ) , q s ( t )) = s ( t ) RTT 2 s 13 Florian Hisch: Performance Evaluation of TCP Flows
Assumptions Data Transfer deals with the availability / length of data performance depends on data length (Short- / Long-Lived flows) most TCP flows are rather short (e.g. HTTP over TCP) but typical assumption: data always available Fluid models need to assume endless data 14 Florian Hisch: Performance Evaluation of TCP Flows
Assumptions End Points defines the expected behavior of the flow end-points needed because of various TCP versions (Tahoe, Reno, Vegas, ...) most papers show results for some versions typical assumption: Nagle algorithm off size of receiver window ... 15 Florian Hisch: Performance Evaluation of TCP Flows
Assumptions Network TCP throughput is function of loss probability p p depends on the network topology (Tethered, WiFi) typical assumption: RTT is independent from Congestion Window RTT is constant Tethered / WiFi ... 16 Florian Hisch: Performance Evaluation of TCP Flows
Model Validation Techniques Simulation full knowledge on the environment not simulated side-effects can affect throughput in reality TCP implementation can differ from real implementation in operation systems Controlled Measurements real-world side-effects affect the results high effort to control the network environment Live Measurements model can be validated against the reality small knowledge of the environment 17 Florian Hisch: Performance Evaluation of TCP Flows
Model Validation Techniques Simulation full knowledge on the environment not simulated side-effects can affect throughput in reality TCP implementation can differ from real implementation in operation systems Controlled Measurements real-world side-effects affect the results high effort to control the network environment Live Measurements model can be validated against the reality small knowledge of the environment 17 Florian Hisch: Performance Evaluation of TCP Flows
Model Validation Techniques Simulation full knowledge on the environment not simulated side-effects can affect throughput in reality TCP implementation can differ from real implementation in operation systems Controlled Measurements real-world side-effects affect the results high effort to control the network environment Live Measurements model can be validated against the reality small knowledge of the environment 17 Florian Hisch: Performance Evaluation of TCP Flows
Applicability depends on the assumptions models are only valid in special network topologies most models consider a single bottleneck link 1 1 2 2 bottleneck R1 R2 n n Figure : Single Bottleneck layout. n sources and sinks are connected via a single link which has more incoming data than it can handle. 18 Florian Hisch: Performance Evaluation of TCP Flows
Applicability Applicability Matrix RTT Variance Losses Variance small large small large single tethered X X bottleneck wireless X X multiple tethered X X bottleneck wireless X X 19 Florian Hisch: Performance Evaluation of TCP Flows
Conclusion TCP Models Single / Multiple Connection(s) Models: microscopic TCP modeling loose accuracy in complex networks Fluid Models: macroscopic TCP modeling accurate in complex networks simple modeling of Active Queuing Management Assumptions Data transfer, End Points, Network Validation Techniques Simulation, Controlled Measurements, Live Measurements Applicability Most cases: Single Bottleneck, small tethered networks 20 Florian Hisch: Performance Evaluation of TCP Flows
Questions? Thanks for your attention! Source (for figures) : Lecture slides: Grundlagen Rechnernetzte und Verteilte Systeme, SoSe 2013 21 Florian Hisch: Performance Evaluation of TCP Flows
Questions? Thanks for your attention! Source (for figures) : Lecture slides: Grundlagen Rechnernetzte und Verteilte Systeme, SoSe 2013 21 Florian Hisch: Performance Evaluation of TCP Flows
Recommend
More recommend