Network congestion notification method, agent node, and computer device
AssigneeHuawei Technologies Co., Ltd.
InventorWei Zhang
Life of this patent
Estimating the term…
Abstract
A network congestion notification method and network node are provided in a network system. The network node receives a remote direct memory access (RDMA) packet, where the RDMA packet carries a source queue pair number corresponding to a transmit end and a destination queue pair number corresponding to a receive end. The network node generates a congestion notification packet when detecting network congestion, where a destination queue pair number of the congestion notification packet is the source queue pair number. Then the network node sends the congestion notification packet to the transmit end so that the transmit end may decrease a sending rate of a data flow to which the first data packet belongs.
Claims17
A method, comprising:
- receiving, by a network node, a remote direct memory access (RDMA) packet, wherein the RDMA packet comprises a first destination queue pair number corresponding to a receive end, and wherein the network node is between a transmit end of the RDMA packet and the receive end of the RDMA packet;
- generating, by the network node, a congestion notification packet when detecting network congestion, wherein the congestion notification packet comprises a second destination queue pair number, wherein the second destination queue pair number is of a queue pair of the transmit end of the RDMA packet, and wherein the congestion notification packet is configured to instruct the transmit end to decrease a sending rate of a data flow to which the RDMA packet belongs;
- sending, by the network node, the congestion notification packet to the transmit end;
- receiving, by the network node, a connection establishment packet in a connection establishment process between the transmit end and the receive end, wherein the connection establishment packet comprises a first base transport header (BTH), wherein the first BTH comprises a third destination queue pair number, and wherein the second destination queue pair number is the same as the third destination queue pair number;
- receiving, by an agent node, a first data packet of the transmit end, wherein the first data packet carries the first destination queue pair number;
- obtaining, by the agent node, a source queue pair number of the first data packet based on the first destination queue pair number;
- dividing, by the agent node, the source queue pair number into a first part and a second part;
- and
- generating, by the agent node, the RDMA packet by adding the first part to a first field of the first data packet and adding the second part to a second field of the first data packet.
A method, comprising:
- generating, by a transmit end, a remote direct memory access (RDMA) packet, wherein the RDMA packet comprises a first destination queue pair number corresponding to a receive end;
- sending, by the transmit end, the RDMA packet to the receive end using a network node;
- receiving, by the transmit end, a congestion notification packet, wherein the congestion notification packet is based on network congestion, wherein the congestion notification packet comprises a second destination queue pair number, wherein the second destination queue pair number is of a queue pair of the transmit end of the RDMA packet, and wherein the congestion notification packet is configured to instruct the transmit end to decrease a sending rate of a data flow to which the RDMA packet belongs;
- decreasing, by the transmit end, the sending rate of the data flow to which the RDMA packet belongs according to the congestion notification packet;
- and
- sending or receiving, by the transmit end, a connection establishment packet in a connection establishment process between the transmit end and the receive end, wherein the connection establishment packet comprises a first base transport header (BTH), wherein the first BTH comprises a third destination queue pair number, and wherein the second destination queue pair number is the same as the third destination queue pair number,
- wherein the transmit end comprises an agent node,
- wherein generating, by the transmit end, the RDMA packet comprises:
- generating, by the transmit end, a first data packet, wherein the first data packet carries the first destination queue pair number;
- obtaining, by the agent node, a source queue pair number based on the first destination queue pair number;
- and
- adding, by the agent node, the source queue pair number to the first data packet to obtain the RDMA packet, and
- wherein adding the source queue pair number to the first data packet to obtain a second data packet comprises:
- dividing the source queue pair number into a first part and a second part;
- adding the first part to a checksum field in a User Datagram Protocol (UDP) header of the first data packet;
- and
- adding the second part to a reserved field in a second BTH of the first data packet to obtain the RDMA packet.
A system, comprising:
- a transmit end configured to:
- generate a remote direct memory access (RDMA) packet, wherein the RDMA packet comprises a first destination queue pair number corresponding to a receive end;
- and
- send the RDMA packet to the receive end;
- a network node between the transmit end and the receive end and configured to:
- receive the RDMA packet;
- generate a congestion notification packet when detecting network congestion, wherein the congestion notification packet comprises a second destination queue pair number, wherein the second destination queue pair number is of a queue pair of the transmit end of the RDMA packet, and wherein the congestion notification packet is configured to instruct the transmit end to decrease a sending rate of a data flow to which the RDMA packet belongs;
- send the congestion notification packet to the transmit end;
- send or receive, a connection establishment packet in a connection establishment process between the transmit end and the receive end, wherein the connection establishment packet comprises a first base transport header (BTH), wherein the first BTH comprises a third destination queue pair number, and wherein the second third destination queue pair number is the same as the third destination queue pair number;
- receive the congestion notification packet;
- and
- decrease the sending rate of the data flow to which the RDMA packet belongs according to the congestion notification packet, and
- wherein a source queue pair number in the RDMA packet comprises:
- a first part in a checksum field in a User Datagram Protocol (UDP) header of the RDMA packet;
- and
- a second part in a reserved field in a second BTH of the RDMA packet.
A method, comprising:
- generating, by a transmit end, a remote direct memory access (RDMA) packet, wherein the RDMA packet comprises a first destination queue pair number corresponding to a receive end;
- sending, by the transmit end, the RDMA packet to the receive end using a network node;
- receiving, by the transmit end, a congestion notification packet, wherein the congestion notification packet is based on network congestion, wherein the congestion notification packet comprises a second destination queue pair number, wherein the second destination queue pair number is of a queue pair of the transmit end of the RDMA packet, and wherein the congestion notification packet is configured to instruct the transmit end to decrease a sending rate of a data flow to which the RDMA packet belongs;
- decreasing, by the transmit end, the sending rate of the data flow to which the RDMA packet belongs according to the congestion notification packet;
- and
- sending or receiving, by the transmit end, a connection establishment packet in a connection establishment process between the transmit end and the receive end, wherein the connection establishment packet comprises a first base transport header (BTH), wherein the first BTH comprises a third destination queue pair number, and wherein the second destination queue pair number is the same as the third destination queue pair number;
- wherein the transmit end comprises an agent node, and
- wherein generating the RDMA packet comprises:
- obtaining, by the agent node, a source queue pair number based on the first destination queue pair number;
- dividing, by the agent node, the source queue pair number into a first part and a second part;
- and
- adding, by the agent node, the first part to a checksum filed in a User Datagram Protocol field and adding the second part to a second BTH to generate the RDMA packet.
Dependencies are inferred from the claim text.