Internet-Draft PCEP for SAV August 2026
Song, et al. Expires 4 March 2027 [Page]
Workgroup:
PCE Working Group
Internet-Draft:
draft-song-pce-pcep-sav-03
Published:
Intended Status:
Standards Track
Expires:
Authors:
X. Song
ZTE Corp.
W. Cheng
China Mobile
S. Yue
China Mobile

Path Computation Element Communication Protocol for Source Address Validation

Abstract

This document presents a method of Path Computation Element (PCE) for Source Address Validation (SAV) in networks. It extends Path Computation Element Communication Protocol (PCEP) to support SAV policy distribution and synchronization between PCEP speakers for threat mitigation for source address spoofing.

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/.

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 4 March 2027.

Table of Contents

1. Introduction

Source Address Validation (SAV) is a critical security mechanism designed to mitigate IPv4 and IPv6 source address spoofing attacks by validating the legitimacy of source prefixes against their ingress interfaces. Traditional methods like ACL-based ingress filtering, strict uRPF and loose uRPF mechanisms [RFC3704] have some issues as described in [I-D.ietf-savnet-intra-domain-problem-statement] and [I-D.ietf-savnet-inter-domain-problem-statement]. The new inter-domain SAV mechanism is required not to generate false positive or false negative policies leading to improper block or permit of traffic.

The PCE architecture, defined in [RFC4655], provides a centralized control framework for path computation in networks. This document presents a PCE-based SAVNET solution to enable dynamic policy enforcement within the networks. By extending the PCEP protocol, the PCE can efficiently manage SAV policies, validate the legitimacy of source address prefixes, and enforce traffic filtering actions to mitigate the threats posed by source address spoofing.

2. Conventions

2.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.2. Terminology

This document uses the following terms defined in [RFC5440]: PCC, PCE, PCEP Peer, and PCEP speaker.

This document uses the following terms defined in [RFC8051]: stateful PCE.

This document uses the following terms defined in [I-D.ietf-savnet-intra-domain-architecture]: SAV, SAV rule, SAV Information Base.

3. PCE-based Solution for SAVNET

3.1. PCE Integration to SAVNET Architecture

A PCC may use PCEP protocol to send a SAV request for one or more incoming interfaces to a PCE. The PCE may reply with a set of computed SAV policies to the PCC. For example, in an enterprise AS, a PCE receives SAV request from a PCC (e.g., edge routers or border routers). The PCE computes that source prefix (for example, 2001:db8:1::/48) is only valid on interfaces connected to the data center Subnet. Any traffic with this prefix arriving at an AS border router is dropped unless it originates from the designated interfaces.

The PCE-based SAVNET solution supports both single-PCE and multi-PCE coorperative environments. It is applicable to single-domain and multi-domain AS networks, which may leverage PCE for cross-domain policy coordination. For example, if the attacker switches the entry from Eth1/0 of R1 in AS60001 to Eth5/0 of R5 in AS60004, the PCE as network controller needs to synchronize and enforce the SAV policies across domains. The centralized control capability of PCE can enhance the dynamics of SAV strategies and the efficiency of cross-domain coordination.

3.2. PCE as SAV Policy Controller

The PCE provides a centralized control framework for SAV policy computation, the visibility of global SAV policy and global filtering policy optimization and across-domains coordination. PCE as SAV policy controller manages and delivers SAV information to the underlay network, which acquires SAV policies eliminating the needs for mutual communication between network nodes. The following figure shows an example of process for a PCE using PCEP to install SAV policies on PCC (i.e., AS boarder routers) in inter-domain networks.

                   +----------------+
                   |      PCE       |
      -------------+(SAV Controller)+-----------
      |            +-------+--------+           |<--PCEP
      |                    |                    |
+-----+--------+    +------+-------+    +-------+------+
|   PCC        |    |   PCC        |    |   PCC        |
|(ASx NetNodes)|    |(ASy NetNodes)|    |(ASz NetNodes)|
+--------------+    +--------------+    +--------------+
Figure 1: An example of PCE for SAV

PCE as SAV controller collects SAV information for SAV policy generation of mapping valid interfaces with prefix (e.g., 2001:db8::/32) to have the capability of global SAV policy visibility for single or multiple domains policy enforcement and coordination.

The PCE sends PCEP protocol messages (see [RFC8231]) to instal SAV policies, dynamic SAV policy updates.

The PCC deploys SAV policies which are stored in the SAV Information Database for mapping of source address prefix with valid ingress interfaces for ingress traffic filtering.

This document leverages the Stateful PCE model defined in [RFC8231]. SAV policy state is maintained by both the PCE and the PCC. The PCE MAY actively update SAV policies via PCUpd messages, and the PCC MUST report its current SAV policy state via PCRpt messages.

3.3. Requirements

When PCE speakers support SAV, PCEP is required to support the following functionalities.

The PCEP MUST support SAV information collection for intra-domain and cross-domain networks.

The PCEP MUST support SAV capability advertisement in single and multi-domains.

The PCEP MUST support dynamic updates of SAV policies for network changes (e.g., link failures, prefix additions).

The PCEP MUST support backward compatibility with existing SAVNET mechanisms (e.g., BAR-SAV).

The PCEP sessions for SAV MUST be secured against tampering and unauthorized access.

4. PCEP Extenstions

4.1. SAV Capability Advertisement

The OPEN message is used to establish a PCEP session between PCEP speakers. To support SAV functionality, a new flag SAV-CAPABILITY is introduced in the STATEFUL-PCE-CAPABILITY TLV for SAV capability advertisement.

The STATEFUL-PCE-CAPABILITY TLV format is defined in figure 9 in [RFC8231].The document defines a new flag bit in the Flags field.

SAV-CAPABILITY (Bit TBD): A PCEP speaker sets this bit to 1 to indicate that it supports the SAV extensions and objects defined in this document.

4.2. SAV-POLICY Object

A new optional SAV object (Object-Class=TBD) is introduced to carrySAV policy information within PCEP messages (e.g., PCUpd, PCRpt). A SAV object is used to carry information of SAV policy within a PCEP update message for SAV policy delivery and updates.

The format of the SAV-POLICY object follows the standard PCEP Object format defined in [RFC5440].

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Object-Class  |   OT  |Res|P|I|   Object Length (bytes)       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   //                        (Object body)                        //
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: SAV-POLICY Object Format

The value for Object-Class and Object-Type (OT) are TBD. The P and I flags are used as defined in [RFC5440].

The object body contains one or more SAV-POLICY-TLVs. Each TLV represents a single SAV rule mapping a source prefix to an interface list. The SAV-POLICY-TLV format is aligned with the standard PCEP TLV format and shown in the following figure:

   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 (TBD)          |             Length            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |L|    Flag     | Prefix Length |           Reserved            |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                       IP Source Prefix                        |
  |                          (4 or 16 bytes)                      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  //                  Interface List Sub-TLVs                    //
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: SAV-POLICY-TLV Format

Type: 16 bits. The TLV Type Indicator of value is TBD.

Length: 16 bits. Indicates the total length of the TLV in octects.

The value field contains the following fields:

L: 1 bit. A value of 0 indicates an IPv4 prefix (4 bytes); a value of 1 indicates an IPv6 prefix (16 bytes).

Reserved: 7 bits. MUST be set to 0 on transmission and MUST be ignored on receipt.

Flag: 7 bits. Identifies the validation modes used in network nodes. The validation modes include 4 modes: interface-based prefix allowlist, interface-based prefix blocklist, prefix-based interface allowlist, prefix-based interface blocklist. By selecting modes in different scenarios, the network can be secured to mitigate spoofing attacks, as introduced in [I-D.ietf-savnet-general-sav-capabilities].

Prefix Length: 8 bits. Indicates the length of the IP source prefix in bits.

IP source prefix: contains the source address prefix information.

Interface List: contains a list of interface List Sub-TLVs. If it is a allowlist, it represents a list of interfaces allowed to access; if it is a blocklist, it represents a list of interfaces not allowed to access. The Interface List is encoded as a sequence of zero or more Sub-TLVs, and the format for the Sub-TLV is shown in Figure 5.

   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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Sub-TLV Type |          Sub-TLV Length                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
//              Sub-TLV Value (variable)                        //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Sub-TLVs for Interface List Format

Sub-TLV Types are defined as follows:

Value 1: Interface Index. Value is a 32-bit unsigned integer representing the interface index.

Value 2: Interface Name. Value is a variable-length UTF-8 encoded string.

Value 3-255: Reserved.

4.3. Mechanism for Updates

The SAV extensions defined in this document rely on the Stateful PCE model [RFC8231]. The PCE maintains SAV policy state and uses PCUpd messages to actively push SAV policy updates to PCCs.

The PCE sends PCUpd message to trigger mechanism when it determines the SAV policies need to change. Possible trigger conditions may involve: topology changes (e.g., interface status modified), policy updates (e.g., the new added IP source prefix affiliated interfaces), and attack response from external threats. Upon receiving a PCUpd message containing SAV-POLICY objects, the PCC MUST process the policies and respond with a PCRpt message containing the acknowledged SAV-POLICY objects.

5. IANA Considerations

IANA is requested to allocate the following values:

A new flag bit for SAV-CAPABILITY within the "STATEFUL-PCE-CAPABILITYTLV Flag Field" subregistry of the "Path Computation Element Protocol(PCEP) Numbers" registry.

