TYPE 1路由携带ESI标签用于实现水平分割
TYPE 2路由携带单播标签指导单播流量转发
TYPE 3路由携带BUM标签指导BUM流量转发,但TYPE3路由未携带ES相关信息
TYPE 4路由携带ESI用于DF选举,但TYPE 4路由未携带任何标签信息

| TYPE1 Ethernet A-D Route | 别名 MAC地址批量撤销 多活指示 通告ESI标签 | 环路避免 快速收敛 负载分担 |
| TYPE2 MAC/IP Advertisement Route | MAC地址学习通告 MAC/IP绑定 MAC地址移动性 | 基于每个MAC的策略 ARP抑制 主机迁移 |
| TYPE3 Inclusive Multicast Route | 组播隧道端点自动发现 | 支持BUM流量转发 |
| TYPE4 Ethernet Segment Route | ES成员自动发现 DF选举 | 多活,单活支持 |


| NLRI格式 | 字段说明 | |
| RD | ||
| Ethernet Segment Identifier(ESI) | PCE与某一CE的连接的唯一标识 | |
| Ethernet Tag ID | 该字段为Ethernet Tag标识,RFC建议最后20bit可以为VLAN ID | |
| MPLS Label | ES路由该字段为全0,EVI路由上该字段为VPN单播流量负载分担转发时使用的MPLS 标签 | |
扩展团体属性

快速收敛

PE1检测到链路故障,向PE3通过A-D ES路由发送我到CE1断了,此时PE3就会把所有从PE1进入的路由一下全部删除
水平分割
在CE多归接入到PE场景下,如果CE的链路为ALL-Active模式,CE发送一个PE的BUM报文可能被另一个PE环回,所以需要水平分割解决这个问题。
水平分割由所有PE通告携带ESI Label扩展团体属性的Ethernet A-D per ES route实现。

别名

如图,PE1通过MAC/IP route路由将自己连接了CE1告知CE2,如此CE2就会按照通告的路由将下一跳指向PE1设备,这样就无法实现负载均衡。现在PE2因为也连接了CE1,他会使用A-D EVI路由告知PE3,本设备也连接了CE1,此时PE3就会认知到PE1与PE2都连接了CE1,这样转发的时候,PE3就可以分析形成负载均衡
主要用于MAC和IP地址通告
注意,携带了ESI,用于与TYPE1联合完成别名功能


MAC迁移扩展团体属性
永远只关心序列号最大的设备

集成多播路由,用于处理BUM报文。
当PE之间的BGP邻居关系建立成功之后,PE之间会传递集成多播路由,集成多播路由可以携带本端PE上EVPN实例的RD和RT值,以及sourece ip和PMSI信息。PMSI和RT值承载在路由的属性信息中,RD和Source IP承载在路由的NLRI信息中。
| NLRI格式 | 字段说明 |
| RD | 该字段为EVPN实例下设置的RD值 |
| Ethernet Tag ID | 该字段为当前设备上的VLAN ID |
| IP Address Length | PE上配置的源地址长度 |
| Orginating Router's IP Address | PE上配置的源地址 |
PMSI属性
PMSI用于携带多播报文传输所使用的的隧道类型和隧道标签信息
当一台PE设备收到多播流量后,会将多播流量以点到多点的形式转发给其他PE设备。PE设备之间通过集成多播路由可以建立传送流量的隧道。


以太网段路由:主要用于DF选举
以太网段路由可以携带本端PE的ESI值,Source IP地址和RD值,用来实现连接到相同CE的PE设备之间互相自动发现

ES-Import Route Target
用于标识是单归场景还是多归场景(双归场景一般会绑定Eth-trunk形成负载)
EVPN定义的被Type4路由所携带的扩展团体属性
在EVPN多归场景下,BGP EVPN通过ES路由时候必须同时携带ES-Import RT,用于实现ES路由过滤
ES路由过滤:ES-Import RT只允许连接相同站点的PE引入TYPE 4路由。RT被用于在所有连接相同站点PE上引入Ethernet Segment路由

PE与CE的绑定

Port Based模式
把一个物理接口直接绑定到EVPN中

VLAN Based模式
建立二层子接口

VLAN Bundle模式

VLAN-Aware Bundle模式
根据数据帧自动感知应该属于哪一个BD

现网中不会单独实现EVPN技术,因为这个EVPN还是需要使用MPSL技术的支持,底层需要配置IGP和MPLS LDP,在一个大型网络中,有可能全网不会开MPLS,如果几千台设备都开启MPLS这是不合适的,大部分VPN会用到数据中心,数据中心是不开MPLS的,单独使用MPLS的场景并不多。
EVPN可以传递MAC,IP,ARP,一个EVPN既可以搞二层也可以搞三层,因为EVPN是TLV架构的,还可以增加TYPE 5路由,直接用一个EVPN地址族增加5类,6类路由的,现在EVPN也可以用来传递IPSEC的IKE秘钥。EVPN不挑上层协议。可以传的内层标记也不仅仅是一个标签。
现在是草案,IP前缀路由,用于在网络上中传播从接入侧网络收到的主机IP地址信息或主机IP所在网段信息

- evpn source-address 1.1.1.1
-
- bgp 123
- peer 3.3.3.3 as-number 123
- peer 3.3.3.3 connect-interface loopback 0
- l2vpn-family evpn
- peer 3.3.3.3 enable
-
- evpn vpn-instance vpn1
- route-distinguisher 1:1
- vpn 1:1 export-extcommunity
- vpn 1:1 import-extcommunity
- EVPN邻居已经建好
- ip vpn-instance vpn2
- ipv4-family
- route-distinguisher 2:2
- vpn-target 2:2 export-extcommunity evpn
- vpn-target 2:2 import-extcommunity evpn
- evpn mpls routing-enable //用evpn的方式去做传递,传递的是mpls标签路由(正常使用VPNV4传递)
-
- int l1
- ip binding vpn-instance vpn2
- ip address 10.1.1.1 255.255.255.255
- int l1
- ip binding vpn-instance vpn2
- ip address 10.2.2.2 255.255.255.255
-
- bgp 123
- ipv4-family vpn-instance vpn2
- import-route direct
- advertise l2vpn evpn //以二层VPN EVPN方式通告

