第九章 无线网络和移动网络
拔丝地瓜

第九章 无线网络和移动网络

9.1 无线局域网WLAN

9.1.1 无线局域网的组成

无线局域网可分为有固定基础设施的无固定基础设施的两大类。“固定基础设施”是指预先建立起来的、能够覆盖一定地理范围的一批固定基站

1. IEEE 802.11

  • 对于第一类有固定基础设施的无线局域网,1997 年 IEEE 制定出无线局域网的协议标准 802.11[W-IEEE802.11]系列标准
  • 802.11 是无线以太网的标准,它使用星形拓扑,其中心叫做接入点 AP(Access Point),在 MAC 层使用 CSMA/CA 协议
  • 凡使用 802.11 系列协议的局域网又称为 Wi-Fi(Wireless-Fidelity,意思是“无线保真度”)
  • 现在 Wi-Fi 实际上已经成为了无线局域网 WLAN 的代名词,但无线局域网和“保真度”实在没有什么关系
  • 802.11 标准规定无线局域网的最小构件是基本服务集 BSS(Basic Service Set)
    • 一个基本服务集 BSS 包括一个基站和若干个移动站,一个站无论要和本 BSS 的站进行通信,还是要和其他 BSS 的站进行通信,都必须通过本 BSS 的基站

9.1.2 802.11 局域网的物理层

9.1.3 802.11 局域网的MAC层

1. CSMA/CA 协议

  • 在无线局域网中,仍然可以使用载波监听多址接入 CSMA , 即在发送帧之前先对传输媒体进行载波监听。若发现有其他站在发送帧,就推迟发送以免发生碰撞
  • 在无线局域网中,不能使用碰撞检测CD ,原因如下:
    • 由于无线信道的传输条件特殊,其信号强度的动态范围非常大,无线网卡上接收到的信号强度往往会远远小于发送信号的强度(可能相差百万倍)。如果要在无线网卡上实现碰撞检测CD ,对硬件的要求非常高
    • 即使能够在硬件上实现无线局域网的碰撞检测功能,但由于无线电波传播的特殊性(存在隐蔽站问题), 进行碰撞检测的意义也不大

3.4.3.1

  • 802.11 无线局域网使用 CSMA/CA 协议,在 CSMA 的基础上增加了一个碰撞避免 CA 功能,而不再实现碰撞检测功能

  • 由于不可能避免所有的碰撞,并且无线信道误码率较高, 802.11 标准还使用了数据链路层确认机制(停止-等待协议) 来保证数据被正确接收

  • 802.11 的 MAC 层标准定义了两种不同的媒体接入控制方式:

    • 分布式协调功能 DCF(Distributed Coordination Function)。在 DCF 方式下,没有中心控制站点,每个站点使用 CSMA/CA 协议通过争用信道来获取发送权,这是802.11 定义的默认方式

    • 点协调功能 PCF(Point Coordination Function)。PCF 方式使用集中控制的接入算法(一般在接入点AP 实现集中控制),是802.11 定义的可选方式,在实际中较少使用

      3.4.3.2
  • 802.11 标准规定,所有的站点必须在持续检测到信道空闲一段指定时间后才能发送帧,这段时间称为帧间间隔IFS(InterFrame Space)

  • 帧间间隔的长短取决于该站点要发送的帧的类型:

    • 高优先级帧需要等待的时间较短,因此可优先获得发送权;
    • 优先级帧需要等待的时间较长。若某个站的低优先级帧还没来得及发送,而其他站的高优先级帧已发送到信道上,则信道变为忙态,因而低优先级帧就只能再推迟发送了。这样就减少了发生碰撞的机会。
  • 常用的两种帧间间隔如下:

    • 短帧间间隔 SIFS),是最短的帧间间隔,用来分隔开属于一次对话的各帧。一个站点应当能够在这段时间内从发送方式切换到接收方式。使用 SIFS 的帧类型有 ACK 帧、CTS 帧、由过长的 MAC 帧分片后的数据帧、以及所有回答 AP 探询的帧和在 PCF 方式中接入点 AP 发送出的任何帧
    • DCF 帧间间隔 DIFS),它比短帧间间隔 SIFS 要长得多,在 DCF 方式中用来发送数据帧和管理帧

