[学习笔记]OpenFlow概述(1)

article/2025/10/25 9:57:28

个人学习笔记,出问题请指出下。摘取《图解OpenFLow》 

 

Openflow协议是由斯坦福大学提出,最初的出发点是为了更加轻松地构建用于研究的网络。

  Openflow的初期设计思想:无需设计新的硬件,只对现有硬件更新其软件。因此,Openflow是以网络设备中内置了TCAM(Ternary  Content-Addressable  Memory)存储器为前提来设计的。

  这里讲下TCAM,TCAM是对每个位(bit)实施0、1和don’t care 三种匹配的三态电子器件,搭载该存储器的目的是在网络交换机中通过硬件高速处理子网掩码和访问访问控制列表。

  设计Openflow的初衷是无需更改已搭载TCAM的网络设备硬件,仅通过软件升级即可实现网络行为变更。Openflow是在考虑了能够一边应用现有架构,一边构建虚拟网络基础上设计出来的。

所谓OpenFlow,具体是指什么

  以往的L2交换机采用以太网地址和VLAN标签进行交换处理,而OpenFlow作为构建网络的标准规范,将各种数据包(或帧)持有的以太网地址、VLAN标签、IP地址、TCP\UDP端口号等特征作为“流”来处理,在此基础上进行交换并可以灵活设置路由的路径。

 

【图一.OpenFlow的网络构成】

 控制面和数据面的分离

从图1可以看出OpenFlow的典型特性,那就是将用于控制的网络和用于数据包发送的网络分离。我们分别将用于控制的网络称为“控制面”,将用于数据包发送的网络称为“数据面”。

传统的网络设备是控制面和数据面位于同一设备中。(example:运行IP协议的路由器,计算合适路由是控制面,根据计算结果转发数据包。)

在OpenFlow网络的构成要素方面,控制面部分为OpenFlow控制器,数据面部分为OpenFlow交换机。常用的“OpenFlow是集中控制模型”这一描述是源自OpenFlow的思想,即通过将控制面和数据面分离在不同的设备中,使OpenFlow控制器可同时控制多台OpenFlow交换机。

 

【图2.传统的控制面和数据面】

 

【图3.OpenFlow的控制面和数据面】

控制面的构建方式

  实现数据面的OpenFlow交换机,根据实现控制面的OpenFlow控制器的指令运行,为了传输指令,需要构建双方可通过TCP/IP进行通信的环境。具体而言,就是要在控制面的网络中,对OpenFlow交换机和OpenFlow控制器设置适当的IP地址和路径。

  在构建OpenFlow网络时,原则上需要将控制面和数据面作为不同的网络。如何实现“不同的网络”的不同的方式,但并非必须要构建另外的物理网络。例如覆盖(Overlay)方式,就是在将数据面构建为覆盖网络时,将网络构建中使用的既有网络直接用作控制面。此外,还可以用VLAN等对同一物理网络进行逻辑分割进行构建数据面和控制面。或利用能同时拥有数据面和控制面的“In-band控制通道”技术。分别构建物理网络用作控制面和数据面也是可以的。

(Overlay、vlan、In-band控制通道、构建物理网络)

数据面构建方法

  这里有三种方法:直接连接OpenFlow交换机的“Hop-by-Hop”方式、通过覆盖网络连接OpenFlow交换机的‘覆盖’方式、组合以上两种方式的“混合方式”

Hop-by-Hop方式

 OpenFlow交换机之间的数据面直接进行物理连接的方式就是Hop-by-Hop方式。该方式与接入其他设备的覆盖方式相比,具有能够进行高速处理,判断何处出现故障时的考虑因素较少等优点。

 

覆盖方式

 在难以直接连接各OpenFlow交换机的环境中,可采用覆盖方式导入OpenFlow。该方式采用IP通道等技术构建用于数据面的覆盖网络。

 

 

多如通过虚拟交换机实现OPenFlow交换机,将虚拟化环境作为覆盖的默认条件。各OpenFlow交换机通过用于控制面的网络连接OpenFlow控制器,数据包则使用各OpenFlow交换机连接的数据面发送。

Hop-by-Hop方式通常要求重新为数据面准备专用网络,而覆盖方式则具有同时使用现有网络和OpenFlow网络的优点。另外覆盖方式是以封装新的字段为前提,所以处理性能低于Hop-by-Hop方式,MTU相对可用变小。

混合方式

就是两种方式都用(计算机,我的端水大师OAO ),根据具体使用环境两者都用也很正常。

