CN104660574B - 数据中心的配置方法、控制实体和转发实体 - Google Patents
数据中心的配置方法、控制实体和转发实体 Download PDFInfo
- Publication number
- CN104660574B CN104660574B CN201310601878.6A CN201310601878A CN104660574B CN 104660574 B CN104660574 B CN 104660574B CN 201310601878 A CN201310601878 A CN 201310601878A CN 104660574 B CN104660574 B CN 104660574B
- Authority
- CN
- China
- Prior art keywords
- delivery function
- keyword
- segment
- information
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种数据中心的配置方法、控制实体和转发实体。该数据中心包括分离的控制实体和转发实体。该配置方法包括:控制实体生成第一配置信息,第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列;控制实体将第一配置信息发送给转发实体,第一配置信息用于配置转发实体根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以使得转发实体按照第一片段位置信息从转发实体接收的报文中提取第一片段并在第一片段与第一关键字匹配时对报文执行第一指令序列。本发明实施例能够更容易地实现数据中心的协议更新。
Description
技术领域
本发明实施例涉及数据通信领域,并且更具体地,涉及数据中心的配置方法、控制实体和转发实体
背景技术
现有数据中心(Data Center,DC)技术中,数据中心网络是数据中心的重要组成部分,是数据中心的内部设备互连、与外界通信的载体。数据中心网络协议则是为进行数据交换而建立的规则,是数据中心的各种设备进行通信的语言。
现有数据中心技术中,数据中心转发实体接收到报文后,需要确定报文的数据格式。例如,开放流(OpenFlow)实现了对转发实体进行可编程控制的过程,通过对流表的操作,实现控制实体对转发实体的业务控制。例如,目前OpenFlow的转发实体可以通过虚拟可扩展局域网(Virtual Extensible Local Area Network,VXLAN)流表对VXLAN报文进行处理。OpenFlow的缺点在于转发实体需要知道转发的报文类型,即转发实体需要知道报文类型是VXLAN报文才能对VXLAN报文进行转发。如果要增加对一种新网络协议的转发支持,OpenFlow协议需要更新升级,等待标准化并实际部署,同时控制实体与转发实体也都需要各自升级软件以支持新版OpenFlow协议。
随着数据中心网络技术的发展,各种新型数据中心网络协议层出不穷,数据中心网络协议的升级以及运行不同网络协议的异构数据中心之间的互通问题变得越来越突出。例如,在网络协议升级时,数据中心设备必须事先支持这种协议才能支持部署,因此需要更改数据中心设备的软件甚至硬件。数据中心网络协议目前包括以太网光纤通道(FibreChannel over Ethernet,FCoE)、多链接透明互联(Transparent Interconnection ofLots of Links,TRILL)、最短路径桥接(Shortest Path Bridging,SPB)、网络虚拟化通用路由封装(Network Virtualization using Generic Routing Encapsulation,NVGRE)、光纤路径(FabricPath)、量子光纤(Quantum Fabric,QFabric)和VXLAN等网络协议。
发明内容
本发明实施例提供一种数据中心的配置方法、控制实体和转发实体,能够在数据中心中部署新的网络协议时容易地实现数据中心的配置。
第一方面,提供了一种数据中心的配置方法。该数据中心包括分离的控制实体和转发实体。该配置方法包括:控制实体生成第一配置信息,第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列;控制实体将第一配置信息发送给转发实体,第一配置信息用于配置转发实体根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以使得转发实体按照第一片段位置信息从转发实体接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
结合第一方面,在第一方面的另一实现方式中,第一指令序列包括跳转指令,跳转指令用于指示转发实体跳转到第二流表。该配置方法还包括:控制实体生成第二配置信息,第二配置信息包括第二片段位置信息、第二关键字和对应于第二关键字的第二指令序列,控制实体向转发实体发送第二配置信息,第二配置信息用于配置转发实体根据第二关键字和第二指令序列设置第二流表并根据第二片段位置信息设置第二流表的描述信息,以使得转发实体在执行第一指令序列所包括的跳转指令时,按照第二片段位置信息从报文中提取第二片段,并在第二片段与第二关键字匹配时对报文执行第二指令序列。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述控制实体生成第一配置信息,包括:控制实体在接收到转发实体发送的配置请求时,生成第一配置信息。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,配置请求包括转发实体发送的报文和/或转发实体的能力信息。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,第一片段位置信息包括起点信息和长度信息。
结合第一方面及其上述实现方式,在第一方面的另一实现方式中,第一指令序列包括依次执行的至少两条指令。
第二方面,提供了一种数据中心的配置方法。该数据中心包括分离的控制实体和转发实体。该配置方法包括:转发实体接收控制实体发送的第一配置信息,第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列;转发实体根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以按照第一片段位置信息从转发实体接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
结合第二方面,在第二方面的另一实现方式中,第一指令序列包括跳转指令,跳转指令用于指示转发实体跳转到第二流表。该配置方法还包括:转发实体接收控制实体发送的第二配置信息,第二配置信息包括第二片段位置信息、第二关键字和对应于第二关键字的第二指令序列;转发实体根据第二关键字和第二指令序列设置第二流表,并根据第二片段位置信息设置第二流表的描述信息,以在执行第一指令序列所包括的跳转指令时,按照第二片段位置信息从报文中提取第二片段,并在第二片段与第二关键字匹配时对报文执行第二指令序列。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,在转发实体接收控制实体发送的第一配置信息之前,该配置方法还包括:转发实体向控制实体发送配置请求。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,配置请求包括转发实体发送的报文和/或转发实体的能力信息。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,第一片段位置信息包括起点信息和长度信息。
结合第二方面及其上述实现方式,在第二方面的另一实现方式中,第一指令序列包括依次执行的至少两条指令。
第三方面,提供了一种数据中心的控制实体。该控制实体包括:生成单元,用于生成第一配置信息,第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列;发送单元,用于将生成单元生成的第一配置信息发送给数据中心的转发实体,第一配置信息用于配置转发实体根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以使得转发实体按照第一片段位置信息从转发实体接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
结合第三方面,在第三方面的另一实现方式中,第一指令序列包括跳转指令,跳转指令用于指示转发实体跳转到第二流表。生成单元还用于生成第二配置信息,第二配置信息包括第二片段位置信息、第二关键字和对应于第二关键字的第二指令序列,发送单元还用于向转发实体发送生成单元生成的第二配置信息,第二配置信息用于配置转发实体根据第二关键字和第二指令序列设置第二流表并根据第二片段位置信息设置第二流表的描述信息,以使得转发实体按照第二片段位置信息从报文中提取第二片段,并在第二片段与第二关键字匹配时对报文执行第二指令序列。
结合第三方面及其上述实现方式,在第三方面的另一实现方式中,控制实体还包括接收单元,用于接收转发实体发送的配置请求;生成单元具体用于在接收单元接收到配置请求时,生成第一配置信息。
结合第三方面及其上述实现方式,在第三方面的另一实现方式中,接收单元接收的配置请求包括转发实体发送的报文和/或转发实体的能力信息。
结合第三方面及其上述实现方式,在第三方面的另一实现方式中,第一片段位置信息包括起点信息和长度信息。
结合第三方面及其上述实现方式,在第三方面的另一实现方式中,第一指令序列包括依次执行的至少两条指令。
第四方面,提供了一种数据中心的转发实体,包括:接收单元,用于接收控制实体发送的第一配置信息,第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列;设置单元,用于根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以按照第一片段位置信息从转发实体接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
结合第四方面,在第四方面的另一实现方式中,第一指令序列包括跳转指令,跳转指令用于指示转发实体跳转到第二流表,接收单元还用于接收控制实体发送的第二配置信息,第二配置信息包括第二片段位置信息、第二关键字和对应于第二关键字的第二指令序列,设置单元还用于根据第二关键字和第二指令序列设置第二流表,并根据第二片段位置信息设置第二流表的描述信息,以在执行第一指令序列所包括的跳转指令时,按照第二片段位置信息从报文中提取第二片段,并在第二片段与第二关键字匹配时对报文执行第二指令序列。
结合第四方面及其上述实现方式,在第四方面的另一实现方式中,转发实体还包括发送单元,用于向控制实体发送配置请求。
结合第四方面及其上述实现方式,在第四方面的另一实现方式中,发送单元发送的配置请求包括转发实体发送的报文和/或转发实体的能力信息。
结合第四方面及其上述实现方式,在第四方面的另一实现方式中,第一片段位置信息包括起点信息和长度信息。
结合第四方面及其上述实现方式,在第四方面的另一实现方式中,该转发实体包括以下至少一种:互联网关、接入网关、核心交换机、机架交换机、服务器中的虚拟交换机以及服务器中的网卡的交换功能模块。
结合第四方面及其上述实现方式,在第四方面的另一实现方式中,第一指令序列包括依次执行的至少两条指令。
第五方面,提供了一种数据中心,包括上述控制实体和上述转发实体。
本发明实施例中,数据中心中的控制实体配置转发实体按照片段位置信息提取报文片段,并在报文片段和控制实体配置的关键字匹配时执行对应的指令序列,这样能够支持协议无关的转发实体,从而在数据中心中部署新的网络协议时容易地实现数据中心的配置。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例可应用的数据中心的示意架构图。
图2是本发明一个实施例的数据中心的配置方法的流程图。
图3是本发明另一实施例的数据中心的配置方法的流程图。
图4是本发明一个实施例的数据中心的控制实体的框图。
图5是本发明一个实施例的数据中心的转发实体的框图。
图6是本发明另一实施例的控制实体的框图。
图7是本发明另一实施例的转发实体的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例可应用的数据中心的示意架构图。图1描绘了两个互联的数据中心110和120。每个数据中心110或120可以支持一种或多种网络协议,如FCoE、TRILL、SPB、NVGRE、FabricPath、QFabric和VXLAN等。虽然图1仅仅描绘了两个数据中心的例子,但本发明实施例可以应用的数据中心的数目不受限制,例如可以仅仅应用于一个数据中心内部的各种通信设备,也可以应用于三个或更多个数据中心。
数据中心110包括控制实体111和转发实体112-116。控制实体也可以称为控制器。具体地,转发实体112可以是互联网关,用于与其他数据中心(例如图1的数据中心120)连接。转发实体113可以是接入网关,用于接入数据中心110外部的网络,如因特网(Internet)或其他类型的广域网。转发实体114可以是核心交换机(core switch),与互联网关112和接入网关113分别连接。转发实体115可以是机架(TOR,Top of Rack)交换机,与核心交换机114连接。转发实体116可以是服务器中的虚拟交换机(vSwitch),控制服务器上的一个或多个虚拟机(Virtual Machine,VM)的交换操作;在一个替代实施例中,如果服务器中的网卡具有交换功能模块,转发实体116也可以是服务器中的网卡的交换功能模块。
虽然图1中为了简洁的目的而仅仅描绘了一个核心交换机114、一个TOR交换机115和一个虚拟交换机(或网卡的交换功能模块)116,但本发明实施例对这些转发实体的数目不做限制,通常,每个接入网关113可以与一个或多个核心交换机114连接,每个核心交换机114可以与一个或多个TOR交换机115连接,数据中心110的每个服务器可以具有一个或多个虚拟交换机(或网卡的交换功能模块)116。
转发实体112-116均受到控制实体111的控制。具体地,转发实体112-116由控制实体111配置,并且控制实体111的配置是协议无关的。
数据中心120包括物理上分离的控制实体121和转发实体122-126。具体地,转发实体122可以是互联网关,用于与其他数据中心(例如图1的数据中心110)连接。转发实体123可以是接入网关,用于接入数据中心外部的网络,如因特网(Internet)或其他类型的广域网。转发实体124可以是核心交换机(core switch),与互联网关122和接入网关123分别连接。转发实体125可以是TOR交换机,与核心交换机124连接。转发实体126可以是服务器中的虚拟交换机(vSwitch),控制服务器上的一个或多个虚拟机(Virtual Machine,VM)的交换操作;在一个替代实施例中,如果服务器中的网卡(Network Interface Card,NIC)具有交换功能模块,转发实体126也可以是服务器中的网卡的交换功能模块。
虽然图1中为了简洁的目的而仅仅描绘了一个核心交换机124、一个TOR交换机125和一个虚拟交换机(或网卡的交换功能模块)126,但本发明实施例对这些转发实体的数目不做限制,通常,每个接入网关123可以与一个或多个核心交换机124连接,每个核心交换机124可以与一个或多个TOR交换机125连接,数据中心120的每个服务器可以具有一个或多个虚拟交换机(或网卡的交换功能模块)126。
转发实体122-126均受到控制实体121的控制。具体地,转发实体122-126的报文操作由控制实体121配置,并且控制实体121的配置是协议无关的。换句话说,控制实体121给转发实体122-126配置标准化后的统一指令。这样的统一指令是协议无关的,因此转发实体122-126也无需关心所接收到的报文的协议类型,只需按照控制实体121配置的报文操作指令来处理该报文即可。
这样,图1提供了一种完全自动化和虚拟化的数据中心,可以称为协议动态适配(Protocol Dynamic Adaption)的数据中心。这种数据中心网络架构可以动态修改以适应新增通信协议需求并能与保持与旧通信协议的兼容,实现各种数据中心网络协议的统一。例如,当需要对数据中心的现有协议进行升级或替换为新的协议,或者需要增加新的协议时,控制实体111或121可以自动配置转发实体112-116或122-126的报文操作指令,而不必更换转发实体的硬件和软件,更容易地实现了数据中心的协议更新。
图2是本发明一个实施例的数据中心的配置方法的流程图。图2的方法可以由图1的控制实体111或121执行。
201,控制实体生成第一配置信息。第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列。
202,控制实体将第一配置信息发送给转发实体。第一配置信息用于配置转发实体根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以使得转发实体按照第一片段位置信息从转发实体接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
本发明实施例中,数据中心中的控制实体配置转发实体按照片段位置信息提取报文片段,并在报文片段和控制实体配置的关键字匹配时执行对应的指令序列,这样能够支持协议无关的转发实体,从而在数据中心中部署新的网络协议时容易地实现数据中心的配置。
另外,由于转发实体是协议无关的,能够更容易地实现异构数据中心的互通。
具体地,协议相关的转发实体需要识别报文的协议类型,然后根据报文所属协议所规定的报文格式,从报文中提取特定内容从而执行对应的指令。换句话说,协议相关的转发实体需要理解所提取的特定内容的语义,例如目的地址、源地址、三元组或五元组等。并且,在进行配置时,控制实体需要将上述特定内容的语义告知转发实体,转发实体只能按照语义去提取相应字段,这样不同协议下的配置信息的格式和内容是不同的。本发明实施例的转发实体不需要识别报文类型和报文格式,只需要按照控制实体对报文片段位置的配置从报文中提取片段,而无需理解所提取的片段的语义。并且,在本发明实施例中,不同协议下的配置过程都是相同的,即转发实体接收到的配置信息都包含类似的片段位置信息、关键字和对应的指令序列,因此本发明实施例实现了协议无关的转发实体。
片段位置信息用于表示特定报文片段在报文中的位置。可选地,在一个实施例中,片段位置信息可包括起点信息和长度信息,其中起点信息表示片段在报文中的起始位置,长度信息可以表示该片段的长度,起点和长度的单位可以是字节(byte)等。这种片段位置信息适用于协议无关场景,转发实体不需要识别所接收报文的协议类型和报文格式,也能够按照片段位置信息来提取报文中的有用信息。本发明实施例对片段位置信息的具体形式不作限制,例如,除了上述起点和长度方式之外,片段位置信息也可以是片段在报文中的起点和终点,或者终点和长度等。
关键字用于与转发实体所提取的片段进行匹配。当片段和关键字匹配时,转发实体执行该关键字对应的指令序列。
指令序列可包括至少一条指令,每条指令用于定义一种报文操作。例如,报文操作按类型可以分为查找、报文处理(增、删、改报文内容,提取信息、报文协议类型转换、封装、解封装,加密、解密,压缩、解压缩等)、限速、转发、丢弃等。
当指令序列包括多条指令时,转发实体可以按照顺序依次执行该多条指令。这样可以实现业务链(Service Chain)的灵活组合。例如,如果需要对同一特定业务的报文依次执行广域网(WAN,Wide Area Network)加速处理、下一代防火墙(NGFW,Next generationfirewall)处理、虚拟专用网络(VPN,Virtual Private Network)网关处理和负载均衡处理,按照现有的数据中心架构,需要物理上分离的四个转发实体串行地执行上述业务链,但是按照本发明实施例,可以在一个转发实体上配置上述四种处理的指令并要求该转发实体串行地执行这些指令。这样在一个转发实体设备内部完成业务串接,能够满足高性能、多业务和多租户的需求,而且业务链在转发实体一次完成转发,能够提高了转发效率和性能。
具体地,转发实体在设置了第一流表和第一流表的描述信息之后,当接收到新的报文时,转发实体可从第一流表的描述信息中获取第一片段位置信息,从而根据第一片段位置信息提取报文的第一片段,然后根据第一片段查找第二流表,执行与第一片段相匹配的第一关键字的对应指令序列。
这里,流表的设置包括在没有该流表的情况下建立流表,以及在已经存在该流表的情况下更新该流表;流表的描述信息的设置包括在没有该描述信息的情况下建立描述信息,以及在已经存在该描述信息的情况下更新该流表描述信息。
可选地,作为另一实施例,第一指令序列包括跳转指令,跳转指令用于指示转发实体跳转到第二流表。控制实体还可以生成第二配置信息并向转发实体发送第二配置信息。第二配置信息包括第二片段位置信息、第二关键字和对应于第二关键字的第二指令序列。第二配置信息用于配置转发实体根据第二关键字和第二指令序列设置第二流表并根据第二片段位置信息设置第二流表的描述信息,以使得转发实体在执行跳转指令时,按照第二片段位置信息从报文中提取第二片段并在第二片段与第二关键字匹配时对报文执行第二指令序列。
可选地,跳转指令可包括用于确定第二流表的信息,如第二流表的表标识或第二流表的存储位置。或者可选地,跳转指令也可以包括第二流表的描述信息。以跳转指令包括第二流表的表标识的情况为例,转发实体可根据第二流表的表标识获取第二流表的描述信息,然后从第二流表的描述信息获取第二片段位置信息,从而根据第二片段位置信息从报文中提取第二片段,并根据第二片段查找第二流表,执行与第一片段相匹配的第一关键字的对应指令序列。
这样可以使得转发实体的报文操作配置更加灵活。
应注意,上述第一关键字或第二关键字的语义不必是单一的。例如,第一关键字可以仅表示目的地址,也可以同时表示目的地址和源地址这两者,等等。控制实体可以根据配置需求来组合这些语义作为关键字,但是转发实体不需要理解该语义。相应的,转发实体所提取的第一片段或第二片段不必是报文中的连续字节,例如第一片段可以是报文中从第k字节开始的连续L个字节(此时的第一片段位置信息可以包括k和L的数值,其中k和L是正整数),也可以是从k1字节开始的L1个字节加上从k2个字节开始的L2个字节(此时的第一片段位置信息可以包括k1、L1、k2和L2的数值,其中k1、L1、k2和L2是正整数,且k1+L1<k2)等。
另外,本发明实施例对第一配置信息和第二配置信息的发送方式不作限制。例如,可以将第一配置信息和第二配置信息承载在一条消息中发送给转发实体,也可以通过不同的消息分别发送给转发实体。再例如,第一配置信息中包含的各种信息可以承载在同一条消息中发送给转发实体,也可以通过不同的消息分别发送给转发实体。
下面以VXLAN报文的处理流程为例。首先由控制实体定义VXLAN报文转发过程。VXLAN转发过程可包括VXLAN报文修改、查表、报文转发处理、丢弃处理等操作。VXLAN报文转发过程定义好后,控制实体将已定义好的指令集和根据业务需要生成的关键字组合为配置信息,下发给转发实体。转发实体按照配置的指令对报文进行操作,这样就实现了对VXLAN报文的处理。表1是第一关键字和对应的第一指令序列的组合的示例。
表1
同时,控制实体还在第一配置信息中配置转发实体提取第一片段的方式。以起点和长度表示片段位置为例,假设起点信息的数值为k,长度的数值为L,即控制实体配置转发实体提取所接收的报文中从第k个字节开始的L个字节。转发实体将所提取的L个字节长的第一片段与表1中的第一关键字进行匹配,以确定应该对该报文执行何种操作。
假设转发实体所提取的第一片段的语义是目的地址,按照表1配置的转发实体,在接收到目的地址为10.1.1.*(*代表0-255中的任一个数)的报文时,将丢弃该报文。在接收到目的地址为192.168.*.*的报文时,将对该报文执行相应的报文处理,如TTL-1(生存时间,Time to live)处理,然后转发处理后的报文。在接收到目的地址为10.8.*.*的报文时,将对该报文执行相应的报文处理,如TTL-1处理,然后限速并转发处理后的报文。
另外,在接收到目的地址为10.9.*.*的报文时,将对该报文执行相应的报文处理,如TTL-1处理,然后执行跳转指令。该跳转指令中,指示转发实体跳转至表2对该报文继续处理。表2包括第二关键字和对应于第二关键字的第二指令序列。这里假设第二关键字的语义是源地址。
表2
结合表1和表2可以看到,对于目的地址为10.9.*.*且源地址为10.10.*.*的报文,转发实体将在TTL-1处理后进行限速并转发,而对于目的地址为10.9.*.*且源地址为10.10.*.*的报文,转发实体将在TTL-1处理后直接转发。
如果还需要根据其他关键字/片段进行进一步的处理,表2中也可以包含跳转指令,以此类推。这样转发实体的报文操作更加灵活。
在步骤201中,当控制实体在生成配置信息时,即当控制实体在确定片段位置信息、关键字以及关键字的对应指令序列时,控制实体可以综合考虑转发实体的能力、当前业务的信息和/或相应协议的规定。
本发明实施例对控制实体生成配置信息的时机不做限制。可选地,作为一个实施例,在步骤201中,控制实体可以在接收到转发实体发送的配置请求时,生成第一配置信息。
可选地,配置请求可包括转发实体发送的报文和/或转发实体的能力信息。
例如,转发实体的能力信息可以包括该转发实体的属性(如互联网关、核心网关、各种交换机等)、硬件参数(如容量、处理器规格等)、报文操作支持类型、硬件版本或其他信息。
控制实体在生成配置信息时,还可以考虑转发实体上处理的业务的业务信息。例如,根据数据中心用户的需求,某个转发实体可能专用于某项业务。当该转发实体具有该业务的业务信息,如该业务的类型、该业务的协议信息(协议类型或版本号等)、描述信息或其他业务需求信息等,可以将该业务信息上报给控制实体,以便控制实体在生成配置信息时使用。
这样,控制实体可以实现转发实体的按需配置。换句话说,控制实体能够给转发实体配置符合其能力或业务情况的指令,上述配置过程可以在转发实体的首次配置过程中执行,也可以在转发实体的功能需要更新时执行。
另外,可以实现转发实体的实时配置,保证业务报文的及时处理。例如,当转发实体接收到某个报文但不能确定如何处理该报文时,可以将该报文转交给控制实体,由控制实体确定应该如何对该报文进行处理。控制实体处记录有更完整的各种协议的报文处理方式,因此有可能识别出该报文的协议类型并确定如何处理该报文。然后控制实体根据识别的结果来配置转发实体,使得转发实体能够处理该报文以及后续的相同类型的其他报文。
可选地,如果控制实体也不能确定如何处理该报文,则控制实体可以丢弃该报文。另外可选地,控制实体可以通知转发实体丢弃该报文;或者,控制实体可以不给转发实体任何通知,转发实体在某一计时器期满时丢弃该报文。
或者,控制实体可以在觉得有必要时,自动对转发实体进行配置,而无需在转发实体上报配置请求之后再进行配置。例如,当控制实体发现数据中心的网络协议需要更新时,在对更新后的网络协议标准化之后,自动对转发实体进行配置。
图3是本发明另一实施例的数据中心的配置方法的流程图。图3的方法可以由图1的转发实体112-116或122-126执行。图3的方法与图2的方法相对应,因此将适当省略重复的描述。
301,转发实体接收控制实体发送的第一配置信息。第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列。
302,转发实体根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以便按照第一片段位置信息从转发实体接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
本发明实施例中,数据中心中的控制实体配置转发实体按照片段位置信息提取报文片段,并在报文片段和控制实体配置的关键字匹配时执行对应的指令序列,这样能够支持协议无关的转发实体,从而在数据中心中部署新的网络协议时容易地实现数据中心的配置。
另外,由于转发实体是协议无关的,能够更容易地实现异构数据中心的互通。
可选地,作为一个实施例,第一指令序列可包括跳转指令,跳转指令用于指示所述转发实体跳转到第二流表,例如表1最后一行所示。此时,转发实体还可以接收控制实体发送的第二配置信息。第二配置信息包括第二片段位置信息、第二关键字和对应于第二关键字的第二指令序列。然后,转发实体根据关键字和所述第二指令序列设置第二流表,并根据所述第二片段位置信息设置所述第二流表的描述信息,以在执行第一指令序列所包括的跳转指令时,按照第二片段位置信息从报文中提取第二片段,并在第二片段与第二关键字匹配时对报文执行第二指令序列,例如表2所示。这样,可以容易地实现转发实体的灵活配置。
可选地,作为另一实施例,在步骤301之前,转发实体还可以向控制实体发送配置请求。可选地,配置请求可包括转发实体发送的报文和/或转发实体的能力信息。这样,可以实现转发实体的按需配置或实时配置。
可选地,作为另一实施例,片段位置信息可包括起点信息和长度信息。片段位置信息用于表示转发实体从报文中提取报文片段的位置,本发明实施例对片段位置信息的具体类型不做限制,例如也可以包括起点信息和终点信息,或者包括终点信息和长度信息等。
可选地,作为另一实施例,指令序列可包括依次执行的多条指令。这样可以实现业务链(Service Chain)的灵活组合。并且,在一个转发实体设备内部完成业务串接,能够满足高性能、多业务和多租户的需求,而且业务链在数据面一次完成转发,能够提高了转发效率和性能。
图4是本发明一个实施例的数据中心的控制实体的框图。图4的控制实体40的例子是图1中的控制实体111和121,可包括生成单元41和发送单元42。
生成单元41用于生成第一配置信息。第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列。
发送单元42用于将生成单元41生成的第一配置信息发送给数据中心的转发实体。第一配置信息用于配置转发实体根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以使得转发实体按照第一片段位置信息从转发实体接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
本发明实施例中,数据中心中的控制实体配置转发实体按照片段位置信息提取报文片段,并在报文片段和控制实体配置的关键字匹配时执行对应的指令序列,这样能够支持协议无关的转发实体,从而在数据中心中部署新的网络协议时容易地实现数据中心的配置。
另外,由于转发实体是协议无关的,能够更容易地实现异构数据中心的互通。
图4的控制实体40可以实现图2的方法的各个过程,为避免重复,不再详细描述。
可选地,作为一个实施例,第一指令序列可包括跳转指令,跳转指令用于指示转发实体跳转到第二流表。生成单元41还用于生成第二配置信息,发送单元42还用于向转发实体发送生成单元41生成的第二配置信息。第二配置信息可包括第二片段位置信息、第二关键字和对应于第二关键字的第二指令序列。
第二配置信息用于配置转发实体根据第二关键字和第二指令序列设置第二流表并根据第二片段位置信息设置第二流表的描述信息,以便转发实体在执行第一指令序列中的跳转指令时按照第二片段位置信息从报文中提取第二片段,并在第二片段与第二关键字匹配时对报文执行第二指令序列。这样,可以容易地实现转发实体的灵活配置。
可选地,作为另一实施例,控制实体40还可以包括接收单元43,用于接收转发实体发送的配置请求。此时,生成单元41可以在接收单元43接收到配置请求时,生成第一配置信息。这样,可以实现转发实体的按需配置或实时配置。
可选地,作为另一实施例,接收单元43接收的配置请求可包括转发实体发送的报文和/或转发实体的能力信息。
可选地,作为另一实施例,片段位置信息可包括起点信息和长度信息。片段位置信息用于表示转发实体从报文中提取报文片段的位置,本发明实施例对片段位置信息的具体类型不做限制,例如也可以包括起点信息和终点信息,或者包括终点信息和长度信息等。
可选地,作为另一实施例,指令序列可包括依次执行的多条指令。这样可以实现业务链(Service Chain)的灵活组合。并且,在一个转发实体设备内部完成业务串接,能够满足高性能、多业务和多租户的需求,而且业务链在数据面一次完成转发,能够提高了转发效率和性能。
图5是本发明一个实施例的数据中心的转发实体的框图。图5的转发实体50的例子是图1中的转发实体112-116和122-126,可包括接收单元51和设置单元52。
接收单元51接收控制实体发送的第一配置信息。第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列。
设置单元52用于根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以按照第一片段位置信息从接收单元51接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
本发明实施例中,数据中心中的控制实体配置转发实体按照片段位置信息提取报文片段,并在报文片段和控制实体配置的关键字匹配时执行对应的指令序列,这样能够支持协议无关的转发实体,从而在数据中心中部署新的网络协议时容易地实现数据中心的配置。
另外,由于转发实体是协议无关的,能够更容易地实现异构数据中心的互通。
图5的转发实体50可以实现图3的方法的各个过程,为避免重复,不再详细描述。
可选地,作为一个实施例,第一指令序列可包括跳转指令。跳转指令跳转指令用于指示转发实体50跳转到第二流表。
接收单元51还可以接收控制实体发送的第二配置信息。第二配置信息包括第二关键字和对应于第二关键字的第二指令序列。
设置单元52还可以根据第二关键字和第二指令序列设置第二流表,并根据第二片段位置信息设置第二流表的描述信息,以在执行第一指令序列所包括的跳转指令时,按照第二片段位置信息从报文中提取第二片段,并在第二片段与第二关键字匹配时对报文执行第二指令序列。
这样,可以容易地实现转发实体的灵活配置。
可选地,作为另一实施例,转发实体50还可以包括发送单元53,用于向控制实体发送配置请求。这样,可以实现转发实体的按需配置或实时配置。
可选地,作为另一实施例,发送单元53发送的配置请求可包括转发实体发送的报文和/或转发实体的能力信息。
可选地,作为另一实施例,片段位置信息可包括起点信息和长度信息。片段位置信息用于表示转发实体从报文中提取报文片段的位置,本发明实施例对片段位置信息的具体类型不做限制,例如也可以包括起点信息和终点信息,或者包括终点信息和长度信息等。
可选地,作为另一实施例,指令序列可包括依次执行的多条指令。这样可以实现业务链(Service Chain)的灵活组合。并且,在一个转发实体设备内部完成业务串接,能够满足高性能、多业务和多租户的需求,而且业务链在数据面一次完成转发,能够提高了转发效率和性能。
本发明实施例对转发实体50的具体实现形式或位置不做限制。例如,转发实体可包括以下中的至少一种:互联网关、接入网关、核心交换机、TOR交换机、服务器中的虚拟交换机以及服务器中的网卡的交换功能模块。转发实体也可以是数据中心中具有转发功能的其他设备或模块。
换句话说,本发明实施例的数据中心内部的各种设备(如服务器、存储设备和网络设备等)采用大规模二层互联方式,从而控制层的实体可以直接配置转发层的任何实体。这种架构的带宽高,时延低,可扩展性高。协议动态适配数据中心的运维者可方便地在内部配置各种新老协议,同时支持平滑升级并兼容老设备。本发明实施例的协议动态适配的转发机制向用户提供完全的扩展和可编程能力,这种架构便于数据中心的统一管理、统一控制。例如,当控制实体能够直接配置服务器上的虚拟交换机vSwitch或网卡的交换功能模块时,本发明实施例能够满足服务器上的虚拟机的任意部署、互通、热迁移、跨站点迁移、多站点选路等众多需求。
数据中心架构设计目前可以分为两大模式:CT模式和IT模式。CT模式的核心思路是虚拟网络边缘在交换机,服务器对虚拟网络不感知。由交换机负责虚拟机的寻址和路由。通过改造物理交换机解决STP低效率问题,扩展租户识别字段,负责为不同租户建立不同的虚拟网络。改造后的网络需要感知虚拟机,并维护虚拟机和虚拟网络的映射关系,所以CT模式方案是网络和服务器耦合的方案,优点是网络技术可以继承长期的积累。IT模式的核心思路是虚拟网络边缘在服务器,交换机对虚拟网络不感知。由服务器自己负责虚拟机的寻址和路由,交换机网络提供IP透明管道。IT模式方案服务器和交换机网络解耦,业务部署较为灵活。但是IT服务器要记录对端主机路由,尤其对于广播组播应用,可扩展性可能有问题。
本发明实施例的协议动态适配数据中心架构是CT模式和IT模式组网设计的融合。由于转发实体只含有标准化的指令,控制实体负责配置转发流程及进行业务部署,所以协议动态适配数据中心架构内部网络层可以任意改变虚拟网络的边缘位置,即协议动态适配数据中心架构内部网络层的边缘可以在交换机,也可在服务器的vSwitch、NIC(即控制实体可以控制服务器中的vSwitch和NIC),这样既可以发挥CT模式网络技术继承上的优势,保护用户投资,也可以保留IT模式业务部署灵活的特点。
下面举例说明本发明实施例中转发实体的实例。
作为一个实例,转发实体为接入网关。一般而言,接入网关的设计功能可包括:WAN加速、数据压缩、重复数据消除、传输控制协议(Transmission Control Protocol,TCP)加速、网络(Web)应用加速;冗余数据消除(Data redundancy elimination,DRE);WAN加速多租户虚拟化、WAN加速大容量(10Gbps);VPN网关、安全套接层/因特网协议安全性(SecureSockets Layer/Internet Protocol Security,SSL/IPSec)隧道、SSL卸载、海量VPN(IPSec/100K级别、SSL-VPN/M级别);防火墙(NGFW)性能:能够实现基于虚拟机(VirtualMachine,VM)安全域划分并感知VM的增加和迁移;负载均衡功能设计:全局服务器负载均衡(Global Server Load Balance,GSLB)支持L4-L7层负载均衡、局域网服务器负载均衡(Server Load Balance,SLB)支持多租户虚拟化和虚拟设备(Appliance)。
本发明实施例的协议动态适配的数据中心可利用负载均衡、WAN加速、安全、VPN等功能组成的业务链(Service Chain)。通过业务链的灵活组合,在单个接入网关设备内部完成业务串接,满足高性能、多业务和多租户的需求。这样,业务链在数据层面一次完成转发,大大提高了转发效率和性能。
作为另一实例,转发实体为互联网关。由于目前存在各种异构数据中心,例如某运营商,同时存在TRILL方案数据中心、VXLAN方案数据中心。异构数据中心产生的原因,一是由于不同运营主体的数据中心互联而产生。例如:如某运营商要和一些厂商(如Amazon、Google)的数据中心进行互联。他们的数据中心内部网络选择了不同的网络协议。二是由于数据中心建设时期不同,后期数据中心采用的技术和前期不同。
当前由于异构数据中心互联方案由于协议种类繁多,导致标准化、实际部署过程持续周期较长,而本发明实施例的协议动态适配数据中心架构具备足够的灵活性,从而能够快速应对协议变化,支持异构数据中心之间的互联,能够完成对各种数据中心网络协议的转换。本发明实施例的协议动态适配的数据中心的互联网关可以实现对数据中心分层分域管理。本发明实施例的协议动态适配的数据中心互联网关可以部署在本端数据中心与互联网之间。以本端数据中心使用VxLAN/NVGRE协议而对端数据中心使用TRILL/SPB协议的情况为例。本端数据中心的互联网关首先把内部的VXLAN/NVGRE隧道终结,解封装转化成以太网(Ethernet)报文,然后通过虚拟专用局域网业务(Virtual Private LAN Service,VPLS)运营商边缘(Provider Edge,PE)进入VPLS,到达对端数据中心的VPLS PE,经过多协议标签交换(Multi-Protocol Label Switching,MPLS)隧道转发出来的Ethernet报文经过对端数据中心的互联网关进行TRILL/SPB封装进入对端数据中心。
本发明实施例的协议动态适配的数据中心的互联网关可以识别租户,进行出口带宽控制,也可以识别虚拟机的位置,并将流量引导至目标虚拟机。这样,本发明实施例能够容易地支持异构数据中心之间的互通。
图6是本发明另一实施例的控制实体的框图。图6的控制实体60的例子是图1中的控制实体111和121,可包括:总线64;以及连接到总线64的处理器61、存储器62和接口63,其中该接口63用于输入和/或输出数据;该存储器62用于存储指令,该处理器61用于执行存储器62所存储的指令。
具体地,处理器61用于执行存储器62存储的指令以生成第一配置信息。第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列。
接口63用于将处理器61生成的第一配置信息发送给数据中心的转发实体。第一配置信息用于配置转发实体根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以使得转发实体按照第一片段位置信息从转发实体接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
本发明实施例中,数据中心中的控制实体配置转发实体按照片段位置信息提取报文片段,并在报文片段和控制实体配置的关键字匹配时执行对应的指令序列,这样能够支持协议无关的转发实体,从而在数据中心中部署新的网络协议时容易地实现数据中心的配置。
另外,由于转发实体是协议无关的,能够更容易地实现异构数据中心的互通。
图6的控制实体60可以实现图2的方法的各个过程,为避免重复,不再详细描述。
可选地,作为一个实施例,处理器61还用于执行存储器62存储的指令以用于生成第二配置信息,接口63还用于向转发实体发送处理器61生成的第二配置信息。第二配置信息包括第二片段位置信息、第二关键字和对应于第二关键字的第二指令序列。
在此情况下,第一指令序列可包括跳转指令。跳转指令用于指示转发实体跳转到第二流表。第二配置信息用于配置转发实体根据第二关键字和第二指令序列设置第二流表并根据第二片段位置信息设置第二流表的描述信息,以在执行第一指令序列中的跳转指令时按照第二片段位置信息从报文中提取第二片段,并在第二片段与第二关键字匹配时对报文执行第二指令序列。这样,可以容易地实现转发实体的灵活配置。
可选地,作为另一实施例,接口63还用于接收转发实体发送的配置请求。此时,处理器61还用于执行存储器62存储的指令以在接口63接收到配置请求时,生成第一配置信息。这样,可以实现转发实体的按需配置或实时配置。
可选地,作为另一实施例,接口63接收的配置请求可包括转发实体发送的报文和/或转发实体的能力信息。
可选地,作为另一实施例,片段位置信息可包括起点信息和长度信息。片段位置信息用于表示转发实体从报文中提取报文片段的位置,本发明实施例对片段位置信息的具体类型不做限制,例如也可以包括起点信息和终点信息,或者包括终点信息和长度信息等。
可选地,作为另一实施例,指令序列可包括依次执行的多条指令。这样可以实现业务链(Service Chain)的灵活组合。并且,在一个转发实体设备内部完成业务串接,能够满足高性能、多业务和多租户的需求,而且业务链在数据面一次完成转发,能够提高了转发效率和性能。
图7是本发明另一实施例的转发实体的框图。图7的转发实体70的例子是图1中的转发实体112-116和122-126,可包括:总线74;以及连接到总线74的处理器71、存储器72和接口73,其中该接口73用于输入和/或输出数据;该存储器72用于存储指令,该处理器71用于执行存储器72所存储的指令。
具体地,接口73用于接收控制实体发送的第一配置信息。第一配置信息包括第一片段位置信息、第一关键字和对应于第一关键字的第一指令序列。
处理器71用于执行存储器72存储的指令以根据第一关键字和第一指令序列设置第一流表并根据第一片段位置信息设置第一流表的描述信息,以便按照第一片段位置信息从转发实体接收的报文中提取第一片段,并在第一片段与第一关键字匹配时对报文执行第一指令序列。
本发明实施例中,数据中心中的控制实体配置转发实体按照片段位置信息提取报文片段,并在报文片段和控制实体配置的关键字匹配时执行对应的指令序列,这样能够支持协议无关的转发实体,从而在数据中心中部署新的网络协议时容易地实现数据中心的配置。
另外,由于转发实体是协议无关的,能够更容易地实现异构数据中心的互通。
图7的转发实体70可以实现图3的方法的各个过程,为避免重复,不再详细描述。
可选地,作为一个实施例,第一指令序列可包括跳转指令。跳转指令用于指示转发实体跳转到第二流表。
接口73还可以接收控制实体发送的第二配置信息。第二配置信息包括第二片段位置信息、第二关键字和对应于第二关键字的第二指令序列。
处理器71还用于执行存储器72存储的指令以根据第二关键字和第二指令序列设置第二流表,并根据第二片段位置信息设置第二流表的描述信息,以在执行第一指令序列所包括的跳转指令时,按照第二片段位置信息从报文中提取第二片段,并在第二片段与第二关键字匹配时对报文执行第二指令序列。
这样,可以容易地实现转发实体的灵活配置。
可选地,作为另一实施例,接口73还用于向控制实体发送配置请求。这样,可以实现转发实体的按需配置或实时配置。
可选地,作为另一实施例,接口73发送的配置请求可包括转发实体发送的报文和/或转发实体的能力信息。
可选地,作为另一实施例,片段位置信息可包括起点信息和长度信息。片段位置信息用于表示转发实体从报文中提取报文片段的位置,本发明实施例对片段位置信息的具体类型不做限制,例如也可以包括起点信息和终点信息,或者包括终点信息和长度信息等。
可选地,作为另一实施例,指令序列可包括依次执行的多条指令。这样可以实现业务链(Service Chain)的灵活组合。并且,在一个转发实体设备内部完成业务串接,能够满足高性能、多业务和多租户的需求,而且业务链在数据面一次完成转发,能够提高了转发效率和性能。
本发明实施例对转发实体70的具体实现形式或位置不做限制。例如,转发实体可包括以下中的至少一种:互联网关、接入网关、核心交换机、TOR交换机、服务器中的虚拟交换机以及服务器中的网卡的交换功能模块。转发实体也可以是数据中心中具有转发功能的其他设备或模块。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种数据中心的配置方法,其特征在于,所述数据中心包括分离的控制实体和转发实体,所述配置方法包括:
所述控制实体在接收到所述转发实体发送的配置请求时,控制实体生成第一配置信息,所述配置请求包括所述转发实体发送的报文和/或所述转发实体的能力信息,所述第一配置信息包括第一片段位置信息、第一关键字和对应于所述第一关键字的第一指令序列;
所述控制实体将所述第一配置信息发送给所述转发实体,所述第一配置信息用于配置所述转发实体根据所述第一关键字和所述第一指令序列设置第一流表并根据所述第一片段位置信息设置所述第一流表的描述信息,以使得所述转发实体按照所述第一片段位置信息从所述转发实体接收的所述报文中提取第一片段并在所述第一片段与所述第一关键字匹配时对所述报文执行所述第一指令序列。
2.如权利要求1所述的配置方法,其特征在于,
所述第一指令序列包括跳转指令,所述跳转指令用于指示所述转发实体跳转到第二流表;
所述配置方法还包括:
所述控制实体生成第二配置信息,所述第二配置信息包括第二片段位置信息、第二关键字和对应于所述第二关键字的第二指令序列;
所述控制实体向所述转发实体发送所述第二配置信息,所述第二配置信息用于配置所述转发实体根据所述第二关键字和所述第二指令序列设置所述第二流表并根据所述第二片段位置信息设置所述第二流表的描述信息,以使得所述转发实体在执行所述第一指令序列所包括的跳转指令时,按照所述第二片段位置信息从所述报文中提取第二片段并在所述第二片段与所述第二关键字匹配时对所述报文执行所述第二指令序列。
3.如权利要求1或2所述的配置方法,其特征在于,所述第一片段位置信息包括起点信息和长度信息。
4.一种数据中心的配置方法,其特征在于,所述数据中心包括分离的控制实体和转发实体,所述配置方法包括:
所述转发实体向所述控制实体发送配置请求,所述配置请求包括所述转发实体发送的所述报文和/或所述转发实体的能力信息;
所述转发实体接收所述控制实体发送的第一配置信息,所述第一配置信息包括第一片段位置信息、第一关键字和对应于所述第一关键字的第一指令序列;
所述转发实体根据所述第一关键字和所述第一指令序列设置第一流表并根据所述第一片段位置信息设置所述第一流表的描述信息,以按照所述第一片段位置信息从所述转发实体接收的报文中提取第一片段,并在所述第一片段与所述第一关键字匹配时对所述报文执行所述第一指令序列。
5.如权利要求4所述的配置方法,其特征在于,所述第一指令序列包括跳转指令,所述跳转指令用于指示所述转发实体跳转到第二流表,所述配置方法还包括:
所述转发实体接收所述控制实体发送的第二配置信息,所述第二配置信息包括第二片段位置信息、第二关键字和对应于所述第二关键字的第二指令序列;
所述转发实体根据所述第二关键字和所述第二指令序列设置第二流表,并根据所述第二片段位置信息设置所述第二流表的描述信息,以在执行所述第一指令序列所包括的跳转指令时,按照所述第二片段位置信息从所述报文中提取第二片段并在所述第二片段与所述第二关键字匹配时对所述报文执行所述第二指令序列。
6.一种数据中心的控制实体,其特征在于,所述控制实体包括:
生成单元,在接收到所述转发实体发送的配置请求时用于生成第一配置信息,所述配置请求包括所述转发实体发送的报文和/或所述转发实体的能力信息,所述第一配置信息包括第一片段位置信息、第一关键字和对应于所述第一关键字的第一指令序列;
发送单元,用于将所述生成单元生成的第一配置信息发送给所述数据中心的转发实体,所述第一配置信息用于配置所述转发实体根据所述第一关键字和所述第一指令序列设置第一流表并根据所述第一片段位置信息设置所述第一流表的描述信息,以使得所述转发实体按照所述第一片段位置信息从所述转发实体接收的所述报文中提取第一片段并在所述第一片段与所述第一关键字匹配时对所述报文执行所述第一指令序列。
7.如权利要求6所述的控制实体,其特征在于,所述第一指令序列包括跳转指令,所述跳转指令用于指示所述转发实体跳转到第二流表;
所述生成单元还用于生成第二配置信息,所述第二配置信息包括第二片段位置信息、第二关键字和对应于所述第二关键字的第二指令序列;
所述发送单元还用于向所述转发实体发送所述生成单元生成的第二配置信息,所述第二配置信息用于配置所述转发实体根据所述第二关键字和所述第二指令序列设置所述第二流表并根据所述第二片段位置信息设置所述第二流表的描述信息,以使得所述转发实体在执行所述第一指令序列所包括的跳转指令时,按照所述第二片段位置信息从所述报文中提取第二报文片段并在所述第二片段与所述第二关键字匹配时对所述报文执行所述第二指令序列。
8.一种数据中心的转发实体,其特征在于,包括:
发送单元,用于向所述控制实体发送配置请求,所述配置请求包括所述转发实体发送的报文和/或所述转发实体的能力信息;
接收单元,用于接收所述控制实体发送的第一配置信息,所述第一配置信息包括第一片段位置信息、第一关键字和对应于所述第一关键字的第一指令序列;
设置单元,用于根据所述第一关键字和所述第一指令序列设置第一流表并根据所述第一片段位置信息设置所述第一流表的描述信息,以按照所述第一片段位置信息从所述转发实体接收的所述报文中提取第一片段并在所述第一片段与所述第一关键字匹配时对所述报文执行所述第一指令序列。
9.如权利要求8所述的转发实体,其特征在于,所述第一指令序列包括跳转指令,所述跳转指令用于指示所述转发实体跳转到第二流表,
所述接收单元还用于接收所述控制实体发送的第二配置信息,所述第二配置信息包括第二片段位置信息、第二关键字和对应于所述第二关键字的第二指令序列,
所述设置单元还用于根据所述第二关键字和所述第二指令序列设置所述第二流表,并根据所述第二片段位置信息设置所述第二流表的描述信息,以在执行所述第一指令序列所包括的跳转指令时,按照所述第二片段位置信息从所述报文中提取第二片段,并在所述第二片段与所述第二关键字匹配时对所述报文执行所述第二指令序列。
10.如权利要求8或9所述的转发实体,其特征在于,所述转发实体包括以下至少一种:互联网关、接入网关、核心交换机、机架交换机、服务器中的虚拟交换机以及服务器中的网卡的交换功能模块。
11.一种数据中心,其特征在于,包括如权利要求6或7所述的控制实体,和如权利要求8-10任一项所述的转发实体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310601878.6A CN104660574B (zh) | 2013-11-22 | 2013-11-22 | 数据中心的配置方法、控制实体和转发实体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310601878.6A CN104660574B (zh) | 2013-11-22 | 2013-11-22 | 数据中心的配置方法、控制实体和转发实体 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104660574A CN104660574A (zh) | 2015-05-27 |
CN104660574B true CN104660574B (zh) | 2018-10-30 |
Family
ID=53251278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310601878.6A Active CN104660574B (zh) | 2013-11-22 | 2013-11-22 | 数据中心的配置方法、控制实体和转发实体 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104660574B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107040441B (zh) * | 2016-02-04 | 2020-01-21 | 华为技术有限公司 | 跨数据中心的数据传输方法、装置及系统 |
CN106130865B (zh) * | 2016-07-07 | 2020-11-27 | 新华三技术有限公司 | 一种终端间的通信方法及装置 |
CN109479028B (zh) * | 2016-08-03 | 2020-09-25 | 华为技术有限公司 | 网络接口卡、计算设备以及数据包处理方法 |
CN109074330B (zh) | 2016-08-03 | 2020-12-08 | 华为技术有限公司 | 网络接口卡、计算设备以及数据包处理方法 |
CN109951370B (zh) * | 2017-12-21 | 2022-07-05 | 博元森禾信息科技(北京)有限公司 | 多大数据中心分层互联互通方法及装置 |
CN107948077B (zh) * | 2018-01-11 | 2021-06-29 | 迈普通信技术股份有限公司 | 一种数据报文的转发方法及装置 |
CN112350866B (zh) * | 2020-11-06 | 2021-12-21 | 北京首都在线科技股份有限公司 | 处理虚拟机网卡配置信息的方法、装置及存储介质 |
CN114866619B (zh) * | 2022-04-29 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 一种异构加速方法、装置、系统及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100466594C (zh) * | 2004-10-09 | 2009-03-04 | 华为技术有限公司 | 一种对报文进行分类处理的方法 |
CN102685008A (zh) * | 2012-05-07 | 2012-09-19 | 西安电子科技大学 | 基于流水线的快速流识别方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7548944B2 (en) * | 2003-07-15 | 2009-06-16 | Intel Corporation | Statistics collection framework for a network processor |
-
2013
- 2013-11-22 CN CN201310601878.6A patent/CN104660574B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100466594C (zh) * | 2004-10-09 | 2009-03-04 | 华为技术有限公司 | 一种对报文进行分类处理的方法 |
CN102685008A (zh) * | 2012-05-07 | 2012-09-19 | 西安电子科技大学 | 基于流水线的快速流识别方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104660574A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104660574B (zh) | 数据中心的配置方法、控制实体和转发实体 | |
US11929945B2 (en) | Managing network traffic in virtual switches based on logical port identifiers | |
US10320664B2 (en) | Cloud overlay for operations administration and management | |
US9602415B2 (en) | Flow based network service insertion | |
JP7432095B2 (ja) | SRv6サービス機能チェーンでパケットを転送する方法、SFF、およびSFデバイス | |
CN106936777B (zh) | 基于OpenFlow的云计算分布式网络实现方法、系统 | |
US9178828B2 (en) | Architecture for agentless service insertion | |
EP2466821B1 (en) | Methods and apparatus for forwarding-state transport in a distributed control plane | |
CN105051688B (zh) | 经扩展的标记联网 | |
JP5991424B2 (ja) | パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム | |
US8718063B2 (en) | Methods and apparatus related to route selection within a network | |
EP2615782A1 (en) | Computer system and communication method in computer system | |
CN104335533B (zh) | 将原始光纤通道端口连接到纯以太网光纤通道存储区域网络的网关设备 | |
US9008080B1 (en) | Systems and methods for controlling switches to monitor network traffic | |
KR20210093312A (ko) | 세분화된 네트워크 엘리먼트를 포함하는 로직 라우터 | |
JP6248938B2 (ja) | 通信システム、仮想ネットワーク管理装置、仮想ネットワークの管理方法及びプログラム | |
EP3069471B1 (en) | Optimized multicast routing in a clos-like network | |
EP3065350B1 (en) | Link discovery method, system and device | |
WO2018111472A1 (en) | System and method for providing a programmable packet classification framework for use in a network device | |
WO2016128834A1 (en) | Method and system for identifying an outgoing interface using openflow protocol | |
CN105991435B (zh) | 用于获取端口路径的方法及装置 | |
JP5860423B2 (ja) | キャリア網仮想化システム及び方法 | |
CN106506315B (zh) | 一种报文转发的透明配置方法 | |
Yamanaka et al. | AutoVFlow: Autonomous virtualization for wide-area OpenFlow networks | |
JP5950019B2 (ja) | 通信システム、統合コントローラ、パケット転送方法及びプログラム |
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 |