- MSTP(Multiple Spanning Tree Protocol)--多生成树协议
- 产生背景
- 在STP协议中,存在两个不足:收敛慢,同时链路/设备利用率不高。所有的链路之间,仅仅是一个备份的关系,所有的VLAN在整个交换网络中,仅仅存在一个可用的数据转发路径,所以是没有环路的。但是,就会导致所有的VLAN流量转发,都得依靠这个单独的路径了,所以,交换机之间大量的备份线路,利用率不高!
- 所以,我们在RSTP中,对上述的不足进行了改进:提高了收敛速度
- 但是,并没有解决“链路/设备利用率不高”的问题,究其原因:
- 在STP和RSTP协议中,只能在整个交换网络中,形成一个树
- 所以,整个交换网络,就只有1个树根
- 所有的交换机(非根交换机)都永远只找这“一个“根交换机
- 所有的非根交换机上,能够转发数据的链路,只有1个(数据转发路径)
- 整个交换网络中的所有的VLAN的内部通信,都是沿着这个"1路径"转发的。
- 为了提高链路/设备的利用率,我们在RSTP的基础上继续升级改进,所以才有了802.1s-MSTP协议。
- 但是,并没有解决“链路/设备利用率不高”的问题,究其原因:
- 在该协议中,为了提高设备/链路的利用率,可以支持多个生成树,并且每个生成树都是RSTP协议的“快速生成树”,单独来说每个数的收敛速度都是非常快的。
- 所以说,MSTP继承了RSTP的所有好处,可以和 RSTP完美兼容的
- 比如:MSTP继承了RSTP的端口角色、端口状态、P/A机制、边缘端口、安全特性
- 同时,MSTP还增加了其他的端口角色
- STP /RSTP/MSTP区别与特点如下:
-
生成树协议 特点 应用场景 STP 形成一颗无环路的树,解决广播风暴并实现冗余备份
收敛速度较慢
无需区分用户或业务流量,所有VLAN共享一个生成树 RSTP 形成一颗无环路的树,解决广播风暴并实现冗余备份
收敛速度快
无需区分用户或业务流量,所有VLAN共享一个生成树 RSTP 形成多颗无环路的树,解决广播风 暴并实现冗余备份
收敛速度快
需要区分用户或业务流量,并实现负载分担,不同的VLAN通过不同的生成树转发流量,每棵生成树之间互相独立 目的: 在以太交换网中部署生成树协议后,如果网络中出现环路,生成树协议通过拓扑计算,可以实现:
-
消除环路:通过阻塞冗余链路消除网络中可能存在的网络通信环路。
-
链路备份:当前活动的路径发生故障时,激活冗余备份链路,恢复网络连通性。
-
- MSTP的基本概念
MSTP定义的端口状态于RSTP协议种定义相同、
- MSTP的网络层次
- MSTP网络中包含一个或者多个MST域(MST Region),每个MST Region中包含一个或多个MSTI,组成MSTI的是运行STP/RSTP/MSTP的交换设备,MSTI是所有运行STP/RSTP/MSTP的交换设备经MSTP协议计算后形成的树状网络
- MSTP域(MST Regin)
- MSTP域是多生成树域(Multiple Spanning Tree Region),由交换网络中多台交换设备以及它们之间的网段所构成,同一个MSTP域的设备具有下列特点:
- 都启动了MSTP
- 具有相同的域名
- 具有相同的VLAN到生成树实例映射配置
- 具有相同的MSTP修订级别配置
- 一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连,用户可以通过MSTP配置命令把多台交换设备划分在同一个MST域内。如下图所示的MST Region D0中由交换机设备S1、S2、S3、S4构成,域中有三个MSTI
- MST域 VLAN映射表
- MSTP域是多生成树域(Multiple Spanning Tree Region),由交换网络中多台交换设备以及它们之间的网段所构成,同一个MSTP域的设备具有下列特点:
- VLAN映射表
- VLAN映射表是MST域的属性,它描述了VLAN和MSTI之间的映射关系
- 如上图所示MST域D0的VLAN映射表是:
- VLAN1映射到MSTI1
- VLAN2和VLAN3映射到MSTI2
- 其余VLAN映射到MSTI0
- VLAN映射表是MST域的属性,它描述了VLAN和MSTI之间的映射关系
- 域根
- 域根(Region Root )分别未IST(Internal Spanning Tree )域根和MSTI域根
- IST域根如下图所示,在B0、C0、和D0中,IST生成树中距离总根(CIST Root)最近的交换设备时IST域根。
- 一个MST域内可以生成多颗生成树,每棵生成树都称为一个MSTI,MSTI域根是每个多生成树实例的树根,如下图所示,域中不同的MSTI有各自的域根。
- 主桥
- 主桥(Master Bridge )也就是IST Mster,他是域内距离总跟最近的交换设备,如下图中的S1,如果总跟在MST域中,则总根为该域的主桥
- 总根
- 总根是CIST(Common and Internal Spanning Stree)的根桥,总跟是区域A0的某台设备
- CST
- 公共生成树CST(Common Spanning Tree )是连接交换网络内所有MST域的一颗生成树,如果把每个MST域看作是一个节点,CST就是这些节点通过STP或RSTP协议计算生成树的一棵树
- 如下图所示,较粗的线条连接各个域构成CST
- IST
- 内部生成树IST (Internal Spanning Tree)是各个MST域内的一颗生成树,IST是一个特殊的MSTI,MSTI的ID为0,通常称为MSTI0, IST是CIST在MST域中的一个片段。如下图所示,较细的线条在域中连接该域的所有交换设备构成IST
- CIST
- 公共和内部生成树CIST是通过STP或RSTP协议计算生成的,连接一个交换网络内所有交换设备的单生成树,如下图所示,所有MST域的IST加上CST就构成一棵完整的生成树,即CIST
- SST
- 构成单生成树SST(Single Spanning Tree)有两种情况:
- 运行STP或RSTP的交换设备只能属于一个生成树
- MST域中只有一个交换设备,这个交换设备构成单生成树
- 如下图所示,B0中的交换设备就是一棵单生成树
- 构成单生成树SST(Single Spanning Tree)有两种情况:
- 端口角色
- MSTP在RSTP的基础上新增了2种端口,MSTP的端口角色共有7种:
- 根端口
- 指定端口
- Alternate端口
- Backup端口
- 边缘端口
- Msater端口和域边缘端口
- 根端口、指定端口、Alternate端口、Backup端口和边缘端口的作用同RSTP协议中定义,MSTP定义的所有端口角色,如下表所示:
- 除边缘端口外,其他端口角色都参与MSTP的计算过程
- 同一个端口在不同的生成树实例中可以担任不同的角色
- 端口角色
-
端口角色 说明 根端口 在非根桥上,离根桥最近的端口是本交换机设备的根端口,跟交换设备没有根端口。根端口负责向树根方向转发数据 指定端口 对一台交换设备而言,它的指定端口是向下游交换设备转发BPDU报文的端口 Alternate端口 从配置BPDU报文发送角度来看,Alternate端口就是由于学校到其他网桥发送的配置BPDU报文而阻塞的端口。
从用户流量角度来看,Alternate端口提供了从指定桥到根的另一条可切换的路径作为根端口的备份端口
Backup 端口 从配置BPDU报文发送角度来看,Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口
从用户流量角度来看,Backup端口作为指定端口的备份,提供了另外一条从根节点到叶节点的备份通路
Master 端口 Mater端口是MST域和总根相连的所有路径中最短路径上的端口,他是交换设备连接MST域到总根的端口
Master端口是域中的报文去往总根的必经之路
Master端口是特殊域边缘端口,Master端口在CIST的角色是Root Port,在其他各实例上的角色都是Master端口
域边缘端口 域边缘端口是指位于MST域边缘并连接其他MST域或SST的端口
进行MSTP计算时,域边缘端口在MSTI上的角色和CIST实例的角色保持一致,即,如果边缘端口在CIST实例上的角色是Master端口(域和总根相连的所有路径中最短路径上的端口,则它在域内所有MSTI上的角色也是Mater端口
边缘端口 如果指定端口位于整个域的边缘,不在于任何交换设备连接,这种端口叫做边缘端口
边缘端口一般于用户终端设备直接相连
- MSTP在RSTP的基础上新增了2种端口,MSTP的端口角色共有7种:
- MSTP的端口状态
- MSTP定义的端口状态与RSTP协议中定义相同:
- MSTP的网络层次
-
端口状态 说明 Forwarding 在这种状态下,端口既转发用户流量又接收/发送BPDU报文 Learning 这是一种过度状态,在Learning状态下,交换设备会根据收到的用户流量,构建,MAC地址表,但不转发用户流量,所以叫做学习状态 Discarding Discarding 状态的端口直接收BPDU报文 端口状态和端口角色是没有必然联系,下表显示了各种端口角色能够具有的端口状态
-
Yes:表示端口支持的状态,No表示端口不支持的状态端口状态 根端口/Master端口 指定端口 域边缘端口 Alternate端口 Backup端口 Forwarding Yes Yes Yes No No Learning Yes Yes Yes No No Discarding Yes Yes Yes Yes Yes - MSTP的报文
- MSTP使用多种生成树桥协议数据单元MST BPDU (Muliple Spanning Tree Bridge Protoco Data Unit)作为生成树计算的依据,MST BPDU报文用来计算生成树的拓扑、维护网络拓扑以及传达拓扑变化记录。STP中定义的配置BPDU/RSTP 定义中的RST BPDU、MSTP中定义的MST BPDU及TCN BPDU差异对比如下表所示
-
版本 类型 名称 0 0*00 配置BPDU 0 0*80 TCN BPDU 2 0*02 RST BPDU 3 0*02 MST BPDU - MSTP的报文格式
- MSTP报文格式如下图所示
- 无论是域内MST BPDU还是域间的,前36个字节和RST BPDU相同
- 从第37个字节开始时MSTP专有字段,最后的MSTI配置信息字段由若干MSTI配置信息连缀而成
- MST BPDU中的主要信息如下
-
字段内容
字节
说明
Protocol Identifier
2
协议标识符。
Protocol Version Identifier
1
协议版本标识符,STP为0,RSTP为2,MSTP为3。
BPDU Type
1
BPDU类型:
0x00:STP的Configuration BPDU
0x80:STP的TCN BPDU(Topology Change Notification BPDU)
-
0x02:RST BPDU(Rapid Spanning-Tree BPDU)或者MST BPDU(Multiple Spanning-Tree BPDU)
CIST Flags
1
CIST标志字段。
CIST Root Identifier
8
CIST的总根交换设备ID。
CIST External Path Cost
4
CIST外部路径开销指从本交换设备所属的MST域到CIST根交换设备所属的MST域的累计路径开销。CIST外部路径开销根据链路带宽计算。
CIST Regional Root Identifier
8
CIST的域根交换设备ID,即IST Master的ID。如果总根在这个域内,那么域根交换设备ID就是总根交换设备ID。
CIST Port Identifier
2
本端口在IST中的指定端口ID。
Message Age
2
BPDU报文的生存期。
Max Age
2
BPDU报文的最大生存期,超时则认为到根交换设备的链路故障。
Hello Time
2
Hello定时器,缺省为2秒。
Forward Delay
2
Forward Delay定时器,缺省为15秒。
Version 1 Length
1
Version1 BPDU的长度,值固定为0。
Version 3 Length
2
Version3 BPDU的长度。
MST Configuration Identifier
51
MST配置标识,表示MST域的标签信息,包含4个字段。
CIST Internal Root Path Cost
4
CIST内部路径开销指从本端口到IST Master交换设备的累计路径开销。CIST内部路径开销根据链路带宽计算。
CIST Bridge Identifier
8
CIST的指定交换设备ID。
CIST Remaining Hops
1
BPDU报文在CIST中的剩余跳数。
MSTI Configuration Messages(may be absent)
16
MSTI配置信息。每个MSTI的配置信息占16 bytes,如果有n个MSTI就占用n×16bytes。
- MSTP拓扑计算
- MSTP的基本原理
- MSTP可以讲整个二层网络划分为多个MST域,各个域之间通过计算生成CST,域内则通过计算生成多棵生成树,每棵生成树都被称之为一个多生成树实例,其中实例0被为IST,其他的多生成树实例为MSTI。MSTP同STP一样,使用配置消息进行生成树计算,只是配置消失中携带的是设备上,MSTP的配置信息。
- CIST的计算
- 经过比较配置消息后,在整个网络中选择一个优先级最高的设备作为CIST的树根,在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台交换设备对待,通过计算在MST域间生成CST.CST和IST构成了整个交换设备网络的CIST
- MSTI的计算
- 在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例,每颗生成树独立计算,计算过程域STP计算生成树的过程类似。MSTI的特点
- 每个MSTI独立计算自己的生成树,互不干扰
- 每个MSTI的生成树计算方法域STP基本相同
- 每个MSTI的生成树可以有不同的根,不同的拓扑
- 每个MSTI在自己的生成树内发送BPDU
- 每个MSTI的拓扑通过命令配置决定
- 每个端口在不同MSTI上的生成树参数可以不同
- 每个端口在不同MSTI上的角色、状态可以不同
- 在运行MSTP协议的网络中,一个VLAN报文将沿着如下路径进行转发
- 在MST域内,沿着其对应的MSTI转发
- 在MST域间,沿着CST转发
- 在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例,每颗生成树独立计算,计算过程域STP计算生成树的过程类似。MSTI的特点
- MSTP的基本原理
- MSTP快速收敛机制
- MSTP支持普通方式和增强方式两种P./A(Proposal /Agreement)机制:
- 普通方式
- MSTP支持普通方式的P/A机制实现与RSTP支持的P/A机制实现相同
- 增强方式
- 在MSTP中,P/A机制工作过程如下所示
- 在上游设备发送Proposal 报文,请求进行快速迁移,下游设备接收到后,把鱼上游设备相连的端口设置为根端口,并阻塞所有非边缘端口
- 上游设备继续发送Agreement报文,下游设备接收到后,根端口转为Forwarding 状态
- 下游设备回应Agreement 报文,上游设备接收到后,把与下游设备相连的端口设置为指定端口,指定端口进入Forwarding.
- 缺省情况下,华为数据通信设备使用增强的快速迁移机制,如果华为数据通信设备和其他制造商设备进行互通,而其他制造商的设备P/A机制使用普通的快速迁移机制,此时,可在华为数据通信设备上通过设置P/A机制为普通的快速迁移机制,从而实现华为数据通信设备和其他制造商的设备实现数据互通
- 普通方式
- MSTP支持普通方式和增强方式两种P./A(Proposal /Agreement)机制:
-
- 以上摘自华为官方文档
- 产生背景
- 链路聚合/链路捆绑/链路汇聚
- 背景
- 随着企业中的业务流量的增加,设备之间的转发带宽越来越不足,为了增加设备之间的带宽,我们要:跟换更高带宽的端口和线路
- 但是呢?更换硬件,那么成本又该怎么控制呢
- 想少花钱没有想解决问题。真是想要马儿跑,又要马儿不吃草
- 然而,这些都难不倒我们万能的开发者,于是“”链路捆绑“应运而生”
- 所谓链路捆绑:就是在交换机上,将多个线路捆绑在一起,让交换机认为是一个线路
- 这样一来,设备之间的可用带宽增加了,也没有了环路
- 另外,不仅仅是交换机之间存在”贷款链路不足“的问题
- 在交换机和路由器之间,路由器和路由器之间,路由器和防火墙之间,都存在这种问题,我们依然可以使用“链路捆绑”
- 相当于交换机而言,路由器和防火墙的接口的链路捆绑,都是可以配置IP地址的
- 所以链路捆绑可以分为:
- 2层链路捆绑
- 3层链路捆绑
- 背景
- 例如下图拓扑
配置:
R1:
undo terminal monitor
system-view
sysname r1
interface Eth-Trunk 1 #进入Eth-trunk接口模式
undo portswitch #关闭交换模式,开启路由模式
mode lacp-static 选择模式
trunkport GigabitEthernet 0/0/1
Info: This operation may take a few seconds. Please wait for a moment...done.
#系统提示#
trunkport GigabitEthernet 0/0/2
Info: This operation may take a few seconds. Please wait for a moment...done.
#系统提示#
注意:如果你出现了
Error: Please delete the existing non-default configurations on the interface first.
嘿嘿,恭喜你。那你是先 mode lacp-static
然后再undo portswitch的,所以你需要先undo portswithch,记得哦
然后加上IP地址
[r1-Eth-Trunk1]ip address 192.168.12.1 24
R2
undo terminal monitor
system-view
sysname r2
interface Eth-Trunk 1 #进入Eth-trunk接口模式
undo portswitch #关闭交换模式,开启路由模式
mode lacp-static 选择模式
trunkport GigabitEthernet 0/0/1
Info: This operation may take a few seconds. Please wait for a moment...done.
#系统提示#
trunkport GigabitEthernet 0/0/2
Info: This operation may take a few seconds. Please wait for a moment...done.
ip address 192.168.12.2 24
配置完后,验证一下
通过对比我们可以看到两边的端口号,优先级,链路是否成建立
这里我建一个对照的表格,可以看下对应的信息
名称 | 说明 |
---|---|
WorkingMode: STATIC | 工作模式为:Static |
Preempt Delay: Disabled | 抢占模式:未开启 |
Hash arithmetic: According to SIP-XOR-DIP | 哈希值 |
System Priority: 32768 | 系统优先级:32768 |
System ID: 00e0-fc89-1de9 | 系统ID:00e0-fc89-1de9 |
Least Active-linknumber: 1 | 已激活的链路:1 |
Max Active-linknumber: 8 | 最大捆绑链路:8 |
Operate status: up | 运行状态:开启 |
Number Of Up Port In Trunk: 2 | 已开通的端口数目:2 |
ActorPortName | 本地端口名字 |
ActorPortName | 邻居端口名字 |
好了,有了这个表格,应该,可以弄清楚显示的信息咯,如果有理解错误的,欢迎留言,随时更改哦
虽然交换机上的端口类型都是以太网接口(即端口的2层协议使用都是(Ethernet )
但是,在路由器上。接口的类型就有很多了,即端口的2层协议都不相同
常见的2层协议有:Ethernet 、PPP、HDLC
如果是将多个Ethernet 口捆绑到一起,形成的虚拟端口叫Eth-trunk
如果是将多个PPP 口捆绑到一起,形成的虚拟端口叫mp-group
如果是将多个HDLC 口捆绑到一起,形成的虚拟端口叫Ip-trunk
- 链路捆绑的类型
- 静态捆绑
- 静态链路捆绑,配置虽然简单
- 但是在捆绑链路非常多的情况,都是通过手动的方式实现的,有可能会出现人为的错误,这种错误发生以后,有可能就会导致交换机之间的“数据包丢之”或者“环路”
- 所以,我们可以在交换机之间使用“动态的链路捆绑”
- 动态捆绑
- 在该类型的链路捆绑中,我们会在交换机之间运行一个协议,有这个协议进行链路的捆绑、链路的维护和拆除,这个协议称之为LACP(link aggregation control protocol)-链路汇聚控制协议
- 该协议的报文,也是直接封装在2层头部后面的,在以太网头部中的Type字段:0*8809
- LACP在设备追歼运行之后,会为每个交换机分配一个LACP的优先级
- 会在设备之间选举一个LACP的主导设备和被动设备,选举原则是:
- 先比较两个设备的LACP优先级,数值越小越好:默认32768
- 其次比较两个设备的LACP系统ID,数值越小越好:就是交换机的主板MAC
- 在两个设备之间,到底使用哪些成员链路进行数据转发呢?完全是由主动端设备说了算。
- 主动端设备在选择可以转发数据的成员链路的时候,选举原则是:
- 首先比较每个端口的LACP优先级,数值越小越好;默认32768
- 其次比较每个端口的端口号,数值越小越好;
- 主动端设备在选择可以转发数据的成员链路的时候,选举原则是:
- 虽然,默认情况下,通过LACP自动协商形成的Eth-trunk链路,最多可以捆绑8个成员端口,但是我们也可以灵活的设置;捆绑之后的链路中可用的活动链路数量,不如我们捆绑了3个链路,但是仅仅使用2个链路,另外一个仅作为备份使用,这种成员链路的分配模式,在LACP的官方叫法中,称之为m:n模式
- 另外,动态的Eth-trunkl的负载均衡模式,默认情况和静态Eth-trunk是完全相同的,都可以通过Load-balance进行调整
- LACP在网络设备之间发送和接收LACP报文的方式,有两种
- Slow
- LACP报文的发送周期是30S,超市周期是90S
- fast
- LACP报文发送周期是1S,超时周期是3S
- 如果想要修改Eth-trunk下的LACP的发送和接收模式,可以通过以下命令:
- interface Eth-trunk 1
- lacp timeout fast(slow)
- Slow
- 配置思路
- 1.创建一个虚拟接口)(就是捆绑之后所使用的哪个接口)
- 2.制定捆绑接口的类型(mode ****)
- 3.江城苑端口加入到这个“虚拟接口”
- 4.配置“虚拟接口”为trun链路,允许必要的VLAN信息
- 配置案例-静态捆绑
此时交换机看起来,他们之间的互联接口,仅仅只有1个eth-trunk。
- 拓扑
- 需求
- 增加设备之间的互联带宽
- 配置
- 设备之间没有使用链路捆绑的情况,可用带宽仅仅是1G,因为再多的互联链路,最终也会因为防环机制的问题,导致“仅仅只有1个链路互通”,例如:
- [sw2]display stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ALTE DISCARDING NONE
0 GigabitEthernet0/0/2 ROOT FORWARDING NONE
所以,我们将SW1-SW2之间的Gi0/0/1和Gi0/0/2,通过链路捆绑的方式,形成一个链路,即接下来配置“链路捆绑/聚合/端口捆绑”: - SW1
- [sw1]interface Eth-Trunk 1 #指定eth-trunk接口的名字#[sw1-Eth-Trunk1]mode manual load-balance
- #定eth-trunk接口的模式为静态/手动
- [sw1-Eth-Trunk1]trunkport g0/0/01#将端口变成Eth-trunk 的成员端口#
- Info: This operation may take a few seconds. Please wait for a moment...done. #提示信息#
- [sw1-Eth-Trunk1]trunkport g0/0/02#将端口变成Eth-trunk 的成员端口# Info: This operation may take a few seconds. Please wait for a moment...done.
- [sw1-Eth-Trunk1]port link-type trunk
[sw1-Eth-Trunk1]port trunk allow-pass vlan all
[sw1-Eth-Trunk1]quit
- [sw1]interface Eth-Trunk 1 #指定eth-trunk接口的名字#[sw1-Eth-Trunk1]mode manual load-balance
- SW2
- [sw2]interface Eth-Trunk 1 #指定eth-trunk接口的名字#[sw1-Eth-Trunk1]mode manual load-balance
- #定eth-trunk接口的模式为静态/手动
- [sw2-Eth-Trunk1]trunkport g0/0/01#将端口变成Eth-trunk 的成员端口#
- Info: This operation may take a few seconds. Please wait for a moment...done. #提示信息#
- [sw2-Eth-Trunk1]trunkport g0/0/02#将端口变成Eth-trunk 的成员端口# Info: This operation may take a few seconds. Please wait for a moment...done.
- [sw2-Eth-Trunk1]port link-type trunk
[sw2-Eth-Trunk1]port trunk allow-pass vlan all
[sw2-Eth-Trunk1]quit
- [sw2]interface Eth-Trunk 1 #指定eth-trunk接口的名字#[sw1-Eth-Trunk1]mode manual load-balance
- 我们会发现,eth-trunk的成员端口Gig/0/0/1和Gig/0/0/2的PVID变成了0,。
-
所以,以后在接口Gig/0/0/1和Gig/0/0/2端口上到的都是没有任何标签的数据,都使用Eth-trunk 1的 PVID,进行标签
-
字段解释:
-
-WorkingMode:工作模式,表示的是当前 eth-trunk 的类型是静态还是动态(normal表示的是静态)
-
-Least Active-linknumber:如果想让该 eth-trunk 可用,成员链路中必须至少得有1个链路是可用的
-
-Max Bandwidth-affected-linknumber:一个eth-trunk 最多可以捆绑多少个链路,默认是8个
-
-Operate status:表示当前的 eth-trunk 端口的状态
-
-Number Of Up Port In Trunk:表示当前的 eth-trunk 中处于活动状态的成员端口的数量
-
-Status:表示的是成员端口的状态 -Weight:权重,表示的是以后 eth-trunk 上接收到的流量,是按照怎样的比例在不同的成员端口上进行转发
-
Hash arithmetic:哈希算法,表示的是当前 eth-trunk 接收到的大量的数据,是按照怎样的模式在每个成员链路进行转发的 数据转发的负载均衡模式。默认情况下,静态链路捆绑的负载均衡模式,是基于源IP和目标IP地址 如果我们想调整 eth-trunk 的流量在每个成员链路上的负载均衡模式
我们可以使用下面的命令来调整
-
[sw1]interface Eth-Trunk 1
[sw1-Eth-Trunk1]lo
[sw1-Eth-Trunk1]load-balance ?
dst-ip According to destination IP hash arithmetic
dst-mac According to destination MAC hash arithmetic
src-dst-ip According to source/destination IP hash arithmetic
src-dst-mac According to source/destination MAC hash arithmetic
src-ip According to source IP hash arithmetic
src-mac According to source MAC hash arithmetic -
所谓的“基于源IP地址负载均衡”,指的是:当数据包的源IP地址变化后,转发路径随之变化
-
所谓的“基于目标P地址负载均衡”,指的是:当数据包的目标IP地址变化后,转发路径随之变化
-
如果想要删除Eth-trunk中的成员端口,可以使用以下命令:
-
interface eth-trunk 1
-
undo trunkport Gi0/0/*
-
quit
-
-
或者
-
interface eth-trunk 1
-
undo eth-trunk 1
- 配置案例-动态捆绑
- 拓扑
- 需求
- 1.按照图中的端口,链接2个交换机
- 2.确保设备之间的最大互联带宽,永远是2Gbit/s,另外一个线路做备份
- 3.同时,确保SW2是主动端设备
- 配置
- 在SW1上创建动态的Eth-trunk
- [sw1]interface Eth-Trunk 1
[sw1-Eth-Trunk1]mode lacp-static
[sw1-Eth-Trunk1]trunkport g0/0/1
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw1-Eth-Trunk1]trunkport g0/0/10
Info: This operation may take a few seconds. Please wait for a moment...done.- [sw1-Eth-Trunk1]trunkport g0/0/2
- Info: This operation may take a few seconds. Please wait for a moment...done.
- [sw1-Eth-Trunk1]port link-type trunk
- [sw1-Eth-Trunk1]port trunk allow-pass vlan all
- [sw1-Eth-Trunk1]trunkport g0/0/2
- [sw1]interface Eth-Trunk 1
- 在SW2上创建动态的Eth-trunk
- [sw2]interface Eth-Trunk 1
[sw2-Eth-Trunk1]mode lacp-static
[sw2-Eth-Trunk1]trunkport g0/0/1
Info: This operation may take a few seconds. Please wait for a moment...done.
Info: This operation may take a few seconds. Please wait for a moment...done.- [sw2-Eth-Trunk1]trunkport g0/0/2
- Info: This operation may take a few seconds. Please wait for a moment...done.
[sw2-Eth-Trunk1]port link-type trunk
[sw2-Eth-Trunk1]port trunk allow-pass vlan all
- 此时,通过display eth-trunk查看设备上的链路捆绑信息,会发现,gi0/0/1 、gi0/0/1 、gi0/0/1 0的状态都是selected
- [sw2]interface Eth-Trunk 1
- 在SW1上创建动态的Eth-trunk
-
我们配置th-trunk仅仅使用两个链路,另外一个链路仅仅是备份的
-
所以我们还要修改一下
-
SW1/SW2
-
interface Eth-Trunk 1
max active-linknumber 2
lacp preempt enable #开启抢占功能#
lacp preempt delay 10 #调整LACP的抢占延迟是10S,默认是30S#
quit -
同时,因为两个设备之间的互联的时候,使用的接口表示完全相同的我们想让SW2来主导设备之间互通的链路,所以我们需要修改SW2 的LACP优先级
SW2我们可以看到修改SW2优先级前后SW1端口状态的变化,因为修改SW2的优先级后,就会以SW2为主导设备,SW1的端口状态随着SW2的端口状态而改变。
- lacp priority 1--->数值越小越好
-
- 静态捆绑