一种基于bgp-ls协议生成网络拓扑的方法技术

技术编号:37062874 阅读:38 留言:0更新日期:2023-03-29 19:41
本发明专利技术公开一种基于bgp

【技术实现步骤摘要】
一种基于bgp

ls协议生成网络拓扑的方法


[0001]本专利技术涉及网络拓扑领域,尤其是一种基于bgp

ls协议生成网络拓扑的方法。

技术介绍

[0002]在许多环境中,需要调用网络外部的组件来确定网络拓扑结构和网络内连接的当前状态的,例如流量工程(Traffic Engineering,TE)信息。这是通常由IGP路由协议在网络中分发的信息。受igp不同协议的限制,网络的链路状态和TE信息与外界共享比较困难。bgp

ls协议通过一种新的BGP网络层可达性信息(NLRI)编码格式实现通过BGP路由协议从网络中手机链路状态和TE信息并与外部组建共享。
[0003]BGP

LS(BGP Link

state)汇总IGP协议收集的拓扑信息上送给上层控制器。
[0004]BGP

LS是收集网络拓扑的一种新的方式。
[0005]BGP

LS特性产生前,路由器使用IGP(OSPF或IS

IS)协议收集网络的拓扑信息,IGP协议将各个域的拓扑信息单独上送给上层控制器,在这种拓扑收集方式下,存在以下几个问题:
[0006]对上层控制器的计算能力要求较高,且要求控制器也支持IGP协议及其算法;
[0007]当涉及到跨IGP域拓扑信息收集时,上层控制器无法看到完整的拓扑信息,无法计算端到端的最优路径;
[0008]不同的路由协议分别上送拓扑信息给上层控制器,控制器对拓扑信息的分析处理过程比较复杂。
[0009]BGP

LS特性产生后,IGP协议发现的拓扑信息由BGP协议汇总后上送给上层控制器,利用BGP协议强大的选路和算路能力,可产生以下几点优势:
[0010]降低对上层控制器计算能力的要求,且不再对控制器的IGP能力有要求;
[0011]BGP协议将各个进程或各个AS的拓扑信息做汇总,直接将完整的拓扑信息上送给控制器,有利于路径选择和计算;
[0012]网络中所有拓扑信息均通过BGP协议上送控制器,使拓扑上送协议归一化。

技术实现思路

[0013]为解决人工进行网络故障定位存在的上述问题,本专利技术提供一种基于bgp

ls协议生成网络拓扑的方法,通过kafka获取采集的bgp

ls信息,根据bgp

ls协议的四种node、ipv4prefix、ipv6prefix、link数据类型,对节点的网段、连接路径进行匹配,从而得到各个节点之间的连接信息,并根据链接信息得到各个节点之间的链接关系;通过对不同域的数据进行采集,可以完整还原整个网络的拓扑结构,并根据实时的数据变更,实时更新当前网络拓扑的状态,从而提高运维管理的效率。
[0014]为实现上述目的,本专利技术采用下述技术方案:
[0015]在本专利技术一实施例中,提出了一种基于bgp

ls协议生成网络拓扑的方法,该方法包括:
[0016]S01、初始化项目,并获取采集信息,并通过信息获取采集节点的信息;
[0017]S02、从kafka读取protobuf格式的bgp

ls协议的数据;
[0018]S03、对数据进行格式化,并确定数据的正确性,排除错误数据,根据数据携带的nlri_type字段确认数据类型,并解析为字典格式。
[0019]数据已经由采集端采集并进行了初步标记,所以这里标注的数据类型默认一定是对的。
[0020]字典格式为json格式,json是一种数据结构。
[0021]S04、对数据进行分别处理
[0022]S05、固定时间段,通过link和prefix的ip地址和ip域之间进行二次匹配,并将匹配成功的数据写入数据库。
[0023]由于可能存在prefix和link比node先进来的情况,所以每过一段时间需要对没有找到节点的prefix和node进行二次匹配,寻找是否存在node信息。这里需要注意,link是连接信息,需要两个端点即node,所以这里二次匹配还有一个目的就是找到对端的节点。link采集的信息有本端ip和对端ip,这里主要是根据对端ip找到对端的link,然后link之间进行绑定,这里的绑定是因为成对的link本端和对端的ip是相反的。
[0024]进一步地,所述S01中采集信息包括:node、prefix、link、policy、srv6sid,其中node信息即为节点信息,根据node创建节点。
[0025]进一步地,所述S02中的数据通过bgp

