CN1507734A - 通用外部代理 - Google Patents

通用外部代理 Download PDF

Info

Publication number
CN1507734A
CN1507734A CNA028097556A CN02809755A CN1507734A CN 1507734 A CN1507734 A CN 1507734A CN A028097556 A CNA028097556 A CN A028097556A CN 02809755 A CN02809755 A CN 02809755A CN 1507734 A CN1507734 A CN 1507734A
Authority
CN
China
Prior art keywords
network
address
machine
access point
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.)
Granted
Application number
CNA028097556A
Other languages
English (en)
Other versions
CN100531229C (zh
Inventor
Us
U·S·瓦里尔
R·G·伊利卡尔
��ɣ��˹��������
R·V·加尼桑
S·勒维特斯
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN1507734A publication Critical patent/CN1507734A/zh
Application granted granted Critical
Publication of CN100531229C publication Critical patent/CN100531229C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1106Call signalling protocols; H.323 and related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

第一机器利用在发送给第二机器的应用数据中发送第一机器的网络配置数据的协议通过转换接入点与所述第二机器通信,其中转换接入点对来自第一机器的网络流量进行转换,以便从该接入点发起。网络配置服务器向第一机器提供不必由接入点进行转换的网络配置数据,该数据在应用数据中发送给第二机器。第二机器与所提供的网络配置进行通信,并且该通信内容可由第一机器得到。

Description

通用外部代理
发明领域
本发明一般涉及联网,更具体地说,涉及将不可访问的网络配置数据嵌入到网络流量中的通信协议的支持应用。
背景
近年来,联网技术有了显著的进步,价格降低,导致了联网基础结构的显著增加。多数公司和家庭通过专用网和公用网互相连接,其中最著名的网络是因特网。现在,多数网络使用传输控制协议/因特网协议(TCP/IP)通信协议,其中为网络位置分配全球唯一的32比特数字地址,该地址一般以点分四组表示法表示(四个数字,每个数字的取值为0到255)。TCP/IP网络流量根据流量的目的IP地址路由发送。
但是,急剧增长的因特网导致了可用网络地址的短缺。为了进行补偿,尝试在多台计算机之间共享单个网络地址。一个众所周知的例子是网络地址转换(NAT),NAT通过经接入点路由传送网络流量,从而在与外部网络通信时将内部网络隐藏在接入点后面。由于内部网络使用专用网络地址,因而来自这种网络的分组在不转换之前无法在因特网中路由传送。在操作期间,NAT修改输出网络流量的源IP地址和端口,从而将该流量映射到外部或公共地址和一个唯一的NAT端口。NAT还利用外部地址和唯一NAT端口的映射,将输入网络流量的目的IP地址和端口修改回到原来的内部地址和端口。NAT忽略响应于原始输出网络流量没有收到的网络流量,以及到未映射端口的输入流量。
由诸如NAT网关/路由器102、防火墙108等转换接入点执行的网络流量转换对许多应用都是透明的。但是,在某些情况下,转换将使协议中断,比如视听会议(如国际电信联盟(ITU)标准H.323)、IP安全(IPSec)、不允许改变分组标题的端到端安全模型、以及将机器的网络地址和/或通信端口值作为应用数据嵌入到网络流量中的协议,比如文件传送协议(FTP)、多用户网络游戏协议等,都是这种情况。
例如,在图1中,H.323客户机110检查其网络配置并将该配置作为应用数据发送到H.323网关118。由于H.323客户机110位于专用网,因此,在应用数据中所表示的配置无法由H.323网关118用于从因特网对其进行访问。也就是说,转换接入点修改分组标题数据而不是应用数据。因此,协议失败,因为协议有效地报告了应用数据中的错误信息。
针对此问题所提议的一个解决方案是REALM专用IP(RSIP)协议,它是因特网工程任务组(IETF)建议的对NAT的修订。假定采用国际标准组织开放式系统互联(ISO/OSI)模型,则在每个转换接入点中,联网协议层3和4被修改来支持RSIP。一个RSIP接入点授予一个客户机,如网络100中的一个机器,如网络104的外部领域中的资源(如地址,端口)。
但是,RSIP(以及有关方案)既贵又不切实际。想要正确的工作,所有的转换接入点都要修改为支持RSIP。该方案在碰到上游的不支持转换的接入点时将失败。
附图概述
通过以下对本发明的详细描述,本发明的特性和优点将变得显而易见,其中:
图1说明通过因特网互联的计算装置的现有技术网络配置。
图2是根据一个实施例的总图,用于利用将网络配置数据嵌入到NAT不可访问的网络流量净荷中的协议支持NAT。
图3是流程图,说明根据图2的实施例,应用程序和端点之间的通信传播经过转换接入点。
图4说明实现图3所示实施例中向服务器查询外部地址/端口的一种技术。
图5是说明图4的实施例应用于H.323电信应用程序的简图。
图6说明本发明的某些方面可能在其中实现的适当计算环境。
详细描述
图2是根据一个实施例利用将网络配置数据嵌入在NAT不可访问的网络流量净荷中的协议支持NAT的总的数据流程图。该总流程图在下面的各图中表示得更为详细。
如图所示,联网应用程序200与操作系统提供的网络服务202通信,例如基于软件和/或硬件的操作系统向应用程序200提供服务。在操作期间,典型的网络应用程序请求操作系统提供应用程序可能使用的网络配置数据。在TCP/IP环境中,这种请求一般包括请求操作系统识别执行应用程序的主机系统的网络接口的网络地址(如图6中的项618),以及可用的通信端口。如果主机系统处于专用网内,则该地址将是无法在因特网中使用的不可路由的网络地址。
假定所有来自应用程序200的网络流量在到达网络208之前通过转换接入点206(转换器),比如NAT装置或等效装置。由于转换器不改变应用数据,在网络配置数据中发送应用数据的协议无法在专用网中工作。因此,为分析应用程序请求配置数据,作为网络服务202的组成的配置确定器204联络外部网络配置服务器210。服务器向确定器提供可用于诸如因特网或等效网络的公用网络中的网络配置数据。例如,它可提供服务器的网络地址和通信端口。
当确定器204从服务器210收到此配置数据,则网络服务202将此数据再报告给请求的应用程序。当应用程序将该配置数据嵌入到应用数据中时,作出响应的网络装置(如图1中的H.323客户机116)发出根据服务器210提供的数据作出的响应。例如,假定服务器提供服务器的网络地址和通信端口,则作出响应的网络装置将响应发送到该服务器;服务器接着转发接收响应并由应用程序200接收并利用此响应。
图3是流程图,说明根据图2的实施例,应用程序和端点之间的通信传播经过诸如NAT网关/路由器(转换器)的转换接入点。
应用程序利用协议与端点通信。假定该协议是由于专用网地址被包括在应用数据中的原因而中断的协议,但是该协议也可以是简单的网络连接。应用程序请求300操作系统网络服务识别应用程序的主机的网络地址,并获得可用的(或特定的)通信端口。一般,该请求要求操作系统识别主机的IP地址和可用的UDP或TCP端口。
操作系统又调用302已安装的适当网络服务(以软件和/或硬件提供)以分析此请求300。在一个实施例中,假定应用程序不知道接入点的网络流量转换,网络服务被配置为将调用302转发给代理客户机。转发给代理客户机的一个例示实现在下面参照图4进行讨论,该实现是微软Windows网络服务中的分层服务提供方(LSP)(请注意,本文使用的所有标志都归其各自所有者所有)。但是,本领域技术人员应理解,可以使用其它转发机制。
代理客户机又从外部代理服务器请求网络地址和通信端口。如以下在说明书和权利要求书中所用到的,外部代理服务器包括具有如因特网连接的网络连接的服务器,不需要由接入点进行转换。例如图5的装置516具有到因特网的直接不转换连接。该请求传递经过306转换接入点。外部代理服务器用可用地址和通信端口对代理客户机作出应答308。这个应答也传递经过转换接入点。但是,由于外部代理服务器具有不转换的网络连接,因此代理客户机向请求300应用程序报告外部的不受接入点的转换影响的地址和端口。
在一个实施例中,代理客户机建立与外部代理服务器的隧道。外部代理服务器连接310到端点并根据应用程序所用的协议建立与端点的通信会话。隧道可用于传递314在提供给308代理客户机的地址和端口处收到的网络流量,并承载从应用程序到端点的网络流量。
这种隧道方式对应用程序和端点都是透明的,因为应用程序相信来自外部服务器的联网配置值对应于应用程序主机的值,并且因为端点可以利用联网配置值直接与代理服务器通信。因此,根据这些隧道方法,在应用程序和端点之间创建了不受转换接入点影响的虚拟直接链路316。
图4说明实现图3所示实施例中向服务器查询304外部地址/端口的一种技术。
如图所示,分层服务提供方(LSP)404是结合微软Winsock应用程序编程接口(API)406实现的。在所示实施例中,微软Winsock API中加入了LSP,它将Winsock配置为将网络调用继续传递给LSP 404进行初步处理。有关LSP的更多信息,请参见Hua等人的″破解编写Winsock 2分层服务提供方的秘诀″(Microsoft Systems Journal,May1999);因特网URL:msdn-microsoft-com/library/periodic/period99/layeredService-htm.(为防止无心的超级链接,URL分段用短划线代替)。
在所示实施例中,执行计算装置(如图1中的项110)上的应用程序400,其中该应用程序利用某种协议与对等方(如图1中的项116)通信,该协议通常在其被用在转换接入点之后时会中断。例如,假定应用程序识别其主机的网络配置,并通过转换接入点406发送该配置,作为发送给另一计算装置116的应用数据。应用程序嵌入无法由对等方116通过网络104访问的配置值。因此,对等方116针对所嵌入的配置数据的网络流量无法由应用程序400收到。
在所述实施例中,当应用程序400调用操作系统网络服务,以识别其主机的网络配置时,操作系统调用Winsock 402服务,该服务又调用LSP 404。当控制被传递到LSP时,LSP从外部代理服务器410获得无需转换的网络配置。LSP将配置提供给Winsock,Winsock又将之提供给应用程序。应用程序可以安全的将LSP提供的配置嵌入在应用数据中。
在一个实施例中,当控制刚传递到LSP时,LSP首先确定是否接受该调用,或者简单地将其传递回Winsock API由其处理该调用。这就允许“知道”转换接入点406的应用程序不受干涉地运行。对于这样的应用,在LSP的调用传递回Winsock进行常规Winsock处理。但是,如果应用程序不知道转换,则LSP调用外部代理服务器410,外部代理服务器410向LSP返回无需转换的网络地址和通信端口。在LSP和代理服务器之间建立隧道,以便其它计算装置与所提供的地址/端口的通信可以透明地通过隧道传递给应用程序。
本领域技术人员应理解,本发明不依赖于操作系统;利用微软联网环境以及LSP都是出于例示目的,只是因为大家对这些环境都非常熟悉。也可以使用其它操作系统和网络服务。同时,一些环境可能利用封闭式网络服务,如LSP结构类型不可用。在这样的环境中,在一个实施例中,由在应用程序主机上执行的代理客户机程序拦截并处理对网络服务的调用。在一个备选实施例中,利用虚拟网络接口和软件路由器来接收通过物理网络接口路由的网络流量。
图5是说明图4的实施例应用于H.323电信应用程序的简图。本领域技术人员应理解,所示实施例适用于检查其主机的网络配置并将该数据嵌入到应用数据中的任何协议。
如图所示,例示性计算装置500包括H.323应用程序502、LSP网络层504(也参见图4中的项404)、Winsock(或其等效)网络层506、TCP/IP网络层508以及网络接口510,通过NAT转换器512与诸如因特网的外部网络514通信。计算装置与实施在例示计算装置516中的外部代理服务器518通信以处理输入和输出的网络流量通信,所述计算装置516包括外部代理服务器、与TCP/IP网络层522接口的套接网络层520(如微软Winsock等),以及多个网络接口526、528。在一个实施例中,计算装置516还包括可选的服务器驱动程序(下面讨论)。
计算装置500利用H.323应用程序502建立与H.323端点530的电信会话。这时并非允许应用程序502直接与外部(相对于NAT转换器512)计算装置进行通信,而是应用程序被“骗”入到通过LSP 504和Winsock 506网络层建立循环网络连接532,而不是与端点建立连接。
也就是说,当应用程序开始时502,它查询其操作系统以得到主计算装置500的网络地址,以及可用的通信端口。如以上参照图2所讨论的,Winsock 506将该查询传递给LSP 504,LSP 504用从外部代理服务器518检索的地址和端口信息进行应答。当应用程序与端点530通信时,LSP接收该通信信息,将其转发至代理服务器,代理服务器又将其发送给端点。来自端口的响应由计算装置516接收,通过隧道传回LSP,LSP又通过Winsock将该响应提供给应用程序。以这种方式,应用程序和端点相信它们是直接通信的。
当应用程序502根据H.323协议发送针对端点的呼叫建立数据时,应用程序将其主机的网络地址和通信端口提供给端点530,作为发送给端点的应用数据。由于LSP提供给应用程序来自代理服务器518的配置数据,因此呼叫建立不受转换接入点512的影响。应用程序等待呼叫建立成功的通知。
在一个实施例中,当LSP将呼叫建立请求转发给外部代理服务器518时,代理服务器尝试利用提供给应用程序的代理客户机的网络配置来建立与端点530的呼叫。如果呼叫建立成功,则通知LSP 504所述成功,并且LSP又通知应用程序。由代理客户机建立到外部代理服务器的隧道,该隧道用于转发计算装置500和端点530之间的电信会话。代理服务器可以对在端点和应用程序之间传送的数据执行各种优化,比如压缩、复用、加密等。
如上所述,计算装置516还可包括代理服务器驱动程序524。该驱动程序可被用于分担代理服务器的处理任务,以便代理服务器只负责建立与端点的协议,并且在成功建立之后,驱动程序524还维护应用程序和端点之间的通信隧道。例如,在所示例示中,一旦建立了电信会话,H.323音频通信的UDP网络流量可以由代理服务器驱动程序通过隧道发送到计算装置500中的代理客户机。
图6和以下讨论旨在提供对所示本发明的某些方面可能在其中实现的适当计算环境的简明概要描述。例如,实施图2所示代理客户机或代理服务器的例示系统包括机器600,它具有系统总线602,用于连接各种机器部件。
一般来说,连接到总线的是不可编程的和可编程的处理器604、存储器606(如RAM、ROM)、存储装置608、视频接口610以及输入/输出接口端口612。机器还可包括嵌入式控制器、可编程逻辑器件(PLD)、可编程逻辑阵列(PLA)、可编程阵列逻辑(PAL)、通用阵列逻辑(GAL)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、计算机、智能卡或另一机器、系统等。
机器预计通过网络接口618、调制解调器620或其它通信路径利用到一个或多个远程机器614、616的逻辑连接在联网环境中工作。机器可以通过有线或无线网络622互联,这些网络包括企业内部网、因特网、局域网、广域网、蜂窝网、有线网、激光、卫星、微波、蓝牙、光、红外或其它承载技术。
本发明可以参照不同的高级程序模块和/或低级硬件环境进行描述,这些程序模块可存储在存储器606和/或存储装置608中。程序模块包括过程、函数、程序、组件、数据结构等,用于执行特定的任务或实现特定的抽象数据类型。本领域技术人员将理解,程序模块和低级硬件环境可以与低级硬件指令互换,并且在下文中总称为″指令″。本领域技术人员还将理解,即使指令必须在由机器对它们进行执行或其它利用之前被解密、解压缩、编译、解释或处理,但指令可以记录或保存为压缩、加密或其它编码格式,并不背离本发明的范围。
存储器606、存储装置608以及相关媒体可以保存机器600的数据和指令。程序模块可以在单个机器中实现,或者在分布式网络环境中处理,并存储在本地和远程存储器中。存储器和存储装置包括硬盘驱动器、软盘、光存储器、磁盘、磁带、快速存储卡、存储条、数字视盘、生物存储器等,以及有线和无线的传输环境,比如网络622,指令可以以分组、串行数据、并行数据或其它适当的传输格式通过该网络传递。
因此,例如参照所述实施例,假定机器600运行H.323电信应用程序和代理客户机程序,那么远程装置614、616可以分别是实现代理服务器和H.323通信端点的机器。应该理解,远程机器614、616可以如机器600般配置,从而包括针对机器所讨论的部件中的一些或全部。还应该理解,机器600、614、616可以在单一装置中实现,或者在独立的以通信方式连接的部件中实现,以及可以包括或实施在路由器、桥、对等装置、万维网服务器等中。
所示方法及其相应的书面描述都旨在说明机器可访问的媒体存储指令等,它们可以结合到单一和多处理器机器中、便携式计算机中,比如手持装置,包括个人数字助理(PDA)、蜂窝电话等。当机器对指令进行访问、读取、执行、装入或者利用时,将使机器执行所示方法。附图、书面描述以及权利要求书还可以理解为表示单独的指令、以特定形式组织的指令,如分组、串行、并行等,和/或存于存储装置或承载媒体中的指令。
已参照所示实施例描述和图示了本发明的原理,应理解,在不背离这些原理的情况下,可以对所示实施例进行结构和细节上的修改。
另外,即使上述讨论集中在特定实施例上,但应理解可以预见其它配置。具体地说,即使在本文中使用了诸如“在一个实施例中”、“在另一实施例中”等表达方式,但这些表达一般地表示参考实施例的可能性,并不旨在将本发明限制在特定的实施例配置中,本文所有的这些术语可以表示相同或不同的实施例,并且除非隐含或明确的表示,否则这些实施例可以组合到其它实施例中。因此,鉴于对上述实施例的各种改变,详细描述仅仅是说明性的,并不应该作为对本发明范围的限制。
因此,本发明所要求的是所有这样的修改都落在以下权利要求书及其等效物的范围和精神中。

Claims (37)

1.一种方法,包括:
第一机器利用在发送给第二机器的应用数据中发送所述第一机器的网络配置数据的协议与所述第二机器通信;
从网络配置服务器接收不必由转换接入点进行转换的网络配置;以及
根据所述协议将所述收到的网络配置提供给所述第二机器,以便所述通信可以经过对网络流量进行转换的转换接入点,使得从表面上看所述通信是从所述接入点发起的,且无需中断所述协议。
2.如权利要求1所述的方法,其特征在于所述网络配置数据包括网络地址,所述方法还包括:
建立与所述第一机器的隧道,用于接收发送给所述网络地址的网络流量。
3.如权利要求2所述的方法,其特征在于所述隧道建立在所述网络配置服务器和所述第一机器之间。
4.如权利要求1所述的方法,其特征在于所述协议选自音频协议、视觉协议以及视听协议和电信协议之一。
5.如权利要求1所述的方法,其特征在于所述转换接入点具有第一接口,它以通信方式与第一网络相连接;以及第二接口,它以通信方式与第二网络相连接,所述方法还包括:
将网络地址与所述第二接口相关联;
从所述第一接口接收所述第一机器的网络流量;以及
转换所述收到的网络流量,从而使其看上去是从与所述第二接口相关的所述网络地址发起的。
6.一种通过接入点通信的方法,所述接入点通过对第一网络流量进行转换,使得从表面上看所述第一网络流量是从所述接入点发起的,从而将第一网络上的多台机器连接到第二网络上的第二机器,所述方法包括:
接收对所述第一网络上第一机器的第一地址的请求;
从第二网络上的服务器分配第二地址;
响应于所述请求提供所述第二网络地址;
通过所述接入点发送至少一个包括分组源以及含所述第二网络地址的数据净荷的网络分组;以及
由所述接入点对分组源进行转换,使得从表面上看所述网络分组是从所述接入点发起的。
7.如权利要求6所述的方法,其特征在于还包括:
在所述第一机器和所述服务器之间建立隧道;以及
所述第一机器通过所述隧道接收发送到所述第二地址的网络流量。
8.如权利要求7所述的方法,其特征在于所述接入点执行的转换选自下列转换之一:网络地址转换,以及对所述至少一个网络分组的端口转换。
9.如权利要求6所述的方法,其特征在于还包括:
在所述第一机器和所述第二机器之间提供基于网络地址转换(NAT)的路由器,从而对所述第一和第二机器之间的通信进行至少一次NAT转换。
10.如权利要求9所述的方法,其特征在于所述基于NAT的路由器是所述接入点。
11.如权利要求6所述的方法,其特征在于还包括:
以通信方式将所述服务器连接到所述第二网络,使得来自所述服务器的网络流量不需转换就到达所述第二网络。
12.如权利要求11所述的方法,其特征在于所述第二网络是因特网。
13.如权利要求6所述的方法,其特征在于所述分组源地址是所述第一网络地址。
14.如权利要求6所述的方法,其特征在于还包括:
执行联网应用程序,所述程序发出对所述第一机器的第一地址的请求,以及将所述提供的第二地址存储为所述数据净荷;
其中所述联网应用程序不知道所述转换。
15.如权利要求6所述的方法,其特征在于所述第一机器包括:
网络接口,它以通信方式连接到所述第一网络;
第一存储器,用于存储提供网络服务的操作系统;以及
第二存储器,用于存储网络驱动程序,所述网络驱动程序以通信方式将所述网络接口连接到所述网络服务,所述网络驱动程序执行所述分配所述第二地址,以及响应于对所述第一地址的所述请求而提供所述第二地址。
16.如权利要求15所述的方法,其特征在于还包括:
执行发出对所述第一地址的所述请求的联网应用程序;以及
所述网络驱动程序响应于所述联网应用程序请求而提供所述第二网络地址。
17.一种方法,使内部网络上的若干机器在网络流量路由经过接入点时利用将机器网络地址嵌入到网络流量数据中的协议,其中所述接入点在外部网络上与所述若干机器共享单个地址,所述方法包括:
从在所述内部网络的第一机器上执行的网络驱动程序接收第一网络流量,所述第一流量具有表面上为所述单个地址的源地址;
分配所述第二网络上的外部地址;
向所述第一机器的网络驱动程序提供所述外部地址;以及
通过所述接入点建立到所述网络驱动程序的隧道,以便到所述外部地址的网络流量由所述网络驱动程序接收。
18.如权利要求17所述的方法,其特征在于还包括:
从在所述第一机器上执行的应用程序接收第二网络流量,所述第二流量具有表面上为所述接入点的源地址,以及编码了由所述应用程序确定的所述第一机器的识别地址的数据净荷。
19.如权利要求18所述的方法,其特征在于所述应用程序是电信程序,所述方法还包括:
由所述网络驱动程序联络所述外部网络上的呼叫处理服务器,所述服务器执行所述分配所述外部地址和建立所述隧道;
由所述程序向端点发起呼叫;
通知所述服务器所述发起;
由所述服务器建立到所述端点的所述呼叫;
通知所述网络驱动程序所述建立的成功/失败;以及
通知所述程序所述建立的成功/失败。
20.如权利要求19所述的方法,其特征在于:
所述应用程序与所述网络驱动程序进行通信;以及
所述端点与所述服务器进行通信。
21.一种方法,由局域网(LAN)上的第一机器用于通过接入点与广域网(WAN)进行通信,所述接入点被配置为改变LAN网络流量,以便看上去所述流量源自所述WAN,所述方法包括:
提供基于层的网络服务,包括应用层、网络驱动层以及会话层,其中在所述会话层之前调用所述驱动程序;
执行应用程序,所述应用程序配置为识别所述第一机器的第一地址,将所述识别的第一地址嵌入在网络流量数据中,以及将所述网络流量数据发送到通信端点;
向所述程序提供一个WAN地址,以便所述程序可以将所述WAN地址嵌入到所述网络流量数据中;以及
在所述程序和所述驱动程序之间建立第一通信会话,在所述驱动程序和所述服务器之间建立第二通信会话,以及在所述服务器和所述端点之间建立第三通信会话。
22.如权利要求21所述的方法,其特征在于还包括:
联络所述WAN上的服务器以获取所述WAN地址;
从所述程序接收对所述端点的呼叫建立;
建立从所述服务器到所述端点的呼叫;
将所述程序呼叫连接到所述驱动程序;以及
由所述驱动程序透明地将所述程序呼叫转发给所述服务器。
23.如权利要求21所述的方法,其特征在于所述会话层包括微软Winsock应用编程接口。
24.如权利要求21所述的方法,其特征在于根据ISO/OSI模型配置所述网络服务。
25.一种装置,包括可读媒体,所述媒体具有编码于其上由处理器执行的指令,所述指令能够控制所述处理器执行:
第一机器利用在发送给第二机器的应用数据中发送所述第一机器的网络配置数据的协议与所述第二机器通信;
从网络配置服务器接收不必由转换接入点进行转换的网络配置;以及
根据所述协议将所述收到的网络配置提供给所述第二机器,以便所述通信可以经过对网络流量进行转换的转换接入点,使得从表面上看所述通信是从所述接入点发起的,且无需中断所述协议。
26.如权利要求25所述的装置,其特征在于所述指令包括能够指挥所述处理器执行以下操作的其它指令:
建立与所述第一机器的隧道,用于接收发送给所述网络地址的网络流量。
27.如权利要求25所述的装置,其特征在于所述转换接入点具有第一接口,该接口以通信方式与第一网络相连接;以及第二接口,它以通信方式与第二网络相连接,所述指令包括能够指挥所述处理器执行以下操作的其它指令:
将网络地址与所述第二接口相关联;
从所述第一接口上的所述第一机器接收网络流量;以及
转换所述收到的网络流量,从而使其看上去是从与所述第二接口相关的所述网络地址发起的。
28.一种通过接入点通信的装置,所述接入点通过对第一网络流量进行转换,使得从表面上看所述第一网络流量是从所述接入点发起的,从而将第一网络上的多台机器连接到第二网络上的第二机器,所述装置包括可读媒体,该媒体上编码了由处理器执行的指令,所述指令能够控制所述处理器执行:
接收对所述第一网络上第一机器的第一地址的请求;
从所述第二网络上的服务器分配第二地址;
响应于所述请求提供所述第二网络地址;
通过所述接入点发送至少一个包括分组源以及含所述第二网络地址的数据净荷的网络分组;以及
由所述接入点对分组源进行转换,使得从表面上看所述网络分组是从所述接入点发起的。
29.如权利要求28所述的装置,其特征在于所述指令包括能够指挥所述处理器执行以下操作的其它指令:
在所述第一机器和所述服务器之间建立隧道;以及
所述第一机器通过所述隧道接收发送到所述第二地址的网络流量。
30.如权利要求28所述的装置,其特征在于所述第一机器和所述第二机器之间基于网络地址转换(NAT)的路由器对所述第一和第二机器之间的通信进行转换。
31.如权利要求30所述的装置,其特征在于所述基于NAT的路由器是所述接入点。
32.如权利要求28所述的装置,其特征在于所述指令包括能够指挥所述处理器执行以下操作的其它指令:
执行联网应用程序,所述程序发出对所述第一机器的第一地址的请求,以及将所述提供的第二地址存储为所述数据净荷;
其中所述联网应用程序不知道所述转换。
33.一种系统,使内部网络上的若干机器在网络流量路由经过接入点时利用将机器网络地址嵌入在网络流量数据中的协议,其中所述接入点与所述若干机器共享外部网络上的单个地址,所述方法包括:
接收部件,用于从在所述内部网络的第一机器上执行的网络驱动程序接收第一网络流量,所述第一流量具有表面上为单个地址的源地址;
分配部件,用于分配所述第二网络上的外部地址;
提供部件,用于向所述第一机器的网络驱动程序提供所述外部地址;以及
建立部件,通过所述接入点建立到所述网络驱动程序的隧道,以便到所述外部地址的网络流量由所述网络驱动程序接收。
34.如权利要求33所述的系统,其特征在于还包括:
接收部件,从在所述第一机器上执行的应用程序接收第二网络流量,所述第二流量具有表面上为所述接入点的源地址,以及编码了由所述应用程序确定的所述第一机器的识别地址的数据净荷。
35.如权利要求34所述的系统,其特征在于所述应用程序是电信程序,所述系统还包括:
用于由所述网络驱动程序联络所述外部网络上的呼叫处理服务器的部件,所述服务器执行所述分配所述外部地址和建立所述隧道;
用于由所述程序向端点发起呼叫的发起部件;
用于通知所述服务器所述发起的通知部件;
用于由所述服务器建立到所述端点的所述呼叫的建立部件;
用于通知所述网络驱动程序所述建立的成功/失败的通知部件;以及
用于通知所述程序所述建立的成功/失败的通知部件。
36.一种装置,能够使局域网(LAN)上的第一机器通过接入点与广域网(WAN)进行通信,所述接入点被配置为改变LAN网络流量,以便看上去所述流量源自所述WAN,所述方法包括:
用于提供基于层的网络服务的部件,所述层包括应用层、网络驱动层以及会话层,其中在所述会话层之前调用所述驱动程序;
用于执行应用程序的部件,所述应用程序配置为识别所述第一机器的第一地址,将所述识别的第一地址嵌入在网络流量数据中,以及将所述网络流量数据发送到通信端点;
用于向所述程序提供一个WAN地址,以便所述程序可以将所述WAN地址嵌入到所述网络流量数据中的部件;以及
用于在所述程序和所述驱动程序之间建立第一通信会话,在所述驱动程序和所述服务器之间建立第二通信会话,以及在所述服务器和所述端点之间建立第三通信会话的部件。
37.如权利要求36所述的装置,其特征在于还包括:
用于联络WAN上的服务器以获取所述WAN地址的部件;
用于从所述程序接收对所述端点的呼叫建立的部件;
用于建立从所述服务器到所述端点的呼叫的部件;
用于将所述程序呼叫连接到所述驱动程序的部件;以及
用于由所述驱动程序将所述程序呼叫透明地转发给所述服务器的部件。
CNB028097556A 2001-03-15 2002-03-01 通用外部代理 Expired - Fee Related CN100531229C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/811,011 2001-03-15
US09/811,011 US7293108B2 (en) 2001-03-15 2001-03-15 Generic external proxy

Publications (2)

Publication Number Publication Date
CN1507734A true CN1507734A (zh) 2004-06-23
CN100531229C CN100531229C (zh) 2009-08-19

Family

ID=25205285

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028097556A Expired - Fee Related CN100531229C (zh) 2001-03-15 2002-03-01 通用外部代理

Country Status (6)

Country Link
US (1) US7293108B2 (zh)
CN (1) CN100531229C (zh)
GB (1) GB2390276B (zh)
HK (1) HK1058275A1 (zh)
TW (1) TWI228661B (zh)
WO (1) WO2002076065A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010060312A1 (zh) * 2008-11-28 2010-06-03 中兴通讯股份有限公司 Web应用与外部设备网络互连的实现方法和系统
CN101964798A (zh) * 2010-10-15 2011-02-02 德讯科技股份有限公司 基于远程桌面协议的多图形协议统一代理系统
CN105264838A (zh) * 2013-03-28 2016-01-20 柏思科技有限公司 通过至少一个端到端连接传输和接收数据包的方法和系统
CN108183868A (zh) * 2012-12-31 2018-06-19 瞻博网络公司 使用外部部件的动态网络设备处理
CN108809852A (zh) * 2017-05-01 2018-11-13 通用电气公司 用于时间敏感业务的弹性网络配置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085817B1 (en) 2000-09-26 2006-08-01 Juniper Networks, Inc. Method and system for modifying requests for remote resources
US7774455B1 (en) 2000-09-26 2010-08-10 Juniper Networks, Inc. Method and system for providing secure access to private networks
US7272650B2 (en) * 2001-04-17 2007-09-18 Intel Corporation Communication protocols operable through network address translation (NAT) type devices
US20020161904A1 (en) * 2001-04-30 2002-10-31 Xerox Corporation External access to protected device on private network
US20060020688A1 (en) * 2001-05-14 2006-01-26 At&T Corp. System having generalized client-server computing
US7320027B1 (en) * 2001-05-14 2008-01-15 At&T Corp. System having generalized client-server computing
JP4018361B2 (ja) * 2001-09-25 2007-12-05 富士フイルム株式会社 ネットワーク環境通知方法、ネットワーク環境通知システム、及びプログラム
US7631084B2 (en) 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
WO2003049349A2 (en) * 2001-12-06 2003-06-12 Nokia Corporation A mechanism to create pinhole for existing session in middlebox
EP1532539B1 (en) 2002-06-06 2015-12-09 Pulse Secure, LLC Method and system for providing secure access to private networks
US7133669B2 (en) * 2002-08-02 2006-11-07 Pctel, Inc. Systems and methods for seamless roaming between wireless networks
DE10321227A1 (de) * 2003-05-12 2004-12-09 Siemens Ag Verfahren zum Datenaustausch zwischen Netzelementen
CN100440886C (zh) * 2003-09-02 2008-12-03 华为技术有限公司 多媒体协议穿越网络地址转换设备的实现方法
US7263071B2 (en) * 2003-10-08 2007-08-28 Seiko Epson Corporation Connectionless TCP/IP data exchange
US7406533B2 (en) 2003-10-08 2008-07-29 Seiko Epson Corporation Method and apparatus for tunneling data through a single port
EP1770536A1 (en) * 2004-06-10 2007-04-04 NEC Corporation Information terminal, set information distribution server, right information distribution server, network connection setting program and method
FR2873526A1 (fr) * 2004-07-21 2006-01-27 France Telecom Procede et systeme de gestion de la surcharge d'identite et de la disponibilite privee/publique d'une adresse de messagerie instantanee
US7392323B2 (en) * 2004-11-16 2008-06-24 Seiko Epson Corporation Method and apparatus for tunneling data using a single simulated stateful TCP connection
US20060200517A1 (en) * 2005-03-03 2006-09-07 Steve Nelson Method and apparatus for real time multi-party conference document copier
US7561531B2 (en) * 2005-04-19 2009-07-14 Intel Corporation Apparatus and method having a virtual bridge to route data frames
US7983254B2 (en) * 2005-07-20 2011-07-19 Verizon Business Global Llc Method and system for securing real-time media streams in support of interdomain traversal
US20080261700A1 (en) * 2005-09-09 2008-10-23 Wms Gaming Inc. Gaming Device Including Configurable Communication Unit
BRPI0710748B1 (pt) * 2006-04-13 2018-11-27 Ibm dispositivo integrado e método para controlar um dispositivo integrado
US20070285501A1 (en) * 2006-06-09 2007-12-13 Wai Yim Videoconference System Clustering
WO2008074369A1 (en) * 2006-12-21 2008-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Network apparatus and method for translating media access control addresses
US8254381B2 (en) 2008-01-28 2012-08-28 Microsoft Corporation Message processing engine with a virtual network interface
US8924486B2 (en) * 2009-02-12 2014-12-30 Sierra Wireless, Inc. Method and system for aggregating communications
GB2478470B8 (en) 2008-11-17 2014-05-21 Sierra Wireless Inc Method and apparatus for network port and netword address translation
US8228848B2 (en) * 2008-11-17 2012-07-24 Sierra Wireless, Inc. Method and apparatus for facilitating push communication across a network boundary
WO2012106820A1 (en) 2011-02-08 2012-08-16 Sierra Wireless, Inc. Method and system for forwarding data between network devices
CN103298110B (zh) * 2012-03-02 2018-08-28 中兴通讯股份有限公司 一种触发mtc设备的方法和系统
US9276841B2 (en) * 2014-01-31 2016-03-01 Edgecast Networks, Inc. Adapting network control messaging for anycast reliant platforms

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523696B1 (en) * 1996-10-15 2003-02-25 Kabushiki Kaisha Toshiba Communication control device for realizing uniform service providing environment
US6470389B1 (en) * 1997-03-14 2002-10-22 Lucent Technologies Inc. Hosting a network service on a cluster of servers using a single-address image
US6119171A (en) * 1998-01-29 2000-09-12 Ip Dynamics, Inc. Domain name routing
US6058431A (en) * 1998-04-23 2000-05-02 Lucent Technologies Remote Access Business Unit System and method for network address translation as an external service in the access server of a service provider
US6360265B1 (en) * 1998-07-08 2002-03-19 Lucent Technologies Inc. Arrangement of delivering internet protocol datagrams for multimedia services to the same server
US6381646B2 (en) * 1998-11-03 2002-04-30 Cisco Technology, Inc. Multiple network connections from a single PPP link with partial network address translation
US6493349B1 (en) * 1998-11-13 2002-12-10 Nortel Networks Limited Extended internet protocol virtual private network architectures
US6490290B1 (en) * 1998-12-30 2002-12-03 Cisco Technology, Inc. Default internet traffic and transparent passthrough
US6393488B1 (en) * 1999-05-27 2002-05-21 3Com Corporation System and method for supporting internet protocol subnets with network address translators
US6697864B1 (en) * 1999-10-18 2004-02-24 Microsoft Corporation Login architecture for network access through a cable system
US6674743B1 (en) * 1999-12-30 2004-01-06 3Com Corporation Method and apparatus for providing policy-based services for internal applications
US6754709B1 (en) * 2000-03-29 2004-06-22 Microsoft Corporation Application programming interface and generalized network address translator for intelligent transparent application gateway processes
US6661799B1 (en) * 2000-09-13 2003-12-09 Alcatel Usa Sourcing, L.P. Method and apparatus for facilitating peer-to-peer application communication
US20020103850A1 (en) * 2001-01-31 2002-08-01 Moyer Stanley L. System and method for out-sourcing the functionality of session initiation protocol (SIP) user agents to proxies
US6687245B2 (en) * 2001-04-03 2004-02-03 Voxpath Networks, Inc. System and method for performing IP telephony

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010060312A1 (zh) * 2008-11-28 2010-06-03 中兴通讯股份有限公司 Web应用与外部设备网络互连的实现方法和系统
CN101431460B (zh) * 2008-11-28 2011-07-13 中兴通讯股份有限公司 Web应用与外部设备网络互连的实现方法和系统
CN101964798A (zh) * 2010-10-15 2011-02-02 德讯科技股份有限公司 基于远程桌面协议的多图形协议统一代理系统
CN108183868A (zh) * 2012-12-31 2018-06-19 瞻博网络公司 使用外部部件的动态网络设备处理
CN108183868B (zh) * 2012-12-31 2021-11-05 瞻博网络公司 使用外部部件的动态网络设备处理
CN105264838A (zh) * 2013-03-28 2016-01-20 柏思科技有限公司 通过至少一个端到端连接传输和接收数据包的方法和系统
CN105264838B (zh) * 2013-03-28 2020-10-27 柏思科技有限公司 通过至少一个端到端连接传输和接收数据包的方法和系统
CN108809852A (zh) * 2017-05-01 2018-11-13 通用电气公司 用于时间敏感业务的弹性网络配置
CN108809852B (zh) * 2017-05-01 2022-11-01 通用电气公司 用于时间敏感业务的弹性网络配置的方法和系统

Also Published As

Publication number Publication date
GB0322501D0 (en) 2003-10-29
CN100531229C (zh) 2009-08-19
US20020133549A1 (en) 2002-09-19
WO2002076065A3 (en) 2003-02-06
GB2390276B (en) 2004-08-18
GB2390276A (en) 2003-12-31
HK1058275A1 (en) 2004-05-07
WO2002076065A2 (en) 2002-09-26
TWI228661B (en) 2005-03-01
US7293108B2 (en) 2007-11-06

Similar Documents

Publication Publication Date Title
CN1507734A (zh) 通用外部代理
US7639700B1 (en) Architecture for efficient utilization and optimum performance of a network
US7769871B2 (en) Technique for sending bi-directional messages through uni-directional systems
US7286476B2 (en) Accelerating network performance by striping and parallelization of TCP connections
US6167450A (en) Data communications management system and protocol replacement method for mobile communication environments
CN101465856B (zh) 一种对用户进行访问控制的方法和系统
AU2001290633B2 (en) System and method for secure dual channel communication through a firewall
US20050229243A1 (en) Method and system for providing Web browsing through a firewall in a peer to peer network
JP2004355628A (ja) ネットワーク境界を横切るメディアストリームのリレーを制御する方法およびシステム
CN101069400A (zh) 隧道化传输IPv6分组
CN1493140A (zh) 允许数据传输穿越防火墙的方法和设备
US20030225889A1 (en) Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports
KR970700969A (ko) 상호 연결된 컴퓨터 네트워크를 위한 보안 시스템(security system for interconnected computer networks)
CN101019357A (zh) 翻译媒体访问控制地址
WO2023000940A1 (zh) 数据处理方法、装置、网元设备、存储介质及程序产品
CN1761929A (zh) 用于在具有sip功能的终端上提供多个客户支持的方法和设备
US7543072B1 (en) Method and system capable of performing a data stream over multiple TCP connections or concurrent interleave of multiple data streams over multiple TCP connections
CN1272724C (zh) 基于内核中套接字对接的第七层负载均衡的方法
CN1917512A (zh) 一种建立对等直连通道的方法
US20050066159A1 (en) Remote IPSec security association management
CN1758654A (zh) 客户终端建立直联隧道的方法及其通信方法以及服务器
CN1917436A (zh) 基于Web实现网络设备集群式管理的方法
CN1476208A (zh) 一种支持地址转换应用网关的方法
CN1529481A (zh) 网络处理器内部实现分布式应用层转换网关的方法
Bhagwat et al. MSOCKS+: an architecture for transport layer mobility

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090819

Termination date: 20180301