[发明专利]一种内核网桥下物理网卡和虚拟网卡快速收发包传递方法在审
申请号: | 201510959906.0 | 申请日: | 2015-12-21 |
公开(公告)号: | CN105553889A | 公开(公告)日: | 2016-05-04 |
发明(设计)人: | 王栋 | 申请(专利权)人: | 浪潮集团有限公司 |
主分类号: | H04L12/935 | 分类号: | H04L12/935 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 张靖 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内核 桥下 物理 网卡 虚拟 快速 收发 传递 方法 | ||
1.一种内核网桥下物理网卡和虚拟网卡快速收发包传递方法,其特征在于:所述方法通过修改内核网络协议栈的代码,使数据包在收发时绕过网桥模块的处理,直接在物理网卡和虚拟网卡之间进行数据包的传递,在网桥创建时分别将物理网卡和虚拟网卡进行对应,收发数据包时根据mac地址快速传递。
2.根据权利要求1所述的一种内核网桥下物理网卡和虚拟网卡快速收发包传递方法,其特征在于:所述方法的设计结构包括:1)物理网卡登记虚拟网卡模块、2)虚拟网卡登记其寄生物理网卡模块、3)mac地址快速查找;其中:
1)物理网卡登记虚拟网卡模块,基于虚拟网卡绑定在物理网卡上以及虚拟网卡接收到的网络数据包来自物理网卡的特点,设计物理网卡记录其上的虚拟网卡,以便于物理网卡接收到的数据包能够快速传递到虚拟网卡;
2)虚拟网卡登记其寄生物理网卡模块,虚拟网卡的网络数据包是经过物理网卡发送出去的,设计虚拟网卡记录对应的物理网卡,以便于虚拟网卡要发送的数据包能够快速通过物理网卡发送出去;
3)mac地址快速查找,通过mac地址快速查找到虚拟网卡,以便虚拟网卡对应的驱动程序快速处理数据报文。
3.根据权利要求1或2所述的一种内核网桥下物理网卡和虚拟网卡快速收发包传递方法,其特征在于:所述方法通过在linux系统上使用lxc容器的网桥模式,创建容器在物理网卡上添加虚拟网卡时,将虚拟网卡的信息添加到物理网卡的队列中,同时将物理网卡的信息添加到虚拟网卡中,并使用哈希队列使得通过MAC地址能够在物理网卡的队列中快速查找到虚拟网卡的信息。
4.根据权利要求3所述的一种内核网桥下物理网卡和虚拟网卡快速收发包传递方法,其特征在于:所述方法在专用系统上物理网卡从网络接收到数据包后,根据数据包的目标mac地址通过哈希算法快速查找到虚拟网卡,然后调用虚拟网卡的驱动接收函数将数据包快速上传到网络协议栈的上层进行处理。
5.根据权利要求4所述的一种内核网桥下物理网卡和虚拟网卡快速收发包传递方法,其特征在于:所述方法当虚拟网卡需要向网络上发送数据包时,首先在虚拟网卡的私有数据找到物理网卡,然后调用物理网卡的驱动程序将数据包发送到网络上。
6.根据权利要求5所述的一种内核网桥下物理网卡和虚拟网卡快速收发包传递方法,其特征在于,所述方法的具体实施过程如下:
1)首先修改linux内核源码,在物理网卡的net_device的结构体的私有数据中添加虚拟网卡的哈希队列,在虚拟网卡的net_device结构体的私有数据中添加绑定的物理网卡结构体;
2)修改物理网卡接收数据包的函数,当接收到数据包时判断物理网卡是否处于网桥模式下,若处于网桥模式下,则根据数据的目的mac快速查找虚拟网卡,然后调用虚拟网卡驱动的接收函数进行接收数据包;
3)修改虚拟网卡的发送函数,若将数据包发送到网络上时,则在私有数据中查找物理网卡,然后调用物理网卡驱动的发送函数将数据包发送出去;
4)修改完内核代码,然后编程生成新的linux内核,将编译生成的新内核替换掉专用系统原有的linux内核。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团有限公司,未经浪潮集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510959906.0/1.html,转载请声明来源钻瓜专利网。