Network Working Group                                      L. Benmohamed
INTERNET-DRAFT                                  Johns Hopkins University
draft-liang-bgp-qos-00.txt                                      C. Liang
Expires: December 21, 2006                      Johns Hopkins University
                                                                E. Naber
                                                Johns Hopkins University
                                                               A. Terzis
                                                Johns Hopkins University
                                                           June 19, 2006


   QoS Enhancements to BGP in Support of Multiple Classes of Service


Status of This Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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/1id-abstracts.html

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

Abstract

   This document specifies the requirements posed on multi-domain
   Quality of Service (QoS) routing protocols that provide multiple
   classes of service with multi-dimensional QoS requirements.  In
   particular, it discusses enhancements to Border Gateway Protocol
   version 4 (BGPv4) that allow nodes to discover multiple paths with
   associated QoS attributes.  In addition, this documents discusses the
   details of several new algorithms, such as the dominant path
   selection algorithm (DPSA).

1. Introduction

   BGPv4 is the dominating inter-domain routing protocol in the
   Internet.  It was designed with minimal overhead traffic for
   scalability, and it offers extensive policy support for business
   needs.  Information sharing among External Border Gateway Protocol


Benmohamed, et al.       Expires December 21, 2006              [Page 1]


Internet-Draft              BGP QoS Enhancements               June 2006


   (eBGP) peers is limited.  The only information passed from an AS to
   its neighbors is the set of destination network prefixes reachable
   from itself and the sequence of ASs to each destination network
   prefix.

   Many emerging needs in commercial and military networking have
   exposed limitations of the current eBGP.  These future IP networks
   will support a very diverse mix of applications with very diverse QoS
   requirements.  In addition, some of these networks may consist of a
   diverse set of component networks (wireless and wireline, fixed and
   mobile with different degrees of mobility, long-term and short-term
   ad-hoc), and these component networks may have dynamic service
   capabilities.  Therefore, different paths between the same endpoints
   may have very different QoS characteristics, and these QoS
   characteristics may be time-variant.  Having the capability to
   specify QoS requirements in routing, session admission, packet
   scheduling, buffer management, service restoration priority, degree
   of security protection, and similar other decisions will become an
   important need in future IP networks.

   This document specifies BGPv4 enhancements that allow multi-topology
   (exposing multiple routes) and QoS-aware routing, using several QoS
   metrics of importance to different applications.  Unlike some other
   similar work, our enhancements support multiple QoS metrics and do
   not require any changes in the inter-domain routing architecture that
   BGPv4 is based upon.  Since the enhanced BGP does not limit routers
   to advertise only one route for each destination prefix, we define
   the notion of dominant paths to keep the amount of information
   transfer to the minimum needed to be scalable.  The enhanced BGP also
   incorporates mechanisms, such as Multiprotocol Label Switching
   (MPLS), and defines network-wide traffic classes to pin the route
   taken by packets with the same QoS requirements.

2. BGPv4 Enhancements

   There are five enhancements to BGPv4 that enable multi-paths and QoS-
   aware routing:

      (1) Exchanging potentially multiple paths per destination prefix.

      (2) Maintaining multiple QoS metrics for each path.

      (3) Pruning the set of known paths to a dominant set while
          maintaining optimality.

      (4) Choosing a particular path from this dominant set for the
          unique QoS requirements of a traffic class.

      (5) Enforcing the selected route.

   BGPv4 restricts each router to advertise to its neighbors only one


Benmohamed, et al.       Expires December 21, 2006              [Page 2]


Internet-Draft              BGP QoS Enhancements               June 2006


   route per destination prefix.  This information hiding behavior can
   prevent a router from learning the particular path that most
   appropriately addresses the QoS requirements for a given traffic
   class.  Enhancement (1) removes this limitation, allowing each BGP
   router to advertise a set of dominant paths.  Enhancement (2)
   associates a list of QoS metrics with each link, which are then used
   to make route decision.  Details on how path QoS metrics are embedded
   in BGP_UPDATE messages and maintained will be discussed in more
   detail in later sections.  The notion of dominant paths is
   enhancement (3), and it prevents each BGP router from advertising
   every path it knows.  Dominant paths are selected by dominant path
   selection algorithm (DPSA), which is discussed in more detail in
   later sections.  Exchanging all of these additional paths and QoS
   attributes is pointless unless the QoS-aware routing path decision is
   actually enforced.  Enhancement (5) can be implemented with various
   mechanisms, which are discussed in our previous work [1].  We have
   chosen to run MPLS on route assignment by enhancement (4) to pin the
   path for each application's data flow.  Class-assignment algorithm of
   enhancement (4) will be discussed in more detail in later sections.

   Incorporating these enhancements requires updating BGPv4 path
   selection process accordingly.

      - BGPv4 first manipulates path attributes, such as Local_Pref and
      AS_Path, so that routes from one or some neighbors are enabled.
      However, in order for QoS routing to be effective by being able to
      choose among a larger set of routes, routes from all neighbors
      should ideally be enabled.

      - In BGPv4 path selection process, each border router (BR) that
      terminates an enabled route selects itself among all enabled
      routes as an AS egress point.  Then, non-egress nodes selects one
      of these egress points.  Instead, under QoS routing, all enabled
      routes to a destination D received at a BR (from both iBGP and
      eBGP peers) undergo DPSA where a set of dominant paths is
      selected.  This set of dominant paths is maintained for routing
      and advertisement.

2.1 Maintaining Path QoS Metrics

   The BGPv4 UPDATE message includes the AS_PATH attribute, which stores
   the sequence of ASs to reach the associated destination prefixes.  In
   order to retain the structure of the BGPv4 UPDATE message, path QoS
   metrics are embedded in the AS_PATH attribute.  This extension of the
   AS_PATH attribute has been modeled after TLV (Type-Length-Value)
   model.  The TLV model provides a flexible architecture that will
   support the specific metrics that we are currently interested in, and
   it also provides support for any additional metrics in the future.
   Figure 1 and 2 show the old format and the new format of AS-PATH
   attribute:



Benmohamed, et al.       Expires December 21, 2006              [Page 3]


Internet-Draft              BGP QoS Enhancements               June 2006


                        -----------------------
                        | Length of | Path to |
                        | Attribute | Prefix  |
                        -----------------------
                Figure 1: BGPv4 AS_PATH attribute format

   ------------------------------------------------------------------
   | Length of | # Metrics |    Type    |   Length   |    Value   |
   | Attribute |    = N    | (Metric 1) | (Metric 1) | (Metric 1) |  ...
   ------------------------------------------------------------------

             ----------------------------------------------------
               |    Type    |   Length   |    Value   | Path to |
          ...  | (Metric N) | (Metric N) | (Metric N) | Prefix  |
             ----------------------------------------------------
              Figure 2: Extended AS_PATH attribute format

   Each path QoS metric value is the accumulation of the QoS metric
   value of all the links that the path consists of.  Therefore,
   maintaining path QoS metrics is a combined effort of each node along
   that path.  The general accumulation rules are:

      - When advertising a path to another AS, the advertising node
      combines its intra-AS metric values with the metric values
      accumulated for the path thus far.

      - When receiving a path from another AS, the receiving node
      combines the metric values on the link that connects the receiving
      node to the advertising node with the metric values accumulated
      for the path thus far.

2.2 Dominant Path Select Algorithm (DPSA)

   For QoS requirements with a single metric, such as bandwidth, it is
   sufficient to know a path with the largest available bandwidth.  If
   the best path is not feasible, then no other paths are.  However, for
   QoS requirements with multiple metrics, such as bandwidth and delay,
   there might not be a single best path.  The notion of dominant path
   is defined as a path where there is no other path with all QoS
   metrics being better.  If a path P dominates a set S of paths, then
   paths in S do not need to be advertised as path P is the only one
   needed to make QoS routing decisions.  Indeed, if a connection
   request cannot be supported by P then no path in S can satisfy the
   request.

   To illustrate DPSA, we will look at a small network topology with six
   paths from the source to the destination node.  In addition, this
   network topology has two QoS metrics of interest: delay and
   bandwidth.

                   ^


Benmohamed, et al.       Expires December 21, 2006              [Page 4]


Internet-Draft              BGP QoS Enhancements               June 2006


                   |
                 BANDWIDTH
                   |
                   |            P3  P4
                   |        P2          P5
                   |    P1                  P6
                   |
                  -+---------------------------DELAY->
                   |
     Figure 3: Delay and bandwidth QoS characteristics of the six
                                 paths

   Figure 3 shows the delay and bandwidth QoS characteristics of the six
   paths in the network.  DPSA selects P1, P2, and P3 to be the dominant
   paths because they are not covered by any other paths.  P4, P5, and
   P6 are covered by P3 because P3 is equal or better in all QoS
   metrics.

   For each destination prefix in the Loc-Routing Information Base (Loc-
   RIB), we have to select a set of dominant paths for advertisement.
   Therefore, DPSA should be logically placed between Loc-RIB and BGPv4
   Output Policy Engine.  If there are more than one potentially
   dominant paths with all QoS metrics being equal, then the tie-
   breaking strategies described below narrows down to only one path.
   The first strategy is to prefer paths with the lowest AS hop counts,
   and the second strategy is to prefer paths with the lowest next-hop
   IP address.

2.3 Route Assignment For Each Traffic Class

   There are various mechanisms that can be used to pin the selected
   path for a particular application's data flow.  We have chosen to
   run MPLS on the notion of traffic classes.  A set of network-wide
   traffic classes are pre-defined on every node, and the task of class-
   assignment algorithm is to assign at most dominant one path to each
   traffic class under every destination prefix.  For each traffic
   class, the algorithm starts by selecting a set of paths that can
   satisfy the QoS requirements of the traffic class.  Then, from this
   set of paths, the best path is assigned to the traffic class.  For
   QoS requirements with bandwidth and delay, the best path can be
   defined as the path with the largest Euclidean distance from the
   traffic class requirement.

   For each destination prefix in the Loc-Routing Information Base (Loc-
   RIB), we have to assign at most one dominant path to each traffic
   class.  Therefore, class-assignment assignment should be logically
   placed between Loc-RIB and Forwarding Information Base (FIB).  If
   there are more than one suitable paths for a traffic class, then the
   tie-breaking strategies described below narrows down to only one
   path.  The first strategy is to prefer paths with the lowest AS hop
   counts, and the second strategy is to prefer paths with the lowest


Benmohamed, et al.       Expires December 21, 2006              [Page 5]


Internet-Draft              BGP QoS Enhancements               June 2006


   next-hop IP address.

2.4 Forwarding Decision

   Forwarding decision at data plane depends on two information: packet
   destination address and packet traffic class.  Both IPv4 Type of
   Service (TOS) field and IPv6 Priority field can store the identifier
   of the traffic class the packet belongs to.  Longest-prefix-matching
   algorithm is first performed on the packet destination address to
   find the most specific destination address prefix in FIB.  Since
   there might be multiple routes under a given address prefix in FIB,
   packet traffic class identifier is then used to match the route with
   the same traffic class identifier.  The packet is dropped either if
   longest-prefix-matching algorithm does not return a destination
   address prefix from FIB, or if there is no route matching packet
   traffic class.

3. Relevant Results

   Simulation results on the dynamic behavior and the scalability of
   enhanced BGP are discussed in our previous work [2].  In addition, a
   proof of DPSA convergence under the assumption of synchronous
   operation is also presented in our previous work [2].

4. Security Considerations

   This document does not directly concern security.  It is believed
   that this extension inherits security issues in BGPv4.

5. IANA Considerations

   This document has no actions for IANA.

6. Informative References

   [1] L. Benmohamed, B. Doshi, T. DeSimone, R. Cole, "Inter-Domain
   Routing with Multi-Dimensional QoS Requirements", IEEE Milcom 2005

   [2] L. Benmohamed, C. Liang, E. Naber, A. Terzis, "QoS Enhancements
   to BGP in Support of Multiple Classes of Service", June 2006

7. Authors' Addresses

   Lotfi Benmohamed
   Johns Hopkins University - Applied Physics Laboratory
   11100 Johns Hopkins Road
   Laurel MD, 20723
   US

   EMail: lotfi.benmohamed@jhuapl.edu



Benmohamed, et al.       Expires December 21, 2006              [Page 6]


Internet-Draft              BGP QoS Enhancements               June 2006



   Chieh-Jan Mike Liang
   Johns Hopkins University - Computer Science Department
   3400 North Charles Street, 224 NEB
   Baltimore MD, 21218
   US

   EMail: cliang4@cs.jhu.edu


   Eric Naber
   Johns Hopkins University - Applied Physics Laboratory
   11100 Johns Hopkins Road
   Laurel MD, 20723
   US

   EMail: eric.naber@jhuapl.edu


   Andreas Terzis
   Johns Hopkins University - Computer Science Department
   3400 North Charles Street, 224 NEB
   Baltimore MD, 21218
   US

   Phone: +1 410 516 5847
   EMail: terzis@cs.jhu.edu

Copyright Notice

   Copyright (C) The Internet Society (2006).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.










Benmohamed, et al.       Expires December 21, 2006              [Page 7]