OSI七层模型,是一种用于描述计算机网络通信过程的标准化体系结构。这个型由国际标准化组织(ISO)在20世纪80年代制定,旨在指导网络协议的设计、实现和互操作性,以便不同厂商的设备能够相互通信。可以用“ 物联网叔会使用” 来谐音记忆OSI模型的7层名字。

其中OSI模型的低三层可以看成是通信子网,主要负责的功能是数据通信。OSI模型的高三层可以以看成是资源子网,主要负责处理传输来的数据而中间的传输层,起到的是承上启下的作用。
像我们常用的网络设备:集线器、交换机、路由器都是通过物理传输媒体(网线、光纤)来实现和主机设备连接的。它们也是具有功能和层次的,例如集线器只是具有物理层,交换机则是具有物理层和数据链路层,最后的路由器在交换机的前提下,还有网络层。

一般的话,我们习惯称上图中的物理传输媒体为第0层。
1、物理层
任务:实现相邻节点之间比特(0或 1)的传输。
(1)需定义电路接口参数(如:形状、尺寸、引脚数等)。
(2)需定义传输信号的含义、电气特征(如:5v 表示 1,1v 表示 0;每比特电信号持续时间0.1ms)。

2、链路层
任务:确保相邻节点之间的链路逻辑上无差错,以帧为单位。
功能:
(1)差错控制:检错+纠错或检错+丢弃+重传。
(2)流量控制:协调两个结点的速率 。

在数据链路层,数据链路层可以检测错误,但通常情况下不直接进行错误纠正。因为数据链路层的主要任务是在物理层提供的通信信道上实现可靠的数据传输,包括检测和处理错误。
数据链路层使用一些错误检测技术,如循环冗余校验(CRC)或帧检验序列(FCS),来检测数据是否在传输过程中发生了错误。如果在数据帧中检测到错误,数据链路层通常会将错误的帧丢弃,然后请求重新传输。然而,数据链路层通常不会直接进行错误纠正。纠正错误需要更复杂的技术,通常会在更高的层次上进行,例如传输层或应用层。
3、网络层
任务:把“分组”从源结点转发到目的结点,以数据报/分组为单位。
功能:
(1)路由选择:构造并维护路由表,决定分组到达目的节点的最佳路径。
(2)分组转发:将“分组”从合适的端口转发出去。
(3)拥塞控制:发现网络拥塞,并采取措施缓解拥塞。
(4)网际互联:实现异构网络互联。
(5)其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理。

4、传输层
任务:实现端到端通信即实现进程到进程的通信,“端”指“端口”单位为报文段。
功能:
(1)复用和分用:发送端几个高层实体复用一条低层的连接,在接收端再进行分用。
(2)其他功能:差错控制、流量控制、连接建立与释放、可靠传输管理。

在网络中我们重点关注的就是网络层和传输层,其中网络层的典型的协议是IP协议,传输层的则是TCP协议。
5、会话层、表示层和应用层
5、会话层任务:管理进程间会话,主要功能:会话管理(采用检查点机制,当通信失效时从检查点继续恢复通信)。
6、表示层任务:解决不同主机上信息表示不一致的问题,主要功能是数据格式转换(如编码转换、压缩/解压、加密/解密)。
7、应用层任务:实现特定的网络应用,应用层的功能繁多,根据应用需求设计。

最后的各层的任务和功能的总结
OSI 参考模型 | 任务 | 功能 |
#7 应用层 | 实现特定网络应用 | 略 |
#6 表示层 | 解决不同主机上信息表示 不一致的问题 | 数据格式转换 |
#5 会话层 | 管理进程间会话 | 会话管理 |
#4 传输层 | 实现端到端(进程到进程)通信 | 复用和分用、差错控制、流量控制 连接管理、可靠传输管理 |
#3 网络层 | 把分组从源结点转发到目的结点 | 路由选择、分组转发、拥塞控制、 网际互联、差错控制、流量控制、连接管理、可靠传输管理 |
#2 数据链路层 | 确保相邻节点之间的链路逻辑上 无差错 | 差错控制、流量控制 |
#1 物理层 | 实现相邻节点之间比特的传输 | 需定义电路接口参数、信号的含义 1电气特性等 |