CN1754161A - 用于建立虚拟网络的设备、方法和计算机程序产品 - Google Patents

用于建立虚拟网络的设备、方法和计算机程序产品 Download PDF

Info

Publication number
CN1754161A
CN1754161A CN 200380103257 CN200380103257A CN1754161A CN 1754161 A CN1754161 A CN 1754161A CN 200380103257 CN200380103257 CN 200380103257 CN 200380103257 A CN200380103257 A CN 200380103257A CN 1754161 A CN1754161 A CN 1754161A
Authority
CN
China
Prior art keywords
network
virtual
computing system
virtual network
server
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
Application number
CN 200380103257
Other languages
English (en)
Inventor
G·杨
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.)
Collatus Corp
Original Assignee
Collatus Corp
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 Collatus Corp filed Critical Collatus Corp
Publication of CN1754161A publication Critical patent/CN1754161A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开是用于建立TCP/IP联网的虚拟网络的***、方法和计算机程序产品。***包括连接到一个或多个虚拟网络主机服务器的全局网;和经由第一防火墙连接到一个或多个服务器的第一计算***,其中,包括第一计算***的虚拟网络用经由第二防火墙连接到一个或多个服务器的第二计算***来形成,使得计算***经由直接逻辑连接相互通信。用于形成虚拟网络的方法包括a)经由第一防火墙建立第一计算***与连接到全局网的虚拟网络主机服务器之间的物理连接;b)经由第二防火墙与物理连接到虚拟网络主机服务器的第二计算***通信,其中,通信步骤包括经由计算***之间的直接逻辑连接通信。具有携带用于形成虚拟网络的程序指令的计算机可读介质的计算机程序产品,当其被运行时使用两个或更多分别经由防火墙连接到全局网的计算***,被运行的程序指令运行一个方法,该方法包括a)在第一计算***之间经由第一防火墙与连接到全局网的虚拟网络主机服务器建立物理连接;b)在第二计算***之间经由第二防火墙与虚拟网络主机服务器建立物理连接;和c)在计算***之间建立逻辑连接以形成虚拟网络。

Description

