本发明专利技术公开了一种数据包转发系统,包括:用户态和内核态;用户态包括:控制层、数据层和基于扩展伯克利数据包过滤器eBPF的软件开发工具包;内核态包括:网卡设备接口、基于快速数据路径XDP的数据包处理模块和内存空间;用户态和内核态通过共享的内存空间进行信息交互;其中,信息交互包括:用户态通过软件开发工具包向内存空间写入信息控制数据包处理模块的转发行为,通过读取内存空间的信息获取数据包处理模块在运行时产生的数据更新内存空间中写入的信息,实现用户态和内核态之间的双向交互,使内核态可以反向控制用户态更新转发行为规则,兼顾了性能的同时又充分利用了内核的功能,进一步完善了用户面功能的数据包转发功能。能。能。
【技术实现步骤摘要】
一种数据包转发系统
[0001]本专利技术涉及网络通信
,尤其涉及一种数据包转发系统。
技术介绍
[0002]随着第五代移动通信技术(5G)的发展,用户对带宽的要求越来越高,需要更高性能的数据包处理能力。
[0003]传统的用户面功能(User Plane Function,UPF)的数据包处理方法是基于传统的tcp/ip协议栈的方式建立socket的收包发包方式,但是这种方式需要把数据包从内核态拷贝到用户态,在整个过程中数据包经过了完整的内核协议栈,从内核态到用户态的上下文切换,多次的数据包拷贝,严重影响到了包的转发效率,同时伴随巨量的系统资源的消耗,成本巨大,很难去支持upf进行高性能的数据包转发。
[0004]目前,用户面功能实现高效率包转发主要包含以下两种路径,一是将数据包直接存放在用户态,完全绕过内核,数据平面开发工具包(Date plan edevelopment kit,DPDK)是这方面的典型代表,但是DPDK依然存在开发难度大、资源浪费、灵活性差的问题。另一种方式是把包处理代码放到内核里面去处理,eBPF提供一套完全而全面的体系,可以实现将自定义的代码放置到内核里面执行。但是,基于扩展伯克利包过滤器(extended Berkeley Packet Filte,eBPF)的数据包转发系统的功能目前还不完善,性能较差。
技术实现思路
[0005]本专利技术提供了一种数据包转发系统,相比于主流的DPDK方案,基于eBPF XDP设计的用户面功能的数据包转发系统兼顾了性能的同时又充分利用了内核的功能,具有高性能、低功耗、低硬件门槛、高适配性和易扩展等特性,进一步完善了用户面功能的数据包转发功能。
[0006]根据本专利技术的一方面,提供了一种数据包转发系统,集成于5G核心网的用户面功能,所述数据包转发系统包括:用户态和内核态;
[0007]所述用户态包括:控制层、数据层和基于扩展伯克利数据包过滤器的软件开发工具包;所述内核态包括:网卡设备接口、基于快速数据路径XDP的数据包处理模块和内存空间;
[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]网卡所配置的本地IP地址列表、抓包开启标志和最大传输单元。
[0036]进一步的,所述数据包处理模块用于从所述第一映射存储区中获取所述网卡配置信息和所述转发行为规则,基于所述网卡配置信息和所述转发行为规则对所述网卡接收到的数据包进行转发处理。
[0037]本专利技术实施例的技术方案,通过在传统的基于eBPF的数据包转发系统中,把包处理代码放到内核里面进行处理的单向控制的基础上,实现用户态和内核态之间的双向交互,使内核态可以反向控制用户态更新转发行为规则,解决了传统的基于eBPF的数据包转发系统功能不够完善,性能较差的问题;实现了兼顾性能的同时又充分利用内核的功能,具有高性能、低功耗、低硬件门槛、高适配性和易扩展等特性,进一步完善了用户面功能的数据包转发功能。
[0038]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0039]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]图1为本专利技术实施例一提供的一种数据包转发系统的结构示意图;
[0041]图2为本专利技术实施例二提供的另一种本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据包转发系统,其特征在于,集成于5G核心网的用户面功能,所述数据包转发系统包括:用户态和内核态;所述用户态包括:控制层、数据层和基于扩展伯克利数据包过滤器的软件开发工具包;所述内核态包括:网卡设备接口、基于快速数据路径XDP的数据包处理模块和内存空间;所述用户态和所述内核态通过共享的所述内存空间进行信息交互;其中,所述信息交互包括:所述用户态通过所述软件开发工具包向所述内存空间写入信息控制所述数据包处理模块的转发行为,通过读取所述内存空间的信息获取所述数据包处理模块在运行时产生的数据更新内存空间中写入的信息。2.根据权利要求1所述的系统,其特征在于,所述内存空间包括:第一映射存储区、第二映射存储区和环形缓冲区;所述第一映射存储区,用于存储所述用户态写入的网卡配置信息和转发行为规则;所述第二映射存储区,用于存储所述内核态采集的数据包处理模块在运行时产生的统计数据;所述环形缓冲区,用于存储所述内核态采集的数据包处理模块在运行时产生的事件消息。3.根据权利要求2所述的系统,其特征在于,所述环形缓冲区包括:转发行为规则请求通道、地址解析协议更新通道、日志通道和抓包通道。4.根据权利要求2
‑
3任一所述的系统,其特征在于,所述控制层包括:协议接入模块、会话管理模块和包检测规则管理模块;所述协议接入模块,用于接收包转发控制协议;所述会话管理模块,用于基于所述包转发控制协议管理会话上下文,并触发所述数据层更新所述第一映射存储区中的网卡配置信息和转发行为规则;所述包检测规则管理模块,用于基于所述包转发控制协议管理包检测规则。5.根据权利要求4所述的系统,其特征在于,所述数据层包括:控制器、消息解析器、数据包解析器、规则匹配模块和规则更新模块;所述消息解析器,用于通过所述软件开发工具包获取所述环形缓冲区中存储的事件消息,并对所述事...
【专利技术属性】
技术研发人员:杨小平,孙周,郑敏捷,
申请(专利权)人:深圳市领创星通科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。