Semester 1 2009-2010Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room.

Slides:



Advertisements
Similar presentations
EE 4272Spring, 2003 Chapter 12 Congestion in Data Networks Effect of Congestion Control  Ideal Performance  Practical Performance Congestion Control.
Advertisements

TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
William Stallings Data and Computer Communications 7 th Edition Chapter 13 Congestion in Data Networks.
CONGESTION CONTROL T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Computer Networks Transport Layer. Topics F Introduction (6.1)  F Connection Issues ( ) F TCP (6.4)
William Stallings Data and Computer Communications 7th Edition
CS 408 Computer Networks Congestion Control (from Chapter 05)
Chapter 10 Congestion Control in Data Networks1 Congestion Control in Data Networks and Internets COMP5416 Chapter 10.
Semester Copyright USM EEE442 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
Chapter 12 TCP Traffic Control Chapter 12 TCP Traffic Control.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Congestion Dr. Abdulaziz Almulhem. Almulhem©20012 Congestion It occurs when network resources are becoming scarce High demand Over utilized Offered load.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168) Limited Transmit (RFC 3042)
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
1 Internet Networking Spring 2003 Tutorial 11 Explicit Congestion Notification (RFC 3168)
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
Data Communication and Networks
Networks : TCP Congestion Control1 TCP Congestion Control.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #8 Explicit Congestion Notification (RFC 3168) Limited Transmit.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
Computer Networks Set 9 Congestion in Data Networks.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
CIS : TCP Traffic Control. Effect of Window Size W = TCP window size (octets) R = Data rate (bps) at TCP source D = Propagation delay (seconds)
Chapter 12 Transmission Control Protocol (TCP)
CSC 581 Communication Networks II Chapter 7c: Congestion Control Dr. Cheer-Sun Yang.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Chapter 10 Congestion Control in Data Networks and Internets 1 Chapter 10 Congestion Control in Data Networks and Internets.
Karn’s Algorithm Do not use measured RTT to update SRTT and SDEV Calculate backoff RTO when a retransmission occurs Use backoff RTO for segments until.
Other Methods of Dealing with Congestion
Congestion Control in Data Networks and Internets
Internet Networking recitation #9
Topics discussed in this section:
Chapter 3 outline 3.1 transport-layer services
William Stallings Data and Computer Communications
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Lecture 19 – TCP Performance
William Stallings Data and Computer Communications
Other Methods of Dealing with Congestion
Congestion Control in Data Networks and Internets
Other Methods of Dealing with Congestion
Congestion Control (from Chapter 05)
Internet Networking recitation #10
Congestion Control (from Chapter 05)
Chapter 17. Transport Protocols
Figure Areas in an autonomous system
Chapter 11. Frame Relay Background Frame Relay Protocol Architecture
Congestion Control (from Chapter 05)
CS4470 Computer Networking Protocols
TCP Overview.
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Transport Layer: Congestion Control
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Presentation transcript:

Semester Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14

Semester Copyright USM What Is Congestion? congestion occurs when the no of packets being transmitted through the network approaches the packet handling capacity of the network congestion control aims to keep no of packets below a level at which performance falls off dramatically a data network is a network of queues generally 80% utilization is critical finite queues mean data may be lost

Semester Copyright USM Queues at a Node

Semester Copyright USM Interaction of Queues

Semester Copyright USM Ideal Network Utilization

Semester Copyright USM Effects of Congestion - No Control

Semester Copyright USM Mechanisms for Congestion Control

Semester Copyright USM Backpressure if node becomes congested it can slow down or halt flow of packets from other nodes –cf. backpressure in blocked fluid pipe –may mean that other nodes have to apply control on incoming packet rates –propagates back to source can restrict to high traffic logical connections used in connection oriented nets that allow hop by hop congestion control

Semester Copyright USM Choke Packet a control packet –generated at congested node –sent to source node –eg. ICMP source quench from router or destination source cuts back until no more source quench message sent for every discarded packet, or anticipated is a rather crude mechanism

Semester Copyright USM Implicit Congestion Signaling transmission delay increases with congestion hence a packet may be discarded source detects this implicit congestion indication useful on connectionless (datagram) networks –eg. IP based

Semester Copyright USM Explicit Congestion Signaling network alerts end systems of increasing congestion end systems take steps to reduce offered load Backwards –congestion avoidance notification in opposite direction to packet required Forwards –congestion avoidance notification in same direction as packet required

Semester Copyright USM Explicit Signaling Categories Binary –a bit set in a packet indicates congestion Credit based –indicates how many packets source may send –common for end to end flow control Rate based –supply explicit data rate limit –nodes along path may request rate reduction

