一、概述
IP地址有IPv4和IPv6两个版本,目前我们通常所说的IP地址是指IPv4。
IP地址由32位的二进制数组合而成,为了方便人类记忆,将二进制转换成4个十进制的数值。
在这32位数据中分为网络号与主机号两个部分。
二、IP的分级
IP网段分为五个等级,其定义如下:
A类:规定前面8位为网络地址,后面的24位为主机地址,并且网络地址必须以0开头。如下所示:
二进制表示:0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
十进制表示:0.xx.xx.xx - 127.xx.xx.xx
B类:规定前面16位为网络地址,后面16位为主机地址,并且网络地址必须以10开对。如下所示:
二进制表示:10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
十进制表示:128.xx.xx.xx - 191.xx.xx.xx
C类:规定前面24位为网络地址,后面8位为主机地址,并且网络地址必须以110开对。如下所示:
二进制表示:110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
十进制表示:192.xx.xx.xx - 223.xx.xx.xx
D类:网络地址必须以1110开对。如下所示:
二进制表示:1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
十进制表示:224.xx.xx.xx - 239.xx.xx.xx
E类:网络地址必须以1111开对。如下所示:
二进制表示:1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
十进制表示:240.xx.xx.xx - 255.xx.xx.xx
常用的只有A、B、C三个等级,D类用于组播,E类是保留网段。
另外,A类中127.0.0.0这个网段用于测试操作系统,称为环回地址。
三、私有IP
为了满足企业内部IP地址使用的需求,IPv4规划了三段私有IP地址,这些IP地址不能在公网上使用,只能用于局域网内部。
A类:10.0.0.0-10.255.255.255
B类:172.16.0.0-172.31.255.255
C类:192.168.0.0-192.168.255.255
四、子网掩码
IP是有等级的,如果我们使用A类的网段,此网段可容纳的主机数量为2^24-2台主机,先不考虑企业是否有这么多台主机,假设真的将这么多台主机接入到一个局域网中,这个网络基本上没有办法正常工作了,因为会有大量的广播包会在网络中传输。
我们可以将一个大的IP段划分为多个小的IP段还分隔广播域。可以从主机地址中借位来充当网络地址,从而划分出多个子网,这时就要借助于子网掩码了。
子网掩码也是由32位二进制数组成,其中1代表网络位,0代表主机位。例如:C类地址192.168.0.255其二进制格式为:
IP: 11000000.10101000.00000000.11111111
子网掩码:11111111.11111111.11111111.00000000
将其转换成十进制数为:255.255.255.0
上例中的192.168.0.255这个IP地址的主机位全部为1,这种主机位全部为1的IP地址称做广播地址,与其对应的是主机为全部为0的IP址(192.168.0.0),称做网络地址。
每个网络段中都有一个主机地址和一个网络地址,这两个地址是不可以使用的,所有每个网段可用IP是数量是2^n-2,n表示主机位数。
五、子网划分
了解了子网掩码的概念后,就可以进行子网划分了。前面介绍了子网划分其实就是向主机位借位划分多个网络的过程。
以192.168.0.0/255.255.255.0这个网段为例,将它划分成2个子网的方法如下:
2个子网其含义是子网掩码要向主机位借的位数只需要有两种变化即可,即2^n=2,可以得到n=1,这个n就是借位的数量。由此可知,子网划分的数量都是能2的n次方计算的。
192.168.0.0 => 11000000.10101000.00000000.00000000
255.255.255.0 => 11111111.11111111.11111111.00000000
由上面的计算结果可知,需要向主机位借一位,借位顺序为由左至右,第一个子网为:
11000000.10101000.00000000.00000000 => 192.168.0.0
11111111.11111111.11111111.10000000 => 255.255.255.128
第二个子网为:
11000000.10101000.00000000.10000000 => 192.168.0.128
11111111.11111111.11111111.10000000 => 255.255.255.128
上面使用二进制的方法进行计算,其实还可以直接使用十进制方法进行计算。用十进制方法计算上面的例子:
以256为标准进行计算,主机段分为两个子网就用256/2=128,这个128就是第二个子网的网络地址了。
如果将192.168.0.0/255.255.255.0划分出4个子网也就是子网掩码有26位的情况,直接用256/4=64,得到每个子网有64个IP地址,那么这4个子网分别为:
192.168.0.0/255.255.255.192
192.168.0.64/255.255.255.192
192.168.0.128/255.255.255.192
192.168.0.192/255.255.255.192
六、无类别域间路由CIDR
CIDR的目的是将一组子网信息合并为一条较大的网络段,其目的是减少路由的条目。
以192.168.0.0/255.255.255.0为例,其CIDR的写法为:192.168.0.0/24
在上面的划分子网的例子中,四个子网的CIDR写法为:
192.168.0.0/26
192.168.0.64/26
192.168.0.128/26
192.168.0.192/26
原文:http://petmaster.blog.51cto.com/5408825/1735195