用于处理路由数据的方法和系统的制作方法

文档序号:10492098阅读:321来源:国知局
用于处理路由数据的方法和系统的制作方法
【专利摘要】用于在包括多个自治系统的网络中处理路由数据的方法和系统。在网络设备,从至少一个边界网络设备接收路由数据,所述路由数据限定至少一个路线,用于在至少一个边界网络设备上配置的网络通信量。所述至少一个边界网络设备位于多个自治系统中的自治系统的边界。网络设备根据策略集合处理所接收的路由数据以产生修改的路由数据。网络设备将修改的路由数据的至少部分传送至至少一个边界网络设备。修改的路由数据的至少部分可操作为命令至少一个边界网络设备修改至少一个路线的性能。
【专利说明】
用于处理路由数据的方法和系统
技术领域
[0001 ]本公开涉及处理路由数据。具体地,而不是排它地,本公开涉及在包括多个自洽系统的网络中处理路由数据。
【背景技术】
[0002]在通信网络中,网络设备被布置并配置为控制信息怎样通过网络传送。例如,在分组交换网络中,网络设备(诸如路由器、桥接件(bridges)、网关、防火墙和切换器(switches))被部署并配置为有选择地通过网络转发数据包。网络设备可以使用路由定义(诸如路由表,列出通过网络的许多路由或路径以便将数据包传递至所定义的目的地),执行路由功能。这些网络设备还可以被布置为执行许多数据平面路由功能,该数据平面路由功能通过控制和/或管理平面管理,诸如过滤数据包、丢弃数据包、或提供具有优先路由的某些数据包。典型的网络设备包括具有微控制器的嵌入计算设备,所述微控制器被布置并配置为从只读或闪速存储器以固件的形式加载计算机程序代码。
[0003]诸如互联网的大型网络使用各种路由协议以确定网络通信量怎样通过大量异构网络路由。这些网络最初使用静态路由定义。然而,考虑到相互连接的网络的数量和连接的有机增长,静态路由定义迅速变得不实用。因此,开发了诸如边界网关协议(BGP)的路由协议。BGP是互联网上使用的协议以实现不同的自治系统之间的路由。BGP属性是BGP路由的特性,即提供有关路由遵循的路径的信息和/或关于路由的其他数据。BGP路由包括目的地地址的集合,连同描述前往那些地址的路径的BGP属性的集合。外部BGP (eBGP)会话包括存在于不同的自治系统的两个BGP路由器之间的连接,然而内部BGP(iBGP)会话包括存在于同一自治系统的两个BGP路由器之间的连接。
[0004]路由协议允许特定网络或路由域(在BGP中称为自治系统)交换路由信息以便在用于路由网络通信量的合适的路径上达成一致。自治系统(AS)是具有在单个管理实体的管理下的一致的路由策略集的网络。每个自治系统具有用于在全球范围识别那个自治系统的相关联的AS编号。AS路径属性可以定义为自治系统的AS编号的有序表,其中遵循这个路线的数据包将通过。
[0005]通常,每个自治系统以内的网络设备交换网络路由定义,例如建议的路线,并且路由策略由给定的网络设备实现以确定哪个路由定义被添加至网络设备的工作路由定义或表。例如,路由器可以接收用于将诸如数据包的网络通信量路由至给定的目的地的几个不同的建议的路线。因此路由器将部分地基于一个或多个路由策略的集合实现转发决定以确定使用几个不同的建议的路线中的哪个。路由策略可以应用于作为所接收的网络路由定义的部分而定义的一个或多个路由属性。例如,一个属性是AS_PATH,即通过与路线相关联的一个或多个自治系统的路径的定义。如果建议的路线通过自治系统1、3和5,那么AS_PATH可以定义为{I,3,5}。某些路由策略基于AS_PATH长度选择建议的路线。在上述实例中,路径长度是3,并且这个网络路由定义可以在具有5的路径长度的建议路线中选择。
[0006]互联网服务提供商(ISP)通常使用BGP策略作为网络安全机制以及作为体现网络中的业务逻辑的方法。作为互联网架构,在其上运行的服务以及支持其的业务模型变得更加复杂,BGP策略基础设施也相应地更加复杂。这复杂性引起了网络操作共同体中的显著问题并且已经是最近的北美网络运营团体(NANOG)会议和互联网工程任务组(IETF)以内的运营团体的论述主题。
[0007]BGP策略的复杂性对运营商具有许多不利的影响,并且最终会影响互联网的用户。一些运营商具有在它们的配置中附带有超过500,000BGP策略声明的路由器。那些策略的规模预计将继续增长。这些策略的庞大规模会导致从冷启动开启(boot)路由器要花费一小时以上的时间,以及超过五分钟的时间来对配置进行单个线路改变。
[0008]配置的规模和复杂性会直接导致人为误差的错误,这通常具有非常具有破坏性的后果。例如,几年前的YouTube?的开发与这个复杂性直接相关。在试图实现业务驱动的BGP策略时失败了,这导致YouTube?的无效路线蔓延全球互联网的大部分。此外,BGP策略空间的复杂性意味着许多运营商没有部署能够停止无效路线扩散的防御策略。
[0009]同时,IETF路由区域试图部署称为BGPSEC的技术,该技术将通过在这些已经超负荷的路由器以内实时使用公共密钥基础设施(PKI)和加密签名以验证它们接收的路线通告来提供路线通告的更多保证。对于这个方法将是否有效,乃至是否可部署,在运营共同体中存在越来越多的怀疑。

【发明内容】

[0010]根据实施方式,存在一种用于在包括多个自治系统的网络中处理路由数据的方法,所述方法包括:
[0011]在网络设备,从所述网络中的至少一个边界网络设备接收路由数据,所述路由数据限定至少一个路线,用于在所述至少一个边界网络设备上配置的网络通信量;其中所述至少一个边界网络设备位于所述多个自治系统中的自治系统的边界;
[0012]在所述网络设备,根据策略集合处理所接收的路由数据以产生修改的路由数据;并且
[0013]在所述网络设备,将所述修改的路由数据的至少部分传送至所述至少一个边界网络设备,其中所述修改的路由数据的所述至少部分可操作为命令所述至少一个边界网络设备修改所述至少一个路线的性能。
[0014]根据实施方式,存在一种用于在包括多个自治系统的网络中处理路由数据的系统(或‘装置’),所述系统包括包含计算机程序代码的至少一个存储器;以及
[0015]至少一个处理器,与所述至少一个存储器进行数据通信,其中所述至少一个处理器被配置为:
[0016]在网络设备,从所述网络中的至少一个边界网络设备接收路由数据,所述路由数据限定至少一个路线,用于在所述至少一个边界网络设备上配置的网络通信量;其中所述至少一个边界网络设备位于所述多个自治系统中的自治系统的边界;
[0017]在所述网络设备,根据策略集合处理所接收的路由数据以产生修改的路由数据;并且
[0018]在所述网络设备,将所述修改的路由数据的至少部分传送至所述至少一个边界网络设备,其中所述修改的路由数据的所述至少部分可操作为命令所述至少一个边界网络设备去修改所述至少一个路线的性能。
[0019]根据实施方式,存在一种用于在包括多个自治系统的网络中处理路由数据的方法,所述方法包括:
[0020]在所述网络中的边界网络设备,将路由数据传送至网络设备,所述路由数据限定至少一个路线,用于在所述边界网络设备上配置的网络通信量;其中所述边界网络设备位于所述多个自治系统中的自治系统的边界;
[0021]在所述边界网络设备,从所述网络设备接收修改的路由数据,所述修改的路由数据通过根据策略集合处理从所述边界网络设备传送的所述路由数据而在所述网络设备产生;并且
[0022]在所述边界网络设备,响应于接收到所述修改的路由数据,修改所述至少一个路线的性能。实施方式还可以包括实现这个方法的系统和/或计算机程序产品。
[0023]根据实施方式,一种用于在包括多个自治系统的网络中处理路由数据的系统(‘装置’),所述系统包括包含计算机程序代码的至少一个存储器;以及
[0024]至少一个处理器,与所述至少一个存储器数据通信,其中所述至少一个处理器被配置为:
[0025]在所述网络中的边界网络设备,将路由数据传送至网络设备,所述路由数据限定至少一个路线,用于在所述边界网络设备上配置的网络通信量;其中所述边界网络设备位于所述多个自治系统中的自治系统的边界;
[0026]在所述边界网络设备,从所述网络设备接收修改的路由数据,所述修改的路由数据通过根据策略集合处理从所述边界网络设备传送的所述路由数据而在所述网络设备产生;并且
[0027]在所述边界网络设备,响应于接收到所述修改的路由数据,修改所述至少一个路线的性能。
[0028]根据参照附图进行的优选实施方式(仅通过实例的方式给出)的以下描述,本公开的实施方式的其他特征和优势将变得显而易见。
【附图说明】
[0029]图1示出根据实例的网络;
[°03°]图2不出根据实例的网络设备;
[0031]图3示出根据实施方式的网络;
[0032]图4示出根据实施方式的网络;并且
[0033]图5示出根据实施方式的网络设备。
【具体实施方式】
[0034]图1示出根据实例网络100的使用转发信息库集合的网络设备。图1示出三个自治系统110、120和130。每个自治系统包括网络或网络组,例如在共同的控制下以及已经在路由策略上达成一致的路由域。图1的自治系统例如通过一个或多个物理网络连接通信耦接。在图1中,实例网络设备被示出为存在于每个自治系统之中:自治系统110包括网络设备A115;自治系统120包括网络设备B 125;并且自治系统130包括网络设备C 135。图1的实例网络100可以视为互联网的部分的简单化的代表。
[0035]尽管在网络100的每个自治系统中仅示出一个网络设备,但每个自治系统可包括多个网络设备。网络设备可以包括(与其他一起的),路由器、桥接件、网关、防火墙和切换器等。这些设备可以是硬件设备(诸如嵌入式计算机设备)、和/或虚拟设备。任何物理层耦接可以用于将每个网络设备通信耦接至一个或多个网络,例如任何有线和/或无线连接。在图1中示出的每个网络设备115、125、135被布置并配置为路由网络通信量。例如,每个网络设备可以被布置并配置为有选择地在分组交换网络中转发数据包和/或过滤数据包(例如有选择地丢弃数据包)。路由可以对于互联网协议(IP)数据包执行,例如对于第四版(IPv4)和第六版(IPv6)中的一个或多个。
[0036]图1还示出在自治系统110、120和130之间路由的信息的实例。在这个实例中,网络设备A 115发送具有IPl的目的地IP地址的数据包。这是网络设备B 125的IP地址。网络设备B 125被示出为包括网络接口 140、路由引擎150以及转发信息库集合160。数据包在网络接口 140处接收。网络接口 140可包括物理网络接口和/或控制逻辑以执行一个或多个物理、数据链路和网络处理。所接收的数据包的详细数据经过路由引擎150。路由引擎150确定数据包的目的地地址,并且针对前往目的地地址的路径上的下一跳的IP地址查询转发信息库集合160。例如,转发信息库集合160可包括具有目的地网络地址或前缀(prefixes)的列和对应的下一个网络设备IP地址的表格。因此,转发信息库集合160包括网络设备用于路由网络通信量的一个或多个路线。路由引擎150可以查找包含对应于数据包目的地地址的目的地地址或前缀的行,并且检索对应的下一个网络设备的IP地址。在图1的实例中,对应的下一个网络设备是具有IP地址IP2的网络设备C 135。因此路由引擎150从转发信息库集合160检索地址“IP2”,将这个地址插入至数据包详细数据中并且将数据包经由网络接口 140转发至网络设备C 135。
[0037]如先前描述的,网络设备可以使用一个或多个路由协议以协调并控制跨越一个或多个自治系统的信息的路由。内部网关协议可以在每个自治系统以内使用并且外部网关协议可以用于自治系统之间的通信。例如,每个网络设备可以实现一个或多个路由协议,诸如BGP、开放式最短路径优先(OSPF)协议、资源保留协议(RSVP)、标签分布协议(LDP)和/或中介系统至中介系统(IS-1S)协议。一个或多个路由协议由每个网络设备使用以便与其他网络设备通信从而配置各个自治系统的节点之间的路由。例如,网络设备110可具有针对其直接耦接的一个或多个网络的至少一部分的资料,并且可以使用一个或多个路由协议,以便获得更宽的网络的进一步资料和/或在一个或多个另外的网络上的附加设备的进一步资料。在图1的实例中,诸如BGP的外部网关协议使得网络设备能够跨越自治系统而交换信息,然而每个自治系统可以使用内部网关协议以控制其相应的一个网络或多个网络以内的路由。
[0038]图2示出实现BGP以配置路由定义的网络设备210的实例。网络设备210可以例如是图1的网络设备115、125、135中的任意一个。
[0039]图2的网络设备210包括网络接口220、策略引擎230以及路由信息库集合240。网络接口 220可包括诸如网络接口 140的网络接口,例如用于通过一个或多个网络耦接接收数据包的同一接口,或者独立的网络接口(例如用于交换控制信息的专用侧信道)ο策略引擎230被布置为处理路由配置文件250以便实现BGP路由策略。BGP路由策略通过来自路由配置文件250的电子数据定义。
[0040]在路由配置文件250中定义的BGP路由策略使得数据包能够根据许多可配置的标准有选择地通过许多不同的路径传送。例如,除(或代替)默认网络通信量路径(例如基于数据包的目的地地址的)之外,希望基于(与其他一起的)以下中的一个或多个有选择地路由数据包:路径带宽、路径切换、通信量负载、数据包优先级、数据包来源以及数据包目的地。此外,BGP路由策略的使用允许网络运营商控制在网络中安装和/或优选哪个路线。例如,这可以基于技术策略和/或网络安全策略。
[0041]在图2中,网络设备210被布置为经由网络接口220接收(除路由信息库集合240之外的)建议的路线-“R”-。例如,这可以是由相邻的自治系统中的网络设备通知的(例如从该网络设备发送的)路线。还可以是由网络设备210的自治系统的一个网络或多个网络内的网络设备通知的路线。建议的路线可以采用网络路由定义的形式。IP的BGP的网络路由定义可包括以下中的一个或多个:路线适用的IP前缀(例如10.11.0.0/16指示这个路线适用于在他们的前16位中匹配10.11的所有IP地址-例如适用于目的地网络10.11);下一跳,即那个前缀的数据包应当发送前往的网络设备(例如路由器)的地址(这可以是与正在通知路线的路由器相同的地址);自治系统(AS)路径,即指示路线是从哪得知的自治系统编号的序列;共同体(communities ),交换路由的双方之间议定的32位标签的列表(例如它们可以使用标签1234指示高带宽路线或者5678指示应当仅在星期四使用的路线);以及各种其他元数据。
[0042]策略引擎230从网络接口220接收建议路线并且实现在路由配置文件250中定义的路由策略以控制建议路线是否加入路由信息库集合240。例如,策略引擎230可以实现在路由配置文件250中定义的路由策略以给出共享(例如针对共同的目的地的)前缀的路线之间的优先级排序。策略引擎230可以处理与建议路线相关联的网络路由定义以确定(与其他一起的)以下中的一个或多个:路线的起点AS、中间的AS路径特征、路径的长度、作为获知该路径来源的对等路径、路径上设定的共同体字符串等。如果建议路线由网络设备210接受并且加入路由信息库集合240(例如基于在路由配置文件中定义的路由策略),那么策略引擎230还可以确定是否修改所接受的路线的任何属性。例如,所接受的路线可以修改从而设置相对偏好、删除或清理与路线相关联的某些信息(例如移除私人信息)和/或利用附加信息标记路线。在图2中,策略引擎230和路由信息库集合240之间的虚线指示接收的路线可以基于由策略引擎230执行的处理有选择地加入路由信息库集合240。
[0043]图3示出根据实施方式的网络300。网络300包括AS 306。网络300可包括其他AS(未示出hAS 306包括根据实施方式的负责执行各种数据处理任务的网络设备302。网络设备302具有对用于存储数据(诸如策略数据)的数据库302A的访问权;数据库302A可以位于网络设备302本地或者远离网络设备302。
[0044]AS 306还包括许多网络设备,在这种情况下包括边界网络设备304和边界网络设备306。网络300还包括与边界网络设备304配对的对等网络设备308。对等网络设备308位于AS 306外部,例如在网络300的另一个AS(未示出)中。在实施方式中,多个边界网络设备中的每个边界网络设备304、306支持BGP、OSPF、RSVP、LDP和/或其他路由或路径建立协议中的一个或多个。
[0045]边界网络设备(诸如边界路由器)是位于自治系统的边缘的网络设备,因此其网络对等设备中的一些是其自身的自治系统外部的网络设备(诸如路由器)。边界网络设备还可以称为边缘网络设备(诸如边缘路由器)或者提供商边缘设备(诸如提供商边缘路由器)。
[0046]实施方式包括措施,包括在处理包括多个自治系统的网络300中的路由数据中使用的方法、系统(或‘装置’)以及计算机程序产品。在网络设备302,从网络中的至少一个边界网络设备304,接收(3a)在至少一个边界网络设备304上配置的(限定用于网络通信量的至少一个路线的)路由数据。至少一个边界网络设备304位于多个自治系统中的自治系统306的边界。网络设备302根据策略集合处理所接收的路由数据以产生修改的路由数据。策略集合存储在数据库302A中。
[0047]如图4所示,网络设备302然后将修改的路由数据的至少部分传送(4a)至至少一个边界网络设备304;在这样的实施方式中,修改的路由数据的至少部分可操作为命令至少一个边界网络设备304修改至少一个路线的性能(behav1r)。
[0048]实施方式包括,在网络设备302,将修改的路由数据的至少部分传送(4b)至至少一个其他边界网络设备306,其中修改路由数据的至少部分可操作为命令至少一个其他边界网络设备306修改至少一个路线的性能。
[0049]在实施方式中,产生修改的路由数据包括将元数据插入至所接收的路由数据中,其中插入的元数据将一个或多个修改定义至至少一个路线。在一些实施方式中,元数据被插入所接收的路由数据的延长的共同体字段中,例如延长的共同体BGP属性字段。延长的共同体BGP属性包含任意字符串并且被用于根据由运行商配置的和/或由BGP路由器自动执行的策略标记BGP路线。
[0050]在实施方式中,策略集合包括一个或多个网络运营商定义的静态策略,以及一个或多个动态策略(所述动态策略至少部分地基于历史路由数据和外部来源的路由数据中的一个或多个)中的至少一个。在一些这样的实施方式中,网络设备从位于网络的互联网路由注册(IRR)数据库获得历史路由数据和外部来源的路由数据中的一个或多个中的至少部分。IRR是允许网络公布关于众所周知的、有效的互联网路线的详细数据的公共数据库。实体(诸如ISP)查询IRR以构成策略以便进行路线有效性检验。
[0051]在一些实施方式中,从至少一个边界网络设备304接收的路由数据包括由至少一个边界网络设备304从一个或多个对等网络设备308接收(3b)的路由数据。
[0052]实施方式包括措施,包括在包括多个自治系统的网络300中处理路由数据所使用的方法、系统(或‘装置’)以及计算机程序产品。在网络中的边界网络设备304,限定在边界网络设备304上配置的网络通信量的至少一个路线的路由数据传送(3a)至网络设备302。边界网络设备304位于多个自治系统中的自治系统306的边界。在边界网络设备304从网络设备302接收(4a)修改的路由数据;在网络设备302通过根据策略集合处理从边界网络设备304传送的路由数据产生修改的路由数据。响应接收到修改的路由数据,边界网络设备304修改至少一个路线的性能。
[0053]本公开的实施方式涉及采用策略服务器(例如BGP策略服务器)的形式的网络设备的操作,该策略服务器是在自治系统(AS)以内的中央服务器中将复杂的策略应用至路线(例如BGP路线)的网络设备。通过使用根据实施方式的策略服务器,网络运营商可以增加他们的策略的类型、规模和复杂性,其远远超出现在使用边界网络设备(诸如边界路由器)所可能达到的。策略服务器可以例如包括与图3和图4有关的上述网络设备302。
[0054]实施方式包括中央策略服务器,该服务器分析从一个或多个对等AS接收的路线并且将一个元数据分配至一些路线或所有路线以传达分析的结果。在网络的边界设备(诸如边界)路由器上配置的数量众多的策略因此可以由少量简单的策略代替,所述简单的策略将这个元数据转换成针对各个路线采取的动作。这免去了边界网络设备实现复杂的策略的处理开销,并且使得网络运营商不受以下约束,即必须使用边界路由器上可用的有限的命令行接口表达他们的策略。在一些实施方式中,路线包括BGP路线。
[0055]根据一些实施方式的策略服务器的操作顺序如下:
[0056]网络的边界路由器中的每个将它们从对等设备(例如它们的外部对等设备)接收的所有路线(诸如BGP路线)传送至策略服务器。
[0057]在一些实施方式中,在边界路由器将所有它知晓的外部路线传送至策略服务器的同时,其还遵循限定在网络中应当怎样处理“未评估的”路线的简单策略(例如去优先化、保持原样、不输出等)。这样的实施方式可以在策略服务器对路线的评估是异步的情况下采用。
[0058]一旦策略服务器具有所有路线,其就会使用策略集合(可以是相对简单的、粗略的策略集合)决定需要进一步评估那些路线。需要进一步评估的路线交给复杂的策略引擎,该策略引擎可以将静态策略应用至由运营商写成的路线,或者可以使用一些动态过程评估依靠历史数据和/或诸如一个或多个IRR的外部信息来源的路线。
[0059]在策略服务器评估路线之后,其将延长的共同体字符串(诸如BGP延长的共同体字符串)添加至路线并且将路线发送回到提供路线的边界路由器。延长的共同体携带提供策略服务器的路线评估结果的元数据。然后边界路由器将简单的策略逻辑应用至那个元数据并且安装、撤回、升级、降级或另外改变网络中的路线的性能。
[0060]实施方式允许以最小的破坏将网络设备302(例如策略服务器)部署在运营商的网络中。任何实施方式的任何特征可以结合和/或利用任何其他实施方式的任何特征取代。
[0061]实施方式包括将网络设备302配置成操作为网络中的路由反射器实体;在这样的实施方式中,至少一个边界网络设备304被配置成操作为网络中的路由反射器客户端。作为设备302和304的配置结果,经由路由反射器和路由反射器客户端路由数据传播机制,在网络设备302从至少一个边界网络设备304接收路由数据并且将修改的路由数据从网络设备302传送至至少一个边界网络设备304。
[0062]路由反射器包括被配置为相对于某些内部BGP会话执行特殊处理的网络设备,所述内部BGP会话被配置作为路由反射器客户端。如果路由反射器从路由反射器客户端中的一个接收路线,便将路线发送(“反射”)至其他路由反射器客户端。这避免了在客户端之间配置全网格的BGP会话的需要,并且因此改善了 BGP的可扩展性。
[0063]网络设备302将修改的路由数据的至少部分发送至被配置成操作为网络中的路由反射器客户端的至少一个其他边界网络设备306;在这样的实施方式中,修改的路由数据的至少部分可操作为命令至少一个其他边界网络设备306修改其配置的路线中的至少一个的性能。
[0064]在实施方式中,修改的路由数据的至少部分不包括这样的数据,其指示路由数据先前从至少一个边界网络设备接收。在这样的实施方式中,在网络设备处理从边界网络设备304接收的路由数据时,其不添加指示路由数据先前从至少一个边界网络设备304接收的数据。在一些这样的实施方式中,指示路由数据从何处接收的数据字段(诸如0RIGINAT0R_ID属性),可以由网络设备302留成空白或者利用不识别至少一个边界网络设备304的虚拟数据填满。ORIGINATOR_ID属性是BGP属性,确定哪个BGP路由器发起前往本地(local)自治系统内的路线。
[0065]在实施方式中,从至少一个边界网络设备304接收的路由数据包括一个或多个优选路线的路由数据和一个或多个次优的路线的路由数据。一个或多个优选的路线可以例如包括来自至少一个边界网络设备304的LOC-RIB的路线。BGP路由器的LOC-RIB包括BGP路由器已确定的可用的路线之中的最好的BGP路线的集合。一个或多个次优的路线可以例如包括来自至少一个边界网络设备304的Adj-RIBs-1n的路线。BGP路由器的Adj-RIB-1n包括BGP路由器从特定的对等的BGP路由器接收的BGP路线的集合。
[0066]在实施方式中,从至少一个边界网络设备304接收的路由数据包括在至少一个边界网络设备304上配置的所有路线的路由数据。
[0067]在实施方式中,使用能够将多个路线通知到相同的目的地前缀的机制,路由数据从至少一个边界网络设备304接收并且修改的路由数据从网络设备302传送。能够将多个路线通知到相同的目的地前缀的机制可以例如包括对边界网关协议(BGP)的一个或多个添加路径延长(add-path extent),以及一个或多个内部边界网关协议(BGP)会话。
[0068]一些实施方式利用对BGP的延长的BGP添加路径,所述BGP允许路由器将多个路线通知到相同的目的地前缀,而不仅仅是最优选的路线。BGP添加路径已广泛实现并部署。使用BGP添加路径的路由器将会通知(如安装在LOC-RIB中的)最好的路线,以及(来自Adj-RIBs-1n的)一些或所有次优的路线两者。BGP添加路径在互联网草案draft-1etf-1dr-add-paths-09 中定义。
[0069]在利用BGP添加路径的一些实施方式中,网络设备302被配置为路由反射器并且诸如304和306的边界网络设备被配置为路由反射器客户端。每个边界网络设备使用BGP添加路径以将所有其路线通知到网络设备302。网络设备302评估其接收的每个路线并且产生每个路线的元数据。使用添加路径,网络设备302利用包含每个路线的元数据的延长的共同体字符串,将每个目的地前缀的所有路线通知到每个路由反射器客户端(304、306以及可能的其他的(未示出),包括发起每个路线的客户端)。这是非标准的路由反射器性能,因为BGP路线通常不通知回到发起该BGP路线的路由器。网络设备302不将0RIGINAT0R_ID属性添加至该路线使得其通知回到发起的边界路由器(这也是非标准的路由反射器性能)。
[0070]实施方式包括将网络设备302配置为操作为网络中的监控实体;在这样的实施方式中,至少一个边界网络设备304被配置为将网络设备302识别为路由数据监控实体。作为设备302和304的配置结果,经由路由数据监控协议,在网络设备302从至少一个边界网络设备304接收路由数据并且将修改的路由数据经由路由反射器从网络设备302传送至至少一个边界网络设备304。
[0071]实施方式包括,在网络设备302,将修改的路由数据的至少部分发送至被配置成将网络设备识别为路由数据监控实体的至少一个其他边界网络设备306;在这样的实施方式中,修改的路由数据的至少部分可操作为命令至少一个其他边界网络设备306修改其配置的路线中的至少一个的性能。
[0072]在实施方式中,修改的路由数据的至少部分不包括识别(网络设备302位于其中的)自治系统的数据。在实施方式中,网络设备302不添加本地AS编号至路线的AS路径。
[0073]在实施方式中,处理不包括网络设备302改变至少一个路线的下一跳地址。在实施方式中,网络设备302不改变路线的下一跳地址;这个性能可以被配置为网络设备302的默认性能(其他实施方式允许运营商不考虑这个性能)。
[0074]在实施方式中,网络设备302计算来自给定的AS的内部的关于该AS的策略,并且因此不改变AS(例如,AS中的第一路由器将接收路线,将其传送至将执行路由数据处理的网络设备302并且将得到的修改路由数据发送回到AS中的原路由器和/或其他路由器)。然而,在其他实施方式中,如果网络设备302是具有外部实体的“对等路由器”,那么网络设备302将会将本地AS添加至路线。
[0075]一些实施方式利用BGP监控协议(BMP),该协议是允许BGP路由器将其BGP Adj-RIBs-1n的内容发送至监控站的协议。在一些实施方式中,通信采用一个或多个BGP更新消息的形式,该更新消息描述Adj-RIB-1n中的路线,连同识别Adj-RIB-1n的BMP报头。BMP在互联网草案 draf t-1etf-grow-bmp-07 中定义。
[0076]在利用BMP的一些实施方式中,每个边界网络设备(例如304、306)使用BMP以将其所有路线发送至网络设备302。网络设备302评估其接收的每个路线并且产生每个路线的元数据。使用BGP添加路径和内部BGP会话,网络设备302将每个前缀的所有路线通知到AS中的所有边界网络设备。在一些实施方式中,网络设备302被配置为AS 306的路由反射器。在其他实施方式中,网络设备302的单独的设备用作AS 306的路由反射器。在又一些其他实施方式中,存在AS 306中的全网格的内部BGP会话。
[0077]公共密钥基础设施(PKI)是允许在网络以内分配(由公共/私人密钥密码术所使用的)公共秘钥的基础设施。PKI使用公共/私人密钥密码术,这是使用加密密钥对以加密和解密私人数据的密码术形式。每个参与者具有公共密钥和私人密钥。公共密钥与希望发送数据(使用公共密钥基础设施)的任何人共享而私人密钥保持秘密。数据是使用公共密钥加密的但是仅可以使用私人密钥解密。
[0078]一些实施方式利用资源公共密钥基础设施(RPKI),RPKI是IETF的安全内部域路由(SIDR)工作组发起的安全协议。RPKI是边界路由器确定外部对等设备是否有资格通知给出的前缀的手段。路线的发起者标记前缀;PKI被用于分配公开密钥以使得能够进行签名校验。RPKI在边界路由器和RPKI服务器之间运行。RPKI服务器检查所接收的路线上的签名并且利用表示TRUSTED、N0T_TRUSTED或UNKNOWN的结果的BGP共同体值回复。
[0079]实施方式包括将网络设备302配置成操作为资源公共密钥基础设施(RPKI)服务器;在这样的实施方式中,至少一个边界网络设备304被配置成操作为网络中的RPKI客户端。作为设备302和304的配置结果,经由RPKI询问和响应机制,在网络设备302从至少一个边界网络设备304接收路由数据并且将修改的路由数据经由路由反射器从网络设备302传送至至少一个边界网络设备304。
[0080]实施方式包括,在网络设备302,将修改的路由数据的至少部分发送至被配置为操作为网络中的RPKI客户端的至少一个其他边界网络设备306。修改的路由数据的至少部分可操作为命令至少一个其他边界网络设备306修改其配置的路线中的至少一个的性能。[0081 ] 在利用RPKI的一些实施方式中,网络设备302充当RPKI服务器。每个边界网络设备(诸如边界网络设备304和306)使用RPKI将所有其路线发送至网络设备302以便评估。网络设备302评估每个路线并且在RPKI共同体以内返回元数据。(这是非标准的RPKI性能,因为RPKI标准仅定义这个共同体的三个容许值。)
[0082]实施方式实现了在市场位置上没有可比产品的策略服务器。由于中央处理单元(CPU)和存储的需求,在已经过载的硬件路由器中实现策略服务器将是非常困难的。根据实施方式部署策略服务器将使得边界路由器上的负载和配置减少许多数量级,使得它们更加稳定和易管理。根据实施方式部署策略服务器还将允许运营商将很复杂的策略构成移出非常受限制、约束的命令行接口(CLI)环境并且将它们移至高水平程序设计环境集合。通过部署根据实施方式的策略服务器,标准软件工具的使用与现在的行业状态(其中那些概念在路由器配置语言中不可用)相比变得可能。
[0083]如上所述的某些方法可以在网络设备的硬件控制器和/或计算机系统的处理环境中实现。
[0084]图5示出根据实施方式的网络设备505。网络设备可以例如包括以上所述的网络设备302、边界网络设备304和边界网络设备306中的任意一个。如同其他附图一样,这个说明是示意性的并且为了使说明清晰已省去某些特征。网络设备505包括控制器510、网络接口515和计算机可读介质520。控制器510可包括一个或多个微处理器(或处理系统)、片上系统或可编程逻辑控制器。计算机可读介质520可包括可由控制器510访问的(非易失性)存储设备/存储器530诸如非易失性存储器(诸如随机存取存储器(RAM)和/或固态或磁存储设备)。
[0085]在一些实施方式中,计算机可读介质520存储布置为实现策略引擎525的程序代码以及诸如策略集合、路由数据等的数据。在某些实例中,这些对象不需要存储在共同的计算机可读介质中,例如它们可以存储在可由控制器510访问的不同的和/或单独的存储介质中。策略引擎525的程序代码可由控制器510执行以使得网络设备执行上述实施方式中的至少一个。在使用中,网络设备505可以通过经由网络接口515发送和/或接收网络通信量执行各种功能,该网络接口可包括一个或多个物理网络端口。网络设备505可以通过根据存储在存储器530中的说明/配置实现策略引擎525来执行各种功能。
[0086]参照附图本文中描述的实施方式的一个或多个方面包括通过一个或多个网络设备、实体或节点执行的处理。在实施方式中,一个或多个网络设备包括被配置为进行这些处理的一个或多个处理系统或处理器。在这方面,示例性实施方式可至少部分由存储于(非易失性)存储器中并且可由处理器或硬件或有形存储软件和硬件(以及有形存储固件)组合执行的计算机软件实现。实施方式还延伸至计算机程序,尤其是适合于将以上描述的实施方式付诸实践的载体(carrier)上或中的计算机程序。程序可以采用非易失性源代码、目标代码的形式或者以适合用于根据实施方式的处理的实施中的任何其他非易失性形式。载体可以是能够携带程序的任何实体或设备,诸如RAM、R0M或光存储设备等。以上涉及的存储器可包括任何合适的存储介质,包括固态驱动(SSD)或其他基于半导体的RAM;R0M,例如CD ROM或半导体ROM;或者磁性记录介质,例如软盘或硬盘。
[0087]以上实施方式将被理解为本公开的说明性实例。可预见本公开的另外的实施方式。
[0088]以上描述的实施方式与采用BGP的环境有关,但是实施方式可以同等地应用在其他环境中,诸如采用OSPF、RSVP、IS-1S、LDP以及其他路由和路径定向协议中的一个或多个代替BGP或除BGP之外采用以上中的一个或多个的情况。
[0089]上述实施方式包括路由数据由一个或多个边界网络设备传送至的单个、中央网络设备302。在可替换实施方式中,网络设备302的一个或多个功能扩散至多个网络设备群。
[0090]实施方式的网络设备302提供用于在网络内实现大量BGP策略类型(诸如BGP路线的密码验证、使用统计和历史分析对BGP路线进行的垃圾过滤、路线的动态优先级重排序以匹配波动的业务条件、路线的自动聚合和分散以便控制网络负载并且执行精细的通信量转向(fine-grained traffic steering)、以及许多其他类型的策略)的平台。
[0091]实施方式包括包含计算机可执行指令的非易失性计算机可读存储介质,该计算机可执行指令在由处理器执行时,使得计算设备执行在处理包括多个自治系统的网络中的路由数据中使用的方法,该方法包括:
[0092]在网络设备,从网络中的至少一个边界网络设备接收在至少一个边界网络设备上配置的、限定用于网络通信量的至少一个路线的路由数据,其中至少一个边界网络设备位于多个自治系统中的自治系统的边界;
[0093]在网络设备,根据策略集合处理所接收的路由数据以产生修改的路由数据;并且
[0094]在网络设备,将修改的路由数据的至少部分传送至至少一个边界网络设备,其中至少部分修改路由数据可操作为命令至少一个边界网络设备修改至少一个路线的性能。
[0095]应当理解的是,相对于任何一个实施方式描述的任何特征可以单独使用,或与其它描述的特征结合,并且也可以与任何其它实施方式的一个或多个特征或任何其它实施方式的任意组合相结合。此外,在不背离本公开的实施方式的范围的情况下,可采用上面没有描述的等同物和修改,而本公开的实施方式的范围在所附权利要求中限定。
【主权项】
1.一种用于在包括多个自治系统的网络中处理路由数据的方法,所述方法包括: 在网络设备,从所述网络中的至少一个边界网络设备接收路由数据,所述路由数据限定至少一个路线,用于在所述至少一个边界网络设备上配置的网络通信量;其中所述至少一个边界网络设备位于所述多个自治系统中的自治系统的边界; 在所述网络设备,根据策略集合处理所接收的路由数据以产生修改的路由数据;并且 在所述网络设备,将所述修改的路由数据的至少部分传送至所述至少一个边界网络设备,其中所述修改的路由数据的所述至少部分可操作为命令所述至少一个边界网络设备修改所述至少一个路线的性能。2.根据权利要求1所述的方法,包括,在服务器,将所述修改的路由数据的至少部分传送至至少一个其他边界网络设备,其中所述修改的路由数据的所述至少部分可操作为命令所述至少一个其他边界网络设备修改所述至少一个路线的性能。3.根据权利要求1所述的方法,其中,产生所述修改的路由数据包括将元数据插入至所述接收的路由数据中,其中所述插入的元数据将一个或多个修改限定至所述至少一个路线。4.根据权利要求1所述的方法,其中,所述策略集合包括以下中的至少一个: 一个或多个网络运营商定义的静态策略,以及 一个或多个动态策略,所述动态策略至少部分地基于一个或多个历史路由数据和外部来源的路由数据。5.根据权利要求4所述的方法,包括,在所述网络设备,从位于所述网络的互联网路由注册(IRR)数据库获得所述一个或多个历史路由数据和外部来源的路由数据的至少部分。6.根据权利要求1所述的方法,包括,将所述网络设备配置成操作为所述网络中的路由反射器实体,其中所述至少一个边界网络设备被配置成操作为所述网络中的路由反射器客户端,借此经由路由反射器和路由反射器客户端路由数据传播机制,在所述网络设备从所述至少一个边界网络设备接收所述路由数据并且将所述修改的路由数据从所述网络设备传送至所述至少一个边界网络设备。7.根据权利要求6所述的方法,包括,在所述网络设备将所述修改的路由数据的所述至少部分传送至至少一个其他边界网络设备,所述其他边界网络设备被配置成操作为所述网络中的路由反射器客户端;其中所述修改的路由数据的所述至少部分可操作为命令所述至少一个其他边界网络设备修改其配置的路线中的至少一个的性能。8.根据权利要求1所述的方法,其中,所述修改的路由数据的所述至少部分不包括这样的数据,该数据命令所述路由数据为先前从所述至少一个边界网络设备接收。9.根据权利要求1所述的方法,其中,从所述至少一个边界网络设备接收的所述路由数据包括一个或多个优选路线的路由数据和一个或多个次优路线的路由数据。10.根据权利要求1所述的方法,其中,从所述至少一个边界网络设备接收的所述路由数据包括用于在所述至少一个边界网络设备上配置的所有所述路线的路由数据。11.根据权利要求1所述的方法,其中,使用能够将多个路线通知到相同的目的地前缀的机制,从所述至少一个边界网络设备接收所述路由数据并且将所述修改的路由数据从所述网络设备传送。12.根据权利要求11所述的方法,其中,使得能够将多个路线通知到所述相同的目的地前缀的所述机制包括以下中的一个或多个: 边界网关协议(BGP)的添加路径延长,以及 一个或多个内部边界网关协议(BGP)会话。13.根据权利要求1所述的方法,包括,将所述网络设备配置成操作为所述网络中的监控实体,其中所述至少一个边界网络设备被配置为将所述网络设备识别为路由数据监控实体,借此经由路由数据监控协议,在所述网络设备从至少一个边界网络设备接收所述路由数据并且将所述修改的路由数据从所述网络设备传送至所述至少一个边界网络设备。14.根据权利要求13所述的方法,包括,在所述网络设备,将所述修改的路由数据的所述至少部分发送至被配置为将所述网络设备识别为路由数据监控实体的至少一个其他边界网络设备;其中所述修改的路由数据的所述至少部分可操作为命令所述至少一个其他边界网络设备修改其配置的路线中的至少一个的性能。15.根据权利要求1所述的方法,其中,所述修改的路由数据的所述至少部分不包括这样的数据,该数据识别所述网络设备位于其中的自治系统。16.根据权利要求1所述的方法,其中,所述处理不包括改变所述至少一个路线的下一跳地址。17.根据权利要求1所述的方法,包括,将所述网络设备配置成操作为资源公共密钥基础设施(RPKI)服务器,其中所述至少一个边界网络设备被配置成操作为所述网络中的资源公共密钥基础设施客户端,借此经由资源公共密钥基础设施询问和响应机制,在所述网络设备从所述至少一个边界网络设备接收所述路由数据并且将所述修改的路由数据从所述网络设备传送至所述至少一个边界网络设备。18.根据权利要求17所述的方法,包括,在所述网络设备将所述修改的路由数据的所述至少部分传送至被配置成操作为所述网络中的资源公共密钥基础设施客户端的至少一个其他边界网络设备;其中所述修改的路由数据的所述至少部分可操作为命令所述至少一个其他边界网络设备修改其配置的路线中的至少一个的性能。19.一种用于在包括多个自治系统的网络中处理路由数据的系统,所述系统包括包含计算机程序代码的至少一个存储器;以及 至少一个处理器,与所述至少一个存储器进行数据通信,其中所述至少一个处理器被配置为: 在网络设备,从所述网络中的至少一个边界网络设备接收路由数据,所述路由数据限定至少一个路线,用于在所述至少一个边界网络设备上配置的网络通信量;其中所述至少一个边界网络设备位于所述多个自治系统中的自治系统的边界; 在所述网络设备,根据策略集合处理所接收的路由数据以产生修改的路由数据;并且 在所述网络设备,将所述修改的路由数据的至少部分传送至所述至少一个边界网络设备,其中所述修改的路由数据的所述至少部分可操作为命令所述至少一个边界网络设备去修改所述至少一个路线的性能。20.—种用于在包括多个自治系统的网络中处理路由数据的方法,所述方法包括: 在所述网络中的边界网络设备,将路由数据传送至网络设备,所述路由数据限定至少一个路线,用于在所述边界网络设备上配置的网络通信量;其中所述边界网络设备位于所述多个自治系统中的自治系统的边界; 在所述边界网络设备,从所述网络设备接收修改的路由数据,所述修改的路由数据通过根据策略集合处理从所述边界网络设备传送的所述路由数据而在所述网络设备产生;并且 在所述边界网络设备,响应于接收到所述修改的路由数据,修改所述至少一个路线的性能。21.—种用于在包括多个自治系统的网络中处理路由数据的系统,所述系统包括包含计算机程序代码的至少一个存储器;以及 至少一个处理器,与所述至少一个存储器数据通信,其中所述至少一个处理器被配置为: 在所述网络中的边界网络设备,将路由数据传送至网络设备,所述路由数据限定至少一个路线,用于在所述边界网络设备上配置的网络通信量;其中所述边界网络设备位于所述多个自治系统中的自治系统的边界; 在所述边界网络设备,从所述网络设备接收修改的路由数据,所述修改的路由数据通过根据策略集合处理从所述边界网络设备传送的所述路由数据而在所述网络设备产生;并且 在所述边界网络设备,响应于接收到所述修改的路由数据,修改所述至少一个路线的性能。
【文档编号】H04L12/721GK105847158SQ201610069232
【公开日】2016年8月10日
【申请日】2016年2月1日
【发明人】克勒斯托弗·大卫·利延斯托尔佩, 乔纳森·埃里克·哈德威克, 乔纳森·理查德·贝格尔
【申请人】迈塔斯威士网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1