版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、F5 BIGIP iRules 编写宝典1 BIGIP V9的结构BIGIP具备世界领先的TM/OS操作系统,通过先进的功能强大的UIE ( UniversalInspection Engine)来进行流量的监测,并通过灵活的iRules将流量进行分配、通行、阻断和指定带宽控制。Rate Shap ing模块则负责流量的统计、整形和控制。TM/OS结构图如下:3rd Party or Custom ApplicationsiControl API (Standards Based)T jApplication Application ApplicationSecurityI Optimizat
2、ion I DeliveryTM OS(Traffic Management Operating System)IRulesUniversal Inspection Engine彳F5 Accelerated Hardware Platform图表1 TM/OS结构图在设备底层,是 F5独一无二的专用四七层ASIC芯片加上可高达80Gbps交换背板和2颗双核64位的高性能CPU。最大吞吐能力可达到4GB。TM/OS系统运行在高性能的硬件平台上。通过独有的TCP Stack技术,提供大流量下的稳定工作平台,特别针对低带宽和高延迟客户端有独特的加速功能。TM/OS通过UIE和iRules提供双向基
3、于流的监测和控制功能。在TM/OS上,是BIGIP的各种功能和应用模块,分别从应用安全、应用加速和服务 提交等三个方面对应用进行加速和全面的安全防护。其典型功能包括内存 Cache加速模块、SSL加速模块、防火墙模块、带宽控制模块、高级用户认证模块等。所有的BIGIP设备均可通过iControl协议进行数据收集和设备管理。iControl架构提供 免费的开发包。客户可以基于自身需求通过.NET或JAVA应用的二次开发方便的实现对BIGIP设备进行监控和管理。也可通过第三方的管理工具对设备进行监控和管理。2应用流量管理的实现BIGIP 对应用流量管理的实现,主要通过 Virtual Server
4、、Profile、iRules、Pool、Member、Monitor和Persistent (会话保持)实现。Member为每一个服务器的IP地址加上服务端口。每一个 Member代表一个应用程序。 在配置过程中,Member不需要单独添加,而在 Pool的配置中进行。通常,在一个对外提供同样功能Member组中,所有的Member必须保持内容上的一致。Pool的主要作用是对一组执行相同功能的服务器应用进行捆绑,在Pool中可定义应用流量管理算法,将外部的访问流量按照规则分配到不同的服务器上。在定义一个Pool时,必须知道每台服务器的IP地址和对外提供服务的端口号,不同的服务器可以以不同的端
5、口提供服务,BIGIP可执行端口映射将这些服务对外进行统一端口服务。iRules是BIGIP特性中的一个重要组件,Rule是一个用户编写的 script,用来在两个或者更多的pool中进行选择。换句话说,rule用于根据一定的判断条件选择和一个 Virtual Server 相关联的pool。Rules是一个可选的特性使您可以将流量不单是定义到默认的对应VirtualServer的pool。 Rules允许您直接将流量分配到您所指定的pool中去。Profile是应用于特定网络流量类型(例如HTTP连接)的一组配置设置。如果希望Virtual Server管理某种类型的流量,可以将相关适用的
6、Profile与Virtual Server进行关联,随后Virtual Server便会将该Profile的设置应用到该类型的所有流量。Virtual Server为BIGIP上对外提供服务的地址加上服务端口,每个Virtual Server后对应一个或者多个 Pool。BIGIP将从每个Virtual Server接收到的流量分配到一个或多个 Pool中, 然后按照Pool中的应用流量管理算法分配到一个或多个Node中。Monitor的作用是检查服务器的健康状态。BIGIP V9中,已经预定义了 20多种Monitor的模版,包括 TCP、UDP、HTTP、FTP、SQL等常用的服务。当然
7、,用户也可以根据标准 模版进行自定义或者完全自定义一个External Monitor 。 虚拟服务器服务器池w/Rules举例Incominq rqiustIP Addr.- based Traffic Directionvirtual addlr IliJNllHUvirtual adldr192,1 BSJ 11.1Port-based Traffic Directionvirtual server192.1 mi mmnode (serverIntelligent Traffic Control (lookat URL client IP sddr.7 ete.) nod?node(s
8、enders(selves10.1 1 2:443)node (senrerID/U金弭3peel在通常情况下,BIGIP V9处理的最小对象为一个连接。对于客户端每发起的一个Soket连接,BIGIP识别为一个Connection。在BIGIP内部,存放有一张所有 Soket连接分配的服 务器对应表。该表的单项结构大致如下:SIPSportVirtual Server IP:PortNode IP:PortSIP:客户端的源IP地址Sport:客户端发起请求的源端口,通常,该端口为一个随机值Virtual Server IP:Port :用户访问的 Virtual Serve
9、r 地址和端口Node IP:P o比该Conn ection被分配去往的 Node节点IP和端口通过Profile和iRules定义,BIGIP V9也可以对长连接进行拆分,以用户自定义的数据包作为流量分发管理的最小对象。3 iRules的作用范围TM/OS集成了可编程控制的iRules和通用检查引擎(UIE),凭借完整的应用数据包检 查及转换能力、可扩展的事件驱动iRules以及面向会话层的交换(session-aware switching)技术、BIG-IP提供了业内最智能的流量控制能务,配于强大的硬件加速处理能力,最终可 以保证在极高的速度下处理各种复杂的应用交换与控制问题。3.1
10、UIE实现了对所有TCP、UDP应用的数据包分析与信 息提取功能TM/OS集成了 F5新版定制的iRules和通用检查引擎(UIE),为应用交易或应用流内 任何时刻的应用流量处理都供了无与伦比的控制能力。凭借完整的有效载荷检验及转换能力、可扩展的事件驱动iRules以及面向会话层的交换(session-aware switching )技术,BIG-IP提供了业内最智能的流量控制点,以(以网速)解决各种应用交付问题。UIE支持完全的双向应用数据流分析,包换Inbound与Outbound流量。业内唯一一款可提供完整应用流的解决方案-能够高速进行的全面的有效负载检查和基于事件的可编程流量管理,以
11、及时掌握流量信息,并采取相应控制与转换措施。UIE -Universal Inspection Engine通用搜索引擎,可以检查 TCP/UDP数据中的任何内 容,包括TCP Header,TCP Payload等。与其它的状态监测方式不同,通过 UIE,甚至可以 实现数据流的双向监测。按单通讯方式处理,单向Legacy Approach按实时方式炒理,双向对话交流爹方间取向交潦基于流的流量基于包 的流量 管理管理图表2 UIE通用搜索引擎工作示意图UIE可以在多个条件下触发,包括客户端建立连接时、客户端TCP三次握手完成后数据传输时、服务器端建立连接时和服务器返回数据时等。针对特殊的应用,
12、还具有应用触发条件如SSL连接建立和客户端证书提交等。UIE可检测的内容包括:客户端IP、客户端源端口、服务器端IP、服务器端口、客户端数据、服务器端数据。通过一系列的字符串和二进制处理机制,可将处理的结果提交iRules进行判别和处理。3.2 iRule基于事件驱动的编程方式、功能强大、扩充性极强的开发语言TCLF5 BIGIP的iRules通过事件方式驱动,对每一个Client-BIGIP-Server连接中间的各个动作均有对应的事件,在这些事件发生时,iRules可以根据UIE监测到的数据来对流量进行 处理。典型的事件流程图如下:START在每个事件中,BIGIP可以通过UIE获取各种判
13、断条件,例如,Rules可以配置为判断以下条件:是否在数据包中包含以” eg作为结尾的HTTP请求?是否数据包的源地址是以八进制“ 206为开头?是否在TCP的数据包中包含字符串“ ABC。在获取判断条件后,iRules则可对该数据流进行处理。例如:如果数据包源IP为则将其分配到服务器 A ;如数据包前50个字符包含字母“ REAL ”则将其丢弃;如果数据包第一个字符为 0xE3则将其放入4Mbps的一个RateClass进行带宽控制。3.3选择性地址转换(iSNAT)应用交换机对服务器实现负载均衡时,往往需要将一组服务器虚拟成一台服务器对外提供服务。与此相应的,当这一组服务器
14、对外通讯时也会要求采用虚拟服务器的地址与外界通 讯,这就需要在应用交换机上通过网络地址转换(NAT )来实现。当应用交换机同时对多组服务器进行负载均衡,而单台服务器同时参与到多个负载均衡器组的时候,对网络地址转换的要求变得复杂。而 F5 BIG-IP应用交换机所提供的可编程控制的地址转换能力(iSNAT),可以胜任上述要求。3.4双向的数据流改写功能TM/OS的Full Proxy结构使BIG-IP具有了双向数据流改写的能力。与其他传统的网络 交换机不同,BIGIP 可以对任意内容进行改写,例如TCP Content, UDP Content, HTTPRequest, HTTP Respon
15、se等内容进行修改。同时,BIGIP的iRules也可以直接对 Client端请求进行回应,回应的内容可以完全进行第5页共9页自行构建。直接回应支持的协议包括:TCP Respo nseUDP Respo nseHTTP Respo nse在进行改写和回应时,BIGIP将对数据包的底层进行重构,比如数据包的TCP Checksum,Max segment Size, TCP Window 等参数。4 Rules编写入门Rules的应用可以简单,也可以复杂。在进行Rules编写前,您必须先学习 BIGIP的配置方法。正确的配置相应的Pool、member和Virtual Server 。4.1编
16、写您的第一个rules对于很多第一次接触 Rules的使用者来说,总觉得rule充满了神秘,在一台设备中,对每一个连接都进行一次处理,那需要多么的复杂啊。但实际上,BIGIP通过强大的TMOS,已经隐藏了许多底层的内容,而您所需要关心的,就是如何编写对于单一连接的处理模式,BIGIP会自动地在每个连接中执行Rules,并且能达到非常高的效率。在BIGIP中,有接近50个事件,200多个函数可提供使用,要在很短的时间内学 会所有的rule使用是非常困难的。但是我们可以根据实际的需要,一步一步地来学习 rule的编写方法。在真正需要使用的时候,再查找相应的函数来进行编写。4.1.1直接返回数据的
17、Rule在事件驱动的机制中,BIGIP可以直接返回用户请求,而不需要后端的服务器来进行应答,或者是由BIGIP和客户端进行初步的沟通,在取得客户端的真实信息后,再转发到服务器。F面是一个直接返回内容的例子:whe n HTTP_REQUEST HTTP:respo nd 200 content F5 Networks iRles 我的第一个 rules让我们一起进入 rules的奇妙世界!这里有两点注意的:在引号中间的部分都认为是一个句子 在Rules中部分支持中文处理在写好Rule,并关联到相应的 VS之后,注意,这个 Rule的应用是可以不需要任 何关联的Pool和member的。那这个
18、Rule执行的结果是什么呢?Woo !我们的第一个rules开始工作了。在浏览器里刷新、刷新、再刷新。是不是每次得到的结果都是一样的?BIGIP对于每一个请求都是这样处理的。4.2 iRules的基础知识BIGIP的Rules的主要语言基础是 TCL ( Tool Comma nd Lan guage),并且F5在其 中内嵌了很多与流量控制管理相关的过程与函数,从而使Rules的处理能力更加强大。和其他编程语言一样,我们需要从变量、函数开始来了解Rule的编写。4.2.1通用数据类型422BIGIP内置数据类型 4.2.3TCL操作指令4.2.4 BIGIP内置函数4.3二-四层处理的 Rules编写4.4基本的HTTP Rules 编写4.5 SNAT 处理4.6 Log输出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械加工-C4.5自动化立体仓库设计-工作过程与控制
- 施工机械低噪声使用规范方案
- 2026浙江事业单位统考金华市市直招聘75人笔试模拟试题及答案解析
- 2026德州禹城德立德透析中心招聘笔试模拟试题及答案解析
- 2026年河北省农村信用社联合社博士后创新实践基地招聘考试备考题库及答案解析
- 2026福建南平市建阳区治安巡防大队招聘队员2人笔试参考题库及答案解析
- 2026云南红河州屏边县人民检察院招聘合同制书记员6人笔试模拟试题及答案解析
- 2026届新高考语文热点考前冲刺复习:新材料作文审题立意
- 2026届新高考语文热点考前冲刺复习 高考作文审题的逻辑
- 幼儿园防火防震演练预案
- 2025年甘肃省高考数学真题(新课标ⅱ卷)(含答案解析)
- 五年(2021-2025)高考生物真题分类汇编专题专题08 生物与环境(解析版)(河北专用)
- 前鼻韵母unvn课件
- 2025年政治法制素养题库及答案
- 中山市招投标管理办法
- 医院一站式服务课件
- 板式支护、槽钢支护施工方法
- 浙江专升本政治试题及答案
- 2025年数据中心机房第三方验证测试方案-方案设计
- 2024学年外研版三起六年级英语下册M9单元整体教学设计
- 2025医院收费员考试题库及参考答案
评论
0/150
提交评论