Dynamic Host Configuration (DHC) W. Cheng Internet Draft R. Han Intended status: Standards Track China Mobile Expires: January 28, 2023 C. Lin Y. Qiu New H3C Technologies July 27, 2022 Distribute SRv6 Locator by DHCP draft-cheng-dhc-distribute-srv6-locator-by-dhcp-01 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 January 28 2023. Copyright Notice Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved. Cheng, et al. Expire January, 2023 [Page 1] Internet-Draft Distribute SRv6 Locator by DHCP July 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. DHCP Client Behavior .............................. 7 4.1.2. DHCP Server Behavior .............................. 8 4.1.3. DHCP Relay Agent Behavior ......................... 9 5. IANA Considerations ......................................... 9 6. Security Considerations .................................... 10 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 January, 2023 [Page 2] Internet-Draft Distribute SRv6 Locator by DHCP July 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 IP Metro network and Backbone network to realize the interconnection between access users in different regions. In the IP backbone 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 interconnection between access users, or between access users and clouds. For example, for the traffic from host1 to host2, CPE1 should be the SRv6 headend node and CPE2 should be the SRv6 endpoint node. When accessing the cloud, CPE should be the SRv6 headend node and VCPE should be the SRv6 endpoint node. To deploy SRv6, the CPE should be configured, such as SRv6 locator. The locator of each CPE uniquely identifies 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 January, 2023 [Page 3] Internet-Draft Distribute SRv6 Locator by DHCP July 2022 In Metro 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 January, 2023 [Page 4] Internet-Draft Distribute SRv6 Locator by DHCP July 2022 Metropolitan area network +---------------------------+ | | +------+ +------+ | +-----+ +------+ | |Host1 +-----+ CPE1 +----+--+BRAS1+--------+ CR1 | | +------+ +------+ | +-----+ +---+--+ | | | | +---------------------+-----+ | +--------+-------------+ | | | Backbone Network | | | +-------+--------+----+ | | +--------------------+------+ | | | | | +------+ +------+ | +-----+ +--+---+ | | |Host2 +-----+ CPE2 +----+--+BRAS2+--------+ CR2 | | | +------+ +------+ | +-----+ +------+ | | +---------------------------+ | | +--+-+ ,----+vCPE+---. ,-' +----+ `-. ,' `. ( ) `. Cloud ,' `-. ,-' `-------------' Figure 1: Telecom IPv6 Network 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 January, 2023 [Page 5] Internet-Draft Distribute SRv6 Locator by DHCP July 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 2: 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 Cheng, et al. Expires January, 2023 [Page 6] Internet-Draft Distribute SRv6 Locator by DHCP July 2022 Prefix option to indicate a preference for the size of the prefix to 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. If the device does not support SRv6 Locator option, this 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. DHCP 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 Cheng, et al. Expires January, 2023 [Page 7] Internet-Draft Distribute SRv6 Locator by DHCP July 2022 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 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. DHCP 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. Cheng, et al. Expires January, 2023 [Page 8] Internet-Draft Distribute SRv6 Locator by DHCP July 2022 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. 4.1.3. DHCP 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 3: 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. Cheng, et al. Expires January, 2023 [Page 9] Internet-Draft Distribute SRv6 Locator by DHCP July 2022 6. Security Considerations See [RFC8415] for the DHCPv6 security considerations. TODO: Do we need more? 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, . [RFC8168] Li, T., Liu, C., Cui, Y., "DHCPv6 Prefix-Length Hint Issues", RFC 8168, DOI 10.17487/RFC8168, May 2017, . [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, . Cheng, et al. Expires January, 2023 [Page 10] Internet-Draft Distribute SRv6 Locator by DHCP July 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 Yuanxiang Qiu New H3C Technologies Email: qiuyuanxiang@h3c.com Cheng, et al. Expires January, 2023 [Page 11]