冲出传统广域网的牢笼,带你走进SD-WAN的世界 网络

2020-11-04 374

工程师日常中总会碰到这样的情况:


银行客户网点VPN经常断开,现场排查费时费力!

连锁门店总是咨询线路有故障,无法切换,影响业务!

学校老师反馈在线教学时老是卡顿,总是需要和学生PK看谁带宽抢得过谁

......


         
           



这些客户反馈的声音让小锐深刻意识到如何通过多样的策略调度提供良好的业务体验,如何快速部署降低上线难度、如何多维度地全网监控是目前需要重点关注的。


其实,SD-WAN方案就解决了以上的这些问题,接下来我们就来简单聊聊什么是SD-WAN方案。


SD-WAN方案,传统广域网的“改革者”


我们在了解什么是SD-WAN之前要先了解下什么是WAN。


WAN(广域网)如下图所示是由多个分支在不同地理位置,总部与多个分支可以通过VPN或专线来建立连接后组成的。



当今随着越来越多企业从传统数据中心转型到云数据中心,许多应用程序都向云过渡,网络环境涉及范围愈大,传统广域网中现场维护成本大、网络部署复杂度高,不够灵活等问题也逐渐暴露,那么如何解决传统广域网带来的弊端呢?SD-WAN也就成为了应对传统广域网挑战的创新手段。


SD-WAN方案其实指的是基于SDN思想,通过软件的形式来定义广域网。网络管理员可以通过ONC控制器来创建不同的策略,比如可以针对不同的用户、应用创建不同的策略进行限速或阻断,也可基于当前WAN情况以及应用程序偏好设置等信息来执行转发,比如可以根据线路的优劣情况保障关键应用优先选路,控制器可以对整网流量线路统一进行管理以及监控并且以不同维度来进行呈现网络中应用使用情况、链路使用状态,智能告警(设备告警、离线告警、安全告警),针对不同告警等级和日期进行筛选,针对网点的出口设备进行告警日志的收集及呈现,轻松掌握当前的网络情况。


小帖士:什么是SDN思想呢?


SDN,是Software Defined Network的缩写,就是“软件定义网络”,其试图摆脱硬件对网络架构的限制,通过使用应用软件参与到对网络的控制管理、满足上层业务的需求,通过自动化业务部署简化网络运维。如果把现有的网络看成手机,SDN实现的效果就相当于一个网络界的Android系统,可以在手机上安装升级,同时还能安装更多更强大的手机APP。


SD-WAN架构组成


SD-WAN方案的整体方案架构图主要分为三个部分,第三方管理和展示平台、控制器、网络设备区域,第三方管理和显示平台是用于显示我们所收集到的数据以及设备状态,网络环境其实就是客户设备的基础保证了。


我们重点来聊聊控制器,控制器相当于是我们整个SD-WAN方案中的神经中枢,其中控制器最主要的是有两个接口:北向接口和南向接口,我们可以按方位来理解这两个接口。如下图所示,上北下南,和第三方平台的API接口对接就是北向接口了,而南向接口主要是对接网络提供一个配套的控制器部署,控制器通过NETCONF协议通道来进行下发配置,网关设备通过gRPC协议来上报数据。控制器本身的部署方式有三种:单机部署、集群部署、总分部署,具体的部署配置的话这边就不再详细描述了。



SD-WAN南向接口的“魅力”


在SD-WAN方案中要用软件来定义网络,并且网络的设备类型多种多样,业务类型更是成百上千的情况下,要与如此复杂的方案来匹配,其所使用的对接协议也绝对不简单,南向接口对接的协议主要是NETCONF协议和gRPC协议,这里我们细细道来。


NETCONF协议是新一代网络管理协议,提供了一套管理网络设备的机制,其报文可以类比如同ISO/OSI 七层模型一样采用了分层结构,每个层分别对协议的某一个方面进行包装,并向上层提供相关的服务,具体报文结构如下图,由下至上分别是安全传输层,消息层,操作层和内容层。

NETCONF传输层使用SSH作为承载协议,为NETCONF连接提供可靠的序列号发送机制,为上层数据安全性提供了保障;消息层客户端发起配置管理请求,服务器端予以相应的回应;操作层提供对数据库信息的获取、配置、复制和删除等功能;内容层描述了网络管理所涉及的配置数据,使用YANG进行建模,可读性好,易学习、可复用、可扩展。


NETCONF

SNMP

扩展性

协议模型分层定义,各个层之间互相独立,采用标准的YANG模型定义结构,协议采用XML编码,扩展灵活

SNMP这样的传统的网管协议扩展性差

安全性

采用现有的安全协议(SSH, TLS),提供安全保证,而且不和具体的安全协议绑定,更灵活

SNMP虽然也有安全性,但是比如SNMPV3是自定义的,没有扩展的余地

效率

对整个系统的配置数据进行操作,定义了过滤功能,查询效率高

SNMP只能对某个表的一条或者多条记录操作,需要多次交互,效率低下

跨广域网

支持NETCONF CALLHOME,分支主动发起连接

不支持广域网


gRPC协议采用主动推送方式采集数据,一次可以推送多个采集数据,整体降低设备压力,有助于整体网络监控效率提升和监控质量提升。


gRPC数据上报的处理流程如下:


静态订阅上报事件(下发开局配置或由NETCONF下发配置),相当于先确认会有哪些信息会上报。gRPC组件通过NETCONF组件的GET方法,定时获取各订阅的事件数据(上报数据信息);根据GNMI(是gRPC网络管理接口,基于gRPC实现的配置管理与数据采集)定义的格式,将xml转换为json格式封装,上报到控制器(数据格式转换,保证可以正常读取)。



gRPC

SnmpTrap&Syslog

Snmp&Cli

gRPC采用主动推送方式采集数据,一次可以推送多个采集数据,整体降低设备压力。gRPC采用标准的YANG模型定义结构,识别度高,用http 2作为数据传输协议,编码性能更优。gRPC的整体方案,有助于整体网络监控效率提升和监控质量提升

虽然是推模式的,能够在设备产生告警和事件时及时推送数据,然而其推推送数据的编码效率非常低。

与设备之间是一问一答的交互。效率非常低,只能支持分钟级查询


多样的策略调度


行为策略可以实现对网点内的终端行为进行管控策略设置,并可批量下发给各网点设备。


针对内网的不同应用来设置不同优先级的流控通道,并可设置弹性带宽,在带宽紧张/不紧张时,分别做出不同的流控限速策略。流控通道调度基于两个原则:先保证承诺带宽,然后再进行带宽借用;高优先级流控通道优先调度,相同优先级流控通道轮转调度。学校环境中就可以针对老师学生,以及应用基于带宽进行划分,优先保障关键应用的使用。


线路度量,是用于监测线路质量,通过对应线路探测报文的丢包、时延、抖动来判断,有ICMP协议探测和http协议探测两种探测方式,ICMP检测是以T为周期,取样N个计算平均延时、标准差,以及丢包情况。



而HTTP的检测方式中丢包的计算方式不同于ICMP,HTTP的检测中丢包率相当于重传率。



通过这两种方法进行判断后,可以根据线路度量结果分为符合阈值和不符合阈值两部分。同时存在多个符合阈值出口的情况下,根据接口索引大小进行排序,实现依照线路质量选路的策略调度。线路度量的策略调用可以使用在多个场景下,比如说VPN场景下,可以针对VPN线路质量进行检测,依照线路度量选择最有线路来防止出现VPN经常掉线的情况。


基于应用的路由选路可以实现访问特定的应用按照客户指定的线路去进行转发,那质量最优的路由选路策略是按照多线路中当前质量最好的线路进行选路,多链路负载均衡的话是所选择的应用按照选择的多条线路来平均进行负载的。门店场景下线路切换不成功的问题,可以针对线路度量选择线路,不同优先级指向不同接口,始终确保选路正常。


         
           

小结:SD-WAN的内容还有很多,一篇短文不足以完全涵盖,只是希望大家可以通过这篇短文对SD-WAN有了一个初步的了解。

         
           
           
最新回复 (0)
返回