Internet中的主机地址是用IP地址来唯一标识的,换言之,就是每台主机都有一个唯一的IP地址。每个IP地址都由4个小于256的数字组成,数字之间用"."分开,Internet的IP地址共有32位,4个字节,可以用二进制表示也可以用十进制表示。
IP地址的分类
Internet中的地址可分为5类:A类、B类、C类、D类和E类
- A类:网络地址占1个字节(8位),定义最高位为0来标识此类地址,余下7位为真正的网络地址,支持1~126个网络。后面的三个字节(24位)为主机地址,因此每个A类网络中最大的可用主机数为(2^24 -2)。所以A类全部的地址有(2^7 -2)*(2^24-2)。A类地址的第一个字节范围为0-127。
- B类:网络地址占2个字节(16位),定义最高位为10来标识此类地址,余下14位为真正的网络地址。后面的两个字节(16位)为主机地址,因此每个B类网络中最大的可用主机数为(2^16 -2)。所以B类全部的地址有(2^14 -2)*(2^16-2)。B类地址的第一个字节范围为128-191。
- C类:网络地址占3个字节(24位),定义最高位为110来标识此类地址,余下21位为真正的网络地址。后面的一个字节(8位)为主机地址,因此每个C类网络中最大的可用主机数为(2^8 -2)。所以C类全部的地址有(2^21 -2)*(2^8-2)。C类地址的第一个字节范围为192-223。
- D类:该类地址多用于组播,例如用于路由器修改;定义最高位为1110来标识此类地址。D类地址的第一个字节范围为224-239。
- E类:该类地址为实验保留;定义最高位为1111来标识此类地址。E类地址的第一个字节范围为240-225。
注意:
①可用的网络数量减2是因为网络号字段中全0的IP地址为保留地址,表示本网络,而网络号字段中全1的IP地址保留用于环回测试本机的进程间通信。例如对于A类地址来说(0.0.0.0到0.255.255.255是保留地址,用于表示所有的IP地址,127.0.0.0到127.255.255.255是保留地址,用于环回测试) ,因此A类地址能用的网络号是1-126,能用的IP地址是1.0.0.0-126.255.255.255
②可用的主机数减2是因为主机号字段为全0表示该IP地址为本机所属网络的地址(网络地址),而全1表示所有的(广播地址),因此全1的主机号字段表示该网络中的所有主机。例如对于IP地址为192.168.1.58的主机来说,网络地址为192.168.1.0;广播地址为192.168.1.255
子网掩码
子网掩码:所有对应网络号的部分用1填上,所有对应主机号的部分用0填上
子网掩码的作用就是用于指明哪些是网络号部分,哪些是主机号部分
例如A类IP地址默认的子网掩码是255.0.0.0;B类IP地址默认的子网掩码是255.255.0.0;C类IP地址默认的子网掩码是255.255.255.0
将子网掩码和IP地址按位进行逻辑“与”运算,得到IP地址的网络地址,剩下的部分就是主机地址,从而区分出任意IP地址中的网络地址和主机地址。
例如,有两台主机,主机一的IP地址为222.21.160.6,子网掩码为255.255.255.192,主机二的IP地址为222.21.160.73,子网掩码为255.255.255.192。主机一要给主机二发送数据,先要判断两个主机是否在同一网段。
主机一
222.21.160.6即:11011110.00010101.10100000.00000110
255.255.255.192即:11111111.11111111.11111111.11000000
按位逻辑与运算结果为:11011110.00010101.10100000.00000000
十进制形式为(网络地址):222.21.160.0
主机二
222.21.160.73 即:11011110.00010101.10100000.01001001
255.255.255.192即:11111111.11111111.11111111.11000000
按位逻辑与运算结果为:11011110.00010101.10100000.01000000
十进制形式为(网络地址):222.21.160.64
通过以上结果可以看到,主机一和主机二的网络地址不同,所以不在同一网段,如果要通信需要通过路由器转发。
子网划分
什么是子网划分?
子网划分定义:Internet组织机构定义了五种IP地址,有A、B、C三类地址。A类网络有126个,每个A类网络可能有16777214台主机,它们处于同一广播域。而在同一广播域中有这么多节点是不可能的,网络会因为广播通信而饱和,结果造成16777214个地址大部分没有分配出去。可以把基于每类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址,子网地址是借用基于每类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。
子网划分是通过借用IP地址的若干位主机位来充当子网地址从而将原网络划分为若干子网而实现的。划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少;每个子网中,第一个IP地址(即主机部分全部为0的IP)和最后一个IP(即主机部分全部为1的IP)不能分配给主机使用,所以每个子网的可用IP地址数为总IP地址数量减2。
另外,应该注意的是,将主机号用来充当子网号,要保证至少保留2个主机位。因为若主机位只剩一位,无论设为0还是1,都意味着主机位是全0或全1。由于主机位全0表示本网络,全1留作广播地址,这时子网实际没有可用主机地址,所以主机位至少应保留2位。
PS:IP地址还可以用CIDR(网络前缀法)表示,即“/<网络地址位数>;”。如193.96.0.0/20表示网络地址位数为20,即将四位主机位用来充当子网位了。
例子:
对B类网络135.41.0.0/16需要划分为20个能容纳200台主机的网络(即:子网)。因为16<20<32,即:2的4次方<20<2的5次方,所以,子网位只须占用5位主机位就可划分成32个子网,可以满足划分成20个子网的要求。B类网络的默认子网掩码是255.255.0.0,转换为二进制为11111111.11111111.00000000.00000000。现在子网又占用了5位主机位,根据子网掩码的定义,划分子网后的子网掩码应该为11111111.11111111.11111000.00000000,转换为十进制应该为255.255.248.0。我们再来看一看每个子网的主机数。子网中可用主机位还有11位,2的11次方=2048,去掉主机位全0和全1的情况,还有2046个主机ID可以分配。
因此,划分后可用的子网以及每个子网可用的ip地址为:
(除去子网号全0全1以及主机号全0全1的情况)
子网1:10000111.00101001.00001000.00000001-10000111.00101001.00001111.11111110;即135.41.8.1-135.41.15.254
子网2:10000111.00101001.00010000.00000001-10000111.00101001.00010111.11111110;即135.41.16.1-135.41.23.254
……
子网30:10000111.00101001.11110000.00000001-10000111.00101001.11110111.11111110;即135.41.30.1-135.41.247.254