CN103368840B - 减少多宿主网络连接内的边界网关协议会话的流量损失 - Google Patents
减少多宿主网络连接内的边界网关协议会话的流量损失 Download PDFInfo
- Publication number
- CN103368840B CN103368840B CN201210564734.3A CN201210564734A CN103368840B CN 103368840 B CN103368840 B CN 103368840B CN 201210564734 A CN201210564734 A CN 201210564734A CN 103368840 B CN103368840 B CN 103368840B
- Authority
- CN
- China
- Prior art keywords
- route
- router
- gateway protocol
- border gateway
- forwarding plane
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/023—Delayed use of routing table updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/04—Interdomain routing, e.g. hierarchical routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开描述了减少多宿主网络连接内的边界网关协议(BGP)会话的流量损失的技术,通过延迟重新通告从主路由器最近重新建立的多宿主路由器中接收的路线,直到所有路线安装在主路由器的转发平面内,从而减少所述流量损失。本公开的这些技术利用从多宿主路由器中接收的BGP标记,所述标记表示地址族的路线下载结束。一旦接收到所述BGP标记,主路由器的控制平面仅针对在所述BGP标记之前接收的地址族的最后路线,从转发平面中请求路线确认消息(路线-ACK)。当所述控制平面接收到表示所述最后的路线已经安装在转发平面内的路线-ACK时,所述主路由器开始将这些路线重新通告给其他BGP同位体路由器。
Description
技术领域
本公开涉及计算机网络,更具体地讲,涉及计算机网络内的多宿主连接。
背景技术
计算机网络为互相连接的网络装置集合,这些网络装置可交换数据并且共享资源。计算机网络内的网络装置通常包括提供控制平面功能的控制单元以及用于路由或切换数据单元的转发元件。在某些情况下,比如,网络装置可包括多个包转发引擎(PFE)以及一个交换结构,它们共同提供转发平面以转发网络流量。控制单元在路由信息库(RIB)内保持路由信息,该信息表示网络的整体拓扑并且在网络内限定到目标的路线。控制单元根据路由信息获得包括多个转发数据结构的转发信息库(FIB)。在某些情况下,控制单元可将转发数据结构安装在每个PFE内,以便更新每个PFE内的FIB副本并且在转发平面内控制流量转发。
作为计算机网络的一个实例,业务提供商网络通常提供包括通过因特网传送数据的一种或多种业务。对于在访问公共网络或业务提供商所提供的其他业务时要求高可用性的用户而言,该用户需要与业务提供商网络进行冗余连接。这种冗余连接可能涉及将位于用户网络的边缘的用户网络装置(比如,用户边缘(CE)路由器)耦接到与主提供商边缘路由器不同的业务提供商网络的提供商边缘(PE)路由器,CE路由器经由主连接与主PE路由器耦接。冗余连接通常不主动地用于数据传输,但是在发生阻止主PE路由器发送数据的网络故障时,冗余连接可用作备用转发器。因此,主连接可称为主动连接,而冗余连接可称为非主动或备用连接。在CE路由器和PE路由器之间进行的多个连接可共同称为“多宿主”。
发明内容
总体上,本公开描述减少边界网关协议(BGP)会话的流量损失的技术,通过延迟重新通告(re-advertisement)从在主路由器的控制平面上最近重新建立的多宿主路由器(multi-homedrouter,多点接入路由器)中接收的路线,直到所有路线安装在主路由器的转发平面内,从而减少所述流量损失。多宿主路由器经由多宿主网络连接与主路由器和备用路由器连接的情况下,在主路由器处的重新通告延迟期间,流量可通过备用路由器,经由备用转发路径,继续到达多宿主路由器。这样,这些技术避免流量损失,即,“黑洞化(black-holing)”,其中,在路线已经完全安装在主路由器的转发平面内之前,主路由器在所接收的路线上接收流量。
各个路线已经安装在PFE内时,通过在转发平面内的包转发引擎(PFE)和主路由器的控制平面内的路由引擎之间实施路线确认消息(路线-ACK),可解决流量黑洞化问题。然而,需要来自各个安装的路线的各个PFE的路线-ACK,这提出了可可量测性的问题。本公开的技术利用从多宿主路由器中接收的BGP标记,该标记表示地址族的路线下载结束。比如,接收到BGP标记时,主路由器可请求路线-ACK,该路线-ACK仅仅用于在BGP标记之前接收的地址族的最后路线。当主路由器内的路由引擎接收表示最后的路线已经安装在转发平面的PFE内的路线-ACK时,主路由器可假设所有先前的路线也已经安装在PFE内。在主路由器的路由引擎接收最后路线的路线-ACK使得启动将从多宿主路由器中接收的路线重新通告给主路由器的其他同位体路由器。
在一个实例中,本公开涉及一种方法,包括:用主路由器经由BGP会话,从多宿主路由器中接收所通告的路线,其中,所述多宿主路由器与主路由器和备用路由器连接;在主路由器的控制平面内,根据所接收的路线更新路由表内的路由信息;在主路由器的转发平面内,根据所述路由信息安装转发表内所接收的路线的转发数据结构;以及推迟将路线重新通告(re-advertisement)给BGP同位体路由器,直到控制平面从转发平面接收表示从多宿主路由器中接收的最后路线安装在转发平面的转发表内的确认。
在另一个实例中,本公开涉及一种多宿主网络连接中的主路由器,所述主路由器包括:接口,配置成通过BGP会话从多宿主路由器中接收所通告的路线,其中,所述多宿主路由器与主路由器和备用路由器连接;以及控制单元,配置成在主路由器的控制平面内,根据所接收的路线更新路由表内的路由信息;在主路由器的转发平面内,根据所述路由信息安装转发表内所接收的路线的转发数据结构;以及推迟将路线重新通告给BGP同位体路由器,直到控制平面从转发平面接收表示从多宿主路由器中接收的最后路线安装在转发平面的转发表内的确认。
在某些实例中,主路由器的接口从多宿主路由器中接收表示路线下载结束的BGP标记,以及响应于接收BGP标记,控制单元从转发平面中请求表示多宿主路由器的最后路线安装在转发表内的确认。一旦从转发平面中接收表示多宿主路由器的最后路线安装在转发表内的确认,控制单元可将所有路线重新通告给BGP同位体路由器。在另一个实例中,响应于接收BGP标记,控制单元为在接收BGP标记之前从多宿主路由器中接收的最后路线,发布路线改变请求。
控制单元可在控制平面中定位路由表内的最后路线;设置与路由表内的最后路线相关联的确认标志;并且可将最后路线的路线改变请求发送给主路由器的内核。该内核可从转发平面中请求表示最后的路线安装在转发表内的确认,并且当最后路线已经安装在转发表内时,可从转发平面中接收确认。一旦内核接收确认,该控制单元可从路由表中清除确认标志,并且触发将路线重新通告给BGP同位体路由器。
在某些实例中,主路由器进一步包括内核,其配置成生成最后路线的确认请求以及与确认请求相关联的确认网络跟踪器(acknowledgmentcookie),其中,控制单元将确认网络跟踪器映射到最后的路线中,并且一旦响应于确认请求从转发平面中接收确认,根据与确认请求相关联的确认网络跟踪器,识别最后的路线。
在另一个实例中,本公开涉及一种计算机可读介质,其包括指令,执行这些指令时,这些指令促使主路由器的处理器通过BGP会话从多宿主路由器中接收所通告的路线,其中,所述多宿主路由器与主路由器和备用路由器连接;在主路由器的控制平面内,根据所接收的路线更新路由表内的路由信息;在主路由器的转发平面内,根据所述路由信息安装转发表内所接收的路线的转发数据结构;以及推迟将路线重新通告给BGP同位体路由器,直到控制平面从转发平面接收表示从多宿主路由器中接收的最后路线安装在转发平面的转发表内的确认。
在附图和以下描述中详细地阐述了一个或多个实施方式。根据描述和附图以及根据权利要求书,其他特征、目标以及优点是显而易见的。
附图说明
图1为示出了一个示例网络系统的框图,该系统包括能够执行本公开的技术的主路由器,以减少多宿主网络连接中边界网关协议(BGP)会话的流量损失;
图2为示出了PE路由器的框图,该路由器配置成用作根据本文中所描述的技术的多宿主网络连接中的主路由器;
图3为更详细地示出图2的主路由器的框图;
图4为示出与本公开中所描述的技术一致的多宿主网络连接中的多宿主路由器和主路由器的示例操作的流程图。
具体实施方式
图1为示出一个示例网络系统8的框图,该系统包括能够执行本公开的技术的主提供商边缘(PE)路由器16A,以便减少多宿主网络连接15A和15B(“多宿主网络连接15”)上边界网关协议(BGP)会话的流量损失。如图1中所示,网络系统8包括业务提供商网络10和用户站点12A至12D(“用户站点12”)。网络10可表示业务提供商所拥有和操作的网络,以便将多个边缘网络(比如用户站点12)互相连接。结果,鉴于网络10用作用户网络(比如用户站点12)的核心,所以业务提供商网络10在本文中可称为“核心网络”。
业务提供商可出租部分网络10或者提供通过网络10将用户站点12互连的业务,用户站点12可租借部分网络10或者购买网络10所提供的业务。比如,网络10可提供虚拟专用网络(VPN)业务,以便虚拟地将各种用户网络位置互连。VPN可通过业务提供商网络10透明地(transparently)将用户站点12彼此互连。通过透明地模仿这些不同的用户站点12之间的直接连接,网络10可提供VPN业务,从而从用户站点12来看,每个用户站点12似乎彼此直接连接。
用户站点12各自可表示由大型实体(比如,大学、公司、商行、或其他机构或企业)拥有和操作的网络。在某些情况下,单个大型实体可拥有和操作两个或多个用户站点12。该实体然后可与业务提供商网络10联系,从而购买业务提供商网络10所提供的业务,比如,VPN,以便通过上述方式,透明地将这些用户站点12互连。
各个用户站点12可根据多个网络协议进行操作,比如,与以太网协议相关的802.3X族网络协议中的任一个、802.1X族无线网络协议中的任一个、互联网协议(IP)、以及传输控制协议(TCP)。而且,用户站点12各自可包括虚拟专用网络(VPN)、局域网(LAN)或广域网(WAN)。虽然为了便于进行说明,在图1的实例中未进行显示,但是各个用户站点12可包括多个互连的计算装置或节点,比如,网络服务器、打印服务器、应用服务器、数据服务器、工作站、台式电脑、膝上型电脑、蜂窝装置或其他移动装置、个人数字助理(PDA)、以及能够通过无线和/或有线连接与计算机网络连接的任何其他装置。
如图1的实例所示,业务提供商网络10包括位于业务提供商网络10的边缘处的提供商边缘(PE)路由器16A和16B(“路由器16”)和PE路由器18A至18C(“路由器18”)。尽管本文中关于特定的网络装置(即,路由器)进行讨论,但是PE路由器16、18各自可表示与用户站点12接合以便路由、切换或转发引入和/或源自用户站点12的网络流量的网络装置的实例。然而,这些技术可由任何一种网络装置执行,包括开关、集线器、网桥装置(比如以太网网桥)、或任何其他L2网络装置和/或能够执行L2功能的L3网络装置。此外,尽管在图1的实例中显示为物理上分离的网络装置,但是PE路由器16、18可位于可视为同一个网络装置的不同底盘内。这些技术因此不应限于此方面。此外,可相对于不同的虚拟网络装置执行这些技术,比如,逻辑上可分离但是在同一个物理硬件上实施的虚拟PE路由器。
PE路由器16、18可将BGP实施为控制平面路由协议,以便与位于相同的自主系统(AS)(比如,业务提供商网络10)或不同的AS(比如,一个或多个用户站点12)内的同位体路由器(peerrouter,对端路由器)交换路由信息。实施BGP的PE路由器16、18可称为“BGP扬声器”。可在配置为同位体路由器的PE路由器16、18之间建立BGP会话。一旦建立会话,BGP同位体就交换路由信息。比如,如图1中所示,各个PE路由器16可为与各个PE路由器18的BGP同位体。然而,PE路由器16A和PE路由器16B可以不一定是彼此的BGP同位体。PE路由器18可包括PE路由器16的内部同位体路由器。此外,每个PE路由器16可为与用户站点12A内的CE路由器14A的BGP同位体。CE路由器14A可包括PE路由器16的外部同位体路由器。在Y.Rekhter于2006年1月发表的“ABorderGatewayProtocol4(BGP-4)”,RequestforComments:4271,TheIETFTrust中,可找到与BGP相关的其他细节,该文献之全文通过引用并入本文中。
用户站点12分别包括用户边缘(CE)路由器14A至14D(“CE路由器14”),其位于用户站点12的边缘。尽管在本文中关于特定的网络装置(即,路由器)进行讨论,但是CE路由器14可表示与业务提供商网络10接合以便路由、切换或转发引入和/或源自网络10的网络流量的任何网络装置。然而,这些技术可由任何一种网络装置执行,包括开关、集线器、网桥装置(比如以太网网桥)、或任何其他L2网络装置和/或L3网络装置。一个或多个CE路由器14可将BGP实施为路由协议,以便与位于相同的AS(比如,各个用户站点12)或不同的AS(比如,业务提供商网络10)内的同位体路由器交换路由信息。比如,如图1中所示,各个PE路由器16可为具有CE路由器14A的BGP同位体。CE路由器14A可包括PE路由器16的外部同位体路由器。
在图1的实例中,用户站点12A经由各个链路15A和15B,通过多个PE路由器16A和16B与业务提供商网络10进行冗余连接,此技术称为“多宿主”。具体而言,用户站点12A经由CE路由器14A通过PE路由器16A和16B多点接入网络10。本公开的技术不应限于图1中所示的实例,而可关于任何连接形式执行这些技术,该连接形式包括在两个或多个物理网络装置(比如PE路由器16和18)或虚拟网络装置之间的多个连接。
有多种不同类型的多宿主连接,包括双主动式(active-active)多宿主连接和主动-备用式多宿主连接。在双主动式多宿主连接中,将形成多宿主连接的所有链路视为主动,这是因为这些链路中的每个链路可在PE路由器16和CE路由器14A之间传送数据流量。在主动备用式多宿主连接中,在PE路由器16和CE路由器14A之间传送数据流量时,通常一个链路主动,而一个链路备用并且在PE路由器16和CE路由器14A之间未传送数据流量。假设在本公开中,PE路由器16和CE路由器14A保持主动备用式多宿主连接,然而本技术的各方面不限于这种形式的多宿主连接并且可关于多宿主连接的其他形式(比如,双主动式多宿主连接)执行本技术。
在图1中示出的主动备用式链路拓扑中,将一个PE路由器16(比如,PE路由器16A)选为主动或主PE路由器(即,指定的转发器),以便将流量发送给用户站点12A以及从该用户站点12A发送流量。将另一个多宿主PE路由器16(比如,PE路由器16B)指定为备用PE路由器或备用转发器,其可在发生阻止主PE路由器16A发送流量的网络故障时,用于将流量发送给用户站点12A以及从该用户站点12A发送流量。在这种情况下,具有通过网络10的主转发路径,以便经由PE路由器18、主PE路由器16A以及CE路由器14A,将流量从任一个用户站点12B至12D发送到用户站点12A中。此外,通过网络10的备用转发路径经由PE路由器18、备用PE路由器16B、以及CE路由器14A存在于用户站点12B-12D与用户站点12A之间。
在例如主PE路由器16A和CE路由器14A之间的BGP会话失效时,PE路由器18改为沿着备用转发路径通过备用PE路由器16B将去往用户站点12A的流量发送给CE路由器14A。在主PE路由器16A和CE路由器14A之间重新建立BGP会话时,CE路由器14A将其路线通告(advertises)给主PE路由器16A。对于本公开的目的而言,术语“路线”通常用于描述转发信息或转发数据结构,其安装在路由器的转发平面内以便在转发平面内控制流量转发。
一旦接收到路线通告,主PE路由器16A内的控制单元更新储存在路由信息库(RIB)内的路由信息,该信息表示网络系统8的整体拓扑并且在网络系统8内限定到目标的路线。根据所接收的路线更新RIB之后,主PE路由器16A的控制单元根据路由信息获得包括多个转发数据结构的转发信息库(FIB)。然后,控制单元在主PE路由器16A的转发平面内更新转发信息库FIB的一个或多个副本。比如,在转发平面内,主PE路由器16A的控制单元可在多个包转发引擎(PFE)的每个内将所接收的路线的转发数据结构安装到FIB的副本内。
主PE路由器16A也将从CE路由器14A中接收的路线重新通告给业务提供商网络10内的同位体PE路由器18。一旦主PE路由器16A重新通告这些路线,业务提供商网络10内的PE路由器18就返回,沿着主转发路径,通过主PE路由器16A,将去往用户站点12A的流量发送给CE路由器14A。然而,在某些情况下,在所接收的路线已经安装在主PE路由器16A的转发平面内之前,主PE路由器16A可能开始从去往用户站点12A的PE路由器18中接收数据流量。这就在主PE路由器16A处造成流量损失,即“黑洞化”,尽管备用转发路径通过备用PE路由器16B存在。
通过延迟重新通告从在主路由器16A的CE路由器14A中接收的路线,直到所有路线安装在主路由器16A的转发平面内,本公开的技术减少了重新建立的BGP会话的流量损失。如图1中所示,CE路由器14A经由多宿主网络15与主PE路由器16A和备用PE路由器16B连接时,在主PE路由器16A的重新通告延迟的过程中,流量可通过备用PE路由器16B,经由PE路由器18的备用转发路径,继续到达CE路由器14A和用户站点12A。这样,本技术避免流量损失,即,“黑洞化”,在黑洞化中在路线已经完全安装在主PE路由器16A的转发平面内之前,主PE路由器16A在从CE路由器14A中接收的路线上接收流量。
在某些情况下,通过将恒定延迟应用于从主PE路由器16A至同位体PE路由器18的BGP重新通告,可解决流量黑洞化问题。然而,根据从CE路由器14A中接收的路线的数量,恒定延迟可能太短或太长。因此,应用合适的长度延迟,需要在主PE路由器16A的用户配置以根据CE路由器14A的路线的数量调节延迟时间。此外,对于从与主PE路由器16A多宿主连接的其他同位体路由器中接收的任何路线,需要单独配置重新通告延迟。通过在转发平面内的PFE和主PE路由器16A的控制平面内的路由引擎之间实施路线确认消息(路线-ACK),以在各个路线已经安装在PFE内后发送信号,可解决流量黑洞问题。然而,每个更新的路线的每个PFE需要路线-ACK,这提出了可量测性的问题。
本公开的技术实例利用多宿主CE路由器14的BGP标记,该标记表示通过主PE路由器16A协商用于BGP会话的各个地址族的路线下载结束。过去,在主PE路由器16A进行平稳地故障转移(gracefulfailover)期间,使用BGP标记(即RIB结束标记),从而在多宿主CE路由器14A已经通告地址族中的所有路线指出。协商用于BGP会话的地址族的数量通常较小,比如,少于10。在平稳地重启(gracefulrestart)的情况下,多宿主CE路由器14A将为每个地址族发送RIB结束标记,RIB结束标记表示已经下载用于特定地址族的所有路线。BGP会话不能平稳地重启时,也可使用RIB结束标记。
一旦从CE路由器14A中接收到表示完成指定地址族的路线下载的BGP标记,主PE路由器16A的路由引擎从转发平面的PFE中请求路线-ACK,仅仅用于在BGP标记之前从CE路由器14A中接收的地址族的最后路线。主PE路由器16A内的路由引擎从PFE中接收到表示最后路线已经安装在PFE内的路线-ACK时,主PE路由器16A可假设所有先前的路线也已经安装在转发平面的PFE内。在主PE路由器16A的路由引擎对地址族的最后路线的路线-ACK的接收,启动将从CE路由器14A中接收的路线重新通告给同位体PE路由器18。
这样,这些技术使用数量更少的路线-ACK,在主PE路由器16A处进行适当长度的重新通告延迟,以便避免流量损失。比如,该技术可将路线-ACK的数量从数百万减少到小于10,即,协商用于BGP会话的每个地址族有一个路线-ACK。更具体地说,在路由器重新通告从最近重新建立的多宿主路由器(比如,CE路由器14A)中接收的路线时,在多宿主网络连接中,这些技术减少或消除了用作主路由器(比如,主PE路由器16A)的路由器的流量损失。此外,对主路由器的路线-ACK机器的压力不会与从最近重新建立的多宿主路由器中接收的BGP路线的数量的规模成比例地增大。相反,根据这些技术,对路线-ACK机器的压力与协商用于BGP会话的地址族的数量保持比例,该数量通常为非常小的数量,比如,小于10。而且,这些技术根据从最近重新建立的多宿主路由器中接收的路线的数量的规模,自动调节重新通告延迟时间,因此不会将路线的重新通告延迟太长或太短的持续时间。
图2为示出PE路由器20的框图,该路由器配置成用作根据本文中所描述的技术的多宿主网络连接中的主路由器。比如,PE路由器20可与图1中与多宿主CE路由器14A连接的主PE路由器16A大致相似地进行操作。
在该实例中,PE路由器20包括控制单元22,该单元为网络装置提供控制平面功能。PE路由器20也包括使一组线卡38A至38N(“LC38”)互连的交换结构46,每个线卡包括至少一个包转发引擎40A至40N(“PFE40”),这些引擎通过一组接口卡42(“IFC42”)发送和接收流量,这些接口卡通常具有一个或多个物理网络接口(即,端口)。LC38、LC38内所包含的元件、以及交换结构46共同为转发转接网络流量提供转发平面。虽然在图2中未显示,但是PFE40均可包括中央处理单元(CPU)、存储器和一个或多个可编程的包转发专用集成电路(ASIC)。交换结构46提供高速互联,以便在PFE40之间转发引入的数据包,从而通过网络进行传输。
控制单元22为执行PE路由器20的控制平面功能的各种协议提供操作环境。比如,后台程序(daemon)34A至34N(“后台程序34”)包括用户级进程,除了其他功能,这些进程还运行网络管理软件、执行路由协议以便与同位体路由器连通、保持和更新一个或多个路由表、以及生成一个或多个转发表以便安装到PFE40中。比如,后台程序34中的一个可将BGP30用作控制平面协议,用于给业务提供商网络(比如图1中的网络10)所提供的VPN业务或其他业务发送信号,以便将与该网络连接的用户站点透明地互连。
作为另一个实例,一个后台程序34(比如,路由协议后台程序(RPD))可在路由引擎24上运行,以便控制L3路由功能和L2转发功能。通常,路由引擎24保持储存L3路由信息和L2拓扑数据的路由信息库(RIB)26,L3路由信息限定至网络内的目标的路线,L2拓扑数据表示网络的整体拓扑。根据RIB26,路由引擎24生成转发信息库(FIB)28,以便包含用于在转发平面中安装在PFE40内的转发数据结构。如图2中所示,每个PFE40包括为控制单元22内的FIB28的副本的FIB44,以便将网络目标与转发平面内特定的下一跳(nexthop)和相应的接口端口相关联。
在PE路由器20参与VPN业务的实例中,除了RIB26,控制单元22还可在一个或多个虚拟路由和转发(VPF)表中的每个内储存路由信息,所述虚拟路由和转发(VPF)表用于由PE路由器20支持的不同的VPN。储存在用户VRF表内的路由信息可能从主VPN表泄漏。仅仅将由源自用户VRF表的转发数据结构所限定的路线安装在PFE40的FIB44内。
在图2的实例中,控制单元22通过专用内部通信链路48与各个LC38连接。比如,专用链路48可包括200Mbps或千兆位以太网连接,用于在PE路由器20的多个元件之间进行内部通信。在一个实施例中,控制单元22将表示软件副本FIB44的数据传送到PFE40内,以便将PFE40编程,并且从而通过转发平面内相应的元件,控制流量转发。这就允许更新每个PFE40内的存储器(比如,片上RAM)内所储存的软件副本FIB44,PE路由器20的包转发性能并不退化。在某些情况下,控制单元22可为每个单独的PFE40获得一个单独的不同软件FIB。此外,一个或多个PFE40可包括包转发ASIC(图2中未显示),PFE40在每个单独的PFE40内根据软件副本FIB44用硬件副本FIB(即,软件FIB的硬件版本)将其编程。
包穿过PE路由器20的内部结构时,PFE40通过各自的内部包转发路径,对每个包进行一系列操作,从而处理包。比如,通过相应的入口接口、PFE40的入口接口、PFE40的出口接口、在包被导向出口之前的PE路由器20的出口接口或其他元件中的任一个可对各个包进行操作。PFE40均包括在FIB44内的转发数据结构,执行该数据结构时,该数据结构检查每个包的内容,并且在此基础上,比如,做出转发决定,应用滤波器,和/或进行结算、管理、流量分析以及负载平衡。包处理的结果确定PFE40将包从一个IFC42上的入口接口转发或处理到一个IFC42上的出口接口中的方式。
后台程序34识别控制单元22内所储存的单独的程序,以便作为FIB44内的转发数据结构进行编辑和实例化,从而应用后台程序34所指定的功能,用于PE路由器20的转发平面功能。这些程序可规定要在包上执行的功能,包括基础包转发操作,比如,输入包处理、路线查找、以及输出包处理,这些程序还规定业务功能,比如,包过滤或访问控制、统计取样、流量管制、速率限制以及结算。比如,一个后台程序34可执行BGP30,并且从使后台程序触发一个程序所定义的特定BGP功能的BGP同位体中接收消息。作为另一个实例,一个后台程序34可执行命令行接口(CLI),该接口从用户中接收命令,以便应用由一个程序定义的管制功能,从而以特定的速率对特定的流量进行速率限制。
然后,后台程序34调用FIB接口36,以便选择这些程序的合适的转发数据结构,以便安装到FIB44内的PFE40中。FIB接口36表示到PFE40的接口,通过该接口,后台程序34可通过内部通信链路45传送一个或多个转发数据结构,以便在FIB44内实例化(instantiation),从而建立包转发路径并且提供查找数据。FIB接口36可包括一个或多个用户或内核级的程序库、程序、工具箱、应用程序编程接口(API)。在2011年7月29日提交的题为PACKETFORWARDINGPATHPROGRAMMINGUSINGAHIGH-LEVELDESCRIPTIONLANGUAGE的美国申请第13/194,571号中可获得有关包转发路径编程的其他信息,该案之全文通过引用并入本文中。
可单独以软件或硬件实现控制单元22的操作环境,或者可实现为软件、硬件或固件的结合。比如,控制单元22可包括执行软件指令的一个或多个处理器。在这种情况下,控制单元22可包括在操作系统上执行的各种软件模块或后台程序(比如,后台程序34),并且可包括永久性计算机可读储存装置(比如,计算机存储器或硬盘),以便储存可执行的指令。
图2所示的PE路由器20的结构仅仅出于示范性目的示出。本公开不限于这种结构。在其他实施例中,可以多种不同方式配置PE路由器20。比如,在一个实施例中,控制单元22的某些功能可分布在PFE40内。实现控制单元22的元件可单独实现为软件或硬件,或者可实现为软件、硬件或固件的结合。比如,控制单元22可包括执行软件指令的一个或多个处理器、一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效集成或离散逻辑电路,以及其任意组合。在这种情况下,控制单元22的各种软件模块可包括在计算机可读介质(比如包含指令的计算机可读储存介质)内储存、包含或编码的可执行指令。在计算机可读介质内嵌入或编码的指令在例如执行这些指令时可使可编程处理器或其他处理器执行该方法。
计算机可读储存介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电子可擦可编程只读存储器(EEPROM)、非易失性随机存取存储器(NVRAM)、闪存、硬盘、CD-ROM、软盘、盒式磁带、固态驱动器、磁性介质、光学媒体、或其他计算机可读介质。通过与PE路由器20(比如,协议)的各方面对应的指令,可将计算机可读介质进行编码。在某些实例中,控制单元22从存储器中检索和执行指令,用于这些方面。
如上所述,PE路由器20可包括多宿主网络连接内的主路由器。比如,主PE路由器20的控制单元22可执行BGP30,以便与多宿主路由器保持BGP会话。在这种情况下,主PE路由器20用作指定的转发器,以便在主转发路径上将流量发送给多宿主路由器。与多宿主路由器连接的另一个PE路由器可用作备用路由器。主PE路由器20和多宿主路由器之间的BGP会话失效时,备用路由器就用于在备用转发路径上将流量发送给多宿主路由器。一旦在主PE路由器20和多宿主路由器之间重新建立BGP会话,PE路由器20就从PE路由器20的其他BGP同位体重新建立至多宿主路由器主转发路径。
重新建立与主PE路由器20的BGP会话之后,PE路由器20从多宿主路由器中接收一个或多个BGP地址族的路线通告。一旦接收到路线通告,PE路由器20的控制单元22就执行路由引擎24,以便更新储存在RIB26内的路由信息。根据所接收的路线更新RIB26之后,路由引擎24根据更新的RIB26内的路由信息,更新FIB28内储存的转发信息,包括转发数据结构。然后,控制单元22根据FIB28的变化,在PE路由器20的转发平面内,更新PFE40内的FIB44。如上所述,后台程序34调用FIB接口36,以便将合适的转发数据结构安装在PFE40的FIB44内。这样,为所接收的至多宿主路由器的网络路线重新建立通过PE路由器20的转发平面的包转发路径。
过去,接收到通告的路线后,PE路由器20的控制单元22就可立即执行BGP,以便将所接收的路线重新通告给网络内的BGP同位体,以便重新建立主转发路径。一旦重新通告路线,BGP同位体路由器就开始通过PE路由器20沿着主转发路径,发送用于多宿主路由器的流量。然而,这些路线已经安装在PE路由器20的转发平面内之前,PE路由器20在所接收的路线上接收流量时,立即进行这种重新通告,可能造成流量损失,即,“黑洞化”。在多宿主网络连接的情况下,可避免这种流量损失的原因是,当主转发路径仍然在编程时,在备用转发路径上,可继续将该流量转发给多宿主路由器。
根据本公开的技术,控制单元22用推迟的通告延伸(deferredadvertisementextension)32执行BGP30,推迟的通告延伸32使地址族中接收的路线推迟重新通告给网络内的BGP同位体,直到用于BGP会话的地址族的最后路线安装在PE路由器20的转发平面内。通过推迟路线的重新通告,直到最后的路线安装在转发平面内,在所接收的路线上,接收用于多宿主路由器的流量之前,控制单元22确保所有所接收的路线安装在PE路由器20的转发平面内。在推迟重新通告路由器时,可经由备用转发路径,继续将流量发送给多宿主路由器。这样,这些技术消除或减少了多宿主网络连接内的黑洞化造成的BGP会话的流量损失。
为了实现适当长度的重新通告延迟并且保持可量测性,这些技术使用从多宿主路由器中接收的BGP标记,该标记表示指定地址族的路线下载结束。具体而言,从多宿主路由器中接收表示地址族完成路线下载的BGP标记(即,RIB结束标记)时,PE路由器20的路由引擎24从转发平面内的PFE40中请求路线-ACK,仅仅用于从BGP标志之前的多宿主路由器中接收的最后路线。这样,地址族的最后路线已经安装在转发平面的PFE40内时,路由引擎24接收确认。路由引擎24可假设,最后的路线已经安装在PFE40内时,在最后的路线之前接收的地址族内的所有路线也已经安装在PFE40内。
在PE路由器20参与VPN业务并且保持不同的VPN的一个或多个VRF表的实例中,仅仅将源自用户VRF表的转发数据结构所限定的路线安装在PFE40的FIB44内。在这种情况下,路由引擎24可请求路线-ACK,仅仅用于会安装在FIB44内的用户VRF表的路线。因此,路由引擎24请求路线-ACK,用于也包含在用户VRF表内并且会安装在转发平面内的FIB44内的地址族的最后路线。
用于地址族的最后路线的路线-ACK的接收,触发将从多宿主路由器中接收的地址族的所有路线重新通告给该网络内的BGP同位体。这样,这些技术减少或消除主PE路由器20和最近重新建立的多宿主路由器之间的BGP会话的流量损失,同时使用最少数量的路线-ACK消息。在某些情况下,作为备用措施,在合理的持续时间之后,路由引擎24从PFE中接收最后路线的路线-ACK的等待时间可暂停。在这种情况下,这种暂停可触发重新通告路线。
图3为更详细地示出图2的主PE路由器20的元件的框图。更具体地说,图3示出了控制平面的控制单元22和PE路由器20的转发平面的PFE40A。
在所示出的实例中,控制单元22提供控制平面操作环境,用于执行用户空间60内的各种用户级后台程序34。在该实例中,后台程序34包括命令行接口后台程序52(“CLI52”)、路由协议后台程序54(“RPD54”)、以及简单网络管理协议后台程序56(“SNMP56”)。在其他实例中,控制单元22可包括图3中未显示的其他后台程序34,这些后台程序执行其他控制、管理或业务平面功能和/或驱动和其他管理PE路由器20的数据平面功能。
RPD54执行一个或多个内部和/或外部路由协议,以便与其他网络装置交换路由信息、在RIB26内储存所接收的路由信息、以及在FIB28内储存所获得的转发信息。CLI52提供外壳(shell,命令解释程序),通过该外壳,管理员或其他管理实体可使用基于文本的命令来修改PE路由器20的配置。SNMP56包括SNMP代理,该代理从管理实体中接收SNMP命令,以便设置和检索PE路由器20的配置和管理信息。通过将转发结构安装在PFE40的FIB44内,RPD54、CLI52以及SNMP56配置转发平面,以便执行包转发业务、添加/修改/删除路线、以及修改包转发路径。
后台程序34通过内核63进行操作并且与该内核63相互作用,该内核为用户级进程提供运行时间操作环境。内核63可包括比如UNIX操作系统衍生物,比如,Linux或BerkeleySoftwareDistribution(BSD)。内核63提供程序库和驱动器,通过程序库和驱动器后台程序34可与底层系统相互作用。内核63的PFE接口68包括内核级程序库,通过该程序库后台程序34、FIB接口36、以及其他用户级进程或用户级程序库可与PFE40相互作用。PFE接口68可包括比如套接程序库,以便通过专用网络链路与PFE40连通。
控制单元22的硬件环境65包括微处理器66,该微处理器执行程序指令,以便执行控制单元22的内核63和用户控件60。微处理器66可包括一个或多个通用或专用处理器,比如,数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效逻辑装置。因此,本文中所使用的术语“处理器”或“控制器”可表示任何一个或多个上述结构或可操作以便执行本文中所述的技术的任何其他结构。
如上面图2中所述,FIB接口36允许后台程序34驱动PFE40内的转发数据结构的安装和配置。具体而言,FIB接口36包括API,通过API后台程序34可选择合适的转发数据结构,以便安装到PFE40中,并且将转发数据结构传送给PFE40,以便安装到FIB44中,作为包转发路径。
PFE40执行转发平面功能以处理从接受包的入口接口到发送包的出口接口的包处理。转发平面通过PE路由器20确定数据包转发,应用包转发业务,对包流进行速率限制,过滤包,以及使用转发数据结构和由控制单元22安装在PFE40内的查找数据来处理包。尽管图3仅仅详细示出PFE40A,但是每个PFE40包括执行大致相似的功能的相似元件。
转发数据结构为PE路由器20所接收的每个引入包限定转发路径82。比如,根据路线信息,路线表查找转发数据结构将数据性能(比如,目标信息和包报头中的其他选择信息)映射到一个或多个特定的下一跳路由器中以及映射到一个或多个特定的输出接口中。转发路径82可包括比如可执行的指令、可编程的逻辑、以及专用逻辑,这些逻辑进行查找、对数据包流进行速率限制、以及执行转发数据结构所定义的其他功能。PFE40A包括ASIC78,其处理包,以便识别包特性并且进行与这些特性有关的动作。转发路径82包括可编程的、可执行的微码以及固定的硬件元件,其确定包处理动作以及ASIC78所执行的其他操作。
PFE微处理器72管理ASIC78并且执行FIB-PFE接口74,以便给控制单元22提供接口。PFE微处理器72可执行微内核,以便为接口提供操作环境。FIB-PFE接口74为编程接口,其从控制单元22的PFE接口68中接收转发数据结构。然后,将转发数据结构安装在ASIC78内的FIB44A内,作为转发路径82的一部分。
如上所述,PE路由器20可包括多宿主网络连接内的主路由器,其用作指定的转发器,以便将主转发路径上的流量发送给多宿主路由器。与多宿主路由器连接的另一个PE路由器可用作备用路由器。主PE路由器20和多宿主路由器之间的BGP会话失效之后,可在备用转发路径上将流量发送给多宿主路由器,直到重新建立主转发路径。一旦在主PE路由器20和多宿主路由器之间重新建立BGP会话,就通过将多宿主路由器的路线重新通告给PE路由器20的其他BGP同位体,PE路由器20重新建立到多宿主路由器的主转发路径。
通过延迟重新建立主转发路径,直到在主PE路由器20的转发平面内更新所有的路线,本公开的技术减少了在主PE路由器20和最近重新建立的多宿主路由器之间的BGP会话的流量损失。为了延迟重新建立主转发路径,PE路由器20的控制单元22延迟将从多宿主路由器中接收的路线重新通告给其他BGP同位体,直到将指定的地址族的最后路线安装在PE路由器20的转发平面内。
如上面图2中所述,这些技术使用从多宿主路由器中接收的BGP标记(即,RIB结束标记),该标记表示指定的地址族的路线下载结束。响应于接收BGP标记,通过使用路线改变机构,RPD54触发仅仅用于地址族的最后路线的路线-ACK。比如,控制单元22从多宿主路由器中接收BGP标记时,在控制单元22内执行的RPD54定位安装在RIB26内的最后路线,并且通过组路线-ACK比特,发布路线改变请求。这样,RPD54引导路线-ACK标志,以便设置在RIB26内的最后路线上。路线-ACK标志表示,一旦转发平面内完成路线安装,PFE40就将最后路线的路线-ACK发送给控制单元22。BGP协议30所延迟的通告延伸32记得已经为地址族内的最后路线请求路线-ACK,并且延迟将地址族路线重新通告给其他BGP同位体,直到在转发平面内更新最后的路线。本公开的这些技术利用RIB结束标记以识别RIB26内的地址族所接收的最后路线,并且推迟重新通告地址族的所有路线,直到将最后的路线安装在转发平面内。
RPD54使用FIB接口36,将路线改变请求发送给内核63内的PFE接口68,以便传送给PFE40。内核63为地址族的最后路线的路线-ACK生成对转发平面内所有PFE40的请求。一旦通过FIB-PFE接口74将最后路线安装在PFE40的FIB44内,每个PFE40就通过FIB-PFE接口74和PFE接口68将路线-ACK响应发回内核63中。然后,内核63加强所有PFE40的路线-ACK响应并且为RPD54提供单个加强的路线-ACK响应,该响应表示已经在转发平面的所有PFE40内更新该路线。
当内核63生成最后路线的路线-ACK请求时,内核63也生成路由引擎的路线-ACK网络跟踪器。RPD54在控制单元22内保持路线-ACK表58,其保持该路线和路线-ACK网络跟踪器之间的映射,直到从内核63中接收加强的路线-ACK响应。当RPD54从内核63中接收路线-ACK响应时,表明对于与路线-ACK网络跟踪器相关的路线的更新路线变化。RPD54查找与路线-ACK表58内的路线-ACK网络跟踪器相关的路线、定位RIB26内的路线、以及清除RIB26内的路线上设置的路线-ACK标志。一旦清除RIB26内最后路线的路线-ACK标志,RPD54就了解地址族的最后路线安装在PFE40内。RPD54然后可假设在最后路线之前接收的地址族内的所有路线也已经安装在PFE40内。接收路线-ACK并且清除地址族的最后路线的路线-ACK标志,触发将地址族的路线重新通告给网络内的BGP同位体。
图4为示出与本公开中所描述的技术一致的多宿主网络连接中的多宿主路由器和主路由器的实例操作的流程图。为了进行说明,由多宿主CE路由器(比如,图1中的CE路由器14A)以及主PE路由器(比如,图1中的PE路由器16A)执行所讨论的操作。然而,应理解的是,其他路由器或网络装置也可执行实例操作。
如上所述,在图1中所述的主动备用式链路拓扑内,主PE路由器16A为指定的转发器,以便将流量发送给用户站点12A以及从该用户站点中发送流量。发生会阻止主PE路由器16A发送流量的网络故障时,其他备用PE路由器16B为备用转发器,该转发器可用于将流量发送给用户站点12A以及从该用户站点中发送流量。在这种情况下,具有通过网络10的主转发路径,以便经由PE路由器18、备用PE路由器16A、以及CE路由器14A,将流量从用户站点12B至12D中的任一个发送到用户站点12A中。此外,经由PE路由器18、备用PE路由器16B以及CE路由器14A,在用户站点12B12D和用户站点12A之间具有通过网络10的备用转发路径。
在主PE路由器16A和CE路由器14A之间的BGP会话失效(godown)时,多宿主CE路由器14A通过备用PE路由器16B,经由备用转发路径,接收用于用户站点12A的流量(90)。然后,多宿主CE路由器14A与主PE路由器重新建立BGP会话(92)。一旦重新建立BGP会话,多宿主CE路由器14A就将其路线通告给主PE路由器16A(94)。
主PE路由器16A接收多宿主CE路由器14A通告的路线(98)。接收通告的路线时,主PE路由器16A内的控制单元根据所接收的路线,更新储存在RIB内的路由信息(100)。根据所更新的RIB内的路由信息,主PE路由器16A的控制单元也获得包括多个转发数据结构的FIB。根据本公开的这些技术,主PE路由器16A推迟将路线重新通告给其BGP同位体,比如,业务提供商网络10内的PE路由器18(102)。如果主PE路由器16A立即重新通告这些路线,那么在所接收的路线已经安装在主PE路由器16A的转发平面内之前,主PE路由器16A可能开始接收用于用户站点12A的多宿主CE路由器14A的数据流量。这就在主PE路由器16A造成流量损失,即“黑洞化”。通过推迟路线重新通告,可通过备用转发路径,继续发送数据流量,直到在主PE路由器16A的转发平面内更新这些路线。
在控制平面内更新RIB和FIB之后,根据控制平面内更新的RIB,在主PE路由器16A的转发平面内,主PE路由器16A的控制单元然后将路线安装在FIB副本内(104)。比如,主PE路由器16A的控制单元可将这些路线的转发数据结构安装到PE路由器16A内的转发平面的PFE内的FIB副本内。
一旦多宿主CE路由器14A通告用于指定的地址族的最后路线,多宿主CE路由器14A就将BGP标记发送给主PE路由器16A,其表示地址族的路线下载结束(96)。主PE路由器16A接收BGP标记(比如,RIB结束标记),其表示地址族的路线下载结束(106)。接收BGP标记后,主PE路由器16A的路由引擎从转发平面中请求路线-ACK,仅仅用于在BGP标记之前从多宿主CE路由器14A中接收的地址族的最后路线(108)。
根据本公开的技术,通过使用路线改变机构,主PE路由器16A的路由引擎引发路线-ACK,仅仅用于地址族的最后路线。比如,主PE路由器16A的路由引擎从多宿主CE路由器14A中接收BGP标记时,主PE路由器16A的路由引擎定位安装在RIB内的最后路线,并且通过路线-ACK比特组,发布路线改变。这样,可将路线-ACK标志设置在RIB内的最后路线上,其表示在重新通告该路线之前,PFE将该路线的路线-ACK发送给控制单元。然后,将该路线变化请求发送给主PE路由器16A的内核,并且该内核为转发平面内的所有PFE生成最后路线的路线-ACK的请求。
然后,一旦已经将该地址族的最后路线安装在转发平面内,主PE路由器16A的路由引擎就从转发平面中接收路线-ACK(110)。比如,内核加强转发平面内所有PFE的响应,并且提供一个加强的路线-ACK,其表示最后的路线已经安装在转发平面的所有PFE内。内核请求路线-ACK时,该内核也生成用于路由引擎的路线-ACK网络跟踪器。该路由引擎在路线和路线-ACK网络跟踪器之间保持映射,直到从内核中接收加强的路线-ACK。路由引擎从内核中接收路线-ACK时,最后的路线需要更新的路线变化。路由引擎使用路线-ACK网络跟踪器确定最后路线、定位RIB内的最后路线、以及清除与RIB内最后的路线相关的路线-ACK标志。
一旦已经将最后的路线安装在转发平面内,主PE路由器16A的控制单元可假设,也已经将地址族所有的先前路线安装在转发平面内。接收最后路线的路线-ACK后,主PE路由器16A将路线重新通告给同位体PE路由器18,以便重新建立通过网络10的主转发路径(112)。在某些情况下,作为备用措施,在合理的持续时间之后,路由引擎从转发平面中接收路线-ACK的等待时间可暂停,并且这种暂停可触发重新通告路线。
根据这些技术,仅仅在已经将所接收的路线安装在主PE路由器16A的转发平面内之后,主PE路由器16A接收用于用户站点12A的多宿主CE路由器14A的数据流量。多宿主CE路由器14A然后通过主PE路由器16A经由主转发路径接收流量(114)。这样,这些路由器重新通告从最近重新建立的BGP同位体(比如,CE路由器14A)中接收的路线时,这些技术减少或消除在主PE路由器16A的流量损失。
已经描述了各种实施例。这些和其他实施例在权利要求书的范围内。
Claims (10)
1.一种减少边界网关协议会话中的流量损失的方法,所述方法包括:
用主路由器经由边界网关协议会话接收通过多宿主路由器通告的一组路线中所包括的一个或多个路线,其中,所述多宿主路由器与所述主路由器和备用路由器连接;
在所述主路由器的控制平面中基于所接收的路线来更新路由表中的路由信息;
启动基于所述路由信息,在所述主路由器的转发平面中,在转发表中的所接收的路线的转发数据结构的安装;
用所述主路由器从所述多宿主路由器接收边界网关协议标记,所述边界网关协议标记识别所述路线中的正好在所述边界网关协议标记之前接收的一个路线作为所述一组路线中的最后路线;
响应于接收到所述边界网关协议标记,用所述主路由器的所述控制平面从所述主路由器的所述转发平面请求表示在所述主路由器的所述转发平面的所述转发表中安装了所述路线中的被识别为所述一组路线中的最后路线的所述一个路线的确认;以及
在所述转发数据结构的安装期间,在所述主路由器的所述控制平面中推迟将所述一组路线中的所有路线重新通告给边界网关协议同位体路由器,直到所述主路由器的所述控制平面从所述主路由器的所述转发平面接收到所述确认。
2.根据权利要求1所述的方法,还包括一旦用所述控制平面从所述转发平面中接收到表示所述一组路线中的最后路线被安装在所述转发平面的所述转发表中的确认,就将所述一组路线中的所有路线重新通告给所述边界网关协议同位体路由器。
3.根据权利要求1所述的方法,还包括:
响应于接收到所述边界网关协议标记,为所述一组路线中的最后路线,用所述控制平面向所述转发平面发布路线改变请求。
4.根据权利要求3所述的方法,其中,为所述一组路线中的最后路线发布所述路线改变请求包括:
在所述控制平面中定位在所述路由表中的所述一组路线中的最后路线;
在所述路由表中设置与所述一组路线中的最后路线相关联的确认标志;
将所述最后路线的所述路线改变请求发送给所述主路由器的内核;
用所述内核从所述转发平面请求表示所述一组路线中的最后路线被安装在所述转发平面的所述转发表中的确认;
当所述最后路线已经安装在所述转发平面的所述转发表内时,用所述内核从所述转发平面接收所述确认;以及
一旦接收到所述确认,就从所述控制平面中的所述路由表清除所述确认标志,其中,清除所述确认标志触发将所述一组路线中的所有路线重新通告给所述边界网关协议同位体路由器。
5.根据权利要求1至4中任一项所述的方法,还包括:
响应于接收到所述边界网关协议标记,用所述主路由器的内核,生成来自所述转发平面的表示所述一组路线中的最后路线被安装在所述转发平面的所述转发表中的所述确认的确认请求以及与所述确认请求相关联的确认网络跟踪器;
在控制平面中将所述确认网络跟踪器映射到所述最后路线;
一旦响应于所述确认请求从所述转发平面接收到所述确认,基于与所述确认请求相关联的确认网络跟踪器,识别所述一组路线中的最后路线。
6.根据权利要求1至4中任一项所述的方法,其中,通过多宿主路由器通告的所述一组路线包括协商用于所述边界网关协议会话的地址族,所述方法还包括用所述主路由器接收协商用于所述边界网关协议会话的一个或多个其它地址族的一个或多个其它组的路线中所包括的路线,并且,对于所述其它地址族中的每个地址族,接收识别所述路线中的正好在另一边界网关协议标记之前接收的一个路线作为相应的地址族的相应组的路线中的最后路线的所述另一边界网关协议标记。
7.根据权利要求1至4中任一项所述的方法,其中,推迟将所述一组路线中的所有路线重新通告给边界网关协议同位体路由器包括用推迟的通告延伸在所述主路由器的所述控制平面中执行边界网关协议协议。
8.根据权利要求1至4中任一项所述的方法,其中,在所述主路由器推迟重新通告所述一组路线中的所有路线期间,流量经由所述备用路由器发送给所述多宿主路由器。
9.一种多宿主网络连接中的主路由器,所述主路由器包括:
一个或多个接口,被配置成经由边界网关协议会话接收通过多宿主路由器通告的一组路线中包括的一个或多个路线,其中,所述多宿主路由器与所述主路由器和备用路由器连接,并且接收边界网关协议标记,所述边界网关协议标记识别所述路线中的正好在所述边界网关协议标记之前接收的一个路线作为所述一组路线中的最后路线;以及
控制单元,被配置成在所述主路由器的控制平面中基于所接收的路线更新路由表中的路由信息;启动基于所述路由信息,在所述主路由器的转发平面中,在转发表中的所接收的路线的转发数据结构的安装;响应于接收到所述边界网关协议标记,从所述主路由器的所述转发平面请求表示在所述主路由器的所述转发平面的所述转发表中安装了所述路线中的被识别为所述一组路线中的最后路线的所述一个路线的确认;以及在所述转发数据结构的安装期间,推迟将所述一组路线中的所有路线重新通告给边界网关协议同位体路由器,直到所述主路由器的所述控制平面从所述主路由器的所述转发平面接收到所述确认。
10.根据权利要求9所述的主路由器,包括执行根据权利要求1至8中任一项所述的方法的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/436,896 | 2012-03-31 | ||
US13/436,896 US9137142B2 (en) | 2012-03-31 | 2012-03-31 | Reduced traffic loss for border gateway protocol sessions in multi-homed network connections |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103368840A CN103368840A (zh) | 2013-10-23 |
CN103368840B true CN103368840B (zh) | 2016-06-08 |
Family
ID=47632736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210564734.3A Active CN103368840B (zh) | 2012-03-31 | 2012-12-21 | 减少多宿主网络连接内的边界网关协议会话的流量损失 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9137142B2 (zh) |
EP (1) | EP2645646B1 (zh) |
CN (1) | CN103368840B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9270581B2 (en) * | 2012-08-24 | 2016-02-23 | Centurylink Intellectual Property Llc | Stability site for VPLS multi-homing |
US9461729B2 (en) * | 2013-12-13 | 2016-10-04 | Huawei Technologies Co., Ltd. | Software-defined network infrastructure having virtual range extenders |
US9992039B2 (en) * | 2014-05-07 | 2018-06-05 | Cisco Technology, Inc. | Activating mobile backup link based on wired customer edge-provider edge (CE-PE) link status |
WO2016033785A1 (zh) * | 2014-09-04 | 2016-03-10 | 华为技术有限公司 | 转发表同步的方法、网络设备和系统 |
US9954770B2 (en) | 2014-10-07 | 2018-04-24 | At&T Intellectual Property I, L.P. | Rerouting tunnel traffic in communication networks |
US9948472B2 (en) * | 2014-10-22 | 2018-04-17 | Juniper Networks, Inc. | Protocol independent multicast sparse mode (PIM-SM) support for data center interconnect |
US9973903B2 (en) * | 2015-05-28 | 2018-05-15 | Qualcomm Incorporated | Traffic advertisement in a network |
CN107404439B (zh) * | 2016-05-18 | 2020-02-21 | 华为技术有限公司 | 用于重定向数据流的方法和系统、网络设备和控制设备 |
US10659352B2 (en) | 2017-05-31 | 2020-05-19 | Juniper Networks, Inc. | Signaling private context forwarding tables for a private forwarding layer |
US10382333B2 (en) * | 2017-05-31 | 2019-08-13 | Juniper Networks, Inc. | Fabric path context-based forwarding for virtual nodes |
US10476817B2 (en) | 2017-05-31 | 2019-11-12 | Juniper Networks, Inc. | Transport LSP setup using selected fabric path between virtual nodes |
US10432523B2 (en) | 2017-05-31 | 2019-10-01 | Juniper Networks, Inc. | Routing protocol signaling of multiple next hops and their relationship |
US10389635B2 (en) | 2017-05-31 | 2019-08-20 | Juniper Networks, Inc. | Advertising selected fabric paths for service routes in virtual nodes |
US10511546B2 (en) | 2017-09-29 | 2019-12-17 | Juniper Networks, Inc. | Connecting virtual nodes in a network device using abstract fabric interfaces |
US10715415B2 (en) | 2017-11-28 | 2020-07-14 | T-Mobile Usa, Inc. | Remotely and dynamically injecting routes into an IP network |
CN113950811B (zh) | 2019-06-05 | 2022-08-09 | 华为技术有限公司 | 扩展bgp保护以用于sr路径入口保护 |
CN110768903A (zh) * | 2019-10-28 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 优化网络连接的方法、装置、终端及存储介质 |
CN113132220B (zh) * | 2019-12-31 | 2022-12-06 | 华为技术有限公司 | 一种路由信息的处理方法及装置 |
US20230016602A1 (en) * | 2021-07-13 | 2023-01-19 | Hewlett Packard Enterprise Development Lp | Updating cluster data at network devices of a cluster |
US20230412485A1 (en) * | 2022-06-15 | 2023-12-21 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for processing control plane messages for emulated data center switching fabric |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704795B1 (en) * | 1999-10-12 | 2004-03-09 | Cisco Technology, Inc. | Technique for reducing consumption of router resources after BGP restart |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7349994B2 (en) * | 2000-10-17 | 2008-03-25 | Avaya Technology Corp. | Method and apparatus for coordinating routing parameters via a back-channel communication medium |
US7197040B2 (en) * | 2002-07-01 | 2007-03-27 | Lucent Technologies Inc. | System and method for optimally configuring border gateway selection for transit traffic flows in a computer network |
US7616638B2 (en) * | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US7406030B1 (en) * | 2003-08-25 | 2008-07-29 | Juniper Networks, Inc. | Dynamic renegotiation of graceful restart time to avoid double-failure traffic loss |
US8265058B2 (en) * | 2004-02-05 | 2012-09-11 | Ericsson Ab | Method and an apparatus for route selection in routing protocols |
US20050286412A1 (en) * | 2004-06-23 | 2005-12-29 | Lucent Technologies Inc. | Transient notification system |
GB0416272D0 (en) * | 2004-07-20 | 2004-08-25 | British Telecomm | Method of operating a network |
US8068408B2 (en) * | 2004-11-01 | 2011-11-29 | Alcatel Lucent | Softrouter protocol disaggregation |
US7548562B2 (en) * | 2004-12-14 | 2009-06-16 | Agilent Technologies, Inc. | High speed acquisition system that allows capture from a packet network and streams the data to a storage medium |
US7417947B1 (en) * | 2005-01-05 | 2008-08-26 | Juniper Networks, Inc. | Routing protocol failover between control units within a network router |
US7710865B2 (en) * | 2005-02-25 | 2010-05-04 | Cisco Technology, Inc. | Disaster recovery for active-standby data center using route health and BGP |
US8085755B2 (en) * | 2005-04-01 | 2011-12-27 | Cisco Technology, Inc. | Data driven route advertisement |
US7532631B2 (en) * | 2005-04-13 | 2009-05-12 | Cisco Technology, Inc. | Method and apparatus for accelerating border gateway protocol convergence |
US7609617B2 (en) * | 2005-04-14 | 2009-10-27 | Cisco Technology, Inc. | BGP hitless upgrade approaches |
US7630392B2 (en) | 2005-05-31 | 2009-12-08 | Cisco Technology, Inc. | Multi-homing using controlled route leakage at a backup service provider |
US20070064690A1 (en) * | 2005-09-22 | 2007-03-22 | Nortel Networks Limited | Method and system for routing protocol outbound route control |
US8542612B1 (en) * | 2005-12-28 | 2013-09-24 | At&T Intellectual Property Ii, L.P. | Method and apparatus for providing a wide area network infrastructure |
US7986695B1 (en) * | 2006-01-10 | 2011-07-26 | Juniper Networks, Inc. | Automatic selection of site-IDs for virtual private networks |
US7647426B2 (en) * | 2006-01-12 | 2010-01-12 | Cisco Technology, Inc. | Method and apparatus for achieving Border Gateway Protocol convergence using alternate route information |
US8160056B2 (en) * | 2006-09-08 | 2012-04-17 | At&T Intellectual Property Ii, Lp | Systems, devices, and methods for network routing |
US8284943B2 (en) * | 2006-09-27 | 2012-10-09 | Certes Networks, Inc. | IP encryption over resilient BGP/MPLS IP VPN |
US8098663B2 (en) * | 2008-07-08 | 2012-01-17 | Cisco Technology, Inc. | Carrier's carrier without customer-edge-to-customer-edge border gateway protocol |
US8451750B2 (en) | 2008-10-01 | 2013-05-28 | Cisco Technology, Inc. | Validation of routes advertised by border gateway protocol |
US8503329B2 (en) | 2009-08-05 | 2013-08-06 | Cisco Technology, Inc. | Signaling of attachment circuit status and automatic discovery of inter-chassis communication peers |
US8675543B2 (en) * | 2011-02-24 | 2014-03-18 | Verizon Patent And Licensing Inc. | Route limiting in border gateway protocol over satellite networks |
US8780692B2 (en) * | 2011-04-25 | 2014-07-15 | Cisco Technology, Inc. | Accelerated routing convergence |
US8750166B2 (en) * | 2011-09-23 | 2014-06-10 | Netsocket, Inc. | Route topology discovery in data networks |
BR112014015022B1 (pt) * | 2011-12-23 | 2021-12-21 | Mastercard International Incorporated | Sistemas e métodos para uma interface de rede a rede |
-
2012
- 2012-03-31 US US13/436,896 patent/US9137142B2/en active Active
- 2012-12-21 CN CN201210564734.3A patent/CN103368840B/zh active Active
- 2012-12-21 EP EP12198860.4A patent/EP2645646B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704795B1 (en) * | 1999-10-12 | 2004-03-09 | Cisco Technology, Inc. | Technique for reducing consumption of router resources after BGP restart |
Also Published As
Publication number | Publication date |
---|---|
EP2645646A1 (en) | 2013-10-02 |
EP2645646B1 (en) | 2015-08-19 |
CN103368840A (zh) | 2013-10-23 |
US20130259058A1 (en) | 2013-10-03 |
US9137142B2 (en) | 2015-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103368840B (zh) | 减少多宿主网络连接内的边界网关协议会话的流量损失 | |
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
US11614972B2 (en) | Distributed processing of network device tasks | |
CN112910750B (zh) | 使用逻辑路由器进行地址解析的方法、设备、系统及介质 | |
US10038629B2 (en) | Virtual machine migration using label based underlay network forwarding | |
US9025468B1 (en) | Custom routing decisions | |
CN106134137B (zh) | 受管理网关的路由通告 | |
US20150355934A1 (en) | Method for generating configuration information, and network control unit | |
US20200236047A1 (en) | Service insertion in public cloud environments | |
EP2991288B1 (en) | Method and device for determining next hop and distributing routing information | |
US20220094572A1 (en) | Gateway selection method, device, and system | |
US11296907B2 (en) | Systems and methods for transitioning of virtualized transport networks | |
US20230370368A1 (en) | Delaying resource reservation protocol label-switched path signaling through a restarting network device | |
US10965589B2 (en) | Fast receive re-convergence of multi-pod multi-destination traffic in response to local disruptions | |
JP2023542219A (ja) | パケット伝送方法および装置 | |
CN116319981A (zh) | 网络设备和操作网络设备的方法 | |
Lau | Extensions to active mobile IP and designs of multi-protocol label switching (MPLS) on active networks |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: California, USA Patentee after: Juniper Networks, Inc. Address before: California, USA Patentee before: Jungle network |
|
CP01 | Change in the name or title of a patent holder |