Semester Copyright USM Traffic Management fairness –provide equal treatment of various flows quality of service –different treatment for different connections reservations –traffic contract between user and network –carry best-effort or discard excess traffic

Semester Copyright USM Congestion Control in Packet Switched Networks send control packet to some or all source nodes –requires additional traffic during congestion rely on routing information –may react too quickly end to end probe packets –adds to overhead add congestion info to packets in transit –either backwards or forwards

Semester Copyright USM Congestion Control in TCP/IP networks Credit-based flow control also used for congestion control –recognize increased transit times & dropped packets –react by reducing flow of data Three categories –retransmission timer management –window management –Active queue management

Semester Copyright USM Retransmission Timer Management static timer likely too long or too short estimate round trip delay by observing pattern of delay for recent segments set time to value a bit greater than estimate simple average over a number of segments exponential average using time series RTT Variance Estimation

Semester Copyright USM Window Management slow start –larger windows cause problem on connection created –at start limit TCP to 1 segment –increase when data ACK, exponential growth dynamic windows sizing on congestion –when a timeout occurs perhaps due to congestion –set slow start threshold to half current congestion window –set window to 1 and slow start until threshold –beyond threshold, increase window by 1 for each RTT

Semester Copyright USM Slow start TCP transmission is constrained by –awnd = allowed window (the number of segments that TCP is currently allowed to send without receiving acknowledgement –Cwnd = congestion window used during startup and to reduce flow during period of congestion –Credit = the amount of unused credit granted in the most recent acknowledgement When a new connection is opened, TCP initialises cwnd=1 Each time an ACK is received, the value of cwnd is increased by 1. Cwnd increases exponentially; may be too agressive awnd = MIN [credit,cwnd]

Semester Copyright USM Dynamic window sizing on congestion Begins with a slow start, followed by a linear growth in cwnd When time out occurs –Set a slow-start threshold equal to half the current congestion window; ssthresh = cwnd/2 –Set cwnd =1 and perform slow start process until cwnd = ssthreshold. –For cwnd >= ssthresh, increase cwnd by one for each round trip time.

Semester Copyright USM Window Management

Semester Copyright USM Fast Retransmit Fast Recovery retransmit timer rather longer than RTT if segment lost TCP slow to retransmit fast retransmit –if receive 4 ACKs for same segment (ie 3 duplicate ACKs) then immediately retransmit since likely lost fast recovery –lost segment means some congestion –halve window then increase linearly –avoids slow-start

Semester Copyright USM Active Queue Management Dropping packets is inefficient Burst are inevitable. Keeping queue size small and actively managing queues improves a router's ability to absorb bursts without dropping excessive packets useful to detect impending congestion conditions and actively manage congestion before it gets out of hand. technique in which routers actively drop packets from queues as a signal to senders that they should slow down

Semester Copyright USM Active Queue Management Recovering from many dropped packets is more difficult than recovering from a single dropped packet Large queue can translate into delay. Active queue management allows queues to be smaller, which improves throughput Lock-out occurs when a host fills a queue and prevents other hosts from using the queue. Active queue management can prevent this condition.

Semester Copyright USM Random Early Drop (RED) uses statistical methods to drop packets in a probabilistic way before queues overflow slows a source down enough to keep the queue steady and reduces the number of packets that would be lost when a queue overflows makes two important decisions- when to drop packets and what packets to drop keeps track of an average queue size and drops packets when the average queue size grows beyond a defined threshold The average size is recalculated every time a new packet arrives at the queue RED makes packet-drop decisions based on two parameters: –Minimum threshold (minth) Specifies the average queue size below which no packets will be dropped. –Maximum threshold (maxth) Specifies the average queue size above which all packets will be dropped

Semester Copyright USM Explicit Congestion Notification in TCP/IP network Explicit Congestion Notification is an extension proposed to RED which marks a packet instead of dropping it when the average queue size is between minth and maxth Upon receipt of a congestion marked packet, the TCP receiver informs the sender (in the subsequent ACK) about incipient congestion which will in turn trigger the congestion avoidance algorithm at the sender the sender triggers its congestion avoidance algorithm by halving its congestion window, cwnd, and updating its congestion window threshold value ssthresh. Once it has taken these appropriate steps, the sender sets the CWR bit on the next data outgoing packet to tell the receiver that it has reacted to the (receiver's) notification of congestion. The receiver reacts to the CWR by halting the sending of the congestion notifications, ECN-Echo (ECE) to the sender if there is no new congestion in the network