虚拟化网络之OpenvSwitch
OpenvSwitch简称OVS,官网(http://openvswitch.org/) OVS是一个高质量、多层的虚拟交换软件,即虚拟交换机。
OpenvSwitch的见的相关组件:
ovs-vswitchd:实现switch的daemon功能,包括一个支持流交换的Linux内核模块,实现了交换功能
ovsdb-vswtich: openvswitch的数据库,给ovs-vswitchd提供运行配置信息,即保存了ovs-vswitchd的配置信息,例如vlan、port等信息
ovs-vsctl:查询和更新ovs-vswitchd的配置,即用于修改或查询ovsdb-vswitch的信息
还有些组件此处不做介绍
接下来我们来做一个实验,利用GRE通道搭建一个跨多宿主机的虚拟化网络,环境centos6.7 拓扑图如下

1)修改内核参数(一定要先修改内核参数,若果配置了网络名称空间在配置内核参数,内核参数将不会生效)
net.ipv4.ip_forward = 1 \\启用内核转发功能
net.ipv4.conf.default.rp_filter = 0 \\关闭路由验证
/etc/init.d/iptables stop \\关闭防火墙
setenforce 0 \\关闭Selinux
2)准备yum源
[openswitch]
name= openswitchbaseurl=https://repos.fedorapeople.org/openstack/EOL/openstack-icehouse/epel-6/enabled=1gpgcheck=064 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=2.66 ms64 bytes from 192.168.10.2: icmp_seq=1 ttl=64 time=1.52 ms[root@node3 ~]# ip netns exec B1 ping 192.168.10.1064 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=3.59 ms[root@node4 ~]# ip netns exec A2 ping 192.168.10.164 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=6.75 ms在node4宿主机上ping node3宿主机上的网络名称空间,在node3宿主机上抓包分析[root@node3 ~]# tcpdump -nn -i eth110:15:38.768203 IP 10.10.10.1 > 10.10.10.2: GREv0, length 56: STP 802.1d, Config, Flags [none], bridge-id 8000.a2:49:24:81:6e:46.8001, length 35[root@node3 ~]# ip netns exec A1 tcpdump -nn icmp -i a1.210:18:29.352487 IP 192.168.10.10 > 192.168.10.1: ICMP echo request, id 7211, seq 1, length 64
在node4宿主机上ping node3宿主机上的网络名称空间,在node3宿主机上抓包分析[root@node3 ~]# tcpdump -nn -i eth1虚拟化网络之OpenvSwitch的更多相关文章
- Docker 学习4 Docker容器虚拟化网络概述
一.docker 虚拟化网络概述 1.OVS: OpenVSwitch,不仅能模拟二层网络,还能模拟三层网络,或者VLAN,VXLAN,流控 SDN软件定义网络技术等. 2.overlay netwo ...
- Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- docker容器虚拟化网络
linux内核支持六种名称空间 1.主机名和域名 -------> UTS 2.用户 --------> User 3.文件挂载系统 -------> mount 4. ...
- 《重构网络:SDN架构与实现》Chapter7 SDN与网络虚拟化 随笔
参考: <重构网络:SDN架构与实现>,作者:杨泽卫.李呈. Chapter7 SDN与网络虚拟化 结构 7.1 网络虚拟化 7.1.1 为什么需要网络虚拟化技术 7.1.2 网络虚拟化 ...
- Neutron中的网络I/O虚拟化
为了提升网络I/O性能.虚拟化的网络I/O模型也在不断的演化: 1,全虚拟化网卡(emulation).如VMware中的E1000用来仿真intel 82545千兆网卡,它的功能更完备,如相比一些半 ...
- Windows Server 2012 虚拟化实战:网络(二)
关于Windows Server的虚拟化网络,前文描述了在操作系统层面上的出现的配置变化.其中的一些配置通过Windows Server提供的小工具即可实现,如网卡组的配置,而有些需要安装Window ...
- Windows Server 2012 虚拟化实战:网络(一)
虚拟化对于计算的抽象,大家可能相对熟悉,也许都有在单机使用诸如Virtual PC或者Virtual Box的经验.使用的这些虚拟化软件的第一印象就是我们的CPU可以同时运行多套不同的操作系统,并且其 ...
- KVM 网络虚拟化基础 - 每天5分钟玩转 OpenStack(9)
网络虚拟化是虚拟化技术中最复杂的部分,学习难度最大. 但因为网络是虚拟化中非常重要的资源,所以再硬的骨头也必须要把它啃下来. 为了让大家对虚拟化网络的复杂程度有一个直观的认识,请看下图 这是 Open ...
- 一:Neutron实现网络虚拟化
一 云计算时代数据中心物理网络的问题 数据中心虚拟化成为了趋势,最典型的场景莫过于:对数据中心的服务器进行虚拟化,来提高资源利用率,同时降低单位能耗. 但是,随着数据中心虚拟化程度的不断提高.虚拟化服 ...
随机推荐
- 2016.7.12 去除mybatis-generator生成的class里的注释
用mybatis-generator自动生成代码会出现很多没必要的注释. 在配置文件里加上: 是否去除所有自动生成的文件的时间戳: 是否去除所有自动生成文件的注释: <commentGe ...
- 简单实现接口自动化测试(基于python+unittest)
简单实现接口自动化测试(基于python+unittest) 简介 本文通过从Postman获取基本的接口测试Code简单的接口测试入手,一步步调整优化接口调用,以及增加基本的结果判断,讲解Pytho ...
- mbr 备份
MBR共512字节 (1) 第1-446字节:调用操作系统的机器码. (2) 第447-510字节:分区表(Partition table). (3) 第511-512字节:主引导记录签名(0x55和 ...
- 微软Azure公有云个人用户是否能支付得起?
个人建立自己的站点是普通"白领"的愿望.由于,我们的大脑分泌的脑汁须要排泄渠道.怎么办呢? 依据微软公有云的公开报价(Pricing),租用单核CPU.0.75GB内存,20GB硬 ...
- mysql启动參数(/etc/my.cnf)具体解释汇总
在linux以下的/etc/my.cnf的參数具体解释汇总 MYSQL–my.cnf配置中文具体解释 basedir = path 使用给定文件夹作为根文件夹(安装文件夹). character- ...
- GitFlow工作流常用操作流程
1. 主要分支介绍 1.1 master分支 主分支,产品的功能全部实现后,最终在master分支对外发布. 1.2 develop分支 开发分支,基于master分支克隆,产品的编码工作在此分支进行 ...
- LeetCode HashTable 30 Substring with Concatenation of All Words
You are given a string, s, and a list of words, words, that are all of the same length. Find all sta ...
- python实现区块链代码
如果你明白了原理其实挺简单的. 加密算法是python自带的 需要导入hashlib import hashlib as hash sha = hasher.sha256() sha.update(' ...
- Objective-C学习笔记(十九)——对象方法和类方法的相互调用
事实上在OC的对象方法(减号方法)和类方法(加号方法)并非相互独立的,它们也能够发生千丝万缕的关系,今天我们来研究下它们两者相互调用的问题.该样例还是以People类为基础. (一)对象方法调用类方法 ...
- 敏捷DoD完毕定义的多种形态
作者:张克强 作者微博:张克强-敏捷307 关于Definition of Done 完毕的定义 在以往的说法中,常见用 退出标准 , 完毕条件.成功标准,等等 在敏捷软件开发中,存在多级的不同 ...