🌕写在前面
Hello🤗大家好啊,我是kikokingzz,名字太长不好记,大家可以叫我kiko哦~
从今天开始,我将正式开启一个新的打卡专题——【计算机网络·宇宙计划】,没错!这是今年上半年的一整个系列计划!本专题目的是通过百天刷题计划,通过题目和知识点串联的方式,刷够1000道题!完成对计算机网络相关知识的全方位复习和巩固;同时还配有专门的笔记总结和文档教程哦!想要搞定,搞透计算机网络的同学
🎉🎉欢迎订阅本专栏🎉🎉
🍊博客主页:kikoking的江湖背景🍊
🌟🌟往期必看🌟🌟
目录
热爱所热爱的, 学习伴随终生,kikokingzz与你同在!❥(^_-)
🍺知识点7:计算机网络的流量控制
🥝7.1 流量控制简介
🍊1.什么是流量控制?
流量控制涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每个帧。例如,在面向帧的自动重传请求系统中,当待确认帧的数量增加时,有可能超出缓冲存储空间而造成过载。
流量控制的基本方法是由接收方控制发送方发送数据的速率,常见的方式有两种:停止等待协议和滑动窗口协议。
🍊2.停止-等待流量控制基本原理
发送方每发送一帧, 都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧, 如果接收方不反馈应答信号,那么发送方必须一直等待。每次只允许发送一帧, 然后就陷入等待接收方确认信息的过程中,因而传输效率很低。
🍊3.滑动窗口流量控制基本原理
在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。发送窗口用来对发送方进行流量控制,而发送窗口的大小W代表在还未收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。同理,在接收端设置接收窗口是为了控制可以接收哪些数据帧和不可以接收哪些帧。在接收方,只有收到的数据帧的序号落入接收窗口内时,才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。
滑动窗口有以下重要特性:
(1)只有接收窗口向前滑动(同时接收方发送了确认帧)时,发送窗口才有可能(只有发送方收到确认帧后才一定)向前滑动。
(2)从滑动窗口的概念看,停止等待协议、后退N帧协议和选择重传协议只在发送窗口大小与接收窗口大小上有所差别:
- 停止等待协议:发送窗口大小=1,接收窗口大小=1。
- 后退N帧协议:发送窗口大小>1,接收窗口大小=1。
- 选择重传协议:发送窗口大小> 1,接收窗口大小>1。
(3)接收窗口的大小为1时,可保证帧的有序接收。
(4)数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的(注意与第5章传输层的滑动窗口协议的区别)。
🍊4.可靠传输机制与流量控制的关系
数据链路层的可靠传输通常使用确认和超时重传两种机制来完成。确认ACK是一种无数据的控制帧,这种控制帧使得接收方可以让发送方知道哪些内容被正确接收。有些情况下为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认。超时重传是指发送方在发送某个数据帧后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,那么就重新发送该数据帧,直到发送成功为止。
自动重传请求(Automatic Repeat reQuest, ARQ)通过接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信道所带来差错的方法之一。传统自动重传请求分为三种,即停止等待(Stop and-Wait) ARQ、后退N帧(Go-Back-N) ARQ和选择性重传(Selective Repeat)ARQ。后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续ARQ协议。
注意:在数据链路层中流量控制机制和可靠传输机制是交织在一起的。
✨✨✨我是分割线✨✨✨
🥝7.2 停止等待协议
🍊1.什么是停止等待协议?
在停止等待协议中,源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他的数据帧。从滑动窗口机制的角度看,停止等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。
🍊2.研究停等协议的前提?
(1)虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
(2)因为是在讨论可靠传输的原理,所以并不考虑数据是在哪一个层次上传送的。
(3)停止等待就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。