One document matched: draft-geib-tsvwg-diffserv-intercon-01.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced.
An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-geib-tsvwg-diffserv-intercon-01" ipr="pre5378Trust200902">
<!-- category values: std, bcp, info, exp, and historic
ipr values: full3667, noModification3667, noDerivatives3667
you can add the attributes updates="NNNN" and obsoletes="NNNN"
they will automatically be output with "(if approved)" -->
<!-- ***** FRONT MATTER ***** -->
<front>
<!-- The abbreviated title is used in the page header - it is only necessary if the
full title is longer than 39 characters -->
<title abbrev="Abbreviated Title">DiffServ interconnection classes and practice</title>
<!-- add 'role="editor"' below for the editors if appropriate -->
<!-- Another author who claims to be an editor -->
<author fullname="Ruediger Geib" initials="R." role="editor"
surname="Geib">
<organization>Deutsche Telekom</organization>
<address>
<postal>
<street>Heinrich Hertz Str. 3-7</street>
<!-- Reorder these if your country does things differently -->
<city>Darmstdadt</city>
<region></region>
<code>64297</code>
<country>Germany</country>
</postal>
<phone>+49 6151 5812747</phone>
<email>Ruediger.Geib@telekom.de</email>
<!-- uri and facsimile elements may also be added -->
</address>
</author>
<date month="February" year="2013" />
<!-- If the month and year are both specified and are the current ones, xml2rfc will fill
in the current day for you. If only the current year is specified, xml2rfc will fill
in the current day and month for you. If the year is not the current one, it is
necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
purpose of calculating the expiry date). With drafts it is normally sufficient to
specify just the year. -->
<!-- Meta-data Declarations -->
<area>Transport</area>
<workgroup>TSVWG</workgroup>
<!-- WG name at the upperleft corner of the doc,
IETF is fine for individual submissions.
If this element is not present, the default is "Network Working Group",
which is used by the RFC Editor as a nod to the history of the IETF. -->
<keyword>RFC5127, DiffServ, Interconnection</keyword>
<!-- Keywords will be incorporated into HTML output
files in a meta tag but they have no effect on text or nroff
output. If you submit your draft to the RFC Editor, the
keywords will be used for the search engine. -->
<abstract>
<t>This document proposes a limited set of interconnection QoS PHBs and
PHB groups. It further introduces some DiffServ deployment aspects. The proposals
made here should be integrated into a revised version of RFC5127.</t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t>This draft proposes a DiffServ interconnection class and
codepoint scheme. At least one party of an interconnection often is a
network provider. Aggregated DiffServ classes are often deployed
within provider networks. To respect this, this draft also contains
concepts and current practice relevant for a revised version of
<xref target="RFC5127">
RFC5127</xref>. Its main purpose is to be considered as an input for the
latter task.</t>
<t>DiffServ sees deployment in many networks for the time being. As
described in the introduction of the <xref target="I-D.polk-tsvwg-diffserv-stds-problem-statement">
draft diffserv problem statement</xref>, remarking of packets at domain
boundaries is a DiffServ feature. This draft proposes a set of standard
QoS classes and codepoints at interconnection points to which and from
which locally used classes and codepoints should be mapped. Such a scheme
simplifies interconnection negotiations and ensures that end to end class
properties remain roughly the same, even if codepoints change.</t>
<t>The proposed Interconnection class and codepoint scheme tries to
reflect and consolidate related DiffServ and QoS standardisation efforts
outside of the IETF, namely MEF, GSMA and ITU.</t>
<t>IP Precedence has been depricated when DiffServ was standardised. It
is common practice today however to copy the DSCPs "IP Precedence Bits"
into MPLS TC or Ethernet P-Bits, whenever possible. This is reflected
by the DiffServ codepoint definitions of AF and EF. This practice and
it's limits deserve to be documented and disussed briefly.</t>
<t>The draft further adds proposes a philosophy how to add or
pick aggregated DiffServ classes. The set of available router and traffic
management tools to configure and operate DiffServ classes is limited.
This should be reflected by class definitions. These may in the end be
more related to transport properties than to application requirements.
Please interpret transport properties as "congestion aware" and "not
congestion aware" rather then TCP or UDP.</t>
<t>Finally, this draft proposes to leave some MPLS TC codepoint space to
allow for future DiffServ extensions like ECN/PCN and domain internal
classes (network management traffic is a good example for the latter).</t>
<section title="Requirements Language">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref
target="RFC2119">RFC 2119</xref>.</t>
</section>
</section>
<section title="Terminology">
<t>A later version of this draft needs to be clearer on that. The author
prefers to talk of QoS classes. PHB or PHB groups are not commonly used,
although they are better defined. An issue is, that PHB groups, which
e.g. allow to offer two or more different drop levels (PHB's) within
one PHB group , hardly saw commercial deployment. This may change
with more Ethernet services being offered.</t>
<texttable anchor="table_terminology">
<preamble> </preamble>
<ttcol align="left">Term</ttcol>
<ttcol align="left">Definition</ttcol>
<c>Class</c>
<c>A class is a set of one or more PHBs. If a class consists of a
set of PHBs and these obey to an ordering constraint. In that
sense, a class is a single AF class <xref target="RFC2597">(e.g. AF4 consisting of
AF41, AF41 and AF43)</xref>. A class is a <xref target="RFC2575">PHB group</xref>
and a <xref target="RFC3260">PHB scheduling class</xref>. On IP level all DSCPs sharing the
same IP precedence value belong to a single class. A class may
consist of one or more PHBs. A single class uses forwarding resources,
which are independent of the forwarding rseources of any other class.
Different classes must not be aggregated.</c>
<c>PHB</c>
<c>A single <xref target="RFC2575">Per Hop Behaviour</xref> is identified by a single DSCP on IP
layer.</c>
<postamble> </postamble>
</texttable>
<t>Many DiffServ related RFCs introduce new terminolgy duplicating the
existing one. The above references are incomplete and refer to the early
DiffServ RFCs only. Stopping terminology duplication may simplify discussion.</t>
<t>The following current practice issues relate to the concept of the DiffServ
interconnection class propsal rather than to terminology. They serve as
additional motivation of this activity:</t>
<t><list style="symbols">
<t>Abstract class names like "EF" are preferrential over those
being close to an application, like "Voice". Unfortunately,
non QoS experts can't handle abstract class names. Hence and usually
sooner than later, classes are named for applications or groups
of them. One consequence however is, that people tend to combine
application group class names and SLA parameters. Based on an application
specific name and some worst case performance numbers on a paper,
they often decide that their application needs a separate new
QoS class.</t>
<t>Worse than that, but very present in practice, is the class
abstraction level which is preferred by those dealing with QoS
(as experts or non experts): the DSCPs or the IP precedence values.
These are the commodity abstractions applied for QoS classes. Most
of these persons have fixed class to codepoint mappings in their
minds, which they can't easily adapt on a per customer or
interconnection partner basis. </t>
</list></t>
<t>While these issues aren't to be solved by IETF (QoS experts
could and should of course teach staff to use proper Diffserv
terminology and concepts), a simple and comprehensible QoS interconnection
class scheme also is helpful in this area.</t>
</section>
<section title="An Interconnection class and codepoint scheme">
<t>DiffServ deployments mostly follow loose class specification schemes
(often one or two AF classes, EF and Best Effort). Especially
DSCP assignment for the AF classes varies between deployments.
Basic AF class definitions are often similar however. This is in line
with the DiffServ architecture. This document doesn't propose to
change that.</t>
<t>Interconnecting parties face the problem of matching classes
to be interconnected and then to agree on codepoint mapping. As stated
by <xref target="I-D.polk-tsvwg-diffserv-stds-problem-statement">
draft diffserv prolebm statement</xref>, remarking is a standard
behaviour at interconnection interfaces. This draft propses a set of
4 QoS classes with a set of well defined DSCPs and IP-Precedence values
as interconnection class and codepoint scheme. A sending party remarks DSCPs
from internal schemes to the Interconnection codepoints. The
receiving party remarks IP-Precedence and or DSCPs to their internal
scheme. Thus the interconnection codepoint scheme fully complies with
the DiffServ architecture. Such an interconnection class and codepoint
scheme was introduced by <xref target="Y.1566">ITU-T</xref> (there also
includuíng Ethernet). It is specified to a higher level of detail in
this document.</t>
<t>At first glance, this looks like an additional effort. But there are
obvious benefits: each party sending or receiving traffic has to
specify the mapping from or to the interconnection class and codepoint
scheme only once. Without it, this is to be negotiated per
interconnection party individually. Further, end-to-end QoS in terms
of traffic being classified for the same class in all passed domains
is likely to result if an interconnection codepoint scheme is used. It
is not necessarily resulting from individual per network mapping
negotiations.</t>
<t>The standards and deployments known to the author of this
draft are limited to 4 DiffServ classes at interconnection points (or
less).<xref target="I-D.polk-tsvwg-rfc4594-update">
Draft RFC 4597 update </xref>doesn't seem to generally contradict
to this, as it proposes to standardise "many services classes, not all
will be used in each network at any period of time." Some more
good reasons fovour working with 4 DiffServ interconnection classes for
now:</t>
<t><list style="symbols">
<t>There should be a coding reserve for interconnection classes, leaving
space for future standards, for bilateral agreements and for carrier
internal classes.</t>
<t>MPLS and Ethernet support only 8 PHBs, classes or ECN indications.
Assignment of codepoints for whatever purpose must be well thought through.
Limiting interconnection QoS to four classes is MPLS and Ethernet friendly
in that sense.</t>
<t>Migrations from one codepoint scheme to another may require spare
QoS codepoints.</t>
</list></t>
</section>
<section title="Consolidation of QoS standards by the interconnection codepoint scheme">
<t>The interconnection class and codepoint scheme proposed by Y.1566 also
tries to consolidate related DiffServ and QoS standardisation efforts
outside of <xref target="Y.1566"> the IETF</xref>. The interconnection class and
codepoint scheme may be a suitable approach to consolidate these standards.
MEF 23.1 specifies 3 aggregated classes, consuming up to 5 codepoints on
Ethernet layer (EF, AF3 and AF1 and Best Effort)
and <xref target="MEF23.1"> 6 PHBs </xref>. MEF aggregates AF1 and Default
PHB in a single class. This is not recommended for interconnection,
as it is not in line with RFC 2597 (which requires separate forwarding
resources for each AF class and doesn't forsee aggregation of Default PHB
and an AF class).</t>
<t>GSMA IR.34 proposes four classes, EF, AF4, another AF class and
Best Effort with <xref target="IR.34"> 7 PHBs in sum</xref>. IR.34 specifies
an "Interactive" class consisting of 3 PHBs with fifferent drop priorities.
IR.34 specfies the PHBS AF31, AF21 and AF11 for this Interactive class.
This definitely breaks RFC 2597. The interconnection class and codepoint scheme
supports the Interactive class but assigns AF3 with PHBs AF31, AF32 and AF33.</t>
<t>The classes to be supported at interconnection interfaces are specified by
Y.1566 as:</t>
<texttable anchor="table_intercon_class_scheme">
<preamble> </preamble>
<ttcol align="left">Class</ttcol>
<ttcol align="left">Properties</ttcol>
<c>Priority</c>
<c>EF, expecting the figures of merit describing the PHB to be in the range
of low single digit milliseconds. <xref target="RFC3246">See</xref>.</c>
<c>Bulk inelastic</c>
<c>Traffic load in this class must be controlled, e.g. by application servers.
One example could be flow admission control. There may be infrequent
retransmissions requested by the application layer to mitigate low levels
of packet losses. Discard of packets through active queue management should
be avoided in this class. Congestion in this class may result in bursty packet
loss. If used to carry multimedia traffic, it is recommended to carry audio
and video traffic in a single PHB. All of these properties influence the
buffer design.</c>
<c>Assured</c>
<c>This class may be optimised to transport traffic without bandwidth requirements.
Retransmissions after losses characterise the class and influence the buffer design.
Active queue management with probabilistic dropping may be deployed.</c>
<c>Default</c>
<c>Default. This class may be optimised to transport traffic without bandwidth requirements.
Retransmissions after losses characterise the class and influence the buffer design.
Active queue management with probabilistic dropping may be deployed.</c>
<postamble> </postamble>
</texttable>
<t>Note that other DiffServ related standards trim down class requirements to SLA parameters.
To quote e.g RFC 4594-update, "A "service class" represents a similar set of traffic
characteristics for delay, loss, and jitter as packets traverse routers in a network." This
draft adds traffic conditioning properties corresponding to expected transport layer
characteristics as a key factor to a class definition: the desired class performance like
delay, jitter and worst case loss are met only if conditioning and and transport properties
meet the ones described by the class definition.
This is not to say, the other standards ignore conditioner properties. They are e.g. a core part
of RFC 4594-update. They do not directly refer to tranport protocol properties, as most
existing QoS standards prefer the approach of assigning QoS classes to applications or
application sets. This may result in undesirable class mappings, if an e.g. IP TV application
demanding low loss is matched to a class whose low loss guarantees depend on AQM mechanisms.</t>
<t>Y.1566 does not recommend all PHBs to be supported at an interconnection
interface. This information is added by this draft. At interconnection points,
the following PHBs should be accepted between interconnected parties:</t>
<texttable anchor="table_intercon_PHB_scheme">
<preamble> </preamble>
<ttcol align="left">Class</ttcol>
<ttcol align="left">PHBs</ttcol>
<c>Priority</c>
<c>EF</c>
<c>Bulk inelastic</c>
<c>AF41 (AF42 and AF43 are reserved for extension)</c>
<c>Assured</c>
<c>AF31, AF32 and AF33</c>
<c>Default</c>
<c>Default</c>
<postamble> </postamble>
</texttable>
<t>Class names (and property specification) are picked from Y.1566. PHBs to
the level of detail introduced here are not part of Y.1566.</t>
</section>
<section title="MPLS, Ethernet and IP Precedence for aggregated classes">
<t>IP Precedence has been depricated when DiffServ was standardised.
Ethernet and MPLS support 3 bit codepoint fields to differntiate service
quality. Mapping of the IP precedence to these 3 Bit fields has been
a configuration restriction in the early days of DiffServ. The concept
of paying attention to the three most significant bits of a DSCP has
however been part of Diffserv from start on (EF's IP Precedence is 5,
that of AF4 is 4 and so on). The interconnection class and codepoint
scheme respects this in different ways:</t>
<t><list style="symbols">
<t>it allows to classify four interconnection classes based on IP
precedence.</t>
<t>It supports a single PHB group (AF3), which may be mapped to up to
three different MPLS TC's or Ethernet P-Bits. Note that this
draft doesn's favour or recommend doing that, but it is possible.
The author isn't aware of deployed service offers with 3 different
drop levels in a single class.</t>
</list> </t>
<t>This is of course no requirement to depricate any DSCP to MPLS TC
or Ethernet P-Bit mapping functionality. This functionality is very
important as well.</t>
</section>
<section title="QoS class name selection">
<t>This is more of an informational discussion, proposed best practice, and
mainly relates to human behviour (including QoS experts) rather than
technical issues. Above the human preference for conceivable class names
has been mentioned. Network engineers (including the former Diffserv WG
authors) recommend to avoid application related QoS class names. Focus
should be put on class properties. But these can be irritating again, as
just looking at SLA parameters like Delay, Jitter and packet loss don't
tell the reader, which conditioning and transport properties guideed
the class engineering assumptions resulted in the conditioning of
a class. A router produces QoS with a scheduling mechanism, a settable
queue depth and optional active queue management (including ECN), and may
be a policer. Some kind of resource management may be present (also in
Diffserv domains). It's beyond the imagination of the author how one
would engineer more than half a dozen classes with distinguishable
properties with this set of tools.</t>
<t>There's no perfect solution to the problem, as conditioning configurations
are not comprehensible to most readers, even if they were communicated
(they are operational secrets of course). There are (or should be)
engineering assumptions, when designing QoS conditioners. But they closer
relate to layer 3 or layer 4 level properties than to specific
applications. In general, an application responds to congestion by
reducing traffic, or it ignores congestion. Active queue management
doesn't help to avoid congestion in the latter case, only resource
management does. EF may be a special case. If the EF traffic is not
responsive to congestion, and packets are assumed to be short, rather
small jitter values can be reached if enginieering ensures that the
packet arrival rate never exceeds the transmision rate of that queue
(see <xref target="RFC3246">RFC 3246</xref>). There's other non congestion-responsive traffic, for
which the EF engineering assumptions may not fit. So conditioning)
like bulk inelastic is reasonable.</t>
<t>Active queue management may be deployed for QoS classes,
which are designed to transport traffic responding to congestion by
traffic reduction.</t>
<t>The class names of this document follow Y.1566. TCP_optimised
and especially UDP_optimised are inappropriate as clas names, as some
UDP based application are or may be expected to become TCP friendly.</t>
</section>
<section title="Allow for DiffServ extendability on MPLS and Ethernet level">
<t>Any aggregated Diffserv deployment faces codepoint depletion issues
rather soon, if deployed on MPLS or Ethernet. Coding space should be
left for new features, like ECN, PCN or Conex. In addition to carrying
customer traffic, internal routing and network management
traffic may be protected by using a separate class. Offering
interconnection with up to four classes and 4 - 6 MPLS TC's (or
Ethernet P-bits) to that respect is probably at least a
fair compromise. </t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>This memo includes no request to IANA.</t>
</section>
<section anchor="Security" title="Security Considerations">
<t>This document does not introduce new features, it
describes how to use existing ones. The security section of
<xref target="RFC4597">RFC 4597</xref> applies.</t>
</section>
</middle>
<!-- *****BACK MATTER ***** -->
<back>
<!-- References split into informative and normative -->
<!-- There are 2 ways to insert reference entries from the citation libraries:
1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
(for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")
Both are cited textually in the same manner: by using xref elements.
If you use the PI option, xml2rfc will, by default, try to find included files in the same
directory as the including file. You can also define the XML_LIBRARY environment variable
with a value containing a set of directories to search. These can be either in the local
filing system or remote ones accessed by http (http://domain/dir/... ).-->
<references title="Normative References">
<!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
<?rfc include='reference.RFC.2575'?>
<?rfc include='reference.RFC.2597'?>
<?rfc include='reference.RFC.3246'?>
<?rfc include='reference.RFC.3260'?>
<!-- <?rfc include='reference.RFC.3270'?> -->
<reference anchor="min_ref">
<!-- the following is the minimum to make xml2rfc happy -->
<front>
<title>Minimal Reference</title>
<author initials="authInitials" surname="authSurName">
<organization></organization>
</author>
<date year="2006" />
</front>
</reference>
</references>
<references title="Informative References">
<!-- Here we use entities that we defined at the beginning. -->
<?rfc include='reference.RFC.2119'?>
<?rfc include='reference.RFC.5127'?>
<?rfc include='reference.RFC.4597'?>
<?rfc include='reference.I-D.polk-tsvwg-diffserv-stds-problem-statement'?>
<?rfc include='reference.I-D.polk-tsvwg-rfc4594-update'?>
<!-- A reference written by by an organization not a person. -->
<reference anchor="IR.34">
<front>
<title>IR.34 Inter-Service Provider IP Backbone Guidelines Version 7.0
</title>
<author>
<organization>GSMA Association</organization>
</author>
<date year="2012" />
</front>
<seriesInfo name="GSMA, " value="GSMA IR.34 http://www.gsma.com/newsroom/wp-content/uploads/2012/03/ir.34.pdf"/>
</reference>
<reference anchor="MEF23.1">
<front>
<title>Implementation Agreement MEF 23.1 Carrier Ethernet Class of Service Phase 2
</title>
<author>
<organization>MEF</organization>
</author>
<date year="2012"/>
</front>
<seriesInfo name="MEF, " value="MEF23.1 http://metroethernetforum.org/PDF_Documents/technical-specifications/MEF_23.1.pdf"/>
</reference>
<reference anchor="Y.1566">
<front>
<title>Quality of service mapping and interconnection between Ethernet, IP and multiprotocol label switching networks
</title>
<author>
<organization>ITU-T</organization>
</author>
<date year="2012"/>
</front>
<seriesInfo name="ITU, " value="http://www.itu.int/rec/T-REC-Y.1566-201207-I/en"/>
</reference>
</references>
<section anchor="app-additional" title="Change log">
<texttable anchor="Change_log">
<preamble> </preamble>
<ttcol align="left">Versions</ttcol>
<ttcol align="left">Changes </ttcol>
<c>00 to 01</c>
<c>Added terminology and references. Added details and information
to interconnection class and codepoint scheme. Editorial changes</c>
<postamble> </postamble>
</texttable>
</section>
<!-- Change Log
v00 2012-10-26 RG Initial version
v01 2013-02-20 RG Added material see change log and editorial changes
-->
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 01:34:01 |