大家好,很高兴又和大家见面啦!!!
前面我们以及介绍完了计算机网络的第一章——计算机网络体系结构的第一部分——计算机网络概述。
在前面的内容中,我们初步认识了计算机网络,了解了计算机网络的组成与功能,介绍了计算机网络的三种交换方式,知道了计算机网络的不同分类方式,学习了计算机网络的7中性能指标。
从今天的内容开始,我们将进入第二部分——计算机网络体系结构与参考模型的学习。
在【计算机组成原理】中,我们知道了从硬件的角度来看,计算机的层次结构:
该层次结构从上到下,所对应的计算机语言等级逐渐降低,层次之间的关系为:
在今天的内容中,我们将会从网络的层面来认识一下计算机的分层结构。下面我们就直接进入正题吧!!!
相信分层结构大家在生活中还是很常见的,比如社会中的各种组织架构——上到国家的各个政府部门,下到家庭中的人员分工;
再比如自然界中的各种系统结构——大到自然界中的生态系统,小到各种生物的身体结构;
说了这么多,下面问题来了——什么是分层结构呢?
分层结构是一种将复杂系统分解为多个层级的设计方法,每一层专注于特定功能,并通过明确的接口与相邻层交互。这种结构通过 模块化、解耦和抽象 提升系统的可管理性和扩展性。
从这个定义中,我们很难理解什么是分层结构,下面我们就从我们熟悉的例子中出发进行理解。
在C语言中我们有学过一个知识点——函数递归。在介绍函数递归时,我们就有提过一个观点——将复杂的问题简单化。只不过在函数递归中,我们是将一个复杂的问题转化为相同的小问题,例如青蛙跳台阶问题:
void Func(int n){
if(n == 1)
return 1:
if(n == 2)
return 2:
return Func(n - 1) + Func(n - 2);
}
在这个问题中,我们就将求上n
阶台阶转化成了求上n - 1
阶与上n - 2
阶台阶,以此类推,最后的结果就是求上1阶台阶与上2阶台阶。
在青蛙跳台阶中,我们将求n
阶台阶拆分成求n - 1
阶与n - 2
阶台阶,这个过程实际上就是一个分层的过程。正因为我无法一次解决n阶台阶,所以我先解决n - 1
阶再解决n - 2
阶,最后反过来解决n
阶。经过这样的拆分思路,复杂的n
阶问题,最后就转变成了1
阶问题与2
阶问题。
在我们生活中的问题也同样如此,就比如当下与我们关联最紧密的网购:
这里我简单的解释一下上图所表达的含义:
在这个分层结构中我们可以看到,商品单号作为各层之间沟通的接口,保证了整个体系的正常运行。
细心的朋友会发现一个问题,不管是函数递归也好,还是网购也好,我们在整个过程中,只关注了任务的完成形式,并没有关注每一层是如何完成的各自的任务。这就说明了一个问题:
怎么来理解这个结论呢?这里我们还是以网购为例:
从这里我们可以看出,分层结构它只是给各个分层明确了各自的任务,并不会去关注各层是如何实现这些任务,对于任务的具体实现方式而言,分层结构是抽象的。
从上述的两个例子中我们可以得出以下结论:
知道了什么是分层结构后,下面我们就来看一下计算机网络里的分层结构!!!
计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构就是这个计算机网络机器所应完成的功能的精确定义。
从定义中我们不难看出计算机网络的体系结构是由两部分组成——各个分层、各分层的协议;
前面我们也说过,分层结构是抽象的,在计算机网络中也同样如此。
计算机网络的体系结构精确定义了计算机网络机器所需要完成的功能,但是它并未规定各个功能实现的具体方式。
既然这些功能具体的实现方式并未规定,那是不是说,我想怎么实现就怎么实现呢?
显然这是不可能的,最简单的例子,如果计算机网络中的某一层的功能是需要占用计算机的内存,但是这并不代表着我们可以无休止的占用,因此我们需要给各层的功能实现指定相应的规则,这些规则就是协议。
那计算机的分层结构中,有哪些分层?这些协议又是什么?这两个问题就是我们在整个计算机网络的学习过程中需要关注的问题。这里我就不再展开,随着学习的深入,我们会慢慢的接触到这些问题的答案。
在计算机网络中,常见的有三种层次结构:
OSI模型作为ISO设计的参考模型,它也是法律规定的标准。它将计算机网络分为7层,并详细规定了各层需要实现的功能;
TCP/IP模型作为 ARPANET 的后续成果,因为它仅仅将计算机网络分为了4层,将OSI模型中的物理层与数据链路层合并为了网络接口层,这使得它的功能的实现方式更加的灵活,因此TCP/IP模型也是现在的计算机网络实际的执行标准;
在【计算机网络】这门科目中,我们主要是以综合两者的五层模型——教学用模型进行计算机网络层次结构的学习。在教学用模型中,我们将会详细的学习物理层、数据链路层、网络层、传输层以及应用层的功能以及协议。
在今天的内容中我们介绍了什么是分层结构?
分层结构是一种将复杂系统分解为多个层级的设计方法,每一层专注于特定功能,并通过明确的接口与相邻层交互。这种结构通过 模块化、解耦和抽象 提升系统的可管理性和扩展性。
之后我们又介绍了计算机网络的分层结构:
计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构就是这个计算机网络机器所应完成的功能的精确定义。
最后我们简单的提及了一下计算机网络分层结构中的三种常用模型:
在后续的内容中,我们将会进一步的学习计算机网络的分层结构,大家记得关注哦!
如果大家喜欢博主的内容,可以点赞、收藏加评论支持一下博主,当然也可以将博主的内容转发给你身边需要的朋友。最后感谢各位朋友的支持,咱们下一篇再见!!!