zoukankan      html  css  js  c++  java
  • 计算机网络——TCP如何保证可靠性

    前言:在整理计网这块知识点,顺便总结下TCP是如何保证可靠连接的。

     

    先重新认识下 窗口

      窗口分为滑动窗口和拥塞窗口:

      滑动窗口是接受数据端使用的窗口大小,用来告知发送端接收端的缓存大小,以此可以控制发送端发送数据的大小,从而达到流量控制的目的。

      那么对于数据的发送端就是拥塞窗口了,拥塞窗口不代表缓存,拥塞窗口指某一源端数据流在一个RTT内可以最多发送的数据包

    TCP保证可靠性连接的方法有:

    • 校验和
    • 序列号
    • 确认应答机制(seq、ack)
    • 重传机制
      • 超时重传
      • 快速重传
      • SACK
    • 流量控制:利用滑动窗口实现流量控制
    • 拥塞控制:慢启动、拥塞控制;快重传、快恢复

    一、校验和、序列号、和确认应答机制

      是在端与端在连接与传输数据过程中每次都进行安全匹配、是否有丢失数据。

    二、滑动窗口

    三、重传机制

    •  超时重传:以数据往返的时间为标准
    •  快速重传:以数据为标准
    •  SACK(Selective ACK)选择确认:在内存开辟一块新空间,缓存发送方接收的数据。并告诉发送方已经接受的数据

    四、拥塞控制

    1. 慢启动:发生窗口从小到大(从小数开始,每经过一个传输轮次,拥塞窗口就加倍。逐渐测试接受方的网络速率,最后确定拥塞窗口大小)

    2.拥塞避免:当出现超时后,折半传输伦次,同时设置拥塞窗口为1;然后重新开始线性增长。

    3.快重传:首先要求接受方不要等待值发送数据时才进行捎带确认,而是要立即发送确认。

    4.快恢复:根据接受的相同的确认号个数,恢复(例如现在接受到4个M2,那么现在应该接受到了M6)现在接受到的确认号

      

  • 相关阅读:
    asp.net基础开发中常用代码大全
    IPv6網絡開發范例
    [轉]现场:是谁在住救灾帐篷者?
    运送救灾物资路上的感人画面纪实
    DataGridView新特色、常用操作
    [ZT]定制自己的Windows CE 5.0 ARM中文模拟器
    LoadRunner参数化功能详解
    [轉]灾区那么大,王十为什么直奔遵道镇,不去别处?
    [理想?夢想?]ERP项目怎么管
    乞讨老人为地震灾区捐款105元(图)
  • 原文地址:https://www.cnblogs.com/jiox/p/14532836.html
Copyright © 2011-2022 走看看