解析IP地址的方法、相应的服务器以及计算机程序
1.技术领域
本发明的领域是物联网。本发明的领域更具体地涉及长程无线局域网与广域网(例如因特网)中心的互联,并且尤其是在这些(局域和广域)网是基于异构通信协议的情况下。
2.背景技术
物联网正蓬勃发展。该革命伴随着新的应用的出现,这些新的应用超出了传统的家庭或企业的范围,从而将结合到更广大的基础设施中。“智慧城市”(英文“smartcities”)的概念尤其落入该范围内。通过大规模部署无线传感器网络或者其他通信对象(objets communicants,通信物件),从而可以为市民或者为城市的管理当局提供新的服务。潜在的前景是广阔的。城市照明因而可以例如通过动态适应于所考虑的时点的道路交通状况而得以优化。同样可以便于停车的管理,这通过借助集成在每个车位中的传感器实时告知汽车驾驶员可用车位的位置而实现。这例如有助于降低车辆的燃料消耗并因此降低污染。
在关于部署这样的无线通信对象的网络的决定性原则中,其中之一关键的是:自主。例如,出于维护成本的明显原因,集成在车行道中用于检测停车位是空闲还是已占用的传感器的供电电池应当能够保证在至少几年内为该传感器供电。因此,这些通信对象的特性之一是低能耗。为了使这些通信对象的耗电最优化,还要控制要传输的信息量,并降低传输速率。在这样的通信对象的局域网中使用的通信协议因此要进行相应的适配,并且这些限制意味着基于IP协议(“因特网协议”)的网络不总是适用的。
然而,为了扩展可能的应用并且使得收集到的信息尽可能多的可利用,经常希望在通过这些通信对象形成的无线局域网与广域网(例如因特网)之间形成互联。从而出现这样的问题:使基于异构通信协议的通信网络上存在的设备之间(一方面是通信对象,另一方面是例如服务器)进行通信。存在一些解决方案,但是这些解决方案通常是受限的。例如,尽管在连接至因特网的通信终端的世界里,单个接入点足以使一个设备与同样连接至该网络的所有其他设备进行通信,但是由传感器网络发出的数据的提供目前主要是基于实施起来复杂的专用的集成解决方案。这些解决方案的另一个限制性因素是它们通常仅仅实施单向通信:局域网上的通信对象发出的数据有效传输给广域网上的服务器,但是服务器不能反过来将数据传输给通信对象,因为不能识别它们。
3.发明内容
本发明提供一种不具有现有技术的这些问题中的至少某一些的解决方案,这借助于一种用于解析IP地址的原创性方法而实现,其特征在于该方法包括:
-接收地址解析请求的步骤,所述请求包括代表MAC地址的数据;
-根据所述代表MAC地址的数据在数据结构中检索IP地址的步骤;
-传输所述IP地址的步骤。
根据本发明的一种具体实施方案,所述代表MAC地址的数据具有域名的形式,所述域名由至少两个相继的域组成:
-由所述MAC地址形成的低级的第一域;
-预定的至少一个高级域。
因此,用于解析IP地址的该方法可以在常规的DNS(“域名系统”)服务器中实施,因为代表MAC地址的数据具有与域名相同的形式。
根据本发明的一种具体实施方案,所述MAC地址识别通信对象,并且所述IP地址识别所述通信对象可以与其交换数据的设备。
因此,用于解析MAC地址的该方法使得可以识别通信对象要与之交换数据的远程服务器。因此,DNS服务器的常规使用被灵巧地转用于识别源设备要与其通信的目标设备。
根据本发明的一种具体实施方案,用于解析IP地址的该方法还包括至少一个以下步骤:根据所述代表MAC地址的数据在数据结构中检索至少一个补充信息,在所述传输所述IP地址的步骤过程中所述至少一个补充信息与所述IP地址一起被传输。
可替代地,并且根据本发明的另一种具体实施方案,用于解析IP地址的方法还包括下述步骤的至少一次重复:
-接收补充请求的步骤,所述补充请求包括所述代表MAC地址的数据以及代表请求类型的数据;
-根据所述代表MAC地址的数据以及所述代表请求类型的数据在数据结构中检索至少一个补充信息的步骤;
-传输所述至少一个补充信息的步骤。
因此,用于解析IP地址的方法使得除了目标服务器的IP地址以外还可以获得补充信息,该补充信息例如可用于实施与该目标服务器的通信,例如该目标服务器上要联系的端口号或者用于所述通信的通信协议。当代表MAC地址的数据具有与域名相同的形式时该方法总是可以在常规DNS(“域名系统”)服务器中实施,而请求的类型用于指明要在DNS表中获得的补充信息的类型。补充信息的提取可以与远程服务器的IP地址的提取同时实施,这通过单个请求(例如通过一个ANY类型的DNS请求)或者通过一系列不同类型的多个请求实现。
根据本发明的一种具体实施方案,所述至少一个补充信息属于包括以下的组:
-端口号;
-主机名;
-服务类型;
-通信协议。
另一方面,本发明还涉及IP地址的解析服务器。这样的服务器包括:
-接收地址解析请求的装置,所述请求包括代表MAC地址的数据;
-根据所述代表MAC地址的数据在数据结构中检索IP地址的装置;
-传输所述IP地址的装置。
相应地,本发明还涉及能够由计算机或者数据处理器执行的程序,该程序包括用于控制上述方法的步骤的执行的指令。
该程序可以使用任何编程语言,并且为源代码、目标代码或者源代码与目标代码之间的中间代码的形式,例如为部分编译的形式,或者为任何其他可接受的形式。
本发明还涉及数据处理器可读的信息载体,并且该载体包括上述的程序的指令。
该信息载体可以为能够存储程序的任何实体或者设备。例如,该载体可以包括存储装置,例如ROM,例如CD ROM或者微电路ROM,或者磁记录装置,例如软盘或者硬盘。
另一方面,信息载体可以是可传输载体,例如电信号或者光学信号,该可传输载体可以通过电缆或者光缆、通过无线电波或者其他手段发送。根据本发明的程序尤其可以在因特网类型的网络上远程下载。
可替代地,该信息载体可以是其中包含了程序的集成电路,该电路适于执行或者用于执行所涉及的方法。
根据一种实施方案,本发明通过软件和/或硬件实施。
软件对应于一个或多个计算机程序、程序的一个或者多个子程序,或者更一般地对应于能够实施一种功能或者一组功能的软件或者程序的任何组成部分。这样的软件由物理实体的数据处理器(终端、服务器、网关、路由器等)执行,并且能够访问该物理实体的硬件资源(存储器、记录载体、通信总线、输入/输出电路板、用户接口等)。
同样地,硬件对应于能够实施一种功能或者一组功能的硬件(或hardware)的任何组成部分。它可以是可编程的硬件或者具有集成处理器以用于执行软件的硬件,例如集成电路、芯片卡、存储卡、用于执行固件(firmware)的电路板等。
上述不同的实施方案可以彼此组合以实施本发明。
4.附图说明
通过阅读本发明的一种优选实施方案以及所附附图的以下说明将更清楚地呈现本发明的其他特征和优点,该优选实施方案作为示例性且非限制性的实例给出,在附图中:
图1示出本发明一种具体实施方案的一般背景的总体视图;
图2例示出本发明一种具体实施方案的用于解析IP地址的方法所实施的主要步骤;
图3描述了本发明一种具体实施方案的能够实施所提出的方法的服务器的简化结构。
5.具体实施方式
5.1一般背景
本发明涉及一种用于解析IP地址的方法,该方法用于一方面的通信对象与另一方面的设备(例如远程服务器或者移动通信终端)之间的双向通信的情况下,该通信对象和该设备各自属于基于异构通信协议的不同网络。该方法在将两个网络互联的网关中或者在该网关可以询问的解析服务器中实施。在本文的所有下文中,考虑所述设备是远程服务器,但是该例子是示例性而非限制性给出的。
关于图1,示出了本发明的一种具体实施方案的一般背景的总体视图。第一无线局域通信网络(WLAN代表“Wireless Local Area Network”)通过网关(GW)与广域通信网络(WAN代表“Wide Area Network”)—通常为因特网—互联。所述网关因此包括网络接口,使该网关既属于局域网又属于广域网。
除了网关(GW)以外,无线局域网还包括一组通信对象(OC)(图1中示例性示出的局域网含有四个通信对象OC1至OC4,但是这仅仅是示例性的:根据所提出的技术在局域网中存在的通信对象的数目是任意的)。这些通信对象可以例如是无线传感器。它们的特征是具有低能耗并且使用很低的传输速率(<2Kbps)。这些通信对象主要是用电池工作的。为了优化其能耗,限制其能够发送或接收数据的时段。在该发送和/或接收时段以外,通信对象例如处于待机状态,这使通信对象可以降低其耗电。在本发明范围内,无线局域通信网络(WLAN)不基于IP通信协议。它可以是网络或者常规蓝牙网络或低能耗蓝牙(Bluetooth)网络,或者任何其他非基于IP通信协议的网络。但用于局域网的通信协议仍然是寻址的:每个通信对象(OC)因而可以通过合适的识别码(例如MAC,英文“Media Access Control”地址)以唯一的方式在该网络上被识别。
广域通信网络(WAN)本身基于IP通信协议。它通常是因特网。连至该网络的每个设备因此通过IP地址被识别。该网络尤其包括网关(GW),但是也包括远程服务器(SRV),该远程服务器被配置成用于收集或处理来自无线局域通信网络上存在的不同通信对象的全部或者一部分的信息(在图1中仅仅示出了两个远程服务器SRV1和SRV2,但是不言而喻这也仅仅是示例性的)。该网络也可以包括DNS(“域名系统”)服务器类型的服务器,该服务器能够被询问以便解析地址(作为例子,在图1中仅仅示出了一个),例如以获得与给定的域名相关的IP地址。
为了能够在通信对象与远程服务器之间建立通信,网关(GW)扮演路由平台的角色,能够将来自通信对象的数据送至合适的远程服务器,以及反向传送。
因此,网关必须具有这样一种机制:使得可以在发起通信的通信对象以及通信对象希望与之通信的远程服务器之间建立一个双向通信会话,这些设备属于使用异构通信协议的网络。是该机制保证了作为本发明的主题的这两个网络(WLAN和WAN)之间的地址的翻译和可寻址性,并且尤其是该机制使得网关可以识别由通信对象发送的数据的目标服务器。
5.2一般原理以及使用情形
作为对该问题的回应,参照图2,在这里提出一种用于解析IP地址的方法,其特征在于该方法包括:
-接收地址解析请求的步骤,所述请求包括代表MAC地址的数据(21);
-根据所述代表MAC地址的数据在数据结构中检索IP地址的步骤(22);
-传输所述IP地址的步骤(23)。
在本发明的范围内,通信对象与远程服务器之间的通信会话的建立总是由通信对象发起实现的。此外,网关具有这样的装置:使其能够例如根据代表局域网中的通信对象的识别码获得来自通信对象的数据所要传输到的远程服务器的IP地址以及要使用的目标端口。作为本发明主题的这些装置在下文中详细说明。在广域网上具有其本身的IP地址的网关因此能够向所述远程服务器传输接收自通信对象的有用负荷,这根据IP网络的标准通信协议进行,通常是TCP/IP协议栈的传输层协议,例如UDP(代表“User Datagram Protocol”)协议或者TCP(“Transmission Control Protocol”)协议。
然而,在本发明的范围内,同一远程服务器能够接收来自多个通信对象的信息。因此,代表目标远程服务器的服务的同一对IP地址/端口通常与多个通信对象关联。然而从服务器的角度来看,在该端口上接收的所有信息都来自同一设备:网关。为了保证交换的双向性,网关因此必须能够将从服务器接收的数据路由到发起与该服务器的通信会话的正确的通信对象上。为此,在接收到来自通信对象的一个数据帧以后,网关分配给该通信对象一个端口号,该端口号在与远程服务器(网关将其数据向该远程服务器传输)的通信会话期间将只与该通信对象联系。在将由网关从通信对象接收的有用负荷从网关向远程服务器传输的过程中,将该端口号与网关在广域网中的IP地址一起用作源端口。这样,当网关反过来接收来自远程服务器的数据时,网关能够基于它接收这些数据所在的端口确定这些数据所针对的通信对象。
在这里重要的是使得网关能够确定通信对象要将数据传输给的远程服务器。为此,实施已参照图2所述的用于解析IP地址的方法。该方法使得能够由无线局域网中的通信对象的识别码(通常为其MAC地址)识别IP地址(Ipv4或者IPv6)并任选地识别该通信对象要与之交换数据的远程服务器的端口。
在本发明的一种具体实施方案中,该方法可以在将无线局域网和广域网互联的网关本身中实施。该网关具有一种数据结构,在该数据结构中存储通信对象的识别码(MAC地址)和与远程服务器关联的端口号和/或IP地址之间的关联。根据在无线局域通信网络中使用的协议,地址检索的关键字可以基于不同的域(例如用于LoRaWAN协议的DevADDR域(包括NET ID);用于该协议的A-FIELD域;用于协议IEEE802.15.4的SRC PAN和/或SRC ADRR域)。
可替代地,所述方法在网关外的、网关可以询问的服务器中实施。在网关中接收含有通信对象的MAC地址(EUI-48/64)的数据包又触发向该外部服务器的地址解析请求,以确定由通信对象发出的数据的目标远程服务器。在本发明的另一种具体实施方案中,该外部服务器是常规的DNS(“域名系统”)服务器,它使得可以将域名翻译成IP地址。在这种情况下,地址数据库(DNS)可以例如基于A或者AAAA(IPv6)类型的DNS表,使得可以定位服务器,其条目类似于下面的例子(完全是作为例子给出的):0086544567768954.wellknown_domain(公知_域)IN A 91.198.174.232
出于命名方面的原因,MAC地址(EUI48/64)(在上例中为“00:86:54:45:67:76:89:54”)表示为不带分隔符“:”。以域名的形式构造代表MAC地址的数据(通过将该MAC地址与预定的高级域名连接)使得可以灵巧地转用DNS服务器的功能,并且利用这样的服务器用于根据通信对象的MAC地址获得通信对象将与之通信的服务器的IP地址。
在本发明的另一种具体实施方案中,除了通信对象要与之通信的服务器的IP地址以外,所提出的技术使得还可以获得补充信息。作为非限制性的示例,这些补充信息可以由识别远程服务器中要联系的服务的端口号、表征该服务的主机名或者要在与该服务的通信中使用的通信协议(例如基于TCP的HTTP、基于UDP的CoAP等)组成。在这方面,DNS服务器的常规功能再次巧妙地被转用,以在通信开始时根据代表通信对象的MAC地址的数据获得这些补充信息。实际上,DNS服务器已经集成了这样的机制:它们使得能够获得关于远程服务器上可用的不同服务的补充信息,这是借助于向其发送的请求的类型实现的:除了使得可以根据域名获得IP地址的A或者AAAA型请求以外,DNS服务器其实还接收其他类型的请求(例如PTR(指针)或者SRV(服务)类型的请求),这些请求提供了对补充信息的访问。因此,与以上已经披露的用于提取通信对象要与之通信的远程服务器的IP地址的技术类似,DNS服务器也可以用于获得补充信息,该补充信息表征该通信对象要在该远程服务器中建立联系的服务(要联系的服务的端口号、要使用的通信协议等)。代表通信对象的MAC地址的数据在此还用作在DNS表中检索的关键字,而发送给DNS服务器的请求的类型用于指明要提取的补充信息的类型。基于与以上所述相同的原理,该数据灵巧地采用域名的形式(它例如是与通信对象要与之通信的远程服务器的IP地址的提取所用的数据相同的数据,但是与不同的DNS请求类型一起使用)。
在本申请中提出的技术因此使得可以根据通信对象的MAC地址容易地识别该通信对象要与之通信的远程服务器,并获得用于实施这样的通信的所有信息。
通过对DNS服务器的询问提取远程服务器的IP地址以及相关的补充信息可以是发送给该DNS服务器的一系列不同类型的多个请求的主题。可替代地,全部这些数据(远程服务器的IP地址以及相关的补充信息,例如端口号)也可以通过同一请求(例如ANY类型的DNS请求)提取。
5.3用于实施本发明的设备
关于图3描述了一种解析服务器,该服务器包含能够进行根据本发明的IP地址解析的装置。这样的解析服务器包括:
-接收地址解析请求的装置,所述请求包括代表MAC地址的数据;
-根据所述代表MAC地址的数据在数据结构中检索IP地址的装置;
-传输所述IP地址的装置。
例如,该服务器包括由缓存构成的存储器31,处理单元32,该处理单元配备有微处理器并由计算机程序33控制,以实施根据本发明的用于解析IP地址的方法。
在启动时,将计算机程序33的代码指令例如加载到存储器中,然后由处理单元32的处理器执行。处理单元32接收来自与网络连接的设备的输入(E),例如地址解析请求,该设备例如为将局域网与广域网互联的网关。处理单元32的微处理器根据用于确定目标IP地址的计算机程序33的指令执行IP地址解析的方法步骤,并将该IP地址传输到输出(S)。
为此,服务器除了缓存31以外还包括数据的传输/接收装置,传输/接收装置可以以与一个或多个通信网络连接的接口的形式实现,这些装置使得可以任选地与因特网类型的广域网建立联系。它可以包括软件接口或者硬件接口(网络通信的硬件模块或者网卡的类型)。根据本发明,这样的服务器还包括可以采取数据库形式的存储装置,或者对服务器外部的这种存储装置的访问。这些存储装置包括数据结构,在该数据结构中记录了代表MAC地址的数据与IP地址之间的关联。