<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.3.8) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-yang-spring-sid-as-source-address-07" category="std" consensus="true" submissionType="IETF" xml:lang="en">
  <front>
    <title abbrev="SID as source address">SID as source address in SRv6</title>

    <author initials="F." surname="Yang" fullname="Feng Yang">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>CN</country>
        </postal>
        <email>Email [REPLACE/DELETE]</email>
      </address>
    </author>
    <author initials="C." surname="Lin" fullname="Changwang Lin">
      <organization>New H3C Technologies</organization>
      <address>
        <postal>
          <country>CN</country>
        </postal>
        <email>linchangwang.04414@h3c.com</email>
      </address>
    </author>

    <date year="2025" month="December" day="16"/>

    <area>RTG</area>
    <workgroup>SPRING</workgroup>
    

    <abstract>


<?line 40?>

<t>SRv6 is being rapidly deployed and is currently primarily used in trusted-domain backbone networks. However, we have also observed that SRv6 is beginning to extend toward end-user devices, e.g., in SD-WAN deployments. SD-WAN can be deployed in third-party clouds or at customer sites, causing the physical boundary of SRv6 to become blurred. This introduces certain security issues, such as middlebox filtering and unauthorized access to others’ VPN in Section 8.1 and Section 6 in <xref target="I-D.draft-ietf-spring-srv6-security"></xref>. This proposal mitigates these risks by using SID as source address in SRv6 packets.</t>



    </abstract>



  </front>

  <middle>


<?line 44?>

<section anchor="introduction"><name>Introduction</name>

<t>SRv6 is being rapidly deployed and is currently primarily used in trusted-domain backbone networks. However, we have also observed that SRv6 is beginning to extend toward end-user devices, e.g., in SD-WAN deployments. SD-WAN can be deployed in third-party clouds or at customer sites, causing the physical boundary of SRv6 to become blurred. This introduces certain security issues, such as middlebox filtering and unauthorized access to others’ VPN in Section 8.1 and Section 6 in <xref target="I-D.draft-ietf-spring-srv6-security"></xref>. This proposal mitigates these risks by using SID as source address in SRv6 packets.</t>

<t>On one hand, SRv6 packets carry SIDs that dictate packet forwarding behavior; if a VPN SID is tampered, it will compromise the isolation of the VPN. On the other hand, using loopback as source address in SRv6 packets will cause legitimate traffic be blocked by the firewall. The reason has been elaborated in Section 8.1 of <xref target="I-D.draft-ietf-spring-srv6-security"></xref>. By using SID as source address can solve both issues.</t>

<section anchor="requirements-language"><name>Requirements Language</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

</section>
</section>
<section anchor="using-srv6-sid-as-source-address"><name>Using SRv6 SID as Source Address</name>

<t>There are still the following key gaps in current network technology:</t>

<t>Application-aware features. It is necessary to provide differentiated services based on the different services of the same user. For example, video conferencing needs to avoid stuttering or screen tearing due to congestion and packet loss to ensure a customer experience, while general web browsing services can strive for the best.</t>

<t>Data plane programming capabilities. Identify and classify user application data, and transfer it to the appropriate service-level tunnel based on the results.</t>

<t>Ability to perceive the user experience. Through real-time detection and perception of user-level service experience, it works with intelligent routing to ensure service assurance for high-priority services. Currently, there is a lack of traffic identification for rapid classification and statistical analysis of the user experience of this type of traffic.</t>

<t>Ability to prevent leakage of network services. The security of the access network is relatively poor, and there is a risk of leakage of information related to user applications.</t>

<section anchor="user-traffic"><name>User Traffic</name>

<t>There are several cases for using SRv6 SID as source address.</t>

<section anchor="l2-vpn-virtual-private-wire-servicevpws"><name>L2 VPN Virtual Private Wire Service(VPWS)</name>

<t>For L2 VPN VPWS case, the user traffic towards SRv6 provider backbone will be encapsulated in SRv6 tunnel. When constructing an SRv6 packet, the source address field of the SRv6 packet should be assigned with the local VPN  SID value of the PE device. The local VPN SID value can be determined by L2 Cross-Connect.</t>

<figure align="center" anchor="f1" title="L2 VPWS"><artwork type="ascii-art"><![CDATA[
   +------------+
   |    PE      |        +--------------+
   |            |        +      SRv6    +
---+---L2 VPWS--+--------+    Provider  +
   |            |        +    Backbone  +
   +------------+        +--------------+

]]></artwork></figure>

</section>
<section anchor="l2-vpn-virtual-private-lan-servicevpls"><name>L2 VPN Virtual Private LAN Service(VPLS)</name>

<t>For L2 VPN VPLS, the user traffic towards SRv6 provider backbone will be encapsulated in SRv6 tunnel. When constructing an SRv6 packet, the source address field of the SRv6 packet should be assigned with the local VPN SID value of the PE device. The local VPN SID value can be determined by L2 VPN VPLS.</t>

<figure align="center" anchor="f2" title="L2 VPLS"><artwork type="ascii-art"><![CDATA[
        +------------+
        |    PE      |        +------------+
        |  +------+  |        |    SRv6    |
--------+--+ VPLS +--+--------+  Provider  |
        |  +------+  |        |  Backbone  |
        +------------+        +------------+

]]></artwork></figure>

</section>
<section anchor="l3-ipv4ipv6-vpn-service"><name>L3 IPv4/IPv6 VPN Service</name>

<t>For L3 IPv4/IPv6 VPN Service case, the user traffic towards SRv6 provider backbone will be encapsulated in SRv6 tunnel. When constructing an SRv6 packet, the source address field of the SRv6 packet should be assigned with the local VPN SID value of the PE device. The local VPN SID value can be determined by the L3 IPv4/IPv6 VPN.</t>

<figure align="center" anchor="f3" title="L3 VPN"><artwork type="ascii-art"><![CDATA[
         +-------------+
         |     PE      |    +--------------+
+----+   |  +--------+ |    |     SRv6     |
| CE +---+--+Tenant--+-+----+   Provider   |
+----+   |  +--------+ |    |   Backbone   |
         +-------------+    +--------------+

]]></artwork></figure>

</section>
</section>
<section anchor="control-traffic"><name>Control Traffic</name>

<t>Control traffic will not be terminated by VPN, thus should not be impacted.</t>

</section>
<section anchor="oam-traffic"><name>OAM Traffic</name>

<t>OAM traffic terminated by the SRv6 tunnel may use the SRv6 SID as source address, such as ping, trace. Refer to RFC 8986 4.1.1, Allowing the processing of specific Upper-Layer header types is useful for Operations, Administration, and Maintenance (OAM).  As anexample, an operator might permit pinging of SIDs.  To do this, they may enable local configuration to allow Upper-Layer header type 58(ICMPv6).</t>

</section>
<section anchor="management-traffic"><name>Management Traffic</name>

<t>Management traffic will not be terminated by VPN, thus should not be impacted.</t>

</section>
</section>
<section anchor="using-source-address-for-validation-in-srv6-network"><name>Using Source Address for Validation in SRv6 Network</name>

<t>Refer to <xref target="f7"/>, when the traffic is passing through the SRv6 bearer network, the received traffic can be verified at the following two locations.</t>

<t><list style="symbols">
  <t>Ingress PE node of IPv6 backbone network</t>
  <t>C-PE node of destination tenant site or destination client network</t>
</list></t>

<section anchor="source-verification-on-the-srv6-tunnel-2nd-hop-node"><name>Source Verification on the SRv6 Tunnel 2nd Hop Node</name>

<t>Main reason for doing this is to prevent SRv6 tunnel source address fraud.</t>

<t>On the C-PE node, it will receive one or more local SRv6 SIDs configuration from controller or generate SRv6 SID locally. On the nexthop node, i.e. PE node, it can learn those SRv6 SID either from controller or IGP protocol.</t>

<t>Suppose the C-PE will generate SRv6 packets with the SRv6 SID as source address, when the SRv6 end point node next to the C-PE, i.e. PE node, receives the packets, it can do forward table lookup with incoming interface and source address as key for forwarding table lookup. If the lookup failed, it is considered as illegal traffic and should not be forwarded. Otherwise, the source address is legal.</t>

</section>
<section anchor="source-verification-on-the-srv6-tunnel-tail"><name>Source Verification on the SRv6 Tunnel Tail</name>

<t>Main reason for doing this is to prevent SRv6 tunnel tail SID fraud or misconfiguration. Only after the packet is forwarded to the SRv6 egress node (that is, the access point of the destination client network, such as C-PE) can we have the opportunity to continue to verify whether the packet is legal.</t>

<t>As mentioned before, the source C-PE will generate SRv6 packets with the SRv6 SID as source address. On the destination C-PE, it has source verification table with all of source VPN SIDs have been authorized for access.</t>

<t>After receiving SRv6 packet, based on the source address, it can check the SRv6 packet for authorized access.</t>

<t>If the SRv6 packet passes check, it will forward the SRv6 packet; otherwise, discard it.</t>

<section anchor="content-of-srv6-source-verification-entry"><name>Content of SRv6 Source Verification Entry</name>

<t>Every VPN will have a source verification table. And there are multiple source verification entries in the source verification table, and each table entry contains the following contents:</t>

<t>The source service address which is encapsulated as the outer source IPv6 address of the packet, used to identify the service of the source client network. For example, the source service SID of SRv6.</t>

<t>The source service address is the content that must be verified.</t>

</section>
<section anchor="management-of-srv6-source-verification-table"><name>Management of SRv6 Source Verification Table</name>

<t>The SRv6 source verification entry can be created in the following ways:</t>

<t><list style="symbols">
  <t>Manual static configuration on the SRv6 egress node. Configure the source address in local L3VPN/L2VPN source address Verification table.</t>
  <t>Dynamic creation after learning the service address of the source client network through BGP. When the L3VPN/L2VPN route with the remote L3VPN/L2VPN service id is inserted into the local VPN table, the relationship between the local L3VPN/L2VPN service sid of the destination VPN table and the remote L3VPN/L2VPN service id is recorded to form a dynamic source address Verification table in local VPN table.</t>
</list></t>

</section>
</section>
</section>
<section anchor="use-cases"><name>Use Cases</name>

<section anchor="srv6-network-with-sr-aware-stateful-firewall"><name>SRv6 Network with SR-aware Stateful Firewall</name>

<section anchor="problem-statement"><name>Problem Statement</name>

<t>To provide VPN service in an SRv6 network <xref target="RFC9252"></xref>, the ingress PE encapsulates the payload in an outer IPv6 header with the Segment Routing Header (SRH) <xref target="RFC8754"></xref> carrying the SR Policy segment list along with the VPN Service SID. If the VPN service is with best-effort connectivity, the destination address of the outer IPv6 header carries the VPN service SID and the SRH is omitted.</t>

<t>Along the forwarding path in the SRv6 network, firewalls may be deployed to filter the traffics. If a firewall is SR-aware, it will retrieve the final destination of an SRv6 packet from the last entry in the SRH rather than the destination address field of the IPv6 header <xref target="I-D.draft-ietf-spring-sr-service-programming"></xref>.</t>

<t>A stateful firewall keeps a track of the state of the network connections traveling across it. Whenever a packet arrives to seek permission to pass through it, the firewall checks from its state table if there is an active connection between identified by 3 tuple or 5 tuple. Thus only legitimate packets are allowed to be transmitted across it.</t>

<t><xref target="f4"/> and <xref target="f5"/> show the bidirectional VPN traffic packets passing through a firewall in an SRv6 network.</t>

<t>The source address of the outer IPv6 header is the IPv6 address of
   ingress PE. The final destination address of the outer IPv6 header
   is the VPN Service SID of egress PE. In the SR-Policy-based way, the
   final destination address is encapsulated in the last entry in the
   SRH, Segment[0]. In the best-effort way, the SRH is omitted.</t>

<figure align="center" anchor="f4" title="SR-Policy-based VPN Traffic across Firewall"><artwork type="ascii-art"><![CDATA[
+---+   +---+       +--------+       +---+   +---+
|CE1|---|PE1|--...--|Firewall|--...--|PE2|---|CE2|
+---+   +---+       +--------+       +---+   +---+

Packet (PE1 ---> PE2):        Packet (PE1 <--- PE2):
**********************        **********************
*        IPv6        *        *        IPv6        *
* SA=PE1-IP-ADDR     *        * SA=PE2-IP-ADDR     *
* DA=NextSegment     *        * DA=NextSegment     *
**********************        **********************
*        SRH         *        *        SRH         *
* Seg[0]=PE2-VPN-SID *        * Seg[0]=PE1-VPN-SID *
* Seg[...]           *        * Seg[...]           *
**********************        **********************
*    Eth/IPv4/IPv6   *        *    Eth/IPv4/IPv6   *
* Source=CE1         *        * Source=CE2         *
* Destination=CE2    *        * Destination=CE1    *
**********************        **********************
*       Payload      *        *       Payload      *
**********************        **********************

]]></artwork></figure>

<figure align="center" anchor="f5" title="Best-Effort VPN Traffic across Firewall"><artwork type="ascii-art"><![CDATA[
 +---+   +---+       +--------+       +---+   +---+
 |CE1|---|PE1|--...--|Firewall|--...--|PE2|---|CE2|
 +---+   +---+       +--------+       +---+   +---+

Packet (PE1 ---> PE2):        Packet (PE1 <--- PE2):
**********************        **********************
*        IPv6        *        *        IPv6        *
* SA=PE1-IP-ADDR     *        * SA=PE2-IP-ADDR     *
* DA=PE2-VPN-SID     *        * DA=PE1-VPN-SID     *
**********************        **********************
*    Eth/IPv4/IPv6   *        *    Eth/IPv4/IPv6   *
* Source=CE1         *        * Source=CE2         *
* Destination=CE2    *        * Destination=CE1    *
**********************        **********************
*       Payload      *        *       Payload      *
**********************        **********************

]]></artwork></figure>

<t>The stateful firewall will check the association relationships of the bidirectional VPN traffic packets. A common implementation may record the key information of the packets on forward way(internal to external), such as source address and destination address. When receiving a packet on backward way(external to internal), it checks the state table if there is an existing forward packet flow. For example, the firewall may require that the source address of packet on backward way matches the destination address of packet on forward way, and destination address will be checked in the similar way. If not matched, the packet on the backward path will be regarded as illegal and thus dropped.</t>

<t>An SR-aware firewall is able to retrieve the final destination of an SRv6 packet from the last entry in the SRH. The &lt;source, destination&gt; tuple of the packet from PE1 to PE2 is &lt;PE1-IP-ADDR, PE2-VPN-SID&gt;, and the other direction is &lt;PE2-IP-ADDR, PE1-VPN-SID&gt;. However, the source address of the outer IPv6 packet is usually a loopback interface of the ingress PE. Eventually, the source address and destination address of the forward and backward VPN traffic are regarded as different flow, and they may be blocked by the firewall.</t>

</section>
<section anchor="solution-for-srv6-traffic-pass-thru-sr-aware-stateful-firewall"><name>Solution for SRv6 Traffic Pass Thru SR-aware Stateful Firewall</name>

<t>In the SRv6-based VPN service, the final destination of the outer IPv6 header is the VPN-SID of the egress PE, which is associated with that VPN service. But the source address of the outer IPv6 header is usually unrelated to the VPN service. So, it can be difficult for a stateful firewall to establish the association relationship between the bidirectional traffic flows.</t>

<t>The proposed solution is to unify the semantic of the source and destination address thus ensure the symmetry of the bidirectional flow.</t>

<t>When an ingress PE receives the client packet from CE, it checks which L3 VPN service it belongs to, and uses the VPN-SID associated with that L3 VPN service as the source address when encapsulating the outer IPv6 header with the optional SRH.</t>

<figure align="center" anchor="f6" title="Outer IPv6 Header in the Proposed Solution"><artwork type="ascii-art"><![CDATA[
Outer IPv6 Header of SR-Policy-based VPN Traffic:

**********************        **********************
*        IPv6        *        *        IPv6        *
* SA=PE1-VPN-SID     *        * SA=PE2-VPN-SID     *
* DA=NextSegment     *        * DA=NextSegment     *
**********************        **********************
*        SRH         *        *        SRH         *
* Seg[0]=PE2-VPN-SID *        * Seg[0]=PE1-VPN-SID *
* Seg[...]           *        * Seg[...]           *
**********************        **********************

Outer IPv6 Header of Best-effort VPN Traffic:

**********************        **********************
*        IPv6        *        *        IPv6        *
* SA=PE1-VPN-SID     *        * SA=PE2-VPN-SID     *
* DA=PE2-VPN-SID     *        * DA=PE1-VPN-SID     *
**********************        **********************

]]></artwork></figure>

<t>According to <xref target="RFC8402"></xref> and <xref target="RFC8986"></xref>, an SRv6 VPN Service SID is an IPv6 address, and it is routable by its Locator prefix in the SRv6 network. In the proposed solution, when an SRv6 VPN Service SID is used as the source address of the outer IPv6 header in the SRv6 network, it is treated as a normal IPv6 address and does not perform any special behavior.</t>

</section>
</section>
<section anchor="enhanced-traffic-isolation-between-vpns"><name>Enhanced Traffic Isolation between VPNs</name>

<section anchor="problem-statement-1"><name>Problem Statement</name>

<t>As analyzed in <xref target="RFC5920"></xref>, there is no 100% safe network. There is a risk of traffic being hijacked or tampered anywhere in the network.</t>

<t>In SRv6 network when someone manipulate the SRH, he/she can reach any VPNs without authorized. In other words, VPN isolation needs be improved in the source routing scenario.</t>

<t>Taking the SRv6 SDWAN overlay network as an example, if C-PE is hijacked, misconfigured or misconnected, the services that should be isolated between CPE sites can be accessible to each other.</t>

<t>As shown in the figure below, C-PE is deployed in the tenant site, and the tenant of the site is responsible for operation and maintenance management. Normally users in client network 1 (CN1) of C-PE1 can only communicate with users in CN1 of other C-PEs through IPv6 backbone network. CN1 is isolated from other client networks, and traffic cannot be forwarded to each other.</t>

<figure align="center" anchor="f7" title=""><artwork type="ascii-art"><![CDATA[
                               +----+
                   +-----------| RR |----------+
                  /            +----+           \
                 /                               \
                /                                 \
+----+  +--------+                              +------+  +----+
| CN1|--|        A1----+                  +---- B1     |--| CN1|
+----+  | C-PE1  |     | +--------------+ |     | C-PE2|  +----+
+----+  |        A2--+-+-+              +-+-+   |      |  +----+
| CN2|--|        |   | PE|              |PE |---B2     |--| CN2|
+----+  +--------+   +---+              +---+   +------+  +----+
                         |     IPv6     |
+----+  +--------+   +---+    Network   +---+   +------+  +----+
| CN1|--|        C1--| PE|              |PE |-- D1     |--| CN1|
+----+  | C-PE3  |   +-+-+              +-+-+   | C-PE4|  +----+
        |        |     | +--------------+ |     |      |
+----+  |        |     |                  |     |      |  +----+
| CN3|--|        C2----+                  +-----D2     |--| CN3|
+----+  +--------+                              +------+  +----+
           |<=========== SRv6 Forwarding ===========>|

]]></artwork></figure>

<t>However, due to some misconfiguration or security issues, the destination address of VPN packets sent by C-PE to other destination client networks may be filled in as the service address of other client networks.</t>

<t>For example, the destination address of the traffic from CN1 of C-PE1 to CN1 of C-PE2 is misconfigured or tampered with as the service SID of CN3 of C-PE4. The traffic can be send to C-PE4. If the service SID happens to exist in CN3 of C-PE4, the traffic will be forwarded to CN3. This is a very serious security vulnerability for client networks that should be completely isolated.</t>

<t>In theory, the HMAC TLV in the SRH with integrity check on the way can address this problem. However, HMAC integrity check is hard to be supported by the routers hardware in line rate. Thus nobody actually do that on router.</t>

<t>By leveraging the routes' native search capability, we introduce a source address verification mechanism to address such problem.</t>

</section>
<section anchor="source-validation-solution-for-srv6-sdwan-network"><name>Source Validation Solution for SRv6 SDWAN Network</name>

<t>In the SRv6 SDWAN overlay network, in order to completely isolate the VPN services of different tenant sites, the SRv6 source verification function can be enabled on the C-PE of the tenant site connecting to the IPv6 backbone network. At the same time, specify which user sites from which C-PE can communicate with it on each C-PE.</t>

<t>That is, destination C-PE verifies the source VPN SID, destination VPN SID.</t>

<figure align="center" anchor="f8" title="SDWAN"><artwork type="ascii-art"><![CDATA[
                             +---+
              +--------------|RR |------------+
             /               +-+-+             \
            /                                   \
           /                                     \
+----+  +---------+      + -------------+       +------+  +----+
| CN1|--|         P1-----+              +------ P1     |--| CN1|
+----+  | C-PE1   P2-----+              |       | C-PE2|  +----+
+----+  |         P3-----+              +------ P2     |  +----+
| CN2|--|         |      |     IPv6     +------ P3     |--| CN3|
+----+  +---------+      |   Network    |       +------+  +-+--+
+----+  +---------+      |              |       +------+  +----+
| CN2|--|         P1-----+              +------ P1     |--| CN1|
+----+  | C-PE3   P2-----+              |       | C-PE4|  +----+
+----+  |         P3-----+              +------ P2     |  +----+
| CN3|--+---------+      + -------------+       +------+--| CN2|
+-+--+                                                    +----+
          |<=========== SRv6 Forwarding ===========>|

]]></artwork></figure>

<t>Taking the networking shown in <xref target="f8"/> as an example, C-PE1 connects two VPN tenants CN1 and CN2, and C-PE2 connects VPN tenants CN1 and CN3.</t>

<t>1) Configure VPN SID.</t>

<figure><artwork><![CDATA[
VPN SID on C-PE1:
   CN1:
      vpn-instance 1 end-dt4 100::100
   CN2:
      vpn-instance 2 end-dt4 100::200
VPN SID on C-PE2:
   CN1:
      vpn-instance 1 end-dt4 200::100
   CN3:
      vpn-instance 3 end-dt4 200::300
VPN SID on C-PE3:
   CN2:
      vpn-instance 2 end-dt4 300::200
   CN3:
      vpn-instance 3 end-dt4 300::300
VPN SID on C-PE4:
   CN1:
      vpn-instance 1 end-dt4 400::100
   CN2:
      vpn-instance 3 end-dt4 400::200

]]></artwork></figure>

<t>2) Configure source address verification entries.</t>

<figure><artwork><![CDATA[
Source address verification table on C-PE1:
      vpn-instance 1:
          Trusted-source-address 200::100
          Trusted-source-address 400::100
      Vpn-instance 2:
          Trusted-source-address 300::200
          Trusted-source-address 400::200
Source address verification table on C-PE2:
      Vpn-instance 1:
          Trusted-source-address 100::100
          Trusted-source-address 400::100
      Vpn-instance 3:
          Trusted-source-address 300::300

]]></artwork></figure>

</section>
<section anchor="source-validation-solution-for-srv6-core-network"><name>Source Validation Solution for SRv6 Core Network</name>

<t>Some operators are currently building, or plan to build an IPv6-only
   native infrastructure for their core network. These operators are
   also looking at the possibility to set up an explicit path based on
   the IPv6 source address for specific types of traffic in order to
   efficiently use their network infrastructure.  In such an
   environment, the IPv6 source address could be used by the edge nodes
   of the network to steer traffic and forward it through a specific
   path other than the optimal path. Additionally, one of the
   fundamental requirements for SRv6 core network architecture is to
   provide scalable, isolated tenant networks.</t>

<t>Due to some misconfiguration or security issues, when the traffic is
   pass through the SRv6 core network, the received traffic can be
   verified by source verification. The SRv6 source verification
   function can be enabled on the PE of the tenant network connecting
   to the PE-based SRv6 core network.</t>

<figure align="center" anchor="f9" title="PE-based SRv6 core network"><artwork type="ascii-art"><![CDATA[
              +---+
              |PE2|
              +-+-+
                ^
                |
                v
+---+         +-+-+        +---+
|PE1| <=====> | RR| <====> |PE3|
+-+-+         +---+        +-+-+
  |                          |
  +--- SRv6 core netowrk ----+

]]></artwork></figure>

</section>
</section>
</section>
<section anchor="IANA"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>
<section anchor="Security"><name>Security Considerations</name>

<t>TBD.</t>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC8200">
  <front>
    <title>Internet Protocol, Version 6 (IPv6) Specification</title>
    <author fullname="S. Deering" initials="S." surname="Deering"/>
    <author fullname="R. Hinden" initials="R." surname="Hinden"/>
    <date month="July" year="2017"/>
    <abstract>
      <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="86"/>
  <seriesInfo name="RFC" value="8200"/>
  <seriesInfo name="DOI" value="10.17487/RFC8200"/>
</reference>
<reference anchor="RFC8402">
  <front>
    <title>Segment Routing Architecture</title>
    <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
    <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
    <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
    <author fullname="B. Decraene" initials="B." surname="Decraene"/>
    <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
    <author fullname="R. Shakir" initials="R." surname="Shakir"/>
    <date month="July" year="2018"/>
    <abstract>
      <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
      <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
      <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8402"/>
  <seriesInfo name="DOI" value="10.17487/RFC8402"/>
</reference>
<reference anchor="RFC8754">
  <front>
    <title>IPv6 Segment Routing Header (SRH)</title>
    <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
    <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
    <author fullname="S. Previdi" initials="S." surname="Previdi"/>
    <author fullname="J. Leddy" initials="J." surname="Leddy"/>
    <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
    <author fullname="D. Voyer" initials="D." surname="Voyer"/>
    <date month="March" year="2020"/>
    <abstract>
      <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH). This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8754"/>
  <seriesInfo name="DOI" value="10.17487/RFC8754"/>
</reference>
<reference anchor="RFC8986">
  <front>
    <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
    <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
    <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
    <author fullname="J. Leddy" initials="J." surname="Leddy"/>
    <author fullname="D. Voyer" initials="D." surname="Voyer"/>
    <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
    <author fullname="Z. Li" initials="Z." surname="Li"/>
    <date month="February" year="2021"/>
    <abstract>
      <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
      <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
      <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8986"/>
  <seriesInfo name="DOI" value="10.17487/RFC8986"/>
</reference>
<reference anchor="RFC4301">
  <front>
    <title>Security Architecture for the Internet Protocol</title>
    <author fullname="S. Kent" initials="S." surname="Kent"/>
    <author fullname="K. Seo" initials="K." surname="Seo"/>
    <date month="December" year="2005"/>
    <abstract>
      <t>This document describes an updated version of the "Security Architecture for IP", which is designed to provide security services for traffic at the IP layer. This document obsoletes RFC 2401 (November 1998). [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4301"/>
  <seriesInfo name="DOI" value="10.17487/RFC4301"/>
</reference>
<reference anchor="RFC9252">
  <front>
    <title>BGP Overlay Services Based on Segment Routing over IPv6 (SRv6)</title>
    <author fullname="G. Dawra" initials="G." role="editor" surname="Dawra"/>
    <author fullname="K. Talaulikar" initials="K." role="editor" surname="Talaulikar"/>
    <author fullname="R. Raszuk" initials="R." surname="Raszuk"/>
    <author fullname="B. Decraene" initials="B." surname="Decraene"/>
    <author fullname="S. Zhuang" initials="S." surname="Zhuang"/>
    <author fullname="J. Rabadan" initials="J." surname="Rabadan"/>
    <date month="July" year="2022"/>
    <abstract>
      <t>This document defines procedures and messages for SRv6-based BGP services, including Layer 3 Virtual Private Network (L3VPN), Ethernet VPN (EVPN), and Internet services. It builds on "BGP/MPLS IP Virtual Private Networks (VPNs)" (RFC 4364) and "BGP MPLS-Based Ethernet VPN" (RFC 7432).</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9252"/>
  <seriesInfo name="DOI" value="10.17487/RFC9252"/>
</reference>
<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>



    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC5920">
  <front>
    <title>Security Framework for MPLS and GMPLS Networks</title>
    <author fullname="L. Fang" initials="L." role="editor" surname="Fang"/>
    <date month="July" year="2010"/>
    <abstract>
      <t>This document provides a security framework for Multiprotocol Label Switching (MPLS) and Generalized Multiprotocol Label Switching (GMPLS) Networks. This document addresses the security aspects that are relevant in the context of MPLS and GMPLS. It describes the security threats, the related defensive techniques, and the mechanisms for detection and reporting. This document emphasizes RSVP-TE and LDP security considerations, as well as inter-AS and inter-provider security considerations for building and maintaining MPLS and GMPLS networks across different domains or different Service Providers. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5920"/>
  <seriesInfo name="DOI" value="10.17487/RFC5920"/>
</reference>

<reference anchor="I-D.draft-ietf-spring-sr-service-programming">
   <front>
      <title>Service Programming with Segment Routing</title>
      <author fullname="Ahmed Abdelsalam" initials="A." surname="Abdelsalam">
         <organization>Cisco Systems, Inc.</organization>
      </author>
      <author fullname="Xiaohu Xu" initials="X." surname="Xu">
         <organization>China Mobile</organization>
      </author>
      <author fullname="Clarence Filsfils" initials="C." surname="Filsfils">
         <organization>Cisco Systems, Inc.</organization>
      </author>
      <author fullname="Daniel Bernier" initials="D." surname="Bernier">
         <organization>Bell Canada</organization>
      </author>
      <author fullname="Cheng Li" initials="C." surname="Li">
         <organization>Huawei</organization>
      </author>
      <author fullname="Bruno Decraene" initials="B." surname="Decraene">
         <organization>Orange</organization>
      </author>
      <author fullname="Shaowen Ma" initials="S." surname="Ma">
         <organization>Mellanox</organization>
      </author>
      <author fullname="Chaitanya Yadlapalli" initials="C." surname="Yadlapalli">
         <organization>AT&amp;T</organization>
      </author>
      <author fullname="Wim Henderickx" initials="W." surname="Henderickx">
         <organization>Nokia</organization>
      </author>
      <author fullname="Stefano Salsano" initials="S." surname="Salsano">
         <organization>Universita di Roma &quot;Tor Vergata&quot;</organization>
      </author>
      <date day="3" month="November" year="2025"/>
      <abstract>
	 <t>   This document defines data plane functionality required to implement
   service segments and achieve service programming in SR-enabled MPLS
   and IPv6 networks, as described in the Segment Routing architecture.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-spring-sr-service-programming-12"/>
   
</reference>

<reference anchor="I-D.draft-ietf-spring-srv6-security">
   <front>
      <title>Segment Routing IPv6 Security Considerations</title>
      <author fullname="Nick Buraglio" initials="N." surname="Buraglio">
         <organization>Energy Sciences Network</organization>
      </author>
      <author fullname="Tal Mizrahi" initials="T." surname="Mizrahi">
         <organization>Huawei</organization>
      </author>
      <author fullname="tongtian124" initials="" surname="tongtian124">
         <organization>China Unicom</organization>
      </author>
      <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
         <organization>Telefonica</organization>
      </author>
      <author fullname="Fernando Gont" initials="F." surname="Gont">
         <organization>SI6 Networks</organization>
      </author>
      <date day="6" month="November" year="2025"/>
      <abstract>
	 <t>   SRv6 is a traffic engineering, encapsulation and steering mechanism
   utilizing IPv6 addresses to identify segments in a pre-defined
   policy.  This document discusses security considerations in SRv6
   networks, including the potential threats and the possible mitigation
   methods.  The document does not define any new security protocols or
   extensions to existing protocols.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-spring-srv6-security-09"/>
   
</reference>



    </references>

</references>



  </back>

<!-- ##markdown-source:
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

-->

</rfc>

