OpenDaylight 对流表操作的简单实验

本文档记录了一次使用OpenDaylight控制器进行流表操作的实验,目的是通过添加流表项阻止两个主机之间的ping通信。实验中,通过控制器向switch3发送两条流表项,匹配特定端口、源MAC和目的MAC,执行drop操作来实现目标。实验步骤包括查看初始流表、使用Yang UI和Postman添加流表、验证流表添加成功及验证主机间ping通信失败。
摘要由CSDN通过智能技术生成

实验目的:添加流表,使得两个host之间无法ping通,即host1 ping host6失败。

实现方法:由控制器向switch3 发一条流表,流表项中匹配域的入端口是3,源MAC是host1,目的MAC是host6。仅仅这一条流表项无法实现实验目的,因为分组还可以经由switch2到switch3发送给host6,所以还要再添加一条流表项,这条流表项的匹配域与上一条唯一的改变就是入端口改为4。接着对所有匹配的数据包执行的action是drop。这里实现实验目的方法有很多种,该方法仅仅是练习流表的添加操作。

实验拓扑:自定义拓扑,由三个switch、六个host以及RemoteController构成。
拓扑图如下:
这里写图片描述

开始实验:

1)在一个虚拟机上运行ODL,在另一个装有mininet的虚拟机上运行拓扑脚本。保证各主机之间可以ping通,然后我们查看一下交换机(s3)中的流表。
这里写图片描述

查看交换机s3中的流表用命令:ovs-ofctl dump-flows s3

这里写图片描述

2)ODL下发流表,可以通过Yang UI也可以通过Postman实现。其中Postman安装以及操作网上有很多教程。那么我分别通过这两种方式展示流表的添加过程。

  • Yang UI 添加
    具体节点为:Yang UI—>API—>opendaylight-inventory—>config—>nodes—>node{id}—>table{id}—>flow{id}

这里写图片描述

这里写图片描述

这里注意要分别添加两条flow,id:1和id:2,填入正确的信息,选择PUT提交方式。

  • Postman添加
    with Json
    首先输入Headers:
    Content-type:application/json
    Accept:application/json
    Authorization:[方法如下]

这里写图片描述

第三项的Authorization中Username和password 默认都是admin,点击2处之后,第3处会自动生成一串密码字符。
在URL地址栏中输入如下命令:
http://[controllerIP]:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:3/flow-node-inventory

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值