用于建立虚拟网络的设备、方法和计算机程序产品
技术领域
本发明通常涉及计算机网络上的通信,并尤其涉及用于在诸如互联网之类的全局计算机网络上建立虚拟网络的***和方法。
背景技术
随着互联网经济中事务之间互相依赖性的增加,企业非常依赖于其与事业合伙人、供应商以及用户之间的通信以便成功和迅捷地管理商务操作。
然而,目前大多数的企业网都被一个或多个包括防火墙的安全特性保护着。防火墙帮助这些企业增强对基础数据的控制,这可以加强它们的商业秘密。广泛地使用防火墙来隔断专用网和公共网有助于解决IPv4地址的潜在缺陷。而防火墙的副作用把整个互联网分割成许多不是完全双向连接的网络孤岛。企业之间的连通性在这些孤岛上变得很成问题。
图1是被分成多个″网络孤岛″105i的网络***100的示意框图。每个孤岛105i都包括防火墙110i和多个计算***(例如服务器115i、台式机120i和笔记本电脑125i)。虽然每个防火墙110i往往都与其它的防火墙110i的配置不同,但是它们全都限制全双向数据流。如图1中所示,防火墙1102后面的每个计算***不能自由访问防火墙1101后面的另一个计算***,尽管这些计算***都被连接到公共互联网130。
除了防火墙110的过滤/阻挡特色之外,不同防火墙110i后面的计算***之间的连通性问题的主要原因在于它们使用不同的专用地址空间。防火墙1101和防火墙1102分别为分开的孤岛1051和1052定义不同的地址空间。事实上,这隔离了公共互联网中不同专用区域。通过应用网络地址转换(NAT),孤岛105i的每个计算***都能够访问互联网130,但是将失去对孤岛105i内的计算***的任何IP连通性,除非使用特殊管理与防火墙110i协作。
需要有一个办法来解决这个连通性问题,并尤其需要提供建立用于TCP/IP联网的虚拟网络来让不同网络孤岛的计算***互连和协作的***和方法。另外,提供用于将现有基于TCP/IP的应用无缝地扩展到不同的网络孤岛上的***和方法,而该扩展将跨越网络孤岛边界来动态地设置。
发明内容
本公开内容是用于建立TCP/IP联网的虚拟网络的***、方法和计算机程序产品。***包括被连接到一个或多个虚拟网络主机服务器的全局网;和经由第一防火墙连接到一个或多个服务器的第一计算***,其中,包括第一计算***的虚拟网络用经由第二防火墙连接到一个或多个服务器的第二计算***来形成,使得计算***经由直接逻辑连接来相互通信。形成虚拟网络的方法包括a)经由第一防火墙在第一计算***与连接到全局网的虚拟网络主机服务器之间建立物理连接;b)经由第二防火墙与物理连接到虚拟网络主机服务器的第二计算***通信,其中,通信步骤包括经由计算***之间的直接逻辑连接通信。计算机程序产品具有携带用于形成虚拟网络的程序指令的计算机可读介质,当其被运行时使用两个或更多分别经由防火墙连接到全局网的计算***,被运行的程序指令执行一个方法,该方法包括a)经由第一防火墙建立第一计算***与被连接到全局网的虚拟网络主机服务器之间的物理连接;b)经由第二防火墙建立第二计算***与虚拟网络主机服务器之间的物理连接;和c)在计算***之间建立逻辑连接以形成虚拟网络。
本发明提供了一个处理和改进现有技术的连通性问题的方法,并且优选实施例提供了建立用于TCP/IP联网的虚拟网络的***、方法和计算机程序产品,以使得不同网络孤岛的计算***能够互连和协作。另外,优选实施例让现有基于TCP/IP的应用被无缝地扩展到不同的网络孤岛上,而扩展被跨越网络孤岛边界来动态地设置以用于各种独立配置的孤岛。
附图说明
图1是被分成多个″网络孤岛″的网络***的示意框图;
图2是虚拟网络***的优选实施例的示意框图;
图3是服务器通信应用的优选实施例的示意图;
图4是跨越允许TCP连接请求的防火墙在客户端***和主机服务器***之间的连接序列的说明框图;
图5是跨越不允许TCP连接请求的防火墙在客户***和主机服务器***之间的连接序列的说明框图;
图6是用于检测客户端计算***的可用网络环境的流程框图;
图7是客户端计算机***(例如台式机)上的通信软件结构的说明示意图;
图8是用来在物理地址级区别虚拟适配器的被修改ARP进程的流程图;
图9是网络ID选择进程的说明流程图,客户端计算机***上的通信软件使用它来确定虚拟网络的网络ID;
图10是经由虚拟适配器传送的输入TCP分组的基于连接的地址转换进程的流程框图;
图11是可应用于经由虚拟适配器传送的分组的输出TCP分组进程的流程框图;和
图12是用于处理客户端计算机***发起的DNS域名请求的DNS域名请求进程的流程框图。
具体实施方式
本发明涉及提供建立用于TCP/IP联网的虚拟网络的***和方法,从而使不同网络孤岛的计算***能够互连和协作。另外,本发明为现有基于TCP/IP的应用提供用于无缝地扩展到不同网络孤岛上的***和方法,而扩展将跨越网络孤岛边界被动态地设置。以下给出的说明使得所属领域的普通技术人员能够理解和使用本发明,并且本说明根据本专利申请的环境及其要求来提供。对于所属领域技术人员来说,优选实施例的不同修改和在此描述的一般原理和特色将是显而易见的。从而,本发明不打算受限于所示的实施例而将一致于符合在此描述的原理和特色的最宽范围。
本发明的优选实施例和它们的优点通过参见附图2-12可以被最好地理解。
图2是用于虚拟网络***200的优选实施例的示意框图。***200包括为本发明提供服务器环境的虚拟网络主机服务器205。同样地,每个网络孤岛105i的计算***(例如计算机***120i)提供用于本发明的客户端环境。每个计算***120i经由计算机网络130(例如互联网)被连接到服务器205。由于防火墙110i的原因,从120i到网络130的这个连接只是输出连接,比如被创建的从HTTP客户端到HTTP服务器的任何HTTP连接。另外,本发明给出了一个用于经由标准SSL隧道协议来创建防火墙隧道的方法,已知的有用于连接的HTTP连接方法。
服务器205可以是能够在其它服务器计算机***和客户端计算机***之间接受和创建连接的任何类型的电子装置,它还能够经由所创建的连接来交换数据。在图2所示的实施例中,虚拟网络主机服务器205包括处理器(一个或多个)、存储器、存储磁盘、操作***软件、应用软件和通信软件。处理器可以是任何适当的处理器比如英特尔奔腾处理器家族的一员。存储器可以是任何类型的存储器,比如DRAM、SRAM。存储磁盘可以是任何类型被设计来存储数字数据的装置,比如硬盘、软盘。操作***软件可以是任何类型的适当的操作***软件,其可以在底层硬件上运行,比如Microsoft Windows(例如Windows NT、Windows2000、Windows XP),UNIX版本(例如Sun Solaris或Redhat LINUX)。应用软件可以是任何软件,比如Microsoft SQL Server、Apache WebServer、计算机辅助设计应用或任何其它类型的应用程序。通信软件可以是任何类型的软件,其能够在服务器计算机***和客户端计算机***之间进行数据通信,这些软件包括指令,指令用于执行服务器端的功能以创建本发明指定的虚拟网络。
客户端计算机***可以是任何类型的电子装置,其能够在服务器计算机***之间创建连接,还能够经由所创建的连接来交换数据。在图2所示的实施例中,客户端计算机***(例如台式机120i)包括处理器(一个或多个)、存储器、存储磁盘、操作***软件、应用软件和通信软件。(一个或多个)处理器可以是任何适当的处理器,比如英特尔奔腾处理器家族的一员。存储器可以是任何类型的存储器,比如DRAM、SRAM。存储磁盘可以是任何类型被设计来存储数字数据的装置,比如硬盘、软盘。操作***软件可以是任何类型的适当的操作***软件,其可以在底层硬件上运行,比如Microsoft Windows(例如Windows NT、Windows 2000、Windows XP),UNIX版本(例如Sun Solaris或RedhatLINUX)。应用软件可以是任何软件,比如Microsoft Word、NetscapeNavigator、电子表格应用或任何其它类型的应用程序。通信软件可以是任何类型的软件,其使得在客户端计算机***和客户端计算机***之间能够进行数据通信,这些软件包括用于执行客户端的功能以创建本发明指定的虚拟网络的指令。
全局计算机网络130可以是任何类型的计算机网络,其包括大量可以相互通信的计算机。在本发明的某些实施例中,全局计算机网络被显示为互联网。
诸如防火墙110i之类的防火墙可以是在两个网络之间执行访问控制的任何硬件装置或软件***,尤其在本发明的某些实施例中,这两个网络涉及企业专用网和诸如互联网130之类的全局计算机网络。
***200还包括是软件实现的网络对象的虚拟网络210,其具有与诸如以太网之类的物理网络相同的特征。它在每个客户端计算机***表现为另一个物理网络接口,而在服务器计算机***表现为由服务器通信软件来管理的软件对象。
在下面将详细描述,本发明提供用于在诸如互联网130之类的全局计算机网络上建立虚拟网络210的***和方法。
为了形成虚拟网络210,每个参加的客户端计算机***(例如台式机120i)首先建立与将作为虚拟网络210主机的服务器计算机***(例如虚拟网络主机服务器205)的连接。取决于任何特殊的客户端计算机***想加入的那个虚拟网络210,服务器通信软件建立从客户端计算机***到其对应的虚拟网络对象的连接,服务器通信还将管理虚拟网络上在每个单独的客户端计算机***之间发生的或在整个虚拟网络上广播的数据交换活动。
图3是服务器通信应用300的优选实施例的示意图。应用300包括多个虚拟网络对象(例如305、310和315)。在图3中,通过与通信软件300在服务器计算机***205上创建的虚拟网络对象305通信,客户端计算机***(例如台式机1201)和另一个客户端计算机***(例如台式机1202)被加入到虚拟网络200中。服务器205经由对象305来管理虚拟网络210。
图4是跨越允许TCP连接请求的防火墙在客户***和主机服务器***之间的连接序列的说明框图。在防火墙(例如防火墙110i)允许在客户端计算机***(例如台式机120i)和服务器计算机***(例如虚拟网络主机服务器205)之间创建直接输出连接的情况下,连接按照图4所示的序列来建立。
在图4中,防火墙1101传递输出TCP连接请求。因此,台式机1201在该图所示的序列中直接创建与虚拟网络主机服务器205的连接。对于这类直接TCP连接,客户端计算机***直接向服务器计算机***发出TCP连接请求,客户端计算机***和服务器计算机***之间的防火墙执行请求的网络地址转换(NAT)并让TCP连接穿越,同样地,防火墙将因此而允许响应和进一步的数据交换。
图5是跨越不允许TCP连接请求的防火墙在客户***和主机服务器***之间的连接序列的说明框图。在防火墙(例如防火墙1202)不允许随机的客户端计算机***(例如台式机1202)连接到服务器计算机***(例如虚拟网络主机服务器205)的情况下,***200使用SSL隧道协议以用于穿越防火墙1102。在大多数情况下,尽管防火墙1102不允许随机的输出连接,然而防火墙1102往往允许某些比如SOCKS服务器和HTTP代理服务器一样的中间服务器做出输出连接。图5示出使用SSL隧道协议的连接序列。在这种情况下,客户端计算机***(台式机1202)没有创建与服务器计算机***(虚拟网络主机服务器205)的直接TCP连接,而是通过如图5所示的使用SSL隧道协议的HTTP代理服务器5002来转发请求。不同于直接连接的情况,客户端计算机***(台式机1202)首先建立与HTTP代理服务器5002的直接TCP连接。在到HTTP代理服务器5002的TCP连接被创建之后,台式机1202经由HTTP连接方法开始SSL隧道请求。用于隧道请求的一般语法遵循:
CONNECT<主机地址>:<端口>HTTP/1.0
...HTTP请求报头,后面是空行
一旦HTTP代理服务器5002接收隧道请求,它最终将建立与目标服务器的连接并将在请求客户端和服务器两者之间转发数据直到三方中任何一方终止底层的TCP连接为止。
图6是用于检测客户端计算***的可用网络环境的流程框图。由于连接程序基于客户端计算机***的特殊网络环境差异而不相同,客户端计算机***上的通信软件在任何尝试请求连接到服务器计算机***之前检测网络环境。图6示出优选的检测/选择进程600的流程框图。
在步骤605,进程600在测试可用网络环境的软件(例如在台式机120i上)上开始客户端通信。在优选实施例中,这个测试确定HTTP代理服务器500i是否可用。当服务器不可用时,进程600前进到步骤610以执行图4中示出的连接序列。然而如果在步骤605测试确定服务器可用,则进程600替换地前进到步骤615以执行图5中示出的连接序列。进程600在步骤610或步骤615已经被执行之后做出结论。
如在图4和图5中所示,在物理连接已经被建立之后,无论它是直接TCP连接还是经由HTTP代理服务器的间接TCP连接,客户端计算机***和服务器计算机***都可以执行任何需要或希望的协商。这个协商可以包括版本检查、安全性协议协商和连接验证。协商可以包括用于双方信号交换的数据交换的多个舍入。
图7是客户端计算机***(例如台式机120i)上通信软件的软件结构700的说明示意图。结构700包括两个主要的软件部分,虚拟网络客户端运行时(runtime)部分705和虚拟网络适配器部分710。
虚拟网络客户端运行时部分705使用客户端计算机***上运行的主机操作***所提供的网络服务来建立与服务器计算机***(例如虚拟网络主机服务器205)的连接,并且参与属于虚拟网络200并由客户机和服务器计算机***中的通信软件处理的数据交换会话。
最终,从将存在于客户端计算机***的虚拟网络200,虚拟网络适配器710将由虚拟网络客户端运行时705来加载。在客户端计算机上运行的任何网络应用程序715将察觉适配器710并像使用客户端计算机***可连接的其他的物理网络一样地来使用它。
在使用虚拟网络200之前,虚拟网络适配器710必须被恰当地配置。适配器710具有用于物理地址和逻辑地址的动态属性使配置变得复杂。本发明提供方法来处理与这两类处理相联系的问题。
虚拟网络适配器710能够模拟任何的物理介质类型,IEEE 802.3以太网在优选实施例中被使用。IEEE 802.3以太网地址是48比特地址,具有24位供应商ID和24位接口序列号(由供应商来分配),从而每个以太网地址在全局环境中都是唯一的。本发明动态地创建虚拟网络,因此每个被例示的虚拟网络适配器710都被动态地分配其自己的物理适配器地址。某些***不允许对适配器物理地址的动态转换。为了解决这个问题,本发明使用伪物理地址。每个虚拟适配器710都静态地用在优选实施例中对每个适配器710都一样的伪物理地址来配置。为了在物理地址级别区别虚拟适配器710,被修改的地址转换协议(ARP)进程被使用。
图8是在物理地址级区别虚拟适配器710的己修改ARP进程800的流程图。每个虚拟适配器710都由相同的伪物理地址来配置,然而这个伪物理地址只有该适配器自己能看见,其它的适配器将看到其动态分配的物理地址。
在步骤805,进程800以客户端计算机***中的通信软件检查每个地址转换协议(ARP)请求的分组细节为开始。通信软件收集用于进一步行动的所有必需的信息。
接下来在步骤810,进程800检测ARP请求是否在客户端计算机***用于被动态分配的示例适配器物理地址。当回答为是时,进程800前进到步骤815,否则进程800忽略这个ARP请求。
在步骤815中,进程800检查ARP请求是否从局部计算机***发出。当ARP请求从局部计算机***发出时,进程800用固定的伪物理地址来响应,否则进程800用动态分配的物理地址来响应。
动态物理地址由在服务器计算机***205运行的通信软件来分配,通过结合供应商ID和虚拟网络中唯一的动态分配序列号来产生。
与用于TCP/IP联网的物理地址分配类似,TCP/IP设置也被配置用于每个虚拟网络适配器710。通信软件在客户端计算机***和服务器计算机***协作防止虚拟网络和这些网络上的计算机***中的地址冲突。
虚拟网络的客户端计算机***可以横越多个企业网。存在于单独的专用网上的仲裁工具被分开管理并且可能不适用于虚拟网络。因此,虚拟网络的IP地址分配可能存在与某些专用网的冲突问题。本发明提供子网定位方法来处理这个可能性。
IP地址包括两个部分,网络ID部分和主机ID部分,子网定位方法工作在网络ID部分上。只要创建了虚拟网络就挑选优选的网络ID。一旦客户端通信软件设法配置了虚拟适配器的TCP/IP设置,这个优选的网络ID就在任何可能的情况下被使用。图9是网络ID选择进程900的说明流程图,其被客户端计算机***上的通信软件用来确定虚拟网络的网络ID。进程900包括测试步骤905来确定是否所选的优选网络ID与局部***发生冲突。当不出现冲突时可以使用优选的网络ID。当存在冲突时,局部***选择另一个候选的网络ID,并返回步骤905来测试候选的网络ID。
当优选的网络ID不能被选择用于客户端计算机***时,这个客户端计算机***将具有虚拟网络的定位视图。定位视图意指当其它客户端计算机***看到具有优选ID的网络ID的虚拟网络时,客户端计算机***将把虚拟网络作为具有被定位选择的网络ID来看待。为了允许该客户端计算机***能够与其它***通信,一个特殊的进程被执行在客户端通信软件上。对于每个穿越客户***的IP分组来说,客户端通信软件执行基于连接的地址转换进程。
图10是用于经由虚拟适配器传送的输入TCP分组的基于连接的地址转换的流程框图。进程1000从步骤1005开始并测试输入分组是否是TCP SYN分组。当它是TCP SYN分组时,进程1000执行从1010开始的步骤,否则进程1000运行从1045开始的动作。
在步骤1010,进程1000测试源IP地址中的网络ID是否匹配虚拟适配器的网络ID。当它们不匹配时,如步骤1015(改变源ID)和步骤1020(更新校验和)中所示的地址转换被执行。另外在步骤1025,进程1000基于源IP和源端口来创建映射入口以用于稍后的地址转换。当步骤1010的测试为否定时完成步骤1015到步骤1025之后,或当测试为肯定时完成步骤1010之后,进程1000在步骤1030执行另一个测试。这个测试确定目的网络ID是否匹配虚拟适配器的网络ID。当匹配的时候结束进程1000。当它不匹配时,进程1000在结束之前运行步骤1035(改变目标网络ID来匹配虚拟适配器的网络ID)和步骤1040(更新校验和)。
对于不是SYN分组的TCP分组,进程1000从步骤1005的测试运行步骤1045。当源IP地址/源端口的映射入口存在时,进程1000在步骤1050执行测验,否则进程1000结束。
在步骤1050,进程1000测试源IP地址中的网络ID是否匹配虚拟适配器的网络ID。当它们不匹配时,如步骤1055(改变源ID)和步骤1060(更新校验和)中所示的地址转换被执行。当步骤1050的测试为否定时完成步骤1055到步骤1060之后,或当测试为肯定时完成步骤1050之后,进程1000如上所述执行从测试步骤1030开始的步骤。
图11是可应用于经由虚拟适配器传送的分组的输出TCP分组进程的流程框图。进程1100在步骤1105为每个输出TCP分组测试是否存在具有基于分组中的目标地址和目标端口的信息的映射入口。当没有找到映射入口时,进程1100结束。当发现映射入口时,进程1100执行起始于步骤1110的动作。
步骤1110是用于确定源IP地址的网络ID是否匹配记录在映射入口中的原始网络ID的测试。当源IP地址的网络ID不匹配记录在映射入口中的原始网络ID时,进程1100执行在步骤1115(改变源ID来匹配在入口中陈列的原始ID)和步骤1120(更新校验和)中指定的地址转换。
在步骤1115和步骤1120之后,或在步骤1110确定存在匹配的测试之后,进程1100在步骤1125执行另一个测试来确定目标IP地址的网络ID是否匹配记录在映射入口中的原始网络ID。当目标IP地址的网络ID匹配记录在映射入口中的原始网络ID时,进程1100结束。
当目标IP地址的网络ID不匹配记录在映射入口中的原始网络ID时,进程1100执行在步骤1130(改变分组中的目标IP地址以使之匹配记录在入口中的原始源网络ID)和步骤1135(更新校验和)中指定的地址转换。如步骤1120和步骤1135中对应所示,对于分组中的每个改变,IP校验和与TCP校验和被重新计算并更新。
除了IP地址的分配之外,本发明还提供一个用于执行基于客户端的域名服务(DNS)服务的方法,因此每个被连接的客户端计算机***可以具有与其动态分配的IP地址相关的域名。IP地址和相关域名之间的映射将通过在客户端计算机***运行的通信软件来执行。
为了解析″非虚拟″域中的域名,DNS***中一般包括两个主要部分:DNS服务器和域名解析器(DNR)。优选的实施例和DNR部分协同工作。对于像Windows操作***的操作***软件,DNR部分被设计有一个允许***域名服务供应商的开放式体系结构。通过提供这类域名服务供应商,客户端通信软件在虚拟网络之上寄住其自己的域名服务。
图12是用于处理在客户端计算机***发起的DNS域名请求进程的流程框图。在客户端计算机***由通信软件执行的进程1200提供用于虚拟网络的域名服务。进程1200从测试步骤1205开始确定域名空间的域名是否被定义用于虚拟网络。
当域名请求匹配定义用于虚拟网络的域名空间模式时,步骤1210将被执行并且动态分配的IP地址直接返回客户端计算机***,而不用跟任何DNS服务器联系。换言之,域名解析完全在客户端设备来完成。
当域名请求不匹配定义用于虚拟网络的域名空间模式时,步骤1215将被执行,并且请求将被转发给默认的DNR。因此,一个附加的域名空间用这个方法被建立来补充常规的DNS域名空间。
本发明的其中一个优选实现是操作***中的一个例程,其由在计算机操作过程中驻留在计算机***的RAM中的程序步骤或指令构成。程序指令直到计算机***需要它为止都可以被存储在另一个可读介质中,例如被存储在磁盘驱动器或可移动的存储器中,比如用于CD ROM计算机输入的光盘或用于软盘驱动器计算机输入的软盘。此外,程序指令在本发明的***使用它之前可以被存储在另一个计算机的存储器中,并且当本发明的用户需要时可以在LAN或诸如互联网之类的WAN上被发出。所属领域技术人员应当理解,控制本发明的进程能够被分配在多种形式的计算机可读介质中。
本发明已经参考其特殊实施例被描述。然而,这些本发明的实施例仅仅是说明性而不是限制性的,而其范围仅仅通过附加的权利要求来确定。

Claims (26)

1.一个网络***,包括:
连接到一个或多个虚拟网络主机服务器的全局网;
一个经由第一防火墙连接到所述的一个或多个服务器的第一计算***;和
经由第二防火墙连接到所述的一个或多个服务器的第二计算***,
其中,包括所述这些计算***的虚拟网络被这样形成:使得所述这些计算***经由直接逻辑连接相互通信。
2.如权利要求1所述的网络***,其中,所述的虚拟网络使用所述的一个或多个服务器和每个计算***之间的物理层连接。
3.如权利要求2所述的网络***,其中,所述物理层用HTTP连接命令来建立。
4.如权利要求1所述的网络***,其中,所述的物理层连接包括连接到在所述的服务器中形成的虚拟网络对象。
5.一个使用有虚拟网络主机服务器的全局网的通信***,包括:
用全局网连接到虚拟网络主机服务器的多个计算***;和
多个分别用于每个计算***的防火墙,用于过滤计算***和全局网之间的网络通信,
其中,包括所述这些计算***的虚拟网络被这样形成:使得所述的计算***经由直接逻辑连接相互通信。
6.一个虚拟网络形成方法,该方法包括:
a)经由第一防火墙在第一计算***与连接到全局网的虚拟网络主机服务器之间建立物理连接;
b)经由第二防火墙在第二计算***与所述的虚拟网络主机服务器之间建立物理连接;和
c)在所述这些计算***之间建立逻辑连接来形成虚拟网络。
7.如权利要求6所述的方法,其中,所述的建立步骤a)和b)之一包括:
d)向所述服务器发出来自所述计算***的TCP连接请求;
e)响应从所述服务器到所述计算***的所述TCP连接请求;
f)与所述服务器交换来自所述计算***的连接握手数据;
g)与所述计算***交换来自所述服务器的连接握手数据;和
h)在所述的计算***和所述的服务器之间交换数据。
8.如权利要求6所述的方法,还包括连接到所述第一防火墙前面的所述第一计算***的HTTP代理服务器,其中,所述的建立步骤a)包括:
d)向所述的代理服务器发出来自所述第一计算***的代理连接请求;
e)向所述服务器发出来自所述代理服务器的TCP连接请求;
f)响应从所述服务器到所述代理服务器的所述的TCP连接请求;
h)响应从所述代理服务器到所述第一计算***的所述TCP连接请求;
g)经由所述的代理服务器与所述的服务器交换来自所述计算***的连接握手数据;
g)经由所述代理服务器与所述计算***交换来自所述服务器的连接握手数据;和
h)经由所述的代理服务器在所述的计算***和所述的服务器之间交换数据。
9.一个包括携带程序指令的计算机可读介质的计算机程序产品,其在运行时使用两个或更多经由防火墙连接到全局网的计算***来形成虚拟网络,被执行的程序指令运行一个方法,该方法包括:
a)经由第一防火墙在第一计算***与连接到全局网的虚拟网络主机服务器之间建立物理连接;
b)经由第二防火墙在第二计算***与所述的虚拟网络主机服务器之间建立物理连接;和
c)在所述这些计算***之间建立逻辑连接来形成虚拟网络。
10.一个用于连接到全局网的第一计算机***的虚拟网络通信***,包括:
用第一计算机***的处理器来操作的网络应用程序,所述的网络应用程序连接到网络API;
用所述处理器来操作的网络接口卡,用于在全局网和网络子***之间交换通信协议信号,所述的网络子***被连接到所述的网络API;
用所述的第一计算机***的处理器来操作的虚拟网络客户端运行时,所述的网络客户端运行时被连接到所述的网络API;和
用所述的处理器来操作的虚拟网络适配器,其被连接到所述的运行时和所述的网络***。
11.如权利要求10所述的虚拟网络通信***,其中,所述的虚拟网络适配器在第一计算机***的操作过程中被动态地创建。
12.如权利要求11所述的虚拟网络通信***,其中,所述的虚拟网络适配器被分配了其自己的物理适配器地址。
13.如权利要求11所述的虚拟网络通信***,其中,所述的虚拟网络适配器用伪物理地址来静态地配置。
14.如权利要求13所述的虚拟网络通信***,其中,所述的虚拟网络适配器具有匹配第二计算机***的第二虚拟网络适配器地址的地址,第二计算机***经由虚拟网络主机服务器逻辑上连接到所述的第一计算机***的虚拟网络适配器。
15.如权利要求14所述的虚拟网络通信***,其中,第一计算机***包括已修改的地址转换协议进程。
16.如权利要求15所述的虚拟网络通信***,其中,取决于第一计算机***的物理地址请求的地址转换协议请求的来源,所述已修改地址转换协议进程返回所述伪物理地址和动态分配的物理地址中的一个。
17.一个用于在第一计算机***中提供的虚拟网络适配器的地址转换协议请求应答进程,该方法包括:
a)当地址转换协议请求从第一计算机***被发送时,用虚拟网络适配器的伪物理地址来响应地址转换协议请求;和
b)当地址转换协议请求不是从第一计算机***发送时,用虚拟网络适配器的动态分配的物理地址来响应地址转换协议请求。
18.一个网络***,包括:
连接到一个或多个虚拟网络主机服务器的全局网;和
经由第一防火墙连接到所述的一个或多个服务器的第一计算***;
其中,包括所述第一计算***的虚拟网络用经由第二防火墙连接到所述一个或多个服务器的第二计算***来形成,因此所述的计算***经由直接逻辑连接相互通信。
19.一个用于形成虚拟网络的方法,该方法包括:
a)经由第一防火墙在第一计算***与连接到全局网的虚拟网络主机服务器之间建立物理连接;
b)经由第二防火墙与物理连接到所述虚拟网络主机服务器的第二计算***通信,
其中,所述的通信步骤包括经由所述计算***之间的直接逻辑连接来通信。
20.一个用于形成虚拟网络的方法,该方法包括:
a)在连接到全局网的虚拟网络主机服务器和通过多个防火墙与所述全局网隔开的多个计算***中的每一个之间建立物理连接,所述的多个防火墙的每一个与所述的多个计算***中每一个的对应防火墙相关联;和
b)在所述的多个计算***的每个计算***之间使用它们之间的直接逻辑连接来通信,从而形成所述的多个计算***的虚拟网络。
21.一个用于多个计算***中每一个计算***的子网定位方法,每个计算***经由防火墙被物理连接到虚拟网络主机服务器并具有虚拟网络适配器,多个计算***和定义虚拟网络的主机服务器具有计算***之间的直接逻辑连接,该方法包括:
a)为除具有冲突的一个或多个虚拟适配器之外的每个虚拟适配器配置TCP/IP设置,每个虚拟适配器都包括公用网络ID和主机ID部分的结合;
b)为每个所述具有冲突的一个或多个包括替换网络ID和主机ID部分结合的虚拟适配器配置TCP/IP设置;和
c)执行基于连接的经由所述虚拟适配器来传递的IP分组的地址转换,
其中,所有的计算***都逻辑上被一起连接到一个虚拟网络中。
22.如权利要求21所述的子网定位方法,其中,用于IP分组进入其中一个虚拟适配器的所述地址转换步骤c)包括:
c1)测试IP分组源地址部分中的网络ID是否匹配所述虚拟适配器的网络ID;和
c2)当所述测试步骤c1)为假时,改变所述源地址部分中的所述网络ID来匹配所述虚拟适配器的所述网络ID;
c3)当所述测试步骤c1)为假时,更新所述IP分组的分组校验和;和
c4)当所述测试步骤c1)为假时,基于一源IP和一源端口来创建映射入口。
23.如权利要求21所述的子网定位方法,其中,用于IP分组进入所述虚拟适配器之一的所述地址转换步骤c)包括:
c1)测试IP分组目标地址部分中的网络ID是否匹配虚拟适配器的网络ID;和
c2)当所述测试步骤c1)为假时,改变所述目标地址部分中的所述网络ID来匹配所述虚拟适配器的所述网络ID;和
c3)当所述测试步骤c1)为假时,更新IP分组的分组校验和。
24.如权利要求21所述的子网定位方法,其中,用于IP分组从其中一个虚拟适配器发出的所述地址转换步骤c)包括:
c1)测试是否存在用于目标地址和目标端口的映射入口;
c2)当c1)的测试步骤为真时,测试IP分组源地址部分中的网络ID是否匹配所述虚拟适配器的网络ID;
c3)当所述测试步骤c1)为真而所述测试步骤c2)为假时,改变所述源地址部分中的所述网络ID来匹配所述映射入口的网络ID;和
c3)当所述测试步骤c1)为真而所述测试步骤c2)为假时,更新IP分组的分组校验和。
25.如权利要求21所述的子网定位方法,其中,用于IP分组从其中一个虚拟适配器发出的所述地址转换步骤c)包括:
c1)测试是否存在用于目标地址和目标端口的映射入口;
c2)当c1)的测试步骤为真时,测试是否IP分组目标地址部分中的网络ID匹配虚拟适配器的网络ID;
c3)当所述测试步骤c1)为真而所述测试步骤c2)为假时,改变所述目标地址部分中的所述网络ID来匹配所述映射入口的网络ID;和
c3)当所述测试步骤c1)为真而所述测试步骤c2)为假时,更新IP分组的分组校验和。
26.一个用于虚拟网络的计算机***的域名服务处理方法,计算机***具有虚拟适配器,该方法包括:
a)在计算机***来测试计算机***的域名空间的域名请求是否被定义用于所述虚拟网络;
b)当测试步骤a)为真时,响应于所述的域名请求返回所述虚拟适配器的一动态分配IP地址;和
c)当测试步骤a)为假时,把所述的域名请求转发到用于计算机***的默认域名解析器。
CN 200380103257 2002-10-18 2003-10-17 用于建立虚拟网络的设备、方法和计算机程序产品 Pending CN1754161A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US41939402P 2002-10-18 2002-10-18
US60/419,394 2002-10-18
US10/653,638 2003-09-02

Publications (1)

Publication Number Publication Date
CN1754161A true CN1754161A (zh) 2006-03-29

Family

ID=36680292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200380103257 Pending CN1754161A (zh) 2002-10-18 2003-10-17 用于建立虚拟网络的设备、方法和计算机程序产品

Country Status (1)

Country Link
CN (1) CN1754161A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102857475A (zh) * 2011-06-29 2013-01-02 上海地面通信息网络有限公司 一种防火墙虚拟化处理***
CN103563333A (zh) * 2011-06-01 2014-02-05 英特尔公司 维持在地址集合之间的相关性的电路
WO2017028398A1 (zh) * 2015-08-20 2017-02-23 北京百度网讯科技有限公司 通信处理方法和装置
CN107873128A (zh) * 2015-04-07 2018-04-03 安博科技有限公司 在云端的多边界防火墙
CN109074288A (zh) * 2016-03-15 2018-12-21 诺基亚通信公司 网络虚拟化场景中的冲突解决
CN112583744A (zh) * 2015-06-11 2021-03-30 安博科技有限公司 用于网络挂毯多协议集成的***和方法
CN112866074A (zh) * 2019-11-28 2021-05-28 烽火通信科技股份有限公司 一种虚拟网络连接方法及虚拟网络***
US11240064B2 (en) 2015-01-28 2022-02-01 Umbra Technologies Ltd. System and method for a global virtual network
US11503105B2 (en) 2014-12-08 2022-11-15 Umbra Technologies Ltd. System and method for content retrieval from remote network regions
US11630811B2 (en) 2016-04-26 2023-04-18 Umbra Technologies Ltd. Network Slinghop via tapestry slingshot
US11681665B2 (en) 2015-12-11 2023-06-20 Umbra Technologies Ltd. System and method for information slingshot over a network tapestry and granularity of a tick
US11711346B2 (en) 2015-01-06 2023-07-25 Umbra Technologies Ltd. System and method for neutral application programming interface

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103563333A (zh) * 2011-06-01 2014-02-05 英特尔公司 维持在地址集合之间的相关性的电路
CN102857475A (zh) * 2011-06-29 2013-01-02 上海地面通信息网络有限公司 一种防火墙虚拟化处理***
US11503105B2 (en) 2014-12-08 2022-11-15 Umbra Technologies Ltd. System and method for content retrieval from remote network regions
US11711346B2 (en) 2015-01-06 2023-07-25 Umbra Technologies Ltd. System and method for neutral application programming interface
US11881964B2 (en) 2015-01-28 2024-01-23 Umbra Technologies Ltd. System and method for a global virtual network
US11240064B2 (en) 2015-01-28 2022-02-01 Umbra Technologies Ltd. System and method for a global virtual network
CN107873128A (zh) * 2015-04-07 2018-04-03 安博科技有限公司 在云端的多边界防火墙
US11750419B2 (en) 2015-04-07 2023-09-05 Umbra Technologies Ltd. Systems and methods for providing a global virtual network (GVN)
CN107873128B (zh) * 2015-04-07 2021-06-25 安博科技有限公司 在云端的多边界防火墙
CN113381994A (zh) * 2015-04-07 2021-09-10 安博科技有限公司 在云端的多边界防火墙
CN113872855A (zh) * 2015-04-07 2021-12-31 安博科技有限公司 用于全局虚拟网络中的虚拟接口和高级智能路由的***和方法
US11799687B2 (en) 2015-04-07 2023-10-24 Umbra Technologies Ltd. System and method for virtual interfaces and advanced smart routing in a global virtual network
US11271778B2 (en) 2015-04-07 2022-03-08 Umbra Technologies Ltd. Multi-perimeter firewall in the cloud
CN113381994B (zh) * 2015-04-07 2023-05-02 安博科技有限公司 在云端的多边界防火墙
US11418366B2 (en) 2015-04-07 2022-08-16 Umbra Technologies Ltd. Systems and methods for providing a global virtual network (GVN)
CN112583744A (zh) * 2015-06-11 2021-03-30 安博科技有限公司 用于网络挂毯多协议集成的***和方法
US11558347B2 (en) 2015-06-11 2023-01-17 Umbra Technologies Ltd. System and method for network tapestry multiprotocol integration
US10574570B2 (en) 2015-08-20 2020-02-25 Beijing Baidu Netcom Science And Technology Co., Ltd. Communication processing method and apparatus
WO2017028398A1 (zh) * 2015-08-20 2017-02-23 北京百度网讯科技有限公司 通信处理方法和装置
US11681665B2 (en) 2015-12-11 2023-06-20 Umbra Technologies Ltd. System and method for information slingshot over a network tapestry and granularity of a tick
CN109074288B (zh) * 2016-03-15 2022-04-26 诺基亚通信公司 网络虚拟化场景中的冲突解决
CN109074288A (zh) * 2016-03-15 2018-12-21 诺基亚通信公司 网络虚拟化场景中的冲突解决
US11630811B2 (en) 2016-04-26 2023-04-18 Umbra Technologies Ltd. Network Slinghop via tapestry slingshot
US11743332B2 (en) 2016-04-26 2023-08-29 Umbra Technologies Ltd. Systems and methods for routing data to a parallel file system
US11789910B2 (en) 2016-04-26 2023-10-17 Umbra Technologies Ltd. Data beacon pulser(s) powered by information slingshot
CN112866074B (zh) * 2019-11-28 2022-04-29 烽火通信科技股份有限公司 一种虚拟网络连接方法及虚拟网络***
CN112866074A (zh) * 2019-11-28 2021-05-28 烽火通信科技股份有限公司 一种虚拟网络连接方法及虚拟网络***

Similar Documents

Publication Publication Date Title
US10992641B2 (en) DNS-enabled communication between heterogeneous devices
US20060075484A1 (en) Apparatus, method, and computer program product for building virtual networks
CN110710168B (zh) 跨隔离的网络堆栈的智能线程管理
CN100469022C (zh) 一种检测网络类型的方法及***
JP4816572B2 (ja) 仮想ネットワーク接続システム及び装置
US20050188002A1 (en) Apparatus, method, and computer program product for building virtual networks
CN102170380B (zh) 内网访问外网的方法和设备
CN1754161A (zh) 用于建立虚拟网络的设备、方法和计算机程序产品
US20140330886A1 (en) Distributed network address translation control
US9705844B2 (en) Address management in a connectivity platform
JP2003134118A (ja) 一つのnicに複数のipアドレスを割り当てる方法及びこれに適した装置
KR20120102626A (ko) 네트워크들을 통한 접속을 보장하기 위한 오버레이 사용
CN107026890A (zh) 一种基于服务器集群的报文生成方法和负载均衡器
US7002956B2 (en) Network addressing method and system for localizing access to network resources in a computer network
CN1692606A (zh) 自动注册互联网协议协议版本6的互联网协议地址和域名的方法
CN101262447B (zh) 一种***终端设备建立nat穿越通道的方法
US20030126617A1 (en) Method and system for video network discovery
CN101360030B (zh) 一种私网用户使用公网地址接入公网的方法及网关
NL1033102C2 (nl) Werkwijze voor het opzetten van een peer-to-peerverbinding tussen twee communicatiemedia.
CN105721487A (zh) 信息处理方法及电子设备
CN1494693A (zh) 群集计算机***中的组访问专用化
CN114189492A (zh) 一种基于网络地址转换技术的网卡压力测试方法和***
US7461140B2 (en) Method and apparatus for identifying IPsec security policy in iSCSI
NL1007709C2 (nl) Werkwijze en inrichting voor het omzetten van Internet Protocol adressen.
CN110838966B (zh) 一种设备连接控制方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication