TCP协议是如何实现可靠传输的

这篇具有很好参考价值的文章主要介绍了TCP协议是如何实现可靠传输的。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、TCP最主要的特点

1.TCP 是面向连接的运输层协议,在无连接的、不可靠的 IP 网络服务基础之上提供可靠交付的服务。为此,在 IP 的数据报服务基础之上,增加了保证可靠性的一系列措施。

TCP协议是如何实现可靠传输的2.TCP最主要的特点

(1)TCP 是面向连接的运输层协议。

        每一条 TCP 连接只能有两个端点 (endpoint),每一条 TCP 连接只能是点对点的(一对一)。

(2)TCP 提供可靠交付的服务。

(3)TCP 提供全双工通信。

(4)面向字节流

        TCP 中的“流”(stream) 指的是流入或流出进程的字节序列。

        面向字节流:虽然应用程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流。

3.面向流的概念

TCP协议是如何实现可靠传输的

TCP协议是如何实现可靠传输的

 4.TCP的连接

TCP协议是如何实现可靠传输的

 5.Socket 有多种不同的意思

应用编程接口  API  称为 socket API, 简称为 socket。

socket API 中使用的一个函数名也叫作 socket。

调用 socket 函数的端点称为 socket。

调用 socket 函数时其返回值称为 socket 描述符,可简称为 socket。

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

每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

全双工通信的双方既是发送方也是接收方。

假设仅考虑 A 发送数据,而 B 接收数据并发送确认。因此 A 叫做发送方,而 B 叫做接收方。

TCP协议是如何实现可靠传输的

TCP协议是如何实现可靠传输的

1.A 如何知道 B 是否正确收到了 M1 呢?

解决方法:超时重传

A 为每一个已发送的分组设置一个超时计时器。

A 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 

若 A 在超时计时器规定时间内没有收到 B 的确认,就认为分组错误或丢失,就重发该分组。

TCP协议是如何实现可靠传输的

 2.确认丢失

        若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内将不会收到确认,因此 A 在超时计时器到期后重传 M1。

假定 B 正确收到了 A 重传的分组 M1。这时 B 应采取两个行动:

(1) 丢弃这个重复的分组 M1,不向上层交付。

(2) 向 A 发送确认。

3.确认迟到

B 对分组 M1 的确认迟到了,因此 A 在超时计时器到期后重传 M1。

B 会收到重复的 M1,丢弃重复的 M1,并重传确认分组。

A 会收到重复的确认。对重复的确认的处理:丢弃。

TCP协议是如何实现可靠传输的

4.提高传输效率:流水线传输

TCP协议是如何实现可靠传输的

5.连续ARQ协议

        发送窗口:发送方维持一个发送窗口,位于发送窗口内的分组都可被连续发送出去,而不需要等待对方的确认。

        发送窗口滑动:发送方每收到一个确认,就把发送窗口向前滑动一个分组的位置。

        累积确认:接收方对按序到达的最后一个分组发送确认,表示:到这个分组为止的所有分组都已正确收到了。

6.发送窗口

TCP协议是如何实现可靠传输的

 7.累计确认

TCP协议是如何实现可靠传输的

三、TCP报文段的首部格式 

TCP协议是如何实现可靠传输的文章来源地址https://www.toymoban.com/news/detail-476986.html

到了这里,关于TCP协议是如何实现可靠传输的的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【lwip】14-TCP协议之可靠传输的实现(TCP干货)

    ‍ 前面章节太长了,不得不分开。 这里已源码为主,默认读者已知晓概念或原理,概念或原理可以参考前面章节,有分析。 参考:李柱明博客:https://www.cnblogs.com/lizhuming/p/17438743.html ‍ lwip的时钟机制可以翻看前面章节。 lwip的TCP可靠传传输的实现离不开两个时钟处理函数:

    2024年02月06日
    浏览(32)
  • 【lwip】14-TCP协议分析之TCP协议之可靠传输的实现(TCP干货)

    ‍ 前面章节太长了,不得不分开。 这里已源码为主,默认读者已知晓概念或原理,概念或原理可以参考前面章节,有分析。 参考:李柱明博客:https://www.cnblogs.com/lizhuming/p/17438743.html ‍ lwip的时钟机制可以翻看前面章节。 lwip的TCP可靠传传输的实现离不开两个时钟处理函数:

    2024年02月06日
    浏览(41)
  • TCP如何保证可靠性,TCP如何实现可靠性传输的

    tcp 如何保证可靠性 大家都知道TCP是可靠性传输协议,既然是可靠的,就需要解决比如包丢失了、数据被破坏了、包重复了、乱序了等等这样的问题。下面将从几个方面介绍TCP的可靠性。 1. 校验和 TCP每一段报文都有校验和,这保证了报文不被破坏或篡改,如果收到的报文在校

    2024年02月10日
    浏览(39)
  • 8.10 TCP是如何实现可靠传输的

    目录 TCP 最主要的特点 面向流的概念 Socket 有多种不同的意思 TCP是如何实现可靠传输的? A 如何知道 B 是否正确收到了 M1 呢?  确认丢失 确认迟到  连续 ARQ 协议 累计确认 TCP报文段的首部格式 TCP 最主要的特点 TCP 是面向连接的运输层协议,在无连接的、不可靠的 IP 网络服

    2024年02月11日
    浏览(37)
  • 4.17 如何基于 UDP 协议实现可靠传输?

    目录 QUIC 是如何实现可靠传输的? Packet Header QUIC Frame Header QUIC 是如何解决 TCP 队头阻塞问题的? 什么是TCP对头阻塞问题: HTTP/2 的队头阻塞: 没有队头阻塞的 QUIC QUIC 是如何做流量控制的? QUIC 实现流量控制的方式: QUIC 对拥塞控制改进 QUIC 更快的连接建立 QUIC 是如何迁移连

    2024年02月11日
    浏览(24)
  • 传统TCP设计的可靠传输协议详解

    传统TCP设计的可靠传输协议是一种基于TCP协议实现的可靠传输方法。下面是传统TCP设计的可靠传输协议的详细解释: 连接管理:传统TCP设计的可靠传输协议使用TCP协议进行连接管理。在建立连接时,客户端和服务器之间需要完成三次握手,以确保双方都准备好进行数据传输。

    2024年02月16日
    浏览(24)
  • 理解TCP:传输控制协议的特点和机制

    本文详细介绍了TCP(传输控制协议)的特点和机制,包括其面向连接、可靠、有序、无丢失和无重复的特性,以及其确认机制、重传机制、排序机制和流控机制。

    2024年04月09日
    浏览(38)
  • 【TCP 协议】报文格式,数据可靠传输的机制(一)

    哈喽,大家好~我是你们的老朋友: 保护小周ღ   本期为大家带来的是网络编程的 TCP 传输控制协议的概念 ,首先会讲解 TCP 协议的报文格式 ,在学习报文格式之后,会学习两种 TCP 保证数据可靠传输的机制, 确认应答,超时重传, 这也是TCP 中较为核心的机制,以及接收缓

    2024年02月01日
    浏览(31)
  • 【传输层协议】UDP/TCP结构特点与原理(详解)

    2字节的长度表示整个数据报的最大长度(UDP首部+UDP数据)。 校验和用来验证数据是否出错,出错就摒弃。 首部8个字节。 源/目的端口号:表示数据是从哪个进程来,到哪个进程去; 校验和:发送端填充,CRC校验。接收端校验不通过,则认为数据有问题。 1. 无连接 知道对

    2024年02月07日
    浏览(29)
  • TCP如何保证传输可靠性?

    文章参考: 《网络是怎样连接的》:https://book.douban.com/subject/26941639/ 《图解网络》:https://www.xiaolincoding.com/network/ 在开始阅读该博客之前,先要好好了解一下 TCP报文头部 到底有那些信息,阅读后续内容时有任何模糊的地方都可以回来这里 查看梳理 ,接下来我来解释一下:

    2024年02月20日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包