CN101099342A - 用于边界网关协议中的基于上下文的前缀更新的方法和设备 - Google Patents
用于边界网关协议中的基于上下文的前缀更新的方法和设备 Download PDFInfo
- Publication number
- CN101099342A CN101099342A CNA200680001816XA CN200680001816A CN101099342A CN 101099342 A CN101099342 A CN 101099342A CN A200680001816X A CNA200680001816X A CN A200680001816XA CN 200680001816 A CN200680001816 A CN 200680001816A CN 101099342 A CN101099342 A CN 101099342A
- Authority
- CN
- China
- Prior art keywords
- context
- bgp
- equipment
- routing table
- identifier
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了一种用于在边界网关协议(BGP)主机中提供路由选择表更新的设备。代表相异的路由选择表的一个或多个上下文在BGP主机中被定义。作为与BGP对等体建立BGP会话的一部分,所述一个或多个上下文中的特定上下文被通告给BGP对等体。响应于从BGP对等体接收到包括标识该特定上下文的信息的路由更新消息,在BGP主机处更新由该特定上下文所代表的路由选择表。
Description
技术领域
本发明一般地涉及网络路由选择。更具体而言,本发明涉及在边界网关协议(BGP)中提供基于上下文的前缀更新。
背景技术
本部分中描述的方法可以被实现,但不一定是先前已经构想出或实现过的方法。因此,除非这里另有指明,否则本部分中描述的方法并不是本申请的权利要求的现有技术,并且不因为被包括在本部分中就承认是现有技术。
边界网关协议(BGP)是用于自治系统间路由选择的路径向量路由选择协议。被赋予BGP能力的网络元件(BGP主机或对等体)的功能是与其他被赋予BGP能力的网络元件交换网络可达性信息。最常实现的BGP版本是BGP-4,它在RFC1771(1995年3月由因特网工程任务组(IETF)发表)中定义。
为了交换路由选择信息,两个BGP主机首先通过交换BGP OPEN(BGP开放)消息建立对等会话。BGP主机随后交换其全部路由选择表。在该初始交换之后,每个BGP主机仅在一个或多个BGP UPDATE(BGP更新)消息中将新的、经修改的以及不可用或撤回的路由的增量更新发送到其一个或多个BGP对等体。路由被定义为将网络目的地与到该目的地的网络路径的属性相配对的信息单元。网络路径的属性包括沿着该路径的计算机系统的网络地址(也称为地址前缀或就称为前缀),等等。在BGP主机中,路由被存储在路由选择信息库(RIB)中。取决于BGP的特定软件实现方式,RIB可由一个或多个路由选择表来代表。当有不止一个路由选择表代表RIB时,路由选择表可以是存储在同一物理存储空间中的信息的逻辑子集,或者路由选择表可以被存储在物理上分离的存储空间中。
按照RFC1771中的定义,BGP UPDATE消息的结构仅适应对因特网协议版本4(IPv4)单播路由的更新。RFC2858(2000年6月由IETF发表)中定义的BGP的多协议扩展适应对用于多个网络层协议的路由选择信息的更新,所述多个网络层协议例如是因特网协议版本6(IPv6)、互联网分组交换(IPX)、Appletalk、Banyan Vines、异步传输模式(ATM)、X.25和帧中继。RFC2558引入了两个单值参数来适应BGPUPDATE消息结构的改变:地址族标识符(AFI)和后续地址族标识符(SAFI)。
AFI参数携带着与去往目的地的路径中接下来的网络地址相关联的网络层协议的身份。SAFI参数提供了关于BGP UPDATE消息中包括的网络层可达性信息的类型的额外信息,并且为该参数定义的值通常指示通信转发机制的类型,例如单播或多播。虽然AFI和SAFI值中的某些被预留以供私用,但是公众通常可使用的AFI和SAFI值必须通过因特网号码分配机构(IANA)来分配。AFI/SAFI组合被BGP的软件实现用来指示BGP前缀更新的类型,前缀更新具有什么格式,以及如何解释BGP UPDATE消息中包括的路由。
但是,AFI/SAFI层次结构是一种不能被很容易地修改以适应变化的严格结构。如果需要不遵循主家族地址和后续家族地址的当前层次结构的新型地址,则没有什么好办法来将更新传达给包括遵循这种新型地址的地址的路由,因为只使用AFI和/或SAFI值可能不能充分地描述该新型地址。
例如,随着诸如流式视频和IP语音之类的不同类型的网络流量的扩散,在网络中可能存在属于同一地址族的不同类型的地址。网络可能在IPv4地址网络中传送音频、视频和常规数据流量。在这种情况下,希望在不同的路由选择表中为不同类型的流量存储网络路由,以实现更快的路由更新。但是,由于不同路由是由同一地址族(例如指示IPv4单播的AFI/SAFI组合)来表示的,因此当前的BGP实现方式无法区分这些路由,从而将不得不把它们放在同一路由选择表中。从而,至少就区分传送不同类型的网络流量的路由而言,AFI/SAFI组合已被证明是不能胜任的。
在BGP实现方式中适应新的地址族的一种过去的方法是分配用于标识虚拟专用网(VPN)地址的新的SAFI值。在该方法中,BGP的实现方式也被修改,以具体地处理由BGP UPDATE消息传送的用于对包括VPN地址的路由的更新的前缀。
但是,该方法具有若干缺点。一个问题在于在接收到BGP UPDATE消息时,必须先从消息中提取整个路由,然后才能确定更新要去往哪个路由选择表。利用该方法来适应新地址族的另一个问题是每当通过分配新的AFI和/或SAFI值来限定新的地址族,就需要对BGP的软件实现和BGPUPDATE消息结构作出正式改变。
利用AFI/SAFI层次结构在BGP中更新路由的另一个问题是目前BGP不支持在用于IPv4路由的BGP UPDATE消息中包括的NEXT_HOP PATH属性中发送IPv6地址前缀。目前,BGP默认NEXT_HOP属性值为BGPUPDATE消息所针对的同一地址族。其原因是16字节IPv6地址无法被存储在4字节IPv4地址空间中,因此,BGP无法被用来为其中路由中的下一跳是“纯”IPv6网络中的地址的IPv4路由提供路由更新。
基于前述情况,很明显需要在BGP中为包括来自新定义的地址类型或地址族的地址的路由提供路由选择表更新,同时不要求对BGP本身的软件实现作出任何修改的技术。此外,很明显需要在BGP中向路由中的下一跳是IPv6网络中的地址的IPv4路由提供更新。
附图说明
通过附图以示例方式而非限制方式说明本发明,附图中类似的标号是指类似的元件,其中:
图1是图示其上可实现一个实施例的网络元件的概况的框图;
图2是图示根据一个实施例在两个BGP对等体上定义的BGP上下文之间的关系的示例的框图;
图3A是图示根据一个实施例的BGP UPDATE消息的格式的框图;
图3B是图示根据一个实施例的BGP CAPABILITIES(BGP能力)参数的基于上下文的能力值字段的格式的框图;
图3C是图示根据一个实施例的基于上下文的能力值字段的上下文描述字段的格式的框图;
图3D是图示根据一个实施例的指示上下文的PATH(路径)属性值字段的格式的框图;
图4是图示用于在BGP中提供路由选择表更新的方法的一个实施例的概况的流程图;
图5是图示其上可实现一个实施例的计算机系统的框图;以及
图6是图示BGP CONTEXT(BGP上下文)能力值字段的格式的框图。
具体实施方式
描述了用于在边界网关协议(BGP)中提供路由选择表更新的方法和设备。在下面的描述中,出于说明目的,给出了大量具体细节以便完全理解本发明。但是,本领域技术人员将会清楚,没有这些具体细节也可以实施本发明。在其他实例中,公知的结构和设备以框图形式示出,以避免不必要地模糊本发明。
这里根据下面的大纲描述实施例:
1.0概述
2.0结构和功能概述
3.0一个实施例的结构特征
3.1上下文和上下文标识符
3.2 BGP的基于上下文的UPDATE消息的格式
3.3 BGP上下文描述格式
3.4 BGP的与上下文有关的PATH属性格式
4.0在BGP中提供路由选择表更新的方法
4.1基于上下文的前缀更新的过程
4.2基于上下文的下一跳路由选择的过程
5.0用于通告和更新上下文的CONTEXT能力方法
6.0实现机构-硬件概述
7.0扩展和替换
1.0概述
前述背景技术部分所指出的需求以及从下面的描述中将会显现出来的其他需求和目标在本发明中得以实现,本发明在一个方面包括一种用于在边界网关协议(BGP)主机中提供路由选择表更新的设备。代表相异的路由选择表的一个或多个上下文在BGP主机中被定义。作为与BGP对等体建立BGP会话的一部分,BGP主机向BGP对等体通告所述上下文中的特定上下文。响应于从BGP对等体接收到包括标识该特定上下文的信息的路由更新消息,BGP主机更新由该特定上下文所代表的路由选择表。
在该方面的一个特征中,每个相异的路由选择表存储具有属于同一地址族的地址前缀的一组路由。在该方面的另一个特征中,每个相异的路由选择表存储具有属于不同地址族的地址前缀的一组路由。
在该方面的一个特征中,在每个相异的路由选择表中存储有一组路由,每组路由用于路由携带特定类型的信息的分组。在该特征中,特定类型的信息可以是视频、音频或数据信息中的至少一种。
在该方面的一个特征中,所述一个或多个上下文中的每一个与唯一的上下文标识符和唯一的上下文描述相关联。作为通告特定上下文的一部分,与该特定上下文相关联的上下文标识符和上下文描述被发送到BGP对等体。BGP对等体随后在去往BGP主机的路由更新消息中发送的信息中包括与该特定上下文相关联的上下文标识符。
在该方面的一个特征中,与特定上下文相关联的上下文标识符和上下文描述是在作为建立BGP会话的一部分而发送到BGP对等体的BGPOPEN消息中包括的BGP CAPABILITIES参数中被通告给BGP对等体的。
在该方面的一个特征中,从BGP对等体接收的路由更新消息是BGPUPDATE消息。
在该方面的一个特征中,路由更新消息包括上下文属性,其中上下文属性是第一BGP PATH属性。第一上下文属性的值将第二BGP PATH属性与BGP主机中的某个上下文的上下文标识符关联起来,其中该上下文不同于在路由更新消息中指示的上下文。在一个实施例中,第二BGP PATH属性是NEXT_HOP PATH属性。
在该方面的一个特征中,在BGP主机处更新路由选择表的步骤包括从路由更新消息中提取出上下文标识符的值。仅当上下文标识符的值匹配与BGP主机中的某个上下文相关联的任何上下文标识符时,路由更新消息中的其余信息才被提取。
在该方面的一个特征中,与上下文相关联的上下文描述基于标识网络地址的类型的地址族标识符(AFI)或者基于标识通信转发机制的类型的后续地址族标识符(SAFI)。在该方面的另一个特征中,上下文描述基于AFI和SAFI两者。
在该方面的一个特征中,在关闭其中通告上下文标识符的BGP会话时,一个或多个上下文和它们相应的上下文标识符之间的关联被销毁。在另一个特征中,一个或多个上下文和它们相应的上下文标识符之间的关联被跨不同BGP会话地保留。
在该方面的一个特征中,BGP对等体向BGP主机发送用于仅更新由已作为建立BGP会话的一部分而由BGP主机通告的上下文所代表的路由选择表的路由更新消息。
在另一个方面中,本发明包括被配置为执行上述步骤的计算机设备。在该方面的一个特征中,该计算机设备是路由器。在另一个方面中,本发明包括被配置为执行上述步骤的计算机可读介质。
2.0结构和功能概述
在一个实施例中,根据不提供任何地址族信息(例如AFI和/或SAFI)的格式组装BGP UPDATE消息。作为取代,BGP UPDATE消息包括标识在BGP会话建立期间被BGP对等体所通告和协商的特定上下文的上下文标识符。从而,AFI/SAFI层次结构与BGP UPDATE消息解除耦合,取而代之,在在BGP对等体之间建立BGP会话的BGP OPEN消息中所包括的BGP CAPABILITIES参数中定义了代表特定路由选择表的上下文的任何地址族层次结构或描述。后续的BGP UPDATE消息只包括上下文的标识符以及对存储在特定路由选择表中的路由的地址前缀的更新。
在操作中,支持上述BGP UPDATE消息格式的BGP主机向它希望为之交换网络可达性信息的每个路由选择表分配一个唯一的上下文标识符。在与BGP对等体建立BGP会话期间,BGP主机通知对等体与路由选择表相关联的上下文描述和上下文标识符的值。当BGP主机接收到标记有特定上下文标识符的BGP UPDATE消息时,BGP主机可基于该特定上下文标识符确定必须被更新的路由选择表。
图4是图示用于在BGP中提供路由选择表更新的方法的一个实施例的概况的流程图。在步骤402中,BGP主机定义一个或多个上下文,来代表相异的路由选择表。在步骤404中,对于每个上下文,使一个上下文ID(或上下文标识符)与之相关联。此外,可以执行步骤406,在该步骤中对于每个上下文使一个上下文描述与之相关联。
在步骤408中,BGP主机发起与BGP对等体的BGP会话。作为建立会话的一部分,在步骤410中,BGP主机将所有定义的上下文通告给对等体。BGP可通过在BGP OPEN消息的CAPABILITIES参数中包括每个上下文的上下文标识符和上下文描述来执行该步骤,或者可以通过现在已知或以后开发出的任何其他BGP通信技术来执行该步骤。
在步骤412中,BGP主机从BGP对等体接收路由更新消息,该路由更新消息包括BGP主机先前通告给该对等体的上下文ID。在一个实施例中,路由更新消息是遵循包括用于存储上下文ID的字段的格式的BGPUPDATE消息。在步骤414中,BGP主机从消息中提取出上下文ID,并且在步骤416中确定提取出的上下文ID是否与BGP主机的与上下文相关联的上下文ID中的任何一个相匹配。
如果提取出的上下文ID不匹配BGP主机的有效上下文ID,则在步骤418中,BGP主机丢弃该消息。在另一个不同的实施例中,运行在主机上的BGP进程可以是后向兼容的,并且可以支持传统的用于更新路由的BGP方法。在该实施例中,在步骤418中,主机上的BGP进程不丢弃消息,而是以传统方式处理该消息。
如果在步骤416中确定提取出的上下文ID与BGP主机的有效上下文ID相匹配,,则在步骤412中该消息被拆包。接下来,在步骤422中,消息中包括的路由更新被应用到与提取自消息的上下文ID相关联的路由选择表中的路由。
3.0一个实施例的结构特征
3.1上下文和上下文标识符
在一个实施例中,上下文标识符被定义为一个四字节的值,并且与代表相异的路由选择表的上下文相关联。在该实施例中,上下文标识符是从“1”开始按顺序分配的,并且上下文标识符的值仅对它们为之而定义的BGP会话有意义。在另一个不同的实施例中,即使在BGP会话被关闭之后,BGP主机也可保留分配给特定上下文的上下文标识符。这样,上下文标识符和上下文之间的关联持续下来,并且BGP主机可以在与相同或不同BGP对等体建立的一个或多个不同的BGP会话中使用相同的上下文标识符来标识相同的上下文。
在不同实施例中,上下文标识符可以是能够唯一地标识相异的路由选择表的任何大小和数据类型的值。此外,由于上下文标识符是在参与特定BGP会话的BGP对等体之间协商的,因此上下文标识符可以是其类型和大小仅对特定BGP会话的参与者有意义的值。另外,BGP主机可选择以任何方式将上下文标识符分配给上下文,只要BGP主机和其对等体能够通过上下文标识符唯一地识别上下文及其相关联的路由选择表即可。
上下文代表存储在路由选择表中的一组路由。因而,上下文可被定义为代表可存储在可能是RIB中的信息的逻辑子集的路由选择表或者物理上分离的表中的任何路由群组。上下文可代表任何数目的地址族,包括但不限于IPv4、IPv6、Appletalk、Banyan Vines、IPX、Decnet IV、交换多兆位数据服务(SMDS)、帧中继、ATM、高级数据链路控制(HDLC)、网络服务接入点(NSAP)、域名服务(DNS)、自治系统(AS)号码、基于IPv4的快速传输协议(XTP)、基于IPv6的XTP和原本模式XTP。此外,上下文可代表这样的路由选择表,这种路由选择表存储着具有相同地址族的前缀但被用于路由诸如音频、视频和数据分组之类的特定类型的分组的路由。例如,可以定义不同的上下文来代表用于路由流式视频、语音IP和常规数据分组的IPv4单播路由。
此外,如上所述,BGP UPDATE消息不再包括用于标识其携带的地址前缀的类型和/或地址族的任何信息,而是包括与作为建立BGP会话的一部分而协商的上下文相关联的地址前缀的类型和/或地址族。
例如,在VPN路由选择的上下文中,BGP主机不是利用VPN标签来标记路由的地址前缀,而是定义上下文和上下文标识符来代表一组VPN路由,这些路由共享同一VPN标签并且被存储在特定的路由选择表中。BGP主机随后在BGP会话建立期间将VPN上下文标识符通告给BGP对等体。当接收到包括VPN上下文标识符的BGP UPDATE消息时,BGP主机将会知道它需要更新该特定路由选择表,而不需要从消息中提取出所有地址前缀以便判定向哪个路由选择表应用更新。
3.2 BGP的基于上下文的UPDATE消息的格式
在一个实施例中,BGP UPDATE消息被定义并被用于BGP进程中。图3A是图示这种消息的示例性格式的框图,在该图中该消息被标记为BGP C-UPDATE消息300。如图3A所示,该格式包括用于保存与代表路由选择表的上下文相关联的上下文标识符的值的上下文标识符字段302。
图3A所示的其余字段,即不可行路由长度304、已撤回路由306、总路径属性长度308、路径属性310和网络层可达性信息312与RFC1771中为BGP UPDATE消息定义的字段相同。即,不可行路由长度字段304存储特定消息中已撤回路由字段306的长度。已撤回路由306存储从服务中撤回的路由的地址前缀列表,其中每个地址前缀被编码为<长度,前缀>形式的二元组。总路径属性长度字段308存储消息中路径属性字段310的长度。路径属性字段310在可变长度三元组<属性类型,属性长度,属性值>中存储若干个预定的PATH属性。网络层可达性信息字段312存储由该特定BGP UPDATE消息通告的路由的一个或多个地址前缀的列表。列表中的信息被存储为<长度,前缀>二元组,其中<长度>是二元组中接下来的地址前缀的以位为单位的长度。
3.3 BGP上下文描述格式
在一个实施例中,定义了基于上下文的CAPABILITIES参数值以使得BGP进程能够通告它可以执行基于上下文的更新。CAPABILITIES参数值是根据RFC3392中阐述的标准定义的,RFC3392在2002年11月由IETF发表。RFC3392定义了CAPABILITIES参数,以便通过在不要求BGP对等被终止的情况下提供适度的能力通告,来帮助在BGP中引入新能力。具有BGP主机的一个或多个能力的CAPABILITIES参数在BGP OPEN消息中被发送,以便通知BGP对等体该BGP主机所支持的能力。
按照RFC3392中的定义,CAPABILITIES参数包含一个或多个三元组<能力代码,能力长度,能力值>,其中能力代码是明确标识个别能力的一字节字段,能力长度是包含能力值字段的以字节为单位的长度的一字节字段,能力值是根据能力代码字段的值来解释的可变长度字段。
图3B是图示根据一个实施例的BGP CAPABILITIES参数的基于上下文的C-UPDATE能力值字段320的格式的框图。在图3B中,C-UPDATE能力值字段320是类型-长度-值(TLV)元素的阵列,其中每个元素是一个三元组<上下文标识符,长度,上下文描述>。在每个元素中,上下文标识符字段322存储如上所述的上下文标识符值,上下文描述长度字段3214是上下文描述字段326的长度。
上下文描述字段326是TLV元素的阵列。图3C是图示根据一个实施例的基于上下文的能力值字段320中的C-UPDATE上下文描述字段326的格式的框图。在图3C中,C-UPDATE上下文描述字段326包括上下文描述类型字段332、上下文描述类型长度字段334和上下文描述类型值字段336。
上下文描述类型字段332存储上下文的类型。例如,在一个实施例中,上下文描述类型字段332存储用于标识特定地址族的有效AFI值,或者可以存储用于标识后续的地址族的有效SAFI值。此外,在另一个不同的实施例中,上下文描述类型字段332可存储由IANA定义的任何地址族类型的值,或者可以以仅为BGP会话中的BGP对等体所理解的意义被预先协商的任何值,例如上述上下文标识符。
上下文描述类型长度字段334存储上下文描述类型值字段336的长度。上下文描述类型值字段336存储与上下文描述类型字段332中标识的上下文描述类型相关联的值。
3.4 BGP的指示上下文的PATH属性格式
在一个实施例中,BGP UPDATE消息中的特定的PATH属性可应用到与该消息的上下文标识符字段中存储的上下文标识符所标识的上下文不同的上下文。这种属性的示例是NEXT_HOP PATH属性,它指示BGP主机为之接收到BGP UPDATE消息的路由中的下一跳的地址前缀。换言之,BGP消息可包括对路由中的下一跳是支持来自另一不同地址族的地址的网络中的地址前缀的路由的更新。
为了支持上述情形,在一个实施例中,引入了CONTEXT PATH(上下文路径)属性。CONTEXT PATH属性是特殊的PATH属性,它被用作存储其他PATH属性的容器。
按照RFC1771中的定义,PATH属性是元素的可变长度列表,其中每个元素是一个三元组<属性类型,属性长度,属性值>。根据一个实施例,CONTEXT PATH属性是根据上述格式定义的PATH属性,其中属性类型字段存储CONTEXT PATH属性的属性代码,属性长度字段存储属性值字段的长度。
图3D是图示根据该实施例的CONTEXT PATH属性值字段的格式的框图。CONTEXT PATH属性值字段340存储元素的可变长度列表,其中每个元素是一个二元组<其他路径属性类型,其他路径属性上下文标识符>。在特定的BGP UPDATE消息中,其他路径属性类型字段342存储该消息中包括的另一PATH属性的属性类型,其他路径属性上下文标识符字段344存储与该其他路径属性相关的上下文的上下文标识符。
例如,假定NEXT_HOP PATH属性具有属性类型值“3”,并且CONTEXT PATH属性具有属性类型值“61”。另外假定BGP主机接收到具有包含值“1”(指示消息中包括的前缀更新与由上下文“1”所代表的路由选择表中的路由相关)的上下文标识符字段的BGP UPDATE消息,并且该消息还包括与和上下文标识符“5”相关联的上下文相关的NEXT_HOP PATH属性的值。在这种情形下,BGP UPDATE消息将会包括包含值<61,2,3:5>的CONTEXT PATH属性,其中“61”是CONTEXTPATH属性的属性类型,“2”是CONTEXT PATH属性值的以字节为单位的长度,“3:5”指示BGP UPDATE消息中包括的类型“3”的PATH属性与BGP主机中的上下文标识符“5”所标识的上下文相关。
4.0在BGP中提供路由选择表更新的方法
4.1基于上下文的前缀更新的过程
图1是图示其上可实现一个实施例的网络元件的概况的框图。被赋予了BGP能力的网络元件102A、102B、102C和102D可通信地连接到网络100。虽然图1只示出四个网络元件,但是其他实施例可以由连接到网络的任何数目的网络元件实现。
在图1中,网络元件102A包括操作系统104A和在操作系统上执行的BGP进程106A。BGP进程106A维护一组路由选择表,这些路由选择表的示例是路由选择表108A、108B和108C。如图1所示,路由选择表108A存储被描述为“上下文A”的路由,并且被分配以上下文ID“1”。类似地,路由选择表108B存储被描述为“上下文B”的路由,并且被分配以上下文ID“2”,路由选择表108C存储被描述为“上下文C”的路由,并且被分配以上下文ID“3”。
网络元件102B也实现该实施例,并且包括操作系统104B和在操作系统上执行的BGP进程106B。BGP进程106B维护一组路由选择表,这些路由选择表的示例是路由选择表108D、108E和108F。如图1所示,路由选择表108D存储被描述为“上下文B”的路由,并且被分配以上下文ID“1”。类似地,路由选择表108E存储被描述为“上下文C”的路由,并且被分配以上下文ID“2”,路由选择表108F存储被描述为“上下文D”的路由,并且被分配以上下文ID“3”。图1中描述和标识网络元件102A和102B中的路由选择表的上下文描述和上下文标识符的值仅用于示例目的,也可以使用任何一组值或任何类型的值。
在它们之间的BGP会话的初始设立期间,网络元件102A和102B通告其各自的上下文描述和上下文标识符,并且协商它们可为哪些路由选择表交换路由。如图1所示,网络元件102A可以与网络元件102B中的路由选择表108D交换来自其路由选择表108B的路由,因为路由选择表108B的上下文描述与路由选择表108D的上下文描述相匹配。类似地,网络元件102A可以与网络元件102B中的路由选择表108E交换来自其路由选择表108C的路由,因为路由选择表108C的上下文描述与路由选择表108E的上下文描述相匹配。来自网络元件102A中的路由选择表108A的路由和来自网络元件102B中的路由选择表108F的路由在BGP会话期间不能被交换,因为网络元件102A没有维护被描述为“上下文D”的路由,而网络元件102B没有维护被描述为“上下文A”的路由。
一旦网络元件102A和102B已经协商好了它们可为其交换路由的路由选择表,它们就可以通过组装和发送利用所需路由选择表的上下文标识符标记的BGP UPDATE消息来交换和更新路由。
图2是图示根据一个实施例在网络元件102A和102B上定义的BGP上下文之间的关系的框图。网络元件102A和102B可交换BGP UPDATE消息以更新由定义和通告的上下文所代表的路由。
如图2所示,BGP上下文关系202A图示了在网络元件102A和102B上定义的被描述为“上下文B”的路由之间建立的关系。当网络元件102A希望发送“上下文B”的路由更新到网络元件102B时,它组装BGPUPDATE消息并利用上下文标识符“1”来标记它,因为如BGP上下文关系202A中所示,网络元件102B已经通告了其上下文ID“1”代表被描述为“上下文B”的路由。在接收到BGP UPDATE消息时,网络元件102B从消息中提取出上下文标识符,并且由于上下文标识符是“1”,因此网络元件102B知道消息中的路由更新必须被应用到存储着被描述为“上下文B”的路由的路由选择表108D。
类似地,当网络元件102B希望发送“上下文B”的路由更新到网络元件102A时,它组装BGP UPDATE消息并利用上下文标识符“2”来标记它,因为BGP上下文关系202A中所示,网络元件102A已经通告了其上下文ID“2”代表被描述为“上下文B”的路由。在接收到BGPUPDATE消息时,网络元件102A从消息中提取出上下文标识符,并且由于上下文标识符是“2”,因此网络元件102A知道消息中的路由更新必须被应用到存储着被描述为“上下文B”的路由的路由选择表108B。
BGP上下文关系202B图示了在网络元件102A和102B上定义的被描述为“上下文C”的路由之间建立的关系。与交换被描述为“上下文B”的路由类似,为了交换被描述为“上下文C”并且如BGP上下文关系202B所示通告的路由,网络元件102A利用上下文标识符“2”标记去往网络元件102B的BGP UPDATE消息,并且网络元件102B利用上下文标识符“3”标记去往网络元件102A的BGP UPDATE消息。
4.2基于上下文的下一跳路由选择的过程
在一个实施例中,BGP UPDATE消息被用于更新这样的路由,对于该路由,路径中的下一跳是只支持另一不同地址族的网络地址的网络中的地址。在该实施例中,BGP主机接收用于更新特定路由的BGP UPDATE消息,其中该消息包括NEXT_HOP PATH属性。NEXT HOP属性的值包括存储在这样一个路由选择表中的地址前缀,该路由选择表由不同于消息所针对的上下文的第二上下文所代表。BGP UPDATE消息还包括CONTEXTPATH属性,其值将NEXT_HOP PATH属性与该不同上下文的上下文标识符关联起来。BGP主机随后根据BGP UPDATE消息中的信息更新路由,并且将来自NEXT_HOP属性的地址前缀存储在由第二上下文代表的路由选择表中。然后,当BGP主机接收到必须根据该特定路由来路由的分组时,BGP主机在由第二上下文代表的路由选择表中定位地址前缀,并且相应地路由该分组。
例如,BGP主机将其IPv4和IPv6路由存储在不同的路由选择表中,其中每个路由选择表由一个不同的上下文代表。BGP主机接收用于更新具有IPv4单播地址前缀的特定路由的BGP UPDATE消息。但是,消息中包括的NEXT_HOP属性却存储着IPv6地址前缀,从而指示路由中的下一跳是IPv6网络。BGP UPDATE消息还包括CONTEXT属性,其值将NEXT_HOP属性与IPv6上下文关联起来。BGP主机根据BGP UPDATE消息中的信息更新路由。另外,基于CONTEXT属性中的信息,BGP主机知道它需要将NEXT_HOP属性中的IPv6地址存储在由IPv6上下文代表的路由选择表中。然后,一旦BGP主机接收到需要沿着该特定路由被路由的分组,BGP主机就在由IPv6上下文所代表的路由选择表中定位下一跳的地址前缀。从而,本发明的这个实施例使得能够将分组从IPv4网络路由到不支持IPv4寻址的IPv6网络。
上述结合CONTEXT属性使用NEXT_HOP属性以路由分组的示例应当被视为示例性的,而不是限制性的。上述技术可由BGP主机实现,以沿着其中地址前缀被存储在由不同上下文代表的路由选择表中的任何路由来路由分组。除了IPv4和IPv6外,这种路由可包括VPN路由,以及地址前缀属于同一地址族的用于传送特定类型的信息的路由(例如用于在IPv4单播网络中传送视频、音频和数据的路由)。
5.0用于通告和更新上下文的CONTEXT能力方法
目前,BGP协议可利用IETF RFC2858中定义的多协议扩展为多个地址族和后续地址族携带前缀信息,但是这种方法限于符合AFI/SAFI层次结构的目的地表。本部分的方法提供了一种以不必确保所通告的每个上下文都一定要是由AFI和/或SAFI定义的特定上下文就能使用的方式为特定上下文交换前缀信息的方法。在先的方法未能为多拓扑路由选择(MTR)、域间QoS路由选择或任何其他未被表示为AFI和/或SAFI的服务提供解决方案。
BGP更新的目的地表已在IETF的internet-draft文档“ietf-idr-bgp4”系列中讨论。这种文档的一个示例是“draft-ietf-idr-bgp4-26.txt”,它在2004年10月由IETF发表。最初,BGP更新方法针对的是全局IPv4单播表。然后出现了RFC2858的BGP多协议扩展,它允许基于已知地址族和后续地址族标识符来寻址不同的地址族。利用该方法,诸如IPv4多播反转路径信息这样的信息可通过BGP被传播到网络路由器。多协议扩展的设计基于一种根据对特殊目标表的使用来寻址这些表的方式,但却只留下了很少的空间可用于利用其他类型的表分隔来扩展原始概念。
这里的方法定义了可用来取代多协议扩展寻址方案或结合该方案使用的上下文通信能力。该方法描述了CONTEXT能力,其中每个目的地上下文是利用类型代码和值来描述的,并且与一个上下文标识符相关联。当两个BGP发言人已交换了其上下文描述时,利用特殊的CONTEXT AFI并利用上下文标识符来取代SAFI值,就可以发生前缀交换。
利用该方法,可以再利用现有的更新消息格式,其附加的益处是能够定义上下文,却不必强迫上下文定义进入两级AFI/SAFI层次结构。该方法还允许与诸如路由刷新(在2000年9月发表的IETF RFC2918中定义)之类的现有BGP扩展的后向兼容性。
在该方法中,BGP会话中的BGP对等体通过利用CAPABILITIES参数(2002年11月发表的RFC3392中定义)通告其为个别上下文交换可达性信息的能力。CAPABILITIES参数与CONTEXT能力相关联,并且包括能力代码、能力长度和能力值字段。能力代码明确标识特定能力。能力长度包含能力值字段的长度。能力值字段是一个可变长度字段,它携带着特定于能力代码字段中定义的能力的信息。
在这里描述的方法中,为个别上下文交换可达性信息的能力与CONTEXT地址族相关联,并且由CONTEXT AFI值标识。在一个实施例中,CONTEXT AFI值由IANA定义和维护。在不同实施例中,CONTEXTAFI可能是未提供或定义供公众使用但却被BGP对等体用于专用自治系统中的值。在通告CONTEXT能力时,BGP主机在CAPABILITIES参数的能力代码字段中包括CONTEXT AFI值,以告知其BGP对等体该BGP主机支持上下文的可达性信息。BGP主机随后在CAPABILITIES参数的能力值字段中包括描述一个或多个特定上下文的信息。
在该方法中,描述上下文并被包括在CAPABILITIES参数的能力值字段中的信息包括与被通告的每个特定上下文相关联的上下文标识符和上下文描述。例如,图6是图示BGP CONTEXT能力值字段的格式的框图。
在图6中,BGP上下文能力值字段600包括上下文标识符602、描述长度604和上下文描述326。上下文标识符602与发送通告上下文能力的CAPABILITIES参数的BGP主机的特定上下文相关联,并且唯一地标识该BGP主机的特定上下文。描述长度604包含上下文描述字段的长度。
在一个实施例中,上下文描述字段326的格式是根据图3C中图示的格式的。上下文描述字段326中的值描述与上下文标识符相关联的上下文。上下文描述包括一个或多个三元组<类型,长度,值>的列表,其中每个三元组描述一个特定的上下文。在每个三元组中,类型字段指示接收者应当如何解释值字段。当且仅当所有三元组都匹配时,才认为上下文是匹配的。
根据一个实施例,在上下文描述字段中包括的三元组中,类型字段的大小为一字节,长度字段为一字节并且指定值字段的以字节为单位的长度,值字段具有可变长度。接收者取决于类型字段的值以不同方式处理值字段的内容。在一个实施例中,类型字段可携带下列值中的任何一种:
“0”:预留。可存在任何数目的其他预留值,例如“255”,等等;
“1”:地址族标识符(AFI)。如果类型字段为“1”,则值字段必须包含根据由IANA维护的地址族名称空间的有效AFI值;
“2”:后续地址族标识符(SAFI)。如果类型字段为“2”,则值字段必须包含根据由IANA维护的地址族空间的有效SAFI值;
“3”:QoS标识符(qosid)。如果类型字段为“3”,则值字段必须包含两字节(16位)QoS标识符,BGP发言人利用该标识符来标识用于该QoS级别的特定表;
“4”:拓扑标识符(topoid)。如果类型字段为“4”,则值字段必须包含被BGP发言人用来标识拓扑表的两字节(16位)拓扑标识符值。从而,特定的类型字段值使得该方法例如能与MTR一起使用。
其他上下文描述类型值例如可由IANA定义并维护。
在操作中,当BGP主机希望为AFI/SAFI层次结构之外的上下文交换路由时,它可在包括对一个或多个特定上下文的描述的CAPABILITIES参数中向其对等体通告CONTEXT能力。两个BGP对等体如果都通告了同一上下文,则可为特定上下文交换路由选择信息。当且仅当上下文描述中的类型/值对都完全相同时,才认为两个BGP对等体已经通告了同一上下文。由每一方通告的上下文标识符在该比较中是不重要的。BGP主机在处理接收到的数据的同时存储每个接收到的上下文标识符以便它可标识上下文。
当CONTEXT能力已被交换并且支持的上下文已被协商,并且两个BGP对等体希望为特定上下文交换可达性信息时,BGP对等体使用CONTEXT AFI来标识扩展上下文被使用,并且提供与该特定上下文相关联的上下文标识符作为SAFI值。
例如,在一个实施例中,BGP主机可通过发送根据BGP的多协议扩展制定格式的BGP UPDATE消息来通告由特定上下文所代表的地址前缀。具体而言,BGP对等体在该消息中包括一个MP_REACH_NLRI路径属性,在该属性的AFI字段中包含CONTEXT AFI并且在该属性的SAFI字段中包含该特定上下文的上下文标识符。当BGP主机的BGP对等体接收到BGP UPDATE消息并且识别MP_REACH_NLRI属性中的CONTEXTAFI时,BGP对等体使用SAFI值来识别先前通告的特定上下文。
类似地,当BGP主机希望撤回由该特定上下文代表的路由时,BGP主机向其BGP对等体发送包括MP_UNREACH_NLRI属性的BGPUPDATE消息。MP_UNREACH_NLRI属性在其AFI字段中包含CONTEXT AFI,并且在其SAFI字段中包含该特定上下文的上下文标识符。当BGP对等体接收到该消息时,它识别CONTEXT AFI,并且使用来自SAFI字段的上下文标识符来识别该特定上下文。一旦它已识别了该特定上下文,BGP对等体就撤回MP_UNREACH_NLRI属性的NLRI字段中包括的地址前缀。
这种用于将可用上下文扩展到当前AFI/SAFI上下文之外的方法再利用了当前的多协议扩展格式,因此不需要改变BGP UPDATE消息格式。现有的依赖于AFI/SAFI值来指定给定上下文的扩展无需协议修改就能使用CONTEXT AFI和上下文标识符(作为SAFI值)来指定新的上下文。
这里的方法可用于任何网络设备操作系统、其他网络软件或者提供或容宿着BGP协议的实现的这种软件和硬件的组合中。
6.0实现机构-硬件概述
图5是图示其上可实现本发明的一个实施例的计算机系统500的框图。优选实施例是利用运行在诸如路由器设备这样的网络元件上的一个或多个计算机程序实现的。从而,在该实施例中,计算机系统500是路由器。
计算机系统500包括用于传输信息的总线502或其他通信机构和与总线502相耦合用于处理信息的处理器504。计算机系统500还包括诸如随机存取存储器(RAM)、闪存或其他动态存储设备之类的主存储器506,其耦合到总线502,用于存储信息和处理器504要执行的指令。主存储器506还可用于存储在处理器504执行指令期间的临时变量或其他中间信息。计算机系统500还包括只读存储器(ROM)508或其他静态存储设备,其耦合到总线502,用于存储静态信息和处理器504的指令。提供了诸如磁盘、闪存或光盘之类的存储设备510,其耦合到总线502,用于存储信息和指令。
通信接口518可以耦合到总线502,以用于将信息和命令选择传输到处理器504。接口518是传统串行接口,例如RS-232或RS-422接口。外部终端512或其他计算机系统连接到计算机系统500,并利用接口514向其提供命令。运行在计算机系统500中的固件或软件提供终端接口或基于字符的命令接口,以便外部命令可被提供给计算机系统。
交换系统516耦合到总线502,并具有到一个或多个外部网络元件的输入接口514和输出接口519。外部网络元件可包括耦合到一个或多个主机524的本地网络522,或者诸如因特网528这样的具有一个或多个服务器530的全局网络。交换系统516根据公知的预定协议和惯例将到达输入接口514的信息流量交换到输出接口519。例如,交换系统516与处理器504合作,可确定到达输入接口514的数据分组的目的地,并利用输出接口519将其发送到正确的目的地。目的地可包括主机524、服务器530,其他末端站,或者本地网络522或因特网528中的其他路由选择和交换设备。
本发明涉及使用计算机系统500来在BGP进程中提供基于上下文的路由选择表更新。根据本发明的一个实施例,BGP进程中的基于上下文的路由选择表更新是由计算机系统500响应于处理器504执行包含在主存储器506中的一条或多条指令的一个或多个序列而提供的。这种指令可以被从另一计算机可读介质(如存储设备510)读取到主存储器506中。包含在主存储器506中的指令序列的执行使得处理器504执行这里描述的过程步骤。多处理配置中的一个或多个处理器也可被用来执行包含在主存储器506中的指令序列。在替换实施例中,可以使用硬线电路来替代软件指令或与软件指令相结合以实现本发明。从而,本发明的实施例并不限于硬件电路和软件的任何特定组合。
这里所用的术语“计算机可读介质”指参与向处理器504提供指令以供执行的任何介质。这种介质可以采取许多形式,包括但不限于:非易失性介质、易失性介质和传输介质。非易失性介质例如包括光盘或磁盘,如存储设备510。易失性介质包括动态存储器,如主存储器506。传输介质包括同轴电缆、铜线和光纤,包括含总线502的线路。传输介质也可以采取声波或光波的形式,例如在无线电波和红外数据通信期间生成的声波或光波。
计算机可读介质的常见形式例如包括软盘、柔性盘、硬盘、磁带或任何其他磁介质,CD-ROM、任何其他光介质,穿孔卡、纸带、任何其他具有孔图案的物理介质,RAM、PROM和EPROM、FLASH-EPROM、任何其他存储器芯片或卡盘,下文中描述的载波,或者计算机可以读取的任何其他介质。
计算机可读介质的各种形式可用于将一条或多条指令的一个或多个序列传送到处理器504以供执行。例如,指令可以首先承载在远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器中,并利用调制解调器经由电话线发送指令。计算机系统500本地的调制解调器可以接收电话线上的数据,并使用红外发射器来将数据转换为红外信号。耦合到总线502的红外检测器可以接收在红外信号中携带的数据,并且将数据置于总线502上。总线502将数据传送到主存储器506,处理器504从主存储器506取得指令并执行指令。主存储器506接收的指令可以可选地在处理器504执行之前或之后存储到存储设备510上。
通信接口518还提供到连接到本地网络522的网络链路520的双向数据通信耦合。例如,通信接口518可以是综合业务数字网络(ISDN)卡或调制解调器,以提供到相应类型电话线的数字通信连接。又例如,通信接口518可以是局域网(LAN)卡,以提供到兼容LAN的数据通信连接。也可以实现无线链路。在任何这种实现方式中,通信接口518发送并接收电的、电磁的或光信号,这些信号携带了代表各种类型信息的数字数据流。
网络链路520一般经过一个或多个网络提供到其他数据设备的数据通信。例如,网络链路520可以经过本地网络522提供到主机计算机524或由因特网服务供应商(ISP)526操作的数据设备的连接。ISP 526进而又经过全球分组数据通信网络(现在通常称为“因特网”528)提供数据通信服务。本地网络522和因特网528都使用携带数字数据流的电的、电磁的或光信号。经过各种网络的信号和在网络链路520上并经过通信接口518的信号(这些信号携带去往和来自计算机系统500的数字数据)是传输信息的载波的示例性形式。
计算机系统500可以经过网络、网络链路520和通信接口518发送消息并接收数据,包括程序代码。在因特网示例中,服务器530可以经过因特网528、ISP 526、本地网络522和通信接口518传输应用程序的请求代码。根据本发明,一个这种下载的应用程序提供了如这里所述的BGP主机中的基于上下文的路由选择表更新。
接收到的代码可以在接收时被处理器504执行,和/或被存储在存储设备510或其他非易失性存储介质中以供后续执行。以这种方式,计算机系统500可以获得载波形式的应用代码。
7.0扩展和替换
在前述说明书中,已参考特定实施例描述了本发明。但是,应当清楚,在不脱离本发明更宽广的精神和范围的前提下,可以进行各种修改和改变。因此,说明书和附图都应当认为是示例性的,而非限制性的。
Claims (41)
1.一种用于在边界网关协议(BGP)主机中提供路由选择表更新的设备,包括:
一个或多个处理器;以及
一个或多个存储的指令序列,这些指令序列在被所述一个或多个处理器执行时,使得所述一个或多个处理器执行以下步骤:
在所述BGP主机的计算机存储器中定义一个或多个上下文,其中每个上下文代表一个相异的路由选择表;
作为在所述BGP主机和BGP对等体之间建立BGP会话的一部分,向所述BGP对等体通告所述一个或多个上下文中的特定上下文;以及
响应于从所述BGP对等体接收到包括标识所述特定上下文的信息的路由更新消息,在所述BGP主机处更新由所述特定上下文所代表的特定路由选择表。
2.如权利要求1所述的设备,其中:
定义一个或多个上下文的步骤包括将所述一个或多个上下文中的每个上下文与唯一的上下文标识符和唯一的上下文描述关联起来;
通告所述特定上下文的步骤包括向所述BGP对等体发送与所述特定上下文相关联的上下文标识符和上下文描述;并且
包括在所述路由更新消息中的所述信息包括所述上下文标识符。
3.如权利要求2所述的设备,其中:
所述特定上下文是第一上下文;
所述上下文标识符是第一上下文标识符;并且
所述路由更新消息包括上下文属性,其中:
所述上下文属性是第一BGP PATH属性,并且
所述上下文属性的值将第二BGP PATH属性与第二上下文标识符关联起来,所述第二上下文标识符与所述一个或多个上下文中不同于所述第一上下文的第二上下文相关联。
4.如权利要求3所述的设备,其中所述第二BGP PATH属性是NEXT_HOP属性。
5.如权利要求4所述的设备,其中:
由所述第一上下文所代表的所述特定路由选择表包括因特网协议版本4(IPv4)地址前缀;
所述NEXT_HOP属性的值包括因持网协议版本6(IPv6)地址;并且
所述第二上下文代表包括IPv6地址前缀的另一个不同的路由选择表。
6.如权利要求5所述的设备,其中:
更新所述特定路由选择表的步骤包括存储所述IPv6地址;并且
所述一个或多个存储的指令序列还包括在被所述一个或多个处理器执行是使所述一个或多个一个执行以下步骤的指令:将网络分组从IPv4网络路由到IPv6网络,其中所述路由步骤包括在所述另一个不同的路由选择表中定位所述IPv6地址。
7.如权利要求2所述的设备,其中通告所述特定上下文的步骤包括在BGP OPEN消息中包括的BGP CAPABILITIES参数中向所述BGP对等体发送所述上下文标识符和所述上下文描述。
8.如权利要求7所述的设备,其中通告所述特定上下文的步骤还包括发送指示所述BGP主机支持对由上下文代表的路由的处理的CONTEXT地址族标识符(AFI)值。
9.如权利要求7所述的设备,其中所述路由更新消息还包括所述CONTEXT AFI值。
10.如权利要求2所述的设备,其中所述路由更新消息是包括用于存储所述上下文标识符的字段的BGP UPDATE消息。
11.如权利要求2所述的设备,其中更新所述特定路由选择表的步骤包括:
从所述路由更新消息中提取出所述上下文标识符的值;以及
仅当所述上下文标识符的值匹配与所述BGP主机中的任何上下文相关联的任何上下文标识符的值时,才提取所述路由更新消息中包括的其余信息。
12.如权利要求2所述的设备,其中所述上下文描述包括以下之一:标识网络地址的类型的地址族标识符(AFI)和标识通信转发机制的类型的后续地址族标识符(SAFI)。
13.如权利要求2所述的设备,其中所述一个或多个存储的指令序列还包括在被所述一个或多个处理器执行时使得所述一个或多个处理执行以下步骤的指令:在关闭所述BGP会话时销毁所述一个或多个上下文和它们相应的上下文标识符之间的关联。
14.如权利要求2所述的设备,其中所述一个或多个存储的指令序列还包括在被所述一个或多个处理器执行时使得所述一个或多个处理执行以下步骤的指令:跨不同BGP会话地保留所述一个或多个上下文和它们相应的上下文标识符之间的关联。
15.如权利要求1所述的设备,其中所述一个或多个存储的指令序列还包括在被所述一个或多个处理器执行时使得所述一个或多个处理执行以下步骤的指令:
在所述BGP主机处,接收用于仅更新由已作为建立所述BGP会话的一部分而由所述BGP主机通告的上下文所代表的路由选择表的一个或多个路由更新消息;以及
其中所述用于更新所述特定路由选择表的路由更新消息是所述一个或多个路由更新消息的成员。
16.如权利要求1所述的设备,其中每个相异的路由选择表存储具有属于同一地址族的地址前缀的一组路由。
17.如权利要求1所述的设备,其中每个相异的路由选择表存储具有属于不同地址族的地址前缀的一组路由。
18.如权利要求1所述的设备,其中在每个相异的路由选择表中存储有一组路由,每组路由用于路由携带特定类型的信息的分组。
19.如权利要求18所述的设备,其中所述特定类型的信息包括视频信息、音频信息和数据信息中的至少一种。
20.如权利要求1所述的设备,其中所述设备是路由器。
21.一种用于在边界网关协议(BGP)主机中提供路由选择表更新的设备,包括:
用于在所述BGP主机的计算机存储器中定义一个或多个上下文的装置,其中每个上下文代表一个相异的路由选择表;
用于向BGP对等体通告所述一个或多个上下文中的特定上下文的装置,其中所述特定上下文是作为在所述BGP主机和所述BGP对等体之间建立BGP会话的一部分而被通告的;以及
用于在所述BGP主机处更新由所述特定上下文所代表的特定路由选择表的装置,其中所述路由选择表是响应于从所述BGP对等体接收到包括标识所述特定上下文的信息的路由更新消息而被更新的。
22.如权利要求21所述的设备,其中:
所述用于定义一个或多个上下文的装置包括用于将所述一个或多个上下文中的每个上下文与唯一的上下文标识符和唯一的上下文描述关联起来的装置;
所述用于通告所述特定上下文的装置包括用于向所述BGP对等体发送与所述特定上下文相关联的上下文标识符和上下文描述的装置;并且
包括在所述路由更新消息中的所述信息包括所述上下文标识符。
23.如权利要求22所述的设备,其中:
所述特定上下文是第一上下文;
所述上下文标识符是第一上下文标识符;并且
所述路由更新消息包括上下文属性,其中:
所述上下文属性是第一BGP PATH属性,并且
所述上下文属性的值将第二BGP PATH属性与第二上下文标识符关联起来,所述第二上下文标识符与所述一个或多个上下文中不同于所述第一上下文的第二上下文相关联。
24.如权利要求23所述的设备,其中所述第二BGP PATH属性是NEXT_HOP属性。
25.如权利要求24所述的设备,其中:
由所述第一上下文所代表的所述特定路由选择表包括因特网协议版本4(IPv4)地址前缀;
所述NEXT_HOP属性的值包括因持网协议版本6(IPv6)地址;并且
所述第二上下文代表包括IPv6地址前缀的另一个不同的路由选择表。
26.如权利要求25所述的设备,其中:
所述用于更新所述特定路由选择表的装置包括用于存储所述IPv6地址的装置;并且
所述设备还包括用于将网络分组从IPv4网络路由到IPv6网络的装置,其中所述用于路由的装置包括用于在所述另一个不同的路由选择表中定位所述IPv6地址的装置。
27.如权利要求22所述的设备,其中所述用于通告所述特定上下文的装置包括用于在BGP OPEN消息中包括的BGP CAPABILITIES参数中向所述BGP对等体发送所述上下文标识符和所述上下文描述的装置。
28.如权利要求27所述的设备,其中所述用于通告所述特定上下文的装置还包括用于发送指示所述BGP主机支持对由上下文代表的路由的处理的CONTEXT地址族标识符(AFI)值的装置。
29.如权利要求27所述的设备,其中所述路由更新消息还包括所述CONTEXT AFI值。
30.如权利要求22所述的设备,其中所述路由更新消息是包括用于存储所述上下文标识符的字段的BGP UPDATE消息。
31.如权利要求22所述的设备,其中所述用于更新所述特定路由选择表的装置包括:
用于从所述路由更新消息中提取出所述上下文标识符的值的装置;以及
用于仅当所述上下文标识符的值匹配与所述BGP主机中的任何上下文相关联的任何上下文标识符的值时,才提取所述路由更新消息中包括的其余信息的装置。
32.如权利要求22所述的设备,其中所述上下文描述包括以下之一:标识网络地址的类型的地址族标识符(AFI)和标识通信转发机制的类型的后续地址族标识符(SAFI)。
33.如权利要求22所述的设备,还包括用于在关闭所述BGP会话时销毁所述一个或多个上下文和它们相应的上下文标识符之间的关联的装置。
34.如权利要求22所述的设备,还包括用于跨不同BGP会话地保留所述一个或多个上下文和它们相应的上下文标识符之间的关联的装置。
35.如权利要求21所述的设备,还包括:
用于在所述BGP主机处,接收用于仅更新由已作为建立所述BGP会话的一部分而由所述BGP主机通告的上下文所代表的路由选择表的一个或多个路由更新消息的装置;以及
其中所述用于更新所述特定路由选择表的路由更新消息是所述一个或多个路由更新消息的成员。
36.如权利要求21所述的设备,其中每个相异的路由选择表存储具有属于同一地址族的地址前缀的一组路由。
37.如权利要求21所述的设备,其中每个相异的路由选择表存储具有属于不同地址族的地址前缀的一组路由。
38.如权利要求21所述的设备,其中在每个相异的路由选择表中存储有一组路由,每组路由用于路由携带特定类型的信息的分组。
39.如权利要求38所述的设备,其中所述特定类型的信息包括视频信息、音频信息和数据信息中的至少一种。
40.如权利要求21所述的设备,其中所述设备是路由器。
41.一种用于在边界网关协议(BGP)主机中提供路由选择表更新的方法,包括以下由计算机实现的步骤:
在BGP主机的计算机存储器中定义一个或多个上下文,其中每个上下文代表一个相异的路由选择表;
作为在所述BGP主机和BGP对等体之间建立BGP会话的一部分,向所述BGP对等体通告所述一个或多个上下文中的特定上下文;以及
响应于从所述BGP对等体接收到包括标识所述特定上下文的信息的路由更新消息,在所述BGP主机处更新由所述特定上下文所代表的特定路由选择表。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US64797805P | 2005-01-27 | 2005-01-27 | |
US60/647,978 | 2005-01-27 | ||
US11/091,316 | 2005-03-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101099342A true CN101099342A (zh) | 2008-01-02 |
CN100574235C CN100574235C (zh) | 2009-12-23 |
Family
ID=39012137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200680001816XA Expired - Fee Related CN100574235C (zh) | 2005-01-27 | 2006-01-20 | 用于边界网关协议中的基于上下文的前缀更新的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100574235C (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271080A (zh) * | 2010-06-03 | 2011-12-07 | 杭州华三通信技术有限公司 | 防止bgp会话在业务变更时断开的方法及其适用的系统 |
CN102404155A (zh) * | 2011-12-01 | 2012-04-04 | 华为数字技术有限公司 | 一种诊断网络故障的方法及装置 |
WO2012167623A1 (zh) * | 2011-07-22 | 2012-12-13 | 华为技术有限公司 | 一种选择路由的方法及设备 |
CN103581009A (zh) * | 2012-08-03 | 2014-02-12 | 丛林网络公司 | 对丢弃敏感的前缀(bgp路径)属性修改 |
CN103944822A (zh) * | 2013-01-21 | 2014-07-23 | 杭州华三通信技术有限公司 | Bgp路由通告方法和装置及bgp路由维护方法和装置 |
CN104038427A (zh) * | 2014-06-30 | 2014-09-10 | 杭州华三通信技术有限公司 | 路由更新方法和路由更新装置 |
WO2020192630A1 (en) * | 2019-03-22 | 2020-10-01 | Huawei Technologies Co., Ltd. | Method and apparatus for providing transport context and on-path meta data to support 5g enabled networks |
CN112787930A (zh) * | 2019-11-06 | 2021-05-11 | 华为技术有限公司 | 一种监控对等体的运行状态的方法、装置及存储介质 |
-
2006
- 2006-01-20 CN CNB200680001816XA patent/CN100574235C/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271080B (zh) * | 2010-06-03 | 2015-04-29 | 杭州华三通信技术有限公司 | 防止bgp会话在业务变更时断开的方法及其适用的系统 |
WO2011150862A1 (en) * | 2010-06-03 | 2011-12-08 | Hangzhou H3C Technologies Co., Ltd. | Method, system and router for changing application in bgp session |
US9350652B2 (en) | 2010-06-03 | 2016-05-24 | Hangzhou H3C Technologies Co., Ltd. | Method, system and router for changing application in BGP session |
CN102271080A (zh) * | 2010-06-03 | 2011-12-07 | 杭州华三通信技术有限公司 | 防止bgp会话在业务变更时断开的方法及其适用的系统 |
WO2012167623A1 (zh) * | 2011-07-22 | 2012-12-13 | 华为技术有限公司 | 一种选择路由的方法及设备 |
CN102404155A (zh) * | 2011-12-01 | 2012-04-04 | 华为数字技术有限公司 | 一种诊断网络故障的方法及装置 |
CN103581009A (zh) * | 2012-08-03 | 2014-02-12 | 丛林网络公司 | 对丢弃敏感的前缀(bgp路径)属性修改 |
CN103581009B (zh) * | 2012-08-03 | 2016-07-06 | 丛林网络公司 | 在包括自治系统的系统中使用的方法和网关路由器 |
CN103944822A (zh) * | 2013-01-21 | 2014-07-23 | 杭州华三通信技术有限公司 | Bgp路由通告方法和装置及bgp路由维护方法和装置 |
WO2014110997A1 (en) * | 2013-01-21 | 2014-07-24 | Hangzhou H3C Technologies Co., Ltd. | Border gateway protocol (bgp) routes advertisement |
CN104038427A (zh) * | 2014-06-30 | 2014-09-10 | 杭州华三通信技术有限公司 | 路由更新方法和路由更新装置 |
WO2020192630A1 (en) * | 2019-03-22 | 2020-10-01 | Huawei Technologies Co., Ltd. | Method and apparatus for providing transport context and on-path meta data to support 5g enabled networks |
CN112787930A (zh) * | 2019-11-06 | 2021-05-11 | 华为技术有限公司 | 一种监控对等体的运行状态的方法、装置及存储介质 |
WO2021088439A1 (zh) * | 2019-11-06 | 2021-05-14 | 华为技术有限公司 | 一种监控对等体的运行状态的方法、装置及存储介质 |
CN112787930B (zh) * | 2019-11-06 | 2024-04-09 | 华为技术有限公司 | 一种监控对等体的运行状态的方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100574235C (zh) | 2009-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100574235C (zh) | 用于边界网关协议中的基于上下文的前缀更新的方法和设备 | |
CN101310486B (zh) | 用于在宽带接入网络中插入因特网协议服务的技术 | |
EP1842338B1 (en) | Method and apparatus for context-based prefix updates in border gateway protocol | |
US7697556B2 (en) | MAC (media access control) tunneling and control and method | |
CN100559770C (zh) | 加快边界网关协议收敛的方法和装置 | |
US9124567B2 (en) | Methods and devices for converting routing data from one protocol to another in a virtual private network | |
US6457059B1 (en) | Method and apparatus for transmitting multicast data in a switched LAN environment | |
US7185107B1 (en) | Redirecting network traffic through a multipoint tunnel overlay network using distinct network address spaces for the overlay and transport networks | |
JP2539167B2 (ja) | マルチキャスト方法及びシステム | |
US20020181464A1 (en) | Multicast routing method and apparatus for routing multicast packet | |
EP2466807A1 (en) | IP Forwarding across a Link State Protocol Controlled Ethernet Network | |
JP2009094832A (ja) | マルチキャストデータ配信装置、その配信方法およびその配信制御プログラム | |
CA2441784A1 (en) | Access networks | |
CN108964940B (zh) | 消息发送方法及装置、存储介质 | |
CN102820977A (zh) | 组播方法、装置及网络设备 | |
CN112822086B (zh) | 用于多播支持的装置和方法 | |
CN102282811B (zh) | 一种伪线的建立方法、装置和系统 | |
CN102143036B (zh) | 前缀发送方法、前缀指定方法以及相应设备 | |
CN107294859B (zh) | 一种信息传递方法、装置及系统 | |
JP2002247089A (ja) | パケットルーティング方法および装置 | |
CN104734877B (zh) | 一种获取配置服务器信息的方法、装置及系统 | |
US7561588B2 (en) | Processing two-octet and four-octet values using border gateway protocol | |
WO1997050215A1 (en) | System and method for transferring packets in a 'connectionless' network | |
JP6197674B2 (ja) | 通信方法、中継装置、および、通信プログラム | |
WO2022222582A1 (zh) | 一种报文处理方法、装置、存储介质及电子装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091223 Termination date: 20210120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |