使能对本地服务器上的多个服务的外部接入的利记博彩app
【技术领域】
[0001]本发明涉及使能对本地服务器的多个服务的接入,其中该本地服务器位于私有网内,并且接入尝试由私有网之外的应用发起。其特别适用于私有网络通过网络地址转译器(NAT)功能连接到公共网的情形。
【背景技术】
[0002]除传统电话服务之外,目前实施的用于移动设备的通信系统允许用户容易地接入数据服务。通常使用的数据服务包括电子邮件和网络浏览。这些现存的数据服务依赖于使移动设备作为客户端,其中数据被(直接地或者通过相关服务的订购)请求,并且随后从网络服务器被推送到该移动设备(基于例如网络运营商的域或者更宽的互联网)。
[0003]机器到机器(m2m)通信指基本上不需要人类干预的设备之间的信息交换。这类通信可以被现存的移动通信网络所提供的数据服务所促进。例如,家用电表可以被耦合到(安装有S頂卡的)移动设备,从而通过该移动设备已经接入的移动通信网络,周期地将电表读数发送至供电公司的中央服务器。这类服务在由设备发起该通信的情况下运行良好。然而,要实施要求中央服务器(或其他远程点)来发起通信的服务可能是困难的。再次考虑上述示例,当用户检测到其仪器错误,并将错误报告给供电公司,根据该报告该供电公司希望轮询用户的家用电表以从其获得多种数据时,这一场景可能出现。
[0004]在当今的互联网,假定IPv4地址包括32比特,则IPv4地址空间严重受限。虽然IPv6的标准化有更多的地址空间,(特别是与互联网路由器有关的)遗留问题意味着IPv4仍占主导。因此移动运营商必须接受IPv4的约束。特别地,运营商已经不得不寻找途径以允许数百万计的移动用户接入IP数据服务,尽管事实上运营商自身只被分配了相对少数的唯一的IPv4地址。这通常通过被称为网络地址转换的处理来实现,通过该转换,移动设备被置于网络地址转译器(NAT)之后。在运营商的域内,私有IP地址被用于识别连接的移动设备。这些私有IP地址仅在运营商域内是唯一的。当被移动设备所需要时,NAT分配(来自可用地址和端口池的)外部IP地址和端口。使用3GPP术语,这一 IP地址分配将可能在分组数据协议O3DP)上下文创建时出现。典型地,多个移动设备将共享单个外部IP地址。移动设备将从一系列可用的端口号中随机地选择所谓的“暂时”端口号。这一暂时端口号作为源端口号被包含在针对移动节点发出的分组内,并作为目标端口号量被包括在针对该移动节点的输入分组内。NAT —方面维护外部IP地址和端口号之间的映射,另一方面维护私有IP地址和端口号之间的映射。针对输入的分组,NAT利用该映射执行IP地址和端口号转换。IP地址和端口号转换还由NAT基于该映射针对发出的分组执行。
[0005]进行NAT的问题在于,由于移动设备不具有永久分配的外部IP地址以及端口号,一般不可能使外部设备发起与该移动设备的通信会话。被映射到特定的移动节点的外部IP地址和端口号在不同的PDP上下文创建之间甚至可能变化。NAT必须排除所有此类的外部发起的通信,以避免它们被转发至错误移动设备的风险。在一些情况下,可能使移动设备经由NAT发起并创建与中间服务器的通信,以及通过周期地轮询服务器来维护该连接。外部对等设备然后可以通过经由中间节点并通过NAT中已经开放的“针孔”路由连接请求,来发起与移动设备的连接。这当然要求在移动设备(以及在外部对等设备)中安装适当的应用,并且,每次设备被分配(除轮询流量以外的)新的外部IP地址以及端口号时,信令在移动设备和托管注册服务的中间服务器之间交换。
[0006]US2010/0094978描述了一种用于将私有网连接至诸如互联网的公共网的机制。其包括为公共网的一个节点或多个节点提供主机标识符,该主机标识符具有第一部分和第二部分,第一部分识别连接两个网络的服务器代理,第二部分识别本地网络中存在的服务器。利用该主机标识符的第一部分,公共网的一个节点能够获得用于该服务器代理的IP地址(例如使用DNS查找),并开启到该服务器代理的TCP连接。公共网络节点然后向该服务器代理转发针对私有网服务器的消息。这一消息中包括相关的主机标识符。服务器代理侦听已知的端口(例如80),并且在该端口上接收连接请求。该服务器代理使用该主机标识符的第二部分以将接收的消息转发至私有网服务器。该方法被局限于诸如HTTP的那些允许主机名被包含在从公共网节点发送至私有网服务器的消息内的协议。它不适用于不允许这一操作的协议,比如SNMP、SSH、SMTP、LDAP,以及运行于IP之上的其他适当的协议。
[0007]诸如US2010/0094978的方法所呈现的问题由W02012/103938解决,W02012/103938提出向私有网内的第一节点(例如与特定的国际移动订户标识MSI有关的移动终端)分配私有网络IP地址、主机名(例如imsi_x.0per.com)以及服务名(例如service_x_.tcp.1msi_x.0per.com),该服务名与该第一节点所提供的服务关联。在将私有网与公共网互连的网关处,唯一的公共网络侧端口号被分配给第一节点。私有网络IP地址(可选地为私有网络侧端口号)与公共网络侧端口之间的映射被包含在连接表中。在公共IP网络的域名系统DNS内安装以下记录:
[0008]服务SRV记录,其定义服务名、主机名以及作为服务名的位置的公共网络侧端口号,以及地址A记录,其定义作为主机名位置的网关的公共IP地址。
[0009]连接到公共网但位于私有网之外的第二节点或“应用”进而能够在公共IP网络内执行DNS查找,从而将服务名分解为公共IP地址以及端口号。网关在公共侧侦听到第一节点的连接尝试的网络端口号,使用该映射对输入请求执行地址和端口转换,并将该请求转发至第一节点。
[0010]图1示意性图示了 W02012/103938中描述的方法,并且该方法包括引入定义为移动设备服务互联网转换器(MDSI)的新节点。MDSI使用GGSN所提供的信息,该信息由TOP上下文创建触发。该信息采用Radius协议发送,此外包括MSISDN、頂S1、IMEI以及所分配的移动服务器的私有IP地址。此外,MDSI使用已经预先分配于其中的信息,包括服务名称以及服务设备所提供的本地端口。
[0011]总之,W02012/103938使得位于内部网的(m2m)设备以及位于外部网中的应用之间能够双向通信。,由网关从外部应用接收的任何请求将会使用私有IP地址以及私有端口号、经由网关中的端口映射、被自动(即透明地)转发至该设备。该网关是透明的,并且能够以基于外部应用和内部设备之间的TCP/UDP的任何协议转发任何双向通信流量。
[0012]W02012/103938中描述的方法自身不允许外部应用利用该设备上的同一服务协议名称显式地寻址并接入多个服务实例(即资源),例如外部应用不能直接接入多个HTTP或CoAP服务实例(资源),该多个HTTP或CoAP服务实例(资源)在不同的资源URI路径上定义,具有同一服务协议(HTTP/CoAP)和服务端口号,并具有同一 IP地址(同一设备)。
[0013]例如考虑运营一队运输卡车的物流公司。每个卡车可以被提供有附接到公共陆地移动网络PLMN的m2m设备。该PLMN执行上游和下游分组流量的NAT,以允许大量的m2m设备共享相对少的公共IP地址池。每个卡车还被提供有多个传感器(“资源”),例如包括容器温度传感器、摄像头等。这些资源例如经由本地WiFi网络或采用蓝牙(Bluetooth?)被耦合到m2m设备。经由该物流公司的控制中心处提供的应用,该公司希望获取跨卡车车队的资源的每一个的数据。
[0014]W02012/103938仅经由服务协议、IP地址以及端口号提供m2m设备的直接寻址。经由用唯一的DNS注册的设备主机名(例如基于m2m设备的頂SI以及其将SRV记录链接至A记录),这类寻址是粗糙且不方便的方法,并且特别是不允许m2m应用的开发者区分设备所显示的不同API。此外,现有技术方法所提供的映射限制了能够暴露于给定的公共IP地址后的(向端口总数-65535的)服务数量以及新的服务能够被引入的灵活性(因为需要映射的手动配置)。M2m设备可以作为多个资源的聚合器,该多个资源由不同的资源URI所标识,并且需要由应用单独地寻址并接入。W02012/103938所呈现的机制要求该应用知晓该设备以及其所示出的资源的一切,例如,用于寻址并接入的该设备上的正确的资源URI路径是什么,并且该应用必须使用与设备使用的服务协议和请求格式完全相同的服务协议和请求格式,以使该设备准确地理解和解析该请求。通常使用的应用对它们接入的该设备或者服务并未了解这么多。
【发明内容】
[0015]根据本发明的第一方面,提供了一种在私有IP网络内作为服务器节点操作以托管(host)或聚合多个资源的装置。该装置包括地址控制器,用于获得私有IP网络IP地址,用于分配服务器节点端口号至所述资源,以及促使该服务器节点在该服务器节点端口上侦听。资源配置器被提供,用于针对所述资源中的每一个资源确定资源私有的统一资源标识符URI或者URI路径,以及资源元数据,并且用于向将私有IP网络与公共IP网络互连的网关发送通告,该通告包含所述私有URI或URI路径以及对应的资源元数据。该装置进一步包括资源请求接收器,用于在所述服务器节点端口处接收请求,用于识别包含在该请求内的私有URI或URI路径,以及用于传送对应于所述URI或URI路径的资源。
[0016]本发明的实施例可以允许私有网络内的各个服务器节点使多个资源可用于外部应用,即私有网络之外的应用,通过这种方式,具体的URI或URI路径不需要事先为外部应用所知。这简化了开发这些外部应用的过程。
[0017]该装置可以包括一个接口或多个接口,用于与一个或多个子节点通信,该子节点负责托管所述资源,所述资源请求接收器被配置为将所接收的请求转发至适当的子节点。这些子节点可以被看作“子”节点或“嵌入”节点。
[0018]在该私有IP网络是公共陆地移动网络PLMN的情况下,该装置可以进一步包括射频单元,用于与PLMN通信。这样的配置允许服务器节点被安装在车辆、飞机或航空飞机上。
[0019]资源配置器可以被配置为确定元数据,该元数据包括企业控制的别名、资源UUID、资源名或ID、设备序列号、产品类型、模型号、设备类型、资源/设备的地理位置、资源/设备的所有者/用户中的一个或多个。
[0020]该装置可以包括消息封装器和解封器,用于将包含资源元数据的协议特有的消息封装到具有资源URI或URI路径的通用消息格式,用于包含在所述通告中,以及用于将被包含在所接收的请求中的包括资源URI或URI路径的通用消息格式解封以确定协议特有的消息。
[0021]根据本发明的第二方面,提供了一种交通模式,例如车辆、火车或飞机,包括本发明上述第一方面的装置。
[0022]根据本发明的第三方面,提供了一种用于托管外部应用的装置,该外部应用能够接入由附接到私有IP网络的服务器节点所托管或聚合的资源。该装置包括存储器,用于存储统一资源名URN以及有关所述资源的元数据,以及解析器,用于与DDDS/DNS服务器(或多个服务器)通信,用以将所述URN解析为公共IP地址以及端口号以及一个或多个SRV+TXT记录,其中,该记录或每个记录的TXT字段包含与所述服务器节点托管或聚合的资源相关联的元数据,以及资源的统一资源标识符URI或URI路径。该装置进一步包括处理器,用于通过将所述存储器中存储的元数据匹配到(多个)TXT字段中包含的元数据,来选择SRV+TXT记录,以及资源请求器,用于将资源请求发送至所述公共IP地址和端口号,以及包括被包含在所选的SRV+TXT记录中的资源URI或URI路径。
[0023]根据本发明的第四方面,提供了一种网关,该网关将私有IP网络与公共IP网络互连,以促进对附接到该私有IP网络的服务器节点所托管或聚合的多个资源的外部接入。该网关包括第一地址控制器,用于获取分配给所述服务器节点的私有IP网络IP地址以及端口号,第二地址和端口控制器,用于分配公共IP网络IP地址以及公共网络侧端口号至所述服务器节点,以及用于促使该网关在所分配的公共网络侧端口号上侦听,以及数据库