用户登录  |  用户注册
首 页毕业论文毕业设计下载定做交易过程截图支付宝在线支付
当前位置:完美毕业网毕业设计下载计算机毕业设计网络工程

负载均衡技术在新一代测试环境的应用研究

联系方式:点击这里给我发消息QQ8191040
官方主页:www.biye114.com
图片预览: ;论坛转帖
插件情况:
售后服务:请联系客服QQ:8191040
一键分享拿折扣:
  • 好的评价 如果您觉得此软件好,就请您
      0%(0)
  • 差的评价 如果您觉得此软件差,就请您
      0%(0)

软件简介

 总行集中开发测试环境作为全行开放系统集中开发测试的基础设施环境,是各项目开发测试的基础,有力地支撑了项目上线前的测试工作。其中,测试支持及监控分析工作包括大量的测试支持工作,如负载均衡双机测试等。
论文研究了F5 BIG-IP LTM(F5 BIG-IP本地流量管理,简称F5)在新一代测试环境的应用,明确其核心思想是通过采用多种静态和动态负载均衡方法,跟踪一组服务器的动态性能级别,从而确保可始终选中最佳资源以改进性能,实现四/七层的负载均衡。
本文通过介绍学员马妍在新一代信息系统测试项目承担负载均衡配置工作的情况,重点从技术和功能角度探讨我行测试环境负载均衡技术的应用。根据测试环境对域名使用的需要,提出了集中开发测试环境域名系统的设计方案,从前期调研、需求分析、系统拓扑设计到负载均衡配置,实现主备DNS双活,保障了域名系统的高可用性,同时也有助于提高测试的有效性。

关键词:负载均衡 F5 域名

目 录
1 绪论 3
1.1 研究背景 3
1.2 研究意义 3
1.3 研究内容 4
1.4 论文结构 4
2 负载均衡技术背景和本地流量管理概述 6
2.1 负载均衡技术概述 6
2.1.1 负载均衡定义 6
2.1.2 负载均衡技术分类 6
2.1.2.1 软/硬件负载均衡 6
2.1.2.2 本地/全局负载均衡 7
2.1.2.3 网络层次上的负载均衡 8
2.2 F5本地流量管理 9
2.2.1 基本元素 9
2.2.2 分发策略 11
2.2.3 会话保持 12
2.2.3.1 有会话保持存在时的负载均衡过程 12
2.2.3.2 源地址会话保持 13
2.2.3.3 基于Cookie的会话保持 13
2.2.4 健康检查 14
2.2.4.1 基于 ICMP的健康检查 14
2.2.4.2 基于TCP端口的健康检查 15
2.2.4.3 扩展的TCP健康检查 15
2.2.4.4 基于UDP端口的健康检查 15
2.2.5 安全网络地址转换 16
2.2.5.1 一对一静态地址翻译 16
2.2.5.2 多对一静态地址翻译 16
2.2.5.3 多对多静态地址翻译 16
2.2.6 SSL认证 17
2.2.6.1 单向认证模式 17
2.2.6.2 双向认证模式 18
3 测试环境新一代项目负载均衡配置总结 18
3.1 功能性配置 18
3.1.1 常规HTTP协议负载配置 18
3.1.1.1 基于member的健康检查 19
3.1.1.2 获取客户端真实IP 20
3.1.1.3 连接聚合oneconnect 20
3.1.2 认证负载配置 21
3.1.2.1 生成证书请求 22
3.1.2.2 安装服务器证书 23
3.1.2.3 单向认证的配置 23
3.1.2.4 双向认证的配置 24
3.1.3 非HTTP负载配置 25
3.2 非功能性配置 25
3.2.1 旁挂组网模式 25
3.2.2 用户分级管理 26
3.2.3 日常监控 26
3.2.3.1 Web界面 26
3.2.3.2 Tcpdump 27
3.2.3.3 配置备份 27
4 负载均衡在测试环境DNS系统的应用实践 28
4.1 技术背景 28
4.1.1 DNS原理 28
4.1.2 正向解析与反向解析 29
4.1.3 VitalQIP DNS DHCP企业IP地址管理软件 30
4.2 需求分析 30
4.3 系统拓扑分析 30
4.4 负载均衡配置要点 31
4.4.1 资源池Pool 32
4.4.2 虚拟服务器Virtual Server(Profile) 32
4.4.3 健康检查Monitor 32
4.5 系统部署信息 32
4.6 负载均衡域名解析流程 33
4.6.1 域名规则与域名区域 33
4.6.2 P2客户端域名解析流程 35
4.6.3 开发测试桌面云域名解析流程 36
4.6.4 Linux/AIX服务器域名解析流程 36
5 总结与展望 36
5.1 总结 36
5.2 展望 37

1绪论
1.1研究背景
总行集中开发测试环境作为全行开放系统集中开发测试的基础设施环境,是各项目开发测试的基础,可以为应用软件开发、跨系统的集成测试、用户接受测试、性能测试、推广培训测试、上线版本验证性测试、生产运维专项测试等提供基础环境,有力地支撑了项目上线前的测试工作。测试支持及监控分析工作是集中开发测试环境服务的主要工作任务之一。测试支持及监控分析工作指对测试系统进行基础设施相关的技术支持和监控分析服务,包括大量的测试支持工作,如参与群集高可用性测试,模拟故障测试,负载均衡双机测试等。可见,负载均衡技术在新一代测试环境中至关重要。
1.2研究意义
在总行集中开发测试环境部署有多台F5负载均衡器,以满足新一代组件组装、应用组装、应用总装等测试工作的需要。在测试准备和测试支持工作中,F5负载策略的选择、会话保持方式以及其他各项参数的配置都会对测试结果产生影响。在测试环境进行充分的测试,可以避免生产环境因F5配置差异造成网络和业务功能缺失或性能下降,带来潜在风险。
本课题主要研究对象是F5的主要技术以及F5在新一代测试环境中的应用。在近一年导师责任制的实施中,学员负责测试环境F5的配置工作,完成了多项新一代测试准备与测试支持任务,如新一代2.1期P1银信网关组件组装非功能测试、新一代2.2期员工渠道组件组装非功能测试、新一代2.2期个贷组件组装非功能测试等等。在集中开发测试环境域名系统部署实施工作中,学员完成了测试环境域名系统需求分析、系统拓扑分析、负载均衡设计配置、系统部署实施工作。在具体部署实施时采用F5对DNS服务器进行负载均衡,使主备两台DNS同时可用,实现双活,保障域名系统的高可用性,同时也有助于提高测试的有效性。此项工作的顺利完成建立在学员对负载均技术深入学习的基础上,是负载均衡技术在新一代测试环境的应用成果,是对负载均衡技术的积极研究和探索实践。
1.3研究内容
本论文结合若干新一代信息系统测试项目准备与支持任务,重点从技术和功能角度探讨我行测试环境负载均衡技术的应用,并对测试环境负载均衡技术规范化提出了个人建议。
首先,本论文回顾了在入职一年来学员所承担的主要工作,以及在导师责任制要求下,对我行规章制度、总行集中开发测试环境等多方面的学习情况,并简要介绍个人主要完成的测试准备、测试支持工作。
其次,论文以F5为研究对象,结合若干新一代信息系统测试项目负载均衡配置,重点从技术和功能角度探讨我行测试环境负载均衡技术的应用。在新一代测试支持任务中,将负载均衡技术应用到新一代测试环境中,学员独立承担了HTTP负载、SSL负载和FTP等非HTTP协议的负载配置任务,保障了项目测试的顺利实施。同时与测试人员不断进行沟通,积极进行负载均衡技术方法的研究和主动探索,并进行了总结沉淀。在测试开发环境域名系统部署工作中,采用F5对DNS服务器进行负载均衡,使主备两台DNS同时可用,实现双活,保障域名系统的高可用性,同时也有助于提高测试的有效性。
最后,结合对测试环境中负载均衡技术的经验积累及应用成果,提出测试环境负载均衡技术规范化的个人意见和建议。
1.4论文结构
本论文共分为五章。
第一章,绪论(即本章)。介绍论文的研究背景、研究意义、研究内容以及论文的组织结构。
第二章,负载均衡技术和F5。介绍我行新一代所用负载均衡技术和原理基础。
第三章,介绍了学员一年中参加的主要实践,以及学员在新一代测试环境负载均衡工作中的思考和总结。
第四章,负载均衡技术在新一代测试环境的应用成果。在学习F5负载均衡技术、参与新一代项目负载均衡测试准备和测试支持工作的基础之上,完成总行集中测试开发环境域名系统部署工作。
第五章,总结与展望。本章在对新一代测试环境负载均衡配置经验及应用成果的基础上,提出了个人对于测试环境负载均衡技术规范化的个人建议。


2负载均衡技术背景和本地流量管理概述
2.1负载均衡技术概述
2.1.1负载均衡定义
负载均衡(又称为负载分担),英文名称为Load Balance,其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。负载均衡设备不是基础网络设备,而是一种性能优化设备。对于网络应用而言,并不是一开始就需要负载均衡,当网络应用的访问量不断增长,单个处理单元无法满足负载需求时,网络应用流量将要出现瓶颈时,负载均衡才会起到作用。
负载均衡的作用:把不同的客户端的请求通过负载均衡策略分配到不同的服务器上去。
负载均衡的基本工作方式:通过更改请求的目的地址对请求进行转发,在服务器返回数据包的时候更改返回数据包的源地址保证客户端请求的目的和返回包是同一个地址。
负载均衡设计的三个要素:分发策略、会话保持和服务器健康检查。
2.1.2负载均衡技术分类
2.1.2.1软/硬件负载均衡
软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。
软件解决方案缺点也较多,因为每台服务器上安装额外的软件运行会消耗系统不定量的资源,越是功能强大的模块,消耗得越多,所以当连接请求特别大的时候,软件本身会成为服务器工作成败的一个关键;软件可扩展性并不是很好,受到操作系统的限制;由于操作系统本身的Bug,往往会引起安全问题。
硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备我们通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。
负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。
一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。
2.1.2.2本地/全局负载均衡
负载均衡从其应用的地理结构上分为本地负载均衡(Local Load Balance)和全局负载均衡(Global Load Balance,也叫地域负载均衡),本地负载均衡是指对本地的服务器群做负载均衡,全局负载均衡是指对分别放置在不同的地理位置、有不同网络结构的服务器群间作负载均衡。
本地负载均衡能有效地解决数据流量过大、网络负荷过重的问题,并且不需花费昂贵开支购置性能卓越的服务器,充分利用现有设备,避免服务器单点故障造成数据流量的损失。其有灵活多样的均衡策略把数据流量合理地分配给服务器群内的服务器共同负担。即使是再给现有服务器扩充升级,也只是简单地增加一个新的服务器到服务群中,而不需改变现有网络结构、停止现有的服务。
全局负载均衡主要用于在一个多区域拥有自己服务器的站点,为了使全球用户只以一个IP地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度,也可用于子公司分散站点分布广的大公司通过Intranet(企业内部互联网)来达到资源统一合理分配的目的。
全局负载均衡有以下的特点:
实现地理位置无关性,能够远距离为用户提供完全的透明服务。
除了能避免服务器、数据中心等的单点失效,也能避免由于ISP专线故障引起的单点失效。
解决网络拥塞问题,提高服务器响应速度,服务就近提供,达到更好的访问质量。
2.1.2.3网络层次上的负载均衡
针对网络上负载过重的不同瓶颈所在,从网络的不同层次入手,我们可以采用相应的负载均衡技术来解决现有问题。
随着带宽增加,数据流量不断增大,网络核心部分的数据接口将面临瓶颈问题,原有的单一线路将很难满足需求,而且线路的升级又过于昂贵甚至难以实现,这时就可以考虑采用链路聚合(Trunking)技术。
链路聚合技术(第二层负载均衡)将多条物理链路当作一条单一的聚合逻辑链路使用,网络数据流量由聚合逻辑链路中所有物理链路共同承担,由此在逻辑上增大了链路的容量,使其能满足带宽增加的需求。
现代负载均衡技术通常操作于网络的第四层或第七层。第四层负载均衡将一个Internet上合法注册的IP地址映射为多个内部服务器的IP地址,对每次TCP连接请求动态使用其中一个内部IP地址,达到负载均衡的目的。在第四层交换机中,此种均衡技术得到广泛的应用,一个目标地址是服务器群VIP(虚拟IP,Virtual IP address)连接请求的数据包流经交换机,交换机根据源端和目的IP地址、TCP或UDP端口号和一定的负载均衡策略,在服务器IP和VIP间进行映射,选取服务器群中最好的服务器来处理连接请求。
第七层负载均衡控制应用层服务的内容,提供了一种对访问流量的高层控制方式,适合对HTTP服务器群的应用。第七层负载均衡技术通过检查流经的HTTP报头,根据报头内的信息来执行负载均衡任务。
第七层负载均衡优点表现在如下几个方面:
通过对HTTP报头的检查,可以检测出HTTP400、500和600系列的错误信息,因而能透明地将连接请求重新定向到另一台服务器,避免应用层故障。
可根据流经的数据类型(如判断数据包是图像文件、压缩文件或多媒体文件格式等),把数据流量引向相应内容的服务器来处理,增加系统性能。
能根据连接请求的类型,如是普通文本、图象等静态文档请求,还是asp、cgi等的动态文档请求,把相应的请求引向相应的服务器来处理,提高系统的性能及安全性。
第七层负载均衡受到其所支持的协议限制(一般只有HTTP),这样就限制了它应用的广泛性,并且检查HTTP报头会占用大量的系统资源,势必会影响到系统的性能,在大量连接请求的情况下,负载均衡设备自身容易成为网络整体性能的瓶颈。
2.2F5本地流量管理
F5 Networks公司是应用交付网络(ADN)领域的全球领先厂商,致力于帮助全球大型的企业和服务提供商实现虚拟化、云计算和“随需应变”的IT的业务价值。F5的解决方案有助于整合不同的技术,以便更好地控制基础架构,提高应用交付和数据管理能力,并使用户能够通过企业桌面系统和智能设备无缝、安全并更快速地接入应用。开放的架构框架使F5客户能够在IT基础架构中的“战略控制点”以及公共云环境中应用业务策略。F5产品为客户提供了所需的灵敏性,使客户能够将IT与不断变化的业务形势保持协调一致,根据需要部署可扩展的解决方案,并对数据与服务的移动访问进行管理。企业、服务提供商和云提供商以及全球领先的在线公司都采用F5的解决方案来优化IT投资,并推动业务发展。
F5取名自龙卷风风力的最高等级,作为应用交付领域的全球领导者,F5,承载“在互联网时代掀起强劲技术创新之风”的创业梦想,于1996年在美国华盛顿州西雅图市正式成立,短短3年时间,F5于1999年在美国NASDAQ成功上市,掀起了应用交付网络的强劲龙卷风。F5公司在NASDAQ上市,股票代码:FFIV。公司总部设在华盛顿州的西雅图,并在全球各地设有分部。
F5于2000年底进驻中国,目前已分别在北京、上海、广州、成都、深圳、珠海设立了办事机构。在华拥有超过300位的F5认证工程师,为遍布全国的用户提供全面的技术支持。2010年,F5在华十年,在这十年里F5几乎参与了国内所有的重大事件:从02年世界杯到08年北京奥运会,从电信分拆到汶川地震,F5,始终作为幕后英雄给予强劲支撑。今天,每当您打一次网络电话、上网浏览一次新闻、进行一次网上交易,即便是在巨量访问的情况下,都会经过F5领先的应用交付设备,在后台保证您的web应用安全、快速、高可用。
2.2.1基本元素
VS:Virtual Server是进入F5处理流量的入口。VS的定义包含了IP和端口和VLAN,其中,IP可以是一个IP,也可以是用掩码掩出来的一段IP,端口可以是一个固定的端口,比如80,也可以是0端口,0端口的意思就是侦听所有的端口。VS的定义的含义就是对于发送到F5上的流量,只有同时命中VS的IP和端口的流量才进行处理。同时,VS的定义还有enable或者disable在哪个VLAN上。默认情况下,F5上定义的VS是侦听在所有VLAN上的。所以,在默认情况下,如果我们配置了一个VS_external,IP地址是在external网段上,但如果从internal网段发送一个请求到internal VLAN,这个请求实际上还是会命中VS_external的。所以,最大范围的VS定义可以是0.0.0.0:0的VS enable在所有的VLAN上。而最小范围的VS定义是一个特定的地址侦听一个端口,然后还enable在一个特定的VLAN上。当一个VLAN上有多个范围不同的VS定义的时候,F5将遵循最小命中原则。即先命中定义范围最小的VS,然后再命中范围最大的VS。
Profile:当流量进入F5之后,怎样去处理和识别进入VS的流量,就需要由Profile来定义了。Profile分了几种类型,有协议层的Profile比如TCP profile,UDP profile。有应用层的Profile比如HTTP profile,FTP Profile。还有SSL Profile、会话保持相关的Profile、认证的Profile和其他一些Profile类型。所有的Profile都需要关联在VS上才能生效。有些Profile之间是互斥的关系,比如TCP和UDP,HTTP和FTP,VS上关联了TCP profile,就不能再关联UDP Profile了。因为一旦关联了某个Profile,VS就会按照这个Profile 的定义方式去处理流量。所以有些 Profile也是相互依存的,比如要关联HTTP Profile,就必须先关联TCPProfile。因为F5认为所有的HTTP相关处理,都是在TCP层面上的,没有基于UDP的HTTP请求。除了TCP、UDP和SSL外,所有类型的Profile都只能在一个VS上关联一次(认证类的Profile除外)。而TCP、UDP和SSL则分为了Client Side和Server Side。也就是说可以在Client Side和Server Side使用不同的这几种类型的Profile。但每侧都只能配置一个Profile。
Pool:Pool在F5的内部是一个逻辑概念,是指的一组相同服务的资源的组合。Pool的作用很简单,就是根据自身定义的分发规则,对VS接收进来,并且被Profile处理之后的流量进行分发,分发到Pool内的member去。
Member:一个应用服务,通常情况下,一个Member就是后台服务器的一个侦听进程,是由IP:port格式组成。
Node:Node通常用来表示后台的一个服务IP地址,一个Node上面可以有一个或多个Member。Node不需要进行配置,在配置了Member之后自动产生,系统会根据每一个不同的Member IP地址生成一个Node 地址。
iRules:iRules相当于在整个数据包通路上进行一个监控和处理。VS-Pool-SNAT的这一条路上,iRules可以通过事件驱动方式,在通路上的任何一个位置上对数据包进行判断和处理。而iRules的事件是否能触发或者iRules能获取和处理哪些信息,则都是由关联的Profile来决定的。比如VS只关联了TCP Profile,而没关联HTTP Profile。那即使通过VS的流量都是HTTP请求,iRules也无法去获取URI、header等信息。只有关联了HTTP Profile之后,iRules才能触发HTTP相关事件和按照HTTP协议的相关规范对请求内容进行识别和判断。
2.2.2分发策略
F5进行四层负载均衡的最小元素为TCP连接,所有分配策略均以TCP连接为最小单位,而在七层负载均衡中,最小的元素为每一个完整的交易数据包,如一个HTTP请求,因此以交易为最小单位进行分配。根据每一个连接,F5通过地址转换功能,将连接分配到不同的服务器上。
在静态的负载均衡策略中,F5并不根据当前每台服务器的实际状态,而简单的以用户发起请求的顺序,以TCP连接为最小单位,将请求分配到不同的服务器。
轮询算法:每一次来自网络的请求轮流分配给内部中的服务器,从1至N然后重新开始。此种均衡算法适合于服务器组中的所有服务器都有相同的软硬件配置并且平均服务请求相对均衡的情况。
比率算法:在F5上给每个服务器分配一个加权值为比例,根椐这个比例,F5把用户的请求分配到每个服务器。当其中某个服务器发生第二到第7层的故障,就把其从服务器队列中拿出,不参加下一次的用户请求的分配,直到其恢复正常。比率算法通常用于在后台服务器的服务能力不均匀的情况下。可以手工指定每台服务器所接收的请求比率。实现负载的均衡性。
优先权算法:给所有服务器分组,给每个组定义优先权,F5用户的请求,分配给优先级最高的服务器组(在同一组内,采用轮询或比率算法,分配用户的请求);当最高优先级中所有服务器出现故障,F5才将请求送给次优先级的服务器组。这种方式,实际为用户提供一种热备份的方式。
在动态负载均衡策略中,由于所有的连接都通过F5,因此,F5可以“看到”每台服务器的连接状态,并且,通过特定的机制,F5可以获得每台服务器的负载情况,因此,可以实现动态的负载均衡处理。
动态负载均衡主要包含以下几种方式:
最少连接数:客户端的每一次请求服务在服务器停留的时间可能会有较大的差异,随着工作时间加长,如果采用简单的轮循或随机均衡算法,每一台服务器上的连接进程可能会产生极大的不同,并没有达到真正的负载均衡。最少连接数均衡算法对内部中需负载的每一台服务器都有一个数据记录,记录当前该服务器正在处理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加符合实际情况,负载更加均衡。此种均衡算法适合长时间处理的请求服务,如FTP。
最快响应速度:负载均衡设备对内部各服务器发出一个探测请求(例如Ping),然后根据内部中各服务器对探测请求的最快响应时间来决定哪一台服务器来响应客户端的服务请求。此种均衡算法能较好的反映服务器的当前运行状态,但这最快响应时间仅仅指的是负载均衡设备与服务器间的最快响应时间,而不是客户端与服务器间的最快响应时间。
动态性能分配:由负载均衡设备收集到的应用程序和应用服务器的各项性能参数如CPU占用率,内存占用率、当前并发用户数等关键信息,并可进行加权处理。当有新的请求进入的时候,将新的请求分配给综合性能最佳的服务器。动态性能分配通常用于一些服务器资源敏感应用,如集中计算、视频点播等。
2.2.3会话保持
2.2.3.1有会话保持存在时的负载均衡过程
当有会话保持存在时,将会影响到负载均衡决策的整个流程。在没有会话保持存在的时候,每一个新的连接建立的时候,都是根据负载均衡的算法将新建连接分配到相应的服务器上。
而有会话保持存在时,F5将首先查找会话保持表,如果新建连接符合会话保持表,则直接将该连接转发到对应的服务器上。如果该连接在会话保持表中不存在,则根据负载均衡策略,将该连接转发到后台服务器上。
会话保持是负载均衡中的一个非常重要的环节,会话保持功能实现的细致性,直接影响到部署负载均衡时和后台应用系统的兼容性。
2.2.3.2源地址会话保持
源地址会话保持的一个基本概念就是将一个源地址认为是一个用户,凡是同一个源地发送过来的连接,则认为是同一个用户发起的多个请求,根据会话保持策略,将这些连接/请求都转发到同一台服务器。
在配置了源地址会话保持后,F5首先要创建一个源地址会话保持表,大致格式如下:
源地址 VS地址:端口号 Node地址:端口号 超时时间
128.192.219.50 128.192.136.231:1340 128.192.127.161:1340 300s

当一个新的连接请求发送到虚拟服务后,首先查找源地址会话保持表,如果在源地址会话保持表中查询到了该请求发起的源地址对应的服务器,则直接将该请求转发到相应的服务器上,如果在源地址会话保持表中没有查询到相应的条目,则按照负载均衡算法将请求转发到相应的服务器,同时,将该请求发起的源地址和对应的服务器地址添加到源地址会话保持表中。这样,下次同一IP地址再发起新建连接到该虚拟服务时,则在源地址会话保持表中已经存在相应的条目,新的连接则会根据源地址会话保持表的对应项转发到对应的服务器上。
2.2.3.3基于Cookie的会话保持
Cookie是一种用在HTTP应用中的一种非常普遍的技术。Cooike有效的改进了HTTP协议的无状态性。使原本无状态的HTTP协议变成有状态的应用协议。
(1)Cookie Insert会话保持模式
当客户进行第一次请求时,客户HTTP请求(不带cookie)进入F5,F5根据负载均衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复(不带cookie)被发回F5,然后F5插入cookie,将HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次F5插入的cookie)进入F5,然后F5读出cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请求回复,由于服务器并不写入cookie,HTTP响应将不带有cookie,服务器响应再次经过进入F5时,F5再次写入更新后的会话保持cookie。
(2)Cookie Passive会话保持模式
当客户进行第一次请求时,客户HTTP请求(不带cookie)进入F5,F5根据负载均衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复一个cookie并发回F5,然后F5将带有服务器写的cookie值的HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次服务器写的cookie)进入F5,然后F5根据cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请求回复,HTTP回复里又将带有更新的会话保持cookie,恢复流量再次经过进入F5时,F5将带有该cookie的请求回复给客户端。
(3)Cookie Rewrite会话保持模式
当客户进行第一次请求时,客户HTTP请求(不带cookie)进入F5,F5根据负载均衡算法策略选择后端一台服务器,并将请求发送至该服务器,后端服务器进行HTTP回复一个空白的cookie并发回F5,然后F5重新在cookie里写入会话保持数值,将HTTP回复返回到客户端。当客户请求再次发生时,客户HTTP请求(带有上次F5重写的cookie)进入F5,然后F5读出cookie里的会话保持数值,将HTTP请求(带有与上面同样的cookie)发到指定的服务器,然后后端服务器进行请求回复,HTTP回复里又将带有空的cookie,恢复流量再次经过进入F5时,F5再次写入更新后会话保持数值到该cookie。
2.2.4健康检查
负载均衡设备必须检测后台服务器是否在正常工作,如果发现某一台服务器出现了故障,则需要把这台服务器从负载均衡组里面摘掉。当故障服务器恢复服务的时候,再把服务器重新加入到负载均衡组里面进行处理。
2.2.4.1基于 ICMP的健康检查
基于ICMP(互联网控制信息协议)的健康检查属于最基本的健康检查方式,F5主动给服务器发送一个ICMP数据包,如果F5收到了服务器的正确响应,则说明检查成功。ICMP健康检查通常用于网关类型设备的健康检查,如防火墙、路由器等。这些设备通常不提供其他的健康检查手段,因此ICMP为最佳的检查方式。另外,在一些无法使用高级健康检查手段的情况下,也只能使用ICMP健康检查手段。
2.2.4.2基于TCP端口的健康检查
在基于TCP协议的应用中,每个应用系统都会绑定一个TCP端口,应用通过侦听这个端口接受客户端的请求。比如我们常见的80端口在默认情况下就是服务于HTTP服务,通常为IIS、Apache等应用系统使用,另外还有FTP(20、21)、HTTPS(443)、SMTP(25)、POP3(110)等。判断这些应用系统是否在工作最简单的方法就是从F5和对应的服务器端口做一次完整的TCP握手,如果TCP握手成功,则认为服务器正常工作,如果握手失败,在超过一定的检查次数均握手失败的情况下,F5则将失败的服务器标记为Down,而将新的客户端请求都发送到其他仍然正常工作的服务器上。
2.2.4.3扩展的TCP健康检查
由于基于TCP端口的健康检查模式只检查服务器侦听的端口是否在工作,而不确认应用是否真的能提供内容,因此,在一些F5上还提供了扩展的TCP健康检查模式,以提供更加的健康检查模式。在扩展TCP健康检查中,F5在和服务器进行三次握手后,还可以给服务器发送一段预先定义好的内容,并在服务器接收内容处理的返回内容中查找预先定义的内容,由此来决定服务器是否在正常工作。扩展TCP健康检查有更加灵活的使用范围,在一些自行编写的应用系统,特别是C/S系统中是一个比较有效的健康检查方式。
2.2.4.4基于UDP端口的健康检查
和TCP的端口健康检查相比,基于UDP端口的健康检查要更为复杂一些。TCP是基于连接的,因此每一个数据包都可以预期得到什么样的结果,但大多数的UDP应用是在收到错误的请求时,没有任何的响应。但感谢UDP协议还是设计了在端口未开放时,默认系统将会回应一个ICMP unreachable的数据包。以通知客户端连接错误。因此,在F5上的简单的UDP端口检查就是根据定义的服务器IP和端口发送一些无用的内容到应用端口。如果没有任何的响应,则认为服务是在正常运行,如果收到了ICMP unreachable的响应,则认为服务发生了故障。从而标识该服务为Down。但在这种情况下,F5并不能真正知道侦听UDP端口的应用系统是否还在正常工作。因此,需要使用更为高级的基于应用协议的健康检查方式。
2.2.5安全网络地址转换
在F5的定义中,SNAT(Secure Network Address Translation,安全网络地址转换)是一种把内部私有网络地址翻译成合法网络IP地址的技术。
SNAT是数据包离开F5的最后一个关口。当数据包在离开F5的时候,F5就会去匹配数据包是否符合SNAT策略,如果源IP属于SNAT Origin定义的范围,则F5在把数据包发送出去的时候按照SNAT的要求进行源地址的替换。
经常地,在设计负载均衡系统的时候,虚拟服务器的地址会采用公网地址或者一个可以对外提供服务的地址,而服务器则隐藏在一个私有网段里,公共的客户端只能访问位于F5上的一个虚拟地址,而对服务器的直接访问只能允许一些特殊角色如网管、编辑或者服务、应用系统的维护人员才可以访问。另外,在一些情况下,服务器自身也是位于F5之后,当它们自己作为客户端需要去访问外部网络的时候,也需要F5进行网络地址翻译工作,将这些服务器的私有地址翻译成为一个公共的地址,这样才能使服务器也可以与外部网络进行沟通。
这时,NAT屏蔽了内部网络,所有F5后的服务器群对于公共网络来说是不可见的,而服务器群也不会意识到NAT的存在。
2.2.5.1一对一静态地址翻译
一对一的静态地址翻译是最为简单的一种实现方式,即将内部的一台服务器永久而固定的映射成为一个外部地址,通常情况下,这个外部地址不能和这台服务器对外提供服务的虚拟地址为同一个地址,也就是外部地址必须是唯一性为这台内部服务器提供NAT服务的。
2.2.5.2多对一静态地址翻译
一对一的静态地址翻译需要为每一台内部的服务器都配置一个外部的地址,因此,当外部地址不足的时候,就需要通过多对一的静态地址翻译将内部的多台服务器共享同一个地址向外访问。
2.2.5.3多对多静态地址翻译
多对一的静态地址翻译动作是通过使用不同的源端口和同一外部地址来实

下载地址

点击此处→注册会员上传设计赚钱
以上是大纲和介绍,如需要完整的资料请在线购买.

软件评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

下载说明

* 本站所有资料均已审核通过,内容原创保密,标准格式,质量保证
* 无需注册,点击在线购买后即可获取该套毕业设计(论文)完整
* 支付后请联系在线客服QQ:8191040发送资料
  • 官方微信