Service chain orchestration method and apparatus
Patent Information
- Application Number
- CN202310699285.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-13
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2043-06-13
AI Technical Summary
可见,现有的服务链编排方式仅适配于双向流量传输,服务链编排方式的适配性较差
[0009]本申请提供的服务链编排方法及装置应用于服务链编排设备,服务链编排设备支持第一设备和第二设备之间至少一个流量传输方向的流量传输,服务链编排设备在确定待进行服务链编排的网元设备序列之后,基于待编排的网元设备序列支持的流量传输方向,从第一设备和第二设备之间的目标连接对应的握手包中确定匹配的目标握手包。然后基于所确定的目标握手包对网元设备序列进行服务链编排处理,从而编排出服务链,以基于所编排的服务链实现第一设备和第二设备在目标流量传输方向上的流量传输。可见,本申请提供的服务链编排设备支持第一设备和第二设备之间至少一个流量传输方向的流量传输,通过服务链编排设备基于待编排的网元设备序列支持的流量传输方向,对网元设备序列进行灵活和动态地服务链编排。这样,无论待编排的网元设备序列的流量传输方向是双向流量传输还是单向流量传输,均可采用适用于流量传输方向的目标握手包完成服务链编排,无需修改网元设备序列的流量传输方向或修改网元设备序列中网元设备的相关功能,因此克服了现有的服务链编排方式仅适配于双向流量传输的缺陷,提高了服务链编排的适配性。
Smart Images

Figure CN116962483B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of service chain orchestration technology, and in particular to a service chain orchestration method and apparatus. Background Technology
[0002] With the rapid development of cloud computing, the Internet of Things, and mobile smart devices, network traffic is growing rapidly, and various network functions (NFs) are emerging in an endless stream. Traditional network architectures are increasingly unable to meet the dynamic changes in network traffic and network function requirements, which has given rise to Service Function Chaining (SFC) technology.
[0003] A service chain is a sequence of services orchestrated by at least one network element device, guiding network traffic through it. Current service chain orchestration methods can only orchestrate service chains supporting bidirectional traffic transmission; they are ineffective for service chains supporting unidirectional traffic transmission. To orchestrate service chains supporting unidirectional traffic transmission, the traffic transmission direction supported by the service chain needs to be modified to bidirectional traffic transmission, or the relevant functions or deployment methods of the network elements need to be modified. Therefore, existing service chain orchestration methods are only suitable for bidirectional traffic transmission, exhibiting poor adaptability. Summary of the Invention
[0004] In view of this, this application proposes a service chain orchestration method and apparatus, the main purpose of which is to improve the adaptability of service chain orchestration.
[0005] To achieve the above objectives, this application mainly provides the following technical solutions: In a first aspect, this application provides a service chain orchestration method, which is applied to a service chain orchestration device, the service chain orchestration device supporting traffic transmission in at least one traffic transmission direction between a first device and a second device, the service chain orchestration method comprising: Based on the target traffic transmission direction supported by the network element device sequence to be orchestrated, a matching target handshake packet is determined from the handshake packet corresponding to the target connection; wherein, the target connection is the connection between the first device and the second device, and the network element device sequence includes at least one network element device arranged in a preset order; Based on the determined target handshake packet, the network element device sequence is processed by service chain orchestration to realize traffic transmission between the first device and the second device in the target traffic transmission direction based on the orchestrated service chain.
[0006] Secondly, this application provides a service chain orchestration apparatus, which is applied to a service chain orchestration device. The service chain orchestration device supports traffic transmission in at least one traffic transmission direction between a first device and a second device. The service chain orchestration apparatus includes: The determination module is used to determine a matching target handshake packet from the handshake packets corresponding to the target connection based on the target traffic transmission direction supported by the network element device sequence to be orchestrated; wherein, the target connection is a connection between a first device and a second device, and the network element device sequence includes at least one network element device arranged in a preset order; A module is established to perform service chain orchestration processing on the network element device sequence based on the determined target handshake packet, so as to realize the traffic transmission of the first device and the second device in the target traffic transmission direction based on the orchestrated service chain.
[0007] Thirdly, this application provides a computer-readable storage medium including a stored program, wherein the program controls the device where the storage medium is located to execute the service chain orchestration method of the first aspect during runtime.
[0008] Fourthly, this application provides an electronic device, the electronic device comprising: a memory for storing a program; and a processor coupled to the memory for running the program to perform the service chain orchestration method of the first aspect.
[0009] The service chain orchestration method and apparatus provided in this application are applied to a service chain orchestration device. The service chain orchestration device supports traffic transmission in at least one traffic transmission direction between a first device and a second device. After determining the sequence of network element devices to be orchestrated, the service chain orchestration device determines a matching target handshake packet from the handshake packets corresponding to the target connection between the first device and the second device based on the traffic transmission direction supported by the sequence of network element devices to be orchestrated. Then, based on the determined target handshake packet, the service chain orchestration process is performed on the network element device sequence to orchestrate a service chain, thereby enabling traffic transmission between the first device and the second device in the target traffic transmission direction based on the orchestrated service chain. Therefore, the service chain orchestration device provided in this application supports traffic transmission in at least one traffic transmission direction between the first device and the second device, and flexibly and dynamically orchestrates the network element device sequence based on the traffic transmission direction supported by the sequence of network element devices to be orchestrated. In this way, regardless of whether the traffic transmission direction of the network element device sequence to be orchestrated is bidirectional or unidirectional, the service chain orchestration can be completed using the target handshake packet suitable for the traffic transmission direction. There is no need to modify the traffic transmission direction of the network element device sequence or modify the relevant functions of the network element devices in the sequence. Therefore, it overcomes the defect that the existing service chain orchestration method is only suitable for bidirectional traffic transmission and improves the adaptability of service chain orchestration.
[0010] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, specific embodiments of this application are given below. Attached Figure Description
[0011] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0012] Figure 1 A flowchart of a service chain orchestration method provided in one embodiment of this application is shown; Figure 2 This illustration shows a service chain orchestration process according to an embodiment of this application; Figure 3 This illustration shows a service chain traffic transmission diagram provided in one embodiment of this application; Figure 4 This illustration shows a service chain orchestration process according to another embodiment of the present application; Figure 5 This illustration shows a schematic diagram of a service chain orchestration apparatus according to an embodiment of this application; Figure 6 A schematic diagram of a service chain orchestration apparatus provided in another embodiment of this application is shown. Detailed Implementation
[0013] Exemplary embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
[0014] A service chain is a sequence of services orchestrated by at least one network element. Currently, existing service chain orchestration methods can only orchestrate service chains that support bidirectional traffic transmission; they are ineffective for service chains that support unidirectional traffic transmission. To orchestrate service chains supporting unidirectional traffic transmission, the traffic transmission direction supported by the service chain needs to be modified to bidirectional traffic transmission, or the relevant functions or deployment methods of the network elements need to be modified. Therefore, existing service chain orchestration methods are only suitable for bidirectional traffic transmission, exhibiting poor adaptability.
[0015] The inventors discovered through research that a service chain orchestration device can be provided. This device supports traffic transmission in at least one direction between a first device and a second device. Based on the traffic transmission directions supported by the sequence of network element devices to be orchestrated, the device flexibly and dynamically orchestrates the network element device sequence into service chains. The service chain formed after service chain orchestration refers to an ordered combination of network services formed by the network traffic between the first and second devices passing through at least one network element device according to business logic requirements and a user-defined order. Specifically, the technical solution for service chain orchestration by the device is as follows: the device supports traffic transmission in at least one direction between the first and second devices. After determining the sequence of network element devices to be orchestrated, the device determines the matching target handshake packet from the handshake packets corresponding to the target connection between the first and second devices, based on the traffic transmission directions supported by the sequence of network element devices to be orchestrated. Then, based on the determined target handshake packet, the network element device sequence is processed for service chain orchestration, thereby orchestrating a service chain to enable traffic transmission between the first device and the second device in the target traffic transmission direction. It can be seen that the service chain orchestration device provided in this application embodiment supports traffic transmission in at least one traffic transmission direction between the first device and the second device. By using the service chain orchestration device to flexibly and dynamically orchestrate the network element device sequence based on the traffic transmission direction supported by the network element device sequence to be orchestrated, the service chain orchestration can be completed using a target handshake packet suitable for the traffic transmission direction, without modifying the traffic transmission direction of the network element device sequence or the related functions of the network element devices in the sequence. Therefore, it overcomes the deficiency of existing service chain orchestration methods that are only adapted to bidirectional traffic transmission, and improves the adaptability of service chain orchestration.
[0016] The use of the service chain orchestration device proposed in this application involves the following two scenarios: First, a symmetric link scenario. In this scenario, uplink and downlink traffic between the first device and the second device are transmitted through the same service chain orchestration device. Second, an asymmetric link scenario. In this scenario, uplink and downlink traffic between the first device and the second device are transmitted through different service chain orchestration devices.
[0017] Based on the above considerations, this application provides a service chain orchestration method and apparatus. The service chain orchestration method and apparatus provided in this application will be described in detail below.
[0018] like Figure 1 As shown in the figure, this application provides a service chain orchestration method, which is applied to a service chain orchestration device. The service chain orchestration device supports traffic transmission in at least one traffic transmission direction between a first device and a second device. The service chain orchestration method mainly includes the following steps 101-102: 101. Based on the target traffic transmission direction supported by the network element device sequence to be orchestrated, determine the matching target handshake packet from the handshake packet corresponding to the target connection; wherein, the target connection is the connection between the first device and the second device; the network element device sequence includes at least one network element device arranged in a preset order.
[0019] The service chain orchestration method provided in this application is applied to a service chain orchestration device, that is, service chain orchestration is completed through the service chain orchestration device. The service chain orchestration device supports traffic transmission in at least one traffic transmission direction between the first device and the second device. The traffic transmission direction can be determined based on specific business needs, and this application embodiment does not impose specific limitations. For example, the traffic transmission direction includes at least one of the following: a bidirectional traffic transmission direction between the first device and the second device, and a unidirectional traffic transmission direction between the first device and the second device. The unidirectional traffic transmission direction includes the traffic transmission direction from the first device to the second device and / or the traffic transmission direction from the second device to the first device.
[0020] A service chain refers to an ordered combination of network services formed when network traffic between a first device and a second device passes through at least one network element device in a user-defined order according to business logic requirements. It is evident that a service chain is composed of a sequence of network element devices arranged in a preset order. Therefore, when orchestrating a service chain, it is necessary to determine the sequence of network element devices to be orchestrated. The specific types of the first and second devices can be determined based on business needs. For example, the uplink device in the first and second devices can be a client device, and the downlink device can be a server device.
[0021] The network element device sequence to be orchestrated includes at least one network element device arranged in a preset order. The position of each network element device in the sequence is determined based on specific service needs, and each network element device has a corresponding service function. The process of determining the network element device sequence to be orchestrated and the target traffic transmission direction supported by the network element device sequence involves the following two cases: The first approach involves determining whether unidirectional traffic transmission is required between the first and second devices. If so, it checks whether the network protocol between the first and second devices is a stateful network protocol. If so, at least one network element device with unidirectional traffic processing capability and whose functionality meets the traffic processing requirements is selected. The selected network element devices are then sorted according to a specified functional order to form a sequence of network element devices to be orchestrated. The target traffic transmission direction supported by the formed network element device sequence is determined to be the specified unidirectional traffic transmission direction between the first and second devices.
[0022] Network protocols include stateful and stateless network protocols. Stateless network protocols do not require maintaining protocol state for network traffic; they can send unidirectional (uplink or downlink) or bidirectional (uplink and downlink) traffic to network elements, and the network elements can function normally. Stateful network protocols, on the other hand, require maintaining protocol state for network traffic; they need to send both bidirectional (uplink and downlink) traffic to network elements for the network elements to function properly. If only unidirectional (uplink or downlink) traffic is provided to network elements, the network elements must have unidirectional traffic processing capabilities; otherwise, the network elements will malfunction. Therefore, if it is determined that unidirectional traffic transmission is required between the first and second devices, it means that a service chain capable of handling unidirectional traffic needs to be orchestrated. Thus, it is necessary to check whether the network protocol between the first and second devices is a stateful network protocol.
[0023] If the network protocol between the first and second devices is detected to be a stateful network protocol, at least one network element device with unidirectional traffic processing capability and whose functions meet the traffic processing requirements is selected. Thus, each network element device in the sequence can handle unidirectional traffic. Then, the selected network element devices are sorted according to a specified device function order to form a sequence of network element devices to be orchestrated. The specified device function order limits the order in which each network element device executes its corresponding device function. After forming the network element device sequence, the target traffic transmission direction supported by the formed sequence is determined to be the specified unidirectional traffic transmission direction between the first and second devices. For example, if the specified unidirectional traffic transmission direction is from the first device to the second device, then the transmission direction supported by the network element device sequence is determined to be the unidirectional traffic transmission direction from the first device to the second device. Similarly, if the specified unidirectional traffic transmission direction is from the second device to the first device, then the transmission direction supported by the network element device sequence is determined to be the unidirectional traffic transmission direction from the second device to the first device.
[0024] If the network protocol between the first and second devices is detected to be a stateless network protocol, it means that the network traffic corresponding to a stateless network protocol does not need to maintain protocol state. The network element devices can function normally when sending unidirectional traffic (uplink or downlink) or bidirectional traffic (uplink and downlink). Therefore, at least one network element device whose functionality meets the traffic processing requirements is selected, and the selected network element devices are sorted according to the specified device function order to form a sequence of network element devices to be orchestrated. Regardless of whether the selected network element devices have unidirectional traffic processing capabilities, they can process unidirectional traffic normally when they receive it. Then, the target traffic transmission direction supported by the formed network element device sequence is determined to be the unidirectional traffic transmission direction specified between the first and second devices.
[0025] The stateful and stateless network protocols mentioned above can be determined based on business needs. For example, a stateless network protocol can be a connectionless protocol such as UDP. A stateful network protocol can be a connection-oriented protocol such as TCP.
[0026] The second approach involves selecting at least one network element device whose functions meet the traffic processing requirements if it is determined that bidirectional traffic transmission is needed between the first and second devices. The selected network element devices are then sorted according to a specified functional order to form a sequence of network element devices to be arranged. The target traffic transmission direction supported by the formed sequence of network element devices is determined to be the bidirectional traffic transmission direction between the first and second devices.
[0027] If it is determined that bidirectional traffic transmission is required between the first and second devices, a service chain capable of handling bidirectional traffic needs to be orchestrated. In this case, regardless of whether the network protocol between the first and second devices is stateful or stateless, the probability of network element malfunctions is low because bidirectional traffic needs to be provided to the network elements. Therefore, at least one network element whose functionality meets the traffic processing requirements is selected, and the selected network elements are ordered according to a specified functional sequence to form a sequence of network elements to be orchestrated. Then, the target traffic transmission direction supported by the formed network element sequence is determined to be the bidirectional traffic transmission direction between the first and second devices.
[0028] The specific methods for forming the network element device sequence to be orchestrated mentioned in the above two methods can include the following two: First, displaying all candidate network element device sequences, where each candidate sequence is obtained by sorting at least one network element device whose corresponding function meets the traffic processing requirements according to the order of its corresponding function; the selected network element device sequence is then used as the network element device sequence to be orchestrated. This method, by directly providing network element device sequences for users to choose from, can improve the efficiency of determining the network element device sequence to be orchestrated. Second, displaying network element devices available for user selection, allowing users to choose at least one network element device whose function meets the traffic processing requirements, and sorting the selected network element devices according to a specified functional order to form the network element device sequence to be orchestrated. This method gives users the authority to set the network element device sequence to be orchestrated, thereby enabling users to flexibly set the network element device sequence to be orchestrated based on business needs.
[0029] After determining the sequence of network element devices to be orchestrated, the matching target handshake packet is determined from the handshake packets corresponding to the target connection based on the target traffic transmission directions supported by the sequence of network element devices to be orchestrated. The specific method for determining the matching target handshake packet from the handshake packets corresponding to the target connection differs depending on the supported target traffic transmission directions. Therefore, the specific methods for determining the matching target handshake packet from the handshake packets corresponding to the target connection based on the target traffic transmission directions supported by the sequence of network element devices to be orchestrated include the following two: Method 1, based on the target traffic transmission directions supported by the network element device sequence to be orchestrated, involves determining the matching target handshake packet from the handshake packets corresponding to the target connection. The specific process includes: if the target traffic transmission direction supported by the network element device sequence is a bidirectional traffic transmission direction between the first and second devices, then all handshake packets corresponding to the establishment of the target connection are determined as matching target handshake packets. A bidirectional traffic transmission direction supports both traffic transmission from the first device to the second device and traffic transmission from the second device to the first device.
[0030] The target connection is the connection between the first device and the second device, which enables data transmission between them. The target connection is established based on the network protocol between the first and second devices. The number of handshake packets and the data within those packets are determined based on the network protocol between the first and second devices.
[0031] For example, if the network protocol between the first device and the second device is TCP, then the handshake packets corresponding to the establishment of the target connection include: a SYN packet, a SYN_ACK packet, and an ACK packet. The SYN packet, SYN_ACK packet, and ACK packet have the following relationship: the first device transmits a SYN packet to the second device; the second device responds to the first device with a SYN_ACK packet based on the SYN packet; and the first device responds to the second device with an ACK packet based on the SYN_ACK packet. After the second device verifies the ACK packet, the target connection between the first device and the second device is established.
[0032] If the target traffic transmission direction supported by the network element device sequence is bidirectional traffic transmission between the first device and the second device, it means that the network element device sequence needs to handle both uplink and downlink traffic between the first device and the second device. Therefore, all handshake packets corresponding to the establishment of the target connection are identified as matching target handshake packets. The specific process of identifying all handshake packets corresponding to the establishment of the target connection as matching target handshake packets includes the following technical solutions: Technical Solution 1 and Technical Solution 2: Technical Solution 1: The target handshake packet is obtained after the target connection is established. If it is determined that all handshake packets corresponding to the establishment of the target connection have been obtained, the process proceeds to the step of determining all handshake packets corresponding to the establishment of the target connection as the matching target handshake packets.
[0033] To ensure the successful establishment of bidirectional transmission connections between the service chain orchestration device and the network element devices included in the network element device sequence, and to avoid handshake packet errors during the establishment process, it is necessary to determine whether all handshake packets corresponding to the establishment of the target connection have been obtained before determining the target handshake packet.
[0034] If it is determined that all handshake packets corresponding to the establishment of the target connection have been obtained, it means that the handshake packets required for both the uplink and downlink directions between the first and second devices exist. Therefore, all handshake packets corresponding to the establishment of the target connection are identified as matching target handshake packets. If it is determined that not all handshake packets corresponding to the establishment of the target connection have been obtained, it means that the handshake packets are incomplete. Therefore, a handshake packet incompleteness prompt is issued so that business personnel can understand that the network element device sequence cannot be arranged at this time. Business personnel can also use this prompt to check whether there is an anomaly in the target connection establishment process between the first and second devices that prevents the acquisition of all handshake packets.
[0035] Technical Solution Two: The target handshake packet is obtained during the establishment of the target connection. Each time a handshake packet for the target connection occurs, that handshake packet is acquired as the corresponding target handshake packet. This acquisition process continues until the handshake packet required for the final handshake between the first and second devices is obtained. Because the target handshake packet is obtained during the establishment of the target connection, the connection can be established simultaneously with the target connection. Connections between the service chain orchestration device and each network element in the network element device sequence can be established in an orderly manner based on the determined target handshake packet, thereby improving the efficiency of service chain orchestration.
[0036] Method 2, based on the target traffic transmission direction supported by the network element device sequence to be orchestrated, the specific process of determining the matching target handshake packet from the handshake packet corresponding to the target connection includes: if the target traffic transmission direction supported by the network element device sequence is a unidirectional traffic transmission direction between the first device and the second device, then the handshake packet related to the unidirectional traffic transmission direction in the handshake packet corresponding to the target connection is determined as the matching target handshake packet; wherein, the unidirectional traffic transmission direction is the traffic transmission direction from the first device to the second device or the traffic transmission direction from the second device to the first device.
[0037] There are two main methods for identifying handshake packets related to the target transmission direction within the handshake packets corresponding to the target connection as matching target handshake packets: One method involves acquiring the target handshake packet after the target connection is established. If all handshake packets corresponding to the target connection establishment are obtained, the process proceeds to identifying handshake packets related to the target transmission direction within the handshake packets corresponding to the target connection as matching target handshake packets. This method ensures smooth service chain orchestration by acquiring all handshake packets related to the target transmission direction before service chain orchestration, thus avoiding handshake packet errors during orchestration. The other method involves acquiring the target handshake packet during the target connection establishment process. Each handshake packet for the target connection that occurs is identified as a matching target handshake packet if it is determined to be related to the target transmission direction. This method allows for simultaneous establishment of the target connection, with connections between the service chain orchestration device and the network element devices included in the network element device sequence established in an orderly manner based on the identified target handshake packets, thereby improving the efficiency of service chain orchestration.
[0038] The target handshake packet is the handshake packet related to the target traffic transmission direction within the handshake packet corresponding to the target connection. Therefore, determining the handshake packet related to the target traffic transmission direction within the handshake packet corresponding to the target connection is a prerequisite for determining the target handshake packet. The specific process for determining the handshake packet related to the target traffic transmission direction within the handshake packet corresponding to the target connection depends on the specific target traffic transmission direction.
[0039] Specifically, if the unidirectional traffic transmission direction is the uplink traffic transmission direction between the first device and the second device, then the handshake packet related to the uplink traffic transmission direction is determined as the handshake packet related to the unidirectional traffic transmission direction. If the unidirectional traffic transmission direction is the downlink traffic transmission direction between the first device and the second device, then the handshake packet related to the downlink traffic transmission direction is determined as the handshake packet related to the unidirectional traffic transmission direction.
[0040] For example, the network protocol between the uplink and downlink devices is TCP. If the network element sequence supports a unidirectional traffic transmission direction from the uplink device to the downlink device, then the handshake packet transmitted from the uplink device to the downlink device is identified as the handshake packet related to the unidirectional traffic transmission direction, and the handshake packet related to the unidirectional traffic transmission direction is identified as the target handshake packet. Specifically, the target handshake packet includes a SYN packet and an ACK packet.
[0041] For example, the network protocol between the first device and the second device is the TCP protocol. If the target traffic transmission direction supported by the network element device sequence is a unidirectional traffic transmission direction from the second device to the first device, then the handshake packet transmitted from the second device to the first device is identified as the handshake packet related to the target traffic transmission direction, and the handshake packet related to the target traffic transmission direction is identified as the target handshake packet. Specifically, the target handshake packet includes a SYN_ACK packet.
[0042] 102. Based on the determined target handshake packet, perform service chain orchestration on the network element device sequence to realize traffic transmission of the first device and the second device in the target traffic transmission direction based on the orchestrated service chain.
[0043] The specific process of service chain orchestration of network element device sequences based on the determined target handshake packet is related to the target traffic transmission direction supported by the network element device sequence to be orchestrated. The specific process of service chain orchestration of network element device sequences based on the determined target handshake packet is described below, and this process includes at least the following two aspects: The first method, if the target traffic transmission direction supported by the network element device sequence is a bidirectional traffic transmission direction between the first device and the second device, then the specific process of performing service chain orchestration processing on the network element device sequence based on the determined target handshake packet includes the following steps 102A to 102C: 102A. Determine the orchestration order of each target handshake packet during the service chain orchestration process.
[0044] The orchestration order is used to indicate the order in which each target handshake packet is used during the service chain orchestration process. The specific process for determining the orchestration order of each target handshake packet during the service chain orchestration process includes the following steps 102A1 to 102A2: 102A1. Identify the uplink and downlink handshake packets in the target handshake packet.
[0045] The uplink handshake packet is the target handshake packet initiated by the uplink device in the first and second devices. The downlink handshake packet is the target handshake packet initiated by the downlink device in the first and second devices. The uplink handshake packet is used to establish uplink connections between the service chain orchestration device and each network element device included in the network element device sequence. The downlink handshake packet is used to establish downlink connections between the service chain orchestration device and each network element device included in the network element device sequence.
[0046] After identifying the uplink and downlink handshake packets, two processing methods can be used: First, keep the uplink and downlink handshake packets unchanged and directly use them for subsequent service chain orchestration. Second, reuse the key data in the identified uplink handshake packets to form a new uplink handshake packet for each uplink handshake packet. Similarly, reuse the key data in the identified downlink handshake packets to form a new downlink handshake packet for each downlink handshake packet. The key data here may include, but is not limited to, at least one of the following: sequence number (such as Sequence) and options (such as Option). This embodiment of the application, by reusing the key data identified in the uplink and downlink handshake packets to set new uplink and downlink handshake packets, avoids SYN attacks on uplink devices, eliminates downlink device unreachability, and saves network element resources. The new uplink and downlink handshake packets are used as the uplink and downlink handshake packets for setting the orchestration order.
[0047] 102A2. Sort the uplink and downlink handshake packets in the target handshake packet to obtain the arrangement order.
[0048] In the orchestration order, uplink and downlink handshake packets alternate, with the uplink handshake packet appearing first. The orchestration order defines the order in which uplink and downlink handshake packets are used when establishing connections between the service chain orchestration device and the network element devices included in the network element device sequence.
[0049] For example, the uplink handshake packets consist of "SYN packet and ACK packet", and the downlink handshake packets consist of "SYN_ACK packet". The determined arrangement order is: SYN packet, SYN_ACK packet, ACK packet.
[0050] 102B. Determine the connection order between each network element device in the network element device sequence and the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process.
[0051] The connection sequence is used to indicate the order in which the network element devices, including the service chain orchestration device, establish connections with each other based on each target handshake packet.
[0052] The specific process of determining the connection order between each network element device in the network element device sequence and the service chain orchestration device based on the corresponding target handshake packet during service chain orchestration includes the following two cases: In scenario one, for the uplink handshake packet in the target handshake packet, the order in which each network element in the network element device sequence receives the uplink handshake packet is determined based on the preset order of each network element in the network element device sequence during the service chain orchestration process, according to the connection order of the corresponding uplink handshake packet with the service chain orchestration device.
[0053] Scenario 2: Based on the preset order of each network element device in the network element device sequence, it is determined that during the service chain orchestration process, the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding downlink handshake packet is the same as the order in which each network element device in the network element device sequence receives the downlink handshake packet; wherein, the connection order of each network element device with the service chain orchestration device based on the corresponding downlink handshake packet is the reverse of the connection order of each network element device with the service chain orchestration device based on the corresponding uplink handshake packet.
[0054] 102C. Based on the orchestration order, traverse each target handshake packet, and for each traversed target handshake packet, establish connections between each network element device included in the network element device sequence and the service chain orchestration device in the corresponding connection order.
[0055] For each target handshake packet traversed: starting from the network element device that is first in the corresponding connection order, the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the target handshake packet.
[0056] The specific execution process of handshaking operations between the service chain orchestration device and each network element device based on the target handshake packet may include the following steps 1A to 1B: 1A. If the network element device sequence includes only one network element device, then the target handshake packet is transmitted from the service chain orchestration device to the network element device.
[0057] The target handshake packet is transmitted from the service chain orchestration device to the network element device. The network element device can then perform a handshake operation with the service chain orchestration device based on the target handshake packet, thereby establishing a connection between each network element device in the network element device sequence and the service chain orchestration device based on the target handshake packet.
[0058] 1B. If the network element device sequence includes more than one network element device, then for the network element device in the sequence that needs to be the first to obtain the target handshake packet, the target handshake packet is transmitted from the service chain orchestration device to the network element device; for the network element device in the sequence that is not the first to obtain the target handshake packet, if it receives the third information fed back by the previous network element device, the target handshake packet is transmitted from the service chain orchestration device to the network element device; wherein, the third information is the information obtained by the previous network element device in performing the handshake operation based on the target handshake packet.
[0059] If the network element device sequence includes more than one network element device, then the handshake operation between the service chain orchestration device and each network element device needs to be performed sequentially based on the target handshake packet according to the corresponding connection order. For the network element device in the sequence that needs to obtain the target handshake packet first, the target handshake packet is directly transmitted from the service chain orchestration device to the network element device, so that the network element device can complete the handshake operation with the service chain orchestration device based on the target handshake packet.
[0060] For any network element in the sequence, after completing the handshake operation with the service chain orchestration device based on the target handshake packet, it will send back corresponding third information to inform the service chain orchestration device that it has completed the handshake operation based on the target handshake packet. Therefore, for a network element that is not the first to obtain the target handshake packet, it needs to check whether it has received the third information from the previous network element. If it has received the third information from the previous network element, it means that the previous network element has completed the handshake operation with the service chain orchestration device based on the target handshake packet, and therefore the target handshake packet can continue to be transmitted from the service chain orchestration device to the currently traversed network element.
[0061] Furthermore, based on the orchestration device, when traversing to a target handshake packet, it is necessary to determine whether the target handshake packet can be used to establish connections between each network element device in the network element device sequence and the service chain orchestration device, based on the position of the target handshake packet in the orchestration order and the type of the target handshake packet. If so, proceed to the step of establishing connections between each network element device in the network element device sequence and the service chain orchestration device in the corresponding connection order for the target handshake packet.
[0062] Based on the position of the currently traversed target handshake packet in the orchestration order and the type of the currently traversed target handshake packet, the specific process of determining whether the connection between each network element device in the network element device sequence and the service chain orchestration device can be established using the currently traversed target handshake packet can include the following three types: First, if it is determined that the target handshake packet being traversed is an uplink handshake packet, and the target handshake packet being traversed is at the beginning of the orchestration order, then it is determined whether the handshake packet required for the last handshake between the first device and the second device is transmitted to the downlink device in the first device and the second device through the service chain orchestration device; if so, it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet being traversed.
[0063] If it is determined that the handshake packet required for the last handshake between the first device and the second device is transmitted to the downlink device in the first device and the second device through the service chain orchestration device, it indicates that the target connection between the first device and the second device is close to being established. At this time, the connection between the service chain orchestration device and the network element devices included in the network element device sequence can be established. Therefore, it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet currently being traversed.
[0064] For example, the arrangement is as follows: SYN packet, SYN_ACK packet, ACK packet. If it is determined that the handshake packet "ACK packet" required for the last handshake between the first device and the second device is transmitted to the downlink device in the first device and the second device through the service chain orchestration device, then it is determined that the "SYN packet" located at the first position in the arrangement can be used to perform the handshake operation.
[0065] Second, if it is determined that the target handshake packet being traversed is an uplink handshake packet, and the target handshake packet being traversed is not the first in the orchestration order, then it is checked whether the first information fed back by the network element device that is the first in the connection order corresponding to the target handshake packet being traversed is obtained; wherein, the first information is the information fed back by the network element device that is the first in the connection order corresponding to the target handshake packet being traversed based on the downlink data packet that is one position before the target handshake packet being traversed in the orchestration order; if obtained, it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet being traversed.
[0066] If it is determined that the target handshake packet being traversed is an uplink handshake packet, and the target handshake packet being traversed is not the first in the arrangement order, it means that there is a downlink handshake packet preceding the target handshake packet in the arrangement order. For the downlink handshake packet, starting from the network element device at the first position in the connection sequence corresponding to the downlink handshake packet, the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the downlink handshake packet. After the handshake operation between the service chain orchestration device and the last network element device in the corresponding connection sequence is completed, the last network element device will return the first information. Since the connection sequence corresponding to the downlink handshake packet and the next one, i.e. the target handshake packet currently being traversed, "uplink handshake packet", is the reverse of each other, the last network element device here is the network element device at the first position in the connection sequence corresponding to the target handshake packet currently being traversed. Therefore, if it is determined that the target handshake packet currently being traversed is an uplink handshake packet, and the target handshake packet currently being traversed is not at the first position in the orchestration sequence, it is checked whether the first information returned by the network element device at the first position in the connection sequence corresponding to the target handshake packet currently being traversed is obtained, in order to determine whether the handshake operation between the service chain orchestration device and each network element device can be completed based on the downlink handshake packet preceding the target handshake packet in the orchestration sequence.
[0067] If the first information from the network element device that is the first in the connection sequence corresponding to the target handshake packet being traversed is detected, it means that the handshake operation between the service chain orchestration device and each network element device has been completed based on the downlink handshake packet that precedes the target handshake packet in the orchestration sequence. Then it is determined that the connection between each network element device in the network element device sequence and the service chain orchestration device can be established using the target handshake packet being traversed.
[0068] If the first information from the network element device that is the first in the connection sequence corresponding to the target handshake packet being traversed is not detected, it means that the handshake operation between the service chain orchestration device and each network element device has not yet been completed based on the downlink handshake packet that precedes the target handshake packet in the orchestration sequence. You can continue to wait.
[0069] Third, if it is determined that the target handshake packet being traversed is a downlink handshake packet, then it is checked whether the second information fed back by the network element device that is at the first position in the connection sequence corresponding to the target handshake packet being traversed is obtained; wherein, the second information is the information fed back by the network element device that is at the first position in the connection sequence corresponding to the target handshake packet being traversed, based on the uplink data packet that is located one position before the target handshake packet being traversed in the orchestration order; if obtained, it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet being traversed.
[0070] If the target handshake packet being traversed is determined to be a downlink handshake packet, it means that an uplink handshake packet must precede the target handshake packet in the orchestration order. For this uplink handshake packet, starting from the network element device at the first position in the connection sequence corresponding to the uplink handshake packet, the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the downlink handshake packet. After the handshake operation between the service chain orchestration device and the last network element device in the corresponding connection sequence is completed, the last network element device will return the second information. Since the connection sequence corresponding to the uplink handshake packet and its successor, i.e., the target handshake packet being traversed, is the reverse of the downlink handshake packet, the last network element device here is the network element device at the first position in the connection sequence corresponding to the target handshake packet being traversed. Therefore, if the target handshake packet being traversed is determined to be a downlink handshake packet, it is checked whether the second information returned by the network element device at the first position in the connection sequence corresponding to the target handshake packet being traversed is obtained, to determine whether the handshake operation between the service chain orchestration device and each network element device can be completed based on the uplink handshake packet preceding the target handshake packet in the orchestration order.
[0071] If the second information fed back by the network element device that is the first in the connection sequence corresponding to the target handshake packet being traversed is detected, it means that the handshake operation between the service chain orchestration device and each network element device has been completed based on the uplink handshake packet that precedes the target handshake packet being traversed in the orchestration sequence. Then it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet being traversed.
[0072] If the second information from the network element device that is first in the connection sequence corresponding to the target handshake packet being traversed is not detected, it means that the uplink handshake packet preceding the target handshake packet in the orchestration sequence has not yet completed the handshake operation between the service chain orchestration device and each network element device. Just continue to wait.
[0073] The second approach, if the target traffic transmission direction supported by the network element device sequence is a unidirectional traffic transmission direction between the first and second devices, then the specific methods for service chain orchestration processing of the network element device sequence based on the determined target handshake packet include the following methods one and two: Method 1: If all target handshake packets related to the target traffic transmission direction have been determined, the specific process of service chain orchestration of the network element device sequence based on the determined target handshake packets includes the following steps 102D to 102F: 102D. Determine the orchestration order of each target handshake packet during the service chain orchestration process.
[0074] If the target traffic transmission direction supported by the network element device sequence is a unidirectional traffic transmission direction between the first and second devices, and all target handshake packets related to the target traffic transmission direction have been determined, then the orchestration order of each target handshake packet in the service chain orchestration process is determined based on the usage order of each target handshake packet in the unidirectional traffic transmission direction. The orchestration order indicates the usage order of each target handshake packet when establishing a connection between the service chain orchestration device and the network element devices included in the network element device sequence.
[0075] 102E. Based on the unidirectional traffic transmission direction, determine the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process.
[0076] If the target traffic transmission direction supported by the network element device sequence is a unidirectional traffic transmission direction between the first device and the second device, then all target handshake packets will be handshake packets of the same type. For example, if the unidirectional traffic transmission direction is uplink traffic transmission between the first device and the second device, then all target handshake packets will be uplink handshake packets. Similarly, if the unidirectional traffic transmission direction is downlink traffic transmission between the first device and the second device, then all target handshake packets will be downlink handshake packets.
[0077] Based on the unidirectional traffic transmission direction, the specific process of determining the connection order between each network element device in the network element device sequence and the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process includes the following two cases: Scenario 1: If the unidirectional traffic transmission direction is the uplink traffic transmission direction between the first device and the second device, then based on the preset order of each network element device in the network element device sequence, it is determined that during the service chain orchestration process, the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding uplink handshake packet is the order in which each network element device in the network element device sequence receives the uplink handshake packet.
[0078] Scenario 2: The unidirectional traffic transmission direction is the downlink traffic transmission direction between the first device and the second device. Based on the preset order of each network element device in the network element device sequence, it is determined that during the service chain orchestration process, the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding downlink handshake packet is the order in which each network element device in the network element device sequence receives the downlink handshake packet.
[0079] In scenarios one and two above, the connection order between each network element device and the service chain orchestration device based on the corresponding downlink handshake packet is the reverse of the connection order between each network element device and the service chain orchestration device based on the corresponding uplink handshake packet.
[0080] 102F. Based on the orchestration order, traverse each target handshake packet, and for each traversed target handshake packet, perform the handshake operation between the service chain orchestration device and each network element device in sequence according to the corresponding connection order.
[0081] The specific execution process of the handshake operation between the service chain orchestration device and each network element device based on the target handshake packet can be found in steps 1A to 1B above, and will not be repeated here.
[0082] Method 2: If the target handshake packet is obtained during the establishment of the target connection, the specific process of service chain orchestration of the network element device sequence based on the determined target handshake packet includes the following steps 102G to 102H: 102F. Based on the unidirectional traffic transmission direction, determine the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process.
[0083] To accelerate the efficiency of service chain orchestration, when the target traffic transmission direction supported by the network element device sequence is the unidirectional traffic transmission direction between the first device and the second device, the target handshake packet does not need to be determined after all the handshake packets corresponding to the establishment of the target connection are obtained. Instead, the target handshake packet is obtained during the establishment of the target connection, and each time a target handshake packet is obtained, the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the obtained target handshake packet.
[0084] To ensure that the handshake operations between the service chain orchestration device and each network element device are performed sequentially based on the acquired target handshake packet, it is necessary to determine the connection order of each network element device in the service chain orchestration sequence with the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process, based on the unidirectional traffic transmission direction. The specific process of determining the connection order of each network element device in the service chain orchestration sequence with the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process is basically the same as step 102E above, and therefore will not be repeated here.
[0085] 102G: For each target handshake packet acquired, the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the target handshake packet, starting from the network element device that is first in the corresponding connection sequence.
[0086] The specific execution process of the handshake operation between the service chain orchestration device and each network element device based on the target handshake packet can be found in steps 1A to 1B above, and will not be repeated here.
[0087] Furthermore, since the target handshake packet is obtained during the establishment of the target connection, after the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the target handshake packet, the following step may also be included: transmitting the target handshake packet to the target device; wherein, the target device is the device among the first device and the second device that needs to receive the target handshake packet through the service chain orchestration device.
[0088] Since the target handshake packet is obtained during the establishment of the target connection, it has not yet been transmitted to the target device at the time of acquisition in order to speed up the service chain orchestration. If it is not transmitted to the target device, it will affect the establishment of the target connection between the first device and the second device. Therefore, after the handshake operation between the service chain orchestration device and each network element device is performed in sequence based on the target handshake packet, the target handshake packet is transmitted to the target device.
[0089] In some embodiments of this application, the service chain orchestration method may further include the following steps: determining whether all handshake packets corresponding to the establishment of the target connection have been obtained; if so, proceeding to the step of determining the matching target handshake packet from the handshake packets corresponding to the target connection based on the target traffic transmission direction supported by the network element device sequence to be orchestrated; otherwise, issuing a prompt that the handshake packet is incomplete.
[0090] To ensure the successful establishment of bidirectional transmission connections between the service chain orchestration device and the network element devices included in the network element device sequence, and to avoid handshake packet errors during the establishment process, it is necessary to determine whether all handshake packets corresponding to the establishment of the target connection have been obtained before matching the target handshake packet.
[0091] If it is determined that all handshake packets corresponding to the establishment of the target connection have been obtained, it means that the handshake packets required for both uplink and downlink traffic transmission between the first and second devices exist. Therefore, all handshake packets corresponding to the establishment of the target connection are identified as matching target handshake packets. If it is determined that not all handshake packets corresponding to the establishment of the target connection have been obtained, it means that the handshake packets are incomplete. Therefore, a handshake packet incompleteness prompt is issued so that business personnel can understand that the network element device sequence cannot be arranged at this time. Business personnel can also use this prompt to check whether there is an anomaly in the target connection establishment process between the first and second devices that prevents the acquisition of all handshake packets.
[0092] The specific process for determining whether all the handshake packets corresponding to the establishment of the target connection have been obtained includes the following two methods: One approach is to detect whether the total number of existing handshake packets for the target connection has reached a threshold; if so, it is determined that all handshake packets corresponding to the establishment of the target connection have been obtained.
[0093] The network protocol involved in the target connection is known. Based on the network protocol, the total number of handshake packets for establishing the target connection can be determined; this number is the threshold. If the total number of existing handshake packets for the target connection reaches the threshold, it means that all handshake packets for establishing the target connection have been obtained, and therefore it is determined that all handshake packets corresponding to the establishment of the target connection have been acquired. If the total number of existing handshake packets for the target connection does not reach the threshold, it means that all handshake packets for establishing the target connection have not yet been acquired, and therefore, it is necessary to continue monitoring the handshake packets involved in the target connection.
[0094] Furthermore, if the timer starts from the establishment of the target connection and the current cumulative duration reaches the duration threshold, and the total number of handshake packets currently existing for the target connection does not reach the quantity threshold, then a prompt indicating an abnormality in the establishment of the target connection is issued.
[0095] Another method is to detect whether the existing handshake packets for the target connection include the handshake packets required for the last handshake between the first and second devices; if so, it is determined that all the handshake packets corresponding to the establishment of the target connection have been obtained.
[0096] The handshake packets involved in establishing a target connection have a specific time sequence. Therefore, if the existing handshake packets for the target connection include the handshake packets required for the final handshake between the first and second devices, it indicates that all other handshake packets required for establishing the target connection have been obtained, and thus it is determined that all handshake packets corresponding to the establishment of the target connection have been acquired. If the existing handshake packets for the target connection do not include the handshake packets required for the final handshake between the first and second devices, it indicates that all handshake packets for establishing the target connection have not yet been acquired, and therefore, it is sufficient to continue monitoring the handshake packets involved in the target connection.
[0097] Furthermore, if the timer starts from the establishment of the target connection and the current accumulated time reaches the time threshold, and it is detected that the handshake packets currently existing for the target connection do not include the handshake packets required for the last handshake between the first and second devices, then a target connection establishment error message is issued.
[0098] In some embodiments of this application, the following example illustrates the specific process of step 102, "Performing service chain orchestration processing on the network element device sequence based on the determined target handshake packet," taking the target traffic transmission direction supported by the network element device sequence to be orchestrated as the bidirectional traffic transmission direction between the first and second devices: The sequence of network element devices to be orchestrated includes network element devices NF1 and NF2 arranged in a preset order. For example... Figure 2 As shown, the service chain orchestration process for the network element device sequence to be orchestrated is as follows: The network protocol between the first device 21 and the second device 22 is TCP. A target connection is established between the first device 21 and the second device 22, and all handshake packets corresponding to the target connection are obtained. Figure 2 As shown, the process of establishing the target connection is as follows: The first device 21 sends a handshake packet "SYN packet" to the service chain orchestration device. The service chain orchestration device receives the "SYN packet" through the ge1 interface. After receiving the "SYN packet", the service chain orchestration device determines that the "SYN packet" belongs to the three-way handshake packet of the target connection, and therefore stores the "SYN packet". At the same time as storing the "SYN packet", the service chain orchestration device sends the "SYN packet" to the second device 22 through the ge2 interface.
[0099] After receiving the "SYN packet" sent by the service chain orchestration device, the second device 22 returns a corresponding handshake packet, the "SYN_ACK packet," to the service chain orchestration device based on TCP protocol rules. After receiving the "SYN_ACK packet" from the second device 22 via the ge2 interface, the service chain orchestration device determines that the "SYN_ACK packet" belongs to the three-way handshake packet of the target connection and therefore stores the "SYN_ACK packet." Simultaneously, the service chain orchestration device sends the "SYN_ACK packet" to the first device 21 via the ge1 interface.
[0100] After receiving the "SYN_ACK packet" from the service chain orchestration device, the first device 21 returns a corresponding handshake packet, the "ACK packet," to the service chain orchestration device based on TCP protocol rules. Upon receiving the "ACK packet" from the first device 21 via the ge1 interface, the service chain orchestration device determines that the "ACK packet" belongs to the three-way handshake of the target connection and therefore stores the "ACK packet." Simultaneously, the service chain orchestration device sends the "ACK packet" to the second device 22 via the ge2 interface. After receiving the "ACK packet" from the service chain orchestration device and verifying its validity, the second device 22 notifies the service chain orchestration device that the target connection has been established.
[0101] The handshake packets corresponding to the establishment of the target connection include: SYN packets, SYN_ACK packets, and ACK packets. The target traffic transmission direction supported by the network element device sequence to be orchestrated is the bidirectional traffic transmission direction between the first device 21 and the second device 22, that is, the traffic transmission direction from the first device 21 to the second device 22 and the traffic transmission direction from the second device 22 to the first device 21. All handshake packets corresponding to the establishment of the target connection are identified as target handshake packets. Based on the identified target handshake packets, the uplink handshake packets "SYN and ACK packets" and the downlink handshake packets "SYN_ACK packets" are identified. The orchestration order is determined to be: SYN packets, SYN_ACK packets, and ACK packets. It can be seen that the uplink handshake packets and downlink handshake packets alternate in the orchestration order, and the uplink handshake packet is in the first position.
[0102] like Figure 2 As shown, the specific process of traversing each target handshake packet based on the orchestration order, and for each traversed target handshake packet, establishing connections between each network element device in the network element device sequence and the service chain orchestration device according to the corresponding connection order, is as follows: Traversing each uplink and downlink handshake packet based on the orchestration order. When the currently traversed handshake packet is a "SYN packet," the service chain orchestration device sends the "SYN packet" to network element device "NF1" through the ge3 interface. After receiving the "SYN packet" sent by the service chain orchestration device, network element device "NF1" processes it and sends the "SYN packet" as feedback third information to the service chain orchestration device. This third information is used to instruct the service chain orchestration device to continue transmitting the currently traversed handshake packet "SYN packet" to the subsequent network element device "NF2."
[0103] The service chain orchestration device receives the SYN packet sent by network element "NF1" from the ge4 interface, and then, according to the corresponding connection order, sends the SYN packet to network element "NF2" through the ge5 interface. After receiving the SYN packet, network element "NF2" processes it and sends the SYN packet as the second piece of feedback information back to the service chain orchestration device. This second piece of information indicates that the last network element in the sequence to receive the SYN packet has completed its operation based on the SYN packet. The service chain orchestration device then receives the SYN packet sent by network element "NF2" from the ge6 interface. At this point, the handshake operation between the service chain orchestration device and the network elements in the sequence based on the currently traversed handshake packet SYN packet is complete.
[0104] Then, the handshake packet "SYN_ACK packet" that is second in the traversal sort is taken as the current handshake packet. The service chain orchestration device sends the "SYN_ACK packet" to network element device "NF2" through the ge6 interface. After receiving the "SYN_ACK packet" sent by the service chain orchestration device, network element device "NF2" processes it and sends the "SYN_ACK packet" as the third feedback information to the service chain orchestration device. This third information is used to instruct the service chain orchestration device to continue transmitting the currently traversed handshake packet "SYN_ACK packet" to the subsequent network element device "NF1". The service chain orchestration device receives the "SYN_ACK packet" sent by network element device "NF2" through the ge5 interface, and then sends the "SYN_ACK packet" to network element device "NF1" through the ge4 interface. After receiving the "SYN_ACK packet" sent by the service chain orchestration device, network element device "NF1" processes it and sends the "SYN_ACK packet" as the first feedback information to the service chain orchestration device. The first piece of information here indicates that the last network element device in the sequence to receive the "SYN_ACK packet" has completed its operation based on the "SYN_ACK packet". The service chain orchestration device receives the "SYN_ACK packet" sent by network element device "NF1" through the ge3 interface. At this point, the handshake operation between the service chain orchestration device and the network element devices in the sequence based on the currently traversed handshake packet "SYN_ACK packet" is complete.
[0105] Then, the third handshake packet in the orchestration sequence, the "ACK packet," is taken as the current handshake packet for traversal. The service chain orchestration device sends the "ACK packet" to network element "NF1" via the ge3 interface. After receiving the "ACK packet" from the service chain orchestration device, network element "NF1" processes it and sends the "ACK packet" as the third feedback information to the service chain orchestration device. This third information instructs the service chain orchestration device to continue transmitting the currently traversed handshake packet "ACK packet" to the subsequent network element "NF2." The service chain orchestration device receives the "ACK packet" sent by network element "NF1" via the ge4 interface and then sends the "ACK packet" to network element "NF2" via the ge5 interface. After receiving the "ACK packet" from the service chain orchestration device, network element "NF2" processes it and sends the "ACK packet" as the second feedback information to the service chain orchestration device. This second information instructs the last network element in the sequence to receive the "ACK packet" to complete the operation based on the "ACK packet." The service chain orchestration device receives the "ACK packet" sent by the network element device "NF2" through the ge6 interface. At this time, the handshake operation between the service chain orchestration device and the network element device in the sequence of network element devices for the currently traversed handshake packet is completed.
[0106] At this point, all handshake packets in the orchestration process have been traversed. Device 21 and Device 22 have completed the TCP three-way handshake, and the service chain orchestration device and each network element device have also completed the TCP three-way handshake. Therefore, the service chain orchestration is complete. Subsequently, network traffic between Device 21 and Device 22 can be transmitted through the orchestrated service chain.
[0107] After the service chain orchestration is completed, the network traffic transmission between the first device 21 and the second device 22 is as follows: Figure 3 As shown. The uplink traffic between the first device 21 and the second device 22, i.e., Packet A, can be calculated according to... Figure 3 The transmission sequence is shown. Downlink traffic, i.e., Packet B, between the first device 21 and the second device 22 can be transmitted in the order shown. Figure 3 The transmission sequence is shown in the diagram. The first device 21 is the client device, and the second device 22 is the server device.
[0108] Furthermore, in order to improve the efficiency of service chain orchestration, the aforementioned service chain orchestration equipment can transmit "ACK packets" to downlink devices and "SYN packets" to network element device "NF1" simultaneously.
[0109] Additionally, it should be noted that, in order to better describe the handshake packet transmission order, Figure 2 The numbers "1-18" were added. This is to better describe the order in which traffic is transmitted. Figure 3 The numbers 1-12 have been added.
[0110] In some embodiments of this application, the following describes the specific process of step 102, "Performing service chain orchestration processing on the network element device sequence based on the determined target handshake packet," taking the target traffic transmission direction supported by the network element device sequence to be orchestrated as the unidirectional traffic transmission direction between the first device and the second device, i.e., supporting the unidirectional traffic transmission direction between the first device and the second device: The following explanation uses the example of traffic transmission from the first device 21 to the second device 22 as the target traffic transmission direction. This sequence of network element devices to be orchestrated consists of network element devices NF1 and NF2 arranged in a preset order. For example... Figure 4 As shown, the service chain orchestration process for this network element device sequence is as follows: The network protocol between the first device 21 and the second device 22 is the TCP protocol. It is obtained during the establishment of the target connection. Starting from the network element device that is first in the corresponding connection order, the handshake operation between the service chain orchestration device and each network element device is performed in sequence based on the target handshake packet.
[0111] like Figure 4As shown, the first device 21 sends a handshake packet "SYN packet" to the service chain orchestration device. The service chain orchestration device receives the "SYN packet" through the ge1 interface. After receiving the "SYN packet," the service chain orchestration device sends the "SYN packet" to the network element device "NF1" through the ge3 interface. After receiving the "SYN packet" sent by the service chain orchestration device, the network element device "NF1" processes it and sends the "SYN packet" as feedback third information to the service chain orchestration device. This third information is used to instruct the service chain orchestration device to continue transmitting the currently traversed handshake packet "SYN packet" to the subsequent network element device "NF2."
[0112] The service chain orchestration device receives the SYN packet sent by network element device "NF1" from the ge4 interface, and then sends the SYN packet to network element device "NF2" through the ge5 interface according to the network element device sequence. After receiving the SYN packet from the service chain orchestration device, network element device "NF2" processes it and sends the SYN packet as feedback information to the service chain orchestration device to indicate that the last network element device in the sequence to receive the SYN packet has completed the operation based on the SYN packet. The service chain orchestration device receives the SYN packet sent by network element device "NF2" from the ge6 interface and sends the SYN packet to the second device 22. At this time, the handshake operations between the first device 21 and the second device 22, as well as between the service chain orchestration device and each network element device in the sequence, for the currently traversed handshake packet are all completed.
[0113] If the target handshake packet obtained is an "ACK packet", then use this handshake packet as the target handshake packet.
[0114] like Figure 4 As shown, the first device 21 sends a handshake packet "ACK packet" to the service chain orchestration device. The service chain orchestration device receives the "ACK packet" through the ge1 interface. After receiving the "ACK packet," the service chain orchestration device sends the "ACK packet" to the network element device "NF1" through the ge3 interface. After receiving the "ACK packet" sent by the service chain orchestration device, the network element device "NF1" processes it and sends the "ACK packet" as feedback third information to the service chain orchestration device. This third information is used to instruct the service chain orchestration device to continue transmitting the currently traversed handshake packet "ACK packet" to the subsequent network element device "NF2."
[0115] The service chain orchestration device receives the "ACK packet" sent by network element device "NF1" from the ge4 interface, and then sends the "ACK packet" to network element device "NF2" through the ge5 interface according to the order of the network element devices. After receiving the "ACK packet" sent by the service chain orchestration device, network element device "NF2" processes it and sends the "ACK packet" as feedback information to the service chain orchestration device to indicate that the last network element device in the network element device sequence to receive the "ACK packet" has completed the operation based on the "ACK packet". The service chain orchestration device receives the "ACK packet" sent by network element device "NF2" from the ge6 interface and sends the "ACK packet" to the second device 22. At this time, the handshake operations between the first device 21 and the second device 22, as well as between the service chain orchestration device and the network element devices in the network element device sequence, for the currently traversed handshake packets are all completed.
[0116] At this point, the first device 21 and the second device 22 have completed the handshake related to the unidirectional traffic transmission direction from the first device 21 to the second device 22. The service chain orchestration device and each network element device have also completed the handshake related to the unidirectional traffic transmission direction from the first device 21 to the second device 22. Therefore, the service chain orchestration is complete. Subsequently, network traffic between the first device 21 and the second device 22 related to the unidirectional traffic transmission direction from the first device 21 to the second device 22 can be transmitted through the orchestrated service chain.
[0117] It should be noted that, in order to better describe the handshake packet transmission order, Figure 4 The numbers "1-12" have been added.
[0118] The service chain orchestration method provided in this application is applied to a service chain orchestration device. The service chain orchestration device supports traffic transmission in at least one traffic transmission direction between a first device and a second device. After determining the sequence of network element devices to be orchestrated, the service chain orchestration device determines a matching target handshake packet from the handshake packets corresponding to the target connection between the first device and the second device, based on the traffic transmission direction supported by the sequence of network element devices to be orchestrated. Then, based on the determined target handshake packet, the service chain orchestration process is performed on the network element device sequence to orchestrate a service chain, thereby enabling traffic transmission between the first device and the second device in the target traffic transmission direction based on the orchestrated service chain. Therefore, the service chain orchestration device provided in this application supports traffic transmission in at least one traffic transmission direction between the first device and the second device, and flexibly and dynamically orchestrates the network element device sequence based on the traffic transmission direction supported by the sequence of network element devices to be orchestrated. In this way, regardless of whether the traffic transmission direction of the network element device sequence to be orchestrated is bidirectional or unidirectional, the service chain orchestration can be completed using the target handshake packet suitable for the traffic transmission direction. There is no need to modify the traffic transmission direction of the network element device sequence or modify the relevant functions of the network element devices in the sequence. Therefore, it overcomes the defect that the existing service chain orchestration method is only suitable for bidirectional traffic transmission and improves the adaptability of service chain orchestration.
[0119] Furthermore, based on the above method embodiments, another embodiment of this application also provides a service chain orchestration apparatus, which is applied to a service chain orchestration device, wherein the service chain orchestration device supports traffic transmission in at least one traffic transmission direction between a first device and a second device, such as... Figure 5 As shown, the service chain orchestration apparatus includes: The determining module 31 is used to determine a matching target handshake packet from the handshake packets corresponding to the target connection based on the target traffic transmission direction supported by the network element device sequence to be orchestrated; wherein, the target connection is a connection between the first device and the second device, and the network element device sequence includes at least one network element device arranged in a preset order; The module 32 is used to perform service chain orchestration processing on the network element device sequence based on the determined target handshake packet, so as to realize the traffic transmission of the first device and the second device in the target traffic transmission direction based on the orchestrated service chain.
[0120] The service chain orchestration apparatus provided in this application embodiment is applied to a service chain orchestration device. The service chain orchestration device supports traffic transmission in at least one traffic transmission direction between a first device and a second device. After determining the network element device sequence to be orchestrated, the service chain orchestration device determines a matching target handshake packet from the handshake packets corresponding to the target connection between the first device and the second device based on the traffic transmission direction supported by the network element device sequence to be orchestrated. Then, based on the determined target handshake packet, the network element device sequence is processed for service chain orchestration, thereby orchestrating a service chain to enable traffic transmission between the first device and the second device in the target traffic transmission direction. Therefore, the service chain orchestration device provided in this application embodiment supports traffic transmission in at least one traffic transmission direction between the first device and the second device, and flexibly and dynamically orchestrates the network element device sequence based on the traffic transmission direction supported by the network element device sequence to be orchestrated. In this way, regardless of whether the traffic transmission direction of the network element device sequence to be orchestrated is bidirectional or unidirectional, the service chain orchestration can be completed using the target handshake packet suitable for the traffic transmission direction. There is no need to modify the traffic transmission direction of the network element device sequence or modify the relevant functions of the network element devices in the sequence. Therefore, it overcomes the defect that the existing service chain orchestration method is only suitable for bidirectional traffic transmission and improves the adaptability of service chain orchestration.
[0121] In some embodiments of this application, such as Figure 6 As shown, the determining module 31 includes: The first determining unit 311 is configured to determine all handshake packets corresponding to the establishment of the target connection as matching target handshake packets if the target traffic transmission direction supported by the network element device sequence is the bidirectional traffic transmission direction between the first device and the second device.
[0122] In some embodiments of this application, such as Figure 6 As shown, module 32 includes: The second determining unit 321 is used to determine the arrangement order of each target handshake packet during the service chain orchestration process. The third determining unit 322 is used to determine the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process. The first establishment unit 323 is used to traverse each target handshake packet based on the orchestration order, and for each traversed target handshake packet, establish connections between each network element device included in the network element device sequence and the service chain orchestration device in sequence according to the corresponding connection order.
[0123] In some embodiments of this application, such as Figure 6As shown, the second determining unit 321 is specifically used to identify the uplink handshake packet and the downlink handshake packet in the target handshake packet; wherein, the uplink handshake packet is the target handshake packet initiated by the uplink device of the first device and the second device; the downlink handshake packet is the target handshake packet initiated by the downlink device of the first device and the second device; sorting each uplink handshake packet and downlink handshake packet in the target handshake packet to obtain the arrangement order, wherein, in the arrangement order, the uplink handshake packet and the downlink handshake packet alternate, and the one in the first position is the uplink handshake packet.
[0124] In some embodiments of this application, such as Figure 6 As shown, the third determining unit 322 is specifically used to determine, based on the preset order of each network element device in the network element device sequence, that during the service chain orchestration process, the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding uplink handshake packet is the order in which each network element device in the network element device sequence receives the uplink handshake packet; and based on the preset order of each network element device in the network element device sequence, to determine, during the service chain orchestration process, the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding downlink handshake packet is the order in which each network element device in the network element device sequence receives the downlink handshake packet; wherein, the connection order of each network element device with the service chain orchestration device based on the corresponding downlink handshake packet is the reverse of the connection order of each network element device with the service chain orchestration device based on the corresponding uplink handshake packet.
[0125] In some embodiments of this application, such as Figure 6 As shown, the first establishment unit 323 is specifically used for each target handshake packet traversed: starting from the network element device that is first in the corresponding connection order, the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the target handshake packet.
[0126] In some embodiments of this application, such as Figure 6 As shown, module 32 also includes: The judgment unit 324 is used to determine, based on the position of the currently traversed target handshake packet in the orchestration order and the type of the currently traversed target handshake packet, whether the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the currently traversed target handshake packet; if so, the first establishment unit 323 is triggered to proceed to the step of establishing the connection between each network element device included in the network element device sequence and the service chain orchestration device in sequence according to the corresponding connection order for the currently traversed target handshake packet.
[0127] In some embodiments of this application, such as Figure 6As shown, the judgment unit 324 is specifically used to determine whether the handshake packet required for the last handshake between the first device and the second device is transmitted to the downlink device among the first device and the second device through the service chain orchestration device if it is determined that the target handshake packet being traversed is an uplink handshake packet and the target handshake packet being traversed is located at the first position of the orchestration order; if so, it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet being traversed.
[0128] In some embodiments of this application, such as Figure 6 As shown, the judgment unit 324 is specifically used to determine whether, if it is determined that the target handshake packet being traversed is an uplink handshake packet and the target handshake packet being traversed is not the first position in the orchestration order, it has obtained first information fed back by the network element device that is the first position in the connection order corresponding to the target handshake packet being traversed; wherein, the first information is information fed back by the network element device that is the first position in the connection order corresponding to the target handshake packet being traversed based on the downlink data packet that is one position before the target handshake packet being traversed in the orchestration order; if obtained, it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet being traversed.
[0129] In some embodiments of this application, such as Figure 6 As shown, the judgment unit 324 is specifically used to, if it is determined that the target handshake packet being traversed is a downlink handshake packet, detect whether the second information fed back by the network element device that is at the first position in the connection sequence corresponding to the target handshake packet being traversed is obtained; wherein, the second information is the information fed back by the network element device that is at the first position in the connection sequence corresponding to the target handshake packet being traversed based on the uplink data packet that is located one position before the target handshake packet being traversed in the arrangement order; if obtained, it is determined that the connection between each network element device included in the network element device sequence and the service chain arrangement device can be established using the target handshake packet being traversed.
[0130] In some embodiments of this application, such as Figure 6 As shown, the determining module 31 includes: The fourth determining unit 312 is configured to determine the handshake packet related to the unidirectional traffic transmission direction in the handshake packet corresponding to the target connection as the matching target handshake packet if the target traffic transmission direction supported by the network element device sequence is the unidirectional traffic transmission direction between the first device and the second device; wherein the unidirectional traffic transmission direction is the traffic transmission direction from the first device to the second device or the traffic transmission direction from the second device to the first device.
[0131] In some embodiments of this application, such as Figure 6As shown, the fourth determining unit 312 is specifically used to determine the handshake packet related to the uplink traffic transmission direction as the handshake packet related to the unidirectional traffic transmission direction if the unidirectional traffic transmission direction is the uplink traffic transmission direction between the first device and the second device; and to determine the handshake packet related to the downlink traffic transmission direction as the handshake packet related to the unidirectional traffic transmission direction if the unidirectional traffic transmission direction is the downlink traffic transmission direction between the first device and the second device.
[0132] In some embodiments of this application, such as Figure 6 As shown, if all target handshake packets related to the target traffic transmission direction have been determined, then the establishment module 32 includes: The second establishment unit 325 is used to determine the orchestration order corresponding to each target handshake packet during the service chain orchestration process; based on the unidirectional traffic transmission direction, determine the connection order between each network element device included in the network element device sequence and the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process; traverse each target handshake packet based on the orchestration order, and for each traversed target handshake packet, perform the handshake operation between the service chain orchestration device and each network element device in sequence according to the corresponding connection order based on the target handshake packet.
[0133] In some embodiments of this application, such as Figure 6 As shown, if the target handshake packet is obtained during the establishment of the target connection, then the establishment module 32 includes: The third establishment unit 326 is used to determine, based on the unidirectional traffic transmission direction, the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process; and for each target handshake packet obtained, starting from the network element device at the first position in the corresponding connection order, the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the target handshake packet.
[0134] In some embodiments of this application, such as Figure 6 As shown, the third establishment unit 326 is further configured to transmit the target handshake packet to the target device after performing handshake operations between the service chain orchestration device and each network element device in sequence based on the target handshake packet; wherein, the target device is the device among the first device and the second device that needs to receive the target handshake packet through the service chain orchestration device.
[0135] In some embodiments of this application, such as Figure 6As shown, module 32 is specifically used to transmit the target handshake packet from the service chain orchestration device to the network element device if the network element device sequence includes only one network element device; if the network element device sequence includes more than one network element device, the target handshake packet is transmitted from the service chain orchestration device to the network element device for the network element device that needs to obtain the target handshake packet first in the network element device sequence; for network element devices that are not the first to obtain the target handshake packet in the network element device sequence, if the third information fed back by the previous network element device is received, the target handshake packet is transmitted from the service chain orchestration device to the network element device; wherein, the third information is the information obtained by the previous network element device in performing a handshake operation based on the target handshake packet.
[0136] In some embodiments of this application, such as Figure 6 As shown, the service chain orchestration apparatus also includes: The judgment module 33 is used to determine whether all the handshake packets corresponding to the establishment of the target connection have been obtained; if so, the determination module 31 is triggered to proceed to the step of determining the matching target handshake packet from the handshake packet corresponding to the target connection based on the target traffic transmission direction supported by the network element device sequence to be orchestrated; otherwise, a prompt that the handshake packet is incomplete is issued.
[0137] In some embodiments of this application, such as Figure 6 As shown, the judgment module 33 is specifically used to detect whether the total number of existing handshake packets for the target connection has reached a threshold; if it has, it is determined that all handshake packets corresponding to the establishment of the target connection have been obtained.
[0138] In some embodiments of this application, such as Figure 6 As shown, the judgment module 33 is specifically used to detect whether the handshake packets currently existing for the target connection include the handshake packets required for the last handshake between the first device and the second device; if so, it is determined that all the handshake packets corresponding to the establishment of the target connection have been obtained.
[0139] In some embodiments of this application, such as Figure 6 As shown, the determining module 31 is further configured to, if it is determined that unidirectional traffic transmission is required between the first device and the second device, detect whether the network protocol between the first device and the second device is a stateful network protocol; if so, select at least one network element device with unidirectional traffic processing capability and whose device function meets the traffic processing requirements; sort the selected network element devices according to the specified device function order to form a sequence of network element devices to be arranged; and determine that the target traffic transmission direction supported by the formed network element device sequence is the unidirectional traffic transmission direction specified between the first device and the second device.
[0140] In some embodiments of this application, such as Figure 6 As shown, the determining module 31 is further configured to, if it is determined that bidirectional traffic transmission is required between the first device and the second device, select at least one network element device whose device function meets the traffic processing requirements; sort the selected network element devices according to the specified functional order to form a sequence of network element devices to be arranged; and determine that the target traffic transmission direction supported by the formed network element device sequence is the bidirectional traffic transmission direction between the first device and the second device.
[0141] In some embodiments of this application, the uplink device in the first device and the second device is a client device, and the downlink device is a server device.
[0142] For a detailed explanation of the methods used in the operation of each functional module in the service chain orchestration apparatus provided in this application embodiment, please refer to the corresponding method details in the above service chain orchestration method embodiment, which will not be repeated here.
[0143] Furthermore, another embodiment of this application provides a computer-readable storage medium including a stored program, wherein the program, when running, controls the device where the storage medium is located to execute the above-described service chain orchestration method.
[0144] Furthermore, based on the above embodiments, another embodiment of this application also provides an electronic device, the electronic device comprising: a memory for storing a program; and a processor coupled to the memory for running the program to execute the above-described service chain orchestration method.
[0145] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.
[0146] It is understood that the relevant features in the above methods and apparatus can be referenced interchangeably. Furthermore, the terms "first," "second," etc., in the above embodiments are used to distinguish between embodiments and do not represent the superiority or inferiority of any particular embodiment.
[0147] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0148] The algorithms and displays provided herein are not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. The required structure for constructing such systems is apparent from the above description. Furthermore, this application is not directed to any particular programming language. It should be understood that the content of this application described herein can be implemented using various programming languages, and the above description of specific languages is for the purpose of disclosing preferred embodiments of this application.
[0149] In addition, the memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0150] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0151] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data cutover device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data cutover device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0152] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data cutover device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0153] These computer program instructions can also be loaded onto a computer or other programmable data cutover device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable device for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0154] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0155] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0156] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0157] It should also be noted that 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 process, method, article, or apparatus. Unless otherwise specified, 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 that element.
[0158] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0159] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A service chain orchestration method, characterized in that, An application to a service chain orchestration device, the service chain orchestration device supporting traffic transmission in at least one traffic transmission direction between a first device and a second device, the method comprising: Based on the target traffic transmission direction supported by the network element device sequence to be orchestrated, a matching target handshake packet is determined from the handshake packet corresponding to the target connection; wherein, the target connection is the connection between the first device and the second device, and the network element device sequence includes at least one network element device arranged in a preset order; Based on the determined target handshake packet, the network element device sequence is processed by service chain orchestration, so as to realize the traffic transmission of the first device and the second device in the target traffic transmission direction based on the orchestrated service chain; The step of determining a matching target handshake packet from the handshake packets corresponding to the target connection based on the target traffic transmission direction supported by the network element device sequence to be orchestrated includes: if the target traffic transmission direction supported by the network element device sequence is a bidirectional traffic transmission direction between the first device and the second device, then all handshake packets corresponding to the establishment of the target connection are determined as matching target handshake packets; if the target traffic transmission direction supported by the network element device sequence is a unidirectional traffic transmission direction between the first device and the second device, then the handshake packets related to the unidirectional traffic transmission direction in the handshake packets corresponding to the target connection are determined as matching target handshake packets; wherein, the unidirectional traffic transmission direction is the traffic transmission direction from the first device to the second device or the traffic transmission direction from the second device to the first device; The step of performing service chain orchestration processing on the network element device sequence based on the determined target handshake packet includes: determining the orchestration order corresponding to each target handshake packet, the connection order between each network element device in the network element device sequence and the service chain orchestration device, and establishing the connection between each network element device and the service chain orchestration device according to the orchestration order and the connection order.
2. The method according to claim 1, characterized in that, Based on the determined target handshake packet, the network element device sequence is processed for service chain orchestration, including: Determine the orchestration order of each target handshake packet during the service chain orchestration process; During the service chain orchestration process, the connection order of each network element device in the network element device sequence with the service chain orchestration device is determined based on the corresponding target handshake packet; Based on the orchestration order, each target handshake packet is traversed, and for each traversed target handshake packet, connections are established sequentially between each network element device included in the network element device sequence and the service chain orchestration device according to the corresponding connection order.
3. The method according to claim 2, characterized in that, Determine the orchestration order of each target handshake packet during the service chain orchestration process, including: Identify the uplink handshake packet and downlink handshake packet in the target handshake packet; wherein, the uplink handshake packet is the target handshake packet initiated by the uplink device of the first device and the second device; the downlink handshake packet is the target handshake packet initiated by the downlink device of the first device and the second device; The uplink and downlink handshake packets in the target handshake packet are sorted to obtain the arrangement order, wherein the uplink and downlink handshake packets alternate in the arrangement order, and the uplink handshake packet is ranked first.
4. The method according to claim 3, characterized in that, Determining the connection order between each network element device in the network element device sequence and the service chain orchestration device based on the corresponding target handshake packet during the service chain orchestration process includes: Based on the preset order of each network element device in the network element device sequence, it is determined that during the service chain orchestration process, the connection order between each network element device in the network element device sequence and the service chain orchestration device based on the corresponding uplink handshake packet is the order in which each network element device in the network element device sequence receives the uplink handshake packet. Based on the preset order of each network element device in the network element device sequence, it is determined that during the service chain orchestration process, the connection order of each network element device in the network element device sequence with the service chain orchestration device based on the corresponding downlink handshake packet is the order in which each network element device in the network element device sequence receives the downlink handshake packet; wherein, the connection order of each network element device with the service chain orchestration device based on the corresponding downlink handshake packet is the reverse order of the connection order of each network element device with the service chain orchestration device based on the corresponding uplink handshake packet.
5. The method according to claim 2, characterized in that, For each target handshake packet traversed, connections are established sequentially between each network element device in the network element device sequence and the service chain orchestration device according to the corresponding connection order, including: For each target handshake packet traversed: starting from the network element device that is first in the corresponding connection order, the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the target handshake packet.
6. The method according to claim 2, characterized in that, The method further includes: Based on the position of the target handshake packet being traversed in the orchestration order and the type of the target handshake packet being traversed, it is determined whether the target handshake packet being traversed can be used to establish a connection between each network element device included in the network element device sequence and the service chain orchestration device. If possible, proceed to the step of establishing connections between each network element device in the network element device sequence and the service chain orchestration device in the corresponding connection order for the target handshake packet being traversed.
7. The method according to claim 6, characterized in that, Based on the position of the currently traversed target handshake packet in the orchestration order and the type of the currently traversed target handshake packet, it is determined whether a connection can be established between each network element device in the network element device sequence and the service chain orchestration device using the currently traversed target handshake packet, including: If it is determined that the target handshake packet being traversed is an uplink handshake packet, and the target handshake packet being traversed is located at the beginning of the orchestration order, then it is determined whether the handshake packet required for the last handshake between the first device and the second device is transmitted to the downlink device between the first device and the second device through the service chain orchestration device. If so, it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet currently being traversed.
8. The method according to claim 6, characterized in that, Based on the position of the currently traversed target handshake packet in the orchestration order and the type of the currently traversed target handshake packet, it is determined whether a connection can be established between each network element device in the network element device sequence and the service chain orchestration device using the currently traversed target handshake packet, including: If it is determined that the target handshake packet being traversed is an uplink handshake packet, and the target handshake packet being traversed is not the first position in the arrangement order, then it is detected whether the first information fed back by the network element device that is the first position in the connection order corresponding to the target handshake packet being traversed is obtained; wherein, the first information is the information fed back by the network element device that is the first position in the connection order corresponding to the target handshake packet being traversed based on the downlink data packet that is the position before the target handshake packet being traversed in the arrangement order; If obtained, it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet currently being traversed.
9. The method according to claim 6, characterized in that, Based on the position of the currently traversed target handshake packet in the orchestration order and the type of the currently traversed target handshake packet, it is determined whether a connection can be established between each network element device in the network element device sequence and the service chain orchestration device using the currently traversed target handshake packet, including: If it is determined that the target handshake packet being traversed is a downlink handshake packet, then it is checked whether the second information fed back by the network element device that is at the first position in the connection sequence corresponding to the target handshake packet being traversed is obtained; wherein, the second information is the information fed back by the network element device that is at the first position in the connection sequence corresponding to the target handshake packet being traversed, based on the uplink data packet that is located one position before the target handshake packet being traversed in the arrangement order. If obtained, it is determined that the connection between each network element device included in the network element device sequence and the service chain orchestration device can be established using the target handshake packet currently being traversed.
10. The method according to claim 1, characterized in that, If all target handshake packets related to the target traffic transmission direction have been identified, then the network element device sequence is subjected to service chain orchestration processing based on the identified target handshake packets, including: Determine the orchestration order of each target handshake packet during the service chain orchestration process; Based on the unidirectional traffic transmission direction, the connection order of each network element device in the network element device sequence with the service chain orchestration device is determined during the service chain orchestration process, based on the corresponding target handshake packet. Based on the orchestration order, each target handshake packet is traversed, and for each traversed target handshake packet, the handshake operation between the service chain orchestration device and each network element device is performed sequentially according to the corresponding connection order.
11. The method according to claim 1, characterized in that, If the target handshake packet is obtained during the establishment of the target connection, then the network element device sequence is subjected to service chain orchestration processing based on the determined target handshake packet, including: Based on the unidirectional traffic transmission direction, the connection order of each network element device in the network element device sequence with the service chain orchestration device is determined during the service chain orchestration process, based on the corresponding target handshake packet. For each target handshake packet acquired, the handshake operation between the service chain orchestration device and each network element device is performed sequentially based on the target handshake packet, starting from the network element device that is first in the corresponding connection sequence.
12. The method according to claim 11, characterized in that, After performing handshake operations between the service chain orchestration device and each network element device sequentially based on the target handshake packet, the method further includes: The target handshake packet is transmitted to the target device; wherein, the target device is the device that needs to receive the target handshake packet through the service chain orchestration device, which is either the first device or the second device.
13. The method according to claim 1, characterized in that, The method further includes: If the unidirectional traffic transmission direction is the uplink traffic transmission direction between the first device and the second device, then the handshake packet related to the uplink traffic transmission direction is determined as the handshake packet related to the unidirectional traffic transmission direction. If the unidirectional traffic transmission direction is the downlink traffic transmission direction between the first device and the second device, then the handshake packet related to the downlink traffic transmission direction is determined as the handshake packet related to the unidirectional traffic transmission direction.
14. The method according to any one of claims 5, 10, and 11, characterized in that, Based on the target handshake packet, the handshake operations between the service chain orchestration device and each network element device are performed sequentially, including: If the network element device sequence includes only one network element device, then the target handshake packet is transmitted from the service chain orchestration device to the network element device; If the network element device sequence includes more than one network element device, then for the network element device in the sequence that needs to be the first to obtain the target handshake packet, the target handshake packet is transmitted from the service chain orchestration device to the network element device; for the network element device in the sequence that is not the first to obtain the target handshake packet, if it receives third information fed back by the previous network element device, then the target handshake packet is transmitted from the service chain orchestration device to the network element device; wherein, the third information is the information obtained by the previous network element device in performing a handshake operation based on the target handshake packet.
15. The method according to any one of claims 1-13, characterized in that, The method further includes: Determine whether all handshake packets corresponding to the establishment of the target connection have been obtained; If so, proceed to the step of determining the matching target handshake packet from the handshake packet corresponding to the target connection based on the target traffic transmission direction supported by the network element device sequence to be orchestrated; Otherwise, a message indicating that the handshake packet is incomplete will be issued.
16. The method according to claim 15, characterized in that, Determining whether all handshake packets corresponding to the establishment of the target connection have been obtained includes: Detect whether the total number of existing handshake packets for the target connection has reached a threshold; if it has, determine that all handshake packets corresponding to the establishment of the target connection have been obtained. And / or, The system detects whether the existing handshake packets for the target connection include the handshake packets required for the last handshake between the first device and the second device; if so, it determines that all handshake packets corresponding to the establishment of the target connection have been obtained.
17. The method according to any one of claims 1-13, characterized in that, The method further includes: If it is determined that unidirectional traffic transmission is required between the first device and the second device, then it is detected whether the network protocol between the first device and the second device is a stateful network protocol; if so, then at least one network element device with unidirectional traffic processing capability and whose device function meets the traffic processing requirements is selected; the selected network element devices are sorted according to the specified device function order to form a sequence of network element devices to be arranged; the target traffic transmission direction supported by the formed network element device sequence is determined to be the unidirectional traffic transmission direction specified between the first device and the second device; or, If it is determined that bidirectional traffic transmission is required between the first device and the second device, at least one network element device whose functions meet the traffic processing requirements is selected; the selected network element devices are sorted according to the specified functional order to form a sequence of network element devices to be arranged; the target traffic transmission direction supported by the formed network element device sequence is determined to be the bidirectional traffic transmission direction between the first device and the second device.
18. The method according to any one of claims 1-13, characterized in that, In the first device and the second device, the uplink device is a client device, and the downlink device is a server device.
19. A service chain orchestration apparatus, characterized in that, An apparatus for use in service chain orchestration, the service chain orchestration apparatus supporting traffic transmission in at least one direction between a first device and a second device, the apparatus comprising: A determination module is used to determine a matching target handshake packet from the handshake packets corresponding to a target connection based on the target traffic transmission direction supported by the network element device sequence to be orchestrated; wherein the target connection is a connection between a first device and a second device, and the network element device sequence includes at least one network element device arranged in a preset order; wherein determining the matching target handshake packet from the handshake packets corresponding to the target connection based on the target traffic transmission direction supported by the network element device sequence to be orchestrated includes: if the target traffic transmission direction supported by the network element device sequence is a bidirectional traffic transmission direction between the first device and the second device, then all handshake packets corresponding to the establishment of the target connection are determined as matching target handshake packets; if the target traffic transmission direction supported by the network element device sequence is a unidirectional traffic transmission direction between the first device and the second device, then handshake packets related to the unidirectional traffic transmission direction in the handshake packets corresponding to the target connection are determined as matching target handshake packets; wherein the unidirectional traffic transmission direction is the traffic transmission direction from the first device to the second device or the traffic transmission direction from the second device to the first device; A module is established to perform service chain orchestration processing on the network element device sequence based on the determined target handshake packet, so as to realize traffic transmission between the first device and the second device in the target traffic transmission direction based on the orchestrated service chain; wherein, the service chain orchestration processing on the network element device sequence based on the determined target handshake packet includes: determining the orchestration order corresponding to each target handshake packet, the connection order between each network element device in the network element device sequence and the service chain orchestration device, and establishing the connection between each network element device and the service chain orchestration device according to the orchestration order and the connection order.
20. A computer-readable storage medium, characterized in that, The storage medium includes a stored program, wherein, when the program is executed, it controls the device where the storage medium is located to perform the service chain orchestration method according to any one of claims 1 to 18.
21. An electronic device, characterized in that, The electronic device includes: Memory, used to store programs; A processor, coupled to the memory, is used to run the program to perform the service chain orchestration method according to any one of claims 1 to 18.
Citation Information
Patent Citations
Service chain arrangement method and device for SYN proxy, and medium
CN115695527A
Managing network services using multipath protocols
US20220150303A1