中国移动2013年Web Cache系统集中采购工程技术规范书
? 代理处理机制:HTTP重定向模式也支持工作于代理模式,对于满足域
名匹配条件的请求均引导至缓存子系统,如已缓存则直接向用户提供服务;如该内容在本地未缓存时,则由WebCahe系统作为代理向外网下载并传送给用户侧。
在面向大文件下载、视频播放类的场景进行缓存加速时,建议WebCache系统优先采用HTTP重定向模式及非代理处理机制。
HTTP重定向机制下,WebCache系统应采用分光镜像方式获取用户发起的HTTP请求。通过在需监测的链路上部署无源分光设备,将链路中的信号通过分光处理后发送至WebCache系统的DPI功能中。DPI功能中应根据需要配置过滤流量的条件,如HTTP协议类型、端口号(80/8080)、关注域名或IP地址列表等维度,将满足一致性要求的HTTP请求转发送至后端的请求重定向功能模块。
由于分光镜像模式需要在源网站返回响应结果之前对用户进行重定向,故要求重定向子系统发送重定向报文应当满足时延要求。
特定场景下,也可以通过端口镜像方式获取用户请求。端口镜像模式主要面向网络流量较小的场景,通过在路由器或交换机上开启端口镜像功能,将所有流量均通特定端口转发至WebCache系统,并由DPI设备过滤出所需的HTTP流量。端口镜像方式可进行全流量进行,也可以依据可以是端口号、目标地址、源地址等进行镜像。
2.1.3 策略路由引导模式
策略路由模式主要应用于省网内部署的WebCache系统,通过在核心路由器上开启策略路由(PBR)功能,将满足条件的用户流量通过路由转发至WebCache系统,判断依据可以是端口号、目标地址、源地址等,后续相关的上行、下行流量均会经由WebCache系统进行处理,而无需向终端侧发送重定向报文。
对于用户请求,如果WebCache系统本地命中,则直接向用户返回数据;如果本地未命中,则由WebCache系统代理用户向源网站请求数据,并返回给用户。对于热点内容,由WebCache系统在本地存储一份副本。
对于思科路由器,也可以通过其专用的WCCP协议进行流量转发。 策略路由引导模式下,当网络中断时,路由器应能够自动调整为直通模式,避免可能出现的访问故障。
策略路由引导模式下,也可以采用发布BGP路由的方式将需加速的流量从核
8
中国移动2013年Web Cache系统集中采购工程技术规范书
心路由器汇聚转发到WebCache系统专用的路由器,然后再在该台路由器上面配置PBR策略进行流量引导。
2.2 Web Cache系统建设功能要求 2.2.1 重定向子系统 2.2.1.1 深度报文解析模块
DPI设备通过串行或者旁路分光方式部署在网络汇聚节点,采集并分析业务原始网络数据流量及用户请求,将对应的用户流量转发至系统后端,为WebCache系统实施用户请求重定向提供基础数据支持。
在WebCache系统采用DNS 转发模式、策略路由引导模式时,由于WebCache系统能够直接从DNS服务器获得对应的DNS请求解析流量,从路由器直接获取到对应的用户HTTP流量,此时WebCache系统中也可不部署DPI设备,或由其他设备兼作。
1. 流量分析功能
DPI设备必须支持基于L3/L4信息、基于L7应用层特征(如应用层协议特征码)对数据流量进行分析和识别。
DPI设备必须支持HTTP、DNS协议。 2. 流量转发功能
DPI设备支持流量转发功能,具体要求如下:
? 支持对于满足设定规则匹配条件的报文进行处理,将满足匹配条件的报
文从指定接口转发到用户请求调度设备,例如DNS解析请求报文、HTTP访问请求报文等;
? 支持灵活配置过滤转发规则,规则可以是指定协议类型、IP地址、端口
号、流量方向、应用层特征等组合方式;
? 支持无效流量的灵活过滤,支持灵活按照协议类型、应用层特征、源/目
的IP地址、流量方向等作为过滤条件,能够镜像出高比例收敛的有效流量;
? 支持配置多个出接口组,能够根据负载均衡策略实施转发; 3. 流量统计功能
DPI设备提供支持的流量统计功能如下:
? 支持多种流量统计,如对字节数、当前带宽、峰值流量、新增连接数、
9
中国移动2013年Web Cache系统集中采购工程技术规范书
最大并发连接数、当前并发连接数等网络流量参数进行统计;
? 支持输出外部网站及域名的请求次数、流量统计及排名次序等统计数据; ? 支持通过手动或自动方式上报至其他外部系统,例如WebCache系统或
全网管理控制中心; 2.2.1.2 用户请求调度模块
用户请求调度设备的主要功能是根据缓存白名单配置或者本地已缓存内容,将用户的访问请求重定向至后端的缓存子系统。
1. DNS重定向功能
用户请求调度设备处理接收到用户终端发出的DNS解析请求报文,根据WebCache系统服务器状态和配置参数,生成相应的DNS响应消息。
用户请求调度设备必须支持对DNS请求的源IP地址进行判断:
? 如果是WebCache系统发送的请求则不实施处理,该请求将被透传至外
网上一级DNS服务器进行处理。
? 对于源IP地址为用户侧的DNS请求报文,如果WebCache系统运行正常,
则将WebCache系统的IP地址作为DNS解析响应结果发送给用户终端。 ? 支持对特定源IP地址的调度Bypass功能,对满足源地址匹配条件的DNS
请求不进行重定向,不对这部分用户进行缓存加速。源IP地址段必须可灵活配置。 2. HTTP重定向功能
用户请求调度设备处理接收到用户终端发出的HTTP请求报文,并根据WebCache系统服务器状态、本地缓存数据以及IP地址配置参数等,生成对应的HTTP 302重定向消息,其中目标为缓存子系统的公网IP地址。
在缓存子系统中没有部署负载均衡设备的场景下,用户请求调度设备必须能够实时获取缓存子系统中已缓存的内容资源信息,对用户的HTTP请求进行综合判断,根据资源分布、设备负载以及内容策略等信息将用户的请求制定路由导向策略,将用户请求重定向至最合适的缓存服务器上。
如果用户请求调度设备监测到WebCache缓存子系统不可用,则不对用户的HTTP请求作出重定向操作。
支持对特定源IP地址的调度Bypass功能,对满足源IP地址匹配条件的HTTP请求不进行重定向,不对这部分用户进行缓存加速。源IP地址段必须可灵活配置。
10
中国移动2013年Web Cache系统集中采购工程技术规范书
3. 黑白名单功能
WebCache系统支持配置加速域名列表(白名单),仅对于白名单内的网站域名进行加速,对于其他请求不进行响应,也可返回DNS递归解析结果以保护用户DNS请求的成功性。
WebCache系统支持配置黑名单,包含非HTTP协议的域名和不适合进行缓存加速的域名,如邮箱域名、FTP域名、SSL域名等。
黑白名单域名信息配置必须支持如下2类方式: ? 精确域名:如tuan.jd.com
? 泛域名:如*.sports.sina.com.cn, .news.163.com
可支持正则匹配域名配置方式:如dl[1-9]\\.qq\\.com,ww*\\.sohu.com 对于黑白名单中配置的域名,用户请求调度设备仅对在白名单内、且不在黑名单内的访问请求进行响应。
当系统配置的白名单与黑名单存在交叠时,必须优先使用匹配黑名单的策略生效。
支持黑白名单的管理功能,支持手工增删改查。 4. 健康检查功能
用户请求调度设备支持通过多种方式监测缓存子系统的可用性及工作状态,能够根据缓存子系统的可用性及存储的文件内容进行调度。可用性至少应包括如下方面:
? 设备可达:设备硬件层面是否可用,例如可发送ICMP报文实施探测; ? 服务状态:检查TCP/UDP端口是否提供服务;
? 负载情况:接收并监测Cache服务器上报的设备状态负载信息,如CPU、
内存、硬盘空间使用率等预先协商的数据项(可选);
用户请求调度设备的负载监测功能可通过SNMP协议实现,对WebCache服务器设备层面的监控项实施数据采集,此时缓存服务器中需要安装SNMP Agent服务。
用户请求调度设备根据设定的时间周期性探测对端设备的健康状态。如果在采集周期内缓存子系统出现不可用的状态,用户请求调度设备将继续探测以确认设备不可用,最多进行3次累计探测或探测累计时间在超时范围内,则判定系统
11
中国移动2013年Web Cache系统集中采购工程技术规范书
不可用。
请求调度模块能够根据缓存子系统的可用性进行调度,具体要求如下: ? 缓存子系统单个文件损坏时,请求调度模块应自动停止对应损坏文件的
重定向;
? 缓存子系统数据硬盘出现故障时,请求调度模块应自动停止对应故障磁
盘缓存文件的重定向;
? 缓存子系统不可用时,请求调度模块应不对用户请求作出响应。 ? 缓存子系统负载过重时,请求调度模块应自动识别,并降低向缓存子系
统的重定向用户请求;
用户请求调度设备可支持通过HTTP方式对其它WebCache节点的可用性进行周期性检查。
5. 主备冗余功能
用户请求调度设备需具备冗余切换能力,两台设备之间使用网线传递心跳信号、主备切换触发信号,以监控对端设备的状态。
6. 策略同步功能
支持与管理子系统交互,获取本地缓存内容情况、以及由全网管控中心、内容资源管理平台或者其他外部网元实体下发的各类资源信息、内容信息以及调度策略数据,并在本地配置生效。
2.2.2 缓存子系统 2.2.2.1 负载均衡模块 1. 健康检查功能
负载均衡设备必须支持对Cache服务器资源的健康检查,常用的健康检查机制如下表所示。
系统的可用性至少应包括:
? 设备可达:设备硬件层面是否可用,可基于发送ICMP报文实施探测; ? 服务状态:检查TCP/UDP端口是否提供服务;
? 负载情况:接收并监测Cache服务器上报的设备状态负载信息,如CPU
利用率、内存利用率、存储资源、EBI、EBO、CC或其它预先协商的监控数据项;此时Cache服务器组中需要部署SNMP Agent服务或其它资源插件来支持数据获取。
12