计算机网络体系结构与参考模型

更新时间:2023-09-10 22:04:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.2 计算机网络体系结构与参考模型

计算机网络层次结构模型和各层协议的集合被定义为计算机网络体系结构,网络体系结构的提出不仅方便了大家对网络的认识和学习,同时也加强了人们对网络设计和实现的指导。在这一节中我们主要讨论网络的分层结构、一些基本概念及ISO/OSI参考模型和TCP/IP模型等。

1.2.1 计算机网络分层结构

网络分层结构的出现其实是将复杂的网络任务分解为多个可处理的部分,使问题简单化。而这些可处理的部分模块之间形成单向依赖关系,即模块之间是单向的服务与被服务的关系,从而构成层次关系,这就是分层。

分层网络体系结构的基本思想是每一层都在它的下层提供的服务基础上提供更高级的增值服务,且通过服务访问点(SAP)来向其上一层提供服务。在OSI分层结构中,其目标是保持层次之间的独立性,也就是第(N)层实体只能够使用(N-1)层实体通过SAP提供的服务;也只能够向(N+1)层提供服务;实体间不能够跨层使用,也不能够同层调用。 网络是一个非常复杂的整体,为便于研究和实现,才将其进行分层,其中分层的基本原则是。

(1)各层之间界面清晰自然,易于理解,相互交流尽可能少。 (2)各层功能的定义独立于具体实现的方法。

(3)网中各节点都有相同的层次,不同节点的同等层具有相同的功能。 (4)保持下层对上层的独立性,单向使用下层提供的服务。

1.2 计算机网络体系结构与参考模型

计算机网络层次结构模型和各层协议的集合被定义为计算机网络体系结构,网络体系结构的提出不仅方便了大家对网络的认识和学习,同时也加强了人们对网络设计和实现的指导。在这一节中我们主要讨论网络的分层结构、一些基本概念及ISO/OSI参考模型和TCP/IP模型等。

1.2.1 计算机网络分层结构

网络分层结构的出现其实是将复杂的网络任务分解为多个可处理的部分,使问题简单化。而这些可处理的部分模块之间形成单向依赖关系,即模块之间是单向的服务与被服务的关系,从而构成层次关系,这就是分层。

分层网络体系结构的基本思想是每一层都在它的下层提供的服务基础上提供更高级的增值服务,且通过服务访问点(SAP)来向其上一层提供服务。在OSI分层结构中,其目标是保持层次之间的独立性,也就是第(N)层实体只能够使用(N-1)层实体通过SAP提供的服务;也只能够向(N+1)层提供服务;实体间不能够跨层使用,也不能够同层调用。 网络是一个非常复杂的整体,为便于研究和实现,才将其进行分层,其中分层的基本原

则是。

(1)各层之间界面清晰自然,易于理解,相互交流尽可能少。 (2)各层功能的定义独立于具体实现的方法。

(3)网中各节点都有相同的层次,不同节点的同等层具有相同的功能。 (4)保持下层对上层的独立性,单向使用下层提供的服务。 1.2.2 基本概念

网络中的计算机与计算机间要想正确地传送信息和数据,必须在数据传输的顺序、数据传输的格式及内容等方面有一个约定或规则,这种约定或规则称为计算机网络协议。网络协议主要有三个要素组成。 (1)语义

对协议元素的含义进行解释,不同类型的协议元素所规定的语义是不同的。例如,需要发出何种控制信息、完成何种动作,以及得到的响应等。 (2)语法

将若干个协议元素和数据组合在一起,用来表达一个完整的内容所应遵循的格式,也就是对信息的数据结构做一种规定。例如用户数据与控制信息的结构与格式等。 (3)时序

对事件实现顺序的详细说明。例如,在双方进行通信时,源点发出一个数据报文,如果目标点正确收到,则回答源点接收正确;若接收到错误的信息,则要求源点重发一次。 在同一台计算机上相邻层之间(即不同实体之间,如不同进程之间)的通信也有约定,我们称这种约定为接口(interface),也叫服务接口(service interface),即下层通过接口向上层提供服务。接口定义了上层如何调用下层提供的服务。当网络设计者决定在一个网络中应该包含多少层,以及每一层应该提供哪些功能时,其中最重要的是清楚地定义好不同层之间尤其是相邻层的接口。为了做到这一点,要求网络设计者准确定义好每一层要完成的特定功能。良好的接口定义除了可以尽可能地减少层与层之间要传递的信息的数量以外,还可以方便人们用某一层协议的新实现来代替原来的实现或者用新的协议来代替原来的旧协议。 计算机网络协议描述的是不同计算机间的通信规则,而计算机网络接口描述的是同一计算机相邻层之间的通信规则。具体的关系如图1-4所示。

1.2.3 ISO/OSI参考模型

在网络发展的初期,许多研究机构、计算机厂商和公司都大力发展计算机网络,自从ARPANET出现后,市场上已经出现了许多商品化的网络系统。但是这些网络在体系结构上

差异很大,以至于它们之间互不相容,难于相互连接以构成更大的网络系统。为此,许多标准化机构积极开展了网络体系结构标准化方面的工作,其中最为著名的就是国际标准化组织(ISO)提出的开放系统互连参考模型(OSI/RM)。ISO/OSI参考模型就是研究如何把开放系统连接起来的。

OSI参考模型将计算机网络分为7层,如图1-5所示。我们将从底层开始,依次讨论ISO/OSI参考模型各层所要完成的功能。

1.物理层

物理层的主要功能是完成相邻节点之间原始比特的传输。物理层协议关心的典型问题是使用什么样的物理信号来表示数据“0”和“1”?数据“0”或“1”持续的比特时间多长?数据传输是否可同时在两个方向上进行?节点之间最初的物理连接是如何建立起来的?完成通信后如何终止连接?物理接口(插头和插座)有多少个接头?各个接头的电气特性和功能特性如何?物理层协议的设计主要涉及物理层接口的机械、电气、功能和过程特性等问题,而且物理层协议的设计涉及通信工程领域内的一些问题。物理层接口的例子有:EIA RS-232、RS-422、RS-530、USB口,以及10Mbps以太网的RJ-45接口及各种光接口。 2.数据链路层

数据链路层的主要功能是如何在不可靠的物理线路上保证相邻节点之间数据的可靠传输。为了保证数据传输的可靠性,发送方把高层数据封装成帧(frame),并按顺序发送每个帧。但由于物理线路是不可靠的,因此发送方发出的帧有可能在物理线路上遭到破坏,引起出错,甚至丢失(所谓丢失实际上是数据帧的帧头或帧尾出错),从而导致接收方不能正确接收到数据。为了保证能让接收方正确接收到数据,首先必须让接收方能够对接收到的数据是否正确进行判断,为此发送方为每个数据帧计算检错码(比如CRC)并加入到帧中,这样接收方就可以通过重新计算检错码判断接收到的数据是否正确。如果发送方发送的数据不能被接收方正确接收,则发送方必须重传该数据。然而,相同数据帧的多次重传也可能使接收方收到重复帧,因此数据链路层还必须解决由于帧的损坏、丢失和重发所带来重复帧的问题。

数据链路层要解决的另一个问题是防止发送方的发送数据速度快于接收方接收数据的速度,这样有可能引起数据的丢失。因此在数据链路层需要某种机制来协调发送方和接收方之间的收发速度。

对于局域网来说,数据链路层又分为逻辑链路控制(Logical Link Control,LLC)子层和介质访问控制(Media Access Control,MAC)子层。在局域网中,逻辑链路控制子层的功能相当于数据链路层的功能,用于提供两个节点之间的可靠数据传输;而介质访问控制子层则用于控制局域网中多个节点如何访问共享介质。 3.网络层

网络层的主要功能是完成网络中不同主机之间的数据传输。网络层之间交换的数据单元一般用报文(packet)来表示。在网络中的两台主机之间可能存在不止一条路径,因此网络层涉及的关键问题是如何为源主机和目的主机选择一条合适的路径,以保证源主机发送的报文可以及时地到达目的主机,这就是路由选择(routing)。

网络层需要解决的另外一个关键问题是:如何防止主机将过多的报文注入网络,从而引起网络拥挤,造成报文传输的延迟过大,甚至造成报文的丢失,这就是拥塞控制。 最后,当一个网络系统中有多个不同的物理网络时,如何将这些不同的网络连接起来,这涉及网络互联问题。 4.传输层

传输层的主要功能是完成网络中不同主机上用户进程之间的数据通信。传输层之间交换的数据单元一般用报文段(segment)来表示。传输层要决定对网络到底能够向上提供什么样的服务。传输层可以提供可靠的数据通信,也可以提供不可靠的数据通信。传输层协议是端到端(end-to-end)的,即传输层协议是支持端用户进程之间进行数据通信的。而在传输层以下的各层中,各层协议是每个节点与它的直接相邻节点之间(主机―IMP、IMP―IMP)的协议,而不是最终的源主机和目的主机之间(主机―主机)的协议。也就是说,在ISO/OSI参考模型中,物理层、数据链路层和网络层协议都是跳到跳(hop-by-hop)协议,而从传输层开始都是采用端到端(end-to-end)协议。

由于目前绝大多数机器都采用多用户操作系统,因此一台机器上会同时运行多个用户进程,这意味着需要某种命名机制,使机器内的进程能够说明清楚它希望与哪台机器的哪个进程建立传输连接。另外,传输层协议还必须引入流量控制机制,以避免发送方主机发送数据速度过快而导致接收方主机来不及处理,从而造成数据丢失。 5.会话层

会话层允许不同机器上的用户之间建立会话关系。会话层允许进行类似传输层的普通数据的传送,在某些场合还提供了一些有用的增值服务。会话层允许用户利用一次会话在远端的分时系统上登录,或者在两台机器间传输文件。

会话层提供的服务之一是会话管理。有些网络服务允许信息双向同时传输(类似于物理信道上的全双工模式),而有些服务只允许信息单向传输(类似于物理信道上的半双工模式),此时,会话层将进行有效控制。一般采取的会话控制方式是令牌管理(token management),会话层通过让令牌在会话双方之间来回移动,任何一方想发送数据必须首先持有令牌,这样双方可以通过交替拥有令牌来实现数据的半双工传输。

会话层提供的另一种服务是同步。例如,在每隔一段时间就有可能出现故障的网络上,两台机器间要进行长时间的文件传输,在每一次的文件传输过程中都会由于网络故障,而不得不重传整个文件。为了解决这个问题,会话层提供数据传输过程中插入同步点的服务,这样每当网络出现故障后,发送方只需要重传最后一个同步点以后的数据即可,而不需要重传整个文件。当然,如果网络中没有会话层提供的增值服务,主机之间的数据通信仍然是可以

正常进行的。 6.表示层

表示层主要负责处理两个通信系统中交换信息的表示方式。表示层以下各层只关心如何将源主机上某应用进程的数据可靠地传送到目的主机上的应用进程;而表示层关心的是用户进程所传送数据的语法格式和语义(含义或意义)。

表示层提供的典型服务是对数据进行统一编码。大多数用户程序之间并非交换任意组合的比特串,而是交换诸如人名、日期、货币数量和发票之类的数据,甚至是音频、视频等多媒体数据。这些数据对象用字符串、整型数、浮点数的形式来表示,或者由几种简单类型组成的复杂数据结构来表示。

另外,不同的计算机可能采用不同的数据表示方式,所以需要在数据传输时进行数据格式的转换。例如,不同的机器可能会用不同的代码来表示字符串(比如大部分计算机是用ASCII码来表示的,但是有些早期的计算机可能是用其他编码来表示的),采用不同字节顺序来存放数据等。为了让采用不同数据表示法的计算机之间能够相互通信并交换数据,我们可以在数据通信过程中使用抽象的数据结构来(比如用ISO提供的抽象语法表示ASN.1)抽象地表示要传送的数据,而在机器内部仍然采用各自的编码方式。管理这些抽象数据结构,并在发送方将机器的内部编码转换为适合网上传输的传送语法,以及在接收方做相反的转换工作都是由表示层来完成的。

7.应用层

应用层是用户与网络的接口。应用层支持各种不同的网络应用,而每种网络应用都使用不同的应用层协议。

比如,PC用户通过使用仿真终端软件可以远程登录到某台主机中使用该远程主机的资源。这个仿真终端程序通过虚拟终端协议将PC键盘输入的信息传送到远程主机,由远程主机来解释键盘命令并执行,同时将结果回送到PC的屏幕上。

