ovs之组网实验
介绍
本示例将创建两个OVS实例和两个主机,其中每个OVS上接入一个主机,OVS实例之间有链路连接,形成一个链状拓扑,如图。在OVS组网完成之后,再通过手动方式添加流表,实现网络通信,从而验证实验可行性。具体步骤如下。

创建交换机
root@mininet:~# ovs-vsctl add-br s1
root@mininet:~# ovs-vsctl add-br s2
添加端口
root@mininet:~# ovs-vsctl add-port s1 p1 #在交换机s1上添加port设置
root@mininet:~# ovs-vsctl set Interface p1 ofport_request=10
root@mininet:~# ovs-vsctl set Interface p1 type=internal
同理,创建交换机sl上的端口p2,s2上的端口p3、p4。
root@mininet:~# ovs-vsctl add-port s1 p2
root@mininet:~# ovs-vsctl set Interface p2 ofport_request=11
root@mininet:~# ovs-vsctl set Interface p2 type=internal
root@mininet:~# ovs-vsctl add-port s2 p3
root@mininet:~# ovs-vsctl set Interface p3 ofport_request=1
root@mininet:~# ovs-vsctl set Interface p3 type=internal
root@mininet:~# ovs-vsctl add-port s2 p4
root@mininet:~# ovs-vsctl set Interface p4 ofport_request=2
root@mininet:~# ovs-vsctl set Interface p4 type=internal
分别查看添加端口后的交换机

添加主机
为了不影响网络中已有地址发生冲突,需要创建Namespace作为实验的终端主机。创建主机之后,需要为其设置虚拟IP,最后将其连接到OVS的数据端口,完成主机接入工作。本实验中,我们创建了hl和h2两个虚拟主机,设置IP分别为192.168.10.10和192.168.10.11,并将这两个主机分别接入到两个OVS实例上。
root@mininet:~# ip link set p4 netns h2
root@mininet:~# ip netns exec h2 ip addr add 192.168.10.11/24 dev p4
root@mininet:~# ip netns exec h2 ifconfig p4 promisc up
root@mininet:~# ip link set p1 netns h1
root@mininet:~# ip netns exec h1 ip addr add 192.168.10.10/24 dev p1
root@mininet:~# ip netns exec h1 ifconfig p1 promisc up
创建交换机链路
首先,需要将对应的端口设置为patch类型
root@mininet:~# ovs-vsctl set interface p2 type=patch
root@mininet:~# ovs-vsctl set interface p3 type=patch
创建p2到p3的内部链路,命令如下
root@mininet:~# ovs-vsctl set interface p2 options:peer=p3
root@mininet:~# ovs-vsctl set interface p3 options:peer=p2
最后,还需要向交换机添加对应的流表项,将交换机sl从10端口进入的数据转发到11端口,反向同理,s2操作同s1,具体操作如下。
root@mininet:~# ovs-ofctl add-flow s1 "in_port=10,actions=output:11"
root@mininet:~# ovs-ofctl add-flow s1 "in_port=11,actions=output:10"
root@mininet:~# ovs-ofctl add-flow s2 "in_port=2,actions=output:1"
root@mininet:~# ovs-ofctl add-flow s2 "in_port=1,actions=output:2"
创建完成之后,查看流表

在Network Namespace h1环境下执行ping 192.168.10.11的操作

