CN101179506B - 私网终端对公网终端进行检测的方法 - Google Patents

私网终端对公网终端进行检测的方法 Download PDF

Info

Publication number
CN101179506B
CN101179506B CN2007101938283A CN200710193828A CN101179506B CN 101179506 B CN101179506 B CN 101179506B CN 2007101938283 A CN2007101938283 A CN 2007101938283A CN 200710193828 A CN200710193828 A CN 200710193828A CN 101179506 B CN101179506 B CN 101179506B
Authority
CN
China
Prior art keywords
icmp echo
reply message
public network
echo reply
address
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
Application number
CN2007101938283A
Other languages
English (en)
Other versions
CN101179506A (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.)
ZTE Corp
Original Assignee
ZTE 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 ZTE Corp filed Critical ZTE Corp
Priority to CN2007101938283A priority Critical patent/CN101179506B/zh
Publication of CN101179506A publication Critical patent/CN101179506A/zh
Application granted granted Critical
Publication of CN101179506B publication Critical patent/CN101179506B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提出了一种私网终端对公网终端进行检测的方法,该方法包括以下步骤:步骤S102,路由器在接收到来自公网终端的ICMP回显应答报文之后,判断ICMP回显应答报文的标识符区域中的数值是否为预定数值;步骤S104,在标识符区域中的数值为预定数值的情况下,路由器对ICMP回显应答报文进行复制;步骤S106,路由器根据复制的ICMP回显应答报文中的公网IP地址和预定数值获取相应的源地址,并将所复制的ICMP回显应答报文发送到对应于源地址的私网终端;以及步骤S108,私网终端根据复制的ICMP回显应答报文对公网终端进行查验。

Description

