V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
amiwrong123
V2EX  ›  程序员

为什么 TCP 的 payload 是通过 IP 的总长度-IP 的头部长度-TCP 的头部长度 得到? UDP 却不是?

  •  
  •   amiwrong123 · 2021-10-28 23:39:31 +08:00 · 1354 次点击
    这是一个创建于 1123 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如上图所示,TCP 的 payload 是通过 IP 的总长度-IP 的头部长度-TCP 的头部长度 得到的 1452 - 20 - 20 = 1412.所以这个 1412 也是通过这三个值才计算出来的,不是原本就存在的。

    如上图所示,UDP 我用同样的方式,却算不出来。 59-20-39=0.那 UDP payload 的那个 31 是怎么算出来的呢

    我蒙了,求指点

    3 条回复    2021-10-28 23:48:20 +08:00
    ch2
        1
    ch2  
       2021-10-28 23:45:49 +08:00   ❤️ 1
    源端口、目的端口、报文长度、校验和,各 2 字节
    39-2*4=31
    amiwrong123
        2
    amiwrong123  
    OP
       2021-10-28 23:48:06 +08:00
    @ch2 #1
    哈哈,好吧。我的错,可以删帖嘛
    cz5424
        3
    cz5424  
       2021-10-28 23:48:20 +08:00   ❤️ 1
    39 - the UDP header (8 bytes)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4469 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:32 · PVG 13:32 · LAX 21:32 · JFK 00:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.