虚拟网卡的数据传输方法及装置的制造方法

文档序号:10578043阅读:267来源:国知局
虚拟网卡的数据传输方法及装置的制造方法
【专利摘要】本发明提供一种虚拟网卡的数据传输方法及装置,所述方法包括:获取网关为目标虚拟网卡分配的第一IP地址;检测所述第一IP地址是否与预设网卡的IP地址在同一网段;当所述第一IP地址与所述预设网卡的IP地址在同一网段时,为所述目标虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二IP地址;通过配置有所述第二IP地址的目标虚拟网卡传输报文。本发明中,当网关为目标虚拟网卡配置的第一IP地址与其他网卡的IP地址在同一网段时,为该目标虚拟网卡配置了另一不同网段的第二IP地址,因此不会有IP地址冲突问题,能保证用户的信息安全,提高信息传输的可靠性。
【专利说明】
虚拟网卡的数据传输方法及装置
技术领域
[0001]本申请涉及网络通信技术领域,尤其涉及虚拟网卡的数据传输方法及装置。
【背景技术】
[0002]VPN(Virtual Private Network,虚拟专用网络)是指在公用网络上建立的专用网络。为了计算机和VPN网关之间的数据包以加密的方式传输,用户需安装与VPN网关对应的VPN客户端(以下简称客户端)。客户端需借用VPN虚拟网卡(以下简称虚拟网卡)对数据包的弓I流来对数据包进行加封装和解封装,从而完成数据包的传输。
[0003]随着计算机硬件的飞速发展,一台计算机上可同时拥有多个虚拟网卡和物理网卡;各个网卡的IP地址通常容易冲突,由于每个网卡在配置IP时都会向路由表添加直连路由、广播路由等,如果两个IP地址不同,但在同一网段,会导致有两条目的IP地址和掩码相同,但网关不同和跃点不同的路由表项,此时当报文到达后会根据跃点小的路由表项来决定到达哪一个网关。如果此时VPN虚拟网卡所下发的路由的跃点数大于原有路由跃点数,此时就会造成报文无法送达VPN虚拟网卡,这样就造成客户端无法对用户的数据包进行正确的传输,从而对用户的信息安全造成威胁。

【发明内容】

