SDN(软件定义网络)基本概念

定义

SDN(Software Defined Network)是“软件定义网络”的缩写,它是一种网络架构和技术,旨在将网络控制器与数据转发分离开来,以提高网络管理的灵活性和可编程性。传统的网络架构中,网络控制器和数据转发通常是耦合在一起的,而SDN通过将它们分离,可以使网络管理员更轻松地管理网络,通过集中控制平面来配置和管理网络中的各个设备。

**新的网络体系结构 **

具体来说就是,SDN技术采用了编程化、分块化思想。将原来的网络体系结构再进一步优化了,使其变的更加灵活。

个人认为SDN也许能和IPv6一样都能成为网络的未来。

发展

SDN是美国国家自然科学基金会资助启动全球网络创新实验环境(GENI)计划

第一阶段(2006-2011):提出了SDN的主要架构、设计思想和实现技术,属于学术界的研究与试验初创阶段,引起了产业界的关注; 第二阶段-SDN的发展中期(2012至今):产业界开始普遍接受SDN的思想。SDN演变成以学院派、网络创新公司、传统网络巨头和运营商为代表的不同技术流派,同时,出现了更多的SDN控制器、网络操作系统、商用产品和应用案例

学术界

应用场景

数据中心

广域网

安全

接入

传统网络&SDN

传统网络的局限性

当前的网络体系架构指的是传统的网络架构,也称为“分布式网络架构”,它通常是基于路由器和交换机的分布式控制系统。在这种架构中,网络设备(如路由器和交换机)在本地进行数据包处理和转发决策,而网络管理员通过命令行界面或Web界面来配置和管理这些设备。

但是随着科技的发展,基于IP的简洁网络架构日益臃肿且越来越无法满足高校、灵活的业务承载需求,网络发展将面临这一系列问题。

管理运维复杂。 由于 IP 技术缺乏管理运维方面的设计,网络在部署 一个全局业务策略时,需要逐一配置每台设备。这种管理模式很难随着网络规模 的扩大和新业务的引入,实现对业务的高效管理和对故障的快速排除。网络创新困难。 由于 IP 网络采用“垂直集成”的模式,控制平面和 数据平面深度耦合,且在分布式网络控制机制下,导致任何一个新技术的引入都 严重依赖现网设备,并且需要多个设备同步更新,使得新技术的部署周期较长(通 常需要 3~5 年),严重制约网络的演进发展。设备日益臃肿。 由于 IP 分组技术采用“打补丁”式的演进策略,随着 设备支持的功能和业务越来越多(目前 IETF 发布的 RFC 标准超过 7000 个),其 实现的复杂度显著增加。

传统网络的痛点

1、需求相对明确与稳定(应用数量、每项应用的对象、类型、规模、服务质量),应用与业务变化较小或可预期

2、基于上述需求特征的规划与设计(拓扑、IP、路由、安全、QoS)

3、强调冗余设计,为可扩展性与业务弹性留下一定的空间

目前面临的挑战:

多元应用与业务层出不穷

相对稳定的规划与部署赶不上快速变化的应用与业务需求

分布式的架构、部署与管理

厂商和设备的多样性

业务弹性响应“捉襟见肘”“应接不暇”

问题关键所在为

传统网络的只可配置、不可编程数据平面和控制平面的紧耦合

SDN

为从根本上摆脱上述网络困境,业界一直在探索技术方案来提升网络的灵 活性,其要义是打破网络的封闭架构,增强网络的灵活配置和可编程能力。经过 多年的技术发展,SDN(软件定义网络)技术应运而生。

解决问题的出路

新的网络架构、新的网络设计能够弹性响应上层应用的网络可编程网络设备数据平面和控制平面的解耦

三层网络结构

特征

网络开放可编程: SDN 建立了新的网络抽象模型,为用户提供了一套完整的通用 API,使用户可以在控制器上编程实现对网络的配置、 控制和管理, 从而加快网络业务部署的进程。控制平面与数据平面的分离: 此处的分离是指控制平面与数据平面的解耦合。控制平面和数据平面之间不再相互依赖, 两者可以独立完成体系结构的演进, 双方只需要遵循统一的开放接口进行通信即可。 控制平面与数据平面的分离是 SDN 架构区别于传统网络体系结构的重要标志,是网络获得更多可编程能力的架构基础。逻辑上的集/中控制: 主要是指对分布式网络状态的集中统一管理。 在 SDN 架构中,控制器会担负起收集和管理所有网络状态信息的重任。 逻辑集中控制为软件编程定义网络功能提供了架构基础,也为网络自动化管理提供了可能。

SDN标准化组织

开放网络基金会(ONF)因特网工程任务组(IETF)国际电信联盟电信标准化部门(ITU-T)欧洲电信标准化协会(ETSI)。

SDN主流技术架构

ONF

数据平面&控制平面

数据平面和控制平面是构成网络架构中的两个重要部分,它们分别负责处理网络数据和控制网络行为。

数据平面指的是网络设备(例如交换机、路由器)中处理网络数据包的部分。数据平面通常由硬件实现,用于快速处理和转发网络数据包。当网络设备收到数据包时,它会根据预先配置的规则(例如访问控制列表、路由表等)对数据包进行分类和处理,并根据需要将数据包转发到相应的目的地。数据平面通常需要具备快速转发和处理数据包的能力,因此它通常由专用的网络硬件实现,如芯片、ASIC、FPGA等。

控制平面则是管理和配置网络设备的部分。它是一种软件程序,通常在网络设备中运行,并提供网络管理和配置的功能。控制平面可以配置数据平面的规则和策略,以确保网络设备能够正确处理和转发数据包。它还可以监视网络设备的状态,并在需要时执行故障排除和维护操作。控制平面通常需要处理和管理网络中的各种信息,如路由协议、拓扑结构、网络拥塞等,因此它通常由通用计算机或虚拟化的网络功能实现。

,并提供网络管理和配置的功能。控制平面可以配置数据平面的规则和策略,以确保网络设备能够正确处理和转发数据包。它还可以监视网络设备的状态,并在需要时执行故障排除和维护操作。控制平面通常需要处理和管理网络中的各种信息,如路由协议、拓扑结构、网络拥塞等,因此它通常由通用计算机或虚拟化的网络功能实现。

数据平面和控制平面的分离可以提供更灵活和可扩展的网络架构。通过将数据平面和控制平面分离,网络管理员可以更轻松地配置和管理网络设备,并对网络进行更细粒度的控制和优化。例如,网络管理员可以通过控制平面对数据平面的规则进行修改,以改进网络性能或增强安全性。此外,分离数据平面和控制平面还可以实现网络功能的虚拟化,从而使网络管理更加灵活和高效。

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。