资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
F5 白皮书TMOS:重新定义解决方案本白皮书介绍了 F5 TMOS 架构,该架构包含多种实时特性和功能,专为用作全代理而构建和设计,能够提供当今网络基础架构所需的一切功能和性能。作者:KJ (Ken) Salchow 爵士技术营销经理2目录 2要点综述 3基于数据包与基于代理之比较 3什么是基于数据包的设计? 3什么是基于代理的设计(全代理)? 4重新定义解决方案 5TMOS 5进一步提高 8TCP Express 8Fast Application Proxy 9iRules 10目录白皮书 TMOS:重新定义解决方案3要点综述一直以来,构建应用交付网络设备有两种方式,即针对性能构建或针对智能构建。在开放市场上,客户通常会选择具备最佳性能的解决方案。因此,多数厂商会采用更快的基于数据包的设计构建设备,而非采用较慢的基于代理的架构。随着这些设备对智能的需求日益增长,厂商面临着一个危险的局面:为响应客户需求向设备添加的智能越多,设备就越类似于代理,性能便越差。F5 最初也采用了基于数据包的方法,但同时也着手解决根本问题,努力开发能够同时提供高性能的智能解决方案。该解决方案即为 F5 TMOS,它包含多种实时特性和功能,专为用作全代理而构建和设计,能够提供当今网络基础架构所需的一切功能和性能。基于数据包与基于代理之比较为了理解 TMOS 的独特性和强大功能,我们应该全面了解一下这些应用交付网络设备的历史,以及基于数据包和基于代理的解决方案中速度和智能之间的困境。什么是基于数据包的设计?采用基于数据包(或包过滤)设计的网络设备位于通信流的中间,但是通常不是这些通信的终点,数据包只是经过该网络设备。通常,以包过滤方式运行的设备对流经其的通讯协议有一定的了解,但是远远不如真正的通讯终端对协议的解析。这些设备之所以拥有较快的速度主要是因为它们无需解析整个协议堆栈,减少了流量处理所需的工作量。比如,对于 TCP/IP 协议,此类设备对协议的解析可能只够用来改写 IP 地址和 TCP 端口;而这只是整个协议堆栈的一部分。随着网络的复杂性和智能需求不断增加,更多基于深层数据解析设计的产品开始出现(包括 F5 的 BIG-IP 产品)。这些设备对 TCP/IP 的认识使其足以理解 TCP 连接的建立和断开,修改 TCP/IP 报头,甚至向 TCP 数据流插入数据。由于这些系统可能需要向 TCP 数据流插入数据和修改数据流的内容,它们还需要能够重写客户端和服务器之间往返的数据包的 TCP 序列(SEQ)和确认(ACK)值。F5 BIG-IP 产品对 TCP/IP 和 HTTP 的理解足以使其辨认每个 HTTP 请求,向不同的服务器发送不同的请求,并重新使用 BIG-IP 设备已经打开的连接。4白皮书 TMOS:重新定义解决方案虽然这些都可以使用极为复杂的包过滤架构(BIG-IP 设备是目前该类设计中最复杂的设备之一)来实现,但是它需要极为复杂的状态检测引擎来充分理解 TCP/IP 和 HTTP 协议,以便重写报头内容、插入数据和维护其与客户端和服务器之间的连接。尽管这增加了复杂性,但是基于数据包的设计的复杂程度和速度还是优于传统的基于代理的设计,因为它们所需的逻辑仅占全代理所需逻辑的一小部分。什么是基于代理的设计(全代理)?全代理设计与包过滤设计截然相反。全代理不是对设备中的通信流做最基本的了解,而是对应用协议进行全面了解,而且其本身也是协议的终点和发起点。客户端和全代理之间的连接与全代理和服务器之间的连接完全没有关联;但是在包过滤设计中,客户端和服务器之间有一个直接的通信通道(虽然中间的设备可能会控制数据包的往返传送)。由于全代理是一个实际的协议终端,它必须以客户端和服务器两种角色全面解析协议(基于数据包的设计则不需要)。这同时意味着全代理可以拥有自己的 TCP 连接行为,如缓冲、重新传输和改写 TCP 选项参数。借助全代理,每个连接都是独立处理的;每个连接都可以拥有自己的 TCP 连接行为。这意味着,客户端连接至全代理设备的连接行为不同于全代理用于与后端服务器通信的行为。因而,全代理能够对每条连接进行独立的优化,不受原始来源和最终目的地的限制。另外,全代理能够按OSI 七层构架来理解和处理每个协议,如同真正的客户端或服务器所处理的方式。以 HTTP 为例,首先处理 IP 协议,然后是 TCP,然后再是 HTTP,每一层都无需了解低层的协议。白皮书 TMOS:重新定义解决方案5重新定义解决方案一般认为,基于应用协议的解决方案(至少其提供的智能)是最终解决方案。然而,包过滤设计虽然没有足够的智能,但是能够提供更优的性能。从过往来看,这对于多数企业网络而言是可接受的平衡方式。然而,随着对智能需求的增多,基于数据包的解决方案很快便遇到基于代理的解决方案一直以来所遭遇的性能限制。基于数据包的解决方案的复杂性很快也会达到基于代理的设计的复杂程度。虽然硬件和软件性能显著提升,但是包过滤设计仍然无法满足智能和性能方面的需求。直至今天,已经无法继续在二者之间(速度和智能性)进行平衡。虽然基于数据包的解决方案曾经盛行一时,但是这个时代已经过去。很明显,现在降低智能来提高性能将不再可行。真正的解决方案是构建一个基于代理的解决方案,并提供基于数据包的解决方案的性能。TMOSTMOS(Traffic Management OS)是一个集合术语,主要用来描述 F5 全新构筑和定制的架构,该架构是 F5 耗时数年并投入大量资本为推进 F5 产品持续发展而开发的平台。从更高的层面来看,TMOS 是: 模块集合每个模块执行一种功能。例如,网络驱动程序模块、以太网模块、ARP 模块、IP 模块和 TCP 模块等等。每个系统组件都是独立的,有利于降低系统复杂性并简化未来的开发工作。支持新协议只需添加新的模块,该设计还能够支持轻松地再利用。如果一个应用层面的新协议在 TCP/IP 上运行,我们将能够轻松地将模块连接到一起,以便新协议从 TCP/IP 访问数据,而无需理解更低层面的协议。6 独立和自动许多人会发现,基于 TMOS 的设备上运行着一种 Linux,当使用命令行管理设备时可能会看到此系统。应该注意到,流经 TMOS 的流量在任何方面都与该 Linux 系统没有关联。TMOS 拥有其专用的 CPU、内存和系统总线来访问外围设备。当基于 TMOS 的设备接收到数据包时,从线缆到系统总线,从网络子系统到内存管理子系统完全在 TMOS 内自给自足。Linux 完全没有涉及或感知任何部分流量;甚至 Linux 内核亦是如此。Linux 系统仅用于管理任务,如命令行或 Web GUI。原因很简单:专用操作系统适合高速流量管理操作,但不一定适合通用操作。因此,F5 使用通用操作系统来处理通用任务(如管理),使用专门设计的操作系统来管理流量 TMOS。 实时操作系统TMOS 是实时操作系统,这意味着 TMOS 采用的不是 CPU 竞争调度方式。对于通用操作系统来说,非常适合在内核中采用 CPU 竞争调度方式,因为所有进程能够公平地分享 CPU 时间,而且其中许多进程本质上还能同时运行。对于高度优化的专用操作系统来说,例如 TMOS,这样的调度方式并不合适,因为它会带来不必要的开销。TMOS 经过专门的设计和优化,系统中的每个组件都能执行必要的操作,然后使下一个组件运行。这有助于消除中断、环境切换以及调度程序的大部分功能,从而显著降低 CPU 调度开销。此外,它还能够控制何时以及以何种顺序来执行处理。 硬软件一体化设计由于 TMOS 的设计本质上是模块化的,所以各种功能是由软件处理还是硬件处理都不重要。借助 TMOS,可利用高度优化的专用模块在软件中执行所有操作;但是资源密集型操作也可以卸载至专用硬件。例如,TMOS 具有自己的 SSL 堆栈,能够完全在软件中处理 SSL,但是将加密操作卸载至专用 SSL ASIC 可获得更快的速度。全功能软件技术几乎可支持无限的灵活性,而专门的卸载硬件则可带来经济高效的扩展能力,实现行业领先的性能。白皮书 TMOS:重新定义解决方案7事件驱动模块化与实时处理特性的完美结合使 TMOS 能够根据实时发生的真实事件来调整其行为。从客户端连接初始化到有效负载处理,甚至是将流量从服务器返回至客户端,每个事件都可能会使 TMOS 更改其行为来满足当前的需求。该功能使 TMOS 成为适应性和灵活性最高的解决方案。状态检测TMOS 的核心架构基于高速全代理,后者像状态检测防火墙一样对流量执行状态检测。虽然连接流量通过 TMOS 代理,但是 F5 iRules 引擎能够对该流量进行全面解析(第 2-7 层),并可设置各种规则(基于流量特征、ACL 或业务逻辑)。例如,iRule操作可以是对应用流进行删除、拦截、重定向、记录或转换操作。动态数据包过滤TMOS 与防火墙一样,默认情况下采用“全部拒绝”策略。TMOS 有一个重要的安全优势,即其全代理能够完全庇护后端服务的网络堆栈。TMOS 中的F5 iRules 能够动态控制应用流量,如能够根据应用(不仅限于 TCP 或网络协议)、请求或响应内容动态控制流量整形策略。此外,还可在同一应用层(如 HTTP)或包过滤(如通过 UDP、SCP 或 TCP)对流量执行动态过滤、重定向或拦截等操作。这些功能使得 TMOS 成为具备超凡性能和可适应性的解决方案。模块化设计与独立、实时的事件驱动型操作系统的结合使得 TMOS 具备无与伦比的功能。比如,TMOS 能够使用三个完全不同的网络堆栈来满足不同的部署需求。首先是 FastL4 堆栈:它是一个受限的 TCP/UDP 堆栈 或传统包过滤设计,能够处理任何高连接率流量,但是仅限部分功能(第 4 层及以下)需求。其次是 FastHTTP 堆栈:它是一个受限的 TCP/HTTP 堆栈,提供了非常高级的包过滤设计,能够处理高连接率流量,并且能够满足更高的 HTTP(第 7 层)智能需求。最后是 Fast Application Proxy:它是基于全代理的默认堆栈,提供了最高级的基于代理的设计。TMOS 能够交替使用软件和硬件组件的特性支持将整个 FastL4 堆栈完全卸载至 F5 Packet Velocity ASIC(PVA)(如果系统配备 PVA 硬件)。选择使用哪种方法完全取决于客户。8上述任何一种特性都可以让 TMOS 完胜目前的解决方案,无论是包过滤还是基于代理的设计。此架构本身已足以震撼整个应用交付网络市场,但是即使最出色的架构,如果使用不符合标准的组件,也会带来不符合标准的解决方案。但是,TMOS 采用了最佳的组件或模块,是一个绝对卓越的解决方案。进一步提高让 TMOS 架构如此卓越的原因在于其采用了专门为其量身定制的模块。以下是其中一些使用最广泛的重要特性:TCP Express、Fast Application Proxy 和 iRules。TCP Express包过滤设计无法提供如同 TMOS 的 TCP Express 所拥有的特性集。有些公司部署了全代理,但是它只是基于 UNIX 的通用系统上的一个组件。它们不可能达到专为提供低延迟的一流网络性能而定制编写的实时操作系统所提供的性能。产品设计完成之后,便无法有效附加这种功能,因为这种功能要求基本的架构专为提供高性能、低延迟的网络而设计。TCP Express 是一套提升 TCP 效率的特性集(以互联网标准(RFC)的形式存在)以及数百个 F5 定制特性和优化特性(基于实际经验)。TMOS 支持所有现代的 TCP 效率提升特性,包括:延迟和选择性确认,(RFC 2018)显式拥塞通知 ECN,(RFC 3168)限制性和快速重新传输,(RFC 3042 和 RFC 2582)慢启动与拥塞避免,(RFC 2581)自适应初始拥塞窗口,(RFC 3390)时间戳和窗口扩展,(RFC 1323)TCP 慢启动,(RFC 3390)带宽延迟控制等(Vegas、N
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号