北京HUB:CPE双线接入MPLS网络和宽带网络,宽带网络具有全球IP。
杭州HUB:CPE双线接入MPLS网络和移动网络,宽带网络具有全球IP。
SPOKE1:单线旁挂接入站点核心交换机,无全球IP。
SPOKE2:CPE双线接入MPLS网络和宽带网络,宽带网络具有全球IP。
SPOKE3:CPE双线接入MPLS网络和移动网络,移动网络无全球IP。
MPLS组网情况:北京HUB-杭州HUB互联、北京HUB-SPOKE1互联,北京HUB-SPOKE2互联。
宽带组网情况:北京HUB-杭州HUB-SPOKE1-SPOKE2-SPOKE3全互联。
移动组网情况:杭州HUB-SPOKE3互联。
组网要求:满足高优先级音视频传输质量,同时降低MPLS线路资费。
组网说明:除SPOKE1和SPOKE2之间为动态隧道外,其它都是静态隧道,SPOKE3与杭州HUB之间存在一条LTE类型的灾备隧道,如果杭州HUB不具备LTE的公网IP,则流量经LTE网络绕行到Internet接入杭州HUB即可。
技术选型:考虑SD-WAN的SD特性,整体框架以SDN架构为基础,南向配置协议采用NETCONF,业务控制器具备上帝视角,为满足轻快性将控制协议私有化;北向开放WEB API;东西向考虑到WAN灵活组网要求将路由协议从业务控制器中剥离,下沉至CPE。
管理面:南向使用网管,配置采用NETCONF,部分监控对接业务控制器;北向使用WEB,开放查询和配置页面。
控制面:业务控制器使用私有协议管理业务状态和转发状态,由IPSEC保证通信安全;仅路由采用自学习方式下放到CPE层面,启用BGP协议。
业务面:参考华为DSVPN方案,满足HUB-SPOKE组网和Full Mesh组网。转发层同时包括DPI、智能选路,传输安全性由IPSEC保证,与FW组成服务链,为可选组件。
定义:站点开局属于线下(离线)管理与配置的一部分,为CPE入网提供必要条件。
作用:避免运维人员在点配置,使设备有效、安全入网。
类型:U盘开局、邮件开局、短信开局等。
入口:CPE装备完成、线路接入就绪。
出口:CPE成功入网(Internet),并于控制器成功通信。
开局流程:
1、 网络管理员根据CPE所在站点环境配置准入网设备的网络基础配置,包括设备标识及类型、授权证书、DHCP服务器或静态IP及Underlay路由协议配置(二选一)或其它(置于组网管理),并生成ZTP开局配置,由系统安全加密后导入U盘或邮件服务器或短信网关中。
2、 装备人员插入U盘或使用CPE访问邮件URL由CPE自动获取ZTP配置,或发送安全指令到短信服务器后获取配置并使用CPE WEB配置页存入。
3、 CPE加载ZTP配置后,尝试申请入网。这里指SD-WAN网络,主要是控制中心(可能是网关)对CPE进入SD-WAN网络的认证授权,而如打通Internet默认通过DHCP或静态IP配置可以实现,由装备人员通过CPE自带网络联通性检测功能测试。
4、 控制中心根据CPE发过来的请求入网信息,校验并认证,发送入网状态,并保存CPE入网状态以供查询。CPE根椐入网状态处理,包括入网成功、失败(ERRNO)、超时等。
5、 CPE收到入网成功后,进入就绪状态,此时可由控制中心下发组网配置,让CPE接入SD-WAN网络(此部分置于第二配置阶段)。
定义:CPE接入SD-WAN网络并为打通私网网络进行的接入配置和路由配置,为业务Overlay转发提供通路保障(部分可置于ZTP)。
作用:避免ZTP开局过于繁杂,以及配置安全,同时满足后期的可变更性。
内容:配置包括:网络信息、VPN接入配置、路由协议配置。
入口:ZTP开局成功。
出口:CPE接入SD-WAN网络成功,私网数据可达。
组网过程:
1、 HUB根据本区域网络类型选择合适的转发模式,如HUB-SPOKE或FULL MESH(区分[no] Shortcut)(HUB间属于骨干组网,配置可固化)。
2、 【可选】CPE根据二阶段配置连接到指定业务控制器,处理集中型业务。
3、 CPE根据二阶段配置逐一创建MGRE接口(动态拨号创建或静态配置)及运行参数,并在接口上使能IPSEC,启用NHRP向HUB注册(或向业务控制器注册再反射回HUB),生成MGRE接口网络。
4、 CPE根据二阶段配置在MGRE所有网段和内部私网网段使能路由协议(如BGP),通告本私网路由并学习其它私网路由,再向转发面安装优选路由。
5、 CPE根据二阶段配置同步使能线路检测模块开启质量或流量检测。
6、 CPE根据二阶段配置同步应用流转发策略,启用DPI和智能选路工作。
定义:控制中心在线的业务管理(部分可置于组网管理)。
作用:为支持软件定义服务提供必要条件。
内容:实时变更组网配置、设备管控、运维监控。
管理包括:
组网配置:变更IPSEC安全密钥、变更转发模式、变更入网线路及参数、变更流转发策略、变更路由协议参数等。
设备管控:设备版本升降级或组件热补丁、线路阻断或切换、弹性伸缩等。
运维监控:收集日志、收集线路质量或流量状态、收集系统负荷(CPU、内存、IO)信息等。
控制的作用主要是实现所有SD-WAN网元的协同工作,以此来实现最优组网。
方案采用混合控制模型,部分业务依赖于业务控制器进行统一调度,部分业务出于性能和转发需要下沉至CPE(如咖啡色通路),包括路由协议和NHRP协议。
由于CPE需要满足LAN侧的组网需求,并且需要对接Tier 1运营商网络,需要保留IGP或BGP协议;同时SD-WAN转发层智能选路决定,路由控制层仅维持路由的无环性和可达性即可,稳持一定的恒态;中心路由方式下,业务控制器需要与所有CPE确立邻居关系,大规模组网受限;另外,CPE仍然需要路由协议或代理协议分发来自业务控制器的路由。所以,采用传统路由协议Overlay的方式比较合适。
另外,由于采用MGRE接口承载Overlay业务,其p2mp类型需要明确知道所在域的“邻接”关系,以建立MGRE“域“,此时依赖于CPE“注册“,而NHRP协议具备注册过程满足此需求。另一种方法,采用中心收集分发的方式也能满足,但不太完美,原因是CPE到HUB双向物理联通性是无法预知的,而NHRP注册的同时也证明了联通性。这是所有集中控制方式需要考虑的条件之一。
备注:业务控制器与网管所处同一逻辑层次,但并不意味着两者完全绑定,业务控制器由于与业务强相关,一般可以置于HUB处,或作为HUB中的一个服务组件。
业务是否需要放在业务控制器依赖于业务是否需要具备”上帝视角“-全局可查性和全局可控性,如TE工程。例如,业务控制器收集全网CPE信息,包括线路质量信息和流量统计信息,以及CPE系统负荷等,收集数据并综合运算得到策略,并将策略下发到关联的CPE,控制流转发路径。
本方案中将线路检测置于业务控制面(蓝色通路),SD-WAN网络中所有CPE分段收集其“相邻“单向线路质量和流量状况并上报到业务控制器,由业务控制器计算整网质量情况,汇总给网管或下发流切换指令。
路由特点:集中转发模型,跨SPOKE通信流量经HUB绕行。
备注:不同运营商选用不同的内部GRE网络,一方面在选路业务上不同的运营商线路具备不同的传输特性;另一方面在后继章节实现FULLMESH时可避免南北线路问题以及VPN FULL MESH问题。
此种组网模型下,所有SPOKE间通信经HUB绕行,一方面SPOKE侧性能较弱无法处理大量路由或建立大量隧道;另一方面经HUB可充分利用现网专线,延迟或许不是最优,但传输质量更可靠更稳定。
上述组网中,由HUB根据当前组网模型,向SPOKE通告聚合路由来减少路由规模,并将所有路由的下一跳指向HUB;SPOKE在路由层面形成双线负载上行。
路由特点:支持SPOKE间直建DVPN进行通信,避免流量经HUB绕行。
此种组网对设备和组网的要求与HUB-SPOKE组网大致相同,仅在某些SPOKE间有需要直建VPN通信的需求时启用,一般情况下SPOKE间有专有中速线路,而不是使用低速宽带线路(当然如果部署时能确认两SPOKE所属相同宽带网络并且通信距离较近可以在策略上使用此种通信方案~FULL-MESH在现网中部署实用意义不大,更多是技术意义)。
路由协议组织上与HUB-SPOKE相同,特殊性在NHRP上。此模式下,初始流量经HUB绕行,同时SPOKE在路由后(决策)触发NHRP查询请求,HUB使用NHRP返回下一跳信息,借用此信息向SPOKE同时表达重定向路由或不可达信息;SPOKE收到NHRP重定向路由响应时正时触发动态隧道创建,创建成功后更新转发表(橙黄色表项,特别:重定向路由可以指向HUB本身),将流导入此通路;SPOKE收到不可达信息时,中断本地流转发(或向LAN侧设备通道ICMP路由不可达信息)。
动态隧道在业务流量中断一定时间后,自动拆除动态隧道;并且主动响应隧道断开事件,并反向拆除路由。
此种组网模型下,业务流量与SHORTCUT大致相同,不同点在于初始流量的处理-SHORTCUT模式下流量经HUB绕行转发,而此模式下,流量直接由SPOKE转发,故而存在初始流量的延迟或者掉包。故而,FULL-MESH模式都要求SPOKE与SPOKE存在一条专有线路支撑,DVPN仅利用两者的宽带网络实现降费。
路由协议层面将向SPOKE下发明细路由,并且不修改下一跳,这样SPOKE可以互相学习到明细路由,而部分低功耗机-如瘦CPE,可以将路由再次聚合,或直接一条Overlay缺省路由到HUB。
业务流量仍然会触发NHRP学习下一跳信息,同时学习到后的NHRP信息仍然可以创建路由信息,具备明细路由的CPE优选一次路由即可,无明细路由的瘦CPE侧直接加入转发层。
整网需要支持包括单播、组播特性,采用mGRE接口来承载此类业务。此种接口类型属于p2mp类型-对HUB侧而言属于Broad类型;对于SPOKE而言属于P2P类型。
mGRE接口属于动态接口,由SPOKE CPE上线后使用NHRP向HUB注册(整体过程涉及HUB mGRE和DHCP Server交互),进而分配到私网IP地址,而mGRE联动NHRP获得向P2MP域注册的所有CPE,从而建立接口逻辑关系。
业务流量经mGRE口时,将触发NHRP再学习全局下一跳IP(尝试获取最新全局下一跳IP),用于封装GRE外层头部。组播报文经mGRE接口后发送到所有NHRP域内CPE,单播报文则经过路由转发后递交到指定下一跳。
通过Internet传输的报文一般需要通过IPSEC进行加密保护,由IPSEC关联mGRE接口,GRE将流量递交给Gigabit接口时,由IPSEC截获进行透明加密,并根据应用场景使用传输模式或隧道模式。
此时CPE LAN侧下挂多个网段的子网,CPE为L3网关角色,流量经普通路由后转发到另一个子网。LAN侧仍然可以下挂路由器,并使用路由协议与CPE互学路由;不同子网仍然可以承载在同一个物理端口上并使用TAG区分,此时CPE可能涉及L2组网需求,包括Port Agg和STP。
支持访问Internet的流量通过“接入”CPE后发送到Internet,CPE在路由层面仍然为L3网关角色。不同于本地私网互通,访问Internet的流量将额外经过访问控制策略以及质量服务保障,具备FW功能的CPE将同时进行安全性控制,不具备FW功能的CPE将通过服务链递交到FW统一处理,而从Internet返回的流量过FW后直接按普通L3转发进行。
与普通Router TRAP报文处理流程相同:流量经驱动接收后判断为本机报文,根据TRAP策略和报文优先级进行上交,协议栈慢转处理L3报文时,判断SOCKET已绑定此流量,则交SOCKET处理,从而递交数据到应用。
异地私网互通将通过整个Overlay转发路径:1)LAN侧报文经转发寻路后,由智能选路决策(根据线路QOS和线路质量情况,且具备一定惰性)后选择一条隧道GRE出口和路由下一跳,由GRE接口驱动根据NHRP表项封装外层IP,再入转发节点进行二次选路后走物理接口发送(如果某隧道已启用安全保护,则由IPSEC进行透明加密处理后发送);2)WAN侧通过物理口接收Overlay本机报文,首先可能经IPSEC正确解密处理后再交GRE接口处理剥出内层私网数据,单播组播数据都经转发决策后通过LAN侧物理口发出。整个报文处理过程,包括ARP学习、QOS应用与Underlay处理相同。
QOS应用可以在隧道口针对Overlay层流量,同时针对物理出口仍然需要应用QOS,特别是物理口同时承载上网流量时;智能选路依赖于线路质量情况,但同时需要结合线路上各业务的QOS需求,另外智能选路可能需要双向同步,故而选路标记可能通过流同步到对端。
实际物理接口在同一台CPE上可以是多个或者复用一个,包括LAN侧和WAN侧。
异地访问Internet = 异地私网互通+本地访问Internet
某些组网可能采用内置FW方式,此时HUB/SPOKE将对出口Internet流量进行NAT,故而NAT需要在Internet出口对私网网段生效。
异地TRAP报文主要体现在CPE控制协议之间的通信,如上述OSPF协议。流程与异地私网互通基本相同,仅将两地LAN侧接口间的通信变换为两侧协议栈之间的通信。
由VRRP通过虚拟网关将双CPE设备抽象为一台设备(一主一备),LAN侧网络配置静态网关指向VRRP网关即可,下挂多个子网时CPE需要支持子接口。
LAN侧网关由CPE变为直连路由器(或L3交换机),路由器与双CPE间启用IGP路由协议,由路由协议自动形成主备线路。
L3层面与《VRRP主备》相似,在L2层面,由L2 SW配置Port Agg对流量进行负载,CPE1,CPE2,L2 SW之间所属同一个网段并配置STP防环,流量可以经CPE2过L2转发到CPE1(主网关),对LAN侧形成L3主备可靠性的同时增加L2线路的负载可靠性。
与《路由主备》组网相似,不同在于Router将来自CPE1和CPE2的路由形成负载,并且CPE1与CPE2互相通告路由。此种组网除LAN侧负载上行外,同时对WAN侧Overlay线路形成主备保护,如CPE2上行WAN侧路由断开,可自主切换路由到CPE1。
两台CPE分别双线接入运营商,各自分别通过两个运营商与HUB建立隧道。WAN侧同时启用路由协议与HUB建连,如果LAN侧主备,则WAN侧HUB也会优选其中一个CPE作为主线路;如果LAN侧负载,则WAN侧HUB仍然可以形成四线负载;流量对称性问题由智能选路规划。
Underlay:两台CPE各自单线入不同运营商,HUB双线接入运营商。Overlay:两台CPE分别与HUB建立两条隧道,故而两台CPE互为WAN侧网关,要求CPE互相打通各自运营商路由,并要求隧道支持创建同源(IP)双隧道。
双隧道模式下,一条是使用CPE本地运营商连接,另一条使用对端CPE运营商线路,故而对端CPE仅作为另一个运营商的出口网关,故而需要做NAT。
HUB 双CPE双线入网,SPOKE单CPE双线入网并同时与HUB双CPE建立各自建立两条隧道。由于路由协议可控制在CPE形成四条负载,但考虑实际组网需要,一般HUB双CPE形成主备即可。
HUB双CPE各自单线接入不同运营商;SPOKE单CPE双线接入,分别通过不同运营商与不同HUB CPE建立隧道;HUB CPE间可打通路由为满足所有接入不同运营商的SPOKE CPE之间的通信,同时也为HUB LAN提供双链路备份。
站点创建为预开启站点远程创建配置模板,并将模板加密上传至开局U盘中,支持批量开局。
首先由网络管理员为指定办事处或分支机构创建入网配置,初始配置目地用于打通WAN侧网络,并接入LAN侧网络。
然后由网络管理员为分支站点设置第二阶段配置,使SPOKE成功入Overlay网络:
备注:为保证配置的正确性,网络管理员需要在测试网络或虚拟网络中测试验证后导出配置模板到U盘或网管配置数据库。
工程装备人员在部署设备或布线完成后,插入ZTP开局U盘,设备自动识别U盘并尝试加载其内的合法配置,主要包括获得WAN口IP或路由来连接网络,并登录网管实现站点设备认证。
CPE加载U盘配置后成功接入互联网,并尝试接入网管服务群,申请加入Overlay网络。CPE携带授权证书向主网管发送申请,如果主网管未响应,则切换到备网管;网管对授权证书进行有效性检查,并同时检查入网策略(允许、延期、禁止等)后反馈给CPE,CPE收到有效授权后启用资源及组件。
CPE入网成功并就绪后网管将向CPE下发其预置配置,包括GRE接口配置、NHRP配置、路由协议配置(如BGP)、组网及转发模式、应用转发策略及QOS、NTP等,使CPE成功接入Overlay网络。
CPE如果采用运营商分配的静态IP方式入网,则需要启用与运营商相同的路由协议将此IP路由分发到运营商网络,用于CPE全球组网。不同运营商可能启用不同的路由协议,同时不要求CPE互导运营商路由(仅作为CE接入),当CPE在路由选择上,要保证路由最优,如访问电信的IP,一定需要从电信的网络出去。
由于所有CPE配置已通过网管下发,所以SPOKE接入指定HUB(一个CPE或多个CPE)的方式采用“静态VPN”即可,即固定的HUB接入点以及VPN隧道信息,但需要由NHRP Register向HUB注册加入到mGRE域,注册报文同时通过多条隧道注册,而Internet VPN将通过IPSec进行加密保护。
在SPOKE和HUB之间的基础VPN建立成功后(即可以Ping通对端TUN口IP),包括路由协议、NHRP协议在内的所有Overlay层控制协议即可开始工作。
路由协议覆盖本地私网网段,将其通过隧道口邻居发送到Overlay网络,由HUB学习并转发到其它SPOKE。SPOKE根据转发模式的不同安装不同的类型的路由,如HUB-SPOKE组网或Full Mesh的Shutcut模式安装聚合路由,路由下一跳皆指向HUB; No Shutcut模式下,由HUB通告SPOKE-SPOKE明细路由,同时将路由聚合后通告给SPOKE,SPOKE收到路由后同时将明细路由和聚合安装到转发层,举例如下(SPOKE1):
172.168.1.3查找依赖按路由关系会定位到192.168.1.0/24路由,此时会认为192.168.3.0/24有效而被安装到转发层,但实际应时由于底层采用DVPN方式,此时转发是不正确的,一般可通过DVPN创建成功后采用反向注入路由方式形成172.168.1.3的主机路由。
用户业务流量经LAN侧接口进入CPE时,CPE角色作为一个三层网关将根据路由决定流量方向,类型包括Overlay和Underlay。Overlay以隧道接口形式体现,Underlay作用在具体的物理出口,如上图所示,同种类型的出口可能存在一个或多个。
应用识别作用于WAN侧出口流量,即经转发后出口为隧道口或WAN口(本地上网),不包含Local Network或本机流量。
识别出需要DPI的流量后同步交DPI组件进行预处理(静态方式),大多数流量可以通过预处理方式进行识别,预处理后的流量实时转发;部分流量需要进行更深入DPI决策,流量初始几个报文将临时放行,如果识别超时将中止并上传流特征;识别结果将同步或异步更新流策略表以指导后续转发。
更深入的DPI识别可能需要双向协助,依赖于业务控制器集中收集或分析。但SD-WAN(企业侧)中流量一般比较明确,基于静态DPI的方式基本能识别全部应用;基于上网行为检测和控制的DPI实现更复杂,是一种新的解决方案。
智能选路体现在Overlay侧,故而线路质量检测需要对隧道或隧道网络进行质量探测。在企业SD-WAN中,CPE通路无非是HUB转发或FULL MESH转发(二选一),故而线路检测仅需要检测段内质量数据,基于HUB的全网质量数据需求并不明显。
线路检测有两种方式,一种是基于PINGPONG的回路检测,一种是基于中心协调检测。前者属于自适应性检测,鲁棒性很强,但精度略差;后者属于集中同步式检测,精度高,鲁棒性不足。
线路检测对实时性和带宽提出了挑战,确保实现SD-WAN“提速降费”的目标。
在企业SD-WAN组网中,我们采用纯IP逐跳转发(另外一种IP源路由,适用于运营商SD-WAN),故而采用段内质量检测,智能选路就基于分段的方式,这种方式完全可以满足企业的组网需求。
在多路径下,针对当前应用流量的转发需求,优选一条符合转发质量的路径。同时需要避免流量中断或频繁切换,以及对其它业务的影响。
负载双线双CPE上行时需要考虑流量切换是否会中断现有业务,特别是经过若干NAT设备的情况,部分业务可能需要双CPE的热备考虑。
流量切换后对新通道所承载业务的影响,这一步应该是流量切换的预判条件之一。切换后需要配合QOS对新业务流量的质量保障,同时需要确保其它业务在一定的质量可靠范围。流量回切仍然是同样的策略。
私网办公数据经公网传输时,为了访止暴露内部办公应用,同时保护数据安全需要对私网数据进行加密保护。常用的有SSL/TLS和IPSec,而对企业来说,使用安全级别最高的IPSec属于最佳选择。
业务流量经转发过MGRE隧道后,由IPSec针对发往Internet的流量进行透明加密保护,故而在传输时出口MTU需要将加密后的数据长度考虑进去。而针对非Internet流量,如MPLS私网已保证了租户信息的隔离和安全,一般不需要开启加密保护。
这里的NAT穿越是SPOKE和HUB之间通过NAT设备的通信,不包括SPOKE和SPOKE双方都在NAT之后的打洞场景。
对于大多数控制协议,都需要维持“会话”关系,故而通信是双向随机的,这种需求使双方都需要获取GIP。而数据在穿越NAT之后,源IP或源PORT将发生改变,单纯依赖普通通信头部来进行传输的控制协议将失效,如果要支持NAT穿越,协议需要同步支持NAT检测和NAT穿透。
穿越NAT一般交给最外层实施,SD-WAN在Internet传输时开启IPSEC加密保护,故最外层为IPSEC,由IPSEC开启NAT-T即可实现NAT穿越;控制层面,配置协议NetConf天生支持NAT,也能满足此需求;其它私有协议如果需要穿越NAT,则一般通过在头部中增加UDP头部来实现。
MPLS私网中不存在NAT设备,故而不需要支持NAT穿越。特殊的,对于使用MPLS上访的场景则需要考虑。
可视要求将Overlay网络的工作情况转换为用户可见的工作状态,并且满足用户视角。如线路状态-包括线路质量数据、流量数据、拥挤情况;设备状态-包括设备IO使用率、内存使用率、CPU使用率等;应用状态-包括应用种类、应用分布等。除可视可查的需求外,在此基础上要求的“所见即所得”,如针对某Overlay线路调整带宽或Cost、关闭某条线路、扩容某个CPE等,在全局可视地图上需要实时汇总这些情况,并可以在其上进行可视化操作。
软件定义体现在可编程性,具体包括:可扩展性、易操控性、可视性,SD-WAN组网在满足传输组网之上需要实现的软件自定义部分,软件自定义表现在用户自定义上。如用户可以随时针对应用流量路径进行规划或调优,某设备压力多大时的动态扩容及资源重分配,设备在线热升级、还有包括上述可视运维的部分。
SD-WAN是SDN的子集,但与SDN不完全相同,可以说其是一个混血儿,包括传统组网和SDN组网的优点,并把这些优点集中来解决WAN传输的问题。
SD-WAN技术现在各个厂商实现比较分散,还未出现一统江湖的RFC文案,但据说SD-WAN RFC草案已提出,纵观各厂商方案,个人觉得,H3C的AD-WAN方案比华为的SD-WAN方案更进一步,是后续SD-WAN的技术趋势。
SD-WAN最吸金的地方还是体现在运营商侧,企业侧则体现在少数政企行业。SD-WAN最大的应用市场集中在中国,是实现“多快好省”“提速降费”的技术手段。