WCCP(网页缓存通信协议)
内容引擎负责将频繁访问的数据收集到本地,通常是HTTP流量,当主机访问相同页面时,可以直接通过内容引擎为主机提供相应内容,而无需通过WAN进行访问。WCCP与网页代理并不相同,提出访问需求的主机并不知道内容引擎参与了它的通信过程。
 
WCCP通过让边界路由器与内容引擎进行通信,使他们都发现对方的存在,并允许路由器根据需要将流量重定向到内容引擎。下图展示了路由器与内容引擎之间的WCCP功能,其中用户正使用HTTP请求一个网页对象。
 
步骤1    客户端与往常一样.发出一个HTTP Get请求.目的地址是Web服务器的IP地址。
步骤2    路由器上的WCCP功能检测到了HTTP Get请求.并将数据包重定向到内容引擎。
步骤3    内容引擎査看自己的硬盘存储缓存.以便确定是否己经缓存了客户端所请求
的对象。
步骤4A    如果己经缓存了对象.内容引擎会向客户端返回HTTP响应.其中包含客户端
所请求的对象。
步骤4B    如果没有缓存过对象.内容引擎会向原服务器发送原HTTP Get请求。
步骤5    如果完成了步骤4B.会由服务器向客户端进行应答.就好像数据包从没有被
重定向到内容引擎。
 
WCCP使用的UDP端口号是2048.在应用了wccp后.路由器和内容引擎.或者多台内容引擎 (称为一个集群)能够感知对方的存在。在一个内容引擎集群中.所有内容引擎之间也使用 wccp进行通信。最多可以由32台内容引擎可以使用wccpv1与同一台路由器进行通倍。如果存在多台内容引擎.拥有最小IP地址的那台设备会被选举为主引擎。
wccp还能够使同一个集群中的所有内容引擎能够彼此感知对方的存在。内容引擎会向wccp路由器请求集群成员的信息.wccp路由器会向其返回一个列表。这样一来.主内容引擎也可以决定如何在集群中分布流量。
 
在wccpv1中.只有一台路由器可以将流量重定向到一台内容引擎.或重定向到一个内容引擎集群。在wccpv2中.工程师可以将多台路由器和多台内容引擎配置为一个wccp服务组。 这项功能扩展提高了内容缓存的可扩展性。此外.WCCPv1只支持HTTP流量(特指TCP端口80)。
wccp v2支持一些其他类型的流量.而且比wccp v1具有更多优势:
 
•支持除了TCP端口80之外的其他TCP和UDP流量.其中包括FTP缓存、FTP代理处理、端口80之外的网页缓存、即时音频(Real Audio)、视频和电话;
•—个缓存集群可以为特定的一个或多个协议提供分段缓存服务.并且可以使用优先级系统来决定应该使用哪个集群来缓存特定的协议;
•支持组播.简化了配置;
•支持使用多台路由器(一个集群最多32台)来提供冗余和负戟分布(一个集群中的所有内容引擎必须与集群中的所有路由器进行通信);
•在WCCP通信提供MD5安全保护.使用全局配置命令ip wccp password passrord进行配置;
•提供负载分布;
•支持传输错误控制。
 
在一台路由器上全局启用wccp时.默认启用的版本是wccpv2。由于wccp的版本是在路由器全局进行配置的.因此版本号会影响路由器的所有接口。不过一台路由器上也以同时运行多个服务。路由器和内容引擎也以同时参与多个服务组的工作;相应的WCCP设置是在每个接口上进行配置的。
 
在路由器上配置wccp并不难.因为缓存环境中的大多数配置都是在内容引擎上完成的; 路由器上只需要少量配置。下例展示了一 个WCCPv2配置案例.其中为wccp通信使用了 MD5认证和组播。
 
首先进入wccp全局配置
指定一个服务(web caching),一个用于wccp交流的组播地址和md5密码:
然后配置一个接口重定向WCCP web缓存流量出向到内容引擎
最后f0/1的入向流量被排除在重定向之外
 
最后可以使用全局命令ip wccp web-cache redirect-list 来过滤流量,只为特定客户端应用wccp(或排除)。wccp还可以使用acl来定义路由器应该从内容引擎接受的重定向流量类型,相关的全局配置命令是ip wccp web-cache group-list
 
 
 

