Data transmission method, device, system, gateway, storage medium and program product
Patent Information
- Application Number
- CN202510838426.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-20
- Publication Date
- 2026-09-25
- Estimated Expiration
- 2045-06-20
AI Technical Summary
具体地,需要基于数据平面开发套件(Data PlaneDevelopment Kit,DPDK)的网关对数据包进行转发,但受限于基于DPDK的网关的数据包处理量有限,当需要通过该网关转发的数据包的总流量过大时,易发生拥塞或丢包,从而导致数据加载延迟,进而显著延长模型收敛时间并降低整体训练效率
[0010]根据本公开实施例提供的数据传输方案,在确定出从云租户服务器侧接收到的第一封装数据包的内层目的地址为云公共服务器的地址的情况下,可以通过将其外层源地址转换为数据包分流网关的地址以及将外层目的地址转换为第一网关的地址的方式,将其卸载至具有较高的数据处理能力的第一网关进行处理,以由该第一网关将经地址转换后的封装数据包即第二封装数据包在进行解封装和地址转换处理后,传输至该云公共服务器。如此,通过采用具有更高数据处理能力的网关处理数据包流量,可以降低因网关的数据处理能力有限所导致的数据加载延迟或丢包率,从而有效缓解网络拥塞情况,达到提高AI训练效率的目的,同时,还可以避免因采用大量的横向扩容处理方式所带来的成本增加。
Smart Images

Figure CN120711073B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of artificial intelligence technology, specifically to the field of cloud computing virtual network technology, and in particular to a data transmission method, apparatus, system, gateway, storage medium, and program product. Background Technology
[0002] With the continuous development of Artificial Intelligence (AI) technology, especially the large-scale evolution of deep learning, large model pre-training, and multimodal learning, AI training tasks place stringent demands on the underlying network bandwidth, throughput efficiency, and transmission quality. Specifically, gateways based on the Data Plane Development Kit (DPDK) are required to forward data packets. However, due to the limited data packet processing capacity of DPDK-based gateways, congestion or packet loss can easily occur when the total traffic of data packets that need to be forwarded through the gateway is too large, resulting in data loading delays, which in turn significantly prolongs model convergence time and reduces overall training efficiency. Summary of the Invention
[0003] This disclosure provides a data transmission method, a data transmission device, a data transmission system, a gateway, a computer-readable storage medium, and a computer program product.
[0004] In a first aspect, embodiments of this disclosure propose a data transmission method applied to a data packet splitting gateway, comprising: receiving a first encapsulated data packet from a cloud tenant server; in response to determining that the inner destination address of the first encapsulated data packet is the address of a cloud public server, converting the outer source address of the first encapsulated data packet to the address of the data packet splitting gateway and converting the outer destination address to the address of the first gateway to obtain a second encapsulated data packet; wherein the data packet processing capacity of the first gateway is higher than that of a gateway based on a data plane development kit; transmitting the second encapsulated data packet to the first gateway based on the address of the first gateway; wherein the first gateway is used to transmit a first decapsulated data packet obtained by performing data packet decapsulation and address conversion processing on the second encapsulated data packet to the cloud public server.
[0005] Secondly, embodiments of this disclosure propose a data transmission apparatus applied to a data packet splitting gateway, comprising: a first communication module, a data packet reconstruction module, and a second communication module. The first communication module is configured to receive a first encapsulated data packet from a cloud tenant server. The data packet reconstruction module is configured to, in response to determining that the inner destination address of the first encapsulated data packet is the address of a cloud public service server, convert the outer source address of the first encapsulated data packet to the address of the data packet splitting gateway and convert the outer destination address to the address of the first gateway, thereby obtaining a second encapsulated data packet. The data packet processing capacity of the first gateway is higher than that of a gateway based on a data plane development kit. The second communication module is configured to transmit the second encapsulated data packet to the first gateway based on the address of the first gateway. The first gateway is used to transmit a first decapsulated data packet, obtained by performing data packet decapsulation and address translation on the second encapsulated data packet, to the cloud public server.
[0006] Thirdly, embodiments of this disclosure propose a data transmission system, including: a data packet splitting gateway and a first gateway. The data packet splitting gateway is configured to: in response to determining that the inner destination address of a first encapsulated data packet received from a cloud tenant server is the address of a cloud public service server, convert the outer source address of the first encapsulated data packet to the address of the data packet splitting gateway and convert the outer destination address to the address of the first gateway to obtain a second encapsulated data packet, and transmit the second encapsulated data packet to the first gateway based on the address of the first gateway; the data packet processing capacity of the first gateway is higher than that of a gateway based on a data plane development kit; the first gateway is configured to decapsulate the second encapsulated data packet, convert the inner source address of the second encapsulated data packet to a first destination address to obtain a first decapsulated data packet, and transmit the first decapsulated data packet to the public server based on the inner destination address of the second encapsulated data packet.
[0007] Fourthly, embodiments of this disclosure provide a gateway, the gateway comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to implement the data transmission method described in any of the above implementations when executed.
[0008] Fifthly, embodiments of this disclosure provide a non-transitory computer-readable storage medium storing computer instructions that enable a computer to implement the data transmission method described in any of the above implementations when executed.
[0009] Sixthly, embodiments of this disclosure provide a computer program product including a computer program, which, when executed by a processor, can implement the data transmission method described in any of the above implementations.
[0010] According to the data transmission scheme provided in this disclosure, when it is determined that the inner destination address of the first encapsulated data packet received from the cloud tenant server is the address of the cloud public server, it can be offloaded to a first gateway with higher data processing capabilities for processing by converting its outer source address to the address of the data packet distribution gateway and its outer destination address to the address of the first gateway. The first gateway then performs decapsulation and address conversion on the address-converted encapsulated data packet (i.e., the second encapsulated data packet) before transmitting it to the cloud public server. Thus, by using a gateway with higher data processing capabilities to handle data packet traffic, the data loading delay or packet loss rate caused by the limited data processing capabilities of the gateway can be reduced, effectively alleviating network congestion and improving AI training efficiency. Simultaneously, it avoids the increased costs associated with extensive horizontal scaling.
[0011] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0012] Other features, objects, and advantages of this disclosure will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings:
[0013] Figure 1 This is a schematic diagram illustrating the data transmission process based on the network architecture in related technologies.
[0014] Figure 2 This is an exemplary system architecture to which this disclosure can be applied;
[0015] Figure 3 A flowchart illustrating a data transmission method provided in this embodiment of the disclosure;
[0016] Figure 4 This is a structural block diagram of a data transmission device provided in an embodiment of the present disclosure;
[0017] Figure 5 This is a structural block diagram of a data transmission system provided in an embodiment of the present disclosure;
[0018] Figure 6 A schematic diagram illustrating a data transmission scheme based on a network architecture in an application scenario, as provided in an embodiment of this disclosure;
[0019] Figure 7 for Figure 6 The diagram shows the architecture of a high-performance public service gateway.
[0020] Figure 8 This is a schematic diagram of the structure of an electronic device suitable for performing a data transmission method, provided as an embodiment of the present disclosure. Detailed Implementation
[0021] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding; these should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description. It should be noted that, unless otherwise specified, the embodiments and features described in this disclosure can be combined with each other.
[0022] It should be noted that the collection, acquisition, storage, processing, transmission, provision, disclosure, and application of user personal information (such as account information) involved in the technical solution disclosed herein are all carried out with the user's knowledge and explicit authorization, comply with the provisions of relevant laws and regulations, and do not violate public order and good morals.
[0023] With the continuous development of AI technology, especially the large-scale evolution in fields such as deep learning, large model pre-training, and multimodal learning, in typical data parallelism training scenarios, there are situations where thousands of Graphics Processing Unit (GPU) nodes need to synchronously and concurrently read different fragments of the same dataset. This leads to massive data packets being processed between the GPU and the Parallel Filesystem Service (PFS) (such as...). Figure 1 The high-frequency flow between GPUs and PFS (as shown in the image) is a significant issue. If network congestion or packet loss occurs during this process, data loading latency will increase exponentially, leading to prolonged idle time for GPU computing resources (e.g., a 1ms increase in latency per node could result in several hours of cumulative GPU idle time for a 1000-card cluster). This, in turn, will significantly extend model convergence time and reduce overall training efficiency. Therefore, addressing the network congestion or packet loss caused by the high-frequency flow between GPUs and PFS is crucial.
[0024] Currently, when PFS is deployed in the cloud public service area to provide services to cloud platform tenants, it can include the following two modes:
[0025] Mode 1: Deploy parallel file storage services directly on cloud platform tenant servers (e.g., Figure 1 Inside the GPU server shown, tenants access the parallel file storage service via a virtual network. Mode Two: The parallel file storage service is centrally deployed in a cloud public service area, and subsequently, support for tenants to access the parallel file storage service is provided through a shared Remote Direct Memory Access (RDMA) network, an independent storage network, or a virtual network.
[0026] Compared to independently deploying parallel file storage services on each tenant's server within a cloud platform for their own use, centrally deploying parallel file storage services in a cloud public service area and sharing them among tenants via a virtual network offers significant advantages. Centralized deployment of parallel file storage services in a cloud public service area enables unified cluster management, effectively avoiding problems associated with building separate parallel file storage service clusters for each tenant. These problems include severe resource fragmentation, inefficient utilization of numerous scattered resources, increased management complexity, and a heavy burden on operations and maintenance. Furthermore, accessing parallel file storage services via a virtual network avoids interference with AI training caused by shared RDMA networks and the high costs associated with building independent storage networks.
[0027] In related technologies, to enable cloud platform tenant servers to access parallel file storage services deployed in cloud public service areas via virtual private networks, a virtual router can be used as an intermediary. The network architecture in these technologies is as follows: Figure 1 As shown, GPU servers for cloud platform tenants typically operate on two networks: a High-Performance Network (HPN) and a Virtual Private Cloud (VPC). The HPN network provides low-latency, high-bandwidth network services through custom high-performance protocol stacks, communication library protocols, and congestion control algorithms to meet the high-efficiency requirements of AI model training and inference. The VPC network, through a series of products developed based on the Data Plane Development Kit (DPDK), enables scenarios such as cloud platform tenant servers accessing each other within the same VPC, cross-VPC access, and access to public services. Accessing parallel file storage services is a typical application scenario for cloud platform tenant servers accessing public services.
[0028] like Figure 1As shown, in the network architecture of related technologies, the virtual routers implemented based on DPDK in the virtual router cluster act as gateways for cloud platform tenant servers. Traffic from cloud platform tenant servers accessing parallel file storage services is relayed through these virtual routers. The specific data packet transmission process may include:
[0029] (1) After the data packet is sent from the GPU server of the cloud platform tenant, it is encapsulated in a Virtual Extensible Local Area Network (VXLAN) in the virtual switch, and then the encapsulated data packet is sent to the virtual router. The data packet is forwarded between the virtual switch and the virtual router via an overlay network. High-speed data transmission between multiple GPU servers is carried out through RDMA / RDMA over Converged Ethernet (RoCE) technology.
[0030] (2) Since the Internet Protocol (IP) address of the GPU server of the cloud platform tenant may conflict with the IP address of the server in the cloud public service area, it is necessary to assign the GPU server of the cloud platform tenant to an identity that can be accessed in the cloud public service area through a virtual router, that is, to convert the source address of the data packet to an address that does not conflict with the IP address of the GPU server of the cloud platform tenant and can be accessed.
[0031] (3) The virtual router performs routing, access control based on Access Control Lists (ACLs), address translation, and packet reconstruction on the data packets before sending them to the underlying physical network (Underlay network) of the cloud public service area. Packet reconstruction refers to the process of converting data packets received from the cloud platform tenant's GPU server into a non-VXLAN packet format, since the parallel file storage service in the cloud public area cannot handle VXLAN packet formats.
[0032] (4) The data packets are forwarded through the Underlay network and sent to the parallel file storage service for processing.
[0033] (5) The transmission of return data packets from the parallel file storage service to the cloud platform tenant's GPU server is similar.
[0034] Because the virtual routers (or gateways) in related technologies are implemented based on DPDK, the packet processing capabilities of a single virtual router are relatively limited. During AI training, their processing capacity is far from meeting business needs. Currently, the only way to meet business needs is through large-scale horizontal scaling, but this drastically increases costs. Furthermore, when faced with a single large traffic spike (i.e., an "elephant stream"), the processing capacity of the virtual router is limited. When such large traffic spikes occur, the core computing unit (Worker CPU) responsible for packet forwarding in the virtual router becomes completely occupied, leading to increased data loading latency or packet loss after the packets pass through the virtual router.
[0035] Therefore, how to effectively alleviate network congestion, reduce loading delay and packet loss rate in the data packet transmission process, and thus improve AI training efficiency has become an urgent technical problem to be solved.
[0036] Figure 2 An exemplary system architecture 200 is shown, in which an embodiment of the data transmission scheme of this disclosure can be applied.
[0037] like Figure 2 As shown, system architecture 200 may include server 201 and server 202. Gateway 203 is used to provide packet forwarding or transmission services between server 201 and server 202. In this embodiment of the disclosure, server 201 may be a GPU server of a cloud platform tenant, and server 202 may be a PFS server in a cloud public service area used to provide large-scale data storage and efficient data access.
[0038] Tenants or users can use server 201 to interact with server 202 via gateway 203 to receive or send data packets, etc. Various applications for enabling data packet transmission between the two can be installed on server 201 and server 202, such as data transmission applications, instant messaging applications, etc.
[0039] Servers 201 and 202 can be either hardware or software. When servers 201 and 202 are hardware, they can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When servers 201 and 202 are software, they can be implemented as multiple software programs or software modules, or as a single software program or software module; no specific limitations are made here. Gateway 203 can be either hardware or software.
[0040] Gateway 203 can provide data transmission services through various built-in applications. When running data transmission applications, gateway 203 can achieve the following effects: If the inner destination address of the first encapsulated data packet received from the cloud tenant server is determined to be the address of the cloud public server, the packet can be offloaded to the first gateway with higher data processing capabilities by converting its outer source address to the address of the data packet distribution gateway and its outer destination address to the address of the first gateway. The first gateway then decapsulates and re-converts the address-translated encapsulated data packet (the second encapsulated data packet) before transmitting it to the cloud public server. Thus, by using a gateway with higher data processing capabilities to handle data packet traffic, data loading latency or packet loss rate caused by the limited data processing capabilities of the gateway can be reduced, effectively alleviating network congestion and improving AI training efficiency. Simultaneously, it avoids the increased costs associated with extensive horizontal scaling.
[0041] It should be understood that Figure 2 The number of servers 201, 202, and gateway 203 shown is merely illustrative. Depending on implementation needs, there can be any number of servers 201, 202, and gateway 203.
[0042] Please refer to Figure 3 , Figure 3 The flowchart illustrates a data transmission method provided in this embodiment. This data transmission method is executed by a data packet splitting gateway, which can be specifically implemented as a high-performance virtual router. The process 300 includes the following steps:
[0043] Step 301: Receive the first encapsulated data packet from the cloud tenant server.
[0044] This step is intended for the aforementioned execution entity of the data transmission method (e.g., Figure 2 The gateway 203 shown receives a first encapsulated data packet from a cloud tenant server. This cloud tenant server can be a GPU server deployed on a Virtual Private Cloud (VPC) network. The cloud tenant server can access the VPC network via a virtual switch and encapsulate the data packet to be sent through the virtual switch. Specifically, the VXLAN protocol can be used to encapsulate the data packet, meaning the first encapsulated data packet can be in VXLAN format to achieve network isolation and ensure security during data packet transmission. In some optional implementations of this disclosure, the virtual switch and the data packet splitting gateway can establish a communication connection through an overlay network.
[0045] Step 302: In response to determining that the inner destination address of the first encapsulated data packet is the address of the cloud public service server, the outer source address of the first encapsulated data packet is converted to the address of the data packet splitting gateway, and the outer destination address is converted to the address of the first gateway, to obtain the second encapsulated data packet. The first gateway has a higher data packet processing capacity than the gateway based on the Data Plane Development Kit (DPDK).
[0046] In the embodiments of this disclosure, the first encapsulated data packet is configured with at least the following: an inner source address, i.e., the address of the cloud tenant server; an inner destination address, i.e., the address of the cloud public service server to be accessed; an outer source address translated to the address of the aforementioned virtual switch; and an outer destination address, i.e., the address of the data packet distribution gateway. The cloud public server can be implemented as a PFS server deployed in the public area of the cloud network. Upon receiving the first encapsulated data packet, the executing entity reads its inner destination address. If the read inner destination address is the address of the cloud public service server, it can offload the packet to the first gateway for processing. Furthermore, to ensure the stability and reliability of forwarding the first encapsulated data packet to the first gateway, it needs to perform address translation, i.e., Network Address Translation (NAT), converting its outer source address to the address of the data packet distribution gateway and its outer destination address to the address of the first gateway to obtain the second encapsulated data packet.
[0047] In the embodiments of this disclosure, the first gateway has a data processing capability far exceeding that of DPDK-based gateways in related technologies. Specifically, this can be manifested in the fact that the first gateway's data packet processing volume is higher than that of the DPDK-based gateway. The data processing capability of each gateway can be characterized by its bandwidth capacity. For example, the first gateway can have a bandwidth capacity of up to Tbps, while the DPDK-based gateway only has a bandwidth capacity of Gbps.
[0048] In the embodiments of this disclosure, the first gateway can be based on a preset type of chip to achieve data processing capabilities far exceeding those of DPDK-based gateways in related technologies, and the specific capability can be determined according to actual needs.
[0049] Step 303: Based on the address of the first gateway, transmit the second encapsulated data packet to the first gateway. The first gateway is used to transmit the first decapsulated data packet, obtained by decapsulating and address translation of the second encapsulated data packet, to the cloud public server.
[0050] In the embodiments of this disclosure, after the outer destination address of the first encapsulated data packet is translated, the encapsulated data packet obtained after address translation, i.e., the address of the first gateway, can be transmitted to the first gateway. Further, the first gateway can perform data packet decapsulation and address translation processing on the received second encapsulated data packet to obtain a first decapsulated data packet that can be recognized and received by the cloud public server, thereby completing the data transmission or forwarding from the cloud tenant server to the cloud public server.
[0051] In the embodiments of this disclosure, the first gateway's data decapsulation processing of the second encapsulated data packet may include removing its outer address and reconstructing it into a non-VXLAN format data packet that the cloud public server can process. The first gateway's address translation of the second encapsulated data packet may include translating its inner source address, i.e., the address of the cloud tenant server, to assign the data packet a first destination address that can be recognized by the cloud public server and avoid address conflicts with the cloud tenant server. This first destination address can be used to uniquely identify the cloud tenant server currently accessing the cloud public server.
[0052] The data transmission method provided in this disclosure, when determining that the inner destination address of the first encapsulated data packet received from the cloud tenant server is the address of the cloud public service server, can offload the packet to a first gateway with higher data processing capabilities by converting its outer source address to the address of the data packet distribution gateway and its outer destination address to the address of the first gateway. The first gateway then decapsulates and re-converts the address-converted encapsulated data packet (i.e., the second encapsulated data packet) before transmitting it to the cloud public server. Thus, by using a gateway with higher data processing capabilities to handle data packet traffic, data loading delays or packet loss rates caused by the limited data processing capabilities of the gateway can be reduced, effectively alleviating network congestion and improving AI training efficiency. Simultaneously, it avoids the increased costs associated with extensive horizontal scaling.
[0053] In some optional embodiments of this disclosure, the above data transmission method may further include the following:
[0054] Receive a third encapsulated data packet from the first gateway; wherein the third encapsulated data packet is obtained by the first gateway from address translation and encapsulation processing of the first data packet to be encapsulated, the first data packet to be encapsulated is fed back to the first gateway by the public server in response to the received first decapsulated data packet, the inner destination address of the third encapsulated data packet is the address of the cloud tenant server and the outer destination address is the address of the data packet diversion gateway; based on the inner destination address of the third encapsulated data packet, transmit the third encapsulated packet to the cloud tenant server.
[0055] In this embodiment, after forwarding the data packet from the cloud tenant server to the cloud public server, the data packet returned by the cloud public server in response to the received data packet can be further forwarded to the cloud tenant server to enable the cloud tenant server to effectively access the cloud public server. Specifically, the return routing path of the data packet returned by the cloud public server to the cloud tenant server still passes through the first gateway. That is, the cloud public server returns the first unencapsulated data packet in response to the first decapsulated data packet received from the first gateway to the first gateway, and the first gateway performs address translation and encapsulation processing on the received first unencapsulated data packet to obtain a third encapsulated data packet. The inner destination address of the third encapsulated data packet points to the cloud tenant server. Based on its inner destination address, the corresponding data packet can be successfully routed to the cloud tenant server, thereby completing the data packet transmission or forwarding from the cloud public server to the cloud tenant server.
[0056] In this embodiment of the disclosure, the first data packet to be encapsulated is at least configured with: an inner source address, which is the address of the cloud public service server; and an inner destination address, which is the address of the cloud tenant server after address translation by the first gateway (i.e., the first target address).
[0057] In the above-described embodiments, the encapsulation process performed by the first gateway on the first data packet to be encapsulated may include reconstructing the non-VXLAN format data packet to be encapsulated into a VXLAN format data packet that can be processed by the cloud tenant server, and the address translation may include restoring the inner destination address (i.e., the first destination address mentioned above) of the first data packet to be encapsulated to the (real) address of the cloud tenant server, and setting its outer source address to the address of the first gateway and its outer destination address to the address of the data packet diversion gateway, so as to ensure that the correct routing to the cloud tenant server can be achieved.
[0058] In some optional embodiments of this disclosure, the above data transmission method may further include the following:
[0059] In response to determining that the first encapsulated data packet is a data packet based on a preset version of the Internet Protocol, the outer source address of the first encapsulated data packet is converted to the address of the data packet splitting gateway, and the outer destination address is converted to the address of the second gateway to obtain a fourth encapsulated data packet; wherein, the data packet processing capacity of the first gateway is higher than that of the second gateway; based on the address of the second gateway, the fourth encapsulated data packet is transmitted to the second gateway; wherein, the second gateway is used to transmit the second decapsulated data packet obtained after decapsulating and address conversion of the fourth encapsulated data packet to the cloud public server.
[0060] In this embodiment, to control the data packet traffic diverted to the first gateway for processing, ensure its processing performance, and avoid network congestion or packet loss, specific types of data packets, namely data packets based on a preset version of the Internet Protocol (IP), can be diverted to a second gateway different from the first gateway for processing. The first gateway has a higher data packet processing capacity than the second gateway. For example, the second gateway may include a DPDK-based gateway, and the preset version of the IP Protocol includes, but is not limited to, Internet Protocol Version 6 (IPv6). Furthermore, the data packets diverted to the first gateway for processing can be data packets based on other versions of the IP Protocol (e.g., IPv4), different from the preset version of the IP Protocol. Specifically, if it is determined that the type of the first encapsulated data packet received from the cloud tenant server is a data packet based on the preset version of the IP Protocol, the fourth encapsulated data packet obtained after address translation can be diverted to the second gateway for processing by converting its outer source address to the address of the data packet diversion gateway and its outer destination address to the address of the second gateway. The second gateway then performs decapsulation and address translation processing on the fourth encapsulated data packet before transmitting it to the cloud public server. This can further alleviate network congestion.
[0061] In embodiments of this disclosure, similarly, the second gateway's data decapsulation processing of the fourth encapsulated data packet may include removing its outer address and reconstructing it into a non-VXLAN format data packet that the cloud public server can process. Address translation may also include translating its inner source address, i.e., the address of the cloud tenant server, to assign the data packet a second destination address that can be recognized by the cloud public server and avoid address conflicts with the cloud tenant server. This second destination address can be used to uniquely identify the cloud tenant server currently accessing the public server. In some optional implementations of embodiments of this disclosure, the first destination address may be the same as or different from the first destination address described above.
[0062] In some optional implementations of the embodiments of this disclosure, the priority of the routing path corresponding to the first gateway is higher than the priority of the routing path corresponding to the second gateway.
[0063] In this embodiment, the routing path corresponding to the first gateway may include a routing path for data packets sequentially passing through the cloud tenant server, the data packet splitting gateway, the first gateway to the cloud public service server, and a corresponding data packet return routing path from the cloud public server to the cloud tenant server; and the routing path corresponding to the second gateway may include a routing path for data packets sequentially passing through the cloud tenant server, the data packet splitting gateway, the second gateway to the cloud public service server, and a corresponding data packet return routing path from the cloud public server to the cloud tenant server. Specifically, by setting the priority of data packet transmission or forwarding on the routing path where the first gateway is located to be higher than the priority of data packet transmission or forwarding on the routing path where the second gateway is located, it is possible to effectively ensure that data packet traffic is preferentially offloaded to the first gateway with higher data processing capabilities for processing, thereby reducing data loading delays or packet loss rates caused by the limited data processing capabilities of the gateways, and thus effectively alleviating network congestion.
[0064] Further reference Figure 4 As an implementation of the methods shown in the above figures, this disclosure provides an embodiment of a data transmission device, which is similar to... Figure 3 Corresponding to the method embodiment shown, the device can be specifically applied to a packet splitting gateway.
[0065] like Figure 4 As shown, the data transmission device 400 of this embodiment may include: a first communication module 401, a data packet reconstruction module 402, and a second communication module 403. The first communication module 401 is configured to receive a first encapsulated data packet from a cloud tenant server. The data packet reconstruction module 402 is configured to, in response to determining that the inner destination address of the first encapsulated data packet is the address of a cloud public server, convert the outer source address of the first encapsulated data packet to the address of a data packet splitting gateway and convert the outer destination address to the address of the first gateway, thereby obtaining a second encapsulated data packet. The data packet processing capacity of the first gateway is higher than that of the gateway based on the data plane development kit. The second communication module 403 is configured to transmit the second encapsulated data packet to the first gateway based on the address of the first gateway. The first gateway is used to transmit the first decapsulated data packet obtained by performing data packet decapsulation and address translation on the second encapsulated data packet to the cloud public server.
[0066] In this embodiment of the disclosure, the specific processing of the first communication module 401, the data packet reconstruction module 402, and the second communication module 403 in the data transmission device 400, and the resulting technical effects, can be found by referring to [reference needed]. Figure 3The relevant descriptions of steps 301-303 in the corresponding embodiments will not be repeated here.
[0067] In some optional implementations of the embodiments of this disclosure, the second communication module 403 may also be configured to receive a third encapsulated data packet from the first gateway; wherein the third encapsulated data packet is obtained by the first gateway performing address translation and encapsulation processing on the first data packet to be encapsulated, the first data packet to be encapsulated is fed back to the first gateway by the public server in response to the received first decapsulated data packet, the inner destination address of the third encapsulated data packet is the address of the cloud tenant server and the outer destination address is the address of the data packet diversion gateway; and the first communication module 401 may also be configured to transmit the third encapsulated packet to the cloud tenant server based on the inner destination address of the third encapsulated data packet.
[0068] In some optional implementations of the embodiments of this disclosure, the data transmission device 400 may further include a third communication module (not shown in the figure). The data packet reconstruction module 402 may also be configured to, in response to determining that the first encapsulated data packet is a data packet based on a preset version of the Internet Protocol, convert the outer source address of the first encapsulated data packet to the address of a data packet splitting gateway and convert the outer destination address to the address of a second gateway to obtain a fourth encapsulated data packet; wherein the data packet processing capacity of the first gateway is higher than that of the second gateway; and the third communication module is configured to transmit the fourth encapsulated data packet to the second gateway based on the address of the second gateway; wherein the second gateway is used to transmit the second decapsulated data packet obtained after decapsulating and address-translating the fourth encapsulated data packet to a cloud public server.
[0069] In some optional implementations of the embodiments of this disclosure, the priority of the routing path corresponding to the first gateway is higher than the priority of the routing path corresponding to the second gateway.
[0070] This embodiment exists as a device embodiment corresponding to the above method embodiment. When it is determined that the inner destination address of the first encapsulated data packet received from the cloud tenant server is the address of the cloud public service server, it can be offloaded to a first gateway with higher data processing capabilities for processing by converting its outer source address to the address of the data packet distribution gateway and its outer destination address to the address of the first gateway. The first gateway then performs decapsulation and address conversion on the address-converted encapsulated data packet (i.e., the second encapsulated data packet) before transmitting it to the cloud public server. Thus, by using a gateway with higher data processing capabilities to handle data packet traffic, the data loading delay or packet loss rate caused by the limited data processing capabilities of the gateway can be reduced, effectively alleviating network congestion and improving AI training efficiency. Simultaneously, it avoids the increased costs associated with extensive horizontal scaling.
[0071] Further reference Figure 5 As a system implementation related to the methods shown in the above figures, this disclosure also provides an embodiment of a data transmission system, in which the content related to the data packet splitting gateway in this system embodiment is... Figure 3 The method embodiments shown correspond to those described.
[0072] like Figure 5 As shown, the data transmission system 500 of this embodiment may include a data packet splitting gateway 501 and a first gateway 502. The data packet splitting gateway 501 is configured to, in response to determining that the inner destination address of a first encapsulated data packet received from a cloud tenant server is the address of a cloud public service server, convert the outer source address of the first encapsulated data packet to the address of the data packet splitting gateway 501 and convert the outer destination address to the address of the first gateway 502 to obtain a second encapsulated data packet, and transmit the second encapsulated data packet to the first gateway 502 based on the address of the first gateway 502; the data packet processing capacity of the first gateway 502 is higher than that of the gateway based on the data plane development kit; and the first gateway 502 is configured to decapsulate the second encapsulated data packet, convert the inner source address of the second encapsulated data packet to a first destination address to obtain a first decapsulated data packet, and transmit the first decapsulated data packet to the public server based on the inner destination address of the second encapsulated data packet.
[0073] In this embodiment, when the packet distribution gateway 501 in the packet transmission system determines that the inner destination address of the first encapsulated data packet received from the cloud tenant server is the address of the cloud public server, it can offload the packet to the first gateway 502, which has higher data processing capabilities, by converting its outer source address to the address of the packet distribution gateway and its outer destination address to the address of the first gateway 502 in the packet transmission system. The first gateway 502 then transmits the address-converted encapsulated data packet (i.e., the second encapsulated data packet) to the cloud public server after decapsulation and address conversion. Thus, by using a gateway with higher data processing capabilities to handle packet traffic, the data loading delay or packet loss rate caused by the limited data processing capabilities of the gateway can be reduced, effectively alleviating network congestion and improving AI training efficiency. Simultaneously, it avoids the increased costs associated with extensive horizontal scaling.
[0074] In this embodiment, the cloud tenant server can be a GPU server deployed on a Virtual Private Cloud (VPC) network. The cloud tenant server can access the VPC network via a virtual switch and encapsulate the data packets to be sent through the virtual switch. Specifically, the VXLAN protocol can be used to encapsulate the data packets to be sent; that is, the first encapsulated data packet can be in VXLAN format to achieve network isolation and ensure security during data packet transmission. In some optional implementations of this embodiment, the virtual switch and the data packet splitting gateway 501 can establish a communication connection through an overlay network.
[0075] In this embodiment, the first encapsulated data packet is configured with at least: an inner source address, i.e., the address of the cloud tenant server; an inner destination address, i.e., the address of the cloud public server to be accessed; and an outer destination address, i.e., the address of the data packet distribution gateway 501. The cloud public server can be implemented as a PFS server deployed in a public area of the cloud network. Upon receiving the first encapsulated data packet, the data packet distribution gateway 501 reads its inner destination address. If the read inner destination address is the address of the cloud public server, it can offload the packet to the first gateway 502 for processing. To ensure the stability and reliability of forwarding the first encapsulated data packet to the first gateway 502, it needs to perform address translation, i.e., Network Address Translation (NAT), to translate its outer source address to the address of the data packet distribution gateway 501 and its outer destination address to the address of the first gateway 502, thus obtaining the second encapsulated data packet.
[0076] In the embodiments of this disclosure, the first gateway 502 has a data processing capability far exceeding that of DPDK-based gateways in related technologies. Specifically, this is reflected in the fact that the data packet processing volume of the first gateway 502 is higher than that of the DPDK-based gateway. The data processing capability of each gateway can be characterized by its bandwidth capacity. For example, the first gateway 502 can have a bandwidth capacity of up to Tbps, while the DPDK-based gateway only has a bandwidth capacity of Gbps.
[0077] In the embodiments of this disclosure, the first gateway 502 can be based on a preset type of chip to achieve data processing capabilities that far exceed those of DPDK-based gateways in related technologies, and the specific capability can be determined according to actual needs.
[0078] In this embodiment, after the packet routing gateway 501 completes the conversion of the inner source address and outer destination address of the first encapsulated data packet, it can transmit the address-converted encapsulated data packet, i.e., the second encapsulated data packet, to the first gateway 502 based on the converted outer destination address, i.e., the address of the first gateway 502. Further, the first gateway 502's data decapsulation processing of the second encapsulated data packet may include removing its outer address and reconstructing it into a non-VXLAN format data packet that the cloud public server can process. Address conversion may also include converting its inner source address, i.e., the address of the cloud tenant server, to assign the data packet a first destination address that can be recognized by the cloud public server and avoid address conflicts with the cloud tenant server. This first destination address can be used to uniquely identify the cloud tenant server currently accessing the public server.
[0079] In some optional implementations of the embodiments of this disclosure, the first gateway 502 may also be configured to: receive a first data packet to be encapsulated in response to the cloud public server receiving the first decapsulated data packet; convert the first destination address of the first data packet to be encapsulated to the address of the cloud tenant server, and encapsulate the first data packet to be encapsulated after address conversion to obtain a third encapsulated data packet; wherein the inner destination address of the third encapsulated data packet is the address of the cloud tenant server and the outer destination address is the address of the data packet diversion gateway 501.
[0080] In this embodiment of the disclosure, the first data packet to be encapsulated is at least configured with: an inner source address, which is the address of the cloud public service server; and an inner destination address, which is the address corresponding to the cloud tenant server after address translation by the first gateway 502 (i.e., the first destination address).
[0081] In this embodiment of the disclosure, when the first gateway 502 receives a first data packet to be encapsulated from the cloud public server in response to the first decapsulated data packet received from the first gateway 502, it performs address translation and encapsulation processing on the first data packet to be encapsulated. Specifically, address translation of the first data packet to be encapsulated includes restoring its first destination address to the (real) address of the cloud tenant server, and setting its outer source address to the address of the first gateway 502 and its outer destination address to the address of the data packet splitting gateway 501 to ensure correct routing to the cloud tenant server; and encapsulation processing of the first data packet to be encapsulated may include reconstructing the non-VXLAN format data packet to be encapsulated into a VXLAN format data packet that the cloud tenant server can process.
[0082] In some optional implementations of the embodiments of this disclosure, the architecture of the first gateway 502 includes a data plane, which includes a switching chip layer for decapsulating and address-translating second encapsulated data packets and encapsulating and address-translating first data packets to be encapsulated. In this embodiment, to ensure that the first gateway 502 can successfully perform decapsulation, encapsulation, and address-translation of the corresponding data packets, a switching chip layer can be provided on its data plane to guarantee the data packet processing capability of the first gateway 502.
[0083] In some optional implementations of the embodiments of this disclosure, the architecture of the first gateway 502 further includes a control plane, and the data plane further includes a business logic layer and a kernel layer; the business logic layer is used to receive a preset configuration from the control plane through a remote procedure call interface and transmit the preset configuration to the switching chip layer; the kernel layer is used to establish a BGP neighbor relationship with the uplink switch through the Border Gateway Protocol (BGP) and publish the address of the first gateway based on the BGP neighbor relationship; the switching chip layer is used to decapsulate and address translate the second encapsulated data packet based on the preset configuration, and to encapsulate and address translate the first data packet to be encapsulated.
[0084] In this embodiment, the network architecture of the first gateway 502 may include a control plane in addition to the data plane. The data plane, besides having a switching chip layer, may also include a business logic layer and a kernel layer. The business logic layer enables effective interaction between the data plane and the control plane, and the kernel layer publishes the address of the first gateway so that it can be correctly identified. In some optional implementations of this disclosure, the aforementioned Remote Procedure Call (RPC) interface may include, but is not limited to, the gRPC interface. The aforementioned preset configuration includes routing rule settings, address translation rule settings, and security access control rule settings. The aforementioned uplink switch may be configured between the first gateway 502 and the packet splitting gateway 501 to implement packet flow.
[0085] In some optional implementations of the embodiments of this disclosure, the data packet splitting gateway 501 can also be configured to transmit the third encapsulated data packet to the cloud tenant server. For details, please refer to the above. Figure 3 The contents of the corresponding parts in the corresponding embodiments will not be repeated here.
[0086] In some optional implementations of the embodiments of this disclosure, the data transmission system 500 may further include a second gateway (not shown in the figure). The data packet splitting gateway 501 is further configured to: in response to determining that the first encapsulated data packet is a data packet based on a preset version of the Internet Protocol, convert the outer source address of the first encapsulated data packet to the address of the data packet splitting gateway and convert the outer destination address to the address of the second gateway to obtain a fourth encapsulated data packet, and transmit the fourth encapsulated data packet to the second gateway based on the address of the second gateway; wherein the data packet processing capacity of the first gateway 502 is higher than that of the second gateway; the second gateway is configured to: decapsulate the fourth encapsulated data packet, convert the inner source address of the fourth encapsulated data packet to a second destination address to obtain a second decapsulated data packet, and transmit the second decapsulated data packet to the cloud public server based on the inner destination address of the fourth encapsulated data packet.
[0087] In this embodiment, in order to control the data packet traffic diverted to the first gateway 502 for processing, ensure its data packet processing performance, and avoid network congestion or packet loss, the aforementioned data packet diversion gateway 501 can divert specific types of data packets, i.e., data based on a preset version of the Internet Protocol, to a second gateway in the data packet transmission system that is different from the first gateway 502 for processing. The data packet processing capacity of the first gateway 502 is higher than that of the second gateway. For example, the second gateway may include a gateway based on DPDK, and the preset version of the Internet Protocol includes, but is not limited to, IPv6. Furthermore, the data packets diverted to the first gateway for processing may be data packets based on other versions of the Internet Protocol (such as IPv4), which are different from the data packets based on the preset version of the Internet Protocol. Specifically, when the packet diversion gateway 501 determines that the type of the first encapsulated data packet received from the cloud tenant server is a data packet based on the preset version of the Internet Protocol, it can divert the fourth encapsulated data packet obtained after address translation to the address of the packet diversion gateway and the address of the outer destination gateway by converting the outer source address to the address of the packet diversion gateway and the outer destination address to the address of the second gateway. The second gateway then transmits the fourth encapsulated data packet to the cloud public server after decapsulation and address translation. This can further alleviate network congestion.
[0088] In some optional implementations of the embodiments of this disclosure, the second gateway is further configured to: receive a second data packet to be encapsulated in response to the public server receiving the second decapsulated data packet; convert the second destination address of the second data packet to be encapsulated to the address of the cloud tenant server, and encapsulate the second data packet to be encapsulated after address conversion to obtain a fifth encapsulated data packet; and transmit the fifth encapsulated data packet to the cloud tenant server; wherein the inner destination address of the fifth encapsulated data packet is the address of the cloud tenant server.
[0089] In this embodiment, upon receiving a second data packet to be encapsulated from the cloud public server in response to the second decapsulated data packet received from the second gateway, the second gateway performs address translation and encapsulation processing on the second data packet to be encapsulated. Specifically, address translation of the second data packet to be encapsulated includes restoring its second destination address to the (real) address of the cloud tenant server to ensure correct routing to the cloud tenant server; and encapsulation processing of the second data packet to be encapsulated may include reconstructing the non-VXLAN format data packet to be encapsulated into a VXLAN format data packet that the cloud tenant server can process, thereby allowing the processed fifth encapsulated data packet to be directly fed back to the cloud tenant server without needing to be forwarded through the data packet splitting gateway 501. This improves data packet transmission efficiency.
[0090] In some optional implementations of the embodiments of this disclosure, the priority of the routing path corresponding to the first gateway 502 is higher than the priority of the routing path corresponding to the second gateway.
[0091] In this embodiment, the routing path corresponding to the first gateway may include a routing path for data packets sequentially passing through the cloud tenant server, the data packet splitting gateway, the first gateway to the cloud public service server, and a corresponding data packet return routing path from the cloud public server to the cloud tenant server. Similarly, the routing path corresponding to the second gateway may include a routing path for data packets sequentially passing through the cloud tenant server, the data packet splitting gateway, the second gateway to the cloud public service server, and a corresponding data packet return routing path from the cloud public server to the cloud tenant server. Specifically, by setting the priority of data packet transmission or forwarding on the routing path where the first gateway is located to be higher than that on the routing path where the second gateway is located, it is possible to effectively ensure that data packet traffic is preferentially offloaded to the first gateway, which has higher data processing capabilities, for processing. This reduces data loading delays or packet loss rates caused by the limited data processing capabilities of the gateways, thereby effectively alleviating network congestion.
[0092] In some optional implementations of the embodiments of this disclosure, the first gateway or the second gateway can establish a communication connection with the cloud public server through an underlay network; and the first gateway or the second gateway can transmit or forward data packets with the data packet splitting gateway through an uplink switch.
[0093] To deepen understanding, this disclosure also provides a specific implementation scheme based on a particular application scenario. Based on a comprehensive consideration from multiple dimensions, the preferred scheme is to deploy the parallel file storage service in the cloud public service area and achieve service sharing through a virtual network. Specifically, it focuses on exploring and overcoming key technical challenges such as how to effectively alleviate network congestion and significantly reduce packet loss rate in data transmission within the architecture of deploying the parallel file storage service in the cloud public service area and achieving service sharing among tenants through a virtual network.
[0094] Please see based on such Figure 6 The data transmission scheme implemented by the network architecture shown mainly includes the following processes:
[0095] (1) The cloud tenant server (GPU as shown in the figure) accesses the parallel file storage service deployed in the cloud public service area (corresponding to the cloud public server in the above embodiment). The traffic (or data packet) will first be encapsulated in VXLAN packets on the virtual switch, and then the encapsulated data packet will be passed to the high-performance virtual router (corresponding to the data packet diversion gateway in the above embodiment, which may specifically include a virtual router based on a preset type of chip) for processing.
[0096] (2) After receiving the packet, the high-performance virtual router confirms that the packet is destined for a public service area according to the route. Therefore, it modifies the outer packet information and forwards it to the high-performance public service gateway (which may include a gateway based on a preset type of chip, which has excellent packet processing capabilities and P4 programming capabilities. For example, its packet processing capability is up to 6.4Tbps, which is far superior to the virtual router solution based on DPDK) for processing.
[0097] (3) After receiving the message, the high-performance public service gateway (corresponding to the first gateway in the above embodiment) performs address translation (assigns a public service area identity to the cloud tenant server), then reconstructs the data packet into a non-VXLAN message and sends it to the parallel file storage service.
[0098] (4) After the parallel file storage service is completed, a return packet is sent (corresponding to the first data packet to be encapsulated in the above embodiment). Since the cloud tenant server is given an identity identifier that can be accessed in the public service area only on the high-performance public service gateway (corresponding to the first target address in the above embodiment), and has a higher priority, the data packet will be sent to the high-performance public service gateway for processing first.
[0099] (5) After address translation, the high-performance public service gateway restores the real IP address of the cloud tenant server, reconstructs the data packet into a VXLAN message, and sends the VXLAN format data packet to the high-performance virtual router for processing.
[0100] (6) After being processed by modules such as security access control and routing, the high-performance virtual router sends the data packets to the cloud tenant server.
[0101] In this model, traffic from cloud tenant servers accessing parallel file storage services is offloaded to a high-performance public service gateway for forwarding. This completely resolves the performance and cost issues associated with using DPDK-based virtual routers, while ensuring consistent data forwarding paths for both directions.
[0102] In this embodiment, if the data packets sent by the cloud tenant server are of the IPv6 protocol type, it is also possible to choose not to offload them to the high-performance public service gateway. The specific process may include:
[0103] (1) Traffic from cloud tenant servers to parallel file storage services deployed in the cloud public server area will first be encapsulated in VXLAN packets on the virtual switch, and then the encapsulated data packets will be passed to the high-performance virtual router for processing.
[0104] (2) After receiving the message, the high-performance virtual router confirms that the destination of the data packet is a public service area according to the route. Therefore, it modifies the outer message information of the data packet and forwards it to the virtual router 1 (corresponding to the second gateway in the above embodiment) based on DPDK for processing.
[0105] (3) After routing, security access control, address translation and packet reconstruction, virtual router 1 forwards the data packets to the parallel file storage service.
[0106] (4) For the return packets of the parallel file storage service, the data packets will be sent to the virtual router 1 for processing first (because only on the virtual router 1 is the cloud tenant server given the identity identifier that can be accessed in the public service area (corresponding to the second target address in the above embodiment)).
[0107] (5) After address translation, security access control and routing, the virtual router 1 finally sends the data packets returned by the cloud public service area to the cloud tenant server. The forwarding paths of the data packets are inconsistent.
[0108] In this embodiment, such as Figure 7 As shown, the overall architecture of the high-performance public service gateway can be divided into two layers: the control plane and the data plane.
[0109] The border gateway controller (bagw-controller) in the control plane monitors relevant service status and calls the gRPC interface according to the actual situation to distribute configurations to the data plane, which may include routing rule configuration, address translation rule configuration, etc.
[0110] The data plane can be divided into three layers: the business logic layer, the kernel layer, and the switching chip layer. The business logic layer mainly includes a border gateway agent (bagw-agent) and a client component. The bagw-agent receives gRPC calls from the control plane and then, based on the processing logic, calls the gRPC interface of the hardware runtime server (BfRuntime Server) to distribute chip configurations. This server sends programmable instructions to the chip to make the configuration take effect. The fixed-function server provides access to fixed functions of the chip, such as packet forwarding and traffic monitoring. The client provides a simple command line for operations and maintenance, communicating with the bagw-agent via gRPC to send network requests or receive network responses. The kernel layer primarily comprises related kernel modules, including the hardware kernel network (bf-knet) module, the hardware kernel packet processing (bf-kpkt) module, and the hardware kernel driver (bf-kdrv). The bf-knet module is used to create corresponding Virtual Network Interface Card (VNIC) ports to communicate with the kernel and establish BGP neighbor relationships with uplink switches, thus introducing data packets into the high-performance public service gateway for processing. This can be achieved through physical interfaces. The switching chip layer is the core of data processing. Its chips interconnect with other hardware via a high-speed Serial Computer Extended Bus (PCIe) standard bus, processing the incoming data packets according to business logic, including routing, access control, and address translation, ultimately enabling cloud tenant servers to access the public service area's parallel file storage service.
[0111] According to embodiments of this disclosure, this disclosure also provides a gateway, the gateway comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to implement the data transmission method described in any of the above embodiments when executed.
[0112] According to embodiments of this disclosure, this disclosure also provides a non-transitory computer-readable storage medium storing computer instructions that enable a computer to implement the data transmission method described in any of the above embodiments when executed.
[0113] According to embodiments of this disclosure, this disclosure also provides a computer program product including a computer program that, when executed by a processor, can implement the data transmission method described in any of the above embodiments.
[0114] Figure 8A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein. In some alternative implementations of embodiments of the present disclosure, the electronic device 800 may be specifically implemented as a gateway.
[0115] like Figure 8 As shown, the electronic device 800 includes a processing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. The RAM 803 may also store various programs and data required for the operation of the electronic device 800. The processing unit 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0116] Multiple components in electronic device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of displays, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows electronic device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0117] Processing unit 801 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processing unit 801 performs the various methods and processes described above, such as data transfer methods. For example, in some embodiments, the data transfer method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by processing unit 801, one or more steps of the update processing method described above may be performed. Alternatively, in other embodiments, processing unit 801 may be configured to perform data transfer methods by any other suitable means (e.g., by means of firmware).
[0118] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0119] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0120] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0121] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0122] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0123] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, distributed system servers, or servers incorporating blockchain technology. Cloud servers, also known as cloud computing servers or cloud hosts, are a hosting product within the cloud computing service ecosystem, designed to address the shortcomings of traditional physical hosts and Virtual Private Servers (VPS) services, such as high management difficulty and weak business scalability.
[0124] According to the technical solution of this disclosure, when it is determined that the inner destination address of the first encapsulated data packet received from the cloud tenant server is the address of the cloud public service server, it can be offloaded to a first gateway with higher data processing capabilities for processing by converting its outer source address to the address of the data packet diversion gateway and converting its outer destination address to the address of the first gateway. The first gateway then transmits the address-converted encapsulated data packet (i.e., the second encapsulated data packet) to the cloud public server after decapsulation and address conversion. Thus, by using a gateway with higher data processing capabilities to handle data packet traffic, the data loading delay or packet loss rate caused by the limited data processing capabilities of the gateway can be reduced, thereby effectively alleviating network congestion and improving AI training efficiency. Simultaneously, it avoids the increased costs associated with employing large-scale horizontal scaling.
[0125] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0126] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A data transmission method applied to a data packet splitting gateway, comprising: Receive the first encapsulated data packet from the cloud tenant server; In response to determining that the inner destination address of the first encapsulated data packet is the address of the cloud public service server, the outer source address of the first encapsulated data packet is converted to the address of the data packet diversion gateway and the outer destination address is converted to the address of the first gateway to obtain the second encapsulated data packet; wherein, the data packet processing capacity of the first gateway is higher than that of the gateway based on the data plane development kit. Based on the address of the first gateway, the second encapsulated data packet is transmitted to the first gateway; wherein, the first gateway is used to transmit the first decapsulated data packet obtained by performing data packet decapsulation and address translation processing on the second encapsulated data packet to the cloud public server.
2. The method according to claim 1, further comprising: Receive a third encapsulated data packet from the first gateway; wherein the third encapsulated data packet is obtained by the first gateway performing address translation and encapsulation processing on the first data packet to be encapsulated, the first data packet to be encapsulated is fed back to the first gateway by the cloud public server in response to the received first decapsulated data packet, and the inner destination address of the third encapsulated data packet is the address of the cloud tenant server and the outer destination address is the address of the data packet diversion gateway. Based on the inner destination address of the third encapsulated data packet, the third encapsulated data packet is transmitted to the cloud tenant server.
3. The method according to claim 1, further comprising: In response to determining that the first encapsulated data packet is a data packet based on a preset version of the Internet Protocol, the outer source address of the first encapsulated data packet is converted to the address of the data packet diversion gateway and the outer destination address is converted to the address of the second gateway to obtain a fourth encapsulated data packet; wherein, the data packet processing capacity of the first gateway is higher than that of the second gateway. Based on the address of the second gateway, the fourth encapsulated data packet is transmitted to the second gateway; wherein, the second gateway is used to transmit the second decapsulated data packet obtained after performing data packet decapsulation and address translation processing on the fourth encapsulated data packet to the cloud public server.
4. The method according to claim 3, wherein, The priority of the routing path corresponding to the first gateway is higher than the priority of the routing path corresponding to the second gateway.
5. A data transmission apparatus, applied to a data packet splitting gateway, comprising: The first communication module is configured to receive a first encapsulated data packet from the cloud tenant server; The packet reconstruction module is configured to, in response to determining that the inner destination address of the first encapsulated packet is the address of the cloud public service server, convert the outer source address of the first encapsulated packet to the address of the packet diversion gateway and convert the outer destination address to the address of the first gateway to obtain a second encapsulated packet; the packet processing capacity of the first gateway is higher than that of the gateway based on the data plane development kit. The second communication module is configured to transmit the second encapsulated data packet to the first gateway based on the address of the first gateway; wherein the first gateway is used to transmit the first decapsulated data packet obtained by performing data packet decapsulation and address translation processing on the second encapsulated data packet to the cloud public server.
6. A data transmission system, comprising a data packet splitting gateway and a first gateway; wherein, The packet splitting gateway is configured to, in response to determining that the inner destination address of the first encapsulated packet received from the cloud tenant server is the address of the cloud public service server, convert the outer source address of the first encapsulated packet to the address of the packet splitting gateway and convert the outer destination address to the address of the first gateway to obtain a second encapsulated packet, and transmit the second encapsulated packet to the first gateway based on the address of the first gateway. The first gateway has a higher packet processing capacity than the gateway based on the data plane development kit; The first gateway is configured to decapsulate the second encapsulated data packet, convert the inner source address of the second encapsulated data packet to a first destination address to obtain a first decapsulated data packet, and transmit the first decapsulated data packet to the cloud public server based on the inner destination address of the second encapsulated data packet.
7. The system according to claim 6, wherein, The first gateway is also configured as follows: The cloud public server receives the first data packet to be encapsulated as a feedback from the first decapsulated data packet. The first destination address of the first data packet to be encapsulated is converted to the address of the cloud tenant server, and the first data packet to be encapsulated after address conversion is encapsulated to obtain a third encapsulated data packet; wherein the inner destination address of the third encapsulated data packet is the address of the cloud tenant server and the outer destination address is the address of the data packet diversion gateway.
8. The system according to claim 7, wherein, The architecture of the first gateway includes a data plane, which includes a switching chip layer for decapsulating and address translating the second encapsulated data packet and encapsulating and address translating the first data packet to be encapsulated.
9. The system according to claim 8, wherein, The architecture of the first gateway also includes a control plane, and the data plane further includes a business logic layer and a kernel layer; and The business logic layer is used to receive a preset configuration from the control plane through a remote procedure call interface, and transmit the preset configuration to the switching chip layer; The kernel layer is used to establish BGP neighbor relationships with the uplink switch via the Border Gateway Protocol (BGP), and to publish the address of the first gateway based on the BGP neighbor relationships. The switching chip layer is used to decapsulate and address translate the second encapsulated data packet based on the preset configuration, and to encapsulate and address translate the first data packet to be encapsulated.
10. The system according to claim 6, further comprising a second gateway, wherein, The packet splitting gateway is further configured to: in response to determining that the first encapsulated packet is a packet based on a preset version of the Internet Protocol, convert the outer source address of the first encapsulated packet to the address of the packet splitting gateway and convert the outer destination address to the address of the second gateway to obtain a fourth encapsulated packet, and transmit the fourth encapsulated packet to the second gateway based on the address of the second gateway; wherein the packet processing capacity of the first gateway is higher than the data processing capacity of the second gateway; The second gateway is configured to: decapsulate the fourth encapsulated data packet, convert the inner source address of the fourth encapsulated data packet to the second destination address to obtain the second decapsulated data packet, and transmit the second decapsulated data packet to the cloud public server based on the inner destination address of the fourth encapsulated data packet.
11. The system according to claim 10, wherein, The second gateway is also configured as follows: The cloud public server receives a response from the second decapsulated data packet, which is a second data packet to be encapsulated. The second destination address of the second data packet to be encapsulated is converted to the address of the cloud tenant server, and the second data packet to be encapsulated after address conversion is encapsulated to obtain the fifth encapsulated data packet; The fifth encapsulated data packet is transmitted to the cloud tenant server; wherein the inner destination address of the fifth encapsulated data packet is the address of the cloud tenant server.
12. A gateway, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the data transmission method according to any one of claims 1-4.
13. A non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the data transmission method of any one of claims 1-4.
14. A computer program product comprising a computer program that, when executed by a processor, implements the steps of the data transmission method according to any one of claims 1-4.
Citation Information
Patent Citations
Data packet sending method, device and hybrid cloud network system
CN107948086A
Virtualized network networking system and data packet sending method
CN108768817A