ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

交换机与集线器的区别:冲突域、MAC地址表与转发机制详解

交换机与集线器的区别:冲突域、MAC地址表与转发机制详解 很多人刚接触网络时都会问交换机和集线器到底有什么区别这个问题看似基础但真要把它讲透牵扯到冲突域、广播域、MAC地址表、转发机制这些底层概念。我在做网络运维和方案设计的过程中发现不少人对这个问题的理解停留在“交换机比集线器高级”这种模糊认知上真要解释清楚为什么高级、高级在哪里又说不出来了。这篇就站在实际使用的角度把两者的工作原理、性能差异、适用场景一次说清楚顺带把平时排查网络问题时积累的那些经验一起分享出来。1. 工作层级与转发机制的核心差异1.1 集线器为什么是“物理层设备”集线器工作在OSI模型的第一层也就是物理层。它对收到的电信号只做一件事整形和放大然后从除接收端口外的所有端口转发出去。它根本不去看数据帧里面的MAC地址不知道数据要发给谁也不需要知道。你可以把集线器想象成一个老式的广播喇叭谁对着喇叭说话所有在场的人都能听到至于这句话是不是说给自己的每个人自己判断是给自己的就收下不是就忽略。这个机制带来的直接结果就是在一个集线器组成的网络里同一时刻只允许一台设备发送数据。如果两台设备同时发送信号就会在共享线路上碰撞导致数据损坏这就叫冲突。所有设备共享同一个冲突域设备越多冲突概率越大网络效率越低。早期用集线器组网的10Mbps以太网实际吞吐量往往连一半都跑不到越多人用越卡就是这个原因。1.2 交换机如何做到“精准投递”交换机工作在OSI模型的第二层也就是数据链路层。它不仅能看懂数据帧还会学习数据帧里的源MAC地址建立一张MAC地址表记录每个MAC地址对应哪个端口。后续收到数据帧时交换机根据目的MAC地址查表只把数据从对应的端口转发出去其他端口不受影响。这个机制的关键在于“并行通信”。交换机每个端口都是一个独立的冲突域端口之间可以同时进行多对通信而互不干扰。比如一台24口千兆交换机理论上可以同时支持12对设备全速通信每对都能跑满千兆带宽。这就好比集线器是全村人共用一条路交换机是每家每户都有独立的路效率和并发能力完全不在一个量级。1.3 一张表看懂核心差异对比项集线器交换机工作层级物理层第一层数据链路层第二层转发依据无盲目广播MAC地址表精准转发冲突域所有端口共享一个每个端口独立一个广播域所有端口共享一个所有端口共享一个工作模式半双工全双工带宽所有端口共享总带宽每个端口独享带宽智能性无学习能力自学习MAC地址延迟较低但整体效率低低延迟且高吞吐注意广播域这一点很容易被忽略。交换机虽然隔离了冲突域但并不隔离广播域广播帧比如ARP请求仍然会转发到所有端口。只有路由器或三层交换机才能隔离广播域这点后面还会细说。2. 从原理到体验为什么集线器会被淘汰2.1 冲突域与共享带宽的现实代价理解冲突域最直观的方式就是算带宽账。一个10Mbps的集线器接上8台设备理想情况下每台设备平均只能分到1.25Mbps的带宽。而且这还只是理论上限实际因为冲突重传有效吞吐量还会再打折扣。我早年帮一家小公司维护过一套老旧的集线器网络高峰期十几台电脑同时上网传输文件经常卡到超时测速下来实际吞吐量连2Mbps都不到办公体验非常差。交换机就不存在这个问题。每台设备接入交换机端口端口带宽就是独享的千兆交换机每个端口都能跑满千兆互不影响。这也是为什么现在集线器在正经的网络环境里已经完全消失连百兆集线器都很难买到了。2.2 半双工与全双工的区别集线器只能工作在半双工模式也就是同一时刻要么发数据要么收数据不能同时进行就像对讲机一样说话的时候听不到别人说。交换机端口默认支持全双工收发可以同时进行就像打电话一样边说边听。全双工模式下理论上带宽是翻倍的千兆端口全双工可以同时达到1Gbps发送和1Gbps接收。2.3 集线器在现代环境中仅存的几个用途虽然集线器被淘汰了但我确实在几个特殊场景里见过它。一个是用集线器做网络抓包分析。因为集线器会把所有数据广播到所有端口你在任意一个端口上用Wireshark抓包就能看到整个冲突域里的所有流量。而交换机默认只会把数据发给目标端口需要在交换机上配置端口镜像才能实现类似效果。不过现在交换机普遍支持端口镜像这个优势也不太成立了。另一个是用在纯教学演示场景。给网络工程专业的学生讲CSMA/CD载波监听多点接入/冲突检测协议时用真实的集线器接几台电脑配合打流工具直观展示冲突的发生比纯讲PPT效果好太多。不过现在集线器实在太难找了很多学校也用模拟器替代了。还有老式工控系统或特殊设备对接场景比如一些老旧仪器只支持10Mbps半双工普通交换机端口可以强制协商到10Mbps半双工模式但如果设备兼容性特别差用集线器反而更稳。这种情况我也就是听说实际操作中极少遇到。3. 交换机和路由器的区别到底在哪3.1 一个管“楼内送信”一个管“跨城寄件”聊交换机很难不牵扯到路由器因为网络设备选型的时候这俩经常被放在一起比较。我遇到过不少朋友问既然交换机这么厉害是不是可以替代路由器答案是不行。核心区别在于交换机工作在二层靠MAC地址在同一个局域网内转发数据路由器工作在三层靠IP地址在不同网络之间转发数据。你可以把交换机理解为小区内部的快递分发站它知道每栋楼端口下面住着谁MAC地址能把包裹准确地送到对应的楼栋。路由器则是城市之间的物流枢纽它关心的是包裹要发往哪个城市IP网段通过路由表选择最佳路径把包裹从一个网络发送到另一个网络。3.2 网关与广播域的边界在实际组网里一个局域网通常会划分成多个网段不同网段之间必须通过路由器或三层交换机来通信。比如公司里财务部用192.168.1.0/24技术部用192.168.2.0/24两个部门的电脑接入同一台交换机但如果不配置VLAN或者没有三层路由功能它们之间是互不相通的。因为设备在发数据前会先判断目的IP和自己是否在同一网段不在同一网段就把数据交给默认网关也就是路由器来处理。这里就涉及广播域的概念了。交换机虽然每个端口隔离冲突域但所有端口仍然在同一个广播域里。ARP请求、DHCP Discover这类广播包会被交换机转发到所有端口如果局域网设备太多广播流量会占用大量带宽。这时候就需要路由器或三层交换机来划分VLAN缩小广播域提升网络稳定性。3.3 交换机选型时如何考虑三层需求如果是小型办公网络一台普通的二层交换机加一台路由器就够用了。路由器负责拨号、NAT、DHCP分配交换机负责扩展接口数量把办公设备接入网络。如果是中大型园区网络比如一栋写字楼或者一个厂区需要按部门或楼层划分VLAN就需要三层交换机了。三层交换机在二层交换的基础上集成了路由功能可以配置VLAN接口的IP地址实现VLAN间的高速路由转发转发效率远高于传统的路由器。我自己做方案的时候几百人的办公网络基本都是核心用三层交换机出口再串一台防火墙或路由器做边界安全这个组合非常成熟。实操体会H3C和华为的交换机VLAN间路由配置是基本功比如华为的S5735系列配好VLAN后给每个VLANIF接口配IP再开启VLAN间路由就能通了。配置前务必检查设备是否支持相应的高级特性有些型号需要购买对应软件授权才能开启三层功能。4. 从热词看实战交换机配置必须掌握的硬功夫4.1 主流厂商的配置命令速查做了这么多年网络运维我接触最多的就是华为和锐捷这两个品牌思科在部分外企和老旧机房还有存量但新项目基本已经很少见了。下面把自己平时用得最频繁的命令整理出来方便大家抄作业。华为和锐捷的命令体系非常接近都是类思科的风格会一个基本能摸清另一个。华为交换机常用命令# 进入系统视图 system-view # 配置接口为access模式并加入VLAN 10 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 # 配置接口为trunk模式允许VLAN 10 20通过 interface GigabitEthernet0/0/2 port link-type trunk port trunk allow-pass vlan 10 20 # 查看MAC地址表 display mac-address # 查看接口状态和流量统计 display interface GigabitEthernet0/0/1 # 保存配置 save锐捷交换机常用命令# 进入全局配置模式 enable configure terminal # 配置VLAN vlan 10 name Office # 配置接口 interface GigabitEthernet 0/1 switchport mode access switchport access vlan 10 # 查看配置 show running-config # 保存 write4.2 远程登录配置SSH必须安排上新装一台交换机第一件事就是开启SSH远程管理防止后续要频繁跑机房。华为交换机SSH配置的基本流程包括生成RSA密钥、创建VTY虚拟终端、开启AAA认证等几大步配置完千万别忘了保存。锐捷交换机开启SSH的步骤也类似网上资料很多照着敲一遍基本没问题。这里只提醒两个容易踩的坑一是未配置默认路由时远程终端跨网段登录交换机会不通二是VTY下必须同时配置认证方式和允许协议只配了SSH没配认证登录依然会被拒绝。4.3 console口登录与波特率问题新交换机第一次配置必须通过console口登录。Console线一端接交换机的console口另一端接电脑的串口或USB转串口。用CRT、SecureCRT、Xshell这类终端软件连接华为交换机和锐捷交换机的console口波特率默认都是9600这几乎是行业标准。但Boswell这个品牌的部分型号默认波特率是38400或115200还有部分老思科设备也出现过非标波特率如果一直显示乱码先检查波特率再检查串口号和数据位停止位设置一般是8-N-1。思科9300交换机在ROMmon模式下的波特率是9600和正常启动后的默认9600一致如果改过配置恢复时也要摆正。这些都是实际排障过程中最容易忽略的细节。4.4 镜像升级和密码恢复思科交换机在ROMmon模式下恢复或升级ISO镜像是每个CCNA/C CNP学习者迟早要面对的操作。把bin镜像文件放到U盘插到交换机的USB口在ROMmon模式下用set命令确认变量再用boot usbflash0:xxx.bin启动加载即可。华为交换机重置console密码则需要通过BootROM菜单操作重启设备时按快捷键进入BootROM选择清除console密码选项然后重启配置新密码。这类操作有一定的风险建议在业务低峰期操作并提前备份好配置文件。4.5 虚拟交换机与监控组网除了物理交换机底层虚拟化环境里的Hyper-V虚拟交换机、分布式交换机也很常见。配置虚拟交换机时要注意外部、内部、专用三种类型的区别外部网络对接物理网卡内部网络只允许虚拟机之间通信。如果用Hyper-V做NAT实验需要创建一个内部虚拟交换机再在宿主机上启用Internet连接共享或者配置RRAS实现NAT这个操作细节比较多建议找几篇教程照着练一遍。监控组网这块200个400万像素摄像头的项目用什么核心交换机是很多监控项目新人常问的问题。算一下带宽就清楚了单个400万摄像头按H.265编码码率大约4Mbps200路并发就是800Mbps。所以千兆核心交换机已经不够了核心层至少要上万兆上行或者部署链路聚合把多根千兆绑定起来。接入层每台交换机接的摄像头数量也要控制通常单台接入交换机不超过满配端口数的70%预留冗余。5. 按需选型不同场景下交换机到底怎么买5.1 家用场景家用推荐千兆交换机这是底线。现在家庭宽带普遍500M起步很多地方都上千兆了百兆交换机直接卡脖子。我遇到过一个朋友家里宽带升级到千兆但路由器后面接的交换机还是老百兆结果跑出来只有90多Mbps换成千兆交换机后立刻满速。家用交换机不用追求网管功能傻瓜式即插即用的就够除非你有VLAN、链路聚合这些特殊需求才需要上网管型。端口数量根据设备多少来定一般8口足够设备特别多的可以上16口。5.2 中小企业和园区场景中小企业选交换机要考虑未来三到五年的扩容需求接入层用千兆到桌面汇聚用千兆上行或万兆上行核心用三层交换机。品牌上华为、H3C、锐捷、中兴都是主流选择锐捷在性价比上有一定优势华为在生态和稳定性上口碑较好H3C在政企市场占有率很高。预算充足的话核心交换机建议直接上千兆光口或万兆光口方便后续升级。5.3 监控和工业场景监控场景的交换机经常部署在室外或弱电井需要考虑宽温、防雷、PoE供电这些特性。很多项目直接用PoE交换机给摄像头供电省去了单独布电源线的麻烦。选PoE交换机时除了看端口速率和PoE标准802.3af/at/bt还要计算PoE总功率比如一台8口PoE交换机额定供电功率120W接了8个功率15W的摄像头总功耗120W已经是满负荷运行了发热量会很大建议预留30%的功率冗余。6. 常见问题排查实录6.1 局域网速度突然变慢有次去一家客户现场排查网络卡顿问题拓扑很简单一台路由器下挂一台交换机所有办公电脑接在交换机上。我登录交换机看端口流量发现有一个端口的入方向流量异常高持续占据大量带宽。顺着这条线索找到对应工位发现是一台电脑中了挖矿病毒正在向局域网内大量发包。断掉那个端口后整个网络立刻恢复正常。这个案例说明交换机端口流量统计是非常好用的排查工具。华为设备用display interface查看端口实时流量锐捷用show interfaces。一旦发现某个端口流量异常果断先要维护人员把网线拔了再说后续再查毒或者处理问题。6.2 网络反馈慢但IP地址都正常还有一次客户反馈办公网时好时坏电脑能拿到IP能上QQ但网页打开很慢。我远程登录交换机查看MAC地址表发现同一个MAC地址在多个端口之间跳变这明显是出现了环路或者网关冲突。排查下来发现客户私自把一根网线同时插到了交换机的两个端口上形成了物理环路。交换机没有开STP生成树协议导致广播包在环路里无限循环把网络整个拖垮。处理方法是拔掉多余网线然后在交换机上全局开启STP/RSTP以后再出现类似情况交换机也会自动阻塞冗余端口保护网络稳定。6.3 登录交换机时提示密钥错误用CRT或Xshell SSH登录交换机时有时会提示host key不匹配。这通常是因为交换机重装系统或重置配置后SSH主机密钥发生变化而SSH客户端还保留着旧的密钥记录。解决方法很简单在Xshell或CRT里删除已保存的主机密钥记录重新连接即可。这个小问题看着不起眼但第一次遇到确实会卡住好一会儿。6.4 中兴等设备DHCP地址无法释放老款中兴交换机作为DHCP服务器时有朋友遇到过租约到期后地址仍然不释放的问题。排查思路是先确认DHCP地址池配置是否正确再看地址冲突检测设置最后查看系统日志确认地址分配记录。这类问题多数是配置细节引起的建议先把相关配置贴到技术社区让有经验的朋友帮忙看看比自己在那边瞎猜高效得多。7. 给入行新手的学习建议如果你想系统掌握交换机和集线器的区别以及更广泛的网络知识我的建议是两条腿走路一边啃理论一边做实验。理论方面把OSI七层模型吃透理解每一层的职责和数据封装过程。集线器、交换机、路由器分别工作在哪一层为什么会在不同层理解了这些后面学VLAN、STP、路由协议这些就会顺利很多。实验方面有条件就买一套真机华为或H3C的二层交换机二手价格不贵一套两台的实验组合完全够用。不想买真机的话用GNS3、EVE-NG、华为eNSP这些模拟器也能完成绝大多数实验。模拟器里可以随便折腾不用担心搞坏设备哪怕把配置刷没了直接重置就好对新手非常友好。现在交换机早就不是单纯比“谁比谁高级”的问题了它已经进化成了具备三层路由、安全防护、智能运维能力的综合网络设备。但不管功能多复杂核心的转发原理始终没有变。把集线器和交换机这一层基础打牢理解二层转发的底层逻辑再往上学VLAN间路由、三层交换、堆叠、M-LAG这些高级特性时就会自然很多了。
返回列表