尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

局域网通信原理 --- IP与MAC与ARP与交换机(更新)

局域网通信原理 --- IP与MAC与ARP与交换机(更新)
📅 发布时间:2026/7/26 6:10:18

在这部分能学到,今天学的比较多

  • 网络参考模型复习
    • OSI七层
    • TCP/IP模型
    • 每层负责什么
  • IP与MAC的角色区别
    • IP:网络层逻辑地址,负责定位主机
    • MAC:数据链路层物理地址,负责局域网传输
  • ARP协议
    • 为什么知道IP还需要MAC
    • ARP如何连接网络层和数据链路层
  • 二层交换机原理
    • 根据MAC地址表转发
    • 学习MAC地址
    • 不关心IP
  • 三层交换机引入
    • MAC转发 vs IP路由
    • 同网段通信 vs 跨网段通信
  • Ping实验分析
    • ICMP
    • ARP
    • Ethernet帧
    • 抓包分析

复习

首先,通过前面的 网络参考模型 知道

数据传输经过各种层

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

它内部有:

路由接口。

所以:

可以实现:

不同网络通信。

二层交换机和三层交换机区别

二层交换机

三层交换机

工作层

二层

二层+三层

依据

MAC

MAC+IP

主要功能

局域网交换

交换+路由

能否跨网段

不能

可以

是否有路由表

没有

有

典型用途

接入层

核心/汇聚层




实验开始

根据chatgpt给我的实验,来体验一下发送数据

1.拓扑(就是弄成图上这样)

使用的是s5700二层交换机

2.配置

pc1 为 192.168.1.10

pc2 为 192.168.1.20

掩码都是255.255.255.0

3. ping 然后查询mac地址

使用 ping 和arp -a 命令

现在成功找到 192.168.1.20这个目标了(网络层)

然后 也能查到他的mac地址(数据链路层、网络接口层)

由此看出 arp 是连接 网络层 和数据链路层的协议太牛逼了

交换机后台

system-view 系统视图

然后 display mac-address 来查询

可以看到 这个交换机这里

他只有对应接口 的mac地址根本没有ip地址

ge0/0/1 对应 pc1 对应了 5489-98ea-4120

pc2同理

抓包看看

ping

你抓包看到:

Ethernet II 第二行 IPv4 第三行 ICMP 第四行

对应:

二层: Ethernet + MAC 三层: IP + ICMP

形成一个非常重要的网络工程思维(ai说的以后再说,嘻嘻)

以后看到问题:

二层问题:

看:

MAC ARP VLAN 交换机

例如:

  • MAC表有没有
  • VLAN是否正确
  • 端口是否UP

三层问题:

看:

IP 路由 网关

例如:

  • IP是否正确
  • 掩码是否正确
  • 路由表有没有

深入理解数据发送过程

1.pc1 进行 ping

192.168.1.20

他有两个问题: a.已经知道目标 ip 192.168.1.20

b. 不知道目标MAC 因为 二层通信必须要目标mac

2.查看是否是同网段(具体怎么判断见前一个帖子)

pc1判断 对方是否和自己是一个网段

是,同一个局域网,找mac地址

不是,需要设置网关了

3. 查看arp缓存,寻找mac地址

PC1

pc1 查看自己的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

交换机

交换机收到这个数据帧。

先学习:

看源MAC:

AA-AA-AA

来自:

GE0/0/1

于是记录:

MAC表:

AA-AA-AA GE0/0/1

然后看目的MAC:

FF-FF-FF-FF-FF-FF

发现:

这是广播。

所以:

除了进入端口以外:

全部发送。

例如:

PC1 --- SW ----PC2 ----pc3 ----pc4

PC2

PC2收到ARP请求

PC2看到:

目标IP:

192.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

交换机收到:

源MAC:

BB-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

交换机收到。

查看:

目的MAC:

BB-BB-BB

查询MAC表:

BB-BB-BB GE0/0/2

所以:

只发送给PC2。

注意:

这一次:

不是广播。

不是泛洪。

是:

单播。


PC2收到Ping

PC2发现:

目的IP:

192.168.1.20

是自己。

交给操作系统。

ICMP模块处理。

发现:

有人ping我。

于是生成:

ICMP Echo Reply。


回复过程

反方向:

PC2:

IP: 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记录,所以继续泛洪

局域网通信流程图总结

相关新闻

  • 专科生论文写作神器:智能工具全解析
  • HarmonyOS ArkTS API 24+ 实战:构建、安装并验证 M1 首个可运行版本
  • ScrapeGraphAI:自然语言驱动的智能爬虫开发实践

最新新闻

  • 深入解析TI AM261x PKE引擎:从硬件架构到ECC/ECDSA实战避坑指南
  • 如何快速掌握SubtitleEdit:免费开源字幕编辑工具的完整指南
  • SpringBoot+Vue 助农管理系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • 2026 年现阶段,建德正规的调直扁铁批发厂家选哪家,难怪工地师傅效率翻倍,靠的是这玩意儿省了一半工夫还没瞎折腾?-鑫艾腾五金制品 - 企业信息推荐【官方】
  • AI高效协作:超越提示词的五大实战方法
  • 郑州暴雨季房屋漏水高发如何应对?2026中原城市防水施工时机与团队选择 - 雨婺虹房屋维修

日新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号