《图解OpenFlow》读书笔记(1)——Openflow概要

本笔记为阅读《图解OpenFlow》的学习心得,有些地方为了更精准的表述,此文包括后续该书读书笔记中有不少处引用了书中原话,特此申明,之后不再反复申明。

此外,本人对SDN学习得还比较浅,不免有许多地方理解错误,欢迎留言指正。

原书电子档下载地址为:https://download.csdn.net/download/qq_34039018/11041850

0. 引言

SDN网络遵从三层分离的架构,分为应用层、控制层、数据层(基础设施层),在控制层与数据层之间的部分称为南向接口,南向接口采用的协议目前主流是Openflow协议,图1是一个典型的SDN网络架构示例图。本书主要讲述南向接口所运行的Openflow协议的相关知识。

图1 SDN网络架构图

1.OpenFlow网络构成示例

图2是一个SDN采用Openflow协议的网络拓扑示例图。

图2 Openflow网络构成示例

当用户PC连接到OF交换机的端口上,因为OF交换机提供的功能与通常L2交换机相同,因此可以认为用户PC与路由器建立了连接,即在OF控制器的路由决策下,可以实现用户PC通过路由器与外界互联网的通信。

2.控制层与数据层的分离

在传统的路由器或交换机等网络设备中,采用各设备自主决策的方式进行数据转发,一个转发设备既具有决策功能也具有转发功能,即控制与转发集成的方式。而在Openflow中,交换机、路由器统一视为白盒交换机,即不具备路由决策功能,即相比传统的网络设备,Openflow转发设备只保留转发功能,而将控制功能分离出去。那么,有一个问题自然产生了,交换机不具备决策功能,那么当收到数据包怎么知道该如何转发呢?这里就借助了控制层面的控制器,控制器相当于整个Openflow网络的大脑,各转发设备的所有行为全部由控制器决策,然后通过一种“流表”的数据结构进行下发给交换机,告诉交换机该如何转发数据。

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

图3显示了传统转发设备的控制与数据包转发之间的关系。传统的网络设备中,控制面和数据面位于同一设备中。这是因为在互联网中,自律分散协作是非常重要的关键词,采用的是各设备自主做出判断的模式。

图3 传统的控制面与数据面

例如,使用IP协议转发数据包的路由器就是同时包含控制面和数据面的设备。各路由器利用路由协议等各自计算合适的路由,并依据计算结果发送数据包。路由器中同时包含计算路由的控制面和转发数据包的数据面。

 

图4 Openflow的控制面和数据面

图4为OpenFlow设备的结构方式,OpenFlow中采用的控制面和数据面分离的模式。数据面转发数据包,而位于外部的控制面又对数据面进行控制。在OpenFlow网络的构成要素方面,控制面部分为OpenFlow控制器,数据面部分为OpenFlow交换机。人们常用的“OpenFlow是集中控制模型”这一描述,正是源于OpenFlow的思想,即通过将控制面和数据面分离在不同的设备中,使OpenFlow控制器可同时控制多台OpenFlow交换机。

3. 总结

Openflow中,转发设备统一不再严格区分交换机和路由器,而是统称为交换机/转发设备,与传统转发设备最大的区别就是Openflow交换机不再具有决策功能,只是一个白盒交换机,就像一个“傻瓜”,没有自己的思考和决策,只听从控制器下发的指令,控制器让他干什么就干什么,而控制器的指令在Openflow中被称为流表,即控制器通过给交换机下发流表,告诉交换机该如何处理数据包,丢弃,还是转发,以及如何转发。因此这也正是SDN的核心思想——转发与控制分离。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值