防止边界网关协议路由的环路检测信息丢失的方法和设备的制作方法

文档序号:7928709阅读:354来源:国知局

专利名称::防止边界网关协议路由的环路检测信息丢失的方法和设备的制作方法
技术领域
:本发明涉及网络通信技术,具体涉及一种防止BGP(BorderGatewayProtocol,边界网关协议)环路检测信息丟失的方法和一种防止BGP环路检测信息丢失的设备。
背景技术
:ISIS(IntermediateSystem-to-intermediateSystemintra-domainroutinginformationexchangeprotocol,中间系统到中间系统的域内^各由信息交换协议)是一种自治系统内部之间的路由协议,在运营商网络中得到广泛应用。BGP是自治系统之间动态交换路由信息的路由协议,在大型网络中比如MPLS(MultipleProtocolLabelSwitch,多协议标签转发)核心网络中得到非常广泛的应用。作为两种重要的路由协议,ISIS和BGP两者之间经常会配合使用,比如服务提供商内部使用BGP协议,服务提供商与客户之间使用ISIS协议。在路由
技术领域
,避免环路是网络部署需要重点关注的一个问题。目前,很多路由协议都有避免环路产生的机制,例如BGP协议。众所周知,BGP协议通过识别作为环路检测信息的AS-Path(自治系统路径)属性,来防止路由环路,其具体为网络设备在接收到一个BGP路由后,检查BGP路由的AS-Path属性,如果AS-Path属性中包含该网络设备所在AS(AutonomousSystem,自治系统)的AS号,则认为环路产生,丟弃该BGP路由,达到防止路由环3各的目的。各个路由协议的环路避免机制在各自网络中能够发挥很好的作用。但如前所述,在实际网络中,多种路由协议往往互相结合使用,形成混合网络。当路由信息穿越采用不同路由协议的网络时,例如BGP网络到ISIS网络,由于路由协议的切换,BGP网络中用来防止环路产生的重要信息AS-Path属性将丢失,那么当该路由信息穿越ISIS网络后回到BGP网络时,由于AS-Path属性信息的丢失,可能导致环路出现。例如图1示出的现有技术中多种路由协议结合使用的典型应用MPLSVPN(VirtualPrivateNetwork,虚拟专用网)。其中,CE(CustomerEdge,用户网络边缘设备)1、CE2和CE3同属于VPN1。PE(ProviderEdge,服务提供商边缘路由器)1、PE2和PE3同属于ASIOO。各PE之间通过内部BGP协议即IBGP协议交换路由信息,CE2和CE3之间通过IGP(interiorgatewayprotocol,内部网关协议)交换路由信息,这里以IGP为ISIS举例。假设CEl将路由发布给AS100内的PEl,PE1采用IBGP协议将路由发布给PE2。此时,PE2接收到的是BGP路由。然后,PE2将BGP路由注入(inject)ISIS网络(图1中CE2所在的VPNl),从而发布到CE2,这样在CE2上就有了到CEl的路由。其中,所谓将BGP路由注入ISIS网络是指将采用BGP协议描述的路由信息引入(import)ISIS,使之成为采用ISIS协议描述的路由信息,其效果是,将PE2所在网络AS100的路由信息传给CE2所在网络VPNl。所述引入和注入均为RFC(RequestForComments)文档定义的操作。在实际部署中,CE之间一般会存在一条backdoor(后门)链路,例如图1中CE2和CE3之间的IGP链路。在正常情况下,CE2到CEl的流量通过PE2转发,CE3到CEl的流量通过PE3转发。如果PE3故障,则CE3到CEl的流量可以通过上述backdoor链路到CE2再到CEl;如果PE2故障,则CE2到CEl的流量可以通过上述backdoor链路到CE3再到CE1,保证转发成功。但正是这条backdoor链路的存在,可能带来路由环路。仍参见图1,假设有一条CEl的路由N被发送到PE2,该路由N通过PE2被注入ISIS网络后,后续的发送方向为CE2(通过ISIS)—CE3(通过ISIS)—PE3(通过BGP)—PE2(通过ISIS)—CE2。由于路由N从PE2到CE2的传递过程中丟失了AS-Path属性,因此当路由N再通过PE3回到AS100时,PE2和PE3都不能根据AS-Path属性进行环路检测,会形成明显的环路。事实上,不仅是MPLS网络,在普通的IP网络中,只要网络设备同时运行ISIS协议和BGP协议,且这两个路由协议结合使用,都会出现这样一个问题在BGP路由被注入ISIS网络时,BGP路由的环路检测信息AS-Path丢失,导致BGP路由穿越ISIS网络再次回到BGP领域时缺少环路检测条件,从而出现产生路由环路的可能性。
发明内容有鉴于此,本发明提供了一种防止边界网关协议环路检测信息丟失的方法和一种防止边界网关协议环路检测信息丟失的设备,保证BGP路由在穿越ISIS网络时,不会丢失环路检测信息。本发明防止边界网关协议环路检测信息丢失的方法,适用于应用边界网关协议BGP和中间系统到中间系统的域内路由信息交换协议ISIS的混合网络,该方法包括网络设备将BGP路由注入ISIS网络时,生成携带所述BGP路由的自治系统路径AS-path属性内容的ISIS路由,并发布到ISIS网络中;网络设备接收来自ISIS网络的ISIS路由,判断所接收ISIS路由携带的AS-path属性内容是否包括所在自治系统的自治系统号;如果包括,则不允许将所接收ISIS路由注入BGP网络;否则,允许将所接收的ISIS路由注入BGP网络,在注入时生成BGP路由,该BGP路由的AS-path属性内容为所接收ISIS路由携带的AS-path属性内容。其中,所述生成携带所述BGP路由的AS-path属性内容的ISIS路由之后,进一步包括将ISIS路由携带的AS-path属性内容作为扩展信息保存在网络设备的扩展信息库中。其中,被发布到ISIS网络中的ISIS路由在ISIS网络中扩散时携带AS-path属性内容。较佳地,ISIS路由携带AS-path属性内容的方式为在设置于ISIS路由报文的跨域子类型长度值BGP-ASSUB-TLV字段中携带AS-path属性内容。较佳地,所述BGP-ASSUB-TLV字段包括类型域、长度域和值域;所述值域的值为AS-path属性内容。本发明防止边界网关协议环路检测信息丢失的设备,包括BGP路由处理单元,用于将BGP路由注入ISIS网络时,生成携带所述BGP路由的AS-path属性内容的ISIS路由,并发布到ISIS网络中;ISIS路由处理单元,用于接收来自ISIS网络的ISIS路由,判断所接收ISIS路由携带的AS-path属性内容是否包括所在自治系统的自治系统号;如果包括,则不允许将所接收ISIS路由注入BGP网络;否则,允许将所接收的ISIS路由注入BGP网络,在注入时生成BGP路由,该BGP路由的AS-path属性内容为所接收ISIS路由携带的AS-path属性内容。所述BGP路由处理单元进一步用于,将生成的ISIS路由携带的AS-path所述BGP路由处理单元令ISIS路由携带AS-path属性内容的方式为生成ISIS路由报文,在设置于该ISIS路由报文的BGP-ASSUB-TLV字段中携带所述BGP路由的AS-path属性内容。根据以上技术方案可见,本发明在进行BGP到ISIS的转换时,将BGP路由的AS-path属性随ISIS路由一同发布,在进行ISIS到BGP的转换时,将ISIS路由携带的AS-path属性恢复为BGP路由的属性。这样,在BGP路由和ISIS路由的相互引入过程中,确保AS-path属性在穿越ISIS网络时不会丢失。既能够满足实际组网需要,防止环路产生,又能够充分利用BGP防止环路的特点。同时,该方案实现简单,能够减少部署和维护的成本,极大地提高了混合网络防止路由环路的能力。同时,本发明还在ISIS路由注入BGP网络之前,检查ISIS路由携带的BGP-ASSUB-TLV字段是否包括本地AS号,如果包括则认为产生环路,拒绝ISIS3各由的注入,从而在ISIS网络与BGP网络的交界处,杜绝环路产生的可能性。本发明还定义了一种新类型的ISISSub-TLV报文字段,即BGP-ASSUB-TLV,用于携带BGP路由的AS-Path属性。采用BGP-ASSUB-TLV字段携带AS-Path属性的方式实现简单,适用于各种应用BGP和ISIS路由协议的混合网络,包括IP网络和MPLS网络,而且适用于IPv6。图1为现有技术中多种路由协议结合应用在MPLSVPN中的示意图。图2为本发明实施例中防止BGP环路检测信息丢失的方法流程图。图3为本发明实施例中防止BGP环路检测信息丟失的设备结构示意图。具体实施例方式下面结合附图并举实施例,对本发明进行详细描述。本发明为一种防止BGP环路检测信息丢失的方案,其基本思想为网络设备将BGP路由注入ISIS网络时,令ISIS路由携带BGP路由的AS-path属性内容一同发布;当携带AS-path属性内容的ISIS路由穿越ISIS网络后重新到达BGP网络时,首先接收到ISIS路由的网络设备检测该ISIS路由携带的AS-path属性内容,如果该AS-path属性内容包含网络设备所在AS的AS号,则视为环路产生,不将所接收ISIS路由注入BGP网络;如果不包含,允许将接收到ISIS路由注入BGP网络;在注入时,生成BGP路由,该BGP路由的AS-path属性内容为所接收ISIS路由携带的AS-path属性内容,从而将ISIS路由携带的AS-path属性内容恢复为BGP路由的属性。这样,在BGP路由和ISIS路由的相互引入过程中,确保AS-path属性不丢失,从而保证BGP路由在穿越ISIS网络时,不会丟失环路检测信息AS-path,从而防止环路产生。而且在ISIS网络与BGP网络的交界处,杜绝环路产生的可能性。本发明的技术方案可以适用于各种结合使用BGP协议和ISIS协议的混合网络,例如IP网络和MPLS网络,而且适用于IPv6。只要实施该方案的网络设备运行BGP协议和ISIS协议即可。ISIS路由携带BGP路由的AS-path属性内容时,可以将AS-path属性内容携带在ISIS路由报文的保留字段中,也可以携带在ISIS路由报文内已有字段的空闲位中。在RFC5305技术文档中,定义了ISIS路由报文中的一种字段子类型长度值(Sub-TLV)字段。该Sub-TLV字段包含在ISIS路由报文的TLV字段中,用于描述ISIS路由报文的扩展信息。例如,类型为135的TLV字段可以携带一个或多个Sub-TLV,每个Sub-TLV又包括一个字节的类型(Type)域、一个字节的长度(Length)域和0到多字节的值(Value)域。其中,长度(Length)域表示值域的长度,可以为4个字节或2个字节。目前RFC已经定义了多种Sub-TLV。本发明实施例定义一种新的Sub-TLV字段BGP-ASSUB-TLV,称为跨域子类型长度值字段,用于在ISIS路由报文中保存BGP路由的AS-path属性内容。BGP-ASSUB-TLV可以携带在类型为135的TLV字段中,也可以携带在其它类型的TLV字段中。该BGP-ASSUB-TLV的格式与现有Sub-TLV类似,同样具有类型域、长度域和值域。表1为本发明实施例中BGP-ASSUB-TLV的格式示意。<table>tableseeoriginaldocumentpage9</column></row><table>表1如表1所示,BGP-ASSUB-TLV中类型域的值为与RFC文档定义的现有取值不冲突的预设值,本实施例选取12;长度域的值为4,表示BGP-ASSUB-TLV字段中值域的长度为4个字节,因为BGP的AS号最长为4个字节;值域填入BGPAS号,该BGPAS号从BGP路由的AS-path属性获得。每一个BGP-ASSUB-TLV单独描述一个AS号信息,如果BGP路由的AS-path属性包括多个AS号,则需要采用多个BGP-ASSUB-TLV描述。以下结合图2对釆用BGP-ASSUB-TLV携带AS-path属性内容的实施方式进行详细描述。如图2所示,该实施方式包括以下步骤步骤201:网络设备1将BGP路由注入ISIS网络时,获取该BGP路由中的AS-path属性内容,将获取的AS-path属性内容添加到ISIS路由报文的BGP-ASSUB-TLV字段中。该BGP-ASSUB-TLV字段采用表1示出的格式,其中值域的值为获取的AS-path属性内容。步骤202:网络设备l将BGP-ASSUB-TLV字段内容作为扩展信息保存在网络设备1的扩展信息库中,以便以后分发ISIS路由时同时发送相应的BGP-ASSUB-TLV字段。步骤203:网络设备1将生成的ISIS路由报文发布到ISIS网络中。ISIS路由报文在ISIS网络扩散时均携带BGP-ASSUB-TLV,即BGP路由的AS-path信息。步骤204:网络设备2从ISIS网络接收到ISIS路由报文后,判断所接收ISIS路由报文中的BGP-ASSUB-TLV信息是否包含网络设备2所在自治系统的AS号;如果包含,则执行步骤205;否则,执行步骤206。其中,网络设备1和2可以为同一设备或不同设备。步骤205:确定产生环路,不允许将所接收ISIS路由报文中的ISIS路由注入BGP网络。此时,可以丟弃所接收的ISIS路由。本流程结束。步骤206:允许将所接收ISIS路由报文中的ISIS路由注入BGP网络,在注入时,将所接收ISIS路由报文中BGP-ASSUB-TLV字段包含的AS号恢复为BGP路由的AS-path属性内容。本流程结束。在实际中,如果ISIS路由报文没有携带BGP-ASSUB-TLV字段,则执行现有的根据ISIS路由报文的注入操作。根据上述流程,采用图2的处理方法,BGP路由在穿越ISIS网络后,其环路检测信息AS-path属性没有丢失,保证BGP路由穿越ISIS网络回到BGP领域后,仍能够根据穿越ISIS网络之前的AS-path属性进行环路检测,防止环if各产生。下面举一个实例。仍采用图1的网络结构,图1中下部的VPN1采用ISIS作为路由交换协议。假设CE1发出一条路由N,路由N可以为CE路由;路由N首先到达PEl,PE1将路由N引入到BGP发送给PE2,此时路由N携带AS-path属性为100;在PE2中,路由N被注入ISIS网络时,生成ISIS路由,该ISIS路由携带一个BGP-ASSUB-TLV字段,类型为12,长度为4个字节,值为100;同时PE2中的路由管理模块(RM)将ISIS路由携带的BGP-ASSUB-TLV字段作为扩展信息保存在本地扩展信息库中;ISIS路由在ISIS网络中从CE2到CE3的扩散过程中,会携带BGP-ASSUB-TLV,即携带BGP路由的AS-path信息;当ISIS路由在PE3上再次净皮注入BGP网络的时候,PE3首先进行环路检查,即检查ISIS路由携带的BGP-ASSUB-TLV字段,如果该字段包含了PE3本地的AS号,即100,则视为环路产生,不将该ISIS路由注入到BGP网络中;反之,则将该ISIS路由注入到BGP进程中,并且使生成的BGP路由携带与BGP-ASSUB-TLV—致的AS-path信息。在本实例中,由于来自CE3的ISIS路由携带的BGP-ASSUB-TLV字段包括AS100的AS号100,所以PE3会视为环路产生,不将该ISIS路由注入到BGP网络中,从而避免了环路产生。为了实现上述防止BGP环路检测信息丟失的方法,本发明提供了一种防止BGP环路检测信息丢失的设备。图3为该防止BGP环路检测信息丟失的设备结构示意图。如图3所示,该设备适用于应用BGP和ISIS的网络,包括BGP路由处理单元31和ISIS路由处理单元32。其中,BGP路由处理单元31,用于将BGP路由注入ISIS网络时,生成携带该BGP路由的AS-path属性内容的ISIS^各由,并发布到ISIS网络中。在一个实施例中,BGP路由处理单元31生成ISIS路由报文,在设置于该ISIS路由报文的BGP-ASSUB-TLV字段中携带BGP路由的AS-path属性内容。BGP-ASSUB-TLV字段具体可以采用前述表1的格式。该BGP路由处理单元31进一步将生成的ISIS路由携带的AS-path属性内容作为扩展信息保存在所在设备的扩展信息库(图3中未示出)中。ISIS路由处理单元32,用于接收来自ISIS网络的ISIS路由,判断所接收ISIS路由携带的AS-path属性内容是否包括所在自治系统的自治系统号;如果包括,则确定产生环路,不允许将所接收ISIS路由注入BGP网络;否则,允许将所接收的ISIS路由注入BGP网络,在注入时生成BGP路由,该BGP路由的AS-path属性内容为所接收ISIS路由携带的AS-path属性内容。在图1中防止BGP环路4企测信息丢失的设备为PE2和PE3。只是本发明实施例中,PE2只涉及BGP路由处理单元31的功能,而PE4只涉及ISIS路由处理单元32的功能。综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种防止边界网关协议环路检测信息丢失的方法,适用于应用边界网关协议BGP和中间系统到中间系统的域内路由信息交换协议ISIS的混合网络,其特征在于,该方法包括网络设备将BGP路由注入ISIS网络时,生成携带所述BGP路由的自治系统路径AS-path属性内容的ISIS路由,并发布到ISIS网络中;网络设备接收来自ISIS网络的ISIS路由,判断所接收ISIS路由携带的AS-path属性内容是否包括所在自治系统的自治系统号;如果包括,则不允许将所接收ISIS路由注入BGP网络;否则,允许将所接收的ISIS路由注入BGP网络,在注入时生成BGP路由,该BGP路由的AS-path属性内容为所接收ISIS路由携带的AS-path属性内容。2、如权利要求1所述的方法,其特征在于,所述生成携带所述BGP路由的AS-path属性内容的ISIS路由之后,进一步包括将ISIS路由携带的AS-path属性内容作为扩展信息保存在网络设备的扩展信息库中。3、如权利要求2所述的方法,其特征在于,被发布到ISIS网络中的ISIS路由在ISIS网络中扩散时携带AS-path属性内容。4、如权利要求1或2或3所述的方法,其特征在于,ISIS路由携带AS-path属性内容的方式为在设置于ISIS路由报文的跨域子类型长度值BGP-ASSUB-TLV字段中携带AS-path属性内容。5、如权利要求4所述的方法,其特征在于,所述BGP-ASSUB-TLV字段包括类型域、长度域和值域;所述值域的值为AS-path属性内容。6、一种防止边界网关协议环路检测信息丟失的设备,适用于应用BGP和ISIS的混合网络,其特征在于,该设备包括BGP路由处理单元,用于将BGP路由注入ISIS网络时,生成携带所述BGP路由的AS-path属性内容的ISIS路由,并发布到ISIS网络中;ISIS路由处理单元,用于接收来自ISIS网络的ISIS路由,判断所接收ISIS路由携带的AS-path属性内容是否包括所在自治系统的自治系统号;如果包括,则不允许将所接收ISIS路由注入BGP网络;否则,允许将所接收的ISIS路由注入BGP网络,在注入时生成BGP路由,该BGP路由的AS-path属性内容为所接收ISIS路由携带的AS-path属性内容。7、如权利要求6所述的设备,其特征在于,所述BGP路由处理单元进一步用于,将生成的ISIS路由携带的AS-path属性内容作为扩展信息保存在所在设备的扩展信息库中。8、如权利要求6或7所述的设备,其特征在于,所述BGP路由处理单元令ISIS路由携带AS-path属性内容的方式为生成ISIS路由报文,在设置于该ISIS路由报文的BGP-ASSUB-TLV字段中携带所述BGP路由的AS-path属性内容。全文摘要本发明公开了防止边界网关协议环路检测信息丢失的方法和设备。在所述方法中网络设备将BGP路由注入ISIS网络时,生成携带BGP路由的AS-path属性内容的ISIS路由,并发布到ISIS网络中;任意一个网络设备接收来自ISIS网络的ISIS路由,判断所接收ISIS路由携带的AS-path属性内容是否包括所在AS的AS号;如果不包括,则允许将所接收的ISIS路由注入BGP网络,在注入时生成BGP路由,该BGP路由的AS-path属性内容为所接收ISIS路由携带的AS-path属性内容。这样,BGP路由在穿越ISIS网络时,不会其丢失环路检测信息。文档编号H04L29/06GK101420443SQ200810239699公开日2009年4月29日申请日期2008年12月15日优先权日2008年12月15日发明者程锋章申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1