千家信息网

TCP的可靠传输原理是什么

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,小编给大家分享一下TCP的可靠传输原理是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!TCP下面的IP层是尽最大努力的交付,是不可靠的,所以TCP需要靠自己去完成可靠传输。下面,我们
千家信息网最后更新 2025年12月01日TCP的可靠传输原理是什么

小编给大家分享一下TCP的可靠传输原理是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

TCP下面的IP层是尽最大努力的交付,是不可靠的,所以TCP需要靠自己去完成可靠传输。下面,我们先从简单的停止等待协议来讲解可靠传输的如何实现的。需要注意可靠传输的几个特点:不丢失、不重复、按序到达。

注意,TCP并不使用停止等待协议来实现可靠传输。

停止等待协议

传输层的数据传输单元称为段。下面,为了方便,都称为分组。

停止等待协议的原理非常简单,发送一个分组后就停止继续发送,等待收到上一个分组的确认后,再继续发送后面的分组。

下面通过几个不同情况来分析:

无差错情况

无差错情况非常简单,如下图。每发送完一个分组后,就停止发送,等待收到该分组的确认后,再继续发送后面的分组。

出现差错

出现差错分两种情况,第一种是发送的分组没有交付成功到目的地址,另一种情况是传送的数据包有差错。通过图例,我们来分析两种情况

首先来看看B的操作:A发送M1分组,该分组如果是错误的,B收到后会丢弃该数分组,然后什么也不做(不会通知A收到了错误分组)。如果B没有收到M1分组,那么它什么也不知道,也不会去做任何动作。

接下来看A是如何做的:A发完分组后,迟迟收不到B对M1分组的确认后,当等待的时间超时了,那么就需要重新发送该M1分组。要实现超时重传,就需要设置一个超时计时器,当发送的一个分组在超时时间前收到了确认,那么就重置超时计时器,否则的话就需要重传分组。

有几点是需要注意的:

  • A在发送完一个分组后,必须还要保存该分组的副本,以便超时重传。当收到这个分组的确认后,就可以丢弃该分组的副本了。

  • 需要给每一个分组做编号,这样才知道是各个分组的到达情况。

  • 超时时间应该设置的比平均传输时间稍长一些,以免引起不必要的重传。

确认丢失和确认迟到

除了分组在传送过程中会出现差错,在返回确认的时候,也会出现差错--确认丢失和确认迟到。

首先看确认丢失情况,A的分组B收到了,并给A发送了确认,但该确认丢失了,A没有收到。因为A没有收到M1的确认,那么等待超过超时后,就会向B重传M1。这个时候B收到了重复的分组M1,需要做两个操作:

  • 将重复的分组M1丢弃

  • 向A发送M1的确认。因为既然A重传了M1,就表示A没有收到M1的分组。所以B需要继续发送对M1的确认。

再来看另一种情况,对M1的分组确认迟到了(超过超时时间后才收到)。A在收到重复的确认后,会丢弃,其他什么也不做。

通过上述的超时重传机制,就可以实现在不可靠的网络传输上实现可靠的传输。

信道利用率

上述的停止等待协议简单,但它有一个非常大的缺点--信道的利用率太低。在等待收到确认的这段时间,信道是完全空闲的,十分浪费。

为了提高信道利用率,可以使用流水线传输,流水线传输可以连续发送多个分组,这样就可以大大提高信道利用率了。

采用流水线传输的协议有连续ARQ协议窗口滑动协议。而TCP就是采用滑动窗口协议来完成可靠传输的。

看完了这篇文章,相信你对TCP的可靠传输原理是什么有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

分组 传输 情况 差错 时间 信道 原理 利用率 流水 流水线 副本 数据 时候 篇文章 计时器 错误 分析 不同 最大 成功 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发技术股份比例 游戏软件开发的现状 数据库访问技术期末考 对软件开发向投诉 软件开发的记录有哪些 网络技术对人际交往的促进作用 db2查看数据库的字符集 英雄无敌数据库 幼儿园网络安全工作下一步计划 树莓派当打印机服务器 蔡徐坤软件开发 网络安全知识图画 花艺设计app软件开发 做网络安全要考哪些证 网络安全法立法过程特点是啥 数字政府网络安全风险问题 地理数据库空间云 网络安全建设与应用云展览 直播网课软件开发需求 山东鑫仟顺网络技术服务怎么样 北京冬奥会冬残奥会网络安全保障工作总结 ebsco 数据库 南沙区无源网络技术开发推荐厂家 服务器热备盘在哪里 数据库上机训练考题 大学生树立网络安全意识的建议 网络安全主题漫画小学生 计算机网络技术属于哪一类 互联网软件开发的价格 南京进口软件开发市场
0