ls协议方式采集,并以protobuf格式发送到kafka。
[0026]进一步地,所述S03中确定数据的正确性流程包括:
[0027]S031、对bgp

ls采集程序采集的数据进行判断,采集程序对不同设备采集的信息缺失关键信息;
[0028]S032、缺失关键信息的数据直接丢弃,并告警让采集程序的维护人员进行优化。
[0029]进一步地,所述S031中的缺失关键信息包括但不限于:ip、as域。
[0030]进一步地,所述S03中数据类型包括:node、link、ipv4prefix、ipv6prefix。
[0031]进一步地,所述S04包括:
[0032]S041、node数据,判断是否存在对应node节点,如果存在则更新,如果不存在则创建新节点,并根据节点id匹配已经保存的prefix数据;
[0033]S042、如果是ipv4prefix或ipv6prefix数据,更新或创建新的prefix信息,并根据prefix的节点id匹配对应的node节点,根据prefix的网段匹配link;
[0034]S043、如果是link数据,更新或创建新的link信息,并根据link的ip匹配prefix;
[0035]S044、其他数据,更新或创建新的信息,并直接入库。
[0036]进一步地,所述S041中通过ip或id搜索内存里是否已经存在node信息来判断对应node节点;节点id通过设备采集。
[0037]进一步地,所述S041中的节点id通过ip网段匹配,匹配流程:找到所有网段容纳ip的所有prefix数据,得到数据为节点id所对应的数据;不同节点的ip网段互斥,根据节点ip反向匹配对应的网段。
[0038]在本专利技术一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述基于bgp

ls
协议生成网络拓扑的方法。
[0039]在本专利技术一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行基于bgp

本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于bgp

ls协议生成网络拓扑的方法,其特征在于,该方法包括:S01、初始化项目,并获取采集信息,并通过信息获取采集节点的信息;S02、从kafka读取protobuf格式的bgp

ls协议的数据;S03、对数据进行格式化,并确定数据的正确性,排除错误数据,根据数据携带的nlri_type字段确认数据类型,并解析为字典格式;S04、对数据进行分别处理;S05、固定时间段,通过link和prefix的ip地址和ip域之间进行二次匹配,并将匹配成功的数据写入数据库。2.根据权利要求1所述的基于bgp

ls协议生成网络拓扑的方法,其特征在于,所述S01中采集信息包括:node、prefix、link、policy、srv6sid,其中node信息即为节点信息,根据node创建节点。3.根据权利要求1所述的基于bgp

ls协议生成网络拓扑的方法,其特征在于,所述S02中的数据通过bgp

ls协议方式采集,并以protobuf格式发送到kafka。4.根据权利要求1所述的基于bgp

ls协议生成网络拓扑的方法,其特征在于,所述S03中确定数据的正确性流程包括:S031、对bgp

ls采集程序采集的数据进行判断,采集程序对不同设备采集的信息缺失关键信息;S032、缺失关键信息的数据直接丢弃,并告警让采集程序的维护人员进行优化。5.根据权利要求4所述的基于bgp

ls协议生成网络拓扑的方法,其特征在于,所述S031中的缺失关键信息包括但不限于:ip、as域。6.根据权利要求1所述的基于bgp
...

【专利技术属性】
技术研发人员:喻小菲
申请(专利权)人:中盈优创资讯科技有限公司
类型:发明
国别省市:

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

1