在一般的网络规模中,在近客户端,使用一台性能较好的Cache代理服务器,就可以满足内部用户的需求,减缓出口线路的拥堵问题。但如果内部网络已扩张到相当庞杂,用户机器数量达到数万台,同一时间的URL请求可能达到上万个,这种情况下极有可能造成单台代理服务
在一般的网络规模中,在近客户端,使用一台性能较好的Cache代理服务器,就可以满足内部用户的需求,减缓出口线路的拥堵问题。但如果内部网络已扩张到相当庞杂,用户机器数量达到数万台,同一时间的URL请求可能达到上万个,这种情况下极有可能造成单台代理服务器无法及时处理,甚至瘫痪,代理服务器反而会成为新的瓶颈。为了有效解决此类情况,我们可以在内部网络中布置多台代理服务器,代理服务器之间构成Hierarchies(层次),协同工作,减缓负载,减轻线路压力。
具体配置方法
下面结合我校的实际情况,说明层次代理服务器的架设方法。

图1
图1是校园网的拓扑结构,内部网通过路由器,由两个出口线路分别接入CERNET和CHINANET,最终汇入Internet。大多数的高校现在都采用这种多出口的方法,因为CERNET虽然可以给予高校合法的IP地址,但它多采用出国流量计费或包月制,费用较高且带宽有限;而CHINANET、CNCNET等运营商的线路的包月费用相对较低,出口访问速度较快。所以一般情况下使用CERNET作入口访问及必要的出口访问(如访问教育资源),而使用CHINANET、CNCNET作大部分的出口访问。
我校校园网在地理上分为多个区域,有图书馆及教学区、行政办公区、学生宿舍区等,我们只拿出这三个区域做为例子。在这三个区域中分别放置一台代理服务器,其域名分别为lib.Cache.lyac.edu.cn 、adm.Cache.lyac.edu.cn 、stu.Cache.lyac.edu.cn 。
其中,因为图书馆购买的学术期刊论文数据库必须是合法IP(有的要求固定IP)才能访问查询,并且校园网也需要访问CERNET上的许多教育资源,所以把它的默认出口线路放到CERNET上,使用合法IP地址;其它两个区域的默认出口线路都放到CHINANET上,ISP通常不会给学校提供合法的IP,所以我们一般在这样的Cache上使用两块网卡,一块使用内网虚地址,另一块使用ISP提供的虚地址,这样就可以连接到ISP,再由其转发。
Cache Server可以是在一台普通的服务器加上Cache软件构成,也有由专用的软硬件系统构成的商业Cache服务器(如CacheFlow)。我校的代理服务器使用Squid。Squid代理服务器使用Squid.conf作为配置文件,单台代理服务器的应用配置――特别是ACL和http_access的配合使用方法,有很多参考资料,这里不再赘叙,我们只讲squid.conf文件中和Cache层次有关的常用配置选项,其详细用法参看squid文档。
下面列出三个区域Cache中的只有和层次有关的配置内容,其中结合ACL的配置方法多种多样,例如可以使用icp_access、 miss_access控制外部Cache的请求权限;有些配置选项的使用结果也是相似的。“#”号开头的为注释。
(1) 图书馆及教学区Cache的配置
http_port 3128
icp_port 3130
#定义其它两个区域的Cache和自己的关系
Cache_peer adm.Cache.lyac.edu.cn sibling 3128 3130
Cache_peer stu.Cache.lyac.edu.cn sibling 3128 3130
#设定只有非.edu.cn域的URL自己没有时才请求其它两个区域的Cache帮助
Cache_peer_domain adm.Cache.lyac.edu.cn !.edu.cn
Cache_peer_domain stu.Cache.lyac.edu.cn !.edu.cn
#10.10.0.0/16是校园网使用的内网虚地址
acl LocalNetIPVIR src 10.10.0.0/16
#210.44.48.0/20是校园网使用的合法IP地址
acl LocalNetIPTRUE src 210.44.48.0/20
#.lyac.edu.cn是校园网的域
acl LocalDomain srcdomain .lyac.edu.cn
acl all src 0.0.0.0/0.0.0.0
Cache_peer_access adm.Cache.lyac.edu.cn allow LocalNetIPVIR
Cache_peer_access adm.Cache.lyac.edu.cn allow LocalNetIPTRUE
Cache_peer_access adm.Cache.lyac.edu.cn allow srcdomain
Cache_peer_access stu.Cache.lyac.edu.cn allow LocalNetIPVIR
Cache_peer_access stu.Cache.lyac.edu.cn allow LocalNetIPTRUE
Cache_peer_access stu.Cache.lyac.edu.cn allow srcdomain
Cache_peer_access adm.Cache.lyac.edu.cn deny all
Cache_peer_access stu.Cache.lyac.edu.cn deny all
#设定只为本校的Cache提供层次服务,以防被局域网外的Cache非法利用
icp_access allow LocalNetIPVIR
icp_access allow LocalNetIPTRUE
icp_access allow srcdomain
icp_access deny all
(2)行政办公区Cache的配置(Cache_peer_access的访问控制列表同行政办公区)
http_port 3128
icp_port 3130
Cache_peer lib.Cache.lyac.edu.cn parent 3128 3130
Cache_peer stu.Cache.lyac.edu.cn sibling 3128 3130
#设定缓存中没有.edu.cn的object时才请求lib.Cache.lyac.edu.cn协助抓取
Cache_peer_domain lib.Cache.lyac.edu.cn .edu.cn
Cache_peer_domain stu.Cache.lyac.edu.cn !.edu.cn
(3)学生宿舍区Cache的配置内容大致同行政办公区,从略。
外部网络上有一些免费的可用来组成层次的Cache,如图1所示,可以申请代理服务器D(CERNET上)和E(Internet上)作为您的parent 或sibling,在申请获得通过后就可以在本地Cache上设置peer关系得到object。
层次代理服务器有效解决了局域网规模太大时多台代理服务器的协调工作问题,更加有效地节约带宽,优化网络中的信息流动,保障网络的正常健康运行。

