虚拟化网络之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实现网络虚拟化
一 云计算时代数据中心物理网络的问题 数据中心虚拟化成为了趋势,最典型的场景莫过于:对数据中心的服务器进行虚拟化,来提高资源利用率,同时降低单位能耗. 但是,随着数据中心虚拟化程度的不断提高.虚拟化服 ...
随机推荐
- 【重点突破】——Canvas技术绘制音乐播放器界面
一.引言 在用Canvas练习制作了验证码之后,还有一个用Canvas技术很综合的练习——制作音乐播放器.在做这个练习的过程中,还有一个重要的观察点,那就是理解Canvas的一大问题. 二.要求 点 ...
- js 中文校验并过滤掉中文
js中文校验并过滤掉中文 CreateTime--2017年9月6日09:10:19 Author:Marydon 思路: 1.判断字符串中是否包含中文: 2.存在中文时,过滤掉. 举例: var ...
- 如何让<input type="text" />中的文字居中
高(height)和行高(line-height)相等.不能用vertical-align
- ORA-01591错误的原因和处理方法
http://blog.csdn.net/tclcaojun/article/details/6777022错误代码:ORA-01591 错误原因:使用了分布式事务,造成这个问题的原因很多时候都是由于 ...
- WPF非UI线程中调用App.Current.MainWindow.Dispatcher提示其他线程拥有此对象,无权使用。
大家都知道在WPF中对非UI线程中要处理对UI有关的对象进行操作,一般需要使用委托的方式,代码基本就是下面的写法 App.Current.MainWindow.Dispatcher.Invoke(ne ...
- Nginx绑定多个域名的方法
nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里. 一.每个域名一个 ...
- Xenomai 3 POSIX
Xenomai 3在架构设计上确实优先Xenomai 2,至少对开发者来说,少维护了不少东西,看下面两张图就知道了 第一张图是Xenomai2的,第二张图是Xenomai3的,Xenomai3在内核中 ...
- 【Java】使用@Value @Reource或@Autowire依赖 (值) 注入时出现NPE的排查方法
首先想说明的是,@Value @Resource和@Autowire虽然都是用于依赖注入的Annotation,但是二者是有区别的. 1 Resource不依赖于Spring,后者相反,因此为了减少以 ...
- Delphi列表控件TListView定位到某一行。
ListView1.Item[100].Focused = true; //定位到索引为100的行ListView1.Item[100].Selected = true; ListView1.Item ...
- VI使用说明 (转)
vi使用方法(ZT) vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Lin ...