我如何阅读这个网络"框架"图?

时间:2016-01-07 06:45:33

标签: websocket packet packets

很多时候,例如在描述WebSocket图here的网站上,我看到"框架"图表(至少我认为它们被称为),如下所示:

0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-------+-+-------------+-------------------------------+
 |F|R|R|R| opcode|M| Payload len |    Extended payload length    |
 |I|S|S|S|  (4)  |A|     (7)     |             (16/63)           |
 |N|V|V|V|       |S|             |   (if payload len==126/127)   |
 | |1|2|3|       |K|             |                               |
 +-+-+-+-+-------+-+-------------+ - - - - - - - - - - - - - - - +
 |     Extended payload length continued, if payload len == 127  |
 + - - - - - - - - - - - - - - - +-------------------------------+
 |                               |Masking-key, if MASK set to 1  |
 +-------------------------------+-------------------------------+
 | Masking-key (continued)       |          Payload Data         |
 +-------------------------------- - - - - - - - - - - - - - - - +
 :                     Payload Data continued ...                :
 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
 |                     Payload Data continued ...                |
 +---------------------------------------------------------------+

有人可以向我解释如何阅读这样的图表吗?我解释它的方式是顶部的0 1 2 3将是到达数据包的字节,而0-9重复将是各个位。然而,由于一个字节中只有8位,所以这没有意义。

更多:

  • 什么是fin rsv opcodemask

  • <{1}}究竟是什么?

  • 整个帧是一个数据包,还是数据包中有多个帧?

1 个答案:

答案 0 :(得分:1)

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

装置

|    1st byte     |    2nd byte     |    3rd byte     |    4th byte     |
+-----------------+-----------------+-----------------+-----------------+
| 0 0 0 0 0 0 0 0 | 0 0 1 1 1 1 1 1 | 1 1 1 1 2 2 2 2 | 2 2 2 2 2 2 3 3 |
| 0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 | 4 5 6 7 8 9 0 1 |

即表格为32位(= 4字节)宽。

有关finrsvopcodemask的说明紧接在您从RFC 6455摘录的表格之后。

Payload Data是一个字节数组。它是特定于应用程序的数据。

该表格代表一个 框架 的结构。 消息 由一帧或多帧组成。