数字信息穿透nat/fw的方法、系统和控制流程的制作方法

文档序号:7672571阅读:335来源:国知局
专利名称:数字信息穿透nat/fw的方法、系统和控制流程的制作方法
技术领域
本发明涉及电通信技术,尤其涉及一种数字信息穿透NAT/FW的方法、系统和控制流程。
背景技术
网络地址转换NAT,即Network Address Translator,是用于将一个地址域(如专用Intranet)映射到另一个地址域(如Internet)的标准方法,NAT允许一个机构专用Intranet中的主机透明地连接到公共域中的主机,无需内部主机拥有注册的公有IP地址,所有内部网络的数据包要通过NAT出去的包会在NAT处进行转换,通常是把这些包的源IP地址/端口转换为NAT的外部的合法的IP地址/端口,同时NAT在自己的映射表中添加一条记录,以便这个包的应答包回来时能确定送到哪个内部网络的主机上。改变了源地址/端口的包送到INTERNET,其应答包可以送到NAT的外部地址/端口,NAT收到应答包后通过查看自己的地址映射表,更改应答包的目的IP地址/端口,送到发送请求的主机IP/端口。通常,这种网络地址转换/防火墙NAT/FW设置不仅为各个公司内部网络的安全提供了保障,也解决了IP地址短缺的问题,目前,网络地址转换/防火墙NAT/FW主要有以下几种类型Full Cone NAT即相同的内部主机的地址/端口IP/PORT经过NAT/FW映射后会得到相同的NAT/FW的外部IP/PORT,通过内部网络主机的IP/PORT向外部主机发送了数据包,所有发送给该内部网络主机IP/PORT对应的外部IP/PORT的数据包都会被送到该内部网络主机上,不在乎是谁发送的包。
Restricted Cone NAT即相同的内部主机的IP/PORT经过NAT/FW映射后会得到相同的NAT/FW的外部IP/PORT。内部网络主机的IP/PORT向外部主机IP X/PORT Y发送了数据包,从主机IPX上发送到该内部网络主机的IP/PORT对应的外部IP/PORT的数据包都会被送到内部网络主机上,它与Full Cone NAT类型所不同的是,只有被该内部网络主机发送过数据包的外部主机,才能通过该内部网络主机对应的外部IP/PORT向该内部网络主机发送数据包。
Port Restricted Cone NAT即相同的内部网络主机的IP/PORT经过NAT/FW映射后会得到相同的NAT/FW的外部IP/PORT。内部网络主机的IP/PORT向外部主机IP X/PORT Y发送了数据包,只有主机IP X/PORTY发送的数据包才可以通过NAT/FW到达内部网络主机。
Symmetric NAT这是最严格的NAT/FW类型,相同的内部网络主机的IP/PORT发送给不同的目的IP/PORT,在NAT/FW上映射的外部IP/PORT是不同的。也就是说源IP、源PORT、目的IP、目的PORT、PROTCOL必须同时一致,在NAT/FW上才有相同的映射表,内部网络主机的IP M/PORT N向外部主机IP X/PORT Y发送了数据包,只有主机IP X/PORT Y发送的数据包发送到内部网络主机对应的外部IP/PORT的数据包才会被送到内部网络主机上。
但是NAT/FW也给一些应用增添了很多的麻烦,如给语音、视频、数据的即时传送设置了障碍,使得在防火墙后的用户不能正确地接收对方的语音/视频。NAT/FW制约了数据信息的即时通信,如基于IP的语音和视频通讯协议,如H.323、SIP,要求客户端之间使用IP地址和数据端口来建立数据通信通道。这就产生了两难境地为了建立数据连接客户端必须一直在监听外来的呼叫,而NAT/FW却通常阻止任何不请自到的数据包通过,即使网络管理者打开防火墙/NAT上的某个端口来接收呼叫建立数据包,例如H.323的呼叫信令缺省端口1720端口,SIP呼叫的缺省端口5060端口,但IP语音/视频通讯协议还要求打开许多别的端口接收呼叫控制信息来建立语音和视频通道,这些端口号是动态分配的,这也就是说网络管理者为了允许语音/视频通讯将不得不打开防火墙上所有的端口,这样NAT/FW也就失去了其存在的意义,基于网络安全的原因,很少网络管理者会让他们的网络NAT/FW如此开放。

