CN113381912B - 一种自适应高并发拓扑测量系统 - Google Patents

一种自适应高并发拓扑测量系统 Download PDF

Info

Publication number
CN113381912B
CN113381912B CN202110654790.5A CN202110654790A CN113381912B CN 113381912 B CN113381912 B CN 113381912B CN 202110654790 A CN202110654790 A CN 202110654790A CN 113381912 B CN113381912 B CN 113381912B
Authority
CN
China
Prior art keywords
detection
task
measurement information
module
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110654790.5A
Other languages
English (en)
Other versions
CN113381912A (zh
Inventor
张宇
余卓勋
邱勇泽
张宏莉
方滨兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN202110654790.5A priority Critical patent/CN113381912B/zh
Publication of CN113381912A publication Critical patent/CN113381912A/zh
Application granted granted Critical
Publication of CN113381912B publication Critical patent/CN113381912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/103Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种自适应高并发拓扑测量系统,涉及网络拓扑测量技术领域,用以解决现有网络拓扑测量系统测量时间长、效率低下或重复发包的冗余探测问题。本发明的技术要点包括:该测量系统包括任务生成模块、探测模块、发包引擎模块和任务结果处理模块;其中,探测模块用于集成探测方法生成IP目标测量信息,并根据IP目标测量信息生成一跳测量信息;所述探测方法包括为降低网络拓扑测量发包量的自适应方法和实现同时执行多个探测任务的轮询高并发方法;进一步地,提出存储结构粒度区分算法对系统中的任务测量信息、IP目标测量信息和一跳测量信息进行存储。本发明有效提升了测量速度,有效减少了目标探测的包数。本发明可应用于快速网络拓扑测量中。

Description

一种自适应高并发拓扑测量系统
技术领域
本发明涉及网络拓扑测量技术领域,具体涉及一种自适应高并发拓扑测量系统。
背景技术
随着互联网的迅速发展,互联网的规模越来越庞大,互联网的结构组成愈加复杂。这就给互联网的维护,升级等诸多工作造成了很大的挑战。但是,互联网的拓扑测量意义重大,是研究优化网络资源配置、网络协议设计、网络攻击检测与防范、网络地理定位等方向的基础。网络拓扑测量的基本方法是traceroute(路由追踪),traceroute是通过ICMP 协议来定位源主机到目标主机之间的所有路由器;TTL是反映路由器经过的路由器和网关的数量。通过操纵报文,就可以获得路径信息。
对网络拓扑研究根据粒度[1][2]分为接口级、路由器级、POP级以及AS级。事实上,无论何种粒度,首要工作是先获取其网络拓扑结构,而网络拓扑测量的核心思想大都基于traceroute。网络拓扑测量的方法有许多,根据测量方式分为主动测量和被动测量。根据测量时所使用的协议,分别有基于BGP协议、TCP/IP协议、以及基于SNMP协议的测量。
从Pansiot和Grad[3]于1998年发表的原始论文开始,出现许多基于traceroute的互联网拓扑测量的研究[4,5,6]。为了防止由于网络中负载平衡而导致错误的网络拓扑结构,Augustin等人[7]创建了Paris traceroute,它通过控制探测包包头内容,能够获得数据包在路由过程中真实的路径,一定程度上解决了网络拓扑中的假边问题。为了减少不必要的探测,Donnet等人[8]开发了Doubletree,核心思想是利用单点测量路径的树状结构,来指导何时停止探测,并在其中点附近开始探测每条路径。Luckie等人开发了Scamper[9],这是一种高效的数据包探测器。Scamper同时实现了Doubletree和Paris traceroute,具有开放API以及可配置的探测速率,并且可以远程控制。CAIDA的Ark平台使用Scamper进行持续的互联网范围的探测,为网络拓扑研究提供了很大的便利。Yarrp[10]是一种新的 traceroute技术,专为高速率的互联网规模的探测而设计。它采用无状态、异步探测技术,避免了探测流量链路过载。文献[11]中针对无线传感器网络,提出一种拓扑发现算法,能够利用邻居信息构造网络的近似拓扑。
在国内,各个科研机构和高校都做了许多相关的研究[12,13,14]。在高校方面,国内的西南交通大学、国防科学技术大学等单位在基于ICMP协议的IP拓扑探测方面的技术比较成熟。文献[15]中对中国IP拓扑进行测量,并对中国网络拓扑进行分析;文献[16]中实现了一个路由器级别的自动化拓扑发现系统,能够进行大规模的IP网络拓扑测量。针对子网拓扑发现,郑海等人[17]提出了一种新的算法,使用该算法开发的拓扑发现工具能准确地发现物理网络拓扑即子网内交换机到交换机、交换机到路由器、交换机到主机之间的连接关系。对于链路层拓扑发现,李琳等人[18]提出了一种新的链路层拓扑发现算法。该算法能够快速准确地计算出整个被管网络的二层和三层拓扑结构。清华大学杨安义等人[19]提出了一种改进的基于简单网络管理协议(SNMP)的网络拓扑发现算法,该算法以标准MIB-II信息为基础,依据TCP/IP协议编址原理,实现网络拓扑的快速发现,能够有效降低网络负载。[33]中对 AS级别的拓扑的数据进行分析,提出了一种AS级网络演变模型,能够很好的模拟真实的AS级别的拓扑结构特性。文献[20]提出一种新的图论度量子图覆盖模式,能够对不完整的测量数据导致的拓扑结构特性偏差进行刻画。文献[21]提出一个框架,能够对AS的演化过程进行建模分析,能够分析互联网历史演化特征。
目前对于互联网拓扑发现的研究和技术趋于成熟,对于拓扑测量的研究要么致力于如何提高测量效率,降低测量负载[8,19];要么关注如何发现尽可能全面的拓扑结构[7,22];要么针对网络拓扑中的假边现象,研究如何避免发现错误的网络拓扑结构[7]。总之,目前对于网络拓扑测量的研究是如何发现拓扑结构,构建完整真实的网络拓扑。
但是,目前对于有关高效末跳路由器探测的研究比较稀少,目标节点的末跳路由器信息作为一种新型的网络拓扑数据,可以在网络拓扑测量技术提供新的思路,同时对于IP地理定位具有很大的参考价值。子网发现不同于对IPv4地址空间进行大规模测量,子网发现将关注点聚焦于对目标网段的拓扑进行测量,以网段为单位的网络拓扑在结构上具有一些共性。例如,目标网段可能由多个子网构成,对网段内的子网进行探测,会导致对中间路由器接口的重复探测,一方面会产生大量冗余发包,增加网络的负担,另一方面也会增加探测的时间成本。因此,在保证拓扑探测完整性的前提下,如何减少子网发现技术中的冗余探测问题以提高探测速度尚待研究解决。
发明内容
鉴于以上问题,本发明提出一种自适应高并发拓扑测量系统,用以解决现有网络拓扑测量系统测量时间长、效率低下或重复发包的冗余探测问题。
一种自适应高并发拓扑测量系统,包括任务生成模块、探测模块、发包引擎模块、任务结果处理模块;其中,
任务生成模块用于过滤、生成并存储任务测量信息;
探测模块用于获取任务测量信息,集成探测方法生成IP目标测量信息,并根据IP目标测量信息生成一跳测量信息并封装,以及对任务结果处理模块返回的探测结果进行分析;
发包引擎模块用于获取一跳测量信息进行网络探测,将探测结果反馈给任务结果处理模块;
任务结果处理模块用于对探测结果进行解析,并将解析后的探测结果发送至探测模块。
进一步地,所述任务生成模块包括任务过滤子模块、任务生成子模块和任务存储子模块;所述任务过滤子模块用于接收用户测量请求,对探测目标进行分析处理,过滤得到合法可进行探测的任务;所述任务生成子模块用于生成任务测量信息;任务存储子模块用于存储任务测量信息。
进一步地,所述探测模块包括IP目标测量生成子模块、IP目标测量存储子模块、一跳测量生成子模块、探测分析子模块和通信接口子模块;所述IP目标测量生成子模块用于从任务存储子模块中获取任务测量信息,生成IP目标测量信息;所述IP目标测量存储子模块用于存储IP目标测量信息;所述一跳测量生成子模块用于根据IP目标测量信息生成一跳测量信息;所述通信接口子模块用于将一跳测量信息发送至发包引擎模块,并接收解析后的探测返回结果信息;所述探测分析子模块用于对解析后的探测返回结果信息进行分析。
进一步地,所述发包引擎模块包括任务接收子模块、探测数据包生成子模块、探测数据包发送子模块、探测结果处理子模块和探测返回结果信息发送子模块;所述任务接收子模块用于接收一跳测量信息和返回的探测结果;所述探测数据包生成子模块用于生成包含一跳测量信息的探测数据包;所述探测数据包发送子模块用于发送探测数据包至互联网中;所述探测结果处理子模块用于对返回的探测结果进行处理,生成探测返回结果信息;探测返回结果信息发送子模块用于将探测返回结果信息发送至任务结果处理模块。
进一步地,所述任务结果处理模块包括返回信息解析子模块和结果输出子模块;所述返回信息解析子模块用于对接收的探测返回结果信息进行解析并将解析后的探测返回结果信息发送至探测模块;所述结果输出子模块用于对结束的任务进行结果输出。
进一步地,所述探测模块中所述探测方法为降低网络拓扑测量发包量的自适应方法,所述自适应方法包括相似参考路径停止方法和相似路径超时结束方法;
所述相似参考路径停止方法为:对于探测目标的测量依赖于参考路径,从相似参考路径的最后一跳开始,向前探测直到探测结束,然后从倒数第二跳开始,向后进行探测直到和相似参考路径在同一跳出现相同的接口时停止探测;
所述相似路径超时结束方法为:根据参考路径的最后一跳是否是无应答结束来决定本次探测到该跳时,发生无应答是否结束。
进一步地,所述探测模块中所述探测方法为实现同时执行多个探测任务的轮询高并发方法,所述轮询高并发方法进行探测的流程包括:设置四个队列,包括一个任务队列和三个状态队列,所述状态队列包括探测等待队列、等待结果队列和探测完成队列;
S1判断四个队列是否都为空,如果不全为空则跳转至S2;如果全为空则直接结束;
S2接收一个数据包,所述数据包直接表示探测结果;判断数据包是否为空,如果不为空则对数据包进行包处理;如果为空则任务队列和探测完成队列输出任务,其中,任务队列输出已完成任务测量信息,探测完成队列输出所有的IP目标测量信息;
S3根据并发度判断是否可以发送数据包,如果是则判断探测等待队列是否为空,否则跳转至S1;
S4如果探测等待队列为空,则确定任务队列是否有能生成IP目标测量信息的任务测量信息;否则从探测等待队列中取出IP目标测量信息;
S5如果任务队列中有能生成IP目标测量信息的任务,则从任务队列中取出该任务测量信息并生成IP目标测量信息;否则跳转至S1;
S6发送包含IP目标测量信息的数据包。
进一步地,利用存储结构粒度区分算法对所述系统中的任务测量信息、IP目标测量信息和一跳测量信息进行数据存储,所述存储结构粒度区分算法为:在任务数据存储结构中加入job_id字段,即不同的任务测量信息对应于不同的job_id;采用双向存储方式,首先在任务数据存储结构中设置IP目标测量信息列表,用来记录该任务测量信息产生IP目标测量信息的过程;其次在IP目标测量信息数据结构中设置job_id,在IP目标测量信息返回时,即可根据IP目标测量信息中的job_id,判断该IP目标测量信息是由哪一个任务测量信息产生的;IP目标测量信息之间根据一个全局确认号进行区分,不同的IP目标测量信息拥有不同的全局确认号,在生成IP目标测量信息时赋值其全局确认号;当由IP目标测量信息生成一跳测量信息时,会将该IP目标测量信息的全局确认号赋值为一跳测量信息的全局确认号。
进一步地,所述系统还包括日志模块,所述日志模块用于记录在系统执行过程中的报错信息和提示信息。
本发明的有益技术效果是:
本发明提出一种自适应高并发拓扑测量系统,该系统通过架构设计,实现了支持多种探测类型的可定制性,更少数据包完成测量的自适应性和更快测量速度的高并发性。同时,本系统支持高并发traceroute,即应用轮询高并发探测方法,对于多个目标同时进行traceroute,有效提升了测量速度;支持自适应性traceroute,即应用相似参考路径停止和相似路径超时结束两种自适应方法,在对于一个目标的探测过程中动态调整探测执行,有效减少了对于目标探测的数据包数;从而构成了高并发fastrace即基于fastrace算法开发出高并发执行版本,旨在用更少的数据包,发送更少的数据包来进行子网发现。本系统利用更少的探针以使测量速度更快、效率更高,降低系统耦合性的同时,提高了系统探测方法定制的便携性,最终实现了利用本发明一种自适应高并发网络拓扑探测系统进行快速有效地探测的目的。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。
图1是本发明一种自适应高并发拓扑测量系统的系统分层体系框架图;
图2是本发明一种自适应高并发拓扑测量系统中探测方法中的相似路径停止算法应用于子网发现技术的示例图;
图3是本发明一种自适应高并发拓扑测量系统中探测方法中的相似路径超时结束算法应用于子网发现技术的示例图;
图4是本发明一种自适应高并发拓扑测量系统中探测方法中的轮询高并发任务探测执行流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,在下文中将结合附图对本发明的示范性实施方式或实施例进行描述。显然,所描述的实施方式或实施例仅仅是本发明一部分的实施方式或实施例,而不是全部的。基于本发明中的实施方式或实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式或实施例,都应当属于本发明保护的范围。
本发明一种自适应高并发拓扑测量系统是基于traceroute的基本原理,对traceroute 进行改进,开发出高并发traceroute,即对于多个目标同时进行traceroute,有效提升测量速度;自适应性traceroute,即对于一个目标的探测过程中,动态调整探测执行,有效减少对于目标探测的包数;高并发fastrace,即基于fastrace算法开发出高并发执行版本,旨在用更少的数据包,发送更少的数据包来进行子网发现。本系统旨在研究更少的数据包达到更快的测量效果的目的。
一种自适应高并发拓扑测量系统,由任务生成模块、探测模块、任务结果处理模块、发包引擎模块和日志模块组成。其中,任务生成模块包含任务过滤子模块,job(任务)生成子模块和任务存储子模块,主要功能是过滤并生成任务,并将任务存储到任务存储子模块中;探测模块包括trace(IP目标测量)生成子模块、trace存储子模块、hop_info(一跳测量)生成子模块、探测分析子模块和与发包引擎通讯的接口(通信接口子模块),主要功能是集成探测逻辑,生成trace和hop_info信息,并将hop_info信息封装,等待发包引擎模块调用获取hop_info;任务结果处理模块包括返回信息解析子模块和结果输出子模块,主要功能是对任务返回结果进行解析,并将探测结果送至探测模块;发包引擎模块包括任务接收子模块、探测数据包生成子模块、探测数据包发送子模块、return_info(探测返回结果信息)发送子模块和探测结果处理子模块,主要功能是获取hop_info信息,进行网络探测,分析探测结果并将结果反馈给任务结果处理模块;日志模块主要功能是记录在系统执行过程中的报错信息和提示信息。
不同模块之间相互配合,完成网络拓扑测量功能。整个系统的执行流程如下:1)任务生成模块在收到用户测量请求,并且输入探测目标之后,对目标进行分析处理,过滤得到合法可进行探测的任务;2)在任务生成模块中,通过job生成子模块生成job(job就是一个任务);3)将任务存储到任务存储子模块中;4)在探测模块中,trace生成子模块会从任务存储子模块中获取到job,生成trace,并将生成的trace存储到存储子模块中;5) 从存储子模块中取出trace,并根据trace生成hop_info;6)通过接口将hop_info交给发包引擎模块;7)发包引擎模块在收到任务后,任务接收子模块接收到任务;8)探测数据包生成子模块完成探测数据包生成;9)探测数据包发送子模块完成探测数据包发送,将探测数据包发送到互联网中完成任务的探测;10)任务接收子模块收到任务返回结果;11) 探测结果处理子模块完成探测结果的结果处理,生成return_info信息;12)将return_info 返回信息返回到任务结果处理模块;13)返回信息解析子模块收到信息后,对该信息进行解析,得到python对象,并将结果反馈到探测模块中的探测分析子模块,对探测结果进行分析;14)结果输出子模块从存储子模块中取出结束的任务进行结果输出。
在整个系统中,如下表1所示,存在三种粒度的测量信息存储结构。
表1
Figure BDA0003112210160000061
对于一个任务而言,首先生成job,用来存储这个任务的测量配置信息;在探测过程中,生成trace作为一个目标IP的探测信息存储;再根据trace生成hop,作为一个目标IP中的一跳的探测信息存储。由此方式可以做到系统设计分层抽象,提高系统的可扩展性。探测逻辑完全在第二层trace层实现,当向系统中增加探测方法时,即需要更改探测逻辑时,仅需要更改trace层,而job层和hop层不需要改动,只需要传给trace层所需要的探测参数即可。
如图1所示,从实现系统可扩展性的角度来说,本系统可分为以下四层,从上至下分别为:job层、trace层、hop层和发包层。job层处理用户输入,并采用适当的存储方式对处理完成的用户数据进行存储,存储的内容为封装的job对象,最终将探测目标、探测类型和探测方法输出给trace层;trace层是将从来自job层的探测目标、探测类型和探测方法作为输入,配置为trace对象,并将其存储下来,输出hop所需配置信息。这一层集成探测逻辑,集成不同的探测方法,每种探测方法对应一个函数,彼此独立互不影响。在能共用的接口,比如socket,将其独立出来以便于接口复用;hop层是根据从trace层获得的hop配置信息,生成hop,并根据hop生成用于发包层接收的探测包;发包层输入为负载hop_info的探测包,输出为探测结果。以上四层,每一层的接口之间相互独立,在需要扩展系统功能时,只需要修改trace层中的探测逻辑部分,新增函数或者修改函数,并且在job层将新的用户可输入说明进行展示。
具体实施例一
系统分层架构设计提高了系统的可扩展性,在不同层次之间设计不同的存储包结构,但是如何区分不同层次包结构或者说如何找到不同包结构之间的关联,就成为一个问题。为了解决上面的问题,本发明提出了存储结构粒度区分算法。
存储结构粒度区分算法巧妙设计了三种不同粒度的数据存储结构。表2示意了不同粒度存储结构。为了区分不同的Job,在job数据结构中加入job_id字段,保证唯一性,即不同的job对应于不同的job_id。为了根据job找到这一次job生成的trace,采用了双向存储的方式,首先在job中存在traces列表,用来记录该job产生traces过程;其次,在Trace中设置job_id,在trace返回时,即可根据trace中的id,判断该trace是哪一个job所产生的。Trace之间为了区分彼此,则根据seq进行区分。seq是一个全局确认号,全局唯一且不同的trace拥有不同的seq。在生成trace时,将seq赋值。当trace生成 hop时,会将该trace的seq赋值为hop的seq。由此,Hop区分彼此的方式就是seq。在发包火车探测方法中,通过hop找到其对应trace是通过hopSeq-traceSeq来获得的,如果该值属于[1,30]这个集合,则说明该hop属于该trace,否则不属于,还需要继续进行迭代寻找。
表2
Figure BDA0003112210160000081
如下表3所示,每一行表示通过该数据结构找列的数据结构,当两列数据结构相同时,则表示如何区分数据结构内部关系。
表3
数据结构 Job Trace Hop
Job job_id(job) 列表traces *
Trace job_id(trace) seq(trace) hops记录hop得到的结果
Hop * seq(hop) seq(hop)
具体实施例二
trace层中集成不同的探测方法,每种探测方法对应一个函数,彼此独立互不影响。下面介绍不同的探测方法。在详细介绍下面方法之前,首先介绍几个基本概念:
·job:一个任务封装为一个job,并存入JOB_QUEUE,例如目标8.8.8.8/24作为一个 job;
·trace:一跳的测量称之为trace,在测量过程中存入PROBER_QUEUE、DONE_QUEUE和 WAIT_QUEUE,例如目标8.8.8.8作为一个trace;
·hop_info:对于一个目标的traceroute中,其中的一跳为一个hop_info,例如目标为8.8.8.8,TTL=5为一个hop_info;
·return_info:探测返回结果信息;
·type:返回结果的类型;
·TTL:探测的TTL;
·from:接口的IP地址;
系统的存储结构展示如下表4所示,其中,JOB_QUEUE用于存储job,PROBER_QUEUE、WAIT_QUEUE和DONE_QUEUE用于存储trace,表示当前trace所处的状态,分别是探测等待探测状态、等待任务结果返回状态和完成状态。
表4
Figure BDA0003112210160000091
1.自适应方法之相似参考路径停止方法,以降低网络拓扑测量发包量;
相似参考路径停止是指在从相似参考路径的最后一跳h开始,向前探测直到探测结束,然后从h-1跳开始,向后进行探测,直到和相似参考路径在同一跳出现相同的接口时停止探测。以此方式可以有效减少探测冗余。
如图2所示,相似参考路径停止算法原理为:输入探测目标D和参考路径L,对于目标 D的测量依赖于参考路径L,从参考路径的最后一跳h开始,首先进行正向traceroute测量,判断返回结果是否可以进行反向的traceroute测量,如果不可以则测量结束;如果可以则进行反向traceroute测量,在测量过程中,如果出现了和L相同的接口,探测结束;如果未出现相同的接口,则继续进行反向traceroute,直到结束。相似参考路径停止算法即近邻路径倒退算法伪代码如下所示。
Figure BDA0003112210160000101
2.自适应方法之相似路径超时结束方法,以降低网络拓扑测量发包量;
相似路径超时结束是指根据参考路径的最后一跳是否是无应答结束来决定本次探测到该跳时,发生无应答是否结束。此方法可以有效根据参考路径的结束类型,提前终止探测,从而减少冗余探测包。如图3所示,是选取测量点s,首先对目标d进行traceroute探测,当探测到d时,如果超时记为状态a,否则记为状态b。再选择测量点s,对目标5进行traceroute测量,当逐渐ttl进行测量,测量到d时,由于参考路径P的最后一跳出现应答无响应,测量结束。
相似路径超时结束就是运用子网路径相似性质,在进行前向traceroute的时候,依据参考路径,当参考路径是超时结束时,在相同的跳时,该探测也结束。相似路径超时结束算法即近邻无应答结束算法伪代码如下所示。
Figure BDA0003112210160000111
3.应用轮询高并发探测方法,以实现同时执行多个探测任务;
轮询高并发探测方法是指任务轮流询问是否可以执行,当满足执行条件时,任务会执行,达到在一个时间段内同时执行多个任务的目的。图4展示的是轮询高并发任务探测执行流程示意图,设置四个队列,如上所述,分别为JOB_QUEUE、DONE_QUEUE、PROBER_QUEUE和WAIT_QUEUE,其中,JOB_QUEUE为任务队列,其余三个队列为状态队列,加入这三个队列表示的是任务不同的三个状态。trace就是在这三个队列中进行轮转,得到不同的任务状态。具体流程如下:
(1)开始;
(2)判断四个队列是否都为空,如果是则转(13),否则转(3);
(3)接收一个包,这个数据包直接表示探测结果;
(4)判断数据包是否为空,如果是空则转(6),否则转(5);
(5)进行包处理;
(6)JOB和DONE队列输出任务,对于JOB输出已完成job,对于DONE,则输出所有的trace;
(7)根据并发度判断是否可以发送数据包,如果是则转(8),否则转(2);
(8)判断PROBER_QUEUE是否为空,如果是则转(9),否则转(11);
(9)JOB_QUEUE是否有能生成trace的job,如果有则转(10),否则转(2);
(10)从JOB队列中取出job,生成trace;
(11)从PROBER_QUEUE中取出trace;
(12)发送任务包;
(13)结束。
综上所述,本发明系统中应用自适应方法:相似参考路径停止和相似路径超时结束两种方法,以降低网络拓扑测量发包量;同时应用轮询高并发探测方法,以实现同时执行多个探测任务;最后实现可定制探测方法的框架,降低系统耦合性的同时,提高系统探测方法定制的便携性,最终实现了自适应高并发网络拓扑探测系统。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
本发明所援引的文献如下:
[1]Roughan M,Willinger W,Maennel O,et al.10lessons from 10years ofmeasuring and modeling the internet's autonomous systems[J].2011.
[2]Zhang Y,Zhang H L,Fang B X.A survey on Internet topology modeling[J].Journal of Software,2004,15(8):1220-1226.
[3]Pansiot J J,Grad D.On routes and multicast trees in the Internet[J].ACM SIGCOMM Computer Communication Review,1998,28(1):41-50.
[4Donnet B,Friedman T.Internet topology discovery:a survey[J].IEEECommunications Surveys and Tutorials,2007,9(4):2-15.
[5]Georgatos F,Gruber F,Karrenberg D,et al.Providing activemeasurements as a regular service for ISPs[C]//PAM.2001.
[6]Donnet B,Friedman T,Crovella M.Improved algorithms for networktopology discovery[C]//International Workshop on Passive and Active NetworkMeasurement.Springer, Berlin,Heidelberg,2005:149-162.
[7]Augustin B,Cuvellier X,Orgogozo B,et al.Avoiding tracerouteanomalies with Paris traceroute[C]//Proceedings of the 6th ACM SIGCOMMconference on Internet measurement.ACM, 2006:153-158.
[8]Donnet B,Raoult P,Friedman T,et al.Efficient algorithms for large-scale topology discovery[C]//ACM SIGMETRICS Performance EvaluationReview.ACM,2005,33(1):327-338.
[9]Luckie M.Scamper:a scalable and extensible packet prober foractive measurement of the internet[C]//Proceedings of the 10th ACM SIGCOMMconference on Internet measurement.ACM, 2010:239-245.
[10]Beverly R.Yarrp'ing the Internet:Randomized High-Speed ActiveTopology Discovery[C]//Proceedings of the 2016Internet MeasurementConference.ACM,2016:413-420.
[11]Deb B,Bhatnagar S,Nath B.A topology discovery algorithm forsensor networks with applications to network management[J].2002.
[12]张宏莉,方滨兴,胡铭曾,等.Internet测量与分析综述[D].,2003.
[13]张宏莉,方滨兴,何慧,等.大规模网络拓扑测量中的关键技术[D].,2004.
[14]张宇,张宏莉,方滨兴.Internet拓扑建模综述[D].,2004.
[15]张宇,方滨兴,张宏莉.中国IP级网络拓扑测量与分析[J].通信学报,2007,28(12): 96-101.
[16]姜誉,胡铭曾,方滨兴,等.一个Internet路由器级拓扑自动发现系统[J].通信学报, 2002,12.
[17]郑海,张国清.物理网络拓扑发现算法的研究[J].计算机研究与发展,2002,39(3): 264-268.
[18]李琳,李杰.基于SNMP的网络拓扑发现算法[J].计算机工程与设计,2008,29(6): 1345-1347.
[19]杨安义,朱华清,王继龙.一种改进的基于SNMP的网络拓扑发现算法及实现[J]. 2007.
[20]郭虹,杨白薇,兰巨龙,等.AS级Internet拓扑层次性分析与建模[J].通信学报,2011, 32(9):182-190.
[21]Zhang Y,Fang B,Zhang H.Subgraph coverage pattern in IP-leveltopology characterization[J]. ICIC Express Lett,2008,2(01):29-34.
[22]Chang H,Jamin S,Willinger W.To peer or not to peer:Modeling theevolution of the Internet's AS-level topology[C]//Proceedings IEEE INFOCOM2006.25TH IEEE International Conference on Computer Communications.IEEE,2006:1-12。

Claims (9)

1.一种自适应高并发拓扑测量系统,其特征在于,包括任务生成模块、探测模块、发包引擎模块、任务结果处理模块;其中,
任务生成模块用于过滤、生成并存储任务测量信息;
探测模块用于获取任务测量信息,并根据任务测量信息生成IP目标测量信息;根据IP目标测量信息生成一跳测量信息并封装,以及对任务结果处理模块返回的探测结果进行分析;所述探测模块集成不同的探测方法,每种探测方法对应一个函数,彼此独立互不影响;
发包引擎模块用于获取一跳测量信息进行网络探测,将探测结果反馈给任务结果处理模块;
任务结果处理模块用于对探测结果进行解析,并将解析后的探测结果发送至探测模块。
2.根据权利要求1所述的一种自适应高并发拓扑测量系统,其特征在于,所述任务生成模块包括任务过滤子模块、任务生成子模块和任务存储子模块;所述任务过滤子模块用于接收用户测量请求,对探测目标进行分析处理,过滤得到合法可进行探测的任务;所述任务生成子模块用于生成任务测量信息;任务存储子模块用于存储任务测量信息。
3.根据权利要求2所述的一种自适应高并发拓扑测量系统,其特征在于,所述探测模块包括IP目标测量生成子模块、IP目标测量存储子模块、一跳测量生成子模块、探测分析子模块和通信接口子模块;所述IP目标测量生成子模块用于从任务存储子模块中获取任务测量信息,生成IP目标测量信息;所述IP目标测量存储子模块用于存储IP目标测量信息;所述一跳测量生成子模块用于根据IP目标测量信息生成一跳测量信息;所述通信接口子模块用于将一跳测量信息发送至发包引擎模块,并接收解析后的探测返回结果信息;所述探测分析子模块用于对解析后的探测返回结果信息进行分析。
4.根据权利要求3所述的一种自适应高并发拓扑测量系统,其特征在于,所述发包引擎模块包括任务接收子模块、探测数据包生成子模块、探测数据包发送子模块、探测结果处理子模块和探测返回结果信息发送子模块;所述任务接收子模块用于接收一跳测量信息和返回的探测结果;所述探测数据包生成子模块用于生成包含一跳测量信息的探测数据包;所述探测数据包发送子模块用于发送探测数据包至互联网中;所述探测结果处理子模块用于对返回的探测结果进行处理,生成探测返回结果信息;探测返回结果信息发送子模块用于将探测返回结果信息发送至任务结果处理模块。
5.根据权利要求4所述的一种自适应高并发拓扑测量系统,其特征在于,所述任务结果处理模块包括返回信息解析子模块和结果输出子模块;所述返回信息解析子模块用于对接收的探测返回结果信息进行解析并将解析后的探测返回结果信息发送至探测模块;所述结果输出子模块用于对结束的任务进行结果输出。
6.根据权利要求5所述的一种自适应高并发拓扑测量系统,其特征在于,所述探测模块中所述探测方法为降低网络拓扑测量发包量的自适应方法,所述自适应方法包括相似参考路径停止方法和相似路径超时结束方法;
所述相似参考路径停止方法为:对于探测目标的测量依赖于参考路径,从相似参考路径的最后一跳开始,向前探测直到探测结束,然后从倒数第二跳开始,向后进行探测直到和相似参考路径在同一跳出现相同的接口时停止探测;
所述相似路径超时结束方法为:根据参考路径的最后一跳是否是无应答结束来决定本次探测到该跳时,发生无应答是否结束。
7.根据权利要求5所述的一种自适应高并发拓扑测量系统,其特征在于,所述探测模块中所述探测方法为实现同时执行多个探测任务的轮询高并发方法,所述轮询高并发方法进行探测的流程包括:设置四个队列,包括一个任务队列和三个状态队列,所述状态队列包括探测等待队列、等待结果队列和探测完成队列;
S1判断四个队列是否都为空,如果不全为空则跳转至S2;如果全为空则直接结束;
S2接收一个数据包,所述数据包直接表示探测结果;判断数据包是否为空,如果不为空则对数据包进行包处理;如果为空则任务队列和探测完成队列输出任务,其中,任务队列输出已完成任务测量信息,探测完成队列输出所有的IP目标测量信息;
S3根据并发度判断是否可以发送数据包,如果是则判断探测等待队列是否为空,否则跳转至S1;
S4如果探测等待队列为空,则确定任务队列是否有能生成IP目标测量信息的任务测量信息;否则从探测等待队列中取出IP目标测量信息;
S5如果任务队列中有能生成IP目标测量信息的任务,则从任务队列中取出该任务测量信息并生成IP目标测量信息;否则跳转至S1;
S6 发送包含IP目标测量信息的数据包。
8.根据权利要求5所述的一种自适应高并发拓扑测量系统,其特征在于,利用存储结构粒度区分算法对系统中的任务测量信息、IP目标测量信息和一跳测量信息进行数据存储,所述存储结构粒度区分算法为:在任务数据存储结构中加入job_id字段,即不同的任务测量信息对应于不同的job_id;采用双向存储方式,首先在任务数据存储结构中设置IP目标测量信息列表,用来记录该任务测量信息产生IP目标测量信息的过程;其次在IP目标测量信息数据结构中设置job_id,在IP目标测量信息返回时即可根据IP目标测量信息中的job_id,判断该IP目标测量信息是由哪一个任务测量信息产生的;IP目标测量信息之间根据一个全局确认号进行区分,不同的IP目标测量信息拥有不同的全局确认号,在生成IP目标测量信息时赋值其全局确认号;当由IP目标测量信息生成一跳测量信息时,会将该IP目标测量信息的全局确认号赋值为一跳测量信息的全局确认号。
9.根据权利要求1所述的一种自适应高并发拓扑测量系统,其特征在于,还包括日志模块,所述日志模块用于记录在系统执行过程中的报错信息和提示信息。
CN202110654790.5A 2021-06-11 2021-06-11 一种自适应高并发拓扑测量系统 Active CN113381912B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110654790.5A CN113381912B (zh) 2021-06-11 2021-06-11 一种自适应高并发拓扑测量系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110654790.5A CN113381912B (zh) 2021-06-11 2021-06-11 一种自适应高并发拓扑测量系统

Publications (2)

Publication Number Publication Date
CN113381912A CN113381912A (zh) 2021-09-10
CN113381912B true CN113381912B (zh) 2022-06-10

Family

ID=77574056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110654790.5A Active CN113381912B (zh) 2021-06-11 2021-06-11 一种自适应高并发拓扑测量系统

Country Status (1)

Country Link
CN (1) CN113381912B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478802A (zh) * 2009-01-21 2009-07-08 东北大学 一种基于蜂群算法的自组织QoS路由方法
CN101535953A (zh) * 2006-10-31 2009-09-16 惠普开发有限公司 中间件架构
CN104506591A (zh) * 2014-12-11 2015-04-08 罗向阳 一种基于最近共同路由器的目标ip地理位置定位方法
WO2016061931A1 (zh) * 2014-10-22 2016-04-28 中兴通讯股份有限公司 用户设备进行组播路径追踪的方法及系统
CN110336716A (zh) * 2019-07-15 2019-10-15 哈尔滨工业大学 一种高效的目标主机末跳路由器探测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7633942B2 (en) * 2001-10-15 2009-12-15 Avaya Inc. Network traffic generation and monitoring systems and methods for their use in testing frameworks for determining suitability of a network for target applications
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101535953A (zh) * 2006-10-31 2009-09-16 惠普开发有限公司 中间件架构
CN101478802A (zh) * 2009-01-21 2009-07-08 东北大学 一种基于蜂群算法的自组织QoS路由方法
WO2016061931A1 (zh) * 2014-10-22 2016-04-28 中兴通讯股份有限公司 用户设备进行组播路径追踪的方法及系统
CN105591943A (zh) * 2014-10-22 2016-05-18 中兴通讯股份有限公司 用户设备进行组播路径追踪的方法及系统
CN104506591A (zh) * 2014-12-11 2015-04-08 罗向阳 一种基于最近共同路由器的目标ip地理位置定位方法
CN110336716A (zh) * 2019-07-15 2019-10-15 哈尔滨工业大学 一种高效的目标主机末跳路由器探测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"End-to-End Measurement of Hop-by-Hop Available Bandwidth";Kazumasa Koitani,et al.,;《2014 IEEE 28th International Conference on Advanced Information Networking and Applications》;20140619;全文 *
"Tiresias: Low-Overhead Sample Based Scheduling with Task Hopping";Chunliang Hao,et al.,;《2016 IEEE International Conference on Cluster Computing (CLUSTER)》;20161208;全文 *

Also Published As

Publication number Publication date
CN113381912A (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
US10505804B2 (en) System and method of discovering paths in a network
CN102281200B (zh) 选取当前备份路由的方法和路由器
US11075814B2 (en) Sub-topology discovery for operating hybrid solutions
Rabbat et al. Multiple-source Internet tomography
CN101945018B (zh) 节点探测方法、装置和网络中心节点
CN1859239A (zh) 互联网的域间路由监测与分析系统及其工作方法
KR20100019420A (ko) 에지 라우팅을 갖는 피어-투-피어 협업 시스템
CN104717081A (zh) 一种网关功能的实现方法及装置
US20120110146A1 (en) Method and system for realizing network topology discovery
JP7430224B2 (ja) パケット処理方法およびゲートウェイ・デバイス
Augustin et al. Multipath tracing with Paris traceroute
CN108924011A (zh) 用于ospf+路由协议的监测系统、相关设备、方法及介质
CN113381912B (zh) 一种自适应高并发拓扑测量系统
CN107454132B (zh) 支持多租户的网络传输的方法和设备
WO2016164061A1 (en) Big data transfer
CN102075364B (zh) 一种直连链路的确定方法和设备
Botta et al. Discovering topologies at router level: Part II
US20160269246A1 (en) Method and apparatus for managing computer system
JP4589939B2 (ja) 接続情報管理方法及び装置及びプログラム
CN105634839A (zh) 一种用于获得网络可达地址空间的方法和装置
Peng et al. Analysis and research of network topology discovery method
WO2024103783A1 (zh) 动态主机配置协议测试方法、电子设备、计算机存储介质
Shamim et al. Evaluating a QoS aware path selection service using the GENI network
Richa et al. Overlay networks for peer-to-peer networks
CN111432046A (zh) 一种网络重复地址检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant