检测在本地网络上运行的应用程序以便自动执行网络地址翻译的设备及方法

文档序号:7641022阅读:115来源:国知局

专利名称::检测在本地网络上运行的应用程序以便自动执行网络地址翻译的设备及方法
技术领域
:本发明涉及一种用于检测在本地网络上运行的应用程序以自动执行网络地址翻译配置的互连设备及方法。
背景技术
:因特网协议(IP)版本4的地址数目是有限的服务提供商典型地给它们的每一个订户的因特网网关提供一个公共IP地址。在本地网络上,因特网网关典型地管理一组本地IP地址,并使用动态主机配置协议(DHCP)将这样的本地IP地址分配给位于本地网络的设备。为了使位于本地网络的设备能够通过因特网进行通信,因特网网关设备将设备的私有IP地址翻译成因特网网关的公共IP地址。通常将这种翻译称为网络地址和端口翻译(NAPT)。当应用程序在位于本地网络的设备上运行时,该应用程序用作服务器并接受来自因特网的输入连接,因特网网关需要知道来自因特网的输入连接并非去往它本身而是前往设备这一事实。想要使用这种应用程序(示例是web服务器、计算机游戏服务器或对等程序)的用户需要配置因特网网关,以使因特网网关知道将来自因特网的哪个输入连接转发给哪个设备(并相应地翻译IP地址)。现有技术中的因特网网关提供了一种端用户可以(典型地基于UDP或TCP端口号)配置给哪个本地网络设备分配哪个应用该程序的方式。对于端用户而言,NAPT规则的手动配置比较麻烦且容易混淆。技术背景较为复杂,并且难以解释。在大多数情况下,用户尝试该应用程序,并且可能面对某些无法预期工作的应用程序
发明内容本发明涉及一种用于检测位于本地网络的应用程序运行设备以及用于自动执行网络地址翻译配置的设备及方法。为此,本发明涉及一种互连设备,其包括-到第一网络的第一接口;-到第二网络的第二接口;-路由装置,用于在第一接口与第二接口之间路由分组;-用于检测与第一网络相连的本地设备的装置,该本地设备包括至少一个应用程序;-地址翻译装置,用于根据在该本地设备上运行的应用程序,对来自第一网络并去往第二网络的分组的源地址进行翻译,以及对来自第二网络并去往第一网络的分组的目的地址进行翻译。根据本发明,该互连设备包括应用程序检测装置,用于检测在本地设备上运行的应用程序,并响应于检测到的应用程序对该地址翻译装置进行配置。令人惊讶地,该应用程序检测装置在没有用户参与的情况下,响应于检测到的应用该程序来自动更新地址翻译装置。然后,根据新检测到的应用程序来执行该翻译。在优选实施例中,互连设备的应用程序检测装置在本地设备的端口中识别现用端口(activeport),至少在传输控制协议端口或用户数据报协议端口中选择该端口。在TCP/IP网络的情况下,应用程序类型与设备的UDP或TCP端口匹配。该应用程序检测装置利用这一特点来检测通知应用该程序正在运行的现用端口。非现用端口(nonactiveport)意味着该端口上没有应用程序在运行。根据本发明的实施例,当应用程序检测装置在本地设备上检测到未在另一本地设备上检测到的应用程序时,该应用程序检测装置响应于检测到的应用程序来配置地址翻译装置。当互连设备检测到已在另一本地设备上检测到的应用程序时,应用程序检测装置不对地址翻译装置进行配置。仅考虑首先检测到的应用程序。根据本发明的实施例,互连设备包括用户接口,用于使用户能够访问在本地设备上运行的、检测到的应用程序的列表,以及配置地址翻译装置。优选地,用户接口使用户能够启用或禁用应用程序检测装置。有利地,用户接口至少可通过图形用户界面或通过运程管理装置来访问。这使得能够本地或远程地管理该设备。根据本发明的实施例,互连设备包括用于设置参考应用程序列表的装置,该应用程序检测装置检测列表中的应用程序。这使得能够限制由应用程序检测装置所处理的应用程序集合。有利地,用户接口使得能够监控该列表。这使得能够本地或远程地控制该列表。本发明还涉及一种用于配置接口设备的方法,该接口设备包括到第一网络的第一接口;以及到第二网络的第二接口;路由装置;地址翻译装置,用于根据在本地设备上运行的应用程序,对来自第一网络并去往第二网络的分组的源地址进行翻译,以及对来自第二网络并去往第一网络的分组的目的地址进行翻译。根据本发明,该方法包括检测在本地设备上运行的应用程序,以及响应于检测到的应用程序来配置地址翻译装置。优选地,检测应用程序的步骤是通过在本地设备的端口中识别现用端口而执行的,至少在传输控制协议端口或用户数据报协议端口中选择该端口。根据实施例,当应用程序检测装置在本地设备上检测到未在另一本地设备上检测到的应用程序时,执行响应于检测到的应用程序来配置地址翻译装置。本发明还涉及一种地址翻译模块,包括用于检测连接至第一网络的设备的装置,该设备包括至少一个应用程序;以及翻译装置,根据在该设备上运行的应用程序,对来自第一网络并去往第二网络的分组的源地址进行翻译,以及对来自第二网络并去往第一网络的分组的目的地址进行翻译。根据本发明,该模块包括应用程序检测装置,用于检测在本地设备上运行的应用程序,并响应于检测到的应用程序来配置地址翻译装置。例如,该模块可以是被包括到诸如互连设备之类的设备内的集成电路。参照考虑附图,通过以下绝非限制的实施例和执行示例,更好地理解并演示了本发明,在附图中图1是遵从本发明的互连设备的框图;图2是示出了检测过程的流程图3是示出了IP地址的翻译的流程图。具体实施例方式在图1中,示出的框完全是功能实体,该功能实体不必对应于物理上分离的实体。也就是说,这些功能实体可以以软件的形式开发,或者可以以一个或若干个集成电路来实现。示例性实施例处于通过TCP/IP网络进行传输的框架范围内,但是本发明不局限于此特定环境,并且可应用于其他类型的网络内。图1描述了根据本实施例的互连设备。例如,该互连设备可以是诸如DSL调制解调器(针对"数字订户线路")或将驻留网络连接至公共因特网的驻留网关之类的调制解调器。互连设备1包括两个网络接口,第一接口2和第二接口3,第一接口2和第二接口3分别将互连设备1连接至第一网络IO和第二网络11。在下文中,第一网络ll也被称为本地网络。互连设备1包括路由装置4,用于在第一网络、第二网络与互连设备l自身之间路由分组。该路由装置应用了由地址翻译装置5基于网络翻译地址协议所定义的规则。该互连设备还包括DHCP服务器8,用于给本地网络上用作DHCP客户端的设备提供IP地址。该互连设备还包括用于识别第一网络10上的设备的装置。该互连设备包括用于识别连接至第一网络的设备13的设备检测装置6。该互连设备包括应用程序检测装置7,用于检测在每一检测到的设备上运行的应用程序。该互连设备还包括用户接口9。在本实施例中,地址翻译装置遵从RFC3022中所定义的网络地址端口翻译(表示为NAPT)。NAPT是一种通过其将网络地址及其TCP/UDP(传输控制协议/用户数据报协议)端口翻译为单一网络地址及其TCP/UDP端口的方法。这使得能够将具有私有地址的区域连接至具有全球唯一注册地址的区域。现在如图2所示,描述一种检测应用程序的机制首先,当设备连接至第一网络时,该设备典型地向互连设备中所包括的DHCP服务器请求IP地址(Sl)。DHCP服务器提供IP地址并保持对新设备的跟踪(S2)。互连设备中的设备检测装置使用DHCP服务器信息来识别第一网络上存在的新设备。它检査DHCP服务器上的新条目(S3&S4)。对于检测第一网络上的运行设备(例如,具有静态IP地址的设备)的设备检测装置的备选是查找互连设备中的地址解析协议(ARP)表。在ARP表中示出了已经连接至第一网络的设备。然后,该互连设备检查在检测到的设备上运行的应用程序。这在互连设备询问检测到的设备这种应用程序是否在运行的现用过程中执行(S5&S6)。根据实施例,应用程序检测装置检查可到达的检测到设备的端口;端口对应于确切的应用程序。在TCP的情况下,该互连设备将具有被设置为1的SYN标记的TCP分组发送至设备的每一个端口。与"同步"相对应的SYN通常用于在TCP中请求打开连接。该互连设备作为尝试发起与设备上服务器的连接的现用打开的客户端,其在于通过给定TCP端口号发起到设备的连接。如果存在用于在该端口上进行监听的应用程序,则该设备以具有被设置为1的SYN和ACK标记的TCP分组作出响应。如果该端口上不存在应用程序,则该设备发送具有被设置为"端口不可到达"的"代码"的ICMP(因特网控制消息协议)目的不可到达消息。在UDP的情况下,发送至设备上的端口的消息是具有空有效载荷或者无意义有效载荷的UDP数据报。如果不存在在该端口上运行的应用程序,则该设备发送具有被设置为"端口不可到达"的"代码"的ICMP(因特网控制消息协议)目的不可到达消息。如果该端口上存在应用程序,则该设备可以以或不以消息作出响应。不发送ICMP目的不可到达消息的事实表示该端口上存在应用程序。该互连设备保持本地设备连同在每一设备上运行的应用程序的列表。这使得互连设备能够具有在第一网络上运行的应用程序的映射。网络地址翻译一次只能引用每一应用程序类型中的一个应用程序;来自第二网络的客户端通过使用WEB服务器端口,只能访问第一网络上的一个WEB服务器。下面的表是对这种映射的演示,该映射包括以下条目在第一网络上检测到的设备、在每一检测到的设备上运行的应用程序、以及互连设备所考虑的应用程序。在示例中,已经通过使用在其上运行的应用程序检测到了四个本地设备。所考虑的应用程序在每一个设备上都是不同的。甚至膝上型计算机1和桌上型计算机1都包括FTP和WEB服务器。考虑了在膝上型计算机1上运行的FTP服务器和在桌上型计算机1上运行的WEB服务器用于翻译。<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>该互连设备包括一些规则,并将其应用于在本地网络中的若干个设备上的若干个相同类型的应用程序中选择单个应用程序。在相同类型的若干个应用程序中选择应用程序的规则如下-规则1:仅单个预定设备上的应用程序。例如,考虑在桌上型计算机1上运行的WEB服务器,但不是在第一网络上的任意其他设备。-规则2:仅给定类型的所有设备上的应用程序。该设备可以是桌上型计算机,并且如果在桌上型计算机而不是膝上型计算机上运行时,考虑WEB服务器。-规则3:考虑所有设备上的应用程序。可以在本地网络中的所有设备上(桌上型计算机、膝上型计算机等)考虑WEB服务器。应用程序检测装置根据已设定的规则执行检测过程。如果设定了规则l,则仅在指定设备上发生对应用程序的检测。如果设定了规则2或规则3,则若干个设备可以运行同一个应用程序。选择是必要的,以定义网络地址翻译要考虑哪一个应用程序。如果若干个WEB服务器在家庭网络中运行,则仅其中之一可以从第二网络访问。如下执行对应用程序的检测-在其中首先识别出应用程序的设备是所考虑的设备。如果稍后在另一设备上识别出相同应用程序,则不考虑该另一设备。在另一实施例中,在用户界面上出现用于指示该应用程序已被检测到、但未被考虑的指示。然后,本地用户或远程管理可以通过用户界面访问地址翻译装置,并修改翻译规则,以选择特定类型的应用程序来代替最初选择的应用程序。-备选地,设备具有比其他设备高的优先级。当在该设备上检测到应用程序时,在该设备上考虑该应用程序,而不再是先前设备上的应用程序。例如,在家庭中,父母使用的桌上型计算机可以具有比孩子使用的桌上型计算机高的优先级。此外,考虑在父母的桌上型计算机上运行的WEB服务器,而不是在孩子的桌上型计算机上运行的WEB服务器。在检测到相关应用程序之后,应用程序检测装置使用与应用程序和设备识别相对应的端口来更新网络地址翻译。该设备识别可以是MAC地址或本地IP地址。如果检测到的应用程序是HTTP服务器,则指示的端口是端口号为80的TCP端口。下面是网络地址翻译的示例。本地设备本地地址应用程序及相关端口号膝上型计算机1192,168.10.2FTP(21/TCP)膝上型计算机2192.168.10.3没有应用程序桌上型计算机1192.168.10.4HTTP(80/TCP)桌上型计算机2192.168,10.5Telnet(23/TCP)IRC(194/TCP)当设备检测装置检测到设备改变了其IP地址,则该装置也更新其端口映射。当设备断电时,该端口映射在地址翻译装置中保持不变。在将设备从本地网络中移除时,修改端口映射。移除与该设备相对应的条目。当某一设备在给定时间量内没有被发现,或者被用户经由用户接口手动删除时,将该设备视为被从本地网络中移除。时间量可以与最大值"未发现限制"相对应。例如,可以将时间量设置为"一周"的缺省值。该时间量还可以由用户配置。在另一实施例中,互连设备的应用程序检测装置不检测在本地网络的设备中运行的所有应用程序。应用程序检测装置只检査受限应用程序集合中的应用程序。该应用程序和设备集合已经在参考应用程序和参考设备的受限列表中示出。该列表还包括下列条目-应检查的应用程序列表。例如TCP/HTTP或TCP/FTP。-针对这样的应用程序应检查的设备列表。例如桌上型计算机和膝上型计算机。-在若干个设备的情况下,可能为设备之间的优先等级。-针对这样的设备应检查的应用程序列表。例如,针对所有桌上型计算机和膝上型计算机的HTTP,仅针对桌上型计算机的FTP。-应用程序的状态,其是否被检测到,以及是否被选择用于网络地址翻译。该列表可通过用户接口访问。该用户接口可以由用户通过图形用户界面来访问,或者由服务器通过远程管理来访问。该列表可以由远程管理装置修改或由用户本地修改。存在用于重新设置列表、以及用于返回缺省值的装置。缺省值的示例可以是考虑本地网络中的所有设备,以及HTTP(80/TCP)、FTP(21/TCP)应用程序。该列表是互连设备配置的一部分,该互连设备配置存储在存在于互连设备永久性存储器中的文件中。在启动互连设备时,加载文件,以使得设备中的所有模块都获得其配置。可以配置互连设备,以便使用手动模式而不是用自动模式。可以通过用户接口启用或禁用网络地址翻译的自动配置。当禁用自动模式时,该手动模式是配置网络地址翻译的唯一方式。当启用自动模式时,该手动模式仍然可用于改变和/或否决创建的自动NAPT规则。图3是地址翻译机制的示例。该互连设备接收作为来自第二设备的HTTP请求的IP分组(ST1)。目的地址141.10.10.2/端口80是互连设备的IP地址。它使用地址翻译装置检查本地网络上的设备是否运行HTTP服务器应用程序(ST2);g卩,它检查该映射是否包括具有诸如HTTP服务器之类应用程序的本地设备。当第一设备(13)运行HTTP应用程序时,使用作为第一设备的本地地址的新的目的地址192.168.10.2/端口80来将请求路由至该设备(ST3)。然后,第一设备向第二设备发送响应(ST4)。该互连设备使用其源地址来翻译第一设备的源地址(ST5),并向第二设备发送响应(ST6)。权利要求1.一种互连设备(1),包括-到第一网络(10)的第一接口(2),-到第二网络(11)的第二接口(3),-路由装置(4),用于在所述第一接口(2)与所述第二接口(3)之间路由分组,-用于检测与所述第一网络(10)相连的本地设备(13)的装置,所述本地设备(13)包括至少一个应用程序,-地址翻译装置(5),用于根据在所述本地设备(13)上运行的应用程序,对来自第一网络(10)并去往第二网络(11)的分组的源地址进行翻译,以及对来自所述第二网络(11)并去往所述第一网络(10)的分组的目的地址进行翻译,所述互连设备(1)的特征在于,其包括应用程序检测装置(7),所述应用程序检测装置(7)用于检测在所述本地设备(13)上运行的应用程序,并响应于检测到的应用程序来配置所述地址翻译装置。2.根据前一权利要求所述的互连设备(1),其特征在于,所述应用程序检测装置(7)在所述本地设备(13)的端口中识别现用端口,至少在传输控制协议端口或用户数据报协议端口中选择所述端口。3.根据前一权利要求所述的互连设备(1),其特征在于,当所述应用程序检测装置(7)在本地设备上检测到未在另一本地设备上检测到的应用程序时,所述应用程序检测装置(7)响应于检测到的应用程序来配置所述地址翻译装置。4.根据前一权利要求所述的互连设备(1),其特征在于,所述互连设备包括用户接口(9),所述用户接口(9)允许用户访问在本地设备上运行的、所述检测到的应用程序的列表,以及配置所述地址翻译装置。5.根据前一权利要求所述的互连设备(1),其特征在于,所述用户接口(9)允许用户启用或禁用应用程序检测装置(7)。6.根据权利要求4至6之一所述的互连设备(1),其特征在于,所述用户接口(9)至少可通过图形用户界面或通过远程管理装置来访问。7.根据前述任一权利要求所述的互连设备(1),其特征在于,所述互连设备(1)包括用于设置参考应用程序的列表的装置,所述应用程序检测装置检测所述列表之中的应用程序。8.根据前一权利要求所述的互连设备(1),其特征在于,所述用户接口(9)允许监控所述参考应用程序的列表。9.一种用于配置互连设备(1)的方法,所述互连设备(1)包括到第一网络(10)的第一接口(2);到第二网络(11)的第二接口(3);路由装置(4);地址翻译装置(5),用于根据在所述本地设备(13)上运行的应用程序,对来自所述第一网络(10)并去往所述第二网络(11)的分组的源地址进行翻译,以及对来自所述第二网络(11)并去往所述第一网络(10)的分组的目的地址进行翻译,所述方法在检测到与所述第一网络(10)相连的本地设备(13)的设备处包括以下步骤,所述方法的特征在于包括步骤-检测在所述本地设备(13)上运行的应用程序,-响应于检测到的应用程序来配置所述地址翻译装置。10.根据前一权利要求所述的方法,其特征在于,检测应用程序的步骤是通过在所述本地设备(13)的端口之中识别现用端口而执行的,至少在传输控制协议端口或用户数据报协议端口之中选择所述端□。11.根据前一权利要求所述的方法,其特征在于,当所述应用程序检测装置在本地设备上检测到未在另一本地设备上检测到的应用程序时,执行响应于检测到的应用程序来配置地址翻译装置的步骤。12.—种地址翻译模块,包括-用于检测连接至第一网络的设备(13)的装置,所述设备(13)包括至少一个应用程序,以及-翻译装置,根据在所述设备(13)上运行的应用程序,对来自所述第一网络(10)并去往第二网络(11)的分组的源地址进行翻译,以及对来自第二网络(11)并去往第一网络(10)的分组的目的地址进行翻译,所述地址翻译模块的特征在于,其包括应用程序检测装置(7),所述应用程序检测装置(7)用于检测在所述本地设备(13)上运行的应用程序,并响应于检测到的应用程序来配置所述地址翻译装置。全文摘要本发明涉及一种互连设备(1),其包括到第一网络(10)的第一接口(2);到第二网络(11)的第二接口(3);路由装置(4),用于在第一接口(2)与第二接口(3)之间路由分组;用于检测与第一网络(10)相连的设备(13)的装置,设备(13)包括至少一个应用程序;以及地址翻译装置(5),用于根据在所述本地设备(13)上运行的应用程序,对来自第一网络(10)的去往第二网络的分组的源地址进行翻译,以及对来自第二网络(11)的去往第一网络(10)的分组的目的地址进行翻译。该互连设备包括应用程序检测装置(7),用于检测在检测设备(13)上运行的应用程序,并响应于检测到的应用程序来配置该地址翻译装置。文档编号H04L12/24GK101317424SQ200680044230公开日2008年12月3日申请日期2006年10月20日优先权日2005年11月30日发明者德克·范德波尔,西尔万·迪梅申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1