ovs命令 https://blog.csdn.net/rocson001/article/details/73163041
ovs之组网实验的更多相关文章
- IP组网实验(使用Cisco Packet Tracer路由器模拟软件)
最近计网课讲到了以太网,第二个计网实验就是IP组网实验.这个实验主要使用了netsim这个路由器模拟软件.怎奈mac上没有,于是用Cisco Packet Tracer进行了一次模拟(其实就是实验中的 ...
- H3C AR28-31路由器组网实验
接线图 可以发现PC1和PC2不在一个网段上,如果不靠路由器就不可能ping,所以要用路由器组网 接线步骤 串行线连接路由器1与路由器2 以太网线连路由器以太网口 与 交换机接口 计算机网线连交换机口 ...
- sdn测量论文简介
Prelude: Ensuring Inter-Domain Loop-Freedom in SDN-Enabled Networks 来源:APNet: The Asia-Pacific Works ...
- eNSP V100R002C00B500 Setup模拟CE6800
本人操作系统:Windows7 64 下载需要的安装包: eNSP V100R002C00B500 官网下载地址:点击这里 CE6800 官网下载地址:点击这里 USG6000V ...
- [原] 利用 OVS 建立 VxLAN 虚拟网络实验
OVS 配置 VxLAN HOST A ------------------------------------------ | zh-veth0(10.1.1.1) VM A | | ---|--- ...
- OVS + dpdk 安装与实验环境配置
***DPDK datapath的OVS的安装与实验环境配置 首先肯定是DPDK的安装 0:安装必要的工具 make gcc ...
- ovs flow 原理及实验
OpenFlow概述 在支持OpenFlow的交换机中包含了若干个Flow table,Flow table可以用来控制数据包的处理,交换机会执行与flow相匹配的表项中所罗列的动作. OpenFlo ...
- 实验报告8 AC+Fit AP组网通过三层网络注册(DHCP Option 43)
实验报告8 课程名称 无线网络与安全技术 实验名称 AC+Fit AP组网通过三层网络注册(DHCP Option 43) 姓名 学号 班级 实 验 目 的 [实验目的] 了解AC+Fit AP跨 ...
- 软件定义网络实验记录④--Open vSwitch 实验——Mininet 中使用 OVS 命令
一.实验目的 Mininet 安装之后,会连带安装 Open vSwitch,可以直接通过 Python 脚本调用 Open vSwitch 命令,从而直接控制 Open vSwitch,通过实验了解 ...
随机推荐
- IBGP默认的TTL值为255
结论: 1.IBGP默认的TTL值为255 组网图: 抓包内容: 1.在AR1和AR2之间抓包,只显示BGP包,显示内容如下:
- ionic3 导航的应用(页面跳转与参数传递)
about.html(跳转页面) <ion-content padding> <ion-list> <ion-item *ngFor="let he of co ...
- linux下编译opencv
1.安装cmake:sudo apt-get install cmake 2.下载opencv-2.4.10.zip,解压 3.编译opencv cd /home/opencv-2.4.10 mkdi ...
- Oracle database link中查询会开启事务吗?
关于oracle database link,使用database link相关的查询语句是否会开启事务呢?我们知道,在数据库中一个简单的SELECT查询语句不会产生事务(select for upd ...
- LeetCode算法题-Convert BST to Greater Tree(Java实现)
这是悦乐书的第255次更新,第268篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第122题(顺位题号是538).给定二进制搜索树(BST),将其转换为更大树,使原始BS ...
- .net 调用java service 代理类方法
通过Svcutil.exe 工具生成代理类调用 1.找到如下地址“C:\Windows\System32\cmd.exe” 命令行工具,右键以管理员身份运行(视系统是否为win7 而定) 2 ...
- 【转】JSON.parse() Unexpected token i in JSON at position 2 报错问题
JSON.parse(): Unexpected token i in JSON at position 2 报错问题 错误代码: var res = "[{id:1,name:'limin ...
- loadrunner脚本函数讲解
一. get请求和post请求区别:web_link(get).web_submit_form(post)依赖上下文,web_url.web_submit_data不依赖上下文,建议使用web_url ...
- display:inline-block,block,inline的区别与用法
一.首先要了解什么是块级元素与行级元素 块级元素 会占领页面的一行,其后多个block元素自动换行. 可以设置width,height,设置了width后同样也占领一行.同样也可以设置 margi ...
- Neutron flat network 学习
flat network 是不带 tag 的网络,要求宿主机的物理网卡直接与 linux bridge 连接,这意味着: 每个 flat network 都会独占一个物理网卡. 在 ML2 配置中 ...