运维开发网

封装和解封装

运维开发网 https://www.qedev.com 2020-08-18 10:23 出处:51CTO 作者:wx5c6cc76c3fd06
一:数据封装1.封装与解封装封装:是从应用层-传输层-网络层-链路层-物理层(从上到下的过程)数据应用层数据传输层应用层数据---添加源端口和目标端口网络层传输层应用层数据---添加源IP和DIP链路层网络层传输层应用层数据---添加源MAC和DMAC通过比特流进行传输每层数据解析:应用层(APP报头)--数据传输层(TCP&UPD报头+端口)--数据段网络层(原IP地址和目标端口)---

一:数据封装

1.封装与解封装

封装:是从应用层-传输层-网络层-链路层-物理层(从上到下的过程)

数据

应用层 数据

传输层 应用层 数据 ---添加源端口 和目标端口

网络层 传输层 应用层 数据 ---添加源IP 和DIP

链路层 网络层 传输层 应用层 数据 ---添加源MAC 和DMAC

通过比特流进行传输

每层数据解析:

应用层(APP报头)--数据

传输层(TCP&UPD报头+端口)--数据段

网络层(原IP地址和目标端口)---数据包

链路层(源MAC地址和目标MAC地址)--数据帧

物流层(转换层0和1的bit流进行传递)--bit

封装和解封装

注意点:

链路层当中有一个type字段 用来表示我上一层是IP协议呢 还是IPv6协议呢 还是IPX协议

网络层当中有一个protocol字段 用来表示上层是TCP呢 还是UDP呢

传输层当中有一个Dport字段 用来表示上层是telnet呢?还是SSH呢?还是FTP呢等等

2:解封装

是从物理层-链路层-网络层-传输层-应用层

数据(你好)

链路层 网络层 传输层 应用层 数据 ---添加源MAC 和DMAC

网络层 传输层 应用层 数据 ---添加源IP 和DIP

传输层 应用层 数据 ---添加源端口 和目标端口

应用层 数据

数据

封装和解封装

注意点:

解封装到链路层的时候 当发现DMAC地址 是我自己的时候 我会继续向上解封装

解封装到网络层的时候 当发现DIP地址是我地址 我会继续向上解封装

解封装传输层的时候 当发现Dport是某某的时候 我会交给某一个应用程序进行处理

0

精彩评论

暂无评论...
验证码 换一张
取 消