[发明专利]基于DPDK的多端口准入准出的方法有效
申请号: | 201711064766.6 | 申请日: | 2017-11-02 |
公开(公告)号: | CN107786458B | 公开(公告)日: | 2021-06-25 |
发明(设计)人: | 黄友俊;李星;吴建平;王飞 | 申请(专利权)人: | 下一代互联网重大应用技术(北京)工程研究中心有限公司;赛尔网络有限公司 |
主分类号: | H04L12/803 | 分类号: | H04L12/803;H04L12/833;H04L12/851;H04L12/865 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 100084 北京市海淀区中*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 dpdk 多端 准入 方法 | ||
1.一种基于DPDK的多端口准入准出的方法,包括:
进行均衡流量负载设置,根据端口当前的负载情况及业务重要性分配流量的出口,为每个收端口收队列和发端口发队列设置权重,根据所述权重确定的收端口收队列和发端口发队列的收发优先级,所述权重越大则收发优先级越高;
根据收端口收队列和发端口发队列的收发优先级来设置DPDK转发数据包依据的流表,对优先级高的收发队列进行优先转发,确定表征数据包转发路径的五元组,所述五元组包括:收端口号,收队列号,CPU逻辑核,发端口号,发队列号;
根据所述五元组中的收端口号,收队列号,发端口号,发队列号确定的数据包转发路径,调用DPDK提供的接口函数转发数据包。
2.根据权利要求1所述的方法,设置DPDK转发数据包依据的流表的步骤包括:
在进行初始设置时,根据配置文件或者输入参数设置五元组结构体数组,所述五元组结构体包括接收端口号、接收队列号、发送端口号、发送队列号,并将CPU逻辑核编号作为对应的五元组结构体数组下标使用。
3.根据权利要求2所述的方法,所述进行均衡流量负载设置的步骤包括:
收端口收队列的权重由收端口流量带宽和业务重要性两个参数确定,发端口发队列的权重由发端口流量带宽确定。
4.根据权利要求3所述的方法,所述为每个收端口和发端口设置权重的步骤包括:
有n个收端口,每个端口有一个收发队列,初始时设置每个收队列的带宽都是0,业务重要性按照从高到低的顺序分别为P1、P2…Pn;
当设备开始工作时,每个收队列的流量开始产生,每隔预定时间计算一次带宽;
当工作了预定时间后,计算所述每个收队列的权重:(该队列已接收字节数/100)*业务重要性,然后按照权重进行收发优先级排列。
5.根据权利要求1所述的方法,所述转发数据包前,还包括步骤:
对于多Node节点架构的服务器,每一个所述Node节点包含一组CPU、内存和PCI总线,检查是否存在本端CPU跨Node节点访问的情况,若存在跨Node节点访问的情况则对用户进行提醒。
6.根据权利要求5所述的方法,所述检查是否存在本端CPU跨Node节点访问的情况包括:跨Node节点访问对端内存或者PCI设备。
7.根据权利要求1所述的方法,所述转发数据包时,调用端口发送数据包函数,该函数自动对应所运行的CPU逻辑核,并调用所述五元组中的收端口号,收队列号,发端口号,发队列号。
8.根据权利要求1所述的方法,所述转发数据包时,调用端口发送缓存函数、端口发送缓存刷新函数。
9.根据权利要求1所述的方法,所述进行均衡流量负载设置前需设置用于DPDK运行的系统环境。
10.根据权利要求9所述的方法,所述设置用于DPDK运行的系统环境包括:设置用于DPDK运行的系统环境包括:编译部署DPDK软件包、设置大页内存、加载igb_uio内核模块、绑定网卡、挂载文件系统hugelbfs和设置CPU隔离。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于下一代互联网重大应用技术(北京)工程研究中心有限公司;赛尔网络有限公司,未经下一代互联网重大应用技术(北京)工程研究中心有限公司;赛尔网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711064766.6/1.html,转载请声明来源钻瓜专利网。