Congestion Control
- Backpressure
- A node quite a way from the source begins to experience congestion.
- Packets from the preceding node begin to experience delay, causing congestion on that node.
- This continues back to the source.
- This can happen
- Just because it does
- To selected links
- To selected sources
- To selected applications
- But it requires more intelligence as we go up the list
- This requires a network that can do hop-by hop flow control
- Which most don't do.
- Choke Packet
- This is an ICMP source quench.
- It should be delivered to the source to tell it to cut back.
- Stallings calls this a "crude technique"
- Implicit Congestion Signaling
- This relies on sources to detect that packet delays are increasing.
- Or to detect increased packet loss
- Take this as a signal of trouble and reduce transmission rates.
- This will fix the problem.
- This works in connectionless/datagram networks.
- TCP performs at this level.
- This requires no support from the lower levels of the network.
- This is also called end-to-end congestion control
- Explicit Congestion Signaling
- On connection oriented networks.
- All nodes upstream, back to the source, can be notified to slow down.
- This is done with header information in return values (like acks)
- Or through explicit messages.
- Or the down stream nodes can be notified
- In this case, flow control should be passed on to a higher level (TCP)
- Or the destination can send information back in acks.
- This can be done by changing packet headers as well.