一种通告网络地址转换设备信息的方法、装置和系统转让专利

申请号 : CN200910105680.2

文献号 : CN101820382B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭大勇

申请人 : 华为技术有限公司

摘要 :

本发明涉及通信领域,公开了一种通告网络地址转换NAT设备信息的方法,以解决现有技术中发现NAT设备过程复杂、且能够获得的NAT设备的信息有限的问题。该方法通过在报文中携带NAT设备的信息;将携带NAT设备信息的报文提供给NAT设备所属的私网内的节点。该方法不仅能够使得私网内节点发现NAT设备,还能够使得私网内节点获取NAT设备的相关信息。本发明还公开了一种通告网络地址转换NAT设备信息的装置和系统。

权利要求 :

1.一种通告网络地址转换NAT设备信息的方法,所述NAT设备部署在使用私网地址的网络边缘,使私网内的节点能够访问公网,其特征在于,包括:在报文中携带所述NAT设备的信息;

将携带所述NAT设备信息的所述报文提供给所述NAT设备所属的私网内的节点;

其中,所述NAT设备的信息包括:所述NAT设备的地址信息,所述NAT设备的能力信息和所述NAT设备的属性信息;

其中,所述NAT设备的能力信息为以下信息中的至少一种:所述NAT设备支持的因特网协议IP地址版本,所述NAT设备是否支持地址借用,所述NAT设备是否允许和其它网络节点通信;

所述NAT设备的属性信息为以下信息中的至少一种:所述NAT设备的类型信息,所述NAT设备的使用优先级,所述NAT设备中私网地址与公网地址动态地址映射的老化时间,所述NAT设备的私网地址池范围,所述NAT设备的公网地址池范围。

2.如权利要求1所述的方法,其特征在于,所述报文为动态主机配置协议DHCP报文,或者内部网关协议IGP报文,或者路由器通告RA报文;

其中,所述IGP报文包括:开放最短路径优先OSPF协议报文,或者中间系统到中间系统ISIS协议报文,或者路由信息RIP协议报文。

3.如权利要求1或2所述的方法,其特征在于,所述将携带所述NAT设备信息的所述报文提供给所述NAT设备所属的私网内的节点,具体为:将携带所述NAT设备信息的所述报文在所述NAT设备所属的私网中洪泛;或者,将携带所述NAT设备信息的所述报文在所述NAT设备所属的私网中广播;或者,将携带所述NAT设备信息的所述报文,通过单播发送给所述NAT设备所属的私网中的节点。

4.一种通告网络地址转换NAT设备信息的装置,其特征在于,所述装置包括:信息模块,用于将所述NAT设备的信息插入报文中,使所述报文携带所述NAT设备的信息;

发送模块,用于发送携带所述NAT设备信息的所述报文,将所述报文提供给所述NAT设备所属的私网中的节点;

其中,所述信息模块包括:

第一添加单元,用于将所述NAT设备的地址信息插入所述报文中,使所述报文携带所述NAT设备的地址信息;

第二添加单元,用于将所述NAT设备的能力信息和/或属性信息插入所述报文中,使所述报文携带所述NAT设备的能力信息和/或属性信息;

其中,所述NAT设备的能力信息为以下信息中的至少一种:所述NAT设备支持的因特网协议IP地址版本,所述NAT设备是否支持地址借用,所述NAT设备是否允许和其它网络节点通信;

所述NAT设备的属性信息为以下信息中的至少一种:所述NAT设备的类型信息,所述NAT设备的使用优先级,所述NAT设备中私网地址与公网地址动态地址映射的老化时间,所述NAT设备的私网地址池范围,所述NAT设备的公网地址池范围。

5.如权利要求4所述的装置,其特征在于,所述发送模块包括:

洪泛单元,用于将携带所述NAT设备信息的所述报文在所述NAT设备所属的私网中洪泛;和/或广播单元,用于将携带所述NAT设备信息的所述报文在所述NAT设备所属的私网中广播;和/或单播单元,用于将携带所述NAT设备信息的报文通过单播发送给所述NAT设备所属的私网中的节点。

