一种探测网络地址转换信息的方法、装置及系统的制作方法

文档序号:7893772阅读:116来源:国知局
专利名称:一种探测网络地址转换信息的方法、装置及系统的制作方法
技术领域
本发明涉及数据通信领域,尤其涉及的是一种探测网络地址转换信息的方法、装置及系统。
背景技术
目前,随着网络业务的快速发展,客户对业务的质量提出了越来越高的要求。NAT (Network Address Translation,网络地址转换)业务是目前解决IPv4地址缺乏的一种基本业务。完善它的功能,可以有效地平滑过渡到IPv6阶段。NAT技术,在IPv4地址快耗尽的今天,催生了很多的RFC草案。主要集中在IPv4过渡到IPv6过程中的各种对策,如NAT44、Dual-stack lite、NAT64、NAT46。NAT技术转换网络地址,无论是IPv4到IPv4转换,还是IPv4和IPv6互转,NAT设备都会保存有转换前 后的转换信息(比如,网络地址信息),这些信息保存在NAT转换条目中。在网络中加入NAT设备使原本直通的网络分为2个网络,一个内网,一个外网,两个网络在NAT设备两侧,互相看不到对方。其中,与NAT设备的内部接口相连的网络是内网,与NAT设备的外部接口相连的网络是外网。比如,私网主机和公网主机相互通信时,私网主机经过NAT设备后,在公网域中它有个经过NAT设备转换后的网络地址表示它,公网主机只知道这个转换后的网络地址,而不知道私网主机在私网中的网络地址(转换前的网络地址)是多少。再比如,私网内的用户要发布web网站,就需要知道自身通过NAT转换后映射在公网域中的网络地址是多少。综上,为了使利用NAT技术后的网络通信更加透明,需要一种探测NAT信息的方法,使NAT设备两侧的通信终端能够了解NAT转换细节。

发明内容
本发明所要解决的技术问题是提供一种探测网络地址转换信息的方法、装置及系统,使NAT设备两侧的通信终端能够了解NAT转换细节。为了解决上述技术问题,本发明提供了一种探测NAT信息的方法,应用于网络地址转换NAT设备上,该方法包括A)接收探测请求报文,提取所述探测请求报文携带的查询条件;B)根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向发送探测请求报文的发送节点返回携带查询结果的探测响应报文。进一步地,所述查询条件包括NAT转换前的网络地址,步骤B)中,所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。进一步地,步骤B)中,如本NAT设备不是所述探测请求报文的目的节点,向发送探测请求报文的发送节点返回携带查询结果的探测响应报文后,还包括用NAT转换后的网络地址替换所述探测请求报文中携带的NAT转换前的网络地址,向所述目的节点转发更新后的探测请求报文。
进一步地,步骤B)中,所述探测请求报文中还包括探测序号,所述更新后的探测请求报文中的探测序号等于所述接收到的探测请求报文中的探测序号加1,所述查询结果还包括所述接收到的探测请求报文中的探测序号。进一步地,所述查询条件还包括时间戳信息;步骤B)中,当所述查询条件包括时间戳信息时,查找NAT转换条目时,查找符合所述时间戳信息的NAT转换条目。进一步地,所述探测请求报文和所述探测响应报文为网际控制信息协议ICMP报文;或者,所述探测请求报文和所述探测响应报文为端口控制协议PCP报文。为了解决上述技术问题,本发明还提供了一种探测NAT信息的方法,应用于包含终端设备和网络地址转换NAT设备的网络系统中,该方法包括A)终端设备发送携带查询条件的探测请求报文;
述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向所述终端设备返回携带查询结果的探测响应报文。C)所述终端设备接收NAT设备返回的携带查询结果的探测响应报文。进一步地,步骤A)中,所述查询条件包括NAT转换前的网络地址;步骤B)中,所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。进一步地,步骤B)中,如本NAT设备不是所述探测请求报文的目的节点,向发送探测请求报文的终端设备返回携带查询结果的探测响应报文后,还包括用NAT转换后的网络地址替换所述探测请求报文中携带的NAT转换前的网络地址,向所述目的节点转发更新后的探测请求报文。为了解决上述技术问题,本发明还提供了一种探测NAT信息的装置,应用于网络地址转换NAT设备上,该装置包括接收模块,用于接收探测请求报文,提取所述探测请求报文携带的查询条件,启动响应模块;响应模块,用于根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向发送探测请求报文的发送节点返回携带查询结果的探测响应报文。进一步地,所述查询条件包括NAT转换前的网络地址;所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。进一步地,所述响应模块,用于如本NAT设备不是所述探测请求报文的目的节点,向发送探测请求报文的发送节点返回携带查询结果的探测响应报文后,还包括用NAT转换后的网络地址替换所述探测请求报文中携带的NAT转换前的网络地址,向所述目的节点转发更新后的探测请求报文。进一步地,所述响应模块,用于当所述探测请求报文中还包括探测序号时,所述更新后的探测请求报文中的探测序号等于所述接收到的探测请求报文中的探测序号加1,所述查询结果还包括所述接收到的探测请求报文中的探测序号。为了解决上述技术问题,本发明还提供了一种探测NAT信息的系统,应用于包含终端设备和网络地址转换NAT设备的网络系统中,该探测NAT信息的系统包括终端发送模块,用于终端设备发送携带查询条件的探测请求报文;
NAT接收模块,用于NAT设备接收探测请求报文,提取所述探测请求报文携带的查询条件;根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向所述终端设备返回携带查询结果的探测响应报文。终端接收模块,用于所述终端设备接收NAT设备返回的携带查询结果的探测响应报文。进一步地,所述查询条件包括NAT转换前的网络地址;所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。与现有技术相比,本发明提供的一种探测网络地址转换信息的方法、装置及系统,通过终端设备发送携带查询条件的探测请求报文,NAT设备查找NAT转换条目后向终端设备返回携带查询结果的探测响应报文,使NAT设备两侧的通信终端能够了解NAT转换信息,增强了 NAT业务的透明度。


