[发明专利]一种网络通信方法和装置有效
| 申请号: | 202310083040.6 | 申请日: | 2023-02-08 |
| 公开(公告)号: | CN115834665B | 公开(公告)日: | 2023-06-23 |
| 发明(设计)人: | 李嘉瑛 | 申请(专利权)人: | 天翼云科技有限公司 |
| 主分类号: | H04L67/50 | 分类号: | H04L67/50;H04L69/16;H04L69/30 |
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100093 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 网络 通信 方法 装置 | ||
本发明实施例提供了一种网络通信方法和装置,该方法包括:在接收到针对Socket的目标应用服务时,执行所述目标应用服务;在执行所述目标应用服务时,加载VPP的动态库;通过加载所述动态库,将所述目标应用服务的流量传送至基于所述VPP构建的用户态协议栈。通过本发明实施例,实现了在用户态协议栈中处理目标应用服务,无需切换内核态协议栈,从而避免了内核态协议栈对单机性能的影响,提高网络通信性能。
技术领域
本发明涉及网络通信技术领域,特别是涉及一种网络通信方法和装置。
背景技术
随着互联网时代应用规模越来越大,DNS(Domain Name System,域名系统)域名解析服务也承受着越来越大的压力,对于CPU、内存、带宽、IO等都提出了新的挑战。
目前,绝大多数的服务端应用都是运行在Linux服务器上面,并依赖Linux本身的TCP/IP协议栈来实现网络通信,DNS域名解析服务也不例外。Linux的TCP/IP协议栈完全运行于内核态中,同时,Linux作为一个通用的多用户多进程操作系统必须要考虑很多同步和竞态的问题,因此,其PPS(PacketPer Second,包每秒,用于表示以网络包为单位的传输速率,一般用来评估系统对于网络的转发能力)并不是很高,在DNS域名解析服务这种高网络IO(Input/Output,输入/输出)的场景下面很容易成为瓶颈,即由于内核数据包复制、CPU中断、系统调用导致的上下文切换、内核自旋锁等原因,DNS域名解析服务往往在触及CPU上限或者网卡上限的时候就已经达到了Linux内核网络处理的瓶颈,从而由于软件限制了硬件的能力,导致了单机性能无法提升。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种网络通信方法和装置,包括:
一种网络通信方法,所述方法包括:
在接收到针对Socket的目标应用服务时,执行所述目标应用服务;
在执行所述目标应用服务时,加载VPP的动态库;
通过加载所述动态库,将所述目标应用服务的流量传送至基于所述VPP构建的用户态协议栈。
可选地,还包括:
在所述用户态协议栈中,生成所述目标应用服务的目标数据帧;
基于所述目标数据帧生成目标电子信号;
将所述目标电子信号传送至目标用户。
可选地,所述用户态协议栈包括传输层以及基于DPDK的网络层和所述数据链路层,所述DPDK与网卡进行交互。
可选地,所述在所述用户态协议栈中,生成所述目标应用服务的目标数据帧,包括:
依照所述传输层的TCP协议,生成所述目标应用服务的TCP网络包;
将所述TCP网络包传输至所述网络层;
在所述网络层中,生成所述TCP网络包对应的IP网络包;
将所述IP网络包传输至所述数据链路层;
在所述数据链路层中,生成所述IP网络包对应的目标数据帧。
可选地,所述基于所述目标数据帧生成目标电子信号,包括:
基于所述DPDK将所述目标数据帧发送至所述网卡;
在所述网卡中,生成所述目标数据帧对应的电子信号。
可选地,所述VPP还包括内存和队列管理,所述内存和队列管理用于针对待处理的目标应用服务分配内存以及进行队列排序。
可选地,所述目标应用服务为DNS域名解析服务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天翼云科技有限公司,未经天翼云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310083040.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:等离子体射流对撞喷嘴装置
- 下一篇:一种液压修井洗井作业一体机及使用方法





