飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

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

评论

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

基于matlab的控制系统与仿真6-PID控制模型

AXYZdong

matlab 2月春节不断更

第五周 第二课笔记

Geek_娴子

Linux之旅 - 入⻔命令集

诚义舅

bash Linux 运维 Shell

Linux之旅 - 行程介绍

诚义舅

bash Linux Shell

神操:凭借“阿里Java脑图”,成功斩获腾讯、蚂蚁、B站、字节、滴滴等5个Offer

Java架构师迁哥

2021最全iOS面试题及底层视频分享专栏

ios 面试 音视频 iOS底层 iOS逆向

“他者”德意志(二):“走稳路”的德国半导体

脑极体

《华为技术认证HCNA网络技术实验指南》参考配置Ⅰ

依旧廖凯

华为 网络 交换机

备战金三银四必备:2021最新Java面试汇总(附答案解析)

比伯

Java 编程 架构 面试 计算机

Selenium 项目代码的优化与重构之路,滚雪球学 Python 番外篇

梦想橡皮擦

Python 28天写作 2月春节不断更

普本毕业,阿里五面成功斩下offer,名校出身的我究竟输在哪?

Java架构之路

Java 程序员 架构 面试 编程语言

架构设计篇之微服务实战笔记(八)

小诚信驿站

架构 刘晓成 小诚信驿站 28天写作

2021最新华为面经分享:Java高分面试指南(25分类1000题50w字解析)

比伯

Java 编程 架构 面试 计算机

诊所数字化:实施私域,诊所店员的赋能路径

boshi

数字化医疗 私域运营 七日更 28天写作

第五周笔记

Ashley.

LeetCode题解:121. 买卖股票的最佳时机,JavaScript,动态规划,详细注释

Lee Chen

算法 大前端 LeetCode

边缘计算云原生开源方案选型比较

远鹏

Kubernetes 边缘计算 kubeedge openyurt superedge

Newbe.Claptrap 框架入门,第一步 —— 开发环境准备

newbe36524

Docker 云计算 分布式 微服务 .net core

Newbe.Claptrap 框架入门,第二步 —— 创建项目

newbe36524

Docker 云计算 分布式 微服务 .net core

Linux之旅 - 自序

诚义舅

bash Linux Shell

安卓开发环境!一份字节跳动面试官给你的Android技术面试指南,终获offer

欢喜学安卓

android 程序员 面试 移动开发

第五周作业

Ashley.

开发者的福音,go也支持linq了

happlyfox

学习 28天写作 2月春节不断更 Go 语言

可能是Java Stream的最佳实践(三)

ES_her0

28天写作

最新“美团+字节+腾讯”三面面经,你能撑到哪一面?

Java架构之路

Java 程序员 架构 面试 编程语言

Nginx入门的基本使用和配置详解

数据库 架构 运维

2021年金三银四Java面试突击大全,吃透这套Java真题合集,突破BAT面试官这道“防线”

Java 架构 面试

三年Java开发,年底跳槽挂了阿里和字节,却收获美团offer,分享大厂面试心得

Java架构之路

Java 程序员 架构 面试 编程语言

第五周 第一课笔记

Geek_娴子

成为阿里P7移动架构师到底有多难?带你快速通过字节跳动面试,讲的明明白白!

欢喜学安卓

android 程序员 面试 移动开发

2.1 Go语言从入门到精通:Go语言基础语法

xcbeyond

28天写作 基础语法 Go 语言

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