CN112491889A - 一种软硬件协同的可编程转发系统、方法及装置 - Google Patents
一种软硬件协同的可编程转发系统、方法及装置 Download PDFInfo
- Publication number
- CN112491889A CN112491889A CN202011361554.6A CN202011361554A CN112491889A CN 112491889 A CN112491889 A CN 112491889A CN 202011361554 A CN202011361554 A CN 202011361554A CN 112491889 A CN112491889 A CN 112491889A
- Authority
- CN
- China
- Prior art keywords
- forwarding
- function module
- software
- module
- hardware
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 122
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000008859 change Effects 0.000 claims abstract description 9
- 241000406668 Loxodonta cyclotis Species 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000005111 flow chemistry technique Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 184
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- 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/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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/20—Network management software packages
-
- 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/24—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using dedicated network management hardware
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种软硬件协同的可编程转发系统、方法及装置,所述系统中可编程转发配置模组基于控制与配置指令调度计算资源,将对应的流处理逻辑分配给软件转发功能模组和硬件转发功能模组;硬件转发功能模组包括:固定功能转发和软件定义转发工作模式,数据流中的对固定功能数据包进行处理并转发处理结果;软件转发功能模组由软件交换进程实例组成,基于软件交换进程实例对数据流中基于场景变化的数据包进行处理,并将处理结果反馈给硬件转发功能模组进行转发。上述系统,基于可编程转发配置模组可以实现对硬件转发功能模组和软件转发功能模组的配置并且可以基于软件转发功能模组实现对新的网络协议的处理,提高了转发效率。
Description
技术领域
本发明涉及网络可编程转发技术领域,尤其涉及一种软硬件协同的可编程转发系统、方法及装置。
背景技术
5G、云计算、物联网、机器学习、大数据等通信与计算技术发展带动网络技术革新,新型网络协议与功能层出不穷,在设备中按需定制数据包的控制逻辑,通过设备对数据包执行对应的控制逻辑后进行转发。
但是现有设备中控制逻辑与底层转发硬件紧密耦合,难以通过统一规范的方式快速实现新的业务逻辑,灵活性差,导致数据包的转发效率低。
发明内容
有鉴于此,本发明提供了一种软硬件协同的可编程转发系统、方法及装置,用以解决现有的现有设备中控制逻辑与底层转发硬件紧密耦合,难以通过统一规范的方式快速实现新的业务逻辑,报文处理逻辑不可更改,灵活性差,导致数据包的转发效率低的问题。具体方案如下:
一种软硬件协同的可编程转发系统,包括:可编程转发配置模组、硬件转发功能模组和软件转发功能模组,其中,
所述可编程转发配置模组,用于基于控制与配置指令调度计算资源,将对应的流处理逻辑分配个给所述软件转发功能模组和所述硬件转发功能模组;
所述硬件转发功能模组与所述可编程转发配置模组相连接,包括:固定功能转发工作模式和软件定义转发工作模式,用于数据流中的对固定功能数据包进行处理并转发处理结果;
所述软件转发功能模组与所述可编程转发配置模组相连接,由软件交换进程实例组成,用于基于所述软件交换进程实例对数据流中基于场景变化的数据包进行处理,并将处理结果反馈给所述硬件转发功能模组,基于所述硬件转发功能模组对所述处理结果进行转发。
上述的系统,可选的,所述硬件转发功能模组构建在功能固定的ASIC或FPGA交换芯片上。
上述的系统,可选的,所述软件功能转发配置模组包括:流量监测单元和流量处理单元,其中,
所述流量监测单元,用于检测各个端口数据流的流速是否超过对应的流速阈值,将超过对应的流速阈值的待处理流量作为大象流;
所述流量处理单元,用于将属于大象流的数据流通过快速通道转发。
上述的系统,可选的,所述软件功能转发配置模组包括:本地配置串口和远程配置端口,依据所述本地配置串口通过本地连接的方式接收控制与配置指令,或,依据所述远程配置端口通过远程连接的方式接收控制与配置指令。
一种软硬件协同的可编程转发方法,应用于可编程转发系统,包括:
接收控制与配置指令,依据所述控制与配置指令对硬件转发功能模组和软件转发功能模组进行配置;
在接收到数据流的情况下,获取所述数据流的业务流表,其中,所述业务流表中包含所述数据流的网络协议;
依据所述网络协议确定处理所述数据流的目标功能模组,其中,所述目标功能模组为硬件功能模组和/或软件功能模组;
依据所述目标功能模组对所述数据流进行处理;
依据所述硬件转发功能模组将处理结果转发。
上述的方法,可选的,依据所述网络协议确定处理所述数据流的目标功能模组,包括:
判断所述硬件转发功能模组中是否存在与所述网络协议对应的处理逻辑;
若是,将所述硬件功能模组作为所述目标功能模块,或;
若否,将所述数据流发送给所述软件转发功能模组进行处理,将所述软件转发功能模组作为所述目标功能模组。
上述的方法,可选的,还包括:
若所述数据流超出所述软件转发功能模组的匹配范围,上报Packet_in消息。
一种软硬件协同的可编程转发装置,应用于可编程转发系统,包括:
配置模块,用于接收控制与配置指令,依据所述控制与配置指令对硬件转发功能模组和软件转发功能模组进行配置;
获取模块,用于在接收到数据流的情况下,获取所述数据流的业务流表,其中,所述业务流表中包含所述数据流的网络协议;
确定模块,用于依据所述网络协议确定处理所述数据流的目标功能模组,其中,所述目标功能模组为硬件功能模组和/或软件功能模组;
处理模块,用于依据所述目标功能模组对所述数据流进行处理;
转发模块,用于依据所述硬件转发功能模组将处理结果转发。
上述的装置,可选的,所述确定模块包括:
判断单元,用于判断所述硬件转发功能模组中是否存在与所述网络协议对应的处理逻辑;
确定单元,用于若是,将所述硬件功能模组作为所述目标功能模块,或;
若否,将所述数据流发送给所述软件转发功能模组进行处理,将所述软件转发功能模组作为所述目标功能模组。
上述的装置,可选的,还包括:
上报单元,用于若所述数据流超出所述软件转发功能模组的匹配范围,上报Packet_in消息。
与现有技术相比,本发明包括以下优点:
本发明公开了一种软硬件协同的可编程转发系统、方法及装置,所述系统中可编程转发配置模组,用于基于控制与配置指令调度计算资源,将对应的流处理逻辑分配给软件转发功能模组和硬件转发功能模组;硬件转发功能模组包括:固定功能转发工作模式和软件定义转发工作模式,用于数据流中的对固定功能数据包进行处理并转发处理结果;软件转发功能模组由软件交换进程实例组成,用于基于软件交换进程实例对数据流中基于场景变化的数据包进行处理,并将处理结果反馈给硬件转发功能模组,基于硬件转发功能模组对处理结果进行转发。上述系统,基于可编程转发配置模组可以实现对硬件转发功能模组和软件转发功能模组的配置并且可以基于软件转发功能模组实现对新的网络协议的处理,提高了转发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种软硬件协同的可编程转发系统结构框图;
图2为本申请实施例公开的一种软硬件协同的可编程转发方法流程图;
图3为本申请实施例公开的一种软硬件协同的可编程转发方法执行示意图;
图4为本申请实施例公开的一种软硬件协同的可编程转发装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种软硬件协同的可编程转发系统、方法及装置,应用于对数据流进行转发的过程中,如今,5G、云计算、物联网、机器学习、大数据等通信与计算技术发展带动网络技术革新,新型网络协议与功能层出不穷,按需定制网络设备的数据包处理行为成为迫切的发展需求。面对灵活性、动态性、高性能的要求,传统网络设备表现出以下局限性:
(1)逐设备单独控制且品牌众多,不同品牌交换机的管理接口封闭独立,网络管理员无法敏捷完成高级网络策略的全局部署,运营成本随着网络规模的扩大急剧上升;
(2)控制逻辑与底层转发硬件紧密耦合,难以通过统一规范的方式快速实现新的业务逻辑;
(3)设备本身不具备可编程性,报文处理逻辑不可更改,想要支持新的网络协议和功能只能进行产品的持续迭代。
同时,网络数据报文的可编程处理过程中,既会有大量的已知数据报文的解析与处理,又会有一些未知、私有数据报文的解析与处理,即数据报文的处理也存在“二八”现象。因此,需要一种软硬协同处理的深度可编程转发系统及配套方法,将已知的、常规的、固定协议的数据报文放在专用硬件转发功能模块上处理,把一些不常规的、匹配逻辑较复杂的、私有协议的数据报文由软件转发功能模块来处理。使得网络功能在软硬件之间可根据实际需求相互切换、协同处理,实现网元设备深度可编程的同时保证高水平的数据包转发效率。
因此,本发明提供了一种软硬件协同的可编程转发系统,所述转发系统的结构框图如图1所示,包括:可编程转发配置模组101、硬件转发功能模组102和软件转发功能模组103,其中,
所述可编程转发配置模组101,用于基于控制与配置指令调度计算资源,将对应的流处理逻辑分配给所述软件转发功能模组和所述硬件转发功能模组;
本发明实施例中,所述可编程转发配置模组负责统一调度所述硬件转发功能模组102和所述软件转发功能模组103处理的计算资源,通过本地连接或远程连接的方式接收网络管理员的控制与配置指令,并将相关配置按照完整的流处理逻辑合理地配置到所述硬件转发功能模组102和所述软件转发模组103中,监视各转发实体的运行状态,优选的,所述可编程转发配置模组需要预先依据经验或者具体情况对所述硬件转发功能模组和所述软件转发功能模组进行配置,配置对应的数据流处理逻辑。
所述可编程转发配置模组内嵌本地配置端口和远程连接端口,分别对应本地连接和远程连接的网络管理方式,支持多种网络配置协议;
所述可编程转发配置模组的执行流程如下:接收来自网络管理员的控制与配置指令,动态为所述软件转发功能模组103中的软件交换实例分配CPU核心及配套计算资源,在线重构软件交换实例的流水线逻辑,同时为所述硬件转发功能模组102配置计算资源和硬件转发流水线逻辑。
所述可编程转发配置模组内部配置有协同调度算法,所述协同调度算法可以依据经验或者具体情况进行制定,本发明实施例中,对所述协同调度算法的具体执行过程不进行限定,所述协同调度算法基于所述硬件转发模组102和所述软件转发功能模组103各自的数据处理逻辑和相应的网络交换能力,智能拆分业务流表,将数据流中固定功能的数据包处理逻辑中的全部配置在硬件转发功能模组102中完成,将硬件无法满足的数据流中基于场景变化的数据包(自定义协议处理功能的数据包)设置在软件转发功能模组中完成。
所述硬件转发功能模组102与所述可编程转发配置模组101相连接,包括:固定功能转发工作模式和软件定义转发工作模式,用于数据流中的对固定功能数据包进行处理并转发处理结果;
本发明实施例中,所述硬件转发功能模组构建在功能固定的ASIC或FPGA交换芯片之上,片内SRAM/TCAM容量充足,对外呈现可用的网络端口,拥有固定功能转发工作模式和软件定义转发工作模式,支持在固定功能转发工作模式和软件定义转发工作模式之间切换。
硬件转发功能模组102内置标准的二层交换控制协议栈,当硬件转发功能模组102切换至所述固定功能转发工作模式时,内置协议栈被激活使能,整个硬件设备可以作为普通交换设备在传统局域网中配置运转,所述固定转发工作模式拥有完备的网络协议栈,支持广泛使用的以太网交换协议,使得整个转发系统可以稳定工作在传统局域网中
硬件转发功能模组102支持OpenFlow、Netconf等常见的南向接口协议,当硬件转发功能模组102处于所述软件定义转发工作模式时,所述可编程转发配置模组依据标准的南向协议下发表项以修改硬件流水线的报文处理逻辑,保留高性能数据平面特征的同时带来集中逻辑控制的灵活性。
所述软件转发功能模组103与所述可编程转发配置模组101相连接,由软件交换进程实例组成,用于基于所述软件交换进程实例对数据流中基于场景变化的数据包进行处理,并将处理结果反馈给所述硬件转发功能模组,基于所述硬件转发功能模组对所述处理结果进行转发。
本发明实施例中,所述软件转发功能模组103与所述可编程转发配置模组101相连接,所述软件转发功能模,103,由一系列直接运行在多核心CPU之上的软件交换实例组成,具备完全的可编程性和可重构性,通过设备内部物理链路与所述硬件转发功能模组102相连,各软件交换实例按需定制数据包处理逻辑,带来多种不同的新型网络转发功能和协议支持;
进一步地,所述软件交换实例均基于DPDK运行在用户态,通过大页、轮询、CPU亲和性等技术,达到减少内存拷贝、减少缓存未命中、减少中断调用、减少进程和线程切换等优化目标,进而实现CPU软转发的性能优化,提供数十Gbps的包处理速率;
所述软件功能转发配置模组103包括:流量监测单元和流量处理单元,其中,所述流量监测单元,用于检测各个端口数据流的流速是否超过对应的流速阈值,将超过对应的流速阈值的待处理流量作为大象流;所述流量处理单元,用于将属于大象流的数据流通过快速通道转发。
所述软件转发功能模组103支持快慢通道分离,其各端口均具备流速率监测功能,根据具体的生产场景选择合适的流分类阈值,将待处理流量区分为大象流和长尾流。由于长尾流的表项多、流量小而大象流的流量大、表项少,优先将大象流的表项下发至TCAM资源中,使得大象流优先使用快通道进行转发,以适应云数据中心网络流量“两极分化”的特征,提高软件转发功能模组的数据包吞吐量。
本发明公开了一种软硬件协同的可编程转发系统,所述系统中可编程转发配置模组,用于基于控制与配置指令调度计算资源,将对应的流处理逻辑分配给软件转发功能模组和硬件转发功能模组;硬件转发功能模组包括:固定功能转发和软件定义转发工作模式,用于数据流中的对固定功能数据包进行处理并转发处理结果;软件转发功能模组由软件交换进程实例组成,用于基于软件交换进程实例对数据流中基于场景变化的数据包进行处理,并将处理结果反馈给硬件转发功能模组,基于硬件转发功能模组对处理结果进行转发。上述系统,基于可编程转发配置模组可以实现对硬件转发功能模组和软件转发功能模组的配置并且可以基于软件转发功能模组实现对新的网络协议的处理,提高了转发效率。
基于上述的软硬件协同的可编程转发系统,本发明还提供了一种软硬件协同的可编程转发方法,应用于可编程转发系统,所述转发方法的执行流程如图2所示,包括步骤:
S201、可编程转发配置模组101实时接收来自网络管理员的控制与配置指令,动态为软件转发功能模组中101的软件交换实例分配CPU核心及配套计算资源,在线重构软件交换实例的流水线逻辑;
S202、可编程转发配置模组101内部的协同调度算法充分了解软硬件交换模组各自的数据处理逻辑和相应的网络交换能力,智能拆分业务流表,将数据包处理逻辑中的固定功能全部配置在硬件转发功能模组103中完成,将硬件无法满足的自定义协议处理功能设置在软件转发功能模组103中完成;
S203、硬件转发功能模组102第一时间接收网络数据流,初步解析数据包协议头部,借助业务流表并对匹配上的数据包执行相应的处理动作;
本发明实施例中,所述业务流表中包括网络协议和该网络协议对应的数据包处理逻辑,所述处理逻辑可以基于经验或者具体情况进行设定,本发明实施例中,对所述处理逻辑的具体存在形式不进行限定,数据包协议头部中包含有待处理数据包中的当前网络协议,在所述业务流表中查找与所述当前网络协议匹配的处理逻辑。
S204、当硬件转发功能模组102匹配到超出处理范围的数据包时,硬件转发功能模组102按照既定配置将待处理数据包移交软件转发功能模组处理,待处理数据包通过装置内部的物理链路传递至软件交换实例的端口;
本发明实施例中,硬件转发功能模组102匹配到超出处理范围指所述业务流表中不包含与所述当前网络协议匹配的处理协议,硬件转发功能模组102按照既定配置将待处理数据包移交软件转发功能模组处理,数据包通过装置内部的物理链路传递至软件交换实例的端口,本发明实施例中,所述既定配置可以基于经验或者具体情况进行设定,本发明实施例中,对所述既定配置的具体存在形式不进行限定。
S205、软件转发功能模组103接收来自硬件转发功能模组102的待处理数据包,按照自定义的流水线逻辑对待处理数据包进行匹配处理;
本发明实施例中,选定的软件转发功能模组接收待处理数据,依据自定义的流水线逻辑对所述待处理数据包进行匹配处理,其中,由于所述软件转发功能模组中的软件转发功能至少为一个,所述自定义的流水线逻辑指将待处理数据包具体已交给哪一个软件转发功能,具体的移交形式可以以及标识或者预设关联关系进行移交,本发明实施例中,对具体的移交形式不进行限定。
进一步的,软件转发功能模组103动态监控各流量的处理速率,根据确定的流判决阈值将待处理流区分为大象流和长尾流,通过统计表项的命中频率对其流表进行分级;更进一步地,软件转发功能模组103将流表的优先级属性映射于数据包匹配的快慢通道,对大象流的热点表项优先下发、保存至快通道,从而实现大象流转发的加速;
S206、当软件转发功能模组103匹配到超出处理能力的待处理数据包时,软件转发功能模组103及时通过可编程转发配置模组上报Packet_in消息到远程控制器,等待控制器返回解决方案;
S207、软件转发功能模组103处理后的数据包通过逆向物理链路返回硬件转发功能模组102,同时软件转发功能模组将该待处理数据包的元数据(如转发端口)下发至硬件转发功能模组;
S208、硬件转发功能模组102对数据包进行校验封装后依查询端口转发,数据包处理结束。
基于所述转发方法的执行流程示意如图3所示,预先基于可编程转发配置模组101对硬件转发功能模组102和软件转发功能模组103进行配置,后续接收来自网络管理员的控制与配置指令时,以基于控制与配置指令对硬件转发功能模组102和软件转发功能模组103进行调整,云数据中心、城域网或者互联网中的数据流首先经由硬件转发功能模组102中报文解析器进行解析,确定数据流中的数据包的网络协议,判断是否为硬件支持的协议报文,若是,基于硬件转发流水线进行处理,将处理结果通过报文封装器封装后转发给云数据中心、城域网或者互联网,其中,所述硬件转发流水线主要针对大部分固定协议流量进行处理,若否,将数据流中的数据包配置中软件转发功能模组103中对应的软件转发功能进行处理,其中,所述软件转发功能模组103主要用于处理少量私有协议流量,处理完成后,将处理结果传递给硬件转发功能模组中的报文封装器,封装完成后转发给云数据中心、城域网或者互联网。
本发明公开了一种软硬件协同的可编程转发方法,其中,可编程转发配置模组,用于基于控制与配置指令调度计算资源,将对应的流处理逻辑分配给软件转发功能模组和硬件转发功能模组;硬件转发功能模组包括:固定功能转发和软件定义转发工作模式,用于数据流中的对固定功能数据包进行处理并转发处理结果;软件转发功能模组由软件交换进程实例组成,用于基于软件交换进程实例对数据流中基于场景变化的数据包进行处理,并将处理结果反馈给硬件转发功能模组,基于硬件转发功能模组对处理结果进行转发。上述方法,基于可编程转发配置模组可以实现对硬件转发功能模组和软件转发功能模组的配置并且可以基于软件转发功能模组实现对新的网络协议的处理。
本发明提供的一种软硬件协同处理的深可编程转发方法,面向网络设备开发者提供软硬件协同的深度可编程能力,将整个转发系统分为可编程转发配置模组101、硬件转发功能模组102和软件转发功能模组103三个模块。所述方法建立了以可编程转发配置模组为核心的协同处理架构,在软件定义网络的工作模式下,通过高性能处理效率的硬件转发功能模组和灵活可定义的软件转发功能模组协同工作达到深度可编程的目的,全面满足数据中心网络对网元设备的可迭代性和高速转发的需求。整个转发装置提供本地和远程控制端口,对接通用的网络控制器,为全网统一管理和下发高级网络策略提供便利,加速云网一体化建设步伐。
基于上述的一种软硬件协同的可编程转发方法,本发明实施例中还提供了一种软硬件协同的可编程转发装置,应用于可编程转发系统,所述转发装置的结构框图如图4所示,包括:
配置模块301、获取模块302、确定模块303、处理模块304和转发模块305。
所述配置模块301,用于接收控制与配置指令,依据所述控制与配置指令对硬件转发功能模组和软件转发功能模组进行配置;
所述获取模块302,用于在接收到数据流的情况下,获取所述数据流的业务流表,其中,所述业务流表中包含所述数据流的网络协议;
所述确定模块303,用于依据所述网络协议确定处理所述数据流的目标功能模组,其中,所述目标功能模组为硬件功能模组和/或软件功能模组;
所述处理模块304,用于依据所述目标功能模组对所述数据流进行处理;
所述转发模块305,用于依据所述硬件转发功能模组将处理结果转发。
本发明公开了一种软硬件协同的可编程转发装置,其中,可编程转发配置模组,用于基于控制与配置指令调度计算资源,将对应的流处理逻辑分配给软件转发功能模组和硬件转发功能模组;硬件转发功能模组包括:固定功能转发和软件定义转发工作模式,用于数据流中的对固定功能数据包进行处理并转发处理结果;软件转发功能模组由软件交换进程实例组成,用于基于软件交换进程实例对数据流中基于场景变化的数据包进行处理,并将处理结果反馈给硬件转发功能模组,基于硬件转发功能模组对处理结果进行转发。上述装置,基于可编程转发配置模组可以实现对硬件转发功能模组和软件转发功能模组的配置并且可以基于软件转发功能模组实现对新的网络协议的处理,提高了转发效率。
本发明实施例中,所述确定模块303包括:
判断单元306和确定单元307。
其中,
所述判断单元306,用于判断所述硬件转发功能模组中是否存在与所述网络协议对应的处理逻辑;
所述确定单元307,用于若是,将所述硬件功能模组作为所述目标功能模块,或;
若否,将所述数据流发送给所述软件转发功能模组进行处理,将所述软件转发功能模组作为所述目标功能模组。
本发明实施例中,所述确定模块303还包括:上报单元308。
其中,
所述上报单元308,用于若所述数据流超出所述软件转发功能模组的匹配范围,上报Packet_in消息。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种软硬件协同的可编程转发系统、方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种软硬件协同的可编程转发系统,其特征在于,包括:可编程转发配置模组、硬件转发功能模组和软件转发功能模组,其中,
所述可编程转发配置模组,用于基于控制与配置指令调度计算资源,将对应的流处理逻辑分配给所述软件转发功能模组和所述硬件转发功能模组;
所述硬件转发功能模组与所述可编程转发配置模组相连接,包括:固定功能转发工作模式和软件定义转发工作模式,用于数据流中的对固定功能数据包进行处理并转发处理结果;
所述软件转发功能模组与所述可编程转发配置模组相连接,由软件交换进程实例组成,用于基于所述软件交换进程实例对数据流中基于场景变化的数据包进行处理,并将处理结果反馈给所述硬件转发功能模组,基于所述硬件转发功能模组对所述处理结果进行转发。
2.根据权利要求1所述的系统,其特征在于,所述硬件转发功能模组构建在功能固定的ASIC或FPGA交换芯片上。
3.根据权利要求1所述的系统,其特征在于,所述软件功能转发配置模组包括:流量监测单元和流量处理单元,其中,
所述流量监测单元,用于检测各个端口数据流的流速是否超过对应的流速阈值,将超过对应的流速阈值的待处理流量作为大象流;
所述流量处理单元,用于将属于大象流的数据流通过快速通道转发。
4.根据权利要求1所述的系统,其特征在于,所述软件功能转发配置模组包括:本地配置串口和远程配置端口,依据所述本地配置串口通过本地连接的方式接收控制与配置指令,或,依据所述远程配置端口通过远程连接的方式接收控制与配置指令。
5.一种软硬件协同的可编程转发方法,其特征在于,应用于可编程转发系统,包括:
接收控制与配置指令,依据所述控制与配置指令对硬件转发功能模组和软件转发功能模组进行配置;
在接收到数据流的情况下,获取所述数据流的业务流表,其中,所述业务流表中包含所述数据流的网络协议;
依据所述网络协议确定处理所述数据流的目标功能模组,其中,所述目标功能模组为硬件功能模组和/或软件功能模组;
依据所述目标功能模组对所述数据流进行处理;
依据所述硬件转发功能模组将处理结果转发。
6.根据权利要求5所述的方法,其特征在于,依据所述网络协议确定处理所述数据流的目标功能模组,包括:
判断所述硬件转发功能模组中是否存在与所述网络协议对应的处理逻辑;
若是,将所述硬件功能模组作为所述目标功能模块,或;
若否,将所述数据流发送给所述软件转发功能模组进行处理,将所述软件转发功能模组作为所述目标功能模组。
7.根据权利要求6所述的方法,其特征在于,还包括:
若所述数据流超出所述软件转发功能模组的匹配范围,上报Packet_in消息。
8.一种软硬件协同的可编程转发装置,其特征在于,应用于可编程转发系统,包括:
配置模块,用于接收控制与配置指令,依据所述控制与配置指令对硬件转发功能模组和软件转发功能模组进行配置;
获取模块,用于在接收到数据流的情况下,获取所述数据流的业务流表,其中,所述业务流表中包含所述数据流的网络协议;
确定模块,用于依据所述网络协议确定处理所述数据流的目标功能模组,其中,所述目标功能模组为硬件功能模组和/或软件功能模组;
处理模块,用于依据所述目标功能模组对所述数据流进行处理;
转发模块,用于依据所述硬件转发功能模组将处理结果转发。
9.根据权利要求8所述的装置,其特征在于,所述确定模块包括:
判断单元,用于判断所述硬件转发功能模组中是否存在与所述网络协议对应的处理逻辑;
确定单元,用于若是,将所述硬件功能模组作为所述目标功能模块,或;
若否,将所述数据流发送给所述软件转发功能模组进行处理,将所述软件转发功能模组作为所述目标功能模组。
10.根据权利要求9所述的装置,其特征在于,还包括:
上报单元,用于若所述数据流超出所述软件转发功能模组的匹配范围,上报Packet_in消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011361554.6A CN112491889A (zh) | 2020-11-27 | 2020-11-27 | 一种软硬件协同的可编程转发系统、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011361554.6A CN112491889A (zh) | 2020-11-27 | 2020-11-27 | 一种软硬件协同的可编程转发系统、方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112491889A true CN112491889A (zh) | 2021-03-12 |
Family
ID=74936444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011361554.6A Pending CN112491889A (zh) | 2020-11-27 | 2020-11-27 | 一种软硬件协同的可编程转发系统、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112491889A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132156A (zh) * | 2021-03-31 | 2021-07-16 | 中国人民解放军战略支援部队信息工程大学 | 存储-计算-传输一体化的网络功能基础平台结构及方法 |
CN113438168A (zh) * | 2021-05-21 | 2021-09-24 | 清华大学 | 软硬件混合流表管理方法及装置 |
CN114710571A (zh) * | 2022-04-01 | 2022-07-05 | 中国人民解放军战略支援部队信息工程大学 | 数据包处理系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870588A (en) * | 1995-10-23 | 1999-02-09 | Interuniversitair Micro-Elektronica Centrum(Imec Vzw) | Design environment and a design method for hardware/software co-design |
CN102195875A (zh) * | 2010-03-16 | 2011-09-21 | 马维尔以色列(M.I.S.L.)有限公司 | 组合式硬件/软件转发机制和方法 |
CN102510353A (zh) * | 2011-12-26 | 2012-06-20 | 北京映翰通网络技术有限公司 | Itu-t g.8032/y.1344多点故障下的扩展处理方法 |
CN103312618A (zh) * | 2013-05-30 | 2013-09-18 | 中国人民解放军国防科学技术大学 | 基于软硬件结合的流管理方法 |
CN103428094A (zh) * | 2013-08-12 | 2013-12-04 | 杭州华三通信技术有限公司 | 开放流OpenFlow系统中的报文转发方法及装置 |
CN104378296A (zh) * | 2013-08-15 | 2015-02-25 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
US20170134277A1 (en) * | 2014-07-15 | 2017-05-11 | Nec Europe Ltd. | Method and network device for handling packets in a network by means of forwarding tables |
CN108616452A (zh) * | 2018-03-30 | 2018-10-02 | 新华三技术有限公司 | 报文转发方法及装置 |
CN110398918A (zh) * | 2019-07-12 | 2019-11-01 | 中国电信集团工会上海市委员会 | 一种家庭网关的组播流控制系统 |
-
2020
- 2020-11-27 CN CN202011361554.6A patent/CN112491889A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870588A (en) * | 1995-10-23 | 1999-02-09 | Interuniversitair Micro-Elektronica Centrum(Imec Vzw) | Design environment and a design method for hardware/software co-design |
CN102195875A (zh) * | 2010-03-16 | 2011-09-21 | 马维尔以色列(M.I.S.L.)有限公司 | 组合式硬件/软件转发机制和方法 |
CN102510353A (zh) * | 2011-12-26 | 2012-06-20 | 北京映翰通网络技术有限公司 | Itu-t g.8032/y.1344多点故障下的扩展处理方法 |
CN103312618A (zh) * | 2013-05-30 | 2013-09-18 | 中国人民解放军国防科学技术大学 | 基于软硬件结合的流管理方法 |
CN103428094A (zh) * | 2013-08-12 | 2013-12-04 | 杭州华三通信技术有限公司 | 开放流OpenFlow系统中的报文转发方法及装置 |
CN104378296A (zh) * | 2013-08-15 | 2015-02-25 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
US20170134277A1 (en) * | 2014-07-15 | 2017-05-11 | Nec Europe Ltd. | Method and network device for handling packets in a network by means of forwarding tables |
CN108616452A (zh) * | 2018-03-30 | 2018-10-02 | 新华三技术有限公司 | 报文转发方法及装置 |
CN110398918A (zh) * | 2019-07-12 | 2019-11-01 | 中国电信集团工会上海市委员会 | 一种家庭网关的组播流控制系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132156A (zh) * | 2021-03-31 | 2021-07-16 | 中国人民解放军战略支援部队信息工程大学 | 存储-计算-传输一体化的网络功能基础平台结构及方法 |
CN113132156B (zh) * | 2021-03-31 | 2022-08-12 | 中国人民解放军战略支援部队信息工程大学 | 存储-计算-传输一体化的网络功能基础平台结构及方法 |
CN113438168A (zh) * | 2021-05-21 | 2021-09-24 | 清华大学 | 软硬件混合流表管理方法及装置 |
CN113438168B (zh) * | 2021-05-21 | 2022-08-02 | 清华大学 | 软硬件混合流表管理方法及装置 |
CN114710571A (zh) * | 2022-04-01 | 2022-07-05 | 中国人民解放军战略支援部队信息工程大学 | 数据包处理系统 |
CN114710571B (zh) * | 2022-04-01 | 2023-05-23 | 中国人民解放军战略支援部队信息工程大学 | 数据包处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112491889A (zh) | 一种软硬件协同的可编程转发系统、方法及装置 | |
US11706123B2 (en) | Time-sensitive software defined networking | |
CN107659419B (zh) | 网络切片方法和系统 | |
CN107087019B (zh) | 一种基于端云协同计算架构的任务调度方法及装置 | |
CN111131379B (zh) | 一种分布式流量采集系统和边缘计算方法 | |
CN112799789A (zh) | 一种节点集群管理方法、装置、设备及存储介质 | |
Ma et al. | SDN-enabled network virtualization for industry 4.0 based on IoTs and cloud computing | |
EP4329258A1 (en) | Notification method and apparatus for computing power resources, storage medium, and electronic apparatus | |
CN108777633B (zh) | 支持数据调度的意图型工业sdn北向接口系统及交互方法 | |
CN105721535A (zh) | 对服务功能链中的服务功能的并行处理 | |
CN110430114B (zh) | 一种虚拟路由器及实现sdn网络与传统ip网络互联的方法 | |
CN110169019B (zh) | 数据库功能定义的网络交换机和数据库系统 | |
EP3559833B1 (en) | Best-efforts database functions | |
US20150163139A1 (en) | Forwarding Packet in Stacking System | |
CN110213363A (zh) | 基于软件定义网络的云资源动态分配系统及方法 | |
CN114710571B (zh) | 数据包处理系统 | |
CN114979058A (zh) | 一种can多邮箱复用处理方法及系统 | |
CN108737455B (zh) | 网络业务识别装置及方法 | |
CN117560376A (zh) | 任务处理方法、装置、存储介质及电子装置 | |
Orozco-Santos et al. | Scalability enhancement on software defined industrial wireless sensor networks over tsch | |
CN110620811B (zh) | 一种vOLT集群架构下ONU管理方法及系统 | |
Leqing | How to realize the smooth transition from traditional network architecture to SDN | |
CN105745877B (zh) | 交换机处理方法、控制器、交换机及交换机处理系统 | |
CN115292068A (zh) | 数据访问方法和系统、控制器、计算机可读存储介质 | |
CN102594680B (zh) | 一种报文分段处理方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210312 |