计算机网络:速成包

公式表、每个专题的关键方法步骤和 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 子网划分中等
/?11111111111111111111111000000000网络位主机位

某部门在一个子网内需要 257 个主机地址。足够使用的最长前缀 p(最小子网)是多少?

257 hosts
p =
2.IPv4 子网划分困难
最后一个八位组 = 240112816413211608040201网络主机

某主机地址为 10.20.194.240/25。其子网广播地址的最后一个数(第四个八位组)x 是多少?

10.20.194.240/25
x =
3.计算机网络中等

什么能唯一标识互联网上 TCP 连接的一端?

  1. A仅 MAC 地址
  2. BIP 地址加端口号
  3. C子网掩码和网关
  4. D仅域名
4.计算机网络困难

与 IPv4 相比,IPv6 的分片有何不同?

  1. AIPv6 在传输层的 TCP 内部分片
  2. B路由器从不对 IPv6 数据包分片;只有源端可以分片,并使用路径 MTU 发现
  3. CIPv6 路由器在转发之前对路径上每个大于 64 字节的数据包进行分片
  4. DIPv6 不允许大于 576 字节的数据包
5.数制中等
8 位补码0−12806403201608040201

设置各位,使其以 8 位补码存储 −115。按无符号数读取,该位模式的值 U 是多少?

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

把各位设置为 0110 0010 << 2 的 8 位结果。该结果的十进制值 R 是多少?

0110 0010<< 2
R =

3溶液

1.IPv4 子网划分

答案: p = 23

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

所需主机位

28 − 2 = 254 < 257
29 − 2 = 510 ≥ 257 → h = 9

前缀长度

p = 32 − 9 = 23

答案

p = /23
2.IPv4 子网划分

答案: x = 255

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

块大小

27 = 128

该主机所在子网

网络: ⌊240/128⌋·128 = 128
广播: 128 + 128 − 1 = 255
可用主机: 129 … 254

答案

x = 255
3.计算机网络

答案: B · IP 地址加端口号

为什么是这个答案

一个 TCP 连接由源 IP 和端口以及目的 IP 和端口共同标识。端口用于区分同一主机上的众多应用程序。

答案

B · IP 地址加端口号
4.计算机网络

答案: B · 路由器从不对 IPv6 数据包分片;只有源端可以分片,并使用路径 MTU 发现

为什么是这个答案

IPv6 路由器会丢弃过大的数据包并返回 ICMPv6 Packet Too Big 消息。源端随后发送更小的数据包,或使用分片扩展首部。

答案

B · 路由器从不对 IPv6 数据包分片;只有源端可以分片,并使用路径 MTU 发现
5.数制

答案: U = 141

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

取反加一

115 = 0111 0011
取反后: 1000 1100
+1 → 1000 1101

按无符号数读取

1000 1101₂ = 256 − 115 = 141

答案

U = 141
6.数制

答案: R = 136

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

逐位计算

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

0110 0010 << 2
= 1000 1000

结果的值

1000 1000₂ = 136

答案

R = 136

ExamProblems · examproblems.com/courses/computer-networks