七层

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

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

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

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

TCP/IP七层协议图

应用层

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

表示层

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

会话层

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

网络层

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

数据链路层

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

物理层

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

五层

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

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

四层

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

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

数据单位

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

转载至:https://zhuanlan.zhihu.com/p/152590226