基于F5负载均衡应用交付网络技术在干部在线的应用

2016-07-22 10:50云南开放大学云南干部在线学习学院云南昆明650223
电子测试 2016年11期
关键词:负载均衡安全

马 维(云南开放大学云南干部在线学习学院,云南昆明,650223)



基于F5负载均衡应用交付网络技术在干部在线的应用

马 维
(云南开放大学云南干部在线学习学院,云南昆明,650223)

摘要:应用交付网络技术的理念就是把网络及应用深度结合在一起。安全、快速、高可用是应用交付网络的三大要素。应用交付网络技术由服务器负载均衡、链路负载均衡、应用安全管理、应用加速等多种技术组成。目的是提高用户体验,保证网络安全的前提下解决用户关键网络应用访问瓶颈的问题。根据干部在线学习平台遇到的随机大流量、高并发、及网络安全等问题,我们就需要引入应用交付网络技术。F5是当今业界首推的一款应用交付网络控制器。本文在介绍应用交付网络技术的基础上,把F5的功能和应用交付技术相关知识融合在一起,并且实际地应用到干部在线平台网络架构。解决了平台在线人数阶梯式增长所带来的问题。让在线学习平台更加安全、高效、灵活、有序的运转。

关键词:应用交付网络;负载均衡;高可用;安全

近几年国内互联网领域中,在线教育发展的趋势日渐高涨,干部在线学院自2007年成立以来,每年在线学习人数迅猛成倍增长,截止到2012年,在线注册人数高达80000人。平均每天在线学习用户达到10000余人。干部在线平台是7×24全开放服务学习平台,与日俱增的在线学习人数对系统平台的响应压力增大、服务响应时间延时过长、从而导致用户体验降低甚至影响干部学习进度。同时平台数据库中有着全省干部敏感信息,一旦平台遭受网络攻击,导致服务中断或干部信息泄露,后果将不堪设想。要能应对各种客观突发情况、客观上要求搭建一个具有高可用、快速、安全的应用交付网络平台。

1 F5具有应用交付网络的负载均衡

1.1应用交付网络技术

1.1.1应用交付网络概念理解

应用交付网络(Application Delivery Networking,简称ADN),是一个高可用、快速、安全的网络,它利用相应的网络优化/加速设备,确保用户的业务应用能够快速、安全、可靠地交付给内部员工和外部服务群。其目的是通过构建在传统网络(L1~L3)之上,从L4(TCP Layer)到L7(ApplicationLayer)对基于网络的应用数据进行分析,判别,导向,负载,加速和加密。它的解决方案所面对的不再是传统的网络数据包,而是应用在网络中的传递和交付。关于应用交付网络的理解,其实可以照字面意思看成是将企业的关键应用交付到网络上,也就是通过综合多种4~7层上的“应用交换”技术将关键应用与基础设施关联起来。这相当于是对传统优化手段的升级——从简单的偏重于负载均衡单一方案,到如今全面的、从边缘到核心的一系列优化解决方案,用来改善用户应用体验,数据安全和保障应用的可靠性。

图1 应用交付网络各环节

1.1.2应用发布的各个环节

应用交付网络技术体现在应用发布的每一个环节,应用发布的所有中间环节就是让最终用户可以存取数据。通过不同的展现手段,提供给终端用户不同的内容。见图1

由图1我们可以看到在应用发布的整个过程中面临以下问题:

●服务器整合

●安全攻击

●用户分散加剧

●SOA(面向服务的体系结构)建设

●应用系统复杂性

●终端种类增加

●文件存储空间增长

1.1.3F5基于应用交付网络在各个应用发布环节起到的作用

针对应用交付的各个环节中的薄弱点,F5提供了端到端的解决方案。

●服务器整合:通过使用本地负载均衡、应用优化设备,实现服务器的高可用性、高安全 性和可扩充性。

●安全攻击:通过网络层安全防护、应用层安全防护和传输通道加密技术,提高系统的整 体安全性。

●用户分散加剧:通过广域网用户引导、多链路用户引导等技术,引导用户选择最佳的数 据中心,通过最佳的链路到达应用服务器。

●SOA(面向服务的体系结构)建设:通过多协议、多平台的支持,对应用中的各种协议流量进行分析,实现精确 引导和应用分布。

●应用系统复杂性增大:通过对应用系统的深层次识别和各种应用加速技术,提高应用系 统的访问效率和响应速度。

●终端种类增加:应用交付网络通过对各种终端的识别,根据终端的类型对用户进行引导, 并通过对各种终端接入设备的支持。增强系统的容错特性和安全性,优化各类终端的访 问速度和效率。

1.2F5基于应用交付网络要素的重要体现

●F5负载均衡工作原理及其分配策略

传统的负载均衡解决方案一般是在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如 DNS LoadBalance,在DNS域服务器中新建主机,然后填写相同的域名名称,只是IP地址不同,当客户端要求访问web系统时,DNS服务器会把请求分发给2台web服务器,实现了系统的负载均衡。DNS 负载均衡的优点是经济、简单、易行;但它不能区分服务器的差异,也不能反映服务器的当前运行状态,不能做到为性能较好的服务器多分配请求,甚至会出现客户请求集中在某一台服务器上的情况。

图2 F5负载均衡结构图

F5对应用的负载均衡:F5作为一个全代理,对外提供一个虚拟的应用服务(Virtual Server),接收所有的客户端请求, 这些请求通过预先设定好的负载均衡算法处理,分发到后台的多个应用实例(Application)。于此同时F5用过自身的健康检查,准确的判断应用实例的工作和服务状态,一旦发现应用实例不能提供服务,则将其从负载均衡组(pool)中摘除。

F5进行四层负载均衡的最小元素为TCP连接,所有分配策略均以TCP连接为最小单位,而在七层负载均衡中,最小的元素为每一个完整的交易数据包,如一个HTTP 请求,因此以为最小单位进行分配。根据每一个连接,F5通过地址转换功能,将连接分配到不同的服务器上。负载分配策略算法主要包含以下几种:

1)静态负载均衡算法:轮询,比率,优先权

2)动态负载均衡算法: 最少连接数,最快响应速度,观察方法,预测法,动态性能分配

3)可编程控制的负载均衡策略:通过编程控制应用流量的导向。

●F5对链路的负载均衡(Link Controller)

F5将所有提供某种应用的链路放在一个队列中,把用户通过DNS服务器得到的地址访问请求的流量导向该队列中相对应营运商链路,当该链路到达连接限制或者出现故障时,自动将流量导向另一个营运商可用链路。这种机制策略解决了链路单点故障带来的服务中断问题,保证了不管属于哪家营运商的用户都能够访问网站。

●Monitor Server 服务器健康检查

1)基于ICMP的健康检查Ping

F5可以定期通过ICMP包对后台服务器的IP地址进行检测,如果在设定的时间内能收到该地址的ICMP回应,则认为该服务器能提供服务。

2)基于TCP端口的健康检查 Port-Connect

在基于TCP协议的应用中,每个应用系统都会绑定一个TCP端口,应用通过侦听这个端口接受客户端的请求。判断这些应用系统是否在工作最简单的方法就是从F5和对应的服务器端口做一次完整的TCP握手,如果TCP握手成功,则认为服务器正常工作,如果在超过一定的检查次数均握手失败的情况下,BIG-IP LTM则将失败的服务器标记为Down,而将新的客户端请求都发送到其他仍然正常工作的服务器上。

3)可扩展的应用验证(EAV)

用于确认运行在某个服务器上的应用能否对客户请求做出相应。

4)可扩展的内容验证(ECV)

除了可以通过EAV对服务进行检查,还可以通过ECV对服务器的相应作进一步分析,通过分析读取服务器回应中的指定内容来判断服务器上服务的运行情况。

通过 F5 灵活自定义方式的 ECV 健康检查方式,用户可以检查常见的应用如 HTTP、SMTP、POP3 等。而通过 EAV 健康检查方式,更可自行编写脚本,实现更加复杂的健康检查方式,全面的检测后台服务器的运行状态,保证系统运行的高效,可靠。

●会话保持

会话保持是F5上的一种机制,用以识别客户与服务器可以识别做客户与服务器之间交互过程的关连性,在作负载均衡的同时,还保证一系列相关连的访问请求会保持分配到一台服务器上。

1)源地址会话保持