私网终端对公网终端进行检测的方法
技术领域
本发明涉及通信领域,尤其涉及一种私网终端对公网终端进行检测的方法。
背景技术
网络地址转换(Net Address Translation,简称NAT)技术是一种地址映射技术,通常用于子域内具有私网IP地址的主机访问外部主机时将该主机的私网IP地址映射为一个外部唯一可识别的公网IP地址;同时,将外部主机返回给内部主机的公网IP地址映射回内部标志该主机的私网IP地址,使得返回的数据包正确到达内部目的主机。该技术使得不同私有网络可以使用相同的私网IP地址段而不会导致外部网络的地址信息出现混乱,从而扩展了IP地址的应用范围,在一定程度上缓解了当前Ipv4地址空间不足的问题。
NAT一般可分为三种类型:静态NAT、动态不可重用NAT、动态可重用NAT(端口地址翻译/网络端口地址翻译),端口地址翻译英文全称为Port Address Translation,简称PAT,网络端口地址翻译英文全称为Net Port Address Translation,简称NAPT。
(1)静态NAT:内部私网IP地址和外部公网IP地址的映射是静态一一对应的。如果结合端口来实现静态映射关系,就是端口重定向或静态PAT/NAPT。
(2)动态不可重用NAT:使用外部公网IP地址池技术,将一些公网IP地址存放到一个地址池中。在进行NAT转换时,从这个公网IP地址池中获取一个可用的公网IP地址进行转换。通信完毕之后,该公网IP地址也被释放回地址池中。在使用过程中,一个公网IP地址只能有一个映射关系。
(3)动态可重用NAT(PAT/NAPT)。与动态不可重用模式相比,通信的映射是通过IP地址和端口号的组合来完成的。
在规模较小的企业组网应用中,为了节约外部公用IP地址,可以将路由器接口IP地址配置到地址池中来实现)动态可重用NAT。为了不影响和路由器本身的通信,在这种应用模式中,端口的使用有一定的限制(包含一些知名用途的端口在内的数值较低的端口不能用于NAT转换过程中)。
检测(Ping)程序是一种常用的用于测试另一台主机是否可达的网络诊断工具。该程序发送一份ICMP回显请求报文给要测试是否存在的主机,并等待其返回ICMP回显应答报文。
在实现动态可重用NAT功能时,目前对ICMP报文的NAT转换是将因特网控制报文协议(Internet Control Message Protocol,简称ICMP)报文中的标识符(Identifier)类似于TCP/UDP报文的端口来处理的。当私网用户Ping某个外部公网IP地址时,在经过启用复用接口地址的动态可重用NAT功能的路由器后,ICMP回显请求报文中的标识符字段会被替换成一个新的值。在该路由器收到ICMP回显应答报文时,如果目的地址是路由器本地地址时,将无法判断出该报文是给路由器本身的,还是需要经过NAT处理后转发给私网用户的。目前的做法是将这样的报文作为路由器本地报文处理的。因此,在复用路由器接口地址的动态可重用NAT功能下,私网用户使用Ping程序检测外部公网IP地址是否可达时,是无法收到ICMP回显应答报文的,也就无法确定所要检测的地址是否可达。
发明内容
鉴于以上所述的一个或多个问题,本发明提出了一种私网终端对公网终端进行检测的方法,在以路由器接口的公网IP地址实现动态可重用NAT功能时,私网用户能够使用Ping功能来检测外部公网IP地址是否可达。
根据本发明的实施例的私网终端对公网终端进行检测的方法包括以下步骤:步骤S102,路由器在接收到来自公网终端的ICMP回显应答报文之后,判断ICMP回显应答报文的标识符区域中的数值是否为预定数值;步骤S104,在标识符区域中的数值为预定数值的情况下,路由器对ICMP回显应答报文进行复制;步骤S106,路由器根据复制的ICMP回显应答报文中的公网IP地址和预定数值获取相应的源地址,并将所复制的ICMP回显应答报文发送到对应于源地址的私网终端;以及步骤S108,私网终端根据复制的ICMP回显应答报文对公网终端进行查验。
其中,步骤S102之前还包括以下处理:私网终端将用于对公网终端进行查验的ICMP回显请求报文发送给路由器;路由器将ICMP回显请求报文中的源地址替换为对应于路由器的复用接口的公网IP地址,并将ICMP回显请求报文中的标识符替换为预定数值,并将替换后的ICMP回显请求报文发送给公网终端;以及公网终端在接收到替换后的ICMP回显请求报文之后,将相应的ICMP回显应答报文反馈给路由器。
其中,在路由器在对ICMP回显应答报文进行复制之后,将原来的ICMP回显应答报文作为本地报文进行处理。在路由器根据复制的ICMP回显应答报文中的公网IP地址和预定数值获取相应的源地址不成功的情况下,丢弃所复制的ICMP回显应答报文。在非复用接口接收到ICMP回显应答报文之后,将原来的ICMP回显应答报文作为本地报文进行处理。复用接口设置有复用标志,通过复用标志区分复用接口和非复用接口。预定范围为网络地址转换所允许的范围。
通过本发明,由于本发明所述的以路由器接口的公网IP地址实现动态可重用NAT时,私网用户能够Ping通外部公网IP地址的方法采用了复制一份ICMP应答报文的做法,解决了以复用路由器接口地址实现NAT功能时,不能使用Ping程序来检测私网到某个公网IP地址的是否可达的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明的私网终端对公网终端进行检测的方法的流程图;
图2为根据本发明的实施例的以路由器接口的公网IP地址实现动态可重用NAT时私网用户能够Ping通外部公网IP地址的方法的流程图;
图3是根据本发明的实施例的复用路由器接口地址实现NAT功能时,NAT出接口收到ICMP应答报文的处理的流程图;以及
图4是根据本发明的实施例的复用路由器接口地址实现NAT功能时,私网用户能Ping通外网IP地址的组网示意图。
具体实施方式
下面参考附图,详细说明本发明的具体实施方式。
图1是根据本发明的私网终端对公网终端进行检测的方法的流程图。如图1所示,该方法包括以下步骤:
步骤S102,路由器在接收到来自公网终端的ICMP回显应答报文之后,判断ICMP回显应答报文的标识符区域中的数值是否为预定数值。
步骤S104,在标识符区域中的数值为预定数值的情况下,路由器对ICMP回显应答报文进行复制。
步骤S106,路由器根据复制的ICMP回显应答报文中的公网IP地址和预定数值获取相应的源地址,并将所复制的ICMP回显应答报文发送到对应于源地址的私网终端。
步骤S108,私网终端根据复制的ICMP回显应答报文对公网终端进行查验。
其中,步骤S102之前还包括以下处理:
私网终端将用于对公网终端进行查验的ICMP回显请求报文发送给路由器。
路由器将ICMP回显请求报文中的源地址替换为对应于路由器的复用接口的公网IP地址,并将ICMP回显请求报文中的标识符替换为预定数值,并将替换后的ICMP回显请求报文发送给公网终端。
公网终端在接收到替换后的ICMP回显请求报文之后,将相应的ICMP回显应答报文反馈给路由器。
其中,在路由器在对ICMP回显应答报文进行复制之后,将原来的ICMP回显应答报文作为本地报文进行处理。在路由器根据复制的ICMP回显应答报文中的公网IP地址和预定数值获取相应的源地址不成功的情况下,丢弃所复制的ICMP回显应答报文。在非复用接口接收到ICMP回显应答报文之后,将原来的ICMP回显应答报文作为本地报文进行处理。复用接口设置有复用标志,通过复用标志区分复用接口和非复用接口。预定范围为网络地址转换所允许的范围。
在根据本发明的实施例中,提出了以路由器接口的公网IP地址实现动态可重用NAT时,私网用户(私网终端)能够Ping通外部公网IP地址(公网终端)的方法。在复用路由器接口的公网IP地址的情况下,由私网用户的Ping程序发出的ICMP回显请求报文在经过NAT处理后,其报文中的源地址会被替换为路由器接口的公网IP地址,标识符会被替换成NAT转换所允许范围内的一个数值。当路由器收到该ICMP回显请求报文所对应的ICMP回显应答报文时,如果该ICMP回显应答报文的目的地址就是路由器的接口地址时,接着判断该报文的标识符是否在NAT转换所允许的范围内。如果标识符的数值超出了NAT转换所允许的范围,则将该报文作为本地报文处理。如果标识符的数值在NAT转换所允许的范围内,则将该报文复制一份。原报文交给路由器作为本地报文处理;复制的报文进行NAT处理,NAT转换成功时,将转换后报文转发给私网内的机器,NAT转换失败时,直接丢弃复制的报文。
进一步地,根据本发明的实施例的以路由器接口的公网IP地址实现动态可重用NAT时,私网用户能够Ping通外部公网IP地址的方法,为了防止在没有配置复用接口地址的动态可重用NAT规则时,也对目的地址是路由器接口地址的ICMP报文进行复制,在处理中另外加一些限制。在配置复用接口地址的动态可重用NAT规则时,将该接口置上复用接口地址的标志,当该接口收到目的地址是本接口地址的ICMP应答报文时,判断本接口是否有复用接口地址的标志。有标志时,复制这个报文,分别交给本地和NAT模块处理;没有标志时,将报文作为本地报文处理。
图2为根据本发明的实施例的以路由器接口的公网IP地址实现动态可重用NAT时私网用户能够Ping通外部公网IP地址的方法的流程图。如图2所示,该方法主要包括以下步骤:
步骤S202,在配置复用接口地址的NAT规则时,在复用到其地址的接口上设置复用接口地址的标志。
步骤S204,在收到私网内ping程序所发出的ICMP回显请求报文时,以源IP地址和标识符产生一个新的NAT映射关系,然后对该报文进行相应的替换并转发出去。
步骤S206,当复用其地址的接口收到目的地址是本接口地址的ICMP应答报文时,首先判断其标识符是否在NAT规则所用端口的范围内。不在端口使用范围内的,将报文作为本地报文处理;否则执行步骤S208。
步骤S208,判断接口属性中是否有复用接口地址的标志。如果没有相应的标志,将该报文作为本地报文处理;如果有相应的标志,则执行步骤S210。
步骤S210,复制一份该ICMP应答报文,原报文交给本地处理,复制的报文交给NAT模块处理。
步骤S212,在NAT模块中,以复制的ICMP应答报文的目的地址和标识符查找NAT映射条目。找到映射条目时,按映射条目对报文中的目的地址和标识符进行替换,然后转发给私网内主机;未找到相应条目时,将该复制报文丢弃。
图3是根据本发明的实施例的复用路由器接口地址实现NAT功能时,NAT出接口收到ICMP应答报文的处理的流程图。如图3所示,NAT出接口收到ICMP应答报文的处理主要包括以下步骤:
步骤S302,路由器的NAT出接口判断出其收到的报文是目的地址为本接口地址的ICMP应答报文时,执行步骤S304。
步骤S304,判断ICMP应答报文中标识符的值是否在NAT规则所用端口的范围内。如果标识符的值在使用端口范围内,则执行步骤S306;否则将本ICMP应答报文作为本地报文处理(步骤S316)。
步骤S306,判断NAT出接口上是否有复用接口地址的标志。如果标志存在,则执行步骤S308;否则将本ICMP应答报文作为本地报文处理(步骤S316)。
步骤S308,复制一份该ICMP应答报文,原报文交给本地处理;复制的报文交给NAT模块处理。
步骤S310至步骤S314,在NAT模块中,对于复制的ICMP应答报文以其中的目的地址和标识符查找NAT映射条目。如果未找到相应的映射条目,则直接丢弃该报文。找到条目时,对复制的ICMP应答报文进行NAT转换并转发。
图4是根据本发明的实施例的复用路由器接口地址实现NAT功能时,私网用户能Ping通外网IP地址的组网示意图。
硬件部分由两台以上的主机、一台路由器R和双绞线若干等组成,组网关系图如图4所示。
软件部分的处理步骤如下:
步骤一,在路由器R上NAT规则。
a)启用NAT功能,并设置路由器接口的NAT属性
(1)启用NAT功能
ip nat start
(2)设置与私网相连的接口的IP地址和NAT属性
interface fei_1/1
ip address 192.168.1.1255.255.255.0
ip nat inside(注:NAT入接口)
(3)设置与公网相连的接口的IP地址和NAT属性
interface  fei_2/1
ip address 1.1.1.1 255.255.255.0
ip nat outside(注:NAT出接口)
b)配置复用接口地址的NAT规则所要用到的公网IP地址池ip nat pool pool1 1.1.1.1 1.1.1.1prefix-length 24
c)配置NAT规则所要用到的访问控制列表
ip access-list standard 1
permit 192.168.1.00.0.0.255
d)配置复用接口地址的NAT规则
ip nat inside source list 1 pool pool1 overload
步骤二,在私网内的主机上用Ping来检测IP地址为1.1.1.2的外网主机是否可达,Ping的输出结果表示IP地址1.1.1.2可达。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种私网终端对公网终端进行检测的方法,其特征在于,所述方法包括以下步骤:
私网终端将用于对公网终端进行查验的ICMP回显请求报文发送给路由器;
所述路由器将所述ICMP回显请求报文中的源地址替换为对应于所述路由器的复用接口的公网IP地址,并将所述ICMP回显请求报文中的标识符替换为NAT转换所允许的范围内的一个数值,并将替换后的ICMP回显请求报文发送给所述公网终端;
所述公网终端在接收到所述替换后的ICMP回显请求报文之后,将相应的ICMP回显应答报文反馈给所述路由器;
所述路由器在接收到来自所述公网终端的ICMP回显应答报文之后,判断所述ICMP回显应答报文的标识符区域中的数值是否在NAT转换所允许的范围内;
在所述标识符区域中的数值在NAT转换所允许的范围内的情况下,所述路由器对所述ICMP回显应答报文进行复制;
所述路由器根据复制的ICMP回显应答报文中的所述公网IP地址和所述标识符区域中的所述数值获取相应的源地址,并将所复制的ICMP回显应答报文发送到对应于所述源地址的所述私网终端;以及
所述私网终端根据所述复制的ICMP回显应答报文对所述公网终端进行查验。
2.根据权利要求1所述的方法,其特征在于,在所述路由器在对所述ICMP回显应答报文进行复制之后,将原来的ICMP回显应答报文作为本地报文进行处理。
3.根据权利要求1所述的方法,其特征在于,在所述路由器根据复制的ICMP回显应答报文中的所述公网IP地址和所述标识符区域中的所述数值获取相应的源地址不成功的情况下,丢弃所复制的ICMP回显应答报文。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在非复用接口接收到所述ICMP回显应答报文之后,将原来的ICMP回显应答报文作为本地报文进行处理。
5.根据权利要求4所述的方法,其特征在于,所述复用接口设置有复用标志,通过所述复用标志区分所述复用接口和所述非复用接口。
6.一种私网终端对公网终端进行检测过程中公网终端侧的处理方法,其特征在于,所述方法包括以下步骤:
路由器在接收到来自所述公网终端的ICMP回显应答报文之后,判断所述ICMP回显应答报文的标识符区域中的数值是否在NAT转换所允许的范围内;
在所述标识符区域中的数值在NAT转换所允许的范围内的情况下,所述路由器对所述ICMP回显应答报文进行复制;
所述路由器根据复制的ICMP回显应答报文中的公网IP地址和所述标识符区域中的所述数值获取相应的源地址,并将所复制的ICMP回显应答报文发送到对应于所述源地址的所述私网终端以使所述私网终端根据所述复制的ICMP回显应答报文对所述公网终端进行查验。
7.根据权利要求6所述的方法,其特征在于,在所述路由器在对所述ICMP回显应答报文进行复制之后,将原来的ICMP回显应答报文作为本地报文进行处理。
8.根据权利要求6所述的方法,其特征在于,在所述路由器根据复制的ICMP回显应答报文中的所述公网IP地址和所述标识符区域中的所述数值获取相应的源地址不成功的情况下,丢弃所复制的ICMP回显应答报文。
9.根据权利要求6至8中任一项所述的方法,其特征在于,在非复用接口接收到所述ICMP回显应答报文之后,将原来的ICMP回显应答报文作为本地报文进行处理。
10.根据权利要求9所述的方法,其特征在于,在复用接口处设置有复用标志,通过所述复用标志区分所述复用接口和所述非复用接口。
CN2007101938283A 2007-11-26 2007-11-26 私网终端对公网终端进行检测的方法 Expired - Fee Related CN101179506B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101938283A CN101179506B (zh) 2007-11-26 2007-11-26 私网终端对公网终端进行检测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101938283A CN101179506B (zh) 2007-11-26 2007-11-26 私网终端对公网终端进行检测的方法

Publications (2)

Publication Number Publication Date
CN101179506A CN101179506A (zh) 2008-05-14
CN101179506B true CN101179506B (zh) 2010-06-02

Family

ID=39405597

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101938283A Expired - Fee Related CN101179506B (zh) 2007-11-26 2007-11-26 私网终端对公网终端进行检测的方法

Country Status (1)

Country Link
CN (1) CN101179506B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105634857A (zh) * 2014-11-26 2016-06-01 中兴通讯股份有限公司 链路连通性检测方法及装置
CN108075933B (zh) * 2016-11-11 2020-10-13 北京金山云网络技术有限公司 一种网络互通性测试方法及装置
CN108617014A (zh) * 2017-01-23 2018-10-02 中国移动通信有限公司研究院 一种业务承载建立方法和网络设备
CN107071079B (zh) * 2017-03-07 2020-10-20 上海斐讯数据通信技术有限公司 一种私网终端获取公网ip的方法及系统
CN108768849B (zh) * 2018-06-20 2020-09-08 新华三技术有限公司 报文处理方法及装置
CN111478821B (zh) * 2019-01-24 2022-02-22 中国信息通信研究院 一种网络性能测试方法和系统
CN112995179B (zh) * 2021-02-25 2022-08-26 杭州迪普信息技术有限公司 一种应答报文处理方法及设备
CN114629816B (zh) * 2022-03-14 2023-11-03 京东科技信息技术有限公司 公网ip网络状态探测方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691664A (zh) * 2004-04-21 2005-11-02 华为技术有限公司 Nat-pt网关中pat模式下icmp差错报文的转换方法
CN1992675A (zh) * 2005-12-31 2007-07-04 中兴通讯股份有限公司 一种保证网络地址转换设备与外网互通的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691664A (zh) * 2004-04-21 2005-11-02 华为技术有限公司 Nat-pt网关中pat模式下icmp差错报文的转换方法
CN1992675A (zh) * 2005-12-31 2007-07-04 中兴通讯股份有限公司 一种保证网络地址转换设备与外网互通的方法

Also Published As

Publication number Publication date
CN101179506A (zh) 2008-05-14

Similar Documents

Publication Publication Date Title
CN101179506B (zh) 私网终端对公网终端进行检测的方法
CN101674306B (zh) 地址解析协议报文处理方法及交换机
JP5335886B2 (ja) ローカル・ネットワーク間でデータ・パケットを通信するための方法および装置
JP2004179812A (ja) アドレス変換装置およびアドレス変換規則管理方式
CN111416865B (zh) 一种基于拟态防御的协议代理处理方法及系统
Kunishi et al. LIN6: A new approach to mobility support in IPv6
CN102148765B (zh) 一体化标识网络与传统IPv4互联网互联互通的实现方法
CN100388725C (zh) 一种刷新硬件表项的方法
US8804729B1 (en) IPv4, IPv6, and ARP spoofing protection method
CN101753637A (zh) 防止网络攻击的方法及网络地址转换设备
CN104753793B (zh) 在无状态IPv6配置下有状态管理接入终端的方法
CN101087211A (zh) 一种实现bfd机制中回声功能的方法及系统及功能实体
CN102685262B (zh) 一种探测网络地址转换信息的方法、装置及系统
US20150030027A1 (en) Switch Device With Device-Specified Bridge Domains
CN104270325A (zh) CPE设备基于Linux实现公网接入用户数限制的系统及方法
CN107071079A (zh) 一种私网终端获取公网ip的方法及系统
CN105991391A (zh) 一种协议报文上送cpu的方法和装置
CN101159693B (zh) 复用路由器接口地址的静态pat支持任意端口的方法
CN101888370A (zh) 防止IPv6地址被欺骗性攻击的装置与方法
CN103516820B (zh) 基于mac地址的端口映射方法和装置
CN103607350A (zh) 一种路由生成方法及装置
CN113422846B (zh) 一种基于网络地址转换协议的业务报文处理方法及设备
CN107800581A (zh) 一种二层网络及二层网络的环回检测方法
CN109194665A (zh) 一种报文查找键值的生成方法及装置
CN111262713B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602

Termination date: 20161126