温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

VXLAN原理以及基础应用介绍

发布时间:2020-02-27 02:35:50 来源:网络 阅读:825 作者:lukaschare 栏目:数据安全

VXLAN原理以及基础应用介绍

VXLAN介绍:

我听说VXLAN的时候是IDC大举建设的时候,主要是用于处理云平台VLAN资源耗尽的问题。

等真正接触到这个技术是在城域网,用来做跨越三层设备的OverLay,其实本质上没什么区别。

为什么要在IDC上使用VXLAN呢?有三点原因:

1. 原先二层技术资源不够,加上STP技术的老旧,跟不上现在的需求。现在都是虚拟机组网,要求的是迁移机器IP、MAC不变,传统很难实现。

2. 小网络、私有网络的驱使。现在虚拟化厂商IRF/VPC等等的,各搞各的也不兼容,关键是对于网络架构还自己有要求。所以,打消了不同技术共同组网的念头。

3. 其他的新技术不是太贵,就是太复杂。要用,好,先买线卡,之后升级软件。这是用户和运维人员最头疼的,也是最根本的原因。VXLAN好就好在对设备兼容性高,升级软件即可支持,代价小。

VXLAN是怎么实现他的价值的?

1. 添加了8字节的vxlan header,其中24bit的VNI,扩展了’VLAN’的数量

2. 使用了UDP作为穿越三层的头部,打通三层组建泛二层不是梦

3. 作为一个三层隧道技术,它肯定要知道对应三层的IP,将打包好的数据发送给对端解析

//其他也没什么了,看起来挺简洁一技术

VXLAN数据包格式:

数据包格式就截图了:

VXLAN原理以及基础应用介绍

VXLAN原理以及基础应用介绍

这些图都不是很明晰,看起来不方便,我就从原来是什么包,到怎么加工的后来的包,做个简单阐述:

原先的包——

[目的MAC]|[源MAC]|[VLAN tag]|[目的IP]|[源IP]|[数据]

接入设备拿到这个包的处理过程:

1. PE根据MAC流表查找此设备属于哪个VNI

2. 确定需要送达的VTEP IP地址和MAC地址

3. 根据获得的信息分别压入:VXLAN头部、UDP头部、IP头部、Eth头部

[目的MAC-VTEP][源MAC-PE][VLAN-PE到Vtep] | [源IP-PE][目的IP-VTEP] | [UDP-4798] | [Vxlan flag-8bit][Vxlan VNI-24bit] | [原包变payload]

Vxlan隧道建立和维护:

Vxlan的功能类似于VPLS和GRE,都可归类为隧道技术。隧道嘛,必须是两端都有意而且能接头才能搭上话,那么Vxlan技术是怎么进行对话和沟通的呢?

1. 组播学习对端的VTEP IP/VNI/MAC

2. 如果收到了Vxlan的包,解包的时候自动学习

3. 通过其他路由协议扩展协议来学习,其他协议当做马车,拉过来信息

a) ISIS扩展,需要配置ENDS/ENDC,私有,复杂

b) BGP扩展,需要配置RR/client,私有,简单,成熟

c) SDN controller,标准协议,调用Netconf/Openflow,第一个包上送中间人controller,对控制器吞吐量要求略高

//可以看到,Vxlan在没有三层协议帮助的时候,和vlan学习极为相似。

文字很难理解,来看看图示(图C过来的)

(1).数据发起

VXLAN原理以及基础应用介绍

a. 一个用户一个VNI,客户配置了VNI(100),想去VM2

b. VTEP1查找到本VNI(100),使用的组播是239.119.1.1

//注意:此时,VM1是不知道VM2的MAC的;VTEP1也是不知道哪个VTEP有VM2。

(2).寻找VM2

VXLAN原理以及基础应用介绍

a. VTEP1将VM1的ARP包封装为组播包,目的地址就是239.119.1.1

b. 因为VTEP2页有VNI100,理所当然收到了这个组播包

c. VTEP拆包,发现这个客户就在自己名下,立即将VM1(MAC)和VTEP1(IP)记录在案

d. 拆包转发,VM2收到这个ARP包

(3).VM2反馈自己信息

VXLAN原理以及基础应用介绍

a. VM2 收到了ARP包,和正常包一样,返回ARP回应

b. VTEP2收到了去往VM1的数据包

c. 因为VM1和VTEP1已经在流表里,发送单播给VTEP1

d. VTEP1收到了回复,也知道了VTEP2是VM2的PE

e. VTEP1将VTEP2(IP)和VM2(MAC)记录在流表

f. 拆包,将VM2的答复发送给VM1

//此时此后,VM1知晓了VM2的MAC,VTEP1和VTEP2也知道了彼此的对应关系

//所以,以后VM1和VM2之间的对话,全部由VTEP1和VTEP2单播转发

补充:各个厂商是如何实现Vxlan的建立的?

CISCO:定义了两种接口,Switch interface和IP interface,switch接口接客户,IP接口对外,寻找VTEP。添加了NVE接口(Network Virtualization Edge,网络虚拟边缘节点),类似于隧道(类似PW),关联IP、组播group地址、Vxlan

H3C:ENDP(Enhanced Neighbor Discovery Protocol,增强的邻居发现协议),发现VTEP后,用这个协议建立Vxlan隧道

Vxlan网关:

真实的IDC server对通信的需求为:

1, 相同VNI内,VM到VM

2, 不同VNI内,VM到VM

3, VM到外网服务器

相同VNI内VM通信,可以通过组播直接联系;不同VNI之间的沟通,需要借助Vxlan网关;VM和外网互通,需要用到三层路由。

Vxlan网关是什么?

1. 很多人都听说过多段PW(mspw),这Vxlan的网关就类似于多段PW的中间节点

2. 它的功能是和不同VNI建立Vxlan隧道,解决跨VNI的沟通

3. 它还同时兼任Border,当有需要访问外网的时候,它提供三层路由。

Vxlan网关的知识还涉及到网络的组网,毕竟所有的都要网关来处理它也处理不过来。

而且从安全的角度来看,也需要对网关进行备份和冗余。

这部分知识不少,下一章介绍。

2018/4/30

By Lukas

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI