Network congestion control method and network equipment

文档序号:1908207 发布日期:2021-11-30 浏览:8次 中文

阅读说明:本技术 一种网络拥塞控制方法及网络设备 (Network congestion control method and network equipment ) 是由 周军 夏怒 曲霄阳 何路友 朱夏 于 2020-05-26 设计创作,主要内容包括:本申请公开了一种网络拥塞控制方法及网络设备,涉及通信技术领域,可以提高传输控制协议(transport control protocol,TCP)流传输过程中,报文的连续性和完成性。本申请中,转发设备在TCP流的转发方向上出现预拥塞(即有拥塞可能)时,通过减小确认(acknowledge,ACK)报文中的接收窗口(Receive Window,RWND)字段的值,以降低TCP流中的报文的发送端的发送速率或延缓发送端发送报文,从而缓解转发设备的缓存压力,降低丢包问题,提高TCP流传输过程中报文的连续性和完成性。(The application discloses a network congestion control method and network equipment, relates to the technical field of communication, and can improve the continuity and the completeness of a message in a Transmission Control Protocol (TCP) stream transmission process. In the application, when the forwarding device is congested in the forwarding direction of the TCP flow (that is, there is a possibility of congestion), the sending rate of the sending end of the packet in the TCP flow is reduced or the sending end is delayed to send the packet by reducing the value of a Receive Window (RWND) field in an Acknowledgement (ACK) packet, so that the buffer pressure of the forwarding device is relieved, the packet loss problem is reduced, and the continuity and the completeness of the packet in the TCP flow transmission process are improved.)

1. A method for network congestion control, the method comprising:

when pre-congestion occurs in the forwarding direction of a Transmission Control Protocol (TCP) flow by forwarding equipment for forwarding the TCP flow, the forwarding equipment reduces the value of a receiving window RWDD field in an Acknowledgement (ACK) message of a message in the TCP flow;

wherein the ACK message is in a reverse direction of the TCP stream.

2. The method of claim 1, further comprising:

the forwarding equipment determines that pre-congestion occurs in the forwarding direction of the TCP stream according to the cache state of the forwarding equipment; the buffer status of the forwarding device depends on one or more of: the number of messages cached in the forwarding device, the data volume of the messages cached in the forwarding device, and the proportion of the data volume of the messages cached in the forwarding device in the cache region.

3. The method according to claim 2, wherein the forwarding device determines that pre-congestion occurs in the forwarding direction of the TCP flow according to the buffer status of the forwarding device, comprising:

the forwarding device determines that pre-congestion occurs in a forwarding direction of the TCP flow when one or more of: the number of the messages cached by the forwarding device in the forwarding direction of the TCP stream is greater than the preset number, the data volume of the messages cached by the forwarding device in the forwarding direction of the TCP stream is greater than the preset data volume, and the proportion of the data volume of the messages cached by the forwarding device in the forwarding direction of the TCP stream in the cache area is greater than the preset proportion.

4. The method of claim 3, wherein the forwarding device decrements the value of the RWDD field in the ACK message of the packet in the TCP flow, comprising:

the forwarding device reduces the value of the RWND field in the ACK message of the message in the TCP flow according to one or more of the following: the forwarding device caches the number of the messages in the forwarding direction of the TCP stream, the forwarding device caches the data volume of the messages in the forwarding direction of the TCP stream, and the forwarding device caches the data volume of the messages in the forwarding direction of the TCP stream in proportion to the cache region.

5. The method according to any of claims 1-4, wherein the forwarding direction comprises an upstream direction and a downstream direction.

6. The method of any of claims 1-5, wherein the forwarding device is a core switch, an aggregation switch, an access switch, or a wireless Access Point (AP).

7. A forwarding device, wherein the forwarding device is configured to forward a transmission control protocol, TCP, stream; the forwarding device includes:

the processing unit is used for reducing the value of a receiving window RWDD field in an acknowledgement ACK message of a message in the TCP stream when pre-congestion occurs in the forwarding direction of the TCP stream;

wherein the ACK message is in a reverse direction of the TCP stream.

8. The forwarding device of claim 7, wherein the forwarding device further comprises:

the storage unit is used for caching the TCP stream;

the processing unit is further configured to,

determining that pre-congestion occurs in the forwarding direction of the TCP stream according to the buffer state of the storage unit; the cache state of the memory cell depends on one or more of: the number of the messages cached in the storage unit, the data volume of the messages cached in the storage unit, and the proportion of the data volume of the messages cached in the forwarding device in the cache area.

9. The forwarding device according to claim 8, wherein the processing unit determines that pre-congestion occurs in the forwarding direction of the TCP flow according to the buffer status of the storage unit, and specifically includes:

the processing unit determines that pre-congestion occurs in a forwarding direction of the TCP flow when one or more of the following are satisfied: the number of the buffered messages of the storage unit in the forwarding direction of the TCP stream is greater than the preset number, the data volume of the buffered messages of the storage unit in the forwarding direction of the TCP stream is greater than the preset data volume, and the proportion of the data volume of the buffered messages of the storage unit in the forwarding direction of the TCP stream in the buffer area is greater than the preset proportion.

10. The forwarding device of any one of claims 7-9, wherein the processing unit reduces the value of the RWND field in the ACK message of the packet in the TCP flow, including:

the processing unit reduces the value of the RWND field in the ACK message of the message in the TCP flow according to one or more of the following: the number of the messages cached by the storage unit in the forwarding direction of the TCP stream, the data volume of the messages cached by the storage unit in the forwarding direction of the TCP stream, and the proportion of the data volume of the messages cached by the storage unit in the forwarding direction of the TCP stream in the cache region.

11. The forwarding device of any one of claims 7-10 wherein the forwarding directions include an upstream direction and a downstream direction.

12. The forwarding device of any one of claims 7-11, wherein the forwarding device is a core switch, an aggregation switch, an access switch, or a wireless Access Point (AP).

13. A forwarding device, wherein the forwarding device is configured to forward a transmission control protocol, TCP, stream; the forwarding device includes:

a memory for storing a computer program and the TCP stream;

a transceiver for receiving or transmitting a radio signal;

a processor for executing the computer program to implement the network congestion control method according to any of claims 1-6.

14. A computer-readable storage medium, having computer program code stored thereon, which, when executed by a processing circuit, implements the network congestion control method of any of claims 1-6.

15. A chip system, comprising a processing circuit, a storage medium having computer program code stored therein; the computer program code realizing the network congestion control method according to any of claims 1-6 when executed by the processing circuit.

Technical Field

The present application relates to the field of communications technologies, and in particular, to a network congestion control method and a network device.

Background

In a multi-stage switch scenario, such as an enterprise campus network scenario, network congestion problems due to various reasons are not avoided. Taking the enterprise campus network architecture shown in fig. 1 as an example, the enterprise campus network includes a plurality of access switches, a plurality of aggregation switches, and a plurality of core switches. Assume that a downstream port of the core switch shown in fig. 1 for sending data to the aggregation switch is a 40 Gigabit Ethernet (GE) port, a downstream port of the aggregation switch for sending data to the access switch is a 10GE port, and a downstream port of the access switch for sending data to the AP is a 1GE port. Assuming that 2 40GE ports are provided for each 1 core switch to connect with 2 aggregation switches, 10GE ports are provided for each 1 aggregation switch to connect with 10 access switches, and each access switch can provide 48 ports 1GE to connect with an Access Point (AP) or a terminal device (e.g., a super computer). It can be determined that the ratio of the transmission resource configurations of the access switches, aggregation switches and core switches is (2 × 10 × 48 GE): (2 × 10 GE): (2 × 40GE) ═ 960: 200: 80.

due to network congestion caused by reasons such as mismatch of transmission resource configurations of the access switch, the aggregation switch and the core switch or burstiness of the uplink data, the phenomenon that one packet is dropped at a network device (such as the access switch, the aggregation switch or the core switch) by more than one time of the uplink data is easily caused, which affects data continuity and completeness and affects user experience.

Disclosure of Invention

The application provides a network congestion control method and network equipment, which can improve the continuity and the completeness of a message in the transmission process of a TCP (transmission control protocol) stream.

In order to achieve the purpose, the technical scheme is as follows:

in a first aspect, a method for controlling network congestion is provided, where the method includes: when pre-congestion occurs in the forwarding direction of a TCP stream by forwarding equipment for forwarding the TCP stream, the forwarding equipment reduces the value of a Receiving Window (RWND) field in an ACK message of a message in the TCP stream; wherein, the ACK message is reverse to TCP flow.

In the technical solution provided by the first aspect, when the forwarding device is pre-congested (i.e., there is a possibility of congestion) in the forwarding direction of the TCP flow, the sending rate of the sending end of the packet in the TCP flow is controlled by reducing the value of the RWND field in an Acknowledgement (ACK) packet, so as to relieve the cache pressure of the forwarding device, reduce the problem of packet loss, and improve the continuity and completeness of the packet in the TCP flow transmission process.

In a possible implementation manner, the method further includes: the forwarding equipment determines that pre-congestion occurs in the forwarding direction of the TCP stream according to the cache state of the forwarding equipment; wherein the buffer status of the forwarding device depends on one or more of: the number of messages cached in the forwarding device, the data volume of the messages cached in the forwarding device, and the proportion of the data volume of the messages cached in the forwarding device in the cache region. In the application, the forwarding device may determine whether pre-congestion occurs in the forwarding direction of the TCP flow according to the cache state of the forwarding device, so as to trigger a mechanism for reducing the value of the RWND field.

In a possible implementation manner, the determining, by the forwarding device, that pre-congestion occurs in a forwarding direction of the TCP flow according to a buffer status of the forwarding device includes: the forwarding device determines that pre-congestion occurs in a forwarding direction of the TCP flow when one or more of the following are satisfied: the number of the buffered messages of the forwarding device in the forwarding direction of the TCP stream is larger than the preset number, the data volume of the buffered messages of the forwarding device in the forwarding direction of the TCP stream is larger than the preset data volume, and the proportion of the data volume of the buffered messages of the forwarding device in the forwarding direction of the TCP stream in the buffer area is larger than the preset proportion. In this application, the forwarding device may determine whether pre-congestion occurs in the forwarding direction of the TCP flow according to one or more of the number of buffered packets in the forwarding direction of the TCP flow, the data amount of the packets, and the ratio of the data amount of the packets in the buffer, so as to trigger a mechanism for reducing the value of the RWND field.

In a possible implementation manner, the reducing, by the forwarding device, a value of a RWND field in an ACK packet of a packet in a TCP flow includes: the forwarding device reduces the value of the RWND field in the ACK message of the message in the TCP flow according to one or more of: the number of messages cached by the forwarding device in the forwarding direction of the TCP stream, the data volume of the messages cached by the forwarding device in the forwarding direction of the TCP stream, and the proportion of the data volume of the messages cached by the forwarding device in the forwarding direction of the TCP stream in the cache region. In this application, the forwarding device may calculate the value of the reduced RWND field according to one or more of the number of buffered packets, the data amount of the packets, and the proportion of the data amount of the packets in the forwarding direction of the TCP flow in the buffer area.

In a possible implementation manner, the reducing, by the forwarding device, a value of a RWND field in an ACK packet of a packet in a TCP flow includes: the forwarding device reduces the value of the RWDD field in the ACK message of the message in the TCP stream according to the following formula: RWND ═ RWND' (1- α/2); wherein α ═ (1-g) × α' + g ═ F; RWD' is the value of the current RWD field of the forwarding device; α' is the current adjustable parameter; g is an adjustable parameter; and F is the number of buffered messages in the forwarding direction of the TCP stream, the data volume of the messages or the proportion of the data volume of the messages in the buffer area. In this application, the forwarding device may calculate the value of the reduced RWND field according to the number of buffered packets in the forwarding direction of the TCP flow, or the data amount of the packets, or the ratio of the data amount of the packets to the buffer area.

In a possible implementation manner, the forwarding direction includes an uplink direction and a downlink direction. The network congestion control method provided by the application is suitable for forwarding scenes in the uplink direction and forwarding scenes in the downlink direction.

In a possible implementation manner, the forwarding device is a core switch, an aggregation switch, an access switch, or a wireless access point AP. The network congestion control method provided by the application is applicable to any network device in a TCP stream forwarding scene, such as a core switch, a convergence switch, an access switch or a wireless access point AP.

