目录
【计算机网络】(二)计算机网络的体系结构与参考模型
前言
本篇文章大部分内容摘自谢仁希编著的《计算机网络 第8版》和《王道2025计算机网络考研指导》
如果觉得本篇文章对你有帮助的话,不妨点赞、收藏加关注吧!😘❤️❤️❤️
2.1 计算机网络体系结构的形成
计算机网络是个非常复杂的系统。为了说明这一点,可以设想一种最简单的情况:连接在网络上的两台计算机主要互相传送文件。
显然,在两台计算机之间必须有一条传送数据的通路。但这还远远不够。至少还有以下几项工作需要去完成:
- 发起通信的计算机必须将数据通信的通路激活(activate)。所谓“激活”就是要发出一些信令,保证要传送的计算机数据能在这条通路上正确发送和接收。
- 告诉网络如何识别接收数据的计算机。
- 发起通信的计算机必须查明对方计算机是否已开机,并且与网络连接正常。
- 发起通信的计算机中的应用程序必须弄清楚,在对方计算机中的文件管理程序是否已做好接收文件和存储文件的准备工作。
- 若计算机的文件格式不兼容,则至少其中一台计算机应完成格式转换功能。
- 对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个节点交换机出现故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件。
还可以列举一些要做的其他工作。由此可见,相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。为了设计这样复杂的计算机网络,早在最初的ARPANET设计时就提出了分层的方法。
“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
分层的好处如下:
- 各层之间相互独立
- 灵活性好
- 结构式可分割开
- 易于实现和维护
- 能促进标准化工作
通常情况下,网络的每一层需要完成以下功能:
- 差错控制
- 流量控制
- 分段和重装
- 复用和分用
- 连接建立和释放
《王道2025计算机网络考研指导》补充:
分层的基本原则如下:
- 每层都实现一种相对独立的功能,降低大系统的复杂度。
- 各层之间的结构自然清晰,易于理解,相互交流尽可能少。
- 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现
- 保持下层对上层的独立性,上层单向使用下层提供的服务。
- 整个分层结构应能促进标准化工作。
当然,分层也有一些缺点,例如,有些功能会在不同的层次中重复出现,因而产生额外的开销。
计算机网络的各层及其协议的集合就是网络的体系结构(architecture),换句话说,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义。
1974年,美国的IBM公司宣布了基于分层的系统网络体系结构SNA(System Network Architecture)。直至现在,用IBM大型机构建的专用网络仍在使用SNA。
1974年之后不久,其他一些公司也相继推出自己公司的具有不同名称的体系结构。但随着全球经济的发展,不同网络体系结构的用户迫切要求能够互相交换信息。为了使不同体系机构的计算机都能互连,国际标准化组织ISO于1997年成立了专门的机构研究该问题。他们提出了一个试图使各种计算机在世界范围内互连成王的标准框架。即著名的开放系统互连基本参考模型OSI/RM(Open System Interconnection Reference Model),简称为OSI。
但是由于一些原因,得到最广泛应用的不是法律上的国际标准OSI,而是非国际标准TCP/IP。于是,TCP/IP就常被称为是事实上的国际标准。
2.2 实体、协议、服务、服务访问点
2.2.1 实体
当研究开放系统中的信息交换时,往往使用实体(Entity)来表示发送或接受信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。
我们把发送一段信息的实体和能够接收并且处理这段信息的实体称为对等实体。
2.2.2 协议
在计算机网路中要做到有条不紊地交换数据,就必须遵守一些实现约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的而是广义的,即在一定的条件下应当发生什么事件。这些为进行中的数据交换而建立的规则、标准或约定称为网络协议(network protocol),简称协议。
协议是控制两个对等实体(或多个实体)进行通信的规则的集合,主要由以下三个要素组成:
- 语法:规定了所交换信息的格式,即数据域控制信息的结构或格式。
- 语义:定义了发送者或接收者所要完成的操作,即需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:即事件实现顺序的详细说明。
2.2.3 服务
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本次协议,还需要使用下面一层提供的服务。所以,服务是指下层为紧邻的上层提供的功能调用。
当上层使用下层提供的服务时,必须与下层交换一些命令,这些命令在OSI中被称为服务原语。
《王道2025计算机网络考研》补充
OSI将原语划分为四类:
- 请求(Request)
- 指示(Indication)
- 响应(Response)
- 证实(Confirmation)
计算机网络提供的服务可以按以下三种方式分类:
- 面向连接服务与无连接服务
- 可靠服务和不可靠服务
- 有应答服务和无应答服务
2.2.4 服务访问点
同一结点内相邻的两层的实体交换信息的逻辑接口称为服务访问点(Service Access Point,SAP)。每层只能为紧邻的层之间定义接口,而不能跨层定义接口。服务是通过SAP提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。
OSI把层与层之间交换的数据的单位称为服务数据单元SDU(Service Data Unit),第n层的SDU记为n-SDU。
把对等层次之间传送的数据单位称为该层的协议数据单元PDU(Protocol Data Unit),第n层的PDU记为n-PDU。
把控制协议操作的信息称为协议控制信息(PCI),第n层的PCI记为n-PCI。
PCI、SDU、PDU之间的关系为:n-SDU + n-PCI = n-PDU = (n-1)-SDU,即第n层的PDU = 第n层的SDU + 第n层的PCI = 第n-1层的SDU。
2.3 OSI的体系结构
OSI参考模型有7层,自下而上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
其中,低三层统称为通信子网,是为联网而附加的通信设备,完成数据的传输功能。高三层统称为资源子网,相当于计算机系统,完成数据的处理等功能。传输层承上启下。
2.3.1 物理层
物理层的传输单位是比特,功能是在物理介质上为数据端设备透明地传输原始比特流。物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法。
注意,传输信息所用的一些物理介质(如双绞线、光缆、无线通道等)并不在物理层协议之内,而在物理层协议下面。因此有些人将物理介质当做第0层。
2.3.2 数据链路层
数据链路层的传输单位是帧。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上午差错的数据链路。,使之对网络层表现为一条无差错的链路。
数据链路层将网络层交来的IP分组封装成帧,并且可靠地传输到相邻结点的网络层。
2.3.3 网络层
网络层的传输单位是数据报。它关心的是通信子网的运行控制,主要任务是将网络层的协议数据单元(分组)从源节点传输到目的结点,为分组交换网上的不同主机提供通信服务(路由选择、流量控制、拥塞控制、差错控制和网际互连等功能)。
2.3.4 传输层
传输层也叫运输层,主要负责主机中两个进程之间的通信,功能是为端到端连接提供可靠的传输服务,即为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。
2.3.5 会话层
会话层允许不同主机上的各个进程之间进行会话。这种服务主要为表示层实体或用户进程建立连接,并在连接上有序地传输数据,这就是会话,也叫建立同步(SYN)。
会话层负责管理主机间的会话进程,包括建立、管理和终止进程间的会话。
2.3.6 表示层
表示层主要处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同,为了使不同表示方式的数据和信息之间能够互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。此外,数据压缩、加密和解密也是表示层的功能。
2.3.7 应用层
应用层是OSI参考模型的最高层,是用户与网络的接口。应用层为特定类型的网路应用提供访问OSI参考模型环境的手段。用户的实际应用多种多样,这就要求应用层采用不同的应用协议来解决不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。典型的协议有用于文件传送的FTP、用于电子邮件的SMTP、用于万维网的HTTP等。
2.4 TCP/IP的体系结构
TCP/IP的体系结构比较简单,只有四层,自下而上分别为网络接口层、网际层、传输层、应用层。
其中,网络接口层对应OSI中的物理层与数据链路层;网际层对应OSI中的网络层;应用层对应OSI中的会话层、表示层、应用层。
TCP/IP模型的层次结构及各层的主要协议如图所示:
2.4.1 网络接口层
网络接口层的功能类似于OSI体系结构中的物理层和数据链路层。它表示与物理网络的接口,但实际上TCP/IP本身并为真正描述这一部分,只是指出主机必须使用某种协议与网络连接,以便在其上传输IP分组。
网络接口层的作用是从注解或结点接收IP分组,并将它们发送到指定的物理网络上。
2.4.2 网际层
网际层是TCP/IP体系结构的关键部分,功能上它与OSI参考模型的网络层非常相似。网际层将分组发往任何网络,并为其独立地选择合适的路由,但不保证各个分组有序地到达,各个分组的有序和可靠交付由高层负责。
网际层定义了标准的分组格式和协议,即IP。
2.4.3 传输层
传输层(应用-应用或进程-进程)的功能与OSI体系结构中的传输层类似,即使得发送端和目的主机上的对等实体进行会话。
传输层主要使用以下两种协议:
- 传输控制协议(Transmission Control Protocol,TCP)。它是面向连接的,传输数据前必须先建立连接,能够提供可靠的交付。数据传输的单位是报文段。
- 用户数据报协议(User Datagram Protocol,UDP)。它是无连接的,不保证提供可靠地交付,只能提供“尽最大努力交付”。数据传输的单位是用户数据报。
2.4.4 应用层
应用层(用户-用户)包含所有的高层协议,如虚拟终端协议(Telnet)、文件传输协议(FTP)、域名解析服务(DNS)、电子邮件协议(SMTP)和超文本传输协议(HTTP)等。
2.5 五层协议的体系结构
学习计算机网络时,我们往往采用折中的方法,即综合OSI参考模型和TCP/IP模型的优点,采取五层协议的体系架构,它与OSI体系结构和TCP/IP体系结构的关系如下图su:
2.6 小结
2.6.1 OSI体系结构与TCP/IP体系结构的比较
相似点:
- 二者都采取分层的体系结构,且分层功能也大体相似
- 二者都是基于独立的协议栈的概念
- 二者都可以解决异构网络的互连问题,实现不用厂家生产的计算机之间的通信。
不同点:
- OSI精确定义了三个主要概念:服务、协议和接口,与现代的面向对象程序设计思想非常吻合。而TCP/IP模型在这三个概念上没有明确区分。
- OSI体系结构是7层模型,而TCP/IP模型是4层结构。
- OSI体系结构是现有模型,后有协议规范,通用性良好,适合描述各种网络。TCP/IP体系结构正好相反,现有协议栈,后建立模型,因此不适合任何其他非TCP/IP网络。
- OSI体系结构在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式,但传输层支持无连接和面向连接两种模式。
🙌至此全篇结束!