计算机网络第九章:无线网络与移动网络学习总结
1. 无线网络基础
无线网络为用户提供了极大的灵活性和移动性,但其底层物理链路与有线网络有着显著差异。
1.1 无线链路特征
无线链路的物理特性导致其性能与有线链路大相径庭:
- 信号衰减 (Signal Attenuation) :
- 信号强度随距离增加而显著衰减,通常遵循平方反比定律(自由空间)或更高的幂次定律(有障碍物)。
- 障碍物(墙壁、建筑物、树木)会吸收或反射信号,导致信号强度进一步降低。
- 多径传播 (Multipath Propagation) :
- 无线信号从发射机到接收机可能通过多条路径到达,这些路径长度不同,导致信号到达时间不同。
- 不同路径的信号可能相互叠加(建设性干涉)或抵消(破坏性干涉),引起信号强度波动,即衰落 (Fading)。
- 多径效应还会导致符号间干扰 (Inter-Symbol Interference, ISI),即前一个符号的"尾巴"干扰到后一个符号。
- 干扰 (Interference) :
- 来自其他无线设备(如微波炉、蓝牙设备、其他Wi-Fi网络)的信号会与目标信号相互干扰,降低信噪比。
- 同频干扰:使用相同频率的相邻小区或AP之间的干扰。
1.2 隐蔽站 (Hidden Terminal) 与 暴露站 (Exposed Terminal) 问题
这是无线网络中特有的MAC层问题,影响信道效率和公平性。
- 隐蔽站问题 (Hidden Terminal Problem) :
- 描述:当一个站点A无法听到另一个站点C的传输,但它们都向同一个中间站点B传输时,A和C可能会同时向B发送数据,导致B处发生碰撞。A和C都不知道对方的存在,因此无法避免碰撞。
- 影响:降低吞吐量,增加重传。
- 解决方案:RTS/CTS 预约机制。
- 暴露站问题 (Exposed Terminal Problem) :
- 描述:当站点B正在向站点A传输数据时,站点C在B的传输范围内,因此C能听到B的传输。如果C想要向站点D传输数据,C会认为信道忙而延迟发送,即使C到D的传输并不会干扰B到A的传输。
- 影响:不必要的信道利用率降低。
- 解决方案:较难完全解决,RTS/CTS在一定程度上能缓解,但主要还是通过合理的信道规划。
1.3 码分多址 CDMA 原理 (Code Division Multiple Access)
CDMA 是一种多址接入技术,允许多个用户在同一时间、同一频率上共享信道,通过为每个用户分配独特的码片序列 (Chip Sequence) 来区分信号。
- 基本原理 :
- 数据编码:每个用户的数据比特(1或0)与该用户的唯一码片序列进行异或(XOR)运算。比特1对应码片序列本身,比特0对应码片序列的反码。
- 信号叠加:所有用户的编码信号在信道上同时传输并线性叠加。
- 信号分离 :接收端通过将接收到的叠加信号与目标用户的码片序列进行内积 (Inner Product) 运算,来提取出目标用户的数据。
- 码片序列特性 :
- 正交性:不同用户的码片序列之间应相互正交,即它们的内积为0。这确保了在理想情况下,一个用户的信号不会干扰另一个用户。
- 自相关性:一个码片序列与自身的内积应尽可能大,与自身移位后的内积应尽可能小,以便于同步和抗多径干扰。
- 优点:抗干扰能力强,频谱利用率高,安全性相对较好。
2. 无线局域网 IEEE 802.11 (WiFi)
IEEE 802.11 是目前最广泛使用的无线局域网标准,通常称为 Wi-Fi。
2.1 体系结构
- 基本服务集 (Basic Service Set, BSS) :
- 基础设施模式 (Infrastructure Mode):包含一个接入点 (Access Point, AP) 和一个或多个无线工作站 (Station, STA)。所有STA通过AP进行通信,AP连接到有线骨干网。
- 自组织模式 (Ad-hoc Mode):也称为独立BSS (Independent BSS, IBSS)。不包含AP,STA之间直接通信。适用于临时、小规模网络。
- 扩展服务集 (Extended Service Set, ESS) :
- 由多个BSS组成,这些BSS通过一个分布系统 (Distribution System, DS)(通常是以太网)连接起来。
- 用户可以在ESS内移动,从一个AP切换到另一个AP,而不会中断连接。
2.2 MAC 层协议:CSMA/CA
由于无线网络的特殊性(如隐蔽站问题、无法进行碰撞检测),802.11 采用了带冲突避免的载波监听多点接入 (CSMA/CA) 协议,而非 CSMA/CD。
- 基本思想 :
- 载波监听 (Carrier Sense):站点在发送数据前先监听信道,判断信道是否空闲。
- 冲突避免 (Collision Avoidance):通过一些机制(如随机退避、RTS/CTS)来尽量减少冲突的发生。
- 确认机制 (Acknowledgement):由于无法检测到冲突,发送方必须收到接收方的确认帧 (ACK) 才能确定数据发送成功。若未收到ACK,则认为发生冲突或传输失败,需要重传。
2.3 帧间间隔 (Interframe Spacing)
802.11 定义了不同长度的帧间间隔,用于优先级控制:
- 短帧间间隔 (Short Interframe Space, SIFS) :
- 最短的帧间间隔。
- 用于高优先级帧,如 ACK、CTS、数据帧的片段确认等。
- 确保在数据传输成功后,接收方能尽快发送ACK,从而保持信道的控制权。
- 分布式帧间间隔 (Distributed Interframe Space, DIFS) :
- 比 SIFS 长。
- 用于发送数据帧或管理帧。
- 当站点发现信道空闲时,需要等待一个 DIFS 时间,然后才能进入随机退避阶段。
2.4 预约机制:RTS/CTS
RTS/CTS (Request To Send/Clear To Send) 机制用于解决隐蔽站问题,并减少长数据帧传输时的冲突概率。
- 流程 :
- 发送方(A)在发送实际数据前,先发送一个短的 RTS 帧给接收方(B),声明自己将要发送数据,并告知数据帧的长度。
- 接收方(B)收到RTS后,如果准备好接收,则回复一个短的 CTS 帧。
- 所有听到 RTS 或 CTS 的站点都会设置一个 网络分配向量 (Network Allocation Vector, NAV),这是一个定时器,指示它们在一段时间内(RTS/CTS帧中指定的数据传输时间)不要发送数据,从而避免冲突。
- 发送方(A)收到CTS后,开始发送数据帧。
- 接收方(B)收到数据帧后,回复一个 ACK 帧。
- 优点:用短的RTS/CTS帧的碰撞代替长数据帧的碰撞,减少了信道资源的浪费。
2.5 802.11 帧格式
802.11 帧格式比以太网帧复杂,特别是其地址字段。一个802.11数据帧最多可以有4个地址字段。
- 地址字段的使用场景 :
- Address 1 (接收方地址) :始终是下一个接收帧的无线设备MAC地址。
- 在基础设施模式下,如果帧从STA发往AP,Address 1是AP的MAC地址。
- 如果帧从AP发往STA,Address 1是目标STA的MAC地址。
- 在自组织模式下,Address 1是最终目的STA的MAC地址。
- Address 2 (发送方地址) :始终是上一个发送帧的无线设备MAC地址。
- 在基础设施模式下,如果帧从STA发往AP,Address 2是源STA的MAC地址。
- 如果帧从AP发往STA,Address 2是AP的MAC地址。
- 在自组织模式下,Address 2是源STA的MAC地址。
- Address 3 (目的地址/源地址) :用于在分布系统 (DS) 中寻址。
- 当帧从无线网络进入有线DS时(
To DS = 1, From DS = 0),Address 3是最终目的MAC地址(有线网络中的设备)。 - 当帧从有线DS进入无线网络时(
To DS = 0, From DS = 1),Address 3是原始源MAC地址(有线网络中的设备)。 - 在自组织模式下(
To DS = 0, From DS = 0),Address 3通常是最终目的MAC地址。
- 当帧从无线网络进入有线DS时(
- Address 4 (源地址/目的地址) :仅在无线桥接或无线分布系统 (WDS) 中使用(
To DS = 1, From DS = 1),表示原始源MAC地址或最终目的MAC地址,用于在两个AP之间转发帧。
- Address 1 (接收方地址) :始终是下一个接收帧的无线设备MAC地址。
3. 蜂窝移动网络
蜂窝移动网络是广域无线网络,支持用户在大范围内的移动性。
3.1 体系结构
- 基站 (Base Station, BS) :
- 负责无线电通信,覆盖一个地理区域,称为小区 (Cell)。
- 包含收发器、天线等设备,与移动台 (Mobile Station, MS) 进行无线通信。
- 将无线信号转换为有线信号,并连接到基站控制器 (Base Station Controller, BSC)。
- 移动交换中心 (Mobile Switching Center, MSC) :
- 蜂窝网络的核心,负责呼叫建立、路由、切换管理、移动性管理、计费等。
- 连接多个BSC,并与其他MSC以及公共交换电话网 (PSTN) 连接。
- 包含归属位置寄存器 (Home Location Register, HLR) 和 拜访位置寄存器 (Visitor Location Register, VLR),用于存储用户位置信息。
3.2 移动性管理
移动性管理是蜂窝网络的核心功能,确保移动用户在移动过程中仍能接收到数据和电话。
- 归属代理 (Home Agent, HA) :
- 位于移动节点的归属网络 (Home Network) 中。
- 存储移动节点的永久IP地址 (Permanent IP Address)。
- 负责拦截发送给移动节点永久IP地址的数据包,并将其隧道 (Tunnel) 转发到移动节点的当前位置(即转交地址)。
- 外地代理 (Foreign Agent, FA) :
- 位于移动节点当前所在的拜访网络 (Foreign Network) 中。
- 为移动节点提供一个转交地址 (Care-of Address, COA)。
- 接收来自HA的隧道数据包,并将其解封装后转发给移动节点。
- 移动节点也可以直接获取一个COA(共定位COA)。
3.3 移动 IP 标准
移动 IP (Mobile IP) 是一种允许移动设备在不改变其永久IP地址的情况下,在不同IP子网之间漫游并保持连接的标准。
- 永久地址 (Permanent IP Address) :
- 也称为归属地址 (Home Address)。
- 移动节点在归属网络中的固定IP地址,即使移动节点离开归属网络,其通信伙伴仍然使用此地址发送数据。
- 转交地址 (Care-of Address, COA) :
- 移动节点在拜访网络中的临时IP地址。
- 可以是外地代理的IP地址(FA COA),也可以是移动节点自己从拜访网络获取的IP地址(共定位COA)。
- 移动节点将其COA注册到HA,HA将发往永久地址的数据包隧道转发到COA。
3.4 切换 (Handoff/Handover) 过程
切换是指移动台在通话或数据传输过程中,从一个基站(或AP)的覆盖范围移动到另一个基站(或AP)的覆盖范围时,能够无缝地将通信链路从前一个基站(或AP)转移到后一个基站(或AP)的过程。
- 目的:保持通信的连续性,避免掉线。
- 类型 :
- 硬切换 (Hard Handoff):先断开与旧基站的连接,再建立与新基站的连接。存在短暂中断,通常用于2G/3G网络。
- 软切换 (Soft Handoff):先建立与新基站的连接,再断开与旧基站的连接。在一段时间内,移动台同时与多个基站保持连接。无中断,通常用于3G/4G/5G网络。
- 过程 :
- 测量:移动台持续测量当前基站和相邻基站的信号强度。
- 决策:当移动台检测到当前基站信号变弱,而某个相邻基站信号变强并达到一定阈值时,网络(通常是BSC或MSC)会决定进行切换。
- 执行:网络为移动台分配新基站的资源,并通知移动台切换到新基站。
- 完成:移动台与新基站建立连接,旧基站释放资源。
重点突破
典型例题
1. CDMA 码片序列计算
设站点 A 的码片序列为 C A = ( + 1 , − 1 , − 1 , + 1 , + 1 , − 1 , + 1 , − 1 ) C_A = (+1, -1, -1, +1, +1, -1, +1, -1) CA=(+1,−1,−1,+1,+1,−1,+1,−1)。
(1) 若 A 发送数据比特 1,发送的信号序列是什么?
- Solution :
当发送数据比特 1 时,发送的信号序列就是其码片序列本身。
因此,发送的信号序列为 S A = C A = ( + 1 , − 1 , − 1 , + 1 , + 1 , − 1 , + 1 , − 1 ) S_A = C_A = (+1, -1, -1, +1, +1, -1, +1, -1) SA=CA=(+1,−1,−1,+1,+1,−1,+1,−1)。
(2) 若 A 发送数据比特 0,发送的信号序列是什么?
- Solution :
当发送数据比特 0 时,发送的信号序列是其码片序列的反码(所有元素取反)。
因此,发送的信号序列为 S A = − C A = ( − 1 , + 1 , + 1 , − 1 , − 1 , + 1 , − 1 , + 1 ) S_A = -C_A = (-1, +1, +1, -1, -1, +1, -1, +1) SA=−CA=(−1,+1,+1,−1,−1,+1,−1,+1)。
(3) 假设接收端收到的叠加信号为 S S S,如何通过内积运算判断 A 是否发送了数据以及发送了什么数据?
-
Analysis :
接收端收到的是所有发送方信号的叠加。为了提取站点 A 的数据,接收端需要将收到的叠加信号 S S S 与站点 A 的码片序列 C A C_A CA 进行内积运算。
内积运算的定义为:对于两个向量 X = ( x 1 , x 2 , . . . , x N ) X = (x_1, x_2, ..., x_N) X=(x1,x2,...,xN) 和 Y = ( y 1 , y 2 , . . . , y N ) Y = (y_1, y_2, ..., y_N) Y=(y1,y2,...,yN),它们的内积为 X ⋅ Y = ∑ i = 1 N x i y i X \cdot Y = \sum_{i=1}^{N} x_i y_i X⋅Y=∑i=1Nxiyi。
设码片序列的长度为 N N N (本例中 N = 8 N=8 N=8)。
-
Solution :
接收端计算接收到的叠加信号 S S S 与站点 A 的码片序列 C A C_A CA 的内积:
R e s u l t = S ⋅ C A Result = S \cdot C_A Result=S⋅CA- 如果站点 A 发送了比特 1,那么其贡献到叠加信号中的部分是 C A C_A CA。
C A ⋅ C A = ∑ i = 1 N ( C A ) i ( C A ) i = ∑ i = 1 N ( + 1 ) 2 = N C_A \cdot C_A = \sum_{i=1}^{N} (C_A)_i (C_A)i = \sum{i=1}^{N} (+1)^2 = N CA⋅CA=∑i=1N(CA)i(CA)i=∑i=1N(+1)2=N。
(如果其他站点的信号与 C A C_A CA 正交,则它们的内积为 0,不会影响结果。)
所以,如果 R e s u l t = N Result = N Result=N,则站点 A 发送了数据比特 1。 - 如果站点 A 发送了比特 0,那么其贡献到叠加信号中的部分是 − C A -C_A −CA。
( − C A ) ⋅ C A = ∑ i = 1 N ( − ( C A ) i ) ( C A ) i = − ∑ i = 1 N ( C A ) i 2 = − N (-C_A) \cdot C_A = \sum_{i=1}^{N} (-(C_A)_i) (C_A)i = -\sum{i=1}^{N} (C_A)_i^2 = -N (−CA)⋅CA=∑i=1N(−(CA)i)(CA)i=−∑i=1N(CA)i2=−N。
所以,如果 R e s u l t = − N Result = -N Result=−N,则站点 A 发送了数据比特 0。 - 如果站点 A 没有发送数据,或者发送了与 C A C_A CA 不相关的信号(在理想正交情况下),则 R e s u l t = 0 Result = 0 Result=0。
在本例中, N = 8 N=8 N=8。
- 若 S ⋅ C A = 8 S \cdot C_A = 8 S⋅CA=8,则 A 发送了比特 1。
- 若 S ⋅ C A = − 8 S \cdot C_A = -8 S⋅CA=−8,则 A 发送了比特 0。
- 若 S ⋅ C A = 0 S \cdot C_A = 0 S⋅CA=0,则 A 没有发送数据或其信号被完全抵消。
- 如果站点 A 发送了比特 1,那么其贡献到叠加信号中的部分是 C A C_A CA。
2. CSMA/CA 协议流程
描述一个站点想要发送数据帧时,从监听信道到收到 ACK 的完整步骤(包括退避算法的触发条件)。
-
Analysis :
CSMA/CA 协议通过"先听后发"、"随机退避"和"确认重传"机制来避免冲突。理解其完整流程对于掌握无线MAC层至关重要。
-
Solution :
一个站点想要发送数据帧时,其 CSMA/CA 协议的完整步骤如下:
- 监听信道 (Carrier Sense):站点首先监听信道,判断信道是否空闲。
- 等待 DIFS :
- 如果信道空闲,站点必须继续等待一个 DIFS (Distributed Interframe Space) 时间。
- 如果在 DIFS 期间信道保持空闲,则进入下一步。
- 如果在 DIFS 期间信道变为忙碌,站点必须冻结其退避计数器,并从步骤 1 重新开始监听。
- 随机退避 (Random Backoff) :
- 在 DIFS 结束后,如果信道仍然空闲,站点会启动一个随机退避计时器 。退避时间在一个竞争窗口 (Contention Window, CW) 内随机选择。
- 退避计时器在信道空闲时递减。
- 如果在退避过程中信道变为忙碌,站点会冻结退避计时器,并等待信道再次空闲一个 DIFS 时间后,再恢复递减计时器。
- 当退避计时器减到 0 时,站点立即发送数据帧。
- 发送数据帧:站点发送数据帧。
- 等待 SIFS 和 ACK :
- 发送方在发送数据帧后,会等待一个 SIFS (Short Interframe Space) 时间。
- 如果在 SIFS 结束后,发送方收到接收方发来的 ACK 帧,则认为数据发送成功,本次传输结束。
- 重传与退避窗口调整 :
- 如果在 SIFS 结束后,发送方没有收到 ACK 帧(可能由于数据帧丢失、ACK 帧丢失或发生冲突),则认为本次传输失败。
- 此时,发送方会增加竞争窗口 (CW) 的大小(通常是加倍),然后从步骤 1 重新开始整个流程,即再次监听信道,等待 DIFS,然后进行新的随机退避。
- 竞争窗口的增大是为了在冲突发生后,给后续的重传提供更大的随机退避范围,从而降低再次冲突的概率。竞争窗口有最大值限制。
易错点分析
1. CSMA/CD vs CSMA/CA:为何无线网无法实现碰撞检测 (CD),必须使用碰撞避免 (CA)?
-
CSMA/CD (Collision Detection):
- 要求站点在发送数据的同时能够监听信道,如果检测到冲突(信号失真),则立即停止发送,并进行退避重传。
- 在有线网络中可行:以太网使用双绞线,发送和接收使用不同的引脚,可以同时进行。当发送方发送信号时,如果接收到与自己发送信号不同的信号,就表明发生了碰撞。
-
无线网络无法实现碰撞检测的原因:
- 半双工特性 (Half-Duplex Transceivers):无线电收发器通常是半双工的,即无法在同一时间、同一频率上同时发送和接收信号。当一个站点正在发送数据时,它无法同时监听信道以检测是否有其他站点也在发送。
- 信号衰减和隐蔽站问题 (Signal Attenuation & Hidden Terminal) :
- 即使能够同时发送和接收,由于无线信号的衰减,一个站点可能无法检测到远处发生的碰撞。例如,站点 A 正在向 B 发送,站点 C 也在向 B 发送,A 和 C 之间距离很远,彼此听不到对方,但它们在 B 处发生了碰撞。A 无法检测到 C 的传输,也无法检测到 B 处的碰撞。
- 这种"隐蔽站"问题使得发送方无法通过监听自身传输来判断是否发生碰撞。
- 接收信号强度远大于碰撞信号强度:当一个站点发送信号时,其自身的发送信号强度远大于它可能接收到的其他站点的信号强度(包括碰撞信号)。这使得检测微弱的碰撞信号变得极其困难。
-
结论 :由于上述原因,无线网络必须采用 CSMA/CA (Collision Avoidance) 机制,通过预约 (RTS/CTS) 、随机退避 和确认重传 (ACK) 等手段来尽量避免冲突,并在冲突发生后通过超时重传进行恢复。
2. 地址字段:802.11 帧中 Address 1 (接收端), Address 2 (发送端), Address 3 (路由器/AP) 的顺序变化,特别是自组织网络 vs 基础设施模式。
802.11 帧的四个地址字段的含义和使用取决于帧的类型以及 To DS (To Distribution System) 和 From DS (From Distribution System) 这两个控制位。
-
To DS和From DS位的含义:To DS = 1:表示帧正从无线介质发往有线分布系统(例如,从STA到AP)。From DS = 1:表示帧正从有线分布系统发往无线介质(例如,从AP到STA)。To DS = 0, From DS = 0:表示帧在无线介质内部传输(例如,自组织模式下STA之间,或WDS中的AP之间)。To DS = 1, From DS = 1:表示帧在无线分布系统 (WDS) 中的AP之间传输。
-
地址字段使用场景总结:
To DS |
From DS |
场景 | Address 1 (接收方) | Address 2 (发送方) | Address 3 (过滤地址) | Address 4 (WDS) |
|---|---|---|---|---|---|---|
| 0 | 0 | 自组织网络 (Ad-hoc) | 目的STA MAC | 源STA MAC | N/A | N/A |
| 0 | 1 | 基础设施模式 (AP -> STA) | 目的STA MAC | AP MAC | 源STA MAC | N/A |
| 1 | 0 | 基础设施模式 (STA -> AP) | AP MAC | 源STA MAC | 目的STA MAC | N/A |
| 1 | 1 | 无线分布系统 (WDS) | 接收AP MAC | 发送AP MAC | 原始源MAC | 最终目的MAC |
- 易错点 :
- Address 1 和 Address 2 始终是无线介质上的"下一跳"和"上一跳"的MAC地址。 它们是直接参与无线传输的设备的MAC地址。
- Address 3 和 Address 4 用于指示帧的原始源和最终目的,特别是在帧跨越无线和有线边界时。
- 在自组织模式下,由于没有AP和分布系统,通常只使用 Address 1 和 Address 2。Address 3 和 Address 4 不使用或用于其他目的(如广播)。
- 在基础设施模式下,当帧在无线和有线之间转换时,Address 3 变得重要。例如,STA发送数据给有线网络中的服务器,Address 1 是 AP,Address 2 是 STA,Address 3 是服务器。
3. 移动性:区分"漫游"(Roaming) 与 "切换"(Handoff)。
这两个术语都与移动性有关,但描述的是不同层面的移动行为。
-
切换 (Handoff/Handover):
- 定义 :指移动设备在同一个网络(例如,同一个蜂窝运营商的网络,或同一个 Wi-Fi ESS)内移动时,从一个基站(或AP)的覆盖范围无缝地转移到另一个基站(或AP)的覆盖范围的过程。
- 目的 :保持通信的连续性,避免通话中断或数据连接中断。
- 发生层面 :通常发生在数据链路层 (在无线介质上切换物理连接)和网络层(更新路由信息)。
- 示例:你在打电话时,从一个手机信号塔的区域移动到相邻的另一个手机信号塔的区域,但仍然是同一个运营商的服务。或者你在公司大楼里从一个Wi-Fi AP的覆盖范围走到另一个AP的覆盖范围。
-
漫游 (Roaming):
- 定义 :指移动设备离开其归属网络 (Home Network) ,进入另一个网络 (Foreign Network),但仍能享受通信服务的过程。这通常涉及不同运营商之间的协议和计费。
- 目的 :提供跨网络的服务可用性。
- 发生层面 :主要发生在网络层 (IP地址管理,如移动IP中的HA/FA机制)和应用层(用户认证、计费)。
- 示例:你出国旅行,使用本国手机卡在国外使用当地运营商的网络打电话或上网。或者你使用某运营商的Wi-Fi服务,但在另一个运营商的Wi-Fi热点区域也能连接上网(如果两个运营商有漫游协议)。
-
核心区别:
- 切换 关注的是物理连接的无缝转移 ,发生在同一网络内部。
- 漫游 关注的是跨网络的服务可用性 ,发生在不同网络之间。