移动ip系统的单接口无缝切换方法及其系统的制作方法

文档序号:7590184阅读:92来源:国知局
专利名称:移动ip系统的单接口无缝切换方法及其系统的制作方法
技术领域
本发明涉及一种切换方法,适用于移动IP (Mobile IP,MIP),移动IPv6 (MIPv6)和 双栈移动IPv6 (DSMIPv6)管理系统,MIP, MIPv6, DSMIPv6系统统称为移动IP系统,特别是 涉及使得移动设备在只有一个WLAN接口可用的情况下进行无缝切换的方法及其系统。
背景技术
随着无线网络技术的发展,移动设备越来越普及。当移动设备从一个网络移动到 另外一个网络后,其使用的IP地址可能会发生改变。由于现有的网络连接都是通过IP地 址识别通信实体并进行路由的,当移动设备的IP地址发生变化时,其原有的连接,如TCP连 接,就必须中断,给很多应用程序带来很大的不便。针对这个问题,Internet Engineering Task R)rce(互联网工程任务组,IETF)提出了 Mobile IP协议,使移动设备即使在依然使 用一个永久IP地址进行通信。Mobile IP协议分别有针对IPv4 (RFC 3344)和针对IPv6 (RFC 3775)的。Mobile IPv4和Mobile IPv6协议分别只能用于IPv4和IPv6网络中,而在目前从 IPv4到IPv6过渡的时期,移动设备的接入网络中可能只有IPv6网,也可能只有IPv4网,或 二者并存。为了让移动设备能够在这些网络之间移动的同时保持通信连接,IETF又提出了 Dual Stack Mobile IPv6 (DSMIPv6)协议。从本质上看,MIP 协议、MIPv6 协议以及 DSMIPv6 协议都没有太大的区别,都是通过隧道技术,利用HAOtome Agent,家乡代理)进行数据包 的转发。无线局域网(Wireless Local Area Network, WLAN)网络因为成本低,速度快,普 及程度高的缘故,被很多移动设备采用。随着用户的移动,移动设备可能逐渐移出当前接入 WLAN的AP (Access Point,无线接入点)的通信范围,而必须切换到另外一个信号好的AP 上。当移动设备同时有其他接口如 WCDMA(Wideband Code Division Multiple Access,宽 带码分多址)可用时,在WLAN接口发生切换时,移动设备可以通过暂时性的使用其他接口 (如WCDMA接口)来防止丢包和减少切换延迟。但并不是每个移动设备都有多个接口可用。 如果移动设备只使用WLAN接口通信,则当移动设备从一个AP断开切换到另外一个AP时 候,因为移动设备在接入新AP后还需要配置地址,发送绑定更新(Bind Update, BU),而HA 在收到绑定更新之前把移动设备的数据包还往旧AP上发送,这导致在1 2秒甚至更长的 时间内移动设备无法正常的收发数据包。当移动设备在各个网络之间移动频繁时,因切换 造成的丢包、延迟对上层应用,如多媒体音视频等,影响很大。如何有效的减轻移动切换对 上层应用的影响迫在眉睫。

