WCCPWeb Cache Communication Protocol)主要是Cisco用来同步其边缘路由器与内容引擎(缓存服务器)的一项协议。内容引擎的工作是负责收集经常访问的数据,如HTTP等,这样当主机访问同样数据时,不用访问WAN,就可以直接由内容引擎提供给它们。注意WCCP与一般意义上的Web代理有所不同,使用WCCP时,主机完全不知道有内容引擎参与。
 
WCCP的工作模式:
CCIE学习(22)——Web缓存通信协议_WCCP
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来决定路由器从内容引擎接收什么类型的转向流量。