基于DPDK的可编程数据平面软件交换机的设计方法技术

技术编号:29764375 阅读:20 留言:0更新日期:2021-08-20 21:18
本发明专利技术提出了一种基于DPDK的可编程数据平面软件交换机的设计方法,包括:步骤一、配置x86芯片的DPDK环境;步骤二、编写P4文件进行数据平面的描述;步骤三、通过编译P4文件生成接入DPDK接口的配置文件以及传输给控制平面的设备描述符。本发明专利技术提出的方法无需使用专有的交换机芯片,通过使用廉价的x86架构的通用处理器芯片,即可实现可编程的数据平面转发。

【技术实现步骤摘要】
基于DPDK的可编程数据平面软件交换机的设计方法
本专利技术涉及交换机领域,尤其涉及一种基于DPDK的可编程数据平面软件交换机的设计方法。
技术介绍
软件定义网络(Software Defined Network,SDN)是由美国斯坦福大学clean-slate课题研究组提出的一种新型网络架构,其核心思想是通过将网络设备的转发面与数据面分离进行网络流量的控制,因其可以通过网络管理员对控制平面和数据平面分别进行可编程设计而受到运营商和数据中心的欢迎。对控制平面的可编程实现方案有数个开源框架,对于数据平面的可编程设计目前主要是由P4论文“P4:ProgrammingProtocolIndependentPacketProcessors”指导。业内专家关于P4的研究主要是针对流量控制、状态转发、协议无关等特征。P4语言联盟(https://p4.org/)提出的框架是通过编译P4源文件,生成配置JSON格式文件配置到bmv2软件交换机中,使用mininet工具仿真网络拓扑进行实验。在现实网络场景中部署P4目标交换机需要使用专有P4交换机芯片插入PCIE接口的主机上,受到极大的限制。综上所述,现有的可编程数据平面在物理环境中的实现依赖于专有的交换机芯片,各大厂商推出的专有芯片相互独立,互不兼容,加上配套的器件和附加电源模块导致交换机体积大,功耗高,造价贵。对于可编程数据平面语言P4的推广和应用造成极大的阻碍。
技术实现思路
为了解决上述问题,有必要提供一种基于DPDK的可编程数据平面软件交换机的设计方法。本专利技术第一方面提出一种基于DPDK的可编程数据平面软件交换机的设计方法,包括:步骤一、配置x86芯片的DPDK环境;步骤二、编写P4文件进行数据平面的描述;步骤三、通过编译P4文件生成接入DPDK接口的配置文件以及传输给控制平面的设备描述符。基于上述,配置x86芯片的DPDK环境的方法:重新编译内核模块,将UIO编译进内核模块中;设置1G或者2G的大页内存;将x86芯片的cpu与网络适配器进行绑定。基于上述,编写P4文件进行数据平面的描述具体包括:根据数据交换平台的报文类型和业务逻辑编写描述数据平面的P4源文件。基于上述,通过编译P4文件生成接入DPDK接口的配置文件以及传输给控制平面的设备描述符具体为:从cpu绑定的网络适配器接收数据报文,使用零拷贝技术,将网络地址传输到P4文件定义的解析器;解析器根据P4定义剥除报文头部,并根据流表内容将报文地址交由DPDK接口处理;最后将数据报文有效载荷进行报头封装,加入DPDK发送队列,经由网络适配器进行发送。本专利技术第二方面提出一种基于DPDK的可编程数据平面软件交换机的设计系统,包括x86芯片和网络适配器,所述x86芯片和网络适配器通信连接,用以执行如所述的基于DPDK的可编程数据平面软件交换机的设计方法。本专利技术相对现有技术具有突出的实质性特点和显著进步,具体的说:本专利技术提出的方法无需使用专有的交换机芯片,通过使用廉价的x86架构的通用处理器芯片,即可实现可编程的数据平面转发。本专利技术的附加方面和优点将在下面的描述部分中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1示出了本专利技术系统的原理框图。图2示出了本专利技术方法数据报文传输路径图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。本专利技术提供了一种基于DPDK的可编程数据平面软件交换机的设计系统,包括x86芯片和网络适配器,所述x86芯片和网络适配器通信连接,用以执行以下的基于DPDK的可编程数据平面软件交换机的设计方法:如图1所示,包括:步骤一、配置x86芯片的DPDK环境:重新编译内核模块,将UIO编译进内核模块中,从而减少收发报文从用户态和内核态的上下文切换操作;同时,考虑到虚拟内存的页表存储在内存中,增加大页将显著减少页表项数和查询页表的时钟周期,因此还设置1G或者2G的大页内存;另外,将x86芯片的cpu与网络适配器进行绑定,能够减少cpu进行上下文切换的时钟周期。步骤二、编写P4文件进行数据平面的描述:根据数据交换平台的报文类型和业务逻辑编写描述数据平面的P4源文件,其中,P4文件完整定义了接受的自定义报文类型、报文头部格式、流表形式、处理方式等结构。步骤三、通过编译P4文件生成接入DPDK接口的配置文件以及传输给控制平面的设备描述符:从cpu绑定的网络适配器接收数据报文,使用零拷贝技术,将网络地址传输到P4文件定义的解析器;解析器根据P4定义剥除报文头部,并根据流表内容将报文地址交由DPDK接口处理;最后将数据报文有效载荷进行报头封装,加入DPDK发送队列,经由网络适配器进行发送。本专利技术采用通用的X86架构实现了数据平面的处理,相比专用的转发芯片具有成本优势及生产优势;通过采用DPDK技术进行收发包的处理,相比bmv2软件交换机,使用cpu绑定网络适配器,减少了上下文切换的cpu花费;使用DMA减少了cpu的处理时钟周期,将报文的收发成本分发到网络适配器上;使用零拷贝技术及UIO内核模块,减少了报文从内核态到用户态再到内核态的拷贝时间;使用大页,减少了页表查询时间以及TLB不命中的概率。综合以上特征,本专利技术提出的方法实现了用廉价的x86架构的通用处理器芯片实现可编程的数据平面转发。以上所述,仅为本专利技术的具体实施方式,但本专利技术的保护范围并不局限于此,任何熟悉本
的技术人员在本专利技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本专利技术的保护范围之内。因此,本专利技术的保护范围应以所述权利要求的保护范围为准。本文档来自技高网
...

【技术保护点】
1.一种基于DPDK的可编程数据平面软件交换机的设计方法,其特征在于,包括:/n步骤一、配置x86芯片的DPDK环境;/n步骤二、编写P4文件进行数据平面的描述;/n步骤三、通过编译P4文件生成接入DPDK接口的配置文件以及传输给控制平面的设备描述符。/n

【技术特征摘要】
1.一种基于DPDK的可编程数据平面软件交换机的设计方法,其特征在于,包括:
步骤一、配置x86芯片的DPDK环境;
步骤二、编写P4文件进行数据平面的描述;
步骤三、通过编译P4文件生成接入DPDK接口的配置文件以及传输给控制平面的设备描述符。


2.根据权利要求1所述的基于DPDK的可编程数据平面软件交换机的设计方法,其特征在于,配置x86芯片的DPDK环境的方法:
重新编译内核模块,将UIO编译进内核模块中;
设置1G或者2G的大页内存;
将x86芯片的cpu与网络适配器进行绑定。


3.根据权利要求2所述的基于DPDK的可编程数据平面软件交换机的设计方法,其特征在于,编写P4文件进行数据平面的描述具体包括:
根据数据交换平台的报文类型和...

【专利技术属性】
技术研发人员:唐剀飞郭义伟冯志峰
申请(专利权)人:河南信大网御科技有限公司珠海高凌信息科技股份有限公司
类型:发明
国别省市:河南;41

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

1