SDN的起源
SDN的起源
SDN(Software Defined Networking)即软件定义网络。是由斯坦福大学Clean Slate研究组提出的一种新型网络创新架构。 其核心理念通过将网络设备控制平面与数据平面分离,从而实现了网络控制平面的集中控制,为网络应用的创新提供了良好的支撑。SDN起源提出了三个特征, “转控分离”、“集中控制”和“开放可编程接口”。
在传统的网络架构里面引入了OpenFlow的概念,在转发平面搭建多个OpenFlow交换机,这些OpenFlow交换机由OpenFlow控制器来控制。
OpenFlow基本概念
OpenFlow是控制器与交换机之间的一种南向接口协议。它定义了三种类型的消息,Controller-to-Switch、 Asynchronous 和 Symmetric。每一种消息又包含了更多的子类型,如下图所示。
(1)Controller-to-Switch 子类型:
▫ Features 消息:在 SSL/TCP 会话建立后, Controller 给 Switch 发送 Features 请求 Switch 的相关信息。 Switch 必须应答自己支持的功能,包括接口名、接口 MAC 地址、接口支持的速率等等基本信息。
▫ Configuration 消息: Controller 可以设置或查询 Switch 的状态。
▫ Modify-State 消息: Controller 发送该消息给 Switch ,来管理 Switch 的状态,即增加 / 删除、更改流表,并设置 Switch 的端口属性。
▫ Read-State 消息: Controller 用该消息收集 Switch 上的统计信息。
▫ Send-Packet 消息: Controller 发送该消息到 Switch 的特定端口。
(2)Asynchronous 子类型:
▫ Packet-in 消息:当 Flow Table 中没有匹配的表项或者匹配“ send to Controller” , Switch 将给 Controller 发送 packet-in 消息。
▫ Packet-out 消息:从控制器回复的消息。
▫ Flow-Removed 消息:当给 Switch 增加一条表项时,会设定超时周期。当时间超时后,该条目就会被删除。这时 Switch 就会给 Controller 发送 Flow-Removed 消息;当流表中有条目要删除时, Switch 也会给 Controller 发送该消息。
▫ Port-status 消息:当数据路径接口被添加、删除、修改的时候,此消息用于通知控制器。
(3)Symmetric 子类型:
▫ Hello 消息:当一个 OpenFlow 连接建立时, Controller 和 Switch 都会立刻向对端发送 OFPT_HELLO 消息,该消息中的 version 域填充发送方支持的 OpenFlow 协议最高的版本号;接收方收到该消息后,接收方会计算协议版本号,即在发送方和接收方的版本号中选择一个较小的;如果接收方支持该版本,则继续处理连接,连接成功;否则,接收者回复一个 OFPT_ERROR 消息,类型域中填充 ofp_error_type.OFPET_HELLO_FAILED
▫ Echo 消息: Switch 和 Controller 任何一方都可以发起 Echo request 消息,但收到的一方必须回应 Echo reply 消息。这个消息可以来测量 latency 、 Controller-Switch 之间的连接性,即心跳消息;
▫ Error 消息:当交换机需要通知控制器发生问题或错误时, Switch 给 Controller 发送 Error 消息。
OpenFlow协议仍在持续更新。更多更全的消息类型请参考ONF最新发布《OpenFlow Switch Specification》标准。
2、本资源基本为原创,部分来源其他付费资源平台或互联网收集,如有侵权请联系及时处理。
3、本站大部分文章的截图来源实验测试环境,请不要在生产环境中随意模仿,以免带来灾难性后果。
转载请保留出处: www.zh-cjh.com珠海陈坚浩博客 » SDN的起源
作者: cjh
手机扫一扫,手机上查看此文章: |
一切源于价值!
其他 模板文件不存在: ./template/plugins/comment/pc/index.htm