1.2 计算机网络体系结构与参考模型
1.2.1 计算机网络分层结构
计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)
。换言之,计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义。要强调的是,这些功能究竟是用何种硬件或软件完成的,是一个遵循这种体系结构的实现(Implementation)问题。体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。计算机网络体系结构通常都具有可分层的特性,它将复杂的大系统分成若干较容易实现的层次。分层的基本原则如下:
- 每层都实现一种相对独立的功能,降低大系统的复杂度。
- 各层之间的接口自然清晰,易于理解,相互交流尽可能少。
- 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应能促进标准化工作。
在计算机网络分层结构中,第n层中的活动元素通常称为第n层实体
。具体来说,实体指任何可发送或接收信息的硬件或软件进程,通常是某个特定的软件模块。不同机器上的同一层称为对等层,同一层的实体称为对等实体
。第n层实体实现的服务为第n+1层所用。在这种情况下,第n层称为服务提供者,第n+1层则服务于用户。
1.2.2 计算机网络协议、接口、服务的概念
1、协议
要在网络中做到有条不紊地交换数据,就必须遵循一些事先约定好的规则,其规定了所交换数据的格式及有关的同步问题。为了在网络中进行数据交换而建立的这些规则、标准或约定称为网络协议(Network Protocol)
,是控制在对等实体之间进行通信的规则的集合,是水平的。不对等实体之间是没有协议的,如用 TCP/P 协议栈通信的两个结点 A 和结点 B,结点 A 的传输层和结点 B的传输层之间存在协议,但结点A的传输层和结点B的网络层之间不存在协议。协议
由语法、语义和同步三部分组成。
1)语法。数据与控制信息的格式。例如,TCP 报文段格式就是由 TCP 协议的语法定义的。
2)语义。即需要发出何种控制信息、完成何种动作及做出何种应答。例如,在建立 TCP 连接的三次握手时所执行的操作就是由 TCP 协议的语义定义的。
3)同步(或时序)。执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如,建立 TCP 连接的三次握手操作的时序关系就是由 TCP 协议的同步定义的。
-
在协议的控制下,两个对等实体在水平方向的逻辑通信使得本层能够向上一层提供服务
-
要实现本层协议,还需要使用下面一层所提供的服务
-
协议是“水平”的,而服务是“垂直”的
-
实体看得见下层提供的服务,但并不知道实现该服务的具体协议。下层的协议对上层的实体是“透明”的。
-
对等层次之间传送的数据包称为该层的
协议数据单元(Protocol Data Unit,PDU)
-
同一系统内层与层之间交换的数据包称为
服务数据单元(Service Data Unit,SDU)
2、接口
同一结点内相邻两层的实体交换信息的逻辑接口称为服务访问点(Service Access Point,SAP)。每层只能为紧邻的层之间定义接口,而不能跨层定义接口。服务是通过 SAP 提供给上层使用的,第n层的 SAP 就是第n+1层可以访问第n层服务的地方。
3、服务
服务上层要使用下层所提供的服务,必须通过与下层交换一些命令,这些命令称为服务原语
。
1)面向连接服务和无连接服务
在面向连接服务中,通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和占用的资源。因此这种服务可分为连接建立、数据传输和连接释放三个阶段。例如,TCP就是一种面向连接服务的协议。
在无连接服务中,通信前双方不需要先建立连接,需要发送数据时可直接发送,将每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这种服务常被描述为“尽最大努力交付”,是一种不可靠的服务。例如,IP、UDP 就是一种无连接服务的协议。
2)可靠服务和不可靠服务
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。不可靠服务是指网络只是尽量让数据正确、可靠地传送到目的地,是一种尽力而为的服务。对于提供不可靠服务的网络,其网络的正确性、可靠性要由应用或用户来保障。例如,用户收到信息后要判断信息的正确性,若不正确,则用户就要把出错信息报告给信息的发送者,以便发送者采取纠正措施。通过用户的这些措施,可将不可靠服务变成可靠服务。
3)有应答服务和无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应答由传输系统内部自动实现,而不由用户实现。发送的应答既可以是肯定应答,又可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答服务。
1.2.3 ISO/OSI参考模型和TCP/IP模型
一、 ISO/OSI参考模型
国际标准化组织(ISO)提出的网络体系结构模型称为开放系统互连参考模型(OSIRM),通常简称为 OSI参考模型。OS 参考模型有7层,自下而上依次为物理层、数据链路层、网络层传输层、会话层、表示层、应用层。低三层统称通信子网,是为联网而附加的通信设备,完成数据的传输功能:高三层统称资源子网,相当于计算机系统,完成数据的处理等功能。传输层承上启下。
-
物理层
物理层的传输单位是
比特
,功能是在物理介质上为数据端设备透明地传输原始比特流。物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法。物理层接口标准很多,如 EIA-232C、EIA/TIA RS-449、CCITT 的 X.21 等。
-
数据链路层
数据链路层的传输单位是
帧
。两台主机之间的数据传输总是在一段一段的链路上传送的,这就需要使用专门的链路层协议。数据链路层将网络层交来的IP分组封装成帧,并且可靠地传输到相邻结点的网络层。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。典型的数据链路层协议有 SDLC、HDLC、PPP、STP 和帧中继等
-
网络层
网络层的传输单位是
数据报
。它关心的是通信子网的运行控制,主要任务是将网络层的协议数据单元(分组)从源结点传输到目的结点,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互连等功能差错控制是通信结点之间约定的特定检错规则,接收方根据该规则检查接收到的分组是否出错,若出错,则能纠错就纠错,不能纠错就丢弃,确保向上层提交的数据都是无误的。
-
传输层
传输层也称运输层,负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,即为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。数据链路层提供的是点到点通信,传输层提供的是端到端通信,两者不同。
通俗地说,点到点可理解为主机和主机之间的通信,一个点是指一个硬件地址或IP 地址,网络中参与通信的主机是通过硬件地址或正 地址来标识的:端到端通信是指运行在不同主机内的两个进程之间的通信,一个进程由一个端口来标识,所以称为端到端通信
-
会话层
会话层允许不同主机上的各个进程之间进行会话。这种服务主要为表示层实体或用户进程建立连接,并在连接上有序地传输数据,这就是会话,也称
建立同步(SYN)
。会话层负责管理主机间的会话进程,包括建立、管理和终止进程间的会话。会话层包含一种称为检查点的机制来维持可靠会话,使通信会话在通信失效时从检查点继续恢复通信,即断点下载的原理。 -
表示层
表示层主要处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同,为了使不同表示方法的数据和信息之间能够互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。此外,数据压缩、加密和解密也是表示层的功能。
-
应用层
应用层是 OSI参考模型的最高层,是用户与网络的接口。应用层为特定类型的网络应用提供访问 OSI参考模型环境的手段。用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。典型的协议有用于文件传送的 FTP、用于电子邮件的 SMTP、用于万维网的HTTP 等。
二、TCP/IP模型