news 2026/7/22 13:48:24

Linux Wlan L3~L2封包逻辑详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux Wlan L3~L2封包逻辑详解

拓扑及配置

分析流程

  • PC1去ping 外网的server,发送数据包的L2地址(MAC地址)及L3地址(IP地址) 应该如何变化?

组包结果

  • PC发送封包
  • PC接收封包

抓包验证

  1. PC1 发送ping包
  2. SERVER端接收包
  3. SERVER reply 包
  4. PC接收reply包

上面我们分发送和接收简单介绍了L2和L3的封包逻辑,是按照什么依据呢?

  1. IP地址是端到端的
    源IP:电脑发出时是 192.168.10.2,经过路由器NAT后变成公网IP 10.0.0.1
    目的IP:始终不变(发送包情况)
  2. MAC地址是逐跳的
    每经过一个路由器,源、目的MAC地址完全重写,拆开外层MAC → 查路由表 → 包装新MAC → 转发

流程梳理

  1. ping触发后,如果是域名,则触发DNS --> IP地址
  2. 主机判定ip地址是否属于本机,若不属于,查询路由表确定下一跳IP
  3. 查询ARP缓存,确定吓一跳MAC
  4. 填入目的MAC,
  5. 接口转发
我们深入代码,主要关注负责获取邻居的MAC地址并通过邻居子系统发送数据包


在这里我们就不加入路由模块参与讨论了

  1. IP层到链路层转换的关键桥梁
  2. 确定用于查找邻居缓存的目标IP地址

    rt_gw4为网关地址,192.168.10.1

  3. 查询内核的ARP哈希表

    哈希值计算


在这里,我们不讨论创建邻居项的分路:

什么是邻居子系统?

邻居子系统是Linux内核网络协议栈中的一个核心组件,它负责管理同一局域网中相邻设备之间的地址映射关系。换句话说,它的主要工作就是:把IP地址(三层)转换成MAC地址(二层)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 13:40:04

游戏画质提升工具:DLSS Swapper优化指南

游戏画质提升工具:DLSS Swapper优化指南 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 在PC游戏体验中,画质与性能的平衡始终是玩家面临的核心挑战。尤其当新游戏对硬件要求日益提高时&#xf…

作者头像 李华
网站建设 2026/7/16 6:48:44

DRG Save Editor全能工具零基础完全指南

DRG Save Editor全能工具零基础完全指南 【免费下载链接】DRG-Save-Editor Rock and stone! 项目地址: https://gitcode.com/gh_mirrors/dr/DRG-Save-Editor DRG Save Editor是一款专为《深岩银河》玩家打造的全能存档编辑工具,能够帮助玩家自由调整游戏中的…

作者头像 李华
网站建设 2026/7/19 18:11:08

亲测阿里MGeo模型,中文地址匹配效果惊艳实录

亲测阿里MGeo模型,中文地址匹配效果惊艳实录 1. 开场直击:当“北京朝阳建国路88号”遇上“北京市朝阳区建国路88号大厦”,它真的认出来了 你有没有遇到过这样的情况? 用户在App里填了“上海徐汇漕河泾园区”,后台系统…

作者头像 李华
网站建设 2026/7/19 19:48:13

YOLOv9训练周期长?epochs/close-mosaic参数优化实战

YOLOv9训练周期长?epochs/close-mosaic参数优化实战 你是不是也遇到过这样的情况:启动YOLOv9训练后,盯着终端日志等了大半天,发现loss曲线还在“原地踏步”,验证mAP迟迟不见起色,而训练时间已经快赶上一次…

作者头像 李华
网站建设 2026/7/8 10:05:43

实测fft npainting lama性能,修复一张图只要10秒

实测FFT NPainting LaMa性能,修复一张图只要10秒 本文不涉及任何傅里叶变换原理推导,不讲解频域分析,不讨论DFT/DFS/FFT数学关系——我们只关心一件事:这张图,能不能修好?修得快不快?效果稳不稳…

作者头像 李华
网站建设 2026/7/19 19:55:37

JLink驱动支持多核MCU调试的操作实践案例

以下是对您提供的技术博文进行 深度润色与结构化重构后的专业级技术文章 。全文已彻底去除AI生成痕迹,强化工程语境、实战逻辑与教学节奏,语言更贴近资深嵌入式工程师的表达习惯——既有“踩坑”经验的坦率分享,也有底层机制的精准拆解&…

作者头像 李华