CN106464522A - 用于网络功能布局的方法和系统 - Google Patents
用于网络功能布局的方法和系统 Download PDFInfo
- Publication number
- CN106464522A CN106464522A CN201580019260.6A CN201580019260A CN106464522A CN 106464522 A CN106464522 A CN 106464522A CN 201580019260 A CN201580019260 A CN 201580019260A CN 106464522 A CN106464522 A CN 106464522A
- Authority
- CN
- China
- Prior art keywords
- pod
- net
- network
- network function
- list
- 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
Links
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/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
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
- H04L47/782—Hierarchical allocation of resources, e.g. involving a hierarchy of local and centralised entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- 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/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- 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/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/74—Admission control; Resource allocation measures in reaction to resource unavailability
- H04L47/748—Negotiation of resources, e.g. modification of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/822—Collecting or measuring resource availability data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开一种为了网络功能布局而实现的方法。该方法为每个业务流优化网络功能布局,以便将总的网荚间业务量减至最少。对于经过数据中心的每个业务流,该方法启动网荚列表。按照所需资源的递减顺序将业务流的网络功能排序。然后,根据递减顺序一次一个地选择一个网络功能。对于每个网络功能,按照每个网荚中的可用资源的递增顺序将网荚列表中的网荚排序。在可能时,该方法为网络功能选择第一网荚。当网荚列表中没有网荚具有对于网络功能足够的资源时,该方法将来自网荚池的具有最多可用资源的网荚添加到网荚列表,并为网络功能选择添加的网荚。
Description
相关申请的交叉引用
本申请主张于2014年4月11日申请的题为“Network Function Placement Method forNFV Chaining in Optical/Packet Hybrid Data Centers”的美国临时专利申请号61/978448的优先权,该美国临时专利申请的全文以引用的方式并入本文。
技术领域
本发明的实施例涉及联网领域。更具体来说,本发明的实施例涉及用于网络的网络功能布局的方法和系统。
背景技术
软件工程和高性能商用服务器的最新发展促进了网络功能(NF)的虚拟化。传统上在专有的专用设备上递送的NF现在可以用在通用服务器硬件(例如,商用现货(COTS)服务器)上运行的软件来实现。作为网络功能虚拟化(NFV)打造的技术正随着网络运营商越来越普及。
NFV可在网络的各个部分中实现,例如服务网关(S-GW)、分组数据网络网关(P-GW)、服务GPRS(通用分组无线电服务)支持节点(SGSN)、网关GPRS支持节点(GGSN)、宽带远程接入服务器(BRAS)和供应商边缘(PE)路由器。也可实现NFV以便支持各种服务或器械,例如深度分组检测(DPI)、防火墙(FW)、病毒扫描(VS)、入侵检测和预防(IDP)以及网络地址转译(NAT)。由于可在需要时在需要的地方在运营商的云/数据中心(DC)中灵活地实例化和拆卸NFV,并且它提供高资源利用和短服务开发周期,所以网络运营商可实现大的资本开支(Capex)和运营开支(Opex)节省。
当业务流到达托管NFV的运营商的DC时,将按照基于运营商的指配策略和服务等级协定(SLA)的顺序引导它通过多个虚拟NF。这个过程一般称为NF链接,它需要DC网络的动态配置。由于业务流的业务量不断增长,所以引入光交换技术以使得能够进行有效的DC内引导以用于流聚合。还需要利用分组交换技术以电的形式处理业务流。因此,当通过一个或多个DC路由业务流时,业务流通常在光和分组交换之间数次切换。然而,光/电/光(O/E/O)转换是昂贵的,并且希望在实现NFV时将O/E/O转换减至最少。另外,甚至为了在不需要O/E/O的情况下实现NFV,某种网络功能布局比在按照某种准则测量时的网络功能布局更有效,并且希望在提供NF链接时优化网络功能布局。
发明内容
公开一种在耦合到网络的电子装置中实现以便进行网络功能布局的方法。网络中的业务作为业务流的集合进行路由,每个业务流经过网络功能链,并且每个网络功能将由在服务器上运行的软件来执行。每个服务器驻留在网荚处,网荚(pod)是耦合到网络的硬件单元。为业务流执行该方法。对于每个业务流,启动网荚列表,其中网荚列表最初不包含网荚。按照所需资源的递减顺序将业务流的对应链内的网络功能排序,其中每个网络功能需要的资源是预先确定的。然后,根据递减顺序一次一个地选择业务流的一个网络功能。对于业务流的每个网络功能,如果网荚列表不是空的,那么按照每个网荚中的可用资源的递增顺序将网荚列表中的网荚排序。然后,当可能时,该方法选择网荚列表内的第一网荚以便供网络功能驻留,其中第一网荚具有足够的可用资源供网络功能驻留,并且其中选择遵循网荚列表中的网荚的递增顺序。当网荚列表中没有网荚具有足够的可用资源供网络功能驻留时,该方法将来自网荚池的网荚添加到网荚列表,其中添加的网荚是网荚池中位于网荚列表之外的具有最多可用资源的网荚,并且该方法选择添加的网荚以便供网络功能驻留。
公开一种耦合到网络以便进行网络功能布局的电子装置。网络中的业务作为业务流的集合进行路由,每个业务流经过网络功能链,并且每个网络功能将由在服务器上运行的软件来执行。每个服务器驻留在网荚处,网荚是耦合到网络的硬件单元。电子装置包括处理器和包含指令的非暂时性机器可读存储介质,指令在由处理器执行时使得处理器对于每个业务流执行以下动作。处理器启动网荚列表,其中网荚列表最初不包含网荚。接着,处理器按照所需资源的递减顺序将业务流的对应链内的网络功能排序,其中每个网络功能需要的资源是预先确定的。然后,处理器根据递减顺序一次选择业务流的一个网络功能。接着,对于业务流的每个网络功能,如果网荚列表不是空的,那么处理器按照每个网荚中的可用资源的递增顺序将网荚列表中的网荚排序。然后,当可能时,处理器选择网荚列表内的第一网荚以便供网络功能驻留,其中第一网荚具有足够的可用资源供网络功能驻留,并且选择遵循网荚列表中的网荚的递增顺序。当网荚列表中没有网荚具有足够的可用资源供网络功能驻留时,处理器将来自网络的网荚池的网荚添加到网荚列表,其中添加的网荚是网荚池中位于网荚列表之外的具有最多可用资源的网荚,并且处理器选择添加的网荚以便供网络功能驻留。
公开一种其中存储有指令以便进行网络功能布局的非暂时性机器可读存储介质。非暂时性机器可读存储介质在由处理器执行时使得处理器在耦合到网络的电子装置处执行操作。网络中的业务作为业务流的集合进行路由,每个业务流经过网络功能链,并且每个网络功能将由在服务器上运行的软件来执行。每个服务器驻留在网荚处,网荚是耦合到网络的硬件单元。对于每个业务流执行操作。操作包括启动网荚列表,其中网荚列表最初不包含网荚。接着,按照所需资源的递减顺序将业务流的对应链内的网络功能排序,其中每个网络功能需要的资源是预先确定的。然后,根据递减顺序一次一个地选择业务流的一个网络功能。对于业务流的每个网络功能,如果网荚列表不是空的,那么按照每个网荚中的可用资源的递增顺序将网荚列表中的网荚排序。然后,当可能时,操作选择网荚列表中的第一网荚以便供网络功能驻留,其中第一网荚具有足够的可用资源供网络功能驻留,并且其中选择遵循网荚列表中的网荚的递增顺序。当网荚列表中没有网荚具有足够的可用资源供网络功能驻留时,操作将来自网荚池的网荚添加到网荚列表,其中添加的网荚是网荚池中位于网荚列表之外的具有最多可用资源的网荚,并且操作选择添加的网荚以便供网络功能驻留。
本发明的实施例利用算法来改善网络功能布局,以便通过网络更有效地路由业务流。通过本发明的实施例,可大大减少云/数据中心的网荚间业务,并且更有效地利用网荚。
附图说明
在附图的各图中举例而非限制性地示出本发明,图中类似参考数字指示类似元素。应注意,本说明书中不同地提到“一”或“一个”实施例时不一定是提到相同实施例,并且提到时表示至少一个。此外,当结合一个实施例描述特定特征、结构或特性时,认为本领域技术人员知道结合其它实施例来实现该特征、结构或特性,而不管是否有明确描述。
图1示出根据本发明的一个实施例的云/数据中心(DC)。
图2A-B示出网络功能链的相同集合的两种网络功能布局的示例。
图3是示出根据本发明的一个实施例的网络功能的启发式算法的伪代码。
图4是示出根据本发明的一个实施例的网络功能布局的方法的流程图。
图5示出根据本发明的一个实施例包含网络功能布局模块的电子装置。
图6A示出根据本发明的一些实施例的示例性网络内的网络装置(ND)之间的连接以及ND的三个示例性实现。
图6B示出根据本发明的一些实施例用于实现专用网络装置602的示例性方法。
图6C示出根据本发明的一些实施例可用于耦合虚拟网络元件(VNE)的各种示例性方法。
图6D示出根据本发明的一些实施例在图6A的每个ND上具有单个网络元件(NE)的网络,并且在该直观方法内,将(传统路由器通常使用的)传统的分布式方法与集中式方法进行对比以便维持可达性和转发信息(又称为网络控制)。
图6E示出根据本发明的一些实施例的简单情形,其中每个ND 600A-H实现单个NE670A-H(见图6D),但是在图6D的虚拟网络692之一中,集中式控制平面676将不同ND中的多个NE(NE 670A-C和G-H)抽象为(以便表示)单个NE 670I。
图6F示出根据本发明的一些实施例的这样一种情形,其中在不同ND(ND 600A和ND600H)上实现多个VNE(VNE 670A.1和VNE 670H.1),这些VNE彼此耦合,并且其中集中式控制平面676将这些VNE抽象成使得它们在图6D的虚拟网络692之一内就像是单个VNE 670T一样。
图7示出根据本发明的一些实施例包含硬件740的通用控制平面装置704,硬件740包括一个或多个处理器742(它们通常是商用现货(COTS)处理器)的集合、网络接口控制器744(NIC;又称为网络接口卡)(它们包括物理NI 746)、以及其中存储有集中式控制平面(CCP)软件750的非暂时性机器可读存储介质748。
具体实施方式
在以下描述中,阐述了众多具体细节,例如逻辑实现、操作码、用于指定操作数的部件、资源分区/共享/复制实现、系统组件的类型和相互关系、以及逻辑分区/集成选择,以便更充分地理解本发明。但是,将了解,没有这些具体细节也可实践本发明的实施例。在其它情况下,没有详细示出公知的电路、结构和技术,以免混淆对本描述的理解。但是,本领域技术人员将明白,没有这些具体细节也可实践本发明。利用包含的描述,本领域技术人员将能够在无需过多试验的情况下实现合适的功能性。
说明书中提到“一个实施例”、“实施例”、“示例实施例”等时表示,描述的实施例可包括特定特征、结构或特性,但不是每个实施例都一定要包含该特定特征、结构或特性。此外,这些短语不一定指相同实施例。另外,当结合一个实施例描述特定特征、结构或特性时,认为本领域技术人员知道结合其它实施例来实现该特征、结构或特性,而不管是否有明确描述。
本文中可利用加括号的文字和具有虚线边界(例如,大虚线、小虚线、点划线和点)的框来说明在本发明的实施例中增加另外的特征的可选操作。但是,不应将这种符号视为是表示它们是唯一的选项或可选操作和/或具有实线边界的框在本发明的某些实施例中不是可选的。
在以下描述和权利要求书中,可使用术语“耦合”和“连接”及其派生词。应理解,这些术语不是彼此同义的。“耦合”用于指示两个或两个以上元件彼此共同协作或交互,它们可以或者可以不彼此直接物理或电接触。“连接”用于指示在彼此耦合的两个或两个以上元件之间建立通信。如本文中所使用,“集合”是指任何正整数项,包括一个项。
电子装置利用诸如机器可读存储介质(例如,磁盘、光盘、只读存储器(ROM)、闪速存储器装置、相变存储器)和机器可读传输介质(又称为载波)(例如,电、光、无线电、声或其它形式的传播信号,如载波、红外信号)的机器可读介质(又称为计算机可读介质)存储并(在内部和/或通过网络与其它电子装置)传送代码(由软件指令组成,并且有时称为计算机程序代码或计算机程序)和/或数据。因此,电子装置(例如,计算机)包括硬件和软件,例如耦合到一个或多个机器可读存储介质的一个或多个处理器的集合,这一个或多个机器可读存储介质用于存储在处理器的集合上执行的代码和/或用于存储数据。例如,电子装置可包括包含代码的非易失性存储器,因为即使当电子装置关闭时(当移除电源时),非易失性存储器仍可保留代码/数据,而当电子装置打开时,通常将即将由该电子装置的处理器执行的代码的那部分从较缓慢的非易失性存储器复制到该电子装置的易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM))。典型的电子装置还包括用于与其它电子装置建立网络连接(以便利用传播信号传送和/或接收代码和/或数据)的一个或多个物理网络接口的集合。本发明的实施例的一个或多个部分可利用软件、固件和/或硬件的不同组合来实现。
将参考其它图中的示例性实施例描述流程图中的操作。但是,应了解,流程图的操作可由与参考这些其它图论述的实施例不同的本发明的实施例来执行,并且参考这些其它图论述的本发明的实施例可执行与参考这些流程图论述的操作不同的操作。
云/数据中心(DC)配置
图1示出根据本发明的一个实施例的云/数据中心(DC)。云/数据中心130从接入网或城域网195接收业务流,并将业务流路由到分组网络199(例如,互联网)。云/数据中心130可由软件定义网络(SDN)控制器104和云管理器106的至少其中之一进行管理。SDN控制器104和云管理器106可由操作/业务支持系统(OSS/BSS)110进行管理。OSS/BSS 110可用于通过路由经过云/数据中心130的业务流来支持端到端服务。OSS/BSS 110包含网络功能布局模块115,模块115是配置成如本文中将更详细论述地那样在云/数据中心130内布局网络功能的模块。注意,OSS/BSS通常称为云/数据中心的编排器。
云/数据中心130包含网络功能的多个网荚。网荚是作为电子装置的硬件单元。网荚包含一个或多个计算服务器,每个计算服务器包含用于在云/数据中心130中路由业务流时执行业务流所经过的一个或多个网络功能的软件。网荚是云/数据中心130的资源群组。例如,网荚通常共享相同的架顶式(ToR)或行尾式(EoR)交换机。在一个实施例中,网荚是模块化的自包含容器,它包括用于计算的一个或多个服务器、用于联网以及可选地用于冷却以便维持适合操作的温度的输入/输出接口。网荚142分别在参考数字152和154处包含网络功能(NF)NF1和NF2(例如,NF1和NF2驻留在网荚142的一个或多个服务器处),而网荚144在参考数字156和157处包含NF3和NFn,并且网荚146分别在参考数字158和159处包含NFm和NFl。
在云/数据中心130处,业务流可以可选地经过光引导域102。光引导域102包含用于在光域中路由业务的光交换装置。光交换装置可以是各种装置,例如波长交换机(WSS)或光分插模块(OADM)。WSS 121是这类光交换装置的示例。光引导域102通常用作云/数据中心130的骨干,它耦合到多个网荚。在业务流经过光引导域102之后,它经过复用器122之一并到达某个网荚。该网荚将波长转换为分组,并将业务流引导到其中正在运行所需的网络功能的服务器。在业务流穿过网荚中的所有所需的网络功能之后,将把业务流转换回到波长。O/E/O转换在操作和资本投资上都很费成本,并且希望在云/数据中心130的业务流经过光引导域102和网荚142-146时避免这么多次的O/E/O转换。
换句话说,可取的是在相同网荚中包装业务流的网络功能链的尽可能多的网络功能。对于云/数据中心130的所有业务流和所有网荚,可取的是将网络功能布局成使得将总计的O/E/O转换减至最少。包装网络功能链的尽可能多的网络功能还可对不具有任何光引导域的云/数据中心有益。在这种情况下,网荚可位于不同的物理位置处,并且经过网络功能的不同网荚的业务流可能会比经过相同网荚或较少数量的不同网荚的业务流消耗多得多的带宽并造成大得多的延迟时间。另外,网荚只是实现网络功能的硬件的示例,并且硬件也可以是计算服务器的机架。包装网络功能一般是有益的,因为它减少了协调与其它硬件协调的硬件的需要。
可在其中需要将网络功能分布到不同模块/位置的各种云/数据中心中使用在本发明的实施例中提出的网络功能布局的优化。
有待解决的示例性问题
图2A-B示出网络功能链的相同集合的两种网络功能布局的示例。在这两个图中,云/数据中心均包含四个网荚202-208。不同网荚可容纳不同数量的网络功能,因为它们具有不同的资源量。对于网荚和网络功能链,将资源量量化为数值。资源量可采用各种形式。例如,资源量可以是网络功能消耗的带宽、网络功能需要的计算功率(例如,CPU百分比、处理持续时间)、或网络功能需要的数据存储空间/存储器空间。在该示例中,将资源量抽象为统一资源(即,资源单元)。跟在每个网荚后面的数字指示它包含的统一资源(即,可用资源),因此网荚1-4分别包含3、2、4和3个可用资源单元。
在图2A中,流1包含NF1-NF3的网络功能链,它们分别需要2、2和1个资源单元,如跟在NF1-NF3后面的数字所示。类似地,流2包含NF4-NF5的网络功能链,并且流3包含NF6-NF7的网络功能链,其中在相应网络功能后面指示了所需的资源单元。图2B包含相同的网荚、流和网络功能,并且这两个图之间的差别是网荚中的网络功能布局。
在这两个图中,对于流1和流2,网络功能布局类似,其中流1分别经过两个网荚(图2A中的202处的网荚1和208处的网荚4,以及图2B中的204处的网荚2和206处的网荚3),并且流2分别经过一个网荚(图2A中的204处的网荚2,以及图2B中的208处的网荚4)。然而,在这两个图中,流3具有不同的网络功能布局。在图2A中,流3的这两个网络功能驻留在206处的网荚3内;在图2B中,流3的这两个网络功能分别驻留在202处的网荚1和208处的网荚4内。因此,图2A中的网络布局优于图2B中的网络布局,因为后者在网荚中具有不太分散的网络布局。本发明的实施例的目的是在对于给定云/数据中心考虑所有业务流时寻找有效的网络布局。
问题公式化和示例性算法
网络布局的问题可总结如下:(每个业务流的)每个网络功能链具有即将布局在多个网荚(或其它硬件)中的网络功能的集合。布局在相同网荚中的相同链的网络功能形成布局群组。相同链的网络功能分区成一个或多个布局群组。优化目的之一是在考虑网荚的资源约束和网络功能的所需资源的情况下将所有网络功能链的布局群组的总数减至最少。
网络功能链的布局群组对应于网络功能链需要经过的网荚。网络功能的资源需求总是小于网荚的全部资源,从而使得不需要将单个网络功能拆分到多于一个网荚。假设,网络功能布局的网荚的总数足以容纳所有请求。将在网荚中拆分的网络功能最小化的一个缺点是,它可能会限制云管理器或SDN控制器为网络功能链选择特定网荚(例如,出于安全原因)的自由度。这类情形可通过将该要求作为额外约束添加到问题或简单地使运营商手动地为讨论中的网络功能链指派网络功能布局来解决。
可将优化问题用公式表示为整数线性编程(ILP)问题。ILP问题是线性编程问题的子集,其中解向量的条目是整数。更具体来说,可将优化问题用公式表示为二进制整数编程(BIP)问题,其中解向量的条目是二进制1或0,这是因为网络功能要么在网荚中,要么不在网荚中,解中没有第三个选项。BIP问题可具有以下输入:
变量是:
约束为:
优化的目标为:
式(1)指示,必须将业务流的每个网络功能指派给恰好一个网荚。式(2)和(3)确保对于每个网荚满足资源约束。注意,对于该实施例,资源分别是如式(2)和(3)所示的网络功能消耗的带宽和计算功率,但是也可增加其它约束(例如,网络功能消耗的数据存储和存储器)以便来对优化求解。另外,可利用单独的任何约束或与一个或多个其它约束组合的任何约束来对优化问题求解。在目标函数中,是流f的布局群组的数量。优化目标是对于所有流将该值最小化。注意,可在以下的式(5)和(6)中将变量的表达式进一步线性化,其中A是大于M的常量。
基于ILP的解不随输入(例如,F、M、N)的大小缩放,因此需要启发式算法。图3是示出根据本发明的一个实施例的网络功能的启发式算法的伪代码。可在如图1所示的网络功能布局模块115上实现启发式算法。高级想法是,对于每个流f,选择具有最多可用资源的网荚,以使得可在网荚中布局该流的更多网络功能。然后,将网荚添加到流的网荚列表中。流f的网络功能布局遵循最佳拟合策略,即,每次算法选择具有最高资源需求的未指派网络功能时,将它指派给网荚列表中具有最少但足够的资源的网荚。如果没有找到这样的网荚,那么从可用网荚的列表中选择具有最多资源的网荚,并添加到流的网荚列表并重复网络功能布局。假设存在足够的网荚,将不会拒绝任何流。在指派完所有网络功能之后,算法进行网荚整合以便将网荚的数量减至最少。
参考图3,启发式算法300采用参考数字302处的输入,它包括:(1) 云/数据中心的可用网荚的网荚列表PodList,(2) 经过云/数据中心的流的流列表FlowList,以及(3)FlowList中的每个流f的网络功能列表NFList f 。
然后,对于每个流f运行优化过程。在参考数字304处,网络功能布局模块对于流启动空的网荚列表PodList f 。然后,它按照所需资源的递减顺序将流f所需的网络功能排序。
在参考数字306处,对于流f的每个未经处理的网络功能n,将标志设置成假。然后,按照可用资源的递增顺序将流的网荚列表PodList f 排序,并且网络功能布局模块选择第一网荚p,第一网荚p是包含最少可用资源的网荚。如果网荚p对于网络功能n具有足够资源,那么网络功能布局模块为网络功能n选择网荚p,并将标志设置成真,以便指示指派了n。如果网荚p对于网络功能n不具有足够资源,那么网络功能布局模块进入到递增排序的PodList f 中的下一个网荚p,以便为n选择资源。如果其中没有一个网荚对于n具有足够资源,那么在网络功能布局模块经过递增排序的PodList f 之后,标志仍保持为假。然后,网络功能布局模块将PodList的具有最多可用资源的网荚p m 添加到PodList f 。注意,PodList f 从空列表开始,因此PodList f 的大小随着每次添加而增长,并且一旦将网荚从PodList移动到PodList f ,它便可用于流f以便选择资源。网络功能布局模块为网络功能n选择网荚p m 。对于流f的每个网络功能n,反复进行参考数字306处的步骤,直到处理完流f的所有网络功能。
在处理完流f的所有网络功能之后,网络功能布局模块在参考数字308处进行网荚整合以便将网荚的数量减至最少。在流的网荚列表PodList f 中,网络功能布局模块选择它的最新指派的网络功能消耗最少资源的网荚p a 以及具有最多可用资源的网荚p b 。然后,如果p b 上的资源允许,那么网络功能布局模块将p a 的所有最新指配的网络功能重新指派给p b 。在参考数字308处继续进行网荚的整合,直到没有这样的网荚对可供选择和整合为止。
网络功能布局的流程图
图4是示出根据本发明的一个实施例的网络功能布局的方法的流程图。方法400可在如下文中关于图5论述的包含网络功能布局模块的电子装置中实现。方法400在云/数据中心中操作,其中业务流经过多个网络功能(网络功能链接)。网络功能由云/数据中心的服务器执行,并且每个服务器驻留在称为网荚的硬件单元中。云/数据中心可包含一个或多个光引导域,其中通过诸如WSS和OADM的光交换装置路由业务流。因此,云/数据中心可包含网络,网络可以是分组网络或分组网络和光网络的组合。
该方法在网络的每个业务流上操作。在参考数字402处,网络功能布局模块可选地选择业务流。取决于实现,业务流可来自分组网络或光网络。业务流选择也可由不同的模块执行。在参考数字404处,网络功能布局模块对于业务流启动空的网荚列表。然后,在参考数字406处,网络功能布局模块按照所需资源的递减顺序将流的网络功能排序。在一个实施例中,用资源单元的数量量化所需资源。所需资源可以是网络功能消耗的带宽、网络功能所需的计算功率(例如,CPU百分比、处理持续时间)、或网络功能所需的数据存储空间/存储器空间。
在参考数字408处,网络功能布局模块选择递减排序的网络功能的第一个未经处理的网络功能。然后,在参考数字410处,网络功能布局模块将业务流的网荚列表中的网荚排序,其中假设存在多于一个网荚(当网荚列表为空或只包含一个网荚时,省略该步骤)。如果网荚列表为空,那么流直接进行到参考数字414。按照可用资源的递增顺序将网荚排序。然后,在参考数字412处,网络功能布局模块选择对于网络功能具有足够资源的第一网荚。由于网荚按照可用资源的递增顺序排序,所以如果这一个网荚不具有足够资源,那么网络功能布局模块进入到流的网荚列表中的下一个网荚,直到它找到具有足够资源的网荚为止,在此情况下,它返回到参考数字408,以便选择下一个未经处理的网络功能以进行选择。
如果网络功能布局模块没有为网络功能找到具有足够可用资源的网荚,那么流进入到参考数字414,在参考数字414处,将网荚池中位于业务流的网荚列表之外的具有最多可用资源的网荚添加到网荚列表。在一个实施例中,网荚池可包括耦合到网络的所有网荚。在另一个实施例中,网荚池中只包含耦合到网络因而可用于选择的网荚的子集。例如,选择可局限于位于某个物理位置的网荚或由某个网络域维持的网荚。即,排除认为不适合托管网络功能的其它网荚。在参考数字416处,网络功能布局模块为网络功能选择添加的网荚。然后,流再次返回到参考数字408,以便选择下一个未经处理的网络功能以进行选择。步骤408-416重复多次迭代,直到所有递减排序的网络功能都完成网荚的选择为止。
然后,可选地,网络功能布局模块可在参考数字418和420处整合网荚选择。在参考数字418处,网络功能布局模块选择在选择之后消耗最少资源的网荚以及在选择之后消耗最多资源的另一个网荚。然后,在参考数字420处,如果消耗最多资源的网荚具有足够的资源供一个或多个网络功能驻留,那么网络功能布局模块将这一个或多个网络功能的选择从消耗最少资源的网荚变为消耗最多资源的网荚。将不再为业务流选择消耗最少资源的网荚,因此为网络功能选择的网荚的数量减少1。如果前一个迭代的整合成功,那么流返回到参考数字418。如果没有进一步的整合可行(418的步骤没有以成功整合完成),那么流停止。
注意,虽然用网荚解释和图示了方法400,但是本发明的实施例不限于此,并且它们可用于其中网络功能分布到不同模块和/或位置的任何网络的网络功能布局,例如,模块可以是计算机架,位置可以是用于托管网络功能的在物理上或逻辑上划分的场所。
实现本发明的实施例的电子装置
图5示出根据本发明的一个实施例包含网络功能布局模块的电子装置。在一个实施例中,电子装置501可以是图1的操作/业务支持系统(OSS/BSS)110的一部分。电子装置501包含一个或多个处理器502。它还包含非暂时性机器可读存储介质503,介质503包含用于在计算网络功能布局时存储网荚选择状态的数据库506。网络功能布局模块507可执行如上文所论述的方法400。
电子装置501还可包含用于在计算网络功能布局时在传送/接收接口510/511与处理器502之间交换数据的交换结构508。
利用本发明的实施例的SDN和NFV环境
可在包含网络装置的SDN和NFV网络中利用本发明的实施例。网络装置(ND)是在通信上互连网络上的其它电子装置(例如,其它网络装置、最终用户装置)的电子装置。一些网络装置是对多个联网功能(例如,路由、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持、和/或对多个应用服务(例如,数据、语音和视频)提供支持的“多服务网络装置”。
图6A示出根据本发明的一些实施例的在示例性网络内的网络装置(ND)之间的连接以及ND的三个示例性实现。图6A示出ND 600A-H以及用A-B、B-C、C-D、D-E、E-F、F-G和A-G之间、以及H与A、C、D和G中的每一个之间的线表示的它们的连接。这些ND是物理装置,并且这些ND之间的连接可以是无线或有线的(通常称为链路)。从ND 600A、E和F延伸的另外的线说明,这些ND充当网络的进口和出口点(并且因此,有时将这些ND称为边缘ND;而可将其它ND称为核心ND)。
图6A中的两个示例性ND实现为:1) 利用定制专用集成电路(ASIC)和专有操作系统(OS)的专用网络装置602;以及2) 利用普通现货(COTS)处理器和标准OS的通用网络装置604。
专用网络装置602包括联网硬件610,硬件610包括计算资源612(通常包括一个或多个处理器的集合)、转发资源614(通常包括一个或多个ASIC和/或网络处理器)、物理网络接口(NI)616(有时称为物理端口)、以及其中存储有联网软件620的非暂时性机器可读存储介质618。物理NI是ND中的硬件,通过它(例如,通过无线网络接口控制器(WNIC)以无线方式或通过在电缆中插入到连接至网络接口控制器(NIC)的物理端口)形成网络连接,例如由ND600A-H之间的连接所示的网络连接。在操作期间,可通过联网硬件610执行联网软件620以便实例化一个或多个联网软件实例622的集合。每个联网软件实例622与联网硬件610中执行该网络软件实例的这部分(无论是专用于该联网软件实例的硬件和/或供该联网软件实例与其它联网软件实例622在时间上共享的硬件的时间片段)形成独立的虚拟网络元件630A-R。每个虚拟网络元件(VNE)630A-R包括控制通信和配置模块632A-R(有时称为本地控制模块或控制通信模块)和转发表634A-R,以使得给定虚拟网络元件(例如,630A)包括控制通信和配置模块(例如,632A)、一个或多个转发表的集合(例如,634A)、以及执行虚拟网络元件(例如,630A)的联网硬件610的这部分。
专用网络装置602通常在物理和/或逻辑上视为包括:1) ND控制平面624(有时称为控制平面),它包括执行控制通信和配置模块632A-R的计算资源612;以及2) ND转发平面626(有时称为转发平面、数据平面或媒体平面),它包括利用转发表634A-R的转发资源614和物理NI 616。举例来说,在ND是路由器(或实现路由功能性)的情况下,ND控制平面624(执行控制通信和配置模块632A-R的计算资源612)通常负责参与控制如何路由数据(例如,分组)(例如,数据的下一跳和该数据的外出物理NI)以及将该路由信息存储在转发表634A-R中,并且ND转发平面626负责在物理NI 616上接收该数据并基于转发表634A-R将该数据从物理NI 616中的合适物理NI转发出去。
图6B示出根据本发明的一些实施例用于实现专用网络装置602的示例性方法。图6B示出包括卡638(通常可热插拔)的专用网络装置。尽管在一些实施例中,卡638具有两种类型(一个或多个卡作为ND转发平面626操作(有时称为线卡),而一个或多个卡进行操作以便实现ND控制平面624(有时称为控制卡)),但是备选实施例可将功能性组合到单个卡上,和/或可包括另外的卡类型(例如,一种另外类型的卡称为服务卡、资源卡或多应用卡)。服务卡可提供专门处理(例如,第4层-第7层服务(例如,防火墙、互联网协议安全(IPSec)(RFC4301和4309))、安全套接层(SSL)/传输层安全(TLS)、入侵检测系统(IDS)、对等(P2P)、IP语音(VoIP)会话边界控制器、移动无线网关(网关通用分组无线电服务(GPRS)支持节点(GGSN)、演进型分组核心(EPC)网关))。举例来说,服务卡可用于终止IPsec隧道并执行伴随的验证和加密算法。这些卡通过示为底板636的一个或多个互连机制耦合在一起(例如,第一全网格耦合线卡,而第二全网格耦合所有卡)。
返回到图6A,通用网络装置604包括硬件640,硬件640包括一个或多个处理器642(通常是COTS处理器)的集合、网络接口控制器644(NIC;又称为网络接口卡)(它们包括物理NI 646)、以及其中存储有软件650的非暂时性机器可读存储介质648。在操作期间,处理器642执行软件650以便实例化管理程序654(有时称为虚拟机监测器(VMM))和由管理程序654运行的一个或多个虚拟机662A-R,管理程序654和虚拟机662A-R统称为软件实例652。虚拟机是就像它们在物理、非虚拟化机器上执行一样运行程序的物理机的软件实现;并且应用一般不知道与在“裸机”主机电子装置上运行相反它们在虚拟机上运行,但是一些系统提供允许操作系统或应用知道出于优化目的而存在虚拟化的准虚拟化。每个虚拟机662A-R和执行该虚拟机的硬件640的这部分(无论它是专用于该虚拟机的硬件和/或该虚拟机与其它虚拟机662A-R在时间上共享的硬件的时间片段)形成独立的虚拟网络元件660A-R。
虚拟网络元件660A-R执行与虚拟网络元件630A-R类似的功能性。例如,管理程序654可向虚拟机662A呈现看起来就像是联网硬件610的虚拟操作平台,并且可利用虚拟机662A来实现与控制通信和配置模块632A以及转发表634A类似的功能性(硬件640的这种虚拟化有时称为网络功能虚拟化(NFV))。因此,NFV可用于将许多网络设备类型整合到可位于数据中心、ND和客户驻地设备(CPE)中的工业标准大容量服务器硬件、物理交换机和物理存储设备上。但是,本发明的不同实施例可不同地实现其中一个或多个虚拟机662A-R。例如,尽管用对应于一个VNE 660A-R的每个虚拟机662A-R示出本发明的实施例,但是备选实施例可以按更细等级的粒度实现这种对应性(例如,线卡虚拟机虚拟化线卡,控制卡虚拟机虚拟化控制卡,等等);应了解,本文中参考虚拟机-VNE的对应性描述的技术还适用于其中使用这种更细等级的粒度的实施例。
在某些实施例中,管理程序654包括提供与物理以太网交换机类似的转发服务的虚拟交换机。具体来说,该虚拟交换机在虚拟机与NIC 644之间、以及可选地在虚拟机662A-R之间转发业务;另外,该虚拟交换机可在根据策略不允许彼此通信的VNE 660A-R之间强制执行网络隔离(例如,通过履行虚拟局域网(VLAN))。
图6A中的第三个示例性ND实现是混合网络装置606,它包括位于单个ND中或位于ND内的单个卡中的定制ASIC/专有OS和COTS处理器/标准OS。在这种混合网络装置的某些实施例中,平台VM(即,实现专用网络装置602的功能性的VM)可向存在于混合网络装置606中的联网硬件提供准虚拟化。
不管ND的以上示例性实现,当考虑由ND实现的多个VNE中的单个VNE(例如,VNE中只有一个VNE是给定虚拟网络的一部分)时或者在ND当前只实现单个VNE的情况下,有时利用缩写术语“网络元件(NE)”来表示该VNE。并且,在以上所有示例性实现中,每个VNE(例如,VNE 630A-R、VNE 660A-R和混合网络装置606中的VNE)在物理NI(例如,616、646)上接收数据,并将该数据从物理NI(例如,616、646)中的合适NI转发出去。例如,实现IP路由器功能性的VNE在IP分组中的一些IP报头信息的基础上转发IP分组;其中IP报头信息包括源IP地址、目的地IP地址、源端口、目的地端口(其中,与ND的物理端口相比,“源端口”和“目的地端口”在这里指协议端口)、传输协议(例如,用户数据报协议(UDP)(RFC 768、2460、2675、4113和5405)、传输控制协议(TCP)(RFC 793和1180)以及区分服务(DSCP)值(RFC 2474、2475、2597、2983、3086、3140、3246、3247、3260、4594、5865、3289、3290和3317)。
图6C示出根据本发明的一些实施例可用于耦合VNE的各种示例性方法。图6C示出在ND 600A中实现的VNE 670A.1-670A.P(以及可选的VNE 670A.Q-670A-R)和在ND 600H中实现的VNE 670H.1。在图6C中,VNE 670A.1-P在它们可从ND 600A外部接收分组并在ND600A外部转发分组的意义来说是彼此独立的;VNE 670A.1与VNE 670H.1耦合,并且因此它们在它们的相应ND之间通信分组;VNE 670A.2-670A.3可以可选地在它们本身之间转发分组,而无需在ND 600A外部转发它们;并且VNE 670A.P可以可选地是包括在VNE 670A.Q之后紧跟VNE 670A.R的VNE链中的第一个(这有时称为动态服务链接,其中VNE系列中的每个VNE提供不同服务,例如一个或多个层4-7网络服务)。尽管图6C示出VNE之间的各种示例性关系,但是备选实施例可支持其它关系(例如,更多/更少VNE、更多/更少动态服务链、具有一些共同VNE和一些不同VNE的许多不同的动态服务链)。
例如,图6A的ND可形成互联网或私有网络的一部分;并且其它电子装置(未示出;例如最终用户装置,包括工作站、膝上型计算机、上网本、平板电脑、掌上型计算机、移动电话、智能电话、多媒体电话、互联网协议语音(VOIP)电话、终端、便携式媒体播放器、GPS单元、可穿戴装置、游戏系统、机顶盒、互联网启用的家用电器)可(直接或通过诸如接入网络的其它网络)耦合到网络以便通过网络(例如,互联网或覆盖在(例如,隧穿通过)互联网上的虚拟私有网络(VPN))彼此(直接或通过服务器)通信和/或访问内容和/或服务。这些内容和/或服务通常由属于服务/内容供应商的一个或多个服务器(未示出)或参与对等(P2P)服务的一个或多个最终用户装置(未示出)提供,并且可包括例如公共网页(例如,免费内容、店面、搜索服务)、私有网页(例如,提供email服务的用户名/密码访问的网页)、和/或VPN上的公司网络。例如,最终用户装置可(例如,通过(有线或无线地)耦合到接入网络的客户驻地设备)耦合到边缘ND,边缘ND(例如,通过一个或多个核心ND)耦合到其它边缘ND,这些其它边缘ND耦合到充当服务器的电子装置。但是,通过计算和存储虚拟化,作为图6A中的ND操作的一个或多个电子装置还可托管一个或多个这样的服务器(例如,在通用网络装置604的情况下,一个或多个虚拟机662A-R可作为服务器操作;对于混合网络装置606同样如此;在专用网络装置602的情况下,一个或多个这样的服务器还可在由计算资源612执行的管理程序上运行);在此情况下,可以说服务器与该ND的VNE共置在一起。
虚拟网络是提供网络服务(例如,L2和/或L3服务)的物理网络(例如,图6A中的物理网络)的逻辑抽象。虚拟网络可作为在底层网络(例如,L3网络,如利用隧道(例如,通用路由封装(GRE)、第2层隧穿协议(L2TP)、IPSec)来创建覆盖网络的互联网协议(IP)网络)上提供网络服务(例如,第2层(L2,数据链路层)和/或第3层(L3,网络层)服务)的覆盖网络(有时称为网络虚拟化覆盖)实现。
网络虚拟化边缘(NVE)位于底层网络的边缘,并参与实现网络虚拟化;NVE的面对网络的一侧利用底层网络来将帧隧穿到其它NVE并从其它NVE隧穿帧;NVE的面对外面的一侧将数据发送到网络外部的系统以及从网络外部的系统接收数据。虚拟网络实例(VNI)是NVE上的虚拟网络的特定实例(例如,ND上的NE/VNE、ND上的NE/VNE的一部分,其中通过仿真将该NE/VNE划分成多个VNE);可在NVE上实例化一个或多个VNI(例如,作为ND上的不同VNE)。虚拟接入点(VAP)是NVE上用于将外部系统连接到虚拟网络的逻辑连接点;VAP可以是通过逻辑接口标识符(例如,VLAN ID)标识的物理或虚拟端口。
网络服务的示例包括:1) 以太网LAN仿真服务(与互联网工程任务组(IETF)多协议标签交换(MPLS)类似的基于以太网的多点服务、或以太网VPN(EVPN)服务),其中在底层网络上通过LAN环境跨越网络互连外部系统(例如,NVE为不同的这类虚拟网络提供独立的L2 VNI(虚拟交换实例),跨越底层网络提供L3(例如,IP/MPLS)隧穿封装);以及2) 虚拟化IP转发服务(从服务定义的角度,与IETF IP VPN(例如,边界网关协议(BGP)/MPLS IPVPNRFC 4364)类似),其中在底层网络上通过L3环境跨越网络互连外部系统(例如,NVE为不同的这类虚拟网络提供独立的L3 VNI(转发和路由实例),并跨越底层网络提供L3(例如,IP/MPLS)隧穿封装)。网络服务还可包括服务质量能力(例如,业务分类标记、业务调节和调度)、安全能力(例如,用于保护客户端设备免受源自网络的攻击的过滤器,以免畸形路由宣告)和管理能力(例如,完整检测和处理)。
图6D示出根据本发明的一些实施例在图6A的每个ND上具有单个网络元件的网络,并且在该直观方法中,将(传统路由器通常使用的)传统的分布式方法与集中式方法进行对比,以便维持可达性和转发信息(又称为网络控制)。具体来说,图6D示出具有与图6A的ND600A-H相同的连接的网络元件(NE)670A-H。
图6D示出,分布式方法672跨越NE 670A-H分布生成可达性和转发信息的责任;换句话说,邻居发现和拓扑发现的过程是分布式的。
例如,在使用专用网络装置602的情况下,ND控制平面624的控制通信和配置模块632A-R通常包括用于实现一个或多个路由协议(例如,诸如边界网关协议(BGP)(RFC 4271)的外部网关协议、内部网关协议(IGP)(例如,开放式最短路径优先(OSPF)(RFC 2328和5340)、中间系统-中间系统(IS-IS)(RFC 1142)、路由信息协议(RIP)(版本1 RFC 1058、版本2 RFC 2453和下一代RFC 2080))、标签分发协议(LDP)(RFC 5036)、资源预留协议(RSVP)(RFC 2205、2210、2211、2212以及RSVP-业务工程(TE):LSP隧道的RSVP的扩展RFC 3209、通用多协议标签交换(GMPLS)信令RSVP-TE RFC 3473、RFC 3936、4495和4558))的可达性和转发信息模块,这一个或多个协议与其它NE通信以便交换路线,然后基于一个或多个路由度量选择那些路线。因此,NE 670A-H(例如,执行控制通信和配置模块632A-R的计算资源612)通过分布式地确定网络内的可达性并计算它们的相应转发信息来执行它们的参与控制如何路由数据(例如,分组)(例如,数据的下一跳和该数据的外出物理NI)的责任。路线和相邻性存储在ND控制平面624上的一个或多个路由结构(例如,路由信息基址(RIB)、标签信息基址(LIB)、一个或多个相邻性结构)中。ND控制平面624利用基于路由结构的信息(例如,相邻性和路由信息)将ND转发平面626编程。例如,ND控制平面624在ND转发平面626上将相邻性和路由信息编程到一个或多个转发表634A-R中(例如,转发信息基址(FIB)、标签转发信息基址(LFIB)和一个或多个相邻性结构)。对于第2层转发,ND可将用于基于第2层信息转发数据的一个或多个桥接表存储在该数据中。尽管以上示例利用专用网络装置602,但是可在通用网络装置604和混合网络装置606上实现相同的分布式方法672。
图6D示出,集中式方法674(又称为软件定义联网(SDN))将做出关于在哪里发送业务的决定的系统与将业务转发到所选目的地的底层系统解耦。所示的集中式方法674具有在集中式控制平面676(有时称为SDN控制模块、控制器、网络控制器、OpenFlow控制器、SDN控制器、控制平面节点、网络虚拟化权威、或管理控制实体)中生成可达性和转发信息的责任,并且因此邻居发现和拓扑发现的过程是集中式的。集中式控制平面676具有与数据平面680(有时称为基础设施层、网络转发平面或转发平面(不应与ND转发平面混淆))的南向接口682,数据平面680包括NE 670A-H(有时称为交换机、转发元件、数据平面元件或节点)。集中式控制平面676包括网络控制器678,网络控制器678包括确定网络内的可达性并通过南向接口682(它可使用OpenFlow协议)将转发信息分发给数据平面680的NE 670A-H的集中式可达性和转发信息模块679。
网络智能集中在通常与ND分离的电子装置上执行的集中式控制平面676中。例如,在数据平面680中使用专用网络装置602的情况下,ND控制平面624的每个控制通信和配置模块632A-R通常包括提供南向接口682的VNE侧的控制代理。在此情况下,ND控制平面624(执行控制通信和配置模块632A-R的计算资源612)通过控制代理与集中式控制平面676通信以便从集中式可达性和转发信息模块679接收转发信息(并且在一些情况下,还包括可达性信息)来执行它的参与控制如何路由数据(例如,分组)(例如,数据的下一跳和该数据的外出物理NI)的责任(应了解,在本发明的一些实施例中,除了与集中式控制平面676通信以外,控制通信和配置模块632A-R还可在确定可达性和/或计算转发信息中起到一定作用—虽然比不上分布式方法的情形;这些实施例一般视为是归入集中式方法674,但是也可视为是混合方法)。
尽管以上示例利用专用网络装置602,但是也可用通用网络装置604(例如,通过与集中式控制平面676通信以便从集中式可达性和转发信息模块679接收转发信息(并且在一些情况下,还包括可达性信息),每个VNE 660A-R执行它的控制如何路由数据(例如,分组)(例如,数据的下一跳以及该数据的外出物理NI)的责任;应了解,在本发明的一些实施例中,除了与集中式控制平面676通信以外,VNE 660A-R还可在确定可达性和/或计算转发信息中起到一定作用—虽然比不上分布式方法的情形)和混合网络装置606来实现相同的集中式方法674。实际上,SDN技术的使用可增强在通用网络装置604或混合网络装置606实现中通常使用的NFV技术,因为NFV能够通过提供可运行SDN软件的基础设施来支持SDN,并且NFV和SDN均旨在利用商用服务器硬件和物理交换机。
图6D还示出,集中式控制平面676具有到其中驻留应用688的应用层686的北向接口684。应用之一是网络功能布局模块115。集中式控制平面676具有为应用688形成虚拟网络692(有时称为逻辑转发平面、网络服务或覆盖网络(其中数据平面680的NE 670A-H是底层网络))的能力。因此,集中式控制平面676维持所有ND和配置的NE/VNE的全局视图,并且它将虚拟网络有效地映射到底层ND(包括当物理网络通过硬件(ND、链路或ND组件)故障、增加或移除而改变时维持这些映射)。
尽管图6D示出分布式方法672与集中式方法674分离,但是在本发明的某些实施例中,网络控制的努力可以是不同地分布式地或将这两者组合在一起。例如:1) 实施例一般可利用集中式方法(SDN)674,只是将某些功能委托给NE(例如,可利用分布式方法来实现故障监测、性能监测、保护交换和邻居和/或拓扑发现的原语中的一个或多个);或2) 本发明的实施例可经由集中式控制平面和分布式协议执行邻居发现和拓扑发现,并且结果可进行比较以便在它们不一致时引发异常。这些实施例一般视为归入集中式方法674,但是也可视为是混合方法。
尽管图6D示出其中每个ND 600A-H实现单个NE 670A-H的简单情形,但是应了解,参考图6D描述的网络控制方法还对其中一个或多个ND 600A-H实现多个VNE(例如,VNE630A-R、VNE 660A-R、混合网络装置606中的VNE)的网络起作用。备选地或另外地,网络控制器678还可仿真在单个ND中实现多个VNE。具体来说,取代在单个ND中实现多个VNE(或除此之外),网络控制器678可将单个ND中的VNE/NE的实现呈现为虚拟网络692中的多个VNE(所有都在同一个虚拟网络692中,每个VNE在不同虚拟网络692中,或某种组合)。例如,网络控制器678可使得ND在底层网络中实现单个VNE(NE),然后在集中式控制平面676内在逻辑上分割该NE的资源以便在虚拟网络692中呈现不同VNE(其中覆盖网络中的这些不同VNE共享底层网络中的ND上的单个VNE/NE实现的资源)。
另一方面,图6E和6F分别示出网络控制器678可作为不同虚拟网络692的部分呈现的NE和VNE的示例性抽象。图6E示出根据本发明的一些实施例的简单情形,其中每个ND600A-H实现单个NE 670A-H(见图6D),但是在图6D的虚拟网络692之一中,集中式控制平面676将不同ND中的多个NE(NE 670A-C和G-H)抽象为(以便表示)单个NE 670I。图6E显示,在该虚拟网络中,NE 670I耦合到NE 670D和670F,NE 670D和670F仍耦合到NE 670E。
图6F示出根据本发明的一些实施例的情形,其中在不同ND(ND 600A和ND 600H)上实现多个VNE(VNE 670A.1和VNE 670H.1),这些VNE彼此耦合,并且其中集中式控制平面676将这些VNE抽象成使得它们就像是图6D的虚拟网络692之一内的单个VNE 670T。因此,NE或VNE的抽象可跨越多个ND。
尽管本发明的一些实施例将集中式控制平面676实现为单个实体(例如,在单个电子装置上运行的单个软件实例),但是备选实施例可跨越多个实体扩展该功能性以便实现冗余和/或可扩展的目的(例如,在不同电子装置上运行的多个软件实例)。
与网络装置实现类似,可以用各种方式(例如,专用装置、通用(例如,COTS)装置或混合装置)来实现运行集中式控制平面676的电子装置以及因此的包括集中式可达性和转发信息模块679的网络控制器678。这些电子装置将类似地包括计算资源、一个或多个物理NIC的集合以及其上存储有集中式控制平面软件的非暂时性机器可读存储介质。例如,图7示出,通用控制平面装置704包括硬件740,硬件740包含一个或多个处理器742(通常是COTS处理器)的集合、网络接口控制器744(NIC;又称为网络接口卡)(包括物理NI 746)、以及其中存储有集中式控制平面(CCP)软件750的非暂时性机器可读存储介质748。
在利用计算虚拟化的实施例中,处理器742通常执行软件以便实例化管理程序754(有时称为虚拟机监测器(VMM))和由管理程序754运行的一个或多个虚拟机762A-R;管理程序754和虚拟机762A-R统称为软件实例752。虚拟机是就像它们在物理、非虚拟化机器上执行一样运行程序的物理机的软件实现;并且应用一般不知道与在“裸机”主机电子装置上运行相反它们在虚拟机上运行,但是一些系统提供允许操作系统或应用知道出于优化的目的而存在虚拟化的准虚拟化。同样地,在使用计算虚拟化的实施例中,在操作过程中,通常在虚拟机762A内执行操作系统764A之上的CCP软件750的示例(示为CCP实例776A)。在不使用计算虚拟化的实施例中,在“裸机”通用控制平面装置704上执行操作系统764A之上的CCP实例776A。
操作系统764A提供基本处理、输入/输出(I/O)和联网能力。在一些实施例中,CCP实例776A包括网络控制器实例778。网络控制器实例778包括集中式可达性和转发信息模块实例779(它是将网络控制器678的上下文提供给操作系统764A并与各种NE通信的中间件层)和中间件层(提供各种网络操作所需的智能性,例如协议、网络情形知晓和用户-界面)上的CCP应用层780(有时称为应用层)。在更抽象一级,集中式控制平面676内的该CCP应用层780与虚拟网络视图(网络的逻辑视图)一起工作,并且中间件层提供从虚拟网络到物理视图的转换。
集中式控制平面676基于每个流的CCP应用层780计算和中间件层映射将相关消息传送到数据平面680。可将流定义为报头与给定位模式匹配的分组的集合;在这个意义上,传统IP转发也是基于流的转发,其中通过例如目的地IP地址来定义流;但是,在其它实现中,用于流定义的给定位模式可包括分组报头中的更多字段(例如,10个或更多个)。数据平面680的不同ND/NE/VNE可接收不同的消息,并且因此可接收不同的转发信息。数据平面680处理这些消息,并在合适NE/VNE的转发表(有时称为流表)中编程合适的流信息和对应动作,然后NE/VNE将输入分组映射到在转发表中表示的流,并基于转发表中的匹配转发分组。
诸如OpenFlow的标准定义用于消息的协议以及用于处理分组的模型。用于处理分组的模型包括报头剖析、分组分类和做出转发决定。报头剖析描述如何基于公知的协议集合解译分组。一些协议字段用于构建将在分组分类中使用的匹配结构(或密钥)(例如,第一密钥字段可以是源媒体接入控制(MAC)地址,而第二密钥字段可以是目的地MAC地址)。
分组分类涉及在存储器中执行查找以便通过基于转发表条目的匹配结构或密钥确定转发表中的哪个条目(又称为转发表条目或流条目)与分组最佳地匹配来将分组分类。可能的是,转发表条目中表示的许多流可对应于某个分组/与某个分组匹配;在这种情况下,系统通常配置成根据定义的方案从中确定一个转发表条目(例如,选择匹配的第一转发表条目)。转发表条目包括特定的匹配准则集合(值或通配符的集合,或应当将分组的哪些部分与一个或多个特定值/通配符进行比较的指示,这由匹配能力定义—对于分组报头中的特定字段,或对于某个其它分组内容)和在接收匹配分组时数据平面采取的一个或多个动作的集合。例如,动作可以是将报头推送到分组上(对于利用特定端口的分组),溢出分组,或简单地丢弃分组。因此,具有特定传输控制协议(TCP)目的地端口的IPv4/IPv6分组的转发表条目可包含指定应当丢弃这些分组的动作。
基于在分组分类期间标识的转发表条目,通过执行在分组上的匹配的转发表条目中标识的动作的集合,做出转发决定并执行动作。
但是,当未知分组(例如,如OpenFlow用语中所使用的“未命中分组”或“匹配未命中”)到达数据平面680时,通常将分组(或分组报头和内容的子集)转发到集中式控制平面676。集中式控制平面676将接着将转发表条目编程到数据平面680中以便容纳属于未知分组的流的分组。一旦通过集中式控制平面676将特定转发表条目编程到数据平面680中,具有匹配证书的下一个分组将与该转发表条目匹配,并采取与该匹配的条目相关联的动作的集合。
网络接口(NI)可以是物理的或虚拟的;并且在IP的上下文中,接口地址是指派给NI的IP地址,而不管它是物理NI还是虚拟NI。虚拟NI可以与物理NI相关联,与另一个虚拟接口相关联,或代表它自己(例如,回路接口、点到点协议接口)。NI(物理或虚拟)可以编号(具有IP地址的NI)或不编号(不具有IP地址的NI)。回路接口(以及它的回路地址)是通常用于管理目的的NE/VNE(物理或虚拟)的特定类型的虚拟NI(和IP地址);其中将这样的IP地址称为节点回路地址。指派给ND的NI的IP地址称为该ND的IP地址;在更细粒度等级,指派给为在ND上实现的NE/VNE指派的NI的IP地址可称为该NE/VNE的IP地址。
每个VNE(例如,虚拟路由器、虚拟桥接器(可充当虚拟私有LAN服务(VPLS)(RFC4761和4762)中的虚拟交换机实例)通常可独立管理。例如,在多个虚拟路由器的情况下,每个虚拟路由器可共享系统资源,但是关于它的管理域、AAA(认证、授权和记帐)名称空间、IP地址和路由数据库与其它虚拟路由器独立。可在边缘ND中采用多个VNE以便为服务和/或内容供应商的订户提供直接网络访问和/或不同类别的服务。
在某些ND内,与物理NI独立的“接口”可配置成VNE的部分以便提供更高层协议和服务信息(例如,第3层寻址)。除了其它订户配置要求外,AAA服务器中的订户记录标识应当在ND内将对应订户捆绑到哪个上下文(例如,哪个VNE/NE)。如本文中所使用,捆绑在物理实体(例如,物理NI、信道)或逻辑实体(例如,电路,如订户电路或逻辑电路(一个或多个订户电路的集合))与上下文的接口之间形成关联,其中通过该接口为该上下文配置网络协议(例如,路由协议、桥接协议)。当配置某个更高层协议接口并且该接口与物理实体相关联时,订户数据在该物理实体上流过。
尽管上文的图中的流程图示出由本发明的某些实施例执行的操作特定顺序,但是应了解,这样的顺序是示例性的(例如,备选实施例可以按不同的顺序执行操作,组合某些操作,重叠某些操作,等等)。
尽管就若干个实施例描述了本发明,但是本领域技术人员将意识到,本发明不限于描述的实施例,而是可以在随附权利要求的精神和范围内作出修改和改变的情况下加以实践。因此,本描述视为是说明性而不是限制性的。
Claims (21)
1.一种在耦合到网络的电子装置中实现的方法,其中所述网络的业务作为业务流的集合进行路由,其中每个业务流经过网络功能链,其中每个网络功能将由服务器执行,其中每个服务器驻留在硬件模块(称为“网荚”)处,其中所述网络包含网荚的集合,所述方法包括:
对于每个业务流,启动(404)网荚列表,其中所述网荚列表最初不包含网荚;
按照所需资源的递减顺序将所述业务流的对应链内的网络功能排序(406),其中每个网络功能需要的资源是预先确定的;
根据所述递减顺序一次选择(408)所述业务流的一个网络功能;
对于所述业务流的每个网络功能,
如果所述网荚列表不是空的,则按照每个网荚中的可用资源的递增顺序将所述网荚列表中的网荚排序(410);
当可能时,预留(412)所述网荚列表内的第一网荚以便供所述网络功能驻留,其中所述第一网荚具有足够的可用资源供所述网络功能驻留,其中所述预留遵循所述网荚列表中的所述网荚的递增顺序;
当所述网荚列表中没有网荚具有足够的可用资源供所述网络功能驻留时,将来自所述网络的网荚池的网荚添加(414)到所述网荚列表,其中所述添加的网荚是所述网荚池中位于所述网荚列表之外的具有最多可用资源的网荚;以及
预留(416)所述添加的网荚以便供所述网络功能驻留。
2. 如权利要求1所述的方法,所述方法还包括:
对于每个业务流,在预留一个网荚以便供所述对应链内的每个网络功能驻留之后,在所述网荚列表中选择(418)两个网荚,一个网荚在所述预留之后消耗最少资源,而另一个网荚在所述预留之后消耗最多资源;以及
一旦确定消耗最多资源的网荚具有足够的资源供一个或多个网络功能驻留,那么将所述一个或多个网络功能的预留从消耗最少资源的网荚变换(420)为消耗最多资源的网荚。
3.如权利要求1所述的方法,其中每个网络功能需要的资源是所述网络功能消耗的带宽。
4.如权利要求1所述的方法,其中每个网络功能需要的资源是所述网络功能消耗的计算功率。
5.如权利要求1所述的方法,其中每个网络功能需要的资源是所述网络功能消耗的数据存储空间。
6.如权利要求1所述的方法,其中在所述网荚池中是所述网络的所述网荚集合的子集,并且其中所述网荚池排除被确定不适合托管网络功能的一些网荚。
7.如权利要求1所述的方法,其中到达网荚的至少一个业务流来自光网络的光交换装置。
8.如权利要求1所述的方法,其中所述网络包含软件定义网络(SDN),并且其中所述电子装置是与所述SDN的SDN控制器交互的应用服务器。
9.一种耦合到网络的电子装置,其中所述网络的业务作为业务流的集合进行路由,其中每个业务流经过网络功能链,其中每个网络功能将由服务器执行,其中每个服务器驻留在硬件模块(称为“网荚”)处,其中所述数据网络包含网荚的集合,所述电子装置包括:
处理器(502)和包含指令的非暂时性机器可读存储介质(503),所述指令在由所述处理器执行时使得所述处理器:
对于每个业务流,启动网荚列表,其中所述网荚列表最初不包含网荚;
按照所需资源的递减顺序将所述业务流的对应链内的网络功能排序,其中每个网络功能需要的资源是预先确定的;
根据所述递减顺序一次选择所述业务流的一个网络功能;
对于所述业务流的每个网络功能,
如果所述网荚列表不是空的,那么按照每个网荚中的可用资源的递增顺序将所述网荚列表中的网荚排序;
当可能时,预留所述网荚列表内的第一网荚以便供所述网络功能驻留,其中所述第一网荚具有足够的可用资源供所述网络功能驻留,其中所述预留遵循所述网荚列表中的所述网荚的递增顺序;
当所述网荚列表中没有网荚具有足够的可用资源供所述网络功能驻留时,将来自所述网络的网荚池的网荚添加到所述网荚列表,其中所述添加的网荚是所述网荚池中位于所述网荚列表之外的具有最多可用资源的网荚;以及
预留所述添加的网荚以便供所述网络功能驻留。
10. 如权利要求9所述的网络装置,所述处理器还:
对于每个业务流,在预留一个网荚以便供所述对应链内的每个网络功能驻留之后,在所述网荚列表中选择两个网荚,一个网荚在所述预留之后消耗最少资源,而另一个网荚在所述预留之后消耗最多资源;以及
一旦确定消耗最多资源的网荚具有足够的资源供一个或多个网络功能驻留,那么将所述一个或多个网络功能的预留从消耗最少资源的网荚变换为消耗最多资源的网荚。
11.如权利要求9所述的网络装置,其中每个网络功能需要的资源是所述网络功能消耗的带宽。
12.如权利要求9所述的网络装置,其中每个网络功能需要的资源是所述网络功能消耗的计算功率。
13.如权利要求9所述的网络装置,其中每个网络功能需要的资源是所述网络功能消耗的数据存储空间。
14.如权利要求9所述的网络装置,其中到达网荚的至少一个业务流来自光网络的光交换装置。
15.如权利要求9所述的网络装置,其中所述网络包含软件定义网络(SDN),并且其中所述电子装置是与所述SDN的SDN控制器交互的应用服务器。
16.一种其中存储有指令的非暂时性机器可读介质,所述指令在由处理器执行时使得所述处理器在耦合到网络的电子装置处执行操作,其中所述网络的业务作为业务流的集合进行路由,其中每个业务流经过网络功能链,其中每个网络功能将由服务器执行,其中每个服务器驻留在硬件模块(称为“网荚”)处,其中所述网络包含网荚的集合,所述操作包括:
对于每个业务流,启动(404)网荚列表,其中所述网荚列表最初不包含网荚;
按照所需资源的递减顺序将所述业务流的对应链内的网络功能排序(406),其中每个网络功能需要的资源是预先确定的;
根据所述递减顺序一次选择(408)所述业务流的一个网络功能;
对于所述业务流的每个网络功能,
如果所述网荚列表不是空的,那么按照每个网荚中的可用资源的递增顺序将所述网荚列表中的网荚排序(410);
当可能时,预留(412)所述网荚列表内的第一网荚以便供所述网络功能驻留,其中所述第一网荚具有足够的可用资源供所述网络功能驻留,其中所述预留遵循所述网荚列表中的所述网荚的递增顺序;
当所述网荚列表中没有网荚具有足够的可用资源供所述网络功能驻留时,将来自所述网络的网荚池的网荚添加(414)到所述网荚列表,其中所述添加的网荚是所述网荚池中位于所述网荚列表之外的具有最多可用资源的网荚;以及
预留(416)所述添加的网荚以便供所述网络功能驻留。
17. 如权利要求16所述的非暂时性机器可读介质,所述操作还包括:
对于每个业务流,在预留一个网荚以便供所述对应链内的每个网络功能驻留之后,在所述网荚列表中选择(418)两个网荚,一个网荚在所述预留之后消耗最少资源,而另一个网荚在所述预留之后消耗最多资源;以及
一旦确定消耗最多资源的网荚具有足够的资源供一个或多个网络功能驻留,那么将所述一个或多个网络功能的预留从消耗最少资源的网荚变换(420)为消耗最多资源的网荚。
18.如权利要求16所述的非暂时性机器可读介质,其中每个网络功能需要的资源是所述网络功能消耗的带宽。
19.如权利要求16所述的非暂时性机器可读介质,其中每个网络功能需要的资源是所述网络功能消耗的计算功率。
20.如权利要求16所述的非暂时性机器可读介质,其中每个网络功能需要的资源是所述网络功能消耗的数据存储空间。
21.如权利要求16所述的非暂时性机器可读介质,其中到达网荚的至少一个业务流来自光网络的光交换装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461978448P | 2014-04-11 | 2014-04-11 | |
US61/978448 | 2014-04-11 | ||
US14/328,471 US9503391B2 (en) | 2014-04-11 | 2014-07-10 | Method and system for network function placement |
US14/328471 | 2014-07-10 | ||
PCT/IB2015/051999 WO2015155616A1 (en) | 2014-04-11 | 2015-03-18 | A method and system for network function placement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106464522A true CN106464522A (zh) | 2017-02-22 |
CN106464522B CN106464522B (zh) | 2019-12-24 |
Family
ID=54266024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580019260.6A Active CN106464522B (zh) | 2014-04-11 | 2015-03-18 | 用于网络功能布局的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9503391B2 (zh) |
EP (1) | EP3130109B1 (zh) |
CN (1) | CN106464522B (zh) |
WO (1) | WO2015155616A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306757A (zh) * | 2017-12-25 | 2018-07-20 | 清华大学 | 可编程数据平面虚拟层构建方法及存储介质 |
CN109462537A (zh) * | 2018-12-04 | 2019-03-12 | 中国联合网络通信集团有限公司 | 一种跨网络互通方法和装置 |
CN109547346A (zh) * | 2019-01-04 | 2019-03-29 | 烽火通信科技股份有限公司 | 建立mpls l2vpn业务端到端模型的方法及系统 |
CN110463140A (zh) * | 2017-04-14 | 2019-11-15 | 华为技术有限公司 | 计算机数据中心的网络服务水平协议 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9520961B2 (en) * | 2014-01-17 | 2016-12-13 | Telefonaktiebolaget L M Ericsson (Publ) | System and methods for optical lambda flow steering |
EP3216194B1 (en) * | 2014-11-04 | 2020-09-30 | Telefonaktiebolaget LM Ericsson (publ) | Network function virtualization service chaining |
CN107209692A (zh) * | 2014-12-04 | 2017-09-26 | 诺基亚通信管理国际两合公司 | 虚拟化资源的操纵 |
FR3030966A1 (fr) * | 2014-12-23 | 2016-06-24 | Orange | Systeme de generation d'une fonction reseau virtualisee |
US9660929B1 (en) * | 2015-01-29 | 2017-05-23 | Amdocs Software Systems Limited | System, method, and computer program for segregated policy decision making in the context of network function virtualization orchestration in a communication network |
US11336519B1 (en) * | 2015-03-10 | 2022-05-17 | Amazon Technologies, Inc. | Evaluating placement configurations for distributed resource placement |
US10129097B2 (en) * | 2015-06-02 | 2018-11-13 | ALTR Solutions, Inc. | GUI and high-level API wrapper for software defined networking and software defined access for controlling network routing and rules |
US10104167B2 (en) * | 2015-09-28 | 2018-10-16 | Verizon Patent And Licensing Inc. | Networking functions in a micro-services architecture |
US10250437B2 (en) * | 2015-10-29 | 2019-04-02 | Arista Networks, Inc. | Method and system for configuring network devices |
US10476735B2 (en) * | 2015-10-31 | 2019-11-12 | Nicira, Inc. | Representation of match conditions in logical pipeline data |
US10419530B2 (en) | 2015-11-02 | 2019-09-17 | Telefonaktiebolaget Lm Ericsson (Publ) | System and methods for intelligent service function placement and autoscale based on machine learning |
US9985867B2 (en) | 2015-12-11 | 2018-05-29 | Cisco Technology, Inc. | Optimizing EVPN for data centers with redundant top-of-rack deployments |
US10097909B2 (en) * | 2016-03-03 | 2018-10-09 | Infinera Corporation | Systems, apparatus, and methods for segment routing of optical signals |
US10425419B2 (en) | 2016-07-21 | 2019-09-24 | At&T Intellectual Property I, L.P. | Systems and methods for providing software defined network based dynamic access control in a cloud |
US10361915B2 (en) * | 2016-09-30 | 2019-07-23 | International Business Machines Corporation | System, method and computer program product for network function optimization based on locality and function type |
US11824863B2 (en) * | 2016-11-03 | 2023-11-21 | Nicira, Inc. | Performing services on a host |
US10764394B2 (en) | 2016-11-30 | 2020-09-01 | At&T Intellectual Property I, L.P. | Resource based framework to support service programmability for a 5G or other next generation mobile core network |
US10158929B1 (en) * | 2017-02-17 | 2018-12-18 | Capital Com SV Investments Limited | Specialized optical switches utilized to reduce latency in switching between hardware devices in computer systems and methods of use thereof |
US20190068466A1 (en) * | 2017-08-30 | 2019-02-28 | Intel Corporation | Technologies for auto-discovery of fault domains |
US10708185B2 (en) | 2017-11-30 | 2020-07-07 | Cisco Technology, Inc. | Dynamic next-hop selection for routes in a network fabric |
US10776173B1 (en) | 2018-04-30 | 2020-09-15 | Amazon Technologies, Inc. | Local placement of resource instances in a distributed system |
JP6973300B2 (ja) * | 2018-06-04 | 2021-11-24 | 日本電信電話株式会社 | サービスチェイン設計装置、サービスチェイン設計方法、および、サービスチェイン設計プログラム |
US10853039B2 (en) | 2018-07-12 | 2020-12-01 | At&T Intellectual Property I, L.P. | Optimization application |
US11934856B2 (en) * | 2018-07-30 | 2024-03-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Joint placement and chaining of virtual network functions for virtualized systems based on a scalable genetic algorithm |
CN109120459B (zh) * | 2018-09-27 | 2019-09-20 | 中国联合网络通信有限公司广东省分公司 | 一种基于业务编排器的城域网业务处理方法 |
JP7081514B2 (ja) * | 2019-01-30 | 2022-06-07 | 日本電信電話株式会社 | オートスケール型性能保証システム及びオートスケール型性能保証方法 |
CN111858032A (zh) * | 2020-06-24 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种ai模型任务的加速处理方法及相关装置 |
US11948010B2 (en) * | 2020-10-12 | 2024-04-02 | International Business Machines Corporation | Tag-driven scheduling of computing resources for function execution |
FR3119067B3 (fr) * | 2021-01-20 | 2022-12-23 | Ebos Tech | Provisionnement flexible de tranches de réseau dans un réseau mobile par le biais d’une fonction d’exposition de réseau |
US11768713B2 (en) * | 2021-04-19 | 2023-09-26 | Microsoft Technology Licensing, Llc | Dynamic relocation of pods to optimize inter-pod networking |
US20240267356A1 (en) * | 2022-12-27 | 2024-08-08 | Akashdeep CHOPRA | System and method for automated static ip configuration |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852361A (zh) * | 2005-07-29 | 2006-10-25 | 华为技术有限公司 | 一种呈现及智能呼叫路由结合业务实现方法与装置 |
CN1852357A (zh) * | 2005-07-01 | 2006-10-25 | 华为技术有限公司 | 一种业务集成方法 |
CN101426193A (zh) * | 2007-11-01 | 2009-05-06 | 华为技术有限公司 | 网络资源信息管理方法、通信设备及通信系统 |
CN101523812A (zh) * | 2006-06-30 | 2009-09-02 | 艾姆巴克控股有限公司 | 用于收集网络性能信息的系统和方法 |
US20110176437A1 (en) * | 2010-01-20 | 2011-07-21 | Hitachi, Ltd. | Traffic volume monitoring system |
CN103155500A (zh) * | 2010-05-14 | 2013-06-12 | 极进网络公司 | 用于网络业务流的无状态负载平衡的方法、系统和计算机可读介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7257083B2 (en) * | 2003-06-25 | 2007-08-14 | Motorola, Inc. | Method and apparatus for policy-based dynamic preemptive scheduling of data transmissions |
US20100260500A1 (en) | 2009-04-08 | 2010-10-14 | Nec Laboratories America Inc | Mult9-degree wavelength cross-connect using bidirectional wavelength selective switch |
US8458500B2 (en) * | 2009-11-30 | 2013-06-04 | International Business Machines Corporation | Server allocation to workload based on energy profiles |
US8503879B2 (en) | 2010-10-25 | 2013-08-06 | Nec Laboratories America, Inc. | Hybrid optical/electrical switching system for data center networks |
US8671407B2 (en) | 2011-07-06 | 2014-03-11 | Microsoft Corporation | Offering network performance guarantees in multi-tenant datacenters |
US9117002B1 (en) * | 2011-12-09 | 2015-08-25 | Amazon Technologies, Inc. | Remote browsing session management |
US10097452B2 (en) | 2012-04-16 | 2018-10-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Chaining of inline services using software defined networking |
US8983293B2 (en) | 2012-04-25 | 2015-03-17 | Ciena Corporation | Electro-optical switching fabric systems and methods |
US9331940B2 (en) | 2012-08-28 | 2016-05-03 | Alcatel Lucent | System and method providing distributed virtual routing and switching (DVRS) |
CN104704759B (zh) * | 2012-10-08 | 2017-11-24 | 华为技术有限公司 | 基于波分复用(wdm)的光网络的传送功能虚拟化 |
US9332323B2 (en) | 2012-10-26 | 2016-05-03 | Guohua Liu | Method and apparatus for implementing a multi-dimensional optical circuit switching fabric |
US20140201375A1 (en) * | 2013-01-11 | 2014-07-17 | Anuta Networks, Inc. | Method, apparatus and system pertaining to cloud computing |
WO2015051023A1 (en) | 2013-10-03 | 2015-04-09 | Coadna Photonics Inc. | Distributed optical switching architecture for data center networking |
US20150113144A1 (en) * | 2013-10-21 | 2015-04-23 | Alcatel-Lucent Usa Inc. | Virtual resource placement for cloud-based applications and solutions |
US9654852B2 (en) | 2013-12-24 | 2017-05-16 | Nec Corporation | Scalable hybrid packet/circuit switching network architecture |
US9520961B2 (en) | 2014-01-17 | 2016-12-13 | Telefonaktiebolaget L M Ericsson (Publ) | System and methods for optical lambda flow steering |
-
2014
- 2014-07-10 US US14/328,471 patent/US9503391B2/en active Active
-
2015
- 2015-03-18 EP EP15716138.1A patent/EP3130109B1/en active Active
- 2015-03-18 WO PCT/IB2015/051999 patent/WO2015155616A1/en active Application Filing
- 2015-03-18 CN CN201580019260.6A patent/CN106464522B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852357A (zh) * | 2005-07-01 | 2006-10-25 | 华为技术有限公司 | 一种业务集成方法 |
CN1852361A (zh) * | 2005-07-29 | 2006-10-25 | 华为技术有限公司 | 一种呈现及智能呼叫路由结合业务实现方法与装置 |
CN101523812A (zh) * | 2006-06-30 | 2009-09-02 | 艾姆巴克控股有限公司 | 用于收集网络性能信息的系统和方法 |
CN101426193A (zh) * | 2007-11-01 | 2009-05-06 | 华为技术有限公司 | 网络资源信息管理方法、通信设备及通信系统 |
US20110176437A1 (en) * | 2010-01-20 | 2011-07-21 | Hitachi, Ltd. | Traffic volume monitoring system |
CN103155500A (zh) * | 2010-05-14 | 2013-06-12 | 极进网络公司 | 用于网络业务流的无状态负载平衡的方法、系统和计算机可读介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110463140A (zh) * | 2017-04-14 | 2019-11-15 | 华为技术有限公司 | 计算机数据中心的网络服务水平协议 |
US10735279B2 (en) | 2017-04-14 | 2020-08-04 | Futurewei Technologies, Inc. | Networking service level agreements for computer datacenters |
CN110463140B (zh) * | 2017-04-14 | 2021-04-20 | 华为技术有限公司 | 计算机数据中心的网络服务水平协议 |
CN108306757A (zh) * | 2017-12-25 | 2018-07-20 | 清华大学 | 可编程数据平面虚拟层构建方法及存储介质 |
CN108306757B (zh) * | 2017-12-25 | 2020-07-17 | 清华大学 | 可编程数据平面虚拟层构建方法及存储介质 |
CN109462537A (zh) * | 2018-12-04 | 2019-03-12 | 中国联合网络通信集团有限公司 | 一种跨网络互通方法和装置 |
CN109462537B (zh) * | 2018-12-04 | 2021-04-30 | 中国联合网络通信集团有限公司 | 一种跨网络互通方法和装置 |
CN109547346A (zh) * | 2019-01-04 | 2019-03-29 | 烽火通信科技股份有限公司 | 建立mpls l2vpn业务端到端模型的方法及系统 |
CN109547346B (zh) * | 2019-01-04 | 2021-05-18 | 烽火通信科技股份有限公司 | 建立mpls l2vpn业务端到端模型的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US9503391B2 (en) | 2016-11-22 |
CN106464522B (zh) | 2019-12-24 |
EP3130109A1 (en) | 2017-02-15 |
EP3130109B1 (en) | 2018-10-10 |
WO2015155616A1 (en) | 2015-10-15 |
US20150295849A1 (en) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106464522A (zh) | 用于网络功能布局的方法和系统 | |
US10868756B2 (en) | Explicit control of aggregation links via IS-IS | |
US11212210B2 (en) | Selective route exporting using source type | |
US10419530B2 (en) | System and methods for intelligent service function placement and autoscale based on machine learning | |
CN108353024A (zh) | 选路系统中经由隧穿的多播状态减少 | |
CN105765946B (zh) | 支持数据网络中的服务链接的方法和系统 | |
CN110651451B (zh) | 基于策略的路由系统中的路由表选择方法及网络设备 | |
CN108702328A (zh) | 用于穿越分段路由和mpls网络的业务的灵活路径拼接和选择的is-is扩展 | |
JP6967521B2 (ja) | Ospfを利用して最大ノードおよび/またはリンクセグメント識別子深度を明らかにするための技法 | |
CN106105116B (zh) | 添加用于is-is默认路由的备选路径的程序 | |
CN107005481A (zh) | 对于双向转发检测返回路径的控制 | |
US10205662B2 (en) | Prefix distribution-based table performance optimization in SDN | |
CN109863725A (zh) | 基于最大分段标识符深度的分段路由 | |
US9853877B2 (en) | Method for optimized placement of service-chain-monitoring probes | |
CN108055878A (zh) | 使用边界网关协议来向外部应用揭示最大分段标识符深度 | |
CN107566440A (zh) | 软件定义的网络环境中服务的自动发现和自动扩缩 | |
CN109076018A (zh) | 利用is-is暴露最大节点和/或链路分段标识符深度的技术 | |
CN105591978A (zh) | 基于网络的服务功能链接 | |
CN106105114B (zh) | 多归属is-is前缀的更好替换路径 | |
CN105830406A (zh) | 用于支持软件定义网络中的灵活查找关键字的方法、设备和系统 | |
US11089102B2 (en) | Advertising network resource sharing status in SDN | |
CN108886494A (zh) | 使用中间系统到中间系统(is-is)的伪线建立和保持的方法和装置 | |
CN102394804A (zh) | 虚拟私有网络系统的构建方法及虚拟私有网络系统 | |
RU2675212C1 (ru) | Адаптивная балансировка нагрузки при обработке пакетов | |
US11563648B2 (en) | Virtual network function placement in a cloud environment based on historical placement decisions and corresponding performance indicators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |