Skip to content

5 MAC Sublayer

Click on a tile to change the color scheme:

Screen Shot 2021-04-17 at 10.55.02 AM

1. 信道分配

需要解决的问题:多方竞争信道使用权时如何确定谁可以使用信道。

1.1 静态分配

  • 方法:TDM、FDM
  • 适用范围:用户少;数目固定;通信量大;流量稳定
  • 不适用:突发性业务;
  • 缺点:资源分配不合理,有浪费,效率低;延迟时间增大N倍(N为划分的子信道个数)

1.2 动态分配

1.2.1 ALOHA

1.2.1.1 纯ALOHA
  • 想发就发,随时发
  • 冲突的判断方式:
  • 每个站在给中央计算机发送帧之后,该计算机把该帧重新广播给所有站。因此,那个发送站可以侦听来自集线器的广播,以此确定它的帧是否发送成功。
  • 类比:SSH终端输入,看到的是远程反馈回来的接收的结果。
  • 信道效率评估:
  • 假设新生成的帧加上需要重发的老帧的数量符合Poisson Distribution,每帧时平均帧数为G
  • 吞吐量 S 就是负载 G 乘以成功传输的概率:\(S = GP_0\)\(P_0\)是这一帧没有遭受冲突的概率)。
  • 给定的帧时内生成了k帧的概率:\(Pr[k] = {G^k e^{-G} \over k!}\)。不冲突即为k=0,概率为\(e^{-G}\)
  • 考虑某一帧(图中阴影),其可能与前面的或者后面的帧时中发出的帧冲突。前后两帧加起来生成0帧的概率为\(e^{-2G}\)Screen Shot 2021-04-17 at 12.07.58 PM
  • 吞吐量:\(S=Ge^{-2G}\)。最大值:\(S = {1 \over 2e} \approx 0.184\), where \(G = 0.5\)
1.2.1.2 分槽 ALOHA

Screen Shot 2021-04-17 at 12.11.13 PM

  • 改善:敲回车之后,必须等到下一个时槽的开始时刻才发送。
  • 在测试帧所在的同一个时间槽中没有其他流量的概率是\(e^{-G}\)\(S = G e^{-G}\)

1.2.2 Carrier Sense Protocol 载波侦听

1.2.2.1 1-persistent Carrier Sense Multiple Access
  • 发之前先侦听信号
  • 其它站在发,等待直到信道空闲
  • 空闲,发一帧(1-persistent:发现信道空闲时发送的概率为1)
  • 冲突:等待一段随机的时间,然后再从头开始上述过程
1.2.2.2 Non-persistent Carrier Sense Multiple Access
  • 如果信道忙,并不是持续侦听然后一到空闲就立即发送
  • 等待一段随机时间,重复以上过程
  • 缺点:延时++
1.2.2.3 p-persistent Carrier Sense Multiple Access
  • 如果信道空闲,发送概率为p

比较:

Screen Shot 2021-04-17 at 12.24.40 PM

1.2.2.4 CSMA with Collision Detection (CSMA/CD)
  • 被Ethernet采用

  • 如果一个站检测到冲突,它立即中止自己的传送,等待一段随机时间,然后再重新尝试传送。

如何确定竞争周期的长度?

  • 假设两个相距最远的站传播信号所需要的时间为\(\tau\)
  • \(t_0\)时一个站开始发
  • \(t_0 + \tau - \epsilon\),即信号到达最远那个站之前的一刹那, 那个站也开始传输
  • 最远的那个站立即检测到冲突,停止
  • 冲突引起的微小噪声尖峰要到\(t_0 + 2\tau - \epsilon\)才能回到原来那个站

综上,一个站传输了\(2\tau\)之后还没有监听到冲突,它才可以确保自已经seize了信道(即知道其他站知道自己在传因此不会干扰自己)。

Screen Shot 2021-04-17 at 12.40.07 PM

最小有效帧长度:64 Bytes。凡是低于此值的,均视为因冲突而异常中止的帧。

该值是由上述的\(2 \tau\)决定的:802.3规范中的10Mbps以太网,长度2500m,在\(2 \tau \approx 50 \mu s\)的时间内能发送500bits,加上安全余量增加至512bits = 64Bytes。

缺点:电缆很长而帧的长度又很短时,冲突不仅降低了带宽,而且使得发送一个帧的时间变得动荡不定。

1.2.3 无冲突协议

1.2.3.1 位图协议

Screen Shot 2021-04-17 at 12.47.59 PM

  • 竞争期:举手示意,资源预留
  • 传输期:按序发送

  • 利用率:

  • 低负荷/非均衡时:d/(d+N) (站点越多,N越大,利用率越低)
  • 在高负荷条件下:d/(d+1),接近100%
  • 缺点:无法考虑优先级

2. 数据链路层交换原理

数据链路层设备扩充网络

冲突域的个数 https://blog.51cto.com/u_2225558/2312623

网桥:

方式:存储转发

作用:分割冲突域;连接不同类型的局域网

2.1 透明网桥

无需配置

2.1.1 逆向学习

Screen Shot 2021-04-14 at 10.35.51 AM

MAC地址表的构建:逆向学习源地址:

主机向外发送数据时,其MAC地址就会被学习

老化时间(默认300s)(应对设备位置变更)

总结:增(帧的源地址不在表中);删(老化时间到期);改(帧的源地址在表中,更新时间戳)

2.1.2 泛洪 Flooding

将从某个接口收到的数据流向除该接口之外的所有接口发送出去。

两种目的地址的帧,需要泛洪:

  • 广播帧:目的地址为FF-FF-FF-FF-FF-FF的数据帧
  • 未知单播帧:目的地址不在MAC地址转发表中的单播数据帧

2.2 链路层交换机

分类:多端口透明网桥;POE(Power Over Ethernet)交换机

交换模式1:存储转发:转发前接收整个帧,CRC校验;延迟高

交换模式2:直通交换:一旦接收到帧的目的地址,就开始转发;延迟低

交换模式3:无碎片转发:接收到帧的前64字节,即开始转发;延迟中,但是过滤了冲突导致的碎片帧

对称交换/非对称交换:出入带宽是否相同

2.3 生成树协议

增强稳定性:冗余拓扑;物理环路引发了以下问题:

  • 广播风暴:交换机在网桥上无休止地flooding,无限循环
  • 重复帧:X发送到环路的单播帧,造成目的设备Y收到重复的帧
  • MAC地址表不稳定:当一个帧的多个副本到达不同端口时,交换机会不断修改同一MAC地址对应的端口

解决冗余拓扑中的传输问题:构建无环生成树

  • 收发BPDU:
  • 根桥ID
  • 根路径开销
  • 指定桥ID
  • 指定端口ID
  • 选举:
  • 根桥
    • 同一广播域中的全部交换机参与选举
    • 桥ID最小的
    • 根桥所有端口都处在转发状态
  • 为每个非根桥选出一个根端口(开销最小;kaixiao哦 IEEE根据)
  • 为每个网段指定端口
    • 一个具有最小根路径开销的端口,作为该网段的指定端口
    • 指定端口处于转发状态,负责该网段的数据转发
    • 连接该网段的其他端口,若既不是指定端口,也不是根端口,则阻塞(显然,根桥的所有端口都是指定端口)

当由交换机(网桥)或链路故障导致网络拓扑改变时,重新构造生成树

快速生成树协议(Rapid Spanning Tree Protocol, RSTP)

如何寻找最优路径?

2.3.1 源路由网桥

2.4 虚拟局域网

广播域:

交换机划分VLAN,分隔广播域

区分不同VLAN的数据帧的方式:

  • 数据帧中携带VLAN标记
  • VLAN标记由交换机添加/剥除,对终端透明

Screen Shot 2021-04-14 at 11.11.56 AM

3. 无线局域网

3.1 802.11 物理层

3.1.1 MAC

CSMA/CA(Carrier Sense Multiple Access with Collision Avoid)

Screen Shot 2021-04-14 at 11.36.37 AM


Last update: June 13, 2021
Authors: Colin (89.91%), Colin (10.09%)