当前互联网使用的主要是IPv4协议,它是第一个被广泛使用,构成现今互联网的基础的协议。但是,随着用户数量的增多,IPv4包含的IP资源在不断减少。或许你会想,不是还有IPv6吗?IPv6的容量足以应付这种情况。的确,IPv6是可以完全实现实名制的。但是,IPv6也才正在崛起中。为了解决现有的这些问题,人们提出一个非常聪明的办法:子网掩码。今天,我们就来聊聊它的二三事。

先说说子网吧。什么是子网?略去百度、wiki那详细的解释,简单来说就是主机下的网络岛。主机使用一个IP地址,但可以和路由器分出许多接口,便产生了网络岛。同一主机下,不同网络岛是可以直接进行沟通的。但如果是不同主机呢?怎么鉴别?也可以进行直接沟通吗?这里就运用到网关了。我们稍后再谈。

子网掩码,或者说是子网络掩码、网络掩码,它的主要作用,就是划分一个IP地址的网络地址和主机地址(对于子网划分后的IP地址,就是网络号+子网号+子网主机号)。网络地址,是ISP申请并用户随机获得的。也是区分不同主机的首要方式。网络号不同,代表着主机的不同。网络号确定,管理员可以安排自己的子网。简单打个比方,一个单位无权决定自己在所属城市的街道名称和门牌号,但可以自主决定本单位内部的各个办公室编号一样。管理员可以设置不同的子网,每个子网下可以多个主机。这样,对IP地址的利用就大大提高了。但只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。子网掩码也可以判别该IP地址是在局域网或是远程网上。

对于A类IP地址,子网掩码默认为255.0.0.0;对于B类IP地址,子网掩码默认为255.255.0.0;对于C类IP地址,子网掩码默认为255.255.255.0。读者可以试试将这些数字转化成二进制,会有奇妙的发现喔。(〃'▽'〃)这里就揭晓吧。子网掩码的长度是32位(IPv4的长度也是32位),左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。这样就能很轻易地算出主机数啦。但注意的是,2的主机位数次方需要减去2.(主机号全为1时,是该网络的广播地址;主机号为0,是该网络的网络号)。

那么,怎么定义子网掩码?首先先确定你要求的IP地址是哪种类型的。下来,你要确定需要的子网数。举个例子吧。比如说,你需要14个子网,可能需要16个。那么,16=2^4.所以,就在第四个字节的前四位设为1,第四节就是“11110000”。把前三个字节补上,转化成二进制就是“11111111  11111111  11111111  11110000”。十进制的形式就是255.255.255.240.所以说,很简单吧。

你可以根据子网数和主机数来计算子网掩码。我这里说说子网数的计算办法。首先,把你需要的子网数减去1(因为计算机是从0开始的),再转化成二进制。记下它的位数,后面非常有用。取得该IP地址的类子网掩码,把主机部分前N(也就是你刚才记录的位数)设为1,便得出你所需子网掩码。来个例子。你的IP地址是168.195.0.0,需要20个子网。减去1转化成二进制,是1011.好,位数是4。B类IP地址子网掩码是255.255.00。B类地址的主机位包括后两个字节,所以这里要把第三个字节的前4位设为1。即255.255.240.0。主机数同理。

判断该IP地址是否是局域网,就把两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单随意。

关于子网掩码的详细知识,请参考百度、google、wiki。本人才疏学浅,如有错误,敬请谅解。

posted on 2017-12-28 22:06  Haruna  阅读(511)  评论(0编辑  收藏  举报