当Linux遇上802.11b——WLANAP替代方案测试


  刘超
  ----当802.11b无线网应用越来越广泛,和传统以太网络的连接和融合就成了大家所关心的话题。而在与有线以太网络互联的过程中,扮演重要角色的就是Access Point(AP)。普通的AP工作在HostAP模式,作为一个以太网桥接器使用(见图1)。和传统的有线以太网桥接器不同的是,AP会将有线端和无线端的报文进行相互转发,同时也能够连接多个无线节点。用户所能感觉到的就是比有线以太网稍微大一些的延迟,而以前在有线以太网络上的所有应用也可以原封不动地保留下来。
   
  图1 无线网络于有线网络连接
  系统配置
  
  ----在WLAN中,AP所完成的最重要的3个功能就是:和无线节点通讯、桥接所有的无线节点、桥接无线网络和有线网络。因此要构建一个完整的WLAN,实现无线网络和有线网络的连接和融合,AP是必不可少的,而在WLAN设备中,AP的价格无疑是比较高的。

数据挖掘实验室


  
  ----那么我们除了AP以外,还有没有其他方式可以实现AP的功能,取代AP呢?那就是开放源代码社区了。事实上,开放源代码社区很早就开始关注无线通讯这一领域,不管是在对网络功能的支持,还是硬件设备驱动的发展,都已经进入了实用阶段,其中发展特别迅速的操作系统——GNU/Linux,就提供了包括对以太网桥接在内的很多强大的网络功能。这样一来,也就给我们自己动手搭建一个系统实现AP的基本功能创造了条件。
  
  ----其实,现在市面上出售的802.11b产品,不管是网卡还是AP,芯片厂商大都使用相同的核心无线芯片组,只是AP在此基础上还增加了一些嵌入式微控制系统,让整个芯片组工作在普通的Station模式或HostAP模式,通过在相同的芯片组上提供不同的固件实现不同的功能,基于Prism2 802.11b(带有HFA3841/HFA3841 MAC处理器)芯片组的解决方案就是非常典型的例子。
  
  ----不过现在能够在GNU/Linux下顺利工作的HostAP模式驱动还很少,而Prism2正是最佳的选择,因为通过直接对Prism2的寄存器进行操作,可以在不对固件进行任何操作的情况下就进入HostAP模式。而且可以和原来作为网关/出口的GNU/Linux系统集成到一起,非常方便地进行管理。
  
  ----要搭建一个Linux AP,我们需要哪些东西呢? 数据挖掘交友
  
  
  一、硬件部分
  
  一台能够运行GNU/Linux的计算机(笔记本电脑或台式机)。如果只是用来做AP,一些闲置已久的老Pentium台式电脑就可以满足需求。
  一个以太网适配器用来连接有线网络。多数常见的以太网网卡能在GNU/Linux下工作得很好。
  一个基于Prism2芯片组的PCI/PCMCIA的无线网卡。(经过我们确认能够在Prism2 HostAP模式下工作得很好的适配器型号有Compaq WL100/WL200、D-Link DWL-650、Linksys WPC11和Samsung SWL2000 N/P)。
  ----我们选用的测试平台的硬件配置见表1。
   
  二、软件部分
  
  一个能够正常运行的的2.4.x核心的Linux系统,glibc应该在2.2版本以上。
  GNU C/C++编译器 gcc 2.95以上,对应的开发工具。
  PCMCIA-CS卡驱动服务 3.1.33(PCMCIA接口的适配器才用得到)。
  Prism2 HostAP模式驱动 2002-04-05。
  linux kernel source源码。
  桥接工具bridge-utils 和能同时使用桥接和Iptables的补丁。
  ----我们选用的测试平台的软件系统见表2。
  
  系统搭建及测试
  
  ----在准备好所有软硬件设备后,我们就开始搭建系统了。 数据挖掘工具
  
  第一步:准备系统核心
  
  ----由于标准发行的GNU/Linux内核源码中,桥接功能和netfiliter是不能一起正常工作的。因此为了要在其同一台计算机上同时运行桥接功能和IPtables,需要对核心源码进行修补,相关补丁可以从http://bridge.sourceforge.net 上下载。
  
  首先我们用make config来配置GNU/Linux核心的源码。在配置核心的时候,我们用PCMCIA CardServic的方式来驱动PCMCIA,同时添加有线以太网卡等其他设备的驱动和文件系统模块。
  
  ----配置完成后,用Make dep;make bzImage来产生核心的二进制镜像。同时用make modules;make modules_install来产生和安装核心模块,至此系统内核已经基本准备就绪。
  
  第二步:安装Prism2的HostAP驱动程序
  
  ----在同一个目录内解开PCMCIA-CS 3.1.33和Prism2 HostAP的驱动程序包,并将Prism2驱动程序目录下的drivers中所有文件复制到PCMCIA-CS的目录中。这样会在PCMCIA-CS中多出一个Prism.mk,且会在编译PCMCIA-CS的时候一同编译Prism2的驱动程序。
  
  ----然后,我们需要在PCMCIA-CS的目录中用make config进行配置,选择从核心源码读取配置,其他都用默认选项即可。接下来我们用Make all:make install来编译/安装PCMCIA-CS模块。 数据挖掘论坛
  
  ----随后用第一步中编译好的核心镜像启动系统。lilo的用户应该先把/usr/src/linux/arch/i386/boot/bzImage复制到lilo能读取的地方(前1024个柱面的位置),并在你的lilo配置文件中加入对应的配置命令行,看起来像是这样:
  
  ----image=/boot/bzImage
  ----label=wlan_kernel
  ----root=/dev/sda1
  ----read-only
  ----然后执行lilo,重写引导纪录,启动系统。
  
  ----在启动过程中我们可以看到,系统已经找到了PCMCIA转接设备和无线网卡。如果这个时候有无线节点在附近,而且所指定的AP essid为ANY时,就可以找到这个AP了。不过这个时候我们还只是连接到AP而已,我们还需要构建一个桥接设备,把无线和有线网络桥接到一起。
  
  第三步:构建桥接功能
  
  ----解开bridge-utils.tar.gz,这时可以用ifconfig-a来查看你的所有网络接口,现在至少有3个接口:lo——本地loopback设备;eth0——第一个以太网卡;wlan0——无线网卡。你需要用ifconfig < 设备 > 0.0.0.0 来改变除了lo以外所有网络接口的工作方式,以迫使系统进入杂乱模式,可以接收所有数据包。然后执行brctl addbr br0来添加一个名字为br0的桥接设备,再用“brctl addif br0 eth0”和“brctl addif br0 wlan0”把无线端和有线端的接口分别加入到桥接里面去。接着用ifconfig br0 0.0.0.0 up让桥接设备生效。这样一个具有最基本功能的AP就能工作了,只需要稍等一会,让桥接设备学习到2个网络端的MAC地址,无线端和有线端就能互相访问了。

数据挖掘研究院


  
  ----在完成搭建后,我们通过对这个Linux AP进行FTP文件传输(在没有对数据进行加密的方式下传输数据)性能测试,并和采用标准AP设备的方式进行了比较,表3为2种方式的测试数据结果。
  
  ----这样可以看出,在不对数据加密传输的情况下,我们的这个LinuxAP和标准的AP测试数据非常接近,也就是说,我们的自制LinuxAP成功了。
  
  ----在我们使用当中,也发现了LinuxAP很多和标准的AP不同的地方,这次搭建的LinuxAP在工作中有效距离甚至大于某些品牌的AP,这也和适配器工作时的功率和天线有关,在LinuxAP下用Windows做无线客户端并且用文件共享方式进行文件传输的时候,效率会非常的低,甚至会无法完成一次完整的传输,而在使用FTP进行数据传输则没有这种现象。
  
  ----结论:
  ----在实际的环境中,我们可以通过这种方式,借助各种闲置的台式计算机或者是笔记本电脑来组建一些简单的无线网络,性能并不会低于专用的AP,如果已经有运行于Linux下的平台,还可以把无线应用整合一起。(当然在接入点较少时候,你还可以简单的让几个节点的无线适配器都工作在AdHoc的方式,然后把所有节点的SSID设置为相同,就可以直接通讯了。本次测试中,我们也用3台IBM笔记本电脑就此做了试验。由于此方案实现起来的确非常简单,所以本文就不再加以详细介绍,读者有兴趣的可以自己尝试。)关键的一点是这个LinuxAP仅仅实现了AP的基本功能:无线接入和桥接,其他的移动IP分配(Mobil IP),动态主机配置(DHCP)和各种管理功能都是和Linux系统结合到一起的,对于普通的用户来说,实现起来也许会有些复杂,但是随着这一类的开放源代码计划的成熟,相信这些问题会逐渐的解决,出现更多,更好的选择,让802.11b带我们走入更轻松自如的无线时代。 数据挖掘交友
  
  
[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:东亚体育无线网络解决方案(1)
下一篇:无线网络巧实施
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • 最新代理列表
  • 电脑无法连入局域网怎么办
  • 获得进程的EPROCESS
  • 美国FLUKE公司的网络综合协议分析仪
  • SoftEther設定教程
  • ADSLModem之DHCP的配置及应用
  • 让ADSLModem也能路由
  • 搞定ADSL拨号出错
  • 红旗飞扬在宽带时代
  • 在WindowsXP中实现ADSL虚拟拨号连接
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • 红旗飞扬在宽带时代
  • 动手享受
  • 另类妙招提速ADSL
  • 是否过时,ADSL二三事
  • ADSLModem之DHCP的配置及应用
  • 识破ADSL的伪装
  • 搞定ADSL拨号出错
  • 电脑无法连入局域网怎么办
  • 让ADSLModem也能路由
  • 在WindowsXP中实现ADSL虚拟拨号连接
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静