[0004]有鉴于此,本申请提供一种虚拟网卡的数据传输方法及装置,可以解决虚拟网卡的数据包无法正确传输的问题。
[0005]具体地,本申请是通过如下技术方案实现的:
[0006]—种虚拟网卡的数据传输方法,包括:
[0007]获取网关为目标虚拟网卡分配的第一 IP地址;
[0008]检测所述第一 IP地址是否与预设网卡的IP地址在同一网段;
[0009]当所述第一 IP地址与所述预设网卡的IP地址在同一网段时,为所述目标虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二 IP地址;
[0010]通过配置有所述第二 IP地址的目标虚拟网卡传输报文。
[0011]可选的,所述通过配置有所述第二 IP地址的目标虚拟网卡传输报文,包括:
[0012]获取所述目标虚拟网卡传输给所述网关的上行报文;其中,所述上行报文的源地址为所述第二 IP地址;
[0013]将所述上行报文中的源地址修改为所述第一 IP地址;
[0014]将修改后的上行报文封装后发送给所述网关。
[0015]可选的,所述将所述上行报文中的源地址修改为所述第一 IP地址,包括:
[0016]在预设的地址记录表中查找与所述目标虚拟网卡及第二 IP地址对应的第一 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系;
[0017]将所述上行报文中的源地址字段的字段值替换为所述第一 IP地址。
[0018]可选的,所述通过配置有所述第二 IP地址的目标虚拟网卡传输报文,包括:
[0019]接收所述网关向所述目标虚拟网卡发送的下行报文;其中,所述下行报文的目的地址为所述第一 IP地址;
[0020]将所述下行报文中的目的地址修改为所述第二 IP地址;
[0021]将修改后的下行报文发送给所述目标虚拟网卡。
[0022]可选的,所述将所述下行报文中的目的地址修改为所述第二 IP地址,包括:
[0023]在预设的地址记录表中查找与所述目标虚拟网卡及第一 IP地址对应的第二 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系;
[0024]将所述下行报文中的目的地址字段的字段值替换为所述第二 IP地址。
[0025]对应的,本发明实施例还提供了一种虚拟网卡的数据传输装置,包括:
[0026]第一地址获取单元,用于获取网关为目标虚拟网卡分配的第一 IP地址;
[0027]检测单元,用于检测所述第一 IP地址是否与预设网卡的IP地址在同一网段;
[0028]配置单元,用于当所述第一 IP地址与所述预设网卡的IP地址在同一网段时,为所述目标虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二 IP地址;
[0029]传输单元,用于通过配置有所述第二 IP地址的目标虚拟网卡传输报文。
[0030]可选的,所述传输单元,还包括:
[0031]上行报文获取子单元,用于获取所述目标虚拟网卡传输给所述网关的上行报文;其中,所述上行报文中记录的源地址为所述第二 IP地址;
[0032]第一修改子单元,用于将所述上行报文中的源地址修改为所述第一 IP地址;
[0033]第一发送子单元,用于将修改后的上行报文封装后发送给所述网关。
[0034]可选的,所述第一修改子单元包括:
[0035]第一查找模块,用于在预设的地址记录表中查找与所述目标虚拟网卡及第二 IP地址对应的第一 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系;
[0036]第一替换模块,用于将所述上行报文中的源地址字段的字段值替换为所述第一 IP地址。
[0037]可选的,所述传输单元,还包括:
[0038]下行报文接收子单元,用于接收所述网关向所述目标虚拟网卡发送的下行报文;其中,所述下行报文中记录的目的地址为所述第一 IP地址;
[0039]第二修改子单元,用于将所述下行报文中的目的地址修改为所述第二 IP地址;
[0040]第二发送子单元,用于将修改后的下行报文发送给所述目标虚拟网卡。
[0041]可选的,所述第二修改子单元包括:
[0042]第二查找模块,用于在预设的地址记录表中查找与所述目标虚拟网卡及第一 IP地址对应的第二 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系;
[0043]第二替换模块,用于将所述下行报文中的目的地址字段的字段值替换为所述第二IP地址。
[0044]本发明的实施例提供的技术方案可以包括以下有益效果:
[0045]本发明在获取网关为目标虚拟网卡分配的第一 IP地址时,检测所述第一 IP地址是否与预设网卡的IP地址在同一网段;当所述第一 IP地址与预设网卡的IP地址在同一网段时,为所述目标虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二 IP地址;本发明中,由于当网关为目标虚拟网卡的第一 IP地址与其他网卡的IP地址在同一网段时,为该目标虚拟网卡配置了另一与所有其他网卡的IP地址都不在相同网段的第二 IP地址,因此通过该目标虚拟网卡传输数据时,不会有IP地址冲突问题,能保证用户的信息安全,提高信息传输的可靠性。本发明不会改变网关配置IP地址的过程,其改造成本较低。
[0046]本发明由于为目标虚拟网卡配置了第二 IP地址,而网关记录的目标虚拟网卡是第一 IP地址,在向网关发送上行报文时将上行报文的源地址修改为第一 IP地址,从而使网关准确获得上行报文中的信息,保证网关能对上行报文的正确转发。其中,在修改所述上行报文中的源地址时,根据报文格式,将源地址字段对应的字段值替换为所述第一 IP地址,地址修改过程无需改变报文格式,处理效率高,不会影响报文的传输速度。
[0047]本发明由于为目标虚拟网卡配置了第二 IP地址,而网关记录的目标虚拟网卡是第一 IP地址,在接收到网关的下行报文时将下行报文的目的地址修改为第二 IP地址,从而使下行报文能顺利到达目标虚拟网卡。其中,在修改所述上行报文中的目的地址时,根据报文格式,将目的地址字段对应的字段值替换为所述第二 IP地址,地址修改过程无需改变报文格式,处理效率高,不会影响报文的传输速度。
【附图说明】
[0048]图1是应用本发明实施例实现虚拟网卡的数据传输的应用场景示意图。
[0049]图2是本发明虚拟网卡的数据传输方法的一个实施例流程示意图。
[0050]图3A是本发明虚拟网卡的数据传输方法的另一个实施例流程示意图。
[0051]图3B是本发明实施例示出的一种上行报文的示意图。
[0052]图3C是本发明实施例示出的一种修改后的上行报文的示意图。
[0053]图4A是本发明虚拟网卡的数据传输方法的另一个实施例流程示意图。
[0054]图4B是本发明实施例示出的一种下行报文的示意图。
[0055]图4C是本发明实施例示出的一种修改后的下行报文的示意图。
[0056]图5是本发明虚拟网卡的数据传输装置所在设备的一种硬件结构图。
[0057]图6是本发明虚拟网卡的数据传输装置的一个实施例框图。
【具体实施方式】
[0058]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0059]在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0060]应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0061]如图1所示,是应用本发明实施例实现虚拟网卡的数据传输的应用场景示意图。图1中,客户端可以为移动终端以及非移动终端,非移动终端包括台式计算机,移动终端包括智能手机、平板电脑、笔记本电脑、个人数字助理等。客户端中包括有物理网卡,并且设置了多个VPN虚拟网卡,客户端可通过各个虚拟网卡与VPN网关之间的互联网通信实现数据交互。
[0062]如图2所述,是本发明虚拟网卡的数据传输方法在一实施例中的流程示意图,本发明实施例的方法可以应用于如图1所述的客户端中,包括如下步骤:
[0063]在步骤201中,获取网关为目标虚拟网卡分配的第一 IP地址。
[0064]网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是复杂的网络互连设备,仅用于两个高层协议不同的网络互连;本实施例中的网关可为VPN网关,其部署在应用服务器网络边界,通过断路访问控制的方式保护需要加固的应用系统,用户只有通过VPN网关设备的才能访问受保护的应用服务。
[0065]虚拟网卡,又称虚拟网络适配器,即采用软件模拟网络环境,模拟网络适配器;虚拟网卡对客户端来说是个可行的网卡,但不是真实的物理网卡,而是运行在客户端中的一个软件模块;虚拟网卡主要是建立远程计算机间的局域网。虚拟网卡可以模拟集线器功能,实现VPN的功能,使得系统把此软件识别成一块网卡,通过虚拟网卡,只要可以访问外网,都可以连接到虚拟集线器上与其它电脑组成局域网。在此虚拟的局域网上能进行所有物理存在的局域网的操作,例如互相访问,互传报文、联网游戏等。
[0066]在本步骤中,VPN网关设备为目标虚拟网卡分配第一 IP地址,所述目标虚拟网卡为客户端中预设的未配置IP地址的网卡,VPN网关设备可根据其预设的网段,为未配置IP地址的网卡配置IP地址,并通过网络传输至客户端。
[0067]在步骤202中,检测所述第一 IP地址是否与预设网卡的IP地址在同一网段。
[0068]由于客户端中预设了多个网卡,所述预设网卡可包括本机的物理网卡,以及多个虚拟网卡,预设网卡被配置了 IP地址,此时网关为目标虚拟网卡分配的第一 IP地址有可能与客户端中上述预设网卡的IP地址在同一网段,若在同一网段,由于每个网卡在配置IP时都会向路由表添加直连路由、广播路由等,如果两个IP地址不同,但在同一网段,会导致有两条目的IP地址和掩码相同,但网关不同和跃点不同的路由表项,此时当报文到达后会根据跃点小的路由表项来决定到达哪一个网关。如果此时VPN虚拟网卡所下发的路由的跃点数大于原有路由跃点数,此时就会造成报文无法送达VPN虚拟网卡,则客户端无法对用户的数据包进行加解密,对用户的信息安全造成威胁。
[0069]在实际应用中,可以预设网卡地址存储表,在网卡地址存储表中记录本机的各个网卡,以及网关为各个网卡配置的IP地址的对应关系;在网卡地址存储表中各个网卡可以有对应的标识,该标识可以采用字母或数字等作为与其他网卡进行区分的唯一标识。当接收到网关为新的目标虚拟网卡配置了第一 IP地址时,则可以读取网卡地址存储表中记录的各个网卡的IP地址,快速地检测出目标虚拟网卡的第一 IP地址是否与其他网卡的IP地址在同一网段。
[0070]在实际应用中,要判断两个IP地址是不是在同一个网段,可以将两个IP地址分别与子网掩码做与运算,得到的结果是一网络号,如果网络号相同,就在同一网段,否则,不在同一网段。
[0071]例如:AIP:202.194.128.9 ;B IP:202.194.128.14 ;子网掩码:255.255.255.0。
[0072]首先将A和B的地址转换为二进制:
[0073]A:1100 1010.1100 0010.1000 0000.0000 1001
[0074]B:1100 1010.1100 0010.1000 0000.0000 1101
[0075]掩码:11111111.1111 1111.1111 1111.0000 0000
[0076]A和B做与运算后的结果如下:
[0077]A:1100 1010.1100 0010.1000 0000.0000 0000
[0078]转化为十进制:202.194.128.0
[0079]B:1100 1010.1100 0010.1000 0000.0000 0000
[0080]转化为十进制:202.194.128.0
[0081]因此两个IP的网络标识相同,也即是A和B在同一网段。
[0082]在步骤203中,当所述第一 IP地址与预设网卡的IP地址在同一网段时,为所述虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二 IP地址。
[0083]若客户端检测网关为目标虚拟网卡分配的第一 IP地址与预设网卡的IP地址在同一网段,可知目标虚拟网卡的第一 IP地址会与预设网卡的IP地址冲突,此时可根据当前其他网卡已配置的IP地址,寻找一与所有其他网卡的IP地址都不在同一网段的第二 IP地址;具体的,可根据上述网卡地址存储表中记录的所有预设网卡及其对应的IP地址,在生成第二 IP地址时,只要保证该第二 IP地址与上述其他网卡的IP地址不在同一网段即可;因为客户端为目标虚拟网卡配置了与所述上述其他网卡的IP地址都不在同一网段的第二IP地址,从而防止了地址冲突问题,保证了信息传输的安全性和可靠性。在实际应用中,在生成第二 IP地址时,可根据多个预设的网段选择一不冲突的地址作为该第二 IP地址;本领域技术人员可以根据实际需要而灵活生成该第二 IP地址,只要保证该第二 IP地址与预设网卡的IP地址不在同一网段即可。
[0084]例如,VPN网关为虚拟网卡分配的IP地址为2.2.2.2,而本机网卡I的地址同为2.2.2.2,此时虚拟网卡IP地址和本机IP地址冲突,如果将虚拟网卡IP地址设置为
2.2.2.2会导致客户端相关路由下发失败,VPN报文无法到达客户端,对用户的信息安全造成威胁。
[0085]当客户端收到VPN网关为虚拟网卡分配的IP地址时,首先将此地址和本机所有网卡的IP地址比较,如果有相同IP地址存在,则生成一个与之均在不同网段的IP地址来代替,如3.3.3.3,并用此IP地址来设置虚拟网卡IP地址,这样就解决了虚拟网卡IP地址和本机网卡IP地址冲突的问题,VPN报文能够通过虚拟网卡引流到客户端。
[0086]在步骤204中,通过配置有所述第二 IP地址的目标虚拟网卡传输报文。
[0087]在客户端为该目标虚拟网卡配置了另一不在同一网段的第二 IP地址后,因此通过该目标虚拟网卡传输数据时,能防止IP地址冲突问题。
[0088]由上述实施例可见,客户端在获取网关为目标虚拟网卡分配的第一 IP地址时,检测所述第一 IP地址是否与预设网卡的IP地址在同一网段;当所述第一 IP地址与预设网卡的IP地址在同一网段时,为所述目标虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二 IP地址;由于本发明实施例中,当网关为目标虚拟网卡的第一 IP地址与其他网卡的IP地址在同一网段时,为该目标虚拟网卡配置了另一与所有其他网卡都不在相同网段的第二 IP地址,因此通过该目标虚拟网卡传输数据时,能防止IP地址冲突问题,保证用户的信息安全,提高信息传输的可靠性。本发明实施例不会改变网关配置IP地址的过程,其改造成本较低。
[0089]如图3A所示,是本发明虚拟网卡的数据传输方法的另一个实施例的流程图,该方法在前述实施例的基础上,描述了如何通过配置有所述第二 IP地址的目标虚拟网卡传输报文的一种处理过程,包括以下步骤:
[0090]在步骤301中,获取所述目标虚拟网卡传输给所述网关的上行报文。其中,该上行报文的源地址为所述第二 IP地址。
[0091]所述上行报文,是指发送给VPN网关设备的报文,由于目标虚拟网卡被客户端配置为第二 IP地址,所以上行报文的源地址为所述第二 IP地址。
[0092]在步骤302中,将所述上行报文中的源地址修改为所述第一 IP地址。
[0093]由于网关中记录的目标虚拟网卡的IP地址为所述第一 IP地址,需将上行报文的源地址从第二 IP地址修改为第一 IP地址。
[0094]在一个可选的实现方式中,所述将所述上行报文的源地址修改为所述第一 IP地址,包括:
[0095]在预设的地址记录表中查找与所述目标虚拟网卡及第二 IP地址对应的第一 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系O
[0096]将所述上行报文中的源地址字段的字段值替换为所述第一 IP地址。
[0097]在本实施例中,可以预先设置地址记录表,在地址记录表中目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系,以用于在对报文的源地址进行修改时,可以查找地址记录表,获得与所述目标虚拟网卡及第二 IP地址对应的第一 IP地址。
[0098]由上述实施例可见,在修改所述上行报文中的源地址时,根据报文格式将报文中的源地址字段对应的字段值替换为所述第一 IP地址,地址修改过程无需改变报文格式,处理效率高,不会影响报文的传输速度。
[0099]在步骤303中,将修改后的上行报文封装后发送给所述网关。
[0100]修改后上行报文中记录的源地址为网关中记录的第一 IP地址,因此能使网关准确获得上行报文中的信息,保证网关能对所述上行报文正确转发。
[0101]例如,如图3B所示,是本发明实施例示出的一种上行报文的示意图,上行报文中,报文中记录的源地址(SRC IP字段)为网关配置的第一 IP地址:3.3.3.3 ;由于客户端为防止冲突已将目标虚拟网卡配置为2.2.2.2,因此将SRC IP字段的字段值替换为2.2.2.2,如图3C所示,是本发明实施例示出的一种修改后的上行报文的示意图。
[0102]由上述实施例可见,由于终端为目标虚拟网卡配置了第二 IP地址,而网关记录的目标虚拟网卡是第一 IP地址,终端在发送上行报文时将上行报文的源地址修改为第一 IP地址,从而使网关准确获得上行报文中的信息,保证网关能对上行报文的正确转发。
[0103]如图4A所示,是本发明虚拟网卡的数据传输方法的另一个实施例的流程图,该方法在前述实施例的基础上,描述了如何通过配置有所述第二 IP地址的目标虚拟网卡传输报文另一种处理的过程,包括以下步骤:
[0104]在步骤401中,接收所述网关向所述目标虚拟网卡发送的下行报文。其中,该下行报文的目的地址为所述第一 IP地址。
[0105]所述下行报文,是指由VPN网关设备下发的报文,由于网关中记录的目标虚拟网卡为第一 IP地址,所以上行报文的目的地址为所述第一 IP地址。客户端可以通过下行报文的端口号区分收取该报文的目标网卡。
[0106]在步骤402中,将所述下行报文中的目的地址修改为所述第二 IP地址。
[0107]由于客户端中记录的目标虚拟网卡的IP地址为所述第二 IP地址,需将下行报文中的目的地址从第一 IP地址修改为第二 IP地址。
[0108]在一个可选的实现方式中,所述将所述下行报文的目的地址修改为所述第二 IP地址,包括:
[0109]在预设的地址记录表中查找与所述目标虚拟网卡及第一 IP地址对应的第二 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系O
[0110]将所述下行报文中的目的地址字段的字段值替换为所述第二 IP地址。
[0111]在本实施例中,可以预先设置地址记录表,在地址记录表中目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系,以用于在对报文的目的地址进行修改时,可以查找地址记录表,获得与所述目标虚拟网卡及第一 IP地址对应的第二 IP地址。
[0112]由上述实施例可见,在修改所述上行报文中的目的地址时,根据报文格式将目的地址字段对应的字段值替换为所述第二 IP地址,地址修改过程无需改变报文格式,处理效率高,不会影响报文的传输速度。
[0113]在步骤403中,将修改后的下行报文发送给所述目标虚拟网卡。
[0114]修改后下行报文中记录的目的地址为客户端为目标虚拟网卡配置的第二 IP地址,因此能使下行报文能顺利到达目标虚拟网卡。
[0115]例如,如图4B所示,是本发明实施例示出的一种下行报文的示意图,该下行报文中记录的目的地址(DST IP字段)为网关配置的第一 IP地址:2.2.2.2 ;由于客户端为防止冲突已将目标虚拟网卡配置为3.3.3.3,因此将DST IP字段的字段值替换为3.3.3.3,如图4C所示,是本发明实施例示出的一种修改后的下行报文的示意图。
[0116]由上述实施例可见,由于终端为目标虚拟网卡配置了第二 IP地址,而网关记录的目标虚拟网卡是第一 IP地址,终端在接收到网关的下行报文时将下行报文的目的地址修改为第二 IP地址,从而使下行报文能顺利到达目标虚拟网卡。
[0117]与前述虚拟网卡的数据传输方法的实施例相对应,本发明还提供了虚拟网卡的数据传输装置的实施例。
[0118]本发明虚拟网卡的数据传输装置的实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本发明虚拟网卡的数据传输装置所在设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。实施例中装置所在的设备通常根据该虚拟网卡的数据传输装置的实际功能,还可以包括其他硬件,对此不再赘述。
[0119]请参考图6,为本发明虚拟网卡的数据传输装置的一个实施例框图,该装置包括:地址获取单元610、检测单元620、配置单元630和传输单元640。
[0120]其中,地址获取单元610,用于获取网关为目标虚拟网卡分配的第一 IP地址。
[0121]检测单元620,用于检测所述第一 IP地址是否与预设网卡的IP地址在同一网段。
[0122]配置单元630,用于当所述第一 IP地址与所述预设网卡的IP地址在同一网段时,为所述目标虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二 IP地址。
[0123]传输单元640,用于通过配置有所述第二 IP地址的目标虚拟网卡传输报文。
[0124]由上述实施例可见,本发明实施例的客户端在获取网关为目标虚拟网卡分配的第一 IP地址时,检测所述第一 IP地址是否与预设网卡的IP地址在同一网段;当所述第一 IP地址与预设网卡的IP地址在同一网段时,为所述目标虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二 IP地址;由于在网关为目标虚拟网卡的第一 IP地址与其他网卡的IP地址在同一网段时,为该目标虚拟网卡配置了另一与所有其他网卡都不在相同网段的第二 IP地址,因此通过该目标虚拟网卡传输数据时,能防止IP地址冲突问题,保证用户的信息安全,提高信息传输的可靠性。本发明实施例不会改变网关配置IP地址的过程,其改造成本较低。
[0125]在一个可选的实现方式中,所述传输单元640,包括:上行报文获取子单元641、第一修改子单兀642和第一发送子单兀643。
[0126]其中,上行报文获取子单元641,用于获取所述目标虚拟网卡传输给所述网关的上行报文;其中,所述上行报文的源地址为所述第二 IP地址。
[0127]第一修改子单元642,用于将所述上行报文中的源地址修改为所述第一 IP地址。
[0128]第一发送子单元643,用于将修改后的上行报文封装后发送给所述网关。
[0129]其中,所述第一修改子单元642,可包括:第一查找模块6421和第一替换模块6422ο
[0130]第一查找模块6421,用于在预设的地址记录表中查找与所述目标虚拟网卡及第二IP地址对应的第一 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系。
[0131]第一替换模块6422,用于将所述上行报文中的源地址字段的字段值替换为所述第一 IP地址。
[0132]由上述实施例可见,由于为目标虚拟网卡配置了第二 IP地址,而网关记录的目标虚拟网卡是第一 IP地址,在向网关发送上行报文时将上行报文的源地址修改为第一 IP地址,从而使网关准确获得上行报文中的信息,保证网关能对上行报文的正确转发。其中,在修改所述上行报文中的源地址时,根据报文格式,将源地址字段对应的字段值替换为所述第一 IP地址,地址修改过程无需改变报文格式,处理效率高,不会影响报文的传输速度。
[0133]在另一个可选的实现方式中,所述传输单元640,包括:下行报文接收子单元644、第二修改子单元645和第二发送子单元646。
[0134]其中,下行报文接收子单元644,用于接收所述网关向所述目标虚拟网卡发送的下行报文;其中,所述下行报文的目的地址为所述第一 IP地址。
[0135]第二修改子单元645,用于将所述下行报文中的目的地址修改为所述第二 IP地址。
[0136]第二发送子单元646,用于将修改后的下行报文发送给所述目标虚拟网卡。
[0137]其中,所述第二修改子单元645,可包括:第二查找模块6451和第二替换模块6452ο
[0138]其中,第二查找模块6451,用于在预设的地址记录表中查找与所述目标虚拟网卡及第一 IP地址对应的第二 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系。
[0139]第二替换模块6452,用于将所述下行报文中的目的地址字段的字段值替换为所述第二 IP地址。
[0140]由上述实施例可见,由于为目标虚拟网卡配置了第二 IP地址,而网关记录的目标虚拟网卡是第一 IP地址,在接收到网关的下行报文时将下行报文的目的地址修改为第二IP地址,从而使下行报文能顺利到达目标虚拟网卡。其中,在修改所述上行报文中的目的地址时,根据报文格式,将目的地址字段对应的字段值替换为所述第二 IP地址,地址修改过程无需改变报文格式,处理效率高,不会影响报文的传输速度。
[0141]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0142]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1.一种虚拟网卡的数据传输方法,其特征在于,包括: 获取网关为目标虚拟网卡分配的第一 IP地址; 检测所述第一 IP地址是否与预设网卡的IP地址在同一网段; 当所述第一 IP地址与所述预设网卡的IP地址在同一网段时,为所述目标虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二 IP地址; 通过配置有所述第二 IP地址的目标虚拟网卡传输报文。2.根据权利要求1所述的方法,其特征在于,所述通过配置有所述第二IP地址的目标虚拟网卡传输报文,包括: 获取所述目标虚拟网卡传输给所述网关的上行报文;其中,所述上行报文的源地址为所述第二 IP地址; 将所述上行报文中的源地址修改为所述第一 IP地址; 将修改后的上行报文封装后发送给所述网关。3.根据权利要求2所述的方法,其特征在于,所述将所述上行报文中的源地址修改为所述第一 IP地址,包括: 在预设的地址记录表中查找与所述目标虚拟网卡及第二 IP地址对应的第一 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系; 将所述上行报文中的源地址字段的字段值替换为所述第一 IP地址。4.根据权利要求1所述的方法,其特征在于,所述通过配置有所述第二IP地址的目标虚拟网卡传输报文,包括: 接收所述网关向所述目标虚拟网卡发送的下行报文;其中,所述下行报文的目的地址为所述第一 IP地址; 将所述下行报文中的目的地址修改为所述第二 IP地址; 将修改后的下行报文发送给所述目标虚拟网卡。5.根据权利要求4所述的方法,其特征在于,所述将所述下行报文中的目的地址修改为所述第二 IP地址,包括: 在预设的地址记录表中查找与所述目标虚拟网卡及第一 IP地址对应的第二 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系; 将所述下行报文中的目的地址字段的字段值替换为所述第二 IP地址。6.一种虚拟网卡的数据传输装置,其特征在于,包括: 地址获取单元,用于获取网关为目标虚拟网卡分配的第一 IP地址; 检测单元,用于检测所述第一 IP地址是否与预设网卡的IP地址在同一网段; 配置单元,用于当所述第一 IP地址与所述预设网卡的IP地址在同一网段时,为所述目标虚拟网卡配置与所述预设网卡的IP地址不在同一网段的第二 IP地址; 传输单元,用于通过配置有所述第二 IP地址的目标虚拟网卡传输报文。7.根据权利要求6所述的装置,其特征在于,所述传输单元,包括: 上行报文获取子单元,用于获取所述目标虚拟网卡传输给所述网关的上行报文;其中,所述上行报文的源地址为所述第二 IP地址; 第一修改子单元,用于将所述上行报文中的源地址修改为所述第一 IP地址; 第一发送子单元,用于将修改后的上行报文封装后发送给所述网关。8.根据权利要求7所述的装置,其特征在于,所述第一修改子单元,包括: 第一查找模块,用于在预设的地址记录表中查找与所述目标虚拟网卡及第二 IP地址对应的第一 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系; 第一替换模块,用于将所述上行报文中的源地址字段的字段值替换为所述第一 IP地址。9.根据权利要求6所述的装置,其特征在于,所述传输单元,包括: 下行报文接收子单元,用于接收所述网关向所述目标虚拟网卡发送的下行报文;其中,所述下行报文的目的地址为所述第一 IP地址; 第二修改子单元,用于将所述下行报文中的目的地址修改为所述第二 IP地址; 第二发送子单元,用于将修改后的下行报文发送给所述目标虚拟网卡。10.根据权利要求9所述的装置,其特征在于,所述第二修改子单元包括: 第二查找模块,用于在预设的地址记录表中查找与所述目标虚拟网卡及第一 IP地址对应的第二 IP地址;其中,所述地址记录表中记录有所述目标虚拟网卡、第一 IP地址及第二 IP地址的对应关系; 第二替换模块,用于将所述下行报文中的目的地址字段的字段值替换为所述第二 IP地址。
【文档编号】H04L12/46GK105939239SQ201510466721
【公开日】2016年9月14日
【申请日】2015年7月31日
【发明人】王永亮, 孔伟政
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1