< draft-ietf-spring-segment-routing-05.txt   draft-ietf-spring-segment-routing-06.txt >
Network Working Group C. Filsfils, Ed. Network Working Group C. Filsfils, Ed.
Internet-Draft S. Previdi, Ed. Internet-Draft S. Previdi, Ed.
Intended status: Standards Track Cisco Systems, Inc. Intended status: Standards Track Cisco Systems, Inc.
Expires: March 23, 2016 B. Decraene Expires: April 16, 2016 B. Decraene
S. Litkowski S. Litkowski
Orange Orange
R. Shakir R. Shakir
Individual Individual
September 20, 2015 October 14, 2015
Segment Routing Architecture Segment Routing Architecture
draft-ietf-spring-segment-routing-05 draft-ietf-spring-segment-routing-06
Abstract Abstract
Segment Routing (SR) leverages the source routing paradigm. A node Segment Routing (SR) leverages the source routing paradigm. A node
steers a packet through an ordered list of instructions, called steers a packet through an ordered list of instructions, called
segments. A segment can represent any instruction, topological or segments. A segment can represent any instruction, topological or
service-based. A segment can have a local semantic to an SR node or service-based. A segment can have a local semantic to an SR node or
global within an SR domain. SR allows to enforce a flow through any global within an SR domain. SR allows to enforce a flow through any
topological path and service chain while maintaining per-flow state topological path and service chain while maintaining per-flow state
only at the ingress node to the SR domain. only at the ingress node to the SR domain.
skipping to change at page 2, line 15 skipping to change at page 2, line 15
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 23, 2016. This Internet-Draft will expire on April 16, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 24 skipping to change at page 3, line 24
1. Introduction 1. Introduction
With Segment Routing (SR), a node steers a packet through an ordered With Segment Routing (SR), a node steers a packet through an ordered
list of instructions, called segments. A segment can represent any list of instructions, called segments. A segment can represent any
instruction, topological or service-based. A segment can have a instruction, topological or service-based. A segment can have a
local semantic to an SR node or global within an SR domain. SR local semantic to an SR node or global within an SR domain. SR
allows to enforce a flow through any path and service chain while allows to enforce a flow through any path and service chain while
maintaining per-flow state only at the ingress node of the SR domain. maintaining per-flow state only at the ingress node of the SR domain.
Segment Routing can be directly applied to the MPLS architecture (RFC Segment Routing can be directly applied to the MPLS architecture
3031) with no change on the forwarding plane. A segment is encoded ([RFC3031]) with no change on the forwarding plane. A segment is
as an MPLS label. An ordered list of segments is encoded as a stack encoded as an MPLS label. An ordered list of segments is encoded as
of labels. The active segment is on the top of the stack. A a stack of labels. The active segment is on the top of the stack. A
completed segment is popped off the stack. The addition of a segment completed segment is popped off the stack. The addition of a segment
is performed with a push. is performed with a push.
In the Segment Routing MPLS instantiation, a segment could be of In the Segment Routing MPLS instantiation, a segment could be of
several types: several types:
o an IGP segment, o an IGP segment,
o a BGP Peering segments, o a BGP Peering segments,
o an LDP LSP segment, o an LDP LSP segment,
o an RSVP-TE LSP segment, o an RSVP-TE LSP segment,
o a BGP LSP segment. o a BGP LSP segment.
The first two (IGP and BGP Peering segments) types of segments are The first two (IGP and BGP Peering segments) types of segments are
defined in this document. The use of the last three types of defined in this document. The use of the last three types of
segments is illustrated in [I-D.ietf-spring-segment-routing-mpls]. segments is illustrated in [I-D.ietf-spring-segment-routing-mpls].
Segment Routing can be applied to the IPv6 architecture (RFC2460), Segment Routing can be applied to the IPv6 architecture ([RFC2460]),
with a new type of routing header. A segment is encoded as an IPv6 with a new type of routing header. A segment is encoded as an IPv6
address. An ordered list of segments is encoded as an ordered list address. An ordered list of segments is encoded as an ordered list
of IPv6 addresses in the routing header. The active segment is of IPv6 addresses in the routing header. The active segment is
indicated by the Destination Address of the packet. Upon completion indicated by the Destination Address of the packet. Upon completion
of a segment, a pointer in the new routing header is incremented and of a segment, a pointer in the new routing header is incremented and
indicates the next segment. indicates the next segment.
Numerous use-cases illustrate the benefits of source routing either Numerous use-cases illustrate the benefits of source routing either
for FRR, OAM or Traffic Engineering reasons. for FRR, OAM or Traffic Engineering reasons.
skipping to change at page 11, line 10 skipping to change at page 11, line 10
This is useful to express macro-engineering policies or protection This is useful to express macro-engineering policies or protection
mechanisms. mechanisms.
An IGP-Anycast Segment MUST NOT reference a particular node. An IGP-Anycast Segment MUST NOT reference a particular node.
Within an anycast group, all routers MUST advertise the same prefix Within an anycast group, all routers MUST advertise the same prefix
with the same SID value. with the same SID value.
+--------------+ +--------------+
| Group A | | Group A |
| 192.0.1.1/32 | |192.0.2.10/32 |
| SID:100 | | SID:100 |
| | | |
+-----------A1---A3----------+ +-----------A1---A3----------+
| | | \ / | | | | | | \ / | | |
SID:10 | | | / | | | SID:30 SID:10 | | | / | | | SID:30
1.1.1.1/32 | | | / \ | | | 1.1.1.3/32 203.0.113.1/32 | | | / \ | | | 203.0.113.3/32
PE1------R1----------A2---A4---------R3------PE3 PE1------R1----------A2---A4---------R3------PE3
\ /| | | |\ / \ /| | | |\ /
\ / | +--------------+ | \ / \ / | +--------------+ | \ /
\ / | | \ / \ / | | \ /
/ | | / / | | /
/ \ | | / \ / \ | | / \
/ \ | +--------------+ | / \ / \ | +--------------+ | / \
/ \| | | |/ \ / \| | | |/ \
PE2------R2----------B1---B3----+----R4------PE4 PE2------R2----------B1---B3----+----R4------PE4
1.1.1.2/32 | | | \ / | | | 1.1.1.4/32 203.0.113.2/32 | | | \ / | | | 203.0.113.4/32
SID:20 | | | / | | | SID:40 SID:20 | | | / | | | SID:40
| | | / \ | | | | | | / \ | | |
+-----+-----B2---B4----+-----+ +-----+-----B2---B4----+-----+
| | | |
| Group B | | Group B |
| 192.0.2.1/32 | | 192.0.2.1/32 |
| SID:200 | | SID:200 |
+--------------+ +--------------+
Transit device groups Transit device groups
The figure above describes a network example with two groups of The figure above describes a network example with two groups of
transit devices. Group A consists of devices {A1, A2, A3 and A4}. transit devices. Group A consists of devices {A1, A2, A3 and A4}.
They are all provisioned with the anycast address 192.0.1.1/32 and They are all provisioned with the anycast address 192.0.2.10/32 and
the anycast SID 100. the anycast SID 100.
Similarly, group B consists of devices {B1, B2, B3 and B4} and are Similarly, group B consists of devices {B1, B2, B3 and B4} and are
all provisioned with the anycast address 192.0.1.2/32, anycast SID all provisioned with the anycast address 192.0.2.1/32, anycast SID
200. In the above network topology, each PE device is connected to 200. In the above network topology, each PE device is connected to
two routers in each of the groups A and B. two routers in each of the groups A and B.
PE1 can choose a particular transit device group when sending traffic PE1 can choose a particular transit device group when sending traffic
to PE3 or PE4. This will be done by pushing the anycast SID of the to PE3 or PE4. This will be done by pushing the anycast SID of the
group in the stack. group in the stack.
Processing the anycast, and subsequent segments, requires special Processing the anycast, and subsequent segments, requires special
care. care.
Obviously, the value of the SID following the anycast SID MUST be Obviously, the value of the SID following the anycast SID MUST be
understood by all nodes advertising the same anycast segment. understood by all nodes advertising the same anycast segment.
+-------------------------+ +-------------------------+
| Group A | | Group A |
| 192.0.1.1/32 | | 192.0.2.10/32 |
| SID:100 | | SID:100 |
|-------------------------| |-------------------------|
| | | |
| SRGB: SRGB: | | SRGB: SRGB: |
SID:10 |(1000-2000) (3000-4000)| SID:30 SID:10 |(1000-2000) (3000-4000)| SID:30
PE1---+ +-------A1-------------A3-------+ +---PE3 PE1---+ +-------A1-------------A3-------+ +---PE3
\ / | | \ / | | \ / \ / | | \ / | | \ /
\ / | | +-----+ / | | \ / \ / | | +-----+ / | | \ /
SRGB: \ / | | \ / | | \ / SRGB: SRGB: \ / | | \ / | | \ / SRGB:
(7000-8000) R1 | | \ | | R3 (6000-7000) (7000-8000) R1 | | \ | | R3 (6000-7000)
skipping to change at page 20, line 27 skipping to change at page 20, line 27
11. References 11. References
11.1. Normative References 11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
December 1998, <http://www.rfc-editor.org/info/rfc2460>.
[RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
Label Switching Architecture", RFC 3031,
DOI 10.17487/RFC3031, January 2001,
<http://www.rfc-editor.org/info/rfc3031>.
[RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP) [RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP)
Hierarchy with Generalized Multi-Protocol Label Switching Hierarchy with Generalized Multi-Protocol Label Switching
(GMPLS) Traffic Engineering (TE)", RFC 4206, (GMPLS) Traffic Engineering (TE)", RFC 4206,
DOI 10.17487/RFC4206, October 2005, DOI 10.17487/RFC4206, October 2005,
<http://www.rfc-editor.org/info/rfc4206>. <http://www.rfc-editor.org/info/rfc4206>.
11.2. Informative References 11.2. Informative References
[I-D.filsfils-spring-large-scale-interconnect] [I-D.filsfils-spring-large-scale-interconnect]
Filsfils, C., Cai, D., Previdi, S., Henderickx, W., Filsfils, C., Cai, D., Previdi, S., Henderickx, W.,
skipping to change at page 22, line 48 skipping to change at page 23, line 6
draft-ietf-spring-segment-routing-mpls-01 (work in draft-ietf-spring-segment-routing-mpls-01 (work in
progress), May 2015. progress), May 2015.
[I-D.ietf-spring-sr-oam-requirement] [I-D.ietf-spring-sr-oam-requirement]
Kumar, N., Pignataro, C., Akiya, N., Geib, R., Mirsky, G., Kumar, N., Pignataro, C., Akiya, N., Geib, R., Mirsky, G.,
and S. Litkowski, "OAM Requirements for Segment Routing and S. Litkowski, "OAM Requirements for Segment Routing
Network", draft-ietf-spring-sr-oam-requirement-00 (work in Network", draft-ietf-spring-sr-oam-requirement-00 (work in
progress), June 2015. progress), June 2015.
[I-D.previdi-6man-segment-routing-header] [I-D.previdi-6man-segment-routing-header]
Previdi, S., Filsfils, C., Field, B., Leung, I., Vyncke, Previdi, S., Filsfils, C., Field, B., Leung, I., Linkova,
E., and D. Lebrun, "IPv6 Segment Routing Header (SRH)", J., Kosugi, T., Vyncke, E., and D. Lebrun, "IPv6 Segment
draft-previdi-6man-segment-routing-header-07 (work in Routing Header (SRH)", draft-previdi-6man-segment-routing-
progress), July 2015. header-08 (work in progress), October 2015.
[RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P. [RFC4915] Psenak, P., Mirtorabi, S., Roy, A., Nguyen, L., and P.
Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF", Pillay-Esnault, "Multi-Topology (MT) Routing in OSPF",
RFC 4915, DOI 10.17487/RFC4915, June 2007, RFC 4915, DOI 10.17487/RFC4915, June 2007,
<http://www.rfc-editor.org/info/rfc4915>. <http://www.rfc-editor.org/info/rfc4915>.
[RFC5095] Abley, J., Savola, P., and G. Neville-Neil, "Deprecation [RFC5095] Abley, J., Savola, P., and G. Neville-Neil, "Deprecation
of Type 0 Routing Headers in IPv6", RFC 5095, of Type 0 Routing Headers in IPv6", RFC 5095,
DOI 10.17487/RFC5095, December 2007, DOI 10.17487/RFC5095, December 2007,
<http://www.rfc-editor.org/info/rfc5095>. <http://www.rfc-editor.org/info/rfc5095>.
 End of changes. 14 change blocks. 
19 lines changed or deleted 28 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/