osi网络模型 协议层 数据封装

当主机向其他的设备跨网络传输数据时,数据就要进行封装,就是在OSI模型的每一层加上协议信息。每一层只与接收设备上相应的对等层进行通信。
为了实现通信交换信息,每一层都使用协议数据单元PDU,这些含有控制信息的PDU被附加到数据上。我们通常被附加到数据字段的报头中,但他们也可以被附加在数据字段的报尾中。
OSI模型的每一层,通过封装使每个PDU被附加到数据上,而且每个PDU都有特定的名称,其名称取决于在每个报头中所提供的信息。这种PDU信息只能由接收方设备中的对等层读取,在读取后,报头就被剥离,然后把数据交给上一层。
用户信息被转换成能在网络上传输的的数据格式。然后,数据流被送到传输层,通过发送同步包,传输层能够建立一条到接收方设备的虚电路。然后数据流被分割成更小的数据块,并根据死而已创建一个传输层报头(就是一个PDU),然后将它附加到数据字段的报头中。现在数据块就被称为数据段。每个数据段要进行排序,以便数据流能够在接收方精确的重视,与它发送时的顺序完全一样。
然后,每个数据段被交到网络层,以便通过互联网实现网络寻址和路由选择。在网络层,使用逻辑寻址(比如IP)将每个数据段送到正确的网络中。网络层协议向来自传输层的数据段中添加控制报头,现在所得到的数据块就称为数据包或数据报。记住,传输层和网络一起工作,以在接收放主机中重建数据流,但他们并不将他们的PDU放在一个本地网段上
数据链路层负责从网络层接收数据包并将他们放到网络介质(有线或无线)上。数据链路层将每个数据包封装成帧,帧的报头中包含了源和目的主机的硬件地址。如果目的设备在一个远程网络中,帧就会被发送到路由器,以通过互联网络传送到目的地。一旦到达了目的网络,就会使用一个新的帧将数据包送往目的主机。
为了将帧送到网络上,它首先必须被转换成数字信号的形式。帧实际上是10的逻辑组,物理层负责将这些数值封装为数字信号,在同一个本地网络中就可以直接传输了。接收方设备将使数字信号实现同步,并从数字信号中提取出10,这时设备就可以构建帧,执行循环冗余校验(CRC),并根据帧的FCS字段中的结果来检验数据是否被正确传送。如果他们匹配,就从帧中取出数据包,然后丢弃剩余的部分。这个过程就称为解封装。数据包被交到网络层,在这里对地址进行检查。如果地址匹配,就从数据包中取出数据段,然后丢弃剩余的部分。在传输层对数据段进行处理,这里将重建数据流,并向发送方站点确认它收到了每个数据块。然后,它将数据流送往高层的应用程序。
在发送方设备中,数据封装的过程如下:
1:用户信息被转换为数据,以便在网络上传输。
2:数据被转换为数据段,并在发送方和接收方主机之间建立一条可靠的连接。
3:数据段被转换为数据包或数据报,并在报头中放上逻辑地址,这样,每一个数据包都可以通过互联网络进行传输。
4:数据包或数据报被转换为帧,以便在本地网络中传输。在本地网段上,使用硬件地址唯一的标识每一台主机。
5:帧被转换为比特流,并采用数字编码和时钟方案。

本文出自 “sky~ywb” 博客,请务必保留此出处http://sky2008.blog.51cto.com/466292/97356

一个对osi五层模型的讲解的文章链接:
阅读更多
个人分类: 技术文章
上一篇ulimit命令用法
下一篇nor flash 与 nand flash 的区别
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