CDNI WG S. Previdi, Ed.
Internet-Draft F. Le Faucheur
Intended status: Standards Track J. Medved
Expires: September 9, 2012 Cisco Systems, Inc.
A. Guillou
SFR
March 8, 2012
CDNI Footprint Advertisement
draft-previdi-cdni-footprint-advertisement-01
Abstract
This document describes the use of BGP for Content Delivery Networks
(CDNs) in order to advertise information about footprint and
connectivity to footprint in the context of CDNI.
Requirements 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 September 9, 2012.
Copyright Notice
Copyright (c) 2012 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
Previdi, et al. Expires September 9, 2012 [Page 1]
Internet-Draft CDNI Footprint Advertisement March 2012
(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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. CDNI Mesh and MP-BGP . . . . . . . . . . . . . . . . . . . . . 5
4. CDNI Information . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Footprint . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2. Footprint Elements (FPE) . . . . . . . . . . . . . . . . . 6
4.3. Footprint Reachability (FPR) . . . . . . . . . . . . . . . 7
4.4. CDN Capability Information (CAP) . . . . . . . . . . . . . 7
5. CDNI Functional Components . . . . . . . . . . . . . . . . . . 8
5.1. CDNI Databases . . . . . . . . . . . . . . . . . . . . . . 8
5.1.1. CDNI Footprint Elements Database . . . . . . . . . . . 8
5.1.2. CDNI Footprint Reachability Database . . . . . . . . . 9
5.1.3. CDNI Capability Database . . . . . . . . . . . . . . . 9
5.2. CDNI MP-BGP Messages . . . . . . . . . . . . . . . . . . . 9
5.2.1. CDNI MP-BGP Footprint Element Advertisement . . . . . 9
5.2.2. CDNI MP-BGP Footprint Reachability Advertisement . . . 10
5.2.3. CDNI Capability Advertisement . . . . . . . . . . . . 10
5.3. CDNI Information Elements (Attributes) . . . . . . . . . . 10
5.3.1. CDN Identifier . . . . . . . . . . . . . . . . . . . . 10
5.3.2. Footprint Element Identifier . . . . . . . . . . . . . 10
5.3.3. Reachable Footprint Element . . . . . . . . . . . . . 11
5.3.4. Origin_AS_PATH . . . . . . . . . . . . . . . . . . . . 11
5.3.5. CDN Capabilities . . . . . . . . . . . . . . . . . . . 11
5.4. CDNI MP-BGP NLRIs . . . . . . . . . . . . . . . . . . . . 11
6. CDNI Example . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.1. Topology . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.2. CDN2 Footprint Element Advertisements . . . . . . . . . . 12
6.3. Footprint Element Database in each CDN . . . . . . . . . . 13
6.4. Footprint Reachability Advertisements . . . . . . . . . . 14
6.5. Capability Advertisements . . . . . . . . . . . . . . . . 16
6.6. FPE, FPR and CAP Databases in uCDN . . . . . . . . . . . . 16
6.7. Request Routing for user 2.2.2.2 . . . . . . . . . . . . . 17
6.8. Request Routing for user 1.1.1.1 . . . . . . . . . . . . . 18
7. CDNI MP-BGP Encodings . . . . . . . . . . . . . . . . . . . . 19
7.1. CDNI Attributes . . . . . . . . . . . . . . . . . . . . . 19
7.1.1. CDNI Identifier . . . . . . . . . . . . . . . . . . . 19
7.1.2. FPE Identifier . . . . . . . . . . . . . . . . . . . . 19
Previdi, et al. Expires September 9, 2012 [Page 2]
Internet-Draft CDNI Footprint Advertisement March 2012
7.1.3. Origin_AS_PATH . . . . . . . . . . . . . . . . . . . . 19
7.1.4. Capabilities . . . . . . . . . . . . . . . . . . . . . 20
7.2. CDNI Messages . . . . . . . . . . . . . . . . . . . . . . 20
7.2.1. FPE Advertisement . . . . . . . . . . . . . . . . . . 20
7.2.2. FPR Advertisement . . . . . . . . . . . . . . . . . . 21
7.2.3. CAP Advertisement . . . . . . . . . . . . . . . . . . 21
7.3. CDNI NLRI . . . . . . . . . . . . . . . . . . . . . . . . 22
7.3.1. CDNI-NLRI Type 1: FPE Advertisement . . . . . . . . . 22
7.3.2. CDNI-NLRI Type 2: FPR Advertisement . . . . . . . . . 23
7.3.3. CDNI-NLRI Type 3: CAP Advertisement . . . . . . . . . 23
7.3.4. NLRI Encoding . . . . . . . . . . . . . . . . . . . . 24
8. Compliance with CDNI Requirements . . . . . . . . . . . . . . 25
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25
10. Security Considerations . . . . . . . . . . . . . . . . . . . 25
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25
12.1. Normative References . . . . . . . . . . . . . . . . . . . 25
12.2. Informative References . . . . . . . . . . . . . . . . . . 26
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26
Previdi, et al. Expires September 9, 2012 [Page 3]
Internet-Draft CDNI Footprint Advertisement March 2012
1. Introduction
The IETF CDN Interconnection (CDNI) Working Group is chartered to
develop specifications for interconnecting standalone CDNs so that
their collective CDN footprint can be leveraged for the end-to-end
delivery of content from Content Service Providers (CSPs) to End
Users.
[I-D.jenkins-cdni-problem-statement] outlines the problem area that
the CDNI working group is chartered to address.
[I-D.bertrand-cdni-use-cases] discusses the use cases for CDN
Interconnection and [I-D.davie-cdni-framework] discusses the
technology framework for the CDNI solution and interfaces.
When an upstream CDN (uCDN) receives a request from a user, it has to
determine what is the downstream CDN (dCDN) to which the request is
to be redirected. This CDN selection decision can take into account
various criteria such as administrative preferences (for example
based on the commercial arrangements between the uCDN and candidate
dCDNs including associated request handling costs) and/or such as
whether candidate CDNs are have caches that are topologically close
to the user and capable of handling that request. Therefore, as
discussed in section "Dynamic Footprint Discovery" of
[I-D.davie-cdni-framework], there are situations where being able to
dynamically discover the set of requests that a given dCDN is willing
and able to serve is beneficial. As also discussed in
[I-D.davie-cdni-framework], this information could be potentially
provided by the dCDN in response to a query by the uCDN, or the
information (or its changes) could be spontaneously advertised by the
dCDN.
The proposal outlined in this document makes use of Multiprotocol-BGP
(MP-BGP [RFC4760]) in order for CDNs and/or ISPs to advertise their
footprint information as well as for CDNs to advertise their
connectivity to these footprints. In addition CDNs use MP-BGP
advertisements to represent their interconnectivity.
2. Terminology
The following terminology is used in this document:
CDNI Mesh: the set of CDNs participating into CDNI and using MP-
BGP sessions between them in accordance with the approach defined
in this document. A CDNI Mesh has no requirements in terms of
topology, i.e.: the mesh can be partial, full or hierarchical.
Previdi, et al. Expires September 9, 2012 [Page 4]
Internet-Draft CDNI Footprint Advertisement March 2012
Footprint (FP): The exhaustive set of Prefixes a CDN is willing to
serve.
Footprint Element (FPE): Arbitrary set of prefixes with
attributes. They can be implicit (inferred from BGP) or explicit
(advertised).
Implicit Footprint Element Advertisement (FPE Implicit
Advertisement): Footprint Element information derived from the BGP
database.
Footprint Element Advertisement (FPE-Adv): MP-BGP Message used by
a CDN in order to advertise or withdrawn Footprint Elements and
their attributes.
Footprint Reachability Advertisement (FPR-Adv): MP-BGP Message
used by a CDN in order to advertise or withdrawn Footprint
reachability information.
Capability Advertisement (CAP-Adv): MP-BGP Message used by a CDN
in order to advertise or withdrawn capability information.
3. CDNI Mesh and MP-BGP
CDNI enables CDNs to communicate in order to deliver content in a
collaborative mode.
CDNI Mesh will make use of Multiprotocol-BGP (MP-BGP [RFC4760]) for
the exchange of footprint, reachability and capability information.
We define a new Sub Address Family (CDNI-SAFI, TBD) for Address
Families (AF) 1 (IPv4) and 2 (IPv6) and a set of new Network Layer
Reachability Information (NLRI) that will carry either FPE, FPR or
CAP advertisements. The NLRI will have a NLRI type determining the
content (i.e.: FPE, FPR or CAP) so to distinguish advertisements.
The advantage of using a separate address family is to isolate CDNI
information from regular BGP-4 Internet information so to not
compromise in any way the security and reliability of the current BGP
information exchange used for IP network layer routing.
The advantage of having separate FPE, FPR and CAP information is that
a CDN needs not originate (and update) FPE information each time
there's a change in the way a CDN is connected to other CDNs. E.g.:
if the complete Footprint information was to be exchanged between
CDNs, it would consist of a very large amount of prefixes advertised
(and re-advertised) each time a CDNI interconnection changes in the
Previdi, et al. Expires September 9, 2012 [Page 5]
Internet-Draft CDNI Footprint Advertisement March 2012
CDNI Mesh.
When an existing CDNI connection is removed or when a new connection
between two CDNs is established, the only advertisements that need to
be updated are the ones concerning the FPR.
While footprint information is expected to be relatively stable, the
CDNI Mesh (i.e.: the connectivity between CDNs) and the reachability
from CDN to footprints may be impacted by network events. Also, the
connectivity between CDNs may be affected by the CDN selection policy
which may be modified relatively frequently.
CDNI FPR advertisements allow the CDNI Mesh to scale by adapting
easily to topology changes. In fact, just a few number of FPR
advertisements are used by each CDN which makes the CDNI MP-BGP
scheme very scalable.
4. CDNI Information
CDNI Information includes:
Footprint (FP).
Footprint Element (FPE).
Footprint Reachability (FPR).
CDN Capabilities (CAP).
4.1. Footprint
Footprint represents the exhaustive set of prefixes a CDN is willing
to serve. The set of prefixes may belong to one or more Autonomous
Systems or may include subset of prefixes of one or more Autonomous
Systems. In other words, there is no strict relationship between an
Autonomous System and the CDN Footprint.
Example: if CDN-A delivers content to ISP-A users, then CDN-A
footprint consists of all prefixes owned and connected to ISP-A.
4.2. Footprint Elements (FPE)
Footprint Elements refers to an arbitrary set of prefixes part of a
CDN Footprint.
FPEs can be inferred from the BGP-4 Internet database. It is assumed
that the CDN will have a BGP-4 feed with Internet prefixes that are
Previdi, et al. Expires September 9, 2012 [Page 6]
Internet-Draft CDNI Footprint Advertisement March 2012
necessary in order for the CDNI Mesh to operate and from which it
will be able to derive FPEs.
The CDN will maintain a FPE Database that is isolated from the
regular BGP Internet database. The CDNI FPE database uses the CDNI-
SAFI (TBD) MP-BGP address family.
FPEs can be implicit (inferred from BGP) or explicit (advertised).
Example 1: if CDN-A is willing to serve Autonomous System A and
Autonomous System B users, then two footprints elements will be
inferred from the BGP database in all CDNs: FPE-ASA and FPE-ASB.
Then, CDN-A will advertise its reachability to FPEs FPE-ASA and FPE-
ASB. In this example FPEs are inferred by all CDNs by just looking
at the BGP-4 Internet Database.
Example 2: if CDN-B is willing to serve Autonomous System A users and
a subset of Autonomous System B users, then CDN-B Footprint consist
of two FPEs: Autonomous System A and the set of prefixes representing
the subset of Autonomous System B users. Autonomous System 'A' FPE
is inferred from BGP-4 Database while the subset of Autonomous System
B users is an FPE that will be explicitly advertised by CDN-B to the
CDNI Mesh.
The CDNI FPE Database includes FPEs inferred from the BGP-4
(Internet) database as well as FPE Advertisements originated by the
CDN and/or received from other CDNI Mesh members.
4.3. Footprint Reachability (FPR)
Footprint Reachability refers to the way a CDN can reach to one or
more FPEs. FPR consists of advertisements originated by each CDN for
each of its FPE and advertised to the CDNI Mesh (through MP-BGP
Messages).
FPR Information is stored in the CDNI FPR Database which contains the
information originated by the CDN and the information received from
the other CDNs in the CDNI Mesh.
4.4. CDN Capability Information (CAP)
Each CDN advertises to the CDNI Mesh the set of its capabilities.
The CDN originates a CDN Capabilities message (CAP) message
containing the attributes describing such capabilities.
Each CDN MUST originate a Capabilities message and each CDN will
store in the CDNI Capabilities Database the set of Capabilities
messages received from other members of the CDNI Mesh.
Previdi, et al. Expires September 9, 2012 [Page 7]
Internet-Draft CDNI Footprint Advertisement March 2012
5. CDNI Functional Components
This section describes the CDNI functional components (databases,
messages, information sets) stored and exchanged between CDNs and
related to CDN Footprints and Capabilities. This document proposes
the use of Multiprotocol-BGP for exchanging the CDNI information.
The details of MP-BGP encodings are described in Section 7.
5.1. CDNI Databases
This section describes the set of databases defined for the
propagation of Fooptrint and Capability information across the CDNI
Mesh. The goal of this section is to explain the different
information elements that are required in order to properly determine
FPE, FPR and CAP information. This section is not to be intended as
an implenentation description. An implementation may combine or
merge all data into single or multiple databases.
CDNI Footprint Elements Database contains FPEs that are either
derived from BGP-4 Internet table or received from other CDN
through CDNI Footprint Elements Advertisements.
CDNI Footprint Reachability Database contains the advertisements
originated by the CDN and received from other CDNs and that
describe how each CDN can reach its Footprint Elements.
CDNI Capability Database contains the set of CDN capabilities
advertised by each CDN.
5.1.1. CDNI Footprint Elements Database
FPE Database contains the FPEs that a CDN has inferred from the BGP-4
Internet database as well as FPEs that have been explicitly
advertised by other CDNs.
FPE Database includes prefixes and their attributes as known in the
BGP-4 Internet Database (e.g.: prefix, AS_PATH, MED, Communities,
etc) in addition to CDNI specific attributes that are defined in
following sections.
FPE Database also contains the FPEs that have been explicitly
advertised by remote CDNs.
It is expected that for most of CDNs, the majority of the FPE
information is inferred from BGP-4 Internet Database so to reduce
significantly the advertisement of FPEs.
Previdi, et al. Expires September 9, 2012 [Page 8]
Internet-Draft CDNI Footprint Advertisement March 2012
5.1.2. CDNI Footprint Reachability Database
FPR Database contains the set of FPEs each CDN claimed reachability
to. This includes:
The set of FPEs this CDN can reach.
The set of FPEs other CDNs have advertised their reachability to.
The FPR Database is populated by the FPR Advertisement messages
originated and sent by each CDN participating into the CDNI Mesh.
5.1.3. CDNI Capability Database
Capability (CAP) Database contains the set of capabilities advertised
by each CDN.
The CAP Database is populated by the CAP Advertisement messages
originated and sent by each CDN participating into the CDNI Mesh.
5.2. CDNI MP-BGP Messages
We define three new MP-BGP messages for the advertisement of CDNI
Address Familiy NLRIs:
Footprint Element Advertisement (FPE Advertisement) describing an
FPEs and its attributes.
Footprint Reachability Advertisement (FPR Advertisement)
describing how a CDN can reach one or more FPEs.
Capability Advertisement (CAP Advertisement) describing CDN
capabilities.
The propagation of CDNI Messages throughout the CDNI Mesh is done
according to standard BGP rules and the inter-CDN connectivity will
be reflected in the BGP attributes, e.g.: AS_PATH will describe the
different CDNs the advertisement traversed during its propagation in
the CDNI Mesh thus describing the inter-CDN connectivity.
5.2.1. CDNI MP-BGP Footprint Element Advertisement
FPE Advertisement is originated by a CDN willing to group prefixes it
can reach under a unique identifier (identifying the FPE). The
message is originated and sent out by the CDN and propagated
throughout the CDNI Mesh according to MP-BGP propagation rules.
The FPE Advertisement includes CDNI NLRI, representing the FPE
Previdi, et al. Expires September 9, 2012 [Page 9]
Internet-Draft CDNI Footprint Advertisement March 2012
address space, and attributes among which the identifier of the FPE.
5.2.2. CDNI MP-BGP Footprint Reachability Advertisement
In the CDNI Mesh, each CDN MUST advertise the different Footprint
Elements it reaches. The CDN maintains a FPE Reachability Database
with entries describing its connectivity to Footprints Elements.
The propagation of CDN Connectivity advertisements throughout the
CDNI Mesh is done according to standard BGP rules and the inter-CDN
connectivity will be reflected in the BGP attributes (e.g.: AS_PATH
will describe the different CDNs the advertisement traversed during
its propagation in the CDNI Mesh thus describing the inter-CDN
connectivity).
5.2.3. CDNI Capability Advertisement
Each CDN MUST advertise information describing its capabilities.
This is done in the CAP dvertisement message.
5.3. CDNI Information Elements (Attributes)
This section describes the different information elements contained
in the CDNI Databases.
5.3.1. CDN Identifier
CDN_Identifier uniquely identifies the CDN within the CDNI Mesh. CDN
Identifier is exchanged inside the CDNI (MP-BGP) messages between
CDNs.
5.3.2. Footprint Element Identifier
The role of the Footprint Element Identifier is to group all prefixes
part of the same FPE under a unique identifier. This allows a CDN to
claim reachability to the FPE by just specifying the FPE Identifier
rather than each individual prefix of the footprint.
When inferring the CDNI footprint information from the regular BGP-4
Internet database, the FPE Identifier is derived from the first ASN
in the AS_PATH of the prefix, i.e.: the AS of origin of the prefix.
FPE Identifiers are present in both FPE Advertisement and FPR
Advertisement. In the FPE Advertisement it is used to arbitrarily
group prefixes under the same Identifier while in the FPR
Advertisement, the FPE Identifier is used in order to describe which
FPEs a CDN can reach.
Previdi, et al. Expires September 9, 2012 [Page 10]
Internet-Draft CDNI Footprint Advertisement March 2012
5.3.3. Reachable Footprint Element
Reachable FPE contains the FPE Identifier of each FPE the CDN claim
reachability to. Multiple instances of Reachable FPE are allowed in
the same FPR Advertisement message. FPE Identifier is assigned to
the FPE by the CDN advertising the FPE (in the FPE Advertisement
Message). FPE Identifier contains an AS number when the FPE has been
inferred from the BGP database.
5.3.4. Origin_AS_PATH
This attribute contains the prefix AS_PATH value that is present in
the BGP-4 Internet Database of the CDN originating the FPR
advertisement.
Origin_AS_PATH aims to describe how the CDN can reach a given FPE and
is present only in FPR advertisements.
5.3.5. CDN Capabilities
Capabilities are expressed in a set of attributes the CDN inserts in
the Capability Advertisement message.
5.4. CDNI MP-BGP NLRIs
We define three types of CDNI NLRI: FPE-NLRI, FPR-NLRI and CAP-NLRI
When referred to FPE, the NLRI contains either an IPv4 or IPv6
prefix.
In some cases, a given FPE prefix is reachable by multiple CDNs. MP-
BGP, according to BGP selection rule, will allow to select only one
FPE and therefore information about FPE being multi-reachability
through different CDNs may be lost. In order to prevent this, the
CDNI NLRI contains a CDNI FPE Distinguisher so to make two identical
prefixes different from a BGP selection perspective. The behavior is
similar to what defined in [RFC4364].
FPR NLRI consists of one or more FPE-Identifiers representing the
FPEs the CDN can reach.
CAP-NLRI contains a IPv4 or IPv6 prefix (called the CAP-Prefix)
beloning to the CDN address space originating the CAP Advertisement
Message. Capabilities will be avertised using attributes to the CAP-
prefix.
Previdi, et al. Expires September 9, 2012 [Page 11]
Internet-Draft CDNI Footprint Advertisement March 2012
6. CDNI Example
This section illustrates an example of CDNI Mesh with the set of
databases and messages that are exchanged between CDNs.
6.1. Topology
The following topology is used:
CDN2 CDN3 uCDN
1.1.1.0/24 |--AS100---AS200---AS300---AS400---Internet---AS500
2.2.2.0/24 | |-----------------| |
3.3.3.0/24 | |
|------------------------|
CDN2, CDN3 and uCDN participate into the CDNI Mesh.
CDNI Mesh includes following MP-BGP Sessions: CDN2-CDN3 and CDN3-
uCDN. Note that there's no MP-BGP session between CDN2 and uCDN.
AS100 and AS400 have no CDN.
AS100 advertises all prefixes to AS300 and AS400.
AS100 advertises only prefix 1.1.1.0/24 and 3.3.3.0/24 to AS200.
6.2. CDN2 Footprint Element Advertisements
CDN2 originates following Footprint Elements Advertisements:
Previdi, et al. Expires September 9, 2012 [Page 12]
Internet-Draft CDNI Footprint Advertisement March 2012
Prefix CDN2:1.1.1.0/24
AS_PATH: {CDN2}
Footprint-Element Identifier: FP-CDN2
Prefix CDN2:3.3.3.0/24
AS_PATH: {CDN2}
Footprint-Element Identifier: FP-CDN2
where:
Prefix CDN2:1.1.1.0/24 and Prefix CDN2:3.3.3.0/24 are the
two prefixes advertised with the CDNI FPE Distinguisher
corresponding to CDN2. The CDNI FPE Distinguisher is
required so to distinguish between possible identical
prefixes advertised by other CDNs.
AS_PATH contains the set of CDNs the update has traversed.
It is mainly used for loop prevention in BGP in the CDNI
Mesh.
Note: the AS numbers in the AS_PATH represent the CDNs,
not the BGP autonomous systems.
Footprint-Element Identifier contains the identifier of
the Footprint-Element and it is used by CDN2 when
originating the Footprint Reachability Advertisement.
Note that uCDN and CDN3 do NOT originate any Footprint Element
Message.
6.3. Footprint Element Database in each CDN
Footprint Elements Database in constructed by inferring all info from
BGP database plus the Footprint Elements Advertisements received from
within the CDNI Mesh.
In CDN2 the Footprint Elements Database is as follows:
1.1.1.0/24; AS_PATH: {100} ===\
2.2.2.0/24; AS_PATH: {300, 100} ====> inferred from
3.3.3.0/24; AS_PATH: {100} ===/ BGP table
CDN2:1.1.1.0/24
AS_PATH: {}
Footprint-Element Identifier: FP-CDN2
CDN2:3.3.3.0/24
AS_PATH: {}
Footprint-Element Identifier: FP-CDN2
Previdi, et al. Expires September 9, 2012 [Page 13]
Internet-Draft CDNI Footprint Advertisement March 2012
In CDN3 the Footprint Elements Database is as follows:
1.1.1.0/24; AS_PATH: {100} ===\
2.2.2.0/24; AS_PATH: {100} ====> inferred from
3.3.3.0/24; AS_PATH: {100} ===/ BGP table
CDN2:1.1.1.0/24
AS_PATH: {CDN2}
Footprint-Elements Identifier: FP-CDN2
CDN2:3.3.3.0/24
AS_PATH: {CDN2}
Footprint-Element Identifier: FP-CDN2
In uCDN the Footprint Elements Database is as follows:
1.1.1.0/24; AS_PATH: {<internet>, 400, 100} ===\ inferred
2.2.2.0/24; AS_PATH: {<internet>, 400, 100} ====> from
3.3.3.0/24; AS_PATH: {<internet>, 400, 100} ===/ BGP table
CDN2:1.1.1.0/24
AS_PATH: {CDN3, CDN2}
Footprint-Element Identifier: FP-CDN2
CDN2:3.3.3.0/24
AS_PATH: {CDN3, CDN2}
Footprint-Element Identifier: FP-CDN2
The Footprint-Elements Database contains prefixes inferred from the
BGP database and the prefixes received through Footprint-Element
Advertisements.
Footprint-Element prefixes derived from BGP database do not require a
CDNI FPE Distinguisher.The way an implementation stores inferred FPE
information (with or without CDNI FPE Distinguisher is out of the
scope of this document.
The prefixes received by FPE Advertisements need a CDNI FPE
Distinguisher because multiple CDNs may advertise the same set of
prefixes and we need to preserve all from selection rules.
6.4. Footprint Reachability Advertisements
Each CDN will advertise its reachability to Footprint Elements:
CDN2 Footprint Reachability Advertisement:
Previdi, et al. Expires September 9, 2012 [Page 14]
Internet-Draft CDNI Footprint Advertisement March 2012
CDN-Identifier: CDN2
AS_PATH: <will contain the AS_PATH representing the path
taken by Footprint-Reachability advertisement in
the CDNI Mesh>
Reachable Footprint-Element: AS200
Origin_AS_PATH: {}
Reachable Footprint-Element: FP-CDN2
Origin_AS_PATH: {100}
Where:
Origin_AS_PATH describes the BGP AS_PATHs as known in CDN2.
CDN2 advertises reachability to two sets of prefixes: one consists of
all prefixes in AS200 and another set consists of prefixes he
received from AS100 (and that he previously sent with Footprint-
Element Advertisements).
CDN3 Footprint Reachability Advertisement:
CDN-Identifier: CDN3
AS_PATH: <will contain the AS_PATH representing the path
taken by Footprint-Reachability advertisement in
the CDNI Mesh>
Reachable Footprint-Element: AS300
Origin_AS_PATH: {}
Reachable Footprint-Element: AS100
Origin_AS_PATH: {200, 100}
Where:
Origin_AS_PATH describes the BGP AS_PATHs as known in CDN3.
CDN3 advertises reachability to two sets of prefixes: AS100 and
AS300.
Each CDN advertises:
CDNI Identifier.
Set of reachable Footprint-Elements (i.e.: a set of FPE
Identifiers) with their corresponding Origin_AS_PATH.
The AS_PATH representing the BGP connectivity within the CDNI
Mesh.
Previdi, et al. Expires September 9, 2012 [Page 15]
Internet-Draft CDNI Footprint Advertisement March 2012
6.5. Capability Advertisements
Each CDN originates a CAP Advertisement messages carrying information
about its capabilities. Each CDN will advertise:
A prefix owned by the CDN (i.e.: part of the CDN address space).
Its CDN Identifier.
A set of attributes describing the CDN capabilities (encoded as
BGP Extended Community Attributes).
CDN2 Capability Advertisement:
CDN-Identifier: CDN2
Communities (std/ext): representing CDN2 capabilities
AS_PATH: <will contain the AS_PATH representing the path
taken by Footprint-Reachability advertisement in
the CDNI Mesh>
NLRI: CDN2-Prefix
CDN3 Capability Advertisement:
CDN-Identifier: CDN3
Communities (std/ext): representing CDN capabilities
AS_PATH: <will contain the AS_PATH representing the path
taken by Footprint-Reachability advertisement in
the CDNI Mesh>
NLRI: CDN3-Prefix
6.6. FPE, FPR and CAP Databases in uCDN
uCDN has the two following databases:
Footprint-Elements Database:
1.1.1.0/24
AS_PATH: {<internet>, 400, 100} ==\
2.2.2.0/24 ===\
AS_PATH: {<internet>, 400, 100} ====> inferred from
3.3.3.0/24 ===/ BGP table
AS_PATH: {<internet>, 400, 100} ==/
CDN2:1.1.1.0/24
AS_PATH: {CDN3, CDN2}
Footprint-Element Identifier: FP-CDN2
CDN2:3.3.3.0/24
AS_PATH: {CDN3, CDN2}
Footprint-Element Identifier: FP-CDN2
Previdi, et al. Expires September 9, 2012 [Page 16]
Internet-Draft CDNI Footprint Advertisement March 2012
Footprint-Reachability Database:
CDN-Identifier: CDN2
AS-PATH: {300, 200}
Reachable Footprint-Element: AS200
Origin_AS_PATH: {}
Reachable Footprint-Element: FP-CDN2
Origin_AS_PATH: {100}
CDN-Identifier: CDN3
AS-PATH: {300}
Reachable Footprint-Element: AS300
Origin_AS_PATH: {}
Reachable Footprint-Element: AS100
Origin_AS_PATH: {200, 100}
Capability Database:
CDN-Identifier: CDN2
Communities (std/ext): representing CDN2 capabilities
AS_PATH: <will contain the AS_PATH representing the path
taken by Footprint-Reachability advertisement in
the CDNI Mesh>
NLRI: CDN2-Prefix
CDN-Identifier: CDN3
Communities (std/ext): representing CDN capabilities
AS_PATH: <will contain the AS_PATH representing the path
taken by Footprint-Reachability advertisement in
the CDNI Mesh>
NLRI: CDN3-Prefix
The Footprint-Reachability and Capabilities databases also contains
the AS_PATH representing the MP-BGP connectivity in the CDNI Mesh and
the path taken by Footprint-Reachability Advertisements. It is
anyway mandatory in BGP for message loop prevention.
6.7. Request Routing for user 2.2.2.2
The following workflow is used for a request coming from user
2.2.2.2:
User with address 2.2.2.2 sends a content request to uCDN.
uCDN does a lookup in Footprint-Elements Database for address
2.2.2.2 and finds following entry:
Previdi, et al. Expires September 9, 2012 [Page 17]
Internet-Draft CDNI Footprint Advertisement March 2012
2.2.2.0/24
AS_PATH: {<internet>, 400, 100}
uCDN does a lookup in Footprint-Reachability Database and look for
a CDN claiming connectivity to AS100. It finds following entry:
CDN-Identifier: CDN3
AS-PATH: {300}
Reachable Footprint-Element: AS300
Origin_AS_PATH: {}
Reachable Footprint-Element: AS100
Origin_AS_PATH: {200, 100}
uCDN can select CDN3 as downstream CDN.
6.8. Request Routing for user 1.1.1.1
The following workflow is used for a request coming from user
1.1.1.1:
User with address 1.1.1.1 sends a content request to uCDN.
uCDN does a lookup in Footprint-Elements Database for address
1.1.1.1 and finds following entries:
1.1.1.0/24
AS_PATH: {<internet>, 400, 100}
and
CDN2:1.1.1.0/24
AS_PATH: {CDN3, CDN2}
Footprint-Element Identifier: FP-CDN2
uCDN prefers the entry originated by a Footprint-Element
Advertisement and looks into the Footprint-Reachability Database
for a CDN claiming connectivity to Footprint-Element Identifier:
FP-CDN2. It finds following entries:
CDN-Identifier: CDN2
AS-PATH: {300, 200}
Reachable Footprint-Element: AS200
Origin_AS_PATH: {}
Reachable Footprint-Element: FP-CDN2
Origin_AS_PATH: {100}
Previdi, et al. Expires September 9, 2012 [Page 18]
Internet-Draft CDNI Footprint Advertisement March 2012
uCDN can select CDN2 as downstream CDN
7. CDNI MP-BGP Encodings
This section describes the CDNI MP-BGP messages with their attributes
and NLRI encodings details.
7.1. CDNI Attributes
CDNI uses standard BGP attributes in both FPE and FPR advertisements
in addition to the following newly defined attributes:
FPE_Identifier is present in FPE advertisements (when identifying
an FPE as a set of prefixes) and FPR advertisements (when
identifying a reachable FPE).
CDN_Identifier is present in both FPE and FPR advertisements).
Origin_AS_PATH is present in FPR advertisements.
CDN Capabilities is present in CAP advertisements.
7.1.1. CDNI Identifier
CDN_Identifier is a mandatory transitive attribute consisting of an
extended community (type TBD) uniquely identifying the CDN within the
CDNI Mesh. CDNI_Identifier must be unique within the CDNI Mesh. The
recommended method is to use (as for the FPE_Identifier) the AS or IP
Address format as described in[RFC4360].
7.1.2. FPE Identifier
FPE Identifier is a mandatory and transitive attribute consisting of
an extended community (type TBD) containing a Footprint Element
identifier. The FPE_Identifier uniquely identifies the FPE within
the CDNI Mesh. The format of the FPE_Identifier encodings should
ensure uniqueness of values. The recommended method for encoding
FPE_Identifier is to use the format as defined in RFC4360 and use
either the AS or an IP address owned by the CDN. This method, and
the extended community format, allows a CDN to create multiple unique
FPE_Identifiers.
7.1.3. Origin_AS_PATH
Origin_AS_PATH is an optional transitive attribute having the same
format as AS_PATH attribute and containing the AS_PATH value of the
Footprint Element known in the CDN originating the FPR advertisement.
Previdi, et al. Expires September 9, 2012 [Page 19]
Internet-Draft CDNI Footprint Advertisement March 2012
Origin_AS_PATH must be left unchanged and has the same format as
AS_PATH BGP attribute as defined in [RFC4271].
7.1.4. Capabilities
Capabilities is a mandatory and transitive attribute consisting of an
extended community (type TBD) containing a value representing a given
capability (TBD). More than one Capability attribute is allowed so
to allow a CDN to advertise multiple capabilities in the same
message. The encodings of Extended Communities is defined in:
[RFC4360].
7.2. CDNI Messages
Three messages are used: FPE Advertisement, FPR Advertisement and CAP
Advertisement.
7.2.1. FPE Advertisement
Footprint Element Advertisement message is used by a CDN in order to
advertise a Footprint Element that can't be inferred from the BGP-4
Internet Database and that needs explicit advertisement.
The FPE Advertisement consists of one or more prefixes that a CDN
reaches. The FPE Advertisement scope is not to describe how the CDN
can reach the FPE but rather what are the prefixes forming the FPE.
The FPE Advertisement message should contain following information:
CDN_Identifier: uniquely identifies the CDN originating the
message. It is mandatory and transitive attribute.
CDN_Identifier format is described in Section 7.1.
Footprint-Element Identifier: a number uniquely identifying the
FPE as defined in Section 7.1. FPE-Identifier is encoded as an
extended community. It is mandatory and transitive.
Standard BGP attributes such as AS_PATH, Communities,
Local_Preference, MED, etc. are also used in the FPE Advertisement
Messages.
NLRI: the set of prefixes (address and mask) of the FPE.
A CDNI Distinguisher is prependd to each prefix of the FPE. The
CDNI Distingsuiher allows multiple CDNs to advertise the same
prefix in their FPE Advertisement. Each CDN must use a unique
number. The recommended method for assigning RDs is to use the
CDN AS number or an IP address owned by the CDN.
Previdi, et al. Expires September 9, 2012 [Page 20]
Internet-Draft CDNI Footprint Advertisement March 2012
7.2.2. FPR Advertisement
Footprint Reachability Advertisement message is used by a CDN willing
to advertise the FPEs it can reach. The FPR Advertisement consists
of a set of FPE-Identifiers and their attributes. Following
information should be present in the FPR Advertisement message:
CDN_Identifier: uniquely identifies the CDN originating the
message. It is mandatory and transitive attribute.
CDN_Identifier format is described in Section 7.1.
Reachable Footprint-Element: one or more AS numbers and/or
FPE_Identifier representing the reachable FPEs. Reachable_FPE is
encoded as a set of extended communities. At least one must be
present in the message and the attribute is transitive. FPEs that
have been inferred from the BGP4 Internet database are identified
through their AS number and FPEs that have been explicitly
advertised are identified by their FPE_Identifier.
Standard BGP attributes such as AS_PATH, Communities,
Local_Preference, MED, etc. are also used in the FPR Advertisement
Messages.
Origin_AS_PATH. This attribute is related to an FPE and contains
the value of the BGP AS_PATH of the FPE in the CDN originating the
FPR message. When used, it implies all prefixes of the same FPE
share the same BGP AS_PATH in the CDN originating the FPR message.
NLRI: Reachable Footprint-Element: one or more FPE Identifiers
representing the reachable FPEs. Reachable FPE is encoded in the
CDNI NLRI. At least one must be present in the message. FPEs
that have been inferred from the BGP4 Internet database are
identified through their AS number and FPEs that have been
explicitly advertised are identified by their FPE Identifier.
7.2.3. CAP Advertisement
Capability Advertisement message is used by a CDN in order to
advertise its capabilities. Capabilities are encoded as a set of BGP
Extended Communities. The CAP Advertisement Message contains:
A CDN_Identifier: uniquely identifies the CDN originating the
message. It is mandatory and transitive attribute.
CDN_Identifier format is described in Section 7.1.
One or more Extended Communities attributes describing
capabilities.
Previdi, et al. Expires September 9, 2012 [Page 21]
Internet-Draft CDNI Footprint Advertisement March 2012
Standard BGP attributes such as AS_PATH, Communities,
Local_Preference, MED, etc. are also used in the CAP Advertisement
Messages for policy reasons.
A CDN Prefix: a NLRI encoded prefix (IPv4 or IPv6) owned by the
CDN (i.e.: a prefix that is part of the address space of the CDN).
7.3. CDNI NLRI
Multiprotocol-BGP defines two attributes, MP_REACH and MP_UNREACH,
that are BGP's containers for carrying opaque information. Each CDNI
NLRI describes either a FPE or a FPR.
All FPE and FPR information SHALL be encoded using AFI 1 or 2 (ipv4
or ipv6) with a TBD (CDNI) SAFI.
In order for two BGP speakers to exchange CDNI NLRI, they MUST use
BGP Capabilities Advertisement to ensure that they both are capable
of properly processing CDNI NLRI. This is done as specified in
[RFC4760], by using capability code 1 (multi-protocol BGP), with the
AFI: 1 or 2, SAFI: TBD.
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NLRI Type | Total NLRI Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| CDNI NLRI (variable) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
NLRI Type: 1 (FPE)
2 (FPR)
3 (CAP)
7.3.1. CDNI-NLRI Type 1: FPE Advertisement
Previdi, et al. Expires September 9, 2012 [Page 22]
Internet-Draft CDNI Footprint Advertisement March 2012
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NLRI Type: 1 | Total NLRI Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ CDNI FPE Distinguisher +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| IPv4/IPv6 NLRI (variable) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
NLRI Type: 1 specifies the FPE Advertisement
CDNI FPE Distinguisher: 8 octets
NLRI: IPv4 or IPv6 prefix
7.3.2. CDNI-NLRI Type 2: FPR Advertisement
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NLRI Type: 2 | Total NLRI Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Connected FPEs (variable) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
NLRI Type 2 specifies the FPR Advertisement
Connected FPEs: set of FPE Identifiers representing the FPEs the
CDN can reach.
7.3.3. CDNI-NLRI Type 3: CAP Advertisement
Previdi, et al. Expires September 9, 2012 [Page 23]
Internet-Draft CDNI Footprint Advertisement March 2012
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NLRI Type: 3 | Total NLRI Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ IPv4/IPv6 NLRI +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
where:
NLRI Type 3 specifies the CAP Advertisement
NLRI: IPv4 or IPv6 prefix
7.3.4. NLRI Encoding
The Network Layer Reachability Information contains one or more IPv4
or IPv6 prefixes, according to AFI value, and is encoded as one or
more 2-tuples of the form <length, prefix>, whose fields are
described below:
+---------------------------+
| Length (1 octet) |
+---------------------------+
| Prefix (variable) |
+---------------------------+
where:
Length: the Length field indicates the length in bits of the IP
address prefix. A length of zero indicates a prefix that matches
all IP addresses (with prefix, itself, of zero octets).
Prefix: the Prefix field contains an IP address prefix, followed
by enough trailing bits to make the end of the field fall on an
octet boundary. Note that the value of the trailing bits is
irrelevant.
In the FPE Advertisement message, the NLRI contains the set of
prefixes part of the FPE to be advertised.
In the CAP Advertisement message, the NLRI contains a prefix ownded
by the CDN.
It has to be noted that a CDN may use multiple FPR messages for
advertising reachability to multiple FPEs. In such cases multiple
NLRI prefixes would be needed in order not to create collisions in
the BGP selection process (that would select only one NLRI message
among the ones having identical NLRI prefixes).
Previdi, et al. Expires September 9, 2012 [Page 24]
Internet-Draft CDNI Footprint Advertisement March 2012
8. Compliance with CDNI Requirements
[I-D.ietf-cdni-requirements] outlines the requirements for the
solution and interfaces to be specified by the CDNI working group.
This section identifies the relevant requirements from that document
and discusses compliance by the solution proposed in this document.
[Editor's Note: Text is to be added when requirements-03 is
available. This needs to discuss the requirements labeled R27, R28,
R29 and R30 as of requirements-02].
9. IANA Considerations
none.
10. Security Considerations
This draft does not affect the BGP security model.
11. Acknowledgements
The authors would like to thank Steven Luong, Manish Bhardwaj and
Bruce Davie for their contributions.
12. References
12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4271] Rekhter, Y., Li, T., and S. Hares, "A Border Gateway
Protocol 4 (BGP-4)", RFC 4271, January 2006.
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
Communities Attribute", RFC 4360, February 2006.
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
Networks (VPNs)", RFC 4364, February 2006.
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
"Multiprotocol Extensions for BGP-4", RFC 4760,
January 2007.
Previdi, et al. Expires September 9, 2012 [Page 25]
Internet-Draft CDNI Footprint Advertisement March 2012
12.2. Informative References
[I-D.bertrand-cdni-use-cases]
Bertrand, G., Stephan, E., Watson, G., Burbridge, T.,
Eardley, P., and K. Ma, "Use Cases for Content Delivery
Network Interconnection", draft-bertrand-cdni-use-cases-02
(work in progress), July 2011.
[I-D.davie-cdni-framework]
Davie, B. and L. Peterson, "Framework for CDN
Interconnection", draft-davie-cdni-framework-01 (work in
progress), October 2011.
[I-D.ietf-cdni-requirements]
Leung, K. and Y. Lee, "Content Distribution Network
Interconnection (CDNI) Requirements",
draft-ietf-cdni-requirements-02 (work in progress),
December 2011.
[I-D.jenkins-cdni-problem-statement]
Niven-Jenkins, B., Faucheur, F., and N. Bitar, "Content
Distribution Network Interconnection (CDNI) Problem
Statement", draft-jenkins-cdni-problem-statement-02 (work
in progress), March 2011.
Authors' Addresses
Stefano Previdi (editor)
Cisco Systems, Inc.
Via Del Serafico 200
Rome 00191
IT
Email: sprevidi@cisco.com
Francois Le Faucheur
Cisco Systems, Inc.
Greenside, 400 Avenue de Roumanille
Sophia Antipolis 06410
FR
Email: flefauch@cisco.com
Previdi, et al. Expires September 9, 2012 [Page 26]
Internet-Draft CDNI Footprint Advertisement March 2012
Jan Medved
Cisco Systems, Inc.
3700 Cisco Way
SAN JOSE, CA 95134
US
Email: jmedved@cisco.com
Allan Guillou
SFR
40-42 Quai du Point du Jour
Boulogne-Billancourt 92659
FR
Email: allan.guillou@sfr.com
Previdi, et al. Expires September 9, 2012 [Page 27]