最近二狗子在网上冲浪的时候,不小心将 CDN 搜索成了 SDN,结果跳出来了一大堆相关的知识点。

好学的二狗子当然不会随随便便糊弄过去,于是认认真真学习了好久,终于了解了 SDN 是什么。

原来,SDN 的全称是 Software Defined Networking,是一类将网络控制平面与数据平面分开,以实现网络资源的自动化配置和基于策略的管理技术。互联网发展以来,企业网络结构的组成和管理对于许多公司来说都是一项巨大的挑战。硬件设施曾经在网络世界中占据统治地位,但是基于物理硬件的传统网络很少能满足现代公司的要求,直到出现了 SDN。

什么是 SDN?

SDN 即软件定义网络,它描述了一种网络架构,可以使用软件对单个硬件组件进行集中、智能的管理和控制,使用 OpenFlow 等开放协议允许访问网络设备,如交换机、路由器或防火墙等。其核心技术 OpenFlow 通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络变得更加智能,为核心网络及应用的创新提供了良好的平台。简而言之,SDN 概念代表了基础设施及其配置的分离。

  • 控制平面:控制平面决定数据报在端对端的路径上应该如何路由,即路由。

  • 数据平面:数据平面决定数据报在每个路由器上该如何从 Input Port 转发到 Output Port 中,即转发。

虽然控制面和数据面分离,但数据平面仍然是网络设备中的一部分。对于 SDN 来说,它的任务是专门转发数据包,因此它需要很少的计算能力。此外,SDN 技术能够有效降低设备负载,协助网络运营商更好地控制基础设施,降低整体运营成本,成为最具前途的网络技术之一。

传统网络世界水平是标准开放的,每个网元可以和周边网元进行互联。而在计算机的世界里,不仅水平是标准和开放的,同时垂直也是,从下到上有硬件、驱动、操作系统、编程平台、应用软件等等,编程者可以很容易地开发各种应用。从某个角度和计算机对比,在垂直方向上,网络是 “相对封闭” 和 “没有框架” 的,在垂直方向创造应用、部署业务是相对困难的。但 SDN 将整个网络(不仅仅是网元)的垂直方向变得开放、标准化、可编程,从而让人们更容易、更有效地使用网络资源。

SDN 如何运作

控制层上运行的 SDN 软件需要控制平面和数据平面之间的特定通信接口,以便将适当的数据包流量指令发送到嵌入式网络组件。对此最著名的解决方案就是上面提到过的 OpenFlow。OpenFlow 由开放网络基金会 (ONF)管理,是软件定义网络架构中控制层和数据层之间的第一个标准化接口。

在很多 SDN 网络中,它取代了网络设备的单独接口,也减少了对硬件厂商的依赖。

OpenFlow 是迄今为止最常见的,但绝不是唯一用于管理 SDN 的协议。一些替代方案例如 NETCONF (RFC 6241)、BGP(边界网关协议)、XMPP(可扩展通讯和表示协议)、OVSDB(开放 vSwitch 数据库管理协议)和 MPLS-TP(MPLS 传输协议)等。Cisco 和 Nicira 的一些专有协议也会用于某些架构。

一旦硬件和软件之间的通信建立起来,管理员可以通过控制层和各自的 SDN 软件快速轻松地获得网络的整体视图,并通过基于软件的中央控制来管理网络设备。这让数据流的管理效率比在各组件本身控制逻辑的网络中要高得多。路由和拓扑信息不再以片段的形式分布在所有路由器上,而是汇聚在一个中心位置,大大增加了虚拟化和资源的可扩展性。

SDN 的体系结构

一般来说,SDN 网络体系结构主要包括 SDN 应用和服务(应用平面)、北向接口、SDN 控制器(控制平面)、南向接口和网络设备(数据平面)五个部分。

网络设备(数据平面)

数据平面由物理和虚拟的各种网络设备组成。数据平面的主要职责是转发。在以前的传统网络中,控制平面和数据平面都在同一个设备中。但是对于 SDN,网络设备只有数据平面。所以,这些网络设备的主要作用只是转发数据。这也提供了一种非常有效的转发机制。

SDN 控制器(控制平面)

SDN 控制器是 SDN 架构的中心,也是 SDN 架构组件中最重要的组件之一。换句话说,SDN 控制器是系统的大脑。所有数据平面设备的控制都是通过 SDN 控制器完成的。它还控制应用层的应用程序,通过接口与 API 通信进而控制这些上层和下层。

SDN 应用层(应用平面)

应用层包含组织使用的典型网络应用或功能。这些应用程序通过调用 SDN 控制器的北向接口,实现对网络数据平面设备的配置、管理和控制。

这三层使用各自的北向和南向 API 进行通信。应用程序通过其北向接口与控制器通信,控制器和网络设备使用南向接口(例如 OpenFlow)进行通信。

SDN 的优势与挑战

在数字网络变得越来越庞大和复杂的同时,虚拟化程度以及对最大灵活性和可扩展性的需求也在不断提高。SDN 相对于传统网络的优势可以总结如下:

  • 无需配置单个设备或操作系统

  • 整个网络的维护和管理成本低

  • 降低硬件和运营成本

  • 实现资源的实时动态分配和监控

  • 对硬件制造商的依赖性低

SDN 还促成了软件定义广域网 ( SD-WAN ) 技术的出现,SD-WAN 采用 SDN 技术的虚拟覆盖方面。SD-WAN 将组织在其 WAN 中的连接抽象化,创建一个虚拟网络,该网络可以通过控制器寻找适合发送流量的相关连接。

SDN 的主要采用者包括服务提供商、网络运营商和一些大型企业,如 Facebook 和谷歌等。不过 SDN 的背后仍然存在着一些挑战。

  • 安全:集中式 SDN 控制器会出现单点故障,如果被攻击者作为目标,可能会对网络造成极大的影响。

  • 定义不明确:SDN 面临的另一个挑战是业界对软件定义网络确实没有统一的定义。不同的供应商提供了不同的 SDN 方法,包括以硬件为中心的模型和虚拟化平台到超融合网络设计和无控制器的方法。

SDN 的应用场景

由于其相对于经典网络的众多优势,SDN 对于很多场景都比较适用,包括:

  • 开发运维。SDN 可以通过自动化应用程序更新和部署来促进 DevOps 。该策略可以包括在部署 DevOps 应用程序和平台时自动化 IT 基础架构组件。

  • 校园网络。校园网络比较难以管理,尤其是在不断需要统一 Wi-Fi 和以太网的情况下。SDN 控制器可以提供集中管理和自动化、改进安全性和整个网络的应用级服务质量。

  • 网络服务提供商。SDN 可帮助服务提供商简化和自动化其网络的配置,以实现端到端网络和服务管理与控制。

  • 数据中心安全。SDN 支持更有针对性的保护并简化防火墙管理。通常,企业依靠传统的外围防火墙来保护数据中心。但是,公司可以通过添加虚拟防火墙来创建分布式防火墙系统进而保护虚拟机。SDN 集中控制和自动化还让管理员能够查看、修改和控制网络活动,以降低违规风险。

近年来,许多网络提供商都采用了 SDN ,通过消除制造商特定的限制并大大简化了网络管理,优化了硬件虚拟化的基本方法。虽然传统网络在安全、可靠性、可维护性和性能上还有很大的优势,但是随着 SDN 相关设备的发展,SDN 依靠自己的优势,一定会不断占领传统网络的领地。网络运营商应为 IT 行业的未来发展和挑战做好充分的准备。

推荐阅读

【实操日记】使用 PyQt5 设计下载远程服务器日志文件程序

【白话科普】从“熊猫烧香”聊聊计算机病毒

