无线网络与移动网络
要素:
- 无线主机
- 无线链路
- 基站:负责在无线链路中链接无线主机
无线网络的传输模式有:
- 基于基础设施的单跳:如WIFI
- 无基础设施的单跳:各无线主机点对点连接
- 基于基础设施的多跳:某些无线节点通过其他节点与基站发起连接
- 无基础设施的多跳:像蓝牙就是,iphone的寻找功能也是使用这种方式
无线链路和网络特征
- 电磁波穿过物体时信号减弱,信号强度随距离递减
- 会受其他同频段电波源的干扰
- 多径传播:电磁波会受到其他物体的反射
这表明无线链路的比特差错将很常见。
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 体系结构
每个AP(Access Point)会被分配一个SSID(Service Set Identifier)与信道号,其中1 6 11 是3个非重叠信道的集合。
每个AP都会周期性发送信标帧,其中包含了SSID和MAC地址。
无线主机扫描和监听信标帧以发现AP的方式称为被动扫描。而向所有AP广播探测帧的方式称之为主动扫描。
无线主机向AP发送一个关联请求帧,AP返回一个关联响应帧,则两者的关联就建立。建立之后,无线主机可以发起DHCP请求,此时无线主机就能加入AP所在的子网。
802.11的鉴别体系一般有两种:
- 通过MAC地址白名单
- 使用认证协议
802.11 MAC
多个站点都希望同时使用信道发送接收数据,这就需要一种多路访问协议来协调传输。
802.11 选择了带有碰撞避免的载波侦听多路访问(CSMA/CA)。不同于以太网,使用避免而非检测主要是由于:
- 制造具有碰撞检测的无线硬件代价大
- 由于隐藏终端和衰减问题不能发现所有碰撞
链路层确认:发送站点在发送了一个帧之后,会等待一个短帧间间隔等待接收站点回传确认帧,如果在指定时间内没有返回,发送站点会重试若干次后失败。
为了解决隐藏终端,802.11引入了RTS控制当前站点发送时,其他站点不要发送数据:
802.11 可以通过使用定向天线及增加传输功率的方式来实现点对点的长距离传输。
IEEE 802.11 帧
这里802.11 为什么需要3个到4个地址?
- 地址2是发送者的MAC地址
- 地址1是接受者的MAC地址
- 地址3是连接各个局域网的关键
WEP
sequenceDiagram 主机 ->> AP: 接入鉴别 AP ->> 主机: 128位随机数 主机 ->> AP: 使用密钥加密这个随机数 AP ->> AP: 解密验证 AP ->> 主机: 通过或拒绝
由于可选的随机数范围很小,并且一帧要变换一个值还不能重复,当经过12000帧后,使用同一个随机值碰撞到这个随机值的概率达到99,很容易被破解
802.11i
移动性
当主机在不同AP辐射的范围之间移动时,只要IP地址不发生变化,就可以保留住正在进行的TCP连接。
但当进入另外一个范围里时,所有发向该主机的报都应该发到AP2
高级特色
- 速率自适应
如果某个节点连续两个帧没有收到确认,则会将速率降低一个等级。如果连续10个帧得到确认或者距离上次降速超过一定时间,则提速一个等级。
- 功率管理
无线节点每隔一段时间就唤醒-睡眠。在睡眠之前无线节点向AP通知自己要睡眠。当AP有发送到该节点的帧时,就进行缓存,直至间隔时间一到节点被唤醒后才发给该节点。
个人域网络
蓝牙802.15.1
一种自组织网络,拥有主 从 寄三种节点类型。必须经过主节点才可以进行通信
ZigBee 802.14.5
目标是服务于低功率、低数据率、低工作周期的应用
蜂窝因特网
体系结构
2G:连接语音与电话网
- 基站控制器(BSC,Base Station Controller)。基站收发信台通过无线收到数据后,转发给基站控制器
- 网关移动交换中心(GMSC ,Gateway Mobile Switching Center),负责安全与计费
3G:连接互联网
WCDMA: 综合使用了时分复用、频分复用、码分多址等技术
4G:全IP核心网
4G 网络相比之前两代,分离了控制面与数据面。控制面主要是指令,多是小包,往往需要高的及时性;数据面主要是流量,多是大包,往往需要吞吐量
控制面用的是SCTP协议,适用于移动网络的面向连接的传输层协议,具有多宿主支持、多流支持、防止SYN攻击和消息分帧等特点
数据面使用的是
- HSS 用于存储用户签约信息的数据库,就是号码归属地是哪里的,以及一些认证信息
- MME 是核心控制网元,是控制面的核心,当手机通过 eNodeB 连上的时候,MME 会根据 HSS 的信息,判断是否合法
手机上网流程:
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: 通知隧道建设完成
移动管理
体系结构
这种结构的网络每个节点都有一个永久地址,当节点从一个网络到另外一个网络时,从外部网络进入的数据包如何知道该选择哪个归属网络?
一种方式是向其他网络发送通告,网络之间交换路由表即可。但这种方式扩展性不好,路由器需要维护上百万个节点的路由表。
另外则是通过一个外部地址与永久地址的映射。
- 外部通信者到移动节点的间接路由选择:
移动性对于外部通信者是透明的,通信者直接向外部地址所在的网络发送数据,当归属代理发现外部地址所对应的永久地址不在本网络时,就将其转发到所在的网络。
- 移动节点到外部通信者的路由选择可直接完成,就是上图的步骤4
上面的通信者到移动节点的路由选择是间接的,三角路由选择是低效的。为了克服这个问题,有个方式,就是在通信者所在的网络引入一个通信者代理,由这个代理负责选择路由路径。
移动IP
代理发现
移动IP节点连到一个网络,就必须进行代理发现,以此知道谁是外部代理或者归属代理。
实现方式有:
- 代理通告:代理定期广播ICMP报文,这样节点就会知道其的代理
- 代理请求:节点广播一个ICMP报文,等待代理给它响应
代理注册
呼叫
切换
无线和移动性对高层协议的影响
TCP与UDP都能在无线链路上使用。但如果高层协议忽略底层实现,如TCP的拥塞控制机制在丢包的情况下会降低速率,这在有线链路工作的很好,但问题无线链路丢包不一定是拥塞所造成的。这就导致了同样的协议在有线与无线上的表现可能差别很大。