新闻详情

新闻详情

首页 / 资讯中心 / 详情

交换机与路由器分工详解:MAC地址、IP地址与转发机制

发布时间:2026/9/28 5:27:27来源:尧图网络
交换机与路由器分工详解:MAC地址、IP地址与转发机制
刚接触网络设备的朋友十有八九会在交换机和路由器之间犯迷糊。两台电脑插在同一个交换机上为什么能直接互访换到一个路由器下面为什么还要配IP地址、设网关才能上网MAC地址、IP地址、交换机、路由器这几个词拆开看都认识合在一起就成了一团乱麻。这篇文章一次说透这四个东西到底各管哪一段数据从一台电脑到另一台电脑中间发生了什么。这是网络里最基础、也最值得花时间搞明白的一套东西。不管你是做运维、搞开发、玩智能家居还是只是想把自己家里的网络弄明白理解了这套转发逻辑后面再学VLAN、路由协议、防火墙规则都会顺很多。我尽量用实际排查问题的视角来讲不堆术语该给命令给命令该画流程画流程保证看完你能自己动手查问题。1. 先搞清楚一个核心问题数据到底靠什么找到对方1.1 两个地址分工完全不同网络通信里有两个地址体系MAC地址和IP地址。很多人一开始搞混是因为它们都叫地址但负责的事情完全不一样。MAC地址是网卡出厂时烧录的硬件地址48位通常写成xx:xx:xx:xx:xx:xx的形式理论上全球唯一。它解决的是同一根线缆上的设备怎么找到彼此这个问题。注意这个同一根线缆——MAC地址只在同一个局域网里有效数据出了这台交换机MAC地址就管不着了。IP地址是逻辑地址32位IPv4它解决的是互联网上哪台设备这个问题。IP地址是有层级结构的可以跨网段寻址就像快递的收件地址一样国家、城市、街道逐级定位。关键是IP地址是可以改的也是可以重复规划的只要不在同一个网段里冲突就行。一句话总结MAC地址是本地找人的门牌号IP地址是全球定位的坐标。数据在本地传递靠MAC跨网段寻路靠IP。1.2 交换机管本地路由器管跨网交换机工作在二层也就是数据链路层。它只认MAC地址不关心IP地址。你给它发一个IP数据包它眼睛都不眨一下直接看目的MAC地址查到对应端口就发过去查不到就广播出去。整个过程跟IP地址半毛钱关系都没有。路由器工作在三层也就是网络层。它只认IP地址关心目的IP在哪个网段下一跳应该发给谁。但这里有个容易被忽略的点路由器真正把数据从物理口发出去的时候底层仍然要靠MAC地址封装。也就是说路由器决定往哪走是靠IP但实际走哪条路还是靠MAC。所以这两个设备不是替代关系是配合关系。交换机负责一个区域内的快速转发路由器负责把这个区域和外面连起来。常见的网络拓扑就是这样终端设备接交换机交换机接路由器路由器接上级网络。2. 交换机MAC地址表是怎么建立起来的2.1 五步搞定一个数据帧的转发交换机不像路由器那样查路由表它查的是MAC地址表也叫CAM表。这张表维护着哪个MAC地址在哪个端口的对应关系。表不是预先配好的是设备通电后自己学出来的。我拿一个最经典的场景说A机器MAC为AA和B机器MAC为BB接在同一台交换机上A向B发数据。过程分成五步A发出数据帧源MAC是AA目的MAC是BB。交换机收到帧先把AA在端口1这个信息记到MAC表里。交换机查MAC表找BB结果发现表里没有。此时它会把这个帧从除了接收端口以外的所有端口广播出去。B收到帧发现自己就是目的MAC于是回包。回包的源MAC是BB目的MAC是AA。交换机收到B的回包学习到BB在端口2再查表发现AA在端口1直接精准转发。这就是交换机的学习过程广播未知单播帧收到回包时学习源MAC。一旦双方都通信过这条走向就全通了后续数据不再广播。MAC地址表是有老化时间的华为交换机默认300秒也就是5分钟超过时间没有流量更新这张表项就会被清掉下次通信重新学习。2.2 怎么实际查看MAC地址表空讲理论容易飘实际查一遍就全明白了。在华为交换机上查看MAC地址表的命令是display mac-address输出会列出一堆表项包含MAC地址、VLAN、端口、类型动态/静态/黑洞。如果A机器刚ping过B机器你立刻在这个输出里能看到AA和BB对应的端口。如果表里没找到某台设备的MAC或者MAC对应端口不对那八成就是通信链路有问题或者数据根本没到这台交换机上。Linux主机上也可以查本机看到的MAC表用bridge fdb show能看到Linux网桥学习的MAC和端口对应关系适合排查虚拟化桥接网络的问题。2.3 交换机的广播域和环路隐患交换机有个特点收到目的MAC不在表里的帧会广播到所有端口。多台交换机连在一起的时候广播域会扩大——所有互连的交换机都在同一个广播域里。日常网络里ARP请求、DHCP发现、NetBIOS这些广播协议很多广播域太大终端就会频繁被无关广播打断导致性能下降。另一个很现实的问题是环路。如果两台交换机之间不小心接了两根网线数据帧会在环路里永久转发广播帧直接形成广播风暴CPU打满网络瘫痪。有一次我在项目里遇到客户反映网络卡成PPT过去一看机房理线的时候多插了一根跳线交换机之间形成环路STP生成树协议没开启整个网络直接崩溃。后来启用STP环路自动阻塞问题立刻消失。所以给交换机做基本配置时务必检查生成树是否开启。华为交换机默认多数型号是开启了STP的但部分老设备或恢复出厂后可能没开。这个检查项一定要加在新设备上线检查清单里。3. 路由器IP寻址和ARP才是真正的主角3.1 IP地址、子网掩码和网关的三角关系要理解路由器先要理解IP地址的几个核心概念。以192.168.1.100/24为例/24表示子网掩码是255.255.255.0意思是前24位是网络号后8位是主机号。网络号部分决定了这台设备在哪个网段里。同一网段的设备通信不需要路由器直接靠MAC地址就能完成。不同网段的设备通信必须经过路由器。这就是网关存在的意义它是本网段通往其他网段的出口通常就是路由器的接口地址。举个例子A的IP是192.168.1.10/24B的IP是192.168.2.10/24A和B不在同一个网段A要访问B就必须把数据先发给网关192.168.1.1网关再通过路由转发到192.168.2.x网段。如果A的网关配错了比如配成了192.168.1.254但路由器实际接口是192.168.1.1那A发出去的数据就是石沉大海。排查网络故障第一件事永远是确认IP、掩码、网关三者是否自洽。3.2 路由表路由器怎么选路路由器转发数据的依据是路由表。你可以在路由器上执行display ip routing-table查看。每个表项包含目的网段、掩码、下一跳、出接口。当收到一个数据包时路由器会查找路由表选择最精确匹配的那条路由这叫最长前缀匹配。打个比方你要去一个叫阳光小区的地方路牌上既写着往市区方向走又写着往阳光小区方向走你肯定走后者因为更精确。路由器也是这样目的IP既匹配0.0.0.0/0默认路由又匹配192.168.1.0/24这条路由它一定走192.168.1.0/24因为掩码更长、匹配更精确。默认路由0.0.0.0/0是所有路由兜底的出口通常指向运营商的设备。家用路由器拨号成功后自动获得运营商分配的IP同时生成一条默认路由指向运营商网关这也是家用路由器和企业路由器的最根本区别——企业路由器上一堆静态路由和动态路由协议家用路由器基本就一条默认路由。3.3 ARP把IP地址翻译成MAC地址的关键协议这是整个网络模型里最容易被忽略的环节但恰恰是排查问题最多的地方。数据包在网络层有了源IP和目的IP到数据链路层需要源MAC和目的MAC。问题来了源MAC是我自己网卡的目的MAC从哪来我知道目的IP是192.168.1.100但它的MAC是什么这时候ARPAddress Resolution Protocol就登场了。它会发一个广播包谁是192.168.1.100请告诉192.168.1.10。 目的设备收到后回复一个单播我是192.168.1.100我的MAC是BB。 请求方收到回复后把IP和MAC的对应关系写进ARP缓存表。在Windows上执行arp -a就能看到这张表在Linux上是ip neigh在华为交换机上是display arp。每次通信前先查ARP缓存没有缓存就发ARP请求。所以你在交换机上经常能看见大量的ARP广播流量这在局域网里是正常的。需要特别注意的是ARP有个天然的缺陷——它是无状态的不验证请求的真实性。如果局域网里有设备伪造ARP应答说我是网关所有设备的流量都会跑过去被截获这就是ARP欺骗攻击。企业网络里防ARP攻击是比较基础的安全需求核心交换机上一般会开DHCP Snooping和动态ARP检测家用网络则要留意是否有陌生设备接入。4. 完整流程跨设备、跨网段访问到底经历了什么4.1 同一交换机下的两台设备互访这是最简单的场景但把它看透后面复杂场景才能理解。A访问B同一台交换机上同一个网段。第一步A检查目的IP和本机IP是否在同一网段。怎么判断拿子网掩码一算就知道。本例中A和B都是192.168.1.x/24同段所以A不需要找网关直接通过ARP得到B的MAC地址。第二步A把数据封装成帧源MAC是A网卡的MAC目的MAC是B的MAC。交换机收到帧后查MAC表精准转发给B所在的端口。整个过程IP几乎不参与交换机和B都不关心目的IP是什么。这就是同段通信靠MAC的含义。4.2 同一台交换机下但不同网段的两台设备互访这里有个经典误区。A是192.168.1.10/24B是192.168.2.10/24哪怕两台设备插在同一台交换机上也无法直接通信。A发现目的地不在自己网段就会把数据包发给自己的网关192.168.1.1。如果这个网关上没有通往192.168.2.0/24的路由包就丢了。所以同一台交换机下不通未必是交换机坏了看看两边IP是不是同网段。这种情况在真实的办公环境里经常发生。比如部门A用192.168.1.0/24部门B用192.168.2.0/24都接入同一台三层交换机。要让它们互通就得在这台三层交换机上配置两个VLAN对应的网段地址同时开启VLAN间路由或者加一台路由器做中转。4.3 跨路由器的完整路径现在看最典型的企业网拓扑A在192.168.1.0/24C在192.168.3.0/24中间经过两台路由器R1和R2。A访问C完整路径如下A检查目的IP192.168.3.10不在本网段于是查ARP表找网关192.168.1.1的MAC把数据帧的目的MAC写成R1接口的MAC源MAC写成自己的MAC发送到交换机。交换机一看目的MAC是R1直接转发给R1。R1解开帧看到目的IP是192.168.3.10查路由表发现去往192.168.3.0/24需要从自己的192.168.2.1接口发出下一跳是192.168.2.2也就是R2。R1把数据帧重新封装源MAC改成自己192.168.2.1接口的MAC目的MAC改成R2在192.168.2.2的MAC通过ARP获取从对应接口发出去。R2收到解帧查路由表发现C在自己直连的192.168.3.0/24网段于是通过ARP获取C的MAC重新封装帧目的MAC改成C的MAC源MAC改成R2接口的MAC发送到交换机交换机转给C。看到关键变化了源IP和目的IP在整个过程中始终不变永远是192.168.1.10和192.168.3.10而源MAC和目的MAC每一跳都在变。IP用于定位终点MAC用于一段一段地把数据往前送。就像快递收件地址IP从头到尾不变但每一段运输车的车牌MAC都是不同的。5. 排查网络故障的实操方法5.1 最常用的ping和tracertping走的是ICMP协议用来测试网络连通性但不能证明服务可用。它能告诉你的只是对端IP能收到你发出的ICMP请求并回包。如果ping不通有几个方向要查先ping自己的IP地址ping 192.168.1.10确认本机网卡和协议栈正常。再ping网关ping 192.168.1.1确认本机到网关的链路没问题。如果这一步都不通查网线、查交换机端口、查IP配置。网关通了ping目标IP。这一步不通问题可能在路由、防火墙或对端设备本身。Windows下ping默认发4个包Linux会一直发按CtrlC才停。跨网段测试时可以加-tWindows连续ping和-S指定源地址来定位问题。tracertLinux下是traceroute用来查看数据包经过了哪些路由器。它能告诉你数据在哪一跳丢失从而定位故障点。执行tracert 192.168.3.10输出的每一行就是经过的一个路由器的IP地址。如果第2跳就超时问题大概率出在第1跳和第2跳之间的链路上。5.2 排查IP地址冲突IP冲突是办公网里特别常见的问题。症状是某台设备时通时不通或者经常有设备弹出IP地址冲突的提示。根源是局域网里有两台设备配了同一个IP数据包会被交换机随机转发给其中一台导致连接不稳定。排查方法很简单。先在交换机上查这台IP对应哪个MACdisplay arp | include 192.168.1.100记录它的MAC地址。然后过一段时间再查一次。如果两次查到的MAC不一样就是这个IP被两台设备交替使用。找到之后用MAC反查端口找到物理位置定位到人。更稳妥的做法是规范IP分配。企业网里建议用DHCP统一分配然后做DHCP绑定把MAC和IP绑死。这样终端设备怎么重启都不会变IP也不会冲突。手动配IP的做法只适合设备数量少、管理能力强的场景设备一多就等着被坑。5.3 查MAC地址的几种姿势Windows下ipconfig /all能看到所有网卡的物理地址getmac也可以直接列出。Linux下用ip link或者ethtool -P eth0查看。不管哪种方式你查到的都是本机网卡的MAC不要跟设备IP混在一起看。交换机上查MAC更常用。华为设备的命令display mac-address display mac-address 0050-7963-6808 display arp锐捷的命令类似关键词换成show mac address-table。登录不上交换机的时候也可以用ARP表来反查在任意一台能ping通目标IP的电脑上执行arp -a就能看到目标IP对应的MAC地址。这种方法在你没有设备账号权限时特别好用。5.4 用抓包定位转发故障配置层面的问题用命令行就能定位但遇到协议交互异常抓包几乎是唯一手段。Wireshark是首选工具可以过滤arp、icmp、tcp等协议直观看数据包的交互过程。有一次排查一个同一交换机下A能ping通B但B ping不通A的诡异问题。抓包发现A发出去的ICMP请求B能收到B的回复也发出来了但A这边收不到。查了半小时最后发现是A的网卡开启了防火墙入站规则把ICMP回显丢弃了。抓包一眼就定位了。这类问题用逻辑推理很难因为每一跳的设备表面上都正常只有看数据流在哪一步断掉才一目了然。所以排查网络问题别只会看配置抓包是必须要掌握的技能。新手抓包别贪多先把ARP和ICMP的交互看明白比什么都强。6. 避坑实录这些年我踩过的网络基础坑6.1 MAC地址表漂移环路的第一症状正常网络里一个MAC地址只会出现在一个端口上。如果交换机日志里频繁出现MAC地址漂移告警基本可以断定网络里有环路。所谓漂移就是同一个MAC地址一会儿从端口1出现一会儿从端口2出现交换机在反复更新MAC表项。去年帮一个工厂处理网络问题生产车间的交换机会定期卡死有时候连管理地址都ping不通。查看日志大量MAC漂移告警。现场检查发现一根网线同时接到了两个机柜的交换机上形成了一个物理环路。虽然交换机开了STP但其中一台老设备的STP配置被误关掉了广播风暴直接把两台交换机的CPU打满。处理方案拔掉冗余线缆把STP配置统一检查一遍问题彻底解决。所以我的习惯是每次新接入交换机或者改动链路第一件事就是看MAC地址表有没有异常漂移然后再看STP状态。6.2 乱改MAC地址小心网关失联网上流传各种修改MAC地址的方法比如改网卡属性里的Network Address值或者用注册表改。这些方法本身是通用的但有个前提你改完的MAC地址不能跟局域网里其他设备重复更不能跟网关冲突。有个真实案例同事为了解决某软件授权问题把笔记本的MAC地址改成了一段奇怪的地址。结果这地址恰好跟公司网关路由器某个接口的MAC一样整个办公室的电脑陆续开始断网。查下来发现是ARP缓存表被搞乱了所有设备都在向那个错误的MAC地址发送数据。最后强制清空所有终端ARP缓存、重启交换机并让他把MAC改回来才恢复。修改MAC地址本身不是问题问题在于改之前要确认地址在本地网络里没有冲突。企业网里不建议随便改MAC尤其是在有DHCP绑定的环境改了MAC会直接导致拿不到IP地址。6.3 路由器console密码遗忘的处理华为AR系列路由器或交换机忘记console密码如果设备支持可以在重启过程中按CtrlB进入BootROM菜单选择一个选项来清除console密码。但要注意这个操作会中断现有业务而且不同版本菜单略有差异。我在现场处理过一次客户因为人员变动没人知道旧密码设备已经上了机柜。我只能在凌晨业务低谷时重启设备进入BootROM菜单清除密码再重新配置账号密码。这是个很实用的技能但一定要走正规流程、提前申请维护窗口别莽撞操作。同时密码必须妥善记录最好放在公司的密码管理库里别只存在某一个人的手机备忘录里。6.4 DHCP分配 vs 手动静态IP的取舍家用网络一般开DHCP就行设备拿到IP自动上网。但有些场景必须手动配静态IP比如打印服务器、视频监控的NVR、NAS。这时候要特别注意手动配置的IP地址一定要排除在DHCP地址池之外否则一个网段里有两个相同IP的设备你永远不知道打印机今天归谁管。举个例子DHCP地址池是192.168.1.100到192.168.1.200你手动给打印机配了192.168.1.100。第二天一台新手机连Wi-Fi恰好分配到了192.168.1.100打印机就出现时而连得上、时而找不到的灵异现象。正确做法是手动配置使用地址池之外的地址比如192.168.1.2到192.168.1.99这段或者在DHCP里给打印机做保留绑定。6.5 ping通不一定是真通ping不通不一定是真不通这句话是我在排查问题里最深的体会。ping通的场景里可能只是对端路由器自己回了包后面的服务完全没运行ping不通的场景里可能是防火墙丢弃了ICMP请求但对应的应用端口TCP是通的。有一次客户说OA系统打不开我ping OA服务器IP通但Web页面就是加载不出来。最后发现是服务器上的Nginx服务崩溃了进程还在端口监听没了。ping通只代表三层可达不代表应用层可用。反过来有些设备默认禁pingICMP请求被防火墙丢弃但其他服务完全正常。判断网络通不通不能只靠ping关键业务端口要测TCP连通性Windows下可以用Test-NetConnectionLinux下用nc -vz或telnet。7. 最后的几点经验之谈做了这么多年网络运维说实话搞懂交换机和路由器的区别不是背定义而是理解它们怎么配合。MAC地址解决的是同一条链路上怎么送IP地址解决的是整个网络里怎么找交换机负责前者路由器负责后者。搞清楚这个逻辑再去看VLAN、ACL、动态路由这些高阶内容会发现底层思路是相通的。我自己排查网络故障积累下来的一套顺序免费分享出来先看物理链路状态网线灯亮不亮交换机端口up还是down再查IP配置掩码网关对不对有没有冲突然后看ARP表目的IP对应的MAC有没有学到最后才是抓包看协议交互。这套流程80%的故障都能快速定位。最后一句话提醒网络里任何一条知识一定要动手试过才算掌握。找两台旧电脑、一台家用路由器和一台网管型交换机自己搭个小实验环境把今天讲的内容全部测一遍比看十篇文章都管用。我以前带新人时就让他们在模拟环境里把交换机查MAC、路由器查IP这个流程做十遍做完对网络的整体认知完全是两个层次。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

