《F5LTM工作原理》PPT课件.ppt_第1页
《F5LTM工作原理》PPT课件.ppt_第2页
《F5LTM工作原理》PPT课件.ppt_第3页
《F5LTM工作原理》PPT课件.ppt_第4页
《F5LTM工作原理》PPT课件.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

F5LTM工作原理 杨明非F5北方区技术经理 LTM基础架构VSType详解Profile详解CMP工作原理OneConnect工作原理NAT SNAT工作原理Monitor工作原理HA工作原理 Agenda LTM基础架构 3 什么是TMM TrafficManagementModuleTMOS的核心进程 有自己独立的内存 CPU资源分配和I O控制所有的生产流量都通过TMM接收一个CPUCore只能有一个TMM进程在V9版本上 15 34 64 68都是单TMM运行在V9版本上 16 36 69 89 84 88都是多TMM运行在V10版本上 16 36 69 89 84 88都是多TMM运行Viprion只支持9 6和10 0版本 默认都是多TMM运行 4 TMM处理的范围 5 TMM内部处理功能 所有的VS入口流量LTMiRiules处理Profile处理会话保持处理负载均衡算法SSL加速 和硬件结合 HTTP压缩SNAT静态CRL文件校验 不在TMM里面处理的功能 WebAcceleratorModule 包括压缩 ApplicationSecurityModuleGTM的分配算法处理 包括GTMrules Named域名解析健康检查日志管理系统数据统计SNMP数据输出HA健康检查 BIGIP内部结构 V9平台15 34 64 68 6 TM OS 管理CPU 万兆 千兆交换端口 PVA四层交换专用ASIC HostOSWeb界面管理健康检查SNMP Bridge TMM0 独立的管理机SCCP SSL加解密 HTTP压缩 Admin Console BIGIP内部结构 Mecury平台16 36 69 89 7 TM OS 管理CPU 万兆 千兆交换端口 HiSpeedBridge TMM2 HostOSWeb界面管理健康检查SNMP TMM3 TMM1 TMM0 独立的管理机AOM ClusterMutiProcessor多CPU并行处理 SSL加解密 HTTP压缩 Console Admin Host和TMM的内存分配 Host在启动的时候限定了内存分配的大小 在没有其他module的情况下是384MBTMM进程启动后 将自动获取余下的所有物理内存 8 HostMemory TMMMemory 查看Host内存占用情况 physmem 查看物理内存大小8387584bmemoryshow 查看内存分配情况MEMORYSTATISTICS Host Total 3 835GBUsed 3 590GB TMM Total 5 976GBUsed 93 22MB 9 查看TMM内存占用情况 TMM分配的内存是准确的 Host内存显示在这里有一些偏差 10 BIGIP的重要进程 bigstartstatus 查看F5进程状态top 查看Host进程状态top bcn1 显示Host的所有进程 11 TomCat4 TMM TMM MCPD bigd big3d 业务数据处理 本地健康检查 GTM Mpack通讯 配置管理界面 Tamd 外部认证 bcm56xxd 交换芯片管理 Module工作模式 GTM 所有的请求接收和响应都通过TMM进行gtmd负责动态策略解析 并将不在策略制定内的请求转发给namedgtmd的所有状态来源均由big3d汇报gtmd不会直接与bigd通讯 而是从big3d去获得信息 12 TMM 客户端请求 gtmd named bigd big3d mcpd Listener接收请求 动态策略解析 静态策略解析 RTT探测iQuery信息收集和发送 本地健康检查 Module工作模式 WA PVAC是WAModule处理的主进程 与TMM之间采用Plugin模式通讯PVAC可以以多线程方式运行所有的流量由TMM发送到pvac pvac处理完成之后返回给TMM 再通过负载均衡策略转发到服务器 13 TMM 客户端请求 pvac Web 应用服务器 Web 应用服务器 Web 应用服务器 pvac Module工作模式 ASM 14 asm是ASM处理的主进程 与TMM之间采用Plugin模式通讯asm可以以多线程方式运行所有的流量由TMM发送到asm asm处理完成之后返回给TMM 再通过负载均衡策略转发到服务器 14 TMM 客户端请求 asm Web 应用服务器 Web 应用服务器 Web 应用服务器 asm Module工作模式 SAM TMM接收所有流量请求SSLVPN通道建立处理在TMM内部完成APD ApplicationPolicyDaemon 负责策略执行 用户认证等 不处理具体的业务流量 15 TMM 客户端请求 APD Web 应用服务器 Web 应用服务器 Web 应用服务器 VSType详解 16 VSType详解 PerformanceL4StandardVSFastHTTPFowardingVS 17 PerformanceL4 TMM只是负责客户端连接的分配和转发 不改变TCP连接中的任何参数客户端和服务器自行协商TCP传输参数在34 64 68平台上PerformanceL4可以有PVA加入实现硬件加速在15 16 36 69 89 Viprion平台上都通过TMM核心进行处理PerformanceL4VS上只有4层的iRules可以使用默认状态下 新建连接的第一个包必须是Syn包 如果是其他的数据包比如ACK RST等如果不在连接表中 则全部丢弃 在FastL4profile打开Looseclose和LooseInitial的时候对非Syn包也可以建立连接表 18 TMM 客户端 客户端 客户端 服务器端 服务器端 服务器端 PerformanceL4攻击防护 SynCookie 正常情况下客户端连接和服务器端连接是1 1的关系TMM在第一次收到客户端Syn包时 并不建立连接表TMM的SynAck回应通过算法回应给客户端Syn 并期待客户端回应的值TMM对客户端ACK进行计算 确认是真实客户端 再和后台服务器建立连接在84 88上可以实现硬件的SynCookie计算 其余的平台都是通过软件实现SynCookie计算SynCookie工作模式下 只有成功建立连接的TCP请求才转发到后台 19 TMM Syn Syn Ack syncookie Ack Cookie Syn Syn Ack Ack Data StandardVS 正常情况下客户端连接和服务器端连接是1 1的关系默认工作在全代理模式 客户端和服务器端的TCP连接完全独立客户端和服务器端的TCP参数都是由TMM和双方分别协商默认情况下以客户端源IP和后台建立连接 在打开SNAT的情况下用SNAT地址和后台建立连接StandardVS的端口永远对外开放 无论后台是否有服务器在工作 20 TMM Syn Syn Ack Ack Syn Syn Ack Ack Data Data Standard模式下的攻击防护 StandardVS模式具有天然的防攻击功能在遇到Syn攻击的时候会导致系统的连接表过大通过System SYNCheckActivationThreshold的设置 在达到设置值的时候系统自动启动SynCookie 避免建立过多连接 这个值对全局生效大部分的网络层攻击都无法通过Standard模式的VS 21 FastHTTP FastHTTPVS仅用于HTTP协议默认开启OneConnectProfile 对客户端连接进行聚合处理默认开启SNATAutoMap 在服务器端收到的TCP连接请求都是来自于TMM没有会话保持功能不能处理SSL HTTPS 22 TMM 客户端 客户端 客户端 服务器端 服务器端 服务器端 FowardingVS ForwardingIP 只能使用FastL4Profile按照连接处理 类似于路由器工作 但不完全一样 在FastL4Profile中开启LooseInitial和LooseClose之后更为接近路由工作模式所有穿过FowardingVS的连接都将产生连接表没有PoolMember 转发完全取决于本地路由可以使用基于4层的Rules 23 TMM 客户端 查询本地路由表 转发客户端请求 VS和Profile VS作为所有流量的入口Profile依赖于VS 对进入VS的流量进行格式化处理不同的VS可以用同一个Profile或者不同的ProfileProfile之间存在有相互排斥和相互依存的关系 24 VS TCPProfile UDPProfile FastL4Profile HTTP RTSP ClientSSL ServerSSL Streaming SMTP SIP OneConnect VS和Rules Rules的处理必须依赖于VS对流量的接收通过事件触发机制 Rules可以控制流量在VS内部处理的整个过程 25 SSL Compression ClientSide ServerSide TCPExpress Server TCPExpress Caching Microkernel VirtualServer iRules Client iControlAPI TCPProxy OneConnect XML RateShaping TrafficShield WebAccel 3rdParty VS和Rules 26 Server iRules ClientSideEventClient acceptClient dataCache requestDNS requestHTTP REQUESTHTTP REQUEST DATARTSP REQUEST ServerSideEventServer connectServer dataCache responseDNS responseHTTP RESPONSEHTTP RESPONSE DATARTSP RESPONSE VS和Rules 大部分rules只在同一个VS之内有效Rules内创建的变量以连接为生命周期一个VS上可以有多个Rules 它们将被顺序执行 27 CLIENT ACCPTED CLIENT DATA LB SELECTED LB FAILED SERVER ACCPTED SERVER DATA CLIENT CLOSED SERVER CLOSED RULE INIT VS Profile详解 28 Profile的作用和工作范围 Profile依赖于VSProfile是对VS的流量进行格式化处理举例如果一个VS上配置了TCPProfile 则该VS对所有的UDP流量都不会接收 29 Profile的作用和工作范围 基本流量处理类型ProfileTCP UDP FastHTTP FastL4 SCTP服务流量处理类型ProfileHTTP FTP SMTP RTSP SIP iSessionSSL处理类型ClientSSL ServerSSL会话保持类型Cookie DestinationIP hash msrdp sourceIP Universal SSL认证处理类型Radius CRLDP OCSP其他处理类型OneConnect Statistics NTLM Stream 30 重要的Profile FastL4 ResetonTimeout 在连接达到Timeout的是否向两端发送Reset包IdelTimeout 多长时间连接里面没有数据流量的时候就删除连接表LooseInitiation LooseClose 是否接收非Syn包建立连接SoftareSynCookieProtection 是否在VS上启用SynCookie 实现Syn攻击防护 31 可能调整的参数 重要的Profile TCP 注意在ClientSide和ServerSide可以使用不同的TCPProfile通常情况下建议 Clientside TCPWANOptimized或LANOptimizedServerside TCPLANOptimized除非你非常了解TCP的工作原理 否则不要调整除idelTimeout以外的任何参数 32 重要的Profile ClientSSL 对所有进入VS的流量按照SSL协议进行处理注意ClientSSLprofile不一定只能使用在HTTPS上使用ClientSSL的VS不一定使用443端口 33 TMM 客户端 客户端 客户端 服务器端 服务器端 服务器端 SSL SSL SSL 重要的Profile FTP FTP的连接模式有两种 PORT 主动模式 和PASV 被动模式 主动模式的连接过程是 客户端动态的选择一个端口 这个端口号一定是1024以上的 因为1024以前的端口都已经预先被定义好 向服务器端的FTP端口 默认是21 发送连接请求 服务器接受连接 建立一个命令连接 当需要传送数据时或者列出服务器的文件列表时 通常使用ls或dir命令 客户端通过命令连接告诉服务器 使用PORT命令 我已经打开了XX端口 请你过来连接 于是服务器使用20端口向客户端的XX端口发送连接请求 建立一条数据连接来传送数据 被动模式 客户端首先使用与主动连接模式相同的方法与服务器建立命令连接 当需要传送数据时 客户端通过命令连接告诉服务器 使用PASV命令 我要连接你的XX端口 请问是否空闲 如果恰好该端口空闲 服务器会告诉客户端 你请求的端口空闲 可以建立连接 ACK确认信息 否则服务器会说 该端口已经占用 请换个端口 UNACK信息 如果客户端得到的是空闲的提示 就会利用该端口建立连接 否则就换个端口重新尝试 这也就是所谓的连接建立的协商过程 PORT模式建立数据传输通道是由服务器端发起的 服务器使用20端口连接客户端的某一个大于1024的端口 在PASV模式中 数据传输的通道的建立是由FTP客户端发起的 他使用一个大于1024的端口连接服务器的1024以上的某一个端口 如果从C S模型这个角度来说 PORT对于服务器来说是OUTBOUND 而PASV模式对于服务器是INBOUND 34 FTPProfile主要用于处理FTP的主动和被动传输两种模式由于需要配置动态侦听端口 因此FTP协议必须进行单独处理通过iRules也可以达到同样的目的 但由于FTP协议使用非常广泛 因此使用FTPprofile来简化配置和处理FTPProfile必须依赖于TCPprofile工作 CMP工作原理 35 为什么要用CMP 性能增长要求CPU的主频增加受到比较大的限制 目前的趋势是以多核扩展为主ASIC NP的处理架构并不适合于复杂 灵活的流量处理对于不规范的流量 采用硬件加速将导致系统设计僵化 很难加入新的功能实现市场需求需要充分利用CPU的多核处理能力来提升系统的整体性能 36 CMP的硬件支持 37 CMP工作模式 流量由HSB进行分配在多个TMM上 每个TMM占据一个CPUCore 每个TMM有自己独立的内存空间每个TMM都具有相同的配置 包括VS Profile iRules Pool Persistence等TMM之间通过内存高速总线进行通讯共享通用信息如会话保持表 SNAT源端口等当CMP被Disable的时候 TMM0接管所有的流量64 68的硬件平台已经支持CMP 在10 0上自动开启 38 VIPTMM0 VIPTMM1 VIPTMM2 VIPTMM3 HSB HSB SuperVIP 如何查看CMP工作状态 btmmshow可以观察每个TMM的状态 39 关于CMP必须了解的内容 V9平台启动WA和ASM将DisableCMPiRules中定义全局变量将DisableCMP所有的非TCP UDP流量都只使用TMM0进行处理V9中使用Sessionadd SessionLookup命令将DisableCMPConnectionLimit和RateShaping的配置是针对每个TMM生效手工关闭CMP运行bdbProvision tmmCount1调整后必须重启任何一个TMMCrash 将导致设备间FailoverTCPdump已经调整为可支持CMP 40 查看VirtualServer的CMP工作状态 41 如何查看TMMCPU占用率 top命令可以显示每颗CPU的占用率和V9相比 TMM的CPU在Top命令中的显示发生了变化每颗CPU的CPU占用率目前在图形界面里都消失了 目前只有整体的CPU占用率 42 OneConnect工作原理 43 连接聚合和内容交换 44 sales htm d gif e gif index htm a gif b gif c asp Server f asp sales htm d gif e gif index htm a gif b gif c asp Server f asp index htm a gif b gif c asp index htm a gif b gif c asp HTMLserverpool GIFserverpool ASPserverpool 连接聚合 内容交换 OneConnect工作原理 45 OneConnect的典型工作场景 实现连接聚合降低服务器的连接总数需要对每一个请求都进行单独处理 注意在多数情况下 LTM只对一个连接的第一个包进行处理 典型的 打开Cookie会话保持有时候会出现保持不正确的情况 这时就需要打开OneConnect通过设置Mask 255 255 255 255 可以使后台服务器可以 看到 客户端源IP 但这个时候One connect只对一个客户端的连接起作用 46 OneConnect和应用协议 注意 OneConnectProfile不是必须和HTTPProfile共用 也可以用于其他应用协议 用于其他应用协议的时候必须使用iRules编程来调用OneConnect在需要对长连接进行拆分处理的时候 也需要用OneConnectProfile 47 NAT和SNAT 48 SNAT的全称 49 SecureNetworkAddressTranslation SNAT NAT的工作模式 50 206 142 12 10 NATAddress 197 12 100 50 SNAT的工作模式 51 206 142 12 10 172 16 12 1 172 16 12 7 172 16 12 8 SNATAddress 197 12 100 50 NAT和SNAT之间的差别 52 NAT1比1接收所有发往NAT地址的连接所有的连接只是通过LTM的连接表管理 但是是无状态的 连接不会被Timeout连接不能被镜像 SNAT多对一或者多对多拒绝所有发往SNAT地址的连接请求 连接通过LTM的连接表管理 有timeout设置连接可以被镜像 SNATAutoMap 当配置SNATAutoMap的时候 请求从那个VLAN发出去 则SNAT的源地址为VLAN上的SelfIP当一个VLAN上有多个SelfIP存在的时候 SNAT的源地址是在多个SelfIP之间轮询 53 SNATPool的工作模式 SNATPool是提供了一个可用于SNAT源地址的列表BIGIP采用最小连接数的方式在SNAT的源地址之间进行选择 54 通过iRules控制SNAT whenCLIENT ACCEPTED setsnat addr1 1 1 1 whenHTTP REQUEST setsnat addr HTTP headerX Forwarded For log X Fowarded Foris HTTP headerX Forwarded For whenLB SELECTED snat snat addr 55 HTTPS SSLOffload替换源地址 Server端需要在TCP连接里面获取客户端源地址 SNAT的源地址会话保持 whenRULE INIT loglocal5 warning cnc snatpool setsnat length llength cnc snatpool loglocal5 warning snatpoollengthis snat length whenLB SELECTED setclient addr 10 1 1 33 setclient ip IP client addr setclient last getfield client ip 4 loglocal5 warning clientlastis client last setsnat addr lindex cnc snatpool expr client last snat length loglocal5 warning clientsnataddr snat addr snat snat addr 56 Timeout定义和镜像 SNAT可以在两台设备之间镜像SNAT对于TCPidleTimeout和UDPidleTimeout可以有独立的设置 57 Monitor工作原理 58 Monitor如何向外发送请求 所有的Monitor请求都是由bigd进程发起Monitor流量要穿过TMM发送到Server或者其他位置在bconn中可以看到Monitor的流量 59 TMM bigd 重要的Mon

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论