嘿,运维!你与VXLAN有场约会……

640?wx_fmt=jpeg

图片来源:网络


作者

Bert


如有转载,请联系本公众号。

VXLAN概述 ▍

顾名思义,VXLAN(Virtual eXtensible Local Area Network)提供了类似VLAN的二层网络服务,并且比VLAN更具备扩展性和灵活性,该技术将数据中心物理网络架构(underlay)与数据中心逻辑网络架构(overlay)解耦,满足了云计算对数据中心网络架构灵活部署和弹性扩展的需求。

对比VLAN,VXLAN优势如下:

•业务灵活部署:VXLAN可以在共享的数据中心物理网络架构之上提供逻辑的大二层扩展,用户或者管理员可以实现业务的灵活按需部署。

•优良的弹性:VXLAN使用24-bit VNI(VXLAN Network Identifier),允许多达

1600万的VXLAN段(segment)在相同的管理域中共存。

•更佳的底层网络利用率:VLAN为避免环路,使用STP阻断(block)冗余链路。VXLAN采用UDP封装,利用第三层IP路由、等成本路径(ECMP)和链路聚合(LACP)技术使用了全部可用路径。


VXLAN数据包格式

VXLAN是一种承载协议,定义了MAC-over-UDP的封装方案,由内(inner)到外(outer)分别增加了8字节VXLAN头部,8字节UDP头部,20字节IP头部和14字节以太网头部,合计增加了50字节封装。

VXLAN包格式如图1所示:

640?wx_fmt=jpeg

图1


VXLAN术语

•VXLAN隧道端点(VTEP):VTEP(VXLAN Tunnel Endpoint )负责VXLAN报文的封装与解封装。每个VTEP具备两个接口:一个是本地桥接接口,负责原始以太帧接收和发送,另一个是IP接口,负责VXLAN数据帧接收和发送。VTEP可以是物理交换机或软件交换机。

VTEP如图2所示:

640?wx_fmt=jpeg

图2

•VXLAN IP网关:VXLAN IP网关(VXLAN IP Gateway)负责VXLAN和非VXLAN之间、不同VXLAN之间的网络通讯。

VXLAN网关如图3所示:

640?wx_fmt=jpeg

图3

VXLAN组播:VXLAN组播(multicast)用于减小VXLAN主机的广播洪泛范围,实现远程VTEP发现、完成远程主机MAC地址与MAC-to-VTEP映射学习。每个VXLAN段可被映射到一个组播组,VTEP设备通过Internet Group Management Protocol(IGMP)协议加入这个组播组。。

VXLAN组播组部署如图4所示:

640?wx_fmt=jpeg

图4


VXLAN技术

•远程VTEP发现和MAC地址学习

本文仅讨论经典模式的远程VTEP发现和MAC地址学习机制。图5中显示了VTEP发现和MAC地址学习过程。有三个VTEP参与VXLAN 10,使用组播组239.1.1.1,终端设备A(使用IP-A,MAC-A)与终端设备B(使用IP-B,MAC-B)通讯。

①终端设备A发送ARP请求,请求终端设备B的MAC地址;

②VTEP-1收到终端设备A发送的ARP请求,此时VTEP-1还没有终端设备B对应的地址映射表项,VTEP-1将ARP请求进行VXLAN封装,VNI设置为10,outer-src-ip是VTEP-1的IP,outer-dst-ip是加入的组播地址,封装完成后转发至VXLAN组播组; 

③VTEP-2、VTEP3加入相同的组播组,所有组成员都会收到VTEP-1发送的组播报文,解封装后检查VNI与本地VNI是否匹配,如匹配则将ARP请求发送至本地网络,同时记录终端设备A的VNI、inner MAC、outer IP的对应关系,构建控制平面地址映射表项。如VNI不匹配则丢弃数据包。

④终端设备B通过VTEP-2收到ARP请求后,以单播方式发送ARP响应,并且记录IP-A-to-MAC-A映射。

⑤VTEP-2收到终端设备B的ARP响应后进行VXLAN封装,此时VTEP-2已经构建控制平面地址映射表项,通过VXLAN封装后以UDP单播方式发送。Outer-src-ip是VTEP-2的IP地址,outer-dst-ip是VTEP-1的IP地址;

⑥VTEP-1收到封装后的ARP响应后,解封装比对VNI,如匹配将ARP响应发送至终端设备A,同时记录VNI、inner MAC、outer IP的对应关系,构建控制平面表项;

⑦此时VTEP-1、VTEP-2均已成功构建控制平面地址映射信息,后续VXLAN数据使用单播在VTEP-1和VTEP-2之间传输。

小贴士:VTEP可以配置ARP proxy,减少ARP组播请求。

640?wx_fmt=jpeg

图5

•VXLAN数据转发

