在20多个站点的Q-in-Q隧道网络中,是否应该只在主站点通过和路由远程站点VLAN?

网络工程 路由器 VLAN
2021-07-13 22:55:21

该运营商正在向所有 20 多个远程站点和公司提供 Q-in-Q 隧道。我的问题是:利用此设置的最佳方式是什么?

  1. 我应该只使用过渡 VLAN 和子网并路由所有内容吗?

  2. 我是否应该将所有 VLAN 传递回主站点并从该位置路由?

  3. 我应该只将公司 VLAN 传递到远程并在每个远程路由吗?

4个回答

您并没有真正提供足够的信息来直接回答这个问题(路由协议、流量模式、供应商选择等),但这是我评估问题的方式。

如果您使用的路由协议可能会到达单个 VLAN 上的“所有”对等点,那么您可能会遇到意想不到的异常行为,具体取决于您的 IP 寻址方式。例如,在具有默认设置的网络中,在 OSPF 的情况下将选择“最高”IP。这意味着,例如,如果您将网络编号为 .1 是“核心”,0.254 是最远的边缘,则 .254 将是指定的路由器。因此,您必须仔细考虑路由协议的选择和该协议的配置。在 OSPF 的情况下,您可能希望将路由分成两个区域,您可能需要多个接口。

在站点之间的延迟高度可变的情况下(例如,QinQ 服务通过单个“计费”运营商提供,但可能通过多个交付运营商提供,在大型城域市场中相当常见),路由协议计时器也可能受到异常影响。这可能会导致 EIGRP 等协议出现问题,该协议严重依赖 hello 计时器和更新确认。这将导致扩展性不佳,因为您将发送大量每个路由器都必须处理的 hello。此外,如果没有特定的配置(EIGRP 存根路由),每个站点最终也会确认每个其他站点的路由信息​​,更重要的是,当一个站点关闭时,HQ 会向每个其他站点询问该子网。在您有一个摆动站点的情况下,这也会导致问题。

一些供应商可能对旨在缓解这些设计问题的功能提供不同的支持,因此供应商的选择是一个因素。

BGP 可以解决这些问题,但对于大多数没有经验的网络工程师来说,这是一个更高的学习负担。OSPF 和 EIGRP 也有解决这些问题的方法,但它需要对条件和要求有敏感的认识。

对于 20 个站点,我认为这不会是大量的处理或关注。在站点需要经常相互通信的情况下,这可能更有意义。但是,如果站点主要需要与核心通信而很少需要与其他站点通信,我会考虑将单个 VLAN 用作从核心到每个站点的“传输 VLAN”。这意味着您只需在每个位置配置一次 VLAN,在核心配置一次。N*sites*VLANs如果没有一个了解模板和编程的优秀网络运营团队,这样做是一项相当大的配置工作,并且不会很好地扩展,并且随着站点数量的增长,运营将变得非常复杂。

对于大多数流量通过核心和偶尔使用“侧 VLAN”以在两个站点之间进行直接通信的混合设计,可能对您有一些价值。但是您必须仔细考虑可能导致的路由交互。最好咨询您的提供商,以了解网络构建和配置背后的详细信息(他们是否拥有所有资源?是否有“中央 POP”可能保持在网络的其他部分可能关闭的地方) ? 等)以便更好地了解您的选择。

路由设计可以更好地扩展是业界常见的比喻,但这主要是对非常扁平的大型交换数据中心网络的响应,这些网络具有广泛的故障和广播域。

在您提出的设计选项中,我想在提出具体建议之前更好地了解要求,但我认为我倾向于将公司站点到远程站点的各个接口作为“传输”VLAN,每个站点维护其自己的 VLAN 数据库并独立处理核心的每个接口(中心和分支)。

Cisco 设备上此选项的示例接口配置为:

R1(核心)

int E0/0.201
 encaps dot1q 201
 no shut
 ip address 192.168.1.1 255.255.255.0

int E0/0.202
 encaps dot1q 202
 no shut
 ip address 192.168.2.1 255.255.255.0

R2(远程站点)

int E0/0.201
 encaps dot1q 201
 no shut
 ip address 192.168.1.2 255.255.255.0

R3

int E0/0.202
 encaps dot1q 202
 no shut
 ip address 192.168.2.2 255.255.255.0

然后,您将在这些接口中的每一个上运行一个路由协议,几乎就像一个单独的路由器将有多个不同的接口连接到不同的路由器。

提供商可以为您提供可接受的 VLAN 标签列表,或者可以允许您运行任何标签,具体取决于他们的服务是如何提供的。

相反,如果您想要在多个站点之间桥接大型广播第 2 层域,并使多个位置的服务器/主机/客户端位于同一 VLAN 上,以便它们可以“在本地”相互通信,那么还有许多其他问题。这可能会在没有彻底了解您的环境的情况下产生真正的问题,因为执行 QinQ 的提供程序通常无法通过一些在 QinQ 环境中运行不佳的重要协议。

听起来你不知道你的设计目标是什么,或者至少没有解释清楚。

如果您使用的是集线器和辐条设置,这实际上是每个隧道的 VLAN,那么您应该只通过隧道在任何地方进行路由。您可以在集线器上运行 OSPF 之类的东西,并为每个隧道运行一个区域。然后只需将 sumamry 默认路由通告到分支,以便它通过集线器。这提供了您希望通过集线器进行路由的情况。

你的设计目标是什么,或者你的QinQ隧道是如何设置的,真的不清楚。你应该问自己这些问题,然后给我们答案

您是否与辐条隧道交谈过?每个站点是否都有本地 Internet 分支?一切都需要通过集线器吗?

如果站点有本地 Internet 突破口,您可以使用 DMVPN 之类的东西,只需将默认路由通告到分支即可。然后您的辐条将通过互联网在它们之间建立动态 vpn 隧道。

我会按照 Arima 提到的每个 vlan 的 sub int 方法做一些事情,但是对于 IP,如果可以的话,我可能会使用 /30 或 /31。

基本上是一个底层的P2P。然后我绝对会运行一个路由协议,在这种情况下我可能会使用 eigrp。

然后在每个遥控器上,您将拥有特定于该站点的各种语音、数据和杂项 vlan/子网。

尽可能利用 L3 访问。

反正那只是我。保持简单但保持L3。

帽子最终取决于您想做什么。提供 Q-in-Q 的运营商仅意味着它在您的站点之间提供透明连接。您应该设计您的网络,就好像运营商甚至不在那里一样。将运营商的网络视为站点之间的长以太网电缆,并进行相应的设计。