目录
前言
提示:本章介绍端口聚合的分类以及模式详解,在这里注意:每个厂家的交换机功能不同,可能在此文章内出现的内容在某些交换机上没有体现,导致大家参考文章进行配置时找不到对应的功能,这是因为厂家对交换机进行了功能模块裁剪,这里大家注意一下即可。
一、端口聚合技术原理
英文简称EtherChannel(以太通道)是由Cisco研发的,应用于交换机之间的多链路捆绑技术。它的基本原理是:将两个设备间多条物理链路捆绑在一起组成一条逻辑链路(这样交换机会认为这条逻辑链路为1个端口),从而达到带宽倍增的目的(这条逻辑链路带宽相当于物理链路带宽之和)。除了增加带宽外,端口聚合还可以在多条链路上均衡分配流量,起到负载分担的作用;当一条或多条链路故障时,只要还有链路正常,流量将转移到其它的链路上,整个过程在几毫秒内完成,从而起到冗余的作用,增强了网络的稳定性和安全性。两台交换机之间是否形成EtherChannel也可以用协议自动协商。目前有两个协商协议:PAgP和LACP,PAgP(端口汇聚协议 Port Aggregation Protocol)是Cisco私有的协议,而LACP(链路汇聚控制协议 Link Aggregation Control Protocol)是基于IEEE 802.3ad的国际标准,是一种实现链路动态聚合的协议。
端口聚合具有以下特点:
(1)增加网络带宽
逻辑链路带宽相当于物理链路带宽之和。Eg:使用Trunk技术可以将3个100M的端口捆绑后成为一个高达300M的连接。这一技术的优点是以较低的成本通过捆绑多个端口来增加网络带宽。
(2)链路备份
当一条或多条链路故障时,只要还有链路正常,流量将转移到其它的链路上,整个过程在几毫秒内完成,从而起到冗余的作用。
(3)负载分担
端口聚合还可以在多条链路上均衡分配流量,起到负载分担的作用。
二、端口聚合的分类
端口汇聚可以分为手工端口聚合、静态 LACP 端口聚合和动态 LACP 端口聚合。同一个聚合组中端口的基本配置应该保持一致,即如果某端口为 Access 端口,则其他端口也配置为Access 端口;如该端口的链路类型改为Trunk端口,则其他端口的链路类型也改为 Trunk端口。
注:链路聚合时链路两端的物理接口的数量、速率、双工、流控方式需保持一致。
1.手工端口聚合
手工端口聚合模式下所有的端口都参与数据的转发以及负载分担,如上图三个链路均是Active状态。
手工负载分担模式Eth-Trunk可以实现多个物理接口聚合成一个Eth-Tunk端口来提高带宽,同时能够检测到同一聚合组内的成员链路是否断路等故障,但是无法检测到链路层故障、链路错连等故障。
2.静态LACP端口聚合
在静态聚合组中,系统按照原则设置端口处于selected或者standby状态:与处于selected状态的最小端口所连接的对端设备不同,或者连接的是同一个对端设备但端口在不同的聚合组内的端口将处于standby状态。与处于selected状态的最小端口的基本配置不同的端口将处于standby状态。由于设备所能支持的聚合组中的最大端口数有限制,如果处于selected状态的端口数超过设备所能支持的聚合组中的最大端口数,系统将按照端口号从小到大的顺序选择一些端口为selected端口,其他则为standby端口。selected端口和standby端口都能收发lacp协议,但是standby端口不能转发用户的业务报文。
3.动态LACP端口聚合
动态lacp聚合是一种系统自动创建/删除的聚合,不允许用户增加或删除动态lacp聚合中的成员端口,即使只有一个端口也可以创建动态聚合,此时为单端口聚合。动态聚合端口的lacp协议为使能状态。
由于设备所能支持的聚合组中的最大端口数有限制,如果当前的成员端口数量超过最大端口数的限制,则选择设备id(系统优先级+系统mac地址)小,且端口id(端口优先级+端口号)小的端口为selected端口,剩余端口为standby端口;若成员端口数量未超过最大selected端口数限制,所有成员端口都是selected端口。在一个聚合组中,selected端口中的最小端口是聚合组的主端口,其他的作为成员端口。在设备id比较时,先比较系统优先级,如果相同则再比较系统mac,值小的一方将被认为优。如果设备id由原来的不优变为优,则聚合组成员的selected和standby状态由本设备的端口优先级确定。用户可以通过设置系统优先级和端口优先级来调整端口为selected端口还是standby端口。
三:LACP协议执行流程
LACP即链路聚合控制协议,是一种实现链路动态聚合与解聚合的协议。
某端口使了LACP协议后,该端口将向对端接口通告自己的系统优先级、系统MAC地址、端口优先级、端口号和操作Key。
对端接口接收到信息后,将这些信息与其它端口所保存的信息进行比较,以选择能
够聚合的端口,从而使双方可以对端口的加入或退出某个动态聚合组达成一致。
注意 1:操作 Key是在端口聚合时,LACP协议根据端口的配置(即速率、双工、基本配置、管理 Key)生成的一个配置组合;
注意 2:动态聚合端口在使用 LACP协议后,其管理 Key缺省为零;
注意 3:静态聚合端口在使能 LACP 协议后,其管理 Key与聚合组的 ID相同;
注意 4:对于动态聚合组而言,同组成员一定有相同的操作 Key,而手工和静态聚合组中Selected 端口有相同的操作 Key。
四:手工端口聚合和LACP端口聚合的区别
1.用户权限不同
静态lacp汇聚由用户手工配置,不允许系统自动添加或删除汇聚组中的端口。汇聚组中必须至少包含一个端口。当汇聚组只有一个端口时,只能通过删除汇聚组的方式将该端口从汇聚组中删除。
动态lacp汇聚是一种系统自动创建/删除的汇聚,不允许用户增加或删除动态lacp汇聚中的成员端口。
2.端口状态不同
在静态汇聚组中,端口可能处于两种状态:selected或standby。selected端口和standby端口都能收发lacp协议,但standby端口不能转发用户报文。
在动态汇聚组中,端口可能处于两种状态:selected或standby。selected端口和standby端口都能收发lacp协议,但standby端口不能转发用户报文。
3.协商步骤不同
静态端口:与处于selected状态的最小端口所连接的对端设备不同,或者连接的是同一个对端设备但端口在不同的汇聚组内的端口将处于standby状态。端口因存在硬件限制(如不能跨板汇聚)无法汇聚在一起,而无法与处于selected状态的最小端口汇聚的端口将处于standby状态。与处于selected状态的最小端口的基本配置不同的端口将处于standby状态。
动态端口:比较设备id(系统优先级+系统mac地址)。先比较系统优先级,如果相同再比较系统mac地址。设备id小的一端被认为优。比较端口id(端口优先级+端口号)。对于设备id优的一端的各个端口,首先比较端口优先级,如果优先级相同再比较端口号。端口id小的端口为selected端口,剩余端口为standby端口。
五、补充内容
1. STP与链路聚合
STP:如果两太交换机用两条或多条线直接相连,会出现广播风暴,而STP可以解决广播风暴的问题,但是它阻断了一些链路,使利用率降低。
链路聚合Link aggregation:如果两太交换机用两条或多条线直接相连,链路聚合将多个端口汇聚在一起形成一个逻辑端口,它不会阻断链路,从而提高了利用率。