网络拓扑的构建方法及装置的制造方法

文档序号:10698537阅读:292来源:国知局
网络拓扑的构建方法及装置的制造方法
【专利摘要】本发明实施例提供一种网络拓扑的构建方法及装置,涉及互联网技术领域,其中,网络拓扑的构建方法包括:分别向多个源设备发送针对目标设备的路由信息获取请求;分别接收所述多个源设备响应于所述路由信息获取请求返回的所述源设备与所述目标设备之间的路由信息;根据多个所述源设备与所述目标设备之间的路由信息构建网络拓扑。本发明实施例的网络拓扑的构建方法及装置,实现了快速、准确地构建网络拓扑,从而为后续优化网络传输提供技术基础。
【专利说明】
网络拓扑的构建方法及装置
技术领域
[0001] 本发明涉及互联网技术领域,尤其涉及一种网络拓扑的构建方法及装置。
【背景技术】
[0002] 在网络中的每个节点都是独立、平等的,它们之间相互连接、互传数据。例如,终端 设备向服务器端发送请求,该请求需要经过与终端设备对应的路由器即端节点路由器,再 经过若干个中间节点路由器,最后到达与服务器端对应的路由器,从而由服务器为该终端 设备的请求做出响应。
[0003] 在实现本发明的过程中,发明人发现现有技术中存在以下的问题:对于整个网络 而言,每一请求途径的网络路径上的端节点以及任意中间节点,都是仅知道与其通信的下 一节点。这样的网络中的路由器之间的连接关系错综复杂,如果不能获知网络拓扑,将不便 于对基于网络传输的各种业务进行优化。

【发明内容】

[0004] 本发明实施例的目的在于,提供一种网络拓扑的构建方法及装置,以实现快速、准 确地构建网络拓扑,从而为后续基于网络传输的各种业务优化提供技术基础。
[0005] 根据本发明实施例的一方面,提供一种网络拓扑的构建方法,包括:分别向多个源 设备发送针对目标设备的路由信息获取请求;分别接收所述多个源设备响应于所述路由信 息获取请求返回的所述源设备与所述目标设备之间的路由信息;根据多个所述源设备与所 述目标设备之间的路由信息构建网络拓扑。
[0006] 根据本发明实施例的另一方面,还提供一种网络拓扑的构建方法,在源设备中执 行所述方法,包括:响应于从服务器接收的针对目标设备的路由信息获取请求,向网络发送 目标设备的路由探测请求,从网络接收路由探测响应;将所述路由探测响应中的源设备与 所述目标设备之间的路由信息发送至所述服务器。
[0007] 根据本发明实施例的另一方面,还提供一种网络拓扑的构建装置,包括:请求发送 模块,用于分别向多个源设备发送针对目标设备的路由信息获取请求;信息接收模块,用于 分别接收所述多个源设备响应于所述路由信息获取请求返回的所述源设备与所述目标设 备之间的路由信息;网络拓扑构建模块,用于根据多个所述源设备与所述目标设备之间的 路由信息构建网络拓扑。
[0008] 根据本发明实施例的另一方面,还提供一种网络拓扑的构建装置,包括:请求发送 及响应接收模块,用于响应于从服务器接收的针对目标设备的路由信息获取请求,向网络 发送目标设备的路由探测请求,从网络接收路由探测响应;信息发送模块,用于将所述路由 探测响应中的源设备与所述目标设备之间的路由信息发送至所述服务器。
[0009] 根据本发明实施例提供的网络拓扑的构建方法及装置,通过分别向多个源设备发 送针对目标设备的路由信息获取请求;进一步分别接收多个源设备响应于路由信息获取请 求返回的源设备与目标设备之间的路由信息,根据多个源设备与目标设备之间的路由信 息,实现了快速、准确地构建网络拓扑,从而为后续基于网络传输的各种业务优化提供技术 基础。
【附图说明】
[0010] 图1是示出根据本发明实施例一的网络拓扑的构建方法的流程图;
[0011] 图2是示出根据本发明实施例二的网络拓扑的构建方法的流程图;
[0012] 图3是示出根据本发明实施例三的网络拓扑的构建装置的逻辑框图;
[0013] 图4是示出根据本发明实施例三的网络拓扑的构建装置的另一逻辑框图;
[0014]图5是示出根据本发明实施例四的网络拓扑的构建装置的逻辑框图;
[0015] 图6是示出根据本发明实施例五的服务器的结构示意图;
[0016] 图7是示出根据本发明实施例六的网关设备的结构示意图。
【具体实施方式】
[0017] 本发明实施例的基本构思是,提供一种构建网络拓扑的技术方案。具体来说,首 先,分别向多个源设备发送针对目标设备的路由信息获取请求;其次,分别接收多个源设备 响应于路由信息获取请求返回的源设备与目标设备之间的路由信息;进一步,根据多个源 设备与目标设备之间的路由信息构建网络拓扑,从而实现了快速、准确地构建网络拓扑,从 而为后续基于网络传输的各种业务优化提供技术基础。
[0018] 下面结合附图详细描述本发明的示例性实施例网络拓扑的构建方法及装置。
[0019] 实施例一
[0020] 图1是示出根据本发明实施例一的网络拓扑的构建方法的流程图。可在如图3或图 4所示的网络拓扑的构建装置上执行该方法。
[0021] 参照图1,在步骤S110,分别向多个源设备发送针对目标设备的路由信息获取请 求。
[0022] 这里,源设备可具体为网络拓扑中的端节点或中间节点的路由器。目标设备也可 具体为网络拓扑中的端节点或中间节点的路由器。也就是说,在网络中,无论是作为端节点 的路由器的源设备,还是中间节点的路由器的源设备,均可向其发送路由信息获取请求,来 获得源设备与网络中其他节点的路由器之间的路由信息。
[0023] 在步骤S120,分别接收所述多个源设备响应于所述路由信息获取请求返回的所述 源设备与所述目标设备之间的路由信息。
[0024] 需要说明的是,路由信息可包括所述目标设备的IP地址和响应时间长度,但不限 于此。还可在路由信息中加入目标设备的名称、域名等信息。
[0025] 在步骤S130,根据多个所述源设备与所述目标设备之间的路由信息构建网络拓 扑。
[0026] 在经过前述步骤SllO和S120的处理之后,就可根据获得的网络中的端节点和中间 节点之间、两中间节点之间,以及端节点和端节点之间的路由信息,由此构建整个网络的网 络拓扑。
[0027]进一步地,该网络拓扑的构建方法还可以包括:根据构建的网络拓扑将多个所述 源设备与所述目标设备之间的网络路径关系存储在预设的路由映射表中。
[0028] 举例来说,假设源设备为对应于终端设备的端节点的路由器A,目标设备为对应于 服务器的端节点的路由器E,来自于终端设备的请求从路由器A传输至路由器E,其中,途径 了中间节点的路由器B、C和D。例如,可以"路由器A的IP地址、路由器B的IP地址、路由器C的 IP地址、路由器D的IP地址、路由器E的IP地址"的形式存储在路由映射表中。
[0029] 本发明实施例提供的网络拓扑的构建方法,通过分别向多个源设备发送针对目标 设备的路由信息获取请求;进一步分别接收多个源设备响应于路由信息获取请求返回的源 设备与目标设备之间的路由信息,根据多个源设备与目标设备之间的路由信息,实现了快 速、准确地构建网络拓扑,从而为后续基于网络传输的各种业务优化提供技术基础。
[0030] 实施例二
[0031] 图2是示出根据本发明实施例二的网络拓扑的构建方法的流程图。可在如图5所示 的网络拓扑的构建装置上执行该方法。
[0032] 参照图2,在步骤S210,响应于从服务器接收的针对目标设备的路由信息获取请 求,向网络发送目标设备的路由探测请求,从网络接收路由探测响应。
[0033] 根据本发明示例性的实施例,步骤S210可包括:以所述目标设备的标识作为参数 执行traceroute或tracert指令向网络发送目标设备的路由探测请求,从网络接收路由探 测响应。
[0034] 具体来说,在网络中,信息的传送是通过传输介质和设备(路由器,交换机,服务 器,网关等等)从一端到达另一端。每一个连接在Internet上的设备,如主机、路由器、接入 服务器等一般情况下都会有一个独立的IP地址。通过traceroute可以获知信息从一台计算 机到互联网另一端的主机是走的什么网络路径。当然,每次数据包由某一出发点(源设备) 到达某一目的地(目标设备)所走的路径可能会不一样。traceroute通过发送小的数据包到 目标设备直到其返回,来测量其需要多长时间。一条网络路径上的每个设备traceroute指 令要探测3次。输出结果中可包括每次测试的时间和目标设备的名称及其IP地址。
[0035] 通常,UNIX系统中,直接执行命令行:
[0036] traceroute hostname。
[0037] 而在Windows系统下是执行tracert的命令行:
[0038] tracert hostname。
[0039] 命令格式"traceroute [参数][主机]",该命令功能是traceroute指令可追踪网络 数据包的路由途径,预设的数据包大小是40Bytes,用户可另行设置。具体参数格式如下: [0040] traceroute[-dFlnrvx][-f〈存活数值〉][_g〈网关〈网络界面〉][-m〈存活 数值〉][-P〈通信端口〉] [-S〈来源地址〉][_t〈服务类型〉][-W〈超时秒数〉][主机名称或IP地 址][数据包大小]。
[0041 ] 表1示出了 traceroute指令的命令参数及命令参数的含义,参见表1:
[0042]表 1

LUW4」 卜囬背绍一卜traceroutetfj保埋。共评idl,race;route不至斤的坟Tf定不 lJ用丄UV『及丄P header的TTL(Time To Live)栏位(f ield)。首先,traceroute送出一个TTL是 1 的IP数据包 到目的地,其中,每次送出的为3个40字节的包,包括源地址、目的地址和发出数据包的时间 标签。当网络路径上的第一个路由器收到这个数据包时,它将TTL减1。此时,TTL变为0 了,所 以该路由器会将此数据包丢掉,并送回一个"ICMP time exceeded"消息,其中包括发IP包 的源地址、IP包的所有内容及路由器的IP地址。traceroute收到这个消息后,便知道这个路 由器存在于这个网络路径上。接着traceroute再送出另一个TTL是2的数据包,发现第二个 路由器。以此类推,traceroute通过每次将送出的数据包的TTL加1来发现另一个路由器,这 个重复动作一直持续到某个数据包抵达目的地。当数据包到达目的地后,该主机并不会送 回"ICMP time exceeded"消息,因为它已是目的地了,那么traceroute如何得知目的地已 到达。traceroute在送出数据包到目的地时,它所选择送达的port number是一个一般应用 程序都不会用的号码(30000以上),所以当此数据包到达目的地后该主机会送回一个"ICMP port unreachable"的消息,而当traceroute收到这个消息时,便知道目的地已经到达了。
[0045] 在步骤S220,将所述路由探测响应中的源设备与目标设备之间的路由信息发送至 所述服务器。
[0046] 本发明实施例提供的网络拓扑的构建方法,通过响应于从服务器接收的针对目标 设备的路由信息获取请求,进一步向网络发送目标设备的路由探测请求,从网络接收路由 探测响应,实现了将路由探测响应中的源设备与目标设备之间的路由信息发送至服务器, 从而为服务器构建网络拓扑提供数据基础和技术支持。
[0047] 实施例三
[0048] 基于相同的技术构思,图3是示出根据本发明实施例三的网络拓扑的构建装置的 逻辑框图。可用以执行如实施例一所述的网络拓扑的构建方法流程。
[0049] 参照图3,网络拓扑的构建装置包括:请求发送模块310、信息接收模块320和网络 拓扑构建模块330。
[0050] 请求发送模块310用于分别向多个源设备发送针对目标设备的路由信息获取请 求。
[0051] 信息接收模块320用于分别接收所述多个源设备响应于所述路由信息获取请求返 回的所述源设备与所述目标设备之间的路由信息。
[0052]网络拓扑构建模块330用于根据多个所述源设备与所述目标设备之间的路由信息 构建网络拓扑。
[0053]进一步地,在上述实施例的基础上,图4是示出根据本发明实施例三的网络拓扑的 构建装置的另一逻辑框图。
[0054]参照图4,该网络拓扑的构建装置还可以包括:网络路径存储模块340用于根据构 建的网络拓扑将多个所述源设备与所述目标设备之间的网络路径关系存储在预设的路由 映射表中。
[0055] 这里,所述路由信息可包括所述目标设备的IP地址和响应时间长度,所述源设备 可具体为网络拓扑中的端节点或中间节点的路由器。
[0056] 本发明实施例提供的网络拓扑的构建装置,通过分别向多个源设备发送针对目标 设备的路由信息获取请求;进一步分别接收多个源设备响应于路由信息获取请求返回的源 设备与目标设备之间的路由信息,根据多个源设备与目标设备之间的路由信息,实现了快 速、准确地构建网络拓扑,从而为后续基于网络传输的各种业务优化提供技术基础。
[0057]实施例四
[0058] 基于相同的技术构思,图5是示出根据本发明实施例四的网络拓扑的构建装置的 逻辑框图。可用以执行如实施例二所述的网络拓扑的构建方法流程。
[0059] 参照图5,网络拓扑的构建装置包括:请求发送及响应接收模块510和信息发送模 块520〇
[0060] 请求发送及响应接收模块510用于响应于从服务器接收的针对目标设备的路由信 息获取请求,向网络发送目标设备的路由探测请求,从网络接收路由探测响应。
[0061] 信息发送模块520用于将所述路由探测响应中的所述源设备与所述目标设备之间 的路由信息发送至所述服务器。
[0062] 进一步地,请求发送及响应接收模块510具体用于以所述目标设备的标识作为参 数执行traceroute或tracert指令向网络发送目标设备的路由探测请求,从网络接收路由 探测响应。
[0063] 本发明实施例提供的网络拓扑的构建装置,通过响应于从服务器接收的针对目标 设备的路由信息获取请求,进一步向网络发送目标设备的路由探测请求,从网络接收路由 探测响应,实现了将路由探测响应中的源设备与目标设备之间的路由信息发送至服务器, 从而为服务器构建网络拓扑提供数据基础和技术支持。
[0064] 实施例五
[0065] 图6是示出根据本发明实施例五的服务器的结构示意图,本发明具体实施例并不 对服务器600的具体实现做限定。如图6所示,该服务器600可以包括:
[0066] 处理器(processor)610、通信接口(Communications Interface)620、存储器 (memory)630、以及通信总线640。其中:
[0067] 处理器610、通信接口 620、以及存储器630通过通信总线640完成相互间的通信。 [0068] 通信接口 620,用于与比如客户端等的网元通信。
[0069] 处理器610,用于执行程序632,具体可以执行上述方法实施例中的相关步骤。
[0070]具体地,程序632可以包括程序代码,所述程序代码包括计算机操作指令。
[0071] 处理器610可能是一个中央处理器CPU,或者是特定集成电路ASIC(Applicati〇n Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电 路。
[0072] 存储器630,用于存放程序632。存储器630可能包含高速RAM存储器,也可能还包括 非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序632具体可以用 于使得所述服务器600执行以下操作:
[0073] 分别向多个源设备发送针对目标设备的路由信息获取请求;分别接收所述多个源 设备响应于所述路由信息获取请求返回的所述源设备与所述目标设备之间的路由信息;根 据多个所述源设备与所述目标设备之间的路由信息构建网络拓扑。
[0074] 程序632中各步骤的具体实现可以参见上述实施例中的相应步骤和单元中对应的 描述,在此不赘述。
[0075] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备 和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0076] 本发明实施例提供的服务器,通过分别向多个源设备发送针对目标设备的路由信 息获取请求;进一步分别接收多个源设备响应于路由信息获取请求返回的源设备与目标设 备之间的路由信息,根据多个源设备与目标设备之间的路由信息,实现了快速、准确地构建 网络拓扑,从而为后续基于网络传输的各种业务优化提供技术基础。
[0077]实施例六
[0078] 图7是示出根据本发明实施例六的网关设备的结构示意图,本发明具体实施例并 不对网关设备700的具体实现做限定。如图7所示,该网关设备700可以包括:
[0079] 处理器(processor)710、通信接口(Communications Interface)720、存储器 (memory)730、以及通信总线740。其中:
[0080] 处理器710、通信接口 720、以及存储器730通过通信总线740完成相互间的通信。 [0081 ]通信接口 720,用于与比如客户端等的网元通信。
[0082]处理器710,用于执行程序732,具体可以执行上述方法实施例中的相关步骤。
[0083]具体地,程序732可以包括程序代码,所述程序代码包括计算机操作指令。
[0084] 处理器710可能是一个中央处理器CPU,或者是特定集成电路ASIC(Applicati〇n Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电 路。
[0085] 存储器730,用于存放程序732。存储器730可能包含高速RAM存储器,也可能还包括 非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序732具体可以用 于使得所述网关设备700执行以下操作:
[0086] 响应于从服务器接收的针对目标设备的路由信息获取请求,向网络发送目标设备 的路由探测请求,从网络接收路由探测响应;将所述路由探测响应中的所述源设备与所述 目标设备之间的路由信息发送至所述服务器。
[0087] 程序732中各步骤的具体实现可以参见上述实施例中的相应步骤和单元中对应的 描述,在此不赘述。
[0088] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备 和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0089] 本发明实施例提供的网关设备,通过响应于从服务器接收的针对目标设备的路由 信息获取请求,进一步向网络发送目标设备的路由探测请求,从网络接收路由探测响应,实 现了将路由探测响应中的源设备与目标设备之间的路由信息发送至服务器,从而为服务器 构建网络拓扑提供数据基础和技术支持。
[0090] 需要指出,根据实施的需要,可将本发明中描述的各个部件/步骤拆分为更多部 件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤, 以实现本发明的目的。
[0091] 上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质 (诸如CD R0M、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载 的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计 算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专 用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微 处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、 ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此 描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行 将通用计算机转换为用于执行在此示出的处理的专用计算机。
[0092] 以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1. 一种网络拓扑的构建方法,所述方法包括: 分别向多个源设备发送针对目标设备的路由信息获取请求; 分别接收所述多个源设备响应于所述路由信息获取请求返回的所述源设备与所述目 标设备之间的路由信息; 根据多个所述源设备与所述目标设备之间的路由信息构建网络拓扑。2. 根据权利要求1所述的方法,其中,所述方法还包括: 根据构建的网络拓扑将多个所述源设备与所述目标设备之间的网络路径关系存储在 预设的路由映射表中。3. 根据权利要求1或2所述的方法,其中,所述路由信息包括所述目标设备的IP地址和 响应时间长度, 所述源设备具体为网络拓扑中的端节点或中间节点的路由器。4. 一种网络拓扑的构建方法,在源设备中执行所述方法,包括: 响应于从服务器接收的针对目标设备的路由信息获取请求,向网络发送目标设备的路 由探测请求,从网络接收路由探测响应; 将所述路由探测响应中的源设备与所述目标设备之间的路由信息发送至所述服务器。5. 根据权利要求4所述的方法,其中,所述向网络发送目标设备的路由探测请求,从网 络接收路由探测响应包括: 以所述目标设备的标识作为参数执行traceroute或tracert指令向网络发送目标设备 的路由探测请求,从网络接收路由探测响应。6. -种网络拓扑的构建装置,所述装置包括: 请求发送模块,用于分别向多个源设备发送针对目标设备的路由信息获取请求; 信息接收模块,用于分别接收所述多个源设备响应于所述路由信息获取请求返回的所 述源设备与所述目标设备之间的路由信息; 网络拓扑构建模块,用于根据多个所述源设备与所述目标设备之间的路由信息构建网 络拓扑。7. 根据权利要求6所述的装置,其中,所述装置还包括: 网络路径存储模块,用于根据构建的网络拓扑将多个所述源设备与所述目标设备之间 的网络路径关系存储在预设的路由映射表中。8. 根据权利要求6或7所述的装置,其中,所述路由信息包括所述目标设备的IP地址和 响应时间长度, 所述源设备具体为网络拓扑中的端节点或中间节点的路由器。9. 一种网络拓扑的构建装置,所述装置包括: 请求发送及响应接收模块,用于响应于从服务器接收的针对目标设备的路由信息获取 请求,向网络发送目标设备的路由探测请求,从网络接收路由探测响应; 信息发送模块,用于将所述路由探测响应中的源设备与所述目标设备之间的路由信息 发送至所述服务器。10. 根据权利要求9所述的装置,其中,所述请求发送及响应接收模块具体用于以所述 目标设备的标识作为参数执行traceroute或tracert指令向网络发送目标设备的路由探测 请求,从网络接收路由探测响应。
【文档编号】H04L12/751GK106067862SQ201610417709
【公开日】2016年11月2日
【申请日】2016年6月14日 公开号201610417709.0, CN 106067862 A, CN 106067862A, CN 201610417709, CN-A-106067862, CN106067862 A, CN106067862A, CN201610417709, CN201610417709.0
【发明人】李洪福
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1