计算机网络的体系结构
计算机网络的体系结构
计算机网络体系结构关注三方面内容:网络协议如何分层、各层协议、层间接口。下面是我整理的关于计算机网络的体系结构,希望大家认真阅读!
一、计算机网络体系结构分层思想
首先,你要对计算机网络有一个模糊的认识---计算机网络是一个十分复杂的系统⊙﹏⊙。看看你电脑上有多少服务,那些服务有着各种协议,小白问度娘都不一定能弄懂。可想而知,对于那些计算机科学家(我觉得当年应该有很多玩通信的工程师吧,臆想而已。对这段历史感兴趣可以参考央视《互联网时代》)来说,设计一种网络体系结构应该可能也是很难的,复杂度不是一般高啊。
可能你学没学过汇编语言(Assembly Language),那么请自行查资料。如果你学过汇编语言,不管学没学好,从一开始接触汇编语言你就会有感觉---这是什么鬼。然后随着历史的发展,在汇编语言的基础上出现了结构化程序设计语言,比如Fortran、Basic、C。这些结构化编程语言有别于上一代的是书上说的出现了"函数"的概念,从此写代码有了质的改变。自上而下,分而治之便是结构化程序设计的核心思想。
同样,对于计算机网络来说也是这种思路。计算机网络体系结构可以看成一个很大的面向过程程序。如果将所有的内容都写在一个main函数中,那么这个程序就太尴尬了,到最后都不知道在写些什么了,大大加剧了程序设计的复杂度,以及后来程序维护的.复杂度...等等问题。也就是说不采用分治思想的计算机网络协调性差,设计复杂度高,网络通信出错可能性也陡增。基于此原因,计算机网络体系结构的"分层"思想诞生了。
"分层"思想,通俗将就是常说的"分而治之"。ARPANET设计时提出的"分层"方法可将庞大而复杂的计算机网络问题,转化为若干个局部的问题,而这些局部问题可以通过研究逐一攻破,那么计算机之间通信就成为了可能。
二、OSI/RM模型和TCP/IP协议族的较量
1. OSI/RM
OSI/RM是英文Open System Interconnection Reference Model的缩写,中文翻译为"开放系统互联基本参考模型"。在1983年,ISO发布正式文件后,也就有了现在所谓的七层协议的体系。
2. TCP/IP
TCP/IP并不是单一的协议,而是协议族。分为四层:应用层、运输层、网际层、网络接口层。
OSI/RM和TCP/IP协议的PK中失败了,究其原因,我认为主要有如下几点:
1)OSI/RM 模型各层协议之间有重复功能。这就像写代码的时候有重复的代码,上头就想抽你俩嘴巴子,钱这么好赚么→_→。
2)OSI/RM 模型层数太多。也就是要说要实现网络互联,你需要的硬件以及软件就相对会更多。而且数据传来传去多了,运行效率也会降低。
3)OSI/RM 那帮人可能是棒通信领域的专家,这玩意比TCP/IP在实现上得多花不少钱。
基于这些事实,TCP/IP成了非法律上国际标准的事实上国际标准。
三、采用分层体系网络原因总结
1)并不是所有的设备都需要这么多层次。计算机网络中不同设备完成的任务不同,需要的功能也不同。除了计算机网络边缘部分的端系统需要所有层次协议,其余计算机网络核心部分部分则不需要这么多层次的协议。而且可以想象,多一层次就意味着多了部分硬件和软件,成本就会增加。
PS:这里两图只是为了说明三层交换机比二层交换机价格高,至于高多少还取决于品牌和带宽等因素。
2)每层设计实现相对独立的功能,在层次设计(硬件和软件设计)完成后,只需要提供向上的接口可供上层调用,。这样做的好处是就像编程中的函数模块化设计,我们只要知道高手设计的库函数的API就行了,不需要具体软件开发再编写同样高质量的代码,从而服务了代码搬运工。
3)模块化协议层次大大的好啊。哪好了?雕版印刷术和活字印刷术的区别。如果某一层的技术发生变化后,只要层间接口不变,只要对某层提供的服务进行修改(添加和修改)即可。你想,这可以省多少钱啊。就像你电脑显示屏坏了,你总不可能去新买个电脑吧,差不多就这意思。
4)降低实现和维护网络难度。如果那种服务不能使用了,那就查提供此种服务对应的那层,而不需再从头查起。
;