IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照CP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。包括主机地址和网络地址两部分。如11000000 10101000 00000001 00000110(192.168.1.6)
子网掩码(subnet masking)的功能是告知主机或路由设备,地址的哪一部分是网络号,包括子网的网络号部分,哪一部分是主机号部分。
子网掩码使用与IP地址相同的编址格式,即4个8位组的32位长格式。
在子网掩码中,网络部分和子网络部分对应的位全为“1”,主机部分对应的位全为“0”
通过将子网掩码与IP地址进行“与”操作,可提供所给定的IP地址所属的网络号(包括子网络号)
172.31.128.255/18
其中18就是子网掩码,表示32位中高18位是1,其它位为0。它的二进制形式为11111111.11111111.11000000.000000,转为十进制就是255.255.192.0,为了方便我们习惯于写单个数字18表示子网掩码
IP地址 ::= {<网络号>, <主机号>},
IP地址 ::= {<网络号>, <子网号>, <主机号>}
例子: 给定IP地址和子网掩码 172.31.128.255 / 18
公式:将IP地址的二进制和子网掩码的二进制进行“&”(and)运算,得到的结果就是网络号。“&运算”的规则是1&1=1,0&1=0,1&0=0,0&0=0。
ip: 10101100.00011111.10000000.11111111
子网掩码: 11111111.11111111.11000000.00000000
----------------------------------------------------
网络号: 10101100.00011111.10000000.00000000 &
网络号点分法表示: 172.31.128.0
公式:用IP地址的二进制和(子网掩码的二进制的反码)进行“&”运算,得到的结果就是主机号。反码就是将原本是0的变为1,原本是1的变为0。
ip: 10101100.00011111.10000000.11111111
子网掩码取反: 00000000.00000000.00111111.11111111
----------------------------------------------------
主机号: 00000000.00000000.00000000.11111111 &
主机号点分法表示: 0.0.0.255
公式:在得到网络号的基础上,将网络号右边的表示IP地址的主机部分的二进制位全部填上1,再将得到的二进制数转换为十进制数就可以得到广播地址。因为本题中子网掩码是11111111.11111111.11000000.00000000, 0有14个,主机位是14,我们将网络号172.31.128.0,转换为二进制是 10101100.00011111.10000000.00000000,从右边数起,将14个0全部替换为1, 即:10101100.00011111.10111111.11111111,这就是这个子网的广播地址的二进制表示法。将这个二进制广播地址转换为十进制就是
172.31.191.255
网络号: 10101100.00011111.10000000.00000000
子网掩码: 11111111.11111111.11000000.00000000
----------------------------------------------------
广播地址: 10101100.00011111.10111111.11111111 网络号从右向左0填为1,个数为掩码中的0
广播地址点分法表示: 172.31.191.255
因为网络号是172.31.128.0,广播地址是172.31.191.255,所以子网中可用的IP地址范围就是从网络号+1 ~广播地址-1,所以子网中的可用IP地址范围就是从172.31.128.1-172.31.191.254。
首先将/18换成为我们习惯的表示法:
11111111.11111111.11000000.000000转为十进制就是255.255.192.0,可以看到这个掩码的左边两节和B类默认掩码是一致的,所以这个掩码是在B类默认掩码的范围内,意味着我们将对B类大网进行子网划分。B类掩码默类是用16位(16个0)来表示可分配的IP 地址,这里的掩码在B类默认掩码的基础上多出了两个表示网络号的1,也就是向主机位借了两个1这就是说是将B类大网划分为2的2次方个子网(2^n,n表示所借1的个数),所以最终的子网数目是4
例子: 已知IP 192.168.1.133 ,子网掩码为255.255.255.192;求划分的子网的个数和范围
首先将子网掩码写为二进制的形式方便观察将其转换成二进制后和255.255.255.0对比可发现,前掩码的前24位没有变化,只是在原来表示主机号的部分头两位变成了1。
192.168.1.113: 11000000.10101000.00000001.10000101 (1)
255.255.255.192: 11111111.11111111.11111111.11000000 (2)
----------------------------------------------------
255.255.255.0: 11111111.11111111.11111111.00000000 (3)
我们把IP地址中的前24位(192.168.1)先不关注,因为前24位对应掩码没有变化它们始终表示网络号。
192.168.1.0
192.168.1.64
192.168.1.128
192.168.1.192
192.168.1.63
192.168.1.127
192.168.1.191
192.168.1.255
四个网段中去除网络地址和广播地址中间的部分就是可用的主机IP地址了。则可用IP为
192.168.1.1 ------> 192.168.1.62
192.168.1.65-------> 192.168.1.126
192.168.1.129------> 192.168.1.190
192.168.1.193------> 192.168.1.254
例: 学校新建5个机房,每个房间有30台机器,如果给定一C类网络地址:192.168.1.0,问如何将其划分为5个子网,子网掩码该如何设置?
子网划分建议按以下步骤和实例计算子网掩码:
23 =8(大于5的最小的2的整幂次数),向主机号中借走三位作为网络号,而剩下的5位主机号,每个网段内可容纳的主机数是25即32,可用主机需要再减2即为30,满足每个房间30台机器的题目要求。取23的幂,即3,即占用了主机号中的高3位即为11100000,转换为十进制为224,所以该地址为C类地址的子网掩码应该设置为255.255.255.224。各机房IP和子网掩码配置如下(已经去掉广播地址和主机地址):
机房号 子网掩码 IP地址范围
机房1 255.255.255.224 192.168.1.1~192.168.1.30
机房2 255.255.255.224 192.168.1.33~192.168.1.62
机房3 255.255.255.224 192.168.1.65~192.168.1.94
机房4 255.255.255.224 192.168.1.97~192.168.1.126
机房5 255.255.255.224 192.168.1.129~192.168.1.158
其它:
IP地址块为211.168.15.192/26、211.168.15.160/27和211.168.15.128/27三个地址块经聚合后可用地址数为(A)
A.126 B.62 C.128 D.68
地址聚合无非是找出它们相同的部分…将两个分配的IP地址块最后一部分换算成二进制(因为只有最后一部分不相同),之后可得出新的子网掩码(子网掩码中相同的部分用1表示,不同的部分用0表示):
211.168.15. 11000000 211.168.15. 10100000 211.168.15. 10000000
可得聚合地址块为211.168.15. 10000000,即211.168.15. 128
掩码是IP二进制前面相同的位数,由于从 1~25位三个子网完全相同,所以经过聚合后的地址为211.168.15. 128/25,所以可用地址为:2^(32-25)-2=126
如果将网络IP段40.15.128.0/17划分成2个子网,则第一个子网IP段为40.15.128.0/18,则第二个子网为:(D)
A.40.15.129.0/18 B.40.15.128.128/18 C.40.15.192.0/17 D.40.15.192.0/18
1.IP地址32位,分为两段:网络地址+主机地址。其中可由主机地址分离出一些位来作为子网地址 2.斜线后的数字是表示用多少位来表示网络地址,这里很明显是17位,那么只有15位表示主机地址 3.这里分成了两个子网,也就只需要用一位来表示。也就是第18位 4.第一个地址的第十八位明显是0,第二个只能是1
对于IP地址130.63.160.2,MASK为255.255.255.0,子网号为(B)
A.160.2 B.160 C.63.160 D.130.63.160
30.63.160.2是B类IP地址,B类IP地址前16位(两个字节)为网络号,后16位是主机号,划分子网就是将主机号中的一部分拿出来当做子网号,这里子网掩码为255.255.255.0也就是把前三个字节当成了网络号,与B类IP默认的前两个字节作为网络号相比,第三个字节就是子网号,就是160。所以这个ip的网络号是130.63 ,子网号是 160 ,主机号是2
总结:本篇总结了IP计算方面的一些常见问题,不足之处欢迎指正,觉得写得不错的可以点个赞