OpenFlow协议】的更多相关文章

<实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全SDN工程师宋飞虎,将带来基于openflow协议的抓包分析. 一.什么是openflow协议 OpenFlow起源于斯坦福大学的Clean Slate项目组 ,使用类似于API进程配置网络交换机的协议.OpenFlow的思路很简单,网络设备维护一个FlowTable,并且只通过FlowTable对报文进行处理,FlowTable本身的生…
学习SDN相关的学习也已经有快半年了,期间从一无所知到懵懵懂懂,再到现在的有所熟悉,经历了许多,也走了不少弯路,其中,最为忌讳的便是,我在学习过程中,尚未搞明白OpenFlow协议的情况下,便开始对SDN进行相关操作,今天写这篇博客,一方面是为了巩固我以前所学的东西,另一方面,重新学习SDN相关的协议,以改正我之前的错误认知,当然,由于还是初学者,仍会存在一些错误的认识,欢迎各位留言指正. OpenFlow协议的思路,即使网络设备维护一个FlowTable,并且只通过FlowTable对报文进行…
最近学习如何使用mininet,但是,刚刚开始时一直无法知道如何查看OpenFlow协议的版本,通过查阅网上的资料,从SDNLAB中,学习到了如何验证,mininet自身基于OpenFlow13版本的查看. SDNLAB的链接可以从这里跳转阅读:http://www.sdnlab.com/5172.html 但是,在学习实验的过程中,我发现,现阶段的Mininet自带的控制器似乎已经可以支持OpenFlow13版本,并且按照SDNLAB的实验流程,给出如下的实验结果: 首先创建一个简单的网络拓扑…
OpenFlow是SDN控制器和交换之间交流的协议,在SDN领域有着十分重要的地位. OpenFlow协议发展到现在已经经过了1.0.1.3.1.4等版本.其中1.0和1.3版本使用的是最为广泛的. 本篇博文主要分析1.0版本和1.3版本OpenFLow协议在控制器和交换机之间的交互流程. OpenFlow1.0协议交互 OpenFlow协议1.0的交互过程如下: 交互过程: 交换机或控制器首先发送hello报文,确定openflow通信版本. 交换机或控制器收到hello报文之后,回复一个he…
http://www.h3c.com/cn/d_201811/1131080_30005_0.htm# 1 OpenFlow背景 转发和控制分离是SDN网络的本质特点之一 .在SDN网络架构中,控制平面与转发平面分离,网络的管理和状态在逻辑上集中到一起,底层的网络基础从应用中独立出来,由此,网络获得前所未有的可编程.可控制和自动化能力.这使用户可以很容易根据业务需求,建立高度可扩展的弹性网络.要实现SDN网络的转控分离架构,就需要在SDN控制器与数据转发层之间建立一个通信接口标准. 2008年,…
本文由SDN原理视频而成:SDN原理 流表 FlowTable --- OpenFlow的核心 问题3 流表项 Flow Entry 单流表(OpenFlow 1.0版本) -> 多流表(OpenFlow 1.3版本) 组成1(OpenFlow 1.0):Header Fields | Counters | Actions 不同版本的OpenFlow协议的流表项 不一样.OpenFlow 1.0版本包括了包头域,计数器,动作三个部分. 流表项包头域 --- 匹配 可以看出来,除了进接口,传统OS…
本文基于SDN原理视频而成:SDN原理 OpenFlow OpenFlow 协议 和 传统的路由选择协议 有很多相似的地方,同时在某些地方也具有一定的颠覆性. 路由表,由IP地址和子网掩码组成.MAC表,由MAC地址组成. 但是OpenFlow协议的流表,却什么都有. OpenFlow 相比传统路由协议来说,更大更广泛:是一种推倒重来的做法. 功能 OpenFlow 1.0 OpenFlow 1.3 及 更新的版本 相比1.0,1.3的OpenFlow交换机支持 多流表,多控制器,主表,计量表等…
功能 1.0版本Openflow:控制器通过Openflow协议与交换机建立了安全通道(Sceure Channel),下发流表. 1.3版本Openflow:多控制器,多流表. 用于实现Controller和Switch之间的通信过程,定义了一系列标准术语. 定义了Controller如何来控制Swithch以及Switch如何来反馈Ctroller. 定义了Controller和Switch通信过程的消息类型和格式. 版本 版本升级功能升级. 流表 相当于传统网络的路由表和CAM表. 传统网…
     软件定义X变得越来越火,正所谓,Software is eating the world. 软件定义网络也是如此.不论是在工业界还是学术界都将是一次伟大的革命,都在紧随着这个行业的方向,找自己的研究点,关注着标准化的进展. 各种Controller,原型系统都相继出现,还有的是是做SDN 的Debug,安全,总之让这个生态系统变得更加健壮.尽管南向接口标准非常多,可是openflow适合我们的学习,社区庞大. 以下记录下自己对这个的一点基本的看法.      1.首先要明白的就是,如同…
