一种并行网络拓扑发现方法技术

技术编号:16665543 阅读:82 留言:0更新日期:2017-11-30 13:20
本发明专利技术公开了一种并行网络拓扑发现方法,主要涉及网络拓扑发现领域。其中主要包括并行拓扑发现和动态轮转模式两部分;并行拓扑发现主要是由预处理模块和路由探测模块组成。在预处理模块和路由探测模块之间通过循环队列进行共享数据。预处理模块和路由探测模块是并行执行的。本发明专利技术通过改变共享全局停止集的方式来减少探测源间通信量,并在拓扑发现过程中加入随机验证算法和并行探测机制来提高拓扑发现完整度和探测效率。在不同的网络拓扑环境下的实验结果表明,改进的拓扑发现方法比Doubletree方法提高了探测效率和完整性,同时减少了探测源间共享全局停止集产生的通信量。因此,改进的拓扑发现方法在网络拓扑发现上有较高的性能。

【技术实现步骤摘要】
一种并行网络拓扑发现方法
本实专利技术涉及涉及的是一种网络拓扑发现领域,具体涉及一种并行网络拓扑发现方法。
技术介绍
随着网络拓扑规模的日益扩大和结构的日益复杂,给高效的网络管理带来了极大的挑战。网络管理员对网络进行高效管理的前提是掌握网络的拓扑结构。因此,如何在提高网络拓扑发现效率的同时保证完整性是高效的网络拓扑发现方法的主要关注点,同时这也关系到拓扑发现方法的可用性。因此亟需对网络拓扑发现方法进行研究。传统的Traceroute方法在进行网络拓扑发现时会产生大量的冗余探测,无法高效的获得网络拓扑结构。为了减少冗余探测,Doubletree方法通过设置两个停止集分别是本地停止集和全局停止集来减少网络拓扑发现过程中的探测点内冗余和探测点间冗余。虽然Doubletree方法减少了冗余探测,提高了探测效率,但是Doubletree方法也存在着一些不足之处:一是探测源将全局停止集发送给总控节点,总控节点汇总后再分发给各个探测源,探测源间通信量大;二是探测源在探测目的节点的每一跳路由时,必须等待发送探测数据包的反馈信息,然后才能进行下一跳路由的探测,降低了探测效率;三是由于网络负载均衡和路由器的多址问题使得某些路由器接口无法被发现,从而导致网络拓扑发现的完整性不足。乔宏等人提出一种基于Doubletree方法的改进拓扑发现方法,针对Doubletree方法在通信量上存在的不足之处进行优化,将Doubletree方法的全局停止集的一维存储式改为二维存储方式。并且为每个BloomFilter增加一个是否修改过的标志,这样探测源间每次交换数据时,只需要交换修改过的数据量。该方法在一定程度上降低了通信量,但是仍然需要总控节点机处理全局停止集,并没有减少总控节点机的通信负担。此外,该方法也并未解决Doubletree算法在网络拓扑探测中完整性不足的问题。杨旭提出了一种基于回转探测的渐进式拓扑探测策略,对Doubletree方法在通信量的不足之处进行了改进,具体做法是将探测源平均分成若干个分组,在分组之间进行交换全局停止集。虽然该方法减少了通信次数和总的通信量,不需要总控节点机归并全局停止集,然后将新的全局停止集再传输给所有的探测源。但该方法中每个探测源分组在同一时刻中只有一个探测节点机进行探测,另外每个探测源分组对前一个分组的依懒性太强,使得灵活性不强。
技术实现思路
本专利技术是一种并行网络拓扑发现方法,目的是减少探测源间通信量同时提高拓扑发现完整度和探测效率。一种并行网络拓扑发现方法包括并行拓扑发现和动态轮转模式,其中动态轮转模式是用来实施并行拓扑发现的;拓扑发现其中是通过如下步骤实现的:所述的并行拓扑发现由预处理模块和路由探测模块组成。在预处理模块和路由探测模块之间通过循环队列进行共享数据。预处理模块和路由探测模块是并行执行的。步骤一:在预处理模块从探测目的集中选取一个探测目的节点;步骤二:进行主机探测,计算出探测源节点机到探测目的节点的总跳数;步骤三:将目的节点、TTL值、探测标志以结构体的形式保存到循环队列中;并进入由初始探测模块、交换探测模块和任务调度模块组成的路由探测模块;步骤四:在初始探测模块中使用改进的折半查找算法定位出最小的未探测节点min;步骤五:通过任务调度模块使用多线程对未探测节点进行并行探测,探测的结果保存在临时停止集中;步骤六:将临时停止集中的路由器节点以目的节点,中间路由器节点形式拷贝到全局停止集中,将TTL值小于等于h/2的路由器节点以中间路由器节点保存到本地停止集,将TTL值大于等于h/2的路由器节点以中间路由器节点,TTL保存到本地停止集;步骤七:清空临时停止集,释放临时停止集所占的空间。步骤八:在交换探测模块中发送TTL等于h/2值的探测数据包,等待响应报文并从中获取路由器的接口mid,如果目的节点,路由器接口mid在全局停止集中,则说明第二部分和第三部分的路径已经被探测过,在第二部分和第三部分使用随机验证算法进行验证,转到步骤九;否则转到步骤十;步骤九:如果路由器接口mid在本地停止集中,则说明第一部分的路径已经被探测过,使用随机验证算法对第一部分进行验证,转到步骤十三;否则使用TTL以h/2递减的方式向后进行探测,转到步骤十三。步骤十:如果路由器接口mid在本地停止集中,则说明第一部分的路径已经被探测过,对第一部分使用随机验证算法进行验证,转到步骤四;否则在第一部分使用改进的折半查找算法找到最小的未探测节点min,转到步骤十一。步骤十一:探测源发送TTL为3h/4值的探测数据包,等待响应报文并从中获取路由器的接口mid2,如果目的节点,路由器接口mid2在全局停止集中,则说明第三部分的路径已经被探测过,则使用TTL以h/2递增的方式向前进行探测,之后在第三部分使用随机验证算法进行验证,转到步骤十三;否则转到步骤十二。步骤十二:如果路由器接口mid,TTL和路由器接口mid2,TTL同时都本地停止集中,则在第二部分使用随机验证算法进行验证,之后使用TTL以3h/4递增的方式向前进行探测,转到步骤十三;否则使用TTL以3h/4递增的方式向前进行探测,转到步骤十三。步骤十三:通过任务调度模块使用多线程对未探测节点进行并行探测,探测的结果保存在临时停止集中。然后将临时停止集中的路由器节点以目的节点,中间路由器节点形式拷贝到全局停止集中,将TTL值小于等于h/2的路由器节点以中间路由器节点形式保存到本地停止集,将TTL值大于等于h/2小于等于3h/4之间的路由器节点以中间路由器节点,TTL形式保存到本地停止集。最后清空临时停止集,释放临时停止集所占的空间。所述动态轮转模式实施方式流程如下所示:步骤一:初始探测时,总控节点机给所有的探测源节点机发送探测指令,并指定探测源Si节点机应该探测的目的集分组Di,所有探测源Si节点机并行的探测相应的目的集Di分组。当探测源节点机Si探测完成相应目的集Di分组中的所有目的节点后,探测源向总控节点机发送自己已经完成目的集Di分组的探测。总控节点机在保证每个探测源节点机探测到所有探测目的集分组的基础上根据探测源节点机的处理性能进行动态任务调度,总控节点机给探测源节点机发送指令指明探测源节点机Si应该把目的集Di分组的全局停止集Pi发送给探测源节点机Sj,同时指明探测源节点机应该接受目的集Dk分组的全局停止集Pk;步骤二:探测源Sj节点机接受目的集Di分组的全局停止集Pi,开始对目的集Di分组按照步骤1)相应的方式进行探测;步骤三:经过g-1次步骤2)的动态轮转调度之后,每个的探测源节点机完成了对所有探测目的集分组的探测。本专利技术的优点在于:本专利技术提出的并行网路拓扑发现方法,通过改变共享全局停止集的方式来减少探测源间通信量,并在拓扑发现过程中加入随机验证算法和并行探测机制来提高拓扑发现完整度和探测效率。在不同的网络拓扑环境下,对改进的拓扑发现方法和Doubletree方法进行了对比实验,实验结果表明,改进的拓扑发现方法比Doubletree方法提高了探测效率和完整性,同时减少了探测源间共享全局停止集产生的通信量。由此可见,相比较Doubletree方法,改进的拓扑发现方法在网络拓扑发现上有较高的性能。附图说明图1是并行拓扑发现框图;图2是初始探测模块图;本文档来自技高网
...
一种并行网络拓扑发现方法

【技术保护点】
一种并行网络拓扑发现方法包括并行拓扑发现和动态轮转模式,其中动态轮转模式是用来实施并行拓扑发现的;拓扑发现其中是通过如下步骤实现的:步骤一:在预处理模块从探测目的集中选取一个探测目的节点;步骤二:进行主机探测,计算出探测源节点机到探测目的节点的总跳数;步骤三:将目的节点、TTL值、探测标志以结构体的形式保存到循环队列中;并进入由初始探测模块、交换探测模块和任务调度模块组成的路由探测模块;步骤四:在初始探测模块中使用改进的折半查找算法定位出最小的未探测节点min;步骤五:通过任务调度模块使用多线程对未探测节点进行并行探测,探测的结果保存在临时停止集中;步骤六:将临时停止集中的路由器节点以目的节点,中间路由器节点形式拷贝到全局停止集中,将TTL值小于等于h/2的路由器节点以中间路由器节点保存到本地停止集,将TTL值大于等于h/2的路由器节点以中间路由器节点,TTL保存到本地停止集;步骤七:清空临时停止集,释放临时停止集所占的空间;步骤八:在交换探测模块中发送TTL等于h/2值的探测数据包,等待响应报文并从中获取路由器的接口mid,如果目的节点,路由器接口mid在全局停止集中,则说明第二部分和第三部分的路径已经被探测过,在第二部分和第三部分使用随机验证算法进行验证,转到步骤九;否则转到步骤十;步骤九:如果路由器接口mid在本地停止集中,则说明第一部分的路径已经被探测过,使用随机验证算法对第一部分进行验证,转到步骤十三;否则使用TTL以h/2递减的方式向后进行探测,转到步骤十三;步骤十:如果路由器接口mid在本地停止集中,则说明第一部分的路径已经被探测过,对第一部分使用随机验证算法进行验证,转到步骤四;否则在第一部分使用改进的折半查找算法找到最小的未探测节点min,转到步骤十一;步骤十一:探测源发送TTL为3h/4值的探测数据包,等待响应报文并从中获取路由器的接口mid2,如果目的节点,路由器接口mid2在全局停止集中,则说明第三部分的路径已经被探测过,则使用TTL以h/2递增的方式向前进行探测,之后在第三部分使用随机验证算法进行验证,转到步骤十三;否则转到步骤十二;步骤十二:如果路由器接口mid,TTL和路由器接口mid2,TTL同时都本地停止集中,则在第二部分使用随机验证算法进行验证,之后使用TTL以3h/4递增的方式向前进行探测,转到步骤十三;否则使用TTL以3h/4递增的方式向前进行探测,转到步骤十三;步骤十三:通过任务调度模块使用多线程对未探测节点进行并行探测,探测的结果保存在临时停止集中;然后将临时停止集中的路由器节点以目的节点,中间路由器节点形式拷贝到全局停止集中,将TTL值小于等于h/2的路由器节点以中间路由器节点形式保存到本地停止集,将TTL值大于等于h/2小于等于3h/4之间的路由器节点以中间路由器节点,TTL形式保存到本地停止集;最后清空临时停止集,释放临时停止集所占的空间。...

