Subject: Re: Critically compare the congestion control on TCP/IP and ATM?

From: Dan Grossman <[email-masked]>
Date: Fri, 10 Mar 2000 14:16:04 -0500

> -----Original Message-----
> From:	Fred Baker [SMTP:[email-masked]]
> Sent:	Friday, March 10, 2000 5:32 AM
> To:	Jianbo Huang
> Cc:	[email-masked]
> Subject:	Re: Critically compare the congestion control on TCP/IP
> and ATM?
> 
> At 05:57 PM 3/9/00 +0800, Jianbo Huang wrote:
> >Dear Sirs and Madams,
> >
> >A friend of mine are working on the paper on "critically compare the 
> >congestion control on TCP/IP and ATM", and she ask me for help. But I
> do 
> >not get much idea on the "congestion control on ATM". So, is there
> anyone 
> >can give me any idea on this topic, while my friend and I processing
> on this?
> 
ATM has a carefully defined traffic management architecture.  Read:
www.atmforum.com/pub/approved-specs/af-tm-0121.000.pdf

In short, it supports a strong distinction between elastic and inelastic
traffic, and provides distinct services to support each.

For inelastic traffic, there is an open loop control system which shapes and 
polices 
traffic to traffic contracts defined by token buckets.  Signalling triggers 
admission
control and bandwidth reservation.  Meaningful guarantees on delay, delay 
jitter and
loss can be offered to traffic streams that conform to the traffic contract.

For elastic traffic there are several options:
An available bitrate (ABR) service category provides a control loop for 
matching the rate
of each virtual connection (VC) to the larger of a nominal fair share of the 
bottleneck bandwidth of the path, and a negotiated minimum.  End-system 
behavior is standardized.  Switches can either directly indicate the allowed 
cell rate in resource management cells which are sent periodically, or can use 
a binary feedback system (mostly for backward compatibility).  ABR provides 
excellent isolation, fairness, and protection against misbehaved VCs.  When 
the end-system behavior rules are honored, there is little if any cell loss.  
ABR is also resistant to performance problems associated with errored links, 
highly asymetrical links and long bandwidth-delay product links.

The unspecified bitrate (UBR) and guaranteed frame rate (GFR) service 
categories offer a best-effort service like IP.  They depend on packet discard 
and end-to-end behavior (as in TCP) for stability.  Modern implementations 
have a separate queue for each VC, and provide at least that level of 
isolation and fairness.  There is no admission control. 

> that's easy; there isn't any. 
See the ATM Forum Traffic Managment specification
>There is ingress port policing, which is
> 
> something different,
No, it's one component of the system, especially as applied to inelastic 
traffic.

> and there may be PNNI call routing.
That's another component of the system, but operates on a different timescale, 
and only in the context of signalling and admission control (as well as being 
a critical network optimization) 
> But there is
> not 
> anything that corresponds to what TCP expects from its underlying
> layers.
What do you think is missing for UBR and GFR?  The semantics are effectively 
the same: feedback control using packet loss as a signal.

> There have been some papers written and a fair bit of experience with
> a 
> technique for mitigating this, called Early packet Discard. In
> essence, if 
> a link is becoming congested, rather than dropping a single cell, if
> it has 
> to drop an AAL5 cell it drops the entire packet containing the cell.
> This 
> may sound odd, but it is actually quite sensible - if the other cells
> were 
> not also dropped, then they would uselessly occupy bandwidth on
> subsequent 
> links, and at the final delivery point would consume memory
> unnecessarily 
> until the SAR was able to determine that the cell had been dropped.
Ah, the segmentation and reassembly problem. EPD is not a congestion control 
mechanism per se, but rather a correction to an impedence mismatch between the 
minimum unit that can be dropped (a cell) and the minimum unit which is useful 
(a packet).  There were a couple of papers about this in 1993 (see Sally 
Floyd's web page), and it was incorporated into the ATM standards.  All modern 
implementations support EPD and PPD.  Certainly not a point that I would pick 
as being one of the most salient in a discussion of ATM congestion control.