
简介这是一份计算机网络课程设计“小型网络设计”的完整说明书面向高校网络工程、计算机科学及相关专业学生尤其适合需完成局域网络规划、组建与仿真验证课程设计任务的人群。文档以沈阳大学校园网为背景围绕四栋楼宇的园区网络建设需求展开系统阐述了课程设计目的、树型拓扑结构论证、设备及传输介质选型、网络拓扑图设计、IP地址规划与配置、仿真结果分析等核心环节并对常见连接失败、地址配置错误等排错思路给出提示。包内共1个doc文件大小约178KB内容组织层次清晰可直接通读学习。目前已有1833人学习浏览适合作为课程报告撰写、网络设计思路梳理及实验验证环节的参考模板能帮助读者节省从头整理方案的时间快速掌握小型局域网设计的完整流程和文档规范。1. 计算机网络课程设计里的小型网络设计先划清广播域再谈设备选型一个常见的情形是拿到「小型网络设计」题目先把设备拖进画布连线、配 IP、ping 通就以为完工了。等到答辩被问「为什么这个子网用 /25 而不是 /24」「VLAN 之间靠什么互通」「ACL 为什么放这个方向」才意识到自己只完成了连通性没完成设计。小型网络是计算机网络基础知识的微缩样本——交换机的转发表、VLAN 对广播域的切割、路由器子接口的封装、DHCP 的中继全都要在这一张拓扑里互相咬合。接下来的内容按课程设计最常见的交付形态展开一台路由器加一到两台交换机先说清规划逻辑再给模拟器里能直接复现的最小配置。2. 小型网络设计的前置工作拓扑形态、VLAN 切割与 IP 分配表2.1 树形分层为什么比冗余环更匹配小型网络小型网络通常是十到三十台终端设备的规模常见的拓扑只有两类一类是路由器加接入交换机构成的标准树形另一类是在两台交换机之间加一条冗余链路做成环。树形的优势是职责单一、故障域清晰——接入层只管终端接入汇聚层或出口路由器管 VLAN 间路由与策略每一层要处理的事情都压得很小。冗余链路在课程设计里看起来能加印象分但如果没启用 STP两台交换机之间的冗余链路会直接造成广播风暴模拟器里现象比真实设备更极端整个二层网络瞬间瘫痪ping 不通、控制台卡死还原现场还要花时间。广播域可以类比成园区里的门禁门禁划得越清楚串门的无效流量越少。树形拓扑的每一个分支都是独立的广播域配合 VLAN 才能把「终端之间的广播」限制在合理范围内而环形拓扑天然挑战这个边界一旦某个交换机的 STP 角色计算不完整广播帧就开始在环里打转。所以我的建议是课程设计老实做树形分层把做冗余的精力省下来留给地址规划和 ACL 设计后者才是评阅人会逐条核对的东西。2.2 地址规划表VLSM、预留段和网关设计决策规划 IP 的第一步是数清楚需要几个网段。办公区、实验室、服务器区、交换机到路由器的互连至少四个网段。常见做法是不管三七二十一全部甩 /24结果每个段可用地址 254 台实际一个 VLAN 里只有不到十台终端。谢希仁《计算机网络》里的子网划分在课程设计中就是原题级的应用按自顶向下的思路做规划顺序应当是「先分网段再定掩码最后落接口地址」。这里给出一份可以直接照抄的规划表用途网段掩码可用主机数网关地址VLAN 10 办公区192.168.10.0/25126192.168.10.1VLAN 20 实验室192.168.10.128/25126192.168.10.129VLAN 30 服务器区172.16.30.0/2814172.16.30.1交换机-路由器互连192.168.99.0/302192.168.99.1这张表里有三个设计决策值得在报告里展开。第一办公和实验室同属于 192.168.10.0/24 主类网段向上游路由宣告时可以聚合成一条 192.168.10.0/24减少路由表条目第二互连段用 /30只提供两个可用地址正好是一个路由器接口加一个交换机接口的需求一个字节都不浪费第三服务器区单独占用 172.16.30.0/28和办公、实验室网段拉开距离ACL 策略写起来一目了然。网关地址全部取网段内第一个可用地址这个习惯能让你在看配置时不用对着规划表反复换算。2.3 VLAN 切割与端口-设备-地址对照表VLAN 划分的依据不是「每个房间一个 VLAN」而是「谁和谁共享广播域」。课程设计场景里通常就三类参与者办公行政终端、实验室学员机、服务器与打印机。把终端和服务器切开是一个默认不会错的设计。划完 VLAN 后紧接着做一张端口对照表这张表是整个配置阶段唯一的事实来源设备接口端口模式VLANIP 地址用途PC-A1SW-A Fa0/1access10192.168.10.11办公终端PC-A2SW-A Fa0/2access10192.168.10.12办公终端PC-B1SW-B Fa0/1access20192.168.10.131实验室终端SW-AGi0/1trunk10,20,30无上联 SW-BRouterGi0/0.10子接口10192.168.10.1办公网关RouterGi0/0.20子接口20192.168.10.129实验室网关ServerSW-A Fa0/24access30172.16.30.2DNS/文件服务注意这张表里的两个细节PC 的地址从 11 开始而不是从 1 开始1 到 10 这段预留给网关、交换机管理地址和将来可能要加的网络设备这份「预留感」在报告里很加分服务器地址 172.16.30.2 落在 172.16.30.0/28 段内第一个可用地址 .1 之后.1 是路由器子接口.2 给服务器后面再扩服务器也不用改规划。3. 模拟器里跑通小型网络VLAN 创建、TRUNK 封装与子接口网关3.1 首次配置交换机VLAN 数据库与 access 端口配置顺序遵循「先二层、后三层、先交换机、后路由器」的惯例。进入交换机后先做基础设置Switch enable Switch# configure terminal Switch(config)# hostname SW-A SW-A(config)# vlan 10 SW-A(config-vlan)# name OFFICE SW-A(config-vlan)# vlan 20 SW-A(config-vlan)# name LAB SW-A(config-vlan)# vlan 30 SW-A(config-vlan)# name SERVER SW-A(config-vlan)# exit SW-A(config)# interface FastEthernet0/1 SW-A(config-if)# switchport mode access SW-A(config-if)# switchport access vlan 10 SW-A(config-if)# interface FastEthernet0/24 SW-A(config-if)# switchport mode access SW-A(config-if)# switchport access vlan 30说明vlan 10进入 VLAN 配置模式name OFFICE只是给 VLAN 一个可读名称不写也能工作但报告和设备命名习惯里最好保留switchport mode access把端口强制设为接入模式接入端口只属于一个 VLAN收到不带标签的帧时打上access vlan指定的编号。两条命令必须都写如果端口默认协商模式是 dynamic desirable后面接 PC 或接 switch 时模式协商可能出现意外边界行为不好预测。3.2 TRUNK 链路802.1Q 标签与 allowed vlan 的取舍两台交换机之间要同时承载 VLAN 10、20、30中间链路必须配置为 trunk。trunk 让多个 VLAN 的流量共享同一条物理链路通过 802.1Q 标签区分帧属于哪个 VLANSW-A(config)# interface GigabitEthernet0/1 SW-A(config-if)# switchport trunk encapsulation dot1q SW-A(config-if)# switchport mode trunk SW-A(config-if)# switchport trunk allowed vlan 10,20,30对面 SW-B 的 Gi0/1 做同样配置。参数要点encapsulation dot1q在 Packet Tracer 里有时默认就是 dot1q但真实交换机上不写可能无法协商保留这句能让配置在 GNS3 里同样成立allowed vlan 10,20,30限定这条 trunk 只放行这三个 VLAN。如果不写这一行默认放行所有 VLAN包括 VLAN 1——课程设计里有一个高频事故明明各终端都能互相 ping 通服务器却只能从交换机 A 访问从交换机 B 侧就不通查到最后基本是allowed vlan列表漏掉了 30或者反过来设计者有意不让服务器流量跨交换机但没在报告里写明这个意图。把端口模式做成一张对照表开局前就订好能省掉大量排错时间端口模式承载 VLAN 数帧标签课程设计用途access1无标签连接 PC、服务器、打印机trunk多个802.1Q 标签交换机之间、交换机到路由器子接口dynamic desirable协商决定协商决定不建议使用3.3 路由器子接口单臂路由的封装细节小型网络的网关放在路由器上。所谓单臂路由就是路由器用一条物理链路加多个子接口分别充当每个 VLAN 的网关。子接口要显式指定encapsulation dot1QRouter(config)# interface GigabitEthernet0/0 Router(config-if)# no shutdown Router(config-if)# interface GigabitEthernet0/0.10 Router(config-if)# encapsulation dot1Q 10 Router(config-if)# ip address 192.168.10.1 255.255.255.128 Router(config-if)# interface GigabitEthernet0/0.20 Router(config-if)# encapsulation dot1Q 20 Router(config-if)# ip address 192.168.10.129 255.255.255.128 Router(config-if)# interface GigabitEthernet0/0.30 Router(config-if)# encapsulation dot1Q 30 Router(config-if)# ip address 172.16.30.1 255.255.255.240三个子接口的逻辑一致encapsulation dot1Q 20告诉路由器收到带 VLAN 20 标签的帧就交给子接口 G0/0.20 处理网关地址取该网段第一个可用地址。no shutdown只需要在物理接口 G0/0 上写一次子接口默认继承物理接口状态。这里有两个常见坑一是物理接口没no shutdown子接口配置再完整也不通二是误以为子接口编号 0.20 必须和 VLAN 编号一致实际上真正决定标签映射关系的是encapsulation dot1Q后面那个数字接口名只是管理员可读标识。如果选三层交换机做网关对应做法是interface vlan 10加ip address加no shutdown逻辑等价但多一层 SVI 概念。小型课程设计我一般推荐路由器子接口因为单臂路由把「VLAN 间路由」这件事拆成了「标签 子接口 网关地址」三个明确步骤答辩时更好讲。3.4 PC 接入与三层连通验证在模拟器里给 PC 配置静态地址时可以在图形界面填也可以直接用命令行PC ip 192.168.10.11 255.255.255.128 192.168.10.1 PC ip 192.168.10.131 255.255.255.128 192.168.10.129命令的三个参数分别是 IP、掩码、网关。注意第二台 PC 的网关是 192.168.10.129属于 VLAN 20 的子接口地址。很多人第一次配置时把网关填成了另一台 PC 的地址二层显示链路正常但跨网段访问永远得不到回应——因为数据包被交给了一个不存在的网关。到此步VLAN 10 的 PC 应当能 ping 通 VLAN 20 的 PC。不通时按顺序查show ip interface brief看子接口是否 up/upshow vlan brief看端口确实划入对应 VLANshow interfaces trunk看 trunk 状态是否是 trunking、allowed vlan 列表里有没有目标 VLAN。这三个命令能覆盖绝大多数「配置没生效」的场景。4. 让小型网络的设计可用DHCP 地址池、内网 DNS 与 ACL 访问策略4.1 DHCP 地址池排除地址、默认网关和 DNS 一起下放网络通了不代表可用。课程设计的评分细则里通常有「终端自动获取地址」这一项在路由器上起 DHCP 是最直接的做法。规划表里的网关、DNS、服务器地址都要通过excluded-address排除掉避免地址池把网关地址也分出去Router(config)# ip dhcp excluded-address 192.168.10.1 192.168.10.10 Router(config)# ip dhcp excluded-address 192.168.10.129 192.168.10.138 Router(config)# ip dhcp pool OFFICE Router(dhcp-config)# network 192.168.10.0 255.255.255.128 Router(dhcp-config)# default-router 192.168.10.1 Router(dhcp-config)# dns-server 172.16.30.2 Router(dhcp-config)# lease 1 0 0 Router(dhcp-config)# ip dhcp pool LAB Router(dhcp-config)# network 192.168.10.128 255.255.255.128 Router(dhcp-config)# default-router 192.168.10.129 Router(dhcp-config)# dns-server 172.16.30.2 Router(dhcp-config)# lease 1 0 0两个池分别服务 VLAN 10 和 VLAN 20路由器根据收到 DHCP 请求的子接口判断该从哪个池分配。default-router就是该子网的网关dns-server指向 4.2 节要配置的内网 DNSlease 1 0 0表示租期一天课程设计默认不用改。排错时用show ip dhcp binding看哪个 MAC 拿到了哪个地址debug ip dhcp server packet能看到完整交互过程但模拟器里调试完记得关掉这个命令在真实设备上会刷屏。答辩高频追问是如果 DHCP 服务器不在终端的网关设备上怎么工作答案是ip helper-address网关收到广播形式的 DHCP 请求后转换成单播转发给服务器。本方案里 DHCP 就在路由器上子接口就是网关广播在网关终结直接用池分配。能答清楚这一层说明你理解的是中继机制而不是抄配置。4.2 内网 DNS把服务器 IP 变成可读域名在服务器上启用 DNS 服务添加两条 A 记录file-server指向 172.16.30.2www指向 172.16.30.3如果规划里预留了第二个服务器地址。然后在 PC 上执行PC nslookup file-server能解析出 172.16.30.2说明 DNS 查询链路完整。这一步做完网络从「IP 层通了」进化成「应用层能用了」报告里写「内网通过 DNS 实现了服务名的统一入口」是一个成本很低但很完整的应用场景闭环。注意 PC 的 DNS 地址必须是指向这台服务器DHCP 里的dns-server参数要和服务器实际 IP 保持一致——很多模拟器实验里 PC 明明拿到了地址却打不开网页就是 DNS 指向了不存在的地址。4.3 ACL 访问策略在资源侧做出口过滤小型网络设计里 ACL 的典型场景是「实验室终端不允许访问服务器区办公终端允许」。这里不能用标准 ACL标准 ACL 只能匹配源地址无法精确表达「源是实验室、目的是服务器」这个二元条件必须用扩展 ACLRouter(config)# access-list 101 deny ip 192.168.10.128 0.0.0.127 172.16.30.0 0.0.0.15 Router(config)# access-list 101 permit ip any any Router(config)# interface GigabitEthernet0/0.30 Router(config-if)# ip access-group 101 out101是扩展 ACL 的编号范围100-199deny ip后面依次是源网段与反掩码、目的网段与反掩码。反掩码 0.0.0.127 表示 /25 子网中只关心网络位、主机位任意0.0.0.15 对应 /28。挂在 G0/0.30 的out方向对离开路由器前往服务器区的流量做检查实验室网段去服务器被丢弃办公网段被permit ip any any放行。放置方向是评阅人最爱追问的点。放在服务器子接口的出口而不是实验室子接口的入口原因是靠近资源侧做统一过滤无论流量来自哪个 VLAN都要经过同一道闸口如果放在 G0/0.20 的 in 方向将来新增 VLAN 40 也要访问服务器就得多加一条规则而出口过滤天然覆盖所有入口。ACL 隐含的最后一条规则是 deny any所以permit ip any any必须写否则办公网段也会被拦掉。配置 ACL 的时机放在网络全通之后不然排错时永远分不清是路由问题还是策略拦截。5. 答辩前必做的连通性验证分层 ping 与 show 命令的阅读顺序5.1 从 ping 网关到 show access-lists 的排错顺序「网络是通的」必须有证据支撑。答辩演示时按下面的顺序做一轮验证每步都对应一个明确的排错命令步骤操作验证目标不通时看什么1PC 先 ping 自己的网关二层链路与终端 IP 配置show vlan brief、show mac address-table2ping 对端 VLAN 的 PC单臂路由与子接口封装show ip interface brief、show interfaces trunk3ping 服务器 IP 再 ping 域名路由、ACL、DNS 解析show ip route、show access-lists 1014在路由器上交叉看两张表三层路由与二层转发的对应关系show ip route对比show mac address-table第四步的交叉验证是很多人忽略的路由表告诉你数据包该走哪个子接口交换机的 MAC 地址表也就是现代交换设备上的网桥转发表告诉你下一跳设备有没有学到终端 MAC。两张表对不上问题基本出在 trunk 或端口模式上。比如路由表显示去 192.168.10.128/25 走 G0/0.20但 SW-B 的 MAC 表里学不到 PC-B1 的 MAC那就要回交换机查端口配置而不是在路由器上反复改 IP。答辩时有一个高频现场VLAN 20 的 PC 能 ping 通自己的网关但访问服务器不通而 VLAN 10 一切正常。这种情况不要直接改配置先在路由器上读 ACL 计数Router# show access-lists 101看deny那行的匹配次数是否在增长。增长说明策略正在按预期拦截设计没问题演示到这里已经可以收尾不增长而流量确实不通再去查路由表到 172.16.30.0/28 的直连路由是否存在。ACL 计数是排错里最直观的「流量确实到达了某条规则」的证据熟练用它整个定位过程从猜测变成了证据链。5.2 交付材料里的测试记录把验证过程变成答辩证据课程设计的交付不只有配置文件还有一份测试记录。建议把上面四步的 ping 结果、show ip dhcp binding的租约输出、show access-lists 101的计数截图按时间顺序贴进文档。这些输出比任何文字描述都有说服力。最后给一个容易忽略的检查点所有设备配置完在模拟器里用show run逐台导出配置并保存为独立文件命名为SW-A-config.txt、R1-config.txt。答辩现场一旦被要求重演配置过程直接打开对应文件逐段讲同时可以快速对比实际运行配置与交付文档是否一致配合no access-list 101删除旧 ACL 再重新下发新规则的修改过程一轮排错下来评阅人会看到你是在「读配置」而不是「背配置」。这份从验证到归档的完整链路才是小型网络设计课程设计里真正拉开差距的地方。本文还有配套的精品资源点击获取