[讨论] Linux 无线网络技术

lukdtc   2007-9-5 10:28 楼主
无线技术,例如 WLAN (Wireless Local Area Network)、Bluetooth、GPRS (General Packet Radio Service)、GSM (Global System for Mobile communications) 以及 IrDa (Infrared Data),在不同的环境下提供服务。虽然 WLAN 支持比 Bluetooth 更高的速度和更长的传播距离,但是它也需要更多的费用并且耗电量更大。GPRS 虽然比 Bluetooth 和 WLAN 慢,但是可用于移动技术。尽管它们存在差异,或者是其他原因,但是具有多种无线功能的设备可以综合利用它们。例如,根据 GPS 模块的定位输入,设备可以透明地将网络连接从路上的 GPRS 切换到网吧中更便宜的 WLAN。移动电话可以通过 Bluetooth 与心律监视器通信,当病人心律超出某个极限时,就可以通过 GSM 向医生发送警报。 目前,无线技术已经以 PCMCIA、Compact Flash (CF) 卡的形式广泛应用,或者用于 USB 设备。大多数计算机系统,包括嵌入式设备,都有 PCMCIA、CF 或者 USB 接口,即使不含对无线技术的内置支持,也能够立刻使用这些技术。这篇文章分析了无线设备的一些示例,并且研究了设备驱动程序的 Linux 实现、总线技术以及各种协议。 首先,通过跟踪 WLAN 样卡的代码流,您将了解到 WLAN 设备是如何在 Linux 下工作的,然后还可以看到几个 Bluetooth 设备如何与 Linux Bluetooth 栈和其他内核层连接。接下来,您将了解到如何使 GPRS 和 GSM 设备在 Linux 下工作。文章最后分析了 Linux 上的 IrDa 支持并简要介绍了有关无线网络设备的性能问题。 注意:本文涉及到的内核数据结构和文件名是当前 Linux 版本中所使用的。文件名相对于 Linux 内核源程序树的根。 Linux 802.11 WLAN WLAN 通信系统作为有线 LAN 以外的另一种选择一般用在同一座建筑内。WLAN 使用 ISM (Industrial、Scientific、Medical) 无线电广播频段通信。WLAN 的 802.11a 标准使用 5 GHz 频段,支持的最大速度为 54 Mbps,而 802.11b 和 802.11g 标准使用 2.4 GHz 频段,分别支持最大 11 Mbps 和 54 Mbps 的速度。 WLAN 类似于有线以太网,它们都是从同一地址池分配 MAC (Media Access Control) 地址,并且都是作为以太网设备出现在操作系统的网络设备层。例如,ARP(Address Resolution Protocol) 表是用 WLAN MAC 地址和以太网 MAC 地址填充的。然而 WLAN 与有线以太网在链路层有很大的区别。例如,802.11 标准使用冲突避免(CSMA/CA)代替有线以太网的冲突检测(CSMA/CD)。而且,与以太网帧不同的是,WLAN 帧是被确认的. 由于 WLAN 工作站之间的模糊边界,WLAN 链路层拥有在传送前清除一个区域的协议。出于安全性考虑,WLAN 的 Wired Equivalent Privacy (WEP) 加密机制提供与有线网络相同的安全级别。WEP 将 40 比特或 104 比特密钥与随机的 24 比特初始向量组合用以加解密数据。WLAN 支持两种通信模式: Ad Hoc 模式用于小群组工作站之间不必使用访问点的短时间内通信,而 Infrastructure 模式的所有通信必须通过访问点。访问点周期性地广播一个服务集标识符(SSID),SSID 用于将一个 WLAN 网络与其他网络区别开来。 大多数可用的 WLAN 卡是基于 Intersil Prism 或 Lucent Hermes 芯片组的。Compaq、Nokia、Linksys 和 D-Link 卡使用 Prism 芯片组,而 Lucent Orinoco 卡和 Apple Airport 使用 Hermes 芯片组。 Linux WLAN 支持 Linux WLAN 支持由 WLAN API 实现和 WLAN 设备驱动程序组成。我将依次研究它们。有两个 Linux 项目定义一般的 WLAN API,并且提供工具让用户空间应用程序配置参数和存取来自 WLAN 设备驱动程序的信息。Wireless Extensions 项目为不同的无线网卡提供公共的 Linux 用户空间接口。这个项目的工具包括 iwconfig 用以配置参数(比如 WLAN 驱动程序中的 WEP 关键字及 SSID)。linux-wlan 项目作为 Wireless Extensions 项目一部分,也支持一系列用于从用户空间与 WLAN 设备驱动程序交互的工具。与基于 Wireless Extensions 的工具不同,这些工具使用类似于 SNMP (Simple Network Management Protocol) MIB (Management Information Base) 的语法,该语法反映 IEEE 802.11 规范。(请参阅 参考资料,获得项目的更多信息。) 继续讨论设备驱动程序,支持流行的 WLAN 卡的 Linux 设备驱动程序包括: Orinoco WLAN 驱动程序:是 Linux 内核源代码的一部分,支持基于 Hermes 的卡和基于 Intersil Prism 的卡。 orinoco_cs 模块提供了 PCMCIA 和 CF 卡所必需的 PCMCIA 卡服务支持。 linux-wlan 项目的 linux-wlan-ng 驱动程序:支持多种基于 Prism 芯片组的卡。这个驱动程序支持 linux-wlan API 并部分支持 Wireless Extensions。 Host AP 设备驱动程序:支持 Prism 芯片组的 AP 模式,可以使 WLAN 主机起访问点的作用。

回复评论 (2)

回复:Linux 无线网络技术

LINUX 发展也是相当快的,以后要多多关注才是!
点赞  2007-9-9 18:16

回复:Linux 无线网络技术

LINUX 发展也是相当快的,以后要多多关注才是!
点赞  2007-9-9 18:16
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复