网络通信的过程中,两台主机中间,信息从发送方发送的过程中,会对信息进行层层分装,接收方接收信息时会,层层分用(拆分)
举一个简单的例子:封装就是打包包裹,分用就是拆包裹
下面详细说说过程
比如说主机A想给主机B发送一条QQ消息,内容是hello~
那么这个hello怎么发送给B,B又该怎么接收呢?
【A发送】
(1)应用层
首先当A按下发送后,QQ这个应用程序就会开始工作,QQ属于应用层,它会把信息进行第一步的打包:
假设QQ以某种方式把信息打包,打包的内容有 A的IP地址,B的IP地址,信息内容,发送时间,应用层QQ会将这些元素进行第一层打包,打包好后交给传输层
(2)传输层
传输层是由操作系统内核实现的,操作系统会提供一些API给应用层,代码调用API,就可以把应用层的数据交给传输层(内核),这些API就是socket API
传输层里有很多协议,其中最典型的是TCP协议,内核会用TCP协议来处理这些数据(应用层打包好的数据)
TCP协议会在之前数据的基础上,加上一个TCP协议