关于IP地址的一些基本知识

      技术 2004-12-24 9:40
关于IP地址的一些基本知识

*************
IP地址的分类:
*************

  任何一个0到127间的网络地址均是一个A类地址。
  任何一个128到191间的网络地址是一个B类地址。
  任何一个192到223间的网络地址是一个C类地址。
  任何一个第一个八位组在224到239间的网络地址是一个组播地址。
  任何一个专用I P网络均可以使用包括:
  1个A类地址( 10.0.0.0 )、
  16个B类地址(从172.16.0.0到172.31.0.0 )
  256个C类地址(从192.168.0.0到192.168.255.0 )
在内的任何地址。

***************
子网掩码的计算:
***************

其实计算并不复杂。
以C类地址为例,自己找找规律。
掩码00000000,最大子网,相当于无子网。
掩码10000000,子网数2,可用0,每子网地址128,可用主机126。
掩码11000000,子网数4,可用2,每子网地址64,可用主机62。
掩码11100000,子网数8,可用6,每子网地址32,可用主机30。
掩码11110000,子网数16,可用14,每子网地址16,可用主机14。
掩码11111000,子网数32,可用30,每子网地址8,可用主机6。
掩码11111100,子网数64,可用62,每子网地址4,可用主机2。
可见,子网划分越多,地址浪费越多。
将掩码换算为十进制,可使用WINDOWS的计算器。
如掩码11100000,换算后是224,子网掩码就是255.255.255.224。
应根据主机最多的部门来确定子网大小,如果一个C类地址段不够用,就要涉及到路由、VLAN等技术,这里就不多说了。


****************************
子网掩码及主机段的十进制算法
****************************

首先要明确一些概念:

类范围:IP地址常采用点分十进制表示方法X.Y.Y.Y,在这里
X=1--126时称为A类地址;
X=128--191时称为B类地址;
X=192--223时称为C类地址;
如10.202.52.130因为X=10在1--126范围内所以称为A类地址
类默认子网掩码:A类为 255.0.0.0
B类为 255.255.0.0
C类为 255.255.255.0

当我们要划分子网用到子网掩码M时,类子网掩码的格式应为
A类为 255.M.0.0
B类为 255.255.M.0
C类为 255.255.255.M
M是相应的子网掩码如:255.255.255.240
十进制计算基数:256,等一下我们所有的十进制计算都要用256来进行。

几个公式变量的说明:
Subnet_block:可分配子网块大小,指在某一子网掩码下的子网的块数。
Subnet_num:实际可分配子网数,指可分配子网块中要剔除首、尾两块,这是某一子网掩码下可分配的实际子网数量,它等于Subnet_block-2。
IP_block:每个子网可分配的IP地址块大小。
IP_num:每个子网实际可分配的IP地址数,因为每个子网的首、尾IP地址必须保留(一个为网络地址,一个为广播地址),所以它等于IP_block-2,IP_num也用于计算主机段
M:子网掩码(net mask)。
它们之间的公式如下:
M=256-IP_block
IP_block=256/Subnet_block,反之Subnet_block=256/IP_block
IP_num=IP_block-2
Subnet_num=Subnet_block-2
2的冥数:要熟练掌握2^8(256)以内的2的冥代表的十进制数,如128=2^7、64=2^6…,这可使我们立即推算出Subnet_block和IP_block数。
现在我们举一些例子:

一、 已知所需子网数12,求实际子网数
解:这里实际子网数指Subnet_num,由于12最接近2的冥为16(2^4),即 Subnet_block=16,那么Subnet_num=16-2=14,故实际子网数为14。

二、 已知一个B类子网每个子网主机数要达到60x255(约相当于X.Y.0.1--X.Y.59.254的数量)个,求子网掩码。
解:1、60接近2的冥为64(2^6),即,IP_block=64
2、子网掩码M=256-IP_block
=256-64=192
3、子网掩码格式B类是:255.255.M.0.
所以子网掩码为:255.255.192.0

三、 如果所需子网数为7,求子网掩码
解:1、7最接近2的冥为8,但8个Subnet_block因为要保留首、尾2个子网块,即 8-2=6<7,并不能达到所需子网数,所以应取2的冥为16,即Subnet_block=16
2、IP_block=256/Subnet_block=256/16=16
3、子网掩码M=256-IP_block=256-16=240。

四、 已知网络地址为211.134.12.0,要有4个子网,求子网掩码及主机段。
解:1、211.y.y.y是一个C类网,子网掩码格式为255.255.255.M
2、4个子网,4接近2的冥是8(2^3),所以Subnet_block=8
Subnet_num=8-2=6
3、IP_block=256/Subnet_block=256/8=32
4、子网掩码M=256-IP_block=256-32=224
5、所以子网掩码表示为255.255.255.224
6、因为子网块(Subnet_block)的首、尾两块不能使用,所以可分配6个子网块(Subnet_num),每块32个可分配主机块(IP_block)
即:32-63、64-95、96-127、128-159、160-191、192-223
首块(0-31)和尾块(224-255)不能使用
7、每个子网块中的可分配主机块又有首、尾两个不能使用(一个是子网网络地址,一个 是子网广播地址),所以主机段分别为:
33-62、65-94、97-126、129-158、161-190、193-222
8、所以子网掩码为255.255.255.224
主机段共6段为:211.134.12.33--211.134.12.62
211.134.12.65--211.134.12.94
211.134.12.97--211.134.12.126
211.134.12.129--211.134.12.158
211.134.12.161--211.134.12.190
211.134.12.193--211.134.12.222
可以任选其中的4段作为4个子网。

总之,只要理解了公式中的逻辑关系,就能很快计算出子网掩码,从而得出可分配的主机段,参加MCSE和CCNA考试的朋友使用这种方法可以顺利地通过相关试题的考试,而不用象记9×9乘法口诀表一样去背什么二进制掩码表了。
********************************************************************
有很多人肯定对设定子网掩码这个不熟悉,很头疼,那么我现在就告诉大家一个很容易算子网掩码的方法,帮助一下喜欢偷懒的人:)

大家都应该知道2的0次方到10次方是多少把?也给大家说一下,分别是:
1 2 4 8 16 32 64 128 256 512 1024。

如果你希望每个子网中只有5个ip地址可以给机器用,那么你就最少需要准备给每个子网7个ip地址,因为需要加上两头的不可用的网络和广播ip,所以你需要选比7多的最近的那位,也就是8,就是说选每个子网8个ip。好,到这一步,你就可以算掩码了,这个方法就是:最后一位掩码就是256减去你每个子网所需要的ip地址的数量,那么这个例子就是256-8=248,那么算出这个,你就可以知道那些ip是不能用的了,看:0-7,8-15,16-23,24- 31依此类推,写在上面的0、7、8、15、16、23、24、31(依此类推)都是不能用的,你应该用某两个数字之间的IP,那个就是一个子网可用的 IP,怎么了?是不是不相信?太简单了。。。

我再试验一下,就拿200台机器分成4个子网来做例子吧。
200台机器,4个子网,那么就是每个子网50台机器,设定为192.168.10.0,C类的IP,大子网掩码应为255.255.255.0,对巴,但是我们要分子网,所以按照上面的,我们用32个IP一个子网内不够,应该每个子网用64个IP(其中62位可用,足够了吧),然后用我的办法:子网掩码应该是256-64= 192,那么总的子网掩码应该为:255.255.255.192。不相信?算算:0-63,64-127,128-191,192-255,这样你就可以把四个区域分别设定到四个子网的机器上了,是不是很简单?不需要软件算了吧。。。呵呵。。
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}