简介这份PPT学习教案面向计算机网络初学者与备考学生系统讲解子网与子网掩码的核心知识帮助读者理清IP地址中网络号、子网号与主机号的划分逻辑解决子网划分、掩码计算与广播地址求解等常见难点。资源包内含1个pptx文件整体约142KB以图文并茂的幻灯片形式呈现便于课堂讲授与自学翻阅。教案共19页内容涵盖子网概念、子网掩码作用、划分子网的实现方式、网络号与广播地址的计算方法并配有系统默认子网掩码对照表、多组广播地址练习及答案解析还通过具体例题演示如何判断两台主机是否处于同一子网。目前已有296人学习适合需要夯实网络基础、掌握子网计算思路的读者参考使用。1. 子网掩码不是“配着玩”的从一个 ping 不通的现场说起很多人第一次接触子网和子网掩码是在一份 PPT 学习教案里或者是在虚拟机里配 IP 时顺手填了个255.255.255.0。但真正让人翻车的往往不是不会算而是“算错了还觉得自己对”。我见过一个最典型的现场两台机器网线插在同一台交换机上IP 一个是192.168.1.10/24另一个是192.168.2.10/24双方都觉得自己在同一个局域网结果ping死活不通。问题不在交换机也不在网线而在子网掩码决定了它们根本不在同一个逻辑子网里。子网、子网掩码、IP 地址、网络号、广播地址这几个词单独看都认识合在一起就变成了一个必须动手算、动手配、动手验证的工程问题。这份“PPT 学习教案”式的标题背后真正要解决的是怎么把一套地址规划讲清楚怎么让听的人能自己算出网络号、广播地址和可用主机范围怎么在真实设备上把参数填对。适合网络入门的学生、刚转岗的运维、以及需要给团队做内部分享的工程师。2. 子网掩码到底在“掩”什么从 IP 地址到网络号的推导链2.1 为什么有了 IP 地址还需要子网掩码IP 地址本身只是一串 32 位二进制数它不告诉你哪一段是网络、哪一段是主机。子网掩码的作用就是用连续的1标出网络位用连续的0标出主机位。把 IP 地址和子网掩码做按位与运算得到的就是网络号。很多人背过“A 类默认掩码是 255.0.0.0”但真正要理解的是掩码长度决定了这个子网里能塞下多少台设备。比如255.255.255.0对应/24主机位有 8 位理论上有 256 个地址去掉网络号和广播地址可用主机是 254 个。如果换成255.255.255.192也就是/26主机位只剩 6 位每个子网只有 62 个可用地址。这个推导链是后面所有计算和配置的基础跳不过去。2.2 用 Python 把网络号、广播地址和可用范围一次算清手工把十进制转二进制再按位与做一两次可以做多了必错。我一般会直接写一小段 Python用标准库ipaddress把结果打出来既快又能当教案里的验证工具。import ipaddress # 定义一个带掩码的接口地址常见写法是 192.168.1.10/24 interface ipaddress.ip_interface(192.168.1.10/24) # 从接口对象里取出它所属的网络 network interface.network print(网络号:, network.network_address) print(广播地址:, network.broadcast_address) print(子网掩码:, network.netmask) print(可用主机数:, network.num_addresses - 2) print(第一个可用地址:, list(network.hosts())[0]) print(最后一个可用地址:, list(network.hosts())[-1])这段代码的逻辑很直接ip_interface把“地址掩码”当成一个整体network属性自动完成按位与并返回网络对象。network_address是网络号broadcast_address是广播地址num_addresses是总地址数减 2 就是可用主机数。参数上唯一要注意的是/24这种写法必须和实际掩码一致不能写成192.168.1.10/255.255.255.0混用虽然某些库能识别但在教案里统一用 CIDR 写法更不容易乱。如果算出来可用主机是 0 或负数说明掩码长度选错了比如/31或/32在传统子网里没有可用主机地址。2.3 子网划分的常见做法等长划分与 VLSM实际做地址规划时常见做法有两种。一种是等长划分比如把一个/24平均切成四个/26每个子网 62 台主机适合部门数量固定、每部门人数差不多的场景。另一种是 VLSM变长子网掩码比如一个/24先切出一个/26给服务器区剩下的再切一个/27给打印机再剩下的给临时设备。VLSM 的好处是地址不浪费坏处是教案里如果只画一张表听众很容易看晕。我一般会在 PPT 里放一张“子网清单表”把每个子网的网络号、掩码、可用范围、广播地址、用途列清楚比纯讲二进制直观得多。子网用途网络号掩码可用地址范围广播地址服务器区192.168.1.0255.255.255.192192.168.1.1 - 192.168.1.62192.168.1.63办公区192.168.1.64255.255.255.192192.168.1.65 - 192.168.1.126192.168.1.127打印机192.168.1.128255.255.255.224192.168.1.129 - 192.168.1.158192.168.1.159临时设备192.168.1.160255.255.255.224192.168.1.161 - 192.168.1.190192.168.1.191这张表可以直接放进教案也可以当配置时的对照单。注意每个子网的第一个地址是网络号最后一个地址是广播地址都不能配给主机。如果有人在虚拟机里把192.168.1.63配成主机地址就会和广播地址冲突表现为时通时不通这种玄学问题查起来很费时间。3. 在真实环境里配一遍Windows、Linux 和虚拟机固定 IP 的落地步骤3.1 Windows 10/11 手动配 IP 时最容易忽略的掩码字段在 Windows 里改 IP很多人只盯着 IP 地址填掩码那一栏随手选个255.255.255.0。但如果你的网段规划是/26掩码就必须是255.255.255.192。操作路径是控制面板 → 网络和共享中心 → 更改适配器设置 → 右键网卡 → 属性 → Internet 协议版本 4 → 使用下面的 IP 地址。填完之后用ipconfig /all确认掩码和网关是否一致。如果掩码填错最直接的现象是能 ping 通同子网的部分机器但 ping 不通网关或者能 ping 通网关但上不了外网。这里没有后悔药只能对着规划表逐项核对。3.2 CentOS 10 和常见 Linux 发行版里用 nmcli 固定 IP在 CentOS 10 或较新的 RHEL 系发行版里网络管理默认走 NetworkManager用nmcli比直接改配置文件更稳。下面是一个把网卡ens33配成静态 IP 的例子掩码用/24表示。# 查看当前连接名称通常是有线连接的名字 nmcli connection show # 修改指定连接的 IPv4 配置 nmcli connection modify ens33 \ ipv4.addresses 192.168.1.50/24 \ ipv4.gateway 192.168.1.1 \ ipv4.dns 223.5.5.5 \ ipv4.method manual # 重新激活连接使配置生效 nmcli connection up ens33 # 验证地址和掩码 ip addr show ens33这里的关键参数是ipv4.addresses后面的/24它同时决定了 IP 和掩码。ipv4.method manual表示不再用 DHCP否则你填的地址会被覆盖。nmcli connection up之后用ip addr看inet那一行如果显示192.168.1.50/24说明掩码生效。如果显示的是/32或者别的长度说明地址写法有问题。在虚拟机里做这一步之前最好先拍个快照配错了可以快速回退比重新装系统省事得多。3.3 Hyper-V 和虚拟机里固定 IP 的注意点在 Hyper-V 里给虚拟机固定 IP除了在虚拟机内部配好地址和掩码还要注意虚拟交换机绑定的物理网卡是否和宿主机在同一网段。常见做法是宿主机用192.168.1.1/24虚拟机用192.168.1.50/24网关指向宿主机或路由器。如果虚拟机掩码写成255.255.255.0但宿主机实际是/25那虚拟机可能认为广播地址是192.168.1.255而实际广播地址是192.168.1.127结果就是广播包发错地方表现为虚拟机之间能通、和宿主机不通。排查时先在虚拟机里ping网关再在宿主机上arp -a看 MAC 地址是否对应基本能定位到掩码不一致的问题。4. 子网计算避坑与排查那些“看着对、实际错”的掩码写法4.1 现象能 ping 通同网段部分机器但 ping 不通网关原因子网掩码长度和网关不一致。比如网关是192.168.1.1/25你的机器是192.168.1.100/24你的机器认为192.168.1.1在同一个子网但网关认为你在另一个子网回包路径就断了。解决把掩码改成和网关一致或者用ipconfig/ip addr确认两边掩码长度相同。4.2 现象虚拟机克隆后 IP 冲突时通时不通原因克隆时把原虚拟机的静态 IP 和掩码一起复制了两台机器网络号相同、主机号相同。解决克隆后第一件事就是改 IP并且确认新 IP 在可用范围内没有撞上网络号或广播地址。如果用的是 DHCP检查 DHCP 租约里有没有重复分配。4.3 现象子网掩码取反算错广播地址推不出来原因有人用“取反”来算广播地址但取反的是掩码的主机位部分不是整个掩码。比如/24的掩码是255.255.255.0主机位取反是0.0.0.255网络号加上它就得到广播地址。如果直接对整个掩码取反会得到0.0.0.255以外的错误结果。解决用ipaddress库或者按“网络号 主机位全 1”来算不要凭感觉取反。4.4 现象PPT 里的例子和实际设备算出来的不一样原因PPT 里可能用了默认掩码而实际设备用了 VLSM。比如 PPT 写192.168.1.0/24实际规划是192.168.1.0/26网络号和广播地址都变了。解决教案里的例子必须和实际配置表一致讲的时候明确写出掩码长度不要只写“C 类地址默认掩码”。4.5 现象Windows 重做系统时误设网络要求输入邮箱无法跳过原因Windows 10/11 的 OOBE 阶段如果检测到网络会强制要求微软账户登录。解决拔掉网线或断开 Wi-Fi在“让我们为你连接到网络”界面选择“我没有 Internet 连接”然后继续受限设置。如果已经卡在邮箱输入页可以按Shift F10打开命令提示符输入oobe\bypassnro回车系统会重启并允许跳过。这个操作和子网掩码无关但很多人在重装后配网络时会把两件事混在一起先跳过账户再配 IP 更顺。5. 把教案变成可复现的验证工具一个批量计算脚本和三个检查习惯5.1 批量算一组子网的 Python 脚本如果教案里要列十几个子网手工算容易出错。我一般会写一个批量脚本把规划表里的 CIDR 列表一次性算完直接输出成 Markdown 表格贴进 PPT 就能用。import ipaddress # 把要规划的子网写进列表格式是 网络号/掩码长度 subnets [ 192.168.1.0/26, 192.168.1.64/26, 192.168.1.128/27, 192.168.1.160/27, ] print(| 网络号 | 掩码 | 可用范围 | 广播地址 |) print(| --- | --- | --- | --- |) for cidr in subnets: net ipaddress.ip_network(cidr, strictFalse) hosts list(net.hosts()) if hosts: first, last hosts[0], hosts[-1] usable f{first} - {last} else: usable 无可用主机 print(f| {net.network_address} | {net.netmask} | {usable} | {net.broadcast_address} |)这段脚本的关键是strictFalse它允许你写192.168.1.0/26这种网络号而不会因为主机位不为零报错。net.hosts()返回的是可用主机地址生成器转成列表后取首尾就是可用范围。如果某个子网没有可用主机比如/31或/32hosts()会返回空脚本里做了判断输出“无可用主机”。这个脚本可以直接当教案的附录让听众自己改列表验证。5.2 配完掩码后必做的三个检查第一个检查用ipconfig /all或ip addr看掩码长度是否和规划表一致。第二个检查ping网关通不通是掩码和网关是否同子网的直接证据。第三个检查ping同子网内另一台机器确认广播域内通信正常。这三个检查做完基本能排除 90% 的掩码配置错误。如果还不通再去看 ARP 表和交换机端口 VLAN 配置那已经超出子网掩码本身的范围了。5.3 我自己的习惯先画表再配 IP最后跑脚本验证我做了这么多年网络配置最深的教训就是不要一边想一边配。先把子网规划表画出来网络号、掩码、可用范围、广播地址、用途五列写清楚然后再去设备上填。填完不要急着点确定先跑一遍批量脚本把结果和规划表对一遍。对上了再配配完再 ping。这个习惯帮我省掉了无数次“配错了再回头查”的时间。子网掩码这东西算对了是基本功配对了是工程习惯。希望帮到你。本文还有配套的精品资源点击获取