具有 x2 会话和 x2 L3 VLAN 的 BGP - 请解释

网络工程 局域网 BGP 第 2 层 第 3 层 苹果电脑
2022-02-24 16:57:21

我现在正在学习 Cisco BGP 网络,遇到了一个有趣的情况。在我的示例中,有一个建议在第 3 层配置两个 VLAN 以运行两个 BGP 会话。这样做是为了隔离流量,以便客户端可以在该 ISP 之外运行两个不同的网络(IP 前缀)。

这里的一个人试图这样解释它,但我觉得我仍然缺少一些东西:

“L3 VLAN 是仅在端口侧的本地 VLAN,而第 2 层 VLAN “跨越” ISP 的网络,如果将两个 VLAN 捆绑在一起 = 可以承载 L3 和 L2 流量的混合端口。

我理解 VLAN 本质上是第 2 层,因为它们处理 MAC 地址透明度,尤其是在考虑 ISP 网络上的 QinQ 流量时。我希望有人能解释的是,第 3 层上的 VLAN(或者可能更好的引用方式是将其称为逻辑连接)如何通过使用 IP 而不是 MAC 地址来工作。

提前致谢。

2个回答

在 L3 模式下 - 接口配置了 IP 地址和 dot1q(qinq) 封装。在这种情况下,当数据包到达此物理端口时,VLAN 标记用于将此数据包映射到正确的逻辑入口接口,如果 DMAC 与该接口上配置的 MAC 匹配,则终止 VLAN 和 L2 报头并进行路由.

如果您有具有多层功能的交换机或带有交换机线卡的路由器,如果配置正确,您可以将数据包从一个网络路由到另一个网络。例如,在 Cisco Catalyst 3750 上,您可以创建所谓的 SVI - 交换机虚拟接口,其编号与 VLAN ID 相同。

vlan 20
 name TEST
interface Vlan20
 ip address 20.0.0.1 255.255.255.0

使用该配置,您将能够从 VLAN 20 访问交换机。为了能够在 VLAN 20 和(假设我们有另一个以相同方式配置的)VLAN 30 之间实际路由数据包,您将需要配置行:

ip routing

这会将您的 Layer2 设备转换为多层设备(您的设备应该支持此功能)。

对于路由器设备,例如带有内置交换模块的 Cisco 880,配置几乎相同:您需要创建 VLAN 和具有相同编号的 VLAN 接口。

# Creating VLANs
vlan 20
 name TEST
vlan 30
 name TSET

# Creating L3-interfaces
interface Vlan20
 ip address 20.0.0.1 255.255.255.0
interface Vlan30
 ip address 30.0.0.1 255.255.255.0

# Assigning switch-ports to VLANs
interface FastEthernet0
 switchport access vlan 20
interface FastEthernet1
 switchport access vlan 30

更新

对于没有交换模块的路由器能够在单个接口上接受具有多个 VLAN 的标记流量,您可以使用子接口。

假设 GigabitEthernet0/0 是一个连接到 ISP 交换机的路由器接口,它是一个中继端口。ISP 标记两个 VLAN - 20 和 30。

interface GigabitEthernet0/0
 no shutdown
 no ip address
interface GigabitEthernet0/0.20
 encapsulation dot1q 20
 ip address 20.0.0.1 255.255.255.0
interface GigabitEthernet0/0.30
 encapsulation dot1q 30
 ip address 30.0.0.1 255.255.255.0

不强制使用等于 VLAN ID 的子接口编号。它只是为了便于阅读配置文件。您可以为其选择任何整数(不是 0)。