【读书笔记-《网络是怎样连接的》- 0】全书整体结构
网络是计算机相关课程中的重要部分,更是当今的学习生活中所不可或缺的。虽然相关的经典书籍很多,但是大多数属于深入某一部分的专著,比如TCP/IP协议。像我这样对于网络一知半解的同学来说,更需要一种覆盖网络全貌,每一部分又不那么复杂的入门书。这本《网络是怎样连接的》就非常符合这一特点。本书通过描述从Web浏览器中输入网址,到浏览器中展示出网站页面的这一过程,深入浅出地讲解了相关的网络知识。
其实Web浏览器与Web服务器的交互很简单,可以分为两个步骤:
(1) 浏览器向服务器发送请求
(2) 服务器根据请求向浏览器发送响应
为了实现这种交互,我们需要一种机制,在任何情况下都能将请求和响应准确无误地发送给对方。这种机制由操作系统中的协议栈(网络控制软件)以及交换机、路由器等设备分工合作来完成的,基本思路就是将信息分割成一个一个的小块,装入称为"包"的容器中进行运送。包的头部存有目的地等控制信息,通过许多交换机和路由器的接力,就可以根据控制信息对这些包进行分拣,并一步步地搬运到目的地。
这个负责搬运数字信息的机制,加上浏览器和Web服务器这些网络应用程序,两部分构成了网络的全貌。全书通过六章的内容来描述以下的过程:
第1章 Web浏览器
首先是浏览器的工作方式。输入网址(URL)后,浏览器会按照一定的规则分析URL的含义,并据此生成请求消息。而实际发送消息是由网络控制软件来实现的,浏览器会委托他们发送数据。
第2章 协议栈、网卡
第2章探索的是搬运数据的机制。首先是协议栈(网络控制软件),将从浏览器接受到的消息打成包,加上目的地址等控制信息。此外协议栈还具有通信错误时重新发送,控制发送速度等功能。接下来协议栈就会将包交给网卡,网卡将包转换为电信号并通过网络发送出去,这样包就进入到网络之中了。
第3章 集线器、交换机、路由器
接下来会根据接入互联网的形式而有所不同。这里假设客户端计算机是连接到家庭或公司的局域网中,然后通过ADSL和光纤(FTTH)等宽带线路接入互联网,在这样的场景下,网卡发送的包会经过交换机等设备,到达用来接入互联网的路由器。路由器之后就是互联网,网络运营商负责将数据包传送到目的地。
第4章 接入网、网络运营商
接下来数据包进入了互联网的内部。互联网的入口线路称为接入网,接入网连接到签约的网络运营商,并接入被称为接入点(Point of Presence, PoP)的设备。接入点的实体是一台专为运营商设计的路由器,数据包从这里被发送到全世界,接入点的后面就是互联网的骨干部分。在骨干网中存在很多运营商和大量的路由器,这些路由器相互连接构成一张大网,网络数据包经过若干路由器的接力,最终达到目标的Web服务器。
第5章 防火清、缓存服务器
通过骨干网之后,网络数据包就到达了Web服务器所在的局域网。接下来会经过防火墙,防火墙会对进入的包进行检查,防止混入危险的包。经过检查之后可能还会用到缓存服务器。缓存服务器中保存着一部分可以重复利用的数据,如果请求的数据在缓存服务器中可以找到,就可以直接从缓存服务器中返回,避免访问Web服务器。大型网站中可能还会配备将消息分布到多台Web服务器上的负载均衡器,可能会使用分布在整个互联网中的缓存服务器来分发内容的服务,经过这些机制之后网络数据包才会到达Web服务器。
第6章 Web服务器
网络包到达Web服务器后,数据会被解包并还原为原始的请求消息,交给Web服务器程序。这部分操作也是由操作系统中的协议栈来完成的。Web服务器会分析请求消息的含义,据此将数据装入响应消息,发回给客户端。接下来的过程和发送请求的过程就正好相反了。响应到达客户端,浏览器从中取出网页数据并展示在屏幕上。
接下来的文章中会详细总结每一章的内容,敬请期待。