
简介计算机网络综合题文档是一份面向计算机网络课程期末复习、考研冲刺及技能考证备考的典型习题集围绕IP地址规划与路由转发核心考点展开。内容涵盖IP地址二进制与十进制转换、A/B/C类地址识别、子网掩码与子网划分、CIDR路由表下一跳匹配、主机网段归属判断以及基于VLAN的交换机配置与地址广播分析等综合应用题适合需要通过大量例题巩固理论并提升解题速度的学习者。资源包共包含1个doc文档容量为358KB文档以分题方式呈现附有部分答案与计算过程可直接打印或对照练习。目前已有124人学习适合作为考前突击或日常刷题的资料补充。1. 这道计算机网络综合题把子网划分、CIDR 路由和 VLAN 串成了一条线拿到这份《计算机网络综合题》文档的时候我第一反应是它可能又是一份期末复习题的简单堆砌。但翻完里面的题目才发现它其实是把计算机网络里最容易混淆的三块内容——IP 地址与子网划分、CIDR 最长前缀匹配、VLAN 与 Trunk 配置——用十几道综合题串成了一条完整的知识链路。文档里的题目全部带答案和解析覆盖了从进制转换到校园网拓扑设计的完整梯度对正在准备计算机网络期末考试、或者想系统梳理 TCP/IP 网络知识的人来说算是一份可以直接拿来刷的复习资料。文档里有个很反直觉的地方同一个知识点它会在不同题目里反复出现但每次考察的角度都不一样。比如 C 类地址的子网掩码第一题问的是基础划分后面就变成结合 VLAN 问交换机配置再往后就变成了校园网里的介质选型题。这种编排思路其实就是考试的真实逻辑——知识点是固定的但出题角度可以千变万化。适合的人群很明确计算机相关专业正在复习备考的学生或者刚入行的网络工程师想系统过一遍基础概念。文档里的题目难度从基础到进阶都有不需要你有实际的设备操作经验只要跟着题目把每个知识点的原理搞清楚就能建立一套完整的网络知识框架。2. 子网划分与 IP 地址计算从进制转换到 VLSM 的完整闭环2.1 为什么要从二进制开始算而不是直接背答案文档第一题就给了个很典型的例子IP 地址是11001010.01100000.00101100.01011000要求转十进制、判断类别、写出默认子网掩码和主机号。很多人看到这种题第一反应是用计算器但实际上进制转换是后面所有子网划分题的基础这个能力必须练到条件反射的程度。# Python 快速验证二进制转十进制 binary_ip 11001010.01100000.00101100.01011000 parts binary_ip.split(.) decimal_parts [str(int(part, 2)) for part in parts] print(..join(decimal_parts)) # 输出: 202.96.44.88int(part, 2)的作用是把二进制字符串转成十进制整数split(.)把 IP 地址按点分成四段。用这段代码可以快速验证手算结果但对于复习备考来说更重要的是理解转换的手算过程从最高位开始每一位乘上对应的 2 的幂次然后累加。判断 IP 地址类别有个更快的办法看第一段的十进制范围。A 类是 1-126B 类是 128-191C 类是 192-223。202 落在 C 类范围内所以默认为 C 类地址子网掩码就是255.255.255.0主机号就是最后一个字节 88。这些基础结论要熟到能脱口而出因为后面的子网划分题都是在这个基础上做变化的。2.2 划分子网的核心步骤先定借位数再算区间文档里有一道经典题把202.96.44.0划分成四个子网包括全 0 和全 1 子网。这道题的答案直接给了255.255.255.192作为子网掩码四个子网区间分别是202.96.44.1~63、65~127、129~191、193~254。# 计算子网掩码和区间 import ipaddress network ipaddress.ip_network(202.96.44.0/26) print(network.netmask) # 输出: 255.255.255.192 for subnet in network.subnets(prefixlen_diff0): print(subnet) # 输出四个子网: # 202.96.44.0/26 # 202.96.44.64/26 # 202.96.44.128/26 # 202.96.44.192/26这里的关键是理解为什么借 2 位就能得到 4 个子网C 类地址默认 24 位网络号要划 4 个子网需要 2 位子网号所以网络前缀变成 24226 位掩码就是255.255.255.192二进制最后一位是 11000000。每个子网有 64 个地址去掉网络地址和广播地址可用主机是 62 个。文档明确写了包括全 0 和全 1 的子网这在考试里是个重要信号。传统 Cisco 设备默认不允许使用全 0 和全 1 子网也就是ip subnet-zero命令默认关闭但现在的考试和实际网络环境基本都支持。做题的时候一定要看清楚题目有没有这个限制词如果没写那就按最保守的方式算给出 2 的子网数次方减 2 个可用子网。2.3 VLSM 可变长子网掩码同一个网段里怎么容纳不同规模的子网文档里那道 5 台主机分属几个网段的题目考察的就是 VLSM 的实际应用。A 主机的 IP 是202.101.102.18B 是146C 是158D 是161E 是173子网掩码全是255.255.255.240。答案说分成 3 个网段A 一个B 和 C 一个D 和 E 一个。这个结论很多人第一次做会算错因为容易默认 IP 地址相近就在同一个网段。正确做法是把每个 IP 和掩码做 AND 运算算出各自的网络地址。255.255.255.240的二进制是11111111.11111111.11111111.11110000也就是借了 4 位子网号每个子网 16 个地址。把关键 IP 的二进制写出来对照18 00010010网络地址是00010000 16146 10010010网络地址是10010000 144158 10011110网络地址是10010000 144161 10100001网络地址是10100000 160173 10101101网络地址是10100000 160所以 B 和 C 都在202.101.102.144/28这个网段D 和 E 都在202.101.102.160/28这个网段。这个计算过程看起来繁琐但它是网络工程师的基本功——排查 IP 冲突、配置 ACL 规则、规划新网段全都依赖这个能力。2.4 广播地址和可加入主机范围的计算技巧文档里第五问问到广播地址和哪些主机能收到广播。202.101.102.164所在网段的网络地址我们已经算出来是 160广播地址就是 160 15 175也就是202.101.102.175。在这个网段里的 D161和 E173都能收到广播。加入第六台主机 F 使其与 B 属于同一网段的题目答案是202.101.102.144~202.101.102.159。这里需要特别注意这个范围包含了网络地址 144 和广播地址 159实际可分配的主机地址是 145 到 158。考试题目有时候会把范围写全有时候严格区分答题的时候看题目怎么要求但在实际工程配置里网络地址和广播地址是绝对不能分配给主机用的。3. 路由表与最长前缀匹配CIDR 环境下如何确定下一跳3.1 最长前缀匹配的底层逻辑不是看数字大小是看匹配长度文档里给了两个几乎一样的 CIDR 路由表题目网络号都是C4.50.0.0/12开头但下一跳不同。这类题很多人会做错原因是只看到前两位十六进制一样就急着选忽略了对前缀长度的精确匹配。路由查表的过程是这样的路由器收到一个目的 IP 地址后把路由表里每条路由的网络掩码拿出来和目的地址做 AND 运算如果结果等于这条路由的网络号就说明匹配上了。把所有匹配的路由都找出来取前缀最长的那条作为最终下一跳。这个规则叫最长前缀匹配是 CIDR 能工作的核心。# 最长前缀匹配算法伪代码 def longest_prefix_match(routes, dest_ip): best_route None best_prefix_len -1 for route in routes: network, prefix_len, nexthop route if dest_ip mask_from_prefix(prefix_len) network: if prefix_len best_prefix_len: best_prefix_len prefix_len best_route nexthop return best_route核心逻辑是dest_ip mask network这个判断条件以及prefix_len best_prefix_len的更新逻辑。两条缺一不可前者保证路由匹配后者保证匹配到的路由一定是最具体的。3.2 十六进制地址的二进制转换技巧文档里的路由表地址全是十六进制的比如C4.5E.2.0/23、C4.5E.4.0/22。做题的第一步就是把目标 IP 地址也转成十六进制然后逐条比对。这里有个手算技巧十六进制每一位对应二进制的 4 位所以一个字节正好可以用两个十六进制字符表示。以C4.4B.31.2E为例要判断它匹配哪条路由先看前两个字节C4.4B。路由表里有C4.5E.2.0/23、C4.4C.0.0/14这些条目。C4.4B明显不匹配C4.5E开头的前缀得看C4.4C.0.0/14。14 位前缀对应网络掩码的前 14 位是 1也就是前 1.75 个字节实际覆盖范围是C4.40.0.0到C4.43.255.255。C4.4B不在这个范围内所以这条也不匹配。再往下查C4.4C.0.0/14覆盖C4.4C.0.0到C4.4F.255.255C4.4B依然不匹配。最后看C0.0.0.0/2前缀 2 位对应第一字节的前 2 位是 11覆盖C0.0.0.0到FF.255.255.255C4.4B.31.2E匹配下一跳就是 E。3.3 用前缀划分快速缩小匹配范围再举文档里另一个例子目标地址C4.5E.13.87。它匹配C4.5E.0.0开头的一系列路由。路由表里有C4.5E.4.0/22覆盖C4.5E.4.0到C4.5E.7.255和C4.5E.40.0/18覆盖C4.5E.40.0到C4.5E.7F.255。C4.5E.13.87第三字节是13十六进制的13等于十进制的 19落在0x04到0x07这个范围内所以匹配/22那条下一跳是 B。这类题做的多了会发现一个规律第一字节相同的路由往往有很多条关键是看第二字节和第三字节落在哪个前缀区间里。可以先按前缀长度排序从最长的开始查命中率会高很多。实际工程里路由器的 FIB 表也是按前缀长度组织成多级索引结构的查表效率非常高。4. VLAN 与校园网设计从 Trunk 配置到介质选型的实战逻辑4.1 Trunk 端口配置dot1q 封装和 VLAN 允许列表文档里那道交换机配置题给出了完整的命令行过程要求在 Switch1 上配置 trunk 口和 VLAN 11。命令本身不复杂但每一条的作用必须说清楚Switch1# config terminal Switch1(config)# interface f0/24 Switch1(config-if)# switchport mode trunk Switch1(config-if)# switchport trunk encapsulation dot1q Switch1(config-if)# switchport trunk allowed vlan all Switch1(config-if)# exit Switch1(config)# vlan database Switch1(vlan)# vlan 11 name lab01 Switch1(vlan)# exit Switch1(config)# interface f0/9 Switch1(config-if)# switchport mode access Switch1(config-if)# switchport access vlan 11 Switch1(config-if)# exit Switch1(config)# exit Switch1# copy running-config startup-config第一个switchport mode trunk把端口设为 trunk 模式第二个switchport trunk encapsulation dot1q指定 trunk 封装的协议是 802.1Q这个在 Cisco 交换机上必须配置因为 Cisco 私有协议 ISL 和标准协议 dot1q 不能混用第三个allowed vlan all允许所有 VLAN 的数据通过 trunk 口转发。后面创建 VLAN 11 的命令分两种写法老设备用vlan database模式新设备可以直接在全局配置模式下用vlan 11创建。端口 f0/9 的设置是 access 模式并划入 VLAN 11这条是接入层交换机最常用的配置。4.2 创建 VLAN 的两种命令模式vlan database 和全局配置文档答案里提到了两种创建 VLAN 的方式Switch1# vlan database模式和Switch1(config)# vlan 11全局配置模式。这里有个容易踩坑的点vlan database是 Cisco IOS 老版本的命令从 IOS 12.2 之后基本都用全局配置模式直接创建了。如果考试题目给出的设备是模拟器里的老版本就必须用vlan database写法如果是新版本设备直接全局配置就行。VLAN 命名的细节要留意vlan 11 name lab01里的名字是自定义的不要求跟 VLAN 号有任何关系。有些同学会误以为名字里必须包含 VLAN 号其实完全没必要。名字只是给管理员看的标识方便记忆和排错。4.3 校园网介质选型距离和带宽决定的不是选择题是工程决策文档里那道校园网拓扑题给了信息中心到图书馆 2 千米、到教学楼 300 米、到实验楼 200 米的距离约束要求选传输介质。答案依次是单模光纤、多模光纤、5 类双绞线、多模光纤。这个答案背后是介质选型的三条原则传输距离超过 1 千米必须用光纤。单模光纤传输距离远最大可以到几十千米适合做楼宇之间的主干。多模光纤适合 300 米到 2 千米的室内或园区布线成本比单模低。5 类双绞线的有效传输距离是 100 米只能用在楼层设备间到信息点这段最后一百米。这个选型逻辑在实际的校园网、企业网设计中是通用的——先量距离再选介质最后匹配带宽需求。4.4 交换机选型根据位置和功能需求看参数表文档给了一张交换机参数表要选出 Switch1 到 Switch4 各用哪种型号。答案依次是 C、B、D、A。选型的核心逻辑是看交换机的端口密度和上行带宽。汇聚层交换机要承担所有接入层交换机汇聚上来的流量所以背板带宽要大端口速率要高。接入层交换机负责桌面终端的接入百兆到桌面即可端口数要多但速率要求低。核心层交换机在信息中心要求千兆接入因为要接多台服务器数据流量大。这就是为什么 Switch3 要用最高配的设备——它在拓扑图里承担的是核心交换的角色直接连接服务器和防火墙。图书馆设备间交换机数量的计算也要看参数表二层有 60 个信息点四层有 48 个如果单台交换机只有 24 个端口那二层至少要 3 台24×372 端口但实际冗余需要留余量四层至少要 2 台。文档答案是2和4结合题目的具体要求能对上号。5. 综合题避坑指南进制转换、CRC 校验和 NAT 场景的常见错误5.1 子网号借位和掩码对应关系算错现象把255.255.255.240误认为借了 3 位子网号导致后续所有网络地址和广播地址全算错。原因240的二进制是11110000前四位是 1所以是借了 4 位不是 3 位。很多人只记住了 128、192、224、240 这些十进制数字但没有建立二进制到十进制之间的快速映射。解决把常用的掩码值二进制写在手边240 11110000 /28 每个子网 16 个地址。做题前先把掩码的二进制写出来明确借位数再开始计算。5.2 网络地址和广播地址被错误分配给主机现象题目问某台主机能加入哪个网段答案直接把网络地址或广播地址包含进去。原因理解上把地址范围和可用主机地址混为一谈。网络地址是整个子网的起始地址用于标识这个网段本身广播地址是全 1 主机位用于向网段内所有主机发送广播这两个地址都不能分配给主机网卡使用。解决计算完网段范围后用一句话自查——第一个地址是网络地址最后一个地址是广播地址中间才是可用的主机地址范围。把202.101.102.144~202.101.102.159这样的答案改成202.101.102.145~202.101.102.158才是完整可用主机列表。5.3 CRC 校验余数判断错误现象文档里的 CRC 题收到的信息码字是110111CRC 校验和为1001生成多项式是G(x) X^4 X^3 1。答案是余数不为 0判定信息错误。很多人计算过程中把校验和的位数和生成多项式的阶数对应错。原因生成多项式是 4 阶对应 5 位二进制11001做除法的时候要在信息码字后面补 4 个 0 再除。如果补了 4 个 0 但除数用了错误的位数余数就会算错。解决先把生成多项式展开成完整二进制形式——X^4 X^3 1对应11001第 4 位、第 3 位和第 0 位是 1。被除数是在信息码字后补生成多项式的阶数个 0也就是补 4 个 0 变成1101110000。按异或除法逐位计算最后余数非 0 就是有错。5.4 NAT 和代理服务器的源地址转换混淆现象文档里那道 NAT 题192.168.0.36的计算机发到 Internet 的数据包源 IP 是202.117.12.34很多人不理解为什么不是202.117.12.36。原因202.117.12.32/29这个网段只有 8 个地址可用的是202.117.12.33到202.117.12.38。代理服务器占用了其中两个公网地址一个给外网接口一个给 NAT 池。192.168.0.36是内网地址出去必须经过 NAT 转换源地址变成 NAT 池里的某个公网地址202.117.12.34。而202.117.12.36本身就是公网地址不需要转换。解决看到源地址是私网段的 IP第一步就要想到它会经过 NAT 转换。做完题后把网络地址规划画出来——哪些地址段是内网的、哪些是公网的、NAT 池里的地址范围是多少就不会搞混。6. 把综合题变成检查清单一个验证子网划分和路由匹配的通用技巧6.1 先画地址位图再动笔计算做子网划分题的时候我习惯先在草稿纸上画一张 8 位的二进制位图把网络位、子网位、主机位用竖线分开。这个习惯是从做文档里第一道题时养成的——那时候总在掩码和 IP 之间反复换算后来发现画出位图后每个子网的边界一目了然根本不需要死记硬背。比如255.255.255.192画出来就是11111111 | 11 | 000000竖线把 24 位网络号、2 位子网号、6 位主机号分开。每个子网的步长就是 2 的 6 次方等于 64四个子网的起始地址分别是 0、64、128、192。这个技巧在考试和实际配置里都通用——你只要看到掩码就能立刻反应出子网步长和可用主机数。6.2 路由匹配题用逐步缩小法验证CIDR 路由题最怕的就是在几条前缀相近的路由里选错。我的做法是先把目标 IP 的前三个字节转成十六进制然后一条路由一条路由地比对先看最长前缀的那条是否匹配如果不匹配再看次长的直到找到完全匹配的。以C4.5E.D1.02为例路由表里最长的前缀是/23和/22但第三字节D1超出了它们覆盖的02和04-07范围。接下来看/19覆盖第三字节C0到DFD1命中了下一跳就是 C。这个逐级缩小的过程跟路由器查 FIB 的原理是一样的——先按前缀长度排序从最具体开始匹配。6.3 把一套题反复做三遍每一遍关注点不同文档里的题目如果只是对答案看一遍效果会打折扣。我一般会分三遍来刷第一遍按照正常顺序做检验自己对每个知识点的掌握程度第二遍把答案遮住只做计算题重点练进制转换和子网划分的速度第三遍专门分析错题找出是概念理解的问题还是计算粗心的问题。这个方法看起来笨但对付计算机网络这种知识点多且相互关联的科目特别有效。尤其那两道几乎一样的 CIDR 路由表题第一遍做会选错第二遍做会犹豫第三遍做才能形成条件反射。从那以后我做网络规划题不管多简单的子网划分都会强制走一遍画位图、算步长、列区间、查边界的完整流程没有再在细节上丢过分。做任何网络相关的题目都一样——不要急着套公式先把结构画出来希望这个方法能帮到你。本文还有配套的精品资源点击获取