CN106105164A - 代理拦截 - Google Patents
代理拦截 Download PDFInfo
- Publication number
- CN106105164A CN106105164A CN201480067013.9A CN201480067013A CN106105164A CN 106105164 A CN106105164 A CN 106105164A CN 201480067013 A CN201480067013 A CN 201480067013A CN 106105164 A CN106105164 A CN 106105164A
- Authority
- CN
- China
- Prior art keywords
- address
- response
- request
- node
- primary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/59—Network arrangements, protocols or services for addressing or naming using proxies for addressing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及客户端节点(12,70,710,720)、代理节点(14,16,200,500,510,520)及其中的方法,以及用于启用对无连接协议中的请求消息的拦截的协议和计算机程序。寻址到服务器节点的初级请求被代理节点拦截(302,402),该代理节点基于所述请求创建(304,404)次级请求并且向该服务器节点转发(304,406)这个次级请求。该代理节点接收(306,408)次级响应,次级响应是对该次级请求的响应,创建(308,310,410,412,414)基于该次级响应的初级响应,并且将这个初级响应转发(312,416)给发送该初级请求的节点。响应从而能够沿着与发送相应的请求相同的路径被发送。
Description
技术领域
本公开涉及请求信息的代理拦截。更具体地,本公开涉及客户端网络节点、代理网络节点和服务器网络节点及其中的方法,以及用于启用无连接协议中的请求消息的拦截的协议。
背景技术
以高度可扩展的方式跨越多个运营商域的实时数据的点对多点的分配是具有挑战性的难题。使用案例包括从单个智能电话向数百万的观众分发现场视频流,以及从单个数据源向数百万的客户端的机器到机器的实时数据的分配。
通过在链路层技术比如以太网(Ethernet)中使用多路广播机制能够在本地网络中实施实时数据的点对多点分配。而且,互联网协议(IP)层多路广播能够在这个本地网络中。然而,这些技术无法以可扩展方式应用在全球网络中。以太网缩放成本地网络或城域网络,而且IP层多路广播不能缩放成具有数百万多路广播树的全球网络。
网络代理是网络中用于数据的点对多点分配的关键的节点类型。为了提供点对多点数据分配的可扩展解决方法,代理必须能够在代理节点的层次树中交互操作。在现今的网络中,客户端和服务器之间存在有数种类型的代理,例如透明代理、半透明代理和非透明代理。
透明代理对于客户端和服务器是不可见的。透明代理一方面与客户端建立单独的传输控制协议(TCP)连接,并且另一方面与服务器建立单独的传输控制协议(TCP)连接,并且处理在客户端和服务器之间传送的数据包。但是,就透明代理在与客户端和服务器的TCP/IP连接中并不使用它自己的源地址而言,透明代理对于客户端和服务器是不可见的。相反地,该代理在与服务器的TCP/IP连接中伪造客户端的源地址,并且在与客户端的TCP/IP连接中伪造服务器的源地址。
半透明代理对于客户端不可见但是对于服务器可见的。就像透明代理一样,它一方面与客户端建立单独的TCP/IP连接,并且另一方面与服务器建立单独的TCP/IP连接,并且处理在客户端和服务器之间传送的数据包。就半透明代理在与客户端的TCP/IP连接中并不使用它自己的源地址而言,半透明代理对于客户端是不可见的。半透明代理在与客户端的TCP/IP连接中伪造服务器的源地址。然而,当与服务器建立TCP/IP连接时,半透明代理使用它自己的IP地址,并且因此对服务器是可见的。
非透明代理通过客户端、服务器或邻近代理被明确地定址。例如,客户端可以被配置为具有该代理的地址,或者新的代理感知路由协议可以被用来穿过一组代理发现从客户端到服务器的路径。
对于现有的各种类型代理的设计基本原理是在客户端和服务器之间的路径中具有或不具有一个或多个代理在客户端和服务器中的TCP/IP栈是一样的。
例如在透明型或半透明型代理中,这通过对客户端或服务器隐藏代理的存在来完成,或者在非透明型代理中,通过使代理充当客户端的显式服务器,以及使代理充当服务器的显式客户端来完成。这些设计选择与下文中进一步描述的问题有关联。
鉴于新兴的针对可扩展的点对多点分配问题的解决方法,信息中心网络(ICN)为客户端提供服务,该服务能够为了特定的数据对象向ICN发送请求消息,并且ICN在响应消息中返回该数据对象。该请求消息并不需要包括关于该数据对象存储在ICN中的哪里的任何信息。请求消息和响应消息在网络的专用ICN代理节点中进行处理。这些代理节点实施多个功能来支持被请求的数据对象的有效传送,例如缓存和发布-订阅功能。这些功能提供用于大数据量的权宜传送,例如视频流或物联网(IoT)数据的点对多点分配。
目前的ICN解决方法,例如内容中心网络(CCN),是基于新的信息中心全球路由协议的,该新的信息中心全球路由协议是基于该数据对象的名称执行请求消息的路由。这种新的路由协议在全球范围上的引入是主要的迁移障碍,因为这需要多年的标准化,该标准化伴随着在新网络节点上大量的投资。此外,为使CCN在全球在数据对象的名称上支持可扩展的路由,这些名字必须包括拓扑信息。这是个不具吸引力的特性,因为这意味着数据对象名称变得依赖于位置并且每当数据对象在网络中移动至新的位置时数据对象名称必须被改变。
为提供一个方便迁移的解决方法,需要使用旧有的路由机制的路由请求消息。此外,沿着该请求消息的路由路径的ICN代理节点应该能够以有效的且及时的方式处理该消息,以便内容能够以低延迟被返回。
例如,考虑一种情形,客户端通过沿着数个不同路径发送请求消息来发现缓存数据对象以使数据对象在沿着不同路径的代理节点中的缓存中的任何一个缓存中被发现的概率最大化。
使用面向连接的协议,例如传输控制协议(TCP)/IP承载的超文本传输协议(HTTP),以及目前现存的被优化用于这些协议的各种代理节点,将导致沿着不同路径的所有代理节点之间的TCP连接设置和清除信令方面的大量开销。
相反地,使用无连接协议能够更有效地处理这种情形,例如用户数据报协议(UDP)/IP协议承载的受限应用协议(CoAP)或实验网络信息协议(NetInf),因为不需要TCP连接设置和清除信令,这导致更少的开销。
通常地,现有的代理解决方案被优化用于面向连接的协议,例如TCP,但是对于无线连接协议,例如UDP/IP承载的CoAP或NetInf,执行不太理想。
更具体地,透明代理方法和半透明代理方法的一个缺点是源地址的伪造在全球因特网中是不被推荐的,因为它能够被用在各种类型的安全攻击中。
透明代理方法和半透明代理方法的另一个缺点是,因为由于动态路由协议的作用或者由于负载共享机制,后面的请求消息会经由不同的路径进行路由,特定数据对象的后面的请求消息可能经由不同的代理进行路由。这会导致来自客户端的订阅请求经由一个订阅状态被设置的代理来进行路由。来自同一客户端的之后的订阅终止请求会经由另一个代理进行路由,从而错误地使该第一个代理的订阅状态保持激活。
透明代理的缺点是在客户端和服务器之间需要对称路由以确保请求消息和响应消息两者都穿过相同的代理。这个问题在数个平行代理节点之间的负载共享的情况中特别明显,其导致请求消息经由代理节点中的一个节点进行路由,而响应消息经由另一个代理节点进行路由。
现有的非透明代理方法的缺点是代理地址必须在客户端和邻近的代理中进行静态配置,或者必须部署新的代理感知路由协议,如同例如在CCN中实施的。
就客户端或邻近的代理并不直接寻址至该代理,并且看不到该代理的源地址而言,透明型和半透明型的代理对于客户端或邻近的代理是不可见的。这在不同的运营商沿着端对端的路径管理客户端、代理和服务器的多运营商场景中是非理想的特征。在这种情景中,流经客户端和代理之间、或两个代理之间的,或代理和服务器之间的运营商间的边界的通信量受制于基于服务层协议(SLA)的策略执行。例如,如果代理并不遵守SLA,则它应该有可能监督来自那个代理的通信量。如果代理的源地址可见,这应该是有利的。对于透明和半透明代理情况并非如此。
用于处理全球网络的数据的实时点对多点分配问题的另一种技术是发布/订阅互联网路由范例(PSIRP)/用于发布-订阅网络连接的欧盟框架计划PURSUIT提案。PSIRP/PURSUIT方法的关键弱点是它缺乏可行的迁移路径,因为它需要基于称为布隆(Bloom)过滤器的完全地新的网络转发基础设施。
本公开尤其是解决了设计一种优化用于无连接通信的ICN路由的问题。
发明内容
本公开的实施例的一个目标是至少处理以上描述的问题中的一些,并且这个目标以及其他目标通过客户端节点、代理节点、服务器节点及其中的方法,以及用于无连接通信的协议来完成。
根据一个方面,本公开提供了用于非透明拦截的代理节点中的方法,该方法包括:
-从第一节点接收初级请求,该初级请求包括:作为源地址的第一节点的地址、作为目的地地址的服务器节点的地址和初级请求的标识符;
-基于初级请求创建次级请求,该次级请求包括:作为源地址的寻址至代理节点的地址、作为目的地地址的服务器节点的地址和次级请求的标识符;
-发送该次级请求至服务器节点;
-从第二节点接收次级响应,所述次级响应包括:作为源地址的第二节点的地址、作为目的地地址的代理节点的地址和次级响应的标识符;
-检查次级响应是否匹配次级请求;
-当次级响应匹配次级请求时,
-识别次级请求所基于的初级请求;
-基于初级请求和次级响应创建初级响应,所述初级响应包括:作为源地址的代理节点的地址、作为初级响应的目的地地址的初级请求的源地址和初级请求的标识符;以及
-向第一节点发送初级响应。
根据另一方面,本公开提供了用于通信网络的代理节点,该代理节点包括:
-处理器;以及
-存储器,存储包括计算机程序代码的计算机程序,当在处理器中被运行时,所述计算机程序代码使得代理节点:
-从第一节点接收初级请求,该初级请求包括:作为源地址的第一节点的地址、作为目的地地址的服务器节点的地址和初级请求的标识符;
-基于初级请求创建次级请求,该次级请求包括:作为源地址的寻址至代理节点的地址、作为目的地地址的服务器节点的地址和次级请求的标识符;
-发送该次级请求至服务器节点;
-从第二节点接收次级响应,所述次级响应包括:作为源地址的第二节点的地址、作为目的地地址的代理节点的地址和次级响应的标识符;
-检查次级响应是否匹配次级请求;
-当次级响应匹配次级请求时,
-识别次级请求所基于的初级请求;
-基于初级请求和次级响应创建初级响应,所述初级响应包括:作为源地址的代理节点的地址、作为初级响应的目的地地址的初级请求的源地址和初级请求的标识符;以及
-向第一节点发送初级响应。
根据另一方面,本公开提供了用于通信网络的代理节点,该代理节点包括:发射器、接收器以及处理电路,该处理电路被适配用于:
-从第一节点接收初级请求,该初级请求包括:作为源地址的第一节点的地址、作为目的地地址的服务器节点的地址和初级请求的标识符;
-基于初级请求创建次级请求,该次级请求包括:作为源地址的寻址至代理节点的地址、作为目的地地址的服务器节点的地址和次级请求的标识符;
-经由发射器将次级请求传送至服务器节点;
-经由接收器从第二节点接收次级响应,所述次级响应包括:作为源地址的第二节点的地址、作为目的地地址的代理节点的地址和次级响应的标识符;
-检查次级响应是否匹配次级请求;
-当次级响应匹配次级请求时,识别次级请求所基于的初级请求;
-基于初级请求和次级响应创建初级响应,所述初级响应包括:作为源地址的代理节点的地址、作为初级响应的目的地地址的初级请求的源地址和初级请求的标识符;以及
-经由发射器将所述初级响应传送至所述第一节点;
根据另一方面,本公开提供了用于通信网络的代理节点,该代理节点包括:
-接收装置,其被适配来用于从第一节点接收初级请求,该初级请求包括:作为源地址的第一节点的地址、作为目的地地址的服务器节点的地址和初级请求的标识符;
-创建装置,其被适配来用于基于初级请求创建次级请求,该次级请求包括:作为源地址的寻址至代理节点的地址、作为目的地地址的服务器节点的地址和次级请求的标识符;
-发送装置,其被适配来用于将该次级请求发送至服务器节点;
-该接收装置进一步被适配来用于从第二节点接收次级响应,所述次级响应包括:作为源地址的第二节点的地址、作为目的地地址的代理节点的地址和次级响应的标识符;
-检查装置,其被适配来用于检查次级响应是否匹配次级请求;
-识别装置,其被适配来用于识别次级请求所基于的初级请求,当次级响应匹配次级请求时,
-创建装置进一步被适配来用于基于初级请求和次级响应创建初级响应,所述初级响应包括:作为源地址的代理节点的地址、作为初级响应的目的地地址的初级请求的所述源地址和初级请求的标识符;以及
-发送装置进一步被适配来用于将所述初级请求发送至所述第一节点;
根据一个方面,本公开提供了一种客户端节点中的方法,该方法包括:
-发送请求,该请求包括作为源地址的客户端节点的地址、作为目的地地址的服务器节点的地址和请求的第一标识符;
-从代理节点接收响应,该响应包括作为源地址的代理节点的地址、作为目的地地址的客户端节点的地址和第二标识符;
-通过使用所述第一标识符和所述第二标识符,检查响应是否匹配请求;以及
-当响应匹配请求时,接受该响应作为对该请求的响应。
根据另一方面,本公开提供了一种用于通信网络的客户端节点,该客户端节点包括:
-处理器;以及
-存储器,存储包括计算机程序代码的计算机程序,该计算机程序代码当在处理器中运行时,使客户端节点:
-发送请求,该请求包括作为源地址的客户端节点的地址、作为目的地地址的服务器节点的地址和请求的第一标识符;
-从代理节点接收响应,该响应包括作为源地址的代理节点的地址、作为目的地地址的客户端节点的地址和第二标识符;
-通过使用所述第一标识符和所述第二标识符,检查响应是否匹配请求;以及
-当响应匹配请求时,接受该响应作为对请求的响应。
根据另一方面,本公开提供了一种用于通信网络的客户端节点,该客户端节点包括接收器、发射器以及处理电路,该处理电路被适配用于:
-经由发射器发送请求,该请求包括作为源地址的客户端节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符;
-经由接收器从代理节点接收响应,该响应包括作为源地址的代理节点的地址、作为目的地地址的客户端节点的地址,和第二标识符;
-通过使用所述第一标识符和所述第二标识符,检查响应是否匹配请求;以及
-当响应匹配请求时,接受该响应作为对请求的响应。
根据另一方面,本公开提供了一种用于通信网络的客户端节点,该客户端节点包括:
-发送装置,其被适配来用于发送请求,该请求包括作为源地址的客户端节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符;
-接收装置,其被适配来用于从代理节点接收响应,该响应包括作为源地址的代理节点的地址、作为目的地地址的客户端节点的地址,和第二标识符;
-检查装置,其被适配来用于通过使用所述第一标识符和所述第二标识符,检查响应是否匹配请求;以及
-接受装置,其被适配来用于当响应匹配请求时,接受该响应作为对请求的响应。
根据一个方面,本公开提供了一种用在服务器节点中的方法,该方法包括:
-从第一节点接收请求,该请求包括作为源地址的代理节点的地址、作为目的地地址的服务器节点的地址和请求的标识符;
-处理该请求从而获得与该请求对应的响应;以及
-发送响应,该响应包括作为源地址的服务器节点的地址、作为目的地地址的与响应对应的请求的源地址和该请求的标识符的标识符;
根据另一方面,本公开提供了一种用于通信网络的服务器节点,该服务器节点包括:
-处理器;以及
-存储器,存储包括计算机程序代码的计算机程序,当在处理器中被运行时,该计算机程序代码使得服务器节点:
-接收请求,该请求包括作为源地址的代理节点的地址、作为目的地地址的服务器节点的地址和请求的第一标识符;
-处理该请求来获得与该请求对应的响应;以及
-发送响应,该响应包括作为源地址的服务器节点的地址、作为目的地地址的与响应对应的请求的源地址和该请求的标识符的标识符;
根据另一方面,本公开提供了一种用于通信网络的服务器节点,该服务器节点包括发射器、接收器以及处理电路,该处理电路被适配用于:
-经由接收器接收请求,该请求包括作为源地址的代理节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符;
-处理该请求来获得与该请求对应的响应;以及
-经由发射器发送响应,该响应包括作为源地址的服务器节点的地址、作为目的地地址的与响应对应的请求的源地址,和该请求的标识符的标识符;
根据另一方面,本公开提供了一种用于通信网络的服务器节点,该服务器节点包括:
-接收装置,其被适配来用于接收请求,该请求包括作为源地址的代理节点的地址、作为目的地地址的服务器节点的地址和请求的第一标识符;
-处理装置,其被适配来用于处理该请求从而获得与该请求对应的响应;以及
-发送装置,其被适配来用于发送响应,该响应包括作为源地址的服务器节点的地址、作为目的地地址的与响应对应的请求的源地址,和该请求的标识符的标识符;
根据又一个方面,本公开提供了一种用于无连接通信的协议,该协议包括响应中的字段,该字段被布置为指示朝目的地地址发送请求的网络节点接受具有与该请求的目的地地址不同的源地址的响应,作为对该请求的响应。
根据又一个方面,本公开提供了一种包括计算机程序代码的计算机程序,当该计算机程序代码被应用在朝目的地地址发送请求的网络节点的处理器中时,使该网络节点接受具有与该请求的目的地地址不同的源地址的响应,作为对该请求的响应。
本公开的实施例的优点是在客户端节点和服务器节点之间返回路径与转发路径相同。这为客户端提供了一种改善的安全性。
附图说明
实施例将参考附图进行更加详细的说明,其中:
图1示出了根据本公开的实施例的一种网络中的信令序列;
图2示出了根据本公开的实施例的一种代理节点的示意性功能视图;
图3示出了根据本公开的实施例的一种代理节点的步骤流程图;
图4A和图4B示出了根据本公开的实施例的一种代理节点中的方法步骤的流程图;
图5A-5C示意性地示出了根据本公开的实施例的一种代理节点;
图6示出了根据本公开的实施例的一种客户端节点处的方法步骤的流程图;
图7A-7C示意性地示出了根据本公开的实施例的一种客户端节点;
图8示出了根据本公开的实施例的一种服务器节点中的方法步骤的流程图;
图9A-9C示意性地示出了根据本公开的实施例的一种服务器节点;
图10和图11示出了与本公开的实施例相关的层次应用;以及
图12示出了根据本公开的实施例的信令的聚集和解聚集。
具体实施方式
在下面的具体实施方式中,本公开的不同实施例将参考附图进行更加详细的描述。出于说明而非限制的目的,所描述的具体细节,例如具体示例和技术,是为了提供透彻的理解。
本公开的实施例通过一种创造性的通过拦截无连接协议例如UDP/IP承载的CoAP或NetInf的非透明代理至少解决了以上描述的现有的代理网络连接的问题中的一些。
实施例使客户端节点和服务器节点之间的端对端路径上的客户端节点、代理节点和服务器节点之间能够通信,而不必在客户端节点或邻近的代理节点中的任一个代理节点中配置代理节点的地址,或不必为达到该代理节点而配置新的路由协议。而且,该解决方法允许通过形成代理节点的层次树实现扩展,其聚集了请求消息并且解聚集了响应消息。这将在下文中进一步描述。
为检索数据对象,客户端节点使用众所周知的技术来解析数据对象的名称以获得存储该数据对象的远程服务器的网络地址。客户端节点然后将请求消息通过网络发送给该远程服务器节点。在这个阶段,客户端节点可能不知道中间的代理。旧有的路由协议,例如IP路由协议,基于服务器节点的目的地地址沿着客户端节点和服务器的之间的路径路由该请求消息。代理节点被配置在网络中,该网络通过穿过一个或数个这种代理节点在客户端节点和服务器节点之间形成端对端路径。
代理节点使用如下描述的创造性的拦截和消息处理机制来将客户端节点和服务器之间的端对端请求-响应会话拆分成子会话链,沿着客户端节点和服务器节点之间路径的每个跳跃(hop)具有一个子会话。第一子会话因此在客户端节点和第一代理节点之间,第二子会话在第一代理节点和第二代理节点之间,等等,并且最后的子会话在最后的代理节点和服务器节点之间。将端对端会话拆分成子会话的链的目的是这允许每个代理节点变成层次的缓存、请求聚集或发布-订阅树中的节点。这将在下文中进一步描述。
应当提到的是,请求聚集和发布-订阅不同在于它们对请求的客户端生成响应的方式。在发布-订阅中来自客户端的对象请求能够在每当出现满足与被请求的对象相关的一些触发条件时,引起服务器的任何数量的响应。在请求聚集中,请求仅引起一个响应实例,这个实例出现在被请求对象变成可用时。
此外,在请求聚集和发布-订阅中,对象的请求和在等待该请求的响应时接受到的对相同对象的请求,被聚集在接收这些请求的代理节点中。
本文中,拦截(interception)意思是代理节点获得在转移中发往至远程服务器节点的请求消息。拦截代理节点处理请求消息,并且然后将它转发至远程服务器节点,或者向被拦截的请求消息的源节点返回响应消息。
当拦截到请求消息时,代理节点将原来的源地址替换为它自己的源地址,并且将该请求消息转发至远程服务器节点。每个代理节点还存储所接收的和所转发的请求消息两者的副本,以及两者之间的绑定。在这种方式中,在客户端节点和服务器节点之间的路径上的很多代理节点能够拦截该请求消息。
当远程服务器节点接收到请求,它向该请求消息的原地址返回响应,这个源地址是客户端节点和服务器节点之间的路径上的最后一个代理节点的地址。这个代理节点接收来自服务器节点的响应消息并且将它与先前发送给服务器节点的被存储的请求消息进行匹配。接下来,代理节点使用这个请求消息和从前一个代理节点接收到的请求消息之间的绑定,然后将该响应转发给那个请求消息的源地址。使用将响应消息与存储的请求消息进行匹配的这个机制,响应将沿着从服务器节点,经过请求消息穿过的代理节点,返回至客户端节点的路径被转发。这个返回路径因此将以相反的顺序穿过在客户端节点到服务器节点的转发路径上被请求消息穿过的相同的代理节点。
请注意,使用本公开的实施例,沿着返回路径的响应消息的转发是基于代理节点在转发请求消息时设置的子会话状态。这是为了确保响应消息的端对端返回路径穿过与请求消息的端对端转发路径相同的代理节点。
在响应消息的端对端返回路径中穿过与请求消息的端对端转发路径相同的代理节点,支持发布-订阅功能以及请求聚集和缓存功能,将在下文中进一步进行描述。
在基于透明代理节点的现有技术不一定要保持响应消息在端对端返回路径中穿过与请求消息在端对端转发路径中穿过的相同的代理节点,其中旧有的路由协议,例如IP路由协议,被用来在服务器节点和客户端节点之间路由响应消息,因为这种路由协议可能在转发方向和返回方向中提供不同路径。
即使在转发路径和返回路径中以基于非透明代理节点的技术穿过相同的代理节点,这涉及以邻近的代理节点的地址配置客户端节点和代理节点的工作量,或配置新的路由协议的工作量。这些工作量能够通过本公开被避免。
由于本文中所描述的请求消息的路由是基于旧有路由协议和节点地址来执行,这就不需要基于被请求的数据对象的名称来路由请求消息。数据对象的名称因此能够是不依赖位置的。因为数据对象能够在它们改变网络拓扑结构中的位置时保留它们的名称,因此这是明显的有益特征,。
最后,应当注意到,在代理节点中请求消息和响应消息的过程可能涉及令牌(token)。关于令牌的更多信息,将在下文中呈现。
如上面所看到的,透明代理方法和半透明代理方法的一个缺点是源地址的伪造能够被用于各种类型的安全攻击。这因此不是全球互联网的推荐做法。避免这个问题的一个方式是当向代理节点发送信息时代理节点的地址被用作为明示的目的地址目的地地址,并且当代理节点发送信息时代理节点地址也能够被用作源地址。
图1示意性地示出了根据本公开的一些实施例的,客户端节点12、代理节点Int-114、代理节点Int-2 16和服务器节点18之间的信令序列。通过步骤1至步骤6示出,该信令涉及用于无连接协议,例如NetInf或CoAP over UDP/IP的新型非透明拦截代理节点。在本文中该信令用于描述两个拦截代理节点,但是显然这种信令方案能够被延伸至具有任意数量的拦截代理节点的情况。
1.客户端节点12向服务器节点发送请求消息。该消息可以具有源地址AC、目的地地址AS以及该请求的标识符,例如令牌号t1。“Req”始终表示请求,而“Resp”表示响应。当前的请求能够被表示为Req(AC,AS,t1)。令牌号作为响应消息的部分被返回并且能够被客户端节点用来将响应与请求进行匹配。位于客户端节点12和服务器节点18之间的拦截代理节点14,在本文中表示为Int-1,拦截该请求消息。
2.拦截代理节点Int-1 14基于目的地地址AS向服务器节点18转发该请求消息。在请求消息的源地址字段中,它以它自己的地址A1替换客户端节点12的地址AC。同样地,它以令牌号t2替换令牌号t1,令牌号t2能够在本地生成。这结果是Req(A1,AS,t2)。以此方式,沿着该路径的每个跳跃能够被提供一个本地唯一的令牌号,对应于该路径的每个跳跃的本地请求-响应关系。而且,代理节点14能够存储所接收的消息和所转发的请求消息的副本,以及这两个消息之间的绑定。
3.在先前的拦截代理节点Int-1 14和服务器节点18之间的路径上的后面的表示为Int-2 16的拦截代理节点将如同步骤1拦截请求消息并且以步骤2中相同的方式处理该消息。拦截代理节点Int-2 16最后基于目的地地址AS向服务器节点18转发该请求消息,如Req(A2,AS,t3)。
4.服务器节点18接收并处理该请求,并且向该请求消息的原地址发送响应消息Resp(AS,A2,t3),该源地址是穿过客户端节点12和服务器节点18之间的路径上的最后一个拦截代理,本文中是Int-2 16的地址,即地址A2。拦截代理节点Int-2 16接收该响应消息。
5.拦截代理节点Int-2 16将响应消息与所存储的被发送给服务器节点18的请求消息进行匹配,其可以包括匹配令牌号t3。代理节点Int-2 16然后可以将它自己的地址插入到响应消息的源地址字段中。使用步骤2中创建的绑定,代理节点Int-2 16现在检索存储的先前从拦截代理节点Int-1 14接收的请求消息,并且可以将来自这个请求消息的令牌号t2插入到响应消息中。拦截代理节点Int-2 16还可以将响应消息中承载的数据对象存储在缓存中。拦截代理节点Int-2 16然后将响应消息Resp(A2,A1,t2)转发给拦截代理节点Int-1 14,拦截代理节点Int-1 14接收该消息。
6.拦截代理节点Int-1 14以与步骤5中相同的方式处理该响应消息并且将该响应消息转发给客户端节点12。客户端节点12接收该响应消息,将它与先前发送的包括令牌号t1的请求消息进行匹配,并且处理该响应Resp(A1,AC,t1)。
请求的聚集可以在代理节点中的任何一个节点中执行。
如果代理节点在响应从服务器节点或任何上游的代理节点返回之前不仅仅接收到一个而且还接收到对同一个对象的至少第二个请求,该第一个请求和该至少第二个请求被聚集。对该被请求对象的响应于是在从上游节点,即服务器节点或上游的代理节点,接收到响应之后被返回给请求方。
当从上游节点处接收到响应时,在该代理节点中解聚集该响应以返回给第一个请求方和该至少第二个请求方。
如果代理节点已缓存被请求的对象或已安装订阅状态,对于发布-订阅,响应信息将会立即返回给请求方,该相应信息包括被请求的缓存的对象的副本,或被请求订阅就位的确认。
如果代理节点已聚集订阅请求,则代理节点将在接收后对订阅响应进行解聚集。
应当提及的是,请求可以是对订阅的请求,或者对获得数据对象的GET请求。在GET请求的情况下,代理节点可将该请求作为聚集或缓存的请求来处理,这将在下文中进行描述。
而且,请求包括用于对数据对象建立订阅的请求,或GET请求。客户端节点可将这个请求指向服务器节点,但是该请求可以沿着朝向服务器节点的路径被拦截。服务器节点或代理节点可以通过发送确认来对该请求发送响应,其中该确认可以包括连接到被请求的数据对象的链接例如统一资源定位符(URL)。
根据一个实施例,例如当使用CoAP协议时,该响应可包括数据对象本身。这适用于请求是订阅请求的情况以及请求是GET请求的情况。
图2示出了根据本公开的实施例的一种代理节点200的示意性功能视图。代理节点200被适配来用于接收请求消息Req(Ac,As,t1),其中Ac是该请求的源地址并且As是该请求的目的地地址。而且,t1表示该请求的标识符,例如某种令牌号。
该请求Req(Ac,As,t1)能够被R(接收器)202接收并且被S1(存储器)204存储。该请求被转换成Req(A1,AS,t2),Req(A1,AS,t2)包括作为源地址的代理节点200的地址以及新的令牌号t2。根据一个实施例,这个新的令牌号t2可以基于令牌号t1被创建。Req(A1,AS,t2)被传送至服务器As,并且在其通向服务器节点的途径上穿过一个或多个代理节点。被传送的请求Req(A1,AS,t2)还被S2(存储器)208存储。在210中,代理节点200接收响应Resp(A2,A1,t2*)。代理节点200然后可以决定接收到的响应是否与被传送的请求匹配。因此,确定了接收到的响应是否与被传送的请求匹配。在这个确定中,能够确定令牌号t2*是否与t2匹配,并且如果令牌号匹配,则确定了接收到的响应匹配该请求。了解到响应对应于被传送的请求,基于被确定的传送的请求识别更早的接收到的请求。这可以通过该代理节点接收到的请求和进行传送的请求之间的绑定来完成。从这个识别看来,接收到的请求的源地址被识别并且被用作基于接收到的响应创建的响应的目的地地址。此外,该请求的标识符,令牌号t1被识别并且被用在创建于T(发射器)212中的响应中。之后,被创建的响应Resp(A1,AC,t1)通过T 212被传送给所接收到的请求的源地址,现在是该响应的目的地地址。
图3示出了根据本公开的实施例,如图1和图2中所示的代理节点Int-1中的步骤流程图。本文中使用的术语与图2中一样,由于这个原因本文中采用的步骤对应于和类似图2中示意性地示出的代理节点200的功能。
在方框302中,请求消息Req(AC,AS,t1)被接收和存储。在方框304中,被传送的请求消息Req(A1,AS,t2)被创立、存储、绑定至Req(AC,AS,t1)并且被发送至具有地址AS的服务器节点。
应当注意,Req(A1,AS,t2)请求消息被发送给服务器节点。该请求可以被第二代理节点拦截或者也可以不被拦截,取决于在通向服务器节点的路径上是否有这个代理节点。
发送请求消息至(to)服务器节点,因此可以在这个方面理解为向(towards)服务器节点发送请求消息,并且另一个节点例如代理节点可以在通向服务器节点的路径上拦截该请求消息。
在方框306中,响应消息Resp(A2,A1,t2*)被接收。在方框308中,确定响应消息Resp(A2,A1,t2*)是否匹配请求消息Req(A1,As,t2)。如果响应消息Resp(A2,A1,t2*)匹配请求消息Req(A1,As,t2),则在方框310中从绑定中识别与请求消息Req(AC,AS t1)匹配的请求消息Req(A1,As,t2)。在方框312中响应消息Resp(A1,AC,t1)被创建并且被传送给在方框302中接收到的请求消息的源地址。
在本公开的实施例中,客户端节点、代理节点和服务器节点被适配来用于存储接收到的和发送的请求消息,这些消息被用作例如CoAP观察架构中的子会话状态。
这些消息包括客户端节点和服务器节点之间的端对端路径上邻近节点的地址。双边关系从而能够在邻近节点中的每个之间建立,并且会话中的后面的响应消息能够经由这些邻近节点被发送,这会将它们以逐跳的(hop-by-hop)方式转发给客户端。同样地,来自客户端的会话中的后面的请求消息能够经由邻近的节点发送,其会将以逐跳的方式转发给服务器。
如果响应消息指示没有找到被请求的数据对象,这就不需要子会话并且因此被这个响应消息穿过的代理节点能够清除这个子会话状态。可替换地,该子会话状态能够使用超时机制来清除。
图1中的信令序列能够从非子会话状态开始,其中客户端节点和服务器节点不知道代理节点,并且代理节点不知道它的邻近节点。在完成初始的请求-响应信令序列后,子会话状态已被设置并且对于之后的信令代理节点被它的邻近节点明确地寻址。这意味着对于之后的信令每个代理节点已承担这个子会话中传统的非透明代理的角色。
本公开的实施例的构思是,从没有子会话的并且每个代理节点作为拦截代理的起始状态转变成每个代理节点作为传统的非透明代理的最终的子会话状态的信令机制。这个最终的连接状态允许客户端节点、代理节点和服务器节点之间用于包括缓存、请求聚集和发布-订阅目的的明确定义的相互作用。本公开使达到最终状态而不需要邻近节点地址的预配置或新的路由协议成为可能。
习惯做法是协议栈认为接收到的响应消息的源地址与先前发送的请求消息的目的地地址一致。如果情况不是这样,协议栈就拒绝接收到的响应消息。本公开的实施例中,这对于例如图1中的客户端节点、代理节点Int-1和代理节点Int-2确实无法实现。
为此指示请求消息的发射器接受具有与该请求消息的目的地地址不同的源地址的响应消息的创造性机制,已被开发。这能够通过在响应消息中引入能够指示客户端节点或代理节点接受具有与先前发送的请求消息的目的地地址不同的源地址的响应消息的新的协议字段来处理。
在现有的请求-响应协议例如CoAP的修改版本中,或在创造性的请求-响应协议中,可以包括该新的字段的引入。应当强调的是,新的协议字段仅在请求-响应协议中需要,并且因而在用于路由的协议中不需要。
一种用于无连接通信的协议,该协议包括响应中的字段,该协议被布置为用于告知朝目的地地址发送请求的网络节点接受具有与该请求的目的地地址不同的源地址的响应,作为对所述请求的响应。
该协议的字段可以包括该服务器节点的地址。
该协议的字段可以明确地指示朝目的地地址发送请求的网络节点接受具有与该请求的目的地地址不同的源地址的响应,作为对所述请求的响应。
此外,还设想了一种包括计算机程序代码的计算机程序,该计算机程序代码当被应用在朝目的地地址发送请求的网络节点的处理器中时,使该网络节点接受具有与该请求的目的地地址不同的源地址的响应,作为对所述请求的响应。
另外,本公开被设计了包括该计算机程序的计算机程序产品,以及存储有该计算机程序的计算机可读装置。
该新的协议字段因而可以包括先前发送的请求消息的目标地址,这将允许接收器将响应消息与先前发送的请求消息相互关联。
这个协议字段还可以包括与源地址相关联的验证信息。接收器于是能够使用它的令牌号和请求的资源的标识符与先前发送的请求消息的令牌号和标识符匹配的通用条件来接受响应消息。
这个令牌匹配意味着,因为通过请求器生成的令牌号典型地对于目的地址是唯一的,所有的后面的对给定请求消息的响应或通知可能必须包括具有先前发送的请求消息的源地址的新的协议字段目的地地址。
新的协议字段能够在应用层协议上实施,例如作为当前CoAP或NetInf协议的延伸。
这个方法的优点是旧有的UDP/IP应用程序编程接口不需要更新。
图4A出了根据本公开的实施例的一种用于非透明拦截的代理节点的方法步骤的流程图。
在方框402中,该方法包括从第一节点接收初级请求,该初级请求包括:作为源地址的所述第一节点的地址、作为目的地地址的服务器节点的地址和该初级请求的标识符。在方框404中,基于初级请求创建次级请求,该次级请求包括:作为源地址的至代理节点的地址、作为目的地地址的服务器节点的地址和该次级请求的标识符。在方框406中,次级请求被发送给服务器节点。在方框408中,次级响应从第二节点被接收,所述次级响应包括:作为源地址的第二节点的地址、作为目的地地址的代理节点的地址和次级响应的标识符。在方框410中,检查次级响应是否匹配次级请求。当次级响应匹配次级请求时(方框410中的“Y”),该方法进一步包括方框412识别次级请求所基于的初级请求。在方框414中,基于初级请求和次级响应创建初级响应,所述初级响应包括:作为源地址的代理节点的地址、作为初级响应的目的地地址的初级请求的源地址,和初级请求的标识符。此外,在方框416中,初级响应被发送给所述第一节点。
当次级响应不匹配次级请求时(方框410中的“N”),该方法能够通过方框418中的执行“无操作”来停止。
从第一节点接收302、402初级请求可以包括在初级请求从第一节点发送时拦截初级请求。
接收306、408次级响应可以,包括指示代理节点14、16、200、500、510、520接受具有与次级请求的目的地地址不同的源地址的次级响应的次级字段,作为对次级请求的响应,以及包括创建312、414包括初级字段的初级响应,该初级字段用于指示第一节点接受具有与初级请求的目的地地址不同的源地址的初级响应,作为对该初级请求的响应。
这个方法中的初级字段和次级字段包括服务器节点的地址。
图4B出了根据本公开的实施例的一种用于非透明拦截的代理节点的后面的方法步骤的流程图。
在方框450中,该方法包括从第一节点接收请求对象的另一个初级请求。所述另一初级请求还包括作为源地址的第一节点的地址、作为目的地地址的服务器节点的地址,和所述另一个初级请求的标识符。在方框452中,检查被请求的对象是否缓存在该代理节点中。如果被请求的对象被缓存在该代理节点中(方框452中的“Y”),这个方法进一步包括方框454创建包括被请求的对象的另一个初级响应,并且向第一节点发送所述的另一个初级响应。然而,如果被请求的对象未被缓存在代理节点中(方框452中的“N”),该方法包括方框456在代理节点中存储所述请求。这个被存储的请求能够与请求相同对象的其他请求聚集在一起。当代理节点接收到包括被请求的对象的响应时,响应能够被转发给发送这些请求的节点。
接收402次级响应可以因而包括对象,并且当次级响应匹配次级请求时,在代理节点中作为初级请求中被请求的对象来缓存该对象。
该代理节点中的方法因而可以随后包括从第一节点接收450请求对象的另一个初级请求,检查452在所述另一个初级请求中被请求的对象是否缓存在代理节点中,并且当所述对象被缓存在代理节点中时,基于所述另一个初级请求创建454另一个初级响应,所述初级响应包括所述对象,以及将所述另一个初级响应发送454给第一节点。
图5A示意性地示出了一种用于通信网络的代理节点500,该代理节点包括:
-处理器502;以及
-存储包括计算机程序代码的计算机程序的存储器504,该计算机程序代码当在处理器中运行时,使代理节点:
-从第一节点接收402初级请求,该初级请求包括:作为源地址的第一节点的地址、作为目的地地址的服务器节点的地址,和该初级请求的标识符;
-基于该初级请求创建404次级请求,该次级请求包括:作为源地址的至代理节点的地址、作为目的地地址的服务器节点的地址,和次级请求的标识符;
-发送406该次级请求至服务器节点;
-从第二节点接收408次级响应,所述次级响应包括:作为源地址的第二节点的地址、作为目的地地址的代理节点的地址,和次级响应的标识符;
-检查410次级响应是否匹配次级请求;
-当次级响应匹配次级请求时,
-识别412次级请求所基于的初级请求;
-基于初级请求和次级响应创建414初级响应,所述初级响应包括:作为源地址的代理节点的地址、作为初级响应的目的地地址的初级请求的源地址,和初级请求的标识符;以及
-向第一节点发送416初级响应。
该计算机程序代码当在代理节点500的处理器502中运行时,可以进一步使代理节点接收包括对象的次级响应,并且当次级响应匹配次级请求时,作为初级请求中被请求的对象来缓存该对象。
该计算机程序代码当在代理节点500的处理器502中运行时,可以进一步使代理节点随后从第一节点接收450另一个请求对象的初级请求,检查452在所述另一个初级请求中被请求的对象是否缓存在代理节点中,当所述对象被缓存在代理节点中时,基于所述另一个初级请求创建454另一个初级响应,所述初级响应包括所述对象,以及将所述另一个初级响应发送454至所第一节点。
该计算机程序代码当在代理节点500的处理器502中运行时,可以进一步使代理节点在初级请求从第一节点发送时拦截初级请求。
该计算机程序代码当在代理节点500的处理器502中运行时,可以进一步使代理节点接收306、408包括次级字段的次级响应,该次级字段指示代理节点14、16、200、500、510、520接受具有与次级请求的目的地地址不同的源地址的次级响应,作为对次级请求的响应,以及创建312、414包括初级字段的初级响应,该初级字段用于指示第一节点接受具有与初级请求的目的地地址不同的源地址的初级响应,作为对初级请求的响应。
该初级字段和次级字段包括服务器节点的地址。
图5B示意性地示出了一种用于通信网络的代理节点,该代理节点包括接收器512、发射器516和处理电路514,该处理电路514被适配用于:
-经由接收器从第一节点接收402初级请求,该初级请求包括:作为源地址的第一节点的地址、作为目的地地址的服务器节点的地址,和初级请求的标识符;
-基于初级请求创建404次级请求,该次级请求包括:作为源地址的至代理节点的地址、作为目的地地址的服务器节点的地址,和次级请求的标识符;
-经由发射器将次级请求传送406至服务器节点;
-经由接收器从第二节点接收408次级响应,所述次级响应包括:作为源地址的第二节点的地址、作为目的地地址的代理节点的地址,和次级响应的标识符;
-检查410次级响应是否匹配次级请求;
-识别412次级请求所基于的初级请求,当次级响应匹配次级请求时,
-基于初级请求和次级响应创建414初级响应,所述初级响应包括:作为源地址的代理节点的地址、作为初级响应的目的地地址的初级请求的源地址,和初级请求的标识符;以及
-经由发射器将所述初级响应传送416至所述第一节点。
代理节点510的处理电路514可以包括处理器和存储器,并且其中所述存储器包括通过所述处理器可执行的指令。
图5C示意性地示出了一种用于通信网络的代理节点520,该代理节点包括:
-被适配来用于从第一节点接收402初级请求的接收装置522,该初级请求包括:作为源地址的第一节点的地址、作为目的地地址的服务器节点的地址,和初级请求的标识符;
-被适配来用于基于初级请求创建404次级请求的创建装置524,该次级请求包括:作为源地址的至代理节点的地址、作为目的地地址的服务器节点的地址,和次级请求的标识符;
-被适配来用于将该次级请求发送406至服务器节点的发送装置526;
-该接收装置522进一步被适配来用于从第二节点接收408次级响应,所述次级响应包括:作为源地址的第二节点的地址、作为目的地地址的代理节点的地址,和次级响应的标识符;
-被适配来用于检查410次级响应是否匹配次级请求的检查装置528;
-被适配来用于识别412次级请求所基于的初级请求的识别装置529,当次级响应匹配次级请求时,
-创建装置进一步被适配来用于基于初级请求和次级响应创建初级响应,所述初级响应包括:作为源地址的代理节点的地址、作为初级响应的目的地地址的初级请求的所述源地址,和初级请求的标识符;以及
-发送装置526进一步被适配来用于将所述初级请求发送416至所述第一节点。
应当注意的是“初级(primary)”和“次级(secondary)”在本文中仅被用来将一个请求或响应与另一个请求或响应区分开,并且并不暗示着两者之间的层级或优先级。
图6示出了根据本公开的实施例的一种客户端无连接通信的方法步骤的流程图。在方框62中,该方法包括发送请求,该请求包括作为源地址的客户端节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符。在方框64中,该方法包括从代理节点接收响应,该响应包括作为源地址的代理节点的地址、作为目的地地址的客户端节点的地址,和第二标识符。在方框66中,该方法包括通过使用第一标识符和第二标识符来检查响应是否匹配请求。在方框68中,该方法包括当响应匹配请求时(方框66中的“Y”),接受该响应作为对请求的响应。
当响应不匹配请求时(方框66中的“N”),该方法通过执行方框69中的无操作来停止。
接收64响应可以包括接收指示客户端节点14、16、200、500、510、520接受具有与请求的目的地地址不同的源地址的响应作为对请求的响应的字段。
如包括在接收64中的字段,可以包括服务器节点的地址。
图7A示意性地示出了一种用于通信网络的客户节点70,该客户节点包括:
-处理器72;以及
-存储包括计算机程序代码的计算机程序的存储器74,该计算机程序代码当在处理器中运行时,使客户端节点70:
-发送62请求,该请求包括作为源地址的客户端节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符;
-从代理节点接收64响应,该响应包括作为源地址的代理节点的地址、作为目的地地址的客户端节点的地址,和第二标识符;
-通过使用所述第一标识符和所述第二标识符,检查66响应是否匹配请求;以及
-当响应匹配请求时,接受68该响应作为对请求的响应。
该计算机程序代码当在客户端节点70的处理器72中运行时,进一步使客户端节点接收64包括字段的响应,该字段指示客户端节点70接受具有与请求的目的地地址不同的源地址的响应,作为对该请求的响应。
如被包括在方框64中被接收的响应中的字段,可以包括服务器节点的地址。
图7B示意性地示出了一种用于通信网络的客户端节点710。该客户端节点710包括接收器712、处理电路714和发射器716,其中该处理电路被适配来用于:
-经由发射器716发送62请求,该请求包括作为源地址的客户端节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符;
-经由接收器712从代理节点接收64响应,该响应包括作为源地址的代理节点的地址、作为目的地地址的客户端节点的地址,和第二标识符;
-通过使用所述第一标识符和所述第二标识符,检查66响应是否匹配请求;以及
-当响应匹配请求时,接受68该响应作为对请求的响应。
客户节点110的处理电路714可以包括处理器和存储器,并且其中所述存储器包括通过所述处理器可执行的指令。
图7C示意性地示出了一种用于通信网络的客户端节点720。该客户端节点包括:
-被适配来用于发送62请求的发送装置722,该请求包括:作为源地址的客户端节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符;
-被适配来用于从代理节点接收64响应的接收装置,该响应包括作为源地址的代理节点的地址、作为目的地地址的客户端节点的地址,和第二标识符;
-被适配来用于通过使用所述第一标识符和所述第二标识符,检查66响应是否匹配请求的检查装置(726);以及
-被适配用于当响应匹配请求时,接受68该响应作为对请求的响应接受装置(728)。
图8示出了根据本公开的实施例的一种用于无连接通信的服务器节点的方法步骤的流程图。在方框82中,该方法包括从代理点接收82请求,该请求包括:作为源地址的代理节点的地址、作为目的地地址的服务器节点的地址,和该请求的标识符。在方框84中,该方法包括处理该请求从而获得与该请求对应的响应。在方框86中,该方法包括发送响应,该响应包括作为源地址的服务器的地址、作为目的地地址的与响应对应的请求的源地址,和该请求的标识符的标识符。
图9A示意性地示出了一种用于通信网络的服务器节点90,该服务器节点包括:
-处理器92;以及
-存储包括计算机程序代码的计算机程序的存储器94,该计算机程序代码当在处理器92中运行时,使服务器节点90:
-接收82请求,该请求包括作为源地址的代理节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符;
-处理84该请求来获得与该请求对应的响应;以及
-发送86响应,该响应包括作为源地址的服务器节点的地址、作为目的地地址的与响应对应的请求的源地址,和该请求的标识符的标识符。
图9B示意性地示出了一种用于通信网络的服务器节点910。服务器节点910包括接收器912、处理电路914和发射器916,其中该处理电路914被适配来用于:
-经由接收器912接收82请求,该请求包括作为源地址的代理节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符;
-处理84该请求来获得与该请求对应的响应;以及
-经由发射器916发送86响应,该响应包括作为源地址的服务器节点的地址、作为目的地地址的与响应对应的请求的源地址,和该请求的标识符的标识符;
服务器节点910的处理电路914可以包括处理器和存储器,并且其中所述存储器包括通过所述处理器可执行的指令。
图9C示意性地示出了一种用于通信网络的服务器节点920,该服务器节点920包括:
-被适配来用于接收82请求的接收装置922,该请求包括作为源地址的代理节点的地址、作为目的地地址的服务器节点的地址,和请求的第一标识符;
-被适配来用于处理84该请求从而获得与该请求对应的响应的处理装置924;以及
-被适配来用于发送86响应的发送装置926,该响应包括作为源地址的服务器节点的地址、作为目的地地址的与响应对应的请求的源地址和,请求的标识符的标识符。
如上所述的将端对端会话拆分成子会话的链的目的是这允许每个代理节点变成层次的发布-订阅树、请求聚集树或缓存树的节点。下文中拦截机制在发布-订阅、请求聚集或缓存节点的层次网络中的一些应用,将举例证明。
与传统类型的代理节点相比,创造性的非透明拦截代理提供的优点如先前在背景技术部分中所指出的。当被应用在如下文中所描述的使用情况中时,这些优点更加明显。
目前知道的是当服务器发布一种能够被订阅的数据对象时,客户端能够,例如使用CoAP协议,来订阅每当数据对象被更新时服务器发送的通知。如果订阅的数量是大量的,该服务器可以没有足够的能力来处理所有这些。
如本文中所公开的,代理节点能够聚集来自客户端节点或其他代理节点的订阅消息,并且仅向服务器节点转发一个订阅消息。同样地,当服务器节点返回通知,代理节点接收这个通知,并且通过向所有订阅的客户端发送该通知的副本来将其解聚集。
图10和图11示出了根据本公开的实施例,分别地被应用于请求聚集和发布-订阅的具有代理节点的层次网络。
图10示出了客户端节点102a-102d、缓存代理节点104a,104b以及服务器节点106。
请求可以在代理节点104a,104b中以及在服务器节点106中被聚集。同样地,响应能够在相同的服务器节点106以及代理节点104a,104b中进行解聚集。
图11示出了订阅者112a-112d、聚集代理节点114a,114b以及发布服务器116。通过聚集订阅请求和解聚集通知,代理节点114a和114b能够创建可扩展的全球的发布-订阅机制。
该订阅聚集和解聚集机制能够利用以上描述的创造性拦截机制。当代理节点114a和114b拦截对于特定的数据对象的订阅请求时,它能够为那个数据对象设置具有与订阅者绑定的订阅状态,并且将该订阅请求转发给对应于服务器节点的发布者116。通过转发该请求,代理节点114a和114b作为代理为订阅者订阅该数据对象。随后,当代理节点114a和114b接收对于同一个数据对象的另一个订阅请求时,它设置与订阅者112a-112d的绑定,但是不用转发该订阅请求,因为代理节点114a和114b已经订阅该数据对象。代理节点能够因而聚集来自许多数量的订阅者112a-112d的订阅。同样地,当发布者116向订阅了数据对象的代理发送那个数据对象的通知时,代理节点114a和114b能够通过将该通知发送给所有已经订阅该数据对象的订阅者112a-112d来对这个通知进行解聚集。订阅请求信号的聚集和通知响应信号的解聚集将随后结合图12进行描述。
使用该用于无连接协议例如CoAP或NetInf over UDP/IP的为沿着发布者和订阅者之间的路径的每个跳跃形成子会话的创造性的拦截机制,这个聚集和解聚集机制,能够容易地延伸成为具有任意数量层次聚集和解聚集层级的树。
现在,请参考图10。就对特定的数据对象的请求被聚集在层次树拓扑结构中的代理节点104a和104b中并且在相同的节点中进行解聚集的而言,一种相关的机制,请求聚集机制,与发布-订阅机制以相同的方式起作用。然而,随着请求聚集,对一个请求仅返回一个响应,而订阅请求能够导致多个响应或通知。本公开中所描述的拦截机制对于请求聚集情况如同以上描述的发布-订阅情况以本文中所提及的相同的方式起作用。
代理节点104a,104b缓存服务器节点106以响应消息返回的数据对象。当代理节点104a和104b拦截请求特定数据对象的消息时,它首先检查是否已缓存了那个数据对象的副本。
如果代理节点已缓存那个数据对象,则代理节点104a和104b以响应消息将该数据对象返回给该请求消息的源地址。
如果代理节点104a和104b没有缓存该数据对象,例如代理节点没有在它的缓存中找到被请求的数据对象,则它将通过代理节点的地址来替换该请求中的源地址,该代理节点的地址作为将被转发的请求消息的源地址,并且将该请求消息向服务器节点106转发。该请求消息然后能够被通向服务器节点的路径上的下一个代理拦截,该下一个代理以与第一个代理相同的方式处理该请求消息。
如果不能在任何一个通向服务器节点的代理节点的代理缓存中找到被请求的数据对象,该请求消息将到达服务器节点106,服务器节点将在响应消息中返回被请求的数据对象,响应消息将如上描述的沿着经过代理节点的返回路径。基于该创造性拦截机制和传统的缓存机制的这种结合,代理节点104a和104b能够以类似于如上描述的层次的发布-订阅数据的方式形成层次的缓存树,参见图12。
当解聚集通知消息时,承载于通知消息中的数据对象能够如上描述的与惯常响应中的数据对象被缓存时以相同的方式被缓存。这意味着发布-订阅机制能够容易地与缓存机制整合在一起。
如图1中示意性地示出的信令序列,适用于其中数据能够直接在响应消息中被传递的情景中。由于CoAP或NetInf over UDP/IP是无连接的,CoAP消息能够如图1中所示地被发送而不需要TCP/IP模式中对连接的初始设置。响应消息能够在小数据量的情况下被直接地发送,小数据量能够在单个小数据包中被传送而不需要拥塞控制。请求消息和响应消息于是能够被承载在无连接协议例如CoAP over UDP/IP上。然而,对于较大的数据量,面向连接的方法比如TCP/IP承载的HTTP应当被使用以允许拥塞控制和可靠数据传送。
如上所述的无连接信令可以用面向连接的信令例如TCP/IP承载的HTTP进行补充。
图12示出了根据本公开的实施例的,涉及订阅者客户端1,1202,订阅者客户端2,1204,代理节点1206和发布服务器1208的无连接通信的聚集和解聚集。图12示出了TCP/IP承载的HTTP如何被用于在请求聚集或发布-订阅情况下传送高数据量。
图12还示出了根据图11的使用情况的,订阅请求消息的聚集和通知响应消息的解聚集的情况。图12还适用于根据图10的使用情况的,常规请求消息的聚集和响应消息的解聚集的情况。
为允许可靠的数据传送,使用TCP/IP承载的HTTP是不够的。通知消息也优选地以可靠的方式进行转发。CoAP观察框架是一个消息能够以可靠的方式进行转发、确认和转播机制被用于可靠的通知传送的示例。
图12示出了涉及订阅者客户端1,1202向发布服务器1208发送订阅请求1,1210的情形。这个订阅请求被代理节点1206拦截。基于用于无连接协议例如UDP/IP承载的CoAP或NetInf的非透明拦截代理的请求-响应信令对于请求聚集和发布-订阅两种使用情况如上所述地运行。这个信令通过图12中的订阅请求1、2、3信号和通知响应1、2、3信号来指示。
相应地,代理节点1206向发布服务器1208发送订阅请求2,1212。该图还示出了订阅者客户端2,1204向发布服务器1208发送1214订阅请求3的情形。然而这个订阅请求3被代理节点1206拦截。发布服务器1208通过步骤1216,向代理节点1206发送通知响应1来对订阅请求2作出响应。代理节点1206然后将通知响应发送1218返回给订阅者客户端1,1202。由于步骤1216已经接收到通知响应1,1216代理节点1206将HTTP GET请求1发送1220给发布服务器1208。代理节点1206还将通知响应发送1222返回给订阅者客户端2,1204。由于已经接收到通知响应,订阅者客户端1和2分别地发送1224HTTP GET请求2和发送1226HTTP GET请求3。发布服务器1208然后可以将HTTP响应1发送给代理节点1206,代理节点1206分别在步骤1230和步骤1232中将这个响应作为HTTP响应2和3转发给订阅者客户端1和2。
此外,每个接收到指示数据对象可从特定的邻近节点地址中检索获得的通知响应消息的节点,能够向这个邻近节点发送HTTP GET请求消息来检索该数据对象,如图12所示的用步骤1216中的通知响应1和步骤1220中的HTTP GET请求1来说明。
面向连接的信号例如TCP/IP承载的HTTP,因而明确地寻址至具有高数据对象的代理节点,这意味着对于这种类型的信令,其像传统的非透明代理一样运作。
应当注意,图12中所示的信号之间的准确时间关系可以根据在具有代理节点和服务器节点的网络中的不同实体中的传送和处理延迟而改变。然而本公开的实施例对这种改变具有鲁棒性。
例如,步骤1228中,HTTP响应1可以在步骤1224中的HTTP GET请求2或步骤1226中的HTTP GET请求3之前或之后到达拦截代理1206。图12示出了后一个选择。在这种情况下,拦截代理1206存储步骤1224的HTTP GET请求2和/或步骤1226的HTTP GET请求3直至步骤1228中被请求的数据对象在HTTP响应1中被接收。拦截代理1206然后在步骤1230、1232的HTTP响应消息中将被请求的数据对象返回给客户端节点。
然而,本公开的实施例还适用于前一个选择。在这种情况下,拦截代理1206缓存在步骤1228的HTTP响应1中所接收到的数据对象,并且之后当在步骤1224接收HTTP GET请求2和/或在步骤1226接收HTTP GET请求3时在步骤1230、1232中将HTTP响应消息中的数据对象返回给代理节点1202、1204。
起源于一个边缘网络并且去往另一个边缘网络中的服务器节点的请求消息应该穿过一个或多个代理节点以确保这些代理节点的发布-订阅或请求聚集服务能够被利用。这能够根据本公开通过以边缘代理节点替代现有的边缘路由器来完成,因为所有去往边缘网络和来自边缘网络的通信量必须穿过这些边缘代理节点。
此外,边缘网络能够具有多个边缘代理节点,并且执行它们之间的负载共享。因为返回路径与转发路径一致,请求和相关联的响应将一致通过相同的边缘代理节点来进行处理。这是在使用代理节点时用于发布-订阅和请求聚集机制的正确操作的情况。这种情况能够通过如上所述的创造性的信令机制来确保。
请注意,基于现有技术的透明代理,由于在全球因特网中不对称路由的可能性并不能保证这种情况被满足。
考虑一种情形,客户端通过沿着数个不同路径发送请求消息来发现缓存数据对象以使数据对象在沿着不同路径的代理节点中的缓存中的任何一个缓存中被发现的概率最大化。对于这种情景,使用被优化用于面向连接的协议的现有类型的代理节点,例如TCP,将导致在所有代理节点之间的连接设置信令方面的大量开销。
相反,这种情景能够通过使用根据本公开的非透明拦截代理节点来更有效地进行处理。这些代理节点被优化用于无连接协议,例如UDP/IP承载的CoAP或NetInf,这导致连接设置信令方面更少的开销。
与现有的解决方法相反地,本公开此外还能够基于旧有路由协议并且不需要新的路由协议。目前的信息中心网络(ICN)解决方法,例如内容中心网络(CCN),是基于新的信息中心全球路由协议的,该新的信息中心全球路由协议基于信息对象的名称执行路由选择。这种新的路由协议在全球范围上的引入是主要的迁移障碍,因为这需要多年的标准化然后是新的网络节点中的重大投资。
此外,为允许全球地以信息对象的名称进行可扩展路由选择,这些名字必须包括拓扑信息。这是不具吸引力的特性,因为这意味着信息对象不得不变得依赖位置并且必须在信息对象在网络中移动至新的位置时进行改变。
相比之下,本公开支持数据对象的独立于位置的名称。此外,本公开适合全球网络中众多的发布者节点和客户端节点,这与现今网络中唯一存在的选择,IP多路广播,相反。
总的来说,本公开能够被用来如图10-12中所示的通过发布-订阅、请求聚集或缓存节点的层次网络来支持数据的点对多点分配的使用情况。
还应该注意,由于其他的解决方案、应用、目的和功能能够很明显从本公开得到,因此以上描述的实施例仅仅作为示例给出,不应该作为对本公开的限制。
所提出的创造性特征可以结合和/或应用于本文中所描述的使用情况和应用程序。
如背景技术部分所描述的,存在与将透明型代理节点、半透明型代理节点和非透明型代理节点应用于这些使用情况相关联的一些问题。
当前类型的代理节点的缺点在表1中进行了概括。这个表格还允许与本公开的基于创造性的非透明拦截代理的特性进行对比。
表1中提及的应用层数据头的示例是HTTP Via数据头,其能够记录经过的代理节点的名称。当源地址被伪造时,接收节点可以使用这个应用层消息来确定正确的源地址。然而,就上层被用来解决低层的定址错误而言,使用应用层消息来改正伪造的源地址是层违规的,这是明显的缺点。
将本公开的非透明拦截代理方法应用于TCP/IP承载的HTTP将意味着如上所述的新的协议字段将必须被应用在旧有的TCP协议中。这从迁移的视角来看是不具吸引力的提案,因为TCP协议被应用在网络主机的操作系统中,是不容易更改的。
根据本公开的非透明拦截代理方法相应地被优化来用于无连接信令。
表1代理节点类型的对比
本公开的实施例还有下面的额外的优点:
因为本公开不使用伪造的源地址,相对于透明和半透明代理节点本公开具有更大的安全性。客户端节点可能在不了解的情况下与使用伪造源地址的代理节点交互,这为安全攻击打开开口。此外,对于透明代理,不仅客户端而且服务器也可能在不了解的情况下与这种类型的代理交互。即使代理节点应该通过使用HTTP Via数据头来表明它们在路径中的存在,但不能指望敌意的代理节点或防火墙后的代理节点表明它在路径中的存在。
此外,CoAP不具有与HTTP Via数据头对应的协议字段。
缩略语
API 应用程序接口
CCN 内容中心网络
CoAP 受限应用协议
HTTP 超文本传输协议
ICN 信息中心网络
IP 因特网协议
SLA 服务层协议
TCP 传输控制协议
UDP 用户数据报协议
URL 统一资源定位符
Claims (24)
1.一种代理节点(14,16,200,500,510,520)中用于非透明拦截的方法,所述方法包括:
-从第一节点接收(302,402)初级请求,所述初级请求包括:作为源地址的所述第一节点的地址、作为目的地地址的服务器节点的地址和所述初级请求的标识符;
-基于所述初级请求创建(304,404)次级请求,所述次级请求包括:作为源地址的寻址至所述代理节点的地址、作为目的地地址的所述服务器节点的所述地址和所述次级请求的标识符;
-向所述服务器节点发送(304,406)所述次级请求;
-从第二节点接收(306,408)次级响应,所述次级响应包括:作为源地址的所述第二节点的地址、作为目的地地址的所述代理节点的所述地址和所述次级响应的标识符;
-检查(308,410)所述次级响应是否匹配所述次级请求;
-当所述次级响应匹配所述次级请求时,
-识别(310,412)所述次级请求所基于的所述初级请求;
-基于所述初级请求和所述次级响应创建(312,414)初级响应,所述初级响应包括:作为源地址的所述代理节点的所述地址、作为所述初级响应的目的地地址的所述初级请求的所述源地址和所述初级请求的所述标识符;以及
-向所述第一节点发送(312,416)所述初级响应。
2.根据权利要求1所述的方法,包括:接收包括对象的所述次级响应,并且当所述次级响应匹配所述次级请求时,将所述对象缓存在所述代理节点中以作为所述初级请求中被请求的对象。
3.根据权利要求2所述的方法,包括:随后从所述第一节点接收(450)请求对象的另一个初级请求;检查(452)在所述另一个初级请求中被请求的所述对象是否被缓存在所述代理节点中;当所述对象被缓存在所述代理节点中时,基于所述另一个初级请求创建(454)另一个初级响应,所述初级响应包括所述对象;以及向所述第一节点发送(454)所述另一个初级响应。
4.根据权利要求1至3中任一项所述的方法,其中从第一节点接收(302,402)初级请求包括在所述初级请求从所述第一节点发送时拦截所述初级请求。
5.根据权利要求1至4中任一项所述的方法,包括接收(306,408)包括次级字段的所述次级响应,所述次级字段指示所述代理节点(14,16,200,500,510,520)接受具有与所述次级请求的所述目的地地址不同的源地址的所述次级响应以作为对所述次级请求的响应;并且包括创建(312,414)包括初级字段的所述初级响应,所述初级字段用于指示所述第一节点接受具有与所述初级请求的所述目的地地址不同的源地址的所述初级响应以作为对所述初级请求的响应。
6.根据权利要求5所述的方法,其中所述初级字段和所述次级字段包括所述服务器节点的所述地址。
7.一种用于通信网络的代理节点(14,16,200,500),所述代理节点包括:
-处理器(502);以及
-存储器(504),存储包括计算机程序代码的计算机程序,当在所述处理器(502)中被运行时,所述计算机程序代码使得所述代理节点:
-从第一节点接收(302,402)初级请求,所述初级请求包括:作为源地址的所述第一节点的地址、作为目的地地址的服务器节点的地址和所述初级请求的标识符;
-基于所述初级请求创建(304,404)次级请求,所述次级请求包括:作为源地址的寻址至所述代理节点的地址、作为目的地地址的所述服务器节点的所述地址和所述次级请求的标识符;
-向所述服务器节点发送(304,406)所述次级请求;
-从第二节点接收(306,408)次级响应,所述次级响应包括:作为源地址的所述第二节点的地址、作为目的地地址的所述代理节点的所述地址和所述次级响应的标识符;
-检查(308,410)所述次级响应是否匹配所述次级请求;
-当所述次级响应匹配所述次级请求时,
-识别(310,412)所述次级请求所基于的所述初级请求;
-基于所述初级请求和所述次级响应创建(312,414)初级响应,所述初级响应包括:作为源地址的所述代理节点的所述地址、作为所述初级响应的目的地地址的所述初级请求的所述源地址和所述初级请求的所述标识符;以及
-向所述第一节点发送(312,416)所述初级响应。
8.根据权利要求7所述的代理节点(14,16,200,500),其中当在所述处理器(502)中被运行时,所述计算机程序代码进一步使得所述代理节点接收包括对象的所述次级响应,并且当所述次级响应匹配所述次级请求时,缓存所述对象以作为所述初级请求中被请求的对象。
9.根据权利要求8所述的代理节点(14,16,200,500),其中当在所述处理器(502)中被运行时,所述计算机程序代码进一步使得所述代理节点:随后从所述第一节点接收(450)请求对象的另一个初级请求;检查(452)在所述另一个初级请求中被请求的所述对象是否被缓存在所述代理节点中;当所述对象被缓存在所述代理节点中时,基于所述另一个初级请求创建(454)另一个初级响应,所述初级响应包括所述对象;以及向所述第一节点发送(454)所述另一个初级响应。
10.根据权利要求7至9中任一项所述的代理节点(14,16,200,500),其中当在所述处理器(502)中被运行时,所述计算机程序代码进一步使得所述代理节点在所述初级请求从所述第一节点发送时拦截所述初级请求。
11.根据权利要求7至10中任一项所述的代理节点(14,16,200,500),其中当在所述处理器(502)中被运行时,所述计算机程序代码进一步使得所述代理节点:接收(306,408)包括次级字段的所述次级响应,所述次级字段指示所述代理节点(14,16,200,500,510,520)接受具有与所述次级请求的所述目的地地址不同的源地址的所述次级响应以作为对所述次级请求的响应;以及创建(312,414)包括初级字段的所述初级响应,所述初级字段用于指示所述第一节点接受具有与所述初级请求的所述目的地地址不同的源地址的所述初级响应以作为对所述初级请求的响应。
12.根据权利要求11所述的代理节点(14,16,200,500),其中所述初级字段和所述次级字段包括所述服务器节点的所述地址。
13.一种用于通信网络的代理节点(14,16,200,510),所述代理节点包括:
-发射器(516),
-接收器(512);以及
-处理电路(514),所述处理电路(514)被适配用于:
-经由所述接收器(512)从第一节点接收(302,402)初级请求,所述初级请求包括:作为源地址的所述第一节点的地址、作为目的地地址的服务器节点的地址和所述初级请求的标识符;
-基于所述初级请求创建(304,404)次级请求,所述次级请求包括:作为源地址的寻址至所述代理节点的地址、作为目的地地址的所述服务器节点的所述地址和所述次级请求的标识符;
-经由所述发射器(516)向所述服务器节点传送(304,406)所述次级请求;
-经由所述接收器(512)从第二节点接收(306,408)次级响应,所述次级响应包括:作为源地址的所述第二节点的地址、作为目的地地址的所述代理节点的所述地址和所述次级响应的标识符;
-检查(308,410)所述次级响应是否匹配所述次级请求;
-当所述次级响应匹配所述次级请求时,
-识别(310,412)所述次级请求所基于的所述初级请求;
-基于所述初级请求和所述次级响应创建(312,414)初级响应,所述初级响应包括:作为源地址的所述代理节点的所述地址、作为所述初级响应的目的地地址的所述初级请求的所述源地址和所述初级请求的所述标识符;以及
-经由所述发射器(516)向所述第一节点传送(312,416)所述初级响应。
14.一种用于通信网络的代理节点(14,16,200,520),所述代理节点包括:
-接收装置(522),被适配用于从第一节点接收(302,402)初级请求,所述初级请求包括:作为源地址的所述第一节点的地址、作为目的地地址的服务器节点的地址和所述初级请求的标识符;
-创建装置(524),被适配用于基于所述初级请求创建(304,404)次级请求,所述次级请求包括:作为源地址的寻址至所述代理节点的地址、作为目的地地址的所述服务器节点的所述地址和所述次级请求的标识符;
-发送装置(526),被适配用于向所述服务器节点发送(304,406)所述次级请求;
-所述接收装置(522)进一步被适配用于从第二节点接收(306,408)次级响应,所述次级响应包括:作为源地址的所述第二节点的地址、作为目的地地址的所述代理节点的所述地址和所述次级响应的标识符;
-检查装置(528),被适配用于检查(308,410)所述次级响应是否匹配所述次级请求;
-识别装置(529),被适配用于识别(310,412)所述次级请求所基于的所述初级请求,当所述次级响应匹配所述次级请求时,
-所述创建装置(524)进一步被适配用于基于所述初级请求和所述次级响应创建(312,414)初级响应,所述初级响应包括:作为源地址的所述代理节点的所述地址、作为所述初级响应的目的地地址的所述初级请求的所述源地址和所述初级请求的所述标识符;以及
-所述发送装置(526)进一步被适配用于向所述第一节点发送(312,416)所述初级响应。
15.一种客户端节点(12,70,710,720)中的方法,所述方法包括:
-发送(62)请求,所述请求包括作为源地址的所述客户端节点的地址、作为目的地地址的服务器节点的地址和所述请求的第一标识符;
-从代理节点接收(64)响应,所述响应包括作为源地址的所述代理节点的地址、作为目的地地址的所述客户端节点的所述地址和第二标识符;
-通过使用所述第一标识符和所述第二标识符,检查(66)所述响应是否匹配所述请求;以及
-当所述响应匹配所述请求时,接受(68)所述响应以作为对所述请求的响应。
16.根据权利要求15所述的方法,包括接收(64)包括字段的所述响应,所述字段指示所述客户端节点(14,16,200,500,510,520)接受具有与所述请求的所述目的地地址不同的源地址的所述响应以作为对所述请求的响应。
17.根据权利要求16所述的方法,其中所述字段包括所述服务器节点的所述地址。
18.一种用于通信网络的客户端节点(12,70),所述客户端节点包括:
-处理器(72);以及
-存储器(74),存储包括计算机程序代码的计算机程序,当在所述处理器中被运行时,所述计算机程序代码使得所述客户端节点(12,70):
-发送(62)请求,所述请求包括作为源地址的所述客户端节点的地址、作为目的地地址的服务器节点的地址和所述请求的第一标识符;
-从代理节点接收(64)响应,所述响应包括作为源地址的所述代理节点的地址、作为目的地地址的所述客户端节点的所述地址,和第二标识符;
-通过使用所述第一标识符和所述第二标识符,检查(66)所述响应是否匹配所述请求;以及
-当所述响应匹配所述请求时,接受(68)所述响应以作为对所述请求的响应。
19.根据权利要求18所述的客户端节点(12,70),其中当在所述处理器(72)中被运行时,所述计算机程序代码进一步使得所述客户端节点接收(64)包括字段的所述响应,所述字段指示所述客户端节点(12,70)接受具有与所述请求的所述目的地地址不同的源地址的所述响应以作为对所述请求的响应。
20.根据权利要求19所述的客户端节点(12,70),其中所述字段包括所述服务器节点的所述地址。
21.一种用于通信网络的客户端节点(12,710),所述客户端节点包括接收器(712)、发射器(716)和处理电路(714),所述处理电路(714)被适配用于:
-经由所述发射器(716)传送(62)请求,所述请求包括作为源地址的所述客户端节点的地址、作为目的地地址的服务器节点的地址和所述请求的第一标识符;
-经由所述接收器(712)从代理节点接收(64)响应,所述响应包括作为源地址的所述代理节点的地址、作为目的地地址的所述客户端节点的所述地址和第二标识符;
-通过使用所述第一标识符和所述第二标识符,检查(66)所述响应是否匹配所述请求;以及
-当所述响应匹配所述请求时,接受(68)所述响应以作为对所述请求的响应。
22.一种用于通信网络的客户端节点(12,720),所述客户端节点包括:
-发送装置(722),被适配用于发送(62)请求,所述请求包括作为源地址的所述客户端节点的地址、作为目的地地址的服务器节点的地址和所述请求的第一标识符;
-接收装置(724),被适配用于从代理节点接收(64)响应,所述响应包括作为源地址的所述代理节点的地址、作为目的地地址的所述客户端节点的所述地址和第二标识符;
-检查装置(726),被适配用于通过使用所述第一标识符和所述第二标识符,检查(66)所述响应是否匹配所述请求;以及
-接受装置(728),被适配用于当所述响应匹配所述请求时,接受(68)所述响应以作为对所述请求的响应。
23.一种用于无连接通信的协议,所述协议包括响应中的字段,所述字段被布置为指示朝向目的地地址发送请求的网络节点接受具有与所述请求的所述目的地地址不同的源地址的响应,以作为对所述请求的响应。
24.一种包括计算机程序代码的计算机程序,当被应用在朝向目的地地址发送请求的网络节点的处理器中时,所述计算机程序代码使得所述网络节点接受具有与所述请求的所述目的地地址不同的源地址的响应,以作为对所述请求的响应。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361914692P | 2013-12-11 | 2013-12-11 | |
US61/914,692 | 2013-12-11 | ||
PCT/SE2014/050210 WO2015088416A1 (en) | 2013-12-11 | 2014-02-20 | Proxy interception |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106105164A true CN106105164A (zh) | 2016-11-09 |
CN106105164B CN106105164B (zh) | 2020-06-05 |
Family
ID=50342461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480067013.9A Active CN106105164B (zh) | 2013-12-11 | 2014-02-20 | 代理拦截 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10298712B2 (zh) |
EP (1) | EP3080973B1 (zh) |
CN (1) | CN106105164B (zh) |
WO (1) | WO2015088416A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111917611A (zh) * | 2020-08-20 | 2020-11-10 | 杭州迪普科技股份有限公司 | 半透明代理服务器的测试方法、装置及系统 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9357247B2 (en) | 2008-11-24 | 2016-05-31 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
US8560604B2 (en) | 2009-10-08 | 2013-10-15 | Hola Networks Ltd. | System and method for providing faster and more efficient data communication |
US9906838B2 (en) | 2010-07-12 | 2018-02-27 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
US9241044B2 (en) | 2013-08-28 | 2016-01-19 | Hola Networks, Ltd. | System and method for improving internet communication by using intermediate nodes |
WO2015088416A1 (en) * | 2013-12-11 | 2015-06-18 | Telefonaktiebolaget L M Ericsson (Publ) | Proxy interception |
US20160191665A1 (en) * | 2014-12-31 | 2016-06-30 | Samsung Electronics Co., Ltd. | Computing system with distributed compute-enabled storage group and method of operation thereof |
US11057446B2 (en) | 2015-05-14 | 2021-07-06 | Bright Data Ltd. | System and method for streaming content from multiple servers |
JP6524264B2 (ja) * | 2015-05-20 | 2019-06-05 | コンヴィーダ ワイヤレス, エルエルシー | 効率を高めるためにサービス層サブスクリプションおよび通知を分析しグループ化する方法および装置 |
US10942930B2 (en) * | 2015-12-03 | 2021-03-09 | The Royal Institution For The Advancement Of Learning / Mcgill University | Methods and systems for graph-based publication-subscription |
US10404758B2 (en) * | 2016-02-26 | 2019-09-03 | Time Warner Cable Enterprises Llc | Apparatus and methods for centralized message exchange in a user premises device |
CN107979630B (zh) * | 2016-10-25 | 2020-04-03 | 新华三技术有限公司 | 一种信息获取方法及装置 |
US9787671B1 (en) * | 2017-01-30 | 2017-10-10 | Xactly Corporation | Highly available web-based database interface system |
EP4187881A1 (en) | 2017-08-28 | 2023-05-31 | Bright Data Ltd. | Improving content fetching by selecting tunnel devices grouped according to geographic location |
US11190374B2 (en) | 2017-08-28 | 2021-11-30 | Bright Data Ltd. | System and method for improving content fetching by selecting tunnel devices |
CN113824642B (zh) * | 2018-03-09 | 2023-02-03 | 华为技术有限公司 | 发送报文的方法、网络设备及计算机可读存储介质 |
WO2020174460A2 (en) * | 2019-02-25 | 2020-09-03 | Luminati Networks Ltd. | System and method for url fetching retry mechanism |
EP4030318A1 (en) | 2019-04-02 | 2022-07-20 | Bright Data Ltd. | System and method for managing non-direct url fetching service |
JP7363497B2 (ja) * | 2020-01-14 | 2023-10-18 | 富士通株式会社 | 制御方法、デバイス及び制御システム |
CN114844948B (zh) * | 2021-12-14 | 2024-05-31 | 合肥哈工轩辕智能科技有限公司 | 一种实时分发系统的客户端缓存优化方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038898A1 (en) * | 2003-08-12 | 2005-02-17 | France Telecom | Method of masking application processing applid to a request for access to a server, and a corresponding masking system |
US20060029015A1 (en) * | 2004-08-05 | 2006-02-09 | Hinsey James R | Method for identification using bluetooth wireless key |
CN101060417A (zh) * | 2006-04-21 | 2007-10-24 | 飞塔信息科技(北京)有限公司 | 网络广告播发系统 |
CN101350833A (zh) * | 2007-07-16 | 2009-01-21 | 国际商业机器公司 | 在代理服务器环境中管理远程主机可见性的方法和系统 |
CN102608270A (zh) * | 2012-03-13 | 2012-07-25 | 常熟风范电力设备股份有限公司 | 复合材料构件多因素环境老化试验装置的试样布置系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6669633B2 (en) * | 1999-06-22 | 2003-12-30 | Teratech Corporation | Unitary operator control for ultrasonic imaging graphical user interface |
EP1299965A4 (en) * | 2000-05-12 | 2005-02-02 | Henry Ewen | DATA TRANSMISSION SYSTEM AND METHOD |
CA2318287A1 (en) * | 2000-08-30 | 2002-02-28 | Aria Solutions Inc. | System integrated framework |
US20020152307A1 (en) * | 2001-04-12 | 2002-10-17 | Doyle Ronald Patrick | Methods, systems and computer program products for distribution of requests based on application layer information |
US7200137B2 (en) * | 2002-07-29 | 2007-04-03 | Freescale Semiconductor, Inc. | On chip network that maximizes interconnect utilization between processing elements |
US8176186B2 (en) * | 2002-10-30 | 2012-05-08 | Riverbed Technology, Inc. | Transaction accelerator for client-server communications systems |
US7082500B2 (en) * | 2003-02-18 | 2006-07-25 | Cray, Inc. | Optimized high bandwidth cache coherence mechanism |
US20040249974A1 (en) * | 2003-03-31 | 2004-12-09 | Alkhatib Hasan S. | Secure virtual address realm |
JP4229769B2 (ja) * | 2003-07-01 | 2009-02-25 | 富士通株式会社 | アドレス変換プログラム、アドレス変換方法およびアドレス変換装置 |
US8437284B2 (en) * | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
BRPI0519544A2 (pt) * | 2004-12-21 | 2009-02-17 | Qualcomm Inc | configuraÇço firewall assistida de cliente |
US20060136599A1 (en) | 2004-12-22 | 2006-06-22 | Chung-Chih Tung | System and method of transferring packet through proxy server |
US8584139B2 (en) * | 2006-05-23 | 2013-11-12 | Seapass Solutions Inc. | Apparatus and method for connecting incompatible computer systems |
US7532134B2 (en) * | 2007-03-12 | 2009-05-12 | Citrix Systems, Inc. | Systems and methods for sharing compression histories between multiple devices |
US9930099B2 (en) * | 2007-05-08 | 2018-03-27 | Riverbed Technology, Inc. | Hybrid segment-oriented file server and WAN accelerator |
US20090288104A1 (en) * | 2008-05-19 | 2009-11-19 | Rohati Systems, Inc. | Extensibility framework of a network element |
GB201101723D0 (en) * | 2011-02-01 | 2011-03-16 | Roke Manor Research | A method and apparatus for identifier correlation |
US8837483B2 (en) * | 2011-04-11 | 2014-09-16 | Alcatel Lucent | Mapping private and public addresses |
US10025599B1 (en) * | 2013-05-21 | 2018-07-17 | Progress Software Corporation | Connectivity as a service |
WO2015088416A1 (en) * | 2013-12-11 | 2015-06-18 | Telefonaktiebolaget L M Ericsson (Publ) | Proxy interception |
-
2014
- 2014-02-20 WO PCT/SE2014/050210 patent/WO2015088416A1/en active Application Filing
- 2014-02-20 US US15/103,851 patent/US10298712B2/en active Active
- 2014-02-20 CN CN201480067013.9A patent/CN106105164B/zh active Active
- 2014-02-20 EP EP14711621.4A patent/EP3080973B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050038898A1 (en) * | 2003-08-12 | 2005-02-17 | France Telecom | Method of masking application processing applid to a request for access to a server, and a corresponding masking system |
US20060029015A1 (en) * | 2004-08-05 | 2006-02-09 | Hinsey James R | Method for identification using bluetooth wireless key |
CN101060417A (zh) * | 2006-04-21 | 2007-10-24 | 飞塔信息科技(北京)有限公司 | 网络广告播发系统 |
CN101350833A (zh) * | 2007-07-16 | 2009-01-21 | 国际商业机器公司 | 在代理服务器环境中管理远程主机可见性的方法和系统 |
CN102608270A (zh) * | 2012-03-13 | 2012-07-25 | 常熟风范电力设备股份有限公司 | 复合材料构件多因素环境老化试验装置的试样布置系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111917611A (zh) * | 2020-08-20 | 2020-11-10 | 杭州迪普科技股份有限公司 | 半透明代理服务器的测试方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106105164B (zh) | 2020-06-05 |
EP3080973A1 (en) | 2016-10-19 |
WO2015088416A1 (en) | 2015-06-18 |
EP3080973B1 (en) | 2017-07-05 |
US10298712B2 (en) | 2019-05-21 |
US20160337464A1 (en) | 2016-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106105164A (zh) | 代理拦截 | |
CN105247822B (zh) | 一种用于建立网络服务链的方法、装置及计算机可读存储介质 | |
US8667173B2 (en) | Performing multicast communication in computer networks by using overlay routing | |
CN104160680B (zh) | 用于透明代理缓存的欺骗技术 | |
CN103491065B (zh) | 一种透明代理及其实现方法 | |
CN1992666A (zh) | 虚拟专用网络发布-订制多播服务 | |
CN101151604A (zh) | 消息发布/订购系统中的设置和管理 | |
CN111355658B (zh) | 基于分布式服务框架的sdn跨域协作方法 | |
CN111612466A (zh) | 一种共识和资源传输方法、设备及存储介质 | |
CN106936811A (zh) | 安全设备、系统和方法 | |
CN102045409A (zh) | 网络穿透方法及网络通讯系统 | |
CN104506459B (zh) | 智慧协同网络中的数据包传输方法、装置和系统 | |
CN109547452A (zh) | Linux网桥设备上实现TCP透明代理的方法及系统 | |
JP5006452B2 (ja) | Publish/subscribeネットワーク | |
CN105745905A (zh) | 在网络之内传输和存储内容 | |
US20150071109A1 (en) | Methods and Systems for Packet Delivery Based Upon Embedded Instructions | |
CN109842567A (zh) | 数据分发方法以及分发服务器 | |
CN102387062B (zh) | 动态桥接点改善p2p节点在跨网络时的传输速度的方法 | |
CN116074160A (zh) | 一种gpu渲染计算节点集群虚拟组网公网转发方法 | |
CN106101201A (zh) | 一种ndn中基于重定向和重写的可扩展任播方法和系统 | |
CN106230810B (zh) | 动静态流量分析方法 | |
CN116915691A (zh) | 一种算力路由方法、装置、设备及存储介质 | |
CN117692427A (zh) | 基于域名的流量重定向方法、系统 | |
CN110276607A (zh) | 终端业务更新方法、装置及存储介质 | |
Mahambre et al. | A taxonomy and classification of adaptive event based middleware with support for service guarantees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |