读《网络是怎样连接的》第五章 总结

上一章 我们知道了 数据包在 接入网路由器到 运营商路由器POP 的过程,

这一章,我们聊聊从pop 到 目标WEB服务器的故事.

 

当然了,目标web服务器不一定在本运营商的网络内, 有时候需要去其它运营商网络的pop,这个依靠路由表来转发~~~

 

  • 我们要去的WEB服务器会在什么地方呢?
  • web服务器的安全又保障吗?   (防火墙)
  • web服务器面对大规模流量时会如何?
  • web服务器与缓存

 

一.web服务器在哪?

 

  1. 在内网中(服务器在裸奔,容易被攻击)
  2. 在内网外(一般会设一个防火墙,内网和web服务器在防火墙的两端,第三端为接入互联网的端口)
  3. 在数据中心处部署(数据中心一般与noc或者IX直接相连,高速传输的线路很棒啊)

 

二 .防火墙

 

一开始的防火墙是什么呢,它本来只是作为路由器的一个附属功能,叫做包过滤(也是现在防火墙的主流),它会查看每一个发送到它这里的包的端口号,根据ip和端口号,能判断这个包是该被转发还是被丢弃. 

 

但后来我们想看看哪些包被丢弃了,(因为这些包通常都附带着入侵的因素),我们想了解入侵者的手法,所以打算存储这些包用来分析,从而有了 软件和硬件这类专门的防火墙.

 

什么是包过滤呢?

 

就是在防火墙里设置一张表,

 

首先设置  来自互联网的信息能访问到web服务器.(第一行)

然后,当web服务器会返回一个响应,该响应也要通过防火墙出去,所以设置了第三行

 

那 为什么这边设置了第二行这个规则呢?

因为有些攻击的方式会让web服务器发送消息去感染其他的web服务器,所以,我们设立规则,不允许web服务器主动发送消息, 这条规则具现化之后,变现为 SYN=1,ACK=0, (第二章的内容,   如果我们web服务器往外发消息是因为响应对方的话,发出的东西为SYN=1,ACK=1,并不会被这条规则阻挡)

 

三.web服务器向外提供服务的性能

 

最开始,假设我们只有一台web服务器, 这时候 , 这台服务器需要面对大量的http请求, 并给出响应.

但是,它自身的能力并不能完成这个举动,此时,我们一般考虑提升服务器的性能, 但是,就算我们能一直提升服务器的性能,但它毕竟是好单台主机,终究有气瓶器所在,

 

因此,考虑用多台一样的web服务器来分担工作,也就是分担负载.

 

ok,我们意识到了我们需要多台服务器,那么它们怎么协同向外提供服务的呢?

我们会有一台负载均衡服务器,这台服务器一端为 接入网侧,另外一端为 多台服务器侧.

此时,我们用户访问的web服务器IP地址就是这个负载均衡服务器的地址了, 当我们传输的包到达时,该服务器会 判断 web服务器的负载情况,把 数据请求发送给此时负载比较低的web服务器.

 

 

 

负载均衡服务器怎么判断该向其身后的哪个web服务器传递请求呢?

1.可以定期采集web服务器的CPU、内存使用率,并根据这使用率判断负载情况

2.可以发送测试包,根据响应的时间判断负载

3.事先设定服务器的性能,按比例分配请求

 

能不能不需要负载均衡服务器,但还是能够协同工作呢?

可以的,有dns轮询方式.该方式需要把域名和多个web服务器的ip一起注册到dns中,并让dns轮流着把每个ip地址放第一位置返回.

但注意,这个方式有缺陷的,就是有时候,某一个WEB服务器宕机了,用户依旧根据得到的第一个ip进行访问,从而就得不到服务了.

 

 

四. 缓存

我们想要提高服务器对外的性能,可以在web服务器外加一个缓存服务器,这样用户的请求在缓存服务器中就会得到响应,从而过滤了一部分请求,让web服务器的工作量降低了一些.

补 : 但这样做的话,互联网中的请求数量会非常多,这些请求都得到web服务器这端才能得到响应,

那么我们可以看看用户端的缓存, 这个缓存服务器存储的是 用户以前的响应信息.

这样,如果下次用户再请求这个信息,那么直接就能从客户端缓存服务器得到,从而降低网络中的数据流量.(但是,web服务器运营者无法管理此处的缓存服务器)

 

现在我们是怎么处理缓存的问题呢?

我们现在用CSN的方式做缓存.csn 称之为内容分发网络,这个网络的缓存服务器放置在客户端的运营商处,但是也不可能所有运营商处都放置,因为这对web服务器运营者来说,花销太大了,从而只有一部分重要的pop才有该缓存服务器.但是也不错啦,总比之前网络包必须到达web服务器处来说 较为近些.

 

那么,网络上那么多的pop都有缓存服务器,我们从客户端发出去的包怎么知道哪个对于我们才是最近的呢?

 

1.从缓存服务器的部署地点的路由器手机路由信息,并从这些路由信息来估算到客户端dns服务器的距离.(种情况,有时候dns服务器并不在本地,可能不准确)

 

2.(是判断ip和缓存服务器的距离,较为准确)通过重定向的方式(http头部 的Location字段)

 

有一台叫做重定向服务器的家伙,它和1的做法差不多,收集了很多缓存服务器的路由信息来判断 哪一个缓存服务器与申请者的ip比较近.,

判断完后,它会在location字段上放入最近的缓存服务器地址,然后发送出去.

做法上,需要把这个重定向服务器注册到 web服务器端的dns服务器上,过程看图就好..~~

 

 

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值