CSMA/CA 协议工作原理:

3.4.3.3

  • 当站点检测到信道是空闲的,并且所发送的数据帧不是成功发送完上一个数据帧之后立即连续发送的数据帧,
    则不使用退避算法
  • 以下情况必须使用退避算法:
    • 在发送数据帧之前检测到信道处于忙状态时
    • 每一次重传一个数据帧时
    • 在每一次成功发送后要连续发送下一个帧时(这是为了避免一个站点长时间占用信道)
  • 在执行退避算法时,站点为退避计时器设置一个随机的退避时间:
    • 当退避计时器的时间减小到零时,就开始发送数据
    • 当退避计时器的时间还未减小到零时而信道又转变为忙状态,这时就冻结退避计时器的数值,重新等待信道变为空闲,再经过时间 DIFS 后,继续启动退避计时器
  • 在进行第次退避时,退避时间在时隙编号中随机选择一个,然后乘以基本退避时间(也就是一个时隙的长度)就可以得到随机的退避时间。这样做是为了使不同站点选择相同退避时间的概率减少.当时隙编号达到255时(对应于第6次退避)就不再增加了

3.4.3.4

2. 对信道进行预约

  • 为了尽可能减少碰撞的概率和降低碰撞的影响, 802.11 标准允许要发送数据的站点对信道进行预约
    1. 源站在发送数据帧之前先发送一个短的控制帧,称为请求发送 RTS(request to send),它包括源地址目的地址以及这次通信(包括相应的确认帧)所需的持续时间

    2. 若目的站正确收到源站发来的RTS帧,且媒体空闲,就发送一个响应控制帧,称为允许发送 CTS(clear to send),它也包括这次通信所需的持续时间(从 RTS 帧中将此持续时间复制到 CTS 帧中)

    3. 源站收到 CTS 帧后,再等待一段时间 SIFS 后,就可发送其数据帧

    4. 若目的站正确收到了源站发来的数据帧,在等待时间 SIFS 后,就向源站发送确认帧 ACK

3.4.3.5
  • 除源站和目的站以外的其他各站在收到 CTS 帧(或数据帧)后就推迟接入到无线局域网中。这样就保证了源站和目的站之间的通信不会受到其他站的干扰

  • 如果 RTS 帧发生碰撞,源站就收不到 CTS 帧,需执行退避算法重传 RTS 帧

  • 由于RTS帧和CTS帧很短,发送碰撞的概率、碰撞产生的开销及本身的开销都很小。而对于一般的数据帧,其发送时延往往大于传播时延(因为是局域网),碰撞的概率很大,且一旦发生碰撞而导致数据帧重发,则浪费的时间就很多,因此用很小的代价对信道进行预约往往是值得的。802.11 标准规定了3种情况供用户选择:

    • 使用 RTS 帧和 CTS 帧
    • 不使用 RTS 帧和 CTS 帧
    • 只有当数据帧的长度超过某一数值时才使用 RTS 帧和 CTS 帧
  • 除 RTS 帧和 CTS 帧会携带通信需要持续的时间,数据帧也能携带通信需要持续的时间,这称为802.11的虚拟载波监听机制

  • 由于利用虚拟载波监听机制, 站点只要监听到 RTS 帧、CTS 帧或数据帧中的任何一个,就能知道信道被占用的持续时间,而不需要真正监听到信道上的信号,因此虚拟载波监听机制能减少隐蔽站带来的碰撞问题

CSMA/CA的基本流程图:

3.4.3.6

9.1.4 802.11 局域网的MAC帧