IP、子网掩码、网络号之间的关系、区分和运算(请求置顶) 网络, 子网, 置顶, 关系, 运算 这是刚才的一个回贴,回好了之后想想可能还有一些朋友不明白这几者之间的关系,所以干脆专门开一贴。高手就不用看了。 此贴中所说到的IP都以是IPV4为例。 IP地址总共是32位二进制数表示,每8位为一节,总共4节。日常使用中每节用一个十进制表示(0-255)。每个IP地址都是由网络号+主机号组成,前面N位表示网络号,后面32-N位表示主机号。到底前面几位表示网络号就是由子网掩码来区分,在子网掩码中用1和0来分别网络号位和主机号位,其中是1的表示是网络位,0表示主机位,前面说的IP中前面的N位表示网络号,后面的32-N位才是主机号,所以子网掩码总是前面一段全是1,后面一段全是0。我们的IP范围就是主机号范围。所有主机号中的最后一个主机号为广播地址。 比如一个IP地址:192.168.0.1/24,这是我们常见的一个C类地址,用二进制表示就是 IP:11000000 10101000 00000000 00000001 子:11111111 11111111 11111111 00000000 这就是说这个IP中,前24位表示网络号,后面8位表示主机号。也就是说我们IP取值范围就是最后的8位从0000000-11111111之间,用十进制表示也就是0-255之间,在地址中0不能作为IP地址使用,他是网络号的专用,也就是说我们的取值范围是在1-255之间,其中1是网关地址(实际中我们组建局域网的时候不一定用1作网关这是另一回事),255是广播地址,也就是说实际能使用的只有253个IP,即192.168.0.2-192.168.0.254。 那什么是网络号呢?说得直接一点就是这个局域网在网络上的IP。我们知道每一台计算机在网络上都有一个IP地址,这个IP地址就是这台计算机在网络上的一个编号,那么网络号也就是这个局域网在互联网上的IP地址编号。网络号的计算方法是把IP地址与子网掩码作“与”运算,所谓的与运算,就相当于我们并时所说的乘运算,当两个同为1时其结果为1,如果其中有一个是0则结果是0。在上面的例子中前面的24位是网络号那么这个局域网在网络中的编号就是192.168.0.0,现在知道为什么0始终不能用为IP地址了吧。如果两台机的网络号不一样,表示这两台机不在同一个局域网中。比如有如下两个IP:192.168.0.115/24,192.168.5.115/24,用二进制表示就是: IP1: 11000000 10101000 00000000 01110011 子网: 11111111 11111111 11111111 00000000 网络号: 11000000 10101000 00000000 00000000 十进制表示网络号:
192.168.0.0 IP2: 11000000 10101000 00000101 01110011 子网: 11111111 11111111 11111111 00000000 网络号: 11000000 10101000 00000001 00000000 十进制表示网络号:192.168.5.0 两个IP的网络号不一样,表示这两个IP不
在同一个局域网中。 又比如我网吧从电信公司分到一组IP:
89.153.43.225/29,那么换成二进制就是 IP:01011001 10011001 00101011 11100001 子:11111111 11111111 11111111 11111000 可以清楚的看出这组IP在网络上的网络号是前面的29位,用十进制表示就是89.153.43.224,这组IP的主机号就是最后的三位,我们说过主机号范围就是IP范围。我网吧从电信公司分得的IP范围用二进制表示就是: IP1:01011001 10011001 00101011 11100000 IP2:01011001 10011001 00101011 11100001 IP3:01011001 10011001 00101011 11100010 IP4:01011001 10011001 00101011 11100011 IP5:01011001 10011001 00101011 11100100 IP6:01011001 10011001 00101011 11100101 IP7:01011001 10011001 00101011 11100110 IP8:01011001 10011001 00101011 11100111 我们说过0只能用来表示网络号,不能用于IP,所以上面的8个IP中,只有IP2-IP8是合法的,用十进制表示就是89.153.43.225-231,其中89.153.43.225是网关,89.153.43.231是广播地址,实际可用IP是89.153.43.226-230,因为这一组IP的网络号同为89.153.43.224,所以在互联上这一组IP属于同一个局域网。 比如有一个网吧有300台机,那么从上面的公式中可以计算出至少要300+2=302个IP,也就是主机号从1-302,用二进制表示就是: 000000001 000000010 000000011 ..... 100101110 也就是说主机号至少要占用9位,那么网络号就只有23位即: 二进制:11111111 11111111 11111110 00000000 十进制:255 255 254 0 那么这个局域网的子网掩码是255.255.254.0,主机号的范围是1-511,其中主机号为1的是网关,主机号为511的是广播地址,这个局域网最多可以拥有509台电脑。假如网络号为192.168.0.0,刚IP范围为:192.168.0.1/23-192.168.1.255/23,其中192.168.0.1是网关(实际我们组网中不一定用这个IP作网关),192.168.1.255是广播地址。 知道了IP地址、子网掩码、网关、广播地址之间的关系就可以准确划分子网。 子网掩码计算一般采用2的N次幂的方法。2^(N-1<(计算机总台数+2)≤2^N,这里的N就是主机号位数。 2^0=1 2^1=2 2^2=4 2^3=8 ...... 2^9=512 2^10=1024 2^11=2048 当初我们上学
的时候要背到2的20次方,那个苦啊. 比如上面的例子中300台电脑,
2^8<(300+2≤2^9,所以主机号应该是9位,那么子网掩码就应该是32-9=23位,即255.255.255.254.0。