MAC位于各式物理层之上,控制数据的传输。它负责核心成帧操作(core framing operation)以及与有线骨干网络之间的交互。

  • 802.11采用载波监听多路访问 / 冲突避免(carrier sense multiple access with collisions avoided,简称CSMA/CA)机制。
  • 802.11采用肯定确认(positive acknowledgment)机制。所有送出去的帧都必须得到响应。(下图所列步骤是原子操作。)

RTS:请求发送(Request to Send)

CTS:清除发送(Clear to Send)

退避(backoff)

阈值(threshold)

无线媒介的访问是由协调功能(coordination function)控制。

Ethernet 之类的CSMA/CA访问是由分布式协调功能(distributed coordination function,简称DCF)控制。

DCF:分布式协调功能(distributed coordination function)

PCF:点协调功能(point coordination function)

HCF:混合协调功能(hybrid coordination function)

载波监听(carrier sensing)主要用来判断媒介是否处于可用状态。

802.11具备两种载波监听功能:物理载波监听;虚拟载波监听。只要其中一个监听功能处于忙碌状态,MAC就会将此状况汇报给较高层协议。

物理载波监听功能是由物理层所提供,取决于所使用的媒介与调制方式。

虚拟载波监听功能是由网络分配矢量(Network Allocation Vector,简称NAV)所提供。

四种帧间间隔,三种用来决定媒介的访问:

短帧间间隔(Short interface space,简称SIFS)

PCF帧间间隔(PCF interface space,简称PIFS)

DCF帧间间隔(DCF interface space,简称DIFS)

扩展帧间间隔(Extended interface space,简称EIFS):只有在帧传输出现错误时才用到EIFS。

DCF中基于竞争的访问
      802.11中大部分传输均采用DCF(Distributed Coordination Function,分布式协调功能),DCF提供了类似以太网的标准竞争式服务。DCF允许多部独立的工作站彼此互动,无须通过中央管控,因此可以运用于IBSS网络或基础型网络。

基本规则:
      任何一部工作站试图传送任何数据之前,必须检查介质是否处于闲置状态。若它处于忙碌状态,工作站必须延迟访问并利用指数退避(exponential backoff)算法来避免发生冲突。在所有使用DCF 的传输当中,将会运用到两项基本原则:

1、如果介质闲置时间长于DIFS,便可立即进行传输。载波监听同时可通过物理与虚拟(NAV)方式进行。
① 如果之前的帧接收无误,介质至少必须空出一段DIFS时间。
② 如果之前的传输出现错误,介质至少必须空出一段EIFS时间。
2、如果介质处于忙碌状态,工作站必须等候至频道再度闲置。802.11称之为访问延期。一旦访问延期,工作站会 等候介质闲置一段DIFS时间,同时准备指数型退避访问程序。

在特定情况下,会用到额外的规则,其中有一些规则与之前传送的结果有关。

1、错误恢复(error recovery)属于发送端的责任。发送端预期每个帧均应收到应答信息,而且必须负责重传,直到传送成功为止。
① 只有收到ACK,才表示传送成功。
② 所有单点传播(单播)数据必须得到应答,广播数据不予以确认。(因此,即使无线电波链路本质上属于广播介质,相较于广播数据,单播数据还是具备较高的服务质量。)
③ 只要传送失败,重传计数器就会累计,然后重新加以传送。传送失败有可能是因为访问介质失败,也可能是因为得不到应答。不论如何,重传时会等待一段较长时间。

2、涉及多个帧的传送,可以在传输过程的每个步骤更新NAV。当所收到的介质预定时间比目前的NAV 还长时,工作站即会更新NAV。设定NAV 的方式是以个别的帧为基准。

3、以下的帧类型可在SIFS 之后传输,因此优先程度较高:确认(acknowledgment)、RTS/CTS 交换程序中的CTS,以及分段序列中(fragment sequence)的帧片段。
① 一旦传送出第一个帧,工作站就会取得频道的控制权。以后帧及其回应均可使用SIFS进行传送,以锁定频道不被其他工作站使用。
② 传送中,后续帧会将NAV 更新成该介质预计使用的时间。

4、如果较高层的包的大小超过所设定的阈值,则必须使用扩展帧序列(extended frame sequence)。

① 包的大小超过RTS阈值,必须使用RTS/CTS交换过程。
② 长度超过分段阈值,必须加以分段。

DCF与错误恢复:

错误检测与更正(error detection and correction)是由起始原子帧交换过程的工作站来决定。一旦检测到错误,该工作站必须负责重传。错误检测必须由发送端负责。有时候发送端可根据ACK的有无,推论帧是否已经漏失。只要帧被重传,重传计数器(retry counter)就会累加。

每个帧或帧片段会分别对应到一个重传计数器。工作站本身具有两个重传计数器:短帧重传计数器与长帧重传计数器。长度小于RTS门槛值的帧视为短帧;长度超过该门槛值的数据则为长帧。根据帧的长度,将会分别对应到长短帧重传计数器。帧重传计数由0 算起,只要帧传送失败即加以累计。

短帧重传计数器会在下列情况发生时归零:

  • 之前传送的RTS得到CTS的应答时
  • 之前传送的未分段帧得到MAC 层的应答时
  • 收到广播或组播的帧时

长帧重传计数器会在下列情况发生时归零:

  • 之前传送的帧大于RTS门限值,并且得到MAC层的应答时
  • 收到广播或组播的帧时

除了相应的重传计数器,MAC会赋予每个帧片段最长的存活期(lifetime)。传送出第一个帧片段之后,生存时间计数器(lifetime counter)随即启动。一旦超过存活时间,该帧便会被丢弃,因此不会重传其余的帧片段(应该是重头开始再传这一系列的帧)。当然,上层协议也可能监听到数据漏失予以重传。不过当上层协议(如TCP)重传数据,实际上传给802.11MAC 的是新的帧,所有重传计数器也会归零重新计算。

和大部分其他的网络协议一样,802.11是通过重传机制来提供可靠性。数据传送必须是整个原子过程完成才算成功。若传送失败,则 与该帧或帧片段相应的重传计数器累加。如果 达到重传限制,该帧随即被丢弃,并将此状况告知上层协议。

之所以要有短帧和长帧,其中一个原因是为了让网络管理人员利用不同长度的帧来调整网络的稳定性。长帧需要较多的缓存空间,所以两种不同重传限制的一个潜在应用,就是放宽长帧的重传限制,以减少所需要的缓存空间。

DCF的退避算法:

当前面的帧传送完成并且经过一段DIFS 时间,工作站便会试图传送之前拥塞的数据。DIFS之后所紧接的一段时间,称为竞争窗口(contention window)或退避窗口(backoff window)。此窗口(window)可进一步分割为时隙(slot)。时隙长度因介质而异。速度较高的物理层会使用较短的时隙。工作站会随机挑选某个时隙,等候该时隙到来以便访问介质。所有时隙的选择机会均等。当多部工作站同时试图传送数据,挑到第一个时隙(亦即取得最小随机号码)的工作站可以优先传送。

如同以太网,每当传输失败时,便会从一个范围中挑选出退避时间(backoff time)。每次不成功传输,都会使得CW呈指数型增长:通常是2的指数倍数减1(例如31,63,127,255),逐个递增下去,

上图以DSSS物理层为列,显示当传送次数增加,竞争期间(窗口)随之增长的情况(因为需要重传,所以原则上认为会更加拥挤,所以竞争窗口适当调大以适应更多的帧)。不同物理层会使用不同大小的退避时间,不过原则是相同的。竞争期间的大小通常是2 的指数倍数减1(例如31,63,127,255)。每当 重传计数器累增,竞争期间即以移至下一个2 的指数倍数。竞争期间的大小受到物理层的限制。例如,DS 物理层限制竞争期间最多1023 个传输时隙。

