1、IP地址分类
A类:0NNNNNNN (1-126.X.Y.Z)
以0开头,前8位为网络ID,后24位为主机ID
网络数:2^7
每个网络中的主机数:2^24-2
B类:10NNNNNN (128-191.X.Y.Z)
以10开头,前16位为网络ID,后16位为主机ID
网络数:2^14
每个网络中的主机数:2^16-2
C类:110NNNNN (192-223.X.Y.Z)
以110开头,前24位为网络ID,后8位为主机ID
网络数:2^21
每个网络中的主机数:2^8-2
特殊地址:
0.0.0.0
不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主
机和目的网络。
255.255.255.255
限制广播地址。对本机来说,这个地址指本网段内(同一广播域)的所有主机
127.0.0.1~127.255.255.254
本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为127.0.0.1的数据包。
2、无类域间路由CIDR
可以任意划分网络位数和主机位数。
通过子网掩码配合IP地址就能表示出网络位数和主机位数。
(1)子网掩码netmask:共32位,与IP地址位数对应。对应于网络ID位为1,对应于主机ID位为0.
例如,A类地址前8位是网络ID,因此它的子网掩码前8位为1,后24位为0。即11111111.00000000.00000000.00000000,转化成十进制为255.0.0.0。同理B类地址子网掩码为255.255.0.0,C类地址子网掩码为255.255.255.0。
根据子网掩码的定义我们发现它如果有网络ID的话,必须是1开头并且连续然后后面跟着连续的0,总共分为以下几种情况(先只看前8位):
00000000 0
10000000 128
11000000 192
11100000 224
11110000 240
11111000 248
11111100 252
11111110 254
11111111 255
掌握上面这个表能帮助我们更快些计算出子网掩码。
例如28位网络ID的子网掩码,就是28=3*8+4,因此前三位都是255,最后一位是由4个1和4个0组成11110000,查表获得值为240,因此它的子网掩码为255.255.255.240
(2)CIDR表示法:ip/网络ID位数
通常我们写无类的IP地址时需要配一个子网掩码,但是这种方法有些麻烦,因此我们可以使用CIDR表示法。
如A类地址就可以写成:1-126.X.Y.Z/8,B类地址就可以写成:128-191.X.Y.Z/16
3、划分子网
将一个大网络(主机ID位多)划分多个小网络(主机ID位少),网络ID位向主机ID位借位,网络ID位变多,主机ID位变少。
例如:将10.0.0.0/8进行划分子网,
10.00000000.0.0/8 本来是前8位为网络ID
当借1位时,
10.0 0000000.0.0/9 前9位为网络ID,借的这一位为可变ID,这位可以是0,也可以是1。因此被划分成了10.0 0000000.0.0和10.1 0000000.0.0 两个子网。
同理,如果借2位,
就变成10.00 000000.0.0/10
就划分成了以下4个子网:
10.00 000000.0.0/10
10.01 000000.0.0/10
10.10 000000.0.0/10
10.11 000000.0.0/10
由此可推:划分子网数=2^网络ID向主机ID借的位数
4、公式
1) 主机数=2^主机ID位-2
2) 网络数=2^可变的网络ID位
3) 网络ID=IP和netmask相与
(网络ID其实就是IP地址中的网络位不变,主机位全变成0的值。)
4) 划分子网数=2^网络ID向主机ID借的位数
5) 损失IP=2*(划分子网数-1)
5、例题
将10.0.0.0/8 划分32个子网,第10个子网10.72.0.0/13是河南省,对此子网再划分64个子网
1) 每个子网络netmask
2) 每个子网络的主机数
3) 最小子网(郑州)的netid
4) 最大子网(驻马店)的IP范围
解答思路:
10.00000000.0.0/8
32=2^5
10.00000 000.0.0/13 划分了32个子网
10.01001 000.0.0/13 第10个子网ID(因为00000是第1个,所以第10个其实是9,即为01001)
64=2^6
10.01001000.000 00000.0/19 再划分64个子网
1) 子网掩码=255.255.224.0
2) 主机数=2^(32-19)-2=8190
3) 最小子网10.01001 000.000 00000.0/19(借的位数全为0)
即为10.72.0.0/19
4) 最大子网10.01001 111.111 00000.0/19(借的位数全为1)
范围应排除全为0和全为1的,因此应为:
10.01001111.111 00000.00000001/19---10.01001111.111 11111.11111110/19
10.79.224.1/19---10.79.255.254/19
转载于:https://blog.51cto.com/tyendless/1962111