Internet DRAFT - draft-xu-spring-segment-twod-ip-routing
draft-xu-spring-segment-twod-ip-routing
SPRING Working Group M. Xu
Internet-Draft B. Wang
Intended status: Informational Tsinghua University
Expires: 27 August 2022 T. Wang
Beijing University of Posts and Telecommunications
S. Yang
Shenzhen University
J. Wu
Tsinghua University
February 2022
Segment Routing in Two Dimensional IP Routing
draft-xu-spring-segment-twod-ip-routing-01
Abstract
Segment Routing (SR) allows a headend node to steer traffic into a
Segment Routing Policy (SR Policy), which represents the routing path
by matching the destination address and the corresponding Binding
Segment Identifier (BSID). However, determining the target SR Policy
only based on destination aspect is incapable for demands for higher
dimensional routing. Two Dimensional IP (TwoD-IP) routing is an
Internet routing architecture that makes forwarding decisions based
on source and destination addresses. TwoD-IP routing can easily
express a routing policy between host to host, or network to network,
and have much lower storage and calculation consumption compared to
the higher dimensional routing.
In this document, we extend SR to support TwoD-IP routing, illustrate
some typical scenarios of SR with TwoD-IP routing to express the
advantage of extending SR to support TwoD-IP routing, and describe
the mechanism of how TwoD IP routing protocol cooperates with SR.
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.
Xu, et al. Expires 27 August 2022 [Page 1]
Internet-Draft SR in TwoD-IP Routing February 2022
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 https://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 5 August 2022.
Copyright Notice
Copyright (c) 2022 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 (https://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 Revised BSD License text as
described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Benefit of extend Segment routing to support TwoD-IP
routing . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Multi-homing . . . . . . . . . . . . . . . . . . . . . . 4
3.2. Source Related Policy Routing . . . . . . . . . . . . . . 5
4. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5. Data Plane . . . . . . . . . . . . . . . . . . . . . . . . . 7
5.1. Forwarding Table Design . . . . . . . . . . . . . . . . . 7
5.1.1. Design Goals . . . . . . . . . . . . . . . . . . . . 7
5.1.2. Forwarding Table Structure . . . . . . . . . . . . . 7
5.1.3. Lookup Action . . . . . . . . . . . . . . . . . . . . 9
5.1.4. Forwarding table Update Action . . . . . . . . . . . 10
6. Control Plane . . . . . . . . . . . . . . . . . . . . . . . . 10
6.1. Advertisement of TwoD-IP configuration . . . . . . . . . 11
6.1.1. TwoD-IP configuration architecture . . . . . . . . . 11
6.1.2. Demands Object Sub-TLV . . . . . . . . . . . . . . . 12
6.1.3. destination/source address Sub-TLV . . . . . . . . . 14
6.2. TwoD-IP forwarding path computation . . . . . . . . . . . 16
6.2.1. Setting up the SR Policy Dynamic candidate path . . . 16
Xu, et al. Expires 27 August 2022 [Page 2]
Internet-Draft SR in TwoD-IP Routing February 2022
6.2.2. TwoD-IP forwarding table entries modification . . . . 16
7. Security Considerations . . . . . . . . . . . . . . . . . . . 17
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
9.1. Normative References . . . . . . . . . . . . . . . . . . 17
9.2. Informative References . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18
1. Introduction
Segment routing (SR) [RFC8402] allows a headend node to steer a
packet flow into an Segment Routing Policy (SR Policy), which
represents the routing path. So that the administrator can specific
forwarding path on headend node
[I-D.ietf-spring-segment-routing-policy].
The headend node can steers packets into an SR Policy either by
matching the destination address or routing policy. However, due to
the increasing demands of higher dimensional routing like Multi-
homing or Source Related Policy Routing, only directs packets based
on destination aspect is limited under those scenarios. Moreover,
directing packets into SR Policy by routing policy, which can match
other fields in packets like port and source address, needs many
access in memory. Considering the high-speed ternary content-
addressable memory (TCAM) based solution for routers is limited by
its low capacity, simply adding one more dimension on routing policy
can easily become undeployable on TCAM-based solution.
To achieve higher Dimensional routing objectives, we introduce Two
Dimensional-IP (TwoD-IP) routing protocol.
[I-D.xu-rtgwg-twod-IP-routing] The TwoD-IP routing architecture can
easily express a routing policy between host to host, or network to
network, and have much lower storage and calculation consumption
compared to higher dimensional routing.
In this document, we extend Segment Routing to support Two
Dimensional IP(TwoD-IP) routing to enriches the routing abilities,
describe how they cooperate to achieve higher dimensional routing
like Multi-homing.
To extend Segment Routing to support Two Dimensional IP(TwoD-IP)
routing, modification of the data plane and control plane is
necessary. In data plane, the TwoD-IP routing protocol needs a TwoD-
IP forwarding table to stores the source and destination address
information. In control plane, the TwoD-IP routing protocol
leverages OSPFv3 Router Information(RI) LSA to broadcast
configuration and the SR Policy Dynamic Path Computation to compute
optimal forwarding path under setting configuration. With these
Xu, et al. Expires 27 August 2022 [Page 3]
Internet-Draft SR in TwoD-IP Routing February 2022
modifications, the headend node will be able to make forwarding
decisions base on both source and destination aspects without
damaging existing SR architecture.
2. Terminology
Terminology used in this document:
* SR: Segment Routing.
* TwoD-IP routing protocol: Two Dimensional IP routing protocol,
which makes routing decisions based on both destination and source
IP addresses.
* SID: Segment Identifier.
* SRv6: Segment Routing over IPv6 data plane.
* SR Policy: a framework that enables instantiation of an ordered
list of segments on a node for implementing a source routing
policy with a specific intent for traffic steering from that node.
3. Benefit of extend Segment routing to support TwoD-IP routing
This section lists two scenarios which can benefit from TwoD-IP
routing protocol with Segment Routing technology. Illustrating that
TwoD-IP routing protocol can seamless deployment with SR and combine
their advantage to achieve users demands of higher dimensional
routing.
3.1. Multi-homing
Even though Segment Routing is able to steer flows to the destination
in different way, it is still limited to process the source-related
routing scenario like Multi-homing.
Multi-homing[RFC4177] is prevalent among ISPs for better traffic
distribution and reliability. In this case, a network could be
connected to multiple upstream ISPs, Hosts are assigned multiple
addresses, one for each ISP. The network is responsible for
delivering packets from Hosts to the export exit router that is
connected to the corresponding upstream ISP.
Xu, et al. Expires 27 August 2022 [Page 4]
Internet-Draft SR in TwoD-IP Routing February 2022
For example, in Figure 1, a multi-homed site is connected to two
ISPs: ISP1 and ISP2. ISP1 has a prefix P1, and ISP2 has a prefix P2.
A host connect to the multi-homed site has two addresses, address A
that assigned from ISP1, and address B that assigned from ISP2. the
multi-homed site should deliver the traffic from A towards the
Internet to ISP1, and deliver the traffic from B towards the Internet
to ISP2.
+--------------------+
| |
| Internet |
| |
+--+---------------+-+
| |
| l3 | l4
| |
+------+----+ +--+--------+
| ISP1 | | ISP2 |
| Prefix P1 | | Prefix P2 |
+--------+--+ +-+---------+
| |
| l1 | l2
+--+------------+--+
| |
| Multi-homed Site | +---------+
| +--------+ Host |
+------------------+ +---------+
ISP1 assign address: A
ISP2 assign address: B
Figure 1: Multi-homing scenario
Although SR can assign different forwarding paths to different ISP
for an incoming packet, it still lacks the ability to classify the
packets toward the same destination address with different source
addresses A and B. With the help of TwoD-IP and Segment Routing, the
administrator can easily implement Multi-homing by modifying the
headend node that receives packets from Host, which means that
administrator does not need to concern about the intermediate node.
After extending SR to support TwoD-IP routing, the headend node can
routing packet based on both source and destination address, guides
packets from Host through the optimal path to the corresponding ISP.
3.2. Source Related Policy Routing
In this scenario, an ingress edge node wants to forward packets with
the same destination address through different kind of paths in order
to achieve source related demand.
Xu, et al. Expires 27 August 2022 [Page 5]
Internet-Draft SR in TwoD-IP Routing February 2022
For example, in Figure 2, assume a network has four routers: a, b, c
and d, c has a service(such as authentication or encIPherer). The
operator wants a packet from a to d to be delivered to service c
first and then node c will forward the processed packet to it's
destination d.
+---------+
+------+ c +-----+
| +(service)+ |
| +---------+ |
| |
+------+ +--+---+ +---+--+
| a +----------+ b +--------------+ d |
+------+ +------+ +------+
Figure 2: TwoD-IP routing for Service
In Segment Routing Architecture, we can allocate a Service segment
associated with node c's
service.[I-D.ietf-spring-sr-service-programming] and can be
integrated as part of an SR Policy P1(Headend node: b, color,
Endpoint: d) of Segment-List < c > . But SR Policy steers packets to
a specific SR Policy only when this packet's destination matching
corresponding entry, which means headend node can't only steers
packets from a to SR Policy P1.
But with TwoD-IP routing, headend node b can easily steer packets
matching destination of b and source of a to SR Policy P1, then the
packet will be delivered to service c first and then node c will
forward the processed packet to it's destination d.
4. Framework
The mechanism of how we combine TwoD IP routing and Segment Routing
can be separated into the data plane and the control plane.
The data plane is mainly concerned about the forward table. It is
the foundation of two-dimensional packets forwarding. It needs to be
able to store the two-dimensional information of destination and
source address without expanding TCAM resource, and the lookup
process needs to be quick to support massive packets routing. Then
we describe the lookup process and forwarding table updating based on
it.
Under SR Two-D IP routing, The control plane is concerned with
network status and user demands related to <destination address,
source address> pair. It needs to transform the user demand to the
Policy routing and integrate the Policy routing to the forwarding
Xu, et al. Expires 27 August 2022 [Page 6]
Internet-Draft SR in TwoD-IP Routing February 2022
table so that the headend node can steers packets to a Policy routing
representing user demand by checking the packet's <destination
address, source address> pair.
5. Data Plane
The administrator only need to deploy the TwoD-IP forwarding table in
the headend node, which makes implementing TwoD-IP routing is much
easier. TwoD-IP routing leverages the Segment Routing to deploy the
TwoD-IP forwarding table in the headend, which makes implementing
TwoD-IP routing is much easier. To achieve the ability of steering
packets' forwarding path to follow our decision, we are not willing
to damage the existing segment routing architecture.
The fast, massive packets routing required fast forwarding entries
searching speed, which required the TCAM to store the forwarding
entries. However, the TCAM resource is limited under TwoD-IP routing
for the dimensional explosion problem in which two-d forward entries
grow exponentially. To routing massive packets as fast as possible,
a brand new forwarding table structure needs to be design
5.1. Forwarding Table Design
5.1.1. Design Goals
Unlike the existing SR Policy architecture that steers packets into
matching Binding SID based on destination field in the packet, the
TwoD-IP routing should steer packets into a BSID according to both
the destination and source IP address. The new forwarding table
design should satisfy the following requirements:
* Compatibility. The forwarding table SHALL NOT be incompatible
with the existing Segment Routing deployment to assign the
forwarding path according to the two-dimensional IP address in the
headend node.
* Speed requirement. The TCAM must be used for fast searching and
should parallel the IP searching for both destination and source
address
* Storage requirement. TCAM resources will be limited for the
higher dimensional routing to avoid dimensional explosion problem,
the destination and source address needs to be stored seperatelly
5.1.2. Forwarding Table Structure
Xu, et al. Expires 27 August 2022 [Page 7]
Internet-Draft SR in TwoD-IP Routing February 2022
Source +------------+------+------+------+------+
Table |default | 111* | 101* | 100* | 11** |
+------------+------+------+------+------+
| 0 | 1 | 2 | 3 | 4 |
+------------+------+------+------+------+
Destination default Mapping Table
Table | FIB Index | index |
+-------+---+ --+-----------+------+------+------+------+---
| 111* | 0 | | 0 | 0 | | 1 | |
+-------+---+ --+-----------+------+------+------+------+---
| 100* | 1 | | 1 | 2 | | | |
+-------+---+ --+-----------+------+------+------+------+---
| 101* | 2 | | 2 | | | | 2 |
+-------+---+ --+-----------+------+------+------+------+---
| 11** | 3 | | 3 | | | | |
+-------+---+ --+-----------+------+------+------+------+---
| 10** | 4 | | 4 | | | | 3 |
+-------+---+ --+-----------+------+------+------+------+---
| | | | | |
TD-table
+------+---------+ +------+---------+
|Index |Next hop | |prefix|Next hop |
+------+---------+ +------+---------+
| 0 |BSID1 | | 0 |1.0.0.0 |
+------+---------+ +------+---------+
Mapping | 1 |BSID1 | Default | 1 |1.0.0.1 |
Table +------+---------+ FIB +------+---------+
| 2 |BSID2 | | 2 |1.0.0.2 |
+------+---------+ +------+---------+
| 3 |BSID3 | | 3 |1.0.0.3 |
+------+---------+ +------+---------+
Figure 2: SR in Two-Dimensional IP Routing Forwarding Table Structure
To achieve all design goals of the forwarding table, we integrate the
TwoD-IP routing forwarding table structure called FIST into Segment
Rouitng's FIB. As shown in Figure 3, the forwarding table structure
consists of the following components:
* Destination table: It resides in TCAM for fast lookup, and stores
the destination prefixes. Each destination prefix in the
destination table corresponds to a row number.
* Source table: It resides in TCAM for fast lookup, and stores the
source prefixes. Each source prefix in the source table
corresponds to a column number.
Xu, et al. Expires 27 August 2022 [Page 8]
Internet-Draft SR in TwoD-IP Routing February 2022
* Two Dimensional Table (TD-table): A two-dimensional array resides
in SRAM. Given a row and column numbers, we can find a cell in
TD-table. Each cell in TD-table stores an index value of default
FIB or Mapping table, which can be mapped to a next-hop.
* Mapping table: It resides in SRAM, and maps index values to next
hops, and the next hop of mapping table will be the Binding SID,
which represents the forwarding path we set.
* Default FIB: It is the same as the existing FIB, which can reside
in TCAM or SRAM. The keys of the entries MUST be in keeping with
the Destination Table.
5.1.3. Lookup Action
Even though there is a Default FIB in forwarding table structure
which is the same as existing FIB, the lookup action is not based on
it, it based on the Destination and Source Table. More specific,
when a packet arrives at the source router, the lookup action is as
follows.
1. Extract the destination address d and source address s from the
packet;
2. Perform the following two operations in parallel:
* Lookup the destination address d in the destination table
using the LMF rule, and output the row number n;
* Lookup the source address s in the source table using the LMF
rule, and output the column number m;
3. Lookup the cell that is in the nth row and mth column of the TD-
table, and output the index value v of default FIB or Mapping
table:
* If there's TwoD-IP rule corresponding to the <destination,
source> pair, the output column number m of the source table
will not be default (i.e. 0), so the index value of v will
corresponds to the Mapping table. So we lookup v in the
mapping table, and output the corresponding next hop;
* If there is not TwoD-IP rule corresponding to the
<destination, source> pair, the output column number m of the
source table will be default (i.e. 0), so the index value of v
will corresponds to the Default FIB. So we lookup v in the
Default FIB, and output the corresponding next hop;
Xu, et al. Expires 27 August 2022 [Page 9]
Internet-Draft SR in TwoD-IP Routing February 2022
The most considerable lookup time is the entries searching for the
address. To speed it up, we store the destination and source address
IP prefix in TCAM, and look up those tables in parallel. After
getting the output index of the entries based on the <destination
address, source address> pair, every subsequent lookup action will
consume one SRAM clock cycle.
The SR TwoD-IP routing should activate the policy routing based on
the packet's <destination address, source address> pair in the
headend node. Moreover, the SR architecture has provided an
identification called Binding segment (BSID) to represent a policy
routing. So the next hop in the Mapping table SHOULD steer the
packet into the BSID of SR Policy, which represents a Segment-List.
5.1.4. Forwarding table Update Action
In Segment Routing in Two Dimensional IP Routing architecture, not
only TwoD-IP routing will modify the forwarding table FIST to satisfy
its routing policy, but the existing Segment Routing Policy will also
deploy its routing Policy. We do not want to damage the existing
Segment Routing architecture, so it is still available for Segment
Routing to modify the FIB to steer packets into specific SID such as
SR Policy On-Demand next hop. However, any modification of FIB in
Segment Routing MUST reside in FIST Default FIB, and if there are any
modifications of keys in FIST Default FIB, the Destination Table must
be in keeping with it for correcting lookup.
The reason any modification of SR Policy MUST resides in FIST Default
FIB is that under segment Routing in Two Dimensional IP Routing
architecture, the TwoD-IP routing policy is priority-first. The
routing Policy located in FIST Default FIB will be matched only when
there is no TwoD-IP policy corresponding to incoming packet's
<destination, source> pair.
6. Control Plane
Under SR Two-D IP routing, The control plane is concerned with
network status and user demands. Furthermore, The Two-D IP routing
can offload the network status like topology or reachability to the
SR framework. However, the Two-D IP routing is still responsible for
transforming the user demand of two-dimensional destination and
source addresses to the forwarding Policy and integrating it to the
forwarding table.
The control plane of SR Two-D IP routing is consists of the following
parts:
Xu, et al. Expires 27 August 2022 [Page 10]
Internet-Draft SR in TwoD-IP Routing February 2022
* TwoD-IP configuration exchange: TwoD-IP routing protocol focus on
transforming users demand for destination and source address pairs
to forwarding action, which means we have one more dimension of
source address information to exchange along with headend node,
along with the forwarding configurations corresponding to the
destination and source address pairs.
* TwoD-IP forwarding path computation: We leverage the SR Policy
Dynamic Path Computation to achieve forwarding path computation,
transferring our demand for <destination, source> pair to
optimization object and constraint source format which can specify
a dynamic candidate path of SR Policy, then the dynamic candidate
path can be computed by either the headend or a Path Computation
Element (PCE).
6.1. Advertisement of TwoD-IP configuration
The headend node needs to transform the TwoD-IP configuration to the
Policy routing and install it into the forwarding table to achieve
the two-dimensional IP routing. We need to be concerned about how to
notification these TwoD-IP configurations to the headend node. There
are two practical ways to achieve this object: install the headend
node manually or advertise these TwoD-IP configurations from other
nodes to the headend node.
When advertising TwoD-IP configurations between nodes, three parts
needs to be carried: destination addresses, source addresses, and the
user demands of the <destination, source> pairs. Because we leverage
the SR Policy to represent the routing policy and SR Policy Dynamic
Path Computation to compute the target forwarding path, the user
demand will be expressed as an optimization objective and
constraints.
6.1.1. TwoD-IP configuration architecture
The configurations of TwoD-IP routing is organized as TwoD-IP
configuration TLV. For example, this brand new TLV can be a TLV of
OSPFv3 Router Information(RI) LSA, which introduce the ability to
broadcast the TwoD-IP configuration information between OSPF nodes by
advertising an OSPFv3 RI LSA that carries the TwoD-IP configuration
TLV.
Xu, et al. Expires 27 August 2022 [Page 11]
Internet-Draft SR in TwoD-IP Routing February 2022
More specifically, all three kinds of TwoD-IP configuration,
including destination addresses, source addresses, and the user
demands of the <destination, source> pairs are all included within
the TwoD-IP configuration TLV as three kinds of Sub-TLVs. The TwoD-
IP configuration TLV is the same as the format used by[RFC3630]. The
variable TLV section consists of one or more nested TLV tuples. The
format of each TLV is:
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3. TwoD-IP configuration TLV Format
Where:
Type is TBD
Length: 16 bit field. The total length of the value portion(Sub-
TLVs) of the TLV
Sub-TLVs: Each TwoD-IP configuration TLV has three kinds of Sub-
TLVs: Demands Sub-TLV, destination address Sub-TLV and source
address Sub-TLV. These Sub-TLVs represent the two-dimensional
information of destination and source addresses and corresponding
user demands of <destination address, source address> pairs.
6.1.2. Demands Object Sub-TLV
To leverage the ability of SR Policy Dynamic Path Computation, the
user demand MUST be represented by the formation of Optimization
object and constraints. So each user demand carried by Demands
Object Sub-TLV is consists of Optimization object and constraints
information. And the Optimization and the constraint is refer to the
[I-D.filsfils-spring-sr-policy-considerations].
The format of Demands Object Sub-TLV is:
Xu, et al. Expires 27 August 2022 [Page 12]
Internet-Draft SR in TwoD-IP Routing February 2022
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |O Flags| Optimize T |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |C Flags| Constraint T |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Constraint variables |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Optimization Object Sub-TLV Format
Where:
Type: 16 bit field. The value is 1 for this type.
Length: 16 bit field. The total length of the value portion of
the Sub-TLV.
Reserved (20 bits): This field MUST be set to zero on transmission
and MUST be ignored on receIPt.
O Flags(4 bits): Optimization object Flags, identify the
optimization objective, The following flags are defined:
0 1 2 3
+-+-+-+-+
|M|N| |
+-+-+-+-+
Where:
* M flag: Min-Metric - requests computation of a solution
Segment-List optimized for a selected metric.
* N flag: Min-Metric with margin and maximum number of SIDs - Min
Metric with two changes: a margin of by which two paths with
similar metrics would be considered equal, a constraint on the
max number of SIDs in the Segment-List.
Optimize T (Type - 8 bits): Specifies the metric type. Three
values are currently defined:
* T=1: IGP metric
Xu, et al. Expires 27 August 2022 [Page 13]
Internet-Draft SR in TwoD-IP Routing February 2022
* T=2: TE metric
* T=3: Hop Counts
* T=4: Delay
C Flags(4 bits): Constraints Flags, iIdentify the Constraints of
forwarding path computation, The following flags are defined:
0 1 2 3
+-+-+-+-+
|I|E|D| |
+-+-+-+-+
Where:
* I flag: Inclusion
* E flag: Exclusion
* D flag: Diversity to another service instance (e.g., link,
node)
Constraint T (Type - 8 bits): Specifies the metric type. Two
values are currently defined:
* T=1: TE affinity
* T=2: IPv6 address(can be an SRv6 SID)
variable: 128 bit field. Corresponding to the type defined in
Constraint T.
6.1.3. destination/source address Sub-TLV
A TwoD-IP routing demand corresponding a <destination, source> pair,
so the Optimization object and constraint define a TwoD-IP demand and
naturally need to bind a <destination, source> pair. The pair's
information is carried in destination/source address Sub-TLV, and
it's format is:
Xu, et al. Expires 27 August 2022 [Page 14]
Internet-Draft SR in TwoD-IP Routing February 2022
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PrefixLength |T| Reserved | PrefixNumbers |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Prefix1 |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Prefix2 |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
| |
Figure 6: destination/source address Sub-TLV Format
Where:
Type: 16 bit field. The value is 3 for destination address, 4 for
source address.
Length: 16 bit field. The total length of the value
portion(addresses information) of the TLV.
PrefixLength: 8 bit field. The length of IPv6 address. The IPv6
address information is transferring in Prefix format in order to
reduce packet length and all the addresses needed to transferring
is group by same prefix length.
T (dimensional type): 1 bit. 0 for destination addresses, 1 for
source addresses.
Reserved (7 bits): This field MUST be set to zero on transmission
and MUST be ignored on receIPt.
PrefixNumbers: 16 bit field. The number of address prefix in the
length of PrefixLength.
Address Prefix: The address prefix in the length of PrefixLength
and will be padded with 0 to fit the multiple 32 bit length.
Xu, et al. Expires 27 August 2022 [Page 15]
Internet-Draft SR in TwoD-IP Routing February 2022
6.2. TwoD-IP forwarding path computation
The procedure of transforming the TwoD-IP configuration to a
forwarding path and steering corresponding packets through it
consists of two steps: Calling the SR Policy Dynamic candidate path
and TwoD-IP forwarding table entries modification.
6.2.1. Setting up the SR Policy Dynamic candidate path
In keeping with SR Policy Dynamic Path Computation, the TwoD-IP
configuration contains the Optimization object and constraint
information. when the headend node receives TwoD-IP configuration
information(manually or automatically), it will extract the
Optimization object and constraint information to generate a
corresponding SR Policy .
The candidate path associated of an SR Policy is a dynamic candidate
path that is expressed by optimization objective and a set of
constraints extracted from the TwoD-IP Demands Sub-TLV. Then the
headend node(or with the help of a PCE) computes the solution
Segment-List that solves the optimization problem to match our TwoD-
IP routing demand. After path computation, the SR Policy can
represent the forwarding path that satisfies the TwoD-IP Demand. Any
packets steered to this SR Policy can be forwarded to the destination
following the target path. After offloading the path computation to
SR without private custom, TwoD-IP routing can achieve higher
compatibility and easier deployment.
6.2.2. TwoD-IP forwarding table entries modification
an SR Policy can be represented by the identifier called Binding
segment (BSID) under Segment Routing architecture. So after path
computation under user demands, we can get the SR policy which
represents the target forwarding path and the BSID associated with
it. Then we need to install this BSID into the TwoD-IP forwarding
table so that the TwoD-IP forwarding table can match and steer
packets into target BSID, and forward them through SR Policy dynamic
path.
More specifically, The control plane will install the BSID into the
Mapping Table and get the index of entry that stores it. then for all
the <destination address, source address> pairs associated with this
BSID, the control plane will update the TD-table cells of these pairs
to the Mapping Table index or update entries to the source or
destination table if there is an uninstalled pair.
Xu, et al. Expires 27 August 2022 [Page 16]
Internet-Draft SR in TwoD-IP Routing February 2022
7. Security Considerations
This document does not introduce additional security requirements and
mechanisms.
8. IANA Considerations
This memo asks the IANA for no new parameters.
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
July 2018, <https://www.rfc-editor.org/info/rfc8402>.
9.2. Informative References
[I-D.filsfils-spring-sr-policy-considerations]
Filsfils, C., Talaulikar, K., Krol, P., Horneffer, M., and
P. Mattes, "SR Policy Implementation and Deployment
Considerations", Work in Progress, Internet-Draft, draft-
filsfils-spring-sr-policy-considerations-08, 22 October
2021, <https://www.ietf.org/archive/id/draft-filsfils-
spring-sr-policy-considerations-08.txt>.
[I-D.ietf-spring-segment-routing-policy]
Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and
P. Mattes, "Segment Routing Policy Architecture", Work in
Progress, Internet-Draft, draft-ietf-spring-segment-
routing-policy-18, 17 February 2022,
<https://www.ietf.org/archive/id/draft-ietf-spring-
segment-routing-policy-18.txt>.
Xu, et al. Expires 27 August 2022 [Page 17]
Internet-Draft SR in TwoD-IP Routing February 2022
[I-D.ietf-spring-sr-service-programming]
Clad, F., Xu, X., Filsfils, C., Bernier, D., Li, C.,
Decraene, B., Ma, S., Yadlapalli, C., Henderickx, W., and
S. Salsano, "Service Programming with Segment Routing",
Work in Progress, Internet-Draft, draft-ietf-spring-sr-
service-programming-05, 10 September 2021,
<https://www.ietf.org/archive/id/draft-ietf-spring-sr-
service-programming-05.txt>.
[I-D.xu-rtgwg-twod-IP-routing]
Xu, M., Wu, J., Yang, S., and D. Wang, "Two Dimensional IP
Routing Architecture", Work in Progress, Internet-Draft,
draft-xu-rtgwg-twod-IP-routing-00, 4 March 2012,
<https://www.ietf.org/archive/id/draft-xu-rtgwg-twod-IP-
routing-00.txt>.
[RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering
(TE) Extensions to OSPF Version 2", RFC 3630,
DOI 10.17487/RFC3630, September 2003,
<https://www.rfc-editor.org/info/rfc3630>.
[RFC4177] Huston, G., "Architectural Approaches to Multi-homing for
IPv6", RFC 4177, DOI 10.17487/RFC4177, September 2005,
<https://www.rfc-editor.org/info/rfc4177>.
Authors' Addresses
Mingwei Xu
Tsinghua University
Department of Computer Science, Tsinghua University
Beijing
Phone: +86-10-6278-5822
Email: xmw@csnet1.cs.tsinghua.edu.cn
Bo Wang
Tsinghua University
Beijing
Email: wangbo2019@tsinghua.edu.cn
Tingfeng Wang
Beijing University of Posts and Telecommunications
Beijing
P.R. China
Email: wangtingfeng@bupt.edu.cn
Xu, et al. Expires 27 August 2022 [Page 18]
Internet-Draft SR in TwoD-IP Routing February 2022
Shu Yang
Shenzhen University
Guangdong
P.R. China
Email: yang.shu@szu.edu.cn
Jianping Wu
Tsinghua University
Beijing
P.R. China
Email: jianping@cernet.edu.cn
Xu, et al. Expires 27 August 2022 [Page 19]