In a second aspect, a forwarding device is provided, where the forwarding device is configured to forward a TCP flow; the forwarding device includes: a processing unit, configured to reduce a value of a receive window RWND field in an ACK acknowledgement message of a message in a TCP flow when pre-congestion occurs in a forwarding direction of the TCP flow; wherein, the ACK message is reverse to TCP flow.

In the technical solution provided in the second aspect, when the forwarding device is pre-congested (that is, there is a possibility of congestion) in the forwarding direction of the TCP flow, the value of the RWND field in the ACK message is reduced to control the sending rate of the sending end of the message in the TCP flow, so as to relieve the buffer pressure of the forwarding device, reduce the problem of packet loss, and improve the continuity and completeness of the message in the TCP flow transmission process.

In a possible implementation manner, the forwarding device further includes: a storage unit, configured to cache the TCP stream; the processing unit is further configured to determine that pre-congestion occurs in a forwarding direction of the TCP flow according to the buffer status of the storage unit; wherein the cache state of the memory cell depends on one or more of: the number of the messages cached in the storage unit, the data volume of the messages cached in the storage unit and the proportion of the data volume of the messages cached in the storage unit in the cache region. In the application, the forwarding device may determine whether pre-congestion occurs in the forwarding direction of the TCP flow according to the cache state of the memory, so as to trigger a mechanism for reducing the value of the RWND field.

In a possible implementation manner, the determining, by the processing unit according to the buffer status of the storage unit, that pre-congestion occurs in the forwarding direction of the TCP flow specifically includes: the processing unit determines that pre-congestion occurs in a forwarding direction of the TCP flow when one or more of the following is satisfied: the number of the buffered messages of the storage unit in the forwarding direction of the TCP stream is greater than the preset number, the data volume of the buffered messages of the storage unit in the forwarding direction of the TCP stream is greater than the preset data volume, and the proportion of the data volume of the buffered messages of the storage unit in the forwarding direction of the TCP stream in the buffer area is greater than the preset proportion. In this application, the forwarding device may determine whether pre-congestion occurs in the forwarding direction of the TCP flow according to one or more of the number of buffered packets in the forwarding direction of the TCP flow, the data amount of the packets, and the ratio of the data amount of the packets in the buffer, so as to trigger a mechanism for reducing the value of the RWND field.

In a possible implementation manner, the reducing, by the processing unit, a value of a RWND field in an ACK packet of a packet in a TCP flow includes: the processing unit reduces the value of the RWND field in the ACK message of the message in the TCP flow according to one or more of: the number of the messages cached by the storage unit in the forwarding direction of the TCP stream, the data volume of the messages cached by the storage unit in the forwarding direction of the TCP stream, and the proportion of the data volume of the messages cached by the storage unit in the forwarding direction of the TCP stream in the cache region. In this application, the forwarding device may calculate the value of the reduced RWND field according to one or more of the number of buffered packets, the data amount of the packets, and the proportion of the data amount of the packets in the forwarding direction of the TCP flow in the buffer area.

In a possible implementation manner, the reducing, by the processing unit, a value of a RWND field in an ACK packet of a packet in a TCP flow includes: the processing unit reduces the value of the RWND field in the ACK message of the message in the TCP flow according to the following formula: RWND ═ RWND' (1- α/2); wherein α ═ (1-g) × α' + g ═ F; RWD' is the value of the current RWD field of the forwarding device; α' is the current adjustable parameter; g is an adjustable parameter; and F is the number of the messages cached by the storage unit in the forwarding direction of the TCP stream, the data volume of the messages or the proportion of the data volume of the messages in the cache region. In this application, the forwarding device may calculate the value of the reduced RWND field according to the number of buffered messages in the forwarding direction of the TCP flow, the data amount of the messages, or the ratio of the data amount of the messages to the buffer area.

In a possible implementation manner, the forwarding direction includes an uplink direction and a downlink direction. The network congestion control method provided by the application is suitable for forwarding scenes in the uplink direction and forwarding scenes in the downlink direction.

In a possible implementation manner, the forwarding device is a core switch, an aggregation switch, an access switch, or a wireless access point AP. The network congestion control method provided by the application is applicable to any network device in a TCP stream forwarding scene, such as a core switch, a convergence switch, an access switch or a wireless access point AP.

In a third aspect, a forwarding device is provided, where the forwarding device is configured to forward a TCP flow; the forwarding device includes: a memory for storing a computer program and the TCP stream; a transceiver for receiving or transmitting a radio signal; a processor, configured to execute the computer program, so that when pre-congestion occurs in a forwarding direction of the TCP flow, the forwarding device reduces a value of a receiving window RWND field in an ACK acknowledgement message of a message in the TCP flow; wherein, the ACK message is reverse to TCP flow.

In the technical solution provided in the third aspect, when the forwarding device is pre-congested (i.e., has a possibility of congestion) in the forwarding direction of the TCP flow, the value of the RWND field in the ACK message is reduced to control the sending rate of the sending end of the message in the TCP flow, so as to relieve the buffer pressure of the forwarding device, reduce the problem of packet loss, and improve the continuity and the completeness of the message in the TCP flow transmission process.

In a possible implementation manner, the processor is further configured to execute the computer program, so that the forwarding device determines that pre-congestion occurs in a forwarding direction of the TCP flow according to a buffer status of the memory; wherein the cache state of the memory is dependent on one or more of: the number of messages cached in the memory, the data volume of the messages cached in the memory and the proportion of the data volume of the messages cached in the memory in the cache region. In the application, the forwarding device may determine whether pre-congestion occurs in the forwarding direction of the TCP flow according to the cache state of the memory, so as to trigger a mechanism for reducing the value of the RWND field.

In a possible implementation, the processor is specifically configured to execute the computer program, so that the forwarding device determines that pre-congestion occurs in a forwarding direction of a TCP flow when one or more of the following conditions are satisfied: the number of the buffered messages of the memory in the forwarding direction of the TCP stream is greater than the preset number, the data quantity of the buffered messages of the memory in the forwarding direction of the TCP stream is greater than the preset data quantity, and the proportion of the data quantity of the buffered messages of the memory in the forwarding direction of the TCP stream in the buffer area is greater than the preset proportion. In this application, the forwarding device may determine whether pre-congestion occurs in the forwarding direction of the TCP flow according to one or more of the number of buffered packets in the forwarding direction of the TCP flow, the data amount of the packets, and the ratio of the data amount of the packets in the buffer, so as to trigger a mechanism for reducing the value of the RWND field.

In a possible implementation manner, the reducing, by the processor, a value of a RWND field in an ACK packet of a packet in a TCP flow includes: the processor reduces the value of the RWND field in the ACK message of the message in the TCP flow according to one or more of: the message amount cached by the memory in the TCP flow forwarding direction, the message data amount cached by the memory in the TCP flow forwarding direction, and the proportion of the message data amount cached by the memory in the TCP flow forwarding direction in the cache region reduce the value of the RWDD field in the ACK message of the message in the TCP flow. In this application, the forwarding device may calculate the value of the reduced RWND field according to one or more of the number of buffered packets, the data amount of the packets, and the proportion of the data amount of the packets in the forwarding direction of the TCP flow in the buffer area.

In a possible implementation manner, the processor executes the computer program to enable the forwarding device to reduce the value of the RWND field in the ACK packet of the packet in the TCP flow, including: the processor executes the computer program to cause the forwarding device to reduce the value of the RWND field in the ACK message of the message in the TCP flow according to the following formula: RWND ═ RWND' (1- α/2); wherein α ═ (1-g) × α' + g ═ F; RWD' is the value of the current RWD field of the forwarding device; α' is the current adjustable parameter; g is an adjustable parameter; and F is the number of the messages cached by the memory in the forwarding direction of the TCP stream, the data volume of the messages or the proportion of the data volume of the messages in the cache region. In this application, the forwarding device may calculate a smaller value of the RWND field according to the number of buffered messages in the forwarding direction of the TCP flow, the data amount of the messages, or the ratio of the data amount of the messages to the buffer area.

In a possible implementation manner, the forwarding direction includes an uplink direction and a downlink direction. The network congestion control method provided by the application is suitable for forwarding scenes in the uplink direction and forwarding scenes in the downlink direction.

In a possible implementation manner, the forwarding device is a core switch, an aggregation switch, an access switch, or a wireless access point AP. The network congestion control method provided by the application is applicable to any network device in a TCP stream forwarding scene, such as a core switch, a convergence switch, an access switch or a wireless access point AP.

In a fourth aspect, a computer-readable storage medium is provided, having computer program code stored thereon, which, when executed by a processor, implements the method as in any one of the possible implementations of the first aspect.

In a fifth aspect, a chip system is provided, which includes a processor, a memory, and a computer program code stored in the memory; the computer program code realizes the method according to any one of the possible implementations of the first aspect when executed by the processor. The chip system may be formed by a chip, and may also include a chip and other discrete devices.

A sixth aspect provides a computer program product enabling, when running on a computer, a method as in any one of the possible implementations of the first aspect.

Drawings

Fig. 1 is a network architecture diagram of an enterprise campus provided in an embodiment of the present application;

fig. 2 is a schematic diagram of a hardware structure of a forwarding device according to an embodiment of the present application;

fig. 3 is a schematic functional module diagram of a forwarding device according to an embodiment of the present application;

fig. 4 is a schematic flowchart of a network congestion control method according to an embodiment of the present application;

fig. 5 is a schematic flowchart of another network congestion control method according to an embodiment of the present application;

fig. 6 is a diagram illustrating an example of network congestion according to an embodiment of the present application;

fig. 7 is an interaction diagram of a network congestion control method according to an embodiment of the present application;

fig. 8 is a block diagram of a forwarding device according to an embodiment of the present application.

Detailed Description

The embodiment of the present application provides a network congestion control method, which may be applied to a communication system based on a Transmission Control Protocol (TCP).

For example, the network congestion control method provided by the embodiment of the present application may be applied to the following communication systems based on the TCP protocol: an internet of things (IoT) system, a Wireless Local Access Network (WLAN) system, a Long Term Evolution (LTE) system, a fifth generation mobile communication (5th mobile communication or 5th generation wireless systems, 5G) New Radio (NR) system, or a communication system after 5G, such as a 6G system, a device to device (D2D) communication system, a car networking, and the like. The present application is not limited.

For example, the network congestion control method provided in the embodiment of the present application may be applied to the enterprise campus network scenario or the data center network scenario shown in fig. 1.

For example, in the enterprise campus network scenario of IoT systems, a huge network is formed by combining various information sensing devices, such as rfid devices, infrared sensors, global positioning systems, laser scanners, etc., with the internet. The purpose is to connect all articles with the network, which is convenient for identification and management. For example, data collected by the monitoring camera needs to be uploaded to the server through the wireless AP and the switch, and the server side performs aggregation analysis and unified management. Typically, enterprise campus networks are hierarchical and may be divided into, for example, an access layer, an aggregation layer, and a core layer. Each layer corresponds to an access switch, a convergence switch and a core switch respectively.

The AP is mainly used for an access point where a device such as a mobile terminal (e.g., a mobile phone) accesses a wired network. The method can be used in broadband families, building interiors, garden interiors and the like, and the AP can cover dozens of meters to hundreds of meters. Access switches are mainly used to connect terminal devices to a network. The part of the network that directly faces the user connection or access network is called the access stratum. An access switch is generally used to directly connect a terminal device such as a computer. Access switches typically have low cost and high port density characteristics. An aggregation switch is a point of aggregation of multiple access switches that is capable of handling all traffic from access layer devices (e.g., access switches) and providing uplinks to core layer devices (e.g., core switches). Aggregation layer switches generally have higher performance, fewer interfaces, and higher switching rates than access layer switches. In a corporate campus network, a convergence switch is typically used between buildings and acts as a local or critical transfer station. The core switches are mainly used to provide high-speed transmission and optimization for aggregation layer devices (such as aggregation switches), and are equivalent to an egress or an aggregation. The core switches support and aggregate all transport traffic, and therefore, the core switches generally have higher reliability and throughput. For example, a two-tier switch or a three-tier switch, which is throughput-intensive, may be used as a core switch. The servers include a server farm internal to the enterprise campus, such as a Data Center (DC) built in the enterprise campus, a computer room, or a private cloud. Servers are used to provide remote services (e.g., computing services, storage services, and network services) for terminal devices. A DC or private cloud is a self-built data center or computer room in an enterprise campus network for providing remote services. A DC or private cloud is a cloud deployment model controlled by a cloud service customer for single cloud service user and resource dedication. A DC or private cloud may be owned, managed and operated by the enterprise itself or by a third party, possibly deployed within the enterprise's workplace. A private cloud may be deployed within the DC. In this embodiment of the present application, a sending end of an upstream TCP flow is a terminal device, and a final receiving end may be disposed in a server (e.g., a DC or a private cloud).

In the present application, the terminal device may be a desktop device, a laptop device, a handheld device, a wearable device, a smart home device, a computing device, a vehicle-mounted device, and the like, which have a wired or wireless connection function. For example, a netbook, a tablet computer, a smart watch, a supercomputer, an ultra-mobile personal computer (UMPC), a smart camera, a netbook, a Personal Digital Assistant (PDA), a Portable Multimedia Player (PMP), an AR (augmented reality)/VR (virtual reality) device, a wireless device on an aircraft, a wireless device on a robot, a wireless device in industrial control, a wireless device in telemedicine, a wireless device in a smart grid, a wireless device in a smart city (smart city), and the like. Or the UE may also be a wireless device in Narrowband (NB) technology, etc. In addition, in the present application, the terminal device may also be a terminal device in an IoT system, such as a sensor or a camera. Alternatively, the terminal device may be an Automatic Optical Inspection (AOI) device for industrial manufacturing, or the like. The specific type, structure and the like of the terminal device are not limited in the present application.

It should be noted that the present application does not limit the network architecture of the enterprise campus network. That is, the enterprise campus network is not limited to the individual network devices shown in fig. 1, but may include network devices of other functions. For example, the enterprise campus network may also include a campus network controller, an egress router, an operator network, a private network, or a public cloud, among others.

Where the campus network controller is used to manage the campus network devices (e.g., core switches, aggregation switches, access switches, APs, etc., as shown in figure 1). For example, the campus network controller may be a Software Defined Network (SDN) controller, which is responsible for traffic control to ensure an intelligent network, and the like. The exit router is used for providing access to the wide area network three-layer interface service, providing the message forwarding function of the local area network or the wide area network, and the like. The public cloud is a cloud deployment model controlled by a cloud service provider for cloud service users and resources. The cloud service provider builds a basic framework, integrates resources to build a cloud virtual resource pool, and distributes the cloud virtual resource pool to multiple tenants for use according to needs. For example, a public cloud may include a cloud server or cloud server instance, and the like.

In the method for controlling network congestion provided by the embodiment of the application, a sending end sends a service-based TCP stream to a receiving end. The service may include, but is not limited to, a video service or a voice service. Each TCP flow includes one or more packets. Each TCP flow may correspond to a service, a user, and the like, and the present application is not limited thereto. When receiving the TCP flow, the forwarding device caches the packet in the buffer. When congestion is possible in the forwarding direction of the TCP flow, the forwarding device controls the sending rate of the sending end of the packet in the TCP flow by reducing the value of a Receive Window (RWND) field in an Acknowledgement (ACK) packet, so as to relieve the cache pressure of the forwarding device, reduce the problem of packet loss, and improve the continuity and completeness of the packet in the TCP flow transmission process. For example, when the forwarding device has a possibility of congestion in the forwarding direction of the uplink TCP flow, the value of the RWND field in the downlink ACK message is reduced to control the sending rate of the terminal device. When congestion is possible in the forwarding direction of the downlink TCP stream, the forwarding device controls the sending rate of a server (such as a DC or a private cloud) by reducing the value of the RWDD field in the uplink ACK message.

In the TCP/Internet Protocol (IP), in the TCP message transmission process, if the receiving end of the TCP message successfully receives the TCP message, an ACK message is replied to the transmitting end of the TCP message to confirm that the corresponding TCP message is received to the transmitting end of the TCP message. When the sender of the TCP message receives the ACK message, the next message can be sent. If the sending end of the TCP message does not receive the ACK message, the current message may be retransmitted, or the sending of the message may be stopped. The specifics depend on the network protocol employed. Generally, the ACK message has a fixed format and length size. The message format and length of the ACK message are not particularly limited in the embodiments of the present application, as long as the ACK message conforms to the transmission protocol. For specific introduction of the ACK packet, reference may be made to explanation and description in the conventional technology, which are not described herein again.

In the embodiment of the present application, the ACK packet and the TCP flow have opposite forwarding directions. Taking the enterprise campus network architecture shown in fig. 1 as an example, if the forwarding device is a core switch and the forwarding direction of the TCP flow is uplink, the ACK packet is a downlink ACK packet. In this case, the ACK message is forwarded by the core switch to aggregation switch 1 and/or aggregation switch 2. If the forwarding device is the convergence switch 1 and the forwarding direction of the TCP flow is uplink, the ACK message is a downlink ACK message. In this case, the ACK message is forwarded by the aggregation switch 1 to at least one of the access switches 1-10. If the forwarding device is the access switch 1 and the forwarding direction of the TCP flow is uplink, the ACK message is a downlink ACK message. In this case, the ACK message is forwarded by the access switch 1 to at least one of a wireless Access Point (AP) 1 — a wireless AP n (n is a positive integer). If the forwarding device is the access switch 10 and the forwarding direction of the TCP flow is uplink, the ACK packet is a downlink ACK packet. In this case, the ACK message is forwarded by the access switch 10 to the supercomputer 1. If the forwarding device is the wireless AP 1 and the forwarding direction of the TCP stream is uplink, the ACK message is a downlink ACK message. In this case, the ACK message is forwarded by the AP 1 to at least one of the handsets 1-handset m (m is a positive integer). When the forwarding direction of the TCP flow is uplink, the sending end of the TCP flow is usually a terminal device, such as a mobile phone (e.g., mobile phone 1-mobile phone 4m) or a super computer (e.g., super computer 1 or super computer 2) shown in fig. 1.

If the forwarding device is the wireless AP 1 and the forwarding direction of the TCP stream is downlink, the ACK message is an uplink ACK message. In this case, the ACK message is forwarded by the AP 1 to the hand access switch 1. If the forwarding device is the access switch 1 and the forwarding direction of the TCP flow is downlink, the ACK message is an uplink ACK message. In this case, the ACK message is forwarded by the access switch 1 to the aggregation switch 1. If the forwarding device is the convergence switch 1 and the forwarding direction of the TCP flow is downlink, the ACK message is an uplink ACK message. In this case, the ACK message is forwarded by the aggregation switch 1 to the core switch. When the forwarding direction of the TCP flow is downstream, the sending end of the TCP flow is usually a network device, such as the core switch shown in fig. 1.

As indicated above, the forwarding device in the present application may be a core switch, an aggregation switch, an access switch, or an AP as shown in fig. 1. But is not intended to limit the specific function or structure of the forwarding device. The forwarding device may also be a campus network controller in an enterprise campus network architecture, for example. The forwarding device may also be a device in the context of other TCP transmissions. The device has the capability of forwarding TCP messages.

Referring to fig. 2, fig. 2 is a schematic diagram illustrating a hardware structure of a forwarding device according to an embodiment of the present application. As shown in fig. 2, the forwarding device may include a processor 201, a communication line 202, a memory 203, and at least one communication interface (which is only exemplary in fig. 2 and is illustrated as including a communication interface 204).

The processor 201 may be a general processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more ics for controlling the execution of programs in accordance with the present invention.

The communication link 202 may include a path for transmitting information between the aforementioned components.

The communication interface 204, using any transceiver or the like, is used for communication with other devices or communication networks. For example, with an AP, access switch, aggregation switch, core switch, or network controller.

The memory 203 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, optical disk storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to these. The memory may be separate and coupled to the processor via a communication line 402. The memory may also be integral to the processor.

The memory 203 is used for storing computer-executable instructions for executing the present application, wherein the memory 203 may store instructions for implementing modular functions, such as sending instructions, receiving instructions, and processing instructions, and is controlled by the processor 201 to execute. The processor 201 is configured to execute computer-executable instructions stored in the memory 203, thereby implementing the methods provided by the embodiments described below. The memory 203 shown in fig. 2 is only a schematic diagram, and the memory may further include other functional instructions, which is not limited in this respect.

Alternatively, the computer executable instructions may also be referred to as application code, and the application is not limited thereto.

In particular implementations, processor 201 may include one or more CPUs such as CPU0 and CPU1 in fig. 2, for example, as one embodiment.

It should be noted that the hardware modules included in the forwarding device shown in fig. 2 are only described by way of example, and do not limit the specific structure of the forwarding device. For example, the forwarding device may also include other functional modules.

In one possible configuration, as shown in fig. 3, the processor 201 may include a Network Processor (NP), a Traffic Manager (TM), and a Packet Editor (PE). The memory 203 may include an Output Buffer (OB).

Wherein OB may be used to buffer the received TCP stream.

The TM may be used to obtain queue and port throughput information from the OB and provide the queue and port throughput information to the NP. The TM may also be configured to accept PE's enable display congestion notification (ECN) notifications, read pipeline register information, and modify the ECN field of the message based on pipeline and queue buffer lengths.

The NP may be used to send an ECN Enable instruction to the PE. The NP may also be used to read information from registers of the TM, computing the pipeline based on the read information, such as queue buffering and throughput. The TM's pipeline register values are modified. A Congestion Window (CWND) is calculated based on the queue congestion.

The network congestion control method provided by the application can be applied to the forwarding equipment with the structure of fig. 2 or a similar structure. Or may also be applied to forwarding devices of other structures, and the application is not limited.

A network congestion control method provided in the embodiments of the present application is further specifically described below.

Referring to fig. 4, fig. 4 is a flowchart illustrating a network congestion control method according to an embodiment of the present disclosure. The execution subject of the method is a forwarding device. The forwarding device is for forwarding a TCP flow. For example, the forwarding device may be an AP, an access switch, an aggregation switch, or a core switch as shown in fig. 1. As shown in fig. 4, the network congestion control method may include the following steps S401 and S402:

s401, the forwarding device determines that pre-congestion occurs in the forwarding direction of the TCP stream.

The forwarding direction of the TCP flow includes an uplink direction and a downlink direction.

Taking the campus network architecture shown in fig. 1 as an example, the uplink forwarding direction of the TCP flow may be a direction from a mobile phone (e.g., mobile phone 1-mobile phone 4m) → a server in fig. 1; alternatively, it is the supercomputer (e.g., supercomputer 1 or supercomputer 2) → server direction in fig. 1. More specifically, the upstream forwarding direction of the TCP flow is the direction of the mobile phone → AP → access switch → aggregation switch → core switch → server in fig. 1; alternatively, it is in the supercomputer → access switch → aggregation switch → core switch → server direction in fig. 1. The downlink forwarding direction of the TCP flow may be the server → handset (e.g. handset 1-handset 4m) direction in fig. 1; alternatively, it is the server → supercomputer (e.g., supercomputer 1 or supercomputer 2) direction in fig. 1. More specifically, the downstream forwarding direction of the TCP flow is the direction of the server → core switch → aggregation switch → access switch → AP → mobile phone in fig. 1; alternatively, in fig. 1, the server → core switch → aggregation switch → access switch → supercomputer direction.

In some embodiments, the step S401 may specifically include: and the forwarding equipment determines that the pre-congestion occurs in the forwarding direction of the TCP flow according to the cache state of the forwarding equipment. The buffer state of the forwarding device is at least used for representing the number of the messages buffered in the forwarding device and the proportion of the data volume of the messages buffered in the forwarding device in the buffer area. For example, the cache state of the forwarding device may depend on one or more of: the number of the messages cached in the forwarding equipment, the data volume of the messages cached in the forwarding equipment and the proportion of the data volume of the messages cached in the forwarding equipment in the cache area. For example, if the number of packets cached in a buffer of the forwarding device is greater than the preset number, the forwarding device determines that pre-congestion occurs in the forwarding direction of the TCP flow forwarded through the buffer. For another example, if the ratio of the data volume of the packet cached by the forwarding device in one cache region to the cache region is greater than the preset ratio, the forwarding device determines that pre-congestion occurs in the forwarding direction of the TCP flow forwarded through the cache region.

In this embodiment, if the forwarding device determines that a TCP packet is cached in the forwarding direction of the TCP stream, and also caches a User Datagram Protocol (UDP) packet or a packet based on another protocol (e.g., an Internet Group Management Protocol (IGMP) packet, an internet control information protocol (ICMP) packet, an Open Shortest Path First (OSPF) packet, or a Border Gateway Protocol (BGP) packet), the forwarding device may determine whether the forwarding device determines that the forwarding direction of the TCP stream is pre-congested based on the total number of cached packets in the forwarding device or the total data amount of the cached packets in the forwarding device.

The preset number or the preset ratio may be manually set, or may be calculated by the forwarding device according to the throughput in the forwarding direction of the current TCP flow and the number of buffered packets/data amount of the packets in the buffer. For example, the preset number may be 100 messages, the preset data amount may be 100 kilobyte (kByte) messages, and the preset proportion may be 75%.

It can be understood that the number of buffered packets in the forwarding direction of the TCP flow, the ratio of the data amount of the buffered packets in the forwarding device to the buffer area, and the like can all represent the buffer state of the forwarding device. For example, the larger the number of buffered packets, the larger the data amount of the buffered packets, or the higher the ratio of the data amount of the buffered packets to the buffer area, the smaller the remaining buffer area in the buffer area of the forwarding device, the more easily the congestion is caused. The congestion means that when the remaining buffer areas in the buffer area are smaller than a preset value (for example, when the buffer area is full), the buffer area discards the message to relieve the buffer pressure of the buffer area. The buffer area discards the message which is buffered before or newly flows in. Therefore, the smaller the remaining buffer in the buffer of the forwarding device, the greater the possibility of packet loss. A state of near congestion is referred to as pre-congestion. In this case, the forwarding device may modify the value of the RWND field in the ACK message when pre-congestion occurs in the forwarding direction of the TCP flow, so as to relieve the buffer pressure of the forwarding device and avoid packet loss (including uplink packet loss and downlink packet loss) caused by congestion.

S402, the forwarding equipment reduces the value of the RWDD field in the ACK message of the message in the TCP stream.

The value of the RWND field in the ACK message is used to represent the number of messages that can be received by the receiving end of the TCP flow or the data volume of the messages. The larger the value of the RWND field is, the larger the sending end of the TCP flow can send the TCP message to the receiving end at the larger sending rate. The smaller the value of the RWND field is, the smaller the sending rate of the TCP flow needs to send the TCP packet to the receiving end.

In this application, the forwarding device may determine a value of a new RWND field, that is, a value of the RWND field in the reduced ACK message, according to the cache state of the forwarding device. Specifically, when the number of the messages cached by the forwarding device in the forwarding direction of the TCP flow is greater than the preset number, the data amount of the messages cached by the forwarding device in the forwarding direction of the TCP flow is greater than the preset data amount, or the ratio of the data amount of the messages cached by the forwarding device in the forwarding direction of the TCP flow in the cache area is greater than one or more of the preset ratios, the forwarding device determines that the pre-congestion occurs in the forwarding direction of the TCP flow.

For example, assume RWDD 'is the value of the forwarding device's current RWDD field. The forwarding device may reduce the value of the RWND field in the ACK message of the packet in the TCP flow according to the following formula: RWND ═ RWND' (1- α/2).

Wherein α ═ (1-g) × α' + g ═ F; α' is a current adjustable parameter, g is an adjustable parameter, F is the number of buffered messages in the forwarding direction of the TCP flow, the data amount of the buffered messages, or the ratio of the data amount of the buffered messages to the buffer area.

Alternatively, the forwarding device may also obtain the value of the RWND field by using another calculation formula based on the parameter F.

Alternatively, the forwarding device may also calculate the value of the RWND field in the reduced ACK message by using other calculation principles or methods. Reference may be made to the treatment methods in the conventional art. The embodiment of the present application does not limit a specific method for determining, by the forwarding device, the value of the RWND field in the reduced ACK message.

Further, as shown in fig. 5, the method for controlling network congestion provided in the embodiment of the present application may further include the following step S403:

s403, the forwarding device forwards the ACK message.

Wherein, the ACK message (including downlink ACK message or uplink ACK message) includes RWND field. The ACK message is used to notify the sending end of the message in the TCP stream that the receiving end has received the corresponding message. And further, the ACK message is used to notify the sending end of the message to adjust the sending rate according to the value of the RWND field in the ACK message, so as to relieve the cache pressure of the forwarding device, thereby reducing the packet loss problem (including uplink packet loss and downlink packet loss). Wherein adjusting the transmission rate comprises increasing the transmission rate or decreasing the transmission rate. Specifically, the sending end of the TCP message may adjust the sending rate by adjusting the sending window. The sending window refers to the number of messages or the data volume of the messages continuously written at one time in the network from the sending direction.

In this application, the ACK packet is in a reverse direction to the TCP flow. And if the forwarding direction of the TCP stream is uplink, the ACK message is a downlink ACK message. And if the forwarding direction of the TCP stream is downlink, the ACK message is an uplink ACK message.

Taking the campus network architecture shown in fig. 1 as an example, if the forwarding direction of the TCP flow is the direction from the mobile phone (e.g., mobile phone 1 to mobile phone 4m) or the supercomputer (e.g., supercomputer 1 or supercomputer 2) → the server in fig. 1, the ACK packet is sent from the server to the mobile phone (e.g., mobile phone 1 to mobile phone 4m) or the supercomputer (e.g., supercomputer 1 or supercomputer 2). If the forwarding direction of the TCP flow is the direction of server → mobile phone (e.g. mobile phone 1-mobile phone 4m) or super computer (e.g. super computer 1 or super computer 2) in fig. 1, the ACK packet is sent to the server by the access switch/AP.

As shown in fig. 6, taking the forwarding device as the aggregation switch 1, the sending end of the congestion message as the supercomputer 1, and the supercomputer 1 is connected to the aggregation switch 1 through the access switch 10 as an example, S403 may specifically include: the forwarding device (i.e., aggregation switch 1) forwards the ACK message to access switch 10. As shown in fig. 7, after the access switch 10 receives the ACK packet forwarded by the aggregation switch 1, the method for controlling network congestion provided in the embodiment of the present application may further include the following steps S701, S702-1, or S702-2:

s701, the access switch 10 forwards the ACK message to the super computer 1.

The access switch 10 forwards the ACK message to the supercomputer 1 to delay the transmission of the uplink message by the supercomputer 1, or the access switch is used for the supercomputer 1 to reduce the transmission rate of the uplink message.

S702-1, the supercomputer 1 reduces the sending rate of the uplink message.

For example, the supercomputer 1 can reduce the transmission rate of the uplink message by reducing the transmission window. Alternatively, the supercomputer 1 may reduce the sending rate of the uplink message in other manners. Reference may be made to conventional techniques, which are not intended to be limiting.

S702-2, the super computer 1 delays sending the uplink message.

For example, supercomputer 1 may delay sending upstream message t duration to the server. Illustratively, t may be determined from the value of the RWDD field in the ACK message. Or, the supercomputer 1 may suspend sending the uplink packet to the server until receiving the instruction information to resume the sending window. The present application is not limited.

Also, for the case where the forwarding device is a core switch, an access switch, or other device such as an AP, the above-described procedure may be referred to. And, for the case of uplink ACK packet, refer to the above procedure as well. And will not be described in detail herein.

In the application, when congestion is possible in the forwarding direction of the TCP flow, the forwarding device reduces the sending rate of the sending end of the message in the TCP flow or delays the sending end from sending the message by reducing the value of the RWND field in the ACK message, so as to relieve the cache pressure of the forwarding device, reduce the problem of packet loss, and improve the continuity and the completeness of the message in the TCP flow transmission process.

It should be understood that the various aspects of the embodiments of the present application can be reasonably combined and explained, and the explanation or explanation of the various terms appearing in the embodiments can be mutually referred to or explained in the various embodiments, which is not limited.

It should also be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.

It is to be understood that the forwarding device (e.g. core switch, aggregation switch, access switch or wireless access point AP, etc.) includes corresponding hardware structures and/or software modules for performing the respective functions in order to implement the functions of any of the above embodiments. Those of skill in the art would readily appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as hardware or combinations of hardware and computer software. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.

The embodiment of the present application may divide the functional modules of the forwarding device (e.g., a core switch, a convergence switch, an access switch, or a wireless access point AP, etc.), for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated in one processing module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. It should be noted that, in the embodiment of the present application, the division of the module is schematic, and is only one logic function division, and there may be another division manner in actual implementation.

For example, in a case that each functional module is divided in an integrated manner, as shown in fig. 8, the functional module is a block diagram of a forwarding device provided in the embodiment of the present application. The forwarding device (e.g., core switch, aggregation switch, access switch, or wireless access point AP, etc.) may include a processing unit 810, a storage unit 820, and a transceiving unit 830.

Wherein, the processing unit 810 is configured to, when pre-congestion occurs in the forwarding direction of the TCP flow, reduce a value of a receiving window RWND field in an acknowledgement ACK packet of a packet in the TCP flow; the ACK message is in a reverse direction with respect to the TCP stream, and the forwarding direction includes an uplink direction and a downlink direction. And/or other processes for the techniques described herein. Storage 820 is used to store computer programs, cache the TCP streams described above, and/or other information for use with the techniques described herein. The transceiving unit 830 is configured to receive or transmit radio signals, e.g., to forward received TCP streams, and/or other information for the techniques described herein.

In some embodiments, the processing unit 810 is further configured to determine that pre-congestion occurs in a forwarding direction of the TCP flow according to the buffer status of the storage unit 820. Wherein the cache state of the memory cell 820 is dependent on one or more of: the number of buffered packets in the storage unit 820, the data amount of buffered packets in the storage unit 820, and the ratio of the data amount of buffered packets in the storage unit 820 to the buffer area.

In some embodiments, processing unit 810 determines that pre-congestion occurs in the forwarding direction of the TCP flow when one or more of the following are satisfied: the number of buffered packets of the storage unit 820 in the forwarding direction of the TCP flow is greater than the preset number, the data amount of the buffered packets of the storage unit 820 in the forwarding direction of the TCP flow is greater than the preset data amount, and the ratio of the data amount of the buffered packets of the storage unit 820 in the forwarding direction of the TCP flow in the buffer area is greater than the preset ratio.

In some embodiments, the processing unit 810 may reduce the value of the RWND field in the ACK message of the packet in the TCP flow according to the following formula: RWND ═ RWND' (1- α/2). Wherein α ═ (1-g) × α' + g ═ F; RWD' is the value of the current RWD field of the forwarding device; α' is the current adjustable parameter; g is an adjustable parameter; and F is the number of buffered messages in the forwarding direction of the TCP stream, the data volume of the messages or the proportion of the data volume of the messages in the buffer area.

It should be noted that the transceiver unit 830 may include a radio frequency circuit. The repeater device may receive and transmit wireless signals through the radio frequency circuit. Typically, the radio frequency circuitry includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like. In addition, the radio frequency circuitry may also communicate with other devices via wireless communication. The wireless communication may use any communication standard or protocol including, but not limited to, global system for mobile communications, general packet radio service, code division multiple access, wideband code division multiple access, long term evolution, email, short message service, and the like.

In an alternative, when the data transfer is implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are implemented in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in, or transmitted from, a computer-readable storage medium to another computer-readable storage medium, for example, from one website, computer, server, or data center, over a wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.) network, the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device including one or more integrated servers, data centers, etc., the available medium may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video disks (digital video disks, DVD), or a semiconductor medium such as a Solid State Disk (SSD).

The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied in hardware or may be embodied in software instructions executed by a processor. The software instructions may consist of corresponding software modules that may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. Of course, the storage medium may also be integral to the processor. The processor and the storage medium may reside in an ASIC. In addition, the ASIC may reside in a probing apparatus. Of course, the processor and the storage medium may reside as discrete components in the probe device.

Through the above description of the embodiments, it is clear to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely used as an example, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device may be divided into different functional modules to complete all or part of the above described functions.

In an alternative aspect, the present application provides a chip system, which includes a processor, a memory, and a computer program code stored in the memory; when executed by a processor, the computer program code implements the methods of any of the possible implementations provided herein. The chip system may be formed by a chip, and may also include a chip and other discrete devices.

In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical functional division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another device, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.

The units described as separate parts may or may not be physically separate, and parts displayed as units may be one physical unit or a plurality of physical units, that is, may be located in one place, or may be distributed in a plurality of different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.

In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.

The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially or partially contributed to by the prior art, or all or part of the technical solutions may be embodied in the form of a software product, where the software product is stored in a storage medium and includes several instructions to enable a device (which may be a single chip, a chip, or the like) or a processor (processor) to execute all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a U disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk.

The above description is only an embodiment of the present application, but the scope of the present application is not limited thereto, and any changes or substitutions within the technical scope of the present disclosure should be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于限速策略的数据传输方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!