发明内容
本发明的目的在于提供一种移动IP系统的单接口无缝切换方法及其系统,用于 解决现有的MIP,MIPv6,DSMIPv6系统在仅有一个WLAN网络接口可用的情况下,在切换过程 中会因配置地址、网络延迟等原因导致切换时间过长、切换过程中数据包大量丢失和乱序的问题。为了实现上述目的,本发明提供一种移动IP系统的单接口无缝切换方法,用于实 现移动设备从当前AP切换到目标AP,其中,包括步骤一,监测移动设备接入网络的当前网络通信质量,并根据当前网络通信质量 启动移动设备从当前AP到目标AP的切换控制;步骤二,移动设备通知当前AP已进入睡眠模式,由当前AP缓存来自HA的数据包;步骤三,移动设备向目标AP发起连接并接入到目标AP上,在从目标AP接收到数 据前从当前AP获取来自HA的数据包;步骤四,移动设备从目标AP获取来自HA的数据包并输入内核缓存,并依次将从当 前AP获取的数据包、内核缓存中从目标AP获取的数据包提交给传输层,断开与当前AP的 连接,完成切换。所述的单接口无缝切换方法,其中,所述步骤二中,包括移动设备通过发送PSM置位的NULL帧通知当前AP已进入睡眠模式。所述的单接口无缝切换方法,其中,所述步骤三中,包括移动设备通过备用MAC地址向目标AP发起连接,该MAC地址通过对移动设备WLAN 网卡的MAC地址的关键位修改得到。所述的单接口无缝切换方法,其中,所述步骤三中,包括当移动设备接入的网络是纯IPv6网络,或IPv6和IPv4共存的网络时,向目标AP 发起连接后,接着发送DHCP请求和路由请求,等待DHCP应答和路由应答若先收到路由应答,则执行如下处理配置IPv6的地址,进行重复地址检测,在检测时间内,切换回当前AP,由当前AP获 取来自HA的数据包,释放内核缓存中的数据包,当检测时间经过后,再切换回目标AP,根据 从目标AP接收的数据包判断重复地址检测是否成功,若成功,通过目标AP发送绑定更新信 息,并间歇性地切换到当前AP,由当前AP获取来自HA的数据包;若先收到DHCP应答,则执行如下处理配置IPv4的地址,发送绑定更新信息,释放内核缓存中的数据包,并间歇性地切 换到当前AP,由当前AP获取来自HA的数据包。所述的单接口无缝切换方法,其中,移动设备通过设置一计时器对检测时间进行 计时,根据计时器在当前AP与目标AP之间切换。所述的单接口无缝切换方法,其中,所述步骤三中,包括当移动设备接入的网络是纯IPv4网络时,配置IPv4的地址,发送绑定更新信息, 释放内核缓存中的数据包,并间歇性地切换到当前AP,由当前AP获取来自HA的数据包。所述的单接口无缝切换方法,其中,所述步骤三中,包括移动设备当从目标AP切换到当前AP前,向正在连接的AP发送PSM置位的NULL 帧,由该正在连接的AP缓存来自HA的数据包。所述的单接口无缝切换方法,其中,所述步骤四中,包括移动设备当从目标AP切换到当前AP前,或从当前AP切换到目标AP前,向正在连 接的AP发送PSM置位的NULL帧,由该正在连接的AP缓存来自HA的数据包。为了实现上述目的,本发明提供一种移动IP系统的单接口无缝切换系统,用于实现移动设备从当前AP切换到目标AP,其中,包括内核缓存,用于缓存移动设备从应用层接收的数据包;网络质量监控模块,用于监控移动设备接入网络的当前网络通信质量;切换控制模块,连接所述内核缓存、所述网络质量监控模块,用于根据当前网络通 信质量实现移动设备从当前AP到目标AP的切换控制;所述切换控制模块通知当前AP移动设备已进入睡眠模式,由当前AP缓存来自HA 的数据包,向目标AP发起连接并接入到目标AP上,在从目标AP接收到数据前从当前AP获 取来自HA的数据包,从目标AP获取来自HA的数据包并输入内核缓存,并依次将当前AP获 取的数据包、内核缓存中从目标AP获取的数据包提交给传输层,断开与当前AP的连接,完 成切换。所述的单接口无缝切换系统,其中,所述切换控制模块通过发送PSM置位的NULL帧通知当前AP移动设备已进入睡眠 模式。所述的单接口无缝切换系统,其中,所述切换控制模块通过备用MAC地址向目标AP发起连接,通过修改移动设备WLAN 网卡的MAC地址的关键位得到该MAC地址。所述的单接口无缝切换系统,其中,所述切换控制模块,还用于当移动设备接入的网络是纯IPv6网络,或IPv6和IPv4共存的网络时,向目标AP 发起连接后,接着发送DHCP请求和路由请求,等待DHCP应答和路由应答若先收到路由应答,则执行如下处理配置IPv6的地址,进行重复地址检测,在检测时间内,切换回当前AP,由当前AP获 取来自HA的数据包,释放内核缓存中的数据包,当检测时间经过后,再切换回目标AP,根据 从目标AP接收的数据包判断重复地址检测是否成功,若成功,通过目标AP发送绑定更新信 息,并间歇性地切换到当前AP,由当前AP获取来自HA的数据包;若先收到DHCP应答,则执行如下处理配置IPv4的地址,发送绑定更新信息,释放内核缓存中的数据包,并间歇性地切 换到当前AP,由当前AP获取来自HA的数据包。所述的单接口无缝切换系统,其中,所述切换控制模块,还用于当移动设备接入的网络是纯IPv4网络时,配置IPv4的地址,发送绑定更新信息, 释放内核缓存中的数据包,并间歇性地切换到当前AP,由当前AP获取来自HA的数据包。所述的单接口无缝切换系统,其中,所述切换控制模块,还用于当移动设备从目标AP切换到当前AP前,向正在连接的AP发送PSM置位的NULL 帧,由该正在连接的AP缓存来自HA的数据包。所述的单接口无缝切换系统,其中,所述切换控制模块,还用于当移动设备从目标AP切换到当前AP前,或从当前AP切换到目标AP前,向正在连接的AP发送PSM置位的NULL帧,由该正在连接的AP缓存来自HA的数据包。与现有技术相比,本发明的有益技术效果在于针对现有的MIP,MIPv6,DSMIPv6系统(下文简称移动IP系统)在仅有一个WLAN 网络接口可用的情况下,在切换过程中会因配置地址、网络延迟等原因导致切换时间过长、 切换过程中数据包大量丢失和乱序的问题,为了克服现有协议的不足,本发明提供基于移 动IP系统的单接口无缝切换方法及系统,通过无缝软切换,使得DSMIPV6系统在WLAN网络 之间切换、配置地址的同时也能够收发数据包,大大减少了切换延迟,并有效避免了因切换 所导致的丢包问题。本发明能够让移动IP系统在仅有一个WLAN接口的情况下还能在无线 网络之间无缝切换,切换延迟小,切换过程不丢包。另外只需修改移动设备端,无须对已有 的移动IP协议或其他网络设备做任何修改,实施和部署容易。通过使用本发明,移动IP系统的切换延迟将大大减少,切换不再丢包,并且因切 换而导致的数据包的乱序的程度也将大大减轻。


