EVPN 路由之Type1 per ESI

学习很长时间EVPNVxLAN,这里主要记录一下EVPN 路由的学习心得,
从Type-1路由开始,以下Type-1路由的格式:
EVPN 路由之Type1 per ESI_第1张图片
看起来不是很复杂,但是有一点要搞清楚(这也是本人刚开始犯迷糊的地方),及Type-1路由分两类:RT1-per ESI 和 RT1-per EVI。每一类有不同的用途。

- 首先补充一下ESI和EVI有什么不同:
ESI(Ethernet Segment Identifier):PE与某一CE的连接定义的唯一标识。
EVI(EVPN Instance): EVPN实例,每个实例独立存在。每个EVI连接了一组或者多组用户网络,构成一个或者多个跨地域的二层网络。
ET(Ethernet Tag):每个EVI可以构成一个或者多个二层网络。当EVI包含了多个二层网络时,通过Ethernet Tag来区分这些二层网络。如果我们把二层网络看成是广播域的话(Broadcast Domain),那么ET就是用来区分不同广播域的。
举例来讲:PE到CE互联是一条物理链路就是一个ESI,但是这条物理链路可以分很多逻辑子链路,每条逻辑链路可以绑定一个租户也就是一个EVPN实例EVI。
- RT-1 per ESI有三个用途:

  • 水平分割(share Split Horizon Label)
  • A/A 或者A/S 状态通知
  • 快速收敛
    EVPN 路由之Type1 per ESI_第2张图片

在CE多归属场景,CE发出BUM包到PE1(non-DF),PE1会转发到其它PE包括PE2(DF PE),如果PE2继续转发给CE那就形成了环路。
为了避免环路,PE1发出来的BUM包要封装一个标签来标这个ES(Ethernet Segment),包含了这条物理链路上的所有EVI。我们在做配置的时候要把PE1和PE2的ESI配成一样的,当PE2收到PE1发来带有ESI标签的BUM时就不会往相同ES转发,避免环路。
因为所有EVI在一条物理链路上可以共享防环标签就可以了,所以per ESI而不是per EVI。
Type 1具体内容:

Route Distinguisher (RD) (8 octets)
RD自动生成,每个EVI的RD不同,生成规则是lo IP:(0 1 2…)以此类推

Ethernet Segment Identifier (10 octets)
ESI手动配置,两个PE配置相同ESI。ESI为0表示CE到PE是单归

Ethernet Tag ID (4 octets)
在per ESI中无需关注ET,ET被标记为MAX-ET(0xFFFFFFFF )

MPLS label (3 octets)
mpls label被设为0,表示per ESI

Extended community
EVPN 路由之Type1 per ESI_第3张图片

扩展属性里 ESI Label包括两个内容:
1,Multi-homing 类型:0=active-active,1=signal-active (Muti-homing状态通知)
2, 防环标签,PE2(DF PF)分给PE1(non-DF)
转发层面标签栈:
<< Label to Reach PE2>> —> Known via ISIS/SR
<< BUM Label shared by PE2>> – > Known via RT3
<< SHG label shared by PE2 >> – > Known via RT1-PER ESI
EVPN 路由之Type1 per ESI_第4张图片
对于快速收敛
当PE1发现到CE的链路down掉,会快速触发Type1 per ESI发到其它PEs。远端PEs就会知道PE1的ES不可达,使下一跳到PE1 的MAC失效。选其它路由。

抓包:
EVPN 路由之Type1 per ESI_第5张图片

你可能感兴趣的:(#,VxLAN,网络)