首页 > 编程知识 正文

静态lacp和动态lacp得区别,静态LACP

时间:2023-05-05 06:31:15 阅读:221704 作者:2177

LACP实现原理

1、手工汇聚原理

手工负载分担模式链路聚合是应用比较广泛的一种链路聚合,大多数运营级网络设备均支持该特性,当需要在两个直连设备间提供一个较大的链路带宽而对端设备又不支持LACP 协议时,可以使用手工负载分担模式

手工负载分担模式的Eth-Trunk 接口可以聚合不同单板、不同双工模式的成员接口。

2、静态汇聚原理

a)基本概念

静态LACP 模式链路聚合是一种利用LACP 协议进行参数协商选取活动链路的聚合模式。该模式由LACP 协议确定聚合组中的活动和非活动链路,又称为M∶N 模式,即M 条活动链路与N 条备份链路的模式。

这种模式提供了更高的链路可靠性,并且可以在M 条链路中实现不同方式的负载均衡。

M∶N 模式的Eth-Trunk 接口中M 和N 的值可以通过配置活动接口数上限阈值来确定。

b)系统 LACP 优先级

静态LACP 模式下,两端设备所选择的活动接口必须保持一致,否则链路聚合组就无法建立。而要想使两端活动接口保持一致,可以使其中一端具有更高的优先级,另一端根据高优先级的一端来选择活动接口即可。

系统LACP 优先级就是为了区分两端优先级的高低而配置的参数。系统 LACP 优先级值越小优先级越高,缺省系统LACP 优先级值为32768。

c)接口 LACP 优先级

接口LACP 优先级是为了区别不同接口被选为活动接口的优先程度。接口LACP 优先级值越小,优先级越高。缺省情况下,接口LACP 优先级为32768。

d)静态模式Eth-Trunk 接口建立过程

静态模式Eth-Trunk 接口建立过程如下所示:

① 两端互相发送 LACPDU 报文。

② 两端设备根据系统 LACP 优先级确定主动端。

③ 两端设备根据接口LACP 优先级确定活动接口,最终以主动端设备的活动接口确定两端的活动接口。

e) 互发 LACPDU 报文

在两端设备CX-A 和CX-B 上创建Eth-Trunk 接口并配置为静态LACP 模式,然后向Eth-Trunk 接口中手工加入成员接口。

此时成员接口上便启用了LACP 协议,两端互相发出LACPDU 报文,如下图所示。

f)确定主动端

Eth-Trunk 两端设备均会收到对端发来的LACP 报文,根据报文中的优先级字段,确认活动接口。优先级字段的值越小,优先级越高。

如下图所示,当CX-B 收到CX-A 发送LACP 报文时,CX-B 会查看并记录对端信息,并且比较系统优先级字段。

CX-A 的系统优先级为10,高于CX-B 的系统优先级,所以选择CX-A 为主动端。此时CX-B 将按照CX-A 的接口优先级选择活动接口。

如果 Eth-Trunk 链路两端设备的系统优先级一致,系统将选择系统ID 字段较小的作为主动端。系统ID 由设备的MAC 地址产生。

g)选择活动接口

选出主动端后,两端都会以主动端的接口优先级来选择活动接口。如上图所示,CX-A 为主动端,CX-A 的接口GE1/0/1、GE1/0/2 的优先级高于接口GE2/0/1,此时接口GE1/0/1、GE1/0/2 被选为活动接口,组成LACP 聚合组,以负载分担的方式转发数据。

2、动态汇聚原理

动态汇聚和静态汇聚原理类似,只是动态汇聚中所有端口都是通过协议确定,而不是像静态汇聚通过协议在指定端口中确定汇聚相关端口。

四、实现细节

1、链路聚合控制的相关参数

a)LACP协议如何唯一的标识聚合组:

系统ID(System ID) ,由“系统优先级+系统MAC地址”组成,其中,之所以要有“系统优先级”,是因为LACP协议中,链路聚合两端设备扮演不同角色,有了“系统优先级”,管理员可以通过配置干预角色选举。

b)端口ID(Port ID):

对于参与链路聚合的各个端口,也需要在设备内部唯一标识,端口ID由“端口优先级+端口号”组成,之所以需要“端口优先级”,也是因为涉及端口的不同角色选举

