数据的封装、解封与传输
1、数据的封装与解封概念
封装:封装就是在数据网络传输之前,数据被添加上必要的协议信息,用以实现数据的传输。当数据沿着OSI参考模型的层次结构向下传递时,OSI参考模型从传输层开始的每一层都会向下传递之前,给数据添加上数据报头(在第二层还有数据包尾)。网络设备的接受者的控制信息被包含在数据上的报头的包尾中,这些控制信息确保数据正确传输,以及接受者能够正确读取数据。因此可以报数据看成一封信,而把报头看做是信封上的地址,因为信封需要地址来被邮递到所要到达的接收方。
解封:解封就是封装的逆过程,从数据包中取出信息,之后传递给接受者。
2、数据封装过程
数据的封装过程可以通过以下5个步骤来进行,这5个步骤是玩了个中封装数据的必经之路。
- 创建数据——当用户发送E-mail消息时,消息中的字母、数字和字符被转换成可以在Internet上传输的数据。
- 为端到端的传输将数据分段——对数据分段来实现互联网的传输。通过使用分段(segment),传输功能确保E-mail系统两端的主机之间能可靠地通信。
- 在报文中添加网络地址——数据被放置在一个分组或数据报中。这些分组中包含了带有源和目的逻辑地址的网络报头。这些源和目的的逻辑地址有助于网络设备沿着已选定的路径发送这些分组。
- 在数据链路报头上添加MAC地址——每一个网络设备都必须将分组放入帧中。这些数据帧使得数据可以传送到该物理链路上一个直接相连的网络设备上。在选定的路径上的每一个网络设备都必须把帧传递到下一台设备。
- 将数据帧转换为比特在介质中传播——当这些比特在介质中进行传输时,时钟同步功能使得设备可以把他们区分开。物理互联网络上的介质可能随着使用不同的链路而有所不同。
数据通过OSI模型各层向下传输的过程中,会加上不同层的报头和报尾。
3、数据的解封过程:
当远程设备顺序接收到一串比特流的时候,其物理层把这些比特流传送到数据链路层进行操作。数据链路层会执行以下操作:
- 检验该MAC目的地址是否与工作站地址相互匹配,或者是否为下一个以太网广播地址。如果这两种情况没有出现,就丢弃该帧。
- 如果数据已经出错了,那么将它丢弃,而且数据链路层可能会要求重传数据。否则,数据链路层就读取并解释数据链路报头上的控制信息。
- 数据链路层剥离数据链路报头和包尾,然后根据数据链路报头上的控制信息把剩下的数据向上传送到网络层。