再比如,当某个用户想要获得远程计算机上的一个文件复制时,他要向本机的文件传输软件发出请求,这个软件与远程计算机上的文件传输进程通过文件传输协议进行通信,这个协议主要处理文件名、用户许可状态和其他文件访问等细节。

值得注意的是,ISO/OSI参考模型本身不是网络体系结构的全部内容,这是因为它并未确切地描述用于ISO/OSI参考模型各层的协议,而仅仅规定ISO/OSI参考模型每一层必须完成的功能。不过,ISO为各层制定了相应的标准,但这些标准并不是ISO/OSI参考模型的一部分,它们是作为独立的国际标准发布的,只是目前OSI协议标准已经不大引用了。 1.2.4 TCP/IP模型

TCP/IP(Transmission Control Protocol/Internet Protocol)参考模型是另一个重要的计算机网络体系结构参考模型,它是最早的计算机网络ARPANET及其以后的Internet所使用的参考模型,是一个事实上的模型。在该模型中,将网络划分为4层,其分别为网络接入层、网络层、传输层和应用层,其结构如图1-6所示。

下面我们分别讨论这4层的功能。 1.网络接入层

网络接入层位于TCP/IP参考模型的底层,它的主要功能是负责底层物理网络的接入。比如接收互联网层交来的IP报文,然后将IP报文封装成物理网络所需要的格式后发送到物理网络中;或者从物理网络接收IP报文,然后把它交给互联网层。

网络接入层连接的可以是各种类型的物理网络,如各种广域网和局域网,以及点到点线路(含拨号线路和专线)。 2.网络层

网络层是TCP/IP参考模型最关键的一层,它将TCP/IP参考模型上下层贯穿在一起。互联网层的主要功能是实现任意两台主机之间的IP报文传送。TCP/IP参考模型在互联网层只定义了一个协议,即互联网协议(Internet Protocol,IP)。IP协议定义了IP报文的格式,它支持将各种不同的物理网络互联成一个统一的逻辑网络。

为了实现主机之间的IP报文的传送,路由器必须完成对IP报文的正确转发,这就涉及IP路由。 3.传输层

TCP/IP参考模型的传输层功能与ISO/OSI参考模型的传输层功能是一样的,即在源主机和目的主机的两个应用进程之间提供端到端的数据通信服务。

TCP/IP参考模型在传输层提供了两个传输层协议,即传输控制协议(Transmission Control Protocol,TCP)和用户数据报协议(User Datagram Protocol,UDP)。TCP协议支持面向连接服务,提供可靠的数据传输。UDP是一个无连接的传输层协议,只提供不可靠的数据传输服务。 4.应用层

TCP/IP参考模型的应用层包括所有的应用层协议。早期的网络应用主要有远程登录、文件传输和电子邮件,现在的网络应用更多是基于WWW的。 1.2.5 TCP/IP模型与ISO/OSI模型的对应关系

ISO/OSI参考模型是由国际标准化组织(ISO)于1983年提出的,提出它的目的是为了能有效解决不同计算机和网络厂商的网络体系结构难以互通问题。就目前情况来看,可以说ISO/OSI参考模型的理论指导作用大于其实际应用,而在实际应用中广泛被使用的网络体系结构是TCP/IP模型。那么这两者间有何不同与相似之处呢?下面我们来分析一下这两个模

型间的对应关系及其区别。

OSI与TCP/IP参考模型的对应关系如图1-7所示。两种模型的具体区别如下。

(1)分层模型存在差别。TCP/IP模型没有会话层和表示层,并且数据链路层和物理层统一为接口层。TCP/IP的实用性强。

(2)OSI模型有3个主要明确概念:服务、接口、协议。而TCP/IP参考模型最初没有明确区分这三者。这是OSI模型最大的贡献。

(3)在网络层,OSI模型支持无连接和面向连接的方式,而TCP/IP模型只支持无连接通信模式;在传输层,OSI模式仅有面向有连接的通信,而TCP/IP模型支持两种通信方式,给用户选择机会。这种选择对简单的请求-应答协议是非常重要的。

本文来源:https://www.bwwdw.com/article/qdeh.html

Top