路由发布方法和设备的制作方法

文档序号:7712665阅读:221来源:国知局

专利名称::路由发布方法和设备的制作方法
技术领域
:本发明涉及通讯
技术领域
,尤其涉及一种路由发布方法和设备。
背景技术
:BGP(BorderGatewayProtocol,边界网关协议)作为一种域间传输协议,广泛应用于ISP(InternetServiceProvider,互联网服务提供商)之间,典型情况如图1所示。图l中,RTA和RTB建立BGP邻居关系(IBGP和EBGP均可),RTA向RTB发布IO万条BGP路由。可以在RTB上配置入策略,使得RTB对从RTA接收的具有某种特征的BGP路由改变其属性,例如针对RTA发布的具有某个地址前缀范围的BGP路由设置med属性为80。当RTB的入策略发生变化时,需要重新获取RTA向RTB发布过的路由的原始属性,并使用变化后的入策略对重新获取的路由进行匹配,使新的入策略生效。为了实现上述过程,现有技术中提供了以下实现方法RTA和RTB支持refresh能力。当RTB配置入策略后,RTB向RTA发布refresh报文,请求RTA向RTB重新发布之前发布过的全部BGP路由。RTB收到RTA重新发布的路由后,根据配置的入策略更新本地路由表。但是在大多数情况下,RTB在入策略发生变化时,并不需要RTA重新向其发布所有路由,而只需要RTA向其重新发布某些具有特定特征的理由。因此,现有的refresh报文的路由选择粒度太粗。实际应用中RTB上的入策略往往是针对某个前缀范围的路由进行操作,而refresh报文则会触发接收端重新发布所有的路由,造成网络资源和设备资源的浪费。现有技术中还提供了一种方法,其中RTB支持keep-all-routes特性(或称soft-reconfigure-in特性)。RTB如能支持该能力,则会保存所有收到的路由的原始属性,当配置策略时,只需要从本地获取i各由的原始属性并根据策略进行处理。该方法存在的问题在于,支持keep-all-routes特性的路由器需要记录所有路由的原始属性,将会带来较大的内存消耗,造成路由器的性能下降。
发明内容本发明提供了一种路由发布方法和设备,用于在使用了BGP协议的网络中实现一端路由设备只向对端路由设备发布具有特定特征的BGP路由,以减少设备间报文交互和冗余处理。本发明提供了一种路由发布方法,应用于使用了边界网关协议BGP的路由设备之间,对路由设备支持的出口路由过滤ORF特性进行扩展,所述方法包括第一路由设备在因入策略变化而需要获取第二路由设备之前发布过的具有特定特征的路由时,向所述第二路由设备发送具有扩展的ORF特性的报文,所述报文中携带所述特定特征的路由的过滤条件;所述第一路由设备接收所述第二路由设备根据所述报文发布的路由,所述接收的路由为所述第二路由设备根据所述过滤条件对之前向所述第一路由设备发布过的路由进行过滤后得到的具有所述特定特征的路由,之前第二路由设备向第一路由设备发布过的路由仍然保存在第一路由设备上。其中,所述向所述第二路由设备发送具有扩展的ORF特性的报文后,还包括所述第二路由设备根据所述具有扩展的ORF特性的报文中携带的过滤条件,对之前向所述第一路由设备发布过的路由进行过滤,将过滤后得到的路由向所述第一路由设备发布;所述第二路由设备将过滤后得到的路由向所述第一路由设备发布后,删除所述过滤条件。其中,所述具有扩展的ORF特性的报文为携带扩展的ORF特性的refresh更新报文,所述扩展的ORF特性通过所述refresh报文中扩展的ORF类型字段标识。其中,还包括所述第一路由设备和所述第二路由设备进行协商,确认对方路由设备具有根据接收到的过滤条件将之前发布过的路由进行过滤后得到的路由进行发布的能力。其中,所述协商包括所述第一路由设备和所述第二路由设备互发携带扩展的ORF特性的open协商报文,当接收到对方路由设备发送的携带扩展的ORF特性的open报文时,确认对方路由设备具有所述能力,所述扩展的ORF特性通过所述open报文中扩展的ORF类型字段标识。本发明还提供了一种路由设备,作为第一路由设备应用于使用了边界网关协议的网络中,所述网络中还包括第二路由设备,所述路由设备包括报文发送单元,用于在因入策略变化而需要获取第二路由设备之前发布过的具有特定特征的路由时,向所述第二路由设备发送具有扩展的ORF特性的报文,所述报文中携带所述特定特征的路由的过滤条件;路由接收单元,用于接收所述第二路由设备根据所述报文发布的路由,所述接收的路由为所述第二路由设备根据所述过滤条件对之前向所述第一路由设备发布过的路由进行过滤后得到的具有所述特定特征的路由,之前第二路由设备向第一路由设备发布过的路由仍然保存在第一路由设备上;报文接收单元,用于接收所述第二路由设备发送的具有扩展的ORF特性的报文,所述报文中携带过滤条件;路由发布单元,用于根据所述报文接收单元接收的报文中携带的过滤条件对之前向所述第二路由设备发布过的路由进行过滤,将过滤后得到的路由向所述第二路由设备发布;将所述过滤后得到的路由向所述第二路由设备发布后,删除所述过滤条件。其中,所述报文发布单元发送的报文、以及所述报文接收单元接收的报文,均为携带扩展的ORF特性的refresh报文,所述扩展的ORF特性通过所述refresh报文中扩展的ORF类型字段标识。其中,还包括协商单元,用于向所述第二路由设备发送携带扩展的ORF特性的协商报文,当接收到所述第二路由设备发送的携带扩展的ORF特性的协商报文时,6确认所述第二路由设备具有根据接收到的过滤条件将之前发布过的路由进行过滤后得到的路由进行发布的能力。其中,所述协商报文为携带扩展的ORF特性的open报文,所述扩展的ORF特性通过所述open报文中扩展的ORF类型字段标识。与现有技术相比,本发明具有以下优点通过对报文进行扩展,在使用了BGP协议的网络中实现了一端路由设备只根据对端路由设备发布的过滤条件、向对端路由设备发布具有特定特征的BGP路由,从而减少了设备间报文交互和冗余处理。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是现有技术中建立了BGP邻居关系的路由设备的网络结构示意图2是本发明中提供的路由发布方法的流程图3是本发明中提供的路由发布方法的另一流程图4是本发明中提供的路由设备的结构示意图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供了一种路由发布方法,应用于使用了边界网关协议的第一路由设备和第二路由设备之间,对路由设备支持的ORF特性进行扩展,应用于第一路由设备时,如图2所示,包括步骤s201、第一路由设备在因入策略变化而需要获取第二路由设备之前发布过的具有特定特征的路由时,向第二路由设备发送具有扩展的ORF特性的报文,该报文中携带该特定特征的路由的过滤条件;步骤s202、第一路由设备接收第二路由设备根据该报文发布的路由,接收的路由为第二路由设备根据该过滤条件对之前向第一路由设备发布过的路由进行过滤后得到的具有该特定特征的路由,之前第二路由设备向第一路由设备发布过的路由仍然保存在第一路由设备上。本发明中提供的上述路由发布方法中,应用于第二路由设备时,如图3所示,包括步骤s301、第二路由设备接收第一路由设备发送的具有扩展的ORF特性的报文,报文中携带过滤条件;步骤s302、第二路由设备根据过滤条件对之前向第一路由设备发布过的路由进行过滤,将过滤后得到的路由向第一路由设备发布;将过滤后得到的路由向所述第一路由设备发布后,删除该过滤条件。现有技术中提供了基于refresh报文的ORF(OutboundRouteFilter,出口路由过滤)特性,由请求端和发布端在建立邻居关系时,请求端在refresh报文中将过滤条件通过refresh报文中的ORF字段发布给发布端,由发布端根据接收到的过滤条件(也可理解为出策略)对向请求端发布的路由进行路由过滤。具体的,当发布端需要向邻居发布路由时,对于通过了本地的路由出策略、且通过了ORF携带的过滤条件的路由信息才会发给请求端,以达到减少BGP邻居间才艮文的交互,节省网络资源。虽然现有技术中提供了ORF特性,但是ORF特性不适用于一设备的入策略发生变化时从邻居设备获取路由的情况。例如,在RTB上配置了新的入策略,判断如果目的地址是l.1.1.1/32,则设置MED属性为80;如果不是1.1.1.1/32则正常接收,不改变属性。因此RTB需要对端向其重新发送l丄1.1/32的路由。现有技术中,只有向对端发布refresh请求所有发过的BGP路由。对于ORF特性,如果通过配置ORF向对端发布请求使其只重新发布1.1.1.1/32的路由,则对端向RTB发布的其他不是l.U.1/32的路由都必须撤销。而实际上,请求端RTB只需要向对端RTA请求1.1.1.1/32的路由,对于其他的路由,并不需要更新,也不需要撤销。为了对现有的ORF特性进行扩展,本发明提供的路由发布方法中,将路由设备具有的功能称为ORF的special-refresh扩展能力。其核心思想是本端路由设备入策略更新时,向对端设备发送携带过滤条件的refresh报文,并在refresh报文中携带扩展ORF能力标识,以使得该refresh报文与现有技术中的refresh报文进行区分。对端设备收到该refresh报文后,根据扩展ORF能力标识,从已经向该本端路由设备发布过的BGP路由中,根据接收到的过滤条件进行过滤,找出符合条件的路由重新发布。另外,本发明中的携带扩展ORF能力标识的refresh报文中的过滤条件只发生一次作用,即对端设备对于从携带扩展ORF能力标识的refresh报文中获取到的过滤条件,根据接收到的过滤条件对发送过的路由进行过滤、找出符合条件的路由重新发布后,即将该过滤条件删除。而对于现有的本端设备通过refresh报文中的ORF字段发布给对端设备的过滤条件,只有本端设备向对端设备发送ORFAction字段为"Remove"或RemoveAll"的refresh报文,对端设备才会将对应的过滤条件删除,否则过滤条件将一直生效。以下对本发明提供的路由方法的具体实施方式进行说明。在向对端设备发送携带过滤条件的refresh报文前,本端路由设备还需要与对端路由设备进行能力协商,确认对端路由设备是否具有根据接收到的过滤条件将之前发布过的路由进行过滤后得到的路由进行发布的能力。该协商可以基于现有的Open报文实现。具体的,现有技术中BGP协议中定义的Open报文的结构如下表1所示<table>tableseeoriginaldocumentpage9</column></row><table>ISend/Receive(1octet)1…+-----------------------IORFType(1octet)+-----------------------ISend/Receive(1octet)报文格式,并定义一个特殊的ORFTYPE(ORF类型)进行扩展。现有技术中的ORF格式规定,TYPE128-255是预留部分,因此可以任选一个值,如采用130用于表示路由设备是否具有应用本发明中路由发布方法所需的能力。其他字段可以参照现有技术中的ORF格式规定。路由设备和对端路由设备互发携带扩展能力标识(本示例中为ORFTYPE=130)的协商Open报文,当接收到对方路由器发送的携带扩展能力标识(本示例中为ORFTYPE=130)的协商Open报文时,确认对方路由器具有应用本发明中路由发布方法所需的special-refresh能力。协商special-refresh能力成功的两台设备之间可以交互支持special-refresh能力的refresh报文。本发明中,refresh报文格式可以基于现有的refresh报文实现。具体的,现有技术中BGP协议中定义的refresh报文的结构如下表2所表2refresh报文的结构+--------------------------------------------------+IAddressFamilyIdentifier(2octets)|+--------------------------------------------------+IReserved(1octet)I1SubsequentAddressFamilyIdentifier(1octet)|+--------------------------------------------------+IWhen-to-refresh(1octet)IIORFType(1octet)I+--------------------------------------------------+ILengthofORFentries(2octets)I+--------------------------------------------------+IFirstORFentry(variable)I+--------------------------------------------------+1SecondORFentry(variable)I+--------------------------------------------------+N-thORFentry(variable)ORFType(1octet)LengthofORFentries(2octets)FirstORFentry(variable)SecondORFentry(variable)N-thORFentry(variable)本发明中协商使用的refresh报文格式可以使用现有具有ORF特性的refresh报文格式,并定义一个特殊的ORFTYPE进行扩展,该ORFTYPE的值与Open报文中携带的ORFTYPE的值相同(本示例中为ORFTYPE=130)。同时在ORFentry字段(FirstORFentry、SecondORFentry...等)中对具体的一个或多个过滤策略进行携带。现有技术中的标准的ORF只是定义了一个比较丰富的过滤策略发送给接收端(支持按照属性过滤和按照前缀过滤),收到refresh报文的路由设备根据ORF的过滤条件判断之前发布过的路由是否要发布,对于不满足过滤条件的路由,如果之前发布过,则撤销发布;如果之前没有发布过,则也不向对端发布。而本发明中提供的方法与现有技术中的ORF的区别在于,在路由设备收到对端路由设备发布的携带扩展能力标识(本示例中为ORFTYPE=130)的refresh报文时,根据报文中携带的过滤条件(本示例中通过refresh报文中的ORFentry字段携带),对之前向对端路由设备发送过的路由进行过滤(该过滤条件与本设备上配置的出策略并不冲突,可以同时用于路由过滤,只有同时满足过滤条件的路由才会发送给对端路由设备),将过滤得到的路由重新向对端路由设备发布一遍,对于不满足过滤条件的路由,并不需要像现有技术的ORF—样进行撤销,只需不发布即可。另外,本发明中的携带扩展能力标识(本示例中为ORFTYPE=130)的refresh报文中的过滤条件只发生一次作用,即对端设备对于从携带扩展ORF能力标识的refresh报文中获取到的过滤条件,根据接收到的过滤条件对发送过的路由进行过滤、找出符合条件的路由重新发布后,即将该过滤条件删除。本发明提供的上述方法中,通过对报文进行扩展,在使用了BGP协议的网络中实现了一端路由设备只根据对端路由设备发布的过滤条件、向对端路由设备发布具有特定特征的BGP路由,从而减少了设备间报文交互和冗余处理。本发明中还提供了一种路由设备,作为第一路由设备应用于使用了边界网关协议的网络中,该网络中还包括第二路由设备,如图4所示,该路由设备包括报文发送单元10,用于在因入策略变化而需要获取第二路由设备之前发布过的具有特定特征的路由时,向第二路由设备发送具有扩展的ORF特性的报文,报文中携带特定特征的路由的过滤条件;该报文可以为携带扩展的ORF特性的refresh报文,其中扩展的ORF特性通过refresh报文中扩展的ORF类型字段标识。路由接收单元20,用于接收第二路由设备根据报文发送单元IO发送的报文发布的路由,接收的路由为第二路由设备根据过滤条件对之前向第一路由设备发布过的路由进行过滤后得到的具有特定特征的路由,之前第二路由设备向第一路由设备发布过的路由仍然保存在第一路由设备上。报文接收单元30,用于接收第二路由设备发送的具有扩展的ORF特性的报文,报文中携带过滤条件。该报文可以为携带扩展的ORF特性的refresh报文,其中扩展的ORF特性通过refresh报文中扩展的ORF类型字段标识,同时在ORFentry字段中对具体的一个或多个过滤条件进行携带。路由发布单元40,用于根据报文接收单元30接收的报文中携带的过滤条件对之前向第二路由设备发布过的路由进行过滤,将过滤后得到的路由向第二路由设备发布;将过滤后得到的路由向所述第二路由设备发布后,删除该过滤条件。协商单元50,用于向第二路由设备发送携带扩展的ORF特性的协商报文,当接收到第二路由设备发送的携带扩展能力标识的协商报文时,确认第二路由设备具有根据接收到的过滤条件将之前发布过的路由进行过滤后得到的路由进行发布的能力。该协商报文为携带扩展的ORF特性的open报文,其中扩展的ORF特性通过open报文中扩展的ORF类型字段标识。本发明提供的上述设备中,通过对报文进行扩展,在使用了BGP协议的网络中实现了一端路由设备只根据对端路由设备发布的过滤条件、向对端路由设备发布具有特定特征的BGP路由,从而减少了设备间报文交互和冗余处理。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的单元或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的单元可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的单元可以合并为一个单元,也可以进一步拆分成多个子单元。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。权利要求1、一种路由发布方法,其特征在于,应用于使用了边界网关协议BGP的路由设备之间,对路由设备支持的出口路由过滤ORF特性进行扩展,所述方法包括第一路由设备在因入策略变化而需要获取第二路由设备之前发布过的具有特定特征的路由时,向所述第二路由设备发送具有扩展的ORF特性的报文,所述报文中携带所述特定特征的路由的过滤条件;所述第一路由设备接收所述第二路由设备根据所述报文发布的路由,所述接收的路由为所述第二路由设备根据所述过滤条件对之前向所述第一路由设备发布过的路由进行过滤后得到的具有所述特定特征的路由,之前第二路由设备向第一路由设备发布过的路由仍然保存在第一路由设备上。2、如权利要求l所述的方法,其特征在于,所述向所述第二路由设备发送具有扩展的ORF特性的报文后,还包括所述第二路由设备根据所述具有扩展的ORF特性的报文中携带的过滤条件,对之前向所述第一路由设备发布过的路由进行过滤,将过滤后得到的路由向所述第一路由设备发布;所述第二路由设备将过滤后得到的路由向所述第一路由设备发布后,删除所述过滤条件。3、如权利要求1或2所述的方法,其特征在于,所述具有扩展的ORF特性的报文为携带扩展的ORF特性的refresh更新报文,所述扩展的ORF特性通过所述refresh报文中扩展的ORF类型字段标识。4、如权利要求1或2所述的方法,其特征在于,还包括所述第一路由设备和所述第二路由设备进行协商,确认对方路由设备具有根据接收到的过滤条件将之前发布过的路由进行过滤后得到的路由进行发布的能力。5、如权利要求4所述的方法,其特征在于,所述协商包括所述第一路由设备和所述第二路由设备互发携带扩展的ORF特性的open协商报文,当接收到对方路由设备发送的携带扩展的ORF特性的open报文时,确认对方路由设备具有所述能力,所述扩展的ORF特性通过所述open报文中扩展的ORF类型字段标识。6、一种路由设备,其特征在于,作为第一路由设备应用于使用了边界网关协议的网络中,所述网络中还包括第二路由设备,所述路由设备包括报文发送单元,用于在因入策略变化而需要获取第二路由设备之前发布过的具有特定特征的^各由时,向所述第二路由设备发送具有扩展的ORF特性的报文,所述报文中携带所述特定特征的路由的过滤条件;路由接收单元,用于接收所述第二路由设备根据所述报文发布的路由,所述接收的路由为所述第二路由设备根据所述过滤条件对之前向所述第一路由设备发布过的路由进行过滤后得到的具有所述特定特征的路由,之前第二路由设备向第一路由设备发布过的路由仍然保存在第一路由设备上;报文接收单元,用于接收所述第二路由设备发送的具有扩展的ORF特性的报文,所述报文中携带过滤条件;路由发布单元,用于根据所述报文接收单元接收的报文中携带的过滤条件对之前向所述第二路由设备发布过的路由进行过滤,将过滤后得到的路由向所述第二路由设备发布;将所述过滤后得到的路由向所述第二路由设备发布后,删除所述过滤条件。7、如权利要求6所述的路由设备,其特征在于,所述报文发布单元发送的报文、以及所述报文接收单元接收的报文,均为携带扩展的ORF特性的refresh报文,所述扩展的ORF特性通过所述refresh报文中扩展的ORF类型字段标识。8、如权利要求6所述的路由设备,其特征在于,还包括协商单元,用于向所述第二路由设备发送携带扩展的ORF特性的协商报文,当接收到所述第二路由设备发送的携带扩展的ORF特性的协商报文时,确认所述第二路由设备具有根据接收到的过滤条件将之前发布过的路由进行过滤后得到的路由进行发布的能力。9、如权利要求8所述的路由设备,其特征在于,所述协商报文为携带扩展的ORF特性的open报文,所述扩展的ORF特性通过所述open报文中扩展的ORF类型字段标识。全文摘要本发明公开了一种路由发布方法和设备。该方法包括第一路由设备在因入策略变化而需要获取第二路由设备之前发布过的具有特定特征的路由时,向所述第二路由设备发送具有扩展的ORF特性的报文,所述报文中携带所述特定特征的路由的过滤条件;所述第一路由设备接收所述第二路由设备根据所述报文发布的路由,所述接收的路由为所述第二路由设备根据所述过滤条件对之前向所述第一路由设备发布过的路由进行过滤后得到的具有所述特定特征的路由。通过使用本发明,使得一端路由设备只向对端路由设备发布具有特定特征的BGP路由,减少了设备间报文交互和冗余处理。文档编号H04L12/56GK101651624SQ200910169968公开日2010年2月17日申请日期2009年9月11日优先权日2009年9月11日发明者周轶凡,章海锋申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1