为什么有人说要由TCP协议负责数据传输的可靠性?

小爱小爱笑


“我是哟哟吼说科技,专注于数据网络的回答,欢迎大家与我交流数据网络的问题”

TCP(Transmission Control Protocol,传输控制协议)是一个面向连接的、可靠的传输层协议。

如题,为什么要由TCP协议负责数据传输的可靠性?

哟哟认为归结一句话就是:网络层没有办法负责数据传输的可靠性。

在通信网络里,有些数据存在一些丢包是可以接收的,不会影响使用。而有些数据是不能有任何数据的丢失的。谁都想数据可以快速而安全的传送至目的端,但数据传输的可靠性跟实时性在一定程度上是一对矛盾体

传输层,常用的协议就是TCP和UDP

1、UDP协议是面向无连接的,不可靠的协议,可以保证传输的速率,但无法保证传输的安全性;

2、TCP协议是面向连接的,可靠的协议,可以保证的数据传输的安全性,但在速率上相对较慢。

下面哟哟简单说明一下为什么要由TCP协议负责数据传输的可靠性:

网络层无法去应对数据传输单元的重复缺失和乱序问题。大家都清楚,网络层传输的对象是分组,但一个应用层的数据可能会被分成多个分组来进行传输,假设网络层可以保证每个分组数据的可靠性,但是无法保证多个数据包正确组合的可靠性若分组出现乱序或者丢包现象,那么网络层就无法保证整个数据的完整性了。若非要将保证数据传输可靠性的重担交给网络层,那么就会增加传输时延,更加不利于快速寻找目标主机即转发。


因此哟哟认为每层做好本层的本职工作,对于网络层还是尽可能的把数据包按照下一跳地址转发出去才好。

欢迎大家多多关注我,在下方评论区说出自己的见解。


分享到:


相關文章: