边缘虚拟桥接
了解在 EX 系列交换机上与 VEPA 技术配合使用的边缘虚拟桥接
使用虚拟以太网端口聚合器 (VEPA) 的服务器不会直接从一个虚拟机 (VM) 向另一个虚拟机 (VM) 发送数据包。相反,数据包会被发送到相邻交换机上的虚拟网桥进行处理。EX 系列交换机使用边缘虚拟桥接 (EVB) 作为虚拟网桥,在传递数据包的同一接口上返回数据包。
什么是 EVB?
EVB 是运行 Junos OS 的交换机上的一项软件功能,允许多个虚拟机相互通信,以及与以太网网络环境中的外部主机进行通信。
什么是 VEPA?
VEPA 是服务器上的一项软件功能,可与相邻的外部交换机协同工作,在多个虚拟机和外部网络之间提供桥接支持。VEPA 与相邻交换机协作,将所有源自虚拟机的帧转发到相邻交换机进行帧处理和帧中继(包括发夹转发),并将从 VEPA 上行链路接收到的帧控制和复制到相应的目标。
为什么使用 VEPA 而不是 VEB?
尽管虚拟机能够使用称为虚拟以太网桥接 (VEB) 的技术直接相互发送数据包,但您通常还是希望使用物理交换机进行交换,因为 VEB 需要昂贵的服务器硬件来完成此任务。您可以在服务器上安装 VEPA,以将交换功能分载到相邻的、成本较小的物理交换机上,而不是使用 VEB。使用 VEPA 的其他优势包括:
-
VEPA 降低了服务器的复杂性并提高了性能。
-
VEPA 利用物理交换机的安全和跟踪功能。
-
VEPA 可向专为相邻网桥设计的网络管理工具提供虚拟机间流量的可见性。
-
VEPA 减少了服务器管理员所需的网络配置量,从而减少了网络管理员的工作量。
EVB 的工作原理是什么?
EVB 使用两种协议,即虚拟站接口 (VSI) 发现和配置协议 (VDP) 和边缘控制协议 (ECP),为每个单独的虚拟交换机实例编程策略,具体来说,EVB 为每个 VSI 实例维护以下信息:
-
VLAN ID
-
VSI 类型
-
VSI 类型版本
-
服务器的 MAC 地址
VEPA 服务器使用 VDP 将 VSI 信息传播到交换机。这允许交换机在单个 VSI 上对策略进行编程,并通过实现将 VSI 与特定接口预关联的逻辑来支持虚拟机迁移。
ECP 是类似于链路层发现协议 (LLDP) 的传输层,允许多个上层协议发送和接收协议数据单元 (PDU)。ECP 通过实施排序、重传和 ack 机制改进了 LLDP,同时保持了足够轻量级,可以在单跳网络上实施。在已为 EVB 配置的接口上配置 LLDP 时,将在 EVB 配置中实施 ECP。也就是说,您配置的是 LLDP,而非 ECP。
如何实施 EVB?
当交换机与包含 VEPA 技术的服务器相邻时,您可以在交换机上配置 EVB。一般来说,这是您实现 EVB 时执行的操作:
-
网络管理器创建一组 VSI 类型。每个 VSI 类型都由 VSI 类型 ID 和 VSI 版本表示 - 网络管理员可以在任何给定时间部署一个或多个 VSI 版本。
-
VM 管理器配置 VSI(这是由 MAC 地址和 VLAN 标识对表示的 VM 的虚拟站接口)。为了实现此目的,VM 管理器将查询可用的 VSI 类型标识 (VTID) 并创建一个由 VSI 实例标识和所选 VTID 组成的 VSI 实例。此实例称为 VTDB,包含 VSI 管理器 ID、VSI 类型 ID、VSI 版本和 VSI 实例 ID。
也可以看看
在 EX 系列交换机上配置 Edge 虚拟桥接
当使用虚拟以太网端口聚合器 (VEPA) 技术将交换机连接到虚拟机 (VM) 服务器时,配置边缘虚拟桥接 (EVB)。EVB 不转换数据包;相反,它确保交换来自同一虚拟机上另一个虚拟机的数据包。换句话说,当数据包的源和目标是同一端口时,EVB 会正确地传输数据包,否则这种情况不会发生。
配置 EVB 还支持虚拟站接口 (VSI) 发现和配置协议 (VDP)。
开始配置 EVB 之前,请确保您已:
-
在连接到将在交换机上用于 EVB 的端口的服务器上配置数据包聚合。请参阅您的服务器文档。
-
为位于虚拟机上的所有 VLAN 配置了 EVB 接口。请参阅 为 EX 系列交换机配置 VLAN。
注意:为 EVB 配置的接口支持端口安全功能 MAC 移动限制和 MAC 限制;但是,EVB 不支持端口安全功能 IP 源保护、动态 ARP 检查 (DAI) 和 DHCP 侦听。有关这些功能的详细信息,请参阅 端口安全性功能。
要在交换机上配置 EVB,请执行以下操作:
也可以看看
示例:在 EX 系列交换机上配置边缘虚拟桥接以配合 VEPA 技术使用
当满足两个条件时,虚拟机 (VM) 可以使用与虚拟机服务器相邻的物理交换机向其他虚拟机和网络的其余部分发送数据包:
-
虚拟机服务器上配置了虚拟以太网数据包聚合器 (VEPA)。
-
交换机上配置了边缘虚拟桥接 (EVB)。
此示例说明如何在交换机上配置 EVB,以便数据包可以进出虚拟机。
要求
此示例使用以下硬件和软件组件:
-
一台 EX4500 或 EX8200 交换机
-
适用于 EX 系列交换机的 Junos OS 12.1 或更高版本
在交换机上配置 EVB 之前,请确保已为服务器配置虚拟机、VLAN 和 VEPA:
以下是此示例中使用的组件数量,但您可以使用更少或更多组件来配置该功能。
-
在服务器上,配置六个虚拟机,VM 1 到 VM 6,如 图 1 所示。请参阅您的服务器文档。
-
在服务器上配置三个名为 VLAN_Purple、VLAN_Orange 和 VLAN_Blue 的 VLAN,并为每个 VLAN 添加两个虚拟机。请参阅您的服务器文档。
-
在服务器上,安装并配置 VEPA 以聚合虚拟机数据包。
-
在交换机上,配置一个接口,该接口使用与服务器相同的三个 VLAN(VLAN_Purple、VLAN_Orange 和 VLAN_Blue)。请参阅 为 EX 系列交换机配置 VLAN。
概述和拓扑
EVB 是一种软件功能,可提供多个虚拟终端站,这些终端站相互通信以及与以太网网络环境中的外部交换机通信。
此示例演示了将交换机连接到配置了 VEPA 的服务器时在交换机上执行的配置。在此示例中,一台交换机已连接到托管六台虚拟机 (VM) 的服务器,并配置了用于聚合数据包的 VEPA。服务器的六个虚拟机是 VM 1 到 VM 6,每个虚拟机都属于三个服务器 VLAN 之一(VLAN_Purple、VLAN_Orange 或 VLAN_Blue。由于 VEPA 是在服务器上配置的,因此没有两个虚拟机可以直接通信,虚拟机之间的所有通信都必须通过相邻交换机进行。 图 1 显示了此示例的拓扑结构。
边缘虚拟桥接示例拓扑
服务器的 VEPA 组件将所有数据包从任何虚拟机推送到相邻交换机,无论数据包是发往同一服务器上的其他虚拟机还是任何外部主机。相邻交换机根据接口配置向传入数据包应用策略,然后根据 MAC 学习表将数据包转发到相应接口。如果交换机尚未学习目标 MAC,它会将数据包泛洪到所有接口,包括数据包到达的源端口。
表 1 显示了此示例中使用的组件。
| 组件 | 描述 |
|---|---|
|
EX 系列交换机 |
支持此功能的交换机列表,请参阅 EX 系列交换机软件功能概述 或 EX 系列虚拟机箱软件功能概述。 |
|
ge-0/0/20 |
交换机接口到服务器。 |
|
服务器 |
采用虚拟机和 VEPA 技术的服务器。 |
|
虚拟机 |
服务器上有六个虚拟机,分别命名为 VM 1、VM 2、VM 3、VM 4、VM 5 和 VM 6。 |
|
VLAN |
三个 VLAN,分别命名为 VLAN_Purple、VLAN_Orange 和 VLAN_Blue。每个 VLAN 都有两个虚拟机成员。 |
|
VEPA |
虚拟以太网端口聚合器 (VEPA) 是服务器上的一种软件功能,可与相邻的外部交换机协同工作,在多个虚拟机之间以及与外部网络提供桥接支持。VEPA 与交换机协作,将所有源自虚拟机的帧转发到相邻网桥进行帧处理和帧中继(包括发夹转发),并将从 VEPA 上行链路接收到的帧控制和复制到相应的目标。 |
配置 EVB 还支持虚拟站接口 (VSI) 发现和配置协议 (VDP)。
配置
过程
CLI 快速配置
要快速配置 EVB,请复制以下命令并将其粘贴到交换机层次结构级别的 [edit] CLI 中。
set interfaces ge-0/0/20 unit 0 family ethernet-switching port-mode tagged-access set protocols lldp interface ge-0/0/20.0 set vlans vlan_purple interface ge-0/0/20.0 set vlans vlan_orange interface ge-0/0/20.0 set vlans vlan_blue interface ge-0/0/20.0 set protocols edge-virtual-bridging vsi-discovery interface ge-0/0/20.0 set policy-options vsi-policy P1 from vsi-manager 98 vsi-type 998 vsi-version 4 vsi-instance 09b11c53-8b5c-4eeb-8f00-c84ebb0bb998 set policy-options vsi-policy P1 then filter f2 set policy-options vsi-policy P3 from vsi-manager 97 vsi-type 997 vsi-version 3 vsi-instance 09b11c53-8b5c-4eeb-8f00-c84ebb0bb997 set policy-options vsi-policy P3 then filter f3 set firewall family ethernet-switching filter f2 term t1 then accept set firewall family ethernet-switching filter f2 term t1 then count f2_accept set firewall family ethernet-switching filter f3 term t1 then accept set firewall family ethernet-switching filter f3 term t1 then count f3_accept set protocols edge-virtual-bridging vsi-discovery vsi-policy P1 set protocols edge-virtual-bridging vsi-discovery vsi-policy P3
分步程序
要在交换机上配置 EVB,请执行以下操作:
-
为要启用 EVB 的接口配置标记访问模式:
[edit interfaces ge-0/0/20] user@switch# set unit 0 family ethernet-switching port-mode tagged-access
-
在要启用 EVB 的端口接口上启用链路层发现协议 (LLDP):
[edit protocols] user@switch# set lldp interface ge-0/0/20.0
-
将接口配置为虚拟机上所有 VLAN 的成员。
[edit] user@switch# set vlans vlan_purple interface ge-0/0/20.0 user@switch# set vlans vlan_orange interface ge-0/0/20.0 user@switch# set vlans vlan_blue interface ge-0/0/20.0
-
在接口上启用 VSI 发现和控制协议 (VDP):
[edit protocols] user@switch# set edge-virtual-bridging vsi-discovery interface ge-0/0/20.0
-
为 VSI 信息定义策略。VSI 信息基于 VSI 管理器 ID、VSI 类型、VSI 版本和 VSI 实例 ID:
[edit policy-options] user@switch# set vsi-policy P1 from vsi-manager 98 vsi-type 998 vsi-version 4 vsi-instance 09b11c53-8b5c-4eeb-8f00-c84ebb0bb998 user@switch# set vsi-policy P1 then filter f2 user@switch# set vsi-policy P3 from vsi-manager 97 vsi-type 997 vsi-version 3 vsi-instance 09b11c53-8b5c-4eeb-8f00-c84ebb0bb997 user@switch# set vsi-policy P3 then filter f3
-
在上一步中定义了两个 VSI 策略,每个策略都映射到不同的防火墙过滤器。定义防火墙过滤器:
[edit firewall family ethernet-switching] user@switch# set filter f2 term t1 then accept user@switch# set filter f2 term t1 then count f2_accept user@switch# set filter f3 term t1 then accept user@switch# set filter f3 term t1 then count f3_accept
-
将 VSI 策略与 VSI 发现协议相关联
[edit] user@switch# set protocols edge-virtual-bridging vsi-discovery vsi-policy P1 user@switch# set protocols edge-virtual-bridging vsi-discovery vsi-policy P3
结果
user@switch# show protocols
edge-virtual-bridging {
vsi-discovery {
interface {
ge-0/0/20.0;
}
vsi-policy {
P1;
P3;
}
}
}
lldp {
interface ge-0/0/20.0;
user@switch# show policy-options
vsi-policy P1 {
from {
vsi-manager 98 vsi-type 998 vsi-version 4 vsi-instance 09b11c53-8b5c-4ee
b-8f00-c84ebb0bb998;
}
then {
filter f2;
}
}
vsi-policy P3 {
from {
vsi-manager 97 vsi-type 997 vsi-version 3 vsi-instance 09b11c53-8b5c-4ee
b-8f00-c84ebb0bb997;
}
then {
filter f3;
}
}
user@switch# show vlans
vlan_blue {
interface {
ge-0/0/20.0;
}
}
vlan_orange {
interface {
ge-0/0/20.0;
}
}
vlan_purple {
interface {
ge-0/0/20.0;
interface;
}
}
user@switch# show firewall
family ethernet-switching {
filter f2 {
term t1 {
then {
accept;
count f2_accept;
}
}
}
filter f3 {
term t1 {
then {
accept;
count f3_accept;
}
}
}
}
验证
要确认 EVB 已启用且工作正常,请执行以下任务:
验证 EVB 配置是否正确
目的
验证 EVB 配置是否正确
行动
user@switch# show edge-virtual-bridging Interface Forwarding Mode RTE Number of VSIs Protocols ge-0/0/20.0 Reflective-relay 25 400 ECP, VDP, RTE
意义
首次启用 LLDP 时,将使用 LLDP 在交换机和服务器之间进行 EVB LLDP 交换。作为此交换的一部分,将协商以下参数:支持的 VSI 数、转发模式、ECP 支持、VDP 支持和重传计时器指数 (RTE)。如果输出具有协商参数的值,则 EVB 配置正确。
验证虚拟机是否已成功与交换机关联
目的
验证虚拟机是否已成功与交换机关联。将 VSI 配置文件与交换机接口成功关联后,验证是否在 MAC 表或转发表上学习了虚拟机的 MAC 地址。虚拟机的 MAC 地址的学习类型将为 VDP,成功关闭虚拟机后,相应的 MAC-VLAN 条目将从 FDB 表中清除,否则将永远不会关闭。
行动
user@switch# run show ethernet-switching table Ethernet-switching table: 10 entries, 4 learned VLAN MAC address Type Age Interfaces v3 * Flood - All-members v3 00:02:a6:11:bb:1a VDP - ge-1/0/10.0 v3 00:02:a6:11:cc:1a VDP - ge-1/0/10.0 v3 00:23:9c:4f:70:01 Static - Router v4 * Flood - All-members v4 00:02:a6:11:bb:bb VDP - ge-1/0/10.0 v4 00:23:9c:4f:70:01 Static - Router v5 * Flood - All-members v5 00:23:9c:4f:70:01 Static - Router v5 52:54:00:d5:49:11 VDP - ge-1/0/20.0
验证交换机是否正在学习 VSI 配置文件
目的
验证交换机是否正在学习 VSI 配置文件。
行动
user@switch# show edge-virtual-bridging vsi-profiles
Interface: ge-0/0/20.0
Manager: 97, Type: 997, Version: 3, VSI State: Associate
Instance: 09b11c53-8b5c-4eeb-8f00-c84ebb0bb997
MAC VLAN
00:10:94:00:00:04 3
意义
每当在服务器上启动为 VEPA 配置的虚拟机时,虚拟机就会开始发送 VDP 消息。作为此协议的一部分,交换机上学习了 VSI 配置文件。
如果输出具有“管理器”、“类型”、“版本”、“VSI 状态”和“实例”的值,则交换机正在学习 VSI 配置文件。