当竞争期间达到最大极限时,就会维持在该数字,直到被重新设定。允许使用较长的竞争期间,可以在多部工作站同时试图访问介质时,保持MAC 验算法的稳定,即使负载极大。当帧传送成功,竞争期间即被重设为最小值,如果到达重传计数器上限,该帧则随即被丢弃。

帧的分段与重组

帧分段可以提高整体的有效吞吐量。

网络管理人员所设定的分段阈值时,就会进行帧的分段。每个帧分段都有相同的帧序号以及一个递增的帧片段编号以便于重组。

帧控制信息用来指示是否还有其他帧片段待收。

构成整个帧的所有帧片段通常会在所谓的片段突发期(fragmentation burst)传送。

帧格式

这里不做详细介绍了。

(1)Frame Control 字段

(2)Duration / ID字段

(3)Address字段

(4)Sequence Control 字段(用来重组帧片段以及丢弃重复帧)

(5)Frame Body 字段

(6)FCS字段(帧校验序列,frame check sequence)(循环冗余校验码:cyclic redundancy check,CRC)

802.11对上层协议的封装

广播与组播数据或管理帧

广播与组播帧的交换过程最为简单,因为这些帧无须应答。这两种帧也可以视为群组帧,

因为其接收对象不限于单一工作站。帧封装(framing )与定位(addressing )在 802.11中较为复杂,适用此规则的帧类型如下所示:

  • 广播数据帧会在 Address1位中填入广播地址
  • 组播数据帧会在 Address1位中填入组播地址
  • 广播管理帧会在 Address1位中填入广播地址(Beacon、Probe Request 以及IBSS ATIM帧)

组播帧无法加以分段,也无须得到应答。整个基本交换过程只牵涉到一个帧,根据竞争式访问控制规则加以传递。传送结束后,所有工作站必须等待一段 DIFS时间,然后在竞争期间倒数随机产生的延迟时间。

因为帧的交换过程只牵涉到一个帧,所以将 NAV(网络分配矢量)设定为 0。既然此后已无其他帧,也就不必使用虚拟载波监听锁住介质,来防止其他工作站的访问。传送该帧之后,所有工作站均会等候一段 DIFS时间,然后通过竞争期间开始为任何遭延迟的帧进行倒数。整个交换过程,详见图 1-14 。

单播帧

帧的处理与桥接

无线接入点的核心其实就是桥接器,负责在无线与有线媒介之间转换帧。

无线媒介至有线媒介(802.11 至 Ethernet)

当接入点的无线界面接收到准备传送至有线网络的帧,接入点就必须在两种介质间桥送帧。非正式来讲,以下是接入点必须进行的一系列工作:

1.  当接入点接收到一个帧,首先会检测该帧基本上是否完整。接下来,接入点会针对所使用的物理层,检视物理层标头,然后验证802.11帧上的帧检验码。

2.  验证帧接收无误后,接入点就会继续检视是否应该进一步处理该帧。

a.  传送至接入点的帧,会将接入点的 MAC 地址(即 BSSID)摆在 802.11 MAC 标头的 Address 1 位。不符该接入点 BSSID 的帧应予以丢弃。(有些产品并未实现此步骤。)
    b.  802.11 MAC 接着监测且移出重复的帧。产生重复帧的原因很多,不过最常见的情况是 802.11 应答信息在传送过程中丢失或有所损毁。为了简化上层协议的工作,因此由 802.11 MAC 负责剔除重复的帧。

3.  一旦接入点判定需要进一步处理该帧,就必须予以解密,因为该帧会受到链路层安全算法的保护。

4.  成功解密之后,接入点即检视该帧是否为帧片段,需要进一步重组。完整性保护(integrity protection)针对重组后完整帧,而不是个别的帧片段。

5.  如果经过步骤2a的BSSID检验,判定接入点必须桥送该帧,较复杂的802.11 MAC 标头就会被转换为较简单的以太网 MAC 标头。

a.  记录在 802.11 MAC 标头之 Address 3 位里的目的地址,会被复制到以太网的目的地址。
    b.  记录在 802.11 MAC 标头之 Address 2 位里的源地址,会被复制到以太网的源地址。

c.  从 802.11 Data 位里的 SNAP 标头,将(Type)类型代码复制到以太网帧里的 Type 位。如果该以太网帧亦使用 SNAP,就复制整个 SNAP 标头。
    d.  顺序信息主要供帧片段重组之用,不过当帧被桥送之后即予以丢弃。

e.  如果有标准的服务质量处理程序,即在此进行无线与有线的 Qos 对应。不过到目前为止,用来表示服务质量的形式,通常就是在有线帧中使用 802.1p优先性等级 bit,或者其他的控制形式。

6.  重新计算帧检验码。以太网与802.11使用相同的算法来计算FCS ,不过802.11帧多出一些位,同时为FCS 所保护。

7.  所产生的新帧交付以太网界面传送。

有线媒介至无线媒介(Ethernet 至 802.11)

将帧从接入点有线端桥接至无线介质的过程刚好相反:

1.  验证以太网 FCS 后,接入点首先会检视是否需要进一步处理所接收到的帧,亦即检视该帧的目的地址是否属于目前与接入点连接的工作站。

2.  将SNAP 标头附加于以太网帧的数据之前。上层封包是以SNAP 标头进行封装,而其Type位是自以太网帧里的类型代码复制而来。如果该以太网帧亦使用SNAP ,则复制整个SNAP 标头。

3.  对帧的传送进行调度。802.11包含复杂的省电过程,将帧置于传送序列之前,接入点可能会将帧暂存于缓存区。

4.  一旦帧被置于序列待传,就会被赋予一个顺序编号。如有必要,所产生的数据可以用完整性检验值加以保护。如果帧需要分段,则会根据事先设定好的分段门限进行分段。分段帧时,将会在Sequence Control 位指定片段编号。

5.  如果帧需要保护,则对帧(或每个帧片段)的本体加密。

6. 802.11 MAC 标头是根据以太网 MAC 标头产生。
      a.  将以太网 的目的地址复制到 802.11 MAC标头的 Address 1 位。
      b.  将 BSSID 置于 MAC 标头的 Address 2,以做为无线介质上之帧的发送者。
      c.  将帧的源地址复制到 MAC 标头的 Address 3 位。
      d.  将其他位填入 802.11 MAC 标头。也就是把预计传送时间填入 Duration 位,并把适当的旗标填入 Frame Control 位。

7.  重新计算帧检验码。以太网与802.11使用相同的算法来计算FCS ,不过802.11帧多出一些位,同时为FCS 所保护。

8.  所产生的新帧交付802.11界面传送。

服务质量延伸功能

服务质量延伸功能会影响帧的传输顺序,但并不会改变帧行径 802.11 MAC 的基本路径。

802.11e 服务质量延伸功能并非只使用单一传输序列,而是在上述有线至无线桥接程序中的第 4、5 、7 步骤采用多组传输序列。这些步骤会根据优先次序进行帧处理;而优先次序取决于帧的内容以及配置设定中预先指定的优先性分级规则。

