网络是怎样连接的-总概览

时间:2024-02-21 20:01:55

1.1 网络的全貌

首先来看下浏览器访问Web服务器这一过程的全貌。访问Web服务器并显示网页这一过程包含了浏览器和Web服务器之间的一系列交互,在这些交互完成后,浏览器才会将Web服务器接收到的数据显示在屏幕上。

浏览器和Web服务器之间的交互:

  • 浏览器向Web服务器发送请求

  • Web服务器根据请求向浏览器发送响应

而要实现应用程序之间的交互,需要一个能够在浏览器和Web服务器之间传递请求和响应的机制[^1]。它不仅能够将数字信息搬运到指定目的地[^2],还能在任何情况下都能够将请求和响应[^3]准确无误地发送给对方,避免在交互过程中数据发生丢失或损坏情况。

这种搬运数字信息的机制是由操作系统中的网络控制软件,以及交互机、路由器等设备分工合作来实现的。它的基本思路就是将数字信息分割成一个个的小块,然后装入被称为包[^4](packet)的容器中来运送,通过许多交换机和路由器的接力[^5],就可以将数据包一步步搬运到目的地。

网络就是由这个负责搬运数字信息的机制,再加上浏览器和Web服务器组合而成。

1.2 Web浏览器

当用户在浏览器中输入请求网址URL之后,浏览器就会按照一定的规则去分析该网址的含义,然后根据其含义生成请求消息,接着浏览器会委托那个搬运数字信息的机制[^6],将请求发送给Web服务器。

1.3 协议栈、网卡

这部分是搬运数字信息的机制内容。在这个机制内,主要是通过协议栈和网卡来将请求的数字信息转换为电信号发送到网络中去的。

协议栈:又叫网络控制软件。它的主要功能有:

  • 将浏览器接收到的消息打包,然后加上目的地址等控制信息

  • 在通信错误时重新发送包

  • 调节数据发送的速率

网卡:负责以太网或无线网络通信的硬件。

  • 协议栈将打好包的数据交给网卡,然后网卡将包转换为电信号并通过网线发送出去

1.4 集线器、交换机、路由器

根据接入互联网的形式不同[^7],则接入互联网的通信设备也各不相同。因此在这里只能先假设客户端计算机是连接到家庭或公司的局域网中,然后再通过ADSL和光纤到户(FTTH)等宽带接入互联网。

在这样的场景中,网卡发送到网络包会经过交换机等设备,到达用来接入互联网的路由器,路由器后面就是互联网,网络运营商会负责将包送到目的地。

1.5 接入网、网络运营商

接下来,数据从路由器出发,进入了互联网的内部。互联网的入口线路称为接入网,接入网连接到签约的网络运营商,并接入被称为接入点[^8]的设备。

 

接入网:可以用电话线、ISDN、ADSL、有线电视、光线、专线等多种通信线路来接入互联网,这些通信线路统称为接入网

接入点:它的实体是一台专为运营商设计的路由器。接入点的后面就是互联网的骨*分了(可以理解为离你家最近的邮局)

互联网骨干:在骨干网中存在很多运营商和大量的路由器,这些路由器相互连接,组成一张巨大的网,而网络包就在其中经过若干路由器的接力,最终被发送到目标Web服务器上。

注意:路由器不但在规模上存在差异,在路由器间的连接方式上也存在差异。家庭和公司局域网中一般采用以太网线进行连接,而互联网中除了以太网连接之外,还会使用比较古老的电话技术和最新的光通信技术来传送网络包。

1.6 防火墙、缓存服务器

通过骨干网之后,网络包最终送达了Web服务器所在的局域网中。接着它会遇到防火墙,防火墙会对进入的包进行检查。在检查完之后,网络包接下来还可能会遇到缓存服务器,如果要访问的网页数据正好在缓存服务器中能够找到,那就直接从中读出数据。此外,在大型网站中,可能还会配备将消息发布到多台Web服务器上的负载均衡器,还有可能会使用通过分布在整个互联网中的缓存服务器来分发内容的服务。经过这些机制后,网络包才会到达Web服务器。

1.7 Web服务器

当网路包到达Web服务器之后,数据会被解包,并还原为原始的请求消息,然后交给Web服务器程序。这个操作和客户端一样,都是通过操作系统中的协议栈来完成。之后,Web服务器程序会分析请求消息的含义,并按照其中的指示将数据装入响应消息中,然后发回给客户端。

响应消息回到客户端的过程和之前请求消息发送的过程正好相反。当响应到达客户端之后,浏览器会从中读取出网页的数据并显示在屏幕上。至此,访问Web服务器的一系列操作就全部完成了。

 

 

[1]  负责搬运数字信息的机制
[2]  数字信息是因为请求和响应都是由 0 和 1 组成的
[3]  请求和响应的本质都是电信号和光信号,这些信号可能会因受到杂音等的干扰而损坏
[4]  包类似于信件或者包裹,交换机和路由器相当于邮局或者快递公司的分拣处理区
[5]  实际上就是根据控制信息对这些包进行分拣
[6]  具体就是委托操作系统中的网络控制软件/协议栈将消息发送给服务器
[7]  客户端计算机可以通过家庭或公司的局域网接入互联网,也可以单独直接接入互联网
[8]  接入点:Point of Presence,PoP