Dynamic Host Configuration (DHC) W. Cheng
Internet Draft R. Han
Intended status: Standards Track China Mobile
Expires: December 12, 2022 C. Lin
New H3C Technologies
June 10, 2022
Distribute SRv6 Locator by DHCP
draft-cheng-dhc-distribute-srv6-locator-by-dhcp-00
Abstract
In SRv6 network, locators need to be assigned to each SRv6 Endpoint,
and segments are created based on locators. This document describes
the method of assigning locators to SRv6 Endpoints through DHCPv6.
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), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on December 12, 2022.
Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved.
Cheng, et al. Expire December, 2022 [Page 1]
Internet-Draft Distribute SRv6 Locator by DHCP June 2022
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
1.1. Requirements Language .................................. 3
2. Scenario for Locator......................................... 3
3. DHCPv6 extension ............................................ 5
3.1. SRv6 Locator Option .................................... 5
4. Process of Assigning Locator ................................ 7
4.1.1. Client Behavior ................................... 7
4.1.2. Server Behavior ................................... 8
4.1.3. Relay Agent Behavior .............................. 9
5. IANA Considerations ......................................... 9
6. Security Considerations ..................................... 9
7. References ................................................. 10
7.1. Normative References .................................. 10
Authors' Addresses ............................................ 11
1. Introduction
Segment Routing (SR) allows a headend node to steer a packet flow
along any path. Per-path states of Intermediate nodes are eliminated
thanks to source routing. The headend node steers a flow into an SR
Policy. The packets steered into an SR Policy carry an ordered list
of segments associated with that SR Policy.
When deploying SRv6, each SRv6 endpoint needs to be assigned a
unique IPv6 prefix, that is, locator. As the identity of the
endpoint, the locator could be distributed to other IPv6 nodes in
the SRv6 domain through IGP, so that other IPv6 nodes could learn
the locator route. SRv6 endpoint allocates segments of various
behaviors based on its locator.
In some specific scenarios, some SRv6 endpoints do not deploy IGP
with other routers. In this case, the locator route cannot be
distributed in the normal way.
Cheng, et al. Expires December, 2022 [Page 2]
Internet-Draft Distribute SRv6 Locator by DHCP June 2022
This document describes a method of assigning locators to SRv6
Endpoints through DHCPv6. The existing processing flow of DHCPv6 can
be used to simplify the allocation of locators and route
distributing.
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. Scenario for Locator
Telecom provider use the dedicated SD-WAN network, cloud private
network, to realize the interconnection between access users in
different regions.
In the cloud private network, deploy the network PE (PE-N) for
access users in different regions and the cloud PE (PE-C) for the
cloud.
CPEs for access users are connected to the local MAN in various ways.
CPEs are responsible for assigning addresses to access users, so
CPEs apply for DHCPv6 PD from DHCPv6 server.DHCPv6 server is usually
enabled on BRAS.
After the DHCPv6 server allocates PD, BRAS will add a network route
corresponding to PD to local routing table and distribute the
network route to the upstream routers.
In this networking environment, it is expected to deploy end-to-end
SRv6 to realize communication between access users, or access users
to access the public cloud or private cloud.
For example, for the traffic from host1 to host2, CPE1 should be the
SRv6 headend node and CPE2 should be the SRv6 tailend node. When
accessing the cloud, CPE should be the SRv6 headend node and VCPE
should be the SRv6 tailend node.
To deploy SRv6 on CPE, the configuration required by SRv6 needs to
be configured on CPE, such as locator. The locator of each CPE needs
to uniquely identify the CPE, and other network nodes need to be
able to learn the locator route. There are difficulties in achieving
these requirements for the following reasons:
o configuration complexity
Cheng, et al. Expires December, 2022 [Page 3]
Internet-Draft Distribute SRv6 Locator by DHCP June 2022
In SD-WAN network, the number of CPEs is very large and widely
distributed geographically. Moreover, the mobility requirements of
CPE are relatively high, and the access location of the same CPE
often changes, so the IP address of CPE cannot be fixed.
In order to simplify the deployment procedure, zero touch
provisioning (ZTP) deployment technology is often used when
deploying CPE, such as USB-based deployment. The configuration file
is recorded in the USB flash disk, and CPE reads the corresponding
configuration file to complete the basic configuration. In this way,
the configuration file in the USB flash disk should only contain
general configuration, and the personalized configuration of the CPE,
such as IP address, should be avoided as far as possible.
Usually, the public network side IPv6 address of CPE is applied for
through the stateless address automatic configuration (SLAAC) of ND
or through DHCPv6.
At present, SRv6 locator can only be configured on each CPE through
the controller or CLI, which increases the configuration complexity.
o locator route learning
CPE can be connected to the BRAS of local MAN through various types
of networks, such as leased line, 4/5G network, optical fiber, etc.
Due to the diversity of connections, IGP is usually only enabled
within the MAN, that is, IGP will not be deployed between CPE and
BRAS.
The locator route of CPE could not be distributed to the BRAS node
through IGP, and the static route can only be configured manually on
the BRAS or the controller. CPE and BRAS often belong to different
administration domains. Configuring routes to CPE on BRAS increases
the cost and workload of communication and coordination.
Cheng, et al. Expires December, 2022 [Page 4]
Internet-Draft Distribute SRv6 Locator by DHCP June 2022
Metropolitan area network
+---------------------------+
| |
+------+ +------+ | +-----+ +------+ |
|Host1 +-----+ CPE1 +----+--+BRAS1+--------+ CR1 | |
+------+ +------+ | +-----+ +---+--+ |
| | |
+---------------------+-----+
|
+--------+-------------+
| |
| Backbone Network |
| |
+-------+--------+----+
| |
+--------------------+------+ |
| | | |
+------+ +------+ | +-----+ +--+---+ | |
|Host2 +-----+ CPE2 +----+--+BRAS2+--------+ CR2 | | |
+------+ +------+ | +-----+ +------+ | |
+---------------------------+ |
|
+--+-+
,----+vCPE+---.
,-' +----+ `-.
,' `.
( )
`. Cloud ,'
`-. ,-'
`-------------'
To solve these difficulties this document proposes a method to
allocate locators to CPE through DHCPv6, and distribute locator
routes by using the workflow of DHCPv6.
3. DHCPv6 extension
3.1. SRv6 Locator Option
The SRv6 Locator option is used to specify the information of SRv6
locator prefix associated with an IA prefix. The SRv6 Locator option
must be encapsulated in the IAprefix-options field of an IA_Prefix
option (see Section 21.22 of [RFC8415]).
Cheng, et al. Expires December, 2022 [Page 5]
Internet-Draft Distribute SRv6 Locator by DHCP June 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_SRV6_LOCATOR | Option-len |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LB-len | Func-len | Args-len | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure XX: SRv6 Locator Option Format
Where:
- Option-code: OPTION_SRV6_LOCATOR (TBD).
- Option-len: 4.
- LB-len: Length of locator block of SRv6 compressible SID in bits.
A 1-octet unsigned integer. For locators with incompressible SIDS,
the LB-len field is set to 0.
- Func-len: The function length of SRv6 SID in bits. A 1-octet
unsigned integer.
- Args-len: The arguments length of SRv6 SID in bits. A 1-octet
unsigned integer.
If there is a SRv6 locator option in the IAprefix-options field of
an IA_Prefix option in DHCPv6 message, it indicates this IA_Prefix
option carries SRv6 locator prefix information. By default, SRv6
locator option is not encapsulated in IAprefix-options field of an
IA_Prefix option, that is, IA_Prefix option carries common IPv6
prefix information.
The length of locator prefix in bits is filled in the "prefix-
length" field of IA Prefix option, and the "IPv6-prefix" field of IA
Prefix option is SRv6 locator prefix.
The lifetime of SRv6 locator corresponds to the valid-lifetime and
preferred-lifetime fields of IA Prefix option. See Section 21.22 of
[RFC8415] for details.
The processing of prefix-length hints of SRv6 locator is the same as
that of IPv6 prefix. The client SHOULD NOT send an IA Prefix option
with 0 in the "prefix-length" field (and an unspecified value (::)
in the "IPv6-prefix" field) of IA Prefix option. A client MAY send
a non-zero value in the "prefix-length" field of IA Prefix option
and the unspecified value (::) in the "IPv6-prefix" field of IA
Prefix option to indicate a preference for the size of the prefix to
Cheng, et al. Expires December, 2022 [Page 6]
Internet-Draft Distribute SRv6 Locator by DHCP June 2022
be delegated. See [RFC8168] for further details on prefix-length
hints.
A SRv6 Locator option may appear only in an IA_Prefix option.
Multiple IA Prefix options in one IA_PD option can encapsulate one
SRv6 Locator option respectively.
If there are multiple SRv6 Locator options in an IA Prefix option,
it is considered that the IA Prefix option is illegal, and the
entire IA Prefix option SHOULD be ignored.
4. Process of Assigning Locator
This document assumes that a client SHOULD use a single transaction
for all of the IA options required on an interface. This simplifies
the client implementation and reduces the potential number of
transactions required (for the background on this design choice,
refer to Section 4 of [RFC7550]). If a client requests multiple IA
option types, follow [RFC7550].
4.1.1. Client Behavior
A client uses the Solicit message to discover DHCPv6 servers
configured to assign leases or return other configuration parameters
on the link to which the client is attached.
A client uses Request, Renew, Rebind, Release, and Decline messages
during the normal lifecycle of addresses and delegated prefixes.
When the client requests to allocate an SRv6 locator, the SRv6
Locator option MUST be encapsulated in the IAprefix-options field of
IA Prefix option in DHCPv6 Solicit, Request, Renew, Rebind, Release,
or Decline message. By default the BL-len, Func-len, and Args-len
fields in the SRv6 Locator option are filled with 0.
A client MAY send a non-zero value in the "LB-length" field to
indicate a preference for the size of SRv6 locator block of
compressible SID to be delegated in DHCPv6 Solicit message.
Upon the receipt of a valid Reply message with SRv6 Locator option
in the IAprefix-options field of IA Prefix option in response to a
Solicit with a Rapid Commit option, Request, Confirm, Renew, or
Rebind message, the client SHOULD process the Reply message
according to the requirements of Section 18.2 of [RFC8415], and
configure the delegated locator in the client device automatically.
When the client uses a delegated locator prefix to configure SRv6
locator locally, the preferred and valid lifetimes of those locators
Cheng, et al. Expires December, 2022 [Page 7]
Internet-Draft Distribute SRv6 Locator by DHCP June 2022
MUST be no longer than the remaining preferred and valid lifetimes
respectively for the delegated locator prefix at any time.
To extend the preferred and valid lifetimes for the leases assigned
to the IAs and obtain new delegated locator prefixes for IAs, the
client sends a Renew/Rebind message to the server with SRv6 Locator
option in the IAprefix-options field of IA Prefix option. When the
valid lifetime of the locator prefix expires, or the new lifetime
replied by the server is 0, delete the corresponding SRv6 locator.
If the client no longer uses the delegated locator prefix, the
client can actively send a Release message to notify the server to
reclaim locator resources and delete the corresponding SRv6 locator.
The client MUST include options containing the IAs for the locators
prefixes it is releasing in the "IA_PD-options" field.
4.1.2. Server Behavior
As described in [RFC8415], when the server receives a valid Request
message or a valid Solicit message with a Rapid Commit option, the
server creates the bindings for that client according to the
server's policy and configuration information and records the IAs
and other information requested by the client.
Upon the receipt of the IA Prefix option with SRv6 Locator option,
the server searches local locator prefix pool and allocates
appropriate locators for the client.
If there is an assignable locator prefix, the server records the
locator binding entry and encapsulates the locator information into
the DHCPv6 Reply message. The IA_PD option fills with the locator
prefix information assigned to the client, and the IAprefix-options
field of the IA Prefix option encapsulates the SRv6 Locator option.
The SRv6 Locator option populates the locator block length, function
length and arguments length of SRv6 SID specified by the DHCPv6
server.
For the scenario described in Section 2 where the BRAS device acts
as a DHCPv6 server, after the locator prefix is successfully
delegated, the server generates a locator subnet route locally, and
the outgoing interface of the route is the access interface
connecting the client.
Upon receiving the Release message from the client or when the
locator prefix lease expires, the server reclaims the locator prefix
resource and deletes the locator binding entry. If the BRAS device
acts as a DHCPv6 server, the server also SHOULD delete the locator
subnet route locally.
Cheng, et al. Expires December, 2022 [Page 8]
Internet-Draft Distribute SRv6 Locator by DHCP June 2022
4.1.3. Relay Agent Behavior
For the scenario described in Section 2, if an external DHCPv6
server is deployed to allocate locators, the DHCPv6 relay agent
function needs to be enabled on the layer 3 network nodes close to
CPE. As shown in the figure below, the DHCP relay function is
enabled on the router directly connected to CPE.
DHCP Relay
+------+ +------+ +------+ +-----+
| Host +-----+ CPE +-------+Router+------+ BRAS|
+------+ +------+ +------+ +--+--+
|
|
+------+-----+
| Backbone |
| Network |
+------------+
Figure XX: CPE accessed through DHCP relay
When the first hop DHCPv6 relay agent device connected to the DHCPv6
PD client receives DHCPv6 Relay-reply messages, it extracts the
IA_PD option from the Relay Message option, and obtains the locator
prefix delegated by the DHCPv6 server according to IA Prefix option
and SRv6 Locator option. The first DHCPv6 relay agent needs to
record the locator prefix delegated by the DHCPv6 server, including
locator information, lifetime, etc. and generates locator route
locally. The outgoing interface of the route is the access interface
connecting the client.
After receiving the DHCPv6 message releasing the locator prefix from
the client or the valid lifetime of Locator prefix expires, the
first DHCPv6 relay agent device SHOULD delete the locator route
locally.
5. IANA Considerations
IANA is kindly requested to assign new value for option
OPTION_SRV6_LOCATOR (TBD) and add the value to the DHCPv6 Option
Codes registry maintained at http://www.iana.org/assignments/
dhcpv6-parameters.
6. Security Considerations
See [RFC8415] for the DHCPv6 security considerations.
Cheng, et al. Expires December, 2022 [Page 9]
Internet-Draft Distribute SRv6 Locator by DHCP June 2022
7. References
7.1. Normative References
[RFC7550] Troan, O., Volz, B., Siodelski, M., "Issues and
Recommendations with Multiple Stateful DHCPv6 Options",
RFC 7550, DOI 10.17487/RFC7550, May 2015,
<https://www.rfc-editor.org/info/rfc7550>.
[RFC8168] Li, T., Liu, C., Cui, Y., "DHCPv6 Prefix-Length Hint
Issues", RFC 8168, DOI 10.17487/RFC8168, May 2017,
<https://www.rfc-editor.org/info/rfc8168>.
[RFC8415] Mrugalski, T., Siodelski, M ., Volz, B., Yourtchenko, A.,
Richardson, M., Jiang, S., Lemon, T., and Winters, T.,
"Dynamic Host Configuration Protocol for IPv6 (DHCPv6)",
RFC 8415, DOI 10.17487/RFC8415, November 2018,
<https://www.rfc-editor.org/info/rfc8415>.
Cheng, et al. Expires December, 2022 [Page 10]
Internet-Draft Distribute SRv6 Locator by DHCP June 2022
Authors' Addresses
Weiqiang Cheng
China Mobile
Email: chengweiqiang@chinamobile.com
Ruibo Han
China Mobile
Email: hanruibo@chinamobile.com
Changwang Lin
New H3C Technologies
Email: linchangwang.04414@h3c.com
Cheng, et al. Expires December, 2022 [Page 11]