作者简介:徐小冰:毕业于河北大学,主要从事嵌入式软件开发,虚拟化,SDN。目前基于ODL和Open vSwitch进行二次开发,希望与广大网友一起探讨学习。作者系OpenDaylihgt群(194240432)资深活跃用户,@IT难人
虽然在去年研究过OpenvSwitch(ovs)源码,但是真正玩ovs还是最近这两个多月。为了记录学习历程(呕心沥血),为了后者少陷入深坑(无底洞),特地总结一下。本篇主要是介绍以下两个方向:跨子网流表和vlan操作。
一、跨子网流表
虽然网络上有很多关于如何下发流表,如何把多个主机互联的文章,但是关于跨子网多主机互联的场景,却是凤毛菱角啊,我们要玩就模拟真实网络,对于简单网络没有任何意义。
在研究跨子网应该如何下发流表,这边博客受益匪浅http://hwchiu.logdown.com/posts/203260-mininet-and-network-subnet(台湾同胞),下面进入正题
网络topo环境
组网介绍:
1)以上环境均在一台机器上,这台机器有多个物理网卡。
2)两个虚拟机交换机:brA和brB
Mac地址自动生成,ip地址手动配上。为什么要给他们配上ip地址呢?虚拟交换机作为三层转发工能,换句话说就是交换机当网关路由器用。
3)四台kvm虚拟机:a1,a2,b1,b2
网上有很多例子都是基于mininet,这种组网虽然很方便,但也有很多缺陷和不足,所以一开始定位就是要搞真实网络环境。虚拟机ip地址、mac地址手动配置好。
4)交换机互联
使用其中两个网卡:em3、em4,分别加入到brA,brB中,并且将em3和em4用网线连接。如果没有多余网卡,可以采用patch方式连接,可以参考:http://blog.csdn.net/qiqishuang/article/details/51546673
1、创建topo
下面是操作命令行:
1)创建网桥
Java
ovs-vsctladd-brbrA
ovs-vsctladd-brbrB
2)将物理网卡em3 em4 托管到网桥中
Java
ovs-vsctladd-portbrAem3
ovs-vsctladd-portbrBem4