TCP是如何实现可靠传输的?

网上科普有关“TCP是如何实现可靠传输的?”话题很是火热,小编也是针对TCP是如何实现可靠传输的?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够...

网上科普有关“TCP是如何实现可靠传输的?”话题很是火热,小编也是针对TCP是如何实现可靠传输的?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

在计算机网络的经典五层协议中,TCP属于运输层,实现了进程间的通信,保证了数据的可靠传输,属于计算机网络协议族中最重要的协议之一,那么TCP是如何实现可靠数据传输的呢?

运输层的进程间通信是通过socket实现的,socket是一个抽象的概念,在Linux系统中以文件的形式存在。网络层通过IP来区分主机,运输层则增加了端口的概念来区分进程。TCP协议中使用目标IP、目标端口、源IP、源端口来定义一个socket,只需要在运输层的报文头部附加上这些信息,目标主机就会知道数据要发送那个socket,对应监听该socket的进程就可以收到数据进行处理。

TCP报文包括首部和数据部分,首部附加了TCP报文的信息,首部长度固定部分为20字节,还有40字节的可选部分,具体如下图所示:

其中几个关键字段的作用如下:

网络层只管尽可能将数据从一个主机发送到另一个主机,并不保证数据可靠到达,由于网络环境总是不稳定的,可能存在丢包、差错等请求,TCP则通过一系列的机制在运输层保证了数据的可靠传输。

网络传输可能发生的异常情况和解决方法:

要实现可靠传输,最简单的方法就是发送方发送一个报文,接收方收到报文后发送确认报文表示我收到了,你可以发下一个了,传输模型如下:

这种方式保证可靠传输称为停止等待协议,这种方式缺点也很明显,效率非常低。

为了提高传输效率,充分利用带宽,发送方会连续的发送数据包,如下图所示:

客户端不等收到前一个包的确认报文就开始不断的发下一个包,这样可以充分利用网络带宽,提高传输效率,但是于此同时也带来了另外的问题,那么TCP是如何解决这些问题的?

累计确认 :网络中充斥着大量的发送包和确认回复报文,这些数据只是为了确认报文到达,并不是实际需要传输的数据。是不是一定要每一个报文都要发一个回复确认的报文呢,TCP采用了累计确认的方法:接收方在累计收到了一定量的数据包后发送一个确认报文告诉发送方在此之前的数据包都已经收到了,这样便可以减少确认报文的数量,提高带宽利用率。

GBN(回退n步) :如果发生丢包的情况,在连续ARQ中,如果接受方收到了123 567个字节,编号为4字节的包丢失了,按照累计确认只能发送3的确认回复,567都要丢掉,因为发送发会进行重传。

选择确认ACK :在TCP报文头部的选项字段部分设置已收到的报文,每一段用两个边界来确定,比如上述情况可以用[1,3]和[5,7]来表示,客户端就会根据选项只重传丢失的数据段。

因为接收方读数据的能力有限,发送发不能一直发送报文直到把缓冲区所有数据发送完,这样会导致接收方无法接收丢弃掉数据包,发送方收不到确认认为超时又会继续重传,产生了大量无用数据的重传。对此情况TCP使用滑动窗口来解决,基本模型如下:

滑动窗口机制实现了TCP的 流量控制 ,不至于发送太快导致太多的数据丢弃和重传。

为了避免网络过分拥挤导致丢包严重,传输效率低,TCP实现了拥塞控制机制,拥塞控制的解决办法本质上是流量控制,控制发送方发送的速度,而上文提到流量控制是通过滑动窗口来实现的,所以最终也是通过调整发送方的滑动窗口大小来实现的。

拥塞控制的几个重要的概念:慢启动、拥塞避免、快恢复、快重传

Reno算法是比较常见的TCP实现的拥塞控制算法,其他拥塞算法还有Tahoe(已废弃不用)、New Reno等,通过拥塞控制算法可以很大程度避免网络拥挤。

书籍计算机网络:自顶向下方法

码农有道 这一篇TCP总结请收下

关于“TCP是如何实现可靠传输的?”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

本文来自作者[何龙]投稿,不代表长隆号立场,如若转载,请注明出处:https://clcgzw.com/cshi/202502-1691.html

(284)

