iWARP
iWARP 簡單來說,就是 RFC 定義的 RDMA 技術。
- RFC 5042 Direct Data Placement Protocol (DDP) / Remote Direct Memory Access Protocol (RDMAP) Security
RFC 中定義的 RDMA 具有以下幾種操作動作:
- Send
將訊息(Messenge)送至接收方尚未聲明(Advertisment)的緩衝區(buffer)內。與 RDMA Write 不同的地方在於對方的緩衝區有沒有被聲明
- Send with Invalidate
將訊息送至接收方尚未聲明的緩衝區,接收方收到訊息後這段緩衝區無法被傳送方存取,直到接收方重新開放存取並聲明這塊緩衝區。
- Send with Solicited Events
- Send with Solicited Events and Invalidate
照字面上的意思,就是除了發 Invalidate,還會發 Solicited Events。
- RDMA Write
接收方會先聲明一塊緩衝區,然後傳送方在訊息上加上 sTag,把訊息傳送到被聲明的緩衝區裡。
- RDMA Read
要讀取方會先聲明一塊緩衝區,然後通知對方要讀取,對方會在讀取的內容上加上 sTag 傳送過來這塊緩衝區。
- Terminate
這邊提到的對緩衝區做的任何動作,像是聲明緩衝區、對緩衝區貼上 sTag,
這些都不是 RDMA 能辦到的事,而是它底層的 DDP 負責的事。
但光是 RDMA + DDP 仍然不夠,因為並沒有傳輸功能,
所以還要依靠再下層的傳輸協定。
也就是說,如果下層的傳輸協定是可信賴的(reliable ),
那這個 RDMA 就是可信賴的,反之亦然。
所以 RFC 又針對 RDMA + DDP 定義了可信賴連線,
就是上圖的 Stack 了!