深度分析LACP协议

IEEE 802.3ad标准的LACP(Link Aggregation Control Protocol, 链路聚合控制协议)是一个关于动态链路聚合的协议,它通过协议报文 LACPDU(Link Aggregation Control Protocol Data Unit, 链路聚合控制协议数据单元)和相连的设备交互信息。
当端口启用LACP协议后,端口通过发送LACPDU来通告自己的系统优先级,系统MAC,端口的优先级,端口号和操作key等。相连设备收到该报文后,根据所存储的其他端口的信息,选择端口进行相应的聚合操作,从而可以使双方在端口退出或者加入聚合组上达到一致。
端口有3种聚合模式:主动(Active)模式、被动模式(Passive)和静态模式。
其中主动模式的端口会主动发起LACP报文协商;被动模式的端口则只会对收到的LACP报文做应答;静态模式不会发出LACP报文进行协商。
聚合组内的成员端口状态可能处于3种状态:
1. 当端口的链路状态处于Down时,端口不可能转发任何数据报文,显示为”down”状态。
2. 端口链路处于Up状态,并经过LACP协商后,端口被置于聚合状态(端口被作为一个聚合组的一个成员参与聚合组的数据报文转发),显示为“bndl”状态。
3. 当端口链路处于UP状态,但是由于对端没有启用LACP,或者因为端口属性和主端口不一致等一些因素导致经过报文协商端口被置于挂起状态(处于挂起状态的端口不参与数据报文转发),显示为“susp”状态。
LACP的协商过程分析:
在收到对端的LACP报文后,选取系统ID优先级比较高的系统。在系统ID优先级较高的一端,按照端口ID优先级从高到低的顺序,设置聚合组内端口的处于聚合状态。对端收到更新后的LACP报文后,也会把相应的端口设置成聚合状态。
如上拓扑图协议过程具体描述如下:
交换机A和交换机B通过3个端口连接在一起。设置交换机A的系统优先级为61440,设置交换机B的系统优先级为4096。在交换机A,B的3个直连端口上打开LACP链路聚合,设置3个端口的聚合模式为主动模式,设置3个端口的端口优先级为默认优先级32768。
在收到对端的LACP报文后,交换机B发现自己的系统ID优先级比较高(交换机B的系统优先级比交换机A高),于是按照端口ID优先级的顺序(端口优先级相同的情况下,按照端口号从小到大的顺序)设置端口4,5,6处于聚合状态。交换机A收到交换机B更新后的LACP报文后,发现对端的系统ID优先级比较高,并且把端口设置成聚合状态了,也把端口1,2,3设置成聚合状态了。
配置举例:
在交换机CISCO_1上设置LACP系统优先级为61440,在端口E 0/1、E 0/2、 E 0/3上启用动态链路聚合协议,并设置端口的LACP端口优先级为61440。
CISCO_1# configure terminal
CISCO_1(config)# lacp system-priority 61440
CISCO_1(config)# interface range Ethernet 0/1-3
CISCO_1(config-if-range)# lacp port-priority 61440
CISCO_1(config-if-range)# channel-group 1 mode active
CISCO_1(config-if-range)# end
在CISCO_2上设置LACP系统优先级为4096,在端口E 0/1、E 0/2、E 0/3启用动态链路聚合协议,并设置端口的LACP端口优先级为 4096。
CISCO_2# configure terminal
CISCO_2(config)# lacp system-priority 4096
CISCO_2(config)# interface range Ethernet 0/1-3
CISCO_2(config-if-range)# lacp port-priority 4096
CISCO_2(config-if-range)# channel-group 1 mode active
CISCO_2(config-if-range)#end
希望本文的分享对你的学习有所帮助,转载请说明出处 数据中心农场。

weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: