双标记到单标记接口上的 VLAN 映射

网络工程 思科 转变 VLAN
2021-07-20 10:32:12

是否可以将 C-VLAN 从单标记接口映射到双标记接口上的 S-VLAN,同时保留所有客户在不同标记交换机端口上访问服务的能力?

下图可能更好地说明了我在这里尝试实现的目标。很多人告诉我,如果没有二级开关,这不太可能,但他们无法真正解释原因。到位的交换机是 Cisco Nexus 3548,但我想知道一般的意见,在一台机器上完成所有这些的可能性是什么。

在此处输入图片说明

2个回答

你所提议的不可能在一个盒子里实现。

如果我们只关注 C-TAG 300,那么从交换机端口的角度来看,图中面向客户/最左侧端口上的流量将需要入口帧才能弹出外部(S-Tag)并将流量放入 C - 交换机上的 VLAN 300(因此它可以传递到其他标记的成员接口)。

但是,当流量返回此接口时,您只能将单个 S-TAG 推送到从该端口 500 或 600 出口的 C-TAG 300 帧上。交换机无法区分返回到每个客户的流量,因为从交换机的角度来看,从此端口获知的任何 MAC 都将位于 VLAN 300 中,而不是关联的 S-VLAN。

可以使用两个交换机(或者我敢建议,一个交换机用一条电缆回环),但随着 S-Tag 数量的增加,可扩展性不是特别高。

下面是一个非常贫民窟的 ASCII 网络图,它是如何工作的:

                           Switch 1           Switch 2
                         +----------+         +-------+
 --[600 300]--[500 300]--|-+-(500)--|--[300]--|-(300)-|---[ ]---
     Customer-facing     | +-(600)--|--[300]--|-(   )-|--[300]-- 
                         +----------+         +-------+

从左侧,您将面向客户的端口为两个 S-Tag 中继,然后在交换机上为两个 S-VLAN(500 和 600)定义 VLAN。

然后,您将在每个 S-VLAN 中有一个未标记的端口连接到交换机 2 - 这将发送仅包含每个 Q-in-Q 帧的有效载荷的帧,在本例中,该帧将是一个带有单个 C-Tag 300 的帧.

在交换机 2 上,您将定义 VLAN 300(和其他 C-VLAN)并具有允许 VLAN 300 面向交换机 1 的标记端口。

从我的杰作图中可能不会立即明显看出,但交换机 2 只有一个带有四个物理接口的大 VLAN 300。

现在,您可以将带有 VLAN 300 单标记(或未标记)的其他端口发送到您的各种服务。

事实证明,Nexus 3548 似乎不具备 Q-in-Q 能力:

来自思科文档

配置 Q-in-Q 的功能仅适用于 Cisco Nexus 3000 和 3100 系列交换机。如果 VLAN ID 保留在边缘端口上,则在为边缘端口配置 VLAN ID 时会自动启用 Q-in-Q。

如果我理解正确的话,这可以通过一个开关实现,但它并不漂亮。正如 Benjamin 建议的那样,您可以将电缆绕回到交换机上。一个接口配置为 802.1q 隧道,而另一个接口配置为仅允许 C-VLAN 的中继。802.1q 隧道接口将根据需要推送/弹出 S-VLAN。它绝对不是可扩展的。思科在其城域网设备上提供此功能。过去,它被称为灵活的 VLAN 匹配,并允许以多种方式操纵标签。