Re: Router Requirements Inactivity
mahdavi@tesla.psc.edu Wed, 01 June 1994 15:56 UTC
Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa04449; 1 Jun 94 11:56 EDT
Received: from CNRI.RESTON.VA.US by IETF.CNRI.Reston.VA.US id aa04442; 1 Jun 94 11:56 EDT
Received: from moe.rice.edu by CNRI.Reston.VA.US id aa22920; 1 Jun 94 11:56 EDT
Received: from tesla.psc.edu by moe.rice.edu (AA20014); Wed, 1 Jun 94 10:32:11 CDT
Received: from localhost by tesla.psc.edu (5.65/Ultrix3.0-C 11/12/92 nydick) id AA04305; Wed, 1 Jun 1994 11:31:56 -0400
Message-Id: <9406011531.AA04305@tesla.psc.edu>
To: Frank Kastenholz <kasten@research.ftp.com>
Cc: rreq@rice.edu, Steve Knowles <stev@ftp.com>, Bill Manning <bmanning@rice.edu>, mahdavi@tesla.psc.edu
Subject: Re: Router Requirements Inactivity
In-Reply-To: Your message of "Tue, 31 May 94 07:46:13 EDT." <Pine.3.89.9405310741.A3682-0100000@research.ftp.com>
Date: Wed, 01 Jun 1994 11:31:55 -0400
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: mahdavi@tesla.psc.edu
X-Mts: smtp
> So, those of you who have writing assignments, and you should know who you > are, really should get them submitted to the RR mailing list in the next 2 > weeks or so. If there are no contributions, then there will be nothing to > discuss, the agenda will be empty, and we'll have no meeting... Below is a draft of text to deprecate the ICMP Source Quench messages. It goes a bit beyond this in terms of discussion, including more information and references on what people are doing or theorizing about congestion control. Most of the text was borrowed from the latest rreq draft. I believe this will be sort of parallel to the main document, since there was a feeling at the meeting that this was a quick and dirty thing that could be finished in short order. (I know that it still needs page numbers, etc. to be a real draft...) Comments/concerns? --Jamshid Router Requirements (RREQ) J. Mahdavi INTERNET DRAFT Pgh. Supercomputing Ctr. mahdavi@psc.edu Congestion Control Requirements for IP Routers <draft-ietf-rreq-cong-control-require-00.txt> Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet- Drafts Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). ABSTRACT This memo updates the status of congestion control algorithms described in RFC1009 to conform with today's practices. Specifically, it deprecates the use of ICMP Source Quench in routers as a means of congestion control. It includes discussion of current ad hoc congestion control practices in routers, but does not specify further requirements in this area. 1. Introduction This memo updates the status of congestion control algorithms described in RFC 1009 to conform with today's practices. RFC 1009 specifies that routers must use ICMP Source Quench messages to enforce congestion control in cases where routers are forced to drop IP datagrams due to congestion. However, research seems to suggest that Source Quench consumes network bandwidth but is an ineffective (and unfair) antidote to congestion. See, for example, [Mankin90] and [Finn89]. Section 2 depricates the use of ICMP Source Quench as a means of congestion control. Section 3 discusses the current thinking on how routers ought to deal with overload and network congestion. 2. ICMP Source Quench Should Not Be Implemented. A router SHOULD NOT originate ICMP Source Quench messages. As specified below, a router which does originate Source Quench messages MUST be able to limit the rate at which they are generated. A router MAY ignore any ICMP Source Quench messages it receives. A router which sends ICMP Source Quench messages MUST be able to limit the rate at which the messages can be generated. A router SHOULD also be able to limit the rate at which it sends other sorts of ICMP error messages (Destination Unreachable, Redirect, Time Exceeded, Parameter Problem). The rate limit parameters SHOULD be settable as part of the configuration of the router. How the limits are applied (e.g., per router or per interface) is left to the implementor's discretion. DISCUSSION: Two problems for a router sending ICMP error message are: (1) The consumption of bandwidth on the reverse path, and (2) The use of router resources (e.g., memory, CPU time) To help solve these problems a router can limit the frequency with which it generates ICMP error messages. For similar reasons, a router may limit the frequency at which some other sorts of messages, such as ICMP Echo Replies, are generated. IMPLEMENTATION: Various mechanisms have been used or proposed for limiting the rate at which ICMP messages are sent: (1) Count-based -- for example, send an ICMP error message for every N dropped packets overall or per given source host. This mechanism might be appropriate for ICMP Source Quench, but probably not for other types of ICMP messages. (2) Timer-based -- for example, send an ICMP error message to a given source host or overall at most once per T milliseconds. (3) Bandwidth-based -- for example, limit the rate at which ICMP messages are sent over a particular interface to some fraction of the attached network's bandwidth. ICMP Source Quench error messages MUST have their IP Precedence field set to the same value as the IP Precedence field in the packet which provoked the sending of the ICMP Source Quench message. All other ICMP error messages (Destination Unreachable, Redirect, Time Exceeded, and Parameter Problem) MUST have their precedence value set to 6 (INTERNETWORK CONTROL) or 7 (NETWORK CONTROL), SHOULD be 7. The IP Precedence value for these error messages MAY be settable. An ICMP reply message MUST have its IP Precedence field set to the same value as the IP Precedence field in the ICMP request that provoked the reply. 3. Congestion Control Techniques Congestion in a network is loosely defined as a condition where demand for resources (usually bandwidth or CPU time) exceeds capacity. Congestion avoidance tries to prevent demand from exceeding capacity, while congestion recovery tries to restore an operative state. It is possible for a router to contribute to both of these mechanisms. A great deal of effort has been spent studying the problem. The reader is encouraged to read [Mankin91] for a survey of the work. Important papers on the subject include [Nagle87], [Jain], [Jacobson88], and [Finn89], among others. The amount of storage that router should have available to handle peak instantaneous demand when hosts use reasonable congestion policies, such as described in [Jacobson88], is a function of the product of the bandwidth of the link times the path delay of the flows using the link, and therefore storage should increase as this Bandwidth*Delay product increases. The exact function relating storage capacity to probability of discard is not known. When a router receives a packet beyond its storage capacity it must (by definition, not by decree) discard it or some other packet or packets. Which packet to discard is the subject of much study but, unfortunately, little agreement so far. A router MAY discard the packet it has just received; this is the simplest but not the best policy. It is agreed that some form of "strategic drop" algorithm will provide better stability under congestion. Some examples of strategic drop algorithms are Random Drop [Hashem89], Early Random Drop [Zhang91], and Random Early Detection (RED) [Floyd93]. A router MAY use any of these strategic drop algorithms to implement congestion control. If a router implements a strategic drop policy (such as RED) under which it chooses a packet to discard from among a pool of eligible packets: + If precedence-ordered queue service is implemented and enabled, the router MUST NOT discard a packet whose IP precedence is higher than that of a packet which is not discarded. + A router MAY protect packets whose IP headers request the "maximize reliability" TOS, except where doing so would be in violation of the previous rule. + A router MAY protect fragmented IP packets, on the theory that dropping a fragment of a datagram may increase congestion by causing all fragments of the datagram to be retransmitted by the source. + To help prevent routing perturbations or disruption of management functions, the router MAY protect packets used for routing control, link control, or network management from being discarded. Dedicated routers (i.e.. routers which are not also general purpose hosts, terminal servers, etc.) can achieve an approximation of this rule by protecting packets whose source or destination is the router itself. Advanced methods of congestion control include a notion of fairness, so that the 'user' that is penalized by losing a packet is the one that contributed the most to the congestion. No matter what mechanism is implemented to deal with bandwidth congestion control, it is important that the CPU effort expended be sufficiently small that the router is not driven into CPU congestion also. Because a router must (by necessity) discard packets under conditions of severe congestion, a router will, by definition, implement SOME congestion control algorithm. While it is not specified what algorithm must be implemented, a router SHOULD document the congestion control algorithm it uses. As described in Section 2, this document recommends that a router SHOULD NOT send a Source Quench to the sender of the packet that it is discarding. ICMP Source Quench is a very weak mechanism, so it is not necessary for a router to send it, and host software should not use it exclusively as an indicator of congestion. 4. Acknowledement Much of the text for this document was taken from an internet-draft router requirements document prepared by Philip Almquist. 5. References [Finn89] G. Finn, "A Connectionless Congestion Control Algorithm," Computer Communications Review, vol. 19, no. 5, Association for Computing Machinery, October 1989. [Floyd93] S. Floyd, V. Jacobsen, "Random Early Detection Gateways for Congestion Avoidance", IEEE/ACM Transactions on Networking, August 1993. [Hashem89] Hashem, E., "Analysis of random drop for gateway congestion control", Report LCS TR-465, Laboratory for Computer Science, MIT, Cambridge, MA, 1989, p. 103. [Jacobson88] V. Jacobson, "Congestion Avoidance and Control," Proceedings of SIGCOMM '88, Association for Computing Machinery, August 1988. [Jain] R. Jain, K. Ramakrishnan, and D. Chiu, "Congestion Avoidance in Computer Networks With a Connectionless Network Layer", Technical Report DEC-TR-506, Digital Equipment Corporation. [Mankin90] A. Mankin, G. Hollingsworth, G. Reichlen, K. Thompson, R. Wilder, and R. Zahavi, "Evaluation of Internet Performance -- FY89", Technical Report MTR-89W00216, MITRE Corporation, February, 1990. [Mankin91] A. Mankin and K. Ramakrishnan, Editors, "Gateway Congestion Control Survey", Request For Comments (RFC) 1254, DDN Network Information Center, SRI International, Menlo Park, California, USA, August 1991. [Nagle87] J. Nagle, "On Packet Switches with Infinite Storage," IEEE Transactions on Communications, vol. COM-35, no. 4, April 1987. [Zhang91] L. Zhang, S. Shenker, and D.D. Clark, "Observations on the Dynamics of a Congestion Control Algorithm: The Effects of Two-Way Traffic," Proc. ACM SIGCOMM '91, pp. 133-148.
- Router Requirements Inactivity Frank Kastenholz
- Re: Router Requirements Inactivity mahdavi
- Re: Router Requirements Inactivity Fred Baker
- Re: Router Requirements Inactivity mahdavi
- Re: Router Requirements Inactivity stev knowles
- Re: Router Requirements Inactivity barns
- Re: Router Requirements Inactivity barns
- Re: Router Requirements Inactivity mahdavi
- Re: Router Requirements Inactivity Art Berggreen