文章推荐

  • 幼儿园中班防溺水教案

    网上科普有关“幼儿园中班防溺水教案”话题很是火热,小编也是针对幼儿园中班防溺水教案寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。作为一名优秀的教育工作者,总归要编写教案,教案有助于学生理解并掌握系统的知识。我们该怎么去写教案呢?下面是我为大家整理的幼儿园中

    2024年12月15日
    12
  • 十字路口优先通行原则

    网上科普有关“十字路口优先通行原则”话题很是火热,小编也是针对十字路口优先通行原则寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。十字路口优先通行原则:1、相对方向的车辆,转弯车辆礼让直行车辆。绿灯时,相对方向车辆是转弯让直行。没有红绿灯时,相对方向车辆也是转

    2025年02月18日
    274
  • 石川河在哪里-起源在哪-

    网上科普有关“石川河在哪里?起源在哪?”话题很是火热,小编也是针对石川河在哪里?起源在哪?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。石川河,黄河支流渭河支流,发源于陕西省铜川市焦坪北山和耀县(铜川市耀州区)瑶曲镇的北山,自西北向东南走向,流经铜川市王益区

    2025年02月19日
    367
  • 物生政女生适合学哪些专业

    网上科普有关“物生政女生适合学哪些专业”话题很是火热,小编也是针对物生政女生适合学哪些专业寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。物生政女生适合学哪些专业如下:1、生物技术与生命科学类专业生物技术和生命科学类的专业包括生物信息学、生物工程、生物医学工程

    2025年02月19日
    369
  • 学金融有什么好的就业方向?

    网上科普有关“学金融有什么好的就业方向?”话题很是火热,小编也是针对学金融有什么好的就业方向?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。金融就业前景和就业方向如下:金融学专业就业前景如下:金融学专业对学生数学的要求大都非常高。从当前的金融学科专业分布来看

    2025年02月20日
    305
  • 锘是什么意思

    网上科普有关“锘是什么意思”话题很是火热,小编也是针对锘是什么意思寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。nuo四声锘是一种人工合成的放射性化学元素,它的化学符号是No,它的原子序数是102,属于锕系元素之一。它最早是在1944年合成的。锘的拼

    2025年02月21日
    275
  • 蓝色预警是几级-_1

    网上科普有关“蓝色预警是几级?”话题很是火热,小编也是针对蓝色预警是几级?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。预警信号分几级,是如何分界的一、台风预警信号台风预警信号分五级,分别以白色、蓝色、**、橙色和红色表示。(一)台风白色预警信号

    2025年02月21日
    361
  • 【生猪月报】供应压力继续体现 猪价窄幅震荡

    网上科普有关“【生猪月报】供应压力继续体现猪价窄幅震荡”话题很是火热,小编也是针对【生猪月报】供应压力继续体现猪价窄幅震荡寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。导读12月走过大部,月底到来,距离元旦仅有几日,近期,国内农产品市场颓势凸显,受本月生

    2025年02月23日
    309
  • 貂蝉冠是旅游装备吗

    网上科普有关“貂蝉冠是旅游装备吗”话题很是火热,小编也是针对貂蝉冠是旅游装备吗寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。貂蝉冠不是古人旅游装备。扩展知识:谢公屐,指谢灵运登山时穿的一种活齿木鞋。鞋底安有两个木齿,上山去其前齿,下山去其后齿,便于走山路。《

    2025年02月25日
    286
  • 所有的音乐学院都要考试才能进的吗?

    网上科普有关“所有的音乐学院都要考试才能进的吗?”话题很是火热,小编也是针对所有的音乐学院都要考试才能进的吗?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。所有的音乐学院都要考试才能进的吗?有很多音乐职校花点钱就行中国所有的音乐学院排行在201

    2025年02月26日
    280

发表回复

本站作者后才能评论

评论列表(4条)

  • 何龙
    何龙 2025年02月26日

    我是长隆号的签约作者“何龙”!

  • 何龙
    何龙 2025年02月26日

    希望本篇文章《TCP是如何实现可靠传输的?》能对你有所帮助!

  • 何龙
    何龙 2025年02月26日

    本站[长隆号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育

  • 何龙
    何龙 2025年02月26日

    本文概览:网上科普有关“TCP是如何实现可靠传输的?”话题很是火热,小编也是针对TCP是如何实现可靠传输的?寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够...

    联系我们

    邮件:长隆号@sina.com

    工作时间:周一至周五,9:30-18:30,节假日休息

    关注我们