[TOC]
MAC子层(介质访问控制子层)
mac子层的功能:
- 介质访问控制
- 数据通信方式
1. 介质子层访问控制
1.1 mac子层作用
数据通信方式:
- 单播(unicast)
- 广播(broadcast)
- 组播(multicast)
广播网络面临的问题:可能两个(或更多)站点同时请求占用信道,解决方法就是介质访问控制。
确定多路访问信道下一个使用者的协议属于数据链路层的一个子层,该层就是介质访问控制(MAC)子层
1.2 介质子层访问控制(分配信道)
1.2.1.静态分配
-
静态信道分配:
静态分配是传统的做法,就是把信道容量拆分给多个用户使用,比如FDM和TDM技术。这种做法适用于用户数量少且固定不变的情况下,但是却不能很好地应付用户数量经常变化和流量突发的情况
特点
- 信道N等分
问题
- 资源分配不合理,不满足用户对资源占用的不同需求
- 有资源浪费,效率低
- 延迟时间增大N倍
适用情况
适于用户数量少且用户数目固定的情况
适于通信量大且流量稳定的情况
不适用于突发性业务的情况
信道的动态分配:通过多路访问协议(Multiple Access Protocol )动态分配信道资源,提高信道利用率
模型:
1.2.2.动态信道分配
动态信道分配的5个关键假设
- 流量独立
- 单信道:所有通信都使用同一个信道(这样才会出现冲突)
- 冲突可观察:所有站都能检测冲突事件的发生
- 帧的发送方式--时间假设:时间连续或时间分时隙
- 信道的状态--侦听假设:载波侦听指的是一个站在试图使用信道前,就能知道信道是否正在被使用。非载波侦听则盲目发送。
一般来说,在有线局域网中,常采用载波侦听;而在无线网中则不采用载波侦听
2. 多路访问协议(动态信道分配协议)
通过多路访问协议( Multiple Access Protocol )动态分配信道资源,提高信道利用率
特点:站点争用信道,可能出现冲突
动态信道分配的5个关键假设
- 流量独立
- 单信道:所有通信都使用同一个信道(这样才会出现冲突)
- 冲突可观察:所有站都能检测冲突事件的发生
- 帧的发送方式--时间假设:时间连续或时间分时隙
- 信道的状态--侦听假设:载波侦听指的是一个站在试图使用信道前,就能知道信道是否正在被使用。非载波侦听则盲目发送。
2.1.Aloha 协议
2.1.1纯ALOHA
-
想发就发
任何一个站都可以在帧生成后立即发送(可能冲突),并通过信号的反馈,检测信道,以确定发送是否成功。如发送失败,则经随机延时后再发送。 - 如果发送失败,经过随机延时之后再次发送
- 性能:纯ALOHA信道的利用率最高为18.4%
2.1.2分隙ALOHA
把时间分成时隙(时间片)
时隙的长度对应一帧的传输时间。
新帧的产生是随机的,但分隙ALOHA不允许随机发送,凡帧的发送必须在时隙的起点。
冲突只发生在时隙的起点,冲突发生时只浪费一个时隙。一旦某个站占用时隙并发送成功,则在该时隙内不会出现冲突。
性能:分隙ALOHA信道的利用率最高为36.8% 是纯ALOHA的两倍。
2.2 CSMA(载波侦听多路访问)协议
载波侦听多路访问协议(CSMA Carrier SenseMultiple Access)
- 特点:“先听后发”
改进ALOHA协议的侦听/发送策略
分类
- 非持续式
- 持续式
1-持续CSMA
P-持续CSMA
2.2.1 非持续式:
(持续指的是持续监听信道)
- 特点:
①经侦听,如果介质空闲,开始发送。
②如果介质忙,则等待一个随机分布的时间,然后重复步骤①。
非持续式存在的问题
等待一个随机时间可以减少再次碰撞冲突的可能性。但缺点是等待时间内介质上没有数据传送,这段时间是浪费的
2.2.2 持续式
1-持续式
(1指的是监听到信道空闲时发送数据的概率为1, 是p-持续式的特例)
- 特点:
①经侦听,如介质空闲,则发送。
②如介质忙,持续侦听,一旦空闲立即发送。
③如果发生冲突,等待一个随机分布的时间再重复步骤①。
持续式的延迟时间要少于非持续式。
1-持续式的问题
主要问题是:如果两个以上的站等待发送,一旦介质空闲就一定会发生冲突。
p-持续式:
(p指监听到信道空闲时以p的概率发送数据)
- 特点:
①经侦听,如介质空闲,那么以p的概率发送,以(1–p)的概率延迟一个时间单元发送。
②如介质忙,持续侦听,一旦空闲重复①。
③如果发送已推迟一个时间单元,再重复步骤①。
可见,1-持续式是p-持续式的特例
CSMA存在的问题:
- CSMA工作方式,检测到介质上无报文发送的情况下发送报文,仍然会发生冲突,其原因在于传播时间延迟(或同时发送),所以某个报文发出去以后仍然可能发生冲突(见右图)
- 所以假设连个相距最远的站传播信号所需要的时间为 ,那么最差的情况下,只有当一个站传输了 之后还没有监听到冲突的情况下,才能确定自己抓住了信道,即发送站发出帧后能检测到碰撞的最长时间, 数值上等于最远两站传播时间的两倍,即2τ。
2.2.3 经修改的1-持续式( CSMA/CD)
“先听后发、边发边听”
特点:
①经侦听,如介质空闲,则发送。
②如介质忙,持续侦听,一旦空闲立即发送。
③如果发生冲突,等待一个随机分布的时间再重复步骤①所有工作站在发送的同时也接收自己的信号,监测发送的情况,一旦收到的信号与发出的不一致,就说明发生了冲突。
发送站感知冲突后立即停止帧的发送,并且发一个简短的堵塞信号(称强化冲突信号, Jamming signal),通知网上各站已经发生冲突,本站及网上所有站都等待一段随机分布的时间,然后再按CSMA/CD方式重发该帧
![J2Q5PSC5PRQ45K)G(UWAOE.png
冲突检测和处理
冲突检测方法
- 比较发送信号( A->B)与回复信号( A<-B)的能量或脉冲宽度变化
- 最大冲突检测时间(冲突窗口): 两个最远距离站点间的传输时间为t,则网络的最大冲突检测时间为2t。
冲突检测的要求
- 要求1:时隙宽度 = 最大冲突检测时间
保证在一个时隙内能够检测到最远距离的冲突 - 要求2:发送有效帧的时间 >= 最大冲突检测时间
防止因在发生冲突时已完成短帧发送而造成的异常情况
2.3 受控访问(无冲突)协议
2.3.1 位图协议(预留协议)
如有N个站点共享信道,编号为0 ~N-1,其竞争周期将分为N个时隙,每个站点占有一个时隙,如某站准备发送,则可在属于它的时隙内填入1,一个竞争周期后,则将按顺序发送,不会产生冲突
- 缺点:位图协议无法考虑优先级
- 效率分析
o 假设系统中有N个用户,需N个时隙
o 在低负荷条件下,如每帧的数据量为d bit,额外比特数为N(等待时隙),则效率为d/(d+N)
o 在高负荷条件下,即所有的站都希望一帧接一帧发送,位图按平均分配给每一帧,一帧只占一位,则效率为d/(d+1)
2.3.2 令牌传递
抓取到令牌的工作站可以发送一帧。
除了环,令牌也可以运行在其它拓扑上。
2.3.3 二进制倒计数协议
需要一个仲裁机构决定哪个站点发送
基本思想
把站号按相同长度的二进制数编号,需要发送的站逐个按高位到低位在争用周期开始时发送,凡低序号的站点发现有高序号站点也希望发送,则退出竞争,即:高序号站点优先
信道效率分析
o N个站的二进制编码所需位数是log2N位
o 信道的效率为: d/(d+log2N)
o 如果规定每个帧的帧头为发送地址,即竞争的同时也在发送。则效率为100%其他:有限竞争协议( Limited ContentionProtocol)
在低负荷时使用竞争法,以减少延迟时间。
在高负荷时,使用无冲突法,以获得高的信道效率
3 以太网
经典以太网
· 3M~10Mbps
· 不再使用交换式以太网
· 10M,100M,1G
· 广泛使用IEEE以太网命名规则
10Base2( IEEE 802.3a)
–10:传输带宽(单位Mbps)
–Base:基带传输
–2(或5):支持的分段长度( 100米为单位,四舍五入)
10Base-TX( IEEE 802.3X)
–T:铜制非屏蔽双绞线
–F:表示光缆
3.1 以太网/IEEE802.3工作原理
拓扑结构
物理连接是星型/扩展星型结构
逻辑上是总线型结构(站点争用总线)
介质访问方式及原理(二进制指数回退):
- 二进制指数后退的CSMA/CA
发送方在检测到冲突后,双方(或多方)都将延时一段时间,那么这段时间到底是多长?
冲突检测到后,时间被分成离散的时隙
- 时间槽:时隙的长度等于信号在介质上来回传输时间( 51.2µs )
一般地, i 次冲突后,等待的时隙数将从( 0~2i-1)×51.2μs中随机选择。达到10次冲突后,随机数区间被固定在最大值1023,不再增加。
算法保证确保两种情况:
少量站发生冲突,确保较低的延迟。
许多站发送冲突,确保在一个相对合理的时间间隔内解决冲突。
3.2 以太网/IEEE802.3帧格式
地址注意是MAC地址
(48位)
工作站的源地址有个有趣的特性,那就是它的全球唯一性( globally unique) , 由IEEE分配,保证世界上没有两个工作站具有的MAC地址是相同的
当一台计算机启动时, MAC地址从ROM拷贝到RAM
- o 长度字段
帧的最小长度为64字节,最大长度为1518字节,不包括前导码。
o 数据字段
LLC数据字段是帧的数据字段,长度最小为46个字节,如果少于46个字节,需要填充。
o 帧校验字段
采用32位的CRC校验
校验范围:目的/源地址、长度、 LLC数据等字段
o 类型/长度字段
在DIX以太帧中, type 字段指明上层网络协议的了类型
在IEEE 802.3帧中, length 字段指明了携带的数据的长度。
怎么区分到底代表类型 还是长度呢?
检查这个字段的数值:如果小于等于 1536(0x600),则是长度(802.3)字段,如果大于 1536,则表示类型(以太帧)
为什么有效帧长度>=64 Byte?
- CSMA/CD的要求
最短帧的发送时间>=争用时隙2t
以太网( 802.3)规定,在10Mbps局域网中
时隙: 2t = 51.2 微秒
最短帧长度: 10Mbps× 2t/8 = 64Byte
或者:( 51200/100ns) /8=64Byte
以太网采用曼彻斯特编码
4. 网桥/交换机
- DLL层的特点
- 数据链路层网络互连的基本概念
- 广播式网络的最大传输距离和可容纳最大站点数量决定了网络要分段。
- 用同一传输介质连接起来的站点的集合称为一个网段。
- 局域网间数据帧交换称为L2交换。
- L2交换设备是网桥/交换机。
网桥和交换机隔离了冲突域
4.1 网桥
有很多LAN,如何将它们连接起来?
- 可用网桥( bridges )将它们连接起来。
- 网桥工作在DLL层,通过检查MAC地址做出转发帧的决策
- 不会检查网络层,所以, IPv4,IPv6, AppleTalk,ATM, IPX, and OSI 分组均可穿越网桥。
路由器和网桥的不同:路由器检查逻辑地址(如IP地址)作出分组转发的决策
网桥工作原理:
- 如果源LAN和目的LAN相同,则丢弃该帧;
- 如果源LAN和目的LAN不同,则转发该帧;
- 如果目的LAN未知,则广播该帧。
说明:
当一个帧到达网桥时,它必须作出丢弃(discard)还是转发(forward)的决策,如果是转发,它还要知道向哪个LAN转发,决策是通过在网桥内部的一张地址表(hash table)中查找目的MAC地址而作出的
初始时,这张表是空的。
-
扩散算法(泛洪算法,flooding algorithm)
当网桥不知道目的地址时(表中查不到),它会将这帧从除来的LAN外的所有LAN转发出去 -
逆向学习(backward learning)
网桥从到达帧的源地址认识到源地址对应的那台机是在帧到达的那个LAN上,所以,把它写入MAC地址表
凡往表中加入记录,也必须同时打下时戳
到达帧的源地址在表中已有记录,将时戳更新为当前时间
网桥周期性地扫描表,将那些超时的记录从表中删除
网桥的功能特点:
- 连接不同的LAN网段。
- 通过过滤部分交通流量,减少冲突的机会,改善网络性能。
- 以网段分流交通,基于 MAC 地址过滤流量
冲突域的概念
- 一个网段,或用中继器/集线器连接的多网段,称为冲突域。
- 在以太网中,如果某个CSMA/CD网络上的两台计算机在同时通信时会发生冲突,那么这个CSMA/CD网络就是一个冲突域(collision domain)。如果以太网中的各个网段以集线器连接,因为不能避免冲突,所以它们仍然是一个冲突域。
- 二层设备可以隔离冲突域
- 在不同的冲突域内,数据通信可以同时进行。
生成树网桥:
- 为了可靠,冗余结构,为了维护一个无环路的网络拓扑
- 透明网桥会产生无休止循环的问题,解决的办法就是将互联的网络在逻辑上构成生成树的拓扑结构。
- SPT可能产生非最优路径(付出的代价)
数据链路层设备:网卡、网桥、交换机
NIC 网卡
Logical link control (LLC): 和上层通信
Naming: 提供一个独特的 MAC 地址标识符
Framing: 封装过程的一部分,为传输比特流打包
Media Access Control (MAC): 为访问共享介质提供访问策略
Signaling:创建信号和与介质的接口
4.2 交换机
交换机 Switch
- LAN 交换机是多端口网桥,
- 连接 LAN 网段。
- 使用一张 MAC 表,来决定一帧转发的端口
- 交换机常被用来替换集线器( hub),以改善现有网络性能。
- 增加带宽。
- 比网桥更高的交换速度。
- 支持新的功能,如VLAN。
LAN交换机中地址表的维护
- 动态更新
直接读取数据包中的源地址信息,存入CAM,如在CAM中没有找到所需的地址,添加到CAM中。
- 动态更新
- 删除过时的地址记录:时间标记
1) 每增加一条记录,为它打上时间标记;
2) 每引用或找到某条记录,为它打上新的时间标记。
3) 当某条地址记录超过一定时间没被引用,则删除它。
- 删除过时的地址记录:时间标记
工作原理:
- flooding --当目的地址未知或为广播地址时,桥发送帧到除源端口之外的每个端口
- learning --通过读取每个帧的源地址和对应源端口来学习连在网段上的每个设备的-地址
- forwarding --对于已学到的目的地址,桥将直接发送帧到对应的目的设备所在端口
- filtering --如果目的地址和源地址在同一端口,桥将丢掉帧
交换机的作用
- 使网络段处于无冲突环境
- LAN交换机利用现有硬件设备
- 使配置和管理更加灵活方便