

在数字化时代,网络技术的演进是企业和组织成功的关键。一种备受瞩目的技术,EVPN(以太网虚拟专网)正以其高效、灵活的特性引领着网络革命的潮流。EVPN是一种新兴的网络技术,致力于解决传统网络中遇到的一系列挑战。它不仅改善了数据中心和企业网络的性能,而且为未来网络的发展提供了强大的基础。VPLS传统的二层VPN技术,在PE之间建立隧道和PW(伪线),创建实例VSI,绑定PW和AC到实例VSI
PW:伪线,用于承载不同企业客户的业务
VSI:虚拟机交换实例,类似VRF中的实例,有独立的实例MAC地址表,绑定PW和AC(接入链路,可以视为access链路)到实例,且负责终结PW(可以将PW视为trunk链路)
通信过程:模拟交换机的过程,在数据平面使用泛洪的方式学习MAC地址并生成MAC地址表
使用场景:多数在云计算、虚拟机环境使用,虚拟机的迁移很灵活,当迁移到另一个广播域后不希望更改虚拟机的IP地址和mac地址,就可以使用二层VPN回到原来所在的广播域中去。
不足:单活导致无法使用负载均衡,不能使用多路径,故障检测、收敛速度慢,没有控制层面,只能在流量来了之后再学习mac地址表
EVPN-MPLS
添加控制平面,传递mac/ip路由
RD/RT/EVI,与VRF中的概念一致
MAC-VRF,实例EVI的mac表,等同于VRF中的实例路由表
ES,标识用户,esi(用户编号)相同的视为同一用户
PE设备上配置,10字节(5段,每两位1字节),00固定开头标识管理员手动配置,其他配置方法暂不使用
BUM,交换机中需要泛洪的流量
EVPN常用路由类型:
1类.A-D路由(Auto-discovery Route自动发现)
包含ES route用于快速收敛、冗余和防环,EVI route用于负载均衡
RD字段:区分路由
ESI字段:ES路由全1(全F)标识用户,EVI路由非全1标识实例下的不同广播域,全0标识单一广播域
Eth id:vlan id
MPLS label:ES路由为全0,EVI路由负载分担时使用的标签
2类.用于通告IP/mac路由信息
3类.泛洪
4类.用户路由,用于防环和选举
5类。转发路由前缀
EVPN维护3张表用于指导流量转发。
MAC-VRF用于记录已知单播帧流量的转发,即最终需要形成的表
BUM表用于指导广播、未知单播和组播流量的转发
ES成员表用于记录用户接入PE信息,起到防环作用
EVPN启动阶段:
前提是IGP+MPLS-LDP已建立
1,PE创建EVPN实例,配置RD/RT,PE上激活EVPN,产生MAC-VRF表,内容为空。
2,配置PE之间的对等体关系。PE产生标签,发送3类路由发给邻居,产生BUM表。3类路由携带RD值和标签,RD只做区分。收到的对等体使用BUM流量转发表记录邻居IP地址和标签
3,所有设备均做上述操作,最终在所有PE上形成稳定的BUM流量转发表
4,接口绑定EVPN实例。CE接入PE,PE上将CE接入的接口与实例绑定。接口配置ESI,产生4类路由发给邻居(本ES内有效),传播并交互ESI产生ES成员信息表(一半的)并进行DF选举。
DF(指定转发者)选举:CE(同ESI的)接入到多个PE时,只能有一个PE向CE转发BUM流量,选出这个PE的过程就是DF选举
5,分发标签,水平分割。CE向PE发送一股BUM流量,在PE泛洪流量之前,先产生1类路由发给邻居(本ES内有效),1类路由携带RD值,成员IP地址以及成员产生的标签。其他邻居收到后记录到ES成员信息表中,产生完整的ES成员信息表。在将来如果再次收到BUM流量,泛洪时打上对方标签,接收方通过比对标签,来自同一ES的BUM流量会被丢弃,起到防环作用。不同的EVI实例产生不同的标签
简记:建实例产生空MAC表,发3类建立BUM表。接口绑定实例,发4类同ES成员DF选举。再发1类,ES中成员发标签完善ES成员信息表实现防环
启动阶段结束
流量转发阶段:
1,CE1访问CE2,首先发送ARP请求或单播,PE1接收报文,学习mac地址加入到本地实例mac表,下一跳为连接CE1的接口
2,PE1在转发流量之前,先产生2类路由发给邻居。2类路由中携带RD值,ESI,源mac地址以及为这个源mac地址产生的标签(本地无标签,产生的标签发给邻居)。邻居接收到后也将信息保存到实例mac表中,下一跳为PE1。
3,同ES的PE2也会收到PE1发送的2类路由,显然将PE1作为下一跳是次优的路径,所以PE2会自动将下一跳修改为连接CE1的接口,并且也产生2类路由发送给其他邻居。其他邻居收到后也记录在mac表中,形成负载均衡。同ES的PE不会使用这条路由
4,上面过程完成后,PE1才开始转发数据。如果是ARP请求报文,PE1查询BUM流量转发表,打上相应的标签后转发出去。如果是单播查单播表打标签转发。
PE1到PE3/PE4,打上BUM表中的标签,PE3作为DF,从连接CE2的接口转发出去。PE4作为非DF,不转发数据。
PE1到PE2,PE2作为同ES的邻居,先打上成员信息表中标签,再打BUM表标签,PE2发现有自己的标签,丢弃报文(启动阶段第5点)。
这一过程中不学习mac地址,因为在上一过程中使用2类路由已经学习到了mac地址
5,CE2收到报文后单播回复,先重复上面的步骤学习mac地址,再根据mac地址表转发数据。
实验配置:
使用NE5000设备,双归属实验有BUG做不了。
sys im进入不可反悔配置模式
undo dcn避免未知bug产生
提前是igp先互通
接口默认shutdown,配置MPLS-LDP使用标签域
指明EVPN源IP地址,用于3类4类路由,主要是3类BUM路由。用于对端的BUM流量目标。让FEC能递归到隧道中
建立BGP-EVPN邻居,l2vpn-family evpn。默认情况下undo policy vpn-target,会导致收到其他ES发来的4类路由(4类中的RT值自动产生,不是我们再实例中配置的),开启policy vpn-target过滤非本ES的4类路由
创建实例,绑定接口 ,配置ESI