写点什么

通往云网络世界的 9¾站台 -VLAN 和 VXLAN

  • 2020-04-03
  • 本文字数:2144 字

    阅读完需:约 7 分钟

通往云网络世界的9¾站台-VLAN和VXLAN

VLAN 是你理解云网络的门槛石,要想通往云网络世界这一扇大门一定得理解透彻。

为什么需要 VLAN

在前面的课程里面,我们知道了局域网的概念。一个局域网里面有 N 台电脑互相通信,ARP 广播通知到各家各户。把你想象为村里的一户人家,平时送快递收快递,偶尔村里广播找人,派个人到你家询问询问情况,整体看似挺和谐的。 但是这里注意了哦,广播找人,那可一定是全村每家每户都派人通知到的。



然而当村子大了,问题就出来了: 就是这个各路的广播通知的大使啊,不停的往你家门口赶啊,一个又一个,无尽的骚扰着你家,已经困扰到你正常的作息了。



那你可能好奇,一个村里面,这个广播大使能有这么多吗? 嗯,大概你门口就这么多吧。(夸张手法)



所以这个村子也得分分组了:上半村,下半村。上半村的事情,广播大使,你别来下半村咨询了,上半村跑完了就噢了。


因此,一个局域网里面的电脑的分组需求就开始了。一个物理世界的人,实际上又分成了各个门派,门派之间各不相干。这种抽象决定了你虽然和邻居很近,然而你们互相不认识,也不通信。


VLAN 就是用来给村里人分组用的,每个人贴个标签。代表了你是哪个门派。

如何理解 VLAN

站在网络报文的角度,我们重新梳理一下这个里面分组的道道。


最开始,一个网线上面跑着很多运输车(IP 报文),到达目的地后,把 IP 头去掉,剩下货物交给对方,就像这样:



在对通知大使分组之后,这些报文可就带了标记了,一眼就看出来,这是不同门派的报文。就像这样:



这样一来,每一台机器,只会收到自己门派的报文,不会受到另一个门派的骚扰。一个局域网就这样根据报文的标记,分裂为多个不同的门派。找其中一个门派单独看,它又像是是一个更小的局域网,因为它们只与同一门派的人通信。所以单独的一个门派又叫做“虚拟的”局域网。英文 Virtual LAN(也就是 VLAN)。


下图显示一个局域网,分裂为两个虚拟的局域网。



那么怎么来给报文打标签区分类别呢? 搞报文协议的前辈,掐指一算。算了,就给报文头里面加个字段吧,用来写门派号。



注意这里 VID 留了 12bit 位,也就是最大 4095 个门派。 搞协议的人觉得,一个局域网里面的电脑嘛,搞那么多门派干嘛,分组数量绝对够了啊。呵呵~都是坑,跟 IPV4 一样一样的。


带了 VLAN 头的报文,我们叫 VLAN 标签。它是一个长得不太一样的报文。

交换机的 VLAN 口

在一个局域网里面,分组这件事,你可以任性的随机选电脑分一个组,更多的是按照位置和属性分组。一般为了方便管理,都将一个“虚拟局域网”的电脑放在一起。把它们接入一个交换机的一个网口上面,这个网口对应的下属电脑,属于同一个“虚拟局域网”。



在图上可以看到,一个交换机端口可以设置 VLAN 属性,代表允许的报文类型(门派)。 那这里有一个深层次的概念:一个端口,报文有进,有出的。分别怎么处理的呢?



这种打上标签,和去除标签的功能,是一个带 VLAN 功能的常见情况。也就是 tag,untag 的实际含义。因为也有端口是需要在收到报文的时候 untag 的,所以这个打标签的活需要注意,门派理清楚。

Trunk 又是什么鬼?

一般情况,一个交换机端口,都是设置为只允许一种 VLAN 报文通过,这样比较好理解。但是有时候,我们需要设置一个端口,允许 N 种 VLAN 报文,都可以通过。


比如:


在一个大的局域网里面(比如学校),我们需要将两个位置的(比如两幢楼)的 VLAN 电脑通连起来,字母派一个组,数字派一个组。类似图示这样:



这种情况下,如果按照一个端口设置一个 VLAN 的原则,只需要在两个交换机之间,接额外 2 根线就行了。像这样:



由于带了 VLAN 标签的报文,只能通过对于的 VLAN 端口,所以两个“虚拟局域网”互相不干扰。但是如果门派变多了呢??


难道每增加一个门派,两个交换机之间就得加一根网线??


所以聪明的我们就想出来,一个端口允许 N 种 VLAN 标签不就行了。意思是各门派均可通过~



这个就是 Trunk 端口了。



VLAN 的不足,大哥 VXLAN 来帮忙


之前提过,第一个想出门派的 VLAN 协议设计者,觉得 12bit 的标记,也就是 4 千多种门派就够了。实际情况是,这玩意很好用啊,特别是这种“虚拟的局域网”概念,可以模拟出很多“虚拟的网络”出来给用户使用,特别适合云计算这种一个用户需要自己独立的网络这种场景,所以使用的越来也多,需求量超大。


