摘要
- Data Offset 按 32 位字计算整个 TCP 首部,并指出数据开始的位置。
- EOL 结束选项解析,但其后的填充仍属于首部。
- NOP 可以帮助对齐,却不构成发送方必须遵守的对齐承诺。
TCP 基础首部长五个 32 位字,即二十个字节。选项会使首部变长,因此接收方不能只依赖自己是否理解某个选项。四位的 Data Offset 表示完整首部包含多少个 32 位字;该数乘以四,就是数据开始的字节位置。值为五表示基础首部,更大的值还包括选项和必要的填充。四位字段直接描述的上限是十五个字,即六十个字节。
当 Data Offset 大于五时,RFC 9293 将选项区域表示为 (DOffset-5)*32 位;这个总量也包括实际选项之后的填充。
EOL 表示选项列表结束,但不一定到达 Data Offset 指定的首部末端。剩余字节必须是零首部填充。NOP 只有一个字节,可以用于排列后续选项;不过选项可以从任意字节边界开始。其他选项带有长度字段,所以接收方能够越过格式正确但不认识的选项。
Data Offset 是解析范围的外部上限。选项和填充都参与 TCP 校验和,但它们不是应用数据。非法长度必须被处理;RFC 9293 提到重置连接并记录原因这一建议做法,同时没有规定唯一的具体响应。
来源
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
