嵌入式网络的基础知识 -- 数据包的组装、拆解、各头部格式

视频学习链接如下:https://www.bilibili.com/video/BV1qf4y1D7NU?p=11&spm_id_from=333.880.my_history.page.click.

数据在各层的组包、解包

在这里插入图片描述

组包过程

组包过程就是一层层封装头部的过程。

解包过程

解包过程就是一层层解析头部的过程。

当主机 B 接收到主机 A 的帧数据后,并且当帧数据到达数据链路层,数据链路层便开始解析帧数据中的 MAC 头信息,解析过程是判断 MAC 头中的地址是否与当前主机的 MAC 地址一致。如果一致,就继续处理。此外,链路层也只能查看 MAC 头,而不能查看其他头。

数据链路层处理之后,它会把已经解析的 MAC 头给去掉,剩下的报文(帧数据)到达网络层,网络层只能解析 ip 头,解析过程是判断 ip 头中的地址是否与当前主机的 ip 地址一致。同样的,网络层也只能查看 ip 头,而不能查看其他头。处理完之后,它也会把已经解析的 ip 头给去掉,剩下的报文(帧数据)到达传输层。

传输层只能解析 TCP/UDP 头,解析过程是判断 TCP/UDP 头中的端口号是否与当前主机中正在与之通信的应用程序的端口对应。同样的,传输层也只能查看 TCP/UDP 头,而不能查看其他头(还剩下用户数据)。处理完之后,它也会把已经解析的 TCP/UDP 头给去掉,剩下的报文(帧数据,还剩下用户数据)到达接收应用进程。

数据链路层封包(以太网头部)格式

在这里插入图片描述
目的地址是 接收主机 的 MAC 地址
源地址是 发送主机 的 MAC 地址

无线封装头不需要去关心,因为最终会转换为以太网封装头。所以,这里只关心以太网封装头。

下面,来说一说类型这一项,我们看下图
在这里插入图片描述
当帧数据到达数据链路层(硬件接口)之后,会有三条路可以走,即ARP、 IP、RARP。这就相当于是一个十字路口,接下来往哪边走就由这个"类型"值来决定。比如类型值为 0x0800,就说明是ip数据报,就应该往网络层走。

网络层封包(ip 头部)格式

在这里插入图片描述
上图中,IP 数据报的每一行都是四个字节(32位)。

数据一项则要么是UDP数据报,要么是TCP数据报。

下面,来说一说协议这一项,我们看下图
在这里插入图片描述
从上图可以看出,当帧数据到达网络层之后,会有四条路可以走,即ICMP、 TCP、UDP、IGMP。接下来往哪边走就由这个协议来决定。这又相当于是一个十字路口,比如协议值为 6,就说明是TCP数据报,就应该往传输层走。

传输层封包(ip 头部)格式

在这里插入图片描述
上图中,UDP 和 TCP 数据报的每一行都是四个字节(32位)。

正是因为 TCP 数据报 的格式参数多,所以才能保证通信的可靠性和准确性。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuechanba

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值