在具有多个交换机冗余连接的环境中,二层环路可能会发生。为了解决这个问题,我们通常选择使用生成树协议(STP),但开启STP会阻塞冗余端口,导致这些冗余链路只能作为备份,而不能承担负载分担。那么,有没有更好的方法来利用这些冗余链路呢?

要解决这个问题,我们可以尝试将多根链路逻辑地组合成一条隧道,并将每条链路视为成员链路。从生成树的角度来看,这将是一根链路,因此不会阻塞端口。这些成员链路可以全部用于转发,从而提高链路的整体带宽。当其中一条成员链路出现故障时,不会影响整体的连通性,只是总体带宽会降低。

这种链路聚合技术被称为Eth-trunk(以太网聚合),它分为两种模式:手工负载分担模式和静态LACP模式。

1. 手工负载分担模式:需要手动创建链路聚合组,并配置多个接口加入到所创建的Eth-trunk中。

2. 静态LACP模式:该模式通过LACP协议协商Eth-Trunk参数后自主选择活动接口。

实验:搭建聚合链路

我们可以使用两台S5700交换机进行实验,所有设备都使用默认配置,并检查连通性。在默认配置下,交换机会使用802.1S标准的生成树协议。通过观察,我们发现连接的3根链路中只有1根在转发,其他两根都被阻塞了。

实验一:配置Eth-Trunk实现链路聚合(手工负载分担模式)

配置解释:

[SW1] interface Eth-Trunk 1 创建一个链路聚合端口

[SW1-Eth-Trunk1] mode manual load-balance 指定模式为手工负载分担模式

#

interface GigabitEthernet0/0/1 add member-link eth-trunk 1

#

interface GigabitEthernet0/0/2 add member-link eth-trunk 1

#

首先添加两根成员链路,然后查看生成树效果。

当我们添加新成员链路时,我们发现它们已经合并成一根链路,并成为逻辑上的一根链路。我们继续添加更多成员链路,直到所有链路都合并成一根链路。从生成树的角度来看,这根链路可以全部用来转发数据包。

实验二:静态LACP模式

我们可以进入接口并修改接口LACP优先级(默认值为32768),以便优先使用某些链路。还可以设置活动链路的数量(最大为8条)。使用[SW2] display eth-trunk命令可以查看链路聚合情况。

链路聚合和生成树协议都是网络中常用的技术,但是它们的作用不同。链路聚合可以把几个链路整合到一起,就算其中有部分链路断了也不会导致数据无法发送,而且还能扩大端口的带宽。而生成树协议主要是用来在当前使用的链路断开后,及时启用备用的端口来进行传输;同时也可以防止交换机冗余链路产生的环路,用于确保以太网中无环路的逻辑拓扑结构,从而避免了广播风暴,大量占用交换机的资源 。

更多网络技术问题、最新CCIE LAB解法、最新题库、模拟器、实战视频请关注公众号:网络工程师集中营。