前言
数据传输的过程和TCP/IP五层网络结构关系密切,在实际的网络环境中,发送方和接收方往往相隔千山万水,网络环境也各不相同,但是数据的传输都需要经历数据封装与解封装的过程
一、数据封装与解封装过程
1、数据封装过程
pc1 | pc2 | ||||
应用层 | 上层数据 | ||||
↓ | |||||
传输层 | 上层数据 | + TCP头部 | |||
↓ | |||||
网络层 | 上层数据 | TCP头部 | + IP头部 | ||
↓ | |||||
数据链路层 | 上层数据 | TCP头部 | IP头部 | + MAC头部 | |
↓ | |||||
物理层 | _∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_ |
(1)应用层封装过程
在应用层,计算机呈现的各种信息被”翻译“为二进制编码数据,这也是应用层在网络数据传输过程中最为核心的贡献
(2)传输层封装过程
在传输层,上层数据被分割成小的数据段,并为每个分段后的数据封装TCP报文头部,从应用层转换过来的二进制编码数据是海量的,数据量过大会加大出错的概率,因此,将数据先分割成小段再逐段传输,一旦出现数据传输错误只需重传这一小段数据即可
(3)网络层封装过程
在网络层,上层数据被封装上IP报文头部,在IP头部有一个关键字段信息:IP地址,包含目标IP和源IP
(4)数据链路层封装过程
在数据链路层,上层数据被封装一个MAC头部,在MAC头部也同时封装着目标MAC地址和源MAC地址
(5)物理层封装过程
无论之前哪一层封装的报文头部还是上层数据信息都是由二进制数组成,在物理层,将这些二进制数字组成的比特流转换成电信号在网络中传输
2、数据解封装过程
数据被封装完毕通过网络传输到接收方后,将进入数据的解封装过程,这是封装过程的逆过程
pc1 | pc2 | ||||
上层数据 | 应用层 | ||||
↑ | |||||
- TCP头部 | 上层数据 | 传输层 | |||
↑ | |||||
- IP头部 | TCP头部 | 上层数据 | 网络层 | ||
↑ | |||||
- MAC头部 | IP头部 | TCP头部 | 上层数据 | 数据链路层 | |
↑ | |||||
_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_ | 物理层 |
(1)物理层解封装过程
在物理层,首先将电信号转换成二进制数据,并将数据送至数据链路层
(2)数据链路层解封装过程
在数据链路层,将查看目标MAC地址,判断其是否与自己的MAC地址吻合,并据此完成后续处理。如果数据报文的目标MAC地址就是自己的MAC地址,数据的MAC头部将被“拆掉”,并将剩余的数据送至上一层;如果目标MAC地址不是自己的MAC地址,对于终端设备来说,它将会丢弃数据
(3)网络层解封装过程
在网络层与在数据链路层类似, 目标IP地址将被核实是否与自己的IP地址相同,从而确定是否送至上一层
(4)传输层解封装过程
到了传输层,首先要根据TCP头部判断数据段送往哪个应用层协议或应用程序,然后将之前被分组的数据段重组,再送往应用层
(5)应用层解封装过程
在应用层,这些二进制数据将经历复杂的解码过程,以还原发送者所传输的原始信息
二、数据传输的一些基本概念
1、PDU
pc1 | pc2 | |||||
应用层 | 上层数据 | |||||
↓ | ||||||
传输层 | 上层数据 | + TCP头部 | (数据段) | |||
↓ | ||||||
网络层 | 上层数据 | TCP头部 | + IP头部 | (数据包) | ||
↓ | ||||||
数据链路层 | 上层数据 | TCP头部 | IP头部 | + MAC头部 | (数据帧) | |
↓ | ||||||
物理层 | _∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_∏_ | (比特流) | ||||
对于OSI参考模型而言,每一层都是通过PDU(Protocol Data Unit,协议数据单元)来进行通信的,而对于TCP/IP五层结构,也可以沿用这个概念。
PDU是指同层之间传递的数据单位。例如,TCP/IP五层结构体系中,上层数据被封装TCP头部后,这个单元称为段(Segment),数据段向下传到网络层,被封装IP头部后,这个单元称为包(Packet),数据包继续向下传送到达数据链路层,被封装MAC头部后,这个单元称为帧(Frame),最后帧传送到物理层,帧数据变成比特流,比特流通过物理介质传送出去
2、常见硬件设备与五层模型对应关系
应用层 | 计算机,服务器 |
传输层 | 防火墙 |
网络层 | 路由器 |
数据链路层 | 网桥,交换机 |
物理层 | 网卡、网线,集线器,中继器,调制解调器 |
结语
数据在传输过程中不断的进行着封装和解封装的过程,网络设备属于哪一层就在哪一层对数据进行相关的处理,正因如此,我们称TCP/IP五层模型为“参考模型“,参考这五层模型可以帮助我们很好的研究数据传输的整个过程