信息
- 类 型
- 流量控制技术
- 区 别
- 针对于帧或字节数据的传送
- 中文名
- 滑动窗口
- 外文名
- Sliding window
滑动窗口基本信息
滑动窗口(Sliding window)是一种流量控制技术。早期的网络通信中,通信双方不会考虑网络的拥挤情况直接发送数据。由于大家不知道网络拥塞状况,同时发送数据,导致中间节点阻塞掉包,谁也发不了数据,所以就有了滑动窗口机制来解决此问题。参见滑动窗口如何根据网络拥塞发送数据仿真视频。图片是一个滑动窗口的实例:
滑动窗口协议是用来改善吞吐量的一种技术,即容许发送方在接收任何应答之前传送附加的包。接收方告诉发送方在某一时刻能送多少包(称窗口尺寸)。TCP中采用滑动窗口来进行传输控制,滑动窗口的大小意味着接收方还有多大的缓冲区可以用于接收数据。发送方可以通过滑动窗口的大小来确定应该发送多少字节的数据。当滑动窗口为0时,发送方一般不能再发送数据报,但有两种情况除外,一种情况是可以发送紧急数据,例如,允许用户终止在远端机上的运行进程。另一种情况是发送方可以发送一个1字节的数据报来通知接收方重新声明它希望接收的下一字节及发送方的滑动窗口大小。滑动窗口协议的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,称为发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧。下面举例说明,假设发送窗口尺寸为2,接收窗口尺寸为1:分析:①初始态,发送方没有帧发出,发送窗口前后沿相重合。接收方0号窗口打开,等待接收0号帧;②发送方打开0号窗口,表示已发出0帧但尚确认返回信息。此时接收窗口状态不变;③发送方打开0、1号窗口,表示0、1号帧均在等待确认之列。至此,发送方打开的窗口数已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧。接收窗口此时状态仍未变;④接收方已收到0号帧,0号窗口关闭,1号窗口打开,表示准备接收1号帧。此时发送窗口状态不变;⑤发送方收到接收方发来的0号帧确认返回信息,关闭0号窗口,表示从重发表中删除0号帧。此时接收窗口状态仍不变;⑥发送方继续发送2号帧,2号窗口打开,表示2号帧也纳入待确认之列。至此,发送方打开的窗口又已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧,此时接收窗口状态仍不变;⑦接收方已收到1号帧,1号窗口关闭,2号窗口打开,表示准备接收2号帧。此时发送窗口状态不变;⑧发送方收到接收方发来的1号帧收毕的确认信息,关闭1号窗口,表示从重发表中删除1号帧。此时接收窗口状态仍不变。若从滑动窗口的观点来统一看待1比特滑动窗口、后退n及选择重传三种协议,它们的差别仅在于各自窗口尺寸的大小不同而已。1比特滑动窗口协议:发送窗口=1,接收窗口=1;后退n协议:发送窗口>1,接收窗口=1;选择重传协议:发送窗口>1,接收窗口>1。当发送窗口和接收窗口的大小固定为1时,滑动窗口协议退化为停等协议(stop-and-wait)。该协议规定发送方每发送一帧后就要停下来,等待接收方已正确接收的确认(acknowledgement)返回后才能继续发送下一帧。由于接收方需要判断接收到的帧是新发的帧还是重新发送的帧,因此发送方要为每一个帧加一个序号。由于停等协议规定只有一帧完全发送成功后才能发送新的帧,因而只用一比特来编号就够了。其发送方和接收方运行的流程图如图所示。
[1]
由于停等协议要为每一个帧进行确认后才继续发送下一帧,大大降低了信道利用率,因此又提出了后退n协议。后退n协议中,发送方在发完一个数据帧后,不停下来等待应答帧,而是连续发送若干个数据帧,即使在连续发送过程中收到了接收方发来的应答帧,也可以继续发送。且发送方在每发送完一个数据帧时都要设置超时定时器。只要在所设置的超时时间内仍未收到确认帧,就要重发相应的数据帧。如:当发送方发送了N个帧后,若发现该N帧的前一个帧在计时器超时后仍未返回其确认信息,则该帧被判为出错或丢失,此时发送方就不得不重新发送出错帧及其后的N帧。从这里不难看出,后退n协议一方面因连续发送数据帧而提高了效率,但另一方面,在重传时又必须把原来已正确传送过的数据帧进行重传(仅因这些数据帧之前有一个数据帧出了错),这种做法又使传送效率降低。由此可见,若传输信道的传输质量很差因而误码率较大时,连续测协议不一定优于停止等待协议。此协议中的发送窗口的大小为k,接收窗口仍是1。在后退n协议中,接收方若发现错误帧就不再接收后续的帧,即使是正确到达的帧,这显然是一种浪费。另一种效率更高的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧。一旦收到重新传来的帧后,就可以原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发(SELECTICE REPEAT),其工作过程如图所示。显然,选择重发减少了浪费,但要求接收方有足够大的缓冲区空间。滑动窗口功能:确认、差错控制、流量控制。
-
滑动窗口 滑动窗口就是能够根据指定的单位长度来框住时间序列,从而计算框内的统计指标。相当于一个长度指定的滑块正在刻度尺上面滑动,每滑动一个单位即可反馈滑块内的数据。 滑动窗口的意义 为了提升数据的准确性...
-
滑动窗口生成样本MATLAB程序
2022-05-01 11:17:20找了好久的滑动窗口的程序都不符合我的要求,看到几篇机器学习的文章都是用滑动窗口生成的样本数据,最近同学给我搞了一个,现在分享给大家,程序为matlab编写,可以直接对原始采集数据生成所需样本,已经封装成了... -
Matlab的滑动窗口:在图像上移动滑动窗口并获取其子窗口。-matlab开发
2021-05-30 15:03:55在图像周围移动滑动窗口并获取它的子窗口。 如果索引超过图像尺寸,则返回“错误”。 因此,获得滑动窗口非常容易,只需在控制变量上使用带有条件的 while 循环 ~= 'error' 从 1 开始计数,您将获得很好的函数来获得... -
计算机网络滑动窗口实验
2018-11-30 11:49:391.3 实验内容 充分理解滑动窗口协议,根据滑动窗口协议,模拟滑动窗口协议中发送 端的功能,对系统发送的帧进行缓存并加入窗口等待确认,并在超时或者错 误时对部分帧进行重传。 编写停等及退回 N 滑动窗口协议函数... -
datalink_BUPT_计网大作业_滑动窗口协议_
2021-09-29 14:08:05北邮计算机网络大作业滑动窗口协议,都已经搜到这里来了,懂的都懂。 -
数据链路详解--滑动窗口信道利用率
2020-10-25 10:03:44数据链路详解,包含了滑动窗口控制详解,滑动窗口信道利用率,差错控制,停等协议,连续ARQ,GBN,SR选择重传,HDLC -
北邮计算机网络滑动窗口实验报告(附页包含源程序)
2021-01-19 09:30:19北邮计算机网络实验报告,是数据链路层的滑动窗口协议,采用选择重传协议,报告中内容完整,包含结构说明,代码说明,程序流程图,结果分析(表格),探究分析,源程序等。 -
用于分布式速率限制的滑动窗口算法的Golang实现。-Golang开发
2021-05-26 16:34:36滑动窗口算法的分布式窗口限速的Golang实现。 安装$ go get -u github.com/RussellLuo/slidingwindow设计slidewindow是t slidewindowow的一种实现,Golang是滑动窗口算法的一种实现,用于分布式速率限制。 安装$ go ... -
matlab滑动条代码-Fast-permutation-entropy:用于从滑动窗口中的一维时间序列有效计算置换熵值的MATLAB脚本
2021-05-27 01:13:39从滑动窗口中的一维时间序列有效地计算置换熵的值 函数outdata = PE(indata,delay,order,windowSize) 对于滑动窗口中一维时间序列的有序模式的阶数= 1 ... 8,可以有效地计算[1]排列熵的值[2]。 在以下位置查看... -
北京邮电大学数据链路层滑动窗口协议的设计与实现参考
2021-07-02 21:40:00北京邮电大学数据链路层滑动窗口协议的设计与实现参考实现 -
Movingslope:滑动窗口回归计算沿曲线的斜率估计-matlab开发
2021-05-31 02:06:42在这种情况下,人们可能希望在滑动窗口中拟合一个中等低阶多项式回归模型,然后对该模型进行区分。 (就像 Savitzky-Golay 过滤器。)所有这些都可以在 Matlab 中使用过滤器有效地完成。 请注意,此工具不会将支撑... -
使用QT制作的主界面滑动窗口
2020-08-22 20:54:55使用QT制作的一个主界面滑动模型,类似于手机上的滑动窗口。分离出来的。只是一个框架,具体点击进去的应用需要额外编程。压缩包附带了一个实例图片。欢迎学习和交流。 -
leetcode 239. 滑动窗口最大值
2020-12-22 03:48:14给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 示例: 输入: nums = [1,3,-1,-... -
多变量时间序列滑动窗口异常点的检测 (2014年)
2021-04-24 03:19:29基于滑动窗口数据的置信区间,构造了变化趋势值特征和相对变化趋势值特征分别用于二次探测,同时研究了特征的快速提取算法。通过对OPEN3000数据监测系统采集的事故发生前后某市城南变电站各设备表的数据集进行异常点... -
ERD_滑动窗口_信号检测_突发通信_突发检测_非合作信号
2021-09-11 05:58:07对于非合作纯盲突发信号,利用滑动窗口能量比值法 Energy ration detector (ERD)进行信号检测,检测出信号起始与结束位置,算法原理见论文 -
hogsvmmatlab代码-face_detection:滑动窗口人脸检测
2021-06-12 17:09:58matlab代码滑动窗口人脸检测 描述 使用定向梯度直方图 (HOG) 和支持向量机 (SVM) 区分实际人脸对象和非人脸对象。 实现基于Matlab。 源代码位于名为“code”的目录中 必要的数据集位于名为“data”的目录中 -
论文研究-基于滑动窗口及局部特征的时间序列符号化方法.pdf
2019-07-22 23:58:18针对时间序列的数据挖掘将时间序列数据转换为离散的符号序列, 提出了一种基于滑动窗口及局部特征的时间序列符号化方法。该方法采用了滑动窗口的方法将时间序列分割, 每个分段采用多个斜率表示, 最后采用K-均值聚类... -
sliding-window:使用滑动窗口拆分或合并图像
2021-03-17 19:19:08sliding-window:使用滑动窗口拆分或合并图像 -
基于滑动窗口的主题模型
2021-03-08 22:21:04针对此问题提出了基于滑动窗口的主题模型,该模型的基本思想是文档中的一个单词的主题与其附近若干单词的主题关系越紧密,受附近单词主题的影响越大。根据窗口和滑动位移的大小,把文档切割为粒度更小的片段。同时,针对... -
TCP Sliding Window滑动窗口协议演示动画
2018-04-10 09:26:12TCP Sliding Window滑动窗口协议演示动画,Flash播放,可以调整参数 -
大型多元时间序列数据的基于滑动窗口的多阶段聚类和概率预测方法
2021-03-25 01:07:18大型多元时间序列数据的基于滑动窗口的多阶段聚类和概率预测方法 -
基于滑动窗口的两类运动想象EEG神经网络识别研究
2019-12-26 23:13:51基于滑动窗口的两类运动想象EEG神经网络识别研究,王海,,本文采用信号加窗与神经网络相结合的方式对两类运动想象脑电信号进行识别,对相关问题展开分析研究,通过与传统的滑动平均方法做 -
特征提取之滑动窗口
2019-02-16 20:50:11视频中行为识别发展历程 -
对于统一的查询频率或隶属度,在滑动窗口上的数据流中接近最优的近似重复检测
2021-02-25 23:57:15对于统一的查询频率或隶属度,在滑动窗口上的数据流中接近最优的近似重复检测 -
改进滑动窗口ICA在无线通信干扰抑制中的应用
2020-05-04 01:28:24针对以上问题,从盲源分离的角度出发,针对无线通信信道短时平稳的特点,提出了基于数据块更新的滑动窗口ICA(独立成分分析)算法用于无线通信信号的分离和干扰抑制。仿真实验表明,该算法有较好的无线信号分离和干扰抑制... -
滑动窗口技巧进阶.md
2021-08-14 10:09:05主要介绍了滑动窗口算法的寄到leetcode题目,然后进行技巧总结 -
基于滑动窗口的一类非负可变权组合预测方法
2021-01-12 18:51:31针对基于结果的组合预测赋权问题,通过引入预测残差数据的变异系数和滑动窗口模型,给出一类基于滑动窗口和改进变异系数的组合预测时变权重确定方法.将传统基于预测数据层面的变异系数转移到预测残差数据层面,能有效... -
基于滑动窗口的关联规则增量式更新算法 (2008年)
2021-05-13 10:08:26针对此问题,提出了基于滑动窗口的关联规则增量式更新算法(SWIUA),利用滑动窗口进行数据更新,挖掘出用户感兴趣的关联规则。该算法只需要扫描原始数据集和更新的数据各一遍,降低了I/O时间;并采用优化策略对候选... -
使用多尺度滑动窗口的自动情绪变化检测
2021-05-07 13:52:04这项研究提出了一种新颖的AEVD框架,该框架使用多尺度滑动窗口(MSW-AEVD)通过融合包含移位的所有滑动窗口的决策来为每个窗口移位分配一个情感类别。 首先,以固定长度的滑动窗口为基本程序,研究了几种不同的融合...
收藏数
160,805
精华内容
64,322