大部分情况下都要计算子网以实现环境内按需配置,博主我入坑网络大概有5年了,结合自己玩过的很多东西总结下经验,子网计算可以并不像课本中讲到的那么麻烦

当然,也可以使用工具在线计算,好比1,这个工具还是挺好用的

地址数量与掩码

当子网掩码为/24时,其相应的点分十进制表示为255.255.255.0,对应的二进制格式为11111111.11111111.11111111.00000000。子网掩码(24)即对应其二进制形式中从头到尾1的数量,进而再将00000000取反求值,为255,加上网络地址的1个地址,该地址块包含256个地址

当子网掩码为/25是,对应的二进制形式为11111111.11111111.11111111.10000000,最后一段10000000又可以按照下面的表格来计算

第8位 第7位 第6位 第5位 第4位 第3位 第2位 第1位
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1

其中100000000的1对应上述表格第8位,其余位为0,直接快速计算得128,因此按照点分十进制记法表示就是255.255.255.128。最后一段为100000000,对7个0取反,得到127,加上一个网络地址,得到该地址块数量为128

综上规律,我们就可以得到下述表格:

掩码 点分十进制 取反的地址 地址块中地址数量
31 255.255.255.254 1 2
30 255.255.255.252 11 4
29 255.255.255.248 111 8
28 255.255.255.240 1111 16
27 255.255.255.224 11111 32
26 255.255.255.192 111111 64
25 255.255.255.128 1111111 128
24 255.255.255.0 11111111 256
23 255.255.254.0 1.11111111 512
22 255.255.252.0 11.11111111 1024
21 255.255.248.0 111.11111111 2048
20 255.255.240.0 1111.11111111 4096
19 255.255.224.0 11111.11111111 8192
18 255.255.192.0 111111.11111111 16384
17 255.255.128.0 1111111.11111111 32768
16 255.255.0.0 11111111.11111111 65536
15 255.254.0.0 1.11111111.11111111 131072
14 255.252.0.0 11.11111111.11111111 262144
13 255.248.0.0 111.11111111.11111111 524288
12 255.240.0.0 1111.11111111.11111111 1048576
11 255.224.0.0 11111.11111111.11111111 2097152
10 255.192.0.0 111111.11111111.11111111 4194304
9 255.128.0.0 1111111.11111111.11111111 8388608
8 255.0.0.0.0 11111111.11111111.11111111 16777216

由数量快速推地址池

10.1.66.192/26

由掩码/26可得该地址块中地址数量有64个,由于点分十进制记法每段最大值只能是255(由于是从0开始,所以实际数量是256),使用192除以地址块数量64,刚好整除,因此该10.1.66.192就是网络地址(相当于192.168.1.0/24中的0),下一个地址块的网络地址为256,因此减去1得到广播地址为10.1.66.255,可用地址即为10.1.66.193-10.1.66.254

10.66.1.0/30

掩码:30

地址块中地址数量:4

0除以4,整除,下一个地址块网络地址为10.66.1.4,减1得到广播地址10.66.1.3,可用地址即为10.66.1.1-10.66.1.2

10.66.66.32/29

掩码:29

地址块中地址数量: 8

32除以8,整除,该地址为网络地址。于是下一个地址块的网络地址为10.66.66.40,减一得广播地址10.66.66.39,可用地址10.66.66.33-10.66.66.38

图片

算地址

由上文计算可得,

网络一:10.1.66.192/26,子网掩码点分十进制记法:255.255.255.192,地址池:10.1.66.193-10.1.66.254。

我将PC1的接口地址配置为10.1.66.193,PC2的接口地址为10.1.66.194,该区域中网关地址配置为10.1.66.254

网络二:10.66.1.0/30,子网掩码点分十进制记法:255.255.255.252,地址池:10.66.1.1-10.66.1.2

因为该地址池中只有两个可用IP,所以我们可以认定可以将该区域归属到一个局域网中,并没有存在NAT

我将Rt1(路由器1)的在网络2中的接口IP配置为10.66.1.1,将Rt2在网络2中的接口IP配置为10.66.1.2

网络三:10.66.66.32/29,子网掩码点分十进制记法:255.255.255.248,地址池:10.66.66.33-10.66.66.38

我将WWW服务器的接口IP配置为10.66.66.33,将DNS服务器的接口IP配置为10.66.66.34

配置接口IP和静态路由

  • 配置PC1的接口IP,PC2和服务器以此类推。
  • 配置路由器1在网络一区域中的接口IP:,并且完成路由器1在网络二中的网卡接口IP,添加如下的静态路由:,确保前往10.66.66.32/29这个地址块中的所有L3报文能够正常被路由过去;同时也要为路由器2添加相应的回程路由
  • 为DNS服务器添加静态的A记录,使www.baidu.com解析到WWW服务器,如图
  • 打开WWW服务器的HTTP服务
  • 在PC1或者PC2中启用WEB浏览器,即可访问成功

特别注意

  • 默认情况下,路由器的接口默认是关闭的,请记得将接口打开后再执行ping等操作,不然网络不会通的
  • 对于路由并不了解的,可以再看我的另外一篇主讲路由的文章超网与无类域间路由(CIDR)

  1. https://www.sojson.com/convert/subnetmask.html ↩︎