局域网通信原理 --- IP与MAC与ARP与交换机(更新)
在这部分能学到今天学的比较多网络参考模型复习OSI七层TCP/IP模型每层负责什么IP与MAC的角色区别IP网络层逻辑地址负责定位主机MAC数据链路层物理地址负责局域网传输ARP协议为什么知道IP还需要MACARP如何连接网络层和数据链路层二层交换机原理根据MAC地址表转发学习MAC地址不关心IP三层交换机引入MAC转发 vs IP路由同网段通信 vs 跨网段通信Ping实验分析ICMPARPEthernet帧抓包分析复习首先通过前面的 网络参考模型 知道数据传输经过各种层osi应用层表示层会话层传输层网络层数据链路层还有物理层tcp/ip的传输层 网络层 网络层 网络接口层引入ip与mac与交换机然后ip这块的话主要是用到osi或者 tcp/ip 的网络层给数据包打上ip封装然后传输等在实验中我发现还需要用到osi 数据链路层 或者 tcp/的 网络接口层的mac地址实验这里用的是二层交换机工作在数据链路层根据MAC地址转发数据的交换机他并不关心ip是多少 所以这里查询mac是很有必要的拓展一下三层交换机是什么后面不同网段的时候要用到三层交换机简单理解二层交换机 路由功能也就是说它同时会看MAC二层MAC → 端口也会看IP三层IP → 下一跳例如普通二层交换机PC1 | SW | PC2只能同网段通信。例如192.168.1.10 ↓ 192.168.1.20可以。但是192.168.1.10 ↓ 192.168.2.20不行。因为需要路由。三层交换机可以VLAN10 192.168.1.0 三层交换机 VLAN20 192.168.2.0它内部有路由接口。所以可以实现不同网络通信。二层交换机和三层交换机区别二层交换机三层交换机工作层二层二层三层依据MACMACIP主要功能局域网交换交换路由能否跨网段不能可以是否有路由表没有有典型用途接入层核心/汇聚层实验开始根据chatgpt给我的实验来体验一下发送数据1.拓扑就是弄成图上这样使用的是s5700二层交换机2.配置pc1 为 192.168.1.10pc2 为 192.168.1.20掩码都是255.255.255.03. ping 然后查询mac地址使用 ping 和arp -a 命令现在成功找到 192.168.1.20这个目标了网络层然后 也能查到他的mac地址数据链路层、网络接口层由此看出 arp 是连接 网络层 和数据链路层的协议太牛逼了交换机后台system-view 系统视图然后 display mac-address 来查询可以看到 这个交换机这里他只有对应接口 的mac地址根本没有ip地址ge0/0/1 对应 pc1 对应了 5489-98ea-4120pc2同理抓包看看ping你抓包看到Ethernet II 第二行 IPv4 第三行 ICMP 第四行对应二层 Ethernet MAC 三层 IP ICMP形成一个非常重要的网络工程思维ai说的以后再说嘻嘻以后看到问题二层问题看MAC ARP VLAN 交换机例如MAC表有没有VLAN是否正确端口是否UP三层问题看IP 路由 网关例如IP是否正确掩码是否正确路由表有没有深入理解数据发送过程1.pc1 进行 ping192.168.1.20他有两个问题 a.已经知道目标 ip 192.168.1.20b. 不知道目标MAC 因为 二层通信必须要目标mac2.查看是否是同网段具体怎么判断见前一个帖子pc1判断 对方是否和自己是一个网段是同一个局域网找mac地址不是需要设置网关了3. 查看arp缓存寻找mac地址PC1pc1 查看自己的arp表arp -a有则数据封装没有一次通信都没有则开始 进入arp过程PC1生成ARPRequest内容谁是192.168.1.20 请告诉192.168.1.10你的MAC地址但是问题PC1不知道PC2 MAC。所以二层目的MAC写FF-FF-FF-FF-FF-FF也就是广播。完整源MAC: AA-AA-AA 目的MAC: FF-FF-FF-FF-FF-FF 源IP: 192.168.1.10 目标IP: 192.168.1.20交换机交换机收到这个数据帧。先学习看源MACAA-AA-AA来自GE0/0/1于是记录MAC表AA-AA-AA GE0/0/1然后看目的MACFF-FF-FF-FF-FF-FF发现这是广播。所以除了进入端口以外全部发送。例如PC1 --- SW ----PC2 ----pc3 ----pc4PC2PC2收到ARP请求PC2看到目标IP192.168.1.20是自己。于是回复。生成ARPReply内容192.168.1.20的MAC是BB-BB-BB这个回复不是广播。因为PC2已经知道PC1 MAC。所以单播回去给pc1源MAC: BB-BB-BB 目标MAC: AA-AA-AA回复交换机转发ARP Reply交换机收到源MACBB-BB-BB学习BB-BB-BB 对应GE0/0/2目的AA-AA-AA查MAC表发现AA-AA-AA GE0/0/1于是直接发送。PC1更新ARP表PC1现在知道192.168.1.20 对应 BB-BB-BB保存ARP缓存192.168.1.20 | | BB-BB-BB现在终于可以发送ping。4.真正的开始发送ping了Ping使用ICMP协议PC1生成ICMP Echo Request。然后开始封装。加IP头增加源IP: 192.168.1.10 目的IP: 192.168.1.20变成IP数据包加MAC头增加源MAC: AA-AA-AA 目的MAC: BB-BB-BB形成Ethernet帧最终---------------- | 目的MAC BB | | 源MAC AA | ---------------- | 目的IP .20 | | 源IP .10 | ---------------- | ICMP Echo | ----------------交换机转发Ping交换机收到。查看目的MACBB-BB-BB查询MAC表BB-BB-BB GE0/0/2所以只发送给PC2。注意这一次不是广播。不是泛洪。是单播。PC2收到PingPC2发现目的IP192.168.1.20是自己。交给操作系统。ICMP模块处理。发现有人ping我。于是生成ICMP Echo Reply。回复过程反方向PC2IP: 192.168.1.20 MAC: BB-BB-BB发送↓交换机↓PC1最后PC1收到Reply from 192.168.1.20到此已经 理解完一次通信的过程了中间提到了一个名词泛洪到底是什么其实就是 中间交换机把目标mac地址发送给全部端口的过程前面提到过泛洪又有两种情况第一pc 给的mac广播地址不是ip的广播地址目标MAC是FF-FF-FF-FF-FF-FF这个地址算一个特殊的目标为全部人的地址叫广播泛洪。例如ARP Request。第二目标MAC 不是广播但是MAC表没有。叫未知单播泛洪。例如pc1 这次不发 ffffff这个地址了他知道并且直接让交换机找 bb-bb-bb-bb但是交换机里没有pc2 的这个bb记录所以继续泛洪局域网通信流程图总结