【白话科普】聊聊网络架构变革的关键——SDN的更多相关文章

  1. 网络知识--OSI七层网络与TCP/IP五层网络架构及二层/三层网络

    作为一个合格的运维人员,一定要熟悉掌握OSI七层网络和TCP/IP五层网络结构知识. 废话不多说!下面就逐一展开对这两个网络架构知识的说明:一.OSI七层网络协议OSI是Open System Int ...

  2. 网络知识梳理--OSI七层网络与TCP/IP五层网络架构及二层/三层网络(转)

     reference:https://www.cnblogs.com/kevingrace/p/5909719.html https://www.cnblogs.com/awkflf11/p/9190 ...

  3. SDN前瞻 传统网络架构的危机:危机“四”起

    本文基于SDN导论的视频而成:SDN导论 在网络发展速度如此之快的今天,传统网络的架构充满了危机,主要有这四个问题(3+1). 1)传统网络的部署和管理 非常困难 2)分布式网络架构凸显瓶颈 3)流量 ...

  4. 数据中心网络架构的问题与演进 — NFV

    目录 文章目录 目录 前文列表 前言 NFV NFV 的最终目标 NFV 的抽象框架 基础架构层与虚拟基础设施管理层 资源管理与业务流程编排层 OSS 层 SDN 控制层 NFV 的生态合作 NFV ...

  5. 数据中心网络架构的问题与演进 — 云网融合与 SD-WAN

    目录 文章目录 目录 前文列表 云网融合 云网融合的应用场景 SD-WAN SD-WAN 的应用场景 企业组网互联 SD-EN 数据中心互联 SD-DCI 云间互联 SD-CX 企业用户接入云 数据中 ...

  6. 【白话科普】《逆局》最终 boss 隐藏自己的方式是?

    二狗子最近在看一个很火的电视剧<逆局>.作为一部悬疑犯罪剧,剧中多个案件交织并进,悬念和转折拉满,让狗子看的直呼过瘾.特别最后一幕,杨副座和主角团同时对 U 盘中的关键证据"器官 ...

  7. 图解 Kafka 超高并发网络架构演进过程

    阅读本文大约需要 30 分钟. 大家好,我是 华仔, 又跟大家见面了. 上一篇作为专题系列的第一篇,我们深度剖析了关于 Kafka 存储架构设计的实现细节,今天开启第二篇,我们来深度剖析下「Kafka ...

  8. CloudStack 物理网络架构

    原文地址:http://www.shapeblue.com/cloudstack/understanding-cloudstacks-physical-networking-architecture/ ...

  9. CNN网络架构演进:从LeNet到DenseNet

    卷积神经网络可谓是现在深度学习领域中大红大紫的网络框架,尤其在计算机视觉领域更是一枝独秀.CNN从90年代的LeNet开始,21世纪初沉寂了10年,直到12年AlexNet开始又再焕发第二春,从ZF ...

  10. 复杂的web---web中B/S网络架构

    web中B/S网络架构 1:web中B/S网络架构 2:CDN工作机制和架构 3:负载均衡:    B/S分别是浏览器/服务器,架构流程为:     当你访问网站的时候,浏览器发送各种请求给浏览器,服 ...

随机推荐

  1. PHY驱动调试之 ---PHY设备驱动(三)

    1. 前言 内核版本:linux 4.9.225,以freescale为例.(部分内容待修改和补充,不一定准确) 2. 概述 上一篇文章讲了控制器的驱动使用的是platform总线的连接方式,本节要讲 ...

  2. 深度解析KubeEdge EdgeMesh 高可用架构

    摘要:通过高可用特性应用场景.高可用特性使用手册.课题总结.未来展望等四个部分的内容来向大家介绍新版本EdgeMesh的高可用架构. 本文分享自华为云社区<KubeEdge EdgeMesh 高 ...

  3. day21-web开发会话技术03

    WEB开发会话技术03 10.问题引出 问题引出 不同的用户登录网站后,不管该用户浏览网站的哪个页面,都可以显示登录人的名字,还可以随时去查看自己购物车中的商品,这是如何实现的呢? 也就是说,一个用户 ...

  4. 在Windows服务器安装禅道

    1.服务器上 浏览器打开禅道官网:https://www.zentao.net/ 2.下载禅道版本,这里安装的是开源版 3.下载完成之后,一键安装 安装完成之后,即可访问:

  5. ping localhost时出现::1的原因以及解决办法

    ping localhost时出现: 在cmd中ping localhost解析出来的是ipv6的::1的原因是windows有个优先解析列表,当ipv6的优先级高于ipv4时,就会出现这种情况. 具 ...

  6. java的基本数据类型自动转换

    本文主要内容阐明java的自动数据类型转换 首先明确,数据总是由精度低到精度高方向转换 public class AutoConvert { public static void main(Strin ...

  7. 痞子衡嵌入式:对比恩智浦全系列MCU(包含Kinetis/LPC/i.MXRT/MCX)的GPIO电平中断设计差异

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦全系列MCU(包含Kinetis, LPC, i.MXRT, MCX)的GPIO电平中断设计差异. 在痞子衡旧文 <以i.M ...

  8. DNS欺骗

    原理: dns欺骗又可以叫作中间人人攻击,主要是通过拦截受害人在访问某个网站时设备向外发送的dns请求,然后给出伪造的dns应答,实现欺骗过程. 实验脚本如下: from scapy.layers.d ...

  9. 2、Navicat安装提示报错

    问题描述:激活navicat15的注册码时报出"rsa public key not find"错误原因:没有生成破解版的RegPrivateKey.pem文件解决方案:重新安装N ...

  10. 痞子衡嵌入式:Farewell, 我的写博故事2022

    -- 题图:苏州荷塘月色 2022 年的最后一天,写个年终总结.困扰大家三年之久的新冠疫情终于在 12 月全面放开了,痞子衡暂时还没有阳,计划坚持到总决赛.对于 2023 年,痞子衡还是充满期待的,慢 ...