首先了解一下:
IP地址使用规则
网络号全为0的地址保留,不能作为标识网络使用;
主机号全为0的地址保留,作为表示网络地址;
网络号全为1,节点号全为0的地址表示子网掩码;
主机号全为1的地址为广播地址,如172.16.255.255,称为直接广播或定向广播,表示对172.16.0.0中的所有主机进行广播,这类广播可以跨越路由器。
地址0.0.0.0表示默认路由;只有在启动过程中才可以使用全0的网络地址,这样做是为了允许计算机在不知道自己地址的情况下发送数据报。即启动时的源站地址
地址全为1,地址255.255.255.255表示本地广播,即受限广播,这种广播在缺省情况下不能跨越路由器。
子网掩码(Subnet Mask)概述
子网掩码用于区别某个IP地址中哪部分为网络部分,哪部分为主机部分。子网掩 码由1和0组成,长32位,从前向后连续全为1的位代表网络部分。
默认子网掩码 ,不是所有的网络都需要子网:
A类IP地址的默认子网掩码为255.0.0.0;
B类IP地址的为255.255.0.0;
C类的为255.255.255.0。
子网掩码使用与IP地址相同的编址格式,子网掩码为1的部分对应网络(及子网)部分,子网掩码为0的部分对应主机部分。
如:一个IP地址为10.2.45.1,子网掩码为255.255.252.0,“与”运算得到:10.2.44.0,则网络设备认为该IP地址的网络号与子网号为10.2.44.0,属于10.2.44.0/22网络,其中/22表示子网掩码长度为22位,即从前向后连续的22个1。
00001010.00000010.00101101.00000001(10.2.45.1)
与:
11111111.11111111.11111100.00000000(255.255.252.0)
—————————————————————————————————————
00001010.00000010.00101100.00000000(10.2.44.0)
子网划分(subnetting)的好处
减少网络流量
提高网络性能
提高安全性
为了提高IP地址的使用效率,一个网络可以划分为多个子网。采用借位的方式,从主机最高位开始借位变为新的子网位,剩余部分仍为主机位。这使得IP地址的结构分为三部分:网络位、子网位和主机位。
划分子网后,子网号为全0或全1的子网原则上不可使用。
默认情况下,192.168.0.0属于C类地址,子网掩码为24位。此时:
11000000.10101000.00000000.00000000
|---------网络位--------------------------|--主机位--|
如要将192.168.0.0/24划分子网,从原来的主机部分取三位作为新的
子网位。
11000000.10101000.00000000.00000000
|---------网络位-------------------------|-----|--------|
新的主机部分
新的子网部分
可划分出000、001、010、011、100、101、110、111共8个子网。此时,网络部分为24+3=27位,子网掩码为/27,表示为十进制为255.255.255.224,主机部分为5位
看例题:
如:欲将B类IP地址168.195.0.0划分成27个子网。(方法一、利用子网数来计算)
公式:2n(2的n次方)-2≥x,其中x为所需的子网数,n为所需借的子网位数。
168.195.00000000.00000000
从原来的主机部分开始,从前向后借子网位。
该例中需27个子网,按公式,需借5位,可划分出如下子网:
168.195.00000 000.00000000
168.195.00001 000.00000000
168.195.00010 000.00000000
......
168.195.11110 000.00000000
168.195.11111 000.00000000
共25=32个子网,其中有效子网30个,掩码均为/21。
如:需将200.0.0.0/24划分子网,分配给ABCD四个部门。
方法如下:
在未划分前,主机位为8位。现在需划分子网,则从主机位入手。可将将8位主机部分视为一个新的IP地址,8位中,前若干位为网络部分,后若干位为主机部分,如下所示。
200. 0. 0. 00000000
主机部分
因为需要将子网分配给四个部门,则需要4个子网。又因为子网号为全0和全1的子网不能用,则至少需要6个子网。
按公司2n-2 ≥所需子网数,此时n=3,可划分出8个子网。
网络号 主机地址范围 广播地址
000 子网号全为0,不使用
001 200.0.0.32/27 001 00001~001 11110 001 11111
010 200.0.0.64/27 010 00001~010 11110 001 11111
011 200.0.0.96/27 011 00001~011 11110 001 11111
100 200.0.0.128/27 100 00001~100 11110 001 11111
101 200.0.0.160/27 101 00001~101 11110 001 11111
110 200.0.0.192/27 110 00001~110 11110 001 11111
111 子网号全为0,不使用
注意到每个子网的主机地址范围都是00001~11110,广播地址都是11111,那么有了每个子网的网络号后,每个子网的地址范围就很容易推出。如100子网,网络地址为200.0.0.128/27,则该子网中第一个主机(host)IP为128+1=129,即100 00001,用二进制的10000000(网络部分)+00000001(主机部分);最后一个主机IP为128+30=158,即100 11110,用二进制的10000000(网络部分)+00011110(主机部分);广播地址为128+31=159,即100 11111,用二进制的10000000(网络部分)+00011111(主机部分全为1的地址是广播地址)。另外,如果用广播地址加1,则成为下一个子网的网络地址。
另一种思维方法: 要将200.0.0/24划分子网给四个部门使用,这就需
要将该网络划分为8个子网。而且每个子网的大小相等,这意味着将
200.0.0/24网络中原有的256个IP地址八等分。
如下图:
看一个例题: 如需将某C类地址划分20个子网,问第三个有效子网的网络地址、主机地址范围和广播地址?
解决步骤:
1、需20个子网,则需子网位为5,剩余主机位为3,子网的大小为8。
2、8*3=24,则第三个有效子网的地址为24/29。(第一问)这个29=24+5
3、24+8=32,下一个子网的地址为32/29。
4、广播地址为后一个子网的网络地址减1,为31。(第三问)
5、主机地址范围为25至30。
参考hh010bbs