当前位置: 首页 > 科技观察

简单理解SDN

时间:2023-03-20 22:54:43 科技观察

什么是SDN?概括地说,SDN不是一种具体的技术或协议,而是一种思想和框架。从狭义上讲,SDN是指“软件定义网络”,试图摆脱硬件对网络架构的限制,使网络可以像升级、安装软件一样进行改造,让更多的APP(应用程序))可以快速部署在网络上。广义的SDN还延伸:软件定义的安全、软件定义的存储等。30年来,IP网络全面分布式,在解决各种客户需求方面取得了卓越的成绩。今天,SDN是为了未来更好更快的实现用户需求。并不是说有什么需求是传统方法不能满足的,而是SDN可以做得更快、更好、更简单。SDN的本质是网络的软件化和网络可编程性的提高。它是对网络架构的重构,而不是新的特性或功能。SDN将比原有的网络架构更好、更快、更简单地实现各种功能特性。SDN的定义和架构不止一种,最重要的是ONF(OpenNetworkFoundation)定义的SDN和架构。因为其他一些定义和框架都或多或少偏向于少数商业利益集团,所以我们用这个最开放、最“规范”的定义来引入SDN。SDN解决什么问题?IP网络的生存能力非常强,得益于其分布式架构。纵观IP的历史,美军希望核攻击后,整个网络能够自主恢复,这样就不能让网络集中控制,不能有中心节点。再见。现在各个厂商的网络设备太复杂了。如果你要成为某厂商设备的万事通,你需要掌握一万多条命令行,而且这个数字还在不断增加。如果你要成为IP铁杆专家,你需要阅读2500个与网络设备相关的RFC。如果你每天看一篇文章,你知道要读多久吗?超过6年!而这只是整个RFC的1/3,这个数字还在增加。此外,这些协议标准都在解决各种控制面需求,这些需求需要通过需求提案、标准定义、互操作性测试、现网设备升级等方式部署,一般需要3到5年时间才能完成。完成部署。这样的速度无法满足OTT在网络上运行的各种快速网络调整需求,所以我们必须想办法解决这个问题。幸运的是,现在已经找到了解决上述问题的方法。没错,就是SDN!是目前系统解决上述问题的最好方法。SDN结构体系传统网络的管理平面、控制平面和数据平面:管理平面:管理设备(SNMP)控制平面:路由协议(IGP、BGP)数据平面:转发表(FIB)管理平面主要包括设备管理系统和业务管理系统,设备管理系统负责网络拓扑、设备接口、设备特性的管理,可以向设备下发配置脚本。业务管理系统用于对业务进行管理,如业务性能监控、业务告警管理等。控制平面负责网络控制,主要功能是协议处理和计算。例如,路由协议用于计算路由信息并生成路由表。数据平面是指设备根据控制平面产生的指令完成用户业务的转发和处理。例如,路由器根据路由协议生成的路由表,通过相应的出接口转发接收到的数据包。传统网络的局限性:流量路径调整灵活性不足。网络协议实施复杂,运维困难。网络新业务升级速度相对较慢。传统网络通常部署网管系统作为管理平面,而控制平面和数据平面则分布在各个设备上运行。流量路径的调整需要通过在网元上配置流量策略来实现,但是对于大型网络的流量调整,不仅繁琐而且容易失败;当然,流量调整也可以通过部署TE隧道来实现,但是由于TE隧道的复杂性,对维护人员的技能要求很高。传统的网络协议比较复杂,包括IGP、BGP、MPLS、组播协议等,而且还在不断增加。除了标准协议外,设备制造商还有一些私有协议扩展。不仅设备操作命令多,而且不同厂家的设备操作界面也大不相同,运维复杂。在传统网络中,由于设备的控制平面是封闭的,不同厂商设备的实现机制可能不同,部署一个新功能可能会造成周期长;而如果设备软件需要升级,还需要在每台设备上进行操作,大大降低了工作效率。ONFSDNArchitecture:SDNArchitectureSDNArchitectureSDNNetworkDeploymentModeUnderlay网络的所有转发行为都是由controller通过OpenFlow协议或定制的BGP协议发送给forwarder的。转发器仅在没有单独的控制平面的情况下执行操作。.Overlay的基础网络还是传统网络的形式。它采用Vxlan、GRE、NVGRE等隧道技术,通过路由协议将各个节点连接起来,利用隧道技术对数据包进行封装或解封装。对于传统网络,你看到的是普通的数据包,可以转发。对于这些新增的协议,现有的网络设备也需要升级支持(不支持上述协议的网络设备)。SDN核心技术(1)南向接口SDN交换机设备中的各个表项不是设备自身根据周围网络环境在本地生成,而是由远程控制器统一下发,因此各种复杂的控制逻辑也不需要在其中实现SDN交换机。SDN交换机可以忽略控制逻辑的实现,专注于基于表项的数据处理,而数据处理的性能已经成为评价SDN交换机优劣的最关键指标。因此,很多高性能的转发技术被提出,比如基于多表以流水线方式进行高速处理的技术。目前最著名的南向接口协议是ONFOpenFlow协议。OpenFlow解决了控制层如何将SDN交换机匹配数据流所需的表项发送给转发层设备的问题。(2)控制器和北向接口SDN控制器。业界有很多基于Openflow控制协议的开源控制器实现,如NOX、Floodlightt等,可以实现链路发现、拓扑管理、策略制定、表项下发等。支持基础操作SDN网络运营。控制器是SDN网络的核心,可能存在负载过大、单点故障等问题。SDN北向接口是通过控制器向上层业务应用开放的接口,其目标是使业务能够方便地调用底层网络资源和能力。缺乏业界认可的北向接口标准成为当前SDN领域竞争的焦点。(3)OpenFlow交换机规范OpenFlowOpenFlowv1.0的核心组成包括三部分:流表、安全通道和OpenFlow协议。流表负责数据包的高速查询和转发;此外,交换机还需要通过安全通道与外部控制器通信。OpenFlow协议在这个安全通道上传输,它将负责控制器和交换机之间的管理和通信。控制信息。Openflow的流表项结构包括三部分,用于数据包匹配的头字段(HeaderFields),用于统计匹配数据包数量的计数器(Counter),以及用于显示匹配数据如何进行的动作(Action)数据包被处理。).Openflow流表项头域头域中用于匹配交换机接收到的数据包的元组涵盖了ISO网络模型中从第二层到第四层的网络配置信息。每个元组中的值可以是确定值或“ANY”以支持匹配任何值。Counter:OpenFlow流表的计数器,可以为交换机中的每个流表、每个数据流、每个设备端口、每个转发队列维护,用于统计数据流量信息。Action:OpenFlow流表的Action用于指示交换机收到匹配的数据包后如何处理。每个流条目可以有零到多个动作。如果没有定义转发动作,则默认丢弃匹配的数据包。动作分为强制动作和可选动作。默认情况下所有OpenFlow交换机都支持强制动作,而可选动作需要由交换机通知控制器它可以支持的动作类型。OpenFlowactionlist如下:OpenFlowactionlistOpenFlowactionlistopenflowprotocolOpenFlow协议是一个标准接口,用于描述控制器和OpenFlow交换机交互所需的消息。OpenFlow协议支持三种消息类型,如图所示:OpenFlow消息类型OpenFlow消息类型OpenFlow消息类型SDN的价值SDN的可编程性和开放性,通过SDN软件的修改,可以快速对网络进行编程和服务可以快速启动。SDN实例服务自动化:在SDN网络架构下,由于整个网络由控制器控制,网络服务网络的自动化是水到渠成的事情,不需要额外的系统进行配置和分解。在SDN网络架构下,SDN控制器可以自行完成网络服务部署,提供L2vpn、L3vpn等多种网络服务,屏蔽网络内部细节,提供网络服务自动化能力。网络路径流量优化:传统的网络路径选择通常是根据路由协议计算出的“最优”路径,但其结果可能会导致“最优”路径出现流量拥塞,而其他非“最优”路径则闲置。在使用SDN网络架构时,SDN控制器可以根据网络流量状况智能调整网络流量路径,提高网络利用率。