无线网络与移动网络

要素:

无线网络的传输模式有:

无线链路和网络特征

这表明无线链路的比特差错将很常见。

SNR:信噪比:接收到的信号与噪声强度的相对测量,信噪比越高信号质量越好

BER:比特差错率,在传输的比特总数中发生差错的比特数所占的比例

SNR与BER呈反比关系。给定SNR,高传输率的协议拥有较高的BER

隐藏终端问题:在通信领域,基站A向基站B发送信息,基站C未侦测到A也向B发送,故A和C同时将信号发送至B,引起信号冲突,最终导致发送至B的信号都丢失了

参数

CDMA

为了解决隐藏终端问题,使用码分多址(CDMA)来解决不同站点相互冲突问题。

WIFI

标准 工作频段 理想速率 信道带宽
802.11b 2.4 GHz 11Mbps 20MHz
802.11a 5GHz 54Mbps 20MHz
802.11g 2.4 GHz 54Mbps 20MHz
802.11n 2.4 GHz或5 GHz 72Mbps(1x1, 20MHz),150Mbps(1x1, 40MHz),288Mbps(4x4 , 20MHz),600Mbps(4x4, 40MHz) 20MHz/40MHz(信道绑定)
802.11ac 5 GHz 433Mbps(1x1, 80MHz),40MHz/80MHz/160MHz,6.77Gbps(8x8,160MHz) 867Mbps(1x 1,160MHz)

802.11 体系结构

屏幕截图 2021-01-25 163203

每个AP(Access Point)会被分配一个SSID(Service Set Identifier)与信道号,其中1 6 11 是3个非重叠信道的集合。

每个AP都会周期性发送信标帧,其中包含了SSID和MAC地址。

无线主机扫描和监听信标帧以发现AP的方式称为被动扫描。而向所有AP广播探测帧的方式称之为主动扫描。

无线主机向AP发送一个关联请求帧,AP返回一个关联响应帧,则两者的关联就建立。建立之后,无线主机可以发起DHCP请求,此时无线主机就能加入AP所在的子网。

802.11的鉴别体系一般有两种:

  1. 通过MAC地址白名单
  2. 使用认证协议

802.11 MAC

多个站点都希望同时使用信道发送接收数据,这就需要一种多路访问协议来协调传输。

802.11 选择了带有碰撞避免的载波侦听多路访问(CSMA/CA)。不同于以太网,使用避免而非检测主要是由于:

链路层确认:发送站点在发送了一个帧之后,会等待一个短帧间间隔等待接收站点回传确认帧,如果在指定时间内没有返回,发送站点会重试若干次后失败。

为了解决隐藏终端,802.11引入了RTS控制当前站点发送时,其他站点不要发送数据:

屏幕截图 2021-01-25 170014

802.11 可以通过使用定向天线及增加传输功率的方式来实现点对点的长距离传输。

IEEE 802.11 帧

屏幕截图 2021-01-25 170712

这里802.11 为什么需要3个到4个地址?

屏幕截图 2022-06-13 195024

WEP

sequenceDiagram
  主机 ->> AP: 接入鉴别
  AP ->> 主机: 128位随机数
  主机 ->> AP: 使用密钥加密这个随机数
  AP ->> AP: 解密验证
  AP ->> 主机: 通过或拒绝

由于可选的随机数范围很小,并且一帧要变换一个值还不能重复,当经过12000帧后,使用同一个随机值碰撞到这个随机值的概率达到99,很容易被破解

802.11i

屏幕截图 2022-06-13 211831

移动性

当主机在不同AP辐射的范围之间移动时,只要IP地址不发生变化,就可以保留住正在进行的TCP连接。

但当进入另外一个范围里时,所有发向该主机的报都应该发到AP2

屏幕截图 2022-06-13 195523

高级特色

  1. 速率自适应

如果某个节点连续两个帧没有收到确认,则会将速率降低一个等级。如果连续10个帧得到确认或者距离上次降速超过一定时间,则提速一个等级。

  1. 功率管理

无线节点每隔一段时间就唤醒-睡眠。在睡眠之前无线节点向AP通知自己要睡眠。当AP有发送到该节点的帧时,就进行缓存,直至间隔时间一到节点被唤醒后才发给该节点。

个人域网络

蓝牙802.15.1

一种自组织网络,拥有主 从 寄三种节点类型。必须经过主节点才可以进行通信

ZigBee 802.14.5

目标是服务于低功率、低数据率、低工作周期的应用

蜂窝因特网

体系结构

2G:连接语音与电话网

屏幕截图 2021-01-27 091532

对空接口使用了FDMTDM

3G:连接互联网

屏幕截图 2021-01-27 092145

WCDMA: 综合使用了时分复用、频分复用、码分多址等技术

4G:全IP核心网

屏幕截图 2021-01-27 092431

4G 网络相比之前两代,分离了控制面与数据面。控制面主要是指令,多是小包,往往需要高的及时性;数据面主要是流量,多是大包,往往需要吞吐量

控制面用的是SCTP协议,适用于移动网络的面向连接的传输层协议,具有多宿主支持、多流支持、防止SYN攻击和消息分帧等特点

数据面使用的是

手机上网流程:

sequenceDiagram
    participant 手机
    participant eNodeB
    participant MME
    participant HSS
    participant SGW
    participant PGW

    手机->>eNodeB: 发送 Attach Request
    eNodeB->>MME: 转发 Attach Request
    MME->>手机: 发起认证、鉴权请求
    MME->>HSS: 请求认证、鉴权
    MME->>HSS: 查询余额、位置等信息
    HSS-->>MME: 返回认证、鉴权结果
    MME->>SGW: 创建会话请求 (Create Session)
    SGW-->>MME: 分配隧道ID t1
    MME->>SGW: 请求分配隧道ID
    SGW-->>PGW: 创建会话请求
    SGW-->>PGW: 分配控制面隧道ID t2
    SGW-->>PGW: 分配数据面隧道ID t3
    PGW-->>SGW: 回复创建会话成功
    SGW-->>MME: 分配控制面隧道ID t4
    SGW-->>MME: 分配数据面隧道ID t5
    MME-->>SGW: 回复创建会话成功
    MME-->>eNodeB: 分配隧道ID t6
    SGW-->>eNodeB: 分配隧道ID t7
    MME->>eNodeB: 通知隧道建设完成
    eNodeB->>MME: 分配隧道ID t8
    MME-->>SGW: 通知隧道建设完成

移动管理

体系结构

屏幕截图 2021-01-28 160904

这种结构的网络每个节点都有一个永久地址,当节点从一个网络到另外一个网络时,从外部网络进入的数据包如何知道该选择哪个归属网络?

一种方式是向其他网络发送通告,网络之间交换路由表即可。但这种方式扩展性不好,路由器需要维护上百万个节点的路由表。

另外则是通过一个外部地址与永久地址的映射。

  1. 外部通信者到移动节点的间接路由选择:

屏幕截图 2021-01-28 162743

移动性对于外部通信者是透明的,通信者直接向外部地址所在的网络发送数据,当归属代理发现外部地址所对应的永久地址不在本网络时,就将其转发到所在的网络。

  1. 移动节点到外部通信者的路由选择可直接完成,就是上图的步骤4

上面的通信者到移动节点的路由选择是间接的,三角路由选择是低效的。为了克服这个问题,有个方式,就是在通信者所在的网络引入一个通信者代理,由这个代理负责选择路由路径。

屏幕截图 2021-01-28 163558

移动IP

代理发现

移动IP节点连到一个网络,就必须进行代理发现,以此知道谁是外部代理或者归属代理。

实现方式有:

  1. 代理通告:代理定期广播ICMP报文,这样节点就会知道其的代理
  2. 代理请求:节点广播一个ICMP报文,等待代理给它响应

代理注册

屏幕截图 2021-01-28 164319

呼叫

屏幕截图 2022-06-13 202459

切换

屏幕截图 2022-06-13 202734

无线和移动性对高层协议的影响

TCP与UDP都能在无线链路上使用。但如果高层协议忽略底层实现,如TCP的拥塞控制机制在丢包的情况下会降低速率,这在有线链路工作的很好,但问题无线链路丢包不一定是拥塞所造成的。这就导致了同样的协议在有线与无线上的表现可能差别很大。