summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1254.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1254.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1254.txt')
-rw-r--r--doc/rfc/rfc1254.txt1403
1 files changed, 1403 insertions, 0 deletions
diff --git a/doc/rfc/rfc1254.txt b/doc/rfc/rfc1254.txt
new file mode 100644
index 0000000..8cc3b10
--- /dev/null
+++ b/doc/rfc/rfc1254.txt
@@ -0,0 +1,1403 @@
+
+
+
+
+
+
+Network Working Group A. Mankin
+Request for Comments: 1254 MITRE
+ K. Ramakrishnan
+ Digital Equipment Corporation
+ Editors
+ August 1991
+
+
+ Gateway Congestion Control Survey
+
+Status of this Memo
+
+ This memo provides information for the Internet community. It is a
+ survey of some of the major directions and issues. It does not
+ specify an Internet standard. Distribution of this memo is
+ unlimited.
+
+Abstract
+
+ The growth of network intensive Internet applications has made
+ gateway congestion control a high priority. The IETF Performance and
+ Congestion Control Working Group surveyed and reviewed gateway
+ congestion control and avoidance approaches. The purpose of this
+ paper is to present our review of the congestion control approaches,
+ as a way of encouraging new discussion and experimentation. Included
+ in the survey are Source Quench, Random Drop, Congestion Indication
+ (DEC Bit), and Fair Queueing. The task remains for Internet
+ implementors to determine and agree on the most effective mechanisms
+ for controlling gateway congestion.
+
+1. Introduction
+
+ Internet users regularly encounter congestion, often in mild forms.
+ However, severe congestion episodes have been reported also; and
+ gateway congestion remains an obstacle for Internet applications such
+ as scientific supercomputing data transfer. The need for Internet
+ congestion control originally became apparent during several periods
+ of 1986 and 1987, when the Internet experienced the "congestion
+ collapse" condition predicted by Nagle [Nag84]. A large number of
+ widely dispersed Internet sites experienced simultaneous slowdown or
+ cessation of networking services for prolonged periods. BBN, the
+ firm responsible for maintaining the then backbone of the Internet,
+ the ARPANET, responded to the collapse by adding link capacity
+ [Gar87].
+
+ Much of the Internet now uses as a transmission backbone the National
+ Science Foundation Network (NSFNET). Extensive monitoring and
+ capacity planning are being done for the NSFNET backbone; still, as
+
+
+
+Performance and Congestion Control Working Group [Page 1]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ the demand for this capacity grows, and as resource-intensive
+ applications such as wide-area file system management [Sp89]
+ increasingly use the backbone, effective congestion control policies
+ will be a critical requirement.
+
+ Only a few mechanisms currently exist in Internet hosts and gateways
+ to avoid or control congestion. The mechanisms for handling
+ congestion set forth in the specifications for the DoD Internet
+ protocols are limited to:
+
+ Window flow control in TCP [Pos81b], intended primarily for
+ controlling the demand on the receiver's capacity, both in terms
+ of processing and buffers.
+
+ Source quench in ICMP, the message sent by IP to request that a
+ sender throttle back [Pos81a].
+
+ One approach to enhancing Internet congestion control has been to
+ overlay the simple existing mechanisms in TCP and ICMP with more
+ powerful ones. Since 1987, the TCP congestion control policy, Slow-
+ start, a collection of several algorithms developed by Van Jacobson
+ and Mike Karels [Jac88], has been widely adopted. Successful Internet
+ experiences with Slow-start led to the Host Requirements RFC [HREQ89]
+ classifying the algorithms as mandatory for TCP. Slow-start modifies
+ the user's demand when congestion reaches such a point that packets
+ are dropped at the gateway. By the time such overflows occur, the
+ gateway is congested. Jacobson writes that the Slow-start policy is
+ intended to function best with a complementary gateway policy
+ [Jac88].
+
+1.1 Definitions
+
+ The characteristics of the Internet that we are interested in include
+ that it is, in general, an arbitrary mesh-connected network. The
+ internetwork protocol is connectionless. The number of users that
+ place demands on the network is not limited by any explicit
+ mechanism; no reservation of resources occurs and transport layer
+ set-ups are not disallowed due to lack of resources. A path from a
+ source to destination host may have multiple hops, through several
+ gateways and links. Paths through the Internet may be heterogeneous
+ (though homogeneous paths also exist and experience congestion).
+ That is, links may be of different speeds. Also, the gateways and
+ hosts may be of different speeds or may be providing only a part of
+ their processing power to communication-related activity. The
+ buffers for storing information flowing through Internet gateways are
+ finite. The nature of the internet protocol is to drop packets when
+ these buffers overflow.
+
+
+
+
+Performance and Congestion Control Working Group [Page 2]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ Gateway congestion arises when the demand for one or more of the
+ resources of the gateway exceeds the capacity of that resource. The
+ resources include transmission links, processing, and space used for
+ buffering. Operationally, uncongested gateways operate with little
+ queueing on average, where the queue is the waiting line for a
+ particular resource of the gateway. One commonly used quantitative
+ definition [Kle79] for when a resource is congested is when the
+ operating point is greater than the point at which resource power is
+ maximum, where resource power is defined as the ratio of throughput
+ to delay (See Section 2.2). At this operating point, the average
+ queue size is close to one, including the packet in service. Note
+ that this is a long-term average queue size. Several definitions
+ exist for the timescale of averaging for congestion detection and
+ control, such as dominant round-trip time and queue regeneration
+ cycle (see Section 2.1).
+
+ Mechanisms for handling congestion may be divided into two
+ categories, congestion recovery and congestion avoidance. Congestion
+ recovery tries to restore an operating state, when demand has already
+ exceeded capacity. Congestion avoidance is preventive in nature. It
+ tries to keep the demand on the network at or near the point of
+ maximum power, so that congestion never occurs. Without congestion
+ recovery, the network may cease to operate entirely (zero
+ throughput), whereas the Internet has been operating without
+ congestion avoidance for a long time. Overall performance may
+ improve with an effective congestion avoidance mechanism. Even if
+ effective congestion avoidance was in place, congestion recovery
+ schemes would still be required, to retain throughput in the face of
+ sudden changes (increase of demand, loss of resources) that can lead
+ to congestion.
+
+ In this paper, the term "user" refers to each individual transport
+ (TCP or another transport protocol) entity. For example, a TCP
+ connection is a "user" in this terminology. The terms "flow" and
+ "stream" are used by some authors in the same sense. Some of the
+ congestion control policies discussed in this paper, such as
+ Selective Feedback Congestion Indication and Fair Queueing aggregate
+ multiple TCP connections from a single host (or between a source
+ host-destination host pair) as a virtual user.
+
+ The term "cooperating transport entities" will be defined as a set of
+ TCP connections (for example) which follow an effective method of
+ adjusting their demand on the Internet in response to congestion.
+ The most restrictive interpretation of this term is that the
+ transport entities follow identical algorithms for congestion control
+ and avoidance. However, there may be some variation in these
+ algorithms. The extent to which heterogeneous end-system congestion
+ control and avoidance may be accommodated by gateway policies should
+
+
+
+Performance and Congestion Control Working Group [Page 3]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ be a subject of future research. The role played in Internet
+ performance of non-cooperating transport entities is discussed in
+ Section 5.
+
+1.2 Goals and Scope of This Paper
+
+ The task remains for Internet implementors to determine effective
+ mechanisms for controlling gateway congestion. There has been
+ minimal common practice on which to base recommendations for Internet
+ gateway congestion control. In this survey, we describe the
+ characteristics of one experimental gateway congestion management
+ policy, Random Drop, and several that are better-known: Source
+ Quench, Congestion Indication, Selective Feedback Congestion
+ Indication, and Fair Queueing, both Bit-Round and Stochastic. A
+ motivation for documenting Random Drop is that it has as primary
+ goals low overhead and suitability for scaling up for Internets with
+ higher speed links. Both of these are important goals for future
+ gateway implementations that will have fast links, fast processors,
+ and will have to serve large numbers of interconnected hosts.
+
+ The structure of this paper is as follows. First, we discuss
+ performance goals, including timescale and fairness considerations.
+ Second, we discuss the gateway congestion control policies. Random
+ Drop is sketched out, with a recommendation for using it for
+ congestion recovery and a separate section on its use as congestion
+ avoidance. Third, since gateway congestion control in itself does
+ not change the end-systems' demand, we briefly present the effective
+ responses to these policies by two end-system congestion control
+ schemes, Slow-start and End-System Congestion Indication. Among our
+ conclusions, we address the issues of transport entities that do not
+ cooperate with gateway congestion control. As an appendix, because
+ of the potential interactions with gateway congestion policies, we
+ report on a scheme to help in controlling the performance of Internet
+ gateways to connection-oriented subnets (in particular, X.25).
+
+ Resources in the current Internet are not charged to users of them.
+ Congestion avoidance techniques cannot be expected to help when users
+ increase beyond the capacity of the underlying facilities. There are
+ two possible solutions for this, increase the facilities and
+ available bandwidth, or forcibly reduce the demand. When congestion
+ is persistent despite implemented congestion control mechanisms,
+ administrative responses are needed. These are naturally not within
+ the scope of this paper. Also outside the scope of this paper are
+ routing techniques that may be used to relocate demand away from
+ congested individual resources (e.g., path-splitting and load-
+ balancing).
+
+
+
+
+
+Performance and Congestion Control Working Group [Page 4]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+2. Performance Goals
+
+ To be able to discuss design and use of various mechanisms for
+ improving Internetwork performance, we need to have clear performance
+ goals for the operation of gateways and sets of end-systems.
+ Internet experience shows that congestion control should be based on
+ adaptive principles; this requires efficient computation of metrics
+ by algorithms for congestion control. The first issue is that of the
+ interval over which these metrics are estimated and/or measured.
+
+2.1 Interval for Measurement/Estimation of Performance Metrics
+
+ Network performance metrics may be distorted if they are computed
+ over intervals that are too short or too long relative to the dynamic
+ characteristics of the network. For instance, within a small
+ interval, two FTP users with equal paths may appear to have sharply
+ different demands, as an effect of brief, transient fluctuations in
+ their respective processing. An overly long averaging interval
+ results in distortions because of the changing number of users
+ sharing the resource measured during the time. It is similarly
+ important for congestion control mechanisms exerted at end systems to
+ find an appropriate interval for control.
+
+ The first approach to the monitoring, or averaging, interval for
+ congestion control is one based on round-trip times. The rationale
+ for it is as follows: control mechanisms must adapt to changes in
+ Internet congestion as quickly as possible. Even on an uncongested
+ path, changed conditions will not be detected by the sender faster
+ than a round-trip time. The effect of a sending end-system's control
+ will also not be seen in less than a round-trip time in the entire
+ path as well as at the end systems. For the control mechanism to be
+ adaptive, new information on the path is needed before making a
+ modification to the control exerted. The statistics and metrics used
+ in congestion control must be able to provide information to the
+ control mechanism so that it can make an informed decision.
+ Transient information which may be obsolete before a change is made
+ by the end-system should be avoided. This implies the
+ monitoring/estimating interval is one lasting one or more round
+ trips. The requirements described here give bounds on:
+
+ How short an interval: not small enough that obsolete information
+ is used for control;
+
+ How long: not more than the period at which the end-system makes
+ changes.
+
+ But, from the point of view of the gateway congestion control policy,
+ what is a round-trip time? If all the users of a given gateway have
+
+
+
+Performance and Congestion Control Working Group [Page 5]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ the same path through the Internet, they also have the same round-
+ trip time through the gateway. But this is rarely the case.
+
+ A meaningful interval must be found for users with both short and
+ long paths. Two approaches have been suggested for estimating this
+ dynamically, queue regeneration cycle and frequency analysis.
+
+ Use of the queue regeneration cycle has been described as part of the
+ Congestion Indication policy. The time period used for averaging
+ here begins when a resource goes from the idle to busy state. The
+ basic interval for averaging is a "regeneration cycle" which is in
+ the form of busy and idle intervals. Because an average based on a
+ single previous regeneration may become old information, the
+ recommendation in [JRC87] is to average over the sum of two
+ intervals, that is, the previous (busy and idle) period, and the time
+ since the beginning of the current busy period.
+
+ If the gateway users are window-based transport entities, it is
+ possible to see how the regeneration interval responds to their
+ round-trip times. If a user with a long round-trip time has the
+ dominant traffic, the queue length may be zero only when that user is
+ awaiting acknowledgements. Then the users with short paths will
+ receive gateway congestion information that is averaged over several
+ of their round-trip times. If the short path traffic dominates the
+ activity in the gateway, i.e., the connections with shorter round-
+ trip times are the dominant users of the gateway resources, then the
+ regeneration interval is shorter and the information communicated to
+ them can be more timely. In this case, users with longer paths
+ receive, in one of their round-trip times, multiple samples of the
+ dominant traffic; the end system averaging is based on individual
+ user's intervals, so that these multiple samples are integrated
+ appropriately for these connections with longer paths.
+
+ The use of frequency analysis has been described by [Jac89]. In this
+ approach, the gateway congestion control is done at intervals based
+ on spectral analysis of the traffic arrivals. It is possible for
+ users to have round-trip times close to each other, but be out of
+ phase from each other. A spectral analysis algorithm detects this.
+ Otherwise, if multiple round-trip times are significant, multiple
+ intervals will be identified. Either one of these will be
+ predominant, or several will be comparable. An as yet difficult
+ problem for the design of algorithms accomplishing this technique is
+ the likelihood of "locking" to the frequency of periodic traffic of
+ low intensity, such as routing updates.
+
+
+
+
+
+
+
+Performance and Congestion Control Working Group [Page 6]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+2.2 Power and its Relationship to the Operating Point
+
+ Performance goals for a congestion control/avoidance strategy embody
+ a conflict in that they call for as high a throughput as possible,
+ with as little delay as possible. A measure that is often used to
+ reflect the tradeoff between these goals is power, the ratio of
+ throughput to delay. We would like to maximize the value of power
+ for a given resource. In the standard expression for power,
+
+ Power = (Throughput^alpha)/Delay
+
+ the exponent alpha is chosen for throughput, based on the relative
+ emphasis placed on throughput versus delay: if throughput is more
+ important, then a value of A alpha greater than one is chosen. If
+ throughput and delay are equally important (e.g., both bulk transfer
+ traffic and interactive traffic are equally important), then alpha
+ equal to one is chosen. The operating point where power is maximized
+ is the "knee" in the throughput and delay curves. It is desirable
+ that the operating point of the resource be driven towards the knee,
+ where power is maximized. A useful property of power is that it is
+ decreasing whether the resource is under- or over-utilized relative
+ to the knee.
+
+ In an internetwork comprising nodes and links of diverse speeds and
+ utilization, bottlenecks or concentrations of demand may form. Any
+ particular user can see a single bottleneck, which is the slowest or
+ busiest link or gateway in the path (or possibly identical "balanced"
+ bottlenecks). The throughput that the path can sustain is limited by
+ the bottleneck. The delay for packets through a particular path is
+ determined by the service times and queueing at each individual hop.
+ The queueing delay is dominated by the queueing at the bottleneck
+ resource(s). The contribution to the delay over other hops is
+ primarily the service time, although the propagation delay over
+ certain hops, such as a satellite link, can be significant. We would
+ like to operate all shared resources at their knee and maximize the
+ power of every user's bottleneck.
+
+ The above goal underscores the significance of gateway congestion
+ control. If techniques can be found to operate gateways at their
+ resource knee, it can improve Internet performance broadly.
+
+2.3 Fairness
+
+ We would like gateways to allocate resources fairly to users. A
+ concept of fairness is only relevant when multiple users share a
+ gateway and their total demand is greater than its capacity. If
+ demands were equal, a fair allocation of the resource would be to
+ provide an equal share to each user. But even over short intervals,
+
+
+
+Performance and Congestion Control Working Group [Page 7]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ demands are not equal. Identifying the fair share of the resource
+ for the user becomes hard. Having identified it, it is desirable to
+ allocate at least this fair share to each user. However, not all
+ users may take advantage of this allocation. The unused capacity can
+ be given to other users. The resulting final allocation is termed a
+ maximally fair allocation. [RJC87] gives a quantitative method for
+ comparing the allocation by a given policy to the maximally fair
+ allocation.
+
+ It is known that the Internet environment has heterogeneous transport
+ entities, which do not follow the same congestion control policies
+ (our definition of cooperating transports). Then, the controls given
+ by a gateway may not affect all users and the congestion control
+ policy may have unequal effects. Is "fairness" obtainable in such a
+ heterogeneous community? In Fair Queueing, transport entities with
+ differing congestion control policies can be insulated from each
+ other and each given a set share of gateway bandwidth.
+
+ It is important to realize that since Internet gateways cannot refuse
+ new users, fairness in gateway congestion control can lead to all
+ users receiving small (sub-divided) amounts of the gateway resources
+ inadequate to meet their performance requirements. None of the
+ policies described in this paper currently addresses this. Then,
+ there may be policy reasons for unequal allocation of the gateway
+ resources. This has been addressed by Bit-Round Fair Queueing.
+
+2.4 Network Management
+
+ Network performance goals may be assessed by measurements in either
+ the end-system or gateway frame of reference. Performance goals are
+ often resource-centered and the measurement of the global performance
+ of "the network," is not only difficult to measure but is also
+ difficult to define. Resource-centered metrics are more easily
+ obtained, and do not require synchronization. That resource-centered
+ metrics are appropriate ones for use in optimization of power is
+ shown by [Jaf81].
+
+ It would be valuable for the goal of developing effective gateway
+ congestion handling if Management Information Base (MIB) objects
+ useful for evaluating gateway congestion were developed. The
+ reflections on the control interval described above should be applied
+ when network management applications are designed for this purpose.
+ In particular, obtaining an instantaneous queue length from the
+ managed gateway is not meaningful for the purposes of congestion
+ management.
+
+
+
+
+
+
+Performance and Congestion Control Working Group [Page 8]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+3. Gateway Congestion Control Policies
+
+ There have been proposed a handful of approaches to dealing with
+ congestion in the gateway. Some of these are Source Quench, Random
+ Drop, Congestion Indication, Selective Feedback Congestion
+ Indication, Fair Queueing, and Bit-Round Fair Queueing. They differ
+ in whether they use a control message, and indeed, whether they view
+ control of the end-systems as necessary, but none of them in itself
+ lowers the demand of users and consequent load on the network. End-
+ system policies that reduce demand in conjunction with gateway
+ congestion control are described in Section 4.
+
+3.1 Source Quench
+
+ The method of gateway congestion control currently used in the
+ Internet is the Source Quench message of the RFC-792 [Pos81a]
+ Internet Control Message Protocol (ICMP). When a gateway responds to
+ congestion by dropping datagrams, it may send an ICMP Source Quench
+ message to the source of the dropped datagram. This is a congestion
+ recovery policy.
+
+ The Gateway Requirements RFC, RFC-1009 [GREQ87], specifies that
+ gateways should only send Source Quench messages with a limited
+ frequency, to conserve CPU resources during the time of heavy load.
+ We note that operating the gateway for long periods under such loaded
+ conditions should be averted by a gateway congestion control policy.
+ A revised Gateway Requirements RFC is being prepared by the IETF.
+
+ Another significant drawback of the Source Quench policy is that its
+ details are discretionary, or, alternatively, that the policy is
+ really a family of varied policies. Major Internet gateway
+ manufacturers have implemented a variety of source quench
+ frequencies. It is impossible for the end-system user on receiving a
+ Source Quench to be certain of the circumstances in which it was
+ issued. This makes the needed end-system response problematic: is
+ the Source Quench an indication of heavy congestion, approaching
+ congestion, a burst causing massive overload, or a burst slightly
+ exceeding reasonable load?
+
+ To the extent that gateways drop the last arrived datagram on
+ overload, Source Quench messages may be distributed unfairly. This
+ is because the position at the end of the queue may be unfairly often
+ occupied by the packets of low demand, intermittent users, since
+ these do not send regular bursts of packets that can preempt most of
+ the queue space.
+
+ [Fin89] developed algorithms for when to issue Source Quench and for
+ responding to it with a rate-reduction in the IP layer on the sending
+
+
+
+Performance and Congestion Control Working Group [Page 9]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ host. The system controls end-to-end performance of connections in a
+ manner similar to the congestion avoidance portion of Slow-start TCP
+ [Jac88].
+
+3.2 Random Drop
+
+ Random Drop is a gateway congestion control policy intended to give
+ feedback to users whose traffic congests the gateway by dropping
+ packets on a statistical basis. The key to this policy is the
+ hypothesis that a packet randomly selected from all incoming traffic
+ will belong to a particular user with a probability proportional to
+ the average rate of transmission of that user. Dropping a randomly
+ selected packet results in users which generate much traffic having
+ a greater number of packets dropped compared with those generating
+ little traffic. The selection of packets to be dropped is completely
+ uniform. Therefore, a user who generates traffic of an amount below
+ the "fair share" (as defined in Section 2.3) may also experience a
+ small amount of packet loss at a congested gateway. This character of
+ uniformity is in fact a primary goal that Random Drop attempts to
+ achieve.
+
+ The other primary goal that Random Drop attempts to achieve is a
+ theoretical overhead which is scaled to the number of shared
+ resources in the gateway rather than the number of its users. If a
+ gateway congestion algorithm has more computation the more users
+ there are, this can lead to processing demands that are higher as
+ congestion increases. Also the low-overhead goal of Random Drop
+ addresses concerns about the scale of gateway processing that will be
+ required in the mid-term Internet as gateways with fast processors
+ and links are shared by very large active sets of users.
+
+3.2.1 For Congestion Recovery
+
+ Random Drop has been proposed as an improvement to packet dropping at
+ the operating point where the gateway's packet buffers overflow.
+ This is using Random Drop strictly as a congestion recovery
+ mechanism.
+
+ In Random Drop congestion recovery, instead of dropping the last
+ packet to arrive at the queue, a packet is selected randomly from the
+ queue. Measurements of an implementation of Random Drop Congestion
+ Recovery [Man90] showed that a user with a low demand, due to a
+ longer round-trip time path than other users of the gateway, had a
+ higher drop rate with RDCR than without. The throughput accorded to
+ users with the same round-trip time paths was nearly equal with RDCR
+ as compared to without it. These results suggest that RDCR should be
+ avoided unless it is used within a scheme that groups traffic more or
+ less by round-trip time.
+
+
+
+Performance and Congestion Control Working Group [Page 10]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+3.2.2 For Congestion Avoidance
+
+ Random Drop is also proposed as a congestion avoidance policy
+ [Jac89]. The intent is to initiate dropping packets when the gateway
+ is anticipated to become congested and remain so unless there is some
+ control exercised. This implies selection of incoming packets to
+ be randomly dropped at a rate derived from identifying the level of
+ congestion at the gateway. The rate is the number of arrivals
+ allowed between drops. It depends on the current operating point and
+ the prediction of congestion.
+
+ A part of the policy is to determine that congestion will soon occur
+ and that the gateway is beginning to operate beyond the knee of the
+ power curve. With a suitably chosen interval (Section 2.1), the
+ number of packets from each individual user in a sample over that
+ interval is proportional to each user's demand on the gateway. Then,
+ dropping one or more random packets indicates to some user(s) the
+ need to reduce the level of demand that is driving the gateway beyond
+ the desired operating point. This is the goal that a policy of
+ Random Drop for congestion avoidance attempts to achieve.
+
+ There are several parameters to be determined for a Random Drop
+ congestion avoidance policy. The first is an interval, in terms of
+ number of packet arrivals, over which packets are dropped with
+ uniform probability. For instance, in a sample implementation, if
+ this interval spanned 2000 packet arrivals, and a suitable
+ probability of drop was 0.001, then two random variables would be
+ drawn in a uniform distribution in the range of 1 to 2,000. The
+ values drawn would be used by counting to select the packets dropped
+ at arrival. The second parameter is the value for the probability of
+ drop. This parameter would be a function of an estimate of the
+ number of users, their appropriate control intervals, and possibly
+ the length of time that congestion has persisted. [Jac89] has
+ suggested successively increasing the probability of drop when
+ congestion persists over multiple control intervals. The motivation
+ for increasing the packet drop probability is that the implicit
+ estimate of the number of users and random selection of their packets
+ to drop does not guarantee that all users have received enough
+ signals to decrease demand. Increasing the probability of drop
+ increases the probability that enough feedback is provided.
+ Congestion detection is also needed in Random Drop congestion
+ avoidance, and could be implemented in a variety of ways. The
+ simplest is a static threshold, but dynamically averaged measures of
+ demand or utilization are suggested.
+
+ The packets dropped in Random Drop congestion avoidance would not be
+ from the initial inputs to the gateway. We suggest that they would
+ be selected only from packets destined for the resource which is
+
+
+
+Performance and Congestion Control Working Group [Page 11]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ predicted to be approaching congestion. For example, in the case of
+ a gateway with multiple outbound links, access to each individual
+ link is treated as a separate resource, the Random Drop policy is
+ applied at each link independently. Random Drop congestion avoidance
+ would provide uniform treatment of all cooperating transport users,
+ even over individual patterns of traffic multiplexed within one
+ user's stream. There is no aggregation of users.
+
+ Simulation studies [Zha89], [Has90] have presented evidence that
+ Random Drop is not fair across cooperating and non-cooperating
+ transport users. A transport user whose sending policies included
+ Go-Back-N retransmissions and did not include Slow-start received an
+ excessive share of bandwidth from a simple implementation of Random
+ Drop. The simultaneously active Slow-start users received unfairly
+ low shares. Considering this, it can be seen that when users do not
+ respond to control, over a prolonged period, the Random Drop
+ congestion avoidance mechanism would have an increased probability of
+ penalizing users with lower demand. Their packets dropped, these
+ users exert the controls leading to their giving up bandwidth.
+
+ Another problem can be seen to arise in Random Drop [She89] across
+ users whose communication paths are of different lengths. If the
+ path spans congested resources at multiple gateways, then the user's
+ probability of receiving an unfair drop and subsequent control (if
+ cooperating) is exponentially increased. This is a significant
+ scaling problem.
+
+ Unequal paths cause problems for other congestion avoidance policies
+ as well. Selective Feedback Congestion Indication was devised to
+ enhance Congestion Indication specifically because of the problem of
+ unequal paths. In Fair Queueing by source-destination pairs, each
+ path gets its own queue in all the gateways.
+
+3.3 Congestion Indication
+
+ The Congestion Indication policy is often referred to as the DEC Bit
+ policy. It was developed at DEC [JRC87], originally for the Digital
+ Network Architecture (DNA). It has also been specified for the
+ congestion avoidance of the ISO protocols TP4 and CLNP [NIST88].
+ Like Source Quench, it uses explicit communications from the
+ congested gateway to the user. However, to use the lowest possible
+ network resources for indicating congestion, the information is
+ communicated in a single bit, the Congestion Experienced Bit, set in
+ the network header of the packets already being forwarded by a
+ gateway. Based on the condition of this bit, the end-system user
+ makes an adjustment to the sending window. In the NSP transport
+ protocol of DECNET, the source makes an adjustment to its window; in
+ the ISO transport protocol, TP4, the destination makes this
+
+
+
+Performance and Congestion Control Working Group [Page 12]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ adjustment in the window offered to the sender.
+
+ This policy attempts to avoid congestion by setting the bit whenever
+ the average queue length over the previous queue regeneration cycle
+ plus part of the current cycle is one or more. The feedback is
+ determined independently at each resource.
+
+3.4 Selective Feedback Congestion Indication
+
+ The simple Congestion Indication policy works based upon the total
+ demand on the gateway. The total number of users or the fact that
+ only a few of the users might be causing congestion is not
+ considered. For fairness, only those users who are sending more than
+ their fair share should be asked to reduce their load, while others
+ could attempt to increase where possible. In Selective Feedback
+ Congestion Indication, the Congestion Experienced Bit is used to
+ carry out this goal.
+
+ Selective Feedback works by keeping a count of the number of packets
+ sent by different users since the beginning of the queue averaging
+ interval. This is equivalent to monitoring their throughputs. Based
+ on the total throughput, a fair share for each user is determined and
+ the congestion bit is set, when congestion approaches, for the users
+ whose demand is higher than their fair share. If the gateway is
+ operating below the throughput-delay knee, congestion indications are
+ not set.
+
+ A min-max algorithm used to determine the fair share of capacity and
+ other details of this policy are described in [RJC87]. One parameter
+ to be computed is the capacity of each resource to be divided among
+ the users. This metric depends on the distribution of inter-arrival
+ times and packet sizes of the users. Attempting to determine these
+ in real time in the gateway is unacceptable. The capacity is instead
+ estimated from on the throughput seen when the gateway is operating
+ in congestion, as indicated by the average queue length. In
+ congestion (above the knee), the service rate of the gateway limits
+ its throughput. Multiplying the throughput obtained at this
+ operating point by a capacity factor (between 0.5 and 0.9) to adjust
+ for the distributions yields an acceptable capacity estimate in
+ simulations.
+
+ Selective Feedback Congestion Indication takes as input a vector of
+ the number of packets sent by each source-destination pair of end-
+ systems. Other alternatives include 1) destination address, 2)
+ input/output link, and 3) transport connection (source/destination
+ addresses and ports).
+
+ These alternatives give different granularities for fairness. In the
+
+
+
+Performance and Congestion Control Working Group [Page 13]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ case where paths are the same or round-trip times of users are close
+ together, throughputs are equalized similarly by basing the selective
+ feedback on source or destination address. In fact, if the RTTs are
+ close enough, the simple congestion indication policy would result in
+ a fair allocation. Counts based on source/destination pairs ensure
+ that paths with different lengths and network conditions get a fair
+ throughput at the individual gateways. Counting packets based on
+ link pairs has a low overhead, but may result in unfairness to users
+ whose demand is below the fair share and are using a long path.
+ Counts based on transport layer connection identifiers, if this
+ information was available to Internet gateways, would make good
+ distinctions, since the differences of demand of different
+ applications and instances of applications would be separately
+ monitored.
+
+ Problems with Selective Feedback Congestion Indication include that
+ the gateway has significant processing to do. With the feasible
+ choice of aggregation at the gateway, unfairness across users within
+ the group is likely. For example, an interactive connection
+ aggregated with one or more bulk transfer connections will receive
+ congestion indications though its own use of the gateway resources is
+ very low.
+
+3.5 Fair Queueing
+
+ Fair Queueing is the policy of maintaining separate gateway output
+ queues for individual end-systems by source-destination pair. In the
+ policy as proposed by [Nag85], the gateway's processing and link
+ resources are distributed to the end-systems on a round-robin basis.
+ On congestion, packets are dropped from the longest queue. This
+ policy leads to equal allocations of resources to each source-
+ destination pair. A source-destination pair that demands more than a
+ fair share simply increases its own queueing delay and congestion
+ drops.
+
+3.5.1 Bit-Round Fair Queueing
+
+ An enhancement of Nagle Fair Queueing, the Bit-Round Fair Queuing
+ algorithm described and simulated by [DKS89] addresses several
+ shortcomings of Nagle's scheme. It computes the order of service to
+ packets using their lengths, with a technique that emulates a bit-
+ by-bit round-robin discipline, so that long packets do not get an
+ advantage over short ones. Otherwise the round-robin would be
+ unfair, for example, giving more bandwidth to hosts whose traffic is
+ mainly long packets than to hosts sourcing short packets.
+
+ The aggregation of users of a source-destination pair by Fair
+ Queueing has the property of grouping the users whose round-trips are
+
+
+
+Performance and Congestion Control Working Group [Page 14]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ similar. This may be one reason that the combination of Bit-Round
+ Fair Queueing with Congestion Indication had particularly good
+ simulated performance in [DKS89].
+
+ The aggregation of users has the expected drawbacks, as well. A
+ TELNET user in a queue with an FTP user does not get delay benefits;
+ and host pairs with high volume of connections get treated the same
+ as a host pair with small number of connections and as a result gets
+ unfair services.
+
+ A problem can be mentioned about Fair Queueing, though it is related
+ to implementation, and perhaps not properly part of a policy
+ discussion. This is a concern that the resources (processing) used
+ for determining where to queue incoming packets would themselves be
+ subject to congestion, but not to the benefits of the Fair Queuing
+ discipline. In a situation where the gateway processor was not
+ adequate to the demands on it, the gateway would need an alternative
+ policy for congestion control of the queue awaiting processing.
+ Clever implementation can probably find an efficient way to route
+ packets to the queues they belong in before other input processing is
+ done, so that processing resources can be controlled, too. There is
+ in addition, the concern that bit-by-bit round FQ requires non-FCFS
+ queueing even within the same source destination pairs to allow for
+ fairness to different connections between these end systems.
+
+ Another potential concern about Fair Queueing is whether it can scale
+ up to gateways with very large source-destination populations. For
+ example, the state in a Fair Queueing implementation scales with the
+ number of active end-to-end paths, which will be high in backbone
+ gateways.
+
+3.5.2 Stochastic Fairness Queuing
+
+ Stochastic Fairness Queueing (SFQ) has been suggested as a technique
+ [McK90] to address the implementation issues relating to Fair
+ Queueing. The first overhead that is reduced is that of looking up
+ the source-destination address pair in an incoming packet and
+ determining which queue that packet will have to be placed in. SFQ
+ does not require as many memory accesses as Fair Queueing to place
+ the packet in the appropriate queue. SFQ is thus claimed to be more
+ amenable to implementation for high-speed networks [McK90].
+
+ SFQ uses a simple hash function to map from the source-destination
+ address pair to a fixed set of queues. Since the assignment of an
+ address pair to a queue is probabilistic, there is the likelihood of
+ multiple address pairs colliding and mapping to the same queue. This
+ would potentially degrade the additional fairness that is gained with
+ Fairness Queueing. If two or more address pairs collide, they would
+
+
+
+Performance and Congestion Control Working Group [Page 15]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ continue to do so. To deal with the situation when such a collision
+ occurs, SFQ periodically perturbs the hash function so that these
+ address pairs will be unlikely to collide subsequently.
+
+ The price paid for achieving this implementation efficiency is that
+ SFQ requires a potentially large number of queues (we must note
+ however, that these queues may be organized orthogonally from the
+ buffers in which packets are stored. The buffers themselves may be
+ drawn from a common pool, and buffers in each queue organized as a
+ linked list pointed to from each queue header). For example, [McK90]
+ indicates that to get good, consistent performance, we may need to
+ have up to 5 to 10 times the number of active source-destination
+ pairs. In a typical gateway, this may require around 1000 to 2000
+ queues.
+
+ [McK90] reports simulation results with SFQ. The particular hash
+ function that is studied is using the HDLC's cyclic redundancy check
+ (CRC). The hash function is perturbed by multiplying each byte by a
+ sequence number in the range 1 to 255 before applying the CRC. The
+ metric considered is the standard deviation of the number of packets
+ output per source-destination pair. A perfectly fair policy would
+ have a standard deviation of zero and an unfair policy would have a
+ large standard deviation. In the example studied (which has up to 20
+ source-destination (s-d) pairs going through a single overloaded
+ gateway), SFQ with 1280 queues (i.e., 64 times the number of source-
+ destination pairs), approaches about 3 times the standard deviation
+ of Fairness Queueing. This must be compared to a FCFS queueing
+ discipline having a standard deviation which is almost 175 times the
+ standard deviation of Fairness Queueing.
+
+ It is conjectured in [McK90] that a good value for the interval in
+ between perturbations of the hash function appears to be in the area
+ between twice the queue flush time of the stochastic fairness queue
+ and one-tenth the average conversation time between a source-
+ destination pair.
+
+ SFQ also may alleviate the anticipated scaling problems that may be
+ an issue with Fair Queueing by not strictly requiring the number of
+ queues equal to the possible source-destination pairs that may be
+ presenting a load on a particular gateway. However, SFQ achieves this
+ property by trading off some of the fairness for implementation
+ efficiency.
+
+ [McK90] examines alternative strategies for implementation of Fair
+ Queueing and SFQ and estimates their complexity on common hardware
+ platforms (e.g., a Motorola 68020). It is suggested that mapping an
+ IP address pair may require around 24 instructions per packet for
+ Fair Queueing in the best case; in contrast SFQ requires 10
+
+
+
+Performance and Congestion Control Working Group [Page 16]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ instructions in the worst case. The primary source of this gain is
+ that SFQ avoids a comparison of the s-d address pair on the packet to
+ the identity of the queue header. The relative benefit of SFQ over
+ Fair Queueing is anticipated to be greater when the addresses are
+ longer.
+
+ SFQ offers promising implemenatation benefits. However, the price to
+ be paid in terms of having a significantly larger number of queues
+ (and the consequent data structures and their management) than the
+ number of s-d pairs placing a load on the gateway is a concern. SFQ
+ is also attractive in that it may be used in concert with the DEC-bit
+ scheme for Selective Feedback Congestion Indication to provide
+ fairness as well as congestion avoidance.
+
+4. END-SYSTEM CONGESTION CONTROL POLICIES
+
+ Ideally in gateway congestion control, the end-system transport
+ entities adjust (decrease) their demand in response to control
+ exerted by the gateway. Schemes have been put in practice for
+ transport entities to adjust their demand dynamically in response to
+ congestion feedback. To accomplish this, in general, they call for
+ the user to gradually increase demand until information is received
+ that the load on the gateway is too high. In response to this
+ information, the user decreases load, then begins an exploratory
+ increases again. This cycle is repeated continuously, with the goal
+ that the total demand will oscillate around the optimal level.
+
+ We have already noted that a Slow-start connection may give up
+ considerable bandwidth when sharing a gateway with aggressive
+ transport entities. There is currently no way to enforce that end-
+ systems use a congestion avoidance policy, though the Host
+ Requirements RFC [HR89] has defined Slow-start as mandatory for TCP.
+ This adverse effect on Slow-start connections is mitigated by the
+ Fair Queueing policy. Our conclusions discuss further the
+ coexistence of different end-system strategies.
+
+ This section briefly presents two fielded transport congestion
+ control and avoidance schemes, Slow-start and End-System Congestion
+ Indication, and the responses by means of which they cooperate with
+ gateway policies. They both use the control paradigm described
+ above. Slow-start, as mentioned in Section 1, was developed by
+ [Jac88], and widely fielded in the BSD TCP implementation. End-
+ system Congestion Indication was developed by [JRC87]. It is fielded
+ in DEC's Digital Network Architecture, and has been specified as well
+ for ISO TP4 [NIST88].
+
+ Both Slow-start and End-system Congestion Indication view the
+ relationship between users and gateways as a control system. They
+
+
+
+Performance and Congestion Control Working Group [Page 17]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ have feedback and control components, the latter further broken down
+ into a procedure bringing a new connection to equilibrium, and a
+ procedure to maintain demand at the proper level. They make use of
+ policies for increasing and decreasing the transport sender's window
+ size. These require the sender to follow a set of self-restraining
+ rules which dynamically adjust the send window whenever congestion is
+ sensed.
+
+ A predecessor of these, CUTE, developed by [Jai86], introduced the
+ use of retransmission timeouts as congestion feedback. The Slow-
+ start scheme was also designed to use timeouts in the same way. The
+ End-System policies for Congestion Indication use the Congestion
+ Experienced Bit delivered in the network header as the primary
+ feedback, but retransmission timeouts also provoke an end-system
+ congestion response.
+
+ In reliable transport protocols like TCP and TP4, the retransmission
+ timer must do its best to satisfy two conflicting goals. On one hand,
+ the timer must rapidly detect lost packets. And, on the other hand,
+ the timer must minimize false alarms. Since the retransmit timer is
+ used as a congestion signal in these end-system policies, it is all
+ the more important that timeouts reliably correspond to packet drops.
+ One important rule for retransmission is to avoid bad sampling in the
+ measurements that will be used in estimating the round-trip delay.
+ [KP87] describes techniques to ensure accurate sampling. The Host
+ Requirements RFC [HR89] makes these techniques mandatory for TCP.
+
+ The utilization of a resource can be defined as the ratio of its
+ average arrival rate to its mean service rate. This metric varies
+ between 0 and 1.0. In a state of congestion, one or more resources
+ (link, gateway buffer, gateway CPU) has a utilization approaching
+ 1.0. The average delay (round trip time) and its variance approach
+ infinity. Therefore, as the utilization of a network increases, it
+ becomes increasingly important to take into account the variance of
+ the round trip time in estimating it for the retransmission timeout.
+
+ The TCP retransmission timer is based on an estimate of the round
+ trip time. [Jac88] calls the round trip time estimator the single
+ most important feature of any protocol implementation that expects to
+ survive a heavy load. The retransmit timeout procedure in RFC-793
+ [Pos81b] includes a fixed parameter, beta, to account for the
+ variance in the delay. An estimate of round trip time using the
+ suggested values for beta is valid for a network which is at most 30%
+ utilized. Thus, the RFC-793 retransmission timeout estimator will
+ fail under heavy congestion, causing unnecessary retransmissions that
+ add to the load, and making congestive loss detection impossible.
+
+ Slow-start TCP uses the mean deviation as an estimate of the variance
+
+
+
+Performance and Congestion Control Working Group [Page 18]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ to improve the estimate. As a rough view of what happens with the
+ Slow-start retransmission calculation, delays can change by
+ approximately two standard deviations without the timer going off in
+ a false alarm. The same method of estimation may be applicable to
+ TP4. The procedure is:
+
+ Error = Measured - Estimated
+ Estimated = Estimated + Gain_1 * Error
+ Deviation = Deviation + Gain_2 * (|Error| - Deviation)
+ Timeout = Estimated + 2 * Deviation
+
+ Where: Gain_1, Gain_2 are gain factors.
+
+4.1 Response to No Policy in Gateway
+
+ Since packets must be dropped during congestion because of the finite
+ buffer space, feedback of congestion to the users exists even when
+ there is no gateway congestion policy. Dropping the packets is an
+ attempt to recover from congestion, though it needs to be noted that
+ congestion collapse is not prevented by packet drops if end-systems
+ accelerate their sending rate in these conditions. The accurate
+ detection of congestive loss by all retransmission timers in the
+ end-systems is extremely important for gateway congestion recovery.
+
+4.2 Response to Source Quench
+
+ Given that a Source Quench message has ambiguous meaning, but usually
+ is issued for congestion recovery, the response of Slow-start to a
+ Source Quench is to return to the beginning of the cycle of increase.
+ This is an early response, since the Source Quench on overflow will
+ also lead to a retransmission timeout later.
+
+4.3 Response to Random Drop
+
+ The end-system's view of Random Drop is the same as its view of loss
+ caused by overflow at the gateway. This is a drawback of the use of
+ packet drops as congestion feedback for congestion avoidance: the
+ decrease policy on congestion feedback cannot be made more drastic
+ for overflows than for the drops the gateway does for congestion
+ avoidance. Slow-start responds rapidly to gateway feedback. In a
+ case where the users are cooperating (all Slow-start), a desired
+ outcome would be that this responsiveness would lead quickly to a
+ decreased probability of drop. There would be, as an ideal, a self-
+ adjusting overall amount of control.
+
+
+
+
+
+
+
+Performance and Congestion Control Working Group [Page 19]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+4.4 Response to Congestion Indication
+
+ Since the Congestion Indication mechanism attempts to keep gateways
+ uncongested, cooperating end-system congestion control policies need
+ not reduce demand as much as with other gateway policies. The
+ difference between the Slow-start response to packet drops and the
+ End-System Congestion Indication response to Congestion Experienced
+ Bits is primarily in the decrease policy. Slow-start decreases the
+ window to one packet on a retransmission timeout. End-System
+ Congestion Indication decreases the window by a fraction (for
+ instance, to 7/8 of the original value), when the Congestion
+ Experienced Bit is set in half of the packets in a sample spanning
+ two round-trip times (two windows full).
+
+4.5 Response to Fair Queuing
+
+ A Fair Queueing policy may issue control indications, as in the
+ simulated Bit-Round Fair Queueing with DEC Bit, or it may depend only
+ on the passive effects of the queueing. When the passive control is
+ the main effect (perhaps because most users are not responsive to
+ control indications), the behavior of retransmission timers will be
+ very important. If retransmitting users send more packets in
+ response to increases in their delay and drops, Fair Queueing will be
+ prone to degraded performance, though collapse (zero throughput for
+ all users) may be prevented for a longer period of time.
+
+5. Conclusions
+
+ The impact of users with excessive demand is a driving force as
+ proposed gateway policies come closer to implementation. Random Drop
+ and Congestion Indication can be fair only if the transport entities
+ sharing the gateway are all cooperative and reduce demand as needed.
+ Within some portions of the Internet, good behavior of end-systems
+ eventually may be enforced through administration. But for various
+ reasons, we can expect non-cooperating transports to be a persistent
+ population in the Internet. Congestion avoidance mechanisms will not
+ be deployed all at once, even if they are adopted as standards.
+ Without enforcement, or even with penalties for excessive demand,
+ some end-systems will never implement congestion avoidance
+ mechanisms.
+
+ Since it is outside the context of any of the gateway policies, we
+ will mention here a suggestion for a relatively small-scale response
+ to users which implement especially aggressive policies. This has
+ been made experimentally by [Jac89]. It would implement a low
+ priority queue, to which the majority of traffic is not routed. The
+ candidate traffic to be queued there would be identified by a cache
+ of recent recipients of whatever control indications the gateway
+
+
+
+Performance and Congestion Control Working Group [Page 20]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ policy makes. Remaining in the cache over multiple control intervals
+ is the criterion for being routed to the low priority queue. In
+ approaching or established congestion, the bandwidth given to the
+ low-service queue is decreased.
+
+ The goal of end-system cooperation itself has been questioned. As
+ [She89] points out, it is difficult to define. A TCP implementation
+ that retransmits before it determines that has been loss indicated
+ and in a Go-Back-N manner is clearly non-cooperating. On the other
+ hand, a transport entity with selective acknowledgement may demand
+ more from the gateways than TCP, even while responding to congestion
+ in a cooperative way.
+
+ Fair Queueing maintains its control of allocations regardless of the
+ end-system congestion avoidance policies. [Nag85] and [DKS89] argue
+ that the extra delays and congestion drops that result from
+ misbehavior could work to enforce good end-system policies. Are the
+ rewards and penalties less sharply defined when one or more
+ misbehaving systems cause the whole gateway's performance to be less?
+ While the tax on all users imposed by the "over-users" is much less
+ than in gateways with other policies, how can it be made sufficiently
+ low?
+
+ In the sections on Selective Feedback Congestion Indication and Bit-
+ Round Fair Queueing we have pointed out that more needs to be done on
+ two particular fronts:
+
+ How can increased computational overhead be avoided?
+
+ The allocation of resources to source-destination pairs is, in
+ many scenarios, unfair to individual users. Bit-Round Fair
+ Queueing offers a potential administrative remedy, but even if it
+ is applied, how should the unequal allocations be propagated
+ through multiple gateways?
+
+ The first question has been taken up by [McK90].
+
+ Since Selective Feedback Congestion Indication (or Congestion
+ Indication used with Fair Queueing) uses a network bit, its use in
+ the Internet requires protocol support; the transition of some
+ portions of the Internet to OSI protocols may make such a change
+ attractive in the future. The interactions between heterogeneous
+ congestion control policies in the Internet will need to be explored.
+
+ The goals of Random Drop Congestion Avoidance are presented in this
+ survey, but without any claim that the problems of this policy can be
+ solved. These goals themselves, of uniform, dynamic treatment of
+ users (streams/flows), of low overhead, and of good scaling
+
+
+
+Performance and Congestion Control Working Group [Page 21]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ characteristics in large and loaded networks, are significant.
+
+Appendix: Congestion and Connection-oriented Subnets
+
+ This section presents a recommendation for gateway implementation in
+ an areas that unavoidably interacts with gateway congestion control,
+ the impact of connection-oriented subnets, such as those based on
+ X.25.
+
+ The need to manage a connection oriented service (X.25) in order to
+ transport datagram traffic (IP) can cause problems for gateway
+ congestion control. Being a pure datagram protocol, IP provides no
+ information delimiting when a pair of IP entities need to establish a
+ session between themselves. The solution involves compromise among
+ delay, cost, and resources. Delay is introduced by call
+ establishment when a new X.25 SVC (Switched Virtual Circuit) needs to
+ be established, and also by queueing delays for the physical line.
+ Cost includes any charges by the X.25 network service provider.
+ Besides the resources most gateways have (CPU, memory, links), a
+ maximum supported or permitted number of virtual circuits may be in
+ contest.
+
+ SVCs are established on demand when an IP packet needs to be sent and
+ there is no SVC established or pending establishment to the
+ destination IP entity. Optionally, when cost considerations, and
+ sufficient numbers of unused virtual circuits allow, redundant SVCs
+ may be established between the same pair of IP entities. Redundant
+ SVCs can have the effect of improving performance when coping with
+ large end-to-end delay, small maximum packet sizes and small maximum
+ packet windows. It is generally preferred though, to negotiate large
+ packet sizes and packet windows on a single SVC. Redundant SVCs must
+ especially be discouraged when virtual circuit resources are small
+ compared with the number of destination IP entities among the active
+ users of the gateway.
+
+ SVCs are closed after some period of inactivity indicates that
+ communication may have been suspended between the IP entities. This
+ timeout is significant in the operation of the interface. Setting
+ the value too low can result in closing of the SVC even though the
+ traffic has not stopped. This results in potentially large delays
+ for the packets which reopen the SVC and may also incur charges
+ associated with SVC calls. Also, clearing of SVCs is, by definition,
+ nongraceful. If an SVC is closed before the last packets are
+ acknowledged, there is no guarantee of delivery. Packet losses are
+ introduced by this destructive close independent of gateway traffic
+ and congestion.
+
+ When a new circuit is needed and all available circuits are currently
+
+
+
+Performance and Congestion Control Working Group [Page 22]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ in use, there is a temptation to pick one to close (possibly using
+ some Least Recently Used criterion). But if connectivity demands are
+ larger than available circuit resources, this strategy can lead to a
+ type of thrashing where circuits are constantly being closed and
+ reopened. In the worst case, a circuit is opened, a single packet
+ sent and the circuit closed (without a guarantee of packet delivery).
+ To counteract this, each circuit should be allowed to remain open a
+ minimum amount of time.
+
+ One possible SVC strategy is to dynamically change the time a circuit
+ will be allowed to remain open based on the number of circuits in
+ use. Three administratively controlled variables are used, a minimum
+ time, a maximum time and an adaptation factor in seconds per
+ available circuit. In this scheme, a circuit is closed after it has
+ been idle for a time period equal to the minimum plus the adaptation
+ factor times the number of available circuits, limited by the maximum
+ time. By administratively adjusting these variables, one has
+ considerable flexibility in adjusting the SVC utilization to meet the
+ needs of a specific gateway.
+
+Acknowledgements
+
+ This paper is the outcome of discussions in the Performance and
+ Congestion Control Working Group between April 1988 and July 1989.
+ Both PCC WG and plenary IETF members gave us helpful reviews of
+ earlier drafts. Several of the ideas described here were contributed
+ by the members of the PCC WG. The Appendix was written by Art
+ Berggreen. We are particularly thankful also to Van Jacobson, Scott
+ Shenker, Bruce Schofield, Paul McKenney, Matt Mathis, Geof Stone, and
+ Lixia Zhang for participation and reviews.
+
+References
+
+ [DKS89] Demers, A., Keshav, S., and S. Shenker, "Analysis and
+ Simulation of a Fair Queueing Algorithm", Proceedings of SIGCOMM '89.
+
+ [Fin89] Finn, G., "A Connectionless Congestion Control Algorithm",
+ Computer Communications Review, Vol. 19, No. 5, October 1989.
+
+ [Gar87] Gardner, M., "BBN Report on the ARPANET", Proceedings of the
+ McLean IETF, SRI-NIC IETF-87/3P, July 1987.
+
+ [GREQ87] Braden R., and J. Postel, "Requirements for Internet
+ Gateways", RFC 1009, USC/Information Sciences Institute, June 1987.
+
+ [HREQ89] Braden R., Editor, "Requirements for Internet Hosts --
+ Communications Layers", RFC 1122, Internet Engineering Task Force,
+ October 1989.
+
+
+
+Performance and Congestion Control Working Group [Page 23]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ [Has90] Hashem, E., "Random Drop Congestion Control", M.S. Thesis,
+ Massachusetts Institute of Technology, Department of Computer
+ Science, 1990.
+
+ [Jac88] Jacobson, V., "Congestion Avoidance and Control", Proceedings
+ of SIGCOMM '88.
+
+ [Jac89] Jacobson, V., "Presentations to the IETF Performance and
+ Congestion Control Working Group".
+
+ [Jaf81] Jaffe, J., "Bottleneck Flow Control", IEEE Transactions on
+ Communications, COM-29(7), July, 1981.
+
+ [Jai86] Jain, R., "A Timeout-based Congestion Control Scheme for
+ Window Flow-controlled Networks", IEEE Journal on Selected Areas in
+ Communications, SAC-4(7), October 1986.
+
+ [JRC87] Jain, R., Ramakrishnan, K., and D. Chiu, "Congestion
+ Avoidance in Computer Networks With a Connectionless Network Layer",
+ Technical Report DEC-TR-506, Digital Equipment Corporation.
+
+ [Kle79] Kleinrock, L., "Power and Deterministic Rules of Thumb for
+ Probabilistic Problems in Computer Communications", Proceedings of
+ the ICC '79.
+
+ [KP87] Karn, P., and C. Partridge, "Improving Round Trip Estimates in
+ Reliable Transport Protocols", Proceedings of SIGCOMM '87.
+
+ [Man90] Mankin, A., "Random Drop Congestion Control", Proceedings of
+ SIGCOMM '90.
+
+ [McK90] McKenney, P., "Stochastic Fairness Queueing", Proceedings of
+ INFOCOM '90.
+
+ [Nag84] Nagle, J., "Congestion Control in IP/TCP Internetworks", RFC
+ 896, FACC Palo Alto, 6 January 1984.
+
+ [Nag85] Nagle, J., "On Packet Switches With Infinite Storage", RFC
+ 970, FACC Palo Alto, December 1985.
+
+ [NIST88] NIST, "Stable Implementation Agreements for OSI Protocols,
+ Version 2, Edition 1", National Institute of Standards and Technology
+ Special Publication 500-162, December 1988.
+
+ [Pos81a] Postel, J., "Internet Control Message Protocol - DARPA
+ Internet Program Protocol Specification", RFC-792, USC/Information
+ Sciences Institute, September 1981.
+
+
+
+
+Performance and Congestion Control Working Group [Page 24]
+
+RFC 1254 Gateway Congestion Control Survey August 1991
+
+
+ [Pos81b] Postel, J., "Transmission Control Protocol - DARPA Internet
+ Program Protocol Specification", RFC-793, DARPA, September 1981.
+
+ [RJC87] Ramakrishnan, K., Jain, R., and D. Chiu, "A Selective Binary
+ Feedback Scheme for General Topologies", Technical Report DEC-TR-510,
+ Digital Equipment Corporation.
+
+ [She89] Shenker, S., "Correspondence with the IETF Performance and
+ Congestion Control Working Group".
+
+ [Sp89] Spector, A., and M. Kazar, "Uniting File Systems", Unix
+ Review, Vol. 7, No. 3, March 1989.
+
+ [Zha89] Zhang, L., "A New Architecture for Packet Switching Network
+ Protocols", Ph.D Thesis, Massachusetts Institute of Technology,
+ Department of Computer Science, 1989.
+
+Security Considerations
+
+ Security issues are not discussed in this memo.
+
+Authors' Addresses
+
+ Allison Mankin
+ The MITRE Corporation
+ M/S W425
+ 7525 Colshire Drive
+ McLean, VA 22102
+
+ Email: mankin@gateway.mitre.org
+
+
+ K.K. Ramakrishnan
+ Digital Equipment Corporation
+ M/S LKG1-2/A19
+ 550 King Street
+ Littleton, MA 01754
+
+ Email: rama@kalvi.enet.dec.com
+
+
+
+
+
+
+
+
+
+
+
+
+Performance and Congestion Control Working Group [Page 25]
+ \ No newline at end of file