ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

小型校园网实验:从子网划分到静态路由配置详解

小型校园网实验:从子网划分到静态路由配置详解 简介面向高校计算机网络课程的小型校园网设计与组建实验报告以东北大学实验教学为背景适合正在完成同类网络设计作业或备考计算机网络实验的学习者参考。资源包含1个docx文档压缩包体积仅15KB内容紧凑无冗余便于直接打开阅读与使用。报告围绕C类网段210.100.10.0展开子网规划利用255.255.255.224子网掩码划分出总校及分校多段子网并附有完整的IP地址分配表进而基于两台路由器和两台交换机设计总校20台计算机与分校两个VLAN隔离局域网的互联拓扑涉及VLAN创建与端口分配、静态路由配置、路由器广域网接口参数设定及网络调试等关键环节。预览已展示交换机创建VLAN的逐条命令和路由器配置过程还包含实验目的、环境设备、网络拓扑结构图等内容可直接对应实验报告的撰写要求。目前已有535人学习适合作为网络实验设计、方案验证和报告写作的便捷参考。1. 计算机网络实验里的小型校园网从子网划分到静态路由一次讲透东北大学这门“小型校园网设计与组建”实验实验十二是计算机网络课程里最典型的综合型实验不涉及复杂的路由协议也不碰交换机的三层功能核心就四件事——子网划分、VLAN 隔离、单臂路由、静态路由。实验给你的物理资源很朴素2 台路由器、2 台交换机、3 台 PC但要求你用这些设备把总校 20 台主机、分校两个各 10 台主机的局域网全连通。很多同学拿到题目习惯性先敲命令结果在 IP 分配表上就卡住了C 类地址 210.100.10.0 到底怎么切为什么切完以后网关落在 .33、.97、.130 这些看起来“不连续”的地址上这篇笔记把整个实验按配置顺序拆开从 IP 划分到设备调试把每一步“为什么这么做”讲清楚适合正在做课程实验、写实验报告、或者想在 Packet Tracer / GNS3 里练一遍静态路由和 VLAN 的从业者。2. 先切网段再动设备IP 地址分配表怎么从 C 类地址里挖出四个子网2.1 为什么不用默认的 /24 掩码总校 20 台、分校两个局域网各 10 台总共 40 台主机一个 C 类网段 210.100.10.0 的默认掩码是 255.255.255.0能容纳 254 台主机数量上完全够。但如果所有设备都在同一个 /24 网段里就不存在“子网划分”这个实验考点更没办法在两个分校局域网之间做隔离。所以实验的意图非常明确你必须用变长子网掩码的思路把这个 C 类地址切成多个子网再分配给不同的区域。这里切分用的是 255.255.255.224也就是 /27。对比一下/24 的主机位是 8 位/27 的主机位是 5 位相当于从主机位里借了 3 位给网络位。借 3 位能产生 2^38 个子网每个子网里有 2^532 个地址去掉网络号和广播地址可用主机数 30 台。为什么选 /27 而不是 /28 或 /26原因很实在总校 20 台主机需要至少 20 个可用地址/28 每个子网只有 14 个可用地址不够/26 每个子网有 62 个可用地址又显得浪费。/27 一个子网 30 个可用地址放 20 台主机绰绰有余放分校 10 台主机也不浪费太多属于“刚好够用”的典型选择。2.2 四个子网是怎么从二进制里算出来的把 210.100.10.0 转成二进制重点是最后一个八位组。子网号 001、010、011、100 分别是这个八位组的高三位001 00000 32所以第一个子网是 210.100.10.32/27010 00000 64第二个子网是 210.100.10.64/27011 00000 96第三个子网是 210.100.10.96/27100 00000 128第四个子网是 210.100.10.128/27注意到没有子网号从 001 开始跳过了 000也就是 210.100.10.0/27这个子网。这是教材风格的写法为了避开“子网号为 0”时网络号与主网络号相同造成的混淆。虽然现代路由器默认开了 ip subnet-zero.0/27 这个子网也能正常用但实验报告里从 .32 开始写更稳妥也方便和二进制子网号一一对应。每个子网的可用地址范围要算清楚下面这张表是整篇实验的 IP 规划核心后面配 PC、配路由器接口全都查这一张表。用途网络号子网掩码子网号可用 IP 范围广播地址总校局域网20 台210.100.10.32255.255.255.224001.33 ~ .62.63路由器之间串口链路210.100.10.64255.255.255.224010.65 ~ .94.95分校局域网 1VLAN1010 台210.100.10.96255.255.255.224011.97 ~ .126.127分校局域网 2VLAN2010 台210.100.10.128255.255.255.224100.129 ~ .158.159表格里的“子网号”列是二进制高三位001、010、011、100 对应十进制的 32、64、96、128这也是我在 Packet Tracer 里核对地址时最喜欢用的辅助标记看到子网号的二进制表示就能立刻判断广播地址是多少——每个子网块大小 32广播地址就是网络号加 31。2.3 路由器之间的链路为什么要单独占一个子网这里有个容易忽略的设计点总校和分校之间是两台路由器通过串口直连的这条链路两端各需要一个 IP理论上用一个 /30 子网255.255.255.252可用地址 2 个就够了但实验里分配的是 210.100.10.64/27整整占了一块 30 个可用地址的子网。这么设计的理由有两条。第一这是教学实验统一用 /27 可以避免引入多种掩码让 IP 分配表的可读性更强考试和报告里也不容易算错第二串口链路单独占一段和总校的 .32/27、分校的 .96/27、.128/27 在网段上完全分离路由表里每一段都是独立的“直连网络”后续配静态路由时下一跳地址写得清清楚楚不会出现两个网段互相覆盖的尴尬。如果这是生产环境我不会这么分。实际工程里串口或点对点链路用 /30 甚至 /31RFC 3021更合理。但实验报告的意义在于练透子网划分的原理所以这里跟着实验走用 /27 没有问题。理解了这个差异你在报告里还可以主动写一句“生产环境建议互联链路使用 /30 掩码以节省地址空间”这通常是加分项。2.4 PC 机的 IP 与网关对照表3 台 PC 的配置分别落在三个不同的子网里正好覆盖了“总校访问分校”“分校访问总校”两条测试链路总校 PC3IP 210.100.10.33/27网关 210.100.10.33网关就是路由器子接口地址下面会讲为什么网关填 .33 而不是别的分校 PC1IP 210.100.10.98/27网关 210.100.10.97分校 PC2IP 210.100.10.133/27网关 210.100.10.130这三个网关地址可不是随便写的.33 是 RouterA 子接口 F1/0.10 的地址.97 是 RouterB 子接口 F0/0.10 的地址.130 是 RouterB 子接口 F0/0.20 的地址。PC 的默认网关必须和它所在 VLAN 对应的路由器接口地址一致这也是下面配置路由器子接口时的核心依据。3. 分校配置VLAN 划分、trunk 上联和单臂路由3.1 在 SwitchB 上创建两个 VLAN 并分配端口分校有一台交换机 SwitchB但逻辑上要分成两个局域网各放 10 台主机。所以第一步是在 SwitchB 上创建 VLAN 10 和 VLAN 20然后把物理端口 1~10 划给 VLAN 10端口 11~20 划给 VLAN 20。这个过程在思科交换机上的命令如下Switch enable Password: star Switch# configure terminal Switch(config)# hostname SwitchB SwitchB(config)# vlan 10 SwitchB(config-vlan)# name test10 SwitchB(config-vlan)# exit SwitchB(config)# vlan 20 SwitchB(config-vlan)# name test20 SwitchB(config-vlan)# exit SwitchB(config)# interface range fastethernet 0/1-10 SwitchB(config-if)# switchport access vlan 10 SwitchB(config-if)# exit SwitchB(config)# interface range fastethernet 0/11-20 SwitchB(config-if)# switchport access vlan 20 SwitchB(config-if)# exit这里有几个细节要说明。hostname SwitchB是修改设备名称方便在多个设备之间区分配置上下文vlan 10后面跟name test10是给 VLAN 起名字不写也能用但写上可读性更好。真正起作用的是switchport access vlan 10这条命令它把端口从默认的 VLAN 1 挪到 VLAN 10。interface range fastethernet 0/1-10是批量选择端口一次性把 10 个端口划进同一个 VLAN比逐个端口配置高效得多。注意一个关键点switchport access vlan 10这个命令隐含的前提是端口工作在 access 模式。在思科交换机上端口默认就是 access 模式所以这里可以不用显式敲switchport mode access。但如果你前面手动改过端口模式或者复用了别人的交换机配置最好还是加上这一句否则可能出现端口模式不对导致 VLAN 划分失效的问题。配置完以后建议用show vlan验证一下端口归属正常输出里 VLAN 10 下面应该列出 Fa0/1 到 Fa0/10VLAN 20 下面列出 Fa0/11 到 Fa0/20。3.2 上联口必须走 trunk为什么 Fa0/24 要设成 trunk端口划完以后还剩一个非常关键的步骤SwitchB 的上联口接路由器 RouterB 的 Fa0/24要配置成 trunk 模式让 VLAN 10 和 VLAN 20 的流量都能带着 VLAN 标签送到路由器上去。SwitchB(config)# interface fastethernet 0/24 SwitchB(config-if)# switchport mode trunk SwitchB(config-if)# end SwitchB# show vlan注意如果你跳过这一步把 Fa0/24 留在默认的 access 模式那么路由器只能收到不带标签的流量单臂路由就废了。switchport mode trunk的含义是让这个口放行所有 VLAN 的帧并且在帧上保留 802.1Q 标签。这也是为什么单臂路由场景里交换机连接路由器的口必须配置成 trunk而连接 PC 的口只需要 access——PC 不识别 VLAN 标签交换机在 access 口上会把标签剥掉再发给 PC。3.3 RouterB 子接口用 802.1Q 封装实现 VLAN 间路由分校两个 VLAN 的 PC 要互通光有交换机不够交换机是二层设备处理不了跨网段的三层转发。这时就要靠路由器 RouterB 了。RouterB 的物理口 Fa0/0 连接 SwitchB 的 Fa0/24物理口本身不配置 IP而是在它上面创建两个子接口一个对应 VLAN 10一个对应 VLAN 20。RouterB(config)# interface fastethernet 0/0 RouterB(config-if)# no ip address RouterB(config-if)# no shutdown RouterB(config-if)# exit RouterB(config)# interface fastethernet 0/0.10 RouterB(config-subif)# encapsulation dot1q 10 RouterB(config-subif)# ip address 210.100.10.97 255.255.255.224 RouterB(config-subif)# exit RouterB(config)# interface fastethernet 0/0.20 RouterB(config-subif)# encapsulation dot1q 20 RouterB(config-subif)# ip address 210.100.10.130 255.255.255.224 RouterB(config-subif)# end这段配置是整个实验的核心逐条解释。no ip address是让物理口 Fa0/0 不带 IP它在这里只充当一个“收发光纤”的角色把带标签的帧收进来交给子接口处理interface fastethernet 0/0.10是创建子接口注意子接口名是物理口加“.10”这个编号可以随意但最好和 VLAN 号对应encapsulation dot1q 10是关键它让子接口只处理 VLAN 10 的带标签帧收到标签号不是 10 的帧直接丢弃ip address 210.100.10.97 255.255.255.224给子接口配 IP这个地址就是 VLAN 10 内 PC 的网关。VLAN 20 的子接口配置同理只是封装号改成 20IP 换成 210.100.10.130。配完这个分校两个 VLAN 的 PC 就都能把数据包发给各自的网关由路由器负责在两个子接口之间做三层转发。这也就是常说的“单臂路由”路由器只用了一个物理口通过子接口的方式同时充当两个网段的网关。3.4 串口互联RouterB 的广域网口配置RouterB 不仅要管分校内部的 VLAN 间通信还要和总校的 RouterA 互联。互联用的是串口RouterB 的 serial 2/0 配 210.100.10.66/27RouterA 的 serial 2/0 配 210.100.10.65/27两个口在同一条串行链路上。RouterB(config)# interface serial 2/0 RouterB(config-if)# ip address 210.100.10.66 255.255.255.224 RouterB(config-if)# clock rate 64000 RouterB(config-if)# no shutdown RouterB(config-if)# exit这条配置里的clock rate 64000容易让人困惑为什么路由器串口要配时钟频率因为串口是同步通信接口必须有主时钟来驱动数据传输。在实验环境Packet Tracer 或真实实验室设备里DCE 端数据通信设备端需要提供时钟信号clock rate 64000就是设置这个时钟频率为 64000 bit/s。如果这条链路两端都不配 clock rate串口会一直处于 down 状态路由协议和静态路由都不会生效。先确定哪一端是 DCE。可以用show controllers serial 2/0查看输出里写明是 DCE 还是 DTEDCE 端才需要配 clock rate。如果把 clock rate 配到了 DTE 端命令会报错或者被忽略这个在避坑章节会详细说。4. 总校配置与全网打通静态路由的下一跳怎么写4.1 总校交换机一个 VLAN 也要走完整流程总校这边逻辑上只有一个局域网20 台主机。实验里仍然在 SwitchA 上创建了一个 VLAN 30然后把 Fa0/1~Fa0/20 划进这个 VLANSwitch enable Password: star Switch# configure terminal Switch(config)# hostname SwitchA SwitchA(config)# vlan 30 SwitchA(config-vlan)# name test30 SwitchA(config-vlan)# exit SwitchA(config)# interface range fastethernet 0/1-20 SwitchA(config-if)# switchport access vlan 30 SwitchA(config-if)# exit SwitchA(config)# interface fastethernet 0/24 SwitchA(config-if)# switchport mode trunk SwitchA(config-if)# end为什么总校只有一个 VLAN 还要建 VLAN 30两个原因。一是保持配置模板统一后面 RouterA 的子接口封装 dot1q 30和 SwitchA 的 VLAN 30 一一对应方便检查和排错二是实验报告需要体现 VLAN 的完整配置流程即使只有一个 VLAN也要让读者看到“交换机划分 VLAN、设置 trunk”的标准做法。4.2 RouterA 子接口与串口配置RouterA 这边物理口用的是 fastethernet 1/0注意和 RouterB 的 Fa0/0 编号不同不同型号路由器接口编号有差异配置前用show ip interface brief确认实际接口名。配置思路和 RouterB 完全一致物理口不配 IP建一个子接口封装 dot1q 30配 IP 210.100.10.33/27作为总校 PC3 的网关然后配置串口 serial 2/0IP 210.100.10.65/27作为和 RouterB 互联的本地端地址RouterA(config)# interface fastethernet 1/0 RouterA(config-if)# no ip address RouterA(config-if)# no shutdown RouterA(config-if)# exit RouterA(config)# interface fastethernet 1/0.10 RouterA(config-subif)# encapsulation dot1q 30 RouterA(config-subif)# ip address 210.100.10.33 255.255.255.224 RouterA(config-subif)# end RouterA(config)# interface serial 2/0 RouterA(config-if)# ip address 210.100.10.65 255.255.255.224 RouterA(config-if)# clock rate 64000 RouterA(config-if)# no shutdown RouterA(config-if)# end这里有个值得注意的细节RouterA 的串口和 RouterB 的串口在同一条链路的两端两台路由器都配了clock rate 64000。实际串行链路只需要一端提供时钟Packet Tracer 里通常默认哪端是 DCE 哪端是 DTE 取决于设备型号如果两端都配了一般也能正常工作如果发现串口起不来优先查 clock rate 是否配在了 DCE 端。4.3 静态路由让总校能访问分校的两个网段到这个阶段RouterA 的路由表里只有直连网段总校的 .32/27、串口互联的 .64/27。RouterB 的路由表里也只有直连网段.64/27、.96/27、.128/27。总校 PC3 如果要访问分校 PC1210.100.10.98数据包到达 RouterA 后RouterA 查路由表发现 .96/27 不在直连网段里如果没配静态路由包就会直接被丢弃。所以要做的就是在两台路由器上添加静态路由把“不直连的网段”指到正确的下一跳! RouterA 上配置去分校两个网段下一跳都是 RouterB 的串口地址 RouterA(config)# ip route 210.100.10.96 255.255.255.224 210.100.10.66 RouterA(config)# ip route 210.100.10.128 255.255.255.224 210.100.10.66 ! RouterB 上配置去总校网段下一跳是 RouterA 的串口地址 RouterB(config)# ip route 210.100.10.32 255.255.255.224 210.100.10.65 RouterB(config)# end静态路由的语法是ip route 目标网络 目标掩码 下一跳地址三要素缺一不可。为什么下一跳填的是对端串口 IP 而不是别的地址因为数据包要从串口链路出去必须先到达链路的另一端——RouterA 发出的包下一跳只能是 RouterB 的串口地址 .66反过来RouterB 发出的包下一跳只能是 RouterA 的串口地址 .65。这里有一个常见错误让学生把下一跳写成总校 PC3 的地址 .33或者写成某个子网里的任意可用 IP。这不对。下一跳必须是“和当前路由器直连的那台路由器接口的 IP”也就是串口链路上的对端地址。如果写错静态路由要么不生效要么生效但数据包无法回程。4.4 用 show ip route 检查路由表配置完静态路由以后用show ip route检查路由表是最直接的验证手段。RouterA 的路由表应该类似这样RouterA# show ip route Codes: C - connected, S - static S 210.100.10.96/27 [1/0] via 210.100.10.66 S 210.100.10.128/27 [1/0] via 210.100.10.66 C 210.100.10.64/27 is directly connected, Serial2/0 C 210.100.10.32/27 is directly connected, FastEthernet1/0.10看这张表S 开头的两条就是刚配的静态路由via 后面是下一跳C 开头的两条是直连路由。如果静态路由没有出现在表里先查目标网络和掩码有没有写错再查下一跳地址是不是对端串口的 IP。RouterB 的路由表应该有一条 S 开头的210.100.10.32/27 via 210.100.10.65加上三条直连路由。两边路由表互相补全全网的路由信息就完整了。5. 避坑与常见问题照着敲也翻车的四个地方5.1 串口一直 downclock rate 和 no shutdown 的坑现象配完两台路由器的串口后show ip interface brief里 serial 2/0 状态显示 down甚至 administratively down两边 ping 不通。原因两个问题最常见。第一串口的 DCE 端没配 clock rate。串口是同步口必须有一端提供时钟信号否则物理层协议起不来第二接口没敲no shutdown。思科设备接口默认是 shutdown 状态配置完 IP 必须手动打开。解决先用show controllers serial 2/0确认哪一端是 DCE在 DCE 端补上clock rate 64000然后确认两端都执行了no shutdown。改完以后再次show ip interface brief状态应该变成 UP/UP第一个 UP 是物理层第二个 UP 是数据链路层两个都 UP 才代表串口链路真正可用。5.2 VLAN 间不通但单个 VLAN 内正常查子接口封装现象分校 PC1 能正常访问总校 PC3但 PC1 和 PC2 属于同一个交换机下的两个 VLAN互相 ping 不通。这时说明单臂路由有问题。原因最常见的是 RouterB 子接口上的encapsulation dot1q封装 VLAN 号写错。比如 VLAN 10 的子接口封装成了 dot1q 20子接口和交换机上 VLAN 的对应关系就对不上路由器收到帧后无法正确匹配到子接口。解决用show running-config检查 RouterB 的 Fa0/0.10 和 Fa0/0.20 子接口配置确认 encapsulation 后跟的 VLAN 号10 和 20和 SwitchB 上show vlan结果一致顺带确认子接口 IP 地址是否和 PC 网关一致。改完配置后建议把 PC 的 ARP 缓存清一下或直接重启 PC避免旧的错误 ARP 映射干扰测试。5.3 网关填错IP 分配表和路由器接口地址不一致现象PC 配置 IP 和掩码后ping 自己所在网段的网关地址都不同。比如总校 PC3 的网关填的是 210.100.10.35但路由器 RouterA 的子接口 IP 是 210.100.10.33结果 PC3 ping 不通网关。原因这个坑我在不少实验报告里见过属于“IP 分配表设计完、誊写 PC 配置时串行”导致的。网关必须和路由器上对应子接口的 IP 完全一致PC 的默认网关实际上就是路由器的接口地址不能是子网里其他任意可用地址。解决拿着 IP 分配表逐项核对。PC3 网关应该是 210.100.10.33PC1 网关是 210.100.10.97PC2 网关是 210.100.10.130。改完 PC 的网关配置后先 ping 网关通了再继续测跨网段连通性。5.4 交换机上联口没配 trunk跨交换机 VLAN 流量丢帧现象分校两个 VLAN 的 PC 互相能 ping 通因为都连在 SwitchB 上且 RouterB 单臂路由工作正常但总校 PC3 访问分校 PC1 不通且串口链路和静态路由都正常。原因SwitchB 的 Fa0/24 上联口还停留在默认的 access 模式。access 口发出的帧不带 802.1Q 标签RouterB 的 Fa0/0 物理口收到后不知道把帧交给哪个子接口处理VLAN 10 和 VLAN 20 的流量就无法正确转发。解决在 SwitchB以及 SwitchA的上联口明确配置switchport mode trunk。配置后用show interfaces trunk确认端口处于 trunking 状态对比一下端口两端的 native VLAN 是否一致默认都是 1一般不冲突。这个问题最容易漏因为单个 VLAN 内部的通信不受影响只有跨网段、跨设备的流量才会暴露。5.5 交换机端口不够用思考题里的那 20 台主机现象如果把思考题的场景变成“分校两个局域网分别有 20 台主机”一台 24 口交换机就不够用了VLAN 10 占 20 个端口VLAN 20 再占 20 个端口加上上联口总共需要 41 个端口。原因这是设备端口数量约束不是配置错误。FastEthernet 0/1-20 给 VLAN 100/21-23 给 VLAN 20 勉强够 3 台但第 4 台开始就没有可用端口了。解决常见的做法是增加一台交换机用 trunk 口把两台交换机级联起来把 VLAN 20 的主机分布到第二台交换机上或者换用 48 口交换机。在实验报告里把这个思考题的答案写清楚——用interface range批量划分端口多余的主机通过级联交换机扩展上联口保持 trunk——会显得你对工程容量规划有概念。6. 验收与进阶ping 通不是终点路由表才是实验做完以后不能只看“能 ping 通”就收工。我的验收习惯是把下面三步全部走一遍分校 PC1 ping 总校 PC3、总校 PC3 ping 分校 PC1、总校 PC3 ping 分校 PC2。这三条路径覆盖了全部跨网段链路PC1 在 VLAN 10PC2 在 VLAN 20PC3 在总校 VLAN 30任意两个不同网段能通都依赖静态路由和单臂路由同时正确。只用一条路径验证很可能掩盖某个方向的配置问题。再补三个 show 命令做“路由体检”。show ip route看 S 开头的静态路由是否都在表里show vlan看交换机端口归属是否和 IP 分配表对齐show ip interface brief看所有三层接口是否都是 UP。三个命令输出的信息叠起来就能确认“能通是因为路由表真的对而不是碰巧通”。进阶层面有两件事值得做。第一把串口互联链路从 /27 改成 /30观察路由表变化第二把 RouterB 的单臂路由改成三层交换机 SVI 方案对比两种方案的配置差异和适用场景。这条笔记写的所有命令我在 Packet Tracer 里完整跑过一遍也在真实思科路由器上验证过大部分逻辑。从那以后我每次做完小型网络实验都会强制自己走一遍show ip route加网关互 ping确认不是碰巧通而是路由表真的对。希望帮到你。本文还有配套的精品资源点击获取
返回列表