一.VLAN

虚拟局域网,可以将一个广播域分割为多个广播域

VLAN TAG是在数据链路层的源mac地址和类型的中间插入了一个802.1q,VLAN ID有12bit,范围就是0-4095,但是0和4095是不能用的,所以有效的范围是1-4094

交换机接口收到数据帧应该如何处理

1、access

2、trunk

3、hybrid (华为特有)

untagget:数据帧不带有VLAN tag

tagged:数据帧带有VLAN tag

(1)access (华为)

接收:如果收到的是一个不带有vlan tag的数据帧,那么会为这个数据帧打上接口的PVID,并且接收;如果收到一个带有vlan tag的数据帧,那么查看数据帧的vlan id是否和接口的pvid一样,如果不一样直接丢弃,一样才接收

发送:如果一个数据帧准备从接口发出,看数据帧的vlan id是否和接口的pvid一样,如果不一样直接丢弃,一样的话就剥离(拆掉vlan )发出

[sw1]vlan 10 #创建单个vlan

[sw1]vlan batch 30 40 50 #创建多个不连续的vlan

[sw1]vlan batch 51 to 55 #创建多个连续的vlan

[sw1]interface GigabitEthernet 0/0/1

[sw1-GigabitEthernet0/0/1]port link-type access #将vlan模式设置为access,默认是hybrid

[sw1-GigabitEthernet0/0/1]port default vlan 10 #将接口划分到vlan10

[sw1]interface GigabitEthernet 0/0/2

[sw1-GigabitEthernet0/0/2]port link-type access

[sw1-GigabitEthernet0/0/2]port default vlan 10

[sw1]interface GigabitEthernet 0/0/3

[sw1-GigabitEthernet0/0/3]port link-type access

[sw1-GigabitEthernet0/0/3]port default vlan 20

[sw1]interface GigabitEthernet 0/0/4

[sw1-GigabitEthernet0/0/4]port link-type access

[sw1-GigabitEthernet0/0/4]port default vlan 2

(2)access(思科)

vlan vlan-id #创建vlan

no vlan vlan-id #删除vlan

switchport mode access #配置access口vlan

switchport access vlan vlan-id #将端口划分到指定的vlan中

show vlan #查看vlan信息

Access:一次性最多只能通过一个VLAN

(3)Trunk(华为)

交换机连接交换机的接口,或者交换机连接AC的接口通常会使用trunk

接收:

当接口收到一个不带标签的数据帧,那么会为这个接口打上本接口的PVID,后续这个数据就属于这个VLAN,同时这个VLAN需要在这个接口的VLAN的允许通过列表里;

如果收到是带标签的数据帧,查看数据帧的VLAN ID有没有在本接口的PVID里,在就接收,不在丢弃

发送:

一个数据帧准备从某个接口发出,数据帧的VLAN ID与出接口的PVID一致,那么剥离VLAN标签发出;

如果数据帧的VLAN ID和出接口的PVID不一致,保留VLAN标签的发出,同样会看VLAN允许通过列表

[SW1-GigabitEthernet0/0/1]port link-type trunk Error: Please renew the default configurations. 如果这个接口是其他模式的接口,并且存在配置,是无法直接修改,想改的话,需要把其他配置删掉

[SW1-GigabitEthernet0/0/3]port link-type trunk 将接口设置为trunk

[SW1-GigabitEthernet0/0/1]port trunk pvid vlan 10 设置trunk的PVID

