用于消除网络中的冗余动作的方法和系统的制作方法

文档序号:6618673阅读:321来源:国知局
专利名称:用于消除网络中的冗余动作的方法和系统的制作方法
技术领域
本发明的实施例一般地涉及连网(networking)。更具体地,本发明 的实施例涉及用于网络中冗余动作消除的方法和系统。
背景技术
在典型的网络中,数据在网络设备之间被转移。网络设备的示例包括 个人计算机、服务器、移动电话等。网络的示例包括局域网(LAN)、广 域网(WAN)、城域网(MAN)和因特网。由于通过这种网络来转移的 数据可能被未经授权的用户访问,因此最好以加密形式转移数据。虚拟专 用网(VPN)可用于数据的安全转移,所述数据还可在VPN中以加密形 式来转移。VPN是使用因特网之类的公共网络来连接远程站点或用户的网 络。这些站点在本文中被称为VPN站点。在典型的VPN中,只允许指定 的用户访问VPN中转移的数据。该访问可以在用户标识码和口令的基础 上被提供。诸如认证和加密之类的安全机制用于在两个VPN站点之间创 建安全隧道。这种安全隧道辅助数据在VPN内的安全转移。
此外,VPN站点包括诸如防火墙之类的安全设备以控制访问。防火墙 基于在VPN站点内定义的某些策略来对进入和流出的数据分组强制执行 安全动作。这些策略包括如下规则,在所述规则的基础上对进入和流出的 数据分组执行某些动作。
这些策略在VPN内的所有VPN站点中可能是一致的。这可能导致多 于一个VPN站点执行相同的动作。例如,当流出的数据分组被进行发送 的VPN站点的防火墙检查时,可以首先对这些数据分组执行该动作。此 外,相同的数据分组进入接收VPN站点,在所述站点处其防火墙可以强 制执行同一动作。
对数据分组不止一次地强制执行相同的动作使得该动作变得冗余。重复的冗余动作的强制执行导致时间及其他资源的浪费,并给予执行这些冗 余动作的系统不必要的负担。


图l示出用于实现本发明的实施例的典型网络环境。
图2示出根据本发明实施例的用于消除网络中的冗余动作的系统的各 个要素。
图3是示出根据本发明实施例的用于消除网络中的冗余动作的方法的 流程图。
图4是示出根据本发明实施例的用于注册多组标签的方法的流程图。 图5是示出根据本发明实施例的用于将数据分组从发送端发送到接收
端的方法的流程图。
图6是示出根据本发明实施例的用于在接收端处对数据分组执行动作
的方法的流程图。
图7是示出根据本发明实施例的对不安全数据分组执行动作的方法的 流程图。
图8示出根据本发明实施例的用于消除虚拟专用网(VPN)中的冗余 动作的系统的各个要素。
具体实施例方式
本发明的各种实施例提供用于消除网络中的冗余动作的方法、系统和 计算机可读介质。在本文用于本发明的实施例的描述中,提供了诸如组件 和/或方法的示例之类的很多具体细节,以提供对本发明实施例的全面理 解。但是相关领域的技术人员将意识到,本发明的实施例可以不用这些具 体细节的一个或多个或者通过其他装置、系统、部件、方法、组件、素 材、部分等来实现。在其他示例中,未具体示出或描述公知的结构、素材 或操作,以避免模糊本发明的实施例的多个方面。
发送端在将数据分组发送到接收端之前对该数据分组执行某些动作。 当该数据分组在接收端被接收时,在接收端也可能对其执行某些动作。这些动作通常被执行以确保该数据分组是安全的。在此过程中,特定动作可 能在发送端被执行并在接收端再次被执行。但是, 一旦动作在发送端被执 行,在接收端再次执行该动作就多余了。这种冗余动作的消除有助于节约 执行这些冗余动作的系统上的时间和其他资源。
本发明的实施例提供能够通过给数据分组加标签来实现这些冗余动作 的消除的方法,所述标签指示在发送端对数据分组执行的第一组动作。应 注意,第一组动作可以不包含动作。被加标签帮助确定在接收端必须对数 据分组执行的第二组动作。根据本发明的实施例,第二组动作包括发送端 处尚未对数据分组执行的非冗余动作。根据本发明的实施例,第二组动作 可以包括发送端处已对数据分组执行的冗余动作。此外,应注意,第二组 动作可以不包含动作。
根据本发明的实施例,发送端基于向接收端注册的一组标签来给数据 分组加标签。这组标签是基于在发送端和接收端之间交换的信息来注册 的。被交换的信息包括关于某些规则的细节,动作在所述规则的基础上在 各端被执行。
发送端和接收端之间的信息交换还使得能够以分布式方式来强制执行 各种规则。例如,发送端可强制执行规则中与之相关的子部分,而接收端 可强制执行规则的剩余子部分。这在下文中被称为规则的分布式强制执 行。
现在参考附图,特别是通过其参考标号,图1示出用于实现本发明的
实施例的网络环境100。网络环境100包括网络102和连接到网络102的 网络设备104。网络102可以是彼此互连并充当单个大网络的各体网络的 集合。网络102的示例包括但不限于局域网(LAN)、广域网(WAN)和 城域网(MAN)。此外,网络102可以是无线或有线网络。网络102向网 络设备104提供通信介质,以便数据从一个网络设备被发送到另一个网络 设备。网络设备104例如可以是个人计算机、服务器、移动电话等。
应理解,对网络设备104的具体指定是为了读者的方便而不应被解释 为将网络环境100限制在网络环境100中存在的网络设备104的具体数目 上或网络设备104的具体类型上。根据本发明的实施例,网络设备104中的一个网络设备可以发送数 据,而网络设备104中的另一网络设备可以接收数据。
图2示出根据本发明实施例的用于消除网络102中的冗余动作的系统 200的各个要素。系统200包括发送端202和接收端204。发送端202向接 收端204发送数据分组。应注意,数据分组可以是任何数据单位,如字 节、字、分组、分组群、消息、文件等。
发送端202包括发送网络设备206、发送客户边缘(CE) 20S和发送 提供商边缘(PE) 210。发送网络设备206是网络设备104中能够发送数 据的网络设备。
类似地,接收端204包括接收网络设备212、接收CE 214和接收PE 216。接收网络设备212是网络设备104中能够接收数据的网络设备。
此外,网络102包括通过网络链路218连接的用于数据传送的发送PE 210和接收PE 216。网络链路218可以是无线或有线通信链路。
此外,根据本发明的实施例,系统200包括与网络设备104中的每个 网络设备相关的CE和PE。应注意,CE不限于只和网络设备104中的单 个网络设备相关。多个这种网络设备可以与单个CE相关。此外,还应注 意,多个这种CE可以与单个PE相关。
此外,应注意,发送端202和接收端204可以是网络102的任何可识 别部分或区域,如网络设备104中的一个或多个网络设备、处理、网络链 路或资源、被控制或拥有的域等。此外,发送端202和接收端204可以包 括CE、与该CE相关的PE以及与该CE相关的网络设备104中的一个或 多个网络设备。
当发送网络设备206发送数据分组时,数据分组在到达接收网络设备 212之前被执行各种动作。这些动作中有些在发送CE 208处执行,而有些 在接收CE214处执行。根据本发明的实施例,发送CE 208和接收CE214 是分别位于发送网络设备206和接收网络设备212的客户网络边缘的基于 安全的设备。发送CE 208和接收CE 214例如可以是入侵检测系统 (IDS)、防火墙等。
发送网络设备206向发送CE 208发送数据分组。发送CE 208对数据分组执行第一组动作,并给数据分组加上CE标签,该CE标签指示已执 行的第一组动作。应注意,给数据分组加标签包括将信息与数据分组相关
联的任何方式。给数据分组加上CE标签后,发送CE 208将加了标签的数 据分组发送到发送PE 210。发送PE 210给数据分组加上两个PE标签,以 标识加了标签的数据分组必须被进一步发送到的接收PE 216和接收CE 214。发送PE 210随后将加了标签的数据分组通过网络链路218发送到接 收PE 216。发送PE 210及接收PE 216充当发送CE 208和接收CE 214之 间用于数据传送的接口。在本发明的实施例中,发送PE210和接收PE 216包含在网络102中。
接收PE 216分析PE标签以识别必须数据分组必须被发送到的接收 CE 214。接下来,接收PE 216将加了标签的数据分组发送到接收CE 214。接收CE214弹出被加的CE标签。基于该CE标签,接收CE214识 别第一组动作。根据被识别的第一组动作,接收CE 214确定必须对数据 分组执行的第二组动作。根据本发明的各种实施例,这一确定是规则的分 布式强制执行的一部分。在确定了第二组动作之后,接收CE214对数据 分组执行第二组动作并将其发送到接收网络设备212。
为了识别第一组动作,接收CE214必须能够识别被加的CE标签。为 此,发送CE 208和接收CE 214交换可用于加到数据分组上的各种CE标 签。但是,在发送CE 208和接收CE 214可以交换CE标签之前,它们必 须相互认证。为了这一认证目的,系统200包括认证模块。认证模块提供 发送CE 208和接收CE 214之间的认证。此外,认证模块还提供发送CE 208和发送PE 210之间以及接收CE 214和接收PE 216之间的认证。认证 模块可以使用诸如基于认证的消息摘要算法5 (MD5)之类的认证机制。 但是,应注意,也可使用其他认证机制。
一旦发送CE 208和接收CE 214相互认证,它们就可以交换用于加到 数据分组上的CE标签。CE标签是基于在发送CE 208和接收CE 214处配 置的各种规则的,以对数据分组执行各种动作。在这一交换之后,这些 CE标签在发送CE 208处被注册为发送端标签集,在接收CE 214处被注 册为接收端标签集。根据本发明的各种实施例,发送端标签集和接收端标签集是相同的。此外,发送CE 208在发送PE 210处注册发送端标签集。 类似地,接收CE 214在接收PE 216处注册接收端标签集。
所注册的发送端标签集被发送CE 208用来给数据分组加上指示对数 据分组执行的第一组动作的CE标签。类似地,所注册的接收端标签集被 接收CE 214用来确定在发送CE 208处对数据分组执行的第一组动作,并 因此确定在将数据分组发送给接收网络设备212之前将对数据分组执行的 第二组动作。由于第二组动作包括非冗余动作,因此冗余动作被消除。关 于冗余动作的消除过程的细节参考图3来描述。
图3是示出根据本发明实施例的用于消除网络102中的冗余动作的方 法的流程图。在步骤302中,接收端标签集在接收端204处被注册。该接 收端标签集是在接收CE 214和发送CE 208之间的标签交换之后被注册 的。于此有关的细节被参考图4来描述。
一旦被注册,接收端204就使用接收端标签集来确定在发送端202处 对数据分组执行的第一组动作。 一旦第一组动作被执行并且数据分组被加 标签,发送端202就发送该数据分组。关于此的细节被参考图5来描述。 在步骤304中,接收端204接收来自发送端202的数据分组。数据分组被 加上指示在发送CE 208处对数据分组执行的第一组动作的CE标签。在步 骤306中,接收CE214识别CE标签。该CE标签存在于所注册的接收端 标签集中,因此可以被接收CE214识别。接着,在步骤308中,接收CE 214对数据分组执行第二组动作。第二组动作包括第一组动作中不存在的 非冗余动作。因此,冗余动作被消除并且不在接收CE214处执行。
图4是示出根据本发明实施例的用于注册发送端标签集和接收端标签 集的方法的流程图。在步骤402中,发送CE 208和接收CE214交换有关 发送端标签集和接收端标签集的细节。为此,发送CE 208从接收CE 214 请求对应于与某些动作相关的一个或更多个规则的标签。通过这种方式, 做出对与所有规则相对应的标签的请求。根据本发明的实施例,发送CE 208为这些规则和动作的描述提供请求。
在步骤404,发送CE 208和接收CE 214交换发送端标签集和接收端 标签集。这是在接收CE 214响应于所有请求而向发送CE 208发送被请求标签时完成的。将数据分组从发送端202发送到接收端204需要这些标签。
类似地,接收CE 214从发送CE 208请求对应于与某些动作相关的规 则的标签。响应于这些请求,发送CE 208向接收CE 214发送被请求标 签。
接下来,在步骤406中,发送CE 208和接收CE214分别将交换的标 签集注册为发送端标签集和接收端标签集。在步骤408中,发送CE208 和接收CE 214分别在发送PE 210和接收PE 216注册这些所注册的标签 集。
根据本发明的实施例,在步骤408如上所述被执行之前,发送CE208 和发送PE 210相互认证。类似地,在步骤408被执行之前,接收CE 214 和接收PE 216相互认证。根据本发明的实施例,在步骤402-408如上所述 被执行之前,发送CE208和接收CE214相互认证。
注册之后,发送CE 208可以使用所注册的发送端标签集来给将被发 送到接收端204的数据分组加标签。基于所注册的接收端标签集,接收 CE 214可以识别由发送CE 208给数据分组加上的任何标签。
图5是示出根据本发明实施例的用于将数据分组从发送端202发送到 接收端204的方法的流程图。从发送网络设备206发出的数据分组被进一 步发送到发送CE 208。在步骤502中,发送CE 208对数据分组执行第一 组动作。接着,在步骤504中,发送CE 208给数据分组加上指示第一组 动作的CE标签。然后,在步骤506中,发送CE 208将加了 CE标签的数 据分组发送到发送PE210。在步骤508中,加了标签的数据分组从发送 PE 210被发送到接收PE 216。
此外,接收PE 216将加了标签的数据分组发送给接收CE 214,在接 收CE214处,对数据分组执行第二组动作。
图6是示出根据本发明实施例的用于对数据分组执行第二组动作的方 法的流程图。收到数据分组后,在步骤602中,接收CE 214将加在数据 分组上的CE标签与所注册的接收端标签集作比较。接着,在步骤604 中,确定在发送CE 208处对数据分组执行的第一组动作。在步骤606中,确定在接收端204处必须对数据分组执行的第二组动作。 一旦确定,
就在接收CE 214处对数据分组执行第二组动作。
为了确定第一组动作,接收CE214需要识别CE标签。但是,数据分 组可能未被加上CE标签,或者加上的CE标签不能被接收CE 214识别。 这种情况下,根据本发明的实施例,可以对数据分组执行第三组动作。
图7是示出根据本发明实施例的用于对数据分组执行第三组动作的方 法的流程图。在步骤702中,检查数据分组是否已被加上所注册的接收端 标签集中存在的CE标签。若该CE标签存在于接收端标签集中,则执行 参考图6所描述的方法。若在步骤702中发现数据分组未被加上这种标 签,则执行步骤704。在步骤704中,数据分组被识别为不安全的。接 着,在步骤706中,对不安全的数据分组执行第三组动作。对数据分组执 行第三组动作以确保数据分组是安全的。根据本发明的实施例,第三组动 作包括所有安全动作。因此,不安全的数据分组经历所有规则的完整强制 执行。
根据本发明的实施例,步骤702至706在接收CE214处执行。根据本 发明的实施例,步骤702和704在接收PE 216处执行,而步骤706在接收 CE 214处执行。因此,接收PE 216能够确定数据分组是安全的还是不安 全的。结果,接收端204可以在所注册的接收端标签集的基础上从不安全 的数据分组勾画出安全的数据分组。
最后,接收CE 214将数据分组发送到接收网络设备212。
根据本发明的实施例,发送CE 208可以将所注册的发送端标签集存 储在表格中。该发送CE表具有关于所注册的发送端标签集中的每个标签 的信息。关于标签的信息包括与标签相对应的规则和与其交换了标签的接 收CE的地址。在本发明的示例性实施例中,发送CE表可以如下所示
标签 I 规则 I 接收CE
1256 I 规则A和BI 接收CE214的地址
1257 i 规则C和D I 接收CE214的地址 <未加标签> I 规则E i 接收CE214的地址这里, <未加标签>代表未在发送CE 208和接收CE 214之间交换的标签。 类似地,接收CE 214可以将所注册的接收端标签集存储在表格中。 该接收CE表包括关于所注册的接收端标签集中的每个标签的信息。关于 标签的信息包括与标签相对应的规则和与其交换了标签的发送CE的地 址。在本发明的示例性实施例中,接收CE表可以如下所示 标签 I 规则 I 发送CE
1256 i 规则A和B1 发送CE208的地址
1257 I 规则C和D I 发送CE208的地址 <未加标签〉I 规则E I 发送CE208的地址
例如,考虑发送CE 208对数据分组执行对应于规则A和B的动作, 并给数据分组加上标签1256。当这一加了标签的数据分组到达接收CE 214时,接收CE214参考接收CE表,并确定发送CE 208已对数据分组执 行了对应于规则A和B的动作。因此,接收CE 214可以消除这些冗余动 作。此外,当接收CE 214收到来自发送CE 208的未加标签的数据分组 时,其执行对应于规则A、 B、 C和D的动作。并且,当接收CE214收到 来自因特网的数据分组时,其执行与关于这种数据分组的规则相对应的动 作。通过这种方式,接收CE214确保数据分组是安全可靠的。
此外,根据本发明的实施例,发送PE210可以将所注册的发送端标签 集存储在表格中。该发送PE表包括关于所注册的发送端标签集中的每个 标签的信息。该信息包括接收CE和通过其可以访问接收CE的接收PE的 地址。在本发明的示例性实施例中,发送PE表可以如下所示
标签 1 接收CE I 接收PE
1256 i 接收CE214的地址 I 接收PE216的地址
此外,接收PE216可以将所注册的接收端标签集存储在表格中。该接 收PE表包括关于所注册的接收端标签集中的每个标签的信息。关于标签 的信息包括发送PE和必须向其发送加上该标签的数据分组的接收CE的地 址。在本发明的示例性实施例中,接收PE表可以如下所示标签 I 发送PE I 接收CE
1256 I 发送PE210的地址 I 接收CE214的地址
根据本发明的实施例,发送CE表、发送PE表、接收PE表和接收 CE表是针对从发送端202到接收端204的数据分组的发送来维护的。由 于网络设备104中的网络设备既可充当发送网络设备206也可充当接收网 络设备212,因此需要针对接收或发送的数据分组来维护分开的表格。但 是,应注意,也可以使用相同的表格。在这种情况下,或者表格中存储的 标签对于接收或发送的数据分组可以是相同的,或者该信息可以包括数据 分组的传送方向。
根据本发明的实施例,这些发送PE和接收PE表中存储的信息可以被 包含在与发送PE 210和接收PE 216相关的PE路由器处存储的VPN路由 和转发(VRF)信息中。
图8示出根据本发明实施例的用于消除VPN中的冗余动作的系统800 的各个要素。系统800包括通过网络102连接的发送端802和接收端 804。网络102是提供BGP多协议标签交换(MPLS) VPN服务的因特网 服务提供商(ISP)网络。
发送端802包括发送VPN站点806、发送CE 808和发送PE 810。接 收端804包括接收VPN站点812 、接收CE 814和接收PE 816。此外,网 络102包括发送PE 810、接收PE 816和提供商核心818。
根据本发明的实施例,发送CE 808和接收CE 814分别是与发送VPN 站点806和接收VPN站点812相关的深度检测防火墙。
在发送PE 810和接收PE 816之间的VRF标签的初始交换之后,发送 VPN站点806和接收VPN站点812之间的连通性被建立。此外,发送CE 808和接收CE 814交换发送端标签集和接收端标签集,如前所述。根据本 发明的实施例,该交换使用VRF标签。根据本发明的实施例,目标标签分 配协议(LDP)用来辅助发送端标签集和接收端标签集的交换。
此外,被交换的发送端标签集和被交换的接收端标签集分别在发送 CE 808和接收CE 814处被注册。此外,发送CE 808向发送PE 810注册所注册的发送端标签集。类似地,接收CE814向接收PE816注册所注册 的接收端标签集。此外,根据本发明的实施例,发送PE 810和接收PE 816交换这些发送端标签集和接收端标签集。
根据本发明的实施例,所注册的发送端标签集包括关于接收CE814 的信息。类似地,所注册的接收端标签集包括关于发送CE808的信息。
例如,考虑发送端802向接收端804发送数据分组。该数据分组从发 送VPN站点806发出,发送VPN站点806进一步将数据分组发送到发送 CE 808。发送CE 808对数据分组执行第一组动作并给数据分组加上指示 对数据分组执行的第一组动作的标签。该被加标签包含在所注册的发送端 标签集中。
接着,发送CE 808将加了标签的数据分组发送到发送PE 810,发送 PE 810给数据分组加上VPN标签和内部网关协议(IGP)标签。因此,数 据分组上加有三级标签。
此外,加了三级标签的数据分组穿过提供商核心818。 IGP标签被倒 数第二跳弹出(PHP)弹出,且加了两级标签的数据分组到达接收PE 816。根据本发明的实施例,用于将数据分组发送到接收PE 816的信息是 从与发送PE 810和接收PE 816相关的PE路由器所交换的VRF信息中提 取的。
接着,接收PE 816弹出VPN标签,并将数据分组发送到接收CE 814。此外,接收CE814弹出被发送CE 808加上的CE标签,并确定在发 送CE 808处对数据分组执行的第一组动作。接着,接收CE814基于所确 定的第一组动作来确定必须对数据分组执行的第二组动作。根据本发明的 实施例,第二组动作包括发送端802处未对数据分组执行的非冗余动作。 此外,接收CE814对数据分组执行第二组动作,从而消除冗余动作。
此外,接收CE 814将未加标签的数据分组发送到接收VPN站点 812。根据本发明的实施例,接收CE 814仅在执行了第二组动作后发现数 据分组是安全的时候将未加标签的数据分组发送到接收VPN站点812。
此外,根据本发明的实施例,标签是随机分配的。标签的随机分配确 保了向网络102中的各种VPN站点注册的标签不会被未经授权的源滥用来生成不可信的标签。另外,根据本发明的实施例,这些标签到规则的映
射被周期性地重复(rehash)。
本发明的实施例通过给数据分组加上CE标签来消除冗余动作,所述 CE标签指示在发送端处己对数据分组执行了第一组动作。该CE标签用于 确定在接收端处必须对数据分组执行的包括非冗余动作的第二组动作。根 据本发明的实施例,基于向接收端注册的一组标签来在发送端给数据分组 加上CE标签。这组标签是基于在发送端和接收端之间交换的信息来注册 的。所交换的消息提供关于某些规则的细节,在这些规则的基础上,在各 端执行动作。
根据本发明的实施例,用于消除冗余动作的系统包括用于注册接收端 标签集的装置,用于接收数据分组的装置和用于对数据分组执行第二组动 作的装置。用于注册接收端标签集的装置包括用于交换关于接收端标签集 的细节的装置。用于执行第二组动作的装置包括用于将被加的标签与所注 册的接收端标签集作比较的装置,用于确定对数据分组执行的第一组动作 的装置,以及用于确定必须对数据分组执行的第二组动作的装置。
根据本发明的实施例,提供了用于消除网络中的冗余动作的方法。该 方法包括在接收端处注册接收端标签集,其中来自接收端标签集的每个 标签对应于零个或更多个动作;接收来自发送端的数据分组,其中所述数 据分组被加上指示在发送端处对数据分组执行的第一组动作的标签,该标 签是在发送端被加上的,被加标签可以被发送端基于所注册的接收端标签 集来识别;以及基于被加标签来对数据分组执行第二组动作,其中所述第 二组动作在接收端被执行,所述第二组动作包括发送端处尚未对数据分组 执行的非冗余动作。
本发明的实施例提供用于消除网络中的冗余动作的系统。该系统包 括发送数据分组的发送端,其中所述数据分组被加上指示在发送端处己 对数据分组执行的第一组动作的标签;以及接收数据分组的接收端。发送 端包括发送CE,所述发送CE对数据分组执行第一组动作,所述发送 CE给数据分组加上标签;以及发送PE,所述发送PE接收来自发送CE的 数据分组,并发送数据分组。接收端包括接收PE,所述接收PE接收来自发送PE的数据分组;以及接收CE,所述接收CE接收来自接收PE的
数据分组,所述接收CE基于被加标签来对数据分组执行第二组动作,所
述第二组动作包括发送端处尚未对数据分组执行的非冗余动作。
本发明的实施例提供机器可读介质,其包含可被处理器运行的用于消 除网络中的冗余动作的指令。这些指令的一个或多个在接收端处注册接收 端标签集。来自接收端标签集的每个标签对应于零个或更多个动作。其他 指令接收来自发送端的数据分组。该数据分组被加上指示在发送端处已对 数据分组执行的第一组动作的标签。该标签在发送端处被加到数据分组上 并可被接收端基于所注册的接收端标签集来识别。另一些指令基于被加标 签来对数据分组执行第二组动作。第二组动作在接收端处执行。第二组动 作包括发送端处尚未对数据分组执行的非冗余动作。
本发明的实施例提供用于消除网络中的冗余动作的装置。该装置包
括用于运行指令的处理器;以及包含可被处理器运行的用于消除网络中 的冗余动作的指令的机器可读介质。所述指令使装置能够在接收端注册 接收端标签集,其中来自接收端标签集的每个标签对应于零个或更多个动
作;接收来自发送端的数据分组,其中所述数据分组被加上指示发送端处
对数据分组执行的第一组动作的标签,所述标签是在发送端处被加上的,
被加标签可基于所注册的接收端标签集而由接收端识别;并且基于被加标 签对数据分组执行第二组动作,其中所述第二组动作被在接收端处执行, 所述第二组动作包含发送端处尚未对数据分组执行的非冗余动作。
在典型BGP MPLS VPN中,数据分组被加上VPN和IGP标签,本发 明的实施例添加有助于确定在发送端处对数据分组执行的动作的CE标 签。该CE标签的添加有助于消除接收端处的冗余动作。
本发明的实施例从不安全数据分组勾画出安全数据分组。因此,当接 收端接收有效的加了标签的数据分组时,接收端需要对其执行最小的动作 集。并且,接收端可以将来自因特网的数据分组识别为不安全的,并对其 执行严格的动作。
此外,可以通过发送端和接收端之间的分布式方式来强制执行各种规 则。例如,发送CE208和808可强制执行分别与发送网络设备206和发送VPN站点806相关的某些规则。接收CE 214和814可强制执行分别与接 收网络设备212和接收VPN站点812相关的某些其他规则。因此,可以实 现各种规则的强制执行在与网络设备104相关的多个CE上的分配。
此外,可以通过网络设备104来全局地强制执行规则。为此,映射到 这些规则的标签通过网络设备104被全局地注册。
此外,CE标签的添加使得未经授权的源难以生成可能绕开接收CE处 的严格动作的不可信标签。因此,与典型VPN情形相比,系统提供了加 强的安全性。
虽然已参考本发明的具体实施例讨论了本发明,但是本发明的这些实 施例仅是示例性的,而非限制性的。例如,"用于消除网络中的冗余动作 的方法"可以包括任何类型的分析(手动或自动)来预计消除冗余动作的 需要。
另外在本文对于本发明的实施例的描述中,说明书中描述的部分公开 内容包含受版权保护的素材。可由机器运行的计算机程序源代码、目标代 码、指令、文本或其他功能信息可以以附录、表格、图或其他形式而被包 括。版权所有者不反对在专利商标局递交的说明书的复制再现(facsimile reproduction)。在其他方面,所有版权权利被保留。
任何适当的编程语言可用于实现本发明实施例的例程(routine),包 括C、 C++、 Java、汇编语言等。可以采用不同的编程技术,如面向过程 或面向对象的。例程可以在单个处理设备或多个处理器上运行。虽然这些 步骤、操作或计算可以通过特定顺序来呈现,但是该顺序可以在不同实施 例中改变。在本发明的一些实施例中,本说明书中依次示出的多个步骤可 以同时执行。本文描述的操作的顺序可以打乱、暂缓或由另一个处理来控 制。例程可以在网络环境中或者作为占据系统处理的全部或大部分的单独 例程来操作。
在本文对于本发明的实施例的描述中,提供了诸如要素和/或方法的示 例之类的许多具体细节来提供对本发明实施例的全面理解。但是相关领域 技术人员将意识到,本发明的实施例可以不用这些具体细节的一个或多个 或者用其他装置、系统、部件、方法、组件、部分等来实施。在其他示例中,公知操作未被具体示出或详细描述以避免模糊本发明的实施例的方 面。
出于本发明的实施例的目的的"计算机程序"可包括任何包含处理器 的设备,如大型计算机、个人计算机、膝上电脑、笔记本、微计算机、服 务器、个人数据管理器或"PIM"(也称为个人信息管理器)、智能蜂窝 或其他电话、所谓的智能卡、机顶盒或任意类似事物。"计算机程序"可 包括将被插入到计算机中的本领域技术人员公知的任何适当的可本地或远 程运行的程序或编码指令序列。更具体而言,计算机程序包括指令的有组 织列表,所述指令在被运行时令计算机以预定方式表现。计算机程序包含 成分(称为变量)列表和告诉计算机利用变量做什么的指导(称为声明) 的列表。这些变量可以代表数字数据、文本、音频或图形图像。若采用计 算机来展示经由适当的直接或间接耦合的输入/输出(I/O)设备的媒体, 则根据本发明的实施例,计算机将具有分别允许用户输入或输出(即展 示)程序代码和/或数据信息的适当指令。
出于本发明的实施例的目的的"计算机可读介质"可以是能够包含、 存储、传送、传播或传输供指令运行系统装置、系统或设备使用或者供与 其结合使用的计算机程序的任何介质。只通过示例而非限制的方式,计算 机可读介质可以是电子、磁、光、电磁、红外或半导体系统、装置、系 统、设备、传播介质或计算机存储器。
本说明书各处对"一个实施例"、"实施例"或"具体实施例"的引 用指结合实施例所描述的特定特征、结构或特性被包含在本发明的实施例 的至少一个实施例中而不一定在所有实施例中。因此,短语"在一个实施 例中"、"在实施例中"或"在具体实施例中"在遍及本说明书的各个地 方的分别出现不一定指代同一实施例。此外,本发明的任何具体实施例的 特定特征、结构或特性可以通过任何适当的方式与一个或多个其他实施例 相结合。应该理解,鉴于本文的教导,本文描述和示出的本发明实施例的 其他变更和修改是可能的并被认为是本发明的精神和范围的一部分。
还应理解,附图/图解中示出的一个或多个要素还可以通过更分离或集 成的方式来实现,甚至可以因为在某些情况下不可操作而被去除或放弃(render),这一点根据特定应用是有用的。
另外,附图/图解中的任何信号箭头仅应被视为示例性的,而非限制性 的,除非特别指明。组件或步骤的组合也可视为被指出,其中术语因为给 予分离或组合的能力不清楚而被预见。
如本文的描述以及所附权利要求各处中所使用的那样,"一"、"一 个"和"所述"包括多个引用,除非上下文清楚地以其他方式作了规定。 另外,本文的描述以及所附权利要求各处中所使用"在……中"的含义包 括"在……中"和"在……上",除非上下文清楚地以其他方式作了规 定。
前面对所示本发明的实施例的描述(包括摘要中所描述的)不打算成 为穷尽性的或者将本发明限制在本文公开的精确形式上。虽然本发明的具 体实施例和示例在本文中只出于示例性目的而被描述,但是正如相关领域 技术人员将意识到和理解的那样,本发明的精神和范围内的各种等价修改 是可能的。如所示,按照前面对所示本发明的实施例的描述,可对本发明 进行这些修改并且这些修改包含在本发明的精神和范围内。
因此,虽然本文参考本发明的具体实施例描述了本发明,但是在前面 的公开内容中计划了修改范围、各种改变和替代,并且将理解,在不脱离 所提出的本发明的范围和精神的情况下,在某些示例中,本发明实施例的 某些特征将被采用而不相应地使用其他特征。因此,可以做出很多修改以 使得特定情况或素材适用于本发明的必要范围和精神。希望本发明不限于 在所附权利要求中使用的特定术语和/或被公开为针对实施本发明而考虑的 最佳方式的特定实施例,而是希望本发明将包括落入所附权利要求的范围 内的任何和所有实施例和等同物。
权利要求
1. 一种用于消除网络中的冗余动作的方法,所述方法包括在接收端处注册接收端标签集,其中来自所述接收端标签集的每个标签对应于零个或更多个动作;接收来自发送端的数据分组,其中所述数据分组被加上指示在所述发送端处对所述数据分组执行的第一组动作的标签,其中所述标签在所述发送端处被加到所述数据分组上;在所述接收端处基于所注册的接收端标签集来识别所述标签;基于所加的标签对所述数据分组执行第二组动作,其中所述第二组动作在所述接收端处被执行,所述第二组动作包含所述发送端处尚未对所述数据分组执行的零个或更多个非冗余动作。
2. 如权利要求1所述的方法,其中所述标签不对应于动作。
3. 如权利要求1所述的方法,其中所述注册接收端标签集包括 在所述接收端的客户边缘(CE)处注册所述接收端标签集; 将所述在CE处注册的接收端标签集发送到所述接收端的提供商边缘(PE);以及在所述接收端的所述PE处注册所述接收端标签集。
4. 如权利要求1所述的方法,还包括 在所述发送端的客户边缘(CE)处注册发送端标签集;将所述在CE处注册的发送端标签集发送到所述发送端的提供商边缘(PE);以及在所述发送端的PE处注册所述发送端标签集。
5. 如权利要求4所述的方法,还包括接收对与一个或多个动作相对应的标签的请求,其中所述请求包括识别所述一个或多个动作的信息,所述请求是在所述接收端的CE处从所述发送端的CE接收到的;以及将所请求的标签发送到所述发送端的CE 。
6. 如权利要求1所述的方法,其中所述执行第二组动作包括将所加的标签与所注册的接收端标签集作比较,其中所述比较在所述 接收端的客户边缘(CE)处被执行;确定在所述发送端的CE处对所述数据分组执行的所述第一组动作, 其中所述第一组动作是基于在所述接收端的CE处执行的所述比较来确定 的;以及确定在所述接收端的CE处必须对所述数据分组执行的所述第二组动作。
7. 如权利要求1所述的方法,其中所述网络包括边界网关协议 (BGP)多协议标签交换(MPLS)虚拟专用网(VPN)。
8. 如权利要求7所述的方法,还包括将所述数据分组从所述发送端的VPN站点发送到所述发送端的客户 边缘(CE);对从所述VPN站点接收的数据分组执行所述第一组动作,其中所述 第一组动作在所述发送端的CE处被执行;给所述数据分组加上指示对所述数据分组执行的所述第一组动作的 CE标签,其中所述CE标签基于在所述发送端的CE处注册的发送端标签 集,所述数据分组在所述发送端的CE处被加上标签;将所述数据分组从所述CE发送到所述发送端的提供商边缘(PE);给从所述CE接收的数据分组加上VPN标签和内部网关协议(IGP) 标签,其中所述数据分组在所述发送端的PE处被加上标签;以及将所述数据分组通过提供商核心发送到所述接收端的PE,其中所述 数据分组被加上所述CE标签、所述VPN标签和所述IGP标签。
9. 如权利要求8所述的方法,还包括从在所述发送端的PE处接收的数据分组中弹出所述IGP标签,其中 所述IGP标签在所述提供商核心处被弹出; 在所述接收端的PE处接收所述数据分组;从所述数据分组中弹出所述VPN标签,其中所述VPN标签在所述接 收端的PE处被弹出;将加了所述CE标签的数据分组发送到所述接收端的CE;以及弹出所述指示对数据分组执行的所述第一组动作的CE标签,其中所 述CE标签在所述接收端的CE处被弹出。
10. 如权利要求l所述的方法,还包括若所述数据分组被加上了在所注册的接收端标签集中存在的标签,则 将所述数据分组识别为安全的。
11. 如权利要求IO所述的方法,还包括若数据分组己被识别为不安全的数据分组,则对所述数据分组执行第 三组动作,其中所述第三组动作被执行以确保所述数据分组对于所述接收 端是安全的。
12. 如权利要求1所述的方法,其中所述第一组动作和所述第二组动作 包括安全动作。
13. —种用于消除网络中的冗余动作的系统,数据分组从发送端被发 送到接收端,所述系统包括用于在接收端处注册接收端标签集的装置,其中来自所述接收端标签 集的每个标签对应于零个或更多个动作;用于接收所述数据分组的装置,其中所述数据分组被加上指示在所述 发送端处对所述数据分组执行的第一组动作的标签;用于基于所注册的接收端标签集来识别所述标签的装置;用于基于所加的标签对所述数据分组执行第二组动作的装置,其中所 述第二组动作在所述接收端处被执行,所述第二组动作包含所述发送端处 尚未对所述数据分组执行的零个或更多个非冗余动作。
14. 一种用于消除网络中的冗余动作的系统,所述系统包括 发送端,所述发送端发送数据分组,其中所述数据分组被加上指示在所述发送端处对所述数据分组执行的第一组动作的标签,所述发送端包 括发送客户边缘(CE),所述发送CE对所述数据分组执行所述第 一组动作,所述发送CE给所述数据分组加上所述标签;以及发送提供商边缘(PE),所述发送PE接收来自所述发送CE的 数据分组,并发送所述数据分组;以及接收端,所述接收端接收所述数据分组,所述接收端包括接收PE,所述接收PE接收来自所述发送PE的数据分组;以及接收CE,所述接收CE接收来自所述接收PE的数据分组,所述 接收CE基于所加的标签来对所述数据分组执行第二组动作,所述第 二组动作包括所述发送CE处尚未对所述数据分组执行的零个或更多 个非冗余动作。
15. 如权利要求14所述的系统,其中所述发送端还包括发送网络设 备,所述发送网络设备将所述数据分组发送到所述发送CE。
16. 如权利要求14所述的系统,其中所述接收端还包括接收网络设 备,所述接收网络设备接收来自所述接收CE的数据分组。
17. —种包含可由处理器运行的用于消除网络中的冗余动作的指令的 机器可读介质,所述机器可读介质包括-.用于在接收端处注册接收端标签集的一个或多个指令,其中来自所述 接收端标签集的每个标签对应于零个或更多个动作;用于接收来自发送端的数据分组的一个或多个指令,其中所述数据分 组被加上指示在所述发送端处对所述数据分组执行的第一组动作的标签, 所述标签是在所述发送端处被加上的;用于基于所注册的接收端标签集来在所述接收端处识别所述标签的一 个或多个指令;以及用于基于所加的标签对所述数据分组执行第二组动作的一个或多个指 令,其中所述第二组动作在所述接收端处被执行,所述第二组动作包含所 述发送端处尚未对所述数据分组执行的零个或更多个非冗余动作。
18. —种用于消除网络中的冗余动作的装置,所述装置包括 用于运行指令的处理器;以及包含可由所述处理器运行的用于消除网络中的冗余动作的指令的机器 可读介质,所述机器可读介质包括-用于在接收端处注册接收端标签集的一个或多个指令,其中来自所述 接收端标签集的每个标签对应于零个或更多个动作;用于接收来自发送端的数据分组的一个或多个指令,其中所述数据分组被加上指示所述发送端处对所述数据分组执行的第一组动作的标签,所 述标签是在所述发送端处被加上的;用于基于所注册的接收端标签集来在所述接收端处识别所述标签的一个或多个指令;用于基于所加的标签对所述数据分组执行第二组动作的一个或多个指 令,其中所述第二组动作在所述接收端处被执行,所述第二组动作包含所 述发送端处尚未对所述数据分组执行的零个或更多个非冗余动作。
全文摘要
提供了用于消除网络中的冗余动作的方法、系统和装置。基于向接收端注册的一组标签,数据分组在发送端处被加上标签(302)。该标签指示在发送端处对数据分组执行的一组动作(306),并用于确定在接收端处必须对数据分组执行的另一组非冗余动作(308)。因此,适当地消除了冗余动作。
文档编号G06F17/30GK101416172SQ200780002467
公开日2009年4月22日 申请日期2007年2月16日 优先权日2006年2月24日
发明者巴拉吉·温卡塔·温卡塔斯瓦米, 瑟卡尔·巴拉苏布拉马尼恩·钱德拉 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1