三层交换机之链路聚合组(Link Aggregation Group)

概述

Link Aggregation Group(LAG)又称为Trunk Group,链路聚合是一种将多个物理端口"捆绑"为一个逻辑端口的技术手段,遵循IEEE 802.3ad Link Aggregation协议规范。

三层交换机一般将多个上联口聚合成Trunk组使用,其作用为:

1)提高带宽,实现均摊模式;

2)提供链路冗余备份,当Trunk组某个成员端口链路出现故障时,可以最大限度地减轻网络故障。

Trunk组

BCM56440芯片最多支持128个Trunk组,每个Trunk组最多8个成员端口,且同时支持同芯片聚合组和跨芯片的HiGig+/HiGig2聚合组。

BCM56440芯片的TRUNK_GROUP表包含128个表项,以TGID为索引。每个TRUNK_GROUP表项包含TG_SIZE、RTAG、BASE_PTR三个字段:

1)TG_SIZE表示Trunk组成员端口个数;

2)RTAG配置Hash模式(均摊模式),即选择出口报文的哪些字段(MAC DA, MAC SA, VLAN, EtherType, IP DA, and IP SA)来计算Hash值,计算出来的8位Hash值用来选择BASE_PTR指向的TRUNK_MEMBER表项中的具体成员端口作为报文出端口;

3)BASE_PTR指向TRUNK_MEMBER表项,即Trunk组成员端口列表。

均摊模式

Trunk组的均摊模式是使用Hash算法实现。

RTAG 0~6根据报文的MAC DA, MAC SA, VLAN, EtherType, IP DA, and IP SA字段计算Hash值,一般情况下,交换机都是配置IP DA + IP SA或者MAC DA + MAC SA两种方式之一。

RTAG 7为增强型Hash模式,主要用来实现负载均摊。这种方式下,根据两部分信息计算Hash值——packet header(用来识别microflows)以及静态物理配置(如源和目的端口数)。其Hash过程如下:

1)Hash Field Selection: Based on EtherType and packet parsing

2)Hashing Computation: Based on configuration

3)Hash Bits Seletion: 针对应用场景配置

常用命令

BCM.0> trunk
Usage (TRUNK): Usages:
          trunk init 创建Trunk组
                - Initialize trunking function
          trunk deinit
                - Deinitialize trunking function
          trunk add <Id=val> <Rtag=val> <Pbmp=val> 添加Trunk组成员端口
                - Add ports to a trunk
          trunk remove <Id=val> <Pbmp=val> 移除Trunk组
                - Remove ports from a trunk
          trunk show [<Id=val>] 查看Trunk组
                - Display trunk information
          trunk egress [<Id=val>] <Pbmp=val>
                - Set egress ports for trunk
          trunk mcast <Id=val> <Mac=val> <Vlan=val>
                - Join multicast to a trunk
          trunk hash set <Pbmp=val> <HashValue=val>
                - Set ingress port hash value to select egress port of a trunk
          trunk hash get <Pbmp=val>
                - Get ingress port programmable hash value
          trunk psc <Id=val> <Rtag=val> 设置RTAG模式
                - Change Rtag (for testing ONLY
原文地址:https://www.cnblogs.com/justin-y-lin/p/14377764.html