具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
请参阅图1,图1为本发明实施例提供的一种建立网络隧道的方法流程图。如图1所示,该方法可以包括:
101:第一节点向虚拟专用网络服务器查询第二节点的注册信息,以确定第二节点是否接受外部连接,第二节点的注册信息至少包括第二节点是否接受外部连接的信息;
其中,本实施例及后续的实施例中所述的节点包括但不限于VPN网络中的计算机以及其他用户终端等。
本实施例中,当第一节点请求与第二节点进行通信时,会从虚拟专用网络服务器查询第二节点的注册信息,注册信息中至少包括第二节点是否接受外部连接的信息,该信息用于指示第二节点是否可以建立直连网络隧道。
举例来说,请一并参阅图2,图2为本实施例提供的建立网络隧道过程中查询节点注册信息的方法流程图。如图2所示,第一节点向虚拟专用网络服务器查询第二节点的注册信息具体可以为:
201:第一节点向虚拟专用网络服务器发送查询消息,该查询消息用于查询第二节点的注册信息;
202:接收虚拟专用网络服务器发送的第二节点的注册信息。
更进一步地,在第一节点发送至虚拟专用网络服务器的查询消息中,还可以包括第二节点的名称和/或第二节点的当前真实IP地址。
举例来说,第二节点的当前真实IP地址是指第二节点在因特网(Internet)中的合法地址,具体可以是第二节点在Internet网络中的网路协议(IP)地址,或者是第二节点在Internet网络中的IP地址与传输控制协议(TCP,Transmission Control Protocol)/用户数据报协议(UDP,User DatagramProtocol)端口组合后的地址,或者是第二节点在Internet网络中的以网页地址(URL,Uniform Resource Locator)表示的其他服务地址。
举例来说,202中的接收虚拟专用网络服务器发送的第二节点的注册信息具体可以为:
接收虚拟专用网络服务器发送的第二节点的当前真实的IP地址、虚拟IP地址以及是否接受外部连接的信息。
其中,如果第二节点接受外部连接的信息,则第一节点可以根据第二节点的当前真实的IP地址与第二节点建立直连通道模式下的直连网络隧道;反之,如果第二节点不接受外部连接,则第一节点可以根据第二节点的虚拟IP地址与第二节点建立虚拟交换模式下的间接网络隧道。
如果,第一节点已知第二节点的当前真实的IP地址和虚拟IP地址,则202中的接收虚拟专用网络服务器发送的第二节点的注册信息可以是第二节点的是否接受外部连接的信息。
本实施例中的第二节点的注册信息除了包括第二节点当前真实的IP地址、虚拟IP地址以及是否接受外部连接的信息外,还可以包括第二节点的其它相关信息。
102:根据查询到的注册信息,与第二节点建立相应的网络隧道。
举例来说,第一节点接收到第二节点的注册信息后,若发现第二节点可以接受外部连接,则与第二节点建立相应的网络隧道。请一并参阅图3,图3为本实施例提供的一种建立网络隧道的方法流程图。如图3所示,第一节点与第二节点建立相应的网络隧道可以包括:
301:第一节点向第二节点发送建立网络隧道请求;
302:第一节点接收第二节点发送的响应,从而建立与第二节点之间的网络隧道。
另外,第一节点还可以向虚拟专用网络服务器查询第一节点的注册信息;其中,第一节点的注册信息至少包括第一节点是否接受外部连接的信息;
举例来说,第一节点接收到第二节点的注册信息后,若发现第二节点可以接受外部连接,而第一节点接受外部连接,则与第二节点建立相应的网络隧道。请一并参阅图4,图4为本实施例提供的一种建立网络隧道的方法流程图。如图4所示,第一节点与第二节点建立相应的网络隧道可以包括:
401:第一节点向第二节点发送用于提示第二节点向第一节点建立网络隧道的消息;
402:第一节点接收第二节点发送的建立网络隧道请求;
403:第一节点向第二节点发送响应,从而建立与第二节点之间的网络隧道。
举例来说,第一节点接收到第二节点的注册信息后,若发现第二节点不接受外部连接,且第一节点也不接受外部连接,则与第二节点建立相应的网络隧道。请一并参阅图5,图5为本实施例提供的一种建立网络隧道的方法流程图。如图5所示,第一节点与第二节点建立相应的网络隧道可以包括:
501:第一节点向虚拟专用网络服务器发送建立网络隧道请求;
502:第一节点接收虚拟专用网络服务器发送的响应,从而建立第一节点与虚拟专用网络服务器之间的网络隧道;
503:第一节点向第二节点发送建立网络隧道消息,以使第二节点与虚拟专用网络服务器建立网络隧道。
此时,虚拟专用网络服务器作为第一节点与第二节点之间的中转设备,用于接收第一节点发送的通信数据并转发至第二节点,同时接收第二节点发送的通信数据并转发至第一节点,这样,间接建立了第一节点与第二节点之间的网络隧道。
需要说明的是,在第一节点在了解第二节点与第一节点的注册消息之后,与第二节点建立网络隧道的具体现实过程是本领域技术人员所熟悉的,本实施例在此不作进一步的说明。
上述对本发明实施例一提供的一种建立网络隧道的方法进行了详细的介绍,本发明实施例使得VPN网络中的第一节点在和第二节点建立网络隧道之前,可以从虚拟专用网络服务器中查询第二节点的注册信息以及第一节点的注册信息,从而可以了解第二节点以及第一节点是否接受外部连接,进而与第二节点建立相应的网络隧道,避免了当两个节点只能以虚拟交换模式连接时,这样两个节点还进行直连网络隧道建立的尝试,从可以减少了网络资源的浪费,并提高建立网络隧道的效率。
实施例二:
请参阅图6,图6为本发明实施例提供的一种数据处理方法流程图。如图6所示,该方法可以包括:
601:虚拟专用网络服务器接收第一节点发送的消息,该消息用于查询第二节点的注册信息;
本实施例中,第一节点发送的消息还可以进一步用于查询第一节点的注册信息。
602:虚拟专用网络服务器将预先存储的第二节点的注册信息发送至第一节点,以使第一节点与第二节点建立相应的网络隧道。
举例来说,第一节点可以接收虚拟专用网络服务器发送的第二节点当前真实的IP地址、虚拟IP地址以及是否接受外部连接的信息;
以及接收虚拟专用网络服务器发送的第一节点当前真实的IP地址、虚拟IP地址以及是否接受外部连接的信息。
其中,本实施例中的第二节点的注册信息包括但不限于第二节点当前真实的IP地址、虚拟IP地址以及是否接受外部连接的信息;
同样,本实施例中的第一节点的注册信息包括但不限于第一节点当前真实的IP地址、虚拟IP地址以及是否接受外部连接的信息。
更进一步地,第二节点的当前真实IP地址是指第二节点在Internet网络中的合法地址,具体可以是第二节点在Internet网络中的网IP地址,或者是第二节点在Internet网络中的IP地址与TCP/UDP端口组合后的地址,或者是第二节点在Internet网络中的以URL表示的其他服务地址;
同理,第一节点的当前真实IP地址是指第一节点在Internet网络中的合法地址,具体可以是第一节点在Internet网络中的IP地址,或者是第一节点在Internet网络中的IP地址与TCP/UDP端口组合后的地址,或者是第一节点在Internet网络中的以URL表示的其他服务地址。
根据本发明实施例提供的方法,在上述201之前,还可以包括:
虚拟专用网络服务器接收第一节点发送的接入请求消息和第二节点发送的接入请求消息,其中,第一节点发送的接入请求消息包括第一节点的节点名称和当前真实IP地址;
第二节点发送的接入请求消息包括第二节点的节点名称和当前真实IP地址;
虚拟专用网络服务器给第一节点分配虚拟IP地址,并确定第一节点是否接受外部连接,以及给第二节点分配虚拟IP地址,并确定第二节点是否接受外部连接;
虚拟专用网络服务器存储第一节点名称、当前真实IP地址、分配的虚拟IP地址和是否接受外部连接的信息的对应关系,以及存储第二节点名称、当前真实IP地址、分配的虚拟IP地址和是否接受外部连接的信息的对应关系。并且,将所述第一节点以及第二节点的节点名称、当前真实互联网协议地址,虚拟互联网协议地址以及指示所述第一节点以及第二节点是否接受外部连接的信息作为第一节点和第二节点的注册信息。
其中,上述的确定第一节点是否接受外部连接具体可以为:
在给第一节点分配了虚拟IP地址之后,向第一节点发送一次建立网络隧道的连接请求以判断第一节点是否接受外部连接,当接收到第一节点返回的响应之后,确认第一节点接受外部连接,即第一节点的“是否接受外部连接”属性为“OK”;反之,如果在规定时间内无法接收到第一节点返回的响应,确认第一节点不接受外部连接,即第一节点的“是否接受外部连接”属性为“NO”。
同样,可以按照上述的方式确认第二节点是否接受外部连接。
本实施例中,第一节点与第二节点建立相应的网络隧道的具体实现与实施例一中介绍的方法相同,此处不再复述。
上述对本发明实施例二提供的一种数据处理方法进行了详细的介绍,本发明实施例中,虚拟专用网络服务器可以根据第一节点的请求,将第二节点以及第一节点的注册信息发送至第一节点,这样使得第一节点可以在和第二节点建立网络隧道之前,了解第二节点以及第一节点是否接受外部连接,进而与第二节点建立相应的网络隧道,避免了当两个节点只能以虚拟交换模式连接时,这样两个节点还进行直连网络隧道建立的尝试,从可以减少了网络资源的浪费,并提高建立网络隧道的效率。
实施例三:
请参阅图7,图7为本发明实施例提供的一种虚拟专用网络节点的结构图。如图7所示,虚拟专用网络节点可以包括:
查询单元701,用于向虚拟专用网络服务器查询第二节点的注册信息,以确定第二节点是否接受外部连接,第二节点的注册信息至少包括第二节点是否接受外部连接的信息;
建立网络隧道单元702,用于根据查询到的注册信息,与第二节点建立相应的网络隧道。
举例来说,本实施例所述的相应的网络隧道包括直连通道模式下的直连网络隧道和虚拟交换模式下的间接网络隧道。
请一并参阅图8,图8为本发明实施例三提供的一种查询单元的结构示意图。如图8所示,查询单元701可以包括:
发送子单元7011,用于向虚拟专用网络服务器发送查询消息,所述查询消息包括查询第二节点的注册信息;
接收子单元7012,用于接收虚拟专用网络服务器发送的第二节点的注册信息。
优选地,第二节点的注册信息可以包括但不限于第二节点当前真实的IP地址、虚拟IP地址以及是否接受外部连接的信息。
请一并参阅图9,图9为本发明实施例提供的一种建立网络隧道单元的结构示意图。如图9所示,建立网络隧道单元702可以包括:
第一建立子单元7021,用于在第二节点接受外部连接时,向第二节点发送建立网络隧道请求;接收第二节点发送的响应,从而建立与第二节点之间的网络隧道。
举例来说,查询单元701还可以用于向虚拟专用网络服务器查询第一节点的注册信息;其中,第一节点的注册信息至少包括第一节点是否接受外部连接的信息。
这样,建立网络隧道单元702可以包括:
第二建立子单元7022,用于在第二节点不接受外部连接,且第一节点接受外部连接时,向第二节点发送用于提示第二节点向第一节点建立网络隧道的消息,接收第二节点发送的建立网络隧道请求;向第二节点发送的响应,从而建立与第二节点之间的网络隧道。
第三建立子单元7023,用于在第二节点不接受外部连接,且第一节点不接受外部连接时,向虚拟专用网络服务器发送建立网络隧道请求;接收虚拟专用网络服务器发送的响应,从而建立与虚拟专用网络服务器之间的网络隧道;向第二节点发送建立网络隧道消息,以使第二节点向虚拟专用网络服务器建立网络隧道,从而建立第一节点与第二节点之间的网络隧道。
此时,虚拟专用网络服务器作为第一节点与第二节点之间的中转设备,用于接收第一节点发送的通信数据并转发至第二节点,同时接收第二节点发送的通信数据并转发至第一节点,这样,间接建立了第一节点与第二节点之间的网络隧道。
需要说明的是,第二节点向虚拟专用网络服务器建立网络隧道的方法以及过程是和第一节点向虚拟专用网络服务器建立网络隧道的方法以及过程相同的,本实施例在此不赘述。
上述对本发明实施例三提供的一种虚拟专用网络节点进行了详细的介绍,本发明实施例提供的第一节点的查询单元701中的接收子单元7012可以在第一节点和第二节点建立网络隧道之前,从虚拟专用网络服务器中查询第二节点的注册信息以及第一节点的注册信息,从而使得建立网络隧道单元702可以了解第二节点以及第一节点是否接受外部连接,进而与第二节点建立相应的网络隧道,避免了当两个节点只能以虚拟交换模式连接时,两个节点还进行直连网络隧道建立的尝试,从可以减少了网络资源的浪费,并提高建立网络隧道的效率。
实施例四:
请参阅图10,图10为本发明实施例提供的一种虚拟专用网络服务器的结构图。如图10所示,虚拟专用网络服务器可以包括:
接收单元1001,用于接收第一节点发送的消息,所述消息用于查询第二节点的注册信息;
发送单元1002,用于将预先存储的第二节点的注册信息发送至所述第一节点,以使所述第一节点与所述第二节点建立相应的网络隧道,所述第二节点的注册信息至少包括所述第二节点是否接受外部连接的信息。
本实施例中,接收单元1001接收到的第一节点发送的消息还可以进一步用于查询第一节点的注册信息,则发送单元1002还可以进一步向第一节点发送第一节点的注册信息,第一节点的注册信息至少包括第一节点是否接受外部连接的信息
举例来说,本实施例所述的相应的网络隧道包括直连通道模式下的直连网络隧道和虚拟交换模式下的间接网络隧道。
优选地,第二节点的注册信息可以包括但不限于第二节点当前真实的IP地址、虚拟IP地址以及是否接受外部连接的信息;
同样,第一节点的注册信息可以包括但不限于第一节点的当前真实的IP地址、虚拟IP地址以及是否接受外部连接的信息。
优选地,接收单元1001还可以用于接收第一节点发送的接入请求消息和第二节点发送的接入请求消息;
其中,第一节点发送的接入请求消息包括第一节点的节点名称和当前真实IP地址;第二节点发送的接入请求消息包括第二节点的节点名称和当前真实IP地址;
则本发明实施例提供的虚拟专用网络服务器还可以包括:
分配单元1003,用于根据接入单元1001接收到的第一节点发送的接入请求消息,给第一节点分配虚拟IP地址,并确定第一节点的是否接受外部连接的信息;
以及用于根据接入单元1001接收到的第二节点发送的接入请求消息,分配第二节点的虚拟IP地址,并确定第二节点的是否接受外部连接的信息。
存储单元1004,用于存储第一节点的节点名称、当前真实IP地址、分配的虚拟IP地址和是否接受外部连接的信息的对应关系;
以及存储第二节点的节点名称、当前真实IP地址、分配的虚拟IP地址和是否接受外部连接的信息的对应关系,并且将所述第一节点以及第二节点的节点名称、当前真实互联网协议地址,虚拟互联网协议地址以及指示所述第一节点以及第二节点是否接受外部连接的信息作为第一节点和第二节点的注册信息。
优选地,分配单元1003在给第一节点和第二节点分别分配了虚拟IP地址之后,向第一节点发送一次建立网络隧道的连接请求以判断第一节点是否接受外部连接,当在规定时间内接收到第一节点返回的响应之后,则确认第一节点接受外部连接;反之,如果在规定时间内无法接收到第一节点返回的响应,则确认第一节点不接受外部连接;
以及,向第二节点发送一次建立网络隧道的连接请求以判断第二节点是否接受外部连接,当在规定时间内接收到第二节点返回的响应之后,则确认第二节点接受外部连接;反之,如果在规定时间内无法接收到第二节点返回的响应,则确认第二节点不接受外部连接。
更进一步地,第二节点的当前真实IP地址是指第二节点在Internet网络中的合法地址,具体可以是第二节点在Internet网络中的网IP地址,或者是第二节点在Internet网络中的IP地址与TCP/UDP端口组合后的地址,或者是第二节点在Internet网络中的以URL表示的其他服务地址;
同理,第一节点的当前真实IP地址是指第一节点在Internet网络中的合法地址,具体可以是第一节点在Internet网络中的IP地址,或者是第一节点在Internet网络中的IP地址与TCP/UDP端口组合后的地址,或者是第一节点在Internet网络中的以URL表示的其他服务地址。
上述对本发明实施例四提供的一种虚拟专用网络服务器进行了详细的介绍,本发明实施例提供的虚拟专用网络服务器中的接收单元1001可以接收第一节点的请求,发送单元1002可以根据第一节点的请求,将第二节点以及第一节点的注册信息发送至第一节点,这样使得第一节点可以在和第二节点建立网络隧道之前,了解第二节点以及第一节点是否接受外部连接,进而与第二节点建立相应的网络隧道,避免了当两个节点只能以虚拟交换模式连接时,这样两个节点还进行直连网络隧道建立的尝试,从可以减少了网络资源的浪费,并提高建立网络隧道的效率。
实施例五:
请参阅图11,图11为本发明实施例提供的一种虚拟专用网络***的结构图。如图11所示,虚拟专用网络***可以包括:
虚拟专用网络节点1101和虚拟专用网络服务器1102;其中,
虚拟专用网络节点1101,用于向虚拟专用网络服务器1102查询第二节点的注册信息,以确定第二节点是否接受外部连接,第二节点的注册信息至少包括第二节点是否接受外部连接的信息;根据查询到的注册信息,与第二节点建立相应的网络隧道;
虚拟专用网络服务器1102,用于接收虚拟专用网络节点1101发送的消息,该消息用于查询第二节点的注册信息;将预先存储的第二节点的注册信息发送至虚拟专用网络节点1101,以使虚拟专用网络节点1101与第二节点建立相应的网络隧道,第二节点的注册信息至少包括第二节点是否接受外部连接的信息。
需要说明的是,本实施例介绍的虚拟专用网络节点1101的结构与上述实施例三介绍的虚拟专用网络节点结构,功能相同,本实施例在此不作复述;本实施例介绍的虚拟专用网络服务器1102的结构与上述实施例四介绍的虚拟专用网络服务器结构,功能相同,本实施例在此也不作复述。
请参阅图12,图12为本发明实施例提供的一种VPN网络示意图。如图12所示,本实施例所提供的VPN网络可以包括VPN服务器以及VPN节点。其中,VPN节点可以包括但不限于计算机以及其他用户终端;其中,VPN服务器必须拥有Internet网络中的合法地址(地址形式可以是IP地址、IP地址与TCP/UDP端口组合、或者以URL表示的其他服务地址),并且可以使用其合法Internet地址接收来自Internet网络的数据报文。
其中,VPN服务器需要具备节点注册功能以及信息查询功能。即当某一个节点接入VPN网络时,VPN服务器需要为节点分配第一节点在VPN网络内使用的虚拟IP地址;并将第一节点的节点名称、当前真实IP地址、以及分配的虚拟IP地址、是否接受外部连接、甚至加密参数等信息进行注册登记;
VPN服务器允许VPN网络内的节点根据其它VPN节点的节点名称和/或其它VPN节点的虚拟IP地址等信息查询其它VPN节点的注册信息。
其中,本实施例中的节点应该具备与VPN服务器之间的通信功能;以及发起与VPN网络中其它节点之间建立网络隧道的请求功能;同时,本实施例中的节点还应该具备接收VPN网络中其它节点与其建立网络隧道的请求的功能;同时,本实施例中的节点还应该具备这样的更能,即可以获知其它节点的注册信息以及第一节点的注册信息,并与其它节点建立相应的网络隧道。
其中,相应的网络隧道包括直连通道模式下的直连网络隧道和虚拟交换模式下的间接网络隧道。
如图12所示,VPN网络中共有4个联网计算机,名称分别为:ID-1、ID-2ID-3、ID-4;其中ID-1与ID-2是Internet网中拥有合法IP地址的计算机,允许接受来自Internet网络连接;ID-3与ID-4都处于NAT网络内,不具备Internet合法地址,不允许接受来自Internet的网络连接。
在图7所示的VPN网络中,各节点之间的网络通信具有以下三种不同情况:
1)、节点之间可以直接建立网络双向连接,如ID-1与ID-2之间,任意一个节点可以主动对另一个节点建立网络隧道;
2)、节点之间仅能直接建立单向连接,如ID-1与ID-3之间,由于ID-3处于NAT网络之内不具备合法IP地址,因此仅允许由ID-3主动向ID-1建立网络隧道,而不允许由ID-1向ID-3建立网络隧道;
3)、节点之间不能直接建立连接,如ID-3与ID-4之间,由于ID-3与ID-4都处于NAT网络内都不具备合法IP地址,因此ID-3与ID-4之间无法建立直接的隧道,ID-3与ID-4只能分别与VPN服务器之间建立网络隧道,ID-3与ID-4之间的通信数据必须经由VPN服务器中转。
假设图12所示的VPN网络中ID-1需要与ID-2、ID-3进行通信,则:
1)ID-1向VPN服务器查询ID-2、ID-3的注册信息。
2)ID-1向VPN服务器查询ID-1的注册信息。
其中,对于1),ID-1向VPN服务器发查询消息,该查询消息用于向VPN服务器查询ID-2的注册信息;其中,该查询消息可以包括ID-2的名称和/ID-2的当前真实IP地址;
ID-1向VPN服务器发查询消息,该查询消息用于向VPN服务器查询ID-3的注册信息;其中,该查询消息可以包括ID-3的名称和/ID-3的当前真实IP地址;
对于2),ID-1向VPN服务器发查询消息,该查询消息用于向VPN服务器查询ID-1的注册信息;其中,该查询消息可以包括ID-1的名称和/ID-1的当前真实IP地址。
VPN服务器接收到ID-1发送的查询消息之后,查询ID-2、ID-3的注册信息,并发生给ID-1。表1表示VPN服务器预先存储的图3所示的VPN网络中节点ID-1、ID-2ID-3、ID-4的注册消息。
表1
节点 |
节点名称 |
当前真实IP地址 |
虚拟IP地址 |
是否接受外部连接 |
ID-1 |
NID-1 |
IP1:P1 |
VIP1 |
OK |
ID-2 |
NID-2 |
IP2:P2 |
VIP2 |
OK |
ID-3 |
NID-3 |
IP3:P3 |
VIP3 |
NO |
ID-4 |
NID-4 |
IP4:P4 |
VIP4 |
NO |
其中,由于ID-3、ID-4都处于NAT设备中,所以ID-3、ID-4的当前真实IP地址,实际上是ID-3、ID-4所使用NAT设备的真实IP地址。
3)VPN服务器分别接收到ID-1发送的查询消息之后,查询ID-2的注册信息为:名称是NID-2,真实地址是IP2:P2,虚拟IP地址VIP2,允许接受外部连接;
查询ID-3的注册信息为:名称是NID-3,真实地址是IP3:P3,虚拟IP地址VIP3,不允许接受外部连接;
查询ID-1的注册信息为:名称是NID-1,真实地址是IP1:P1,虚拟IP地址VIP1,允许接受外部连接。
4)VPN服务器根据查询到的ID-2、ID-3、ID-1的注册信息,分别将ID-2、ID-3、ID-1的注册信息发送给ID-1。
当然,VPN服务器也可以只选取部分ID-2、ID-3、ID-1的注册信息发送给ID-1,比如将ID-2的注册信息中的真实地址是IP2:P2、允许接受外部连接,ID-3的注册信息中的不允许接受外部连接,以及ID-1的注册信息中的真实地址是IP1:P1、允许接受外部连接发送给ID-1。
5)ID-1接收到VPN服务器发送的ID-2、ID-3、ID-1的注册信息之后,发现ID-2点接受外部连接,则ID-1向ID-2发送建立网络隧道请求;如果接收到ID-2发送的响应,则完成ID-1与ID-2之间的直连通道模式下的直连网络隧道;
发现ID-3不接受外部连接,而ID-1接受外部连接,则ID-1向ID-3发送用于提示ID-3向ID-1主动建立网络隧道的消息;接收ID-3发送的建立网络隧道请求;向ID-3发送的响应之后,完成ID-1与ID-3之间的虚拟交换模式下的间接网络隧道。
又假设图12所示的VPN网络中ID-3需要与ID-4进行通信,则:
1)ID-3向VPN服务器查询ID-4的注册信息。
2)ID-3向VPN服务器查询ID-4的注册信息。
其中,对于1),ID-3向VPN服务器发查询消息,该查询消息用于向VPN服务器查询ID-4的注册信息;其中,该查询消息可以包括ID-4的名称和/ID-4的当前真实IP地址;
ID-3向VPN服务器发查询消息,该查询消息用于向VPN服务器查询ID-3的注册信息;其中,该查询消息可以包括ID-3的名称和/ID-3的当前真实IP地址。
3)VPN服务器接收到ID-3发送的查询消息之后,查询ID-4的注册信息为:名称是NID-4,真实地址是IP4:P4,虚拟IP地址VIP4,不允许接受外部连接;
查询ID-3的注册信息为:名称是NID-3,真实地址是IP3:P3,虚拟IP地址VIP3,不允许接受外部连接。
4)VPN服务器根据查询到的ID-4、ID-3的注册信息,分别将ID-4、ID-3的注册信息发送给ID-3。
当然,VPN服务器也可以只选取部分ID-4、ID-3的注册信息发送给ID-3,比如将ID-4的注册信息中的不允许接受外部连接,ID-3的注册信息中的不允许接受外部连接发送给ID-3。
5)ID-3接收到VPN服务器发送的ID-4、ID-3的注册信息之后,发现ID-4不接受外部连接,且ID-3也不接受外部连接,说明ID-3和ID-4之间无法建立直连的网络隧道,则ID-3向VPN服务器发送建立网络隧道请求;在接收VPN服务器发送的响应之后,完成与VPN服务器之间的网络隧道;
并且,ID-3向ID-4发送建立网络隧道消息,以使ID-4向VPN服务器建立网络隧道,从而建立ID-4与VPN服务器的网络隧道,此时,VPN服务器作为ID-3与ID-4之间的中转设备,接收ID-3发送的通信数据并转发至ID-4;同时,接收ID-4发送的通信数据并转发至ID-3,这样,间接建立了ID-3与ID-4之间的网络隧道。
需要说明的是,本实施例中VPN服务器需要预先存储的ID-1、ID-2、ID-3、ID-4的注册消息,具体地:
VPN服务器接收ID-1、ID-2、ID-3、ID-4分别发送的接入请求消息,其中,ID-1、ID-2、ID-3、ID-4各自发送的接入请求消息包括各自的节点名称和当前真实IP地址;
分别给ID-1、ID-2、ID-3、ID-4分配虚拟IP地址,并分别确定ID-1、ID-2、ID-3、ID-4的是否接受外部连接的信息;
存储ID-1、ID-2、ID-3、ID-4各自的节点名称、当前真实IP地址、分配的虚拟IP地址和是否接受外部连接的信息的对应关系。
其中,上述的分别确定ID-1、ID-2、ID-3、ID-4的是否接受外部连接的信息具体为:
在分别给ID-1、ID-2、ID-3、ID-4分配了各自的虚拟IP地址之后,分别向ID-1、ID-2、ID-3、ID-4发送一次建立网络隧道的连接请求以判断ID-1、ID-2、ID-3、ID-4是否接受外部连接;
当在规定时间内接收到ID-1、ID-2返回的响应之后,认为ID-1、ID-2接受外部连接,即ID-1、ID-2、“是否接受外部连接”属性为“OK”;当在规定时间内无法接收到ID-3、ID-4返回的响应,认为ID-3、ID-4不接受外部连接,即ID-3、ID-4的“是否接受外部连接”属性为“NO”。
另外,如果节点本身存储了第一节点的注册信息的话,则节点仅需向VPN服务器查询第二节点的注册信息即可,无需再次向VPN服务器查询第一节点的注册信息。
上述对本发明实施例五提供的一种VPN网络进行了介绍,在本发明实施例提供的VPN网络中,节点在和其它节点建立网络隧道之前,可以从VPN服务器中查询其它节点的注册信息以及第一节点的注册信息,从而可以了解其它节点以及第一节点是否接受外部连接,进而与其它节点建立相应的网络隧道,避免了当两个节点只能以虚拟交换模式连接时,这样两个节点还进行直连网络隧道建立的尝试,从可以减少了网络资源的浪费,并提高建立网络隧道的效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读存储器(ROM)、随机存取器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明实施例所提供的一种建立网络隧道的方法,数据处理方法及相关设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。