了解SDN

一、什么是SDN

  • SDN字面意思是软件定义网络,其试图摆脱硬件对网络架构的限制,这样便可以像升级、安装软件一样对网络进行修改,便于更多的APP(应用程序)能够快速部署到网络上。
    如果把网络看作一部手机,SDN就像Androids系统一样,可以更新升级,也可以在手机上安装很多APP

  • SDN的本质是网络软件化,提升网络可编程能力,是一次网络架构的重构,而不是一种新特性、新功能。SDN将比原来网络架构更好、更快、更简单的实现各种功能特性。

  • SDN与OPENFLOW之间的关系是什么
    SDN包含OpenFlow,SDN有多种实现方案,在ONF SDN方案中OpenFlow充当南向接口的作用。

南向接口的定义是控制平面与数据平面之间进行交互的协议,南向接口除了可以采用OpenFlow外,还有许多别的协议,如OF-CONFIG、OVSDB、NETCONF、PCEP、XMPP等等

二、SDN解决什么问题

*IP网络生存能力很强,因为其分布式架构

分布式架构:没有中心结点,历史中美国希望遭受核打击之后能够自主恢复网络,这就必须没有中心结点,不允许网络集中控制。

  • 分布式架构有很多问题:
  1. 网络管理十分复杂,举个运营商部署VPN的例子:要配置MPLS、BFD、IGP、BGP、VPNV4、要绑定接口…且需要在每个PE上配置;当新增加一个PE时,还需要回去修改每个涉及到的PE。
  2. 部署速度跟不上需求,这些协议标准都是在解决各种各样的控制面需求,而这些需求都是需要经过需求提出、定义标准、互通测试、现网设备升级来完成部署,一般要个3~5年才能完成部署。
  3. 厂家的网络设备都太复杂了。

三、传统网络概念和结构体系

  • 传统网络是分布式架构,每台设备都包含独立的控制平面,数据平面。
  • 分布式架构指在传统IP网络中,用于协议计算的控制平面和报文转发的数据平面位于同一台设备中。
  • 路由计算和拓扑变化后,每台设备都要重新进行路由计算过程,并称为分布式控制过程。
  • 在传统IP网络中,每台设备都是独立收集网络信息,独立计算,并且都只关心自己的选路。
  • 这种模型的弊端就是所有设备在计算路径时缺乏统一性。
  • 传统网络的控制平面、管理平面、数据平面:

控制平面:路由协议(IGP、BGP)
管理平面:管理设备(SNMP)
数据平面:转发表(FIB)

传统网络架构

  • 分为控制平面、管理平面、数据平面
  • 局限性:
  • 流量路径的灵活调整能力不足。
  • 网络协议实现复杂,运维难度较大。
  • 网络新业务升级速度较慢。
  • 传统网络通常部署网管系统作为管理平面,而控制平面和数据平面分布在每个设备上运行。

四、SDN的分类

  • 控制与转发分离 (超广义)
  • 管理与控制分离 (广义)

SDN主要特征

  • 转控分离:网元的控制平面在控制器上,负责协议计算,产生流表;而转发平面只在网络设备上。
  • 集中控制:设备网元通过控制器集中管理和下发流表,这样就不需要对设备进行逐一操作,只需要对控制器进行配置即可。
  • 开放接口:第三方应用只需要通过控制器提供的开放接口,通过编程方式定义一个新的网络功能,然后在控制器上运行即可。

流表(Flow Table)是OpenFlow中最重要的一张表,它用于指导OpenFlow交换机对收到的数据包进行转发,相当于二层的MAC地址表和三层的路由表。

SDN控制器既不是网管,也不是规划工具:
网管没有实现转控分离:网管只负责管理网络拓扑、监控设备告警和性能、下发配置脚本等操作,但这些仍然需要设备的控制平面负责产生转发表项。

规划工具的目的和控制器不同:规划工具是为了下发一些规划表项,这些表项并非用于路由器转发,是一些为网元控制平面服务的参数,比如IP地址,VLAN等。控制器下发的表项是流表,用于转发器转发数据包。

五、SDN网络架构

由原来分布式控制的网络架构重构为集中控制的网络架构。

SDN网络体系架构的三层模型:

应用层:这一层主要是体现用户意图的各种上层应用程序,此类应用程序称为协同层应用程序,典型的应用包括OSS(Operation support system 运营支撑系统)、Openstack等。传统的IP网络同样具有转发平面、控制平面和管理平面,SDN网络架构也同样包含这3个平面,只是传统的IP网络是分布式控制的,而SDN网络架构下是集中控制的。

  • 控制层:控制层是系统的控制中心,负责网络的内部交换路径和边界业务路由的生成,并负责处理网络状态变化事件。

  • 转发层:转发层主要由转发器和连接器的线路构成基础转发网络,这一层负责执行用户数据的转发,转发过程中所需要的转发表项是由控制层生成的。

  • 北向接口:应用层和控制层通信的接口,应用层通过控制开放的API,控制设备转发功能

  • 南向接口:控制层和数据层通信的接口,控制器通过OpenFlow或其他协议下发流表。

————————————————
参考:CSDN博主「AtlanSI」的原创文章
原文链接:https://blog.csdn.net/AtlanSI/article/details/95613225

posted @   Q·K  阅读(376)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2021-10-28 !x的意思以及while(!x)的含义👌🏻
点击右上角即可分享
微信分享提示