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

2021-10-28 23:39:31 +08:00
 amiwrong123

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

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

我蒙了,求指点

1354 次点击
所在节点    程序员
3 条回复
ch2
2021-10-28 23:45:49 +08:00
源端口、目的端口、报文长度、校验和,各 2 字节
39-2*4=31
amiwrong123
2021-10-28 23:48:06 +08:00
@ch2 #1
哈哈,好吧。我的错,可以删帖嘛
cz5424
2021-10-28 23:48:20 +08:00
39 - the UDP header (8 bytes)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/811378

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX