OSI七层模型 vs TCP/IP五层模型 及各层协议
一.OSI七层模型
OSI七层模型(Open System Interconnect)即开放系统互连参考模型,是由ISO(International Organization for Standardization)国际标准化组织提出的,用于计算机或通信系统间互联的标准体系。
从上到下可分为七层:每一层都完成特定的功能,并为上一层提供服务,并使用下层所提供的服务。
- 应用层(Application):为用户的应用程序提供网络服务
- 表示层(Presentation):将信息表示为一定形式和格式的数据流
- 会话层(Session):负责通信主机之间会话的建立、管理和拆除,协调通信双方的会话
- 传输层(Transport):负责通信主机间端到端的连接
- 网络层(Network):负责将分组从源机送到目的机,包括寻址和最优路径选择等
- 数据链路层(Data Link):提供可靠的帧传递,实现差错控制、流控等等
- 物理层(Physical):提供透明的比特流(01流)传递
网上找的一张示意图:
二. TCP/IP 四层参考模型
- 应用层(Application):为用户提供所需要的各种服务
- 传输层(Transport):为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性
- 网际层(Internet):主要解决主机到主机的通信问题
- 网络接口层(Network Access):负责监视数据在主机和网络之间的交换

还有一种是五层协议的体系结构,是专门为介绍网络原理而设计的,与TCP/IP四层模型唯一不同的就是将网络接口层分为了数据链路层和物理层,在实际的应用中还是使用TCP/IP四层模型的。

三.两个模型的比较
这两个模型有许多相同点和不同点,首先是分层上,可以明显看出,TCP/IP四层模型是OSI七层模型的简化版,但是大致的核心内容是很类似的。虽然OSI容易开发和排除故障,但是相较于简洁的TCP/IP,显得庞大而笨拙。十分有趣的是,OSI虽然是官方提出的,但是由于一些原因,在它被完善之前,由民间开发的TCP/IP早已投入实际使用了,所以它几乎是只存在与教科书中,并没有大范围地投入使用。
四.实际应用过程
数据由发方到收方需要经过以下几个步骤:
发方需要对数据进行封装/打包,从最高层开始逐渐下行到最低层。在每一层上,在数据上加上头部信息,用于传递信息,信息在各层呈现出不同的形式。
比特流穿越复杂的中间信道。
收方对收到的比特流解封装/解包,从最低层开始逐渐上行到最高层,在每层去掉头部信息,最终还原出原始信息。
数据在各层的形式叫PDU(Protocol Data Unit)协议数据单元,其在各层有不同的名称。
具体地,
在OSI的上三层,信息被表示为一定格式和形式的数据流;
数据流被传到传输层,将其切割为适合传输的数据段,并加上段头,段头中包含定位应用进程的端口号等信息;
数据段传到网络层,添加分组头部形成分组,分组头部中包含寻址主机的IP地址和其他一些传输需要用到的信息;
分组再传到数据链路层,添加帧头形成帧,帧头中包含寻址主机所需的物理地址、校验等信息;
帧到了物理层,被转成可供传输的比特流。