数据链路层的功能之一就是流量控制。 影响接收方接收数据能力的因素主要有:设备的处理速度和缓冲区容量的大小。 与传输层流量控制的区别:控制的对象不同,在数据链路层上控制的是通信子网中相邻节点间的数据流量,而在传输层上控制的是发送方和接收方之间端到端的数据流量。 下面是两种常用的流量控制策略:停—等协议和滑动窗口协议。
1、停—等协议——最简单的流量控制策略 策略:当发送方发完一帧后,即停止发送,等待对方的应答,如果收到对方的肯定应答,则接着发送下一个帧;如果收到否定应答或超过规定的时间没有收到肯定应答,则重发该帧。 特点:在进行流量控制的同时也进行了差错控制,实现可靠的数据传输。 分别讨论几种数据传输的情况: 1、理想情况。传输完全可靠、不出错不丢失,不存在差错控制问题。 2、数据帧出错。通过出错重发机制来解决,若连续重传超过一定次数则停止发送,向上一级报告故障情况。 3、数据帧丢失。发送方发送的数据帧因严重干扰不能到达接收方,接收方不回答确认帧ACK,通过超时重发机制来解决。 4、数据帧无误但返回的确认帧丢失。 解决重复帧:对每个数据帧赋序号,即每发一帧,序号加1。
因停—等协议每次只发送一个帧,且确认该帧被正确接收后才发下一个帧,所以只需用0和1两个编号区别相邻的两帧。 停—等协议的算法: 1、发送算法
2、接收算法
停等协议中要解决的关键问题:超时重发时间的长短的选取,应选取稍大于信号从发送端到接收端传输时间的两倍加上接收端的处理时间之和。 发送端须设发送缓冲区,以便在收到确认帧之前保留该数据帧的副本。 停等协议属于单工通信的1位滑动窗口协议,数据单向传输,反向传输确认帧。 优点:控制比较简单。 缺点:信道的利用率不高,尤其是当信号的传输时延比较长时。 2、滑动窗口的概念 滑动窗口机制:允许发送方连续发送多个帧而不需要等待接收方应答的策略。 为能连续发送多帧需要对帧进行编号,以便进行差错控制和流量控制,帧的序号用帧序号字段的二进制比特来表示。 帧的序号循环使用,以便对允许发送的帧的数目加以限制。 原因:出错时全部重发会降低效率、帧序号位数太多会增加帧的额外开销。 序号空间:如果用n表示序号,则序号空间范围是0到 2n -1。 1、发送窗口 发送窗口:把发送端允许连续发送的而未得到确认的一组帧的序号集合。 区别:序号空间是可使用的序号的范围;发送窗口是序号空间的一个子集。 发送窗口的尺寸:发送端可以连续发送的未得到确认的帧的最大数目。 发送窗口的后沿:发送端最早发送但还未收到应答的帧的序号。 发送窗口的前沿:发送端最晚发送但还未收到应答的帧的序号,数值上等于发送窗口后沿加上窗口尺寸再减1。 发送端收到发送窗口后沿所对应帧的肯定应答后,就将发送窗口向前滑动一个序号,并从发送缓冲区中将该数据帧的副本删除。
2、接收窗口 接收窗口:一组接收方允许接收的帧序号集合。 接收窗口尺寸:接收方最多允许接收的帧数目。 接收窗口的前、后沿:分别是指接收窗口的上下界。 无论接收窗口尺寸的大小如何,接收方交给上层的数据总是按顺序的。
发送窗口尺寸不一定等于接收窗口尺寸。 发送端应设缓冲区暂存已发出的而未得到应答的帧,以备重发,缓冲区满则停止发送,直至收到新的应答。 接收端可通过控制发送ACK的速度,对发送端进行流量控制。 3、 一位滑动窗口协议 一位滑动窗口协议:发送窗口尺寸 = 1,接收窗口尺寸 = 1。 特点:支持数据的双向传输;采取捎带应答的全双工通信方式工作,不必对每一帧进行单独确认,而是通过对某一帧的应答来代替对之前所有帧的应答。 捎带应答:将应答信息搭载在数据帧上发送给对方的应答方式。
4、全部重发流水线协议 全部重发流水线协议:发送窗口尺寸大于1,接收窗口尺寸等于1。 特点:当前面的某个帧丢失或出错后,接收方由于其后到达的帧都不接收,所以当发送方超时后,必须重发出错的帧及其以后的所有帧。 分三种情况: 1、发送方按序号顺序在发送窗口范围内连续发送若干帧。 2、信道不够可靠,会造成帧的丢失或损坏。 3、应答帧丢失。
5、选择重发流水线协议 选择重发流水线协议:发送窗口尺寸大于1,接收窗口尺寸大于1。 接收方可将错帧之后的帧保留在接收缓冲区中;发送方超时后,只需重发出错的帧;接收方待收到发送方重发的帧后,可将其和保留在缓冲区内的帧重新排序,一起交给网络层。
特点:与全部重发流水线协议相比,该协议改善了信道的利用率,但接收方的缓冲区要设置得比较大。 6、最大窗口尺寸的确定 1、全部重发流水线协议的最大发送窗口尺寸为2n-1 若将最大发送窗口尺寸选为和序号空间的大小一致,则当应答丢失时接收方无法区分收到的是重发的老帧还是新帧。 例:n=3时,最大发送窗口尺寸为7。 2、选择重发流水线协议的最大接收窗口尺寸为2n-1 选择重发流水线协议的前后相邻的两个接收窗口所包含的序号不能有相同的,否则当某一帧在前一窗口被接收方妥收并发了确认以后,如果因为确认帧丢失而使发方重发了一个相同序号的帧,就回落在下一个窗口而被接收方再次接收。 例:n=3时,最大接收窗口尺寸为4。 在该协议中,发送窗口的尺寸一般取得和接收窗口一样,通常也不超过2n-1。
7、全部重发流水协议的最佳帧长 影响信道利用率因素为:帧长、因传输差错而导致的不断重传。 最佳帧长的近似公式: lotp= 3-10 其中lotp表示最佳帧长,H表示帧头的比特数,P表示误码率。
|