七层是指 OSI 七层协议模型,主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。

OSI 是 Open System Interconnect 的缩写,意为开放式系统互联。

OSI 七层协议模型是一个通用的模型,可以用于各种网络。它提供了一个理解和描述网络通信的框架。

OSI 七层参考模型的各个层次的划分遵循下列原则:

  1. 同一层中的各网络节点都有相同的层次结构,具有同样的功能
  2. 同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信
  3. 七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务
  4. 不同节点的同等层按照协议实现对等层之间的通信

高级图示

物理层(Physical Layer)

物理层是 OSI 模型的最低层,负责数据在物理介质(如电缆、光纤)上的传输。它定义了数据的物理格式、传输速率和电信号的形式。

OSI 的物理层规范是有关传输介质的特性。这些规范通常也参考了其他组织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:RJ45、802.3 等。这一层,数据单位是比特(bit)

数据链路层(Data Link Layer)

数据链路层负责在物理层上提供可靠的数据传输。它使用帧来表示数据,并使用错误检测和纠正机制来确保数据的完整性。

它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM、FDDI 等。在这一层,数据的单位称为帧(frame)

网络层(Network Layer)

网络层负责在不同网络之间路由数据。它使用 IP 地址来标识网络中的主机,并使用路由算法来选择最有效的路径。

这层对端到端的包传输进行定义,它定义了能够标识所有节点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP、IPX 等。在这一层,数据的单位称为数据包(packet)

传输层(Transport Layer)

传输层负责在两台主机之间提供可靠的数据传输。它使用端口号来标识应用程序,并使用错误检测和纠正机制来确保数据的完整性。

这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP、UDP、SPX。这一层的数据单元也称作数据包(packets)。但是,当你谈论 TCP 等具体的协议时又有特殊的叫法,TCP 的数据单元称为段(segments),而 UDP 协议的数据单元称为数据报(datagrams)

会话层(Session Layer)

会话层负责在两台主机之间建立和维持连接。它使用同步机制来确保数据的顺序和一致性。

它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC、SQL 等。在会话层及以上的高层次中,数据传送的单位不再另外命名,而是统称为报文

表示层(Presentation Layer)

表示层负责数据格式的转换。它可以将数据从一种格式转换为另一种格式,以便在不同系统之间进行通信。

这一层的主要功能是定义数据格式及加密。例如,FTP 允许你选择以二进制或 ASCII 格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择 ASCII 格式,发送方将把文本从发送方的字符集转换成标准的 ASCII 后发送数据。在接收方将标准的 ASCII 转换成接收方计算机的字符集。示例:加密、ASCII 等。这一层,数据单位还是报文

应用层(Application Layer)

应用层是 OSI 模型的最高层,为用户提供各种网络应用程序。例如,HTTP、FTP 和 SMTP 都是应用层协议。

与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心 OSI 的第 7 层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现 OSI 的第 7 层。示例:TELNET、HTTP、FTP、NFS、SMTP 等。这一层,数据单位还是报文

扩展

五层协议

五层只是 OSI 和 TCP/IP 的综合,是业界产生出来的非官方协议模型,但是很多具体的应用。实际应用还是 TCP/IP 的四层结构。为了方便可以把下两层称为网络接口层。五层体系结构包括:应用层、运输层、网络层、数据链路层和物理层。

五层模型不展开讲解,内容和功能参照七层的,这里把三者做一个综合的对应,如下图:

四层协议

四层是指 TCP/IP 四层模型,主要包括:应用层、运输层、网际层和网络接口层。

四层协议和对应的标准七层协议的关系如下图:

数据单位

从上往下,每经过一层,协议就会在数据包包头上面做点手脚,加点东西,传送到接收端,再层层解套出来,如下示意图: