CN100359893C - 以主机代理方式实现地址转换应用网关的方法 - Google Patents
以主机代理方式实现地址转换应用网关的方法 Download PDFInfo
- Publication number
- CN100359893C CN100359893C CNB031559697A CN03155969A CN100359893C CN 100359893 C CN100359893 C CN 100359893C CN B031559697 A CNB031559697 A CN B031559697A CN 03155969 A CN03155969 A CN 03155969A CN 100359893 C CN100359893 C CN 100359893C
- Authority
- CN
- China
- Prior art keywords
- address
- application protocol
- main frame
- message
- router
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种用主机代理方式实现应用协议地址转换应用网关的方法,包括如下步骤:由能够对特定的应用协议报文进行处理的内部网主机向地址转换路由器注册应用协议;地址转换路由器将与已注册协议匹配的应用协议报文的有效负载转发给内部网主机,并根据内部网主机的请求对该应用协议报文的地址进行转换;内部网主机根据地址转换结果,对应用协议报文有效负载中的地址进行相应修改,将应用协议报文的有效负载发回地址转换路由器;地址转换路由器根据内部网主机返回的应用协议报文的有效负载对该报文首部进行相应调整,然后转发该报文。本发明解决了现有网络地址转换路由器不能很好地支持各种地址转换应用网关的问题,使现有网络地址转换技术的功能更加丰富和完善。
Description
发明领域
本发明涉及网络地址转换(NAT)技术,特别涉及以主机代理的方式来实现地址转换的应用网关以进行网络地址转换的方法。
背景技术
网络地址转换(NAT)是一种有效解决Internet(因特网)地址短缺的方案。NAT对报文中地址和端口号等信息进行处理,从而达到一个IP地址供多个用户使用的目的。在完成私有网到公网的透明中继的同时,NAT还具有给内部网络提供“隐私”保护,为外部网络提供一定的服务以及内部服务器负载分担等功能。
但NAT功能的使用会导致许多对NAT敏感的应用协议无法正常工作。所谓对NAT敏感的协议是指这样的一类协议,该协议的某些报文(通常是控制报文)的有效负载中携带有IP地址和(或)端口号,如果不按照地址转换规则对这些IP地址和端口号进行转换处理,将会严重影响后继协议交互。必须针对每一个这样的协议进行特殊的处理。这些协议例如包括FTP(文件传输协议)、SNMP(简单网络管理协议)、DNS(域名服务)、SIP(会话启动协议)、H.323、RTSP(实时流协议)等。需要NAT提供这些特殊协议的地址转换应用网关(ALG)。
图1显示了现有技术的NAT方案。在图1所示的方案中,是在路由器中包含了NAT模块和NAT ALG模块。NAT ALG模块依赖于NAT模块,两者紧密结合,共同组成一个功能模块,嵌在IP层的发送报文的位置和接收报文的位置。NAT模块对IP层数据包进行处理,根据特殊协议的类型,由NAT模块调用NAT ALG模块相应的特殊协议报文处理过程。NAT模块处理完成之后立刻交给IP层继续转发。
但是,对某些NAT敏感的私有协议,由于其协议内容不公开,很难在路由器上实现该协议的地址转换应用网关。另外,也不可能对每种对NAT敏感的私有协议都在路由器上实现其地址转换应用网关。
发明内容
针对现有技术所存在的上述缺陷,同时为适应当前网络业务的日趋多样化以及客户私有协议的特殊性,维护路由器软件的稳定性,本发明的目的就是提供一种用主机代理方式实现应用协议的地址转换(以下简称代理NAT)的方法。该方法采取客户端/服务器(C/S)的模式,使用内部网主机代替地址转换路由器而作为地址转换应用网关,提供对应用协议的特殊处理服务。路由器和地址转换服务器之间通过请求/应答方式实现对特殊协议的NAT支持功能,从而实现对特殊协议的地址转换应用网关功能。
本发明的用主机代理方式实现应用协议的地址转换应用网关的方法包括如下步骤:1)由能够对特定协议的应用协议报文进行处理的内部网主机向地址转换路由器注册应用协议;2)所述地址转换路由器将与已注册协议匹配的应用协议报文的有效负载转发给内部网主机,并根据内部网主机的请求对该应用协议报文有效负载中的地址进行转换,将转换结果发送给所述内部网主机;3)所述内部网主机根据所述地址转换路由器对该应用协议报文的地址转换结果,对所述应用协议报文有效负载中的地址进行相应的修改,并将所述应用协议报文的有效负载发回所述地址转换路由器;4)所述地址转换路由器根据所述内部网主机返回的应用协议报文的有效负载对该报文的首部进行相应调整,然后转发该报文。所述地址包括IP地址和端口号。所述特定协议可以是例如FTP、SNMP、DNS、SIP、H.323、RTSP等。
在本发明的一实施方案中,上述步骤1)包括:1-1)所述内部网主机向地址转换路由器发送所述应用协议的注册请求;1-2)在注册成功后,所述地址转换路由器将注册应答消息发送给内部网主机。
在上述方法中,所述内部网主机发送所述应用协议的注册请求的内容包括:通知所述地址转换路由器对该协议的地址转换需经所述内部网主机进行特殊处理;和通知所述地址转换路由器该应用协议报文的特征标识。在一个实施例中,可以通过包括协议的传输协议类型以及所用端口等信息来实现对所述地址转换路由器的通知。上述注册是通过用户API接口完成的。
在本发明的一实施方案中,上述步骤2)包括:2-1)所述地址转换路由器将与已注册协议相匹配的应用协议报文的有效负载发送给内部网主机;2-2)所述内部网主机对所述应用协议报文的有效负载进行解析,提取有效负载中的地址信息,并向所述地址转换路由器发起地址转换请求;2-3)所述地址转换路由器对所述应用协议报文的有效负载中的地址执行地址转换,并将转换结果返回给所述内部网主机。
本发明的方法可以取得如下的有益效果:
(1)提供开放的用户API编程接口,具有良好的可扩充性,便于用户实现其私有协议的地址转换功能支持,从而使现有NAT的功能更加丰富和完善。
(2)应用协议的特殊处理只在内部网主机端完成,无须修改路由平台。而且软件开发周期短、代价低且易于维护。
(3)对于一些应急需求,可先采用代理NAT的方式实现,有助于路由器软件版本的稳定,从而避免路由器软件频繁升级,另一方面也便于快速地推出新业务。
附图说明
图1是说明现有技术的在路由器上实现NAT方案的示意图;
图2显示了根据本发明一实施方案的采用内部网主机实现代理NAT的方案示意图;
图3显示了根据本发明一实施方案的代理NAT的结构划分;
图4显示了根据本发明一实施方案的应用协议的注册过程;
图5显示了根据本发明一实施方案的应用协议的处理过程。
具体实施方式
下面结合图2-5说明本发明的优选实施方案。
如图2所示,内部网(例如具有以太网结构的局域网)通过网络地址转换路由器(以下简称NAT路由器)与外部网络(广域网)连接。本发明的方案就是将需要进行特殊处理的应用协议报文转发到能够处理该报文的内部网主机中进行处理。该内部网主机可以称作应用网关服务器(ALG Server)。地址转换路由器与应用网关服务器之间的正常通信通过双方间的通信协议来实现。路由器为应用网关服务器提供足够的信息以保证其能够对接收到的特殊协议报文进行正确的处理。同时,还为用户(即私有协议的制定者)提供编程接口,使用户能够自行开发应用网关服务器的软件。这样就允许私有协议的制定者在不需要公开其私有协议的情况下,也能成功穿越NAT路由器。
图3显示了根据本发明一实施方案的采用内部网主机实现代理NAT的方案示意图。代理NAT在逻辑结构上主要可分为NAT Agent(NAT代理)、通信协议规程、用户编程接口。NAT Agent是ALG Server即应用网关服务器与路由器NAT模块的接口,是应用协议报文的转发代理。通信协议规程用于定义代理NAT的协议交互过程及协议报文格式等内容。用户编程接口(API)用于提供应用协议的注册功能。
如图3所示,应用网关服务器与路由器之间利用UDP(用户数据报协议)来传递报文。在应用网关服务器与路由器中分别设置有协议解释器,其中设置有定义代理NAT的协议交互过程及协议报文格式等内容的协议规程。来自路由器的IP报文有效负载通过NAT Agent后经应用网关服务器与路由器的协议解释器进行协议的匹配,再经应用网关服务器的用户API接口传送至应用协议处理单元。应用网关服务器的应用协议处理单元负责对所传送来的IP报文有效负载进行解析,对其中的地址信息进行NAT转换,然后按照上述路径的相反方向将IP报文有效负载传送至路由器。
下面结合图4和图5说明本发明一实施方案的用主机代理方式实现应用协议的地址转换应用网关的方法的具体过程。该方法主要包括应用协议注册过程和应用协议的处理过程。
1.应用协议注册过程
图4显示了根据本发明一实施方案的应用协议的注册过程。应用网关服务器调用其用户API接口将应用协议(例如OICQ-一种网上聊天的工具软件)注册到NAT路由器,通知NAT路由器对该协议的地址转换需经应用网关服务器进行特殊处理,并告知NAT路由器应用协议报文的特征标识。可以通过包括协议的传输协议类型(TCP(传输控制协议)或UDP)以及所用端口等信息来告知NAT路由器。NAT路由器据此进行报文的协议识别与转发。在注册成功后,NAT路由器将注册应答消息发送给应用网关服务器。
2.应用协议处理过程
图5显示了根据本发明一实施方案的应用协议的处理过程。如图5所示,应用协议处理过程包括如下步骤:
<1>NAT路由器将与已注册协议相匹配的应用协议报文的发送给应用网关服务器。可以将应用协议报文全部发给应用网关服务器,但优选是只将应用协议报文的有效负载发送给应用网关服务器。
<2>应用网关服务器对该应用协议报文的有效负载进行解析,提取有效负载中的地址信息,并向NAT路由器发起地址转换请求。
<3>NAT路由器对该应用协议报文有效负载所带的地址(包括IP地址和端口号)进行地址转换,将转换结果返回给应用网关服务器。
<4>应用网关服务器将该应用协议报文的有效负载中所包含的地址替换为转换后的地址,最后将处理过的报文有效负载回送NAT路由器。NAT路由器根据应用网关服务器传送来的报文有效负载,对该报文首部字段中的校验和、sequence(TCP序列号)、以及长度字段进行相应的调整,然后发送该应用协议报文。
以上对本发明各种实施方案的描述只是为了使本领域技术人员更好地理解本发明的实质,而非对本发明加以限定。因此,不偏离本发明思想的对本发明技术方案的各种改型将落入本发明权利要求所限定的范围内。
Claims (9)
1.用主机代理方式实现应用协议的地址转换应用网关的方法,其特征在于,包括如下步骤:
1)由能够对特定应用协议报文进行处理的内部网主机向地址转换路由器注册应用协议;
2)所述地址转换路由器将与已注册协议匹配的应用协议报文的有效负载转发给内部网主机,并根据内部网主机的请求对该应用协议报文有效负载中的地址进行转换,将转换结果发送给所述内部网主机;
3)所述内部网主机根据所述地址转换路由器的所述转换结果,对所述应用协议报文有效负载中的地址进行相应的修改,并将所述应用协议报文的有效负载发回所述地址转换路由器;
4)所述地址转换路由器根据所述内部网主机返回的应用协议报文的有效负载对该报文的首部进行相应调整,然后转发该报文。
2.根据权利要求1所述的方法,其特征在于,所述步骤1)包括:
1-1)所述内部网主机向地址转换路由器发送所述应用协议的注册请求;
1-2)在注册成功后,所述地址转换路由器将注册应答消息发送给内部网主机。
3.根据权利要求2所述的方法,其特征在于,所述内部网主机发送所述应用协议的注册请求的内容包括:通知所述地址转换路由器对该协议的地址转换需经所述内部网主机进行特殊处理;和通知所述地址转换路由器该应用协议报文的特征标识。
4.根据权利要求3所述的方法,其特征在于,通过包括协议的传输协议类型以及所用端口信息来实现对所述地址转换路由器的通知。
5.根据权利要求2所述的方法,其特征在于,所述注册是通过用户API接口完成的。
6.根据权利要求1所述的方法,其特征在于,所述步骤4)中对报文首部进行的调整包括根据报文的有效负载的改变相应地调整报文首部的校验和,TCP序列号以及长度。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述步骤2)包括:
2-1)所述地址转换路由器将与已注册协议相匹配的应用协议报文的有效负载发送给所述内部网主机;
2-2)所述内部网主机对所述应用协议报文的有效负载进行解析,提取有效负载中的地址信息,并向所述地址转换路由器发送地址转换请求;
2-3)所述地址转换路由器对所述应用协议报文的有效负载中的地址执行地址转换,并将转换结果返回给所述内部网主机。
8.根据权利要求7所述的方法,其特征在于,所述地址包括IP地址和端口号。
9.根据权利要求7所述的方法,其特征在于,所述特定协议为FTP、SNMP、DNS、SIP、H.323或RTSP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031559697A CN100359893C (zh) | 2003-08-28 | 2003-08-28 | 以主机代理方式实现地址转换应用网关的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031559697A CN100359893C (zh) | 2003-08-28 | 2003-08-28 | 以主机代理方式实现地址转换应用网关的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1592278A CN1592278A (zh) | 2005-03-09 |
CN100359893C true CN100359893C (zh) | 2008-01-02 |
Family
ID=34598264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031559697A Expired - Fee Related CN100359893C (zh) | 2003-08-28 | 2003-08-28 | 以主机代理方式实现地址转换应用网关的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100359893C (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100531158C (zh) * | 2006-06-29 | 2009-08-19 | 华为技术有限公司 | 一种无线接入网关支持透明代理的系统及方法 |
CN101141420B (zh) * | 2007-09-05 | 2012-07-11 | 杭州华三通信技术有限公司 | 私网与公网进行数据通信的方法及系统 |
CN102124700B (zh) | 2008-06-18 | 2014-04-09 | 爱默生过程管理电力和水力解决方案有限公司 | 用于通过区别网络进行无线过程通信的系统和方法 |
CN101977407B (zh) * | 2010-10-20 | 2014-09-10 | 中兴通讯股份有限公司 | 无线网络的接入网关实现方法及路由器 |
CN105939396A (zh) * | 2015-06-17 | 2016-09-14 | 杭州迪普科技有限公司 | 一种报文修改方法及装置 |
CN105450515B (zh) * | 2015-11-12 | 2018-06-12 | 清华大学 | 一种针对应用层协议的IPv4/IPv6数据翻译网关及方法 |
WO2018107387A1 (zh) * | 2016-12-14 | 2018-06-21 | 深圳前海达闼云端智能科技有限公司 | 数据传输方法、装置、系统、电子设备及计算机程序产品 |
CN108810012B (zh) * | 2018-07-02 | 2020-11-10 | 北京明朝万达科技股份有限公司 | 基于sip协议的通信方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030002496A1 (en) * | 2001-06-27 | 2003-01-02 | Niels Beier | Method enabling network address translation of incoming session initiation protocol connections based on dynamic host configuration protocol address assignments |
CN1404270A (zh) * | 2001-08-21 | 2003-03-19 | 株式会社日立制作所 | 信息设备、网关设备及其控制方法 |
CN1408088A (zh) * | 2000-03-03 | 2003-04-02 | 能联有限公司 | 用于使用本地ip地址和不可转换端口地址的局域网的网址转换网关 |
EP1307029A2 (en) * | 2001-10-24 | 2003-05-02 | Fujitsu Limited | Address conversion scheme for communications between different address systems |
US20030088702A1 (en) * | 2001-10-24 | 2003-05-08 | Fujitsu Limited | Address conversion scheme for communications between different address systems |
CN1435981A (zh) * | 2002-01-29 | 2003-08-13 | 三星电子株式会社 | 用于转换因特网协议地址的装置和使用它的家庭网络系统 |
-
2003
- 2003-08-28 CN CNB031559697A patent/CN100359893C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1408088A (zh) * | 2000-03-03 | 2003-04-02 | 能联有限公司 | 用于使用本地ip地址和不可转换端口地址的局域网的网址转换网关 |
US20030002496A1 (en) * | 2001-06-27 | 2003-01-02 | Niels Beier | Method enabling network address translation of incoming session initiation protocol connections based on dynamic host configuration protocol address assignments |
CN1404270A (zh) * | 2001-08-21 | 2003-03-19 | 株式会社日立制作所 | 信息设备、网关设备及其控制方法 |
EP1307029A2 (en) * | 2001-10-24 | 2003-05-02 | Fujitsu Limited | Address conversion scheme for communications between different address systems |
US20030088702A1 (en) * | 2001-10-24 | 2003-05-08 | Fujitsu Limited | Address conversion scheme for communications between different address systems |
CN1435981A (zh) * | 2002-01-29 | 2003-08-13 | 三星电子株式会社 | 用于转换因特网协议地址的装置和使用它的家庭网络系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1592278A (zh) | 2005-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8447871B1 (en) | Simplified method for processing multiple connections from the same client | |
US8788665B2 (en) | Method and system for optimizing a network by independently scaling control segments and data flow | |
JP3760767B2 (ja) | ネットワーク管理装置及びネットワーク管理方法 | |
US8072966B2 (en) | Method and system of partitioning a signaling protocol | |
CN104734963B (zh) | 一种基于SDN的IPv4和IPv6网络互连方法 | |
WO2021073565A1 (zh) | 业务服务提供方法及系统 | |
US20040153858A1 (en) | Direct peer-to-peer transmission protocol between two virtual networks | |
CN100550763C (zh) | 网络设备的管理方法及网络管理系统 | |
CN102281180A (zh) | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 | |
CN102857968A (zh) | 基于IPv6的物联网终端与互联网主机的通信方法 | |
JP5506932B2 (ja) | 新たなネットワークとインターネットとの相互通信の実現方法、システム及び通信端 | |
CN100359893C (zh) | 以主机代理方式实现地址转换应用网关的方法 | |
CN108200199B (zh) | IPV4 over IPV6隧道场景中的负载均衡系统及方法 | |
US20100131631A1 (en) | Method for management of a secured transfer session through an address translation device, corresponding server and computer program | |
WO2023186109A1 (zh) | 节点访问方法以及数据传输系统 | |
CN101621528B (zh) | 基于以太交换机集群管理的会话系统及会话通道实现方法 | |
JP6096464B2 (ja) | プロキシ装置及び中継装置 | |
JP3614006B2 (ja) | 非対称経路利用通信システム、および、非対称経路利用通信方法 | |
JP2003069615A (ja) | 通信制御装置および通信制御方法 | |
Serdaroglu et al. | Seamless interconnection of wsn and internet | |
JP2006025457A (ja) | ネットワーク管理システム | |
US20090141693A1 (en) | Technique for Achieving Connectivity between Telecommunication Stations | |
WO2024140314A1 (zh) | 服务感知网络用户引流、流量工程实现方法及装置 | |
JP2005198278A (ja) | パッシブネットワークとアクティブネットワークの結合のためのゲートウェイ | |
CN102065028A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080102 Termination date: 20150828 |
|
EXPY | Termination of patent right or utility model |