[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Network layer reqt? [was Re: Transport level multihoming]
> In my experience it is usually only severe turbulance which triggers
> an ICMP back to an endpoint that causes sessions to die; multi-minute
> packet loss due to loops in response to re-homing is not altogether
> usual, I think.
note: typical ICMP errors generated as a result of route flaps/hiccups
that are sent back to an originating end system do not/should not
cause sessions to die. RFC 1122 makes this clear. I've appended an
excerpt from 1122 on this topic. Note also, that pretty much all TCPs
seem to do the right thing now, though it took many many years.
Thomas
4.2.3.9 ICMP Messages
TCP MUST act on an ICMP error message passed up from the IP
layer, directing it to the connection that created the
error. The necessary demultiplexing information can be
found in the IP header contained within the ICMP message.
o Source Quench
TCP MUST react to a Source Quench by slowing
transmission on the connection. The RECOMMENDED
procedure is for a Source Quench to trigger a "slow
start," as if a retransmission timeout had occurred.
o Destination Unreachable -- codes 0, 1, 5
Since these Unreachable messages indicate soft error
Internet Engineering Task Force [Page 103]
RFC1122 TRANSPORT LAYER -- TCP October 1989
conditions, TCP MUST NOT abort the connection, and it
SHOULD make the information available to the
application.
DISCUSSION:
TCP could report the soft error condition directly
to the application layer with an upcall to the
ERROR_REPORT routine, or it could merely note the
message and report it to the application only when
and if the TCP connection times out.
o Destination Unreachable -- codes 2-4
These are hard error conditions, so TCP SHOULD abort
the connection.
o Time Exceeded -- codes 0, 1
This should be handled the same way as Destination
Unreachable codes 0, 1, 5 (see above).
o Parameter Problem
This should be handled the same way as Destination
Unreachable codes 0, 1, 5 (see above).