240 likes | 434 Views
On the Use of Queuing Network Models to Predict the Performance of TCP Connections. Michele Garetto R. Lo Cigno, M. Meo, M. Ajmone Marsan. Dipartimento di Elettronica – Politecnico di Torino - Italy. Outline. Motivation Modeling approach Queuing network sub-models: TCP sub-model
E N D
On the Use of Queuing Network Models to Predict the Performance of TCP Connections Michele Garetto R. Lo Cigno, M. Meo, M. Ajmone Marsan Dipartimento di Elettronica – Politecnico di Torino - Italy Taormina, September 19, 2001
Outline • Motivation • Modeling approach • Queuing network sub-models: • TCP sub-model • IP network sub-model • Analytical and simulation results • Conclusions and ongoing work
Motivation • IP network design and planning requires: • powerful optimization algorithms (topology, capacity, routing, ...) • accurate performance models for the IP traffic. Since over 90% of all IP traffic is due to TCP connections, performance models of TCP are a must.
Motivation • Accurate TCP models must consider: • closed loop behavior • short-lived flows • multi-bottleneck topologies • AQM schemes (or droptail) • QoS approaches, two-way traffic, ...
Motivation Developing accurate analytical models of the behavior of TCP is difficult. A number of approaches have been proposed, some based on sophisticated modeling tools. We have devised an approach to use simple queuing network models to carefully describe TCP connections and the underlying IP network.
Modeling approach TCP sub-model 1 load 1 IP network sub-model TCP sub-model N load N packet loss probabilities, queuing delays • decomposition of the whole system into subsystems: sub-models are built for groups of homogeneous TCP connections (same TCP version, similar RTT and routing, ...) and for the IP network. • iterative solution with FPA (Fixed Point Algorithm).
Modeling approach Input variables: only primitive network parameters: • IP network: channel data rates, node distances, buffer sizes, AQM algorithms (or droptail), ... • TCP: number of connections (greedy), connection establishment rates and file length distribution (short-lived connections), segment size, max window size, ... Output variables: • IP network: link utilizations, queuing delays, packet loss probabilities, ... • TCP: average window size and throughput (greedy connections), average completion times (short-lived connections), ...
TCP sub-model • M / G / queues describe statesof the TCP protocol • customers stand for TCP connections • transition probabilities and service times depend on TCP rules and network feedback (packet losses, round trip times, ...) • in the case of short-lived flows, classes are introduced to represent the number of segments still to be transferred The queuing network can be viewed as a Stochastic Finite State Machine (SFSM) describing the protocol behavior.
TCP sub-model(greedy connections) Closed queuing network of TCP Tahoe
TCP sub-model (finite connections) Open multiclass queuing network of TCP Tahoe
IP network sub-model The IP network sub-model is an open queuing network, where each queue represents an output interface of an IP router, with its buffer of finite capacity. Different queuing models were tested: • M / M / 1 / B: very simple, but only suitable when dealing with greedy connections and heavy load links • M [D] / M / 1 / B: to better model the traffic burstiness of short-lived flows under variable link utilization • M [D] / M [D] / 1 / B: a very accurate model, capable of coping with complex multi-bottleneck topologies
Simulation results: settings Packet size: 1000 bytes Buffer size: 128 packets Maximum TCP window size: 64 segments TCP tic: 0.5 s probability Flow length distribution (when mixing different flow lengths) 0.5 0.4 0.1 length (segments) 10 20 100
Simulation results: topology Bottleneck 2 Bottleneck 1
model sim Packet loss probability 0.1 0.01 400 300 20 200 40 N2 60 100 80 100 120 N1 Greedy connections : packet loss probability of connections crossing both bottlenecks
model sim Average window size 6 5 4 3 2 20 40 60 80 100 400 120 N1 300 200 100 N2 Greedy connections : average window size of connections crossing both bottlenecks
Packet loss probability 0.1 0.01 12000 9000 0 6000 200 N2 400 3000 600 800 0 1000 N1 Greedy connections : packet loss probability with increased channel capacity
Finite connections : packet loss probability USA Browsing Local Access analysis - B = 128 0.1 Packet loss probability analysis - B = 64 0.01 0.001 0.75 0.8 0.85 0.9 0.95 1 Link utilization
Finite connections : session completion time 10 sim - 10 packets sim - 20 packets sim - 100 packets model - 10 packets 5.0 model - 20 packets model - 100 packets 2.0 Average completion time (s) 1.0 0.5 0.2 0.75 0.8 0.85 0.9 0.95 1 Load
Comparison of the results obtained for greedy and finite connections (same lenght) 0.1 Packet Loss Probability 0.01 greedy 10 packets 20 packets 40 packets 0.001 100 packets 200 packets 0 100 200 300 400 500 600 Average number of active connections
0.1 Packet Loss Probability 0.01 USA Browsing - finite USA Browsing - greedy Local Access - finite Local Access - greedy 0.001 0 50 100 150 200 250 300 350 400 450 500 Number of active connections Comparison of the results obtained for greedy and finite connections (mixed lenght)
3 Mbs greedy 10 packets 20 packets 2.5 Mbs 40 packets 100 packets 200 packets 2 Mbs Average throughput 1.5 Mbs 1 Mbs 0.5 Mbs 0.001 0.01 0.1 Packet loss Probability Comparison of the results obtained for greedy and finite connections (bottleneck 2)
Comparison of the results obtained for greedy and finite connections (bottleneck 1) 3 Mbs greedy 10 packets 20 packets 2.5 Mbs 40 packets 100 packets 200 packets 2 Mbs Average throughput 1.5 Mbs 1 Mbs 0.5 Mbs 0.001 0.01 0.1 Packet loss Probability
Conclusions and ongoing work • Queuing networks can be successfully used to model TCP connections and IP-based networks • Our approach is modular, scalable and flexible, requiring only the knowledge of the primitive network parameters • Our modeling approach provides insight into the TCP dynamics and the IP network behavior • Work in progress: • other TCP versions (SACK) • account for losses of ACKs on the return path • …