对丢弃敏感的前缀(bgp路径)属性修改的制作方法

文档序号:7997839阅读:160来源:国知局
对丢弃敏感的前缀(bgp路径)属性修改的制作方法
【专利摘要】公开了对丢弃敏感的前缀(BGP路径)属性修改。在包括配置成让第一网关路由器经到第二AS的第一eBGP对等设备的链路将与一组IP地址前缀相关联的数据转发到第二AS的第一自治系统AS的系统中,当链路仍在“运行”且第一网关路由器和第一eBGP对等方之间的eBGP会话仍在运行时在第一网关路由器的输出处丢弃数据分组的问题通过以下方式解决(1)接收有关所述第一GW路由器的输出处丢弃的数据分组的信息,(2)使用接收的信息确定是否存在数据流量卸载条件,(3)如存在数据流量卸载条件,改变组中IP地址前缀中至少某些的路径属性,第一网关路由器较小可能转发与那些IP地址前缀相关联的数据,以及(4)生成包括更改的路径属性的BGP更新消息,传递到第一AS中的至少一个iBGP对等设备。
【专利说明】对丢弃敏感的前缀(BGP路径)属性修改
【技术领域】
[0001]本发明涉及通信网络。更具体而言,本发明涉及改善由通信网络的第一自治系统(AS)向通信网络的第二自治系统所提供的数据传送服务。
【背景技术】
[0002]在传统的因特网服务提供商(ISP)中,服务提供商和企业客户之间(例如,Verizon和美国富国银行之间),或两个服务提供商本身之间(例如,Verizon和AT&T之间)(或更一般而言,第一自治系统(AS)和第二自治系统(AS)之间)的对等关系,主要通过点对点外部边界网关协议(eBGP)链路。(在IETF RFC4271中描述了边界网关协议的当前版本,该文以引用的方式并入本文中。)这些点对点链路(例如,IGbps链路、IOGbps线路,或任何其他速度的链路)常常由于太多的数据变得拥塞(也称为〃热行(running hot)")。这可以例如由于分布式拒绝服务(DDoS)攻击、客户自身无意中进行DDoS、网络中的某些路径的差的路由或故障而发生。
[0003]当eBGP链路变得太拥塞时,在给定链路上的服务提供商的出口处(例如,在与客户设备共享链路的服务提供商的网关路由器处)经常有许多分组被丢弃。在许多路由器操作系统中(诸如由位于美国加州桑尼维尔市的丛林网络公司在路由器中所提供的JUN0S),BGP协议的控制分组被编程,以便BGP传输或重新传输通过比对于正常的数据传输(通常使用“尽力而为”队列)更高的优先级队列(对于BGP TCP重新传输,队列-3/网络控制队列)来传输。这种实现的理由是通过在链路拥塞的情况下保护控制分组使BGP对等会话保持运行。因此,虽然根据BGP协议的路由-交换、会话建立和维护通过更高优先级队列发生,但是数据分组(相对于控制分组)默认地在尽力而为队列中被实现(或在具有比控制分组的更高优先级队列较低的优先级的队列上被实现)。如此,控制分组(例如,BGP对等分组)将被以比数据分组更高的优先级传递。因此,即使当数据分组被丢弃时,BGP对等会话也可能不会觉察到这一点,因为其分组(是控制分组,不是数据分组)不被丢弃,BGP会话本身保持。
[0004]被丢弃的数据分组导致ISP的企业客户(或对于与第一 AS具有对等关系的第二AS)的差的体验。
[0005]如IETF RFC2439 (以引用的方式并入本文中)所描述的,BGP减震当BGP会话振动(即,下线并又上线,常常是多次)时防止振荡。然而,只有在BGP会话本身振动的情况下(在这样的情况下,BGP减震处罚正在振动的特定BGP会话),BGP减震才被调用。令人遗憾的是,在链路正在热行并且数据分组正在被丢弃的情况下,BGP振动可能不会发生。同样,这是因为BGP会话的控制分组被给予高于数据分组的优先级,BGP会话不会下线。即,在由于链路拥塞而有输出丢弃,但是没有BGP会话振动的情况下BGP减震甚至将不会被调用。
[0006]参考图1,考虑示例环境100,其中ISPllO令其网关(GW)路由器中的两个120a、120b与同一企业客户130的客户边缘设备140a,140b具有eBGP对等会话。ISPllO通过内部BGP (iBGP)将客户130的网络地址前缀内部地广告到它的其他GW路由器(例如,120c)。根据BGP,GW路由器2120b被用作该企业客户的网络地址前缀的主要网关,而GW路由器1120a作为备份可用。此选择或配置可以基于诸如本地偏好(LP)、AS路径、起点等等之类的BGP路径属性。在此示例中,假设BGP对于给定网络地址前缀,选择带有最高本地偏好(LP)值的GW路由器,作为该前缀的主要网关。在图1中,由于对于客户130的网络地址前缀中的全部,GW路由器2120b比GW路由器1120a具有更高的本地偏好值(120>100),所以假设对于客户130的网络地址前缀,BGP使用GW路由器2120b作为主要网关,而GW路由器1120a可用作备份网关。
[0007]假设主要GW路由器120b和客户边缘设备(例如,客户路由器)140b之间的链路115b正在遇到拥塞,许多数据分组在GW路由器2120b的输出(例如,输出队列)处被丢弃。令人遗憾的是,ISPllO将不会快速地看到(并能够解决)此问题,除非它监控链路115b。通常,ISPllO不久将开始从其客户130收到关于应用故障、呼叫掉线以及当寻址到其前缀的数据分组被丢弃时对于客户130发生的所有其他问题的投诉。ISPllO的客户130将不会对这样的情况满意。通常,客户130将要将这些问题报告到ISPllO的网络运营中心(N0C)。只有在客户130变得足够厌烦以联络ISPllO之后,ISP才会了解到问题!
[0008]ISPllO只有在此时才会认识到可能有DDoS问题,或客户130自身正在进行DDoS。在ISPllO处,如果问题不能被较低级别的人员(例如,在层I)处理,则问题报告书将被提交到较高级别的人员(例如,在层2,或更高),直到具有适当的技能组中和权限的人员可以纠正该问题。取决于他们的熟练程度,NOC可能会通过改变一个或多个BGP路径属性,以便主要GW路由器120b和客户边缘设备140b之间的链路115b变为次首选,来减轻拥塞的链路115b上丢弃数据分组的问题。令人遗憾的是,然而,这种解决方案会浪费时间,并导致客户130对ISPllO的满意度降低,特别是因为这种解决方案慢,并且是在从客户110那里得到投诉的情况下才有反应。假定备份GW路由器1120a和链路115a自始至终可用,但是由于BGP基于其BGP路径属性(例如,在此示例中是本地偏好)选择了拥塞的主要路径而未被使用,这尤其令人遗憾。
[0009]诸如多路径之类的调度和负载平衡技术被用来避免拥塞,并通常在入口(例如,图1的GW路由器3120c)处实现,而不是在出口处。虽然调度准许某些数据分组比其他数据分组获得更高的优先级,但是,控制分组几乎总是获得最高的优先级。因此,充其量,与控制分组处于相同队列优先级的某些数据分组(如果有的话)获得保护。然而,令人遗憾的是,其他队列中的数据分组可能被丢弃,导致差的客户体验。多路径本质上尝试同时使用两条链路。然而,多路径在本质上是静态的和固定的。它预定了将使用一个链路对另一链路的流量,因此,无法预料的问题不能被完全地解决。本质上是动态的,并响应于检测到问题而尝试平衡流量的解决方案是希望的。
[0010]从前述的内容应该认识到,在其中第一 AS被配置成让第一 GW路由器通过到第二AS的第一 eBGP对等设备的第一链路将与一组一个或多个IP地址前缀相关联的数据转发到第二 AS系统,第一 AS具有能够通过到第二 AS的一个(例如,同一个,或另一)eBGP对等设备的第二链路将数据转发到第二 AS系统的第二 GW路由器的网络环境中,当第一 GW路由器和第二 AS的第一 eBGP对等设备之间的第一链路仍在“运行”而第一 GW路由器和第一 eBGP对等方之间的eBGP会话仍在运行的情况下,提供对第一 GW路由器的输出(例如,出口)处丢弃数据分组的问题的改善的解决方案是有用的。如果解决方案避免手动实现的、反应性的修复的需求是有用的。如果在丢弃的数据分组变得对客户非常显而易见之前调用解决方案,将是有用的。如果解决方案将通知服务提供商并提示它们采取前瞻性的措施,或者如果解决方案本身采取前瞻性的措施,将是有用的。如果解决方案让企业客户更有效地使用其冗余路径以增大企业客户的投资回报值,也是有用的。

【发明内容】

[0011]在被配置成让第一GW路由器通过到第二 AS的第一边界设备的第一链路将与一组一个或多个IP地址前缀相关联的数据转发到第二 AS系统的第一 AS中,第一 AS具有能够通过到第二 AS的一个(例如,同一个,或另一)边界设备的第二链路将数据转发到第二 AS系统的第二 GW路由器,当第一 GW路由器和第二 AS的第一边界设备之间的第一链路仍“在运行”时在第一 GW路由器的输出(例如,出口接口或端口,有时称为出口,或边缘,或GW,对等点)处丢弃数据(例如,数据分组、单元等等)的问题通过下列措施来解决:(I)接收有关在第一GW路由器的输出处丢弃的数据的信息;(2)使用接收到的信息,来确定是否存在“数据流量卸载”条件;(3)响应于确定存在“数据流量卸载”条件,改变该组中的IP地址前缀中的一个或多个中的至少某些的一个或多个属性,以便第一 GW路由器较小可能转发与该组中的一个或多个IP地址前缀中的至少某些相关联的数据;以及(4)输出更改的一个或多个属性以传达到第一 AS的至少一个其他路由器。
[0012]在AS使用iBGP和eBGP对等的背景中,在被配置成让第一 GW路由器通过到第二AS的第一 eBGP对等设备的第一链路将与一组一个或多个IP地址前缀相关联的数据转发到第二 AS系统的第一 AS中,第一 AS具有能够通过到第二 AS的一个(例如,同一个,或另一)eBGP对等设备的第二链路将数据转发到第二 AS系统的第二 GW路由器,当第一 GW路由器和第二 AS的第一 eBGP对等设备之间的第一链路仍在“运行”而第一 GW路由器和第一 eBGP对等方之间的eBGP会话仍在运行的同时,在第一 GW路由器的输出处丢弃数据分组的问题通过下列措施来解决(I)接收有关在第一 GW路由器的输出处丢弃的数据分组的信息;(2)使用接收到的信息,来确定是否存在“数据流量卸载”条件;(3)响应于确定存在“数据流量卸载”条件,改变该组中的IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性,以便第一 GW路由器较小可能转发与该组中的一个或多个IP地址前缀中的至少某些相关联的数据;以及(4)生成包括更改的一个或多个路径属性的BGP更新消息以传递到第一AS中的至少一个iBGP对等设备。
【专利附图】

【附图说明】
[0013]图1示出了其中可以使用根据本发明的示例实施例的示例环境。
[0014]图2是用于提供对丢弃敏感的前缀BGP路径属性修改的示例方法的流图。
[0015]图3是用于提供对丢弃敏感的前缀属性修改的示例方法的流图。
[0016]图4示出了包括通过通信链路耦合的两个系统的环境。
[0017]图5是在其上面可以实现本发明的示例路由器的框图。
[0018]图6是可以在图5的示例路由器中提供的示例分布式专用集成电路(ASIC)的框图。
[0019]图7A和7B示出了图6的示例分布式ASIC的示例分组转发操作。
[0020]图8是可以在图5和6的示例路由器中的任何一个上实现的示例分组转发方法的流图。
[0021]图9是可以被用来执行用于提供对丢弃敏感的前缀属性修改的示例方法和/或存储由这样的示例方法所使用的和/或所生成的信息的示例的基于处理器的系统的框图。
[0022]图10是示出了用于提供对丢弃敏感的前缀BGP路径属性修改的示例方法的操作的示例环境。
【具体实施方式】
[0023]本发明可以涉及用于当第一 GW路由器和第二 AS的第一 eBGP对等设备之间的第一链路仍在“运行”并且第一 GW路由器和第一 eBGP对等方之间的eBGP会话仍在运行的同时避免或减少在第一 GW路由器的输出处丢弃的数据分组的新颖的方法、设备、消息格式,和/或数据结构。下面的描述用于使本领域技术人员实现并使用本发明,下面的描述是在特定应用以及它们的要求的背景中提供的。如此,下面的对根据本发明的实施例的描述提供了示意和描述,但不是详尽的公开或将本发明限于所公开的准确的形式。对所公开的实施例的各种修改对那些本领域技术人员来说是显而易见的,下面阐述的一般原理可以适用于其他实施例和应用场合。例如,虽然可以参看流图描述一系列操作,但是,当一个操作的执行不取决于另一个操作的完成时,操作的顺序可以在其他实施方式中有所不同。此外,非相关的操作可以并行地执行。本描述中使用的元素、操作或指令不应该被理解为对本发明是关键的或不可少的,除非明确地这样描述。此外,如此处所使用的,冠词“一个”可以包括一个或多个项目。在仅指一个项目的情况下,使用术语“一个”或类似的语言。如此,本发明不仅限于所示出的实施例,发明人将他的发明视为所描述的任何可以取得专利的主题。
[0024]4.1示例方法
[0025]图2是用于在包括第一 AS的系统中提供对丢弃敏感的前缀BGP路径属性修改的示例方法200的流程图,所述第一 AS的系统被配置成让第一 GW路由器通过到第二 AS的第一 eBGP对等设备的第一链路向第二 AS系统转发与一组一个或多个IP地址前缀相关联的数据。如图所示,示例方法200包括接收有关在第一 GW路由器的输出处丢弃的数据分组的信息。(框210)。然后,使用接收到的信息确定是否存在“数据流量卸载”条件。(框220)。如果确定不存在“数据流量卸载”条件,则方法200分叉回到框210。(条件230的“否”分支)。否则,响应于确定存在“数据流量卸载”条件,改变组中的IP地址前缀中的一个或多个中的至少某些的一个或多个BGP路径属性,以便第一 GW路由器将较小可能转发与组中的一个或多个IP地址前缀中的至少某些相关联的数据(条件230的“是”分支和框240),在离开方法200之前(节点260),生成包括更改的一个或多个路径属性的BGP更新消息,用于传递到所述第一 AS中的至少一个iBGP对等设备(框250)。
[0026]在某些示例实现中,第一自治系统是因特网服务提供商,其中,第二自治系统是因特网服务提供商的客户。在其他示例实现中,对等方两者都是因特网服务提供商。
[0027]回头参考框240,在某些示例实施例中,改变所述组中的所述IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性以便所述第一 GW路由器较小可能转发与所述组中的一个或多个IP地址前缀中的至少某些相关联的数据的动作包括(A)改变所述组中的所述IP地址前缀中的一个或多个中的至少某些的本地偏好BGP路径属性,(B)缩小所述组中的所述IP地址前缀中的一个或多个中的至少某些的本地偏好BGP路径属性,和/或(C)改变下列各项中的至少一项:(i)AS路径BGP路径属性,(ii)起点BGP路径属性,和/或(iii)所述组中的所述IP地址前缀中的一个或多个中的至少某些的团体BGP路径属性。
[0028]某些示例方法还可以包括生成接收到的关于第一网关路由器的输出处的丢弃的数据分组的信息。某些示例方法可以使用接口统计计数器来生成接收到的信息。其他示例方法可以使用简单网络管理协议(SNMP)的管理信息库(MIB)来生成接收到的信息。
[0029]回头参考框220,在某些示例方法中,使用接收到的信息来确定“数据流量卸载”条件是否存在的动作包括确定(A)测量到的每时间段丢弃的数据分组的值或(B)接收到的信息中所包括的测量到的每时间段丢弃的字节的值,是否超过预定的参数。在某些这样的示例方法中,(A)测量到的每时间段丢弃的数据分组的值或(B)测量到的每时间段丢弃的字节值,可以从第一 GW路由器的输出队列获取。在其他这样的示例方法中,(A)测量到的每时间段丢弃的数据分组的值或(B)测量到的每时间段丢弃的字节值,可以从第一GW路由器的输出接口获取。
[0030]在某些示例方法中,组中的IP地址前缀中的一个或多个中的至少某些由预定数量的一个或多个IP地址前缀构成。在其他示例方法中,组中的IP地址前缀中的一个或多个中的至少某些由一个或多个IP地址前缀的预定的百分比构成。
[0031]在某些示例方法中,组中的IP地址前缀中的一个或多个中的至少某些是随机地选择的。在其他示例方法中,组中的IP地址前缀中的一个或多个中的至少某些是根据预定义的启发规则选择的。在这样的示例方法中,预定义的启发规则可以考虑发往(或丢弃的)组中的IP地址前缀中的每一个的流量的量。
[0032]示例方法200可以在第一 GW路由器上本地执行。在其他示例方法中,由第一 GW路由器外部的集中控制单元响应于确定存在“数据流量卸载”条件来至少执行改变组中的IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性的动作,以便第一 GW路由器将较小可能转发与组中的一个或多个IP地址前缀中的至少某些相关联的数据。
[0033]最后,示例方法200还可以包括由第一 GW路由器向iBGP对等方发送作为BGP能力的对分组丢弃敏感的BGP属性。
[0034]从前述的内容应该认识到,BGP可以被用来监控诸如与客户建立eBGP会话的链路上的拥塞和丢弃之类的因素。当BGP进程发现链路质量下降时,它可以将此数据馈送到通过此eBGP会话了解的前缀。BGP可以修改某些前缀的属性以便使它们不太首选。该方法本质上可以是迭代的,以便,如果在第一次迭代之后仍存在“数据流量卸载”条件,可以重复属性修改过程。目标是使GW路由器对于某些路线不太首选,将某些数据流量偏移到另一(例如,冗余、辅助)链路,从而减轻问题。
[0035]例如,示例BGP进程将首先解决在其上面配置该方法的eBGP对等方IP地址的下一跳。此解决方案的结果将给BGP提供ifl索引(例如,将虚拟接口映射到物理接口的接口索引)。通过使用数据输入机制(例如,接口统计计数器、SNMP MIB等等),BGP可以监控输出丢弃/队列来确保链路的质量,以确定是否存在“数据流量卸载”条件。“数据流量卸载”条件可以是就每秒分组或字节丢弃而言(例如,lOOMpps丢弃,500Mpps丢弃等等)用户可配置的参数。基于此配置的参数,一旦检测到链路的质量降低到无法接受的程度,BGP就可以采取不同的减轻和/或通知动作。可以使这些动作成为用户可配置的,以修改不同的BGP路径属性,如改变本地偏好(LP)、起点、AS路径、团体、记录/报警等等。BGP路径属性修改应该在前缀的子集上进行一在全部前缀上做这件事可能仅将问题移动到不同的节点中。也可以使这样的前缀的数量成为用户可配置的,比如了解的前缀的所设定的百分比,或固定值(类似于在来自美国加州桑尼维尔的丛林网络的路由器上提供的JUNOS操作系统中的服务等级(CoS)中的吞吐量/队列调置钮)。还可以使对这样的前缀的选择本身为用户可配置的(例如,选择前缀的开头或最后10个,选择仅特定子网中的前缀,选择子网中的前缀之外的全部前缀,随机地选择前缀等等)。
[0036]在下文中示出了样本命令行界面(CLI)实现模板:
[0037]
#neighbor <X> {

BGP drop-sensitive {

if{

threshold <queue-drop pps, queue-drop bps> {
[0038]

adjust <loca1-preference (add,set,delete), MED (add,set,delete}, community (add,set,delete), as_path (add,set,delete}〉; log;

number-of-prefixes《percentage, fixed value>;

choose-prefixes <random-order, top-to-bottom, bottom-to-top>; number-of-pass <1-100> {this is an iteration counter, which is used to avoid any loop or uncontrolled oscillations in control)





I

>

}

}
[0039]图3是用于在包括第一 AS的系统中提供对丢弃敏感的前缀属性修改的示例方法300的流程图,该第一 AS被配置成让第一边缘设备(例如,GW路由器)通过到第二 AS的第一边界设备的第一链路向第二 AS系统转发与一组一个或多个IP地址前缀相关联的数据。如图所示,示例方法300包括接收有关在第一边缘设备的输出处丢弃的数据的信息(框310)然后,使用接收到的信息确定是否存在“数据流量卸载”条件。(框320)。如果确定不存在“数据流量卸载”条件,则方法300分支回到框310。(条件330的“否”分支)。否则,响应于确定存在“数据流量卸载”条件,方法300改变组中的IP地址前缀中的一个或多个中的至少某些的一个或多个属性,以便第一边缘设备将较小可能转发与组中的一个或多个IP地址前缀中的至少某些相关联的数据(条件330的“是”分支和框340),输出改变的一个或多个属性,以便传递到第一 AS的至少一个其他数据转发设备(例如,路由器)(框350),并离开方法300 (节点360)。
[0040]在某些示例实现中,第一自治系统是因特网服务提供商,其中,第二自治系统是因特网服务提供商的客户。在其他示例实现中,对等方两者都是因特网服务提供商。
[0041]某些示例方法还可以包括生成接收到的关于第一边缘设备的输出处的丢弃的数据分组的信息。某些示例方法可以使用接口统计计数器来生成接收到的信息。其他示例方法可以使用简单网络管理协议(SNMP)的管理信息库(MIB)来生成接收到的信息。[0042]回头参考框320,在某些示例方法中,其中,使用接收到的信息来确定“数据流量卸载”条件是否存在的动作包括确定(A)测量到的每时间段丢弃的分组的值,或(B)所述接收到的信息中所包括的测量到的每时间段丢弃的字节的值,是否超过预定的参数。在某些这样的示例方法中,(A)测量到的每时间段丢弃的分组的值,或(B)测量到的每时间段丢弃的字节的值,可以从第一边缘设备的输出队列获取。在其他这样的示例方法中,(A)测量到的每时间段丢弃的分组的值,或(B)测量到的每时间段丢弃的字节的值,可以从第一边缘设备的输出接口获取。
[0043]在某些示例方法中,组中的IP地址前缀中的一个或多个中的至少某些由预定数量的一个或多个IP地址前缀构成。在其他示例方法中,组中的IP地址前缀中的一个或多个中的至少某些由预定百分比的该一个或多个IP地址前缀构成。
[0044]在某些示例方法中,组中的IP地址前缀中的一个或多个中的至少某些是随机地选择的。在其他示例方法中,组中的IP地址前缀中的一个或多个中的至少某些是根据预定义的启发规则选择的。在这样的示例方法中,预定义的启发规则可以考虑发往(或丢弃的)组中的IP地址前缀中的每一个的流量的量。
[0045]示例方法300可以在第一边缘设备上本地执行。在其他示例方法中,由第一边缘设备外部的集中控制单元响应于确定存在“数据流量卸载”条件来至少执行改变组中的IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性的动作,以便第一边缘设备较小可能转发与组中的一个或多个IP地址前缀中的至少某些相关联的数据。
[0046]4.2示例节点和路由器
[0047]图4示出了通过通信链路430耦合的两个数据转发系统410和420。链路可以是物理链路或“无线”链路。数据转发系统410、420可以是例如路由器。如果数据转发系统410,420是实例路由器,则每一个都可以包括控制组件(例如,路由引擎)414、424和转发组件412、422。每一个数据转发系统410、420都包括端接一个或多个通信链路430的一个或多个接口 416、426。
[0048]如上文所讨论的,并参考图5,某些实例路由器500包括控制组件(例如,路由引擎)510和分组转发组件(例如,数据分组转发引擎)590。
[0049]控制组件510可以包括操作系统(OS)内核520、路由协议进程530、基于标签的转发协议进程540、接口进程550、用户界面(例如,命令行界面)进程560,以及底盘进程570,并可以存储路由表539、标签转发信息545,以及转发(例如,基于路由的和/或基于标签的)表580。如图所示,路由协议进程530可以支持下列路由协议,诸如路由信息协议(RIP)531、中间系统到中间系统协议(IS-1S) 532、开放式最短路径优先协议(OSPF) 533、增强型内部网关路由协议(EIGRP) 534以及边界网关协议(BGP) 535,而基于标签的转发协议进程540可以支持下列协议,诸如BGP535、标签分发协议(LDP) 536和资源预留协议(RSVP) 537。一个或多个组件(未示出)可以允许用户565与用户界面进程560进行交互。类似地,一个或多个组件(未示出)可以允许外部设备通过SNMP585与路由器协议进程530、基于标签的转发协议进程540、接口进程550,以及底盘进程570中的一个或多个进行交互,而这样的进程可以通过SNMP585将信息发送到外部设备。
[0050]分组转发组件590可以包括微核592、接口进程593、分布式ASIC594、底盘进程595以及转发(例如,基于路由的和/或基于标签的)表596。[0051]在图5的实例路由器500中,控制组件510处理诸如执行路由协议、执行基于标签的转发协议、控制分组处理等等之类的任务,这快速地释放分组转发组件590以转发接收到的分组。即,接收到的控制分组(例如,路由协议分组和/或基于标签的转发协议分组)在分组转发组件590本身上不被充分处理,而是被传递到控制组件510,从而减少分组转发组件590必须完成的工作量,有效地释放它以高效地处理待转发的分组。如此,控制组件510主要负责运行路由协议和/或基于标签的转发协议,维护路由表和/或标签转发信息,将转发表更新发送到分组转发组件590,以及执行系统管理。实例控制组件510可以处理路由协议分组、提供管理界面、提供配置管理、执行统计、并提供报警。进程530、540、550、560和570可以是模块化的,并可以与OS内核520进行交互。即,几乎所有进程都与OS内核520直接进行通信。使用清楚地将进程彼此分离的模块软件隔离了给定进程的各问题,以便这些问题不影响可能正在运行的其他进程。另外,使用模块软件有助于更加容易的缩放。
[0052]仍参考图5,示例OS内核520可以包括应用程序编程接口(API)系统,用于外部程序调用和脚本能力。控制组件510可以基于从闪存运行OS的Intel PCI平台,一个替换的副本存储在路由器的硬盘中。OS内核520在Intel PCI平台上被分层,并在Intel PCI平台和控制组件510的进程之间建立通信。OS内核520还确保正在被分组转发组件590使用的转发表596与控制组件510中的那些580同步。因此,除将底层架构提供到控制组件510软件进程之外,OS内核520还在控制组件510和分组转发组件590之间提供链路。
[0053]参考图5的路由协议进程530,此进程530在平台内提供路由和路由控制功能。在此实例中,提供了 RIP531、ISIS532、0SPF533和EIGRP534 (以及BGP535)协议。自然地,可以另外,或者可另选地提供其他路由协议。类似地,基于标签的转发协议进程540提供标签转发和标签控制功能。在此示例中,提供了 LDP536和RSVP537 (以及BGP535)协议。自然地,可以另外或者可另选地提供其他基于标签的转发协议(例如,MPLS)。在示例路由器500中,路由表539由路由协议进程530产生,而标签转发信息545由基于标签的转发协议进程540产生。
[0054]仍参考图5,接口进程550执行物理接口的配置(参考,例如,图4的416和426)以及封装。
[0055]示例控制组件510可以提供多种管理路由器的方式。例如,它510可以提供可使系统操作员565通过配置、修改,以及监控来与系统进行交互的用户界面进程560。SNMP585可使支持SNMP的系统与路由器平台进行通信。这还可使平台将必需的SNMP信息提供到外部代理。例如,SNMP585可以允许从运行诸如Hewlett-Packard的Network Node Manager(HP-NNM)之类的软件的网络管理站,通过诸如Hewlett-Packard的OpenView之类的框架,对系统进行管理。可以由控制组件510执行对分组的统计(一般被称为“流量统计”),从而避免减慢通过分组转发组件590进行的流量转发。
[0056]虽然未示出,但是,实例路由器500还可以提供带外管理,用于系列控制台和远程管理访问的RS-232DB9端口,以及使用可移动PC卡的第三级存储器。进一步地,虽然未示出,但是,位于底盘的正面的操作员接口提供对路由器的内部工作的外部观察。它可以被用作故障排除工具、监控工具,或两者。操作员接口可以包括LED指示器、警报指示器、控制组件端口,和/或显示屏幕。最后,操作员接口可以通过控制台端口、辅助端口,和/或管理以太网端口,提供与命令行界面(CLI) 560的交互。[0057]分组转发组件590负责尽可能快地适当地输出接收到的分组。如果在转发表中没有对于给定目的地或给定标签的条目并且分组转发组件590不能靠自身执行转发,则它590可以将绑定到该未知目的地的分组转而发送到控制组件510供处理。实例分组转发组件590被设计成执行层2和层3交换、路由查询,以及快速分组转发。
[0058]如图5所示,实例分组转发组件590具有嵌入的微核592、接口进程593、分布式ASIC594,以及底盘进程595,并存储转发(例如,基于路由的和/或基于标签的)表596。微核592与接口进程593和底盘进程595进行交互,以监视和控制这些功能。接口进程592与控制组件510的OS内核520进行直接通信。此通信包括将异常分组和控制分组转发到控制组件510、接收待转发的分组、接收转发表更新、将有关分组转发组件590的健康的信息提供到控制组件510,以及准许来自控制组件510的用户接口(例如,CLI)进程560的接口的配置。存储的转发表596是静态的,直到从控制组件510接收到新的转发表。接口进程593使用转发表596来查找下一跳信息。接口进程593还与分布式ASIC594进行直接通信。最后,底盘进程595可以直接与微核592以及与分布式ASIC594进行通信。
[0059]回头参考图5的分布式ASIC594,图6是ASIC如何在分组转发组件590中分布以分割分组转发的职责的实例。如图6所示,分组转发组件590的ASIC可以分布在物理接口卡(PIC) 610、柔性PIC集中器620、中间板或背板630,以及系统控制板640 (用于交换和/或转发)。交换结构还被示为系统交换板(SSB),或交换和转发模块(SFM)650。PIC610中的每一个包括一个或多个PIC I/O管理器615。FPC620中的每一个包括一个或多个I/O管理器622,各自带有相关联的存储器624。中间板/背板630包括缓存管理器635a、635b。最后,系统控制板640包括因特网处理器642和转发表644的实例(参考例如图5的596)。
[0060]仍参考图6,PIC610包含接口端口。可以将每一个PIC610插入到FPC620中。每一个单个PIC610可以包含处理诸如成帧或封装之类的介质特定功能的ASIC。某些实例PIC610提供SDH/S0NET、ATM、千兆以太网、快速以太网,和/或DS3/E3接口端口。
[0061]FPC620可以包含来自一个或多个PIC610的信号,并可以将来自PIC610的信号传输到中间板/背板630,如图6所示。
[0062]中间板/背板630持有线卡。当从正面被插入到实例路由器的底盘中时,线卡可以连接到中间板/背板630。控制组件(例如,路由引擎)510可以从底盘的后面插入到中间板/背板630的后面。中间板/背板630可以将电气(或光学)信号和能量传输到每一个线卡以及控制组件510。
[0063]系统控制板640可以执行转发查询。它640还可以将误差传递到路由引擎。进一步地,它640还可以基于它从传感器接收到的信息来监控路由器的状况。如果检测到异常情况,则系统控制板640可以立即通知控制组件510。
[0064]参考图6、7A和7B,在某些示例性路由器中,PIC610、610’中的每一个都包含负责诸如封装之类的介质特定的任务的至少一个I/o管理器ASIC615。分组穿过在它们路线上的这些I/O ASIC进入路由器并离开路由器。PIC610、610’上的I/O管理器ASIC615负责管理到FPC620、620’上的I/O管理器ASIC622的连接,管理链路层成帧并创建比特流,执行循环冗余校验(CRC),并检测链路层错误,并在适当时生成警报。FPC620包括另一 I/O管理器ASIC622。此ASIC622获取来自PIC610的分组并将它们分解为(例如,64字节)存储块。此FPC I/O管理器ASIC622将这些块发送到第一分布式缓存管理器(DBM) 635a’、解码封装和协议特定的信息、计数每一个逻辑电路的分组和字节、验证分组完整性,并对分组应用服务等级(CoS)规则。此时,分组被首先写入到存储器中。更具体而言,示例DBM ASIC635a’管理分组,并跨全部FPC620将分组写入到共享存储器624。并行地,第一 DBM ASIC635a’还提取有关分组的目的地的信息,并将此转发相关的信息传递到因特网处理器642/642’。因特网处理器642/642’使用转发表644来执行路由查询,并将信息发送到第二 DBM ASIC635b’。因特网处理器ASIC642/642’还收集异常分组(即,那些没有转发表条目的分组),并将它们发送到控制组件510。然后,第二 DBM ASIC635b’获取此信息和64字节块,并将它们转发到出口 FPC620/620’(或在多播的情况下,多个出口 FPC)的I/O管理器ASIC622,用于重新组装。(因此,DBM ASIC635a’和635b’负责管理跨全部FPC620/620’分布的分组存储器624、从分组中提取转发相关的信息,并指示FPC将分组转发到哪里。)
[0065]出口 FPC620/620’上的I/O管理器ASIC622可以执行某些增值服务。除增加生存时间(TTL)值和重新封装分组以用于由PIC610处理之外,它还可以应用服务等级(CoS)规贝U。为此,在对分组应用规则之前,它可以将指向分组的指针排队在可用队列中的一个队列中,每一个队列都具有链路带宽的份额。排队可以基于各种规则。因此,出口 FPC620/620’上的I/O管理器ASIC622可以负责从第二 DBM ASIC635b’接收块、增加TTL值、排队指向分组的指针,在必要时,在应用CoS规则之前,重新封装块,并将封装的分组发送到PIC I/O管理器 ASIC615。
[0066]图8是用于在示例路由器中提供分组转发的示例方法800的流程图。当在入口(传入的)端口或接口上接收到分组时触发方法800的主要动作(事件810)。执行它服务的介质的类型所需的类型的校验和和帧校验,并作为串行比特流输出分组(框820)。然后,分组被解封装并被解析为(例如,64字节)块(框830)。分组被写入到缓冲存储器中,并且转发信息被传递到因特网处理器上(框840 )。然后,使用传递的转发信息来查询转发表中的路由(框850)。应注意,转发表可以通常处理不具有选项(例如,记帐)集的单播分组,以及它已经具有缓存的条目的多播分组。因此,如果确定这些条件被满足(判断860的“是”分支),则分组转发组件查找下一跳和出口接口,在离开方法800之前(节点890 ),分组通过出口接口被转发(或排队等待转发)到下一跳(框870)。否则,如果这些条件不被满足(判断860的“否”分支),在离开方法800之前(节点890),将转发信息发送到控制组件510,以便进行高级的转发解决方案(框880)。
[0067]回头参考框870,分组可以排队。事实上,如前参考图6所述,指向分组的指针可以被排队。分组本身可以保留在共享存储器中。因此,在没有实际分组的情况下,可以应用全部排队判断和CoS规则。当分组的指针达到线路的前端时,I/O管理器ASIC622可以向第二 DBM ASIC635b发送对分组的请求。DBM ASIC635从共享存储器读取块,并将它们发送到FPC620上的I/O管理器ASIC622,然后,I/O管理器ASIC622串行化比特,并将它们发送到出口接口的介质特定的ASIC。出口 PIC610上的I/O管理器ASIC615可以应用物理层成帧、执行CRC,并通过链路发送比特流。
[0068]回头参考图8的框880,以及图6,涉及控制和异常分组的传输,系统控制板640处理几乎所有的异常分组。例如,系统控制板640可以将异常分组传递到控制组件510。
[0069]虽然根据本发明的示例实施例可以在图4或5的示例路由器上实现(特别参见图5的BGP路由协议),但是,根据本发明的各实施例可以在具有不同的体系结构的通信网络节点(例如,路由器、交换机等等)上实现。更一般而言,根据本发明的各实施例可以在示例系统900上实现,如图9所示。
[0070]图9是可以执行所描述的过程中的一个或多个,和/或存储由这样的过程所使用的和/或所生成的信息的示例性机器900的框图。示例性机器900包括一个或多个处理器910、一个或多个输入/输出接口单元930、一个或多个存储设备920,以及一个或多个系统总线和/或网络940,用于在耦合的元件之间促进信息的传递。一个或多个输入设备932和一个或多个输出设备934可以与一个或多个输入/输出接口 930耦合。一个或多个处理器910可以执行机器可执行的指令(例如,在Solaris操作系统(位于加利福尼亚的帕洛阿尔托市的太阳微系统公司出品)或Linux操作系统(由若干个供应商出品,如位于北卡罗来纳州达勒姆的Red Hat公司)上运行的C或C++、Java等等),以执行本发明的一个或多个方面。至少一部分机器可执行的指令可以存储(临时或永久地)在一个或多个存储设备920上和/或可以通过一个或多个输入接口单元930从外部源接收。机器可执行的指令可以作为各种软件模块来存储,每一个模块都执行一个或多个操作。功能软件模块是本发明的组件的示例。
[0071 ] 在根据本发明的某些实施例中,处理器910可以是一个或多个微处理器和/或ASIC0总线940可以包括系统总线。存储设备920可以包括系统存储器,如只读存储器(ROM)和/或随机存取存储器(RAM)。存储设备920还可以包括用于读写硬盘的硬盘驱动器,用于读写磁盘(例如,可移动)的磁盘驱动器,以及用于读写可移动(磁)光盘(如压缩盘或其他(磁)光学介质),或固态非易失性存储器的光盘驱动器。
[0072]根据本发明的某些示例实施例还可以作为用于存储机器可执行的指令的机器可读取的介质来提供。机器可读取的介质可以是非瞬时的,并可以包括,但不仅限于,闪存、光盘、CD-ROM、DVD ROM、RAM、EPROM、EEPR0M、磁卡或光卡或适于存储电子指令的任何其他类型的机器可读取的介质。例如,根据本发明的示例实施例可以作为计算机程序来下载,该计算机程序可以通过通信链路(例如,调制解调器或网络连接)从远程计算机(例如,服务器)传输到发出请求的计算机(例如,客户端),并存储在非瞬时的存储介质上。机器可读取的介质还可以称为处理器可读取的介质。
[0073]根据本发明的示例实施例可以以诸如一个或多个现场可编程门阵列(“FPGA”)之类的硬件、诸如ASIC的一个或多个集成电路、一个或多个网络处理器等中实现。作为替代地或附加地,根据本发明的各实施例可以被实现为由处理器执行的存储的程序指令。这样的硬件和/或软件可以在被寻址的数据(例如,分组、单元等等)转发设备(例如,交换机、路由器等等)、膝上型计算机、台式计算机、平板计算机、移动电话,或具有计算和联网能力的任何设备上提供。
[0074]4.3示出了一示例实施例中的操作的示例
[0075]图10是示出了用于提供对丢弃敏感的前缀BGP路径属性修改的示例方法的操作的示例环境100’。回头参考图1,图10描绘了环境1000,其中ISPllO具有其网关(GW)路由器中的两个120a、120b,它们与同一企业客户130的客户边缘设备140a、140b具有eBGP对等会话。ISPllO通过内部BGP (iBGP)在内部将企业客户130的网络地址前缀广告到它的其他GW路由器(例如,120c)。从图1可以看出,根据BGP,GW路由器2120b被用作企业客户的网络地址前缀的主要网关(由于其更高的LP值),而GW路由器1120a可用作备份(由于其较低的LP值)。此选择或配置可以基于诸如本地偏好、AS路径、起点等的BGP路径属性。在此示例中,假设BGP对于给定网络地址前缀,选择带有最高本地偏好(LP )值的GW路由器,作为该前缀的主要网关。从图1可以看出,由于对于客户130的网络地址前缀中的全部,GW路由器2120b比GW路由器1120a具有更高的本地偏好值(120>100),假设对于客户130的网络地址前缀,BGP使用GW路由器2120b作为主要网关(其中,GW路由器1120a可用作备份网关)。
[0076]仍参考图10,假设主要GW120b’和客户边缘设备(例如,客户路由器)140b之间的链路115b遇到拥塞,在GW路由器2120b的输出(例如,输出队列)处丢弃了足够数量(和/或比率)的数据分组,使得满足“流量卸载条件”。(条件230的“是”分支。)在此情况之下,Gff路由器2120b’将客户130的开头五个IP地址前缀的本地偏好属性从“120”更改为“50”。(虽然在此示例中为属性变化选择了开头五个,或开头50%的IP地址前缀,但是,确定将它们的属性更改的IP地址前缀的数量,以及选择IP地址前缀中的哪些将它们的属性更改的其他方式也是可以的。事实上,如上文所描述的,这样的确定和选择例如可以是用户可配置的。同样,这些值被丢弃的量也是用户可配置的。)客户130的开头五个IP地址前缀的更改的本地偏好属性通过iBGP被传递到ASllO的其他路由器(或网关路由器)。在此情况下,Gff路由器2120b’将更改的属性传递到(至少)GW路由器3120c。如果GW路由器3120c使用带有最高的BGP本地偏好的路由,则它将为客户130的开头五个IP地址前缀选择GW路由器1120a(因为LP=100>LP=50),但是,将为客户130的最后五个IP地址前缀继续选择GW路由器2120b’(因为LP=120>LP=100)。虽然未示出,如果链路115b保持拥塞,并且由于丢弃的分组而仍满足“流量卸载条件”,则在方法的一个或多个额外的迭代中更改一个或多个IP地址的属性。
[0077]从前述的示例可以认识到,根据本发明的示例实施例可以通过适当地配置出口 GW路由器并使用BGP协议,来从出口 GW路由器卸载流量。
[0078]4.4细化,替代方案以及扩展
[0079]可以以不同的方式实现和扩展前述的示例方法和设备。例如,作为新的BGP能力,可以在GW路由器之间交换对丢弃敏感的BGP路径属性。作为另一个示例,对流量(例如,由在Juniper路由器上所使用的JUNOS操作系统所提供的jflow)的分析可以被用来确定正在驱动大多数流量的特定前缀。可以使用这样的信息更智能地(例如,以编程方式)分离流量。两个前述的扩展可以被外部编制/控制单元(诸如,例如Juniper控制系统(JCS))用来进行更全面的流量优化决策。
[0080]在根据本发明的至少某些示例实施例中,通过问题前缀的团体字符串,将问题通知给服务提供商。假设,例如,当前缀被标识时,它通过666:666的团体字符串来标记,然后,由路由器2来重新广告。在此示例实施例之下,服务提供商将具有将此字符串666:666转换为某处的网络中的“数据过载”问题的策略。然后,服务提供商可以查找666:666的起点,并试图手动修复该问题。这里,优点是对问题的更快的识别,并且反应更快。
[0081]4.5 结论
[0082]从前述的内容应该认识到,根据本发明的示例实施例提供对当第一 GW路由器和第二 AS的第一 eBGP对等设备(或更一般而言,第一客户边缘设备)之间的第一链路仍在“运行”且第一 GW路由器和第一 eBGP对等方之间的eBGP会话仍在运行的情况下第一 GW路由器(或更一般而言,第一边缘设备)的输出(例如,出口)处丢弃数据分组的问题的改善的解决方案。这样的示例实施例避免手动实现的、只有在丢弃的数据分组变得对客户非常显而易见之后调用的反应性的修复的需求。
[0083]根据本发明的示例实施例可以本地实现,甚至在单个路由器上。(即,与诸如RSVP之类的协议不同,这些示例实施例不要求整个网络(或整个AS)具有相同的支持能力。相反,利用由现有的BGP协议支持的机制。类似地,可以实现示例方法,而不要求两个不同的网络交换任何新属性。因此,单个供应商可以独立于其他供应商来实现它。
【权利要求】
1.一种在包括第一自治系统(AS)的系统中使用的方法,所述第一自治系统被配置成使得第一网关路由器通过到第二 AS的第一外部边界网关协议(eBGP)对等设备的第一链路将与一组一个或多个因特网协议(IP)地址前缀相关联的数据转发到第二 AS,该方法包括: a)接收关于在所述第一网关路由器的输出处丢弃的数据分组的信息; b)使用所接收到的信息确定是否存在数据流量卸载条件; c)响应于确定存在数据流量卸载条件,改变组中的IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性,使得所述第一网关路由器将较小可能转发与所述组中的一个或多个IP地址前缀中的所述至少某些相关联的数据;以及 d)生成包括更改的一个或多个路径属性的BGP更新消息,以传递到所述第一AS中的至少一个内部边界网关协议(iBGP )对等设备。
2.如权利要求1所述的方法,其中,所述第一自治系统是因特网服务提供商,并且其中,所述第二自治系统是所述因特网服务提供商的客户。
3.如权利要求1所述的方法,其中,改变所述组中的IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性使得所述第一网关路由器将较小可能转发与所述组中的一个或多个IP地址前缀中的所述至少某些相关联的数据的动作包括:改变所述组中的IP地址前缀中的一个或多个中的至少某些的本地偏好BGP路径属性。
4.如权利要求1所述的方法,其中,改变所述组中的IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性使得所述第一网关路由器将较小可能转发与所述组中的一个或多个IP地址前缀中的至少某些相关联的数据的动作包括缩小所述组中的IP地址前缀中的一个或多个中的至少某些的本地偏好BGP路径属性。
5.如权利要求1所述、的方法,其中,改变所述组中的IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性使得所述第一网关路由器将较小可能转发与所述组中的一个或多个IP地址前缀中的至少某些相关联的数据的动作包括:改变下列各项中的至少一项:所述组中的IP地址前缀中的一个或多个中的至少某些的(A)AS路径BGP路径属性,(B)起点BGP路径属性,以及(C)团体BGP路径属性。
6.如权利要求1所述的方法,还包括:使用接口统计计数器生成关于在所述第一网关路由器的输出处丢弃的数据分组的所述所接收到的信息。
7.如权利要求1所述的方法,还包括:使用简单网络管理协议(SNMP)的管理信息库(MIB)生成关于在所述第一网关路由器的输出处丢弃的数据分组的所述所接收到的信息。
8.如权利要求1所述的方法,其中,使用所接收到的信息确定“数据流量卸载”条件是否存在的动作包括:确定所接收到的信息中所包括的(A)测量到的每时间段丢弃的分组的值或(B)测量到的每时间段丢弃的字节的值,是否超过预定的参数。
9.如权利要求8所述的方法,其中,(A)测量到的每时间段丢弃的分组的值或(B)测量到的每时间段丢弃的字节的值,是从所述第一网关路由器的输出队列获取的。
10.如权利要求8所述的方法,其中,(A)测量到的每时间段丢弃的分组的值或(B)测量到的每时间段丢弃的字节的值,是从所述第一网关路由器的输出接口获取的。
11.如权利要求1所述的方法,所述组中的所述IP地址前缀中的一个或多个中的所述至少某些由预定数量的一个或多个IP地址前缀构成。
12.如权利要求1所述的方法,所述组中的所述IP地址前缀中的一个或多个中的所述至少某些由预定百分比的一个或多个IP地址前缀构成。
13.如权利要求1所述的方法,其中,所述组中的所述IP地址前缀中的一个或多个中的所述至少某些是随机选择的。
14.如权利要求1所述的方法,其中,所述组中的所述IP地址前缀中的一个或多个中的所述至少某些是根据预定义的启发规则选择的。
15.如权利要求14所述的方法,所述预定义的启发规则考虑发往所述组中的IP地址前缀中的每一个的流量。
16.如权利要求1所述的方法,其中,所述(a)接收、(b)确定、(c)改变,以及(d)生成的动作都是在所述第一网关路由器上本地执行的。
17.如权利要求1所述的方法,其中,响应于确定存在数据流量卸载条件,改变所述组中的IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性使得所述第一网关路由器将较小可能转发与所述组中的一个或多个IP地址前缀中的至少某些相关联的数据的所述动作是由所述第一网关路由器外部的集中控制单元执行的。
18.如权利要求1所述的方法,还包括:由所述第一网关路由器向iBGP对等方发送作为BGP能力的对分组丢弃敏感的BGP属性。
19.一种在包括第一自治系统(AS)的系统中使用的方法,所述第一自治系统被配置成使得第一边缘设备通过到第二 AS的第一边界设备的第一链路将与一组一个或多个因特网协议(IP)地址前缀相关联的数据转发到第二 AS,所述方法包括: a)接收关于在所述第一边缘设备的输出处丢弃的分组的信息; b)使用所接收到的信息·确定是否存在数据流量卸载条件; c)响应于确定存在数据流量卸载条件,改变组中的IP地址前缀中的一个或多个中的至少某些的一个或多个属性,使得所述第一边缘设备将较小可能转发与组中的一个或多个IP地址前缀中的所述至少某些相关联的数据;以及 d)输出更改的一个或多个属性以用于传递到所述第一AS的至少一个其他数据转发设备。
20.一种第一网关路由器,被配置成通过到第二自治系统(AS)的第一外部边界网关协议(eBGP)对等设备的第一链路将与一组一个或多个IP地址前缀相关联的数据转发到外部自治系统(AS),所述第一网关路由器包括: a)至少一个处理器;以及 b)存储了处理器可执行的指令的存储设备,所述指令当由所述至少一个处理器执行时,使得所述至少一个处理器执行包括下列各项的方法: 1)接收关于在所述第一网关路由器的输出处丢弃的数据分组的信息; 2)使用所接收到的信息确定是否存在数据流量卸载条件; 3)响应于确定存在数据流量卸载条件,改变组中的IP地址前缀中的一个或多个中的至少某些的一个或多个路径属性,使得所述第一网关路由器将较小可能转发与组中的一个或多个IP地址前缀中的所述至少某些相关联的数据;以及 d)生成包括更改的一个或多个路径属的BGP更新消息,以用于传递到至少一个内部边界网关协议(iBGP)对等设备。
【文档编号】H04L12/745GK103581009SQ201310106158
【公开日】2014年2月12日 申请日期:2013年3月29日 优先权日:2012年8月3日
【发明者】M·纳拉亚南 申请人:丛林网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1