3. 链路层
3.1 数据链路层概述
1. 基本概念
结点:主机、路由器
链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报。
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。(就是将网络层交给它的数据报安全地、无差错地传给相邻节点,就像一个搬运工把货物安全地搬运到相邻的位置。)
2. 功能概述
在物理层提供服务的基础上向网络层提供服务,网络层来的数据可靠地传输到相邻节点的目标机网络层,其主要作用是加强物理层传输原始比特流的功能
- 功能一:为网络层提供服务;无确认无连接服务(更快,以太网),有确认无连接服务(无线通信),有确认面向连接服务(最安全可靠)
- 功能二:链路管理,即连接的建立、维持、释放(用于面向连接的服务)
- 功能三:组帧
- 功能四:流量控制(告诉发送方:你慢点发!接收方没有能力接收啦!控制一下发送方的速度。)
- 功能五:差错控制(帧错/位错)
3.2 封装成帧和透明传输
1. 封装成帧
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。
- 帧定界:首部和尾部的重要作用
- 帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止
- 组帧的四种方法:字符计数法;字符填充法;0比特填充法;违规编码法
2. 透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
eg:小秘看不见自己要传送的文件内容是什么,直接把文件安全地送到对面就可以了。大Boss看到文件安全地、完整地送到对面后感到很欣慰。就是因为小秘实现了透明传输。
3. 透明传输在组帧上的运用
-
字符计数法
- 帧首部使用一个计数字段(比如使用数据的第一个字节为计算字段)来标明帧内字符数。
- 举例:51234的第一个字节是5,那么就以5个字节为一帧;87890123的第一个字节是8,那么就以8个字节为一帧。
- 痛点:鸡蛋装在一个篮子里了。假如第一个字节的5发生错误变成了4,那么后面全会出错。字符计数法容易出错,我们不常用。
-
字符填充的首尾定界符法
- 当传送的帧是由文本文件组成时( 文本文件的字符都是从键盘上输入的,都是ASCII码,不会与SOH和EOT的八位比特不会有重复) 。不管从键盘上输入什么字符都可以放在帧里传过去,即透明传输。
- 当传送的帧是由非ASCII码的文本文件组成时(二进制代码的程序或图像等)。
就要采用字符填充方法实现透明传输。 -
比特填充的首尾标志法
-
-
优点:比特填充很容易由硬件实现,性能优于字符填充 4. 违规编码法
- 曼彻斯特编码中每一个码元或者说每一个比特它所对应的电平要么是高-低、要么是低-高。不会出现高高、低低这两种编码方式。因此这两种编码方式就是违规的编码方法。可以用“高高”,“低低”来定界帧的起始和终止。
- 由于字节计数法中Count字段的脆弱性(其值若有差错将导致灾难性后果)及字符填充实现上的复杂性和不兼容性,目前较普遍使用的帧同步法是比特填充和违规编码法
3.3 差错控制
1. 检错编码
1. 什么差错?(随机,突发)
- 原因:由于噪声引起的
- 全局性:由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。引起的差错是随机差错。
- 解决办法:提高信噪比来减少或避免干扰。(比如对传感器下手)
- 局部性:外界特定的短暂原因所造成的冲击噪声,引起的差错是突发差错,是产生差错的主要原因。
- 分类:位错(比特位出错),帧错(丢失,重复,失序)
2. 数据链路层的差错控制
假如一个帧数据在上面这条链路上发生了位错,因为路由器在链路层上,所以帧数据在经过路由器的时候就可以检测出来。
3. 检错编码——奇偶校验码
- x为1位的校验元(奇校验码就是校验元加0或1后使校验码1的各位变为奇数,偶校验码就是使校验码1的个数变成偶数),后面为n-1位信息元(也就是添加校验元之前的数据)。在原数据的基础上添加了校验元就变成了奇偶校验码。
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YrpoucAj-1637637959829)(C:\Users\杨小秋\Desktop\图 (1)]\图 (2).png)
- 答案选D
- 特点:只能检查出奇数个比特错误,检错能力为50%。两个比特错误就无能为力
4. 检错编码–CRC循环冗余码
- 核心思想:循环冗余码又称为多项式码,任何一个由二进制数位串(10011)组成的代码都可以和一个只含有0和1两个系数的多项式建立一一对应关系
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZJHWOqPt-1637637959830)(C:\Users\杨小秋\Desktop\图 (1)]\图 (3).png)
2. 纠错编码
- 海明码:发现双比特错,纠正单比特错。海明码纠错d位,需要码距为2d+1的编码方案,检错d位,则只需码距为d+1。(记住即可,这里不展开讲)
- 一个数据发生错误,很多校验码都会察觉出来,这些校验码会互相通气,究竟是哪个数据发生了错误。
3.4 流量控制与可靠传输机制
1. 流量控制,可靠传输,滑动窗口机制
1. 流量控制
- 较高的发送速度和较低的接收能力的不匹配,会造成传输出错
- 数据链路层与传输层流量控制的区别:
- 数据链路层的流量控制是点对点的(相邻节点之间),而传输层的流量控制是端到端的(主机之间)。
- 数据链路层流量控制手段:接收方收不下就不回复确认。传输层流量控制手段:接收端给发送端一一个窗口公告。
2. 流量控制方法
- 停止等待协议:效率比较低,需要等待对方确认
- 滑动窗口协议:收到确认后才移动窗口,但一次可以发送多个帧。
3. 三者的关系
2. 停止—等待协议
1. 停等协议
1.为什么要有停止-等待协议?
- 除了比特出差错,底层信道还会出现丢包问题。为了实现流量控制。
- 丢包:物理线路故障、设备故障、病毒攻击、路由信息错误等原因,会导致数据包的丢失。
2.停等协议的前提?
- 虽然现在常用全双工通信方式,但为了讨论问题方便,仅考虑一方发送数据(发送方),一方接收数据(接收方)。
- “停止等待”就是每发送完一个分组就停止发送,等待对方确认,在收到确认后再发送下一个分组。
2. 停等协议—无差错情况
3. 停等协议性能分析
- 优点:简单!;缺点:信道利用率太低!
- 确认帧只包含控制信息,不包含数据,所以它的宽度窄。
4. 信道利用率
- 信道利用率:U = ( L / C ) / T
- 信道吞吐率 = 信道利用率 * 发送方的发送速率
3. 后退N帧协议
1. 停等协议的弊端
- 必须增加序号范围
- 发送方需要缓存多个分组:传输过程中非常容易出现帧丢失的情况
2. 后退N帧协议中的滑动窗口
3. GEN发送方必须响应的三件事
1.上层的调用
2.收到了一个ACK
3.超时事件
4. GBN协议重点总结
1.累积确认(偶尔捎带确认) 2.接收方只按顺序接收帧,不按序无情丢弃 3.确认序列号最大的、按序到达的帧 4.发送窗口最大为2^n-1,接收窗口大小为1
5. 习题
4. 选择重传协议
1. GBN协议的弊端
2. 选择重传协议的滑动窗口
3. SR发送方必须响应的三件事
1.上层的调用
2.收到了一个ACK
3.超时事件:每个帧都有自己的定时器,一个超时事件发生后只重传一个帧
4. SR接收方要做的事
- SR接收方将确认一个正确接收的帧而不管其是否按序。失序的帧将被缓存,并返回给发送方一个该帧的确认帧[接收谁就确认谁],直到所有帧(即序号更小的帧)皆被收到为止,这时才可以将一批帧按序交付给上层,然后向前移动滑动窗口。
3.5 介质访问控制(MAC协议)
动态分配信道:信道并非在用户通信时固定分配给用户
1. 信道划分介质访问控制
介质访问控制:采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况
- 静态划分信道:信道在用户通信时固定分配,如果双方不说话就浪费了。
- 动态划分信道:信道并非在用户通信时固定分配,说话就分配资源,不说话就不占用资源。
1. 频分多路复用FDM
2. 时分多路复用
- 每一个时分复用的用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道
- 问题:假如A、B、C主机都休息了,只有D主机在发送信息,那么ABC的时隙就浪费了。于是有了改进的时分复用STDM
- STDM:STDM帧不是固定分配时隙,而是按需动态分配时隙(一人可以用整个信道)
3. 波分多路复用WDM
- 波分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率) 的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来
- 用得少
4. 码分多路复用CDM
5. 小结
- 频分复用:共享时间而不共享空间
- 时分复用:共享了空间,但不共享时间
- 码分复用:既共享了空间,也共享了时间
2. ALOHA协议
1. 纯Aloha协议
- Aloha网,是世界上最早的无线电计算机通信网
- 思想:不监听信道,不按时间槽发送,随机重发。想发就发
- 发生冲突:接收方在就会检测出差错,然后不予确认,发送方在一定时间内收不到就判断发生冲突。
- 冲突如何解决:超时后等一随机时间重传
2. 时隙Aloha协议
- 思想:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等到下一个时间片开始时刻再送。
- 理解:类似每个人都需要整点出发,不允许在其他时间出发。这样只可能在整点出现冲突。
3. 小结
3. CSMA协议
- 载波监听多路访问协议CSMA (carrier sense multiple access)
1. 1-坚持CSMA
-
思想
- 空闲则直接传输,不必等待。
- 忙则一直监听,直到空闲马上传输。
- 如果传输后有冲突(一段时间内未收到肯定回复),则等待一个随机长的时间再监听,重复上述过程。
-
优点
- 只要媒体空闲,站点就马上发送,避免了媒体利用率(信道的利用程度)的损失。
-
缺点
- 假如有两个或两个以上的站点有数据要发送,冲突就不可避免。
2. 非坚持CSMA
- 思想
- 如果一个主机要发送消息,那么它先监听信道。
- 空闲则直接传输,不必等待。
- 忙则等待一个随机的时间之后再进行监听。
- 优点
- 缺点
- 可能存在大家都在延迟等待过程中,使得媒体仍可能处于空闲状态,媒体使用率降低。
3. p-坚持CSMA
- 思想
- 如果一个主机要发送消息,那么它先监听信道。
- 空闲则以p概率直接传输,不必等待;概率1-p等待到下一个时间槽再传输。
- 忙则等待一个随机的时间之后再进行监听。
- 优点
- 既能像非坚持算法那样减少冲突,又能像1-坚持算法那样减少媒体空闲时间的这种方案。
- 缺点
- 发生冲突后还是要坚持把数据帧发送完,造成了浪费。有没有什么办法可以减少资源浪费(冲突就能发现呢?有——CSMA/CD协议!)
4. 小结
- 举例喝奶茶:
- 1-坚持的人:超想喝!到我了就买,没到我就排队等!
- 非坚持的人:不急喝。到我了就买,没到我就一会再来。
- p-坚持的人:随性喝。到我了按概率买(可能买也可能不买),没到就一会再来。
4. CSMA/CD协议
- 载波监听多点接入/碰撞检测CSMA/CD (carrier sense multiple access with collision detection)
1. 内容(2τ)
- CS:载波侦听/监听,每一个站在发送数据之前以及发送数据时都要检测一下总线上是否有其他计算机在发送数据。
- MA:多点接入,表示许多计算机以多点接入的方式连接在一根总线上。 所以该协议适用于总线型网络类型
- CD:碰撞检测(collision:冲突;detection:检测),“ 边发送边监听”,适配器边发送数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。类似半双工网络通信方式(对讲机)
- 问题:为什么还有冲突·?
- 因为电磁波在总线上总是以有限的速率传播的(有传播时延)。A给B发送数据的时电磁波还没到B,B就开始给A发送数据,他们的电磁波就会在路上发送冲突。
2. 传播时延对载波监听的影响
3. 确定碰撞后重传时机?截断二进制指数规避算法
5. CSMA/CA协议
- 载波监听多点接入/碰撞避免CSMA/CA (carrier sense multiple access with collision avoidance)
1.内容
- 无线局域网不能使用CSMA/CD的原因:
- 无法做到360°全面检测碰撞;
- 隐蔽站:当A向B发送数据时,C不知道,于是C也向B发送数据,此时C就叫做隐蔽站
2. 工作原理
-
发送数据前,先检测信道是否空闲 -
空闲则发出RTS包括发射端的地址、接收端的地址、下一份数据将持续发送的时间 等信息: 信道忙则等待。 -
接收端收到RTS 后, 将响应CTS ( clear to send ) 。 -
发送端收到CTS 后, 开始发送数据帧( 同时预约信道: 发送方告知其他站点自己要传多久数据) -
接收端收到数据帧后, 将用CRC 来检验数据是否正确, 正确则响应ACK 帧。 -
发送方收到ACK 就可以进行下一个数据帧的发送, 若没有则一直重传至规定重发次数为止( 采用二进制指数退避算法来确定随机的推迟时间)。
3. CSMA/CD与CSMA/CA
-
相同点:
- 其核心是先听再说。换言之,两个在接入信道之前都须要进行监听。当发现信道空闲后,才能进行接入。
-
不同点:
-
传输介质不同:CSMA/CD 用于总线式以太网[有线],而CSMA/CA用于无线局域网[无线]。 -
载波检测方式不同:因传输介质不同,CSMA/CD 与CSMA/CA的检测方式也不同。 CSMA/CD通过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电压就会随着发生变化; CSMA/CA采用能量检测(ED)、载波检测(CS) 和能量载波混合检测三种检测信道空闲的方式。 -
CSMA/CD检测冲突,CSMA/CA避免冲突,二者出现冲突后都会进行有上限的重传。
6. 轮训访问介质访问控制
1.回顾
- 信道
- 基于多路复用技术划分资源,信道固定划分。
- 网络负载重:共享信道效率高,且公平
- 网络负载轻:共享信道效率低(双方不说话,信道就浪费了,所以效率低)
- MAC协议(冲突)
- 用户根据意愿随机发送信息,发送信息时可独占信道带宽。信道并非固定划分。
- 网络负载重:产生冲突开销
- 网络负载轻:共享信道效率高,单个结点可利用信道全部带宽(说话时再分配资源,不说话就不分配资源,不会造成资源浪费,所以效率高)
- 轮询访问MAC协议
- 既要不产生冲突,又要发送时占全部带宽。
- 轮询协议、令牌传递协议
2. 轮询协议
-
内容
- 主结点主机轮流询问从属结点主机要不要发送数据,所有结点主机问完一遍以后再重复询问…
- 询问的过程其实就是发送一个数据帧,用来实现询问的作用。
-
问题
- 轮询开销(结点多开销大)
- 等待延迟(要等前面的问完)
- 单点故障(主节点宕机,其他也发送不了数据)
3. 令牌传递协议
- 令牌:
- 一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。
- 令牌环网无碰撞
- 每个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
- 问题:
- 1.令牌开销
- 2.等待延迟
- 3.单点故障(有一个发生宕机就无法通信,如果发生宕机,用替代机解决)
- 应用:
3.6 局域网(数据链路层)
1. 基本概念和体系结构
- 局域网内容
- 简称LAN,是指在某一区域内由多台计算机互联成的计算机组,使用广播式网络传输技术,共享公共通信信道。
- 局域网特点
- 覆盖地理范围小
- 专门的传输介质
- 通信时延低,误码率低,可靠性高
- 平等关系,共享信道
- 能广播,组播
- 拓扑结构
- 星型拓扑:中心节点是控制中心,两节点通信最多只需两步
- 总线型拓扑:相比最好
- 环形结构:有单点故障
- 树状结构:容易单点故障
- 局域网传输介质
- 有线局域网:双绞线,同轴电缆,光纤
- 无线局域网:电磁波
- 局域网介质访问控制方法
- CSMA/CD协议:总线型局域网(以太)
- 总线令牌:总线型局域网,树形网络
- 令牌环:环形局域网(令牌环网)
- 局域网分类(了解)
- IEEE802标准
- IEEE 802.3:以太网介质访问控制协议(CSMA/CD) 及物理层技术规范。
- IEEE 802.5:令牌环网(Token-Ring)的介质访问控制协议(令牌环令牌传递协议)及物理层技术规范。(令牌环有单点故障,呜呜呜555)
- IEEE 802.8:光纤技术咨询组,提供有关光纤联网的技术咨询。(记:光纤贵,有钱:发发发888)
- IEEE 802.11:无线局域网(WLAN)的介质访问控制协议(CSMA/CA)及物理层技术规范。
- LLC子层和MAC子层
- IEEE 802标准:对应数据链路层,物理层
- 数据链路层:LLC子层+MAC子层
2. 以太网
- 描述
- 由Xerox公司创建并由XerOX、Intel和DEC公司联合开发的基带总线(总线型拓扑)局域网规范
- 特点
- 造价低廉
- 应用最广泛
- 比其他网便宜,简单
- 满足网络速率需求
- 两个标准
- 以太网V2(DIX Ethernet V2):第一个局域网产品(以太网)规约
- IEEE 802.3: IEEE 802委员会802.3工作组制定的第一个IEEE的以太网标准
- 提供无连接,不可靠服务
- 无连接:无握手过程
- 不可靠:不对发送方的数据帧进行编号,接收方不向发送方进行确认,差错帧直接丢弃,差错纠正由高层(传输层)负责
- 总结:以太网只实现无差错接收(负责物理层和链路层之间),没有差错控制,实现不可靠传输。
- 传输介质
- 粗缆,细缆,双绞线,光纤(有不同适用情况)
- 传输速率:10Mb/s
- 拓扑结构:物理上星型拓扑,逻辑上总线型
- 介质访问控制协议:CSMA/CD
- 适配器(网卡)与MAC地址
- 计算机与外界局域网的连接是通过网络适配器(NIC)
- 适配器:处理器,存储器
- MAC地址:每个适配器有全球唯一的48位二进制地址
- 以太网MAC帧
- 格式:以太网有两个标准为以太网V2和IEEE 802.3,最常用的MAC帧是以太网V2的格式
- MAC帧组成
- 目的地址(6B):单播地址,广播地址
- 源地址(6B):设备本身的MAC地址
- 类型:指明网络层,以便把收到的MAC帧交到上一层
- 数据:长度46B~1500B
- FCS:CRC循环冗余检验中的冗余码/FCS帧校验序列
- **问题:**为什么目的地址和源地址的大小为6B?
- 每个适配器有一个全球唯一的48位二进制地址,48bit就是6B
- 高速以太网:(全双工无冲突)
- 100BASE-T以太网(交换机)
- 速度>2100Mb/s
- 在双绞线(T)上传送100Mb/s(100B)基带信号的星型拓扑以太网,仍使用IEEE802.3的CSMA/CD协议。因为在100BASE-T中还是会发送冲突。
- 吉比特以太网
- 在光纤或双绞线上传送1Gb/s信号
- 支持全双工和半双工,可在全双工方式下工作而无冲突
- 10吉比特
- 10吉比特以太网在光纤.上传送10Gb/s信号
- 只支持全双工,无争用问题
3. 无线局域网
- IEEE 802.11(无线局域网通用的标准)
- 802.11(无线局域网)的MAC帧头格式
- 无线局域网分类
7. 广域网PPP协议和HDLC协议
1. 广域网
2. 链路层PPP协议
- 特点:支持全双工,支持动态分配IP地址
- PPP应满足的要求
- 简单
- 封装成帧
- 透明传输
- 多层网络协议
- 多种类型链路
- 差错检测
- PPP无需满足的要求
- 组成部分
- 帧格式
3. 链路层HDLC协议
4. PPP协议和HDLC协议
- 相同点
- 都支持全双工
- 都实现透明传输
- 实现差错检测,不纠正差错
- 不同点
- PPP:面向字节,2B协议字段,无序号确认机制,不可靠
- HDLC:面相比特,没有,有编号确认机制,可靠
8. 链路层设备
1. 物理层扩展以太网
2. 链路层扩展以太网
- 网桥
- 透明网桥
- 源路由网桥
- 以太网交换机
- 以太网交换机两种交换方式
- 冲突域与广播域
9. 第三章总结
|