OSI参考模型

国际标准化组织(ISO)在1984年颁布了开放系统互连(OSI)参考模型,它是一个开放式体系结构,并将网络分为7层。

计算机网络参考模型和数据封装与解封装过程_二进制数

第七层应用层     网络服务与最终用户的一个接口(用户操作)

人机交互窗口,把人的语言输入到计算机当中。例如,在QQ的对话窗口输入字符。

 

第六层表示层     数据的表示、安全、压缩(人的语言翻译成计算机)

将接收到的数据翻译成二进制数组成的计算机语言,并对数据进行压缩和解压、数据加密和解密等工作。


第五层会话层     建立、管理、中止会话(通信软件建立会话,比如:QQ)

管理是否允许不同机器上的用户之间建立会话连接关系。


第四层传输层     定义传输数据的协议端口号,以及流控和差错校检(防火墙 端到端)

将上层数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据。


第三层网络层     进行逻辑地址寻址,实现不同网络之间的路径选择(路由器)

将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端传输。


第二层数据链路层 建立逻辑连接、进行硬件地址寻址、差错校检等功能(交换机 网卡)

将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧。


第一层物理层    建立、维护、断开物理连接(网卡,网线,光纤,集线器,中继器,调制解调器)

报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数学组成的比特流转换成电信号在网络中传输。


TCP/IP参考模型和协议族的组成

TCP/IP参考模型

计算机网络参考模型和数据封装与解封装过程_封装_02

由图可直观看出,OSI 7层模型和TCP/IP 5层模型的区别,在TCP/IP 5层模型中将应用层、表示层和会话层合并成应用层。而TCP/IP 5层模型和TCP/IP 4层模型也有些许区别,TCP/IP 4层模型将数据链路层和物理层合并成网络接口层。

TCP/IP协议族的组成

计算机网络参考模型和数据封装与解封装过程_数据链路层_03

TCP/IP协议族的组成:

应用层:HTTP、FTP、TFTP、SMTP、SNMP、DNS

传输层:TCP、UDP

网络层:ICMP、IGMP、IP、RARP、ARP

数据链路层及物理层:由底层网络定义的协议

数据的封装与解封装过程

数据封装过程

计算机网络参考模型和数据封装与解封装过程_数据链路层_04

应用层:将数据翻译成二进制数据

传输层:二进制数据被分割成小的数据段,并封装TCP头部(数据段),其中TCP头部关键信息是端口号

网络层:传输层传来的数据被封装上IP头部 (数据包),其中IP头部的关键信息是IP地址

数据链路层:网络层传来的数据被封装上MAC头部 (数据帧),其中MAC头部的关键信息是MAC地址

物理层:二进制数据组成的比特流转化为电信号在网络中传输 。 (比特流)

数据解封装过程

计算机网络参考模型和数据封装与解封装过程_数据_05

物理层:将电信号转化为二进制数据,并将其送至数据链路层

数据链路层:查看MAC地址,地址是自己的MAC地址,就拆掉MAC头部传输到网络层 ,地址不是自己,就丢弃数据

网络层:查看IP地址,地址是自己的IP地址,就拆掉IP头部传输到传输层 ,地址不是自己,就丢弃数据

传输层:查看TCP头部,判断是哪个端口,识别对应端口,把TCP头部拆掉后将数据传输到应用层

应用层:二进制转化为原始数据

总结

OSI模型的分层结构

TCP/IP协议栈的分层结构

数据传输中的封装和解封装过程