【网络面试(8)】防火墙原理、正向代理、反向代理、缓存服务器、负载均衡和内容分发服务器

这篇具有很好参考价值的文章主要介绍了【网络面试(8)】防火墙原理、正向代理、反向代理、缓存服务器、负载均衡和内容分发服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 接上一篇:【网络面试必问(7)】聊聊集线器、交换机和路由器

 作为一个程序员,其实很少去了解http请求消息在到达服务器之前,所经过的众多组件的,今天借着机会聊一聊标题中提到的正向代理、反向代理、缓存服务器、负载均衡和内容分发服务器等内容。

1. WEB服务器的部署

1.1 部署在公司内部

 一般情况下,公司搭建的一些内部管理系统,仅供员工使用,会同时在公司机房里面部署WEB服务器,这样的方式最快,甚至可以在局域网中实现。有时候对于一些对外开放的网站,WEB服务器也可以部署在公司内部,但是这样会有些问题,第一个是要给所有的服务器机器分配公网的IP地址,现如今的IP地址已经很稀缺,资源不够,第二个是来自互联网中的请求有些是恶意的或者非法的攻击,直接对外暴露比较危险,通常情况会在WEB服务器的前面加上一层防火墙进行网络包的过滤。

1.2 部署在IDC(数据中心)机房

 除了直接部署在自己公司里面,还可以部署在数据中心,也就是IDC机房。想了解IDC机房是干啥的,可以参考这边知乎的介绍 关于“数据中心”的最强入门科普,简单来说,IDC机房就是运营商来管理的,直接连接到互联网的最核心的部分,所以讲WEB服务器部署在这里的最大优势就是访问速度更快,尤其是一些访问量大的网站就更有效果。

 除此之外,IDC一般都具有强大的抗震能力、自主发电能力,好一些的机房还有附加服务,比如服务器的状态监控、防火墙、24小时值班等等,一些中小型公司完全可以租用这些服务降低自己的运营成本。

2. 防火墙

 前面我们提到过,路由器的包过滤功能其实就是一道防火墙。今天我们来看看部署在WEB服务器前面的这个防火墙服务器,它的实现原理是怎样的。

 防火墙的思路很简单,就是支允许发往特定服务器和特定应用程序的的网络包通过,其他的包一律丢弃。基于这种思路,有很多种方式可以实现,但是最常见的就是包过滤方式。我们都知道在网络包中包含很多控制网络通讯的头部信息,只要根据这些信息设置过滤规则就可以达到这一目的,所以最重要的就是根据不同的同步信息设置不同的过滤规则。

 在MAC头部、IP头部、TCP头部都有很多信息可以过滤,这里我们只简单介绍原理,就来了解两种场景。对于WEB服务器来说,第一个是我们只允许访问部署在WEB服务器上的特定应用程序的包通过,第二个是禁止WEB服务器主动访问互联网。

2.1 访问WEB服务器的过滤规则

  • IP地址的过滤

 首先确认了是互联网流向WEB服务器的包,我们可以根据WEB服务器的IP地址过滤那些目的IP地址不合法的包,其次,如果我们可以确认发送方的IP地址,或者只允许某些IP地址访问,也可以根据发送方的IP地址来过滤,这是根据IP地址的过滤规则。

  • 端口的过滤

 通过了IP过滤规则网络包之后,我们还需要根据TCP或者UDP头部的目的地址端口号来过滤,只允许特定应用程序对应端口号的包通过,这样就可以限定到某个应用程序了。

2.2 禁止WEB服务器访问互联网的规则

 通常情况下,我们是不允许WEB服务器有主动访问互联万的需求,所以我们可以过滤这部分主动访问互联网的包,但是不能单纯的根据流向来判断,因为来自客户端的请求在连接和发送阶段,需要收到服务器返回的ACK确认包。所以需要根据IP地址 + 控制位的判断。

 对于起点是WEB服务器,发往互联网中的包,如果控制位ACK = 0的包就要过滤掉,这样在网络建立连接的阶段就结束了,后面自然就没有发送数据的过程。而对于来自客户端的网络请求,由于返回的数据ACK ≠ 1,所以不会被过滤,就不会收到影响。

 基于上面介绍的规则,我们可以看下面这个图示:其中,192.0.2.0/24是WEB服务器的IP地址,80是WEB应用的程序端口

防火墙反向代理模式,网络通讯,网络,面试,缓存

  • 允许接收方IP地址为192.0.2.0/24,端口号为80的包通过;
  • 允许发送方IP地址为192.0.2.0/24,端口号为80,同时ACK ≠ 1的包通过;
  • 阻止其它包通过。

综上所述,包过滤方式的防火墙,可以根据接收方IP地址,发送方IP地址,接收方端口号,发送方端口号,控制位等信息来判断是否允许某个包通过。

3. 负载均衡

 负载均衡我们很熟悉,通过负载均衡可以把流量打在不同的WEB服务器的主机上,我们来看下负载均衡的实现原理。

 一种方式是使用负载均衡的设备,替代WEB服务器的IP地址,注册到DNS服务器上,这样来自互联网的访问首先可以到达负载均衡的服务器,然后负载均衡服务来决定将请求转发给哪台主机。这里当然可以采用轮询的方式,但是弊端也比较大,如果某台服务器的性能不好,再接收新的请求可能会雪上加霜。如果某些登录操作涉及到跨页面,那么不同主机上的Session如果无法同步的话,也会造成登录失败等问题。

 其实负载均衡是可以定期采集WEB服务器每台主机的CPU、内存使用率的,并根据这些数据判断当前主机的运行情况,动态的调整转发流量的分布,而且负载均衡也可以主动向WEB服务器发送测试包,根据测试包的响应时间来判断主机的负载情况。

 而对于登录跨页面的情况,就需要使用HTTP头部的Cookie信息来判断了,将一些列请求直接发送到同一台服务器上,避免跨主机的情况。

防火墙反向代理模式,网络通讯,网络,面试,缓存

4. 缓存服务器

 负载均衡解决流量不均衡的问题,但是没有办法减少打在服务器上的流量,这里缓存服务器就可以通过减少请求的访问量降低降低服务器的负载。

 缓存服务器是通过代理机制实现的对数据进行缓存的服务器,介于WEB服务器和客户端之间。它可以把WEB服务器的资源缓存在磁盘中,也可以对客户端发起的请求中转到WEB服务器。缓存服务器可以部署在WEB服务器一侧,也可以部署在客户端一侧,各有优缺点。比如部署在服务器端,可以减少对WEB服务器的负载,但是没有办法减少互联网的流量,部署在客户端的情况,WEB服务器无法知晓缓存服务器的情况,可能在增加大容量内容时造成缓存服务器内存或者磁盘容量不足的情况。

 为了解决这个情况,一些专门从事缓存相关服务的厂商就出现了,他们抓们部署服务器来实现缓存功能,并租赁给WEB服务器运营人员,同时他们会和主要的运营商签约,部署很多台服务器,这就是内容分发服务,提供这种服务的厂商叫CDSP,即内容分发服务运营商。这样,用户访问的WEB服务器实际上访问的就是这些内容分发服务器,大大的降低了WEB服务器的运营压力,同时对于客户端来说也是无感的。

 但是这里还有一个问题,第一个是如何保证用户能访问到距离自己最近的缓存服务器呢,另外是缓存的数据如何能保证和WEB服务器同步更新呢。解决第一个问题的办法,有注册DNS服务器和重定向等方式,需要把路由器的信息同步记录到DNS服务器上,然后计算哪个DNS服务器距离客户端最近。第二个问题的解决方式是,当WEB服务器的内容发生变化的时候,可以主动告知缓存服务器,对相关内容进行更新。

防火墙反向代理模式,网络通讯,网络,面试,缓存

5. 正向代理和反向代理

 不管是正向代理还是反向代理,其实都是位于客户端和WEB服务器之间一个代理服务器,根据部署位置的不同和功能不同分为正向代理和反向代理,一般部署在客户端一侧的是正向代理,部署在服务端一侧的是反向代理。

5.1 正向代理

 正向代理部署在客户端一侧,可以代替客户端向服务端发送请求,当客户端需要从目标服务器获取资源时,就会向正向代理发送请求,在客户端看来,正向代理就是目标服务器。正向代理的一大好处就是可以作为缓存服务器资源,一定程度上减少网络请求的次数,降低网络压力,另外服务器端接收到请求的发送方IP地址始终是代理服务器的,也可以起到保护客户端隐私的作用。大家一定听说过翻墙软件,其实现原理其实就是正向代理的机制。

防火墙反向代理模式,网络通讯,网络,面试,缓存

5.1 反向代理

 反向代理一般是部署在服务端一侧的,对于客户端来说,实际是将请求发给了代理服务器,反向代理服务器将请求转发给WEB服务器,在客户端看来,代理服务器就是WEB服务器。反向代理可以隐藏真实的服务器信息,增加服务器的安全,常见的反向代理一般用来做负载均衡、防火墙、缓存服务器等,其中作为缓存服务器的反向代理可以减轻服务器的访问压力,但是相对于正向代理的缓存服务器,没有办法减少客户端请求的次数。

防火墙反向代理模式,网络通讯,网络,面试,缓存

综上来看,正向代理和反向代理都可以实现请求转发和代理的功能,但是他们的位置和用途不同,正向代理主要位于客户端一侧,可以用于缓存和代理;而反向代理主要位于服务端一侧,可以隐藏服务器的真实信息,增强安全性并能提高网站的性能。

 下一遍链接:【网络面试必问(9)】Web服务器处理Http请求消息及与客户端交互的原理文章来源地址https://www.toymoban.com/news/detail-835094.html

到了这里,关于【网络面试(8)】防火墙原理、正向代理、反向代理、缓存服务器、负载均衡和内容分发服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全入门:什么是防火墙,防火墙有哪些功能

    网络安全领域是安全行业最基本的领域,研究的技术范畴主要围绕防火墙/NGFW/UTM、网闸技术、入侵检测/防御、VPN网关(IPsec/SSL)、抗DDOS、上网行为管理、负载均衡/应用交付、流量分析、漏洞扫描等。以下主要介绍什么是防火墙,防火墙有哪些功能? 什么是防火墙? 所谓“

    2024年02月09日
    浏览(39)
  • 信息安全-防火墙技术原理与应用

    为了应对网络威胁,联网的 机构或公司 将自己的网络与公共的不可信任的网络进行隔离 方法: 根据 网络的安全信任程度 和 需要保护的对象 , 人为划分 若干安全区域,包括: 公共外部网络 ,如Internet(外网) 内联网 (Intranet) ,如某个公司或组织的专用网络,网络访问限制

    2024年02月04日
    浏览(37)
  • 信息安全:防火墙技术原理与应用.

    防火墙是网络安全区域边界保护的重要技术。为了应对网络威胁,联网的机构或公司将自己的网络与公共的不可信任的网络进行隔离,其方法是根据网络的安全信任程度和需要保护的对象,人为地划分若干安全区域,这些安全区域有:公共外部网络;内联网;外联网(内联网

    2024年02月12日
    浏览(27)
  • 内网安全:隧道技术详解_第125天:内网安全-隧道技术&smb&icmp&正反向连接&防火墙出入规则上线

    目录 隧道技术 反向连接技术 反向连接实验所用网络拓扑图及说明 网络说明 防火墙限制说明 实验前提说明 实战一:CS反向连接上线 - 拿下Win2008 一. 使用转发代理上线创建监听器 二. 上传后门执行上线 隧道技术 - SMB协议 SMB协议介绍 实战二:SMB协议搭建隧道 正向连接 - 拿下

    2024年02月22日
    浏览(32)
  • 网络防御--防火墙

    2024年02月07日
    浏览(25)
  • 防火墙的原理、主要技术、部署及其优缺点

    防火墙的原理、主要技术、部署及其优缺点 目录 一、防火墙的原理 1.简介 2.防火墙原理 3.防火墙的使用 二、防火墙的主要技术 1.静态包过滤 2.应用代理 3.状态检测 三、防火墙的部署 1.防火墙的部署位置 2.防火墙的部署方式 四、防火墙的优缺点 1.防火墙的优点 2.防火墙的不

    2024年02月09日
    浏览(29)
  • 防火墙网络地址转换技术

    拓补图: 一、Easy ip 简单的来阐述一下什么是easy ip以及easy ip的作用,easy ip跟动态nat以及静态nat不一样的是不需要配置nat地址池,而是将私网的地址直接转换成路由器出接口上的公网地址,适合于PPPOE拨号的用户,因为每次拨号之后的公网地址都不一样了,所以适用于这种用

    2024年02月08日
    浏览(29)
  • 防火墙——计算机网络

    前述基于密码的安全机制不能有效解决以下安全问题:         · 用户入侵 :                 利用系统漏洞进行未授权登录;                 授权用户非法获取更高级别权限等。         · 软件入侵 :                 通过网络传播病毒、蠕虫和特

    2024年02月21日
    浏览(28)
  • 网络安全基础 之 防火墙 双机热备、防火墙类型、组网方式、工作模式、逻辑区域划分

    目录 概念: 特征: 作用:     基本功能: 防火墙的分类:     性能划分:     设备形态分类:     技术划分:         包过滤防火墙:             ACL七元组: 逻辑区域: 配置方式:     自定义安全区域:     删除自定义安全区域: 防火墙组网方式: 防火

    2024年02月05日
    浏览(35)
  • 【Linux网络】Linux防火墙

    Linux 系统的防火墙 :IP信息包过滤系统,它实际上由两个组件netfilter 和 iptables组成。 主要工作在网络层,针对IP数据包。体现在对包内的IP地址、端口、协议等信息的处理上 netfilter :属于“内核态”(Kernel Space,又称为内核空间)的防火墙功能体系。 是内核的一部分,由一

    2024年02月05日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包