OpenFlow控制器和OpenFlow通道

 OpenFlow是一种集中控制模型,由名为OpenFlow控制器的服务器对OpenFlow网络中的OpeNFlow交换机的转发表进行设置。OpenFlow控制器和OpenFlow交换机维持着由OpenFlow通道的TCP连接。这是为了让OpenFlow控制器能够监视OpenFlow交换机的状态,并确保能根据需要发出指令等。

   OpenFlow的构成要素:OpenFlow控制器、OpenFlow交换机、OpenFlow通道、交换机中的流表。

  在OpenFlow中,由OpenFlow控制器对整个OpenFlow网络进行集中管理,而不是对OpenFlow交换机的所有动作逐一发出指令。OpenFlow控制器事先设置“何种情况应如何处理”,并将该设置发送至OpenFlow交换机中,OpenFlow交换机则执行该设置(个人感觉就是发送个条件执行表)。在OpenFlow交换机中,表示“何种情况应如何处理”的就是“流表”。

 

OpenFlow的设置根据放出“何种情况应如何处理”这一指令的时机大致可以分为两种模式:“Proaction模式”和“Reaction模式”(这两个简单讲一个是预先设置,一个是应对突发的这种感觉。)

流表

  在OpenFlow交换机中,流表负责描述何种数据包要进行何种处理等设置信息,以及执行这些处理的次数记录等记录。OpenFlow交换机可拥有多个流表。

  流表中包含的项(流表项)分别对各流的行为本身进行定义。各流表可拥有多个流表项。在OpenFlow中,OpenFlow控制器通过再OpenFlow交换机中设置流表项来完成各种控制。流表项描述的是OpenFlow交换机如何处理各种数据包。例如可以根据Openflow交换机的物理端口、MAC地址、IP、TCP/UDP判断数据包转发到那个端口或者直接丢弃。在放送数据包之前还可以更改其首部。

个人心得:个人感觉OpenFlow特点是将数据面和控制面分开。OpenFlow感觉有点虚拟化的味道,我刚学见解不深。后面书本有些操作个人感觉可以更加智能维护网络并且完成一些以往难实现的操作。


http://chatgpt.dhexx.cn/article/FtliU7rr.shtml

相关文章

OpenFlow 协议详解(干货)

OpenFlow是一种新型的网络协议,它是控制器和交换机之间的标准协议。自2009年底发布1.0版本后,OpenFlow协议又经历了1.1、1.2、1.3及1.4版本的演进过程,目前使用和支持最多的是1.0和1.3版本。OpenFlow1.3在1.0版的基础上进一步优化及升级&…

OpenFlow概念学习

前言 OpenFlow交换机将原来完全由交换机/路由器控制的报文转发过程转化为由OpenFlow交换机和控制服务器来共同完成,目的交换机要通过of协议(OpenFlow Protocol)经安全通道(Secure Channel)连接到外部控制器&#xff08…

Openflow协议详解

来自:http://www.h3c.com/cn/d_201811/1131080_30005_0.htm 1 OpenFlow背景 转发和控制分离是SDN网络的本质特点之一 。在SDN网络架构中,控制平面与转发平面分离,网络的管理和状态在逻辑上集中到一起,底层的网络基础从应用中独立出来&#…

深入分析OpenFlow协议

文章目录 OpenFlow是什么???OpenFlow的起源与发展OpenFlow工作原理OpenFlow组件OpenFlow控制器1、NOX/POX2、ONOS3、OpenDaylight OpenFlow安全通道OpenFlow交换机流表项的组成多级流表与流水线处理流表下发方式 OpenFlow的应用场景OpenFlow的…

【赛氪 Saikr】不正方形(数学、平面几何 ps:今天打了假赛)

题目: 不正方形 Description 今天是数学课!小A发现同学们上课很消极,于是给大家出了一个数学小游戏。 小A在黑板上画了一个很大很大的平面直角坐标系,然后给出了若干个红点和黄点,现在同学们需要回答,这…

数学真正的意义

产业智能官:“很多人对现代数学充满疑虑,成长的过程中被数学的难题长期折磨而产生的心理阴影。因此,数学成了社交网络中避而不谈的话题。 很早以前,我们就被教育“数学是思维的体操”。但是,对大脑是如何受益于这种体…

查询语文成绩大于数学的学生

Oracle --创建表,插入资料 create table lx ( sno number(10), course varchar2(10), score number(10) ) insert into lx select 3,语文,90 from dual union select 3,数学,68 from dual select * from lx 写法1: 将语文成绩,数学…

