Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6916136
  • 博文数量: 1956
  • 博客积分: 10648
  • 博客等级: 上将
  • 技术积分: 23794
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-22 09:38
个人简介

HI,movno1

文章分类

全部博文(1956)

文章存档

2022年(1)

2021年(8)

2020年(2)

2019年(12)

2018年(2)

2016年(2)

2015年(1)

2014年(2)

2013年(19)

2012年(8)

2011年(41)

2010年(388)

2009年(122)

2008年(385)

2007年(259)

2006年(704)

我的朋友

分类: WINDOWS

2006-03-23 18:18:35

关于IP地址的一些算法!
  
  (1)已知ip地址和子网掩码,求所在的子网号、广播地址和主机号?(这是2001年上午题61-63)
  
  假设ip地址为:x.x.x.y
  
  子网掩码:255.255.255.a
  
  则:子网号k:
  
  首先计算出:b=256-a
  
  而子网号k为:小于y值的最大b的倍数
  
  b最大倍数 例如192.55.12.120 子网掩码:255.255.255.240
  
  b=256-240=16
  
  最靠近120的16的倍数是:16*7=112<120
  
  所以子网号k就是:0.0.0.112
  
  广播地址就比较好理解了,在以16为一栏的子网地址里面
  
  广播地址m=(子网号+b)-1
  
  于是:m=(112+16)-1=127
  
  主机号z:
  
  将y与a的取反 相与 =主机号
  
  (2)已知建设网络所需的子网数n,求子网掩码m?
  
  1、首先要知道:n所要求的理论子网数t:
  
  例如所需子网数是5个,
  
  那么它的理论子网数就是t=2^3=8
  
  2、求每个子网可分配的ip地址块大小e:
  
  e=256/t
  
  则:265/8=32
  
  3、最后:256-e=子网掩码
  
  256-32=224
  
  大家看看2001年的64题,头十位用于子网,则第4个8位中有2位;
  
  于是可以理解为(22-2)=2,即n=2
  
  理论子网数t=22=4
  
  就有:e=256/4=64
  
  最后子网掩码=256-64=192
  
  4、已知子网主机数,求m掩码?
  
  例:ip: 192.168.5.0 ,要求划分20个子网,每个子网5 个主机。
  
  解:因为4 <5 < 8 ,用256-8=248 ――>即是所求的子网掩码,对应的子网数 也就出来了。这是针对C类地址。
  
  对于,假如主机数小于或等于254,与C类地址算法相同。
  
  对于主机数大于254的,如需主机 700台,50个子网(相当大了),
  
  512 < 700< 1024
  
  256-(1024/256)=256-4=252 ――>即是所求的子网掩码,对应的子网数也就出来了。
  
  上面256-4中的4(2的2次幂)是指主机数用2进示时超过8位的位数,即超过 2位,掩码为剩余的前,即子网数为2^6-2=62个。
  
  可以这样理解
  
  1 :不管具体是什么,就从 掩码找起,是255的就不理,专找那个不是的,用256去减:
  
  此题中即为: 256-240=16
  
  则,把0-255以 16 为一栏划分:0 16 32 48 64 …… 112 128 ……
  
  对应240 的IP地址部分为 120(都是第四部分),落在 112 和128 这个网段中间,
  
  所以, 0.0.0.112 即为子网号,主机号为 0.0.0.8
  
  以上是ccna书上的算法。方便!
  
  如果还不清楚,你也可以这样理解:
  
  子网数为240,即从主机位中借了4位划分子网,子网数和主机数=2^4=16,但可用主机数和可用子网数为16-2=14。排列如下:
  
  0~15
  
  16~31
  
  32~47
  
  48~63
  
  64~79
  
  80~95
  
  96~111
  
  112~127
  
  128~143
  
  144~159
  
  160~175
  
  176~191
  
  192~207
  
  ~223
  
  224~239
  
  240~255
  
  而120在112~127之间,结合以上我总结的:小于y值的最大b的倍数
  
  b最大倍数那么子网号:112
  
  广播号:127
  
  然后你数数看,ip地址120,所在的网络号是多少?
  
  112-1
  
  113-2
  
  114-3
  
  115-4
  
  116-5
  
  118-6
  
  119-7
  
  120-8
  
  网络号就是8
  
  na的算法实在是方便
  
  至于2001年的65题
  
  判断是否通过路由器通讯的办法是看它们是否在一个子网里面??
  
  如果是一个子网,则不需要路由器通讯
  
  如果不是一个子网,哈哈,就是我们要选择的答案!
  
  m:255.255.192.0 要通讯的主机:129.23.144.16
  
  前面的两个8位,我们就不算了,只看后两位
  
  首先,求出通讯主机所在的网络号,由于是b类地址,就看第3位192
  
  根据上面ccna的办法:256-192=64
  
  64*2=128<144
  
  网络号就是129.23.128.0
  
  以此算出:
  
  A.129.23.191.21的网络号是128 128<191
  
  B.129.23.127.22 的网络号是 64 64<127
  
  c.129.23.130.33 的网络号是 128 128<130
  
  d.129.23.148.127 的网络号是 128 128<148
  
  答案就是b
  
  一些简单的方法
  
  eg:已知建设网络所需的子网数n,求子网掩码m?
  
  先看是那一类的网络,
  
  然后在这个基础上,
  
  在原来的主机地址上,
  
  从坐到右数1的个数,
  
  这个数为n,
  
  剩下的就添零了。
  
  如: 在b类网,建6个子网.
  
  b类网络的子网掩码格式:
  
  255.255.x.x
  
  在着上面数一,剩下的就添零
  
  11111111.11111111.11111100.00000000
  
  就是:
  
  255.255.252.0
阅读(1091) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~