[SW1-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20 设置VLAN的允许通过列表

[SW2]display vlan The total number of vlans is :

3 -------------------------------------------------------------------------------- U: Up; D: Down; TG: Tagged; UT: Untagged; MP: Vlan-mapping; ST: Vlan-stacking; #: ProtocolTransparent-vlan; *: Management-vlan; -------------------------------------------------------------------------------- VID Type Ports -------------------------------------------------------------------------------- 1

common UT:GE0/0/4(D) GE0/0/5(D) GE0/0/6(D) GE0/0/7(D) GE0/0/8(D) GE0/0/9(D) GE0/0/10(D) GE0/0/11(D) GE0/0/12(D) GE0/0/13(D) GE0/0/14(D) GE0/0/15(D) GE0/0/16(D) GE0/0/17(D) GE0/0/18(D) GE0/0/19(D) GE0/0/20(D) GE0/0/21(D) GE0/0/22(D) GE0/0/23(D) GE0/0/24(D) TG:GE0/0/1(U) 10

common UT:GE0/0/2(U) TG:GE0/0/1(U) 20

common UT:GE0/0/1(U) GE0/0/3(U)

UT:表示数据如果属于本VLAN,从这个接口发出是不携带VLAN的 TG:表示数据如果是属于本VLAN,从这个接口发出是携带VLAN的 (D):表示这个接口是down (U):表示这个接口是up

[SW1]display port vlan Port Link Type PVID Trunk VLAN List -------------------------------------------------------------------------------

GigabitEthernet0/0/1 access 10 - GigabitEthernet0/0/2 access 10 - GigabitEthernet0/0/3 trunk 10 1 10 20

如果需要对很多接口配置相同的配置,那么可以使用端口组

1、interface range :模拟器不支持

[SW3]interface range g 0/0/1 to 0/0/20 类似临时端口组

2、port-group:模拟器可以做的

第一种:临时端口组,只能用一次

[SW3]port-group group-member GigabitEthernet 0/0/1 to GigabitEthernet 0/0/20

 第二种:永久端口组,可以反复使用

[SW3]port-group office(名字) 创建一个永久的端口组

[SW3-port-group-office]group-member GigabitEthernet 0/0/1 to g 0/0/20

报文转发过程例子:

(4)trunk (思科)

配置 Trunk 链路的封装类型 Switch(config-if)#switchport trunk encapsulation { negotiate | dot1q | isl }

把接口模式配置为 trunk Switch(config-if)#switch mode trunk

配置接口的 Trunk 动态协商模式 Switch(config-if)#switch mode dynamic { desirable | auto }

Trunk 链路上关闭自动 DTP 协商 Switch(config-if)#switchport nonegotiate

指定 Trunk 链路上的本征 VLAN Switch(config-if)#switchport trunk native vlan vlan-id

查看 Trunk 信息 Switch#show interfaces trunk

(5)Hybrid(华为)

是华为公司的私有的属性端口

接收:

和trunk是一样的

发送:可以选择特定的VLAN发送的时候要不要携带标签发送,可以自己配置,同样有VLAN允许通过列表

[SW1-GigabitEthernet0/0/3]port link-type hybrid 设置为hybrid,默认就是这一种 [SW2-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20 带标签发送,另一种意思就是VLAN的允许通过列表

[SW1-GigabitEthernet0/0/1]port hybrid pvid vlan 10 设置hybrid的PVID

[SW1-GigabitEthernet0/0/1]port hybrid untagged vlan 10 100 设置不带标签发送,可以设置多个

例子:

三种模式的对比:

access:一般用来连接一些设备的网卡无法处理VLAN tag这种设备(PC、打印机、路由器),一个接口同时只能通过一个vlan

trunk:一般用来连接一些设备的网卡能够处理VLAN tag的设备(交换机、路由器的子接口、AC等),一个接口可以同时通过多个VLAN

hybrid:华为私有的,也可以一个接口同时通过多个VLAN,还可以决定哪些VLAN带标签发出,哪些VLAN不带标签发出

二.EtherChannel 配置命令 以太网聚合(思科)

基本概念可以去华为的以太网聚合中看第五点

手动配置模式

  1. 创建以太通道

Switch(config)#interface port-channel number

  1. 配置 EtherChannel 的负载平衡方式

Switch(config)#port-channel load-balance type

负载平衡的方式有:dst-ip、dst-mac、src-dst-ip、src-dst-mac、src-ip、src-mac。

  1. 配置协商 EtherChannel 的协议类型

Switch(config-if)#channel-protocol { pagp | lacp }

  1. 把接口加入到指定的通道中

Switch(config-if)#channel-group number mode on

验证:

  1. 查看 EtherChannel 信息 1)查看 EtherChannel 的简要信息

Switch#show etherchannel summary

  1. 查看指定的 EtherChannel 包含的接口

Switch#show etherchannel port-channel

  1. 查看协商 EtherChannel 的协议

Switch#show etherchannel protocol

  1. 查看 EtherChannel 的负载平衡方式

Switch#show etherchannel load-balance

使用PAGP协议自动配置以太网链路聚合

PAgP 的两种模式:

  • desirable:主动,主动发起协商
  • auto:被动,等待对方发起协商
设备命令注释
S1S1(config)#interface port-channel 1删除旧配置,重建
S1S1(config-if)#exit返回全局
S1S1(config)#interface range fastEthernet0/23 -24选中端口
S1S1(config-if-range)#channel-protocol pagp指定协议为 PAgP(默认)
S1S1(config-if-range)#channel-group 1 mode desirable设置为主动模式
S1S1(config-if-range)#exit返回全局
S1S1(config)#port-channel load-balance dst-ip设置负载分担:目的 IP
S2S2(config)#interface port-channel 1S2
S2S2(config-if)#exit返回全局
S2S2(config)#interface range fastEthernet0/23 -24选中端口
S2S2(config-if-range)#channel-protocol pagp指定协议 PAgP
S2S2(config-if-range)#channel-group 1 mode auto设置被动模式
S2S2(config-if-range)#exit返回全局
S2S2(config)#port-channel load-balance dst-ip负载分担

验证:

S1# show etherchannel port-channel

LACP(标准协商协议,802.3ad)配置以太网链路聚合

LACP 模式:

  • active:主动,发起协商
  • passive:被动,侦听协商
设备命令注释
S1S1(config)#interface port-channel 1清除旧聚合
S1S1(config-if)#exit返回全局
S1S1(config)#interface range fastEthernet0/23 -24选中端口
S1S1(config-if-range)#channel-protocol lacp指定协议 LACP
S1S1(config-if-range)#channel-group 1 mode active主动模式
S1S1(config-if-range)#pagp port-priority 90设置端口优先级(数值越小优先级越高)
S1S1(config-if-range)#exit返回全局
S1S1(config)#port-channel load-balance dst-ip负载分担
S2S2(config)#interface port-channel 1S2
S2S2(config-if)#exit返回全局
S2S2(config)#interface range fastEthernet0/23 -24选中端口
S2S2(config-if-range)#channel-protocol lacp指定协议 LACP
S2S2(config-if-range)#channel-group 1 mode passive被动模式
S2S2(config-if-range)#exit返回全局
S2S2(config)#port-channel load-balance dst-ip负载分担

验证:

S1# show etherchannel summary

三.VTP 配置命令(思科)VLAN 中继协议

作用:一台交换机配置 VLAN,自动同步给同域内其他交换机

(1)查看默认 VTP 配置

S3# show vtp status

输出字段含义

参数含义
VTP Version capable支持的 VTP 版本
VTP version running当前运行版本
VTP Domain NameVTP 域名
VTP Pruning ModeVTP 修剪
VTP Operating Mode工作模式:Server / Client / Transparent
Configuration Revision修订号,越高代表 VLAN 数据库越新

(2)配置管理地址(Vlan1)

设备命令
S1S1(config)#interface Vlan1S1(config-if)#ip address 172.31.1.1 255.255.255.0S1(config-if)#no shutdown
S2S2(config)#interface Vlan1S2(config-if)#ip address 172.31.1.2 255.255.255.0S2(config-if)#no shutdown
S3S3(config)#interface Vlan1S3(config-if)#ip address 172.31.1.3 255.255.255.0S3(config-if)#no shutdown
S4S4(config)#interface Vlan1S4(config-if)#ip address 172.31.1.4 255.255.255.0S4(config-if)#no shutdown

(3)正式配置 VTP

域名:beijing,密码:cisco123

设备命令
S1(Client)S1(config)#vtp domain beijingS1(config)#vtp mode clientS1(config)#vtp password cisco123
S2(Client)S2(config)#vtp domain beijingS2(config)#vtp mode clientS2(config)#vtp password cisco123
S3(Server)S3(config)#vtp domain beijingS3(config)#vtp mode serverS3(config)#vtp version 2S3(config)#vtp pruningS3(config)#vtp password cisco123
S4(Server)S4(config)#vtp domain beijingS4(config)#vtp mode serverS4(config)#vtp version 2S4(config)#vtp pruningS4(config)#vtp password cisco123

(4)VTP 验证命令

命令功能
show vtp status查看完整 VTP 参数
show vlan brief查看同步后的全部 VLAN
show vtp password查看 VTP 的密码

四.STP生成树协议

1.概念以及解决的问题

技术背景:二层交换机网络的冗余性与环路

二层环路带来的问题

广播风暴:网络中有非常多的广播数据帧,对于交换机还有PC的cpu和网卡资源非常高

MAC地址漂移:在交换机的mac地址表当中,一个mac地址最多只能给一个接口学习,如果给不同的接口学习到了,那么后面学习到的接口会覆盖之前学习到的接口,这个行为叫做mac地址漂移

概念:生成树协议就是逻辑意义上的拔网线,生成树是通过将交换机部分接口阻塞掉,被阻塞的接口可以接收,但是无法继续发。正常情况下会阻塞,如果链路发生故障他可以恢复使用

例如:PC1发送一个BUM数据帧,sw2收到之后会进行泛洪,从G0/0/1和G0/0/2泛洪出去,sw1收到之后泛洪到G0/0/2接口,sw3收到后泛洪到G0/0/2接口,又重新回到sw2上了

2.STP中的BPDU

BPDU 是运行 STP 功能的交换机之间交换的数据帧,包含有两种类型:一种是配置 BPDU(Configuration BPDU),用于生成树计算;另一种是拓扑变化通知(Topology Change Notification,TCN)BPDU,用于通知网络拓扑的变化。

字节数字段描述
2协议 ID该值总为 0
1版本STP 的版本(802.1D 时值为 0)
1BPDU 类型BPDU 类型(配置 BPDU = 00,TCN BPDU = 80)
1标志802.1D 只使用 8 个比特中的最高位和最低位,其中最低位置 1 是 TC 标志,最高位置 1 是 TCA 标志
8根桥 ID根桥的 ID
4根路径开销到达根桥的开销值
8网桥 ID发送 BPDU 的网桥 ID
2端口 ID发送 BPDU 的网桥端口 ID
2消息老化时间根桥发送 BPDU 后的秒数,每经过一个网桥都会递减 1,本质上它是到达根桥的跳数的计数
2最大老化时间交换机端口保存配置 BPDU 的最长时间
2Hello 时间根桥连续发送 BPDU 的时间间隔
2转发延迟交换机处于侦听和学习状态的时间

(1)网桥id

用来选根桥,网桥 ID 越小就当选根桥。 由网桥优先级 + MAC 地址组成; 优先级可以手动改,优先级越小越容易成为根桥。

(2)路径开销

就是网线链路的代价,网速越快开销数字越小。 交换机选到根桥总开销最小那条路当主路,其他冗余链路直接堵掉,防止环路。

(3)端口id

端口优先级 + 端口编号。 优先级小的端口更优先,用来在同一个交换机上选哪个端口转发数据。

(4)BPDU计时器

  • Hello 时间:根桥多久发一次 BPDU 报文,默认 2 秒
  • 转发延迟(forward delay):端口从监听→学习→转发中间等待的时间,默认 15 秒,防止临时环路
  • 最大老化时间:多久收不到 BPDU 就认为链路断了,重新算生成树,默认 20 秒

3.STP端口状态

行为\端口状态阻塞 Blocking监听 Listening学习 Learning转发 Forwarding禁用 Disabled
接收并处理 BPDU能能能能不能
学习 MAC 地址不能不能能能不能
转发收到的数据帧不能不能不能能不能

一句话记重点:

  • disable:禁用,说明接口没有开启stp协议或者这个接口压根不是up的状态
  • blocking:阻塞,如果一个端口没有被选举为根端口,也没有被选举为指定端口,那么会将这个端口的状态切换到blocking,这个状态里,不能发送BPDU报文,不能学习mac地址,也不能转发业务数据帧
  • listening:侦听,这是一个根端口和指定端口的过渡阶段,如果一个端口被确定为是根端口或者指定端口,那么就会进入这个状态,这里可以收发BPDU报文,但是不能学习mac地址,不能转发业务数据帧。在经过15s之后会进入下一个状态
  • learning:学习,这个状态也是根端口和指定端口的过渡阶段,在上一个阶段转发延迟定时器超时后确定没有环路了,会在这个阶段。可以收发BPDU报文,可以学习MAC地址,但是不能转发业务数据帧。这里也会开启forwarding delay定时器(15s),超时之后没有环路进入下一个状态
  • forwarding:转发,根端口和指定端口的最终状态,这里可以做任何东西,转发业务数据帧

如果端口被阻塞,会在blocking,如果是指定端口和根端口会在进入listening和learning一段时间(30s),然后会稳定在forwarding这个阶段

对于用户来说,你状态不在forwarding就不能转发数据,只有在forwarding才可以正常用

在使用dis stp brief的时候,状态我们看不到disable、blocking、listening,我们看到的只有discarding、learning和forwarding,这个是华为做过优化

4.STP收敛以及拓扑变更

✅ STP 收敛

STP 收敛 = 所有交换机一起算出一个没有环路的稳定网络,一共三步

  1. 选根桥 所有交换机互相发 BPDU 报文比拼网桥 ID,ID 最小的交换机就是根桥,整个网络的中心。(4096 8192 12288 层级越小数越小,优先级越小)
  2. 选根端口(每台非根交换机上离根桥最近的口) 挑选顺序: ① 到根桥的链路总开销最小 → ② 对面交换机网桥 ID 更小 → ③ 对面端口 ID 更小 这个端口负责往根桥转发数据。
  3. 选指定端口 / 非指定端口 每一段网线(网段)只能有一个指定端口负责转发流量; 剩下竞争失败的端口就是非指定端口,直接阻塞关掉,防止环路。

✅ STP 拓扑变更(网络线路变动)

根桥故障

这里sw1的BID是最小的,所以他是作为一个根桥,一般根桥所有的端口都是一个指定端口,所以这里连接sw2和连接sw3的端口都是指定端口;sw2连接sw1的接口作为一个根端口;sw3连接sw1的端口是一个根端口;然后在sw2和sw3互联这一段选一遍作为指定,剩下的就是被阻塞了,这里由于sw2的BID比sw3的小,所以sw2那边是指定端口

检测到根桥故障之后,那么需要在剩余的sw2和sw3重新选举一个新的根桥

由于sw2的BID要比sw3的要小,所以sw2会成为新的根桥

由于根桥所有端口都是指定端口,而sw2连接sw3的端口本来就是指定所以这里不需要用变。

sw3连接sw2的端口是连接根桥的,之前是阻塞端口,现在要变成根端口。如果一个端口被确定为是一个根端口,那么需要从blocking进入到listening再进入到learning,最后进入到forwarding,从blocking到forwarding这里默认需要30s

所以对于根桥的故障,至少有一个30s的丢包时间

直连链路故障

sw1和sw2互联链路有两条,相当于多了一条是根端口的备份,希望实现的是,当根端口故障之后,备用的可以立刻转发数据

sw2的根端口故障之后,备用的端口状态会从blocking到forwarding也是需要经过30s至少的时间才可以转发数据

非物理链路故障

在这里sw1和sw2互联链路,接口状态是up的,但是就是无法收到根桥的BPDU报文。这里就需要20s的时间来检测根桥是否故障,sw2检测到根桥故障之后,sw2将自己当做根桥,对外发送BPDU报文

sw3会收到sw2的BPDU报文,还会收到sw1的BPDU报文,会进行对比,对比发现sw1的BPDU报文要比sw2的要优,即sw2的为次优,那么会转发sw1的BPDU报文给sw2,然后将sw3连接sw2的接口切换为指定端口,sw2收到之后发现网络中根桥还在,所以将sw2连接sw3接口切换到根端口

角色发生变化也需要30s时间

所以这种场景下需要20+30s时间

5.RSTP和MSTP

RSTP(快速生成树)

RSTP 就是STP 的升级版,核心优点:网络故障后收敛速度快很多,不用长时间等待计时器。

  1. 端口状态简化:原来 STP5 种端口状态缩减成 3 种:丢弃、学习、转发
  2. 端口角色新增
    • 替代端口(Alternate):别的交换机过来的备用路,根端口坏了它立刻顶上
    • 备份端口(Backup):本机自己的备用端口
  3. 边缘端口:直接接电脑,不接别的交换机,一开就直接进入转发,不用等生成树计时器,命令spanning-tree portfast
  4. 点到点链路 + 提议 / 同意握手机制:交换机之间快速协商,端口可以直接切换成转发状态,实现秒级收敛
  5. 兼容老版 STP,老交换机连上来可以自动变回普通 STP

MSTP(多生成树)

PVST + 是一个 VLAN 单独跑一棵生成树,VLAN 多了交换机压力大、浪费资源;MSTP 就是用来解决这个问题:

  1. 可以把多个 VLAN 打包分到同一个生成树实例里面,多个 VLAN 共用同一棵树,减少 CPU 和带宽消耗
  2. 同一个 MST 域里面的交换机,域名、修订号、VLAN 和实例映射表必须全部一样,才算同一个域
  3. 默认所有 VLAN 都在实例 0(CIST 公共内部生成树),还可以自己新建多个 MSTI 多生成树实例,不同实例可以走不同路径,实现链路负载均衡

6.思科STP命令

! 配置STP模式

Switch(config)#spanning-tree mode mst [mstp/stp/rstp]

! 关闭指定VLAN生成树

Switch(config)#no spanning-tree vlan vlan-id

! 配置桥优先级(数值越小越优先,步长为4096,取值范围0-61440)

Switch(config)#spanning-tree vlan vlan-id priority value

Switch(config)#spanning-tree mst instance-id priority value

或者:配置优先级和配置主根副根二选一

! 配置交换机成为VLAN的主根桥

Switch(config)#spanning-tree vlan vlan-id root primary

! 配置交换机成为VLAN的次根桥

Switch(config)#spanning-tree vlan vlan-id root secondary

! 接口下:配置cost值(手动指定端口到根桥的开销,数值越小越优先被选为根端口)

Switch(config-if)#spanning-tree vlan vlan-id cost cost

Switch(config-if)#spanning-tree bpduguard enable

! 开启bpduguard关闭端口自动恢复

Switch(config)#errdisable recovery cause bpduguard

! 设置errdisable自动恢复时间(单位秒,默认300秒)

Switch(config)#errdisable recovery interval seconds

! 修改Hello时间(根桥发送BPDU的间隔,默认2秒)

Switch(config)#spanning-tree hello-time time

! 修改转发延迟(端口监听、学习状态的停留时间,默认15秒)

Switch(config)#spanning-tree forward-time time

! 修改Max-Age最大老化时间(BPDU的保存时长,默认20秒)

! MSTP配置

Switch(config)#spanning-tree mst configuration mstp

Switch(config-mst)#name name

Switch(config-mst)#revision revision-number

Switch(config-mst)#instance instance-id vlan vlan-id

Switch(config)#spanning-tree vlan vlan-id priority value

Switch(config)#spanning-tree mst instance-id priority value

或者:配置优先级和配置主根副根二选一

Switch(config)#spanning-tree vlan vlan-id root primary

Switch(config)#spanning-tree vlan vlan-id root secondary

! 查看验证命令

Switch#show spanning-tree

Switch#show spanning-tree summary

Switch#show spanning-tree root

Switch#show spanning-tree vlan vlan-id interface

Switch#show spanning-tree inconsistent ports

Switch#show spanning-tree mst configuration

Switch#show spanning-tree mst

! debug调试命令(生产环境慎用,会大量占用CPU)

Switch#debug spanning-tree bpdu

Switch#debug spanning-tree events

7.华为STP配置命令

#配置命令stp

<HUAWEI>system-view

[HUAWEI]stp mode { stp | rstp | mstp }

[HUAWEI]stp enable

[HUAWEI]stp priority priority

[HUAWEI]stp root primary    二选一

[HUAWEI]stp root secondary

#mstp配置命令

[HUAWEI]stp region-configuration

[HUAWEI-mst-region]region-name name

[HUAWEI-mst-region]revision-level revision-number

[HUAWEI-mst-region]instance instance-id vlan { vlan-id1 [ to vlan-id2 ] }

[HUAWEI-mst-region]active region-configuration

[HUAWEI-mst-region]quit

[HUAWEI]stp priority priority

[HUAWEI]stp root primary    二选一

[HUAWEI]stp root secondary

#查看命令stp

<HUAWEI>display stp

<HUAWEI>display stp brief

<HUAWEI>display stp interface GigabitEthernet 0/0/1

<HUAWEI>display stp region-configuration

<HUAWEI>display stp abnormal-interface

<HUAWEI>reset stp statistics

五.以太网链路聚合 Eth-Trunk

当我们通过在接入交换机和汇聚交换机之间多接几条链路来达到扩容带宽的目的,

使用STP避免环路带来新的问题:

由于交换机都开启了生成树,会把多余的链路阻塞掉,不管你多接多少条,最终能用的只有一条!

链路聚合的作用:

而链路聚合可以解决这个问题,他通过将多个物理的链路捆绑为一条逻辑的链路,可以在不进行硬件升级的条件下,达到增加链路带宽的目的,通过这种方式来达到1+1的效果。

(1)基本概念

聚合组:在配置链路聚合的时候,我们需要去创建一个ETH-trunk接口,也就是链路聚合接口,一个链路聚合接口就是一个聚合组

成员接口和成员链路:我们是需要将物理的接口和链路加入到聚合组,接口叫做成员接口,链路叫做成员链路

活动接口和活动链路:聚合组里的成员不是全部都需要转发数据,我们可以设置一部分转发数据,另一部分就当做备份,转发数据的叫做活动接口和活动链路,不转发数据的叫做非活动接口和非活动链路

工作模式:手工负载分担模式和静态LACP模式

(2)手工负载分担模式

这种模式下,所有的成员链路全部参与数据的转发


[sw1]interface Eth-Trunk 0 #创建链路聚合接口

[sw1-Eth-Trunk0]mode manual load-balance #配置手工负载分担模式,默认的模式

[sw1-Eth-Trunk0]trunkport g 0/0/1 #将接口加入链路聚合接口

[sw1-Eth-Trunk0]trunkport g 0/0/2

sw2也需要进行上面的同样操作!

验证:


[sw1]display interface Eth-Trunk 0

Eth-Trunk0 current state : UP

Line protocol current state : UP

Description:

Switch Port, PVID : 1, Hash arithmetic : According to SIP-XOR-DIP,Maximal BW: 2G, Current BW: 2G, The Maximum Frame Length is 9216

IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 4c1f-cc61-6f14 Current system time: 2026-10-30 10:45:04-08:00

Input bandwidth utilization : 0%

Output bandwidth utilization : 0%

-----------------------------------------------------

PortName Status Weight

-----------------------------------------------------

GigabitEthernet0/0/1 UP 1

GigabitEthernet0/0/2 UP 1

-----------------------------------------------------

The Number of Ports in Trunk : 2

The Number of UP Ports in Trunk : 2

(3)静态LACP

手工负载分担模式,对于链路错连的情况是无法感知到的。

他只有在物理链路发生故障才可以

静态LACP,会在链路上通过LACP报文来动态协商的

[sw1-Eth-Trunk0]mode lacp-static

Error: Error in changing trunk working mode. There is(are) port(s) in the trunk. 这个链路聚合接口已经有成员接口了,不可以直接改模式。如果要修改,需要先将成员接口移除,然后再去修改,修改完毕之后,重新加入成员接口

[sw1-Eth-Trunk0]undo trunkport g 0/0/1 0/0/2 0/0/4

[sw1-Eth-Trunk0]mode lacp-static

[sw1-Eth-Trunk0]trunkport g 0/0/1 0/0/2 0/0/4

验证


[sw1]display int Eth-Trunk 0 Eth-Trunk0

current state : DOWN

Line protocol current state : DOWN

Description: Switch Port, PVID : 1, Hash arithmetic : According

to SIP-XOR-DIP,Maximal BW: 3G, Current BW:

0M, The Maximum Frame Length is 9216 IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 4c1f-cc61-6f14

Current system time: 2026-10-30 11:34:27-08:00

Input bandwidth utilization : 0%

Output bandwidth utilization : 0%

-----------------------------------------------------

PortName Status Weight

-----------------------------------------------------

GigabitEthernet0/0/1 DOWN 1

GigabitEthernet0/0/2 DOWN 1

GigabitEthernet0/0/4 DOWN 1

-----------------------------------------------------

The Number of Ports in Trunk : 3

The Number of UP Ports in Trunk : 0

或者

[sw1]display eth-trunk 0

Eth-Trunk0's state information is:

Local:

LAG ID: 0    WorkingMode: STATIC

Preempt Delay: Disabled Hash    arithmetic: According to SIP-XOR-DIP

System Priority: 32768       System ID: 4c1f-cc61-6f14

Least Active-linknumber: 1     Max Active-linknumber: 8

Operate status: up           Number Of Up Port In Trunk: 2

-------------------------------------------------------------------------------- ActorPortName     Status PortType PortPri PortNo PortKey PortState Weight GigabitEthernet0/0/1   Selected  1GE   32768  2  49  10111100  1 GigabitEthernet0/0/2   Selected   1GE   32768 3  49  10111100  1 GigabitEthernet0/0/4   Unselect   1GE   32768  5  49  10100010  1 Partner:

-------------------------------------------------------------------------------- ActorPortName SysPri SystemID PortPri PortNo PortKey PortState GigabitEthernet0/0/1 32768 4c1f-cc60-45d1 32768 2 49 10111100 GigabitEthernet0/0/2 32768 4c1f-cc60-45d1 32768 3 49 10111100

GigabitEthernet0/0/4 0 0000-0000-0000 0 0 0 10100011

状态这里是selected表示是活动接口,如果是unselected说明是非活动

LACP模式里可以设置一部分是活动,另一部分是备份

LACP里有一个主动端另一个叫做被动端,被动端会根据主动端的参数进行动态协商,也就是说我们在配置的时候只需要在主动端进行配置,被动端不需要配置

这里是通过系统优先级来进行比较,这个优先级取值范围是0-65535,默认是32768,小的优先。如果优先级一样比较mac地址

[sw1]lacp priority 0 #配置lacp系统优先级

哪些接口是活动,哪些接口是非活动,这里需要通过接口优先级来决定。优先级小的就是活动,优先级大的就是非活动、

[sw1-GigabitEthernet0/0/2]lacp priority 40000
 如果优先级一样,比较接口id

最大活动接口数:这个用来决定活动接口上限,默认是8个

[sw1-Eth-Trunk0]max active-linknumber 1 #配置最大活动接口数

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