计算机网络分层结构概述
前言
本文讲解计算机网络分层结构,首先,计算机网络为什么需要分层,而又有哪些分层模型,并具体讲解每种分层模型中具体每层的意义、功能和相关协议。本文是后续计算机网络相关知识的框架基础,了解了计算机网络结构,后续文章我们会针对具体每个层次进行学习讲解。
一、为什么要分层
-
计算机网络需要处理的问题太多了,考虑把大问题分解为多个小问题进行解决,所以需要进行分层。每一层解决对应的问题,逐层解决整个问题。
-
以寄快递为例形象化的说明计算机分层网络结构中的一些概念和分层的基本原则。
对于上图中的一瓶红酒,你要发送给对方:首先需要将这瓶红酒软包装一下,然后再用盒子装起来,然后再寄到对方手中;对方拿到后,需要对应的把你做的处理一一去掉才能最终拿到这瓶红酒:首先,把盒子拆掉(如何拆?这就需要协议告诉对方),然后再把软包装去掉(如何去掉?这也需要对应的协议告诉对方),最后才能享受这瓶红酒。
二、分层结构的相关概念
- SDU(service data unit):服务数据单元,满足对方要求的最基本的所需要发送的数据
- PCI(protocol control information):协议控制信息,即控制对等实体相互操作的信息(类似快递中一个装一个拆,而如何装,如何拆的操作信息都在PCI中记录着)
- PDU(protocol data unit):协议数据单元,由SDU和PCI组成,它是对等层次之间传送的数据单位。因为无论是SDU还是PCI,单独传送给对方都没有意义(好比你发给对方一个包装着的东西,如果你不把如何拆包装的方法告诉对方,对方拿到了这个东西也拆不开,自然也没有意义了),只有把这两部分组成一个整体PDU,同时发送给对方才有意义。
- 因此计算机网络分层结构中,每层都会为上一层新添加一定的信息,用于数据传输。
网络体系结构是从功能上描述计算机网络结构、是分层结构、是计算机网络的各层及其协议的集合、是抽象的,且具体的实现是指能运行的一些软件和硬件。
三、七层分层结构:ISO/OSI参考模型
1. 概述
-
七层分层结构包括哪些?
-
ISO/OSI参考模型通信过程
端到端的层次结构,在发送端完成后,不要再中间过程再处理,直接原样发送到接收端,因此称为端到端。(这就好比你包装好的包裹,路途中肯定不能给你拆了,而是应该直接原样送到对方手中,由对方来拆)
点到点的层次结构,在发送端完成后,还需要经过中间过程的再处理,即一步一步的完成,直至发送到接收端,因此成为点对点。(这就好比,你把包裹给了快递公司,快递公司先给你运到下一个快递点,然后再从下一个快递点继续运送,直至运送到对方手中) -
具体通信示例(省略了中间路由过程):
注意,数据链路层,不仅要在尾部添加信息,还需要在头部添加信息。
2. 应用层
所有能与用户交互并产生网络流量的程序,比如qq、邮箱、网页等等(如单击游戏,它不产生网络流量,因此不属于应用层)
功能 | 协议 |
---|---|
文件传输 | FTP |
电子邮件 | SMTP |
万维网 | HTTP |
… |
3. 表示层
用于处理在两个通信系统中交换信息的表示方式(语法:规定传输数据的格式。和语义:规定所要完成的功能)
功能 | 主要协议 |
---|---|
数据格式变换;数据加密解密;数据压缩和恢复 … | JPEG、ASCII … |
4. 会话层
向表示层实体/用户进程提供建立连接并在连接上有序的传输数据。这是会话,也是建立同步(规定各种操作的顺序)
功能 | 主要协议 |
---|---|
建立、管理、终止会话;使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步 | ADSP、ASP |
校验点:为数据分段,并为每段添加一个标记,如果数据传输失败,可以从最近的标记处重新传输,保证之前的传输不会废弃。
5. 传输层
负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。
功能 | 解释 |
---|---|
可靠传输,不可靠传输 | 可靠传输是指等待接收方的确认信息再继续发送,否则一直询问接收方;不可靠传输是指不管接收方是否接收到,直接把数据全部丢给接收方 |
差错控制 | 如果传输过程出现错误,则及时处理 |
流量控制 | 控制发送方的速度,保证接收方来得及接收 |
复用分用 | 复用:多个应用层进程可同时使用下面运输层的服务(接收方接收的数据可供多个应用复用)。分用:运输层把收到的信息分别交付给上面应用层中相应的进程(接收方接收的数据可区分为多个应用分用,比如收到的数据,既可以一部分是微信的数据,也可以一部分是QQ的数据) |
主要协议:TCP、UDP
6. 网络层
主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层传输单位是数据报。
功能 | |
---|---|
路由选择 | 选择最佳路径 |
流量控制 | 控制发送分组的速度 |
差错控制 | 控制发送错误 |
拥塞控制 | 若所有节点都不来及接受分组,而要丢弃大量分组的话,网络就处于用塞状态,因此要采取一定的措施,缓解这种拥塞 |
主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF
7. 数据链路层
主要任务是把网络层传下来的数据报组装成帧。数据链路层的传输单位是帧。
功能 | 解释 |
---|---|
成帧 | 包括定义帧的开始和结束 |
差错控制 | 包括帧错和位错 |
流量控制 | |
访问(接入)控制 | 控制对信道的访问 |
主要协议:SDLC、HDLC、PPP、STP
8. 物理层
主要任务是在物理媒介上实现比特流的透明传输(指不管所传数据是什么样的比特组合,都应当能在链路上传送)。物理层的传输单位是比特。
功能 |
---|
定义接口特性 |
定义传输特性 |
定义传输速率 |
比特同步 |
比特编码 |
四、四层分层结构:TCP/IP参考模型
五、五层分层结构:5层参考模型