WCCPWeb Cache Communication Protocol)主要是Cisco用来同步其边缘路由器与内容引擎(缓存服务器)的一项协议。内容引擎的工作是负责收集经常访问的数据,如HTTP等,这样当主机访问同样数据时,不用访问WAN,就可以直接由内容引擎提供给它们。注意WCCP与一般意义上的Web代理有所不同,使用WCCP时,主机完全不知道有内容引擎参与。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

WCCP的工作模式:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

1)客户端发送HTTP Get请求到外部Web服务器;

2)路由器WCCP协议侦测到HTTP Get请求,并将其IP包转向到内容引擎;

3)内容引擎查询其缓存的内容中是否有请求的对象;

4A)如果对象缓存了,内容引擎直接发送HTTP响应给客户端;

4B)如果对象没有缓存,内容引擎发送原始HTTP Get请求到外部服务器。

5)如果采取了4B,外部服务器发送响应给客户端,而完全不知道其IP包曾经转向到过内容引擎。

 

WCCP使用UDP服务,端口号为2048,通过WCCP,路由器和内容引擎(或内容引擎池)互相通信。使用WCCPv1,单台路由器最多能支持与32台内容引擎的交互。如果有多台内容引擎,IP地址最小的那台选为主引擎。WCCP也支持一组内容引擎之间的通信,内容引擎可以向WCCP路由器请求成员列表,这样主引擎可以决定怎样在集群内分布流量。

 

关于WCCPv2

WCCPv1中,只允许一台路由器参与工作,而WCCPv2可以允许多个路由器与多个内容引擎组成WCCP服务组,这样可以进一步扩展系统性能。此外,WCCPv2不仅能支持HTTP,还能支持其他多种流量类型,其相较于WCCPv1的优势有:

1)支持HTTP80端口)、FTPFTP代理、Real Audiovideotelephony等流量类型;

2)支持缓存集群对特定协议或协议集的分段缓存服务,并可用一个优先级系统来决定针对某个缓存协议使用哪个集群;

3)支持多播;

4)支持多台路由器(一个集群最多32台)作冗余备份和负载均衡。

5)使用ip wccp password password命令提供了对WCCP通信的MD5安全认证。

6)支持负载均衡

7)支持透明错误处理

当全局激活WCCP时,默认使用的是WCCPv2。一台路由器也可以参加多个服务组,此时WCCP设置是基于端口的。

 

WCCP的配置

由于WCCP的配置很大一部分在内容引擎处完成,路由器的配置工作不多,具体如下:

#conf t

(config)#ip wccp web-cache group-address 239.128.1.100 password cisco

(config)#int fa 0/0

(config-if)#ip wccp web-cache redirect out

(config-if)#int fa 0/1

(config-if)#ip wccp rediret exclude in

通过ip wccp web-cache redirect-list access-list全局命令,WCCP可以使用访问控制列表来针对特定客户端过滤流量。类似地,使用全局命令ip wccp web-cache group-list access-listWCCP可以应用ACL来决定路由器从内容引擎接收什么类型的转向流量。