常规收发数据的方式:
这里既有发送缓存区又有接收缓存区,但是有一个问题是假设我是发送方,我源源不断地给接收方发送数据,这个时候接收方来不及接收,这个时候就会出现丢包的问题!这个场景就类似于,打电话的时候让别人记电话号码,别人一般一下子只能记住4个数字,通常的报数:1345 6789 321 先说4个字母等到对方确认收到之后再接着说后面4个字母!
如何解决这个问题呢?
这就引入了滑动窗口这个概念,滑动窗口引用的目的就是 为了实现流量控制。如果对方发送数据过快,接收方就来不及接收(你来不急记住),接收方就需要通告对方,减慢数据的发送.
当然滑动窗口也有大小,比如上面打电话的事例,对方一次只能记住4个字,这就表面滑动窗口的大小就是4,具体的演示:https://media.pearsoncmg.com/aw/ecs_kurose_compnetwork_7/cw/content/interactiveanimations/selective-repeat-protocol/index.html
可以感受下滑动窗口的思想!重复点击send new 可以发送多个包