【发布时间】:2023-01-29 00:25:11
【问题描述】:
我正在阅读这个主题,我刚刚发现 IP 标头,甚至 TCP 标头,可以是可变长度的。
我认为路由器将使用已知长度,分成已知格式的段,来做他们做的任何事情。那么,如果标头的长度是可变的,您怎么知道哪些位段意味着什么?
【问题讨论】:
我正在阅读这个主题,我刚刚发现 IP 标头,甚至 TCP 标头,可以是可变长度的。
我认为路由器将使用已知长度,分成已知格式的段,来做他们做的任何事情。那么,如果标头的长度是可变的,您怎么知道哪些位段意味着什么?
【问题讨论】:
我的理解是,标头末尾的选项字段确定标头的总长度(如果长度字段值 > 5,则存在)。长度字段的最小值为 5(不存在选项),最大值为 15。这表示标头长度从 20 字节(5 × 32 位)到 60 字节(15 × 32 位)。由于除了 Options 字段之外的所有其他字段都具有固定长度,因此很明显标头结束的位置以及给定字段应该位于的位置。 Option字段本身还包含一个Option length字段,用于确定Option数据的长度。
【讨论】: