Skip to main content

JSON Format Extensions for Traffic Engineering (TE) performance metrics in the ALTO Information Resource Directory
draft-wu-alto-json-te-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Qin Wu , Liang Xia
Last updated 2013-07-08
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-wu-alto-json-te-00
Application-Layer Traffic Optimization                             Q. Wu
Working Group                                                     L. Xia
Internet-Draft                                                    Huawei
Intended status: Standards Track                            July 8, 2013
Expires: January 9, 2014

JSON Format Extensions for Traffic Engineering (TE) performance metrics
               in the ALTO Information Resource Directory
                        draft-wu-alto-json-te-00

Abstract

   The base ALTO specification defines two properties for cost metric
   attribute in the Cost MAP, including 'hopcount' and 'routingcost'.
   This specification adds five new properties and one new parameter for
   Traffic Engineering(TE) performance related constraint attribute
   associated with cost metric attribute 'routingcost' in the ALTO
   Information Resource Directory: Link Delay, Delay Variation, Packet
   Loss, Residual Bandwidth, Available Bandwidth,linkstate.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

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

   This Internet-Draft will expire on January 9, 2014.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect

Wu & Xia                 Expires January 9, 2014                [Page 1]
Internet-Draft              JSON for ALTO TE                   July 2013

   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Conventions used in this document  . . . . . . . . . . . . . .  4
   3.  Cost Metric Extensions: properties . . . . . . . . . . . . . .  5
     3.1.  property: linkdelay  . . . . . . . . . . . . . . . . . . .  5
     3.2.  property: linkjitter . . . . . . . . . . . . . . . . . . .  6
     3.3.  property: linkloss . . . . . . . . . . . . . . . . . . . .  7
     3.4.  property: residualbandwidth  . . . . . . . . . . . . . . .  8
     3.5.  property: availablebandwidth . . . . . . . . . . . . . . .  9
   4.  Cost Metric Extensions: Parameters . . . . . . . . . . . . . . 11
     4.1.  parameter: linkstate . . . . . . . . . . . . . . . . . . . 11
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 13
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 14
   7.  Normative References . . . . . . . . . . . . . . . . . . . . . 15
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 16

Wu & Xia                 Expires January 9, 2014                [Page 2]
Internet-Draft              JSON for ALTO TE                   July 2013

1.  Introduction

   The ALTO protocol [I.D-ietf-alto-protocol] uses a REST-ful design
   [Fielding-Thesis], and encodes its requests and responses using JSON.
   In ALTO architecture [I.D-ietf-alto-protocol], the ALTO server allows
   alto information to be gathered from multiple systems(e.g., routing
   protocol).  [I.D-ietf-ospf-te-metric-extensions] describes extensions
   to OSPF TE called "OSPF TE Metric Extensions", that can be used to
   distribute network performance information (such as link delay, delay
   variation, packet loss, residual bandwidth, and available bandwidth).
   The mechanism defined in [I.D-ietf-ospf-te-metric-extensions]can be
   used by an ALTO Server to retrieve the necessary performance
   information supplementing the prefix and network topology data
   gathered from other sources in the underlying network.

   In the ALTO Information Resource Directory, Network and Cost Map are
   two core ALTO Information provided to clients.  The TE performance
   metric can be represented using Cost MAP.  The base ALTO
   specification [I.D-ietf- alto-protocol] defines one typical cost
   metric attribute for Cost Type in the Cost MAP
   (i.e.,'routingcost')and uses constraint attribute to list additional
   constraints to which elements of the Cost Map are related.  This
   specification adds five new properties and one new parameter for
   constraint attribute associated with 'routingcost' cost metric
   attribute in alto information service: Link Delay, Link Jitter,
   Packet Loss, Residual Bandwidth, Available Bandwidth,linkstate.

Wu & Xia                 Expires January 9, 2014                [Page 3]
Internet-Draft              JSON for ALTO TE                   July 2013

2.  Conventions used in this document

   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 RFC2119 [RFC2119].

   Syntax specifications shown here use the augmented Backus-Naur Form
   (ABNF) as described in [RFC5234], and are specified as in the base
   JSON specification [RFC4627].

Wu & Xia                 Expires January 9, 2014                [Page 4]
Internet-Draft              JSON for ALTO TE                   July 2013

3.  Cost Metric Extensions: properties

