本文介绍了端口汇聚工作原理与相关细节。
缩略语:
LACP: 链路汇聚控制协议
LACPDU:链路汇聚控制协议数据单元
STP:生成树协议
PVID:端口的虚拟局域网身份标识号
关键词:
端口汇聚,端口聚合,LACP,LACPDU
1.概述
1.1 产生背景
传统的传输链路存在如下缺点:
①带宽瓶颈
②单链路没有冗余备份
因此,为解决以上问题端口汇聚技术应运而生
1.2 技术优点
①提高链路可用性
端口汇聚中,成员互相动态备份。当某一链路中断时,其它成员能够迅速接替其工作。与生成树协议不同,汇聚组启用备份的过程对汇聚组之外是不可见的,而且启用备份过程只在汇聚链路内,与其它链路无关,切换可在数毫秒内完成。
②增加链路容量
汇聚技术的另一个明显的优点是为用户提供一种经济的提高链路传输率的方法。通过捆绑多条物理链路,用户不必升级现有设备就能获得更大带宽的数据链路,其容量等于各物理链路容量之和。汇聚组按照选路算法将业务流量分配给不同的成员,实现链路级的负载分担功能。
③设置灵活
Trunking(汇聚)可以捆绑任何相关的端口,也可以随时取消设置,这样提供了很高的灵活性。
④负载均衡与系统容错
由于Trunking 实时平衡各个交换机端口和服务器接口的流量,一旦某个端口出现故障,它会自动把故障端口从Trunking 组中撤消,进而重新分配各个Trunking 端口的流量,从而实现系统容错。
⑤特定带宽需求
特定组网环境下需要限制传输线路的容量,既不能太低影响传输速度,也不能太高超过网络的处理能力。但现有技术都只支持链路带宽以10 为数量级增长,如10M、100M、1000M 等。
而通过聚合将n 条物理链路捆绑起来,就能得到更适宜的n 倍带宽的链路。
2.端口汇聚介绍
2.1 概念
端口汇聚是指将交换机之间或者交换机与其它设备之间的多条线路合并成一条线路。既增加带宽,也增加了可靠性。
端口汇聚是交换机上支持的一种技术,它把两个交换机之间两条以上同时相连的链路虚拟成为一条链路来传输信息。端口汇聚技术亦称主干技术(Trunking)或捆绑技术(Bonding),其实质是将两台设备间的数条物理链路“组合”成逻辑上的一条数据通路,称为一条汇聚链路,如下图示意。
交换机之间物理链路Link 1、Link2 和Link3 组成一条汇聚链路。该链路在逻辑上是一个整体,内部的组成和传输数据的细节对上层服务是透明的。
如果Link1 和Link2 先后故障,它们的数据任务会迅速转移到Link3 上,因而两台交换机间的连接不会中断,如下图:
2.2 端口汇聚方式
①手工汇聚
用户配置汇聚组号和端口成员,端口不运行LACP
②静态汇聚
用户配置汇聚组号和端口成员,端口运行LACP
③动态汇聚
基于IEEE802.3ad 的LACP,汇聚组号根据协议自动创建,汇聚组端口根据key 值自动匹配添加。
2.3 链路汇聚控制协议
基于IEEE802.3ad 标准的LACP是一种实现链路动态汇聚的协议。LACP 协议通过LACPDU与对端交互信息。
启用某端口的LACP 协议后,该端口将通过发送LACPDU 向对端通告自己的系统优先级、系统MAC 地址、端口优先级、端口号和操作Key。对端接收到这些信息后,将这些信息与其它端口所保存的信息比较以选择能够汇聚的端口,从而双方可以对端口加入或退出某个动态汇聚组达成一致。
操作Key 是在端口汇聚时,LACP 协议根据端口的配置(即速率、双工、基本配置、管理Key)生成的一个配置组合。动态汇聚端口在启用LACP 协议后,其管理Key 缺省为零。静态汇聚端口在启用LACP 后,端口的管理Key 与汇聚组ID 相同。对于动态汇聚组而言,同组成员一定有相同的操作Key,而手工和静态汇聚组中,处于Active 的端口具有相同的操作Key。
图1 LACP 的报文结构图
LACP 协议报文介绍:
①以太网上广播报文,目的地址 0x0180-c200-0002
②报文长度128 字节
③报文不携带VLAN 的tag 标志
④协议类型值 0x8809,子类型值为0x01(LACP),当前版本为0x01
⑤Actor 信息域中携带本系统和端口信息如系统ID,端口优先级,Key 等。
⑥Partner 域中包含本系统中目前保存的对端系统信息
⑦其它为保留域
2.4 汇聚组端口状态
在汇聚组中,端口可能处于两种状态:selected 和standby(待命)。其中,只有selected状态的端口能够收发用户业务报文,而standby 状态的端口不能收发用户业务报文。在一个汇聚组中,处于selected 状态的端口中的最小端口是汇聚组的主端口,其他的作为成员端口(也称为从端口)。
系统按照以下原则设置端口处于selected 或者standby 状态:
①系统按照端口全双工/高速率、全双工/低速率、半双工/高速率、半双工/低速率的优先次序,选择优先次序最高的端口处于selected 状态,其他端口则处于standby 状态;
②端口因存在硬件限制无法聚合在一起,而无法与汇聚组的主端口聚合的端口将处于standby状态;
③与汇聚组主端口的基本配置不同的端口将处于standby 状态;
④由于设备所能支持的汇聚组中的最大端口数有限制,如果处于selected 状态的端口数超过设备所能支持的汇聚组中的最大端口数,系统将按照端口号从小到大的顺序选择一些端口为selected 端口,其他则为standby 端口。
2.5 汇聚负载分担类型
汇聚组按负载分担类型分为两种:负载分担聚合和非负载分担聚合。对于IP 报文负载分担是按照目的IP 和源IP 的;对于非IP 报文,负载分担是根据源MAC 和目的MAC 的。对于是否使用IP 还是MAC,检查协议类型来区别,以太网字段Ethertype 为0800 的报文是IP 报文。
2.6 端口汇聚限制条件
A.聚合链路两端的物理参数必须保持一致
(1)进行聚合的链路的数目
(2)进行聚合的链路的速率
(3)进行聚合的链路为全双工方式
B.聚合链路两端的逻辑参数必须保持一致
(1)端口的VLAN 设置应该一致;
(2)端口的PVID 一致;
(3)端口应用的QoS 策略应相同;
(4)端口未加入其它Trunking 组;
(5)端口未绑定MAC 地址;
(6)端口未绑定IP 地址;
(7)端口未设置MAC 地址最大学习数;
(8)端口未设置静态MAC 地址;
(9)端口未被禁用;
(10)端口未使能STP;
(11)端口不能有mirror(镜像)设置;
(12)同一Trunk 组中的端口Uplink 状态应该一致;
2.7 端口汇聚与端口聚合的异同点
A.相同点
①都是主要用于交换机之间的连接
②都是把一组物理端口联合起来,做为一个逻辑的通道;
③路径冗余
B.不同点
①汇聚端口不能使能STP,而端口聚合后的端口需要开启STP 环网算法;
②端口汇聚—与生成树协议不同,当某一链路中断时,汇聚组启用备份过程只在汇聚链路内,与其它链路无关,切换可在数毫秒内完成;端口聚合—两个交换机之间有多条冗余链路的时候,STP 会将其中的几条链路关闭,只保留一条,当链路中断时,STP 的链路切换会很慢,在50s左右;
③端口汇聚与端口聚合相比,交换机可以不需要手工配置来了解哪些端口属于同一个聚合,支持IEEE 802.3ad 标准(即支持端口汇聚)的交换机,LACP 会自动创建链路汇聚。
3.参考文献
IEEE802.3ad
IEEE802.3
RFC1058
RFC1723
RFC2453_