由ip地址和子网掩码求网络号、主机号、广播地址(超详细)

话不多说,直接进入正题,如果有概念理解不清楚的话,可以去看文章后面的部分,我直接在前面给出计算方法。

1、用二进制数表示IP地址

在进行计算之前,我们首先要学会十进制的IP地址怎么转换为二进制的IP地址。

给出一个例子:

bash 复制代码
十进制:172.16.25.3
二进制:10101100.00010000.00011001.00000011

这就是一个简单的十进制数转二进制数,我这里给出一种比较简单的计算方法。

因为我们一个IP地址由四个八位组组成,一个八位组对应八位二进制数,而二进制又是可以由2的次幂推出,所以计算方法如下:

当然我们由二进制转十进制,只需把为1的哪些位置给加起来即可。

2、区分ip地址中的网络号和主机号的位置

我们知道,子网掩码和ip地址一样,都是由八位四元组组成:

bash 复制代码
IP地址:10.0.10.63
子网掩码:255.255.255.224

先把子网掩码转换为二进制:

bash 复制代码
十进制:255.255.255.224
二进制:11111111.11111111.11111111.11100000

子网掩码中前面1的个数,为IP地址网络号的位数!!

子网掩码中有27个1 ,所以网络号也应该为IP地址的前27位,后面的32 - 27 = 5位为主机地址。

bash 复制代码
IP地址: 00001010.00000000.00001010.001|11111 #前27位的网络号位,后面为主机号位
子网掩码:11111111.11111111.11111111.111|00000

有时候可能不给出具体的子网掩码,而是给出数字27,数字27就是指网络号的位数是27位,通过27也可以算出子网掩码为:

bash 复制代码
11111111.11111111.11111111.11100000

因为27就是指子网掩码前27位都为1,后面为0.

注意,我们这里只是算出网络号和主机号的位置,而不是说IP地址的前27位就是网络地址。

3、计算网络号的三种方式

1、通过子网掩码计算出网络号所占的位数,然后把主机号部分转为0,再转十进制

以上面的例子为例:

bash 复制代码
IP地址: 00001010.00000000.00001010.001|11111 #前27位的网络号位,后面为主机号位
子网掩码:11111111.11111111.11111111.111|00000

我们在IP地址中把后面5位的主机地址变为0 ,得到网络号(即网络地址):

bash 复制代码
网络地址:00001010.00000000.00001010.001|00000

再转为十进制即可:

bash 复制代码
网络地址:10.0.10.32

2、将IP地址和子网掩码进行对位与运算

对位与运算就是同时为1时为1,其他情况均为0.

举个例子:

bash 复制代码
IP地址: 00001010.00000000.00001010.00111111
子网掩码:11111111.11111111.11111111.11100000

进行对位与运算,将IP地址和子网掩码的对应位进行与运算,得到:

bash 复制代码
网络号:00001010.00000000.00001010.00100000

将二进制转换为10进制即可。

其实我们不必计算全部八位组的二进制,比如:

bash 复制代码
IP地址:10.0.10.63
子网掩码:255.255.255.224

我们知道255的所有八位二进制都是为1的,1和1与运算是1,1和0进行与运算是0 ,所以255和任何数进行与运算都等于那个数本身,即和255对位的数,进行与运算之后,肯定不会变,所以就不用计算该部分的二进制了。

而0和1进行与运算是0,0和0进行与运算是0 ,所以0和任何数字进行与运算都是0,即和0对位的数,进行与运算之后,肯定是0,也不用计算二进制。例如,以上可以写为:

bash 复制代码
IP地址:10.0.10.00111111
子网掩码:255.255.255.11100000

我们只需计算最后一个八位组即可。

3、不用计算,直接口算得出答案(适合于选择题)

172.20 .96 .68    255.255.192.0

255对应的部分保持不变,0对应的部分为0

得172.20.?.0

子网掩码中非255或0的部分只剩192

用256减非零部分,即256-192=64

?部分是一个64的整数倍的数,且最接近96的整数

?=64 172.20.64.0

例: 192.168.108.90    255.255.224.0 求网络号

192.168.?.0 256-224=32

?部分是一个32的整数倍的数,且最接近108的整数

192.168.96.0
IP地址:10.0.10.63

子网掩码:255.255.255.224

因为我们已知网络号前三位肯定是10.0.10,所以只需计算最后一位即可。

1、先用256减去子网掩码最后一位:

256 - 224 = 32

2、口算出:不大于IP地址最后一位63,但是是32的倍数的数

这个数即为32

3、那么网络号最后一位就是32,网络号为:10.0.10.32
补充:256 - 224 = 32,如果63是32的倍数的话,则这个IP地址直接为网络号(网络地址);如果63是32的倍数减1,那么该IP地址为广播地址;否则前面两个都不是的话,该IP地址就是主机地址。

4、计算广播地址

前面说过,IP地址主机号部分全为0的话,就是网络地址,那么主机号部分全为1的话,就是广播地址。

bash 复制代码
IP地址:10.0.10.63
子网掩码:255.255.255.224
bash 复制代码
IP地址: 00001010.00000000.00001010.001|11111 #前27位的网络号位,后面为主机号位
子网掩码:11111111.11111111.11111111.111|00000

我们可以发现,该IP地址主机号以及全部为1了,所以不用计算,该IP地址就是一个广播地址。63也是256 - 224 = 32的倍数减1。正好符合我们上面的定理。

5、一些概念

1、如果两台主机的网络号相同,我们就说它们是同一网段

2、主机号的意义

  • 1)主机号部分全变成1,即为该网段的广播地址
  • 2)主机号部分全变成0,即为该网段的网路地址(网络号)

3、如果主机号部分为x位,则该网络能容纳最大主机数为: 2的x次方-2。减2是减去网络号和主机号,因为同一网段中网络号和主机号是相同的,即唯一的。

6、一些题目给大家练手

bash 复制代码
 例:192.168.108.90   255.255.224.0  求该网段的广播地址
       法1:192.168.011   01100.01011010
            255.255.111   00000.00000000  AND
--------------------------------------------
                             主机号部分
            192.168.011   00000.00000000

     将主机号部分全写成1,得         
                              主机号部分
            192.168.011   11111.11111111


            192.168.127        .255
            考试时,如要写出计算过程,用法1

       法2:192.168.108.90   255.255.224.0 
            口算出网络号        192.168.96.0
            下一网段的网络号为  192.168.128.0
            下一网段网络号减1即为本网段的广播地址,即192.168.127.255
bash 复制代码
 202. IP 地址10.0.10.63 和掩码255.255.255.224 代表的是一个______。
         A. 主机地址              B. 网络地址                 
         C. 广播地址              D. 以上都不对

      解法1:  10 .0   .10 .63       (001  11111)
               255.255.255.224       (111  00000)
                                           主机号
                          
              由此见主机号部分全为1,因此它是一个广播地址
      解法2: 256-224=32    63是一个32的倍数减1的数
bash 复制代码
 193. 要设置一个子网掩码使192.168.0.94 和192.168.0.116 不在同一网段,使用的子网掩码可能是______。
      (选择一项或多项)
       A. 255.255.255.192              B. 255.255.255.224                 
       C. 255.255.255.240              D. 255.255.255.248
相关推荐
深圳启明云端科技5 分钟前
WiFi、蓝牙共存,物联网无线通信技术,设备无线连接数据传输应用
网络·物联网·智能家居
dengjiayue29 分钟前
OSI 网络 7 层模型
网络
hgdlip1 小时前
IP属地和所在地不一致什么意思?怎么换成另外一个地方的
服务器·网络协议·tcp/ip
cnsinda_sdc1 小时前
信创数据防泄漏中信创沙箱是什么样的安全方案
运维·网络·安全·源代码管理·源代码防泄密·源代码加密
忆源1 小时前
Linux高级--2.4.5 靠协议头保证传输的 MAC/IP/TCP/UDP---协议帧格式
网络协议·tcp/ip·udp
深圳启明云端科技2 小时前
潮玩设备AI语音交互方案,ESP32-S3芯片模组物联网通信技术
网络·物联网·音视频·智能家居
搬砖的果果2 小时前
爬虫代理服务要怎么挑选?
网络·爬虫·网络协议·tcp/ip
HackKong3 小时前
高校网络安全_网络安全之道
java·网络·c++·python·学习·web安全·黑客技术
只抄4 小时前
随身 WiFi 连接 X-Wrt 共享网络与 IPv6 中继配置
网络·智能路由器
coniting1234 小时前
【H3CNE邓方鸣】IPv6+2024.12.23
网络