A new object-class value and object type for the SAV-POLICY object within the "PCEP Objects" subregistry of the "Path Computation ElementProtocol (PCEP) Numbers" registry.

A new TLV Type Indicator value for SAV-POLICY-TLV within the "PCEP TLV Type Indicators" subregistry of the "Path Computation ElementProtocol (PCEP) Numbers" registry.

6. Security Considerations

PCE security introduced in PCE Architecture [RFC5394], PCEP [RFC5440] and stateful PCE [RFC8231] also applies for this draft. PCEP sessions for SAV policy distribution MUST use TLS 1.3 [RFC9846] to prevent tampering. SAVNET security considerations covered in [I-D.ietf-savnet-intra-domain-architecture] and [I-D.ietf-savnet-inter-domain-architecture] are also applicable to the PCE-based SAVNET solution defined in this document.

7. Acknowledgements

The authors would like to acknowledge Haisheng Wu and Zhenghai Wang for their helpful comments.

8. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC5440]
Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation Element (PCE) Communication Protocol (PCEP)", RFC 5440, DOI 10.17487/RFC5440, , <https://www.rfc-editor.org/info/rfc5440>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC8231]
Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path Computation Element Communication Protocol (PCEP) Extensions for Stateful PCE", RFC 8231, DOI 10.17487/RFC8231, , <https://www.rfc-editor.org/info/rfc8231>.

9. Informative References

[I-D.ietf-savnet-general-sav-capabilities]
Huang, M., Cheng, W., Li, D., Geng, N., and L. Chen, "General Source Address Validation Capabilities", Work in Progress, Internet-Draft, draft-ietf-savnet-general-sav-capabilities-03, , <https://datatracker.ietf.org/doc/html/draft-ietf-savnet-general-sav-capabilities-03>.
[I-D.ietf-savnet-inter-domain-architecture]
Li, D., Chen, L., Geng, N., Liu, L., and L. Qin, "Inter-domain Source Address Validation (SAVNET) Architecture", Work in Progress, Internet-Draft, draft-ietf-savnet-inter-domain-architecture-03, , <https://datatracker.ietf.org/doc/html/draft-ietf-savnet-inter-domain-architecture-03>.
[I-D.ietf-savnet-inter-domain-problem-statement]
Li, D., Qin, L., Liu, L., Huang, M., and K. Sriram, "Problem Statement, Gap Analysis, and Requirements for Inter-Domain Source Address Validation", Work in Progress, Internet-Draft, draft-ietf-savnet-inter-domain-problem-statement-21, , <https://datatracker.ietf.org/doc/html/draft-ietf-savnet-inter-domain-problem-statement-21>.
[I-D.ietf-savnet-intra-domain-architecture]
Li, D., Wu, J., Qin, L., Geng, N., and L. Chen, "Intra-domain Source Address Validation Architecture", Work in Progress, Internet-Draft, draft-ietf-savnet-intra-domain-architecture-04, , <https://datatracker.ietf.org/doc/html/draft-ietf-savnet-intra-domain-architecture-04>.
[I-D.ietf-savnet-intra-domain-problem-statement]
Qin, L., Li, D., Wu, J., Huang, M., and N. Geng, "Problem Statement, Gap Analysis, and Requirements for Intra-domain Source Address Validation", Work in Progress, Internet-Draft, draft-ietf-savnet-intra-domain-problem-statement-26, , <https://datatracker.ietf.org/doc/html/draft-ietf-savnet-intra-domain-problem-statement-26>.
[RFC3704]
Baker, F. and P. Savola, "Ingress Filtering for Multihomed Networks", BCP 84, RFC 3704, DOI 10.17487/RFC3704, , <https://www.rfc-editor.org/info/rfc3704>.
[RFC4655]
Farrel, A., Vasseur, J.-P., and J. Ash, "A Path Computation Element (PCE)-Based Architecture", RFC 4655, DOI 10.17487/RFC4655, , <https://www.rfc-editor.org/info/rfc4655>.
[RFC5394]
Bryskin, I., Papadimitriou, D., Berger, L., and J. Ash, "Policy-Enabled Path Computation Framework", RFC 5394, DOI 10.17487/RFC5394, , <https://www.rfc-editor.org/info/rfc5394>.
[RFC8051]
Zhang, X., Ed. and I. Minei, Ed., "Applicability of a Stateful Path Computation Element (PCE)", RFC 8051, DOI 10.17487/RFC8051, , <https://www.rfc-editor.org/info/rfc8051>.
[RFC9846]
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 9846, DOI 10.17487/RFC9846, , <https://www.rfc-editor.org/info/rfc9846>.

Authors' Addresses

Xueyan Song
ZTE Corp.
China
Weiqiang Cheng
China Mobile
China
Shengna Yue
China Mobile
China