📖 前言:数据链路层提供了一种在不可靠的物理介质上传输数据的方式,并负责在网络层和物理层之间提供一个可靠的通信连接。本文将对数据链路层进行详细的介绍,包括数据链路层的定义、协议、功能和应用等方面。
目录
- 🕒 0. 思维导图
- 🕒 1. 概述
- 🕒 2. 封装成帧
- 🕒 3. 差错检测
- 🕘 3.1 奇偶校验
- 🕘 3.2 循环冗余校验CRC(Cyclic Redundary Check)☆
- 🕒 4. 可靠传输
- 🕒 5. 点对点协议PPP
- 🕘 5.1 特点
- 🕘 5.2 组成
- 🕤 5.2.1 帧格式
- 🕤 5.2.2 透明传输
- 🕞 5.2.2.1 字节填充
- 🕞 5.2.2.2 零填充
- 🕤 5.2.3 差错检测
- 🕘 5.3 工作状态
- 🕒 6. 媒体接入控制
- 🕘 6.1 基本概念
- 🕘 6.2 静态划分信道
- 🕤 6.2.1 频分复用FDM
- 🕤 6.2.2 时分复用TDM
- 🕤 6.2.3 波分复用WDM
- 🕤 6.2.4 码分复用CDM
- 🕞 6.2.4.1 直接序列扩频DSSS
- 🕘 6.3 动态接入控制(随机接入)
- 🕤 6.3.1 CSMA/CD协议
- 🕞 6.3.1.1 争用期(碰撞窗口)
- 🕞 6.3.1.2 最小帧长
- 🕞 6.3.1.3 最大帧长
- 🕞 6.3.1.4 截断二进制指数退避算法
- 🕞 6.3.1.5 极限信道利用率
- 🕤 6.3.2 CSMA/CA
- 🕞 6.3.2.1 引入
- 🕞 6.3.2.2 概念
- 🕞 6.3.2.3 帧间间隔IFS
- 🕞 6.3.2.4 工作原理
- 🕞 6.3.2.5 退避算法
- 🕞 6.3.2.6 信道预约
- 🕞 6.3.2.7 虚拟载波监听
- 🕒 7. MAC地址
- 🕘 7.1 MAC地址格式
- 🕒 10. 集线器与交换机
- 🕘 10.1 概念
- 🕘 10.2 区别
- 🕘 10.3 以太网交换机自学习和转发帧的流程
- 🕘 10.4 以太网交换机的生成树协议STP
- 🕤 10.4.1 概述
- 🕤 10.4.2 原理
- 🕒 11. 虚拟局域网VLAN
- 🕘 11.1 概述
- 🕤 11.1.1 广播帧
- 🕤 11.1.2 分割广播域的方法
- 🕘 11.2 实现机制(拓展)
- 🕒 12. 高速以太网
- 🕘 12.1 100BASE-T 以太网
- 🕘 12.2 吉比特以太网
- 🕘 12.3 10 吉比特以太网 (10GE)
- 🕒 13. 课后习题
🕒 0. 思维导图
🕒 1. 概述
物理层发出去的信号需要通过数据链路层才知道是否到达目的地;才知道比特流的分界线。
链路(Link):就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
数据链路(Data Link):是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
数据链路层以帧为单位传输和处理数据
🕒 2. 封装成帧
定义:封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。
- 帧头和帧尾中含有重要的控制信息;
- 帧头帧尾的作用之一就是帧定界(变成比特传输后据此区分每个帧的起始和结束)
- 为了提高帧的传输效率,应当使帧的数据部分长度尽可能大
- 考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传送单元MTU(Maximum Transfer Unit)
透明传输:数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样(即保证接收方接到的数据是完整的数据)
-
面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输
- 转义字符:在数据里与定界符相同的字符前填充一个转义字符,在数据其它原有转义字符前也加一个转义字符。
-
面向比特的物理链路使用比特填充的方法实现透明传输
- 零比特填充:在发送前,对帧的数据部分进行扫描,每5个连续的比特1后就插入1个比特0,防止其与首部尾部的标志位混淆。接收方接收时将每5个连续的比特1后面的0剔除即可
高级数据链路控制协议HDLC采用帧头和帧尾中的标志字段作为帧定界符,其值为01111110;
类型字段:指明应用于帧数据字段的协议
🕒 3. 差错检测
实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1可能变成0,0可能变成1。这叫比特差错。
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Big Error Rate)。
使用差错检测码(如Mac帧尾的FCS)来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一。
🕘 3.1 奇偶校验
在待发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中“1”的个数为奇数(奇校验)或偶数(偶校验)。
- 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码;
- 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检)。
🕘 3.2 循环冗余校验CRC(Cyclic Redundary Check)☆
- 收发双方约定好一个生成多项式 G(x);
生成多项式举例:
G
(
x
)
=
x
4
+
x
2
+
x
+
1
=
1
⋅
x
4
+
0
⋅
x
3
+
1
⋅
x
2
+
1
⋅
x
1
+
1
⋅
x
0
\begin{array}{l} G(x)=x^{4}+x^{2}+x+1 \\ =1 \cdot x^{4}+0 \cdot x^{3}+1 \cdot x^{2}+1 \cdot x^{1}+1 \cdot x^{0} \end{array}
G(x)=x4+x2+x+1=1⋅x4+0⋅x3+1⋅x2+1⋅x1+1⋅x0
生成多项式各项系数构成的比特串:10111
常用的生成多项式:
C
R
C
−
16
=
x
16
+
x
15
+
x
2
+
□
CRC-CCITT
=
x
16
+
x
12
+
x
5
+
1
C
R
C
−
32
=
x
32
+
x
26
+
x
23
+
x
22
+
x
16
+
x
12
+
x
11
+
x
10
+
x
8
+
x
7
+
x
5
+
x
4
+
x
2
+
x
+
1
\begin{array}{l} C R C-16=x^{16}+x^{15}+x^{2}+\square \\ \text {CRC-CCITT }=x^{16}+x^{12}+x^{5}+1 \\ CRC-32=x^{32}+x^{26}+x^{23}+x^{22}+x^{16}+x^{12}+x^{11}+x^{10}+x^{8}+x^{7}+x^{5}+x^{4}+x^{2}+x+1 \\ \end{array}
CRC−16=x16+x15+x2+□CRC-CCITT =x16+x12+x5+1CRC−32=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1
注:算法要求生成多项式必须包含最低次项
- 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输;
- 接收方通过生成多项式来计算收到的数据是否产生了误码。
例1:待发送的信息为101001,生成多项式为 G ( x ) = x 3 + x 2 + 1 G(x)= x^3+ x^2+ 1 G(x)=x3+x2+1,计算余数。
计算步骤:
- 构造被除数:待发送信息后面添加生成多项式最高次数个0。
- 构造除数:生成多项式各项系数构成的比特串。
- 做“除法”
- 检查余数:余数的位数应与生成多项式最高次数相同,如果位数不够,则在余数前补0来凑足位数。
得到的 101001001 就可以发送了。
例2:接收到的信息为101101001,生成多项式为
G
(
x
)
=
x
3
+
x
2
+
1
G(x)= x^3+ x^2+ 1
G(x)=x3+x2+1,判断传输是否误码?
计算方法同上,最后检查余数,余数不为0,表明传输过程产生误码!
小结:
- 检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误。
- 要想纠正传输中的差错,可以使用冗余信息更多的纠错码进行前向纠错。但纠错码的开销比较大,在计算机网络中较少使用。
- CRC有很好的检错能力(漏检率非常低),虽然计算比较复杂,但非常易于用硬件实现,因此被广泛应用于数据链路层。
- 在计算机网络中通常采用检错重传方式来纠正传输中的差错,或者仅仅是丢弃检测到差错的帧,这取决于数据链路层向其上层提供的是可靠传输服务还是不可靠传输服务。
🕒 4. 可靠传输
不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做
可靠传输:想办法实现发送端发送什么,接收端就收到什么
-
一般情况下,有线链路的误码率比较低,为了减小开销,并不要求数据链路层向上提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理。
-
无线链路易受干扰,误码率比较高,因此要求数据链路层必须向上层提供可靠传输服务。
-
传输差错可分为两大类:
- 比特差错;
- 传输差错:帧丢失、帧重复或帧失序等。但一般不会出现在数据链路层,而会出现在其上层。
-
在数据链路层使用 CRC 检验,能够实现无比特差错的传输,但这还不是可靠传输,且并不提供对差错的纠正。
-
要做到可靠传输,还必须再加上帧编号、确认和重传等机制。
-
可靠传输服务并不仅局限于数据链路层,其他各层均可选择实现可靠传输。
-
可靠传输的实现比较复杂,开销也比较大,是否使用可靠传输取决于应用需求。
🕒 5. 点对点协议PPP
🕘 5.1 特点
用户计算机与ISP进行通信时,所使用的数据链路层协议通常就是点对点协议PPP(Point-to-Point Protocol)。PPP协议是目前使用最广泛的点对点数据链路层协议,也广泛应用于广域网路由器之间的专用线路。
在1999年公布的在以太网上运行的PPPoE协议,它使得lSP可以通过ADSL、电路调制解调器、以太网等宽带接入技术以太网接口的形式为用户提供接入服务。
PPP(Point-to-Point Protocol)和PPPoE(Point-to-Point Protocol over Ethernet)是两种不同的协议。
PPP 是一种用于在两个点之间进行通信的协议,常用于 dial-up 网络和 VPN 连接。PPP 协议提供了多种功能,包括身份验证、数据压缩和加密等,但是它不提供路由功能。
PPPoE 则是一种在以太网上运行 PPP 的协议。它使用了以太网帧来封装 PPP 数据包,并使用一种特殊的服务器/客户端模型来管理 PPP 连接。PPPoE 常用于 ADSL、光纤宽带等拨号上网方式,也可以用于小区宽带网络中。
因此,PPPoE 可以看作是在以太网上运行 PPP 的一种方式,而 PPP 则是一种通用的协议,不仅可以在以太网上运行,也可以在其他类型的网络上运行。
🕘 5.2 组成
PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:
- 对各种协议数据报的封装方法(封装成帧)
- 链路控制协议LCP 用于建立、配置以及测试数据链路的连接
- 一套网络控制协议NCPs 其中的每一个协议支持不同的网络层协议
🕤 5.2.1 帧格式
🕤 5.2.2 透明传输
🕞 5.2.2.1 字节填充
面向字节的异步链路采用插入转义字符的字节填充法
发送方:
- 如PPP帧的标志字段取值为7E(16进制),如果数据中出现7E则需要在数据前插入转义字符7D(16进制),并将原来的7E减20(16进制),所以7E在数据中最终会变成7D,5E
- 如果数据中有转义字符7D怎么办呢?可以在转义字符7D前再加一个转义字符7D,并将数据的7D减20(16进制),于是转义字符7D在数据中最终会变成7D,5D
- 数据中出现的每一个ASCII码控制字符(数值小于0x20的字符),则在该字符前面插入一个7D字节,同时将该字符的编码加上0x20。
接收方:进行反变换即可恢复出原来的帧的数据部分。
🕞 5.2.2.2 零填充
面向比特的同步链路采用插入比特0的比特填充法
发送方:对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,则立即填充1个比特0。
接收方:对帧的数据部分进行扫描(一般由硬件实现)。只要发现5个连续的比特1,就把其后的1个比特0删除。
🕤 5.2.3 差错检测
接收方每收到一个PPP
帧,就进行CRC
检验(多项式)。若CRC检验正确,就收下这个帧;反之就丢弃这个帧(不可靠传输服务)。检验由尾部的FCS实现
用于检验的多项式为
C
R
C
−
C
C
I
T
T
=
x
16
+
x
12
+
x
5
+
1
CRC-CCITT =x^{16}+x^{12}+x^{5}+1
CRC−CCITT=x16+x12+x5+1
🕘 5.3 工作状态
更多信息见博客:🔎 数据链路层协议详解
🕒 6. 媒体接入控制
🕘 6.1 基本概念
共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC(Medium Access Control)
随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术。
🕘 6.2 静态划分信道
信道复用:
- 复用(Multiplexing)是通信技术中的一个重要概念。复用就是通过一条物理线路同时传输多路用户的信号。
- 当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
- 在进行通信时,复用器和分用器总是成对地使用。
🕤 6.2.1 频分复用FDM
频分复用的所有用户同时占用不同的频带资源并行通信。
🕤 6.2.2 时分复用TDM
时分复用的所有用户在不同的时间占用同样的频带宽度。
🕤 6.2.3 波分复用WDM
🕤 6.2.4 码分复用CDM
码分复用CDM是另一种共享信道的方法。实际上,由于该技术主要用于多址接入,人们更常用的名词是码分多址CDMA(Code Division Multiple Access)。
同理,频分复用FDM和时分复用TDM同样可用于多址接入,相应的名词是频分多址FDMA(Frequency Division Multiple Access)和时分多址TDMA(Time Division Multiple Access)。
复用与多址的概念,可简单理解如下:
①复用是将单一媒体的频带资源划分成很多子信道,这些子信道之间相互独立,互不干扰。从媒体的整体频带资源上看,每个子信道只占用该媒体频带资源的一部分。
②多址(更确切地应该称为多点接入)处理的是动态分配信道给用户。这在用户仅仅暂时性地占用信道的应用中是必须的,而所有的移动通信系统基本上都属于这种情况。相反,在信道永久性地分配给用户的应用中,多址是不需要的(对于无线广播或电视广播站就是这样)。
③某种程度上,FDMA、TDMA、CDMA可以分别看成是FDM、TDM、CDM的应用。
-
与FDM和TDM不同,CDM的每一个用户可以在同样的时间使用同样的频带进行通信。
-
由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。
-
CDM最初是用于军事通信的,因为这种系统所发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
-
随着技术的进步,CDMA设备的价格和体积都大幅度下降,因而现在已广泛用于民用的移动通信中。
码片序列实现了扩频,扩频通常有 2 大类:
- 直接序列扩频 DSSS (Direct Sequence Spread Spectrum)
- 跳频扩频 FHSS (Frequency Hopping Spread Spectrum)
🕞 6.2.4.1 直接序列扩频DSSS
①在CDMA中,每一个比特时间再划分为m个短的间隔,称为码片(Chip)。通常m的值是64或128。为了简单起见,在后续的举例中,我们假设m为8。
②使用CDMA的每一个站被指派一个唯一的m bit码片序列(Chip Sequence)。
-
一个站如果要发送比特1,则发送它自己的m bit码片序列;
-
一个站如果要发送比特0,则发送它自己的m bit码片序列的二进制反码;
【举例】指派给CDMA系统中某个站点的码片序列为00011011
发送比特1:发送自己的码片序列00011011
发送比特0:发送自己的码片序列的二进制反码11100100
为了方便,我们按惯例将码片序列中的0写为-1,将1写为+1。则该站点的码片序列是(-1 -1 -1 +1+1 -1 +1+1)。
③码片序列的挑选原则如下:
-
分配给每个站的码片序列必须各不相同,实际常采用伪随机码序列。
-
分配给每个站的码片序列必须相互正交(规格化内积为0)。
- 令向量S表示站S的码片序列,令向量T表示其他任何站的码片序列。
- 两个不同站S和T的码片序列正交,就是向量S和T的规格化内积为
0
: S ⋅ T ≡ 1 m ∑ i = 1 m S i T i = 0 S \cdot T \equiv \frac {1}{m} \sum^m_{i=1}S_i T_i=0 S⋅T≡m1i=1∑mSiTi=0 - 任何一个码片向量和其它各站码片反码的向量的内积是
0
: S ⋅ T ˉ ≡ 0 S\cdot \bar{T} \equiv 0 S⋅Tˉ≡0 - 任何一个码片向量和该码片向量自己的规格化内积是
1
: S ⋅ S ≡ 1 S\cdot S \equiv 1 S⋅S≡1 - 任何一个码片向量和该码片反码的向量的内积是
-1
: S ⋅ S ˉ ≡ − 1 S\cdot \bar{S} \equiv -1 S⋅Sˉ≡−1
【习题1】假设给站S分配的码片序列为01011101,给站T分配的码片序列为10111000,这样的分配正确吗?
检查码片序列是否各不相同:满足
检查码片序列是否相互正交:不满足
根据题意可知,用向量S表示站S的码片序列(-1+1-1+1+1+1-1+1),用向量T表示站T的码片序列(+1-1+1+1+1-1-1-1)
S ⋅ T ≡ ( − 1 ) ( + 1 ) + ( + 1 ) ( − 1 ) + ( − 1 ) ( + 1 ) + ( + 1 ) ( + 1 ) + ( + 1 ) ( + 1 ) + ( + 1 ) ( − 1 ) + ( − 1 ) ( − 1 ) + ( + 1 ) ( − 1 ) 8 = − 1 − 1 − 1 + 1 + 1 − 1 + 1 − 1 8 ≠ 0 S \cdot T \equiv \frac{(-1)(+1)+(+1)(-1)+(-1)(+1)+(+1)(+1)+(+1)(+1)+(+1)(-1)+(-1)(-1)+(+1)(-1)}{8}=\frac{-1-1-1+1+1-1+1-1}{8} \neq 0 S⋅T≡8(−1)(+1)+(+1)(−1)+(−1)(+1)+(+1)(+1)+(+1)(+1)+(+1)(−1)+(−1)(−1)+(+1)(−1)=8−1−1−1+1+1−1+1−1=0
【2014年题37】站点A、B、C通过CDMA共享链路,A、B、C的码片序列分别是
(1,1,1,1) 、(1,-1,1,-1)和(1,1,-1,-1)。若C从链路上收到的序列是(2,0,2,0,0,-2,0,-2,0,2,0,2),则C收到A发送的数据是()
A.000
B.101
C.110
D.111
【解析】由于题目所给各站的码片序列为4位,因此将站点C收到的序列分成三部分,每部分也由4位组成:
(2,0,2,0) , (0,-2,0,-2) , (0,2,0,2)
将站点A的码片序列(1,1,1,1)分别与上述三个部分进行内积运算,根据结果可判断出A发送的数据(1,1,1,1)·(2,0,2,0)= (1×2 + 1x0 + 1x2+ 1×0) ÷ 4 = 1 (发送比特1)
(1,1,1,1)-(0,-2,0,-2)= (1x0 + 1x(-2)+ 1x0 +1×(-2)) ÷ 4 = -1(发送比特0)
(1,1,1,1)·(0,2,0,2)= (1x0 +1x2+1x0 +1×2)÷4= 1(发送比特1)
综上选B
🕘 6.3 动态接入控制(随机接入)
多个主机连接到一根总线上,当信息同一时间传送相遇时就会发生碰撞,如何协调各主机的工作,使信息避免碰撞是很重要的。
通常有两种接入方式:
- 随机接入:所有的用户可随机地发送信息。
- 受控接入:用户必须服从一定的控制。如轮询(polling)。
🕤 6.3.1 CSMA/CD协议
CSMA/CD协议曾经用于各种总线结构以太网和双绞线以太网的早期版本中。
现在的以太网基于交换机和全双工连接,不会有碰撞,因此没有必要使用CSMA/CD协议。
载波监听多址接入/碰撞检测 CSMA/CD( Carrier Sense Multiple Access/Collision Detection)【不用于无线网络】
多址接入MA:多个站连接在一条总线上,竞争使用总线。
载波监听CS:每一个站在发送帧之前先要检测一下总线上是否有其他站点在发送帧(先听后说)
- 若检测到总线空闲96比特时间,则发送这个帧;
- 若检测到总线忙,则继续检测并等待总线转为空闲96比特时间,然后发送这个帧。
96比特时间是指发送96比特所需要的时间,也称为帧间最小间隔。其作用是是接收方可以检测出一个帧的结束,同时也使得其他站点都能有机会平等竞争信道并发送帧
碰撞检测CD:每一个正在发送帧的站边发送边检测碰撞(边说边听)
- 一旦发现总线上出现碰撞,则立即停止发送,退避一段随机时间后再次发送(一旦冲突,立即停说,等待时机,重新再说)。
小结:先听后发、边发边听、冲突停发、延迟重发
🕞 6.3.1.1 争用期(碰撞窗口)
①为什么
τ
−
δ
2
\tau - \dfrac{\delta}{2}
τ−2δ时刻发送碰撞?
当D
开始发送的时,A
已经走了
τ
−
δ
\tau - \delta
τ−δ时间,所以剩下路程所需要的时间是
δ
\delta
δ。
又因为A
和D
发送速度是相同的,因此对于
δ
\delta
δ时间的路程,每人只需要走
δ
2
\dfrac{\delta}{2}
2δ时间就会相遇,即碰撞。
碰撞时刻
=
τ
−
δ
+
δ
2
=
τ
−
δ
2
=\tau - \delta +\dfrac{\delta}{2}=\tau -\dfrac{\delta}{2}
=τ−δ+2δ=τ−2δ
②为什么 t = τ t=\tau t=τ时,D检测到碰撞?
根据上边推论,发现D
走了
δ
2
\dfrac{\delta}{2}
2δ的时间路程后就发送了碰撞,此时它开始返回,经过同样的时间可以回到D
检测到碰撞时间 = δ 2 + δ 2 = δ =\dfrac{\delta}{2}+\dfrac{\delta}{2}=\delta =2δ+2δ=δ
③为什么 2 τ − δ 2\tau - \delta 2τ−δ时,A检测到碰撞?
与D
检测到碰撞同理,A
走了
τ
−
δ
2
\tau -\dfrac{\delta}{2}
τ−2δ时间,因此往回走也是这么多时间
A检测到碰撞时间
=
τ
−
δ
2
+
τ
−
δ
2
=
2
τ
−
δ
=\tau -\dfrac{\delta}{2}+\tau -\dfrac{\delta}{2}=2\tau - \delta
=τ−2δ+τ−2δ=2τ−δ
得出结论:
- 主机最多经过 2 τ 2\tau 2τ(即 δ → 0 \delta→0 δ→0)的时长就可以检测到本次发送是否遭受了碰撞
- 因此,以太网的端到端往返传播时延 2 τ 2\tau 2τ称为争用期或碰撞窗口期(或冲突检测时间)
- 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞
- 每一个主机在自己发送帧之后的一小段时间内,存在着遭遇碰撞的可能性。这一小段时间是不确定的。它取决于另一个发送帧的主机到本主机的距离,但不会超过总线的端到端往返传播时延,即一个争用期时间
- 显然,在以太网中发生帧的主机越多,端到端往返传播时延越大,发生碰撞的可能性就越大。因此,共享式以太网不能连接太多的主机,使用的总线也不能太长
- 10 M b / s 10Mb/s 10Mb/s以太网把争用期定为 512 b i t 512bit 512bit发送时间,即 51.2 μ s 51.2μs 51.2μs,因此其总线长度不能超过 5120 m 5120m 5120m,但考虑到其他一些因素,如信号衰减等,以太网规定总线长度不能超过 2500 m 2500m 2500m
🕞 6.3.1.2 最小帧长
Q:为什么需要规定最小帧长?
A:假设A向D发送帧,如果帧很短的话,在
2
τ
2\tau
2τ内就会将帧发送完毕,帧发送完毕后不会进行碰撞检测,而此时依然有发生碰撞的可能。所以必须保证在
2
τ
2\tau
2τ时间内帧不会被发送完,在这段时间里能够保持碰撞检测
- 以太网规定最小帧长为64字节,即512比特(512比特即争用期)
- 如果要发送的数据非常少,那么必须加入一些填充字节,使帧长不小于
64
字节
- 如果要发送的数据非常少,那么必须加入一些填充字节,使帧长不小于
- 以太网的最小帧长保证了主机可在帧发送完成之前就检测到该帧的发送过程中是否遭遇了碰撞
- 如果在争用期没有检测到碰撞,那么后续发送的数据就一定不会发生碰撞
- 如果在争用期检测到碰撞就立即中止发送,这时已经发送出去的数据一定小于
64
字节,因此凡长度小于64
字节的帧都是由于碰撞检测而异常中止的无效帧
【单选题】长度为10km,数据传输率为10Mb/s的CSMA/CD以太网,信号传播速率为200m/μs。那么该网络的最小帧长是
A、20bit
B、200bit
C、100bit
D、1000bit
解析:争用期
2
τ
=
10
k
m
200
m
/
μ
s
×
2
=
1
0
−
4
s
2\tau = \frac{10km}{200m/ \mu s} \times 2=10^{-4} s
2τ=200m/μs10km×2=10−4s
最短帧长=数据传输速率×争用期2
τ
\tau
τ =
10
M
b
/
s
×
1
0
−
4
s
=
1000
b
10Mb/s \times 10^{-4}s = 1000b
10Mb/s×10−4s=1000b
🕞 6.3.1.3 最大帧长
当帧过长时,其他线路会迟迟得不到资源,同时也可能导致接收方缓冲区溢出,因此帧的最大长度也有规定。
🕞 6.3.1.4 截断二进制指数退避算法
当帧发送碰撞后会停止发送,隔一段时间后再次发送,而具体隔多少时间再发送需要根据退避算法得出
- 若连续多次发生碰撞,就表明可能有较多的主机参与竞争信道。但使用上述退避算法可使重传需要推迟的平均时间随重传次数而增大(这也称为动态退避),因而减小发生碰撞的概率,有利于整个系统的稳定。
- 当重传达16次仍不能成功时,表明同时打算发送帧的主机太多,以至于连续发生碰撞,则丢弃该帧,并向高层报告。
🕞 6.3.1.5 极限信道利用率
考虑以下这种理想情况:
- 各主机发送帧都不会产生碰撞
- 总线一旦空闲就有某个主机立即发送帧
- 每帧的发送时延为 T 0 T_0 T0 ,传播时延为 τ \tau τ,占用信道的时间为 T 0 + τ T_0+\tau T0+τ
极限信道利用率: S m a x = T 0 T 0 + τ = 1 1 + τ T 0 S_{max}=\dfrac{T_0}{T_0+\tau}=\dfrac{1}{1+\dfrac{\tau}{T_0}} Smax=T0+τT0=1+T0τ1
为了令 S m a x S_{max} Smax尽量大,所以应该让 τ T 0 \dfrac{\tau}{T_0} T0τ尽量小,即 τ \tau τ尽量小(以太网端到端距离收到限制)或 T 0 T_0 T0尽量大(以太网帧尽量长)
帧发送流程:
帧接收流程:
【2009年题37】在一个采用CSMA/CD协议的网络中,传输介质是一根完整的电缆,传输速率为1Gbps,电缆中的信号传播速度是200 000km/s。若最小数据帧长度减少800比特,则最远的两个站点之间的距离至少需要()
A.增加160m
B.增加80m
C.减少160m
D.减少80m
【解析】设最远两个站点之间的距离为d(m),最小帧长为l(bit);
最小帧长=争用期×数据传输速率
l
=
(
d
200000
×
1
0
3
×
2
)
×
1
0
9
l=\left(\frac{d}{200000 \times 10^{3}} \times 2\right) \times 10^{9}
l=(200000×103d×2)×109
得出
d
=
l
10
d=\frac{l}{10}
d=10l
很显然,若最小帧长减少800 bit,最远的两个站点之间的距离至少会减少80m
【2010年 题47】某局域网采用CSMA/CD协议实现介质访问控制,数据传输速率为10Mbps,主机甲和主机乙之间的距离为2km,信号传播速度是200 000km/s。请回答下列问题,要求说明理由或写出计算过程。
(1)如主机甲和主机乙发送数据时发生冲突,则从开始发送数据时刻起,到两台主机均检测到冲突时刻止,最短需经过多长时间?最长需经过多长时间(假设主机甲和主机乙发送数据过程中,其他主机不发送数据)?
两主机同时发送数据,才能使得它们从开始发送数据时刻起,到它们都检测到冲突时刻止,所经过的时间最短。
这段时间包括主机发送的数据信号传播到距离中点处所耗费的传播时延,以及发生碰撞后的碰撞信号传播回主机所耗费的时间(与之前的传播时延相等)。即两主机间单程的传播时延2km÷200 000km/s = 0.01ms
甲发送的帧信号传播到无限接近乙的某个时刻,乙也要发送帧,它检测到信道空闲(但信道此时并不空闲),就立刻开始发送帧,这必然会导致碰撞。乙会首先检测到碰撞,一段时间后甲也会检测到碰撞。
从开始发送数据时刻起,到两台主机均检测到碰撞时刻止,最长需要经过的
时间为两台主机间信号传播的往返时延(争用期)(2km÷200 000km/s ) × 2= 0.02ms
🕤 6.3.2 CSMA/CA
🕞 6.3.2.1 引入
既然CSMA/CD协议已经成功地应用于使用广播信道的有线局域网,那么同样使用广播信道的无线局域网能不能也使用CSMA/CD协议呢?
-
在无线局域网中,仍然可以使用载波监听多址接入CSMA,即在发送帧之前先对传输媒体进行载波监听。若发现有其他站在发送帧,就推迟发送以免发生碰撞。
-
在无线局域网中,不能使用碰撞检测CD,原因如下:
- 由于无线信道的传输条件特殊,其信号强度的动态范围非常大,无线网卡上接收到的信号强度往往会远远小于发送信号的强度(可能相差百万倍)。如果要在无线网卡上实现碰撞检测CD,对硬件的要求非常高。
- 即使能够在硬件上实现无线局域网的碰撞检测功能,但由于无线电波传播的特殊性(存在隐蔽站问题),进行碰撞检测的意义也不大。
🕞 6.3.2.2 概念
载波监听多点接入/碰撞避免(CSMA/CA)(Carrier Sense Multiple Access/Collision Avoidance)【用于无线网络】
-
802.11无线局域网使用CSMA/CA协议,在CSMA的基础上增加了一个碰撞避免CA功能,而不再实现碰撞检测功能。
-
由于不可能避免所有的碰撞,并且无线信道误码率较高,802.11标准还使用了数据链路层确认机制(停止-等待协议)来保证数据被正确接收。
-
802.11的MAC层标准定义了两种不同的媒体接入控制方式:
- 分布式协调功能DCF(Distributed Coordination Function)。在DCF方式下,没有中心控制站点,每个站点使用CSMA/CA协议通过争用信道来获取发送权,这是802.11定义的默认方式。
- 点协调功能PCF(Point Coordination Function)。PCF方式使用集中控制的接入算法(一般在接入点AP实现集中控制),是802.11定义的可选方式,在实际中较少使用
🕞 6.3.2.3 帧间间隔IFS
802.11标准规定,所有的站点必须在持续检测到信道空闲一段指定时间后才能发送帧,这段时间称为帧间间隔IFS(InterFrame Space)
帧间间隔的长短取决于该站点要发送的帧的类型:
- 高优先级帧需要等待的时间较短,因此可优先获得发送权
- 低优先级帧需要等待的时间较长。若某个站的低优先级帧还没来得及发送,而其他站的高优先级帧已发送到信道上,则信道变为忙态,因而低优先级帧就只能再推迟发送了。这样就减少了发送碰撞的机会。
常用的两种帧间间隔如下:
- 短帧间间隔SIFS(28 μ s \mu s μs)。这是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站点应当能够在这段时间内从发送方式切换到接收方式。使用SIFS的帧类型由ACK帧、CTS帧、由过长的MAC帧分片后的数据帧、以及所有回答AP探询的帧和在PCF方式中接入点AP发送出的任何帧。
- DCF帧间间隔DIFS(128 μ s \mu s μs)。它比短帧间间隔SIFS要长得多,在DCF方式中用来发送数据帧和管理帧。
🕞 6.3.2.4 工作原理
①为什么源站检测到信道空闲后,还需要等待DIFS时间才将帧发送呢?
因为其他站此时可能有优先级更高的帧需要发送,因此有DIFS时间进行缓冲,若这个时间内没有高优先级的帧要发送,则说明信道是真正的空闲。
②为什么目的站接收到帧后还需要等到SIFS时间才返回ACK确认帧呢?
SIFS是最短的帧间间隔,用来分割一次对话的各帧,在这个时间里由发生方式切换到接收方式。
③当其他站要发送数据,但是发现此时信道正忙时就会退避一段时间,等信道不忙后再进行操作,接着等待DIFS时间(与①同理),但为什么等待了DIFS时间后还要退避一段随机时间呢?
因为可能有多个站点在信道忙时都想发送帧,因此它们都会被搁置直至信道不忙,在DIFS时间后他们会同时发送,而实际上多个站点同时发送数据会碰撞。因此需要一个随机时间将他们进行错峰发送。
🕞 6.3.2.5 退避算法
概念:多个站点发送冲突时,各个站点需要退避一段随机时间再进行操作。
当站点检测到信道是空闲的,并且所发送的数据帧不是成功发送完上一个数据帧之后立即连续发送的数据帧,则不使用退避算法。
以下情况必须使用退避算法:
- 在发送数据帧之前检测到信道处于忙状态时;
- 在每一次重传一个数据帧时;
- 在每一次成功发送后要连续发送下一个帧时(这是为了避免一个站点长时间占用通道)
过程:
- 在执行退避算法时,站点为退避计时器设置一个随机的退避时间:
- 当退避计时器的时间减小到0,就开始发送数据;
- 当退避计时器的时间还未减小到0时信道又转变为忙状态,这时就冻结退避计时器的数值,重新等待信道变为空闲,再经过DIFS后,继续启动退避计时器;
- 在进行第i次退避时,退避时间在时隙编号 { 0 , 1 , . . , 2 i + 1 − 1 } \{0,1,..,2^{i+1}-1\} {0,1,..,2i+1−1}中随机选择一个,然后乘以基本退避时间(也就是一个时隙的长度)就可以得到随机的退避时间。这样做时为了使不同站点选择相同退避时间的概率减少。当时隙编号达到255时(对应第6次退避)就不再增加了。
🕞 6.3.2.6 信道预约
概念:为了尽可能减少碰撞的概率和降低碰撞的影响,802.11标准允许要发送数据的站点对信道进行预约。
- 源站在发送数据帧之前先发送一个短的控制帧,称为请求发生RTS(Request To Send),它包括源地址、目的地址以及这次通信(包括相应的确认帧)所需的持续时间。
- 若目的站正确收到源站发来的RTS帧,且媒体空闲,就发送一个响应控制帧,称为允许发送CTS(Clear To Send),它也包括这次通信所需的持续时间(从RTS帧中将此持续时间复制到CTS帧中)。
- 源站收到CTS帧后,再等待一段时间SIFS后,就可发送其数据帧
- 如果RTS帧发送碰撞,源站就收不到CTS帧,需执行退避算法重传RTS帧。
- 由于RTS帧和CTS帧很短,发生碰撞的概率、碰撞产生的开销及本身的开销都很小。而对于一般的数据帧,其发送时延往往大于传播时延(因为是局域网),碰撞的概率很大,且一旦发生碰撞而导致数据帧重发就会浪费很多时间,因此用很小的代价对信道进行预约往往是值得的。802.11标准规定了3种情况供用户选择
- 使用RTS帧和CTS帧
- 不使用RTS帧和CTS帧
- 只有当数据帧的长度超过某一数值时才使用RTS帧和CTS帧
- 若目的站正确收到了源站发来的数据帧,在等待时间SIFS后,就向源站发送确认帧ACK。
- 除源站和目的站以外的其他各站,在收到CTS帧(或数据帧)后就推迟接入到无线局域网中。这样就保证了源站和目的站之间的通信不会收到其他站的干扰。
🕞 6.3.2.7 虚拟载波监听
概念:除RTS帧和CTS帧会携带通信需要持续的时间,数据帧也能携带通信需要持续的时间,这称为802.11的虚拟载波监听机制
由于利用虚拟载波监听机制,站点只要监听到RTS帧、CTS帧或数据帧中的任何一个,就能知道信道被占用的持续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题。
如下图,A与C虽然互相覆盖不到,但是C可收到B发出的关于A的CTS帧,从而得知A需要占用信道的时间。在这段时间里,C不发送数据,从而解决隐蔽站带来的碰撞问题
【2011年 题36】下列选项中,对正确接收到的数据帧进行确认的MAC协议是( )
A.CSMA
B.CDMA
C.CSMA/CD
D.CSMA/CA
【解析】
CSMA是指载波监听多址接入,并不使用确认机制;
CSMA/CD是指载波监听多址接入/碰撞检测,是对CSMA的改进,是早期共享信道以太网使用的信道访问控制协议,并不使用确认机制;
CSMA/CA是指载波监听多址接入/碰撞避免,是802.11局域网采用的无线信道访问控制协议。802.11局域网在使用CSMA/CA的同时,还使用停止-等待协议。这是因为无线信道的信质量远不如有线信道,因此无线站点每发送完一个数据帧后,要等到收到对方的确认帧后才能继续发送下一帧;
CDMA是指码分多址,属于静态划分信道,是物理层的信道复用技术,而不属于MAC协议
因此选D。
【2013年题36】下列介质访问控制方法中,可能发生冲突的是()
A.CDMA
B.CSMA
C.TDMA
D.FDMA
【解析】
CDMA(Code Division Multiplex Access)是指码分多址;
TDMA(Time Division Multiplex Access)是指时分多址;
FDMA(Frequency Division Multiplex Access)是指频分多址;
CSMA(Carrier Sense Multiple Access)是指载波监听多址接入;
TDMA,FDMA,CDMA是常见的物理层信道复用技术,属于静态划分信道用于多用户共享信道,不会发生冲突。
CSMA属于争用型的媒体接入控制协议,连接在同一媒体上的多个站点使用该协议以竞争方式发送数据帧,可能出现冲突(也称为碰撞)
因此选B。
🕒 7. MAC地址
MAC地址是以太网的MAC子层所使用的地址
- 只有一条路径的信道不需要地址,因为没得选;
- 当多个主机连接在同一个广播信道上,要想实现两个主机之间的通信,则每个主机都必须有一个唯一的标识,即一个数据链路层地址;
- 在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC(Media Access Control),因此这类地址被称为MAC地址;
-
MAC地址一般被固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址;
-
MAC地址有时也被称为物理地址。但是MAC地址不属于物理层而是属于数据链路层;
-
- 一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。每个网络适配器都有一个全球唯一的MAC地址。而交换机和路由器往往拥有更多的网络接口,所以会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识。
🕘 7.1 MAC地址格式
查看已分配的组织唯标识符OUI:🔎 IEEE官网
🔎 MAC地址查询
字节发送顺序:第一字节 → 第六字节
字节内的比特发送顺序:
b
0
b_0
b0 →
b
7
b_7
b7
单播地址、广播地址与多播地址:
- 单播MAC地址即明确的目的MAC地址。将此地址填入帧的目的地址栏中,接收到该帧的主机将此地址与自身MAC地址进行匹配,若相同则接收,不同则丢弃;
- 广播MAC地址为
FF-FF-FF-FF-FF-FF
,将此地址填入帧的目的地址栏中,接收到该帧的主机检索该地址发现是广播地址,因此接收该帧; - MAC地址中第一字节后4比特(即第2位)十六进制数不能整除2(即为1,3,5,7,9,B,D,F)时,MAC地址是多播地址。将此地址填入帧的目的地址栏中,接收到该帧的主机将此多播地址与自己多播组列表中的地址进行逐一配对,如果有匹配的项,则接收,否则丢弃。举例:A发送多播帧给多播地址是07-E0-12-F6-2A-D8,则07中的7(二进制为0111)不能整除2,符合条件。
随机MAC地址:现已支持绝大多数设备,以减少被跟踪的可能。
🕒 10. 集线器与交换机
🕘 10.1 概念
集线器HUB:主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。
- 使用集线器的以太网在逻辑上仍是一个总线网,各站共享总线资源,使用的还是CSMA/CD协议;
- 集线器只工作在物理层,它的每个接口仅简单地转发比特,不进行碰撞检测(由各站网卡检测);
- 集线器一般都有少量的容错能力和网络管理功能。例如,若网络中某个网卡出了故障,不停地发送帧。此时,集线器可以检测到这个问题,在内部断开与出故障网卡的连线,使整个以太网仍然能正常工作;
- 集线器是半双工模式,收发不能同时进行,收到帧后会广播到除本身接口外的各个接口。
交换机SWITCH:一种负责转发信号的网络设备,可以为接入交换机的任意两个网络节点提供独享的电信号通路,它的前身是网桥。
接下来的举例忽略ARP过程,并假设交换机的帧交换表已“学习好了”
- 以太网交换机通常由多个接口,因此也称为多端口网桥,每个接口都可以直接与一台主机或另一个以太网交换机相连。一般都工作在全双工方式;
- 以太网交换机具有并行性,能同时连通多对接口,使多对主机能同时通信,无碰撞(不使用CSMA/CD协议);
- 以太网交换机一般都具有多种速率的接口;
- 以太网交换机工作在数据链路层(也包括物理层),它收到帧后,在帧交换表中查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧;
- 以太网交换机是一种即插即用的设备,其内部的帧交换表是通过自学习算法自动地逐渐建立起来的
- 帧的两种转发方式:
- 存储转发
- 直通交换:采用基于硬件的交叉矩阵(交换时延非常小,但不检查是否有差错)
- 交换机每个接口是一个独立的碰撞域
🕘 10.2 区别
集线器HUB:
- 早期以太网的互连设备;
- 工作在OSI体系结构的物理层对接收到的信号进行放大、转发;
- 使用集线器作为互连设备的以太网仍然属于共享总线式以太网。集线器互连起来的所有主机共享总线带宽,属于同一个碰撞域和广播域。
交换机SWITCH:
- 目前以太网中使用最广泛的互连设备;
- 工作在OSI体系结构的数据链路层(也包括物理层)根据MAC地址对帧进行转发;
- 使用交换机作为互连设备的以太网,称为交换式以太网。交换机可以根据MAC地址过滤帧,即隔离碰撞域;
- 交换机的每个接口是一个独立的碰撞域;
- 交换机隔离碰撞域但不隔离广播域(VLAN除外);
🕘 10.3 以太网交换机自学习和转发帧的流程
假设各主机知道网络中其他各主机的MAC地址(无需进行ARP)
以太网交换机进行自学习时使用的PDU(Protocol Data Unit,协议数据单元)地址是源物理地址,进行转发决策时使用的PDU地址是目的物理地址
小结:
- 以太网交换机自学习和转发帧的流程:
- 收到帧后进行登记。登记的内容为帧的源MAC地址及进入交换机的接口号;
- 根据帧的目的MAC地址和交换机的帧交换表对帧进行转发,有以下三种情况:
- 明确转发:交换机知道应当从哪个(或哪些)接口转发该帧(单播、多播、广播)
- 盲目转发:交换机不知道应当从哪个端口转发帧(或转发表是空的),只能将其通过除进入交换机的接口外的其他所有接口转发(也称为泛洪)。
- 明确丢弃:交换机知道不应该转发该帧,将其丢弃。
- 帧交换表中的每条记录都有自己的有效时间,到期删除。原因如下:
- 交换机的接口改接了另一台主机;
- 主机更换了网卡。
🕘 10.4 以太网交换机的生成树协议STP
🕤 10.4.1 概述
添加冗余链路可以提高以太网的可靠性,但是,冗余链路也会带来负面效应——形成网络环路
网络环路会带来以下问题:
- 广播风暴:如右下图发送一个广播帧会顺时针和逆时针转发一遍,大量消耗网络资源,使得网络无法正常转发其他数据帧;
- 主机收到重复的广播帧:大量消耗主机资源
- 交换机的帧交换表震荡(漂移/内容不断更新)
因此,以太网交换机使用生成树协议STP(Spanning Tree Protocol),可以在增加冗余链路来提高网络可靠性的同时又避免网络环路带来的各种问题。
🕤 10.4.2 原理
- 不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树型的(无逻辑环路);
- 最终生成树的逻辑拓扑要确保连通整个网络;
- 当首次连接交换机或网络物理拓扑发生变化时(有可能是人为改变或故障),交换机都将进行生成树重新计算。
工作原理见博客数据链路层协议
🕒 11. 虚拟局域网VLAN
🕘 11.1 概述
🕤 11.1.1 广播帧
一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求,每个VLAN就是一个独立的广播域
为什么需要VLAN?
随着交换式以太网规模的扩大,广播域相应扩大,而巨大的广播域会带来很多弊端
- 广播风暴:如数台交换机连接了数台主机,当主机A要向主机B发送数据帧,此时各交换机的MAC表均为空,因此帧每到一个交换机就会进行泛洪,由于网络巨大,因此泛洪的范围也巨大
- 难以管理和维护:传统的以太网交换机在转发数据时,通过自学习形成转发表,然后依据此表进行以太网帧的转发,整个转发的过程自动完成,所有端口都可以互访,维护人员无法控制端口之间的转发。
- 潜在的安全风险
网络中会频繁出现广播信息
- TCP/IP协议栈中的很多协议都会使用广播:
- 地址解析协议ARP(已知IP地址,找出其相应的MAC地址)
- 路由信息协议RIP(一种小型的内部路由协议)
- 动态主机配置协议DHCP(用于自动配置IP地址)
- NetBEUI:Widnows下使用的广播型协议
- IPX/SPX:Novell网络的协议栈
- Apple Talk:Apple公司的网络协议栈
🕤 11.1.2 分割广播域的方法
- 使用路由器可以隔离广播域:但路由器的成本较高,大规模使用不现实
- 虚拟局域网VLAN(Virtual Local Area Network):是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
🕘 11.2 实现机制(拓展)
更多信息见博客:🔎 数据链路层协议详解
🕒 12. 高速以太网
🕘 12.1 100BASE-T 以太网
定义:速率达到或超过 100 Mbit/s
的以太网称为高速以太网,也称为快速以太网(fase Ethernet)。(IEEE 802.3u)
特点:
- 可在全双工方式下工作而无冲突发生。在全双工方式下工作时,不使用 CSMA/CD 协议。
- MAC 帧格式仍然是 802.3 标准规定的。
- 保持最短帧长不变,但将一个网段的最大电缆长度减小到
100 m
。 - 帧间时间间隔变短10倍,从原来的9.6us改为现在的0.96us。
名称 | 媒体 | 网段最大长度 | 特点 |
---|---|---|---|
100BASE-TX | 铜缆 | 100 m | 两对 UTP 5 类线或屏蔽双绞线STP |
100BASE-T4 | 铜缆 | 100 m | 4 对 UTP 3 类线或 5 类线 |
100BASE-FX | 光缆 | 2000 m | 2 根光纤,发送和接收各用一根 |
🕘 12.2 吉比特以太网
定义:允许在 1 Gbit/s
下以全双工和半双工两种方式工作。
特点:在半双工方式下使用CSMA/CD 协议,全双工方式不使用CSMA/CD 协议。
名称 | 媒体 | 网段最大长度 | 特点 |
---|---|---|---|
1000BASE-SX | 光缆 | 550 m | 多模光纤(50 和 62.5 μ \mu μm) |
1000BASE-LX | 光缆 | 5000 m | 单模光纤(10 mm)多模光纤(50 和 62.5 μ \mu μm) |
1000BASE-CX | 铜缆 | 25 m | 使用 2 对屏蔽双绞线电缆 STP |
1000BASE-T | 铜缆 | 100 m | 使用 4 对 UTP 5 类线 |
吉比特以太网工作在半双工方式时,就必须进行碰撞检测。为保持 64 字节最小帧长度,以及 100 米的网段的最大长度,吉比特以太网增加了两个功能载波延伸和分组突发,但在全双工方式下不是这两个功能。
- 载波延伸(carrier extension)
- 使最短帧长仍为 64 字节(这样可以保持兼容性),同时将争用时间增大为 512 字节。
- 凡发送的MAC帧长度不足512字节时,就用一些特殊字符填充在帧的后面,使MAC帧的发送长度增大到512字节。接收端在收到以太网的MAC帧后,要将所填充的特殊字符删除后才向高层交付。
- 分组突发(packet bursting)
- 当很多短帧要发送时,第一个短帧要采用载波延伸方法进行填充,随后的一些短帧则可一个接一个地发送,只需留有必要的帧间最小间隔即可。这样就形成可一串分组的突发,直到达到 1500 字节或稍多一些为止。
当吉比特以太网工作在全双工方式时,不使用载波延伸和分组突发。
🕘 12.3 10 吉比特以太网 (10GE)
特点:
- 万兆比特。
- 与 10、100 Mbit/s 和 1 Gbit/s 以太网的帧格式完全相同。
- 保留了 IEEE 802.3 标准规定的以太网最小和最大帧长。
- 只使用光纤作为传输媒体。
- 只工作在全双工方式,没有争用问题,不使用 CSMA/CD 协议。
名称 | 媒体 | 网段最大长度 | 特点 |
---|---|---|---|
10GBASE-SR | 光缆 | 300 m | 多模光纤(0.85 μ \mu μm) |
10GBASE-LR | 光缆 | 10 km | 单模光纤(1.3 μ \mu μm) |
10GBASE-ER | 光缆 | 40 km | 单模光纤(1.5 μ \mu μm) |
10GBASE-CX4 | 铜缆 | 15 m | 使用 4 对双芯同轴电缆 (twinax) |
10GBASE-T | 铜缆 | 100 m | 使用 4 对 6A 类 UTP 双绞线 |
🕒 13. 课后习题
-
【判断题】连接企业网络各区域,处于核心位置的交换机称为汇聚交换机。
-
【单选题】从表面上看,FDM比TDM能更好地利用信道的传输能力,但现在计算机网络更多地使用TDM而非FDM,其原因是( )。
A、FDM实际能力更差
B、TDM可用于数字传输而FDM不行
C、FDM技术不成熟
D、TDM能更充分地利用带宽 -
【单选题】下列属于数据链路层互连设备的是
A、集线器
B、网桥和交换机
C、路由器
D、网关 -
【单选题】以下关于数据链路层的基本概念的描述中错误的是()。
A、相邻高层是网络层
B、可以在释放物理连接之后建立数据链路
C、采用差错控制与流量控制方法使有差错的物理线路变成无差错的数据链路
D、数据链路层的数据传输单元是帧 -
【单选题】网卡实现的主要功能在
A、物理层和数据链路层
B、数据链路层和网络层
C、物理层和网络层
D、数据链路层和应用层 -
【单选题】数据链路层协议的功能不包括( )。
A、定义数据格式
B、提供结点之间的可靠传输
C、控制对物理传输介质的访问
D、为终端结点隐蔽物理传输的细节 -
【单选题】某个数据链路层协议使用下列字符编码:
字符A的编码为01000111
字符B的编码为11100011
字符ESC的编码为11100000
字符FLAG的编码为01111110
是使用字符FLAG作为帧定界符,字符ESC作为转义字符。现在要将待传输的4个字符A、B、ESC、FLAG封装成帧。若物理链路是面向字符的,则封装出的帧的二进制位序列是
A、11100000 01000111 11100011 11100000 01111110 11100000
B、01111110 01000111 11100011 11100000 01111110 01111110
C、01111110 01000111 11100011 11100000 11100000 11100000 01111110 01111110
D、11100000 01000111 11100011 11100000 11100000 11100000 01111110 11100000 -
【判断题】异步传输中,字节内的比特传输不需要同步。
-
【单选题】CSMA/CD以太网发生冲突时,采用截断二进制指数退避算法进行处理。下列数据帧重传时再次发生冲突的概率最低的是( )
A、首次重传的帧
B、发生两次重传的帧
C、发生三次重传的帧
D、发生四次重传的帧 -
【单选题】CSMA/CD以太网采用截断二进制指数退避算法,在12次碰撞之后,站点会在0~( )倍的基本退避时间之间选择一个随机数
A、255
B、511
C、1023
D、2047 -
【单选题】以下几种CSMA协议中,( )协议在监听到介质空闲时仍可能不发送。
A、1-坚持CSMA
B、非坚持CSMA
C、p-坚持CSMA
D、以上都不是 -
【单选题】假设一个采用CSMA/CD协议的1000Mbps局域网,最小帧长为256B,则在一个冲突域内两个站点之间的单向传播延时最多是()
A、1.024μs
B、2.048μs
C、4.096μs
D、8.192μs -
【单选题】在CSMA的非坚持协议中,当媒体忙时,则( )直到媒体空闲。
A、延迟一个固定的时间单位再侦听
B、继续侦听
C、延迟一个随机的时间单位再侦听
D、放弃侦听 -
【单选题】使用CSMA/CD的以太网,若提高数据传输速率,为了不影响碰撞检测,可以使用的解决方法是
A、增加最短帧长或增加传输介质长度
B、减少最短帧长或增加传输介质长度
C、增加最短帧长或减少传输介质长度
D、减少最短帧长或减少传输介质长度 -
【单选题】下面有关CSMA/CA协议的描述中,错误的是
A、CA是碰撞避免的意思
B、DCF帧间间隔DIFS用来分隔开属于一次对话的各帧
C、使用RTS帧和CTS帧进行信道预约
D、使用信道预约机制也不可能完全避免碰撞 -
【2020年 题37】某IEEE 802.11无线局域网中主机H与AP之间发送或接收CSMA/CA帧的过程如下图所示,在H或AP发送帧前所等待的帧间间隔时间(IFS)中最长的是
A、IFS1
B、IFS2
C、IFS3
D、IFS4 -
【2020年 题35】下图所示的网络冲突域和广播域的个数分别是
A、2, 2
B、2, 4
C、4, 2
D、4, 4 -
【单选题】下列关于中继器和集线器的说法中,不正确的是( )。
A、二者都工作在OSI参考模型的物理层
B、二者都可以对信号进行放大和整形
C、通过中继器或集线器互联的网段数量不受限制
D、中继器通常只有2个端口,而集线器通常有4个或更多端口 -
【单选题】公司有用户反映在使用网络传输文件时,速度非常低,管理员在网络中使用Wireshark软件抓包发现了大量
重复的帧,下面关于可能的原因或解决方案描述正确的是()。
A、交换机在MAC地址表中查不到数据帧的目的MAC地址时,会泛洪该数据帧
B、公司网络的交换设备必须进行升级改造
C、网络在二层存在环路
D、网络中没有配置VLAN -
【单选题】下图中,交换机S1刚刚启动,此时收到一个从PC4发往PC5的数据帧,则S1会将该帧( )。
A、转发到PC1
B、丢弃
C、泛洪广播
D、退回到Hub0 -
【单选题】以下有关虚拟局域网VLAN的说法中,错误的是()
A、虚拟局域网是一种新型结构的局域网
B、虚拟局域网技术可以用来分割广播域
C、虚拟局域网是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术
D、不同虚拟局域网中的主机之间不能直接通信 -
【多选题】虚拟局域网的划分策略包括()。
A、基于端口
B、基于MAC地址
C、基于IP网段
D、基于协议 -
【单选题】对于1000Base-T以太网交换机,当输出端口无排队,以直通交换方式转发一个以太网帧(不包括前导码)时,引入的转发延迟至少是
A、0μs
B、0.048μs
C、5.12μs
D、121.44μs -
【单选题】一个信道的数据传输率为4kb/s,单向传播时延为30ms,如果使停止-等待协议的信道最大利用率达到80%,那么要求的数据帧长度至少为( )。
A、160bit
B、320bit
C、560bit
D、960bit
答案:1.×
2.B(解析:TDM与FDM相比,抗干扰能力强,可以逐级再生整形,避免干扰的积累,而且数字信号比较容易实现自动转换,所以根据FDM和TDM的工作原理,FDM适合于传输模拟信号, TDM适合于传输数字信号。)
3.B(解析:集线器属于物理层互连设备,网桥和交换机属于数据链路层互连设备,路由器属于网络层互连设备,网关一般属于应用层互连设备)
4.B(解析:因为在建立数据链路之前,必须要建立物理连接。在数据链路的使用结束后,需要释放数据链路,同时也会释放物理连接。)
5.A(解析:通常情况下,网卡是用来实现以太网协议的。网卡不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与解封、介质访问控制、数据的编码与解码以及数据缓存等功能,因而实现的功能主要在物理层和数据链路层。)
6.D(解析:数据链路层的主要功能包括组帧,组帧即定义数据格式,数据链路层在物理层提供的不可靠的物理连接上实现结点到结点的可靠性传输,控制对物理传输介质的访问由数据链路层的介质访问控制(MAC)子层完成,数据链路层不必考虑物理层如何实现比特传输的细节,因此D错误。)
7.C(解析:由于物理链路是面向字符的,因此采用字符填充法来实现透明传输。未实现透明传输所封装出的帧为 FLAG A B ESC FLAG FLAG,带下划线部分为待传输的4个字符,但其中出现了与帧定界符FLAG以及转义字符ESC相同的字符,需要在它们之前插入转义字符来实现透明传输,结果为 FLAG A B ESC ESC ESC FLAG FLAG,再将题目给定的每个字符的编码对应写出即可。)
8.× 9.D 10.C
11.C(解析;p-坚持CSMA协议是1-坚持CSMA协议和非坚持CSMA协议的折中。p-坚持CSMA在检测到信道空闲后,以概率p发送数据,以概率1-p推迟到下一个时隙,目的是降低1-坚持CSMA中多个结点检测到信道空闲后同时发送数据的冲突概率;采用坚持“侦听”的目的,是试图克服非坚持CSMA中由于随机等待造成延迟时间较长的缺点。)
12.A(解析:若让一个冲突域内两个站点之间的单向传播延时最大,应将这两个站点设置在冲突域的两端,使它们之间的距离最大。以太网规定最小帧长应满足帧的发送时延等于最远两个站点间信号的往返传播时延。题目给定最小帧长为256B,则帧的发送时延TD(最远两个站点间信号的往返传播时延)可计算如下:
T
D
=
256
×
8
b
1000
M
b
/
s
=
2.048
μ
s
T_D=\frac{256 \times 8b}{1000Mb/s}=2.048 \mu s
TD=1000Mb/s256×8b=2.048μs
在一个冲突域内两个站点之间的单向传播时延最多为:
T
D
2
=
2.048
μ
2
=
1.024
μ
s
\frac{T_D}{2}=\frac{2.048\mu}{2}=1.024 \mu s
2TD=22.048μ=1.024μs)
13.C(解析:非坚持CSMA站点在发送数据前先监听信道,若信道忙则放弃监听,则等待一个随机时间后再监听,若信道空闲则发送数据。)
14.C(解析:以太网的最短帧长确保了站点可在帧发送完成之前就检测到该帧在发送过程中是否遭遇了碰撞。最短帧长=数据传输速率×争用期=数据传输速率×(总线传播时延x 2)
当数据传输速率提高时,为了有效检测到碰撞,可采取的方法是:①减少争用期(即减少总线传播时延),以维持最短帧长不变。而减少总线传播时延,需要减少总线长度。②若不改变总线长度,则需要增加最短帧长。)
15.B(解析:短帧间间隔SIFS用来分隔开属于一次对话的各帧,DCF帧间间隔DIFS比SIFS要长很多。在DCF方式中,DIFS用来发送数据帧和管理帧。)
16.A(解析:DIFS帧间隔较长)
17.C(解析:)
18.C(解析:中继器和集线器均工作在物理层,集线器本质上是一个多端口中继器,它们都能对信号进行放大和整形。因为中继器不仅传送有用信号,而且也传送噪音和冲突信号,因而互相串联的个数只能在规定的范围内进行,否则网络将不可用。注意“5-4-3规”。)
19.C(解析:A选项会引起的重复帧不会大量存在)
20.C
21.A(解析:虚拟局域网VLAN只是在局域网上实现的一种分割广播域的技术,但VLAN本身并不是一种新物理拓扑的局域网。)
22.ABCD
23.B(解析:)
24.D(解析:设C为数据传输率,L为帧长,R为单程传播时延。停止-等待协议的信道最大利用率为(L/C)/(L/C+ 2R)= L/(L + 2RC) = L/(L + 2x30msx4kb/s)= 80%,得出L = 960bit。)
OK,以上就是本期知识点“数据链路层”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~
❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页