本节介绍802.11规范中的物理组件和相关网络结构。首先来看无线网络中的物理组件。
1. 物理组件[12]
802.11无线网络包含四种主要物理组件,如图3-9所示:
:-: ![](http://img.blog.csdn.net/20140306213223500?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSW5ub3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
图3-9 802.11四大主要物理组件
图3-9中定义了四个组件,它们分别是:
- Wireless Medium(译为无线媒介):规范中缩写为WM。其本意指能传送无线MAC帧数据的物理层。规范最早定义了射频和红外两种物理层,但目前使用最多的是射频物理层。
- Station(译为工作站):规范中缩写为STA,其英文定义是“A logical entity that is a singly addressable instance of a MAC and PHY interface to the WM”。通俗点说,STA就是指携带有无线网络接口卡(即无线网卡)的设备,例如笔记本、智能手机等。另外,无线网卡和有线网卡的MAC地址均分配自同一个地址池以确保其唯一性。。
- Acess Point(译为接入点):规范中缩写为AP,其原文定义是“An entity that contains one STA and provides access to the distribution services, via the WM for associated STAs”。由其定义可知,AP本身也是一个STA,只不过它还能为那些已经关联的(associated)STA提供分布式服务(distribution services)。什么是Distribution Services呢?请读者阅读下文。
- Distribution system(译为分布式系统):规范中缩写为DS,其英文定义为“A system used to interconnect a set of basic service sets(BSSs)and integrated local area networks(LANs)to create an extended service set(ESS)”。DS的定义涉及到BSS、ESS等后文才介绍的无线网络架构,其解释见下文。
上述四个物理组件中最难解释清楚的就是DS了。笔者在仔细阅读规范后,感觉其对DS的解释并不直观。此处将列举一个常见的应用场景以帮助读者理解:
一般家用无线路由器一端通过有线接入互联网,另一端通过天线提供无线网络。当打开Android手机上的Wi-Fi功能,并成功连接到此无线路由器提供的无线网络(假设其网络名为“TP-LINK_1F9C5E”,可在路由器中设置)时,我们将得到:
- 路由器一端通过有线接入互联网,故可认为它整合(integrate)了LAN。
- 不论路由器是否接入有线网络(即本例中的互联网),手机(扮演STA的角色)和路由器(扮演AP的角色)之间建立了一个小的无线网络。该无线网络的覆盖范围由AP即路由器决定。这个小网络就是一个BSS。另外,定义中提及的ESS是对BSS的扩展。一个ESS可包含一或多个BSS。在本例中,ESS对应的ID就是“TP-LINK_1F9C5E”,即我们为路由器设置的网络名。
上述内容中将BSS和LAN结合到一起以构成一个ESS的“东西”就是DS。虽然规范中并未明示DS到底是什么,但绝大部分情况下,DS是指有线网络(通过它可以接入互联网)。后文我们将介绍DS所提供的分布式服务(即DSS)。现在对读者来说,更重要的概念是其中和无线网络架构相关的BSS和ESS等。这部分内容将在下节介绍。
* * * * *
**规范阅读提示**:
1 上文介绍的AP、STA、DS的定义都来自于802.11的3.1节。笔者个人觉得该节所列的定义是最精确的。以DS为例,此节所定义的DS涉及到和有线网络的结合。但规范中其他关于DS的说明均未明示是否一定要和LAN结合。
2 关于STA,其定义只说明它是一个可singly addressable的实体,而没有说明其对应的功能。所以,读者会发现AP也是一个STA。另外还有提供QoS(Quality of Service)的STA。除此之外,从可移动性的角度来看,还有Mobile STA和Portable STA之分。Portable STA虽然可以移动,但只在固定地点使用(例如AP就是一个典型的Portable STA)。而Mobile STA表示那些只要在Wi-Fi覆盖范围内,都可以使用的STA(例如手机、平板等设备)。
* * * * *
2. 无线网络的构建[12]
有了上节所述的物理组件,现在就可以搭建由它们构成的无线网络了。802.11规范中,基本服务集(Basic Service Set,简写为BSS)是整个无线网络的基本构建组件(basic building block)。BSS如图3-10所示:
:-: ![](http://img.blog.csdn.net/20140306213249265?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSW5ub3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
图3-10 BSS的两种方式
由图3-10可知,BSS有两种类型,分别是:
-**Independent BSS(独立型BSS)**:这种类型的BSS不需要AP参与。各STA之间可直接交互。这种网络也叫ad-hoc BSS(一般译为自组网络或对等网络)。
- **Infrastructure BSS(基础结构型BSS)**:所有STA之间的交互必须经过AP。AP是基础结构型BSS的中控台。这也是家庭或工作中最常见的网络架构。在这种网络中,一个STA必须完成诸如关联、授权等步骤后才能加入某个BSS。注意,一个STA一次只能属于一个BSS。
* * * * *
**提示**:
1 Independent BSS缩写为IBSS。而Infrastructure BSS没有对应的缩写。不过,一般用BSS代表Infrastrucutre BSS。
2 根据前文所述,AP也是一个STA。但此处STA和AP显然是两个不同的设备。
* * * * *
由图3-10中BSS的结构可知,其网络覆盖范围由该BSS中的AP决定。在某些情况下,需要几个BSS联合工作以构建一个覆盖面更大的网络,这就是一个ESS(Extended Service Set:扩展服务集)。如图3-11所示:
:-: ![](http://img.blog.csdn.net/20140306213304890?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSW5ub3N0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
图3-11 ESS示意图
ESS在规范中的定义是“A set of one or one interconnected BSSs that appears as a single BSS to the LLC layer at any STA associated with one of those BSSs”。此定义包含几个关键点:
- 一个ESS包含一到多个BSS。如图3-11中所示的BSS1和BSS2。
- BSS1和BSS2本来各自组成了自己的小网络。但在ESS结构中,它们在逻辑上又构成了一个更大的BSS。这意味着最初在BSS2中使用的STA4(利用STA3,即BSS2中的AP上网)能跑到BSS1的范围内利用它的AP(即STA2)上网而不用做任何无线网络切换之类的操作。此场景在手机通信领域很常见。例如在移动的汽车上打电话。此时手机就会根据情况在物理位置不同的基站间切换语音数据传输而不影响通话。
* * * * *
**注意**:ESS中的BSS拥有相同的SSID(Service Set Identification,详细内容见下文),并且彼此之间协同工作。这和目前随着Wi-Fi技术的推广,家庭和工作环境中存在多个无线网络(即存在多个ESS)的情况有本质不同。在多个ESS情况下,用户必须手动选择才能切换到不同的ESS。由于笔者日常工作和生活中,ESS只包含一个BSS,当某个AP停机时,笔者就得手动切换到其他无线网络中去了。
另外,切换相关的知识点属于Roaming(漫游)范畴,读者可阅读“Secure Roaming in 802.11 Networks”一书来了解相关细节。
* * * * *
上述网络都有所谓的Identification,它们分别是:
- BSSID:每一个BSS都有自己的唯一编号,称为BSS Identification。在基础结构型网络中,BSSID就是AP的MAC地址,该MAC地址是真实的地址。IBSS中,其BSSID也是一个MAC地址,不过这个MAC地址是随机生成的。
- SSID:Service Set Identification。一般而言,BSSID会和一个SSID关联。BSSID是MAC地址,而SSID就是网络名。网络名往往是一个可读字符串,因为网络名比MAC地址更方便人们记忆。
ESS包括一到多个BSS,而它对外看起来就像一个BSS。所以,对ESS的编号就由SSID来表达。只要设置其内部BSS的SSID为同一个名称即可。一般情况下,ESS的SSID就是其网络名(network name)。
* * * * *
**规范阅读提示**:
1 上述网络结构中,并未提及如何与有线网络(即LAN)的整合。规范中其实还定义了一个名为portal的逻辑模块(logical component)用于将WLAN(Wireless LAN)和LAN结合起来。由于WLAN和LAN使用的MAC帧格式不同,所以直白得说,portal的功能类似翻译,它在WLAN和LAN间转换MAC帧数据。目前,portal的功能由AP实现。
2 规范中还定义了QoS BSS。这主要为了在WLAN中支持那些对QoS有要求的程序。由于无线网络本身固有的特性,WLAN中的QoS实现比较复杂,效果也不如LAN中的QoS。初学者可先不接触这部分内容。
* * * * *
- 前言
- 第1章 准备工作
- 1.1 Android系统架构
- 1.2 工具使用
- 1.2.1 Source Insight的使用
- 1.2.2 Eclipse的使用
- 1.2.3 BusyBox的使用
- 1.3 本书资源下载说明
- 第2章 深入理解Netd
- 2.1 概述
- 2.2 Netd工作流程
- 2.2.1 main函数分析
- 2.2.2 NetlinkManager分析
- 2.2.3 CommandListener分析
- 2.2.4 DnsProxyListener分析
- 2.2.5 MDnsSdListener分析
- 2.3 CommandListener中的命令
- 2.3.1 iptables、tc和ip命令
- 2.3.2 CommandListener构造函数和测试工具ndc
- 2.3.3 InterfaceCmd命令
- 2.3.4 IpFwd和FirewallCmd命令
- 2.3.5 ListTtysCmd和PppdCmd命令
- 2.3.6 BandwidthControlCmd和IdletimerControlCmd命令
- 2.3.7 NatCmd命令
- 2.3.8 TetherCmd和SoftapCmd命令
- 2.3.9 ResolverCmd命令
- 2.4 NetworkManagementService介绍
- 2.4.1 create函数详解
- 2.4.2 systemReady函数详解
- 2.5 本章总结和参考资料说明
- 2.5.1 本章总结
- 2.5.2 参考资料说明
- 第3章 Wi-Fi基础知识
- 3.1 概述
- 3.2 无线电频谱和802.11协议的发展历程
- 3.2.1 无线电频谱知识
- 3.2.2 IEEE 802.11发展历程
- 3.3 802.11无线网络技术
- 3.3.1 OSI基本参考模型及相关基本概念
- 3.3.2 802.11知识点导读
- 3.3.3 802.11组件
- 3.3.4 802.11 Service介绍
- 3.3.5 802.11 MAC服务和帧
- 3.3.6 802.11 MAC管理实体
- 3.3.7 无线网络安全技术知识点
- 3.4 Linux Wi-Fi编程API介绍
- 3.4.1 Linux Wireless Extensions介绍
- 3.4.2 nl80211介绍
- 3.5 本章总结和参考资料说明
- 3.5.1 本章总结
- 3.5.2 参考资料说明
- 第4章 深入理解wpa_supplicant
- 4.1 概述
- 4.2 初识wpa_supplicant
- 4.2.1 wpa_supplicant架构
- 4.2.2 wpa_supplicant编译配置
- 4.2.3 wpa_supplicant命令和控制API
- 4.2.4 git的使用
- 4.3 wpa_supplicant初始化流程
- 4.3.1 main函数分析
- 4.3.2 wpa_supplicant_init函数分析
- 4.3.3 wpa_supplicant_add_iface函数分析
- 4.3.4 wpa_supplicant_init_iface函数分析
- 4.4 EAP和EAPOL模块
- 4.4.1 EAP模块分析
- 4.4.2 EAPOL模块分析
- 4.5 wpa_supplicant连接无线网络分析
- 4.5.1 ADD_NETWORK命令处理
- 4.5.2 SET_NETWORK命令处理
- 4.5.3 ENABLE_NETWORK命令处理
- 4.6 本章总结和参考资料说明
- 4.6.1 本章总结
- 4.6.2 参考资料说明
- 第5章 深入理解WifiService
- 5.1 概述
- 5.2 WifiService的创建及初始化
- 5.2.1 HSM和AsyncChannel介绍
- 5.2.2 WifiService构造函数分析
- 5.2.3 WifiStateMachine介绍
- 5.3 加入无线网络分析
- 5.3.1 Settings操作Wi-Fi分析
- 5.3.2 WifiService操作Wi-Fi分析
- 5.4 WifiWatchdogStateMachine介绍
- 5.5 Captive Portal Check介绍
- 5.6 本章总结和参考资料说明
- 5.6.1 本章总结
- 5.6.2 参考资料说明
- 第6章 深入理解Wi-Fi Simple Configuration
- 6.1 概述
- 6.2 WSC基础知识
- 6.2.1 WSC应用场景
- 6.2.2 WSC核心组件及接口
- 6.3 Registration Protocol详解
- 6.3.1 WSC IE和Attribute介绍
- 6.3.2 802.11管理帧WSC IE设置
- 6.3.3 EAP-WSC介绍
- 6.4 WSC代码分析
- 6.4.1 Settings中的WSC处理
- 6.4.2 WifiStateMachine的处理
- 6.4.3 wpa_supplicant中的WSC处理
- 6.4.4 EAP-WSC处理流程分析
- 6.5 本章总结和参考资料说明
- 6.5.1 本章总结
- 6.5.2 参考资料说明
- 第7章 深入理解Wi-Fi P2P
- 7.1 概述
- 7.2 P2P基础知识
- 7.2.1 P2P架构
- 7.2.2 P2P Discovery技术
- 7.2.3 P2P工作流程
- 7.3 WifiP2pSettings和WifiP2pService介绍
- 7.3.1 WifiP2pSettings工作流程
- 7.3.2 WifiP2pService工作流程
- 7.4 wpa_supplicant中的P2P
- 7.4.1 P2P模块初始化
- 7.4.2 P2P Device Discovery流程分析
- 7.4.3 Provision Discovery流程分析
- 7.4.4 GO Negotiation流程分析
- 7.5 本章总结和参考资料说明
- 7.5.1 本章总结
- 7.5.2 参考资料说明
- 第8章 深入理解NFC
- 8.1 概述
- 8.2 NFC基础知识
- 8.2.1 NFC概述
- 8.2.2 NFC R/W运行模式
- 8.2.3 NFC P2P运行模式
- 8.2.4 NFC CE运行模式
- 8.2.5 NCI原理
- 8.2.6 NFC相关规范
- 8.3 Android中的NFC
- 8.3.1 NFC应用示例
- 8.3.2 NFC系统模块
- 8.4 NFC HAL层讨论
- 8.5 本章总结和参考资料说明
- 8.5.1 本章总结
- 8.5.2 参考资料说明
- 第9章 深入理解GPS
- 9.1 概述
- 9.2 GPS基础知识
- 9.2.1 卫星导航基本原理
- 9.2.2 GPS系统组成及原理
- 9.2.3 OMA-SUPL协议
- 9.3 Android中的位置管理
- 9.3.1 LocationManager架构
- 9.3.2 LocationManager应用示例
- 9.3.3 LocationManager系统模块
- 9.4 本章总结和参考资料说明
- 9.4.1 本章总结
- 9.4.2 参考资料说明
- 附录