1.vxlan的数据平面实现
vxlan数据平面主要就是封装vxlan header以及ethernet、ip、udp头。具体重要的信息就是vni、sip、dip
vxlan入口PE的处理流程主要为上行,可以设计为:
1)pvv查端口表,得到:vpn id
2)vpnid+vlan+mac查转发表,得到私网信息表的索引(还会有frr、vpn等等信息)
3)查私网表得到vni,以及公网表的索引
4)查公网表得到隧道表的索引
5)查隧道表得到sip、dip进行封装
6)查路由表转发
vxlan出口PE的处理流程主要为上行可以设计为:
1)本地路由且为vxlan的封装格式,进行隧道解封装表的查找(sip+dip),看是否为终结
2)终结时,用vni查表得到vpnid
3)用vpnid+vlan+mac查转发表,进行转发
在不同的组网下有些转发细节需要关注
1、非ESI,远端PE不会形成私网下一跳的负荷分担或者FRR
2、源入源出的检查,包括AC和NNI两种情况用不同的方式检查。
3、水平分割,针对广播,防止广播风暴。通过对groupid进行检查实现。例如从nni过来的广播报文不会忘nni侧转发。
4、除了水平分割,还要采取一些措施防止环路1)nni侧过来的报文,不往nondf AC转发,ac侧过来的报文没有这个处理(交换带标记表明是ac上来的报文);2)nni收到的报文在下行做sip+ESI match的检查,命中就丢弃。
防止环路主要分两种情况,一种是nni过来的远端流量。采用groupid和以及不往nondf转发实现;另一种是df的设备做sip+ESI的检查。所以这里几个关键的信息是:
groupid、df/nondf、sip、ESI。
2.vxlan的信令平面
使用bgp evpn作为控制平面的有点:
1)控制面实现mac学习;控制面协助VM漂移;避免不必要的泛洪。
2)BGP的自动发现较健壮
3)L2、L3网络间无缝集成,IRB功能强大
4)全活多宿
5)RT策略灵活,可以构成E-LAN、E-LINE、E-TREE拓扑。
路由通告:
1)包容多播路由
RD、VNI、INGRESS-REPLICATION ip地址、RT
2)mac地址路由
RD、VNI、MAC、RT、封装类型(vxlan)
来源:oschina
链接:https://my.oschina.net/u/4408758/blog/3388061