zoukankan      html  css  js  c++  java
  • TCP/IP__TCP协议

    1.定位:传输控制协议(Transmission Control Protocol),是一种面向连接的、可靠的、基于字节流的传输层通信协议。

    2.原理:应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。

      之后TCP协议把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。

      TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);

      如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算和校验。

    3.特点:

      1)TCP协议提供的是可靠的、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程。TCP提供端到端、全双工通信;采用字节流方式,如果字节流太长,将其分段;提供紧急数据传送功能。

      2)在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。

      窗口机制:

      在发送方传输数据段之后,以及在它从接收方收到确认之前,有一段时间间隔,发送方可以利用这个间隔来发送更多的数据。发送方机器在没有收到对所传送数据的确认时,被允许发送的数据段的数量(以字节计)就称为―窗口。

      说明:窗口用来控制未被确认的数据段的数量。

      因此,窗口的尺寸大小控制了有多少信息从一端传送到另一端。

      如:当将窗口尺寸配置为1时,发送方机器在传送下一个数据段时,必须等待对它所传送每一个数据段的确认。如果已经将窗口尺寸配置为3,就允许在收到确认之前一次性传送3个数据段

      说明:如果接收方主机不能收到应当确认的所有数据段,接收方主机将减小窗口尺寸,以改进通信会话质量。

      窗口可以看作是缓冲区,数据到另一方不是直接被处理,而是被加载到缓冲区。(例中,通过发送ACK3 …给发送方)

       

      3)在拥塞控制上,采用广受好评的TCP拥塞控制算法(也称AIMD算法),该算法主要包括三个主要部分:1,加性增、乘性减;2,慢启动;3,对超时事件做出反应。

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

      1)应用数据被分割成TCP认为最适合发送的数据块。这和UDP完全不同,应用程序产生的数据报长度将保持不变。由TCP传递给IP的信息单位称为报文段或段(segment。

      2)当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒。

      3)TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。

      4)既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。

      5)既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。

      6)TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。

    5.TCP报头长度为20字节

       

  • 相关阅读:
    Codeforces Round #344 (Div. 2) C. Report 其他
    Codeforces Round #344 (Div. 2) B. Print Check 水题
    Codeforces Round #344 (Div. 2) A. Interview 水题
    8VC Venture Cup 2016
    CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂 中二版
    CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂
    CDOJ 1279 班委选举 每周一题 div2 暴力
    每周算法讲堂 快速幂
    8VC Venture Cup 2016
    Educational Codeforces Round 9 F. Magic Matrix 最小生成树
  • 原文地址:https://www.cnblogs.com/xinghen1216/p/11098925.html
Copyright © 2011-2022 走看看