多连接移动节点在代理移动IPv6中的流绑定方法 【技术领域】
多连接移动节点在代理移动IPv6中的流绑定方法移动IP技术应用领域。
背景技术
IETF在2007年提出了代理移动IPv6(Proxy Mobile IPv6)协议。在代理移动IPv6协议中,移动节点自身不参与移动信令交互,而是通过网络侧提供的移动管理获得移动性支持。
代理移动IPv6中,移动接入网关会感知移动节点的接入并代理它向代理移动IPv6中的家乡代理实体——本地移动锚点进行注册。注册完成之后,移动接入网关会把网络侧分配的家乡网络前缀通告移动节点以为其配置地址。本地移动锚点作为家乡网络前缀在拓扑上的锚点,会截获发往移动节点的分组,并根据接收到的注册信息选择正确的转发路径,通过隧道将分组发送到相应的移动接入网关,进而由移动接入网关转发至移动节点。
在移动节点移动的过程中,本地接入锚点或移动接入网关会保证为其分配的家乡网络前缀的一致性以使得移动节点始终以相同的地址接入网络。整个代理移动IPv6域都相当于一个链路,移动节点在任何一处的介入都相当于在家乡网络中接入,会被配置固定的“家乡地址”。通过网络层的移动性支持,上层不用考虑移动过程的底层实现;当移动发生,移动节点改变接入点时,上层的应用不会受到影响。
移动节点的流绑定是由H.Soliman等人在IETF的草案《移动IPv6和网络移动性协议中的流绑定支持》(Flow Bindings in Mobile IPv6 and NEMOBasic Support)中提出的。多连接移动节点的流绑定是指在支持多转交地址注册的移动IPv6中,将特定的流绑定到某个转交地址;多连接的移动节点会指示家乡代理或其他移动IPv6的实体以把下行的流定向到相应的地址。它的来源在于,当一个节点有多个连接同时接入网络时,不同的接入的带宽、花费、QoS等不尽相同,将不同的流按照其特征分配到不同的接口进行传输,可以达到充分利用带宽、节省开销、负载均衡等效果。
以此为基础,C.Larsson等人又在IETF的草案《多接入节点的流分配规则语言》(Flow Distribution Rule Language for Multi-Access Nodes)中对流绑定的概念做了进一步的发展,使用一套形式化的语言描述流绑定的规则,以更准确的描述流的特征以及相应的绑定操作,同时,也便于在移动节点和其它实体间的传输。他们将这套多连接移动节点的流绑定机制称为“同时多接入”(Simultaneous Multi-Access)。
现有的最接近的方案是由C.Larsson等人提出的IETF的草案《代理移动IPv6的同时多接入和流的移动性支持》(Simultaneous Multi-Access and FlowMobility Support for PMIPv6)。该草案是将应用在移动IPv6协议的同时多接入移植到代理移动IPv6中的一个提案。
在该草案中,为了能够使得避免移动节点的不同接口配置地址不同而引发的路由的问题,主前缀(Primary Prefix)被引入到代理移动IPv6协议中。主前缀的作用类似于移动IPv6中的家乡地址,代理移动IPv6的移动节点,会在它的虚接口上利用网络侧分配地唯一的主前缀配置地址,上层都会使用这个地址进行数据传输。
当移动节点最初接入时,会向网络侧发送作为主前缀请求的互联网控制消息协议(ICMP)信令,随后网络侧会为其分配主前缀,并最终由移动接入网关通告移动节点,其流程如图1所示。
除此之外,支持多转交地址注册的移动IPv6中的绑定ID(Binding ID)和流绑定规则等概念也被引入到代理移动IPv6中。每个接口接入时,移动节点会给为该接口配置的家乡网络前缀分配一个绑定ID,并且通过互联网控制消息协议信令向网络侧注册绑定ID和家乡网络前缀之间的绑定关系,其流程如图2所示。
而用以描述流绑定策略的路由规则,可以由移动节点或本地移动锚点产生,并通过移动接入网关传递给对方,以使网络侧和主机侧的配合执行路由规则达成流绑定,其流程如图3所示。
在实现本发明过程中,发明人发现现有技术至少存在如下问题和缺陷:
1.代理移动IPv6协议中,会为同一个移动节点的不同接口分配不同的家乡网络前缀,进而配置不同的地址。在进行流绑定应用中,若分组因执行路由规则而被转发到非目的地址对应的接口所接入的移动接入网关,则该移动接入网关会因为缺少能够匹配该目的地址的路由表项而不能成功转发。
2.C.Larsson等人的方案基础是主前缀和虚接口,它们的来源是移动IPv6中的家乡地址和移动节点上的隧道。为了为虚接口配置地址并使得上层应用能够确实的使用虚接口进行发送,移动节点需要大幅度的扩展,以达到这种类似于移动IPv6中的移动节点的功能。这与代理移动IPv6的初衷不符。
3.C.Larsson等人的方案中的虚接口本身也是一个概念模型,它与一些现有的其它虚接口(如隧道等)有很大的区别。如何在移动节点的系统中实现这种能够根据路由规则动态的选择物理接口进行发送的虚接口也是一个难题,而且目前并没有提出相应的解决方案。
4.C.Larsson等人的方案将绑定ID等出现在支持多转交地址注册的移动IPv6中的概念引入到了代理移动IPv6中。但是,代理移动IPv6本身就是支持多连接的,不同的绑定缓存项可以通过家乡网络前缀、链路层ID等信息进行区分而不需要绑定ID的辅助。因此,将绑定ID引入的作用非常有限,而且,它会带来额外的对移动节点的扩展,以及更大的信令开销。
【发明内容】
本发明的第一目的是针对现有的代理移动IPv6协议中,为移动节点的不同接口分配不同的家乡网络前缀进行地址配置所引起在流绑定应用过程中移动接入网关转发失败的问题,提出一种地址配置和路由设置的方案,以使得当分组因路由规则而被转发到非目的地址对应的接口所接入的移动接入网关时,移动接入网关能够正确的将它转发到移动节点。
本发明的第二目的是针对现有的方案中通过引入绑定ID等移动IPv6协议中的概念从而带来的额外的信令开销和对于移动节点的修改,提出一种新的描述流绑定操作的方法,以尽量避免对修改代理移动IPv6协议的流程和信令的修改。
本发明的第三目的是提出一种流绑定操作的执行方法,以使得匹配路由规则的分组能够按照相应规则指定的接口进行收发,而不匹配任何路由规则的分组能够按照其目的地址进行正常的路由。
为实现上述第一目的,根据本发明的一个方面,提供了代理移动IPv6网络中的地址和路由配置的方法,包括:
本地移动根据移动节点的ID分配家乡网络前缀,同一个移动节点的不同接口获得相同的家乡网络前缀;
移动节点在接收到家乡网络前缀后,将它和接入接口的ID组合起来生成一个IPv6全局地址作为接入接口的全局地址,不同的接口会配置不同的地址,地址配置完成后,会通过邻居通过在局域网内广播地址信息;
移动接入网关在通过邻居通告接收到移动节点的接入接口的全局地址后,将该全局地址通过绑定更新通知本地移动锚点,并为自身增加两条路由,分别匹配该全局地址和该地址的家乡网络前缀部分,出接口为连接到移动节点接入接口的接口;
本地移动锚点在获得移动节点的接入接口的全局地址后,为自身增加一条路由,匹配该全局地址,出接口为连接到发送绑定更新的移动接入网关的隧道。
为实现上述第二目的,根据本发明的一个方面,提供了一种描述流绑定操作的路由规则,其特征包括:
路由规则包含流特征域和链路层ID域,分别用以匹配分组的流特征和指定流绑定的接口;
路由规则可以由移动节点或本地移动锚点制定,并采用C.Larsson等人的方案中使用的路由规则传输方案,把路由规则由移动节点或本地移动锚点通过移动接入网关的中转传输给另一方。
为实现上述第三目的,根据本发明的一个方面,提供了一种本地移动锚点和移动节点收发分组的方法,包括:
在移动节点向通信对端发送分组时,若该分组匹配某条路由规则的流特征,则以该路由规则所指定的绑定接口作为出接口进行发送,否则,则以根据分组目的地址查询路由表获取出接口的方式进行发送;
在本地移动锚点截获通信对端发往移动节点的分组时,若该分组匹配该移动节点的某条路由规则的流特征,则通过匹配到的路由规则指定的出接口所接入的移动接入网关将分组转发到移动节点,否则,则以根据分组目的地址查询路由表获取出接口的方式进行发送。
本发明各实例中,除了流绑定所必要的路由规则的传输,并没有对移动节点增加额外的信令开销。而流绑定功能与普通的分组转发也能够同时正常工作:匹配路由规则的分组,将通过路由规则所指定的绑定接口进行收发;不匹配任何路由规则的分组,将按照普通的路由模式,通过匹配其目的地址进行转发。
【附图说明】
图1为现有技术中移动节点请求主家乡网路前缀的信令流程图;
图2为现有技术中移动节点注册绑定ID的信令流程图;
图3为现有技术中路由规则传输的信令流程图;
图4为本发明实施实例的总体流程图;
图5为本发明实施实例的移动节点接入网络的流程图;
图6为本发明实施实例的移动节点发起的流绑定配置流程图;
图7为本发明实施实例的移动节点向通信对端发送分组的流程图;
图8为本发明实施实例的通信对端向移动节点发送分组的流程图。
【具体实施方式】
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
根据本发明实施例,提供了一种多连接移动节点在代理移动IPv6域中实现流绑定功能的方法,下面通过图4~图8对本发明中的配置和流绑定执行方法进行距离说明。
图4为多连接移动节点在代理移动IPv6接入、配置、执行流绑定的总体流程。如图4所示,整体流程分为三个部分:首先是移动节点接入网络,由移动接入网关发起注册过程,完成移动节点的地址配置以及移动节点、移动接入网关和本地移动锚点的隧道和路由配置。然后是由移动节点或本地接入锚点发起的流绑定配置,包括路由规则的制定和传输。最后,在接入和流绑定配置完成后,移动节点就可以进行数据传输,与通信对端互发分组,匹配路由规则的分组将通过指定接口收发,而普通的分组将按照正常的查询路由表的方式进行收发。
图5为根据本发明的实施实例的移动节点接入过程的配置流程图。如图5所示,本部分包括:
步骤S100:移动接入网关感知到移动节点的接入,向本地移动锚点发送代理绑定更新,其中携带移动节点的ID,移动节点的接入接口的链路层ID以及移动接入网关自身的代理转交地址,将它们的绑定关系向本地移动锚点进行注册;
步骤S101:本地移动锚点接收到代理绑定更新并进行处理,将其中的绑定关系记录到绑定缓存中,并根据移动节点的ID为其分配家乡网络前缀,建立到移动接入网关的代理转交地址的隧道,向移动接入网关发送代理绑定应答,在其中携带为移动节点分配的家乡网络前缀;
步骤S102:移动接入网关接收到代理绑定应答并进行处理,将移动节点的ID,移动节点的接入接口的链路层ID以及家乡网络前缀的绑定关系记录到绑定更新列表中,并建立到本地移动锚点的隧道,向移动节点发送路由通告,在其中携带为移动节点分配的家乡网络前缀;
步骤S103:移动节点接收到路由通告并进行处理,将其中携带的家乡网络前缀与接入接口的ID组合成IPv6全局地址,作为接入接口的全局地址并通过该接口发送邻居通告广播地址信息,并将移动接入网关作为网关;
步骤S104:移动接入网关接收到邻居通告并进行处理,记录其中携带的移动节点接入接口的全局地址,新增匹配全局地址的路由表项和匹配全局地址的前缀部分的路由表项,并指定所述两条新增路由表项的出接口为连接到移动节点的接入接口的接口,然后向本地移动锚点发送代理绑定更新,通告移动节点接入接口的全局地址;
步骤S105:本地移动锚点接收到代理绑定更新,记录其中携带的移动节点接入接口的全局地址,新增匹配全局地址的路由表项,出接口为连接到发送代理绑定更新的移动接入网关的隧道,然后发送代理绑定应答进行恢复。
图6为根据本发明的实施实例的移动节点向通信对端发送分组的流程图。如图6所示,本部分包括:
步骤S200:移动节点制定路由规则,包括确定规则的流特征以及获得绑定接口的链路层ID,并缓存该路由规则;
步骤S201:移动节点向移动接入网关发送路由规则更新,在其中携带制定的路由规则;
步骤S202:移动接入网关向本地移动锚点发送代理路由规则更新,其中包含从路由规则更新中获得的路由规则,和发送路由规则更新的移动节点的ID;
步骤S203:本地移动锚点处理代理路由规则,获得其中的移动节点ID和路由规则,将其记录在路由规则列表中;
步骤S204:本地移动锚点向移动接入网关发送代理路由规则应答,确认接受了路由规则;
步骤S205:移动接入网关向移动节点发送路由规则应答,确认本地移动锚点已接受了路由规则;
步骤S206:移动节点接收并处理路由规则应答,将得到确认的缓存中的路由规则记录进本地路由规则列表。
图7为根据本发明的实施实例的移动节点向通信对端发送分组的流程图。如图7所示,本部分包括:
步骤S300:移动节点准备好待发送的分组;
步骤S301:移动节点用本地路由规则列表中的路由规则匹配分组的流特征,如果有一条规则能够匹配,则跳转至步骤S302,否则,跳转至步骤S303;
步骤S302:移动节点使用匹配到的路由规则中的接口链路层ID所对应的接口作为出接口,跳转至步骤S304;
步骤S303:移动节点查询路由表选择出接口,跳转至步骤S304;
步骤S304:移动节点通过获得的出接口将分组发送至移动接入网关;
步骤S305:移动接入网关通过隧道将分组转发至本地移动锚点;
步骤S306:本地移动锚点解除隧道封装后向外按照正常的路由方式将分组转发到通信对端。
图8为根据本发明的实施实例的移动节点从通信对端接收分组的流程图。
如图8所示,本部分包括:
步骤S400:通信对端发送的分组按照被路由到本地移动锚点;
步骤S401:本地移动锚点根据分组的目的地址判断对应的移动节点,用该移动节点的路由规则进行匹配,如果有一条规则能够匹配,则跳转至步骤S402,否则,跳转至步骤S403;
步骤S402:本地移动锚点从匹配到的路由规则中获得绑定接口的链路层ID,再查询绑定缓存,获得该接口接入的移动接入网关,以连接该移动接入网关的隧道作为出接口,跳转至步骤S404;
步骤S403:本地移动锚点查询路由表获得与分组目的地址对应的隧道作为出接口,跳转至步骤S404;
步骤S404:本地移动锚点通过出接口隧道将分组转发到移动接入网关;
步骤S405:移动接入网关解除隧道封装后将分组转发到移动节点。
综上所述,本发明各实例提供了一种在代理移动IPv6中实现多连接移动节点的流绑定功能的方法。由于充分利用了代理移动IPv6协议的特性,除了必要的路由规则传输之外,本发明的方法不会带来额外的信令开销;并且,通过适当的地址和路由配置,正常的路由机制和路由规则所描述的流绑定操作可以同时正常工作。