互联网是如何工作的?

2020-04-10 16:28:31 浏览数 (1)

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。
  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

互联网是如何工作的?

文本关键字:互联网、网络运营商、路由器、请求响应

本文为帮助大家理解已经略去了抽象的概念,并且会有不严谨的地方,请忽略。

大家对于互联网的使用已经有很长的时间了,但是如果你需要学习相关的知识时才会发现,其实对它的工作原理并不了解。首先互联网可以使得连入网络的机器互相通信,不再是一个孤立的个体,并且可以通过各种各样的网站、应用、游戏满足我们使用上的需要。那么,既然全世界的计算机都可以通过网络互相连接到一起,总计算下来恐怕有数十亿台,那这样一个庞大的网络帝国是如何建立起来的呢?

  • 通常我们会按照区域来管理
  • 各大网络运营商来为我们提供服务
  • 大家都遵从一个统一的标准

我们在最初接触互联网时可能都会有一个疑问,到底是谁在维护整个互联网,又是谁让全世界的电脑相连。其实这个问题就好比我们铺设铁路和建立信号基站,当用一个统一的标准,在不同的国家,不同的城市,不同的地区去完成最基础的设施时,当每一个局部的位置都完成建设时,那整个互联网帝国也就诞生了。而当用户的位置发生变化时,变化的也就是从哪里接入互联网,由谁来提供服务而已。

上图是一个简化了的网络层级示意图,只标出了个人PC,网络运营商,公网服务器,对于底层的网络数据发送与接收我们不做探讨。

  • 当我们使用不同的软件进行操作时,整体的过程可能会稍有不同,但可以简单划分为两个阶段
    • 发送请求
    • 得到响应

1. 首先广东靓仔要使用百度搜索引擎查阅资料。

那么打开网站并看到网页就是一个完整的过程,从个人PC开始,经过层层的路由器,传出一个指令,直到网络运营商(也就是我们使用的宽带、光纤)才将这个请求真正递交到互联网中,然后会根据给定的网址找到公网服务器,将页面的整个内容连同各种数据进行返回。

2. 接下来广东靓仔要通过QQ将整理的资料发给在总公司坐镇的黑龙江13哥。

当我们使用一个软件将消息或文件发送给另外一个人时(局域网软件除外)都是经过公网服务器的处理。靓仔的文件并不是直接发送到13哥电脑上,而是通过QQ的服务器,也就是说靓仔得到的只能是一个发送成功的响应,到此,他的网络行为就已经结束了。同时,13哥会接到由QQ服务器发送过来的消息或文件数据,在成功接收文件后也会给QQ服务器发送一个已经接收成功的信息。以上的一系列操作是由QQ这个软件来帮助我们控制网络行为,便捷的实现我们需要的功能,只是为了解释两个人的电脑并不是直接连在一起的,而是经由互联网一圈来处理的。

3. 黑龙江13哥根据资料生成产品方案后发了一封跨国邮件给德克萨斯州的Peter。

在这个时候大家应该都知道,这个动作是由我们的邮件服务商(如网易、GMail等)帮助我们完成的,这个过程还是经过层层的路由器,最终抵达提供邮件服务的公网服务器,由于是跨国邮件,这其中有可能会涉及到运营商的更换,但是谁又在乎呢?这并不影响整个网络的通信,因为我们是按照统一通信标准建造的帝国啊!

4. 远在纽约的John发了一条Twitter,并且圈了Peter。

其实无论是PC通过网络上网,还是手机端接入网络,整个的流程都是相同的,不同只是运营商以及各层对数据的处理。除此之外就是为了优化用户的体验,而在此之上开发出的各种应用了。如果Peter使用的是网页应用,那么当他打开网页时才会看到一条新的消息,而如果他使用的是手机端应用,那么通常会直接收到一条由服务器推送过来的消息(其实原理与QQ类似)。

0 人点赞