[复习提示]
王道:本章是历年考试中考查的重点。要求在了解数据链路层基本概念和功能的基础上,重点掌握滑动窗口机制、三种可靠传输协议、各种MAC协议、HDLC协议和PPP协议,特别是CSMA/CD协议和以太网帧格式,以及局域网的争用期和最小帧长的概念、二进制指数退避算法。此外,中继器、网卡、集线器、网桥和局域网交换机的原理及区别也要重点掌握。
一、数据链路层的功能
- 为网络层提供服务
- 链路管理
- 帧定界、帧同步与透明传输
- 流量控制(对发送方控制)
- 差错控制
注:
- 为终端结点隐蔽物理传输的细节是物理层的功能,数据链路层不必考虑如何实现无差别的比特传输;
为网络层提供服务
- 无确认的无连接服务。
- 有确认的无连接服务。
- 有确认的面向连接服务。
无确认的无连接服务是指源机器向目标机器发送独立的帧,目标机器并不对这些帧进行确认。 事先并不建立逻辑连接,事后也不用释放逻辑连接。当错误率很低时 ,这一类服务非常合适,这时恢复任务可以留给上面的各层来完成。这类服务对于实时通信 也是非常合适的,因为实时通信中数据的迟到比数据损坏更不好。若由于线路上有噪声而造成某一帧丢失,则数据链路层并不会检测这样的丢帧现象,也不会回复。
- 为防止在传输过程中帧丢失,在可靠的数据链路层协议中,发送方对发送的每个数据帧设计一个定时器,当计时器到期而该帧的确认帧仍未到达时,发送方将重发该帧。
- 为保证接收方不会接收到重复帧,需要对每个发送的帧进行编号;海明码和循环冗余校验码都用于差错控制。
二、组帧
组帧的目的:是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率。
- 字符计数法(如:第一个帧:5 1239,第二个帧:7123456。。。)
- 字符填充的首尾定界符法
- 零比特填充的首尾标志法(遇到5个"1"后,就插入一个"0")
- 违规编码法
字符计数法
违规编码法: 在物理层进行比特编码时,通常采用违规编码法。例如,曼彻斯特编码方法将数据比特"1"编码成"高一低"电平对,将数据比特"0"编码成"低一高"电平对,而"高一高"电平对和"低一低"电平对在数据比特中是违规的(即没有采用)。
三、差错控制
实际通信链路都不是理想的,比特在传输过程中可能会产生差错,1可能会变成0,0也可能会变成1,这就是比特差错。比特差错是传输差错中的一种,本节仅讨论比特差错。
检错编码
- 奇偶校验码(附加一个校验元后,数量为奇数个或偶数个)
- 循环冗余码(CRC)
CRC
计算实际发送的数据:
1)为原始数据M0加0(加r位);
2)加0后的原始数据模2除以G(x)位串;
3)用结果的余数替代1)中加的0;
校验是否出错:
1)用收到的二进制序列模2除以G(x)位串;
2)余数为0则没有出错;
正向例题 :设G(x)=1101 (即r=3),待传送数据M=101001(即m=6)
101001000
发送出的数据为: 101001001,共有m+r位。
反向例题 :在数据传输过程中,若接收方收到的二进制比特序列为10110011010 ,接收双方采用的生成多项式为G(x)=x^4+x^3+1,则该二进制比特序列在传输中是否出错?如果未出现差错,那么发送数据的比特序列和CRC检验码的比特序列分别是什么?
G(x)=1*x^4+1*x^3+0*x^2+0*x^1+1*x^0
纠错编码
- 海明码
效信息的位数:n,
校验位的位数:k,
n+k≤2^k-1(若要检测两位错,则需再增加1位校验位,即k+1位)
海明距离 :两个合法编码(码字)的对应比特取值不同的比特数称为这两个码字的码距 (如001和000的码距是1)
检测D位错,需要码距D+1
纠错D位,需要码距2D+1
一般来说,数据的传输差错是由噪声引起的。通信信道的噪声可以分为两类:热噪声和冲击噪声。热噪声一般是信道固有的,引起的差错是随机差错 ,可以通过提高信噪比来降低它对数据传的影响。冲击噪声一般是由外界电磁干扰引起的,引起的差错是突发差错,它是引起传输差错的主要原因,无法通过提高信噪比来避免。
四、流量控制与可靠传输机制
- 停止-等待流量控制
- 滑动窗口流量控制
- 可靠传输机制
停止-等待流量控制:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;
在连续ARQ协议中,发送窗口的大小≤窗口总数-1。
滑动窗口流量控制:
- 停止-等待协议:发送窗口大小=1,接收窗口大小=1。
- 后退N帧协议(GBN):发送窗口大小>1,接收窗口大小=1。
- 选择重传协议(SR):发送窗口大小>1,接收窗口大小>1。
- 接收窗口的大小为1时,可保证帧的有序接收。
- 发送窗口+接收窗口≤帧序号
可靠传输机制 :
- 确认
- 重传
信道最大利用率例题 :一个信道的数据传输速率为4kb/ s ,单向传播时延为30ms,如果使停止﹣等待协议的信道最大利用率达到80%,那么要求的数据帧长度至少为()。
(L/C) / (L/C+ 2R)= L/(L+ 2RC)= L/(L + 2x30msx4kb/s)= 80%,得出L = 960bit。
GBD
- GBN一般采用累积确认,如果收到了对5号帧的确认意味着接收方已收到1~5号帧,因此发送方仅需要重传后面的帧
- 在后退N帧的协议中,序列号个数不小于MAX_ SEQ+ 1,题中发送窗口的大小是32,那么序列号个数至少33个
- 后退N帧的ARQ协议中,发送窗口WT≤(2^n)-1。
SR
- 在选择重传协议中,若采用n比特对帧进行编号,为避免接收端向前移动窗口后,新的窗口
与旧的窗口产生重叠,接收窗口的最大尺寸应该不超过序号范围的一半,即WR≤2^(n-1) - [2011统考真题]数据链路层采用选择重传协议(SR)传输数据,发送方已发送0~3号数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传的帧数是(2)。重传0和
五、介质访问控制
采用一定的措施,使得两对节点之间的通信不会互相干扰。
信道划分介质访问控制 (静态分配信道)
- 频分多路复用/ FDM(类似并行)
- 时分多路复用/ TDM(类似并发)
- 波分多路复用/ WDM(光的频分多路复用)
- 码分多路复用/ CDM(主要用于无线通信系统,特别是移动通信系统。)
没有码分多路复用
TDM与FDM相比,抗干扰能力强,可以逐级再生整形,避免干扰的积累,而且数字信号比较容易实现自动转换,所以根据FDM和TDM的工作原理,FDM适合于传输模拟信号 ,TDM适合于传输数字信号。
随机访问介质访问控制(动态分配信道)
所有用户可随机发送信息。发送信息时占全部带宽。
- ALOHA协议
- CSMA协议
- CSMA/CD协议
- CSMA/CA协议
- 轮询访问:令牌传递协议(谁有令牌谁老大)
ALOHA协议
- 纯 ALOHA协议
- 时隙ALOHA协议。
CSMA协议
- 1-坚持CSMA(监听到信道忙后,继续坚持监听信道;监听到信道空闲后,发送帧的概率为1,即立刻发送数据。)
- 非坚持CSMA(一个结点要发送数据时,首先监听信道;如果信道空闲,那么立即发送数据;如果信道忙,那么放弃监听,等待一个随机的时间后再重复上述过程。)
- p-坚持CSMA( p,1-p,p,1-p )
CSMA/CD协议
- 适用于总线型网络和半双工网络
- "先听后发,边听边发,冲突停发,随机重发"。
- 碰撞检测(C ollision Detection)就是边发送边监听,如果监听到了碰撞,则立即停止数据发送,等待一段随机时间后,重新开始尝试发送数据。
- CSMA/CD协议中定义的冲突检测时间(即争议期)是指,信号在最远两个端点之间往返传输的时间。
- 最短帧长等于争用期时间内发出的比特数。因此当传输速率提高时,可减少电缆介质的长度 (使争用期时间减少,即以太网端到端的时延减小),或增加最短帧长。
- 最小帧长=总线传播时延x数据传输速率x2
- CSMA/CD协议已成功应用于使用有线连接的局域网
CSMA/CD协议
- 广泛应用于无线局域网
CSMA/CD与CSMA/CA主要区别:
- CSMA/CD可以检测冲突,但无法避免;CSMA/CA发送数据的同时不能检测信道上有无冲突,本结点处没有冲突并不意味着在接收结点处就没有冲突,只能尽量避免。
- 传输介质不同。CSMA/CD用于总线形以太网,CSMA/CA用于无线局域网802.11a/b/g/n等。
- 检测方式不同。CSMA/CD通过电缆中的电压变化来检测;而CSMA/CA采用能量检测、载波检测和能量载波混合检测三种检测信道空闲的方式。
- 总结:CSMA/CA协议的基本思想是在发送数据时先广播告知其他结点,让其他结点在某段时间内不要发送数据,以免出现碰撞。CSMA/CD协议的基本思想是发送前监听,边发送边监听,一旦出现碰撞马上停止发送。