计算机网络系列之服务器端的局域网
服务器部署在哪里?
服务器可以部署在公司的内网,当外部客户端访问时,经过前面的讲解,经过运营商的网络最终将分组传输到了公司内网,到达最终的终点——服务器。但是这种直接与互联网相连的方式,相当于处于“赤身裸体”的状态,容易遭到不怀好意的人的攻击。所以经过发展,在公司网络接入互联网前,先经过防火墙,将防火墙设置对于一些不安全的分组进行过滤,可以保护服务器的安全,但只是相对的安全。服务的部署示意图如下所示:
防火墙的原理
防火墙的原理其实很简单,就是根据数据包中的头部信息,对于包进行过滤,与数据链路层通过MAC地址判断数据包是否是发送给自己的方式是一样的,只不过防火墙对于包过滤的方式更加复杂一些。
假设我们允许互联网上的设备访问服务器,但是不允许服务器主动对外界的互联网进行访问,如何设置包过滤的呢?
我们可以通过数据包首部的源IP地址和目的IP地址来确定包的起点和终点。对于访问服务器的客户端来说,是分布在天涯海角的,所以不能根据源IP地址来过滤数据包,但是访问服务器的目的IP地址一定是服务器的IP地址,可以根据这个过滤到不是访问服务器的包。在接收了数据包之后,还需要发送响应数据包,将客户端请求的数据发送出去,所以需要设置为源IP地址是服务器地址的数据包可以发送出去,但是这样设置之后对于服务器主动访问外界互联网的限制就没有了效果了,怎么办呢?别忘了,在TCP三次握手时的第一个数据报中,首部的SYN=1并且ACK=0,根据这个条件限制,就可以将服务器主动发起建立的TCP连接限制在防火墙之后,它就不能主动访问互联网了(通过TCP方式)。
这就是包过滤方式的防火墙,简单的介绍了一下原理。
负载均衡
如果只有一台服务器来实现对于世界各地的客户端的请求响应,相信多么强大的服务器性能,也不能很好的提供服务,都会发生问题。因此对于服务器端吗,需要增加许多服务器,以实现同时接受许多客户端的请求。但是如何分配来自客户端的请求呢?
一种方法是在DNS服务器写下同域名对应许多不同的IP地址,这些IP地址对应着不同的服务器,客户端查询时,按照一定顺序,每次返回一个不同的IP地址,这样就实现了服务器的分配。
还有一种方法,是使用负载均衡器,将它用来接收来自客户端的请求,它负责查询各个服务器目前的状态,将请求分发到目前比较清闲的服务器当中。只需要把负载局衡器的IP地址写入到DNS服务器,每次客户查询IP地址时,返回的是负载均衡器的IP地址,然后将请求发送到了负载均衡器,实现了服务器的分配。
缓存服务器
为了进一步减轻服务器端的压力,提出了在客户端与服务器端增加一个代理,就是缓存服务器。缓存服务器位于客户端与服务器之间,它可以向服务器请求数据,并将数据存储在自己的磁盘上,如果客户端的请求可以在缓存服务器中找到,那么就直接将数据发送给客户端,不需要重新向客户端申请。
总结
终于,我们浏览器生成的数据包,经过层层封装,层层的传递,来到了终点服务器端,服务器根据请求,按照与发送来相反的路径将响应传输回去,经过这一系列的学习,相信你对计算机网络已经有了一个大体的印象了!
关注我,计算机网络学习资料免费分享给你哦!还有其他超多学习资源,都是我自己学习过的,经过过滤之后的资源,免去你还在因为拥有大量资源不知如何入手的纠结,让你体系化学习。