速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

评论

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

汽车之家 x StarRocks:极速实时数据分析实践

StarRocks

大数据 数据分析 StarRocks OLAP数据库

WorkPlus协同办公系统的优势有哪些?

WorkPlus

IMS究竟有什么用?

鸿天hente

百度ERNIE新突破!登顶中文医疗信息处理权威榜单CBLUE冠军

科技热闻

智能客服"下半场":数据、技术与服务

百度大脑

人工智能

从落地效果看,转转选择TDengine的三个理由

TDengine

tdengine 后端 时序数据库

中科柏诚加入信创生态实验室,助力金融领域关键核心技术攻关

联营汇聚

莫慌!阿里人用五个模块讲明白了SpringCloud,可下载

热爱java的分享家

Java 架构 面试 编程语言 经验分享

双非渣硕,在传统公司磨炼四年后成功拿到阿里offer!(附面经分享)

Geek_1df311

Java 程序员 架构 面试

Python代码阅读(第64篇):角度与弧度互转

Felix

Python 编程 Code 阅读代码 Python初学者

PingCode Wiki 协同编辑技术揭秘

PingCode研发中心

wiki PingCode

这样准备面试定能轻松斩获offer!(内附精选java面试题与答案)

Geek_1df311

Java 程序员 架构 面试

盲盒app源码开发盲盒小程序原生开发搭建

风行无疆

参赛必读!! 签约计划第二季考核要求

InfoQ写作社区官方

签约计划第二季 热门活动

工具 | pg_recovery 设计原理与源码解读

RadonDB

数据库 postgresql 源码 RadonDB

联想智慧服务获金耳唛奖总冠军暨业务交流会在京举行

科技大数据

单元测试再出发

FunTester

Java 单元测试 测试框架 spock Groovy

淘特 Flutter 流式场景的深度优化

阿里巴巴终端技术

flutter ios android 移动应用 客户端开发

完美!华为爆出Redis宝典,原来Redis性能可压榨到极致

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

掘金新大陆——最后一个十亿蓝海

为什么工业巨头们偏爱自建5G私有专网!

鸿天hente

Js 异步处理演进,Callback=>Promise=>Observer

CRMEB

花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘

Tom弹架构

Java 架构 设计模式

ExoPlayer播放在线TS文件无声音问题分析

Changing Lin

11月日更

直播带货软件原生开发直播带货小程序平台搭建

风行无疆

限量!腾讯高工用4部分讲清楚了Spring全家桶+微服务

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

InfoQ 写作平台优质创作者签约计划第二季,我们来了!

InfoQ写作社区官方

签约计划第二季 热门活动

首次公布Java10W字面经,Github访问量破百万

热爱java的分享家

Java 架构 面试 程序人生 经验分享

研发效能团队如何拥抱开源社区?一些前沿理念与朴素认知

Zilliz

AI 收藏夹 Vol.002

Zilliz

硬核!阿里自爆虐心万字面试手册,Github上获赞89.7K

热爱java的分享家

Java 架构 面试 编程语言 经验分享

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