一种bgp报文处理方法及系统

文档序号:1675561 发布日期:2019-12-31 浏览:23次 >En<

阅读说明:本技术 一种bgp报文处理方法及系统 (BGP message processing method and system ) 是由 雷棋 兰海翔 李卫群 周发辉 陈军 于 2019-08-30 设计创作,主要内容包括:本发明涉及一种BGP报文处理方法及系统,所述方法包括如下步骤:接收发送设备发送的BGP报文;根据所述BGP报文的权重对所述BGP报文进行分类,将相同权重的所述BGP报文存储至同一个队列;比对所述BGP报文的处理速度和第一预设阈值,当所述处理速度低于所述第一预设阈值时,根据权重从高到低的顺序依次提取对应的所述队列中的所述BGP报文进行处理。本发明的技术方案中,在BGP报文的处理速度较低时,优先处理权重更高的BGP报文,能够避免发生重要BGP报文丢包的现象,防止重要信息的丢失。(The invention relates to a BGP message processing method and a system, wherein the method comprises the following steps: receiving a BGP message sent by a sending device; classifying the BGP messages according to the weights of the BGP messages, and storing the BGP messages with the same weight to the same queue; and comparing the processing speed of the BGP message with a first preset threshold, and when the processing speed is lower than the first preset threshold, sequentially extracting the BGP messages in the corresponding queues from high to low according to the weight for processing. In the technical scheme of the invention, when the processing speed of the BGP message is lower, the BGP message with higher weight is processed preferentially, so that the phenomenon of important BGP message packet loss can be avoided, and the loss of important information is prevented.)

一种BGP报文处理方法及系统

技术领域

本发明涉及通信技术领域,尤其涉及一种BGP报文处理方法及系统。

背景技术

BGP(Border Gateway Protocol,边界网关协议)是一种动态路由协议,用于不同AS(Autonomous System,自治系统)之间的网络设备交换路由信息,相互交互路由信息的网络设备互为BGP对等体。

目前,在BGP对等体之间建立BGP邻居后,发送设备发送BGP报文至接收设备,如果BGP报文的传输速率很快,发送设备和接收设备之间的通信接口的收包队列会被填满而发生丢包的情况,此时如果有重要报文发生丢包,会导致对应的重要信息的丢失。

发明内容

针对上述现有技术的不足,本发明提供一种BGP报文处理方法及系统。

本发明解决上述技术问题的技术方案如下:

第一方面,本发明提供了一种BGP报文处理方法,所述方法包括如下步骤:

接收发送设备发送的BGP报文。

根据所述BGP报文的权重对所述BGP报文进行分类,将相同权重的所述BGP报文存储至同一个队列。

比对所述BGP报文的处理速度和第一预设阈值,当所述处理速度低于所述第一预设阈值时,根据权重从高到低的顺序依次提取对应的所述队列中的所述BGP报文进行处理。

第二方面,本发明提供了一种BGP报文处理系统,包括:

接收模块,用于接收发送设备发送的BGP报文。

分类模块,用于根据所述BGP报文的权重对所述BGP报文进行分类,将相同权重的所述BGP报文存储至同一个队列。

第一处理模块,用于比对所述BGP报文的处理速度和第一预设阈值,当所述处理速度低于所述第一预设阈值时,根据权重从高到低的顺序依次提取对应的所述队列中的所述BGP报文进行处理。

本发明的BGP报文处理方法及系统的有益效果是:根据BGP报文的权重对接收到的BGP报文进行分类,可在发送设备生成BGP报文时,为BGP报文赋予对应的权重,分类后将相同权重的BGP报文存储在同一队列中,当发现BGP报文的处理速度低于第一预设阈值时,即此时处理效率不佳时,可能会导致BGP报文堆积,此时根据权重从高到低的顺序依次处理BGP报文。本发明的技术方案中,在BGP报文的处理速度较低时,优先处理权重更高的BGP报文,能够避免发生重要BGP报文丢包的现象,防止重要信息的丢失。

附图说明

图1为本发明实施例的BGP报文处理方法的流程示意图;

图2为本发明实施例的BGP报文处理系统的结构示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,本发明实施例提供的一种BGP报文处理方法,应用于接收设备,所述方法包括如下步骤:

110,接收发送设备发送的BGP报文。

具体地,在接收设备与发送设备建立BGP邻居后,发送设备向接收设备发送BGP报文。

120,根据所述BGP报文的权重对所述BGP报文进行分类,将相同权重的所述BGP报文存储至同一个队列。

具体地,在发送设备生成BGP报文后,根据BGP报文的类型分别为BGP报文赋予相应的权重。

130,比对所述BGP报文的处理速度和第一预设阈值,当所述处理速度低于所述第一预设阈值时,根据权重从高到低的顺序依次提取对应的所述队列中的所述BGP报文进行处理。

具体地,当BGP报文的处理速度低于第一预设阈值时,表示接收设备当前的处理性能不好或者发生网络堵塞,此时优先处理权重高的报文,可以避免重要报文出现丢包现象。

本实施例中,根据BGP报文的权重对接收到的BGP报文进行分类,可在发送设备生成BGP报文时,为BGP报文赋予对应的权重,分类后将相同权重的BGP报文存储在同一队列中,当发现BGP报文的处理速度低于第一预设阈值时,即此时处理效率不佳时,可能会导致BGP报文堆积,此时根据权重从高到低的顺序依次处理BGP报文。本发明的技术方案中,在BGP报文的处理速度较低时,优先处理权重更高的BGP报文,能够避免发生重要BGP报文丢包的现象,防止重要信息的丢失。

