Internet DRAFT - draft-marques-sndp-l3vpn-schema
draft-marques-sndp-l3vpn-schema
Network Working Group P. Marques
Internet-Draft December 2011
Intended status: Standards Track
Expires: June 13, 2012
IF-MAP schema for IP VPNs.
draft-marques-sndp-l3vpn-schema-00
Abstract
This document defines the metadata schema used to define the route
exchange policies of an IP VPN network. Information elements
conforming to this schema can be distributed using the IF-MAP [if-
map] specification. The schema is applicable both to the standard
BGP IP VPN [RFC4364] deployments within service provider environments
as well as end-system [I-D.marques-l3vpn-end-system] based
deployments.
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 June 13, 2012.
Copyright Notice
Copyright (c) 2011 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.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
Marques std [Page 1]
Internet-Draft l3vpn schema December 2011
2. Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Identifiers . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1. customer-attachement . . . . . . . . . . . . . . . . . 4
2.1.2. routing-table . . . . . . . . . . . . . . . . . . . . 4
2.1.3. route-target . . . . . . . . . . . . . . . . . . . . . 4
2.1.4. provider-edge . . . . . . . . . . . . . . . . . . . . 4
2.2. Metadata . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1. attachement-state . . . . . . . . . . . . . . . . . . 5
2.2.2. binding . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.3. Import and export targets . . . . . . . . . . . . . . 6
3. Security Considerations . . . . . . . . . . . . . . . . . . . 6
4. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
The schema defined in this document allows a management console or
orchestration system to define IP VPNs and their access policies and
distribute that information to all Provider Edge (PE) devices. It
also allows the PE devices to publish the information of which
customer attachement points are locally associated with each VPN
routing-table, providing a mechanism by which a management entity,
potentially different from the one establishing access policies, can
verify the operational state of the network.
In order to define an IP VPN, a management system, must select a VPN
identifier and associate it with a route-target value. That
operation is achieved by sending the following XML document to an IF-
MAP server.
<?xml version="1.0"?>
<ifmap:publish session-id="1"
xmlns:ifmap="http://ietf.org/I-D.marques-l3vpn-schema">
<update>
<routing-table name="SimpleVPN">
<metadata>
<import-target>
<route-target>1:0.0.0.1</route-target>
</import-target>
<export-target>
<route-target>1:0.0.0.1</route-target>
</export-target>
</metadata>
</update>
</ifmap:publish>
In the VPN definition above, the import and export route-target list
is the same, creating a closed group VPN in which any customer
attachement can only communicate with other members of the same VPN.
This definition is published in the MAP server and available to all
PE devices which may either subscribe to notification or poll the
information on-demand.
Marques std [Page 2]
Internet-Draft l3vpn schema December 2011
The XML element "routing-table" above refers not to a particular
instantiation of a VRF table on a PE device but a configuration
template that is used to instantiate the specific routing tables.
The schema allows for multiple import and export targets to be
configured on a particular "routing-table" in order to allow for
scenarios where there is direct traffic exchange between different
VPNs. For example, a common service such as storage may have a
"storage-frontend" VPN which imports the route-targets of all its
customer VPNs. The customer VPNs would also import the route-target
associated with the "storage-frontend" service.
In order to associate a given "attachement circuit" to a routing-
table a PE device may either consult the MAP server or rely on a
information that is provided by the customer device via a PE-CE
communication protocol. In the second case it is important for the
PE to be able to publish that mapping to the MAP server in order to
provide the operational state of the network.
Regardless of whether the association is centrally determined by a
provisioning system or by the PE it can be added to the MAP server
via the following message:
<?xml version="1.0"?>
<ifmap:publish session-id="1"
xmlns:ifmap="http://ietf.org/I-D.marques-l3vpn-schema">
<update>
<customer-attachement id="vm:00:00:00:01:02:03"/>
<metadata>
<binding>
<table-name>SimpleVPN</table-name>
</binding>
<attachement-state>
<provider-edge>192.168.0.1</provider-edge>
<state>Up</state>
</attachement-state>
</metadata>
</update>
</ifmap:publish>
The metadata information in this update message contains both the
information of which routing table is the circuit bound to as well as
its operational state.
By storing this information on a MAP server the provisioning and
operational state of all IP VPNs in a domain can be known. Note that
the routing information corresponding to which IP prefixes are
currently reachable and the selection of the preferred path for a
given IP packet are still done using BGP IP VPN.
Routing information is both very dynamic as well as potentially
different at each specific VRF table, since the network location
influences path selection. Information stored in the MAP server is,
typically, more global in nature.
2. Data Model
Marques std [Page 3]
Internet-Draft l3vpn schema December 2011
The figure bellow contains the data-model used to represent the
provisioning information necessary to attach a given customer circuit
to an IP VPN. In it identifiers are represented by boxes while
metadata is represented by elements in square brackets.
+-------------+
| customer | +---------------+
| attachement |-- [ binding ] -- | routing-table |
+-------------+ +---------------+
| / \
[attachement-state] [ import-target ] [ export-target ]
| | |
+---------------+ +--------------+
| provider-edge | | route-target |
+---------------+ +--------------+
2.1. Identifiers
The following Identifiers are defined for this schema:
2.1.1. customer-attachement
The "customer attachement" identifier represents a circuit connecting
to a customer edge device in the standard BGP IP VPN application.
When the network in question is using an end-system [I-D.marques-
l3vpn-end-system] based implementation, the "customer attachement"
represents the XMPP client session between the end-system and
signaling gateway.
<xsd:complexType name="CustomerAttachementType">
<xsd:attribute name="id" type="xsd:string" use="required">
</xsd:complexType>
2.1.2. routing-table
The "routing table" element represents a configuration template used
to provision a VRF table on a PE or a routing table on a BGP/XMPP
signaling gateway.
<xsd:complexType name="RoutingTableType">
<xsd:attribute name="name" type="xsd:string" use="required">
</xsd:complexType>
2.1.3. route-target
In BGP IP VPNs, route targets are associated with VPN routing
information and used to express routing table import and export
policies.
<xsd:complexType name="RouteTargetType">
<xsd:attribute name="value" type="xsd:string" use="required">
</xsd:complexType>
2.1.4. provider-edge
Marques std [Page 4]
Internet-Draft l3vpn schema December 2011
A "provider-edge" element identifies a specific PE device.
<xsd:complexType name="ProviderEdgeType">
<xsd:attribute name="id" type="smi:IpAddress" use="required">
</xsd:complexType>
In the definition above the "smi" namespace is refers to the SNMP SMI
XML schema [RFC5935].
2.2. Metadata
In the IF-MAP specification [if-map] metadata determines the state of
the MAP database. Identifiers are immutable constants. Metadata
update and delete requests represent state and lead to updates being
sent to subscribers.
2.2.1. attachement-state
The attachement-state metadata element is used to associate a
"customer-attachement" with a PE device. It can also convey its
operational state.
The contained "local-routes" element, when present, contains the
number of routes that have been adverised by a given customer
attachement to the local PE device.
<xsd:element name="attachement-state">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="provider-edge" type="smi:IpAddress"
minOccurs="1" maxOccurs="1">
<xsd:element name="state" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Up"/>
<xsd:enumeration value="Down"/>
<xsd:enumeration value="AdminDown"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="local-routes" type="xsd:integer" minOccurs="0"
maxOccurs="1"/>
</xsd:sequence>
<xsd:attributeGroup ref="ifmap:singleValueMetadataAttributes"/>
</xsd:complexType>
</xsd:element>
2.2.2. binding
The binding metadata element associates a customer attachement with a
specific VPN. It contains no operational state and maybe inserted by
either a PE device or a provisioning system.
Marques std [Page 5]
Internet-Draft l3vpn schema December 2011
<xsd:element name="binding">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="table-name" type="xsd:string" minOccurs="1"
maxOccurs="1">
</xsd:sequence>
<xsd:attributeGroup ref="ifmap:singleValueMetadataAttributes"/>
</xsd:complexType>
</xsd:element>
2.2.3. Import and export targets
The import and export target elements specific the list of route-
targets that specify a routing-table import and export policies,
respectively. Import targets select routes which have been
associated with any of these targets to be added to the specific
routing table. Export targets instruct the routing table to tag a
route with that specific list of targets when advertising a route to
other PE devices. PE devices must also import/export routes between
local VRFs which contain intersecting route target lists.
<xsd:element name="import-target">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="route-target" type="xsd:string" minOccurs="1"
maxOccurs="unbounded">
</xsd:sequence>
<xsd:attributeGroup ref="ifmap:multiValueMetadataAttributes"/>
</xsd:complexType>
</xsd:element>
3. Security Considerations
When using this approach, the MAP database, rather than the
individual configurations on PE devices, becomes the "source of
truth" about the VPN membership. It is important to restrict the
write access to the MAP database to systems that should be allowed to
modified it.
A MAP server implementation SHOULD support access controls on a per
metadata element basis such that it is possible to restrict write
access to a set of metadata elements to a specific list of
certificates.
4. References
[I-D.marques-l3vpn-end-system]
Marques, P, Fang, L, Pan, P and A Shukla, "End-system
support for BGP-signaled IP/VPNs.", Internet-Draft draft-
marques-l3vpn-end-system-02, October 2011.
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
Networks (VPNs)", RFC 4364, February 2006.
Marques std [Page 6]
Internet-Draft l3vpn schema December 2011
[RFC5935] Ellison, M. and B. Natale, "Expressing SNMP SMI Datatypes
in XML Schema Definition Language", RFC 5935, August 2010.
[if-map] "IF-MAP Binding for SOAP Specification Version 2.0", July
2010.
Author's Address
Pedro Marques
Email: pedro.r.marques@gmail.com
Marques std [Page 7]