一种网络转发设备及方法技术

技术编号:36061943 阅读:18 留言:0更新日期:2022-12-24 10:26
本公开涉及一种网络转发设备及方法,包括网络硬件和软件转发控制器。通过所述网络硬件接收第一业务报文,所述第一业务报文中包含待转发数据;所述网络硬件在未查询到所述第一业务报文的匹配流表项的情况下,将所述第一业务报文输入到所述软件转发控制器;所述软件转发控制器根据所述第一业务报文,生成软件转发控制命令,并将所述软件转发控制命令输入到所述网络硬件,所述软件转发控制命令中包含所述待转发数据的转发控制信息;所述网络硬件根据所述软件转发控制命令,生成与所述第一业务报文所属数据流匹配的流表项。本公开实施例的网络转发设备能够提高流表项生成速度,减少占用软件和硬件之间的带宽。件和硬件之间的带宽。件和硬件之间的带宽。

【技术实现步骤摘要】
一种网络转发设备及方法


[0001]本公开涉及计算机
,尤其涉及一种网络转发设备及方法。

技术介绍

[0002]在使用网络转发设备进行报文转发过程中,一般数据流的首个报文,在无法查询到匹配流表项时,会将该首个报文传送至软件进行处理。软件会生成新报文和生成与首个报文相匹配的流表项。然后,软件将这个新报文传回硬件,并将该新报文转发。同时,软件将新生成的流表项下发配置到硬件中的流表内,以便后续同一个数据流的其他报文,可以直接通过硬件进行高速匹配和转发。
[0003]通常,流表项会包含大量信息,比如协议匹配模式、转发规则、流状态等等。使用软件生成这些流表信息会占用大量CPU资源及大量处理时间。而且,流表项的下发配置也需要占用大量软件与硬件之间的通信带宽,因而,流表项的生成和下发过程是网络转发设备的性能瓶颈之一。

技术实现思路

[0004]有鉴于此,本公开提出了一种网络转发设备。
[0005]根据本公开的一方面,提供了一种网络转发设备,包括:
[0006]所述网络硬件接收第一业务报文,所述第一业务报文中包含待转发数据;
[0007]所述网络硬件在未查询到所述第一业务报文的匹配流表项的情况下,将所述第一业务报文输入到所述软件转发控制器;
[0008]所述软件转发控制器根据所述第一业务报文,生成软件转发控制命令,并将所述软件转发控制命令输入到所述网络硬件,所述软件转发控制命令中包含所述待转发数据的转发控制信息;
[0009]所述网络硬件根据所述软件转发控制命令,生成与所述第一业务报文所属数据流匹配的流表项。
[0010]在一种可能的实现方式中,所述网络硬件具体包括:流表模块、后处理模块、输出调度模块、控制报文输出端口;
[0011]所述将所述第一业务报文输入到所述软件转发控制器,包括:
[0012]所述流表模块根据所述第一业务报文,生成用于标识所述待转发数据所在数据流的唯一标识符;
[0013]所述后处理模块将所述第一业务报文、所述唯一标识符封装为第一控制报文,并将所述第一控制报文输入所述输出调度模块;
[0014]所述输出调度模块通过所述控制报文输出端口,将所述第一控制报文输入至所述软件转发控制器。
[0015]在一种可能的实现方式中,所述网络硬件包括:控制报文输入端口,输入调度模块、协议解析模块;
[0016]所述软件转发控制器根据所述第一业务报文,生成软件转发控制命令,并将所述软件转发控制命令输入到所述网络硬件,包括:所述软件转发控制器,根据所述第一控制报文,生成第二业务报文及所述软件转发控制命令;并将所述第二业务报文、所述软件转发控制命令及所述唯一标识符封装为第二控制报文;并将所述第二控制报文通过所述控制报文输入端口,输入至所述输入调度模块;
[0017]所述输入调度模块将所述第二控制报文输入至所述协议解析模块;
[0018]所述协议解析模块,将所述控制报文解析为所述第二业务报文、所述软件转发控制命令及所述唯一标识符。
[0019]在一种可能的实现方式中,所述网络硬件包括:流表自学模块;
[0020]所述协议解析模块,将所述第二业务报文、所述软件转发控制命令及所述唯一标识符输入所述流表自学模块;
[0021]所述网络硬件根据所述软件转发控制命令,生成与所述第一业务报文所属数据流匹配的流表项,包括:所述流表自学模块解析所述软件转发控制命令的信息、所述第二业务报文的报头信息;根据所述软件转发控制命令的信息、所述第二业务报文的报头信息,生成与所述第一业务报文所属数据流匹配的流表项;
[0022]所述软件转发控制命令的信息至少包括以下一种:物理端口号、队列号、优先级;所述第二业务报文的报头信息至少包括以下一种:目标网卡地址、目标互联网协议地址、生存时间值;
[0023]所述流表自学模块将所述流表项输入至所述流表模块进行存储。
[0024]在一种可能的实现方式中,所述根据所述软件转发控制命令的信息、所述第二业务报文的报头信息,生成与所述第一业务报文所属数据流匹配的流表项,包括:
[0025]比较第一业务报文与第二业务报文;
[0026]在第一业务报文与第二业务报文相同的情况下,根据所述软件转发控制命令的信息,生成所述流表项;
[0027]在第一业务报文与第二业务报文不同的情况下,根据所述软件转发控制命令的信息、所述第二业务报文的报头信息,生成所述流表项。
[0028]在一种可能的实现方式中,所述网络硬件,还包括:业务报文输出端口;
[0029]所述网络硬件在查询到所述第一业务报文的匹配流表项的情况下,将所述第一业务报文通过业务报文输出端口输出至所述流表项中目标地址指向的设备。
[0030]在一种可能的实现方式中,所述网络硬件,还包括:业务报文输入端口;
[0031]在所述网络硬件接收第一业务报文的情况下,所述网络硬件通过业务报文输入端口接收第三业务报文,所述第三业务报文与所述第一业务报文属于相同数据流;
[0032]所述网络硬件根据所述流表项,将所述第三业务报文输出至所述流表项中目标地址指向的硬件。
[0033]根据本公开的另一方面,提供了一种网络转发方法,所述网络转发方法包括:
[0034]接收第一业务报文,所述第一业务报文中包含待转发数据;
[0035]在未查询到所述第一业务报文的匹配流表项的情况下,将所述第一业务报文输入到软件转发控制器;
[0036]接收所述软件转发控制器返回的转发控制命令,所述软件转发控制命令中包含所
述待转发数据的转发控制信息;
[0037]根据所述软件转发控制命令,生成与所述第一业务报文所属数据流匹配的流表项。
[0038]在一种可能的实现方式中,所述将所述第一业务报文输入到所述软件转发控制器,包括:
[0039]根据所述第一业务报文,生成用于标识所述待转发数据所在数据流的唯一标识符;
[0040]将所述第一业务报文、所述唯一标识符封装为第一控制报文,将所述第一控制报文输入至所述软件转发控制器。
[0041]在一种可能的实现方式中,根据所述软件转发控制命令,生成与所述第一业务报文所属数据流匹配的流表项,包括:
[0042]解析所述软件转发控制命令的信息、所述第二业务报文的报头信息;
[0043]根据所述软件转发控制命令的信息、所述第二业务报文的报头信息,生成与所述第一业务报文所属数据流匹配的流表项;
[0044]所述软件转发控制命令的信息至少包括以下一种:物理端口号、队列号、优先级;所述第二业务报文的报头信息至少包括以下一种:目标网卡地址、目标互联网协议地址、生存时间值。
[0045]在一种可能的实现方式中,接收所述软件转发控制器返回的转发控制命令,所述软件转发控制命令中包含所述待转发数据的转发控制信息,包括:
[0046]接收所述软件转发控制器返回的第二控制报文,所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络转发设备,其特征在于,包括网络硬件和软件转发控制器,其中:所述网络硬件接收第一业务报文,所述第一业务报文中包含待转发数据;所述网络硬件在未查询到所述第一业务报文的匹配流表项的情况下,将所述第一业务报文输入到所述软件转发控制器;所述软件转发控制器根据所述第一业务报文,生成软件转发控制命令,并将所述软件转发控制命令输入到所述网络硬件,所述软件转发控制命令中包含所述待转发数据的转发控制信息;所述网络硬件根据所述软件转发控制命令,生成与所述第一业务报文所属数据流匹配的流表项。2.根据权利要求1所述的网络转发设备,其特征在于,所述网络硬件具体包括:流表模块、后处理模块、输出调度模块、控制报文输出端口;所述将所述第一业务报文输入到所述软件转发控制器,包括:所述流表模块根据所述第一业务报文,生成用于标识所述待转发数据所在数据流的唯一标识符;所述后处理模块将所述第一业务报文、所述唯一标识符封装为第一控制报文,并将所述第一控制报文输入所述输出调度模块;所述输出调度模块通过所述控制报文输出端口,将所述第一控制报文输入至所述软件转发控制器。3.根据权利要求2所述的网络转发设备,其特征在于,所述网络硬件包括:控制报文输入端口,输入调度模块、协议解析模块;所述软件转发控制器根据所述第一业务报文,生成软件转发控制命令,并将所述软件转发控制命令输入到所述网络硬件,包括:所述软件转发控制器,根据所述第一控制报文,生成第二业务报文及所述软件转发控制命令;并将所述第二业务报文、所述软件转发控制命令及所述唯一标识符封装为第二控制报文;并将所述第二控制报文通过所述控制报文输入端口,输入至所述输入调度模块;所述输入调度模块将所述第二控制报文输入至所述协议解析模块;所述协议解析模块,将所述控制报文解析为所述第二业务报文、所述软件转发控制命令及所述唯一标识符。4.根据权利要求3所述的网络转发设备,其特征在于,所述网络硬件包括:流表自学模块;所述协议解析模块,将所述第二业务报文、所述软件转发控制命令及所述唯一标识符输入所述流表自学模块;所述网络硬件根据所述软件转发控制命令,生成与所述第一业务报文所属数据流匹配的流表项,包括:所述流表自学模块解析所述软件转发控制命令的信息、所述第二业务报文的报头信息;根据所述软件转发控制命令的信息、所述第二业务报文的报头信息,生成与所述第一业务报文所属数据流匹配的流表项;所述软件转发控制命令的信息至少包括以下一种:物理端口号、队列号、优先级;所述第二业务报文的报头信息至少包括以下一种:目标网卡地址、目标互联网协议地址、生存时间值;
所述流...

【专利技术属性】
技术研发人员:袁光黄益人
申请(专利权)人:益思芯科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1