Subject: RE: [Tsvwg] draft-ietf-tsvwg-diffserv-service-classes-01 WGLC

From: [email-masked]
Date: Tue, 8 Nov 2005 15:42:45 -0500

Kathie,

Pulling out selected portions of your email to comment on your issues ...

> 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.

That certainly was not the draft's intent.  To the extent that the draft
is at odds with RFC 2474 and 2475, I suspect the problems can be cleaned
up with suitably careful selection of terminology and a suitably
detailed editing pass. (NB: I'm a co-author of RFC 2474 and 2475).

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

> 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.

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

This draft's coupling of network services to applications is deliberate
and is much of the value of the draft.  Diffserv has always been viewed
as a toolkit - it has the equivalent of band saws, planers, drill presses,
etc.  In the hands of an expert, there's no limit to what can be built,
but it's intimidating to the point of inaccessible to a novice who just
wants to build a table and chairs.  Think of this draft as a set of
"project plans" for building all the furniture that a house might need.
The user may choose what to build (e.g., maybe our example novice doesn't
need a china cabinet right now).  This is one of the reasons that it's
deliberately *not* going standards track - Best Current Practice was
one possible alternative to Informational.

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

I think this is mostly sloppy terminology.  The focus of the draft is
(and should be) the traffic aggregates around which the core of the
network/diffserv domain needs to be designed.  The draft definitely
needs to allow the situation in which aggregates are exploded into flows
at the network edges and flows may "switch" aggregates when passing
between networks (e.g., I'm a customer of network A, so my video
download gets gold treatment from that operator, but network B
carries it as best effort).  To the extent that it forbids this sort
of thing, the draft needs to be corrected to point out that if the
behavior changes across domains, it's harder to be sure that the
result is consistent QoS ...

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

The draft shouldn't "equate" - to the extent it does, it needs editing.
What the draft is trying to do is describe one approach to building
end-to-end QoS, namely use the same PHB (and hence PDB) uniformly
across the networks (diffserv domains) involved.  See the above
"project plans" analogy - such a set of plans are not the only way
to build furniture (e.g., plans for a novice probably won't use
mortise/tenon construction).

> 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.

The "project plans" comment applies to this also.

I think this draft is an important complement to the existing body
of diffserv work and needs to be published as an RFC.

Thanks,
--David
----------------------------------------------------
David L. Black, Senior Technologist
EMC Corporation, 176 South St., Hopkinton, MA  01748
+1 (508) 293-7953             FAX: +1 (508) 293-7786
[email-masked]        Mobile: +1 (978) 394-7754
----------------------------------------------------

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] 
> On Behalf Of Kathleen Nichols
> Sent: Friday, November 04, 2005 6:50 PM
> To: [email-masked]
> Cc: [email-masked]; [email-masked]
> Subject: [Tsvwg] draft-ietf-tsvwg-diffserv-service-classes-01 WGLC
> 
> 
> 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
> 
> _______________________________________________
> tsvwg mailing list
> [email-masked]
> https://www1.ietf.org/mailman/listinfo/tsvwg
> 

_______________________________________________
tsvwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/tsvwg

---

From: "LEVIS Pierre RD-CORE-CAE" <[email-masked]>
Date: Wed, 9 Nov 2005 18:08:33 +0100

About the decoupling of services and applications.

There are many approaches that divide the Network layer in service classes accordingly to applications requirements. See UMTS/GPRS TS 23 107 and, may be to a lesser extend, ITU Y.1541. The tendency is very much "yet another application, yet another class". Simply because it doesn't seem reasonable to have as many classes as applications, applications are grouped by categories. But fundamentally the rationale remains the network is to closely adapt to the application.  This is indeed contradictory to several architectural ideas that enable the current Internet, like the hour glass model and the end-to-end principle. However it's also very true that network services will be used by applications and that there must be a certain level of coherence between the two.

The notion of Meta-QoS-Class (MQC) we have introduced in <draft-levis-meta-qos-class-00.txt> both maintains the independence between PDB (or service class or class of service or whatsoever you call it) and applications, and allows dynamic linkage. Simply speaking, a MQC is just a label associated to a type of applications that can be put on any implemented PDB (we use the term local class) to certify this class is suitable for this application. MQC concept makes it possible to handle network services and applications requirements as separate notions.

MQC is particularly interesting when it comes to SLS negotiations between ISPs (pSLS). We consider it is harmful to have pSLS QoS guarantees that span several domains. A pSLS should only concern the QoS of the neighbouring domain you're negotiating with. Two neighbouring local classes can be bound together if they conform to the same MQC. 

Pierre

-----Message d'origine-----
De : [email-masked] [mailto:[email-masked]] De la part de Kathleen Nichols
Envoyé : samedi 5 novembre 2005 00:50
À : [email-masked]
Cc : [email-masked]; [email-masked]
Objet : [Tsvwg] draft-ietf-tsvwg-diffserv-service-classes-01 WGLC

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.

"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

    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

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:

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:

"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:

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.

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:

...

 From RFC 3246:

and

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