A VPP-based SRv6 traffic scheduling method and control system
Patent Information
- Application Number
- CN202210769445.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-30
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2042-06-30
AI Technical Summary
[0005]要在云化资源池中实现安全防护的自动化,根据上层用户的安全业务需求,构建安全服务链,采用虚拟化路由器实现云化环境下的引引流调度控制,目前业界还没有成熟的方案及产品,结合VPP如何有效的实现流量调度控制是个关键难题
[0052] Compared with the prior art, the advantages of this invention are as follows:
Smart Images

Figure CN117376231B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of Internet technology, and more specifically, to an SRv6 traffic scheduling method and control system based on VPP. Background Technology
[0002] SRv6 applies Segment Routing technology to the IPv6 data plane, inserting SRHs (Segment Names) into IPv6 packets. The SRH packets contain a Segment List represented by a list of IPv6 addresses, and the destination address of the packet is updated segment by segment. SRv6 is source-routing based and maintains state only at the network edge, making it ideal for large-scale SDN deployments. While greatly simplifying the network, SRv6 also provides the network with high programmability and end-to-end traffic engineering capabilities.
[0003] VPP is an open-source, extensible framework that provides out-of-the-box production-quality switch / router functionality. It is an open-source version of Cisco Vector Packet Processing (VPP) technology: a high-performance packet processing protocol stack that can run on commercial CPUs and supports SRv6 features.
[0004] SRv6 can support Service Functions (SFCs) for critical services. An SFC typically refers to a sequence of Service Function (SF) nodes. To meet specific business, security, or other requirements, a given service flow is usually required to undergo processing through a specified SF sequence during forwarding. These SFs include security service nodes such as vFw, vIPS, and vWAF.
[0005] To automate security protection in cloud resource pools, a security service chain needs to be built based on the security business needs of upper-layer users. Virtualized routers are used to implement traffic routing and control in the cloud environment. Currently, there are no mature solutions or products in the industry. How to effectively implement traffic routing and control in conjunction with VPP is a key challenge. Summary of the Invention
[0006] The technical problem to be solved by the present invention is to address the above-mentioned shortcomings of the prior art. The purpose of the present invention is to provide an SRv6 flow scheduling control system based on VPP, which can effectively realize flow scheduling control by combining VPP.
[0007] The second objective of this invention is to provide an SRv6 traffic scheduling method based on VPP, which can effectively achieve traffic scheduling control by combining VPP.
[0008] To achieve the first objective mentioned above, this invention provides an SRv6 flow scheduling and control system based on VPP, comprising:
[0009] The application layer service orchestrator is used to send user orchestration instructions to the proxy layer controller SDN. The proxy layer controller SDN classifies the traffic through the traffic splitter and diverts the traffic to the corresponding SRv6 tunnel. According to customer needs, it provides customers with Fw, IPS and WAF security capabilities.
[0010] The Proxy Layer Controller (SDN) provides a unified data control plane, responsible for generating internal network switching paths and boundary service routes, and handling network state change events.
[0011] VRouter, a traffic orchestration proxy at the proxy layer, provides a data forwarding platform and enables SRv6-based traffic redirection through Ligato-Agent and VPP.
[0012] The physical layer consists of physical resource pool nodes.
[0013] The virtual layer converts physical resources into virtual resources on demand for business use;
[0014] The Stateless SRv6 SFC architecture is used to extend the publication of Service SID information.
[0015] As a further improvement, the physical layer mainly uses ordinary x86 servers, and the network interface card (NIC) uses a NIC that supports DPDK and Sriov.
[0016] Furthermore, the virtual layer uses the OpenStack virtualization platform to deploy and install security products, as well as deploy an open-source virtualization router (VPP). The security products include vFw, vIPS, and vWAF. The VPP and the security products are paired one-to-one, and the interconnection of uplink and downlink traffic is achieved based on the VLAN interface.
[0017] Furthermore, the proxy layer traffic orchestration proxy VRouter, based on the VPP interface, implements the issuance of SRv6-related network configuration operation commands to the VPP.
[0018] Furthermore, the SDN proxy layer controller draws on the SDN / NFV concept and implements the traffic redirection strategy based on the Restful API provided by the proxy layer traffic orchestration proxy VRouter.
[0019] Furthermore, the application layer service orchestrator provides a RESTful API northbound interface to receive upper-layer applications, securely orchestrate user-initiated visual SFC service chains, connect to the proxy layer controller SDN in the southbound direction, and issue SFC service chain orchestration policies.
[0020] Furthermore, the flow process of the upstream traffic is as follows:
[0021] User packets are redirected to the SRv6 TE Policy at the ingress device, and a Segment List is added to the packet. The SRv6 TE Policy instructs devices in the network to follow the specified path for forwarding through the Segment List, and the remaining devices in the network execute the instructions embedded in the Segment List.
[0022] Public network uplink IPv4 traffic enters the traffic splitter, which encapsulates the outer IPv6 header and SRH, and then forwards the traffic by looking up a table.
[0023] After passing through vRouter1 / 2 / 3, the traffic is split into two parts, and the SRv6 tail node performs the End.DT4 operation before forwarding it to the destination address.
[0024] The flow process of the downlink traffic is as follows:
[0025] User packets are redirected to the SRv6 TE Policy at the ingress device, and a Segment List is added to the packet. The SRv6 TE Policy instructs devices in the network to follow the specified path for forwarding through the Segment List, and the remaining devices in the network execute the instructions embedded in the Segment List.
[0026] Downlink IPv4 traffic from the public network enters the traffic splitter, which encapsulates the outer IPv6 header and SRH, and then forwards the traffic by looking up a table.
[0027] After passing through vRouter3 / 2 / 1, the traffic is split into two parts, and the SRv6 tail node performs the End.DT4 operation before forwarding it to the destination address.
[0028] Furthermore, the Stateless SRv6 SFC architecture includes:
[0029] SRv6-aware SF is an SF node that supports SRv6 and can directly connect to SFF. The SF needs to publish the corresponding SID, which corresponds to the service function and is called Service SID.
[0030] SRv6-unaware SF is an SF node that does not support SRv6. An SRv6 Proxy needs to be deployed between the SFF and the SRv6-unaware SF to complete the processing of SRv6 packets.
[0031] SRv6 Proxy is an agent for SRv6. SRv6 Proxy is responsible for forwarding messages from the SRv6 network to the SRv6-unaware SF and back from the SRv6-unaware SF to the SRv6 network.
[0032] Service SID mainly includes:
[0033] End.AS, or Static ProxySID, is published by the SRv6 Proxy node. The function of End.AS is to strip the SRH and send the original packet to the SF through the corresponding interface or virtual interface. After the packet carrying the specified VLAN ID returns from the SF to the SRv6 Proxy, the cached SRH is inserted into the returned packet according to the VLAN ID and forwarded again. The mapping relationship between SRH and virtual interface is generated through static configuration, so it is called static proxy SID generation.
[0034] End.AD, or Dynamic ProxySID, is published by the SRv6 Proxy node. End.AD adds dynamic learning capability on the basis of static proxy SID, changing the mapping relationship between SRH and virtual interface from static configuration to dynamic generation based on the SRH of received packets.
[0035] End.AM, or Masquerading Proxy SID, is published by the SRv6 Proxy node. The function of End.AM is to update the DA with the real destination address, i.e., the SID in the Segment List, thereby masquerading an IPv6 packet carrying the real destination address and forwarding it to SF. The packet returned by SF needs to have the next SID replaced with DA at the SRv6 Proxy for continued forwarding.
[0036] Furthermore, when deploying a Stateless SRv6 SFC architecture, nodes can send the Service SID to the proxy layer controller SDN via BGP-LS for calculating the Segment List used for SFC forwarding, which is then directly distributed to the ingress node by the proxy layer controller SDN. The information sent by BGP-LS includes the following:
[0037] Service SID value, which is either an MPLS label or an IPv6 address;
[0038] Function Identifier includes static proxy, dynamic proxy, fake proxy, and SRv6-aware Service;
[0039] Service Type: Service Type is used to identify the type of Service Type.
[0040] Traffic Type supports various flow types for SFC;
[0041] Opaque Data contains attribute information.
[0042] To achieve the second objective mentioned above, this invention provides an SRv6 traffic scheduling method based on VPP, comprising:
[0043] Step S1. The SRv6 Proxy node corresponding to SF1 sends End.AD SID1 to the proxy layer controller SDN via BGP-LS. The behavior of SID1 is to perform dynamic proxy action and forward traffic to SF1; the SF2 node sends End.AM SID2 to the proxy layer controller SDN via BGP-LS. SID2 corresponds to the SRv6-aware SF2 node.
[0044] Step S2. The proxy layer controller SDN calculates the path of SFC according to the business requirements and sends the SRv6Policy and flow classification strategy corresponding to SFC to the ingress node, i.e. the flow splitter.
[0045] Step S3. When the packet arrives at the splitter, the splitter matches the corresponding SRv6Policy according to the flow classification policy and inserts the corresponding SRH into the packet. The SRH contains the Segment List.<SID1,SID2,D> ;
[0046] Step S4. Based on the IPv6 destination address SID1, the SRv6 packet is forwarded to the SRv6 Proxy. The SRv6 Proxy processes its own published End.AD SID1 to remove the SRH, then adds the corresponding VLAN ID to the packet and sends it to SF1. At the same time, the SRv6 Proxy also needs to store the mapping relationship between SRH and VLAN ID so that the SRv6 packet can be restored based on the VLAN ID when the packet returns from SF.
[0047] Step S5. When the packet returns from SF1, the SRv6 Proxy first strips the VLAN ID, then queries the cache mapping table according to the VLAN ID, inserts the specified SRH back into the data packet, and then updates the IPv6 destination address field of the corresponding SID according to the Segment List of the SRH, and continues to forward it to the next node.
[0048] Step S6. After receiving the message from SFF1, SFF2 forwards it to SF2 according to the IPv6 destination address;
[0049] Step S7.SF2 performs an SRH operation, updates the IPv6 destination address to D, performs a DPI operation, and then forwards the packet to the next hop SFF2;
[0050] Step S8.SFF2 forwards the message to the destination D.
[0051] Beneficial effects
[0052] Compared with the prior art, the advantages of this invention are as follows:
[0053] SRv6 is based on source routing and maintains state only at the network edge, which makes it very suitable for large-scale SDN deployments. While greatly simplifying the network, SRv6 also provides the network with a high degree of programmability and end-to-end traffic engineering capabilities.
[0054] If a node in the network only supports regular IPv6 and not SRv6, when this node receives an SRv6 packet, according to the IPv6 RFC, since the destination address of the packet is not the node's own network segment address, this node does not process the extended header, but simply forwards the packet to IPv6 based on the destination address. This means that SRv6 can seamlessly interoperate with existing IPv6 networks; in other words, SRv6 can be incrementally deployed on IPv6 networks without replacing all existing network equipment. Attached Figure Description
[0055] Figure 1 This is a framework diagram of the present invention;
[0056] Figure 2 This is a flowchart of the uplink traffic in this invention;
[0057] Figure 3 This is a flowchart of the downlink traffic in this invention;
[0058] Figure 4 This is a diagram of the Stateless SRv6 SFC architecture of the present invention;
[0059] Figure 5 This is a diagram of the SRv6 Proxy architecture of the present invention. Detailed Implementation
[0060] The present invention will be further described below with reference to specific embodiments shown in the accompanying drawings.
[0061] See Figure 1-5 A VPP-based SRv6 traffic scheduling and control system includes:
[0062] The application layer service orchestrator is used to send user orchestration instructions to the proxy layer controller SDN. The proxy layer controller SDN classifies the traffic through the traffic splitter and diverts the traffic to the corresponding SRv6 tunnel. According to customer needs, it provides customers with Fw, IPS and WAF security capabilities.
[0063] The Proxy Layer Controller (SDN) provides a unified data control plane, responsible for generating internal network switching paths and boundary service routes, and handling network state change events.
[0064] VRouter, a traffic orchestration proxy at the proxy layer, provides a data forwarding platform and enables SRv6-based traffic redirection through Ligato-Agent and VPP.
[0065] The physical layer consists of physical resource pool nodes.
[0066] The virtual layer converts physical resources into virtual resources on demand for business use;
[0067] The Stateless SRv6 SFC architecture is used to extend the publication of Service SID information.
[0068] The physical layer mainly uses ordinary x86 servers, and the network cards use network cards that support DPDK and Sriov.
[0069] The virtualization layer uses the OpenStack virtualization platform to deploy and install security products, as well as deploy open-source virtual routers (VPPs). Security products include vFw, vIPS, and vWAF. VPPs and security products are paired one-to-one, and uplink and downlink traffic are interconnected based on VLAN interfaces.
[0070] The proxy layer traffic orchestration proxy VRouter uses the VPP interface to send SRv6-related network configuration operation commands to the VPP.
[0071] The SDN proxy layer controller draws on the SDN / NFV concept and implements the traffic redirection strategy based on the RESTful API provided by the proxy layer traffic orchestration proxy VRouter.
[0072] The application layer service orchestrator provides a RESTful API northbound interface to receive upper-layer applications, securely orchestrate user-initiated visual SFC service chains, connects to the proxy layer controller SDN in the southbound direction, and distributes SFC service chain orchestration policies.
[0073] The flow process of upstream traffic is as follows:
[0074] User packets are redirected to the SRv6 TE Policy at the ingress device, and a Segment List is added to the packet. The SRv6 TE Policy instructs devices in the network to follow the specified path for forwarding through the Segment List, and the remaining devices in the network execute the instructions embedded in the Segment List.
[0075] Public network uplink IPv4 traffic enters the traffic splitter, which encapsulates the outer IPv6 header and SRH, and then forwards the traffic by looking up a table.
[0076] After passing through vRouter1 / 2 / 3, the traffic is split into two parts, and the SRv6 tail node performs the End.DT4 operation before forwarding it to the destination address.
[0077] The flow process of downlink traffic is as follows:
[0078] User packets are redirected to the SRv6 TE Policy at the ingress device, and a Segment List is added to the packet. The SRv6 TE Policy instructs devices in the network to follow the specified path for forwarding through the Segment List, and the remaining devices in the network execute the instructions embedded in the Segment List.
[0079] Downlink IPv4 traffic from the public network enters the traffic splitter, which encapsulates the outer IPv6 header and SRH, and then forwards the traffic by looking up a table.
[0080] After passing through vRouter3 / 2 / 1, the traffic is split by the SRv6 tail node to perform the End.DT4 operation and then forwarded to the destination address.
[0081] The traffic splitter is a physical SRv6 router, possibly using Huawei's CX600 metropolitan area network platform. The CX600 is a router product developed by Huawei focusing on the needs and development of mobile bearer networks. It is mainly used in the aggregation or core layer of mobile bearer networks, and works with Huawei's ATN series to provide end-to-end integrated bearer solutions for mobile services and leased lines.
[0082] The CX600 employs distributed hardware forwarding and non-blocking switching technology, boasting excellent line-speed forwarding performance, superior scalability, and powerful service processing capabilities. With robust aggregation and access capabilities and rich feature support, the CX600 can flexibly deploy various services such as EVPN, L2VPN, L3VPN, multicast VPN, and SR / SRv6, achieving reliable service transport at the carrier level.
[0083] The forwarding path of the SFC is specified through the Segment List, and the SRH TLV can also carry SF-related metadata. Therefore, NSH is not needed to guide packet forwarding, nor is it necessary to maintain the forwarding state of each SFC on the SFF. Figure 4 As shown, the Stateless SRv6 SFC architecture includes:
[0084] SRv6-aware SF is an SF node that supports SRv6 and can directly connect to SFF. The SF needs to publish the corresponding SID, which corresponds to the service function and is called Service SID.
[0085] SRv6-unaware SF is an SF node that does not support SRv6. An SRv6 Proxy needs to be deployed between the SFF and the SRv6-unaware SF to complete the processing of SRv6 packets.
[0086] SRv6 Proxy is an agent for SRv6. SRv6 Proxy is responsible for forwarding messages from the SRv6 network to the SRv6-unaware SF and back from the SRv6-unaware SF to the SRv6 network.
[0087] Depending on the type of proxy, there are multiple proxy Service SIDs, including:
[0088] End.AS, or Static Proxy SID, is published by the SRv6 Proxy node. The function of End.AS is to strip the SRH and send the original packet to the SF through the corresponding interface or virtual interface (such as the interface corresponding to the VLAN ID). After the packet carrying the specified VLAN ID returns from the SF to the SRv6 Proxy, the cached SRH is inserted into the returned packet according to the VLAN ID and forwarded again. The mapping relationship between SRH and virtual interface is generated through static configuration, so it is called static proxy SID generation.
[0089] End.AD is a Dynamic Proxy SID, published by the SRv6 Proxy node. End.AD adds dynamic learning capability on the basis of static proxy SID, changing the mapping relationship between SRH and virtual interface from static configuration to dynamic generation based on the SRH of received packets.
[0090] End.AM is the SID for Masquerading Proxy, published by the SRv6 Proxy node. The function of End.AM is to update the DA with the real destination address, i.e., the SID in the Segment List, thereby masquerading an IPv6 packet carrying the real destination address and forwarding it to SF. The packet returned by SF needs to have the next SID replaced with DA at the SRv6 Proxy for continued forwarding.
[0091] The architecture of SRv6 Proxy is as follows: Figure 5 As shown, when deploying a Stateless SRv6 SFC architecture, nodes can send the Service SID to the proxy layer controller SDN via BGP-LS for calculating the Segment List used for SFC forwarding, which is then directly distributed to the ingress node by the proxy layer controller SDN. The information sent by BGP-LS includes the following:
[0092] Service SID value, which is either an MPLS label or an IPv6 address;
[0093] Function Identifier includes static proxy, dynamic proxy, fake proxy, and SRv6-aware Service;
[0094] Service Type: Service Type is used to identify the type of Service SF, such as DPI, FW, Classifier, LB;
[0095] Traffic Type supports various flow types for SFC, such as IPv4, IPv6, or Ethernet.
[0096] Opaque Data contains attribute information, such as version information.
[0097] A VPP-based SRv6 traffic scheduling method includes:
[0098] Step S1. The SRv6 Proxy node corresponding to SF1 sends End.AD SID1 to the proxy layer controller SDN via BGP-LS. The behavior of SID1 is to perform dynamic proxy action and forward traffic to SF1; the SF2 node sends End.AM SID2 to the proxy layer controller SDN via BGP-LS. SID2 corresponds to the SRv6-aware SF2 node.
[0099] Step S2. The proxy layer controller SDN calculates the path of SFC according to the business requirements and sends the SRv6Policy and flow classification strategy corresponding to SFC to the ingress node, i.e. the flow splitter.
[0100] Step S3. When the packet arrives at the splitter, the splitter matches the corresponding SRv6Policy according to the flow classification policy and inserts the corresponding SRH into the packet. The SRH contains the Segment List.<SID1,SID2,D> ;
[0101] Step S4. Based on the IPv6 destination address SID1, the SRv6 packet is forwarded to the SRv6 Proxy. The SRv6 Proxy processes its own published End.AD SID1 to remove the SRH, then adds the corresponding VLAN ID to the packet and sends it to SF1. At the same time, the SRv6 Proxy also needs to store the mapping relationship between SRH and VLAN ID so that the SRv6 packet can be restored based on the VLAN ID when the packet returns from SF.
[0102] Step S5. When the packet returns from SF1, the SRv6 Proxy first strips the VLAN ID, then queries the cache mapping table according to the VLAN ID, inserts the specified SRH back into the data packet, and then updates the IPv6 destination address field of the corresponding SID according to the Segment List of the SRH, and continues to forward it to the next node.
[0103] Step S6. After receiving the message from SFF1, SFF2 forwards it to SF2 according to the IPv6 destination address;
[0104] Step S7.SF2 performs an SRH operation, updates the IPv6 destination address to D, performs a DPI operation, and then forwards the packet to the next hop SFF2;
[0105] Step S8.SFF2 forwards the message to the destination D.
[0106] Stateless SRv6 SFCs only require extending the publication of Service SID information to implement SFCs, and there is no need to maintain the state of each SFC on the SFF. Therefore, it is much simpler than NSH, effectively reducing the deployment difficulty of SFCs and becoming a new choice for deploying SFCs.
[0107] The above are merely preferred embodiments of the present invention. It should be noted that those skilled in the art can make several modifications and improvements without departing from the structure of the present invention, and these will not affect the effectiveness of the implementation of the present invention or the practicality of the patent.
Claims
1. A VPP-based SRv6 flow scheduling control system, characterized in that, include: The application layer service orchestrator is used to send user orchestration instructions to the proxy layer controller SDN. The proxy layer controller SDN classifies the traffic through the traffic splitter and diverts the traffic to the corresponding SRv6 tunnel. According to customer needs, it provides customers with Fw, IPS and WAF security capabilities. The Proxy Layer Controller (SDN) provides a unified data control plane, responsible for generating internal network switching paths and boundary service routes, and handling network state change events. VRouter, a traffic orchestration proxy at the proxy layer, provides a data forwarding platform and enables SRv6-based traffic redirection through Ligato-Agent and VPP. The physical layer consists of physical resource pool nodes. The virtual layer converts physical resources into virtual resources on demand for business use; Stateless SRv6 SFC architecture is used to extend the publication of Service SID information; The application layer service orchestrator provides a Restful API northbound interface to receive upper-layer applications, securely orchestrate user-initiated visual SFC service chains, connects to the proxy layer controller SDN in the southbound direction, and distributes SFC service chain orchestration policies. The virtual layer uses the OpenStack virtualization platform to deploy and install security products, as well as deploy open-source virtual routers (VPPs). The security products include vFw, vIPS, and vWAF. The VPP and security products are paired one-to-one, and the communication between uplink and downlink traffic is achieved based on VLAN interfaces. The flow process of the upstream traffic is as follows: User packets are redirected to the SRv6 TE Policy at the ingress device, and a Segment List is added to the packet. The SRv6 TE Policy instructs devices in the network to follow the specified path for forwarding through the Segment List, and the remaining devices in the network execute the instructions embedded in the Segment List. Public network uplink IPv4 traffic enters the traffic splitter, which encapsulates the outer IPv6 header and SRH, and then forwards the traffic by looking up a table. After passing through vRouter1 / 2 / 3, the traffic is split into two parts, and the SRv6 tail node performs the End.DT4 operation before forwarding it to the destination address. The flow process of the downlink traffic is as follows: User packets are redirected to the SRv6 TE Policy at the ingress device, and a Segment List is added to the packet. The SRv6 TE Policy instructs devices in the network to follow the specified path for forwarding through the Segment List, and the remaining devices in the network execute the instructions embedded in the Segment List. Downlink IPv4 traffic from the public network enters the traffic splitter, which encapsulates the outer IPv6 header and SRH, and then forwards the traffic by looking up a table. After passing through vRouter3 / 2 / 1, the traffic is split by the SRv6 tail node to perform the End.DT4 operation and then forwarded to the destination address; The application layer service orchestrator provides a Restful API northbound interface to receive upper-layer applications, securely orchestrate user-initiated visual SFC service chains, connects to the proxy layer controller SDN in the southbound direction, and distributes SFC service chain orchestration policies. Methods of using the system include: Step S1. The SRv6 Proxy node corresponding to SF1 sends End.AD SID1 to the proxy layer controller SDN via BGP-LS. The behavior of SID1 is to perform dynamic proxy action and forward traffic to SF1; the SF2 node sends End.AMSID2 to the proxy layer controller SDN via BGP-LS. SID2 corresponds to the SRv6-aware SF2 node. Step S2. The proxy layer controller SDN calculates the path of SFC according to business requirements and sends the SRv6 Policy and flow classification strategy corresponding to SFC to the ingress node, i.e., the flow splitter. Step S3. When the packet arrives at the splitter, the splitter matches the corresponding SRv6 Policy according to the flow classification policy and inserts the corresponding SRH into the packet. The SRH contains the Segment List.<SID1,SID2,D> ; Step S4. Based on the IPv6 destination address SID1, the SRv6 packet is forwarded to the SRv6 Proxy. The SRv6 Proxy processes its own published End.AD SID1 to remove the SRH, then adds the corresponding VLAN ID to the packet and sends it to SF1. At the same time, the SRv6 Proxy also needs to store the mapping relationship between SRH and VLAN ID so that the SRv6 packet can be restored based on the VLAN ID when the packet returns from SF. Step S5. When the packet returns from SF1, the SRv6 Proxy first strips the VLAN ID, then queries the cache mapping table according to the VLAN ID, inserts the specified SRH back into the data packet, and then updates the IPv6 destination address field of the corresponding SID according to the Segment List of the SRH, and continues to forward it to the next node. Step S6. After receiving the message from SFF1, SFF2 forwards it to SF2 according to the IPv6 destination address; Step S7.SF2 performs an SRH operation, updates the IPv6 destination address to D, performs a DPI operation, and then forwards the packet to the next hop SFF2; Step S8.SFF2 forwards the message to the destination D.
2. The SRv6 flow scheduling control system based on VPP according to claim 1, characterized in that, The physical layer mainly uses ordinary x86 servers, and the network cards use network cards that support DPDK and Sriov.
3. The SRv6 flow scheduling control system based on VPP according to claim 1, characterized in that, The proxy layer traffic orchestration proxy VRouter is based on the VPP interface and sends SRv6-related network configuration operation commands to the VPP.
4. The SRv6 flow scheduling control system based on VPP according to claim 1, characterized in that, The SDN proxy layer controller draws on the SDN / NFV concept and implements the traffic redirection strategy based on the Restful API provided by the proxy layer traffic orchestration proxy VRouter.
5. The SRv6 flow scheduling control system based on VPP according to claim 1, characterized in that, The Stateless SRv6 SFC architecture includes: SRv6-aware SF is an SF node that supports SRv6 and can directly connect to SFF. The SF needs to publish the corresponding SID, which corresponds to the service function and is called Service SID. SRv6-unaware SF is an SF node that does not support SRv6. An SRv6 Proxy needs to be deployed between the SFF and the SRv6-unaware SF to complete the processing of SRv6 packets. SRv6 Proxy is an agent for SRv6. SRv6 Proxy is responsible for forwarding messages from the SRv6 network to the SRv6-unaware SF and back from the SRv6-unaware SF to the SRv6 network. Service SID includes: End.AS, or Static Proxy SID, is published by the SRv6 Proxy node. The function of End.AS is to strip the SRH and send the original packet to the SF through the corresponding interface or virtual interface. After the packet carrying the specified VLAN ID returns from the SF to the SRv6 Proxy, the cached SRH is inserted into the returned packet according to the VLAN ID and forwarded again. The mapping relationship between SRH and virtual interface is generated through static configuration, so it is called static proxy SID generation. End.AD is the Dynamic Proxy SID, published by the SRv6 Proxy node. End.AD adds dynamic learning capability on the basis of static proxy SID, changing the mapping relationship between SRH and virtual interface from static configuration to dynamic generation based on the SRH of received packets. End.AM is the Masquerading Proxy SID, published by the SRv6 Proxy node. The function of End.AM is to update the DA with the real destination address, i.e. the SID in the Segment List, thereby masquerading the IPv6 packet with the real destination address and forwarding it to SF. The packet returned by SF needs to be replaced with the DA at the SRv6 Proxy and forwarded again.
6. The SRv6 flow scheduling control system based on VPP according to claim 5, characterized in that, When deploying a Stateless SRv6 SFC architecture, nodes can send the Service SID to the proxy layer controller SDN via BGP-LS. This SID is used to calculate the Segment List used for SFC forwarding, and then the proxy layer controller SDN directly distributes it to the ingress node. The information sent by BGP-LS includes the following: Service SID value, which is either an MPLS label or an IPv6 address; Function Identifier includes static proxy, dynamic proxy, fake proxy, and SRv6-aware Service; Service Type: Service Type is used to identify the type of Service Type. Traffic Type supports various flow types for SFC; Opaque Data contains attribute information.
Citation Information
Patent Citations
Industrial internet application-oriented service function chain cooperative control system and method
CN113179299A
Method for forwarding message in SRv6 service chain, SFF and SF equipment
CN113691448A