Lacp实现状态机
- 格式:pdf
- 大小:4.42 MB
- 文档页数:5
lacp协议原理LACP(Link Aggregation Control Protocol)是一种用于组成和管理网络中的链路聚合的协议。
链路聚合是将多个物理链路绑定在一起,形成一个逻辑链路,以增加网络的带宽和提高冗余性。
1. LACP的概述LACP是IEEE 802.3ad标准中定义的一种链路聚合协议。
通过LACP协议,网络设备(如交换机、路由器)可以自动协商并动态地组成链路聚合组,这样多个物理链路就可以作为一个逻辑链路来传输数据。
2. LACP的工作原理LACP协议通过LACP信息交换来建立和管理链路聚合组。
在LACP信息交换中,主要包括LACP协商阶段和LACP活动阶段两个阶段。
在LACP协商阶段,网络设备之间发送LACP协商报文,以确定链路聚合组的成员关系和工作模式。
在这个阶段,设备之间会互相交换自身的LACP能力和优先级信息,并根据这些信息来决定是否组成链路聚合组。
在LACP活动阶段,链路聚合组中的成员链路会周期性地发送LACP链路状态报文,以通知其他成员链路自身的状态。
这些状态信息包括链路的活跃性、代价以及发送端口的优先级等。
通过这些状态信息的交换和比较,链路聚合组中的成员链路可以进行状态的同步和调整。
3. LACP的工作模式LACP协议定义了两种工作模式,分别为主动模式和被动模式。
在主动模式下,设备主动地发送LACP协商报文,以寻找链路聚合组。
如果其他设备也处于主动模式并且具备组成链路聚合组的条件,那么它们就会自动地形成一个链路聚合组。
如果其他设备处于被动模式,则只有在接收到主动设备的LACP协商报文后才会组成链路聚合组。
在被动模式下,设备只有在接收到其他设备的LACP协商报文后才能组成链路聚合组。
4. LACP的优先级与端口选择算法LACP协议中,每个端口都有一个优先级值,范围为0-65535,数值越低表示优先级越高。
当设备需要选择参与链路聚合的链路时,会优先选择具有最高优先级值的链路。
【实验】静态LACP的链路聚合静态LACP模式也称为M∶N模式。
这种⽅式同时可以实现链路负载分担和链路冗余备份的双重功能。
在链路聚合组中M条链路处于活动状态,这些链路负责转发数据并进⾏负载分担,另外N条链路处于⾮活动状态作为备份链路,不转发数据。
当M条链路中有链路出现故障时,系统会从N条备份链路中选择优先级最⾼的接替出现故障的链路,同时这条替换故障链路的备份链路状态变为活动状态开始转发数据。
静态LACP模式与⼿⼯负载分担模式的主要区别为:静态LACP模式有备份链路,⽽⼿⼯负载分担模式所有成员接⼝均处于转发状态,分担负载流量【配置】interface Eth-Trunk10mode lacp-static //配置lacp⽅式的链路聚合trunkport GigabitEthernet 0/0/1 to 0/0/4 //加⼊物理成员接⼝least active-linknumber link-number,配置链路聚合活动接⼝数下限阈值。
//保证最少要有⼏个成员接⼝存活缺省情况下,活动接⼝数下限阈值为1[sw4-Eth-Trunk10]max active-linknumber 3 //配置活动接⼝数⽬上限阀值实际接⼝数量多于阀值时多出来的就是备份链路//抢占延迟是为了链路稳定后才开始真正的抢占[sw4-Eth-Trunk10]dis eth-trunk 10Eth-Trunk10's state information is:Local:LAG ID: 10 WorkingMode: STATICPreempt Delay: Disabled Hash arithmetic: According to SIP-XOR-DIPSystem Priority: 32768 System ID: 4c1f-ccbf-59f7Least Active-linknumber: 2 Max Active-linknumber: 3Operate status: up Number Of Up Port In Trunk: 3 //最⼤三个--------------------------------------------------------------------------------ActorPortName Status PortType PortPri PortNo PortKey PortState WeightGigabitEthernet0/0/1 Selected 1GE 32768 2 2609 10111100 1GigabitEthernet0/0/2 Selected 1GE 32768 3 2609 10111100 1GigabitEthernet0/0/3 Selected 1GE 32768 4 2609 10111100 1GigabitEthernet0/0/4 Unselect 1GE 32768 5 2609 10100000 1 //那么有⼀个就作为备份了Partner:--------------------------------------------------------------------------------ActorPortName SysPri SystemID PortPri PortNo PortKey PortStateGigabitEthernet0/0/1 32768 4c1f-ccca-6c8c 32768 2 2609 10111100GigabitEthernet0/0/2 32768 4c1f-ccca-6c8c 32768 3 2609 10111100GigabitEthernet0/0/3 32768 4c1f-ccca-6c8c 32768 4 2609 10111100GigabitEthernet0/0/4 32768 4c1f-ccca-6c8c 32768 5 2609 10110000[sw4]lacp priority 0配置lacp的系统优先级主要是为了区别谁作为链路聚合的主动端优先级默认32768 如果优先级⼀致⽐较系统MAC MAC地址⼩的优先[sw4]interface GigabitEthernet 0/0/3[sw4-GigabitEthernet0/0/3]lacp priority 4096 //配置接⼝优先级链路起来的时候它会优先选择到eth-trunk【交换机两边都需要配置】[sw4]int Eth-Trunk 10[sw4-Eth-Trunk10]lacp preempt enable //开启抢占[sw4-Eth-Trunk10]lacp preempt delay 10 //延迟10s 默认30s当再次开启接⼝抢占成功。
lacp负载分担方式-回复LACP(Link Aggregation Control Protocol)是一种网络协议,用于将多个物理链路组合为一个逻辑链路,实现链路负载分担和冗余备份。
在本文中,将详细介绍LACP的负载分担方式。
LACP负载分担方式主要有两种:基于MAC地址的负载分担和基于IP 地址的负载分担。
下面我们将逐步介绍这两种方式。
第一种方式是基于MAC地址的负载分担。
在这种方式下,交换机和主机之间的链路将被划分为多个虚拟链路,每个虚拟链路都有一个唯一的MAC地址。
交换机通过查看数据帧中的源MAC地址来确定将其发送到哪个虚拟链路上。
具体的负载分担算法包括以下几种:1. 基于源MAC地址的负载分担:交换机根据数据帧中的源MAC地址将数据发送到相应的虚拟链路上。
这样可以确保相同源MAC地址的数据帧发送到同一个虚拟链路上,实现负载的均衡分担。
2. 基于目的MAC地址的负载分担:交换机根据数据帧中的目的MAC 地址将数据发送到相应的虚拟链路上。
这样可以确保相同目的MAC地址的数据帧发送到同一个虚拟链路上,实现负载的均衡分担。
3. 基于源目的MAC地址对的负载分担:交换机根据数据帧中的源MAC地址和目的MAC地址对将数据发送到相应的虚拟链路上。
这样可以确保相同源MAC地址和目的MAC地址对的数据帧发送到同一个虚拟链路上,实现负载的均衡分担。
基于MAC地址的负载分担方式在交换机和主机之间实现了链路负载的均衡,可以提高网络的吞吐量和性能。
第二种方式是基于IP地址的负载分担。
在这种方式下,交换机和主机之间的链路将被划分为多个虚拟链路,每个虚拟链路都有一个唯一的IP地址。
交换机通过查看数据包中的源IP地址或目的IP地址来确定将其发送到哪个虚拟链路上。
具体的负载分担算法包括以下几种:1. 基于源IP地址的负载分担:交换机根据数据包中的源IP地址将数据发送到相应的虚拟链路上。
这样可以确保相同源IP地址的数据包发送到同一个虚拟链路上,实现负载的均衡分担。
实验二:02静态LACP模式链路聚合一、实验目的实验目的:了解并熟悉Switch交换机之间的配置活动接口数阈值、配置接口优先级确定主动端及活动链路、及静态LACP模式链路聚合,保证数据传输的可靠性。
二、实验内容实验内容:通过在两台交换机设备上配置静态LACP模式链路聚合组,提高两设备之间的带宽与可靠性。
三、实验原理实验原理:通过在两台交换机设备上配置静态LACP模式链路聚合组,并在交换机设备上创建及配置eth-Trunk为静态LACP模式,将成员接口加入,配置交换机活动接口数阈值、接口优先级确定主动端及活动链路,使得有2条活动链路具有负载分担能力,1条成为备份链路具有替代故障链路,以达到保持数据传输的可靠性。
四、实验器材实验器材:电脑Windows 7一台,华为虚拟机(eNSP)一个,2台LSW交换机,3根网线五、实验步骤实验步骤:第一步:建立好拓扑第二步:启动所有的设备服务第三步:双击进入到LSW1交换机的命令界面第四步:给交换机重新命名为Rou-SwitchA,并创建eth-Trunk 1第五步:配置eth-Trunk 1的工作模式为静态LACP模式第六步:分别进入接口G0/0/1、G0/0/2和G0/0/3后将这三个接口加入到eth-Trunk 1内。
第七步:配置Rou-SwitchA系统优先级为100(lacp priority 100),使其成为主动端第八步:配置Rou-SwitchA活动接口上限阀值为2(max active-linknumber 2)。
第九步:配置Rou-SwitchA上的G0/0/1和G0/0/2接口优先级为100来确定活动链路。
第十步:查看Rou-SwitchA优先级是否为100,G0/0/1和G0/0/2是否成为活动接口,G0/0/3是否成为备份接口(display eth-Trunk 1)。
第十一步:双击进入到LSW2交换机的命令界面,给交换机重新命名为Rou-SwitchB,并创建eth-Trunk 1第十二步:配置eth-Trunk 1的工作模式为静态LACP模式第十三步:分别进入接口G0/0/1、G0/0/2和G0/0/3后将这三个接口加入eth-Trunk 1内。
LabVIEW中的状态机设计和实现LabVIEW是一种用于控制与测量应用程序的编程环境,其独特之处在于可以通过图形化编程语言来编写程序。
在LabVIEW中,状态机是一种常用的设计模式,可以帮助我们实现复杂的控制逻辑和状态转换。
本文将介绍LabVIEW中的状态机的设计和实现方法。
一、状态机的概念与原理状态机是一种数学模型,用于描述系统或对象在不同状态之间的转换规则。
在LabVIEW中,状态机可以帮助我们实现程序的控制逻辑,使程序能够根据当前的状态做出相应的操作。
状态机通常包含以下几个基本元素:1. 状态(State):表示系统或对象所处的状态,可以是一个具体的状态值或者是一个状态变量。
2. 事件(Event):表示系统或对象发生的事件,触发状态的转换。
3. 动作(Action):表示状态转换时需要执行的操作或行为。
4. 转换(Transition):表示状态之间的转换关系,通常由事件和动作组成。
状态机的原理是根据当前的状态和接收到的事件,通过状态转换来改变系统或对象的状态,以实现程序的控制逻辑。
二、状态机的设计步骤在LabVIEW中,设计状态机可以按照以下步骤进行:1. 确定系统或对象的不同状态:根据实际需求确定系统或对象的不同状态,并为每个状态定义一个独特的标识符或变量。
2. 确定系统或对象可能的事件:根据实际需求确定系统或对象可能发生的事件,并为每个事件定义一个独特的标识符或变量。
3. 定义状态之间的转换关系:根据系统或对象的行为规则,确定不同状态之间的转换条件,并为每个转换条件定义一个独特的标识符或变量。
4. 实现状态转换的动作:根据实际需求,在状态之间的转换时执行相应的动作或操作。
5. 实现状态机的控制逻辑:根据定义的状态、事件、转换和动作,使用LabVIEW的图形化编程语言实现状态机的控制逻辑。
三、LabVIEW中的状态机实现示例下面以一个简单的灯控制系统为例,介绍如何在LabVIEW中实现状态机。
端口汇聚是将多个端口聚合在一起形成1 个汇聚组,以实现出/入负荷在各成员端口中的分担,同时也提供了更高的连接可靠性。
端口汇聚可以分为手工汇聚、动态LACP 汇聚和静态LACP 汇聚。
同一个汇聚组中端口的基本配置应该保持一致,即如果某端口为Trunk 端口,则其他端口也配置为Trunk 端口;如该端口的链路类型改为Access 端口,则其他端口的链路类型也改为Access 端口。
端口的基本配置主要包括STP、QoS、VLAN、端口等相关配置。
其中STP 配置包括:端口的STP使能/关闭、与端口相连的链路属性(如点对点或非点对点)、STP优先级、路径开销、报文发送速率限制、是否环路保护、是否根保护、是否为边缘端口。
QoS 配置包括:流量限速、优先级标记、缺省的802.1p 优先级、带宽保证、拥塞避免、流重定向、流量统计等。
VLAN 配置包括:端口上允许通过的VLAN、端口缺省VLAN ID。
端口配置包括:端口的链路类型,如Trunk、Hybrid、Ac c ess属性。
端口汇聚可以分为手工汇聚、动态LACP 汇聚和静态LACP 汇聚。
1. 手工聚合和静态LACP 聚合手工聚合和静态LACP 聚合都是人为配置的聚合组,不允许系统自动添加或删除手工或静态聚合端口。
手工或静态聚合组必须包含一个端口,当聚合组只有一个端口时,只能通过删除聚合组的方式将该端口从聚合组中删除。
手工聚合端口的LACP协议为关闭状态,禁止用户使能手工聚合端口的LACP 协议。
静态聚合端口的LA CP 协议为使能状态,当一个静态聚合组被删除时,其成员端口将形成一个或多个动态LACP 聚合,并保持LACP 使能。
禁止用户关闭静态聚合端口的LACP 协议。
在手工和静态聚合组中,端口可能处于两种状态:Active 和Inactive。
其中,只有Active 状态的端口能够收发用户业务报文,而Inactive 状态的端口不能收发用户业务报文。
LACP学习笔记一、LACP简介1、LACP协议简介基于 IEEE802.3ad 标准的LACP(Link Aggregation Control Protocol,链路汇聚控制协议)是一种实现链路动态汇聚与解汇聚的协议。
LACP 协议通过LACPDU(Link Aggregation Control Protocol Data Unit,链路汇聚控制协议数据单元)与对端交互信息。
使能某端口的 LACP 协议后,该端口将通过发送LACPDU 向对端通告自己的系统优先级、系统MAC、端口优先级、端口号和操作Key。
对端接收到这些信息后,将这些信息与其它端口所保存的信息比较以选择能够汇聚的端口,从而双方可以对端口加入或退出某个动态汇聚组达成一致。
2、LACP报文主要字段介绍:Actor_Port/Partner_Port:本端/对端接口信息。
Actor_State/Partner_State:本端/对端状态。
Actor_System_Priority/Partner_System_Priority:本端/对端系统优先级。
Actor_System/Partner_System:本端/对端系统ID。
Actor_Key/Partner_Key:本端/对端操作Key,各接口的该值相同才能够聚合。
Actor_Port_Priority/Partner_Port_Priority:本端/对端接口优先级。
二、链路聚合的分类1、手工负载分担模式链路聚合1)手工汇聚概述手工负载分担模式是一种最基本的链路聚合方式,在该模式下,Eth-Trunk 接口的建立,成员接口的加入完全由手工来配置,没有链路聚合控制协议的参与。
该模式下所有成员接口(selected)都参与数据的转发,分担负载流量,因此称为手工负载分担模式。
手工汇聚端口的 LACP 协议为关闭状态,禁止用户使能手工汇聚端口的LACP 协议。
2)手工汇聚组中的端口状态在手工汇聚组中,端口可能处于两种状态:Selected 或Standby。
华为交换机CPU进程说明 输出display cpu-usage 结果⽐对: 1 DARP Arp任务 2 CFSN Snmp set执⾏任务 3 DHCC DHCP客户端主任务 4 DHCP DHCP和DHCP中继主任务 5 DLSW DLSW主任务 6 vtxx EXEC配置任务 7 FP** ftp写flash任务 8 FTPS ftp服务器任务 9 FC** ftp客户端任务 10 HT** http⼦任务⼊⼝ 11 HSFF http服务器任务 12 HS** http客户端任务 13 VIDL 空闲任务 14 TICK 时钟任务 15 vt0 Exec配置任务 16 INFO 信息处理中⼼任务 17 ROUT 路由管理及路由协议任务 18 SapT Stun sap任务 19 SOCK 报⽂转发任务 20 VSIF 底层报⽂转发任务 21 VTYD telnet服务器任务 22 IPSP Ipsec任务 23 IKE Ike任务 24 TAC Tacacs+任务 25 SC 服务控制任务 26 RDS Radius任务 27 ACM Acm模块任务 28 LSSO Local server任务 29 TRAP Trap任务 30 NTPT Ntp任务 31 PIMT 组播接收发送任务 32 LSPM MPLS LSPM Task 33 L2V MPLS L2VPN任务 34 IPP Ipp任务 35 SIP Sip任务 36 RMON Rmon任务 display cpu-usage命令输出信息描述 CPU Usage Stat. Cycle CPU占⽤率统计周期。
CPU Usage CPU占⽤率 · Current:当前值 · Max:最⼤值 CPU Usage Stat. Time CPU占⽤率的统计时间,即当前时间。
CPU utilization for five seconds 5秒钟内CPU占⽤率的平均值。
8LACP 配置 8.1 链路聚合控制路聚合控制协议协议协议概概述IEEE 802.3ad 标准的LACP(Link Aggregation Control Protocol, 链路聚合控制协议)是一个关于动态链路聚合的协议,它通过协议报文 LACPDU(Link Aggregation Control Protocol Data Unit, 链路聚合控制协议数据单元)和相连的设备交互信息。
当端口启用LACP 协议后,端口通过发送LACPDU 来通告自己的系统优先级,系统MAC ,端口的优先级,端口号和操作key 等。
相连设备收到该报文后,根据所存储的其他端口的信息,选择端口进行相应的聚合操作,从而可以使双方在端口退出或者加入聚合组上达到一致。
8.2 动态链动态链路聚合的模式路聚合的模式端口有3种聚合模式:主动(Active)模式、被动模式(Passive)和静态模式。
其中主动模式的端口会主动发起LACP 报文协商;被动模式的端口则只会对收到的LACP 报文做应答;静态模式不会发出LACP 报文进行协商,具体配置请参见静态AP 配置指南《AP-SCG.doc 》的说明。
各个聚合模式的相邻端口聚合模式要求如下: 表1相邻端口聚合模式要求 8.3 LACP 端口的端口的状状态聚合组内的成员有可能处于3种状态: 1. 当端口的链路状态处于Down 时,端口不可能转发任何数据报文,显示为”down”状态。
2. 端口链路处于Up 状态,并经过LACP 协商后,端口被置于聚合状态(端口被作为一个聚合组的一个成员参与聚合组的数据报文转发),显示为“bndl ”状态。
3. 当端口链路处于UP 状态,但是由于对端没有启用LACP ,或者因为端口属性和主端口不一致等一些因素导致经过报文协商端口被置于挂起状态(处于挂起状态的端口不参与数据报文转发),显示为“sups ”状态。
8.4 动态链动态链路聚合的路聚合的路聚合的优优先级关级关系系8.4.1 LACP 的系的系统统ID端口模式相邻端口聚合模式要求 主动模式主动模式或者被动模式 被动模式主动模式 静态模式静态模式说明只有全双工的端口才能进行聚合成员端口的速率、流控、介质类型以及成员端口的二 三层属性必须一致才能聚合端口聚合后修改端口的上述属性将导致同个聚合组内的其他端口也无法聚合每台设备仅能配置一个LACP聚合系统。
LACP协议的链路聚合与网络带宽扩展随着互联网的迅速发展,网络流量的增长带来了对网络带宽的需求不断提升的问题。
为了满足这一需求,网络管理员们开始寻求使用链路聚合技术来扩展网络带宽。
本文将重点介绍LACP(链路聚合控制协议)的原理及其在网络带宽扩展中的应用。
一、LACP协议的基本原理LACP是一种用于多个物理链接之间的链路聚合协议,旨在提供高带宽、高可靠性的解决方案。
LACP协议基于IEEE 802.3ad标准,通过将多个物理链路绑定在一个逻辑链路上来扩展带宽并提供冗余。
它利用链路聚合控制器(LAC)和链路聚合协议数据单元(LACPDU)来实现链路的聚合。
1.1 链路聚合控制器(LAC)的作用LAC是LACP协议的关键组件,负责处理来自LACP活动端口的链路聚合请求和响应。
当多个物理端口被LAC绑定为聚合组时,LAC会为该聚合组分配一个唯一的聚合组标识,以便于对链路进行管理和监控。
1.2 链路聚合协议数据单元(LACPDU)的作用LACPDU是LACP协议中用于交换链路聚合信息的数据单元。
它包含了链路聚合请求、响应以及协议配置信息等。
通过LACPDU的交换,不同的LAC能够协调彼此之间的链路聚合操作。
二、链路聚合的网络带宽扩展链路聚合技术通过同时利用多个物理链路来增加传输带宽,从而实现网络带宽的扩展。
它能够提供更高的数据吞吐量和更好的负载均衡。
2.1 数据吞吐量的提升链路聚合技术可以将多个物理链路聚合为一个逻辑链路,实现数据的并行传输。
当网络中的数据流量增加时,链路聚合可以根据策略将数据流量均匀地分散到不同的物理链路上,从而提升整体的数据吞吐量。
2.2 负载均衡的优化通过链路聚合,网络管理员可以配置策略来实现更好的负载均衡。
例如,可以根据源IP地址、目的IP地址、源端口号等因素来决定将数据流量发送到哪个物理链路上。
这样可以避免某个物理链路过载而导致性能下降,实现更好的负载均衡。
2.3 接口冗余和容错性的提高链路聚合还可以提高网络的冗余性和容错性。
华为配置静态LACP模式链路聚合示例组网需求如图所示,在两台Switch设备上配置静态LACP模式链路聚合组,提高两设备之间的带宽与可靠性,具体要求如下:2条活动链路具有负载分担的能力。
两设备间的链路具有1条冗余备份链路,当活动链路出现故障链路时,备份链路替代故障链路,保持数据传输的可靠性。
图配置静态LACP模式链路聚合组网图配置思路采用如下的思路配置静态LACP模式链路聚合:在Switch设备上创建Eth-Trunk,配置Eth-Trunk为静态LACP模式。
将成员接口加入Eth-Trunk。
配置系统优先级确定主动端。
配置活动接口上限阈值。
配置接口优先级确定活动链路。
数据准备为完成此配置例,需准备如下的数据:两端Switch设备链路聚合组编号。
SwitchA系统优先级。
活动接口上限阈值。
活动接口LACP优先级。
操作步骤创建编号为1的Eth-Trunk,配置它的工作模式为静态LACP模式# 配置SwitchA。
<Quidway> system-view[Quidway] sysname SwitchA[SwitchA] interface eth-trunk 1[SwitchA-Eth-Trunk1] bpdu enable[SwitchA-Eth-Trunk1] mode lacp-static[SwitchA-Eth-Trunk1] quit# 配置SwitchB。
<Quidway> system-view[Quidway] sysname SwitchB[SwitchB] interface eth-trunk 1[SwitchB-Eth-Trunk1] bpdu enable[SwitchB-Eth-Trunk1] mode lacp-static[SwitchB-Eth-Trunk1] quit将成员接口加入Eth-Trunk# 配置SwitchA。
[SwitchA] interface ethernet 0/0/1[SwitchA-Ethernet0/0/1] eth-trunk 1[SwitchA-Ethernet0/0/1] quit[SwitchA] interface ethernet 0/0/2[SwitchA-Ethernet0/0/2] eth-trunk 1[SwitchA-Ethernet0/0/2] quit[SwitchA] interface ethernet 0/0/3[SwitchA-Ethernet0/0/3] eth-trunk 1[SwitchA-Ethernet0/0/3] quit# 配置SwitchB。
链路聚合技术lacp hash策略-概述说明以及解释1.引言1.1 概述概述链路聚合技术(Link Aggregation)是一种在网络中同时使用多个物理链路进行数据传输的技术。
通过将多个链路捆绑成一个逻辑链路,链路聚合技术可以提高网络的可靠性、带宽利用率和负载均衡能力。
在实际应用中,链路聚合技术常用于构建高可用性和高性能的网络环境,特别是在数据中心、企业网络和云计算等场景下。
本文主要讨论链路聚合技术中的LACP(Link Aggregation Control Protocol)和其关键的hash策略。
LACP是一种用于动态链路聚合的协议,它提供了一种自动并且可靠的方式来管理和控制链路聚合组中的成员链路。
通过使用LACP,网络设备可以自动检测链路的可用性、协调链路状态并实现链路故障的动态恢复。
除了LACP协议外,hash策略是链路聚合技术中的另一个重要组成部分。
hash策略用于在物理链路和逻辑链路之间建立映射关系,确保数据能够在链路聚合组中的各个成员链路之间均匀分布。
通过合理地选择hash 策略,可以达到负载均衡的目的,提高链路聚合组的整体性能和吞吐量。
本文将首先介绍链路聚合技术的基本概念和原理,包括链路聚合组的构建方式、链路状态检测和故障恢复等方面。
然后,重点讨论LACP协议的工作原理和其在链路聚合中的应用。
接着,将详细介绍hash策略的不同类型和选择方法,并探讨其对链路聚合组性能的影响。
最后,通过总结本文的内容,归纳链路聚合技术和LACP协议的优势和局限性。
同时,对链路聚合技术的未来发展进行了展望,并提出了一些建议和改进的方向。
通过本文的阐述,读者可以更全面地了解链路聚合技术和LACP协议以及其在网络中的应用和优化方法,从而为设计和部署链路聚合组提供参考和指导。
文章结构部分的内容如下:1.2 文章结构本文主要分为引言、正文和结论三个部分。
在引言部分,首先概述了链路聚合技术以及LACP (Link Aggregation Control Protocol) 的背景和重要性。
⼀⽂讲解链路聚合的两种模式:⼿动模式、静态LACP模式LAG,链路聚合组,是由多条物理链路捆绑⽽成的逻辑链路。
被称为Eth-Trunk的逻辑端⼝有很多优点,例如,增加两个相连的⽹络设备之间的总带宽,提供备份物理链路等。
根据是否使⽤LACP,链路聚合可以⼯作在⼿动模式或静态LACP模式,⼿动模式在⼿动模式下,需要⼿动创建Eth-Trunk,同时将成员接⼝添加到Eth-Trunk中。
当其中⼀个链接的⽹络设备不⽀持 LACP 协议时,可以使⽤⼿动模式。
与 LACP 模式不同,⼿动模式 Eth-Trunk ⽆法更改最⼤ active-linknumber,这意味着不存在备⽤链路,每条活动链路都将参与流量转发。
相反,可以配置least active-linknumber,这个值会影响Eth-Trunk应该有的最少链路,当active链路⼩于它时,Eth-Trunk会转为down状态。
静态LACP模式在LACP模式下,两台相连的⽹络设备发送LACPDU进⾏协商,确定哪些接⼝可以加⼊Eth-Trunk,最终形成Eth-Trunk。
在协商过程中,有⼏点我们需要注意。
1. 具有⾼优先级(较低优先级值)的设备将决定哪些接⼝可以添加到 Eth-Trunk,另⼀个设备会将链接到对端设备上的活动接⼝的那些接⼝添加到 Eth-Trunk。
2. 如果接⼝总数⼤于确定最⼤活动接⼝的maximum active-linknumber,则优先级⾼(优先级值低)的设备根据接⼝端⼝优先级确定哪些接⼝是活动接⼝,其余接⼝为standby,当⼀个或多个活动接⼝变为关闭状态时,相同数量的备⽤接⼝将根据其端⼝优先级变为活动状态。
静态LACP模式与⼿动模式相⽐有什么优势?静态 LACP 模式可以防⽌⼀些潜在的配置错误。
拓扑显⽰如下:当 SW4 和 SW5 之间的链路配置为 Eth-Trunk 时,当使⽤⼿动模式时,在 SW4 上,如果在Eth-Trunk 中同时添加三个端⼝,则 server1 与 server2 通信时,可能会有⼀些数据流量转发到server3,这将导致丢包。
【H3C交换机】cpu各个进程的详细说明display cpu-usage命令⽤来查看设备CPU占⽤率的统计信息,以及各个进程的cpu占⽤率。
各个进程详细说明如下,不同软件版本、盒式和框式的cpu进程略有不同,详细信息可以查看⼿册中的命令参考,有关display cpu-usage命令的介绍。
BUFM:输出调试信息的任务1731:实现Y1731协议栈,管理协议状态机,维护协议相关的数据库_EXC:系统异常事件处理任务_TIL:监控、处理软件异常导致的死循环AAA:认证/计费/授权,实现与UCM、RADIUS等模块进⾏交互,处理⽤户认证消息,维护认证与授权表项信息ACL:访问控制列表ADPG:适配层任务,维护动态VLAN相关的芯⽚表项ADPT:实现EFM协议栈处理,管理协议状态机,维护协议相关的数据库age_task:MAC⽼化任务AGNT:实现IPv4 SNMP协议栈AGT6:实现IPV6 SNMP 协议栈ALM:告警信息的添加、清除、管理任务ALS:实现激光器⾃动关闭功能AM:负责地址池以及地址的管理,为DHCP等模块提供地址管理服务AMCP:应⽤层管理控制协议,⽤于SPU单板同步主控板数据APP:负责三层业务任务统⼀调度ARP:实现ARP协议栈,管理协议状态机,维护协议相关的数据库au_msg_hnd :AU消息处理任务,MAC学习和MAC表项下发使⽤AU消息⽅式bcmC:芯⽚端⼝报⽂计数bcmD:实现芯⽚的驱动软件异步处理消息bcmR:提供从芯⽚接收报⽂的功能bcmT:提供向芯⽚发送报⽂的功能bcmX:提供向特定型号芯⽚异步发送报⽂的功能BEAT:板间⼼跳报⽂的发送和接受、监控板间通信是否异常BFD:实现双向链路检测(BFD)协议栈,管理协议状态机,维护协议相关的数据库bmLI:扫描端⼝状态,变化时通知应⽤模块处理BOX:输出⿊盒⼦中存储的信息(⿊盒⼦⽤于记录产品运⾏过程中出现的错误、异常等信息)BULK_CLASS:USB设备类管理任务(如U盘,⿏标属不同CLASS)(操作系统任务)BULK_CLASS_IRP:USB设备类I/O请求包管理任务(操作系统任务)BusM A:USB 总线管理任务(操作系统任务)CCTL:批量性能采集调度任务CDM:管理配置相关数据CFM:配置恢复CHAL:完成硬件适配层功能CKDV:时钟卡控制和管理CMD_Switching:Socket侦听任务CMDA:提供批量执⾏命令的功能cmdExec:命令⾏执⾏任务CSBR:主备⼀致性检测CSPF:实现CSPF协议栈,进⾏路径计算CssC:处理集群产⽣的事件CSSM:实现集群协议栈,管理集群状态DEFD:负责监控上送CPU的流量,维护CPU防攻击相关数据DELM:STP删除MAC的任务DEV:管理设备上的硬件模块DEVA:设备管理处理⼦卡热插拔DFSU:逻辑卡逻辑⽂件加载DHCP:实现DHCP协议栈处理,完成DHCP Snooping及DHCP Relay等功能DLDP:实现完成DLDP协议栈处理,管理协议状态机,维护协议相关的数据库DSMS:设备管理模块处理环境监控系统发送的环境告警EAP:实现提供8021X认证、MAC认证以及旁路认证功能,管理协议状态机,维护协议相关的数据库Ecm:低级板间通信管理ECM:提供低级板间通信功能EFMT:发送3AH的测试报⽂EHCD_IH:USB host控制器驱动任务(操作系统任务)ELAB:管理设备电⼦标签FECD:负责处理MOD同步信息FIB:在主控板⽣成IPv4软转发表项并下发接⼝板,指导转发FIB6:IPV6 FIB表项管理,维护软件表项,并触发适配层维护芯⽚表项FM93:输出监控到的故障信息FMAT:故障管理任务FMCK:设备故障监控检测FMON:实时监控逻辑卡故障frag_add:MAC分段同步硬表到软表,遍历硬表,将软表中不存在的表项添加到软表frag_del:MAC分段同步硬表到软表,遍历软表,如果表项在硬表中不存在,则从软表中删除之FTPS:提供FTP服务功能FTS:FECD创建的收包任务,驱动收到报⽂后,若不是超级任务则把报⽂给FTS任务处理GREP:适配层任务,负责芯⽚GRE转发表项的管理GTL:⽤于为内存、字符串等公共数据提供统⼀的管理GVRP:实现GVRP协议栈处理,管理协议状态机,维护协议相关的数据库HACK:⽤于HA应答消息的处理HOTT:管理接⼝板卡的热插拔HS2M:完成主控板和备板之间数据同步,提供⾼可靠性HVRP:实现HVRP协议栈处理,管理协议状态机,维护协议相关的数据库IFNT:接⼝管理任务,负责接⼝状态变化事件的处理IFPD:提供接⼝管理功能,维护设备的接⼝数据库,处理各种接⼝状态变化事件INFO:接受、输出业务模块产⽣的⽇志、告IP:负责IP协议任务统⼀调度IPCQ:IPC消息发送失败时,进⾏消息报⽂的重传IPCR:IPC消息的发送、接收及分发到对应的业务模块进⾏处理IPMC:适配三层组播协议,相应控制层⾯变化,下发转发表项ISSU:提供系统固件平滑升级的功能ITSK:IPOS公共任务,包括各种协议报⽂的发送、接受及分发等L2:负责⼆层业务任务统⼀调度L2MC:在接⼝板实现IGMP/MLD协议的侦听,实现频道快速加⼊/离开L2V:VPLS,VLL业务管理,维护控制平⾯数据库,并通知适配层维护芯⽚转发表项L3I4:接⼝板下发IPV4单播转发表项L3IO:接⼝板下发URPF、VRRP等三层协议表项L3M4:主控板适配ARP协议处理,下发IPV4单播转发表项、响应控制层⾯变化L3MB:主控板适配URPF、VRRP等三层协议处理,下发转发表项LACP:实现LACP协议栈,管理协议状态机,维护协议相关的数据库LCS:license管理任务LCSP:根据License的内容,完成授权特性的加载LDP:实现LDP协议栈,维护LDP LSP数据库LDRV:提供主备板软件版本同步功能LDT:实现LDT协议栈,管理协议状态机,维护协议相关的数据库LHAL:为业务板提供硬件适配层,屏蔽硬件差异LINK:负责链路层任务统⼀调度linkscan:端⼝link状态检测任务LLDP:实现LLDP协议栈,管理协议状态机,维护协议相关的数据库LOAD:提供业务板版本镜像⽂件、补丁包的加载功能LSPA:负责LSP软件转发表项的维护,并通知适配层维护芯⽚转发表项LSPM:LSP管理任务,负责LSP的创建,更新,删除MCSW:适配三层组播协议,相应控制层⾯变化,下发转发表项MERX:管理⽹⼝收包处理任务MFF:实现MFF功能MFIB:管理三层组播转发表项MIRR:端⼝镜像任务MOD:完成单板模块编号的管理,分配及回收MPLS:实现MPLS协议栈,完成标签的分配、管理、回收MSYN:负责MAC地址在各个单板间的同步MTR:实现内存使⽤状态定时统计功能mv_rx0:CPU 0号收包队列处理任务mv_rx1:CPU 1号收包队列处理任务mv_rx2:CPU 2号收包队列处理任务mv_rx3:CPU 3号收包队列处理任务mv_rx4:CPU 4号收包队列处理任务mv_rx5:CPU 5号收包队列处理任务mv_rx6:CPU 6号收包队列处理任务mv_rx7:CPU 7号收包队列处理任务NSA:VRP NETStream适配层任务,完成芯⽚表项的管理NTPT:实现NTP协议栈,管理协议状态机,维护协议相关的数据库OAM:实现MPLS OAM协议栈,管理协议状态机,维护协议相关的数据库OAM1:适配OAM 1ag协议,响应协议层变化,转发层⾯做相应的处理OAMI:处理从逻辑卡接收报⽂OAMT:适配层任务,响应协议变化,维护芯⽚表项OS:操作系统任务PING:提供ping快速响应功能PNGI:接⼝板ping快回处理任务,提供ping快速响应功能PNGM:主控板ping快回处理,提供ping快速响应功能Port:芯⽚调试命令处理port_statistics:端⼝统计PPI:适配层任务,维护芯⽚中各个接⼝的状态PTAL:实现重定向认证功能,完成认证授权,管理协议状态机,维护协议相关的数据库QOSA:实现QOS配置的管理,维护芯⽚表项QOSB:在接⼝板负责QOS表项的代理下发,维护已经下发的QOS表项RACL:负责根据TCP/UDP/ICMP⾸包建⽴流表,并对建⽴的流表进⾏流量实时监控与⽼化处理RDS:实现radius协议栈处理,管理协议状态机,维护协议相关的数据库RMON:远程系统监控root:系统根任务ROUT:负责各路由协议路由选路以及路由学习,进⾏最优路由的选择并下发FIBRPCQ:提供远程过程调⽤功能RRPP:在接⼝板实现RRPP协议栈,完成端⼝状态快速感知及硬件表项的下发RSA:计算RSA密钥RSVP:实现RSVP协议栈,维护CR-LSP数据库RTMR:⽤于定时任务的管理SAM:在接⼝板接⼊业务相关表项的代理下发,维护已经下发的表项SAPP:负责应⽤层协议字典以及⽩名单管理,维护软件表项并通知适配层设置芯⽚状态SDKD:检测连接背板的端⼝的状态及统计报⽂速率SDKE:⽤于查看LSW芯⽚相关表项信息SECB:在接⼝板负责设备安全表项的代理下发,维护已经下发的安全表项SECE:实现ARP安全、IP安全以及CPU安全等功能,管理协议状态机,维护协议相关的数据库信息SERVER:tcp/ip 服务器任务SFPM:完成光模块⽣产信息和数字诊断信息的查询功能SIMC:模拟CPU占有率故障SLAG:实现E-TRUNK功能SMAG:智能链路代理,快速感知并处理端⼝状态变化事件SMLK:实现Smart link协议栈,管理协议状态机,维护协议相关的数据库smsL:加载环境监控模块smsR:发送环境监控请求消息smsT:为环境监控系统提供报⽂发送功能SNPG:IGMP/MLD-Snooping协议栈,侦听并处理IGMP和MLD协议报⽂SOCK:IP协议栈报⽂调度和处理SRMI:外部中断处理任务SRMT:设备管理定时器任务SRVC:负责与IP SESSION功能相关的DHCP报⽂交互,通过和认证授权以及⽤户管理模块进⾏交互完成授权、计费功能STFW:超级转发任务,主要维护trunk内存中的转发表S**:适配操作系统,协助完成任务、事件调度STP:实现STP协议栈,管理协议状态机,维护协议相关的数据库STRA:实现监控与识别攻击流量,并对攻击源进⾏惩罚的功能STRB:接⼝板监控与识别攻击流量SUPP:设备管理中断消息,定时器消息t1:临时任务(操作系统任务)TACH:实现hwtacacs协议栈处理,管理协议状态机,维护协议相关的数据库TAD:传输告警任务TARP:处理告警信息tBulkClnt:USB插拔驱动管理任务(操作系统任务)TCPKEEPALIVE:TCP连接保持任务TCTL:批量性能采集上传控制任务tDcacheUpd:磁盘cache更新任务(操作系统任务)tExcTask:异常处理任务(操作系统任务)TICK:系统时钟处理任务tLogTask:⽇志任务(操作系统任务)TM:为接⼊业务提供表项维护功能,维护芯⽚表项TRAP:处理告警信息tRlogind:虚拟终端远程登录任务(操作系统任务)tTelnetd:telnet服务端任务(操作系统任务)TTNQ:负责NQA服务器端任务统⼀调度tUsbPgs:USB插拔设备管理任务(操作系统任务)tWdbTask:调试代理任务(操作系统任务)U 34:⽤户命令处理任务UCM:与AAA等模块交互,共同处理⽤户状态,维护⽤户表UDPH:UDP helperUSB:通过USB升级版本任务usbPegasusLib:USB host lib库(操作系统任务)usbPegasusLib_IRP:USB host I/O请求lib库(操作系统任务)UTSK:⽤户框架处理任务,⽤于优化协议栈的处理,保证协议处理的优先级VCON:业务板串⼝信息重定向任务VFS:⽤于管理虚拟⽂件系统VIDL:负责统计CPU空闲情况VMON:⽤于监控系统任务运⾏的轨迹VOAM:提供NQA VPLS MAC 诊断功能VP:接收、发送单板间VP报⽂VPR:接收单板间VP报⽂VPRE:VP消息处理任务VPS:发送单板间VP报⽂VRPT:定时器测试任务VRRP:实现VRRP协议栈,管理协议状态机,维护协议相关的数据库VT:虚拟终端任务VT0:对第⼀个登录设备的⽤户进⾏认证、命令处理VTRU:处理Vtrunk的updown事件VTYD:接受所有⽤户登录处理WEB:实现Web认证功能WEBS:提供⽤户通过Web访问设备的功能XMON:⽤于监控系统任务运⾏的轨迹XQOS:服务质量任务。
LACP基本原理1.链接汇聚的概念(Link Aggregation)Link Aggregationallows one or more links to be aggregated together to form a Link Aggregation Group, such that a MAC Client can treat the Link Aggregation Group as if it were a single link. To this end, it specifies the establishment of DTE to DTE logical links, consisting of N parallel instances of full duplexpoint-to-point links operating at the same data rate.通过将多条数据链路组合在一起,形成一条逻辑上的数据链路。
2.为何要汇聚?优点是什么?a.增加带宽b.负载分担c.增加可靠性以上是最为主要的几个优点,其他特点有:线性可增的带宽:物理层提供的带宽的增加是数量级的增加增加链路的可靠性:一条链路断了不会影响整个聚合的逻辑链路数据传输负载分担:多个链路分担业务数据流自动配置:不需人的手工干预,聚合链路可自动的形成快速的配置和重配置确定性行为低风险的丢包和包序错乱率支持已有的IEEE802.3MAC Clients对不支持聚合的设备向下兼容自适应不同的处理能力和各种限制对IEEE802.3的帧结构没有改变支持网络管理不支持超过两个系统之间的聚合(可以看成不支持跨设备聚合,也就是说设备不会透传聚合报文)3.如何进行控制汇聚通过LACPDU(链接汇聚控制协议数据单元)来控制断口的加入,退出汇聚。
✧ 与外部结构联系图数据链路层132465871717345MACRSTPAggregator345trunk✧ 模块内部结构图典型业务交互图对端端口底层本端端口任务一:查找接口函数根据与外部的连接图,内部结构图得知,外部接口主要涉及到得是与bridge,驱动通信,然后再根据内部结构图中的业务关系来查找相应的接口函数。
计 算 机 系 统 应 用 2010 年 第19卷 第 5 期104 研究开发 R es earch and Devel op ment基于LACP 协议的链路聚合状态机模块的实现①郑 涛 郭裕顺 (杭州电子科技大学 电子信息学院 浙江 杭州 310018)摘 要: 首先介绍了链路聚合技术的背景和基本概念,接着说明了LACP 协议(Link Aggregation ControlProtocol)的内容和原理,其中LACP 状态机模块控制着整个LACP 协议的运转,是保证基于LACP 协议的链路聚合可以有效工作的核心和关键模块。
最后以802.3ad 的LACP 协议为基础,利用有限状态机的设计方法,实现并优化了LACP 协议状态机模块的功能。
经测试,该模块功能运行正常,能够正确处理协议运行的各种情况。
关键词: Link Aggregation ;动态链路聚合;LACP ;有限状态机;网络协议Design of Link Aggregation Finite State Machine Module Based on LACPZHENG Tao, GUO Yu-Shun(School of Electronics & Information, Hangzhou Dianzi University , Hangzhou 310018, C hina)Abstract: This article f irst introduces the background and the basic concepts of link aggregation technology. It thendescribes the contents and principles of LACP. LACP state machine module controls the operation of the LACP. It is the core and key module to ensure LACP work effectively. Finally the LACP protocol state machine module f unction is implemented and optimized based on LACP and Finite state machine design method. In testing, the module operates normally. It can handle all circumstances correctly when the pro- tocol is running.Keywords: link aggregation; dynamic link aggregation; LACP; f inite state machine; network protocol网络技术的快速发展使得网络需要传输的数据量急剧增加,网络的带宽成为提高网络服务质量的主要瓶颈之一,越来越多的用户面临网络带宽不足的问题,最直接的手段当然是把旧网络升级成新网络来增加网络带宽。
但是这种方法成本太高,而链路聚合技术提供了一种更廉价的选择。
链路聚合(Link Aggrega- tion)技术简言之就是将多条物理链路聚合成一条带宽更高的逻辑链路,该逻辑链路的带宽等于被聚合在一起的多条物理链路的带宽之和。
聚合在一起的物理链路的条数可以根据业务的带宽需求来配置。
因此链路聚合具有成本低,配置灵活的优点,此外,链路聚合还具有链路冗余备份的功能,聚合在一起的链路彼此动态备份,提高了网络的稳定性。
早期链路聚合技术的实现没有统一的标准,各厂商都有自己私有的解决方案,功能不完全相同,也互不兼容。
因此,IEEE① 收稿时间:2009-09-07;收到修改稿时间:2009-10-26专门制定了链路聚合的标准,目前链路聚合技术的正式标准为IEEE Standard 802.3ad ,而LACP 是该标准的主要内容之一,是一种实现链路动态聚合的协议[1]。
1 LACP 的原理采用LACP 聚合的双方(分别称为Actor 和Partner)通过称之为LACPDU(LACP Data Unit)的协议报文来交互本端(Actor)和对端(Partner)的聚合信息,以对整个链路聚合的认识达成一致。
协议报文主要包含以下信息:本端和对端系统优先级、本端和对端系统ID 、本端和对端的端口操作key 、本端和对端的端口优先级、本端和对端的端口ID 、本端和对端的端口状态[2]。
聚合的双方就根据这些信息,按照一定的选择算法选择合适的链路,控制聚合的状态。
被选中的成员链路可以正常转发流量,而未被选中的成员2010 年 第19卷 第 5 期 计 算 机 系 统 应 用Research and Development 研究开发 105链路将被置为阻塞状态,不能转发任何流量。
聚合链路的总带宽等于被选中的成员链路的带宽之和,并且聚合链路上的流量会按照一定的规则分担到各个选中的成员链路上,由于LACPDU 是周期性交互,即聚合的双方每隔一段时间便互发一次协议报文,所以当有选中成员链路因为某种原因不能工作时,链路聚合可以很快的感知到,并重设链路状态,置该链路为阻塞,流量被重分配给其他选中成员链路。
这样就实现了增加带宽,链路动态备份的功能。
2 LACP 协议状态机的实现动态链路聚合是一个完全的事件驱动系统,它的整个工作过程中的每个动作都是由事件触发的,并且这些事件的发生的顺序和时间是随机的,事件能以任何顺序、在任何时刻出现。
而对于这种系统,有限状态机是一种最直观和有效的方法[3]。
为了能够高效稳定的控制动态链路聚合的运行,本文以802.3ad 的LACP 协议为基础,运用有限状态机方法,通过一组状态机来管理和控制LACP 协议的运转,主要有RX 状态机(Receive machine)、PTX 状态机(Periodic Transmission machine)、MUX 状态机(Mux machine)和TX 状态机(Transmit machine)。
它们在加入聚合链路的每个成员端口都会运行,这一组状态机控制LACP 的各个方面,包括本端LACP 协议报文的发送及发送的周期、解析收到的对端LACP 协议报文、调整链路的状态、处理各种异常情况等等。
它是实现动态链路聚合的核心模块之一。
2.1 状态机模块整体结构图1 状态机模块整体结构图整体状态机模块的结构如图1所示,为了降低模块间的耦合性,用状态机调度子模块作为处理状态机外部事件的统一接口。
这些外部事件包括定时器超时事件、端口事件等等。
各个状态机将无法直接响应这些外部事件。
状态机调度子模块根据不同的事件激励相应的状态机。
比如当收到LACPDU 时,状态机调度模块首先处理,再激励RX 状态机,RX 状态机解析报文中的信息后调用选择逻辑模块设置端口的选中状态,选择逻辑模块负责通过一定的选择算法选择合适的端口,只有被选中的端口才可以转发数据。
这一组协议状态机和状态机调度模块有机的结合,分工合作,完成对协议运行的控制。
各个状态机的具体功能在下一小节介绍。
2.2 状态机的功能与设计 2.2.1 RX 状态机RX 状态机(接收状态机):主要用来处理接收到的LACP 协议报文,解析报文,记录对端的聚合相关信息,并调用选择逻辑模块来设置端口的选中状态,根据对端的信息,设置链路聚合的相关数据,以及判断本端所保存的对端聚合相关的数据是否老化并做相应的处理,并且激励LACP 协议的其它状态机运行,它是LACP 协议这一组状态机的核心。
状态转换图如图2所示。
图2 RX 状态机状态转换图(1) INITIALIZE 状态:LACP 启动时进入这个状态,完成整个状态机数据的初始化。
激励MUX 状态机,完成后直接转换到PORT_DISABLED 状态。
(2) PORT_DISABLED 状态:设置未同步标记,激励MUX 状态机运行。
当事件Evt_PartnerPortMove (对端端口移除)发生时,转换到INITIALIZE 状态。
当端口up 但是工作于半双工模式时,转换到LACP_DISABLED 状态。
若端口up 且是全双工模式则进入EXPIRED 状态。
(3) LACP_DISABLED 状态:设置端口为非选中,清零保存的对端信息同时将对端信息记为默认值。
当事件Evt_ProtFullDuplex(端口变成全双工)发生时,转化到EXPIRED 状态。
(4) EXPIRED 状态:进入该状态时会启动短接收计 算 机 系 统 应 用 2010 年 第19卷 第 5 期106研究开发 Research and Development 定时器,如果在该定时器超时之前还没有收到对端发送的LACP 报文(即事件Evt_RxTimerExpired 发生),就进入DEFAULTED 状态。
反之,若在此之前收到了对端的LACPDU(即事件Evt_ReceivePdu),则进入CURRENT 状态。
(5) DEFAULTED 状态:设置端口为非选中,激励MUX 状态机,当接收到对端的协议报文时(即事件Evt_ReceivePdu),进入CURRENT 状态。
(6) CURRENT 状态:解析接收到的LACPDU ,解析报文,得到当前对端的聚合相关信息,并与之前保存的对端信息相比较,如果不同,表示对端已发生了变化。
此时要调用选择逻辑模块重新计算端口的选中状态。
如果相同,则无需重新计算。
另外还要判断接收到的对端的LACPDU 的发送状态。
如果是长周期发送,则启动长接收定时器。
如果是短周期发送则启动短接收定时器。
当定时器超时时(即事件Evt_Rx- TimerExpired 发生),进入EXPIRED 状态。
如果在定时器超时之前接收到LACPDU(即事件Evt_Receive- Pdu 发生),重新进入CURRENT 状态。
2.2.2 TX 状态机TX 状态机:它负责填充LACP 协议报文的内容并处理协议报文的发送,当收到通知时,TX 状态机马上调用报文发送模块发送报文,由于LACP 协议属于慢速协议,每秒最多允许发送10个LACP 协议报文。
TX 状态机要确保这个要求,所以TX 状态机内部维护NTT(Need To Transmit)标志和全局变量ucSend- PduNum(用来记录已发送报文的个数),每隔1秒ucSendPduNum 会被清零,处理流程见图3。
图3 TX 状态机处理流程图2.2.3 PTX 状态机PTX 状态机:维护周期发送定时器的发送周期,即用来控制Actor 和Partner 交互LACPDU 的频率。