服务器端的局域网中有什么玄机
思维导图
问题
当使用浏览器访问Web服务器时,浏览器的通信对象不仅限于Web服务器
防火墙并不是必需的,但是没有防火墙会增加风险
也有防火墙无法抵御的攻击(防火墙不会检查通信数据的具体内容,因此无法地狱隐藏在>通信数据内容中的攻击)
看点
- Web服务器的部署地
- 防火墙的结构原理
- 通过将请求平均分配给多台服务器来平衡负载
- 利用缓存服务器分担负载
- 内容分发服务
内容分发服务是从缓存服务器发展而来,它在互联网中部署很多缓存服务器,
并将用户的访问引导到最近的缓存服务器上。
Web服务器的部署地点
1. 服务器直接部署在公司网络上,并且可以从互联网直接访问。
淘汰原因:
(1)IP地址不足。
(2)安全问题。
2.部署防火墙
数据中心是与运营商核心部分NOC直接连接的,或者是与运营商之间的枢纽IX直接连接的。
防火墙的结构和原理
通过网络包的头部控制信息来设置过滤规则(IP地址)
阻止以Web服务器为起点,SYN为1,而ACK为0的包
使用UDP协议无法进行阻止
- 从公司内网访问公开区域的规则
- 从外部无法访问公司内网
防火墙内置的路由功能可以由用户自行设置,因此可以在路由表中配置私有地址相关的路由,使得公司内网到公开区域的访问可以从私有地址的形式来进行,这意味着公司内网和公开区域之间传输的包不需要地址转化
当使用地址转化时,默认状态下是无法从互联网访问公司内网的,因此我们不需要在设置一条包过滤规则来阻止从互联网访问
公司内网
Web服务器在收到含有特定数据的包时会引起宕机
解决方式;
one way:修复Web服务器程序中的Bug
another way:在防火墙之外部署用来检查包的内容并阻止有害包的设备或软件
通过将请求平均分配给多台服务器来平衡负载
服务器的分布式架构
用负载均衡器的IP地址代替Web服务器的实际地址注册到DNS服务器上
然后由负载均衡器来判断将请求转发给哪台Web服务器上
使用缓存服务器分担负载
需要代替Web服务器被注册到DNS服务器上。
缓存服务器接受请求消息
检查请求消息的内容,看看请求的数据是否已经保存在缓存中
若不存在,在HTTP头部字段中添加一个Via字段
确定转发到哪台服务器上是根据请求消息的URI中的目录名来判断的
缓存服务器会以客户端的身份向目标Web服务器发送请求消息
缓存服务器会在响应消息中加上Via头部字段
缓存服务器会以Web服务器的身份向客户端发送响应消息,并把缓存服务器响应消息保存到缓存中,并记录保存时间
若存在,缓存服务器会添加一个If-Modified-Since头部字段并将请求转发给Web服务器,询问Web服务器用户请求的数据
是否已经发生变化
若没有变化,则会返回一个没有变化的响应消息
若Web服务器上的数据有变化,后面的过程和没有命中缓存的情况是一样的。Web服务器会返回最新版本的数据
目的:缓存 实现防火墙
工作方式:先接收来自客户端的请求消息,然后再转发到互联网中
由于代理在转发过程中可以查看请求的内容,所以可以根据内容判断是否允许访问
一般需要在浏览器中设置窗口中的"代理服务器"一栏中填写正向代理的IP地址
透明代理:通过查看请求消息的包头部(IP地址)
在接入网的入口处放置透明代理
内容分发服务
缓存服务器放在服务器端时,可以减轻Web服务器的负载,但无法减少互联网中的流量。
客户端缓存服务器服务器运营者无法控制它。
Web缓冲服务器放在客户端的运营商处
内容分发服务,提供这种厂商称为CDSP(Content Delivery Service Provider)
服务器端的DNS服务器收集缓存服务器部署地点的路由器收集路由信息
查出路由器到客户端DNS服务器的路由距离
将重定向服务器注册到Web服务器端的DNS服务器上
客户端会将HTTP请求消息发送到重定向服务器上
将缓存服务器的地址放到Location字段中返回响应
缺点:增加了HTTP消息的交互次数
优点:重定向的方法是根据客户端发送来的HTTP消息的发送方IP地址来估算距离的,因此精度较高
重定向服务器可以返回一个通过网络包往返时间估算到缓存服务器的距离的脚本,通过在客户端运行脚本
来找到最优的缓存服务器。
当Web服务器在原始数据发生更新时,立即通知缓存服务器(内容分发服务)