源地址会话保持是最常用到的一种会话保持,就是将一个源地址认为是一个用户,凡是同一个源地发送过来的连接,则认为是同一个用户发起的多个请求,根据会话保持策略,将这些连接或者请求都转发到同一台服务器。

2)Cookie的会话保持

当客户进行第一次请求时,客户HTTP请求(不带cookie)进入BIGIP, BIGIP根据负载平衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复(不带cookie)被发回BIGIP,然后BIGIP插入cookie,将HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次BIGIP插入的cookie)进入BIGIP,然后BIGIP读出cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请求回复,由于服务器并不写入cookie,HTTP回复将不带有cookie,回复流量再次经过进入BIGIP时,BIGIP再次写入更新后的会话保持cookie。

3)SSL ID会话保持

在用户的SSL访问系统的环境里,当SSL对话首次建立时,用户与服务器进行首次信息交换以:(1)交换安全证书,(2)商议加密和压缩方法,(3)为每条对话建立Session ID。由于该Session ID在系统中是一个唯一数值,由此,BIGIP可以应用该数值来进行会话保持。当用户想与该服务器再次建立连接时,BIGIP可以通过会话中的 SSL Session ID识别该用户并进行会话保持。

4)可编程控制的会话保持

使用F5自身所拥有的irules可编程逻辑控制器,用TCL语音进行编程控制的会话保持方式。

5)基于HTTP Header的会话保持

F5可以根据用户HTTP访问里http包头信息信息进行会话保持,HTTP包头里包含以下信息,BIGIP可以将用户访问里这些信息通过表达式来获得相应的数值从而进行会话保持。

●F5对应用的优化

1)HTTP静态内容的缓存(RamCache)

F5内置RamCache功能,可以缓存诸如首页元素之类的大访问量请求.

2)HTTP动态内容的缓存(Web Accelerator)

通过F5的Web Accelerator模块来实现动态缓存,在Web Accelerator上可以通过配置本地的缓存有效时间,来保持页面内容的刷新度。比如设置Web Accelerator本地缓存2小时有效,则在每2个小时之内,对于同样查询参数的请求,在后台只有一次数据库查询动作,从而大大的减轻了数据库的压力。

3)HTTP压缩

硬件上F5通过内置的HTTP硬件压缩芯片来实现压缩处理。软件上F5使用工业标准的GZIP和Deflate压缩算法来压缩HTTP流量,降低带宽消耗、缩短最终用户在慢速或者低带宽连接条件下的下载时间。在开启HTTP压缩功能后,对于HTML页面,CSS等文本类型的数据,通常可以取得80%左右的压缩率。

●F5(ASM)对7层应用的安全保护

随着网络攻击的数量和复杂程度不断升级,4层安全防护已经远远不能保证应用交互平台的安全,大量的网络攻击来源于对第7层应用层的攻击。F5内嵌的应用安全管理模块(ASM)是最灵活的web 应用7层防火墙,可为传统、虚拟和私有云环境中的web 应用提供保护。

ASM 可为客户端操作产生的所有参数提供保护并验证登录参数和应用流程以防止出现强迫浏览和逻辑漏洞。BIG-IP ASM可识别HTTP 参数污染(HPP)攻击,并阻止这些请求,从而提供精细的攻击保护。此外,BIG-IP ASM 还可帮助抵御OWASP 十大应用安全风险,包括第7 层的拒绝服务(DoS)、SQL 注入、跨站脚本(XSS)、暴力及零日web 应用攻击。其独特的保护能力可降低DoS对某个URL 的重压力攻击,防止欺诈性交易的执行,并阻止浏览器内的会话劫持。甚至,管理员还可更有效地检测预设等级和测量度限制之下的攻击,并帮助确定可疑请求和欺诈性交易转移的来源。

2 F5在干部在线的应用

通过上面所讨论的章节,我们了解了F5基于应用交付网络特性的重要功能,接下来,就要运用F5这些功能,具体应用到实际的生产环境当中。通过F5后台管理系统监控到的平台业务网络数据结果,进一步证实了F5在应用交付网络中起到快速、安全、高可用的作用。

1)对Web应用的负载均衡和加速优化

在F5应用交付控制器中建立服务器节点Node,也就是提供干部在线Web应用的6台服务器。接下来,新建Web服务池(Pool),这里我们新建了两个Pool,一个表示电信的Pool,一个表示联通的Pool。

