利用WCCP配置WEB缓存服务
WEB缓存交换协议是一种由CISCO公司开发的基于内容的路由技术,它允许您将缓存引擎(如CISCO CACHE ENGINE 550)集成到网络架构中。CISCO IOS RELEASE 12.1和之后的版本可以同时提供WCCP的两种版本,WCCPv1和WCCPv2。这一章将告诉您如何配置路由器将流量重定向至缓存引擎以及如何管理缓存引擎集群,并详细描述了WCCPv2的优势。
详细的WCCP命令请参考RELASE 12. 1 Cisco IOS Configuration Fundamentals Command Reference“WCCP COMMANDS”,在本章出现的其它命令请查找命令参考索引或直接在线查询。
在阅读本章时,我们假定您已经配置好了缓存引擎,更详细的关于CISCO CACHE ENGINE的硬件和网络配置信息请参考http://www.cisco.com/warp/public/cc/pd/cxsr/ces/index.shtml。
(注意:CISCO SYSTEM已经于2001年7月用内容引擎替代了500系列。以前的缓存引擎产品包括505,550,570和550-DS3,现在内容引擎产品包括507,560,590和7320。)
理解WCCP
CISCO IOS WCCP特性利用缓存引擎将网络中的WEB数据流本地化,即使得内容的请求(译者注:比如提交URL)在本地完成,这样大大地降低了传输成本和下载时间。
WCCP使得路由器可以透明的重定向内容请求。重定向透明的最大好处是用户不需要为他们的浏览器配置代理服务器,相反他们可以直接提交目的URL,而他们的请求会自动被重定向至缓存引擎。“透明”是指终端用户不需要理会他们请求的内容(如WEB页)是从服务器还是从缓存引擎返回。
当缓存引擎接收到客户请求之后,首先会尝试查询本地缓存,如果没有查到,它会向目的服务器发送自己的请求从而得到首先由客户请求的信息,当引擎到收到返回信息后,它将此转发给客户,并把这些内容加入缓存,方便以后的请求,由此最小化下载的负载并大大地降低了传输的成本。
WCCP也可以由一组引擎完成,被称作缓存引擎集群,并可以和一台或多台路由器一起提供服务。网络管理员可以通过轻易地扩展他们的缓存引擎来管理繁重的流量负担。CISCO集群技术使能了缓存引擎集群中成员的并发计算能力,由此带来了线性的可扩展性。集群的缓存引擎提供了可扩展性,冗余性,并为您提供了缓存的解决方案。您可以根据您的需求将集群中的缓存引擎提高至多达32台。
理解WCCPv1的配置
当配置WCCPv1时,一个集群中只有一台路由器。在这个场景中,这台路由器为所有的IP包提供重定向,图29显示了这一配置。
   
在每个引擎中的内容都不会与其它的重复。使用多个引擎的好处是您拥有很好的扩展性,您可以向引擎集群中方便地添加设备并使得所有的引擎看上去是一个逻辑设备。
以下的事件详细的解释了WCCPv1工作的细节:
1.  每一个缓存引擎都被配置了自己的和中心路由器的IP地址。总共可以有32台引擎连接至单台中心路由器。
2.  所有的缓存引擎利用WCCP将自己的IP地址发送至中心路由器,路由器和引擎通过控制信道互相交流自己的信息,这个信道使用UDP端口2048。
3.  中心路由器用得到的信息建立集群视图(集群中缓存的列表)。这个视图被发给集群中每一台缓存引擎,最终所有的引擎都会互相了解。而一个稳定的视图会当集群中所有成员在一个特定的时间之内保持不变后而建立。
4.  一旦稳定的视图被建立后,其中一台引擎会被选举为主缓存引擎(主引擎拥有最小IP地址)。主引擎告知中心路由器如何重定向IP数据包,此后主引擎将指定被重定向的数据流如何向集群中的缓存分布。
理解WCCPv2配置
使用WCCPv2的集群中可以有多台路由器。这对于WCCPv1来说正好相反,因为使用WCCPv1的集群中只能有一台路由器。图30展示了多台路由器的集群方案。
   
在集群中的缓存引擎和路由器若是运行着相同的服务则被认为是一个服务组。有效的服务包括TCP和UDP。
运行WCCPv1时,缓存引擎只用配置一台路由器的地址,但是在WCCPv2中,缓存引擎必须知道服务组中所有路由器的地址。为了指定服务组中所有路由器的地址,您必须采用下面的方法之一:
·单播——在每个引擎上配置一组地址,即服务组中所有路由器的地址。采用这种方法时,所有路由器的地址都要被直接配置在引擎上。
·组播——在每个引擎上配置一个相同的组播地址。采用组播的方式时,缓存引擎会向这个组播地址发送通告,这个通告将会被服务组中所有的路由器收到。例如,一台缓存引擎向地址224.0.0.100发送数据包,那么服务组中所有被配置了监听WCCP信息的路由器将会收到此数据(详细配置请参考接口模式命令ip wccp group-listen)。
以上两种方法中,组播的方式是较容易配置的,因为你只需要为每个引擎指定一个相同的地址。而且在这种方式中,你可以随意地向服务组中加入或退出路由器(译者注:在路由器上添加或取消监听WCCP命令即可),而不用麻烦的重新配置每一台缓存引擎。
以下的过程详细说明了WCCPv2的工作过程:
1.  每一台引擎都被配置了所有路由器的地址。
2.  每一台引擎向网络通告自己的存在并与每一台路由器建立连接。路由器则用它的视图回复服务组中的缓存引擎。
3.  一旦当视图稳定,集群中会有一台引擎被选举为主引擎,并设置一个策略,使路由器可以被规定如何重定向数据包。
下一段讲述了如何在路由器上配置WCCPv2,使它们可以加入一个服务组。
WCCPv2特性
在以下段落将讲述WCCPv2所提供的特性:
·可支持HTTP之外的服务
·支持多台路由器
·MD5算法加密
·WEB缓存数据回馈
·负载均分
可支持HTTP之外的服务
除了HTTP(TCP端口号80)之外,WCCPv2还可以重定向其它的流量,包括TCP和UDP。相对比而言,WCCPv1的局限性更大,因为它只支持HTTP流量。WCCPv2支持的其它协议如:HTTP代理,FTP,FTP代理,除了80之外的WEB服务,以及实时音频,视频,电话服务等。
为了适应多种可用的服务,WCCPv2中提出了多服务组的概念。服务组信息是由WCCPv2配置命令中的动态服务标识号(如“98”)或者预先定义好的服务关键字(如“WEB-CACHE”)来指定的,这些信息用来确认服务组中的成员都能提供相同的服务。
服务组中的缓存引擎通过协议(TCP或UDP)或端口号(源端口或目的端口)来定义流量。而每个服务组需要被指定一个优先级。数据包按照服务组的优先级顺序进行匹配。
支持多台路由器
WCCPv2允许多台路由器同时连接至缓存引擎集群。使用多台路由器的好处是可以提供冗余性,接口的密集性,以及数据流的负载均分。
MD5算法加密
WCCPv2提供了一个可选的认证配置,这使得你可以选择某些拥有相同密码的路由器和缓存引擎组成服务组而不是选择全部。用不可逆的MD5算法加密(配置命令为:ip wccp [password [0-7] password])使得信息可以得到有效的保护,而不会被黑客利用。(译者注:这种说法已经过时了)
WEB缓存数据回馈
如果因为某些错误或过载,使得缓存引擎不能用在它自己缓存中已有的数据进行回复,则它将把数据请求返回给路由器,让路由器把这个请求发给初始的目标服务器。WCCPv2可以检查数据包,确定哪些请求是不能被缓存引擎回复的。路由器则可以利用这些信息将数据请求发送至目的服务器,而不是将请求再次转发给缓存集群。同样的,这一容错过程对于客户来说也是透明的。
缓存引擎拒绝数据包或回复数据包失败的典型原因如下:
·引擎过载,没有多余空间处理数据包
·引擎做了某些过滤使得数据包不可达(例如配置了认证)
负载均分
WCCPv2可以调整每一个引擎的负载数据流,从而在保证对客户的服务质量的同时更有效的利用资源。WCCPv2允许被指定的引擎调整某个过载的引擎的负载,并将数据流分配到集群中的其它引擎上。WCCPv2使用三项技术达到负载均分:
·HOT SPOT HANDLING——允许每一个引擎被分配一个私有的HASH桶,优先于WCCPv2,从一个私有HASH桶中来的数据只能发送至一个引擎。
·平衡技术(LOAD BALANCING)——允许调整被分配至每个引擎的一组HASH桶,这样当某台缓存过载时,它的流量可以被其它拥有多余容量的缓存承担。
·分发技术(LOAD SHEDDING)——使路由器可以有选择性的分发数据流,避免将流量重定向至过载的引擎。
这三项技术避免了某台缓存引擎过载,以及降低了出现瓶颈的潜在可能性。
WCCPv2的局限性
以下是WCCPv2的局限:
·只能用于IP数据流
·当配置了组播地址时,TTL必须小于15
·需要配置相关的过滤器。因为IP组播组的成员可能会收到不相关的或重复的消息
·服务组最大上限是32台缓存及和32台路由器
·集群中所有引擎必须被配置和集群里所有路由器建立连接
·组播地址范围在224.0.0.0 239到255.255.255之间
命令配置部分可参考CISCO网站.
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号