3.1.  property: linkdelay

 Namespace:

 property name:  linkdelay

 Purpose:  To specify the average link delay between two directly
            connected neighboring peers in the network.

 Value type:  A single number value containing an integer component that
               may be prefixed with an optional minus sign, which may
               be followed by a fraction part and/or an exponent part.

 Cardinality:  *1

 Member parameters:  N/A

 Description: This is intended to be a cost constraint attribute used
 together with cost metric attribute 'routingcost'. 'routingcost' may
 also be used with other cost constraint attributes that is used to
 specify cost constraints. If 'linkdelay' is present, 'routingcost' MUST
 have at most one 'linkdelay'.

 Format definition:

   LINKDELAY-param =
 "VALUE"("gt"/"lt"/"eq"/"ge"/"le") ("number" / "object")
   LINKDELAY-value =  number / object
      ; Value type and VALUE parameter MUST match.

 Examples:
    "data": {
            "cost type": {
             "cost-mode": "numerical",
             "cost-metric":"routingcost"},
                "constraints" : {"linkdelay"},
                "endpoints": {
                    "srcs": [ "ipv4:192.0.2.2" ],
                    "dsts": [
                    "ipv4:192.0.2.89",
                    "ipv4:198.51.100.34",
                    "ipv4:203.0.113.45"
                             ]
                                    }
    "map": {
            "ipv4:192.0.2.2": {

Wu & Xia                 Expires January 9, 2014                [Page 5]
Internet-Draft              JSON for ALTO TE                   July 2013

            "ipv4:192.0.2.89": 0.0[linkdelay eq 0.0],
            "ipv4:198.51.100.34": 15.0[linkdelay eq 3.0],
            "ipv4:203.0.113.45": 1.0[linkdelay eq 12.0],
                  }
              }

3.2.  property: linkjitter

 Namespace:

 Property name:  linkjitter

 Purpose:  To specify the average link delay variation between two
            directly connected neighboring peers.

 Value type:  A single number value containing an integer component that
               may be prefixed with an optional minus sign, which may
               be followed by a fraction part and/or an exponent part.

 Cardinality:  *1

 Member parameters:  N/A

 Description: This is intended to be a constraint attribute value
 used together with 'routingcost' cost metric attribute.
 routingcost' may also be used with other cost constraint a
 ttributes that is used to specify cost constraints.If 'linkjitter'
 is present, 'routingcost' MUST have at most one 'linkjitter'.

 Format definition:

   LINKJITTER-param =
   "VALUE"("gt"/"lt"/"eq"/"ge"/"le") ("number" / "object")
   LINKJITTER-value =  number / object
      ; Value type and VALUE parameter MUST match.

 Examples:

    "data": {
               "cost type": {
             "cost-mode": "numerical",
             "cost-metric":"routingcost"},
                "constraints" : {"linkdelay","linkjitter"}
                "endpoints": {
                    "srcs": [ "ipv4:192.0.2.2" ],
                    "dsts": [
                    "ipv4:192.0.2.89",

Wu & Xia                 Expires January 9, 2014                [Page 6]
Internet-Draft              JSON for ALTO TE                   July 2013

                    "ipv4:198.51.100.34",
                    "ipv4:203.0.113.45"
                             ]
                                    }
    "map": {
             "ipv4:192.0.2.2": {
             "ipv4:192.0.2.89": 0[linkdelay eq0.0,linkjitter eq0.00],
             "ipv4:198.51.100.34": 5[linkdelay eq3.0,linkjitter eq1.0],
             "ipv4:203.0.113.45":2[linkdelay eq12.0,linkjitter eq5.0],
                                   }

3.3.  property: linkloss

 Namespace:

 Property name:  linkloss

 Purpose:  To specify a percentage of the total traffic sent over a
           configurable interval between two directly connected
           neighboring peers.

 Value type:  A single number value containing an integer component that
              may be prefixed with an optional minus sign, which may
              be followed by a fraction part and/or an exponent part.

 Cardinality:  *1

 Format definition: This is intended to be a constraint attribute value
  used together with 'routingcost' cost metric attribute.
 routingcost' may also be used with other cost constraint attributes t
 hat is used to specify cost constraints. If 'linkloss' is present,
 routingcost' MUST have at most one 'linkloss'.

 Format definition:

    LINKLOSS-param =
 "VALUE"("gt"/"lt"/"eq"/"ge"/"le") ("number" / "object")
    LINKLOSS-value =  number / object
      ; Value type and VALUE parameter MUST match.

 Examples:

    "data": {
               "cost type": {
             "cost-mode": "numerical",
             "cost-metric":"routingcost"},
                "constraints" : {"linkloss"}
                "endpoints": {

Wu & Xia                 Expires January 9, 2014                [Page 7]
Internet-Draft              JSON for ALTO TE                   July 2013

                    "srcs": [ "ipv4:192.0.2.2" ],
                    "dsts": [
                    "ipv4:192.0.2.89",
                    "ipv4:198.51.100.34",
                    "ipv4:203.0.113.45"
                             ]
                                    }
   "map": {
           "ipv4:192.0.2.2": {
           "ipv4:192.0.2.89": 0 [linkloss eq0],
           "ipv4:198.51.100.34": 1 [linkloss eq0.0001],
           "ipv4:203.0.113.45": 0 [linkloss eq0],
                             }
             }

3.4.  property: residualbandwidth

 Namespace:

 Property name:  residualbandwith

 Purpose:  To specify Maximum Link Bandwidth minus the bandwidth
           currently allocated between two directly connected
           neighboring peers. For a link, residual bandwidth is
           defined to be Maximum Bandwidth minus the bandwidth
           currently allocated to RSVP-TE packets.  For a bundled
           link, residual bandwidth is defined to be the sum of
           the component link residual bandwidths.

 Value type:  A single number value containing an integer component that
              may be prefixed with an optional minus sign, which may
              be followed by a fraction part and/or an exponent part.

 Cardinality:  *1

 Member parameters:  N/A

 Description: This is intended to be a constraint attribute value
  used together with 'routing cost' cost metric attribute.
 'routingcost' may also be used with other cost constraint at
 tributes that is used to specify cost constraints.If
 'residualbw' is present, 'routingcost' MUST have at most
  one 'residualbw'.

 Format definition:

   RESIDUALBANDWIDTH-param =
  "VALUE"("gt"/"lt"/"eq"/"ge"/"le") ("number" / "object")

Wu & Xia                 Expires January 9, 2014                [Page 8]
Internet-Draft              JSON for ALTO TE                   July 2013

   RESIDUALBANDWIDTH-value =  number / object
     ; Value type and VALUE parameter MUST match.

 Examples:

    "data": {
               "cost type": {
             "cost-mode": "numerical",
             "cost-metric":"routingcost"},
                "constraints" : {"residbw"}
                "endpoints": {
                    "srcs": [ "ipv4:192.0.2.2" ],
                    "dsts": [
                    "ipv4:192.0.2.89",
                    "ipv4:198.51.100.34",
                    "ipv4:203.0.113.45"
                             ]
                                    }
    "map": {
            "ipv4:192.0.2.2": {
            "ipv4:192.0.2.89": 0[residbw eq0.000000],
            "ipv4:198.51.100.34": 5[residbw eq12.5],
            "ipv4:203.0.113.45":2[residbw eq5.9],
                              }
             }

3.5.  property: availablebandwidth

 Namespace:

 Property name:  availablebandwith

 Purpose:  To specify the available bandwidth on a link between two
           directly connected neighboring peers. For a link, available
           bandwidth is defined to be residual bandwidth  minus the
           measured bandwidth used for the actual forwarding of non-
           RSVP-TE packets.  For a bundled link, available bandwidth
           is defined to be the sum of the component link available
           bandwidths.

 Value type:  A single number value containing an integer component that
              may be prefixed with an optional minus sign, which may
              be followed by a fraction part and/or an exponent part.

 Cardinality:  *1

 Member parameters:  N/A

Wu & Xia                 Expires January 9, 2014                [Page 9]
Internet-Draft              JSON for ALTO TE                   July 2013

 Description: This is intended to be a constraint attribute value
 used together with 'routing cost' cost metric attribute.
 'routingcost' may also be used with other cost constraint at
 tributes that is used to specify cost constraints.
 If 'availablebw' is present, 'routingcost' MUST have
  at most one 'availablebw'.

 Format definition:

   AVAILABLEBANDWITH-param =
  "VALUE"("gt"/"lt"/"eq"/"ge"/"le") ("number" / "object")
   AVAILABLEBANDWITH-value =  number / object
     ; Value type and VALUE parameter MUST match.

 Examples:

    "data": {
               "cost type": {
             "cost-mode": "numerical",
             "cost-metric":"routingcost"},
                "constraints" : {"residbw","availbw"}
                "endpoints": {
                    "srcs": [ "ipv4:192.0.2.2" ],
                    "dsts": [
                    "ipv4:192.0.2.89",
                    "ipv4:198.51.100.34",
                    "ipv4:203.0.113.45"
                             ]
                                    }
    "map": {
            "ipv4:192.0.2.2": {
            "ipv4:192.0.2.89": 0[residbw eq0,availbw eq0],
            "ipv4:198.51.100.34": 0[residbw eq12.5,availbw eq10.5],
            "ipv4:203.0.113.45":0[residbw eq5.9,availbw eq3.9],
                              }
             }

Wu & Xia                 Expires January 9, 2014               [Page 10]
Internet-Draft              JSON for ALTO TE                   July 2013

4.  Cost Metric Extensions: Parameters

   The following sections define Parameters used within Properties
   definitions.

4.1.  parameter: linkstate

Wu & Xia                 Expires January 9, 2014               [Page 11]
Internet-Draft              JSON for ALTO TE                   July 2013

   Namespace:

   Parameter name:  linkstate

   Purpose:  Used in a multi-valued property to
             indicate whether it is steady state
             link performance.

   Description:  When a property is multi-valued,
   LINKSTATE can be used to construct a steady state
   performancetopology for initial tunnel path computation,
   or to verify alternative failover paths. The LINSTATE
   is set when the measured value of this parameter exceeds
   its configured maximum threshold.  The LINKSTATE is
   cleared when the measured value falls below its
   configured threshold.LINKSTATE should be used
   together with properties we defined in the
   section 3.

   Format definition:

       LINKSTATE-param =  "LINKSTATE=" INDEX-value

       LINKSTATE-value =  integer

   Examples:

      object {
            JSONBOOL linkstate;
       } linkdelay;

          "data": {
                     "cost type":{
                  "cost-mode": "numerical",
                   "cost-metric":"routingcost"}
                   "constraints": {"linkdelay"}
                       endpoints": {
                      "srcs": [ "ipv4:192.0.2.2" ],
                      "dsts": [
                      "ipv4:192.0.2.89"
                               ]
                                      }
        "map": {
               "ipv4:192.0.2.2": {
               "ipv4:192.0.2.89": 0.0[linkdelay[linkstate eq 0] eq 10],
                                    }
                  }

Wu & Xia                 Expires January 9, 2014               [Page 12]
Internet-Draft              JSON for ALTO TE                   July 2013

5.  Security Considerations

   The properties defined in this document present no security
   considerations beyond those in Section 14 of the base ALTO
   specification [draft-ietf-alto-protocol].

Wu & Xia                 Expires January 9, 2014               [Page 13]
Internet-Draft              JSON for ALTO TE                   July 2013

6.  IANA Considerations

   IANA has added the following entries to the ALTO cost map Properties
   registry, defined in Section 3 of [RFCXXX].

   +-----------+--------------+------------------------+
   | Namespace | Property     | Reference              |
   +-----------+--------------+------------------------+
   |           | linkdelay    | [RFCxxxx], Section 3.1 |
   |           | linkjitter   | [RFCxxxx], Section 3.2 |
   |           | linkloss     | [RFCxxxx], Section 3.3 |
   |           |  residbw     | [RFCxxxx], Section 3.4 |
   |           |  availbw     | [RFCxxxx], Section 3.5 |
   +-----------+--------------+------------------------+

   IANA has added the following entries to the " ALTO cost map
   Parameters" registry, defined in [RFCxxxx] Section 4.1.

   +-------+------------------------+------------------------+
   | Name- |                        |                        |
   | space | Parameter              | Reference              |
   +-------+------------------------+------------------------+
   |       | LINKSTATE              | [RFCxxxx], Section 4.1 |
   +-------+------------------------+------------------------+

Wu & Xia                 Expires January 9, 2014               [Page 14]
Internet-Draft              JSON for ALTO TE                   July 2013

7.  Normative References

   [ALTO]     Alimi, R., "ALTO Protocol",
              ID draft-ietf-alto-protocol-16, May 2013.

   [OSPF]     Giacalone, S., "OSPF Traffic Engineering (TE) Metric
              Extensions", ID draft-ietf-ospf-te-metric-extensions-04,
              June 2013.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", March 1997.

   [RFC4627]  Crockford, D., "The application/json Media Type for
              JavaScript Object Notation (JSON)", RFC 4627, July 2006.

   [RFC5234]  Crocker, D., "Augmented BNF for Syntax Specifications:
              ABNF", RFC 5234, January 2008.

Wu & Xia                 Expires January 9, 2014               [Page 15]
Internet-Draft              JSON for ALTO TE                   July 2013

Authors' Addresses

   Qin Wu
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing, Jiangsu  210012
   China

   Email: sunseawq@huawei.com

   Liang Xia
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing, Jiangsu  210012
   China

   Email: frank.xialiang@huawei.com

Wu & Xia                 Expires January 9, 2014               [Page 16]