图I为本发明实施例的一种探测网络地址转换信息的方法(应用于NAT设备上)的流程图。图2为本发明实施例的一种探测网络地址转换信息的方法(应用于终端设备上)的流程图。图3为本发明实施例的一种探测网络地址转换信息的方法(应用于网络系统)的流程图。图4为本发明应用示例(由内网中的终端设备发起探测请求)中的消息交互示意图。图5为本发明应用示例(由外网中的终端设备发起探测请求)中的消息交互示意图。图6为本发明实施例的一种探测网络地址转换信息的装置(应用于NAT设备上)的结构示意图。图7为本发明实施例的一种探测网络地址转换信息的装置(应用于终端设备上)的结构示意图。图8为本发明实施例的一种探测网络地址转换信息的系统(应用于网络系统)的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。如图I所示,本发明实施例提供了一种探测NAT信息的方法,应用于网络地址转换NAT设备上,该方法包括S10,接收探测请求报文,提取所述探测请求报文携带的查询条件;其中,所述查询条件包括NAT转换前的网络地址;当所述探测请求报文的传输方向为从内网发往外网时,所述NAT转换前的网络地址为内网地址;当所述探测请求报文的传输方向为从外网发往内网时,所述NAT转换前的网络地址为外网地址。其中,根据NAT设备的映射方式不同,NAT转换前的网络地址可以是以下地址信息的任意一种a) IP地址信息,b) IP地址信息和端口信息;比如,当所述探测请求报文的传输方向为从内网发往外网时,IP地址信息+端口信息的一个示例为IP(192. 168. 0. 100) +端口号(101)其中,所述查询条件还包括时间戳信息;所述时间戳信息用于指示NAT设备查找符合所述时间戳信息的NAT转换条目。其中,所述查询条件还包括协议类型;所述协议类型用于指示NAT设备查找符合所述协议类型的NAT转换条目;其中,所述协议类型包括传输控制协议TCP类型、用户数据包协议M)P类型或网际控制信息协议ICMP类型。优选地,所述探测请求报文为网际控制信息协议(Internet Control MessageProtocol, ICMP)报文或者端口控制协议(Port Control Protocol, PCP)报文。 S20,根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向发送探测请求报文的发送节点返回携带查询结果的探测响应报文。其中,所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。当所述探测请求报文的传输方向为从内网发往外网时,所述NAT转换前的网络地址为内网地址,所述NAT转换后的网络地址为外网地址;当所述探测请求报文的传输方向为从外网发往内网时,所述NAT转换前的网络地址为外网地址,所述NAT转换后的网络地址为内网地址。其中,所述查询结果还可以包括其他NAT转换信息,比如,NAT设备的网络地址映射方式(静态映射、动态映射)等。优选地,如本NAT设备不是所述探测请求报文的目的节点,向发送探测请求报文的发送节点返回携带查询结果的探测响应报文后,还包括用NAT转换后的网络地址替换所述探测请求报文中携带的NAT转换前的网络地址,向所述目的节点转发更新后的探测请求报文;因此,采用本实施例的方法后,当NAT设备采用了两级或两级以上的NAT设备级联时,每一级NAT设备都可以收到探测请求报文,从而返回本设备的NAT转换信息。优选地,当查询条件中还包括探测序号时,所述更新后的探测请求报文中的探测序号等于所述接收到的探测请求报文中的探测序号加1,所述查询结果还包括所述接收到的探测请求报文中的探测序号。因此,采用探测序号能够直观地反映每一个NAT设备在级联结构中的位置关系。其中,当查询条件中还包括时间戳信息时,则查找符合所述时间戳信息的NAT转换条目。具体地,将NAT转换条目的生存时间与所述时间戳的时间进行匹配,比如,如果当前NAT转换条目的创建时间在这个时间戳之前,则当前NAT转换条目即为匹配项,否则还需查找NAT转换条目的日志,看日志中记录的条目的创建时间和删除时间之间的时间段是不是包括这个时间戳时间,如果包括,则日志中的NAT转换条目为匹配项。其中,当查询条件中还包括协议类型时,则查找符合所述协议类型的NAT转换条目。其中,所述探测请求报文和所述探测响应报文为网际控制信息协议ICMP报文;或者,所述探测请求报文和所述探测响应报文为端口控制协议PCP报文。
如图2所示,本发明实施例提供了一种探测NAT信息的方法,应用于终端设备上,该方法包括S10,发送携带查询条件的探测请求报文;其中,所述查询条件包括NAT转换前的网络地址;其中,所述查询条件还包括以下信息的一种或多种探测序号、时间戳信息和协议类型;其中,所述探测序号用于指示NAT设备返回自身在NAT设备级联结构中的位置信息;所述时间戳信息用于指示NAT设备查找符合所述时间戳信息的NAT转换条目;所述协议类型用于指示NAT设备查找符合所述协议类型的NAT转换条目;其中,所述协议类型包括传输控制协议TCP类型、用户数据包协议UDP类型或网际控制信息协议ICMP类型。S20,接收NAT设备返回的携带查询结果的探测响应报文。其中,所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。其中,终端设备接收到所述探测响应报文后,还保存查询结果;优选地,终端设备还将所述查询结果显示给用户。如图3所示,本发明实施例提供了一种探测NAT信息的方法,应用于包含终端设备和网络地址转换NAT设备的网络系统中,该方法包括S10,终端设备发送携带查询条件的探测请求报文;其中,所述查询条件包括NAT转换前的网络地址;其中,所述查询条件还包括以下信息的一种或多种探测序号、时间戳信息和协议类型;其中,所述探测序号用于指示NAT设备返回自身在NAT设备级联结构中的位置信息;所述时间戳信息用于指示NAT设备查找符合所述时间戳信息的NAT转换条目;所述协议类型用于指示NAT设备查找符合所述协议类型的NAT转换条目;其中,所述协议类型包括传输控制协议TCP类型、用户数据包协议UDP类型或网际控制信息协议ICMP类型。S20, NAT设备接收探测请求报文,提取所述探测请求报文携带的查询条件;根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向所述终端设备返回携带查询结果的探测响应报文。其中,所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。优选地,如本NAT设备不是所述探测请求报文的目的节点,向发送探测请求报文的发送节点返回携带查询结果的探测响应报文后,还包括用NAT转换后的网络地址替换所述探测请求报文中携带的NAT转换前的网络地址,向所述目的节点转发更新后的探测请求报文。优选地,当查询条件中还包括探测序号时,所述更新后的探测请求报文中的探测序号等于所述接收到的探测请求报文中的探测序号加1,所述查询结果还包括所述接收到的探测请求报文中的探测序号。其中,当查询条件中还包括时间戳信息时,则查找符合所述时间戳信息的NAT转换条目;当所述查询条件中还包括协议类型时,则查找符合所述协议类型的NAT转换条目。S30,所述终端设备接收NAT设备返回的携带查询结果的探测响应报文。
其中,所述终端设备接收到探测响应报文后,保存所述NAT信息。其中,所述探测请求报文和所述探测响应报文为网际控制信息协议ICMP报文;或者,所述探测请求报文和所述探测响应报文为端口控制协议PCP报文。
应用不例一下面提供一个应用示例该应用示例中,网络系统中包含一个位于私网中的终端设备I、一个位于公网中的终端设备2和两级NAT设备。假设终端设备I的私有地址为私有IP地址(192. 168. 0. 100) +端口号(101);经过第一级NAT设备转换后,所述终端设备I的IP地址变为10. 11. 0. 101,端口号变为7000 ;经过第二级NAT设备转换后,所述终端设备I的IP地址变为114. 11.0. 121,端口号变为8000 ;如图4所示,当上述私网中的终端设备I发起探测请求后,本发明的方法包括下面的过程S101,私网中的终端设备I向公网中的终端设备2发送探测请求报文(目的地址为终端设备2的地址),其中携带的查询条件包括IP地址(192. 168.0. 100) +端口号
(101),以及探测序号为I ;
S102,第一级NAT设备收到探测请求报文后,返回探测响应消息1,其中携带的查询结果包括NAT转换前的网络地址IP地址(192. 168. 0. 100) +端口号(101) ,NAT转换后的网络地址IP地址(10. 11.0. 101) +端口号(7000)和接收到的探测序号1 ;S103,第一级NAT设备不是所述探测请求报文的目的节点,用NAT转换后的网络地址(IP地址(10. 11.0. 101) +端口号(7000))替换所述探测请求报文中携带的NAT转换前的网络地址(IP地址(192. 168.0. 100) +端口号(101)),将所述接收到的探测请求报文中的探测序号加I后携带在更新后的查询条件中,向所述目的节点转发更新后的探测请求报文;S104,第二级NAT设备收到探测请求报文后,返回探测响应消息2,其中携带的查询结果包括NAT转换前的网络地址IP地址(10. 11. 0. 101) +端口号(7000)、NAT转换后的网络地址IP地址(114. 11.0. 121) +端口号(8000),接收到的探测序号2 ;S105,第二级NAT设备不是所述探测请求报文的目的节点,用NAT转换后的网络地址(IP地址(114. 11.0. 121) +端口号(8000))替换所述探测请求报文中携带的NAT转换前的网络地址(IP地址(10. 11.0. 101) +端口号(7000)),将所述接收到的探测请求报文中的探测序号加I后携带在更新后的查询条件中,向目的节点(终端设备2)转发更新后的探测请求报文。其中,公网中的终端设备2接收到探测请求报文后,可以直接丢弃该报文。其中,私网中的终端设备I接收到的查询结果至少包括下表I所示的信息
探测序号转换前的网络地址转换后的网络地址^
~I192. 168. 0. 100+101 10. Tl 0. 101+7000
210. 11. 0. 101+7000114. 11. 0. 121+8000~表I应用示例二如图5所示,当上述私网中的终端设备I访问了公网中的终端设备2后,如果所述终端设备2想要定位所述内网中的终端设备1,则所述终端设备2发起探测请求,本发明的方法包括下面的过程S101,公网中的终端设备2向地址“IP地址(114. 11. 0. 121) +端口号(8000) ”发送探测请求报文,其中携带的查询条件包括IP地址(114. 11.0. 121) +端口号(8000),探测序号为I ;S102,由外网向内网方向的第一级NAT设备收到探测请求报文后,返回探测响应消息1,其中携带的查询结果包括NAT转换前的网络地址IP地址(114. 11.0. 121) +端口号(8000)、NAT转换后的网络地址:IP地址(10. 11. 0. 101) +端口号(7000)和接收到的探测序号1 ;S103,第一级NAT设备不是所述探测请求报文的目的节点,用NAT转换后的网络地址(IP地址(10. 11.0. 101) +端口号(7000))替换所述探测请求报文中携带的NAT转换前的网络地址(IP地址(114. 11.0. 121) +端口号(8000)),将所述接收到的探测请求报文中的探测序号加I后携带在更新后的查询条件中,向所述目的节点转发更新后的探测请求报 文;。S104,由外网向内网方向的第二级NAT设备收到探测请求报文后,返回探测响应消息2,其中携带的查询结果包括NAT转换前的网络地址IP地址(10. 11.0. 101) +端口号(7000)、NAT转换后的网络地址IP地址(192. 168.0. 100) +端口号(101)和接收到的探测序号2 ;S105,第二级NAT设备不是所述探测请求报文的目的节点,用NAT转换后的网络地址(IP地址(192. 168. 0. 100) +端口号(101))替换所述探测请求报文中携带的NAT转换前的网络地址(IP地址(10. 11.0. 101) +端口号(7000)),将所述接收到的探测请求报文中的探测序号加I后携带在更新后的查询条件中,向所述目的节点转发更新后的探测请求报文。其中,私网中的终端设备I接收到探测请求报文后,可以直接丢弃该报文。其中,公网中的终端设备2接收到的查询结果至少包括下表2所示的信息
权利要求
1.一种探测NAT信息的方法,应用于网络地址转换NAT设备上,该方法包括 A)接收探测请求报文,提取所述探测请求报文携带的查询条件; B)根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向发送探测请求报文的发送节点返回携带查询结果的探测响应报文。
2.如权利要求I所述的方法,其特征在于 所述查询条件包括NAT转换前的网络地址,步骤B)中,所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。
3.如权利要求2所述的方法,其特征在于 步骤B)中,如本NAT设备不是所述探测请求报文的目的节点,向发送探测请求报文的发送节点返回携带查询结果的探测响应报文后,还包括 用NAT转换后的网络地址替换所述探测请求报文中携带的NAT转换前的网络地址,向所述目的节点转发更新后的探测请求报文。
4.如权利要求3所述的方法,其特征在于 步骤B)中,所述探测请求报文中还包括探测序号,所述更新后的探测请求报文中的探测序号等于所述接收到的探测请求报文中的探测序号加1,所述查询结果还包括所述接收到的探测请求报文中的探测序号。
5.如权利要求2至4中任一项所述的方法,其特征在于 所述查询条件还包括时间戳信息; 步骤B)中,当所述查询条件包括时间戳信息时,查找NAT转换条目时,查找符合所述时间戳信息的NAT转换条目。
6.如权利要求I至4中任一项所述的方法,其特征在于 所述探测请求报文和所述探测响应报文为网际控制信息协议ICMP报文;或者,所述探测请求报文和所述探测响应报文为端口控制协议PCP报文。
7.一种探测NAT信息的方法,应用于包含终端设备和网络地址转换NAT设备的网络系统中,该方法包括 A)终端设备发送携带查询条件的探测请求报文; B)NAT设备接收探测请求报文,提取所述探测请求报文携带的查询条件;根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向所述终端设备返回携带查询结果的探测响应报文; C)所述终端设备接收NAT设备返回的携带查询结果的探测响应报文。
8.如权利要求7所述的方法,其特征在于 步骤A)中,所述查询条件包括NAT转换前的网络地址;步骤B)中,所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。
9.如权利要求8所述的方法,其特征在于 步骤B)中,如本NAT设备不是所述探测请求报文的目的节点,向发送探测请求报文的终端设备返回携带查询结果的探测响应报文后,还包括 用NAT转换后的网络地址替换所述探测请求报文中携带的NAT转换前的网络地址,向所述目的节点转发更新后的探测请求报文。
10.一种探测NAT信息的装置,应用于网络地址转换NAT设备上,该装置包括接收模块,用于接收探测请求报文,提取所述探测请求报文携带的查询条件,启动响应模块; 响应模块,用于根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向发送探测请求报文的发送节点返回携带查询结果的探测响应报文。
11.如权利要求10所述的装置,其特征在于 所述查询条件包括NAT转换前的网络地址;所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。
12.如权利要求11所述的装置,其特征在于 所述响应模块,用于如本NAT设备不是所述探测请求报文的目的节点,向发送探测请求报文的发送节点返回携带查询结果的探测响应报文后,还包括用NAT转换后的网络地址替换所述探测请求报文中携带的NAT转换前的网络地址,向所述目的节点转发更新后的探测请求报文。
13.如权利要求12所述的装置,其特征在于 所述响应模块,用于当所述探测请求报文中还包括探测序号时,所述更新后的探测请求报文中的探测序号等于所述接收到的探测请求报文中的探测序号加1,所述查询结果还包括所述接收到的探测请求报文中的探测序号。
14.一种探测NAT信息的系统,应用于包含终端设备和网络地址转换NAT设备的网络系统中,该探测NAT信息的系统包括 终端发送模块,用于终端设备发送携带查询条件的探测请求报文; NAT接收模块,用于NAT设备接收探测请求报文,提取所述探测请求报文携带的查询条件;根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向所述终端设备返回携带查询结果的探测响应报文; 终端接收模块,用于所述终端设备接收NAT设备返回的携带查询结果的探测响应报文。
15.如权利要求14所述的系统,其特征在于 所述查询条件包括NAT转换前的网络地址;所述查询结果包括NAT转换前的网络地址和NAT转换后的网络地址。
全文摘要
本发明公开了一种探测NAT信息的方法,应用于NAT设备上,该方法包括A)接收探测请求报文,提取所述探测请求报文携带的查询条件;B)根据所述查询条件和探测请求报文的传输方向查找NAT转换条目,如果找到匹配项,则向发送探测请求报文的发送节点返回携带查询结果的探测响应报文。本发明还公开了探测NAT信息的装置、系统,通过终端设备发送探测请求报文,NAT设备自动地向终端设备返回携带NAT信息的探测响应报文,使NAT设备两侧的通信终端能够了解NAT转换细节。
文档编号H04L29/12GK102685262SQ20121011121
公开日2012年9月19日 申请日期2012年4月16日 优先权日2012年4月16日
发明者刘展, 孟伟, 梁一川, 胡亿芬 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1