CN104717116A - 用于软件定义联网隧穿扩展的方法和系统 - Google Patents
用于软件定义联网隧穿扩展的方法和系统 Download PDFInfo
- Publication number
- CN104717116A CN104717116A CN201410686998.5A CN201410686998A CN104717116A CN 104717116 A CN104717116 A CN 104717116A CN 201410686998 A CN201410686998 A CN 201410686998A CN 104717116 A CN104717116 A CN 104717116A
- Authority
- CN
- China
- Prior art keywords
- packet
- network
- computer
- virtual channel
- data packet
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0681—Configuration of triggering conditions
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0686—Additional information in the notification, e.g. enhancement of specific meta-data
-
- 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/0893—Assignment of logical groups to network 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/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/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
- H04L41/0897—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or 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/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/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
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- 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
-
- 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/645—Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一个方面包括在软件定义联网(SDN)控制器上接收来自请求者的请求,以识别计算机网络中的数据分组的流。该数据分组包括数据分组首标。根据该数据分组首标确定该数据分组包括快速外围组件互联网(PCIe)数据分组和多根输入/输出(MR-IOV)数据分组之一。还确定数据分组的流需要源网络设备与目的地网络设备之间的虚拟隧道。开始创建该虚拟隧道,并指示该请求者经由该虚拟隧道将分组从源网络设备发送到目的地网络设备。还指示该请求者将该虚拟隧道用于发送具有相同流和在关闭该虚拟隧道之前接收的随后分组。
Description
技术领域
本发明一般涉及软件定义联网(SDN),尤其涉及SDN隧穿扩展(tunnelingextension)。
背景技术
以太网网络通常应用在包括多个网络交换机的局域网(LAN)中。许多通信协议已被开发出来并继续发展以改进各种环境的以太网网络性能。例如,像数据中心桥接(DCB)、融合改进型以太网(CEE)或数据中心以太网(DCE)那样的以太网的改进支持LAN与存储区域网络(SAN)的融合。可以结合以太网用在数据中心环境中的其它协议包括,例如,以太网光纤通道(FCoE)、互联网广域远程直接存储器存取协议(iWARP)、和融合以太网远程直接存储器存取(RoCE)。
在传统网络架构中,不存在集中式网络控制。位于像交换机、网桥、网关、路由器或防火墙那样的网络设备本地的路由表被分别配置成将网络业务引向网络的相邻节点。网络设备可以作出控制决策并相应地转发网络业务。在软件定义联网(SDN)中,网络业务路由决策由创建定义通过网络的流路的表格的控制器集中控制和作出。控制器解耦有关将业务从将业务转发给所选目的地的网络设备发送到哪里的控制决策。
发明内容
实施例包括软件定义联网(SDN)的方法、系统、和计算机程序产品。一种方法包括在计算机网络中的SDN控制器上接收来自请求者的请求,以识别从计算机网络中的源网络设备到目的地网络设备的数据分组的流。该数据分组包括数据分组首标。根据该数据分组首标确定该数据分组包括快速外围组件互联网(PCIe)数据分组和多根输入/输出(MR-IOV)数据分组之一。还根据该数据分组首标确定数据分组的流需要源网络设备与目的地网络设备之间的虚拟隧道。开始创建该虚拟隧道,并指示该请求者经由该虚拟隧道将分组从源网络设备发送到目的地网络设备。还指示该请求者将该虚拟隧道用于发送具有相同流和在关闭该虚拟隧道之前接收的随后分组。
附图说明
作为本说明书的结论,在权利要求书中具体指出并明确要求保护被当作实施例的主题。该实施例的前述和其它特征和优点可从结合附图所作的如下详细描述中明显看出,在附图中:
图1描绘了包括依照实施例实现软件定义联网(SDN)的计算机网络的系统;
图2描绘了按照实施例的图1的系统的交换机的框图;
图3描绘了按照实施例的图1的系统的SDN控制器的框图;
图4描绘了依照实施例进行隧道穿越的过程流;以及
图5描绘了包括依照实施例发送多根I/O虚拟化(MR-IOV)分组的隧道的系统。
具体实施方式
示范性实施例涉及使用隧穿协议创建虚拟隧道以便在不兼容输送网络上传送有效载荷的计算机网络。在示范性实施例中,利用识别外围组件互连快速(PCIe)和多根I/O虚拟化(MR-IOV)分组的属性的软件定义联网(SDN)控制器控制以太网交换机。SDN控制器经由虚拟隧道经由所识别PCIe和MR-IOV分组流。这为控制来自共同网络服务器的业务的另外类型,以及管理在物理和虚拟网络的不同格式之间交换业务的不同格式创造了条件。
示范性实施例涉及在SDN控制器中为PCIe到融合改进型以太网(CEE)隧穿提供支持。SDN控制器可以无需分组封装地控制像通过数据中心内的交换机连接的服务器和网络之间的互联网协议(IP)业务和光纤通道业务那样,不同类型的业务流。网络可以包括,但不限于,局域网(LAN)和存储区域网络(SAN)。不同业务类型可以跨过含有经由交换机连接到根复合体的多个端点处理器的PCIe树和跨过允许多支业务流在单个物理交换机端口上的CEE域地流动。在一个实施例中,SDN控制器识别PCIe分组首标以及CEE首标,并根据PCIe首标属性使分组路由到CEE交换机端口。SDN控制器可以实现PCIe协议特有的业务路由,以保证与PCIe架构的兼容性。
在实施例中,SDN控制器能够识别和路由在根据覆盖扩展,使用与SDN控制器连接的多根管理器管理资源的输入/输出(I/O)分层结构的MR-IOV覆盖网络上的业务。SDN控制器可以控制MR-IOV覆盖特有的业务路由。SDN控制器还可以作为其流控制和协议特有路由模式的一部分,控制PCIe、CEE和MR-IOV格式(物理和虚拟网络两者)之间的分组交换。
现在转到图1,现在更详细地描述包括支持软件定义联网(SDN)的网络101的系统100的例子。在描绘在图1中的例子中,系统100是包括多个服务器102和客户端系统104的系统,该多个服务器102和客户端系统104被配置成使用能够SND(例如,OpenFlow兼容)的交换机106在网络101上通信。网络101可以是在地理上分布在多个物理地点之间的企业网络或可以是包括在单个地点位置中的数据中心网络。在一个实施例中,系统100处在数据中心环境中。在示范性实施例中,也称为主机或主系统的服务器102是高速处理设备(例如,大型计算机、台式计算机、膝上型电脑、手持式设备、嵌入式计算设备等),其包括能够读取和执行指令,并管理与系统100的各种组件的交互的至少一个处理电路(例如,计算机处理器/CPU)。一个或多个服务器102可以是配置成访问大量数据并将其存储到一个或多个数据存储系统108中的存储系统服务器。
客户端系统104可以包括多种台式、膝上型、通用计算机设备、移动计算设备、和/或带有处理电路和像键/按钮、触摸屏、音频输入端、显示设备和音频输出端那样的输入/输出(I/O)接口的联网设备。客户端系统104可以直接或通过一个或多个无线接入点110无线地与一个或多个交换机106链接。
数据存储系统108指的是任何类型的计算机可读存储介质,可以包含一个或多个辅助存储元件,例如,硬盘驱动器(HDD)、固态存储器、磁带、或服务器102内部或外部的存储子系统。可以存储在数据存储系统108中的数据的类型包括,例如,各种文件和数据库。可以存在供一个或多个服务器102使用、可以分布在系统100的各种地点上的多个数据存储系统108。
系统100还包括作为配置成在网络101内作出路由决策的中央SDN控制器的SDN控制器112。SND控制器112建立一条或多条安全链路103以便配置交换机106和交换机106之间的链路105的通信性质。例如,SDN控制器112可以将交换机106配置成控制服务器102与客户端系统104,以及一个或多个防火墙114和一个或多个负载平衡器116之间的数据流的分组路由路径。一个或多个防火墙114限制网络101与一个或多个外部网络118之间的网络业务的访问和流动。一个或多个负载平衡器116可以像在服务器102之间那样,跨过多台计算机地分配工作负载。SDN控制器112还可以将交换机106配置成限定服务器102或交换机106之间的隧道。
服务器102、客户端系统104、和SDN控制器112可以包括像一个或多个处理单元或电路、包括可换式介质的易失性和非易失性存储器、电源、网络接口、支持电路、操作系统等那样,在本领域中已知的各种计算机/通信硬件和软件技术。尽管SDN控制器112被描绘成单独组件,但应当明白,可替代的是,可以独立地或分布式地在一个或多个服务器102或客户端系统104中实现网络配置功能。
网络101可以包括无线、有线、和/或光纤链路的组合。如图1所描绘的网络101代表为了说明目的的简化例子。例如,描绘在网络101中的每种链路105可以包括不止一条物理链路。网络101的实施例可以包括许多交换机106(例如,数百个),每台交换机106有数十端口和链路。交换机106还被统称为网络资源,可以代表能够通过一个或多个端口转发数据的任何类型设备。网络101可以支持允许在服务器102、客户端系统104、交换机106、SDN控制器112、防火墙114、和/或负载平衡器116之间传输数据的多种已知通信标准。通信协议通常在像物理层(层1)、链路层(层2)、网络层(层3)、传输层(层4)、和应用层(层5)那样的一个或多个层中实现。在示范性实施例中,网络101支持作为层2协议的SDN。交换机106可以是专用SDN交换机或也支持层2和层3以太网的允许SDN通用交换机。在一个示范性实施例中,一台服务器102可起配置SDN控制器112的作用。
图2描绘了支持SDN的图1的交换机106的框图。交换机106包括交换机逻辑202、安全链路接口204、协议支持205、流表206、缓冲器208a-208n、和端口210a-210n。交换机106还可以包括业务监视器220,用于局部监视网络业务,以便确定网络业务性能度量并将网络业务性能度量提供给图1的SDN控制器112。交换机逻辑202可以在一个或多个处理单元中实现,其中将计算机可读存储介质配置成为交换机逻辑202和/或业务监视器220保存指令,以及各种变量和常数以便支持交换机106的操作。交换机逻辑202在端口210a-210n之间转发网络业务(例如,分组)作为图1的SDN控制器112定义的流。
安全链路接口204经由图1的安全链路103将交换机106与SDN控制器112连接。安全链路接口204允许使用SDN协议在SDN控制器112与交换机106之间的传送命令和分组。安全链路接口204可以通过存储在交换机106内的可执行指令来控制。为实现SDN和其它协议建立协议定义的协议细节可以存储在协议支持205中。协议支持205可以是定义一种或多种支持协议格式的软件。协议支持205可以具体化在配置成保存供交换机逻辑202执行的指令的计算机可读存储介质,例如,闪速存储器中。将协议支持205实现成软件使得可以为协议的新版本或变种现场更新,并且可以将SDN作为一种改进提供给现有传统路由器或交换机。
流表206定义与,例如,特定地址、虚拟局域网或交换机端口相联系的支持连接类型。可以将流定义成与包括使用通配符的特定首标格式匹配的所有网络业务。流表206中的每个条目可以包括与特定流相联系的一条或多条规则212、行为214、和统计量216。规则212定义每支流并可以通过分组首标来确定。行为214定义如何处理分组。统计量216跟踪像每支流的大小(例如,字节数)、每支流的分组的数量、和自流的最后匹配分组以来的时间或连接时间那样的信息。行为的例子包括将流的分组转发给一个或多个特定端口210a-210n(例如,单播或多播)、封装流的分组并将其转发给图1的SDN控制器112、和丢弃流的分组的指令。流表206中的条目211可以由图1的SDN控制器112经由安全链路接口204加入或除去。图1的SDN控制器112可以将条目211预填在流表206中。另外,交换机106一旦接收到在流表206中没有相应条目的流,就可以向SDN控制器112请求创建条目211。
缓冲器208a-208n随着在端口210a-210n之间发送网络业务,排队地为流提供临时存储。在无损配置中,当存在网络堵塞时不是丢弃网络业务的分组,而是让缓冲器208a-208n临时存储分组,直到相关端口210a-210n和链路105可用。可以将每个缓冲器208a-208n与特定端口、流、或子网络相联系。每个缓冲器208a-208n在逻辑上是分开的,但无需物理独立。于是,当一个208a-208n满了时,不会不利地影响交换机106内的其它缓冲器208a-208n的性能。
图3描绘了按照实施例的图1的SDN控制器112的框图。SDN控制器112可以具体化在任何类型的处理系统中,以及被描绘成具体化在图3中的通用计算机301中。图1的服务器102和客户端系统104也可以包括如描绘在图3的计算机301中的类似计算机元件。
在示范性实施例中,就硬件架构而言,如图3所示,控制器301包括与存储器控制器315耦合的处理电路305和存储器310、和输入/输出控制器335。输入/输出控制器335可以是,例如,但不限于,如在本领域中的一条或多条总线或其它有线或无线连接件。输入/输出控制器335可以含有像控制器、缓冲器(高速缓存)、驱动器、重发器、和接收器那样,为了简单起见省略了的另外元件,以便能够通信。进一步,计算机301可以包括地址、控制、和/或数据连接件,以便能够在上述组件之间进行适当通信。
在示范性实施例中,传统键盘350和鼠标355或类似设备可以与输入/输出控制器335耦合。可替代地,可以经由触摸敏感或运动敏感接口(未描绘出来)接收输入。计算机301可以进一步包括与显示器330耦合的显示器控制器325。
处理电路305是执行软件,尤其存储在像高速缓冲存储那样的存储320、或存储器310中的软件的硬件设备。处理电路305可以是任何定制或商用计算机处理器、中央处理单元(CPU)、与计算机301相联系的几个处理器当中的辅助处理器、基于半导体的微处理器(具有微芯片或芯片组的形式)、宏处理器、或执行指令的任何一般设备。
存储器310可以包括易失性存储元件(例如,随机存取存储器(RAM,诸如DRAM、SRAM、SDRAM等))、和非易失性存储元件(例如,ROM、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、可编程只读存储器(PROM)、磁带、致密盘只读存储器(CD-ROM)、磁盘、硬盘驱动器、软盘、盒式磁带、卡式磁带等)的任何一种或组合体。此外,存储器310可以内含电、磁、光、和/或其它类型的存储介质。于是,存储器310是可以将处理电路305可执行的指令具体化成计算机程序产品的有形计算机可读存储介质的例子。存储器310可以具有各种组件处在相互远离的地方,但可以被处理电路305访问的分布式架构。
存储器310中的指令可以包括每一个包含实现逻辑功能的可执行指令的有序列表的一个或多个单独程序。在图3的例子中,存储器310中的指令包括适当操作系统(OS)311、SDN控制逻辑312、和流监视器313。操作系统311主要控制其它计算机程序的执行,提供调度、输入-输出控制、文件和数据管理、存储器管理、和通信控制和相关服务。尽管分开描绘,但SDN控制逻辑312和流监视器313可以组合在一起或进一步细分。当计算机301正在工作时,处理电路305被配置成执行存储在存储器310内的指令,向和从存储器310传送数据,以及依据指令一般性地控制计算机301的操作。
在示范性实施例中,控制器301可以进一步包括网络接口360以便与图1的网络101的安全链路103耦合。网络接口360和图1的计算机101的组件可以通过SDN控制逻辑312按照流表316配置。流表316可以通过PCIe逻辑317和/或MR-IOV逻辑318填充或扩充。PCIe逻辑317可以包括用于识别包含PCIe分组的数据分组、确定为PCIe分组所作的行为、和/或帮助启动虚拟隧道的计算机指令。类似地,MR-IOV逻辑318可以包括用于识别包含MR-IOV分组的数据分组、确定为MR-IOV分组所作的行为、和/或帮助启动虚拟隧道的计算机指令。
现在转到图4,其中一般性地示出了依照实施例进行隧道穿越的过程流。该过程参考图1-3来描述以及可以通过图1的系统100来实现。在方框402中,源服务器102将PCIe分组发送给像网络接口控制器(NIC)那样的适配器。该适配器可以专用于发送PCIe分组的源服务器102,或该适配器可以被源服务器102和一个或多个另外服务器102共享。另外,该适配器可以与源服务器102一起存放在相同物理硬件中,或可替代地,该适配器可以处在源服务器102外部的物理硬件中。在一个实施例中,该适配器支持PCIe分组。在方框404中,该适配器封装PCIe分组,并将封装的PCIe分组作为以太网分组发送给网络中的交换机106。该封装可以包括通过将首标加入接收的数据组中,然后将所接收数据组的内容附在首标上来创建数据分组。该首标可以包括将分组标识成PCIe分组的标志或其它方式。在可替代实施例中,方框404中的处理通过交换机逻辑202在交换机106上执行。
在可替代实施例中,不封装PCIe分组。取而代之,可以跨过网络直接将PCIe分组发送给能够接收未封装PCIe数据的第二适配器。在这个实施例中,将正在发送未封装PCIe业务的信息编程在网络控制器上,控制器将创建避开不能管理未封装PCIe分组的任何中间设备的从到目的地的路径。如果不存在这样的路径,则网络控制器将通知源服务器上的NIC不能创建适当传输路径。
交换机106在方框406中接收封装PCIe分组,并试图通过访问处在交换机106上的流表206识别由分组指定的流。在一个实施例中,交换机106试图根据如下的至少一种与流表206中的条目匹配:首标的内容、数据分组的源、数据组的目的地、IP地址、和分组的机器访问码(MAC)地址。在一个实施例中,交换机106不识别该流,交换机106将识别数据组的请求发送给SDN控制器112。在方框408中,SDN控制器112接收来自交换机106的请求。SDN控制器112根据分组首标中的标志或其它PCIe标识符将分组逻辑识别成PCIe分组。在一个实施例中,该识别可以通过SDN控制器112中可以将分组首标的内容与流表316的内容相比较的PCIe逻辑317来进行。SDN控制器112可以核实通过PCIe分组指定的目的地服务器102支持PCIe分组。一旦SDN控制器112确定目的地服务器是PCIe兼容的,就执行方框410,SDN控制器112促使从与源服务器102相联系的交换机106到与目的地服务器102相联系的交换机106创建虚拟隧道。在一个实施例中,SDN控制器112向交换机106发送创建虚拟隧道的命令,交换机106根据来自SDN控制器的命令创建虚拟隧道。在一个实施例中,该虚拟隧道是虚拟专用网络(VPN)。虚拟隧道的使用可以使PCIe消息低延迟地在源和目的地服务器102之间开关来回。
在方框412中,SDN控制器112指示交换机106将虚拟隧道用于数据分组和具有相同流特性的随后数据分组。在一个实施例中,只要在隧道上出现特定使用阈值或流速,就让虚拟隧道为数据分组传输保持开放。一旦创建了虚拟隧道,就以与以太网数据分组相同的方式对待封装的数据分组。在方框414中,当未出现特定使用阈值时(例如,在特定时段内),关闭虚拟隧道。
在一个实施例中,由SDN控制器112建立多条虚拟隧道以促进,例如:PCIe数据分组的单播、多播、和广播。
在一个可替代实施例中,在方框410中,一旦SDN控制器112确定目的地服务器是PCIe兼容的,就将分组作为以太网分组发送给其中不封装的目的地服务器102。
MR-IOV和单根IOV(SR-IOV)技术可以用在SDN中,以帮助从服务器到像NIC那样的适配器的卸载管理功能。这可以导致在服务器102上腾出几个周期来。另外,MR-IOV和SR-IOV技术也可以用于在服务器102之间合用(pool)资源。这可以导致网络资源的利用率提高。
图5描绘了包括依照实施例发送MR-IOV分组的虚拟隧道的系统。在图5中所示的是源服务器502a、目的地服务器502b和一个或多个其它服务器502。三种服务器502共享源适配器504a以及两种服务器502共享目的地适配器504b。源适配器504a将三条链路508(与源适配器504a连接的三条或更多条链路508当中)捆绑在一起并与源交换机506a连接。源交换机506a和目的地交换机506b被显示成相互连接,但是,它们可以经由一台或多台中间交换机连接。
MR-IOV分组的处理与显示在图4中对PCIe分组的处理类似。源适配器504a将数据分组识别成MR-IOV分组,并封装MR-IOV分组,以便作为以太网分组发送给网络中的源交换机506a。该封装可以包括将把分组标识成MR-IOV分组的首标加入SDN控制器512中。在一个可替代实施例中,该封装通过源交换机506a上的交换机逻辑进行。源交换机506a试图识别与分组相联系的流,如果不能识别该流(例如,根据首标),则就流标识询问SDN控制器512。SDN控制器512将分组识别成MR-IOV分组(例如,根据首标),核实目的地适配器504b支持MR-IOV分组,并促使从源适配器504a到目的地适配器504b创建隧道514。能够支持MR-IOV分组的适配器将能够生成和识别通过MR-IOV环境创建的业务流捆绑和联系(即,将来自不同服务器的多支物理业务流捆绑在一起成为单支逻辑流)。SDN控制器512指示源交换机506a将隧道514用于数据分组。
在方框412中,SDN控制器112指示交换机106将隧道用于数据分组和具有相同流特性的任何其他数据分组。在一个实施例中,只要在隧道上出现特定使用阈值,就让虚拟隧道为数据分组传输保持开放。一旦创建了虚拟隧道,就以与以太网数据分组相同的方式对待封装的数据分组。在方框414中,当未出现特定使用阈值时(例如,在特定时段内),关闭虚拟隧道。
技术效果和好处包括在SDN网络中发送和控制PCIe和MR-IOV业务的能力。
如本领域的普通技术人员所懂得,本发明的各个方面可以具体化成系统、方法和计算机程序产品。于是,本发明的各个方面可以采取本文可以统称为,例如,“电路”、“模块”或“系统”的完全硬件实施例、完全软件实施例(包括固件、驻留软件、微码等)或组合软件和硬件方面的实施例的形式。更进一步,本发明的各个方面可以采取具体化在一种或多种计算机可读存储设备中的计算机程序产品的形式,该计算机可读存储设备含有具体化在上面的计算机可读程序代码。
实施例的一种或多种能力可以用软件、固件、硬件、或它们的组合体实现。进一步,可以仿真一种或多种能力。
实施例可以是使处理器电路能够实现本发明的要素的计算机程序产品,该计算机程序产品包含处理电路可读和存储供处理电路执行以便执行一种方法的指令的计算机可读存储介质。
该计算机可读存储介质是含有记录在上面的指令以便处理器电路执行一种方法的有形、非短暂存储介质。该“计算机可读存储介质”至少是非短暂的,因为一旦将指令记录在该介质上,处理器电路以后就可以在与记录时间无关的时间一次或多次地读取记录的指令。该非短暂的“计算机可读存储介质”包括只有在供电的时候才保留所记录信息的设备(易失性设备)和与供电无关地保留所记录信息的设备(非易失性设备)。“非短暂存储介质”的示范性、非穷举列表包括,但不限于,例如:含有记录在上面的指令的包含,例如,像RAM那样的存储阵列或像锁存器那样的存储电路的半导体存储设备;含有记录在上面的指令的像打孔卡或凹槽中的凸起结构那样的机械编码设备;含有记录在上面的指令的像CD或DVD那样的光可读设备;以及含有记录在上面的指令的像磁带或磁盘那样的磁记录设备。
计算机可读存储介质的例子的非穷举列表包括如下:便携式计算机软盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、便携式致密盘只读存储器(CD-ROM)。可以经由网络,例如,互联网、局域网、广域网和/或无线网络将程序代码从外部计算机或外部存储设备分配给各自计算/处理设备。该网络可以包含传输铜缆、传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口卡接收来自网络的程序,并转发程序以便存储在各自计算/处理设备中的计算机可读存储设备中。
进行本发明的各个方面的操作的计算机程序代码可以是,例如,以一种或多种编程语言的任何组合编写的汇编代码、机器代码、微码或源或目标代码,该编程语言包括像Java、Smalltalk、C++等那样的面向对象编程语言、和像“C”编程语言或类似编程语言那样的传统过程式编程语言。该程序代码可以完全在用户计算机上执行、部分在用户计算机上执行、作为一个独立软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形下,远程计算机可以通过任何类型的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。
上面参考按照本发明实施例的方法、装置(系统)和计算机程序产品的例示性流程图和/或框图描述了本发明的各个方面。应当明白,例示性流程图和/或框图的每个方框以及例示性流程图和/或框图中的各个方框的组合都可以通过计算机程序指令实现。
这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而形成一台机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令形成实现在流程图和/或框图的一个或多个方框中规定的功能/动作的部件。这些计算机程序指令也可以存储在计算机可读介质中,该计算机可读介质可以指引计算机、其它可编程数据处理装置、或其它设备以特定方式起作用。
也可以将计算机程序指令装载到计算机、其它可编程数据处理装置、或其它设备上,使一系列操作步骤在计算机、其它可编程数据处理装置、或其它设备上得到执行,形成计算机实现过程,以便在计算机或其它可编程装置上执行的指令提供实现在流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
图中的流程图和框图例示了按照各种实施例的系统、方法和计算机程序产品的可能实现的总体结构、功能和操作。在这一点上,流程图或框图中的每个方框可以代表代码的模块、片段或一部分,该代码的模块、片段或一部分包含一条或多条用于实现规定的逻辑功能的可执行指令。还应当注意到,在一些可替代实现中,标注在方框中的功能也可以以不同于标注在附图中的次序执行。例如,取决于所涉及的功能,两个相继示出的方框实际上可以基本同时地执行,或这些方框有时也可以按相反的次序执行。还要注意的是,框图和/或例示性流程图中的每个方框、以及框图和/或例示性流程图中的方框的组合可以用执行规定的功能或动作的专用基于硬件系统,或专用硬件与计算机指令的组合体来实现。
Claims (9)
1.一种用于计算机网络中的软件定义联网(SDN)的计算机实现方法,该方法包含:
在计算机网络中的SDN控制器上接收来自请求者的请求,以识别从计算机网络中的源网络设备到目的地网络设备的数据分组的流,该数据分组包括数据分组首标;
由该SDN控制器根据该数据分组首标确定该数据分组包括快速外围组件互联网(PCIe)数据分组和多根输入/输出(MR-IOV)数据分组之一,以及数据分组的流需要源网络设备与目的地网络设备之间的虚拟隧道;
由该SDN控制器开始创建计算机网络中的该虚拟隧道;
由该SDN控制器指示该请求者经由该虚拟隧道将分组从源网络设备发送到目的地网络设备;以及
指示该请求者将该虚拟隧道用于发送具有相同流和在关闭该虚拟隧道之前接收的随后分组。
2.如权利要求1所述的方法,其中将该PCIe数据分组封装在数据分组中。
3.如权利要求1所述的方法,其中将该MR-IOV数据分组封装在数据分组中。
4.如权利要求3所述的方法,其中该虚拟隧道包括捆绑在一起并且并行使用的多条链路。
5.如权利要求1所述的方法,进一步包含:
监视该虚拟隧道的利用率;以及
根据利用率下降到指定阈值以下关闭该虚拟隧道。
6.如权利要求1所述的方法,其中该数据分组是以太网数据分组。
7.如权利要求1所述的方法,其中该源网络设备和该目的地网络设备通过以太网交换机实现。
8.如权利要求1所述的方法,其中该计算机网络包括融合改进型以太网(CEE)。
9.一种用于计算机网络中的软件定义联网(SDN)的系统,该系统包含配置成执行权利要求1到8的任何一项的方法步骤的部件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/105,226 US9253028B2 (en) | 2013-12-13 | 2013-12-13 | Software-defined networking tunneling extensions |
US14/105,226 | 2013-12-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104717116A true CN104717116A (zh) | 2015-06-17 |
CN104717116B CN104717116B (zh) | 2018-04-06 |
Family
ID=53369820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410686998.5A Active CN104717116B (zh) | 2013-12-13 | 2014-11-25 | 用于软件定义联网隧穿扩展的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9253028B2 (zh) |
CN (1) | CN104717116B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713519A (zh) * | 2015-11-13 | 2017-05-24 | 南宁富桂精密工业有限公司 | 基于软体定义网络的网络传输方法与系统 |
CN106998347A (zh) * | 2016-01-26 | 2017-08-01 | 中兴通讯股份有限公司 | 服务器虚拟化网络共享的装置和方法 |
CN109194504A (zh) * | 2018-08-10 | 2019-01-11 | 北京大学深圳研究生院 | 面向动态网络的时序链路预测方法及计算机可读存储介质 |
CN109951365A (zh) * | 2017-12-21 | 2019-06-28 | 财团法人工业技术研究院 | 结合PCIe总线与以太网络的网络通信方法、系统及控制器 |
US10462101B2 (en) | 2015-11-13 | 2019-10-29 | Nanning Fugui Precision Industrial Co., Ltd. | Network communication method based on software-defined networking and server using the method |
CN112688871A (zh) * | 2019-10-18 | 2021-04-20 | 阿尔格布鲁控股有限公司 | 使用客户专用隧道的外部自治系统中的路由控制 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8837476B2 (en) * | 2012-09-07 | 2014-09-16 | International Business Machines Corporation | Overlay network capable of supporting storage area network (SAN) traffic |
US20150180769A1 (en) * | 2013-12-20 | 2015-06-25 | Alcatel-Lucent Usa Inc. | Scale-up of sdn control plane using virtual switch based overlay |
CN103701710B (zh) * | 2013-12-20 | 2017-01-11 | 杭州华为数字技术有限公司 | 一种数据传输方法、核心转发设备以及端点转发设备 |
US9582308B2 (en) * | 2014-03-31 | 2017-02-28 | Nicira, Inc. | Auto detecting legitimate IP addresses using spoofguard agents |
CN113190495A (zh) | 2014-12-08 | 2021-07-30 | 安博科技有限公司 | 从远程网络区域进行内容检索的系统及方法 |
CN113225369A (zh) | 2015-01-06 | 2021-08-06 | 安博科技有限公司 | 用于中立应用程序编程接口的系统和方法 |
EP3251301A4 (en) * | 2015-01-28 | 2018-10-10 | Umbra Technologies Ltd. | System and method for a global virtual network |
CN114079669A (zh) | 2015-04-07 | 2022-02-22 | 安博科技有限公司 | 用于提供全局虚拟网络(gvn)的系统和方法 |
US9628292B2 (en) | 2015-04-23 | 2017-04-18 | Fortinet, Inc. | Intelligent bridging of Wi-Fi flows in a software-defined network (SDN) |
US10015162B2 (en) * | 2015-05-11 | 2018-07-03 | Huawei Technologies Co., Ltd. | Firewall authentication of controller-generated internet control message protocol (ICMP) echo requests |
CN116366334A (zh) | 2015-06-11 | 2023-06-30 | 安博科技有限公司 | 用于网络挂毯多协议集成的系统和方法 |
EP4236264A3 (en) | 2015-12-11 | 2023-11-08 | Umbra Technologies Ltd. | System and method for information slingshot over a network tapestry and granularity of a tick |
EP3405877B1 (en) * | 2016-01-22 | 2022-09-21 | Nokia Solutions and Networks Oy | Application relocation between clouds |
US10645009B2 (en) * | 2016-03-18 | 2020-05-05 | Futurewei Technologies, Inc. | Method and apparatus for programmable buffers in mobile networks |
EP4036747B1 (en) | 2016-04-26 | 2024-06-05 | Umbra Technologies Ltd. | Network slinghop via tapestry slingshot |
CN110365591B (zh) | 2018-04-09 | 2021-11-19 | 华为技术有限公司 | 数据包处理方法、装置及设备 |
CN114039798B (zh) * | 2021-11-30 | 2023-11-03 | 绿盟科技集团股份有限公司 | 一种数据传输方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102934400A (zh) * | 2010-06-09 | 2013-02-13 | 日本电气株式会社 | 通信系统、逻辑信道控制设备、控制设备、通信方法以及程序 |
CN103152267A (zh) * | 2013-02-04 | 2013-06-12 | 华为技术有限公司 | 路由管理方法及路由方法及网络控制器及路由器 |
CN103326884A (zh) * | 2013-05-30 | 2013-09-25 | 烽火通信科技股份有限公司 | Sdn网络中结合流检测和包检测的业务流感知系统及方法 |
CN103346922A (zh) * | 2013-07-26 | 2013-10-09 | 电子科技大学 | 基于sdn的确定网络状态的控制器及其确定方法 |
CN103347013A (zh) * | 2013-06-21 | 2013-10-09 | 北京邮电大学 | 一种增强可编程能力的OpenFlow网络系统和方法 |
WO2013184941A1 (en) * | 2012-06-06 | 2013-12-12 | Huawei Technologies Co., Ltd. | Method of seamless integration and independent evolution of information-centric networking via software defined networking |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7340535B1 (en) | 2002-06-04 | 2008-03-04 | Fortinet, Inc. | System and method for controlling routing in a virtual router system |
US20110182259A1 (en) | 2006-04-28 | 2011-07-28 | Avfinity, Inc | Partitionable router to facilitate communication between systems |
US8565230B2 (en) * | 2010-09-10 | 2013-10-22 | Avaya Inc. | Shared virtual tunnels supporting Mac learning in communication networks |
WO2012073304A1 (ja) * | 2010-11-29 | 2012-06-07 | 株式会社日立製作所 | 計算機システム、それに使用されるスイッチ及びパケット転送制御方法 |
US20130034094A1 (en) | 2011-08-05 | 2013-02-07 | International Business Machines Corporation | Virtual Switch Data Control In A Distributed Overlay Network |
US9086919B2 (en) * | 2012-08-23 | 2015-07-21 | Dell Products, Lp | Fabric independent PCIe cluster manager |
-
2013
- 2013-12-13 US US14/105,226 patent/US9253028B2/en active Active
-
2014
- 2014-11-25 CN CN201410686998.5A patent/CN104717116B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102934400A (zh) * | 2010-06-09 | 2013-02-13 | 日本电气株式会社 | 通信系统、逻辑信道控制设备、控制设备、通信方法以及程序 |
WO2013184941A1 (en) * | 2012-06-06 | 2013-12-12 | Huawei Technologies Co., Ltd. | Method of seamless integration and independent evolution of information-centric networking via software defined networking |
CN103152267A (zh) * | 2013-02-04 | 2013-06-12 | 华为技术有限公司 | 路由管理方法及路由方法及网络控制器及路由器 |
CN103326884A (zh) * | 2013-05-30 | 2013-09-25 | 烽火通信科技股份有限公司 | Sdn网络中结合流检测和包检测的业务流感知系统及方法 |
CN103347013A (zh) * | 2013-06-21 | 2013-10-09 | 北京邮电大学 | 一种增强可编程能力的OpenFlow网络系统和方法 |
CN103346922A (zh) * | 2013-07-26 | 2013-10-09 | 电子科技大学 | 基于sdn的确定网络状态的控制器及其确定方法 |
Non-Patent Citations (1)
Title |
---|
BINGHAN LIU: "Software Defined Networking and Tunneling for Mobile Networks", 《PH.D. DISSERTATION,KTH ROYAL INSTITUTE OF TECHNOLOGY,URL: HTTP://CITESEERX.IST.PSU.EDU/VIEWDOC/DOWNLOAD?DOI=10.1.1.455.9660&REP=REP1&TYPE=PDF》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713519A (zh) * | 2015-11-13 | 2017-05-24 | 南宁富桂精密工业有限公司 | 基于软体定义网络的网络传输方法与系统 |
US10462101B2 (en) | 2015-11-13 | 2019-10-29 | Nanning Fugui Precision Industrial Co., Ltd. | Network communication method based on software-defined networking and server using the method |
CN106713519B (zh) * | 2015-11-13 | 2020-05-08 | 南宁富桂精密工业有限公司 | 基于软体定义网络的网络传输方法与系统 |
CN106998347A (zh) * | 2016-01-26 | 2017-08-01 | 中兴通讯股份有限公司 | 服务器虚拟化网络共享的装置和方法 |
CN109951365A (zh) * | 2017-12-21 | 2019-06-28 | 财团法人工业技术研究院 | 结合PCIe总线与以太网络的网络通信方法、系统及控制器 |
CN109194504A (zh) * | 2018-08-10 | 2019-01-11 | 北京大学深圳研究生院 | 面向动态网络的时序链路预测方法及计算机可读存储介质 |
CN112688871A (zh) * | 2019-10-18 | 2021-04-20 | 阿尔格布鲁控股有限公司 | 使用客户专用隧道的外部自治系统中的路由控制 |
Also Published As
Publication number | Publication date |
---|---|
US9253028B2 (en) | 2016-02-02 |
US20150172103A1 (en) | 2015-06-18 |
CN104717116B (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104717116A (zh) | 用于软件定义联网隧穿扩展的方法和系统 | |
US10158561B2 (en) | Data plane learning of bi-directional service chains | |
WO2018058677A1 (zh) | 一种报文处理方法、计算设备以及报文处理装置 | |
CN104579695B (zh) | 一种数据转发装置和方法 | |
CN104301251B (zh) | 一种QoS处理方法、系统及设备 | |
ES2614863T3 (es) | Control de servicio en nube informática y arquitectura de gestión extendida para conectarse al estrato de red | |
CN111565113B (zh) | 用于sdn控制器的灵活以太网网络拓扑抽象方法及系统 | |
CN105051688A (zh) | 经扩展的标记联网 | |
CN104734878A (zh) | 软件定义联网灾难恢复的方法和系统 | |
US10374935B2 (en) | Link discovery method, system, and device | |
CN108574634A (zh) | 用于跨越共享标签的标签交换路径提供节点保护的装置、系统和方法 | |
EP3226492B1 (en) | Method, system, and apparatus for improving forwarding capabilities during route convergence | |
US10050859B2 (en) | Apparatus for processing network packet using service function chaining and method for controlling the same | |
CN103548376A (zh) | 通过openflow数据平面在云计算机中实现epc | |
CN105027506A (zh) | 网络中的可扩展流和拥塞控制 | |
US10826823B2 (en) | Centralized label-based software defined network | |
CN104734964A (zh) | 报文处理方法、节点及系统 | |
CN108234317B (zh) | 一种隧道环回方法及其相关设备 | |
CN107231307A (zh) | 用于防止数据中心架构内子网间流量转接的方法、系统和装置 | |
US9407555B2 (en) | Systems and methods for load balancing multicast traffic | |
CN104714442A (zh) | 软件定义联网物理控制器及其控制方法 | |
CN104508651A (zh) | 镜像非对称集群多处理器系统中的连接网 | |
CN106878072A (zh) | 一种报文传输方法和装置 | |
US20140330973A1 (en) | System and method for brokering and provisioning in high-speed networks | |
CN104869062A (zh) | 一种数据包转发方法及设备 |
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 |