Internet Engineering Task Force                      Olivier Bonaventure
INTERNET DRAFT                                                     FUNDP
<draft-bonaventure-bgp-qos-00.txt>                        February, 2001
                                                    Expires August, 2001

            Using BGP to distribute flexible QoS information


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.


Abstract

   This document proposes a flexible QoS attribute that can be used to
   distribute QoS information with BGP.  The proposed attribute  allows
   to associate a set of supported PHB, transit delay and  bandwidth
   information to an UPDATE message. The flexibility of the proposed
   attribute allows each AS to decide  independently which QoS
   information to redistribute to its peers.

1   Introduction


     In this document, we propose a mechanism to associate QoS
   information to prefixes that are announced by BGP. Inside a single
   autonomous system, recent work has focussed on the definition of QoS
   information that can be  distributed by link state routing protocols.
   In the case of Interior Gateway Protocols (IGP), the focus was the
   definition of the minimum set of QoS attributes that can be



Bonaventure                                                     [Page 1]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


   associated to a link to support the QoS or traffic engineering
   features without overloading the flooding protocol or the route
   computation [SL99, KY00, KRB^+00]. At the interdomain level, the
   issue to be considered is different. There are many different
   autonomous systems on the global Internet with very different
   requirements and needs in terms of Quality of Service. For example,
   the autonomous systems that are part of a confederation could want to
   distribute detailed QoS information inside the confederation while
   announcing far fewer QoS information on the global Internet. An ISP
   could also want to provide different types of QoS information to its
   clients than to other ISPs at public interconnection points. An ISP
   could want to distribute different QoS information to private peers
   than to public peers. When dealing with differentiated services, an
   ISP could want to announce a bandwidth limit on routes associated
   with the EF PHB while no limit for routes associated with the AF
   PHB.Many other situations are possible. To support these various
   requirements, a flexible method to distribute QoS information is
   necessary for BGP. The solution proposed in this document is equally
   applicable to the global Internet as well as to BGP-based VPN
   solutions [RR99, KLV^+00, CTS00].Many complex routing policies,
   including some related to QoS, can be implemented by using the
   communities [CTL96] or the extended communities attribute [RTR01].
   However, those communities have a local semantics and their
   utilization must be agreed between each pair of routers.  When
   considering the support of QoS across interdomain boundaries, it
   would be more useful to have a flexible QoS attribute that can be
   used for this purpose instead of letting each AS define its private
   set of communities for almost the same purpose.

2   The QoS attribute



     This document defines a new QoS attribute that can be used to
   associate QoS information to an UPDATE message. This QoS attribute
   applies to all NLRI information contained inside the UPDATE message.
   The QoS attribute is a variable length  non-transitive optional
   attribute.  It is encoded as follows :

    -  The attribute flags shall indicate that the QoS attribute is
      optional,  non-transitive and the extended length bit is set to
   one
      since the QoS attribute  may be longer than 256 bytes.
    -  The attribute type code is to be assigned by IANA
    -  The length of the entire attribute is encoded in two octets
    -  The value of the QoS attribute is encoded as a list of triples :





Bonaventure                                                     [Page 2]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


     +-------------------------------+
     | PHB identification (2 octets) |
     +------------------+------------+
     | QoS Type(1 octet)|
     +------------------+-----------------------------------+
     | QoS value                 (4 octets)                 |
     +------------------------------------------------------+


     The QoS type code allows the definition of 256 different types of
   QoS values. Out of these 256 possible values, value 0 is reserved for
   future utilization, values 1-127 are to be defined by IANA while
   values 128-255 are reserved for vendor specific QoS attributes. This
   document defines QoS types  1-6.

 2.1   PHB identification


     The PHB identification is used for two purposes. First, it allows a
   border router to announce the PHB that it supports. Second, by using
   the the various QoS values, it is impossible to associate a specific
   QoS metric to each PHB.  The PHB shall be encoded as specified in
   [BBCF01].

 2.2   Empty QoS value


     This special QoS value shall be used by a border router wishing to
   announce the support of a specific PHB towards the associated prefix
   without associating detailed QoS information. The QoS type for this
   value is 1. In this case, the QoS value field shall be equal to
   0x00000000.

 2.3   Maximum Bandwidth


     The maximum bandwidth QoS value shall be used by a border router to
   associate a maximum bandwidth to a given PHB. This attribute shall be
   used by a border router to announce, with eBGP or iBGP, the maximum
   bandwidth along the path towards the associated prefix. This QoS
   value differs from the maximum bandwidth community defined in
   [RTR01] that is only used for iBGP.The maximum bandwidth QoS value is
   reported in bytes per second and encoded as an IEEE single precision
   floating point number by using the same format as proposed in
   [RTR01]. The QoS type field for the maximum bandwidth QoS value is 2.

 2.4   Available Bandwidth




Bonaventure                                                     [Page 3]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


     The available bandwidth QoS value shall be used by a border router
   to announce the available bandwidth associated with an announced
   prefix.  This information shall correspond to the amount of available
   bandwidth on the path towards the associated prefix.The available
   bandwidth QoS value is reported in bytes per second and encoded as an
   IEEE single precision floating point number by using the same format
   as proposed in [RTR01]. The QoS type field for the maximum bandwidth
   QoS value is 3.We expect that an information that potentially varies
   frequently such as the Available Bandwidth will not be distributed
   through the whole Internet and that filters will be used to limit its
   distribution. It could for example be used within a confederation or
   for specific VPN purposes without being re-exported.

 2.5   Maximum Transit delay

      This QoS value is used by a border router to associate a maximum
   transit delay to an announced prefix. This QoS value is an indication
   of the maximum (one-way) transit delay  required to reach the
   farthest IP address of the associated prefix.The maximum  transit
   delay is reported in units of one microsecond and encoded as an
   unsigned 32 bits number.  The QoS type field of the maximum transit
   delay  QoS value is 4.

 2.6   Minimum Transit delay


     This QoS value is used by a border router to associate a minimum
   transit delay to an announced prefix. This QoS value is an indication
   of the minimum (one-way) transit delay required to reach the closest
   IP address of the associated prefix.The minimum transit delay is
   reported in units of one microsecond and encoded as an unsigned 32
   bits number.  The QoS type field of the minimum transit delay  QoS
   value is 5.

 2.7   Required signalling


     This QoS value may be used by a border router to indicate whether
   or not an explicit signalling operation is required to reach the NLRI
   included in the UPDATE message. A border router may wish to enforce
   an explicit signalling operation to be able to perform admission
   control for example. This QoS value is encoded as a 32 bits field
   that contains a list of bit flags. Each flag indicates the type of
   signalling operation required to utilize the route.







Bonaventure                                                     [Page 4]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


                         1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Required Signalling                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


     Bit0 : No explicit signalling required
     Bit1 : Supports RSVP for Integrated services
     Bit2 : Supports RSVP for MPLS LSP
     Bit3 : Supports CR-LDP for MPLS LSP


     When Bit0 is set (reset), this indicates that the border router
   sending the UPDATE message is able (refuses) to accept normal IP
   packet towards the associated NLRI. When Bit1 is set (reset), this
   indicates that the border router is willing (refuses) to process the
   establishment of Integrated Services flows with RSVP towards the
   associated NLRI. When Bit2 is set (reset), this indicates that the
   border router is willing (refuses) to process MPLS LSP establishment
   request with RSVP towards the associated NLRI. When Bit3 is set
   (reset), this indicates that the border router is willing (refuses)
   to process MPLS LSP establishment request with CR-LDP. The QoS type
   field of the required signalling  QoS value is 6. Additional bit
   flags may be defined to cover other signalling methods [BPSA01]


 2.8   Routes without a QoS attribute


     When a BGP router receives an UPDATE message that does not contain
   a QoS attribute, it may assume the following defaults :

    -  The set of supported PHB should be set to BE.
    -  The Maximum and Available bandwidth should be set to  infinite or
      the bandwidth of the link from which the UPDATE message is
   received
      (if known).
    -  The required signalling flags should indicate that no explicit
      signalling is required
    -  The Minimum Transit Delay should be set to 0.
    -  The Maximum Transit Delay should be set to infinite.
     Similar rules apply when the received QoS attribute that not
   contain a value for each QoS type.

3   Aggregation and QoS attributes





Bonaventure                                                     [Page 5]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


     A key issue for the scalability of the interdomain routing system
   is the possibility to aggregate routes in a single announcement
   [CS99].  When QoS information is associated with a prefix, the
   accuracy of the QoS information may conflict with the need for
   aggregation. For example, consider the network shown in figure 1.


      +===========================+
      |      +---------------+    |
      |      |  12.0.0.0/8   |    |
      |      |               |    |
      |      |      EF       |    |
      |      +---------------+    |
      |                 10msec\   |          +---------------+
      |                        \  |          |      AS10     |
      |      AS20                R|----------|R1           R2|
      |                        /  |<-------> |      AF+EF    |
      |                 5msec /   |  5msec   +---------------+
      |      +---------------+    |          <--------------->
      |      |  13.0.0.0/8   |    |                   5 msec
      |      |               |    |
      |      |      AF+EF    |    |
      |      +---------------+    |
      +===========================+

                            Figure 1: Simple interdomain topology


     Assume that in this network, AS20 wants to advertise detailed
   information about networks 12.0.0.0/8 and 13.0.0.0/8 to AS10. It this
   case, the border router of AS20 would associate a maximum delay of 10
   msec and the EF PHB to prefix 12.0.0.0/8. Network 13.0.0.0/8 would be
   announced with the AF and EF PHB and a maximum delay of 5 msec. Based
   on this information, AS10 would have to decide how to announce these
   two prefixes through router R2. If AS10 wants to provide detailed QoS
   information, then it should  announce prefix 12.0.0.0/8 with the EF
   PHB and a maximum transit delay of 20 msec and prefix 13.0.0.0/8 with
   both the  AF and EF PHB and a maximum transit delay of 15 msec.On the
   other hand, if AS10 wants to reduce the amount of prefix announced,
   then it should aggregate 12.0.0.0/8 and 13.0.0.0/8 in a single
   prefix. In this case, AS10 would announce that network 12.0.0.0/7
   supports the EF PHB and that the maximum transit delay to reach this
   network is 20 msec.In many cases, a border router will need to
   aggregate several specific routes into a single less specific route.
   This aggregation will inevitably introduce approximation in the route
   announced. The only way to avoid loosing QoS information is to avoid
   aggregating routes.  However, this solution suffers from scalability
   problems.Border routers should have the highest flexibility to decide



Bonaventure                                                     [Page 6]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


   which QoS information should be announced to each peer, possibly on a
   prefix-by-prefix basis.  We believe that it is not possible in such a
   document to impose strict conditions on how a border router
   propagates QoS information received from a peer. There are however
   some guidelines that should be followed in the mechanisms used by a
   border router to  manipulate QoS information :

    -  When redistributing a route, a border router should try,
   depending
      on its policy, and whenever possible, to reduce the number of
      prefixes announced.
    -  When a border router needs to redistribute a route, it may modify
      the QoS attribute. The border router may add any QoS value
   associated
       with one of the PHB identifications explicitly indicated in the
      received  QoS attribute. It cannot add a new PHB to the set of PHB
      included in  the received QoS attribute. The only exception to
   this
      rule is when a border router receives an UPDATE message that does
   not
      contain the QoS attribute. In this case, this route is implicitly
      valid for the Best-Effort PHB and thus the border route may add
   QoS
      values provided that they are associated with the Best-Effort PHB.
    -  A border router that receives routes with QoS information from a
      peer and needs to redistribute it is in principle allowed to
   update
      or remove any received QoS information. The only exception to this
      rule is that if a router receives a QoS attribute that does not
      contain the Best-Effort PHB. In this case, the border router
   cannot
      entirely remove the QoS attribute. This implies that in this case
   the
      route should not be distributed towards a BGP router that does not
      support the QoS attribute defined in this document.
    -  When a border router needs to update the maximum (resp.
   available)
      bandwidth included in a QoS attribute, it may decrease this
   maximum
      (resp. available)  bandwidth, but cannot increase it. When
   updating
      the bandwidth values, it should ensure that, for each PHB, the
      maximum bandwidth remains larger than the available bandwidth.
    -  When a border router needs to update the maximum (resp. minimum)
      transit delay  included in a QoS attribute, it may increase this
      maximum (resp. minimum)  transit delay, but cannot increase it.
   When
      updating the delay values, it should ensure that, for each PHB,



Bonaventure                                                     [Page 7]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


   the
      maximum transit delay  remains larger than the minimum transit
   delay.

4   Capability negotiation



     To advertise the QoS capability to a peer, a BGP speaker uses the
   BGP Capabilities Advertisement [CS00] This capability is advertised
   using the Capability code TBD_IANA (to be defined by IANA).The fields
   in the Capabilities Optional Parameter are set as follows. The
   Capability Code field is set to TBD_IANA (to be defined by IANA). The
   Capability Length field is set to 1. The Capability Value contains
   the version of the QoS attribute. This document defines version 1 of
   the QoS attribute.To obtain a bi-directional exchange of QoS
   attributes between a pair of border routers, each border router must
   advertise to the other the support of the QoS attribute.

5   Related work


     Two extensions to BGP have been proposed recently to advertise QoS
   information with BGP [AV00, Jac00].In [Jac00], the QoS information is
   associated to a prefix by defining a new QOS_NLRI attribute. This
   optional  transitive attribute is used to associate QoS information
   to an  announced prefix. This document defines several types of QoS
   information (reserved bandwidth, available bandwidth, minimum,
   maximum and average transit delay) and the support of the AF PHB.
   However, it only allows to associate a single QoS information to each
   prefix.  In contrast, our proposal is to define a flexible QoS
   attributes that can be manipulated by BGP speakers to support
   different QoS policies. We expect for example than inside a
   confederation or for VPN applications, the QoS information will be
   richer than on the global Internet.  The flexibility of our solution
   allows to easily support these requirements.
     [AV00] proposes on the other hand to define new optional attributes
   used to compute TE weights. This document also proposes methods to
   aggregate these traffic engineering weights. The intended application
   of [AV00] is to provide a mechanism similar to the BGP Multi Exit
   Discriminator without being limited to adjacent AS.

6   Conclusion



     In this document, we have a flexible QoS attribute that can be used
   to distribute QoS information with BGP. The proposed attribute can be



Bonaventure                                                     [Page 8]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


   used by a BGP speaker to announce the set of PHB that it supports and
   to optionally associate specific QoS values (minimum and maximum
   transit delay, available and maximum bandwidth) to each supported
   PHB.

Acknowledgements

     We would like to thank Christian Jacquenet, Guy Leduc, Stefaan De
   Cnodder and Steve Uhlig for their very useful comments on this
   document. This work was partially funded by the European Commission,
   within the  ATRIUM IST project.

References



   [AV00] B. Abarbanel and S. Venkatachalam. Bgp-4 support for traffic
   engineering. Internet draft, draft-abarbanel-idr-bgp4-te-00.txt, work
   in progress,  May 2000.

   [BBCF01] D. Black, S. Brim, B. Carpenter, and F. Le Faucheur. Per hop
   behavior identification codes. Internet draft, draft-ietf-
   diffserv-2836bis-00.txt, work in progress,  January 2001.

   [BPSA01]  M. Blanchet, F. Parent, and B. St-Arnaud. Optical bgp
   (obgp): Interas lightpath provisioning. Internet draft, draft-parent-
   obgp-00.txt, work in progress, January  2001.

   [CS99]  E. Chen and J. Stewart. A framework for inter-domain route
   aggregation. Internet RFC 2519, February 1999.

   [CS00]  R. Chandra and J. Scudder. Capabilities negotiation with
   BGP-4.  Internet RFC2842, May 2000.

   [CTL96]  R. Chandra, P. Traina, and T. Li. BGP communities attribute.
   Internet RFC 1997, August 1996.

   [CTS00]  J. De Clercq, Y. T'Joens, and P. De Schrijver. BGP/IPsec
   VPN.  Internet draft, draft-declercq-bgp-ipsec-vpn-00.txt, work in
   progress, July 2000.

   [Jac00]  C. Jacquenet. Providing quality of service indication by the
   BGP-4 protocol : the  QoS_NLRI attribute. Internet draft, draft-
   jacquenet-qos-nlri-01.txt, work in progress,  November 2000.

   [KLV^+00]  K. Kompella, M. Leelanivas, Q. Vohra, J. Achirica, R.
   Bonica, C. Liljenstolpe,  E. Metz, C. Sargor, and V. Srinivasan.
   MPLS-based Layer 2 VPNs. Internet draft, draft-kompella-mpls-



Bonaventure                                                     [Page 9]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


   l2vpn-02.txt, work in progress,  November 2000.

   [KRB^+00]  K. Kompella, Y. Rekther, A. Banerjee, J. Drake, G.
   Bernstein, D. Fedyk,  E. Mannie, D. Saha, and V. Sharma. IS-IS
   extensions in support of MPL(ambda)S. Internet draft, draft-kompella-
   isis-ompls-extensions-00.txt, work in  progress, July 2000.

   [KY00]  D. Katz and D. Yeung. Traffic engineering extensions to ospf.
   Internet draft, draft-katz-yeung-ospf-traffic-02.txt, work in
   progress, August 2000.

   [RR99]  E. Rosen and Y. Rekhter. BGP/MPLS VPNs. Internet RFC2547,
   March 1999.

   [RTR01]  S. Ramachandra, D. Tappan, and Y. Rekhter. Bgp extended
   communities attribute. Internet draft,draft-ramachandra-bgp-ext-
   communities-08.txt, work in progress, January 2001.

   [SL99]  H. Smit and T. Li. Is-is extensions for traffic engineering.
   Internet draft, draft-ietf-isis-traffic-01.txt, work in progress,
   February 1999.

A   Examples



     In this appendix, we provide a few examples of the utilization of
   the QoS attribute. Assume first that AS1 wishes to announce to its
   peers its ability to support three different PHB : Best-Effort, EF
   and AF. Assume also that AS1 wishes to  announce a maximum bandwidth
   of 100 Mbps for BE traffic, 10 Mbps for AF traffic and 1 Mbps for EF.
   In this case, it will send a set QoS attribute composed of :

     {
     PHB=BE;QoS-Type=2 [Maximum Bandwidth];MaxBW=100,
     PHB=AF;QoS-Type=2 [Maximum Bandwidth];MaxBW=10,
     PHB=EF;QoS-Type=2 [Maximum Bandwidth];MaxBW=1
     }


     Assume now that a border router wants to indicate that it supports
   the BE PHB without associating any QoS information to this PHB. In
   this case, the QoS attribute would be composed of :

     {
     PHB=BE;QoS-Type=1 [Empty]
     }




Bonaventure                                                    [Page 10]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


     Assume now a special border router (e.g. a router controlling a
   label switch router) that is not able to forward IP packets at line
   rate but is able  to support the establishment of label switched
   paths with RSVP and CR-LDP.  Also assume that this router supports AF
   and BE. In this case, this router should associate the following QoS
   attribute to each route it is sending to a peer :

     {
     PHB=BE;QoS-Type=6 [Required
   Signalling];[Bit0:Reset,Bit1:Reset,Bit2:Set,Bit3:Set],
     PHB=AF;QoS-Type=6 [Required
   Signalling];[Bit0:Reset,Bit1:Reset,Bit2:Set,Bit3:Set]
     }

     Another possibility is a border router that provides best-effort
   service to normal IP packets but is able to provide QoS to label
   switched paths established by RSVP only. In this case, it could
   associate the following QoS attribute to routes announced to a peer :

     {
     PHB=BE;QoS-Type=6 [Required
   Signalling];[Bit0:Set,Bit1:Reset,Bit2:Reset,Bit3:Reset]
     PHB=AF;QoS-Type=6 [Packet switching
   capability];[Bit0:Set,Bit1:Reset,Bit2:Set,Bit3:Reset]
     PHB=AF;Qos-Type=2 [Maximum Bandwidth];MaxBW=100
     PHB=EF;QoS-Type=6 [Packet switching
   capability];[Bit0:Set,Bit1:Reset,Bit2:Reset,Bit3:Reset]
     PHB=EF;Qos-Type=2 [Maximum Bandwidth];MaxBW=10
     PHB=EF;Qos-Type=4 [Minimum Delay];MinTD=10msec
     PHB=EF;Qos-Type=5 [Maximum Delay];MaxTD=100msec
     }

     This QoS information indicates that the border router supports the
   BE, AF and  EF PHB. For the BE PHB, there are no specified QoS
   values. For the AF PHB,  a LSP must be established before actual
   traffic can flow and the maximum  reservable bandwidth is 100 Mbps.
   For the EF PHB, a LSP must also be  established before actual traffic
   can flow and the transit delay is expected  to be between 10 and 100
   msec. The maximum bandwidth reservable for EF is  set to 10 Mbps.












Bonaventure                                                    [Page 11]


Internet Draft      draft-bonaventure-bgp-qos-00.txt       February 2001


Author's Address

   Olivier Bonaventure
   Infonet group
   Institut d'Informatique
   Facultes Universitaires Notre-Dame de la Paix
   Rue Grandgagnage 21, B-5000 Namur, Belgium.
   E-mail: Olivier.Bonaventure@info.fundp.ac.be
   URL   : http://www.infonet.fundp.ac.be










































Bonaventure                                                    [Page 12]