1)各层之间相互独立:高层是不需要知道底层的功能是采取硬件技术来实现的,它只需要知道通过与底层的接口就可以获得所需要的服务;
2)灵活性好:各层都可以采用最适当的技术来实现,例如某一层的实现技术发生了变化,用硬件代替了软件,只要这一层的功能与接口保持不变,实现技术的变化都并不会对其他各层以及整个系统的工作产生影响;
3)易于实现和标准化:由于采取了规范的层次结构去组织网络功能与协议,因此可以将计算机网络复杂的通信过程,划分为有序的连续动作与有序的交互过程,有利于将网络复杂的通信工作过程化解为一系列可以控制和实现的功能模块,使得复杂的计算机网络系统变得易于设计,实现和标准化
‘贰’ 计算机网络的体系结构
计算机网络的体系结构
计算机网络体系结构关注三方面内容:网络协议如何分层、各层协议、层间接口。下面是我整理的关于计算机网络的体系结构,希望大家认真阅读!
一、计算机网络体系结构分层思想
首先,你要对计算机网络有一个模糊的认识---计算机网络是一个十分复杂的系统⊙﹏⊙。看看你电脑上有多少服务,那些服务有着各种协议,小白问度娘都不一定能弄懂。可想而知,对于那些计算机科学家(我觉得当年应该有很多玩通信的工程师吧,臆想而已。对这段历史感兴趣可以参考央视《互联网时代》)来说,设计一种网络体系结构应该可能也是很难的,复杂度不是一般高啊。
可能你学没学过汇编语言(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)降低实现和维护网络难度。如果那种服务不能使用了,那就查提供此种服务对应的那层,而不需再从头查起。
;‘叁’ 简述为什么要对计算机网络分层以及分层的一般原则
计算机网络分层,是为了从概念上区分,从具体到抽象,是为了方便工业化生产,建立了OSI开放式系统互联参考模型。物理层、数据链路层,网络层,传输层,会话层,表示层,应用层,一层比一层抽象。
‘肆’ 计算机网络的分层结构
物理层:为数据链路层对等实体之间的信息交换建立物理连接,在物理连接上正确、透明地传送物理层数据单元(物理层的数据单元是比特流)。物理层提供激活、维持、去活物理连接的所需机械特性、电气特性、功能特性、规程特性的手段。
链路层:该层相邻结点的一个或多个物理连接上为网络层建立、维持、释放链路连接,并在链路连接上可靠地、正确地传送链路层协议数据单元(通常称为帧)。纠错和流量控制是链路层的两个主要功能。
网络层:提供网络层对等实体建立、维持、终止网络连接的手段,并在网络连接上交换网络层协议数据单元,即分组。其中,一个重要功能是网络选路和寻址。
传输层:基本功能是为会话层提供可靠地、经济的传输连接的手段,并在传输连接上交换传输层协议数据单元—报文。传输层是端到端,在通信子网中无传输层。流量控制(Flow control)是传输层的一个重要功能。
会话层:为会话连接提供手段,并利用会话连接组织和同步应用进程之间的会话。
表示层:该层主要解决用户数据的语法表示问题。它将要交换数据的抽象语法(适合于某一用户)转换为传送语法(适合于 OSI 内部使用)——公共表示方法。
应用层:为用户应用进程访问 OSI 提供接口,并负责信息的语义表示。
‘伍’ 什么是分层网络体系结构分层的含义是什么
指的是将系统的组件分隔到不同的层中,每一层中的组件应保持内聚性,并且应大致在同一抽象级别;每一层都应与它下面的各层保持松散耦合。
分层架构的优点
1、开发人员的专业分工,专注理解某一层。由于某一层仅仅调用其相邻下一层所提供的程序接口,只需要本层的接口和相邻下一层的接口定义清晰完整,开发人员在开发某一层时就可以像关注集中于这一层所用的功能和技术。
2、可以很容易用新的实现来替换原有层次的实现。 只要前后提供的服务(接口)相同,即可替换。系统开发过程中,功能需求不断变化,我们可以替换现有的层次以满足新的需求变化。
3、降低了系统间的依赖。 比如业务逻辑层中的业务发生变化, 其他两层即表现层以及数据访问层程序也不需要变化。这大大降低了系统各层之间的依赖。
4、有利于复用。充分利用现有的功能程序组件,将已经辨识的具有相对独立功能的层应用于新系统的开发,保证新系统开发的过程中,能够将重点集中于辨识和实现应用系统特有的业务功能,最终缩短系统开发周期,提高系统的质量。
分层思想
分层是基于面向对象上的,是更高层次上的设计理念。在软件开发技术的发展过程中,出现了很多优秀的思想与模式。这些思想和模式凝结了无数程序设计人员的实践经验和智慧,是软件开发领域的精华。这其中有很多思想对分层架构设计有着重要的指导作用。
分层架构的弊端
1、级联修改问题。一些复杂的业务中,由于业务流程发生变化,为了这个变化所有层都需要修改。
2、性能问题。本来是直接简单的操作,需要在整个系统中层层传递,势必造成性能的下降,同时也加大的开发的复杂度。
从上面的分析可以看出, 分层架构设计有许多优点同样存在不足,在实际使用过程中,我们应该权衡利弊关系,选择一种符合实际项目的最佳方案。
‘陆’ 计算机网络上逻辑上划分几个层次每个层次的功能是什么
七层: 物理层 、数据链路层、网络层、传输层、会话层、表示层、应用层。
1、物理层功能 : O S I 模型的最低层或第一层,该层包括物理连网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号;
2、数据链路层: O S I 模型的第二层,它控制网络层与物理层之间的通信。它的主要功能是如何在不可靠的物理线路上进行数据的可靠传递;
3、网络层: O S I 模型的第三层,其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方;
4、传输层: O S I 模型中最重要的一层。传输协议同时进行流量控制或是基于接收方可接收数据的快慢程度规定适当的发送速率;
5、会话层: 负责在网络中的两节点之间建立和维持通信。 会话层的功能包括:建立通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对 话,决定通信是否被中断以及通信中断时决定从何处重新发送;
6、表示层: 应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同;
7、应用层: 负责对软件提供接口以使程序能使用网络服务。术语“应用层”并不是指运行在网络上的某个特别应用程序 ,应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理。
‘柒’ 网络协议体系分层的基本思想是什么
为了促进计算机网络的发展,国际标准化组织(ISO)在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构,称为开放系统互联模型(OSI)。这个模型把网络通信的工作分为7层:物理层、数据链路层、网络层、转输层、会话层、表示层、应用层;每层完成的任务不同,物理层规定了通信设备的机械的、电气的、功能的和规程的特性,用以建立、维护和拆除物理链路连接。链路层在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧在信道上无差错的传输,在不可靠的物理介质上提供可靠的传输,完成物理地址寻址、数据的成帧、流量控制、数据的检错、重发。网络层将数据链路层的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息,选择合适的网间路由和交换结点,确保数据及时传送。传输层的数据单元也称为数据包,但TCP的数据单元称为段,而UDP的数据单元称为数据报,这个层负责获取全部信息,为上层提供端到端的透明的、可靠的数据传输服务。会话层称为对话层或会晤层,在会话层及以上的高层次中,数据传送的单位不在另外命名,统称为报文。会话层提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。表示层解决用户信息的语法表示问题。提供格式化的表示和转换数据服务,数据的压缩和解压缩,数据的加密和解密。应用层为操作系统或网络应用程序提供访问网络服务的接口。
因此,网络协议体系分层的基本思想是:使网络协议体系有统一的规定和规则;各层分别完成不同的任务,利于网络的维护,出现错误时,更方便管理人员按层验察错误。
‘捌’ 阐述计算机网络体系结构分层的优缺点,以及这种层次划分的体系结构思想在工作生活中的应用。
计算机网络系统是独立的计算机通过已有通信系统连接形成的,其功能是实现计算机的远程访问和资源共享。因此,计算机网络的问题主要是解决异地独立工作的计算机之间如何实现正确、可靠的通信,计算机网络分层体系结构模型正是为解决计算机网络的这一关键问题而设计的。
分层的原则
计算机网络体系结构的分层思想主要遵循以下几点原则:
1.功能分工的原则:即每一层的划分都应有它自己明确的与其他层不同的基本 [被屏蔽广告]功能。
2.隔离稳定的原则:即层与层的结构要相对独立和相互隔离,从而使某一层内容或结构的变化对其他层的影响小,各层的功能、结构相对稳定。
3.分支扩张的原则:即公共部分与可分支部分划分在不同层,这样有利于分支部分的灵活扩充和公共部分的相对稳定,减少结构上的重复。
4.方便实现的原则:即方便标准化的技术实现。
层次的划分
计算机网络是计算机的互连,它的基本功能是网络通信。网络通信根据网络系统不同的拓扑结构可归纳为两种基本方式:第一种为相邻结点之间通过直达通路的通信,称为点到点通信;第二种为不相邻结点之间通过中间结点链接起来形成间接可达通路的通信,称为端到端通信。很显然,点到点通信是端到端通信的基础,端到端通信是点到点通信的延伸。
点到点通信时,在两台计算机上必须要有相应的通信软件。这种通信软件除了与各自操作管理系统接口外,还应有两个接口界面:一个向上,也就是向用户应用的界面;一个向下,也就是向通信的界面。这样通信软件的设计就自然划分为两个相对独立的模块,形成用户服务层US和通信服务层CS两个基本层次体系。
端到端通信链路是把若干点到点的通信线路通过中间结点链接起来而形成的,因此,要实现端到端的通信,除了要依靠各自相邻结点间点到点通信联接的正确可靠外,还要解决两个问题:第一,在中间结点上要具有路由转接功能,即源结点的报文可通过中间结点的路由转发,形成一条到达目标结点的端到端的链路;第二,在端结点上要具有启动、建立和维护这条端到端链路的功能。启动和建立链路是指发送端结点与接收端结点在正式通信前双方进行的通信,以建立端到端链路的过程。维护链路是指在端到端链路通信过程中对差错或流量控制等问题的处理。
因此在网络端到端通信的环境中,需要在通信服务层与应用服务层之间增加一个新的层次来专门处理网络端到端的正确可靠的通信问题,称为网络服务层NS。
对于通信服务层,它的基本功能是实现相邻计算机结点之间的点到点通信,它一般要经过两个步骤:第一步,发送端把帧大小的数据块从内存发送到网卡上去;第二步,由网卡将数据以位串形式发送到物理通信线路上去。在接收端执行相反的过程。对应这两步不同的操作过程,通信服务层进一步划分为数据链路层和物理层。
对于网络服务层,它的功能也由两部分组成:一是建立、维护和管理端到端链路的功能;二是进行路由选择的功能。端到端通信链路的建立、维护和管理功能又可分为两个侧面,一是与它下面网络层有关的链路建立管理功能,另一是与它上面端用户启动链路并建立与使用链路通信的有关管理功能。对应这三部分功能,网络服务层划分为三个层次:会晤层、传输层和网络层,分别处理端到端链路中与高层用户有关的问题,端到端链路通信中网络层以下实际链路联接过程有关的问题,以及路由选择的问题。
对于用户服务层,它的功能主要是处理网络用户接口的应用请求和服务。考虑到高层用户接口要求支持多用户、多种应用功能,以及可能是异种机、异种OS应用环境的实际情况,分出一层作为支持不同网络具体应用的用户服务,取名为应用层。分出另一层用以实现为所有应用或多种应用都需要解决的某些共同的用户服务要求,取名为表示层。
结论
综上所述,计算机网络体系结构分为相对独立的七层:应用层、表示层、会晤层、传输层、网络层、链路层、物理层。这样,一个复杂而庞大的问题就简化为了几个易研究、处理的相对独立的局部问题。