经加密和经隧穿的包串流的流分类的制作方法

文档序号:7942340阅读:135来源:国知局
专利名称:经加密和经隧穿的包串流的流分类的制作方法
技术领域
本发明大体上涉及计算机网络通信,且更明确地说涉及流分类和翻译由应用程序 或网络管理者安装的过滤器的方法。
背景技术
流分类是将网络数据包分类到各种被称为流的逻辑串流中的过程。当在因特网协 议(IP)业务中输送数据包时,数据包可能需要对所述数据包执行的特定处理。所述特定处 理可由发送或接收数据包的应用程序或由数据包行进通过的通信路径指定。通常通过基于 某些参数对包进行过滤来执行流分类。举例来说,在其中噪声和干扰可能在通信路径中的 链路上发生的无线通信设定中,某些应用程序可能要求在整个通信发射中维持最小服务质 量(QOS)。因此,过滤器可在沿着通信路径的路由器中实施以辨识需要维持最小QOS的数据 包,且沿着通信路径中将确保满足最小QOS的可靠信道路由那些数据包。在TCP/IP网络通信中,通常通过在TCP/UDP/IP标头中使用各种参数(例如源和 /或目的地IP地址、源和/或目的地端口号、协议/下一标头字段等)来执行包过滤。对 IP数据包业务执行的特定处理无需限于数据包的路由。还可使用例如来自实时输送协议 (RTP)标头或会话启动协议(SIP)标头的较高层协议标头参数来执行过滤。由过滤器寻址 的参数也可为应用层标头或应用程序有效负载主体的一部分。分类的基本概念是基于某些特性(由过滤参数界定)来区分IP包的串流内的数 据包(例如IP包),以实现对IP包的特殊处置。将包分类到串流(本文称为流)中可用以 提供对网络内的每一流中的包的许多种选择性处理,例如防火墙、Q0S、安全性、标头压缩、 记账、记录等。当端到端通信链路被建立时,使用默认QOS来处理所有业务,且如果应用程序需 要特殊处理,其将通过将其应用程序过滤器指定给链路中的适当节点或路由器来请求QOS 处理。特殊应用程序可能需要部署额外过滤器,所述额外过滤器可指定对正经由通信链路 输送的某些IP包的处置和特定处理。当在应用程序请求QOS处理的情况下存在部署于路 由器上的预先存在的安全性过滤器时,可能发生过滤器之间的冲突,在此情况下,安全性过 滤器和QOS过滤器可能彼此相交或冲突。在一些例子中,端节点或中间路由器可能需要对IP数据包的额外处理,例如执行 隧穿、应用安全性措施等。在此些情形中,对IP数据包的处理可移动、修改或加密用以实现 过滤的各种参数,以致使原始过滤器变得不能够适当地辨识那些包。这可在IP业务标头中 的参数被加密或从其平常的偏移位置移动时发生。为了此描述的目的,将此些例子称为经 修改的包。举例来说,当结合加密使用包封安全性有效负载(ESP)协议来实施因特网协议安全性(IPSec)时,输送和较高标头可经加密。因此,基于端口号或例如RTP等其它较高层 标头的过滤无法适当地执行。作为另一实例,当使用IP隧穿通信机制时,IP隧穿过程将IP数据包包封为一个 或一个以上IP或较高层标头。因此,在典型过滤程序中对其起作用的参数从其平常位置变 位(即,偏移)。因此,不能适当地执行基于这些参数的过滤。通常发生的对常规过滤操作 造成问题的IP隧穿情境的实例包含移动IP、IPv4到IPv6交互工作和IPSec。

发明内容
各种实施例提供用于翻译IP数据包过滤器以使得可在包处理修改IP数据包时完 成IP数据包的既定分类的方法。在一些情境中,过滤器修改进一步涉及设置额外隧道以满 足所有QOS要求。在一实施例中,当IP数据包经受两种不同IP数据包过滤器时翻译IP数 据包过滤器,且可修改IP数据包。在另一实施例中,当IP数据包经受第一 IP数据包过滤 器但IP数据包的仅一部分经受第二 IP数据包过滤器时翻译IP数据包过滤器,且可修改IP 数据包。IP数据包的经受第一和第二 IP数据包过滤器中的每一者的部分可变化。各种实施例提供用于解决端到端通信链路中的不同节点或层处的各种子系统所 需的特殊处理(例如,Q0S、安全性、隧穿等)的问题的方法。在一些情况下,一个子系统或 一个节点的处理可导致产生经修改的IP数据包,其可能影响额外处理的应用。为了解决此 问题,各种方法基于使用情况按需要翻译过滤器,使得所有子系统和中间节点可对经修改 的IP数据包进行所需处理。在一些情况下,过滤器翻译不能独自提供相同的流分类,在此 情况下还可实施额外的控制程序,例如在特定层/节点中的IP包修改之后建立额外隧道以 实现相同的流分类。


并入本文且构成本说明书的一部分的

本发明的示范性实施例。连同上文 给出的一般描述和下文给出的详细描述一起,附图用以阐释本发明的特征。图IA到图IE说明涉及服从QOS要求和IPSec加密的IP通信的各种通信网络拓 扑情境。图2A到图2E说明适用于图IA到图IE中所说明的网络拓扑情境的各种过滤器修改。图3是用于解决因通信服务对IP数据包的修改而导致产生的问题的实施例方法 的过程流程图。图4到图8是可实施以翻译可在各种网络拓扑情境中实施的IP数据包过滤器的 实施例方法的过程流程图。图9是适合实施各种实施例的移动装置的组件框图。图10是适合实施各种实施例的计算机的组件框图。
具体实施例方式将参看附图详细描述各种实施例。在可能的任何地方,在图中将始终使用相同参 考编号来指代相同或相似部分。对特定实例和实施方案做出的参考是出于说明性目的,且无意限制本发明或权利要求书的范围。如本文所使用,术语“计算机”、“计算装置”或“移动装置”指代以下各项中的任 一者或全部个人计算机、笔记本型计算机、蜂窝式电话、个人数据助理(PDA)、掌上型计算 机、无线电子邮件接收器和蜂窝式电话接收器(例如,Blackberry⑧和Treo 装置)、具有 多媒体因特网功能的蜂窝式电话(例如,iPhone ),以及类似的包含可编程处理器、存储 器且能够经由数据通信网络通信的个人电子装置。在此描述中,本文使用术语“示范性”来表示“充当实例、例子或说明”。本文描述 为“示范性”的任何实施方案均不一定被解释为比其它实施方案优选或有利。当端到端通信链路被建立时,使用默认QOS来处理所有业务。当在端点装置/终端 上运行的应用程序需要对应用程序所利用的IP数据包的特殊处置时,可将适当的过滤器 部署到通信链路中的路由器/网关,以指导与应用程序相关联的IP数据包的处置和路由。 在一些情况下,IP数据包需要通过多个过滤器进行分类。然而,因为IP数据包在通信处理 期间(例如,当包经加密或封装以用于隧道路由时)可能被修改,所以默认或标准过滤器可 能不能够辨识经修改的IP数据包,且因此可能不能够执行其既定的包分类功能。IP包过滤的实例是既定用以辨识针对其存在QOS最小要求的包以使得那些包可 经由可靠的通信链路路由的过滤器。(为便于参考,在本文的图和等式中将QOS过滤器标示 为“Q”)。此些过滤器在包含无线通信链路的其中各种链路具有不同信号质量的通信网络 尤其有用。当端到端通信链路包含无线装置/终端时,服务质量(QOS)过滤器可部署在沿 着网络路径的其中提供QOS的所有路由器中,使得每一路由器可经由特定有线或无线链路 适当地分类和指导满足最小QOS要求的IP数据包,以提供前向链路上的所要处理。在一些 实施方案或网络配置中,QOS处置可仅在无线链路中发生,在此情况下,QOS过滤器可仅部 署到充当无线端点的路由器。而且,在一些实施方案中,QOS处置可在中间链路内应用(例 如,当无线通信链路提供两个有线网络之间的连接时),因此QOS过滤器不限于网络路径的 端点上的节点。QOS或其它类型的过滤器可部署到网络路径内的所有路由器,或仅部署到网 络路径的端点上的节点。举例来说,移动装置可发送和接收SMS文本消息,同时还从因特网接收流式视频。 与SMS文本消息接发应用程序相关联的IP数据包不需要高Q0S,因为包可重传直到整个消 息适当接收为止。然而,与经流式传输的视频应用程序相关联的IP数据包将需要高QOS通 信以确保包被准确地接收。为了经由适当的空中链路将SMS消息和流式视频包路由到移动 装置(或网络路径内的其它链路),部署在适当路由器上的QOS过滤器可将正向无线装置发 送的IP数据包分类为需要QOS路由或不需要QOS路由。为此,QOS过滤器可对IP数据包 标头内的一组特定位进行取样,以确定所述包是否需要QOS路由。被分类为需要QOS路由 的IP数据包(即,在此实例中为视频包)可路由到将经由高QOS通信链路路由的包流中, 而其它IP数据包(即,在此实例中为SMS消息包)可经由另一通信链路路由。用于适当地路由QOS包以提供端到端QOS路由的替代方法涉及使用数据包的IP 标头中的有差别服务代码点(DSCP)标记。在此方案中,将特殊整数值指派给每一流类型, 且特殊整数值包含在IPv4标头的TOS字段或IPv6标头中的流标签字段中。这些值标记在 可被沿着路径的所有路由器存取的最外部IP标头中。如果包经修改以使得标头经加密或 额外标头附加于前部,那么修改包的任何路由器应将DSCP标记复制到正被附加的最外部IP标头,进而使DSCP标记值对沿着网络路径的点处的路由器可见。DSCP标记向沿着网络 路径的每一路由器指示如何处理所述包,且提供任何所要QOS处置。各种DSCP值的语义由 每一服务提供者/网络管理者界定。此方法仅在沿着网络路径的所有路由器均理解DSCP 值的既定语义的情况下有效。在此方法中,仅第一跳(即,发源节点或路由器)需要执行针 对QOS的包分类,因为沿着网络路径的所有其它路由器均可独自依赖DSCP值。IP数据通信中所使用的另一常见过滤器对经加密的IP数据包进行分类。经加密 的IP数据包需要特殊处理,例如将其路由到其将在那被解密的端点。因此,安全性过滤器 可部署在通信链路内,其中所述IP数据包中的一些或全部将在某点处加密。(为了便于参 考,安全性过滤器在本文的图和等式中标示为“S”)。虽然此IP数据包过滤在以上实例中良好地起作用,但当对同一通信链路强加冲 突的通信要求时可能导致问题。此问题的特定实例涉及其中链路的一部分服从QOS要求和 安全性措施(例如,IPSec)的通信链路。此情境在无线装置经配置以通过加密IP数据包 来安全地通信从而允许用户发送和接收敏感数据时发生,可能需要各种安全性措施。举例 来说,可在移动装置与工作服务器之间建立端到端通信连接以提供虚拟专用网络(VPN)能 力。用户可利用此经加密的通信连接来发送和接收敏感信息。在大多数情况下,加密IP数 据包涉及加密整个包,以及将经加密的结果包含于具有经修改标头(即,不同于原始IP数 据包的包标头的包标头)的另一IP数据包内。因此,原始(即,未经加密)包中的参数可能 不可被分类过滤器存取,且包含在新的包标头中的那些参数可能位于不同的偏移位置。在 过滤参数不可存取或从其平常的偏移位置移动的情况下,例如中间路由器中的QOS过滤器 等分类过滤器可能不能够将IP数据包分类到所要的流中。各种实施例通过提供用于翻译过滤器以解决其中IP数据包经受修改的各种情境 的标准机制来克服这些问题。经翻译的过滤器能够通过适应包标头修改来适当地分类IP 数据包。经翻译的过滤器可随后部署到沿着特定通信会话的通信路径的各种路由器/网 关。以此方式,通信链路中的网络节点甚至在包标头已被修改时也能适当地分类和路由IP 数据包。因此,举例来说,如果正使用IP隧穿或加密来发射IP数据包,那么既定供特定应 用程序使用或需要QOS路由的IP数据包可由经翻译的过滤器分类到适当的流中。虽然本 文相对于IP数据包和基于IP的网络来论述各种实施例,但所述实施例可扩展到其它类型 的网络或协议。各种实施例提供用于解决端到端通信链路中不同节点或层处的各种子系统 所需的特殊处理(例如,Q0S、安全性、隧穿等)的问题的方法。在一些情况下,一个子系统 或一个节点的处理可导致产生可能影响额外处理的应用的经修改的IP数据包。为了解决 此问题,各种方法基于使用情况按需要翻译过滤器且设置额外隧道或其它控制程序,使得 所有子系统和中间节点可对经修改的IP数据包进行所需的处理。必须单独考虑业务流方向以便确定经翻译过滤器的适当部署。在大多数情况下, 从移动装置到网络的上行链路或反向链路业务是在移动装置中发源。移动装置可在IP数 据包被IPSec驱动程序、移动IP栈或类似的后续修改进行修改之前应用过滤器以分类IP 数据包。然而,对于从网络流动到移动装置的前向/下行链路IP数据包,过滤或包分类可 能不在与IP数据包修改相同的节点处发生。举例来说,包的IPSec加密可在通信链路的远 端执行,而QOS分类可在无线网关处(即,IP数据包经由无线数据链路路由到移动装置之 处)执行。因此,在大多数情境中,前向/下行链路IP数据包将需要过滤器翻译。
举例来说,图IA到图IE描绘其中QOS流可能与IPSec加密流冲突和/或相交的 网络拓扑中的各种情境。在图IA所示的网络拓扑中,端到端通信链路已在无线装置/终端101与对等装置 /终端120之间建立。通信路径包含路由器1105和路由器2115,其各自充当到达数据网络 或因特网110的网关。数据网络和因特网110可包含多个额外路由器和节点,其仅通过根 据包标头中含有的信息中继数据包来完成通信链路。由于这些节点中的每一者仅充当经由 点,因此这些节点可统称为数据网络或因特网110。在图IA所示的情境中,在前向/下行 链路上,对等装置/终端120经由不服从QOS要求的数据链路将IP数据包发送到路由器 2115。在此情境中,路由器2115作为安全性端点(Sec EP)而操作,其使用IPSec驱动程序 来加密IP数据包。经加密的IP数据包可随后经由不安全的数据网络或因特网110发送到 路由1105。路由器1105作为QOS端点(QOS EP)而操作,其准备IP数据包以用于经由无线 通信链路发射到无线装置/终端101。由于IP数据包到无线装置/终端101的发射经由 无线通信链路发生,因此必须建立QOS流以确保包以充足的信号质量或以适当的数据发射 速度经由发射路径发射,以保证IP数据包的准确接收。因此,QOS过滤器可部署到路由器 1105。由于路由器1105从路由器2115接收经加密的IP数据包,因此可能所部署的QOS过 滤器不会对已经因加密而修改的经加密IP数据包适当地操作。因此,原始QOS过滤器将不 能够在路由器1105处分类经修改的IP数据包并提供必要的Q0S。因此,移动装置必须翻译 QOS过滤器,且在为无线链路提供QOS支持的路由器1105中安装经翻译的过滤器。然而,在反向/上行链路上,将不需要过滤器翻译,因为无线装置/终端101对IP 数据包既进行加密又强加QOS要求。因此,无线装置/终端101可在加密数据包之前使用 QOS过滤器来执行QOS分类。因此,包修改和QOS分类在通信链路的同一节点中发生。因 此,路由器1105可仅使用安全性过滤器来处理接收到的IP数据包,而无需反向/上行链路 上的进一步翻译,因为不将特定QOS提供给越过此实例网络路径中的路由器1的IP包。图IB展示第二情境网络拓扑,其中IP数据包经由安全无线数据链路发送,且随后 经由数据网络或因特网Iio无加密地发射,其中QOS路由延伸直到路由器2115。因此,在 前向/下行链路上不实施安全性加密,直到IP数据包经由路由器1105与无线装置/终端 101之间的无线通信链路发射为止。在此情境中,前向/下行链路上的路由器1105作为安 全性端点而操作,其在IP数据包经由无线通信链路发射之前应用必要的加密。因此,在前 向/下行链路路径上,IP数据包不被修改,直到其由路由器1105接收且经由无线通信链路 发射为止。因此,在沿着网络路径的提供QOS的任何路由器处的前向/下行链路上均不需 要过滤器翻译。另一方面,路由器1在修改/加密数据包之前使用QOS过滤器来执行QOS 分类,以便避免此实例网络路径中的QOS过滤器翻译。部署到路由器2115的原始过滤器接 收未经修改的IP数据包,且因此可适当地分类所述包以提供必要的QOS流。在此第二情境中,反向/上行链路路径上不需要过滤器翻译,因为无线装置/终端 101加密且进而修改IP数据包,但也针对QOS要求而分类IP数据包。因此,包修改和QOS 分类在通信链路的同一节点中发生。路由器105将经修改的包恢复到原始包配置,使得越 过路由器1的包未经修改地发射,因此不需要翻译沿着上行链路路径的QOS过滤器。因此, 过滤器翻译和部署对于此实例网络路径中的反向/上行链路来说是不必要的。图IC说明第三情境网络拓扑,其中IP数据包经由安全无线数据链路向/从无线装置/终端101发送,且随后在不使用路由器2的情况下经由数据网络或因特网110未经 加密地发射到对等装置/终端120。在此情境中,在前向/下行链路路径上,IP数据包加密 和QOS分类在同一节点(S卩,路由器1105)处发生。由此,前向/下行链路不需要过滤器翻 译。类似地,反向/上行链路路径上不需要过滤器翻译,因为无线装置/终端101加密IP 数据包(进而修改包标头),且针对QOS要求分类IP数据包。因此,包修改和QOS分类在通 信链路的同一节点中发生。图ID说明第四情境网络拓扑,其中加密/解密在路由器(路由器1105和路由器 2115)处发生,同时QOS包路由从无线装置/终端101延伸到对等/装置终端120。在此情 境中,当加密包时,IP数据包修改在路由器105和115两者中发生。由于IP数据包在路由 器105和115处加密和解密,因此终端装置101和120可执行QOS分类而任何麻烦,因为由 终端装置101和120发送和接收的IP数据包未经修改。但沿着路由器1与路由器2之间 的路径的其它路由器需要经翻译的QOS过滤器,因为它们将仅接收经修改的包。图IE展示第五情境网络拓扑,其中IPSec隧道建立于装置101与路由器2115之 间,同时QOS路由端到端(即,在无线装置/终端101与对等/装置终端120之间)提供。 在前向/下行链路路径上,IP数据包在路由器2115中修改以提供安全性加密。由于路由器 2在前向/下行链路中从对等/装置终端120接收未经修改的IP数据包,因此路由器2115 可执行QOS分类以产生所需的QOS流。因此,IP数据包修改和QOS分类在同一节点(路由 器2115)中发生。因此,沿着前向链路路径的其它路由器中也可能需要过滤器翻译,因为那 些路由器仅接收经修改的IP包。在无线装置101上针对反向/上行链路路径不需要过滤器 翻译,因为装置/终端101加密(且进而修改)IP数据包且针对QOS要求分类IP数据包。 但沿着反向链路路径的其它路由器可能需要过滤器翻译,因为它们接收经修改的IP包。另 一方面,路由器2将IP包恢复到原始形式,且只能将未经翻译的QOS过滤器用于反向/上 行链路数据路径。以上情境也可应用于上文所描述的其它使用情况,例如移动IP上的Q0S。而且, 第一情境(图1A)对于移动IP来说是最常见的,因为移动IP隧道在第一跳路由器之后的 本地代理(home agent, HA)处终止。典型实例是CDMA网络中的包数据服务节点(PDSN)。 QOS通信路由通常在移动装置与PDSN之间实现,而IP隧道在移动装置与HA之间实现。图IA到图IE中所描绘的情境中所说明的网络路径既定说明其中过滤器冲突可能 出现的一些但不是全部的可能网络配置。其它网络路径配置中出现的过滤器冲突可使用本 文所描述的各种方法和系统来解决,尽管此些配置未包含于图IA到图IE所示的实例中。其中IP数据过滤器的处理使一个或一个以上所部署的包过滤器无效(通常是因 为标头中的过滤参数被移位或加密)的情形可由修改IP数据包且还提供QOS处理的节点 (末端装置或路由器)确定。所述节点可通过例如借助于将包处理状态与逻辑表或决策树 进行比较而辨识将实施两种类型的包处理来确定过滤器中将存在冲突。当节点确定过滤器 冲突将发生时,节点可通过实施产生经翻译过滤器且将经翻译过滤器传播到沿着网络路径 的所有路由器的适当动作来做出响应。检测到某一包需要QOS分类且还经受修改(例如, 由于IPSec、隧穿等)的第一节点必须采取此动作。此确定是取决于实施方案的,因为其是 在一个节点内局部化,其中所述节点配置有做出此确定所必需的所有信息。此节点随后执 行过滤器翻译,且将经翻译的过滤器一路发送到沿着网络路径的相关路由器。如果过滤器翻译在不是第一位置处的QOS的发源者的路由器中发生(见图1D),那么所述路由器仍应将 经翻译的过滤器传播到适当的路由器集合。QOS过滤器可由沿着网络路径直到提供QOS的点的所有路由器上的QOS请求者节 点部署。QOS可由同一节点针对上行链路和下行链路而请求,或每一端节点可各自针对一个 方向请求Q0S,或其组合。翻译过滤器的节点将把经翻译的过滤器发送到沿着路径直到提供 QOS的点或当命中翻译端点时(无论哪一者在网络路径中较早)的所有路由器。翻译端点 可丢弃经翻译的过滤器,因为所述节点可使用原始过滤器来分类未经修改的包。图3说明用于解决端到端通信链路中不同节点或层处的各种子系统所需的特殊 处理(例如,Q0S、安全性、隧穿等)的问题的方法。网络路径内的节点可确定包分类过滤器 中的冲突由于两个冲突的过程(例如,QOS分类和IPSec处理或隧穿等)被施加于特定IP 数据包而存在(步骤190)。取决于网络路径上实施的对IP数据包的修改的性质,且因此取 决于包过滤器受影响或被置于冲突中的方式,包过滤器被改变或翻译为将导致产生经修改 的IP数据包的所要分类的经翻译包过滤器(步骤192)。此翻译步骤导致产生将以与原始 包过滤器将分类未经修改的包的方式相同的方式分类经修改的IP数据包的经翻译包过滤 器。随后将经翻译的包过滤器部署到网络路径中的路由器(步骤194)。如上文所论述,所部署的包过滤器的问题以及因对IP数据包的修改而导致产生 的所部署的包过滤器之间的冲突可通过将所部署的过滤器翻译为将依据经修改的包产生 所要IP数据包流的经翻译过滤器来解决。过滤器翻译机制将基于使用情况和将对包串流 执行的类型修改而变化。术语“过滤器翻译”指对给定过滤器集合中的每一过滤器所做的 修改,所述修改使得经翻译过滤器集合能够以与未经修改过滤器集合分类未经修改的包的 方式相同的方式分类经修改的包。在假设性实例中,包P包含具有3个字段随后是一有效负载的标头。因此P =[字段1][字段2][字段][…有效负载· · ·],其中字段1、字段2和字段3各自的长度为2个字节。作为此假设性实例的又一元素,过滤器集合F包含一个过滤器f,其经设定以与字 段2的值等于100的包匹配。此过滤器可表示为f 字段2 = 100。通常,每一过滤器由偏 移量/值/长度三元组表示。举例来说,过滤器f可如下配置f:偏移量=2,值=100,长 度=2。在此实例中,携载在偏移量2(从偏移量0开始)处等于100的2字节值的任何类 型的包P将与过滤器f匹配。出于说明目的,可例如通过将前同步码添加到标头以产生经修改的包P'来在网 络路由器中的一者中修改包P,如下P'=[...前同步码· · ·][字段1][字段2][字段][· · ·有效负载· · ·],其中前同步码在此实例中长度为10个字节。此实例说明各种实施例解决的问题。如果将过滤器f应用于此经修改的包P',那 么其将不能与过滤器准则匹配,或在值100在前同步码中在偏移量2处的两个字节中出现 的情况下可能与过滤器准则错误地匹配。为了使过滤器正确地检测匹配,需要例如通过使 过滤器的偏移量增加前同步码的长度来翻译过滤器以考虑前同步码,如下f'偏移量=12,值=100,长度=2。经翻译的过滤器f'将与经修改的包P'正确地匹配,以实现与过滤器f对未经修改的包P操作所实现的结果相同的结果。在以上实例中,如果包修改包含加密或修改原始包P的内容,那么经翻译的过滤 器f'也将不能与经修改的包P'匹配。因此在此情况下将需要较高级的过滤器翻译。如果IP包重新包封于一个或一个以上IP或输送标头中,那么过滤器翻译将涉及 使过滤器的偏移量移位以考虑输送标头。此翻译可直接或间接实现。在直接方法中,在过 滤器中指定新的偏移量值,其中新的偏移量值反映与输送标头相关联的额外偏移量。在间 接方法中,经翻译的过滤器可指示经修改的包中的原始标头的位置,以实现将过滤器偏移 量应用于原始标头的字段。举例来说,原始IP数据包P可采取以下形式P = [IP HDrl] [TCP Hdr 1][有效负载],其中有效负载数据之前是IP数据标头(IP HDrl)和TCP数据标头(TCP Hdrl)。 经修改的IP数据包可采取以下形式P' = [IP Hdr2] [IP HDrl] [TCP Hdr 1][有效负载],其中经修改的IP数据包包含额外IP标头(IP Hdr2)。在无线装置/终端101或对等装置/终端120上操作的应用程序可指定原始过滤 器以如下产生流€:源1卩地址=叉。此过滤器可部署到适当的路由器(取决于前向或反向链路处理)以提供IP数据 包的所要处理。因此,路由器从特定源IP地址接收到的任何IP数据包将由过滤器分类以 接收所要处理“X”。所要处理X可为若干处理功能中的任一者。举例来说,如果X是QOS功 能,那么可使从特定源IP地址接收到的IP数据包通过无线通信链路中的特定空中链路路 由以提供最小Q0S。作为另一实例,功能χ可加密IP数据包。因此在此实例中,从特定源 IP地址接收到的任何IP数据包可根据功能χ而加密。在此实例中,在没有任何IP数据包修改P的情况下递送到路由器的过滤器可表现 为f 源IP地址=X, IP hdr#l。针对经修改的包递送到路由器的经翻译的过滤器可表现 为f' :src IP 地址=X,IP Hdr#2,其中IP Hdr#2是根据IP数据包修改P'而添加的。直接或间接过滤器翻译方法的使用可建置到用以将过滤器集合传送到网络中的 各种节点的信令协议中。举例来说,3GPP2 QOS规范需要一位来指示将经翻译过滤器模板 (TFT)传递到PDSN的消息中的内部或外部IP标头。此协议仅允许一个IP标头包封。通常需要较复杂的方法来翻译用于经加密的IPSec包的过滤器。IPSec包含两种 操作模式输送模式和隧穿模式。这些模式涉及以如下方式修改IP数据包输送模式P = [IP HDrl] [TCP Hdr 1][有效负载]P' = [IP HDrl] [ESP/AH] [xxx 经加密的有效负载 xxx]隧穿模式P = [IP HDrl] [TCP Hdr 1][有效负载]P' = [IP Hdr2] [ESP/AH] [xxx 经加密的有效负载 xxx]在以上命名中,ESP代表包封安全性协议,且AH代表验证标头。IPSec (IP安全性协议)包含用于IP层的两个协议IP验证标头(AH)和包封安全性协议(ESP)。这些协议 可独自应用或彼此组合应用。AH提供抗重放且检验包的内容尚未在发射中修改。AH是数 学代码,其嵌入在IP包中且在IP包中发射,且可独自应用或与ESP组合应用。ESP提供数 据机密性(加密)、抗重放和验证。ESP将数据包封在IP包中,且可独自应用或与AH组合 应用。在隧穿或输送模式中的任一者中,如果加密完成,那么IP数据包的一个或一个以 上原始标头变为不可存取。因此,此情形中的过滤器翻译依赖于将原始过滤器映射到标头 中的保持可存取的那些字段。在输送模式中,仅原始IP标头和ESP或AH参数可存取。TCP 标头将被加密,且因此不再可被过滤器存取。因此,依赖于TCP标头来产生所要流的任何原 始过滤器在IP数据包被加密之后将变得无用。因此,经翻译的过滤器将需要查看原始IP 标头、ESP或AH参数以适当地分类IP数据包且产生所要的流。在隧穿模式中,仅不同于内部IP标头(其为IP数据包上的原始IP标头)的外部 IP标头和ESP或AH将可存取(S卩,未经加密)。因此,用于经由在中间网络上使用包封技术 的通信信道(IP隧道)输送的IP数据包的经翻译过滤器将必须依赖于外部IP标头和ESP 或AH字段来分类IP数据包,且产生适当的流。IP隧穿可(例如)在用户设法经由虚拟专 用网络(VPN)或通过IPv4因特网上的IPv6岛实施方案建立端到端通信链路时发生。在IP 隧穿中,每个IP数据包被包封在产于转接网络的另一包格式内。因此,当IP数据包被包封 时,IP数据包的标头中出现的若干原始参数将不再可被过滤器存取。各种实施例通过将原始过滤器映射到新过滤器集合来翻译过滤器,所述新过滤器 集合由目的地IP地址、协议(ESP/AH)和安全性参数索引(SPI)组成。这3个字段还唯一 地识别每一 IPSec流,其在IPSec术语中被称为安全性关联(SA)。主SA可分裂为多个子 SA,以便将IPSec串流隔离为各自潜在地使用相同或不同安全性算法的多个安全串流。最 外部IP标头中的协议字段是ESP或AH。SPI是ESP或AH字段中的安全性识别符。目的地 IP地址是从最外部IP标头提取的。以下算法描述如何将原始过滤器映射到基于IPSec的 经翻译的过滤器,假定原始过滤器意在用于QOS分类。这些实施例中的主要理念是将每一 QOS流表示为一个或一个以上IPSec子SA,以便使用IPSec串流来识别QOS串流。以此方 式,针对分类不需要原始QOS过滤器。此实施例的描述使用以下符号Q =表示所请求的QOS流的过滤器集合;Q'=从Q中的过滤器翻译以使得当Q应用于原始串流且Q'应用于IPSec串流时 实现相同分类的过滤器集合;S =表示所请求/配置的IPSec流(或IPSec SA)的过滤器集合;S'=从S中的过滤器翻译以使得当S应用于原始串流且S'应用于IPSec串流时 实现相同分类的过滤器集合;
=构成Q以使得ql+q2+. ..=Q的过滤器子集; =构成S以使得sl+s2+. ..=S的过滤器子集; 2...=构成Q'以使得q' 1+q' 2+... =Q'的过滤器子集; 2...=构成S'以使得s' 1+s' 2+... =S'的过滤器子集; 翻译是通过将过滤器集合S中的每一过滤器映射到如上所述的经翻译过ql, q2..
si, s2..
q' l,d
s' 1, s
S 至Ij S'滤器集合S'中的构成目的地IP地址、协议(ESP/AH)和SPI的对应过滤器来执行的。如果 过滤器集合S分裂为多个IPSec串流(子SA),那么用以识别每一子SA的过滤器中的每一 者可使用相同程序映射到构成目的地IP地址、协议(ESP/AH)和SPI的对应过滤器。各种实施例依据表示QOS流的过滤器集合Q与表示所请求或配置的IPSec流的过 滤器集合S之间的交集而执行QOS过滤器Q向经翻译QOS过滤器Q'的翻译。在协商通信 链路的同时或之后,通信装置可确定在通信路径上将发生的包修改(例如,加密)的性质以 及给定通信路径中第一包过滤器集合(例如IPSec过滤器)与第二包过滤器集合(例如 QOS过滤器)之间存在重叠或交集的程度。可基于发射和接收数据的应用程序来确定包修 改的性质。可基于给定通信会话中所涉及的通信链路的类型(例如,连接到因特网的无线 通信链路)、发送或接收包的应用程序和给定通信路径中对包的所确定修改来确定重叠或 交集的程度。有限数目的可能过滤器重叠或交集在两种类型的包过滤器之间是可能的。图 2A到图2E中说明可能的相交情境。对于可能的过滤器相交情境中的每一者,可使用图3到 图7所示的过程流程图中所说明的那些方法中的适当方法来执行原始过滤器的翻译。图3 到图7中所说明的过程流程假定QOS流与IPSec流之间的相交,但所述方法适用于重叠或 交集类似于图2A到图2E中所说明的重叠或交集的其它类型的包流和过滤器。所属领域的 技术人员将了解,可以与下文参看图3到图7所描述的相同方式来实施其它类型的IP数据 包过滤器翻译。图2A描绘其中QOS流等效于IPSec过程流(g卩,Q = S)的网络情境。在此情形 中,经受QOS过滤器的所有IP数据包也经受IPSec过滤器。图3说明用于在QOS过滤器和IPSec过滤器确切地分类相同IP数据包(即,即使 过滤器参数可能不同,过滤器也分类相同的包)时翻译QOS过滤器或IPSec过滤器的实施 例方法的过程流程。此情形类似于图2A中所说明的情境。参看图3,以IPSec过滤器设置 安全性关联(SA)(步骤205)。换句话说,协商IP隧道的安全性端点之间的安全性密钥,使 得仅两个端点可观看包数据。举例来说,当用户尝试远程登录到安全服务器(例如120)时, 必须采取安全性预防措施,使得没有IP数据包不受阻碍地发送到远程终端端点。因此,协 商安全服务器与远程终端端点之间的安全性密钥,使得仅安全服务器和远程终端端点能够 观看IP数据包。虽然在远程终端端点与服务器之间可协商多个IP隧道,但每一隧道将仅 用于特定业务。每一隧道可实施不同程度的加密保护,以满足沿着通信链路的不同发射需 要。以此方式,在用户从远程终端登录到安全服务器的情况下,不同应用程序可能需要不同 程度的安全数据。举例来说,用户可能发射用于视频会议呼叫以及机密销售数据的IP数据 包。用于视频会议呼叫应用程序的IP数据包可能不是敏感的,因此那些IP包可经由IPSec 过滤器来路由,因此它们通过使用安全性较小的加密的隧道发射。然而,机密销售数据可 能被应用程序辨识为应经由实施高安全性加密的隧道发射的高度敏感信息。因此,适当的 IPSec流可由检查包是否含有视频或文本信息的过滤器来实施。在此实例中,对两个数据串 流(即,视频和数据)的QOS要求还取决于数据包的内容。这是因为视频包对发射质量敏 感,因为图像无法在不引起闪动的情况下等待包的重传,且丢失的包将使图像质量降级。相 比之下,数据包可在包在低QOS通信链路上丢失的情况下重传。因此,适当的QOS流可由检 查包是否含有视频或文本信息的过滤器来实施。由于使用IPSec和QOS过滤器实现的包分 类完全相同,因此Q = S。
一旦已用IPSec过滤器设置安全性关联(SA),就将IPSec过滤器S翻译为经翻译 的IPSec过滤器S'(步骤210)。经翻译的IPSec过滤器S'是对经加密包将实现与原始 IPSec过滤器S对未经修改的IP数据包的分类相同的分类的过滤器,因此即使当IP数据包 被加密时,安全性关联(SA)也将正确地映射。可使用类似上文所述方法的方法来实现S到 S'的翻译。在翻译IPSec过滤器之后,使用IPsec过滤器S'而不是Q来执行QOS分类,换 句话说,经翻译的QOS过滤器Q'与S'相同,Q' =S'(步骤215)。以此方式,即使当IP 数据包被加密时,经翻译的QOS过滤器也将把IP数据包适当地分类到其适当的QOS流中。图2B描绘其中QOS流小于IPSec过程流以使得QOS流与IPSec流的交集涵盖QOS 过程流(即,Q η S = Q)的网络情境。在此情形中,经受QOS过滤器的所有IP数据包还经 受IPSec过滤器,但经受IPSec过滤器的若干IP数据包不经受QOS过滤器。在此情形中, 可存在由IPSec过滤器集合S实施的不同等级的安全性加密。这些不同等级的安全性中的 每一者可由子集安全性过滤器sl、s2、s3表示。在所说明的实例中,经受QOS过滤器的所有 IP数据包也可与IPSec子集过滤器s2 —致或经受IPSec子集过滤器s2,但子集过滤器si 和s3不与QOS过滤器一致。图4说明用于在如图2B中所说明QOS流与IPSec流之间的交集包含QOS流时翻 译QOS过滤器或IPSec过滤器的实施例方法的过程流程。在此情形中,IPSec过滤器集合S 可分裂为第一组子集过滤器si、s2、s3,使得IPSec过滤器集合S等于三个子集过滤器si、 s2、s3的和,且将子集过滤器s2选择为QOS过滤器(s2 = Q),使得s2执行与Q相同的包分 类(步骤201)。在IPSec过滤器集合S分裂之后,用IPSec过滤器集合S设置安全性关联 (SA)(步骤205)。接着,使用具有与SA相同的安全性关联的s2来设置子安全性关联(步 骤220)。将子集过滤器s2(等效于QOS过滤器)翻译为s' 2(步骤225)。经翻译的子集 过滤器s' 2将依据经加密的包产生与子集过滤器s2依据未经修改的包将产生的流相同的 流。随后将QOS过滤器Q翻译为经翻译的QOS过滤器Q',其中过滤器Q'与过滤器S' 2 相同(步骤230)。任选地,可使用子集IPSec过滤器si来设置第二子SA以建立第二子安 全性关联(任选步骤235)。此外,可使用子集IPSec过滤器s3以相同安全性SA来设置第 三子SA (任选步骤240)。图2C描绘其中IPSec流小于QOS流以使得QOS流与IPSec流的交集涵盖IPSec 流(即,Q Π S = S)的网络情境。在此情形中,经受IPSec过滤器的所有IP数据包还经受 QOS过滤器,但经受QOS过滤器的若干IP数据包不经受IPSec过滤器。在所说明的实例中, 经受IPSec过滤器S的所有IP数据包也可经受QOS子集过滤器q2。图5说明用于在如图2C所说明QOS流与IPSec流之间的交集包含IPSec流时翻 译QOS过滤器或IPSec过滤器的实施例方法的过程流程。在此情形中,QOS过滤器可分裂为 第一组子集过滤器ql、q2、q3,使得QOS过滤器集合Q等于三个子集过滤器ql、q2、q3的和, 且将子集过滤器q2选择为IPSec过滤器(q2 = S),使得q2执行与S相同的包分类(步骤 250)。在QOS过滤器分裂之后,设置与IPSec过滤器集合S的安全性关联(SA)(步骤205)。 接下来,将IPSec过滤器集合S (等效于子集QOS过滤器q2)翻译为经翻译的IPSec过滤器 S'(步骤255)。经翻译的IPSec过滤器S'将依据经修改的包产生与IPSec过滤器S依 据未经修改的包产生的流相同的流。随后翻译QOS过滤器Q以产生经翻译的QOS过滤器 Q',其中Q'等效子集QOS过滤器ql、经翻译的IPSec过滤器S'和子集QOS过滤器q3的和(即,Q' = ql+S' +q3)(步骤 260)。图2D描绘其中IPSec流是QOS流的子集以使得QOS流与IPSec过程流的交集涵 盖IPSec流(即,Q Π S = S)的网络情境。在此情形中,经受IPSec过滤器的所有IP数据 包还经受QOS过滤器,但经受QOS过滤器的若干IP数据包不经受IPSec过滤器。在所说明 的实例中,经受IPSec过滤器S的所有IP数据包也可经受QOS子集过滤器q2。图6说明用于在如图2D所说明QOS流与IPSec流之间的交集包含IPSec流时翻 译QOS过滤器或IPSec过滤器的实施例方法的过程流程。在此情形中,QOS过滤器可分裂 为第一组子集过滤器ql、q2,使得QOS过滤器集合Q等于两个子集过滤器ql、q2的和,且将 子集过滤器q2选择为IPSec过滤器(q2 = S)(步骤270)。在QOS过滤器分裂之后,设置与 IPSec过滤器集合S的安全性关联(SA)(步骤205)。接下来,翻译IPSec过滤器集合S (其 等效于子集QOS过滤器q2)以产生经翻译的IPSec过滤器S'(步骤275)。经翻译的IPSec 过滤器S'将依据经加密的包产生与IPSec过滤器S依据未经修改的包将产生的流相同的 流。随后翻译QOS过滤器Q以产生经翻译的QOS过滤器Q',其中Q'等效于子集QOS过滤 器ql和经翻译的IPSec过滤器S'的和(S卩,Q' = ql+S')(步骤280)。图2E描绘其中IPSec流的一部分与QOS流的一部分相交以使得QOS流与IPSec流 的交集涵盖小于或等于QOS流且小于或等于IPSec流的某部分(即,Q η S彡S ;Q η S彡Q) 的网络情境。在此情形中,经受QOS过滤器的IP数据包中的一些IP数据包也经受IPSec 过滤器,且反之亦然。在此情形中,可存在由IPSec过滤器集合S实施的不同等级的安全性 加密。这些不同等级的安全性中的每一者可由子集安全性过滤器sl、s2表示。在所说明的 实例中,经受QOS子集过滤器q2的IP数据包也可经受IPSec子集过滤器si。图8说明用于在如图2E所说明QOS流与IPSec流之间的交集小于或等于QOS流 且还小于或等于IPSec流时翻译QOS过滤器或IPSec过滤器的实施例方法的过程流程。在 此情形中,QOS过滤器可分裂为第一组子集QOS过滤器ql、q2,使得QOS过滤器集合Q等于 两个子集QOS过滤器ql、q2的和(步骤290)。IPSec过滤器可类似地分裂为第二组子集 IPSec过滤器si、s2,使得IPSec过滤器集合S等于两个子集IPSec过滤器sl、s2的和(步 骤295)。另外,QOS子集过滤器q2执行与子集IPSec过滤器si相同的包分类。随后设置 与IPSec过滤器集合S的安全性关联(SA)(步骤205)。接下来,使用作为IPSec过滤器集 合S的子集的等效于子集QOS过滤器q2或与子集QOS过滤器q2 —致的子集IPSec过滤器 si来设置第一子安全性关联(SA)(步骤300)。随后将子集IPSec过滤器si翻译为经翻译 的子集IPSec过滤器s' 1,使得经修改的IP数据包将正确地映射到第一子SA(步骤305)。 因为,子集IPSec过滤器si等效于子集QOS过滤器q2或与子集QOS过滤器q2 —致,所以 可使用子集过滤器s' 1而不是子集QOS过滤器q2来提供QOS分类。随后将QOS过滤器集 合Q翻译为经翻译的QOS过滤器集合Q',其中Q'等效于子集QOS过滤器ql和经翻译的子 集IPSec过滤器s' 1的和(S卩,Q' = ql+s' 1)(步骤310)。任选地,可使用子集IPSec 过滤器s2来设置第二子SA以建立第二子安全性关联(任选步骤315)。如上文所提到,网络路径内的确定IP数据包经受冲突处理(例如QOS和IPSec)的 节点可确定通信路径上将发生的包修改(例如,加密)的性质以及给定通信路径中第一包 过滤器集合(例如IPSec过滤器)与第二包过滤器集合(例如QOS过滤器)之间存在重叠 或交集的程度。包修改的性质可基于发射和接收数据的应用程序,包含应用程序是否已请求例如实施安全性措施(例如,IPSec)等对包的修改,或基于特定节点需要执行的包处理 来确定。重叠或交集的程度可基于节点需要执行的包处理和给定通信会话中所涉及的通信 链路的类型(例如,连接到因特网的无线通信链路)来确定。在给定第一和第二过滤器的 集合(例如过滤器S和Q)的情况,用于确定Q和S过滤器之间的重叠、交集或共用子集以 便应用上述情况中的一者的过程是依赖于实施方案的(即,取决于通信装置和网络拓扑)。 不管如何解决确定Q与S之间的共用子集的问题,上文所描述的方法均可用以适当地翻译 过滤器ο当翻译过滤器时存在若干其它要考虑的因素。上述方法仅描述用于移动IP和 IPSec的详细翻译方法。类似的概念可适用于其它协议或使用情况。IP隧穿的其它使用情 况包含IPv4-IPv6交互工作、经由非IP输送来运送IP包(常在后端无线网络中使用)等。 上文所描述的QOS和IPSec过滤器翻译方法可延伸到进行IPSec时的其它按流使用情况, 例如用于标头压缩的分类、记账、建立防火墙等。取决于网络拓扑/架构,可应用本发明的 经修改版本可适用于解决此些问题。在一些情况下,过滤器翻译无法独自提供相同的流分类,例如在其中IP数据包的 处理之后不存在足够参数可用于翻译过滤器且实现区分相同流集合的实施方案中。举例来 说,在经受IPSec处理的IP数据包的情况下,如果网络路径仅涉及一个隧道/安全性关联, 那么翻译过滤器独自将不能够支持多个流。为了解决此问题,可建立额外IP隧道,使得节 点可区分越过IPSec的不同流。在此些情况下,还可实施额外控制程序,例如在特定层/节 点中的IP包修改之后建立额外隧道/安全性关联以实现相同流分类。上文所描述的实施例可在多种移动装置中的任一者上实施。通常,此些移动装置 将共同具有图9中所说明的组件。举例来说,移动装置130可包含耦合到内部存储器132和 显示器133的处理器131。另外,移动装置130将具有连接到无线数据链路的用于发送和接 收电磁辐射的天线134和/或耦合到处理器131的蜂窝式电话收发器135。在一些实施方 案中,收发器135以及处理器131和存储器132的用于蜂窝式电话通信的部分被称为空中 接口,因为其经由无线数据链路提供数据接口。移动装置130还通常包含小键盘136或微 型键盘和菜单选择按钮或摇臂开关137,其充当用于接收用户输入以用于在显示器133内 定位光标的指向装置。处理器131可进一步连接到有线网络接口 138,例如通用串行总线 (USB)或FireWire 连接器插座,以用于将处理器131连接到外部指向装置(例如,鼠标) 或例如个人计算机160等计算装置或外部局域网。处理器131可为任何可编程微处理器、微计算机或多个处理器芯片,其可由软件 指令(应用程序)配置以执行多种功能,包含上文所描述的各种实施例的功能。在一些移 动装置130中,可提供多个处理器131,例如专用于无线通信功能的一个处理器和专用于运 行其它应用程序的一个处理器。处理器也可被包含作为通信芯片集的一部分。通常,软件应 用程序在其被存取且加载到处理器131中之前可存储在内部存储器132中。在一些移动装 置130中,处理器131可包含足以存储应用程序软件指令的内部存储器。出于此描述的目 的,术语存储器指代可由处理器131存取的所有存储器,包含内部存储器132和处理器131 本身内的存储器。应用程序数据文件通常存储在存储器132中。在许多移动装置130中, 存储器132可为易失性或非易失性存储器(例如快闪存储器),或两者的混合。上文所描述的实施例还可在多种计算装置中的任一者上实施,例如图10中所说明的个人计算机160。此个人计算机160通常包含耦合到易失性存储器162和例如磁盘驱 动器163等大容量非易失性存储器的处理器161。计算机13还可包含耦合到处理器161的 软盘驱动器164和压缩光盘(⑶)驱动器165。通常,计算机装置160还将包含例如鼠标167 等指向装置、例如键盘168等用户输入装置以及显示器166。计算机装置160还可包含耦合 到处理器161以用于建立数据连接或接纳外部存储器装置的若干连接器端口,例如USB或 FireWire 连接器插座,或用于将处理器161耦合到网络的其它网络连接电路166。在笔记 本型计算机配置中,计算机外壳包含指向装置167、键盘168和显示器169,如计算机技术中 众所周知。各种实施例可通过计算机处理器131、161执行经配置以实施所描述方法中的一 者或一者以上的软件指令来实施。此些软件指令可作为单独的应用程序或作为实施实施例 方法的经编译软件而存储在存储器132、162、163中。参考数据库可存储在内部存储器132、 162内、硬盘存储器164中、有形存储媒体上或可经由网络接入的服务器(未图示)上。指 令可驻存在各种类型的信号承载或数据存储一级、二级或三级媒体中。举例来说,媒体可包 括可由无线网络的组件存取或驻存在无线网络的组件内的随机存取存储器(RAM)。此外, 软件指令和数据库可存储在任何形式的有形处理器可读存储器中,包含随机存取存储器 162、硬盘存储器163、软盘(在软盘驱动器164中可读)、压缩光盘(在⑶驱动器165中 可读)、电可擦除/可编程只读存储器(EEPROM)、只读存储器(例如快闪存储器和快闪存储 卡)、磁带、光学存储装置(例如,⑶-ROM、DVD、数字光学带)、纸质“穿孔”卡和/或插入计 算机160中的存储器模块(未图示),例如插入USB网络端口 166中的外部存储器芯片或 USB可连接外部存储器(例如,“快闪驱动器”)。所属领域的技术人员将了解,结合本文所揭示的实施例而描述的各种说明性逻辑 块、模块、电路和算法步骤可实施为电子硬件、计算机软件或上述两者的组合。为了清楚地 说明硬件与软件的这种可互换性,上文已大体上根据各种说明性组件、块、模块、电路和步 骤的功能性描述了各种说明性组件、块、模块、电路和步骤。将此功能性实施为硬件还是软 件取决于特定应用和强加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以 不同的方式来实施所描述的功能性,但此类实施决策不应被解释为导致产生与本发明范围 的偏离。上文描述且在图中展示的方法的步骤的次序仅用于实例目的,因为在不脱离本发 明和权利要求书的精神和范围的情况下,一些步骤的次序可与本文所描述的次序不同。结合本文所揭示的实施例而描述的方法或算法的步骤可直接以硬件、以由处理器 执行的软件模块或以上述两者的组合来体现。软件模块可驻存在处理器可读存储器中, 所述处理器可读存储器可为以下各项中的任一者RAM存储器、快闪存储器、ROM存储器、 EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸盘、⑶-ROM或此项技术中已知的任何其 它形式的存储媒体。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息以 及将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器和存储 媒体可驻存在ASIC中。ASIC可驻存在用户终端或移动装置中。在替代方案中,处理器和存 储媒体可作为离散组件驻存在用户终端或移动装置中。另外,在一些方面中,方法或算法的 步骤和/或动作可作为代码和/或指令中的一者或任意组合或集合驻存在机器可读媒体和 /或计算机可读媒体上,机器可读媒体和/或计算机可读媒体可并入到计算机程序产品中。
提供各种实施例的先前描述以使所属领域的技术人员能够制作或使用本发明。对 这些实施例的各种修改对所属领域的技术人员来说将是显而易见的,且在不脱离本发明的 精神或范围的情况下,本文所定义的一般原理可适用于其它实施例。因此,本发明无意限于 本文所展示的实施例,而是应赋予权利要求书与本文所揭示的原理和新颖特征一致的最宽 范围。
权利要求
一种用于处理网络通信的方法,其包括确定对网络路径内的因特网协议(IP)数据包的处理将因IP数据包的修改而使包过滤器变得无效;翻译所述包过滤器,使得所述经翻译的包过滤器导致产生所述经修改的IP数据包的所要包分类;以及将所述经翻译的包过滤器部署到所述网络路径内的至少一个路由器。
2.根据权利要求1所述的方法,其进一步包括在所述网络路径的特定节点中修改IP数据包之后,建立额外隧道以实现所述所要包 分类。
3.根据权利要求1所述的方法,其中所述网络路径包含第一包过滤器集合和第二包过 滤器集合,所述方法进一步包括确定所述第一包过滤器集合与所述第二包过滤器集合在所述网络路径中的交集;翻译所述第一包过滤器集合,使得所述经翻译的第一包过滤器集合导致产生经修改的 IP数据包的所要包分类;以及基于所述第一与第二包过滤器集合的所述所确定的交集来翻译所述第二包过滤器集 合,使得所述经翻译的第二包过滤器集合导致产生经修改的IP数据包的所要包分类。
4.根据权利要求3所述的方法,其中翻译所述第一包过滤器集合包括翻译所述第一包 过滤器集合内的第一子集过滤器,使得所述经翻译的第一子集过滤器导致产生经修改的包 的所要包分类。
5.根据权利要求3所述的方法,其中翻译所述第二包过滤器集合包括基于所述第一与 第二包过滤器集合的所述所确定的交集和所述经翻译的第一包过滤器集合来翻译所述第 二包过滤器集合内的第二子集过滤器。
6.根据权利要求4所述的方法,其中所述第二包过滤器集合包括多个第二子集过滤器;以及翻译所述第二包过滤器集合包括用所述经翻译的第一子集过滤器代替所述第二包过 滤器集合内的所述多个第二子集过滤器中的一者。
7.根据权利要求3所述的方法,其进一步包括建立与所述第一过滤器集合的第一安 全性关联,其中翻译所述第一包过滤器集合将包正确地映射到所述所建立的第一安全性关 联。
8.根据权利要求3所述的方法,其中翻译所述第二包过滤器集合包括将所述第二包过 滤器集合设定为等于所述经翻译的第一包过滤器集合。
9.根据权利要求5所述的方法,其中翻译所述第二包过滤器集合内的第二子集过滤器 包括将所述第二子集过滤器设定为等于所述经翻译的第一包过滤器集合。
10.根据权利要求7所述的方法,其进一步包括将所述第一包过滤器集合分裂为多个子集过滤器;以及针对所述多个子集过滤器中的一者建立第一子安全性关联,使得所述第一子安全性关 联与所述第一安全性关联匹配,其中翻译所述第二包过滤器集合将包正确地映射到所述所建立的第一子安全性关联。
11.根据权利要求10所述的方法,其进一步包括针对所述第一包过滤器集合内的第三子集过滤器建立第二子安全性关联,使得所述第二子安全性关联与所述第一安全性关联匹 配。
12.根据权利要求11所述的方法,其进一步包括针对所述第一包过滤器集合内的第四 子集过滤器建立第三子安全性关联,使得所述第三子安全性关联与所述第一安全性关联匹 配。
13.一种计算机,其包括处理器;以及存储器,其耦合到所述处理器,其中所述处理器配置有用以执行包括以下步骤的步骤的软件指令确定对网络路径内的因特网协议(IP)数据包的处理将因IP数据包的修改而使包过滤 器变得无效;翻译所述包过滤器,使得所述经翻译的包过滤器导致产生所述经修改的IP数据包的 所要包分类;以及将所述经翻译的包过滤器部署到所述网络路径内的至少一个路由器。
14.根据权利要求11所述的计算机,其中所述处理器配置有用以执行包括以下步骤的 进一步步骤的软件指令
15.根据权利要求11所述的计算机,其中所述处理器配置有用以执行包括以下步骤的 进一步步骤的软件指令确定所述第一包过滤器集合与所述第二包过滤器集合在所述网络路径中的交集;翻译所述第一包过滤器集合,使得所述经翻译的第一包过滤器集合导致产生经修改的 IP数据包的所要包分类;以及基于所述第一与第二包过滤器集合的所述所确定的交集来翻译所述第二包过滤器集 合,使得所述经翻译的第二包过滤器集合导致产生经修改的IP数据包的所要包分类。
16.根据权利要求15所述的计算机,其中所述处理器配置有用以执行以使得翻译所述 第一包过滤器集合包括翻译所述第一包过滤器集合内的第一子集过滤器以使得所述经翻 译的第一子集过滤器导致产生经修改的包的所要包分类的软件指令。
17.根据权利要求15所述的计算机,其中所述处理器配置有用以执行步骤以使得翻译 所述第二包过滤器集合包括基于所述第一与第二包过滤器集合的所述所确定的交集和所 述经翻译的第一包过滤器集合来翻译所述第二包过滤器集合内的第二子集过滤器的软件 指令。
18.根据权利要求16所述的计算机,其中所述处理器配置有用以执行步骤以使得导致 产生以下结果的软件指令所述第二包过滤器集合包括多个第二子集过滤器;以及翻译所述第二包过滤器集合包括用所述经翻译的第一子集过滤器代替所述第二包过 滤器集合内的所述多个第二子集过滤器中的一者。
19.根据权利要求15所述的计算机,其中所述处理器配置有用以执行包括建立与所述 第一过滤器集合的第一安全性关联的进一步步骤的软件指令,其中翻译所述第一包过滤器 集合将包正确地映射到所述所建立的第一安全性关联。
20.根据权利要求15所述的计算机,其中所述处理器配置有用以执行步骤以使得翻译3所述第二包过滤器集合包括将所述第二包过滤器集合设定为等于所述经翻译的第一包过 滤器集合的软件指令。
21.根据权利要求17所述的计算机,其中所述处理器配置有用以执行步骤以使得翻译 所述第二包过滤器集合内的第二子集过滤器包括将所述第二子集过滤器设定为等于所述 经翻译的第一包过滤器集合的软件指令。
22.根据权利要求19所述的计算机,其中所述处理器配置有用以执行包括以下步骤的 进一步步骤的软件指令将所述第一包过滤器集合分裂为多个子集过滤器;以及针对所述多个子集过滤器中的一者建立第一子安全性关联,使得所述第一子安全性关 联与所述第一安全性关联匹配,其中翻译所述第二包过滤器集合将包正确地映射到所述所建立的第一子安全性关联。
23.根据权利要求22所述的计算机,其中所述处理器配置有用以执行包括针对所述第 一包过滤器集合内的第三子集过滤器建立第二子安全性关联以使得所述第二子安全性关 联与所述第一安全性关联匹配的进一步步骤的软件指令。
24.根据权利要求23所述的计算机,其中所述处理器配置有用以执行包括针对所述第 一包过滤器集合内的第四子集过滤器建立第三子安全性关联以使得所述第三子安全性关 联与所述第一安全性关联匹配的进一步步骤的软件指令。
25.一种计算机,其包括用于确定对网络路径内的因特网协议(IP)数据包的处理将因IP数据包的修改而使包 过滤器变得无效的装置;用于翻译所述包过滤器以使得所述经翻译的包过滤器导致产生所述经修改的IP数据 包的所要包分类的装置;以及用于将所述经翻译的包过滤器部署到所述网络路径内的至少一个路由器的装置。
26.根据权利要求25所述的计算机,其进一步包括用于在所述网络路径的特定节点中修改IP数据包之后建立额外隧道以实现所述所要 包分类的装置。
27.根据权利要求25所述的计算机,其中所述网络路径包含第一包过滤器集合和第二 包过滤器集合,所述方法进一步包括用于确定所述第一包过滤器集合与所述第二包过滤器集合在所述网络路径中的交集 的装置;用于翻译所述第一包过滤器集合以使得所述经翻译的第一包过滤器集合导致产生经 修改的IP数据包的所要包分类的装置;以及用于基于所述第一与第二包过滤器集合的所述所确定的交集来翻译所述第二包过滤 器集合以使得所述经翻译的第二包过滤器集合导致产生经修改的IP数据包的所要包分类 的装置。
28.根据权利要求27所述的计算机,其中用于翻译所述第一包过滤器集合的装置包括 用于翻译所述第一包过滤器集合内的第一子集过滤器以使得所述经翻译的第一子集过滤 器导致产生经修改的包的所要包分类的装置。
29.根据权利要求27所述的计算机,其中用于翻译所述第二包过滤器集合的装置包括用于基于所述第一与第二包过滤器集合的所述所确定的交集和所述经翻译的第一包过滤 器集合来翻译所述第二包过滤器集合内的第二子集过滤器的装置。
30.根据权利要求28所述的计算机,其中所述第二包过滤器集合包括多个第二子集过滤器;且用于翻译所述第二包过滤器集合的装置包括用于用所述经翻译的第一子集过滤器代 替所述第二包过滤器集合内的所述多个第二子集过滤器中的一者的装置。
31.根据权利要求27所述的计算机,其进一步包括用于建立与所述第一过滤器集合的 第一安全性关联的装置,其中用于翻译所述第一包过滤器集合的装置将包正确地映射到所 述所建立的第一安全性关联。
32.根据权利要求27所述的计算机,其中用于翻译所述第二包过滤器集合的装置包括 用于将所述第二包过滤器集合设定为等于所述经翻译的第一包过滤器集合的装置。
33.根据权利要求29所述的计算机,其中用于翻译所述第二包过滤器集合内的第二子 集过滤器的装置包括用于将所述第二子集过滤器设定为等于所述经翻译的第一包过滤器 集合的装置。
34.根据权利要求31所述的计算机,其进一步包括用于将所述第一包过滤器集合分裂为多个子集过滤器的装置;以及用于针对所述多个子集过滤器中的一者建立第一子安全性关联以使得所述第一子安 全性关联与所述第一安全性关联匹配的装置,其中用于翻译所述第二包过滤器集合的装置将包正确地映射到所述所建立的第一子 安全性关联。
35.根据权利要求34所述的计算机,其进一步包括用于针对所述第一包过滤器集合内 的第三子集过滤器建立第二子安全性关联以使得所述第二子安全性关联与所述第一安全 性关联匹配的装置。
36.根据权利要求35所述的计算机,其进一步包括用于针对所述第一包过滤器集合内 的第四子集过滤器建立第三子安全性关联以使得所述第三子安全性关联与所述第一安全 性关联匹配的装置。
37.一种有形存储媒体,其上存储有处理器可执行软件指令,所述处理器可执行软件指 令经配置以致使计算机的处理器执行包括以下步骤的步骤确定对网络路径内的因特网协议(IP)数据包的处理将因IP数据包的修改而使包过滤 器变得无效;翻译所述包过滤器,使得所述经翻译的包过滤器导致产生所述经修改的IP数据包的 所要包分类;以及将所述经翻译的包过滤器部署到所述网络路径内的至少一个路由器。
38.根据权利要求37所述的有形存储媒体,其中所述有形存储媒体上存储有处理器可 执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行包括以下步 骤的进一步步骤在所述网络路径的特定节点中修改IP数据包之后,建立额外隧道以实现所述所要包 分类。
39.根据权利要求31所述的有形存储媒体,其中所述有形存储媒体上存储有处理器可执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行包括以下步 骤的进一步步骤确定第一包过滤器集合与第二包过滤器集合在网络路径中的交集;翻译所述第一包过滤器集合,使得所述经翻译的第一包过滤器集合导致产生经修改的 IP数据包的所要包分类;以及基于所述第一与第二包过滤器集合的所述所确定的交集来翻译所述第二包过滤器集 合,使得所述经翻译的第二包过滤器集合导致产生经修改的IP数据包的所要包分类。
40.根据权利要求39所述的有形存储媒体,其中所述有形存储媒体上存储有处理器 可执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行进一步步 骤,使得翻译所述第一包过滤器集合包括翻译所述第一包过滤器集合内的第一子集过滤器 以使得所述经翻译的第一子集过滤器导致产生经修改的包的所要包分类。
41.根据权利要求39所述的有形存储媒体,其中所述有形存储媒体上存储有处理器 可执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行进一步步 骤,使得翻译所述第二包过滤器集合包括基于所述第一与第二包过滤器集合的所述所确定 的交集和所述经翻译的第一包过滤器集合来翻译所述第二包过滤器集合内的第二子集过
42.根据权利要求40所述的有形存储媒体,其中所述有形存储媒体上存储有处理器可 执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行进一步步骤 以使得所述第二包过滤器集合包括多个第二子集过滤器;且翻译所述第二包过滤器集合包括用所述经翻译的第一子集过滤器代替所述第二包过 滤器集合内的所述多个第二子集过滤器中的一者。
43.根据权利要求39所述的有形存储媒体,其中所述有形存储媒体上存储有处理器可 执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行包括建立与 所述第一过滤器集合的第一安全性关联的进一步步骤,其中翻译所述第一包过滤器集合将 包正确地映射到所述所建立的第一安全性关联。
44.根据权利要求39所述的有形存储媒体,其中所述有形存储媒体上存储有处理器可 执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行进一步步骤 以使得翻译所述第二包过滤器集合包括将所述第二包过滤器集合设定为等于所述经翻译 的第一包过滤器集合。
45.根据权利要求41所述的有形存储媒体,其中所述有形存储媒体上存储有处理器可 执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行进一步步骤 以使得翻译所述第二包过滤器集合内的第二子集过滤器包括将所述第二子集过滤器设定 为等于所述经翻译的第一包过滤器集合。
46.根据权利要求43所述的有形存储媒体,其中所述有形存储媒体上存储有处理器可 执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行包括以下步 骤的进一步步骤将所述第一包过滤器集合分裂为多个子集过滤器;以及针对所述多个子集过滤器中的一者建立第一子安全性关联,使得所述第一子安全性关联与所述第一安全性关联匹配,其中翻译所述第二包过滤器集合将包正确地映射到所述所建立的第一子安全性关联。
47.根据权利要求46所述的有形存储媒体,其中所述有形存储媒体上存储有处理器可 执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行包括针对所 述第一包过滤器集合内的第三子集过滤器建立第二子安全性关联以使得所述第二子安全 性关联与所述第一安全性关联匹配的进一步步骤。
48.根据权利要求47所述的有形存储媒体,其中所述有形存储媒体上存储有处理器可 执行软件指令,所述处理器可执行软件指令经配置以致使计算机的处理器执行包括针对所 述第一包过滤器集合内的第四子集过滤器建立第三子安全性关联以使得所述第三子安全 性关联与所述第一安全性关联匹配的进一步步骤。
全文摘要
本发明提供用于解决各种通信网络子系统所需的特殊处理(例如,QOS、安全性、隧穿等)的问题的方法和系统。在一些情况下,一个通信子系统的处理可导致产生经修改的IP数据包,这可能影响此些包的额外处理的应用。所述方法和系统通过基于使用情况翻译过滤器且设置额外隧道或其它程序使得所有端节点和中间节点可对经修改的包进行所需的处理来解决问题。所述方法和系统可考虑两个或两个以上不同类型的包过滤器的重叠或交集。翻译第一包过滤器集合以提供经修改的包的所要包分类。可基于应用于所述第一包过滤器集合的所述翻译来翻译第二包过滤器集合。
文档编号H04L12/56GK101911611SQ200880124239
公开日2010年12月8日 申请日期2008年11月26日 优先权日2007年11月29日
发明者乌平德尔·辛格·巴巴尔, 文卡塔·萨迪什·库马尔·凡加拉 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1