图1是本发明移动设备端的系统结构图;图2是移动设备切换时的数据以及信令交互流程图;图3是本发明移动设备端的单接口无缝切换方法流程图;图4是本发明的一个实施例场景示意图。
具体实施例方式以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。如图1所示,NETFILTER HOOK A,用于控制从系统出去的数据包,NETFILTER HOOK B用于控制出网卡进入系统的数据包,NETFILTER HOOKA、NETFILTER HOOK B受2层切换控 制模块(Layer 2Handoff ControlModule)的控制,可以拦截来自传输层或来自网卡的数据包。用户级应用(USER LEVEL APPLICATIONS)主要指用户正在使用的应用程序,比如 浏览器、MSN等,传输层(TRANSPORT LAYER)、网络层(NETWORK LAYER)都处于操作系统的内 核中,由内核实现,比如网络层的TCP、UDP、SCTP等。应用层发送到网络的数据会先提交到 传输层,然后到达网络层,最后由网卡发送出去。一般来说传输层要发送数据是由于应用层 正在往传输层发送数据,但也有例外,比如TCP,在用户没有往传输层发送数据时,如果TCP 链接已经建立,它有可能定期的发送各种控制报文,如zerownd-probe等。故本发明描述了 应用层数据包和传输层数据包,总之这些数据包不在切换未完成之前发送出去。网络层数 据包有NS,NA, RS, RA, BU等,这些数据包在切换未完成时发送,以便和网络交互。传输层包括TCP等协议,能够对用户的数据包进行必要的重传,计时控制等。网 卡驱动负责发送和接受数据包。2层切换控制模块负责检测以及执行AP之间的切换, DSMIPv6 (DSMIPv6M0BILITY MANAGEMENT MODULE)移动管理系统为双栈移动管理系统,负责 IP层次上的切换管理。2层切换控制模块和DSMIPv6移动管理系统配合控制系统的资源来 完成一个切换过程。来自传输层的数据包可以被保存到输出缓存(OUTPUT BUFFER)中,来自网卡的数据包可以被缓存到输入缓存(INPUT BUFFER)中(延缓向上层提交时用)。OUTPUT BUFFER、 INPUT BUFFER两个缓存都是内核缓存。其中OUTPUT BUFFER用来缓存要发送出去但暂时不 应该发送的包,在切换结束后这些包会被发送到网络上,INPUT BUFFER用来缓存网卡驱动 从网络接收到的包,这些包暂时不应该提交给网络层,故先缓存着。2层切换控制模块会在 恰当时机释放这些缓存以让其中的数据包提交给网络层。如果MN —接收到数据包就提交 给网络层,则可能会弓I起数据包乱序导致性能下降。网络质量监测模块(Network Quality Monitoring Module)不断检测网络质量并 在需要时通知DSMIPv6移动管理系统和2层切换控制模块进行必要的操作。2层切换控制模块直接与网卡以及DSMIPv6系统交互,控制切换过程中的各种行 为。通过使用AP对移动设备省电模式的支持,让移动设备在切换的时候间歇性的与 两个AP保持通信。移动设备本身在通信的过程中还检测周围可用AP,把相关信息存入备用 AP列表中。同时,通信质量监控模块监测到当前AP信号变弱的情况。当移动设备发现信号 变弱到一定程度后,就从备用AP列表中找出一个AP准备切换过去。在切换的时候,移动设 备先给当前AP (又称旧AP)发送一个PSM置位的NULL帧,这样当前AP就以为移动设备进 入了休眠模式,就会为移动设备缓存来自HA的数据。然后,如果目标AP的频率和当前AP 一样,移动设备使用备用MAC地址(把当前MAC地址的关键几位修改)接入到备用AP (又 称目标AP,新AP)中,否则移动设备就使用当前MAC地址接入到目标AP中。之所以使用备 用MAC地址,是因为若直接使用自己的MAC地址,旧AP就会听到移动设备在通信,就会给移 动设备发送数据包,因为移动设备已经连接到备用AP上,收不到旧AP的数据包,旧AP多次 发送数据失败后就会和移动设备断开连接。接入到新AP后,移动设备开始配置地址的工作。配置地址的时间可能很长,如1秒 (因为DAD的缘故),也可能很短(如收到DHCP应答)。如果配置地址时间很长,移动设备 可以在这期间重新切换回旧AP进行通信。因为移动设备并没有和旧AP断开,旧AP —直为 移动设备缓存了数据,移动设备可以取到这些数据,并发送数据包。最后时间差不多了(如 DAD的1秒时间到了),移动设备再切换回新AP。每次从一个AP切换到另外一个AP前,移 动设备都先向正在连接的AP发送PSM置位的NULL帧,以便让AP为移动设备缓存数据,避 免了数据的丢失。切换回新AP后,移动设备此时已经配置完地址,移动设备向HA发送绑定更新 BU。在HA收到BU之前,HA还会向旧AP发送数据,所以,移动设备还要定期的回旧AP取数 据。假设移动设备在、时刻切换到新AP后发送了 BU,在td = t0+k*(interval+p+q)+a(a < interval, interval为移动设备在新AP的停留间隔,ρ为切换以及在旧AP收取数据的 耗时,q为从旧AP切换到新AP的耗时)的时刻从新AP收到了来自HA的数据,则移动设备 在t1; t2,…,tk时刻切换回旧AP处理数据后,分别在、+ρ,t2+p,…,tk+p时刻切换回新 AP0 其中 tx = x*(interval+p+q) +t0,0 <= χ <= kD当移动设备从新AP处收到来自HA的数据时,表示切换已经成功。此时移动设备 还不能直接把数据包提交给传输层,因为可能有部分前面的数据还缓存在旧AP上。移动设 备先把从新AP收到的数据缓存在内核缓存中,然后切换回旧AP读取数据,最后和旧AP断 开,往传输层先提交来自旧AP的数据,然后再提交来自新AP的数据(在内核缓存中)。这在本发明称为“延迟提交”,目的为了减少数据包的乱序。当移动设备断开和旧AP的连接 后,移动设备接入到新AP上,至此,切换完成。 PSM置位的NULL帧(通知AP移动节点已经进入入休眠模式,让AP为其缓存数据) 是由L2切换控制模块控制WLAN DRIVER发送的,内核其他模块以及上层应用都无法发送这 种类型的信令。如图2所示,是移动设备切换时的数据以及信令交互流程图。图2中描述了切换到IPv6网络时候,DAD成功时候的情况。发送PSM数据包就是让AP在丽没有连接在其上时候暂时为丽保持别的地方发 给它的数据。丽接到AP上后会提取AP为其缓存的数据。这里主要是信令以及数据流的交 互图,不包括MN执行切换的一些细节。—开始,L2切换控制模块在监测通信的过程中认为有切换的必要时,就触发切换。 PSM代表PSM置位的NULL帧。切换触发后,丽(Mobile Node)需要切换到另外一个AP上(New AP),为了避免期 间旧AP (Old AP)还往MN发送数据(因为丽已经连接到newAP上,无法接收这样的数据), 丽先给旧AP发送PSM,然后再与新AP建立2层(链路层,不同于IP层)连接。然后丽发送 RS和DHCP请求包(DHCP REQUEST),以获取网络IP地址。这里假设新AP连接的是纯IPv6 网络,新网络路由器会通过新AP给丽发送RA。收到RA后,丽配置地址并进行DAD。丽先 发送 NS(Neighbor Solicitation)包进行 DAD(DuplicateAddress Detection)检测。因 为DAD检测要一段时间,为了能在这段时间内继续发送和接受数据,MN先给新AP发送PSM, 然后切换回旧AP上继续收发数据。给新AP发送PSM就是为了避免其他节点发送给MN的 NA(NeighborAdvertisement)丢失。在此期间,MN设置了一个DAD定时器,大约1秒时间。 定时器过后,丽再次切换回新AP上。同上述,丽还给旧AP发送PSM以免丢失数据。为了简单,这里假设DAD成功(没 有NA,这也是绝大多数情况下发生的事情),MN会执行L3层(网络层)切换。丽给HA发 送BU。期间丽可多次切换回旧AP收发数据,如果BA迟迟未到(道理和上面一样,图中没 有画出)。收到BA后,丽再切换回旧AP收取丽在新AP上时HA发给旧AP的数据(HA在 收到BU之前发送给丽的数据都往丽的旧位置发送)。同样,在切换回旧AP前丽还给新 AP 一个PSM帧。这里丽从新AP上收到的数据包被缓存到INPUT BUFFER里,还没有提交 给网络层。等到丽取完旧AP上的数据后,丽再断开和旧AP的连接并连接到新AP上。丽 先往应用层发送来自旧AP的数据,然后再发送INPUT BUFFER中缓存的数据。在上述的过 程中,当MN在新AP上且L3连接还没建立好时候(DAD成功之前),上层发送给网络的数据 包会被暂时缓存在OUTPUT BUFFER中,在丽切换回旧AP上后发送出去。新旧AP之间切换 时MN会依情况使用备用MAC地址或主MAC地址,图中为简明没有标出。如图3所示,是本发明移动设备端的单接口无缝切换方法流程图。该流程的步骤 包括步骤301,内核缓存初始化;步骤302,生成备用MAC地址,建立AP连接,进行通信;步骤303,通信过程包括检测备用AP以及通信质量;步骤304,判断当前通信质量是否低于通信质量?若是,进入步骤305,否则转入步骤303 ;步骤305,判断是否有备用AP ?若有,则缓存上层数据,并进入步骤306,否则转入 步骤303 ;步骤306,向当前AP发送PSM置位的NULL帧,改变网卡频率,使用备用MAC向新 AP发起连接请求,并发送DHCP请求和路由请求RS ;步骤307,判断是否先收到路由应答RA,若是,则进入步骤309,否则进入步骤 308 ;步骤308,判断是否先收到DHCP应答,若是,则配置IPv4的地址,并进入步骤312 ;步骤309,配置IPv6的地址,设置DAD检测的计时器,发送NS,向当前AP发送PSM 置位的NULL帧,改变网卡频率和MAC地址,切换回旧AP,进入步骤310 ;步骤310,收发数据,并判断DAD检测的计时器是否超时,若超时,则向当前AP发送 PSM置位的NULL帧,进入步骤311,若未超时,则继续收发数据;步骤311,移动设备从当前AP切换到新AP,并判断IPv6的COA地址且DAD检测是 否成功,若成功,则进入步骤312,否则切换到旧AP,并转入步骤303 ;步骤312,发送BU,发送OUTPUT BUFFER数据,进入步骤313 ;步骤313,初始化数据计时器,进入步骤314 ;步骤314,发送数据,并判断数据计时器是否超时?若超时,则切换回旧AP,进入 步骤315,否则继续发送数据;步骤315,移动设备从旧AP接收数据,再切换回新AP ;步骤316,判断是否从新AP接收到来自HA的数据,若收到,则将数据缓存在内核缓 存中,并进入步骤317,否则,转入步骤313 ;步骤317,移动设备从新AP切换回旧AP,从旧AP接收数据;步骤318,移动设备从旧AP切换回新AP ;步骤319,依次提交来自旧AP的数据、内核缓存中存储的从新AP接收的数据;步骤320,移动设备断开与旧AP的连接,完成切换。结合图1、2、3,下面通过一个具体实施例对本发明的技术方案进行描述因为DSMIPv6系统包含了 MIPV6系统和MIP系统的功能,这里以DSMIP系统为例, 使用本发明的移动设备从一个AP切换到另外一个AP所执行切换的主要步骤如下1)在移动设备的操作内核中设置内核缓存,并通过Linux的Netfilter机制对传 输层发出的数据包进行必要的处理,包括两个方面一,如果此时正在切换过程中,则截获 应用层以及传输层的数据包,并把这些数据包保存在OUTPUT BUFFER中;二,必要的话(是 指移动节点在与旧AP真正断开之前,连接到新AP上并收到来自新AP的数据包时,移动节 点先把这些数据包缓存,不往上层提交,要到移动节点再次连接到旧AP上获取数据,并与 旧AP断开后,移动节点先往上层提交来自旧AP的数据后才向上层提交缓存中的数据,这样 就避免了数据包的乱序,因为来自旧AP的数据必然是比来自新AP的数据先发送的),也截 获来自网络的包保存在INPUT BUFFER中。这些数据包将在恰当的时机才发送当网络上或 被提交给网络层处理。2)修改移动设备的WLAN网卡驱动,使其能够记录与不同AP的连接状态,并且能够 在不和当前连接的AP发送Disassociation (取消连接)信令断开连接的情况下向另外一个AP发送Association (连接)信令。3)维护一个备用AP列表,该列表通过WLAN驱动间歇性的扫描得到。它记录了除 当前连接AP之外的在移动设备在传输范围内的其他AP的信息,包括这些AP的ESSID、信号 强度、可用带宽等。4)生成一个备用MAC地址,该地址可以通过对移动设备的WLAN网卡的MAC地址的 少数关键位进行修改得到(比如,MN的一个接口的MAC地址为00-02-3f-07-09-66,则备用 MAC可以通过修改该地址的第二个字节0为1,生成的备用MAC地址为01-02-3f-07-09-66, 虽然这种方法生成的备用MAC地址有可能和本地链路上其他节点的MAC产生冲突,但可能 性极其微小)。这样移动设备就有两个MAC地址,在本发明中,移动设备的除当前正在使用 的MAC地址之外的另外一个MAC地址被称作“备用MAC地址”,当前正在使用的MAC地址成 为旧MAC地址。5)设置一个网络质量监视模块和一个2层切换控制模块,这两模块监控当前通信 质量并触发必要的切换。6)随着用户的移动,移动设备距离当前AP越来越远,信号越来越差,丢包率上升。 网络质量监控模块发现当前网络质量已经低于设定阈值,通知2层切换控制模块,在备用 AP列表中选择一个最好的AP (如信号好的,带宽大的,具体选择的标准不在本发明讨论范 围内),准备连接。7)2层切换控制模块先开启缓存功能,过滤所有来自传输层的数据,除了 DSMIPv6Bind Update 信令、DHCP 地址请求,Router Solicitation(路由,RS)请求数据包 外,其他所有的数据包将被过滤并缓存起来。8)2层切换控制模块向当前AP (旧AP)发送NULL帧,其中PSM置位,通知当前AP 自己进入睡眠模式,当前AP将为移动设备缓存来自HA的数据包。9)2层切换控制模块控制移动设备向备用AP(目标AP,新AP)发起连接。并采用 备用MAC地址进行连接,然后发送DHCP请求和RS请求。10)下面分情况讨论(a)接入的网络是纯IPv6网络,或接入网络是IPv6和IPv4共存的网络并且移动 设备收到DHCP应答之前先收到路由应答Route Advertisement (RA)。在这种情况下,移动 设备可以先根据RA配置IPv6的COA地址(C0A为CareOf Address的简写,是移动IP协议 的术语)。对于使用MIPv6,DSMIPv6等移动节点而言,有两个地址,一个是家乡地址,另外 一个是COA地址。COA地址是移动节点正在使用的用来通讯的地址,由接入网络分配,随着 移动节点接入的网络的不同而不同,而家乡地址一直不变。比如,当移动节点从网络A移动 到网络B时,它得到网络B为其分配的一个地址202. 198. 39. 1或2002 ccO 2026 3ff 1, 这是COA地址。此时如果移动节点要和其他节点(CN,Correspondent Node)通信,移动节 点会使用隧道封装数据包后发给HA。隧道外层的源地址就是COA地址,隧道内部是真正的 发给CN的数据包,其源地址是移动节点的家乡地址。当HA收到隧道包后,它解开封装把里 面的数据包发送到网络上。当CN收到这个数据包时,其源地址是移动节点的家乡地址,CN 就以为移动节点还在家乡网络中,没有移动。移动IP协议对CN屏蔽了 MN的移动行为。) 并进行重复地址检测(Duplicate Address Detection,DAD),重复地址检测一般要持续1 秒的时间。移动设备先发送邻居发现NS(是Neighbor Solicitation的缩写,指邻居发现请求包,是DAD检测的一个步骤,NS中包含了移动节点即将使用的地址,其他节点收到该报 文时查看里面的地址是否已经被自己使用,若是,则发送NA)请求,然后再给新AP发送一个 PSM置位的NULL帧,告诉新AP移动设备进入节电模式,这样新AP将为移动设备缓存可能的 NA(是Neighbor Advertisement的缩写,指邻居发现请求应答包,是DAD检测的一个步骤, 收到NA代表地址已被其他节点占用,DAD失败)。接着移动设备改变网卡频率接入到旧AP 上,并通过向旧AP发送PULL帧获取这段时间来自HA的数据,同时释放内核缓存中来自上 层的数据包,并开始正常通信。当1秒时间过了之后,移动设备再向旧AP发送PSM置位的 NULL帧,改变网卡频率接入到新AP上。然后获取新AP上的数据判断DAD是否成功。如果 DAD成功,则发送BU和其它上层数据,同时间歇性的改变网卡频率到旧AP上获取来自HA的 数据,改变网卡频率之前都向正在连接的AP发送PSM置位的NULL帧。(b)移动设备接入到一个纯IPv4网络,或其先收到DHCP应答。在这种情况下,移 动设备可以先配置IPv4地址并立即可以用该地址通信。移动设备先发送BU,然后释放内核 缓存中的数据。在从新AP收到数据之前,移动设备间歇性的从旧AP获取数据。二层切换 (改变网卡频率接入到另外一个AP上)的时候都先向当前连接的AP发送PSM置位的NULL 帧,让其为移动设备缓存数据。11)等到移动设备从新AP上收到来自HA的数据时,则表明HA已经接收到了 BU。 此时,移动设备先缓存该数据(来自新AP)不往传输层提交,然后最后一次到旧AP上获取 可能的数据,接着通过Disassociation信令断开和旧AP的连接,先提交从旧AP中获取的 数据,再提交从新AP中获取的数据(在内核缓存里)。然后开始正常通信,DSMIPv6的切换 完成。图4是一个本发明的使用场景。其中,移动设备从APl覆盖的网络移动,到接近 APl网络覆盖的边缘的时候,移动设备开始从APl切换到AP2,使用本发明所描述的技术方 案。结合图3以及上述实施例,对该移动设备的切换过程进行描述。移动设备丽最初接入到APl上并通过APl进行通信。移动设备使用DSMIPv6协 议,和CN(Corresponding Node,通信节点)的通信通过隧道的方式从HA中转。随着丽的 移动,MN逐渐移出APl的通信范围,MN检测到通信质量正在变差,同时MN也检测到周围有 一个信号比较好的AP2。丽准备从APl切换到AP2上。丽通过改变自己的MAC地址的关键 几位,生成备用MAC地址,称为MAC_B (原有的MAC地址称为MAC_A)。丽首先给APl发送一 个PSM标志位的NULL帧,表示当前丽进入休眠模式,APl将为丽缓存来自HA的数据包。 然后丽向AP2发起连接,使用MAC_B,接着发送DHCP请求和路由请求RS。然后等待DHCP或 RA。假设收到RA,则MN开始配置地址,并进行DAD检测。在这段时间内,丽切换回APl (用 MAC_A,切换前先给AP2发送PSM标志位的NULL帧)进行通信,直到DAD时间过后,MN再切 换回AP2。然后从AP2接收数据包看是否DAD成功。如果DAD成功,则通过AP2发送BU。但 BU在路上还需要一段时间才能到达HA,在这之前HA依然向APl发送数据,而APl也为丽 缓存这段数据。在发送BU后的一段时间内,MN也可以发送数据。但同时MN设置了一个计 时器,当计时器过了以后,MN切换回APl获取数据,如此反复。直到MN从AP2接收到来自 HA的数据,MN先把这段数据缓存,然后MN最后一次切换回APl获取数据,断开与APl的连 接,先提交来自APl的数据,再提交内核缓存中的数据,切换完成。如果MN在AP2的网络中 先收到DHCP的地址请求应答,则丽先配置IPv4 C0A,然后发送BU和数据,并在AP2和APl之间切换,如上所述,直到从AP2接收到来自HA的数据,丽最后一次从APl取数据并断开 和APl的连接,然后依次向上提交来自APl和AP2的数据,切换完成。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变 形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种移动IP系统的单接口无缝切换方法,用于实现移动设备从当前AP切换到目标 AP,其特征在于,包括步骤一,监测移动设备接入网络的当前网络通信质量,并根据当前网络通信质量启动 移动设备从当前AP到目标AP的切换控制;步骤二,移动设备通知当前AP已进入睡眠模式,由当前AP缓存来自HA的数据包; 步骤三,移动设备向目标AP发起连接并接入到目标AP上,在从目标AP接收到数据前 从当前AP获取来自HA的数据包;步骤四,移动设备从目标AP获取来自HA的数据包并输入内核缓存,并依次将从当前AP 获取的数据包、内核缓存中从目标AP获取的数据包提交给传输层,断开与当前AP的连接, 完成切换。
2.根据权利要求1所述的单接口无缝切换方法,其特征在于,所述步骤二中,包括 移动设备通过发送PSM置位的NULL帧通知当前AP已进入睡眠模式。
3.根据权利要求1所述的单接口无缝切换方法,其特征在于,所述步骤三中,包括 移动设备通过备用MAC地址向目标AP发起连接,该MAC地址通过对移动设备WLAN网卡的MAC地址的关键位修改得到。
4.根据权利要求1、2或3所述的单接口无缝切换方法,其特征在于,所述步骤三中,包括当移动设备接入的网络是纯IPv6网络,或IPv6和IPv4共存的网络时,向目标AP发起 连接后,接着发送DHCP请求和路由请求,等待DHCP应答和路由应答 若先收到路由应答,则执行如下处理配置IPv6的地址,进行重复地址检测,在检测时间内,切换回当前AP,由当前AP获取来 自HA的数据包,释放内核缓存中的数据包,当检测时间经过后,再切换回目标AP,根据从目 标AP接收的数据包判断重复地址检测是否成功,若成功,通过目标AP发送绑定更新信息, 并间歇性地切换到当前AP,由当前AP获取来自HA的数据包; 若先收到DHCP应答,则执行如下处理配置IPv4的地址,发送绑定更新信息,释放内核缓存中的数据包,并间歇性地切换到 当前AP,由当前AP获取来自HA的数据包。
5.根据权利要求4所述的单接口无缝切换方法,其特征在于,移动设备通过设置一计 时器对检测时间进行计时,根据计时器在当前AP与目标AP之间切换。
6.根据权利要求1、2或3所述的单接口无缝切换方法,其特征在于,所述步骤三中,包括当移动设备接入的网络是纯IPv4网络时,配置IPv4的地址,发送绑定更新信息,释放 内核缓存中的数据包,并间歇性地切换到当前AP,由当前AP获取来自HA的数据包。
7.根据权利要求1、2或3所述的单接口无缝切换方法,其特征在于,所述步骤三中,包括移动设备当从目标AP切换到当前AP前,向正在连接的AP发送PSM置位的NULL帧,由 该正在连接的AP缓存来自HA的数据包。
8.根据权利要求1、2或3所述的单接口无缝切换方法,其特征在于,所述步骤四中,包括移动设备当从目标AP切换到当前AP前,或从当前AP切换到目标AP前,向正在连接的 AP发送PSM置位的NULL帧,由该正在连接的AP缓存来自HA的数据包。
9.一种移动IP系统的单接口无缝切换系统,用于实现移动设备从当前AP切换到目标 AP,其特征在于,包括内核缓存,用于缓存移动设备从应用层接收的数据包; 网络质量监控模块,用于监控移动设备接入网络的当前网络通信质量; 切换控制模块,连接所述内核缓存、所述网络质量监控模块,用于根据当前网络通信质 量实现移动设备从当前AP到目标AP的切换控制;所述切换控制模块通知当前AP移动设备已进入睡眠模式,由当前AP缓存来自HA的数 据包,向目标AP发起连接并接入到目标AP上,在从目标AP接收到数据前从当前AP获取来 自HA的数据包,从目标AP获取来自HA的数据包并输入内核缓存,并依次将当前AP获取的 数据包、内核缓存中从目标AP获取的数据包提交给传输层,断开与当前AP的连接,完成切 换。
10.根据权利要求9所述的单接口无缝切换系统,其特征在于,所述切换控制模块通过发送PSM置位的NULL帧通知当前AP移动设备已进入睡眠模式。
11.根据权利要求9所述的单接口无缝切换系统,其特征在于,所述切换控制模块通过备用MAC地址向目标AP发起连接,通过修改移动设备WLAN网 卡的MAC地址的关键位得到该MAC地址。
12.根据权利要求9、10或11所述的单接口无缝切换系统,其特征在于, 所述切换控制模块,还用于当移动设备接入的网络是纯IPv6网络,或IPv6和IPv4共存的网络时,向目标AP发起 连接后,接着发送DHCP请求和路由请求,等待DHCP应答和路由应答 若先收到路由应答,则执行如下处理配置IPv6的地址,进行重复地址检测,在检测时间内,切换回当前AP,由当前AP获取来 自HA的数据包,释放内核缓存中的数据包,当检测时间经过后,再切换回目标AP,根据从目 标AP接收的数据包判断重复地址检测是否成功,若成功,通过目标AP发送绑定更新信息, 并间歇性地切换到当前AP,由当前AP获取来自HA的数据包; 若先收到DHCP应答,则执行如下处理配置IPv4的地址,发送绑定更新信息,释放内核缓存中的数据包,并间歇性地切换到 当前AP,由当前AP获取来自HA的数据包。
13.根据权利要求9、10或11所述的单接口无缝切换系统,其特征在于, 所述切换控制模块,还用于当移动设备接入的网络是纯IPv4网络时,配置IPv4的地址,发送绑定更新信息,释放 内核缓存中的数据包,并间歇性地切换到当前AP,由当前AP获取来自HA的数据包。
14.根据权利要求9、10或11所述的单接口无缝切换系统,其特征在于, 所述切换控制模块,还用于当移动设备从目标AP切换到当前AP前,向正在连接的AP发送PSM置位的NULL帧,由 该正在连接的AP缓存来自HA的数据包。
15.根据权利要求9、10或11所述的单接口无缝切换系统,其特征在于, 所述切换控制模块,还用于当移动设备从目标AP切换到当前AP前,或从当前AP切换到目标AP前,向正在连接的 AP发送PSM置位的NULL帧,由该正在连接的AP缓存来自HA的数据包。
全文摘要
本发明有关于一种移动IP系统的单接口无缝切换方法与系统,其中方法包括步骤一,监测移动设备接入网络的当前网络通信质量,并根据当前网络通信质量启动移动设备从当前AP到目标AP的切换控制;步骤二,移动设备通知当前AP已进入睡眠模式,由当前AP缓存来自HA的数据包;步骤三,移动设备向目标AP发起连接并接入到目标AP上,在从目标AP接收到数据前从当前AP获取来自HA的数据包;步骤四,依次将当前AP获取的数据包、内核缓存中目标AP获取的数据包提交给传输层,断开与当前AP的连接,完成切换。本发明使得移动IP系统在仅有一个WLAN接口的情况下还能在无线网络之间无缝切换,切换延迟小,切换过程不丢包。
文档编号H04W36/18GK102076046SQ201110042408
公开日2011年5月25日 申请日期2011年2月22日 优先权日2011年2月22日
发明者刘敏, 周安福, 林辉 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1