[发明专利]基于虚拟网卡技术的多隧道并发模型实现方法有效

专利信息
申请号: 200910033851.5 申请日: 2009-06-18
公开(公告)号: CN101626337A 公开(公告)日: 2010-01-13
发明(设计)人: 黄林;杨震;张尊平;沈超;任建国;陆志强;庞海东 申请(专利权)人: 南京联创科技股份有限公司
主分类号: H04L12/46 分类号: H04L12/46;H04L29/06;H04L12/56;H04L29/12
代理公司: 南京天翼专利代理有限责任公司 代理人: 陈建和
地址: 210013江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 虚拟 网卡 技术 隧道 并发 模型 实现 方法
【说明书】:

一、技术领域

发明涉及基于虚拟网卡技术的多隧道并发模型实现方法。涉及大并发量、大数据量的数据处理,需要多个进程或是线程能并发的与虚拟网卡进行数据交互的方法。

二、背景技术

虚拟网卡技术被广泛的应用于VPN领域,如开源项目OpenVpn,其就使用了tun/tap驱动程序来实现虚拟网卡的功能。

使用tun驱动的应用程序在初始化虚拟网卡时,会建立一个文件描述字fd,此后,应用程序通过该文件描述字与虚拟网卡进行数据交互。

大并发量、大数据量的TCP应用程序模型,往往都是一个进程或一个线程来处理一个独立的Tcp连接,通过启用多进程或多线程的方式,来实现对大并发量、大数据量的支持。如果以此基础来实现多隧道的并发模型,这就需要多个进程或是线程能并发的与虚拟网卡进行数据交互。使用tup驱动来实现此种应用时,处理并发连接的进程和使用tun驱动的进程之间需要进行额外的数据通信,显然,这存在着一定的性能缺陷。

三、发明内容

本发明的发明目的是:提供一种基于虚拟网卡技术的多隧道并发模型实现方法,尤其是实现一种虚拟网卡驱动程序,该驱动能支持与多进程间的并发通信,从而支持多隧道的建立,解决性能问题。通过对虚拟网卡驱动的修改实现:修改启动虚拟网卡的驱动操作,并在此基础之上,增加注册虚拟网卡实例的功能。以此基础来实现多进程或是多线程与虚拟网卡的并发数据交互,从而支持大并发量、大数据量的处理。

一种基于虚拟网卡技术的支持大并发量、大数据量的多隧道并发模型实现方法:建立隧道时,应用程序的处理进程获取虚拟地址,然后进行虚拟网卡使用实例的注册,建立与虚拟网卡通信的文件描述字;当虚拟网卡接收到协议栈转发的数据时,根据数据包的目的地址(即虚拟地址),将数据包转发给相应的文件描述字,从而交由正确的处理进程进行处理;

每个进程处理一个隧道,一个隧道的处理过程可分为建立隧道、数据转发以及拆除隧道,具体步骤如下:

●建立隧道

客户端发送建立隧道请求,隧道网关的应用程序fork一个新的进程来处理该请求:

1)fork一个新的进程,处理客户端的建立TCP连接请求;

2)接收客户端的建立隧道请求;

3)选取一个未使用的虚拟地址,准备分配给客户端;

4)以该虚拟地址为关键IP,调用虚拟网卡的DUMMY_INSTANCE_REGISTER服务,完成虚拟网卡使用实例的注册;

5)返回给客户端隧道建立成功报文;

●数据转发

隧道建立成功后,隧道网关负责转发客户端与应用服务器之间的通信数据:

1)客户端将IP数据包封装入隧道报文,将隧道报文发送给隧道网关;

2)隧道网关处理进程接收到数据包后,解析隧道报文,提取其中封装的IP数据包,然后将IP数据包通过与虚拟网卡关联的文件描述字,提交给虚拟网卡驱动;

3)虚拟网卡驱动将数据包提交给协议栈,协议栈通过路由匹配,将数据包转发给应用服务器;

4)应用服务器将响应数据包发送给隧道网关;

5)隧道网关协议栈根据路由,将数据包传送给虚拟网卡;

6)虚拟网卡驱动根据数据包的目的地址(虚拟地址),查看与其对应的虚拟网卡实例是否已经注册,如果已经注册,则唤醒相应的隧道网关处理进程读取数据;否则丢弃该数据包;

7)隧道网关处理进程读取数据之后,将其封装入隧道报文,发送给客户端;

●拆除隧道

当客户端断开tcp连接或是超时时,则需要拆除隧道连接,隧道网关将回收地址池分配出去的虚拟地址,并调用虚拟网卡的DUMMY_INSTANCE_UNREGISTER服务,进行虚拟网卡的虚拟实例的注销。

本发明的有益效果是:实现了基于虚拟网卡技术的多隧道并发模型;解决了使用tun驱动的性能低下的问题,性能提升50%以上;虚拟网卡驱动的实现原理基本同tun驱动,本发明修改了启动虚拟网卡的驱动操作,并在此基础之上,增加了注册虚拟网卡实例的功能。

四、附图说明

图1是本发明关系图

图2是隧道建立过程示意图

图3是转发数据示意图

图4是隧道拆除过程示意图

五、具体实施方式

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京联创科技股份有限公司,未经南京联创科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910033851.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top