今天讲解下eth-trunk链路聚合支持流量本地转发机制和特殊的链路聚合e-trunk。

一、Eth-Trunk 支持接口流量本地优先转发(堆叠)

基本概念

·堆叠设备

将多台设备通过专用的堆叠电缆连接起来,对外呈现为一台逻辑设备。

·跨框 Eth-Trunk 接口

将堆叠设备不同设备中的物理接口聚合到一个逻辑接口 Eth-Trunk接口中。当堆叠设备中某台设备故障或加入 Eth-Trunk 接口中的物理成员口故障,可通过堆叠设备间线缆跨设备传输数据流量,从而保证了数据流量的可靠传输,同时实现了设备间的备份。

·接口流量本地优先转发

在网络无故障的情况下从堆叠设备中上来的流量,通过本设备中的成员口转发,而不是通过堆叠设备间线缆跨设备转发。

在设备堆叠情况下,为了保证流量的可靠传输,流量的出接口设置为 Eth-Trunk接口。那么 Eth-Trunk接口中必定存在跨设备成员口。当堆叠设备转发流量时,Eth-Trunk 接口通过 HASH算法可能会选择跨设备的成员口。由于堆叠设备间线缆带宽有限,跨设备转发流量增加了堆叠设备之间的带宽承载压力,同时也降低了流量转发效率。

DeviceB 和DeviceC 组成堆叠,堆叠设备和 DeviceA之间用 Eth-Trunk 连接。通过在堆叠设备上部署接口流量本地优先转发功能,可实现:入本设备流量从本设备转发

当 Eth-Trunk 接口在DeviceB 有出接口且出接口无故障时, DeviceB的 Eth-Trunk 接口转发表中将只包含DeviceB 的出接口。这样 DeviceB到 DeviceA 的流量在通过HASH 算法选择出接口时只能选中 DeviceB的接口,流量从 DeviceB 本设备转发出去。

入本设备流量跨设备转发当Eth-Trunk 接口在 DeviceB本设备无出接口或者出接口全部故障时, DeviceB 的Eth-Trunk转发表中将包含 Eth-Trunk接口中所有可转发的出接口。这样 DeviceB 到DeviceA 的流量在通过 HASH算法选择出接口时将选中DeviceC上的出接口,流量将通过 DeviceC跨设备转发。

说明:

·接口流量本地优先转发功能只对已知单播有效,不对未知单播、广播和组播生效。

·使能 Eth-Trunk 接口流量本地优先转发功能前必须确保本设备Eth-Trunk 接口出接口的带宽足以承载本设备转发的流量,防止发生丢包。

二、跨设备链路聚合 E-Trunk

E-Trunk(EnhancedTrunk)是一种实现跨设备链路聚合的机制,基于 LACP(单台设备链路聚合的标准)进行了扩展,能够实现多台设备间的链路聚合。从而把链路可靠性从单板级提高到了设备级。

E-Trunk 机制主要应用于CE 双归接入 VPLS、VLL、 PWE3网络时, CE 与PE 间的链路保护以及对 PE设备节点故障的保护。在没有使用 E-Trunk 前,CE 通过 Eth-Trunk链路只能单归到一个 PE设备。如果Eth-Trunk 出现故障或者 PE设备故障, CE 将无法与PE 设备继续进行通信。使用 E-Trunk后,CE 可以双归到 PE上,从而实现设备间保护。

基本概念

·系统 LACP 优先级

系统 LACP 优先级在LACP 中用于区分 Eth-Trunk两端设备的优先级的高低。值越小优先级越高。

·系统 ID

在 LACP 中,系统ID 用于当 Eth-Trunk两端的 LACP 优先级相同时,决策两端设备优先级的高低。系统ID 值较小的优先级更高。系统 ID缺省使用 Eth-Trunk 接口的MAC 地址。

而在 E-Trunk 中,为了使CE 认为对端的 PE是一台设备, E-Trunk 中主备两台设备的系统ID和 LACP优先级都需要保持一致。系统 ID 写成MAC 地址方式。

·E-Trunk 的优先级

E-Trunk 的优先级用于在聚合组中决策两台设备的主备状态。如图所示,假设PE1 的 E-Trunk优先级高于PE2,则 PE1为主用, PE2 为备用。E-Trunk 的优先级取值越小优先级越高。

·E-Trunk 的 ID

E-Trunk 的ID 用于唯一标识一个 E-Trunk。此ID 为整数形式。

·Eth-Trunk 的工作模式

Eth-Trunk 的工作模式只针对加入E-Trunk 的成员 Eth-Trunk而言。加入 E-Trunk 的Eth-Trunk有三种工作模式:

1、自动

2、强制主用

3、强制备用

·超时时间

正常情况下, E-Trunk 中的主用设备和备用设备相互周期性地发送Hello 报文。当备用设备在规定的时间内没有收到 Hello报文,则转为主用。

**说明:**本文中所指的 Eth-Trunk 都为加入E-Trunk 的成员 Eth-Trunk。

E-Trunk 工作原理

E-Trunk 的工作过程如下:

·主备协商

如图所示, CE 分别与PE1 和 PE2直连, PE1 和PE2 之间运行 E-Trunk。

PE 侧:

在 PE1 和PE2 设备上分别创建 ID相同的 E-Trunk 和Eth-Trunk,并将 Eth-Trunk加入到E-Trunk。

CE 侧:

在 CE 设备上配置LACP 模式的 Eth-Trunk,此Eth-Trunk 分别与 PE1和 PE2 设备相连。对CE 设备而言, E-Trunk不可见。

确定 E-Trunk 的主备状态

PE1 与 PE2设备之间通过 E-Trunk 报文进行主备协商,确定E-Trunk 的主备状态。正常情况下两台 PE的协商结果是一个为主用一个为备用。

PE 设备上 E-Trunk主备状态是根据报文中所携带的 E-Trunk 优先级和E-Trunk 系统 ID确定的。优先级的数值越小,优先级越高,优先级高的为主用。如果E-Trunk 优先级相同,那么 E-Trunk系统 ID 小的为主用。

确定成员 Eth-Trunk 的主备状态

由E-Trunk 的主备状态以及对端成员 Eth-Trunk的链路信息,决定本端 E-Trunk 中成员Eth-Trunk的主备状态。

如图所示, E-Trunk 分为PE1 和 PE2两端。如果将 PE1 认为是E-Trunk 的本端,那么 PE2就为 E-Trunk 的对端。

成员 Eth-Trunk 的主备状态确定逻辑如表所示。

正常情况下:

·PE1 为主, PE1的 Eth-Trunk 10 为主,链路状态为Up。

·PE2 为备, PE2的 Eth-Trunk 10 为备,链路状态为Down。

如果 CE 到 PE1 间的链路出现故障:

PE1 会向对端发送 E-Trunk报文,报文中携带 PE1 的Eth-Trunk 10 故障的信息。

PE2 收到 E-Trunk报文后,发现对端 Eth-Trunk 10 故障,则PE2 设备上 Eth-Trunk10的状态将变为主。然后经过 LACP 协商,PE2 设备上的 Eth-Trunk10 的状态变为 Up。这样PE2 设备的 Eth-Trunk状态变为 Up,CE 的流量会通过 PE2转发,以达到对 CE 的流量进行保护的目的。

如果 PE1 设备出现故障:

如果 PE 设备上配置了BFD, PE2检测到 BFD 会话状态为Down 后, PE2设备从备用状态变为主用状态, PE2 的Eth-Trunk 10 状态也变为主。

如果 PE 设备上没有配置BFD, PE2设备上的定时器超时后仍然没有收到 PE1设备发送的E-Trunk 报文, PE2设备从备用状态变为主用状态, PE2 的Eth-Trunk10 状态也变为主。

经过 LACP 协商,PE2 设备上的 Eth-Trunk10 的状态变为 Up。CE 的流量会通过 PE2转发,以达到对 CE 的流量进行保护的目的。

E-Trunk 报文的收发

E-Trunk 报文采用本端配置的Source IP 及端口号发送,采用 UDP发送。触发 E-Trunk 报文发送的因素有

1.发送计时器超时。

2.配置改变(E-Trunk 优先级改变、报文发送周期改变、超时时间倍数改变、成员Eth-Trunk的加入/退出和E-Trunk 的源 IP或者目的 IP 改变)。

3.成员 Eth-Trunk 故障/恢复。

E-Trunk 报文中需要携带超时时间,对端从报文中获取超时时间作为本端的超时时间。

BFD 快速检测

通过报文接收超时无法快速感知对端是否故障,可以使用快速检测协议 BFD快速感知。每个E-Trunk 都需要指定对端的IP,通过创建检测对端路由是否可达的 BFD会话, E-Trunk 可感知到BFD 通告的故障,并快速处理。

回切机制

当 E-Trunk 的本端设备处于主用状态时,由于本端的Eth-Trunk 的物理状态变为 Down或本端设备故障,经过 E-Trunk 和成员Eth-Trunk 的主备状态确定,对端设备变为主用状态,对端的成员 Eth-Trunk的物理状态变为 Up。

当本端故障消除需要恢复为主用状态时,本端 E-Trunk的成员 Eth-Trunk 进入协商状态。在协商期间,本端E-Trunk 收到 LACP上报的协商能力 UP 的事件后,启动回切延时定时器。回切延时定时器超时后,本端E-Trunk 的成员 Eth-Trunk恢复为主用状态。经过 LACP 协商后,Eth-Trunk链路状态变为 Up。

E-Trunk 的约束条件

如图所示,为了提高CE 与 PE之间链路的可靠性,使得 CE 直连PE 的链路能够自动切换,必须遵循以下规则:

1、PE1 与 PE2上 E-Trunk 的配置必须一致。PE1 与 CE直连的 Eth-Trunk,与PE2 与 CE直连的Eth-Trunk 的工作速率和双工模式必须相同,即保证key值相同,且必须加入 ID相同的 E-Trunk。

Eth-Trunk 加入E-Trunk 之后,必须保证 PE上的 LACP 优先级、LACP 系统 ID相同。

CE 上直连 PE1 与PE2 的接口应该加入同一 Eth-Trunk,可以和PE 端的 Eth-TrunkID 不相同,如CE 端配置Eth-Trunk 1,两台PE 设备配置 Eth-Trunk10。

2、PE 两台设备所指定的地址互为对端和本端 IP地址,保证三层可达即可,建议使用环回地址。

3、必须配置 E-Trunk 与BFD 会话绑定。·PE 两台设备上设置的报文密码(可配)必须相同