不知道大家在学完UDP,TCP,IP协议后,有没有这样的问题:为什么UDP/IP的报头中专门有一部分对它的报文长度进行限制呢?这样不是费力不讨好吗?为什么不和TCP一样不对报文长度作出要求,想传多少就传多少不更好嘛
这个其实和可靠性和稳定性是分不开的.
UDP是无连接,不可靠的协议,它不提供可靠性和稳定性的保证,如果数据报过大,它可能会被分成多个数据报进行传输,这样会增大数据传输的延时和传输出错的风险.因此,UDP对数据报的长度进行限制可以减少数据分片的次数,提高网络传输的效率,同时传输过程中也不容易出错,某种程度上提高了数据包传输的可靠性和稳定性
IP是internet协议,它负责将数据包从源地址传输到目的地址,如果数据报过大,可能会被分成多个数据包进行传输,这样同样会增加数据包传输的延时和传输出错的风险.因此IP协议对数据报的长度进行限制可以减少数据分片的次数,提高数据包传输的可靠性和稳定性
TCP和UDP/IP不同,TCP是一种有连接且可靠的协议,它提供了可靠性和稳定性的保证.因此TCP并不需要对数据报的长度进行限制.但事实上,TCP在通信过程中,数据报过大可能会导致网络拥塞和传输延时,因此,通常会将数据分成适当大小的数据包进行传输,这也是TCP为什么会有流量控制,拥塞控制这些机制的原因