业务决定网络:论不同规模的基础设施构建思路

By 任闻讯@人人行

互联网行业高度依赖网络等基础设施,因自身业务定位,不会像电信运营商一样自行大规模建设。因此,构建与自身业务相匹配、兼顾长期发展的网络等设施也是互联网行业发展中需要高度关注的要素。

不同的业务类型,对网络带宽、时延、SLA等均有不同的要求,例如搜索业务、即时通讯、视频点播、直播等不同业务类型对网络时延、抖动、丢包率等质量的要求会有很大的不同。因此,必须由业务类型来决定网络的架构,由业务需求决定网络等基础设施的功能、性能及安全等要求。

因此,构建网络等基础设施时需要综合考虑总体性能、扩展性、稳定性、可运维性,同时基础设施的建设和运维费用较高,性价比也是重要的参考因素。

一、不同业务类型及规模情况下网络的构建

对于外网部分的南北向流量(主要是用户访问业务或推送给用户产生的流量),主要的关注点包括:规模方面关注并发量,业务类型关注报文格式和长短连接等,安全性方面关注安全隔离、IP端口和加密通信等,网络质量方面关注互联网出口类型等。

本文将以目前常用的移动互联网解决方案对各类互联网出口模型进行描述。互联网应用中标准的三层架构包括:Web服务、应用服务、持久化存储等。对外提供服务的为Web服务层,一般采用Apache、Nginx等。

为应对高并发和满足高可靠性,现在网络中常见的的负载均衡主要分为两类:一类是商业化硬件产品,常见的有F5、Radware、Array等,一类是LVS、Nginx、HAproxy等的基于Linux开源的软件解决方案。

至于选择标准,除了适应的规模和业务类型、安全及性价比以外,还要重点考虑建设和运维团队的能力匹配(选择的技术方案必须能够被熟练的部署和运维)。总之,在不同的发展阶段使用不同的技术。

发展初期,最佳方案就是租用公有云服务,目前国内的阿里云、腾讯云、UCloud等均提供了LB、VPC、VM等丰富资源,同时还有较完备运维监控系统,从而可以节约大量的基础资源部署和运维精力,专注于业务开发。

随着业务发展,业务规模上升、服务器数量不断增长、金融等行业甚至有安全合规的强制性要求等,使得自建IT系统(包括私有云、混合云等)的需求变得刚性。

第二个阶段,在业务规模较小时自建IT系统最常用、易运维的方式就是采用普通防火墙作为网络出口,同时配置IPS、WAF等专业设备进行安全防护,内部利用Nginx或者HAProxy进行单点的负载均衡,网络结构简单,配置容易,且有厂商进行技术支持。

从实际经验上来看,硬件防火墙在处理长连接的业务类型时CPU和内存消耗较高,若同时配置过多的包过滤策略、进行地址转换并开启高级功能(IPS、DDoS等),设备的CPU和内存消耗将会更高。随着业务增长,特别是出现高并发+长连接的组合情况时,普通防火墙很容易出现性能瓶颈问题。

长连接是指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。长连接多用于操作频繁,点对点的通讯,适用于移动互联网。短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。WEB网站的http服务一般都用短链接。

第三阶段,随着业务规模进一步扩大,单点的LB很难满足业务需求,特别是高并发+长连接的类型更会对性能提出更高要求,在大规模推广或活动期间尤为突出。同时,随着安全要求的提升,如内部应用获取外部用户真实IP(X-Forwarded-For/ X-Real-IP)、对外提供服务的https SSH证书加载/卸载等也提出更多功能需求。

这个阶段考虑采用商用产品F5或LVS(Nginx作为F5或LVS的节点进行部署)。这个阶段对资金和人员运维能力已经提出了更高要求,在人员能力跟不上技术和运维要求的时候优先采用商业化方案(如F5等),以快速满足业务需求(F5等商业产品可以根据业务需求购买不同的功能授权,包括DDoS、FW、WAF等)。同时,F5等商业产品还可以提供API接口用于自动化管理。

出于成本或后续发展考虑,在人员技能满足的情况下,可以开始部署开源LVS等解决方案。在该模式下,出口防火墙仅进行普通的包过滤,从而避免性能问题,防火墙可以采用串接或旁挂模式。公网IP地址配置在LVS集群上。

第四个阶段,随着业务增长、规模扩大、业务种类不断丰富、技术人员数量和能力逐步提升,这时逐步采用开源的LVS等方案将比较合适,一方面可以结合业务进行定制开发,一方面可以有效降低成本。在这个阶段,可结合采用OSPF、BGP等网络协议配合LVS集群部署。

随着业务发展,对稳定、可靠、安全等提出更高要求(例如灾备、双活等),可以逐步建设双数据中心、两地三中心、多数据中心多结构混合部署等。

“双数据中心 + 第三方IDC”网络示意图

“双数据中心 + BGP出口”示意图

两地三中心结构示意图


对于内部网络的构建,要根据单个IDC的总承载能力(根据计算和存储容量推算服务器数量)、业务和安全域划分等来进行设计,统一规划、分步建设。

网络架构应尽量扁平化,易于标准化建设、扩展和运维。

收敛比是构建内部网络的一个要点。服务器目前基本大多采用光接口(千兆或万兆),在成本受限的情况下,也可以采用电接口。

当服务器规模仅数十台时,可采用最简单的二级网络架构,收敛比可以达到1:1。网关直接放在核心交换机上,核心交换机与接入交换机之间的捆绑链路配置为Trunk模式。

当服务器规模在数百台、采用私有云及虚拟化方案时,需要将网关下沉到接入交换机,核心交换机和接入交换机之间启用OSPF或BGP网络协议。该结构在减少二层广播报文泛洪、STP收敛等影响的同时,避免了核心交换机过多的arp表项。

目前,主流厂商的万兆接入交换机一般为24端口和48端口连接服务器,4~6个40G端口或100G端口上行。在成本允许的情况下,一般每台服务器配置2个万兆端口分别连接2台接入交换机,2台接入交换机进行堆叠为一组并通过40G或100G端口连接核心交换机,每组交换机可以连接最多48台万兆服务器。现有的核心交换机支持接入多组交换机,从而不断横向扩展,单个IDC的服务器规模可以达到数千台。

在预期服务器数量为数千台规模的情况下,结合收敛比、可靠性、服务器接入方式(端口捆绑或多网卡多IP)等因素,具有多种演变架构。但总体来讲,都必须对每个接入组进行标准化设计。

当单数据中心超过1万台以上服务器时,对于大规模服务器集群可采用三级交换架构,同时根据每层交换机之间的预期流量来规划收敛比和连接方案。


Hadoop等大数据集群的网络结构

大数据集群的服务器网络带宽较大,建议单独给建设网络区域。同时,为提高服务器转发速率,避免服务器双网卡捆绑等产生的额外性能影响,且大数据集群自身具备冗余策略,一般部署中采用服务器单个万兆端口连接交换机。


专线外联等网络结构

在金融行业,存在大量的专线连接需求。为确保内部网络的安全性,一般会设立不同的安全域,例如外联区、前置区、外部应用区、数据库区等。

各个第三方接入时,普遍使用私有地址,会遇到IP地址冲突问题,需要提前规划好IP地址。同时,由于第三方双线接入时通常采用主备方式,建议在外联区的路由器上进行地址转换,结合OSPF、NQA等配置在主链路出现问题时快速切换。


二、关于DDoS

分布式拒绝服务(DDoS:Distributed Denial of Service)的种类很多,受限于运营商,目前没有一个完善的解决方案,必须根据业务类型、SLA、成本等进行合理建设。

DDoS攻击种类较多,按照TCP/IP协议的层次可将DDOS攻击分为基于ARP的攻击、基于ICMP的攻击、基于IP的攻击、基于UDP的攻击、基于TCP的攻击和基于应用层的攻击等等。

从总体构建上来讲,可区分为流量型和性能型攻击的防范。流量型是指超大流量堵塞互联网出口导致业务无法访问,性能型是指采用资源耗尽的方式对设备性能进行消耗,导致设备运行异常、无法响应等。

1、流量型攻击的防范

对于普通web类服务,建议 DNSPOD + 安全宝 + CDN的部署方案。

对于不能放置在云端的业务,针对攻击必须进行多层次防范。

从互联网过来的攻击流量,在图示中的4个链路节点均存在被攻击而堵塞的风险。由于国情决定,DDoS防护方案离不开国有三大运营商的现状。

你不得不知道的故事:原中国六大电信运营商(中国电信、中国卫通、中国移动、中国铁通、中国联通、中国网通)合并为现在中国四大电信运营商:中国电信、中国移动、中国联通、中国广电(刚入列的小哥)。

注:中国网通与中国联通G网合并为中国联合网络通信集团有限公司,简称中国联通。中国电信收购了原中国联通的C网及原中国卫通的基础电信业务,中国铁通并入中国移动,中国卫通拆分并入中国电信和中国航天科技集团。

在运营商侧,目前仅中国电信提供了骨干网抗D服务(云堤),提供自助封堵(将被攻击IP引至黑洞路由)和清洗/回注服务(价格较贵)。对于从中国联通和中国移动到达IDC的攻击流量,仍无法及时处置。三家运营商的不同情况使得无法整合运营商侧的抗D方案。

在IDC侧,攻击流量到达IDC和出口设备的互联节点,若IDC与运营商的出口带宽充足,对于具备流量清洗能力的IDC来说,通过清洗,可对总带宽以内的攻击流量进行清洗,确保正常业务访问流量到达业务系统,当攻击流量大于总带宽时仍然只能依靠运营商侧的封堵去消解。

若IDC与运营商的出口带宽不足,无论IDC是否具备流量清洗能力,均只能通过上层运营商进行封堵来消解。所以,IDC内部清洗能力只适用于带宽充足且具有完备的运维和处置团队的IDC供应商。

对于不具备流量清洗能力的IDC,只能进行封堵来消解攻击带来的整体影响。


(1)类型分析:IDC具备独立AS号并与各个运营商通过BGP互联的情况。

在正常情况下,IDC路由设备会接收运营商设备发送的全路由,同时向运营商发布自身的IP地址段,运营商接收并广播至全网。

当某运营商侧被攻击流量堵塞导致EBGP协议中断时,导致该运营商的BGP协议失效,届时大网通过路由的广播和学习,会将访问流量引导至未被攻击的运营商出口。该方案主要受限于大网络由的收敛时间,同时在攻击流量只是导致大量丢包或时延增大而BGP协议不失效的情况下无法发挥作用。

由于该方案需要IDC具备独立AS号和IP地址,且需要租用运营商的BGP带宽,费用昂贵。

对于部分第三方IDC公司,目前采用该类型的架构,并提供IDC侧的流量清洗服务,但一般也会对超过1~2G以上的流量进行封堵(可以与IDC公司进行协商),避免影响IDC其他用户的使用。

该类型下,如果所有运营商出口均被攻击流量堵塞,则只能申请上层运营商进行封堵,同时将业务IP地址更换,才能恢复业务访问。该情况会造成业务访问受损,且如果攻击方持续攻击更换后的IP地址,则业务将会长时间受到影响。


(2)类型:IDC不具备独立AS号,通过各个运营商代播IP地址段的情况。

在该类型的情况下,如果某运营商侧互联端口被攻击流量堵塞,由于其IP地址是通过上层运营商代播,而攻击只是导致链路拥塞而不是端口down,从而运营商代播的路由不会失效,将导致该运营商网络的所有用户无法正常访问业务。

在该情况下,只能申请上层运营商封堵被攻击的IP地址,同时将业务IP地址更换,才能恢复业务访问。该情况会造成业务访问受损,且如果攻击方持续攻击更换后的IP地址,则业务将会长时间受到影响。


为避免上述各类情况的不足,在实际应用中,结合建设和运维成本,推荐的方案主要有:

(3)如果只有1个IDC,则可以再申请1条运营商的线路作为备用,当主用出口被DDoS攻击时,通过外部DNS或移动端上的IP List进行切换。备用链路由于是单运营商线路,因此流量入口单一,且运营商IDC的出口带宽较大,可以对该链路流量进行清洗。缺点是其他运营商用户访问时延增大,业务响应变慢,体验变差,但不会导致业务长时间中断。

(4)如果具有2个或以上的IDC,第二个IDC可以选用运营商的IDC出口或再申请1条运营商的线路作为备用,当主用出口被DDoS攻击时,通过外部DNS或移动端上的IP List进行切换。备用链路由于是单运营商线路,因此流量入口单一,且运营商IDC的出口带宽较大,可以对该链路流量进行清洗。缺点是其他运营商用户访问时延增大,业务响应变慢,体验变差,但不会导致业务长时间中断。

(5)如果具备2个及以上IDC时,2个IDC出口的IP互为备份,当主要出口被攻击时,通过外部DNS或移动端上的IP List进行切换。若2个IDC的出口同时被攻击时仍会导致业务受损,在成本允许的情况下,可以参照类型1和2的方式再增加一条运营商的单线出口进行清洗。

该方案的缺点是成本较高,存在DNS切换时延,业务需要维护多组IP地址,对运维能力的要求也较高。

2、出向流量的防范

上述类型都是针对外部用户访问IDC业务的入方向流量保护,对于IDC内部服务器主动连接、推送、抓取等产生的主动出访流量,在互联网出口被攻击时,也会导致主动出访的流量无法回包。解决的思路一般是将出流量和入流量进行区分,当监控到攻击时切换至备用出口。

3、性能型攻击的防范

对于非流量型的DDoS攻击(例如syn flood等),主要是使设备的资源耗尽(CPU满负荷或内存不足)从而导致业务受损,其攻击时产生的流量并不足以堵塞端口。针对该类型的攻击,解决思路是多层防护。

4、对于DDoS攻击的监控策略(示例)

对于DDoS的防范,必须建设专业的运维团队,与运营商、IDC公司、业务部门及其他第三方等协同工作才能快速有效的处置,缩短影响范围和时间。

总体来讲,对于性能型攻击,可以通过流量清洗设备、出口设备高级功能开启、软件参数设定等方式进行分层防护;对于较小的流量型攻击,可以通过IDC及运营商侧的清洗进行防护;对于较大流量的攻击,则需要建立完备的运维和应急处置机制,使用更好的网络出口方案,结合出口链路切换、IP地址更换等手段保障业务。

三、运维(监控、告警和工单)

1、管理网络规划

网络及基础设施尽量单独建设管理网络,与业务网络隔离,使业务资源的操作流程和管理网络的操作通道分离,提高整体安全性。

将网络设备(包括防火墙等安全设备)的console口连接console口管理器,实现console over IP。

将网络设备(包括防火墙等安全设备)的管理口nmg/mgt连接普通交换机(采用超五类双绞线性价比较高),建议将管理口配置本地vrf进行隔离(尽量选用支持mce功能的交换机)。

对于管理网,如果有条件,建议设立单独的远程接入通道。

2、网络管理软件的选择

对于中小规模的网络,可以选用厂商自身的管理软件,也可以购买solarwinds等商业软件,在多厂商及成本约束条件下也可以部署zabbix等开源软件。Solarwinds等商业软件最大的优势是适配的设备种类多,功能全面,部署方便,在运维人员偏少的情况下推荐使用。

3、监控、告警和工单

当业务规模较大时,必须对所有底层资源进行统一监控、快速响应、及时处置才能保障业务稳定运行。

工程建设作为基础,要对所有设备和基础资源进行统一规划,监控和日志平台高度依赖基础设施建设和配置的标准化,包括IP地址、命名规范、配置规范、VLAN/VxLAN等。

按照标准进行工程建设和配置是各种基础设施设备和系统日志标准的基础。监控系统和日志系统收集到大量的监控和日志信息后,须通过日志平台进行关联分析,清晰识别各种等级的监控和告警信息。

经过识别并区分的监控和告警日志推动到告警平台,依据关联策略和分级策略,推送到一线值班人员和特定级别的专业工程师或管理者。

告警推送的同时生产工单,对定义级别的告警和监控信息要求在SLA规定时间内完成处置,闭环管理。

四、其他

关于IDC

IDC是IT设施设施非常重要的承载体,由于IDC的建设和运维有很高的专业性,一般不建议自建。在租用运营商或第三方IDC公司资源时,需要考察的要素主要有:

1、IDC基础设施(风火水电)的等级

2、IDC增值服务(代建代管代维)的能力

3、IDC网络结构(多线BGP、大带宽、高冗余)的质量和可靠性

4、IDC运维能力(监控、告警、流程管理、DDoS响应和处置)

5、多IDC资源、专线接入能力等

6、IDC远程监控和管理方案等。

关于新技术

目前SDN /Vxlan等技术随着云计算一并迅速发展,在现在的网络架构中也被越来越多的应用。

所有技术运用的目标都是为业务服务,包括MPLS等等,均可以根据实际的业务需求进行合理运用和部署。

results matching ""

    No results matching ""