用于实现vpn服务的方法和装置的制作方法

文档序号:7639005阅读:247来源:国知局
专利名称:用于实现vpn服务的方法和装置的制作方法
用于实现VPN服务的方法和装置背景技术正如所公知的,因特网是由多个网络构成的大型网络,在这多个网络 中计算机通过使用不同的通信协议来与彼此通信。因特网包括将许多计算 机互连起来的分组路由设备,例如交换机、路由器等等。为了支持对诸如 分组之类的信息的路由,每个分组路由设备一般会维护路由表,以执行通 过网络将流量从源计算机转发到目的地计算机的路由判决。在因特网上通过提供商网络转发信息的一种方式是基于MPLS (多协 议标签交换)技术。在MPLS网络中,传入分组被接收到传入分组的所谓 LER (标签边缘路由器)分配以标签。MPLS网络中的分组沿着预定义的 标签交换路径(LSP)被转发,所述标签交换路径至少最初是在MPLS网 络中基于由各个LER提供的标签来定义的。在MPLS网络的内部节点 处,分组通过所谓的标签交换路由器沿着预定义的LSP被转发。在MPLS型的网络中,各个LER之间的LSP中的每个标签交换路由 器(LSR)仅基于相应分组的标签来作出转发判决。取决于具体情况,分 组可能需要行经沿着MPLS网络的LER之间的相应路径的许多LSR。当 分组行经标签交换网络时,沿着LSP的每个LSR剥去与给定分组相关联 的现有标签,并且在转发到LSP中的下一 LSR之前向给定分组应用新的 标签。新的标签向路径中的下一路由器告知如何将分组转发到MPLS网络 中的下游节点,以最终转发到能够适当地将分组转发到目的地的下游 LER。正如所公知的,MPLS型的网络可以支持所谓的虚拟专用网 (VPN) 。 VPN允许服务提供商通过共同的共享网络安全地连接多个客户 站点。根据传统的应用,VPN服务使用虚拟连接来使给定客户的数据相对 于通过共享网络传输的其他客户的数据保持私密。除了支持VPN外,MPLS网络还可支持所谓的第2层MPLS VPN,其被称为虚拟专用局域网服务(VPLS) 。 VPLS技术并不将客户IP路由器 连接起来以使它们能够通过共享的IP骨干进行通信,就好像它们在使用它 们自己的专用网络一样,而是使得客户的LAN能够通过共享的IP骨干连 接,就好像它们连接到同一 LAN网段一样,从而实际上创建了多点以太 网VPN。 一种建立VPLS的方式是采用诸如BGP (边界网关协议)之类的 通信协议。发明内容传统的建立VPLS的技术有许多缺陷。例如,传统的技术包括这样一 个过程,其中标签交换网络中的路由器通过使用BGP与彼此通信来建立 VPLS。在该传统,用中,VPLS VPN的发现被认为是单步过程,因为标签 交换网络中所有参与的提供商边缘路由器都利用BGP来从相应标签交换网 络中的所有其他PE路由器取得VPN成员信息,而不论被询问的PE路由 器是否支持VPN服务。不幸的是,这种利用BGP的传统发现过程使网络 拥塞,因为标签交换网络中的每个路由器都必须询问标签交换网络中的所 有其他路由器以取得VPN配设信息并建立相应VPLS。 一般来说,标签交 换网络中的多个PE路由器中仅有一个子集与相应的VPLS相关联。因 此,标签交换网络中的询问方路由器有时不必要地与标签交换网络中的不 与任何相应VPN或VPLS相关联的其他PE路由器通信。除了网络拥塞 外,该传统的手动发现VPN成员的技术并不能很好地扩展用于更大的标 签交换网络。与上述技术以及现有技术中己知的其他技术相比,这里讨论的实施例 包括与VPLS发现和实现相关联的新型技术。例如,根据一个实施例, VPLS发现是一种两阶段过程。该两阶段过程的第一阶段涉及发现或自动 发现标签交换网络中的具有VPLS能力的一组PE (提供商边缘)路由器 (例如属于至少一种VPLS的PE路由器)。在一个实施例中,第一阶段 的实现包括使用LDP协议并向FEC消息添加L2VPN (第2层VPN)属性 TLV。该两阶段过程的第二阶段涉及发现每个PE路由器所属的一组VPLS 实例。从而,给定的PE路由器可以识别出标签交换网络中与相同VPLS相关联的其他PE路由器,以便建立VPLS。将以上讨论更进一步,这里的实施例包括帮助对标签交换网络进行VPN (虚拟专用网)服务配置。例如,标签交换网络中的第一路由器向标 签交换网络中的第二路由器(或一组路由器)传输消息。该消息包括关于 第一路由器与VPN服务相关联的指示。该消息不需要提供与VPN服务相 关联的具体细节。也就是说,该消息可包括单个比特的设置来指示出生成 该消息的第一路由器是否与特定类型的VPN服务相关联。VPN服务的示 例包括VPLS (虚拟专用局域网服务)、VPWS (虚拟专用广域网服务) 等等。通过接收该消息,标签交换网络中的第二路由器获悉第二路由器具有 相关联的VPN服务。为了获悉第一路由器所属的VPN服务的更多情况., 第二路由器随后发起并转发查询到第一路由器。该查询包括对关于与第一 路由器相关联的(一种或多种)VPN服务的信息的请求。第一路由器接收 来自第二路由器的请求。作为响应,第一路由器将与VPN服务相关联的 信息(例如VPN的列表)转发到第二路由器。相应地,第二路由器接收 来自第一路由器的指示出哪些VPN与VPN服务(例如VPLS、 VPWS等 等)相关联的信息。基于该技术,标签交换网络中的PE路由器可以很容易地获悉标签交 换网络中的其他PE路由器中有哪些(如果有的话)与任何类型的相应 VPN服务相关联。然后,如果PE路由器希望获悉关于哪些VPN服务与远 程PE路由器相关联的更多情况(可能因为查询方PE路由器本身与一种 VPN服务相关联),则查询方PE路由器发起进一步的通信以取得与远程 PE路由器相关联的VPN的列表。这使得标签交换网络中的每个PE路由 器无需盲目地向标签交换网络中的每个其他PE路由器发送详细的VPN配 设信息(出于建立VPN服务的目的)。取而代之,基于在广播的消息中 指示出的关于远程PE路由器是否"具备VPLS能力"的通知,每个PE路 由器得知要查询标签交换网络中的哪些其他PE路由器,以进一步确定查 询方PE路由器是否正好和标签交换网络中的其他远程PE路由器与同一 VPN服务相关联。例如,根据一个实施例,查询方PE路由器把从标签交换网络中的远程PE路由器取得的VPN的列表与其自身的VPN列表相关 联,以识别是否存在任何共同的VPN。对于与两个PE路由器都相关联的 共同VPN,查询方PE路由器与远程PE路由器通信以在标签交换网络中 建立相应的VPN服务。根据这里的更具体实施例,提供关于其是否具有任何相关联的VPN 属性的通知的PE路由器利用相应的通知消息中的第一数据字段来提供关 于它具有相关联的虚拟网络服务的指示。消息中的其他数据字段被用于提 供与标签交换网络相关联的配置信息。例如,根据这里的一个实施例,PE 路由器所生成的消息是FEC (转发等价类)消息。FEC消息中的数据字段 (例如单个比特)包括网络第2层VPN属性,以指示出PE路由器是否与 任何VPN服务相关联。因而,消息的通知部分(例如单个比特)"捎 带"于通常出于其他目的而在整个标签交换网络中分布的配置消息上。在其他实施例中,生成通知消息的PE路由器利用消息中的另一数据 字段(除上述第一数据字段外)来提供关于与生成消息的给定PE路由器 相关联的虚拟网络服务配设信息是否有变化的指示。例如,根据这里的一 个实施例,标签交换网络中的生成消息的PE路由器在每次其通过标签交 换网络广播消息时将另一数据字段设置为相同的值。当虚拟网络服务配设 信息有变化,而指示出例如与相应PE路由器相关联的VPN的添加或删除 时,生成消息的PE路由器改变先前填充到通知消息中的数据值。因而, 当相继的每一次标签交换网络中的PE路由器接收到消息时,接收方PE路 由器可通过将前一通知消息中的值与新接收到的通知消息中的新值相比较 来识别出虚拟网络服务配设信息是否有变化。注意,这里的技术很适合用于诸如标签交换网络中的VPLS发现和 VPLS实现之类的应用。但是,应当注意,这里的配置并不限于用于这种 应用中,因而这里的配置及其变体也很适合于其他应用。除了上述技术之外,这里的示例性实施例还包括被配置为支持上述方 法操作以帮助VPN服务的自动发现和实现的计算机化的设备(例如数据 通信设备)。根据这样的实施例,计算机化的设备包括存储器系统、处理 器(例如处理设备)和互连。互连支持处理和存储器系统之间的通信。存储器系统编码有一种应用,该应用当被在处理器上执行时,产生支持这里描述的VPN服务的自动发现和实现的进程。这里公开的本发明的其他实施例包括用于执行在上面总结并在以下 "具体实施方式
"部分详细公开的方法实施例和操作的软件程序。更具体 而言,包括编码在其上的计算机程序逻辑的计算机程序产品(例如计算机可读介质)可被在计算机化的设备上执行以支持这里进一步说明的VPN 服务的自动发现和实现。计算机程序逻辑当被在计算机系统的至少一个处 理器上执行时,使得处理器执行这里指示为本申请的实施例的操作(例如 方法)。本申请的这种布置一般提供为软件、代码和/或被布置或编码在计 算机可读介质(例如光介质(如CD-ROM)、软盘或硬盘)或者其他介质 (例如一个或多个ROM或RAM或PROM芯片中的固件或微&码)上的 其他数据结构,或者提供为专用集成电路(ASIC)或一个或多个模块、共 享库等等之中的可下载软件镜像。软件或固件或其他这种配置可被安装到 计算机化的设备上,以使得计算机化的设备中的一个或多个处理器执行这 里说明的技术。本申请的一个特定实施例涉及包括计算机可读介质的计算机程序产 品,该计算机可读介质上存储有用于实现VPN服务的自动发现和实现的 指令。这些指令在被相应的第一路由器(例如计算机设备)的处理器所执 行时,使得处理器执行以下步骤i)向标签交换网络中的路由器集合传输 消息,该路由器集合包括标签交换网络中的第二路由器,该消息包括关于 第一路由器与至少一种虚拟网络服务相关联的指示;ii)接收来自第二路 由器的对与第一路由器的至少一种虚拟网络服务相关联的VPN的列表的 请求;以及iii)响应于来自第二路由器的请求,将与第一路由器的至少一 种虚拟网络服务相关联的VPN的列表转发到第二路由器。本申请的其他 实施例包括用于执行在上面总结并在以下详细公开的任何方法实施例步骤和操作的软件程序。应当理解,本发明的实施例可严格地实现为软件程序、实现为软件和硬件或者只实现为硬件和/或电路(例如在数据通信设备内)。如这里所说 明的,本发明的特征可用于数据通信设备和/或这种设备的软件系统中,例如California, San Jose的思科系统公司所制造的那些。


从以下对附图中图示的本发明的特定实施例的描述中,可以清楚看出 本发明的前述和其他目的、特征和优点,在所有附图中类似的标号指代相 同的部件。附图不一定是按比例绘制的,重点其实在于图示出本发明的原 理。图1是根据这里的实施例的通信系统的示图,其中数据通信设备在彼 此之间分发通知。图2是图示出根据这里的实施例通过网络分发的用于指示出发送通知 《肖息的路由器是否与一种VPN服务相关联的通知消息的内容的示图。图3是图示出根据这里的实施例包括与网络中的路由器相关联的VPN 列表的消息的内容的示图。图4是根据这里的实施例适合于执行自动发现技术的处理设备的框图。图5是图示出根据这里的实施例用于在两个或更多个路由器之间建立 VPN服务的技术的流程图。图6是图示出根据这里的实施例支持VPN服务的自动发现和实现的 更具体技术的流程图。图7是图示出根据这里的实施例支持VPN服务的自动发现和实现的 更具体技术的流程图。
具体实施方式
这里的一个实施例涉及帮助在标签交换网络中实现诸如VPLS、 VPWS等等的VPN服务的技术。根据这里的一个实施例的VPN服务的实 现包括利用两阶段过程。两阶段过程的第一阶段包括提供关于标签交换网络中的PE (提供商 边缘)路由器是否具有VPLS能力的通知。通知步骤可包括从给定的PE 路由器向标签交换网络中的相应远程PE路由器生成并广播消息,以指示广播方PE路由器(例如该给定PE路由器)是否具备VPLS能力。两阶段过程的第二阶段包括从接收到通知消息的PE路由器向生成消 息的广播方PE路由器生成査询消息,以发现广播方PE路由器所属的一组 VPLS实例(例如VPN)。响应于接收到查询消息,广播方PE路由器向 查询方PE路由器发送与广播方PE路由器相关联的VPN的列表。以这种 方式和相似的方式,生成查询消息的PE路由器可以与广播方PE路由器以 及标签交换网络中广播相似类型的通知消息的其他PE路由器通信,以识 别标签交换网络中的多个PE路由器中的哪些与VPLS相关联。获悉哪些 PE路由器与VPLS相关联的一个目的是在标签交换网络中的PE路由器之 间建立VPLS。图1是根据这里的实施例的通信系统100的示图,.其中诸如PE路由 器之类的数据通信设备120在彼此之间通信以建立VPN服务(例如 VPLS、 VPWS等等)。如图所示,通信系统100包括网络190 (例如标签交换网络,例如基 于MPLS (多协议标签交换)技术的标签交换网络)。网络190包括数据 通信设备120 (例如数据通信设备120-1、数据通信设备120-2、数据通信 设备120-3、…、和数据通信设备120-N)。每个数据通信设备120包括相 应的配置管理器135 (例如配置管理器135-1、配置管理器135-2、…、配 置管理器135-N),以分发关于其是否与VPLS相关联的信息。接收信息 的相应数据通信设备120的配置管理器135可以发起与发送消息的数据通 信设备的通信,以获悉路由器是否与共同的VPLS相关联。通信系统110还包括网络150 (例如网络150-1、网络150-2、网络 150-3、…、和网络150-5)。在一个实施例中,网络150是通过相应的数 据通信设备125 (例如客户边缘路由器)和网络190与彼此通信的局域网 (即LAN)。网络150可由不同的客户端拥有和操作。例如,网络150-1、网络 150-3和网络150-5可由第一公司拥有和操作。网络150-2和网络150-4可 由第二公司拥有和操作。根据这里的一个实施例,与网络190相关联的服 务提供商实现独立的VPLS,以经由安全的通信路径将相应的LAN与彼此相连。以下的讨论示出了建立VPLS-A以连接网络150-1、网络150-3和网 络150-5以及建立VPLS-B以连接网络150-2和网络150-4的技术。根据这里的一个实施例,VPLS发现被划分成2阶段过程。该过程的 第一阶段包括发现网络190中的具有VPLS能力的一组数据通信设备120 (例如PE路由器)。这种数据通信设备120被定义为与至少一种VPLS 相关联的数据通信设备。例如,数据通信设备120-1与VPLS-A和VPLS-B相关联,因此是具备VPLS能力的。该过程的第二阶段包括发现相应的 数据通信设备120所属的一组VPLS实例。现在,更具体地说,发现过程的第一阶段包括从数据通信设备120-1 向网络190中的其他数据通信设备120广播消息200。在图1所示的示例 中,数据通信设备120-1在其他数据通信设备之间分发(例如经由LDP) 消息200,以指示出数据通信设备120-1是否"具备VPLS能力"。其他 数据通信设备120可以传输相似类型的消息200,以在网络190中分发到 其他相应的数据通信设备120,以指示出它们是否具备VPLS能力。消息200的示例在图2中示出。如图2所示,数据通信设备120-1设 置数据字段210中的比特以指示出发送消息200的相应数据通信设备是否 与VPLS、 VPWS等相关联。例如,相应数据字段210中的逻辑高指示出 相应的数据通信设备120是给定的VPN服务的一部分,而逻辑低则指示 出相应的数据通信设备120未能成为相应的VPN服务类型的一部分。如图2所示,数据通信设备将数据字段210-1设置为逻辑1,以指示 出数据通信设备120-1与至少一种VPLS相关联或者说数据通信设备120-1 是具备VPLS能力的。数据通信设备120-1将数据字段210-2设置为逻辑 0,以指示出它不与任何VPWS相关联。相应地,生成消息200的数据通 信设备120-1可以利用消息200中的数据字段210-1来指示出数据通信设 备120-1是否与第一类型的虚拟专用网服务(例如VPLS)相关联,并且 利用消息200中的第二数据字段210-2来指示出数据通信设备120-1是否 与第二类型的虚拟专用网服务(例如VPWS)相关联。以类似的方式,数 据通信设备120-1可设置其他数据字段210中的比特以指示出它是否与为 给定数据字段210指定的任何其他类型的VPN服务相关联。根据这里的一个实施例,消息200是根据LDP (标签分发协议)通过 网络190传输的FEC消息。L2VPN (例如第2层VPN)属性TLV被添加 到FEC消息。LDP "转发和未知比特"被设置以允许属性TLV与FEC消 息一起被有效地广播(例如在启动时或者在FEC消息被传输时的其他指定 时间)到网络190中的其他数据通信设备120。结果,接收到消息200的 数据通信设备120只要通过检查相应数据字段210中的比特设置,就可以 识别出发送相应消息200的数据通信设备是否与不同类型的相应VPN服 务相关联。如前所述,其他数据通信设备120可发送消息200到网络中的 其他数据通信设备。诸如点到点通信(例如RSVP)之类的其他方法可被给定的数据通信 设备用来向其他数据通信设备120告知网络199中的该给定数据通信设备 是否具备VPLS能力、是否具备VPWS能力,等等。在一个实施例中,数据字段220包括配置版本号。数据字段220中的 配置版本号是无符号8比特整数,它在每次与任何VPN属性相关的PE (边缘路由器)路由器配设(provisioning)信息有重大变化时被递增。关 于何为重大变化的确定可能是本地PE策略的问题。可能导致配置版本号的值被递增或被设置为新值的变化的示例包括网 络190中的数据通信设备120被添加到特定VPLS或从特定VPLS删除的 情形。在这种情况下,配设信息和相应VPN服务发生变化。其他数据通 信设备通过检查相继的消息200中的配置版本号是否不同,或者更具体地 说在上次接收消息200之后是否被递增,来获悉这样的变化。在一个实施 例中,配置版本号在达到最大值时被绕回零。消息200的分发提示其他数据通信设备120与数据通信设备120-1通 信,以基于检查消息200的数据字段210-1、数据字段210-2等等之中的相 应比特的设置来获悉数据通信设备120-1是否具备VPLS能力、是否具备 VPWS能力等等。在图2所示的当前示例中,数据通信设备120-1发送指示出它具备 VPLS能力的消息200,并且通过使用数据字段220来指示出(经由如上所 述的配置版本号)数据通信设备120-1刚刚启动或者配设信息发生了变化。接收到消息200的数据通信设备120检查它们是否也"具备VPLS能 力"。如果像本示例的情况那样检查结果为是(因为数据字段210-1被设 置为逻辑高),则接收到消息的数据通信设备120向数据通信设备120-1 发出请求,以获悉与数据通信设备120-1的VPN服务相关联的特定VPN 标识符。在一个实施例中,(一个或多个)查询方数据通信设备120利用 査询-响应LDP协议来取得与数据通信设备120-1相关联的相应VPN列 表。不同于LDP的协议也可用于这里的自动发现技术的阶段2。在图1所示的示例中,数据通信设备120-2和数据通信设备120-4是 具备VPLS能力的,因为每个数据通信设备支持至少一种VPLS。假定数 据通信设备120-3不具备VPLS能力。在此情况下,由于数据通信设备 120-3不具备VPLS能力,因此数据通信设备120-3不会响应于接收到消息 200而向数据通信设备120-1发送对VPLS VPN列表的查询,因为它未被 配置为支持任何VPLS。在此情况下将数据通信设备120-3配置为不查询 数据通信设备120-1减少了网络190中的网络拥塞,而如果数据通信设备 120-3 (以及其他不具备VPLS能力的数据通信设备)不必要地就VPN信 息列表查询数据通信设备120-1,则可能导致这种网络拥塞。因而,根据 这里的一个实施例,分发关于其具备VPLS能力的消息200的数据通信设 备120不会接收到来自接收到消息200的相应数据通信设备120的对相关 联的VPN的列表的请求,除非该相应的数据通信设备也具备VPLS能力。由于数据通信设备120-2和数据通信设备120-4都具备VPLS能力, 因此接收到消息200的数据通信设备120-2和120-4都会向数据通信设备 120-1发送对列表的相应査询。响应于接收到相应的査询,数据通信设备 120-1经由如图3所示的消息300向查询方数据通信设备120发送VPN标 识符的列表。例如,数据通信设备120-1生成消息300,以在数据字段310 中包括VPN标识符的列表。在一个实施例中,VPN标识符是标识出与数 据通信设备120-1相关联的相应VPLS VPN的32比特地址。因而,网络 190中的其他数据通信设备120发现发起消息200的分发的数据通信设备 120-1是否与VPLS相关联。因此,基于上述技术,接收到包括被设置为指示出数据通信设备120-1具备VPLS能力的比特的消息200将会告知一个或多个远程数据通信设 备120发起自动发现过程的阶段2并取得VPN ID的列表。如前所述, LDP协议包括可被LSR用来通告本地连接的接口 IP地址的地址消息。 LDP地址消息包括地址TLV和可选的参数字段。根据一个实施例,为了 发现特定数据通信设备120中使用的VPLS VPN的VPN ID,数据通信设 备120根据LDP以及请求注释3036 (例如RFC3036)的第3.5.5节中规定 的过程来通告本地使用的VPN ID的列表。如上所述的该"地址"消息 300可包括作为可选参数的VPN地址列表TLV。根据一个实施例,网络190中的LSR (标签交换路由器)仅在以下条 件满足时才会包括作为可选参数的VPN地址列表TLV:-i.远程LDP发言者的远程LDP标i只符与先前发现的具有L2VPN属性 集的PE相匹配。-ii.远程主机LDP接口地址列表包含先前发现的具有L2VPN属性集的 PE的IP地址。[RFC3036]第3.5.5节中所指示的所有正常LDP地址过程都适用于新的 VPN地址列表TLV,包括地址撤回过程。在取得与数据通信设备120-1相关联的VPN标识符的列表之后,接收 到VPN地址的相应数据通信设备120可发起与数据通信设备120-1的进一 步通信以建立VPN服务。例如,在数据通信设备120-2将从数据通信设备 120-1取得的VPN标识符的列表与其自身的VPN标识符集合相比较之 后,数据通信设备120-2可识别出它是否与一种或多种相同VPN相关联。 如果是,则数据通信设备与数据通信设备120-1通信以在数据通信设备 120-1和数据通信设备120-2之间建立相应的VPN服务(例如VPLS-A和 VPLS画B)。在一个实施例中,数据通信设备与彼此通信以建立单个VPN或者伪 线路(pseudo wire)以支持经由VPLS-A在网络150-1和网络150-3之间的 安全通信。数据通信设备还与彼此通信以建立独立的VPN或者伪线路以 支持经由VPLS-B在网络150-2和网络150-4之间的安全通信。在替换实施例中,数据通信设备进行通信以建立被分割成两个独立信道的单条伪线路。伪线路的第一信道支持网络150-1和网络150-3之间的 安全通信以形成VPLS-A,而伪线路的第二信道支持网络150-2和网络 150-4之间的安全通信以形成VPLS-B。上述两步VPLS发现方法使得在提供VPLS服务的网络不使用BGP来 进行任何其他服务的情况下,与网络190相关联的服务提供商只使用单个 协议(例如LDP协议)就能够支持和管理VPLS。另外,这里的技术增强 了可縮放性,因为VPLS VPN标识符信息没有一次被传播到所有VPLS路 由器。这减少了网络拥塞。另外,这里的技术提供了更大的灵活性,因为 如果需要,第一协议可用于通知其他成员网络190中的给定数据通信设备 120是否与VPLS相关联,而诸如E-GVRP之类的第二协议可用于执行发 现过程的步骤。用于在第二阶段中使用E-GVRP的可能技术可在2005年4 月28日递交的题为"A Comprehensive Model for VPLS"的相关美国专利 申请No. 11/117,250中找到。图4是图示出根据这里的实施例,用于执行配置管理器应用140-1的 数据通信设备120 (例如图1的网络190中的PE路由器)的示例性体系结 构的框图。根据如上所述的一个实施例,配置管理器应用140-1帮助对网 络190的VPN服务配置。数据通信设备120可以是计算机化的设备,例如个人计算机、工作 站、便携式计算设备、控制台、网络终端、处理设备、路由器、服务器等 等。如图所示,本示例的数据通信设备120包括互连111,该互连111耦 合了存储器系统112、处理器113、 1/0接口 114和通信接口 115。 1/0接口 114可能提供到诸如键盘、鼠标、显示屏之类的可选外围设备的连通性。 通信接口 115使得数据通信设备120能够通过网络190与通信系统100中 的其他数据通信设备通信。如图所示,存储器系统112编码有配置管理器应用140-1 (例如图1 所示的配置管理器135),该应用支持如上所述的MPLS网络中VPN服务 的发现和实现。配置管理器应用140-1可实现为软件代码,例如支持根据 这里描述的不同实施例的处理功能的数据和/或逻辑指令(例如存储在存储 器中或者另一计算机可读介质(例如盘)上的代码)。在操作期间,处理器113经由互连111访问存储器系统112,以起动、运行、执行、解释或 以其他方式执行配置管理器应用140-1的逻辑指令。对配置管理器应用 140-1的执行产生了配置管理器进程140-2中的处理功能。换言之,配置管 理器进程140-2代表在数据通信设备120中的处理器113之内或之上执行 的配置管理器应用140-1的一个或多个部分(或者整个应用)。应当注意,在数据通信设备120 (如图1所示)中执行的配置管理器 135可由配置管理器应用140-1和/或配置管理器进程140-2的任一个或两 者所代表。为了讨论本申请的实施例的操作,将会一般性地参考数据通信 设备120或相应配置管理器135执行或支持各种步骤和功能操作以执行这 里的实施例的特征的情形。还应当注意,除了配置管P器进程140-2之外,这里的实施例还包括 配置管理器应用140-1本身(即未被执行或未执行的逻辑指令和/或数 据)。配置管理器应用140-1可被存储在诸如软盘、硬盘之类的计算机可 读介质上,或者存储在光介质中。配置管理器应用140-1还可被存储在存 储器型系统中,例如存储在固件、只读存储器(ROM)中,或者像本示例 中那样作为可执行代码存储在存储器系统112内(例如在随机访问存储器 或RAM内)。除了这些实施例之外,还应当注意,这里的其他实施例包 括在处理器113中将配置管理器应用140-1作为配置管理器进程140-2来 执行。因而,本领域的技术人员将会理解,数据通信设备120 (例如计算 机系统)可包括其他进程和/或软件和硬件组件,例如控制硬件资源的分配 和使用的操作系统。现在将经由图5-7中的流程图来讨论数据通信设备120所支持的功 能,更具体地说是配置管理器135所支持的功能。对于这里的讨论,网络 190中的诸如PE路由器之类的数据通信设备120或者相应的配置管理器 135 —般执行流程图中的步骤。该功能也可被扩展到其他实体。注意,以 上针对图1至3讨论的概念可能会有某些重叠。另外,注意下面的流程图 中的步骤不需要总是以示出的顺序执行。图5是图示出向其他数据通信设备通知诸如PE路由器之类的给定数 据通信设备与虚拟专用网服务相关联的技术的流程图500。如上所述,分发该通知的一个目的是发起用于在MPLS网络中建立VPLS的自动发现。 当然,下面的示例讨论了使用"路由器A"和"路由器B"来讨论这里的 实施例。但是,下文中在以下流程图中讨论的路由器A和路由器B所支持 的功能可由其他类型的数据通信设备来实现。以下的流程图500图示出在网络190中诸如路由器A之类的第一数据 通信设备如何与诸如路由器B之类的第二数据通信设备通信以建立诸如 VPLS、 VPWS等的VPN服务的示例。流程图500中的该例程可被扩展到 也支持三个或更多个PE路由器之间的同时的VPN服务自动发现和建立的 情形。在步骤510中,路由器A向标签交换网络190中的路由器(例如PE 路由器)传输消息200 (例如发起消息200的分发)。路由器A向其发送 消息200的路由器集合(例如图1中被标记为数据通信设备120的实体) 包括路由器B。路由器A所发送的消息包括关于路由器A与一种或多种虚 拟网络服务相关联的指示。换言之,在消息200中某些比特被设置以指示 出路由器A属于一种VPN服务。消息200不需要具体指示出路由器属于 哪种VPN服务。在步骤515中,路由器B接收来自路由器A的指示出路由器A具有 相关联的一种或多种VPN服务或者与一种或多种VPN服务相关联的消息 200。在步骤520中,路由器B向路由器A转发查询。该查询包括对与路由 器A相关联的信息(例如VPN列表)的请求。在步骤525中,路由器A接收来自路由器B的对与路由器A所属的 一种或多种VPN服务相关联的VPN的列表的请求。在步骤530中,响应于来自路由器B的请求,路由器A将与和路由器 A相关联的一种或多种VPN服务相关联的VPN的列表转发到(例如经由 消息300)路由器B。在步骤535中,路由器B接收来自路由器A的指示出与路由器A的 至少一种VPN服务相关联的VPN的信息(例如VPN的列表)。基于进一 步的通信,路由器A和路由器B可建立相应的VPLS,而无需与网络190中的不支持VPLS的其他数据通信设备120进行不必要的通信。注意,虽然以上讨论涉及诸如数据通信设备120-1和数据通信设备 120-2之类的特定数据通信设备(例如标签交换网络中的路由器A和路由 器B),但网络190的每个其他数据通信设备120也可以类似的方式进行 操作,以在网络190中发起相同或不同VPLS的自动发现和配置。图6是图示出根据这里另外的实施例从路由器A (例如像上述示例中 那样分发关于它与至少一种VPLS相关联的指示的路由器)的角度配置网 络的更具体技术的流程图600。在步骤610中,网络190的路由器A将消息200传输到标签交换网络 190中的路由器集合(包括路由器B)。消息200包括关于路由器A与一 种或多种VPN服务相^联的指示。在步骤610的子步骤615中,路由器A利用消息200中的数据字段 210 (例如单个比特)来提供关于路由器A与相应类型的VPN服务相关联 的指示。消息中的其他数据字段被用于分发与相应的标签交换网络相关联 的配置信息,例如以下子步骤620中所述。在一个实施例中,消息200是 经由LDP在网络190中分发的FEC消息。如上所述,指示出路由器是否 具备VPLS能力的信息被"捎带(piggyback)"于经由LDP发送的FEC 消息上。在步骤610的子步骤620中,路由器A利用消息200中的数据字段 220来提供关于与路由器A相关联的虚拟网络服务配设信息是否发生变化 的指示。如上所述,虚拟网络服务配设信息的变化发生在路由器A被添加 到相应VPLS或从相应VPLS删除时。如上所述,根据一个实施例,路由 器A可将数据字段220中的值相对于前一消息发送递增1,以指示出VPN 配设信息的变化。接收到此类周期性消息的路由器因此可通过将上次接收 到的配置版本号与消息200中新接收到的配置版本号相比较,来识别出何 时发生了变化。在步骤625中,路由器A接收来自路由器B的对与路由器A的一种 或多种虚拟网络服务相关联的VPN列表的请求。在步骤630中,响应于来自路由器B的请求,路由器A (向路由器B)转发与路由器A的一种或多种虚拟网络服务相关联的VPN的列表。在步骤635中,在获悉路由器A和路由器B与共同的VPLS相关联 后,路由器A与路由器B通信以建立与路由器A和路由器B都支持的一 种或多种虚拟网络服务相关联的相应VPN。在网络中建立VPN引起了 VPLS (虚拟专用局域网服务)的实例化。图7是图示出根据这里另外的实施例从路由器B (例如接收到关于网 络190中的另一路由器与至少一种VPLS相关联的指示的PE路由器)的 角度配置网络的更具体技术的流程图700。在步骤710中,路由器B接收到来自路由器A的消息200。消息200 包括关于路由器A与一种或多种VPN服务相关联或者具有相关联的一种 或多种VPN服务的指示。在步骤715中,路由器B分析从路由器A接收的消息200,以通过检 査消息200中的配置版本号来检测与路由器A相关联的虚拟网络服务配设 信息是否发生了变化。在步骤720中,响应于识别出消息200中的数据字段220包括与在来 自路由器A的前一消息200中接收的前一数据值不同的数据值(例如配置 版本号)并且消息200中的数据字段210 (例如单个比特)指示出路由器 A与一种VPN服务相关联,路由器B通过向路由器A转发查询来发起与 路由器A的通信,以确定与路由器A相关联的虚拟网络服务配设信息(例 如VPN地址的列表)。该查询包括对于有关于与路由器A相关联的一种 或多种VPN服务的信息的请求。在步骤725中,响应于向路由器A转发查询,路由器B接收来自路由 器A的指示出与路由器A的一种或多种VPN服务相关联的VPN的列表的 信息(例如消息300)。在步骤730中,路由器B比较与路由器A的一种或多种VPN服务相 关联的VPN的列表和与路由器B相关联的VPN的列表,以识别出与路由 器A和路由器B都相关联的共同VPN。在步骤735中,对于与路由器A和路由器B都相关联的共同VPN, 路由器B发起与路由器A的进一步通信,以建立路由器A和路由器B之间的相应VPN服务。再次注意,这里的技术很适合用于诸如将网络配置为支持标签交换网络中的VPLS之类的应用。但是,应当注意,这里的配置并不限于用于这种应用中,因而这里的配置及其变体也很适合于其他应用。虽然已经参考本发明的优选实施例具体示出和描述了本发明,但是本 领域的技术人员将会理解,在不脱离权利要求所限定的本发明的精神和范 围的情况下,可以作出形式和细节上的许多变化。
权利要求
1.一种在标签交换网络的第一数据通信设备中、用于帮助对所述标签交换网络进行VPN(虚拟专用网)服务配置的方法,所述方法包括向所述标签交换网络中的数据通信设备的集合传输消息,所述数据通信设备的集合包括所述标签交换网络中的第二数据通信设备,所述消息包括关于所述第一数据通信设备与至少一种虚拟网络服务相关联的指示;接收来自所述第二数据通信设备的对与所述第一数据通信设备的所述至少一种虚拟网络服务相关联的VPN的列表的请求;以及响应于来自所述第二数据通信设备的请求,将与所述第一数据通信设备的所述至少一种虚拟网络服务相关联的VPN的列表转发到所述第二数据通信设备。
2. 如权利要求1所述的方法,其中向所述标签交换网络中的所述数据通信设备的集合传输所述消息的步骤包括利用所述消息中的第一数据字段来提供关于所述第一数据通信设备与 所述至少一种虚拟网络服务相关联的指示,所述消息中的其他数据字段被 用于提供与所述标签交换网络相关联的配置信息。
3. 如权利要求2所述的方法,其中向所述标签交换网络中的所述数据通信设备的集合传输所述消息的步骤还包括利用所述消息中的第二数据字段来提供关于与所述第一数据通信设备 相关联的虚拟网络服务配设信息是否有变化的指示。
4. 如权利要求3所述的方法,其中向所述标签交换网络中的所述数据通信设备的集合传输所述消息的步骤包括生成FEC (转发等价类)消息以在所述FEC消息的数据字段中包括网 络第2层VPN属性,所述数据字段中的单个比特指示出所述第一数据通信设备是否与所述至少一种虚拟网络服务相关联;以及将所述FEC消息转发到所述标签交换网络中的所述数据通信设备的集合。
5. 如权利要求1所述的方法,其中向所述标签交换网络中的所述数据通信设备的集合传输所述消息的步骤包括利用所述消息中的第一数据字段来指示所述第一数据通信设备是否与 第一类虚拟专用网服务相关联;以及利用所述消息中的第二数据字段来指示所述第一数据通信设备是否与 第二类虚拟专用网服务相关联。
6. 如权利要求1所述的方法,还包括与所述第二数据通信设备通信,以建立与所述第一数据通信设备和所 述第二数据通信设备两者都支持的至少一种虚拟网络服务相关联的VPN (虚拟专用网),VPN的建立引起了 VPLS (虚拟专用局域网服务)的生 成。
7. 如权利要求1所述的方法,其中传输所述消.息和转发所述VPN的 列表的步骤涉及利用单一类型的协议来执行传输和转发的步骤。
8. 如权利要求1所述的方法,还包括利用第一通信协议来将所述消息传输到所述数据通信设备的集合;以及利用第二通信协议来将与所述第一数据通信设备的所述至少一种虚拟 网络服务相关联的VPN的列表转发到所述第二数据通信设备。
9. 如权利要求1所述的方法,其中所述第一数据通信设备具备VPLS 能力(具备虚拟专用局域网服务能力),并且接收来自所述第二数据通信 设备的对VPN的列表的所述请求的步骤是附随于所述第二数据通信设备 也具备VPLS能力这一事实的。
10. 如权利要求1所述的方法,还包括接收来自第三数据通信设备的对与所述第一数据通信设备的所述至少 一种虚拟网络服务相关联的VPN的列表的相应请求,所述第三数据通信 设备被包括在接收到所述消息的所述数据通信设备的集合中;以及响应于接收到来自所述第三数据通信设备的所述相应请求,将与所述 第一数据通信设备的所述至少一种虚拟网络服务相关联的VPN的列表转 发到所述第三数据通信设备。
11. 如权利要求IO所述的方法,其中传输所述消息的步骤包括利用所述消息中的单个比特来提供关于所述第一数据通信设备与所述 至少一种虚拟网络服务相关联的指示。
12. —种在标签交换网络的第一路由器中、用于帮助对所述标签交换 网络进行VPN (虚拟专用网)配置的方法,所述方法包括接收来自所述标签交换网络中的第二路由器的消息,所述消息包括关 于所述第二路由器具有相关联的至少一种VPN服务的指示;向所述第二路由器转发査询,所述査询包括对关于与所述第二路由器 相关联的所述至少一种VPN服务的信息的请求;以及响应于向所述第二路由器转发所述查询,接收来自所述第二路由器的指示出与所述第二路由器的所述至少一种VPN服务相关联的VPN的信息。
13. 如权利要求12所述的方法,还包括比较与所述第二路由器的所述至少一种VPN服务相关联的VPN的列 表和与所述第一路由器相关联的VPN的列表,以识别出与所述第一路由器和所述第二路由器两者均相关联的共同VPN;以及对于与所述第一路由器和所述第二路由器两者均相关联的所述共同VPN,发起与所述第二路由器的进一步通信,以在所述第一路由器和第二 路由器之间建立相应的VPN服务。
14. 如权利要求12所述的方法,还包括分析从所述第二路由器接收的所述消息,以检测与所述第二路由器相 关联的虚拟网络服务配设信息是否有变化。
15. 如权利要求14所述的方法,其中分析所述消息的步骤包括响应于识别出所述消息中的数据字段包括与在来自所述第二路由器的 先前消息中接收的先前数据值不同的数据值,发起与所述第二路由器的通 信以确定与所述第二路由器相关联的虚拟网络服务配设信息的变化。
16. 如权利要求15所述的方法,还包括分析从所述第二路由器接收的所述消息中的数据字段中的单个比特,以检测所述第二路由器是否与一种VPN服务相关联。
17. —种用于在标签交换网络中实现VPN (虚拟专用网)服务的计算机系统,所述计算机系统包括 处理器;存储与所述处理器所执行的应用相关联的指令的存储器单元;以及耦合所述存储器和所述存储器单元的互连,所述互连使得所述计算机系统能够执行所述应用并执行以下操作向所述标签交换网络中的路由器集合传输消息,所述路由器集合包括所述标签交换网络中的第二路由器,所述消息包括关于所述第一路由 器与至少一种虚拟网络服务相关联的指示;接收来自所述第二路由器的对与所述第一路由器的所述至少一种 虚拟网络服务相关联的VPN的列表的请求;以及响应于来自所述第二路由器的请,,将与所述第一路由器的所述至少一种虚拟网络服务相关联的VPN的列表转发到所述第二路由器。
18. 如权利要求17所述的计算机系统,其中向所述标签交换网络中的 所述路由器集合传输所述消息的操作包括利用所述消息中的第一数据字段来提供关于所述第一路由器与所述至 少一种虚拟网络服务相关联的指示,所述消息中的其他数据字段被用于提 供与所述标签交换网络相关联的配置信息。
19. 如权利要求18所述的计算机系统,其中向所述标签交换网络中的所述路由器集合传输所述消息的操作还包括利用所述消息中的第二数据字段来提供关于与所述第一路由器相关联 的虚拟网络服务配设信息是否有变化的指示。
20. 如权利要求19所述的计算机系统,其中向所述标签交换网络中的所述路由器集合传输所述消息的操作包括生成FEC (转发等价类)消息以在所述FEC消息的数据字段中包括网 络第2层VPN属性,所述数据字段中的单个比特指示出所述第一路由器 是否与所述至少一种虚拟网络服务相关联;以及将所述FEC消息转发到所述标签交换网络中的所述路由器集合。
21. 如权利要求17所述的计算机系统,其中向所述标签交换网络中的 所述路由器集合传输所述消息的操作包括利用所述消息中的第一数据字段来指示所述第一路由器是否与第一类 虚拟专用网服务相关联;以及利用所述消息中的第二数据字段来指示所述第一路由器是否与第二类 虚拟专用网服务相关联。
22. 如权利要求n所述的计算机系统,还支持以下操作与所述第二路由器通信,以建立与所述第一路由器和所述第二路由器两者都支持的至少一种虚拟网络服务相关联的VPN (虚拟专用网),VPN 的建立引起了VPLS (虚拟专用局域网服务)的生成。
23. 如权利要求17所述的计算机系统,其中传输所述消息和转发所述 VPN的列表的操作涉及利用单一类型的协议来执行传输和转发的步骤。
24. 如权利要求17所述的计算机系统,还支持以下操作 利用第一通信协议来将所述消息传输到所述路由器集合;以及利用第二通信协议来将与所述第 一路由器的所述至少--'种虚拟网络服务相关联的VPN的列表转发到所述第二路由器。
25. 如权利要求17所述的计算机系统,其中所述第一路由器具备 VPLS能力(具备虚拟专用局域网服务能力),并且接收来自所述第二路 由器的对VPN的列表的所述请求的步骤是附随于所述第二路由器也具备 VPLS能力这一事实的。
26. 如权利要求17所述的计算机系统,还支持以下操作 接收来自第三路由器的对与所述第一路由器的所述至少一种虚拟网络服务相关联的VPN的列表的相应请求,所述第三路由器被包括在接收到 所述消息的所述路由器集合中;以及响应于接收到来自所述第三路由器的所述相应请求,将与所述第一路 由器的所述至少一种虚拟网络服务相关联的VPN的列表转发到所述第三 路由器。
27. 如权利要求26所述的计算机系统,其中传输所述消息的步骤包括利用所述消息中的单个比特来提供关于所述第一路由器与所述至少一 种虚拟网络服务相关联的指示。
28. —种用于在标签交换网络中实现VPN (虚拟专用网)服务的计算机系统,所述计算机系统包括 处理器;存储与所述处理器所执行的应用相关联的指令的存储器单元;以及 耦合所述存储器和所述存储器单元的互连,所述互连使得所述计算机 系统能够执行所述应用并执行以下操作接收来自所述标签交换网络中的路由器的消息,所述消息包括关 于所述路由器具有相关联的至少一种VPN服务的指示;向所述路由器转发查询,所述查询包括对关于与所述路由器相关 联的所述至少一种VPN服务的信息的请求;以及响应于向所述路由器转发所述査询,接收来自所述路由器的指示出与所述路由器的所述至少一种VPN服务相关联的VPN的信息。
29. 如权利要求28所述的计算机系统,还支持以下操作 比较与所述路由器的所述至少一种VPN服务相关联的VPN的列表和与所述计算机系统相关联的VPN的列表,以识别出与所述计算机系统和 所述路由器两者均相关联的共同VPN;以及对于所述共同VPN,发起与所述路由器的进一步通信,以建立相应的 VPN服务。
30. 如权利要求28所述的计算机系统,还支持以下操作 分析从所述路由器接收的所述消息,以检测与所述路由器相关联的虚拟网络服务配设信息是否有变化。
31. 如权利要求30所述的计算机系统,其中分析所述消息的操作包括响应于识别出所述消息中的数据字段包括与在来自所述路由器的先前 消息中接收的先前数据值不同的数据值,发起与所述路由器的通信以确定 与所述路由器相关联的虚拟网络服务配设信息的所述变化。
32. —种标签交换网络,包括第一数据通信设备;多个其他数据通信设备;并且 '所述第一数据通信设备支持以下操作向所述标签交换网络中的所述多个其他数据通信设备传输消息, 所述多个其他数据通信设备包括第二数据通信设备,所述消息包括关于所 述第一数据通信设备被配置为支持至少一种虚拟网络服务的指示;接收来自所述第二数据通信设备的对与所述第一数据通信设备的 所述至少一种虚拟网络服务相关联的VPN的列表的请求;以及响应于来自所述第二数据通信设备的请求,将与所述第一数据通 信设备的所述至少一种虚拟网络服务相关联的VPN的列表转发到所述第 二数据通信设备。
33. —种用于实现VPN (虚拟专用网)服务的计算机系统,所述计算机系统包括用于从第一数据通信设备向标签交换网络中的其他数据通信设备的集 合传输消息的装置,所述其他数据通信设备的集合包括所述标签交换网络 中的第二数据通信设备,所述消息包括关于所述第一数据通信设备与至少 一种虚拟网络服务相关联的指示;用于接收来自所述第二数据通信设备的对与所述第一数据通信设备的 所述至少一种虚拟网络服务相关联的VPN的列表的请求的装置;以及用于响应于来自所述第二数据通信设备的请求将与所述第一数据通信 设备的所述至少一种虚拟网络服务相关联的VPN的列表转发到所述第二 数据通信设备的装置。
34. —种包括计算机可读介质的计算机程序产品,所述计算机可读介 质上存储有用于处理数据信息的指令,使得所述指令在被处理设备执行时能够使所述处理设备执行以下步骤从标签交换网络中的第一数据通信设备向所述标签交换网络中的其他 数据通信设备的集合传输消息,所述其他数据通信设备的集合包括第二数 据通信设备,所述消息包括关于所述第一数据通信设备被配置为实现至少一种虚拟网络服务的指示;接收来自所述第二数据通信设备的对与所述第一数据通信设备的所述 至少一种虚拟网络服务相关联的VPN的列表的请求;以及响应于来自所述第二数据通信设备的请求将与所述第一数据通信设备的所述至少一种虚拟网络服务相关联的VPN的列表转发到所述第二数据 通信设备。
全文摘要
利用两阶段过程来执行诸如VPLS(虚拟专用局域网服务)之类的VPN服务的实现。两阶段过程涉及提供关于标签交换网络中的PE(提供商边缘)路由器是否具有VPLS能力的通知。通知步骤可包括从PE路由器向标签交换网络中的远程PE路由器广播消息,以指示出广播方PE路由器是否具备VPLS能力。两阶段过程的第二阶段涉及基于接收到的关于PE路由器具备VPLS能力的通知,生成查询消息以发现广播方PE路由器所属的一组VPLS实例。生成查询消息的给定PE路由器可识别标签交换网络中的与相同VPLS相关联的其他PE路由器,以便在标签交换网络中建立VPLS。
文档编号H04L12/28GK101238681SQ200680028760
公开日2008年8月6日 申请日期2006年8月30日 优先权日2005年8月30日
发明者可俞尔·帕泰勒, 威廉·汤斯雷, 露咔·马蒂尼 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1