一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

终端ip业务路径的确定方法与流程

2022-03-02 00:50:43 来源:中国专利 TAG:


1.本公开的实施例一般涉及通信领域,并且更具体地,涉及终端ip业务路径的确定方法、装置、设备和计算机可读存储介质。


背景技术:

2.随着网络的飞速发展,网络中的设备越来越多,发送端传输一个信息需要经过多个设备才能传送给接收端。如果传送过程中一个设备不能正常工作,则消息无法成功传送,这时需要快速、准确定位是哪个设备出现的问题。如果人工对每个设备进行查看无疑需要花费大量的人力、物力。如图1所示,通过传统tracert方式,在短时间内完成几十万到几百万个ip路径的计算效率低下(一条跟踪命令执行了15秒还未结束)。
3.因此,如何快速计算每一个用户的具体路径是目前急需解决的问题。


技术实现要素:

4.根据本公开的实施例,提供了一种终端ip业务路径的确定方案。
5.在本公开的第一方面,提供了一种终端ip业务路径的确定方法。该方法包括:
6.获取发起数据,根据所述发起数据和每个网元端口的互联类型,确定路由始点设备;所述发起数据包括发起业务ip、发起设备ip、发起vpn、发起mac性质和发起端口;
7.基于所述发起mac性质,对所述发起数据进行分组,得到动态mac性质的动态组,和静态mac性质的静态组;
8.遍历所述动态组,获取所述动态组中的设备ip;基于所述动态组中的设备ip、每个网元端口的互联类型和所述静态组,确定出环设备、出环终点和/或终点设备。
9.进一步地,所述互联类型通过如下方式进行确定:
10.获取全路网元的端口信息和邻居网元的端口信息,确定每个网元端口的互联类型。
11.进一步地,所述获取发起数据,根据所述发起数据和每个网元端口的互联类型,确定路由始点设备包括:
12.若发送所述发起数据的设备为路由器,则根据路由器的arp表,确定路由始点设备;
13.若发送所述发起数据的设备为交换机,则根据交换机的mac地址、vlan数据和每个网元端口的互联类型,确定路由始点设备。
14.进一步地,所述基于所述动态组中的设备ip、每个网元端口的互联类型和所述静态组,确定出环设备包括:
15.基于所述动态组中的设备ip,从所述静态组中构建与其对应的数据集合secondlist;所述secondlist集合中包括发起业务ip、发起vpn、发起mac性质和发起端口;
16.判断所述动态组中的发起业务ip,和所述secondlist集合中的发起业务ip是否属于同一子网;
17.若是,且所述动态组与所述secondlist集合中的发起vpn相同、发起端口相同、所述动态组中的端口互联类型为互联口、所述secondlist集合中对应的端口类型为系统口,则此设备为当前发起业务ip的出环设备。
18.进一步地,所述基于所述动态组中的设备ip、每个网元端口的互联类型和所述静态组,确定出环终点和/或终点设备包括:
19.基于所述动态组中的设备ip,从所述静态组中构建与其对应的数据集合secondlist;所述secondlist集合中包括发起业务ip、发起vpn、发起mac性质和发起端口;
20.判断所述动态组中的发起业务ip,和所述secondlist集合中的发起业务ip是否属于同一子网;
21.若是,且所述动态组与所述secondlist集合中的发起vpn相同、发起端口相同,则根据所述动态组和所述secondlist集合的端口类型,确定出环终点和/或终点设备。
22.进一步地,所述根据动态组和所述secondlist集合的端口类型,确定出环终点和/或终点设备包括:
23.若所述动态组中的端口为vlanif口,且所述动态组中的设备为环网交换机,则此设备为当前发起业务ip的出环终点设备;
24.若所述动态组中的端口互联类型为业务口,且所述secondlist集合中的端口类型为系统口,则此设备为当前发起业务ip的出环终点设备;
25.若所述动态组中的端口为vlanif口,且所述动态组中的设备为非环网交换机,则此设备为当前发起业务ip的终点设备;
26.若所述动态组中的端口互联类型为业务口,且所述secondlist集合中的端口类型为互联口,则此设备为当前发起业务ip的终点设备。
27.进一步地,还包括:
28.根据动态组和所述secondlist集合的端口类型,确定经过设备和广播设备;其中,
29.若所述动态组中的端口互联类型,和所述secondlist集合的端口互联类型相同,则此设备为当前发起业务ip的经过设备;
30.若所述动态组中的端口互联类型,和所述secondlist集合的端口互联类型相同,且所述动态组中的端口名称,和所述secondlist集合的端口名称相同,则此设备为当前发起业务ip的广播设备。
31.在本公开的第二方面,提供了一种终端ip业务路径的确定装置。该装置包括:
32.获取模块,用于获取发起数据,根据所述发起数据和每个网元端口的互联类型,确定路由始点设备;所述发起数据包括发起业务ip、发起设备ip、发起vpn、发起mac性质和发起端口;
33.分组模块,用于基于所述发起mac性质,对所述发起数据进行分组,得到动态mac性质的动态组,和静态mac性质的静态组;
34.确定模块,用于遍历所述动态组,获取所述动态组中的设备ip;基于所述动态组中的设备ip、每个网元端口的互联类型和所述静态组,确定出环设备、出环终点和/或终点设备。
35.在本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
36.在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面的方法。
37.本技术实施例提供的终端ip业务路径的确定方法,通过获取发起数据,根据所述发起数据和每个网元端口的互联类型,确定路由始点设备;所述发起数据包括发起业务ip、发起设备ip、发起vpn、发起mac性质和发起端口;基于所述发起mac性质,对所述发起数据进行分组,得到动态mac性质的动态组,和静态mac性质的静态组;遍历所述动态组,获取所述动态组中的设备ip;基于所述动态组中的设备ip、每个网元端口的互联类型和所述静态组,确定出环设备、出环终点和/或终点设备,实现了对业务路径的快速精准识别。
38.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
39.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
40.图1示出了采用tracert方式计算ip路径的示意图;
41.图2示出了根据本公开的实施例的终端ip业务路径的确定方法的流程图;
42.图3示出了根据本公开的实施例的网络拓扑示意图;
43.图4示出了根据本公开的实施例的采集的网元数据示意图;
44.图5示出了根据本公开的实施例的路由器arp表中的数据示意图;
45.图6示出了根据本公开的实施例的终端ip业务的完整业务路径示意图;
46.图7示出了根据本公开的实施例的终端ip业务路径的确定装置的方框图;
47.图8示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
48.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
49.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
50.图2示出了根据本公开实施例的终端ip业务路径的确定方法200的流程图,包括:
51.s210,获取发起数据,根据所述发起数据和每个网元端口的互联类型,确定路由始点设备;所述发起数据包括发起业务ip、发起设备ip、发起vpn、发起mac性质和发起端口。
52.其中,网元为网络中的元素,网元的分类包括路由器、交换机、olt和/或onu等;在本公开中设备分类可等同于网元分类。
53.在一些实施例中,ip数据包的转发流程为:
54.1)ip数据包到达网络层之后,首先根据目的ip地址得到目的网络号,然后决定是
直接交付还是转发数据包;若网络号不匹配,则需要转发数据包,执行步骤3);
55.2)将数据包转发给目的主机;若当前路由器的arp高速缓存表中找不到相应的匹配项,则需要向当前局域网广播arp请求分组来获取相应主机的mac地址;
56.3)根据目的ip地址在路由表(转发表)中查找下一跳ip地址;
57.4)在路由器的arp高速缓存表中查找下一跳ip地址对应的mac地址,若找到下一跳路由器的mac地址,则将查到的mac地址填入数据帧的首部6字节(即更新链路层的数据帧);若arp高速缓存表中不存在此ip地址,则通过向当前局域网内广播一个arp分组来请求下一跳路由器的mac地址;
58.需要说明的是,arp请求分组广播出去后,只有下一跳路由器会对此请求分组做出响应,所有其它的主机和路由器都将忽略此arp广播分组。
59.5)根据得到的下一跳路由器mac地址来更新数据链路层的数据帧,即帧头的目的mac地址字段;
60.6)转发数据包。
61.在一些实施例中,所述互联类型(两个网元之间用网线进行物理连接)包括:
62.1)w-w互联口
63.设备分类(交换机).and.邻居设备分类(交换机)=端口类型(w-w互联口);
64.2)r-w互联口
65.设备分类(交换机).and.邻居设备分类(路由器)=端口类型(r-w互联口);
66.3)r-r互联口
67.设备分类(路由器).and.邻居设备分类(路由器)=端口类型(r-r互联口);
68.4)其它为业务口
69.业务口(端口另一端直连终端);
70.其中,所述r表示路由器;
71.所述w表示交换机;
72.进一步地,在满足特定条件下端口互联类型可进行升级:
73.若端口互联类型为r-w互联邻居为环交换机,则端口互联类型(系统口),不能修改;
74.若端口互联类型为r-w互联邻居为非环交换机,则端口互联类型(互联口),不能修改;
75.若端口互联类型为r-r互联,则端口互联类型(互联口),不能修改。
76.在一些实施例中,所述互联类型可通过如下方式进行确定:
77.获取全路网元的端口信息和邻居网元的端口信息,通过自动发现算法和/或lldp协议,计算网元邻居(邻居端口),确定每个网元端口的互联类型。
78.在一些实施例中,本公开的路径设备分类,即,路径设备分类是指在ip终端路径整个ip包转发过程中,网元所承担的角色进行归类分为:
79.终点设备:网元直接下连终端;如一个交换机某个端口用网线直接跟某一台电脑相连;
80.路由始点设备:终端ip的网关所在路由器称之为路由始点设备;
81.经过设备:ip数据包转发过程中所经过的网元统一称为经过设备;
82.出环设备:如图3所示,交换机2是从环上跳出来去连接其他的非环网交换机,即出环设备;其中,图3中两个灰色区域内的交换机为环网交换机;
83.出环终点:既是出环设备又是终点设备。
84.在一些实施例中,获取如图4所示的所有网元的数据,包括路由器、交换机、olt和onu数据,即,获取后期运算所需的基础数据。
85.在一些实施例中,获取发起数据,用于确定终端ip的网关,即,确定路由始点设备;所述发起数据包括发起业务ip、发起设备ip、发起vpn、发起mac性质和发起端口等。
86.设网关均配置在路由器上,则从路由器的arp表中采集的数据如图5所示;
87.进一步地,若发送所述发起数据的设备为交换机,则将交换机上的mac地址和vlan数据组成一组,形成一个唯一的key命名为key1,同理将路由器上arp表中的mac和vlan也组成一个唯一的key命名为key2,遍历key2,若能找到key1,则得到了交换机上的数据的发起数据(其对应的发起数据,即为路由器上的发起数据);
88.通过上述计算,可得到全网终端ip的发起数据和其对应的交换机集合,即,可罗列出所有的连接途径;
89.其中,采用mac vlan数据组合的方式,可确保唯一性。mac数据无法保证唯一性;vlan数据在交换机上用于划分不同的局域网,在本公开中,可按业务分类划分vlan。
90.综上,根据处理后的发起数据和每个网元端口的互联类型,确定路由始点设备。
91.s220,基于所述发起mac性质,对所述发起数据进行分组,得到动态mac性质的动态组,和静态mac性质的静态组。
92.在一些实施例中,基于所述发起mac性质,对所述发起数据进行分组,得到动态mac性质的动态组,和静态mac性质的静态组;
93.其中,所述动态组中包括所述发起数据中mac性质为动态mac的全部数据;所述静态组中包括所述发起数据中mac性质为静态mac的全部数据
94.mac性质:可分为动态mac地址和静态mac地址;
95.所述动态mac地址有老化时间;
96.所述静态mac地址没有老化时间。
97.s230,遍历所述动态组,获取所述动态组中的设备ip;基于所述动态组中的设备ip、每个网元端口的互联类型和所述静态组,确定出环设备、出环终点和/或终点设备。
98.在一些实施例中,通过如下方式确定出环设备:
99.从所述动态组中,获取发起业务ip、发起设备ip、发起端口、设备分类和发起mac性质,以设备ip作为不同设备间的区分条件,即,确定唯一性。
100.基于所述动态组中的设备ip,从所述静态组中构建与其对应的数据集合secondlist;所述secondlist集合中包括发起业务ip、发起vpn、发起mac性质和发起端口;在所述动态组中的每一条数据均对应一个secondlist集合,即,一对多。
101.判断所述动态组中的发起业务ip,和所述secondlist集合中的发起业务ip是否属于同一子网,即是否同属一个c类网络的判断;
102.若是,且所述动态组与所述secondlist集合中的发起vpn相同、发起端口相同、所述动态组中的端口互联类型为互联口、所述secondlist集合中对应的端口类型为系统口,则此设备为当前发起业务ip的出环设备。
103.在一些实施例中,通过如下方式确定出环终点、终点设备:
104.从所述动态组中,获取发起业务ip、发起设备ip、发起端口、设备分类和发起mac性质,以设备ip作为不同设备间的区分条件,即,确定唯一性。
105.基于所述动态组中的设备ip,从所述静态组中构建与其对应的数据集合secondlist;所述secondlist集合中包括发起业务ip、发起vpn、发起mac性质和发起端口;在所述动态组中的每一条数据均对应一个secondlist集合,即,一对多。
106.判断所述动态组中的发起业务ip,和所述secondlist集合中的发起业务ip是否属于同一子网,即是否同属一个c类网络的判断;
107.若是,且所述动态组与所述secondlist集合中的发起vpn相同、发起端口相同,则根据所述动态组和所述secondlist集合的端口类型,确定出环终点和/或终点设备;
108.具体地,
109.若所述动态组中的端口为vlanif口,且所述动态组中的设备为环网交换机,则此设备为当前发起业务ip的出环终点设备;
110.若所述动态组中的端口互联类型为业务口,且所述secondlist集合中的端口类型为系统口,则此设备为当前发起业务ip的出环终点设备;
111.若所述动态组中的端口为vlanif口,且所述动态组中的设备为非环网交换机,则此设备为当前发起业务ip的终点设备;
112.若所述动态组中的端口互联类型为业务口,且所述secondlist集合中的端口类型为互联口,则此设备为当前发起业务ip的终点设备。
113.进一步地,还包括:
114.根据动态组和所述secondlist集合的端口类型,确定经过设备和广播设备;其中,
115.若所述动态组中的端口互联类型,和所述secondlist集合的端口互联类型相同,则此设备为当前发起业务ip的经过设备;
116.若所述动态组中的端口互联类型,和所述secondlist集合的端口互联类型相同,且所述动态组中的端口名称,和所述secondlist集合的端口名称相同,则此设备为当前发起业务ip的广播设备。
117.综上,得到如图6所示的一个终端ip业务的完整业务路径。
118.根据本公开的实施例,实现了以下技术效果:
119.通过本公开的算法,可快速计算出每一个用户的具体路径,在出现网络故障时,可以快速排查故障原因。
120.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
121.以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
122.图7示出了根据本公开的实施例的终端ip业务路径的确定装置700的方框图。如图7所示,装置700包括:
123.获取模块710,用于获取发起数据,根据所述发起数据和每个网元端口的互联类型,确定路由始点设备;所述发起数据包括发起业务ip、发起设备ip、发起vpn、发起mac性质和发起端口;
124.分组模块720,用于基于所述发起mac性质,对所述发起数据进行分组,得到动态mac性质的动态组,和静态mac性质的静态组;
125.确定模块730,用于遍历所述动态组,获取所述动态组中的设备ip;基于所述动态组中的设备ip、每个网元端口的互联类型和所述静态组,确定出环设备、出环终点和/或终点设备。
126.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
127.图8示出了可以用来实施本公开的实施例的电子设备700的示意性框图。如图所示,设备800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序指令,来执行各种适当的动作和处理。在ram 803中,还可以存储设备800操作所需的各种程序和数据。cpu801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
128.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
129.处理单元801执行上文所描述的各个方法和处理,例如方法200。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由cpu 801执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,cpu 701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200。
130.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
131.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
132.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合
适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
133.此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
134.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献