有拓扑不准确的源地址的IPv6数据包的自动隧道传输方法

xiaoxiao2020-9-10  4

【知识产权代理】【专利服务】Tel:18215660330

有拓扑不准确的源地址的IPv6数据包的自动隧道传输方法
【专利摘要】本文提供了一种装置和方法,利用此装置和方法实行位于第一网络和第二网络之间的网关功能,接收来自位于第二网络中的网络节点的数据包,其中该数据包包含拓扑上不属于该第二网络的源地址,该接收的数据包被封装进新数据包中,以及该新数据包被发往该第一网络。
【专利说明】有拓扑不准确的源地址的IPv6数据包的自动隧道传输方法

【技术领域】
[0001]本发明涉及装置、方法和计算机程序产品,提供自动隧道传输具有拓扑不准确的源地址的IPv6数据包的方法。

【背景技术】
[0002]本说明书中使用的缩略语适用如下含义:
[0003]GPRS 通用分组无线服务(General Packet Rad1 Service).
[0004]GTP GPRS 隧道传输协议(GPRS Tunnelling Protocol)
[0005]IANA 互联网编号分配机构(Internet Assigned Numbers Authority)
[0006]IETF 互联网工程任务组(Internet Engineering Task Force)
[0007]IPv6 互联网协议版本 6 (Internet Protocol vers1n 6)
[0008]LMA 本地移动锚点(Local Mobility Anchor)
[0009]MAC 媒体接入控制(Media access control)
[0010]MAG 移动接入网关(Mobile Access Gateway)
[0011]MN 移动节点(Mobile Node)
[0012]PMIP6 代理移动 IPv6 (Proxy Mobile IPv6)
[0013]RA 路由器通告(Router Advertisement)
[0014]本发明的实施例涉及当使用本地IPv6地址前缀时,以及为资源特别受限的节点编号时,譬如受到电池、存储器、和处理器功率限制,在基于网络的移动性框架的情况下的IPv6编址。
[0015]资源特别受限的节点是CPU功率、电池功率、ROM或RAM存储器、或者类似的资源比观念中连接互联网的设备普遍具有的资源较差的设备。对于资源受限的节点,节省所有资源具有极度的重要性。
[0016]使用本地IPv6地址前缀的理念,面向基于网络的移动性中的分流和本地接入,是当前的研究热点。
[0017]资源受限的节点面临的问题是;目前现有的编址方法本质上是自动化地址配置工具,例如无状态地址自动配置(Stateless Address Autoconfigurat1n)和动态主机配置协议版本 6(Dynamic Host Configurat1n Protocol vers1n 6)。这两者对于资源受限节点来说都相当复杂。手动的IPv6地址配置理论上是可能的,但是通常甚至对于PC来说都是不现实的,更不用说这些资源受限的节点。
[0018]当正在使用PMIP6而且具有在旧的网络中的本地地址的移动节点(MN)向新的网路移动时,相似的问题也可能出现,其中在新网络中,新的地址将是必要的,其中至少是在地址重新配置的阶段,可能会发生连接丢失。
[0019]因此,目前没有令人满意的方式去特别处理资源受限的节点(例如,机器类型通信(MTC)节点)的地址。


【发明内容】

[0020]本发明中的各项实施例着眼于这些情景并且旨在提供一种简单的解决方案来处理资源受限的节点的地址以及为了对本地IPv6地址提供移动性支持提供解决方案。
[0021]根据本发明的第一方面提供了一种装置,包括被配置为提供向第一网络的连接的第一接口单元;被配置为提供向位于第二网络中的网络节点的连接的第二接口单元;处理器,被配置为实行在所述第一网络和所述第二网络之间的网关功能,经由所述第二接口单元接收来自所述网络节点的数据包,其中所述数据包包括拓扑上不属于所述第二网络的源地址,封装所接收的数据包进新数据包中,以及经由所述第一接口单元向所述第一网络发送所述新数据包。
[0022]根据本发明的第二方面提供了一种装置,包括被配置为提供向第一网络的连接的第一接口单元;被配置为提供向第二网络的连接的第二接口单元;以及处理器,被配置为实行在所述第一网络和所述第二网络之间的网关功能,经由所述第一接口单元接收来自所述第一网络的被封装的数据包,解封装所接收的数据包,其中被解封装的数据包包括拓扑上不属于所述第二网络的目的地地址,以及经由所述第二接口单元向所述第二网络发送去往所述目的地地址的所述被解封装的数据包。
[0023]根据本发明的第三方面提供了一种装置,包括被配置为提供向第一网络的连接的接口单元;以及处理器,被配置为经由所述接口单元接收经由所述第一网络来自网关的数据包,其中所述数据包是被封装的以及所述网关位于所述第一网络和第二网络之间,将所述数据包的源地址记录为所述网关的地址,解封装所接收的数据包,以及将被解封装的数据包的源地址记录为位于所述第二网络中的所述网络节点的地址,其中所述网络节点的地址拓扑上不属于所述第二网络。
[0024]根据本发明的第四方面提供了一种装置,包括被配置为提供向第一网络的连接的接口单元;以及处理器,被配置为创建数据包,所述数据包将网络节点的地址作为目的地地址,其中所述网络节点位于第二网络中以及所述网络节点的所述地址拓扑上不属于所述第二网络,封装所创建的数据包进被封装的数据包中,所述被封装的数据包有位于所述第一网络和所述第二网络之间的网关的地址,以及向所述网关发送所述被封装的数据包。
[0025]根据本发明的第五方面提供了一种方法,包括
[0026]实行位于第一网络和第二网络之间的网关功能,
[0027]接收来自位于所述第二网络中的网络节点的数据包,其中所述数据包包括拓扑上不属于所述第二网络的源地址,
[0028]封装所接收的数据包进新数据包中,以及
[0029]向所述第一网络发送所述新数据包。
[0030]根据本发明的第六方面提供了一种方法,包括
[0031]实行位于第一网络和第二网络之间的网关功能,
[0032]接收来自所述第一网络的被封装的数据包,
[0033]解封装所接收的数据包,其中被解封装的数据包包括拓扑上不属于所述第二网络的目的地地址,以及
[0034]向所述第二网络发送去往所述目的地地址的所述被解封装的数据包。
[0035]根据本发明的第七方面提供了一种方法,包括
[0036]接收经由第一网络来自网关的数据包,其中所述数据包是被封装的以及所述网关位于所述第一网络和第二网络之间,
[0037]将所述数据包的所述源地址记录为所述网关的地址,
[0038]解封装所接收的数据包,以及
[0039]将被解封装的数据包的源地址记录为位于所述第二网络中的网络节点的地址,其中所述网络节点的所述地址拓扑上不属于所述第二网络。
[0040]根据本发明的第八方面提供了一种方法,包括
[0041]创建数据包,所述数据包将网络节点的地址作为目的地地址,其中所述网络节点位于第二网络以及所述网络节点的所述地址拓扑上不属于所述第二网络,
[0042]封装所创建的数据包进封装的数据包中,所述被封装的数据包有位于第一网络和所述第二网络之间的网关的地址,以及
[0043]向所述网关发送所述被封装的数据包。
[0044]由此,根据本发明的实施例,位于网络中的网络节点的拓扑不准确的地址是被允许的,以及诸如网关的装置封装这样的网络节点的数据包。所以,能够处理这样的网络节点的数据包,从而使得无需修改网络节点的地址等等。
[0045]从属权利要求定义优势的发展。

【专利附图】

【附图说明】
[0046]通过结合附图对本发明的【具体实施方式】的下列详细描述,这些以及其他的对象、特征、细节和优点将变得更加清晰,在附图中:
[0047]图1示出根据本发明实施例的网关的基本结构;
[0048]图2A和2B示出根据本发明实施例的网关的基本操作;
[0049]图3示出根据本发明实施例的目的地服务器的基本结构;
[0050]图4A和4B示出根据本发明实施例的目的地服务器的基本操作;
[0051]图5示出本发明的某些实施例中涉及的部件;
[0052]图6示出两个移动性接入网关之间的隧道;
[0053]图7示出根据本发明实施例的在两个移动性接入网关之间的自动隧道传输的例子;以及
[0054]图8示出根据本发明实施例的在网关中封装网络节点的数据包的例子。

【具体实施方式】
[0055]下文将描述本发明的实施例。然而需要理解的是,这些描写仅仅只是示例,并且所描述的实施例不应当被理解成是对本发明的任何限制。
[0056]如上文提到的,根据本发明的实施例,使用网络节点的拓扑不准确的地址是被允许的。
[0057]然而,根据现有技术,通常这种拓扑不准确的地址(譬如,地址的网络前缀不属于节点实际上正位于的网络)的使用导致问题。
[0058]亦即,在网络中使用源IPv6地址的任意节点,其中该地址在拓扑上不属于该网络,面临着严重的麻烦:不可能收到发往这个IPv6地址的数据包而且所有发出的数据包也可能会被像网关或路由器之类的网络实体抛弃,这些网络实体强制使用拓扑正确的源IP地址。这就是为何静态配置的IPv6地址,或节点已从其他网络配置的IPv6地址,在它们不从属的网络中无法使用,以及由此,节点应当一直使用诸如无状态地址自动配置或有状态地址自动配置机制来配置拓扑上从属其所附着的网络中的地址。
[0059]本发明的实施例涉及两个十分相似的问题,这两个问题本质上可通过相同的方案来解决。
[0060]问题I是关于,当基于PMIP6网络的移动性在被使用时,如何最优地提供本地IPv6地址:
[0061]举例说明,图6示出本地IPv6接入如何可以与PMIP6 —同工作的方式。特别是,图6示出一种安排,包括本地移动锚点(LMA)和两个移动接入网关(MAG),MAGl和MAG2。MAG是接入路由器上的功能,这个功能为与该路由器的接入链路(例如无线链路)附着的移动节点(MN)管理移动性相关信令。LMA是在PMIPv6域中用于丽的归属代理。在这种安排中,希望允许MN通过它连接的本地MAG (例如MAGl或MAG2),绕过该LMA,直接接入公共互联网或私有内部网。假设MN试图连接到MAG,例如MAGl。它可以向MAGl发起附着请求。MAGl可以为该MN分配本地前缀(例如Pl),而且MAGl还会把该前缀传达给LMA。本地前缀是锚定在MAG上的前缀。MN可以使用前缀配置它的接口中的一个接口,例如前缀+接口标识符。经由那个接口,MN可以在不路由经过LMA的情况下接入互联网。前缀可以存储在LMA的绑定缓存里或其他诸如DHCP(动态主机配置协议)服务器之类的网络实体里。
[0062]图6所示的这个方案可以进一步改进,增加从旧的MAGl向新的MAG2自动隧道传输,这样当节点移动时,使用本地前缀的连接不会立刻断开。目前还未确定如何建立这个隧道传输的最佳方案,例如可以在两个MAG之间自动建立或由本地移动锚点辅助建立。如果PMIPv6域也实现了本地路由MAG至MAG的隧道传输(图6中隧道A),有可能在丽在新的MAG2之下使用旧的前缀(即当丽附着于MAGl时使用的前缀)的期间,旧的MAGl和新的MAG2相互之间建立临时的隧道。这能允许通信量仍使用旧的前缀到达在新的MAG2之下的MN。在图6所示的安排中,当旧的前缀过期时MAG之间的隧道和相关的路由入口立刻被移除。
[0063]问题2是关于例如传感器这样的受限的设备:
[0064]使用例如无状态地址自动配置或DHCPv6有状态地址自动配置这样的自动编址工具要求资源受限节点提供相对多的处理。节点需要获知其所附着的网络的前缀是什么以及它们应当为自己配置什么地址。而且在网络重编号、尽职管理或迁移事件的情况中,节点需要能配置新的地址。
[0065]另一方面,例如,启动了 IPv6的传感器常常受限:它们装配的是小功率电池而且包含的用来存储程序的ROM非常小。对于这些节点来说避免地址自动配置机制对电池和存储器这两方面都有益。
[0066]根据本发明的某些实施例,通过在网络中允许拓扑不准确的地址可以解决这两个问题。下文参照图1至4大体上描述了网络元件实行的过程。
[0067]图1示出网关I作为根据本发明的更通用的实施例的装置的示例。例如,装置可以是网关或是网关中的一部分。网关I包括处理器11、第一接口单元12和第二接口单元13。第一接口单元12被配置成提供到第一网络的连接,以及第二接口单元13被配置成提供到位于第二网络中的网络节点的连接。处理器11被配置为经由接口单元12和13实行第一网络和第二网络之间的网关功能,以及实行如图2A或2B中的流程图示出的过程。可选的,网关I也可以包括用于存储数据和程序的存储器14,处理器11利用存储器14可以实行它自己对应的功能。
[0068]图2A说明例如当从网络节点3接收数据包时由图1中网关I实行的基本操作。在步骤Sll中,例如经由第二接口单元13,接收来自网络节点的数据包(例如IPv6数据包),其中该数据包包括源地址,该源地址拓扑上不属于该第二网络。亦即,网络节点是如上文中描述的网络元件的示例,针对该网络节点允许使用拓扑不准确的地址。在步骤S12中,收到的数据包被封装进新的数据包,并且在步骤S13里,新的数据包被发往第一网络,例如经由第一接口单元。
[0069]图2B说明例如当接收来自第一网络的数据包时图1中网关I实行的基本操作,该数据包的目的地是该网络节点,并且该数据包被封装在目的地地址是网关I的地址的数据包中。具体来讲,在步骤S15中,例如经由第一接口单元从第一网络接收这样的被封装的数据包。在步骤S16中,接收到的数据包被解封装,其中被解封装的数据包包括目的地地址,该目的地地址拓扑上不属于第二网络。在步骤S17中,被解封装的数据包经由第二接口单元被发往第二网络去向该目的地地址。
[0070]在此情况中,网关I可以已经知道该目的地地址(例如,存储在其存储器中或通过相似的方法),例如,因为网关I已经根据图2A中的流程图封装了来自网络节点的数据包。或者,处理器可以在解封装收到的数据包以后,为了请求来自该目的地地址的拥有者(即网络节点)的响应而向第二网络发送多播消息。然后,仅当收到了来自该目的地地址的拥有者的响应后,亦即网络节点确实正处于网络节点中,被解封装的数据包才可以被发出。
[0071]因此,根据本发明的某些实施例,可以通过在网关处封装数据包的方式处理包含拓扑不准确的地址的数据包。
[0072]图3示出服务器2,作为上述网络节点的数据包将被发往的装置的示例。然而,所述服务器仅是示例而且还可以是数据包可以被发往的任意种类的网络元件,例如图6所示的MAG1、传感器会将传感结果发往的网络设备或类似设备。
[0073]服务器包括处理器21和被配置成提供向第一网络的连接的接口单元22。处理器21被配置为实行如图4A或4B中所示的过程。可选的,所述服务器2也可以包括用来存储数据和程序的存储器23,处理器21利用存储器23可以实行它自己对应的功能。
[0074]图4A说明例如由图3中服务器2实行的基本操作。在步骤S21,经由第一网络经由接口单元22从网关(例如图6所示的网关2或MAG2)接收数据包,其中数据包是被封装的。数据包的源地址被记录为网关(例如MAG2)的地址。在步骤S22中,接收到的数据包被解封装,而且被解封装的数据包的源地址被记录为位于第二网络中的网络节点的地址。与上文相似的,网络节点的地址拓扑上不属于第二网络。
[0075]然后服务器2可以将数据包传往位于该服务器内的进一步处理单元,诸如用于应用或用于服务,或者服务器可以转发被解封装的数据包。对此,服务器2可以可选地具有第二接口单元24,如图3中虚线所示。
[0076]即,在接收和解封装收到的数据包之后,服务器2可以在内部使用和处理数据包,可以经由第一接口单元22转发所述数据包至其外部,或经由所述可选的第二接口单元24转发所述数据包至其外部。
[0077]图4B说明例如由图3中服务器2实行的基本操作。在步骤S25创建数据包,该数据包的目的地地址是网络节点的地址,其中该网络节点位于第二网络中,而且该网络节点的地址拓扑上不属于第二网络。在步骤S26,创建的数据包被封装进被封装的数据包,该被封装的数据包具有第一网络和第二网络之间的网关的地址,并且在步骤S27被封装的数据包被发往网关。
[0078]服务器2可能预先已知网关将要使用的地址,或例如在执行前面图4B所示的过程时该地址已被存储。
[0079]所以,根据本发明的一些实施例,明确允许网络(如上文中的第一网络)内的网络节点使用拓扑上不属于该网络的地址。亦即,在IPv6中这意味着这个网络节点的地址的网络前缀与这个具体网络(例如第一网络)中使用的网络前缀不同。
[0080]图5示出本发明的实施例涉及的一些部件。节点3是应当具有静态IPv6地址的实体(如上描述的网络节点),即,它使用拓扑不准确的地址。它可以是传感器,PC,或任意种类的主机。网关I是从节点起的第一跳路由器,例如移动手机或PMIP6 MAG0路由器5是网关I和互联网6之间的任意路由器,互联网6是如上文描述的第一网络的示例。服务2是节点通信的目的地,并且是如上文描述的服务器2的示例。网关I和路由器2中的“过滤器”展示了使用“无效的”源地址的数据包可能被抛弃的位置。
[0081]所以,如上文所示,根据本发明的某些实施例,接收这样的IPv6数据包的网关自动地以IPv6包含IPv6封装的方式(IPv6_in_IPv6 encapsulate)封装该数据包,其中所述这样的IPv6数据包包含“本不应当”在该网关“以下”的网络中使用的源地址。
[0082]网关封装收到的IPv6数据包(之后的内层的数据包)到新的IPv6数据包(之后的外层的数据包)里,新的IPv6数据包使用路由器的上行链路接口的IPv6地址作为其源地址。
[0083]新生成的外层的IPv6数据包的目的地地址可以基于该过程中应用的部署场景选择。
[0084]场景1:经由节点的源IPv6地址所属的网络路由
[0085]这个场景属于如图6所示的情景并在图7中予以说明,图7描述了 PMIP6 MAG2如何自动隧道传输数据包至MAGl。MAGl将把内层的数据包路由至局域网或至互联网(未显示)O
[0086]S卩,节点73 (图5中所示网络节点3的例子),在从由参考信号72表示的MAGl (图3中所示服务器2的例子或图5中所示服务节点2的例子)向MAG271 (图1和5中所示网关I的例子)附着之后,尝试使用它的本地地址接入互联网。所以,MAGl是图3中所示服务器2的例子,例如,其中第二接口单元24提供向局域网的连接。
[0087]网关这样建构目的地IPv6地址,它从节点发送的IPv6数据包的源地址中取其/64比特前缀(即拓扑不准确的前缀),然后向该前缀附加在节点归属网络处隧道终点(即MAG1)的64比特(众所周知的)接口标识符。这样允许自动“发现”隧道终点的IPv6地址。这个众所周知的接口标识符可以是IANA新分配的,或者可以是对MAG固定的接口标识符(例如,如S.Gundavelli, “为代理移动IPv6保留的IPv6接口标识符(ReservedIPv6 Interface Identifier for Proxy Mobile IPv6) ” (draft-gundavell1-v6ops-pmipv6-address-reservat1ns_06.txt)中描述的),或者可以是加密地一次建立(例如,如A.Yourtchenko, S.Asadullah和M.Pisica, “人类安全的IPv6:主机名的加密变形作为安全的和可管理的编址的基础(Human-safe IPv6:Cryptographic transformat1n ofhostnames as a base for secure and manageable addressing) (draft-yourtchenko-humansafe-1pv6-00)中描述的)。例如,如果节点正在使用源地址2001: db8:48::aaaa:bbbb,MAG2将会取其前缀2001: db8:48:0:: /64,然后向该前缀附加众所周知的接口标识符,如“abcd”,然后把得到的地址2001:db8:48:: abcd/128用做外层的IPv6数据包的目的地地址。
[0088]在图7的例子中,S和D分别表示源地址和目的地地址。S卩,节点73用它的源地址和MAGl 72的目的地地址。MAG2 71通过添加新的包头来封装数据包,该新的包头包括相同的(MAGI 72的)目的地地址但是其源地址是MAG2 71的地址。当MAGl响应时,它通过添加包头的方式封装发往节点73的数据包,该数据包有MAGl 72的源地址和节点73的目的地地址,该包头有相同的源地址但是目的地地址是MAG2 71的地址。当MAG2 71接收数据包时,它通过移除添加的包头解封装数据包,并且向节点73转发被解封装的数据包,该被解封装的数据包有节点73的地址作为其目的地地址和MAGl 72的地址。
[0089]要指出的是,如果MAG2和MAGl互相之间有IPsec安全关联,它们可以用其加密节点的数据包。
[0090]这个场景对PMIP6特别有用,在PMIP6中使用本地前缀的数据包不得不经由归属网络路由,或者最终目的地不能解封装经由隧道传输的IPv6数据包。加密生成的接口标识符的使用在这个背景里特别有意思,因为PMIPv6域内的所有MAG会共享全域共享的秘密,用于接口标识符的生成的计算。这意味着,随机移动节点或敌意的MAG它自己不能冒充错误源地址,因为在PMIPv6域内的任何MAG可以验证源地址是否确实有效。这假设众所周知的接口标识符是建构自共享的秘密和仅有正当的MAG知道的域。当然,如果敌意节点可以调查MAG北向接口之间的流量,这不会阻止回放,不对整个PMIPv6域的安全性作妥协的话此调查应当是不可能的。
[0091]在场景I中还要指出的是,上文关于图2B和4B描述的过程是可能的。亦即,虽然技术上,在MAGl可以转发任何数据包至MN前,MAGl不得不获知MN已移去哪里,有可能MAGl通过其他的办法获知地址,而非由当丽位于MAG2下时丽发送的被隧道传输至MAGl上行数据包获知(即MAGl基于当丽位于MAG2下时丽发送的第一个上行链路数据包得到映射)。例如,这样的映射可以由LMA或类似提供。在这种情况中,MAG和LMA信令传输之间的信令传输可以被增强,以便于旧MAGl获知新MAG2的地址是什么,然后MAGl可以自动创建这个映射入口(即,来知道向哪个网关隧道传输目的地为MN的数据包一MN已不在MAG下)而不用MN先发送任何数据包。
[0092]场景2:向计划的目的地直接发送
[0093]图8对此给予说明。如图所示,网关81(作为如上文所述的网关I的例子)将来自节点83 (作为如上文所述的网络节点3的例子)的IPv6数据包(其源地址是节点83,以及目的地地址是服务节点82)封装进新的IPv6数据包(源:‘81’,目的地‘82’ )中,以及向服务的IPv6地址‘82’直接转发得到的被封装的数据包。当服务收到被封装的数据包时,它移除最外层的包头而且注意到内层的数据包的目的地是它,以及此后正常地解析该数据包。在返回方向,当服务82也已使用封装(将目的地是节点83的IPv6数据包封装进目的地是网关81的IPv6数据包中)时,网关81移除收到的IPv6数据包的最外层的包头(包括目的地地址81和源地址82)以及转发内层的数据包至节点83。
[0094]于是,网关使用原始IPv6数据包的目的地IPv6地址作为新数据包的目的地地址。这要求最终目的地能够解封装数据包。这个场景对受限的传感器情况特别有用,而且路由方面它可能更优,因为数据包不需要贯穿归属网络。
[0095]在两个场景里,根据某些实施例,网关记录去往节点使用的全局(拓扑不准确的)IPv6地址的主机路由以便当返回的数据包到达时,网关能够路由数据包至节点处。
[0096]或者,但是,根据另一些实施例,网关不记录路由。例如,网关可以如此无状态地工作,以至于当返回数据包来到时,它向第二网络中的节点询问(通过多播消息)是否有谁是网关收到的被封装的数据包中的目的地地址的拥有者。如果谁响应是拥有者(例如通过Ipv6 中定义的邻居请求 / 邻居通告消息(Neighbor Soli cat 1n/Neigbor Advertisementmessages)),网关就会转发数据包。
[0097]在上文中描述的两个场景里,根据一些实施例,网关记录曾被用来当做目的地地址的IPv6地址,然后当IPv6包含IPv6封装的回复数据包到达时,路由器移除最外层的包头以及向节点转发被封装的数据包。
[0098]在两个场景中隧道的终点(例如,服务器2,MAG172或服务节点82)将接收来自节点的未经修改的仅经过封装的数据包。这意味着节点可以经受住移动而传输会话不会中断以及例如可以用IP安全隧道绑定到节点的源地址。
[0099]当目的地服务器(例如,服务器2,MAG172或服务节点82)收到了来自节点的隧道传输的IPv6数据包,回复节点时:
[0100]1.服务器创建IPv6数据包,该数据包的源IPv6地址是目的地的服务器地址,以及其目的地地址是节点的IPv6地址
[0101]2.服务器封装创建的IPv6数据包到另一 IPv6数据包中,该另一 IPv6数据包的源也是目的地服务器的IPv6地址,但是其目的地是网关的IPv6地址
[0102]3.服务器发送数据包
[0103]当网关接收来自目的地服务器的数据包时,它将:
[0104]1.解封装收到的数据包,例如移除外部数据包的IPv6包头
[0105]2.通过之前创建的主机路由的辅助向节点转发内层的数据包
[0106]下文给出了如上文所述的以上实施例的实现方式作为示例:
[0107]网关为了能够转发下行链路数据包至节点使用的全局IPv6地址,不得不插入节点特定的(完整的/128 IPv6地址)路由。这是因为,默认地,网关将目的地为拓扑上不在网关下的全局IPv6地址的数据包往回转发至互联网,即从网关的上行链路发出。为了解决这个问题,当网关检测到来自节点的上行链路数据包正在使用拓扑上不准确的源IPv6地址时,网关它不得不创建指向局域网的IPv6地址特定的路由,节点通过该局域网连接到网关。例如在Linux里网关将需要执行指令:
[0108]ip-6 route add 2001:DB8::1 dev btleO
[0109]这里“2001:db8::1”是节点的固定的全局IPv6地址的例子,“btleO”是接口的例子,网关在该接口上收到数据包。
[0110]此外,接收这些被封装的数据包的接口不得不了解它们实际上是隧道传输的(要么明显地IPIP隧道,要么用类别2路由包头(例如,如C.Perkins, D.Johnson, J.Arkko的RFC6275:“IPv6 中的移动性能支持(Mobility Support in IPv6)”)中所述)。
[0111]于是,根据如上文所述的实施例,可以获得下列优势:
[0112]无需明显的隧道建立协议。
[0113]在PMIP6场景中使用本地锚定的前缀的通信不会中断。
[0114]不必要在传感器上花费资源来支持任何自动的全局IPv6地址配置方案。这在传感器上节省了一点ROM和RAM。值得指出的是传感器可以拥有两者:静态地址和自动配置。当与归属对话时,静态编址能够是有益的,但是如果传感器需要与附近的其他传感器或节点对话,也许要求自动配置。
[0115]再者,可以获得功率和存储器消耗方面的优势,因为信令传输的需求和用于地址配置的码变少了。
[0116]在传感器仅与互联网中的一个目的地对话的情况中,例如与“归属”,基于传感器的源IPv6地址唯一地识别传感器对归属网络来说是有益的。
[0117]IP移动性改善:传感器不需要跟踪网关使用的IPv6地址的可能的变化。对于传感器,全局地址一直保持不变。此外,甚至传感器的传输层会话将在网关的移动和上行链路IPv6地址的变化期间存活下来,因为只有在外层的包头中的网关使用的IPv6地址发生变化,传输层会话使用的IPv6地址不变。
[0118]S卩,例如考虑图8,网关移动从而改变了它的地址,例如它的源地址将由,,81〃变为,,85"。因此,服务节点83发送的新的数据包将被封装为:
[0119]S:85
[0120]D:82
[0121]S:83
[0122]D:82
[0123]这指示内层数据包将使用与以前相同的地址,但是外层数据包的源地址将改变。
[0124]再者,实施例尤其有优势,因为机器类型通信(MTC)(例如发送它们的报告的传感器)是重要的议题。一些实施例可被当做这类型通信的优化。
[0125]这样可以避免向传感器发送周期的路由器通告消息。这可以节省相当大的网络资源量,原因是不要求仅仅因为周期的RA消息就将传感器从空闲模式向激活模式移动。
[0126]要指出的是一般而言实施例和本发明不被上文给出的特定的例子所限制,而且几个变型是可能的。
[0127]例如,网关可以执行某种选择性隧道传输。例如,仅当符合预定义的规则时,网关可以决定隧道传输。即,仅当符合规则时网关可以封装收到的来自节点(例如图5所示的节点3)的数据包。例如,网络节点的地址列在某种白名单上,或网络节点的源地址使用的前缀列在白名单上(例如网关将仅为一些源地址提供隧道传输,例如那些在组织机构内使用的源地址),或基于接口(例如仅当数据包来自蓝牙低能耗接口(由传感器使用)时手持终端将隧道传输数据包),或基于目的地地址(仅当目的地地址包括在白名单中才隧道传输)。
[0128]在上文描述的某些实施例中,网络节点(例如图8所示的节点83)被描述成资源受限的节点(可能是CPU功率、电池功率、ROM或RAM存储器、或者类似的资源比观念中连接互联网的设备普遍具有的资源较差的设备)。但是,本发明不限于这样一种节点,而且普通设备(即拥有足够CPU功率,电池功率等的网络节点)也可以选择保留资源来获得益处,即使相比资源受限的节点来说具有较少的重要性,以及利用关于以上实施例描述的技术。
[0129]此外,实施例不限于IPv6,还可应用于任意种类的其中可能发生拓扑不准确的地址的网络协议,例如为不同的网络提供本地前缀的网络协议。
[0130]再者,实施例可以任意地结合。即,图7和8所示的场景I和2为节点也可以结合。例如,可以应用图7所示的隧道传输的移动节点也可以向服务节点直接发送数据包,如图8所示,而不用改变其地址。
[0131]由此,根据本发明的某些实施例,提供装置和方法,通过本装置和方法实行在第一网络与第二网络之间的网关功能,接收来自位于第二网络中的网络节点的数据包,其中数据包包含拓扑上不属于第二网络的源地址,收到的数据包被封装进新的数据包,以及新的数据包被发往第一网络。
[0132]根据本发明的进一步方面提供了一种装置,包括
[0133]用于实行在第一网络和第二网络之间的网关功能的部件,
[0134]用于接收来自位于所述第二网络中的网络节点的数据包的部件,其中所述数据包包括源地址,所述源地址拓扑上不属于所述第二网络,
[0135]用于封装所接收的数据包进新数据包中的部件,以及
[0136]用于向所述第一网络发送所述新数据包的部件。
[0137]根据本发明的另一方面提供了一种装置,包括
[0138]用于实行在第一网络和第二网络之间的网关功能的部件,
[0139]用于接收来自所述第一网络的被封装的数据包的部件,
[0140]用于解封装所接收的数据包的部件,其中被解封装的数据包包括目的地地址,所述目的地地址拓扑上不属于所述第二网络,以及
[0141]用于向所述第二网络发送去往所述目的地地址的所述被解封装的数据包的部件。
[0142]根据本发明的另一个进一步的方面提供了一种装置,包括
[0143]用于接收来自网关经由第一网络的数据包的部件,其中所述数据包是封装的以及所述网关位于所述第一网络和第二网络之间,
[0144]用于将所述数据包的源地址记录为所述网关的地址的部件,
[0145]用于解封装所接收的数据包的部件,以及
[0146]用于将被解封装的数据包的源地址记录为位于所述第二网络中的网络节点的地址的部件,其中所述网络节点的所述地址拓扑上不属于所述第二网络。
[0147]根据本发明的另一方面提供了一种装置,包括
[0148]用于创建数据包的部件,所述数据包将网络节点的地址作为目的地地址,其中所述网络节点位于第二网络中以及所述网络节点的所述地址拓扑上不属于所述第二网络,
[0149]用于封装所创建的数据包进被封装的数据包中的部件,所述被封装的数据包有在第一网络和所述第二网络之间的网关的地址,以及
[0150]用于向所述网关发送所述被封装的数据包的部件。
[0151]上述各方面可以结合从属权利要求的特征修改。
[0152]需要了解的是,上述修改的任意一个可以单独应用或与各个方面和/或这些方面涉及的实施例结合,除非明确表示为排除的选项。
[0153]就本文上文描述的本发明而言,需要指出的是
[0154]-接入技术可以是任何技术,信令通过此接入技术转移至网络元件以及来自网络元件的信令由此接入技术转移,采用此技术网络元件或传感器节点可以接入另一网络元件或节点(例如,经由基站或,笼统地说,接入节点)。任何现有的或将来的技术,例如WLAN(无线局域网)、WiMAX(微波接入全球互通)、LTE、LTE-A、蓝牙、红外线、以及任意类似的技术都可以使用;虽然上列技术主要是无线接入技术,例如在不同的无线电频谱中,本发明中的接入技术的含义还指有线的技术,例如基于IP的接入技术像有线电缆网络或固定线路,而且也包括电路交换的接入技术;接入技术可以区分为至少两类或两个接入域,诸如包交换的和电路交换的,但是多于两个接入域的存在不妨碍本发明应用于其中。
[0155]-可用的通信网络、站和传输节点可以是或包含任意设备、装置、单元或部件,通过这些,站、实体或其他用户装备可以连接以及/或利用接入网络供应的服务;这些服务包括数据和/或(音频)可视通信,数据下载等等,此外还有其他;
[0156]-用户装备或通信网络元件(站)可以是任意设备、装置、单元或部件,借此系统用户或订户可以体验来自接入网络的服务,例如移动电话或智能电话、个人数字助理(PDA)、或计算机、或拥有相应功能的设备,例如调制解调器芯片、芯片、模块等,还可以是UE的一部分或作为分离的元件附着于UE上,或类似物;
[0157]-方法步骤可能被实现为软件代码段以及用处理器运行于网络元件或终端(以设备、装置和/或其中的模块为例,或以包括装置和/或其中的模块的实体为例)中,方法的步骤不依赖于软件代码以及可以用任意已知的或将会发展出的编程语言详细说明,只要方法步骤中定义的功能得以保留;
[0158]-大体上,在实现的功能方面不改变本发明想法的情况下,任意方法步骤都适合实现为软件的形式或由硬件实现;
[0159]-方法步骤和/或设备、单元或部件可能实现为以上定义的装置中的硬件组件或其中任意模块(们),(例如根据上文描述的实施例实行装置的功能的设备,如上文描述的eNode-B等),是不依赖于硬件的以及可以用任意已知的或将来发展出的硬件技术或这些技术的任意混合实现,诸如MOS (金属氧化物半导体)、CM0S (互补MOS) ,BiMOS (双极M0S)、BiCMOS (双极CMOS)、ECL (射级耦合逻辑)、TTL (晶体管-晶体管逻辑)等,例如用ASIC (专用集成电路)组件、FPGA(现场可编程门阵列)组件、CPLD (复杂可编程逻辑器件)组件或DSP (数字信号处理)组件;
[0160]-设备、单元或部件(例如以上定义的装置、或它们各自的部件中的任意一个)可以被实现为单独的设备、单元或部件,但这不排除以分布式地方式遍及系统地实现它们,只要设备、单元或部件的功能得以保留;
[0161]-装置可以用半导体芯片、芯片组、或包含那些芯片或芯片组的(硬件)模块来代表;但是,这不排除装置或模块的机能实现为(软件)模块中的软件而不是由硬件实现的可能性,(软件)模块中的软件诸如计算机程序或包含为了被处理器执行或运行于处理器上的可执行软件代码段的计算机程序产品;
[0162]-设备可以被认为是装置或由多于一个装置构成的组装,无论功能上是否互相合作或功能上互相独立但处于例如同一设备外壳中。
[0163]要指出的是,上文描述的实施例和例子仅作说明目的,以及决无限制本发明的意图。相反,本文的意图是在附属的权利要求范围内的所有变形和修改都可被包括。
【权利要求】
1.一种装置,包括 第一接口单元,其被配置为提供向第一网络的连接, 第二接口单元,其被配置为提供向位于第二网络中的网络节点的连接,以及 处理器,其被配置为 实行在所述第一网络和所述第二网络之间的网关功能, 经由所述第二接口单元接收来自所述网络节点的数据包,其中所述数据包包括拓扑上不属于所述第二网络的源地址, 封装所接收的数据包进新数据包中,以及 经由所述第一接口单元向所述第一网络发送所述新数据包。
2.根据权利要求1所述的装置,其中所述处理器被配置为 将所述第二网络接口的接口地址用作所述新数据包的源地址。
3.根据权利要求1或2所述的装置,其中所述处理器被配置为记录去往位于所述第二网络中的所述网络节点的源地址的主机路由。
4.根据权利要求3所述的装置,其中所述处理器被配置为 经由所述第一接口单元接收来自所述第一网络的目的地为所述网络节点的数据包, 解封装所述数据包,以及 基于所记录的主机路由将被解封装的数据包向所述网络节点路由。
5.根据权利要求1至4之一所述的装置,其中所述处理器被配置为记录所述网络节点的所述接收的数据包的目的地地址。
6.根据权利要求1至5之一所述的装置,其中所述处理器被配置为 使用所述接收的数据包的源地址的网络前缀和由所述源地址的所述网络前缀指示的网络中的网络控制节点的接口标识符,创建所述新数据包的目的地地址。
7.根据权利要求6所述的装置,其中由所述网络前缀指示的网络中的所述网络控制节点的所述接口标识符是固定的接口标识符,或是通过使用为所述处理器和所述网络控制节点所知的秘密而加密创建的接口标识符。
8.根据权利要求1至5之一所述的装置,其中所述处理器被配置为 通过将所述接收的数据包的目的地地址用作所述新数据包的目的地地址,来创建所述新数据包的目的地地址。
9.根据权利要求1至8之一所述的装置,其中所述处理器被配置为,仅当满足关于所述网络节点的预定义的规则时,执行封装以及发送。
10.根据权利要求1至9之一所述的装置,其中所述处理器被配置为,通过判定所述源地址的网络前缀是否与所述第二网络的网络前缀不同,来检测所述源地址是否拓扑上不属于所述第二网络。
11.一种装置,包括 第一接口单元,其被配置为提供向第一网络的连接, 第二接口单元,其被配置为提供向第二网络的连接,以及 处理器,其被配置为 实行在所述第一网络和所述第二网络之间的网关功能, 经由所述第一接口单元接收来自所述第一网络的被封装的数据包, 解封装所接收的数据包,其中被解封装的数据包包括拓扑上不属于所述第二网络的目的地地址,以及 经由所述第二接口单元向所述第二网络发送去往所述目的地地址的所述被解封装的数据包。
12.根据权利要求11所述的装置,其中 所述目的地地址是位于所述第二网络中的节点的地址以及所述处理器记录所述目的地地址。
13.根据权利要求11或12所述的装置,其中所述处理器被配置为,在解封装所述接收的数据包之后,向所述第二网络发送多播消息从而请求来自所述目的地地址的拥有者的回应,以及仅当收到所述目的地地址的所述拥有者的回应时执行所述数据包的发送。
14.根据权利要求11至13之一所述的装置,其中所述处理器被配置为仅当满足关于所述网络节点的预定义的规则时,执行所述被解封装的数据包的发送。
15.一种装置,包括 接口单元,其被配置为提供向第一网络的连接,以及 处理器,其被配置为 经由所述接口单元接收经由所述第一网络来自网关的数据包,其中所述数据包是被封装的以及所述网关位于所述第一网络和第二网络之间, 将所述数据包的源地址记录为所述网关的地址, 解封装所接收的数据包,以及 将被解封装的数据包的源地址记录为位于所述第二网络中的所述网络节点的地址,其中所述网络节点的地址拓扑上不属于所述第二网络。
16.根据权利要求15所述的装置,其中所述处理器被配置为 创建将所述网络节点的地址作为目的地地址的数据包, 封装所述创建的数据包进所封装的数据包中,所述所封装的数据包有位于所述第一网络和所述第二网络之间的所述网关的地址,以及向所述网关发送所述所封装的数据包。
17.一种装置,包括 接口单元,其被配置为提供向第一网络的连接,以及 处理器,其被配置为 创建数据包,所述数据包将网络节点的地址作为目的地地址,其中所述网络节点位于第二网络中以及所述网络节点的所述地址拓扑上不属于所述第二网络, 封装所创建的数据包进被封装的数据包中,所述被封装的数据包有位于所述第一网络和所述第二网络之间的网关的地址,以及向所述网关发送所述被封装的数据包。
18.根据权利要求1至17之一所述的装置,其中在所述第一网络中和所述第二网络中使用IPv6。
19.一种方法,包括 实行位于第一网络和第二网络之间的网关功能, 接收来自位于所述第二网络中的网络节点的数据包,其中所述数据包包括拓扑上不属于所述第二网络的源地址, 封装所接收的数据包进新数据包中,以及 向所述第一网络发送所述新数据包。
20.根据权利要求19所述的方法,进一步包括 将第二接口单元的接口地址用作所述新数据包的源地址,所述第二接口单元被配置为提供实行所述方法的装置向所述第二网络的连接。
21.根据权利要求19或20所述的方法,进一步包括 记录去往位于所述第二网络中的所述网络节点的源地址的主机路由。
22.根据权利要求21所述的方法,进一步包括 经由所述第一接口单元接收来自所述第一网络的数据包,所述数据包的目的地是所述网络节点, 解封装所述数据包,以及 基于所记录的主机路由向所述网络节点路由所解封装的数据包。
23.根据权利要求19至22之一所述的方法,进一步包括 记录所述网络节点的所述接收的数据包的目的地地址。
24.根据权利要求19至23之一所述的方法,进一步包括 使用所述接收的数据包的源地址的网络前缀和由所述源地址的所述网络前缀指示的网络中的网络控制节点的接口标识符,创建所述新数据包的目的地地址。
25.根据权利要求24所述的方法,其中由所述网络前缀指示的网络中的所述网络控制节点的所述接口标识符是固定的接口标识符,或是通过使用为实行所述方法的装置和所述网络控制节点所知的秘密而加密创建的接口标识符。
26.根据权利要求19至23之一所述的方法,进一步包括 通过将所述接收的数据包的目的地地址用作所述新数据包的所述目的地地址,来创建所述新数据包的目的地地址。
27.根据权利要求19至26之一所述的方法,进一步包括 仅当满足关于所述网络节点的规则时,执行封装和发送。
28.根据权利要求19至27之一所述的方法,进一步包括 通过判定所述源地址的网络前缀是否与所述第二网络的网络前缀不同,来检测所述源地址是否拓扑上不属于所述第二网络。
29.—种方法,包括: 实行位于第一网络和第二网络之间的网关功能, 接收来自所述第一网络的被封装的数据包, 解封装所接收的数据包,其中被解封装的数据包包括拓扑上不属于所述第二网络的目的地地址,以及 向所述第二网络发送去往所述目的地地址的所述被解封装的数据包。
30.根据权利要求29所述的方法,其中 所述目的地地址是位于所述第二网络中的节点的地址以及所述目的地地址被记录在实行所述方法的装置中。
31.根据权利要求29或30所述的方法,进一步包括 在解封装所述接收的数据包之后,向所述第二网络发送多播消息从而请求来自所述目的地地址的拥有者的回应,以及 仅当收到所述目的地地址的所述拥有者的回应时执行所述数据包的发送。
32.根据权利要求29至31之一所述的方法,进一步包括 仅当满足关于所述网络节点的预定义的规则时,执行所述被解封装的数据包的发送。
33.一种方法,包括: 接收经由第一网络来自网关的数据包,其中所述数据包是被封装的以及所述网关位于所述第一网络和第二网络之间, 将所述数据包的源地址记录为所述网关的地址, 解封装所接收的数据包,以及 将被解封装的数据包的源地址记录为位于所述第二网络中的网络节点的地址,其中所述网络节点的地址拓扑上不属于所述第二网络。
34.根据权利要求33所述的方法,进一步包括 创建将所述网络节点的所述地址作为目的地地址的数据包, 封装所述创建的数据包进所封装的数据包中,所述所封装的数据包有位于所述第一网络和所述第二网络之间的所述网关的地址,以及 向所述网关发送所述封装的数据包。
35.一种方法,包括: 创建数据包,所述数据包将网络节点的地址作为目的地地址,其中所述网络节点位于第二网络中以及所述网络节点的所述地址拓扑上不属于所述第二网络, 封装所创建的数据包进被封装的数据包中,所述被封装的数据包有位于第一网络和所述第二网络之间的网关的地址,以及 向所述网关发送所述被封装的数据包。
36.根据权利要求19至35之一所述的方法,其中在所述第一网络中和所述第二网络中使用IPv6。
37.一种包括代码部件的计算机程序产品,当所述代码部件运行于处理部件或模块上时,所述代码部件执行根据权利要求19至36之一所述的方法。
38.根据权利要求37所述的计算机程序产品,其中所述计算机程序产品具体化在计算机可读的介质上。
【文档编号】H04W8/26GK104205896SQ201280071711
【公开日】2014年12月10日 申请日期:2012年3月23日 优先权日:2012年3月23日
【发明者】J·科霍宁, T·萨佛兰宁 申请人:诺基亚公司

最新回复(0)