
SDN (软件定义网络)对大家来说应该不是从词理一个陌生的概念 ,SDN是关键一种新型的网络架构,其设计理念是解网将网络的控制平面与数据转发平面分离,并实现可编程化控制。展新
十多年前 ,趋势美国斯坦福大学的从词理Nick Mckeown教授团队在研究中意识到传统网络的问题 ,提出了SDN概念,关键其初始动机就是解网希望打破传统网络设备软硬件一体化的建站模板僵化局面,让网络设备重演计算机软硬件分离的展新开放之路 ,从而激发网络产业的趋势创新活力 。如今 ,从词理许多公司都推出了SDN 产品和解决方案。关键然而,解网在短时间内想要掌握技术细节并非易事,展新因为SDN不仅是趋势技术上突破性的变革,也是对网络系统认知和方式上的变革。
下面的免费模板文章暂不对SDN进行过多描述,只通过一些相关的“关键词”来反映网络行业的新趋势 。
抽 象我们先暂时抛开概念,可以想象一辆汽车。我们都知道汽车的系统有多复杂 :制动系统、电力系统 、气缸、压缩 、排气 、润滑 、冷却……然而,驾驶员并不需要知道详细的结构,服务器租用只需要了解变速杆 、刹车踏板、油门、方向盘 、控制屏等几个工具的使用方法,就可以轻松驾驶汽车 。因为汽车已经将一切都“抽象”了出来 ,底层所有复杂的组件都被抽象成了上层的简单工具。简而言之 ,汽车就可以认为是一个抽象的实体!
再举一个简单的源码下载例子。假设 A 公司要求 CEO 的电脑必须具有最佳的 Internet 访问权限。为了满足这个要求 ,工程师必须检查CEO的电脑连接到哪个设备,分配了多少IP,经过哪些路由器 ,是否有防火墙策略……换句话说,工程师必须非常清楚网络结构和模型才能执行这个简单的要求 。
如果司机想让汽车转弯,只需要转动方向盘 ,而工程师想要“驾驶”网络,高防服务器就必须彻底了解“网络基础设施”才能工作 。在复杂的网络和IT系统基础设施中 ,没有“方向盘”进行抽象操作,这对信息技术基础设施运营来说是一个挑战 。
Underlay/Overlay相信这个词对于网络工程师来说应该非常熟悉 。Underlay是一个物理网络 ,由交换机和路由器等设备组成,借助以太网协议、路由协议和VLAN协议等驱动。Overlay是一个虚拟网络,使用网络虚拟化在物理基础设施之上建立连接的逻辑网络 。云计算常见的Overlay协议有VXLAN、NVGRE、GRE、OTV 、OMP、mVPN……
Overlay实现了控制平面与转发平面的分离,这也是SDN的核心理念 。大多数 SDN 解决方案需要底层网络基础设施作为Underlay ,然后再虚拟出Overlay。这是为了有助于“抽象”网络系统 ,使其易于管理操作 、易于扩展、易于执行网络策略。以前的Overlay协议旨在解决网络中某个部分的问题 ,尤其是 VPN,后来的Overlay协议旨在为园区网络 、WAN 或数据中心创建一个 Fabric。
Fabric了解 Fabric 对于理解如何构建 SDN有很大的帮助 。
Fabric 有许多不同的含义 :
首先,Fabric 指网络系统作为一个单一的实体 ,不区分内部是路由器、交换机、防火墙 ,还是策略、路由 、安全等 。大致可以将Fabric网络理解成一个核心交换机集群,为计算基础设施、物联网基础设施、终端设备和用户提供连接 。Fabric 的第二个含义是Overlay网络 。例如,SD-WAN 网络由多个路由器通过互联网将VPN连接在一起 ,从而创建了一个Fabric网络。第三,Fabric还指一个具有强大处理能力和拓扑同步的网络系统。在三层网络架构(Core/Distribution/Access)中 ,添加一个网络节点需要考虑备份 、上层设备容量和上行带宽。对于Fabric ,添加网络节点有助于提高整个系统的处理能力和带宽 。数据中心的Leaf/Spine模型就是一个例子 。可见性可见性对于在 SDN 中执行策略非常有帮助 。
假设A 公司的用户遇到连接问题,网络连接很慢。IT部门在检查和测试连接时,连接却显示正常 ,所以他们不知道问题出在哪儿 。B 公司也有类似的情况。经检查,IT部门确定是网络拥塞导致连接受阻 ,检查发现占用带宽导致拥塞的是X应用程序。此外 ,该应用程序是从计算机1连接到服务器2的,由Y用户使用…因此 ,我们可以说,A 公司网络系统可见性低 ,B公司的网络系统具有很高的可见性。
可见性可以理解成 4W 1H——谁、在做什么、在哪里、何时以及怎么做 。SDN 网络具有非常高的可见性 ,可以通过定义新技术、新协议 、新属性来实现简单、快速和安全的策略。
网络可编程性网络可编程性可以理解成网络系统像软件一样具有互操作性。
举个例子 :A公司有一个非常大的网络系统 ,但已经运行了很长时间 ,IT部门需要对系统运行过程中出现的冗余配置进行审查和删除。因此 ,要求网络工程师执行以下操作:“关闭交换机上超过一个月没有工作的端口”。如果网络系统有数百个交换机,这项工作将花费大量时间并且很容易出错。
网络工程师将执行的工作可能包括以下步骤 :
1)统计系统中所有交换机的信息 。
2)登录每个交换机,显示每个端口的状态进行检查。
3)如果一个端口关闭 ,并且超过 1 个月没有相关日志,将执行以下操作 :
关闭端口记下端口说明4)对交换机上的所有端口持续执行此操作 。
用编程语言执行上述操作可表示为 :
复制for switch in my_network:
for interface in switch:
if interface.is_down() and interface.last_change() > thirty_days:
interface.shutdown()
interface.set_description(“Interface disabled per Policy”)1.2.3.4.5.只需一个简短的命令就可以解决耗时的工作,更重要的是准确度高 ,没有人为错误 。但是,要完成上述(以及许多其他自动化工作)操作需要改变网络架构 ,创建一个可互操作、可编程的网络系统 。
建立SDN网络的目标之一就是网络可编程性。目前网络正在朝着具有强大处理能力 ,并且易于管理和扩展的方向发展,SDN在控制器上进行集中管理和决策 ,以一种新的方式重新构建网络 ,以满足网络可编程性,实现网络自动化。
本文希望通过一些关键词的解释,让读者能够大致了解网络行业的趋势 。