计算机网络「初探」
前言
关于计算机网络的第一次认知,可以追溯到初中时期,初高中那会对于计算机网络的全部认识可能就朦胧的认为是上网,是淘宝。后续,大学专业也选择了计算机网络这个专业,最开始也认为可以做个什么网站,让很多人访问,后来我才意识到,这是个通讯相关的课程,也是工作后才知道,当初的想法,可能是现在产品经理,网络营销要做的事情。
大学的专业,充斥着各种专业的网络术语,分层,协议,数据报文,路由交换,子网划分,防火墙等等。几乎很难理解很多晦涩的理论,书读了不下10遍,也是抓不住方向和脉络。
工作几年后,一直从事互联网技术的工作,再去回头看当年所学,中间也穿插看了5+的书籍,2+的专栏,很多相关的文档,才得以对整个脉络有个相对清晰的认知。
关于前置知识
-
所谓能力,就是对一个事物的认知程度。如果你现在的认知能力是1,而你想成为具有认知能力为5的水平,那你必然要经过2,3,4。如果跨越这些过程,直接去读认知为5的东西,就会如读天书,白白浪费时间罢了。
-
不过不用担心,后续所写,会有很多类比的例子,旨在用最简单的东西去解读一些复杂的事物。布莱士·帕斯卡说过:"不认识整体就不可能认识局部,通用不认识局部也不可能认识整体。"。
-
今天这篇主要是讲整体的东西,后续会为每个模块和细节做深入的讲解和说明。
什么是计算机网络?
我们先不用去百度或是维基里面去搜,就从我们作为一个主体去思考这个问题,可能你会说就是逛淘宝,刷微博,或是说我家里装了宽带,家里有个路由器种种。
解释这个问题前,我想问另外一个问题,我们把学习节奏放慢,思考下,什么是音乐?哈哈,有一部分人会说,就是那些很好听的歌曲。有一部分人会说就是那些不同的乐器各种演奏。那么能不能再深入一点呢,是节奏和旋律。能不能再说的细一点呢,恐怕很少人能说清楚了,可能很少人会对不同的拍子,不同的时值,不同的和弦构成,有那么深刻的了解。所以这会揭示另外一个东西,就是不同的认知深度,大家对同样一个问题的回答是很不相同的,是表面看到的还是深层次的道理。
- 回到我们日常上网的过程中来,我来慢慢为你揭晓什么是计算机网络,我们上网获取信息的工具有哪些,比如有百度,微博,抖音,小红书,微信等等。那这些工具的设备又是哪些呢,有电脑(win/mac),手机(安卓/ios),pad等等。那我们有这些东西就够了吗,不是的,还需要移动流量(4G等),wifi,网线。那这些东西又是链接到那里的呢,路由器,交换机,基站等作为数据中转。这些基本就构成了一个很简单的网络结构,当然实际情况,远比这个复杂。有很多的网络拓扑结构,很多的网络服务商,有局域网,城域网,广域网,互联网这样。不过再复杂的结构也都是基于基础的东西发生变化的。这个会后续,讲对应的细节。
image那上述说的这些东西,换成专业的术语就是,终端,网络设备,网络操作系统,安全与防火墙,路由交换,以及贯穿始终的协议栈。下面一幅图,可以讲解一个网络访问的过程,也会承上启下的引入下一个最基础最核心的概念,协议栈
上图讲解了,前面说的访问一个网站,还有一个逆向的过程我们再说明下,说明完这个,我们就基本揭示了网络的所有组成了。哈哈哈,是不是没有想象那么复杂,另外一半的逻辑是我们为啥需要访问这些网站,很简单嘛,因为我们需要获得这些数据,可能是文字,图片,视频种种。
我们再总结下,有个可以安装浏览器,微信等的设备,有个这些软件可以请求,然后通过路由器的路由交换寻址,找到我们要访问的那个服务,然后服务会提供给我们需要的数据,然后再反向给我们。这就构成了终端,链接,传输,服务你可以把这个简单理解为计算机网络。
要出去看电影了,就写到这,下周同一时间,会接着详细介绍网络协议的整体逻辑。在下下周会讲最上层的HTTP协议。