【技术特征摘要】
1.一种并行网络拓扑发现方法包括并行拓扑发现和动态轮转模式,其中动态轮转模式是用来实施并行拓扑发现的;拓扑发现其中是通过如下步骤实现的:步骤一:在预处理模块从探测目的集中选取一个探测目的节点;步骤二:进行主机探测,计算出探测源节点机到探测目的节点的总跳数;步骤三:将目的节点、TTL值、探测标志以结构体的形式保存到循环队列中;并进入由初始探测模块、交换探测模块和任务调度模块组成的路由探测模块;步骤四:在初始探测模块中使用改进的折半查找算法定位出最小的未探测节点min;步骤五:通过任务调度模块使用多线程对未探测节点进行并行探测,探测的结果保存在临时停止集中;步骤六:将临时停止集中的路由器节点以目的节点,中间路由器节点形式拷贝到全局停止集中,将TTL值小于等于h/2的路由器节点以中间路由器节点保存到本地停止集,将TTL值大于等于h/2的路由器节点以中间路由器节点,TTL保存到本地停止集;步骤七:清空临时停止集,释放临时停止集所占的空间;步骤八:在交换探测模块中发送TTL等于h/2值的探测数据包,等待响应报文并从中获取路由器的接口mid,如果目的节点,路由器接口mid在全局停止集中,则说明第二部分和第三部分的路径已经被探测过,在第二部分和第三部分使用随机验证算法进行验证,转到步骤九;否则转到步骤十;步骤九:如果路由器接口mid在本地停止集中,则说明第一部分的路径已经被探测过,使用随机验证算法对第一部分进行验证,转到步骤十三;否则使用TTL以h/2递减的方式向后进行探测,转到步骤十三;步骤十:如果路由器接口mid在本地停止集中,则说明第一部分的路径已经被探测过,对第一部分使用随机验证算法进行验证,转到步骤四;否则在第一部分使用改进的折半查找算法找到最小的未探测节点min,转到步骤十一;步骤十一:探测源发送TTL为3h/4值的探测数据包,等待响应报文并从中获取路由器的接口mid2,如果目的节点,路由器接口mid2在全局停止集中,则说明第三部分的路径已经被探测过,则使用TTL以h/2递增的方式向前进行探测,之后在第三部分使用随机验证算法进行验证...

【专利技术属性】
技术研发人员:玄世昌苘大鹏王巍朱新立靳小鹏郁晨张超张宁
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1