CN108063712B - 一种网络请求的发送方法及装置 - Google Patents

一种网络请求的发送方法及装置 Download PDF

Info

Publication number
CN108063712B
CN108063712B CN201610986278.XA CN201610986278A CN108063712B CN 108063712 B CN108063712 B CN 108063712B CN 201610986278 A CN201610986278 A CN 201610986278A CN 108063712 B CN108063712 B CN 108063712B
Authority
CN
China
Prior art keywords
network
server
address
network request
target
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.)
Active
Application number
CN201610986278.XA
Other languages
English (en)
Other versions
CN108063712A (zh
Inventor
陈磊
林嘉曦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201610986278.XA priority Critical patent/CN108063712B/zh
Publication of CN108063712A publication Critical patent/CN108063712A/zh
Application granted granted Critical
Publication of CN108063712B publication Critical patent/CN108063712B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络请求的发送方法及装置,涉及互联网技术领域,主要目的在于在开启VPN服务时将不需要VPN服务器转发的网络请求直接发给目标服务器,以降低VPN服务的工作负载。本发明主要的技术方案为:获取终端所有的网络请求,所述终端采用虚拟专用网络实现网络服务功能;判断所述网络请求中的目标地址对应的目标服务器是否需要通过虚拟专用网络服务器进行访问;若需要,则利用所述终端的虚拟网卡将所述网络请求发送至所述虚拟专用网络服务器,以通过所述虚拟专用网络服务器转发至目标服务器;若不需要,则利用所述终端的物理网卡将所述网络请求发送至目标服务器。本发明主要用于在开启VPN服务的情况下处理终端产生的网络请求。

Description

一种网络请求的发送方法及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种网络请求的发送方法及装置。
背景技术
虚拟专用网络(Virtual Private Network,简称VPN)指的是在公用网络上建立专用网络的技术。VPN网络可以理解成是虚拟出来的企业内部专线。它可以通过特殊的加密的通讯协议在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路。一般地,VPN网络中的终端在开启VPN服务后,在该终端内的所有网络请求将由虚拟网卡获取并发送至VPN服务器,由VPN服务器将网络请求转发至对应的目标服务器中,并接收目标服务器返回的数据。而这种处理方式不会区分网络请求是否需要VPN服务器进行转发,一律由发送给VPN服务器做进一步处理。
然而在实际应用过程中,当VPN服务器需要处理大量终端所发送的网络请求时,由于处理的负载较大,很容易出现排队处理的现象,导致大量的网络请求无法得到及时处理,造成网络操作的延时严重,从而影响VPN网络用户的使用操作体验。
发明内容
有鉴于此,本发明提供一种网络请求的发送方法及装置,主要目的在于在开启VPN服务时将不需要VPN服务器转发的网络请求直接发给目标服务器,以降低VPN服务的工作负载。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明提供了一种网络请求的发送方法,该方法包括:
获取终端的网络请求,所述终端采用虚拟专用网络实现网络服务功能;
判断所述网络请求中的目标地址对应的目标服务器是否需要通过虚拟专用网络服务器进行访问;
若需要,则利用所述终端的虚拟网卡将所述网络请求发送至所述虚拟专用网络服务器,以通过所述虚拟专用网络服务器转发至目标服务器;
若不需要,则利用所述终端的物理网卡将所述网络请求发送至目标服务器。
优选的,判断所述网络请求中的目标地址对应的目标服务器是否需要通过虚拟专用网络服务器进行访问包括:
解析所述网络请求中的目标地址;
根据地址范围判断所述目标地址是否为私有地址,所述私有地址是需要通过虚拟专用网络服务器转发访问的地址;
若是,则确定所述目标地址对应的目标服务器需要通过虚拟专用网络服务器进行访问。
优选的,所述根据地址范围判断所述目标地址是否为私有地址包括:
获取所述私有地址的地址范围;
利用正则表达式判断所述目标地址是否在所述地址范围中。
优选的,所述在虚拟专用网络中获取终端的网络请求包括:
在所述终端中建立虚拟网卡,利用所述虚拟网卡为所述终端配置虚拟网络接口,连接所述虚拟专用网络服务器;
利用所述虚拟网卡获取所述终端中的网络请求。
优选的,所述利用所述终端的物理网卡将所述网络请求发送至目标服务器包括:
为所述网络请求创建套接字,所述套接字中标注有所述网络请求的目标地址;
将所述套接字与物理网卡的网络接口绑定,以使所述网络请求不被所述虚拟网卡截获;
将带有所述套接字的网络请求发送至物理网卡,以便通过所述物理网卡的网络接口将所述网络请求发送至目标服务器。
优选的,所述利用所述终端的虚拟网卡将所述网络请求发送至所述虚拟专用网络服务器包括:
标注所述网络请求,以使所述网络请求不被所述虚拟网卡截获;
将所述网络请求发送至所述虚拟网卡,通过虚拟专用连接发送至所述虚拟专用网络服务器。
另一方面,本发明还提供了一种网络请求的发送装置,该装置包括:
获取单元,用于获取终端的网络请求,所述终端采用虚拟专用网络实现网络服务功能;
判断单元,用于判断所述获取单元所获取网络请求中的目标地址对应的目标服务器是否需要通过虚拟专用网络服务器进行访问;
第一发送单元,用于当所述判断单元判断所述目标地址需要通过虚拟专用网络服务器进行访问时,利用所述终端的虚拟网卡将所述网络请求发送至所述虚拟专用网络服务器,以通过所述虚拟专用网络服务器转发至目标服务器;
第二发送单元,用于当所述判断单元判断所述目标地址不需要通过虚拟专用网络服务器进行访问时,利用所述终端的物理网卡将所述网络请求发送至目标服务器。
优选的,所述判断单元包括:
解析模块,用于解析所述网络请求中的目标地址;
判断模块,用于根据地址范围判断所述解析模块得到的目标地址是否为私有地址,所述私有地址是需要通过虚拟专用网络服务器转发访问的地址;
确定模块,用于当所述判断模块的判断结果为是私用地址时,确定所述目标地址对应的目标服务器需要通过虚拟专用网络服务器进行访问。
优选的,所述判断模块包括:
获取子模块,用于获取所述私有地址的地址范围;
判断子模块,用于利用正则表达式判断所述目标地址是否在所述获取子模块获取的地址范围中。
优选的,所述获取单元包括:
创建模块,用于在所述终端中建立虚拟网卡,利用所述虚拟网卡为所述终端配置虚拟网络接口,连接所述虚拟专用网络服务器;
获取模块,用于利用所述创建模块建立的虚拟网卡获取所述终端中的网络请求。
优选的,所述第二发送单元包括:
创建模块,用于为所述网络请求创建套接字,所述套接字中标注有所述网络请求的目标地址;
绑定模块,用于将所述创建模块创建的套接字与物理网卡的网络接口绑定,以使所述网络请求不被所述虚拟网卡截获;
发送模块,用于将带有所述创建模块创建套接字的网络请求发送至物理网卡,以便通过所述物理网卡的网络接口将所述网络请求发送至目标服务器。
优选的,所述第一发送单元包括:
标注模块,用于标注所述网络请求,以使所述网络请求不被所述虚拟网卡截获;
发送模块,用于将所述标注模块标注的网络请求发送至所述虚拟网卡,通过虚拟专用连接发送至所述虚拟专用网络服务器。
依据上述本发明所提出的一种网络请求的发送方法及装置,是在VPN服务开启的情况下,获取终端的所有网络请求并在本地完成解析操作,得到该网络请求中的目标地址,再通过判断该目标地址是否需要通过VPN服务器进行访问,将需要VPN服务器转发的网络请求通过终端中的虚拟网卡发送给VPN服务器,将不需要VPN服务器转发的网络请求通过终端中的物理网卡直接发送至目标服务器。相对于在现有VPN服务下处理网络请求的方式,本发明实现了对网络请求的本地化处理,将能够直接访问目标服务器的网络请求不再发送给VPN服务器,从而减少终端向VPN服务器发送网络请求的数量,以减少VPN服务器处理网络请求的负载压力,尤其是在VPN服务器为大量的终端提供服务时,由于减少了网络请求的处理量,对于VPN服务器而言减少了接收发送网络请求的流量,并且能够提高对终端的服务质量,同时,对于各个终端而言由于采取了区别处理网络请求的方式,使得网络请求不再集中发送给VPN服务器,从而提高了网络请求的响应效率,也提升了终端的用户使用体验。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提出的一种网络请求的发送方法流程图;
图2示出了本发明实施例提出的另一种网络请求的发送方法流程图;
图3示出了本发明实施例提出的一种网络请求的发送装置组成框图;
图4示出了本发明实施例提出的另一种网络请求的发送装置组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种网络请求的发送方法,如图1所示,该方法应用于开启VPN网络服务功能的终端内,以实现将终端中产生的网络请求根据目标地址进行区分处理,对此本发明实施例提供以下具体步骤:
101、获取终端所有的网络请求。
其中,终端不限定为移动终端或固定终端,而该终端是采用VPN网络来实现网络服务功能的。目前,对于使用VPN网络服务的技术实现一般是在终端中开启VPN服务后,该终端将自动拦截安装于终端系统中所有应用产生的网络请求,并将这些网络请求全部发送至VPN服务器进行统一处理。较常用的实现方式是在终端中创建虚拟网卡,通过该虚拟网卡为终端配置虚拟网络接口,用于终端与VPN服务器的通信连接,并由该虚拟网卡获取终端中的所有网络请求。本步骤中,也是利用虚拟网卡在终端开启VPN服务时能够获取的所有网络请求的特性,在VPN服务开启的情况下,直接获取虚拟网卡所拦截的网络请求。这些网络请求包括终端系统自身的网络请求以及终端上安装的第三方应用的网络请求。
102、判断网络请求中的目标地址所对应的目标服务器是否需要通过VPN服务器进行访问。
其中,网络请求中的目标地址是将步骤101中获取的网络请求进行解析得到的,解析的方式需要根据网络请求的具体方式以及框架进行对应的解析操作,具体的解析方式作为现有的常规操作在此处不再具体说明,其解析的结果是要得到该网络请求中的目标地址,该目标地址也就是目标服务器的网络地址,即目标服务器的地址。根据目标地址确定网络请求所要访问的目标服务器。
再根据得到的目标服务器判断访问该目标服务器是否需要通过VPN服务器转接访问,具体的判断方式本发明实施例不做具体限定,可以是通过设置地址名单的方式进行判断,即将所有需要VPN服务器转接访问的服务器地址统一添加到该名单中,通过将目标地址与该名单中的服务器地址进行匹配,命中说明该目标地址对应的目标服务器需要VPN服务器转接访问,而没有命中则说明目标服务器不需要VPN服务器转接访问;也可以是先将网络请求直接根据目标地址发送给目标服务器,等待该目标服务器的响应,若响应超时或无法连接,则再将该网络请求发送给VPN服务器进行处理。
本发明实施例中,是通过对所获取的网络请求先在终端本地进行解析处理,再判断该网络请求是发送至目标服务器或是发送至VPN服务器。在确定将网络请求发送至VPN服务器时,执行步骤103,而在确定将网络请求发送至目标服务器时,执行步骤104。
103、利用终端的虚拟网卡将网络请求发送至VPN服务器。
根据步骤102的判断,当访问目标服务器时需要由VPN服务器转发网络请求时,终端将该网络请求通过虚拟网卡所建立的终端与VPN服务器的连接发送至VPN服务器,由VPN服务器对该网络请求做进一步的处理,包括解析其中的目标地址、目标端口号等信息,根据这些信息转发该网络请求至目标服务器。
对于VPN服务器,在接收并转发终端的网络请求后,相对应的需要接收目标服务器对该网络请求的响应数据,并将该响应数据反馈给终端。
104、利用终端的物理网卡将网络请求发送至目标服务器。
根据步骤102的判断,当访问目标服务器不需要由VPN服务器转发网络请求时,终端则可以将该网络请求按照目标地址通过物理网卡直接发送至目标服务器,并接收目标服务器返回的响应数据。
结合上述的实现方式可以看出,本发明实施例所采用的网络请求的发送方法,是在VPN服务开启的情况下,获取终端的所有网络请求并在本地完成解析操作,得到该网络请求中的目标地址,再通过判断该目标地址是否需要通过VPN服务器进行访问,将需要VPN服务器转发的网络请求通过终端中的虚拟网卡发送给VPN服务器,将不需要VPN服务器转发的网络请求通过终端中的物理网卡直接发送至目标服务器。相对于在现有VPN服务下处理网络请求的方式,本发明实施例实现了对网络请求的本地化处理,将能够直接访问目标服务器的网络请求不再发送给VPN服务器,从而减少终端向VPN服务器发送网络请求的数量,以减少VPN服务器处理网络请求的负载压力,尤其是在VPN服务器为大量的终端提供服务时,由于减少了网络请求的处理量,对于VPN服务器而言减少了接收发送网络请求的流量,并且能够提高对终端的服务质量,同时,对于各个终端而言由于采取了区别处理网络请求的方式,使得网络请求不再集中发送给VPN服务器,从而提高了网络请求的响应效率,也提升了终端的用户使用体验。
以下为了更加详细地说明本发明提出的一种网络请求的发送方法,特别是在VPN服务开启后,对网络请求在终端本地的具体解析处理以及判断发送的对象方式进行详细说明,具体如图2所示,该方法所包括的步骤为:
201、获取终端所有的网络请求。
利用终端中建立的虚拟网卡获取该终端所有的网络请求。本步骤的主要内容同上述实施例中的步骤101,具体可参见上述的步骤,此处不再赘述。
202、解析网络请求中的目标地址。
其中,目标地址为目标服务器的访问地址,网络请求的解析需要根据终端所使用的系统与所采用的不同网络协议(如TCP/IP、HTTP、FTP协议等)以及采用的不同网络请求框架(如通用框架、自定义框架,不同的网络请求框架主要是根据网络访问方式的不同而确定的)来确定具体的解析方式的。而对于不同网络请求的具体解析方式已经广泛应用于现有的网络通信技术中,因此,在本发明实施例中,对于不同网络请求的解析方式不再做详细说明,本步骤的重点在于通过现有的解析操作得到网络请求中的目标地址,从而确定出该网络请求所要访问的目标服务器。
203、根据地址范围判断网络请求中的目标地址是否为私有地址。
其中,私有地址是指需要通过VPN服务器进行访问的地址。例如,在TCP/IP协议中,就专门保留了三个IP地址区域作为私有地址,其地址范围具体为:
10.0.0.0~10.255.255.255;
172.16.0.0~172.31.255.255;
192.168.0.0~192.168.255.255。
本步骤通过获取私有地址的地址范围,来判断目标地址是否属于私用地址,针对上述的TCP/IP协议中的私有地址,可以通过正则表达式来判断目标IP地址是否落在这三个网段中,以下提供通过正则表达式计算目标IP地址是否为私有地址的具体代码如下:
Figure BDA0001149041930000081
当判断目标地址为私有地址时,确定该目标地址所对应的目标服务器需要通过虚拟专用网络服务器进行访问。此时,对该目标地址对应的网路请求执行步骤204,反之,则执行步骤205。
204、利用终端的虚拟网卡将网络请求发送至VPN服务器。
本步骤中,终端会将需要通过VPN服务器转发的网络请求进行标注,并将带有标注的网络请求发送至虚拟网卡,通过虚拟网卡与VPN服务器之间的连接发送该网络请求。其中,对网络请求进行标注的主要目的在于将该网络请求与虚拟网卡所获取的原始网络请求进行区分,以此避免该网络请求重复的解析、判断而形成死循环。
205、利用终端的物理网卡将网络请求发送至目标服务器。
对于不需要通过VPN服务器进行访问的网络请求,终端将该网络请求通过物理网卡直接发送至目标服务器。而为了防止该网络请求的相关数据包再次被虚拟网卡拦截而形成死循环,本发明实施例中,通过使用VPN服务中的保护函数来对该网络请求以及相关的数据包进行保护,具体的,是在创建发送请求数据的socket(网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket,通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信)后,执行protect函数的具体语句代码为:vpnService.protect(my_socket)。其原理是将该socket和该终端物理网卡的网络接口进行绑定,保证通过该socket发送出去的数据包一定是通过物理网卡的网络接口发送出去的,不会被转发到虚拟网卡的虚拟网络接口上去。也就是将数据包发送到终端的物理网卡中,由物理网卡将数据按照目标地址发送到目标服务器中。
进一步的,作为对上述方法的实现,本发明实施例提供了一种网络请求的发送装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置用于开启VPN网络服务功能的终端内,以实现将终端中产生的网络请求根据目标地址进行区分处理,将不需要VPN服务器转发的网络请求通过终端的物理网卡直接发送至目标服务器,具体如图3所示,该装置包括:
获取单元31,用于获取终端所有的网络请求,所述终端采用虚拟专用网络实现网络服务功能;
判断单元32,用于判断所述获取单元31所获取网络请求中的目标地址对应的目标服务器是否需要通过虚拟专用网络服务器进行访问;
第一发送单元33,用于当所述判断单元32判断所述目标地址需要通过虚拟专用网络服务器进行访问时,利用所述终端的虚拟网卡将所述网络请求发送至所述虚拟专用网络服务器,以通过所述虚拟专用网络服务器转发至目标服务器;
第二发送单元34,用于当所述判断单元32判断所述目标地址不需要通过虚拟专用网络服务器进行访问时,利用所述终端的物理网卡将所述网络请求发送至目标服务器。
进一步的,如图4所示,所述判断单元32包括:
解析模块321,用于解析所述网络请求中的目标地址;
判断模块322,用于根据地址范围判断所述解析模块321得到的目标地址是否为私有地址,所述私有地址是需要通过虚拟专用网络服务器转发访问的地址;
确定模块323,用于当所述判断模块322的判断结果为是私用地址时,确定所述目标地址对应的目标服务器需要通过虚拟专用网络服务器进行访问。
进一步的,如图4所示,所述判断模块322包括:
获取子模块3221,用于获取所述私有地址的地址范围;
判断子模块3222,用于利用正则表达式判断所述目标地址是否在所述获取子模块3221获取的地址范围中。
进一步的,如图4所示,所述获取单元31包括:
创建模块311,用于在所述终端中建立虚拟网卡,利用所述虚拟网卡为所述终端配置虚拟网络接口,连接所述虚拟专用网络服务器;
获取模块312,用于利用所述创建模块311建立的虚拟网卡获取所述终端中的所有网络请求。
进一步的,如图4所示,所述第二发送单元34包括:
创建模块341,用于为所述网络请求创建套接字,所述套接字中标注有所述网络请求的目标地址;
绑定模块342,用于将所述创建模块341创建的套接字与物理网卡的网络接口绑定,以使所述网络请求不被所述虚拟网卡截获;
发送模块343,用于将带有所述创建模块341创建套接字的网络请求发送至物理网卡,以便通过所述物理网卡的网络接口将所述网络请求发送至目标服务器。
进一步的,如图4所示,所述第一发送单元33包括:
标注模块331,用于标注所述网络请求,以使所述网络请求不被所述虚拟网卡截获;
发送模块332,用于将所述标注模块331标注的网络请求发送至所述虚拟网卡,通过虚拟专用连接发送至所述虚拟专用网络服务器。
综上所述,本发明实施例所采用的网络请求的发送方法及装置,是在VPN服务开启的情况下,获取终端的所有网络请求并在本地完成解析操作,得到该网络请求中的目标地址,再通过判断该目标地址是否需要通过VPN服务器进行访问,将需要VPN服务器转发的网络请求通过终端中的虚拟网卡发送给VPN服务器,将不需要VPN服务器转发的网络请求通过终端中的物理网卡直接发送至目标服务器。相对于在现有VPN服务下处理网络请求的方式,本发明实施例实现了对网络请求的本地化处理,将目标地址不在私有地址范围内的网络请求不再发送给VPN服务器,从而减少终端向VPN服务器发送网络请求的数量,以减少VPN服务器处理网络请求的负载压力,特别是在VPN服务器为大量的终端提供服务时,由于减少了网络请求的处理量,对于VPN服务器而言减少了接收发送网络请求的流量,并且能够提高对终端的服务质量,同时,对于各个终端而言由于采取了区别处理网络请求的方式,使得网络请求不再集中发送给VPN服务器,从而提高了网络请求的响应效率,也提升了终端的用户使用体验。
所述网络请求的发送装置包括处理器和存储器,上述获取单元、判断单元、第一发送单元和第二发送单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现在开启VPN服务时将不需要VPN服务器转发的网络请求直接发给目标服务器,以降低VPN服务的工作负载。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取终端所有的网络请求,所述终端采用虚拟专用网络实现网络服务功能;判断所述网络请求中的目标地址对应的目标服务器是否需要通过虚拟专用网络服务器进行访问;若需要,则利用所述终端的虚拟网卡将所述网络请求发送至所述虚拟专用网络服务器,以通过所述虚拟专用网络服务器转发至目标服务器;若不需要,则利用所述终端的物理网卡将所述网络请求发送至目标服务器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种网络请求的发送方法,其特征在于,所述方法包括:
利用虚拟网卡在终端开启虚拟专用网络服务时获取终端的网络请求,所述终端采用虚拟专用网络实现网络服务功能;
判断所述网络请求中的目标地址对应的目标服务器是否需要通过虚拟专用网络服务器进行访问,至少包括:预设地址名单,将有需要虚拟专用网络服务器转接服务地址添加到所述预设地址名单中;通过将所述目标地址与所述预设地址名单中的服务器地址进行匹配;若命中,则说明所述目标地址对应的目标服务器需要虚拟专用网络服务器转接访问;若未命中,则说明所述目标服务器不需要虚拟专用网络服务器转接访问;
若需要,则利用所述终端的虚拟网卡将所述网络请求发送至所述虚拟专用网络服务器,以通过所述虚拟专用网络服务器转发至目标服务器;
若不需要,则利用所述终端的物理网卡将所述网络请求发送至目标服务器。
2.根据权利要求1所述的方法,其特征在于,判断所述网络请求中的目标地址对应的目标服务器是否需要通过虚拟专用网络服务器进行访问包括:
解析所述网络请求中的目标地址;
根据地址范围判断所述目标地址是否为私有地址,所述私有地址是需要通过虚拟专用网络服务器转发访问的地址;
若是,则确定所述目标地址对应的目标服务器需要通过虚拟专用网络服务器进行访问。
3.根据权利要求2所述的方法,其特征在于,所述根据地址范围判断所述目标地址是否为私有地址包括:
获取所述私有地址的地址范围;
利用正则表达式判断所述目标地址是否在所述地址范围中。
4.根据权利要求1所述的方法,其特征在于,所述在虚拟专用网络中获取终端的网络请求包括:
在所述终端中建立虚拟网卡,利用所述虚拟网卡为所述终端配置虚拟网络接口,连接所述虚拟专用网络服务器;
利用所述虚拟网卡获取所述终端中的网络请求。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述利用所述终端的物理网卡将所述网络请求发送至目标服务器包括:
为所述网络请求创建套接字,所述套接字中标注有所述网络请求的目标地址;
将所述套接字与物理网卡的网络接口绑定,以使所述网络请求不被所述虚拟网卡截获;
将带有所述套接字的网络请求发送至物理网卡,以便通过所述物理网卡的网络接口将所述网络请求发送至目标服务器。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述利用所述终端的虚拟网卡将所述网络请求发送至所述虚拟专用网络服务器包括:
标注所述网络请求,以使所述网络请求不被所述虚拟网卡截获;
将所述网络请求发送至所述虚拟网卡,通过虚拟专用连接发送至所述虚拟专用网络服务器。
7.一种网络请求的发送装置,其特征在于,所述装置包括:
获取单元,用于利用虚拟网卡在终端开启虚拟专用网络服务时获取终端的网络请求,所述终端采用虚拟专用网络实现网络服务功能;
判断单元,用于判断所述获取单元所获取网络请求中的目标地址对应的目标服务器是否需要通过虚拟专用网络服务器进行访问,至少包括:预设地址名单,将有需要虚拟专用网络服务器转接服务地址添加到所述预设地址名单中;通过将所述目标地址与所述预设地址名单中的服务器地址进行匹配;若命中,则说明所述目标地址对应的目标服务器需要虚拟专用网络服务器转接访问;若未命中,则说明所述目标服务器不需要虚拟专用网络服务器转接访问;
第一发送单元,用于当所述判断单元判断所述目标地址需要通过虚拟专用网络服务器进行访问时,利用所述终端的虚拟网卡将所述网络请求发送至所述虚拟专用网络服务器,以通过所述虚拟专用网络服务器转发至目标服务器;
第二发送单元,用于当所述判断单元判断所述目标地址不需要通过虚拟专用网络服务器进行访问时,利用所述终端的物理网卡将所述网络请求发送至目标服务器。
8.根据权利要求7所述的装置,其特征在于,所述判断单元包括:
解析模块,用于解析所述网络请求中的目标地址;
判断模块,用于根据地址范围判断所述解析模块得到的目标地址是否为私有地址,所述私有地址是需要通过虚拟专用网络服务器转发访问的地址;
确定模块,用于当所述判断模块的判断结果为是私用地址时,确定所述目标地址对应的目标服务器需要通过虚拟专用网络服务器进行访问。
9.根据权利要求7或8所述的装置,其特征在于,所述第二发送单元包括:
创建模块,用于为所述网络请求创建套接字,所述套接字中标注有所述网络请求的目标地址;
绑定模块,用于将所述创建模块创建的套接字与物理网卡的网络接口绑定,以使所述网络请求不被所述虚拟网卡截获;
发送模块,用于将带有所述创建模块创建套接字的网络请求发送至物理网卡,以便通过所述物理网卡的网络接口将所述网络请求发送至目标服务器。
10.根据权利要求7或8所述的装置,其特征在于,所述第一发送单元包括:
标注模块,用于标注所述网络请求,以使所述网络请求不被所述虚拟网卡截获;
发送模块,用于将所述标注模块标注的网络请求发送至所述虚拟网卡,通过虚拟专用连接发送至所述虚拟专用网络服务器。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求6中任意一项所述的网络请求的发送方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求6中任意一项所述的网络请求的发送方法。
CN201610986278.XA 2016-11-09 2016-11-09 一种网络请求的发送方法及装置 Active CN108063712B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610986278.XA CN108063712B (zh) 2016-11-09 2016-11-09 一种网络请求的发送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610986278.XA CN108063712B (zh) 2016-11-09 2016-11-09 一种网络请求的发送方法及装置

Publications (2)

Publication Number Publication Date
CN108063712A CN108063712A (zh) 2018-05-22
CN108063712B true CN108063712B (zh) 2021-01-08

Family

ID=62137821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610986278.XA Active CN108063712B (zh) 2016-11-09 2016-11-09 一种网络请求的发送方法及装置

Country Status (1)

Country Link
CN (1) CN108063712B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971498B (zh) * 2018-09-30 2022-09-30 北京京东尚科信息技术有限公司 通信方法、通信装置、电子设备及存储介质
CN112583945B (zh) * 2019-09-30 2023-04-07 北京国双科技有限公司 多网络访问方法及装置
CN111711556B (zh) * 2020-06-17 2021-11-23 北京字节跳动网络技术有限公司 虚拟专用网络的选路方法、装置、系统、设备及存储介质
CN111901354B (zh) * 2020-08-03 2022-09-30 北京指掌易科技有限公司 数据处理方法、装置及电子终端
CN112653609B (zh) * 2020-12-14 2022-05-27 北京指掌易科技有限公司 一种vpn识别应用方法、装置、终端及存储介质
CN112887444A (zh) * 2021-01-19 2021-06-01 网宿科技股份有限公司 一种vpn网络的请求处理方法、客户端设备及系统
CN113315687B (zh) * 2021-05-25 2023-09-08 Oppo广东移动通信有限公司 代理网络管理方法、装置、存储介质以及终端
CN114422214B (zh) * 2021-12-31 2023-12-29 深信服科技股份有限公司 一种访问信息处理方法、装置、设备及计算机存储介质
CN114615076B (zh) * 2022-03-30 2024-07-05 中国农业银行股份有限公司 一种虚拟专用网络vpn切换方法、装置、设备及介质
CN115499346B (zh) * 2022-09-15 2024-04-26 巨擎网络科技(济南)有限公司 一种多网卡的测速方法、装置、设备及介质
CN116886442B (zh) * 2023-09-01 2023-12-15 北京车与车科技有限公司 用于异地访问保险公司系统的方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132330A (zh) * 2007-09-29 2008-02-27 中兴通讯股份有限公司 一种移动虚拟专用网用户接入系统和方法
CN102065125A (zh) * 2010-11-18 2011-05-18 广州致远电子有限公司 一种嵌入式ssl vpn的实现方法
CN102891802A (zh) * 2012-09-19 2013-01-23 深圳市深信服电子科技有限公司 数据分流方法、移动终端及数据分流系统
CN103747116A (zh) * 2014-01-24 2014-04-23 杭州华三通信技术有限公司 一种基于二层隧道协议的业务访问方法及装置
CN104702518A (zh) * 2015-03-05 2015-06-10 安徽清新互联信息科技有限公司 一种基于无线网络的多卡路由器装置及其数据传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101132330A (zh) * 2007-09-29 2008-02-27 中兴通讯股份有限公司 一种移动虚拟专用网用户接入系统和方法
CN102065125A (zh) * 2010-11-18 2011-05-18 广州致远电子有限公司 一种嵌入式ssl vpn的实现方法
CN102891802A (zh) * 2012-09-19 2013-01-23 深圳市深信服电子科技有限公司 数据分流方法、移动终端及数据分流系统
CN103747116A (zh) * 2014-01-24 2014-04-23 杭州华三通信技术有限公司 一种基于二层隧道协议的业务访问方法及装置
CN104702518A (zh) * 2015-03-05 2015-06-10 安徽清新互联信息科技有限公司 一种基于无线网络的多卡路由器装置及其数据传输方法

Also Published As

Publication number Publication date
CN108063712A (zh) 2018-05-22

Similar Documents

Publication Publication Date Title
CN108063712B (zh) 一种网络请求的发送方法及装置
CN110300050B (zh) 消息推送方法、装置、计算机设备及存储介质
CN108063714B (zh) 一种网络请求的处理方法及装置
US11963260B2 (en) Methods and entities for ending a subscription
US10805268B2 (en) Method and apparatuses for enabling routing of data packets between a wireless device and a service provider based in the local service cloud
CN109068346B (zh) 一种配置WiFi参数的方法及装置
CN107979627B (zh) 一种网络请求的处理方法及装置
CN108401037B (zh) 用户终端和设备的绑定方法、装置和系统
CN112217771B (zh) 基于租户信息的数据转发方法及数据转发装置
WO2017128520A1 (zh) 数据流量共享方法、装置、系统和移动终端
CN113676512A (zh) 网络系统、资源处理方法及设备
CN104506540B (zh) 虚拟主机的读写请求处理方法及系统、宿主机
US20160345283A1 (en) Method and apparatus for adjacent node registration, and method and system for cross-node registration
CN110958278B (zh) 基于api网关实现的数据处理方法、系统和api网关
CN112751897A (zh) 负载均衡方法、装置、介质及设备
CN107547680B (zh) 一种数据处理方法及装置
CN110166518B (zh) 会话信息的传输方法、装置、存储介质及电子装置
CN103155495B (zh) 用于路由协议配置的方法、装置及系统
CN108063713B (zh) 一种网络请求的处理方法及装置
US12058095B2 (en) Processing method and device for external link rewriting
CN107979517B (zh) 一种网络请求的处理方法及装置
CN106899652B (zh) 一种推送业务处理结果的方法及装置
CN114448960A (zh) 一种调度系统、方法、装置、设备及介质
US10849179B1 (en) Mobile network tool
CN114630316A (zh) 终端外发业务数据的路由选择方法、系统和终端

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
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant