计算机网络之数据链路层

[复习提示]

王道:本章是历年考试中考查的重点。要求在了解数据链路层基本概念和功能的基础上,重点掌握滑动窗口机制、三种可靠传输协议、各种MAC协议、HDLC协议和PPP协议,特别是CSMA/CD协议和以太网帧格式,以及局域网的争用期和最小帧长的概念、二进制指数退避算法。此外,中继器、网卡、集线器、网桥和局域网交换机的原理及区别也要重点掌握。

一、数据链路层的功能

  • 为网络层提供服务
  • 链路管理
  • 帧定界、帧同步与透明传输
  • 流量控制(对发送方控制)
  • 差错控制

注:

  • 为终端结点隐蔽物理传输的细节是物理层的功能,数据链路层不必考虑如何实现无差别的比特传输;

为网络层提供服务

  1. 无确认的无连接服务。
  2. 有确认的无连接服务。
  3. 有确认的面向连接服务。

无确认的无连接服务是指源机器向目标机器发送独立的帧,目标机器并不对这些帧进行确认。 事先并不建立逻辑连接,事后也不用释放逻辑连接。当错误率很低时 ,这一类服务非常合适,这时恢复任务可以留给上面的各层来完成。这类服务对于实时通信 也是非常合适的,因为实时通信中数据的迟到比数据损坏更不好。若由于线路上有噪声而造成某一帧丢失,则数据链路层并不会检测这样的丢帧现象,也不会回复。

  • 防止在传输过程中帧丢失,在可靠的数据链路层协议中,发送方对发送的每个数据帧设计一个定时器,当计时器到期而该帧的确认帧仍未到达时,发送方将重发该帧。
  • 为保证接收方不会接收到重复帧,需要对每个发送的帧进行编号;海明码和循环冗余校验码都用于差错控制。

二、组帧

组帧的目的:是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率。

  • 字符计数法(如:第一个帧: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协议的基本思想是发送前监听,边发送边监听,一旦出现碰撞马上停止发送。
相关推荐
u01090535912 分钟前
黑群晖安装教程
网络
IPFoxy6661 小时前
在线安全干货|如何更改IP地址?
网络
二进制杯莫停3 小时前
k8s pod网络故障注入,命令行实现
网络·容器·kubernetes
hgdlip3 小时前
电脑ip地址怎么换地区:操作步骤与利弊分析
网络·电脑·ip地址
域智盾系统3 小时前
电脑USB端口禁止软件有哪些?什么软件能指定USB端口禁用?分享四款好用软件!
网络·电脑
一个很帅的帅哥3 小时前
axios(基于Promise的HTTP客户端) 与 `async` 和 `await` 结合使用
javascript·网络·网络协议·http·async·promise·await
安科瑞刘鸿鹏5 小时前
分布式光伏发电系统如何确保电能质量达到并网要求?
服务器·网络·分布式·嵌入式硬件·能源
明天…ling7 小时前
Web前端开发
前端·css·网络·前端框架·html·web
温有情8 小时前
UDP_SOCKET编程实现
网络·网络协议·udp
MonkeyKing_sunyuhua8 小时前
安装 `privoxy` 将 Socks5 转换为 HTTP 代理
网络