在3-1中的UDP最长包长度问题

来源:3-1 UDP是什么

MsArcher

2018-10-24

在3-1中,UDP的长度能表示得最长是65535,包头是8字节,为什么减完之后直接就变成了65507字节

写回答

3回答

Qiujuer

2018-10-24

看这里哈,因为当时提交的时候PPT冲突了,然后更改的时候一不注意手滑就搞错了,讲课的时候也没反应过来。抱歉了。

我今天又核对了一下我的备课文档,结局并没有问题,其实是因为少减了一个值,ip的头20字节。


UDP 的最大包长度是2^16-1的个字节。

由于UDP包头占8个字节,而在IP层进行封装后的IP包头占去20字节。

所以这个是UDP数据包的最大理论长度是2^16 - 1 - 8 - 20 = 65507字节。

3
7
Mr_Rihan
回复
xxxxjase普通
我来回答你吧,因为IP数据包有大小限制,也是65535个字节。因为IP包头要占20字节,所以IP包的有效载荷最大只能是65535-20=65515。这个IP最大有效载荷其实就是一个完整的UDP包(UDP头部+UDP有效载荷),而UDP包头为8字节,所以UDP最大有效载荷为65515-8=65507。这儿的65535是指IP包的最大长度,并不是所谓的UDP包最大长度。
2021-06-29
共7条回复

慕仔6584650

2019-10-22

我看了也是很疑惑,百度查了之后发现还要减ip的头部20个字节,没想到老师已经解答了,感谢

0
0

催夜凉风

2019-02-12

请问一下,TCP最长包的长度是多少?

0
3
Qiujuer
回复
催夜凉风
不客气
2019-02-13
共3条回复

Socket网络编程进阶与实战 系统掌握Socket核心技术

理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选

2314 学习 · 476 问题

查看课程