子网掩码计算器 http://www.jisuanqinet.com/kexue/ip.html
互联网是一个巨大的物理网络。
这个网络上每一台计算机,都需要标识自己的身份,以便跟其他计算机进行交互通信。
这个表示身份的东西,叫做地址,具体的,叫IP地址,也就是Internet Protocol 地址。
如果想让整个网络上的计算机都能跟自己沟通,就必须有一个公网地址。
为了使用方便,可以架设一些私有的小网络,这些小网络有私有ip地址。私有小网络的计算机可以访问公网ip的计算机,但是公网ip地址的计算机不能主动访问私有网络的计算机,因为私有网络的计算机没有公网地址,没有公网地址就不能被主动访问。
IP地址有两种,IP4和IP6。IP4地址,由4个字节表示,每个字节有8个位,写成形如类似255.255.255.255的样子,其中255是十进制,转成二进制是11111111。
为了管理方便,IP地址管理机构将每个IP4地址分为两部分,前一个部分是网络ID,后一部分是主机ID。根据网络ID的长短不同,又将IP地址划分成三类:A类地址,B类地址,C类地址,D类地址。
A类地址。A类地址,第一个字节,表示网络号,且约定这个字节的第一位必须是0,后面三个字节是主机ID。那么,也就是说,A类地址的网络号一共有01111111个,转成十进制是127个,很少。每个网络号之下,有2^24=16777216台主机。因此,A类地址数量是127*16777216=2130706432个。
B类地址。B类地址,第一个和第二个字节是网络ID,且最高的两位必须是10,第三和第四个字节是主机ID。也就是说,B类地址的网络数量是2^14=16384,每个网络ID容纳的主机ID数量是2^16=65536个,因此B类地址数量一共是16384*65536=1073741824个。
C类地址。C类地址,前三个字节是网络ID,且最高的三位必须是110,第四个字节是主机ID。也就是说,C类地址的网络数量是2^21=2097152个,每个网络下的主机ID数量是2^8=256个,因此C类地址数量一共是2097152*256=536870912个。
D类地址。D类地址,有点特殊,不分网络ID和主机ID,前四位必须是1110,其他位任意。因此D类地址数量是2^28=268435456个。
上述4类地址,有一个简单的判断方式,如果把IP地址写成十进制,类似 255.255.255.255的形式,如果第一个数字是1~126,是A类地址(127有特殊用途,下文会说到),128~192是B类地址,192~223是C类地址,224~239是D类地址。
还有一些专门规定:
对于ABC类地址,如果主机ID部分全都是0,表示所在的网络。
对于ABC类地址,如果主机ID部分全都是1,对这个地址发消息,表示对这个网络的所有主机发消息。
网络号127,不使用,127.0.0.1表示本地主机本身。
如果32位全是1,对这个地址发消息,表示对所在网络进行广播。
子网掩码:跟IP地址一样,也是4字节,指定一个IP地址哪些位是网络ID,也就是把网络ID对应的为都置1,主机ID对应的位都置0,必须配合IP地址使用。因此,A类地址的子网掩码是255.0.0.0,B类地址的子网掩码是255.255.0.0,C类地址的子网掩码是255.255.255.0。子网掩码的作用就是:把两个IP地址分别跟自己的子网掩码进行“与”操作,如果两个结果是相等的,表明这两个主机在同一个网络ID下。
内网IP地址:有些IP地址是专供搭建私有网络使用的,永远不会跟公网IP地址冲突,公网IP地址永远不出现这些内网地址IP。
A类内网IP地址:10.0.0.0-10.255.255.255,默认子网掩码是255.0.0.0。这个子网掩码的前8位是1,因此,一个A类内网ip地址带上掩码可以写成形如10.1.0.1/8,这个8,表示4字节的IP地址,前8位表示网络ID。
B类内网IP地址:172.16.0.0-172.31.255.255,默认子网掩码是255.240.0.0。同理类上,一个B类地址带上掩码可以写成172.16.1.1/12。
C类内网IP地址:192.168.0.0-192.168.255.255,默认子网掩码是255.255.0.0。同理类上,一个C类地址带上掩码可以写成192.168.0.1/16。
子网掩码的另一个功能,是把一个大网络拆分成若干子网。
比如说,一个公司有一个多层办公楼,整个公司通过一个动态宽带网络访问外网。整个公司是一个私有内网,网络上所有计算机都使用私有网络ip地址。从网络建设而言,每层楼都需要建立一个子网,子网内部计算机可以相互直接访问,不同楼层计算机之间通过NAT(net address translation)相互访问,那么,就要对公司进行子网划分,这就是通过子网掩码进行的。
具体可以参考: