IP子网划分&超网划分
IPv4地址如果只使用有类(A、B、C类)来划分,会造成大量的浪费或者不够用,为了解决这个问题,可以在有类网络的基础上,通过对IP地址的主机号进行再划分,把一部分划入网络号,就能划分各种类型大小的网络了。步骤如下:
- 确认子网掩码;
- 确认子网的第一个可用IP地址和最后一个可用IP地址。
- 网段可用IP,主机位不能全是0,不能全是1
等长子网划分
以192.168.0.0/24网段为例,划分两个等长子网段。
如果将该网段划分为等长的两端,子网掩码(二进制形式)向后移一位,也就是说网络部分多一位,主机部分少一位,即255.255.255.0(11111111.11111111.11111111.00000000)变成255.255.255.128(11111111.11111111.11111111.10000000)。 | |||
![]() |
|||
网络地址 | 广播地址 | 可用IP | |
子网A | 192.168.0.0/25 | 192.168.0.127 | 192.168.0.1~192.168.0.126 |
子网B | 192.168.0.128/25 | 192.168.0.255 | 192.168.0.129~192.1680.254 |
- 规律总结:
- 当一个默认网段划分为N个等长子网,首先将该网段的子网掩码向后移动N位,得到的每个子网段大小是原来二分之一的N次方。
- 根据子网掩码确定每个子网段的网络地址(网段)和广播地址,就是划分后的第一个和最后一个IP。
- 剩下的地址就是可用IP地址。
变长子网划分
变长子网划分其实就是,在等长子网的划分上,分别取不同等分子网中的某个或者多个子网。在实际工作环境中,变长子网划分的情况更加常见。
采用可变长子网掩码可解决有类IP地址会造成地址浪费的问题。缺省子网掩码可以进一步划分,成为变长子网掩码(VLSM)。
以192.168.10.0/24为例
![]() |
如上示例划分分析结果: B子网 C子网 D子网 E子网 |
- 规律总结:
- 当一个网段划分为N个不等长子网,首先需要确定划分的子网段需要服务多少台主机,然后根据服务的主机数分配IP地址的数量。
- 根据IP地址的数量决定大小合适的子网段,然后调整子网掩码向后移动几位(操作方法与等长划分基本相同)。
- 根据子网掩码确定每个子网段的网络地址(网段)和广播地址,就是划分后的第一个和最后一个IP。
- 剩下的地址就是可用IP地址。
无类别域间路由(CIDR)
无类别域间路由(CIDR) CIDR是开发用于帮助减缓IP地址和路由表增大问题的一项技术。
作用:CIDR支持路由聚合,能够将路由表中的许多路由条目合并为成更少的数目,因此可以限制路由器中路由表的增大,减少路由通告。
![]() |
如图,原本是四个不同的子网段,正常情况下在路由器上的路由表中会有四条下连网段的路由条目,并且会把它通告给其他路由器。通过实施CIDR技术,我们可以在企业的路由器上把这四条路由10.24.0.0/24,10.24.1.0/24,10.24.2.0/24,10.24.3.0/24汇聚成一条路由10.24.0.0/22。这样,企业路由器只需通告10.24.0.0/22这一条路由,大大减小了路由表的规模。 |
注意:但是你必须知道的1点是:不管是A类还是B类还是其他类地址,最大可用的只能为/30,即保留2位给主机位。
超网合并
超网(Supernetting)是与子网类似的概念,IP地址根据子网掩码被分为独立的网络地址和主机地址。与子网划分(把大网络分成若干小网络)相反,它是把一些小网络组合成一个大网络,就是超网。
在日常使用环境中,如果原本划分的网段已经不能满足需求,就需要再新划分一个网段,但是这两个网段之间的通信需要通过路由转发,所以超网合并可以将原本的两个网段进行合并(但不是什么样的连续网段都可以合并,随后会详细解释)。
比如,将192.168.0.0/24和192.168.1.0/24 两个C类网络合并:
![]() |
如图,原本两个网段的网络部分不相同,子网掩码是/24。将两个网段合并,与子网划分相反,掩码主机位增加,网络位减少,子网掩码向左移动一位,让两个网段的网络位部分相同。合并之后的子网掩码是255.255.254.0,网段是192.168.0.0/23。 而且合并之后192.168.0.255也可以作为正常IP使用,不再是广播地址,因为其主机位已经不都是1了。(主机位多了一位0) |
![]() |
网段合并规律:
将子网掩码向左移动N位,合并2的N次方个网段。即子网掩码左移1位能够将能够合并两个网段,左移2位,能够合并四个网段,左移3位,能够合并8个网段。 |
![]() |
注意:网段合并的首要条件是合并的网段是连续网段,但不是所有连续网段都可以合并。
以 192.168.1.0/24 和 192.168.2.0/24 这两个网段为例。 |
![]() |
合并两个网段,子网掩码向左移动一位,得到子网掩码255.255.254.0。但是此时的两个网段的网络部分并不相同,所以并不能进行合并。 要做到两个网段的网络部分保持一致,就需要向左移动两位,这时的子网掩码就是255.255.255.252。这样的操作实际上就是将192.168.0.0~192.168.3.0里的4个网段都进行了合并。 |
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)