A method and apparatus for implementing SRV6 SFC dual stack
By using static END.AS configuration and tunnel bearer in SRV6 SFC, the service type is identified and the next hop is selected for processing, which solves the problem of unified forwarding of IPv4/IPv6 dual-stack services, simplifies the configuration and saves resources.
Patent Information
- Application Number
- CN202310239213.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-07
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2043-03-07
AI Technical Summary
In existing technologies, SRv6 SFC configuration is complex, resources are wasted, and it cannot achieve unified processing of IPv4/IPv6 dual-stack services.
The static END.AS is used to configure the next hop for IPv4 and IPv6 dual-stack services, which are carried in the same SRV6 TE POLICY tunnel. The service type is identified by stripping the outer IPv6 header and SRH header, and the corresponding next hop is selected for processing.
It simplifies configuration, saves resources, enables unified forwarding of IPv4 and IPv6 dual-stack services, and reduces the waste of storage space.
Smart Images

Figure CN116366592B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of IPv6 / SRV6 / SFC communication technology, and particularly to a method and apparatus for implementing SRV6 SFC dual stack. Background Technology
[0002] Service Function Chain (SFC) is a technology that provides ordered services to the application layer. SFC logically connects services on network devices to form an ordered service composition. SFC achieves this by adding service chain path information to the original packets, ensuring that packets pass through service devices sequentially along a specified path. When data packets are transmitted through the network, they often need to pass through various service nodes to ensure that the network can provide users with secure, fast, and stable services according to a pre-planned schedule. These service nodes include well-known firewalls (FW), intrusion prevention systems (IPS), application accelerators, and NAT, etc. Network traffic needs to pass through these service nodes in a predetermined order required by the business logic to achieve the required service.
[0003] In related technologies, SRv6-aware SF (SRv6 service function) can identify and process received SRv6 (Segment Routing Ipv6) packets. In this case, the service chain can be implemented by directly orchestrating the SF's SID into the service chain path. SRv6-unaware SF does not recognize SRv6 packets and discards them after receiving them. In this scenario, an SF proxy needs to be configured to implement the service chain.
[0004] Research has found that, based on the data forwarding method of SRv6 SFC in related technologies, the SFF (Service Function Proxy) proxy and SF must use either an IPv4 next hop or an IPv6 next hop. The END.AS SID needs to be created separately for IPv4 / IPv6 services, and similarly, two cache l ists need to be created for IPv4 / IPv6. The first site needs to enter different tunnels and reference different END.AS based on the user packet type (v4 / v6) to implement the static proxy function. This results in complex configuration, wasted resources, and an inability to implement dual-stack like ordinary services. Summary of the Invention
[0005] This invention provides a method and apparatus for implementing SRV6 SFC dual-stack, enabling customers to access SFF and SF for dual-stack services, while simplifying configuration and saving resources.
[0006] In a first aspect, embodiments of the present invention provide a method for implementing an SRV6 SFC dual-stack, characterized in that the method includes the following steps:
[0007] Use static END.AS between the SFF proxy and SF to configure the next hop for IPv4 and IPv6 dual-stack services;
[0008] The IPv4 and IPv6 dual-stack services are carried within the same SRV6 TE POLICY tunnel;
[0009] The same static END.AS SID is used to process the IPv4 and IPv6 dual-stack services, and the service type is identified by stripping the outer IPv6 header and SRH header.
[0010] The corresponding next hop is selected based on the service type to enable forwarding of IPv4 and IPv6 dual-stack services.
[0011] In some embodiments, the next-hop configuration for IPv4 and IPv6 dual-stack services using a static END.AS between the SFF proxy and SF includes the following steps:
[0012] Multiple IPv4 next hops and multiple IPv6 next hops are configured using static END.AS, so that the IPv4 next hop is associated with ARP and the IPv6 next hop is associated with NDP;
[0013] This enables the multiple IPv4 next hops and multiple IPv6 next hops to form the same ECMP protection group.
[0014] In some embodiments, the next-hop configuration for IPv4 and IPv6 dual-stack services using a static END.AS between the SFF proxy and SF further includes the step of:
[0015] Configure the END.AS SID label on the SFF node. The configuration content of the END.AS SID label includes services that support IPv4 / IPv6 dual stack, the next hop and exit point of IPv4 to SF, the next hop and exit point of IPv6 to SF, and the cache list information required for the message returned from SF to restore SRH information.
[0016] In some embodiments, carrying the IPv4 and IPv6 dual-stack services within the same SRV6 TE POLICY tunnel includes the following steps:
[0017] Configure a static SEGMENT LIST path on SC such that the SID of the static SEGMENT LIST path includes the END.AS SID tag of the SFF and the END SID tag of the Tail node;
[0018] Configure the SRV6 TE POLICY tunnel and reference the SEGMENT LIST path. Use routing policies or ACLs to bind the VPNv4 and VPNv6 routes accessed by the SC to the SRV6 TE POLICY tunnel so that the IPv4 and IPv6 dual-stack services can be carried in the same SRV6 TE POLICY tunnel.
[0019] In some embodiments, the step of selecting the corresponding next hop based on the service type includes the following steps:
[0020] If the service type is v4 service, then:
[0021] The ECMP protection group ID index is used to access the ecmp_attr table, which is configured using the protection group srv6_path.
[0022] Obtain v4_nh_num within the ECMP protection group;
[0023] Use the ECMP protection group ID index to find the starting address of the ecmp_member table to obtain the next hop for the corresponding v4 service.
[0024] In some embodiments, the step of selecting the corresponding next hop based on the service type includes the following steps:
[0025] If the service type is v6 service, then:
[0026] The ECMP protection group ID index is used to access the ecmp_attr table, which is configured using the protection group srv6_path.
[0027] Obtain v4_nh_num and v6_nh_num within the ECMP protection group;
[0028] The starting address of the ecmp_member table is indexed using the ECMP protection group ID, and then offset by v4_nh_num addresses from the starting address of the ecmp_member table to obtain the next hop for the corresponding v6 service.
[0029] Secondly, embodiments of the present invention provide an implementation apparatus for SRV6 SFC dual stack, characterized in that the method includes the following steps:
[0030] The static proxy configuration module is used to configure the next hop for IPv4 and IPv6 dual-stack services between the SFF proxy and SF using a static END.AS.
[0031] The tunnel bearer configuration module is used to bear the IPv4 and IPv6 dual-stack services in the same SRV6 TE POLICY tunnel;
[0032] The business processing module is used for:
[0033] The same static END.AS SID is used to process the IPv4 and IPv6 dual-stack services, and the service type is identified by stripping the outer IPv6 header and SRH header.
[0034] The corresponding next hop is selected based on the service type to enable forwarding of IPv4 and IPv6 dual-stack services.
[0035] In some embodiments, the static proxy configuration module is further used for:
[0036] Multiple IPv4 next hops and multiple IPv6 next hops are configured using static END.AS, so that the IPv4 next hop is associated with ARP and the IPv6 next hop is associated with NDP;
[0037] This enables the multiple IPv4 next hops and multiple IPv6 next hops to form the same ECMP protection group.
[0038] In some embodiments, the tunnel bearer configuration module is further configured to:
[0039] Configure a static SEGMENT LIST path on SC such that the SID of the static SEGMENT LIST path includes the END.AS SID tag of the SFF and the END SID tag of the Tail node;
[0040] Configure the SRV6 TE POLICY tunnel and reference the SEGMENT LIST path. Use routing policies or ACLs to bind the VPNv4 and VPNv6 routes accessed by the SC to the SRV6 TE POLICY tunnel so that the IPv4 and IPv6 dual-stack services can be carried in the same SRV6 TE POLICY tunnel.
[0041] In some embodiments, the service processing module is further configured to:
[0042] If the service type is v4 service, then:
[0043] The ECMP protection group ID index is used in the ecmp_attr table configured by the protection group srv6_path;
[0044] Obtain v4_nh_num within the ECMP protection group;
[0045] Use the ECMP protection group ID index to find the starting address of the ecmp_member table to obtain the next hop for the corresponding v4 service.
[0046] If the service type is v6 service, then:
[0047] The ECMP protection group ID index is used in the ecmp_attr table configured by the protection group srv6_path;
[0048] Obtain v4_nh_num and v6_nh_num within the ECMP protection group;
[0049] The starting address of the ecmp_member table is indexed using the ECMP protection group ID, and then offset by v4_nh_num addresses from the starting address of the ecmp_member table to obtain the next hop for the corresponding v6 service.
[0050] This invention provides a method and apparatus for implementing SRV6 SFC dual-stack. Dual-stack next-hop configuration is supported between the SFF proxy and SF. Dual-stack services at the first site (v4 / v6) can enter the same tunnel and use an END.AS to implement static proxy functionality. Both IPv4 and IPv6 services are processed simultaneously using an END.AS SID label. Different next hops are selected between the SFF and SF based on the service type, simplifying configuration and saving storage space. Furthermore, since VPNv4 / VPNv6 is carried through a Political tunnel that uses a SEGMENT LIST containing the END.AS static proxy label, the static proxy node simultaneously strips the outer IPv6 header and SRH header of the V4 / V6 service and sends it to the SF for processing. After processing, the SF sends the service packet back to the SFF. The SFF then uses the configured cache list to restore the outer IPv6 header and SRH header of the packet before forwarding it as a normal SRV6 packet. Therefore, dual-stack services returning from the SF can be restored using the same cache list. Attached Figure Description
[0051] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0052] Figure 1 A flowchart illustrating an implementation method of SRV6 SFC dual-stack provided in an embodiment of the present invention;
[0053] Figure 2 A schematic diagram illustrating an application scenario of an SRV6 SFC dual-stack implementation method provided in an embodiment of the present invention;
[0054] Figure 3 A schematic diagram of the structure of an SRV6 SFC dual-stack implementation device provided in an embodiment of the present invention;
[0055] Figure 4 This is a schematic diagram illustrating the detailed forwarding implementation from the SFF node to the SF node provided in an embodiment of the present invention. Detailed Implementation
[0056] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0057] like Figure 1 As shown, this embodiment of the invention provides a method for implementing an SRV6 SFC dual-stack, including the following steps:
[0058] S100: Configure the next-hop for IPv4 and IPv6 dual-stack services between the SFF proxy and SF using a static END.AS.
[0059] S200: The IPv4 and IPv6 dual-stack services are carried within the same SRV6 TE POLICY tunnel;
[0060] S300: Refers to the same static END.AS SID to process the IPv4 and IPv6 dual-stack services, and identifies the service type by stripping the outer IPv6 header and SRH header;
[0061] S400: Select the corresponding next hop according to the service type to process and realize the forwarding of IPv4 and IPv6 dual-stack services.
[0062] Understandably, SRV6 messages generally refer to messages carrying an SRH header. Messages entering the SFF from the SC (Service Classifier) carry an SRH header, which is stripped by the SFF before entering the SF. Once inside the SF, the SRH header is removed, but upon returning to the SFF from the SF, the SFF adds the SRH header back, and then forwards the message with the SRH header.
[0063] This invention addresses the need for static proxy SFFs to handle SRH decapsulation and encapsulation, as related technologies do not support SRH functionality. It also addresses the requirement for manual cache list configuration by static proxies to recover SRH information. Therefore, this invention provides a method and apparatus for implementing dual-stack SRV6 SFCs. Dual-stack next-hop configuration is supported between the SFF proxy and the SF. Both IPv4 and IPv6 dual-stack services at the primary site can enter the same tunnel, and a single END.AS is used to implement static proxy functionality. An END.AS SID label is used to handle both IPv4 and IPv6 services simultaneously, and different next-hops are selected between the SFF and SF based on the service type, simplifying configuration and saving storage space. Meanwhile, it's understandable that since VPNv4 / VPNv6 is carried through a political tunnel, which references a SEGMENT LIST containing a static proxy tag named END.AS, the static proxy node simultaneously strips the outer IPv6 header and SRH header from the V4 / V6 service packets and sends them to the SF for processing. After processing, the SF sends the service packets back to the SFF. The SFF then uses the configured cache list to restore the outer IPv6 header and SRH header of the packet before forwarding it as a normal SRV6 packet. Therefore, dual-stack services returning from the SF can be restored using the same cache list.
[0064] In some embodiments, S100 includes the step of:
[0065] S110: Use static END.AS to configure multiple IPv4 next hops and multiple IPv6 next hops, so that the IPv4 next hop is associated with ARP and the IPv6 next hop is associated with NDP;
[0066] S120: Form the same ECMP protection group among the multiple IPv4 next hops and the multiple IPv6 next hops.
[0067] Understandably, after configuring the S100, a structure like the one shown can be formed on the SFF node. Figure 4 The forwarding entries shown.
[0068] This embodiment considers that END.AS SIDs can be created separately for IPv4 and IPv6 services, and similarly, cache list can also be created separately for IPv4 and IPv6. This would lead to complex configuration and wasted storage space. Therefore, it proposes to use one END.AS for IPv4 and IPv6 services to share, and to configure the IPv4 and IPv6 next hops under one END.AS for separate use by IPv4 and IPv6 services.
[0069] Preferably, in S100, when configuring the END.AS SID label on the SFF node, the configuration content of the END.AS SID label includes services supporting IPv4 / IPv6 dual stack, the next hop and egress point for IPv4 to reach the SF, the next hop and egress point for IPv6 to reach the SF, and the cache l ist information required for restoring SRH information from packets returned from the SF. This embodiment configures a cache l ist for shared use by IPv4 / IPv6 service packets returning from the SF.
[0070] In some embodiments, S200 includes:
[0071] S210: Configure a static SEGMENT LIST path on SC such that the SID of the static SEGMENT LIST path includes the END.AS SID tag of the SFF and the END SID tag of the Tail node;
[0072] S220: Configure the SRV6 TE POLICY tunnel and reference the SEGMENT LIST path. Use routing policies or ACLs to bind the VPNv4 and VPNv6 routes accessed by the SC to the SRV6 TE POLICY tunnel so that the IPv4 and IPv6 dual-stack services can be carried in the same SRV6 TE POLICY tunnel.
[0073] Understandably, by first configuring the SEGMENT LIST (a string of SIDs representing paths) and then configuring the POLICY (which references the SEGMENT LIST), VPNv4 and VPNv6 routes are matched with the configured policies and POLICYs. The corresponding VPN services are then bound to the POLICY tunnel for transmission, and forwarding occurs hop-by-hop according to the labels constrained by the SEGMENT LIST. This embodiment uses the same tunnel to direct both IPv4 and IPv6 dual-stack service traffic to the SFF node.
[0074] In some implementations of S300, when a packet arrives at the SFF node, the packet DIP checks the routing table and finds that it is of the END.AS label type (indicating it needs to be sent to the SF), then strips the outer IPv6 header and SRH header. Only then, based on the payload type, does it select the next hop corresponding to the type and deliver the packet to the SF.
[0075] In some embodiments, when selecting the corresponding next hop for processing according to the service type in S400, if the service type is v4 service, then:
[0076] S410: Use the ECMP protection group ID index ecmp_attr table configured by the protection group srv6_path;
[0077] S420: Obtain v4_nh_num within the ECMP protection group;
[0078] S430: Use the ECMP protection group ID index to find the starting address of the ecmp_member table to obtain the next hop for the corresponding v4 service.
[0079] In some embodiments, when selecting the corresponding next hop for processing according to the service type in S400, if the service type is v6 service, then:
[0080] S440: Utilize the ECMP protection group ID index ecmp_attr table configured by the protection group srv6_path;
[0081] S450: Obtain v4_nh_num and v6_nh_num within the ECMP protection group;
[0082] S460: Use the ECMP protection group ID index to find the starting address of the ecmp_member table, and offset the starting address of the ecmp_member table by v4_nh_num addresses to obtain the next hop for the corresponding v6 service.
[0083] Understandably, it can be based on, for example Figure 4 As shown in the forwarding table, after a packet enters the SFF node, it looks up the IPv6 routing table based on the packet's DIP. The lookup indicates that the route type or action is END.AS. Therefore, the outer IPv6 header and SRH header are stripped from the packet, leaving the user packet payload. The user's packet payload is divided into IPv4 and IPv6.
[0084] like Figure 2 As shown, in a specific embodiment, the specific steps for implementing the SRV6 SFC dual-stack include:
[0085] S01, configure basic IPv4 and IPv6 configurations on the SC / SFF / SF / TAIL nodes (such as configuring interface IP addresses and other basic configurations of data communication devices).
[0086] S02, Configure the IGP protocol on the SC / SFF / TAIL node and enable SRv6 (even if SRv6 messages can be recognized).
[0087] S03, Configure the BGP protocol between SC / TAIL nodes.
[0088] S04. Configure the END.AS SID label on the SFF node and configure related content, such as supporting IPv4 / IPv6 dual-stack services, the next hop and exit point for IPv4 to reach SF, the next hop and exit point for IPv6 to reach SF, and the cache l ist information required to recover SRH information from packets returned from SF.
[0089] S05. Configure a static SEGMENT LIST path on the SC node (including configuring the corresponding routing policy to associate or bind VPN routes with the TE POLICY tunnel), constraining the SID to be the END.AS SID label of the SFF and the END SID label of the TAIL node. Configure the SRV6 TE POLICY tunnel and reference the above SEGMENT LIST. Use routing policies or ACLs to bind the VPNv4 and VPNv6 routes accessed by the SC to the above SRV6 TE POLICY tunnel, completing the bearing of IPv4 / IPv6 dual-stack services in the same SRV6 TE POLICY tunnel.
[0090] S06 encapsulates VPNv4 and VPNv6 services (i.e., IPv4 / IPv6 dual-stack services) based on an SRV6 TE POLICY tunnel. Specifically, VPNv4 and VPNv6 services are encapsulated through an SRV6 TE POLICY tunnel. The outer IPv6 header's DIP is the SFF node's END.AS SID label, and the inner SRH contains the TAIL node's END SID label, as well as the END.DT4 or END.DT6 SID label assigned by the TAIL node to this VPN (depending on the VPN type).
[0091] S07, this type of message (including SRv6 messages for VPNv4 or VPNv6 services) arrives at the SFF node for processing. Specifically, as follows: Figure 3As shown, the forwarding engine uses IPv6 DIP to query the routing table or the LOCAL SID table, finding a corresponding SID label of type END.AS. This label is associated with an index of the SRV6_PATH table, which stores the configuration from step four. The ecmp_id in this table is used to index the ecmp_attr attribute table; ecmp_id*8 is used to index the ecmp_member table. It's understandable that since SF does not support SRV6 (SRH header), SFF removes the SRV6 (SRH header) before sending it to SF. Traffic entering SFF includes both IPv4 and IPv6, both of which have outer IPv6 and SRH headers. These two types of traffic are processed through the ECMP protection group formed by the IPv4 / IPv6 next hop. Specifically, the outer IPv6 and SRH headers are stripped, and the corresponding next hop is selected for forwarding based on the internal V4 / V6 type.
[0092] Understandably, the `ecmp_attr` attribute table stores the number of IPv4 next hops (`v4_nh_num`) and the number of IPv6 next hops (`v6_nh_num`) reaching SF. The `ecmp_member` member table stores the entry IDs of the `v4_nh_num` next hops for IPv4 services reaching SF, and the entry IDs of the `v6_nh_num` next hops for IPv6 services reaching SF.
[0093] S08, execute the action of labeling the SID tag of type END.AS, stripping the outer IPv6 header and SRH header, and identifying the type of the inner payload. Since it is the same SID tag of type END.AS, if it is a v4 service, the number of v4_nh_num entries within the ECMP protection group and the v4 next-hop entry ID in the ecmp_member member table are obtained using the ecmp_attr attribute table and ecmp_member member table. Load balancing is then achieved by hashing among these next-hop entry IDs. If it is a v6 service, the number of v6_nh_num entries within the ECMP protection group and the v6 next-hop entry ID in the ecmp_member member table are obtained using the ecmp_attr attribute table and ecmp_member member table. Load balancing is then achieved by hashing among these next-hop entry IDs.
[0094] S09, after the v4 / v6 packets (IPv4 / IPv6 user packets without SRH headers) are processed and returned by the SF, the SFF identifies the v4 / v6 type of the packet, encapsulates the cache list information configured in step S04, and continues to forward it to the TAIL node.
[0095] On the other hand, such as Figure 3 As shown, this embodiment of the invention also provides an implementation apparatus for SRV6 SFC dual stack, characterized in that the method includes the following steps:
[0096] The static proxy configuration module is used to configure the next hop for IPv4 and IPv6 dual-stack services between the SFF proxy and SF using a static END.AS.
[0097] The tunnel bearer configuration module is used to bear the IPv4 and IPv6 dual-stack services in the same SRV6 TE POLICY tunnel;
[0098] The business processing module is used for:
[0099] The same static END.AS SID is used to process the IPv4 and IPv6 dual-stack services, and the service type is identified by stripping the outer IPv6 header and SRH header.
[0100] The corresponding next hop is selected based on the service type to enable forwarding of IPv4 and IPv6 dual-stack services.
[0101] In some embodiments, the static proxy configuration module is further used for:
[0102] Multiple IPv4 next hops and multiple IPv6 next hops are configured using static END.AS, so that the IPv4 next hop is associated with ARP and the IPv6 next hop is associated with NDP;
[0103] This enables the multiple IPv4 next hops and multiple IPv6 next hops to form the same ECMP protection group.
[0104] In some embodiments, the tunnel bearer configuration module is further configured to:
[0105] Configure a static SEGMENT LIST path on SC such that the SID of the static SEGMENT LIST path includes the END.AS SID tag of the SFF and the END SID tag of the Tail node;
[0106] Configure the SRV6 TE POLICY tunnel and reference the SEGMENT LIST path. Use routing policies or ACLs to bind the VPNv4 and VPNv6 routes accessed by the SC to the SRV6 TE POLICY tunnel so that the IPv4 and IPv6 dual-stack services can be carried in the same SRV6 TE POLICY tunnel.
[0107] In some embodiments, the service processing module is further configured to:
[0108] If the service type is v4 service, then:
[0109] The ECMP protection group ID index is used to access the ecmp_attr table, which is configured using the protection group srv6_path.
[0110] Obtain v4_nh_num within the ECMP protection group;
[0111] Use the ECMP protection group ID index to find the starting address of the ecmp_member table to obtain the next hop for the corresponding v4 service.
[0112] If the service type is v6 service, then:
[0113] The ECMP protection group ID index is used to access the ecmp_attr table, which is configured using the protection group srv6_path.
[0114] Obtain v4_nh_num and v6_nh_num within the ECMP protection group;
[0115] The starting address of the ecmp_member table is indexed using the ECMP protection group ID, and then offset by v4_nh_num addresses from the starting address of the ecmp_member table to obtain the next hop for the corresponding v6 service.
[0116] Those skilled in the art will understand that all or some of the steps, systems, and apparatuses disclosed above, and their functional modules / units, can be implemented as software, firmware, hardware, or suitable combinations thereof. In hardware implementations, the division between functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed collaboratively by several physical components. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit (ASIC). Such software can be distributed on a computer-readable storage medium, which may include computer-readable storage media (or non-transitory media) and communication media (or transient media).
[0117] It should be noted that in this invention, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0118] The above description is merely a specific embodiment of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A method for implementing an SRV6 SFC dual-stack, characterized in that, The method includes the following steps: Use static END.AS between the SFF proxy and SF to configure the next hop for IPv4 and IPv6 dual-stack services; The IPv4 and IPv6 dual-stack services are carried within the same SRV6 TE POLICY tunnel; The same static END.AS SID is used to process the IPv4 and IPv6 dual-stack services, and the service type is identified by stripping the outer IPv6 header and SRH header. Select the corresponding next hop according to the service type to process and realize the forwarding of IPv4 and IPv6 dual-stack services; The next-hop configuration for IPv4 and IPv6 dual-stack services using a static END.AS between the SFF proxy and SF includes the following steps: Multiple IPv4 next hops and multiple IPv6 next hops are configured using static END.AS, so that the IPv4 next hop is associated with ARP and the IPv6 next hop is associated with NDP; This enables the multiple IPv4 next hops and multiple IPv6 next hops to form the same ECMP protection group.
2. The implementation method of SRV6 SFC dual stack as described in claim 1, characterized in that, The method of configuring the next-hop for IPv4 and IPv6 dual-stack services between the SFF proxy and SF using a static END.AS file also includes the following steps: Configure the END.AS SID label on the SFF node. The configuration content of the END.AS SID label includes services that support IPv4 / IPv6 dual stack, the next hop and exit point of IPv4 to SF, the next hop and exit point of IPv6 to SF, and the cache list information required for restoring SRH information from packets returned from SF.
3. The implementation method of SRV6 SFC dual stack as described in claim 1, characterized in that, Carrying the IPv4 and IPv6 dual-stack services within the same SRV6 TEPOLICY tunnel includes the following steps: Configure a static SEGMENT LIST path on SC such that the SID of the static SEGMENT LIST path includes the END.AS SID label of the SFF and the END SID label of the Tail node; Configure the SRV6 TE POLICY tunnel and reference the SEGMENT LIST path. Use routing policies or ACLs to bind the VPNv4 and VPNv6 routes accessed by the SC to the SRV6 TE POLICY tunnel so that the IPv4 and IPv6 dual-stack services can be carried in the same SRV6 TE POLICY tunnel.
4. The implementation method of SRV6 SFC dual stack as described in claim 1, characterized in that, The step of selecting the corresponding next hop based on the service type includes the following steps: If the service type is v4 service, then: The ECMP protection group ID index is used in the ecmp_attr table configured by the protection group srv6_path; Obtain v4_nh_num within the ECMP protection group; Use the ECMP protection group ID index to find the starting address of the ecmp_member table to obtain the next hop for the corresponding v4 service.
5. The implementation method of SRV6 SFC dual stack as described in claim 1, characterized in that, The step of selecting the corresponding next hop based on the service type includes the following steps: If the service type is v6 service, then: The ECMP protection group ID index is used in the ecmp_attr table configured by the protection group srv6_path; Obtain v4_nh_num and v6_nh_num within the ECMP protection group; The starting address of the ecmp_member table is indexed using the ECMP protection group ID, and then offset by v4_nh_num addresses from the starting address of the ecmp_member table to obtain the next hop for the corresponding v6 service.
6. An implementation device for SRV6 SFC dual-stack, characterized in that, The device includes: The static proxy configuration module is used to configure the next hop for IPv4 and IPv6 dual-stack services between the SFF proxy and SF using a static END.AS. The tunnel bearer configuration module is used to bear the IPv4 and IPv6 dual-stack services in the same SRV6 TE POLICY tunnel; The business processing module is used for: The same static END.AS SID is used to process the IPv4 and IPv6 dual-stack services, and the service type is identified by stripping the outer IPv6 header and SRH header. Select the corresponding next hop according to the service type to process and realize the forwarding of IPv4 and IPv6 dual-stack services; The static proxy configuration module is also used for: Multiple IPv4 next hops and multiple IPv6 next hops are configured using static END.AS, so that the IPv4 next hop is associated with ARP and the IPv6 next hop is associated with NDP; This enables the multiple IPv4 next hops and multiple IPv6 next hops to form the same ECMP protection group.
7. The SRV6 SFC dual-stack implementation apparatus as described in claim 6, characterized in that, The tunnel carrying configuration module is also used for: Configure a static SEGMENT LIST path on SC such that the SID of the static SEGMENT LIST path includes the END.AS SID label of the SFF and the END SID label of the Tail node; Configure the SRV6 TE POLICY tunnel and reference the SEGMENT LIST path. Use routing policies or ACLs to bind the VPNv4 and VPNv6 routes accessed by the SC to the SRV6 TE POLICY tunnel so that the IPv4 and IPv6 dual-stack services can be carried in the same SRV6 TE POLICY tunnel.
8. The SRV6 SFC dual-stack implementation apparatus as described in claim 6, characterized in that, The business processing module is also used for: If the service type is v4 service, then: The ECMP protection group ID index is used in the ecmp_attr table configured by the protection group srv6_path; Obtain v4_nh_num within the ECMP protection group; Use the ECMP protection group ID index to find the starting address of the ecmp_member table to obtain the next hop for the corresponding v4 service; If the service type is v6 service, then: The ECMP protection group ID index is used in the ecmp_attr table configured by the protection group srv6_path; Obtain v4_nh_num and v6_nh_num within the ECMP protection group; The starting address of the ecmp_member table is indexed using the ECMP protection group ID, and then offset by v4_nh_num addresses from the starting address of the ecmp_member table to obtain the next hop for the corresponding v6 service.
Citation Information
Patent Citations
Message forwarding method, device and system and computer readable storage medium
CN110636003A
Message processing method, device and system
CN115426305A