发明内容
本发明的目的在于提供一种数字信息穿透NAT/FW的方法、系统和控制流程,以解决现有技术中数据交换与网络安全的矛盾,使得在无需修改NAT/FW配置的条件下,可使数字信息透过NAT/FW。
本发明所采用的数字信息穿透NAT/FW的方法为a.处于NAT/FW后的内部客户机通过与处于公网上的校验服务器系统之间的通信,在NAT/FW中反映该内部客户机已经向外部发送过数据包,以及有关NAT/FW的信息;b.该内部客户机通过其自身监听数据流的端口与处于公网上的校验服务器系统通信,得到该内部客户机监听数据流的内部IP地址和端口号所对应的外部公有IP地址和端口号,并将其通知内容服务器系统;c.所述的内容服务器系统根据所得到的外部公有IP地址和端口号,以该外部公有IP地址和端口号传输数据流,由NAT/FW映射出所述的内部IP地址和端口号,从而将数据流透传至内部客户机。所述的内部客户机通过与处于公网上的校验服务器系统之间的通信反映出NAT/FW的类型信息,若NAT/FW属于Full Cone NAT或Restricted Cone NAT类型,内部客户机通过其自身监听数据流的端口与校验服务器系统通信,得到该内部客户机监听数据流的内部IP地址和端口号所对应的外部公有IP地址和端口号并将其通知内容服务器系统,内容服务器以该外部公有IP地址和端口号为目的地址向内部客户机传输数据流;所述的内部客户机通过与处于公网上的校验服务器系统之间的通信反映出NAT/FW的类型信息,若NAT/FW属于Port Restricted Cone NAT或Symmetric NAT类型,内部客户机通过其自身监听数据流的端口与内容服务器系统中的中转服务器通信,由中转服务器将内容服务器中的信息转发至内部客户机;所述的数据流为信令、语音或视频数据。
这种实现上述方法的数字信息穿透NAT/FW的系统,包括客户机及其相关的NAT/FW,其特征在于还包括校验服务器系统和内容服务器系统,所述的校验服务器系统通过与客户机的通信,完成对客户机及NAT/FW的有关信息准备及检测;内容服务器系统保存数据流信息并向客户机发送数据流信息;所述的校验服务器系统包括至少两个校验服务器;所述的两个校验服务器可体现为一个具有两个不同的公有IP地址的服务器;所述的内容服务器系统包括内容服务器和中转服务器,所述的内容服务器保存并发送有关数据流信息;所述的中转服务器用于提供信息传输通道;所述的内容服务器与校验服务器系统中的校验服务器可体现为同一个服务器,所述的服务器采用不同的端口分别用于检测NAT/FW的有关信息,及发送有关数据流信息。
这种完成上述方法的数字信息穿透NAT/FW的控制流程,其特征在于它采用如下步骤
A.断客户机是否在NAT/FW之后;B.若客户机处于NAT/FW之后,判断NAT/FW的类型;C.根据不同的NAT/FW的类型,作如下相应处理C1.若NAT/FW属于Full Cone NAT或Restricted Cone NAT类型,采用如下步骤i.客户机绑定确定要监听数据流的本地端口,从该端口发送UDP包给校验服务器;ii.校验服务器发回响应,客户机从校验服务器的响应包中得到该监听端口的NAT/FW对应的外部IP地址和端口号;iii.客户机通知内容服务器该外部IP地址和端口号,该外部IP地址和端口号即为监听数据流的内部IP地址/端口所对应的通过NAT/FW的外部IP地址和端口号;iv.内容服务器以该IP地址和端口号为目的地址发送数据流;v.根据NAT/FW中的地址映射表将数据流透传至客户机;C2.若NAT/FW属于Port Restricted Cone NAT或Symmetric NAT类型,内部客户机通过其自身监听数据流的端口与内容服务器系统中的中转服务器通信,得到中转服务器的外部IP地址和端口号,由中转服务器将内容服务器中的信息转发至内部客户机。
所述的步骤A采用如下具体控制流程A1.客户机发送测试包到校验服务器;A2.校验服务器检查测试包的源地址,并在响应包的内容中填入消息的源地址,发送该响应包至客户机;A3.客户机比较包内容中的IP地址和自己的IP地址,如果一致,则判断客户机处于公网上;否则,客户机在防火墙内。
所述的步骤B采用如下具体控制流程
B1.通过前述步骤,得到相应的NAT/FW的第一外部IP地址和端口号,校验服务器21通知校验服务器22通过第一外部IP地址和端口号再向客户机1发送响应包;B2.如果客户机收到校验服务器22的响应包,则表明客户机在FULL CONE类型的NAT/FW后面;否则,客户机发送测试包给校验服务器21的不同的另一端口,继续如下步骤B3;B3.校验服务器21给客户机返回NAT/FW的第二外部IP地址和端口号,客户机比较第一外部IP地址和端口号和第二外部IP地址和端口号,如果第一外部IP地址和端口号和第二外部IP地址和端口号不同,则表明客户机处于Symmetric NAT类型的NAT/FW后面;若相同,校验服务器21使用不同的端口发送响应包给第一外部IP地址和端口号,继续如下步骤B4;B4.如果客户机不能收到该响应包,则表明客户机处于Port RestrictedNAT类型的NAT/FW后面;如果客户机能收到该响应包,则表明客户机处于Restricted NAT类型的NAT/FW后面。
本发明的有益效果为在本发明中,对于处于NAT/FW后的内部客户机通过与处于公网上的校验服务器系统之间的通信,反映该内部客户机已经向外部发送过数据包和有关的NAT/FW信息,内部客户机将得到的监听数据流的内部IP地址和端口号所对应的外部公有IP地址和端口号通知内容服务器系统,内容服务器系统根据所得到的外部公有IP地址和端口号,以该外部公有IP地址和端口号传输数据流,由NAT/FW映射出所述的内部IP地址和端口号,从而将数据流透传至内部客户机,本发明解决了现有技术中数据交换与网络安全的矛盾,使得在无需修改NAT/FW配置的条件下,可使数字信息透过NAT/FW。


图1为本发明拓朴结构示意图;图2为本发明中有关NAT/FW的类型检测数据流程示意图;图3为本发明中有关NAT/FW的类型检测控制流程方框示意图;图4为本发明一应用结构示意图。
具体实施例方式
下面根据附图和实施例对本发明作进一步详细说明如图1所示,本发明包括客户机1及其相关的NAT/FW,还包括校验服务器系统2和内容服务器系统3,所述的校验服务器系统2通过与客户机1的通信,完成对客户机1及NAT/FW的有关信息准备及检测;内容服务器系统3保存有数据流信息,并通过与客户机1的通信确定信息传输通道。
其中,校验服务器系统2包括两个校验服务器21、22,在实际应用中这两个校验服务器21、22可体现为一个具有两个不同的公有IP地址的服务器。
内容服务器系统3包括内容服务器31和中转服务器32,所述的内容服务器31保存并发送有关数据流信息;所述的中转服务器32用于提供信息传输通道。
在本发明中,处于NAT/FW后的内部客户机1通过与处于公网上的校验服务器系统2之间的通信,在NAT/FW中反映该内部客户机1已经向外部发送过数据包,并且反映了有关NAT/FW的信息,如该客户机1是否处于NAT/FW之后,NAT/FW的类型信息,以及监听端口所对应的外部IP地址和端口号等。
该内部客户机1通过其自身监听数据流的端口与处于公网上的校验服务器系统2通信,得到该内部客户机监听数据流的内部IP地址和端口号所对应的外部公有IP地址和端口号,并将其通知内容服务器系统3。
内容服务器系统3根据所得到的外部公有IP地址和端口号,以该外部公有IP地址和端口号传输数据流,由NAT/FW映射出所述的内部IP地址和端口号,从而将数据流透传至内部客户机1。
对于属于Full Cone NAT或Restricted Cone NAT类型的NAT/FW,内部客户机1通过其自身监听数据流的端口与校验服务器系统2通信,得到该内部客户机1监听数据流的内部IP地址和端口号所对应的外部公有IP地址和端口号并将其通知内容服务器系统3,内容服务器31以该外部公有IP地址和端口号为目的地址向内部客户机1传输数据流。
所述的内部客户机通过与处于公网上的校验服务器系统之间的通信反映出NAT/FW的类型信息,若NAT/FW属于Port Restricted Cone NAT或Symmetric NAT类型,对于属于Port Restricted Cone NAT或Symmetric NAT类型的NAT/FW,内部客户机1通过其自身监听数据流的端口与内容服务器系统3中的中转服务器32通信,由中转服务器32将内容服务器31中的信息转发至内部客户机1。
对于一般的应用而言,这种数据流的传输主要是指信令、语音或视频等多媒体数据的传输。
本发明的具体控制流程详述如下第一步如图2和图3所示,客户机1发送第一测试包到校验服务器21。
第二步如图2和图3所示,校验服务器21检查测试包的源地址,并在响应包的内容中填入消息的源地址,发送该响应包,即第一响应包到达客户机1。
第三步如图3所示,客户机1比较包内容中的IP地址和自己的IP地址,如果一致,则判断客户机1处于公网上;否则,客户机1在防火墙内,则继续判断NAT/FW的类型;这样,就判断了客户机1是否在NAT/FW之后。
第四步如图2和图3所示,通过上述步骤,得到相应的NAT/FW的第一外部IP地址和端口号,校验服务器21通知校验服务器22通过第一外部IP地址和端口号再向客户机1发送响应包。
第五步如图2和图3所示,校验服务器22向客户机1发送响应包,如果客户机1收到校验服务器22发出的响应包,则表明客户机1在FULL CONE类型的NAT/FW后面;否则,继续如下第六步。
第六步如图2和图3所示,客户机1发送第二测试包给校验服务器21的不同的另一端口。
第七步如图2和图3所示,校验服务器21给客户机1返回NAT/FW的第二外部IP地址和端口号。
第八步如图3所示,客户机1比较第一外部IP地址和端口号和第二外部IP地址和端口号,如果第一外部IP地址和端口号和第二外部IP地址和端口号不同,则表明客户机1处于Symmetric NAT类型的NAT/FW后面;若相同,继续如下第九步。
第九步如图2和图3所示,校验服务器21使用不同的端口发送第二响应包给第一外部IP地址和端口号,如果客户机1不能收到该第二响应包,则表明客户机1处于Port Restricted NAT类型的NAT/FW后面;如果客户机1能收到该响应包,则表明客户机1处于RestrictedNAT类型的NAT/FW后面,就完成了对NAT/FW类型的判断。
第十步根据不同的NAT/FW的类型,作如下相应处理I).若NAT/FW属于Full Cone NAT或Restricted Cone NAT类型,采用如下步骤a)如图1所示,客户机1绑定确定要监听数据流的本地端口,从该端口发送UDP包给校验服务器21;
b)校验服务器21发回响应,客户机1从校验服务器21的响应包中得到该监听端口的NAT/FW对应的外部IP地址和端口号;c)如图1所示,客户机1通知内容服务器31该外部IP地址和端口号,该外部IP地址和端口号即为监听数据流的内部IP地址/端口所对应的通过NAT/FW的外部IP地址和端口号;d)如图1所示,内容服务器31以该IP地址和端口号为目的地址发送数据流;e)根据NAT/FW中的地址映射表将数据流透传至客户机1。
II).如图1所示,若NAT/FW属于Port Restricted Cone NAT或Symmetric NAT类型,内部客户机1通过其自身监听数据流的端口与内容服务器系统3中的中转服务器32通信,得到中转服务器32的外部IP地址和端口号,由中转服务器32将内容服务器31中的信息转发至内部客户机1。
在上述步骤a)和步骤b)中,也可通过校验服务器22反映客户机1的监听端口所对应的外部IP地址和端口号;同样,采用另一台校验服务器也是一样的。
在本发明中,参考图1,如图4所示,内容服务器31与校验服务器21可体现为同一个服务器41,该服务器41采用不同的端口分别用于检测NAT/FW的有关信息,及发送有关数据流信息,从原理上说,该服务器41采用相应端口检测NAT/FW的有关信息时,服务器41是作为校验服务器21使用;当采用另一相应端口发送有关数据流信息时,该服务器41是作为内容服务器31使用,其控制过程中的不同时序反映了服务器41的不同功能,与前面所述的是相一致的,在实际的实施中,这样有助于降低成本。
如前述第一步至第九步中,检测有关NAT/FW的信息,完成对NAT/FW类型的判断时,如图4所示,服务器41相当于前述的校验服务器21;在第十步根据不同的NAT/FW的类型,作相应处理时,在客户机1得到监听端口的NAT/FW对应的外部IP地址和端口号的过程中,即步骤a)和步骤b)中,服务器41也是相当于前述的校验服务器21;然而,在上述步骤c)、步骤d)和步骤e)中,服务器41则相当于前述的内容服务器31,这样,如图4所示,其具体的控制流程与前述的第一步至第十步则可完全一致,此处不再赘述。
权利要求
1.一种数字信息穿透NAT/FW的方法,其特征在于a、处于NAT/FW后的内部客户机通过与处于公网上的校验服务器系统之间的通信,在NAT/FW中反映该内部客户机已经向外部发送过数据包,以及有关NAT/FW的信息;b、该内部客户机通过其自身监听数据流的端口与处于公网上的校验服务器系统通信,得到该内部客户机监听数据流的内部IP地址和端口号所对应的外部公有IP地址和端口号,并将其通知内容服务器系统;c、所述的内容服务器系统根据所得到的外部公有IP地址和端口号,以该外部公有IP地址和端口号传输数据流,由NAT/FW映射出所述的内部IP地址和端口号,从而将数据流透传至内部客户机。
2.根据权利要求1所述的数字信息穿透NAT/FW的方法,其特征在于所述的内部客户机通过与处于公网上的校验服务器系统之间的通信反映出NAT/FW的类型信息,若NAT/FW属于Full Cone NAT或Restricted Cone NAT类型,内部客户机通过其自身监听数据流的端口与校验服务器系统通信,得到该内部客户机监听数据流的内部IP地址和端口号所对应的外部公有IP地址和端口号并将其通知内容服务器系统,内容服务器以该外部公有IP地址和端口号为目的地址向内部客户机传输数据流。
3.根据权利要求1所述的数字信息穿透NAT/FW的方法,其特征在于所述的内部客户机通过与处于公网上的校验服务器系统之间的通信反映出NAT/FW的类型信息,若NAT/FW属于Port Restricted ConeNAT或Symmetric NAT类型,内部客户机通过其自身监听数据流的端口与内容服务器系统中的中转服务器通信,由中转服务器将内容服务器中的信息转发至内部客户机。
4.根据权利要求1或2或3所述的数字信息穿透NAT/FW的方法,其特征在于所述的数据流为信令、语音或视频数据。
5.一种实现权利要求1所述方法的数字信息穿透NAT/FW的系统,包括客户机(1)及其相关的NAT/FW,其特征在于还包括校验服务器系统(2)和内容服务器系统(3),所述的校验服务器系统(2)通过与客户机(1)的通信,完成对客户机(1)及NAT/FW的有关信息准备及检测;内容服务器系统(3)保存数据流信息并向客户机(1)发送数据流信息。
6.根据权利要求5所述的数字信息穿透NAT/FW的系统,其特征在于所述的校验服务器系统(2)包括至少两个校验服务器(21)、(22)。
7.根据权利要求6所述的数字信息穿透NAT/FW的系统,其特征在于所述的两个校验服务器(21)、(22)可体现为一个具有两个不同的公有IP地址的服务器。
8.根据权利要求5所述的数字信息穿透NAT/FW的系统,其特征在于所述的内容服务器系统(3)包括内容服务器(31)和中转服务器(32),所述的内容服务器(31)保存并发送有关数据流信息;所述的中转服务器(32)用于提供信息传输通道。
9.根据权利要求8所述的数字信息穿透NAT/FW的系统,其特征在于所述的内容服务器(31)与校验服务器系统(2)中的校验服务器可体现为同一个服务器,所述的服务器采用不同的端口分别用于检测NAT/FW的有关信息,及发送有关数据流信息。
10.一种完成权利要求1所述方法的数字信息穿透NAT/FW的控制流程,其特征在于它采用如下步骤A.判断客户机(1)是否在NAT/FW之后;B.若客户机(1)处于NAT/FW之后,判断NAT/FW的类型;C.根据不同的NAT/FW的类型,作如下相应处理C1.若NAT/FW属于Full Cone NAT或Restricted Cone NAT类型,采用如下步骤i.客户机(1)绑定确定要监听数据流的本地端口,从该端口发送UDP包给校验服务器;ii.校验服务器发回响应,客户机从校验服务器的响应包中得到该监听端口的NAT/FW对应的外部IP地址和端口号;iii.客户机(1)通知内容服务器(31)该外部IP地址和端口号,该外部IP地址和端口号即为监听数据流的内部IP地址/端口所对应的通过NAT/FW的外部IP地址和端口号;iv.内容服务器(31)以该IP地址和端口号为目的地址发送数据流;v.根据NAT/FW中的地址映射表将数据流透传至客户机(1)。C2.若NAT/FW属于Port Restricted Cone NAT或Symmetric NAT类型,内部客户机(1)通过其自身监听数据流的端口与内容服务器系统(3)中的中转服务器(32)通信,得到中转服务器(32)的外部IP地址和端口号,由中转服务器(32)将内容服务器(31)中的信息转发至内部客户机(1)。
11.根据权利要求10所述的数字信息穿透NAT/FW的控制流程,其特征在于所述的步骤A采用如下具体控制流程A1.客户机(1)发送测试包到校验服务器(21);A2.校验服务器(21)检查测试包的源地址,并在响应包的内容中填入消息的源地址,发送该响应包至客户机(1);A3.客户机(1)比较包内容中的IP地址和自己的IP地址,如果一致,则判断客户机(1)处于公网上;否则,客户机(1)在防火墙内。
12.根据权利要求10所述的数字信息穿透NAT/FW的控制流程,其特征在于所述的步骤B采用如下具体控制流程B1.通过前述步骤,得到相应的NAT/FW的第一外部IP地址和端口号,校验服务器(21)通知校验服务器(22)通过第一外部IP地址和端口号发送响应包;B2.如果客户机(1)收到校验服务器(22)的响应包,则表明客户机(1)在FULL CONE类型的NAT/FW后面;否则,客户机(1)发送测试包给校验服务器(21)的不同的另一端口,继续如下步骤B3;B3.校验服务器(21)给客户机(1)返回NAT/FW的第二外部IP地址和端口号,客户机(1)比较第一外部IP地址和端口号和第二外部IP地址和端口号,如果第一外部IP地址和端口号和第二外部IP地址和端口号不同,则表明客户机(1)处于Symmetric NAT类型的NAT/FW后面;若相同,校验服务器(21)使用不同的端口发送响应包给第一外部IP地址和端口号,继续如下步骤B4;B4.如果客户机(1)不能收到该响应包,则表明客户机(1)处于Port Restricted NAT类型的NAT/FW后面;如果客户机(1)能收到该响应包,则表明客户机(1)处于Restricted NAT类型的NAT/FW后面。
全文摘要
一种涉及电通信技术的数字信息穿透NAT/FW的方法、系统和控制流程,对于处于NAT/FW后的内部客户机通过与处于公网上的校验服务器系统之间的通信,在NAT/FW中反映该内部客户机已经向外部发送过数据包,以及有关NAT/FW的信息;该内部客户机通过其自身监听数据流的端口与处于公网上的校验服务器系统通信,得到该内部客户机监听数据流的内部IP地址和端口号所对应的外部公有IP地址和端口号,内容服务器系统以该外部公有IP地址和端口号为目的地址传输数据流,由NAT/FW映射出所述的内部IP地址和端口号,从而将数据流透传至内部客户机,本发明解决了现有技术中数据交换与网络安全的矛盾,使得在无需修改NAT/FW配置的条件下,可使数字信息透过NAT/FW。
文档编号H04L29/06GK1514584SQ0314567
公开日2004年7月21日 申请日期2003年7月1日 优先权日2003年6月23日
发明者江涛, 陈雁, 曹传宇, 卢山, 涛 江 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1