一、理论阐述
目前,IP地址主要使用32位二进制表示形式,即IPv4地址。 32位二进制文件不容易存储和写入,因此IP地址以点分十进制格式表示。 IP地址由两部分构成{网络号码、主机号码}。 网络号表示计算机所在的网络,路由器用于进行路由; 主机编号是此网络中计算机的唯一id。
IP地址分为A、B、C、D、E五类
类aIP地址的第一个字节范围是1到126
b类IP地址的第一个字节范围是128到191
类cIP地址的第一个字节的范围是192到223
类dIP地址的第一个字节范围为224到239
类eIP地址的第一个字节范围为240到255
子网掩码用于指示IP地址的网络位和主机位,不能单独存在,必须与IP地址结合使用。 子网掩码也用点的十进制表示。
A类网络的默认子网掩码为255.0.0.0
b类网络的默认子网掩码为255.255.0.0
C类网络的默认子网掩码为255.255.255.0
那么,在未进行子网划分的情况下,如何根据IP地址和子网掩码求出指定计算机的网络号和主机号呢?
求网络号:
)1)将点表示为十进制的IP地址、子网掩码分别转换为二进制表示;
)2)通过对以上得到的两个二进制进行“与”运算,也可以保留子网掩码中与“1”相对应的IP地址的部分,用“0”填充主机位。
(3)将步骤)中得到的运算结果转换为点的十进制表示,即可得到网络编号。
求主机号:
)1)将点表示为十进制的IP地址、子网掩码分别转换为二进制表示;
)2)取上述得到的二进制表示的子网掩码为逆,取二进制表示的IP地址和(and ) ) )进行运算,也可以保留子网掩码的与"0"相对应的部分。
(3)将步骤)中获得的运算结果转换为点的十进制表示,即可获得主机编号。
二、举例说明
IP地址为192.168.0.143,子网掩码为255.255.255.0,知道会询问网络号码、主机号码。
解:
(1)将IP地址转换为对应的二进制:
1000000.10101000.0000000.10001111
)2)将子网掩码转换为相应的二进制:
111111111.1111111.11111111.111111111.00000000
)3)对以上两个结果进行“与”运算。
1000000.10101000.00000000.0000000000
)4)将上述二进制结果转换为点的十进制表示,网络编号为:
192.168.0.0
)5)反转子网掩码的二进制表示:
000000000.00000000.0000000000.111111111111
对(6) )和(5)的结果进行逻辑与运算。
000000000.0000000.000000000.000000000.10001111
)7)将上述二进制结果转换为点的十进制表示,主机编号为143。