当前课程知识点:大数据系统基础 > 2.云计算 > 授课视频 > 2.10网络虚拟化:基础
在一个云计算环境下
仅仅虚拟化
计算资源是不够的
因为任何东西
都是通过网络连接在一起的
所以网络虚拟化
也是一个很重要的方面
那么网络虚拟化的几个用途
这是我们刚才已经看过的
一个数据中心
内部的一个结构
它里头有一个复杂的网络
它是共享的一个网络架构
里头连接了很多机器
机器可以虚拟化成
很多虚拟机
那么网络虚拟化的用途是
如果一个客户
比如说占了这两台虚拟机
那么我希望
这个客户不希望看到
他跟人共享了
这么大的一个网络
而他希望的是什么
他希望是看到
我自己有一个网络
所有的我的虚拟机
都连接在同一个网络上
而且最好这个网络
是一个很大的二层的网络
什么叫二层的网络
二层的网络
说白了其实就是
这个网络能广播到
它如果能广播到
这里头有很多的好处
那么就能够实现即插即用
这是什么意思
一个二层的网络
咱们打个比方说
如果一个班上
有二十来个学生 三十个学生
那么其实老师
如果上课的时候
我们就可以通知一声
我就喊一嗓子
在黑板上写个字
大家都知道了
所以这种喊的机制
那么就是叫广播
如果能喊到
就说明这个网络不是很大
然后所有的人都能听得见
这个时候 其实你不需要
弄很多一个的架构
因为你喊一嗓子
大家都听见了
但是如果大了
比如说一个年级有500个学生
它为什么要分成那么多个班
因为你喊一嗓子
大家听不到了
越大的 你越难组织
所以你要把它
组织成很多个班
然后你要是想通知一件什么事
你先每个班抓一个班长来
那就有十多个班长
先通知这个班长
班长再去通知
这种就是有结构的
这么一种网络通讯渠道
当然对于绝大多数的应用来说
我有1000台机器
或者几千台机器
我们还是希望它能够
在一个二层网络下
因为这样的话
它灵活方便 容易组织
所以我们希望能够
把这一个大的
很复杂的结构的网络
我们看起来
它像一个二层网络
这是一种网络虚拟化
当然这个网络
有很多不同的用户在用
我们是不是能够
把这个网络
变成很多个这样的二层网络
然后每一个用户
自己用一个二层网络
用户自己在那个网络里
喊一嗓子 广播一下
大家都能知道
但是他的广播
别的用户都看不到
这样的话能够保证网络的安全
这是网络虚拟化的两个用途
一个是能够提供一个
单一的网络 大的网络
扁平的网络
这样一种抽象
第二个是能够支持多种用户
网络虚拟化的这个观念
其实很早也有
最简单的一种实现方式
就叫做VLAN
VLAN这个已经有很多年了
它的理念就是说
我在一个二层网络上
我可以把一个二层网络
划分成很多个不同的二层网络
我限制中间的广播
这样的话
我的广播只在我指定的
那些个主机上能听到
其他的主机听不到
它这个是怎么实现的
这是一种交换机上
普遍支持的功能
你可以实现成
你说我一个交换机
上头有很多口
我说这个口
和这个口 和这个口
这叫VLAN1
这两个口叫VLAN2
这是可以的
然后所以
从这3个口出来的东西
我们都是VLAN1
它广播的东西我们
坚决不能广播VLAN2去
这样的话
就实现了一种
交换机上的隔离
但是这实际上
这是一种物理的隔离
因为这个口上只有VLAN2
所以大家
它并没有办法共享这根网线了
这些网线实际上
是VLAN1和VLAN2共享的
那么VLAN还提供了一个功能
叫做trunk口模式
这个trunk口是什么
它是一个口
它这个口比如说
它连到另外一台交换机去了
那么它说这个口上
既有VLAN1也有VLAN2
说这两个东西
都可以通过这个口
这样的话实际上
我们就想到了
这种是把一个大的资源
就是这一根线
切分成了两片
一片是VLAN1它是VLAN2
两个虽然走的是
一个物理的线路
但是它们互不干扰
这个事怎么做到的
那么我们必须得记着
哪一个包归VLAN1
哪个包归VLAN2
那么怎么实现的
那么我们就得给包
打一个标记
所以VLAN的实现
是通过一个特殊的包头来实现的
这个是一个以太网的包
以太网的包里头
包括了目的的MAC地址
源的MAC地址等等
这是一个传统的
不带VLAN标签的包
但是如果当VLAN的包
要通过trunk口的时候
我们要在上头打上一个标记
这个标记怎么打
我们现在加了一个这个头
这个叫做802.1Q的头
这是一种协议的标准
这个协议标准里头
有一些其他的内容
跟VLAN没关系
但是重要的是这个
就是VLAN的ID
VLAN ID一共是12个bit
一个VLAN ID
这个相当于
到底是进了哪个VLAN
当它打上VLAN ID之后
这个包的包头就变了
所以它的整个的
后面的加验码
也需要重新地算一下
这个是一个细节
但是主要我们考虑的是
一个VLAN ID
VLAN ID 是12个bit的
如果我们12个bit的VLAN
我们可以算一下
10个bit正好是1k
那么12个bit的话
那么就是2个bit就是×4
所以就是4k
所以就是4096个VLAN
所以VLAN只可能有
在一个网络下VALN
只可以有4096个
你想想 你觉得4096个
好像挺多的
你想我们比如说
这个财务部门用一个
教授部门用一个
人事管理部门用一个
总经理用一个
你数数你有多少个部门
其实四千多个挺不够用的了
当然在虚拟化的环境里
它也有它的问题
就是说这个(05:35)
是不够用的
因为一个大型的数据中心
里边可能有
超过四千多个VLAN
你想一个大型数据中心里头
有十万台机器
比如说给十万
二十万个用户来用
那么每个用户
都需要一个VLAN
这个VLAN ID就不够了
这是VLAN的一个主要的劣势
但是VLAN的优势在于
它这个东西支持广泛
并且它是一个纯二层的协议
绝大部分的交换机里头
哪怕是很低端的交换机
它也支持这种VLAN
所以硬件成本是非常低的
但是在虚拟化环境里头
我们需要更多的VLAN
那怎么办
有人说咱们把它改成
48个bit的包头
那种东西其实
它涉及到所有的网络硬件来改
所以网络这种东西
是比较麻烦的
它改造任何的东西
都是很难的
因为它的硬件标准
生产出来它为了互相兼容
它已经都部署在上头了
所以增加VLAN ID的长度
它本身不是一个好的解决方案
所以现在有人提出了
一种新的标准叫VXLAN
VXLAN它的目的
是跟VLAN是一样的
就是说我们要把
广播域给区分开了
让它把它二层网络
切成不同的二层网络
但是它说
我们能支持更多的VLAN ID
24个bit 那怎么办
我们不能加在里头
所以这是原来的二层网络包
(06:52)的包
那么我把原来的包
再包在一个三层的包里头
所以它在外头
整体的包了一个是封装的包
它是打在一个隧道里
所以这种东西在网络里
叫做隧道
它实际上把原来的包当作数据
包在一个新的包里头
这个新的包
当然我可以定义了
它是一个三层的包
它里头有IP地址什么的
然后它最后有一块
这是VXLAN的ID 24位
24位就是4096×4096个了
大家觉得这个可能是够用了
然后所以它的广播怎么实现
它的广播是通过IP组播来实现的
那么我想广播到一个VXLAN
那么这个交换机
就会看这个VXLAN ID
那么它就觉得
这个东西它应该广播到
哪几个IP地址
它是这样实现的
但是在机器上看起来
它只看见里头
这个隧道是网络负责打上的
所以打包和解包的过程
都是机器
一个主机把包送到了
最底层的交换机
这个交换机负责帮它打上的
所以这种交换机
就叫做VTEP
Virtual Tunnel End Points
所以它VXLAN
必须有一个能支持
解包和打包的这么一个(07:58)
这么一个端点
VXLAN现在也是一个
比较流行的协议
但是具体的
不是所有的交换机都支持
但是具体的部署
都在慢慢地实现之中
-授课视频
--什么是大数据
--大数据典型应用
--大数据的特点
--大数据技术体系
--大数据生态系统
--大数据技术挑战
--课程内容
-1. 绪论--Quiz 1
-授课视频
--2.2并行化理念
--2.9计算虚拟化
-2.云计算--Quiz 2
-授课视频
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-3.文件存储--Quiz3
-授课视频
--4.13类似框架
--4.14章节总结
-4. 处理框架--Quiz4
-授课视频
-5.内存计算--Quiz5
-授课视频
--数据副本及一致性
--节点本地数据存储
-6. NoSQL--Quiz6
-授课视屏
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-7. 流计算--Quiz7