前言
在上一篇我们主要介绍了有关计算机网络概述的内容,下面这一篇我们将来介绍有关计算机网络体系结构与参考模型的内容。这一篇博客紧紧联系上一篇博客。
这一篇博客主要内容是:计算机网络体系结构与参考模型,主要是计算机网络分层结构、协议、接口、服务的概念、ISO/OSI参考模型和TCP/IP模型。
【考纲内容】
计算机网络体系结构与参考模型
- 计算机网络分层结构;计算机网络协议、接口、服务的概念
- ISO/OSI参考模型和TCP/IP模型
【特别注意】
本章主要介绍计算机网络体系结构的基本概念,读者可以在理解的基础上适当地记忆。重点掌握网络的分层结构(包括5层和7层结构),尤其是ISO/OSI参考模型各层的功能及相关协议、接口和服务等概念。掌握有关网络的各项性能指标。特别是时延、带宽、速率和吞吐量等的计算。
一、计算机网络分层结构
1.1 体系结构
先来认识一下体系结构:计算机网络中的层次、各层的协议及层间接口的集合。层次结构以垂直分层模型来表示。除了在物理媒体上进行的是实通信之外,其余各对等实体间进行的都是虚通信。对等层的虚通信必须遵循该层的协议。
什么是实通信、什么又是虚通信呢?
- 举个生动的例子,我要送一支笔送给某个人,当某个人拿到笔的时候,这样就是虚通信,因为不是我拿着笔送给某个人,而是通过快递的方式进行的。
- 我将笔给快递员,快递员给分拣员,然后再通过高铁或飞机送到某个人的地方去,这就是实通信。
1.2 分层的意义和基本原则(但目前位置未涉及题目)
1.2.1 分层的意义
两个系统中实体间的通信是一个很复杂的过程,为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究、实现和维护,促进标准化工作,通常对计算机网络的体系结构进行分层的方式进行建模。
1.2.2 层次结构划分的原则
- 每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻居产生影响,可以采用最合适的技术来实现;
- 层间接口必须清晰,跨域接口的信息量应尽可能少;
- 层数应该适中。若层数太少,则造成每一层法协议太复杂;若层数太多,则体系结构过于复杂,使描述和实现各层功能变得困难;
- 各层之间界面自然清晰,易于理解,相互交流尽可能少;
- 保持下层对上层的独立性,上层单向使用下层提供的服务;
- 整个分层结构应能促进标准化工作。
1.3 体系结构的特点
- 以功能作为划分层次的基础;
- 第n层实体在实现自身定义的功能时,只能使用第n-1层提供的服务;
- 第n层在向第n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能;
- 仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
1.4 概念理解
- 网络协议是按层次结构来组织的;
- 网络层次结构模型与各层协议的集合称为网络体系结构;
- 网络体系结构对计算机网络应该实现的功能进行了精确的定义;
- 体系结构是抽象的,而实现是指能够运行的一些硬件和软件。
二、计算机网络协议、接口、服务的概念
2.1 协议
协议的概念:
- 网络协议是为网络数据交换而制定的规则、约定与标准。(就像是,快递公司发快递要在快递上面贴快递单号的作用一样,协议其实就是一种语言。)
协议的三要素:语义、语法与同步(时序)。
- 语义:用于解释比特流的每一部分的意义
- 语法:语法是用户数据域控制信息的结构与格式,以及数据出现的顺序的意义;(相当于快递单上写有姓名,地址,联系方式固定的位置以及顺序。)
- 同步(时序):事件实现顺序的详细说明
下面就来看一道关于时序的考试题目:
实体的概念:
协议的功能:
- 协议是控制两个对等实体进行通信的规则的集合。
- 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
- 要实现本层协议,还需要使用下层所提供的服务。
2.2 服务
服务的概念:
- 为保证上层对等体之间能相互通信,下层向上层提供的功能。(记住是单向的)
2.3 接口(服务访问点)
接口的概念:
接口的功能:
- 同一结点的相邻层之间存在着明确规定的接口,底层向高层通过接口提供服务;
- 只要接口条件不变,低层功能不变,低层功能的具体实现方法与技术的变化不会影响整个系统的工作。
服务访问点的概念:
- 同一系统相邻两层的实体进行交互的地方,称为服务访问点SAP。服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口。
服务数据单元SDU的概念:
协议数据单元PDU的概念:
- 对等层次之间传送的数据单位称为该层的协议数据单元PDU。
- SDU可以与PDU不一样,例如,可以是多个SDU合成一个PDU,也可以是一个SDU划分为几个PDU.
2.4 协议与服务的概念是不一样的
- 协议的实现保证了能够向上一层提供服务。
- 本层的服务用户只能看见服务而无法看见下面的协议。
- 协议是“水平的”,即协议是控制对等实体之间通信的规则。
- 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
- 上层使用服务原语获得下层所提供的服务。
服务原语是什么?
服务原语的概念:
- 上层使用下层所提供的服务时必须与下层交换一些命令,这些命令在OSI参考模型中称为服务原语。
OSI参考模型将原语划分为4类:
- 请求。由服务用户发往服务提供者,请求完成某项工作。
- 指示。由服务提供者发往服务用户,指示用户做某件事情。
- 响应。由服务用户发往服务提供者,作为对指示的响应。
- 证实。由服务提供者发往服务用户,作为对请求的证实。
可能上面的解释会有一些懵,下面我们来用图形解释一下:
OSI的体系结构定义了一个七层模型,用以进行进程之间的通信,并作为一个框架来协调各层标准的制定;OSI的服务定义描述了各层所提供的服务,以及层与层之间的抽象接口和交互用的服务原语。下面我们来认识一下各层之间的功能:
3.1 物理层的主要功能
- 利用传输介质为通信的网络结点之间建立、管理和释放物理连接;
- 实现比特流的透明传输,为数据链路层提供数据传输服务;
- 物理层的数据传输单元是比特。
3.2 数据链路层的主要功能
- 在物理层提供的服务基础上,数据链路层在通信的实体之间建立数据链路的连接;
- 传输以“帧”为单位的数据包;
- 采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路。
3.3 网络层的主要功能
- 通过路由选择算法(控制平面)为分组通过通信子网选择做适当的路径;
- 为数据在结点之间传输(转发,数据平面)创建逻辑链路;
- 实现拥塞控制、网络互连等功能。
3.4 传输层的主要功能
- 向用户提供可靠的端到端服务;
- 处理数据包错误、数据包次序,以及其他一些关键传输问题;
- 传输层向高层屏蔽了下层数据通信的细节,是计算机通信体系结构中关键的一层。
3.5 会话层的主要功能
- 负责两个结点之间的传输链接,以便确保点到点传输不中断;
- 管理数据交换。
3.6 表示层的主要功能
- 用于处理在两个通信系统中交换信息的表示方式;
- 数据格式交换;
- 数据加密与解密;
- 数据压缩与恢复。
3.7 应用层的主要功能
- 为应用程序提供了网络服务;
- 应用层需要识别并保证通信对方的可用性,使得协同工作的应用程序之间的同步;
- 建立传输错误纠正与保证数据完整性的控制机制。
四、TCP/IP参考模型(4层)
4.1 TCP/IP参考模型的发展
- 目前使用的版本4,它的网络层协议一般记为IPv4;
- 版本6的网络层IP协议一般记为IPv6(或IPng、IP next generation);
- IPv6被称为下一代的IP协议。
4.2 TCP/IP协议的特点
- 开放的协议标准;
- 独立于特定的计算机硬件与操作系统;
- 独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互联网上;
- 统一的网络地址分配方案,使得整个TCP/IP设备在网上都具有唯一的地址;
- 标准化的高层协议,可以提供多种可靠的用户服务。
4.3 网络接口层
- 参考模型的最低层,负责通过网络发送和接收IP数据报;
- 允许主机连入网络时使用多种现成的与流行的协议;
- 充分体现出TCP/IP协议的兼容性与适应性,它也为TCP/IP的成功奠定了基础。
4.4 网际层
- 相当于OSI参考模型网络层无连接网络服务;
- 处理互联的路由选择、流控与拥塞问题;
- IP协议是无连接的、提供“尽力而为”服务的网络层协议。
4.5 传输层
- 在互联网中源主机与目的主机的对等实体间建立用于会话的端到端连接;
- 传输控制协议TCP是一种可靠的面向连接协议;
- 用户数据报协议UDP是一种不可靠的无连接协议。
4.6 应用层
应用层协议主要有:
- 文件传输协议 FTP
- 简单邮件传输协议 SMTP
- 域名系统 DNS
- 超文本传输协议 HTTP
- 地址动态获取协议 DHCP
五、五层结构
六、OSI参考模型与TCP/IP参考模型的比较
对OSI参考模型的评价:
- 层次数量与内容选择不是很好,会话层很少用到,表示层几乎是空的,数据链路层与网络层有很多的子层插入;
- 寻址、流控与差错控制在每一层里都重复出现,降低系统效率;
- 数据安全性、加密与网络管理在参考模型的设计初期被忽略了;
- 参考模型的设计更多是被通信的思想所支配,不适合与计算机与软件的工作方式;
- 严格按照层次模型编程的软件效率很低。
对TCP/IP参考模型评价:
- 在服务、接口与协议的区别上不很清楚,一个好的软件工程应该将功能与实现方法区分开,参考模型不适合与其他非TCP/IP协议族;
- TCP/IP参考模型的主机——网络层本身并不是实际的一层;
- 物理层与数据链路层的划分是必要和合理的,而TCP/IP参考模型没有做到这一点。
总结
这篇文章主要讲述了计算机网络的概述,认识了计算机网络的分层结构,计算机网络的协议、接口、服务的内容,以及两个重要模型:OSI/ISO模型和TCP/IP模型,感谢大佬们的点赞和关注,我会更加努力地简化我的笔记。