IP Library Granted Patent US 11,082,411
Granted Patent B2
US 11,082,411 · App. 16/822,463 · Granted Aug 3, 2021

RDMA-based data transmission method, network interface card, server and medium

Inventors: Changqing Li (Hangzhou, CN); Yinchao Zou (Hangzhou, CN); Changhua He (Hangzhou, CN); Peng Wu (Hangzhou, CN); Jincan Kong (Hangzhou, CN)
Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
H04L63/0428G06F3/067G06F15/17331G06F21/602H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,082,411
App. No.
16/822,463
Granted
Aug 3, 2021
Kind
B2
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.

Claims (63)

1. 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.

2. The method of claim 1 , wherein the data packet further comprises:

a packet payload representing the encrypted data.

3. The method of claim 1 , further comprising:

parsing, by the receiving-end RDMA network interface card, the received data packet to obtain the encrypted data and the header;

determining, according to the identifier for the encryption algorithm in the header, a decryption algorithm corresponding to the encryption algorithm; and

decrypting, using the decryption algorithm and by the receiving-end RDMA network interface card, the encrypted data to obtain the raw data.

4. The method of claim 3 ,

wherein the method further comprises: after parsing, by the receiving-end RDMA network interface card, the received data packet,

determining, according to the encryption indicator identifier, whether data in the data packet is encrypted; and

in response to determining that the data in the data packet is encrypted, determining, according to the identifier for the encryption algorithm, the decryption algorithm corresponding to the encryption algorithm.

5. The method of claim 1 ,

wherein the raw data and the encryption instruction are sent by the sending-end RDMA application program through calling an RDMA application interface.

6. 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.

7. The system of claim 6 , wherein the data packet further comprises:

a packet payload representing the encrypted data.

8. The system of claim 6 , wherein the system further comprises the receiving-end RDMA network interface card having a memory configured with instructions executable to:

parse the received data packet to obtain the encrypted data and the header;

determine, according to the identifier for the encryption algorithm in the header, a decryption algorithm corresponding to the encryption algorithm; and

decrypt, using the decryption algorithm, the encrypted data to obtain the raw data.

9. The system of claim 8 ,

wherein the memory of the receiving-end RDMA network interface card is further configured with instructions executable to: after parsing the received data packet,

determine, according to the encryption indicator identifier, whether data in the data packet is encrypted; and

in response to determining that the data in the data packet is encrypted, determine, according to the identifier for the encryption algorithm, the decryption algorithm corresponding to the encryption algorithm.

10. The system of claim 6 , wherein the raw data and the encryption instruction are sent by the sending-end RDMA application program through calling an RDMA application interface.

11. 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.

12. The storage medium of claim 11 , wherein the data packet further comprises:

a packet payload representing encrypted data.

13. The storage medium of claim 11 , wherein the instructions are executable by the receiving-end RDMA network interface card to perform:

parsing, by the receiving end RDMA network interface card, the received data packet to obtain the encrypted data and the header;

determining, according to the identifier for the encryption algorithm in the header, a decryption algorithm corresponding to the encryption algorithm; and

decrypting, using the decryption algorithm, the encrypted data to obtain the raw data.

14. The storage medium of claim 13 ,

wherein the instructions are executable by the receiving-end RDMA network interface card to perform: after parsing the received data packet,

determining, according to the encryption indicator identifier, whether data in the data packet is encrypted; and

in response to determining that the data in the data packet is encrypted, determining, according to the identifier for the encryption algorithm, the decryption algorithm corresponding to the encryption algorithm.

15. The storage medium of claim 11 , wherein the raw data and the encryption instruction are sent by the sending-end RDMA application program through calling an RDMA application interface.

16. The method of claim 1 , wherein the encryption algorithm comprises one of Advanced Encryption Standard, Data Encryption Standard, Digital Signature Algorithm, MD5 Message-Digest Algorithm, or Secure Hash Algorithm.

17. The method of claim 5 , wherein the RDMA application interface includes a Verbs application programming interface.

18. The system of claim 6 , wherein the encryption algorithm comprises one of Advanced Encryption Standard, Data Encryption Standard, Digital Signature Algorithm, MD5 Message-Digest Algorithm, or Secure Hash Algorithm.

19. The system of claim 10 , wherein the RDMA application interface includes a Verbs application programming interface.

20. The storage medium of claim 15 , wherein the RDMA application interface includes a Verbs application programming interface.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053796/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053702/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2020
From: LI, CHANGQING; ZOU, YINCHAO; HE, CHANGHUA; WU, PENG; KONG, JINCAN
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 053094/0410 →