摘要
- TPKT 在 TPDU 前放置版本、保留字段和总长度共四个字节,使接收端能够从 TCP 流中取出恰好一个离散传输对象。
- 这只是分帧;它不证明对端身份、内容完整性、端口归属、应用授权或业务完成。
RFC 793 把 TCP 描述为双向连续字节流。网络上的 TCP 段是传输实现细节,不是交给应用的报文标点。因此,收到了多少字节要由缓冲和时机决定,不能推断出发送方的写入次数。
1987 年的 RFC 1006 为 ISO Transport Class 0 over TCP 提供了一个小而明确的补层。TPKT 是变长对象,由固定包头和 TPDU 构成。包头的第一个字节为版本,第二个为保留字段,后两个字节为包总长度。版本 3 的版本值恒为 3;长度含包头,范围为 7 至 65,535 字节。
接收端的工作因而可以被审计:先积累四字节,再按声明长度继续积累,得到完整 TPKT 后才把 TPDU 交给 ISO 传输处理。一个 TPKT 可以跨越多次读取,多个 TPKT 也可以一次到达。RFC 中四字节宽的图只是一种排版,不表示整个包必须是四的倍数;真正的规则是长度字段。
RFC 1006 是 STD 35,取代 RFC 983,并为实现此标准的主机保留 TCP 102 端口。它的目标是通过 TCP/IP 提供 ISO 传输服务,使上层 ISO 实体无须知道底层承载者。这里的“无须知道”是服务接口上的抽象,并非在 TCP 下方重新造出 ISO 网络层。端口号不是运营者身份证明;正确的长度也不是安全凭证。
1997 年的 RFC 2126 更新这一映射,保留了 TPKT 的版本/保留/总长度形式,为原有 RFC 1006 基础细化 class 0,并加入 class 2 over TCP。它同时划出安全边界:协议不比 TCP 和 ISO 8073 更安全,也不更不安全。一个被完整界定的 TPDU 仍只是传输协议对象,不能被偷换成“订单已执行”或“用户已认证”。
所以应将 TCP 连接、缓冲字节、TPKT 头、声明长度、TPDU 解析和应用效果分别记录。四个字节的历史价值,正在于它让边界可见,却没有虚构其他边界。
来源与证据边界
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