表面上一根物理网线,可以虚拟出 N 根“虚拟网线”的效果。



所以结果就是:VLAN 这种分出来门派的数量完全不够用啊! 因为需求量可能比下面的还要多:



所以,一种新的区分报文门派的方法需要出来。于是人们就想方法,最终有两个方法出来:一种就是 VXLAN,X 就是扩展的意思; 还有一种是 GRE 网络。


这两种分门派的方法有一个共同点,就是在小货车运输的货物上打标签。而不再是对货车分类(因为 IP 报文头已经没有多余字段可用来发挥作用了)。


  1. VXLAN 分门派方法:



2. GRE 分门派方法:


总结:

因为 VLAN 技术的出现,使得同一根物理线路上,同时传递 2 种完全相互隔离的信息。效果看上去似乎是 2 条独立的线路分别在传递信息。


所以再进一步想象下:抽象的云计算里面的虚拟机,其实就是这种情况,两台虚拟机可能挨很近(运行在同一台物理机上),然而它们之间是完全没关系的,因为是分别被两个不同的人购买的。



云网络的雏形就这样长出来了。


本文转载自华为云产品与解决方案公众号。


原文链接:https://mp.weixin.qq.com/s/-Yyq-ZAtIYCb9maUpm1wjQ


2020-04-03 13:481469

评论

发布
暂无评论
发现更多内容

32岁的我裸辞了,八年Java老鸟,只因薪水被应届生倒挂,在闭关三个月后拿到阿里Offer,定级P7!

Java架构师迁哥

再获权威认可!DataPipeline实时数据融合平台通过信通院大数据产品能力评测

DataPipeline数见科技

大数据 数据融合 数据管理

半年摸爬滚打,我是如何从小白进阶渗透测试工程师

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞分析

Redis学习之Redis概述及原理、基本操作及持久化

Linux服务器开发

redis 分布式 后端 中间件 Linux服务器开发

KDD CUP 2021首届图神经网络大赛放榜,百度飞桨PGL获得2金1银

百度大脑

神经网络 百度

智邦国际ERP系统31.99版本发布,解锁精准高效协同管理模式!

叶落便知秋

2021百度云智峰会|DataPipeline携手百度赋能实时数据资产构建与应用

DataPipeline数见科技

大数据 数据融合 数据管理

一图读懂DataPipeline实时数据融合平台V3.0

DataPipeline数见科技

大数据 数据融合 数据管理

TDengine JDBC整合Druid

山石道人

涛思数据 tdengine Druid Spring MVC taos-jdbc

用好“实时数据管理”助推器,旭辉集团加快数字化转型步伐

DataPipeline数见科技

大数据 数据融合 数据管理

免费分享JDBC与MyBatis的优秀图书

Java入门到架构

Java

2021年,BAT接连入局!“低代码”为何能备受资本追捧?

优秀

低代码

前端性能优化实践 | 百度APP个人主页优化

百度开发者中心

大前端 百度app

越学越有趣:『手把手带你学NLP』系列项目07 ——机器翻译的那些事儿

百度大脑

机器学习 nlp

Hightopo可视化入局“智慧工厂”,助力企业改革创新

一只数据鲸鱼

数据可视化 绿色工业 3D数据可视化 高炉炼铁 智慧工业

吹水、面试、进阶齐飞!Github霸榜的阿里分布式设计实录也太香了

Java架构师迁哥

教你给场景添加天空盒,超简单!

ThingJS数字孪生引擎

大数据 大前端 开发 可视化 数字孪生

DataPipeline实时数据融合平台V3.0里程碑版发布!澎湃新动能

DataPipeline数见科技

大数据 数据融合 数据管理

一位年薪 180 万的蚂蚁金服大佬扔给我的笔记,建议看完

Java架构师迁哥

一周信创舆情观察(6.28~7.4)

统小信uos

北鲲云超算平台——让科技更好地服务于用户

北鲲云

底层技术支撑智慧出行,汽车智能化发展下区块链大放异彩

旺链科技

区块链产业

永续合约交易所开发,虚拟币合约交易系统源码

不愧是阿里内部“SpringCloudAlibaba学习笔记”看完直接斩获12家offer

Java 编程 架构 面试 微服务

GNURadio报错Unable to create context(windows10环境)

allu

问题总结

Mobileye智慧出行再加码,中国市场生态建设取得新进展

E科讯

【工作感悟】2021最值得加入的互联网公司有哪些

欢喜学安卓

android 程序员 面试 移动开发

GitHub星标70K阿里大佬手写的Spring Boot实战手册

Java架构师迁哥

金九银十面试必备,“全新”突击真题宝典,阿里腾讯字节都稳了

Java 编程 程序员 架构 面试

【工作感悟】Android大厂高级面试题灵魂100问

欢喜学安卓

android 程序员 面试 移动开发

HashMap从入门到精通,原创好文,值得收藏!

wljslmz

Java hashmap java8 HashMap底层原理

通往云网络世界的9¾站台-VLAN和VXLAN_文化 & 方法_华为云产品与解决方案_InfoQ精选文章