一种基于bgp协议的出路由过滤的方法和装置的制作方法

文档序号:7957881阅读:193来源:国知局

专利名称::一种基于bgp协议的出路由过滤的方法和装置的制作方法
技术领域
:本发明涉及通信技术,尤其涉及一种基于BGP协议的出路由过滤的方法和装置。技术背景边界网关路由协议(BorderGatewayProtocol;BGP)目前被广泛的部署在当今的Internet网络中,用于在自治域(AutonomousSystem;AS)间和AS内传递大量路由信息。路由信息的传递需要首先在路由器之间通过BGP协议进行连接,两个建立BGP连接的路由器互为对方的邻居(BGPPeer),BGPPeer间采用TCP协议作为传输层协议,默认端口号为179,用于承载BGP的各种报文信息包括更新UPDATE、保活KEEPALIVE等;当BGPPeer间有大量路由传递时,导致一些邻居间因为收不到对方发送KEEPALIVE而认为他们之间的连接已经失效,BGP于是进行邻居断开的处理,这样会导致路由的振荡。由于BGP路由器在lnternet网络中的位置非常重要,由BGP引起的路由振荡可能会导致整个lnternet的不稳定。所以减少BGP引起的路由振荡对整个lnternet网络的稳定会有很大的帮助。ORF(Outboundroutefilter),即出路由过滤,是一种用来减少BGPPeer间不必要路由传递的技术。ORF的基本思想就是接收端通过将自己对相关路由的过滤条件通告给发送端,发送端在向接收端发送路由时首先根据接收端的路由过滤条件对路由进行相关的过滤,只将满足接收端过滤条件的路由发送给接受端,这样就减少了BGPPeer之间"无用"路由信息的传递,从而减少了BGPPeer间KEEPALIVE超时的几率,减少了BGP路由的振荡。目前IETF的IDR工作组已有基于团体属性Community、扩展团体属性Ext-Community、自治系统号路径AS-Path、地址前缀AddressPrefix的ORF。基于Community、Ext-Community的ORF用于4十对路由的Community、Ext-Community属性进行出路由过滤,即接收端将关于Community、Ext-Community的约束条件发送给相关邻居。发送端根据Community、Ext-Community对路由进行过滤处理,只将满足条件的路由发送给接收端。这种方案主要用在L3VPN/L2VPN的场景下,用Ext-Community来承栽VPN路由的路由目标(RouteTarget;RT)信息,接收端通过制定RT相关的约束条件,让发送端根据相关RT信息来发送路由。基于AS-Path的ORF,顾名思义,即是接收端制定AS-Path相关的约束条件,告诉发送端给其发送满足哪些AS-Path条件的路由。基于AddressPrefix的ORF就是接收端告诉发送端,只发送满足AddressPrefix条件的路由给接收端。但是,在实际的网络中,某些情况下只能根据路由的Nexthop来进行过滤,或者使用Nexthop条件会很容易完成,这样现有技术不能根据路由的下一跳信息对路由进行"出路由过滤",导致网络部署不灵活。
发明内容有鉴于此,本发明的主要目的是提供一种基于BGP协议的出路由过滤的方法和装置,本发明根据路由的Nexthop信息对路由进行出路由过滤,对现有的ORF是一个很好的补充,能解决现有ORF不能根据路由的Nexthop来进行过滤的问题,大大简化配置,同时也能简化BGP在进行ORF处理的复杂度。本发明的目的是通过以下技术方案实现的本发明提供一种基于BGP协议的出路由过滤的方法,包括如下步骤在BGP协议中承栽下一跳出路由过滤的信息;BGPPeer之间进行出路由过滤ORF能力协商;BGPPeer之间根据所进行的ORF能力协商结果对下一跳路由进行出路由过滤处理。所述的BGPPeer之间进行出路由过滤ORF能力协商具体包括,BGPPeer在建立邻居关系时,在Open报文承载其是否支持NexthopORF的能力信息。所述的BGPPeer之间进行出路由过滤ORF能力协商具体包括,BGPPeer建立邻居关系之后,在动态能力协商报文中承载其是否支持NexthopORF的能力信息。所述的能力信息具体包括支持发送NexthopORF报文、支持接收NexthopORF报文、或者同时支持发送和接收NexthopORF报文。所述的BGPPeer之间进行出路由过滤ORF能力协商具体包括,BGPPeer—方根据能力协商结果和自身路由过滤策略发送NexthopORF策略给另一方路由器;所述的另一方路由器向所述的BGPPeer—方发送符合所述NexthopORF策略的路由。所述的BGPPeer—方根据能力协商结果和自身路由过滤策略发送所述NexthopORF策略给另一方路由器具体包括,BGPPeer的一方根据能力协商结果和自身路由过滤策略生成NexthopORF实体报文,然后将此实体报文随路由刷新报文一起发送给另一方路由器。所述的BGPPeer—方根据能力协商结果和自身路由过滤策略发送NexthopORF策略给另一方路由器具体包括,接收NexthopORF策略的路由器根据NexthopORF实体内容对ORF列表进行更新;接收NexthopORF策略的路由器根据更新的ORF列表向所述的BGPPeer发送符合NexthopORF策略的路由。所述的接收NexthopORF策略的路由器根据NexthopORF实体内容对ORF列表进行更新具体包括,接收NexthopORF策略的路由器根据NexthopORF实体内容中的Action操作字段对ORF列表进行更新。此外,本发明还提供一种基于BGP协议的出路由过滤的装置,其特征在于,包括如下单元BGP协议扩展单元,用于在BGP协议中承载下一跳出路由过滤的信息;ORF能力协商单元,用于对BGPPeer间的ORF能力进行协商;NexthopORF策略单元,用于基于自身的路由策略生成NexthopORF策略并发送给ORF能力协商的BGPPeer的另一方;路由发送单元,用于根据NexthopORF策略单元的内容发送符合NexthopORF条件的路由。所述的NexthopORF策略单元具体包括,NexthopORF策略生成模块,用于基于自身的路由策略生成NexthopORF策略;NexthopORF策略发送模块,用于将所述NexthopORF策略发送给BGPPeer的另一方路由器。所述的路由发送单元进一步包括,ORF列表更新模块,用于根据所述NexthopORF策略对ORF列表进行更新;基于ORF列表的路由发送模块,用于根据更新的ORF列表向所述的BGPPeer发送符合NexthopORF策略的路由。由上述本发明提供的技术方案可以看出,采用本发明,通过根据路由的Nexthop策略对路由进行出路由过滤,可以解决现有ORF不能根据路由的Nexthop来进行过滤的问题,大大简化配置,同时也能简化BGP在进行ORF处理的复杂度。特别是在部署路由发射器、多归属这样的网络环境下,应用本技术可以很好的减少不必要路由的发送。此外,如果BGP支持发送多路由功能,即BGP可以将多个下一跳路由都通告给其邻居,则路由的发布量还会大大增加,采用本发明,可以很好避免此应用场景下的不必要路由的发送,从而减少路由的振荡。图1是本发明的基于BGP协议的出路由过滤的示意图;图2是本发明实施例的基于BGP协议的出路由过滤的方法流程图;图3是本发明的实施例的基于BGP协议的出路由过滤的装置示意图;图4是本发明的实施例的NexthopORF策略单元的装置示意图;图5是本发明的实施例的路由发送单元的装置示意图。具体实施例方式本发明提供了一种基于BGP协议的出路由过滤的方法和装置,本方案中,BGPPeer—方根据需要制定关于Nexthop的路由策略,然后将此路由策略发送给其相关的BGPPeer,其相关的BGPPeer根据收到的Nexth叩过滤条件,在向其发送路由时只将满足Nexthop过滤条件的路由发送给上述BGPPeer—方。支持基于Nexthop的ORF对于BGP来说是一种新的能力,要实现上述功能,本发明对BGP协议进行相应的扩展需要扩展BGP协议使其支持进行NexthopORF的能力协商;具体来说,我们可以在原有BGP协议的基础上添加一种新的出路由过滤ORF类型,即下一跳出路由过滤类型(NexthopORF),具体的值可以由互联网号码分配权威部门(InternetAssignedNumbersAuthority;IANA)分配,建议值为66;同时,在本发明的具体实现中,针对本发明新添加的NexthopORF类型,我们需定义一种新的ORF实体报文格式,以用来携带基于NexthopORF的过滤条件,为了和现有的ORF通用报文格式保持一致,可以包括以下字段动作字段Action,可以由3个数值来表示不同的含义,如数值0表示添加(Add)、数值1表示删除(Remove)、数值2表示删除所有(Remove-all);过滤字段Match,可以由2个数值来表示不同的含义,0表示允许Permit,1表示拒绝Deny,此字段可以放入ORF的通用包头中,ORF的通用报文格式已在IETF的IDR工作组草案[OutboundRouteFilteringCapabilityforBGP-4中进行了定义,其格式如表1:<table>tableseeoriginaldocumentpage10</column></row><table>表1具体的ORF实体字段Typespecificpart,该为可变长度字段。通常包括如下字段4字节的序列号Sequence字段,用来指明该NexthopORF实体所处的具体位置;1字节的长度Length字段,用来指定Nexthop字段的具体长度值;可变长度的下一跳Nexthop字段,具体长度可以由Length指定。ORF实体字段Typespecificpart具体格式可以如表2:<table>tableseeoriginaldocumentpage11</column></row><table>表2需注意的是,所述字段的位置和长度并非局限于上述设置,而是可根据实际应用的需要任意设置。其中在具体实现中,序列号字段属可选字段。BGP协议经过以上扩展后,即可以实现基于BGP路由Nexthop的ORF策略。参考图1,图1为本发明的基于BGP协议的出路由过滤的示意图。图中B和C两个路由器通过BGP协议建立BGP邻居关系。如果路由器B只想收到下一跳是1.1.1.1的路由,那么路由器B就将1.1.1.1作为过滤条件发送给路由器C;路由器C收到这个过滤条件后,在向路由器B进行路由通告时,只将下一跳是1.1.1.1的路由发送给路由器B,而下一跳是2.2.2.2的路由则不会发送给路由器B。为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。参考图2,图2是本发明实施例的基于BGP协议的出路由过滤的方法流程图。步骤201、BGPPeer之间进行ORF能力协商;在本发明的具体实现中,BGPPeer可以在建立邻居关系时,在Open报文中承载支持NexthopORF的能力信息,用来告诉邻居其支持NexthopORF能力,或者BGPPeer在建立邻居关系后,在动态能力协商报文中承载其是否支持NexthopORF的能力信息,这种能力包括支持发送NexthopORF报文、支持接收NexthopORF报文、或者两者都支持;例如图1中B和C两个路由器之间进行NexthopORF能力的协商,协商后可能会有如下4种结果(1)路由器B只发送NexthopORF报文,路由器C只接收NexthopORF报文;(2)路由器B只接收NexthopORF报文,路由器C只发送NexthopORF报文;(3)路由器B和路由器C都支持发送和接收NexthopORF报文;(4)协商不成功,路由器B和路由器C不能进行ORF的处理。其中NexthopORF报文可以为单独的报文,也可以在其他报文中携带NexthopORF报文的信息,其他的报文例如刷新报文。步骤202、BGPPeer—方根据能力协商结果和自身路由过滤策略发送NexthopORF策略给另一方路由器。在本发明的具体实现中,需要发送NexthopORF策略的一方可以根据自身路由策略生成NexthopORF实体报文,然后可以将此实体报文随路由刷新报文一起发送给BGPPeer的另一方。例如图1中路由器B只想收到下一跳是1.1.1.1的路由,则路由器将生成NexthopORF实体内容,指示路由器C关注路由器B的出路由策略为允许接收1.1.1.1的路由;则所述的NexthopORF实体的Action为OO,表示添加;Match为1,表示允许;序列号为1,长度为4个字节,Nexthop为1.1.1.1,则其实体报文可参考表3:<formula>formulaseeoriginaldocumentpage13</formula>表3步骤203、接收NexthopORF的路由器向所述的BGPPeer发送符合NexthopORF策略的路由。在本发明的具体实现中,接收NexthopORF策略的路由器根据所接收的ORF实体信息进行如下的处理,如首先根据Action(操作)字段更新ORF列表具体可能存在以下三种形式(1)如果Action指示添加,则将此NexthopORF策略加入到ORF列表中;(2)如果Action指示删除,则将相应的NexthopORF策略从本地ORF列表中删除;(3)如果Action指示删除所有,则将从整个邻居收到的所有NexthopORF策略全部删除;例如图1中,路由器C根据路由器B所发送的1.1.1.1的NexthopORF策略,添加1.1.1.1到ORF列表中。然后,接收NexthopORF策略的路由器在向其BGP邻居通告路由时,需要根据ORF列表中的Match(过滤)字段,对匹配到NexthopORF策略的路由进行相应的过滤操作具体可能存在以下两种形式(1)Match指示Permit(允许),则只将匹配条件的路由发送给发送此NexthopORF策略的邻居;(2)Match指示Deny(拒绝),则匹配条件的路由都不会发送给发送此NexthopORF策略的邻居;例如图1中,路由器C只允许将下一跳为1.1.1.1的路由发送给^各由器B。此外,参考图3,图3是本发明的实施例的基于BGP协议的出路由过滤的装置示意图。本发明还提供了一种基于BGP协议的路由过滤的装置,包括如下单元BGP协议扩展单元,用于在BGP协议中承载下一跳出路由过滤的信息;ORF能力协商单元,用于对BGPPeer间的ORF能力进行协商;NexthopORF策略单元,用于基于自身的路由策略生成NexthopORF策略并发送给ORF能力协商的BGPPeer的另一方;路由发送单元,用于根据NexthopORF策略单元的内容将符合NexthopORF策略的路由发送给发送方。在本发明的具体实现中,参考图4,图4是本发明的实施例的NexthopORF策略单元的装置示意图。NexthopORF策略单元具体可以包括以下功能模块,NexthopORF策略生成模块,用于基于自身的路由策略生成NexthopORF策略;NexthopORF策略发送模块,用于将NexthopORF策略发送给BGPPeer的另一方路由器。同时,在本发明的具体实现中,参考图5,图5是本发明的实施例的路由发送单元的装置示意图。路由发送单元为了将符合NexthopORF策略的路由发送给发送方,需要根据所接收到的NexthopORF策略对ORF列表进行更新,这样,路由发送单元可以进一步包括,ORF列表更新模块,用于根据NexthopORF策略对ORF列表进行更新;和基于ORF列表的路由发送模块,当BGPPeer间需进行通告路由时,根据更新的ORF列表向所述的BGPPeer发送符合NexthopORF策略的路由。同时,在本发明的具体实现中,可能同时需满足多种过滤条件,如需同时满足团体属性、地址前缀和下一跳等多种过滤条件,则发送ORF的一方路由器可以同时将需满足的过滤条件发送给接收ORF的另一方路由器。接收ORF的一方路由器可以将过滤条件逐项进行与的运算,以便将同时满足所有过滤条件的路由发送给BGPPeer的邻居,达到最大限度的简化策略配置。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。权利要求1、一种基于BGP协议的出路由过滤的方法,其特征在于,包括如下步骤BGPPeer之间进行出路由过滤ORF能力协商;BGPPeer之间根据所进行的ORF能力协商结果对下一跳路由进行出路由过滤处理。2、根据权利要求1所述的方法,其特征在于,所述的BGPPeer之间进行出路由过滤ORF能力协商具体包括,BGPPeer在建立邻居关系时,在Open报文承栽其是否支持NexthopORF的能力信息。3、根据权利要求1所述的方法,其特征在于,所述的BGPPeer之间进行出路由过滤ORF能力协商具体包括,BGPPeer建立邻居关系之后,在动态能力协商报文中承载其是否支持NexthopORF的能力信息。4、根据权利要求2或3所述的方法,其特征在于,所述的能力信息具体包括支持发送NexthopORF报文、支持接收NexthopORF报文、或者同时支持发送和接收NexthopORF报文。5、根据权利要求1所述的方法,其特征在于,所述的BGPPeer之间根据所进行的ORF能力协商结果对下一跳路由进行出路由过滤处理具体包括,BGPPeer—方根据能力协商结果和自身路由过滤策略发送NexthopORF策略给另一方路由器;所述的另一方路由器向所述的BGPPeer—方发送符合所述NexthopORF策略的路由。6、根据权利要求5所述的方法,其特征在于,所述的BGPPeer—方根据能力协商结果和自身路由过滤策略发送所述NexthopORF策略给另一方路由器具体包括,BGPPeer的一方根据能力协商结果和自身路由过滤策略生成NexthopORF实体报文,然后将此实体报文随路由刷新报文一起发送给另一方路由器。7、根据权利要求6所述的方法,其特征在于,所述的BGPPeer—方根据能力协商结果和自身路由过滤策略发送NexthopORF策略给另一方路由器具体包括,所述的另一方路由器根据NexthopORF实体报文对ORF列表进行更新;所述的另一方路由器根据更新的ORF列表向所述的BGPPeer发送符合所述NexthopORF策略的路由。8、根据权利要求7所述的方法,其特征在于,所述的另一方路由器根据NexthopORF实体报文对ORF列表进行更新具体包括,所述的另一方路由器根据NexthopORF实体内容中的Action操作字段对ORF列表进行更新。9、一种基于BGP协议的出路由过滤的装置,其特征在于,包括如下单元ORF能力协商单元,用于对BGPPeer间的ORF能力进行协商;NexthopORF策略单元,用于基于自身的路由策略生成NexthopORF策略并发送给ORF能力协商的BGPPeer的另一方;路由发送单元,用于根据NexthopORF策略单元的内容发送符合NexthopORF策略的路由。10、根据权利要求9所述的装置,其特征在于,所述的NexthopORF策略单元具体包括,NexthopORF策略生成模块,用于基于自身的路由策略生成NexthopORF策略;NexthopORF策略发送模块,用于将所述NexthopORF策略发送给BGPPeer的另一方路由器。11、根据权利要求9所述的装置,其特征在于,所述的路由发送单元进一步包括,ORF列表更新模块,用于根据所述NexthopORF策略单元的内容对ORF列表进行更新;基于ORF列表的路由发送模块,用于根据更新的ORF列表向所述的BGPPeer发送符合NexthopORF策略的路由。全文摘要本发明涉及一种基于BGP协议的出路由过滤的方法和装置,本发明的核心是在BGP协议中承载下一跳出路由过滤(NexthopORF)信息,BGPPeer之间进行出路由过滤(OutboundRouteFilter;ORF)能力协商;然后,BGPPeer之间根据所进行的ORF能力协商结果进行出路由过滤处理。采用本发明,可以解决现有ORF不能根据路由的Nexthop来进行过滤的问题,大大简化配置,同时也能简化BGP在进行ORF处理的复杂度。文档编号H04L29/06GK101155175SQ200610062888公开日2008年4月2日申请日期2006年9月27日优先权日2006年9月27日发明者陈国义申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1