OSI和TCP/IP中,数据传递时是怎么封装和解封装的

 我来答
芜湖电小二
推荐于2017-05-19 · TA获得超过4987个赞
知道大有可为答主
回答量:2642
采纳率:0%
帮助的人:1033万
展开全部
在了解封装和解封装之前,你必须要知道什么是协议数据单元(PDU)!
在OSI七层模型或者TCP/IP协议栈的每一层都有一个PDU,各层的PDU负责属于所在层的功能。
因为所有的网络设备都是基于OSI和TCP/IP标准开发的,所以这些PDU在数据传递的过程中,各个厂家的网络设备都可以识别。
如下面两张图,分别是OSI参考模型和TCP/IP协议栈在各层加上PDU后的封装格式:
OSI的各层的PDU封装如下:

TCP/IP各层的PDU封装如下:

数据封装:
数据的封装,就是在用户发出的原始数据上,从最上层应用层开始,每层在把数据递交给下层之前,先添加上该层的PDU。使这个用户的原始数据包具有所有层次的功能属性,用来帮助该数据完成传递。
例如:
现有一个项目,需要由销售部、技术部、财务部、工程部来协同完成。
首先,该项目由老板提出,由技术部在这个想法的基础上给出解决方案,再由财务部在解决方案的基础上进行项目经费预算,工程部在经费预算的基础上选择合适的零部件来完成产品的加工,然后由销售部门将产品销往各地。
在这个项目的整个完成过程中,各个部门各兼所职,但是缺一不可,而且整个项目的流程都是固定的,依次要经过老板技术部财务部工程部销售部,才能完成。
这些部门就好比OSI或者TCP/IP的层次,每个层次各兼所职,缺一不可,且流程固定。
数据解封装:
将收到的数据,逐层来解读该层的PDU,看看与本台电脑上的每层所负责的信息或者服务是否匹配,如果匹配,则会将数据的PDU在每层解开,最终剩下里面的原始数据。
OSI的封装过程如下:
用户准备好要传出去的原始数据
加上应用层PDU
表加上示层PDU
加上会话层PDU
加上传输层PDU
加上网络层PDU
加上数据链路层PDU
将数据帧转成bit流从物理层传出
OSI的解封装过程如下:
从物理层收到bit流,转成数据帧交给数据链路层
去掉数据链路层PDU
去掉网络层的PDU
去掉传输层的PDU
去掉应用层的PDU
得到原始数据
TCP/IP的封装过程如下:
用户准备好要传出去的原始数据
加上应用层PDU
加上传输层PDU
加上网络层PDU
加上数据链路层PDU
转成bit流从物理层传出
TCP/IP的解封装过程如下:
从物理层收到bit流,转成数据帧交给数据链路层
去掉数据链路层PDU
去掉网络层的PDU
去掉传输层的PDU
去掉应用层的PDU
得到原始数据

参考:http://www.ctowhy.com/117.html
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式