[发明专利]基于DPDK的多端口准入准出的方法有效
申请号: | 201711064766.6 | 申请日: | 2017-11-02 |
公开(公告)号: | CN107786458B | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 黄友俊;李星;吴建平;王飞 | 申请(专利权)人: | 下一代互联网重大应用技术(北京)工程研究中心有限公司;赛尔网络有限公司 |
主分类号: | H04L12/803 | 分类号: | H04L12/803;H04L12/833;H04L12/851;H04L12/865 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 100084 北京市海淀区中*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 dpdk 多端 准入 方法 | ||
本公开提供了一种基于DPDK的多端口准入准出的方法,包括:进行均衡流量负载设置,根据端口当前的负载情况及业务重要性分配流量的出口,为每个收端口收队列和发端口发队列设置权重,所述权重越大则收发优先级越高;根据所述队列的收发优先级来设置DPDK转发数据包依据的流表,对优先级高的收发队列进行优先转发,确定表征数据流转发路径的五元组,所述五元组包括:收端口号,收队列号,CPU逻辑核,发端口号,发队列号;根据所述五元组中的收端口号,收队列号,发端口号,发队列号确定的流转发路径,调用DPDK提供的接口函数转发数据包。本公开实现了DPDK高性能场景设计端口间流权重的分析和调度。
技术领域
本发明涉及互联网技术领域,更具体地,涉及一种基于DPDK的多端口准入准出方法,该方法可以用于计费网关、负载均衡等技术中,可以极大地提升多端口准入准出的转发性能。
背景技术
DPDK是Data Plane Development Kit的缩写,由Intel、6WIND等多家公司联合开发,旨在提升x86平台下对数据包的处理性能。传统的linux内核没有针对大流量应用场景进行专门定制开发,虽然也可以进行优化提升转发性能,但是与生俱来的中断机制限制了读取数据报文的能力。并且目前大流量应用场景主要是利用FPGA编程或者网络处理器来实现,这两种技术开发成本较高。
公开内容
(一)要解决的技术问题
本公开提供了一种基于DPDK的多端口准入准出方法,以至少部分解决以上所提出的技术问题。
(二)技术方案
根据本公开的一个方面,提供了一种基于DPDK的多端口准入准出的方法,包括:进行均衡流量负载设置,根据端口当前的负载情况及业务重要性分配流量的出口,为每个收端口收队列和发端口发队列设置权重,所述权重越大则收发优先级越高;根据所述权重确定的收端口收队列和发端口发队列的收发优先级来设置DPDK转发数据包依据的流表,对优先级高的收发队列进行优先转发,确定表征数据流转发路径的五元组,所述五元组包括:收端口号,收队列号,CPU逻辑核,发端口号,发队列号;根据所述五元组中的收端口号,收队列号,发端口号,发队列号确定的流转发路径,调用DPDK提供的接口函数转发数据包。
在本公开一些实施例中,设置DPDK转发数据包依据的流表的步骤包括:在进行初始设置时,根据配置文件或者输入参数设置五元组结构体数组,所述五元组结构体包括接收端口号、接收队列号、发送端口号、发送队列号,并将CPU逻辑核编号作为对应的五元组结构体数组下标使用。
在本公开一些实施例中,所述进行均衡流量负载设置的步骤包括:收端口收队列的权重由收端口流量带宽和业务重要性两个参数确定,发端口发队列的权重由发端口流量带宽确定。
在本公开一些实施例中,所述为每个收端口和发端口设置权重的步骤包括:有n个收端口,每个端口有一个收发队列,初始时设置每个收队列的带宽都是0,业务重要性按照从高到低的顺序分别为P1、P2…Pn;当设备开始工作时,每个收队列的流量开始产生,每隔预定时间计算一次带宽;当工作了预定时间后,计算所述每个队列的权重:(该队列已接收字节数(兆)/100)*业务重要性,然后按照权重进行收发优先级排列。
在本公开一些实施例中,所述转发数据包前,还包括步骤:
对于多Node节点架构的服务器,每一个所述Node节点包含一组CPU、内存和PCI总线,检查是否存在本端CPU跨Node节点访问的情况,若存在跨Node节点访问的情况则对用户进行提醒。
在本公开一些实施例中,所述在程序中检查是否存在本端CPU跨Node节点访问的情况包括:跨Node节点访问对端内存或者PCI设备。
在本公开一些实施例中,所述转发数据包时,调用端口发送数据包函数,该函数自动对应所运行的CPU逻辑核,并调用所述五元组中的收端口号,收队列号,发端口号,发队列号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于下一代互联网重大应用技术(北京)工程研究中心有限公司;赛尔网络有限公司,未经下一代互联网重大应用技术(北京)工程研究中心有限公司;赛尔网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711064766.6/2.html,转载请声明来源钻瓜专利网。