我可以在以太网交换机之间聚合多个上行链路端口吗?

网络工程 以太网 IEEE-802.1ax 上行链路
2021-07-21 01:49:33

免责声明:我不是网络工程师;我只需要尝试做一个足够好的印象来解决这个问题。

我们办公室有两个房间。首先,我想放置一个大型铜质 10-GbE 交换机来提供与多台服务器的连接,如下所示:

https://www.fs.com/products/69378.html

该交换机具有 48 个 10G-BASE-T 端口和 4 个 40-GbE 上行链路端口。

在第二个房间,我们有许多需要 10-GbE SFP+ 连接的设备。看起来像这样的事情可以工作:

https://www.fs.com/products/69226.html

此交换机具有 48 个 SFP+ 端口和 6 个 40-GbE 上行链路端口。

目标:我希望尽可能在两个房间的任意一对主机之间提供 10-GbE 线速性能。只要它们插入同一个交换机,这很简单,但我想知道如何最好地跨两个交换机实现这一点。我认为我不需要像 QoS、VLAN 之类的任何花哨的功能;我只想要一个平面 2 级网络。我能否简单地在两台交换机之间连接 4 个 40 GbE 上行链路,并在两个房间之间获得约 160 Gbps 的带宽?

我的应用程序由连续的、非常高速率的 UDP 流组成;也就是说,特定流通常会自行占用 2-8 Gbps 的带宽。这意味着每台主机在任何时候都只能与 1-2 台其他主机通信,从而限制了同时运行的流总数。我不确定这是否使问题简化或复杂化:我需要确保 UDP 数据报不会被任何上行链路端口的聚合重新排序。

1个回答

目标:我希望尽可能在两个房间的任意一对主机之间提供 10-GbE 线速性能。

为了真正保证10G,您需要为每个主机的房间之间提供10G的专用带宽。每边 10 台主机需要 10*10 = 100G 的链接。聚合链路可能还不够,因为流是根据源/目标地址和端口进行平衡的——两个随机流很容易落在同一条物理链路上并在另一条链路空闲时争夺带宽。

也就是说,LAG 中继通常可以正常工作,除非网络非常繁忙或非常需要始终保证带宽。

我能否简单地在两台交换机之间连接 4 个 40 GbE 上行链路,并在两个房间之间获得约 160 Gbps 的带宽?

不可以。在交换机之间运行多个连接会导致桥接环路,进而导致广播风暴,从而导致网络瘫痪。

一种解决方案是使用生成树协议 (RSTP/MSTP),但这仅对冗余链路有用(除了一条链路之外的所有链路都在操作上停用)。

您需要的是链路聚合 (LAG),最好是 LACP,它是一种与供应商无关的 IEEE 聚合协议。将需要的接口放在两端的 LACP 中继组中,然后连接端口。请注意,您只能在两台交换机之间运行 LACP 中继 - 您不能在三个或更多交换机之间拆分和重组中继。

对于两个以上的交换机,有各种专有解决方案或最短路径桥接 (IEEE 802.1aq),遗憾的是还没有流行起来。

编辑

我需要确保 UDP 数据报不会被任何上行链路端口的聚合重新排序。

这正是基于 SA/DA 散列分配流量的原因:以便流中的每个数据报始终使用相同的物理路径。如果您还需要避免在相同的两个终端节点之间的跨流超车,您需要确保仅使用源/目标 IP 地址而不是端口号。

/编辑

您是否还通过 LAG 中继中继 VLAN 并不重要。在所有端口上使用 STP 总是一个好主意,以防 LAG 中继出现问题或有人建立另一个链接。