[comp.protocols.tcp-ip] ICMP source quench

a20@nikhefh.nikhef.nl (Marten Terpstra) (02/22/91)

Hi all,

Can anyone tell me what causes an ICMP source quench message to be sent ?
As far as I can tell this message has something to do with the load on an
interface and tells a host to slow down the sending of packets. I notice a
lot of these messages on my cisco with a heavily loaded serial interface
(mostly 70-80% of the 64 Kbit/s).

What do hosts that recieve this messages do with it ? Can it cause an ICMP
Network is down ? Does it in any way have an effect on outstanding TCP
connections ?

Thanks for any hints,

Marten
--
Marten Terpstra                                  National Institute for Nuclear
Internet : terpstra@nikhef.nl 		                and High Energy Physics
Oldie-net: {....}mcsun!nikhefh!terpstra	      (NIKHEF-H), PO Box 41882, 1009 DB
Phone    : +31 20 592 5102                           Amsterdam, The Netherlands

barmar@think.com (Barry Margolin) (02/23/91)

In article <1155@nikhefh.nikhef.nl> a20@nikhefh.nikhef.nl (Marten Terpstra) writes:
>Can anyone tell me what causes an ICMP source quench message to be sent ?
>As far as I can tell this message has something to do with the load on an
>interface and tells a host to slow down the sending of packets. I notice a
>lot of these messages on my cisco with a heavily loaded serial interface
>(mostly 70-80% of the 64 Kbit/s).

Your guess is pretty correct.  A router sends a quench when it has to
discard an IP datagram due to lack of buffer space.  The hope is that this
will cause the sender to slow down.  It can easily happen when forwarding
lots of data from a fast link to a slow link, if the packets are being
received faster than they can be forwarded, since the router only has a
finite amount of buffer space.

>What do hosts that recieve this messages do with it ? Can it cause an ICMP
>Network is down ? Does it in any way have an effect on outstanding TCP
>connections ?

The only thing a host should do when it receives a source quench is slow
its rate of transmission to that router.  It might do this by setting a
delay on the TCP connection that the source quench came from, or by setting
a delay attribute in the routing table entry to that destination.

See the Host Requirements RFC for more information on Source Quench.
--
Barry Margolin, Thinking Machines Corp.

barmar@think.com
{uunet,harvard}!think!barmar