美文网首页
TCP可靠传输

TCP可靠传输

作者: 狗尾巴草败了 | 来源:发表于2017-08-21 23:11 被阅读0次

TCP是通过什么方式来提供可靠传输的

合理截断数据包,超时重发,校验,失序重新排序,能够丢弃重复数据,TCP可以进行流量控制

TCP提供一种面向连接的、可靠的字节流服务。

面向连接:意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP。

TCP通过下列方式来提供可靠性:

  1. 应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度将保持不变。 (将数据截断为合理的长度)
  1. 当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。 (超时重发)
  1. 当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒。 (对于收到的请求,给出确认响应,之所以推迟,可能是要对包做完整校验)
  1. TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。 (校验出包有错,丢弃报文段,不给出响应,TCP发送数据端,超时时会重发数据)
  1. 既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。
    (对失序数据进行重新排序,然后才交给应用层)
  1. 既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。
    (对于重复数据,能够丢弃重复数据)

  2. TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。
    (TCP可以进行流量控制,防止较快主机致使较慢主机的缓冲区溢出)
    TCP使用的流量控制协议是可变大小的滑动窗口协议。

相关文章

  • TCP如何保证可靠传输

    TCP和UDP的区别之一:TCP是可靠传输,UDP是不可靠传输,那么可能一不小心就会被追问TCP是如何保证可靠传输...

  • NETWORK

    传输层 TCP协议 TCP协议的特点 TCP是在不可靠的IP层之上实现的可靠的数据传输协议,它主要解决传输的可靠、...

  • 八.网络协议学习笔记 传输层TCP-可靠传输

    TCP的几个要点 可靠传输 TCP-可靠传输-停止等待AQR协议 AQR(Automatic Repeat-reQ...

  • TCP和UDP详解

    本篇文章主要是从运输层协议概述、UDP、TCP、可靠传输的工作原理、TCP首部格式、TCP可靠传输的实现、TCP流...

  • TCP 三次握手 和 四次挥手

    概述 我们都知道 TCP 是 可靠的数据传输协议,UDP是不可靠传输,那么TCP它是怎么保证可靠传输的呢?那我们就...

  • 常问知识点-网络

    网络 TCP和UDP的区别 TCP面向有连接,提供可靠的传输;UDP面向无连接,不可靠传输 TCP面向字节流,UD...

  • 为什么 TCP 建立会话要三次握手?

    TCP 位于传输层,提供可靠的字节流服务。 所谓可靠的传输服务是指,能够把数据准确可靠的传给对方,并且 TCP 协...

  • TCP与UDP

    1)TCP TCP传输控制协议,是一种面向连接的,可靠的、基于字节流的传输层通信协议。 优点:可靠、稳定。TCP...

  • TCP可靠传输

    TCP提供了可靠传输,主要按照下面方法实现。 分块发送:应用程序被分割成TCP认为最适合发送的数据段。 定时确认重...

  • TCP 可靠传输

    这篇文章转载自http://blog.chinaunix.net/uid-26275986-id-4109679....

网友评论

      本文标题:TCP可靠传输

      本文链接:https://www.haomeiwen.com/subject/zcehdxtx.html