RDMA-based data transmission method, network interface card, server and medium
AssigneeAdvanced New Technologies Co., Ltd.
InventorsChangqing Li, Yinchao Zou, Changhua He, Peng Wu, Jincan Kong
Life of this patent
Estimating the term…
Abstract
A Remote Direct Memory Access (RDMA) based data transmission method is disclosed. In this method, an RDMA network interface card is used to encrypt data to improve the security of data transmission. In addition, the data encryption and decryption operation is implemented inside the RDMA network interface card and is transparent to software, thereby ensuring security without adversely affecting performance of an application program.
Claims20
A Remote Direct Memory Access (RDMA)-based data transmission method, comprising:
- acquiring, by a sending-end RDMA network interface card, raw data;
- determining, based on an encryption instruction from a sending-end RDMA application program, an encryption algorithm;
- encrypting the raw data using the encryption algorithm to generate encrypted data;
- encapsulating the encrypted data into a data packet, wherein a header of the data packet comprises an identifier for the encryption algorithm and an encryption indicator identifier,
- wherein the header includes a routing header having routing information from a sending-end device to a receiving-end device for the data packet, and a transport header having reserved bits of InfiniBand Architecture protocol, wherein the identifier for the encryption algorithm and the encryption indicator identifier are indicated in the reserved bits, and
- wherein the encryption indicator identifier indicates whether the data packet is encrypted and the identifier for the encryption algorithm indicates a specific encryption algorithm used to encrypt the raw data;
- and
- sending, by the sending-end RDMA network interface card, the data packet to a receiving-end RDMA network interface card.
A Remote Direct Memory Access (RDMA) data transmission system comprising a sending-end RDMA network interface card having a memory configured with instructions executable to:
- acquire raw data;
- determine, based on an encryption instruction from a sending-end RDMA application program, an encryption algorithm;
- encrypt the raw data using the encryption algorithm to generate encrypted data;
- encapsulate the encrypted data into a data packet, wherein a header of the data packet comprises an identifier for the encryption algorithm and an encryption indicator identifier,
- wherein the header includes a routing header having routing information from a sending-end device to a receiving-end device for the data packet, and a transport header having reserved bits of InfiniBand Architecture protocol, wherein the identifier for the encryption algorithm and the encryption indicator identifier are indicated in the reserved bits, and
- wherein the encryption indicator identifier indicates whether the data packet is encrypted and the identifier for the encryption algorithm indicates a specific encryption algorithm used to encrypt the raw data;
- and
- send the data packet to a receiving-end RDMA network interface card.
A non-transitory computer-readable storage medium having instructions stored thereon executable by a sending-end Remote Direct Memory Access (RDMA) network interface card to cause the processor sending-end RDMA network interface card to perform operations comprising:
- acquiring raw data;
- determining, based on an encryption instruction from a sending-end RDMA application program, an encryption algorithm;
- encrypting the raw data using the encryption algorithm to generate encrypted data;
- encapsulating the encrypted data into a data packet, wherein a header of the data packet comprises an identifier for the encryption algorithm and an encryption indicator identifier,
- wherein the header includes a routing header having routing information from a sending-end device to a receiving-end device for the data packet, and a transport header having reserved bits of InfiniBand Architecture protocol, wherein the identifier for the encryption algorithm and the encryption indicator identifier are indicated in the reserved bits, and
- wherein the encryption indicator identifier indicates whether the data packet is encrypted and the identifier for the encryption algorithm indicates a specific encryption algorithm used to encrypt the raw data;
- and
- sending the data packet to a receiving-end RDMA network interface card.
Dependencies are inferred from the claim text.