注意:鉴于 P 设备构成的骨干网仅涉及外层隧道的转发,所以后续描述将忽略 P 设备;
第一步、PE 发送 TYPE-3-ROUTE 信息
在 PE 中,创建 EVPN 实例,配置它的 RD 和 RT 参数。此时,在 PE 上本地将激活 EVPN,产生 MAC-VRF,其内容为空;
在 PE 间,配置 PE Peer 关系,PE Peer 将相互发送 TYPE-3-ROUTE 发现邻居,并分配标签,最终形成稳定的 BUM 流量转发表;
第二步、PE 发送 TYPE-4-ROUTE 信息
在 PE 上,CE 双活接入 PE 设备。在 PE 上,配置 CE 接入接口与 EVPN 实例绑定。从该接口进入的报文将进入 EVPN 实例;
在 PE 上,连接 CE 的接口中配置 ESI 参数,而后 PE 开始交互 TYPE-4-ROUTE 信息,传播 ESI,形成 ES 成员信息表(无标签),并准备进行 DF 选举;
DF Election
当 CE 多归到多个 PE 时,只能有 1 个 PE 向 CE 转发 BUM 流量,选出这个 PE 的过程被称为 DF Election(DF 选举);
CE 多归场景下,ES 上可能会被配置有多个 Ethernet Tag,只有一个 PE 会被选举为 DF(Designated Forwarder);
DF 选举由携带 ES-Import 属性的 TYPE-4-ROUTE 完成,其作用是:
1)在指定的 ES 上向 CE 发送组播和广播;
2)向 CE 泛洪未知单播流量;
PE 通过特定算法选举出 DF 设备,选举规则如下:
1)PE 发现本地连接的 ES 和 ESI,通告携带 ES-Import 的 Type 4 路由;
2)PE 启动定时器,默认时间为 3 秒,该时间内允许 ES route 的接收;
3)超时后,PE 生成一个有序的列表。列表包含所有 PE 的 IP 地址和它们连接到 ES 的信息。列表的序列号从 0 开始递增。序号被用于决定谁是 DF;
4)被选举为 DF 的 PE 将会转发 BUM 流量给 CE。当出现链路故障时,PE 会撤销它的 ES route,这会触发重新选举流程;
在华为设备中,可配置 DF 选举方式,基于设备接口选举或者基于 VLAN 选举。缺省情况下设备基于接口来进行 DF 选举,可能会导致多归链路上流量不均衡。可配置基于 VLAN 来进行 DF 选举,让 PE 到 CE 的 BUM 流量基于 VLAN 均衡地分担到多归链路上;
假设 PE2 和 PE3 被选举为 DF,则只允许 PE2 和 PE3 转发 BUM 流量给 CE:
第三步、PE 发送 TYPE-1-ROUTE 信息
在 PE 中,其通过 TYPE-1-ROUTE 分发 ESI Label,该 ESI Label 用于水平分割,以防止同个 ES 来的流量又绕回到该 ES;
此过程中,所有 PE 均发送 TYPE-1-ROUTE,生成完整的 ES 成员信息表(此时带有标签);
启动阶段总结
当启动阶段结束后,各个表项如下:BUM 流量转发表、ES 成员信息表、MAC-VRF(此时为空);