IP服务-8-WCCP的更多相关文章

  1. 简单 TCP/IP 服务功能

    本主题使用每台 Windows 计算机上提供的 Echo 和 Quote of the Day 服务.在所有 Windows 版本中都提供了简单 TCP/IP 服务功能.该功能会提供了以下服务:Cha ...

  2. ITU-T Technical Paper: IP服务性能模型

    本文翻译自ITU-T的Technical Paper:<How to increase QoS/QoE of IP-based platform(s) to regionally agreed ...

  3. IP服务-3-DHCP

    DHCP代表了动态IP地址分配的下一阶段.DHCP建立在BOOTP协议格式的基础上,专注于动态分配多种信息,以及为未来的扩展提供灵活的消息结构,并且无需预先定义每个客户端的MAC地址.DHCP提供的功 ...

  4. django-返回客户端外网ip服务

    在服务器应用初始化的时候,比如salt-minion,需要在配置文件里说明自己的id,一般用ip. 如果都在一个内网里,从ip命令里获取就行了. 但现在的企业后台环境更加复杂,很多都是跨机房.有物理机 ...

  5. IP服务-计算机网络

    如需转载请联系:fengxw6@mail2.sysu.edu.cn 未经许可,禁止转载,私人笔记,码字不易,望理解. ---Sun Yat-sen University 冯兴伟 本节主要就讲网络层的各 ...

  6. IP服务-7-系统日志

    默认情况下.Cisco路由器和交换机并不在NVRAM (非易失性内存)中记录事件:工程师可以使用命令logging buffered改变设备的这一默认行为.并且还可以使用额外参数来设定日志缓存的大小. ...

  7. IP服务-5-网络时间协议

    NTP版本3(RFC1305)允许IP主机向一个通用的时钟源同步它们的日期和时间. 从设计上来说,大多数路由器和交换机都使用NTP客户端模式,根据NTP服务器所提供的时间来调整自己的时钟.NTP定义了 ...

  8. IP服务-4-HSRP,VRRP和GLBP

    HSRP(热备份路由器协议).VRRP(虚拟路由器冗余协议)和GLBP(网关负载均衡协议) 当主机只知道一个IP地址能够用来访问子网外部时,可能会出现一些问题,这些协议正好解决了这一隐患. HSRP允 ...

  9. IP服务-2-RARP和BOOTP

    ARP和代理ARP进程都是在一台主机知道了自己的IP地址和子网掩码后发生的.RARP.BOOTP和DHCP则代表了一类协议的发展,这类协议用来帮助主机动态地学习自己的IP地址.

随机推荐

  1. [转]aliyun阿里云Maven仓库地址——加速你的maven构建

    原文链接:http://www.cnblogs.com/geektown/p/5705405.html maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度 ...

  2. process调用protothread机制的相关宏定义——用HelloWorld进程诠释

    一.HelloWorld例子 #include "contiki.h" #include <stdio.h> /* For printf() */ /*-------- ...

  3. Linux学习之路(二)文件处理命令之下

    分区格式化: 一块分区想要使用的话,要格式化.格式化主要有两个工作,1,把分区分成等大小的数据块,每个数据块一般为4KB.2在分区之前建一个分区表,给第一个文件建一行相关数据,在分区表里保存了它的io ...

  4. ZOJ 3329 One Person Game:期望dp【关于一个点成环——分离系数】

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3329 题意: 给你面数分别为k1,k2,k3的三个骰子. 给定a ...

  5. stack_2.由两个栈组成队列

    思路: 用两个栈($stack_a, $stack_b),当push的时候,压入$stack_a, 让pop的时候,先把$stack_a元素依次全部倒入$stack_b中,再对$stack_b进行po ...

  6. hdu-5805 NanoApe Loves Sequence(线段树+概率期望)

    题目链接: NanoApe Loves Sequence Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 262144/131072 ...

  7. linux命令学习笔记(24):Linux文件类型与扩展名

    Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序 而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux ...

  8. Call to unavailable function 'system': not available on iOS

    使用Xcode 9 导入cocos2d-x 项目,报错 Call to unavailable function 'system': not available on iOS 原因很简单,就是ios ...

  9. SqL注入攻击实践

    研究缓冲区溢出的原理,至少针对两种数据库进行差异化研究 缓冲区溢出原理 缓冲区溢出是指当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量.溢出的数据覆盖在合法数据上.理想情况是,程序检查数据长 ...

  10. 【C++ Primer 5th】Chapter 15

    摘要: 1. 面向对象程序设计的核心思想是数据抽象.继承和动态绑定.数据抽象将类的接口和实现分离:继承定义相似的类型并对齐相似关系建模:动态绑定,在一定程度上忽略相似类型的区别,而以统一的方式使用它们 ...