CN111756631A - 利用集中式控制器以用于自治系统间的业务工程分段路由 - Google Patents

利用集中式控制器以用于自治系统间的业务工程分段路由 Download PDF

Info

Publication number
CN111756631A
CN111756631A CN201911395354.XA CN201911395354A CN111756631A CN 111756631 A CN111756631 A CN 111756631A CN 201911395354 A CN201911395354 A CN 201911395354A CN 111756631 A CN111756631 A CN 111756631A
Authority
CN
China
Prior art keywords
inter
autonomous system
system link
link
network devices
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
Application number
CN201911395354.XA
Other languages
English (en)
Other versions
CN111756631B (zh
Inventor
R·B·M·扎基
R·M·陈
P·吉科
陆卫国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN111756631A publication Critical patent/CN111756631A/zh
Application granted granted Critical
Publication of CN111756631B publication Critical patent/CN111756631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

设备接收与在分段路由网络中被提供的链路相关联的边界网关协议(BGP)数据。分段路由网络包括具有通过链路的第一部分互连的第一网络设备的第一自治系统(AS)、具有由链路的第二部分互连的第二网络设备的第二AS、以及在第一网络设备的一个网络设备与第二网络设备的一个网络设备之间被提供的AS间链路。设备过滤BGP数据的前缀以标识与AS间链路相关联的BGP数据,其中与AS间链路相关联的BGP数据包括标识与AS间链路相关联的状态信息的数据。设备基于与AS间链路相关联的BGP数据,确定AS间链路的可操作的状态,并且基于AS间链路的可操作的状态来执行一个或多个动作。

Description

利用集中式控制器以用于自治系统间的业务工程分段路由
背景技术
各种各样的用户设备(例如,智能手机、平板电脑等)连接到服务提供方网络以访问由基于分组的数据网络(诸如互联网、企业内部网、内容提供方、虚拟专用网络(VPN)等)所提供的资源和服务。每个服务提供方网络通常提供广泛的网络基础设施以向用户设备提供基于分组的数据服务。每个服务提供方网络可以包括广域网(WAN),诸如包括在多个自治系统的WAN内的单个自治系统(AS)、在WAN内的两个或更多个自治系统等。
发明内容
根据一些实现,一种方法可以包括:接收边界网关协议(BGP)数据,该BGP数据与在分段路由网络中提供的多个链路相关联,其中分段路由网络可以包括具有:由多个链路的第一部分互连的第一多个网络设备的第一自治系统、具有由多个链路的第二部分互连的第二多个网络设备的第二自治系统、以及在第一多个网络设备的一个网络设备与第二多个网络设备中的一个网络设备之间被提供的多个链路中的至少一个自治系统间链路。该方法可以包括过滤BGP数据的前缀以标识与至少一个自治系统间链路相关联的BGP数据,其中与至少一个自治系统间链路相关联的BGP数据可以包括标识与至少一个自治系统间链路相关联的状态信息的数据。该方法可以包括:基于与至少一个自治系统间链路相关联的BGP数据,确定至少一个自治系统间链路的可操作的状态;以及基于至少一个自治系统间链路的可操作的状态来执行一个或多个动作。
根据一些实现,一种设备可以包括一个或多个存储器和一个或多个处理器,该一个或多个处理器通信地被耦合到一个或多个存储器,一个或多个处理器用以:接收与在分段路由网络中被提供的多个链路相关联的链路数据,其中分段路由网络可以包括:具有由多个链路的第一部分互连的第一多个网络设备的第一自治系统、具有由多个链路的第二部分互连的第二多个网络设备的第二自治系统、以及在第一多个网络设备中的一个网络设备与第二多个网络设备中的一个网络设备之间被提供的多个链路的至少一个自治系统间链路。一个或多个处理器可以基于链路数据来确定与至少一个自治系统间链路相关联的数据,其中与至少一个自治系统间链路相关联的数据可以包括标识与至少一个自治系统间链路相关联的状态信息的数据。一个或多个处理器可以基于与至少一个自治系统间链路相关联的数据,确定至少一个自治系统间链路的可操作的状态,并且可以基于至少一个自治系统间链路的可操作的状态来执行一个或多个动作。
根据一些实现,一种非瞬态计算机可读介质,该非瞬态计算机可读介质可以存储指令,该指令包括一个或多个指令,该一个或多个指令当由一个或多个处理器执行时,使一个或多个处理器:使双向转发检测(BFD)会话针对在分段路由网络中被提供的多个链路而被建立,其中分段路由网络可以包括:具有由多个链路的第一部分互连的第一多个网络设备的第一自治系统、具有由多个链路的第二部分互连的第二多个网络设备的第二自治系统、在第一多个网络设备的一个网络设备与第二多个网络设备中的一个网络设备之间被提供的多个链路的至少一个自治系统间链路。一个或多个指令可以使一个或多个处理器接收与至少一个自治系统间链路相关联的BFD会话数据,其中与至少一个自治系统间链路相关联的BFD会话数据可以包括标识与至少一个自治系统间链路相关联的状态信息的数据。一个或多个指令可以使一个或多个处理器基于与至少一个自治系统间链路相关联的BFD会话数据,确定至少一个自治系统间链路的可操作的状态,并且基于至少一个自治系统间链路的可操作的状态来执行一个或多个动作。
附图说明
图1A-1I是本文中描述的一个或多个示例实现的图示;
图2是可以实现本文中描述的系统和/或方法的示例环境的图示;
图3是图2的一个或多个设备的示例组件的图示;以及
图4-6是用于利用集中式控制器进行自治系统间业务工程分段路由的示例过程的流程图。
具体实施方式
以下对示例实现的详细描述参考附图。不同附图中的相同的附图标记可以标识相同或相似的元素。
业务工程是一种通过动态地分析、预测和调节通过网络传输的数据的行为来优化网络性能的方法。业务工程技术可以被应用于不同类型的网络,诸如分组光网络、公共交换电话网络(PSTN)、局域网(LAN)、具有自治系统的WAN、蜂窝电话网络、互联网等。
在一些环境中,两个服务提供方网络(例如,两个自治系统)可以通过自治系统间(AS间)链路互连。AS间链路可以经由分段路由由两个或更多个网络设备连接。分段路由(是一种计算机网络的形式)是源路由的一种变体。在分段路由网络中,入口网络设备可以将报头追加至包含分段列表的分组(例如,业务),这些分段是在网络中的后续网络设备上执行的指令。这些指令可以包括转发指令,诸如用于将分组转发到特定目的地或接口的指令。
然而,在分段路由中,当在网络设备之间创建AS间链路时,不保持任何状态或会话信息。在没有状态或会话信息的情况下,网络设备不知道AS间链路的可操作的状态,并且可能会不成功地尝试在非可操作的AS间链路上转发业务。这导致业务丢失并且导致计算资源(例如,处理资源、存储器资源等)、网络资源等被浪费用来标识丢失的业务,校正不可操作的AS间链路,重新路由丢失的业务,等等。
本文中所描述的一些实现提供了一种利用集中式控制器来进行自治系统间业务工程分段路由的控制器平台。例如,控制器平台可以接收与在分段路由网络中提供的链路相关联的边界网关协议(BGP)数据。分段路由网络可以包括:具有由链路的第一部分互连的第一网络设备的第一自治系统(AS)、具有由链路的第二部分互连的第二网络设备的第二AS、以及在第一网络设备中的一个网络设备与第二网络设备中的一个网络设备之间被提供的链路中的至少一个AS间链路。控制器平台可以过滤BGP数据的前缀以标识与至少一个AS间链路相关联的BGP数据,其中与至少一个AS间链路相关联的BGP数据可以包括标识与至少一个AS间链路相关联的状态信息的数据。控制器平台可以基于与至少一个AS间链路相关联的BGP数据,确定至少一个AS间链路的可操作的状态,并且可以基于至少一个AS间链路的可操作的状态来执行一个或多个动作。
以这种方式,控制器平台可以进行AS间链路的业务工程分段路由。进而,这节省了计算资源(例如,处理资源、存储器资源等)、网络资源等,这些资源否则会被浪费用来标识非可操作的AS间链路上丢失的业务,校正非可操作的AS间链路,重新路由丢失的业务,等等。
图1A-1I是本文中描述的一个或多个示例实现100的图。如图1A所示,网络可以与控制器平台相关联。在一些实现中,网络可以包括具有多个网络设备以及设置在多个网络设备之间的多个链路的分组光网络。例如,如图1A所示,网络可以包括:第一自治系统网络(例如,自治系统1),其包括例如通过链路互连的两个网络设备(例如,网络设备1和网络设备2);以及第二自治系统网络(例如,自治系统2),其包括例如通过链路互连的两个网络设备(例如,网络设备3和网络设备4)。在一些实现中,网络设备中的每个网路设备可以包括提供方边缘(PE)网络设备、自治系统边界路由器(ASBR)、对等ASBR等。
如图1A进一步所示,四个网络设备可以经由利用分段路由的AS间链路互连(例如,以提供第一自治系统与第二自治系统之间的连接)。例如,第一网络设备可以经由第一AS间链路(L1)与第三网络设备互连,并且第二网络设备可以经由第二AS间链路(L2)与第四网络设备互连。在图1A所示的示例中,由于第二AS间链路的过载、第二AS间链路的损坏等,第二AS间链路(L2)可能是非可操作的。
如图1A和通过附图标记105进一步所示,控制器平台可以接收与网络中的所有链路相关联的边界网关协议(BGP)数据。BGP是一种被设计为在自治系统(AS)之间交换路由和可达性信息的标准化的外部网络设备协议。协议被分类为路径矢量协议,并且基于路径、网络策略、规则集合等来做出路由决策。在一些实现中,BGP数据可以包括标识以下各项的数据:链路的类型、由链路使用的协议、链路所连接到的网络设备、与网络设备相关联的端口、与链路相关联的状态(例如,可操作的状态、非可操作的状态、空闲状态、连接状态、活动状态等)、保持链路上连接的保活keepalive消息的结果等。
控制器平台可以周期性地接收来自网络的BGP数据(例如,以秒、分钟、小时、天等的特定的时间间隔),可以连续地接收来自网络的BGP数据,等等。例如,控制器平台可以向网络设备提供针对BGP数据的请求,并且网络设备可以基于请求向控制器平台提供BGP数据。
尽管图1A示出了特定数目的自治系统、网络设备、链路等,但是在一些实现中,网络可以包括与图1A所示的相比更多的自治系统、网络设备、链路等。例如,网络可以包括生成数千、数百万、数十亿等数据点的数百、数千等网络设备和/或链路。以这种方式,控制器平台可以在特定的时间段内(例如,当确定业务规划时)处理成数千、数百万、数十亿等数据点,并且因此可以提供“大数据”能力。
如图1B和通过附图标记110所示,控制器平台可以过滤BGP数据的前缀以标识与AS间链路相关联的BGP数据。在一些实现中,BGP数据可以包括标识与BGP数据相关联的链路的前缀。BGP前缀可以被称为路由通告(例如,其包括特定的链路),并且可以标识通过网络的分组的路径。在一些实现中,控制器平台可以访问信息,该信息标识与AS间链路相关联的前缀,并且可以利用该信息将与AS间链路相关联的BGP数据与BGP数据分离。一旦与AS间链路相关联的BGP数据与其余BGP数据分离,控制器平台就可以将与AS间链路相关联的BGP数据存储在与控制器平台相关联的数据结构(例如,数据库、表、列表等)中。如下所述,控制器平台还可以处理与AS间链路相关联的BGP数据。以这种方式,控制器平台可以节省资源(例如,处理资源、存储器资源等),这些资源否则会被浪费用来处理和/或存储所有BGP数据。
如图1C和通过附图标记115所示,控制器平台可以基于与AS间链路相关联的BGP数据,确定AS间链路的可操作的状态。在一些实现中,控制器平台可以基于标识与AS间链路相关联的状态(例如,可操作的状态、非可操作的状态、空闲状态、连接状态、活动状态等)的BGP数据、保持AS间链路上的连接的保活消息的结果等,确定AS间链路的可操作的状态。例如,控制器平台可以基于与AS间链路相关联的BGP数据,确定第一AS间链路(L1)(例如,如图1A所示)是可操作的,并且可以基于与AS间链路相关联的BGP数据,确定第二AS间链路(L2)(例如,如图1A所示)是非可操作的。
如图1D和附图标记120所示,控制器平台可以基于AS间链路的可操作的状态来执行一个或多个动作。在一些实现中,一个或多个动作可以包括控制器平台使与非可操作的AS间链路相关联的网络设备不利用非可操作的AS间链路。例如,如图1D所示,由于第二AS间链路是非可操作的,因此控制器平台可以使第二网络设备和第四网络设备不利用第二AS间链路(L2)。在一些实现中,控制器平台可以向第二网络设备和第四网络设备提供不利用第二AS间链路的指令,并且第二网络设备和第四网络设备可以基于这些指令而不利用第二AS间链路。
在一些实现中,一个或多个动作可以包括控制器平台使与非可操作的AS间链路相关联的网络设备重新路由来自非可操作的AS间链路的业务(例如,向另一可操作的链路和/或AS间链路)。例如,如图1D所示,控制器平台可以使第二网络设备和第四网络设备将业务从第二AS间链路(L2)重新路由至一个或多个可操作的链路和/或AS间链路。在一些实现中,控制器平台可以向第二网络设备和第四网络设备提供重新路由来自第二AS间链路的业务的指令,并且第二网络设备和第四网络设备可以根据这些指令重新路由来自第二AS间链路的业务。
在一些实现中,一个或多个动作可以包括控制器平台提供(例如,向客户端设备)指示AS间链路的可操作的状态的信息。例如,控制器平台可以向客户端设备提供包括AS间链路的可操作的状态的用户界面。客户端设备可以接收用户界面,并且可以提供用户界面以显示给客户端设备的用户,如下面结合图1I所述。
在一些实现中,一个或多个动作可以包括控制器平台使机器人被派遣修复非可操作的AS间链路。例如,控制器平台可以向机器人提供修复非可操作的AS间链路的指令,并且机器人可以基于这些指令来修复非可操作的AS间链路。以这种方式,控制器平台可以节省计算资源(例如,处理资源、存储器资源等)、网络资源等,这些计算资源否则会被浪费用来标识非可操作的AS间链路上丢失的业务,重新路由丢失的业务,等等。
在一些实现中,控制器平台可以在执行一个或多个动作之后接收与链路相关联的附加的BGP数据,并且可以过滤附加的BGP数据的前缀以标识与AS间链路相关联的附加的BGP数据。控制器平台可以基于与AS间链路相关联的附加的BGP数据,确定特定AS间链路是可操作的,并且可以基于该特定AS间链路可操作来使与该特定AS间链路相关联的网络设备利用该特定的AS间链路。
在一些实现中,控制器平台可以基于与AS间链路相关联的BGP数据并且基于与AS间链路相关联的双向转发检测(BFD)会话数据,确定AS间链路的可操作的状态,如下面结合图1E-1G所述。
如图1E和通过附图标记125所示,控制器平台可以使BFD会话针对在网络中被提供的AS间链路而被建立。例如,控制器平台可以使BFD会话针对第一AS间链路(L1)和第二AS间链路(L2)而被建立。BFD是一种用于检测通过链路连接的两个网络设备之间的故障的网络协议。甚至在不支持故障检测的物理介质(诸如以太网、虚拟电路、隧道、标签交换路径等)上,BFD也可以提供低开销的故障检测。控制器平台可以利用BFD通过第一AS间链路在第一网络设备与第三网络设备之间建立第一会话,通过第二AS间链路在第二网络设备与第四网络设备之间建立第二会话,等等。在一些实现中,如果两个网络设备之间存在多于一个链路,则可以建立多个BFD会话来监测每个链路。BFD会话可以通过三次握手来被建立,可以通过三次握手来被终止,可以需要认证,等等。
如图1F和通过附图标记130所示,控制器平台可以接收与AS间链路相关联的BFD会话数据。在一些实现中,与AS间链路相关联的BFD会话数据可以包括标识以下各项的数据:AS间链路的类型、由AS间链路使用的协议、AS间链路所连接到的网络设备、与网络设备相关联的端口、与AS间链路相关联的状态(例如,可操作的状态、非可操作的状态、空闲状态、连接状态、活动状态等)等。控制器平台可以将与AS间链路相关联的BFD数据存储在与控制器平台相关联的数据结构(例如,数据库、表、列表等)中。
控制器平台可以周期性地接收与AS间链路相关联的BFD数据(例如,以秒、分钟、小时、天等的特定时间间隔),可以连续地接收与AS间链路相关联的BFD数据,等等。例如,控制器平台可以向网络设备提供针对与AS间链路相关联的BFD数据的请求,并且网络设备可以基于请求向控制器平台提供与AS间链路相关联的BFD数据。
如图1G和通过附图标记135所示,控制器平台可以基于与AS间链路相关联的BFD数据,确定AS间链路的可操作的状态。在一些实现中,控制器平台可以基于标识与AS间链路相关联的状态(例如,可操作的状态、非可操作的状态、空闲状态、连接状态、活动状态等)的BGP数据等,确定AS间链路的可操作的状态。例如,控制器平台可以基于与AS间链路相关联的BFD数据,确定第一AS间链路(L1)(例如,如图1F所示)是可操作的,并且可以基于与AS间链路相关联的BFD数据,确定第二AS间链路(L2)(例如,如图1F所示)是非可操作的。
如图1H和通过附图标记140所示,控制器平台可以基于AS间链路的可操作的状态来执行一个或多个动作。在一些实现中,一个或多个动作可以包括控制器平台使与非可操作的AS间链路相关联的网络设备不利用非可操作的AS间链路。例如,如图1H所示,由于第二AS间链路是非可操作的,因此控制器平台可以使第二网络设备和第四网络设备不利用第二AS间链路(L2)。在一些实现中,控制器平台可以向第二网络设备和第四网络设备提供不利用第二AS间链路的指令,并且第二网络设备和第四网络设备可以基于这些指令而不利用第二AS间链路。
在一些实现中,一个或多个动作可以包括控制器平台使与非可操作的AS间链路相关联的网络设备重新路由来自非可操作的AS间链路的业务(例如,向另一可操作的链路和/或AS间链路)。例如,如图1H所示,控制器平台可以使第二网络设备和第四网络设备重新路由来自第二AS间链路(L2)向一个或多个可操作的链路和/或AS间链路的业务。在一些实现中,控制器平台可以向第二网络设备和第四网络设备提供从第二AS间链路重新路由业务的指令,并且第二网络设备和第四网络设备可以根据这些指令从第二AS间链路重新路由业务。
在一些实现中,一个或多个动作可以包括控制器平台提供(例如,向客户端设备)指示AS间链路的可操作的状态的信息。例如,控制器平台可以向客户端设备提供包括AS间链路的可操作的状态的用户界面。客户端设备可以接收用户界面,并且可以提供用户界面以显示给客户端设备的用户,如下面结合图1I所述。
在一些实现中,一个或多个动作可以包括控制器平台使机器人被派遣修复非可操作的AS间链路。例如,控制器平台可以向机器人提供修复非可操作的AS间链路的指令,并且机器人可以基于这些指令来修复非可操作的AS间链路。以这种方式,控制器平台可以节省计算资源(例如,处理资源、存储器资源等)、网络资源等,这些计算资源否则会被浪费用来标识非可操作的AS间链路上丢失的业务、重新路由丢失的业务,等等。
在一些实现中,控制器平台可以在执行一个或多个动作之后接收与特定的AS间链路相关联的附加的BFD数据,并且可以基于附加的BFD数据,确定该特定的AS间链路是可操作的。控制器平台可以基于特定AS间链路是可操作的而使与特定AS间链路相关联的两个网络设备利用特定的AS间链路。
如图1I和通过附图标记150所示,控制器平台可以向客户端设备提供指示AS间链路的可操作的状态的信息。在一些实现中,控制器平台可以生成包括指示AS间链路的可操作的状态的信息的用户界面,并且可以将用户界面提供给客户端设备。客户端设备可以接收用户界面,并且可以向客户端设备的用户显示用户界面。例如,如图1I所示,用户界面可以包括指示以下各项的信息:第一AS间链路(例如,AS间链路1)是可操作的,第二AS间链路(例如,AS间链路2)是非可操作的或“停止运行的”,第三AS间链路(例如,AS间链路3)是可操作的,第四AS间链路(例如,AS间链路4)是可操作的,等等。
在一些实现中,当执行以上结合图1D和1H描述的一个或多个动作时,控制器平台可以向与非可操作的AS间链路相关联的两个网络设备提供指令这两个网络设备停止使用非可操作的AS间链路并且重新路由来自非可操作的AS间链路的业务的信息。
在一些实现中,当执行以上结合图1D和1H描述的一个或多个动作时,当第一AS间链路是非可操作的时,控制器平台可以标识在两个网络设备之间被提供的第二AS间链路是可操作的。控制器平台可以使两个网络设备之一重新路由来自第一AS间链路向第二AS间链路的业务。在一些实现中,控制器平台可以基于偏好、随机选择技术、循环技术等来标识第二AS间链路。
在一些实现中,当标识第二AS间链路时,控制器平台可以基于参数的第一集合来确定通过第一自治系统的第二AS间链路的第一部分,可以基于参数的第二集合来确定在第一自治系统与第二自治系统之间的第二AS间链路的第二部分,并且可以基于参数的第三集合来确定通过第二自治系统的第二AS间链路的第三部分。
在一些实现中,当标识第二AS间链路时,控制器平台可以基于第一偏好从多个传出路由中选择用于第一自治系统的优选的传出路由,其中优选的传出路由可以从第一自治系统被提供给第二自治系统。控制器平台可以基于第二偏好从多个传入路由中选择用于第一自治系统的优选的传入路由,其中优选的传入路由可以从第二自治系统被提供给第一自治系统。控制器平台可以基于优选的传出路由和优选的传入路由来标识第二AS间链路。
在一些实现中,由于网络中的分段路由,可以不向经由AS间链路互连的网络设备通知AS间链路的可操作的状态。
以这种方式,控制器平台可以进行自治系统间业务工程分段路由。进而,这节省了计算资源(例如,处理资源、存储器资源等)、网络资源等,这些资源否则会被浪费用来标识非可操作的AS间链路上丢失的业务,校正非可操作的AS间链路,重新路由丢失的业务,等等。此外,本文所述的实现使用严格的计算机化过程来执行先前未执行的任务。例如,当前不存在将集中式控制器用于自治系统间业务工程分段路由的技术。
如上所示,图1A-1I仅作为示例提供。其它示例可以与关于图1A-1I描述的示例不同。
图2是可以实现本文中描述的系统和/或方法的示例环境200的图示。如图2所示,环境200可以包括客户端设备210、控制器平台220、网络230和网络230的一组网络设备240。环境200的设备可以经由有线连接、无线连接或有线和无线连接的组合互连。
客户端设备210包括能够接收、生成、存储、处理和/或提供诸如本文中描述的信息等信息的一个或多个设备。例如,客户端设备210可以包括移动电话(例如,智能电话、无线电话等)、膝上型计算机、平板计算机、台式计算机、手持式计算机、游戏设备、可穿戴通信设备(例如,智能手表、智能眼镜、心率监视器、健身跟踪器、智能服装、智能珠宝、头戴式显示器等)或类似类型的设备。在一些实现中,客户端设备210可以经由网络230和网络设备240从业务规划平台220接收信息和/或向控制器平台220传输信息。在一些实现中,客户端设备210可以经由网络230从另一客户端设备210接收网络业务和/或可以向另一客户端设备210提供网络业务(例如,通过使用网络设备240作为中介来路由分组)。
控制器平台220包括利用出口对等工程来确定优化的业务规划并且实施优化的业务规划的一个或多个设备。在一些实现中,控制器平台220可以被设计为模块化的,使得可以根据特定需要来交换某些软件组件。这样,可以容易地和/或快速地将控制器平台220重新配置用于不同用途。在一些实现中,控制器平台220可以从一个或多个客户端设备210和/或网络设备240接收信息和/或向一个或多个客户端设备210和/或网络设备240传输信息。
在一些实现中,如图所示,控制器平台220可以被托管在云计算环境222中。值得注意的是,尽管本文中描述的实现将控制器平台220描述为被托管在云计算环境222中,但是在一些实现中,控制器平台220可以不是基于云的(即,可以在云计算环境之外而被实现),或者可以部分地基于云。
云计算环境222包括托管控制器平台220的环境。云计算环境222可以提供不需要最终用户了解托管控制器平台220的系统和/或设备的物理位置和配置的计算、软件、数据访问、存储等服务。如图所示,云计算环境222可以包括一组计算资源224(统称为“计算资源224”,以及各自地称为“计算资源224”)。
计算资源224包括一个或多个个人计算机、工作站计算机、大型机设备、或其它类型的计算和/或通信设备。在一些实现中,计算资源224可以托管控制器平台220。云资源可以包括在计算资源224中执行的计算实例、在计算资源224中提供的存储设备、由计算资源224提供的数据传输设备等。在一些实现中,计算资源224可以经由有线连接、无线连接或有线和无线连接的组合与其它计算资源224通信。
如图2进一步所示,计算资源224包括一组云资源,诸如一个或多个应用(“APP”)224-1、一个或多个虚拟机(“VM”)224-2、虚拟存储(“VS”)224-3、一个或多个虚拟机管理程序(“HYP”)224-4等。
应用224-1包括可以提供给客户端设备210或由客户端设备210访问的一个或多个软件应用。应用224-1可以消除在客户端设备210和/或网络设备240上安装和执行软件应用的需要。例如,应用224-1可以包括与控制器平台220相关联的软件和/或能够经由云计算环境222提供的任何其它软件。在一些实现中,一个应用224-1可以经由虚拟机224-2向一个或多个其它应用224-1发送信息/从一个或多个其它应用224-1接收信息。
虚拟机224-2包括执行诸如物理机等程序的机器(例如,计算机)的软件实现。虚拟机224-2可以是系统虚拟机,也可以是进程虚拟机,这取决于虚拟机224-2与任何真实机器的对应关系和使用程度。系统虚拟机可以提供支持完整操作系统(OS)的执行的完整系统平台。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实现中,虚拟机224-2可以代表用户(例如,客户端设备210的用户或控制器平台220的运营商)执行,并且可以管理云计算环境222的基础设施,诸如数据管理、同步或长时间数据传输。
虚拟存储224-3包括在计算资源224的存储系统或设备中使用虚拟化技术的一个或多个存储系统和/或一个或多个设备。在一些实现中,在存储系统的上下文中,虚拟化类型可以包括块虚拟化和文件虚拟化。块虚拟化可以是指逻辑存储与物理存储的抽象(或分离),从而可以在不考虑物理存储或异构结构的情况下访问存储系统。分离可以允许存储系统的管理员灵活地管理最终用户的存储。文件虚拟化可以消除在文件级别访问的数据与物理地存储有文件的位置之间的依赖性。这可以优化存储使用、服务器合并和/或无中断文件迁移的执行。
管理程序224-4可以提供硬件虚拟化技术,该技术允许多个操作系统(例如,“客户操作系统”)在诸如计算资源224等主机计算机上同时执行。管理程序224-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化的硬件资源。
网络230包括一个或多个有线和/或无线网络。例如,网络230可以包括蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、专用网络、ad hoc网络、内部网、因特网、基于光纤的网络等、和/或这些或其它类型的网络的组合。
网络设备240包括能够以本文中描述的方式接收、处理、存储、路由和/或提供业务(例如,分组、其它信息或元数据等)的一个或多个设备。例如,网络设备240可以包括路由器,诸如标签交换路由器(LSR)、标签边缘路由器(LER)、入口路由器、出口路由器、提供方路由器(例如,提供方边缘路由器、提供方核心路由器等)、虚拟路由器等。附加地或备选地,网络设备240可以包括网关、交换机、防火墙、集线器、网桥、反向代理、服务器(例如,代理服务器、云服务器、数据中心服务器等)、负载平衡器和/或类似设备。在一些实现中,网络设备240可以是在诸如机箱等壳体内实现的物理设备。在一些实现中,网络设备240可以是由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。在一些实现中,一组网络设备240可以是用于路由业务流通过网络230的一组数据中心节点。
图2所示的设备和网络的数目和布置作为示例提供。实际上,可以存在与图2所示的相比更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同地布置的设备和/或网络。此外,图2所示的两个或更多个设备可以在单个设备中实现,或者,图2所示的单个设备可以实现为多个分布式设备。附加地或备选地,环境200的设备的集合(例如,一个或多个设备)可以执行被描述为由环境200的设备的另一集合执行的一个或多个功能。
图3是设备300的示例组件的图示。设备300可以对应于客户端设备210、控制器平台220、计算资源224和/或网络设备240。在一些实现中,客户端设备210、控制器平台220、计算资源224和/或网络设备240可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3所示,设备300可以包括总线310、处理器320、存储器330、存储组件340、输入组件350、输出组件360和通信接口370。
总线310包括允许设备300的组件之间通信的组件。处理器320用硬件、固件或硬件和软件的组合来实现。处理器320是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其它类型的处理组件。在一些实现中,处理器320包括能够被编程为执行功能的一个或多个处理器。存储器330包括随机存取存储器(RAM)、只读存储器(ROM)、和/或存储用于由处理器320使用的信息和/或指令的其它类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器)。
存储组件340存储与设备300的操作和使用相关的信息和/或软件。例如,存储组件340可以包括硬盘(例如,磁盘、光盘、磁光盘、和/或固态盘)、光碟(CD)、数字通用光盘(DVD)、软盘、盒式磁带、磁带和/或其它类型的非瞬态计算机可读介质、以及相应的驱动程序。
输入组件350包括允许设备300接收信息的组件,诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)。附加地或备选地,输入组件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速度计、陀螺仪和/或致动器)。输出组件360包括提供来自设备300的输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(LED))。
通信接口370包括使得设备300能够与其它设备通信的类似收发器的组件(例如,收发器、和/或分离的接收器和发射器),诸如经由有线连接、无线连接或有线和无线连接组合。通信接口370可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备300可以执行本文中描述的一个或多个过程。设备300可以基于处理器320执行由非瞬态计算机可读介质(诸如存储器330和/或存储组件340)存储的软件指令来执行这些过程。“计算机可读介质”在本文中定义为非瞬态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或跨多个物理存储设备分布的存储器空间。
软件指令可以经由通信接口370从另一计算机可读介质或从另一设备读取到存储器330和/或存储组件340中。当被执行时,存储在存储器330和/或存储组件340中的软件指令可以使处理器320执行本文中描述的一个或多个过程。附加地或备选地,可以使用硬连线电路代替软件指令或与软件指令相结合来执行本文中描述的一个或多个过程。因此,本文中描述的实现不限于硬件电路和软件的任何特定组合。
图3所示的组件的数目和布置作为示例提供。实际上,设备300可以包括与图3所示的相比更多的组件、更少的组件、不同的组件、或者不同地布置的组件。另外地或替代地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图4是用于将集中式控制器用于自治系统间业务工程分段路由的示例过程400的流程图。在一些实现中,图4的一个或多个过程框可以由控制器平台(例如,控制器平台220)执行。在一些实现中,图4的一个或多个过程框可以由与控制器平台分离或包括控制器平台的另一设备或设备的集合来执行,诸如客户端设备(例如,客户端设备210)和/或网络设备(例如,网络设备240)。
如图4所示,过程400可以包括接收与在分段路由网络中提供的多个链路相关联的边界网关协议(BGP)数据,其中分段路由网络包括具有由多个链路的第一部分互连的第一多个网络设备的第一自治系统、具有由多个链路的第二部分互连的第二多个网络设备的第二自治系统、以及设置在第一多个网络设备的一个网络设备与第二多个网络设备的一个网络设备之间的多个链路的至少一个自治系统间链路(框410)。例如,控制器平台(例如,使用计算资源224、处理器320、通信接口370等)可以接收与在分段路由网络中提供的多个链路相关联的边界网关协议(BGP)数据,如上面结合图1A-3所述。在一些方面,分段路由网络可以包括具有由多个链路的第一部分互连的第一多个网络设备的第一自治系统、具有由多个链路的第二部分互连的第二多个网络设备的第二自治系统、以及设置在第一多个网络设备的一个网络设备与第二多个网络设备的一个网络设备之间的多个链路的至少一个自治系统间链路。
如图4进一步所示,过程400可以包括过滤BGP数据的前缀以标识与至少一个自治系统间链路相关联的BGP数据,其中与至少一个自治系统间链路相关联的BGP数据包括标识与至少一个自治系统间链路相关联的状态信息的数据(框420)。例如,控制器平台(例如,使用计算资源224、处理器320、存储器330等)可以过滤BGP数据的前缀以标识与至少一个自治系统间链路相关联的BGP数据,如上面结合图1A-3所述。在一些方面,与至少一个自治系统间链路相关联的BGP数据可以包括标识与至少一个自治系统间链路相关联的状态信息的数据。
如图4进一步所示,过程400可以包括基于与至少一个自治系统间链路相关联的BGP数据,确定至少一个自治系统间链路的可操作的状态(框430)。例如,控制器平台(例如,使用计算资源224、处理器320、存储组件340等)可以基于与至少一个自治系统间链路相关联的BGP数据,确定至少一个自治系统间链路的可操作的状态,如上面结合图1A-3所述。
如图4进一步所示,过程400可以包括基于至少一个自治系统间链路的可操作的状态来执行一个或多个动作(框440)。例如,控制器平台(例如,使用计算资源224、处理器320、存储器330、存储组件340、通信接口370等)可以基于至少一个自治系统间链路的可操作的状态来执行一个或多个动作,如上面结合图1A-3所述。
过程400可以包括附加的实现,诸如下面描述的和/或结合本文中其它地方描述的一个或多个其它过程而描述的任何单个实现或任何实现的组合。
在一些实现中,当执行一个或多个动作时,控制器平台:当至少一个自治系统间链路是非可操作的时,可以使第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备不利用至少一个自治系统间链路;当至少一个自治系统间链路是非可操作的时,可以使第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备重新路由来自至少一个自治系统间链路的业务;可以提供指示至少一个自治系统间链路的可操作的状态的信息,等等。
在一些实现中,第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备可以包括提供方边缘(PE)网络设备、自治系统边界路由器(ASBR)、对等ASBR等。
在一些实现中,控制器平台可以在执行一个或多个动作之后,接收与多个链路相关联的附加的BGP数据;可以过滤附加的BGP数据的前缀以标识与至少一个自治系统间链路相关联的附加的BGP数据;可以基于与至少一个自治系统间链路相关联的附加的BGP数据,确定至少一个自治系统间链路是可操作的;并且可以基于至少一个自治系统间链路是可操作的来使第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备利用至少一个自治系统间链路。
在一些实现中,控制器平台可以使双向转发检测(BFD)会话针对多个链路的另一自治系统间链路而被建立,其中另一自治系统间链路可以在第一多个网络设备的另一网络设备与第二多个网络设备的另一网络设备之间被提供;可以接收与另一自治系统间链路相关联的BFD会话数据,其中与另一自治系统间链路相关联的BFD会话数据可以包括标识与另一自治系统间链路相关联的会话信息的数据;可以基于与基于自治系统间链路相关联的BFD数据,确定另一自治系统间链路的另一可操作的状态;并且可以基于另一自治系统间链路的另一可操作的状态来执行一个或多个附加的动作。
在一些实现中,当执行一个或多个附加的动作时,控制器平台:当另一自治系统间链路是非可操作的时,可以使第一多个网络设备的另一个网络设备和第二多个网络设备的另一个网络设备不利用另一自治系统间链路;当另一自治系统间链路是非可操作的时,可以使第一多个网络设备的另一个网络设备和第二多个网络设备的另一个网络设备重新路由来自另一自治系统间链路的业务;可以提供指示另一自治系统间链路的可操作的状态的信息,等等。
在一些实现中,由于分段路由网络中的分段路由,第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备可以不被通知至少一个自治系统间链路的可操作的状态。
尽管图4示出了过程400的示例框,但是在一些实现中,过程400可以包括与图4所示的相比更多的框、更少的框、不同的框或不同地被布置的框。过程400的两个或更多个框可以以并行的方式而被执行。
图5是用于利用出口对等工程来确定优化的业务规划并且实现优化的业务规划的示例过程500的流程图。在一些实现中,图5的一个或多个过程框可以由控制器平台(例如,控制器平台220)来执行。在一些实现中,图5的一个或多个过程框可以由与控制器平台分离或包括控制器平台的另一设备或设备的集合来执行,诸如客户端设备(例如,客户端设备210)和/或网络设备(例如,网络设备240)。
如图5所示,过程500可以包括接收与在分段路由网络中提供的多个链路相关联的链路数据,其中分段路由网络包括:具有由多个链路的第一部分互连的第一多个网络设备的第一自治系统、具有由多个链路的第二部分互连的第二多个网络设备的第二自治系统、以及在第一多个网络设备的一个网络设备与第二多个网络设备的一个网络设备之间被提供的多个链路的至少一个自治系统间链路(框510)。例如,控制器平台(例如,使用计算资源224、处理器320、通信接口370等)可以接收与在分段路由网络中提供的多个链路相关联的链路数据,如上面结合图1A-3所述。在一些方面,分段路由网络可以包括:具有由多个链路的第一部分互连的第一多个网络设备的第一自治系统、具有由多个链路的第二部分互连的第二多个网络设备的第二自治系统、以及在第一多个网络设备的一个网络设备与第二多个网络设备的一个网络设备之间被提供的多个链路的至少一个自治系统间链路。
如图5进一步所示,过程500可以包括基于链路数据确定与至少一个自治系统间链路相关联的数据,其中与至少一个自治系统间链路相关联的数据可以包括标识与至少一个自治系统间链路相关联的状态信息的数据(框520)。例如,控制器平台(例如,使用计算资源224、处理器320、存储器330等)可以基于链路数据确定与至少一个自治系统间链路相关联的数据,如上面结合图1A-3所述。在一些方面,与至少一个自治系统间链路相关联的数据可以包括标识与至少一个自治系统间链路相关联的状态信息的数据。
如图5进一步所示,过程500可以包括基于与至少一个自治系统间链路相关联的数据,确定至少一个自治系统间链路的可操作的状态(框530)。例如,控制器平台(例如,使用计算资源224、处理器320、存储组件340等)可以基于与至少一个自治系统间链路相关联的数据,确定至少一个自治系统间链路的可操作的状态,如上面结合图1A-3所述。
如图5进一步所示,过程500可以包括基于至少一个自治系统间链路的可操作的状态来执行一个或多个动作(框540)。例如,控制器平台(例如,使用计算资源224、处理器320、存储器330,存储组件340等)可以基于至少一个自治系统间链路的可操作的状态来执行一个或多个动作,如上面结合图1A-3所述。
过程500可以包括附加的实现,诸如下面描述的和/或结合本文中其它地方描述的一个或多个其它过程而描述的任何单个实现或任何实现的组合。
在一些实现中,链路数据可以包括与在分段路由网络中提供的多个链路相关联的边界网关协议(BGP)数据、与在分段路由网络中被提供的多个链路相关联的双向转发检测(BFD)会话数据等。
在一些实现中,当执行一个或多个动作时,控制器平台可以向第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备提供信息,该信息指令第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备:当至少一个自治系统间链路是非可操作的时,停止至少一个自治系统间链路的利用,并且重新路由来自至少一个自治系统间链路的业务。
在一些实现中,当执行一个或多个动作时,控制器平台:当至少一个自治系统间链路是非可操作的时,可以标识多个链路的另一自治系统间链路,该另一自治系统间链路在第一多个网络设备的一个网络设备与第二多个网络设备的一个网络设备之间被提供,其中其它自治系统间链路是可操作的;并且可以使第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备将业务从至少一个自治系统间链路重新路由至另一自治系统间链路。
在一些实现中,当标识另一自治系统间链路时,控制器平台:可以基于偏好标识另一自治系统间链路;可以基于随机选择技术标识另一自治系统间链路;可以基于循环技术标识另一自治系统间链路,等等。
在一些实现中,当标识另一自治系统间链路时,控制器平台:可以基于参数的第一集合来确定通过第一自治系统的另一自治系统间链路的第一部分;可以基于参数的第二集合来确定在第一自治系统与第二自治系统之间的另一自治系统间链路的第二部分;并且可以基于参数的第三集合来确定通过第二自治系统的另一自治系统间链路的第三部分。
在一些实现中,当标识另一自治系统间链路时,控制器平台:可以基于第一偏好从多个传出路由中选择用于第一自治系统的优选的传出路由,优选的传出路由从第一自治系统被提供给第二自治系统;可以基于第二偏好从多个传入路由中选择用于第一自治系统的优选的传入路由,优选的传入路由从第二自治系统被提供给第一自治系统;并且可以基于优选的传出路由和优选的传入路由确定另一自治系统间链路。
尽管图5示出了过程500的示例框,但是在一些实现中,过程500可以包括与图5所示的相比更多的框、更少的框、不同的框或不同地被布置的框。过程500两个或更多个框可以以并行的方式而被执行。
图6是用于利用出口对等工程来确定优化的业务规划并且实现优化的业务规划的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由控制器平台(例如,控制器平台220)来执行。在一些实现中,图6的一个或多个过程框可以由与控制器平台分离或包括控制器平台的另一设备或设备的集合来执行,诸如客户端设备(例如,客户端设备210)和/或网络设备(例如,网络设备240)。
如图6所示,过程600可以包括使双向转发检测(BFD)会话针对在分段路由网络中提供的多个链路而被建立,其中分段路由网络包括:具有由多个链路的第一部分互连的第一多个网络设备的第一自治系统、具有由多个链路的第二部分互连的第二多个网络设备的第二自治系统、以及在第一多个网络设备的一个网络设备与第二多个网络设备的一个网络设备之间被提供的多个链路的至少一个自治系统间链路(框610)。例如,控制器平台(例如,使用计算资源224、处理器320、存储器330、通信接口370等)可以使双向转发检测(BFD)会话针对在分段路由网络中提供的多个链路而被建立,如上面结合图1A-3所述。在一些方面,分段路由网络可以包括具有由多个链路的第一部分互连的第一多个网络设备的第一自治系统、具有由多个链路的第二部分互连的第二多个网络设备的第二自治系统、以及在第一多个网络设备的一个网络设备与第二多个网络设备的一个网络设备之间被提供的多个链路的至少一个自治系统间链路。
如图6进一步所示,过程600可以包括接收与至少一个自治系统间链路相关联的BFD会话数据,其中与至少一个自治系统间链路相关联的BFD会话数据包括标识与至少一个自治系统间链路相关联的状态信息的数据(框620)。例如,控制器平台(例如,使用计算资源224、处理器320等)可以接收与至少一个自治系统间链路相关联的BFD会话数据,如上面结合图1A-3所述。在一些方面,与至少一个自治系统间链路相关联的BFD会话数据可以包括标识与至少一个自治系统间链路相关联的状态信息的数据。
如图6进一步所示,过程600可以包括基于与至少一个自治系统间链路相关联的BFD会话数据,确定至少一个自治系统间链路的可操作的状态(框630)。例如,控制器平台(例如,使用计算资源224、处理器320、存储器330等)可以基于与至少一个自治系统间链路相关联的BFD会话数据,确定至少一个自治系统间链路的可操作的状态,如上面结合图1A-3所述。
如图6进一步所示,过程600可以包括基于至少一个自治系统间链路的可操作的状态来执行一个或多个动作(框640)。例如,控制器平台(例如,使用计算资源224、处理器320、存储器330、存储组件340、通信接口370等)可以基于至少一个自治系统间链路的可操作的状态来执行一个或多个动作,如上面结合图1A-3所述。
过程600可以包括附加地实现,诸如下面所描述的和/或结合本文中其它地方所描述的一个或多个其它过程而描述的任何单个实现或任何实现的组合。
在一些实现中,控制器平台:当至少一个自治系统间链路是非可操作的时,可以使第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备不利用至少一个自治系统间链路;当至少一个自治系统间链路是非可操作的时,可以使第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备重新路由来自至少一个自治系统间链路的业务;可以提供指示至少一个自治系统间链路的可操作的状态的信息,等等。
在一些实现中,控制器平台:可以接收与至少一个自治系统间链路相关联的附加的BFD数据;可以基于与至少一个自治系统间链路相关联的附加的BFD数据,确定至少一个自治系统间链路是可操作的;并且可以基于至少一个自治系统间链路可操作来使第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备利用至少一个自治系统间链路。
在一些实现中,由于分段路由网络中的分段路由,第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备可以不被通知至少一个自治系统间链路的可操作的状态。
在一些实现中,控制器平台可以向第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备提供指示第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备执行以下操作的信息:当至少一个自治系统间链路是非可操作的时,停止使用至少一个自治系统间链路,并且从至少一个自治系统间链路重新路由业务。
在一些实现中,控制器平台:当至少一个自治系统间链路是非可操作的时,可以标识多个链路的另一自治系统间链路,该另一自治系统间链路在第一多个网络设备的一个网络设备与第二多个网络设备的一个网络设备之间被提供,其中另一自治系统间链路可以是可操作的;并且可以使第一多个网络设备的一个网络设备和第二多个网络设备的一个网络设备将业务从至少一个自治系统间链路重新路由至其它自治系统间链路。
尽管图6示出了过程600的示例框,但是在一些实现中,过程600可以包括与图6所示的相比更多的框、更少的框、不同的框或不同地被布置的框。过程600的两个或更多个框可以以并行方式而被执行。
前述公开提供说明和描述,但并非旨在穷举或将实现限于所公开的精确形式。鉴于以上公开内容,修改和变型而是可能的,或者可以从实现的实践中获取。
如本文中使用的,术语“组件”旨在广义地被解释为硬件、固件或硬件和软件的组合。
本文中已经描述和/或在附图中示出了某些用户界面。用户界面可以包括图形化的用户界面、非图形化的用户界面、基于文本的用户界面等。用户界面可以提供用于显示的信息。在一些实现中,用户可以诸如通过经由提供用户界面的设备的输入组件提供输入以供显示来与信息交互。在一些实现中,用户接口可以由设备和/或用户来配置(例如,用户可以改变用户界面的大小、经由用户界面提供的信息、经由用户界面提供的信息的位置等)。附加地备选地,用户接口可以被预先配置为标准配置、基于显示有用户界面的设备的类型的特定配置、和/或基于与显示有用户接口的设备相关联的能力和/或规定的配置的集合。
本文中结合阈值描述了一些实现。如本文中使用的,取决于上下文,满足阈值可以指代值大于阈值,值多于阈值,值高于阈值,值大于或等于阈值,值小于阈值,值少于阈值,值低于阈值,值小于或等于阈值,值等于阈值,等等。
很清楚的是,本文中描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用的控制硬件或软件代码是实现的限制。因此,本文中描述了系统和/或方法的操作和行为,而没有参考特定的软件代码—应当理解,可以设计软件和硬件以基于本文中的描述来实现这些系统和/或方法。
尽管在权利要求中记载和/或在说明书中公开了特征的特定组合,但是这些组合并不旨在限制各种实现的公开。实际上,这些特征中的很多特征可以以未在权利要求中具体地记载和/或在说明书中公开的方式进行组合。尽管下面列出的每个从属权利要求可以直接仅依赖于一个权利要求,但是各种实现的公开包括每个从属权利要求与权利要求集合中的每个其它权利要求的组合。
除非明确地如此描述,否则本文中使用的元素、动作或指令不应当被解释为是关键或必要的。此外,如本文中使用的,冠词“一个”和“一”旨在包括一个或多个条目,并且可以与“一个或多个”可互换地使用。此外,如本文中使用的,术语“集合”旨在包括一个或多个条目(例如,相关的条目、不相关的条目、相关的和不相关的条目的组合等),并且可以与“一个或多个”可互换地使用。在仅有一个条目的情况下,使用术语“仅一个”或类似的语言。此外,如本文中使用的,术语“具有”、“有”、“含有”等意图是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分基于”。

Claims (20)

1.一种方法,包括:
由设备接收边界网关协议(BGP)数据,所述BGP数据与在分段路由网络中被提供的多个链路相关联,
其中所述分段路由网络包括:
第一自治系统,具有由所述多个链路的第一部分互连的第一多个网络设备,
第二自治系统,具有由所述多个链路的第二部分互连的第二多个网络设备,以及
所述多个链路中的至少一个自治系统间链路,所述至少一个自治系统间链路在所述第一多个网络设备中的一个网络设备与所述第二多个网络设备中的一个网络设备之间被提供;
由所述设备过滤所述BGP数据的前缀以标识与所述至少一个自治系统间链路相关联的BGP数据,
其中与所述至少一个自治系统间链路相关联的所述BGP数据包括标识与所述至少一个自治系统间链路相关联的状态信息的数据;
由所述设备基于与所述至少一个自治系统间链路相关联的所述BGP数据,确定所述至少一个自治系统间链路的可操作的状态;以及
由所述设备基于所述至少一个自治系统间链路的所述可操作的状态来执行一个或多个动作。
2.根据权利要求1所述的方法,其中执行所述一个或多个动作包括:
当所述至少一个自治系统间链路是非可操作的时,使所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备不利用所述至少一个自治系统间链路;
当所述至少一个自治系统间链路是非可操作的时,使所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备重新路由来自所述至少一个自治系统间链路的业务;或者
提供信息,所述信息指示所述至少一个自治系统间链路的所述可操作的状态。
3.根据权利要求1所述的方法,其中所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备包括以下之一:
提供方边缘(PE)网络设备,
自治系统边界路由器(ASBR),或者
对等ASBR。
4.根据权利要求1所述的方法,还包括:
在执行所述一个或多个动作之后,接收与所述多个链路相关联的附加的BGP数据;
过滤所述附加的BGP数据的前缀以标识与所述至少一个自治系统间链路相关联的附加的BGP数据;
基于与所述至少一个自治系统间链路相关联的所述附加的BGP数据,确定所述至少一个自治系统间链路是可操作的;以及
基于所述至少一个自治系统间链路是可操作的,使所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备利用所述至少一个自治系统间链路。
5.根据权利要求1所述的方法,还包括:
使双向转发检测(BFD)会话针对所述多个链路中的另一自治系统间链路而被建立,
其中所述另一自治系统间链路在所述第一多个网络设备中的另一个网络设备与所述第二多个网络设备中的另一个网络设备之间被提供;接收与所述另一自治系统间链路相关联的BFD会话数据,
其中与所述另一自治系统间链路相关联的所述BFD数据包括标识与所述另一自治系统间链路相关联的会话信息的数据;
基于与所述另一自治系统间链路相关联的所述BFD数据,确定所述另一自治系统间链路的另一可操作的状态;以及
基于所述另一自治系统间链路的所述另一可操作的状态来执行一个或多个附加的动作。
6.根据权利要求5所述的方法,其中执行所述一个或多个附加的动作包括:
当所述另一自治系统间链路是非可操作的时,使所述第一多个网络设备中的所述另一个网络设备和所述第二多个网络设备中的所述另一个网络设备不利用所述另一自治系统间链路;
当所述另一自治系统间链路是非可操作的时,使所述第一多个网络设备中的所述另一个网络设备和所述第二多个网络设备中的所述另一个网络设备重新路由来自所述另一自治系统间链路的业务;或者
提供信息,所述信息指示所述另一自治系统间链路的所述可操作的状态。
7.根据权利要求1所述的方法,其中由于所述分段路由网络中的分段路由,所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备不被通知所述至少一个自治系统间链路的所述可操作的状态。
8.一种设备,包括:
一个或多个存储器;以及
一个或多个处理器,通信地被耦合到所述一个或多个存储器,用以:
接收链路数据,所述链路数据与在分段路由网络中被提供的多个链路相关联,
其中所述分段路由网络包括:
第一自治系统,具有由所述多个链路的第一部分互连的第一多个网络设备,
第二自治系统,具有由所述多个链路的第二部分互连的第二多个网络设备,以及
所述多个链路中的至少一个自治系统间链路,所述至少一个自治系统间链路在所述第一多个网络设备中的一个网络设备与所述第二多个网络设备中的一个网络设备之间被提供;
基于所述链路数据来确定与所述至少一个自治系统间链路相关联的数据,
其中与所述至少一个自治系统间链路相关联的所述数据包括标识与所述至少一个自治系统间链路相关联的状态信息的数据;
基于与所述至少一个自治系统间链路相关联的所述数据,确定所述至少一个自治系统间链路的可操作的状态;以及
基于所述至少一个自治系统间链路的所述可操作的状态来执行一个或多个动作。
9.根据权利要求8所述的设备,其中所述链路数据包括以下中的一项或多项:
边界网关协议(BGP)数据,所述BGP数据与在所述分段路由网络中被提供的所述多个链路相关联,或者
双向转发检测(BFD)会话数据,所述BFD会话数据与在所述分段路由网络中被提供的所述多个链路相关联。
10.根据权利要求8所述的设备,其中当执行所述一个或多个动作时,所述一个或多个处理器用以:
向所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备提供信息,所述信息指令所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备:
当所述至少一个自治系统间链路是非可操作的时,停止所述至少一个自治系统间链路的利用,以及
重新路由来自所述至少一个自治系统间链路的业务。
11.根据权利要求8所述的设备,其中当执行所述一个或多个动作时,所述一个或多个处理器用以:
当所述至少一个自治系统间链路是非可操作的时,标识所述多个链路中的另一自治系统间链路,所述另一自治系统间链路在所述第一多个网络设备中的所述一个网络设备与所述第二多个网络设备中的所述一个网络设备之间被提供,
其中所述另一自治系统间链路是可操作的;以及
使所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备将业务从所述至少一个自治系统间链路重新路由至所述另一自治系统间链路。
12.根据权利要求11所述的设备,其中当标识所述另一自治系统间链路时,所述一个或多个处理器用以进行以下中的一项或多项:
基于偏好标识所述另一自治系统间链路;
基于随机选择技术标识所述另一自治系统间链路;或者
基于循环技术标识所述另一自治系统间链路。
13.根据权利要求11所述的设备,其中当标识所述另一自治系统间链路时,所述一个或多个处理器用以:
基于参数的第一集合来确定通过所述第一自治系统的所述另一自治系统间链路的第一部分;
基于参数的第二集合来确定在所述第一自治系统与所述第二自治系统之间的所述另一自治系统间链路的第二部分;以及
基于参数的第三集合来确定通过所述第二自治系统的所述另一自治系统间链路的第三部分。
14.根据权利要求11所述的设备,其中当标识所述另一自治系统间链路时,所述一个或多个处理器用以:
基于第一偏好来从多个传出路由中选择用于所述第一自治系统的优选的传出路由,
所述优选的传出路由从所述第一自治系统被提供给所述第二自治系统;
基于第二偏好来从多个传入路由中选择用于所述第一自治系统的优选的传入路由,
所述优选的传入路由从所述第二自治系统被提供给所述第一自治系统;以及
基于所述优选的传出路由和所述优选的传入路由来标识所述另一自治系统间链路。
15.一种存储指令的非瞬态计算机可读介质,所述指令包括:
一个或多个指令,所述一个或多个指令当由一个或多个处理器执行时,使所述一个或多个处理器:
使双向转发检测(BFD)会话针对在分段路由网络中被提供的多个链路而被建立,
其中所述分段路由网络包括:
第一自治系统,具有由所述多个链路的第一部分互连的第一多个网络设备,
第二自治系统,具有由所述多个链路的第二部分互连的第二多个网络设备,以及
所述多个链路中的至少一个自治系统间链路,所述至少一个自治系统间链路在所述第一多个网络设备中的一个网络设备与所述第二多个网络设备中的一个网络设备之间被提供;
接收与所述至少一个自治系统间链路相关联的BFD会话数据,
其中与所述至少一个自治系统间链路相关联的所述BFD会话数据包括标识与所述至少一个自治系统间链路相关联的状态信息的数据;
基于与所述至少一个自治系统间链路相关联的所述BFD会话数据,确定所述至少一个自治系统间链路的可操作的状态;以及
基于所述至少一个自治系统间链路的所述可操作的状态来执行一个或多个动作。
16.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述一个或多个动作的所述一个或多个指令,使所述一个或多个处理器:
当所述至少一个自治系统间链路是非可操作的时,使所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备不利用所述至少一个自治系统间链路;
当所述至少一个自治系统间链路是非可操作的时,使所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备重新路由来自所述至少一个自治系统间链路的业务;或者
提供信息,所述信息指示所述至少一个自治系统间链路的所述可操作的状态。
17.根据权利要求15所述的非瞬态计算机可读介质,其中所述指令还包括:
一个或多个指令,所述一个或多个指令当由所述一个或多个处理器执行时,使所述一个或多个处理器执行:
接收与所述至少一个自治系统间链路相关联的附加的BFD数据;
基于与所述至少一个自治系统间链路相关联的所述附加的BFD数据,确定所述至少一个自治系统间链路是可操作的;以及
基于所述至少一个自治系统间链路是可操作的,使所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备利用所述至少一个自治系统间链路。
18.根据权利要求15所述的非瞬态计算机可读介质,其中由于所述分段路由网络中的分段路由,所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备不被通知所述至少一个自治系统间链路的所述可操作的状态。
19.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述一个或多个动作的所述一个或多个指令,使所述一个或多个处理器:
向所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备提供信息,所述信息指令所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备:
当所述至少一个自治系统间链路是非可操作的时,停止所述至少一个自治系统间链路的利用,以及
重新路由来自所述至少一个自治系统间链路的业务。
20.根据权利要求15所述的非瞬态计算机可读介质,其中使所述一个或多个处理器执行所述一个或多个动作的所述一个或多个指令,使所述一个或多个处理器:
当所述至少一个自治系统间链路是非可操作的时,标识所述多个链路中的另一自治系统间链路,所述另一自治系统间链路在所述第一多个网络设备中的所述一个网络设备与所述第二多个网络设备中的所述一个网络设备之间被提供,
其中所述另一自治系统间链路是可操作的;以及
使所述第一多个网络设备中的所述一个网络设备和所述第二多个网络设备中的所述一个网络设备将业务从所述至少一个自治系统间链路重新路由至所述另一自治系统间链路。
CN201911395354.XA 2019-03-29 2019-12-30 利用集中式控制器以用于自治系统间的业务工程分段路由的方法、设备和可读介质 Active CN111756631B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/370,564 2019-03-29
US16/370,564 US10917331B1 (en) 2019-03-29 2019-03-29 Utilizing a centralized controller for traffic engineering segment routing inter-autonomous systems

Publications (2)

Publication Number Publication Date
CN111756631A true CN111756631A (zh) 2020-10-09
CN111756631B CN111756631B (zh) 2022-08-23

Family

ID=68965652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911395354.XA Active CN111756631B (zh) 2019-03-29 2019-12-30 利用集中式控制器以用于自治系统间的业务工程分段路由的方法、设备和可读介质

Country Status (3)

Country Link
US (3) US10917331B1 (zh)
EP (2) EP4221137A1 (zh)
CN (1) CN111756631B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10917331B1 (en) 2019-03-29 2021-02-09 Juniper Networks, Inc. Utilizing a centralized controller for traffic engineering segment routing inter-autonomous systems
US11695682B2 (en) * 2019-09-30 2023-07-04 Ciena Corporation Optimizing Border Gateway Protocol (BGP) traffic using reinforcement learning
CN113872824B (zh) * 2021-08-19 2023-04-07 网宿科技股份有限公司 Cdn网络质量检测方法、系统、服务器及存储介质
US20240022638A1 (en) * 2022-07-12 2024-01-18 Arista Networks, Inc. Systems and methods for processing heartbeat packets in switching hardware

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060233181A1 (en) * 2005-04-13 2006-10-19 Robert Raszuk Method and apparatus for accelerating border gateway protocol convergence
CN105847158A (zh) * 2015-01-30 2016-08-10 迈塔斯威士网络有限公司 用于处理路由数据的方法和系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864669B2 (en) * 2005-10-20 2011-01-04 Cisco Technology, Inc. Method of constructing a backup path in an autonomous system
US20070091794A1 (en) * 2005-10-20 2007-04-26 Clarence Filsfils Method of constructing a backup path in an autonomous system
CN1933448A (zh) * 2006-08-17 2007-03-21 华为技术有限公司 业务快速收敛的方法和网络设备
US7751318B2 (en) * 2006-08-23 2010-07-06 Cisco Technology, Inc. Method and system for computing AS-disjoint inter-AS traffic engineering-label switched paths (TE-LSPS)
US8111616B2 (en) * 2006-09-08 2012-02-07 Cisco Technology, Inc. Constructing a repair path in the event of failure of an inter-routing domain system link
US8179905B1 (en) * 2006-09-27 2012-05-15 At&T Intellectual Property Ii, L.P. Method and apparatus for providing communication for virtual private networks
US8014275B1 (en) * 2008-12-15 2011-09-06 At&T Intellectual Property L, L.P. Devices, systems, and/or methods for monitoring IP network equipment
US9019865B2 (en) * 2011-03-04 2015-04-28 Juniper Networks, Inc. Advertising traffic engineering information with the border gateway protocol
US9450817B1 (en) * 2013-03-15 2016-09-20 Juniper Networks, Inc. Software defined network controller
US9838268B1 (en) * 2014-06-27 2017-12-05 Juniper Networks, Inc. Distributed, adaptive controller for multi-domain networks
US9998247B1 (en) * 2014-12-30 2018-06-12 Juniper Networks, Inc. Controller-based network device timing synchronization
US9916194B2 (en) * 2015-10-01 2018-03-13 International Business Machines Corporation System component failure diagnosis
US10277505B2 (en) 2016-03-30 2019-04-30 Juniper Networks, Inc. Routing inter-AS LSPs with centralized controller
US20200007435A1 (en) * 2018-06-27 2020-01-02 Nokia Solutions And Networks Oy Methods, apparatuses and computer-readable storage mediums for dynamically controlling traffic over peering links
US10924384B2 (en) * 2018-11-19 2021-02-16 Ciena Corporation Traffic engineering for border gateway protocol
US10917331B1 (en) 2019-03-29 2021-02-09 Juniper Networks, Inc. Utilizing a centralized controller for traffic engineering segment routing inter-autonomous systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060233181A1 (en) * 2005-04-13 2006-10-19 Robert Raszuk Method and apparatus for accelerating border gateway protocol convergence
CN105847158A (zh) * 2015-01-30 2016-08-10 迈塔斯威士网络有限公司 用于处理路由数据的方法和系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
C. FILSFILS等: "Segment Routing Centralized BGP Egress Peer Engineering draft-ietf-spring-segment-routing-central-epe-10", 《IETF 》 *
S. PREVIDI;INDIVIDUAL;K. TALAULIKAR等: "BGP-LS extensions for Segment Routing BGP Egress Peer Engineering draft-ietf-idr-bgpls-segment-routing-epe-18", 《IETF 》 *
S. PREVIDI等: "Segment Routing BGP Egress Peer Engineering BGP-LS Extensions draft-ietf-idr-bgpls-segment-routing-epe-10", 《IETF 》 *
S. PREVIDI等: "Segment Routing BGP Egress Peer Engineering BGP-LS Extensions draft-ietf-idr-bgpls-segment-routing-epe-11", 《IETF 》 *

