如七层结构图所示:
在数据从主机A传送向主机B的过程中,数据包需要层层封包到物理层,再层层解包回应用层以传递到主机B。
当单独研究数据链路层时,可以只研究路径上各数据链路层水平方向上的数据传递,如下图所示:
则数据链路层的功能主要有:
基本概念:
数据链路层通常可以为网络层提供如下类型的服务:
主要负责面向连接服务中连接的建立、维持和释放。
封装成帧:
如第一章 计算机网络体系结构 > 1 2 2 ISO OSI参考模型和TCP IP模型所述,数据链路层会对网络层传来的IP数据报添加头部 H2
和尾部 T2
。
其中帧的数据部分就是最大传送单元(MTU),而首部和尾部的重要作用就是帧定界。
透明传输:
不管链路层所传的数据是什么样的组合,都不应当影响其在链路上传输,故称为透明传输。
而常用的组帧方法有:
ESC
)相同的二进制数据部分前加转义字符,如下图所示:01111110
),并通过打断连续的 1
来避免数据和帧头帧尾重复:1
时就会向其中添加一个 0
,以避免和帧头帧尾重复。IEEE 802.11
标准就采用了此方法。前高后第表示1,前低后高表示0(或反之)
,则可以使用 前高后高
、 前低后低
当做定界符。流量控制同时负责流量控制和可靠传输。
链路层的流量控制主要依靠于接收方的应答机制,接收方来不及接收时无应答。
流量控制的方法主要有:
基本概念:
在讨论停止等待协议时,通常把网络认为是半双工模型,即发送和接收只能间隔执行。
差错主要可以分为:
ACK
回应时则自动启动重传机制。通常超市计时器的最长时长会大于平均RTT。ACK
丢失ACK
丢失,发送方会再次发送对应帧,但是接收方在收到重复帧后会丢弃重复帧并重传对应的 ACK
。ACK
迟到ACK
后会丢弃该 ACK
。具体机制:
ACK
回应后才会将其删除。优点:
缺点:
具体机制:
N
,同时发送 N
帧;接收方的接收窗口为 1
。k
帧时会返回第 k
帧的 ACK
,将自己的接收窗口移动到 K+1
帧的同时并通知发送方将窗口向后移动到 K+1
帧。(注意 ACK
是累计确认)其中,发送方需要响应的事件有:
ACK
。ACK
响应超时,当 ACK
响应超时时,发送方会重新发送所有已发送但未被确认的帧。接收方需要处理的事情有:
n
号帧,那么将返回 n
号帧对应的 ACK
给发送方。ACK
(并用此 ACK
将窗口帧号同步给发送方)。(窗口帧号会存入 expectedseqnum
)注意:
ACK
。大致流程:
优点:
具体机制:
N
,同时发送 N
帧;接收方的接收窗口也为 N
(发送窗口一般等于接收窗口)。发送方必须响应的事件:
ACK
,并将对应窗口标记为已接收,并检查是否需要移动窗口。ACK
响应超时,每个帧都有自己的定时器,一个超时事件发生后只重传一个帧。接收方需要处理的事情有:
ACK
,如果收到了小于窗口下界的会相应对应 ACK
,其他情况会忽略该帧。注意:
通常来说,传输过程中的差错都是由于噪声所引起,而噪声可以简单分类为如下两种:
差错主要分为:
位错的解决方法有:
奇偶校验码:
前 n-1
位为信息源,最后一位表示序列中 1
的数量的奇偶。
循环冗余码(CRC):
计算循环冗余码需要提供 原数据
和 生成多项式
参数,对原数据进行补位,随后对 生成多项式
进行 模二
取余,即可得CRC校验码。
CRC校验码的计算步骤:
例如给定:
101001
1101
或:0
,即: 101001000
。(因为生成多项式中 x
最高阶为3)。101001000000
进行 1101
的 模二
除法(即异或除法):
1
,并对前4位 1010
和 1101
进行异或算法,得 111
:0
补位得 1110
,并继续对 1101
进行 模二
除法,有:1
,即CRC的FCS,最终结果为 101001001
并发送给接收方。101001001
对 1101
进行 模二
运算,如果为0,则验证成功。CRC校验的发送方和接收方均由硬件实现该过程,不用担心校验速度。使用CRC校验的通过校验的帧有接近为1的概率没有出现差错。
注:
1101
和:检错编码只能检查错误的发生而无法纠正错误,故有了同时可以检错和纠错的纠错编码,例如海明码。
基本概念:
11001
00111
4
。000
001
010
...
0000
1001
1010
...
做以下讨论:
基于以上讨论,对于信息数据 m
位,校验码 r
位,有效位数为 m+r
位的编码,只用校验码可以表示出多少种错误? m+r
有效位的编码能发生多少种错误?
m+r
有效位的编码能发生的错误种类数为:r>=3
,可以满足带编码位数为4的海明码的位数为 m+r=7
位。位号 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
---|---|---|---|---|---|---|---|
值 | 校验位 |
校验位 |
校验位 |
1101
):位号 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
---|---|---|---|---|---|---|---|
值 | 1 | 1 | 0 | 校验位 |
1 | 校验位 |
校验位 |
位号 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
---|---|---|---|---|---|---|---|
二进制位号 | 111 | 110 | 101 | 100 | 011 | 010 | 001 |
值 | 1 | 1 | 0 | 校验位 |
1 | 校验位 |
校验位 |
校验位管理区域 | 1** |
*1* |
**1 |
则有:
1**
的数据位的校验,即管理7、6、5、4位*1*
的数据位的校验,即管理7、6、3、2位**1
的数据位的校验,即管理7、5、3、1位位号 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
---|---|---|---|---|---|---|---|
二进制位号 | 111 | 110 | 101 | 100 | 011 | 010 | 001 |
值 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
1100110
。校验过程:
1110110
1100110
。链路层数据传输链路通常有两种:
而介质访问控制主要就是解决广播式链路的通信可能发生互相干扰的情况。其主要有两种:
主要依靠对时域、频域资源的合理划分(即多路复用技术)来控制对应的网络设备。
频分多路复用(FDM):
并行
,时分多路复用类似于 并发
。时分多路复用(TDM):
并行
,时分多路复用类似于 并发
。统计时分多路复用(STDM):
设计如下的逻辑结构:
将若干设备传送来的数据缓存入集中器的缓存中,集中器再将数据划分打包为STDM帧进行发送。
波分多路复用(WDM):
波分多路复用就是光的频分多路复用
码分多路复用(CDM):
00011011
、 11010001
,且保证将序列中的 0
置换为 -1
后,所有序列两两正交。即A的 -1 -1 -1 1 1 -1 1 1
和B的 1 1 -1 1 -1 -1 -1 1
正交。(则8位的序列一共有8个两两正交的序列)0
时,发送序列中的 0
置换为 -1
后的负码;发送bit 1
时,发送发送序列中的 0
置换为 -1
后的码。例如:
0
,则发送 1 1 1 -1 -1 1 -1 -1
。1
,则发送 -1 -1 -1 1 1 -1 1 1
。动态分配信道的特点是信道并非在用户通信时固定分配给用户的。
随机访问介质控制的所有用户可以随时发送信息,发送信息时也可以占用全部带宽。其实现方式主要有:
ALOHA协议可以分为纯ALOHA协议和时隙ALOHA协议。
纯ALOHA协议:
不监听信道,不按时间槽(将时间分为一个个等距时间片就叫时间槽)发送,随机重发;当发生冲突时,接收方不发送确认帧,当发送方等待确认帧超时后就可判定发生冲突,随后等待随机时间后重传。
时隙ALOHA协议:
将时间划分为若干时间片,所有用户在开始时同步时间片,随后按照时间槽发送数据
特点:
CSMA协议全称为 Carrier Sense Multiple Access
,即载波监听多路访问协议。
Carrier Sense
载波监听,在每一个站点发送数据前都要检查一下总线上是否有其他计算机在发送数据。Multiple Access
多点接入,多个计算机连接到一个总线上。协议思想:
先监听信道是否空闲(通过检测总线上的电压摆动值),当信道空闲时发送完整帧,信道忙时推迟发送。根据信息发送的规则可以分为 1-坚持CSMA
、 非坚持CSMA
、 p-坚持CSMA
。
1-坚持CSMA:
优点:
缺点:
非坚持CSMA:
优点:
缺点:
p坚持CSMA:
p
排定发送数据,概率 1-p
判定等到下一个时间槽再发送。优点:
1-坚持
那样减少媒体空闲率,也能像 p-坚持
那样减少冲突。三种方法对比如下:
但是上述三种CSMA算法均无法做到在发送数据时就知晓冲突发生了的,都会将数据坚持发送完毕并等待超时才会知晓,造成了浪费。
基本概念:
特点:
局域网介质访问控制方法:
局域网的分类主要有:
IEEE 802系列技术标准的委员会是1980年2月成立,故叫IEEE 802委员会,其重要标准有:
IEEE 802.3
:以太网访问控制协议(CSMA/CD
)及其物理层规范IEEE 802.5
:令牌环网的介质控制协议及物理层技术规范IEEE 802.8
:光纤技术咨询组IEEE 802.11
:无线局域网的介质控制协议及其物理层规范局域网和以太网的概念:
IEEE 802.3
标准的网络DIX Ethernet V2
标准的局域网IEEE 802.3
标准和 DIX Ethernet V2
标准的差异不大,因此通常将IEEE 802.3局域网简称为以太网,以太网主要简化了通信流程并使用了CSMA/CD方式对总线进行访问控制。IEEE 802.3
协议描述的局域网参考模型只对应了OSI七层协议的数据链路层和物理层,其将数据链路层划分为逻辑链路层LLC和介质访问控制层MAC,如下图所示:
LLC和MAC主要负责的内容如下:
IEEE 802.11系列标准是无线局域网的,当前其拥有 IEEE 802.11
原始标准、 IEEE 802.11a
扩充标准到 IEEE 802.11h
扩充标准。
无线局域网WLAN与Wi-Fi的关系:
Wi-Fi
商标。WLAN除了Wi-Fi以外,还有国内的WAPI等。Wi-Fi
和 IEEE 802.11
所规定的其他无线局域网属于相同的技术范畴。无线局域网可以分为:
IEEE 802.11所规定的MAC帧帧头结构如下:
假设无线通信的通信链路如下图所示,设备A向设备C通过AP1->R1->AP2进行通信:
则由无线接入点AP1向AP2传输的过程中,其IEEE 802.11 WDS帧的MAC帧帧头各部分及其含义为:
MAC部分 | |
---|---|
地址1 | 接收端地址,即无线接入点AP2的MAC地址 |
地址2 | 发送端地址,即无线接入点AP1的MAC地址 |
地址3 | 目的地址,即设备C的MAC地址 |
地址4 | 源地址,即设备A的MAC地址 |
其他类型的IEEE 802.11帧如下图所示:
VLAN(Virtual LAN)是一种将大的局域网划分为若干小的虚拟局域网的技术。其主要用于解决大局域网上的下列问题:
物理端口号
、 设备MAC地址
、 IP地址
等,分别称作 基于端口的VLAN技术
、 基于MAC地址的VLAN技术
、 基于IP的VLAN技术
。Trunk Link
接口来实现,可以在交换机的配置页面中指定 Trunk Link
端口,其设备间的以太网MAC帧会被改造为下方第三章 数据链路层 > ^gen5pe的IEEE 802.1Q帧。Trunk Link
和 IEEE 802.1Q
帧无法解决不同VLAN间的通信,其VLAN标记是交换机负责添加和摘去的,对主机不可见。VLAN标记和IEEE 802.1Q帧 ^gen5pe
在使用 Trunk Link
等技术进行跨交换机的VLAN内通信时,原设备发送的以太网MAC帧会被进行如下改造:
4Byte的VLAN标记中的:
第1-2Byte用于表明该帧是IEEE 802.1Q帧
第3-4Byte的后12位为VLAN标识符VID(前4位没用)
IEEE 802.1Q帧只用于交换机间的通信,主机之间仍然为MAC帧。
Trunk Link
端口类似于可以通过任意VLAN数据的端口,当交换机在其所属设备的MAC地址表中找不到目标设备时,会向该VLAN中所有端口(包括 Trunk Link
端口)发送该数据帧。
广域网是计算机网络的范围尺度的概念。互联网是广域网,但广域网不是互联网。
广域网的通信子网主要使用分组交换技术,数据传输延迟往往比局域网高。
PPP协议是当前使用最广泛的链路层协议,只支持全双工链路。
由于后续的网络层的IP等协议并不要求可靠传输,故PPP协议也不要求可靠传输。
PPP协议的特性如下:
PPP协议的三个组成部分:
PPP协议的状态图:
PPP协议中,帧结构如下:
其各部分含义如下表:
F | 帧定界符,固定为 0xFF ,若信息部分遇到 0xFF 则插入转义符 0x7F |
A | PPP协议预留的地址字段,迄今为止无意义,固定为 0xFF |
C | PPP协议预留的控制字段,迄今为止无意义,固定为 0x03 |
协议 | 表示该数据报的类型,例如是IP数据报、LCP数据、网络层控制数据等 |
FCS | CRC循环冗余算法的校验位。 |
HDLC(High Level Data Link Control,高级数据链路控制)协议,其特点为:
基础概念:
网桥的主要功能为:
网桥可以按照工作方式的不同分为:
透明网桥:
源路由网桥:
交换机可以理解为多端口的网桥,其按照所属层数可以分为:
交换机按照交换方式可以分为如下两种:
通常二层交换机不具备MAC地址。