Python中的支持向量机(SupportVectorMachine,SVM)是一个强大的有监督学习算法,可以用来解决分类和回归问题。SVM在处理高维度数据和非线性问题的时候表现出色,被广泛地应用于数据挖掘、图像分类、文本分类、生物信息学等领域。在本文中,我们将介绍在Python中使用SVM进行分类的实例。我们将使用scikit-learn库中的SVM模

Golang是一门功能强大且高效的编程语言,可以用于开发各种应用程序和服务。在Golang中,指针是一种非常重要的概念,它可以帮助我们更灵活和高效地操作数据。指针转换是指在不同类型之间进行指针操作的过程,本文将通过具体的实例来学习Golang中指针转换的最佳实践。1.基本概念在Golang中,每个变量都有一个地址,地址就是变量在内存中的位置。

随着新一代前端框架的不断涌现,VUE3作为一个快速、灵活、易上手的前端框架备受热爱。接下来,我们就来一起学习VUE3的基础知识,制作一个简单的视频播放器。一、安装VUE3首先,我们需要在本地安装VUE3。打开命令行工具,执行以下命令:npminstallvue@next接着,新建一个HTML文件,引入VUE3:<!doctypehtml>

随着互联网的普及,验证码已经成为了登录、注册、找回密码等操作的必要流程。在Gin框架中,实现验证码功能也变得异常简单。本文将介绍如何在Gin框架中使用第三方库实现验证码功能,并提供示例代码供读者参考。一、安装依赖库在使用验证码之前,我们需要安装一个第三方库goCaptcha。安装goCaptcha可以使用goget命令:$goget-ugithub

VAE是一种生成模型,全称是VariationalAutoencoder,中文译作变分自编码器。它是一种无监督的学习算法,可以用来生成新的数据,比如图像、音频、文本等。与普通的自编码器相比,VAE更加灵活和强大,能够生成更加复杂和真实的数据。Python是目前使用最广泛的编程语言之一,也是深度学习的主要工具之一。在Python中,有许多优秀的机器学习和深度

生成对抗网络(GAN,GenerativeAdversarialNetworks)是一种深度学习算法,它通过两个神经网络互相竞争的方式来生成新的数据。GAN被广泛用于图像、音频、文字等领域的生成任务。在本文中,我们将使用Python编写一个GAN算法实例,用于生成手写数字图像。数据集准备我们将使用MNIST数据集作为我们的训练数据集。MNIST数据集包含

随着互联网的迅速发展,数据已成为了当今信息时代最为重要的资源之一。而网络爬虫作为一种自动化获取和处理网络数据的技术,正越来越受到人们的关注和应用。本文将介绍如何使用PHP开发一个简单的网络爬虫,并实现自动化获取网络数据的功能。一、网络爬虫概述网络爬虫是一种自动化获取和处理网络资源的技术,其主要工作过程是模拟浏览器行为,自动访问指定的URL地址并提取所

快速上手Django框架:详细教程和实例引言:Django是一款高效灵活的PythonWeb开发框架,由MTV(Model-Template-View)架构驱动。它拥有简单明了的语法和强大的功能,能够帮助开发者快速构建可靠且易于维护的Web应用程序。本文将详细介绍Django的使用方法,并提供具体实例和代码示例,帮助读者快速上手Django框架。一、安装D


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具