VTEP为原始数据帧增加UDP报头,新的报头到达目的VTEP后才会被去掉,中间路径的网络设备只会根据外层(outer)包头内的目的地址进行数据转发。在图6中,VXLAN 10中的Host-A和Host-B通过VTEP-1和VTEP-2之间的VXLAN隧道相互通信。这个例子假设在两边都已经完成了地址学习,并且在两个VTEP上都有相应的MAC-to-VTEP映射。

①当Host-A向Host-B发送流量时,它会将主机的MAC-B地址作为目标MAC地址,并将其发送到VTEP-1。

②VTEP-1在其映射表中映射了MAC-B到VTEP-2,通过在数据包中添加VXLAN、UDP和外部IP地址头来执行VXLAN封装。在外部IP地址头中,源IP地址是VTEP-1的IP地址,目标IP地址是VTEP-2的IP地址。VTEP-1对VTEP-2的IP地址进行IP地址查找,找到传输网络中的下一个跳,然后使用下一跳设备的MAC地址进一步封装数据帧,发送到下一跳设备。

③ROUTER-1和ROUTER-2通过查找路由表,依据外部IP地址头信息进行转发。

④这些信息包基于其外部IP地址头信息被路由到VTEP-2,后者的IP地址为VTEP-2。

VTEP-2接收数据包之后,它会去掉外部以太网、IP、UDP和VXLAN头信息,并根据以太网帧中原始的目标MAC地址将数据包转发给Host-B。

640?wx_fmt=jpeg

图6


结论

数据中心的云计算网络架构规划、部署和配置是一项复杂的工作。虚拟网络抽象不但隐藏了底层网络部署的复杂性,而且能够更好的管理网络资源,最大程度减少了网络部署耗时和配置错误。TCP平台将虚拟网络(overlay)承载在数据中心传统网络(underlay)之上,允许用户像定义传统L2/L3网络那样定义自己的虚拟网络,一旦虚拟网络完成定义,TCP平台会将此逻辑虚拟网络通过overlay 技术映射到underlay网络并自动分配网络资源。

后续我们还将分享:VXLAN在云计算中心的部署实践、服务链(SFC)在云计算基础架构中的应用、NFV在云计算基础机构中的应用,以及云计算安全等话题,敬请期待。




扫描下方二维码加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习吧~~

成为群成员,或拉人进群,

还有机会获得免费赠书哦~~

640?wx_fmt=jpeg


投稿啦!!!



精彩继续

CSDN作为国内专业的云计算服务平台,目前提供云计算、大数据、虚拟化、数据中心、OpenStack、CloudStack、机器学习、智能算法等相关云计算观点、技术、平台、实践、云产业咨询等服务。CSDN 公众号也一直坚持「与千万技术人共成长」的理念,深度解读行业内热门技术与场景应用,致力于让所有开发者保持敏锐的技术嗅觉、对行业趋势与技术获得更广阔的认知。

文章题材

  • 首先你需要关注我们的公众号“CSDN云计算”,这样你会更准确了解我们需要的文章风格;

  • 侧重于云计算领域相关的文章,可以是技术、运维、趋势等方面的务实内容;

  • 原创,要求文章有鲜明观点和看法。

投稿须知

  •  稿费:根据原创性、实用性和时效性等方面进行审核,通过的文章会发布在本微信平台。一经采用,我们将支付作者酬劳。酬劳可能不多,这代表的是一个心意,更多是因为爱好,是有识之士抒发胸怀的一种方式;

  • 字数要求:稿件字数以2K-8K为宜,少于2K或多于8K都会一定程度降低阅读愉悦感;

  • 投稿邮箱:lijy@csdn.net。或者添加微信表明来意,微信号:tangguoyemeng。请备注投稿+姓名+公司职位


如果咱们的合作稳定又愉快,还可以签订合同长期合作哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何判断一个点在任意四边形内

通过面积法,判断点P是否在四边形(A,B,C,D)内。如果在四边形内,则四边形的面积面积(P,A,B)面积(P,B,C)面积(P,C,D)面积(P,D,A),反之不在四边形内。 此处我将判断方法定义成了静态方法,方便其他类访问,代码如下: public class IsInQuadrangle {public IsInQuadrangle…

网格变形动画MeshTransform

原文:Mesh Transforms 作者:Bartosz Ciechanowski 译者:kmyhy 我是 transform 属性的超级粉丝。让 UIView 或者 CALayer 的形体发生改变的最简单方法就是联合使用旋转、平移和缩放。在易于适用的同时,常规变换所能实现的效果也同…

cloud一分钟 | 腾讯云联手斗鱼、虎牙两大头部游戏直播平台开启 定制道具的创新互动...

Hello,everyone:9月7日早,星期五,祝大家工作愉快!一分钟新闻时间:完01微 信 群 添加小编微信:tangguoyemeng,备注“进群”即可,加入【云计算学习交流群】,和…

Linux服务器硬盘更换,[ Linux ] 服务器更换硬盘

服务器型号:ThinkServer RD650操作系统:Red Hat 6.7业务用途:生产环境监控机接到机房邮件通知,告知某台服务器硬盘告警,并提供了设备SN号和机柜位置。根据提供想相关信息找到对应的设备IP并确定该设备的业务用途。登录…

【BAT面试现场】如何判断一个数是否在40亿个整数中?

作者channingbreeze如需转载,请联系原作者授权。小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT。今天他就去BAT中的一家面试了。简单的自我介绍后,面试官给了小史一…

彩色BMP转换成灰度图的原理

图像处理中,大部分的处理方法都需要事先把彩色图转换成灰度图才能进行相关的计算、识别。 彩色图转换灰度图的原理如下: 我们知道彩色位图是由R/G/B三个分量组成,其文件存储格式为 BITMAPFILEHEADERBITMAPINFOHEADER,紧跟后面的可…

Linux java 生效不了,linux jdk 不生效怎么办

【摘要】操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。下面是linux jdk 不生效怎么办,让我…

程序猿 - 超实用的工具、素材、学习网站分享

文章目录------------------------------学习教程篇-------------------------------bilibili哔哩哔哩网易云课堂siki学院:泰课在线:可汗学院:线性代数的本质 - bilibili计算机科学速成课 - bilibiliLearnOpenGL:The Book of Shad…

面趣 | 马云在面试中出的一道题,据说只有一个人答对……

大神,求解!据说,马云给新员工出了一道题然鹅,只有一个人答对了!!!!智商不足的小编居然打开了这道题求解!!!我手里有50元钱花去剩余买衣服 20元30…

云漫圈 | 敢怼我们程序员?哼,有你好看的。。。

作者设计师静静来源非著名程序员原创作品,如有转载,请联系公众号授权。原创漫画,禁止转载,侵权必究前几天在网络上看到一个关于产品经理和设计的对话,非常的搞笑,有意思。对话如下:产品经理&…

这些软件太强了,Windows必装!尤其程序员!

Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享…

教师节 | 程序员都这么玩,你敢挑战吗?

课堂上的每一课您总能「抽象」出整个世界不断「重载」出覆盖这个世界的任何方法当某个「异常」陷入自己的「静态属性」难以自拔时您总会调用千百种「方法」作为一种特别的「参数」传进把「异常」从一个「死循环」中解救出来在无尽的黑夜中您「释放」所有的系统资源不断的开发我…

如何在linux安装mysql7版本的,如何在linux下用tar方式安装Mysql5.7版本

1、下载根据自己的linux系统情况选择对应的tar包2、解压tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar再移动并重命名一下mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql3、创建mysql用户组和用户并修改权限groupadd mysqluseradd -r -g mysql mysql4、创建数…

cloud一分钟 | 腾讯金融云总经理胡利明:腾讯云服务金融的“加减 乘除”法。...

Hello,everyone:9月10日早,星期一,祝大家工作愉快!祝各位老师节日快乐!一分钟新闻时间:完01微 信 群 添加小编微信:tangguoyemeng,备注“进群公司职位”即可&#xff0c…

cloud一分钟 | 李飞飞离任谷歌云,工作重心将重新转回学术界

Hello,everyone:9月11日早,星期二,祝大家工作愉快!一分钟新闻时间:完01微 信 群 添加小编微信:tangguoyemeng,备注“进群公司职位”即可,加入【云计算学习交流群】&…

如何成为云计算专家?这些必须知道

Level 200、300、400你正处在云计算技术的哪个阶段呢?从进阶,到高级,再到专家AWS INNOVATE 2018 在线技术大会为不同阶段的你量身定制技术内容高屋建瓴的 “主题演讲”包罗万象的 “技术分论坛”亲历亲为的 “Builders 实验室”……我们的进度…

linux重新启动某一个项目,Linux运维知识之supervisor更改某项目配置后 需要重新启动才有效...

本文主要向大家介绍了Linux运维知识之supervisor更改某项目配置后 需要重新启动才有效,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。在linux服务器上部署了node项目,使用supervisor进行管理梗概了该项目对的某些配置后&a…

Python Pycharm Anacanda 区别

工欲善其事必先利其器,在学习 Python 开发之前我们首先来熟悉几个关键字: 1.Python 2.Pycharm 3.Anacanda 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门可能对于刚接触的小伙伴还是比较懵逼的,一会 Python 一会 A…

走进中国移动(宁夏)数据中心,感受不一样的运营商情怀

文章来源:数字中国万里行 如今,移动端应用已经深入我们生活的方方面面。想出门,“嘀”一声扫码成功,骑上自行车就出发了;家里又该交燃气费了?随时随地登录官网,输入编码就能立刻充值&#xff1b…

Python2.x 和 Python3.x,如何选择?

一.前言 Python 软件基金会宣布,到 2020 年元旦,将不再为编程语言 Python 2.x 分支提供任何支持。这一天将标志着一出延续多年的戏剧的高潮:Python 从较旧的、功能较弱的、广泛使用的版本过渡到更新的、更强大的版本。 然而,Pytho…