TCP流量控制,模型联想理解

A和B共同完成一个吃苹果的任务。B是大胃王,和A说,我一次能吃400个苹果。
游戏目标是A扔苹果,B吃苹果,直到吃完所有苹果 游戏开始啦! A每扔一箱苹果,都应该在规定时间t(数据重传计时器)
内收到B的回复,如果没收到就重新扔 A知道B能吃400个苹果,所以就想扔400个苹果给A,但是一个一个扔太麻烦了,
现在A有很多筐,每个筐都能装100个苹果 1.A把1-100个苹果装到框里,然后把框扔给A 2.A扔101-200个,然后A还能扔400-200=200个苹果,也就是两筐 3.A扔201-300给B,但是路上丢失了,还能扔100个 4.B这个时候接收到了1-200个苹果,并且都吃完了。但是吃得太饱了,
他得消化一下 就给A写了一个纸条说,ACK=1,ack=201,rwnd=300.
我把1-200的苹果都吃完啦!接下来我要吃第201个苹果,
并且现在最多只能吃300个苹果啦 5.A在1-200的数据重传计时器的范围内收到了纸条,
就知道现在不用考虑1-200号了,就删掉他们, 然后接下来的任务就是把200-500号苹果发给A,
201-300之前发过了,接下来给发301-400 6.A发 301-400 7.A的201-300的数据重传计时器超时了,重新发201-300给B 8.B收到了201-400的数据,但是太撑了,最多还能吃100个苹果,
并且下一个苹果该吃第401号了 9.A收到B的信了,所以接下来要发401-500的苹果,然后发了 10,B收到了401-500的苹果,吃了。实在吃不下了,和A说,
我收到之前发的苹果了,下一次我吃第501个苹果, 但是我太撑了,让我歇一会儿消化一下,现在先不要给我发苹果了,rwnd=0. 11.A收到B的信了,知道他吃不下了,就开始给他计时算休息的时间。
以五分钟为一个阶段 5分钟一到,就问B,还能吃吗 12.B说不能吃,继续等等,然后A重新计时 13然后5分钟又到了,又问B。还能吃吗?,但是这条消息丢了。
超过了消息的计时器5分钟 14.A消息计时器时间到了,A重发,继续问B还能吃吗 15.B说,能吃了,A收到以后,就继续发苹果给B了


重点:(1)收到B不能吃的消息以后,每隔固定时间发邮件去问
(2)询问的邮件A知道B应该在5分钟内回复,
如果5分钟后没收到B的回复,就重新发询问的邮件

  

 

 

这里的窗口叫  TCP接收方的接收窗口

 

posted @ 2022-04-16 17:17  今天也是开心的一天呀  阅读(31)  评论(0)    收藏  举报