Unit 4 Of ACN
- When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results.
- Because routers are receiving packets faster than they can forward them, one of two things must happen:
- The subnet must prevent additional packets from entering the congested region until those already present can be processed.
- The congested routers can discard queued packets to make room for those that are arriving.
Factors that Cause Congestion
- Packet arrival rate exceeds the outgoing link capacity.
- Insufficient memory to store arriving packets
Congestion Control vs Flow Control
- Congestion control is a global issue – involves every router and host within the subnet
- Flow control – scope is point-to-point; involves just sender and receiver.
Congestion Control, cont.
- Congestion Control is concerned with efficiently using a network at high load.
- Techniques for detection and recovery are:
- A special bit in the packet header is set by the router to warn the source when congestion is detected.
- The bit is copied and piggy-backed on the ACK and sent to the sender.
- The sender monitors the number of ACK packets it receives with the warning bit set and adjusts its transmission rate accordingly.
- A more direct way of telling the source to slow down.
- A choke packet is a control packet generated at a congested node and transmitted to restrict traffic flow.
- The source, on receiving the choke packet must reduce its transmission rate by a certain percentage.
- An example of a choke packet is the ICMP Source Quench Packet.
Hop-by-Hop Choke Packets
- Over long distances or at high speeds choke packets are not very effective.
- A more efficient method is to send to choke packets hop-by-hop.
- This requires each hop to reduce its transmission even before the choke packet arrive at the source.
- When buffers become full, routers simply discard packets.
- Which packet is chosen to be the victim depends on the application and on the error strategy used in the data link layer.
- For a file transfer, for, e.g. cannot discard older packets since this will cause a gap in the received data.
- For real-time voice or video it is probably better to
- throw away old data and keep new packets.
- Get the application to mark packets with discard priority.