关于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
阅读(1072) | 评论(0) | 转发(0) |