第六章 介质访问控制子层
介质访问控制子层(MAC子层)在广播型网络中负责局域网内寻址以及多路通信中介质争用问题。MAC帧分为单播帧、广播帧、多播帧。广播型网络中介质争用解决方案包括CSMA、CSMA/CD和CSMA/CA协议。
6.1 CSMA介质访问控制原理
CSMA(载波侦听多路访问)又称LBT(Listen Before Talk,先听后说),先侦听要访问的介质,当发现介质忙时先避让一段时间,不发送数据,直至侦听到介质空闲时才进行数据发送。CSMA技术的退避算法包括非-坚持CSMA、1-坚持CSMA、P-坚持CSMA。
- 非-坚持CSMA
非-坚持CSMA的非指各站点不连续侦听总线介质是否空闲,即在发现介质忙时,先停止侦听,等过一段时间再来侦听,等待的时间根据非-坚持CSMA算法随机产生的。
缺点:由于不同站点数据发送速度不同导致不能完全消除冲突,同时存在信道利用率存在较大的提升空间。 - 1-坚持CSMA
1-坚持CSMA中的1指发现总线介质忙时持续不间断侦听,直至发现介质处于闲状态,并且在侦听到介质处于空闲状态后立马发送数据,在数据传送过程中发生冲突时放弃当前的数据传送任务,等待一个延时后再继续侦听。
优点:相较于非-坚持CSMA提高了信道利用率。缺点:更容易发生冲突;保持监听状态,占用了大量网络和设备资源。 - P-坚持CSMA
P-坚持CSMA中的P指侦听到介质空闲时以概率P选择发送数据,当处于1-P的概率时,延迟一段时间t后再重新侦听介质状态。当侦听到介质处于忙状态时持续侦听。t的大小等于两站点间的距离除以信号传播速度。
6.2 CSMA/CD介质访问控制原理
CSMA/CD(载波侦听多路访问/冲突检测)技术具有冲突检测和阻止功能,在CSMA的基础上,站点发送数据时持续侦听介质,侦听到有冲突发生时,立即中止数据帧发送,节省时间和带宽;同时发送一个阻塞信号,强化冲突,使其他站点更容易检测到有冲突的发生,不再接收原来的帧,转而接收这个阻塞帧,避免更多的帧发生冲突。阻塞帧为32位全为1的帧。CSMA/CD是标准以太网、快速以太网和千兆以太网中统一采用的介质争用处理协议。
- 冲突避让原理
CSMA/CD使用截断二进制指数退避算法,每次检测到冲突时避让的时间是以时隙数(以太网时隙:51.2μs)为单位的随机时间,但不同次冲突时所能延迟的最大时隙数呈指数关系递增。
具体重传避让流程:站点会初始化当前帧的重传次数N为0,开始侦听介质状态。等到介质处于空闲状态后再等待一个帧间发送间隙的时间(9.6μs),以使网络中所有接收站点有时间准备好接收下一个帧。站点开始按次序传送帧,同时继续侦听介质状态。如果传到某个帧时侦听到发生了冲突,该站点立即停止传输,开始冲突处理流程,发送一个用于加强冲突的阻塞信号,该帧的重传次数N递增1。根据重传次数得到一个随机的避让时间(一个随机数来乘以时隙长),每个站点在重传前必须等待这个随机时长。
当N≥15时,丢弃该帧,放弃重传,并生成一个日志。N≤10时,取随机数R为之间的整数,当N>10且N<15时,取随机数R为,避让时间为。 - 缺点
当一个站点需要发送大量的数据时,可能出现一个站点长时间控制整个局域网的情形。
6.3 局域网标准及以太网帧格式
局域网标准采用IEEE 802系列标准,企业网络中应用最广的以太局域网标准:IEEE802.3。
-
IEEE 802系列局域网标准
-
以太网帧格式综述
包括Ethernet II、802.3/802.2 LLC、802.3/802.2 SNAP
802.3/802.2 LLC中的LLC头:目的服务访问点(DSAP)、源服务访问点(SSAP)和控制(Control)三个字段。DSAP和SSAP在以太网中值固定为十六进制的0xAA。因为以太网中都是采用无连接服务,所以控制字段固定值为十六进制的0x03。
802.3/802.2 SNAP中的LLC头扩展了一个2字节的类型字段用于标识更多的上层协议类型和一个3字节的OUI(组织唯一标识,通常是全为0)字段,用于代表发布所选上层协议的组织。OUI ID代表帧中Data字段数据报所对应协议的发布公司的标识,如果是IEEE公司发布的以太网协议类型,则此字段固定为0x000000。类型指的是协议类型,包括802.3以太网协议、持802.4、802.5、802.11和其他802系列协议,甚至FDDI这样的非802协议。 -
以太网MAC帧
MAC帧被视为数据链路层帧,MAC帧中将LLC帧头、SNAP头部与上层来的数据报一起封装进数据字段。
前导字段占7个字节,由1和0交互构成(如10101010……),用于使物理层信号子层电路与收到的帧达到时钟同步。帧起始(SFD)字段占1个字节,值为10101011,表示一个帧的开始。前导码使接收端根据10交互的比特模式迅速实现比特同步,当检测到连续两位1时,便将后续的信息递交给MAC子层。在Ethernet II中长度/类型字段为类型字段,指示帧中数据字段中的数据类型,在IEEE 802.3以太网帧中该字段为长度字段,值≤1500。
6.4 标准以太网规范及体系结构
标准以太网(十兆以太网)规范包括:50Ω粗同轴电缆连接的10Base5(IEEE 802.3标准),50Ω细同轴电缆的10Base2(IEEE 802.3A标准),75Ω同轴电缆的10Broad36(IEEE 802.3B标准),双绞线电缆的10Base-T(IEEE 802.3I标准),光纤的10Base-F(IEEE 802.3J标准)。
同轴电缆规范命名格式:<数据传输速率(Mbps)> <信号传输模式> <最大段长度(百米)>,其他两个规范T和F表示电缆材料。所有规范均采用基带传输模式的曼彻斯特编码。
6.5 快速以太网规范及体系结构
快速以太网(百兆以太网)采用IEEE 802.3u标准,主要对物理层进行改进,包括在编码上采用了效率更高的4B/5B编码。(用五个比特对四个比特进行编码,在四个比特中插入额外的比特来打破连续的0或1)。快速以太网标准中定义了三种规范:100Base-TX、100Base-T4和100Base-FX。100表示传输速度100Mbps,Base表示基带传输,T4表示四对双绞线,TX表示两对双绞线,FX表示两条光纤。
6.6 千兆以太网规范及体系结构
千兆以太网分为基于光纤和基于双绞线两类,基于光纤的千兆以太网规范包括1000Base-LX、1000Base-SX、1000Base -LH、1000Base-ZX、1000Base -LX10和1000Base-BX10。基于双绞线的千兆以太网规范包括1000Base-CX、1000Base-T、和1000Base-TX。
6.7 IEEE 802.1d协议(STP,生成树协议)
IEEE 802.1d协议的设计目的:使交换网络中没有二层环路。环路可分为二层环路和三层环路,二层环路指在二层交换网络中,网络广播信息途径多条链路形成的一个封闭的环路,造成了大量网络设备和带宽资源的浪费。三层环路则是指当原路由意外不能工作时,造成路由通告错误所形成的一个恶性路由循环。
- STP简介
冗余链路起初的设计目的是使当某条链路失效时,其他链路能接管其工作,使网络正常运行,但同时形成二层环路,造成网络设备和带宽资源的浪费。STP在网状网络内部创建一棵生成树,使得任意两个网络节点间仅有一条属于生成树的活动的路径。STP将节点之间存在的多条路经划分为通信链路和备份链路,规定数据的转发只在通信链路上进行,而备份链路只用于链路的侦听,只有在发现通信链路径失效时,才自动将通信切换到备份链路上。 - STP核心技术
(1)选举,使得交换网络中的各个交换机处于特定的角色,包括位于树根的核心交换机,位于树干的汇聚交换机,位于树枝的接入交换机,使交换网络拓扑结构呈树形结构;(2)为交换机间连接的端口(除连接主机的端口)分配根端口和指定端口两种角色,每个端口又可设定为阻塞、侦听、学习、转发、禁止五种特定状态,只有根端口和指定端口处于非禁止状态,其中可能形成环路的一些端口在正常工作时处于阻塞状态。根端口位于非根交换机上,指非根交换机到达根交换机的最短路径端口。指定端口包括根交换机上的所有连接非根交换机的端口以及非根交换机上的连接下级交换机根端口的端口。 - 缺点
(1) 二层数据网的收敛时间过长,节点的初始化时间以及整个树结构的生成时间过长。(2)网络拓扑容易引起全局波动,网络中节点的增减、状态设置变化容易引起全局不必要的波动,从而造成通信网络的中断(3)缺乏对现有多 VLAN(虚拟局域网) 环境的支持。
6.8 IEEE 802.1q协议
- IEEE802.1q协议简介
IEEE802.1q协议是针对VLAN设计的,VLAN是在LAN的基础上为了避免大型交换网络频繁的广播流量给整个网络带来的不小负荷而将整个网络划分为多个小的交换网络。VLAN之间通过网关或者路由实现通信,另一种是通过路由实现 - IEEE802.1q帧头部格式
IEEE802.1q帧在以太网帧数据字段前加上TPID、Priority、CFI和VLAN ID四个字段作为协议头以标记帧VLAN信息。TPID(标签协议标识符)字段,2字节,表示封装了IEEE 802.1q VLAN协议,值固定为0x8100。Priority(用户优先级)字段,3位,0~7八个优先级(数值越大,优先级越高),用于当交换机阻塞时,优先发送哪个数据帧。CFI(标准格式指示器)字段,1位,用来兼容以太网和令牌环网,用来标识MAC地址在传输介质中是否以标准格式进行封装,0表示以标准格式封装,1表示以非标准格式封装,默认为0。VLAN ID(VLAN标识)字段,12位,指明所属VLAN的ID。
所谓标准格式和非标准格式指:以太网(IEEE802.3)和令牌总线网(IEEE 802.4)[标准格式]在传输介质中发送MAC地址字节是按从低到高的顺序(从右到左)进行的,而令牌环网(IEEE 802.5)和IEEE 802.6标准[非标准格式]中MAC地址字节在传输介质中的发送顺序是从高到低的顺序。例如一个MAC地址为12-34-56-78-9A- BC,以标准格式的比特次序为01001000 00101100 01101010 00011110 01011001 00111101,非标准格式的比特次序是00010010 00110100 0101011001111000 10011010 10111100。
6.9 IEEE 802.1w协议
IEEE 802.1w协议是针对IEEE 802.1d协议收敛时间过长设计的缺陷而改进的协议,又称快速生成树协议(RSTP)。
- RSTP的主要改进
1)为根端口和指定端口设置了快速切换用的替换端口和备份端口。当根端口或指定端口失效时,替代端口或备份端口就会无延时地进入转发状态。
2)在只连接了两个交换端口的点对点链路中,指定端口只需与下级交换机进行一次握手就可以无延时地进入转发状态。
3)把直接与终端相连的端口定义为边缘端口。边缘端口可以直接进入转发状态,不需要任何延时。 - RSTP的不足
1)整个交换网络只有一棵生成树,在网络规模比较大时需要较长的收敛时间,拓扑改变的影响也较大。
2)网络结构不对称时,单生成树会影响网络的连通性。
3)当链路被阻塞后将不承载任何流量,造成了带宽的极大浪费。
6.10 主要WLAN标准与技术
WLAN标准对应IEEE 802.11标准,包含IEEE 802.11b、IEEE 802.11a、IEEEE 802.11g和IEEE802.11n等标准。
- IEEE 802.11b规范主要特性
工作频段:2.4GHz频段;有效传输距离:室内35m,室外140m;传输速率:最高传输速率为11Mbps;调制方法:传输速率为1、2Mbps时,采用DSSS(直接序列扩展)、DBPSK(差分二相位键控)、DQPSK(差分四相位键控)等方法,传输速率为5.5和11Mbps时,采用CCK(互补编码键控) 方法;信道划分:11个信道,每个信道带宽22MHz,相邻信道间只有5MHz带宽不重叠。主要安全技术:SSID(服务集标识符)和WEP(有线等效保密)链路加密技术。 - IEEE 802.11a规范主要特性
工作频段:5GHz频段;有效传输距离:室内35m,室外120m;传输速率:最高传输速率为54Mbps;调制方法:采用52个OFDM,其中48个用于传输数据,4个是引示副载波,可以应用BPSK(二相移相键控)、QPSK(四相移相键控)、16-QAM或者64-QAM调制技术;信道划分:分为24个20MHz信道或者12个40MHz信道;主要安全技术:SSID(服务集标识符)和WEP(有线等效保密)链路加密技术。 - IEEE 802.11g规范主要特性
工作频段:2.4GHz频段;有效传输距离:室内35m,室外120m;传输速率:最高传输速率为54Mbps;调制方法:同时采用了IEEE 802.11a中的OFDM与IEEE 802.11b中的DSSS、CCK等多种调制技术;信道划分:13个信道;主要安全技术:WPA、WPA2、EAP(可扩展身份认证)、 AES (高级加密标准)加密技术。 - IEEE 802.11n规范主要特性
工作频段:2.4GHz频段和5GHz频段;传输速率:标准带宽下4天线最高传输速率为300Mbps;调制方法:与 IEEE 802.11g相同,只是选择的正交载波数更多;信道划分:15个不相互重叠的信道,2.4GHz频段中3个,5GHz频段中12个;主要安全技术:WPA、WPA2、EAP(可扩展身份认证)、 AES (高级加密标准)加密技术。 -
WLAN MAC帧格式
(1)Frame Control(帧控制)字段:2个字节,用于控制MAC子层帧信息和行为。其结构如下图:
Protocol Version(协议版本):2位,表示IEEE 802.11规范版本。Type(帧类型):2位,包括管理、控制和数据三种类型。Subtype(帧子类型):4位,帧子类型包括认证帧、解除认证帧、连接请求帧、连接响应帧、重新连接请求帧、重新连接响应帧、解除连接帧、信标帧、Probe 帧、Probe 请求帧和 Probe 响应帧。To DS(到分布式系统的帧):1位,为发送至分布式系统的帧时值为1。From DS(来自分布式系统的帧):1位,为来自至分布式系统的帧时值为1。More Fragment(更多分片):1位,当前帧后面还有更多分段属于相同帧时值为1。Retry (重传):1位,为重传帧时为1。Pwr Mgt(电源管理):1位,站点所采用的电源管理模式,1为节能模式,0为活动模式。More Data(更多数据):1位,缓存中还有从分布式系统到节能模式站点的帧时为1。WEP(加密):1位,采用WEP对帧数据进行加密时为1。Order(顺序):1位,按顺序发送帧或者分段时为1。
(2)Duration/ID(持续时间字段):2字节,指明传输数据将要占用信道的时间长度。
(3)Address(地址列表字段):包括接收者地址、发送者地址、源地址和目标地址4个MAC地址,每个地址6字节。这4个字段对于所有MAC帧来说并不是都需要的,是否需要取决于帧类型。当第1位为0时,表示该地址为单一站点所用的单播地址;当第1位为1时,表示该地址对应一组站点的组播地址;如果所有位均为1,则表示该帧为广播帧。
(4)Sequence Control(序列控制字段):2字节,包含分段号和序列号,用于表示同一帧中不同分段的顺序,并用于识别数据包副本。高4位表示分段号,后12位是序列号(也就是优先级号),同一帧的分段,序列号是一样的。
(5)Data(数据字段):发送或接收的信息。最大为2312字节,其中包括8字节的 LLC头和2296字节的净负荷和WEP开销。数据字段为空表示该帧为控制和管理帧。
(6)Frame Check Sum(帧校验序列):即CRC(循环冗余校验),4字节,用于校验帧的完整性。