我的一些朋友之前一直在谈论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端口进行数据转发,数据报文如下。
3)vxlan通过VTEP实现mac与IP的映射,VTEP包括IP接口和本地mac地址两部分,而且是独立的,VTEP的格式如下图。
4)在vxlan网络的数据转发过程中,VTEP负责对原数据包和目的数据包进行封装和解封装工作,如下图。
5)vxlan通过多播组进行网络传输。
6)在数据初次访问时,vxlan网络的自学习过程与VLAN网络的mac地址学习过程很相似,(注意:与交换机中的flood-learn不一样的是,交换机中记录的是对应的交换机端口和MAC的关系,这里记录的是Remote VTEP(IP Address)和MAC的关系),当什么信息也没有学到的时候使用多播组进行广播,当学习到IP信息和mac信息后,通过单播的方式进行互访,具体如下图。
7)vxlan与vxlan之间的互访和vxlan与vlan之间的互访,需要注意的是,vlan与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