当前课程知识点:大数据系统基础 > 2.云计算 > 授课视频 > 2.12软件定义网络实现
下面我们来举一个例子
来看一看
我们是如何利用软件定义网络
来实现网络的虚拟化的
这个例子是一个影响力很大的
一篇论文
叫做《Portland》
Portland的目的是实现了
一个大规模的虚拟的
一个二层网络
刚才我们也提到这个二层网络的
好处是比较灵活
因为任何的
你可以把机器叫任何的名字
任何的地址
任何的东西都是通过好来实现的
就是广播
我们喊一嗓子 说谁在
都是通过这样实现的
但是它面临的挑战是
一个是规模不能太大
你规模太大的话
一个是广播太复杂
再一个
如果你网络接的很大的话
里头有很多层的交换机
这里头有很多很多层交换机
每一个交换机实际上
你喊的时候
它都得记得到底往哪边走
所以没一个交换机
它的状态是非常多的
否则的话
你就是网络里头不停地喊
不停地喊
你每次喊的话
都会喊到每一个人
这时候整个网络的
光你这个来回来去问的
这种负担就非常的重
所以大型的
二层网络是很麻烦的
这个根源是什么
根源是 比如说你在网里头
它的那个MAC地址
是一个随机的数
这个数是大家为了
这个MAC地址不冲突
那么就是每个厂商
都生产了一系列的
都有一个固定的MAC地址段
所以它是根据那个设备来的
它并不是根据你网络的位置
或者是什么来的
所以它那个没有一个架构
所以你想知道一个MAC地址
在什么地方
你唯一的办法就是喊一嗓子
看它理不理你
所以你要想实现一个大型的
二层的虚拟网络的话
那么我们就必须要把
这个地址变成一种
它跟位置有关系的
你通过看这个地址
你大概知道它在网络里什么位置
然后你到那边去喊
你不用喊遍整个网络
但是在这种过程中
你又不能够改变它整个
二层网络的这个架构
意思就是说
它二层网络
它还是希望通过最后一步解析
它还是通过喊来解析的
它还是通过广播
它广播出来
你既要回答它这个广播
你又不能够真的实际地
广播这件事
那么这件事情怎么实现的
如果大家还记得
你探访的广播是通过一种
叫ARP的协议来实现的
那么它就是喊一嗓子
说谁有这个IP地址
然后那个有IP地址的那个人
就会回答它
所以这个东西我们不需要
改变这协议
它还是希望它感觉它自己还是在
一个二层网络里
那么这个主机想要知道
说另外一台主机
比如说说这台机器在什么地方
那么它照样喊
它说谁有这个
但这个交换机听见了
如果是传统的交换机
它不知道
因为这台交换机并没接在它这儿
它会广播出去
它会广播给每一个人
然后每一个人听见了之后
它会再广播出去
所以这样的话
你感觉的话
就是广播会整个广播到整个网络
直到这个人回答他为止
但是在这种情况下
你
就像刚才提到的
你整个网络的带宽的压力
就全部变成为广播了
所以这个Portland说
我这里有一个controller
这交换机听到这广播包了
它很聪明
它说我不广播
我去问这个
controller在什么地方
那么controller的话
它也不会记得每台机器
在什么地方
因为这每台机器太多了
所以它会把这个地址
这个目的地址换成一个
和物理位置相关的这么一个地址
然后它再转发数据包
这样如果它一个目的地址
跟它相关的话
那么它
因为比如说这一组机器
什么叫相关
比如这一组机器
它都是0 1开头的
这一组机器都是0 0开头的
这一组机器都是0 2开头的
所以它一看到这个开头
它说我往这边广播
所以它就会
这个controller就会告诉它
你不要广播到其他机器
你就到这台机器就行了
那到这台机器怎么走
你从这儿这么走过来就行了
然后这台机器会到下边
去继续广播
所以在这种情况下
我们实际上限制了这个广播域
但是还是给了
最开始准备解析地址的这台机器
一个灵活性
跟它说我有可能 我还是在广播
然后最后还是有人回答我
它给它一种错觉是
它还是在一个大的二层网络里
我喊一嗓子
谁都能听见
但是实际上它喊的那一嗓子
是只有需要听见这一嗓子的人
这一小部分听到了
这种东西也是一种虚拟化的过程
它感觉的是一种虚拟的二层网络
因为它觉得它能广播
但实际上它并没有
这个东西是通过
软件定义网络来实现的
在我们结束
对网络虚拟化的讨论之前
我们想回过头来看一下
虚拟网络是怎么跟服务器的
虚拟化相结合的
那么服务器的虚拟化
当然就是一些虚拟机
这每一个有序的虚拟机
但虚拟机可以绑定一个
虚拟的网络
即使两个虚拟机在同一个主机上
它也可以完全有两个不同的
虚拟网络
这是怎么实现的
实际上现在比较流行的
一种实现方面叫做OPEN VSWITCH
OPEN VSWITCH是一个开源的软件
它是在一个(04:53)机器上
实现了一个虚拟的交换机
这个交换机它提供了
很多虚拟的端口
一方面它提供了一系列的
这种叫做tap的这种网络接口
这种接口它是每一个虚拟机
对应的这样的一个接口
这个接口在虚拟机里头
看起来像一个网卡的接口
另一方面它提供了一个网桥
这个网桥
它把这些虚拟的接口
和物理机器上的几个物理的网口
桥接在了一起
所以它可以控制每台虚拟机
出去的每一个口
从哪个物理网口出去
这个实际上是一台虚拟的
交换机的接口
这个虚拟的交换机的
一个重大的特点就是说
它和物理交换机的逻辑和接口
是一模一样的
它也提供VLAN
它也提供隧道
它也提供VxLAN
甚至于它也提供像Openflow
这样的软件定义网络的接口
这时候用户如果你用
Openflow这样的软件定义网络
或者你用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