OpenFlow 交换机与控制器交互步骤 1. 利用Mininet仿真平台构建如下图所示的网络拓扑,配置主机h1和h2的IP地址(h1:10.0.0.1,h2:10.0.0.2),测试两台主机之间的网络连通性 miniedit.py设置 start CLI 支持OpenFlow 1.0 1.1 1.2 1.3 其他使用默认设置(Controller选择默认的openflow reference) 2. 利用Wireshark工具,捕获拓扑中交换机与控制器之间的通信数据,对OpenFlow协议类型…
一:OpenFlow协议概述 OpenFlow协议为控制器与交换机之间的通信,提供了一种开放标准的方式.OpenFlow交换机通过安全通道与控制器进行信息交互 二:OpenFlow消息类型 (一)controller-to-switch消息 1.Features消息 在建立传输安全会话时,控制器主动向交换机发送Feature_Request消息,请求交换机的特性信息,交换机通过Feature_Reply消息回复所支持的功能特性 2.Configuration消息 可以设置查询交换机的配置信息,交…
一.实验目的 回顾 JDK 安装配置,了解 OpenDaylight 控制的安装,以及 Mininet 如何连接: 通过抓包获取 OpenFlow 协议,验证 OpenFlow 协议和版本,了解协议内容. 二.实验任务 Mininet 生成拓扑连接 OpenDaylight,在 Mininet 上通过 ping 抓包验证 OpenFlow 1.3 协议 三.实验步骤 实验环境 安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机 实验过程 (1)安装 OpenDayligh…
一.实验目的 回顾 JDK 安装配置,了解 OpenDaylight 控制的安装,以及 Mininet 如何连接;通过抓包获取 OpenFlow 协议,验证 OpenFlow 协议和版本,了解协议内容. 二.实验任务 Mininet 生成拓扑连接 OpenDaylight,在 Mininet 上通过 ping 抓包验证 OpenFlow1.3 协议 三.实验步骤 实验环境 安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机 实验过程 (1)安装 OpenDaylight…
一.实验目的 回顾 JDK 安装配置,了解 OpenDaylight 控制的安装,以及 Mininet 如何连接:通过抓包获取 OpenFlow 协议,验证 OpenFlow 协议和版本,了解协议内容. 二.实验任务 Mininet 生成拓扑连接 OpenDaylight,在 Mininet 上通过 ping 抓包验证 OpenFlow 1.3 协议 三.实验步骤 1. 实验环境 安装了 Ubuntu 18.04.5 Desktop amd64 的虚拟机 2. 实验过程 1)安装 OpenDay…
OpenFlow协议分析实验手册 启动虚拟机mininet 和 控制器 ODL 启动wireshark,在控制器的ens32 网卡抓包 使用mininet创建简单拓扑,并连接控制器,指定交换机为ovsk,指定OpenFlow协议为1.3 # mn --controller=remote,ip=192.168.79.137,port=6633 --switch=ovsk,protocols=openflow13 这时候就会产生OpenFlow协议的数据包,我们进入wireshark查看 ovs交换…
Hybrid 交换系统(以下简称Hybrid 交换机)是交换机融合了OVS(Openflow vswitch)原生代码,集传统和Openflow 技术于一体的转发系统.主要解决纯Openflow 基于流表转发的SDN 网络场景,通常面临的四大问题: 管理链路和业务链路分开布线,导致运营成本高: 管理通道没有冗余保护,一旦出现链路故障,设备有脱管风险: 缺乏有效的检测机制,例如链路.丢包率.延时检测.单纯依靠控制器下发检测策略,会造成准确性.时效性差,且占用设备CPU 资源: 在交换机命令行下发和…
作业链接:实验3:OpenFlow协议分析实践 一.实验目的 能够运用 wireshark 对 OpenFlow 协议数据交互过程进行抓包: 能够借助包解析工具,分析与解释 OpenFlow协议的数据包交互过程与机制. 二.实验环境 下载虚拟机软件Oracle VisualBox: 在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet: 三.实验要求 (一)基本要求 1.搭建下图所示拓扑,完成相关 IP 配置,并实现主机与主机之间的 IP 通信.用抓包软件…
实验 5 :OpenFlow 协议分析和 OpenDaylight 安装 一.实验目的 回顾 JDK 安装配置,了解 OpenDaylight 控制的安装,以及 Mininet 如何连接: 通过抓包获取 OpenFlow 协议,验证 OpenFlow 协议和版本,了解协议内容. 二.实验任务 Mininet 生成拓扑连接 OpenDaylight,在 Mininet 上通过 ping 抓包验证 OpenFlow1.3 协议 三.实验步骤 1. 实验环境 安装了 Ubuntu 18.04.5 De…
通道 Channel 在前面的OpenFlow的内容中,我们提到了在交换层所采用的流表是控制层的Controller下发的,那么Controller是如何下发流表的呢?中间经过了哪些的流程和步骤?控制器和交换机的会话是如何建立的? 这就是我们今天要介绍的内容,Channel. 连接建立 Hello包会定期的交换,其中最核心的就是OpenFlow的版本号. Hello1:Switch -> Controller 你支持版本1.3吗? Hello2:Controller -> Switch 我支持…
问题4:流表匹配 OF1.1版本 这是OF1.1版本的操作,引入了多流表,1.0版本并没有多流表. 多流表的匹配称为 流水线处理:交换机从流表0开始查找,按照流表序号从小到大匹配. 每个包按照优先级去匹配流表中的表项,优先级高的先进行匹配:一旦匹配成功则刷新计数器和执行动作,倘若没有找到匹配的表项则转发给控制器. OF1.3版本及之后版本 关键词:叠加执行 OF1.3版本的流表匹配相比OF1.1版本,改变了很多: (1)当匹配到流表项的时候,首先更新计数器,然后查看指令集(之前有提过,指令是从动…
写在前面 这段时间一直在研究如何提高流表空间的利用率.一直没能想到好的idea.有一篇文献中比较了现有研究中提到的手段,在这里记录一下都有哪些类型的手段以及这些手段存在的不足.这些手段不仅局限于如何提高流表空间的利用率,更把范围拓展至如何提高交换机流表的匹配成功率. 背景 软件定义网络(Software Defined Network,SDN)作为一种新的架构,利用分层的思想将控制平面和数据平面分离,为网络的部署和配置提供了极大的灵活性和可扩展性. 然而当前的SDN网络只能对L2-L4层的信息进…
通过这几天对openvswitch代码的分析,以及项目的须要,须要对openflow 1.0进行一定的扩展,发现网上没有这方面的教程,尽管在搞懂ovs代码架构,floodlight controller中利用的事件驱动模型之后,会认为并非难事,可是对于刚入门SDN的同学来说,须要一番折腾,这里简单记录一下,希望帮助到其它人. 环境配置:2host + 1 OVS + floodlight 软件版本号: openvswitch 1.9.0 , floodlight0.85 在尝试对ovs中的ope…
在使用wireshark对OpenFlow交换机与FlowVisor的通信过程进行抓包分析的时候,在其选项中有openflow_v1选项,但Wireshark竟无法解析OpenFlow协议. 在查阅相关资料后,发现Wireshark是根据tcp的特定端口做协议解析的,有两个特定的端口是可行的,一个是6633,另一个是6653. 使用: $ vim /etc/flowvisor/config.json 修改FlowVisor端口即可. 2017.8…
这应该算是我在博客园的第一篇技术性的文章. OH,不,这不是一篇技术性的文章,只是一篇很好玩的浅显分析接触到的技术的文章.只是个人的理解,并没有任何的代码和执行的操作.初次带来的,是从08年开始火起来的OpenFlow技术,希望对大家有所帮助,同时对文章中出现的一些错误的概念和理解,希望大家能提出宝贵的意见. 众所周知,计算机的快速发展无异于网络的出现,使得本来高高早上的计算机走进了千家万户.但是,网络这一概念刚刚提出来的时候,谁又能想到它会有现在这样宏大二不可或缺的地位呢? 这是当时提出互联网…
☞Openflow消息总共分为三大类:   1.Controller‐to‐Switch        控制器至交换机消息此类消息由控制器主动发出  Features 用来获取交换机特性  Configuration 用来配置Openflow交换机  Modify‐State 用来修改交换机状态(修改流表)  Read‐Stats 用来读取交换机状态  Send‐Packet 用来发送数据包  Barrier 阻塞消息 2.Asynchronous 异步消息此类消息由交换机主动发出…
SDN领域,OpenFLow现在已经成为了广泛使用的南向接口协议.若想好好学习SDN,在这个领域有所进步,需要熟悉OpenFlow协议.我最近找了篇有关OpenFLow的论文,发现最早该协议是在Sigcomm2008中的一篇论文<OpenFlow:Enabling innovation in Campus Networks>,作者之一是SDN领域创始人之一的Nick McKeown.现在我写下一些学习笔)记: 1. 最早该协议是作用于校园网建设,现在已经成为较为通用的SDN南向协议.至于网络的…
Open vSwitch(下面简称为 OVS)是由 Nicira Networks 主导的,运行在虚拟化平台(例如 KVM,Xen)上的虚拟交换机.在虚拟化平台上,OVS 可以为动态变化的端点提供 2 层交换功能,很好的控制虚拟网络中的访问策略.网络隔离.流量监控等等. OVS 遵循 Apache 2.0 许可证, 能同时支持多种标准的管理接口和协议.OVS 也提供了对 OpenFlow 协议的支持,用户可以使用任何支持 OpenFlow 协议的控制器对 OVS 进行远程管理控制. Open v…
OpenFlow协议定义了交换机和控制器交换数据的方式和规范,但并没有定义如何配置和管理必需的网络参数和网络资源,OF-CONFIG的提出就是为了对OpenFlow提供配置管理支持.如下图所示,OF-CONFIG在OpenFlow原来的框架上,新增了OpenFlow配置点对交换机进行配置和管理. (图摘自<SDN核心技术剖析和实战指南>) OF-CONFIG对一些交换机的基本功能进行了配置,如控制器的IP地址,设备的队列与端口等资源以及支持远程修改设备的端口状态等.另外,还有其他一些可配置的参…
一.设备OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source (与网上之前的资料相比.没有安装openvswitch-brcompat,提示没有这个包.笔者眼下的使用来看没有问题,可能是linux内核或OVS版本号变化造成的.不再须要安装?) 二.配置OVS虚拟OpenFlow交换机 1.新建一个桥(交换机),命名为s1:  sudo ovs-vsctl add…
先粗略介绍,后续会逐渐完善. OpenFlow交换机通过使用OpenFlow协议的安全通道与控制器进行通信.其具体实现如下示意图所示: 对于一个新到达的数据流,交换机通常的做法是,把该数据包发送给控制器,由控制器来决定数据包的下一步操作.至于已存在的,则会直接根据原有的发送路径,发往目的点. 根据上图,在实际中,交换机内部通常由两个表,一个是组表还有一个就是流表,组表目前只是初涉猎,暂不解释,后续补充.流表是由流条目构成,在交换机中,可以有许多流表,其结构可以抽象为下图: 也就是说,每个流表是由…