Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

VPLS 标签块作

虚拟专用 LAN 服务 (VPLS) 是一种第 2 层 (L2) 服务,用于跨广域网 (WAN) 模拟局域网 (LAN)。VPLS 标签在边界网关协议 (BGP) 控制平面中定义和交换。在 Junos OS 实施中,标签块在 VPLS 控制平面中分配并用于两个主要功能:自动发现和信令。

  • 自动发现 — 一种使用 BGP 更新消息自动识别特定 VPLS 域中每个提供商边缘 (PE) 路由器的方法。

  • 信令 — VPLS 域中的每对 PE 路由器相互发送和撤回 VPN 标签。标签用于在路由器之间建立和拆除伪线。信令还用于传输伪线的某些特性。

注意:

在 VPLS 文档中,PE 路由器等术语“路由器”用于指代提供路由功能的任何设备。

PE 路由器使用 BGP 扩展社区来识别其 VPLS 的成员。一旦PE路由器发现其成员,它就能够通过交换和撤回标签以及传输伪线的某些特性来建立和拆除成员之间的伪线。

PE 路由器使用不同的 BGP 更新消息向所有远程 PE 路由器发送通用更新消息,从而降低控制平面负载。这是通过使用 VPLS 标签块实现的。

网络层可达性信息的要素

VPLS BGP 网络层可达性信息 (NLRI) 用于交换 VPLS 成员资格和参数。 表 1 中定义了 VPLS BGP NLRI 的元素。

表 1:NLRI 元素

元素

首字母缩略词

描述

默认大小(八位位组)

长度

 

NLRI 大小的总长度(以字节为单位表示)。

2

路由区分符

研发

PE 上配置的每个路由实例的唯一标识符。

8

VPLS 边缘 ID

VE ID

用于识别边缘站点的唯一编号。

2

VE 块偏移

VBO

用于标识标签块的值,从中选择标签值为远程站点设置伪线。

2

VE 块大小

VBS

指示对等方在单个块中可以拥有的伪线数。

2

标签库

LB

播发标签块中标签的起始值。

3

NLRI 元素的要求

Junos OS 要求为 PE 路由器上配置的每个路由实例设置唯一的路由识别符 (RD)。PE 路由器可能在 VPLS(或 VPN)域中使用相同的 RD,也可能使用不同的 RD。使用不同的 RD 有助于识别 VPLS NLRI 的发起方。

VPLS 边缘 (VE) ID 可以是唯一的 VE ID、站点 ID 或客户边缘 (客户边缘) ID。VPLS PE 路由器使用 VE ID 为标签块编制索引,用于派生传输 VPLS 流量所需的传输和接收 VPN 标签。VE ID 标识特定站点,因此该站点在 VPLS 域中必须是唯一的,但多宿主等某些场景除外。

所有 PE 路由器之间均具有全网状连接,以便交换标签和设置伪线。VE 块大小 (VBS) 是一个可配置的值,表示覆盖远程对等方的所有伪线所需的标签块数。

默认情况下,单个标签块包含 8 个标签(1 个八位位组)。Junos OS 中的默认 VBS 为 2 个块(2 个八位位组),共 16 个标签。

如何在标签块中使用标签

每个 PE 路由器都会创建标签块中的标签到 VPLS 域中站点的映射。使用块偏移量播发标签块的 PE 路由器指示哪些站点可以使用标签访问它。当 PE 路由器准备好将其成员资格播发到 VPLS 域时,它会分配一个标签块并播发 VPLS NLRI。这样,同一 VPLS 域中的其他 PE 路由器就可以了解到 VPLS 的存在,并在需要时为其设置伪线。为此目的播发的 VPLS NLRI 称为 默认 VPLS NLRI。默认 VPLS NLRI 中的标签块称为 默认标签块

标签块组合

标签块(一组标签)用于到达给定的站点 ID。默认情况下,单个标签块包含 8 个标签(1 个八位位组)。在 Junos OS 中,VBS 默认为 2 个八位位组。

播发的标签块定义为标签库 (LB) 和 VE 块大小 (VBS)。它是一组连续的标签(LB、LB+1,...LB+VBS-1)。例如,当路由器 PE-A 发送 VPLS 更新时,它会向所有其他 PE 路由器发送相同的标签块信息。每个接收 LB 播发的 PE 路由器都会通过向标签库添加自己的站点 ID 来推断出用于路由器 PE-A 的标签。

这样,每个接收 PE 都会获得该 VPLS 的 PE-A 的唯一标签。这种简单的方法通过使用 VE 块偏移 (VBO) 得到增强。

标签块定义为:<标签基数 (LB)、VE 块偏移量 (VBO)、VE 块大小 (VBS)> 是集合 {LB+VBO、LB+VBO+1,...,LB+VBO+VBS-1}。

Junos OS 中的标签块

Junos OS 实施包含多个标签块,每个标签块具有不同的标签库,而不是用单个大型标签块覆盖 VPLS 中的所有 VE ID。这使得标签块管理更加容易,并且还允许路由器 PE-A 将加入 VPLS 的 PE 路由器与路由器 PE-A 已播发的标签块集未涵盖的站点 ID 进行集成。

VPLS 标签块结构

本节说明如何唯一标识标签块。

具有站点 ID、VE 块偏移量 VBO、VE 块大小 VBS 和标签库 LB 的 VPLS BGP NLRI 会向对等方传达以下信息:

  • V 的标签块:从 LB 到 (LB + VBS -1) 的标签。

  • 远程 VE 设置为 V:从 VBO 到 (VBO + VBS -1)。

播发的标签块是一组用于到达给定站点 ID 的标签。如果有多个标签块,远程 VE 集有助于确定要使用的标签块。 图 1 中的示例说明了标签块。有两个块,每个块有八个标签。在此示例中,标签值为 64 到 71 和 80 到 87。

图 1:VPLS 标签块结构 Diagram of block-based indexing showing two blocks labeled VE Block Size 8, with sequential label boxes and site IDs, connected to indicate a mapping.

要创建这 16 个标签到 16 个站点的一对一映射,请假设站点 ID 是数字 1 到 16,如图所示。站点块指示哪个站点 ID 可以使用标签块中的哪个标签。因此,在第一个块中,站点 ID 1 使用 64,站点 ID 2 使用 65,依此类推。最后,站点 ID 8 使用 71。第 9 个站点 ID 将使用第二个块而不是第一个块。

通过比较 VBO <= 本地站点 ID < (VBO +VBS) 的值来计算标签。因此,站点 ID 9 使用 80,站点 ID 10 使用 81,依此类推。

为了进一步说明标签到站点的一对一映射,假设站点偏移量为 1、标签基数为 10 的标签块。VPLS NLRI 中包含的标签基量和块偏移量组合提供了标签到站点 ID 的映射。块偏移量是起始站点 ID,可使用 VPLS NLRI 中播发的标签块。

要通告默认 VPLS NLRI,PE 路由器会选择适合其自身站点 ID 的起始块偏移量,使得结束块偏移量为单个标签块的倍数。在 Junos OS 中,默认情况下,单个标签块有 8 个标签。

末端块偏移是映射到标注块中最后一个标注的最后一个场地 ID。第一个块的末端偏移为 8,它映射到标签 17,第二个块为 16。例如,ID 为 3 的站点选择的块偏移量为 1,并播发大小为 8 的标签块以覆盖 ID 为 1 到 8 的站点。ID 为 10 的场地选择 9 的块偏移量以覆盖 ID 为 9 到 16 的场地。

图 2 中所示的 VPLS NLRI 适用于站点 ID 18。标注库包含值262145。块偏移包含值 17。该图显示了哪些站点 ID 对应于哪些标签。

图 2:标签映射示例 Label mapping for Site ID 18 showing Label Base 292145 with labels 292145 to 292152 mapped to Site IDs 17 to 24. Site Offset is 17.

如果配置了站点 ID 17 的 PE 路由器与配置了站点 ID 18 的 PE 路由器位于同一 VPLS 域中,则它将接收 VPLS NLRI,如图 2 所示。因此,它使用标签262145将流量发送到站点 18。同样,配置了站点 ID 19 的 PE 路由器使用标签262147将流量发送到配置了站点 ID 18 的 PE 路由器。但是,只有配置了站点 ID 17 到 24 的 PE 路由器才能使用显示的标签块来设置伪线。