《计算机网络自顶向下方法》笔记 (5) 无线网络和移动网络

无线网络和移动网络

基站(base station, BS)是无线网络基础设施的一个关键部分。基站负责为与之关联的无线主机收发数据,并协调多个与之相连的无线主机的传输。如蜂窝网络中的蜂窝塔和 802.11 WLAN 中的接入点(AP)。基站与更大的网络相连,因此,基站起着链路层中继的作用。

6.2 无线链路和网络特征

无线链路的问题

无线链路与有线链路有许多重要差别:

  • 递减的信号强度。物体的阻挡、距离的增加会使信号强度衰减。
  • 来自其他源的干扰。同一频段发送的信号将彼此干扰。
  • 多径传播。电磁波反射导致产生了不同的路径,模糊了信号。

上述特征表明,无线链路中的比特差错将比有线链路中更为常见。另外,无线链路还可能导致隐藏终端问题,即由于物理实体的阻挡,导致位于两端的主机无法监听到对方的传输情况,导致信号相互干扰。

CDMA

在 CDMA 中,要发送的每个比特都通过乘以一个信号(CDMA 编码)来进行编码。传输一个比特的时间是 1 比特时隙,一个比特时隙中又含有 M 个微时隙,每个微时隙中有一个比特,M 个微时隙中的比特组成了它的 CDMA 编码。

对于第 i 个比特 d i d_i ,第 m 个微时隙的 CDMA 编码的比特 c m c_m ,CDMA 编码器输出 Z i , m Z_{i, m} 。发送方发送的第 i 个比特的 CDMA 编码的第 m 比特为 Z i , m = d i × c m Z_{i,m} = d_i \times c_m 。接收方收到 CDMA 编码后的数据,将数据解码,还原第 i 个比特为 d i = 1 M m = 1 M Z i , m × c m d_i = \frac{1}{M} \sum^M_{m=1}Z_{i,m} \times c_m

当有多个发送方时,它们的 CDMA 编码是正交的,才不会互相造成干扰。接收方收到的各个发送方的信号是加性的,接收方根据特定发送方的 CDMA 编码对收到的叠加的信号进行解码,就能得到该发送方的数据。

在这里插入图片描述

6.3 WIFI: 802.11 WLAN

802.11 体系结构

802.11 体系结构的基本构建模块是基本服务集(BSS)。一个 BSS 包含一个或多个无线站点和一个称为**接入点(AP)**的中央基站。多个 BSS 的 AP 经由交换机或路由器互联,并连接到因特网上。无线站点想要与互联网收发数据,必须与一个 AP 相关联。

信道与关联

安装 AP 时,必须为之分配一个服务集标识符(SSID)和一个信道号。对 802.11b 来说,它运行在 2.4 ~ 2.4835GHz 的频段中,在这个频段内,它定义了 11 个部分重叠的信道。当且仅当两个信道由 4 个或更多信道隔开时它们才无重叠。特别是信道 1、6 和 11 的集合是唯一的三个非重叠信道的集合。这意味着管理员可以在同一个物理网络中安装三个 802.11b AP,为这些 AP 分配信道 1、6 和 11,然后将每个 AP 都连接到一台交换机上。

每个 AP 周期性地发送包含其 SSID 和 MAC 地址的信标帧,无线站点通过扫描 11 个信道,找出信号覆盖该无线站点的 AP。可能有多个 AP 运行在同一个信道上,或不同信道上,无线站点需要选择其中一个与之关联,即发送关联请求帧,AP 对此应答一个关联响应帧,于是,该无线站点就与该 AP 相关联了。这中扫描信道和监听信标帧的过程被称为被动扫描

无线站点也可以使用主动扫描,即无线站点广播探测请求帧,AP 接收到该探测后应答一个探测响应帧,无线站点在接收到的一个或多个响应帧中选择一个 AP,并向其发送关联请求帧,AP 响应后两者便关联起来。这个过程与 DHCP 协议运行颇为类似。

802.11 MAC 协议

802.11 的多路访问协议是随机访问协议的一种,称为带碰撞避免的 CSMA(CSMA/CA)。该协议采用了碰撞避免,而并非碰撞检测,原因在于:适配器接收到的信号的强度通常远远小于发送的信号,制造能够检测碰撞的硬件成本太高;无线链路存在隐藏终端问题和信号强度衰减问题,难以检测到所有碰撞。

由于 802.11 不使用碰撞检测,一旦站点开始发送一个帧,它就完全地发送该帧。于是,碰撞的存在将严重降低性能。为此,802.11 采用了碰撞避免。

对于 CSMA/CA 中的接收方,由于无线信道相对较高的比特差错率,802.11 使用了链路层确认/重传方案。目的站点收到一个通过 CRC 检验的帧后,它等待一个被称为**短帧间间隔(SIFS)**的一小段时间,然后发回一个确认帧。

对于 CSMA/CA 中的发送方:

  1. 如果初始时某站点监听到信道空闲,它将在一个被称为**分布式帧间间隔(DIFS)**的短时间段后发送该帧。

  2. 否则,该站点选取一个随机回退值(类似二进制指数后退)作为计数值,并在监听信道空闲时递减该值。当监听到信道忙时,该值保持不变。

  3. 当计数值减为 0 时(注意到这只能发生在信道被监听为空闲时),该站点发送整个数据帧并等待确认。

  4. 如果收到确认,发送站点知道它的帧已被目的站点正确接收了。如果该站点要发送另一帧,它将从第二步开始 CSMA/CA 协议。如果未收到确认,发送站点假定出现了错误,将重新进入第二步中的回退阶段,并从一个更大的范围内选取随机值,尝试重传该帧。

  5. 若在若干固定次重传后仍未收到确认,发送站点将放弃发送并丢弃该帧。

在这里插入图片描述

采用碰撞避免的效果很显著:假定有三个站点,其中一个站点正在传输,另外两个站点有数据想要传输并侦听信道,发现信道忙,分别进入随机回退。若它们选择的回退值不同,那么回退值较小的在回退时间结束后,侦听信道,发现信道空闲,便发送数据。回退值较大的在回退时间结束后,侦听信道,发现信道忙,便再次进入回退。从这个例子中,可以看到碰撞避免是如何发挥作用。然而,这种碰撞避免方案仍然有不足之处,如两个站点选择了非常接近的回退值,或两个站点互相是隐藏的。

要处理隐藏终端问题,802.11 允许站点使用一个短**请求发送(RTS)控制帧和一个短允许发送(CTS)**控制帧来预约对信道的访问。当发送方要发送一个数据帧时,它首先向 AP 发送一个 RTS 帧,指示传输数据帧和确认帧需要的总时间。当 AP 收到 RTS 帧后,它广播一个 CTS 帧作为响应。该 CTS 帧有两个目的:给发送方明确的发送许可,也指示其他站点在预约期内不要发送。

在这里插入图片描述

使用 RTS 帧和 CTS 帧后,隐藏终端问题被环节了,因为无线站点不必探知隐藏的终端了,统一交由 AP 来协调;并且,RTS 帧和 CTS 帧很短,涉及 RTS 帧和 CTS 帧的碰撞将持续很短的时间,但却能够让后续更长的数据帧传输避免了碰撞。

尽管 RTS/CTS 交换有助于降低碰撞,但它同样引入了时延以及消耗了信道资源。因此,RTS/CTS 交换仅仅用于为长数据帧预约信道。在实际中,每个无线站点可以设置一个 RTS 阈值,仅当帧长超过阈值时,才使用 RTS/CTS 序列。

出了隐藏终端问题外,还有暴露终端的问题。在发送站点的覆盖范围内而在接收站点的覆盖范围外的站点,称为暴露终端。暴露终端监听到发送站点而可能延迟发送,但它其实是在接收站点的通信范围之外,它的发送不会造成冲突,这就引入了不必要的时延。

暴露终端的问题本质是信道竞争,在 RTS/CTS 交换下,发送方向接收方发送数据时,暴露终端只监听到 RTS 而听不到 CTS(接收方为 AP,暴露终端在 AP 覆盖范围之外),故得知自己是暴露终端,认为自己可以向远离发送方、接收方的 AP 发送数据。暴露终端向自己的 AP 发送 RTS,AP 回送的 CTS 将会干扰发送方(假如该发送方相对来说也是暴露终端)。

为此,需要使用双信道,一个数据信道用于收发数据,一个控制信道用于收发控制信号。

猜你喜欢

转载自blog.csdn.net/HNUCSEE_LJK/article/details/106878314
今日推荐