我在大学考试中有一个重复的题目,它一直困扰着我。
我正在从另一种语言翻译它,所以请耐心等待:
内部网络地址(请输入每个字段的字节数,如果全部为字节,请使用*)
一类: __ __ __ __
B 类: __ __ __ __
C 类: __ __ __ __
我知道它应该是这样的:
A:?* * * B:??* * ...
我只是不确定他们到底要求我做什么,以及需要什么样的数学。
答案1
我认为问题是分类网络- 很大程度上局限于历史,因为CIDR(无类域间路由)。
总结
问题不明确,似乎包含根本性的误解,并使用了过时的“事实“(这常常被混淆)用来给学生评分。我会反驳。
因为他们问的是“内部网络地址“,那么他们可能指的是私有网络地址(但我不认为这是他们的意图):
10.0.0.0/8
- 一个 A 类网络172.16.0.0/12
- 16x B 类网络,背靠背192.168.0.0/16
- 256x C 类网络
问题继续说“请输入每个字段的字节数“... IPv4 地址是 32 位地址,分为四个 8 位(1 字节/八位字节)块,以十进制表示。我们假设通过“... 数量字节...“他们实际上的意思是”... 数量位...“——尤其是因为有四个”字段“给出。
他笑着说,是的,字节
在这种情况下,问题可能可以更好地表述如下(尽管这仍然是一个奇怪的问题):
写出用于表示网络前缀的每个八位字节的位数。
咦……”网络前缀”?
即/8
,/12
或/16
在上述保留地址空间的末尾,是一种表示子网掩码您可能更熟悉的另一种表示形式是诸如255.255.255.0
(等于/24
)的值。
- 该
/x
符号表示“x 位用于网络地址“ - 该
255.255.255.0
符号表示“这是用于网络地址的掩码“。
255.255.255.0
或者/24
可以以二进制形式完整写出:
dec 255 255 255 0
bin 11111111 11111111 11111111 00000000
A 类
因此,假设 A 类网络为/8
(或255.0.0.0
),则可以写成:
dec 255 0 0 0
bin 11111111 00000000 00000000 00000000
我的答案是:8, 0, 0, 0
。
B 类
因此,假设 B 类网络为/16
(或255.255.0.0
),则可以写成:
dec 255 255 0 0
bin 11111111 11111111 00000000 00000000
我的答案是:8, 8, 0, 0
。
C 类
因此,假设 C 类网络为/24
(或255.255.255.0
),则可以写成:
dec 255 255 255 0
bin 11111111 11111111 11111111 00000000
我的答案是:8, 8, 8, 0
。
相反,如果他们真正想问的是:
写出用于表示每个八位字节的位数主机地址。
我将使用以下响应 - 注意,这些位是从子网掩码反转的,以产生“主机地址掩码“。
A 类
因此,假设 A 类网络为/8
(或255.0.0.0
),则可以写成:
dec 255 0 0 0
bin 11111111 00000000 00000000 00000000 <== subnet mask
bin 00000000 11111111 11111111 11111111 <== host address mask
我的答案是:0, 8, 8, 8
。
B 类
因此,假设 B 类网络为/16
(或255.255.0.0
),则可以写成:
dec 255 255 0 0
bin 11111111 11111111 00000000 00000000
bin 00000000 00000000 11111111 11111111 <== host address mask
我的答案是:0, 0, 8, 8
。
C 类
因此,假设 C 类网络为/24
(或255.255.255.0
),则可以写成:
dec 255 255 255 0
bin 11111111 11111111 11111111 00000000
bin 00000000 00000000 00000000 11111111 <== host address mask
我的答案是:0, 0, 0, 8
。