Chinaunix首页 | 论坛 | 博客
  • 博客访问: 558066
  • 博文数量: 772
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 4940
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 19:52
文章分类

全部博文(772)

文章存档

2011年(1)

2008年(771)

我的朋友

分类:

2008-10-16 20:03:25

     摘要:无论是科研还是教学,对基础理论的长期累积和良好修养对我们高质量地完成复杂的工作任务都具有重要的作用。在网络领域,IP地址的10-2进制转换虽然属于常识范畴,但本文通过一个简单的算术公式说明,它在IP地址的分配和分析中却别具深意。

  网络工程师经常遇到的一个职业问题是:如何分配IP,通过子网如何捕捉某一网段或某台机器?他们甚至能够进行精准的分析和复杂的开发......凡此种种,其实与一些他们头脑中根深蒂固的常识性理论存有某种内在的本质关系。本文通过介绍一个IP地址10进制数转2进制的小公式,试图说明这样一个看似平淡无奇的小问题在地址分配和子网划分中却那么耐人寻味。本文着重介绍这个小公式。

  我们知道,IP是由四段数字组成,有3类常用的IP是:

  A类IP段  0.0.0.0 到127.255.255.255

  B类IP段  128.0.0.0 到191.255.255.255

  C类IP段  192.0.0.0 到223.255.255.255

  XP默认分配的子网掩码每段只有255或0,此即意味着:

  A类的默认子网掩码 255.0.0.0     一个子网最多可以容纳1677万多台电脑

  B类的默认子网掩码 255.255.0.0    一个子网最多可以容纳6万台电脑

  C类的默认子网掩码 255.255.255.0   一个子网最多可以容纳254台电脑

  也许有人会认为,属于同一网段的电脑,只要IP的前三段一样就可以了,这犯了一个想当然的错误。如果是这样,一个子网就只能容纳254台电脑?真是笑话。我们来说详细看看吧。其实,同一网段,指的是具有相同的网络标识,为此首先要做的是把每段的IP转换为二进制!

  当把子网掩码切换至二进制,就会发现,所有的子网掩码是由一串连续的1和一串连续的0组成的(一共4段,每段8位,一共32位数)。比如,以下是A/B/C三类默认子网掩码的二进制形式:

  255.0.0.0   11111111.00000000.00000000.00000000

  255.255.0.0  11111111.11111111.00000000.00000000

  255.255.255.0 11111111.11111111.11111111.00000000

  其实,还有好多种子网掩码,只要是一串连续的1和一串连续的0就可以了(每段都是8位)。如11111111.11111111.11111000.00000000,这也是一段合法的子网掩码。子网掩码决定的是一个子网的计算机数目,计算机公式是2的m次方,其中,我们可以把m看到是后面的多少颗0。如255.255.255.0转换成二进制,那就是11111111.11111111.11111111.00000000,后面有8颗0,那m就是8,255.255.255.0这个子网掩码可以容纳2的8次方(台)电脑,也就是256台,但是有两个IP是不能用的,那就是最后一段不能为0和255,减去这两台,就是254台。

  以下就来介绍这个将IP地址10进制数转2进制的小公式。

  首先,我们列出一行表格,填写8个数字,看下表:

 128  64  32  16  8  4  2  1

  2. 这行数字的特点是:从右端数从1开始,由右到左每个数是前一个数的2倍,共运算7次,相当于一个比率为2的等比数列,我们的问题是,对于这8个数,如何给出对应的一个2进制数? 我们在进行IP地址转换时次序正相反,是由左向右的;对于IP地址中的每个数值,将与一个特定的10进制数进行比较,如果大于或等于这个特定数,就在下行空格内设置为0,否则就设置为1。

[1]    

【责编:Zenghui】

--------------------next---------------------

阅读(328) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~