Internet DRAFT - draft-wu-alto-json-te
draft-wu-alto-json-te
ALTO Working Group Q. Wu
Internet-Draft Y. Lee
Intended status: Standards Track D. Dhody
Expires: April 24, 2014 Huawei
October 21, 2013
ALTO Extensions for Traffic Engineering (TE) performance metrics in JSON
format
draft-wu-alto-json-te-02
Abstract
Cost metric is a basic concept in Application-Layer Traffic
Optimization (ALTO). It is used in both the Cost Map Service and the
Endpoint Cost Service. However the base protocol defines only a
single cost metric, i.e., the generic "routingcost" metric (Sec. 14.2
of ALTO base specification [ALTO]). In practice, applications may
request network information on other cost (including performance)
metrics.
In this document, we define five new base metrics which are delay,
jitter, pktloss (packet loss), bandwidth and hopcount. These base
metrics are further extended with these nine new metrics linkdelay,
linkjitter, linkloss, maxbw (Maximum Bandwidth), maxreservbw (Maximum
Reserved Bandwdith), unreservbw (Unreserved Bandwidth), residuebw
(Residual Bandwidth), availbw (Available Bandwidth), and utilbw
(Utilized Bandwidth). Also a new parameter anomalousstate is added.
These fourteen cost metrics are derived from OSPF-TE and ISIS-TE and
can be either used as constraint attribute associated with
'routingcost' cost metric attribute or used as returned Cost metrics
in the response, or both and hence provide a relatively comprehensive
set of cost metrics for ALTO.
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."
Wu, et al. Expires April 24, 2014 [Page 1]
Internet-Draft JSON for ALTO TE October 2013
This Internet-Draft will expire on April 24, 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
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.
Wu, et al. Expires April 24, 2014 [Page 2]
Internet-Draft JSON for ALTO TE October 2013
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Conventions used in this document . . . . . . . . . . . . . . 5
3. Cost Metric Extensions: Cost Metrics . . . . . . . . . . . . . 6
3.1. Cost Metric: delay . . . . . . . . . . . . . . . . . . . . 6
3.2. Cost Metric: jitter . . . . . . . . . . . . . . . . . . . 8
3.3. Cost Metric: Packet Loss . . . . . . . . . . . . . . . . . 9
3.4. Cost Metric: Bandwidth . . . . . . . . . . . . . . . . . . 11
3.5. Cost Metric: Hopcount . . . . . . . . . . . . . . . . . . 13
3.6. Delay Cost Metric Extension: linkdelay . . . . . . . . . . 13
3.7. Jitter Cost Metric Extension: linkjitter . . . . . . . . . 13
3.8. Packet Loss Cost Metric Extension: linkloss . . . . . . . 14
3.9. Bandwidth Cost Metric Extension . . . . . . . . . . . . . 14
3.9.1. Maximum Bandwidth: maxbw . . . . . . . . . . . . . . . 14
3.9.2. Maximum Reserved Bandwdith: maxreservbw . . . . . . . 14
3.9.3. Unreserved Bandwidth: unreservbw . . . . . . . . . . . 14
3.9.4. Residual Bandwidth: residuebw . . . . . . . . . . . . 15
3.9.5. Available Bandwidth: availbw . . . . . . . . . . . . . 15
3.9.6. Utilized Bandwidth: utilbw . . . . . . . . . . . . . . 15
4. Cost Metric Extensions: Parameters . . . . . . . . . . . . . . 17
4.1. Parameter: anomalousstate . . . . . . . . . . . . . . . . 17
5. Security Considerations . . . . . . . . . . . . . . . . . . . 19
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.1. Normative References . . . . . . . . . . . . . . . . . . . 21
7.2. Informative References . . . . . . . . . . . . . . . . . . 21
Appendix A. Filtering constraint Extensions . . . . . . . . . . . 22
Appendix B. Contributor Addresses . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25
Wu, et al. Expires April 24, 2014 [Page 3]
Internet-Draft JSON for ALTO TE October 2013
1. Introduction
The ALTO protocol [ALTO] uses a REST-ful design , and encodes its
requests and responses using JSON [RFC4627] . In ALTO architecture
[ALTO], the ALTO server allows alto information to be gathered from
multiple systems(e.g., routing protocol). [OSPF-TE], [ISIS-TE],
[BGP-LS] and [BGP-PM]describes extensions to routing protocol, 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 [OSPF-TE], [ISIS-TE],
[BGP-LS], and [BGP-PM]can be used by an ALTO Server to retrieve the
necessary performance information supplementing the prefix and
network topology data gathered from other sources (such as Path
Computation Element (PCE)) in the underlying network.
Cost metric is a basic concept in ALTO. It is used in both the Cost
Map Service and the Endpoint Cost Service. However the base protocol
defines only a single cost metric, i.e., the generic "routingcost"
metric (Sec. 14.2 of [ALTO]). In practice, applications may request
network information on other cost (such as performance) metrics. In
this document, we define five new base metrics which are delay,
jitter, pktloss (packet loss), bandwidth and hopcount. These base
metrics are further extended with these nine new metrics linkdelay,
linkjitter, linkloss, maxbw (Maximum Bandwidth), maxreservbw (Maximum
Reserved Bandwdith), unreservbw (Unreserved Bandwidth), residuebw
(Residual Bandwidth), availbw (Available Bandwidth), and utilbw
(Utilized Bandwidth). Also a new parameter anomalousstate is added.
These fourteen cost metrics are derived from [OSPF-TE] and [ISIS-TE]
and can be either used as constraint attribute associated with
'routingcost' cost metric attribute or used as returned Cost metrics
in the response, or both and hence provide a relatively comprehensive
set of cost metrics for ALTO.
The introduction of a set of cost metrics allows us to extend the
flexibility of ALTO services. In particular, both the Cost Map
Service and the Endpoint Cost Service allow filtering. However,
these two services as defined in the base protocol are limited in
that the output information metric and the filtering (constraint)
metric must be the same. However, applications may request a
filtered "routingcost" Cost Map only for locations where the delay is
below a threshold. This is not feasible in the ALTO base protocol.
We discuss the overhead of implementing the aforementioned use case
using the current base protocol, and propose a simple but effective
extension to the "constraint" syntax to ALTO.
Wu, et al. Expires April 24, 2014 [Page 4]
Internet-Draft JSON for ALTO TE October 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, et al. Expires April 24, 2014 [Page 5]
Internet-Draft JSON for ALTO TE October 2013
3. Cost Metric Extensions: Cost Metrics
3.1. Cost Metric: delay
Cost Metric name: delay
Metric Description: To specify the average delay over a configurable
interval for each source/destination pair between two
endpoints (network locations) in the network. It could be
either end to end delay or the delay associated with the
link (linkdelay). The unit is microseconds.
Cost Metric Value type:
A single 'JSONNumber' type 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.
Purpose: This is intended to be a new cost metric. It could be
used as a cost metric constraint attribute used together with cost
metric attribute 'routingcost' or on its own or as a returned cost
metric in the response.
Cost mode: A Cost Mode is encoded as a US-ASCII string.
The string MUST either have the value 'numerical' or 'ordinal'.
Measurement timing: Gather and update at the configurable interval
if it is link attribute. See [OSPF-TE] for configurable
interval. The configurable interval for end to end delay could
be same as link.
Measurement points with Potential Measurement Domain:
The measurement point could be at any endpoint between
source and destination in the network.
Examples 1:
POST /endpointcost/lookup HTTP/1.1
Host: alto.example.com
Content-Length: 195
Content-Type: application/alto-endpointcostparams+json
Accept: application/alto-endpointcost+json,application/alto-error+json
{
"cost-type": {"cost-mode" : "numerical",
"cost-metric" : "delay"},
"endpoints" : {
"srcs": [ "ipv4:192.0.2.2" ],
"dsts": [
Wu, et al. Expires April 24, 2014 [Page 6]
Internet-Draft JSON for ALTO TE October 2013
"ipv4:192.0.2.89",
"ipv4:198.51.100.34",
"ipv4:203.0.113.45"
]
}
}
HTTP/1.1 200 OK
Content-Length: 231
Content-Type: application/alto-endpointcost+json
{
"meta" : {},
"data" : {
"cost-type": {"cost-mode" : "numerical",
"cost-metric" : "delay"},
"map" : {
"ipv4:192.0.2.2": {
"ipv4:192.0.2.89" : 10,
"ipv4:198.51.100.34" : 20,
"ipv4:203.0.113.45" : 30,
}
}
}
}
//Note that these are end to end delay values in microseconds.
Example 2:
POST /endpointcost/lookup HTTP/1.1
Host: alto.example.com
Content-Length: 195
Content-Type: application/alto-endpointcostparams+json
Accept: application/alto-endpointcost+json,application/alto-error+json
{
"cost-type": {"cost-mode" : "numerical",
"cost-metric" : "routingcost"},
"constraints" : {"delay ls 15"},
"endpoints" : {
"srcs": [ "ipv4:192.0.2.2" ],
"dsts": [
"ipv4:192.0.2.89",
"ipv4:198.51.100.34",
"ipv4:203.0.113.45"
]
}
}
Wu, et al. Expires April 24, 2014 [Page 7]
Internet-Draft JSON for ALTO TE October 2013
HTTP/1.1 200 OK
Content-Length: 231
Content-Type: application/alto-endpointcost+json
"data": {
"cost type": {
"cost-mode": "numerical",
"cost-metric":"routingcost"},
"constraints" : {"delay ls 15"},
"map": {
"ipv4:192.0.2.2": {
"ipv4:192.0.2.89": 0 ["delay eq 0"],
"ipv4:198.51.100.34": 15 ["delay eq 3"],
"ipv4:203.0.113.45": 1 ["delay eq 12"],
}
}
//Note that these are end to end routing cost and delay .
3.2. Cost Metric: jitter
Cost Metric name: jitter
Metric Description: To specify the average delay variation over
a configurable interval for each source/destination pair
between two endpoints(network locations)in the network.
It could be either end to end jitter or the jitter
associated with a link (linkjitter). The unit is
microseconds.
Cost Metric Value type:
A single 'JSONumber' type 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.
Purpose: This is intended to be a constraint attribute value
It could be used as a cost metric constraint attribute used
together with cost metric attribute 'routingcost' or on its
own or as a returned cost metric in the response.
Cost mode: A Cost Mode is encoded as a US-ASCII string.
The string MUST either have the value 'numerical' or 'ordinal'.
Measurement timing: Gather and update at the configurable interval
if it is link attribute. See [OSPF-TE] for configurable
interval. The configurable interval for end to end jitter could
be same as link.
Wu, et al. Expires April 24, 2014 [Page 8]
Internet-Draft JSON for ALTO TE October 2013
Measurement points with Potential Measurement Domain:
The measurement point could be at any endpoint between
source and destination in the network.
Examples:
POST /endpointcost/lookup HTTP/1.1
Host: alto.example.com
Content-Length: 195
Content-Type: application/alto-endpointcostparams+json
Accept: application/alto-endpointcost+json,application/alto-error+json
{
"cost-type": {"cost-mode" : "numerical",
"cost-metric" : "routingcost"},
"constraints" : {"delay ls 15","jitter ls 8"},
"endpoints" : {
"srcs": [ "ipv4:192.0.2.2" ],
"dsts": [
"ipv4:192.0.2.89",
"ipv4:198.51.100.34",
"ipv4:203.0.113.45"
]
}
}
HTTP/1.1 200 OK
Content-Length: 231
Content-Type: application/alto-endpointcost+json
"data": {
"cost type": {
"cost-mode": "numerical",
"cost-metric":"routingcost"},
"constraints" : {"delay ls 15","jitter ls 8"},
"map": {
"ipv4:192.0.2.2": {
"ipv4:192.0.2.89": 0 ["delay eq 0", "jitter eq 0"],
"ipv4:198.51.100.34": 5 ["delay eq 3", "jitter eq 1"],
"ipv4:203.0.113.45":2 ["delay eq 12", "jitter eq 5"],
}
3.3. Cost Metric: Packet Loss
Cost Metric name: pktloss
Metric Description: To specify a percentage of the total traffic
sent over a configurable interval for each
source/destination pair between two endpoints(network
locations) in the network. It could be either end to
end packet loss or the packet loss associated with a link
Wu, et al. Expires April 24, 2014 [Page 9]
Internet-Draft JSON for ALTO TE October 2013
(linkloss).
Cost Metric 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.
Purpose: This is intended to be a constraint attribute value
It could be used as a cost metric constraint attribute used
together with cost metric attribute 'routingcost' or on its
own or as a returned cost metric in the response.
Cost mode: A Cost Mode is encoded as a US-ASCII string.
The string MUST either have the value 'numerical' or 'ordinal'.
Measurement timing: Gather and update at the configurable interval
if it is link attribute. See [OSPF-TE] for configurable
interval. The configurable interval for end to end packet loss
could be same as link.
Measurement points with Potential Measurement Domain:
The measurement point could be at any endpoint between
source and destination in the network.
Examples:
POST /endpointcost/lookup HTTP/1.1
Host: alto.example.com
Content-Length: 195
Content-Type: application/alto-endpointcostparams+json
Accept: application/alto-endpointcost+json,application/alto-error+json
{
"cost-type": {"cost-mode" : "numerical",
"cost-metric" : "routingcost"},
"constraints" : {"pktloss le 0.3"},
"endpoints" : {
"srcs": [ "ipv4:192.0.2.2" ],
"dsts": [
"ipv4:192.0.2.89",
"ipv4:198.51.100.34",
"ipv4:203.0.113.45"
]
}
}
HTTP/1.1 200 OK
Content-Length: 231
Content-Type: application/alto-endpointcost+json
Wu, et al. Expires April 24, 2014 [Page 10]
Internet-Draft JSON for ALTO TE October 2013
"data": {
"cost type": {
"cost-mode": "numerical",
"cost-metric":"routingcost"},
"constraints" : {"pktloss le 0.3"},
"map": {
"ipv4:192.0.2.2": {
"ipv4:192.0.2.89": 0 ["pktloss eq 0.0"],
"ipv4:198.51.100.34": 1 ["pktloss eq 0.0001"],
"ipv4:203.0.113.45": 0 ["pktloss eq 0.0"],
}
}
[Editor Note: We have to be clear when the new metrics are part of
response and when it is not?]
3.4. Cost Metric: Bandwidth
Cost Metric name: bandwidth
Metric Description: To specify Bandwidth over a configurable
interval for each source/destination pair between
two endpoints (network locations)in the network.
It could be either aggregated bandwidth for end to end
path or the bandwidth associated with a link. The units
are bytes per second.
Cost Metric Value type:
A single 'JSONNumber' type 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.
Purpose: This is intended to be a constraint attribute value
It could be used as a cost metric constraint attribute used
together with cost metric attribute 'routingcost' or on its
own or as a returned cost metric in the response.
Cost mode: A Cost Mode is encoded as a US-ASCII string.
The string MUST either have the value 'numerical' or 'ordinal'.
This is just a definition of the costtype 'bandwidth'. The use of
this cost is always in conjunction with what it represents, which
could be Max Bandwidth (maxbw), Residual Bandwidth (residuebw) etc.
Examples: (based on Residual Bandwidth (residuebw))
POST /endpointcost/lookup HTTP/1.1
Host: alto.example.com
Wu, et al. Expires April 24, 2014 [Page 11]
Internet-Draft JSON for ALTO TE October 2013
Content-Length: 195
Content-Type: application/alto-endpointcostparams+json
Accept: application/alto-endpointcost+json,application/alto-error+json
{
"cost-type": {"cost-mode" : "numerical",
"cost-metric" : "routingcost"},
"constraints" : {"residuebw gt 1500"},
"endpoints" : {
"srcs": [ "ipv4:192.0.2.2" ],
"dsts": [
"ipv4:192.0.2.89",
"ipv4:198.51.100.34",
"ipv4:203.0.113.45"
]
}
}
HTTP/1.1 200 OK
Content-Length: 231
Content-Type: application/alto-endpointcost+json
"data": {
"cost type": {
"cost-mode": "numerical",
"cost-metric":"routingcost"},
"constraints" : {"residuebw gt 1500"},
"map": {
"ipv4:192.0.2.2": {
"ipv4:192.0.2.89": 0 ["residuebw eq 0"],
"ipv4:198.51.100.34": 5 ["residuebw eq 2000"],
"ipv4:203.0.113.45":2 ["residuebw eq 5000"],
}
}
Wu, et al. Expires April 24, 2014 [Page 12]
Internet-Draft JSON for ALTO TE October 2013
3.5. Cost Metric: Hopcount
Cost Metric name: hopcount
Metric Description: To specify the number of hops in the path
between the source endpoint and the destination
endpoint.
Editor Note: Need to specify which layer (IP perhaps), details TBD for
multiple-layer aspect.
Cost Metric Value type:
A single 'JSONNumber' type value containing an
integer component that may be prefixed with an
optional minus sign.
Purpose: This is intended to be a constraint attribute value
It could be used as a cost metric constraint attribute used
together with cost metric attribute 'routingcost' or on its
own or as a returned cost metric in the response.
Cost mode: A Cost Mode is encoded as a US-ASCII string.
string MUST either have the value 'numerical' or 'ordinal'.
3.6. Delay Cost Metric Extension: linkdelay
A linkdelay is gathered using [OSPF-TE], [ISIS-TE] or [BGP-PM]. It
is extended from Delay Cost metric and defined as:
Object {
LinkName link-name;
[JSONBool linkstate;] //TRUE = not steady; FALSE = steady;
delay dl;
}linkdelay;
3.7. Jitter Cost Metric Extension: linkjitter
A linkjitter is gathered using [OSPF-TE], [ISIS-TE] or [BGP-PM]. It
is extended from Jitter Cost metric and defined as:
Object {
LinkName link-name;
[JSONBool linkstate;] //TRUE = not steady; FALSE = steady;
jitter jt;
}linkjitter;
Wu, et al. Expires April 24, 2014 [Page 13]
Internet-Draft JSON for ALTO TE October 2013
3.8. Packet Loss Cost Metric Extension: linkloss
A linkloss is gathered using [OSPF-TE], [ISIS-TE] or [BGP-PM]. It is
extended from Packet loss cost metric and defined as:
Object {
LinkName link-name;
[JSONBool linkstate;] //TRUE = not steady; FALSE = steady;
pktloss l;
}linkloss;
3.9. Bandwidth Cost Metric Extension
3.9.1. Maximum Bandwidth: maxbw
A maxbw is gathered using [RFC3630], [RFC3784] or [BGP-LS]. It could
be either maximum bandwidth for end to end path or the bandwidth
associated with a link. It is extended from Bandwidth Cost metric
and defined as:
Object {
BWType max;
[LinkName link-name;]
[JSONBool linkstate;] //TRUE = not steady; FALSE = steady;
Bandwidth bw;
}maxbw;
3.9.2. Maximum Reserved Bandwdith: maxreservbw
A maxreservbw is gathered using [RFC3630], [RFC3784] or [BGP-LS]. It
could be either maximum reserved bandwidth for end to end path or the
bandwidth associated with a link. It is extended from Bandwidth Cost
metric and defined as:
Object {
BWType maxreserved;
[LinkName link-name;]
[JSONBool linkstate;] //TRUE = not steady; FALSE = steady;
Bandwidth bw;
}maxreservbw;
3.9.3. Unreserved Bandwidth: unreservbw
A unreservbw is gathered using [RFC3630], [RFC3784] or [BGP-LS]. It
could be either unreserved bandwidth for end to end path or the
bandwidth associated with a link. It is extended from Bandwidth Cost
metric and defined as:
Wu, et al. Expires April 24, 2014 [Page 14]
Internet-Draft JSON for ALTO TE October 2013
Object {
BWType unreserved;
[LinkName link-name;]
[JSONBool linkstate;] //TRUE = not steady; FALSE = steady;
Bandwidth bw<1,8>
}unreservbw;
//This bandwidth is per priority [TBD].
3.9.4. Residual Bandwidth: residuebw
A residuebw is gathered using [OSPF-TE], [ISIS-TE] or [BGP-PM]. It
could be either residual bandwidth for end to end path or the
bandwidth associated with a link. It is extended from Bandwidth Cost
metric and defined as:
Object {
BWType Residue;
[LinkName link-name;]
[JSONBool linkstate;] //TRUE = not steady; FALSE = steady;
Bandwidth bw;
}rediduebw;
3.9.5. Available Bandwidth: availbw
A availbw is gathered using [OSPF-TE], [ISIS-TE] or [BGP-PM]. It
could be either available bandwidth for end to end path or the
bandwidth associated with a link. It is extended from Bandwidth Cost
metric and defined as:
Object {
BWType Available;
[LinkName link-name;]
[JSONBool linkstate;] //TRUE = not steady; FALSE = steady;
Bandwidth bw;
}availbw;
3.9.6. Utilized Bandwidth: utilbw
A utilbw is gathered using [OSPF-TE], [ISIS-TE] or [BGP-PM]. It
could be either utilized bandwidth for end to end path or the
bandwidth associated with a link. It is extended from Bandwidth Cost
metric and defined as:
Wu, et al. Expires April 24, 2014 [Page 15]
Internet-Draft JSON for ALTO TE October 2013
Object {
BWType Utilized;
[LinkName link-name;]
[JSONBool linkstate;] //TRUE = not steady; FALSE = steady;
Bandwidth bw;
}utilbw;
Wu, et al. Expires April 24, 2014 [Page 16]
Internet-Draft JSON for ALTO TE October 2013
4. Cost Metric Extensions: Parameters
The following sections define Parameters used within cost metrics
specified in the section 3.
4.1. Parameter: anomalousstate
Parameter name: anomalousstate
Purpose: Optinally used in a prefixed cost metric to
indicate whether it is steady state
of the performance metric.
Description: This state can be used to notify to the ALTO
client if the performance metric associated is in a
steady state. The ALTO client may use this to perform
some action. The anomalousstate
is set when the measured value of this parameter exceeds
its configured maximum threshold. The anomalousstate is
cleared when the measured value falls below its
configured threshold. Anomalousstate should be used
together with Cost metric we defined in the
section 3. Cost Metrics prefixed with 'a:' are
reserved for cost metric that does not have steady state
network performance. Cost Metrics without prefix 'a:'
indicate the cost metric has steady state network
performance.
Examples:
POST /endpointcost/lookup HTTP/1.1
Host: alto.example.com
Content-Length: 195
Content-Type: application/alto-endpointcostparams+json
Accept: application/alto-endpointcost+json,application/alto-error+json
{
"cost-type": {"cost-mode" : "numerical",
"cost-metric" : "routingcost"},
"constraints" : {"delay ls 15"},
"endpoints" : {
"srcs": [ "ipv4:192.0.2.2" ],
"dsts": [
"ipv4:192.0.2.89",
"ipv4:198.51.100.34",
Wu, et al. Expires April 24, 2014 [Page 17]
Internet-Draft JSON for ALTO TE October 2013
"ipv4:203.0.113.45"
]
}
}
HTTP/1.1 200 OK
Content-Length: 231
Content-Type: application/alto-endpointcost+json
"data": {
"cost type":{
"cost-mode": "numerical",
"cost-metric":"routingcost"}
"constraints": {"delay ls 15"},
"map": {
"ipv4:192.0.2.2": {
"ipv4:192.0.2.89": 0 ["a:delay eq 10"],
}
}
Wu, et al. Expires April 24, 2014 [Page 18]
Internet-Draft JSON for ALTO TE October 2013
5. Security Considerations
The properties defined in this document present no security
considerations beyond those in Section 14 of the base ALTO
specification [ALTO].
Wu, et al. Expires April 24, 2014 [Page 19]
Internet-Draft JSON for ALTO TE October 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 |
+-----------+--------------+------------------------+
| | delay | [RFCxxxx], Section 3.1 |
| | jitter | [RFCxxxx], Section 3.2 |
| | pktloss | [RFCxxxx], Section 3.3 |
| | linkdelay | [RFCxxxx], Section 3.6 |
| | linkjitter | [RFCxxxx], Section 3.7 |
| | linkloss | [RFCxxxx], Section 3.8 |
| | bandwidth | [RFCxxxx], Section 3.4 |
| | hopcount | [RFCxxxx], Section 3.5 |
| | maxbw |[RFCxxxx], Section 3.9.1|
| | maxresbw |[RFCxxxx], Section 3.9.2|
| | unresdbw |[RFCxxxx], Section 3.9.3|
| | residbw |[RFCxxxx], Section 3.9.4|
| | availbw |[RFCxxxx], Section 3.9.5|
| | utilbw |[RFCxxxx], Section 3.9.6|
+-----------+--------------+------------------------+
IANA has added the following entries to the " ALTO cost map
Parameters" registry, defined in [RFCxxxx] Section 4.1.
+-------+------------------------+------------------------+
| Name- | | |
| space | Parameter | Reference |
+-------+------------------------+------------------------+
| | anomalousstate | [RFCxxxx], Section 4.1 |
+-------+------------------------+------------------------+
Wu, et al. Expires April 24, 2014 [Page 20]
Internet-Draft JSON for ALTO TE October 2013
7. References
7.1. Normative References
[ALTO] Alimi, R., "ALTO Protocol",
ID draft-ietf-alto-protocol-16, May 2013.
[BGP-LS] Gredler, H., "North-Bound Distribution of Link-State and
TE Information using BGP",
ID draft-ietf-idr-ls-distribution-03, May 2013.
[BGP-PM] Wu, Q., "BGP attribute for North-Bound Distribution of
Traffic Engineering (TE) performance Metrics",
ID draft-wu-idr-te-pm-bgp-02, October 2013.
[ISIS-TE] Giacalone, S., "ISIS Traffic Engineering (TE) Metric
Extensions", ID draft-ietf-isis-te-metric-extensions-01,
October 2013.
[OSPF-TE] 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.
7.2. Informative References
[RFC6390] Clark, A. and B. Claise, "Framework for Performance Metric
Development", RFC 6390, July 2011.
Wu, et al. Expires April 24, 2014 [Page 21]
Internet-Draft JSON for ALTO TE October 2013
Appendix A. Filtering constraint Extensions
Section 10.2.2.3 of "ALTO: Application Layer Traffic Optimization
Protocol" [I.D-ietf-alto-protocol] states:
"
object {
CostType cost-type;
[JSONString constraints<0..*>;]
[PIDFilter pids;]
} ReqFilteredCostMap;
object {
PIDName srcs<0..*>;
PIDName dsts<0..*>;
} PIDFilter;
with members:
cost-type The CostType (Section 9.7) for the returned costs. The
cost-metric and cost-mode fields MUST match one of the supported
Cost Types indicated in this resource's capabilities
(Section 10.2.2.4). The ALTO Client SHOULD omit the description
field, and if present, the ALTO Server MUST ignore the description
field.
constraints Defines a list of additional constraints on which
elements of the Cost Map are returned. This parameter MUST NOT be
specified if this resource's capabilities ( Section 10.2.2.4)
indicate that constraint support is not available. A constraint
contains two entities separated by whitespace: (1) an operator,
'gt' for greater than, 'lt' for less than, 'ge' for greater than
or equal to, 'le' for less than or equal to, or 'eq' for equal to;
(2) a target cost value. The cost value is a number that MUST be
defined in the same units as the Cost Metric indicated by the
cost-metric parameter. ALTO Servers SHOULD use at least IEEE 754
double-precision floating point [IEEE.754.2008] to store the cost
value, and SHOULD perform internal computations using double-
precision floating-point arithmetic. If multiple 'constraint'
parameters are specified, they are interpreted as being related to
each other with a logical AND.
"
In the JSON Object of type ReqFilteredCostMap, the constraint
attribute is expressed as:
"
[gt | lt | ge | le | eq ] <value>
"
Wu, et al. Expires April 24, 2014 [Page 22]
Internet-Draft JSON for ALTO TE October 2013
In this specification, the constraint attribute is changed to
"
<cost-type2> [gt | lt | ge | le | eq ] <value>
"
Accordingly, the constraints definition is changed to:
"
constraints Defines a list of additional constraints on which
elements of the Cost Map are returned. This parameter MUST NOT be
specified if this resource's capabilities ( Section 10.2.2.4)
indicate that constraint support is not available. A constraint
contains three entities separated by whitespace: (1)an cost type
is by default cost-type in the JSON Object of type ReqFilteredCostMap.
In addition, it could be another cost-type used for the returned cost
(2) an operator, 'gt' for greater than, 'lt' for less than, 'ge' for
greater than or equal to, 'le' for less than or equal to, or 'eq' for
equal to; (3) a target cost value. The cost value is a number that
MUST be defined in the same units as the Cost Metric indicated by the
cost-metric parameter. ALTO Servers SHOULD use at least IEEE 754
double-precision floating point [IEEE.754.2008] to store the cost
value, and SHOULD perform internal computations using double-
precision floating-point arithmetic. If multiple 'constraint'
parameters are specified, they are interpreted as being related to
each other with a logical AND.
"
Editor-Notes: Filtering constraint extension should move to another
document defining multi-metrics filtering in the future.
Wu, et al. Expires April 24, 2014 [Page 23]
Internet-Draft JSON for ALTO TE October 2013
Appendix B. Contributor Addresses
Y. Richard Yang
Yale University
51 Prospect St
New Haven CT
USA
Email: yry@cs.yale.edu
Roni Even
Gesher Erove Ltd
14 David Hamelech
Tel Aviv 64953
Israel
Email: ron.even.tlv@gmail.com
Liang Xia
Huawei
101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012
China
Email: frank.xialiang@huawei.com
Wu, et al. Expires April 24, 2014 [Page 24]
Internet-Draft JSON for ALTO TE October 2013
Authors' Addresses
Qin Wu
Huawei
101 Software Avenue, Yuhua District
Nanjing, Jiangsu 210012
China
Email: sunseawq@huawei.com
Young Lee
Huawei
1700 Alma Drive, Suite 500
Plano, TX 75075
USA
Email: leeyoung@huawei.com
Dhruv Dhody
Huawei
Leela Palace
Bangalore, Karnataka 560008
INDIA
Email: dhruv.ietf@gmail.com
Wu, et al. Expires April 24, 2014 [Page 25]