CN111756566B - 支持和不支持issu装置的混合网络中软件升级部署 - Google Patents
支持和不支持issu装置的混合网络中软件升级部署 Download PDFInfo
- Publication number
- CN111756566B CN111756566B CN201910937189.XA CN201910937189A CN111756566B CN 111756566 B CN111756566 B CN 111756566B CN 201910937189 A CN201910937189 A CN 201910937189A CN 111756566 B CN111756566 B CN 111756566B
- Authority
- CN
- China
- Prior art keywords
- network device
- network
- issu
- devices
- traffic
- 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
- 238000000034 method Methods 0.000 claims abstract description 62
- 230000004044 response Effects 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 5
- 239000004744 fabric Substances 0.000 description 22
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000009434 installation Methods 0.000 description 7
- 230000005641 tunneling Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 235000008694 Humulus lupulus Nutrition 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012559 user support system Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0836—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0869—Validating the configuration within one network element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/34—Signalling channels for network management communication
- H04L41/342—Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
-
- 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/026—Details of "hello" or keep-alive messages
-
- 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/12—Shortest path evaluation
- H04L45/127—Shortest path evaluation based on intermediate node capabilities
-
- 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/56—Routing software
- H04L45/563—Software download or update
-
- 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/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开支持和不支持ISSU装置的混合网络中软件升级部署。用于将软件升级部署到支持在服务中软件升级ISSU和不支持ISSU的网络装置的混合网络而不中断由混合网络服务的网络流量的技术。在一实例中,用于网络的集中式控制器确定用于网络的多个网络装置中的第一网络装置支持在服务中软件升级ISSU,多个网络装置中的第二网络装置不支持ISSU。集中式控制器发送指示第一网络装置执行ISSU操作的消息。此外,集中式控制器发送指示第二网络装置的每个网络装置向网络装置的对等网络装置发送表明网络装置不支持ISSU的消息。响应于接收到指示网络装置不支持ISSU的消息,对等网络装置重定向流量以避开该网络装置。
Description
技术领域
本公开总体上涉及云数据中心和网络的软件维护。
背景技术
在典型的云数据中心环境中,存在大量互连的服务器提供计算(例如,计算节点)和/或存储能力来运行各种应用程序。例如,数据中心包括为订户(即,数据中心的客户)托管应用程序和服务的设施。例如,数据中心托管所有基础设施设备,例如,网络和存储系统、冗余电源和环境控制。在典型的数据中心,存储系统和应用服务器集群经由一层或多层物理网络交换机和路由器提供的高速交换结构互连。更复杂的数据中心为遍布全球的基础设施提供位于各种物理托管设施中的用户支持装置。
高速交换结构的物理网络交换机和路由器可能需要定期更新。例如,数据中心内网络装置上安装和运行的软件可能需要升级或更换。传统上,安装软件更新通常需要网络装置离线转换并停止网络流量的执行或管理,以便可以执行软件更新。在此期间,云数据中心内执行的客户流量和客户应用程序可能会中断或完全不可用。
发明内容
总体上,本公开描述了用于将软件升级部署到支持在服务中软件升级(ISSU)和不支持ISSU的网络装置的混合网络而不中断由混合网络所服务的网络流量的技术。在一个实例中,网络的集中式控制器(例如,软件定义网络(SDN)控制器或管理员计算装置)确定网络中的哪些网络装置支持ISSU,哪些网络装置不支持ISSU。集中式控制器指示支持ISSU的网络装置执行ISSU操作,例如,应用软件更新。此外,集中式控制器提示不支持ISSU的网络装置向对等网络装置(例如,升级的网络装置)发送消息。这些消息表明网络装置不支持ISSU。进行接收的网络装置可以处理这样的消息,以确定在执行软件升级时,不支持ISSU的网络装置可能无法处理或转发网络流量。响应于确定不支持ISSU的装置可能(或将)不可用,对等网络装置重定向流量,以避免将流量转发到不支持ISSU的网络装置,从而避免网络上的网络流量中断。
本公开的技术为计算机网络的软件维护领域提供了具体的技术改进,尤其是云网络和数据中心,其包括处于复杂设置中的大量网络装置。例如,本公开的技术能够将软件升级部署到支持ISSU的网络装置和不支持ISSU的网络装置的混合网络,而不中断由混合网络所服务的网络流量。虽然管理员可能仍然需要手动升级不支持ISSU的网络装置,但是即使在支持ISSU的网络装置和不支持ISSU的网络装置的混合网络中,管理员也能够利用支持ISSU的网络装置的ISSU能力,从而大大减轻将软件升级部署到混合网络的负担。此外,本公开的技术为不支持ISSU的网络装置提供了向对等网络装置通知它们不支持ISSU的机制,从而允许不支持ISSU的网络装置不能处理或转发网络流量时,对等网络装置临时路由流量绕过不支持ISSU的网络装置。因此,本公开的技术允许不支持ISSU的网络装置在执行软件升级时避免对网络所服务的客户流量和客户应用造成中断。
在一个实例中,本公开描述了一种方法,包括:由网络的集中式控制器确定用于该网络的多个网络装置中的第一网络装置支持在服务中软件升级(ISSU),多个网络装置中的第二网络装置不支持ISSU;由集中式控制器发送指示第一网络装置执行ISSU操作的一个或多个消息;并且由集中式控制器发送一个或多个消息,指示第二网络装置中的每个网络装置向对等网络装置发送消息,所述消息指示第二网络装置中的网络装置不支持ISSU。
在另一实例中,本公开描述了一种网络的集中式控制器,其被配置为:确定用于该网络的多个网络装置中的第一网络装置支持在服务中软件升级(ISSU),多个网络装置中的第二网络装置不支持ISSU;发送指示第一网络装置执行ISSU操作的一个或多个消息;并且发送消息,指示第二网络装置中的每个网络装置向对等网络装置发送消息,所述消息指示所述网络装置不支持ISSU。
在另一实例中,本公开描述了一种网络的多个网络装置中的第一网络装置,所述第一网络装置被配置为:从第二网络装置接收指示第二网络装置不支持在服务中软件升级(ISSU)的消息,其中,所述第二网络装置是第一网络装置的对等体;并且响应于接收到指示第二网络装置不支持ISSU的消息,重定向流量,以避免将流量转发到第二网络装置。
在附图和以下描述中阐述本公开的技术的一个或多个实例的细节。通过说明书和附图以及权利要求书,这些技术的其他特征、目的和优点将变得显而易见。
附图说明
图1是示出具有其中可以实现本文描述的技术的实例的数据中心的实例网络的框图。
图2是进一步详细示出图1的数据中心的实例实现的框图。
图3是进一步详细示出图1的软件定义网络(SDN)控制器的实例实现的框图。
图4是示出其中可以实现本文描述的技术的实例的路由器的实例的框图。
图5是示出根据本文描述的技术的包括ISSU能力信息的实例消息的框图。
图6是示出根据本公开技术的实例操作的流程图。
在所有附图和描述中,相同的附图标记表示相同的元件。
具体实施方式
图1是示出实例网络系统的框图,在其中可以实现本文描述的技术的实例。图1的实例中的网络系统8包括经由服务提供商网络7与客户网络互连的数据中心10,其中,客户网络和客户11相关联。通常,数据中心10为通过服务提供商网络7耦接到数据中心的客户11提供用于应用程序和服务的操作环境。例如,数据中心10可以是主机基础设施设备,例如,网络和存储系统、冗余电源和环境控制。服务提供商网络7可以耦接到由其他提供商管理的一个或多个网络,并且因此可以形成大规模公共网络基础设施(例如,互联网)的一部分。
在一些实例中,数据中心10可以表示许多地理上分布的网络数据中心中的一个。如图1的实例所示,数据中心10可以是为客户11提供网络服务的设施。客户11可以是例如企业和政府的集体类别或个人。例如,一个网络数据中心可以为几个企业和终端用户托管网络服务。其他示例性服务可以包括数据存储、虚拟专用网络、流量工程、文件服务、数据挖掘、科学或超级计算等。在一些实施方式中,数据中心10可以是单独的网络服务器、网络对等体等。
在这个实例中,数据中心10包括一组存储系统和应用服务器12A至12X(本文称为“服务器12”),其经由由一层或多层物理网络交换机和路由器提供的高速交换结构14互连。交换结构14由一组互连的架顶(TOR)交换机16A至16BN(统称为“TOR交换机16”)提供,这些交换机耦接到机箱交换机18A至18M(统称为“机箱交换机18”)的分布层。虽然未示出,但是数据中心10还可以包括例如一个或多个非边缘交换机、路由器、集线器、网关、诸如防火墙、入侵检测和/或入侵防御装置等安全装置、服务器、计算机终端、膝上型计算机、打印机、数据库、诸如蜂窝电话或个人数字助理等无线移动装置、无线接入点、网桥、线缆调制解调器、应用加速器或其他网络装置。
在这个实例中,TOR交换机16和机箱交换机18向服务器12提供到IP结构20和服务提供商网络7的冗余(多宿)连接。机箱交换机18聚合流量流,并在TOR交换机16之间提供高速连接。TOR交换机16可以是提供第二层(例如,MAC)和/或第三层(例如,IP)路由和/或交换功能的网络装置。TOR交换机16和机箱交换机18可以均包括一个或多个处理器和存储器,能够执行一个或多个软件处理。机箱交换机18耦接到IP结构20,该结构执行第3层路由,以通过服务提供商网络7在数据中心10和客户11之间路由网络流量。
根据本公开的一个或多个实施方式,SDN控制器22提供逻辑上并且在某些情况下物理上集中的控制器,用于促进数据中心10内的一个或多个虚拟网络的操作,例如,数据中心10A。如本文所述,术语SDN控制器和虚拟网络控制器(VNC)可以互换使用。在一些实例中,SDN控制器22可以响应于从网络管理员24接收的配置输入而操作。
在一些实例中,SDN控制器22响应于从编排引擎23接收的配置输入而操作,编排引擎23又响应于从管理员24接收的配置输入而操作。关于与数据中心10的其他装置或其他软件定义的网络一起操作的SDN控制器22的额外信息可见2013年6月5日提交的题为“PHYSICAL PATH DETERMINATION FOR VIRTUAL NETWORK PACKET FLOWS”的国际申请号PCT/US2013/044378,该申请通过引用结合于此,如同在此完全阐述一样。
在一些实例中,编排引擎23管理数据中心10的功能,例如,计算、存储、联网和应用资源。例如,编排引擎23可以为数据中心10内或跨数据中心的租户创建虚拟网络。编排引擎23可以将虚拟机(VM)附接到租户的虚拟网络。编排引擎23可以将租户的虚拟网络连接到某个外部网络,例如,互联网或VPN。编排引擎23可以在一组VM上或向租户网络的边界实现安全策略。编排引擎23可以在租户的虚拟网络中部署网络服务(例如,负载平衡器)。
在一些实例中,SDN控制器22管理网络和网络服务,例如,负载平衡、安全性,并将资源从服务器12分配给各种应用程序。例如,SDN控制器22通过配置物理交换机,例如,TOR交换机16、机箱交换机18和交换结构14;物理路由器;物理服务节点,例如,防火墙和负载平衡器;以及虚拟服务,例如,VM中的虚拟防火墙,来实现来自编排引擎23的高级请求。SDN控制器22在状态数据库中维护路由、网络和配置信息。
通常,任何两个网络装置之间的流量(例如,在IP结构20内的网络装置(未示出)之间,或者在服务器12和客户11之间,或者在服务器12之间)可以使用许多不同的路径遍历物理网络。分组流(或“流”)可以由分组报头中使用的五个值或“五元组”来定义,即,用于通过物理网络路由分组的协议、源IP地址、目的IP地址、源端口和目的端口。例如,协议指定了通信协议,例如,TCP或UDP,源端口和目的端口是指连接的源端口和目的端口。与特定流条目匹配的一个或多个分组数据单元(PDU)组表示一个流。可以使用PDU的任何参数对流进行广义分类,例如,源和目的数据链路(例如,MAC)和网络(例如,IP)地址、虚拟局域网(VLAN)标签、传输层信息、多协议标签交换(MPLS)或通用MPLS(GMPLS)标签以及接收流的网络装置的入口端口。例如,一个流可以是在传输控制协议(TCP)连接中传输的所有PDU、由特定的MAC地址或IP地址提供的所有PDU、具有相同VLAN标签的所有PDU、或在相同交换端口接收的所有PDU。
管理员有时可能希望在组成交换结构14的一个或多个网络装置16、18上执行软件升级。传统上,管理员可能必须手动将软件升级安装到每个单独的网络装置16、18,这是耗时的,并且给数据中心10带来很大的管理负担。此外,在此期间,装置离线转换,无法处理客户流量,导致在云数据中心内执行的客户应用程序中断。一些网络装置支持ISSU,因为能够在不离线转换或中断客户流量的情况下执行这种软件升级。
一些网络装置支持在服务中软件升级(In-Service Software Upgrade(ISSU)-capable),因为能够在不离线转换或中断客户流量的情况下执行这种软件升级。一些数据中心可能包含支持ISSU的装置和不支持ISSU的装置的混合。例如,随着数据中心提供商扩展和升级其基础架构,通常会实施“混合网络”,包括更加新的、支持ISSU的装置以及传统的、不支持ISSU的装置。然而,这种混合网络的使用可能会阻止数据中心的管理员将ISSU软件升级部署到混合网络中的所有网络装置,因为这种操作可能会导致可能构成很大一部分交换结构14的不支持ISSU的装置一起离线转换,从而导致中断客户流量流和应用程序。因此,对于混合网络,管理员可能无法利用单独的支持ISSU的装置提供的ISSU能力,并且仍然被迫手动升级交换结构14中的每个网络装置16、18,以防止服务中断。此外,手动升级每个网络装置16、18是麻烦的,并且对于具有大量装置的数据中心来说是很大的管理负担,并且容易出错。
根据本公开的技术,公开了用于将软件升级部署到支持ISSU的网络装置16、18和不支持ISSU的网络装置16、18的混合网络而不中断由混合网络所服务的网络流量的方法、装置和系统。在一个实例中,集中式控制器(例如,云数据中心10的SDN控制器22或管理员计算装置24)确定云数据中心10的哪些网络装置16、18支持ISSU,哪些网络装置16、18不支持ISSU。例如,SDN控制器22发送消息,指示支持ISSU的网络装置16、18执行ISSU操作,例如,应用软件更新。此外,SDN控制器22发送消息,提示不支持ISSU的网络装置16、18向对等网络装置16、18发送消息。这些消息指示该不支持ISSU的网络装置是不支持ISSU的。在一些实例中,使用“对等”网络装置16、18指代与网络装置16、18相邻的网络装置16、18,例如,作为网络装置16、18的BGP对等体的那些网络装置16、18。在一些实例中,对等网络装置16、18是支持ISSU并且已经完成ISSU操作的相邻网络装置16、18。在一些实例中,对等网络装置16、18是不支持ISSU但当前没有经历软件更新的相邻网络装置16、18。接收这种消息的对等网络装置16、18可以处理这些消息,以确定在执行软件升级时,不支持ISSU的网络装置16、18可能无法处理或转发网络流量。响应于确定不支持ISSU的装置16、18可能(或将)不可用,对等网络装置16、18重定向流量,以避免将流量转发到不支持ISSU的网络装置16、18,从而避免通过例如交换结构14的网络流量中断。
本公开的技术提供将软件升级部署到支持ISSU的网络装置和不支持ISSU的网络装置16、18的混合网络,而不中断由混合网络所服务的网络流量。虽然管理员可能仍然需要手动升级不支持ISSU的网络装置16、18,但是即使在支持ISSU的网络装置和不支持ISSU的网络装置16、18的混合网络中,管理员也能够利用支持ISSU的网络装置16、18的ISSU能力,从而显著降低将软件升级部署到混合网络的负担。此外,本公开的技术为不支持ISSU的网络装置16、18提供了一种机制,以向交换结构14中的对等网络装置16、18通知该不支持ISSU的网络装置16、18将离线进行升级,从而允许对等网络装置16、18在不支持ISSU的网络装置不能处理或转发网络流量时(例如,在软件升级期间),临时绕开该不支持ISSU的网络装置16、18路由流量。因此,本公开的技术允许不支持ISSU的网络装置16、18在执行软件升级时避免对由数据中心10服务的客户流量和客户应用造成中断。以这种方式,这些技术允许软件升级的可扩展部署,并降低复杂性,简化对支持ISSU的网络装置16、18和不支持ISSU的网络装置16、18的混合网络的这种软件升级的管理。
在一些实例中,描述了边界网关协议(BGP)的扩展,用于传播装置是支持ISSU还是不支持ISSU。例如,网络装置16、18可以经由BGP指示其ISSU能力。这样的BGP消息可以指定网络装置16、18的ISSU能力,例如,网络装置16、18是“支持ISSU(ISSU-CAPABLE)”还是“不支持ISSU(ISSU-NOT-CAPABLE),”,作为BGP的扩展社区(extended community,扩展共同体)。在“BGP Extended Communities Attribute”RFC 4 360,互联网工程任务组(IETF),2006年2月,描述关于BGP扩展社区实施的其他信息,可在https://tools.ietf.org/rfc/rfc4360获得,其全部内容通过引用结合于此。网络装置16、18可以使用BGP消息向例如对等网络装置16、18或SDN控制器22指示其ISSU能力。关于BGP的更多信息,见:“A Border GatewayProtocol 4(BGP-4)”,RFC 4271,IETF,2006年1月,可在https://tools.ietf.org/html/rfc4271获得;“BGP MPLS-Based Ethernet VPN”,RFC 7432,IETF,2015年2月,可在https://tools.ietf.org/html/rfc7432获得,其全部内容通过引用结合于此。
图2是进一步详细示出图1的数据中心10A的实例实现的框图。在图2的实例中,数据中心10A包括覆盖网络,该覆盖网络将交换结构14从物理交换机16、18扩展到软件或“虚拟”交换机30A至30X(统称为“虚拟路由器30”)。虚拟路由器30动态创建和管理可用于在应用实例之间通信的一个或多个虚拟网络34。在一个实例中,虚拟路由器30执行虚拟网络,作为覆盖网络,这提供了将应用程序的虚拟地址与应用程序正在其上执行的服务器12A至12X(“服务器12”)之一的物理地址(例如,IP地址)解耦的能力。每个虚拟网络可以使用其自己的寻址和安全方案,并且可以被视为与物理网络及其寻址方案正交。各种技术可用于通过物理网络在虚拟网络34内和在虚拟网络34上传输分组。在一些实例中,本公开中描述的技术在虚拟网络34内提供多播服务,而不需要底层物理网络中的多播支持。
每个虚拟路由器30可以在管理程序、主机操作系统或每个服务器12的其他组件中执行。每个服务器12可以表示x86或能够执行虚拟机36的其他通用或专用服务器。在图2的实例中,虚拟路由器30A在管理程序31内执行,管理程序31通常也称为虚拟机管理器(VMM),其提供允许多个操作系统在服务器12之一上同时运行的虚拟化平台。在图2的实例中,虚拟路由器30A管理虚拟网络34,每个虚拟网络34提供网络环境,用于在由管理程序31提供的虚拟化平台之上执行一个或多个虚拟机(VM)36。每个VM 36与虚拟网络VN0至VN1中的一个相关联,并且可以表示运行诸如网络服务器、数据库服务器、企业应用或用于创建服务链的托管虚拟化服务等客户应用的租户VM。在一些情况下,服务器12或另一计算装置中的任何一个或多个可以直接托管客户应用,即,不作为虚拟机。在一些情况下,一些VM 36可以表示容器,另一种形式的虚拟化执行环境。即,虚拟机和容器都是用于执行工作负载的虚拟化执行环境的实例。
通常,每个VM 36可以是任何类型的软件应用,并且可以分配虚拟地址,以在相应的虚拟网络34内使用,其中,每个虚拟网络可以是由虚拟路由器30A提供的一不同虚拟子网。VM 36可以被分配其自己的虚拟第三层(L3)IP地址,例如,用于发送和接收通信,但是可能不知道虚拟机正在其上执行的物理服务器12A的IP地址。以这种方式,“虚拟地址”是应用程序的地址,其不同于底层物理计算机系统的逻辑地址,例如,图1或2的实例中的服务器12A。
在一个实现方式中,每个服务器12包括虚拟网络(VN)代理35A至35X(统称为“VN代理35”)中相应的一个,其控制虚拟网络34的覆盖并协调服务器12内的数据包路由。通常,每个VN代理(agent)35与SDN控制器22通信,SDN控制器22生成命令来控制通过数据中心10A路由分组。VN代理35可以充当虚拟机36和SDN控制器22之间的控制平面消息的代理(proxy)。例如,VM 36可以请求使用其虚拟地址经由VN代理35A发送消息,VN代理35A又可以发送该消息,并请求接收对发起第一消息的VM 36的虚拟地址的消息响应。在一些情况下,VM 36可以调用由VN代理35A的应用编程接口呈现的进程或函数调用,并且VN代理35A也可以处理消息的封装,包括寻址。
在一些实例实现方式中,每个服务器12还包括直接与编排引擎23通信的编排代理(图2中未示出)。例如,响应于来自编排引擎23的指令,编排代理传送在相应服务器12上执行的特定VM 30的属性,并且可以创建或终止单独的VM。
在一个实例中,由虚拟网络域内的虚拟机36执行的应用程序的实例生成或消费的网络分组(例如,第三层(L3)IP分组或第二层(L2)以太网分组)可以封装在由物理网络传输的另一分组(例如,另一IP或以太网分组)中。在虚拟网络中传输的分组在本文可以称为“内部分组”,而物理网络分组在本文可以称为“外部分组”或“隧道分组”。物理网络分组内的虚拟网络分组的封装和/或解封装可以在虚拟路由器30内执行,例如,在运行于每个服务器12上的管理程序或主机操作系统内。作为另一实例,封装和解封装功能可以在第一跳TOR交换机16处的交换结构14的边缘执行,第一跳TOR交换机16是从发起分组的应用实例移动的一跳。该功能在本文称为隧道(tunneling),并且可以在数据中心10A内用于创建一个或多个覆盖网络。除了IPinIP之外,可以使用的其他实例隧道协议包括通过GRE的IP、VxLAN、通过GRE的MPLS、通过UDP的MPLS等。
如上所述,SDN控制器22提供逻辑集中的控制器,用于促进数据中心10A内的一个或多个虚拟网络的操作。SDN控制器22可以例如维护路由信息库,例如,存储物理网络以及数据中心10A的一个或多个覆盖网络的路由信息的一个或多个路由表。类似地,交换机16、18和虚拟路由器30维护路由信息,例如,一个或多个路由和/或转发表。在一个实例实现中,管理程序31的虚拟路由器30A为每个虚拟网络34实现网络转发表(NFT)32。通常,每个NFT32存储对应虚拟网络34的转发信息,并识别数据包被转发到哪里以及数据包是否将封装在隧道协议中,例如,具有隧道报头,该隧道报头可以包括虚拟网络协议栈的不同层的一个或多个报头。
根据本公开的技术,软件升级部署到支持ISSU的网络装置16、18和不支持ISSU的网络装置16、18的混合网络,而不中断由混合网络所服务的网络流量。在一个实例中,云数据中心10的SDN控制器22确定云数据中心10的哪些网络装置16、18支持ISSU,哪些网络装置16、18不支持ISSU。SDN控制器22可以例如从每个网络装置16、18请求网络装置16、18的配置信息。这种配置信息可以包括例如网络装置16、18的装置型号或当前软件版本。SDN控制器22可以接收配置信息,并将配置信息与描述多个不同类型的网络装置16、18的ISSU能力的参考表进行比较。在图2的实例中,SDN控制器22确定机箱交换机18A和TOR交换机16A支持ISSU,而机箱交换机18B和TOR交换机16B不支持ISSU。在一些实例中,SDN控制器22为每个网络装置16、18存储网络装置16、18是支持ISSU还是不支持ISSU的指示。
在一些实例中,SDN控制器22可以包括策略控制器(未示出),该策略控制器被配置为用ISSU能力“标签”来标记网络装置16、18。如本文所述,“标签”是指提供信息以根据特定值或一组值将对象进行分类的数据结构。在一些实例中,标签包括密钥/值对,其中,密钥描述对象的类别,值提供类别的描述符。作为实例,在标签包括第一密钥/值对的情况下,标签的密钥是“ISSU能力”,与密钥相关联的值是“支持ISSU”或“不支持ISSU”能力。此外,如本文所使用的,“标记”对象是指将对象分类到由策略规则中包括的标签指定的类别中。例如,SDN控制器22可以使用策略控制器用“支持ISSU”标签200来标记机箱交换机18A和TOR交换机16A,用“不支持ISSU”标签202来标记机箱交换机18B和TOR交换机16B。这种标签的使用可以允许SDN控制器22经由策略控制器并基于所应用的标签,将用于应用程序的网络策略分发到网络装置16、18。这种策略可以包括例如部署ISSU操作,以应用软件更新。关于策略控制器的实现和标签在基础设施设备上的应用的进一步解释,见Miriyala等人在2017年11月21日提交的题为“SCALABLE POLICY MANAGEMENT FOR VIRTUAL NETWORKS”的美国专利申请第15/819,522,其全部内容通过引用结合于此。
SDN控制器22向支持ISSU的网络装置16、18(例如,机箱交换机18A和TOR交换机16A)发送消息,指示机箱交换机18A和TOR交换机16A执行ISSU操作。在一些实例中,SDN控制器22可以执行“单触发”操作,因为SDN控制器22可以从用户或管理员接收在支持ISSU的网络装置16、18上执行ISSU操作的命令。响应于该命令,SDN控制器22发送一个或多个消息,指示交换结构14中的每个支持ISSU的网络装置16、18与每个其他支持ISSU的网络装置16、18启动ISSU操作的时间段基本上同时启动ISSU操作。
在一些实例中,指示支持ISSU的装置执行ISSU的消息可以包括一个或多个软件包,用于支持ISSU的网络装置16、18进行安装。在其他实例中,该消息可以指定支持ISSU的网络装置16、18可以从中检索一个或多个软件包用于支持ISSU的网络装置16、18进行安装的位置。在一些实例中,在成功完成ISSU操作后,支持ISSU的网络装置16、18通知SDN控制器22完成ISSU操作。
如果ISSU操作不成功,则一个或多个支持ISSU的网络装置16、18将向SDN控制器22通知ISSU操作失败。作为响应,SDN控制器22可以例如指示出现故障的网络装置16、18尝试重试ISSU,中止ISSU,提供描述出现故障的ISSU的日志信息,通知管理员该故障或者采取一些其他行动。在一些实例中,SDN控制器22可以将故障网络装置16、18重新分类为不支持ISSU,从而对故障网络装置16、18执行手动升级。
此外,SDN控制器22向不支持ISSU的网络装置16、18(例如,机箱交换机18B和TOR交换机16B)发送消息,提示不支持ISSU的网络装置16、18向对等网络装置16、18(例如,机箱交换机18A和TOR交换机16A)发送消息。这些消息指示不支持ISSU的网络装置是不支持ISSU的。在一些实例中,每个不支持ISSU的网络装置16、18向不支持ISSU的网络装置的每个BGP对等体发送消息。在一些实例中,对等网络装置16、18是支持ISSU并且已经完成ISSU操作的相邻网络装置16、18。在一些实例中,对等网络装置16、18是不支持ISSU但当前没有经历软件更新(例如,已经完成软件更新或计划在稍后时间完成软件更新)的相邻网络装置16、18。
在一些实例中,不支持ISSU的网络装置16、18可以经由BGP发送这样的消息。在一些实例中,BGP消息指定网络装置16、18的ISSU能力,例如,网络装置16、18是“支持ISSU”还是“不支持ISSU”,作为BGP的扩展社区。例如,每个不支持ISSU的网络装置16、18可以向对等网络装置16、18发送BGP消息,该消息指定发送网络装置16、18是作为BGP的扩展社区的不支持ISSU。
接收这种消息的对等网络装置16、18可以处理这些消息,以确定在执行软件升级时,不支持ISSU的网络装置16、18可能无法处理或转发网络流量。响应于确定不支持ISSU的装置16、18可能(或将)不可用,对等网络装置16、18重定向流量,以避免将流量转发到不支持ISSU的网络装置16、18,从而避免通过例如交换结构14的网络流量中断。在一些实例中,对等网络装置16、18可以从对等网络装置16、18的路由信息库(RIB)中删除描述不支持ISSU的网络装置16、18的条目,以避免在因为不支持ISSU的网络装置16、18正在执行升级而不支持ISSU的网络装置16、18不可用于处理或转发流量时,将流量转发到不支持ISSU的网络装置16、18。
在一些实例中,在不支持ISSU的网络装置16、18完成软件升级之后,不支持ISSU的网络装置16、18可以通知对等网络装置16、18不支持ISSU的网络装置16、18在线并且能够处理网络流量。这可以通过使用上文引用的“BGP MPLS-Based Ethernet VPN”RFC 7432中描述的常规BGP消息来实现。
图3是进一步详细示出图1的软件定义网络(SDN)控制器的实例实现的框图。在图3的实例中,SDN控制器22包括一个或多个分析节点50A至50X(统称为“分析节点50”)、一个或多个配置节点52A至52X(统称为“配置节点52”)和控制节点54A至54X(统称为“控制节点54”)。通常,节点50、52和52中的每一个都可以实现为单独的软件处理,并且节点可以分布在为软件执行提供环境的多个硬件计算平台上。此外,每个节点维护状态数据56,状态数据56可以存储在集中式或分布式数据库中。在一些实例中,状态数据库56是NoSQL数据库。在一些实例中,状态数据库56是数据库集群。
通常,分析节点50的任务是收集、存储、关联和分析来自数据中心10内的虚拟和物理网元的信息。该信息可以包括用于管理数据中心10的路由和网络配置的统计数据、日志、事件和错误。分析节点50将该信息存储在状态数据库56中。
配置节点52将编排引擎23的高级数据模型转换成适合于与诸如物理交换机16、18和VR代理35等网元交互的低级模型。配置节点52将SDN控制器22的配置状态的永久副本保存在状态数据库56中。
控制节点54实现负责维护短暂网络状态的逻辑集中式控制平面。控制节点54相互之间以及与网元(例如,服务器12的虚拟路由器42)交互,以确保网络状态最终与编排引擎23指定的期望状态一致。通常,控制节点54从配置节点32接收SDN控制器22的配置状态,并经由IBGP相互交换路由,以确保所有控制节点54具有相同的网络状态。此外,控制节点54经由XMPP与服务器12上的VR代理35交换路由。控制节点54例如经由XMPP将配置状态信息(例如,路由实例和转发策略)传送给VR代理35,以便安装在相应的虚拟路由器30内。在一些实例中,控制节点54代表服务器12代理流量。可以通过XMPP接收这些代理请求。此外,控制节点54经由BGP与SDN网关8交换路由,并且经由Netconf与服务节点21交换SDN控制器22的配置状态。
配置节点52提供发现服务,客户可以使用该服务来定位网络中可用的各种服务。例如,如果VR代理35A试图与控制节点54A连接,则使用配置节点52提供的发现服务来发现控制节点54A的IP地址。在VM 36上执行的客户端可以使用本地配置、DHCP或DNS来定位配置节点52内的服务发现服务器。
在一些实例中,配置节点52呈现与编排引擎23进行接口的北向API(northboundAPI)。编排引擎23使用该接口来使用高级数据模型安装配置状态。配置节点52还包括便于内部组件之间通信的消息总线。配置节点52还包括转换器,其发现编排引擎23的高级模型的变化,并将这些变化转换成由SDN控制器22管理的低级数据模型的相应变化。配置节点52还包括IF-MAP服务器,该服务器提供南向API,以将计算的低级配置下推到控制节点54。此外,配置节点52包括分布式应用程序管理器,用于分配唯一的对象标识符并在数据中心10上实现事务(transaction)。
根据本公开的技术,一个或多个控制节点54将软件升级部署到图1的网络装置16、18,而不中断由网络装置16、18服务的网络流量。在一个实例中,控制节点54确定哪些网络装置16、18支持ISSU,哪些网络装置16、18不支持ISSU。控制节点54可以例如从每个网络装置16、18请求网络装置16、18的配置信息。这种配置信息可以包括例如网络装置16、18的装置型号或当前软件版本。控制节点54可以接收配置信息并将该配置信息与存储在状态数据56中的参考表进行比较,该参考表描述了多个不同类型的网络装置16、18的ISSU能力。在一些实例中,控制节点54在状态数据56中为每个网络装置16、18存储网络装置16、18支持ISSU还是不支持ISSU的指示。
在一些实例中,控制节点54实现策略控制器(未示出),该策略控制器被配置为用ISSU能力“标签”来标记网络装置16、18。作为实例,在标签包括第一密钥/值对的情况下,标签的密钥是“ISSU能力”,并且与密钥相关联的值是“支持ISSU”或“不支持ISSU”能力。这种标签的使用可以允许控制节点54经由策略控制器并基于所应用的标签,将用于应用的网络策略分发到网络装置16、18。这种策略可以包括例如部署ISSU操作,以应用软件更新。
控制节点54向支持ISSU的网络装置16、18(例如,图1的机箱交换机18A和TOR交换机16A)发送消息,指示机箱交换机18A和TOR交换机16A执行ISSU操作。在一些实例中,控制器节点54可以执行“单触发”操作,因为控制器节点54可以从用户或管理员接收在支持ISSU的网络装置16、18上执行ISSU操作的命令。响应于该命令,控制节点54发送一个或多个消息,指示图1的交换结构14中的每个支持ISSU的网络装置16、18与每个其他支持ISSU的网络装置16、18启动ISSU操作的时间段基本上同时启动ISSU操作。
在一些实例中,指示支持ISSU的装置执行ISSU的消息可以包括一个或多个软件包,用于支持ISSU的网络装置16、18安装。在其他实例中,该消息可以指定支持ISSU的网络装置16、18可以从中检索一个或多个软件包用于支持ISSU的网络装置16、18安装的位置。在一些实例中,在成功完成ISSU操作后,支持ISSU的网络装置16、18通知一个或多个控制节点54完成ISSU操作。
此外,控制节点54向不支持ISSU的网络装置16、18(例如,图1的机箱交换机18B和TOR交换机16B)发送消息,提示不支持ISSU的网络装置16、18向对等网络装置16、18(例如,机箱交换机18A和TOR交换机16A)发送消息。该消息指示不支持ISSU的网络装置16、18是不支持ISSU的。在一些实例中,每个不支持ISSU的网络装置16、18向不支持ISSU的网络装置的每个BGP对等体发送消息。在一些实例中,对等网络装置16、18是支持ISSU并且已经完成ISSU操作的相邻网络装置16、18。在一些实例中,对等网络装置16、18是不支持ISSU但当前没有经历软件更新(例如,已经完成软件更新或计划在稍后时间完成软件更新)的相邻网络装置16、18。接收这种消息的对等网络装置16、18可以处理这些消息,以确定在执行软件升级时,不支持ISSU的网络装置16、18可能无法处理或转发网络流量。响应于确定不支持ISSU的装置16、18可能(或将)不可用,对等网络装置16、18重定向流量,以避免将流量转发到不支持ISSU的网络装置16、18,从而避免通过例如交换结构14的网络流量中断。因此,通过提示不支持ISSU的网络装置16、18发送指示不支持ISSU的网络装置16、18是不支持ISSU的这种消息,控制器节点54可以在不中断网络装置16、18所服务的网络流量的情况下,在交换结构14上编排软件升级。
图4是示出路由器的实例的框图,其中,可以实现本文描述的技术的实例。网络装置400可以作为交换结构14的任何物理装置来操作,例如,图1的机箱交换机18或TOR交换机16中的一个。此外,网络装置400可以是图1中未明确描绘的另一种类型的网络装置的实例,例如,网关、交换机或路由器。
在图4所示的实例中,网络装置400包括控制单元452,其具有路由引擎454和转发引擎456,路由引擎454为网络装置提供控制平面功能,转发引擎456为网络装置提供转发或数据平面功能,以通过通常具有一个或多个物理网络接口端口的一组接口卡484A至484N(“IFC 484”)发送和接收流量。控制单元452可以包括一个或多个守护进程(未示出),该守护进程包括用户级进程,所述用户级进程运行网络管理软件,执行路由协议,以与对等路由器或交换机通信,维护和更新路由引擎454中的一个或多个路由表,并且创建一个或多个转发表,以安装在转发引擎456中,并且具有其他功能。
转发引擎456执行分组交换和输入数据分组的转发,以便在网络上传输。如图4所示,转发引擎456包括转发信息库(FIB)480,其存储将网络目的地与下一跳和输出接口相关联的转发数据结构。尽管图4中未示出,但是转发引擎456可以包括中央处理单元(CPU)、存储器和一个或多个可编程分组转发专用集成电路(ASIC)。
路由引擎454包括为网络装置400执行路由功能的各种协议466。在图4所示的实例中,路由引擎454包括BGP 470和IGP 472,作为路由协议,用于与网络中的其他路由装置交换路由信息,以便发现网络拓扑并更新路由信息库(RIB)474。在本公开描述的实例中,IGP472可以是链路状态路由协议,例如,开放最短路径优先(OSPF)或中间系统-中间系统(IS-IS)。
在网络装置400支持ISSU的实例中,路由引擎454可以包括ISSU 473,以向网络装置400提供ISSU能力,用于在不中断网络装置400的流量处理和转发能力的情况下执行软件升级。在网络装置400不支持ISSU的实例中,路由引擎454可能不包括ISSU 473。在一些实例中,网络装置400的一个或多个功能可以被虚拟化,例如,在网络装置400是虚拟路由器的情况下。关于虚拟路由器如何执行ISSU的额外信息,见Venkata等人于2017年6月30日提交的题为“IN-SERVICE SOFTWARE UPGRADE OF VIRTUAL ROUTER WITH REDUCED PACKET LOSS”的美国专利申请第15/639,556号,其全部内容通过引用结合于此。
RIB 474可以描述网络装置400所驻留的网络的拓扑,并且还可以描述网络中的各种路由以及每个路由的适当的下一跳,即,沿着每个路由的相邻路由装置。路由引擎454分析存储在RIB 474中的信息,以生成转发信息。路由引擎454然后将转发数据结构安装到转发引擎456内的FIB 480中。FIB 480将网络目的地与转发平面内的特定下一跳和相应接口端口相关联。LIB 476维护下一跳标签到来自RIB 474的网络内的每个路由的下一跳的映射。
根据本公开的技术,在网络装置400不支持ISSU的实例中,网络装置400在执行软件升级时可能无法处理和转发网络流量。例如,在执行软件升级时,网络装置400可能需要暂时离线转换或暂时挂起、停用、重新开始、重启或以其他方式禁用某些功能,例如,软件模块或硬件特征。因此,响应于确定网络装置400将执行软件升级,网络装置400可以向对等网络装置16、18发送指示网络装置400不支持ISSU的消息。在一些实例中,网络装置400可以经由BGP 470发送这样的消息。在一些实例中,BGP消息指定网络装置400的ISSU能力,例如,网络装置400是“支持ISSU”还是“不支持ISSU”,作为BGP 470的扩展社区471。例如,网络装置400可以向相邻网络装置16、18发送BGP消息,该消息指定网络装置400是不支持ISSU的,作为BGP 470的扩展社区471。在一些实例中,网络装置400可以响应于来自集中式控制器(例如,SDN控制器22或本地访问网络装置400的管理员)的消息来发送这样的消息。在一些实例中,在网络装置400完成软件升级之后,网络装置400可以向对等网络装置16、18通知网络装置400在线并且能够处理网络流量。这可以通过使用在上文引用的“BGP MPLS-BasedEthernet VPN”RFC 7432中描述的常规BGP消息来实现。
此外,网络装置400可以接收如上所述的消息,该消息指示另一网络装置16、18不支持ISSU。响应于接收到指示另一网络装置16、18不支持ISSU的消息,网络装置400被配置为重定向流量,以避免将流量转发到另一网络装置16、18,从而避免中断数据中心10服务的网络流量。在一些实例中,网络装置400可以从RIB 474中删除描述另一不支持ISSU的网络装置16、18的条目,以避免在另一不支持ISSU的网络装置16、18执行升级从而无法处理或转发网络流量时将流量转发到该另一不支持ISSU的网络装置16、18。在一些实例中,网络装置400计算到达网络流量目的地的新路由。新路由可以包括例如网络装置16、18中的另一个,作为网络流量的下一跳,作为替代路由,以便绕过另一不支持ISSU的网络装置16、18。网络装置400在RIB 474中存储新路由,在FIB 480中存储转发结构。网络装置400可以被配置为处理指示另一网络装置16、18不支持ISSU的消息,而不管网络装置400本身支持ISSU还是不支持ISSU。
图5是示出根据本文描述的技术的包括ISSU能力信息的实例消息的框图。扩展的BGP UPDATE消息500符合BGP-4的多协议扩展(MP-BGP)。关于MP-BGP的额外信息由BGP-4的多协议扩展协议,RFC 4760,IETF,2007年1月提供,可在https://tools.ietf.org/html/rfc4760获得,其全部内容通过引用结合于此。
BGP UPDATE消息(例如,实例消息500)可以用于在BGP对等体之间(例如,在网络装置16、18之间)传送路由信息。UPDATE消息500中的信息可以被网络装置16、18中的一个用来构建描述各种对等装置与网络装置16、18中的一个的关系的图表。通过应用在这样的BGPUPDATE消息中阐述的规则,网络装置16、18可以检测路由信息循环,并且其他异常从AS间路由中移除这样的问题。
网络装置16、18中的一个可以使用BGP UPDATE消息,例如,实例消息500,来向对等网络装置16、18通告共享公共路径属性的可行路由,或者从服务中撤回多个不可行路由。BGP UPDATE消息可以同时通告可行路由,并从服务中撤回多个不可行路由。BGP UPDATE消息包括固定大小的BGP报头,并且可以包括其他字段(例如,如本文描述的扩展社区)。一些字段可能不会出现在每个BGP UPDATE消息中。
实例BGP UPDATE消息500包括撤回路由501。出于说明的目的,使用字形而不是分组字段来说明扩展的BGP UPDATE消息500。撤回路由501可以包括指示撤回路由的总长度的前一整数。值为0表示没有从服务中撤回路由,并且在UPDATE消息中不存在撤回的路由。撤回路由501还可以包括正在从服务中撤回的路由的IP地址前缀列表。
实例BGP UPDATE消息500还包括路径属性502。路径属性502是指定UPDATE消息500的路径属性的可变长度序列。路径属性502通常出现在BGP UPDATE消息中,除非BGP UPDATE消息仅指定撤回的路由。路径属性502进一步指定一个或多个属性标志。属性标志指定例如属性是可选的还是众所周知的、可选属性是可传递的还是不可传递的、包含在可选的可传递属性中的信息是部分的还是完整的、属性长度和属性类型。
路径属性502指定的属性类型可以包括例如原点、AS路径和下一跳。原点属性类型是众所周知的强制属性,定义了路径信息的原点。例如,原点可以指定内部网关协议(IGP)(例如,网络层可达性信息(NLRI)在始发AS的内部)、外部网关协议(EGP)(例如,经由EGP协议获知NLRI)或不完整(例如,通过一些其他方式获知NLRI)中的一个。
AS路径属性类型是众所周知的强制属性,由一系列AS路径段组成。AS路径可以指定UPDATE消息500中的路由已经遍历的无序AS集合,或者UPDATE消息500中的路由已经遍历的有序AS集合。
下一跳属性类型是众所周知的强制属性,其定义了网络装置的应当用作到UPDATE消息500的MP-REACH-NLRI字段503中列出的目的地的下一跳的IP地址(例如,单播)。
NLRI字段503和507中的每一个都包含一个IP地址前缀列表。例如,MP-REACH-NLRI503承载一组可到达的目的地以及用于转发到这些目的地的下一跳信息。MP-UNREACH-NLRI507承载一组不可达的目的地。这两个属性都是可选的和不可传递的。这样,不支持多协议BGP能力的BGP发言者(例如,网络装置16、18中的一个)可以忽略这些属性中承载的信息,并且不会将其传递给其他BGP发言者。
MP-REACH-NLRI 503指定例如地址族标识符(AFI)、后续地址族标识符(SAFI)、下一跳和NLRI。AFI字段与SAFI字段一起识别下一跳字段中承载的地址所属的一组网络层协议、下一跳地址的编码方式以及NLRI的语义。如果允许下一跳来自不止一个网络层协议,则下一跳的编码提供了一种确定所使用的网络层协议的方法。NLRI字段列出了NLRI在MP-REACH-NLRI 503中通告的可行路由。
MP-UNREACH-NLRI 507为一个或多个撤回路由指定例如AFI、SAFI和NLRI。MP-UNREACH-NLRI 507的AFI和SAFI类似于MP-REACH-NLRI 503的AFI和SAFI。撤回路由NLRI为从服务中撤回的一个或多个路由列出NLRI。在一些实例中,消息500包含MP_UNREACH_NLRI507,并且不需要承载任何其他路径属性。
UPDATE消息500通告一组路径属性502,但是可以通告多个目的地,只要这些目的地共享路径属性502。包含在给定UPDATE消息500中的路径属性502适用于由UPDATE消息500的NLRI字段503和507指定的所有目的地。
UPDATE消息500可以列出要从服务中撤回的多个路由。每个这样的路由由其目的地(表示为IP前缀)识别,该目的地在先前已通告的BGP发言者-BGP发言者连接的上下文中明确地识别该路由。
UPDATE消息500可以只通告将要从服务中撤回的路由,在这种情况下,消息500不包括路径属性502或NLRI。相反,UPDATE消息500可以仅通告可行的路由,在这种情况下,撤回路由字段501不需要存在。
UPDATE消息500通常在撤回路由字段501中不包括与NLRI字段503或507中相同的地址前缀。然而,BGP发言者可以支持以这种形式处理UPDATE消息500。BGP发言者通常将这种形式的UPDATE消息500视为撤回路由字段501不包含地址前缀。
扩展社区属性512包括定义网络装置的ISSU能力的ISSU能力字段513。例如,网络装置16、18可以发送包括ISSU能力字段513的消息500,以指示装置执行ISSU的能力。ISSU能力字段513可以指定例如“支持ISSU”,以指示网络装置16、18支持ISSU,或者指定“不支持ISSU”,以指示网络装置16、18不支持ISSU。以这种方式,接收到指示对等网络装置不支持ISSU的BGP UPDATE消息500的网络装置16、18可以确定对等网络装置在执行软件升级时不能处理或转发网络流量。网络装置16、18可以进一步绕开对等网络装置路由网络流量,以便允许交换结构14在对等网络装置执行软件更新时继续操作,以传输客户流量。
图6是示出根据本公开技术的实例操作的流程图。为了方便起见,参考图1、2和3描述了图6。在图6的实例中,第一网络装置400A和第二网络装置400B是图3的网络装置400的实例。此外,第一网络装置400A和第二网络装置400B是彼此的BGP对等体。
在图6的实例中,软件升级部署到网络装置16、18的混合网络,而不中断由混合网络所服务的网络流量,其中,网络装置16、18包括支持ISSU的网络装置400A和不支持ISSU的网络装置400B。在一个实例中,云数据中心10的SDN控制器22确定云数据中心10的哪些网络装置16、18支持ISSU,哪些网络装置16、18不支持ISSU。在图6的实例中,SDN控制器22确定第一网络装置400A支持ISSU,第二网络装置400B不支持ISSU(600)。SDN控制器22可以例如从网络装置400A和400B请求网络装置的配置信息。这种配置信息可以包括例如网络装置的装置型号或当前软件版本。SDN控制器22可以接收配置信息,并将配置信息与描述多个不同类型的网络装置的ISSU能力的参考表进行比较。在一些实例中,SDN控制器22为网络装置400A和400B中的每一个存储网络装置是支持ISSU还是不支持ISSU的指示。
SDN控制器22发送指示网络装置400A执行ISSU操作的消息(602)。在一些实例中,指令可以包括供网络装置400A安装的一个或多个软件包。在其他实例中,指令可以指定网络装置400A可以从中检索供网络装置400A安装的一个或多个软件包的位置。响应于接收到指令,网络装置400A执行ISSU操作(604)。在一些实例中,在成功完成ISSU操作后,网络装置400A向SDN控制器22发送消息,以通知SDN控制器22完成ISSU操作。
此外,SDN控制器22向网络装置400B发送指令,指示网络装置400B发送指示网络装置400B不支持ISSU的消息(606)。虽然在图6的实例操作中,SDN控制器22发送网络装置400B将离线的指令,但是在其他实例中,网络装置400B可以直接从本地访问网络装置400B的管理员接收这种指令。在一些实例中,SDN控制器22直到确定网络装置400A已经完成ISSU之后才向网络装置400B发送指令。SDN控制器可以等待,直到例如从所有支持ISSU的装置16、18(包括网络装置400A)接收到指示成功完成ISSU的消息,或者从大量(例如,95%、90%、75%、50%等)支持ISSU的装置16、18接收到指示成功完成ISSU的消息。
响应于接收到来自SDN控制器22的指令,网络装置400B向对等网络装置(例如,网络装置400A)发送消息,即,网络装置400B不支持ISSU(608)。在一些实例中,网络装置400B可以发送这种消息,作为包括BGP扩展社区的BGP消息,指定网络装置400B是“不支持ISSU”,如上所述。
响应于接收到指示网络装置400B不支持ISSU的这种消息,网络装置400A确定网络装置400B随后在执行软件升级时可能无法处理或转发流量(610)。此外,网络装置400A重定向流量,以避免将流量转发到网络装置400B,从而避免在网络装置400B执行软件升级时中断由数据中心10服务的网络流量(612)。在一些实例中,网络装置400A从网络装置400A的RIB中删除描述网络装置400B的条目,以避免在网络装置400B执行升级时向网络装置400B转发流量。网络装置400A可以进一步计算到达网络流量目的地的新路由。新路由可以包括例如网络装置16、18中的另一个,作为网络流量的下一跳,作为替代路由,以便绕过网络装置400B。网络装置400A可以在网络装置400A的FIB和RIB中存储新路由和转发结构。
在一些实例中,在网络装置400B完成软件升级之后,网络装置400B可以向相邻网络装置(例如,网络装置400A)通知网络装置400B在线并且能够处理网络流量。这可以通过使用在上文引用的“BGP MPLS-Based Ethernet VPN”RFC 7432中描述的常规BGP消息来实现。
本公开中描述的技术可以至少部分地在硬件、软件、固件或其任意组合中实现。例如,所描述技术的各个方面可以在一个或多个处理器内实现,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效的集成或分立逻辑电路以及这些组件的任何组合。术语“处理器”或“处理电路”通常可以指任何前述逻辑电路,单独或与其他逻辑电路或任何其他等效电路相结合。包括硬件的控制单元也可以执行本公开的一种或多种技术。
这种硬件、软件和固件可以在同一装置内或在单独的装置内实现,以支持本公开中描述的各种操作和功能。此外,任何所描述的单元、模块或组件可以一起或单独实现为分立但可互操作的逻辑装置。将不同特征描述为模块或单元,旨在突出不同的功能方面,并不一定意味着这些模块或单元必须通过单独的硬件或软件组件来实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件或软件组件来执行,或者集成在公共或单独的硬件或软件组件内。
本公开中描述的技术也可以在包含指令的计算机可读介质(例如,计算机可读存储介质)中实现或编码。在计算机可读存储介质中嵌入或编码的指令可以促使可编程处理器或其他处理器执行该方法,例如,当执行指令时。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、磁带、磁介质、光学介质或其他计算机可读介质。
已经描述了各种实例。这些和其他实例在以下权利要求的范围内。
Claims (20)
1.一种计算机网络方法,包括:
由网络的集中式控制器确定用于所述网络的多个网络装置中的第一网络装置支持在服务中软件升级ISSU,所述多个网络装置中的第二网络装置不支持ISSU,其中,支持ISSU的所述第一网络装置被配置为在执行软件升级的同时进行以下各项中的至少一项:处理网络流量、转发网络流量,其中,不支持ISSU的所述第二网络装置在执行软件升级的同时无法处理网络流量或转发网络流量;
由所述集中式控制器发送指示所述第一网络装置执行ISSU操作的一个或多个第一消息;并且
由所述集中式控制器发送一个或多个第二消息,指示所述第二网络装置中的每个网络装置向所述第二网络装置的相应网络装置的对等网络装置发送第三消息,
其中,所述第二网络装置的每个相应网络装置的对等网络装置包括支持ISSU的一个或多个所述第一网络装置或不支持ISSU并且当前没有经历软件升级的一个或多个第二网络装置,所述对等网络装置相邻所述第二网络装置的相应网络装置,并且
其中,所述第三消息:
表明所述第二网络装置中的所述相应网络装置不支持ISSU;以及
指示所述对等网络装置重定向流量以避免将所述流量转发至所述第二网络装置的所述相应网络装置。
2.根据权利要求1所述的计算机网络方法,其中,表明所述网络装置不支持ISSU的所述第三消息中的每一者是表明所述网络装置不支持ISSU的边界网关协议BGP扩展社区消息。
3.根据权利要求1所述的计算机网络方法,其中,确定所述第一网络装置支持ISSU并且所述第二网络装置不支持ISSU,包括:
由所述集中式控制器向所述多个网络装置中的每个网络装置请求网络装置的配置信息;并且
由所述集中式控制器针对每个网络装置确定所述网络装置的配置信息是表明所述网络装置支持ISSU还是表明所述网络装置不支持ISSU。
4.根据权利要求3所述的计算机网络方法,其中,所述配置信息包括装置型号或软件版本中的至少一者。
5.根据权利要求1至4中任一项所述的计算机网络方法,其中,确定所述第一网络装置支持ISSU并且所述第二网络装置不支持ISSU,包括:
由所述集中式控制器针对每个网络装置确定应用于所述网络装置的一个或多个标签是表明所述网络装置支持ISSU还是表明所述网络装置不支持ISSU。
6.根据权利要求1至4中任一项所述的计算机网络方法,其中,发送指示所述第一网络装置执行ISSU操作的所述一个或多个第一消息,包括:
由所述集中式控制器从用户接收在所述第一网络装置上执行ISSU操作的命令;并且
由所述集中式控制器响应于所述命令,发送指示所述第一网络装置执行ISSU操作的所述一个或多个第一消息,其中,所述一个或多个第一消息进一步指示所述第一网络装置中的每一者在与每个其他所述第一网络装置启动ISSU操作的时间段同时的时间段启动ISSU操作。
7.根据权利要求1至4中任一项所述的计算机网络方法,还包括:由所述集中式控制器为所述多个网络装置中的每个网络装置存储所述网络装置支持ISSU还是不支持ISSU的指示。
8.根据权利要求1至4中任一项所述的计算机网络方法,其中,所述集中式控制器是软件定义网络SDN控制器。
9.一种网络的集中式控制器,所述集中式控制器被配置为:
确定用于所述网络的多个网络装置中的第一网络装置支持在服务中软件升级ISSU,所述多个网络装置中的第二网络装置不支持ISSU,其中,支持ISSU的所述第一网络装置被配置为在执行软件升级的同时进行以下各项中的至少一项:处理网络流量、转发网络流量,其中,不支持ISSU的所述第二网络装置在执行软件升级的同时无法处理网络流量或转发网络流量;
发送指示所述第一网络装置执行ISSU操作的一个或多个第一消息;并且
发送一个或多个第二消息,指示所述第二网络装置中的每个网络装置向所述第二网络装置的相应网络装置的对等网络装置发送一个或多个第三消息,
其中,所述第二网络装置的每个相应网络装置的对等网络装置包括支持ISSU的一个或多个所述第一网络装置或不支持ISSU并且当前没有经历软件升级的一个或多个第二网络装置,所述对等网络装置相邻所述第二网络装置的相应网络装置,并且
其中,所述第三消息:
表明所述第二网络装置中的所述相应网络装置不支持ISSU;以及
指示所述对等网络装置重定向流量以避免将所述流量转发至所述第二网络装置中的所述相应网络装置。
10.根据权利要求9所述的集中式控制器,其中,表明所述网络装置不支持ISSU的所述第三消息中的每一者是表明所述网络装置不支持ISSU的边界网关协议BGP扩展社区消息。
11.根据权利要求9所述的集中式控制器,其中,为了确定所述第一网络装置支持ISSU并且所述第二网络装置不支持ISSU,所述集中式控制器被配置为:
向所述多个网络装置中的每个网络装置请求网络装置的配置信息;并且
针对每个网络装置确定所述网络装置的配置信息是表明所述网络装置支持ISSU还是表明所述网络装置不支持ISSU。
12.根据权利要求9至11中任一项所述的集中式控制器,其中,为了确定所述第一网络装置支持ISSU并且所述第二网络装置不支持ISSU,所述集中式控制器被配置为:
针对每个网络装置确定应用于所述网络装置的一个或多个标签是表明所述网络装置支持ISSU还是表明所述网络装置不支持ISSU。
13.根据权利要求9至11中任一项所述的集中式控制器,其中,为了发送指示所述第一网络装置执行ISSU操作的所述一个或多个第一消息,所述集中式控制器还被配置为:
从用户接收在所述第一网络装置上执行ISSU操作的命令;并且
响应于所述命令,发送指示所述第一网络装置执行ISSU操作的所述一个或多个第一消息,其中,所述一个或多个第一消息进一步指示所述第一网络装置中的每一者在与每个其他所述第一网络装置启动ISSU操作的时间段同时的时间段启动ISSU操作。
14.根据权利要求9至11中任一项所述的集中式控制器,其中,所述集中式控制器还被配置为:为所述多个网络装置中的每个网络装置存储所述网络装置支持ISSU还是不支持ISSU的指示。
15.一种网络的多个网络装置中的第一网络装置,所述第一网络装置被配置为:
从第二网络装置接收表明所述第二网络装置不支持在服务中软件升级ISSU的消息,其中,所述第二网络装置是所述第一网络装置的对等体,并且其中,不支持ISSU的所述第二网络装置在执行软件升级的同时无法处理网络流量或转发网络流量;并且
响应于接收到表明所述第二网络装置不支持ISSU的消息,重定向流量,以避免将所述流量转发到所述第二网络装置。
16.根据权利要求15所述的第一网络装置,其中,表明所述第二网络装置不支持ISSU的消息是表明所述第二网络装置不支持ISSU的边界网关协议BGP扩展社区消息。
17.根据权利要求15所述的第一网络装置,
其中,所述第一网络装置还被配置为处理表明所述第二网络装置不支持ISSU的消息,以确定所述第二网络装置在软件升级期间将不可用于处理所述流量,并且
其中,为了响应于接收到所述消息而重定向所述流量,所述第一网络装置还被配置为响应于确定所述第二网络装置在软件升级期间将不可用于处理所述流量,定向所述流量,以避免所述第二网络装置。
18.根据权利要求15至17中任一项所述的第一网络装置,其中,为了重定向所述流量,以避免将所述流量转发到所述第二网络装置,所述第一网络装置被配置为:
从所述第一网络装置的路由信息库中移除描述所述第二网络装置的条目。
19.根据权利要求15至17中任一项所述的第一网络装置,其中,为了重定向所述流量,以避免将所述流量转发到所述第二网络装置,所述第一网络装置被配置为:
计算到达所述流量的目的地的新路由,其中,所述新路由包括第三网络装置作为下一跳;并且
将所述新路由存储在所述第一网络装置的转发信息库FIB中。
20.根据权利要求15至17中任一项所述的第一网络装置,
其中,所述第一网络装置支持ISSU,并且
其中,所述第一网络装置还被配置为响应于从用于所述网络的集中式控制器接收到执行ISSU操作的消息,执行ISSU操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/368,381 | 2019-03-28 | ||
US16/368,381 US20200310784A1 (en) | 2019-03-28 | 2019-03-28 | Software upgrade deployment in mixed network of in-service software upgrade (issu)-capable and issu-incapable devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756566A CN111756566A (zh) | 2020-10-09 |
CN111756566B true CN111756566B (zh) | 2023-11-21 |
Family
ID=67253651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910937189.XA Active CN111756566B (zh) | 2019-03-28 | 2019-09-29 | 支持和不支持issu装置的混合网络中软件升级部署 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200310784A1 (zh) |
EP (1) | EP3716045A1 (zh) |
CN (1) | CN111756566B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11681519B2 (en) * | 2019-10-14 | 2023-06-20 | Hewlett Packard Enterprise Development Lp | Software update on a network device forming a multi-chassis link aggregation group (MC-LAG) |
US11252672B1 (en) * | 2020-12-18 | 2022-02-15 | Versa Networks, Inc. | Access point radio channel configuration using multiprotocol border gateway protocol |
US12020017B2 (en) | 2021-07-05 | 2024-06-25 | Samsung Electronics Co., Ltd. | Method and electronic device for scheduling software upgrade of network devices |
WO2023282526A1 (en) * | 2021-07-05 | 2023-01-12 | Samsung Electronics Co., Ltd. | Method and electronic device for scheduling software upgrade of network devices |
US12001835B2 (en) * | 2021-12-14 | 2024-06-04 | Hewlett Packard Enterprise Development Lp | In-service software upgrade with active service monitoring |
US11973648B2 (en) * | 2022-03-04 | 2024-04-30 | Juniper Networks, Inc. | Automatic deactivation and activation of configuration functionalities of a network device that are incompatible with performance of an in-service software upgrade procedure |
US11900096B2 (en) * | 2022-03-21 | 2024-02-13 | Juniper Networks, Inc. | Hitless upgrade of a network device |
CN116170288A (zh) * | 2022-12-29 | 2023-05-26 | 迈普通信技术股份有限公司 | Issu升级方法、装置、成员设备、堆叠系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104521196A (zh) * | 2012-06-06 | 2015-04-15 | 瞻博网络公司 | 针对虚拟网络分组流的物理路径确定 |
WO2016062355A1 (en) * | 2014-10-24 | 2016-04-28 | Telefonaktiebolaget L M Ericsson (Publ) | Method and nodes for handling updates of the nodes |
CN108551405A (zh) * | 2018-04-24 | 2018-09-18 | 新华三技术有限公司 | 设备操作方法及装置 |
US10083026B1 (en) * | 2016-03-31 | 2018-09-25 | Juniper Networks, Inc. | In-service software upgrade of software-defined networking controller |
CN109428821A (zh) * | 2017-08-31 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 服务器、管理互备设备路由的方法和存储介质 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7756008B2 (en) * | 2003-12-19 | 2010-07-13 | At&T Intellectual Property Ii, L.P. | Routing protocols with predicted outrage notification |
US20060029035A1 (en) * | 2004-03-25 | 2006-02-09 | Chase Christopher J | Method and apparatus for selecting routes for distribution within IP networks |
US7779404B2 (en) * | 2004-06-10 | 2010-08-17 | Cisco Technology, Inc. | Managing network device configuration using versioning and partitioning |
US7936754B2 (en) * | 2008-12-12 | 2011-05-03 | At&T Intellectual Property I, L.P. | Methods and apparatus to dynamically store network routes for a communication network |
US8732324B2 (en) * | 2010-05-25 | 2014-05-20 | Cisco Technology, Inc. | Keep-alive hiatus declaration |
US8897134B2 (en) * | 2010-06-25 | 2014-11-25 | Telefonaktiebolaget L M Ericsson (Publ) | Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel |
US8402454B2 (en) * | 2010-09-22 | 2013-03-19 | Telefonaktiebolaget L M Ericsson (Publ) | In-service software upgrade on cards of virtual partition of network element that includes directing traffic away from cards of virtual partition |
US20160342510A1 (en) * | 2012-01-17 | 2016-11-24 | Google Inc. | Remote management of data planes and configuration of networking devices |
US8782632B1 (en) * | 2012-06-18 | 2014-07-15 | Tellabs Operations, Inc. | Methods and apparatus for performing in-service software upgrade for a network device using system virtualization |
US9131014B2 (en) * | 2012-08-20 | 2015-09-08 | Cisco Technology, Inc. | Hitless pruning protocol upgrade on single supervisor network devices |
US8943490B1 (en) * | 2012-09-28 | 2015-01-27 | Juniper Networks, Inc. | Intelligent non-stop software upgrade |
US9374294B1 (en) * | 2013-11-05 | 2016-06-21 | Cisco Technology, Inc. | On-demand learning in overlay networks |
US9747183B2 (en) * | 2013-12-31 | 2017-08-29 | Ciena Corporation | Method and system for intelligent distributed health monitoring in switching system equipment |
US20150220327A1 (en) * | 2014-01-31 | 2015-08-06 | Dell Products L.P. | Extensible data model and service for infrastructure management |
US9450862B2 (en) * | 2014-03-11 | 2016-09-20 | Futurewei Technologies, Inc. | Virtual private network migration and management in centrally controlled networks |
US9792106B1 (en) * | 2014-08-04 | 2017-10-17 | Cisco Technology, Inc. | Technique for fast network device configuration upgrade and reload |
US9715380B2 (en) * | 2015-05-26 | 2017-07-25 | Cisco Technology, Inc. | Techniques for enabling dynamic update of device data models |
US20160364231A1 (en) * | 2015-06-10 | 2016-12-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method for minimal service impact during software upgrade in network elements (nes) |
US20170093616A1 (en) * | 2015-09-28 | 2017-03-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for providing in-service firmware upgradability in a network element |
US20170141968A1 (en) * | 2015-11-13 | 2017-05-18 | Acumera, Inc. | Updating Electronic Devices Using a Push Model |
CN107743109B (zh) * | 2016-10-31 | 2020-09-04 | 腾讯科技(深圳)有限公司 | 流量攻击的防护方法、控制装置、处理装置及系统 |
US10355929B2 (en) * | 2017-02-27 | 2019-07-16 | Cisco Technology, Inc. | Mitigating network impact of disruptive device changes |
-
2019
- 2019-03-28 US US16/368,381 patent/US20200310784A1/en active Pending
- 2019-06-20 EP EP19181483.9A patent/EP3716045A1/en active Pending
- 2019-09-29 CN CN201910937189.XA patent/CN111756566B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104521196A (zh) * | 2012-06-06 | 2015-04-15 | 瞻博网络公司 | 针对虚拟网络分组流的物理路径确定 |
WO2016062355A1 (en) * | 2014-10-24 | 2016-04-28 | Telefonaktiebolaget L M Ericsson (Publ) | Method and nodes for handling updates of the nodes |
US10083026B1 (en) * | 2016-03-31 | 2018-09-25 | Juniper Networks, Inc. | In-service software upgrade of software-defined networking controller |
CN109428821A (zh) * | 2017-08-31 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 服务器、管理互备设备路由的方法和存储介质 |
CN108551405A (zh) * | 2018-04-24 | 2018-09-18 | 新华三技术有限公司 | 设备操作方法及装置 |
Non-Patent Citations (1)
Title |
---|
分布式网络设备的业务不中断软件升级系统设计;张敏狄;郭裕顺;;计算机系统应用(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111756566A (zh) | 2020-10-09 |
EP3716045A1 (en) | 2020-09-30 |
US20200310784A1 (en) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3920484B1 (en) | Liveness detection and route convergence in software-defined networking distributed system | |
CN111756566B (zh) | 支持和不支持issu装置的混合网络中软件升级部署 | |
US10757006B1 (en) | Enhanced traffic flow in software-defined networking controller-based architecture | |
EP3920483B1 (en) | Local repair for underlay failure using prefix independent convergence | |
US10986024B1 (en) | Dynamic prefix list for route filtering | |
CN110120934B (zh) | 应用防火墙策略的方法、软件定义网络控制器和介质 | |
US10083026B1 (en) | In-service software upgrade of software-defined networking controller | |
CN114697252B (zh) | 计算机网络方法、软件定义网络控制器及存储介质 | |
US11201782B1 (en) | Automation of maintenance mode operations for network devices | |
US10938660B1 (en) | Automation of maintenance mode operations for network devices | |
EP3459225B1 (en) | Methods and apparatus for enabling live virtual machine (vm) migration in software-defined networking networks | |
US20130329548A1 (en) | Re-routing network traffic after link failure | |
US11336570B1 (en) | Layer three multi-homing for virtual networks | |
CN110971441B (zh) | 多级网络结构的简化配置 | |
CN110120916B (zh) | Bgp会话的优先级形成 | |
CN114039912B (zh) | 用于改进路由通告的方法以及软件定义网络控制器 | |
US20230254183A1 (en) | Generating route target values for virtual private network routes |
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 |