RFC 8676: YANG Modules for IPv4-in-IPv6 Address plus Port (A+P) Softwires
- I. Farrer, Ed.,
- M. Boucadair, Ed.
Abstract
This document defines YANG modules for the configuration and operation of IPv4-in-IPv6 softwire Border Relays and Customer Premises Equipment for the Lightweight 4over6, Mapping of Address and Port with Encapsulation (MAP-E), and Mapping of Address and Port using Translation (MAP-T) softwire mechanisms.¶
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2019 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://
1. Introduction
The IETF Softwire Working Group has developed several IPv4-in-IPv6 softwire mechanisms to address various deployment contexts and constraints. As a companion to the architectural specification documents, this document focuses on the provisioning of Address plus Port (A+P) softwire functional elements: Border Routers (BRs) and Customer Edge (CE) (called "Customer Premises Equipment (CPE)" in [RFC7596]). The softwire mechanisms covered in this document are Lightweight 4over6 (lw4o6) [RFC7596], Mapping of Address and Port with Encapsulation (MAP-E) [RFC7597], and Mapping of Address and Port using Translation (MAP-T) [RFC7599].¶
This document focuses on A+P mechanisms [RFC6346]; the reader can refer to [RFC8513] for a YANG module for Dual-Stack Lite (DS-Lite) [RFC6333].¶
This document defines YANG modules [RFC7950] that can be used to configure and manage A+P softwire elements using the NETCONF [RFC6241] or RESTCONF [RFC8040] protocols for:¶
2. Terminology
The reader should be familiar with the concepts and terms defined in [RFC7596], [RFC7597], [RFC7599], and the YANG data modeling language defined in [RFC7950].¶
The YANG modules in this document adopt the Network Management Datastore Architecture (NMDA) [RFC8342]. The meanings of the symbols used in tree diagrams are defined in [RFC8340].¶
The document uses the abbreviation 'BR' as a general term for softwire tunnel concentrators, including both MAP Border Routers [RFC7597] and Lightweight 4over6 lwAFTRs [RFC7596].¶
For brevity, "algorithm" is used to refer to the "mapping algorithm" defined in [RFC7597].¶
A network element may support one or multiple instances of a softwire mechanism; each of these instances (i.e., binding instances, MAP-E instances, or MAP-T instances) may have its own configuration and parameters. The term 'algo-instance' is used to denote both MAP-E and MAP-T instances.¶
3. Overview of the Modules
3.1. Overall Structure
The document defines the following two YANG modules for the configuration and monitoring of softwire functional elements:¶
In addition, the following module is defined:¶
This approach has been taken so that the various modules can be easily extended to support additional softwire mechanisms, if required.¶
Within the BR and CE modules, the YANG "feature" statement is used to distinguish which of the different softwire mechanism(s) is relevant for a specific element's configuration. For each module, a choice statement 'ce-type' is included for either 'binding' or 'algorithm'. 'Binding' is used for configuring Lightweight 4over6, whereas 'algorithm' is used for configuring MAP-T or MAP-E.¶
In the 'algo
NETCONF notifications are also included.¶
3.2. Configuration for Additional Components
The softwire modules only aim to provide configuration relevant for softwires. In order to fully provision a CE element, the following may also be necessary:¶
As YANG modules for the above functions are already defined in other documents, their functionality is not duplicated here and they should be referred to, as needed. Appendix A.3 provides XML examples of how these modules can be used together.¶
The CE must already have minimal IPv6 configuration in place so it is reachable by the NETCONF client to obtain softwire configuration. If additional IPv6-specific configuration is necessary, the YANG modules defined in [RFC8344] and [RFC8349] may be used.¶
4. Softwire CE YANG Tree Diagram
4.1. CE Tree Diagram
The CE module provides configuration and monitoring for all of the softwire mechanisms covered in this document (i.e., Lightweight 4over6, MAP-E, and MAP-T).¶
This module augments "ietf
Figure 1 shows the tree structure of the softwire CE YANG module:¶
4.2. Softwire CE Tree Diagram Description
Additional information related to the operation of a CE element is provided below:¶
Further details relevant to binding softwire elements are as follows:¶
Additional details relevant to some of the important algorithmic elements are provided below:¶
Additional information on the notification node is listed below:¶
5. Softwire BR YANG Tree Diagram
5.1. BR Tree Diagram
The BR YANG module provides configuration and monitoring for all of the softwire mechanisms covered in this document (i.e., Lightweight 4over6, MAP-E, and MAP-T).¶
5.2. Softwire BR Tree Diagram Description
The descriptions for leaves that are common with the CE module are provided in Section 4.2. Descriptions for additional elements are provided below:¶
Additional information on some of the important notification nodes is listed below:¶
6. Softwire CE YANG Module
This module imports the modules defined in [RFC6991], [RFC8343], and [RFC7224]. It also imports the
'ietf
7. BR Softwire YANG Module
This module imports typedefs from [RFC6991]. It
also imports the 'ietf
8. Common Softwire Element Groups YANG Module
This module imports typedefs from [RFC6991].¶
The following YANG module contains definitions that are used by both the softwire CE and softwire BR YANG modules.¶
9. Security Considerations
The YANG modules defined in this document are designed to be accessed
via network management protocols such as NETCONF [RFC6241] or RESTCONF [RFC8040]. The
lowest NETCONF layer is the secure transport layer, and the
mandatory
The Network Configuration Access Control Model (NACM) [RFC8341] provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.¶
All data nodes defined in the YANG modules which can be created, modified, and deleted (i.e., config true, which is the default) are considered sensitive. Write operations (e.g., edit-config) to these data nodes without proper protection can have a negative effect on network operations. An attacker who is able to access the BR can undertake various attacks, such as:¶
Some of the readable data nodes in this YANG module may be considered sensitive or vulnerable in some network environments. It is thus important to control read access (e.g., via get, get-config, or notification) to these data nodes. These subtrees and data nodes can be misused to track the activity of a host:¶
Security considerations related to lw4o6, MAP-T, and MAP-E are discussed in [RFC7596], [RFC7597], and [RFC7599] respectively.¶
Security considerations given in [RFC7950] are also applicable here.¶
10. IANA Considerations
IANA has assigned the following new tunnel type under the
tunnelType subregistry of the "ifType Definitions" registry
maintained in the SMI Numbers registry [TUNNELTYPE
IANA has registered the following in the "ns" subregistry within the "IETF XML Registry" [RFC3688]:¶
IANA has registered the following YANG modules in the "YANG Module Names" subregistry [RFC6020] within the "YANG Parameters" registry.¶
11. References
11.1. Normative References
- [RFC3688]
-
Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10
.17487 , , <https:///RFC3688 www >..rfc -editor .org /info /rfc3688 - [RFC6020]
-
Bjorklund, M., Ed., "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10
.17487 , , <https:///RFC6020 www >..rfc -editor .org /info /rfc6020 - [RFC6241]
-
Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10
.17487 , , <https:///RFC6241 www >..rfc -editor .org /info /rfc6241 - [RFC6242]
-
Wasserman, M., "Using the NETCONF Protocol over Secure Shell (SSH)", RFC 6242, DOI 10
.17487 , , <https:///RFC6242 www >..rfc -editor .org /info /rfc6242 - [RFC6991]
-
Schoenwaelder, J., Ed., "Common YANG Data Types", RFC 6991, DOI 10
.17487 , , <https:///RFC6991 www >..rfc -editor .org /info /rfc6991 - [RFC7224]
-
Bjorklund, M., "IANA Interface Type YANG Module", RFC 7224, DOI 10
.17487 , , <https:///RFC7224 www >..rfc -editor .org /info /rfc7224 - [RFC7596]
-
Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I. Farrer, "Lightweight 4over6: An Extension to the Dual-Stack Lite Architecture", RFC 7596, DOI 10
.17487 , , <https:///RFC7596 www >..rfc -editor .org /info /rfc7596 - [RFC7597]
-
Troan, O., Ed., Dec, W., Li, X., Bao, C., Matsushima, S., Murakami, T., and T. Taylor, Ed., "Mapping of Address and Port with Encapsulation (MAP-E)", RFC 7597, DOI 10
.17487 , , <https:///RFC7597 www >..rfc -editor .org /info /rfc7597 - [RFC7598]
-
Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec, W., Bao, C., Yeh, L., and X. Deng, "DHCPv6 Options for Configuration of Softwire Address and Port-Mapped Clients", RFC 7598, DOI 10
.17487 , , <https:///RFC7598 www >..rfc -editor .org /info /rfc7598 - [RFC7599]
-
Li, X., Bao, C., Dec, W., Ed., Troan, O., Matsushima, S., and T. Murakami, "Mapping of Address and Port using Translation (MAP-T)", RFC 7599, DOI 10
.17487 , , <https:///RFC7599 www >..rfc -editor .org /info /rfc7599 - [RFC7950]
-
Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10
.17487 , , <https:///RFC7950 www >..rfc -editor .org /info /rfc7950 - [RFC8040]
-
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10
.17487 , , <https:///RFC8040 www >..rfc -editor .org /info /rfc8040 - [RFC8341]
-
Bierman, A. and M. Bjorklund, "Network Configuration Access Control Model", STD 91, RFC 8341, DOI 10
.17487 , , <https:///RFC8341 www >..rfc -editor .org /info /rfc8341 - [RFC8343]
-
Bjorklund, M., "A YANG Data Model for Interface Management", RFC 8343, DOI 10
.17487 , , <https:///RFC8343 www >..rfc -editor .org /info /rfc8343 - [RFC8446]
-
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10
.17487 , , <https:///RFC8446 www >..rfc -editor .org /info /rfc8446 - [RFC8675]
-
Boucadair, M., Farrer, I., and R. Asati, "A YANG Data Model for Tunnel Interface Types", RFC 8675, DOI 10
.17487 , , <https:///RFC8675 www >..rfc -editor .org /info /rfc8675 - [TUNNELTYPE
-IANA -REGISTRY] -
IANA, "Structure of Management Information (SMI) Numbers (MIB Module Registrations)", <https://
www >..iana .org /assignments /smi -numbers
11.2. Informative References
- [RFC4213]
-
Nordmark, E. and R. Gilligan, "Basic Transition Mechanisms for IPv6 Hosts and Routers", RFC 4213, DOI 10
.17487 , , <https:///RFC4213 www >..rfc -editor .org /info /rfc4213 - [RFC6333]
-
Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion", RFC 6333, DOI 10
.17487 , , <https:///RFC6333 www >..rfc -editor .org /info /rfc6333 - [RFC6346]
-
Bush, R., Ed., "The Address plus Port (A+P) Approach to the IPv4 Address Shortage", RFC 6346, DOI 10
.17487 , , <https:///RFC6346 www >..rfc -editor .org /info /rfc6346 - [RFC7422]
-
Donley, C., Grundemann, C., Sarawat, V., Sundaresan, K., and O. Vautrin, "Deterministic Address Mapping to Reduce Logging in Carrier-Grade NAT Deployments", RFC 7422, DOI 10
.17487 , , <https:///RFC7422 www >..rfc -editor .org /info /rfc7422 - [RFC8340]
-
Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", BCP 215, RFC 8340, DOI 10
.17487 , , <https:///RFC8340 www >..rfc -editor .org /info /rfc8340 - [RFC8342]
-
Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., and R. Wilton, "Network Management Datastore Architecture (NMDA)", RFC 8342, DOI 10
.17487 , , <https:///RFC8342 www >..rfc -editor .org /info /rfc8342 - [RFC8344]
-
Bjorklund, M., "A YANG Data Model for IP Management", RFC 8344, DOI 10
.17487 , , <https:///RFC8344 www >..rfc -editor .org /info /rfc8344 - [RFC8349]
-
Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for Routing Management (NMDA Version)", RFC 8349, DOI 10
.17487 , , <https:///RFC8349 www >..rfc -editor .org /info /rfc8349 - [RFC8512]
-
Boucadair, M., Ed., Sivakumar, S., Jacquenet, C., Vinapamula, S., and Q. Wu, "A YANG Module for Network Address Translation (NAT) and Network Prefix Translation (NPT)", RFC 8512, DOI 10
.17487 , , <https:///RFC8512 www >..rfc -editor .org /info /rfc8512 - [RFC8513]
-
Boucadair, M., Jacquenet, C., and S. Sivakumar, "A YANG Data Model for Dual-Stack Lite (DS-Lite)", RFC 8513, DOI 10
.17487 , , <https:///RFC8513 www >..rfc -editor .org /info /rfc8513
Appendix A. Configuration Examples
The following sections provide examples of how the softwire YANG modules can be used for configuring softwire elements.¶
A.1. Configuration Example for a lw4o6 BR Binding-Table
The lwAFTR maintains an address binding table that contains the following 3-tuples:¶
The entry has two functions: the IPv6 encapsulation of inbound IPv4 packets destined to the lwB4 and the validation of outbound IPv4-in-IPv6 packets received from the lwB4 for decapsulation.¶
Consider an example for the following lw4o6 binding table entry:¶
A.2. Configuration Example for a MAP-E BR
A MAP-E BR is configured with forward mapping rules for the CEs it is serving. In this example (taken from [RFC7597], Appendix A, Example 2), the following parameters are required:¶
The mapping rule has two functions: identifying the destination CE IPv6 address for encapsulating inbound IPv4 packets and the validation of outbound IPv4-in-IPv6 packets received from the CE for de-capsulation.¶
The transport type for the data plane also needs to be configured for encapsulation to enable MAP-E and forwarding needs to be enabled.¶
Consider an example for the following MAP-E Forwarding Mapping Rule:¶
A.3. lw4o6 CE Configuration Example
This section provides XML examples for configuring a lw4o6 CE. Examples for routing and NAT44 are also provided for convenience.¶
Consider an example for the following lw4o6 CE configuration:¶
- lwB4 Binding IPv6 Address:
- 2001:db8::1¶
- lwB4 Binding IPv4 Address:
- 192.0.2.1¶
- lwB4 PSID:
- 0x34¶
- lwB4 PSID Length
- 8¶
- BR IPv6 Address:
- 2001:db8:1::2¶
In the example depicted in Figure 5, the interface name is defined for the softwire tunnel. This name is then referenced by the routing configuration for the IPv4 route. Figure 6 provides an example configuration for the CE's IPv4 routing using the YANG module described in [RFC8349].¶
Figure 7 provides an example configuration for the CE's NAPT44 function using the YANG module described in [RFC8512].¶
Acknowledgements
The authors would like to thank Lishan Li, Bert Wijnen, Giles Heron, Ole Troan, Andy Wingo, and Leo Tietz for their contributions to this work.¶
Thanks to Sheng Jiang for the review.¶
Special thanks to Tom Petch and Martin Bjorklund for the detailed review and suggestions.¶
Contributors
The following individuals are co-authors:¶