CN117377129A - 网络共享方法及装置、芯片、电子设备、存储介质 - Google Patents
网络共享方法及装置、芯片、电子设备、存储介质 Download PDFInfo
- Publication number
- CN117377129A CN117377129A CN202311428673.2A CN202311428673A CN117377129A CN 117377129 A CN117377129 A CN 117377129A CN 202311428673 A CN202311428673 A CN 202311428673A CN 117377129 A CN117377129 A CN 117377129A
- Authority
- CN
- China
- Prior art keywords
- network card
- electronic device
- service data
- information
- communication connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000004891 communication Methods 0.000 claims abstract description 138
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 claims description 5
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 claims description 5
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- HVCNNTAUBZIYCG-UHFFFAOYSA-N ethyl 2-[4-[(6-chloro-1,3-benzothiazol-2-yl)oxy]phenoxy]propanoate Chemical compound C1=CC(OC(C)C(=O)OCC)=CC=C1OC1=NC2=CC=C(Cl)C=C2S1 HVCNNTAUBZIYCG-UHFFFAOYSA-N 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请披露了一种网络共享方法及装置、芯片、电子设备、存储介质,该网络共享方法应用于第一电子设备,所述第一电子设备包括第一应用,所述方法包括:与第二电子设备之间建立局域网通信连接;通过所述局域网通信连接接收所述第二电子设备发送的第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息;根据所述第一信息,在所述第一电子设备中建立第一虚拟网卡,所述第一虚拟网卡与所述第一外网网卡相对应;将所述第一应用的第一业务数据发送至所述第一外网网卡,以实现网络共享。
Description
技术领域
本申请实施例涉及通信技术领域,并且更为具体地,涉及一种网络共享方法及装置、芯片、电子设备、存储介质。
背景技术
随着智能电子设备的普及,以及物联网(internet of things,IoT)的快速发展,多个电子设备(手机、智能电视、平板电脑等)可以通过P2P(peer-to-peer)、蓝牙等短距离通信技术连接在一起,以进行设备间数据共享。但是,如何实现多个电子设备之间的外网网络共享,仍未出现有效的解决方案。
发明内容
本申请实施例提供一种网络共享方法及装置、芯片、电子设备、存储介质。下面对本申请实施例涉及的各个方面进行介绍。
第一方面,提供一种网络共享方法,应用于第一电子设备,所述第一电子设备包括第一应用,所述方法包括:与第二电子设备之间建立局域网通信连接;通过所述局域网通信连接接收所述第二电子设备发送的第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息;根据所述第一信息,在所述第一电子设备中建立第一虚拟网卡,所述第一虚拟网卡与所述第一外网网卡相对应;将所述第一应用的第一业务数据发送至所述第一外网网卡,以实现网络共享。
第二方面,提供一种网络共享方法,应用于第二电子设备,所述方法包括:与第一电子设备之间建立局域网通信连接;通过所述局域网通信连接向所述第一电子设备发送第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息;通过所述局域网通信连接接收所述第一电子设备的第一虚拟网卡发送的第一业务数据,其中,所述第一虚拟网卡是基于所述第一信息建立的,所述第一虚拟网卡与所述第一外网网卡相对应,所述第一业务数据为所述第一电子设备中第一应用的业务数据;将所述第一业务数据发送至所述第一外网网卡,以实现网络共享。
第三方面,提供一种网络共享装置,应用于第一电子设备,所述第一电子设备包括第一应用,所述装置包括:第一建立模块,用于与第二电子设备之间建立局域网通信连接;第一接收模块,用于通过所述局域网通信连接接收所述第二电子设备发送的第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息;第二建立模块,用于根据所述第一信息,在所述第一电子设备中建立第一虚拟网卡,所述第一虚拟网卡与所述第一外网网卡相对应;第一发送模块,用于将所述第一应用的第一业务数据发送至所述第一外网网卡,以实现网络共享。
第四方面,提供一种网络共享装置,应用于第二电子设备,所述装置包括:第三建立模块,用于与第一电子设备之间建立局域网通信连接;第二发送模块,用于通过所述局域网通信连接向所述第一电子设备发送第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息;第二接收模块,用于通过所述局域网通信连接接收所述第一电子设备的第一虚拟网卡发送的第一业务数据,其中,所述第一虚拟网卡是基于所述第一信息建立的,所述第一虚拟网卡与所述第一外网网卡相对应,所述第一业务数据为所述第一电子设备中第一应用的业务数据;第三发送模块,用于将所述第一业务数据发送至所述第一外网网卡,以实现网络共享。
第五面,提供一种芯片,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如第一方面或第二方面中所述的方法。
第六方面,提供一种电子设备,包括处理器、存储器和收发器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以控制所述终端设备执行如第一方面或第二方面中所述的方法。
第七方面,提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,能够实现如第一方面或第二方面中所述的方法。
本申请实施例提供一种网络共享方法,应用于第一电子设备,第一电子设备包括第一应用,方法包括:与第二电子设备之间建立局域网通信连接;通过局域网通信连接接收第二电子设备发送的第一信息,第一信息包括第二电子设备的第一外网网卡的网卡信息和第二电子设备的设备信息;根据第一信息,在第一电子设备中建立第一虚拟网卡,第一虚拟网卡与第一外网网卡相对应;将第一应用的第一业务数据发送至第一外网网卡,以实现网络共享。本申请实施例中的第一电子设备与第二电子设备的角色可以互换,也就是说,本方案中多个电子设备的外网网络可以由该多个电子设备之间进行相互共享,从而有助于提升网络带宽的使用价值。
附图说明
图1是本申请一实施例提供的网络共享方法的流程示意图。
图2是本申请一实施例提供的网络共享的系统架构示意图。
图3是本申请一实施例提供的利用蓝牙通信连接实现IP数据通信的结构示意图。
图4是本申请一实施例提供的通过共享设备发送第一业务数据的方法流程示意图。
图5是本申请一实施例提供的通过被共享设备发送第一业务数据的方法流程示意图。
图6是本申请一实施例提供的通过被共享设备接收第二业务数据的方法流程示意图。
图7是本申请一实施例提供的通过共享设备接收第二业务数据的方法流程示意图。
图8是本申请一实施例提供的网络共享装置的结构示意图。
图9是本申请另一实施例提供的网络共享装置的结构示意图。
图10是本申请另一实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请实施例中的电子设备可以是一种具有数据收发功能的设备。该电子设备例如可以是:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备、虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、或智慧家庭(smart home)中的无线终端,智慧大屏等。本申请对此不做具体限制。
随着智能电子设备的普及,以及物联网IoT的快速发展,多个电子设备(手机、智能电视、平板电脑等)可以通过P2P、蓝牙等短距离通信技术连接在一起,以进行设备间数据共享。但是,如何实现多个电子设备之间的外网网络共享,仍未出现有效的解决方案。
针对上述问题,本申请实施例提供一种网络共享方法,应用于第一电子设备,第一电子设备包括第一应用,方法包括:与第二电子设备之间建立局域网通信连接;通过局域网通信连接接收第二电子设备发送的第一信息,第一信息包括第二电子设备的第一外网网卡的网卡信息和第二电子设备的设备信息;根据第一信息,在第一电子设备中建立第一虚拟网卡,第一虚拟网卡与第一外网网卡相对应;将第一应用的第一业务数据发送至第一外网网卡,以实现网络共享。本申请实施例中的第一电子设备与第二电子设备的角色可以互换,也就是说,本方案中多个电子设备的外网网络可以由该多个电子设备之间进行相互共享,从而有助于提升网络带宽的使用价值。
需要说明的是,本申请实施例中的网络共享方法可应用于多个电子设备,多个电子设备之间的外网网络可以相互共享。下文主要以多个电子设备中两个电子设备(第一电子设备和第二电子设备)为例对网络共享方法进行的举例说明。第一电子设备和第二电子设备可以是前文提及的任一类型的电子设备,第一电子设备例如可以为手机,第二电子设备例如可以为平板电脑。本申请对此不做具体限制。
本申请实施例中,第一电子设备可以共享第二电子设备提供的外网网络,相反,第二电子设备也可以共享第一电子设备提供的外网网络。第一电子设备的角色与第二电子设备的角色可以互换,也就是说,本方案中的网络共享方法可以是实现第一电子设备与第二电子设备之间外网网络的相互共享。
下文结合图1对本申请实施例中网络共享方法进行详细介绍。图1的方法是站在第一电子设备和第二电子设备交互的角度进行描述的,第一电子设备的发送/接收与第二电子设备的接收/发送相对应。如图1所示,该网络共享方法可以包括步骤:S110~S150。
在步骤S110,建立局域网通信连接。
局域网通信连接可以是指第一电子设备与第二电子设备之间的内网连接,即第一电子设备与第二电子设备之间可以组成内部局域网。局域网通信连接可以是有线连接,也可以是无线连接,本申请对此不做具体限制。局域网通信连接例如可以为端对端(peer-to-peer,P2P)连接、蓝牙连接或USB连接等。
可以理解的是,在建立局域网通信之前,需要先在第一电子设备和第二电子设备中建立内网网卡,并为该内网网卡分配对应的IP地址。
作为一个示例,可以在第一电子设备中建立第一内网网卡,并给第一内网网卡分配对应的IP地址;可以在第二电子设备中建立第二内网网卡,并给第二内网网卡分配对应的IP地址,然后,根据第一内网网卡的IP地址和第二内网网卡的IP地址,在第一内网网卡与第二内网网卡之间建立局域网通信连接。
需要说明的是,可以利用第一电子设备为第一内网网卡和第二内网网卡分配对应的IP地址,也可以利用第二电子设备为第一内网网卡和第二内网网卡分配对应的IP地址,本申请对此不作具体限制。第一内网网卡的IP地址和第二内网网卡的IP地址的网段例如可以为192.168.199.0,子网掩码为24。
当然,如果电子设备中具有内网网卡功能的设备,也可以不建立内网网卡。
作为一个示例,第一电子设备和第二电子设备均包括中继设备,可以先在第一电子设备与第二电子设备之间建立蓝牙通信连接,这样一来,第一电子设备第二电子设备之间就可以进行数据交互,但是蓝牙连接仅可以传输应用层的业务数据,无法传输IP数据包。因此,在第一电子设备与第二电子设备之间建立蓝牙通信连接之后,可以通过中继设备对利用蓝牙通信连接传输的应用层的第一业务数据与IP网络层的第一业务数据进行转换,以形成域网通信。例如,当第二电子设备利用蓝牙通信连接接收到第一电子设备发送的第一业务数据之后,可以利用中继设备将应用层的第一业务数据转换为IP网络层的第一业务数据,然后发送至外网网卡。该中继设备例如可以为TUN设备。本申请实施例还可以为中继设备分配对应的IP地址,本申请对此不作具体限制。
在步骤S120,接收第一信息。
在第一电子设备与第二电子设备之间建立局域网通信连接之后,第一电子设备可以接收第二电子设备发送的第一信息,第一信息可以包括第二电子设备的第一外网网卡的网卡信息和第二电子设备的设备信息。第二电子设备可以包括一个或多个外网网卡,如果第二电子设备包括多个外网网卡,则第一外网网卡可以是多个外网网卡中的任意一个外网网卡。
第一外网网卡的网卡信息可以包括第一外网网卡的IP地址、第一外网网卡的域名系统(domain name system,DNS)等信息。第二电子设备的设备信息可以包括第二电子设备的MAC地址。
在一些实施例中,可以通过局域网络通信连接的控制数据通道传输第一信息。
在步骤S130,根据第一信息,在第一电子设备中建立第一虚拟网卡。其中,第一虚拟网卡与第一外网网卡相对应。
在一些实施例中,可以将第一信息与第一虚拟网卡进行绑定,从而可以根据第一虚拟网卡的IP地址,确定第二电子设备中的对应外网网络(即可以确定于第一虚拟网卡绑定的外网网卡)。
在步骤S140,向第一外网网卡发送第一应用的第一业务数据。
第一电子设备可以包括第一应用,第一应用可以是第一电子设备中的任意一个应用程序。第一应用例如可以是微信应用、QQ应用、王者荣耀应用等,本申请对此不做具体限制。
第一应用可用于输出第一业务数据。第一业务数据例如可以为微信业务数据或王者荣耀业务数据等。本申请实施例中的第一业务数据也可以称为第一业务数据包。
在步骤S150,利用第一外网网卡将第一业务数据传输至网络侧,以实现网络共享。该网络侧可以是指Internet网络。
在一些实施例中,在第一电子设备中建立第一虚拟网卡之后,还包括:根据第一应用的唯一标识(unique identifier,UID),建立第一路由规则,第一路由规则用于确定第一应用与第一虚拟网卡之间的数据传输路径(对第一应用与第一虚拟网络之间的业务数据进行路由)。即,根据第一路由规则可以将第一业务数据路由第一虚拟网卡。当然,也可以根据第一路由规则将第一虚拟网卡收发的业务数据路由至第一应用。
在一些实施例中,将第一应用的第一业务数据发送至第一外网网卡,包括:根据第一路由规则,将第一业务数据路由至第一虚拟网卡;然后,将第一业务数据转发至第一电子设备的内核协议栈;通过内核协议栈利用局域网络通信连接将第一业务数据传输至第一外网网卡。
在一些实施例中,可以利用钩子(hook)函数(或称钩子功能)将第一业务数据转发至第一电子设备的内核协议栈。
在一些实施例中,将第一业务数据转发至第一电子设备的内核协议栈,包括:将第一业务数据的套接字缓存中的dev设备设置为第一电子设备的局域网网卡;然后,将第一业务数据转发至第一电子设备的内核协议栈中。
在一些实施例中,将第一业务数据转发至第一电子设备的内核协议栈,包括:利用钩子函数劫持第一业务数据,然后,利用钩子函数将第一业务数据的套接字缓存中的dev设备设置为第一电子设备的局域网网卡;利用钩子函数将第一业务数据转发至第一电子设备的内核协议栈中。
在一些实施例中,在将第一业务数据传输至第一外网网卡之后,还包括:利用第一外网网卡接收网络侧的第二业务数据,通过局域网通信连接接收第二电子设备发送的第二业务数据;将第二业务数据的套接字缓存中的dev设备设置为第一虚拟网卡;将第二业务数据转发至第一虚拟网卡;根据第一路由规则,将第二业务数据从第一虚拟网卡路由至第一应用。其中,第二业务数据可以称为第二业务数据包。在一些实施例中,可以利用钩子函数将第二业务数据的套接字缓存中的dev设备设置为第一虚拟网卡;然后,利用钩子函数将第二业务数据转发至第一虚拟网卡。
在一些实施例中,在将第二业务数据的套接字缓存中的dev设备设置为第一虚拟网卡之前,还包括:根据第二业务数据包的目的IP地址,确定第二业务数据是否为第一虚拟网卡的数据。如果第二业务数据为第一虚拟网卡的业务数据,则将第二业务数据的套接字缓存中的dev设备设置为第一虚拟网卡。
在一些实施例中,第一外网网卡从网络侧接受第二业务数据之后,第二电子设备可以根据第二业务数据的目的IP地址,确定第二业务数据是否为第一虚拟网卡的业务数据,如果是,则通过局域网通信连接将第二业务数据发送至第一电子设备。
在一些实施例中,在通过局域网通信连接接收第一电子设备的第一虚拟网卡发送的第一业务数据之前,方法还包括:第二电子设备通过局域网通信连接接收第一电子设备发送的第二信息,第二信息包括第一虚拟网卡的网卡信息和第一电子设备的设备信息;根据第二信息,第二电子设备可以建立第二路由规则,第二路由规则用于确定第一虚拟网卡与第一外网网卡之间的数据传输路径。也就是说,根据第二路由规则可以将第一虚拟网卡发送的第一业务数据路由至第一外网网卡,也可以将第二电子设备中第一外网网卡从网络侧接收的第二业务数据路由至第一电子设备的第一虚拟网卡。
在一些实施例中,可以通过局域网通信连接的控制数据通道接收第一电子设备发送的第二信息。
第一虚拟网卡的网卡信息可以包括第一虚拟网卡的IP地址、第一虚拟网卡的域名系统DNS等信息。第一电子设备的设备信息可以包括第一电子设备的MAC地址。
在一些实施例中,将第一业务数据发送至第一外网网卡,包括:获取第一业务数据的数据包的第一源IP地址;如果第一源IP地址为第一虚拟网卡的IP地址,则将第一业务数据发送至第一外网网卡。
在一些实施例中,如果第一源IP地址为第一虚拟网卡的IP地址,则可以先根据第一源IP地址,确定第一业务数据的出口网卡为第一外网网卡;然后,再通过SNAT将第一源IP地址转换为第一目的IP地址,第一目的IP地址为第一外网网卡的IP地址,接着,将第一业务数据路由至第一外网网卡。
在一些实施例中,在将第一业务数据发送至第一外网网卡之后,方法还包括:利用第一外网网卡从网络侧(如Internet网络)接收第二业务数据;通过DNAT将第二业务数据的数据包的第二源IP地址转换为第二目的IP地址,第二源IP地址为第一外网网卡的IP地址;如果第二目的IP地址为第一虚拟网卡的IP地址,则说明第二业务数据为第一应用的业务数据,然后,根据第二路由规则通过局域网通信连接将第二业务数据路由至第一虚拟网卡,接着,根据第一路由规则将第二业务数据从第一虚拟网卡路由至第一应用。
为了加深理解本申请中的网络共享方法,下面对多个电子设备(例如三个电子设备)之间的网络共享配置进行举例说明。图2为本申请实施例提供的三个电子设备之间的网络共享的架构示意图。
如图2所示,该网络共享的架构可以包括第一电子设备210、第二电子设备220和第三电子设备230,第一电子设备210、第二电子设备220和第三电子设备230均可以为前文中提及的任意类型的电子设备。下面主要以第一电子设备210共享第二电子设备220和/或第三电子设备230的外网网络为例,进行详细的举例说明。第二电子设备220包括外网网卡1(如蜂窝网网卡cell1)和外网网卡2(如蜂窝网网卡cell2),第三电子设备230包括外网网卡3(如蜂窝网网卡cell3),第一电子设备210包括外网网卡4(如蜂窝网网卡cell4)。第一电子设备210可以包括路由设备211和第一应用212,路由设备211可用于对虚拟网卡与第一应用212之间的业务数据进行路由。第一电子设备210中的虚拟网卡可以包括虚拟网卡1(vnet1)、虚拟网卡2(vnet2)和虚拟网卡3(vnet3)。应理解,第二电子设备220和第三电子设备230中也包括对应的路由设备(图中未示出)。
下面对图2中系统的共享配置进行举例说明,具体包括如下步骤:步骤(2.1)~步骤(2.6)。
步骤(2.1):在第一电子设备210、第二电子设备220和第三电子设备230之间建立局域网通信连接。该局域网通信连接可以是有线连接,也可以是无线连接,该局域网通信连接可以包括一下通信连接中的任意一种:P2P通信连接、Wi-Fi Aware通信连接、蓝牙通信连接、WLAN通信连接,或者USB通信连接等,如图2中的局域网通信连接例如可以为P2P通信连接。通过建立局域网通信连接,能保证各个设备在链路层是相互连通的。
步骤(2.2):多个电子设备之间进行局域网通信连接时,需要在各个电子设备中生成对应的内网网卡,并分配与各个内网网卡对应的IP地址,从而可以利用上述内网网卡实现多个电子设备之间的局域网通信连接。这样一来,多个电子设备之间就可以通过IP数据包进行通信。
建立局域网通信有两种方式,一种方式为:原有的连接方案就默认生成内网网卡,比如P2P、WLAN局域网等。也就是说,在上述通信(如P2P、WLAN局域网)连接过程中,会自动建立对应的内网网卡,分配对应的内网网卡IP地址,此时就可以直接通过IP数据包进行通信。
另一中方式为:多个电子设备之间的内部通信连接仅能在应用层通信,无法通过IP数据包进行通信,比如蓝牙通信连接。由于第一电子设备210、第二电子设备220和第三电子设备230均设置有中继设备,因此,可以利用中继设备将应用层数据的业务数据和网络层的业务数据进行转换,从而可以实现通过IP数据包进行通信。应理解,这种情况下无需建立内网网卡,中继设备可以实现内网网卡的功能,该中继设备例如可以为TUN设备。应理解,通过中继设备实现IP数据通信的过程中,需要给中继设备分配对应的IP地址。下面以中继设备为TUN设备为例,结合图3对利用蓝牙通信连接实现IP数据通信的过程进行举例说明。
如图3所示,可以利用电子设备310的蓝牙模块311与电子设备320的蓝牙模块321,在电子设备310与电子设备320之间建立蓝牙通信连接,然后,电子设备310可以通过蓝牙通信连接接收电子设备320发送的业务数据,然后利用TUN设备312可以将应用层的该业务数据转换为网络层的业务数据,并传输至电子设备310的内核协议栈。同理,电子设备320可以通过蓝牙通信连接接收电子设备310发送的业务数据,然后利用TUN设备322可以将应用层的该业务数据转换为网络层的业务数据,并传输至电子设备320的内核协议栈。应理解,电子设备310和电子设备320可以为前文中提及的任意类型的电子设备。
需要说明的是,内网网卡和TUN设备均需要进行IP地址分配,在多个电子设备的连接中,可以选举一个leader作为IP地址分配的来源,后续新增设备也会基于这个设备产生新的IP地址。对于多个电子设备间的内网通信,其IP地址网段可以为192.168.199.0,子网掩码可以为24。
步骤(2.3):继续参见图2,在第一电子设备210共享第二电子设备220和第三电子设备230的外网网络过程中,需要再第一电子设备210中建立虚拟网卡,该虚拟网卡与被共享设备的外网网卡需要一一对应,同时需要给建立的虚拟网卡分配单独的IP地址。
在一些实施例中,可以根据第二电子设备的MAC地址,以及外网网卡1和外网网卡2的IP地址,在第一电子设备210中建立虚拟网卡1和虚拟网卡2,虚拟网卡1与外网网卡1相对应,虚拟网卡2与外网网卡2相对应。可以根据第三电子设备的MAC地址和外网网卡3的IP地址,在第一电子设备210中建立虚拟网卡3,虚拟网卡3与外网网卡3相对应。
上述虚拟网卡的IP地址网段可以为192.168.250.0,子网掩码可以为24。应理解,在图2中的整个系统中,每个虚拟网卡都有一个独立的IP地址。
需要说明的是,虚拟网卡和局域网的内网网卡在收到数据时,在电子设备的内核空间中会有一个hook(钩子)操作。当局域网的内部网卡接收到外部发送的业务数据之后,可以根据该业务数据包的目的IP地址来判断是否为虚拟网卡的业务数据,如果该业务数据是虚拟网卡的业务数据,则会被劫持,然后将该业务数据包中套接字缓存(socket-buffer,SKB)的设备信息(dev信息)修改为对应的虚拟网卡,然后将修改后的业务数据发送至内核协议栈中,然后可以从内核协议栈将该业务数据传输至对应虚拟网卡中。当然,如果电子设备的虚拟网卡收到上层应用的业务数据之后,可以根据该业务数据包的源IP地址来判断是否为虚拟网卡的业务数据,如果该业务数据是虚拟网卡的业务数据,则会被劫持,然后将该业务数据包中SKB的设备信息(dev信息)修改为对应的电子设备内网网卡,然后将修改后的业务数据发送至内核协议栈中,然后局域网通信连接将该业务数据传输至对侧电子设备。
步骤(2.4):在将第一电子设备210的虚拟网卡(如虚拟网卡1、虚拟网卡2和虚拟网卡3)绑定对应的被共享设备的外网网卡(如外网网卡1、外网网卡2和外网网卡3),同时将共享设备(第一电子设备210)的设备信息和虚拟网卡IP地址信息同步到被共享设备(如第二电子设备220和第三电子设备230)上。在被共享设备上,根据共享设备(第一电子设备210)的设备信息和虚拟网卡IP地址信息,会建立对应的路由规则(如第二路由规则),并将该对应的路由规则传输至共享设备上。
在建立对应的路由规则之后,被共享设备如果收到其他共享设备发送过来的第一业务数据时,会根据该第一业务数据的源IP地址信息(源IP地址与共享设备上虚拟网卡的IP地址相对应),选择对应绑定的网络(即选择对应绑定的外网网卡)。
在一些实施例中,被共享设备在收到其他共享设备发送过来的第一业务数据之后,还包括通过SNAT转换,将第一业务数据包的源IP地址(对应虚拟网卡的IP地址)转换为目的IP地址(对应外网网卡的IP地址),并将第一业务数据从绑定的网络发送出去。可以理解的是,当被共享设备接收到网络侧发送的第二业务数据后,还包括DNAT转换,将第二业务数据包的源IP地址(对应外网网卡的IP地址)转换为目的IP地址(对应虚拟网卡的IP地址),并将二业务数据路由至对应的虚拟网卡。
步骤(2.5):路由配置,共享网络设备上的路由设备(如图2中的路由设备211)的路由规则(如第一路由规则)需要满足以下条件,不同的应用可以选择不同的网络上网,只需要配置基于应用UID的策略路由即可,比如:
IP rule add from all iif lo oif vnet1 UID range 10000-10005lookupvnet1。
上述代码表示UID为10000到10005的应用都通过vnet1(虚拟网卡1)访问网络
被共享的设备根据源Ip来配置出口路由(如第二路由规则),具体如下:
IP rule add from 192.168.250.1lookup phynet1。
上述代码表示共享设备虚拟网卡192.168.250.1对应的出口网卡为phynet1(外网网卡1)。
同时需要配置NAT转换:
IP tables-t nat-A POSTROUTING-o phynet1-s 192.168.250.1-j SNAT--to-source10.102.147.2,其中,10.102.147.2是出口网卡phynet1的IP地址。
步骤(2.6):上述步骤中共享设备与被共享设备的角色可以转换,被共享设备也可以作为client访问共享设备的网络,重新按照步骤(2.4)至步骤(2.5)进行配置即可,这样就可以完成双向共享。
应理解,第二电子设备220共享第一电子设备210和/或第三电子设备230的外网网络,或者,第三电子设备230共享第一电子设备210和/或第二电子设备220的外网网络与上述第一电子设备210共享第二电子设备220和/或第三电子设备230的外网网络的方式类似,在此不做赘述。
在一些实施例中,步骤(2.2)中构建局域网的一种可能的IP地址分配方式如下:
1)多个设备连接后,随机选择一个设备作为leader。
2)使用网段192.168.199.0/24给共享设备的内网网卡分配IP地址,IP地址的分配方式是子网+1,对应的设备随机,分配好后,将设备的内网网卡IP地址与该设备MAC地址进行绑定。
3)将上述IP和MAC地址的信息都同步到其他电子设备。
4)如果新加入一台设备,leader对新增的设备,分配IP地址,并将这个IP和MAC绑定信息同步到其他所有设备。
5)leader掉线,根据当前的IP地址,选择IP地址最小的设备作为新的leader,并将状态同步到其他设备上。
需要说明的是,在步骤(2.4)中,给虚拟网卡分配IP地址的分配方式和上面基本类似,不同的是,在上述步骤2)中,共享设备虚拟网卡的IP地址是与被共享设备的MAC地址和外网网卡的IP地址进行绑定,保证每个虚拟网卡IP地址仅对应一个外网网络。
为了加深理解上文中的网络共享方法,本申请实施例还提供一种数据包传输流程,下面结合图4和图5,对数据的发送过程进行举例说明。
图4为通过共享设备发送第一业务数据的方法流程示意图。如图4所示,该方法包括如下步骤:S401~S406。
在步骤S401,利用共享设备的虚拟网卡接收上层应用发送的第一业务数据包。
在步骤S402,获取与该虚拟网卡绑定的外网网卡的IP地址。
在步骤S403,根据外网网卡的IP地址查询对端设备(被共享设备)的MAC地址。
在步骤S404,将第一业务数据包中SKB的dev信息修改为实际的内网网卡(即本端共享设备的内网网卡)。
在步骤S405,通过局域网通信将第一业务数据包发送至对端设备(被共享设备)。
在步骤S406,结束。
图5为通过被共享设备发送第一业务数据的方法流程示意图。如图5所示,该方法包括如下步骤:S501~S506。
在步骤S501,通过局域网通信接收共享设备发送的第一业务数据包。
在步骤S502,获取第一业务数据包的源IP地址。
在步骤S503,判断该源IP地址是否为共享设备中对应虚拟网卡的IP地址。如果是,则跳转至步骤S504,否则,跳转至步骤S506。
在步骤S504,根据源IP地址,获取对应的出口网络(即确定被共享设备中对应的外网网卡)。
在步骤S505,执行SNAT转换,并将第一业务数据包从绑定的外网网卡发送至网络侧。其中,SNAT转换可以是指:将第一业务数据包的源IP地址(对应虚拟网卡的IP地址)转换为目的IP地址(对应外网网卡的IP地址)。
在步骤S506,结束。
应理解,上述数据发送过程中,通过外网的数据包和局域网的数据包网络都不同,所以能将这两部分数据隔离开来。
为了加深理解上文中的网络共享方法,本申请实施例还提供另一种数据包传输流程,下面结合图6和图7,对数据的接收过程进行举例说明。
图6为通过被共享设备接收第二业务数据的方法流程示意图。如图6所示,该方法包括如下步骤:S601~S605。
在步骤S601,从网络侧(如Internet网络)接收第二业务数据包。
在步骤S602,将第二业务数据包的源IP地址(对应被共享设备的外网网卡的IP地址)转换为目的IP地址(对应共享设备的虚拟网卡的IP地址)。
在步骤S603,判断目的IP地址绑定的设备是否为共享设备。如果第二业务数据包是共享设备的业务数据,则跳转至步骤S604,否则跳转至步骤S605。
在步骤S604,根据被共享设备上的路由规则(如第二路由规则),将第二业务数据包通过局域网通信连接发送至共享设备。
在步骤S605,结束。
图7为通过共享设备接收第二业务数据的方法流程示意图。如图7所示,该方法包括如下步骤:S701~S706。
在步骤S701,通过局域网通信接收被共享设备发送的第二业务数据包。
在步骤S702,在共享设备的内核空间中,利用hook劫持第二业务数据包。
在步骤S703,根据第二业务数据包的目的IP地址,判断第二业务数据包是否为虚拟网卡的数据。如果是,则跳转至步骤S704,否则,跳转至步骤S708。
在步骤S704,根据目的IP地址,选择对应的dev设备(即对应的虚拟网卡)。
在步骤S705,将第二业务数据包中SKB的dev设备数据设置为虚拟网卡(即本端共享设备的虚拟网卡)。
在步骤S706,将第二业务数据包发送至共享设备的内核协议栈,然后传输至对应虚拟网卡。
在步骤S707,根据共享设备上的路由规则(如第一路由规则),将第二业务数据包从虚拟网卡路由至上层应用。
在步骤S708,结束。
根据上述内容可以看出,多个电子设备的外网网络,在整个网络环境中对所有设备都是共享的。某个设备可以使用这个网络环境下是所有对外网络,对整个网络带宽的提升很有价值。
上文结合图1至图7详细描述了本申请的方法实施例,下面结合图8至图9详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图8为本申请一实施例提供的网络共享装置的结构示意图。该网络共享装置800可以应用于第一电子设备,所述第一电子设备包括第一应用,网络共享装置800可以包括:第一建立模块810、第一接收模块820、第二建立模块830和第一发送模块840。
第一建立模块810,用于与第二电子设备之间建立局域网通信连接。
第一接收模块820,用于通过所述局域网通信连接接收所述第二电子设备发送的第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息。
第二建立模块830,用于根据所述第一信息,在所述第一电子设备中建立第一虚拟网卡,所述第一虚拟网卡与所述第一外网网卡相对应。
第一发送模块840,用于将所述第一应用的第一业务数据发送至所述第一外网网卡,以实现网络共享。
可选地,所述装置还包括:第四建立模块,用于在所述第一电子设备中建立第一虚拟网卡之后,根据所述第一应用的唯一标识,建立第一路由规则,所述第一路由规则用于确定所述第一应用与所述第一虚拟网卡之间的数据传输路径。
可选地,所述第一发送模块840用于:根据所述第一路由规则,将所述第一业务数据路由至所述第一虚拟网卡;将所述第一业务数据转发至所述第一电子设备的内核协议栈;通过所述局域网络通信连接将所述第一业务数据传输至所述第一外网网卡。
可选地,所述将所述第一业务数据转发至所述第一电子设备的内核协议栈,包括:将所述第一业务数据的套接字缓存中的dev设备设置为所述第一电子设备的局域网网卡;将所述第一业务数据转发至所述第一电子设备的内核协议栈中。
可选地,所述装置还包括:第三接收模块,用于在将所述第一业务数据传输至所述第一外网网卡之后,通过所述局域网通信连接接收所述第二电子设备发送的第二业务数据,所述第二业务数据为所述第一应用的业务数据;设置模块,用于将所述第二业务数据的套接字缓存中的dev设备设置为所述第一虚拟网卡;转发模块,用于将所述第二业务数据转发至所述第一虚拟网卡;路由模块,用于根据所述第一路由规则,将所述第二业务数据从所述第一虚拟网卡路由至所述第一应用。
可选地,所述装置还包括:第四发送模块,用于在所述将所述第一应用的第一业务数据发送至所述第一外网网卡之前,通过所述局域网通信连接将所述第一电子设备的第二信息发送至所述第二电子设备,所述第二信息包括所述第一虚拟网卡的网卡信息和所述第一电子设备的设备信息;第四接收模块,用于通过所述局域网通信连接接收所述第二电子设备发送的第二路由规则,所述第二路由规则用于确定所述第一虚拟网卡与所述第一外网网卡之间的数据传输路径,所述第二路由规则是基于所述第二信息确定的。
可选地,所述第一建立模块810用于:在所述第一电子设备中建立第一内网网卡,并给所述第一内网网卡分配对应的IP地址;根据所述第一内网网卡的IP地址与所述第二电子设备的内网网卡之间建立所述局域网通信连接。
可选地,所述第一电子设备还包括中继设备,所述第一建立模块810用于:与所述第二电子设备之间建立蓝牙通信连接;通过所述中继设备对利用所述蓝牙通信连接传输的应用层的所述第一业务数据与IP网络层的所述第一业务数据进行转换,以形成所述局域网通信。
可选地,所述第一接收模块820用于:通过所述局域网络通信连接的控制数据通道接收所述第二电子设备发送的所述第一信息。
可选地,所述局域网通信连接包括以下通信连接中的任意一种:WLAN连接、P2P连接、蓝牙连接或USB连接。
图9为本申请另一实施例提供的网络共享装置的结构示意图。该网络共享装置900可以应用于第二电子设备,网络共享装置900可以包括:第三建立模块910、第二发送模块920、第二接收模块930和第三发送模块940。
第三建立模块910,用于与第一电子设备之间建立局域网通信连接。
第二发送模块920,用于通过所述局域网通信连接向所述第一电子设备发送第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息。
第二接收模块930,用于通过所述局域网通信连接接收所述第一电子设备的第一虚拟网卡发送的第一业务数据,其中,所述第一虚拟网卡是基于所述第一信息建立的,所述第一虚拟网卡与所述第一外网网卡相对应,所述第一业务数据为所述第一电子设备中第一应用的业务数据。
第三发送模块940,用于将所述第一业务数据发送至所述第一外网网卡,以实现网络共享。
可选地,所述装置还包括:第五接收模块,用于在所述通过所述局域网通信连接接收所述第一电子设备的第一虚拟网卡发送的第一业务数据之前,通过所述局域网通信连接接收所述第一电子设备发送的第二信息,所述第二信息包括所述第一虚拟网卡的网卡信息和所述第一电子设备的设备信息;第五建立模块,用于根据所述第二信息,建立第二路由规则,所述第二路由规则用于确定所述第一虚拟网卡与所述第一外网网卡之间的数据传输路径。
可选地,所述第三发送模块940用于:获取所述第一业务数据的数据包的第一源IP地址;如果所述第一源IP地址为所述第一虚拟网卡的IP地址,则将所述第一业务数据发送至所述第一外网网卡。
可选地,所述第三发送模块940用于:如果所述第一源IP地址为所述第一虚拟网卡的IP地址,则通过SNAT将所述源IP地址转换为第一目的IP地址,所述第一目的IP地址为所述第一外网网卡的IP地址;将所述第一业务数据路由至所述第一外网网卡。
可选地,所述装置还包括:第六接收模块,用于在所述将所述第一业务数据发送至所述第一外网网卡之后,利用所述第一外网网卡从网络侧接收第二业务数据;第二转换模块,用于通过DNAT将所述第二业务数据的数据包的第二源IP地址转换为第二目的IP地址,所述第二源IP地址为所述第一外网网卡的IP地址;第二路由模块,用于如果所述第二目的IP地址为所述第一虚拟网卡的IP地址,则根据所述第二路由规则通过所述局域网通信连接将所述第二业务数据路由至所述第一虚拟网卡。
可选地,所述第三建立模块910用于:在所述第二电子设备中建立第二内网网卡,并给所述第二内网网卡分配对应的IP地址;根据所述第二内网网卡的IP地址与所述第一电子设备的内网网卡之间建立所述局域网通信连接。
可选地,所述第二电子设备还包括中继设备,所述第三建立模块910用于:与所述第一电子设备之间建立蓝牙通信连接;通过所述中继设备对利用所述蓝牙通信连接传输的应用层的所述第一业务数据与IP网络层的所述第一业务数据进行转换,以形成所述局域网通信。
可选地,所述第二发送模块920用于:通过所述局域网络通信连接的控制数据通道向所述第一电子设备发送所述第一信息。
可选地,所述第一通信连接包括以下通信连接中的任意一种:WLAN连接、P2P连接、蓝牙连接或USB连接。
下面结合图10是对本申请实施例中的一种电子设备1000进行介绍。该电子设备1000可用于实现上述方法实施例中描述的方法。
应理解,电子设备1000可以应用于前文提及的任一类型的电子设备。
电子设备1000可以包括一个或多个处理器1010。该处理器1010可支持电子设备1000实现前文方法实施例所描述的方法。
该处理器1010可以是通用处理器或者专用处理器。例如,该处理器可以为中央处理单元(central processing unit,CPU)。或者,该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specificintegrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
电子设备1000还可以包括一个或多个存储器1020。存储器1020上存储有程序,该程序可以被处理器1010执行,以控制电子设备1000执行前文方法实施例所描述的方法。存储器1020可以独立于处理器1010也可以集成在处理器1010中。
电子设备1000还可以包括收发器1030。处理器1010可以通过收发器1030与其他设备进行通信。例如,处理器1010可以通过收发器1030与其他设备进行数据收发。
本申请实施例中还提供了一种芯片,包括处理器,该处理器可用于从存储器中调用并运行计算机程序,使得有安装有所述芯片的设备执行上述方法实施例中描述的方法。可以理解的是,该处理器可以上文提及任一类型的处理器。可以理解的是,该存储器可以独立于芯片,也可以集成在芯片中。
本申请实施例还提供一种机器可读存储介质,用于存储程序。并且该程序使得计算机执行本申请各个实施例中的方法。
本申请实施例还提供一种计算机程序产品。该计算机程序产品包括程序。该程序使得计算机执行本申请各个实施例中的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在机器可读存储介质中,或者从一个机器可读存储介质向另一个机器可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述机器可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(Digital Video Disc,DVD))、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本领域普通技术人员可以意识到,结合本公开实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种网络共享方法,其特征在于,应用于第一电子设备,所述第一电子设备包括第一应用,所述方法包括:
与第二电子设备之间建立局域网通信连接;
通过所述局域网通信连接接收所述第二电子设备发送的第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息;
根据所述第一信息,在所述第一电子设备中建立第一虚拟网卡,所述第一虚拟网卡与所述第一外网网卡相对应;
将所述第一应用的第一业务数据发送至所述第一外网网卡,以实现网络共享。
2.根据权利要求1所述的方法,其特征在于,在所述第一电子设备中建立第一虚拟网卡之后,所述方法还包括:
根据所述第一应用的唯一标识,建立第一路由规则,所述第一路由规则用于确定所述第一应用与所述第一虚拟网卡之间的数据传输路径。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一应用的第一业务数据发送至所述第一外网网卡,包括:
根据所述第一路由规则,将所述第一业务数据路由至所述第一虚拟网卡;
将所述第一业务数据转发至所述第一电子设备的内核协议栈;
通过所述局域网络通信连接将所述第一业务数据传输至所述第一外网网卡。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一业务数据转发至所述第一电子设备的内核协议栈,包括:
将所述第一业务数据的套接字缓存中的dev设备设置为所述第一电子设备的局域网网卡;
将所述第一业务数据转发至所述第一电子设备的内核协议栈中。
5.根据权利要求3所述的方法,其特征在于,在将所述第一业务数据传输至所述第一外网网卡之后,所述方法还包括:
通过所述局域网通信连接接收所述第二电子设备发送的第二业务数据;
将所述第二业务数据的套接字缓存中的dev设备设置为所述第一虚拟网卡;
将所述第二业务数据转发至所述第一虚拟网卡;
根据所述第一路由规则,将所述第二业务数据从所述第一虚拟网卡路由至所述第一应用。
6.根据权利要求1所述的方法,其特征在于,在所述将所述第一应用的第一业务数据发送至所述第一外网网卡之前,所述方法还包括:
通过所述局域网通信连接将所述第一电子设备的第二信息发送至所述第二电子设备,所述第二信息包括所述第一虚拟网卡的网卡信息和所述第一电子设备的设备信息;
通过所述局域网通信连接接收所述第二电子设备发送的第二路由规则,所述第二路由规则用于确定所述第一虚拟网卡与所述第一外网网卡之间的数据传输路径,所述第二路由规则是基于所述第二信息确定的。
7.根据权利要求1所述的方法,其特征在于,所述与第二电子设备之间建立局域网通信连接,包括:
在所述第一电子设备中建立第一内网网卡,并给所述第一内网网卡分配对应的IP地址;
根据所述第一内网网卡的IP地址与所述第二电子设备的内网网卡之间建立所述局域网通信连接。
8.根据权利要求1所述的方法,其特征在于,所述第一电子设备还包括中继设备,所述与第二电子设备之间建立局域网通信连接,包括:
与所述第二电子设备之间建立蓝牙通信连接;
通过所述中继设备对利用所述蓝牙通信连接传输的应用层的所述第一业务数据与IP网络层的所述第一业务数据进行转换,以形成所述局域网通信。
9.根据权利要求1所述的方法,其特征在于,所述通过所述局域网通信连接接收所述第二电子设备发送的第一信息,包括:
通过所述局域网络通信连接的控制数据通道接收所述第二电子设备发送的所述第一信息。
10.根据权利要求1中任一项所述的方法,其特征在于,所述局域网通信连接包括以下通信连接中的任意一种:WLAN连接、P2P连接、蓝牙连接或USB连接。
11.一种网络共享方法,其特征在于,应用于第二电子设备,所述方法包括:
与第一电子设备之间建立局域网通信连接;
通过所述局域网通信连接向所述第一电子设备发送第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息;
通过所述局域网通信连接接收所述第一电子设备的第一虚拟网卡发送的第一业务数据,其中,所述第一虚拟网卡是基于所述第一信息建立的,所述第一虚拟网卡与所述第一外网网卡相对应,所述第一业务数据为所述第一电子设备中第一应用的业务数据;
将所述第一业务数据发送至所述第一外网网卡,以实现网络共享。
12.根据权利要求11所述的方法,其特征在于,在所述通过所述局域网通信连接接收所述第一电子设备的第一虚拟网卡发送的第一业务数据之前,所述方法还包括:
通过所述局域网通信连接接收所述第一电子设备发送的第二信息,所述第二信息包括所述第一虚拟网卡的网卡信息和所述第一电子设备的设备信息;
根据所述第二信息,建立第二路由规则,所述第二路由规则用于确定所述第一虚拟网卡与所述第一外网网卡之间的数据传输路径。
13.根据权利要求11所述的方法,其特征在于,将所述第一业务数据发送至所述第一外网网卡,包括:
获取所述第一业务数据的数据包的第一源IP地址;
如果所述第一源IP地址为所述第一虚拟网卡的IP地址,则将所述第一业务数据发送至所述第一外网网卡。
14.根据权利要求13所述的方法,其特征在于,如果所述第一源IP地址为所述第一虚拟网卡的IP地址,则将所述第一业务数据发送至所述第一外网网卡,包括:
如果所述第一源IP地址为所述第一虚拟网卡的IP地址,则通过SNAT将所述源IP地址转换为第一目的IP地址,所述第一目的IP地址为所述第一外网网卡的IP地址;
将所述第一业务数据路由至所述第一外网网卡。
15.根据权利要求12所述的方法,其特征在于,在所述将所述第一业务数据发送至所述第一外网网卡之后,所述方法还包括:
利用所述第一外网网卡从网络侧接收第二业务数据;
通过DNAT将所述第二业务数据的数据包的第二源IP地址转换为第二目的IP地址,所述第二源IP地址为所述第一外网网卡的IP地址;
如果所述第二目的IP地址为所述第一虚拟网卡的IP地址,则根据所述第二路由规则通过所述局域网通信连接将所述第二业务数据路由至所述第一虚拟网卡。
16.根据权利要求11所述的方法,其特征在于,所述与第一电子设备之间建立局域网通信连接,包括:
在所述第二电子设备中建立第二内网网卡,并给所述第二内网网卡分配对应的IP地址;
根据所述第二内网网卡的IP地址与所述第一电子设备的内网网卡之间建立所述局域网通信连接。
17.根据权利要求11所述的方法,其特征在于,所述第二电子设备还包括中继设备,所述与第一电子设备之间建立局域网通信连接,包括:
与所述第一电子设备之间建立蓝牙通信连接;
通过所述中继设备对利用所述蓝牙通信连接传输的应用层的所述第一业务数据与IP网络层的所述第一业务数据进行转换,以形成所述局域网通信。
18.根据权利要求11所述的方法,其特征在于,所述通过所述局域网通信连接向所述第一电子设备发送第一信息,包括:
通过所述局域网络通信连接的控制数据通道向所述第一电子设备发送所述第一信息。
19.根据权利要求11中任一项所述的方法,其特征在于,所述局域网通信连接包括以下通信连接中的任意一种:WLAN连接、P2P连接、蓝牙连接或USB连接。
20.一种网络共享装置,其特征在于,应用于第一电子设备,所述第一电子设备包括第一应用,所述装置包括:
第一建立模块,用于与第二电子设备之间建立局域网通信连接;
第一接收模块,用于通过所述局域网通信连接接收所述第二电子设备发送的第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息;
第二建立模块,用于根据所述第一信息,在所述第一电子设备中建立第一虚拟网卡,所述第一虚拟网卡与所述第一外网网卡相对应;
第一发送模块,用于将所述第一应用的第一业务数据发送至所述第一外网网卡,以实现网络共享。
21.一种网络共享装置,其特征在于,应用于第二电子设备,所述装置包括:
第三建立模块,用于与第一电子设备之间建立局域网通信连接;
第二发送模块,用于通过所述局域网通信连接向所述第一电子设备发送第一信息,所述第一信息包括所述第二电子设备的第一外网网卡的网卡信息和所述第二电子设备的设备信息;
第二接收模块,用于通过所述局域网通信连接接收所述第一电子设备的第一虚拟网卡发送的第一业务数据,其中,所述第一虚拟网卡是基于所述第一信息建立的,所述第一虚拟网卡与所述第一外网网卡相对应,所述第一业务数据为所述第一电子设备中第一应用的业务数据;
第三发送模块,用于将所述第一业务数据发送至所述第一外网网卡,以实现网络共享。
22.一种芯片,其特征在于,包括:
处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行如权利要求1-10中任一项所述的方法或如权利要求11-19中任一项所述的方法。
23.一种电子设备,其特征在于,包括:
处理器、存储器和收发器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以控制所述电子设备执行如权利要求1-10中任一项所述的方法或如权利要求11-19中任一项所述的方法。
24.一种计算机可读存储介质,其上存储有可执行代码,其特征在于,所述代码用于实现如权利要求1-10中任一项所述的方法或如权利要求11-19中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311428673.2A CN117377129A (zh) | 2023-10-30 | 2023-10-30 | 网络共享方法及装置、芯片、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311428673.2A CN117377129A (zh) | 2023-10-30 | 2023-10-30 | 网络共享方法及装置、芯片、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117377129A true CN117377129A (zh) | 2024-01-09 |
Family
ID=89396360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311428673.2A Pending CN117377129A (zh) | 2023-10-30 | 2023-10-30 | 网络共享方法及装置、芯片、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117377129A (zh) |
-
2023
- 2023-10-30 CN CN202311428673.2A patent/CN117377129A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11323367B2 (en) | Method, apparatus and system for enabling communication using multi-protocol gateway and virtual resource manager | |
WO2018090666A1 (zh) | 一种多路径数据传输方法及设备 | |
RU2611972C2 (ru) | Хэндовер беспроводного соединения lan посредством стыковочной системы и универсального драйвера сетевого устройства | |
US20080008109A1 (en) | Method and apparatus for bridging wireless control networks | |
CN109672708B (zh) | 通信方法及装置、系统 | |
US20130176903A1 (en) | Methods and Apparatus for Establishing a Tunneled Direct Link Setup (TDLS) Session Between Devices in a Wireless Network | |
CN105376299B (zh) | 一种网络通信方法、设备及网络附属存储设备 | |
CN104350725A (zh) | 通过软件定义网络进行信息中心网络的无缝集成和独立演进方法 | |
CN110166414B (zh) | 一种通信方法、装置及系统 | |
JP2011508551A (ja) | 複数の無線ネットワークに同時にアクセスするための装置及び方法 | |
US10999243B2 (en) | Sharing media among remote access clients in a universal plug and play environment | |
EP2432194B1 (en) | Method, device and system for information synchronization | |
CN106416146B (zh) | 通信装置、通信方法和通信系统 | |
CN114697388B (zh) | 数据传输方法及装置 | |
US10666492B1 (en) | Method and apparatus of providing emergency communication services | |
CN115174310B (zh) | Pdn拨号及配置方法、系统、装置、设备及存储介质 | |
JP5937563B2 (ja) | 通信基地局およびその制御方法 | |
CN117377129A (zh) | 网络共享方法及装置、芯片、电子设备、存储介质 | |
WO2018121443A1 (zh) | 报文传输方法及装置 | |
JP2011160286A (ja) | 呼制御サーバ、中継サーバ、vpn装置、vpn通信システム、vpnネットワーキング方法、プログラム、及び記憶媒体 | |
CN101686265B (zh) | 网络设备、网络系统以及建立数据通讯的方法 | |
CN114339748A (zh) | 一种鉴权方法及其装置 | |
CN114025016B (zh) | 一种数据转发方法、装置及存储介质 | |
JP4815181B2 (ja) | 通信装置、通信方法及びプログラム | |
JP6755171B2 (ja) | 接続切り替えシステム、接続切り替え方法、および、接続先装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |