写点什么

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

评论

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

【数据结构】带头+双向+循环链表(增、删、查、改)的实现_【附源码、图片示例】_ [初阶篇_ 复习专用]

Dream-Y.ocean

c 双向循环链表 9月月更

ESP32-C3 VScode开发环境搭建(基于ESP-IDF—Windows和Ubuntu双环境)

矜辰所致

vscode 开发环境 ESP32-C3 9月月更

Spring 注册 Bean 在配置中的定义和使用 Autowired

HoneyMoose

面试必问的AOP,我今天用它实现了系统告警

程序员小毕

spring 源码 程序员 Java 面试 aop

建木持续集成平台v2.5.5发布

Jianmu

开源 DevOps 低代码 CI/CD 无代码

一款开源的基于 Angular 的电商 Storefront 开发框架介绍

汪子熙

typescript 前端开发 angular 电商 9月月更

Wordpress 如何添加 Ads.txt 文件

HoneyMoose

云管平台的优势有哪些?哪家云管平台好?

行云管家

云计算 云管平台 云管理

什么是帮助中心?企业该怎样制作帮助中心页面?

Baklib

企业 帮助中心

海龟绘图简单科普

吉师职业混子

9月月更

千行百业,可信开源,2022 OSCAR开源产业大会成功召开

Ada@SegmentFault

为什么Kubernetes和容器与机器学习密不可分?

京东科技开发者

人工智能 机器学习 Kubernetes 容器 ML

Maven 中依赖使用的版本号

HoneyMoose

字节Java大神精心编写的《Java开发者面试百宝书》,助你一臂之力!

收到请回复

Java 云计算 开源 架构 编程语言

有关Redis你掌握好这22点,大厂面试基本稳了!

Java全栈架构师

数据库 程序员 后端 Java 面试 redis 底层原理

DCAT亮相WAIC 2022浦东分会场——元宇宙博览会暨数字光影大会

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

元宇宙会议来了,3DCAT助力2022长宁区科技创新主题论坛开展

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

中山市等级测评机构有哪些单位?电话号码是多少?

行云管家

等保测评 等级测评 中山市

如何进行高效的文档管理?这三点很重要!

Baklib

文档管理 企业文档管理工具

速度与安全可兼得!改造异步布局大幅提升客户端布局性能

小红书技术REDtech

性能优化 安卓 客户端 Andriod

抢抓国际标准 中国“原创”企业成国际事务处理性能委员会(TPC)新成员

科技热闻

易周金融分析 | 易观千帆发布7月城商行农商行APP盘点;养老理财产品跨行代销布局提速

易观分析

金融 理财产品

「Gitea篇」如何用Git平台账号登录建木CI

Jianmu

DevOps 持续集成 gitops 建木

「番外篇」如何用Git平台账号登录建木CI with docker-compose.yml

Jianmu

DevOps 低代码 CI/CD gitops 无代码

面试复盘 | 2022届 大疆秋招 测试开发 完整面经

Java-fenn

Java

OSCAR开源产业大会|中国信通院可信开源评估最新结果正式发布

Ada@SegmentFault

瑞云科技总经理邹琼出席2022世界人工智能大会投融资主题论坛

3DCAT实时渲染

云计算 元宇宙 实时渲染 实时云渲染 云VR

《OSCAR开源产业大会丨《全球开源生态研究报告(2022年)》重磅发布》

Ada@SegmentFault

9月大厂Java岗面试原题复盘,双非2年经验成功内推进入阿里!

收到请回复

Java 云计算 开源 架构 编程语言

啃完这32W字的Java程序员面试题,大厂面试分分钟搞定!

收到请回复

Java 云计算 开源 架构 编程语言

利用Python开发App实战

千锋IT教育

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