3.1 概述
(都是重点)
- 数据链路层的功能
- 电路层的两种信道
- 局域网、广域网
- 链路层的设备
数据链路层的基本概念
结点:主机、路由器
链路:网络中两个结点之间的**物理通道。链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
数据链路:网络中两个结点之间的逻辑通道。**把实现控制数据传输协议的硬件和软件加到链路_上就构成数据链路。
帧:链路层的协议数据单元,封装网络层数据报。
数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
功能
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
1 为网络层提供服务。无确认无连接服务,有确认无连接服务,有确认面向连接服务。(有连接一定有确认)
2. 链路管理,即连接的建立、维持、释放(用于面向连接的服务)
3. 组帧
4. 流量控制
5. 差错控制(帧错/位错)
3.2 封装成帧和透明传输
封装成帧
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
首部和尾部包含许多控制信息,其中一个重要作用:帧定界(确定帧的界限)。
**帧同步:**接收方应当能从接收到的二进制比特流中区分帧的起始和终止
最大传输单元 MTU
透明传输
透明传输是指不管所传数据是什么样的比特组合,都应当能够在链路上传送。因此,链路层就“看不见”有什么妨碍数据传输的东西。
当所传数据中的比特组合恰巧与某一一个控制信息完全一样时,就必须采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。这样才能保证数据链路层的传输是透明的。
组帧的四种方法
1.字符计数法
帧首部使用一个计数字段(第一个字节,八位)来表明帧内字符数。
2.字符(节)填充法
开始添加SOH,末尾添加EOT,作为开始结束的标志。
如果数据部分也有这个标志命令,那么填充转义字符ESC。
3.零比特填充法
开始结尾都是01111110,数据中遇到5个1,后面无脑加0
4.违规编码法
用编码中不会用到的编码方式,比如曼彻斯特编码中不会出现 高-高 和 低-低。
3.3.1 差错控制(检错编码)
差错来源
概括来说,传输中的差错都是由于噪声引起的。
全局性:1.由于线路本身电气特性所产生的随机噪声(热噪声),是信道固有的,随机存在的。
解决办法:提高信噪比来减少或避免干扰。(对传感器下手)
局部性:2.外接特定的短暂原因所造成的冲击噪声,是产生差错的主要原因。
解决办法:通常利用编码技术解决。
差错分为:位错 和 帧错。
数据链路层的差错控制
比特错
检错编码:奇偶校验码+ 循环冗余码CRC
纠错编码:海明码
检错编码 奇偶校验码
n-1个信息,1个校验码
奇校验是n个中,1的个数为奇数
偶校验是n个中,1的个数为偶数
只能检查出奇数个比特错误,检错能力为50%。
检错编码 CRC循环冗余码
求出冗余码,加到数据中即可。最终发送的数据:要发送的数据+帧检验序列FCS。
计算冗余码:
(1)加0:假设生成多项式G(x)的阶为r,则加r个0。TIPS:多项式N位,阶为N-1。
(2)模2除法:数据加0后除以多项式,余数为冗余码/FCS/CRC检验码的比特序列。
除的时候算差要异或。
3.3.2 差错控制(纠错编码)海明码
可以发现双比特错,纠正单比特错。
1.确定校验码位数r
海明不等式:
2
r
≥
k
+
r
+
1
2^r \geq k+r+1
2r≥k+r+1,其中r为冗余信息位,k为信息位。
2.确定校验码和数据的位置
设D=101101
假设4位校验码分别为P1,P2,P3,P4;数据从左到右为D1,D2,…D6。
P放在2的几次方的位置,D按照顺序把空填满。
3.求出校验码的值
求P:包括自身和所有校验位异或和为0。(要检验的位是二进制位上对应这个P是1的)
4.检错并纠错
再算一遍,然后按照P4P3P2P1的顺序组合,就是出错的地方。取反码即可。
3.4.1 流量控制与可靠传输(1)
数据链路层的流量控制
较高的发送速度和较低的接收能力的不匹配,会造成传输出错,因此流量控制也是数据链路层的一项重要工作。
数据链路层的流量控制是点对点的,而传输层的流量控制是端到端的。
数据链路层流量控制手段:接收方收不下就不回复确认。
传输层流量控制手段:接收端给发送端一一个 窗口公告。
这是两个路由之间的控制,而不是两个主机之间的。
流量控制的方法概述
(1)停止-等待协议
每发送完一个帧就停止发送,等待对方的确认,在收到确认后再发送下一个帧。
(2)滑动窗口 - 后退N帧协议(GBN)+ 选择重传协议(SR)
多个等待区。
3.4.2 停止-等待协议
最初是在数据链路层,现在更可靠了,所以会放在传输层,增快底层速率。
背景
丢包。
应用
(1)无差错
(2)有差错 1-数据帧丢失或检测到帧出错
无ACK,超时重传即可。
(3)有差错 2-ACK丢失
对于发送方来说还是没有ACK,所以超时重传,对于接收方第二次要覆盖第一次。
(4)有差错 3-ACK迟到
发送方超时重传,加一步发现ACK不对啊,所以丢弃,对于接收方继续覆盖。
性能分析
信道利用率 信道吞吐率 计算
信道利用率=(L/C)/T
T是发送周期
L是T时间内发送L比特的数据
C是发送方数据传输率
信道吞吐率=信道利用率*发送方的发送速率
例题:
3.4.3 后退N帧协议(GBN)
滑动窗口
发送窗口:发送方维持一组连续的允许发送的帧的序号。(维持多个备份)
接收窗口:接收方维持一组连续的允许接收帧的序号。
GBN发送方必须响应的三件事
1.上层的调用,如果自己满了就告诉上层等等
2…收到ACK,GBN协议中,对n号帧的确认采用累计确认,标明接收方已经收到n号帧和它之前的全部帧。
3.超时事件:如果超时,那发送方要重发所有已经发送但是没有被确认的帧。
GBN接收方要做的事
1.如果正确收到n号帧,并且按序,那么接收方为n帧发送一个ACK,并且将该帧中的数据部分交付给上层。
2.其他情况都丢帧,并且为最近按序接收的帧重新发送ACK。接收方需要维护一个下一个按序接收的帧序号,自己用变量法存储。
例子图解
滑动窗口长度
取决于用多少个比特对帧编号,比如用n个,发送窗口的大小W应该满足:1 <= W <= 2^n-1
如果等于1,就是停等了,但是也合法。
GBN协议重点总结
- 累计确认(偶尔捎带确认)
- 接收方只按顺序接受帧,不按序无情丢弃
- 确认序列号最大的、按序到达的帧
- 发送窗口最大为2^n-1,接受窗口大小为1
例题
3.4.4 选择重传协议(SR)
窗口分配
SR 发送方必须相应的三件事
注意的是2,3跟之前的区别。
SR 接收方要做的事
注意的是,如果来的是之前的帧,要重新发送一份ACK。
滑动窗口大小
W
T
m
a
x
=
W
R
m
a
x
=
2
(
n
−
1
)
W_{Tmax}=W_{Rmax}=2^{(n-1)}
WTmax=WRmax=2(n−1)。
当不满足这个式子的一个典型错误举例:
SR协议重点总结
- 对数据帧逐一确认,收一个确认一个
- 只重传出错帧
- 接收方有缓存
- W T m a x = W R m a x = 2 ( n − 1 ) W_{Tmax}=W_{Rmax}=2^{(n-1)} WTmax=WRmax=2(n−1)。
3.5.1 信道划分介质访问控制
传输数据使用的两种链路
点对点链路:相邻结点,一个链路相连。PPP协议,常用于广域网。
广播式链路:所有主机共享同心介质。早起的总线以太网、无线局域网,常用于局域网。典型拓扑结构:总线型、星型(逻辑总线型)。
介质访问控制
介质访问控制的内容是:采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。
信道划分介质访问控制(静态)
频分多路复用 FDM
所有用户在同样的时间用不同的带宽
时分多路复用 TDM
将时间划分为一段段登场的时分复用帧(TDM帧)。每一个用户在每一个TDM帧中占用固定序号的时隙,所有用户轮流占用信道。
改进的时分复用——统计时分复用 STDM
集线器有一个缓存等待输入
波分多路复用 WDM
跟频分多路复用差不多,这里是指逛的频率,光信号波长不同,互不干扰,用合波器合成,用分波器分解。
码分多路复用 CDM
码分多址(CDMA)是码分复用的一种方式。
每个主机有一个码,这些码相互正交。发送的比特是1,那么就是这个芯片序列,否则反相。然后多个处理后的芯片序列相加一起发出去。(正交所以相互不影响)
解析:
3.5.2 ALOHA协议
纯ALOHA协议思想
不监听信道,不按时间槽发送,随机重发。
遇到冲突,发送方不知道,等超时或者错误返回再重发。
时隙ALOHA协议
把时间分成若干个相同的时间片,所有用户在时间片开始时刻开始同步接入网络信道, 如果发生冲突,则必须等到下一个时间片开始时刻再发送(控制想发就发的随意性)。
ALOHA小总结
1.纯ALOHA比时隙ALOHA吞吐量更低,效率更低。
2.纯ALOHA想发就发,时隙ALOHA只有在时间片段开始时才能发。
3.5.3 CSMA协议
概念
载波监听多路访问协议 CSMA(carrier sense multiple access)
CS:载波侦听/监听
MA:多点接入
协议思想:发送帧之前,先监听信道
三种CSMA对比总结
3.5.4 CSMA-CD协议
CD:碰撞检测 collision detection,边发送边数据边检测信道上信号电压的变化情况,以便判断自己在发送数据时其他站是否也在发送数据。适用于半双工网络。
CS:比之前多一点,除了在发送数据前监听,在发送数据时也要监听。
传播时延对载波监听的影响
电磁波在传输的过程中发生了碰撞,可能检测的范围
(
0
,
2
τ
)
(0,2 \tau )
(0,2τ)
确定碰撞后重传时机
截断二进制指数规避法,步骤:
- 确定基本退避(推迟)时间为征用期 2 τ 2\tau 2τ
- 定义参数k,等于重传次数据,但k不超过10,即当重传次数小于等于10时,k=重传次数,否则k最大为10。
- 从离散的整数集合 [ 0 , 1 , , 2 k − 1 ] [0,1,,2^k-1] [0,1,,2k−1]中随机取出一个数r,重传所需要的退避时间就是r倍的基本退避时间,即 2 r ∗ τ 2r * \tau 2r∗τ。
- 当重传次数达16次仍不成功时,说明网络太拥挤,认为此帧永远无法正确发出,抛弃此帧并且向高层报告出错。
最小帧长问题
防止检测到碰撞帧已经发完了……
所以,帧的传输时延至少要两倍于信号在总线中的传播时延。
以太网规定最短帧长为64B,凡是长度小于64B的都是由于冲突而异常终止的无效帧。
CSMA/CD 协议大纲
3.5.5 CSMA-CA协议
载波监听多点接入/碰撞避免
CA是碰撞避免,CD是碰撞检测。
工作原理
- 检测,信道忙等待,不忙发送RTS。
- 接收端收到RTS之后,将对其响应CTS。
- 发送端收到CTS之后,开始发送数据帧(同时预约信道,发送方告知其他站点自己要传多久数据)
CSMA/CD与CSMA/CA的异同
3.5.6 轮询访问介质访问控制/轮询访问MAC协议/轮流协议/轮转访问MAC协议
三者的对比,产生冲突的是第二个。
本节课讲的分为:轮询协议+令牌传递协议*
轮询协议
主节点轮流“邀请”从属节点发送数据
问题:1.轮询开销(询问开销) 2.等待延迟(询问时间依次) 3.单点故障(主节点宕机)
令牌传递协议
令牌:一个特殊格式的MAC控制帧,不含任何信息。控制信道的使用,确保同一时刻只有一个结点独占信道。
令牌环网无碰撞。
每一个结点都可以在一定的时间内(令牌持有时间)获得发送数据的权利,并不是无限制地持有令牌。
问题:1. 令牌开销 2.等待延迟 3.单点故障
应用于令牌环网(物理星型拓扑,逻辑环形拓扑)
采用令牌传送方式的网络常用于负载较重、通信量较大的网络中。
3.6.1 局域网基本概念和体系结构
局域网,LAN,广播信道。
决定局域网的主要要素
1. 网络拓扑
星型拓扑,总线型拓扑(常用),环形拓扑,树形拓扑
2. 传输介质
有线局域网:双绞线,同轴电缆,光纤
无线局域网:电磁波
3. 介质访问控制方法
(1) CSMA/CD 常用于总线型局域网,(也可以树形网络)
(2)令牌总线 常用于总线型局域网,(也可以树形网络)
(3)令牌环 用于环形局域网,如令牌环网
局域网的分类
1.以太网 802.3 2.令牌环网 3.FDDI网 4,.ATM网 5.无线局域网 802.11 > WIFI
IEEE 802标准
局域网、城域网的技术标准。
IEEE 802.3 以太网
IEEE 802.5 令牌环网
IEEE 802.8 FDDI 光纤
IEEE 802.11 无线局域网
MAC子层和LLC子层
IEE 802的局域网描述的是OSI的数据链路层和物理层,把数据链路层分为了逻辑链路层LLC子层和介质访问控制MAC
子层。作用如下:
3.6.2 以太网
概述
以太网 Ehternet,基带总线局域网规范,CSMA/CD。
优点:
以太网的两个标准
DIX Ethernet V2:第一个局域网产品(以太网)规约。
IEEE 802.3:IEEE 802委员会802.3工作组制定的第一个IEEE的以太网标准(帧格式有一丢丢改动)
所以别名:802.3局域网
以太网提供无连接、不可靠的服务
无连接:无握手过程
不可靠:不对发送方的数据帧编号,接收方不向发送方进行确认,差错帧直接丢弃(),差错纠正由高层负责。(以太网只实现无差错接收,不实现可靠传输)
以太网传输介质与拓扑结构的发展
10BASE-T以太网
BASE - 传输基带信号, T表示使用双绞线,现在采用无屏蔽双绞线(UTP),传输速率10Mb/s。
特点:1. 物理上采用星型拓扑,逻辑上总线型,每段双绞线最长100m。
2.采用曼彻斯特编码。
3.采用CSMA/CD介质访问控制。
适配器与MAC地址
以太网MAC帧
现在常用的是以太网V2的格式。
FCS是CRC校验。
为什么没有结束标志?正常传输的曼彻斯特是有2个电压变化的,发送完了没有电压就代表结束了。
高速以太网
速率待遇100Mb/s
- 100BASE-T以太网,全双工就不用了CSMA/CD了,交换机会处理冲突域。
- 吉比特以太网
- 10吉比特以太网
3.6.3 无线局域网 IEEE802.11
WIFI 是IEEE802.11/g
802.11的MAC帧头格式
前两个地址是路由器,后两个是真正通信的手机。
还有其他的帧类型。BSSID是AP基站的MAC地址。
无线局域网的分类
1. 有固定设施的无线局域网
WIFI名字叫服务集标识符。
2. 无固定基础设施的无线局域网的自组织网络
3.7 PPP协议 & HDLC协议(广域网)
分组交换技术
目的:资源共享
因特网是世界范围内最大的广域网
广域网点对点比较多。
PPP协议
比如拨号电话连入因特网。
只支持全双工链路。
PPP协议应该满足的要求
PPP协议无需满足的要求
PPP协议的三个组成部分
LCP建立物理连接,NCP根据不同过的网络层协议建立逻辑连接。
PPP协议的状态图
PPP协议的帧格式
面向字节。
HDLC协议
在同步网,传输数据,面向比特,ISO开发的。
同样可以透明传输,“0比特插入法”,用硬件实现
全双工通信
所有帧CRC检验,可以编号,可防止漏收或重份,传输可靠性高。
HDLC的站
主站、从站、复合站
三种数据操作方式:
- 正常响应方式
- 异步平衡方式:每一个复合站都平等
- 异步响应方式:从站可以不经过主站同意。
HDLC的帧格式
地址A:1和3是从站地址,2是应答站的地址
控制C:只看前两位,具体分类如下
PPP协议和HDLC协议 异同
- 只 全双工
- 透明传输,PPP皆可以0比特填充,也可以字节填充,HDLC只能0比特
- 都可以实现差错检测(CRC),但不纠错
3.8 链路层设备
在物理层扩展以太网
在冲突域中同时只有1个计算机可以通信。
2种方式:
在链路层扩展以太网
2个设备:网桥 & 交换机
网桥![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2da5827dbdac3900f60737c26aeca7d8.png)
网桥会根据MAC帧的目的地址对帧进行转发的过滤。
网段:一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。
网桥的两端是2个网段。
网桥的优点:
- 过滤通信量,增大吞吐量。
- 扩大了物理范围
- 提高了可靠性(网络故障对其他网段无影响)
- 互联不同物理层、不同MAC层和不同速率的以太网。
网桥分类1 透明网桥
透明网桥:“透明”是指以太网上的站点并不知道所发送的帧将经过哪几个网桥,是一种即插即用的设备——
自学习:第一次在线路上传输遇到的时候要记录,进行学习,构建转发表。转发表更新很快,几分钟就重建一次。
网桥分类2 源路由网桥
源路由网桥:在发送帧时,把详细的最佳路由信息(路由最少/时间最短)放在帧的首部中。
方法:源站以广播的方式向欲通信的目的站发送一个发现帧。
多接口网桥——以太网交换机
独占传输媒体带宽:每一个集线器端口线路可以占用总带宽
以太网交换机的两种交换方式
(1)直通式交换机
查完目的地址(6B)就直接立刻转发。
延迟小,可靠性低,无法支持具有不同速率的端口的交换。
(2)存储转发式交换机(常用)
将帧放入高速缓存,并检查是否正确,正确则转发, 错误则丢弃。
延迟大,可靠性高,可以支持具有不同速率的端口的交换。
冲突域和广播域
例题: