为什么UDP和IP这类协议要对报文长度进行限制?
Posted 白杨783
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么UDP和IP这类协议要对报文长度进行限制?相关的知识,希望对你有一定的参考价值。
不知道大家在学完UDP,TCP,IP协议后,有没有这样的问题:为什么UDP/IP的报头中专门有一部分对它的报文长度进行限制呢?这样不是费力不讨好吗?为什么不和TCP一样不对报文长度作出要求,想传多少就传多少不更好嘛
这个其实和可靠性和稳定性是分不开的.
UDP是无连接,不可靠的协议,它不提供可靠性和稳定性的保证,如果数据报过大,它可能会被分成多个数据报进行传输,这样会增大数据传输的延时和传输出错的风险.因此,UDP对数据报的长度进行限制可以减少数据分片的次数,提高网络传输的效率,同时传输过程中也不容易出错,某种程度上提高了数据包传输的可靠性和稳定性
IP是internet协议,它负责将数据包从源地址传输到目的地址,如果数据报过大,可能会被分成多个数据包进行传输,这样同样会增加数据包传输的延时和传输出错的风险.因此IP协议对数据报的长度进行限制可以减少数据分片的次数,提高数据包传输的可靠性和稳定性
TCP和UDP/IP不同,TCP是一种有连接且可靠的协议,它提供了可靠性和稳定性的保证.因此TCP并不需要对数据报的长度进行限制.但事实上,TCP在通信过程中,数据报过大可能会导致网络拥塞和传输延时,因此,通常会将数据分成适当大小的数据包进行传输,这也是TCP为什么会有流量控制,拥塞控制这些机制的原因
UDP的协议格式及特性
UDP
目录
一.协议格式
源端端口/对端端口: 这里是用来描述和识别通讯两端进程的
总长度: UDP报文的总大小最大是64k,不能超过,用来描述发送字节的长度
校验和: 利用二进制反码求和运算来证明发送数据的准确性,确定发送数据的一致性
数据区: 就是我们内部要发送的数据
二.UDP协议特性
1.无连接
在通讯的时候,并不需要像tcp一样建立之间的连接,而是直接获取到对应的地址就可以进行发送数据.
2.不可靠
因为udp在发送数据的时候,每个包之间的传送没有进行序号的处理,所以到达包有可能和原来的数据顺序是不一样的而且包还有可能会丢失,才不可靠.
3.面向数据报
无连接的,不可靠的,无序的,有最大长度限制的传输方式
三.影响
1.不保证会安全到达
2.不保证有序到达
3.UDP报文有最大长度限制
4.UDP实现是整条交付的:接收方的缓冲区必须足够大才可以进行一次取出数据.
以上是关于为什么UDP和IP这类协议要对报文长度进行限制?的主要内容,如果未能解决你的问题,请参考以下文章