zoukankan      html  css  js  c++  java
  • 转载:TCP协议如何保证可靠传输

    转载至:https://www.cnblogs.com/xiaokang01/p/10033267.html

    TCP协议如何保证可靠传输

    概述

    TCP协议保证数据传输可靠性的方式主要有:

    (校 序 重 流 拥)

    校验和:

    发送的数据包和二进制相加然后取反,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。

    确认应答+序列号(累计确认+seq)

    接收方收到报文就会确认(累积确认:对所有按序接收的数据的确认)

    TCP给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。

    超时重传:

    当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。

    流量控制:

    TCP链接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢弃。TCP使用的流量控制协议是可变大小的滑动窗口协议。接收方有即时窗口(滑动窗口),随ACK报文发送。

    拥塞控制;

    当网络拥塞时,减少数据的发送。

  • 相关阅读:
    矩阵快速幂的学习(系统的学习)
    hdu3949(线性基,求第k小的异或和
    牛客网训练赛26D(xor)
    牛客网练习赛26B(简单的dp)
    Carryon的字符串
    string的各种函数(系统学习)
    约瑟夫问题(vector的使用)
    vector的学习(系统的学习)
    CodeForces
    POJ-3624-背包问题
  • 原文地址:https://www.cnblogs.com/yichengming/p/11164724.html
Copyright © 2011-2022 走看看