用于在网络中处理数据的方法和设备的制作方法

文档序号:7738673阅读:145来源:国知局
专利名称:用于在网络中处理数据的方法和设备的制作方法
技术领域
本发明涉及一种用于在网络中处理数据的方法和设备。
背景技术
深度分组检查(DPI)是计算机网络分组过滤的一种形式,其在分组通过检查点时检查所述分组的数据和/或报头部分,搜索不遵守协议的情况、病毒、垃圾信息、侵入或者预先定义的标准以便判定该分组是否能够通过或者是否需要将其路由到不同的目的地,或者为了收集统计信息而进行检查。深度分组检查(以及过滤)可以实现高级安全性功能以及互联网数据挖掘、窃听和审查。浏览因特网的用户可能会经历特定服务、站点或网络组件(例如服务器)不可用的情况,其中用户不知道关于所请求的服务为何不可用或者被拒绝的任何原因。一种原因可能是服务器出故障或者服务器已被移动到不同的站点或链接。要解决的问题是克服前面提到的缺点,且特别是提供一种令用户体会到拒绝请求的原因的高效方法。

发明内容
这一问题根据独立权利要求的特征来解决。另外的实施例源自从属权利要求。为了克服此问题,提供一种用于在网络中处理数据的方法,其包括以下步骤 (al)通过指示服务改变的原因以及/或者通过指示所述服务的改变,网关修改从第一
网络组件到第二网络组件的通信。因此,通过第二网络组件(客户端设备)向第一网络组件或者一般来说向网络请求服务的用户被通知关于所述服务为什么改变的原因,特别是从该第一网络组件不再能够到达所述服务。此外,可以向客户端设备(第二网络组件)通知所述服务改变,特别是其可以获得关于如何从不同位置访问所要求的服务的信息。最后,客户端设备(第二网络组件)以及从而用户可能能够从实际提供所请求的服务的网络组件访问所述服务。网关可以特别转发能够被用来访问正确的网络组件的信息。所请求的服务可以包括可能由网络提供的任何种类的服务,特别是由网络(特别是因特网)的组件或资源提供的服务。这样的服务例如可以是信息、站点、页面、程序、链接 (URL)或者任何其他种类的内容信息。有利的是,不必修订或者改变第一网络组件以及第二网络组件的协议,并且第二网络组件(例如客户端)仍然可能知道例如可以通过不同的服务器访问的服务或内容的重定位。可以通过由网关提供给第二网络组件(例如提供给客户端)的信息来访问该不同的服务器。根据一个实施例,所述网关执行深度分组检查以便确定是否需要对通信进行修改 (特别是重定向)。因此,所述网关可以通过某种TCP流跟踪来分析IP分组,以便确定(例如从客户端)到达该网关的IP分组是否尝试访问匹配“拒绝规则(denied rule)"的服务。这种“拒绝规则”可以在所述网关本地获得,或者可以由网关访问以便查明特定访问服务是否匹配拒绝标准。在这样的情况下,网关可以开始丢弃落在所述“拒绝规则”之下的IP分组,或者其可以发起重定向,或者其可以发起对于第一网络组件与第二网络组件之间的TCP连接的重置。根据另一个实施例,所述网关特别在不使用TCP级别处理的情况下执行第4层处理。具体来说,在第4层上检查分组,并且还可以读取TCP级别的有效载荷,以便获得HTTP 级别的有效载荷数据(例如HTTP方法和报头)。因此,在网关处不需要有资源要求的第7层处理。例如可以由网关的内核实施所提出的第4层处理,这导致在所述网关处处理消息的快得多的总体性能。根据刚好另一个实施例,如果从第二网络组件到第一网络组件的请求被导向所拒绝的服务,则网关对所述通信进行修改。在预先付费的用户用尽存储并且需要将所述访问重定向到允许用户使用信用卡的自助服务入口的情况下,可能特别需要重定向。如果不允许访问特定URL (服务)并且运营商想要向客户端通知为何不允许所述服务(错误的时间或错误的简档),则也可能需要重定向。此外,如果例如出于维护需要而暂时拒绝服务,则也可能需要重定向。此外,所述服务可能已被移动到另一个服务器(可以向客户端指示这一点)。此外,可以通过重定向措施来提供对于第一次服务使用动作所需要的欢迎页面。以下也是一个实施例,其中网关发起重定向并且/或者网关开始丢弃导向第一网络组件的数据。在一个实施例中,通过传送重定向信息来指示服务改变,以便通过第三网络组件访问所述服务。所述重定向信息可以是地址(例如URL)的改变,其可以被客户端(例如第二网络组件)利用来通过不同的网络组件(与先前所寻址的服务器不同的另一个服务器)访问所需数据或信息。在另一个实施例中,第一网络组件是第一服务器,第二网络组件是客户端,第三网络组件是第二服务器。除此之外,第一、第二和第三网络组件可以是分布在网络当中的任何种类的组件。 任何所述网络组件都可以是用户的设备或客户端或者服务器(其例如由服务提供商运营)。在另一个实施例中,来自第一网络组件的所述通信包括“未找到(Not found)”消息或者“OK消息(OK message)”,其可选地包括所述重定向信息以便通过所述第三网络组件访问服务。在另一个实施例中,所提供的解决方案包括以下步骤 (a2)第二网络组件利用所述重定向信息来访问第三网络组件。这样的访问可以通过所述网关来处理。因此,客户端设备可以通过所述第三网络组件(例如附加的服务器)来获得对于所需信息的访问。以下也是一个实施例,其中所述网络包括因特网或者与因特网相关联。依据另一个实施例,所述服务包括以下中的至少一项 一由网络提供的服务,其可以在网络中被寻址;一网络的站点或页面; 一网络的内容; -URL。根据一个实施例,所提供的解决方案在步骤(al)之前包括以下步骤
(a0)网关接收来自第二网络组件的针对服务的请求并且将该请求改变成将被传送到第一网络组件的消息,第一网络组件据此提供不具有消息主体的响应。将被传送到第一网络组件的所述消息可以是HEAD消息,其指示第一网络组件(服务器)在响应消息中不准返回消息主体。在这样的响应中只提供HTTP报头并且进一步将其传送到第二网络组件(客户端),其例如包括内容类型、内容大小、日期。举例来说,第一网络组件可以只返回“方法不被允许(method not allowed)”或 “200 OK” 消息。可以由网关例如通过提供服务或者与服务有关的信息来修改来自第一网络组件的响应。根据另一个实施例,所述网关接收来自第一网络组件的不具有消息主体的消息以作为针对所述HEAD消息的回复。在另一个实施例中,所提供的解决方案在步骤(al)之前包括以下步骤
(a0)网关接收来自第二网络组件的针对服务的请求并且将该请求改变成将被传送到第一网络组件的GET消息、PUT消息或POST消息。根据另一个实施例,所述网关接收“200 0K”消息以作为针对所述GET、PUT或POST 消息的回复,其特别在消息主体内指示所述服务的改变。前面提到的问题还通过一种设备来解决,其包括被布置成使得可以在其上执行本文所述的方法的处理器单元和/或硬接线电路和/或逻辑器件,并且/或者与该处理器单元和/或硬接线电路和/或逻辑器件相关联。根据一个实施例,所述设备是通信设备特别是网络组件,即网关、服务器或客户端设备或者与之相关联。前述的问题还通过一种包括本文所述设备的通信系统来解决。


在附图中示出并说明了本发明的各实施例
图1示出了客户端、网关、服务器1和服务器2之间的示例性消息序列图,其中将服务改变的原因或服务改变(特别是重定向信息)传送到客户端设备;
图2示出了客户端、网关、服务器1和服务器2之间的替换消息序列图,其中将服务改变的原因或服务改变(特别是重定向信息)传送到客户端设备; 图3更加详细地示出了基于图1的消息序列图。
具体实施例方式这里所提供的方法特别允许在正在分析例如第4层(L4)上的IP业务的IP网关中对HTTP重定向进行透明的处理。举例来说,在代理模式深度分组检查(DPI)的情况下,在网关节点中终止TCP会话,从而使得该网关中的(第7层(L7)上的)用户空间应用能够处理HTTP请求并且检查有效载荷数据。如果所述HTTP请求被允许去往其最终目的地,则网关将进行到目的地服务器的连接,并且其将把原始请求发送到所述目的地服务器。如果响应从所述服务器到来,则网关利用现有的连接将所述响应发送到客户端。在这种通信中,如果需要将访问重定向,则网关根本不需要连接到目的地服务器。相反,网关可以在接收到来自客户端的HTTP请求之后立即将重定向响应发送回到客户端。但是这种直接处理的缺点在于,所述代理模式网关需要大量处理能力,这是因为TCP会话在所述网关处终止并且其由该网关的L7上的用户空间应用进行处理(即在这样的网关处需要L7)。因此,在客户端与网关之间并且还在网关与服务器之间处理TCP握手。因此来自客户端的每一条连接都在网关用户空间中被本地处理, 从而导致重度操作(与仅有L4级别处理的情况相比)。举例来说,在内核级别(L4)下能够以高达lGBits/s路由IP分组的网络网关在用户空间(L7)中只能处理大约100MBit/S。在应用空间中的TCP流处理需要IP分组重组、 TCP窗口处理、序号处理、重传等等,这导致大量处理能力都由所述网关进行。这里所提供的方法允许网关例如在第4层(L4)上的内核模式DPI中进行操作。 这样的内核模式DPI网关可以有利地调查具有某种TCP流跟踪(例如状态全检查)的IP分组。这种流跟踪的目的可以包括拒绝匹配所谓的“拒绝”规则的服务访问。因此,如果客户端连接到HTTP服务,则在所述客户端与服务器之间建立TCP会话(客户端与服务器之间的 TCP握手)。位于客户端与服务器之间的路径中的DPI网关可以检查、路由以及转发IP分组。如果到达所述网关处的HTTP请求确实具有针对所拒绝服务的服务访问,则该网关将开始丢弃IP分组或者其将向客户端和服务器发送TCP重置以便终止所述TCP会话。因此,这里所描述的方法允许在不使用TCP级别处理的情况下在内核空间(网关的L4)中进行重定向。通过提供这里所描述的重定向,所述DPI网关无须断开服务器与客户端之间的TCP连接。但是应当提到的是,在客户端能够通过提供DPI服务的网关向服务器发送请求之前,可能必须例如通过TCP握手建立所述连接。因此,当客户端在确实匹配所述拒绝/重定向规则的TCP有效载荷中发送包含HTTP请求的分组时,所述网关执行DPI,且从而能够如这里所描述的那样提供重定向。如果需要TCP重传,则服务器将能够对此进行处理——所述 DPI网关可以只按照这里所描述的那样重写数据。可以如下概括一个实例
在进行了重定向的情况下,报头的格式可以是如下 客户端发送
GET /someurl HTTP/1. 1 主机(Host) :www. serverl. com
^^(Accept):氺/氺
连接(Connection)保持活跃(keep-alive) 服务器以此做出响应
HTTP/1. 1 302 已被移动(HTTP/1. 1 302 Moved) 位置(Location) :http://www. server2. com/deny 内容长度(Content-length) :0连接(Connection)关闭基于服务器的响应,客户端可以发起新的请求 GET /deny HTTP/1. 1 主机:www. server2. com 接受*/* 连接保持活跃
此外,响应代码301可以适用于大多数web浏览器。相应地,来自服务器的以下重定向响应可以按照类似的方式工作 HTTP/1. 1 301已被移动位置:http://www. server2. com/deny 内容长度0 连接关闭
因此,所述IP网关可以把通过IP分组接收到的HTTP URL修改成指向不存在的URL。 目的地服务器可以返回HTTP响应“404未找到”。在IP网关处接收到这样的响应,并且将其修改成“302已被移动”消息。此外,IP 网关将HTTP响应报头修改成承载包括所述重定向URL的“位置”报头。在这样的改变之后, 重新计算TCP CRC,并且将IP分组发送到HTTP客户端。因此,所述客户端能够利用由IP网关传送的重定向URL向另一个服务器发送HTTP GET请求。图1示出了客户端、网关、服务器1与服务器2之间的示例性消息序列图。可以如下描述所交换的消息
(1)通过网关建立客户端与服务器1之间的连接。在TCP三方(threeway)握手之后, 客户端向网关发送HTTP请求,其特别包括
GET /someurl HTTP/1. 1 主机:www. serverL com 接受*/* 连接保持活跃
网关例如利用DPI来分析到来的HTTP请求,以便查明其是否匹配所述拒绝/重定向规贝U。如果是的话,则网关执行DPI,从而能够提供重定向。如果需要TCP重传,则服务器将能够对此进行处理——DPI网关只需要重写数据。所述网关改变目的地URL,例如使得不改变 TCP分组序号,并且向服务器1转发消息 GET /xxxxxxx HTTP/1. 1 主机:www. serverL com 接受*/* 连接保持活跃
(2)由于目的地URL"/xxxxxxx"不存在,因此服务器1利用HTTP响应做出响应 HTTP/1. 1 404 未找到
内容长度250 连接保持活跃来自服务器1的响应代码还可以包括或者可以是“302”。某些HTTP服务提供缺失服务通知,这是通过将所述访问重定向到可以从该处获取状态的自有服务而实现的。网关将该响应修改成以下形式并且将HTTP报头替换成包括重定向URL“…/deny” 的位置信息
HTTP/1. 1 302已被移动位置:http://www. server2. com/deny 内容长度0 连接关闭
举例来说,可以提供信息“http://Ww. server2. com/deny"以指示可以通过重定向信息“http://WWW. server2. com”找到所述内容。这种修改的数据分组被从网关转发到客户端。(3)客户端关闭去到服务器1的现有TCP连接,并且建立去到服务器2的新连接。 此外,客户端通过GET请求使用重定向URL “…/deny”
GET “.../deny,,HTTP/1. 1. 主机:www. server2. com 接受*/* 连接保持活跃
网关将该请求直接转发到服务器2。(4)服务器2利用以下消息做出响应并且通过所述网关将所请求的数据传送到客户端
HTTP/1. 1 200 OK 内容长度500 连接保持活跃
<html>
您的服务被拒绝…</html> 所述网关只将数据转发到客户端。应当提到的是,“…/deny”表达方式可以具有不同的含义。举例来说,客户端可以被配置成使用HTTP代理,也就是说,该客户端通过网关并且进一步通过所述HTTP代理连接到服务器 2 (例如"www. server2. com”)
GET http://www. server2. com/deny HTTP/1. 1. 主机:www. server2. com 接受*/* 连接保持活跃
作为一种替换方案,客户端可以不使用所述HTTP代理,而是具有通过所述网关去到目的地(例如去到服务器2)的直接连接 GET /deny HTTP/1. 1 主机:www. server2. com 接受*/* 连接保持活跃
可以通过相应地改变方法线路径(method line path)而适配两种该格式。位置报头对于直接模式和代理模式服务器重定向响应二者可以是相同的(根据所述实例的位置 http://www. server2. com/deny)0图3更加详细地示出了基于图1的消息序列图。因此,示出了 TCP消息标志SYN、 SYN ACK、ACK、FIN、FIN ACK 以指示同步(SYN)、确认(ACK)和连接结束(FIN)。在客户端与服务器1之间建立第一连接,并且在已经向客户端提供了重定向响应 101之后建立客户端与服务器2之间的第二连接。因此,例如可以在不使用任何TCP级别处理的情况下由网关的内核提供重定向。 这就允许在网关无须断开服务器1与客户端之间的TCP连接的情况下实现重定向。应当提到的是,在客户端能够通过所述DPI网关向服务器1发送请求之前需要建立连接,即通过TCP握手建立连接,其包括SYN、SYN ACK和ACK消息。当客户端在确实匹配所述拒绝/重定向规则的TCP有效载荷中发送包含HTTP请求的分组时,DPI网关能够如所述地进行重定向。如果由于所述拒绝/重定向规则方面的所述匹配条目而需要TCP重传,则服务器1可以对此进行处理,并且DPI网关可以只重写将被转发的数据。所指示的重定向状态代码(例如301或302)对于大多数web客户端都可以工作。替换实施例
作为一种替换方案,这里所提供的方法能够在正在分析IP业务的IP网关中进行透明的HTTP重定向,这是通过修改所访问的HTTP方法“HEAD”而不是方法“GET”、“PUT”或 “POST”而实现的,从而使得目的地服务器可以返回HTTP响应“200 0K”或者任何其他有效的HTTP响应。由IP网关接收到的所述响应被修改成“302已被移动(302 Moved)”消息。此夕卜, IP网关还将HTTP响应报头修改成承载具有重定向URL的“位置”报头。在这样的改变之后,重新计算TCP CRC并且将IP分组发送到HTTP客户端。因此,客户端能够利用由IP网关传送的重定向URL向另一个服务器发送HTTP GET 请求。图2示出了一个不同的实施例,其被显示为包括客户端、网关、服务器1和服务器 2的消息序列图。可以如下描述所交换的消息
(1)通过网关建立客户端与服务器1之间的连接。在TCP三方握手之后,客户端向网关发送HTTP请求
GET /someurl HTTP/1. 1 主机:www. serverL com 接受*/* 连接保持活跃
网关分析到来的HTTP请求,且该网关认识到所访问的服务将被拒绝并且需要重定向。 网关将所述HTTP方法改变成“HEAD”消息,使得不改变TCP分组序号,并且向服务器1转发消息
HEAD /someurl HTTP/1. 1 主机:www. serverL com接受*/* 连接保持活跃。(2)所述HEAD消息与GET消息类似,其不同之处在于,服务器的响应不提供消息主体。服务器利用HTTP响应做出响应 HTTP/1. 1 200 OK
内容长度0
内容类型(Content-type)文本 /html 服务器Apache/l. 3
最后修改2007年10月四日星期六19:43:31 GMT 连接保持活跃
网关将该响应修改成以下形式并且将HTTP报头替换成包括重定向URL “…/deny”的位置信息
HTTP/1. 1 302已被移动位置:http://www. server2. com/deny 内容长度0 连接关闭
这种修改的数据分组被从网关转发到客户端。(3)客户端关闭去到服务器1的现有TCP连接,并且建立去到服务器2的新连接。 此外,客户端通过GET请求使用所述重定向URL “…/deny”
GET “.../deny,,HTTP/1. 1 主机:www. server2. com 接受*/* 连接保持活跃
网关将该请求直接转发到服务器2。(4)服务器2利用以下消息做出响应并且通过网关将所请求的数据传送到客户端
HTTP/1. 1 200 OK 内容长度500
连接保持活跃
<html>
您的服务被拒绝…</html> 所述网关只将数据转发到客户端。应当提到的是,正如关于前面的实例所解释的那样,“…/deny”表达方式可以具有不同的含义。因此,客户端可以被配置成使用HTTP代理,或者其可以利用直接连接。其他优点
因此,根据这里所提供的方法,TCP级别分组重传由客户端和服务器进行处理,其中网关无须修改任何TCP序列和/或确认号。具体来说,网关无须缓冲尚未被客户端或服务器确认的IP分组。通常来说,由服务器1提供的“404未找到”响应可以不包括将被发送到客户端的任何有效载荷数据。但是通过传送特别带有附加数据的重定向URL,可以利用IP分组中的空间(其否则可以被用于有效载荷数据)。此外,HTTP服务器和/或客户端可以发送其他HTTP报头“服务器”和“内容类型”, 其可以被替换成包含带有附加数据的重定向报头。如果发生了 IP分组重传,则网关只需要像其先前所做的那样重写IP分组。TCP/IP会话信息和/或终止由原始客户端和服务器处理。IP网关特别可以只转发TCP/IP信令分组。这一点是有利的,因为此方法不需要IP网关透明地终止其自身的TCP/IP协议栈或其部分实现方式中的所有HTTP会话。
权利要求
1.一种用于在网络中处理数据的方法,包括以下步骤(al)通过指示服务改变的原因以及/或者通过指示所述服务的改变,网关修改从第一网络组件(服务器1)到第二网络组件(客户端)的通信。
2.根据权利要求1的方法,其中,所述网关执行深度分组检查以便确定是否需要对通信进行修改,特别是确定是否需要重定向。
3.根据权利要求2的方法,其中,所述网关特别在不使用TCP级别处理的情况下执行第4层处理。
4.根据权利要求1到3当中的任一项的方法,其中,如果从第二网络组件到第一网络组件的请求被导向所拒绝的服务,则所述网关对所述通信进行修改。
5.根据权利要求4的方法,其中,所述网关发起重定向并且/或者所述网关开始丢弃导向第一网络组件(服务器1)的数据。
6.根据任一项在前权利要求的方法,其中,通过传送重定向信息来指示服务改变,以便通过第三网络组件(服务器2)访问所述服务。
7.根据权利要求6的方法,其中,第一网络组件(服务器1)是第一服务器,第二网络组件(客户端)是客户端,第三网络组件是第二服务器(服务器2)。
8.根据权利要求6或7当中的任一项的方法,其中,来自第一网络组件的所述通信包括“未找到”消息或者“0K消息”,其可选地包括所述重定向信息以便通过所述第三网络组件访问服务。
9.根据任一项在前权利要求的方法,包括以下步骤(a2)第二网络组件(客户端)利用所述重定向信息来访问第三网络组件(服务器2)。
10.根据任一项在前权利要求的方法,其中,所述网络包括因特网或者与因特网相关联。
11.根据任一项在前权利要求的方法,其中,所述服务包括以下中的至少一项 一由网络提供的服务,可以在网络中被寻址;一网络的站点或页面; 一网络的内容; -URL。
12.根据任一项在前权利要求的方法,在步骤(al)之前包括以下步骤(a0)网关接收来自第二网络组件(客户端)的针对服务的请求并且将该请求改变成将被传送到第一网络组件(服务器1)的消息,第一网络组件(服务器1)据此提供不具有消息主体的响应。
13.根据权利要求12的方法,其中,所述网关接收来自第一网络组件(服务器1)的不具有消息主体的消息以作为针对HEAD消息的回复。
14.根据权利要求1到11当中的任一项的方法,在步骤(al)之前包括以下步骤 (a0)网关接收来自第二网络组件(客户端)的针对服务的请求并且将该请求改变成将被传送到第一网络组件(服务器1)的GET消息、PUT消息或POST消息。
15.根据权利要求14的方法,其中,所述网关接收来自第一网络组件(服务器1)的 “200 0K”消息以作为针对所述GET、PUT或POST消息的回复,其特别在消息主体内指示所述服务的改变。
16.一种设备,包括被布置成使得可以在其上执行根据任一项在前权利要求的方法的处理器单元和/或硬接线电路和/或逻辑器件,并且/或者与该处理器单元和/或硬接线电路和/或逻辑器件相关联。
17.根据权利要求16的设备,其中,所述设备是网络组件特别是客户端设备的网关、 服务器,或者与之相关联。
18.—种通信系统,包括根据权利要求16或17当中的任一项的设备。
全文摘要
提供一种用于在网络中处理数据的方法和设备,所述方法包括以下步骤通过指示服务改变的原因以及/或者通过指示所述服务的改变,网关修改从第一网络组件到第二网络组件的通信。此外还提出一种包括所述设备的通信系统。
文档编号H04L29/06GK102326374SQ200980157362
公开日2012年1月18日 申请日期2009年12月23日 优先权日2008年12月23日
发明者J. 希塔拉 E. 申请人:诺基亚西门子通信公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1