[发明专利]一种数据包处理方法和装置有效
申请号: | 201380002979.X | 申请日: | 2013-12-25 |
公开(公告)号: | CN104969533B | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 唐继元;王伟;陈克平 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据包 处理 方法 装置 | ||
本发明实施例公开了一种数据包处理方法和装置,该可包括:获取第一数据包,并解析所述第一数据包的包头,得到所述包头中DPS域包括的第一标识;其中,所述DPS域为用于携带接收设备的协议栈的标识或者特定标识的域,所述特定标识用于表示所述接收设备与发送设备未建立协议栈对应关系,所述接收设备为所述包头中目的地址标识的设备,所述发送设备为所述包头中源地址标识的设备;根据所述第一标识将所述第一数据包分配至第一目标协议栈,所述第一目标协议栈处理所述第一数据包;其中,所述第一目标协议栈为启动的多个协议栈中的协议栈。本发明实施例可以提高协议栈的性能,从而提高设备的性能。
技术领域
本发明涉及通信领域,尤其涉及一种数据包处理方法和装置。
背景技术
网络通信技术的快速发展促使网络带宽和流量不断增大,而网络带宽和流量的增大,导致协议栈的负载也增大,这样协议栈的处理能力逐渐成为设备总体性能的瓶颈。
虽然目前多核技术和网卡多队列技术的出现,能够将网络负载分摊到多个内核上,但这些内核仍然共享一个协议栈。这样当多个内核同时获取到数据包时,这些内核都就会同时去访问协议栈的套接字(socket)链表,或者访问协议栈的传输控制协议(Transmission Control Protocol,TCP)状态机或者通过协议栈进行TCP重组或者通过协议栈进行因特网互联协议(Internet Protocol,IP)重组时,都将导致锁竞争开销、缓存(cache)失效开销、同步开销或者异步开销等额外的开销。且内核数越多时,这些额外的开销就会越多。
可见,目前协议栈的性能比较低,从而设备的性能也会比较低。
发明内容
本发明实施例提供了一种数据包处理方法和装置,可以解决目前协议栈的性能比较低,从而设备的性能也会比较低的问题。
第一方面,本发明实施例提供一种数据包处理方法,包括:
获取第一数据包,并解析所述第一数据包的包头,得到所述包头中目标协议栈(Destination Protocol Stack,DPS)域包括的第一标识;其中,所述DPS为用于携带接收设备的协议栈的标识或者特定标识的域,所述特定标识用于表示所述接收设备与发送设备未建立协议栈对应关系,所述接收设备为所述包头中目的地址标识的设备,所述发送设备为所述包头中源地址标识的设备;
根据所述第一标识将所述第一数据包分配至第一目标协议栈,所述第一目标协议栈处理所述第一数据包;其中,所述第一目标协议栈为启动的多个协议栈中的协议栈。
在第一方面的第一种可能的实现方式中,所述第一标识为所述接收端的协议栈的标识;
所述根据所述第一标识将所述第一数据包分配至第一目标协议栈,所述第一目标协议栈处理所述第一数据包,包括:
从启动的多个协议栈中选择标识为所述第一标识的第一目标协议栈;
将所述第一数据包分配至所述第一目标协议栈,所述第一目标协议栈处理所述第一数据包。
结合第一方面,在第一方面的第二种可能的实现方式中,所述第一标识为所述特定标识;
所述根据所述第一标识将所述第一数据包分配至第一目标协议栈,所述第一目标协议栈处理所述第一数据包,包括:
根据所述第一标识识别到未与所述发送设备未建立协议栈对应关系,并将所述第一数据包广播给启动的多个协议栈,当第一目标协议栈识别该第一目标协议栈包括所述第一数据包的服务类型的服务时,所述第一目标协议栈处理所述第一数据包;或者
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380002979.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种编码或解码视频数据的方法及装置
- 下一篇:向设备驱动器发布通知数据