‘壹’ UDP数据包允许的最大数据长度是多少
首先,我们知道,tcp/ip通常被认为是一个四层协议系统,包括链路层,网络层,运输层,应用层.
udp属于运输层,下面我们由下至上一步一步来看:
以太网(ethernet)数据帧的长度必须在46-1500字节之间,这是由以太网的物理特性决定的.
这个1500字节被称为链路层的mtu(最大传输单元).但这并不是指链路层的长度被限制在1500字节,其实这这个mtu指的是链路层的数据区.
并不包括链路层的首部和尾部的18个字节.
所以,事实上,这个1500字节就是网络层ip数据报的长度限制.
因为ip数据报的首部为20字节,所以ip数据报的数据区长度最大为1480字节.
而这个1480字节就是用来放tcp传来的tcp报文段或udp传来的udp数据报的.又因为udp数据报的首部8字节,所以udp数据报的数据区最大长度为1472字节.
这个1472字节就是我们可以使用的字节数。:)
‘贰’ ipv4协议规定的包最大长度为多少kb字节
ipv4协议规定数据包的最大长度稿纳蚂是2^16(65535)字茄宏节,换算成kb的话是64k字节。
请采键埋纳,谢谢。
‘叁’ 无线网络中允许的最大数据包可以达到64KB吗,要做仿真,不知道无线网络中的最大数据包可以设多大
这个东西得要看协议啊!无论有没有线,原理都是一致的,无线以太网还是以太网啊!
以太网里,单个数据包含有数据, 是46--1500字节(不包括18字节长的以太网地址和尾部),
TCP里IP包的首部要占用20字节,所以最大的数据包是1500-20字节
对于UDP包的首部要占用8字节 最大是1500-8
但在网络编程中,Internet中的路由器可能有设置成不同的值(小于默认值),Internet上的标准MTU值为576,所以Internet的UDP编程时数据长度最好在576-20-8=548字节以内。
不过如果你是应用层的开发,那就不需要管了,直接用TCP,TCP协议本身会进行拥塞/流量控制,只需讲SOCKET看作一条数据流的入口,往里面放数据就是了。
你这个64K,是这样来的:IP包头中用2个字节描述报文长度,2个字节所能表达的最大数字就是65535,就是64K,这个是网络层以上人士编程用的,如果要开发底层设备,按这个标准,不能用于以太网,也就是不适合无线网络的底层。但高层是没问题的。你这个仿真,我还是不清楚在哪层,自己看着办吧。
‘肆’ 在互联网中1个数据包到底是几个字节啊
和应用有关,没有确定的数,只有最大限制值
‘伍’ 为什么IP数据报的最大长度可达65535个字节
因为IP数据报报文总长度字段为16位,因此数据报的最大长度为2^16-1=65535字节。
这个和IP数据报的格式有关,IP数据报中有一个16位的字段表示IP数据报的长度,这个16位是二进制表示的,每一位中可以为0或者1,那最大可表示的数据报的长度就是16个1,也就是1111 1111 1111 1111表示IP数据报的长度,这16位二进制数转换成十进制就是65535。
(5)数据包长度最多是多少字节扩展阅读
IP数据报的构成:
1、固定部分
版本占4位、首部长度占4位、区分服务占8位、总长度、标识(identification)占16位、标志(flag)占3位、片偏移占13位、生存时间占8位、协议占8位、首部检验和占16位、源地址占32位和目的地址占32位。
2、可变部分
可变部分
IP首部的可变部分就是一个可选字段。选项字段用来支持排错、测量以及安全等措施,内容很丰富。此字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。某些选项项目只需要1个字节,它只包括1个字节的选项代码。
‘陆’ IP数据报的最大长度为65535个字节 这个是怎么算的,还有那个16bit的问题,我都不太明白啊
2的16次方减1,即1111111111111111(16位都是1,换算成10进制就是65535),再加1就是10000000000000000(17bit了)。
如2bit最大就是2的平方减一,即11(10进制的3)最大,因为4是100就是3bit了。