一种发布/订阅式系统中移动接收者数据传输方法与流程

文档序号:12018714阅读:386来源:国知局
一种发布/订阅式系统中移动接收者数据传输方法与流程
本发明涉及一种数据传输方法,尤其涉及一种发布/订阅式系统中移动接收者数据传输方法。

背景技术:
随着信息技术的飞速发展,新的互联网应用层出不穷,致使传统IP技术面临众多挑战。特别是移动通信技术的飞速发展以及物联网和云计算等新兴数据应用的涌现,正在逐渐改变互联网用户获取服务资源的传统模式,使互联网逐步从互联互通的基本功能向支撑海量数据交互的需求发展,并对网络安全、高效移动等都提出新的挑战。近些年,研究者使用了很多方法和手段来完善和优化现有互联网,使其支持更大规模、更高效率的数据资源获取,如在互联网架构方面建设了越来越多的数据中心,在传输层面越来越广泛地使用P2P等优化数据传输的技术,但是这些“打补丁”的方式使得传统互联网体系结构越来越冗余,功能越来越复杂。为此,国内外学者开展了对未来网络架构重新设计的诸多研究,并将其提升到了国家战略高度,旨在从根本上考虑解决当前互联网支撑高效数据传输的问题。以信息为中心的未来网络体系(InformationCentricNetworking,ICN),通过以标识的内容取代主机的地址,实现基于内容名字寻址与路由的新型网络架构,得到了广泛的关注,其中“发布/订阅式系统”(Publish-SubscribeInternetTechnology,PURSUIT)是其中最为典型的代表方案。与传统方式相比,PURSUIT分离了内容发布者和内容请求者,并通过增加集中管理功能来保证该体系的安全性和可管理性。其网络架构如图1所示。其中,汇聚点(Rendezvous)功能实体负责维护内容的发布和请求,拓扑管理(Topologymanager)负责计算请求者和发布者之间的路由信息,并以布隆规则(Bloomfilter)方式构建逐跳的源路由信息。当发布者具有某些资源时,首先向Rendezvous进行注册(1),接收者希望订阅感兴趣的内容时,首先向Rendezvous发起请求(2),Rendezvous将匹配的发布者和该接收者信息告知Topologymanager(3),Topologymanager基于两者位置信息计算包含路由信息的布隆串,并发送给发布者(4),发布者基于该布隆串发送内容(5),中间路由器通过布隆串判断如何转发数据包(6,7)。在现有的PURSUIT中,当接收者发生移动时,需要重新向Rendezvous发送订阅消息,从而引起源路由的重新计算,以及向发布者的重新通告,带来额外的切换时延。为此,本专利 申请提出一种基于动态分支节点的分布式PURSUIT移动接收者数据传输方法,在PURSUIT中支持高效的移动性路由切换。

技术实现要素:
针对现有技术中存在的技术问题,本发明的目的在于提供一种发布/订阅式系统中移动接收者数据传输方法,本方法提出在切换过程中选择移动节点(MN,MobileNode)切换前后位置的最近分支节点,作为代理(Proxy),并同时向MN切换前后的路径转发数据包。为了保证协议的可扩展性,该Proxy的选择需要以分布式的方式动态决定,此外,还应保证切换的性能,尽量减少切换时延和数据包丢失。本发明的技术方案为:一种发布/订阅式系统中移动接收者数据传输方法,其步骤为:1)切换触发;当发布/订阅式系统中的移动接收者检测到新的接入路由器AR2时,该移动接收者将包含该AR2标识信息的切换触发消息发送给该移动接收者当前接入的路由器AR1;2)切换准备;该AR1接收到所述切换触发消息后,为该移动接收者选择一切换前后位置的最近分支节点作为代理,向该移动接收者切换前后的路径转发数据包;3)切换执行;该代理将该移动接收者的接入路由器切换到该AR2,切换成功后触发该AR2与AR1针对该移动接收者的数据转发进行更新,并将后续发往该移动接收者的数据包通过该AR2发送给该移动接收者。进一步的,所述为该移动接收者选择一切换前后位置的最近分支节点作为代理的方法为:21)该AR1首先向汇聚体系RS请求从该移动接收者所接收数据的发布者到该AR2的路径,该RS将返回对应的布隆串zFilter给该AR1;22)该AR1在从自己到该发布者的逆向路径上发送探测消息,该探测消息中包含该布隆串zFilter;23)当该逆向路径上的转发节点FN接收到该探测消息时,查看自己的路径标识是否包含在该布隆串zFilter中,如果是则判断自己是该AR1和AR2的最近分支节点并停止转发该探测消息,如果不是,则该转发节点FN继续向上游转发该探测消息。进一步的,所述触发该AR2与AR1针对该移动接收者的数据转发进行更新的方法为:31)该AR1将其已经收到但是还未传输给MN的数据包沿逆向路径转发到该代理,该代理停止将该移动接收者的数据包发送给该AR1;32)该代理检查该AR1发送过来的数据包的序列号,并将没有发送给该移动接收者的数 据包转发给该AR2;33)当MN接入AR2之后,AR2逆向发送通告消息,向代理通告切换成功。进一步的,确定所述逆向路径的方法为:在发往该移动接收者的数据包中添加一字段来存储逆向路径信息;所述数据包通过每一转发节点时,收集其链路的标识信息;最后当所述数据包到达目的地之后,保存了所有途中路由器的入口链路标识,即形成完整的逆向路径信息。进一步的,所述代理中设有一逻辑状态表,其包括:该移动接收者的标识ID,该发布者到该AR1的路径信息Path-O,该发布者到该AR2的路径信息Path-N以及一定时器TTL。进一步的,该代理判断切换是否成功的方法为:当该AR2检测到该移动接收者的接入时,一方面将缓存的该移动接收者的数据包转发给该移动接收者,另一方面在逆向路径上发送一个切换成功消息给该代理;该代理在TTL过期之前如果收到该切换成功消息,则认为该移动接收者已经完成了切换过程,从而不再继续作为该移动接收者的代理,通过该Path-N向AR2继续发送数据包;如果该TTL过期,且没有收到该切换成功通知消息时,则该代理判断切换未成功,删除该移动接收者的逻辑状态表。进一步的,所述向该移动接收者切换前后的路径转发数据包的方法为:该代理将发给该移动接收者的数据包复制一份,将一份按照该发布者到该AR1的路径发送给该AR1,将另一份按照该发布者到该AR2的路径转发到该AR2进行缓存。与现有技术相比,本发明的积极效果为:1)构造新的PURSUIT信令消息,在切换过程中动态选择Proxy,从而支持分布式的Proxy选择,不依赖于任何中心节点(如Rendezvous),保证移动路由方法的可扩展性。;2)提出基于动态Proxy的PURSUIT移动性管理流程,保证了接收者在移动过程中具有尽量小的中断时间和数据包丢失。附图说明图1为PURSUIT基本网络架构图;图2为本发明切换准备流程图;图3为本发明切换执行流程图;图4为通过反向路径找到Proxy的基本原理图。具体实施方式为了更好地阐述本专利的发明内容,本部分将按照切换的三个阶段(切换触发,切换准 备,切换执行)来进行介绍。1)切换触发当MN检测到新的接入路由器(AR,AccessRouter),即AR2时,将该AR2的信息告知当前的AR1(遵循IPv6中快速切换的触发机制),从而触发当前的AR1进行切换准备工作。2)切换准备当前的AR1接收到切换触发消息后,首先需要为MN选择Proxy,并通过Proxy来向MN切换前后的两条路径双播数据包避免切换过程中的数据包丢失。其流程如图2所示。(1)当前的接入路由器(Accessrouter)AR1首先向汇聚体系(RendezvousSystem,RS)(包括Rendezvous和Topologymanager)请求从发布者到接收者的新的接入路由器(e.g.,AR2)的路径,RS将给AR1返回对应的布隆串(在PURSUIT中称为zFilter)。AR1为移动接收者的当前接入路由器,即当前位置;AR2为移动接收者的目标接入路由器,即切换之后的新的位置。(2)随后,AR1在从自己到发布者的反向路径上发送Probe(探测)消息,以寻找此次切换的Proxy,在探测消息中包含从发布者到目标AR2的路径信息。当反向路径上的转发节点(FN,ForwardingNode)接收到该探测消息时,通过查看自己的路径标识是否包含在消息中的zFilter中以判断自己是不是AR1和AR2的分支节点,如果不是,FN继续向上游转发Probe消息,如果是,FN则认为自己是此次切换的分支节点,从而丢弃掉Probe消息。(3)随后,Proxy将发给MN的数据包复制一份,按照新的zFilter转发到MN的切换目标位置,即将要接入的新探测到的路由器2。收到数据包的AR2将缓存数据包等待MN成功切换。那么,Proxy需要维护表1所示的一个状态表。表1为Proxy的逻辑状态表IDPath-OPath-NLifetimeMN-IDzFilter1zFiler2TTL在这个逻辑表中,ID为MN的标识,Path-O包含旧的zFilter,Path-N包含新的zFilter。最后一个部分为一个定时器,当该TTL过期,但是Proxy没有收到新接入路由器AR发送的切换成功通知消息时,Proxy认为预测的切换并没有发生,从而将该状态表删除,并不再继续作为Proxy双播数据。3)切换执行链路层切换之后,MN接入到新的接入路由器AR2,从而触发新旧接入路由器进行状态更 新,其流程如图3所示。(1)当MN正式切换后,AR1将已经收到但是还未传输给MN的数据沿逆向路径转发到Proxy,从而使Proxy认为MN已经移动到新的位置,从而不再继续往旧的AR1发送数据包。(2)当Proxy接收到这些由AR1发送的数据包时,它将检查他们的序列号,并将没有发送给MN的数据包转发到新的位置(AR2)去。(3)当AR2检测到MN的接入时,一方面将缓存的数据包转发给MN,另一方面在反向路径上发送一个通告消息(Notification)以通知Proxy切换的完成。其中,通过当前数据传输路径的反向路径找到Proxy的基本原理如图4所示,具体方法为:在正常的数据包传输过程中,可以在数据包里面添加一个字段来存储逆向路径信息:数据包通过转发节点时候,收集数据包进入路由器的链路的标识。最后当数据包到达目的地之后,就保存了所有途中路由器的入口链路标识,即形成完整的逆向转发路径信息。如节点1向节点2转发数据包,转发路径为zFilter,从而匹配了IF1-2和IF2-2。在传输过程中,数据入口的标识被存储在zFilter-r中,节点1和节点2的计算方法分别为:zFilter-r=zFilter-rORLID1-1zFilter-r=zFilter-rORLID2-1(4)当Proxy在TTL过期之前接收到这个Notification消息时,认为MN已经完成了切换过程,从而不再继续作为Proxy,而是以通常的FN模式向AR2继续发送数据包。(由于Probe和Notification消息均需要通过逆向路径转发,这就需要在PURSUIT中支持数据包传输过程中逆向路径的记录,该技术已经有相关成熟提案,本专利不予赘述)如上所述,本发明扩展了PURSUIT的信令消息以支持移动性管理,出于协议实现的灵活性,本发明不限定该信令消息的格式,但信令消息包含的必选信息规范如下:1)路径请求消息为了获得从发布者到新的位置的路径信息,从而找到Proxy,当前的接入路由器需要向RS发送路径请求消息,在该消息中应包含发布者和目标AR(即AR2)的信息。2)Proxy的探测消息为了找到Proxy,当前的AR在反向路径上发送Proxy消息,在该消息中,MN的标识信息和新的路径信息(即从发布者到目标接入路由器的路径信息,MN移动到新的地点之后数据转发的路径)应该被包含。3)状态同步消息在这个消息中,MN的标识信息应该被包含,这样Proxy才能判断是哪个移动节点的切换过程。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1