[发明专利]用户态到内核态的数据报文处理方法有效
| 申请号: | 201310213794.5 | 申请日: | 2013-05-31 |
| 公开(公告)号: | CN103312601B | 公开(公告)日: | 2017-04-19 |
| 发明(设计)人: | 高福亮 | 申请(专利权)人: | 汉柏科技有限公司 |
| 主分类号: | H04L12/70 | 分类号: | H04L12/70 |
| 代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 王莹 |
| 地址: | 300384 天津市华*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用户 内核 数据 报文 处理 方法 | ||
1.一种用户态到内核态的数据报文处理方法,其特征在于,所述方法包括以下步骤:
S1、通过TUN/TAP驱动的方式在内核态创建虚拟网卡;
S2、在用户态进行网卡驱动加载,并将用户态的网络接口信息发送给所述虚拟网卡;
S3、所述虚拟网卡根据用户态的网络接口信息创建虚拟接口,所述虚拟接口的数量及状态与用户态的网络接口保持一致;
S4、当接收到需要内核态处理的报文时,用户态的网络接口将所述需要内核态处理的报文发送给所述虚拟网卡,所述虚拟网卡将所述需要内核态处理的报文发送给内核态进行处理,
步骤S3进一步包括:在所述虚拟接口中挂载所述虚拟网卡的报文处理函数,
步骤S4具体包括:
当接收到需要内核态处理的报文时,用户态的网络接口将所述需要内核态处理的报文发送给所述虚拟网卡,所述虚拟网卡查找出所述需要内核态处理的报文对应的虚拟接口,并调用该虚拟接口中挂载的所述虚拟网卡的报文处理函数,所述虚拟网卡的报文处理函数将所述需要内核态处理的报文发送给内核态进行处理。
2.根据权利要求1所述的方法,其特征在于,步骤S4之后还包括步骤:
S5、内核态将处理后得到的待发送报文发送给所述虚拟网卡,所述虚拟网卡将所述待发送报文发送给用户态的网络接口进行发送。
3.根据权利要求2所述的方法,其特征在于,步骤S4之前还包括步骤:
S0、在用户态创建报文链表A和报文链表B,其中,报文链表A用于对所述需要内核态处理的报文进行缓存,报文链表B用于对所述待发送报文进行缓存。
4.根据权利要求3所述的方法,其特征在于,步骤S4具体包括:
S401、当接收到需要内核态处理的报文时,用户态的网络接口将所述需要内核态处理的报文放入报文链表A;
S402、所述虚拟网卡从报文链表A中提取所述需要内核态处理的报文并将其发送给内核态进行处理。
5.根据权利要求3或4所述的方法,其特征在于,步骤S5具体包括:
S501、内核态将处理后得到的待发送报文发送给所述虚拟网卡,所述虚拟网卡将所述待发送报文放入报文链表B;
S502、用户态的网络接口从报文链表B中提取所述待发送报文并将其进行发送。
6.根据权利要求4所述的方法,其特征在于,步骤S402中,所述虚拟网卡通过write函数从报文链表A中提取所述需要内核态处理的报文。
7.根据权利要求5所述的方法,其特征在于,步骤S501中,所述虚拟网卡通过read函数将所述待发送报文放入报文链表B。
8.根据权利要求1所述的方法,其特征在于,步骤S1具体包括:
调用open函数以设备文件的形式在内核态创建虚拟网卡,并为所述虚拟网卡配置默认IP和路由。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310213794.5/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





