Data Communication & Networks G Session 9 - Main Theme Network Congestion: Causes, Effects, Controls. Dr. Jean-Claude Franchitti

Similar documents
Outline. TCP connection setup/data transfer Computer Networking. TCP Reliability. Congestion sources and collapse. Congestion control basics

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Router-assisted congestion control. Lecture 8 CS 653, Fall 2010

First Midterm for ECE374 03/09/12 Solution!!

TCP in Wireless Mobile Networks

Chapter 6 Congestion Control and Resource Allocation

Final for ECE374 05/06/13 Solution!!

Transport Layer Protocols

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

A Survey on Congestion Control Mechanisms for Performance Improvement of TCP

TCP over Wireless Networks

First Midterm for ECE374 03/24/11 Solution!!

Transport layer issues in ad hoc wireless networks Dmitrij Lagutin,

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

TCP for Wireless Networks

TCP/IP Over Lossy Links - TCP SACK without Congestion Control

TCP and Wireless Networks Classical Approaches Optimizations TCP for 2.5G/3G Systems. Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme

TCP, Active Queue Management and QoS

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

Data Networks Summer 2007 Homework #3

Visualizations and Correlations in Troubleshooting

TCP Westwood for Wireless

Architecture and Performance of the Internet

Midterm Exam CMPSCI 453: Computer Networks Fall 2011 Prof. Jim Kurose

Mobile Communications Chapter 9: Mobile Transport Layer

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

17: Queue Management. Queuing. Mark Handley

Computer Networks - CS132/EECS148 - Spring

Low-rate TCP-targeted Denial of Service Attack Defense

International Journal of Scientific & Engineering Research, Volume 6, Issue 7, July ISSN

Transport Layer and Data Center TCP

Internet structure: network of networks

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

COMP 361 Computer Communications Networks. Fall Semester Midterm Examination

15-441: Computer Networks Homework 2 Solution

Simulation-Based Comparisons of Solutions for TCP Packet Reordering in Wireless Network

Prefix AggregaNon. Company X and Company Y connect to the same ISP, and they are assigned the prefixes:

Transport layer protocols for ad hoc networks

Computer Networks. Chapter 5 Transport Protocols

Parallel TCP Data Transfers: A Practical Model and its Application

Introduction. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Lecture 8 Performance Measurements and Metrics. Performance Metrics. Outline. Performance Metrics. Performance Metrics Performance Measurements

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

Congestions and Control Mechanisms n Wired and Wireless Networks

TRANSPORT LAYER AND SECURITY PROTOCOLS FOR AD HOC WIRELESS NETWORKS

COMP 3331/9331: Computer Networks and Applications. Lab Exercise 3: TCP and UDP (Solutions)

An enhanced TCP mechanism Fast-TCP in IP networks with wireless links

Lecture Objectives. Lecture 07 Mobile Networks: TCP in Wireless Networks. Agenda. TCP Flow Control. Flow Control Can Limit Throughput (1)

TCP Trunking for Bandwidth Management of Aggregate Traffic

Protagonist International Journal of Management And Technology (PIJMT) Online ISSN Vol 2 No 3 (May-2015) Active Queue Management

The Problem with TCP. Overcoming TCP s Drawbacks

Active Queue Management (AQM) based Internet Congestion Control

SJBIT, Bangalore, KARNATAKA

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

Wide Area Networks. Learning Objectives. LAN and WAN. School of Business Eastern Illinois University. (Week 11, Thursday 3/22/2007)

Data Communications & Networks. Session 6 Main Theme Reliable Data Transfer. Dr. Jean-Claude Franchitti

High Speed Internet Access Using Satellite-Based DVB Networks

CS268 Exam Solutions. 1) End-to-End (20 pts)

4 High-speed Transmission and Interoperability

Packet Queueing Delay

Optimization of Communication Systems Lecture 6: Internet TCP Congestion Control

Question: 3 When using Application Intelligence, Server Time may be defined as.

HyperIP : VERITAS Replication Application Note

2 TCP-like Design. Answer

EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics and Computer Science

Applying Router-Assisted Congestion Control to Wireless Networks: Challenges and Solutions 1

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT:

Chaoyang University of Technology, Taiwan, ROC. 2 Department of Computer Science and Information Engineering

Delay, loss, layered architectures. packets queue in router buffers. packets queueing (delay)

CSE 123: Computer Networks

A Survey: High Speed TCP Variants in Wireless Networks

AN IMPROVED SNOOP FOR TCP RENO AND TCP SACK IN WIRED-CUM- WIRELESS NETWORKS

Sources: Chapter 6 from. Computer Networking: A Top-Down Approach Featuring the Internet, by Kurose and Ross

PART III. OPS-based wide area networks

CHAPTER 1 ATM TRAFFIC MANAGEMENT

Digital Audio and Video Data

Motivation. QoS Guarantees. Internet service classes. Certain applications require minimum level of network performance:

TCP/IP Optimization for Wide Area Storage Networks. Dr. Joseph L White Juniper Networks

Performance Measurement of Wireless LAN Using Open Source

Traffic Mangement in ATM Networks Dollar Day Sale

Effects of Filler Traffic In IP Networks. Adam Feldman April 5, 2001 Master s Project

CS 78 Computer Networks. Internet Protocol (IP) our focus. The Network Layer. Interplay between routing and forwarding

Network Performance: Networks must be fast. What are the essential network performance metrics: bandwidth and latency

An Improved TCP Congestion Control Algorithm for Wireless Networks

TCP Adaptation for MPI on Long-and-Fat Networks

ICTCP: Incast Congestion Control for TCP in Data Center Networks

Efficient End-to-End Mobility Support in IPv6

Distributed Systems 3. Network Quality of Service (QoS)

Answer: that dprop equals dtrans. seconds. a) d prop. b) d trans

Flow aware networking for effective quality of service control

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

TCP in Wireless Networks

A Transport Protocol for Multimedia Wireless Sensor Networks

Quality of Service using Traffic Engineering over MPLS: An Analysis. Praveen Bhaniramka, Wei Sun, Raj Jain

Application Level Congestion Control Enhancements in High BDP Networks. Anupama Sundaresan

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

Random Early Detection Gateways for Congestion Avoidance

Research of TCP ssthresh Dynamical Adjustment Algorithm Based on Available Bandwidth in Mixed Networks

Mobile Computing/ Mobile Networks

Traffic Control Functions in ATM Networks Byung G. Kim Payoff

Transcription:

Data Communication & Networks G22.2262-001 Session 9 - Main Theme Network Congestion: Causes, Effects, Controls Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda What is Congestion? Effects of Congestion Causes/Costs of Congestion Approaches Towards Congestion Control TCP Congestion Control TCP Fairness Conclusion 2

Part I What is Congestion? 3 What is Congestion? Congestion occurs when the number of packets being transmitted through the network approaches the packet handling capacity of the network Congestion control aims to keep number of packets below level at which performance falls off dramatically Data network is a network of queues Generally 80% utilization is critical Finite queues mean data may be lost A top-10 problem! 4

Queues at a Node 5 Part II Effects of Congestion? 6

Effects of Congestion Packets arriving are stored at input buffers Routing decision made Packet moves to output buffer Packets queued for output transmitted as fast as possible Statistical time division multiplexing If packets arrive to fast to be routed, or to be output, buffers will fill Can discard packets Can use flow control Can propagate congestion through network 7 Interaction of Queues 8

Part III Causes/Costs of Congestion 9 Causes/Costs of Congestion: Scenario 1 two senders, two receivers one router, infinite buffers no retransmission large delays when congested maximum achievable throughput 10

Causes/Costs of Congestion: Scenario 2 one router, finite buffers sender retransmission of lost packet 11 Causes/Costs of Congestion: Scenario 2 always: λ = λ (λ in = λ in ) in out perfect retransmission only when loss: λ > λ in out retransmission of delayed (not lost) packet makes λ in larger (than perfect case) for same λ out costs of congestion: more work (retrans) for given goodput 12 unneeded retransmissions: link carries multiple copies of pkt

Causes/Costs of Congestion: Scenario 3 four senders multihop paths timeout/retransmit Q: what happens as and increase? λ in λ in 13 Causes/Costs of Congestion: Scenario 3 Another cost of congestion: when packet dropped, any upstream transmission capacity used for that packet was wasted! 14

Part IV Approaches Towards Congestion Control 15 Approaches Towards Congestion Control Two broad approaches towards congestion control: End-end congestion control: no explicit feedback from network congestion inferred from end-system observed loss, delay approach taken by TCP Network-assisted congestion control: routers provide feedback to end systems single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) explicit rate sender should send at 16

Case Study: ATM ABR Congestion Control ABR: available bit rate: elastic service if sender s path underloaded : sender should use available bandwidth if sender s path congested: sender throttled to minimum guaranteed rate RM (resource management) cells: sent by sender, interspersed with data cells bits in RM cell set by switches ( network-assisted ) NI bit:no increase in rate (mild congestion) CI bit:congestion indication RM cells returned to sender by receiver, with bits intact 17 Case Study: ATM ABR Congestion Control two-byte ER (explicit rate) field in RM cell congested switch may lower ER value in cell sender send rate thus minimum supportable rate on path EFCI bit in data cells: set to 1 in congested switch if data cell preceding RM cell has EFCI set, sender sets CI bit in returned RM cell 18

Part V TCP Congestion Control 19 TCP Congestion Control end-end control (no network assistance) sender limits transmission: LastByteSent-LastByteAcked CongWin Roughly, rate = CongWin RTT CongWin is dynamic, function of perceived network congestion Bytes/sec How does sender perceive congestion? loss event = timeout or 3 duplicate acks TCP sender reduces rate (CongWin) after loss event three mechanisms: AIMD slow start conservative after timeout events 20

TCP AIMD multiplicative decrease: cut CongWin in half after loss event congestion window additive increase: increase CongWin by 1 MSS every RTT in the absence of loss events: probing 24 Kbytes 16 Kbytes 8 Kbytes time Long-lived TCP connection 21 TCP Slow Start When connection begins, CongWin = 1 MSS Example: MSS = 500 bytes & RTT = 200 msec initial rate = 20 kbps available bandwidth may be >> MSS/RTT desirable to quickly ramp up to respectable rate When connection begins, increase rate exponentially fast until first loss event 22

TCP Slow Start (more) When connection begins, increase rate exponentially until first loss event: RTT Host A Host B one segment two segments double CongWin every RTT done by incrementing CongWin for every ACK received four segments Summary: initial rate is slow but ramps up exponentially fast time 23 Refinement After 3 dup ACKs: CongWin is cut in half window then grows linearly But after timeout event: CongWin instead set to 1 MSS; window then grows exponentially to a threshold, then grows linearly Philosophy: 3 dup ACKs indicates network capable of delivering some segments timeout before 3 dup ACKs is more alarming 24

Refinement (more) Q: When should the exponential increase switch to linear? A: When CongWin gets to 1/2 of its value before timeout. Implementation: Variable Threshold At loss event, Threshold is set to 1/2 of CongWin just before loss event 25 Summary: TCP Congestion Control When CongWin is below Threshold, sender in slowstart phase, window grows exponentially When CongWin is above Threshold, sender is in congestion-avoidance phase, window grows linearly When a triple duplicate ACK occurs, Threshold set to CongWin/2 and CongWin set to Threshold When timeout occurs, Threshold set to CongWin/2 and CongWin is set to 1 MSS 26

Part VI TCP Fairness 27 TCP Fairness Fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection 1 TCP connection 2 bottleneck router capacity R 28

Why is TCP Fair? Two competing sessions: Additive increase gives slope of 1, as throughout increases multiplicative decrease decreases throughput proportionally R equal bandwidth share Connection 2 throughput Connection 1 throughput loss: decrease window by factor of 2 congestion avoidance: additive increase loss: decrease window by factor of 2 congestion avoidance: additive increase R 29 Fairness (more) Fairness and UDP Multimedia apps often do not use TCP do not want rate throttled by congestion control Instead use UDP: pump audio/video at constant rate, tolerate packet loss Research area: TCP friendly Fairness and parallel TCP connections nothing prevents app from opening parallel connections between 2 hosts. Web browsers do this Example: link of rate R supporting 9 connections; new app asks for 1 TCP, gets rate R/10 new app asks for 11 TCPs, gets 30 R/2!

Part VII Conclusion 31 Assignment & Readings Assignment #5 (due 04/15/10) Assigned at the completion of Session 8 Readings Chapter 3 (3.6, 3.7) RFC 2581 32

Next Session: Java Sockets 33