1. 互联网是如何工作的?

发布于 2022年 01月 14日 00:34

腾讯服务器

88 / 年

  • 上海/北京/广州...
  • 2核 2G 4M
  • Linux/Windows
新年大优惠

腾讯服务器

425 / 年

  • 上海/北京/广州...
  • 4核 8G 10M
  • Linux/Windows
年度最便宜

腾讯服务器

1249 / 年

  • 上海/北京/广州...
  • 8核 16G 14M
  • Linux/Windows
点击查看

互联网是什么?最简单的理解,是两台电脑间互相传递信息的工具。

图中的互联网是一种抽象概念,两台电脑通过互联网,就能够彼此交流。如果要生动一点,互联网就是快递员,帮我们把信息递送给别人。而一般意义上的互联网行业其实搞的是信息快递。

既然是快递,那么就要有地址,快递员只有知道了对方的地址,才能把信息送过去。电脑的地址叫作 #IP地址 。

IP 地址是一串数字,人类不善于记忆。为了方便大家记忆,就有了 #域名 ,比如 Google.com。域名就是 IP 地址的名字。

但是比直接用 IP 地址麻烦的是,域名其实是一套索引系统,当我们在浏览器上输入域名时,接下来就需要去这个索引系统中寻找对应的域名,以确认该域名背后对应的地址。

这套索引系统是有层级的,最上面的是根服务器,再下一级是一级域名,还有二级域名等等。浏览器会优先从一级域名开始寻找,一级一级往下,直至最终找到 IP 地址。

现在我们有了 IP 地址,就可以正式传递信息了。但是万里长征才只是刚刚开始。

在快递行业,当快递小哥拿到物品寄送的地址时,接下来他需要开着大巴车,穿山越岭,去往不同省份,这是一个漫长的旅程。

互联网虽然不像这个旅程一样漫长,但也有一套复杂的逻辑。

互联网是由许多大的网络组成的,这些网络背后都有 #网络服务供应商(NSPs) ,我们一般人想要上网,就得通过这些供应商。

NSPs 之间通过网络接入点(NAP 或 MAE)进行互联,使得互联网成为一个整体。而大的 NSPs 下又有小的区域互联网服务供应商(ISPs),区域下又有本地供应商。

现在,我们把视野聚焦到你和想要传递的信息的电脑上:

如果想要将信息传递给 5.6.7.8,那么你得先有本地网络到区域网络,再由区域网络到 NSP,再由 NSP 通过 NAP 到另一个 NSP 下辖区域,然后由 NSP 下至 区域网,再至本地网,最终找到了 5.6.7.8 。

这当然是最漫长的情况,如果另一台电脑位于同样的本地网络,就方便多了。

图中的黑盒子就是 #路由器 ,它的作用就是把不同层级的网络串联在一起。

上面是架构性的问题,最后我们来聊一聊两台电脑间是怎么收发信息的。

电脑间通过一种叫 #协议栈 的东西进行信息的收发。

协议栈共分四层:

第一层:应用层; 第二层:传输层; 第三层:互联网协议层 第四层:硬件层;

应用层 当信息发送时,它要先经过应用层。应用层协议主要是沟通两台电脑间的连接规则。

常见的协议例如 HTTP 协议,这是一般 web 上网的方式。我们在浏览器输入 url 地址后,url 会通过 dns 拿到 ip 地址,然后浏览器对该 ip 地址发送 http 请求,服务器收到请求后,如果存在请求的数据,那么就会返回对应的文件。这时 http 请求就断开了。

还有的协议例如 SMTP (邮件协议),该协议的请求方式就和 HTTP 不同,服务器会经过多轮确认,来保证信息收发的成功。在该过程中,直到信件发出或放弃发送,否则连接是不会断开的。

传输层 应用层后是传输层。

传输层一般用的是 TCP 协议,它主要负责把应用层协议引导到目标电脑上的目标应用上去。

目标应用用 #端口号 标注,比如 HTTP 的端口号是 80,SMTP 的端口是 25,不同的协议对应的端口都不同。

互联网协议层 传输层后是互联网协议层

互联网协议层,主要是 IP 协议,其作用就是把数据包(信息传递的方式)发到目标电脑上。

硬件层 最后是硬件层。

硬件层就是把我们在电脑上打出的文本转化成电信号并通过网络传递。比如我们说的“猫”就是这样的存在。

需要注明的是,传递信息时是按照应用层、传输层、互联网协议层、硬件层这样来的,而在接收时就会倒过来,先硬件层,再协议层、再传输层,最后是应用层。

另外,在信息传递的时候,信息会分成一个个小的数据包,这些数据包在经过 TCP 层和 IP 层,会添加相关的表头信息,来表示端口号和地址,而这些信息在接收的时候又会从数据包中剔除,最后数据包重新合并成一个完整的状态。


参考资料:

How Does the Internet Work?

推荐文章