网络连接简单分析

Scroll Down

前言

当我们打开浏览器,输入网址(如百度),到浏览器显示主页面时,这个过程到底发生了什么。

简述

先来简单说一下,当我们输入网址(也即是url或者说是域名)时。

  1. 浏览器先对 www.baidu.com 通过dns协议进行解析,查询到对应的ip地址。
  2. 然后使用http协议访问web服务器,通过交换机,路由器,进入互联网中。
  3. 根据对应的ip地址,找到所对应的服务器。
  4. 通过服务器的防火墙,进入服务器中,获取对应的网页。
  5. 再返回浏览器,显示获取到的网页数据。

过程

信息加工阶段

加工阶段

这个阶段发生在本地主机中

数据传输方式,通过tcp协议或udp协议传输的。

区别

名称特点
tcp通过建立连接,再传输数据
udp直接发送数据(通常用于发出数据不用返回数据的情况,如视频,音频等)

具体通过的方式是:

  1. 将信息分成一个个报文(message),加上头部信息(通常为数据的标识号:为了保证数据不被丢失,以及要传输的ip地址)。
  2. 再放入一些被称为包(packet)的容器中。
  3. 通过交换机和路由器进行传输。

数据传输包装的过程中,起到作用的是协议栈(也叫网络控制软件),这个软件将路由器接收到的消息打包,加上ip地址等控制信息。
同时它也有其他的作用,如通信发生错误时,重新发送包,或者调节数据发送的速率

协议栈会将包交给网卡(负责网络通信的硬件)
网卡会将包(电脑中所有信息都是01组成的)转换为电信号,并通过网线发送出去。

这也是为什么我们可以通过电话线连接网络的原因。

网络传递阶段

传递阶段

接下来包会通过交换机,到达接入互联网的路由器。
进入到互联网的入口线路被称为接入网

通常我们可以通过电话线,光纤,专线等通信线路接入互联网,这些通信线路统称为接入网。
接入网连接到你的网络运营商,并接入被称为接入点(pop)的设备。并通过运营商的路由器进入到主干网,最终到达ip地址所指定的web服务器所在的局域网中。

在这个过程中传输的包会记录经过的设备的ip地址,并增加到头部的信息中。用于获取到网页信息后原址返回

在进入指定的web服务器前,服务器的防火墙会对包进行检查。
然后可能会进入缓存服务器(存放一些可以重复利用的数据),如果在缓存服务器中能找到指定的页面,则立即返回。

否则进入web服务器,查找所需的网页数据,没有则返回404(网页不存在)

在这个过程中,包通过协议栈,由光信号转化并还原为原始请求信息,然后交给web服务器程序。

参见