Also Published As

Publication number Publication date
EP4221137A1 (en) 2023-08-02
US20230208745A1 (en) 2023-06-29
US11627068B2 (en) 2023-04-11
US20210152463A1 (en) 2021-05-20
US10917331B1 (en) 2021-02-09
EP3716545B1 (en) 2023-05-03
CN111756631B (zh) 2022-08-23
EP3716545A1 (en) 2020-09-30

Similar Documents

Publication Publication Date Title
CN111756631B (zh) 利用集中式控制器以用于自治系统间的业务工程分段路由的方法、设备和可读介质
EP3432522B1 (en) Traffic migration based on traffic flow and traffic path characteristics
US10050855B1 (en) Maintaining a tunnel liveness session in a multi-chassis link aggregation group topology
US11469993B2 (en) Controlling paths in a network via a centralized controller or network devices
US20210144067A1 (en) Utilizing constraints to determine optimized network plans and to implement an optimized network plan
US11637813B2 (en) Container deployment for a network
US11695631B1 (en) Generating candidate links and candidate paths before selecting links for an optimized optical network plan
US11140064B2 (en) Configuring a topology of devices to support scaling of an exchange point
CN111641567A (zh) 基于集中式控制器的动态网络带宽分配与管理
EP3716539A1 (en) Utilizing egress peer engineering to determine optimized traffic plans and to implement an optimized traffic plan
CN115460126B (zh) 自治系统间跟踪路由消息
EP4333396A1 (en) Facilitating elasticy of a network device
CN117795927A (zh) Wan边缘中利用商品路由器的公共云中的排出业务工程

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant