[Diffserv-interest] Of possible interest to this list

Kathleen Nichols <nichols@pollere.com> Sat, 05 November 2005 00:12 UTC

Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EYBfh-0003F7-TC; Fri, 04 Nov 2005 19:12:37 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EYBfh-0003Ev-Ci for diffserv-interest@megatron.ietf.org; Fri, 04 Nov 2005 19:12:37 -0500
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id TAA23587 for <diffserv-interest@ietf.org>; Fri, 4 Nov 2005 19:12:14 -0500 (EST)
Received: from outbound.mailhop.org ([63.208.196.171] ident=mailnull) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1EYBun-0007dy-0W for diffserv-interest@ietf.org; Fri, 04 Nov 2005 19:28:13 -0500
Received: from c-24-6-155-12.hsd1.ca.comcast.net ([24.6.155.12] helo=[10.1.1.74]) by outbound.mailhop.org with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.51) id 1EYBff-0007Ma-8N for diffserv-interest@ietf.org; Fri, 04 Nov 2005 19:12:35 -0500
X-Mail-Handler: MailHop Outbound by DynDNS
X-Originating-IP: 24.6.155.12
X-Report-Abuse-To: abuse@dyndns.com (see http://www.mailhop.org/outbound/abuse.html for abuse reporting information)
X-MHO-User: kmnichols
Message-ID: <436BF8F6.4090302@pollere.com>
Date: Fri, 04 Nov 2005 16:12:38 -0800
From: Kathleen Nichols <nichols@pollere.com>
User-Agent: Thunderbird 1.4.1 (Macintosh/20051006)
MIME-Version: 1.0
To: diffserv-interest@ietf.org
X-Enigmail-Version: 0.93.0.0
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.1 (/)
X-Scan-Signature: a1f9797ba297220533cb8c3f4bc709a8
Content-Transfer-Encoding: 7bit
Subject: [Diffserv-interest] Of possible interest to this list
X-BeenThere: diffserv-interest@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Differentiated services general discussion <diffserv-interest.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/diffserv-interest>, <mailto:diffserv-interest-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:diffserv-interest@ietf.org>
List-Help: <mailto:diffserv-interest-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/diffserv-interest>, <mailto:diffserv-interest-request@ietf.org?subject=subscribe>
Sender: diffserv-interest-bounces@ietf.org
Errors-To: diffserv-interest-bounces@ietf.org

I posted this to TSV WG about WGLC on
draft-ietf-tsvwg-diffserv-service-classes-01:


My concerns with this document haven't changed much from the comments I
had for the authors on the original version. My major concern is that
this draft rewrites many concepts that were crafted by consensus over
several years in the DiffServ WG and are currently in use.
Certainly, concepts and standards have to be revisited from time to
time, but this draft is not being explicit about it. At the very least,
this should be made clear both in the document and by the ADs,
particularly since some of it is at odds with RFC2474, a standards
track document.

Concern 1: This draft ties "service class" to applications and to
specific PHBs in all networks.

This draft defines a "service class" as:

"a set of traffic that requires specific delay, loss and jitter
characteristics from the network for which a consistent and defined
per-hop behavior (PHB) [RFC2474] applies.
Conceptually, a service class pertains to applications with similar
characteristics and performance requirements, such as a 'High
Throughput Data' service class for applications like the web and
electronic mail, or a 'Telephony' service class for real-time traffic
such as voice and other telephony services."

This links *applications* to requirements for specific delay, loss
and jitter characteristic which is counter to the internet history
of building applications that adapt to network conditions. The point
of DiffServ was to provide tools to make it possible to differentiate
traffic on whatever basis an operator desired, to
not require that inner workings of a network be exposed,
and not to require a particular PHB. If an operator can deliver certain
specified treatments (in SLSs) to traffic across its network, it was
considered its business what PHB and edge treatments were used.
See RFC2475:

  "Service differentiation is desired to accommodate
    heterogeneous application requirements and user expectations, and to
    permit differentiated pricing of Internet service."

and

"A distinction is maintained between:

    o  the service provided to a traffic aggregate,

    o  the conditioning functions and per-hop behaviors used to realize
       services,

    o  the DS field value (DS codepoint) used to mark packets to select a
       per-hop behavior, and

    o  the particular node implementation mechanisms which realize a
       per-hop behavior.

    Service provisioning and traffic conditioning policies are
    sufficiently decoupled from the forwarding behaviors within the
    network interior to permit implementation of a wide variety of
    service behaviors, with room for future expansion."

but this draft would erase that distinction, and (more RFC2475):

"The following requirements were identified and are addressed in this
architecture:

    o  should accommodate a wide variety of services and provisioning
       policies, extending end-to-end or within a particular (set of)
       network(s),

    o  should allow decoupling of the service from the particular
       application in use,
...
   o  should decouple traffic conditioning and service provisioning
       functions from forwarding behaviors implemented within the core
       network nodes,"

Again DiffServ was explicit about the decoupling of services and
applications.

Concern 2: The definition of Service Class and its relationship to
traffic aggregates.

 From RFC 2474:
    "Services are realized by the
    use of particular packet classification and traffic conditioning
    mechanisms at boundaries coupled with the concatenation of per-hop
    behaviors along the transit path of the traffic.  A goal of the
    differentiated services architecture is to specify these building
    blocks for future extensibility, both of the number and type of the
    building blocks and of the services built from them."

and the definition from standards track RFC2474:

    "Service: a description of the overall treatment of (a subset of) a
    customer's traffic across a particular domain, across a set of
    interconnected DS domains, or end-to-end.  Service descriptions are
    covered by administrative policy and services are constructed by
    applying traffic conditioning to create behavior aggregates which
    experience a known PHB at each node within the DS domain.  Multiple
    services can be supported by a single per-hop behavior used in
    concert with a range of traffic conditioners.

    To summarize, classifiers and traffic conditioners are used to select
    which packets are to be added to behavior aggregates.  Aggregates
    receive differentiated treatment in a DS domain and traffic
    conditioners MAY alter the temporal characteristics of the aggregate
    to conform to some requirements.  A packet's DS field is used to
    designate the packet's behavior aggregate and is subsequently used to
    determine which forwarding treatment the packet receives."

This is turned inside out by this draft which talks about traffic
aggregates as though they were traffic streams, as defined by
RFC 2475, and invariant under edge conditioning and aggregation
that must of necessity occur inside any non-trivial network. The
effects of aggregation and the need to design PDBs and services
to be careful of these is discussed in RFC3086, reflecting DiffServ
WG discussions. First, from RFC 2475:

"Traffic stream     an administratively significant set of one
                    or more microflows which traverse a path
                    segment.  A traffic stream may consist of
                    the set of active microflows which are
                    selected by a particular classifier."
 From the draft:

"A Service Class as defined here is essentially a statement of the
required characteristics of a traffic aggregate; the actual
specification of the expected treatment of a traffic aggregate within
a domain may also be defined as a Per Domain Behavior [RFC3086]."

This is the only place in the draft where RFC 3086, a product of the
DiffServ WG is mentioned. (There was no mention in the original.)
 From RFC 3086's abstract, giving context for this RFC:

   "The next step is to formulate examples of how forwarding path
    components (PHBs, classifiers, and traffic conditioners) can be used
    to compose traffic aggregates whose packets experience specific
    forwarding characteristics as they transit a differentiated services
    domain.  The WG has decided to use the term per-domain behavior, or
    PDB, to describe the behavior experienced by a particular set of
    packets as they cross a DS domain."

and from RFC 3086's Introduction:
    "Diffserv classification and traffic conditioning are applied to
    packets arriving at the boundary of a DS domain to impose
    restrictions on the composition of the resultant traffic aggregates,
    as distinguished by the DSCP marking, inside the domain.  The
    classifiers and traffic conditioners are set to reflect the policy
    and traffic goals for that domain and may be specified in a TCA
    (Traffic Conditioning Agreement).  Once packets have crossed the DS
    boundary, adherence to diffserv principles makes it possible to group
    packets solely according to the behavior they receive at each hop (as
    selected by the DSCP).  This approach has well-known scaling
    advantages, both in the forwarding path and in the control plane.
    Less well recognized is that these scaling properties only result if
    the per-hop behavior definition gives rise to a particular type of
    invariance under aggregation.  Since the per-hop behavior must be
    equivalent for every node in the domain, while the set of packets
    marked for that PHB may be different at every node, PHBs should be
    defined such that their characteristics do not depend on the traffic
    volume of the associated BA on a router's ingress link nor on a
    particular path through the DS domain taken by the packets.
    Specifically, different streams of traffic that belong to the same
    traffic aggregate merge and split as they traverse the network.  If
    the properties of a PDB using a particular PHB hold regardless of how
    the temporal characteristics of the marked traffic aggregate change
    as it traverses the domain, then that PDB scales.  "

A per-hop behavior, which is just how a packet is forwarded at each
node, cannot directly result in a particular end-to-end, or even
edge-to-edge set of characteristics since it is dependent on how
much traffic is admitted and how traffic is mixed and so on. Which
brings me to:

Concern 3: draft seems to equate requiring a uniform PHB with achieving
an end-to-end QoS.

Contrast this with the RFC 2475 and 3086 approaches of having each
network domain specify the loss rate, maximum delay, and/or other
metrics which it will provide to traffic streams that conform to
certain agreed-upon (via SLS) behavior (e.g., interface, markings,
rate). Though work remains on how to put the values from a chain
of networks together, it is certain possible to figure out the
maximum delay through a set of networks with services so specified.
At the same time, nothing need be known about network internals.
If I am told that a traffic stream will be priority queued at
every router between two points, I am told nothing about the
maximum delay the packets will experience.

In section 1.5.3 of the draft,

  "Expedited Forwarding PHB [RFC3246] behavior was originally proposed
    as a way to implement a virtual wire, and can be used in such a
    manner."

The EF PHB was originally proposed as a *building block* to create
a service (then called virtual leased line) and both the original
proposal in RFC 2598 and the update in RFC 3246 were quite clear
about this. From RFC 2598:

    The EF PHB can be used to build a low loss, low
    latency, low jitter, assured bandwidth, end-to-end service through DS
    domains.  Such a service appears to the endpoints like a point-to-
    point connection or a "virtual leased line".

...

Creating such a service has two parts:

       1) Configuring nodes so that the aggregate has a well-defined
          minimum departure rate. ("Well-defined" means independent of
          the dynamic state of the node.  In particular, independent of
          the intensity of other traffic at the node.)

       2) Conditioning the aggregate (via policing and shaping) so that
          its arrival rate at any node is always less than that node's
          configured minimum departure rate.

    The EF PHB provides the first part of the service.  The network
    boundary traffic conditioners described in [RFC2475] provide the
    second part.

 From RFC 3246:
   "The intent of the EF PHB is to provide a building block for low loss,
    low delay, and low jitter services.  The details of exactly how to
    build such services are outside the scope of this specification."

and

  "Note that the EF PHB only defines the behavior of a single node.  The
    specification of behavior of a collection of nodes is outside the
    scope of this document.  A Per-Domain Behavior (PDB) specification
    [7] may provide such information."

These DiffServ documents were clear that a PHB does not a service make.

Finally, the draft specifies a lot of operational rules for
networks. This is inverted from the DiffServ WG approach of putting
tools into the hands of operators.

     Kathie Nichols

_______________________________________________
Diffserv-interest mailing list
Diffserv-interest@ietf.org
https://www1.ietf.org/mailman/listinfo/diffserv-interest