要说计算机网络这门课里最容易被低估的环节我觉得就是实验一。不少同学觉得实验一无非是配几个IP、ping通几台机器交个截图就完事但恰恰是这一步决定了你后面学路由交换、抓包排错时能不能建立真正的网络手感。这篇文章就把计算机网络实验一从头到尾拆开讲一遍从实验环境准备、IP子网规划、交换机VLAN划分到静态路由配置、抓包验证三层握手一步步说清楚“为什么这么做”“配置之后怎么验证”“出了问题怎么排查”。新手可以直接照着把实验做通已经有点基础的同学也可以对照检查自己之前的方案有没有漏掉关键环节。1. 实验环境准备与拓扑搭建先把图想明白1.1 为什么第一步不是配命令而是画拓扑很多同学打开模拟器第一件事就是拿起设备往画布上扔扔完就配配到一半发现接口不够、网络段乱成一锅粥。实际上实验一的核心目标不是“把设备点亮”而是建立一个完整的网络模型。我这次用的是某高校网络实验室的标准实验一拓扑三台路由器、三台交换机、六台终端PC分成三个区域。三个区域可以对应一个模拟企业的三个部门也可以对应学校里的三个实训机房。每个区域一台交换机、两台PC三个区域之间用路由器互联。三层设备之间形成几个互联网段最终让任何一台PC都能访问其他任意一个区域的PC。第一次做的人可能会觉得六台PC太多了但其实这个规模非常合适既能展示二层隔离又能展示三层路由和静态路由汇聚比两台PC连一台交换机的信息量大很多。为什么三个区域而不是两个因为这是第一个“多点互联”的场景。如果只有两个区域静态路由会特别简单等于没练到“路由选择”的核心。三个区域会让路径选择变得有意义比如某个区域访问另一个区域时可能有直连路径也可能有绕行路径这时候你就会开始思考“下一跳”和“路径怎么选”的问题。这是很好的思维起点。1.2 模拟器、虚拟机还是真机做实验一的硬件选择我通常推荐三种方案模拟器、虚拟化平台、真机。模拟器最省心画一堆设备然后连线就行而且多数自带拓扑模板虚拟化平台适合想深入理解“真实网卡”的人可以在电脑上起多台虚拟机用虚拟交换机和虚拟网卡模拟区域互联但操作门槛高一点真机最靠谱但一般只在实验室里才有而且人手一套设备不现实通常是小组共用。我自己的建议是实验一阶段优先用模拟器把精力放在配置逻辑和排错方法上不要被硬件故障干扰。选模拟器也有讲究。不要一上来就追求“完全真实”而要看它是否支持你需要验证的协议行为——最基础的交换、路由、抓包功能大多数图形化模拟器都能满足。我个人的体会是模拟器里配置逻辑和真机几乎一样唯一差别是接口编号、默认状态和性能。如果你在模拟器里把实验一做通了再到真机上无非是改一改接口名、注意一下端口指示灯核心思路完全通用。1.3 地址规划表一页纸解决90%的配置错误配置前先做一张地址规划表。这张表不要只写IP要把“区域、设备接口、IP地址、掩码、网关、所属VLAN”都列出来。以我这次的三个区域为例区域A使用192.168.10.0/24区域B使用192.168.20.0/24区域C使用192.168.30.0/24路由器之间互联用192.168.12.0/30、192.168.23.0/30和192.168.13.0/30三个网段刚好对应三条直连链路。规划表的作用是让自己在配置时不需要现场算拿着表就能直接敲命令避免“配到一半忘记网关是多少”这种低级错误。以下是我实验一用的表格你可以直接改成自己的网段区域VLAN网段网关终端IP范围区域AVLAN10192.168.10.0/24192.168.10.1192.168.10.10-192.168.10.20区域BVLAN20192.168.20.0/24192.168.20.1192.168.20.10-192.168.20.20区域CVLAN30192.168.30.0/24192.168.30.1192.168.30.10-192.168.30.20R1-R2互联-192.168.12.0/30-192.168.12.1 / 192.168.12.2R2-R3互联-192.168.23.0/30-192.168.23.1 / 192.168.23.2R1-R3互联-192.168.13.0/30-192.168.13.1 / 192.168.13.2为什么用192.168开头因为私有地址可以在内部随便用不容易和外部真实地址冲突。为什么互联链路用/30而不用/24因为点对点链路只需要两个可用地址/30恰好提供两个可用主机地址其余是网络位和广播位地址浪费最小排查时也一目了然192.168.12.1就是R1192.168.12.2就是R2。很多实验做不好往往不是命令不熟而是规划阶段偷懒了。2. 子网规划与静态路由配置让数据包会认路2.1 子网划分不是套公式而是给网络分地盘不少教程只讲“子网掩码越长可用主机越少”但实验一里你要真正理解的是“为什么要分地盘”。如果不做子网划分所有PC都在一个广播域里一个PC发广播包其他PC都得听机器一多广播流量会占掉大量带宽故障排查也只能靠猜。划分子网以后不同部门、不同区域的设备逻辑上被隔开广播域缩小安全性和可管理性都上来了。用生活类比一栋办公楼如果只有一个大办公室所有人都在里面说话谁喊一嗓子整个楼都听见。现在把办公室隔成几个小房间每个房间的动静只在房间里传只有需要找别的房间的人时才走到走廊去敲门。子网就是这么个“房间隔断”VLAN是把物理房间变成逻辑房间的手段路由器的路由表则是“走廊里的指示牌”。配置时核心参数是IP地址加子网掩码。同一子网内的设备网络位必须一致不同子网间通信必须通过网关。实验一最常见的问题是有人把PC的掩码写错却发现不同网段的网关也能ping通——其实只是模拟器环境里某些防护没开真机上早就被判定为“不同子网走默认网关”了。所以一定要养成习惯先算清楚自己的网络位再填参数。2.2 直连路由与静态路由的配置逻辑路由器接口配上IP地址后会自动产生一条直连路由。所谓直连路由就是“我自己的接口就在这个网段里只要数据包目标是这个网段我转身交给对应接口就行”。所以R1的接口配了192.168.10.1/24R1就天然知道192.168.10.0/24该怎么走。但R1并不知道192.168.20.0/24该怎么走除非你告诉它往R2的互联地址发。这就是静态路由存在的理由。以某主流厂商的命令风格为例在R1上加一条ip route 192.168.20.0 255.255.255.0 192.168.12.2这句话的含义是想去192.168.20.0/24这个网段下一跳交给192.168.12.2。R1收到目标为192.168.20.0/24的数据包后匹配这条路由把包转发给192.168.12.2而R2再根据自己学习到的直连路由把包送到区域B的交换机。写静态路由最需要注意的是“下一跳一定得是当前路由器能直连到达的地址”如果下一跳写成了远端路由器的某个非直连地址这条路由永远不会生效。但也要知道静态路由是单向知识。R1有到区域B的路由不代表R2有到区域A的路由所以三台路由器之间要把“来、回”两个方向都配上。实验一里最常见的翻车点就是只配了去程没配回程结果PC1 ping PC3时去的时候通了回的时候在某个路由器上被丢弃表现为“超时”。排查时可以在每台路由器上查路由表若发现某一台缺了目标网段对应路由问题基本就定位了。2.3 连通性验证三板斧ping、tracert、查路由表配置完成后不要马上欢呼“实验完成”先按顺序验证三层链路。第一步在PC上ping自己的网关确认本机网卡、IP、掩码、网关没问题第二步ping相邻区域的远端PC确认跨网段通信第三步用tracert/traceroute看一下数据包经过的路径确认是不是按你预期的路径走。这三板斧中ping不通只能说明链路有问题但它不能告诉你问题在哪一层所以还需要配合路由表查询和抓包。以下是不同测试结果对应的排查方向表测试动作结果可能的问题层ping本机回环127.0.0.1通本机协议栈基本正常ping本机IP通网卡绑定没问题ping网关通则本段链路正常不通则查本段IP/掩码/交换机端口链路层/网络层ping远端IP通则跨网段路由正常不通则查路由表/下一跳/回程路由网络层tracert停在某跳问题大概率在该跳设备往回方向验证时记得关掉不必要的防火墙至少把ICMP放行。很多实验现象都是防火墙拦截导致的尤其是在虚拟机和真机混合的环境里。我在实际做实验的时候还会把每台设备的路由表都截一遍不是为了交作业而是为了让自己知道“此刻设备到底怎么认为网络的长什么样”。学会了这一步后面看路由协议实验时会轻松很多。3. VLAN划分与二层隔离一台交换机切成三台3.1 VLAN到底解决了什么问题实验一里三个区域的PC如果都接到同一台交换机上那它们虽然IP网段不同但二层是互通的。什么叫二层互通就是A区域PC发出的广播包会从交换机的所有端口广播出去B区域C区域都能收到。这时候如果有人想抓广播包、或者某个端口出现环路风暴整个网络都会受影响。VLAN就是专门解决这个问题的它把一台物理交换机逻辑上拆成多台互不干扰的“虚拟交换机”。总体上VLAN等于逻辑隔离加广播域分割。同一VLAN内的设备二层可以直通不同VLAN间的设备二层互相隔离只能通过三层路由转发。这个“隔离但不禁止路由”的机制正好匹配企业里的需求几个部门在同一个机房但要求互相不能直接访问只有到了三层才由防火墙或路由器控制。3.2 access口、trunk口和PVID三个最容易错的点配置VLAN的步骤很简单创建VLAN、把接口划进VLAN、设置接口模式。但对新手来说最难理解的是接口模式。连接PC的交换机接口一般设成access口这个口只属于某一个VLANPC发来的不带标签的帧会被交换机打上对应VLAN的标签。连接交换机与交换机的接口一般设成trunk口trunk口允许多个VLAN的帧通过并且帧上要带802.1Q标签接收端能识别这个帧属于哪个VLAN。如果你把两个交换机之间的口设成了access那VLAN10的帧到了对端可能就被当成别的VLAN的帧看上去就出现“莫名其妙的隔离”。以一个场景为例交换机SW1和SW2之间走trunkSW1下挂PC1属于VLAN10SW2下挂PC3属于VLAN10。配置时重点检查三点检查点错误案例正确做法trunk口是否放行VLAN只配了trunk没放行VLAN10在trunk口明确放行VLAN10和VLAN20两台交换机VLAN是否一致SW1创建了VLAN10SW2没创建两端都有VLAN且编号一致access口所属VLANPC口在VLAN1PC口划入VLAN10并核对PVIDPVID可以理解为“收到无标签帧时默认打上的VLAN编号”。access口收到PC发来的无标签帧默认打上它所属VLAN的标签trunk口在默认情况下收到无标签帧会打上native VLAN的标签。如果两端native VLAN不一致trunk链路可能出现协议报文错乱。所以实验一阶段最稳妥的做法是所有trunk口都显式指定native VLAN并确保两端一致。3.3 跨VLAN访问为什么必须依赖三层网关VLAN划分好之后不同VLAN的PC直接ping不通这是正常的。PC看目标IP不在自己所在网段就会把数据包交给网关如果网关没配置或者网关路由器没有这个VLAN的接口地址数据包就成了无头苍蝇。解决跨VLAN通信有两条路一是用单臂路由在路由器上把物理接口划成多个子接口每个子接口关联一个VLAN作为该VLAN的网关二是用三层交换机在交换机上创建VLANIF接口并配上IP地址。实验一里我建议把两种方式都尝试一遍。单臂路由的配置会让你更深刻地理解“VLAN标签”和“路由终结”的关系交换机从trunk口打上VLAN10标签的帧送到路由器子接口路由器子接口解掉标签后再查路由表转发。三层交换机虽然更接近真实企业环境但流程被封装在内部新手容易只记命令不理解原理。先做单臂路由再做三层交换顺序别反。具体配置可以分成三步路由器物理口封装802.1Q并关联VLAN编号再配IP交换机上行口开trunk并放行相关VLAN在PC上把网关指到路由器子接口地址。做完之后从PC1 ping网关如果通说明VLAN标签的封装与解封装已经OK如果不同VLAN之间的PC还是不通则回到路由表和子接口地址去查。4. 抓包分析与排查技巧让数据包开口说话4.1 抓包前必做的三个设置很多同学第一次开抓包工具时看到的是一张“满屏乱七八糟”的列表于是直接放弃。其实问题出在抓包前没做设置。第一选对网卡。如果电脑上有虚拟网卡、无线网卡和多块物理网卡抓包工具会让你选择捕获接口选错接口什么都抓不到。第二开启混杂模式。普通模式下网卡只收发给自己的包混杂模式下可以接收经过网卡的所有帧这样才能看到广播帧和交换机泛洪出来的帧。第三设置显示过滤器。比如只想看ICMP包就输入过滤表达式不等抓完再筛。我常用的几个显示过滤器icmp arp tcp.flags.syn1 udp.port53这些过滤器不区分大小写可以直接复制到过滤栏。还有一个小技巧先开显示过滤器再开始抓包比抓完大量包后再筛选体验完全不一样。4.2 用一次ping看透ARP与ICMP做完静态路由和VLAN配置验证网络最常用的手段是ping。但如果只看屏幕上的“Reply from”你其实丧失了一次很好的学习机会。正确的做法是在PC1上开抓包然后ping PC3的IP观察报文顺序。你会发现真正发出的第一个包往往不是ICMP而是ARP请求——PC1知道PC3的IP却不知道目标所在网段的MAC地址所以要广播查询。这个ARP请求由网关代表目标主机回应或由目标主机直接回应取决于是否跨网段。拿到MAC地址后ICMP echo request才真正发送出去随后收到echo reply。具体到一次跨网段ping命令执行后的交互节奏是主机先发ARP查询网关MAC封装ICMP到帧里发给网关网关路由器拆开帧、查路由表、把包发往下一跳最终到达目标子网的交换机后再次用ARP解析目标主机MAC然后把ICMP包送过去。你如果在抓包软件里看到一长串ARP和ICMP交替出现不要觉得奇怪——这正是“路由是逐跳的交换是逐段的”这句话的直观体现。4.3 三次握手怎么看SYN、SYNACK、ACKTCP三次握手在书本上画了很多次但只有亲手抓到包才记得牢。实验一里可以简单做一件事情在一台PC上开一个HTTP服务另一台PC用浏览器或命令访问它同时在服务端或客户端抓包。过滤后的报文序列基本是客户端发SYN服务端回SYNACK客户端再发ACK连接建立后开始传HTTP数据。注意观察seq和ack的变化尤其是第二次握手服务端把自己的seq设为某个值同时ack设为客户端初始seq加1表示“我收到了你的SYN希望接下来你发送的字节从这个序号开始”。这里最容易把新人绕晕的是“为什么第三次握手也要带ACK”。如果第三次握手丢了服务端迟迟收不到ACK可能会重传SYNACK客户端也会不断重传ACK最终建立连接失败。这个设计的目的很简单双向确认。第一次握手是客户端告诉服务端“我想连”第二次握手是服务端告诉客户端“我同意”第三次握手是客户端告诉服务端“我也收到了你的同意”从此双方都确认链路可用。结合抓包看你会发现“握手”并不是一次请求一次响应而是三段报文共同完成任务。4.4 排查ping不通的完整流程实验一最常见的结果是三台PC互ping不通。遇到这个问题我建议按下面这个顺序排查而不是随手改配置确认物理层模拟器里看端口状态是否正常真机看网线灯和交换机供电。确认链路层交换机端口是否upaccess口所属VLAN和PC期望VLAN是否一致trunk口是否放行对应VLAN。确认网络层PC的IP、掩码、网关是否在同一行路由器接口地址是否正确路由表里是否有到目标网段的路由去程和回程都要查。确认传输层与应用层如果不涉及端口大概率是防火墙拦截确认ICMP是否放行。这四步走下去绝大多数“ping不通”都能定位到具体的那一层。我见过一个很典型的翻车案例A同学组在实验课上老半天ping不通后来打开抓包才发现PC发ARP请求时没有网关回应。再查发现网关地址写成了路由器另一个接口的地址而这个地址和PC不在同一网段PC根本就不会发ARP找它ARP请求一直在广播但无人应答。这个案例值得记下来网关必须是路由器上“与PC同一网段”的那个接口地址不是路由器其他接口的地址。5. 实验踩坑与核查清单少走弯路的四点经验5.1 高频问题速查表把实验一放到一个大教室里做几十个组同时开始配置你听一圈下来会发现大家踩的坑其实高度重复。我把这些高频问题整理成一张速查表方便你对照排错现象可能原因快速处置PC ping不通网关PC的IP、掩码、网关没对齐交换机端口VLAN不对用ipconfig核对查看端口状态和所属VLAN同一交换机不同网段PC能通VLAN范围配置错误或三层接口配错检查接口的access和trunk配置跨网段PC ping不通静态路由缺方向网关地址错误回程路由缺失逐台路由器查看路由表和接口状态重点看下一跳是否可达从trunk口抓不到VLAN帧抓包网卡不支持VLAN tag混杂模式没开开启混杂模式或者在交换机镜像口抓包所有PC都ping不通模拟器设备没启动或端口down先看设备电源与端口状态排除物理层这里要特别提醒如果你的模拟器默认把所有交换机端口都设成VLAN1而你在PC上配了192.168.20.0/24那么PC1发出的ARP包到了交换机后会被打上VLAN1的标签而网关可能在VLAN20两边根本对不上号。这是实验一里特别隐蔽但特别常见的问题。解决方法是把所有用到的接口显式划入对应VLAN不要依赖默认VLAN。5.2 配置前中后都要留底截图与导出配置做实验一最忌讳“裸奔式操作”配完不看结果直接交截图。我的建议是每次完成一个阶段就保存一份配置模拟器里导出配置文件真机上截图保留运行结果同时在实验报告里写明“本步做了什么验证结果是什么”。养成这个习惯后面做动态路由实验、访问控制列表实验时会非常受益因为你可以随时回溯是哪一步出了问题。更现实的原因是实验室里的设备是共用的。有时候你早上配好的地址下午别人上来直接把你配置清了。如果你没有备份等到实验课结束才想起来“我之前明明配好了”就只能苦笑。所以每次配置完至少执行一次保存配置的命令并复制一份到本地文档这是低成本、高回报的操作。5.3 实验一真正要练的三种能力很多人把实验一理解为“完成一次配置”但我更愿意把它看成“建立网络思维的第一课”。你要练的三种能力分别是读拓扑能力、分层排错能力、抓包验证能力。读拓扑能力是指看到一张网络图能快速说出哪部分是二层、哪部分是三层、广播域被哪里切开分层排错能力是指遇到不通时能按物理层、链路层、网络层、传输层逐层缩小范围而不是瞎试抓包验证能力是指不依赖屏幕上的“通或不通”而是能打开报文亲眼看ARP怎么解析、ICMP怎么封装、TCP怎么建连。这三种能力不是一次实验一就能完全练成的但实验一提供了一次极好的机会网络规模不大、故障因素可控、配置逻辑清晰。如果你能把实验一里每一种“通”和“不通”都弄清原因后面再做几十台设备的综合组网实验时会明显比同级轻松一截。最后分享一点个人体会。我平时做实验的习惯是“先把所有配置当作文书工作来写再上机敲”。也就是说我在打开模拟器之前会先画好拓扑图、写好每台设备的IP和路由脚本像列购物清单一样列清楚上机之后我只是把提前写好的内容敲进去剩下的时间全部用来验证和排错。这个习惯让我在实验一里几乎没有出现过“配到一半不知道自己在干什么”的状态强烈建议你也试一下。如果中途遇到问题记得回到抓包工具里看一眼真实报文比盯着配置界面发呆管用得多。