扫一扫
关注微信公众号

F5 WANJet CIFS 加速
2007-09-30   网络

概述

什么是 CIFS?
  公共互联网文件系统 (Common Internet File Systems) 是一个远程文件访问协议,构成了 Windows 文件共享的基础。它是一项行业标准,与所有基于微软的客户端(如 XP)与服务器(如 Server 2003)平台预先捆绑上市。各种 CIFS 实施(如 Samba)也可用于其它操作系统,比如 Linux。
   CIFS 定义了客户端和服务器:CIFS 客户端用来访问 CIFS 服务器上的文件。例如,每次您使用 Windows Explorer 浏览或访问 Windows 服务器上的文件时,CIFS 协议则用以在您的电脑和您访问的服务器之间来回传送信息(文件或目录信息)。
只要是从映射的驱动器上复制文件并见到过图 1 所示的对话框,便已使用了 CIFS 协议,只是用户可能并不知道。

图 1:Windows 文件共享(CIFS 传送)
   除用于文件共享以外,CIFS 还用作各种更高级别的微软通信协议以及网络打印、资源定位服务、远程管理/监管、网络认证(安全确立服务)和 RPC(远程程序调用)的传输协议。

挑战

CIFS 存在什么问题?
  CIFS 设计于网络模式与现在截然不同的 20 世纪 80 年代*。那时,对 CIFS 如何在高延迟 WAN 链路上运行未做任何考虑。许多网络管理员发现,CIFS 在高延迟广域网链路上运行效果很差。其根本原因是,CIFS 是一个设计地非常烦琐的协议,这意味着完成一个请求就需要大量的来回交易。例如,在客户端和服务器之间的一个往返中,CIFS 可以传输的最大的数据块为 61,440 字节 (61KB)。如图 2 所示,每个 CIFS 请求都要求在下一个请求之前把响应发送到 CIFS 服务器。因此,CIFS 是延迟限制协议,随着延迟的增加,CIFS 的性能就会降低。
  具体地说,要传输 30MB 的文件,CIFS 协议将必须在客户端和服务器之间往返数百次。在一般的局域网上,这只需要花费几秒钟,但是在带 300 毫秒延迟的 2 Mbps 广域网链路上,则需要花费约 7.5 分钟!显而易见,这种性能降级会严重影响工作效率。借助 F5 的 WANJet 产品,同样的交易可在 2.5 分钟内完成,速度可提升三倍以上。随着 CIFS 加速,以及与 WANJet 透明数据压缩功能 (TDR) 的结合,以后同样的 30MB 文件的传输时间可降低至 30 秒以内。而随着广域网链路带宽和延迟的增加,WANJet CIFS 加速的优势也会增加。

解决方案

WANJet 是如何改进 CIFS 性能的?
  每个 WANJet 设备都深入理解 CIFS 协议,因此可代表 CIFS 客户端(如 Microsoft XP 电脑)和服务器(如 Server 2003 电脑)进行操作,使两者之间的交互更高效,从而使两个主要的 CIFS 相关交互显著提升:
☆ 文件访问——文件下载(读取)、上传(写入)以及远程访问(如在远程 CIFS 共享上打开 Powerpoint 文件)
☆ 目录浏览——在远程服务器上浏览(点击文件夹及其子文件夹)目录(使用 Windows Explorer)
  WANJet 可维护一个状态机与 CIFS 行为数据库(依此来可靠地预测未来 CIFS 相关交易)。当 WANJet 测定某个 CIFS 交易要发生时,它会预取数据(如文件)并将其临时存储于远程(客户端)WANJet 系统的内存中,以备未来参考。一旦预取数据被引用(成功预计交易),它便会被从内存中删除。其中不执行任何高速缓存,为加快 CIFS 响应时间,仅执行了临时存储。

图 3:CIFS 文件下载(读取)示例
   图 3 表明了 WANJet CIFS 加速的主要目的:降低 CIFS 客户端(如 Microsoft XP 电脑)所体验的延迟,包括广域网延迟(即高延迟)与局域网延迟(即低延迟)。

WANJet 加速 CIFS 文件下载(读取)请求时,事件发生顺序如下:
☆ CIFS 客户端打开待读取文件
☆ CIFS 服务器以文件 ID 响应
☆ CIFS 客户端发出首个读取请求,CIFS 服务器以数据响应。第一个交易所花费的时间相对较长,因为读取请求和响应受广域网延迟(如 300 毫秒)限制。
☆ 一旦 WANJet 系统发现初次交易,它们便可确定 CIFS 用户正试图下载文件。此时,服务器端 WANJet 以保持广域网链路完整的速率在本地向服务器生成读取请求,并开始预取数据。若交易重复或文件包含重复的数据,则服务器端 WANJet 将得出透明压缩数据 (TDR) 命中数,因而仅在广域网链路上传输一小部分数据。这就进一步加速了 CIFS 传输的速度。
☆ 预取的数据被送往客户端 WANJet 并临时储存,以待 CIFS 客户端发出请求。当 CIFS 客户端请求文件数据时,即可自客户端 WANJet 以局域网 (LAN) 速度(如 1 毫秒或更快)从本地获得回应,无需每 61 k 字节都经由高度延迟的广域网来获权。这反过来也大大提高了 CIFS 的下载性能。
  CIFS 加速与透明数据压缩 (TDR) 无缝合作,且结合 TDR 的能力即可减少穿过广域网的数据,这和其它应用(如 FTP, HTTP 或电子邮件)一样。

其它通用 CIFS 使用案例
  一份文件下载用以展示 WANJet 如何执行 CIFS 加速。然而,CIFS 加速使用类似的机制在其它情境下也大大提高了性能。以下是几个例子:

文件上传(写入)
  这个概念跟文件下载十分类似,所不同的是,CIFS 客户端向 CIFS 服务器写入文件而不是从它那里读取文件。此时,客户端 WANJet 在本地对 CIFS 客户端的写入请求作出反应,并以广域网链路速度将数据传输到服务器端 WANJet,完成写入操作。

目录浏览
  由于 CIFS 存在低效缺陷,刷新高度延迟的链路上的远程目录列表耗时极久,使用户只能茫然地盯着“沙漏”,长时间无法操作。结合使用目录预取和高速缓存,WANJet 可大幅改善目录浏览的响应时间。现在,无需等待数十秒,目录表几乎可以实时出现。

远程访问 Microsoft Office 文件
  位于远程 CIFS 服务器上的 Microsoft office 文件(如:MS Word、Powerpoint、Excel 等)通常从 CIFS 客户端(双击)访问。由于文件数据被连续检索,每次 61k 字节,这种访问将造成本文中提到的所有与 CIFS 相关的问题。使得在打开文件、浏览、或执行任何操作(如保存)时需要漫长的等待。WANJet CIFS 加速可预取文件数据并将其植入客户端 WANJet,从而将这些问题一举攻破。最后所有针对文件数据的 CIFS 客户端请求都以局域网速度在客户端 WANJet 上执行。

结论
  公共互联网文件系统 (Common Internet File Systems) 是一个远程文件访问协议,构成了 Windows 文件共享的基础。由于每款 F5 WANJet 设备都深入了解 CIFS 协议,因此它可代表 CIFS 客户端(如 Microsoft XP 电脑)和服务器(如 Server 2003 电脑)进行操作,使两者之间的交互更高效。这不但带来了文件访问和目录浏览功能的大大提高,还加速了到 MS Office 文件的远程访问(以局域网速度)。WANJet CIFS 加速与透明数据压缩 (TDR) 无缝协作,且结合 TDR 的能力即可减少穿过广域网的数据,这和其它应用(如 FTP、HTTP 或电子邮件)一样。所有这些最终成就了广域网上类似局域网应用性能的解决方案,加速了文件传输、电子邮件、客户端服务器应用、数据复制等操作,同时为所有广域网用户提供了可预测的快速性能。

热词搜索:

上一篇:带宽与应用性能的神话
下一篇:卸载服务器的远程认证

分享到: 收藏