6.一种通告网络地址转换NAT设备信息的系统,其特征在于,所述系统包括:至少一个NAT设备,用于将所述NAT设备的信息插入报文中,并将携带所述NAT设备信息的所述报文提供给所述NAT设备所属的私网中的网络设备;

至少一个网络设备,位于所述NAT设备所属的私网中,用于根据接收到的携带所述NAT设备信息的所述报文,获取所述NAT设备的信息;

其中,所述NAT设备的信息包括:所述NAT设备的地址信息,所述NAT设备的能力信息和所述NAT设备的属性信息;

其中,所述NAT设备的能力信息为以下信息中的至少一种:所述NAT设备支持的因特网协议IP地址版本,所述NAT设备是否支持地址借用,所述NAT设备是否允许和其它网络节点通信;

所述NAT设备的属性信息为以下信息中的至少一种:所述NAT设备的类型信息,所述NAT设备的使用优先级,所述NAT设备中私网地址与公网地址动态地址映射的老化时间,所述NAT设备的私网地址池范围,所述NAT设备的公网地址池范围。

说明书 :

一种通告网络地址转换设备信息的方法、装置和系统

技术领域

[0001] 本发明涉及通信领域,特别涉及一种通告网络地址转化设备信息的方法、装置和系统。

背景技术

[0002] NAT/NAPT(Network Address Translation/Network AddressPort Translation,网络地址转换/网络地址端口转换,以下统称为NAT)是1990年代互联网快速发展时,为了解决IP(InternetProtocol,因特网协议)地址不足而引入的技术。通过在使用私网地址的网络边缘部署NAT设备,对报文头中携带的地址信息进行转换,使得私网内的节点可以访问公网。除了能转换私网地址和公网地址,NAT还可以用于IPv4(Internet Protocol version 4,因特网协议版本4)和IPv6(Internet Protocol version 6,因特网协议版本6)地址的转化。
[0003] NAT技术有效的提高了网络地址的使用效率,降低了IPv4的消耗速度。并且,NAT只支持单向发起会话连接,在公网的节点并不能主动和私网内的节点直接通信,所以使用NAT可以保护私网的安全。
[0004] 然而,NAT在提高安全的同时也阻碍了应用的部署。因为部分应用在报文的净荷中也需携带地址信息,在通过NAT时,必须将净荷中携带地址信息同时进行转换,这需要针对特定的应用做特殊处理,NAT对这类应用的部署影响很大。其次,两个位于NAT后的设备,也无法直接通信,因为NAT后的设备不知道NAT的存在,也不知道自身所使用的公网地址。
[0005] 为了实现NAT穿越,现有技术提出了STUN(Simple Traversalof UDP Through NAT,UDP对NAT的简单穿越)和TURN(TraversalUsing Relay NAT,使用中继穿越NAT)方案。STUN和TURN需要在公网部署专门的服务器,私网内节点需要通过和服务器反复交互信息,来得到该私网节点的公网地址,以实现NAT穿越。
[0006] 发明人在实现本发明的过程中发现:现有技术中发现NAT设备的过程非常复杂,且能够获得的NAT设备的信息有限。其次,由于STUN和TURN只是一种方法,没有明确定义协议,因而当前是每种应用协议独立采用该方法,所以实现成本仍然很高。

发明内容

[0007] 有鉴于此,本发明的实施例提供了一种通告NAT设备信息的方法、装置和系统,以解决现有技术中发现NAT设备过程复杂,且能够获得的NAT设备的信息有限的问题。
[0008] 一种通告网络地址转换NAT设备信息的方法,包括:
[0009] 在报文中携带NAT设备的信息;
[0010] 将携带NAT设备信息的报文提供给NAT设备所属的私网内的节点。
[0011] 一种通告网络地址转换NAT设备信息的装置,包括:
[0012] 信息模块,用于将所述NAT设备的信息插入报文中,使所述报文携带所述NAT设备的信息;
[0013] 发送模块,用于发送携带NAT设备信息的上述报文,将报文提供给所述NAT设备所属的私网中的节点。
[0014] 一种通告网络地址转换NAT设备信息的系统,包括:
[0015] 至少一个NAT设备,用于将该NAT设备的信息插入报文中,并将携带NAT设备信息的报文提供给NAT设备所属的私网中的网络设备;
[0016] 至少一个网络设备,位于该NAT设备所属的私网中,用于根据接收到的携带NAT设备信息的报文,获取NAT设备的信息。
[0017] 本发明实施例的有益效果在于,将NAT设备的信息携带在报文中扩散到网络设备中,从而使得私网节点不仅能够发现NAT设备,还能够获取NAT设备的相关信息。

附图说明

[0018] 图1为本发明一个实施例提供的一种通告NAT设备信息的方法流程图;
[0019] 图2为本发明另一个实施例提供的一种通告NAT设备信息的装置结构示意图;
[0020] 图3为本发明另一个实施例提供的一种通告NAT设备信息的装置中信息模块200的结构示意图;
[0021] 图4为本发明另一个实施例提供的一种通告NAT设备信息的装置中信息模块200的结构示意图;
[0022] 图5为本发明另一个实施例提供的一种通告NAT设备信息的装置中发送模块210的结构示意图;
[0023] 图6为本发明又一个实施例提供的一种通告NAT设备信息的系统结构示意图:
[0024] 图7为本发明实施例的一个应用场景中OSPF RouterInformation LSA的格式示意图;
[0025] 图8为本发明实施例的一个应用场景中OSPF RouterInformation LSA的子TLV的格式示意图。

具体实施方式

[0026] 为使本发明实施例的目的、技术方案及优点更加清楚明白,以下参照附图,对本发明的实施例作进一步地详细说明。
[0027] 如图1所示,图1为本发明一个实施例提供的一种通告NAT设备信息的方法流程图,包括:
[0028] 100、在报文中携带NAT设备的信息;
[0029] 本实施例中,报文可以是DHCP(Dynamic Host ConfigurationProtocol,动态主机配置协议)报文;也可以是IGP(Interior GatewayProtocol,内部网关协议)报文,例如:OSPF(Open Shortest PathFirst,开放最短路径优先)协议报文,或者ISIS(Intermediate Systemto Intermediate Systems,中间系统到中间系统)协议报文,或者RIP(Routing Information Protocol,路由信息协议)协议报文等。当然,本实施例中的报文还可以是IPv6的RA(RouterAdvertisement,路由器通告)报文。将NAT设备的信息插入这些报文中,则在这些报文中就携带了NAT设备的信息。
[0030] NAT设备的信息可以是NAT设备的地址信息,例如:NAT设备与其所属的私网中其他节点之间进行通信的地址。通过该信息,网络节点可以发现网络中的NAT设备。当然,除了NAT设备的地址信息,可选的,NAT设备的信息还可以包括以下信息中的至少一种:NAT设备的能力信息和NAT设备的属性信息。
[0031] 其中,NAT设备的能力信息可以为以下信息中的一种或多种:
[0032] (a)该NAT设备支持的IP地址版本。该信息能够表明该NAT设备支持的是IPv4地址版本,还是IPv6地址版本,又或者是同时支持IPv4和IPv6两个版本;
[0033] (b)该NAT设备是否支持地址借用。该信息能够表明该NAT设备是否允许其所属的私网中的某个节点使用该NAT设备的公网地址和一个端口范围;
[0034] (c)该NAT设备是否允许和其它网络节点通信。该信息能够表明是否允许网络节点进一步和NAT设备进行通信来得到更多的信息,或管理NAT。
[0035] NAT设备的属性信息可以为以下信息中的一种或多种:
[0036] (d)NAT设备的类型信息。该信息能够表明该NAT设备的类型信息,较为常见的NAT设备的类型例如:对称NAT(Symmetric NAT),端口受限锥形NAT(Port restricted cone NAT),地址受限锥形NAT(Address restricted cone NAT),以及完全锥形NAT(Full coneNAT)等类型;
[0037] (e)NAT设备的使用优先级。该信息能够在存在多个NAT设备时,表明该NAT设备的使用优先级;通常情况下,私网中的网络设备会优先使用优先级高的NAT设备;
[0038] (f)NAT设备中私网地址与公网地址动态地址映射的老化时间。该信息能够表明在没有报文通过时,该NAT设备中动态地址映射信息的最长保存时间;
[0039] (g)NAT设备的私网地址池范围。该信息能够表明该NAT设备所属的私网可以使用哪些地址,例如192.168.1.0/24等;
[0040] (h)NAT设备的公网地址池范围。该信息能够表明该NAT设备使用的公网地址和地址段,例如64.1.1.0/24等。
[0041] 110、将携带该NAT设备信息的报文提供给该NAT设备所属的私网中的节点。
[0042] 本实施例中,将携带NAT设备信息的报文提供给该NAT设备所属的私网中的节点,可以通过将携带NAT设备信息的报文在该NAT设备所属的私网中洪泛来实现,例如将携带NAT设备信息的OSPF报文在私网中洪泛;也可以是将携带NAT设备信息的报文通过单播发送给私网中的节点来实现,例如,将携带NAT设备信息的DHCP报文通过单播发送给私网中的节点,使得私网中的节点可以获得NAT设备的信息。当然,可选的,也可以通过其他的方式来实现。例如:若在该NAT设备所属的私网中,节点的私网地址只存在一个网段,则可以通过将携带NAT设备信息的报文在该NAT设备所属的私网中广播来实现。
[0043] 该NAT设备所属的私网中的节点通过接收携带NAT设备信息的报文,就能够得到NAT设备的信息。例如,当报文中携带NAT设备的地址信息和能力信息时,该NAT设备所属的私网中的节点就可以利用获取到的这些信息,发现NAT设备,进而和NAT设备进行通信,获得私网中网络节点的外部地址等信息。而当报文中携带NAT设备的属性信息时,该NAT设备所属的私网中的节点就可以借助这些信息,了解NAT设备的基本特性,进而优化某些应用协议。例如,在P2P(Peer to Peer,点到点)等应用中,知道了NAT设备的类型信息,私网中的节点就可以针对该NAT设备的类型选择Peer间直接通信还是通过超级节点来中继。再比如,如果知道了NAT设备中私网地址与公网地址动态地址映射的老化时间,就可以选择合适的保活报文发送间隔。
[0044] 本实施例中,私网中的节点可以是路由器,用户边界网关,CPE(Customer Premises Equipment,用户预设设备)等,还可以是终端设备。
[0045] 一般情况下,路由器,用户边界网关,CPE等网络节点是直接通过接收携带NAT设备信息的报文,获得NAT设备的信息。而终端设备则是通过路由器通告信息或DHCP等方式,从上述网络节点间接获得NAT设备的信息。
[0046] 可见,采用本发明的一个实施例提供的通告NAT设备信息的方法,不仅能够使得私网内节点发现NAT设备,还能够使得私网内节点获取NAT设备的相关信息。
[0047] 本发明的另一个实施例提供了一种通告NAT设备信息的装置,如图2所示,该装置包括:
[0048] 信息模块200,用于将NAT设备的信息插入报文中,使报文携带NAT设备的信息;
[0049] 发送模块210,用于发送上述携带NAT设备信息的报文,将上述携带NAT设备信息的报文提供给该NAT设备所属的私网中的节点。
[0050] 具体的,如图3所示,信息模块200包括:
[0051] 第一添加单元201,用于将NAT设备的地址信息插入报文中,使报文携带NAT设备的地址信息。
[0052] 可选的,如图4所示,信息模块200还可以包括:
[0053] 第二添加单元202,用于将NAT设备的能力信息和/或属性信息插入报文中,使报文携带NAT设备的能力信息和/或属性信息。
[0054] 可选的,如图5所示,发送模块210可以包括以下单元中的一个单元或任意多个单元的组合:
[0055] 洪泛单元211,用于将上述携带NAT设备信息的报文在该NAT设备所属的私网中洪泛;
[0056] 广播单元212,用于将上述携带NAT设备信息的报文在该NAT设备所属的私网中广播;
[0057] 单播单元213,用于将上述携带NAT设备信息的报文通过单播发送给该NAT设备所属的私网中的节点。
[0058] 需要说明的是,为便于理解,图5中仅示出了发送模块210同时包括洪泛单元211、广播单元212以及单播单元213的情况,其他的组合情况并未示出。
[0059] 本发明的实施例中,该通告NAT设备信息的装置,可以是一个独立的网络设备,例如:一个独立的NAT设备,或者是一个DHCP服务器。当该装置为DHCP服务器时,可以预先在DHCP服务器上配置NAT设备的信息,当DHCP服务器与客户端进行通信时,就可以将NAT设备的信息插入DHCP响应报文中,发送给客户端,从而使得客户端能够获得NAT设备的信息。在实际中,NAT设备和DHCP服务器可能是同一个设备,因此,本发明的实施例中,该通告NAT设备信息的装置还可以是一个集成了NAT功能和DHCP服务器功能的设备。
[0060] 当然,本发明的实施例中,该通告NAT设备信息的装置,也可以是设置在网络设备中的一个部件,例如:设置在NAT设备中的一个部件,或者设置在其他网络设备中的一个部件。
[0061] 采用本发明的一个实施例提供的通告NAT设备信息的装置,不仅能够使得私网内节点发现NAT设备,还能够使得私网内节点获取NAT设备的相关信息。
[0062] 本发明的又一实施例,提供了一种通告NAT设备信息的系统,如图6所示,该系统包括:
[0063] 至少一个NAT设备,用于将该NAT设备的信息插入报文中,并将携带该NAT设备信息的报文提供给该NAT设备所属的私网中的网络设备;
[0064] 至少一个网络设备,位于该NAT设备所属的私网中,用于根据接收到的携带NAT设备信息的报文,获取该NAT设备的信息。
[0065] 采用本发明的一个实施例提供的通告NAT设备信息的系统,不仅能够使得私网内节点发现NAT设备,还能够使得私网内节点获取NAT设备的相关信息。
[0066] 在本发明的实施例中,在报文中携带NAT设备的信息,可以是在报文中复用原有的选项/字段,来承载NAT设备的信息;也可以是在报文中对原有的选项/字段进行扩展,以承载NAT设备的信息。当然,也可以在报文中新增选项/字段,用于承载NAT设备的信息。
[0067] 为了更好的理解本发明的实施例,下面介绍一个通过OSPF协议中Router Information LSA(Link State Advertisement,链接状态通告)扩展来携带NAT设备信息TLV(Type-Length-Value)的具体应用场景。
[0068] 本场景中,OSPF Router Information LSA的格式如图7所示,其中:
[0069] Type:表明该TLV为NAT设备信息通告;
[0070] Length:表明Sub-TLVs部分的长度,例如字节数;
[0071] Sub-TLVs:为子TLV,携带了需要通告的NAT设备的各种信息,其格式可以如图8所示。其中:
[0072] Type:表明该子TLV是通告NAT设备的哪一种消息;
[0073] Address-Type:表明该子TLV中Value部分的IP地址版本,可以用不同的值分别代表不同的IP地址版本;
[0074] Length:表明Value部分的长度;
[0075] Value:即NAT设备的信息。
[0076] 当Value部分为NAT设备的地址信息时,可以是IPv4地址,或者IPv6地址,根据Address-Type指定;该部分可以携带一个IP地址,也可以携带多个IP地址,通常都是同一类型的IP地址。
[0077] 当Value部分为NAT设备的能力信息时,可以用每一比特分别表明NAT设备的一种能力,例如:NAT设备支持的私网IP地址版本,公网IP地址版本,NAT设备是否支持CGN(Carrier Grade NAT,运营级NAT)功能等等。
[0078] 当Value部分为NAT设备的属性信息时,可以采用与表示NAT设备的能力信息时相类似的固定格式,来表示NAT设备的各种属性信息;当然,也可以根据实际情况,灵活采用不同的格式来表示NAT设备的不同属性信息。
[0079] 可以理解,本发明的实施例中,OSPF Router Information LSA可以只有一个子TLV,也可以有多个子TLV。
[0080] 通过以上的实施方式的描述,本领域的普通技术人员可以清楚地了解到本发明实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备、或者服务器、或者其他网络设备执行本发明各个实施例或者实施例的某些部分所述的方法。
[0081] 以上仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。