Skip to content
Wireshark Wiki 中文翻译整理专题首页原始页面

远程直接内存访问协议(iWARP-RDMAP)

RDMAP 运行在 iWARP-DDP 之上。RDMAP 直接向应用程序提供读写服务,并支持将数据直接传输到上层协议(ULP)缓冲区,而无需中间数据复制。它还支持一种绕过内核的实现方式。

历史

该协议于 2007 年 10 月在 RFC 5040 中定义。

协议依赖

  • iWARP-DDP:这是 RDMAP 被设计为在其上运行的底层协议。

示例流量

{{{Frame 42 (1110 bytes on wire, 1110 bytes captured)

Arrival Time: Mar 27, 2008 17:31:45.022540000 [Time delta from previous captured frame: 0.000040000 seconds] [Time delta from previous displayed frame: 0.000040000 seconds] [Time since reference or first frame: 0.001439000 seconds] Frame Number: 42 Frame Length: 1110 bytes Capture Length: 1110 bytes [Frame is marked: False] [Protocols in frame: eth:ip:tcp:iwarp_mpa:iwarp_ddp_rdmap:data] [Coloring Rule Name: TCP] [Coloring Rule String: tcp]

Ethernet II, Src: Ibm_8d:3c:cd (00:11:25:8d:3c:cd), Dst: Ibm_8d:3b:73 (00:11:25:8d:3b:73)

Destination: Ibm_8d:3b:73 (00:11:25:8d:3b:73) Source: Ibm_8d:3c:cd (00:11:25:8d:3c:cd) Type: IP (0x0800)

Internet Protocol, Src: 10.0.0.19 (10.0.0.19), Dst: 10.0.0.18 (10.0.0.18)

Version: 4 Header length: 20 bytes Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00) Total Length: 1096 Identification: 0x3077 (12407) Flags: 0x04 (Don't Fragment) Fragment offset: 0 Time to live: 64 Protocol: TCP (0x06) Header checksum: 0xf214 [correct] Source: 10.0.0.19 (10.0.0.19) Destination: 10.0.0.18 (10.0.0.18)

Transmission Control Protocol, Src Port: 34185 (34185), Dst Port: 4210 (4210), Seq: 68, Ack: 21001, Len: 1044

Source port: 34185 (34185) Destination port: 4210 (4210) Sequence number: 68 (relative sequence number) [Next sequence number: 1112 (relative sequence number)] Acknowledgement number: 21001 (relative ack number) Header length: 32 bytes Flags: 0x18 (PSH, ACK) Window size: 50048 (scaled) Checksum: 0xf4cd [correct] Options: (12 bytes) [SEQ/ACK analysis]

iWARP Marker Protocol data unit Aligned framing iWARP Direct Data Placement and Remote Direct Memory Access Protocol

DDP header RDMAP header

  • RDMAP control field

  • 01.. .... = Version: 1

  • .00 .... = Reserved: 0x00

  • ... 0010 = OpCode: Read Response (0x02)

Data (1024 bytes)

0000 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................ 0010 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................ <snip> ... <\snip> 03d0 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................ 03e0 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................ 03f0 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 ................

Data: 020202020202020202020202020202020202020202020202...

}}}

Wireshark

iWARP-RDMAP dissector 功能完整。由于 iWARP-RDMAP 和 iWARP-DDP 的头部存在重叠,并且在实践中几乎不会看到没有 RDMAP 运行在其上的 iWARP-DDP,因此我们构建了一个组合 dissector,将这两个协议一起实现为 iwarp_ddp_rdmap。我们在最近一次 Sharkfest 上与 Guy Harris 讨论过这一点。

首选项设置

没有首选项设置。

示例捕获文件

  • SampleCaptures/iwarp_send_recv.tar.gz

  • SampleCaptures/iwarp_rdma.tar.gz

显示过滤器

可在显示过滤器参考中找到完整的 iWARP-RDMAP 显示过滤器字段列表

仅显示基于 iWARP-RDMAP 的流量:

 iwarp_ddp_rdmap

捕获过滤器

捕获时无法直接过滤 iWARP-RDMAP 协议。不过,如果你知道所使用的 TCP 端口(见上文),可以基于该端口进行过滤。

外部链接

  • RFC 5040A Remote Direct Memory Access Protocol Specification

讨论

Imported from https://wiki.wireshark.org/iWARP-RDMAP on 2020-08-11 23:15:35 UTC

相关 Wireshark Wiki 页面

网络分析技术档案