资讯动态

交换机工作原理详解:二层转发、三层路由与四层负载均衡

发布时间:2026/9/18 20:31:09 来源:尧图企业网站定制
简介这份PDF面向计算机网络初学者与备考网络技术的学习者系统讲解交换机在OSI参考模型不同层次上的工作原理帮助读者理清二层、三层、四层交换机的转发逻辑与适用场景。资源共1个PDF文件压缩包约104KB内容以图文结合的方式展开配有工作原理示意图便于对照理解数据包从接收、分析到转发的完整流程。文档重点覆盖二层交换机基于MAC地址表的动态学习与广播转发机制、三层交换机“一次路由、多次交换”的网段间转发策略以及四层交换机依据端口号识别应用服务、通过虚拟IP实现服务器负载选择的过程。已有1108人学习适合用于课程复习、网络设计入门与故障排查思路梳理也可作为理解局域网数据转发机制的参考材料。1. 从一次广播风暴说起交换机到底在转发什么很多人第一次接触交换机是从插上网线就能通开始的直到某天网络突然变慢抓包发现满屏 ARP 广播才意识到交换机并不是一根透明的网线。它内部维护着一张会随时间变化的表转发、泛洪、学习、老化全围绕这张表展开。这份《计算机网络 交换机工作原理.pdf》把二层、三层、四层交换机拆开讲恰好补上了配置命令会敲、原理说不清的那段空白。它适合两类人一是正在准备计算机网络期末复习、需要把 MAC 地址表和路由表关系理顺的学生二是天天配华为、H3C 交换机却对一次路由、多次交换只停留在背概念层面的运维。下面按二层转发、三层路由、四层负载、排错验证的顺序把这份资料里的原理落到能复现的命令和参数上。2. 二层交换机MAC 地址表的学习、泛洪与老化二层交换机工作在 OSI 数据链路层只认 MAC 地址不关心 IP。它的全部智能都体现在一张 MAC 地址表上理解这张表的增删改查就理解了二层交换。2.1 收到帧之后的三步判断当某个端口收到一个以太网帧交换机会依次做三件事读取帧头里的源 MAC 和目的 MAC用源 MAC 去更新地址表记录这个 MAC 来自这个端口再用目的 MAC 去查表决定怎么转发。查表结果只有三种命中且端口不是入端口单播转发命中但端口就是入端口丢弃目的和源在同一端口没必要转发没命中向除入端口外的所有端口泛洪。这里有个容易被忽略的点学习发生在转发之前。所以哪怕目的 MAC 查不到要泛洪源 MAC 的映射也已经写进表里了。这就是为什么两台主机第一次通信会泛洪第二次就能单播直达。2.2 用命令观察 MAC 地址表在华为或 H3C 交换机上查看地址表是最直接的验证手段。下面以华为 VRP 为例# 查看全部动态学习的 MAC 地址表项 display mac-address # 只看某个 VLAN 下的表项VLAN 10 为例 display mac-address vlan 10 # 查看某个接口学到的 MAC display mac-address interface GigabitEthernet0/0/1 # 查看 MAC 地址老化时间默认 300 秒 display mac-address aging-timedisplay mac-address输出里几个字段要会读MAC Address 是学到的地址VLAN 表示所属广播域Port 是学习来源端口Type 为 dynamic 表示动态学习、static 表示手工绑定。老化时间默认 300 秒意味着一个 MAC 超过 5 分钟没有流量刷新就会被删除下次通信重新泛洪学习。提示如果发现同一个 MAC 在两个端口之间反复跳变通常是环路或 MAC 欺骗先查生成树状态再考虑端口安全。2.3 泛洪的代价与端口安全泛洪本身不是故障但无节制的泛洪会吃掉带宽。常见做法是在接入端口开启端口安全限制单端口可学习的 MAC 数量# 进入接口限制最多学习 2 个 MAC超限则告警 interface GigabitEthernet0/0/1 port-security enable port-security max-mac-num 2 port-security protect-action restrictmax-mac-num控制学习上限protect-action决定超限行为protect 静默丢弃、restrict 丢弃并告警、shutdown 直接关端口。参数怎么选取决于场景办公区接入一般用 restrict机房核心链路慎用 shutdown避免误伤。转发行为触发条件结果单播转发目的 MAC 命中且非入端口只从对应端口发出泛洪目的 MAC 未命中除入端口外全部发出丢弃目的 MAC 命中但等于入端口不转发过滤目的为组播/广播按 VLAN 范围泛洪3. 三层交换机一次路由、多次交换是怎么落地的三层交换机常被误解成二层交换机加了个路由模块其实关键在转发路径的优化。它把首个数据包交给路由模块处理把结果缓存下来后续同一条流直接走二层硬件转发这就是一次路由、多次交换。3.1 同网段与跨网段的判断逻辑三层交换机收到数据包先比较源 IP 和目的 IP 是否在同一网段。同网段直接交给二层交换模块按 MAC 转发路由模块根本不参与不同网段才把包交给三层路由模块。路由模块查内部路由表看目的 IP 与目的 MAC 是否已有映射有转回二层转发没有做一次路由处理把 IP 与 MAC 的映射写进表再转回二层。这个映射表就是常说的 FIB转发信息库加邻接表硬件里叫快速转发表。它让后续数据包绕开 CPU 路由计算直接由 ASIC 转发延迟从毫秒级降到微秒级。3.2 配置 VLAN 间路由验证跨网段转发要复现三层转发最典型的是配 VLANIF 接口。下面在华为交换机上建两个 VLAN 并启用三层接口# 创建 VLAN 10 和 20 vlan batch 10 20 # 配置 VLANIF 10 作为网关 interface Vlanif10 ip address 192.168.10.1 255.255.255.0 # 配置 VLANIF 20 作为网关 interface Vlanif20 ip address 192.168.20.1 255.255.255.0 # 把物理口划入 VLAN interface GigabitEthernet0/0/1 port link-type access port default vlan 10 interface GigabitEthernet0/0/2 port link-type access port default vlan 20Vlanif是三层交换机上的虚拟三层接口每个 VLAN 一个网关地址。配完后 192.168.10.0/24 和 192.168.20.0/24 之间就能互通靠的正是三层路由模块。用display ip routing-table能看到直连路由用display fib能看到硬件转发表项。3.3 路由表与 FIB 的差别很多人分不清路由表和 FIB。路由表是控制平面算出来的包含协议、优先级、度量值FIB 是数据平面用的只保留去哪个网段、下一跳是谁、从哪个口出。三层交换机把路由表下发到 FIB转发时查 FIB 而不是路由表。# 查看路由表关注 Destination/Mask 和 NextHop display ip routing-table # 查看 FIB关注 Flag 和 Interface display fib如果跨网段不通排查顺序是先看 VLANIF 是否 up、IP 是否配错再看路由表有没有对应条目最后看 FIB 是否下发成功。常见坑是 VLAN 里没有 up 的物理口VLANIF 就起不来路由自然不生效。4. 四层交换机端口号识别与服务器负载均衡四层交换机工作在传输层靠 TCP/UDP 端口号判断应用类型HTTP 是 80、HTTPS 是 443、FTP 是 21。它的核心价值不是转发而是把请求分发给一组服务器同时对外只暴露一个虚拟 IP。4.1 虚拟 IP 与真实服务器地址的映射四层交换机为每个应用服务器组设一个虚拟 IPVIPDNS 里解析的是 VIP 而不是真实服务器地址。用户请求到达 VIP 后交换机按负载算法选一台最佳服务器把数据包目的地址里的 VIP 改成该服务器真实 IP再通过三层模块转发过去。回程流量再改回来用户全程只看到 VIP。这样做的直接好处是服务器组可以随时增减用户无感知同时对外隐藏了内网拓扑安全性更好。4.2 常见负载均衡算法与配置思路算法依据适用场景轮询依次分配服务器性能相近加权轮询按权重分配服务器配置不均最小连接当前连接数最少长连接业务源 IP 哈希源地址取模需要会话保持以源 IP 哈希为例它能保证同一客户端始终落到同一台服务器适合有 session 的业务。配置时通常要定义服务器组、健康检查方式和算法# 伪代码示意定义真实服务器组并绑定算法 slb group web_servers method source-ip-hash health-check tcp 80 interval 5 timeout 3 real-server 192.168.30.11 port 80 real-server 192.168.30.12 port 80method指定算法health-check定义健康检查interval是检查间隔秒数timeout是超时。健康检查失败的真实服务器会被摘除恢复后自动加回。参数上间隔太短会增加探测流量太长则故障切换慢一般 5 秒是折中值。注意四层负载只看端口不看应用内容。如果要做基于 URL 的分流那是七层负载均衡的范畴别混用。5. 排错与验证从 MAC 表到抓包定位转发异常原理讲完真正拉开差距的是排错。交换机问题大多表现为时通时不通或某段突然变慢下面给一套从表项到抓包的定位顺序。5.1 分层排查的固定顺序先二层后三层先本地后远端。二层看 MAC 表有没有学到、有没有漂移三层看 VLANIF 和路由表跨网段不通再查 FIB。命令上display mac-address看学习情况display interface brief看端口 up/down 和错包display logbuffer看有没有环路或 MAC 冲突告警。# 查看接口状态和错包计数 display interface GigabitEthernet0/0/1 # 查看最近日志定位环路、MAC 漂移 display logbuffer | include MAC接口输出里 CRC 错误持续增长通常是线缆或光模块问题display logbuffer里出现 MAC 地址漂移告警基本可以锁定环路配合生成树display stp brief确认阻塞端口。5.2 用镜像抓包验证泛洪与单播想确认第一次泛洪、第二次单播最直接的是端口镜像加抓包。把要观察的端口流量镜像到抓包口# 将 GE0/0/1 的入方向流量镜像到 GE0/0/24 observe-port 1 interface GigabitEthernet0/0/24 interface GigabitEthernet0/0/1 port-mirroring to observe-port 1 inboundobserve-port定义观察口port-mirroring把指定方向流量复制过去。抓包时清空 ARP 缓存再 ping就能看到第一帧是广播、后续是单播。这个技巧在验证 MAC 学习和定位广播风暴时特别有用。5.3 一个容易踩的坑老化时间与流量模式MAC 表默认 300 秒老化如果某台设备超过 5 分钟才发一次包每次都要重新泛洪学习。低频通信的工控设备、打印机经常遇到这个问题表现为偶尔第一次访问慢。解决办法是适当调大老化时间或对关键设备做静态 MAC 绑定# 手工绑定静态 MAC避免老化 mac-address static 5489-98ab-cdef GigabitEthernet0/0/5 vlan 10静态表项不会老化适合位置固定的服务器和网关。但绑定前务必确认 MAC 和端口对应关系绑错会导致该设备彻底不通改回来还得先undo掉错误表项。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价