25 udp tcp header ip-protocol
为什么UDP在标头中有长度字段而TCP没有?
我猜测TCP中的段的长度是从IP头推断的,但是对于UDP数据报应该能够做同样的事情.
jdi*_*zle 10
根据TCP/IP Illustrated第1卷,长度字段是多余的.这就是史蒂文斯在这件事上所说的.
我个人认为这是使UDP标头长度(以位为单位)可被32整除:)
从概念上讲,有一个 96 位伪标头位于已包含信息的 TCP 标头的前缀。
该来源的校验和字段描述给出了答案:
校验和:16位
校验和字段是标头和文本中所有 16 位字的补码和的 16 位补码。如果一个段包含奇数个要校验和的标头和文本八位字节,则最后一个八位字节在右侧用零填充,以形成用于校验和目的的 16 位字。pad 不作为段的一部分进行传输。在计算校验和时,校验和字段本身将被替换为零。
校验和还涵盖概念上作为 TCP 标头前缀的 96 位伪标头。该伪标头包含源地址、目标地址、协议和 TCP 长度。这为 TCP 提供了防止误路由段的保护。此信息在 Internet 协议中承载,并在 IP 上的 TCP 调用的参数或结果中通过 TCP/网络接口进行传输。
Run Code Online (Sandbox Code Playgroud)+--------+--------+--------+--------+ | Source Address | +--------+--------+--------+--------+ | Destination Address | +--------+--------+--------+--------+ | zero | PTCL | TCP Length | +--------+--------+--------+--------+
TCP 级别不需要该信息,因为 TCP 是基于流的协议。
| 归档时间: |
|
| 查看次数: |
10702 次 |
| 最近记录: |