关于我对VXLAN的一些总结


我的一些朋友之前一直在谈论vxlan如何如何,今天我就自己对vxlan的一点理解,简单写写,希望对大家有所帮助。


1、为什么要引入vxlan?


1)在同一个数据中心我们一般通过VLAN对业务进行不同的网段划分,实现了对不同业务的网段分割,但是在双数据中心或多数据中心,两个数据中心都有同一个网段,要实现两个主机的互访,要实现在三层网络环境中打通二层网络,我们引入了vxlan技术。


2)通过VLAN对数据中心的业务进行不同的网段划分,但是随着数据中心的不断扩容,尤其是云数据中心,对外提供多租户的服务,通过vlan进行业务隔离,当VLAN ID超过4094时,VLAN将不能满足当前需求,我们需要引入vxlan,vxlan可以支持2^24个VLAN ID。


3)当二层网络为双链路时,VLAN必须使用spanning tree来block掉一条链路,而通过vxlan可以更好的使用双链路负载实现链路的高可用。


 

2、vxlan的特点是什么?


1)比VLAN配置复杂,一般的普通网络设备不支持,对物理设备有要求。


2)通过将mac地址封装在UDP中的结构,使用UDP 4789端口进行数据转发,数据报文如下。


关于我对VXLAN的一些总结

3)vxlan通过VTEP实现mac与IP的映射,VTEP包括IP接口和本地mac地址两部分,而且是独立的,VTEP的格式如下图。

 

 


关于我对VXLAN的一些总结

 

4)在vxlan网络的数据转发过程中,VTEP负责对原数据包和目的数据包进行封装和解封装工作,如下图。


 


 

关于我对VXLAN的一些总结


5)vxlan通过多播组进行网络传输。


关于我对VXLAN的一些总结

 


 


6)在数据初次访问时,vxlan网络的自学习过程与VLAN网络的mac地址学习过程很相似,(注意:与交换机中的flood-learn不一样的是,交换机中记录的是对应的交换机端口和MAC的关系,这里记录的是Remote VTEP(IP Address)和MAC的关系),当什么信息也没有学到的时候使用多播组进行广播,当学习到IP信息和mac信息后,通过单播的方式进行互访,具体如下图。


 

关于我对VXLAN的一些总结

 

 

7)vxlan与vxlan之间的互访和vxlan与vlan之间的互访,需要注意的是,vlan与vxlan的访问需要通过vxlan网关进行映射的翻译。

 

 

 

关于我对VXLAN的一些总结

 

 

3、vxlan涉及的配置命令

 

feature pim
feature vn-segment-vlan-based
feature nv overlay

vlan 10
  vn-segment 160010
vlan 20
  vn-segment 160020

interface nve1
  source-interface loopback1
  member vni 160010 mcast-group 231.1.1.1
  member vni 160020 mcast-group 231.1.1.1
  no shutdown

具体可以参考思科官网:

https://www.cisco.com/c/zh_cn/support/docs/switches/nexus-9000-series-switches/118978-config-vxlan-00.html