写点什么

通往云网络世界的 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:48704

评论

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

回"疫"录(7):关键时刻稳住别浪

小天同学

疫情 回忆录 现实纪录 纪实

Angular的遍历,默写一遍。

玉龙BB

大前端 angular 前后端分离 集合

怎样打造用户喜爱的产品

孙苏勇

思考 产品设计 读书

从“中国GPL诉讼第一案”聊聊开源软件的license许可证

赵新龙

GitHub 开源 许可证

高并发下作余额扣减的一些经验

流沙

后端

关于需求评审和讲解的一些思考

Yezhiwei

媒体的经营 04 | 难在:有所表达,影响决策

邓瑞恒Ryan

创业 媒体 技术社区

使用Vue+Highcharts绘制中国地图

kos

Vue 大前端

一文学会设计模式

泰伦卢

c++ 互联网 极客 设计模式 架构模式

一篇文章教你服务器OOM后如何快速定位处理问题

Java OOM 系统故障

做成事情,唯有实干,没有捷径

Yolanda

程序猿 Windows 10 日常使用软件推荐

夏天

程序员 日常软件 windows

ELK环境搭建

Geek_0o5u34

elasticsearch Logstash Kibana ELK

小小说

冯夷

疫情故事一则 | 庆祝北京应急响应调为二级

赵新龙

滴滴 顺风车

「颜值即正义」那些管UI小姐姐要来的网站

童欧巴

CSS 效率工具 大前端 UI

有问必答(2020-04-23):为什么读书?怎么读书比较高效?

冯夷

你问我答

使用Kubeadm搭建Kubernetes集群

Java收录阁

Kubernetes k8s

Firefox浏览器背后的力量,Mozilla基金会的“生财”之道

赵新龙

firefox 开源 基金会

如何表达自己的感情?

zkh

如何写作一本书(1):写前须知

英子编辑

技术 写作 读书

Windows中使用vagrant+virtual box创建Docker

Java收录阁

Docker vagrant

我的第一个 100K app

道哥

ios swift 自由职业 独立开发者 App

MongoDB入门笔记

编程随想曲

sql mongodb

万物皆逝

冯夷

生活

有问必答(2020-03-28):活着是为了什么?

冯夷

生活

有问必答(2020-04-24):如何做时间管理/任务管理?

冯夷

你问我答

技术“大跃进”进行中

冯夷

基础设施

Spring IOC 和 DI

再见孙悟空

spring

在 VPS 里搭建 Drone CI 持续集成构建系统

Gadzan

Docker ci DevOps cicd 持续集成

设计一个地铁路线规划小工具

流沙

开源 后端

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