相关新闻

Go 1.25 vs 1.24 版本差异与最佳实践:一个真实项目的降级实践

Go 1.25 vs 1.24 版本差异与最佳实践:一个真实项目的降级实践

2025年8月,Go 1.25 正式发布,带来了一系列令人兴奋的新特性。然而,对于许多企业和开发者来说,升级到新版本并非一蹴而就的事情。本文将以 Templ 项目(一个流行的 Go HTML 模板引擎)的真实降级实践为案例&am…

2026/10/18 6:37:37 阅读更多 →
C语言中的流程控制1(分支结构)

C语言中的流程控制1(分支结构)

昨天我们了解了常用的输入输出函数,今天我们来了解C语言中的流程控制。 程序默认都是顺序结构,从上到下一行一行执行。但现实里很多场景需要做判断,这时就要用到分支结构。 先说说关系运算符和逻辑运算符,这是所有判断的基础。>…

2026/10/15 21:20:47 阅读更多 →
字节跳动高级Android面经:Handler同步屏障、Binder一次拷贝,底层机制你扛得住吗

字节跳动高级Android面经:Handler同步屏障、Binder一次拷贝,底层机制你扛得住吗

中级那篇发出去之后评论区炸了,有人说"源码读过了,底层机制心里没底"。高级岗面试确实不一样——面试官不关心你会不会用API,关心你理不理解Android系统怎么跑起来的。 今天这6道题全是字节高级岗的硬核题,每道都能深聊20分钟以上,面试官会从你的回答判断你的技…

2026/10/15 21:20:59 阅读更多 →

最新新闻

UNet+NEU-DET实战:钢材表面缺陷检测与语义分割

UNet+NEU-DET实战:钢材表面缺陷检测与语义分割

简介:面向工业质检领域深度学习入门与实战的钢材表面缺陷检测项目,基于UNet网络和NEU-DET数据集构建完整检测流程,覆盖划痕、凹坑、夹杂等典型缺陷的自动识别与分割。资源包共2000个文件,包含1800个xml标注文件和180个jpg图像样本…

2026/10/18 6:37:53 阅读更多 →
LF-AI-STREAM:面向本地化AI工程的可验证资源契约体系

LF-AI-STREAM:面向本地化AI工程的可验证资源契约体系

简介:LF-AI-STREAM-AI人工智能资源是一套面向物联网视频智能分析开发者的GB28181标准兼容解决方案,聚焦AI赋能的实时流媒体处理与设备协同控制,适用于安防监控、边缘智能分析等工业级应用场景,适合具备Java后端开发与Vue前端基础的…

2026/10/18 6:37:53 阅读更多 →
OpenClaw:一条自然语言指令搞定重复工作的AI自动化助手

OpenClaw:一条自然语言指令搞定重复工作的AI自动化助手

重复性的工作有多烦人?我在一个团队里做过两年运营,每天三分之一的时间都花在整理表格、汇总信息、转格式、发通知上。这类事情本质上不难,但就是机械、费时、容错率低。后来我把这些场景全部交给了一个叫 OpenClaw 的 AI 小助手,…

2026/10/18 6:37:53 阅读更多 →
Go+React自托管WebSocket通知服务:零依赖实时推送实现

Go+React自托管WebSocket通知服务:零依赖实时推送实现

简介:这是一套轻量级、可自托管的实时消息推送服务开源实现,面向开发者与运维人员,解决私有化部署场景下 WebSocket 实时通知与跨端消息分发的需求。项目采用 Go 语言构建后端服务,搭配 React TypeScript 前端 UI,支持…

2026/10/18 6:37:53 阅读更多 →
MySQL实时增量同步方案:Canal+Kafka+Spark Streaming实战详解

MySQL实时增量同步方案:Canal+Kafka+Spark Streaming实战详解

写这篇东西的起因,是我去年接手了一个实时数据监测需求。业务方希望在订单数据写入MySQL后,几百毫秒内就能同步到下游分析系统,让运营侧实时看到各省份的销量和库存压力。当时我第一反应是,这不就是典型的“数据库CDC 消息队列 …

2026/10/18 6:37:53 阅读更多 →
.NET 10 Blazor WASM缓存自动清除机制详解与迁移指南

.NET 10 Blazor WASM缓存自动清除机制详解与迁移指南

做 Blazor WASM 项目这些年,我对官方的每次改版都是又期待又忐忑。期待是因为 C# 写前端的体验确实独一份,忐忑是因为每次发版之后,总有几个用户跑来反馈“还是旧数据”“页面白屏”“功能点了没反应”。排查到最后,十有八九都是浏…

2026/10/18 6:36:53 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →