计算机网络:速成包

公式表、每个专题的关键方法步骤和 6 道练习题,完整解答附在最后。

新题目返回课程

在打印窗口中选择“另存为 PDF”,即可在设备上保存一份副本。

1公式与方法

IPv4 子网划分

每个子网的主机数
2(32 − prefix) − 2 (/31: 2, /32: 1)
块大小
256 − (mask octet)
网络地址
IP AND 掩码
广播地址
IP OR (NOT 掩码):主机位全部置 1
借用 n 位得到的子网数
2n

数制

位权
二进制 2k,八进制 8k,十六进制 16k
转为十进制
Σ dk·bk
从十进制转换
除以基数,余数从下往上读
十六进制 ↔ 二进制
一位十六进制数 = 4 位二进制
二进制补码
按位取反后加 1

2练习题

1.IPv4 子网划分中等
/24 → /2811111111111111111111111111110000网络位主机位

网络 192.168.10.0/24 需要划分为至少 12 个相等的子网。若借用尽可能少的位,每个子网有多少可用主机 H?

192.168.10.0/2412 subnets
H =
2.IPv4 子网划分困难
最后一个八位组 = 31012806403211618141211网络主机

某主机地址为 10.20.26.31/29。其子网中最后一个可用主机地址的第四个八位组 x 是多少?

10.20.26.31/29
x =
3.计算机网络中等

一台路由器有到 10.0.0.0/8 和 10.1.0.0/16 的路由。对于发往 10.1.5.5 的数据包,它使用哪条路由?

  1. A10.0.0.0/8,因为它是先添加的
  2. B10.0.0.0/8,因为它比 /16 覆盖的地址更多
  3. C10.1.0.0/16,因为它是最长匹配前缀
  4. D两条路由都用,平分流量
4.计算机网络困难

DNS 查询通常使用 UDP。DNS 在什么情况下通常改用 TCP?

  1. A用于 UDP 装不下的过大响应以及区域传送
  2. B只用于 IP 地址的反向查找
  3. C只在域名长于十个字符时
  4. D用于 Web 浏览器发出的每一个查询
5.数制中等
8 位补码?−128?64?32?16?8?4?2?1

把 −84 写成 8 位补码模式。再把该模式当作无符号二进制数读出:它的十进制值 U 是多少?

N = −848 bit
U =
6.数制困难
点击各位来设置012806403201608040201

把各位设置为 0011 0111 >> 1 的 8 位结果。该结果的十进制值 R 是多少?

0011 0111>> 1
R =

3溶液

1.IPv4 子网划分

答案: H = 14

IPv4 子网划分:一个地址有 32 位。前缀 /p 表示前面多少位标识网络;其余 32 − p 位为主机编号。一个子网有 2³²⁻ᵖ 个地址,但第一个(网络地址)和最后一个(广播地址)不能分配给主机,所以可容纳 2³²⁻ᵖ − 2 台主机。 例外:/31(点对点链路,RFC 3021)的 2 个地址都用于主机,/32 只有一个地址(单个主机或环回地址)。

借用的位数

24 = 16 ≥ 12 → b = 4, /28

每个子网的主机数

24 − 2 = 14

答案

H = 14
2.IPv4 子网划分

答案: x = 30

IPv4 子网划分:一个地址有 32 位。前缀 /p 表示前面多少位标识网络;其余 32 − p 位为主机编号。一个子网有 2³²⁻ᵖ 个地址,但第一个(网络地址)和最后一个(广播地址)不能分配给主机,所以可容纳 2³²⁻ᵖ − 2 台主机。 例外:/31(点对点链路,RFC 3021)的 2 个地址都用于主机,/32 只有一个地址(单个主机或环回地址)。

块大小

23 = 8

该主机所在子网

网络: ⌊31/8⌋·8 = 24
广播: 24 + 8 − 1 = 31
可用主机: 25 … 30

答案

x = 30
3.计算机网络

答案: C · 10.1.0.0/16,因为它是最长匹配前缀

为什么是这个答案

IP 转发使用最长前缀匹配:在所有与目的地址匹配的路由中,选择掩码最长的那一条。

答案

C · 10.1.0.0/16,因为它是最长匹配前缀
4.计算机网络

答案: A · 用于 UDP 装不下的过大响应以及区域传送

为什么是这个答案

如果 UDP 响应被截断,解析器会通过 TCP 重试。域名服务器之间的区域传送也使用 TCP,因为它们承载大量数据。

答案

A · 用于 UDP 装不下的过大响应以及区域传送
5.数制

答案: U = 172

位置计数制:每个数位的值等于该数字乘以基数的某次幂。二进制各位的权为 1、2、4、8、16、……;十六进制为 1、16、256、……,A–F 代表 10–15。在 8 位补码中,最左边一位的权是 −128 而不是 +128,负数就是这样存储的。

取反加一

84 = 0101 0100
取反后: 1010 1011
+1 → 1010 1100

按无符号数读取

1010 1100₂ = 256 − 84 = 172

答案

U = 172
6.数制

答案: R = 27

设置比特位:每一位对应 2 的一个幂(128、64、…、1)。一个十六进制数字恰好是四位,在 8 位补码中最左边的位权重为 −128。按位运算对每个位位置分别进行。

逐位计算

右移 1 位,把每一位向右移动 1 个位置;从右端移出的位丢失,左侧补入 0。

0011 0111 >> 1
= 0001 1011

结果的值

0001 1011₂ = 27

答案

R = 27

ExamProblems · examproblems.com/courses/computer-networks