c)Aggregator ID:

在一个设备上,能进行多组聚合,即有多个Aggregator,为了区分这些Aggregator,给每个Aggregator分配了一个聚合ID(Aggregator ID),为一个16位整数

2、端口key

聚合端口中有两种key:一种是操作key,一种是管理key。

操作key是为形成聚合当前使用的key,管理key是允许管理者对key值进行操作的key。

3、 操作key

在动态LACP聚合中,只有操作KEY相同的端口才能属于同一个聚合组,你可以认为操作KEY相同的端口,其属性相同。

在手工聚合和静态LACP聚合中,虽然同一个聚合组中的端口的操作KEY不一定相同(因端口由管理员手工加入),但是Selected端口的操作KEY一定相同。

操作Key 是在端口汇聚时,系统根据端口的配置(即速率、双工、基本配置、管理

Key)生成的一个配置组合。

(1) 对于手工汇聚组和静态汇聚组,Selected 的端口有相同的操作Key。

(2) 静态汇聚端口在使能LACP 后,端口的管理Key 与汇聚组ID 相同。

(3) 动态汇聚端口在使能LACP 协议后,其管理Key 缺省为零。

(4) 对于动态汇聚组,同组成员一定有相同的操作Key。

4、六要素

一个聚合组来说,如果需要进行唯一标识的话,需要包含四个元素:本端系统ID、本端操作KEY、对端系统ID、对端操作KEY。

系统中并不是所有聚合组都包含多个链路,为了区分只包含单个链路的聚合组的情况,还需要额外加上两个元素:本端端口ID和对端端口ID。

结论:

这六个元素唯一确定了一个聚合组,称为聚合组 ID(Link Aggregation Group ID,LAG ID)。如果一个聚合组中包含多个链路,那么LAG ID中,本端端口ID和对端端口ID为0,相当于只用四元组就可以刻画包含多个链路的聚合组。

5、端口类型:

a)Selectet和Unselected:

参与流量转发的端口称为Selected端口,否则称为Unselected端口

b)主端口(master端口)

处于Selected状态且端口号最小的端口称为主端口(Master Port),可以形象的认为,聚合组中的所有端口被汇聚到了主端口,主端口在逻辑上代表了整个聚合组,对于GVRP/GMRP、STP/RSTP/MSTP等二层协议,都只从主端口发送,其他数据报文则在各个Selected端口间分担。

c)补充:

由于Selected与Unselected端口在实际状态下的选取受到硬件的影响,所以不同厂家产品的具体表现形式可能有差异。

6、LACP绑定端口

判断将一个端口绑定到Aggregator的关键依据是 LAG ID,判断方法是:

(1)Aggregator的操作KEY和端口的操作KEY相同。

(2)已经绑定到这个Aggregator的其他端口和这个端口有相同的链路LAG ID,即与Aggregator关联的LAG ID必须和端口的LAG ID相同。

(3) “LAG ID”则指的是聚合组ID( Link Aggregation Group ID),“聚合ID”则指的是Aggregator ID. (LAG ID就是指属于同一个聚合中的所有port 包括selected 和Standby,对于手工和静态比较好理解,就是指用户所指定的所有port,对于动态汇聚,指所有port)

7、端口离开Aggregator

(1)如果Actor端口在一定时间内(使用long timeout时是90s,使用short timeout是3秒)收不到Partner端口发送的LACP报文,就宣告自己处于超时状态,如果在下一个short timeout时间(3秒)内还没有收到Partner的报文,就会离开这个Aggregator。

(2)如果从Partner端口收到的LACP报文,发现LAG ID发生了改变(系统ID或操作KEY发生了变化,系统ID改变说明连接到的对端设备发生了变化,操作KEY发生了变化可能是对端端口的属性发生了变化),这时端口也会离开这个Aggregator。

(3)还有一种导致端口离开Aggregator的情况:Actor端口本身的属性发生了变化,设备通过动态操作KEY功能给它分配的操作KEY发生变化,导致和Aggregator的LAG ID不匹配,从而离开聚合组。

8、Active模式和Passive模式

(1)Active模式下,端口正常周期性的发送LACP报文;

(2)Passive模式下,端口平时不发送LACP报文,不过,一旦收到了对端的LACP报文,就会正常发送LACP报文了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。