注:前言、目录见 https://blog.csdn.net/qq_44220418/article/details/108428971
一、无线局域网
无线局域网 { 有 固 定 的 基 础 设 施 的 无 线 局 域 网 ( IEEE 802.11 ) 移 动 自 组 网 络 \begin{cases} 有固定的基础设施的无线局域网(\text{IEEE} \;\; 802.11) \\ 移动自组网络 \end{cases} {有固定的基础设施的无线局域网(IEEE802.11)移动自组网络
1、有固定的基础设施的无线局域网
-
标准
- IEEE 802.11 \text{IEEE} \;\; 802.11 IEEE802.11,即 无线以太网的标准
- IEEE 802.11 \text{IEEE} \;\; 802.11 IEEE802.11使用 星形拓扑,其中心叫做 接入点AP
- 它就是 基本服务集BBS的基站,一个基本服务集BBS所覆盖的地理范围叫作 一个基本服务区BSA
- 一个基本服务集BSS 包括 一个基站 和 若干个移动站:所有的站在本 BSS 以内都可以直接通信;但在和本 BSS 以外的站通信时,都要通过本 BSS 的基站
-
与接入点AP建立关联
-
-
流程
- 一个移动站若要加入到一个基本服务集 BSS,就必须先选择一个接入点 AP,并与此接入点建立关联
- 只有关联的 AP 才向这个移动站发送数据帧,而这个移动站也只有通过关联的 AP 才能向其他站点发送数据帧
-
-
方法
-
① 被动扫描,即移动站等待接收接入站周期性发出的
信标帧
信标帧中包含有若干系统参数(如服务集标识符SSID 以及支持的速率等) - ② 主动扫描,即移动站主动发出 探测请求帧,然后等待从AP 发回的 探测响应帧
热点
-
① 被动扫描,即移动站等待接收接入站周期性发出的
信标帧
- 能够向公众提供有偿或无偿接入Wi-Fi 的服务的地点就叫做 热点
- 由许多热点和AP 连接起来的区域叫做 热区
2、移动自组网络
-
概述
- 自组网络是没有固定基础设施(即没有AP)的无线局域网
- 这种网络是 由一些处于平等状态的移动站之间相互通信组成的临时网络 无线传感器网络 WSN
- 由大量传感器结点通过无线通信技术构成的自组网络
- 无线传感器网络的应用是进行各种数据的采集、处理和传输,一般并不需要很高的带宽,但是在大部分时间必须保持低功耗,以节省电池的消耗
- 由于无线传感结点的存储容量受限,因此对协议栈的大小有严格的限制
- 无线传感器网络还对网络安全性、结点自动配置、网络动态重组等方面有一定的要求
3、无线局域网的 MAC 层协议(CSMA/CA 协议)
无线局域网不能简单地搬用 CSMA/CD 协议
-
隐蔽站问题
- 当 A 和 C 检测不到无线信号时,都以为 B 是空闲的,因而都向 B 发送数据,结果发生碰撞 暴露站问题
- B 向 A 发送数据,而 C 又想和 D 通信,而 C 检测到媒体上有信号,于是就不敢向 D 发送数据
改进的办法是把CSMA 增加一个碰撞避免功能
802.11 就使用CSMA/CA 协议,而在使用CSMA/CA 的同时,还增加使用停止等待协议
以太网 | 无线局域网 |
---|---|
CSMA/CD | CSMA/CA |
无确认 | 有确认 |
不可靠 | 可靠 |
MAC 层通过 协调 功能来确定在基本服务集 BSS 中的移动站在什么时间能发送数据或接收数据
-
帧间间隔 IFS
- 所有的站在完成发送后,必须再等待一段很短的时间(继续监听)才能发送下一帧。这段时间的通称是帧间间隔 IFS
- 帧间间隔长度取决于该站欲发送的帧的类型(高优先级帧需要等待的时间较短,因此可优先获得发送权)
-
-
短帧间间隔 SIFS
- 最短的帧间间隔,用来分隔开属于一次对话的各帧
- 一个站应当能够在这段时间内从发送方式切换到接收方式
- 使用 SIFS 的帧类型有 { ACK 帧 CTS 帧 由 过 长 的 MAC 帧 分 片 后 的 数 据 帧 以 及 所 有 回 答 AP 探 询 的 帧 和 在 PCF 方 式 中 接 入 点 AP 发 送 出 的 任 何 帧 \begin{cases} \text{ACK} 帧 \\ \text{CTS} 帧 \\ 由过长的 \text{MAC}帧分片后的数据帧 \\ 以及所有回答 \text{AP} 探询的帧和在 \text{PCF} 方式中接入点 \text{AP} 发送出的任何帧 \end{cases} ⎩⎪⎪⎪⎨⎪⎪⎪⎧ACK帧CTS帧由过长的MAC帧分片后的数据帧以及所有回答AP探询的帧和在PCF方式中接入点AP发送出的任何帧
-
-
分布协调功能帧间间隔 DIFS
- 在 DCF 方式中用来发送数据帧和管理帧
- DIFS 的长度比 SIFS 长得多
CSMA/CA协议的原理
- 欲发送数据的站先检测信道,通过收到的相对信号强度是否超过一定的门限数值就可判定是否有其他的移动站在信道上发送数据
- 当源站准备发送它的第一个 MAC 帧时,若检测到信道空闲,则在等待一段时间 DIFS 后就可发送(考虑高优先级帧要先发送,所以要等待一个 DIFS)
- 当源站发送了自己的数据帧后,目的站在正确收到此帧后,将等待一个 SIFS 后向源站发送确认帧 ACK(若规定时间未收到此帧则必须重传此帧直到收到确认为止,或经过若干次重传失败放弃发送) 虚拟载波监听
- 虚拟载波监听的机制是让源站将它要占用信道的时间(包括目的站发回确认帧所需的时间)通知给所有其他站,以便使其他所有站在这一段时间都停止发送数据
- 这样可以大大减少碰撞的机会
- “虚拟载波监听”表示其他站并没有监听信道,而是由于其他站收到了“源站的通知”才不发送数据
-
-
效果
- 这种效果好像是其他站都监听了信道
- 所谓“源站的通知”就是源站在其 MAC 帧首部中的第二个字段“持续时间”中填入了在本帧结束后还要占用信道多少时间(以微秒为单位),包括目的站发送确认帧所需的时间
网络分配向量
- NAV 指出了必须经过多少时间才能完成数据帧的这次传输,才能使信道转入到空闲状态
- 当一个站检测到正在信道中传送的 MAC 帧首部的“持续时间”字段时,就调整自己的网络分配向量 NAV 争用窗口
- 信道从忙态变为空闲时,任何一个站要发送数据帧时,不仅都必须等待一个 DIFS 的间隔,而且还要进入争用窗口,并计算随机退避时间以便再次重新试图接入到信道
- 在信道从忙态转为空闲时,各站就要执行退避算法,这样做就减少了发生碰撞的概率
- 802.11(无线以太网标准) 使用 二进制指数退避算法 二进制指数退避算法
- 第 i i i 次退避是在 2 2 + i 2 ^ {2 + i} 22+i 个时隙 { 0 , 1 , ⋯ , 2 2 + i – 1 } \{0, 1, \cdots, 2^{2 + i} – 1\} {0,1,⋯,22+i–1} 中随机地选择一个
-
-
退避算法的使用
- “检测到信道是空闲的,并且这个数据帧是要发送的第一个数据帧”,只有这种情况不使用退避算法
- 除此以外的情况 { 在 发 送 第 一 个 帧 之 前 检 测 到 信 道 处 于 忙 态 每 一 次 的 重 传 每 一 次 的 成 功 发 送 后 再 要 发 送 下 一 帧 \begin{cases} 在发送第一个帧之前检测到信道处于忙态 \\ 每一次的重传 \\ 每一次的成功发送后再要发送下一帧 \end{cases} ⎩⎪⎨⎪⎧在发送第一个帧之前检测到信道处于忙态每一次的重传每一次的成功发送后再要发送下一帧都要使用退避算法
退避计时器
- 站点每经历一个时隙的时间就检测一次信道
-
-
检测到信道空闲
- 退避计时器继续倒计时
-
-
检测到信道忙
- 冻结退避计时器的剩余时间,重新等待信道变为空闲并再经过时间DIFS 后,从剩余时间开始继续倒计时
-
如果退避计时器的时间减小到零时,就开始发送整个数据帧
-
下图即为 802.11 的退避机制示例:
4、对信道进行预约
-
RTS 和 CTS
- 源站 A 在发送数据帧之前先发送一个短的控制帧, 叫做请求发送 RTS,它包括源地址、目的地址和这次通信(包括相应的确认帧 ACK)所需的持续时间
- 若媒体空闲,则目的站 B 就发送一个响应控制帧, 叫做允许发送 CTS,它包括这次通信所需的持续时间 (从 RTS 帧中将此持续时间复制到 CTS 帧中)
- CSMA/CA 基本流程图