BGP Extended Community for QoS
Markingthomas.m.knoll@gmail.com
Routing Area
Inter-Domain Routing Working GroupDraftThis document specifies a simple signalling mechanism for
inter-domain QoS marking using several instances of a new BGP Extended
Community. Class based packet marking and forwarding is currently
performed independently within ASes. The new QoS marking community makes
the targeted Per Hop Behaviour within the IP prefix advertising AS and
the currently applied marking at the interconnection point known to all
access and transit ASes. This enables individual (re-)marking and
possibly forwarding treatment adaptation to the original QoS class setup
of the respective originating AS. The extended community provides the
means to signal QoS markings on different layers, which are linked
together in QoS Class Sets. It provides inter-domain and cross-layer
insight into the QoS class mapping of the source AS with minimal
signalling traffic.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 RFC 2119.A new BGP Extended Community is defined in this document, which
carries QoS marking information for different network layer technologies
across ASes. This extended community is called "QoS Marking". This new
community provides a mechanism within BGP-4 for
associating all advertised prefixes of the AS with its differentiated
QoS Class Marking information. It allows for the consistent exchange of
class encoding values between BGP peers for physical, data link and
network QoS mechanisms. These labels can be used to control the
distribution of this information, for the encoding and for treatment
adjustments within the AS or for other applications. One globally seen
QoS Class Set per AS is required for scalability reasons. It is the AS
provider's responsibility to enforce the globally signalled Set
throughout the AS.Several QoS Marking communities MAY be included in a single BGP
UPDATE message. They are virtually linked together by means of an
identical "QoS Set Number" field. Each QoS Marking community is encoded
as 8-octet tuple, as defined in .
Signalled QoS Class Sets are assumed to be valid for traffic crossing
this AS. If different QoS strategies are used with an AS, its provider
is responsible for consistent transport of transit traffic across this
inhomogeneous domain. In all transit forwarding cases, QoS based
tunnelling mechanisms are the means of choice for transparent traffic
transport.The availability of the "Best Effort" forwarding class is implied and
defaults to a zero encoding on all signalled layers. It is therefore not
necessary to include QoS Marking communities for the Best Effort Class
as long as the default encoding is in place.Class overload prevention can be achieved by means of the signalling
described in . It is a
complementary concept to limit the usage of advertised classes in a fair
and square manner.Current inter-domain interconnection is "best effort" interconnection
only. That is, traffic forwarding between ASes is without traffic class
differentiation and without any forwarding guarantee. It is common for
network providers to reset any IP packet class markings to zero, the
best effort DSCP marking, at the AS ingress router, which eliminates any
traffic differentiation. Some providers perform higher layer
classification at the ingress in order to guess the forwarding
requirements and to match on their AS internal QoS forwarding policy.
There is no standardized set of classes, no standardized marking (class
encoding) and no standardized forwarding behaviour, which cross-domain
traffic could rely on. QoS policy decisions are taken by network
providers independently and in an uncoordinated fashion.This general statement does not cover the existing individual
agreements, which do offer quality based interconnection with strict QoS
guarantees. However, such SLA based agreements are of bilateral or
multilateral nature and do not offer a means for a general "better than
best effort" interconnection. This draft does not aim for making such
SLA based agreements become void. On the contrary, those agreements are
expected to exist for special traffic forwarding paths with strictly
guaranteed QoS.There are many approaches, which propose proper inter-domain QoS
strategies including inter-domain parameter signalling, metering,
monitoring and misbehaviour detection. Such complex strategies get close
to guaranteed QoS based forwarding at the expense of dynamic
measurements and adjustments, of state keeping on resource usage vs.
traffic load and in particular of possibly frequent inter-domain
signalling.The proposed QoS Class marking approach dissociates from the complex
latter solutions and targets the general "better than best effort"
interconnection in coexistence with SLA based agreements. It enables
ASes to make their supported Class Sets and their encoding globally
known. In other words, this support information constitutes a simple map
of QoS enabled roads in transit and destination ASes.Signalling the coarse information about the supported class set and
its cross-layer encoding within the involved forwarding domains of the
selected AS path removes the lack of knowledge about the over-all
available traffic differentiation. AS providers are enabled to make an
informed decision about supported class encodings and might adopt to
them. No guarantees are offered by this "better than best effort"
approach, but as much as easily possible traffic differentiation without
the need for frequent inter-domain signalling and for costly ingress
re-classification will be achieved.Remarking the class encoding of customer traffic in order to match
neighbouring class set encodings is reasonable at AS interconnection
points. For AS internal forwarding, the encapsulation within any kind of
QoS supporting tunnelling technology is highly recommended. The
cross-layer signalling of QoS encoding will further ease the setup of
QoS based inter-domain tunnelling.The general confidentiality concern of disclosing AS internal policy
information is addressed in . In short,
network providers can signal a different class set in the QoS Marking
communities to the one actually used internally. The different class
sets (externally signalled vs. internally applied one) require an
undisclosed strictly defined mapping at the AS borders between the two.
This way, a distinction between internal and external QoS Class Sets can
be achieved.The general need for class based accounting is not addressed by this
draft. MIB extensions are also required, which separate traffic
variables by traffic marking. It is expected for both that existing
procedures can be reused in a class based manner.A number of QoS improvement approaches have been proposed before and
a selection will be briefly mentioned in this section.Most of the approaches perform parameter signalling. defines the QOS_NLRI attribute, which
is used for propagating QoS-related information associated to the NLRI
(Network Layer Reachability Information) information conveyed in a BGP
UPDATE message. Single so called "QoS routes" are signalled, which
fulfil certain QoS requirements. Several information types are defined
for the attribute, which concentrate on rate and delay type
parameters. is based on the
specified QOS_NLRI attribute and introduces some modifications to it.
The notion of AS-local and extended QoS classes is used, which
effectively describes the local set of QoS performance parameters or
their cross-domain combined result. Two groups of QoS delivery services
are distinguished, where the second group concentrates on ID associated
QoS parameter propagation between adjacent peers. The first group is of
more interest for this draft since it concentrates on the "identifier
propagation" such as the DSCP value for example. However, this
signalling is specified for the information exchange between adjacent
peers only and assumes the existence of extended QoS classes and offline
traffic engineering functions.Another approach is described in .
It associates a list of QoS metrics with each prefix by extending the
existing AS_PATH attribute format. Hop-by-hop metric accumulation is
performed as the AS_PATH gets extended in relaying ASes. Metrics are
generically specified as a list of TLV-style attribute elements. The
metrics such as bandwidth and delay are exemplary mentioned in the
draft.One contribution specialized in the signalling of Type Of Service
(TOS) values which are in turn directly mapped to DSCP values in section
3.2 of the draft .
The TOS value is signalled within an Extended Community Attribute and,
if it is understood correctly, will be applied to a certain route. An
additional value field is used to identify, which routes belong to which
signalled TOS community. Who advertises such attributes and whether they
are of transitive or non-transitive type remains unspecified.The most comprehensive analysis (although not an IETF draft) is given
in . This "Inter- provider Quality of Service"
white paper examines the inter-domain QoS requirements and derives a
comprehensive approach for the introduction of at least one QoS class
with guaranteed delay parameters. The implementation aspects of
metering, monitoring, parameter feedback and impairment allocations are
all considered in the white paper. However, QoS guarantees and parameter
signalling is beyond the intention of this QoS Marking draft.Other drafts may also be considered as related work as long as they
convey QoS marking information and might be "misused" for QoS class
signalling.One example is the usage of the "Traffic Engineering Attribute" as
defined in . However, the attribute is
non-transitive and the LSP encoding types are not generally applicable
to inter-domain interconnection types. Its usage of the targeted QoS
Marking signalling is not possible. The included maximum bandwidth of
each of eight priority classes, could however be used in future draft
extensions.The second example is the current "Dissemination of flow
specification rules" draft . It defines a new
BGP NLRI encoding format, which can be used to distribute traffic flow
specifications. Such flow specification can also include DSCP values as
type 11 in the NLRI. Furthermore, one could signal configuration actions
together with the DSCP encoding, which could be used for filtering
purposes or even trigger remarking and route selection with it. Such
usage is not defined in the draft and can hardly be achieved because of
the following reasons. The flow specification is focused on single
flows, which might even be part of an aggregate. Such fine grained
specification is counterproductive for the coarse grained general QoS
Marking approach of this draft. The novel approach of cross-layer QoS
Marking could also not be incorporated, which might be essential for
future tunnelled inter-domain interconnection.The new QoS Marking community is encoded in a BGP Extended
Community Attribute . It is therefore a
transitive optional BGP attribute with Type Code 16. An adoption to
the simple BGP Community Attribute encoding
is not defined in this document. The actual encoding within the BGP
Extended Community Attribute is as follows.The QoS Marking community is of regular type which results in a 1
octet Type field followed by 7 octets for the QoS marking structure.
The Type is IANA-assignable and marks the community as transitive
across ASes. The type number has been assigned by IANA to 0x04 .Optionally, a non-transitive Type value assignment of 0x44 is
provided, which allows for the AS internal marking information
exchange. The community format remains untouched for the
non-transitive version.The QoS Marking community provides a flexible encoding structure
for various QoS Markings on different layers. This flexibility is
achieved by a Flags, a QoS Set Number and a Technology Type field
within the 7 octet structure as defined below.Flags:All used and unused flags default to a value of
‘0’. The following table shows the bit encoding of the
Flags field.BitFlagEncoding0-1unusedDefault to ‘0’2P‘1’ … Marking is preserved3R‘1’ … Remarking occurred4I‘1’ … QoS marking ignored5A‘1’ … QoS class aggregation occurred6,7unusedDefault to ‘0’The 'P' flag indicates the preservation of incoming markings
during the transit forwarding process. The IP prefix originating
AS SHOULD set the flag to '1', which is otherwise implied by an
AS_PATH length of 1 ASN. Transit ASes MUST set the flag to '1', if
the advertised Marking A is accepted at the ingress and is sent
out unchanged at the egress. That is, no remarking occurs -
neither for marking adoption with the neighbouring downstream AS
nor by resetting the markings. This flag field is set and cleared
by each relaying AS according to its handling of markings -
irrespective of the possible ignorance of the particular Marking A
in the internal per hop forwarding behaviour.The Flags "R, I and A" are set to '0' in the advertisement by
the IP prefix originating AS. Transit ASes MUST change the flag
value to '1' once the respective event occurred. If the QoS
marking actively used in the transit AS internal forwarding is
different from the advertised original one, the 'Remarking (R)'
flag is set to '1'. This MUST be done separately for each
technology type community within the community set. The same
applies to the 'Ignore (I)' flag, if the respective advertised QoS
marking is ignored in the transit AS internal forwarding.The 'Aggregation (A)' flag MUST be set to '1' by the UPDATE
message relaying transit AS, if the respective IP prefixes will be
advertised inside an IP prefix aggregate constituted from
differing Class Sets.If the defined "R, I and A" flags are cleared - and by means of
the cleared 'Partial' flag of the BGP attribute it is shown, that
no "QoS Class ignorant" AS is involved in the forwarding path - a
consistent class based overall traffic separated forwarding is
available along this path.QoS Set Number:Several single QoS Marking communities can be logically grouped
into a QoS Marking community Set characterized by a identical QoS
Set Number. This grouping of the single QoS Marking communities
into a set provides cross-layer linking between the QoS class
encodings. It can also be used for the specification of behaviour
sets as given in the . The number of
signalled QoS Marking communities as well as QoS Marking community
Sets is at the operator’s choice of the originating AS. The
enumerated QoS set numbers have BGP UPDATE message local
significance starting with set number 0x00.Technology Type:The technology type encoding uses the enumeration list in. Future version of this draft will need
an extended enumeration list administered by IANA.QoS Marking / Enumeration O & A:The interpretation of these fields depends on the selected layer
and technology. ASes, which process the community and support the
given QoS Class by means of a QoS mechanism using bit encodings for
the targeted behaviour (e.g. IP DSCP, Ethernet User Priority, MPLS TC
etc.) MUST use a copy of the encoding in the "QoS Marking A" community
field. Unused higher order bits default to ‘0’. Other
technologies, which use separate forwarding channels for different
classes (such as L-LSPs, VPI/VCI inferred ATM classes, lambda inferred
priority, etc.) SHALL use class enumerations as encoding in this
community field. The enumeration count starts with zero for the best
effort traffic class and rises by one with each available higher
priority class.There are two QoS Marking fields within the QoS Marking community
for the "original (O)" and the "active (A)" QoS marking. Higher order
bits of those fields, which are not used for the respective behaviour
encoding, default to zero.QoS Marking O (Original QoS Marking):This field is a 16 bit QoS Marking field, which consists of of
a high ("Oh") and a low ("Ol") octet. The IP prefix originating AS
copies the internally associated QoS encoding of the given
Technology Type into this one octet field. The field value is
right-aligned depending on the number of encoded bits. For the IP
technology, the encoding of Per Hop Behaviour Codes has to follow
the definitions stated in . The field MUST
remain unchanged in BGP UPDATE messages of relaying nodes.QoS Marking A (Active QoS Marking):QoS Marking A and O MUST be identically encoded by the prefix
originating AS, except for the case, where IP technology Per Hop
Behaviours are addressed. "QoS Marking A" will always contain the
locally applied encoding for the targeted PHB.All other ASes use this Active QoS Marking field to advertise
their locally applied internal QoS encoding of the given class and
technology at the interconnection point. The field value is
right-aligned depending on the number of encoded bits. A cleared
Marking field (all zero) signals that this traffic class
experiences default traffic treatment within the transit AS
forwarding technology.A small list of technologies is provided in the table below for the
direct encoding of common technology types. The mapping of all virtual
channel technologies into a single technology type value is for
limiting the number of different communities in an UPDATE message. It
is therefore a contribution to scalability.ValueTechnology Type0x00DiffServ enabled IP (DSCP encoding)0x01Ethernet using 802.1q priority tag0x02MPLS using E-LSP0x03Virtual Channel (VC) encoding using separate channels for QoS
forwarding / one channel per class (e.g. ATM VCs, FR VCs, MPLS
L-LSPs)0x04GMPLS – time slot encoding0x05GMPLS – lambda encoding0x06GMPLS – fibre encodingProviders MAY choose to process the QoS Marking communities and adopt
the behaviour encoding and tunnel selection according to their local
policy. Whether this MAY also lead to different IGP routing decisions or
even effect BGP update filters is out of scope for the community
definition.Only the IP prefix originating AS is allowed to signal the QoS
Marking communities and Sets. AS providers, which make use of this
signalling mechanism MUST make sure, that only one external Class Set
will be advertised for the AS. All advertised prefixes, which originate
from that AS will be sent with the same QoS Marking community Set in the
respective UPDATE message. Transit ASes MUST NOT modify or extend the
QoS Marking community Set except for the update of each 'QoS Marking A'
field contained in the community Set and the respective "P, R, I, A"
flags. Prefixes with associated identical QoS Marking community Sets are
to be advertised together in common UPDATE messages in relaying
nodes. shows an AS interconnection example with
different Class Sets. It shows the case in AS 5 where different Class
Sets are used internally and externally. The proposed QoS Class Set
signalling will always use the external definitions within the UPDATE
message QoS Marking communities. The example also shows, that IP
prefixes, which originate in AS 5 and AS 3 can be advertised together
with the same QoS Marking community Set as long as their Layer 2
encoding is identical.See for an example QoS Marking
community Set.IP packet forwarding based on packet header QoS encoding might
require remarking of packets in order to match AS internal policies
and encodings of neighbouring ASes.Identical QoS class sets and encodings between neighbouring ASes do
not require any remarking. Different encodings will be matched on the
outgoing traffic.Outgoing traffic for a given IP prefix uses the 'QoS Marking A'
information of the respective BGP UPDATE message QoS Marking community
for adopted remarking of the forwarded packet.If the 'I' flag is set for a given encoding, the outgoing traffic
remarking SHOULD still be applied despite of the signalled lack of QoS
Class forwarding support. This is particularly important, if the
preserve flag 'P' is signalled together with the 'I' flag.Several IP prefixes of different IP prefix originating ASes MAY be
aggregated to a shorter IP prefix in transit ASes. If the original
Class Sets of the aggregated prefixes are identical, the aggregate
will use the same Set. In all other cases, the resulting IP prefix
aggregate is handled the same as if the transit AS were the
originating AS for this aggregated prefix. The transit AS provider MAY
care for AS internal mechanisms, which map the signalled aggregate QoS
Class Set to the different original Class Sets in the internal
forwarding path.In case of IP prefix aggregation with different QoS Class Sets, the
'Aggregation (A)' flag of each QoS Marking community within the Set
MUST be set to '1'.The disclosure of confidential AS intrinsic information is of no
concern since the signalled marking for QoS class encodings can be
adopted prior to the UPDATE advertisement of the IP prefix originating
AS. This way, a distinction between internal and external QoS Class Sets
can be achieved. AS internal cross-layer marking adaptation and policy
based update filtering allows for consistent QoS class support despite
made up QoS Class Set and encoding information within UPDATE
advertisements. In case of such policy hiding strategy, the required AS
internal ingress and egress adaptation SHALL be done transparently
without explicit "Active Marking" and 'R' flag signalling.This document defines a new BGP Extended Community, which includes a
"Technology Type" field. enumerates a number
of popular technologies. This list is expected to suffice for first
implementations. However, future or currently uncovered technologies may
arise, which will require an extended "Technology Type" enumeration list
administered by IANA.A new extended community QoS Marking community is defined, which has
been assigned a Type value of 0x04 for a transitive and 0x44 for a
non-transitive usage.This extension to BGP does not change the underlying security issues
inherent in the existing BGP.Malicious signalling behaviour of QoS Marking community advertising
ASes can result in misguided neighbours about non existing or
maliciously encoded Class Sets. Removal of QoS Marking community Sets
leads to the current best effort interconnection, which is no stringent
security concern.The IP prefix originating AS MAY place a copy of its marking
information into the Internet Routing Registry (IRR) for global
reference.The strongest threat is the advertisement of numerous very fine
grained Class Sets, which could limit the scalability of this approach.
However, neighbouring ASes are free to set the ignore flag of single
communities or to stop processing the QoS Marking communities of a
certain routing advertisement, once a self-set threshold has been
crossed. By means of this self defence mechanism it should not be
possible to crash neighbouring peers due to the excessive use of the new
community.Border Gateway Protocol (BGP) Data Collection Standard
CommunitiesInter-provider Quality of Service - White paper draft
1.1N.othersThe example AS is advertising several IP prefixes, which experience
equal QoS treatment from AS internal networks. The IP packet forwarding
policy within this originating AS defines e.g. 3 traffic classes for IP
traffic (DSCP1, DSCP2 and DSCP3). These three classes are also
consistently taken care of within a TC bit supporting MPLS tunnel
forwarding. The BGP UPDATE message for the announced IP prefixes will
contain the following QoS Marking community Set together with the IP
prefix NLRI.