地铁环境下支持移动IP无线接入点的研究与设计
0引言
本文引用地址:http://www.amcfsurvey.com/article/82233.htm随着技术的不断进步,地铁运行环境中的控制信息、通信信息将越来越趋向于无线技术,WIAN(无线局域网)由于其开放的标准、良好的接入、具有足够的固有容量,以及在不影响列车控制应用性能的同时还可以提供轨道与列车间的额外应用如视频、语音等,目前正越来越受到各大厂商的关注,包括西门子、阿尔斯通等。作为无线网络中的重要组成之一的无线AP(接入点),开发遵守IEEE 802.11、IEEE 802.1d以及IEEE 802.3等协议,主要包含桥接与移动管理的功能,目前市场上成熟的产品大部分是实现了网桥的功能,并不上升到网络层,因此,移动主机的散步只能在同一个ESS(扩展服务集)内。而地铁长度从十几公里到几十公里不等,列车作为一个移动节点与各AP的通信不可能只是在一个ESS内,因此,移动中的通信依靠现有的AP是无法充分满足要求的,同时,列车的高速移动以及无线接人的频繁切换,也将是无线接入设计的制约因素之一。
1移动IP协议简述
移动IP协议定义了MN(移动节点)、HA(家乡代理)和FA(外区代理)3个实体。HA是MN家乡网络中的路由器,维持MN家乡地址到转交地址的映射;FA是MN访问的外区网络中的路由器,它将数据包转发给MN点;MN采用一个固定不变的IP地址为家乡地址(Home Address)来标识自己,一次登录后就可实现在任何位置上保持与主机的通信,实现网络漫游。当MN离开家乡网络后,为了进行数据包的转发,它会获得一个临时地址,称为CoA(转交地址),用来作为路由。
当MN在网络中移动时,移动IP实现的基本过程是:
a)代理发现:判定MN当前是连在家乡网络上还是外地网络上,检测它是否切换了链路。当连在外地网络上时,MN会得到一个CoA。
b)注册:MN根据当前所在的位置,如果它当前在外地网络,它要得到外地代理的路由服务,将得到的CoA通知HA,可以使一个注册生效。当它回到家乡网络时要进行注销。
c)移动时的通信:当MN完成注册后,就可以利用自己的家乡地址在外区网络上通信,这种通信对MN和与之通信的对方主机来说是透明的,发往MN的数据报经由HA用隧道方式发送到MN的CoA。
2移动漫游的设计
在设计的方案中,继承了移动IP的原理,不仅要求移动的STA(站适配器)以及AP本身对移动性进行支持,也就是要延伸到网络层,提供基于IP的转发,而且要求在网络中引入移动代理这样的实体。结合实际的硬件平台情况,在网络层借鉴移动IP协议的设计思想,设计了特定于地铁环境下网络层移动漫游方式,将移动代理功能与AP进行分离,由PC机来实现,网络结构的设计如图1所示,其中A网段为家乡网络,B、C网段为外地网络。
2.1移动与代理的设计
HA和FA的代理功能是由PC机实现。AP和MNSTA功能及性能由专用ARM嵌入式芯片、无线收发芯片以及Linuxdrv.o驱动程序提供保障。其中,驱动程序Linuxdrv.o工作在各个开发板AP和STA的底层。
在实际工程中,同一外地子网内一般存在多个AP,若移动代理由AP实现,也就是存在多个FA,由于移动节点STA的高速移动,将导致与之连接的AP频繁切换,FA频繁变更,对于系统而言开销会很大,有效的通信时间非常短。同时,受硬件性能的影响,如果在上面承载移动代理的管理功能,增加了AP的处理负荷,对AP自身的性能也有影响。因此,考虑移动代理功能由PC机提供,在一个子网中只存在一个移动代理。同时,AP需要与MN STA建立连接,建立到STA的路由信息,并且经过一定的判断,然后发送注册请求给其所在网络的代理。
由于代理功能与AP分开,网络的组建需要付出一定的代价,层次比较多,路由器的负担和网络的复杂度有一定的增加,但是保证了注册过程和隧道技术的实现,而AP的功能也就较为单纯可靠。
对于移动性问题的解决,我们基于Linux的Redhat9.0操作系统的开放内核,使用标准C语言,编写完成移动IP通信程序,所有程序经过Linux内置gcc编译器编译通过,然后移植到AP、STA和代理服务器(包含HA和FA)上,可以保证STA在家乡区域和外地区域的网内网间切换的正常性。在Linux平台上实现了代理协议功能,该协议采用socket编程实现,以进程方式运行在后台,随时接收或截获数据,并完成相应的功能。
2.2代理发现
STA移动过程中,首先要了解自己现在的位置,即它当前正在与哪一个AP连接,正处在哪个网络中。在移动过程中要实现这个功能,STA必须实时地监控移动途中的AP,并且能够找到所在范围内信号最强的AP。所以,在STA运行后,开启了一个守护进程Dae-mon,实时扫描所移动的范围内的AP信号强度,并且能与合适的AP建立连接,通过监测MN STA与AP的连接状态,提供相应信息给STA上的进程,确定自身的位置。
为了在STA与AP建立连接后AP第一时间得到该STA的信息,在STA上开发了进程模块stabc和stagw,在AP上开发了进程模块apconn。STA系统启动,在无线驱动加载之后就启动进程stabc,不停地发送广播包,AP在收到STA发送的广播包后,启动进程模块apconn,分析广播包的内容,确定该广播包是STA发送的广播包后,会给STA上的另一个进程stagw发送应答数据包消息,然后STA无线口要通过这个进程stagw经过一些判断后,知道自己在哪个网络中,决定设置网关,或者不设置,或者删除原有网关、设置新网关。同时,AP上的apconn进程还要建立到STA的路由信息,并把所得到的STA相关情况告知本网络的代理PC机。
2.3注册与隧道建立
AP上的进程apconn收到STA的连接请求后通过有线网络发送通知给MN STA目前所在区域的FA或HA,代理将设置到STA的特定主机路由。此外,如果STA是在外区,HA上的进程将收到来自FA上进程发来的注册信息,由HA上的进程建立隧道,实现到STA的通信链路的建立。注册与隧道流程如图2所示。
FA通过运行agent和toproxy这2个进程来完成自身的功能,其中agent进程接收AP上进程apconn发来的注册信息,判断注册信息的内容,设置到STA特定主机路由,然后激发toproxy进程,由此进程将注册请求信息发送给HA。
HA通过开启proxy和mobileip这2个进程来完成自身的功能。其中:proxy进程用来接收STA在家乡网络时,家乡网络的AP发来的注册信息,设置到STA特定主机路由;mobileip进程主要用来接收从外区网络的FA发来的注册请求,收到注册请求后,建立到相应FA的隧道,隧道技术采用的是由RFC2003定义的IP in IP封装技术。这样,当MN漫游在外区网络时,HA代替它在家乡网络上接收发往MN的数据包,然后通过隧道进行转发,使得通信不会因为MN的移动而中断。
2.4移动的工作过程
因为在组网上的层次设计上有一定的特殊性,所以进程的设计不仅要考虑完成传统移动IP方案中的注册和隧道建立过程,还要考虑路由的建立、更新或删除等问题,工作过程也就有一定的特殊性。
如果MN只在家乡网络中移动,则不用建立隧道,只要进行正常通信的方式实现通信对端与移动主机的通信。在家乡网络中进行切换时,如STA由AP1切换到AP2,STA更新自己的网关指向AP2,AP2通过进程apconn通知HA上的进程proxy,proxy收到控制信息后,更新指向STA的特定主机路由。
如果MN STA移动到外区网络中去,就要启动FA的功能,如从AP2切换到AP3时,STA通过进程stagw更新自己的新网关为AP3,AP3上的apconn进程模块触发FA模块中的agent进程,由它更新指向STA的特定主机路由,然后触发toproxy进程向HA发送注册请求消息,HA收到后由mobile IP进程处理,先搜索旧隧道,如果存在时删除旧隧道,建立HA到FA的隧道,如果不存在旧隧道就直接建立隧道,同时,删除原来指向STA的特定主机路由。
如果STA是从外区网络回到家乡网络,如从AP3切换到AP2,在proxy得到这一信息后,在更新完STA的特定主机路由后要触发HA进程mobile IP,由它搜索与外区网络代理服务器之间的旧隧道,找到后删除旧隧道,并发送删除隧道的信息给对应的FA,FA通过进程agent来删除旧的指向STA的特定主机路由。
3结果与结论
采用以下两种方法对此移动漫游方案的性能进行测试:
1)使用IxChariot软件
IxChariot软件能够统计漫游过程中数据传输的各种参数,如最高速率、最低速率、平均速率和速率分布等,并能直观观察传输速率的实时变化情况。其参数设置为UDP(用户数据报协议)的窗口为1 200字节,重传超时为500 ms,重传尝试50次。测试脚本中file_size=4096,packet size=1024。
先在同一网络内进行移动测试,如图1中在AP1与AP2间来回移动,STA的移动速度分别为10 km/h、30 km/h和50 km/h,观察近10 min,结果记录如表1所示。
在不同网络间进行移动测试,如在图1中的家乡网络和外区网络间来回移动,用同样的方法测试,记录结果如表2所示。
2)使用ping方式
通过从通信对端ping MN的家乡地址来验证隧道路由,以及MN是否能够用家乡地址与通信对端进行通信。发送100个数据包,测丢包率。MN的移动速度分别为10 km/h、30 km/h和50 km/h,结果如表3~表6所示。
实验测试结果验证了所开发的移动漫游软件的功能,能够完成控制MN STA在无线接入点AP之间快速正确的切换,在不同的网段中移动时实现了漫游功能,并且保持与有线网络的连接畅通。
本设计利用Linux内核的开放性,利用软件在网络层上实现了移动漫游功能,使得这种漫游相对于网络层以下的层次是透明的,与网络底层设备无关。它继承了移动IP的思想,但又进行了一定的修改,使得代理的主要工作与AP分离,保证了漫游通信的性能。在符合嵌入式开发板系统配置的参数条件下,软件系统运行是稳定可靠的。由于受到硬件条件与资源配置的限制,在传输速率及切换的高速性方面仍然有许多工作要完善。
评论