本发明专利技术公开了一种BGP Update报文的更新方法和装置,所述方法包括:接收来自邻居设备的第一BGP Update报文;解析第一BGP Update报文得到各路由的类型;将解析的各路由的类型与本地配置的邻居设备支持的路由类型进行匹配;在所述各路由类型中确定相匹配的路由类型,并根据相匹配的路由类型生成第二BGP Update报文;将第二BGP Update报文封装后发送给BMP服务器。本方法利用BGP报文模块化设计的特征,解析确定需要上报的路由类型,将需要上报的路由类型生成新的BGP Update报文,使得上报给BMP服务器的新的BGP Update报文中的路由能够被全部正确解析。全部正确解析。全部正确解析。
【技术实现步骤摘要】
一种BGP Update报文的更新方法和装置
[0001]本专利技术涉及网络通信
,尤其是涉及一种BGP Update报文的更新方法和装置。
技术介绍
[0002]目前,若用户查看某台网络设备内边界网关协议(Border Gateway Protocol,BGP)邻居的路由、BGP邻居状态以及其他相关信息,则可通过登录网络设备进行查看。BGP监控协议(BGP Monitoring Protocol,BMP)是一种用于监控BGP邻居的协议,其提供了比屏幕输出更方便的使用方式,简单、好用、易维护。BMP既可访问BGP指定邻居的状态、路由信息,还可周期性地显示统计信息。
[0003]在实际组网中,被监控的网络设备设备称为客户端(client),BMP监控服务器(server)称为监控端或者BMP server。一个客户端可与多个监控服务器连接。客户端内需配置监控服务器的地址、监听端口号等,以便与监控服务器建立TCP连接。
[0004]客户端收集被监控BGP邻居收到的路由信息,生成BGP更新(Update)报文。根据BMP规定,在BGP Update报文前封装BMP头部,得到BMP报文。监控服务器接收到各种BMP报文后,根据BMP规定以及BGP规定,解析报文内容并通过可视化的界面向用户呈现。
[0005]当前的一种路由上报的方式是,客户端向监控邻居发送refresh请求,接收来自监控邻居上报的BGP Update报文,并将该BGP Update报文直接上报给监控服务器,这种路由上报方法简单、不需要额外消耗内存,但是每新增一个监控服务器,都需要重新向监控户邻居触发一次refresh请求,需要占用网络带宽来实现,同时客户端将接收到的所有BGP Update报文中携带的路由都上报给监控服务器,如果这些上报的路由中有监控服务器不支持的路由类型,则监控服务器可能由于无法正确解析BGP Update报文发生错误。
技术实现思路
[0006]鉴于此,本申请提供一种BGP Update报文的更新方法和装置,用于解决客户端向监控服务器直接上报BGP Update报文,导致监控服务器无法正确解析报文发生错误,以及重申请发送更新报文占用网络带宽资源的问题。具体地,公开了如下技术方案:
[0007]第一方面,本专利技术实施例提供了一种BGP Update报文的更新方法,该方法可以应用于一种网络设备,比如BGP客户端,该方法包括:接收来自邻居设备的第一BGP Update报文;解析所述第一BGP Update报文,得到所述第一BGP Update报文中携带的各路由的类型;将解析的各路由的类型与本地配置的所述邻居设备支持的路由类型进行匹配;在所述各路由类型中确定相匹配的路由类型,并根据所述相匹配的路由类型生成第二BGP Update报文;将所述第二BGP Update报文封装后,发送给BMP服务器。
[0008]结合第一方面,在第一方面的一种可能的实现方式中,解析所述第一BGP Update报文还得到每个路由类型的地址族信息AFI字段和子地址族信息SAFI字段,所述AFI字段和所述SAFI字段用于指示当前路由所属的地址族;将所述各路由的类型与本地配置的所述邻
居设备支持上报的路由类型进行匹配,包括:判断各路由的所述AFI字段和所述SAFI字段指示的地址族,与,所述邻居设备配置支持上报的地址族信息是否都相同。
[0009]结合第一方面,在第一方面的另一种可能的实现方式中,在所述各路由类型中确定相匹配的路由类型,并根据所述相匹配的路由类型生成第二BGP Update报文,具体可以包括方式一和方式二:
[0010]方式一,获取不相匹配的路由类型,将所述不相匹配的路由类型从所述第一BGP Update报文剔除,剩余的相匹配的路由类型生成所述第二BGP Update报文。
[0011]方式二,获取不相匹配的路由类型,在所述第一BGP Update报文标记所述不相匹配的路由类型,生成所述第二BGP Update报文,其中被标记的路由类型在上报后不被所述BMP服务器解析。
[0012]可选的,可通过配置指示信息“1”或“0”来标记路由类型是否需要被解析,比如设置指示信息为“0”表示屏蔽该路由,“1”表示不屏蔽该路由。
[0013]结合第一方面,在第一方面的又一种可能的实现方式中,将所述第二BGP Update报文进行封装之前,还包括:判断相匹配的路由类型、且本地与所述邻居设备建立邻居关系的邻居上是否配置了keep
‑
all
‑
routes功能;如果未配置,则执行所述将所述第二BGP Update报文封装后,发送给BMP服务器的步骤。
[0014]结合第一方面,在第一方面的又一种可能的实现方式中,所述方法还包括:如果已配置,则根据所述第二BGP Update报文生成实时路由变化的自组包,并将所述自组包发送给所述BMP服务器。
[0015]结合第一方面,在第一方面的又一种可能的实现方式中,所述将解析的各路由的类型进行相似度匹配之后,还包括:如果所述各路由类型全部相匹配,则判断所述邻居上是否配置了keep
‑
all
‑
routes功能;如果未配置,则将所述第一BGP Update报文封装后,发送给所述BMP服务器。
[0016]结合第一方面,在第一方面的又一种可能的实现方式中,所述方法还包括:如果已配置,则根据所述第一BGP Update报文生成实时路由变化的自组包,并将所述自组包发送给所述BMP服务器。
[0017]第二方面,本专利技术实施例还公开了一种BGP Update报文的更新装置,所述装置用于实现前述第一方面或第一方面任一实现方式所述的方法,该装置包括:
[0018]接收单元,用于接收来自邻居设备的第一BGP Update报文;
[0019]解析单元,用于解析所述第一BGP Update报文,得到所述第一BGP Update报文中携带的各路由的类型;
[0020]匹配单元,用于将解析的各路由的类型与本地配置的所述邻居设备支持的路由类型进行匹配,以及在所述各路由类型中确定相匹配的路由类型;
[0021]生成单元,用于根据所述相匹配的路由类型生成第二BGP Update报文;
[0022]发送单元,用于将所述第二BGP Update报文封装后,发送给BMP服务器。
[0023]第三方面,本专利技术实施例还公开了一种网络设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一实现方式所述的BGP Update报文的更新方法。
[0024]第四方面,本专利技术实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时,实现如第一方面或第一方面任一实现方式所述BGP Upd本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种BGP Update报文的更新方法,其特征在于,所述方法包括:接收来自邻居设备的第一边界网关协议BGP Update报文;解析所述第一BGP Update报文,得到所述第一BGP Update报文中携带的各路由的类型;将解析的各路由的类型与本地配置的所述邻居设备支持的路由类型进行匹配;在所述各路由类型中确定相匹配的路由类型,并根据所述相匹配的路由类型生成第二BGP Update报文;将所述第二BGP Update报文封装后,发送给BMP服务器。2.根据权利要求1所述的方法,其特征在于,解析所述第一BGP Update报文还得到每个路由类型的地址族信息AFI字段和子地址族信息SAFI字段,所述AFI字段和所述SAFI字段用于指示当前路由所属的地址族;将所述各路由的类型与本地配置的所述邻居设备支持的路由类型进行匹配,包括:判断各路由的所述AFI字段和所述SAFI字段指示的地址族,与,所述邻居设备配置支持上报的地址族信息是否都相同。3.根据权利要求1所述的方法,其特征在于,在所述各路由类型中确定相匹配的路由类型,并根据所述相匹配的路由类型生成第二BGP Update报文,包括:获取不相匹配的路由类型,将所述不相匹配的路由类型从所述第一BGP Update报文剔除,剩余的相匹配的路由类型生成所述第二BGP Update报文;或者,获取不相匹配的路由类型,在所述第一BGP Update报文标记所述不相匹配的路由类型,生成所述第二BGP Update报文,其中被标记的路由类型在上报后不被所述BMP服务器解析。4.根据权利要求1
‑
3任一项所述的方法,其特征在于,将所述第二BGP Update报文进行封装之前,还包括:判断相匹配的路由类型、且本地与所述邻居设备建立邻居关系的邻居上是否配置了keep
‑
all
‑
routes功能;如果未配置,则执行所述将所...
【专利技术属性】
技术研发人员:朱超鹏,
申请(专利权)人:新华三技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。