William Stallings Data and Computer Communications Chapter 12

  • Slides: 26
Download presentation
William Stallings Data and Computer Communications Chapter 12 Congestion in Data Networks

William Stallings Data and Computer Communications Chapter 12 Congestion in Data Networks

What Is Congestion? z Congestion occurs when the number of packets being transmitted through

What Is Congestion? z Congestion occurs when the number of packets being transmitted through the network approaches the packet handling capacity of the network z Congestion control aims to keep number of packets below level at which performance falls off dramatically z Data network is a network of queues z Generally 80% utilization is critical z Finite queues mean data may be lost

Queues at a Node

Queues at a Node

Effects of Congestion z Packets arriving are stored at input buffers z Routing decision

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

Interaction of Queues

Interaction of Queues

Ideal Performance Throughput (bits/s) Delay (s) "Power" = Throughput/Delay Load/Maximum. Load ->

Ideal Performance Throughput (bits/s) Delay (s) "Power" = Throughput/Delay Load/Maximum. Load ->

Practical Performance z Ideal assumes infinite buffers and no overhead z Buffers are finite

Practical Performance z Ideal assumes infinite buffers and no overhead z Buffers are finite z Overheads occur in exchanging congestion control messages

Effects of Congestion No Control

Effects of Congestion No Control

Mechanisms for Congestion Control

Mechanisms for Congestion Control

Backpressure z If node becomes congested it can slow down or halt flow of

Backpressure z If node becomes congested it can slow down or halt flow of packets from other nodes z May mean that other nodes have to apply control on incoming packet rates z Propagates back to source z Can restrict to logical connections generating most traffic z Used in connection oriented that allow hop by hop congestion control (e. g. X. 25) z Not used in ATM nor frame relay z Only recently developed for IP

Choke Packet z Control packet y. Generated at congested node y. Sent to source

Choke Packet z Control packet y. Generated at congested node y. Sent to source node ye. g. ICMP source quench x. From router or destination x. Source cuts back until no more source quench message x. Sent for every discarded packet, or anticipated z Rather crude mechanism

Implicit Congestion Signaling z Transmission delay may increase with congestion z Packet may be

Implicit Congestion Signaling z Transmission delay may increase with congestion z Packet may be discarded z Source can detect these as implicit indications of congestion z Useful on connectionless (datagram) networks ye. g. IP based x(TCP includes congestion and flow control - see chapter 17) z Used in frame relay LAPF

Explicit Congestion Signaling z Network alerts end systems of increasing congestion z End systems

Explicit Congestion Signaling z Network alerts end systems of increasing congestion z End systems take steps to reduce offered load z Backwards y. Congestion avoidance in opposite direction to packet required z Forwards y. Congestion avoidance in same direction as packet required

Categories of Explicit Signaling z Binary y. A bit set in a packet indicates

Categories of Explicit Signaling z Binary y. A bit set in a packet indicates congestion z Credit based y. Indicates how many packets source may send y. Common for end to end flow control z Rate based y. Supply explicit data rate limit ye. g. ATM

Traffic Management z Fairness z Quality of service y. May want different treatment for

Traffic Management z Fairness z Quality of service y. May want different treatment for different connections z Reservations ye. g. ATM y. Traffic contract between user and network

Congestion Control in Packet Switched Networks (Explicit) z Send control packet to some or

Congestion Control in Packet Switched Networks (Explicit) z Send control packet to some or all source nodes y. Requires additional traffic during congestion z Rely on routing information y. May react too quickly z End to end probe packets y. Adds to overhead z Add congestion info to packets as they cross nodes y. Either backwards or forwards

Cell Delay Variation z For ATM voice/video, data is a stream of cells z

Cell Delay Variation z For ATM voice/video, data is a stream of cells z Delay across network must be short z Rate of delivery must be constant z There will always be some variation in transit z Delay cell delivery to application so that constant bit rate can be maintained to application

Origins of Cell Delay Variation

Origins of Cell Delay Variation

Traffic Management and Congestion Control Techniques z Resource management using virtual paths z Connection

Traffic Management and Congestion Control Techniques z Resource management using virtual paths z Connection admission control z Usage parameter control z Selective cell discard z Traffic shaping

Configuration of VCCs and VPCs

Configuration of VCCs and VPCs

Connection Admission Control z First line of defense z User specifies traffic characteristics for

Connection Admission Control z First line of defense z User specifies traffic characteristics for new connection (VCC or VPC) by selecting a Qo. S z Network accepts connection only if it can meet the demand z Traffic contract y. Peak cell rate y. Cell delay variation y. Sustainable cell rate y. Burst tolerance

Usage Parameter Control z Monitor connection to ensure traffic informs to contract z Protection

Usage Parameter Control z Monitor connection to ensure traffic informs to contract z Protection of network resources from overload by one connection z Done on VCC and VPC z Peak cell rate and cell delay variation z Sustainable cell rate and burst tolerance z Discard cells that do not conform to traffic contract z Called traffic policing

Traffic Shaping z Smooth out traffic flow and reduce cell clumping z Token bucket

Traffic Shaping z Smooth out traffic flow and reduce cell clumping z Token bucket

Token Bucket

Token Bucket

Cell Flow

Cell Flow

Required Reading z Stallings chapter 12

Required Reading z Stallings chapter 12