802.11无线网络权威——(三、MAC基础)相关推荐

  1. 《802.11无线网络权威指南》摘录

    <802.11无线网络权威指南>摘录 ---------------------------- 第一.二章: 无线频谱管控: 美国:FCC联邦通信委员会 欧洲:FRO欧洲无线通信局 其他地 ...

  2. 802.11基本概念介绍【802.11 无线网络权威指南学习总结1】

    802.11基本概念介绍[802.11 无线网络权威指南学习总结1] 1.802.11网络技术介绍 IEEE 802 规格的重心放在 OSI 模型最底下的两层,因为它们同时涵盖了实体(physical ...

  3. 读书笔记——《802.11无线网络权威指南》

    读书笔记--<802.11无线网络权威指南> 文章目录 读书笔记--<802.11无线网络权威指南> 概要 摘要 概念 MAC层 成帧细节 用户认证 概要 秉承"不动 ...

  4. 802.11 无线网络权威指南-第1章 无线网络导论

    相关背景知识 1.IEEE 802网络(Ethernet) 以太网是当今现有局域网采用的最通用的通信协议标准.该标准定义了在局域网(LAN)中采用的电缆类型和信号处理方法.以太网在互联设备之间以10~ ...

  5. 802.11无线网络部署方案对比分析

    802.11无线网络部署方案对比分析 目前随着802.11无线网络的快速发展,较大规模的项目,无数AP数量将会比较多,配置.管理及维护问题将会日益突出,另外,像WiFi电话等对无线漫游.信号强度.传输 ...

  6. 80211无线网络权威指南(三)之MAC

    一.MAC 802.11规范的关键在于MAC(媒介访问控制层),位于物理层之上,控制数据的传输,负责核心成帧操作以及与有线骨干网络之间的交互.不同的物理层可能提供不同的传输速度,不过物理层之间必须彼此 ...

  7. 802.11a/b/g/n无线协议详解 802.11 无线认证和加密有什么区别 开放系统

    802.11a/b/g/n,其实指的是无线网络协议,细分为802.11a.802.11b.802.11g.802.11n等.这几种不同的无线协议.都是由802.11演变而来的.802.11是IEEE最 ...

  8. 《计算机网络》——IEEE 802.11 无线局域网、无线局域网的分类、广域网、PPP协议、HDLC协议、链路层设备、冲突域和广播域

    文章目录 IEEE 802.11 无线局域网 802.11的MAC帧头格式 无线局域网的分类 广域网 PPP协议 PPP协议应满足的要求: PPP协议无需满足的要求 PPP协议的帧格式 HDLC协议 ...

  9. 80211无线网络权威指南(四)之成帧细节

    上一篇802.11的文章主要讲了帧的基本结构和组成字段,这篇文章主要讲不同类型帧的成帧细节.以太网的帧结构非常简单,只要为帧加上前导码.寻址信息并在结尾加上验证码即可,802.11成帧就比较复杂了, ...

最新文章

  1. 1_HelloWorld
  2. VS2010静态编译
  3. linux如何修改权限详解
  4. C++ iterator迭代器
  5. 《统计学》学习笔记之数据的图表展示
  6. 【面经——《广州敏视数码科技有限公司》——图像处理算法工程师-深度学习方向】
  7. ant引入html页面,antdesign 中 使用 iconfont symbol方式引入图标不展示
  8. 前端学习(713)创建数组
  9. opengl多重纹理映射
  10. poj 3131 Cubic Eight-Puzzle 双向广搜 Hash判重
  11. DevOps看起来很美,实现起来却很难?
  12. 数据结构 二叉树的递归建立和递归遍历
  13. 前端基础之HTML特殊字符集和表情集
  14. php爬取ins图片_python爬取【追新番】日剧资源
  15. Anaconda常用命令小结
  16. 星转二手交易平台/二手交易系统/二手网站
  17. allegro 走线切换层_PCB 18种特殊走线的画法与技巧
  18. 在word2016中对图片插入题注
  19. java pgp 加密_java – 如何解密签名的pgp加密文件?
  20. 绩效考核啊绩效考核!

热门文章

  1. 管理故事:保罗与小男孩
  2. 电源完整性系统设计总结
  3. 《div图层被鼠标划过时其背景色变色的五种方式》
  4. Swift内存所有权宣言
  5. 防火墙用户管理和入侵防御简介
  6. 五、分享优秀的 RISC-V 项目资源
  7. MATLAB下载遇到的问题:弹出DVD1并插入DVD2
  8. QQ那些厚黑又细腻的人性社交设计
  9. 中国人工智能算力城市排行榜:京、深、杭、沪、渝位列前五
  10. 如何在Win7中安装使用超级终端Hyper Terminal