ALTO WG W. Roome
Internet Draft Alcatel-Lucent Bell Labs
Intended status: Standards Track Y. Yang
Yale
Expires April 2014 October 21, 2013
PID Property Extension for ALTO Protocol
draft-roome-alto-pid-properties-00.txt
Abstract
This document extends the Application-Layer Traffic Optimization
(ALTO) protocol [I-D.ietf-alto-protocol] by defining PID-based
properties in much the same way that the original ALTO protocol
defines endpoint-based properties.
Requirement Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
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 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
Roome, Yang Expires April 2014 [Page 1]
Internet Draft ALTO PID Properties October 21, 2013
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.
Roome, Yang Expires April 2014 [Page 2]
Internet Draft ALTO PID Properties October 21, 2013
Table of Contents
1. Introduction
1.1. ALTO PIDs
1.2. ALTO Endpoint Properties
1.3. PID Properties
1.4. Inheritance Via Nested PIDs
2. Services
2.1. Full PID Property Map Service
2.2. Filtered PID Property Map Service
2.3. Extension to ALTO Endpoint Property Service
3. Security Considerations
4. IANA Considerations
5. References
6.1. Normative References
6.2. Informative References
1. Introduction
1.1. ALTO PIDs
The ALTO protocol defines a PID (Provider-defined Identifier) as a
collection of endpoint addresses. Each PID has a name, and the PID's
address set is defined by one or more endpoint address prefixes
called CIDRs [RFC4632]. An ALTO server uses PIDs by providing one or
more Network Maps, each of which is defined by a collection of PIDs.
PID specifications can overlap. For example, if PID1 is 10.0.0.0/8,
and PID2 is 10.0.1.0/24, then all endpoints in PID2 are also in PID1.
However, ALTO requires that an endpoint address be in one, and only
one, PID. ALTO resolves this ambiguity by saying that if an endpoint
address matches several CIRDs, the endpoint is in the PID with the
CIDR with the longest prefix. We refer to this PID as the home PID of
the endpoint. Thus, for the example, 10.0.1.5 is in PID2, and
10.0.2.6 in in PID1.
Although not required by the ALTO protocol, the hierarchical
structure of the PIDs in a Network Map may reflect the logical
structure of the network. In particular, although it is not required,
the endpoints in a PID may be in the same geographical area.
1.2. ALTO Endpoint Properties
The ALTO protocol defines endpoint properties as a set of (name,
value) pairs associated with each selected endpoint address. An ALTO
server defines those properties, and the ALTO protocol allows a
client to obtain those properties from a server.
Roome, Yang Expires April 2014 [Page 3]
Internet Draft ALTO PID Properties October 21, 2013
1.3. PID Properties
This document proposes extending the property concept by allowing
PIDs to have properties. This is useful when the endpoints in a given
PID share common properties. Examples are "country code", "continent
code", "ISP", "lat/long bounding box", "endpoint type" (server farm,
end users, cell data connections, etc).
1.4. Implicit Inheritance Via Nested PIDs
In this document, we define PID properties to take advantage of the
fact that PID definitions can overlap, or nest. That is, an ALTO
server may define PID1, PID2 and PID3 such that all CIDRs defined in
PID2 are also covered by the CIDRs in PID1; so are the CIDRs defined
in PID3. Hence, we say that PID2 and PID3 can be considered "sub-
PIDs" of PID1.
To avoid potential issues of "multi-inheritance", for example, when
PID2 is also a "sub-PID" of PID4, we consider only the case that the
derived inheritance forms a tree. In other words, for the example
that PID2 is sub-PID of both PID1 and PID4, then either PID1 is a
sub-PID of PID4 or vice versa. Hence, we can say uniquely the direct
parent of a PID. Future ALTO extensions may consider explicit
definitions of nesting, for example, by specifying that PID1 consists
of PID2 and PID2, without implicit derivation.
With nesting, we define that PID2 and PID3 would inherit all
properties of its ancestors, for example PID1, unless overriden in
the sub-PIDs. For example, an ALTO server might define continent-
level PIDs, as well as country-level or region-level sub-PIDs. If the
ALTO server defines a "continent code" property for the continent-
level PIDs, the country-level PIDs will automatically inherit that
property. Such inheritance reduces information redundancy.
2. Services
In the interests of simplicity, we will give an overview of the
proposed services, rather than detailed descriptions.
2.1. Full PID Property Map Service
Analogous to ALTO's Full Cost Map Service, a Full PID Map Service
returns properties defined for all PIDs in a Network Map.
This is a GET request. The response message is similar to that of
ALTO's Endpoint Property Service, but with PID names instead of
endpoint addresses. The IRD entry for the service defines a "prop-
Roome, Yang Expires April 2014 [Page 4]
Internet Draft ALTO PID Properties October 21, 2013
types" capability with the names of the properties that this service
returns, and specifies a "uses" attribute for the Network Map
defining the PIDs.
In the interests of limiting the response message size, the Full PID
Property Map Service would NOT enumerate inherited property values.
Thus if PID1 defines PROP1, and if PID2 is contained within PID1 and
does not override the value for PROP1, then the response message
gives a value for PROP1 in PID1, but not in PID2. In this case the
client is expected to deduce the inheritance. That is feasible
because the client has all information needed to do that.
2.2. Filtered PID Property Map Service
Analogous to ALTO's Filtered Cost Map Service, a Filtered PID Map
Service returns a subset of the Full PID Property Map. The client
specifies the desired property and PID names.
This is a POST request. The response message is the same as for the
Full PID Property Map Service. The request message is similar to the
request message for ALTO's Endpoint Property Service, except with PID
names instead of endpoint addresses. The IRD entry for the service
defines a "prop-types" capability with the names of the properties
this service returns, and specifies a "uses" attribute for the
Network Map defining the PIDs.
Unlike the Full Filtered PID Property Service, the Filtered PID
Property Service would explicitly enumerate inherited property
values. Thus if PID1 defines PROP1, and if PID2 is contained within
PID1 and does not override the value for PROP1, then the response
message includes PID1's value for PROP1 in PID2's properties. This is
necessary because the Filtered PID Property Map response does not
give the client enough information to deduce the inherited
properties. For consistency, the Filtered PID Property Service would
enumerate inherited properties for a PID even if the client also
requested properties for all PIDs that containing that PID.
2.3. Potential Integration with ALTO Endpoint Property Service
When one considers inheritance and considers that each endpoint
defines a leaf of the PID inheritance tree, with its direct parent
being its home PID, then each endpoint will inherit the properties of
its ancestor PIDs. We propose extending the current Endpoint Property
Service (EPS) to allow EPS to use PID properties as a default.
Specifically, if the IRD for an EPS "uses" a Network Map resource,
then if that EPS does not define a property value for a given
endpoint, but the PID containing that endpoint does define a value
for that property, then the EPS will return the PID property. As with
Roome, Yang Expires April 2014 [Page 5]
Internet Draft ALTO PID Properties October 21, 2013
the Filtered PID Property Map Service, sub-PIDs would inherit
property values from higher-level PIDs.
3. Security Considerations
There are no security considerations relevant to this document.
4. IANA Considerations
No actions are required from IANA as result of the publication of
this document.
5. References
5.1. Normative References
[I-D.ietf-alto-protocol] Alimi, R., Penno, R., and Y. Yang, "ALTO
Protocol", draft-ietf-alto-protocol-20 (work in progress),
October 2013.
[RFC4632] Fuller, V. and T. Li, "Classless Inter-domain Routing
(CIDR): The Internet Address Assignment and Aggregation
Plan", BCP 122, RFC 4632, August 2006.
5.2. Informative References
Authors' Addresses
Wendy Roome
Alcatel-Lucent Bell Labs
600 Mountain Ave, Rm 2B-234
Murray Hill, NJ 07974
USA
Email: w.roome@alcatel-lucent.com
Y. Richard Yang
Yale University
51 Prospect St
New Haven CT
USA
Email: yry@cs.yale.edu
Roome, Yang Expires April 2014 [Page 6]