网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大。
 
但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把他啃下来。为了让大家对虚拟化网络的复杂程度有一个只管的认识,请看下图:
 
 
这是 OpenStack 官网上给出计算节点(可以理解为KVM的宿主机)虚拟网络的逻辑图,上面的网络设备很多,层次也很复杂。
 
但也不要怕, 万丈高楼从地起,虚拟网络再复杂,也是有一些基础的组件构成的。只要我们将这些基础组件的概念和他们之间的逻辑关系搞清楚了,就能深刻理解虚拟网络的架构,那么云环境下的虚拟化网络也就不再话下了。
 
下面我们来学习网络虚拟化中最重要的两个东西  Linux Bridge 和 VLAN
 
Linux Bridge 基本概念
 
架设宿主机上有一块与外网连接的物理网卡 eth0 ,上面跑了一个虚机 VM1 ,现在有一个问题是:如何让VM1 能够访问外网?
 
至少有两种方案:
 
    1、将物理网卡 eth0 直接分配给 VM1 ,但随之带来的问题狠多,宿主机没有了网卡就无法访问了;新的虚机比如VM2 也没有网卡可用
 
    2、给VM1 分配一个虚拟的网卡 vnet0 ,通过Linux Bridge br0 将 eth0 和 vnet0 连接起来,如下图:
 
 
 
Linux Bridge 是Linux上用来做 TCP/IP 二层协议交换的设备,其功能大家可以简单理解为一个二层交换机或者 Hub 。多个网络设备可以连接到同一个Linux Bridge,当某个设备收到数据包时,Linux Bridge 会将数据转发给其他设备。
 
在上面的例子中,当有数据到达 eth0 时,br0 会将数据转发给 vnet0 , 这样 VM1就能接受来自外网的数据;反过来,VM1发送数据给vnet0,br0 也会将数据转发到eth0 ,从而实现了 VM1 与外网的通信。
 
现在我们增加一个 VM2 如下图所示。
 
 
VM2 的虚拟网卡vnet1 也连接到了br0 上,现在 VM1 和 VM2 之间可以通信,同时 VM1 和 VM2 也都可以与外网通信。
 
 

O009、KVM 网络虚拟化基础的更多相关文章

  1. KVM 网络虚拟化基础 - 每天5分钟玩转 OpenStack(9)

    网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 Open ...

  2. KVM 网络虚拟化基础

    网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 Open ...

  3. kvm网络虚拟化

    网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 Open ...

  4. kvm网络虚拟化(vlan,bond,vlan+bond)(3)

    一.Linux Bridge网桥管理 网络虚拟化是虚拟化技术中最复杂的部分,也是非常重要的资源. VM2 的虚拟网卡 vnet1 也连接到了 br0 上. 现在 VM1 和 VM2 之间可以通信,同时 ...

  5. Kvm --01 虚拟化基础概念

    目录 1. 虚拟化基础概念 01. 什么是虚拟化? 02. 为什么要用虚拟化? 03. 虚拟化在企业中的应用场景? 04. 虚拟化软件介绍 05. Kvm介绍 2. 安装部署Kvm 3. Kvm虚拟机 ...

  6. 网络虚拟化基础协议之Geneve

    网络虚拟化最基础的技术莫过于分层(Overlay.Underlay),要实现分层有两种手段.一个是映射(Mapping),一个是封装(Encapsulation). 映射,主要思路是转发时替换报文语义 ...

  7. 网络虚拟化基础协议·Geneve

    [分层] 要实现网络虚拟化,最基础的技术肯定是分层(OverLay & UnderLay). ·UnderLay 中文释义中,老房子漏雨,在房子里面撑一把大雨伞,这把大雨伞就是UnderLay ...

  8. 网络虚拟化基础一:linux名称空间Namespaces

    一 介绍 如果把linux操作系统比作一个大房子,那命名空间指的就是这个房子中的一个个房间,住在每个房间里的人都自以为独享了整个房子的资源,但其实大家仅仅只是在共享的基础之上互相隔离,共享指的是共享全 ...

  9. kvm网络虚拟化管理

    1. Linux Bridge网桥管理 一个网桥上添加多个虚拟机,虚拟机之间是可以相互通信的的,同时虚拟机也都可以通外网. kvm的网桥管理可以通过brctl命令 [root@localhost ~] ...

随机推荐

  1. LeetCode 81. 搜索旋转排序数组 II(Search in Rotated Sorted Array II)

    题目描述 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,0,1,2,2,5,6] 可能变为 [2,5,6,0,0,1,2] ). 编写一个函数来判断给定的目标值是否存在 ...

  2. SpringMVC @ResponseBody返回中文乱码

    SpringMVC的@ResponseBody返回中文乱码的原因是SpringMVC默认处理的字符集是ISO-8859-1, 在Spring的org.springframework.http.conv ...

  3. 五、Jmeter中提取JSON响应中数组的长度

    json响应如下: { "code":0, "data":{ "data":[ { "amount":50000, &q ...

  4. ubuntu 18.04 64bit下如何安装安卓虚拟机anbox?

    一. 安装snapd sudo apt-get install snapd 二. 安装adb sudo apt-get install adb 三. 安装必要的内核模块 wget https://la ...

  5. 数据库开源框架之ormlite

    主页: http://ormlite.com/ 配置: 添加以下依赖 * compile 'com.j256.ormlite:ormlite-android:4.48' * compile 'com. ...

  6. 阶段3 3.SpringMVC·_07.SSM整合案例_03ssm整合之编写Spring框架

    做整合要保证每个框架单独使用 先搭建Spring的框架,然后再整合别的框架.Spring是业务层的框架 spring的配置文件 这就表示是spring的配置文件 默认的约束不够,需要修改. <b ...

  7. 2单表CRUD综合样例开发教程

    东软集团股份有限公司 基础软件事业部 单表CRUD综合样例开发教程 东软机密 tui 更改履历 版本号 更改时间 更改的 图表和章节号 状态 更改简要描述 更改申 请编号 更改人 批准人 V1.0 2 ...

  8. 利用fiddler+nginx模拟流量识别与转发

    最近看到一些关于全链路压测的文章,全链路压测主要处理以下问题: 数据清洗压测流量标记,识别 压测流量标记的传递测试数据与线上数据隔离等等... 要实现全链路压测,必然要对原有的业务系统进行升级,要怎么 ...

  9. python-爬虫-bs4-BeautifulSoup

    代码的使用流程: 核心思想:将html文档转换成Beautiful对象,然后调用该对象中的 属性和方法进行html文档指定内容的定位查找. 1 导包:from bs4 import Beautiful ...

  10. 调用redis封装好的JedisUtils接口实现锁库

    1.在进行数据库操作的方法前先定义一个key值,并添加一个能区别每个key的标识 2.首先判断如果定义的key值存在的话,就直接return方法,如果不存在的话,就把key值放在jedisutil中, ...