CN114448691A - 数据转发方法、数据平面及交换机 - Google Patents
数据转发方法、数据平面及交换机 Download PDFInfo
- Publication number
- CN114448691A CN114448691A CN202210072495.3A CN202210072495A CN114448691A CN 114448691 A CN114448691 A CN 114448691A CN 202210072495 A CN202210072495 A CN 202210072495A CN 114448691 A CN114448691 A CN 114448691A
- Authority
- CN
- China
- Prior art keywords
- data
- message
- forwarding method
- plane
- data 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了数据转发方法、数据平面及交换机,其中,数据转发方法应用于数据平面,数据平面设置多个数据通道,方法包括:接收数据报文;根据获取到的多个用户程序的使用特征信息对数据报文进行分配,得到多个待分配的第一数据报文,其中,使用特征信息用于表征用户程序与编写用户程序的用户的对应关系;对于每个数据通道,向数据通道转发第一数据报文,其中,每个数据通道加载一个用户程序。本发明实施例中,能够在数据平面的特性上实现程序数据的独立性、性能隔绝和资源隔离。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种数据转发方法、数据平面及交换机。
背景技术
随着互联网和云计算技术的快速发展,很多计算机公司都面临着如何高效管理交换机系统的问题。特别对于云计算大型机房的网络管理而言,面对云计算多租户场景的需求,纯粹通过物理设备实现网络隔离和划分则费时费力,因此数据平面和控制平面一体化的交换机应运而生,但是在数据平面运行程序的过程中,由于各个用户不能独立的运行自己的程序,因此,容易造成程序数据的混淆,除此之外,用户共享数据也导致了程序数据的安全性不足,从而引起程序数据泄露等问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一,提供一种数据转发方法、数据平面及交换机,能够在数据平面的特性上实现程序数据的独立性、性能隔绝和资源隔离。
第一方面,本发明提供一种数据转发方法,应用于数据平面,所述数据平面设置多个数据通道,包括:接收数据报文;根据获取到的多个用户程序的使用特征信息对所述数据报文进行分配,得到多个待分配的第一数据报文,其中,所述使用特征信息用于表征所述用户程序与编写所述用户程序的用户的对应关系;对于每个所述数据通道,向所述数据通道转发所述第一数据报文,其中,每个所述数据通道加载一个所述用户程序。
根据本发明实施例提供的数据转发方法,至少有如下有益效果:接收数据平面外部发送的数据报文,并根据获取到的多个用户程序的使用特征信息对数据报文进行分配,并且向数据通道转发待分配的第一数据报文,由于每个数据通道加载一个用户程序,因此能够阻止用户访问其他资源,从而利用数据通道实现报文数据安全隔离,实现程序数据的独立性,达到程序数据的性能隔绝和资源隔离的目的。
根据本发明的一些实施例,所述根据获取到的多个用户程序的使用特征信息对所述数据报文进行分配之前,所述方法还包括:向每个所述用户程序分配对应的资源接口;获取由所述用户程序通过所述资源接口发送的所述使用特征信息,实现各个用户程序的独立运行,避免出现程序数据混淆。
根据本发明的一些实施例,所述使用特征信息携带用户标识信息;所述根据获取到的多个用户程序的使用特征信息对所述数据报文进行分配,得到多个待分配的第一数据报文,包括:对获取到的每个所述使用特征信息携带的所述用户标识信息进行赋值,得到归档参数;根据所述归档参数对所述数据报文进行分配,得到多个待分配的第一数据报文,实现数据报文安全隔离,便于分配第一数据报文。
根据本发明的一些实施例,所述方法还包括:对所述数据报文进行预处理操作,便于数据平面识别操作数据报文。
根据本发明的一些实施例,所述对所述数据报文进行预处理操作,包括:对所述数据报文的头部进行封装操作,实现数据通道对数据报文的识别,从而判断数据报文是否满足用户程序的需求。
根据本发明的一些实施例,所述向所述数据通道转发所述第一数据报文之后,所述方法还包括:对所述第一数据报文进行后端处理,得到第二数据报文;输出所述第二数据报文,便于数据平面输出第二数据报文。
根据本发明的一些实施例,所述对所述第一数据报文进行后端处理,包括:对所述第一数据报文的头部进行移除操作,实现对数据平面的性能隔绝。
根据本发明的一些实施例,所述第二数据报文携带多个字段信息,所述字段信息包括如下类型中的至少一种:第一字段信息,用于表征对所述第二数据报文进行循环处理;第二字段信息,用于表征基于所述第二数据报文与控制平面进行交互,实现数据平面内部的数据报文循环,以及与数据平面外部的交互操作。
第二方面,本发明提供一种数据平面,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序实现如第一方面所述的数据转发方法。
第三方面,本发明提供一种交换机,包括如第二方面所述的数据平面。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一个实施例提供的用于执行数据转发方法的数据平面的示意图;
图2是本发明一个实施例提供的数据转发方法的流程图;
图3是本发明另一实施例提供的数据转发方法的流程图;
图4是本发明另一实施例提供的步骤S200的具体方法流程图;
图5是本发明另一实施例提供的数据转发方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明实施例提供的数据转发方法、数据平面及交换机,数据平面接收数据报文,并且根据获取到的多个用户程序的使用特征信息对数据报文进行分配,避免数据报文同时被两个用户程序处理,并且向数据通道转发待分配的第一数据报文,其中,每个数据通道加载一个用户程序,由于用户程序是资源性能独立的,所以实现用户程序数据的独立性,达到性能隔绝和资源隔离的目的。
下面结合附图,对本发明实施例作进一步阐述。
如图1所示,图1是本发明一个实施例提供的用于执行数据转发方法的数据平面的示意图。
由图可知,数据平面100包括多个数据通道200,比如,数据通道1、数据通道2至数据通道n,其中每个数据通道200加载一个用户程序300,用户程序300的数量与数据通道200的数量相对应,数据平面100接收由外部发送的数据报文,经过预处理操作,发送数据报文给数据通道200,经过数据通道200中用户程序300的处理后,数据通道200发送经过处理的数据报文给数据平面100,数据平面100经过后加工后,将数据报文发送给外部控制平面或者在数据平面100循环数据报文。
如图2所示,图2是本发明一个实施例提供的数据转发方法的流程图,应用于数据平面,数据平面设置多个数据通道,数据转发方法包括但不限于步骤S100至S300。
步骤S100:接收数据报文。
步骤S200:根据获取到的多个用户程序的使用特征信息对数据报文进行分配,得到多个待分配的第一数据报文。
需要说明的是,使用特征信息用于表征用户程序与编写用户程序的用户的对应关系。
在一实施例中,数据平面接收数据平面之外的平面发送的数据报文,根据多个用户程序的使用特征信息对数据报文进行分配,从而得到多个待分配的第一数据报文,便于后续对数据报文的转发。
需要说明的是,数据平面所接收的数据报文可以由控制平面发送,或者由网络管理员进行发送,本实施例不做具体限制。
步骤S300:对于每个数据通道,向数据通道转发第一数据报文。
需要说明的是,每个数据通道加载一个用户程序。
在一实施例中,由于每个数据通道加载一个用户程序,从而实现用户程序的独立性,达到了性能隔绝和资源隔离的目的。
可以理解的是,本实施例中用户程序为P4程序,数据报文可以为数据包、由数据包封装而成的报文信息,还可以为流量信息,本实施例不做具体限制。
如图3所示,图3是本发明另一实施例提供的数据转发方法的流程图,数据转发方法包括但不限于步骤S400至S500。
步骤S400:向每个用户程序分配对应的资源接口。
在一实施例中,给每个用户程序都分配一个对应的资源接口,从而实现了程序资源的独立,避免用户使用超过分配的资源。
步骤S500:获取由用户程序通过资源接口发送的使用特征信息。
在一实施例中,通过资源接口获取由用户程序发送的使用特征信息,便于后续对数据报文进行分配。
如图4所示,图4是本发明实施例提供的步骤S200的具体方法流程图,数据转发方法包括但不限于步骤S210至S220。
步骤S210:对获取到的每个使用特征信息携带的用户标识信息进行赋值,得到归档参数。
需要说明的是,使用特征信息携带用户标识信息。
在一实施例中,数据平面接收报文,通过具有Extern权限的解析器对数据报文的用户标识信息进行赋值,得到归档参数(或称Architer),便于后续步骤对用户程序进行区分。
步骤S220:根据归档参数对数据报文进行分配,得到多个待分配的第一数据报文。
在一实施例中,通过归档参数对数据报文进行分配,将数据报文分配给与之对应的用户程序中,得到多个待分配的第一数据报文,利用标识信息实现数据报文安全隔离,便于分配第一数据报文。
在一实施例中,在接收数据报文之后,数据转发方法还包括:对数据报文进行预处理操作,便于数据平面识别操作数据报文。
在一实施例中,对数据报文进行预处理操作包括:对数据报文的头部进行封装操作,实现数据通道对数据报文的识别,从而判断数据报文是否满足用户程序的需求。
需要说明的是,在数据报文发送给用户程序之前,可以封装具有外部权限的头部,例如:IP/用户数据包协议(User Datagram Protocol,UDP)/虚拟可扩展的局域网(VirtualeXtensible Local Area Network,vxlan)等。
在一实施例中,用户程序中的P4文件可以单独的编译和测试,包含解析、匹配操做单元表、逆解析等步骤,但是每个用户只能观察和操作自己的数据报文,而且对数据报文的操作与它本身的权限相对应。当数据通道需要与控制平面产生抓包信息,例如PacketIn或者PacketOut等消息通讯时,应该在元数据(或称Metadata)中进行标记,在Extern权限的解析器(或称Parser)和逆解析器(或称Deparser)进行操作。
如图5所示,图5是本发明另一实施例提供的数据转发方法的流程图,数据转发方法包括但不限于步骤S600至S700。
步骤S600:对第一数据报文进行后端处理,得到第二数据报文。
步骤S700:输出第二数据报文。
在一实施例中,对第一数据报文进行后端处理,包括对第一数据报文的头部(IP/UDP/vxlan)进行移除操作,得到第二数据报文,其中,第二数据报文携带多个字段信息,输出第二数据报文,实现对数据平面的性能隔绝,阻止用户访问其他资源。
在一实施例中,字段信息包括如下类型中的至少一种:第一字段信息,用于表征对第二数据报文进行循环处理;第二字段信息,用于表征基于第二数据报文与控制平面进行交互,从而实现数据平面内部的数据报文循环,以及与数据平面外部的交互操作。
需要说明的是,第一字段信息可以为Metadata信息或者头部向量信息(或称Header Vector信息)。
在一实施例中,对于数据平面不能决定将数据报文分配给哪一个用户程序的情况,应该交由控制平面进行处理。
此外,本发明的另一个实施例还提供了一种数据平面,该数据平面包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
处理器和存储器可以通过总线或者其他方式连接。
实现上述实施例的数据转发方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例的数据转发方法,例如,执行以上描述的图2中的方法步骤S100至S300、图3中的方法步骤S400至S500、图4中的方法步骤S210至S220、图5中的方法步骤S600至S700。
此外,本发明的另一实施例还提供了一种交换机,包括数据平面,当被处理器执行时,执行上述实施例的数据转发方法,例如,执行以上描述的图2中的方法步骤S100至S300、图3中的方法步骤S400至S500、图4中的方法步骤S210至S220、图5中的方法步骤S600至S700。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施方式进行的具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (10)
1.一种数据转发方法,其特征在于,应用于数据平面,所述数据平面设置多个数据通道,包括:
接收数据报文;
根据获取到的多个用户程序的使用特征信息对所述数据报文进行分配,得到多个待分配的第一数据报文,其中,所述使用特征信息用于表征所述用户程序与编写所述用户程序的用户的对应关系;
对于每个所述数据通道,向所述数据通道转发所述第一数据报文,其中,每个所述数据通道加载一个所述用户程序。
2.根据权利要求1所述的数据转发方法,其特征在于,所述根据获取到的多个用户程序的使用特征信息对所述数据报文进行分配之前,所述方法还包括:
向每个所述用户程序分配对应的资源接口;
获取由所述用户程序通过所述资源接口发送的所述使用特征信息。
3.根据权利要求1所述的数据转发方法,其特征在于,所述使用特征信息携带用户标识信息;所述根据获取到的多个用户程序的使用特征信息对所述数据报文进行分配,得到多个待分配的第一数据报文,包括:
对获取到的每个所述使用特征信息携带的所述用户标识信息进行赋值,得到归档参数;
根据所述归档参数对所述数据报文进行分配,得到多个待分配的第一数据报文。
4.根据权利要求1所述的数据转发方法,其特征在于,所述接收数据报文之后,所述方法还包括:
对所述数据报文进行预处理操作。
5.根据权利要求4所述的数据转发方法,其特征在于,所述对所述数据报文进行预处理操作,包括:
对所述数据报文的头部进行封装操作。
6.根据权利要求1所述的数据转发方法,其特征在于,所述向所述数据通道转发所述第一数据报文之后,所述方法还包括:
对所述第一数据报文进行后端处理,得到第二数据报文;
输出所述第二数据报文。
7.根据权利要求6所述的数据转发方法,其特征在于,所述对所述第一数据报文进行后端处理,包括:
对所述第一数据报文的头部进行移除操作。
8.根据权利要求6所述的数据转发方法,其特征在于,所述第二数据报文携带多个字段信息,所述字段信息包括如下类型中的至少一种:
第一字段信息,用于表征对所述第二数据报文进行循环处理;
第二字段信息,用于表征基于所述第二数据报文与控制平面进行交互。
9.一种数据平面,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序实现如权利要求1至8中任意一项所述的数据转发方法。
10.一种交换机,其特征在于,包括如权利要求9所述的数据平面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210072495.3A CN114448691B (zh) | 2022-01-21 | 2022-01-21 | 数据转发方法、数据平面及交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210072495.3A CN114448691B (zh) | 2022-01-21 | 2022-01-21 | 数据转发方法、数据平面及交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114448691A true CN114448691A (zh) | 2022-05-06 |
CN114448691B CN114448691B (zh) | 2023-09-29 |
Family
ID=81367531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210072495.3A Active CN114448691B (zh) | 2022-01-21 | 2022-01-21 | 数据转发方法、数据平面及交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114448691B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768892A (zh) * | 2018-03-26 | 2018-11-06 | 西安电子科技大学 | 一种基于p4的可编程数据平面交换原型的设计与实现 |
CN108809853A (zh) * | 2018-08-31 | 2018-11-13 | 新华三技术有限公司成都分公司 | 报文传输方法及边缘计算装置 |
US10212249B1 (en) * | 2015-07-30 | 2019-02-19 | Open Invention Network Llc | Information management and customization based on user interests and previous transactions |
CN109561004A (zh) * | 2019-01-29 | 2019-04-02 | 新华三技术有限公司 | 报文转发方法、装置及交换机 |
CN110167076A (zh) * | 2019-06-20 | 2019-08-23 | 杭州迪普信息技术有限公司 | 一种4g网络的流量分流方法、装置及设备 |
CN112436990A (zh) * | 2020-10-12 | 2021-03-02 | 网络通信与安全紫金山实验室 | 一种数据转发方法、设备以及计算机可读存储介质 |
CN113285839A (zh) * | 2021-05-31 | 2021-08-20 | 河南信大网御科技有限公司 | 基于dpdk的可编程数据平面软件交换机的设计方法 |
-
2022
- 2022-01-21 CN CN202210072495.3A patent/CN114448691B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10212249B1 (en) * | 2015-07-30 | 2019-02-19 | Open Invention Network Llc | Information management and customization based on user interests and previous transactions |
CN108768892A (zh) * | 2018-03-26 | 2018-11-06 | 西安电子科技大学 | 一种基于p4的可编程数据平面交换原型的设计与实现 |
CN108809853A (zh) * | 2018-08-31 | 2018-11-13 | 新华三技术有限公司成都分公司 | 报文传输方法及边缘计算装置 |
CN109561004A (zh) * | 2019-01-29 | 2019-04-02 | 新华三技术有限公司 | 报文转发方法、装置及交换机 |
CN110167076A (zh) * | 2019-06-20 | 2019-08-23 | 杭州迪普信息技术有限公司 | 一种4g网络的流量分流方法、装置及设备 |
CN112436990A (zh) * | 2020-10-12 | 2021-03-02 | 网络通信与安全紫金山实验室 | 一种数据转发方法、设备以及计算机可读存储介质 |
CN113285839A (zh) * | 2021-05-31 | 2021-08-20 | 河南信大网御科技有限公司 | 基于dpdk的可编程数据平面软件交换机的设计方法 |
Non-Patent Citations (2)
Title |
---|
左志斌;常朝稳;祝现威;: "一种基于数据平面可编程的软件定义网络报文转发验证机制", 电子与信息学报, no. 05, pages 1 - 5 * |
张顺淼;: "基于软件定义网络的MPLSTE和VPN网络实现方法", 福州大学学报(自然科学版), no. 03, pages 1 - 3 * |
Also Published As
Publication number | Publication date |
---|---|
CN114448691B (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566541B (zh) | 容器网络资源分配方法、系统、存储介质和电子设备 | |
US10700947B2 (en) | Life cycle management method and device for network service | |
US10505796B2 (en) | Network function virtualization | |
CN111880902A (zh) | 一种pod创建方法、装置、设备及可读存储介质 | |
CN113067739B (zh) | 一种高密度容器网络部署方法及系统 | |
US11121965B2 (en) | Network resource isolation method for container network and system thereof | |
CN114172905B (zh) | 一种集群网络组网的方法、装置、计算机设备及存储介质 | |
CN110661654B (zh) | 一种网络带宽资源分配方法、装置、设备及可读存储介质 | |
US20230261950A1 (en) | Method of container cluster management and system thereof | |
CN112187671A (zh) | 一种网络接入方法及其相关设备 | |
CN113810230A (zh) | 对容器集群中的容器进行网络配置的方法、装置及系统 | |
US10419392B2 (en) | Method, device and system for implementing address sharing | |
CN106254154B (zh) | 一种资源共享方法和装置 | |
CN110839007A (zh) | 一种云网络安全处理方法、设备和计算机存储介质 | |
WO2020108443A1 (zh) | 一种虚拟化管理方法及装置 | |
CN114448691B (zh) | 数据转发方法、数据平面及交换机 | |
CN113904871B (zh) | 网络切片的接入方法、pcf实体、终端和通信系统 | |
CN116436968A (zh) | 一种服务网格通信方法、系统、装置以及存储介质 | |
CN107493181B (zh) | 虚拟扩展端口的指示方法和装置 | |
CN115883283A (zh) | 一种容器化vnf的部署方法及装置 | |
CN111769992A (zh) | 一种网络数据的管理方法、云平台及存储介质 | |
CN114586398A (zh) | 租用方管理 | |
CN113691575A (zh) | 通信方法、装置及系统 | |
CN110990146A (zh) | 负载均衡方法、设备、系统及存储介质 | |
CN113364611B (zh) | 资源id管理方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |