VXLAN内通信与EVPN

EVPN以及type 2 type 3和type 5路由
单独部署VXLAN的问题:
1、VTEP无法第一时间了解一个VNI内所有成员的Mac路由信息,导致初始所有流量对于VTEP交换机而言,都属于BUM流量,进行flood&learn,会导致延迟较大,效率低下。
期望在通信之前知晓VNI属于那些VTEP成员身后以及VNI成员的Mac路由信息。
2、PCA——VTEP1——Internet——VTEP2——PCB
属于VNI之间是二层通信,如果PCA不清楚PCB的MAC地址,仅仅知道IP地址,会发送ARP,
即便是VTEP1知晓了PCB的MAC地址,但是对于VTEP1自身,收到ARP广播的流量,也会给其他的VTEP泛洪,好处:所有VTEP知晓PCA的Mac路由表项。如果ARP表项超时了,还需要ARP广播。
方法:可以在VTEP创建针对二层VNI的VBDIF (华为),overlayrouter(锐捷,思科),VBDIF相当于就是该VNI的内部成员,知晓本地身后VNI成员的MAC地址信息,这样在VTEP之间运行EVPN交互ARP信息。
3、部署vxlan目的很大程度是大批量虚拟机迁移,虚机迁移之后VTEP不清楚身后主机不存在了,会造成数据访问问题(除非计时器到期,重新BUM学习)。
优化机制:虚机迁移之后发送免费ARP,如PCA迁移,VTEP2收到本地表项,优于VTEP1之前给的远端表项,更新关于PCA的Mac路由,ARP信息等,接着通告信息发送给其他VTEP,而对于VTEP1而已,本身就是本地表现,收到远端表项,会怀疑真实性,自身向南向接口发送关于PCA的ARP请求,如果没有收到回应,PCA不存在。
解决方案:EVPN
1、通信之前让VTEP了解到整个域内关于该VNI的成员数量以及分布在何处
2、在VTEP之间传递ARP路由信息,本地VTEP学习远端ARP表项,代替被请求节点给请求节点回应
3、在虚拟机迁移之后,新的VTEP立即发送ARP通告告诉其他VTEP
ARP路由与Mac路由的区别,ARP路由不仅包含了MAC地址还包含了IP地址。
EVPN基本原理
EVPN有五种路由,在VXLAN领域中,主要使用type 2 type 3 type 5三种。
1、Type 2路由——MAC/IP路由(存在于BGP update报文
携带节点MAC地址信息,让VTEP产生远端表项
携带IP地址,可以实现VXLAN间的通信(VXLAN间通信,必须部署EVPN)(华为依靠type 2,锐捷依靠type 5)
在这里插入图片描述

以上字段没有任何一个与vxlan有直接关系,EVPN本身也不是为VXLAN设计的,只是可以进行复用而已。
路由器运行MP-BGP,建立邻居关系,是携带RD与RT值的,与VPNV4一致。同理,当部署了路由反射器,需要在路由反射器服务端关闭RT过滤器,否则路由传递不过去。
在vxlan中的使用:
RD:正常携带RD即可
Ethernet segment identifier:全0,不使用
Ethernet Tag ID:全0,不使用
Mac address length:Mac地址个数
Mac address:主机MAC地址
IP address length:IP地址个数
IP address:主机IP地址
MPLS label1:二层VNI编号
MPLS label2:三层VNI编号(只有部署分布式同步IRB时候才会使用)
实例:PCA——VTEP1——Internet——VTEP2——PCB
① 比如VTEP1发送PCA的Mac路由
RD:正常携带
Ethernet segment identifier:无意义
Ethernet Tag ID:无意义
Mac address length:1
Mac address:PCA.MAC
IP address length:无意义
IP address:无意义
MPLS label1:VNI 10
MPLS label2:无意义
VTEP2收到,如何形成远程表项?根据收到数据帧外部源IP地址知晓对端VTEP地址,加上Mac与VNI形成远端表项(Mac路由)
在这里插入图片描述

形成如下表项:
VNI MAC地址 二层出口
3 5869.6c9f:7400 vtep ip=3.3.3.3
Mac路由适用于同子网的主机之间互访,通过互相传递主机Mac实现,减少VXLAN网络的流量泛洪。
当然,也可以手工配置Mac路由:
在这里插入图片描述
在这里插入图片描述

注:静态Mac路由仅在本端有效,无法同步给别的VTEP。

② VTEP1发送ARP通告信息
在VTEP上创建了针对二层VNI的VBDIF,相当于三层网关接口,可以和本地VNI成员之间通信,形成ARP映射,接着将PCA的ARP通告以type 2的形式发送给对端VTEP2。
RD:正常携带
Ethernet segment identifier:无意义
Ethernet Tag ID:无意义
Mac address length:如果是一个Mac,此处为48
Mac address:PCA.MAC
IP address length:如果是一个IP,此处是32
IP address:PCA.IP
MPLS label1:VNI 10
MPLS label2:无意义
ARP路由的作用:可以实现ARP广播抑制,虚拟机迁移保证表项正常。
在这里插入图片描述

注意:
① VTEP在收到ARP路由后,生成ARP路由或者ARP cache(取决于接收端VTEP是否具备该VNI的三层网关,如果没有则仅仅在ARP cache中,对外不可见)
②其实无论是Mac信息,还是ARP信息,在主机上线发送ARP报文后,就可以学习到两个信息了,接着同步给EVPN邻居
③只是ARP路由仅仅在拥有三层网关的VTEP上生成,所以,在集中式网关场景,由于网关上移到spine,底下的VTEP为桥模式,无法传递ARP
路由,再者,spine也无法学习经vxlan封装的ARP请求报文,所以需要开启学习远端ARP报文功能:
在这里插入图片描述

③主机IP路由通告(华为使用type 2传递主机路由,锐捷使用type 5)
PCA——VTEP1——Internet——VTEP2——PCB
PCA与PCB分别属于VNI 10和VNI 20。
部署分布式的同步IRB时,通过layer 3 VNI建立邻居关系,相互通告主机IP路由,不需要知晓Mac地址与二层VNI。
RD:正常携带
Ethernet segment identifier:无意义
Ethernet Tag ID:无意义
Mac address length:无意义
Mac address:无意义
IP address length:1
IP address:PCA.IP
MPLS label1:无意义
MPLS label2:layer 3 VNI
与传统交换机一致,不会关注Mac地址和vlan信息
PCA——SwitchA——三层接口——SwitchB——PCB
特点:只能传递主机路由,当然也是合适的,毕竟存在虚拟机迁移。

2、Type 3路由——Inclusive Multicast路由
在这里插入图片描述

VTEP存在多台,每台VTEP需要创建NVE接口,创建tunnel source,并且VTEP之间没有组播连接,收到BUM流量,两种方式集中复制与头端复制,但是头端复制需要在NVE接口中指定其他VTEP的NVE tunnel source接口地址,手工配置,并不灵活。
RD:正常携带
Ethernet tag id:无意义
IP address length:无意义
Originating router’s IP address:本地VTEP的NVE的tunnel source地址
Flags :无意义
Tunnel type:无意义
MPLS label:身后VNI成员所属VNI的值
Tunnel identifier:无意义(华为设置为与上述值一致,描述VTEP source地址)
总结:type 3路由功能是了解对方的VTEP source地址以及身后的VNI成员值。
过程:
①VTEP向EVPN控制层面发布自己的VNI成员(source address+VNI value)
②BGP通告给EVPN邻居
③VTEP基于VNI获取VTEP邻居信息,发现邻居,形成vxlan隧道
注:当收到type 3路由后,查看RT是否允许此路由,如果通过,vxlan隧道建立成功。
如果本端没有该VNI,丢弃该3类路由。
与华为对接时,由于华为仅用2类路由传递隧道信息,锐捷设备收到后,也会创建邻居,但是此时隧道邻居不会与VNI关联。

3、Type 5路由——IP前缀路由
在这里插入图片描述

场景1:部署分布式同步IRB时,不同VTEP创建了统一的layer 3 VNI,将本地的IP路由导入到layer 3 VNI,在VTEP之间通告。
而type 2路由其实也可以传递,只是只能传递主机路由,默认使用type 2,与type 5不兼容。
场景2:vxlan和非vxlan网络通信
RD:正常携带
Ethernet segment identifier:无意义
Ethernet tag id:无意义
IP prefix length:前缀长度
IP prefix:前缀
GW IP address:路由下一跳地址
MPLS label:三层VNI
Type 5 路由即BGP EVPN路由,默认不开启,如果需要EVPN type5路由,需要配置如下指令:
在这里插入图片描述

5类LSA协议的主要信息:
在这里插入图片描述

5类路由可能携带的router-mac扩展属性
在这里插入图片描述

步骤
①VTEP收到EVPN 5类路由后,根据VNI确认对应的VRF、根据IP prefix确定路由前缀,而路由的下一跳由以下方式确认
②根据type 5路由携带的router’s mac+VTEP-IP,确定路由下一跳出口隧道和DMAC
③根据type 5路由携带的router’s mac,迭代type 2类Mac表项,确定路由下一跳出口隧道和DMAC
④根据type 5路由携带的gateway-ip地址,迭代该IP路由确定下一跳

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值