以下内容摘自笔者2008年的新作
——《网管员面试宝典》一书。
测试一下你对IP地址的理解能力,大家先不看题后的解答,看自己能做出多少题。
面试题1
:
以下说法正确的是(
)。
A. C
类地址就是局域网用的
IP
地址
B.
A
类地址的网络
ID
为
128
个
C.
网络
ID
不能以数字
0
或
127
开头
D.
不能使用全
0
或全
1
主机
ID
解析:
这道题考的是
IP
地址的划分和组成原则。
A
选项说
C
类地址是局域网用的
IP
地址,肯定是错误的,因为在
C
类地址中只有
192.168.0.0/16
这个地址段才专门用于局域网,其他的仍是用于因特网的
IP
地址。
B
选项说
A
地址的网络
ID
为
128
个也是错误的。因为尽管
A
类地址的网络
ID
仅为第一个
8
位组,并且由于第一位是固定为
0
的,所以剩下的
7
位中,理论上最多是
128
(
27
)。但是第一个
8
位全为
0
(
00000000
)的不能当做
IP
地址分配,因为它是网络地址;另一个第一个
8
位组中后面
7
位全为
1
(
01111111
)的也不能当做
IP
地址分配,因为它保留以专门用于环路测试。所以实际上可用的仅
126
个。
C
选项说网络
ID
不能以数字
0
或
127
开头,这正好是单播
IP
地址编址规则,所以是正确的。
D
选项说不能使用全
0
或全
1
主机
ID
,这也是单播
IP
地址编址规则,所以也是正确的。
答案:
C D
。
面试题2
:
以下属于专用地址是(
)。
A. 10.0.0
.1 B. 172.31. 254.1 C. 192.168.0.16
D. 172.33.25.220 E. 196.168.0.1
解析:
这道题考的是应试者对三类
IP
地址中专用于局域网的
IP
地址段的了解,这也是在面试中经常会考到的。
要确定某个
IP
地址是不是专用地址,就要看它是否属于
A
、
B
、
C
三类地址中专用局域网的
IP
地址段中。
A
类地址
10.0.0
.0/8
(
10.0.0.0
,
255.0.0.0
)地址段属于专用
IP
地址,这是地址前缀表示形式,另一表示形式就是
10.0.0
.1
~
10.255.255.254
。
B
类地址
172.16.0.0/12
(
172.16.0.0
,
255.240.0.0
)地址段属于专用
IP
地址,这是地址前缀表示形式,另一表示形式就是
172.16.0.1
~
172.31.255.254
。
C
类地址
192.168.0.0/16
(
192.168.0.0
,
255.255.0.0
)地址段属于专用
IP
地址,这是地址前缀表示形式,另一表示形式就是
192.168.0.1
~
192.168.255.254
。
对照以上各选项中的
IP
地址,看是否在以上三个专用
IP
地址网段范围中即可迅速得出本题的正确答案。
答案:
A B C
。
面试题3
:
保留给自环测试的
IP
地址是(
)。
A. 164.0.0.0 B. 130.0. 0.0 C. 200.0.0.0 D. 127.0.0.0
解析:
这道题很容易得出正确答案,但只能凭记忆。
答案:
D
。
面试题4
:
将
11100100.10011101.10010011.111110011
转换成点分十进制,将
235.168.20.12
地址转换成点分二进制形式。
解析:
这其实是一道二进制与十进制相互转换的题,掌握了方法很容易得出正确答案。
二进制转换成十进制的方法是对各位按对应位的
2
的幂次方(最低位的幂为
0
)取值,然后把每个
8
位组的
2
的幂次方值相加即可。如本题中的
11100100.10011101.10010011.111110011
就可表示为:
1×27+1×26+1×25+0×24+0×23+1×22+0×21+0×20. 1×27+0×26+0×25+1×24 +1×23+1×22+0×21+1×20. 1×27+0×26+0×25+1×24+0×23+0×22+1×21+1×20. 1×27+1×26+1×25+1×24+0×23+0×22+1×21+1×20
最终得到:(
128+64+32+0+0+4+0+0
)
.
(
128+0+0+16+8+4+0+1
)
.
(
128+0+0+16+0+0+2+1
)
.
(
128+64+32+16+0+0+2+1
)
=224.157.147.243
。
要将十进制转换成二进制,则把对应的十进制组除以
2
,然后把余数从后面开始排列即得到二进制。如果余数不满
8
位,在前面加上
0
填充即可。如,本题
235.168.20.12
中的“
235
”除以
2
的余数分别如图
11-1
所示,然后把余数从下往上取值,即得到
11101011
,恰好为
8
位,就不用在前面填充
0
了。用同样的方法可以得到后面三组的二进制分别为
10101000
、
00010100
及
00001100
。以点分二进制表示为
11101011 .10101000.00010100.00001100
。
图
11-1 235
的二进制转换
答案:
11100100.10011101.10010011.111110011
的点分十进制表示形式为
224.157.147.243
,
235.168.20.12
的点分二进制形式为
11101011. 10101000.00010100.00001100
。
面试题5
:
用压缩零法表示
1080:0000:0000:0000:0008: 0800:200C:123A
和
0514:0000:0000:A001:0000:0000:0612: 421F
两个
IPv6
地址。
解析:
这是道考
IPv6
地址表示方式的题,不过目前在网管员的面试中,这方面的题还是很少的,毕竟现在
IPv6
还没有普及应用。
在表示和书写
IPv6
的地址时,用冒号将
128
位分割成
8
个
16
位的段,这里的
128
位表示在一个
IPv6
地址中包括
128
个二进制数。转换成十六进制数后,每个段包括
4
位的
16
进制数字。在
IPv6
地址中规则可以用用重叠冒号置换地址中的连续
16
位(相当于一个段都为
0
)的
0
,以减少其中的
0
的位数,书写和阅读都更方便。这就是本题所说的压缩零表示法。
如本题中的
1080:0000:0000:0000:0008:0800: 200C :123A
地址中,用压缩零表示后即得到
1080::0008:0800:200c:123A
。
而
0514:0000:0000:A001:0000:0000:0612:421F却不能
用压缩零表示后得到
0514::A001::0612:421F,而应该是0514::A001:0000:0000:0612:421F,或者0514:0000:0000:A001::0612:421F
。因为压缩0表示法在一个地址中只能用一次。
答案:
1080:0000:0000:0000:0008:0800: 200C : 123A
和
0514:0000:0000:A001: 0000:0000:0612: 421F
两个
IPv6
地址用压缩零表示法的表示形式分别为:
1080::0008:0800: 200c : 123A
和0514::A001:0000:0000:0612:421F,或者0514:0000:0000:A001::0612:421F
。
面试题6
:
172.16.49.31/16
的网络
ID
和主机
ID
分别是(
)。
A. 172
,
16.49.31
B. 172.16
,
49.31
C. 172.16.49
,
31 D. 172.16.49.31
,
172.16.49.31
解析:
这
道
题考的是
IPv4
地址的地址前缀表示方法,以及对网络
ID
和主机
ID
的理解。要表示一个
IP
地址,可以有两种方式:一是地址
+
子网掩码形式,另一种就是地址前缀形式,否则就无法确认该
IP
地址属于哪个网络,更无法知道它的网络
ID
和主机
ID
了。
其实
这是一道非常简单的题,根本不用计算,直接可以得出答案,只要理解
地址前缀“
/16
”的意思即可。因为要求网络
ID
和主机
ID
只能是标准的三类
IP
地址,划分子网后的地址中,因为网络
ID
和主机
ID
都有不完整的
8
位组,所以不可能用十进制来表示。千万别把简单的问题复杂化,认为没这么简单。可事实上这道题就这么简单。
地址前缀值其实表示的就是地址中网络
ID
的位数。本题中的“
/16
”表示该
IP
地址的网络
ID
有
16
位,而这个
IP
地址的第一个
8
位组值为
172
,正好处于
B
类
IP
地址范围,所以其实
172.16.49.31/16
就是一个标准的
B
类地址。因此,很容易得出它的网络
ID
为前两个
8
位组
172.16
,而主机
ID
为后两个
8
位组
49.31
,也就是本题的正确答案为
B
。
答
案:
B
。
面试题7
:
没有任何子网划分的
IP
地址
125.3.54.56
的网络地址是(
)。
A.
1
25.0.0.0 B. 125.3. 0.0 C. 125.3.54.0 D. 125.3.54.32
解析:
因为题中已说明是没有任何子网划分,所以,只要区分
A
、
B
、
C
这
3
个主要
IP
地址类型就差不多了。因为网络地址就是网络
ID
不变,主机
ID
全为
0
的
IP
地址。
125.3.54.56
是一个
A
类地址。
A
类地址中前一个八位组是网络
ID
,后面
3
个八位组是主机
ID
。于是把
125.3.54.56
的后面
3
个
8
位组全部置
0
就得到了它的网络地址,即
125.0.0.0
。
答案:
A
。
面试题8
:
假定给出一个
IP
地址:
192.168.12.43
,子网掩码为:
255.255
.
255.128
,
那么网络地址和广播地址分别是(
)。
A. 192.168.12.32 192.168.12.127
B. 192.168.0.0 255.255.255.255
C. 192.168.12.43 255.255.255.128
D. 192.169.12.0 192.168.12.127
解析:
这道题涉及到了子网的划分,因为子网掩码为
255.255.255.128
,而不是
3
个标准
IP
地址类型默认的子网掩码。
根据子网掩码
255.255.255.128
可以得出它是向主机
ID
借
1
位形成的新子网,因为子网掩码是网络
ID
全置
1
,主机
ID
全置
0
的值,而这里的最后一个
8
位组为
128
,恰好是最高的第
8
位的
2
的幂次方值(
27
)。
网络地址是
IP
地址与子网掩码的二进制逻辑与运算结果。
192.168.12.43
的二进制为:
11000000.10101000.00001100.00101011
;
255.255.255.128
的二进制为
11111111.11111111.11111111.10000000
。结果得到网络地址为
192.168.12.0
。
广播地址是网络地址
+
最大的主机
ID
。但要注意的是,主机
ID
只有最后的
7
位,由此可以得到广播地址为
192.168.12.127
。
答案:
D
。
面试题9
:
172.16.10.32/24
代表的是(
)。
A.
网络地址
B.
主机地址
C.
组播地址
D.
广播地址
解析:
这
是
考应试者对
IP
地址前缀表示法的理解。
这里的“
/24
”表示该
IP
地址中前
24
位是网络
ID
部分。而按照标准的
IP
地址分类可以知道,
172.16.10.32
是一个
B
类地址。
B
类地址中网络
ID
是前
16
位,所以这是一个经过重新子网划分的
IP
地址,而且恰好是整八位数形式的划分(最后的
32
仅为主机
ID
)。它可以明确表示一个主机
IP
地址,所以正确答案是题中的
B
。
之所以题中
A
、
C
、
D 3
个选项均不正确,那是因为
172.16.10.32/24
地址所在子网的网络地址是
172.16.10.0
,广播地址是
172.16.10.255
。组插地址是有专门地址的,是在
224.0.0.0
~
239.255.255.255
范围中。
答案:
B
。
面试题10
:
计算
IP
地址为
15.16.193.6
,子网掩码为
255.255.248.0
的子网网络地址和广播地址各是多少。
解析:
这道题虽然与前面的题一样都求是网络地址和广播地址的,但是这道题的难度要大许多,因为它不是整个
8
位组借位的,这一点可以从其子网掩码
255.255.248.0
得出的。
根据
IP
地址
15.16.193.6
,子网掩码
255.255.248.0
可以得出,该子网是通过在第
3
个
8
位组中借
5
位形成的子网。因为子网掩码中的第
3
个
8
位组
248
的二进制为
11111000
。
网络地址是
IP
地址与子网掩码的二进制位对应取值的结果。于是先把
IP
地址和子网掩码分别转换成二进制,然后再进行逻辑与运算。算式如下:
00001111.00010000.11000001.00000110
.AND 11111111. 11111111. 11111000.00000000
0000111. 00010000.11000000.00000000
由此可以得出网络地址的结果为
0000111. 00010000.11000000. 00000000
,转换成点分十进制后即得到
15.16.192.0
。
广播地址是由网络地址再加上最大的主机
ID
得到的。这里的主机
ID
涉及到第
3
个和第
4
个共两个
8
位组。直接可以在网络地址的二进制中来转换,把网络地址二进制中主机
ID
部分全部取
1
,即可到广播地址。因为网络地址为
0000111. 00010000.11000000.00000000
,把第
3
个
8
位组后面
3
位和第
4
个
8
位组全部取
1
,其他的不变,即得到广播地址为
0000111. 00010000.11000111.11111111
,转换成点分十进制后即得到
15.16.199.255
。这就是该子网的广播地址。
其实广播地址也可以通过它与网络地址的另一层关系得到,就是上一个子网的广播地址是与下一个子网的网络地址的前一个地址。我们已经得到该子网的网络地址为
15.16.192.0
,同时知道它的子网掩码为
255.255.248.0
,由此可见,网络地址中最后一个非全
0
的
8
位组为
248
,它与最大值
256
相差
8
,因此它的下一个子网的网络地址中,该
8
位组的值应为
8
的倍数(本子网的这个八位组的值为
192
,也是
8
的倍数)。而本
IP
地址为
15.16.193.6
,所以下一个子网的网络地址中第
3
个
8
位数的数肯定要大于
193
,同时又要是
8
的倍数,可以得到最接近的一个数就是
200
,这样就得到了下一个子网的网络地址为
15.16.200.0
,它的前一个
IP
地址就是
15.16.199.255
,这就是
15.16.200.0
所在子网的上一个子网的广播地址。
只要懂得原理,还是非常简单的,因为可以根据子网掩码直接得出下一个子网网络地址是多少的倍数,那就是最后一个非全
0
的
8
位组的十进制值与一个
8
位组中最大值
256
的差值。如本例为
248
,它与
256
的差就是
8
。
答案:
IP
地址为
15.16.193.6
,子网掩码为
255.255.248.0
的子网网络地址和广播地址分别为
15.16.192.0
,
15.16.199.255
。
面试题11
:
将
172.28.13.0/20
前缀地址转换为点分十进制形式,并计算其中包括的可用
IP
地址范围和个数。
解析:
这
道题考的是应试者对
IP
地址前缀表示形式的理解。
这里所说的点分十进制表示形式其实就是要用
IP
地址
+
子网掩码的十进制表示形式。
172.28.13.0/20
表示前
20
位为网络
ID
,后
12
位为主机
ID
。由此可以得到该地址表示的网络子网掩码为
11111111.11111111.11110000. 00000000
,转换成十进制后即得到
255.255.240.0
。
这样就可以得到
172.28.13.0/20
的点分十进制表示形式为
172.28.13.0
,
255.255.240.0
。
然后根据以上结果,按照本节以上介绍的方法得出该子网的网络地址和广播地址分别为:
172.28.0.0
,
172.28.15.255
。
最后根据网络地址与广播地址得到地址范围和个数。
可用于主机的
IP
地址范围是
172.28.0.1
~
172.28.15.254
,总个数是
16
(倒数第
2
个
8
位组是从
0
~
15
的
)
×254
(倒数第
1
个
8
位组的所有可用主机
IP
地址数)
=4064
。这就是可用的
IP
地址数。
答案:
该子网可用的
IP
地址范围是
172.28.0.1
~
172.28.15.254
,可用的
IP
地址个数为
4 064
个。
面试题12
:
192.168.2.16/28
子网中每个子网最多可以容纳(
)台主机。
A. 16 B. 8 C. 15 D. 14 E. 7
解析:
要计算出可以容纳多少台主机,就需要知道子网的子网掩码。因为主机数可以从子网掩码的主机
ID
位数是得出。
192.168.2.16/28
是一个向第
4
个
8
位组借了
4
位而划分的子网(因为
3
个
8
位组一共是
24
位)。由此可以得到该子网的子网掩码二进制为:
11111111.11111111.11111111.11110000
转换成点分十进制后即得到
255.255.255.240
,这就是该子网的子网掩码。
由上面的点分二进制子网掩码可以得知子网中的主机
ID
位仅有
4
位了。最多的
IP
数就是
24=16
。然而这是包括了子网的网络地址和广播地址这两个的,最后实际上可用于主机的
IP
地址仅为
14
个,即答案
D
。
答案:
D
。
面试题13
:
每个子网不能有多于
58
台计算机,最合适的子网掩码为(
)。
A. 255.255.255.192
B. 255.255.255.248
C. 255.255.255.224
D. 255.255.255.240
解析:
这道题考的也是子网划分方面的知识。首先要抓住题中要点,就是每个子网有不多于
58
台计算机。主机数是由主机
ID
位数决定的,计算公式是主机数
m=2n
(
n
为主机
ID
位数)。
25=32
,
26=64
,要不多于
58
台主机,则最接近的就是主机位数为
5
位。也就是把一个
C
类
IP
地址中的最后
8
位中的前
3
位划分为子网
ID
。这样可以得出该子网的子网掩码地址为
11111111.11111111.11111111. 11100000
,转换成十进制后即得到
255.255.255.224
。
答案:
C
。