子网划分计算方法
本篇的IP地址所讲述的都是ipv4
这篇教程只说怎么得结果,想看原理请去隔壁B站或者另寻其他文章
本篇文章出现的所有IP都是随机出的,如有碰巧,纯属巧合
首先我们得会计算二进制,这部分请自行搜索教程,必应、百度、B站都有详细教程
如果是为了子网划分,那只需要会8位二进制与十进制互相转换即可,这里给一个转换表
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
---|---|---|---|---|---|---|---|
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
然后得认识IP地址,一般是4个字节(4byte)来表示,1个字节8位(8bit),所以总共是32位(32bit)
例如127.0.0.1
,127
用二进制表示是01111111
,0
用8位二进制表示是8个0
,1
用8位二进制表示则是00000001
。
所以127.0.0.1
用二进制表示是01111111 . 00000000 . 00000000 . 00000001
例题
接下来的计算用这个例题
IP地址:111.156.16.196
子网掩码:255.224.0.0
计算
- 网络类别
- 主机号
- 网络地址
- 直接广播地址
- 子网内第一个可用IP地址
- 子网内最后一个可用IP地址
网络类别
网络类别主要是靠IP地址的前4位的取值来进行区分,这里不作详细说明,只说简单的判断方法。
换成十进制的话
1到126开头的是A类地址
128到191开头的是B类地址
192到223开头的是C类地址
记住上面ABC类就行,其它类型地址也考不了子网划分
~~例如127开头是本地环回地址、0开头是保留地址、D类地址(224~239)多用于多点广播、E类地址(240255)是保留地址。~
例题中的IP地址 111.156.16.196 以 111 开头,所以是A类地址
详细了解可查看以下文章:
- https://blog.csdn.net/qq_29752857/article/details/134809278
- https://blog.csdn.net/m0_37732829/article/details/94717850
网络地址
IP地址网络位不变,主机位全0
- 计算方法:将IP地址和子网掩码转成二进制,然后按位与运算即可
IP地址:111.156.16.196
转成二进制是01101111.10011100.00010000.11000100
子网掩码:255.224.0.0
转成二进制是11111111.11100000.00000000.00000000
与运算得到网络地址:
正常计算方法:
01101111.10011100.00010000.11000100
11111111.11100000.00000000.00000000
———————————————————————————————————
01101111.10000000.00000000.00000000 -> 网络地址:111.128.0.0
技巧:
- 因为255的8位二进制是8个1,而1与任何数的与运算结果不变(1与0等于0,1与1等于1),所以255对应的IP地址可以直接写。
- 而0与任何数进行与运算都得0,所以子网掩码的0对应的IP地址的地方直接写0就行
简单来说就是,只需要把不是255和0的地方转成二进制来计算就行(这样算得快一点)
于是,简约计算:
111.10011100.16.196
255.11100000.0.0
——————————————
111.10000000.0.0 -> 网络地址:111.128.0.0
主机号
IP地址网络位全0,主机位全不变
如何知道网络位:子网掩码转成二进制之后1的位置对应到IP地址的位置,就是网络位
例如 255.224.0.0
转成二进制是11111111.11100000.00000000.00000000
,那对应的IP地址网络位就是前面11位。
那111.156.16.196
的二进制[01101111.100][11100.00010000.11000100]
的前面就是网络位,后面就是主机位。
主机号:网络位全0,主机位不变则是[00000000.000][11100.00010000.11000100]
--> 0.28.16.196
直接广播地址
IP地址网络位不变,主机位全1
直接广播地址和网络地址类似。
网络位不变,主机位全1则是[01101111.100][11111.11111111.11111111]
--> 111.159.255.255
子网内第一个可用IP地址
网络地址的后一个地址
前面计算得网络地址是111.128.0.0
,所以子网内第一个可用IP地址则是111.128.0.1
子网内最后一个可用IP地址
直接广播地址的前一个地址
前面计算得直接广播地址是111.159.255.255
,所以子网内第一个可用IP地址则是111.159.255.254
总结
-
主机号:IP地址网络位全0,主机位全不变
-
网络地址:IP地址网络位不变,主机位全0
- 计算方法:将IP地址和子网掩码转成二进制,然后按位与运算即可
-
直接广播地址:IP地址网络位不变,主机位全1
-
子网内第一个可用IP地址:网络地址的后一个地址
-
子网内最后一个可用IP地址:直接广播地址的前一个地址
计算步骤
- 根据子网掩码可以判断出网络位和主机位,然后根据IP地址的网络位和主机位计算
- 计算顺序可以是:网络地址或主机号、直接广播地址、子网内第一个可用IP地址、子网内最后一个可用IP地址
- 网络类别可以根据IP首地址判断
例题
如果要完全掌握,还是得做题,可以尝试自己出题自己做。
ABC类地址的题各出一个,然后计算,算完应该就不用担心这种类型的题了。
至于如何校验答案是否正确,网上搜索子网划分计算器
,可以在写完自己出的题之后用于验证。
子网划分计算器:https://www.sojson.com/convert/subnetmask.html