子网掩码计算方法想深入了解“子网掩码的算法”,毋庸置疑,夯实基础知识是必要的。
下面,将分六个专题对“子网掩码”进行抽丝剥茧,逐层深入剖析寻找最本真的道。
一、什么是二进制二、十进制与二进制的转换三、什么是IP地址四、IP地址的标识与分类五、什么是子网掩码六、子网掩码计算方法想深入了解“子网掩码的算法”,毋庸置疑,夯实基础知识是必要的。
下面,将分六个专题对“子网掩码”进行抽丝剥茧,逐层深入剖析寻找最本真的道。
一、什么是二进制在电子电器的世界中,我们会发现,这个瑰丽梦幻的国度对应着让人习以为常的两极状态,像电容存储的满载与空置,电路的导通与截断,电器的Power ON与Power off等,这些酷似水火不容的状态像极了我们现实生活中的阴阳。
为了便于控制管理这些状态,人们引入了二进制的理念,以日常生活中最简单的俩个数映射标的这些状态,用数字1映射电路的导通、电容储存的满载、电器的Power On,用数字0标的电路的截断、电容存储的空置、电器的Power off。
在二进制找到了自己的位置后,配合着电子电器的发展,和着通信技术与计算机普及的步伐,渐渐地走上台前,站在万众瞩目的聚光灯下,挥舞着混夹有0与1的双臂向我们昭示着数字电子技术的魅力。
二进制总共有0与1俩个数,进位方式采用满二进位,运算方式有与(相当于十进制的乘)、或(相当于十进制的加)、非(求反)、异或(相当于十进制的减)。
8个二进制位就是我们常说的1字节,相应的,1KB=1024B,1MB=1024KB……对比二进制,十进制有0~9十个数,进位方式采用满十进位,运算方式有加减乘除与次幂等,大体上是相同的。
此外,还有八进制、十六进制、六十进制等,不一一赘述了。
在某些PC电源中,它提供了一个电源开关。
开关上标识着“-”与“0”,其中“-”对应着电源的“开”,“0”对应着电源的关,这就是二进制最直观、最生动的体现与应用。
二、十进制与二进制的转换1、二进制转换成十进制十进制192可以表示成:1×10^2 +9×10^1 +2×10^0 = 192可以看出十进制的权数是10,同理,二进制的权数是2,这样二进制转换成十进制就简单了:二进制101转换成10进制:1×2^2 +0×2^1 +1×2^0 =52、十进制转换成二进制整数部分除2取余,取余次序为从下往上,最低位当最高位。
取余方法如图,除完后从下往上下写,最下面是啥写啥,十进制“65”转换二进制为“1000001”。
小数部分就不赘述了,大体和整数部分相同。
小数部分乘2取整,取整次序为从上往下,最高位就是最高位。
Windows系统自带的“计算器”可以非常方便地进行各个进制之间的转换。
其实,现在大多用计算器算了,知道概念原理也没啥用。
不过,要想口算,这个知识点是需要了解的。
三、什么是IP地址IP(Internet Protocol,网间协议),对比曲高和寡的IPv6标准,现行的Ipv4标准才是主流。
在Ipv4标准中,IP地址采用4单元8位组共32位的二进制数值表示,形如“11110000 11110011 1111000011110011”,但这么多的1与0别说拿来记了,看着都脑袋疼。
为了方便书写和记着方便,在使用的时候以8个二进制位为1单元,同时把这个8位组对应的二进制数转换成十进制数,并以小数点隔开,这就是业内大名鼎鼎的“点分十进制”。
三、IP地址的标识与分类(一)、标识方法32位二进制的IP地址有一个范围,即IP地址全为0时最小,全为1时最大。
相应的,当我们把它转换为点分十进制时,这个十进制的呈现方式也有一个范围,范围介于在“0.0.0.0~255.255.255.255”之间。
为进一步加强对IP地址的管理,提高IP地址的利用率,我们把一个标准的IP地址拆分为“网络标识”与“主机标识”俩部分。
网络标识相当于电话的区号,主机标识相当于电话所用的号码。
对应到网络上,网络标识相当于某个网段,主机标识相当于某台电脑。
网络标识用左起的高位字节标识为网络,占据着IP地址的高字节。
随着网络范围的递进,网络标识逐渐从左起的高字节扩展延伸到靠右的低字节处。
主机标识在网络标识之后,填充剩余的IP地址位,用于标识具体的电脑、路由、交换机、服务器等。
网络标识与主机标识共同配合协作,行使各自的使命与责任,把IP地址的作用发挥到极致,像极了一个温馨而融洽的家庭。
(二)、具体分类在IPv4标准中,IP地址共分为五类常规IP地址。
此外,它还涉及包括特殊用途的IP地址。
1、五类常规IP地址A类IP地址:由一个字节的网络标识和三个字节的主机标识组成。
第一字节的最高位必须为0,网络标识范围规定为1~126。
B类IP地址:由二个字节的网络标识和二个字节的主机标识组成。
第一字节的前两位必须为“10”,网络标识范围规定为128~191 . 0~255。
C类IP地址:由三个字节的网络标识和一个字节的主机标识组成。
第一字节的前三位必须为“110”,网络标识范围规定为192~223 . 0~255 . 0~255。
D类IP地址:224~239 . 0~255 . 0~255 . 0~255,多用于多路广播组用户,实际中极少涉及。
E类IP地址:240~255 . 0~255 . 0~255 . 0~255,仅供于实验,还没有得到实际的应用。
2、特殊用途的IP地址127打头的IP地址,全部用于回环诊断测试。
如127.0.0.1,在Windows默认的hosts策略下,配合ping命令,可以用来验证本机的TCP/IP协议簇是否正确安装。
同时,在使用ping命令时,Windows 会提供自动填充“.0”的功能,因此,我们可以把“127.0.0.1”中间的0拿掉,简写成“127.1”。
值得注意的是,在本机中没有网卡的情况下,“ping 127.1”仍然可以返回TTL值,也就是说,它仅仅在测试协议栈本身,而不是在测试本机网卡的好坏。
因127打头的IP地址首字节最高位也是0,故有些IT类期刊把它归入A类IP地址,这也是可以的。
在前三类常规IP地址中,还存在着一些特殊的网络标识与主机标示,这类特殊标识需要我们额外注意,因为它是我们划分子网的基础,说明如下:网络标识中,IP地址不能全为0,更不能全为1,全0与全1的标识为保留地址。
同时,网络标识第一个字节为0的IP地址,代表本地网络(如0.110.210.1)。
主机标识中,IP地址不能全为0,全0代表网络地址。
更不允许IP地址全为1,全1代表广播地址。
所以,一个网段中可以允许的设备数为“2的n次方-2”。
当然,这个“2的n次方-2”还只是理论值。
可全局路由的IP地址,又称公网IP,简单说,就是ISP服务商提供给我们的IP地址。
这个IP地址能直接用来上网,可以是静态的,也可以是动态的。
私有IP地址,又称专用IP地址。
在资源紧缺的今天,所有连入Internet的电脑都享有一个公网IP地址是不可能的,鉴此,引入了私有IP的概念。
当我们使用路由设备连至公网时,路由设备会自动把这些私有IP地址的信号段隔离在局域网内部。
五、什么是子网掩码在使用TCP/IP协议的网络中,网络内各设备之间的通信需要借助子网掩码来完成。
子网掩码主要用来判断互相通信的不同电脑是否在同一网络中,它是判断不同网段的标准。
纵观如今采用的主流IPv4标准体制,为配合32位的IP地址,相应的,与之搭配的子网掩码长度也是32位的二进制数,实际应用中也是采用“点分十进制”。
同时,IP地址与子网掩码必须配合使用才能使网络正常工作。
子网掩码用二进制数字“1”来标识网络,占据着高字节位。
用“0”来标识具体的主机,相对来说,占据着低字节位。
在日常组网应用环境里,为提高IP地址的利用率,我们可以把子网掩码中原本属于主机标识部分的“0”变成网络标识“1”,这样在无形上,就把事先拟定好的IP地址分成了一个个逻辑子网,让一类IP地址就能跨越多个物理网断,这样,就解决了IP地址资源稀缺的状况,为划分VLan与界定广播域断夯实基础。
六、子网掩码计算方法如图,我们会看到各类常规IP地址可以容纳的网络数与主机数IP地址类型8子网掩码的计算,实质上就是对子网划分的过程,方法有很多,下面只介绍一种比较简单的。
对子网掩码进行重新规划时,刚产生的子网相当于一个新的网段,所以,对应的网络数为“2的n次方-2”,即刨除“全0与全1”的网络保留地址。
同时,对应的主机数为“2的n次方-2”(注意,此N非彼N),即刨除全0的网络地址与全1的广播地址。
在新划分的子网掩码中,主机段有着如下的特点:子网IP地址始于网络地址,结束于广播地址,广播地址后又紧接着网络地址。
所以,我们会得出如下的结论:“第一个广播地址=第一个网络地址×2-1”,“广播地址=网络地址-1”。
同时,值得我们注意的是:“最后的有效主机地址=最后的广播地址-1”,“第一个有效地址=第一个网络地址+1”。
相应的,在单独的逻辑子网内,不刨除“网络地址与广播地址”的全部主机数为“2的n次方”,即主机增量段。
对第一个有效网络地址的界定。
理论上,子网掩码每个字节可以容纳的最大网络数为256,当然,最大主机数也是256。
在我们重新划分逻辑子网时,就相当于在总量恒定的256中抠出一部分作为网络标识,显而易见,剩下的就是主机标识。
这样,公式就出来了,第一个有效网络地址=(对应字节的)总量256-(对应字节的、已划分好的)子网掩码网络标识。
举例说明:例1:C类IP地址192.168.0.X,要划分为6个子网,要求我们算出实际的子网掩码,以及6个子网的IP段。
计算方法如下:1、首先,我们要知道标准C类IP地址的子网掩码为255.255.255.02、由划分6个子网的条件,得到“2的n次方-2”=6,求出N=3。
此时,我们得知在对应的标准子网掩码中有“3”位被替换成网络位,即“111 00000”,换算成十进制为“224”,所以,子网掩码为“255.255.255.224”3、主机标识就是把子网掩码中已经分配成网络位的抠掉,剩下的就是主机位,即“8-3=5”,得到“2的5次方”=32。
所以,每个子网的增量为32,实际可以用到的主机数为30;当然,也可以在总量恒定的256中抠出网络标识占用数,剩下的就是主机数,即“256-224=32”。
4、界定网络地址与广播地址。
我们已经算出子网掩码第4字节为“111 00000”,如果要划分子网,需要对前三位“111”与“000”进行排列组合,总共有8种排列方式,刨除全为1的“111”与全为0的“000”,剩下六种排列方式,即“001”、“010”、“011”、“100”、“101”、“110”。
这里面最小的是“001 00000”,也就是我们要寻找的第一个有效网络地址,转换成十进制为32。