如何确定sctp包中的块数



SCTP协议具有以下格式的包:-源端口号-目标端口号-验证标签-校验和-N块

我正在尝试编写协议的低级别解析器,但我不知道如何确定SCTP包中的块数。谢谢

您需要解析区块头。每个字段在8位类型&8位标志字段。请记住,SCTP中的所有数值都是按网络字节顺序(big-endian)排列的。

区块字段记录在RFC 4960第3.2节:中

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|   Chunk Type  | Chunk  Flags  |        Chunk Length           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                                               
/                          Chunk Value                          /
                                                               
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

块开始于SCTP公共头字段描述之后。

通过读取Chunk Length字段,您可以跳过它的有效负载并找到下一个Chunk的开始。重复执行此操作,直到到达IP数据包的末尾。

块的长度包括构成类型的四个字节、标志&长度字段。

相关内容

  • 没有找到相关文章

最新更新