IP子网计算,看这篇文章就够了

2025-10-16
来源:

子网计算前,先搞清IP地址的“身份证”。IP(Internet Protocol)地址是网络设备的门牌号,IPv4是32位二进制,写成十进制四段,比如192.168.1.1。简单说,它分成两部分:网络部分(前缀,标识网段)和主机部分(后缀,标识设备)。

子网掩码就是那道“分界线”,也32位,用点分十进制表示,如255.255.255.0。掩码中1代表网络位,0代表主机位。怎么看?二进制转换:255是11111111,0是00000000。所以255.255.255.0的前24位是1,后8位是0,意思是前3段(24位)是网络位,最后一段(8位)是主机位。

图片

一个网段的核心元素:

  • 网络地址:全0主机位,比如192.168.1.0。
  • 广播地址:全1主机位,比如192.168.1.255。
  • 可用主机:总主机数=2^主机位数 - 2(减去网络和广播地址)。

举个栗子:192.168.1.0/24(/24是CIDR表示,等于掩码255.255.255.0)。主机位8位,2^8=256,总地址256,可用254个(从.1到.254)。我早期配置家用路由器时,常忘减2,结果主机数算多,IP池溢出,设备连不上网。基础稳了,子网划分才能玩转。

再聊聊类地址:IPv4分A、B、C、D、E类。A类1-126(掩码/8),主机超多;B类128-191(/16);C类192-223(/24)。但现在用CIDR(Classless Inter-Domain Routing),类地址过时了,却得知道,因为老设备还认。

子网划分原理

子网计算的核心是“借位”:从主机位偷位给网络位,细分大网段成小网段。为什么借?节省IP,提高安全(隔离广播域),优化路由。

公式来袭:假设原网段/24,想分4个子网。主机位8位,借2位(2^2=4),新掩码/26(24+2)。每个子网主机数=2^(8-2)=64,总地址64,可用62。

步骤详解:

  1. 1. 确定需求:要几个子网?每个子网要几个主机?(记得+2备网络/广播)。
  2. 2. 算借位数:子网数=2^借位(向上取整)。主机数=2^(原主机位-借位)-2。
  3. 3. 二进制递增:网络地址从原网段开始,借位部分从000…递增到111…(二进制)。

拿经典例:192.0.2.0/24,分8个子网。

  • • 原主机位8,借3位(2^3=8),新/27。
  • • 每个子网:2^(8-3)=32地址,可用30主机。
  • • 子网列表:
    • • 192.0.2.0/27(0-31)
    • • 192.0.2.32/27(32-63)
    • • 192.0.2.64/27(64-95)
    • • …以此类推,到192.0.2.224/27(224-255)。

怎么算增量?借位3位,步长=2^(8-3)=32。就是从网络位后缀加32跳一个。手动转二进制:原网192.0.2.0是11000000.00000000.00000010.00000000,借后3位变11000000.00000000.00000010.000(网络)+00000000(主机全0)。

我当年在实验室练这个,纸上画二进制表,算错位移,子网重叠,ping全炸。秘诀:用表格记。

图片

这表一画,清晰了。借位法是基础,VLSM(可变长子网掩码)是进阶,能不同子网借不同位,超省IP。

手动计算实战

理论说多了没用,来实战。场景一:公司分部门网,172.16.0.0/16(B类),需5个子网:销售50主机、财务20主机、IT 100主机、仓库10主机、访客5主机。用VLSM,逐个借位。

先算最小子网(访客5主机):需7地址(+2),2^3=8>7,借3位。但从大网/16主机位16,借到/19(16+3=19)。等等,不对,VLSM从最大借起,避免浪费。

标准流程:

  1. 1. 列需求,按主机数降序:IT100(需102,2^7=128,借7位/23)、销售50(52,2^6=64,借6/22)、财务20(22,2^5=32,借5/21)、仓库10(12,2^4=16,借4/20)、访客5(7,2^3=8,借3/19)。
  2. 2. 从左起分配:大网172.16.0.0/16。
    • • IT借7:增量2^(16-7)=2^9=512。网络172.16.0.0/23,广播172.16.1.255,可用2-510(实际.1-.254和.1-.254)。
    • • 下一个从172.16.2.0起,销售借6:增量2^(16-6)=2^10=1024?错,VLSM增量基于当前剩余主机位。 实际:每个子网步长=2^(原主机位 - 本子网借位)。

精确算:

  • • 第一子网(最大):/23 (借7),地址块2^(32-23)=2^9=512地址,从172.16.0.0到172.16.1.255。
  • • 第二:从172.16.2.0,/22 (借6),块2^10=1024,从172.16.2.0到172.16.5.255。
  • • 第三:从172.16.6.0,/21 (借5),块2^11=2048,从172.16.6.0到172.16.13.255。
  • • 第四:从172.16.14.0,/20 (借4),块2^12=4096,从172.16.14.0到172.21.255.255。等等,超了16位范围?B类到172.31.255.255,够用。
  • • 第五:从172.22.0.0,/19 (借3),块2^13=8192。

这算下来,IP利用率从固定/24的浪费,变高效。手动转二进制练手:172.16.0.0二进制10101100.00010000.00000000.00000000,借位后网络位变长。

另一个坑:跨字节借位。像10.0.0.0/8分/18,借10位,第二字节从00变01等。公式:增量=256^(字节数-借字节) * 2^(位-字节*8)。

我建议:用Excel辅助列二进制列,但手动至少练3例。场景二:家用/24分2子网,各100主机。借1位/25,增量128。子网1:10.0.0.0/25 (0-127),子网2:10.0.0.128/25 (128-255)。广播1: .127,2:.255。

练多了,你会发现规律:增量总是2^ (32-新掩码)。

CIDR与VLSM

CIDR是1993年RFC1817定义的,取代类路由,用/前缀表示掩码,如/24=255.255.255.0。好处:汇总路由,减表项。路由表从爆炸到精简,互联网才飞起来。

VLSM是CIDR子集,允许子网内再分。传统固定长(FLSM)每子网同掩码,浪费;VLSM灵活,点对点链路用/30(4地址,2可用),LAN用/24。

汇总示例:有子网192.168.0.0/25、192.168.0.128/25、192.168.1.0/24。汇总?找公共前缀。/25是192.168.0.0/24的前半,/24是后半,整成192.168.0.0/23(借位汇总)。

路由器配置:Cisco IOS ip route 192.168.0.0 255.255.254.0 Null0汇总。BGP用aggregate-address

IPv6子网?128位,/64标准LAN,借位类似,但自动配置SLAAC。暂不深挖,IPv4够用。

实际:云上VPC,AWS默认/16,分VLSM给微服务。算不对,安全组漏,数据外泄。


分享
下一篇:这是最后一篇
上一篇:这是第一篇
写评论...