TCP可靠传输的实现

2016-09-21  本文已影响0人  阿立94s

A发送端,B接收端,假设只在一个方向进行

以字节为单位的滑动窗口

发送端A根据收到B发送的确认来调整自己的发送窗口,也就是说A的窗口是动态可调的,发送窗口的大小根据前沿和后沿来共同决定。

后沿的变化

后沿的变化分为两种,1.不动:不动的情况a.没有收到新的确认,对方通知的窗口大小也不变;b.收到了新的确认,但是通知窗口变小了,此时需要后移前沿。2.前移:收到了新的确认,通知的窗口大小没有变化,标识数据已经安全到达,可以发送后面的数据。

缓存的概念

应用程序将字节流写入TCP的发送缓存,接收方的应用程序从TCP的接收缓存中读取字节流。发送窗口通常只是发送缓存的一部分,且窗口的后沿适合发送缓存重合的。

发送端的缓存和窗口

发送端的缓存用来存放:1.发送应用程序传送给发送方TCP准备发送的数据;2.TCP已发送但未收到确认的数据

接收端的缓存和窗口

接收端的缓存用来存放:1.按序到达、但尚未被接收应用程序读取的数据;1.为按序到达的数据

上一篇 下一篇

猜你喜欢

热点阅读