网络地址变换的地址的预先取得
本发明涉及一种按权利要求1前序部分所述的方法,以及一种按权利要求4前序部分所述的用于实施所述方法的装置。
所谈及类别的方法当今在广泛的范围内用于跨过网络边界,例如在内部的和公共的数据网之间传送语音、音频、视频、和/或有用数据。如果在网络边界上用NAT(Network Adress Translation网络地址变换)来实现地址变换,则在通过IP网传送数据时一再出现问题。此时出于不同的原因,所述的NAT对于因特网技术具有重要的意义。除了在平行处理中提供载荷分配之外,在防火墙、以及容差和高作业率的意义上支持了不同种类的入口保护。此外还简化了网络管理的基本功能。
由于在因特网建立年代中所安排的、用于发放IP地址的地址空间在可预见的将来已不再够用,尤其是内部的和高度复杂的数据网的扩建要求越来越多的IP地址,所以又主要采用NAT,以便对外界隐藏内部使用的IP地址。这一方面使内部网络的管理更为简单,另一方面节省了费用,因为与人们内部实际所需要的相比较,人们向外必须使用较少的有缴费义务的公共的IP地址。原则上此时理论上可以将一个直至60000台计算机的内部局域网映射到(abbilden)一个单个的公共的IP地址上,其方式是人们变换所述公共IP地址的端口地址。
在NAT情况下,首先在发送IP数据分组时交换该分组的IP首标。通过具有另一个端口号的公共的IP地址来代替包含端口号的内部的IP地址。NAT主机存储了内部IP地址到公共的(外部的)IP地址上的分配(地址变换Mapping)。如果NAT主机现在接收到一个IP数据分组,它则将所述的公共的(外部的)IP地址重新映射到所述的内部IP地址上。此时,将NAT主机理解为彼此连接两个网络的计算机,在该计算机上相应的软件(NAT发动机)负责地址变换。
可是成问题的是,几个IP协议将内部的IP地址作为协议数据来再次随同发送(例如语音通过IP协议)。在NAT主机上仅交换数据分组的IP首标,但是不对协议数据本身进行访问,因为NAT主机不能分辨该协议数据。现在公共网中的所编址的外部计算机不向数据分组的IP首标中的公共地址,而是向内部的IP地址发送它的应答,所采用的业务(例如语音通过IP)已从所述的协议数据中读出该内部的IP地址。但是在该地址之下不能联系上原来的发送者。所述的应答因此要么到达一个未知的IP地址,要么到达一个另外的公共的计算机,该计算机用该IP数据分组不能开始任何工作。
迄今还未解决这里所描述的问题。尽管有直接在NAT主机上采用协议分析器的个别的措施,该协议分析器有能力分解出(auspacken)某些协议,并在这里除了所述的IP首标之外,也有能力按照NAT分配(地址变换)来改变协议数据。这种对协议数据的有规律的访问,以及所述协议数据的分析却显著地减缓数据通信。此外必须按所采用协议类型的不同,可能不仅采用一个,而是采用多个协议分析器。将来可能通过IPv6(因特网协议版本6-具有扩充的IP地址空间)来解决该问题,但是IPv6还远未通用地得到实施。由于公司对因特网电话,以及对图像和有用数据的交换显著提高了兴趣,因此急需迅速而可靠地解决所描述的问题。
本发明的任务是提供一种方法,该方法在保留已有NAT配置的条件下,实现了通过NAT主机来建立更复杂协议(语音、音频、视频、和/或有用数据)的透明的通信连接。
此外本发明的任务是还提供一种用于执行本发明方法的装置。
本发明方法的核心思想在于,一方面以未改变的范围如下来支持复杂协议(例如语音通过IP)的使用,使得在公共IP网中的计算机编址时单独通过采用NAT所形成的问题获得解决。在内部和公共的数据网之间面向分组地传送语音、音频、视频、和/或有用数据时,这通过预先预留NAT地址来实现,其中,首先将一个内部计算机的请求发送到用于提供通向所述内部计算机IP地址的预先NAT地址(Vorab-NAT-Adresse)的NAT地址服务器上。通过NAT地址服务器来分配通向内部计算机IP地址的该预先NAT地址。在内部计算机的预先NAT地址和IP地址之间的当前的分配数据组最终由NAT地址服务器发送到NAT主机上。因而在NAT主机上存在着用于改变数据分组的首标(IP首标)中的源数据或目标数据的当前分配数据组,该NAT主机在内部数据网和公共数据网之间作为接口计算机(网关)起作用。在下一个步骤中,由NAT地址服务器给内部计算机发送内部计算机的预先NAT地址。在计算机上由相应的业务(例如语音通过IP)将该预先NAT地址作为发送者地址送入数据分组的协议数据中。由内部计算机现在给NAT主机发送一个尤其具有语音通过IP协议数据的数据分组,这些语音通过IP协议数据,作为语音通过IP地址从现在起含有所述的预先NAT地址。在下一个步骤中,在该NAT主机上将数据分组的首标(IP首标)中的源数据与所分配的预先NAT地址进行交换,该源数据含有内部计算机的IP地址。因而既在数据分组的协议数据中,也在同一数据分组的首标中的源数据中,存在着用于在内部数据网和公共数据网中透明地使用数据分组的统一地址(预先NAT地址)。最终由NAT主机给外部编址的计算机转送所述的数据分组。
该解决方案的优点在于,NAT主机不必再关心协议数据。这个或这些内部计算机(用户)可以与NAT服务器接触,以便已经在准备阶段就已获悉它的未来的NAT地址。在汇总协议数据时考虑该NAT地址。公共数据网中的外部计算机现在在协议数据中获得准确的应答地址,该应答地址于是到达NAT主机,而该NAT主机将返回应答准确地送交内部计算机。此外还给NAT主机减轻负担,因为它现在不必按照所采用的协议亲自来分解数据分组,而是象常规的那样,仅交换数据分组的首标(IP首标)中的源数据。
在从属权利要求2和3中说明了本发明方法的有利的改进方案。
优选由外部编址的计算机通过NAT主机来接收具有预先NAT地址的数据分组。该NAT主机可以在下一个步骤中,通过将数据分组首标(IP首标)中的、相当于预先NAT地址的目标数据与内部计算机的所分配IP地址的交换,在采用当前的分配数据组的条件下进行交换。在下一个步骤中,于是通过NAT主机将数据分组转送给内部编址的计算机。在通常的范围内,可以由外部编址的计算机无变化地保留通常所执行的、数据分组首标(IP首标)中的目标数据的交换,因此而产生了一个特别的优点。由于现在在数据分组首标(IP首标)中的目标数据中,并在用该数据分组传输的协议数据中又存在着透明的地址,所以排除了数据分组的误转送。
在对外部计算机的数据分组的首标(IP首标)中的目标数据执行真正的交换之前,NAT主机优选在NAT地址服务器中询问当前的分配数据组。因而避免了给数据分组双重分配预先NAT地址,这些预先NAT地址不是从内部进入公共网络中的申请的结果。于是可以在考虑已经发放IP地址的当前的分配数据组的条件下,来对从公共网络发送到所述内部网络中的数据分组的首标(IP首标)中的目标数据执行交换。
此外还通过一个用于执行本发明方法的装置来解决本发明的任务。
此时,附加于将至少一个内部数据网与一个公共数据网相连接的NAT主机,和附加于至少一个通过所述NAT主机与公共计算机通信的、或可以通信的内部计算机,还提供了一个NAT地址服务器,该NAT地址服务器与内部计算机和NAT主机处于通信连接中,或可以进入通信连接中,以及该NAT地址服务器用于求取和分配通向内部计算机的IP地址的预先NAT地址。
此时,预先NAT地址的求取随同包括已经发放分配的管理(添加、更新、清除),以便避免向内部计算机的IP地址双重发放预先NAT地址。这里将一个地址(预先NAT地址,IP地址)原则上理解为与一个端口号(例如1245)一起的IP号(例如141.23.209.105)。由于NAT主机的IP号总是相同的,所以通过向NAT主机的IP号发放端口号来解决预先NAT地址的分配,该端口号最终依据(referenzieren)所述内部计算机的IP地址(IP号和端口号)。
在从属权利要求5和6中说明了本发明装置的有利的改进方案。
此时,NAT地址服务器优选在一个共同的计算机上与NAT主机一起运行。此时,NAT主机可以承担多媒体业务的、诸如地址变换、入口检查、带宽检查等等的关守(Gatekeeper)功能。通过NAT主机及其专门业务在一个共同的计算机上与NAT地址服务器的紧密耦合,尤其避免了关于数据网的通信协议。在向内部计算机的IP地址进行分配之前,NAT地址服务器可以询问NAT主机的与此相应地迅速使用的,或空闲的IP地址。
如果使用用于通过网络通信连接来传送语音、音频、和/或视频数据分组的标准化的协议,尤其是SIP(会话启动协议)或H.323,则也是特别有利的。这些协议与本发明装置联系在一起提供了呼叫转送、呼叫信令、接纳所支持的数据、媒体检查、和补充业务用的机制。H.323在此是一个久经考验的协议,该协议尤其由于其使用方便性、可靠性和与PSTN(公共交换电话网络)的交互作用而得到使用。SIP是一个新的协议,该协议保证了可标定性、灵活性、以及在建立复杂系统时的容易的可实施性。
以下借助实施例详述本发明。
图1展示了根据现有技术的、用于在内部数据网A和公共数据网B之间面向分组地传输语音、音频、视频、和/或有用数据的本发明装置,以及
图2展示了用于在内部数据网A和公共数据网B之间面向分组地传输语音、音频、视频、和/或有用数据的本发明装置。
为了说明由本发明所解决的问题,在图1中在一个根据现有技术的装置中再次阐述了所述的问题。此时,具有IP号145.30.62.1的NAT主机100将内部数据网A与公共数据网B相连接。具有IP号141.23.209.105的计算机120通过NAT主机100与另一个具有IP号192.178.63.4的计算机130处于通信连接之中。在建立计算机120,130之间的通信时,首先由内部计算机120通过网络通信连接142向NAT主机100发送数据分组160。将计算机120的IP地址(由IP号和端口号组成),即141.23.209.105:1245采用为所述数据分组的源数据170。在协议数据中重新找到由在计算机120上运行的专用业务所采用的语音通过IP地址180,该语音通过IP地址180与计算机120的IP地址是一致的。
在NAT主机100上,现在由NAT主机100的公共可看见的IP号145.30.62.1与所分配的端口号,即48324,一起来代替所述数据分组160的源数据,即代替计算机120的IP地址141.23.209.105:1245。通过该端口号48324可以进行将所改变的源数据向原始的源数据,即向计算机120的IP地址141.23.209.105:1245的分配(地址变换)。在数据分组160的源数据的这种变化时,语音通过IP地址180却仍保留为141.23.209.105:1245,并因此与计算机120的原始的IP地址相同。
该数据分组160通过网络通信连接143被转送到计算机130上。该计算机130又接收消息,并将来自相应业务的,这里为语音通过IP,在数据分组160的协议数据中存在的语音通过IP地址,用于建立通信连接。但是因而将计算机130的回送的数据分组161编址到计算机120的原来的IP地址上。所述的应答因而用数据分组161的目标数据171,即IP地址141.23.209.105:1245要么到达未知的IP地址,要么到达另一个公共的计算机,所述的计算机用该数据分组不能开始任何工作。所述的问题因此在于,在NAT主机100上进行地址变换,该地址变换虽然改变数据分组160或161的源数据170或目标数据171(IP首标),但是该源数据170或目标数据171让用于所用语音通过IP业务的重要的语音通过IP地址180不受影响。而恰好该业务在回送的数据分组161的目标数据171中对IP地址进行编址,该IP地址是为所述的业务而寄放在为它确定的协议数据中的。
图2中现在示出了一个本发明的装置,其中,NAT主机200又将内部数据网A与公共数据网B相连接。具有IP号145.30.62.1的NAT主机200与NAT地址服务器210双向地通信,其中,NAT主机200和NAT地址服务器210通过网络通信连接240或242与具有IP号141.23.209.105的内部计算机220处于通信连接之中。NAT主机和NAT地址服务器也可以在一个共同的计算机上运行,但是为了说明本发明装置的作用原理,在这里是分开示出的。计算机220通过NAT主机200与另一个具有IP号192.178.63.4的计算机230处于通信连接之中。
为了排除上述的问题,计算机220通过网络通信连接240首先向NAT地址服务器210发送一个申请,即给它向它的IP地址,在该情况下向141.23.209.105:1245,分配一个预先NAT地址251。NAT地址服务器210首先确定一个还未分配的预先NAT地址251,NAT地址服务器210让该预先NAT地址251最终通过网络通信连接240通往计算机220。本实施例中的预先NAT地址为145.30.62.1:48324。通过预先NAT地址的端口号48324,因而可以进行向计算机220的IP地址141.23.209.105:1245的分配(地址变换)。预先NAT地址251的IP地址145.30.62.1相当于NAT主机200的IP号,该IP号向外进入公共的数据网B中是可看见的。
在下一个步骤中,计算机220最终给NAT主机200发送一个数据分组260,在该数据分组260的协议数据中重新找到作为语音通过IP地址280的、所分配的预先NAT地址145.30.62.1:48324。与此相反地,数据分组260首标(IP首标)中的源数据270为计算机220的IP地址,即141.23.209.105:1245。在NAT主机200上又进行数据分组的源数据270的地址变换,其中,计算机220的IP地址与由NAT地址服务器210所分配的预先NAT地址145.30.62.1:48324对换。在发放预先NAT地址之后,由NAT地址服务器210通过网络通信连接241将预先NAT地址向计算机220IP地址的该当前的分配(地址变换)通知NAT主机200,或由NAT主机200来询问清楚。从现在起可以通过将端口号48324向内部计算机220的IP地址,即向141.23.209.105:1245的分配,来追溯内部计算机220的IP地址。
在另一个步骤中,由NAT主机200通过网络通信连接243给外部计算机230发送数据分组260。在那里所采用的业务,语音通过IP,使用可在协议数据中找到的语音通过IP地址280,该语音通过IP地址从现在起相当于预先NAT地址251,作为用于回送数据分组261的目标数据271。该目标数据271现在为145.30.62.1:48324。
该目标数据271对NAT主机200进行编址,在那里在当前分配的基础上,将数据分组261的首标(IP首标)中的目标数据271与计算机220的实际IP地址,也就是预先NAT地址145.30.62.1:48324与IP地址141.23.209.105:1245进行交换。因此可以由NAT主机200将所述的数据分组261分配给计算机220,并发送给该计算机220。
在协议数据中尤其将协议H.323或SIP用于建立语音通过IP通信连接。因此使用用于执行本方法的本发明装置,原则上也确保了在一个或多个内部计算机(多点连接)和一个或多个外部计算机之间的,基于语音、音频、视频、和/或有用数据的通信。
在此处要指出,对所有上述的部分从本身单独来看,以及以任何的组合,尤其是附图中所示出的细节均作为本发明本质性的内容提出了权利要求。从中的改动对于专业人员是熟悉的。