一、概念:
VxLAN:Visual eXtensible Local Area Network 虚拟扩展本地局域网,一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连,VxLAN端口:4789
EVPN:Ethernet VPN 以太网(二层)VPN技术
VNI:VxLAN Network Identifire VxLAN网络标识,由24bit组成,多达16M的VxLAN段
ES(Ethernet Segment):CE连接PE的 Ethernet 链路集合。
ESI(Ethernet Segment Identifier):10字节的ES非0标识。RFC7432中说明:取0时,表示单归站点;全ff为保留。
TOR:Top of Rack 机柜顶端,相当于接入层交换机
EOR: End of Row 机房队列末端,相当于汇聚层交换机
NVO3:Network Virtualization Over Layer 3 #三层上的网络虚拟化
BD:Bridge-Domain #二层网关,终结vlan-id,本质上是二层mac表
VAP:Virtual Access Point #虚拟接入点、BD跟Vlan-id关联的接口,对于用户侧,有4种:dot1q、default、untag、qinq
dot1q:DCN用得多,进入BD:剥离tag,出BD:打上对应tag(用户的vlan终结)
default:只能配在主接口下的一个子接口,带标记不带标记都收,透传,不区分tag和untag,全盘接收,不剥离tag,出 BD:保持tag,到达对应vlan
untag:进入BD:无标记,出BD :无任何标记
qinq:vlan嵌套vlan,较少用
NVE:Network Virtualization Edge(接口,用于连接网络侧,转发VxLAN的封装)
VTEP:Virtual Tunnel EndPoint #虚拟隧道终节点Leap loopback地址
二、常用命令:
dis vxlan peer #查看VxLAN对端列表
dis vxlan tunnel #查看VxLAN隧道
dis vxlan vni #查看 VxLAN 的vni列表
dis bridge-domain #查看BD
dis mac-address bridge-domain 10 | verbose #查看 BD10 的MAC表
三、拓朴图:
要求:AR1 上的 172.16.15.1 能穿越 ISP 网络去访问另一端 AR2 的 172.16.15.5
AR3 上的 172.16.1.1 能穿越 ISP 网络去访问另一端 AR4 的172.16.1.2
四、配置步骤:
运营商内部侧:
1、配网络侧底层互通(underlayer)
leaf之间loopback接口互访(以后的VTEP地址:VxLAN隧道IP地址)
2、Overlayer用户侧
a、创建BD,关联VNI:
bridge-domain 10
vxlan vni 5010 #针对 vlan10关联二层vni(1:1绑定,只能关联一个VNI)
b、配置VAP,关联BD
int G1/0/0.10 mode l2 #只有CE系列有此命令,S系列没有此条命令
encapsulation dot1q vid 10 #
bridge-doain 10
3、配置网络侧,创建NVE接口,关联网络侧和用户侧
int nve 1
source 10.1.1.1 #配置vtep的源地址
vni 5010 head-end peer-list 10.1.3.3 #头端复制
bridge-domain 10
vxlan vni 5010
#
interface GE1/0/0
undo portswitch
undo shutdown
#
interface GE1/0/0.10 mode l2
encapsulation dot1q vid 10
bridge-domain 10
#
interface GE1/0/1
undo portswitch
undo shutdown
ip address 10.1.12.1 255.255.255.0
#
interface LoopBack0
ip address 10.1.1.1 255.255.255.255
#
interface Nve1
source 10.1.1.1
vni 5010 head-end peer-list 10.1.3.3
#
interface NULL0
#
ospf 1 router-id 10.1.1.1
area 0.0.0.0
network 10.1.1.1 0.0.0.0
network 10.1.12.0 0.0.0.255
#
用户侧:
1、AR1和AR2向交换机接口侧配置IP
2、S1和S2交换机起vlan10,向运营商侧配置trunk,允许vlan10通过
五、验证:
第一个抓包点在 AR1 到 S1 之间,可以看到发出的正常的 ping 包:
第二个抓包点在 S1 到 CE1 之间,可以看到通过 trunk 口后,加上了 802.1q 的 vlan tag:
第三个抓包点在 CE1 到 CE2 之间,可以看到 CE1 将私网的 ping 包完整打上 VxLAN 封装,打上 5010 vni,并通过 UDP 4789 端口,用 underlayer 承载后,发往ISP内部路由目标地址:
再看看另一个 5020 的 arp 包,也是相同的结构:
六、注意的点:
这里配置好后有时是不通的,其实 ISP 通过 VxLAN 打通了二层,相当于一个交换机内的数据传输,也需要流量激活,如果 ping 不通,可以两边都 ping 一下就行了,也可能是模拟器的时延问题。