计算机网络——TCP如何保证可靠性

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

 

先重新认识下 窗口

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

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

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

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

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

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

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

二、滑动窗口

三、重传机制

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

四、拥塞控制

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

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

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

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

  

 

posted @ 2021-03-14 15:54  Jiox  阅读(557)  评论(0编辑  收藏  举报