背景
随着公司业务复杂度越来越高、节点覆盖也越来越广,满足各业务节点灵活的网络访问需求给网络建设和运维提出了更高的要求。在这样的业务需求背景下,结合SD-WAN(SD-WAN(软件定义广域网)是将SDN技术应用到广域网(WAN)场景所提供的特定服务,这种服务用于连接不同地理位置的网络节点,并为这些节点之间高效互访和节点特定访问需求提供保障)架构理念系统网络推出了网络加速平台,其构建了在爱奇艺现有基础网络之上的一张overlay平面,提供了各节点灵活互访的能力。网络加速平台的业务管理、策略控制和数据转发功能实现上分离,为业务用户(包括物理主机、虚机等)针对性提供差异化网络平面的加速服务。
网络加速平台基于SD-WAN架构实现,并对加速业务自动化统一管理,很大程度上减轻了随着网络规模和业务种类增加时链路数过多及调度策略复杂时的运维工作,提高了管理效率和网络运行效率。平台通过差异化路由策略实现目标节点的引入,提供统一的路径规划,并可以根据网络运行状态动态调整业务路径。
解决方案
平台架构
如图1所示,平台自上而下分为业务控制层、路由控制(overlay)层和underlay数据转发层,overlay构建在实体underlay数据转发层之上,系统管理员通过业务控制层进行业务管理,业务控制层通过FAST(爱奇艺业务配置管理系统)、SSH及NETCONF等作为南向接口协议与数据转发层相互通信,业务控制层感知网络的路径质量和运行状态为用户流量提供最佳转发路径。
业务架构
网络加速平台从左向右分为三个平面:业务接入平面、路由控制平面、数据转发平面。
业务接入平面:业务接入平面作为网络的入口在平台内和路由控制平面连接,同时配置主用链路和备用链路双接入,根据不同的业务类型,通过不同的设备接入特定的网络平面。业务接入平面设备提供客户主机的接入功能,同时在特定的网络场景下接入路由器可以和转发出口路由器直接建立互联,为业务提供特定的Internet访问路径。
路由控制平面:路由控制需要承载全部各大运营商汇总后的路由,同时承载全部中小运营商需要加速的路由,并通过路由策略(线路长度、链路cost等)控制不同的业务接入设备接入到不同的网络平面。
数据转发平面:数据转发平面和路由控制平面互联或者和特定的接入平面设备逻辑直连,不同出口的路由设备仅需要发布本运营商汇总后的公网路由给路由控制平面特定的网关设备,转发设备只发送路由而并不接受平台控制平面发送过来的公网地址段路由,同时设备兼做出口网关。
路由控制
网络加速平台当前主要实现内网访问外网和外网访问内网两种不同应用场景并针对性提供不同技术方案以满足不同业务需求,网内underlay实体网络由专线或者链路组成,专线连接孤岛节点,针对只能特定地址访问和内部代理节点代理模式通过VPN隧道的方式打通加速平台和内部节点的连接链路,并通过BGP策略指定特定路径。
当业务接入平面节点业务为QNET业务、监控业务、堡垒机业务等需要全部小运营商路由情况下接入路由器同路由控制平面设备建立EBGP邻居,学习各接入小运营商及QNET全部加速路由。业务接入平面路由器在BGP邻居上配置不同的MED值以区分到南方和北方不同方向的主备EBGP路由。EBGP策略默认接收全部邻居路由,但仅发送隧道接口IP地址到控制层路由器。
控制平面路由器之间建立IBGP邻居关系,北方和南方各取一个节点设备兼做RR,IBGP邻居之间无需配置路由策略,路由控制平面设备上承载国内三大运营商、QNET、所有小运营商所需加速地址段全部路由信息。控制平面除了作为路由的汇聚点,同时也会成为流量的中转站,为了更合理得疏导网内流量到合理的中间节点控制平面设备的分布需要能起到疏解汇聚流量的作用。
路由策略示例:
方向/层次 | 接入 | 控制 | 转发 |
入方向 | 默认接收全部邻居路由地址段,不接收控制层发送过来的默认路由,接收默认路由需要单独策略配置,保证业务流量可以到特定出口。 | 默认接收全部出口EBGP邻居路由。 | 仅接受隧道互联IP地址段建立IGP。 |
出方向 | 发送隧道互联IP地址段建立互联IGP。 | 到业务接入路由器设备默认发送全部路由,不做策略控制,针对特定业务接入节点只发送和业务相关的路由。不发送任何目标网段路由到转发层,仅建立互联路由。 | ISP接入路由器通过配置EBGP的network方式,将ISP汇总后的地址段全部发送到路由控制器中,并配置no-export属性,使得大ISP路由不透传给业务接入平面路由器上,小运营商路由配置预先分配的community值。 |
服务场景介绍
特定网络出口或特定目标节点访问
此场景主要解决特定机房业务主机访问异地特定网络节点的需求,网络加速平台在所需要访问的出口部署网关设备,每台网关设备和路由控制平面建EBGP邻居关系并将自己所能到达的路由发布到控制平面,控制平面将和接入平面设备同时建立EBGP邻居关系,根据接入设备所服务的业务节点发布特定路由到接入层以此引导用户流量到特定的网络出口。所有的路由策略在控制层设备落地。
如果业务2需要访问广电某个机房某台服务器,其IP地址范围为x.x.x.x/27,那么这个地址prefix通过EBGP从转发层设备发布到控制平面再到接入平面设备,业务2主机配置到这个地址的静态路由并通过隧道和接入平面设备连接,指定下一条到接入平面设备,此时业务2主机就可以访问这个机房的这些服务器。
远端网络本地下沉
基于爱奇艺基于MPLS VPN的QNET网络并在其上开启L2VPN服务,在多点间构建大二层网络,可以将远端网络IP地址下沉到QNET所覆盖的各个分布式节点。和三层VPN不同的是原始报文的以太网二层地址在跨越核心网络时并不发生变化,而是作为负载被打包到了新报文数据负载中,保证二层信息可以跨网传递。这种方式降低了业务分布式部署复杂度,提高了服务灵活性。
如上图所示192.168.1.0/24段网络网关(192.168.1.1)在右上角,左上和下方的两个节点均和右上角的节点在不同的物理位置,此时我们可以将相同网段内地址(192.168.1.100和192.168.1.200)部署在这两个节点上面,使得分布式节点整体可以在一个二层域内。这样的业务互联方式可以满足不同网络环境下统一的业务配置管理,获取快速和灵活的业务部署能力。
默认路由指定特定网关
针对机房内主机选择特定互联网出口的场景,传统的解决内部主机访问外网的方式是通过主机和外部出口网关建立内部隧道然后通过网关接入互联网。网络加速平台提供基于主机默认路由方式访问外网的方法,在主机机房部署奇路网关,奇路网关和多个出口网关建立外部VPN隧道,内网主机配合外网DNS可以正确解析用户所选择的特定运营商出口,并根据用户选择或者负载均衡策略将用户流量导入到相应的出口网关。奇路网关通过策略路由做访问限制,用户出网权限通过平台统一管理,申请通过后将用户主机地址在策略路由中放行。
在基于VXLAN建设的IDC中跨越TOR的访问为三层访问,TOR作为VTEP和VXLAN网关限制了主机的二层广播域,所以内网主机访问外网需要三层隧道或者路由方式来调度用户流量,本方案结合隧道和主机默认路由的方式提供内网主机访问外网的方法,根据出口网关的位置和数量可为内网主机提供差异化的访问出口。
域名路由
域名路由是指业务主机可以根据域名作为条件选择特定的路径以达到最优的网络访问质量,其主要的问题在于域名解析结果的动态更新、解析结果与路由表的绑定及多出口的接入。网络加速平台通过业务主机的DNS服务程序dnsmasq来实现这些功能,dnsmasq解析到目标域名的主机后根据静态配置出口或者出口选择策略将解析IP及下一跳写入主机路由表中达到特定域名走特定出口的目的。
某些业务会对多个外部系统产生依赖,比如支付体系会使用apple支付、微信支付和支付宝等支付方式,那么针对不同的支付接口的访问均需要访问不同的域名,而且不同的支付系统所访问的最优路径有所不同,所以按照不同的域名将访问流量调度到不同的隧道入口可以提高业务整体的服务质量。
总结及展望
网络加速平台作为SDN体系建设中重要的一部分为业务节点的互通和特定访问需求提供了网络解决方案,通过动态路由协议、overlay加速平面和差异化的调度策略提高了网络访问的效率,基于SD-WAN架构思想通过软件管理平台统一对接入业务进行管理、调度和监控,让业务更灵活得感知网络运行状态,根据网络服务QoS和网络故障情况实时切换路径,保障业务稳定。
平台在演进的过程中不仅需要解决节点之间、内部节点到外网的访问需求,也需要扩展支持内网对外提供服务的场景,能提供同时兼容东西向流量和南北向流量的管理和调度能力。同时平台需要不断扩大进出口的覆盖、扩展专线与公网混合调度能力来提高平台的鲁棒性,提升二层、三层到七层的全栈路由加速能力,以提高基础网络对各业务全方位的支撑能力。
声明:本文来自爱奇艺技术产品团队,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。