输入sip连接的网络地址转换的制作方法

文档序号:7740379阅读:256来源:国知局
专利名称:输入sip连接的网络地址转换的制作方法
发明
背景技术
领域本发明涉及网络地址分配领域,更具体地说,涉及一种基于动态主机配置协议(DHCP)地址分配,用于允许引入会话发起协议(SIP)连接的网络地址转换(NAT)的系统、方法和装置。
背景技术
局域网(LAN)已经与诸如个人计算机的网络设备一起使用。一个LAN典型地对于在该LAN上所有的设备具有一组唯一的网际协议(IP)地址编号。更具体地说,在该LAN上的多个计算机可以由相同的IP地址表示和使用相同的路由器。在上述的实施例中,例如,可能有10个计算机被分配给一个路由器,这里该路由器具有其自己唯一的IP地址。
在上述的LAN中,网络地址转换(NAT)允许单个设备,诸如路由器在该因特网或者“公共网络”和本地或者“专用”网络之间起一个代理的作用。这指的是仅要求单个、唯一的IP地址来表示整个的计算机组。
在这样一个实施例中,当一个来自因特网的数据包到达该路由器时,对于使用NAT的一个主要的问题是在内部网上定位正确的设备,因为从该因特网接收的所有数据包被发给该路由器,而不必发给在该路由器后面的设备。有时,在该路由器中配置静态映射可以解决该问题。例如,该路由器可以被配置成发送所有的万维网(WEB)业务给一个在路由器后面特定的PC,并且发送所有文件传送协议(FTP)业务给在该路由器后面不同的指定的PC。但是,这种类型的静态映射具有的问题是,其需要特定地配置该路由器,对于一个载运数以千计个路由器的ISP这可能是昂贵的。此外,如果若干个PC执行相同的业务(FTP、WEB等等),这是成问题的。
当启动从该内部网上的设备到外部设备的连接时,无需使用任何的附加信息该访问设备可以总是建立该NAT映射。但是,当使用NAT时,这些连接可以仅从局部网络内部到该网络外部的位置构成。如果没有路由器被特别地配置去这样做,在该网络外边的设备不能连接到在局部网络上的设备。因此,该现有技术受到严重的效率低困扰,其中如果没有在LAN上特定地配置该路由器,与一个在LAN上的设备的连接不能被一个在该LAN外边的设备启动。


图1说明按照本发明实施例的系统的总体概述;图2说明按照本发明实施例的基本的DHCP数据包;图3说明按照本发明实施例的DHCP数据包附加的选择字段部分;图4说明按照本发明实施例的通过其设备被分配一个本地IP地址的过程;图5说明按照本发明的实施例的关联表;图6说明按照本发明的实施例的通过其一个数据包被从本地设备发送到因特网上的目的地地址的过程;和图7说明通过其数据包被在本地网络上接收和路由到该目的地设备的过程。
具体实施例方式
本发明的一个实施例包括一个同时担当动态主机配置协议(DHCP)服务器和网络转换地址(NAT)装置的设备。该设备可以在一个连接到该因特网的访问路由器内使用。基于通过在该DHCP服务器上运行的DHCP程序获得的符号名称,上述的设备路由输入数据包到在网络上的设备。该设备允许一个起源于该因特网的输入会话发起协议(SIP)网际协议(IP)呼叫被路由给使用一个专用的IP地址的该局域网(LAN)段上正确的设备。
DHCP是一个自动地分配IP地址给登录到一个IP网络上的客户站的软件程序。其消除了人工地分配永久性IP地址的需要。DHCP软件典型地在服务器上运行,并且也在诸如综合业务数字网络(ISDN)路由器和调制解调器路由器的网络设备中找到,这些网络设备允许多个用户访问该因特网。NAT是一种允许一个组织利用一个地址将其自身呈现给该因特网的的因特网工程任务组(IETF)标准。NAT转换每个LAN节点的地址为一个用于该因特网的IP地址,反之亦然。通过使各IP地址隐藏起来不为外部世界所知而同时起到一个防火墙的作用。SIP是一种提供IP电话技术服务的协议,诸如经LAN和该因特网的实时、交互式的语音和可视会议。其允许语音、图像和要传送的数据的任意组合。
图1说明按照本发明一个实施例的系统的总体概述。在本发明的一个实施例中,多个设备被连接到一个能够经由该因特网发送和接收数据的访问路由器115。图1说明实施例,这里第一计算机100、第二计算机105和SIP IP电话机110全部都位于连接到该路由器115的LAN上。该第一计算机100具有一个主机名或者符号名,“Victor”。该第二计算机105具有一个符号名,“Hugo”。该SIP IP电话机110具有符号名,“Yrsa”。
该第一计算机100、第二计算机105和SIP IP电话机110全部都被连接到该访问路由器115,该访问路由器115起用于在它们和在该因特网120上的目的地之间通信的通道的作用。对于第一计算机100发送数据到在该因特网上的目的地地址,该第一计算机100必须发送一个数据包给该路由器115,其然后发送该数据包给在该因特网120上的该目的地地址。
为了使该LAN上的设备从因特网上的站点接收数据包,该路由器115必须配置成路由特定数据包给一个特定的设备。换句话说,该路由器115必须从一个接收的数据包中推断该数据包的目的地地址。为了确定哪个数据包必须被路由给在该LAN上的设备,该路由器115典型地必须具有有关每个设备的先验知识。
为了经该LAN或者向该LAN外部的因特网站点发送和接收数据包,一个设备必须具有一个IP地址。如图1所示,该第一计算机100具有“专用的”IP地址10.0.1.1.,该第二计算机105具有专用的IP地址10.0.1.2,以及该SIP IP电话机110具有专用的IP地址10.0.1.3。专用的IP地址是一个由在该LAN外边的设备不知道或者不可直接访问的IP地址。在这个例子中,该访问路由器115具有“公用的”IP地址89.20.171.92。公用的IP地址是由在该LAN之内或者在该LAN之外的设备可访问的IP地址。每当一个数据包被从在因特网120上的目的地发送给该LAN时,该数据包被发送给路由器115的公用的IP地址。一旦接收到,该路由器115然后可以发送该数据包给在LAN上的一个设备的本地IP地址。
在本发明的一个实施例中,可变数量的设备可以连接到LAN上的路由器115。为使设备能从网络外边发送和接收数据,该设备可以被分配一个本地IP地址。路由器115可以被用于去分配IP地址给在该LAN上的设备。为了分配设备一个本地IP地址,该设备可以给该路由器115发送一个IP地址请求,然后路由器115分配一个本地IP地址给该设备。每当设备被断电,然后再通电时,均可以分配一个IP地址,该IP地址不需要一定与在断电之前分配给该设备的IP地址相同。DHCP是一个由路由器115可执行的程序,其可被用于分配一个本地IP地址给在该LAN上的设备。
图2说明按照本发明实施例的基本的DHCP数据包200。当一个在网络上的设备给路由器115发送一个IP地址分配请求时,该请求是以DHCP数据包200的形式。该数据包包含不同的信息字段,诸如操作(op)码205。操作码205被用于表示是否该数据包是一个用于IP地址的请求或者一个IP地址的分配。如果一个IP地址请求被发送,用于DHCP数据包的该操作码205被设置为“1”。一个DHCP服务器可以设置在路由器115上,其通过发送一个具有操作码205设置为“2”的DHCP数据包响应该请求。
在该DHCP响应中,分配给客户的该IP地址被存储在“yiaddr”字段210中。虽然基本的DHCP数据包200不包含该客户名称,大多数的客户在该DHCP请求分组200的“选择”字段220中包括一个可选择的字段。
图3说明按照本发明实施例的DHCP数据包附加的主选择字段部分300。该主选择字段300用于存储请求一个IP地址的设备的符号名称。该主选择字段300位于该DHCP请求分组200的选择字段220中。该主选择字段300由多个字节组成。第一个字节305表示用于该选择字段的DHCP选择码。DHCP选择码“12”表示主机名选项。第二个字节310表示该主机名的长度。图3示出其中可以存储具有四个字符的主机名的字节。第一个字节315、第二个字节320、第三个字节325和第四个字节330可以在主选择字段300中以连续的字节存储。如果该符号名称“Victor”被存储在主选择字段300中,第二个字节将被设置为“6”,其是该主机名的长度。因而存在“6”个字节,其中分别存储名称的字母之一。
在本发明的一个实施例中,在该LAN上任何设备发送一个IP地址请求之前,该路由器115不具有任何的有关这些设备的名称的信息。当该路由器115接收一个以DHCP数据包的形式的IP地址请求时,该路由器115从该主选择字段300获取该设备的符号名称,分配该IP地址,并且保留一个表,其中该分配的IP地址与该设备的符号名称相关。例如,如果该DHCP服务器分配本地IP地址10.0.1.1给具有符号名称“Victor”的设备,该表将相关该名称“Victor”与本地IP地址10.0.1.1。
图4说明按照本发明实施例的通过其设备被分配一个本地IP地址的过程。首先,该设备被引导启动400。然后,该设备发送405一个IP请求给该DHCP服务器。该DHCP服务器典型地被设置在路由器115上。当引导时该设备不需要知道该DHCP服务器的位置。在本发明的一个实施例中,一个设备可以被引导,然后可以发送一个请求分配一个IP地址给在该LAN上的所有设备的DHCP数据包200。具有该DHCP服务器的设备将接收一个DHCP数据包200,分配一个IP地址给该设备,并且发送一个DHCP响应数据包给该设备。该DHCP响应数据包包含分配给该设备的本地IP地址。
接下来,在步骤410,该DHCP服务器接收IP请求。然后,该DHCP服务器分配415一个本地IP地址给该设备,并且在存储器中存储该设备的符号名称。该设备的符号名称被与该分配的IP地址相关420,并且然后被存储在存储器中。最后,一个具有该分配的IP地址的DHCP响应数据包被发送425给设备。
本发明的一个实施例使用一个符号名称和分配的本地IP地址表,以路由输入数据包给在该LAN上的设备。参考图1,该第一计算机100具有一个符号名称Victor。当该第一计算机100最初引导启动时,其发送一个DHCP IP地址请求分组给在路由器115上的该DHCP服务器。该路由器115然后分配给该第一计算机100一个本地IP地址。在这种情况下,该本地IP地址是“10.0.1.1”。如果一个数据包由路由器115从该LAN外面接收,并且被发给在该公用的IP地址“89.20.171.92”上的“Victor”,该路由器115使用该关联表来确定在该LAN上的哪个设备具有该符号名称“Victor”。在这样一个例子中,该数据包将由路由器115接收,并且发送给该第一计算机100。
图5说明按照本发明实施例的关联表500。在图1中说明的该LAN上所有的设备已经被分配本地IP地址之后,就完成了用于该LAN的关联表500。该关联表500具有一个“主机名”列505和一个“分配的IP地址”列510。对于在图1中说明的该LAN,该主机名是“Victor”,“Hugo”和“Yrsa”,并且该分配的IP地址分别是“10.0.1.1”,“10.0.1.2”和“10.0.1.3”。
当一个数据包被从在该LAN上的设备发送到该路由器115,并且然后发送到一个在该因特网上的目的地时,该设备发送一个带有该设备的本地IP地址和端口编号的数据包。该IP地址被用于去识别该设备,和该端口编号表示在该设备上的服务。例如,如果该IP地址“100.100.100.100”是一个HTTP服务器,其端口编号是“80”,它是用于HTTP的工业标准端口编号。如果其是一个Telnet服务器,其端口编号是“23”,它是用于Telnet的工业标准端口编号。
本发明的一个实施例可以使用NAT来呈现仅具有该路由器115的公用的IP地址的整个LAN和在其上设置的所有的设备。在图1说明的例子中,该LAN的公用的IP地址是“89.20.171.92”,即该路由器115的IP地址。由该网络接收的所有的数据包被发给该路由器115的公用的IP地址,但是,该所有的数据包可能是针对该LAN上所有设备。因此,该路由器115被配置成路由数据包到在该LAN上特定的设备。如果带有符号名称“Hugo”的第二计算机105启动一个到在该因特网上的IP地址诸如“95.10.1.5”的连接,该路由器115生成一个用于第二计算机105的NAT会话项。该项包含一个从95.10.1.5发送给公用的IP地址89.20.171.92的业务应该转发给10.0.1.2的命令。此外,从10.0.1.2发送的数据包改变为包含该公用的IP地址89.20.171.92,作为该源IP地址。因此,当一个来自地址95.10.1.5的数据包从该因特网抵达时,该路由器115使用该存储的NAT项并且转发该数据包给10.0.1.2。
当一个数据包被从在该网络上的一个设备发送到在该网络外边的因特网上另一个设备时,该数据包包含一个源IP地址和端口编号,以及一个目的地IP地址和端口编号。如果该第一计算机100“Victor”在IP地址“100.100.100.100”上发送一个指定给HTTP服务器的数据包,该数据包将包含该源IP地址“10.0.1.1”和一个源端口编号。该源端口编号是由该第一计算机100选择的。例如,该第一计算机可以分配端口编号“1050”作为该源端口。该目的地IP地址是“100.100.100.100”并且该目的地端口编号是“80”。当该路由器11 5接收数据包时,其首先验证在该LAN上已经没有别的设备使用该源端口“1050”。如果有另一个设备正在使用那个端口编号的话,该路由器给该数据包分配一个新的源端口编号。此外,该路由器115将该源IP地址从10.0.0.1改变到该路由器的公用的IP地址“89.20.171.92”。
图6说明按照本发明的实施例的通过其一个数据包被从本地设备发送到因特网上的目的地地址的过程。首先,该本地设备给该路由器115发送600一个数据包。该数据包包含一个源本地IP地址和端口编号,以及一个目的地IP地址和端口编号。其次,该路由器115变换605该本地IP地址为公用的IP地址。更具体地说,该路由器115从该数据包中除去该本地IP地址,并且插入该公用的IP地址。在图1说明的该实施例中,该公用的IP地址“89.20.171.92”将被插入该数据包中。然后,如果另一个本地设备已经使用该相同的源端口编号,该路由器115改变610该源端口编号。最后,该路由器115经该因特网发送615该数据包到该目的地IP地址。
当一个连接不是由在该LAN上的设备启动时,该路由器115被配置成发送所接收的数据包到在该LAN上正确的设备。在本发明的一个实施例中,该系统使用关联表500去确定哪一个本地设备来路由一个输入的数据包。例如,一个输入数据包可以具有存储在该输入数据包的数据包有效载荷中的该目的地设备的符号名称。然后,该系统可以从该数据包中提取该符号名称,从该关联表500中确定该本地IP地址,并且路由该数据包到正确的本地设备。例如,在图1示出的实施例中,一个发给符号名称“yrsa@89.20.171.92”的发送该公用的IP地址“89.20.171.92”的数据包将路由给该本地IP地址“10.0.1.3”,其对应于该符号名称“Yrsa”。因此,一个SIP IP电话连接可以由在该LAN外边的设备通过选址一个数据包到该路由器115的公用的IP地址而启动,并且在该数据包有效载荷中包括该符号名称“yrsa@89.20.171.92”。
图7说明在本地网络上数据包被接收和路由到目的地设备的过程。首先,该路由器155从在该因特网上的远程的位置接收700一个数据包。其次,该路由器115在该数据包有效载荷中搜索705一个符号名称地址。如果存在一个,该路由器115利用该关联表500来将该符号名称与一个相关的本地IP地址匹配710。最后,该路由器115发送715该数据包到具有该设置的符号名称的该本地设备。
虽然上述的描述引用了本发明特定的实施例,应该明白,不脱离它的精神上可以进行很多的修改。伴随的权利要求意图是覆盖作为落在本发明真实的范围和精神内的上述的修改。因此,目前公开的实施例无论从哪一点来看被认为是说明性的而不是限制性的,本发明的范围由所附的权利要求,而不是由上文的描述表示,并且因此,在权利要求的等效性含义和范围内的所有变化意欲被包含在其中。
权利要求
1.一种使用动态主机配置协议(DHCP)地址分配以在网络地址转换(NAT)环境中确定所接收的数据包的本地目的地地址的系统,该系统包括DHCP服务器,用于分配本地网际协议(IP)地址给网络上的设备;NAT设备,用于执行网络地址转换;数据包设备,用于接收数据包;和寻址设备,用于确定由上述数据包设备接收的数据包的本地目的地地址,其中该寻址设备使用一个利用该网络上的设备的符号名称和与这些设备相关的本地IP地址生成的关联表。
2.权利要求1的系统,其中该数据包设备是一个路由器。
3.权利要求2的系统,其中该DHCP服务器被设置在路由器上。
4.根据权利要求2的系统,其中该NAT设备被设置在该路由器上。
5.根据权利要求1的系统,其中该寻址设备从该数据包中确定一个设备的目的地地址的符号名称,利用上述关联表确定该数据包的目的地地址,并且使该数据包发送到该目的地地址。
6.一种使用动态主机配置协议(DHCP)地址分配以在网络地址转换(NAT)环境中确定所接收的数据包的本地目的地地址的方法,该方法包括给网络上的设备分配本地网际协议(IP)地址;执行网络地址转换;从一个远程网络接收数据包;使用由该网络上的设备的符号名称和与这些设备相关的本地IP地址生成的关联表;和确定由该数据包设备接收的数据包的本地目的地地址。
7.根据权利要求6的方法,其中一个路由器接收该数据包。
8.根据权利要求7的方法,其中该路由器包括一个DHCP服务器。
9.根据权利要求7的方法,其中该路由器包括一个NAT设备。
10.根据权利要求6的方法,进一步包括从该数据包中确定设备的目的地地址的符号名称,利用该关联表确定该数据包的目的地地址,并且使该数据包发送给该目的地地址。
11.根据权利要求6的方法,其中该远程网络是一个因特网。
12.一种使用动态主机配置协议(DHCP)地址分配以在网络地址转换(NAT)环境中确定所接收的数据包的本地目的地地址的装置,该装置包括名称获取设备,用于确定网络上的设备的符号名称;地址获取设备,用于确定在该网络上的设备的本地网际协议(IP)地址;和数据转换设备,利用一个数据包接收设备转换数据;和寻址设备,用于确定由该数据包设备接收的数据包的本地目的地地址,其中该寻址设备使用由该网络上的设备的符号名称和与这些设备相关的本地IP地址生成的关联表。
13.根据权利要求12的装置,其中该数据包接收设备是一个路由器。
14.根据权利要求13的装置,其中一个DHCP服务器被设置在路由器上。
15.根据权利要求13的装置,其中一个NAT设备被设置在该路由器上。
16.根据权利要求12的装置,其中该寻址设备从该数据包中确定设备的目的地地址的符号名称,利用该关联表确定该数据包的目的地地址,并且使该数据包发送给该目的地地址。
17.一种在网络上启动网际协议(IP)电话会话的系统,包括IP电话设备;用于接收数据包的数据包设备;DHCP服务器,用于给该网络上的设备分配本地IP地址;NAT设备,用于执行网络地址转换;关联设备,用于由该网络上的设备的符号名和与这些设备相关的本地IP地址生成一个关联表;和寻址设备,用于基于上述关联表确定由上述数据包设备接收的每个数据包的本地目的地地址。
18.根据权利要求17的系统,其中该数据包设备是一个路由器。
19.根据权利要求18的系统,其中该DHCP服务器被设置在路由器上。
20.根据权利要求18的系统,其中该NAT设备被设置在路由器上。
21.一种使用动态主机配置协议(DHCP)地址分配以在网络地址转换环境中确定所接收的数据包的本地目的地地址的寻址设备,包括一个计算机可读介质;和一个存储在计算机可读介质上的计算机可读程序代码,具有以下的命令给在网络上的设备分配本地网际协议(IP)地址;执行网络地址转换;从一个远程网络接收远程的数据包;利用由该网络上的设备的符号名和与该设备有关的该本地IP地址生成一个关联表,和确定由该数据包设备接收的该数据包的本地目的地地址。
22.根据权利要求21的寻址设备,其中一个路由器接收该数据包。
23.根据权利要求22的寻址设备,其中该路由器包括一个DHCP服务器。
24.根据权利要求22的寻址设备,其中该路由器包括一个NAT设备。
25.根据权利要求21的寻址设备,其中该计算机可读程序代码进一步包括以下指令从该数据包中确定设备的目的地地址的符号名称,利用该关联表确定该数据包的目的地地址,并且使该数据包发送给该目的地地址。
26.根据权利要求21的寻址设备,其中该远程网络是一个因特网。
全文摘要
一种使用动态主机配置协议(DHCP)地址分配以在网络地址转换(NAT)环境中确定所接收的数据包的本地目的地地址的系统。该系统包括给在网络上的设备分配本地IP地址的DHCP服务器;执行网络地址转换的NAT设备;和接收数据包的数据包设备。该系统进一步包括一个寻址设备,确定由该数据包设备接收的该数据包的本地目的地地址。该寻址设备使用由网络上的设备的符号名称和与这些设备有关的本地IP地址生成的关联表。
文档编号H04L29/12GK1611053SQ02816808
公开日2005年4月27日 申请日期2002年5月30日 优先权日2001年6月27日
发明者尼尔斯·贝耶尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1