CN102739524B - 一种基于路由控制策略的报文发送方法和设备 - Google Patents

一种基于路由控制策略的报文发送方法和设备 Download PDF

Info

Publication number
CN102739524B
CN102739524B CN201210185937.1A CN201210185937A CN102739524B CN 102739524 B CN102739524 B CN 102739524B CN 201210185937 A CN201210185937 A CN 201210185937A CN 102739524 B CN102739524 B CN 102739524B
Authority
CN
China
Prior art keywords
bgp
peer
route
bgp route
send
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210185937.1A
Other languages
English (en)
Other versions
CN102739524A (zh
Inventor
陈岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201210185937.1A priority Critical patent/CN102739524B/zh
Publication of CN102739524A publication Critical patent/CN102739524A/zh
Application granted granted Critical
Publication of CN102739524B publication Critical patent/CN102739524B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于路由控制策略的报文发送方法和设备,该方法包括:BGP路由交换设备判断在路由控制策略发生变化前后得到的处理后的BGP路由属性是否相同;如果否,所述BGP路由交换设备向BGP对等体发送update报文;如果是,所述BGP路由交换设备拒绝向所述BGP对等体发送update报文。本发明中,可以减少链路负担,提高链路安全性,并减少CPU的损耗。

Description

一种基于路由控制策略的报文发送方法和设备
技术领域
本发明涉及通信技术领域,特别是涉及了一种基于路由控制策略的报文发送方法和设备。
背景技术
路由控制策略是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性(包括可达性)来实现;其中,路由控制策略的应用包括:(1)控制路由的发布:路由协议在发布路由信息时,通过路由控制策略对路由信息进行过滤,只发布满足条件的路由信息;(2)控制路由的接收:路由协议在接收路由信息时,通过路由控制策略对路由信息进行过滤,只接收满足条件的路由信息;(3)管理引入的路由:路由协议在引入其它路由协议发现的路由时,通过路由控制策略只引入满足条件的路由信息,并控制所引入的路由信息的某些属性,以满足本协议的要求;(4)设置路由的属性:对通过路由控制策略的路由设置相应的属性。
BGP(BorderGatewayProtocol,边界网关协议)是一种在自治系统之间动态交换路由信息的路由协议,BGP路由器在向BGP对等体发送BGP路由时,可以通过设置路由控制策略对BGP路由进行筛选,且该过程中可能会基于路由控制策略对BGP路由对应的BGP路由属性进行修改,且BGP路由器需要向BGP对等体发送携带修改后的BGP路由属性的update(更新)报文。
进一步的,如果路由控制策略发生变化,则BGP路由器需要重新向BGP对等体发送BGP路由,且BGP路由器会通过变化后的路由控制策略对BGP路由进行筛选,并向BGP对等体发送update报文;但是update报文的发送会增加链路负担,且增加CPU(CentralProcessingUnit,中央处理单元)的损耗。
发明内容
本发明提供一种基于路由控制策略的报文发送方法和设备,以减少链路负担,并减少CPU的损耗。
为了达到上述目的,本发明实施例提供一种基于路由控制策略的报文发送方法,应用于包括边界网关协议BGP路由交换设备和BGP对等体的网络中,所述BGP路由交换设备上配置有向所述BGP对等体发送BGP路由的路由控制策略,该方法包括以下步骤:
所述BGP路由交换设备在需要向所述BGP对等体发送BGP路由时,利用所述路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到处理后的BGP路由属性,并更新所述处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,以及向所述BGP对等体发送携带所述当前BGP路由属性的更新update报文;
在所述路由控制策略发生变化时,所述BGP路由交换设备重新向所述BGP对等体发送所述BGP路由,且所述BGP路由交换设备利用变化后的路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到对应所述变化后的路由控制策略的处理后的BGP路由属性;
所述BGP路由交换设备判断所述对应变化后的路由控制策略的处理后的BGP路由属性与所述当前BGP路由属性是否相同;如果否,所述BGP路由交换设备更新所述对应变化后的路由控制策略的处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,并向所述BGP对等体发送携带所述当前BGP路由属性的update报文;如果是,所述BGP路由交换设备拒绝向所述BGP对等体发送携带所述当前BGP路由属性的update报文。
发送或拒绝发送update报文的过程,进一步包括:
在判断结果为是时,所述BGP路由交换设备设置发送标志位send_flag为第一标识,在判断结果为否时,所述BGP路由交换设备设置send_flag为第二标识,且所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;
所述BGP路由交换设备查询send_flag的标识,如果send_flag为所述第一标识,则所述BGP路由交换设备拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为所述第二标识,则所述BGP路由交换设备向所述BGP对等体发送携带当前BGP路由属性的update报文。
在所述BGP路由交换设备需要向所述BGP对等体发送多条BGP路由时,发送或拒绝发送update报文的过程,进一步包括:
当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性不同,则针对所述多条BGP路由,所述BGP路由交换设备均需要向所述BGP对等体发送携带当前BGP路由属性的update报文;
当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性相同,则针对所述多条BGP路由,所述BGP路由交换设备均需要拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文。
所述方法进一步包括:所述BGP路由交换设备在向所述BGP对等体发送所述多条BGP路由中的第一条BGP路由时,所述BGP路由交换设备判断所述第一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与所述第一条BGP路由的当前BGP路由属性是否相同;如果否,则设置send_flag为第二标识,并向所述BGP对等体发送携带当前BGP路由属性的update报文;如果是,则设置send_flag为第一标识,并拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文;其中,所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;
所述BGP路由交换设备在向所述BGP对等体发送所述多条BGP路由中的其它BGP路由时,所述BGP路由交换设备查询send_flag的标识,如果send_flag为第一标识,则所述BGP路由交换设备拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为第二标识,则所述BGP路由交换设备向所述BGP对等体发送携带当前BGP路由属性的update报文。
所述路由控制策略包括以下之一或任意组合:
ORIGIN策略;
AS_PATH策略;
NEXT_HOP策略;
MULTI_EXIT_DISC策略;
LOCAL_PREF策略;
Community策略;
Extcommunity策略。
本发明实施例提供一种边界网关协议BGP路由交换设备,应用于包括所述BGP路由交换设备和BGP对等体的网络中,所述BGP路由交换设备上配置有向所述BGP对等体发送BGP路由的路由控制策略,该BGP路由交换设备包括:
第一处理模块,用于在需要向所述BGP对等体发送BGP路由时,利用所述路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到处理后的BGP路由属性,并更新所述处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,以及向所述BGP对等体发送携带所述当前BGP路由属性的更新update报文;
第二处理模块,用于在所述路由控制策略发生变化时,确定重新向所述BGP对等体发送所述BGP路由,且利用变化后的路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到对应所述变化后的路由控制策略的处理后的BGP路由属性;
判断模块,用于判断所述对应变化后的路由控制策略的处理后的BGP路由属性与所述当前BGP路由属性是否相同;
发送模块,用于当判断结果为否时,更新所述对应变化后的路由控制策略的处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,并向所述BGP对等体发送携带所述当前BGP路由属性的update报文;当判断结果为是时,拒绝向所述BGP对等体发送携带所述当前BGP路由属性的update报文。
所述发送模块,进一步用于在判断结果为是时,设置发送标志位send_flag为第一标识,在判断结果为否时,设置send_flag为第二标识,且所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;以及,查询send_flag的标识,如果send_flag为所述第一标识,则拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为所述第二标识,则向所述BGP对等体发送携带当前BGP路由属性的update报文。
在所述BGP路由交换设备需要向所述BGP对等体发送多条BGP路由时;
所述发送模块,进一步用于当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性不同,则针对所述多条BGP路由,均需要向所述BGP对等体发送携带当前BGP路由属性的update报文;
当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性相同,则针对所述多条BGP路由,均需要拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文。
所述判断模块,进一步用于在向所述BGP对等体发送所述多条BGP路由中的第一条BGP路由时,判断所述第一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与所述第一条BGP路由的当前BGP路由属性是否相同;
所述发送模块,进一步用于在判断结果为否时,设置send_flag为第二标识,并向所述BGP对等体发送携带当前BGP路由属性的update报文;在判断结果为是时,设置send_flag为第一标识,并拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文;其中,所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;以及,
在向所述BGP对等体发送所述多条BGP路由中的其它BGP路由时,查询send_flag的标识,如果send_flag为第一标识,则拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为第二标识,则向所述BGP对等体发送携带当前BGP路由属性的update报文。
所述路由控制策略包括以下之一或任意组合:
ORIGIN策略;
AS_PATH策略;
NEXT_HOP策略;
MULTI_EXIT_DISC策略;
LOCAL_PREF策略;
Community策略;
Extcommunity策略。
与现有技术相比,本发明至少具有以下优点:本发明实施例中,在路由控制策略发生变化时,可以减少不必要的update报文的发送,从而减少链路负担,提高链路安全性,并减少CPU的损耗。
附图说明
图1是本发明实施例的应用场景示意图;
图2是本发明实施例提供的一种基于路由控制策略的报文发送方法流程示意图;
图3是本发明实施例中变化后的路由控制策略示意图;
图4是本发明实施例提出的一种BGP路由交换设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
本发明实施例提出一种基于路由控制策略的报文发送方法,该方法应用于包括BGP路由交换设备(如BGP路由器,后续以BGP路由器为例进行说明)和BGP对等体的网络中,且BGP路由器和BGP对等体是相对的;以图1为本发明实施例的应用场景示意图,BGP路由器B和BGP路由器C是BGP路由器A的BGP对等体,且BGP路由器A是BGP路由器B的BGP对等体,且BGP路由器A是BGP路由器C的BGP对等体。
需要注意的是,如果BGP路由器上配置有向BGP对等体发送BGP路由的路由控制策略,则执行本发明实施例后续过程;如果BGP路由器上未配置有向BGP对等体发送BGP路由的路由控制策略,则不执行本发明实施例后续过程;因此,如果BGP路由器上配置有向BGP对等体发送BGP路由的路由控制策略,则如图2所示,该方法包括以下步骤:
步骤201,BGP路由器在需要向BGP对等体发送BGP路由时,利用路由控制策略对BGP路由对应的BGP路由属性进行处理,得到处理后的BGP路由属性(以BGP路由属性1为例),并更新BGP路由属性1为BGP路由对应的当前BGP路由属性(BGP路由器上会记录当前BGP路由属性),以及向BGP对等体发送携带当前BGP路由属性的update报文。
需要注意的是,在利用路由控制策略对BGP路由属性进行处理时,得到的BGP路由属性1可以与BGP路由对应的BGP路由属性相同(即未利用路由控制策略对BGP路由属性进行修改);BGP路由属性1也可以与BGP路由对应的BGP路由属性不同(即利用路由控制策略对BGP路由属性进行修改)。
步骤202,在路由控制策略发生变化时,BGP路由器需要重新向BGP对等体发送BGP路由,并利用变化后的路由控制策略对BGP路由对应的BGP路由属性进行处理,得到对应变化后的路由控制策略的处理后的BGP路由属性(以BGP路由属性2为例)。
步骤203,BGP路由器判断BGP路由属性2与当前BGP路由属性(即BGP路由属性1)是否相同;如果否,执行步骤204;如果是,执行步骤205。
需要注意的是,BGP路由器可以将当前BGP路由属性(即BGP路由属性1)存储在属性hash表中,且在获得BGP路由属性2之后,通过将BGP路由属性2的每个属性指针与BGP路由属性1的每个属性指针进行比对,以提高比较速度(其速度比字符串比较更快)。
步骤204,BGP路由器更新BGP路由属性2为BGP路由对应的当前BGP路由属性(即将记录的当前BGP路由属性由BGP路由属性1修改为BGP路由属性2),并向BGP对等体发送携带当前BGP路由属性的update报文。
步骤205,BGP路由器拒绝向BGP对等体发送携带当前BGP路由属性的update报文,即不发送update报文,以减少链路负担,并减少CPU的损耗。
本发明实施例的一种优选实施方式中,在判断结果为是时,则BGP路由器设置send_flag(发送标志位)为第一标识(如0),在判断结果为否时,则BGP路由器设置send_flag为第二标识(如1);且第一标识表示不需要发送update报文,第二标识表示需要发送update报文;进一步的,BGP路由器通过查询send_flag的标识,如果send_flag为第一标识,则BGP路由器拒绝向BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为第二标识,则BGP路由器向BGP对等体发送携带当前BGP路由属性的update报文。
本发明实施例中,上述路由控制策略包括但不限于以下之一或任意组合:ORIGIN策略,用于指明路由的来源,可来自自治域内、自治域外、或通过其它途径得到;AS_PATH策略,即路由经过的自治域的列表;NEXT_HOP策略,即路由的下一跳地址;MULTI_EXIT_DISC策略,即来自自治域外的路由的权值,在进行路由选择时,MED值较低的路由被优先选择;LOCAL_PREF策略,本自治域内路由的优选等级,进行路由选择时,此值较高的路由被优先选择;Community策略,即团体属性;Extcommunity策略,即扩展团体属性。
以下结合图1所示的应用场景对本发明实施例进行详细说明。
首先需要定义路由控制策略,例如,将ORIGIN、AS_PATH、NEXT_HOP、LOCAL_PREF、MULTI_EXIT_DISC、Community和Extcommunity中的一种或几种属性作为路由控制策略。
基于路由控制策略,当BGP路由器A需要向BGP路由器B和BGP路由器C发送BGP路由时,利用该路由控制策略检查BGP路由对应的BGP路由属性,并根据检查结果修改或不修改BGP路由对应的BGP路由属性,得到处理后的BGP路由属性(以BGP路由属性1为例,BGP路由属性1可以与BGP路由对应的BGP路由属性相同,也可以与BGP路由对应的BGP路由属性不同);之后,BGP路由器A向BGP路由器B和BGP路由器C分别发送携带BGP路由属性1的update报文,对BGP路由的发送过程在此不再赘述。
进一步的,在路由控制策略发生变化时,变化后的路由控制策略如图3所示,假设在变化后的路由控制策略中添加有local_pref200,且local_pref200与本自治域相关,即当BGP路由器与BGP对等体之间是IBGP(内部BGP)邻居关系时,local_pref200会发生作用,当BGP路由器与BGP对等体之间是EBGP(外部BGP)邻居关系时,local_pref200不会发生作用;以图1所示的应用场景为例,BGP路由器A与BGP路由器B之间是EBGP关系,BGP路由器A与BGP路由器C之间是IBGP关系;在路由控制策略发生变化时:
BGP路由器A需要重新向BGP路由器B发送BGP路由,由于BGP路由器A与BGP路由器B之间是EBGP关系,且当BGP路由器与BGP对等体之间是EBGP邻居关系时,local_pref200不会发生作用,因此在利用变化后的路由控制策略检查BGP路由对应的BGP路由属性时,得到的处理后的BGP路由属性仍然为BGP路由属性l,即路由控制策略修改前后得到的BGP路由属性并未发生变化,此时不需要向BGP路由器B发送update报文。
BGP路由器A需要重新向BGP路由器C发送BGP路由,由于BGP路由器A与BGP路由器C之间是IBGP关系,且当BGP路由器与BGP对等体之间是IBGP邻居关系时,local_pref200会发生作用,因此在利用变化后的路由控制策略检查BGP路由对应的BGP路由属性时,得到的处理后的BGP路由属性不再是BGP路由属性1,即路由控制策略修改前后得到的BGP路由属性将会发生变化,此时需要向BGP路由器B发送update报文。
综上所述,本发明实施例中,在路由控制策略发生变化时,可以合理的确定发送update报文或者不发送update报文,减少无用的update报文的发送和处理,从而可以减少链路负担,提高链路安全性,减少CPU损耗。
本发明实施例中,在路由控制策略发生变化时,如果需要发送的BGP路由较多,则对每条BGP路由均按照上述方式进行处理时,比较耗时且浪费BGP路由器的处理开销;且需要注意的是,针对向同一BGP对等体发送的多条BGP路由,当确定有一条BGP路由在路由控制策略变化前后对应的BGP路由属性相同(即步骤201中得到的BGP路由属性1和步骤202中得到的BGP路由属性2相同),则所有BGP路由在路由控制策略变化前后对应的BGP路由属性均相同;当确定有一条BGP路由在路由控制策略变化前后对应的BGP路由属性不同,则所有BGP路由在路由控制策略变化前后对应的BGP路由属性不同。
因此,在BGP路由器需要向BGP对等体发送多条BGP路由时,当确定有一条BGP路由(例如,需要重新向BGP对等体发送的第一条BGP路由)在路由控制策略变化前后对应的BGP路由属性不同,则针对多条BGP路由,BGP路由器均需要向BGP对等体发送携带当前BGP路由属性的update报文;当确定有一条BGP路由(即第一条BGP路由)在路由控制策略变化前后对应的BGP路由属性相同,则针对多条BGP路由,BGP路由器均需要拒绝向BGP对等体发送携带当前BGP路由属性的update报文,即不发送update报文。
进一步的,针对上述BGP路由器需要向BGP对等体发送多条BGP路由的过程,在路由控制策略发生变化后,本发明实施例的一种优选实施方式为:
BGP路由器在向BGP对等体发送多条BGP路由中的第一条BGP路由时,判断第一条BGP路由在路由控制策略变化前后对应的处理后的BGP路由属性是否相同;如果否,则设置send_flag为第二标识,并向BGP对等体发送携带当前BGP路由属性的update报文;如果是,则设置send_flag为第一标识,并拒绝向BGP对等体发送携带当前BGP路由属性的update报文;其中,第一标识表示不需要发送update报文,第二标识表示需要发送update报文;
之后,BGP路由器在向BGP对等体发送多条BGP路由中的其它BGP路由时,查询send_flag的标识,如果send_flag为第一标识,则拒绝向BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为第二标识,则向BGP对等体发送携带当前BGP路由属性的update报文。
基于与上述方法同样的发明构思,本发明实施例还提出了一种边界网关协议BGP路由交换设备,应用于包括所述BGP路由交换设备和BGP对等体的网络中,且所述BGP路由交换设备上配置有向所述BGP对等体发送BGP路由的路由控制策略,如图4所示,该BGP路由交换设备包括:
第一处理模块11,用于在需要向所述BGP对等体发送BGP路由时,利用所述路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到处理后的BGP路由属性,并更新所述处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,以及向所述BGP对等体发送携带所述当前BGP路由属性的更新update报文;
第二处理模块12,用于在所述路由控制策略发生变化时,确定重新向所述BGP对等体发送所述BGP路由,且利用变化后的路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到对应所述变化后的路由控制策略的处理后的BGP路由属性;
判断模块13,用于判断所述对应变化后的路由控制策略的处理后的BGP路由属性与所述当前BGP路由属性是否相同;
发送模块14,用于当判断结果为否时,更新所述对应变化后的路由控制策略的处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,并向所述BGP对等体发送携带所述当前BGP路由属性的update报文;当判断结果为是时,拒绝向所述BGP对等体发送携带所述当前BGP路由属性的update报文。
所述发送模块14,进一步用于在判断结果为是时,设置发送标志位send_flag为第一标识,在判断结果为否时,设置send_flag为第二标识,且所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;以及,查询send_flag的标识,如果send_flag为所述第一标识,则拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为所述第二标识,则向所述BGP对等体发送携带当前BGP路由属性的update报文。
在所述BGP路由交换设备需要向所述BGP对等体发送多条BGP路由时;所述发送模块14,进一步用于当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性不同,则针对所述多条BGP路由,均需要向所述BGP对等体发送携带当前BGP路由属性的update报文;
当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性相同,则针对所述多条BGP路由,均需要拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文。
所述判断模块13,进一步用于在向所述BGP对等体发送所述多条BGP路由中的第一条BGP路由时,判断所述第一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与所述第一条BGP路由的当前BGP路由属性是否相同;
所述发送模块14,进一步用于在判断结果为否时,设置send_flag为第二标识,并向所述BGP对等体发送携带当前BGP路由属性的update报文;在判断结果为是时,设置send_flag为第一标识,并拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文;其中,所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;以及,
在向所述BGP对等体发送所述多条BGP路由中的其它BGP路由时,查询send_flag的标识,如果send_flag为第一标识,则拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为第二标识,则向所述BGP对等体发送携带当前BGP路由属性的update报文。
本发明实施例中,所述路由控制策略包括以下之一或任意组合:
ORIGIN策略;
AS_PATH策略;
NEXT_HOP策略;
MULTI_EXIT_DISC策略;
LOCAL_PREF策略;
Community策略;
Extcommunity策略。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1.一种基于路由控制策略的报文发送方法,应用于包括边界网关协议BGP路由交换设备和BGP对等体的网络中,其特征在于,所述BGP路由交换设备上配置有向所述BGP对等体发送BGP路由的路由控制策略,该方法包括以下步骤:
所述BGP路由交换设备在需要向所述BGP对等体发送BGP路由时,利用所述路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到处理后的BGP路由属性,并更新所述处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,以及向所述BGP对等体发送携带所述当前BGP路由属性的更新update报文;
在所述路由控制策略发生变化时,所述BGP路由交换设备重新向所述BGP对等体发送所述BGP路由,且所述BGP路由交换设备利用变化后的路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到对应所述变化后的路由控制策略的处理后的BGP路由属性;
所述BGP路由交换设备判断所述对应变化后的路由控制策略的处理后的BGP路由属性与所述当前BGP路由属性是否相同;如果否,所述BGP路由交换设备更新所述对应变化后的路由控制策略的处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,并向所述BGP对等体发送携带所述当前BGP路由属性的update报文;如果是,所述BGP路由交换设备拒绝向所述BGP对等体发送携带所述当前BGP路由属性的update报文。
2.如权利要求1所述的方法,其特征在于,发送或拒绝发送update报文的过程,进一步包括:
在判断结果为是时,所述BGP路由交换设备设置发送标志位send_flag为第一标识,在判断结果为否时,所述BGP路由交换设备设置send_flag为第二标识,且所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;
所述BGP路由交换设备查询send_flag的标识,如果send_flag为所述第一标识,则所述BGP路由交换设备拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为所述第二标识,则所述BGP路由交换设备向所述BGP对等体发送携带当前BGP路由属性的update报文。
3.如权利要求1所述的方法,其特征在于,在所述BGP路由交换设备需要向所述BGP对等体发送多条BGP路由时,发送或拒绝发送update报文的过程,进一步包括:
当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性不同,则针对所述多条BGP路由,所述BGP路由交换设备均需要向所述BGP对等体发送携带当前BGP路由属性的update报文;
当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性相同,则针对所述多条BGP路由,所述BGP路由交换设备均需要拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文。
4.如权利要求3所述的方法,其特征在于,所述方法进一步包括:
所述BGP路由交换设备在向所述BGP对等体发送所述多条BGP路由中的第一条BGP路由时,所述BGP路由交换设备判断所述第一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与所述第一条BGP路由的当前BGP路由属性是否相同;如果否,则设置send_flag为第二标识,并向所述BGP对等体发送携带当前BGP路由属性的update报文;如果是,则设置send_flag为第一标识,并拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文;其中,所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;
所述BGP路由交换设备在向所述BGP对等体发送所述多条BGP路由中的其它BGP路由时,所述BGP路由交换设备查询send_flag的标识,如果send_flag为第一标识,则所述BGP路由交换设备拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为第二标识,则所述BGP路由交换设备向所述BGP对等体发送携带当前BGP路由属性的update报文。
5.如权利要求1所述的方法,其特征在于,所述路由控制策略包括以下之一或任意组合:
来源ORIGIN策略;
经过的自治域AS_PATH策略;
下一跳地址NEXT_HOP策略;
多路由选择MULTI_EXIT_DISC策略;
本自治域内路由的优选等级LOCAL_PREF策略;
团体属性Community策略;
扩展团体属性Extcommunity策略。
6.一种边界网关协议BGP路由交换设备,应用于包括所述BGP路由交换设备和BGP对等体的网络中,其特征在于,所述BGP路由交换设备上配置有向所述BGP对等体发送BGP路由的路由控制策略,该BGP路由交换设备包括:
第一处理模块,用于在需要向所述BGP对等体发送BGP路由时,利用所述路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到处理后的BGP路由属性,并更新所述处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,以及向所述BGP对等体发送携带所述当前BGP路由属性的更新update报文;
第二处理模块,用于在所述路由控制策略发生变化时,确定重新向所述BGP对等体发送所述BGP路由,且利用变化后的路由控制策略对所述BGP路由对应的BGP路由属性进行处理,得到对应所述变化后的路由控制策略的处理后的BGP路由属性;
判断模块,用于判断所述对应变化后的路由控制策略的处理后的BGP路由属性与所述当前BGP路由属性是否相同;
发送模块,用于当判断结果为否时,更新所述对应变化后的路由控制策略的处理后的BGP路由属性为所述BGP路由对应的当前BGP路由属性,并向所述BGP对等体发送携带所述当前BGP路由属性的update报文;当判断结果为是时,拒绝向所述BGP对等体发送携带所述当前BGP路由属性的update报文。
7.如权利要求6所述的BGP路由交换设备,其特征在于,
所述发送模块,进一步用于在判断结果为是时,设置发送标志位send_flag为第一标识,在判断结果为否时,设置send_flag为第二标识,且所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;以及,查询send_flag的标识,如果send_flag为所述第一标识,则拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为所述第二标识,则向所述BGP对等体发送携带当前BGP路由属性的update报文。
8.如权利要求6所述的BGP路由交换设备,其特征在于,在所述BGP路由交换设备需要向所述BGP对等体发送多条BGP路由时;
所述发送模块,进一步用于当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性不同,则针对所述多条BGP路由,均需要向所述BGP对等体发送携带当前BGP路由属性的update报文;
当确定有一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与该条BGP路由的当前BGP路由属性相同,则针对所述多条BGP路由,均需要拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文。
9.如权利要求8所述的BGP路由交换设备,其特征在于,
所述判断模块,进一步用于在向所述BGP对等体发送所述多条BGP路由中的第一条BGP路由时,判断所述第一条BGP路由的对应变化后的路由控制策略的处理后的BGP路由属性与所述第一条BGP路由的当前BGP路由属性是否相同;
所述发送模块,进一步用于在判断结果为否时,设置send_flag为第二标识,并向所述BGP对等体发送携带当前BGP路由属性的update报文;在判断结果为是时,设置send_flag为第一标识,并拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文;其中,所述第一标识表示不需要发送update报文,所述第二标识表示需要发送update报文;以及,
在向所述BGP对等体发送所述多条BGP路由中的其它BGP路由时,查询send_flag的标识,如果send_flag为第一标识,则拒绝向所述BGP对等体发送携带当前BGP路由属性的update报文,如果send_flag为第二标识,则向所述BGP对等体发送携带当前BGP路由属性的update报文。
10.如权利要求6所述的BGP路由交换设备,其特征在于,所述路由控制策略包括以下之一或任意组合:
来源ORIGIN策略;
经过的自治域AS_PATH策略;
下一跳地址NEXT_HOP策略;
多路由选择MULTI_EXIT_DISC策略;
本自治域内路由的优选等级LOCAL_PREF策略;
团体属性Community策略;
扩展团体属性Extcommunity策略。
CN201210185937.1A 2012-06-07 2012-06-07 一种基于路由控制策略的报文发送方法和设备 Active CN102739524B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210185937.1A CN102739524B (zh) 2012-06-07 2012-06-07 一种基于路由控制策略的报文发送方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210185937.1A CN102739524B (zh) 2012-06-07 2012-06-07 一种基于路由控制策略的报文发送方法和设备

Publications (2)

Publication Number Publication Date
CN102739524A CN102739524A (zh) 2012-10-17
CN102739524B true CN102739524B (zh) 2016-06-08

Family

ID=46994338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210185937.1A Active CN102739524B (zh) 2012-06-07 2012-06-07 一种基于路由控制策略的报文发送方法和设备

Country Status (1)

Country Link
CN (1) CN102739524B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102957610B (zh) * 2012-12-03 2016-03-02 杭州华三通信技术有限公司 路由处理方法及路由转发设备
CN104734964B (zh) * 2013-12-24 2018-12-14 华为技术有限公司 报文处理方法、节点及系统
CN106453075B (zh) * 2016-10-10 2019-09-17 新华三技术有限公司 一种路由传输方法和装置
CN111526093B (zh) * 2019-02-02 2022-11-08 中兴通讯股份有限公司 协议处理方法及装置、存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155118A (zh) * 2006-09-27 2008-04-02 华为技术有限公司 Bgp路由处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050047353A1 (en) * 2003-08-25 2005-03-03 Susan Hares Systems and methods for routing employing link state and path vector techniques

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155118A (zh) * 2006-09-27 2008-04-02 华为技术有限公司 Bgp路由处理方法及装置

Also Published As

Publication number Publication date
CN102739524A (zh) 2012-10-17

Similar Documents

Publication Publication Date Title
CN105191215A (zh) 双向服务链的数据平面学习
CN102739524B (zh) 一种基于路由控制策略的报文发送方法和设备
US8285871B2 (en) Route calculation system, network management device, route calculation engine, route calculation method and program product
CN101741820B (zh) Cga公钥识别和cga公钥确定的方法、系统及装置
CN101692652A (zh) 一种防止聚合链路中流量中断的方法及装置
CN107579838A (zh) 数据处理方法及装置
CN103209108A (zh) 一种基于dvpn的路由生成方法和设备
CN109981467B (zh) 静态路由更新方法和路由集中管理分发方法
CN101834855B (zh) 一种防止序列号攻击的方法和设备
CN104821916A (zh) 通过使用旁路隧道减少IPv6路由表的大小
CN104994022A (zh) 一种报文传输的方法和业务板
CN102868619A (zh) 一种lsa的传输方法和设备
CN103200071A (zh) 一种mstp多实例计算方法和设备
CN104753791A (zh) 一种数据包处理方法、装置和系统
CN101562574A (zh) 一种路由表的更新方法及装置
US20120166657A1 (en) Gateway system, gateway device, and load distribution method
CN103391249A (zh) 一种is-is网络中的邻居关系建立方法和设备
WO2015097834A1 (ja) 通信制御装置、通信制御方法およびプログラム
CN106982134A (zh) 报文生成方法、报文转发方法及装置
CN103259720A (zh) 一种基于mtr的数据传输方法和设备
CN104038420A (zh) 一种路由计算方法和设备
CN108696433A (zh) 路由振荡抑制方法及bgp路由设备
CN104639557A (zh) 一种建立pcep会话的方法、系统及设备
CN106878356B (zh) 一种调度方法及计算节点
KR101952187B1 (ko) 서비스 노드 능력 처리 방법, 장치, 서비스 분류기 및 서비스 제어기

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230609

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right