多厂商网络设备日志统一采集与可视化分析实战 2026/9/28 7:20:27

多厂商网络设备日志统一采集与可视化分析实战

1. 多厂商日志的"乱",从来不是配置问题接手安全审计和运维排障的人,迟早都会面对这样一幕:为了查一次跨设备的安全事件,同时打开思科、华为、H3C、飞塔、深信服好几个设备的控制台,逐条翻看各自不同格式的日…

阅读更多 →
2026最新ASP网站优化访问速度实战指南 2026/9/28 7:20:21

2026最新ASP网站优化访问速度实战指南

2026最新ASP网站优化访问速度实战指南 别再盯着那些丑到爆的模板网站发呆了,那玩意儿除了占内存就是拖后腿,根本撑不起你的业务。很多老板还在为页面打开慢、用户流失焦虑,却不知道 asp网站优化访问速度…

阅读更多 →
RHCSA备考全攻略:从零搭建环境到考试实战经验 2026/9/28 7:20:21

RHCSA备考全攻略:从零搭建环境到考试实战经验

1. 先弄清楚 RHCSA 到底考的是什么很多人一听说 RHCSA,第一反应是"Linux 认证考试",然后就开始背命令。我见过不少备考者,抱着《红帽官方指南》翻得挺勤快,真到模拟环境里一操作就露馅。原因很简单:RHCSA 不…

阅读更多 →
SSI-COV随机子空间识别:环境激励下模态参数与时域实现 2026/9/28 7:20:07

SSI-COV随机子空间识别:环境激励下模态参数与时域实现

做现场模态测试的工程师大概都有过这种经历:结构明明就在那,环境激励也一直在,但你就是拿不出一份让人信服的阻尼比。频域方法识别频率和振型还说得过去,一碰阻尼比就飘,今天识别出1.2%,明天变成2.8%&#…

阅读更多 →
从零手写Vite插件:钩子机制、虚拟模块与工程化实战 2026/9/28 7:20:07

从零手写Vite插件:钩子机制、虚拟模块与工程化实战

“开发一个 Vite 插件”这件事,听起来像是资深构建工具玩家才会碰的领域,但实际上它是前端工程化里最被低估的进阶练习。很多团队用了 Vite 一两年,中途自定义需求全靠攒一堆 Unplugin、Rollup 插件拼装解决,结果一旦遇到跟服务端…

阅读更多 →
GMSL2链路UART串口通信实战:MAX96763/MAX96752F寄存器配置指南 2026/9/28 7:20:07

GMSL2链路UART串口通信实战:MAX96763/MAX96752F寄存器配置指南

车载项目里只要牵扯到摄像头,早晚都会遇到GMSL这对东西。以前做模拟信号传输,视频是出来了,但控制信号还得单独拉线,一根同轴线只干一件事,成本高、布线麻烦、故障点还多。后来项目换了GMSL2方案的串行器/解串器&#…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