N
NeutronDelphi
Unregistered / Unconfirmed
GUEST, unregistred user!
UDP TCP都属于 IP协议家族,也就是说,定址方式都是IP地址加上端口,发送的都是IP包,
每个IP包的最大值是64K,但是,每种网络类型都有自己不同的MTU(最大传输单元),如果你的IP包超过这个MTU将会自动分隔成为小片,最后,又自动组合,如果传输过程中,有一个小片丢失,则全部丢失。
答案就是:
UDP的包的最佳大小:MTU-IP包的协议头-UDP协议头
TCP的包的最佳大小:MTU-IP包的协议头-TCP协议头
IP包协议头是:20个字节(一般情况下,不会有32位可选头部,下同 )
UDP协议头是:8 字节
TCP协议头是:20字节
那么MTU是多少呢,嘿嘿,这个碍于其他方面原因,我就不说了。
帮助你的,只有这些了,相信你很快就可以得到答案,
以上经验来自《TCP/IP 详解》我认为是权威的。
再提示一下,PING虽然属于ICMP协议,其实发送的还是IP包的,PING最大发送是将近64K
的,证明了上面的64K可信度。(MTU会远远小于64K)
在局域网,你发63K的包,还是很稳定的。超过这个64K,肯定是失败的。
每个IP包的最大值是64K,但是,每种网络类型都有自己不同的MTU(最大传输单元),如果你的IP包超过这个MTU将会自动分隔成为小片,最后,又自动组合,如果传输过程中,有一个小片丢失,则全部丢失。
答案就是:
UDP的包的最佳大小:MTU-IP包的协议头-UDP协议头
TCP的包的最佳大小:MTU-IP包的协议头-TCP协议头
IP包协议头是:20个字节(一般情况下,不会有32位可选头部,下同 )
UDP协议头是:8 字节
TCP协议头是:20字节
那么MTU是多少呢,嘿嘿,这个碍于其他方面原因,我就不说了。
帮助你的,只有这些了,相信你很快就可以得到答案,
以上经验来自《TCP/IP 详解》我认为是权威的。
再提示一下,PING虽然属于ICMP协议,其实发送的还是IP包的,PING最大发送是将近64K
的,证明了上面的64K可信度。(MTU会远远小于64K)
在局域网,你发63K的包,还是很稳定的。超过这个64K,肯定是失败的。