健康检查选项里,我们选择Monitors方式为ICMP-Ping,成员选项里,以此添加之前新建的6个Web服务Node,因为私有IP地址为局域网内部,比较安全,所以每个Node服务端口号全部开放,全为0。负载均衡的算法我们采用F5的Round Robin轮询算法。

这里需要注意:因为干部在线平台用户大部分是电信用户,只有少部分是联通用户,所以之前我们在电信Web服务Pool里的节点设置6个Node优先级都是一样的(都为20)。而联通Web服务Pool里节点设置我们挑选了两个Node为主要服务节点,优先级为20,如果有联通链路的请求首先是这两个Node做主要响应。剩下4个Node做副响应,优先级为则为1。

图3 新建电信Web服务Pool

最后在F5的Virtuai Servers项目里新建一个VS,也就是Web应用的虚拟服务地址,面向公网IP。因为是双链路提供服务,因此要创建两个VS,一个电信链路VS、一个联通链路VS,填写VS的名称、VS的公网IP、Web应用开放的服务端口号:80,Soure全0代表了任何源地址都可以访问。把之前所建立的电信Web服务Pool与此VS关联对应。Web服务是http协议,属于是TCP/IP协议簇,采用http Profile,因为只有选择http Profile才能使用基于Cookies的会话保持。干部在线平台都是以干部用户名和密码作为验证,才能登录到平台学习。所以我们基于Cookies的会话保持比较适合现实场景。联通VS的配置和电信一样。

图4 电信Web服务Pool里添加Node

图5 新建电信链路的Web应用VS

图6 Pool与VS关联、基于Cookie会话保持

通过以上配置,把F5放到实际生产环境,通过F5后台管理监控系统我们获取了F5对在线平台响应的相关数据和负载均衡效果。

当在线人数达到6000人左右,前端6台Web服务器平均CUP占用达到10%,内存占用20%。对于10000余人的在线学习,毫无压力。

在Web服务池里可以看到每个Node采用轮询负载均衡算法后,进出的流量和连接并发数平均分担到了每一个节点,负载均衡效果非常明显。

我们在F5后台页面管理系统里的HTTP profile或者Web Accelerator模块中通过相应配置,可以灵活的定义哪些内容需要压缩,哪些类型不进行压缩,甚至可以定义到特定的URI来进行压缩处理。在开启压缩优化功能后进行对干部在线平台的网页打开时间对比,可以清晰的看到页面的打开时间被明显的缩短了很多。

干部在线平台中应用F5压缩优化的功能可针对每个用户的连接条件,以最佳方式调整每个 HTTP 和 TCP 会话,为用户保持较高的性能水平。而且使用了适应性 TCP 优化,融合了会话级应用感知、速率调整、拥塞控制算法、纠错和优化的 TCP 窗口。这可帮助干部在线平台实时适应于广域网链路和移动网络的延迟、数据包丢失和拥塞特征,完全利用可用的带宽并加速应用流量。

针对于干部在线平台目前应用到以下的加速优化方式。

●级联:将内容类型相同的多个外部文件组合至单个文件,以减少往返次数,加快页面加载的速度。

●内容重排序:优化 JavaScript 和级联样式表(CSS)的加载顺序,加快页面渲染的速度。

●内容直接嵌入:通过将 JavaScript、CSS 和图像直接嵌入至 HTML,减少请求的数量,无需实施更多的 GET 请求。该优化有益于仅需查看一次的内容,或高速缓存大小受限的移动设备。

●图像优化:通过降低质量,删除不必要的元数据并转换图像格式(包括全新的 WebP 和JPEG-XR 格式),减小图像尺寸。

●缩小化:从 JavaScript 和 CSS 中删除空格和评论,减小文件的大小。

●动态缓存:缓存看似动态(包含查询参数、cookies 或会话 ID),实际为静态或以可识别方式变化的数据。通过全面检查HTTP 请求的每个要素,控制缓存行为,并废弃缓存的数据,从动态 web 应用缓存中缓存百分比较高的数据,同时保持适当的应用行为。

●动态压缩:压缩 web 应用中的动态数据,并确保只在有利于提升性能的情况下进行压缩。动态压缩与标准压缩实施不同,因为它具备较高的效率,而且能够避免常见的浏览器压缩问题。

2)对双运营商链路访问的负载均衡

在具备了双联路畅通的前提下,干部在线平台依托F5应用交付控制器做到了入站访问的链路智能选择。真正的让学员在任何网络环境下都能最优最快最稳定的访问学习平台。通过在上面创建的两个运营商地址。能够让电信的用户通过干部在线系统网络接入的电信网络进行平台的访问和学习,联通用户则会通过联通线路访问。与此同时也做到了平台的高可用性。

一旦电信或者联通其中一条运营商线路出现故障的情况下。干部在线平台可以通过F5设备讲所有流量都引导到正常的运营商线路上。同时还镜像了用户的会话信息。保证用户的视频学习不会中断,登陆状态不会改变。这样在线平台的快速和高可用会24小时流畅高效的保证学员的学习。

3)干部在线应用的安全保护

目前的国内互联网环境看似安全,但是每天针对于网站的攻击却从未停止而且层出不穷。干部在线平台有防火墙来防护网络攻击。但是防火墙只能帮助平台抵御来自4层的攻击行为及4层的DDos攻击。对于web应用的7层安全防护,干部在线利用F5 的ASM安全模块进行防御。

上文已经提到针对于7层应用的攻击目前才是干部在线平台的主要威胁。干部在线平台依托ASM安全防御模块功能目前已经阻挡了上千种攻击行为,以及互联网发起的DDos攻击。ASM模块可以根据干部在线平台的后台应用组成元素信息,配比出最优最适合后台应用的安全防护策略。在拥有强大的攻击匹配库的同时,也可以自动学习攻击类型。

我们从其中一份日志信息来分析。F5设备帮我们定位出攻击源的地址,在阻断攻击的同时。会给出详细的攻击行为及自身的阻断安全策略信息。来帮助管理员更好的运营干部在线平台应用。

3 结语

图7 负载均衡Node数据统计

图8 F5没有开启优化功能下访问网站的打开时间及信息

本文针对平台在线人数突增所带来的高并发、大流量、安全等问题,通过对F5基于应用交付网络的重要特性功能以及此类功能在干部在线的平台的应用进行分析介绍。提出解决面临问题的方法,运用F5的应用负载均衡、链路负载均衡、网络7层安全防护等技术,构造了一个高可用、安全、快速的应用交付网络平台,提高了在线学员的用户体验,营造了一个更加完善的网络学习环境。

参考文献

[1] 应用交付之BIG-IP LTM篇[EB/OL].http://down.51cto. com/data/1113699,2014-04-02.

[2] 刘元峰.基于应用交付网络技术的网络负载均衡研究与实现[D]. 吉林大学硕士学位论文,2008.

[3] 应用交付网络f5使用总结[EB/OL].http://wenku.baidu. com,2014-06-07.

图9 截取一段时间干部在线利用F5设备阻挡的攻击

图10 攻击的源地址与IP所属国家以及攻击的类型

图11 攻击行为包含的一些特征元素一览无余的呈现

Based on load balancing F5 application delivery networking technology in cadres onlineplatform

Ma Wei
(Yunnan Open University,Kunming,650223,Yunnan)

Abstract:Application delivery network technology is the concept of the network and application depth together.Safe,rapid, high availability is the three elements of application delivery network. Application delivery network technology by the server load balancing,link load balancing,the application of safety management,use of a variety of techniques such as acceleration.The purpose is to improve the user experience,to guarantee the network security under the premise of solving the user key network application access bottleneck problem.Cadres according to the online learning platform of large flow, high concurrency,and the problem of network security,we need to introduce the application delivery network technology.F5 is today one of the first industry an application delivery network controller.This paper introduces the application delivery,on the basis of network technology,the function and application of the F5 delivery technology related knowledge together, and practically applied to the cadres online platform network architecture.To solve the platform online step growth brought about by the population.Make the online learning platform more secure,efficient, flexible and orderly operation.

Keywords:Application delivery network;load balancing;high availability;security

猜你喜欢
负载均衡安全
Linux负载均衡集群技术在网络服务器中的应用
Oracle MAA在汽车行业电子政务平台中的应用
异构环境下改进的LATE调度算法
基于负载均衡的云资源调度策略研究
多站点同步更新系统的设计
模糊理论在Ad hoc网络通信领域的应用