lacp原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

lacp原理
LACP讲解
⼀.LACP概念的原理
LACP就是Link Aggregation Control Protocol(链路聚合控制协议),就是将多条物理链路聚合在⼀起,形成⼀条逻辑链路,它依靠LACPDU报⽂来进⾏控制,到底哪些端⼝聚和在⼀组。

使能某端⼝的LACP协议后,该端⼝将通过发送LACPDU向对端通告⾃⼰的系统优先级、系统MAC地址、端⼝优先级、端⼝号和操作Key。

对端接收到这些信息后,将这些信息与其它端⼝所保存的信息⽐较以选择能够汇聚的端⼝,从⽽双⽅可以对端⼝加⼊或退出某个动态汇聚组达成⼀致。

⼆.Key的概念
操作Key是在端⼝汇聚时,LACP协议根据端⼝的配置(即速率、双⼯、基本配置、管理Key)⽣成的⼀个配置组合。

操作Key 是在链路聚合时,聚合控制根据端⼝的配置(即速率、双⼯模式、up/down状态、基本配置等信息)⾃动⽣成的⼀个配置组合。

对于动态LACP聚合组,同组成员有相同的操作Key;对于⼿⼯聚合组和静态LACP聚合组,处于Selected状态的端⼝有相同的操作Key。

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

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

管理key是允许管理者对key值进⾏操作的key。

三.静态lacp的概念
静态lacp汇聚概述
1.静态lacp汇聚由⽤户⼿⼯配置,不允许系统⾃动添加或删除汇聚组中的端⼝。

汇聚组中必须⾄少包含⼀个端⼝。

当汇聚组只有⼀个端⼝时,只能通过删除汇聚组的⽅式将该端⼝从汇聚组中删除。

静态汇聚端⼝的lacp协议为使能状态,当⼀个静态汇聚组被删除时,其成员端⼝将形成⼀个或多个动态lacp汇聚,并保持lacp 使能。

禁⽌⽤户关闭静态汇聚端⼝的lacp协议。

2. 静态汇聚组中的端⼝状态
在静态汇聚组中,端⼝可能处于两种状态:selected或standby。

selected端⼝和standby 端⼝都能收发lacp协议,但standby 端⼝不能转发⽤户报⽂。

在静态汇聚组中,系统按照以下原则设置端⼝处于selected或者standby状态:
系统按照端⼝全双⼯/⾼速率、全双⼯/低速率、半双⼯/⾼速率、半双⼯/低速率的优先次序,选择优先次序最⾼的端⼝处于selected状态,其他端⼝则处于standby状态。

与处于selected状态的最⼩端⼝所连接的对端设备不同,或者连接的是同⼀个对端设备但端⼝在不同的汇聚组内的端⼝将处于standby状态。

端⼝因存在硬件限制(如不能跨板汇聚)⽆法汇聚在⼀起,⽽⽆法与处于selected状态的最⼩端⼝汇聚的端⼝将处于standby 状态。

与处于selected状态的最⼩端⼝的基本配置不同的端⼝将处于standby状态。

由于设备所能⽀持的汇聚组中的selected端⼝数有限制,如果当前的成员端⼝数超过了设备所能⽀持的最⼤selected端⼝数,系统将按照端⼝号从⼩到⼤的顺序选择⼀些端⼝为selected 端⼝,其他则为standby端⼝。

四.动态lacp的概念
1. 动态lacp汇聚概述
动态lacp汇聚是⼀种系统⾃动创建/删除的汇聚,不允许⽤户增加或删除动态lacp汇聚中的成员端⼝。

只有速率和双⼯属性相同、连接到同⼀个设备、有相同基本配置的端⼝才能被动态汇聚在⼀起。

即使只有⼀个端⼝也可以创建动态汇聚,此时为单端⼝汇聚。

动态汇聚中,端⼝的lacp协议处于使能状态。

2. 动态汇聚组中的端⼝状态
在动态汇聚组中,端⼝可能处于两种状态:selected或standby。

selected端⼝和standby 端⼝都能收发lacp协议,但standby 端⼝不能转发⽤户报⽂。

由于设备所能⽀持的汇聚组中的最⼤端⼝数有限制,如果当前的成员端⼝数量超过了最⼤端⼝数的限制,则本端系统和对端系统会进⾏协商,根据设备id优的⼀端的端⼝id 的⼤⼩,来决定端⼝的状态。

具体协商步骤如下:
⽐较设备id(系统优先级+系统mac地址)。

先⽐较系统优先级,如果相同再⽐较系统mac地址。

设备id⼩的⼀端被认为优。

⽐较端⼝id(端⼝优先级+端⼝号)。

对于设备id优的⼀端的各个端⼝,⾸先⽐较端⼝优先级,如果优先级相同再⽐较端⼝号。

端⼝id⼩的端⼝为selected端⼝,剩余端⼝为standby端⼝。

在⼀个汇聚组中,处于selected状态且端⼝号最⼩的端⼝为汇聚组的主端⼝,其他处于selected状态的端⼝为汇聚组的成员端⼝。

五.动态lacp的端⼝模式
动LACP的端⼝可以有两种⼯作模式,passive和active
passive:被动模式,该模式下端⼝不会主动发送LACPDU报⽂,在接收到对端发送的LACP 报⽂后,该端⼝进⼊协议计算状态。

Active:主动模式,该模式下端⼝会主动向对端发送LACPDU报⽂,进⾏LACP协议的计算。

六.链路聚合对端⼝的要求
七.聚合的分类
按照聚合⽅式的不同,链路聚合可以分为三类:
⼿⼯聚合;
静态LACP聚合;
动态LACP聚合;
⼋.技术问题解释
1.聚合中的flag 都是些什么含义?
我们在查看聚合组的状态的时候,总能看到flag字段,这些字段都有什么意义呢,下⾯⼀⼀叙述:
[rightup85]dis link v
Loadsharing Type: Shar -- Loadsharing, NonS -- Non-Loadsharing
Flags: A -- LACP_Activity, B -- LACP_timeout, C -- Aggregation,
D -- Synchronization,
E -- Collecting,
F -- Distributing,
G -- Defaulted, H -- Expired
Aggregation ID: 3, AggregationType: Dynamic, Loadsharing Type: Shar
Aggregation Description:
System ID: 0x8000, 000f-e23f-b8ff
Port Status: S -- Selected, U -- Unselected
Local:
Port Status Priority Oper-Key Flag
---------------------------------------
GE2/1/1 U 32768 1 {AC}
GE2/1/3 S 32768 1 {ACDEF}
GE4/1/1 S 32768 1 {ACDEF}
Remote:
Actor Partner Priority Oper-Key SystemID Flag
---------------------------------------
GE2/1/1 157 32768 4 0x0000,000f-e23f-b82f {ACEF}
GE2/1/3 161 32768 4 0x0000,000f-e23f-b82f {ACDEF}
GE4/1/1 277 32768 4 0x0000,000f-e23f-b82f {ACDEF}
(1) ACP_Activity:表⽰本链路的活动控制值,活动的LACP值为1(其实就可以理解为是否使能LACP),被动LACP值为0。

(2) LACP_Timeout:表⽰本链路的timeout控制值:Short Timeout值为1,Long Timeout 值为0。

(3) Aggregation:如果为TRUE,则系统认为这个链路是可聚合的,如果为FALSE,则系统认为这个链路为个体链路。

(4) Synchronization:如果为TRUE,系统认为这个链路为IN SYNC(表⽰在⼀个正确的聚合中,⽽且系统ID和操作KEY是⼀致的);如果为FALSE,链路处于OUT_OF_SYNC 状态(如,不在正确的聚合中)。

(5) Collecting:TRUE表明在这个链路上对⼊帧的收集明确使能;否则为FALSE。

(6) Distributing:FALSE表明该链路上分发发送帧功能关闭;否则为TRUE。

(7) Defaulted:如果是TRUE,则表明Actor的接收机正在使⽤默认的近邻操作信息,由⼈⼯管理配置的对端信息;如果为FALSE,则已经接收到了对端的LACPDU,正在使⽤其中的对端的操作信息。

(8) Expired:如果为TRUE,则表明Actor的接收机处于EXPIRED状态;如果为FALSE,则与之相反。

2.为什么更改动态聚合组中端⼝号最⼩的端⼝的速率,会造成聚合组内其余端⼝成为inactive状态?
⼀般的,这是动态聚合selected端⼝的选择机制造成的。

动态聚合聚合组通过LACP协议选取selected端⼝,选择时先⽐较聚合链路两端设备的LACP系统优先级,数值⼩的优先。

如果系统优先级相同就⽐较设备的桥MAC,数值⼩的优先。

在优先选中设备的聚合组⾥选择参考端⼝:⽐较端⼝的LACP优先级,数值⼩的优先。

如果端⼝LACP优先级都相同,⽐较端⼝号,数值⼩的优先。

与参考端⼝的本地及对端操作KEY都相同的、物理UP的聚合成员链路的端⼝,才能成为聚合两端的selected端⼝。

因此在聚合组端⼝优先级都相同时,如果修改LACP 系统优先级优先或优先级相同、但桥MAC⼩的设备的聚合组中端⼝号最⼩的端⼝的速率时,就会出现该端⼝被选中成selected端⼝,⽽其他端⼝因为和该端⼝的操作KEY不⼀致,⽽不被选中的现象。

3.静态和动态聚合组能够互相切换吗?
当聚合组⾥还没有添加物理端⼝时,可以在聚合逻辑⼝视图下进⾏静态和动态类型的转换,当聚合组⾥已经存在物理端⼝时,不可以进⾏聚合类型的转换。

4.聚合端⼝中Selected端⼝和Unselected端⼝有什么区别?
Selected端⼝就是选中端⼝,也就是说数据流只会在Selected端⼝上运⾏。

Unselected端⼝就是未选中端⼝,可以把它看成⼀个被Blocked掉的端⼝
5.⼀个聚合组中最多可以聚合多少个端⼝?
对于加⼊聚合组中的端⼝是没有限制的,也就是说⼀个聚合组中可以把设备上所有的端⼝都加⼊到该聚合组中,但是会成为selected端⼝只有8个端⼝,超过这8个端⼝则其他端⼝都将是unselected状态。

6.聚合组中如何实现负载分担?
协议对负载分担的描述为:可以把⼀个或多个会话(流)分配⾄相同的端⼝,但不可以把同⼀会话分配到不同的端⼝(The algorithm may assign one or more conversations to the same port, however, it must not allocate some of the frames of a given conversation to one port and the remainder to different ports). The information used to assign conversations to ports could include the following:
(1) Source MAC address
(2) Destination MAC address
(3) The reception port
(4) The type of destination address (individual or group MAC address)
(5) Ethernet Length/Type value (i.e., protocol identification)
(6) Higher layer protocol information (e.g., addressing and protocol identification informationfrom the LLC sublayer or above)
(7) Combinations of the above
7.为什么聚合组的所有端⼝操作key都相同,但还是unselected状态?
这是由于成员物理⼝的端⼝属性、QinQ等⼆类配置和聚合逻辑⼝不同。

如果是动态聚合组,此时unselected的端⼝不会发送LACP报⽂。

可以把聚合和逻辑⼝的⼆类配置重新下发,这样配置就会同步到成员物理⼝。

8.⼆三层聚合⼝有什么区别?
⼆层以太⽹⼝仅能加⼊⼆层聚合组、三层以太⽹⼝仅能加⼊三层聚合组。

⼆三层切换后,端⼝不会⾃动加⼊到对应的聚合组中。

聚合接⼝不⽀持⼆三层切换的命令。

三层聚合⼝⽀持⼦接⼝。

需要注意的是,只有硬件三层⼝才⽀持三层聚合。

相关文档
最新文档