通过对第八讲的学习,并整理简要分时笔记如下,如若再不懂请参照视频。完整六十八讲视频见泳者雷敏播客,陆续上传中……
本讲主要内容:数据链路层(续):滑动窗口协议(停止等待、连续重传、选择重传ARQ)、HDLC、PPP,本讲内容较多,需要认真听讲,仔细理解,你终将受益匪浅。
00:00 选择重传ARQ
·发送方没有收到确认帧时,最多发送3个数据帧。
·坚持按序发送原则,若其中一个数据帧出错,本数据帧及以后的数据帧全部丢弃。
·出错之后,已经正确传送的数据帧都必须重传。
·数据帧的编号开销非常大。
·此协议也称为go-back-N ARQ,回走N步ARQ协议或差错回传N帧协议。
12:06 滑动窗口的概念
滑动窗口对连续ARQ中将已发送但未被确认的数据帧数目进行限制。
·发送窗口:发送端流量控制,用 WT 表示,没有收到确认帧,发送端最多发送数据帧个数。
·接收窗口:用WR表示。
在接收端,数据帧发送序号落入接收窗口,收下;数据帧发送序号落入接收窗口外,丢弃。连续ARQ协议中,WR=1 。
规则:每收到1个序号正确的帧,WR 就向前滑动1个位置,同时发送对该帧的确认帧。
因此,连续ARQ协议是“接收窗口为1”的特殊的滑动窗口协议。
21:00 滑动窗口的重要特性:
·接收窗口向前滑动同时回传确认帧后,发送窗口才有可能向前滑动。
·接收和发送窗口按以上规律不断向前滑动,称之为滑动窗口协议。
当发送窗口为1、接收窗口为1时,即为停止等待协议,属滑动窗口协议。
当发送窗口不为1,接收窗口为1时,即为连续ARQ协议,属滑动窗口协议。
当发送窗口不为1,接收窗口也不为1时,即为选择重传ARQ协议,属滑动窗口协议。
22:31 发送窗口的最大值(连续ARQ协议)
当用n个比特进行编号时,接收窗口为1,只有当发送窗口最大值:2的n次方减1。
若序号帧为3bit,发送窗口最大值为7,取值:0、1、2、3、4、5、6
发送窗口为何不能等于2的3次方,等于8呢?
原因:一种特殊情况,若发送窗口为0至7,而第1次发送0-7号数据帧全部丢失,发送端、接收端均等待,达到超时时间Tout时,发送方重发0-7号数据帧,此时接收方收到此组数据帧的0号帧时,则无法分辨是原来的0号帧还是重传的0号帧。
对发送帧的保存的实现:使用队列。
信道的利用率永不可能达到100%,因数据帧中存在控制信息。
帧太短,控制信息就太多;帧太长,出错概率就越大,重传的次数就会增加。因此存在一个“最佳帧长”,提高信道的利用率。
29:30 选择重传ARQ,加大接收窗口。
原理:收下不连续但处在接收窗口内的数据帧,等待所缺序号数据帧,一并上交主机。
优点:可避免重复传送本来已经正确接收的数据帧。但要付出代价:接收端要提供相当容量的缓存。
接收窗口的最大值:2的n次方的一半。接收窗口大于此值,发送窗口即将小于接收窗口,无意义,浪费。因接收窗口和发送窗口的和为2的n次方。
如:序号帧3bit,接收窗口最大为4,此时和发送窗口相等。
35:00 练习:使用一个64kb/s的无错卫星通发512字节的数据帧(在一个方向上),而在另一方向上返回很短的确认帧,对于窗口大小为1、7、15、127的最大速率是多少?
解析:见视频。
40:46 面向比特链路控制规程 HDLC
44:01 HDLC帧结构:标志字段F(Flag)、地址字段A、控制字段C、信息位、FCS、标志字段F
零比特填充删除法,避免信息中出现6个1连续与标志字段混淆,因为标志字段F的值为:01111110
原理:发送端检测信息比特流,发现5个连续1,马上在后面填充一个0;接收端,查到标志字段F后,扫描收到数据比特流,发现连续5个1,则将5个1后的0删去。
50:30 透明传输
前一帧结束标志F(01111110)可作为下一帧开始标志字段。无信息传送时,可连续发送标志字段,保持接收端、发送端的同步。
地址字段A,8bit.
FCS(帧检验序列),即CRC中冗余位。此处采用CRC-CCITT生成多项式:x16+x12+x5+1
59:00 面向字节 PPP协议(Point-to-Point Protocol)
电话线接入因特网,一般采用PPP。
包括三个部分:1、一个将IP数据报封装到串行链路的方法。MRU(最大接收单元)默认1500.
2、LCP(link control protocol).
3、NCP (network control protocol).
PPP帧格式,基本同HDLC。不同点:
1、PPP采用16进制,标志字段F为ox7E (01111110)、地址字段A为oxFF、控制字段C为ox03。其中ox表示16进制。
2、比HDLC多一个协议字段:2字节。
ox0021(表示IP数据报)、oxC021(表示PPP链路控制数据)、ox8021(表示网络控制数据)
3、同步传输时,PPP和HDLC均使用硬件实施“零比特填充删除法”。
4、异步传输时,PPP采用一种特殊的字符填充法。分解ox7E为 ox7D、ox5E,分解ox7D为ox7D、ox5D。凡是小于ox20的ASCII码,加ox7D。
PPP协议不提供“使用序号和确认帧”的可靠传输,因FCS字段基本可以保证无差错。
【编辑推荐】