美团2022秋招笔试题-小美的数学题-栈

题目描述 阔浩序列是这样定义的: 空串是合法的序列,且代价1如果 s 是合法的阔浩序列,那么( s )也是合法的,且( s )的代价为 s1如果s,t都是合法的,那么它们拼接起来的 st 也是合法,且总的代价为s的代价*t 的代价。 例如,(()())()是合法的,其代价为(2*21)*210 输入…

那些虐哭过你的大学数学课都有什么用处?看完后恍然大悟!

导读:高等数学有什么用?很多人都在问这个问题。其实大多数人在问这个问题的时候,心里已经预设了否定的答案。确实,对于大多数人来说,已经发展到了连数字都基本很少用了的一些高等数学分支,是过于虚无飘渺了…

程序员,想转型人工智能吗?先补补数学课吧!

人工智能很火,也很高端,深度学习、机器学习、视觉识别,听上去就很高大上。而且不仅仅是听上去高大上,现实当中确实也是实实在在的高大上。 在互联网圈子里,有一句话流传甚广:得人工智能者得天下。根据脉脉…

数学知识(习题课)

异或运算(不进位加法) 台阶Nim游戏必胜策略: 拆分Nim游戏 利用sg定理(后期再把sg定理给大家好好写一下)

2021年辽宁省大学生数学建模

2021年辽宁省大学生数学建模 C题 碳中和问题 碳中和是指人为排放量(化石燃料利用和土地利用)被人为努力(木材蓄积量、土壤有机碳、工程封存等)和自然过程(海洋吸收、侵蚀-沉积过程的碳埋藏等)所吸收。简单…

计算机专业数学建模结课论文,数学建模结课论文3000字论文

数学建模结课论文3000字论文 此频道为与数学建模和论文和字论文有关的范文,免费给你写数学建模结课论文提供相关参考文献资料。 摘 要:研究性学习中数学建模作为中职教育教学的重要组成部分,在教学的探索中取得了一定的成效。数学建模在解决数学问题时能够更好地调动学生自身…

当前目录下有一个文件名为 class_score.txt 的文本文件,存放着某班学生的学号、数学课成绩(第 2 列)和语文课成绩(第 3 列)。请编程完成下列要求。

练习三:当前目录下有一个文件名为 class_score.txt 的文本文件,存放着某班学生的学号、数学课成绩(第 2 列)和语文课成绩(第 3 列)。请编程完成下列要求: (1)分别求这个班…

土圭垚㙓数学课(一)万向锁(Gimbal Lock)

何为万向锁,我们先抛弃掉那些理论,直接举个栗子。 以你自身为对象。 首先,原地旋转为第一个维度,也就是heading。 其次,正翻跟头为第二个维度,也就是pitch。 然后,侧翻跟头为第三个维度&…

令人讨厌的是数学课,不是数学----《一个数学家的叹息》

机缘巧合,看到了一本书,深受触动。 书中所说的理念正是马同学一直想去、要去、希望能够做到的,借用书中的话: 数学是理性的音乐。做数学是从事发现与猜测、直觉与灵感的活动;是进入疑惑的状态——不是因为它让你搞不懂…

五使用计算机上数学课英文,数学课用英语怎么说

目录 一、她正在上数学课用英语怎么说 请帮忙,我不会英语翻译! 数学课mθs 语文课ˌtʃaɪˈni:z 英语课ˈɪŋglɪʃ 体育课ˈfizikəl ˈkʌltʃə 电脑课kəmˈpju:tə(r) 科学课[saɪəns] 音乐课[mju:zɪk] 美术课[ɑ:t] 品德课[ˈmɔ&a…

Android HttpDns:我的域名我做主

Android HttpDns:我的域名我做主 之前公司的产品遇到了用户忽然无法登陆使用的问题,后来查明是因为在用户发布的内容里有一张被判定为黄图的图片,导致我们的域名被运营商封锁。还有一种情况,部分地区的用户使用我们的产品时页面上…

HTTPDNS基礎知識

什么是 DNS DNS(Domain Name System,域名系统),DNS 服务用于在网络请求时,将域名转为 IP 地址。能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数串。 传统的基于 UDP 协议的公共 D…

HTTPDNS调度

小编:对于互联网,域名是访问的第一跳,而这一跳很多时候会“失足”,导致访问错误内容,失败连接等,让我们在互联网上畅游的爽快瞬间消失,而对于这关键的第一跳,鹅厂也在持续深入研究和…