Internet DRAFT - draft-gredler-bgp-ls-segment-routing-extensions
draft-gredler-bgp-ls-segment-routing-extensions
Inter-Domain Routing H. Gredler, Ed.
Internet-Draft Juniper Networks, Inc.
Intended status: Standards Track S. Ray, Ed.
Expires: August 18, 2014 S. Previdi
C. Filsfils
Cisco Systems, Inc.
M. Chen
Huawei Technologies
J. Tantsura
Ericsson
February 14, 2014
BGP Link-State extensions for Segment Routing
draft-gredler-bgp-ls-segment-routing-extensions-00
Abstract
Segment Routing (SR) allows for a flexible definition of end-to-end
paths within link-state graphs by encoding paths as sequences of
topological sub-paths, called "segments".
The link-state routing protocols (IS-IS, OSPF and OSPFv3) have been
extended to advertise the segments. But flooding based propagation
of path segments using IGPs is limited by the perimeter of the IGP
domain. For building paths which span across IGP domains (e.g.
multiple ASes), the Border Gataway Protocol (BGP) is better suited as
its propagation perimeter is not limited like the IGPs.
This draft defines extensions to the BGP Link-state address-family to
carry path segment information via BGP.
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/.
Gredler, et al. Expires August 18, 2014 [Page 1]
Internet-Draft BGP LS extensions for Segment Routing February 2014
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 August 18, 2014.
Copyright Notice
Copyright (c) 2014 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
2. BGP-LS Extensions for Segment Routing . . . . . . . . . . . . 5
2.1. Node Attribute TLVs . . . . . . . . . . . . . . . . . . . 6
2.2. Link Attribute TLVs . . . . . . . . . . . . . . . . . . . 6
2.3. Prefix Attribute TLVs . . . . . . . . . . . . . . . . . . 7
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
4. Manageability Considerations . . . . . . . . . . . . . . . . 7
4.1. Operational Considerations . . . . . . . . . . . . . . . 7
4.1.1. Operations . . . . . . . . . . . . . . . . . . . . . 7
5. TLV/Sub-TLV Code Points Summary . . . . . . . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8
8.1. Normative References . . . . . . . . . . . . . . . . . . 8
8.2. Informative References . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
Segment Routing (SR) allows for a flexible definition of end-to-end
paths within link-state topologies by encoding paths as sequences of
topological sub-paths, called "segments". Segment routing is an
amalgamation of source routing and MPLS. In Segment Routing, the
ingress node prepends a sequence of instructions, called "segments",
Gredler, et al. Expires August 18, 2014 [Page 2]
Internet-Draft BGP LS extensions for Segment Routing February 2014
to the packet. The SR capable nodes sequentially execute the
instructions on the packet to achieve packet forwarding via required
topological paths as well as service paths.
The segments can be thought of, in a simple way, to represent
instructions such as "go to node N using the shortest path", "follow
the shortest path for prefix P", "use link/node/ERO L", etc. Each
segment is identified by a 32 bit Segment Identifier (SID) (when
unmodified MPLS data-plane is used, the SIDs are restricted to 20
bits). There are "global" segments that are known to all SR nodes in
the local domain, and there are local segments whose semantics are
known only to the nodes that originate them. The segment routing
architecture is described in [I-D.filsfils-rtgwg-segment-routing] and
segment routing use-cases in
[I-D.filsfils-rtgwg-segment-routing-use-cases].
Segment routing is enabled in a network by advertising the segments
(including the associated SIDs) to the nodes in the network. The IGP
link-state routing protocols (IS-IS
[I-D.previdi-isis-segment-routing-extensions], OSPFv2
[I-D.psenak-ospf-segment-routing-extensions] and OSPFv3
[I-D.psenak-ospf-segment-routing-ospfv3-extension]) have been
extended to advertise the segments. Using these extensions, segment
routing can be enabled within an IGP domain.
Gredler, et al. Expires August 18, 2014 [Page 3]
Internet-Draft BGP LS extensions for Segment Routing February 2014
+------------+
| Consumer |
+------------+
^
|
v
+-------------------+
| BGP Speaker | +-----------+
| (Route-Reflector) | | Consumer |
+-------------------+ +-----------+
^ ^ ^ ^
| | | |
+---------------+ | +-------------------+ |
| | | |
v v v v
+-----------+ +-----------+ +-----------+
| BGP | | BGP | | BGP |
| Speaker | | Speaker | . . . | Speaker |
+-----------+ +-----------+ +-----------+
^ ^ ^
| | |
IGP IGP IGP
Figure 1: Link State info collection
Segment Routing (SR) allows advertisement of single or multi-hop
paths. The flooding scope for the IGP extensions for Segment routing
is IGP area-wide. Consequently, the contents of a Link State
Database (LSDB) or a Traffic Engineering Database (TED) has the scope
of an IGP area and therefore by using the IGP alone it is not
possible to construct segments across an IGP Area or AS boundaries.
To address the need for applications that require visibility into
LSDB across IGP areas, or even across ASes, the BGP-LS address-family
/sub-address-family have been defined that allows BGP to carry LSDB
information. The BGP Network Layer Reachability Information (NLRI)
encoding format for BGP-LS and a new BGP Path Attribute called BGP-LS
attribute are defined in [I-D.ietf-idr-ls-distribution]. The
identifying key of each LSDB object, namely a node, a link or a
prefix, is encoded in the NLRI and the properties of the object are
encoded in the BGP-LS attribute. Figure Figure 1 describes a typical
deployment scenario. In each IGP area, one or more nodes are
configured with BGP-LS. These BGP speakers form an IBGP mesh by
connecting to one or more route-reflectors. This way, all BGP
speakers - specifically the route-reflectors - obtain LSDB
information from all IGP areas (and from other ASes from EBGP peers).
An external component connects to the route-reflector to obtain this
Gredler, et al. Expires August 18, 2014 [Page 4]
Internet-Draft BGP LS extensions for Segment Routing February 2014
information (perhaps moderated by a policy regarding what information
is sent to the external component, and what information isn't).
This document describes extensions to BGP-LS to carry the segments.
An external component - a Controller - then can collect segment
information in the "northbound direction" across IGP areas/autonomous
systems and construct the segment stack that need to be added to an
incoming packet to achieve the desired end-to-end forwarding.
2. BGP-LS Extensions for Segment Routing
The BGP-LS NLRI can be a node NLRI, a link NLRI or a prefix NLRI.
The corresponding BGP-LS attribute is a node attribute, a link
attribute or a prefix attribute. BGP-LS
[I-D.ietf-idr-ls-distribution] defines the TLVs that map link-state
information to BGP-LS NLRI and BGP-LS attribute. This document adds
additional BGP-LS attribute TLVs to encode SR information.
[I-D.previdi-isis-segment-routing-extensions] defines the following
TLVs to encode SR information.
o TLV for Prefix-SID
o TLV for Adjacency-SID between two nodes as well as between nodes
in a LAN
o TLV for SID/Label binding for advertising paths from other
protocols (and their optional ERO)
o TLV for SR Capabilities
o TLV for SR Algorithm
These TLVs are mapped to BGP-LS attribute TLVs in the following way.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// Value (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: TLV format
The 2 octet Type field values are defined in Table 1, Table 2, and
Table 3. The next 2 octet Length field encodes length of the rest of
the TLV. The Value portion of the TLV is variable and is equal to
Gredler, et al. Expires August 18, 2014 [Page 5]
Internet-Draft BGP LS extensions for Segment Routing February 2014
the corresponding Value portion of the TLV defined in
[I-D.previdi-isis-segment-routing-extensions].
In each case, multiple TLVs for a given type are allowed to be added.
The semantics of multiple such values are determined by
[I-D.previdi-isis-segment-routing-extensions].
2.1. Node Attribute TLVs
The following 'Node Attribute' TLVs are defined:
+---------------+-------------------+----------+--------------------+
| TLV Code | Description | Length | IS-IS SR TLV/sub- |
| Point | | | TLV |
+---------------+-------------------+----------+--------------------+
| 1033 | SID/Label Binding | variable | 149 (section 2.4) |
| 1034 | SR Capabilities | variable | 2 (section 3.1) |
| 1035 | SR Algorithm | variable | 15 (section 3.2) |
+---------------+-------------------+----------+--------------------+
Table 1: Node Attribute TLVs
The sections refer to [I-D.previdi-isis-segment-routing-extensions].
These TLVs can ONLY be added to the Node Attribute associated with
the Node NLRI that originates the corresponding SR TLV.
2.2. Link Attribute TLVs
The following 'Link Attribute' TLVs are are defined:
+-----------+----------------------------+----------+---------------+
| TLV Code | Description | Length | IS-IS SR TLV |
| Point | | | /sub-TLV |
+-----------+----------------------------+----------+---------------+
| 1099 | Adjacency Segment | variable | 31 (section |
| | Identifier (Adj-SID) TLV | | 2.3.1) |
| 1100 | LAN Adjacency Segment | variable | 32 (section |
| | Identifier (Adj-SID) TLV | | 2.3.2) |
+-----------+----------------------------+----------+---------------+
Table 2: Link Attribute TLVs
The sections refer to [I-D.previdi-isis-segment-routing-extensions].
These TLVs can ONLY be added to the Link Attribute associated with
the link whose local node originates the corresponding SR TLV.
Gredler, et al. Expires August 18, 2014 [Page 6]
Internet-Draft BGP LS extensions for Segment Routing February 2014
For a LAN, normally a node only announces its adjacency to the
pseudo-node. [I-D.previdi-isis-segment-routing-extensions] allows a
node to announce adjacency to all other nodes attached to the LAN.
In such a case, the corresponding BGP-LS link NLRI must be originated
for each additional link in order to add the SR TLVs to the Link
Attribute.
2.3. Prefix Attribute TLVs
The following 'Prefix Attribute' TLVs are defined:
+----------------+-------------+----------+----------------------+
| TLV Code Point | Description | Length | IS-IS SR TLV/sub-TLV |
+----------------+-------------+----------+----------------------+
| 1158 | Prefix SID | variable | 3 (section 2.2) |
+----------------+-------------+----------+----------------------+
Table 3: Prefix Attribute TLVs
The sections refer to [I-D.previdi-isis-segment-routing-extensions].
These TLVs can ONLY be added to the Prefix Attribute whose local node
in the corresponding prefix NLRI is the node that originates the
corresponding SR TLV.
3. IANA Considerations
This document requests assigning code-points from the registry for
BGP-LS attribute TLVs based on table Table 4.
4. Manageability Considerations
This section is structured as recommended in [RFC5706].
4.1. Operational Considerations
4.1.1. Operations
Existing BGP and BGP-LS operational procedures apply. No new
operation procedures are defined in this document.
5. TLV/Sub-TLV Code Points Summary
This section contains the global table of all TLVs/Sub-TLVs defined
in this document.
Gredler, et al. Expires August 18, 2014 [Page 7]
Internet-Draft BGP LS extensions for Segment Routing February 2014
+-----------+----------------------------+----------+---------------+
| TLV Code | Description | Length | IS-IS SR TLV |
| Point | | | /sub-TLV |
+-----------+----------------------------+----------+---------------+
| 1033 | SID/Label Binding | variable | 149 (section |
| | | | 2.4) |
| 1034 | SR Capabilities | variable | 2 (section |
| | | | 3.1) |
| 1035 | SR Algorithm | variable | 15 (section |
| | | | 3.2) |
| 1099 | Adjacency Segment | variable | 31 (section |
| | Identifier (Adj-SID) TLV | | 2.3.1) |
| 1100 | LAN Adjacency Segment | variable | 32 (section |
| | Identifier (Adj-SID) TLV | | 2.3.2) |
| 1158 | Prefix SID | variable | 3 (section |
| | | | 2.2) |
+-----------+----------------------------+----------+---------------+
Table 4: Summary Table of TLV/Sub-TLV Codepoints
6. Security Considerations
Procedures and protocol extensions defined in this document do not
affect the BGP security model. See the 'Security Considerations'
section of [RFC4271] for a discussion of BGP security. Also refer to
[RFC4272] and [I-D.ietf-karp-routing-tcp-analysis] for analysis of
security issues for BGP.
7. Acknowledgements
TBD.
8. References
8.1. Normative References
[I-D.ietf-idr-ls-distribution]
Gredler, H., Medved, J., Previdi, S., Farrel, A., and S.
Ray, "North-Bound Distribution of Link-State and TE
Information using BGP", draft-ietf-idr-ls-distribution-04
(work in progress), November 2013.
[I-D.previdi-isis-segment-routing-extensions]
Previdi, S., Filsfils, C., Bashandy, A., Gredler, H., and
S. Litkowski, "IS-IS Extensions for Segment Routing",
draft-previdi-isis-segment-routing-extensions-04 (work in
progress), October 2013.
Gredler, et al. Expires August 18, 2014 [Page 8]
Internet-Draft BGP LS extensions for Segment Routing February 2014
[I-D.psenak-ospf-segment-routing-extensions]
Psenak, P., Previdi, S., Filsfils, C., Gredler, H.,
Shakir, R., and W. Henderickx, "OSPF Extensions for
Segment Routing", draft-psenak-ospf-segment-routing-
extensions-03 (work in progress), October 2013.
[I-D.psenak-ospf-segment-routing-ospfv3-extension]
Psenak, P., Previdi, S., Filsfils, C., Gredler, H.,
Shakir, R., and W. Henderickx, "OSPFv3 Extensions for
Segment Routing", draft-psenak-ospf-segment-routing-
ospfv3-extension-00 (work in progress), October 2013.
[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.
[RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis", RFC
4272, January 2006.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
8.2. Informative References
[I-D.filsfils-rtgwg-segment-routing-use-cases]
Filsfils, C., Francois, P., Previdi, S., Decraene, B.,
Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R.,
Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe,
"Segment Routing Use Cases", draft-filsfils-rtgwg-segment-
routing-use-cases-01 (work in progress), July 2013.
[I-D.filsfils-rtgwg-segment-routing]
Filsfils, C., Previdi, S., Bashandy, A., Decraene, B.,
Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R.,
Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe,
"Segment Routing Architecture", draft-filsfils-rtgwg-
segment-routing-01 (work in progress), October 2013.
[I-D.ietf-karp-routing-tcp-analysis]
Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
BGP, LDP, PCEP and MSDP Issues According to KARP Design
Guide", draft-ietf-karp-routing-tcp-analysis-07 (work in
progress), April 2013.
Gredler, et al. Expires August 18, 2014 [Page 9]
Internet-Draft BGP LS extensions for Segment Routing February 2014
[RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
Element (PCE)-Based Architecture", RFC 4655, August 2006.
[RFC5152] Vasseur, JP., Ayyangar, A., and R. Zhang, "A Per-Domain
Path Computation Method for Establishing Inter-Domain
Traffic Engineering (TE) Label Switched Paths (LSPs)", RFC
5152, February 2008.
[RFC5706] Harrington, D., "Guidelines for Considering Operations and
Management of New Protocols and Protocol Extensions", RFC
5706, November 2009.
Authors' Addresses
Hannes Gredler (editor)
Juniper Networks, Inc.
1194 N. Mathilda Ave.
Sunnyvale, CA 94089
US
Email: hannes@juniper.net
Saikat Ray (editor)
Cisco Systems, Inc.
170, West Tasman Drive
San Jose, CA 95134
US
Email: sairay@cisco.com
Stefano Previdi
Cisco Systems, Inc.
Via Del Serafico, 200
Rome 00142
Italy
Email: sprividi@cisco.com
Clarence Filsfils
Cisco Systems, Inc.
Brussels
Belgium
Email: cfilsfil@cisco.com
Gredler, et al. Expires August 18, 2014 [Page 10]
Internet-Draft BGP LS extensions for Segment Routing February 2014
Mach(Guoyi) Chen
Huawei Technologies
Huawei Building, No. 156 Beiqing Rd.
Beijing 100095
China
Email: mach.chen@huawei.com
Jeff Tantsura
Ericsson
300 Holger Way
San Jose, CA 95134
US
Email: jeff.tantsura@ericsson.com
Gredler, et al. Expires August 18, 2014 [Page 11]