数据中心运维管理 昨天

在计算机网络的基本概念中,分层次的体系结构是最基本的。我们从计算机网络的体系结构的形成开始讨论,然后讨论分层次的概念。在此基础之上介绍本书使用的计算机网络原理体系结构。本章篇幅不大,但抽象概念较多,在学习时要多思考。学好这些概念对后面的学习将会有很大的帮助。

计算机网络体系结构的形成

计算机网络是个非常复杂的系统。为了说明这一点,可以设想一个最简单的情况:连接在网络上的两台计算机要互相传送文件。

显然,在这两合计算机之间必须有一条传送数据的通路。但这还远远不够,至少还需要完成以下动作:

(1)发起通信的计算机必须将数据通信的通路进行激活(activate)。所谓“激活”就是要发出一些信今,保证要传送的计算机数据能在这条通路上正确的发送和接收。

(2)要告诉网络如何识别将要接收数据的计算机。

(3)发起通信的计算机必须查明对方计算机是否已经准备好接收数据。

(4)发起通信的计算机必须弄清楚,在对方计算机中的文件管理程序是否已做好了文件接收和存储文件的准备工作。

(5)若计算机的文件格式不兼容,则至少其中的一台计算机应完成格式转换功能。

(6)对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个结点交换机出故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件。

由此可见,相互通信的两台计算机的系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,早在最初的ARPANET设计时就提出了分层的方法,“分层’可将庞大而复杂的问题转化为若干较小的局部问题,这些较小的局部问题就比较易于研究和处理了。

1974年,美国的IBM公司宣布了它研制的系统网络体系结构SNA(System Network Architecture),这个著名的网络标准就是按照分层的方法制定的。不久后,其他—些公司也相继推出本公司的一套体系结构,并都采用不同的名称。以后SNA又不断得到改进,更新了几个版本。现在它是世界上使用得相当广泛的一种网络体系结构。

网络体系结构的出现使得一个公司所生产的各种设备都能够很容易地互连成网。这种情况显然有利于一个公司垄断自己的产品。用户一旦购买了某个公司的网络,当需要扩大容量时,就只能再购买原公司的产品。如果同时又再购买了其他公司的产品,那么出于网络体系结构的不同,就很难互相连通。

然而,全球经济的发展使得不同网络体系结构的用户迫切要求能够互相交换信息。为了使不同体系结构的计算机网络都能互连,国际标准化组织IS0于1977年成立了专门机构研究该问题。不久,他们就提出一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型OSI/RM(Opensystems Interconnection Reference Model)简称为OSI。“开放”是指:只要遵循OSI标难,一个系统就可以和位于世界上任何地方的、也遵循这同一标准的其他任何系统进行通信。这一点很像世界范围的电话和邮政系统,这两个系统都是开放系统。“系统”是指在现实的系统中与互连有关的各部分,所以开放系统互连参考模型OSI/RM是个抽象的概念。在1983年形成了开放系统互连基本参考模型的正式文件,即著名的ISO 7498国际标准,也就是所谓的七层协议的体系结构。

OSI试图达到一种理想境界,即全世界的计算机网络都遵循这统一的标准,因而全世界的计算机都将能够很方便地进行互连和交换数据。在20世纪80年代,许多大公司甚至—些国家的政府机构都纷纷表示支持0SI。当时看来似乎在不久的将来全世界一定全都按照OSI制定的标准来构造自己的计算机网络。然而到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但由于因特网已抢先在全世界覆盖了相当大的范围,而与此同时却几乎找不到有什么厂家生产出符合OSI标准的商用产品。因此人们得出这样的结论:OSI事与愿违地失败了。现今规模最大的、覆盖全世界的计算机网络因特网并未使用0SI标准。OSI失败的原因可归纳为:OSI的专家们缺乏实际经验,他们在完成OSI标准时没有商业驱动力;OSI的协议实现起来过分复杂,而且运行效率很低;OSI标准的制定周期太长,因而使得按0SI标准生产的设备无法及时进入市场:最后,OSI的层次划分也不太合理,有些功能在多个层次中重复出现。

按照一般的概念,网络技术和设备只有符合有关的国际标准才能在大范围获得工程上的应用。但现在情况却反过来了。得到最广泛应用的不是法律上的国际标准OSI,而是非国际标TCP/IP。这样,TCP/IP就常被称为是事实上的国际标准。从这种意义上说,能够占领市场的就是标准。在过去制定标准的组织中往往以专家、学者为主。但现在许多公司都纷纷挤进各种各样的标准化组织,使得技术标准具有浓厚的商业气息。—个新标准的出现,有时不一定反映出其技术水平是最先进的,而是往往有着一定的市场背景。

协议与划分层次

在计算机网络中要做到有条不紊地交换数据,就必须遵守—些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件(如发送一个应答信息),因而同步含有时序的意思。这些为进行网络中的数据交换而建立的规则、标准或约定即称为网络协议。更进一步讲,—个网络协议主要由以下三个要素组成:

(1)语法,即数据与控制信息的结构或格式;

(2)语义,即需要发出何种控制信息,完成何种动作,以及做出何种响应。

(3)同步,即事件实现顺序的详细说明。

由此可见,网络协议是计算机网络的不可缺少的组成部分。

ARPANET的研制经验表明,对于非常复杂的计算机网络协议,其结构应该采用层次式的。我们可以举一个简单的例子来说明划分层次的概念。

现在假定我们在计算机1和计算机2之间通过一个通信网络传送文件。这是一件比较复杂的工作,因为还需要做不少的工作。

我们可以将要做的工作划分为三类,第一类工作与传送文件直接有关。例如,发送方的文件传送应用程序应当确信接收方的文件管理程序已做好接收和存储文件的准备。若两台计算机所用的文件格式不一样.则至少其中的一台计算机应完成文件格式的转换工作。这两件工作可用一个文件传送模块来完成。这样,两个计算机可将文件传送模块作为最高的一层(如图2-1所示。在这两个模块之间的虚线表示两个计算机系统交换文件和一些有关文件交换的命令。

图1 划分层次的举例

但是,我们并不想让文件传送模块完成全部工作的细节,这样会使文件传送模块过于复杂。我们可以再设立一个通信服务模块.用来保证文件和文件传送命令可靠地在两个系统之间交换。也就是说,让位于上面的文件传送模块利用下面的通信服务模块所提供的服务。我们还可以看出,如果将位于上面的文件传送模块换成电子邮件模块,那么电子邮件模块同样可以利用在它下面的通信服务模块所提供的可靠通信的服务。

同样道理,我们再构造一个网络接入模块,让这个模块负责做与网络接口细节有关的工作,并向上层提供服务,使上面的通信服务模块能够完成可靠通信的任务。

从上述简单例子可以更好地理解分层可以带来如下好处:

(1)各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现—种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就下降了。

(2)灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。甚至当某层提供的服务不再需要时,还可以将这层取消而不会影响其他的层。

(3)结构上可分割开,各层都可以采用最合适的技术来实现。

(4)易于实现利维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统己被分解为若干个相对独立的子系统。

(5)能促进标准化工作,因为每一层的功能及其所提供的服务都已有了精确的说明。

分层时应注意使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂。但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。通常每一层所要实现的一般功能往往是下面的一种功能或多种功能。

  1. 差错控制 使得和网络对端的相应层次的通信更加可靠;

  1. 流量控制 使得发送端的发送速率不要太快,要使接收端来得及接收;

  1. 分段和重装 发送端将要发送的数据块划分为更小的单位,在接收端将其还原;

  2. 复用和分用 发送端几个高层会话复用一条低层的连接,在接收端再进行分用;

    连接建立和释放 在交换数据之前,先交换一些控制信息,以建立一条逻辑连接;当数据传送结束时,将连接释放。

分层当然也有一些缺点,例如,有些功能会在不向的层次中重复出现,因而产生了额外开销。

我们将计算机网络的各层及其协议的集合称为网络的体系结构(architecture),也就是说,计算机网络的体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。需要强调的是:这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现(implementation)的问题。体系结构的英文名词architecture的原意是建筑学或建筑的设计和风格。它和一个具体的建筑物的概念很不相同。例如,我们可以走进一个明代的建筑物中,但不能走进一个明代的建筑风格之中。同理,我们也不能把一个具体的计算机网络说成是一个抽象的网络体系结构。总之,体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。

资料免费送(点击链接下载)

史上最全,数据中心机房标准及规范汇总(下载)

数据中心运维管理 | 资料汇总(2017.7.2版本)

加入运维管理VIP群(点击链接查看)

《数据中心运维管理》VIP技术交流群会员招募说明

加入学习群扫描以下二维码或者添加微信:

wang2017bj

计算机网络的协议与体系结构相关推荐

  1. 计算机网络--五层协议的体系结构

    计算机的体系结构包括三种:OSI的七层协议,TCP/IP的四层协议,五层协议. 五层协议的体系结构知识为了介绍网络原理而设计的,实际应用还是采用TCP/IP四层体系结构.本文将要讲述的是五层协议的体系 ...

  2. 计算机网络五层协议的体系结构

    为什么是五层协议的体系结构 OSI的七层网络协议体系概念清除,理论也比较完整,但它复杂又不实用.TCP/IP是一个四层的体系结构,它包含应用层.运输层.网际层和网络接口层(用网际层这个名字是为了强调这 ...

  3. 计算机网络中的五层协议的体系结构

    OSI的七层协议体系结构的概念清楚,理论也比较完整,但它既复杂又不实用. TCP/IP体系结构则不同,但它却得到了非常广泛的应用.TCP/IP是一个四层的体系结构,它包含应用层.运输层.网际层和网络接 ...

  4. 计算机网络的五层协议的体系结构

    五层协议的体系结构从上往下依次为:应用层.运输层.网络层.数据链路层.物理层. 1.应用层 任务:通过应用进程间的交互来完成特定网络应用. 应用层协议定义的是应用进程间通信和交互的规则.这里的进程就是 ...

  5. python网络通信协议_Python网络概述:协议与体系结构的运用

    网络中存在多台主机,为保证主机间能顺利通讯,且通信双方可以获取到准确.有效的数据,应制订一组用于数据传输的规则,这组规则就是协议. 协议需要预先制定,同时,为确保网络通讯过程中对各种事件的应对能&qu ...

  6. 第一章 计算机网络 1 计网体系结构的概念和功能 [计算机网络笔记]

    第一章 计算机网络 1 计网体系结构的概念和功能 本笔记参考书目: 计算机网络(第8版)谢希仁 2021王道计算机网络视频公开课 本节重点: 因特网的三个发展阶段 转载请注明文章来源! --计算机网络 ...

  7. 五层协议的体系结构概述

    计算机网络--具有五层协议的体系结构  OSI体系结构具有七层协议:TCP/IP体系结构具有四层.  OSI是法律上的国际标准,而TCP/IP是事实上的国际标准.  学习计算机网络原理时往往采取折中办 ...

  8. 吐血整理《计算机网络五层协议之物理层(下)》

    吐血整理<计算机网络五层协议之物理层(上)> 吐血整理<计算机网络五层协议之物理层(中)> 绝知此事要躬行! 物理层(下篇) 1.数字传输系统 1.1PCM的基本原理 1.2 ...

  9. 吐血整理《计算机网络五层协议之物理层(中)》

    吐血整理 <计算机网络 五层协议之物理层(上)> 吐血整理 <计算机网络 五层协议之物理层(下)> 物理层(中篇) 1.信道的基本概念(续) 1.1信道的极限容量 1.2.信道 ...

最新文章

  1. mysql 求数据的长度_mysql 如何求数据的长度
  2. js localdate上一个月_moment.js格式化日期,获取前一个月的时间
  3. c++ vector iterator
  4. SAP MM Consignment 寄售库存
  5. 7-31总结----javascript
  6. python3 在线加密_Python3对称加密算法AES、DES3实例详解
  7. 黄杏元《地理信息系统概论》考研复习考点精讲(八)
  8. Matlab三维绘图plot3按二维数组分类区分颜色
  9. flex布局(弹性布局)
  10. matlab实现退化模型,数字图像处理Matlab退化模型示例(example0507).docx
  11. 我是如何从通信转到Java软件开发工程师的?
  12. 通过数据告诉你centos和debian哪个好?
  13. vue-quill-editor编辑器踩坑
  14. 个人主页博客网页设计制作HTML5+CSS大作业——个人相册展示留言博客模板(6页) 简单个人网页制作
  15. NBD Network Block Device
  16. stm32笔记05——stm32引脚功能分布
  17. C++typedef的用法
  18. 关于POS终端安全 PCI做了哪些要求?
  19. threejs修改旋转中心 小程序
  20. 虚商两年仅2000万用户 2016发展前景不明

热门文章

  1. 【WebGL】WebGL入门
  2. C++内存泄露检测原理
  3. lftp压缩对方服务器文件,lftp 贴心好友 备份服务器bash脚本
  4. 在计算机系统中有两种不同的图像编码方式,第二章计算机系统与计算原理.ppt...
  5. 微型计算机基础知识答案,计算机基础知识(答案已填)
  6. 探索 YOLO v3 实现细节 - 第6篇 预测 (完结)
  7. 淘宝开源Android容器化框架Atlas开发者指南
  8. UT斯达康XV6700的写号方法[图]
  9. IIS6.0+PHP+Mysql+Zend环境组建[图文]
  10. 一名 40 岁“老”程序员的反思~