社区
网络编程
帖子详情
请问使用udp协议,一次最大可以发送多少字节?有没有限制?
Ailong
2003-08-25 03:06:06
谢谢!
...全文
1256
5
打赏
收藏
请问使用udp协议,一次最大可以发送多少字节?有没有限制?
谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cboy2wzhx
2003-08-26
打赏
举报
回复
不是只能,包越大丢包的可能性越大,168b是TCP/IP书上的建议值,512b是公司前辈的建议值
Ailong
2003-08-26
打赏
举报
回复
谢谢三位的回答,按照 cboy2wzhx(不懂就要问,知道了就告诉别人)兄的说法就是,WIN32下的程序在internet上面,用udp只能发送1k以内的包比较保险了?超过了就要用TCP是吗?
cboy2wzhx
2003-08-25
打赏
举报
回复
TO: gzshd(郁闷)
事实上媒体数据(大数据)都是用UDP哦,典型的就是RTP
而且UDP包理论上是没有限制的,windows下用int来表示长度,所以有限制,但unix下用的是size_t
据我所知,局域网内不超过8192b一般不会丢包,跨网一般不要超过512b,TCP/IP建议是不超过168b
以上是我所了解的,欢迎指正
zhouyong0371
2003-08-25
打赏
举报
回复
感觉我们用socket来发送,操作系统会将数据自动封包,然后发出。
gzshd
2003-08-25
打赏
举报
回复
有限制,整个包的长度不超过65535字节,而实际用户数据最大只能有65507个字节,不过一般大数据都用TCP来发,即使用UDP,一般习惯上都把发的字符数组字义在4096以下。
UDP
协议
一次
发送
的
最大
数据量
一、从MTU角度看 在进行
UDP
编程的时候,我们最容易想到的问题就是,
一次
发送
多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的。 首先,我们知道,TCP/IP通常被认为是一个四层
协议
系统,包括链路层,网络层,运输层,应用层.
UDP
属于运输层,下面我们由下至上一步一步来看: 以太网(Ethernet)数据帧的长度必须在46-1500
字节
之间,这是由以太网的物理特性决定的.这个1500
字节
被称为链路层的MTU(
最大
传输单元).但这并不是指
UDP
协议
一次
发送
的
最大
数据量分析
一、从MTU角度看 在进行
UDP
编程的时候,我们最容易想到的问题就是,
一次
发送
多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的。 首先,我们知道,TCP/IP通常被认为是一个四层
协议
系统,包括链路层,网络层,运输层,应用层.
UDP
属于运输层,下面我们由下至上一步一步来看: 以太网(Ethernet)数据帧的长度必须
UDP
报文
最大
可以是多大呢
用
UDP
协议
发送
时,用sendto函数
最大
能
发送
数据的长度为:65535- IP头(20) -
UDP
头(8)=65507
字节
。用sendto函数
发送
数据时,如果
发送
数据长度大于该值,则函数会返回错误。 由于IP有
最大
MTU,因此,
UDP
包的大小应该是 1500 - IP头(20) -
UDP
头(8) = 1472(Bytes) TCP 包的大小应该是 1500 - IP头(20) - TCP头(20) = 1460 (Bytes) ...
udp
一次
发送
多少
字节
合适呢,1472 ? 548 ?
在进行
UDP
编程的时候,我们最容易想到的问题就是,
一次
发送
多少bytes好? 当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,我这里仅对 像ICQ一类的
发送
聊天消息的情况作分析,对于其他情况,你或许也能得到一点帮助: 首先,我们知道,TCP/IP通常被认为是一个四层
协议
系统,包括链路层,网络层,运输层,应用层.
UDP
属于运输层
udp
包为什么最好不要大于1472
字节
但这并不是指链路层的长度被
限制
在1500
字节
,其实这个MTU指的是链路层的数据区.并不包括链路层的首部和尾部的18个
字节
。因为IP数据报的首部为20
字节
,所以IP数据报的数据区长度
最大
为1480
字节
。而这个1480
字节
就是用来放TCP传来的TCP报文段或
UDP
传来的
UDP
数据报的。又因为
UDP
数据报的首部8
字节
,所以
UDP
数据报的数据区
最大
长度为1472
字节
.这个1472
字节
就是我们可以
使用
的
字节
数。(Ethernet)数据帧的长度必须在46-1500
字节
之间,这是由以太网的物理特性决定的。
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章