专项技能训练五《云计算网络技术与应用》实训7-2:使用OpenDaylight界面下发流表

文章目录

    • 使用OpenDaylight的web界面下发流表
        • [1. 根据前面实训教程,启动并登录到opendaylight的web控制页面,并使用mininet](#1. 根据前面实训教程,启动并登录到opendaylight的web控制页面,并使用mininet)
        • [2. 单击左侧的"Nodes"查看节点信息。其中尤其需要关注Node Id,下发流表的时候会用到Node Id,如下图所示。](#2. 单击左侧的“Nodes”查看节点信息。其中尤其需要关注Node Id,下发流表的时候会用到Node Id,如下图所示。)
        • [3. 单击上图中的"Node Connectors"列的数据,可以查看具体节点连接信息,如下图所示。](#3. 单击上图中的“Node Connectors”列的数据,可以查看具体节点连接信息,如下图所示。)
        • [4. 选择左侧的"Yang UI",单击"Expand all"展开所有目录,查看各种模块,如下图所示。](#4. 选择左侧的“Yang UI”,单击“Expand all”展开所有目录,查看各种模块,如下图所示。)
        • [5. 展开"opendaylight-inventory rev.2013-08-19",选择"config ------> nodes ------> node{id} ------> table{id} ------> flow{id}",如下图所示。](#5. 展开“opendaylight-inventory rev.2013-08-19”,选择“config ——> nodes ——> node{id} ——> table{id} ——> flow{id}”,如下图所示。)
        • [6. 补全node id、table id和flow id的值。](#6. 补全node id、table id和flow id的值。)
        • [7. 单击flow list后面的"+",展开流表相关的参数。填写第一个框id,路径中的flow id也会随之同步,如下图所示。](#7. 单击flow list后面的“+”,展开流表相关的参数。填写第一个框id,路径中的flow id也会随之同步,如下图所示。)
        • [8. 展开"match ------> ethernet-match ------> ethernet -type",填写"type"为"0x0800",如下图所示。](#8. 展开“match ——> ethernet-match ——> ethernet -type”,填写“type”为“0x0800”,如下图所示。)
        • [9. 填写匹配参数,在"layer-3-match"后面的下拉框中选择"ipv4-match",使用IP匹配。](#9. 填写匹配参数,在“layer-3-match”后面的下拉框中选择“ipv4-match”,使用IP匹配。)
        • [10. 展开"layer-3-match",填写源IP地址和目的IP地址,如下图所示。](#10. 展开“layer-3-match”,填写源IP地址和目的IP地址,如下图所示。)
        • [11. 展开"instructions",并单击"instruction list"后面的"+",在"instruction"后面下拉框中选择"apply-actions-case",如下图所示。](#11. 展开“instructions”,并单击“instruction list”后面的“+”,在“instruction”后面下拉框中选择“apply-actions-case”,如下图所示。)
        • [12. 展开"apply-actions",单击"action list"后面的"+",在action后面的下拉框中选择"drop-action-case",action order和instruction order都设置为0,如下图所示。](#12. 展开“apply-actions”,单击“action list”后面的“+”,在action后面的下拉框中选择“drop-action-case”,action order和instruction order都设置为0,如下图所示。)
        • [13. 设置"priority"为27,"idle-timeout"为0,"hard-timeout"为0,"cookie"为100000000,"table_id"为0,如下图所示。](#13. 设置“priority”为27,“idle-timeout”为0,“hard-timeout”为0,“cookie”为100000000,“table_id”为0,如下图所示。)
        • [14. 向右滚动Actions栏,在路径后面有动作类型GET、PUT、POST、DELETE,下发流表则选择PUT动作,然后单击"Send",如下图所示。](#14. 向右滚动Actions栏,在路径后面有动作类型GET、PUT、POST、DELETE,下发流表则选择PUT动作,然后单击“Send”,如下图所示。)
        • [15. 如果下发成功会出现下面的提示,如果下发不成功则会弹出相应的错误信息。](#15. 如果下发成功会出现下面的提示,如果下发不成功则会弹出相应的错误信息。)
        • [16. 切换到交换机,执行如下命令查看流表,确保刚刚下发的流表已经下发到交换机。如下图所示。](#16. 切换到交换机,执行如下命令查看流表,确保刚刚下发的流表已经下发到交换机。如下图所示。)
        • [17. 登录主机1,执行如下命令向主机2、主机3发送数据包,测试主机间的连通性。](#17. 登录主机1,执行如下命令向主机2、主机3发送数据包,测试主机间的连通性。)

使用OpenDaylight的web界面下发流表

1. 根据前面实训教程,启动并登录到opendaylight的web控制页面,并使用mininet

安装OpenDayLight控制器: 点此查看

ryu控制器安装:点此查看

安装mininet:点此查看

2. 单击左侧的"Nodes"查看节点信息。其中尤其需要关注Node Id,下发流表的时候会用到Node Id,如下图所示。
3. 单击上图中的"Node Connectors"列的数据,可以查看具体节点连接信息,如下图所示。
4. 选择左侧的"Yang UI",单击"Expand all"展开所有目录,查看各种模块,如下图所示。
5. 展开"opendaylight-inventory rev.2013-08-19",选择"config ------> nodes ------> node{id} ------> table{id} ------> flow{id}",如下图所示。



6. 补全node id、table id和flow id的值。

其中node id参见之前查询到的Node Id。table id和flow id可以自定义。由于OpenFlow1.0协议只支持单流表,所以这里的table id设置为0,如下图所示。

7. 单击flow list后面的"+",展开流表相关的参数。填写第一个框id,路径中的flow id也会随之同步,如下图所示。
8. 展开"match ------> ethernet-match ------> ethernet -type",填写"type"为"0x0800",如下图所示。

说明:由于使用IP地址进行匹配,所以需要设置以太网协议类型。

9. 填写匹配参数,在"layer-3-match"后面的下拉框中选择"ipv4-match",使用IP匹配。
10. 展开"layer-3-match",填写源IP地址和目的IP地址,如下图所示。

其中源地址填写主机1的IP地址,目的地址填写主机2的IP地址。

11. 展开"instructions",并单击"instruction list"后面的"+",在"instruction"后面下拉框中选择"apply-actions-case",如下图所示。
12. 展开"apply-actions",单击"action list"后面的"+",在action后面的下拉框中选择"drop-action-case",action order和instruction order都设置为0,如下图所示。
13. 设置"priority"为27,"idle-timeout"为0,"hard-timeout"为0,"cookie"为100000000,"table_id"为0,如下图所示。

说明:priority设置的比已有流表项的高,而idle-timeout和hardtimeout都设置为0则代表该流表项永远不会过期,除非被删除。

14. 向右滚动Actions栏,在路径后面有动作类型GET、PUT、POST、DELETE,下发流表则选择PUT动作,然后单击"Send",如下图所示。
15. 如果下发成功会出现下面的提示,如果下发不成功则会弹出相应的错误信息。
16. 切换到交换机,执行如下命令查看流表,确保刚刚下发的流表已经下发到交换机。如下图所示。
bash 复制代码
ovs-ofctl dump-flows S5(交换机名字)
17. 登录主机1,执行如下命令向主机2、主机3发送数据包,测试主机间的连通性。
相关推荐
andxe5 小时前
安科士 AndXe 技术博客:400G QSFP112 SR4 光模块|AI 算力与超算短距互联最优方案
网络·人工智能·光模块·光通信
shiyi.十一6 小时前
第2章:应用层 — 知识要点与架构
网络·计算机网络·架构
DFT计算杂谈7 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
水境传感 李兆栋7 小时前
GNSS 位移监测站 :毫米级感知,筑牢安全监测防线
网络
中微极客8 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
REST_302711 小时前
告别Excel孤岛:一款任务链路可视化工具带来的真实改变
大数据·微服务·云计算·编辑器·excel·动态规划
在水一缸12 小时前
苹果AI国行版过审背后的技术架构深度解析:端侧模型与私有云计算的融合实践
人工智能·架构·云计算·技术架构·苹果ai·端侧模型·私有云计算
猿的天空12 小时前
机器人双手迎来全栈训练系统:灵初智能EgoSteer让灵巧手无所不能
网络·人工智能·计算机·ai·程序员·机器人·编程
Xzaveir_77713 小时前
OPPO、vivo、荣耀号码认证:多终端拨测矩阵与异常复现
大数据·网络·科技·矩阵·产品经理·ai-native
wuqingshun31415913 小时前
从网络角度来看,用户从输入网址到网页显示,期间发生了什么?
网络