【2022争霸赛*干货满满】SDN网络架构详解
  

Kane4828 1374

{{ttag.title}}
本帖最后由 Kane4828 于 2022-10-12 23:52 编辑

为什么要推出SDN?


SDN的起源
• SDN ( Software Defined Networking )即软件定义网络。是由斯坦福大学Clean Slate研究组提出的一种新型网络创新架构。 真核心理念通过将网络设备控制平面与数据平面分离,从而实现了网络控制平面的集中 控制, 为网络应用的创新提供了良好的支撑。
• SDN起源提出了三个特征, “转控分离 ” 、 “集中控制 ” 和 “开放可编程接口 ” 。


OpenFlow是什么?
  • OpenFlow是一种网络通信协议,应用于SDN架构中控制器和转发器之间的通信。软件定义网络SDN的一个核心思想就是 " 转发 、控制分离、",要实现转、控分离,就需要再控制器与转发器之间建立一个通信接口标准,允许控制器直接访问和控制转发器的转发平面,OpenFlow引入了"流表"的概念,转发器通过流表来指导数据包的转发。控制器正是通过OpenFlow提供的接口再转发器上部署相应的流表,从而实现对转发平面的控制。




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的特定端口。



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消息:当数据路径接口被添加、删除、修改的时候,此消息用于通知控制器。




Flow Table(流表)简介
  • OpenFlow交换机基于流表(Flow Table)转发报文。

  • 每个流表项由匹配字段、优先级、计数器、指令、超时、Cokie、Flags这七步组成。其中关于转发的关键的俩个内容是匹配字段和指令。






      匹配字段是匹配规则,支持自定义。
      指令是用来描述匹配后的处理方式。


  • Match Fields:流表项匹配项(OpenFlow1.5.1版本支持45个可选匹配项),可以匹配入接口、物理入接口,流表间数据,二层报文头,三层报文头,四层端口号等报文字段等。
  • Priority:流表项优先级,定义流表项之间的匹配顺序,优先级高的先匹配。
  • Counters:流表项统计计数,统计有多少个报文和字节匹配到该流表项。
  • Instructions:流表项动作指令集,定义匹配到该流表项的报文需要进行的处理。当报文匹配流表项时,每个流表项包含的指令集就会执行。这些指令会影响到报文、动作集以及管道流程。
  • Timeouts:流表项的超时时间,包括了Idle Time和Hard Time。


      Idle Time:在Idle Time时间超时后如果没有报文匹配到该流表项,则此流表项被删除。
      Hard Time:在Hard Time时间超时后,无论是否有报文匹配到该流表项,此流表项都会被删除。
  • Cookie:Controller下发的流表项的标识。
  • Flags:该字段改变流条目的管理方式。




转发方式的对比


  • 流表的匹配原则是对于存在的“table0-table255”,优先从table0开始匹配。同一table内部按照优先级匹配,优先级高优先匹配。
  • 当前OpenFlow的主流应用是用于数据中心的软件交换机,例如OVS、CE1800V等,而不是实现硬件交换机的转控分离。




SDN的本质


  • SDN是一个更为广泛的概念而不局限于OpenFlow。转控分离是实现SDN的一种方法而不是本质。




SDN网络架构
  • SDN网络架构分为协同应用层、控制器层和设备层。不同层次之间通过开放接口连接。以控制器层为主要视角,区分面向设备层的南向接口和面向协同应用层的北向接口。OpenFlow属于南向协议接口的一种。


  • 协同应用层:

    ​ 主要完成用户意图的各种上层应用,典型的协同层应用包括OSS、OpenStack等。OSS可以负责整网的业务协同,OpenStack云平台一般用于数据中心负责网络、计算、存储的业务协同。还有其他的协同层应用,比如用户希望部署一个安全APP,这个安全APP不关心设备具体部署位置,只是调用了控制器的北向接口,例如Block(Source IP,DestIP),然后控制器会给各网络设备下发指令。这个指令根据南向协议不同而不同。

  • 控制器层:

    ​ 控制器层的实体就是SDN控制器,是SDN网络架构下最核心的部分。控制层是SDN系统的大脑,其核心功能是实现网络业务编排。

  • 设备层:

    ​ 网络设备接收控制器指令,执行设备转发。

  • NBI北向接口:

    ​ 北向接口为控制器对接协同应用层的接口,主要为RESTful。

  • SBI南向接口:

    ​ 南向接口为控制器与设备交互的协议,包括NETCONF、SNMP、OpenFlow、OVSDB等。





总结
SDN是网络架构的革新,以控制器为主体,让网络更加开放,灵活和简单。

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

339015 发表于 2022-10-17 00:47
  
感谢楼主分享,文章介绍了sdn网络架构相关原理,比较清晰,期待更多优秀的分享
C呆 发表于 2022-10-17 17:10
  
感谢分享,有助于工作,学习学习
YoY 发表于 2023-2-3 10:06
  
感谢楼主分享,文章层次的介绍sdn的架构和原理,以及相关价值,如果能加上应用场景的话就更好了,期待更多的分享
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
新版本体验
GIF动图学习
产品连连看
功能体验
标准化排查
自助服务平台操作指引
2023技术争霸赛专题
运维工具
通用技术
秒懂零信任
技术晨报
信服课堂视频
用户认证
深信服技术支持平台
安装部署配置
SDP百科
设备维护
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版达人

新手68983...

本周分享达人

零和一网络

本周提问达人