Segment Routing in Two Dimensional IP Routing
draft-xu-spring-segment-twod-ip-routing-00
The information below is for an old version of the document.
| Document | Type | Active Internet-Draft (individual) | |
|---|---|---|---|
| Authors | Mingwei Xu , Bo Wang , Tingfeng Wang , Jianping Wu | ||
| Last updated | 2021-09-30 | ||
| Stream | (None) | ||
| Formats | plain text html xml htmlized pdfized bibtex | ||
| Stream | Stream state | (No stream defined) | |
| Consensus boilerplate | Unknown | ||
| RFC Editor Note | (None) | ||
| IESG | IESG state | I-D Exists | |
| Telechat date | (None) | ||
| Responsible AD | (None) | ||
| Send notices to | (None) |
draft-xu-spring-segment-twod-ip-routing-00
SPRING Working Group M. Xu
Internet-Draft B. Wang
Intended status: Informational Tsinghua University
Expires: 2 April 2022 T. Wang
Beijing University of Posts and Telecommunications
J. Wu
Tsinghua University
September 2021
Segment Routing in Two Dimensional IP Routing
draft-xu-spring-segment-twod-ip-routing-00
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.
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/.
Xu, et al. Expires 2 April 2022 [Page 1]
Internet-Draft SR in TwoD-IP Routing September 2021
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 March 2022.
Copyright Notice
Copyright (c) 2021 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 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 . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
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
4.1. Data Plane . . . . . . . . . . . . . . . . . . . . . . . 6
4.2. Control Plane . . . . . . . . . . . . . . . . . . . . . . 7
5. Advertisement of TwoD-IP configuration . . . . . . . . . . . 8
5.1. TwoD-IP configuration TLV . . . . . . . . . . . . . . . . 8
5.2. Optimization Object Sub-TLV . . . . . . . . . . . . . . . 9
5.3. Constraints Sub-TLV . . . . . . . . . . . . . . . . . . . 10
5.4. destination/source address Sub-TLV . . . . . . . . . . . 11
6. TwoD-IP forwarding path computation . . . . . . . . . . . . . 12
6.1. Setting up the SR Policy Dynamic candidate path . . . . . 13
6.2. TwoD-IP forwarding table entry creation . . . . . . . . . 13
7. TwoD-IP forwarding table Design . . . . . . . . . . . . . . . 13
8. Security Considerations . . . . . . . . . . . . . . . . . . . 14
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
10.1. Normative References . . . . . . . . . . . . . . . . . . 15
10.2. Informative References . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
Xu, et al. Expires 2 April 2022 [Page 2]
Internet-Draft SR in TwoD-IP Routing September 2021
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
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:
Xu, et al. Expires 2 April 2022 [Page 3]
Internet-Draft SR in TwoD-IP Routing September 2021
* 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.
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.
Xu, et al. Expires 2 April 2022 [Page 4]
Internet-Draft SR in TwoD-IP Routing September 2021
+--------------------+
| |
| 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.
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.
Xu, et al. Expires 2 April 2022 [Page 5]
Internet-Draft SR in TwoD-IP Routing September 2021
+---------+
+------+ 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 two parts: data plane and control plane.
4.1. Data Plane
TCAM resources are future limited to the higher dimensional routing,
including TwoD-IP routing. [I-D.xu-rtgwg-twod-ip-routing] propose a
novel forwarding table design to increase the TCAM resource
utilizatioin significantly. The data plane of extending SR to
support TwoD-IP routing introduces this Two-D forwarding table design
into the original SR data plane.
Considering Segment Routing leverages the source routing paradigm,
administrator just need to deploy TwoD-IP forwarding table in headend
node, which makes implementing TwoD-IP routing much easier.
Different with traditional destination-based FIB, each entry in the
TwoD-IP forwarding table is a 3-tuple: {destination address, source
address, next hop} [I-D.xu-rtgwg-twod-ip-routing]
Xu, et al. Expires 2 April 2022 [Page 6]
Internet-Draft SR in TwoD-IP Routing September 2021
The next hop in the TwoD-IP forwarding table should steer the packet
into the associated SR Policy, and the SR architecture has provided
an identifier to do that: Binding segment/BSID. The headend of an SR
Policy binds a SID(BSID) to its policy, so the next hop in TwoD-IP
forwarding table should be a BSID, which is associated with the SR
Policy that corresponding to the entry's <destination address, source
address>pairs.
So the TwoD-IP forwarding table tuple is {destination address, source
address, BSID}, when a packet arrive, the headend node can extract
both destination and source addresses from the packet, then lookup
the Two-IP forwarding table, and output a matched entry. Finally,
headend node will forward the packet to the matched entry's next hop,
which is a BSID associated with a SR Policy, to get the dynamic
candidate path that steers it to the destination.
Segment Routing can be instantiated on two data planes: SR over MPLS
(SR-MPLS) and SR over IPv6 (SRv6). Different data plane has
different BSID format, in SR-MPLS, SID are an MPLS label or an index
into an MPLS label space, in SRv6, SID is an IPv6 address. So even
we could deploy TwoD-IP routing on both two data planes, we still
deploy TwoD-IP routing with SR over IPv6(SRv6), so that the next hop
elements in TwoD-IP forwarding table will be SRv6 BSID which is an
IPv6 address.
4.2. Control Plane
Within TwoD-IP routing, the control plane is concerned with user
demands, it focus on providing services that are related with source
addresses. They need to collect demands from users, and compute the
routing table to satisfy these demands. And Segment Routing support
many control plane. So we can extend one of them to achieve
configuration exchange and optimal forwarding path computation
objects..
* TwoD-IP configuration exchange: TwoD-IP routing protocol focus on
transforming users demand for destination and source address pairs
to forwarding action, which mean that we have one more dimension
of source address information to exchange along with headend node,
and 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
Xu, et al. Expires 2 April 2022 [Page 7]
Internet-Draft SR in TwoD-IP Routing September 2021
Element (PCE). So TwoD-IP routing protocol doesn't need to
concern about how the candidate path is computed and what the path
really is.
5. Advertisement of TwoD-IP configuration
TwoD-IP configuration needs to be installed in the headend node so
that the headend node can creates the TwoD-IP forwarding table entry
and the SR Policy with dynamic candidate path corresponding it. The
TwoD-IP configuration can be installed in headend node manually or
automatically by advertising of TwoD-IP configurations between nodes.
A TwoD-IP configuration contains three parts: destination
addresses,source addresses and the user demands of the <destination,
source> pairs, including optimization objective and constraints.
5.1. TwoD-IP configuration TLV
The configurations of TwoD-IP routing is within the TwoD-IP
configuration TLV, the TwoD-IP configuration TLV is a TLV of OSPFv3
Router Information(RI) LSA, TwoD-IP configuration information will be
broadcast by letting An OSPF router advertising an OSPFv3 RI LSA that
include the TwoD-IP configuration TLV.
Because TwoD-IP routing is deployed in SR over IPv6, the OSPF router
will exchange router information with OSPFv3 Router Information(RI)
LSA.
The router may advertise multiple instances of TwoD-IP configuration
TLV within the OSPFv3 Router Information(RI) LSA - one for each of
the TwoD-IP configuration needs to be advertised.
The format of 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:
Xu, et al. Expires 2 April 2022 [Page 8]
Internet-Draft SR in TwoD-IP Routing September 2021
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 four Sub-TLVs:
Optimization Object Sub-TLV, Constraint Sub-TLV, destination and
source address Sub-TLV. There could be multiple Sub-TLV of them
to specify the dynamic candidate path of SR Policy and the
<destination address, source address> pairs associated the SR
Policy.
5.2. Optimization Object Sub-TLV
The Optimization and the constraint is basically refer to
[I-D.filsfils-spring-sr-policy-considerations].
The format of Optimization Object Sub-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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Flags | T |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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 TLV.
Reserved (20 bits): This field MUST be set to zero on transmission
and MUST be ignored on receipt.
Flags(4 bits): Identify the optimization objective, The following
flags are defined:
0 1 2 3
+-+-+-+-+
|M|N| |
+-+-+-+-+
Where:
Xu, et al. Expires 2 April 2022 [Page 9]
Internet-Draft SR in TwoD-IP Routing September 2021
* 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.
T (Type - 8 bits): Specifies the metric type. Three values are
currently defined:
* T=1: IGP metric
* T=2: TE metric
* T=3: Hop Counts
5.3. Constraints Sub-TLV
The constrains we use in TwoD-IP routing is Inclusion and/or
exclusion some node/service identified as a IPv6 address.
The format of Optimization Object Sub-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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Flags | T |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| variable |
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Constraints Sub-TLV Format
Where:
Type: 16 bit field. The value is 2 for this type.
Length: 16 bit field. The total length of the value portion of
the TLV.
Reserved (20 bits): This field MUST be set to zero on transmission
and MUST be ignored on receipt.
Flags(4 bits): Identify the optimization objective, The following
Xu, et al. Expires 2 April 2022 [Page 10]
Internet-Draft SR in TwoD-IP Routing September 2021
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)
T (Type - 8 bits): Specifies the metric type. Two values are
currently defined:
* T=1: TE affinity
* T=2: IPv6 address(can be a SRv6 SID)
variable: 128 bit field. Corresponding the variable defined in T.
5.4. 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 2 April 2022 [Page 11]
Internet-Draft SR in TwoD-IP Routing September 2021
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 | 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.
Reserved (8 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.
6. TwoD-IP forwarding path computation
The procedure of transforming the TwoD-IP configuration to a
candidate path has two steps: setting up the SR Policy Dynamic
candidate path and TwoD-IP forwarding table entry creation.
Xu, et al. Expires 2 April 2022 [Page 12]
Internet-Draft SR in TwoD-IP Routing September 2021
6.1. Setting up the SR Policy Dynamic candidate path
The TwoD-IP configuration contains the Optimization object and
constraint information, when the headend node receive TwoD-IP
configuration information(manually or automatically), it will
extracts the Optimization object and constraint information to
generate a SR Policy which enable Dynamic candidate path.
An SR Policy is identified through the tuple<headend, color,
endpoint>,[I-D.ietf-spring-segment-routing-policy] so the headend
node will extract the first destination address in TwoD-IP
configuration TLV - destination address Sub-TLV as the endpoint,
dynamic assign a color value to distinguish the SR Policy from others
with the same endpoint. And the candidate path associated to the SR
Policy is a dynamic candidate path which expresses an optimization
objective and a set of constraints that extract from the TwoD-IP
configuration TLV - Optimization Object Sub-TLV and Constraint Sub-
TLV. Then the headend node(or with the help of a PCE) computes the
solution Segment-List that solve the optimization problem and also
match our TwoD-IP routing demand.
6.2. TwoD-IP forwarding table entry creation
After Setting up the SR Policy dynamic candidate path, the active
dynamic candidate path will be defined with a BSID which can steers
the packets to the dynamic candidate path, and installs the BSID-
keyed entry in the TwoD-IP forwarding table.
The TwoD-IP forwarding table has two dimensions: destination and
source, so TwoD-IP forwarding table has two index: destination
address and source address, a pair of <destination address, source
address> determines a action(next hop) which is a BSID.
The headend node receives a TwoD-IP configuration TLV, generates a SR
Policy depends on it, and also will creates <destination address,
source address> pairs in TwoD-IP forwarding table as a index, and
installs their action(next hop) with the BSID that define the dynamic
candidate path generated with the same TwoD-IP configuration TLV
informations.
7. TwoD-IP forwarding table Design
Traditional forwarding table only supports making forwarding
decisions based on destination IP addresses even in Segment Routing
architecture. TwoD-IP routing needs a new forwarding table structure
that supports making forwarding decisions based on both destination
and source IP addresses.
Xu, et al. Expires 2 April 2022 [Page 13]
Internet-Draft SR in TwoD-IP Routing September 2021
Considering the compatibility with Segment Routing architecture,
There's no need to modify the FIB structure directly. we imitate the
way SR Policy process interacting with the FIB process to install our
TwoD IP process in data plane. we just need to install in FIB with
destination address that in the active TwoD-IP <destination, source>
pair with next-hop = TwoD IP routing process which maintain a TwoD IP
Forwarding table.
The TwoD-IP forwarding table structure is the same as
[I-D.xu-rtgwg-twod-ip-routing] called FIST which is designed to avoid
forwarding table explosion with a new source dimension.
In conclusion, TwoD IP routing procedure maintains a TwoD-IP
forwarding table separate from the headend node's FIB and installs
FIB entries with destination addresses in the chosen <destination
address, source address> pairs with next-hop = TwoD IP routing
interface.
When a headend node receives a packet with destination matching the
destination address of TwoD IP routing pairs, headend node steers the
packet to TwoD IP routing process to the TwoD-IP forwarding table,
then the headend node will lookup the TwoD-IP forwarding table base
on the packet's both destination and source address extracted from
the packet and output a matched entry. Finally, headend node will
forward the packet to the next hop associated with the matched entry,
which is a BSID, after steering the packet to the BSID, the headend
node will insert the Segment-List of the dynamic candidate path of
the BSID to the packet head so that it can be forwarded through this
path
SR Policy process interacts with the RIB/FIB process to install an
active SR Policy in the data
plane.[I-D.filsfils-spring-sr-policy-considerations] TwoD IP routing
protocol doesn't change the FIB structure so Segment Routing's
advanced features like On-Demand Next Hop will still work. (we
allocate higher authority to TwoD IP routing process to install and
modify FIB entries to avoid conflicting)
8. Security Considerations
This document does not introduce additional security requirements and
mechanisms.
9. IANA Considerations
Some newly designed TwoD-IP routing protocols may need new protocol
numbers assigned by IANA.
Xu, et al. Expires 2 April 2022 [Page 14]
Internet-Draft SR in TwoD-IP Routing September 2021
10. References
10.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>.
10.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-07, 4 April 2021,
<https://www.ietf.org/archive/id/draft-filsfils-spring-sr-
policy-considerations-07.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-13, 28 May 2021,
<https://www.ietf.org/archive/id/draft-ietf-spring-
segment-routing-policy-13.txt>.
[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>.
Xu, et al. Expires 2 April 2022 [Page 15]
Internet-Draft SR in TwoD-IP Routing September 2021
[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@cernet.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
Jianping
Tsinghua University
Beijing
P.R. China
Email: jianping@cernet.edu.cn
Xu, et al. Expires 2 April 2022 [Page 16]