优选地,在所述根据所述报文的权重对所述报文进行分类的步骤之前,所述方法还包括如下步骤:

预先为所述发送设备中每个待发送的所述BGP报文赋予对应的权重。

具体地,在发送设备生成待发送的BGP报文后,根据BGP报文的类型为每个BGP报文赋予权重,例如:可按照权重从高到低的顺序分别为更新报文、保活报文、打开报文和通知报文赋予权重。

优选地,所述根据权重从高到低的顺序依次提取对应的所述队列中的所述BGP报文进行处理具体包括如下步骤:

提取所述BGP报文中的前缀信息。

将所述前缀信息与预先存储的前缀信息进行匹配,根据匹配结果确定是否发生前缀劫持。

具体地,前缀劫持是指从属于某个自治系统的边界路由器通过BGP向外发布了不属于自身前缀信息的更新报文或者对外发布虚假的最优选路,导致了真实网络的不可达,会对互联网产生重大的危害。预先将每个发送设备的信息和该发送设备的BGP报文的标准前缀信息存储对应进行存储在列表,提取接收到的BGP报文的前缀信息,并根据该BGP报文对应的发送设备的信息在列表中读取对应的标准前缀信息,比对前缀信息和标准前缀信息,根据比对结果判断是否发生了前缀劫持。若比对失败,发生了前缀劫持,则立刻发送报警信息至报警装置进行显示,以便工作人员及时进行处理。

本优选的实施例中,对接收到的BGP报文进行前缀劫持检测,便于在发生前缀劫持时及时进行报警,能够保证通信过程的安全,并且简单方便。

优选地,在所述根据权重从高到低的顺序依次提取对应的所述队列中的所述BGP报文进行处理的步骤之后,所述方法还包括如下步骤:

统计所述BGP报文中待处理的BGP报文的数量。

比对所述待处理的BGP报文的数量与第二预设阈值,当所述待处理的BGP报文的数量大于所述第二预设阈值时,发送反馈报文至所述发送设备,使所述发送设备暂停发送所述BGP报文。

具体地,当BGP报文的处理速度低于第一预设阈值时,表示接收设备可能已发生网络堵塞,此时若继续接收发送设备发送的BGP报文,可能会使接收设备卡死,因此首先统计待处理的BGP报文的数量,比对该数量与第二预设阈值,当该数量大于第二预设阈值时,说明已发生网络堵塞,接收设备已超负荷,此时发送反馈报文至发送设备,使发送设备暂停发送BGP报文,避免因接收大量BGP报文导致接收设备处理器占用率高,影响处理效率,甚至导致卡死。

本优选的实施例中,能够在待处理的BGP报文过多时,通知发送设备暂停发送BGP报文,避免接收设备因接收大量BGP报文导致处理效率下降。

优选地,在所述发送反馈报文至所述发送设备,使所述发送设备暂停发送所述BGP报文的步骤之后,所述方法还包括如下步骤:

当所述待处理的BGP报文的数量缩减至第三预设阈值时,发送请求报文至所述发送设备,使所述发送设备继续发送所述BGP报文,所述第三预设阈值小于所述第二预设阈值。

具体地,随着接收设备对BGP报文的处理,当待处理的BGP报文的数量缩减至第二预设阈值时,表示已不再发生网络堵塞,此时通知发送设备重新发送BGP报文,保证通信的正常进行。使第三预设阈值小于第二预设阈值,在暂停发送BGP报文和重新发送BGP报文之间设置一个缓冲范围,避免频繁发送反馈报文和请求报文至发送设备,减轻接收设备的负荷。

如图2所示,本发明实施例提供的一种BGP报文处理系统,包括:

接收模块,用于接收发送设备发送的BGP报文。

分类模块,用于根据所述BGP报文的权重对所述BGP报文进行分类,将相同权重的所述BGP报文存储至同一个队列。

第一处理模块,用于比对所述BGP报文的处理速度和第一预设阈值,当所述处理速度低于所述第一预设阈值时,根据权重从高到低的顺序依次提取对应的所述队列中的所述BGP报文进行处理。

优选地,还包括赋权模块,所述赋权模块用于:

预先为所述发送设备中每个待发送的所述BGP报文赋予对应的权重。

优选地,所述第一处理模块具体用于:

提取所述BGP报文中的前缀信息。

将所述前缀信息与预先存储的前缀信息进行匹配,根据匹配结果确定是否发生前缀劫持。

优选地,还包括第二处理模块,所述第二处理模块用于:

统计所述BGP报文中待处理的BGP报文的数量。

比对所述待处理的BGP报文的数量与第二预设阈值,当所述待处理的BGP报文的数量大于所述第二预设阈值时,发送反馈报文至所述发送设备,使所述发送设备暂停发送所述BGP报文。

优选地,所述第二处理模块还用于:

当所述待处理的BGP报文的数量缩减至第三预设阈值时,发送请求报文至所述发送设备,使所述发送设备继续发送所述BGP报文,所述第三预设阈值小于所述第二预设阈值。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:知识中心网络的知识路由方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!