计算机网络用IP地址与子网掩码,怎么求网络号和主机号?

2025-03-03 09:02:58
推荐回答(2个)
回答1:

将IP地址分成了网络号和主机号两部分,设计者就必须决定每部分包含多少位。网络号的位数直接决定了可以分配的网络数(计算方法2^网络号位数);主机号的位数则决定了网络中最大的主机数(计算方法2^主机号位数-2)。然而,由于整个互联网所包含的网络规模可能比较大,也可能比较小,设计者最后聪明的选择了一种灵活的方案:将IP地址空间划分成不同的类别,每一类具有不同的网络号位数和主机号位数。
例如:
192.168.1.120
/255.255.255.0
如何算出它的网络号.主机号
这个从二进制角度说比较方便。
首先把地址和掩码转换为二进制(熟了就不用了)
IP地址:11000000.10101000.00000001.01111000

码:11111111.11111111.11111111.00000000
(掩码24个1,就是说这个地址是24位掩码的)
掩码为1的部分表示网络号,为0的部分表示主机号。
IP地址与掩码相与得出网络地址,
换个算法就是地址的前24位(掩码1的个数)后面补0是网络地址

回答2:

1.
首先将网络的ip地址和子网掩码都转换成32位二进制字符。
2.
将转换后的二进制的ip地址和子网掩码进行“逻辑与”运算,得到新的32位二进制字符。
3.
把得到的新的32位二进制字符转换成十进制,就是主机的网络号了。
举例如下:
本机ip为192.168.1.16 ,子网掩码为255.255.255.0
转换成二进制:
本机ip为11000000.10101000.00000001.00010000
子网掩码11111111.11111111.11111111.00000000
进行“与运算“ 11000000.10101000.00000001.00000000
转换成十进制:192.168.1.0
即192.168.1.0为主机的网络号。
注意事项:逻辑与运算的规则:

0∧0 =0

0∧1=0

1∧0=0

1∧1=1