首页 > 其他分享 >实验3:OpenFlow协议分析实践

实验3:OpenFlow协议分析实践

时间:2022-11-13 23:56:57浏览次数:52  
标签:控制器 表项 OpenFlow 端口 实践 53406 交换机 实验 数据包

(一)基本要求
搭建下图所示拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信。用抓包软件获取控制器与交换机之间的通信数据。


查看抓包结果,分析OpenFlow协议中交换机与控制器的消息交互过程,画出相关交互图或流程图。

Hello
控制器6633端口(我最高能支持OpenFlow 1.0) ---> 交换机53406端口

交换机53406端口(我最高能支持OpenFlow 1.0) ---> 控制器6633端口

Features Request
控制器6633端口(我需要你的特征信息) ---> 交换机53406端口

Set Conig
控制器6633端口(请按照我给你的flag和max bytes of packet进行配置) ---> 交换机53406端口

Port Status
当交换机端口发生变化时,告知控制器相应的端口状态。

Features Reply
Features Reply消息包括Openflow Header 和Features Reply Message
交换机53406端口(这是我的特征信息,请查收) ---> 控制器6633端口

Packet in
有两种情况会触发交换机向控制器发送 Packet-in 消息:
当交换机收到一个数据包后,查找流表。如果流表中有匹配条目,则交换机按照流表所指示的 action 列表处理数据包。如果没有,则交换机将数据包封装在 Packet-in 消息中发送给控制器处理,注意这时候数据包仍然会被放进缓冲区等待处理而不是被丢弃。
数据包在流表中有匹配的条目,但是其中所指示的 action 列表中包含转发给控制器的动作(Output = CONTROLLER),注意这时候数据包不会被放进缓冲区。
交换机53406端口(有数据包进来,请指示)--- 控制器6633端口

Packet out
不是所有的数据包都需要向交换机中添加一条流表项来匹配处理,网络中有些数据包出现的数量很少(如ARP、 IGMP等),没必要通过流表项来指定这一类数据包的处理方法。此时可使用 Packet-Out 消息,告诉交换机某一个数据包如何处理。
控制器6633端口(请按照我给你的action进行处理) ---> 交换机53406端口

Flow mod
控制器收到 Packet‐in 消息后,可以发送 Flow‐Mod 消息向交换机写一个流表项。并且将 Flow‐Mod 消息中的 buffer_id 字段设置为 Packet‐in 消息中的 buffer_id 值。从而控制器向交换机写入了一条与数据包相关的流表项,并且指定该数据包按照此流表项的 action 列表处理。
Flow-Mod 消息共有五种类型:
ADD,用来添加一条新的流表项
DELETE,用来删除所有符合一定条件的流表项
DELETE-STRICT,用来删除某一条指定的流表项
MODIFY,用来修改所有符合一定条件的流表项
MODIFY-STRICT,用来修改某一条指定的流表项
以上五种类型对应的数值分别为0-4
控制器通过6633端口向交换机53406端口下发流表项,指导数据的转发处理


OpenFlow协议中交换机与控制器的消息交互过程,画出相关交互图或流程图

交换机与控制器建立通信时是使用TCP协议还是UDP协议?
使用的是TCP协议,如下图

标签:控制器,表项,OpenFlow,端口,实践,53406,交换机,实验,数据包
From: https://www.cnblogs.com/jzl-/p/16885312.html

相关文章

  • 223201062520-软件工程基础Y- 实验一 朱旭个人项目报告
    沈阳航空航天大学软件工程基础实验报告实验名称:实验一实验题目:个人项目专业软件工程学号223201062520姓名朱旭指导教师孟桂英成绩完成......
  • 实验三:朴素贝叶斯算法实验
    实验三:朴素贝叶斯算法实验 【实验目的】理解朴素贝叶斯算法原理,掌握朴素贝叶斯算法框架。【实验内容】针对下表中的数据,编写python程序实现朴素贝叶斯算法(不使用......
  • 实验3:朴素贝叶斯算法实验
    importnumpyasnpimportpandasaspddata_list=[['青绿','蜷缩','浊响','清晰','凹陷','碍滑','YES'],['乌黑','蜷缩','沉闷','清晰',......
  • 实验二朱旭
    (1)本人角色本人在在这次实验结对项目中所担任领航员我的结对伙伴是赵凯,学号:223201062520(2)本次的程序任务和要求如上图所示,需要有4部电梯同时运行,每部电梯都有自己的限制且被......
  • 第1节 2020.05.13 智能互联网之关键系统实践篇【一】
                                                   ......
  • 【Unity项目实践】FPS项目复盘及关键技术要点
    概述之前做过一个小型的FPS项目,基本实现了以下这些功能点:人物移动:前进后退、鼠标调整视角、右键瞄准;模拟后坐力、初步处理武器穿模的问题。怪物生成:在地图上放置怪物生成点,......
  • 实验三:朴素贝叶斯算法实验
    实验三:朴素贝叶斯算法实验【实验目的】理解朴素贝叶斯算法原理,掌握朴素贝叶斯算法框架。【实验内容】针对下表中的数据,编写python程序实现朴素贝叶斯算法(不使用sklea......
  • 结对实验
    (1) 本人角色我在本次结对项目中担任驾驶员角色。结对伙伴杨宁为领航员。(1) 系统实现过程生成式子的功能:    先写好生成操作数和包含1~3个操作符的式子的四......
  • Prometheus实践
    一、下载安装Prometheus1.​下载地址:​​https://prometheus.io/download/​​2.解压缩后3.修改配置文件prometheus.yml如下global:scrape_interval:15s#Setthescra......
  • 实验三:朴素贝叶斯算法实验
    实验三:朴素贝叶斯算法实验 姓名许珂学号201613344 【实验目的】理解朴素贝叶斯算法原理,掌握朴素贝叶斯算法框架。【实验内容】针对下表中的数据,编写......