150 likes | 239 Views
Overview. Last Lecture X.25 Source: chapter 10 This Lecture Congestion control Source: chapter 12 Next Lecture Internet Protocols (1) Source: chapter 15. What is congestion?. Congestion
E N D
Overview • Last Lecture • X.25 • Source: chapter 10 • This Lecture • Congestion control • Source: chapter 12 • Next Lecture • Internet Protocols (1) • Source: chapter 15
What is congestion? • Congestion • Congestion occurs when the number of packets being transmitted through the network approaches the packet handling capacity of the network • Effect: Too many packets are present in the subnet, a situation which causes performance degradation • Similar to road congestion
Queues in network • Data network is a network of queues • 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 • Finite queues mean data may be lost, can discard packets • Generally 80% utilization is critical
Effects of Congestion • Ideal performance • Ideal assumes infinite buffers and no overhead
Effects of Congestion • Practical performance • Buffers are finite • Overheads occur in exchanging congestion control messages
Congestion control • Congestion control aims to keep number of packets below level at which performance falls off dramatically • Mechanisms • Backpressure • Choke packet • Traffic shaping/traffic policing • Implicit congestion signaling • Explicit congestion signaling • Load shedding
Backpressure • If a node becomes congested it can slow down or halt flow of packets from other nodes • May mean that other nodes have to apply control on incoming packet rates • Propagates back to source • Can restrict to logical connections generating most traffic • Used in connection oriented that allow hop by hop congestion control (e.g. X.25) • Not used in ATM nor frame relay • Only recently developed for IP • Disadvantage • May be too slow to react to congestion situations, because it takes a long time to propagate congestion information back to the source
Choke Packet • Choke packets are used as messengers to pass congestion information • Idea • Each router monitors the utilization of its output line. • If the utilization is above a threshold, the output line enters a “warning” state • When in a warning state, the router sends a choke packet back to the source host, giving it the destination found in the packet • The original packet is tagged so that the routers along the path will not generate choke packets for the packet • When the source host gets the choke packet, it is required to reduce the traffic sent to the specified destination by X percent. • ICMP source quench in Internet • From router or destination • Source cuts back until no more source quench message • Sent for every discarded packet, or anticipated
Traffic shaping • Traffic shaping is about regulating the average rate of data transmission • There is a contract between a customer and a carrier • The carrier monitors traffic flow from the customer according to the contract, a procedure called traffic policing • Leaky bucket algorithm • Imagine a bucket with a small hole in the bottom • No matter at what rate water enters the bucket, the outflow is at a constant rate • Once the bucket is full, any additional water entering it spills over the sides and is lost • The same idea can be applied to the packets • Each host is connected to the network by an interface containing a leaky bucket
Traffic shaping • Problem with leaky bucket • enforces a rigid output pattern at the average rate, no matter how bursty the traffic is • For some applications, it is better to allow the output to speed up when large bursts arrive. • Token bucket algorithm • Every ∆T second a token is generated and put into the bucket • When a packet is to be transmitted, a token must be captured and destroyed • If there is no token in the bucket, the algorithm can not transmit any packet • Idle hosts can save up permission (tokens) to send bursts later. The maximum number of tokens allowed to be saved is n • Token bucket algorithm does not discard packets
Congestion Signaling • Implicit Congestion Signaling • Transmission delay may increase with congestion • Packet may be discarded • Source can detect these as implicit indications of congestion • Useful on connectionless (datagram) networks • e.g. IP based • TCP includes congestion and flow control based on delay - see chapter 17 • Used in frame relay LAPF • Explicit Congestion Signaling • Network alerts end systems of increasing congestion • End systems take steps to reduce offered load • Backwards • Congestion avoidance in opposite direction to packet is required • Forwards • Congestion avoidance in the same direction as packet is required • Used in Frame Relay and ATM
Categories of Explicit Signaling • Binary • A bit set in a packet indicates congestion • Used in Frame Relay • Credit based • Indicates how many packets source may send • Common for end to end flow control • Rate based • Supply explicit data rate limit • e.g. ATM
Load shedding • Last resort! • When routers are being inundated by packets that they can not handle, they just throw them away • Dropping packets randomly may not reduce congestion. • Dropping one packet may cause several packets coming back! • Remember the error control algorithm! • Select the right packets to drop is very important • For file transfer, old packet is worth more than a new one (wine) • For multimedia, a new packet is more important than an old one (milk) • Senders’ co-operation is needed • Senders must mark their packets in priority classes to indicate how important they are • A full frame is more important than a difference frame in compressed video transmission • The routers can first drop packets from the lowest class, then the next lowest class, and so on.
More issues in congestion control • Traffic Management • Fairness • Quality of service • May want different treatment for different connections • Reservations • e.g. ATM • Traffic contract between user and network • 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 as they cross nodes • Either backwards or forwards
Summary • Congestion • Effect of congestion • Congestion control • Backpressure • Choke packet • Traffic shaping/traffic policing • Implicit congestion signaling • Explicit congestion signaling • Load shedding • Issues in congestion control