2023/09 作者:ihunter 0 次 0
SDN 实现的方式有主要有以下四种:
1.开放(经典)SDN;
2.混合SDN;
3.通过API实现SDN;
4.通过叠加方式实现SDN。
如1.开放(经典)SDN,该方法是实现控制平面与转发平面相分离的经典实现方式。
1. 什么是SDN
软件定义网络全称为 Software Defined Network ,在 2006 年,由美国斯坦福大学提出的一种新型网络架构。
DN拥有以下3个特征:
(1)网络开放可编程
(2)控制平面与数据平面分离
(3)逻辑上的集中控制
2. SDN实现的方式
1.开放(经典)SDN
该方法是实现控制平面与转发平面相分离的经典实现方式。
实际上,供应商研发的网络设备目前还无法实现这一目标,故使用这种方式通过SDN支持层来代替本地控制平面,以实现SDN的支持能力。新的SDN支持层能够与SDN控制器以及设备的转发平面协同,使得网络设备具备通过SDN协议与SDN控制器进行通信的能力,而且可以直接控制转发平面。
2.混合SDN
很多供应商都采用了通过SDN支持层修改设备控制平面的SDN实现方式,并声称其设备已支持SDN。
但这并不意味着设备的本地控制平面已不存在,本地智能仍可与外部控制器实现的控制平面协同。由于设备会运行自己的本地控制平面,并由外部SDN控制器通过修改这些协议的路由参数或者直接修改转发平面来增强设备的智能,故该实现方法称为混合SDN。与经典SDN实现方式相比,混合SDN实现方式的主要区别在于设备仍然使用本地控制平面。
3.通过API实现SDN
通过提供用于部署、配置和管理设备的API来实现SDN,应用程序可以通过API控制设备的转发平面,等同于控制器与网络设备之间使用的南向API。
供应商通过提供用于部署、配置和管理设备的API来实现SDN,应用程序可以通过API控制设备的转发平面,等同于控制器与网络设备之间使用的南向API。由于API可以直接插入到应用程序中,这种SDN实现方式可能不需要使用标准南向协议的SDN控制器。与供应商一直使用的私有CLI(Command-Line Interface,命令行接口)相比,该实现方式是向更加协作化和开放化的方向进行转变
4.通过叠加方式实现SDN
从网络中分离控制平面的另一种方法是在现有网络之上创建独立的叠加网络,该实现方式中的底层网络仍然拥有采用传统方式进行本地管理的控制平面。不过,对于叠加网络来说,该底层网络实质上仅提供连接并转发数据。对于网络用户来说,底层网络及其拓扑结构和控制平面都是透明的,叠加网络就是与用户进行交互的网络。该实现方式下的用户可以通过外部控制器来管理叠加网络,不需要构成底层网络的设备支持任何SDN功能。该SDN网络实现方式符合SDN的基本要求,唯一的约束条件就是要求底层设备必须支持实现叠加网络的协议。
SDN(软件定义网络)
软件定义网络(Software Defined Network, SDN ),是由美国斯坦福大学clean slate研究组提出的一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。
从路由器的设计上看,它由软件控制和硬件数据通道组成。软件控制包括管理(CLI,SNMP)以及路由协议(OSPF,ISIS,BGP)等。数据通道包括针对每个包的查询、交换和缓存。 如果将网络中所有的网络设备视为被管理的资源,那么参考操作系统的原理,可以抽象出一个网络操作系统(Network OS)的概念—这个网络操作系统一方面抽象了底层网络设备的具体细节,同时还为上层应用提供了统一的管理视图和编程接口。这样,基于网络操作系统这个平台,用户可以开发各种应用程序,通过软件来定义逻辑上的网络拓扑,以满足对网络资源的不同需求,而无需关心底层网络的物理拓扑结构。
SDN提出控制层面的抽象,目前的MAC层和IP层能做到很好的抽象但是对于控制接口来说并没有作用,我们以处理高复杂度(因为有太多的复杂功能加入到了体系结构当中,比如OSPF,BGP,组播,区分服务,流量工程,NAT,防火墙,MPLS,冗余层等等)的网络拓扑、协议、算法和控制来让网络工作,我们完全可以对控制层进行简单、正确的抽象。SDN给网络设计规划与管理提供了极大的灵活性,我们可以选择集中式或是分布式的控制,对微量流(如校园网的流)或是聚合流(如主干网的流)进行转发时的流表项匹配,可以选择虚拟实现或是物理实现。
目前,包括HP、IBM、Cisco、NEC以及国内的华为和中兴等传统网络设备制造商都已纷纷加入到OpenFlow的阵营,同时有一些支持OpenFlow的网络硬件设备已经面世。2011年,开放网络基金会(Open Networking Foundation)在Nick等人的推动下成立,专门负责OpenFlow标准和规范的维护和发展;同年,第一届开放网络峰会(OpenNetworking Summit)召开,为OpenFlow和SDN在学术界和工业界都做了很好的介绍和推广。
SDN介绍
一. 什么是 SDN?
SDN 字面意思是软件定义网络,其试图摆脱硬件对网络架构的限制,这样便可以像升级、 安装软件一样对网络进行修改,便于更多的 APP(应用程序)能够快速部署到网络上。
如果把现有的网络看成手机,那 SDN 的目标就是做出一个网络界的 Android 系统,可以在 手机上安装升级,同时还能安装更多更强大的手机 APP。
过去 30 年里,IP 网络一直是全分布式的,战功卓著,解决了各种客户需求,今天 SDN 是 为了未来更好更快的实现用户需求。并不是有什么需求通过传统方法不能做到,只是 SDN 做得更快、更好、更简单。
SDN 的本质是网络软件化,提升网络可编程能力,是一次网络架构的重构,而不是一种新 特性、新功能。SDN 将比原来网络架构更好、更快、更简单的实现各种功能特性。
二.SDN 解决什么问题?
IP 网络的生存能力很强,得益于其分布式架构。看看 IP 的历史,当年美国军方希望在遭受 核打击后,整个网络能够自主恢复,这样就不能允许网络集中控制,不能存在中心结点,否 则在这个中心节点丢一颗核弹,整个网络就挂了。但正是这种全分布式架构导致了许多问题:
看看现在的 IP 网络管理多复杂,举个运营商部署 VPN 的例子:要配置 MPLS、BFD、IGP、 BGP、VPNV4、要绑定接口…且需要在每个 PE 上配置;当新增加一个 PE 时,还需要回去 修改每个涉及到的 PE。
现在各厂家的网络设备都太复杂了。如果您准备成为某个厂商设备的百事通,你需要掌握的 命令行超过 10000 条,而其数量还在增加。 如果你准备成为 IP 骨灰级专家,你需要阅读 网络设备相关 RFC 2500 篇,如果一天阅读一篇,你知道要看多久能看完?6 年多!而这只 是整个 RFC 的 1/3,其数量还在增加。
此外,这些协议标准都是在解决各种各样的控制面需求,而这些需求都是需要经过需求提出、 定义标准、互通测试、现网设备升级来完成部署,一般要个 3~5 年才能完成部署。这样的 速度,已经 Hold 不住网络上运营业务的 OTT 们的各种快速网络调整需求,必须想办法解 决这个问题。 很幸运,现在已经找到了解决以上问题的方法。没错,就是 SDN !它是目 前系统性的解决以上问题的最好方法。
三.SDN 概述
SDN(Software Defined Network)软件定义网络。
2006 年,以斯坦福大学教授 Nike Mckewn 为首的团队提出了 OpenFlow 的概念,并基于 OpenFlow 技术实现网络的可编程能力(OpenFlow 只是实现 SDN 的一个协议),是网络 像软件一样灵活编程,SDN 技术应运而生。
SDN 的定义
SDN 的定义是其字面意思,控制与转发分离,管理与控制分离只是满足 SDN 的一种手段, OpenFlow 只是满足 SDN 的一种协议
SDN 的分类
SDN 的分类区别在于其实现的是控制与转发分离,还是管理与控制分离
SDN 分类: 控制与转发分离 (超广义) 管理与控制分离 (广义)
SDN 的三个主要特征:
转控分离:网元的控制平面在控制器上,负责协议计算,产生流表;而转发平面只在网络设 备上。
集中控制:设备网元通过控制器集中管理和下发流表,这样就不需要对设备进行逐一操作, 只需要对控制器进行配置即可。
开放接口:第三方应用只需要通过控制器提供的开放接口,通过编程方式定义一个新的网络 功能,然后在控制器上运行即可。
SDN 控制器既不是网管,也不是规划工具: 网管没有实现转控分离:网管只负责管理网络拓扑、监控设备告警和性能、下发配置脚本等 操作,但这些仍然需要设备的控制平面负责产生转发表项。
规划工具的目的和控制器不同:规划工具是为了下发一些规划表项,这些表项并非用于路由 器转发,是一些为网元控制平面服务的参数,比如 IP 地址,VLAN 等。控制器下发的表项 是流表,用于转发器转发数据包。