CN105594166A - 软件定义网络中的具有一致更新的可扩展网络配置 - Google Patents

软件定义网络中的具有一致更新的可扩展网络配置 Download PDF

Info

Publication number
CN105594166A
CN105594166A CN201480052930.XA CN201480052930A CN105594166A CN 105594166 A CN105594166 A CN 105594166A CN 201480052930 A CN201480052930 A CN 201480052930A CN 105594166 A CN105594166 A CN 105594166A
Authority
CN
China
Prior art keywords
address
destination
shadow
network
equipment
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
CN201480052930.XA
Other languages
English (en)
Other versions
CN105594166B (zh
Inventor
K·B·阿格尔沃尔
J·B·卡尔特尔
C·K·狄克松
W·M·菲尔特尔
B·E·斯蒂芬
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN105594166A publication Critical patent/CN105594166A/zh
Application granted granted Critical
Publication of CN105594166B publication Critical patent/CN105594166B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0873Checking configuration conflicts between network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications

Landscapes

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

Abstract

本发明提供了用于配置网络中的源设备与目的地设备之间的数据流的机制。所述机制从网络控制应用接收针对建立对应于源设备与目的地设备之间的数据流的网络配置的请求。所述请求包括用于定义数据流的细粒度报头字段元组。所述机制从影子地址池中分配将被映射到细粒度报头字段元组的影子地址。所述影子地址池包括没有在被耦合到网络的设备使用的地址。所述机制对网络的网络基础设施进行配置,以便基于影子地址把数据流的数据分组从源设备路由到目的地设备。

Description

软件定义网络中的具有一致更新的可扩展网络配置
背景技术
本申请总体上涉及改进的数据处理装置和方法,更具体来说涉及用于提供软件定义网络中的具有一致更新的可扩展网络配置的机制。
软件定义联网(SDN)是针对计算机联网的一种方法,其允许网络管理员通过较低层级功能的抽象来管理网络服务。这是通过把作出关于把通信量发送到何处的决定的系统(控制平面)与向所选择的目的地转发通信量的底层系统(数据平面)解除耦合而实现的。通过SDN,网络智能和状态在逻辑上被集中,并且底层网络基础设施被从应用中抽象。
SDN需要用于控制平面与数据平面进行通信的某种机制。一种此类机制OpenFlow(开放流)是特别针对SDN设计的标准接口,其对所支持的网络设备的控制和数据平面之间的通信进行结构化。OpenFlow允许对于网络设备的转发平面的直接访问和操纵,比如交换机和路由器——所述访问和操纵既有物理的也有虚拟的(基于管理程序)。OpenFlow协议定义了可以由外部软件应用使用来对网络设备的转发平面进行编程的基本原语,这类似于处理器的指令集。
OpenFlow使用流的概念基于预定义的匹配规则来识别网络通信量,所述匹配规则可以由SDN控制软件静态地或动态地编程。由于OpenFlow允许在每个流的基础上对网络进行编程,因此基于OpenFlow的SDN架构提供了极为粒度化的控制,从而使得网络能够对应用、用户和会话层级的实时改变作出响应。
发明内容
在一个说明性实施例中,提供包括处理器和存储器的数据处理系统中的一种用于配置网络中的源设备与目的地设备之间的数据流的方法。所述方法包括:从网络控制应用接收针对建立对应于源设备与目的地设备之间的数据流的网络配置的请求。所述请求包括用于定义数据流的细粒度报头字段元组。所述方法还包括:从影子地址池中分配将被映射到细粒度报头字段元组的影子地址。所述影子地址池包括没有被耦合到网络的设备使用的地址。所述方法还包括:对网络的网络基础设施进行配置,以便基于影子地址把数据流的数据分组从源设备路由到目的地设备。
在其他说明性实施例中,提供一种包括具有计算机可读程序的计算机可用或可读介质的计算机程序产品。当在计算设备上执行时,所述计算机可读程序使得计算设备实施前面关于所述方法说明性实施例所概述的各项操作和操作组合。
在另一个说明性实施例中,提供一种系统/装置。所述系统/装置可以包括一个或多个处理器以及耦合到所述一个或多个处理器的存储器。所述存储器可以包括指令,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器实施前面关于所述方法说明性实施例所概述的各项操作和操作组合。
在后面对于本发明的示例性实施例的详细描述中将会描述本发明的前述和其他特征和优点,或者通过后面对于本发明的示例性实施例的详细描述,本发明的前述和其他特征和优点对于本领域技术人员将会变得显而易见。
附图说明
通过在结合附图阅读时参照后面对于说明性实施例的详细描述,将会最佳地理解本发明及其优选使用模式以及另外的目的和优点。
图1是可以在其中实施说明性实施例的各个方面的分布式数据处理系统的示例性图示;
图2是可以在其中实施说明性实施例的各个方面的计算设备的示例性方框图;
图3示出了其中根据一个说明性实施例实施ARP欺骗的第一实现方式;
图4是概述了用于实施根据一个说明性实施例的基于影子MAC地址的联网的示例性操作的流程图;以及
图5是概述了用于实施根据一个说明性实施例的网络的交换机中的路由更新的示例性操作的流程图。
具体实施方式
当前的数据分组(或者简称作“分组”)转发要求数据网络中的交换机具有匹配规则,以便规定将要发送传入分组的方向,例如在每一个交换机处决定将要通过该交换机的哪一个端口来传送分组。正如前面所提到的那样,软件定义联网(SDN)架构允许从逻辑上集中的控制器计算和安装这些匹配规则。在OpenFlow协议下,所述匹配规则是基于12元组(OpenFlow允许基于12个报头字段来安装匹配规则)。OpenFlow中的字段的匹配可以是明确匹配或通配符匹配。通配符匹配意味着交换机不关心指定字段中的值是什么。明确匹配是二元匹配,也就是说其匹配或者不匹配。尽管OpenFlow协议支持安装具有分组报头字段的非常细粒度匹配的规则,但是总体灵活性受到交换机中的可用存储的限制,其中细粒度转发状态可以被存储在该处。细粒度转发规则通常被存储在交换机三进制内容可寻址存储器(TCAM)中。
在当前的交换机中,TCAM是具有非常有限的存储能力的珍贵资源(例如交换机可能仅提供对于750-1K匹配规则的支持),这是因为TCAM需要6-7倍的SRAM的芯片面积来保存相同的信息。当前的交换机硬件中的TCAM受到限制是因为其被设计成实施例如访问控制和服务质量(QoS)之类的策略规则而不是基础转发(baseforwarding)。具有OpenFlow功能的硬件允许使用TCAM来实施任何细粒度规则的灵活性。但是由于TCAM尺寸限制,实际的实现方式被强制使用更加粗粒度的匹配规则和规则聚合技术,因此无法提供SDN所声称的细粒度动态联网控制。
另一方面,仅在目的地地址(例如目的地介质访问控制(DMAC)地址)上匹配的匹配规则可以被存储在较为便宜的更高容量的存储器设备中,比如SRAM、二进制CAM等等。当前的交换机硬件包含非常大的表,其允许基于DMAC报头字段的匹配和转发。因此,虽然仅基于目的地地址的匹配规则也是粗粒度规则,但是更多的这些类型的规则可以被存储在较为便宜的更高容量的存储器设备中。因此,提供了这样一个议题:为了在SDN架构中获得细粒度动态网络行为,应当利用基于复杂元组的匹配规则连同网络的交换机中的可以廉价地存储大量规则的存储机制。
此外,比如提供在SDN架构中的来自集中位置的匹配规则的动态转发可能导致网络交换机中的不一致。也就是说,在动态网络更新期间产生过渡期间的不一致的网络视图,从而使得网络中的一些交换机可能部署了新的匹配规则,而网络中的其他交换机则可能继续利用早前的匹配规则操作,直到其被更新为止。这就导致这样一种情况,其中网络交换机被更新的顺序会使得网络应对数据分组的转发的方式不同。这就可能导致潜在的分组丢失、转发循环、策略违反等等。
通过提供能提供软件定义网络(SDN)中的具有一致更新的可扩展网络配置的机制,说明性实施例解决了这些问题。说明性实施例利用了介质访问控制(MAC)地址间接方法论和机制,其允许把基于目的地介质访问控制(DMAC)的规则用于细粒度转发,所述规则可以被存储在交换机的低成本、高容量存储设备中而不是基于TCAM的存储装置中。换句话说,说明性实施例允许允许把TCAM条目变换成基于DMAC匹配的条目,其可以被安装到较为便宜的高容量存储设备的大得多的表数据结构中。说明性实施例还提供了具有每分组一致性的快速、一致的一触式(one-touch)网络更新,其中每分组一致性确保分组在更新期间总是看到旧的规则集合或新的规则集合,而绝不会看到二者的组合。
具体来说,说明性实施例利用网络控制器中的(未在使用中的)影子MAC地址的池,其可以被指派给细粒度数据流,也就是通过源-目的地对标识的数据流(或者简称作“流”)。影子MAC被用来提供细粒度的基于流的转发规则,同时仍然利用具有充足的表存储空间的存储设备使用基于DMAC的转发。基于匹配DMAC报头字段中的影子MAC,说明性实施例的机制允许把细粒度数据流映射到交换机中的目的地影子MAC地址和安装规则。为了实施说明性实施例的细粒度数据流到影子MAC映射机制,可以利用两种可行的方法和相关联的机制。第一种方法和机制是基于地址解析协议(ARP)欺骗,第二种方法和机制是基于MAC地址重写。
关于ARP欺骗方法和机制,网络控制器把网络地址(例如互联网协议(IP))到真实和影子MAC地址映射保持在本地表数据结构中。在这种方法中,用于目的地的相同的网络地址可以被映射到多个影子MAC地址。每一个影子MAC对应于目的地设备的假MAC地址,其被网络中的特定源主机视为真实目的地MAC地址。也就是说,目的地设备的IP地址例如被映射到目的地设备的真实MAC地址,并且还被映射到一个或多个影子MAC地址。对于想要与目的地通信的不同的源主机,可以由网络控制器为相同的目的地指派不同的影子MAC。这一IP地址到影子MAC映射被指派给源-目的地对。当源传送针对解析目的地MAC地址的ARP请求时,其被网络控制器拦截。响应于来自源的该ARP请求,网络控制器向源设备返回表明目的地设备的地址是网络控制器指派给源-目的地对的影子MAC地址的响应。其结果是,源设备使用影子MAC地址与目的地设备进行通信。在向源设备发送ARP响应消息之前,并且在一些实施例中是在从源设备发送ARP请求消息之前,网络中的交换机被配置成使用影子MAC地址把分组转发到目的地设备。也就是说,所述交换机被配置成利用其对应的转发数据库中的基于影子MAC的转发规则。
当针对源-目的地对的网络地址到影子MAC地址的映射发生改变时,或者当创建针对该源-目的地对的新的IP地址到影子MAC映射时,网络控制器向源设备发送无偿ARP消息,也就是不是响应于ARP请求的ARP响应消息,表明目的地MAC地址已发生改变。其结果是,由源设备发送的所有后续数据分组都将使用新的影子MAC地址。例如在希望改变源设备与目的地设备之间的路由时可能会发生这种情况。
对于这种方法,目的地设备还被配置成用于接受针对影子MAC的数据分组。在一个说明性实例中,这可以通过使得目的地设备配置其网络接口卡(NIC)或适配器操作在“混杂”操作模式下来实现。对于“混杂”操作模式,NIC被配置成处理任何所接收到的数据分组,而不仅仅是那些具有匹配其自身的真实MAC地址的目的地地址的数据分组。其结果是,当使用影子MAC的数据分组被目的地设备的NIC接收到时,目的地设备的NIC将对所述数据分组进行处理,尽管从目的地设备的角度看来,所述数据分组所具有的目的地地址不同于该目的地设备的地址,也就是说影子MAC并不是目的地设备的真实MAC。
对于MAC地址重写方法,针对源-目的地对的目的地地址在网络的边缘交换机处被重写,其中边缘交换机是源设备或目的地设备借以与网络的其余基础设施进行通信的交换机。在源边缘交换机处,实施MAC地址重写以便对实际的或真实的目的地MAC地址进行重写,从而将其替换成由网络控制器指派给相应的细粒度流的影子MAC地址。也就是说,网络控制器向源边缘交换机发送地址重写命令,从而规定对于特定数据流应当用所指派的影子MAC地址来覆写目的地MAC地址。因此,属于在其报头中具有目的地MAC地址的数据流的数据分组被重写,以便用被指派给用于所述流的目的地的影子MAC地址来替换真实目的地MAC地址。
类似地,网络控制器向目的地边缘交换机发送地址重写命令,指示目的地边缘交换机把影子MAC地址重写成目的地设备的实际的或真实的MAC地址。目的地边缘交换机把这一重写规则保持在本地存储装置中,并且当接收到其报头具有影子MAC地址的数据分组时,该交换机重写数据分组报头以便用目的地的实际MAC地址替换影子MAC地址。边缘交换机中的这一重写可以被实施在物理边缘交换机中,并且还可以被实施在源和目的地设备本身的管理程序虚拟交换机中。在任一种情况下,这第二种方法的机制都允许指派不同的影子MAC以表示相同的源-目的地对之间的不同数据流。这样就允许比ARP欺骗机制更加细粒度的控制,在ARP欺骗机制中,从源到给定目的地的所有数据流都看到相同的影子MAC地址以作为用于目的地的MAC地址。
后面将参照附图更加详细地描述本发明的说明性实施例的前述方面和优点。应当认识到,附图仅仅意图说明本发明的示例性实施例。本发明可以涵盖未在附图中明确示出但是本领域技术人员根据对于说明性实施例的当前描述将很容易认识到的各个方面、实施例以及针对所描绘的示例性实施例的修改。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质是电子、磁性、光学、电磁、红外或半导体性质的系统、装置或设备,前述各项的任何适当的组合,或者其等效方案。计算机可读存储介质的更多具体实例(非穷尽列表)将包括以下各项:具有存储能力的电设备,便携式计算机软盘,硬盘,随机存取存储器(RAM),只读存储器(ROM),可擦写可编程只读存储器(EPROM或闪存),基于光纤的设备,便携式紧致盘只读存储器(CDROM),光学存储设备,磁性存储设备,或者前述各项的任何适当的组合。在本文献的上下文中,计算机可读存储介质是任何有形介质,其可以包含或存储程序以供指令执行系统、装置或设备使用或者与之相结合地使用。
在一些说明性实施例中,计算机可读介质是非瞬时性计算机可读介质。非瞬时性计算机可读介质是并非无实体的信号或传播波(也就是纯粹的信号或传播波本身)的任何介质。非瞬时性计算机可读介质可以利用信号和传播波,但是并非信号或传播波本身。因此,以任何方式利用信号以便例如保持其状态的各种形式的存储器设备以及其他类型的系统、设备或装置都可以被视为本说明书的范围内的非瞬时性计算机可读介质。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者设备使用或者与其结合使用的程序。类似地,计算机可读存储介质是并非计算机可读信号介质的任何计算机可读介质。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(articleofmanufacture)。
所述计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或者其他设备上,以使得在所述计算机、其他可编程装置或其他设备上实施一系列操作步骤,从而产生计算机实施的处理,从而使得在所述计算机或其他可编程装置上执行的指令提供用于实施在流程图和/或方框图的一个或多个方框中规定的功能/动作的处理。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
因此,所述说明性实施例可以被利用在许多不同类型的数据处理环境中。为了提供用于说明性实施例的具体元素和功能的描述的情境,后文中提供了图1和2以作为可以在其中实施说明性实施例的各个方面的示例性环境。应当认识到,图1和2仅仅是实例,而不意图断定或暗示关于可以在其中实施本发明的各个方面或实施例的环境的任何限制。在不背离本发明的精神和范围的情况下,可以对所描绘的环境作出许多修改。
图1描绘出可以在其中实施说明性实施例的各个方面的示例性分布式数据处理系统的图形表示。分布式数据处理系统100可以包括可以在其中实施说明性实施例的各个方面的计算机的网络。分布式数据处理系统100包含至少一个网络102,其是被用来提供在分布式数据处理系统100内连接在一起的各种设备和计算机之间的通信链接的介质。网络102可以包括连接,比如连线、无线通信链接或者光纤线缆。
在所描绘的实例中,服务器104和服务器106连同存储单元108连接到网络102。此外,客户端110、112和114也连接到网络102。这些客户端110、112和114例如可以是个人计算机、网络计算机等等。在所描绘的实例中,服务器102向客户端110、112和114提供数据,比如引导文件、操作系统镜像(image)以及应用。在所描绘的实例中,客户端110、112和114是针对服务器104的客户端。分布式数据处理系统100可以包括附加的服务器、客户端以及未示出的其他设备。
在所描绘的实例中,分布式数据处理系统100是因特网,其中网络102代表使用传输控制协议/互联网协议(TCP/IP)协议套装彼此通信的网络和网关的世界范围的总集。在因特网的中心处是重要节点或主机计算机之间的高速数据通信线路的骨干,其由路由数据和消息的数以千计的商业、政府、教育和其他计算机系统构成。当然,分布式数据处理系统100还可以被实施成包括若干不同类型的网络,比如内联网、局域网(LAN)、广域网(WAN)等等。如前所述,图1意图作为一个实例,而不是针对本发明的不同实施例的架构限制,因此,图1中示出的特定单元不应当被视为限制可以在其中实施本发明的说明性实施例的环境。
图2是可以在其中实施说明性实施例的各个方面的示例性数据处理系统的方框图。数据处理系统200是计算机的一个实例,比如图1中的客户端110,实施用于本发明的说明性实施例的处理的计算机可用代码或指令可以位于其中。
在所描绘的实例中,数据处理系统200采用包括北桥和存储器控制器集线器(NB/MCH)202以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)204的集线器架构。处理单元206、主存储器208和图形处理器210连接到NB/MCH202。图形处理器210可以通过加速图形端口(AGP)连接到NB/MCH202。
在所描绘的实例中,局域网(LAN)适配器212连接到SB/ICH204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、硬盘驱动器(HDD)226、CD-ROM驱动器230、通用串行总线(USB)端口和其他通信端口232以及PCI/PCIe设备234通过总线238和总线240连接到SB/ICH204。PCI/PCIe设备例如可以包括以太网适配器、插入卡以及用于笔记本计算机的PC卡。PCI使用卡总线控制器,PCIe则不使用卡总线控制器。ROM224例如可以是闪速(flash)基本输入/输出系统(BIOS)。
HDD226和CD-ROM驱动器230通过总线240连接到SB/ICH204。HDD226和CD-ROM驱动器230例如可以使用集成驱动电子装置(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备236可以连接到SB/ICH204。
操作系统运行在处理单元206上。操作系统协调并且提供对图2中的数据处理系统200内的各种组件的控制。作为客户端,操作系统可以是能够买到的操作系统,比如Windows面向对象的编程系统(比如JavaTM编程系统)可以与操作系统相结合来运行,并且从执行在数据处理系统200上的JavaTM程序或应用提供对于操作系统的调用。
作为服务器,数据处理系统200例如可以是eServerTMSystem计算机系统,其运行高级交互式执行操作系统或操作系统。数据处理系统200可以是在处理单元206中包括多个处理器的对称多处理器(SMP)系统。或者可以采用单处理器系统。
用于操作系统、面向对象的编程系统以及应用或程序的指令位于存储设备上,比如HDD226,并且可以被加载到主存储器208中以供处理单元206执行。用于本发明的说明性实施例的处理可以由处理单元206利用计算机可用程序代码执行,所述计算机可用程序代码可以位于例如主存储器208、ROM224之类的存储器中,或者例如位于一个或多个外围设备226和230中。
总线系统(比如图2中示出的总线238或总线240)可以由一条或多条总线构成。当然,所述总线系统可以利用任何类型的通信结构或架构来实施,其提供附接到所述结构或架构的不同组件或设备之间的数据传输。通信单元(比如图2的调制解调器222或网络适配器212)可以包括被用来传送和接收数据的一个或多个设备。存储器例如可以是图2中的主存储器208、ROM224或者比如在NB/MCH202中找到的高速缓存。
本领域技术人员将认识到,图1和2中的硬件可以根据实现方式而有所不同。作为针对图1和2中描绘的硬件的补充或替代,可以使用其他内部硬件或外围设备,比如闪存、等效非易失性存储器或者光盘驱动器等等。此外,在不背离本发明的精神和范围的情况下,说明性实施例的处理可以被应用于多处理器数据处理系统而不是先前提到的SMP系统。
此外,数据处理系统200可以采取若干不同的数据处理系统当中的任一种的形式,其中包括客户端计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其他通信设备、个人数字助理(PDA)等等。在一些说明性实例中,数据处理系统200可以是便携式计算设备,其例如被配置成具有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。实质上,数据处理系统200可以是任何已知的或者后来开发的数据处理系统而不存在架构限制。
再次参照图1,网络102由多个网络路由和转发设备构成,例如交换机、路由器等等。耦合到网络102的其中一个或多个计算设备(例如服务器104或106)可以实施网络控制器,比如软件定义网络(SDN)控制器,其根据说明性实例提供用于保持影子MAC地址(也就是没有在被网络中的实际设备所使用的MAC地址)的池的机制,所述影子MAC地址可以被指派给细粒度流,例如由源-目的地对关联定义的数据流。控制器保持数据流到影子MAC指派的映射。当源计算设备(例如客户端计算设备110)希望与目的地计算设备(例如服务器104或客户端计算设备112)通信时,在源和目的地设备之间建立数据流。在建立该数据流时,或者在修改该数据流的路由时,SDN控制器或类似装置可以对数据流的源设备进行配置,以便利用来自影子MAC地址的池的被分配给由源地址-目的地地址对定义的数据流的影子MAC地址来替换用于该数据流的目的地设备的真实地址。源地址-目的地地址(源-目的地)对(或者其他元组,比如包括源地址、目的地地址、源端口、目的地端口以及协议的5元组)到影子MAC地址的这一映射被存储在由控制器存储的映射数据结构中。
基于影子MAC地址到源-目的地对或者其他更加复杂的元组的选择和指派,说明性实施例的机制还提供了利用所指派的影子MAC地址智能地转发用于源设备与目的地设备之间的通信连接的数据分组的逻辑。基于影子MAC地址的新的转发规则被安装在网络的基础设施,例如交换机、路由器等等中。
基于影子MAC地址的路由的安装包括由控制器生成适合作为目的地MAC地址的影子MAC地址的匹配规则,并且将这些匹配规则推出到网络基础设施,其在后文中被简称作“交换机”以使得关于说明性实施例的解释更容易理解。由于所述匹配规则仅在目的地影子MAC地址上匹配,因此其可以被存储在交换机中的交换机的前向数据库(FDB)中,该数据库被存储在交换机的较低成本、更高容量的存储装置中,而不是被存储在具有有限的相对较小的容量并且在设计复杂度方面具有相对更高成本的TCAM或其他类似结构中。
除了基于所指派的影子MAC地址利用新的匹配规则对交换机进行配置之外,目的地设备还被配置成接受用于新的影子MAC的数据分组。在一个说明性实施例中,对于针对新的影子MAC的数据分组的接受是通过把网络适配器配置成操作在“混杂”操作模式下而实现的,其中网络适配器接受并且处理所有数据分组,即使是其目的地地址与目的地设备的目的地地址并不匹配的那些数据分组。也就是说,影子MAC地址并不匹配目的地地址,并且是对于目的地地址的替代。因此,对于目的地设备,影子MAC地址并不匹配其自身的地址,因此在正常操作中,网络适配器将不处理其报头信息表明该数据分组是指定给影子MAC地址的数据分组。在混杂操作模式下,网络适配器处理所有数据分组,而不管其报头中的其目的地地址是否匹配目的地设备的地址。其结果是,具有用于目的地地址的影子MAC地址的数据分组将被网络适配器处理。
在另一个说明性实施例中,网络的边缘交换机被配置成支持地址重写。在目的地设备处,控制器指示与目的地设备相关联的边缘交换机实施地址重写,以便把影子MAC地址重写成目的地设备的实际目的地地址。在源设备处,控制器指示与源设备相关联的边缘交换机实施地址重写,以便把目的地地址重写成影子MAC地址。在一个说明性实施例中,源边缘交换机或目的地边缘交换机的至少其中之一可以是管理程序虚拟交换机(vSwitch)。这进一步使得能够利用不同的影子MAC地址来表示相同的源设备和目的地设备对之间的多个不同的数据流。这是通过把重写规则安装在源边缘交换机中而实现的,其通过实施报头字段的细粒度匹配(例如除了源和目的地地址之外还在目的地端口上匹配)以及把目的地MAC重写成被指派给流的影子MAC来识别流。
现在将关于剩下的附图更加详细地描述前面所描述的每一种实现方式。虽然将关于利用基于OpenFlow协议的控制器的软件定义联网(SDN)架构来描述说明性实施例,但是所述说明性实施例并不限于此,而是可以被使用在实施对网络的基础设施进行配置的集中式配置机制的任何架构中。
图3示出了第一实现方式,其中根据一个说明性实施例来实施ARP欺骗。如图3中所示,集中式服务器300包括网络控制应用310(例如服务质量(QoS)应用、安全性应用等等)和控制器320。网络控制应用310是实施更高层级的网络配置确定以便实现所期望的功能的应用。网络控制应用310利用控制器320应用编程接口(API)与控制器320进行通信,以便实施把规则部署到网络基础设施(例如交换机、路由器等等),从而实施所期望的功能。举例来说,网络控制应用310可以是安全性应用,并且可以使用控制器320API来指导控制器320把特定规则安装在交换机中,以便实施用于控制通过网络的通信的特定控制。
控制器320负责向网络基础设施传送匹配规则,以用于确保网络基础设施350正确地操作来提供源计算设备360与目的地计算设备370之间的通信连接。此外,控制器320与影子MAC池330和影子MAC映射数据结构340相结合来工作。影子MAC池330存储影子MAC地址,也就是没有在被网络中的其他设备使用的MAC地址,该地址可以由控制器320分配给源设备360与目的地设备370之间的连接,以便替换用于部署到交换机的匹配规则的目的地地址。影子MAC地址到特定源-目的地对或者连接报头字段的其他更加复杂的元组的映射可以被存储在影子MAC映射数据结构340中。
匹配规则由数据流报头字段和相关联的动作构成,其中利用数据分组的报头数据实施针对所述数据流报头字段的匹配,并且所述相关联的动作包括识别应当如何路由数据分组,例如将使用交换机的哪一个输出端口来把数据分组传送到从源设备360到目的地设备370的路由的下一个链接。在其中匹配规则是基于源和目的地地址以及可能还有更多报头字段元素的架构中,使得非常细粒度的数据流成为可能。但是匹配的复杂度需要网络基础设施350的交换机380中的复杂的低容量存储设备,比如前面所描述的TCAM存储设备。举例来说,匹配规则可以采取具有动作“输出:4”的源地址、目的地地址、源端口、目的地端口以及协议(5元组)的形式,这意味着具有匹配所述5元组中的所有5个字段的报头字段的数据分组将由交换机380在端口4上输出。
对于说明性实施例的机制,取代通过在网络基础设施的每一个交换机380中实施高成本、低容量的TCAM或类似存储设备从而使得可以在每一个交换机380中存储和利用细粒度复杂匹配规则,从而允许所述细粒度数据流能力,说明性实施例把报头字段元组映射到影子MAC地址,并且具有所分配的影子MAC地址的元组被存储在影子MAC地址映射数据结构340中。此外,在源和目的地处规定流中的所有分组都使用所指派的影子MAC来进行通信。其结果是,被部署到交换机380的匹配规则可以基于单个目的地MAC报头字段匹配,例如影子MAC地址,这样就简化了匹配规则,从而使匹配规则可以被存储在交换机380的低成本、高容量存储器中,例如SRAM、二进制CAM等等。因此,说明性实施例的机制把基于匹配数据分组报头字段元组的复杂匹配规则变换成仅基于目的地地址的简化匹配规则,根据说明性实施例,所述目的地地址被从影子MAC地址池330分配的影子MAC地址替换。
当网络控制应用310希望安装用于源设备360与目的地设备370之间的网络流的细粒度控制的规则集合时,其向控制器320传递请求。网络控制应用310可以出于多种原因决定安装这样的规则集合,其中包括而不限于以下情形。举例来说,如果新的主机系统加入网络,则网络控制应用310可以检测新主机系统的添加,并且通过部署到网络基础设施的基于影子MAC的转发规则发起安装从其他主机系统到新主机系统的路由的处理。作为另一个实例,作为监测网络使用的通信量工程操作的一部分,网络控制应用310可以确定用于数据流的当前安装的路由发生拥塞,并且可以确定源和目的地设备之间的新的路由。其结果是,网络控制应用310可以发起规则集合的安装以便建立该新的路由。因此,网络控制应用310可以基于在网络中监测到的各种事件或条件来决定对于经过网络的数据流安装新的路由或者修改现有的路由,并且通过这样做,决定将把新的规则集合部署到网络基础设施中。根据说明性实施例的机制,这些新的规则集合被配置成在所分配的影子MAC地址上匹配,正如这里所描述的那样。
控制器320把来自影子MAC池330中的影子MAC地址分配给源-目的地对,或者分配给由所述架构对于匹配规则所使用的任何复杂元组,也就是使用在匹配规则中的报头字段的组合。源地址和目的地地址(或者更加复杂的元组)与所分配的影子MAC地址相关联地被存储在影子MAC地址映射数据结构340中。
一旦实施了所分配的影子MAC地址到作为匹配规则的基础的报头字段的映射并且将影子MAC地址映射存储在映射数据结构340中,控制器320就把源设备360与目的地设备370之间的新的路由安装到网络基础设施350的交换机380中,这是通过基于被指派给源-目的地对的目的地地址的影子MAC地址把匹配规则部署到交换机380而实现的。也就是说,所部署的匹配规则仅在目的地地址上被匹配,所述目的地地址在这些匹配规则中被所分配的影子MAC地址所替换。交换机380把适合目的地影子MAC地址的其对应的匹配规则存储在其高容量、低成本存储设备(例如SRAM、二进制CAM等存储器)中的前向数据库(FDB)中。
控制器320还发送命令或者通过其他方式使得目的地设备被配置成接受用于新的影子MAC地址的数据分组。可以通过把影子MAC安装到边缘交换机中的真实MAC重写规则来配置目的地设备,所述边缘交换机也就是目的地设备370直接连接到的网络基础设施350的交换机380。或者,目的地设备370的网络适配器可以被配置成接受其报头中的目的地地址表明影子MAC地址的数据分组。这例如可以通过把目的地设备370网络适配器置于混杂操作模式来实现,从而使得由网络适配器接收到的所有数据分组都被网络适配器处理,而不是仅仅转发不具有作为目的地设备370的目的地地址的匹配目的地地址的数据分组。
此外,控制器向源设备360发送无偿地址解析协议(ARP)响应消息,向源设备360表明用于目的地设备370的目的地地址已发生改变,并且现在是影子MAC地址。其结果是,源设备360在向目的地设备370发送数据分组时将利用数据分组的报头中的影子MAC地址。这些数据分组将被交换机380通过网络基础设施350转发,这是通过对所接收到的数据分组的报头应用匹配规则(其被存储在交换机的本地存储装置中的交换机的FDB中)并且对于匹配分组报头中的目的地地址的规则实施相关联的动作而实现的。因此,具有影子MAC地址的规则将匹配到在其报头字段中具有对应于影子MAC地址的目的地地址的数据分组。在交换机380处实施相关联的动作,以便通过在匹配规则中规定的特定输出端口来转发数据分组。当在目的地设备370处接收到数据分组时,与目的地设备370相关联的网络适配器接受并且处理所述数据分组,这是因为已经例如通过将其置于混杂操作模式而将其配置成这样做。
当源和目的地设备360、370之间的连接被拆除时,向控制器320发出通知,并且被分配给所述连接的相应的影子MAC地址被释放并且返回到影子MAC地址池330。影子MAC地址映射数据结构340中的相应条目被无效化,并且可以被未来的条目覆写。
在第二实现方式中,取代使用ARP欺骗(其被使用在源设备处以便向影子MAC发送通信量)并且把目的地设备网络适配器设定成操作在混杂模式下(其被使用在目的地设备处以便在目的地处接受针对影子MAC的通信量),说明性实施例的机制可以重新配置边缘交换机以实施目的地地址重写。也就是说,可以在边缘交换机中部署重写规则,以使得把所传送和接收的数据分组中的目的地地址重写成实际目的地地址或影子MAC地址的其中之一。边缘交换机本身可以是网络基础设施350中的实际的物理交换机,或者可以是与源和目的地设备相关联的虚拟交换机,比如提供在源和/或目的地设备360、370的管理程序中的vSwitch。
举例来说,在源设备360边缘交换机处由控制器320部署规则以便重写属于所述数据流的所传送的数据分组中的目的地地址,用所分配的影子MAC地址来替换。在目的地设备370边缘交换机处,由控制器320部署规则,以便把所接收到的数据分组中的影子MAC地址重写成目的地设备370的实际或真实目的地地址。在这种实现方式中,目的地设备370网络适配器不需要被重新配置到混杂操作模式中,这是因为在网络适配器处接收到的数据分组将具有目的地设备370的实际目的地地址。
前面的方案所提供的益处不仅在于减少了TCAM使用,而且还以每分组一致性提供了网络交换机中的数据流规则的一致更新。如果对应于数据流的规则需要被更新,则控制器320为数据流指派新的影子MAC地址,并且基于所述新的影子MAC地址把新的规则安装在交换机380中。接下来,控制器配置目的地边缘交换机把所述新的影子MAC地址重写成目的地的真实MAC地址。如果目的地网络适配器已经被配置在混杂模式下,则可能不需要进行目的地边缘配置。最后,当这一设置全部完成时,控制器告知所述源使用新的影子MAC地址来与目的地通信。正如前面所讨论的那样,这可以通过向源发送无偿ARP来实现,或者通过把地址重写规则安装在源边缘交换机中来实现。
应当认识到,在前面所选择的任一种实现方式中,处理中的(in-flight)数据分组继续使用旧的匹配规则,并且基于为数据流分配的旧的影子MAC地址来路由数据分组,或者如果没有为数据流指派先前的影子MAC地址的话则基于目的地的真实目的地MAC地址来路由数据分组。也就是说,基于新的影子MAC地址的匹配规则不替换基于目的地设备370的实际目的地地址或者基于先前的影子MAC地址的交换机380中的已经存在的匹配规则。使用新的影子MAC地址的数据流中的新的数据分组将匹配到基于新的影子MAC地址的匹配规则,基于新的影子MAC地址的匹配规则被部署到交换机380并且被存储在交换机380的低成本、高容量存储设备中。此外,基于更新之前的旧的配置的规则的使用随着时间逐步淘汰,这是因为新的数据分组将利用新的影子MAC地址,直到连接被拆除为止。这样就实现了更新期间的每分组一致性,因为流中的分组不会看到旧规则与新规则的组合。
在另一个说明性实施例中,网络基础设施350的交换机380可以被预先安装有使用不同的影子MAC地址的替换路径,并且目的地边缘交换机(其是物理或虚拟交换机)可以被预先配置成在这样的模式被启用时接收用于影子MAC地址的数据分组,这例如是通过激活用于实施数据分组的目的地地址字段的重写的规则而实现的。在这种情况下,通过使用来自控制器320的无偿ARP消息向源设备360指示目的地设备370的地址现在是对应于其中一条预先安装的路径的所选影子MAC地址,使得一触式更新成为可能。或者,可以通过把重写规则安装在源边缘交换机中来进行一触式更新,所述重写规则把目的地设备370的地址重写成对应于其中一条预先安装的路径的所选影子MAC地址。这实质上通过快速、同时的方式激活了交换机380中的预先配置的路径。由于对于说明性实施例的机制利用了交换机380中的更大容量存储设备,因此可以使得交换机380中许多不同的预先配置的路由成为可能,通过从控制器320发送无偿ARP消息或者通过从控制器320向源边缘发送新的重写规则可以启用其中的任一条路由。
因此,说明性实施例提供了用于把基于元组的匹配规则变换成仅基于目的地地址的匹配规则的机制,同时还保持了细粒度匹配规则能力。通过允许把元组映射到影子MAC地址实现了细粒度匹配规则能力并且从而实现了数据分组的路由,所述影子MAC地址随后替换由源设备传送到目的地设备的数据分组中的目的地地址。因此,每一个不同的元组可以与不同的影子MAC地址相关联。此外,在其中实施目的地地址重写机制的一些说明性实施例中,相同的源和目的地对可以具有与之相关联的多个影子MAC地址,每一个影子MAC地址用于这些设备之间的每一个单独的数据流。
图4是概述了用于实施根据一个说明性实施例的基于影子MAC地址的联网的示例性操作的流程图。如图4中所示,操作开始于由控制器接收来自应用的消息,以便对于源设备与目的地设备之间的数据流在交换机中建立规则集合(步骤410)。控制器从影子MAC地址的池中为源和目的地设备之间的细粒度数据流分配影子MAC地址(步骤420)。控制器把用于数据流的报头字段的元组映射到被分配给数据流的影子MAC地址(步骤430)。所述元组可以是源地址-目的地地址对,源地址、目的地地址、源端口、目的地端口以及协议的更加复杂的元组等等。
控制器利用所分配的影子MAC地址把源设备与目的地设备之间的适当的路由或规则集合安装在网络基础设施的交换机中(步骤440)。这可以涉及生成一条或多条适当的匹配规则并且将其部署到每一个交换机,所述匹配规则基于作为目的地MAC地址的影子MAC地址进行匹配。
控制器配置目的地设备以接收和处理在报头字段中具有匹配影子MAC地址的目的地地址的数据分组通信量(步骤450)。取决于所期望的具体实现方式,这可以通过把目的地设备的网络适配器设定成操作在混杂模式下来实现,或者通过把边缘交换机(物理或虚拟)设定成实施目的地地址重写以便重写具有影子MAC地址的所接收到的数据分组中的目的地地址来实现,从而使得用目的地设备的实际目的地地址来替换影子MAC地址。把边缘交换机设定成实施目的地地址重写可以包括把在影子MAC地址上匹配的规则部署到边缘交换机中,其具有用目的地地址重写影子MAC地址的相关联的动作。
控制器配置源设备以利用所分配的影子MAC地址来传送数据分组(步骤460)。这例如可以通过向源设备发送无偿ARP消息,向源设备通知目的地设备的地址已被改变到影子MAC地址来实现。或者,控制器可以把规则部署到与源设备相关联的边缘交换机(物理或虚拟),使得源设备重写在边缘交换机中接收到的具有与目的地设备的目的地地址相对应的目的地地址的分组的目的地地址,并且把其他报头字段匹配到我们想要控制的细粒度元组,从而使得数据分组的报头中的目的地地址被重写成所分配的影子MAC。
通信量随后使用影子MAC地址作为数据分组的报头中的目的地地址而流经网络基础设施(步骤470)。通信量经过网络的流动基于交换机中的匹配规则到影子MAC地址的匹配以及实施在匹配规则中规定的相应动作。响应于源和目的地设备之间的数据流被拆除,元组到所分配的影子MAC地址的映射被无效化(步骤480),并且影子MAC地址被返回到可用影子MAC地址的池(步骤490)。操作随后终止。
图5是概述了用于实施根据一个说明性实施例的网络的交换机中的路由更新的示例性操作的流程图。如图5中所示,操作开始于控制器接收到针对修改或更新用于数据流的路由的请求(步骤510)。控制器从影子MAC地址的池中向数据流分配新的影子MAC地址(步骤520)。生成基于新的影子MAC的规则,并且将其安装到网络基础设施中,例如安装在交换机、路由器等等中(步骤530)。这些基于影子MAC的规则可以包括在不同的影子MAC地址上匹配的规则,并且在为数据流分配影子MAC地址之前被部署到交换机中。在目的地边缘设备处安装重写规则,以便把影子MAC地址重写成目的地设备的实际或真实地址(步骤540)。应当认识到,在实施这些操作的同时,旧的影子MAC规则仍然在运行,并且属于所述数据流的数据分组继续利用旧的影子MAC地址以及在旧的影子MAC地址上匹配的规则被转发。
控制器发送无偿ARP或者通过其他方式把重写规则安装在源边缘设备中,以使得源设备使用影子MAC地址作为用于目的地设备的DMAC(步骤550)。操作随后终止。
此时,从源设备到目的地设备的路由已经按照一致的方式被更新,并且数据流的所有新的数据分组都被导向基于新的影子MAC地址的配置。仍在使用旧的影子MAC地址和网络基础设施中的相应转发规则的旧的数据分组在一段时间间隔之后被逐步淘汰,所述时间间隔足够长以确保所有旧的分组都被从网络中清除。
正如前面所提到的那样,应当认识到,说明性实施例可以采取完全硬件实施例、完全软件实施例或者同时包含硬件和软件单元的实施例的形式。在一个示例性实施例中,说明性实施例的机制被实施在软件或程序代码中,其中包括而不限于固件、驻留软件、微代码等等。
适合于存储和/或执行程序代码的数据处理系统将包括通过系统总线直接或间接地耦合到存储器元件的至少一个处理器。所述存储器元件可以包括在程序代码的实际执行期间所采用的本地存储器、大容量存储装置以及高速缓冲存储器,所述高速缓冲存储器提供对于至少一些程序代码的临时存储以便减少在执行期间必须从大容量存储装置取回代码的次数。
输入/输出或I/O设备(其中包括而不限于键盘、显示器、指示设备等等)可以直接耦合到系统或者通过中间的I/O控制器耦合到系统。网络适配器也可以耦合到系统,以便允许数据处理系统通过中间的私有或公共网络耦合到其他数据处理系统或者远程打印机或存储设备。调制解调器、有线电视调制解调器和以太网卡仅仅是当前可用的少数几种类型的网络适配器。
前面出于说明和描述的目的给出了对于本发明的描述,但是并不意图进行穷举或者把本发明限制到所公开的形式。本领域技术人员将会想到许多修改和变型。所选择并且描述的实施例是为了最佳地解释本发明的原理、实际应用并且使得本领域其他技术人员能够对于具有适合于所设想的具体用途的各种修改的各个实施例理解本发明。

Claims (20)

1.包括处理器和存储器的数据处理系统中的一种用于配置对应于网络中的源设备与目的地设备之间的数据流的网络部分的方法,所述方法包括:
从网络控制应用接收针对建立对应于源设备与目的地设备之间的数据流的网络配置的请求,其中所述请求包括用于定义所述数据流的细粒度报头字段元组;
从影子地址池中分配将被映射到细粒度报头字段元组的影子地址,其中所述影子地址池包括没有被耦合到网络的设备使用的地址;以及
对网络的网络基础设施进行配置,以便基于影子地址把数据流的数据分组从源设备路由到目的地设备。
2.根据权利要求1的方法,其中,对网络基础设施进行配置,以便基于影子地址把数据流的数据分组从源设备路由到目的地设备包括:
对目的地设备进行配置,以便处理具有对应于影子地址的目的地地址的数据分组;以及
对源设备进行配置,以便把影子地址用作由源设备传送的数据分组中的目的地地址。
3.根据权利要求2的方法,其中,对源设备进行配置以便把影子地址用作目的地地址包括:向源设备传送地址解析协议(ARP)消息,该消息向源设备表明用于目的地设备的目的地地址已经改变到影子地址。
4.根据权利要求2的方法,其中,对目的地设备进行配置以便处理具有对应于影子地址的目的地地址的数据分组包括:把目的地设备的网络适配器配置成处于混杂操作模式。
5.根据权利要求1的方法,其中,对网络基础设施进行配置以便基于影子地址把数据流的数据分组从源设备路由到目的地设备包括:
在源边缘交换机处部署第一规则,以便在属于数据流的数据分组的报头中用影子地址替换对应于目的地设备的目的地地址的目的地地址;以及
在目的地边缘交换机处部署第二规则,以便在属于数据流的数据分组的报头中把影子地址替换成目的地设备的目的地地址。
6.根据权利要求5的方法,其中,源边缘交换机或目的地边缘交换机的至少其中之一是管理程序中的虚拟交换机。
7.根据权利要求1的方法,其中,对网络基础设施进行配置以便基于影子地址把数据流的数据分组从源设备路由到目的地设备包括:
在接收所述请求之前,基于影子地址利用预先配置的匹配规则对网络基础设施中的交换机进行预先配置;以及
通过对源设备进行配置以便把影子地址用作用于目的地设备的目的地地址,使得能够在网络基础设施的交换机中利用所述预先配置的匹配规则。
8.根据权利要求1的方法,其中,所述影子地址是影子介质访问控制(MAC)地址,并且所述影子地址池是影子MAC地址的池。
9.根据权利要求1的方法,其中,对网络的网络基础设施进行配置以便基于影子地址把数据流的数据分组从源设备路由到目的地设备包括:
把一条或多条匹配规则部署到网络基础设施的交换机,所述匹配规则规定影子地址作为匹配规则的匹配条件,以及将在具有所述影子地址以作为数据分组的报头中的目的地地址的数据分组上实施的相应动作。
10.根据权利要求9的方法,其中,在每一个交换机处,所述一条或多条匹配规则被存储在前向数据库中,所述前向数据库被存储在交换机的低成本、高容量存储设备中。
11.一种包括其中存储有计算机可读程序的计算机可读存储介质的计算机程序产品,其中,当在耦合到网络的计算设备上执行时,所述计算机可读程序使得计算设备:
从网络控制应用接收针对建立对应于源设备与目的地设备之间的数据流的网络配置的请求,其中所述请求包括用于定义数据流的细粒度报头字段元组;
从影子地址池中分配将被映射到细粒度报头字段元组的影子地址,其中所述影子地址池包括没有被耦合到网络的设备使用的地址;以及
对网络的网络基础设施进行配置,以便基于影子地址把数据流的数据分组从源设备路由到目的地设备。
12.根据权利要求11的计算机程序产品,其中,所述计算机可读程序使得计算设备至少通过以下操作对网络基础设施进行配置以便基于影子地址把数据流的数据分组从源设备路由到目的地设备:
对目的地设备进行配置,以便处理具有对应于影子地址的目的地地址的数据分组;以及
对源设备进行配置,以便把影子地址用作由源设备传送的数据分组中的目的地地址。
13.根据权利要求12的计算机程序产品,其中,对源设备进行配置以便把影子地址用作目的地地址包括:向源设备传送地址解析协议(ARP)消息,该消息向源设备表明用于目的地设备的目的地地址已经改变到影子地址。
14.根据权利要求12的计算机程序产品,其中,对目的地设备进行配置以便处理具有对应于影子地址的目的地地址的数据分组包括:把目的地设备的网络适配器配置成处于混杂操作模式。
15.根据权利要求11的计算机程序产品,其中,所述计算机可读程序使得计算设备至少通过以下操作对网络基础设施进行配置以便基于影子地址把数据流的数据分组从源设备路由到目的地设备:
在源边缘交换机处部署第一规则,以便在属于数据流的数据分组的报头中用影子地址替换对应于目的地设备的目的地地址的目的地地址;以及
在目的地边缘交换机处部署第二规则,以便在属于数据流的数据分组的报头中把影子地址替换成目的地设备的目的地地址。
16.根据权利要求15的计算机程序产品,其中,源边缘交换机或目的地边缘交换机的至少其中之一是管理程序中的虚拟交换机。
17.根据权利要求11的计算机程序产品,其中,所述计算机可读程序使得计算设备至少通过以下操作对网络基础设施进行配置以便基于影子地址把数据流的数据分组从源设备路由到目的地设备:
在接收所述请求之前,基于影子地址利用预先配置的匹配规则对网络基础设施中的交换机进行预先配置;以及
通过对源设备进行配置以便把影子地址用作用于目的地设备的目的地地址,使得能够在网络基础设施的交换机中利用所述预先配置的匹配规则。
18.根据权利要求11的计算机程序产品,其中,所述影子地址是影子介质访问控制(MAC)地址,并且所述影子地址池是影子MAC地址的池。
19.根据权利要求11的计算机程序产品,其中,所述计算机可读程序使得计算设备至少通过以下操作对网络的网络基础设施进行配置以便基于影子地址把数据流的数据分组从源设备路由到目的地设备:
把一条或多条匹配规则部署到网络基础设施的交换机,所述匹配规则规定影子地址作为匹配规则的匹配条件,以及将在具有所述影子地址以作为数据分组的报头中的目的地地址的数据分组上实施的相应动作。
20.一种装置,包括:
处理器;
耦合到处理器的存储器;以及
把所述装置耦合到网络的网络接口,其中存储器包括指令,所述指令在由处理器执行时使得处理器:
从网络控制应用接收针对建立对应于源设备与目的地设备之间的数据流的网络配置的请求,其中所述请求包括用于定义数据流的细粒度报头字段元组;
从影子地址池中分配将被映射到细粒度报头字段元组的影子地址,其中所述影子地址池包括没有被耦合到网络的设备使用的地址;以及
对网络的网络基础设施进行配置,以便基于影子地址把数据流的数据分组从源设备路由到目的地设备。
CN201480052930.XA 2013-09-25 2014-09-24 用于配置数据流的方法、计算机可读存储介质和装置 Expired - Fee Related CN105594166B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/036,894 2013-09-25
US14/036,894 US9350607B2 (en) 2013-09-25 2013-09-25 Scalable network configuration with consistent updates in software defined networks
PCT/CN2014/087324 WO2015043475A1 (en) 2013-09-25 2014-09-24 Scalable network configuration with consistent updates in software defined networks

Publications (2)

Publication Number Publication Date
CN105594166A true CN105594166A (zh) 2016-05-18
CN105594166B CN105594166B (zh) 2019-07-05

Family

ID=52692003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480052930.XA Expired - Fee Related CN105594166B (zh) 2013-09-25 2014-09-24 用于配置数据流的方法、计算机可读存储介质和装置

Country Status (3)

Country Link
US (1) US9350607B2 (zh)
CN (1) CN105594166B (zh)
WO (1) WO2015043475A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111917653A (zh) * 2020-07-21 2020-11-10 广东省华南技术转移中心有限公司 用于sdn网络的数据转发规则同步方法、控制器及系统
CN112236981A (zh) * 2018-06-07 2021-01-15 瑞典爱立信有限公司 在sdn中配置网络路径

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10469556B2 (en) 2007-05-31 2019-11-05 Ooma, Inc. System and method for providing audio cues in operation of a VoIP service
US9331937B2 (en) 2012-04-18 2016-05-03 Nicira, Inc. Exchange of network state information between forwarding elements
US9565213B2 (en) * 2012-10-22 2017-02-07 Centripetal Networks, Inc. Methods and systems for protecting a secured network
US9647779B2 (en) 2013-04-22 2017-05-09 The Nielsen Company (Us), Llc Systems, methods, and apparatus to identify media devices
US9386148B2 (en) 2013-09-23 2016-07-05 Ooma, Inc. Identifying and filtering incoming telephone calls to enhance privacy
WO2015052866A1 (ja) * 2013-10-11 2015-04-16 日本電気株式会社 端末装置、端末装置制御方法および端末装置制御プログラム
US20150180769A1 (en) * 2013-12-20 2015-06-25 Alcatel-Lucent Usa Inc. Scale-up of sdn control plane using virtual switch based overlay
CN104811392B (zh) * 2014-01-26 2018-04-17 国际商业机器公司 用于处理网络中的资源访问请求的方法和系统
US10057167B2 (en) * 2014-04-09 2018-08-21 Tallac Networks, Inc. Identifying end-stations on private networks
US9633547B2 (en) 2014-05-20 2017-04-25 Ooma, Inc. Security monitoring and control
US10769931B2 (en) 2014-05-20 2020-09-08 Ooma, Inc. Network jamming detection and remediation
US10553098B2 (en) 2014-05-20 2020-02-04 Ooma, Inc. Appliance device integration with alarm systems
US11330100B2 (en) 2014-07-09 2022-05-10 Ooma, Inc. Server based intelligent personal assistant services
JP6347177B2 (ja) * 2014-08-22 2018-06-27 富士通株式会社 転送装置、制御装置、および、通信方法
US10009286B2 (en) 2015-05-08 2018-06-26 Ooma, Inc. Communications hub
US11171875B2 (en) 2015-05-08 2021-11-09 Ooma, Inc. Systems and methods of communications network failure detection and remediation utilizing link probes
US10771396B2 (en) 2015-05-08 2020-09-08 Ooma, Inc. Communications network failure detection and remediation
US10911368B2 (en) * 2015-05-08 2021-02-02 Ooma, Inc. Gateway address spoofing for alternate network utilization
CN104980431B (zh) * 2015-05-14 2018-09-21 南京大学 一种sdn中实现流有序的一致性更新方法
CN104935463B (zh) * 2015-06-03 2019-02-05 清华大学 虚拟软件定义网络映射实现方法
US10204122B2 (en) * 2015-09-30 2019-02-12 Nicira, Inc. Implementing an interface between tuple and message-driven control entities
CN105430113B (zh) * 2015-11-03 2018-07-03 上海斐讯数据通信技术有限公司 Sdn网络arp报文处理方法、系统、控制器及交换机
US10659351B2 (en) 2015-12-16 2020-05-19 Hewlett Packard Enterprise Development Lp Dataflow consistency verification
US10623339B2 (en) * 2015-12-17 2020-04-14 Hewlett Packard Enterprise Development Lp Reduced orthogonal network policy set selection
US11019167B2 (en) 2016-04-29 2021-05-25 Nicira, Inc. Management of update queues for network controller
KR102342734B1 (ko) * 2017-04-04 2021-12-23 삼성전자주식회사 Sdn 제어 장치 및 이의 데이터 패킷의 전송 룰 설정 방법
CN110612773B (zh) * 2017-04-24 2023-09-05 惠普发展公司,有限责任合伙企业 操作模式配置
US10904148B2 (en) * 2018-03-12 2021-01-26 Nicira, Inc. Flow-based local egress in a multisite datacenter
CN109150584B (zh) * 2018-07-04 2022-02-25 北京中创腾锐技术有限公司 一种基于simd指令的为网络分组分类提供加速支持的方法
CN109067580B (zh) * 2018-08-02 2021-01-08 北京工业大学 一种自适应的软件定义无线网络多控制器部署方法
US20210306296A1 (en) * 2020-03-27 2021-09-30 The Nielsen Company (Us), Llc Methods and apparatus to facilitate device identification
JP2022191014A (ja) * 2021-06-15 2022-12-27 株式会社東芝 スイッチ装置、方法及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705307A (zh) * 2004-06-03 2005-12-07 华为技术有限公司 基于虚拟局域网的二层虚拟专用网的实现方法
CN101278521A (zh) * 2005-10-03 2008-10-01 微软公司 无状态双向代理
WO2011051182A1 (en) * 2009-10-29 2011-05-05 Telefonaktiebolaget L M Ericsson (Publ) M2m resource preservation in mobile networks
CN102202104A (zh) * 2010-03-23 2011-09-28 丛林网络公司 管理网络设备内的分布式地址池
CN102326147A (zh) * 2009-03-02 2012-01-18 国际商业机器公司 虚拟网络环境中的复制避免

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0873626B1 (en) 1995-11-15 2006-05-10 Enterasys Networks, Inc. Distributed connection-oriented services for switched communications networks
US6151324A (en) 1996-06-03 2000-11-21 Cabletron Systems, Inc. Aggregation of mac data flows through pre-established path between ingress and egress switch to reduce number of number connections
JP4080599B2 (ja) * 1998-06-17 2008-04-23 富士通株式会社 通信制御装置およびマルチキャスト対応lanに適用される通信制御方法
US6553028B1 (en) 1999-04-30 2003-04-22 Cisco Technology, Inc. Method and apparatus for multicast switching using a centralized switching engine
US6292838B1 (en) 1999-08-23 2001-09-18 3Com Corporation Technique for automatic remote media access control (MAC) layer address resolution
US7075910B2 (en) 2001-04-04 2006-07-11 Telcordia Technologies, Inc. Distributed smooth handoff using shadow addresses in IP-based base stations
US7836160B2 (en) * 2002-01-08 2010-11-16 Verizon Services Corp. Methods and apparatus for wiretapping IP-based telephone lines
US7843923B2 (en) * 2002-01-08 2010-11-30 Verizon Services Corp. Methods and apparatus for determining the port and/or physical location of an IP device and for using that information
US7320070B2 (en) * 2002-01-08 2008-01-15 Verizon Services Corp. Methods and apparatus for protecting against IP address assignments based on a false MAC address
US7620040B2 (en) * 2002-12-11 2009-11-17 Aspen Networks, Inc. Application non disruptive task migration in a network edge switch
US7974311B2 (en) * 2004-02-10 2011-07-05 Spyder Navigations L.L.C. Configuring addresses in a communication network
US7443825B2 (en) * 2005-03-08 2008-10-28 Terence Edward Sumner Method and apparatus for providing a stand-alone wireless web service
WO2007009352A1 (fr) 2005-07-15 2007-01-25 Huawei Technologies Co., Ltd. Appareil, méthode d’accès par v-switch et système v-switch
US7835743B2 (en) * 2005-08-03 2010-11-16 Toshiba America Research, Inc. Seamless network interface selection, handoff and management in multi-IP network interface mobile devices
CN100461732C (zh) 2006-06-16 2009-02-11 华为技术有限公司 一种以太技术交换和转发的方法、系统和设备
US7822027B2 (en) 2006-10-05 2010-10-26 Cisco Technology, Inc. Network routing to the socket
US9661112B2 (en) 2007-02-22 2017-05-23 International Business Machines Corporation System and methods for providing server virtualization assistance
US8169910B1 (en) 2007-10-24 2012-05-01 Juniper Networks, Inc. Network traffic analysis using a flow table
US8996683B2 (en) 2008-06-09 2015-03-31 Microsoft Technology Licensing, Llc Data center without structural bottlenecks
US8478891B1 (en) * 2009-03-09 2013-07-02 Sprint Communications Company L.P. Employing socket ranges to ascertain layer 2 addresses
US8358648B1 (en) * 2009-03-09 2013-01-22 Sprint Communications Company L.P. Allocating socket ranges to increase address space
US8675661B1 (en) * 2009-05-07 2014-03-18 Sprint Communications Company L.P. Allocating IP version fields to increase address space
US8867349B2 (en) 2009-05-18 2014-10-21 Cisco Technology, Inc. Regulation of network traffic in virtual private networks
US9461840B2 (en) 2010-06-02 2016-10-04 Brocade Communications Systems, Inc. Port profile management for virtual cluster switching
US8817620B2 (en) 2010-07-06 2014-08-26 Nicira, Inc. Network virtualization apparatus and method
JP5463267B2 (ja) * 2010-11-19 2014-04-09 株式会社日立製作所 仮想計算機システムおよび仮想計算機の移行方法
US9608939B2 (en) 2010-12-22 2017-03-28 Juniper Networks, Inc. Methods and apparatus to reduce forwarding state on an FCoE-to-FC gateway using port-specific MAC addresses
JP2012156957A (ja) 2011-01-28 2012-08-16 Hitachi Ltd ネットワークシステム、制御装置、計算機、及び、ネットワーク装置
WO2012109864A1 (zh) 2011-07-29 2012-08-23 华为技术有限公司 报文转发方法和装置
US9185056B2 (en) 2011-09-20 2015-11-10 Big Switch Networks, Inc. System and methods for controlling network traffic through virtual switches
US8560663B2 (en) 2011-09-30 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Using MPLS for virtual private cloud network isolation in openflow-enabled cloud computing
US9178833B2 (en) 2011-10-25 2015-11-03 Nicira, Inc. Chassis controller
US9092274B2 (en) 2011-12-07 2015-07-28 International Business Machines Corporation Acceleration for virtual bridged hosts
WO2013114489A1 (en) 2012-01-30 2013-08-08 Nec Corporation Control method, control apparatus, communication system, and program
US9081603B2 (en) 2012-07-09 2015-07-14 Cisco Technology, Inc. Packet forwarding optimization with virtual machine mobility by comparing device identifiers to determine VM movement
US9178837B2 (en) 2012-07-17 2015-11-03 Cisco Technology, Inc. System and method for layer-2 network routing
CN102857416B (zh) 2012-09-18 2016-09-28 中兴通讯股份有限公司 一种实现虚拟网络的方法、控制器和虚拟网络
CN103051629B (zh) 2012-12-24 2017-02-08 华为技术有限公司 一种基于软件定义网络中数据处理的系统、方法和节点

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1705307A (zh) * 2004-06-03 2005-12-07 华为技术有限公司 基于虚拟局域网的二层虚拟专用网的实现方法
CN101278521A (zh) * 2005-10-03 2008-10-01 微软公司 无状态双向代理
CN102326147A (zh) * 2009-03-02 2012-01-18 国际商业机器公司 虚拟网络环境中的复制避免
WO2011051182A1 (en) * 2009-10-29 2011-05-05 Telefonaktiebolaget L M Ericsson (Publ) M2m resource preservation in mobile networks
CN102202104A (zh) * 2010-03-23 2011-09-28 丛林网络公司 管理网络设备内的分布式地址池

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112236981A (zh) * 2018-06-07 2021-01-15 瑞典爱立信有限公司 在sdn中配置网络路径
CN112236981B (zh) * 2018-06-07 2022-08-23 瑞典爱立信有限公司 在sdn中配置网络路径
US11502944B2 (en) 2018-06-07 2022-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Configuring a network path in an SDN
CN111917653A (zh) * 2020-07-21 2020-11-10 广东省华南技术转移中心有限公司 用于sdn网络的数据转发规则同步方法、控制器及系统

Also Published As

Publication number Publication date
WO2015043475A1 (en) 2015-04-02
US20150089032A1 (en) 2015-03-26
CN105594166B (zh) 2019-07-05
US9350607B2 (en) 2016-05-24

Similar Documents

Publication Publication Date Title
CN105594166A (zh) 软件定义网络中的具有一致更新的可扩展网络配置
US10789199B2 (en) Network traffic rate limiting in computing systems
US20210075727A1 (en) Multi-account gateway
US9112794B2 (en) Dynamic multipath forwarding in software defined data center networks
CN113273142B (zh) 通信系统和通信方法
CN113261240A (zh) 使用可编程客户机进行多租户隔离
CN111034159B (zh) 云中使用专用金属部署的情况下的复制
EP2849064B1 (en) Method and apparatus for network virtualization
CN113261242B (zh) 通信系统和由通信系统实现的方法
Koldehofe et al. The power of software-defined networking: line-rate content-based routing using OpenFlow
CN113302898B (zh) 通信系统、通信方法、非暂时性计算机可读介质
US20230179517A1 (en) Wide area networking service using provider network backbone network
US20220321469A1 (en) Dynamic routing for peered virtual routers
US20190222514A1 (en) Individual network device forwarding plane reset
WO2020093871A1 (zh) 下行报文发送、转发方法和装置
Koldehofe et al. Tutorial: Event-based systems meet software-defined networking
US11146490B2 (en) Distributed load balancer health management using data center network manager
Borokhovich et al. The show must go on: Fundamental data plane connectivity services for dependable SDNs
EP3494672B1 (en) Techniques for interconnection of controller-and protocol-based virtual networks
US20220321471A1 (en) Multi-tenant offloaded protocol processing for virtual routers
Hantouti et al. A novel SDN-based architecture and traffic steering method for service function chaining
KR101145389B1 (ko) 분산화를 통한 확장성 있는 중앙 집중식 네트워크 구조 및 제어 방법과 이를 위한 네트워크 스위칭 장치
Xu et al. Coordinated resource allocation with VNFs precedence constraints in inter-datacenter networks over elastic optical infrastructure
US20240064089A1 (en) Priority based route programing and advertising
Wu et al. Design of a network service processing platform for data path customization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190705

CF01 Termination of patent right due to non-payment of annual fee