软件工程师的计算机网络知识水平与网络编程技能水平评估标准
1)熟悉计算机系统的基础知识;
2)熟悉计算机网络的基础知识;
3)掌握计算机网络体系结构和网络协议的基本原理;
5)理解网络应用的基本原理和技术;
6)能够熟练应用掌握的计算机网络技术进行开发
7)理解网络新技术及其发展趋势;
网络程序设计试题
以下试题选自历年408统考试题,我从中选择了一些我认为好的,并且能够给出详细解析的试题
一:选择题
1、在 OSI 参考模型中,自下而上第一个提供端到端服务的层次是 (B)。
A.数据链路层 B.传输层 C.会话层 D.应用层
解析:传输层提供应用进程间的逻辑通信,即端到端的通信。而网络层提供点到点的逻辑通信。
因此选 B。
2、数据链路层采用后退 N 帧(GBN)协议,发送方已经发送了编号为 0~7 的帧。当
计时器超时时,若发送方只收到 0、2、3 号帧的确认,则发送方需要重发的帧数是(C) 。
A.2 B.3 C.4 D.5
解析:在后退 N 帧协议中,发送方可以连续发送若干个数据帧,如果收到接收方的确认帧则
可以继续发送。若某个帧出错,接收方只是简单的丢弃该帧及其后所有的后续帧,发送方超
时后需重传该数据帧及其后续的所有数据帧。这里要注意,连续 ARQ 协议中,接收方一般
采用累积确认的方式,即接收方对按序到达的最后一个分组发送确认,因此题目中收到 3
的确认帧就代表编号为 0、1、2、3 的帧已接收,而此时发送方未收到 1 号帧的确认只能代
表确认帧在返回的过程中丢失了,而不代表 1 号帧未到达接收方。因此需要重传的帧为编号
是 4、5、6、7 的帧。
3、主机甲与主机乙之间已建立一个 TCP 连接,主机甲向主机乙发送了两个连续的 TCP
段,分别包含 300B 和 500B 的有效载荷,第一个段的序列号为 200,主机乙正确接收到两
个段后,发送给主机甲的确认序列号是(D) 。
A.500 B.700 C.800 D.1000
解析:TCP 是面向字节流的,其选择确认(Selective ACK)机制是接收端对字节序号进行确
认,其返回的序号是接收端下一次期望接收的序号,因此主机乙接收两个段后返回给主机甲
的确认序列号是 1000。
4、某自治系统内采用 RIP 协议,若该自治系统内的路由器 R1 收到其邻居路由器 R2
的距离矢量,距离矢量中包含信息
A.R2 可以经过 R1 到达 net1,跳数为 17
B.R2 可以到达 net1,跳数为 16
C.R1 可以经过 R2 到达 net1,跳数为 17
D.R1 不能经过 R2 到达 net1
解析:R1 在收到信息并更新路由表后,若需要经过 R2 到达 net1,则其跳数为 17,由于距离为 16 表示不可达,因此 R1 不能经过 R2 到达 net1,R2 也不可能到达 net1。B、C 错误,D正确。而题目中并未给出 R1 向 R2 发送的信息,因此 A 也不正确。
5.下列网络设备中,能够抑制广播风暴的是(D) 。
Ⅰ.中继器 Ⅱ.集线器 Ⅲ.网桥 Ⅳ.路由器
A.仅Ⅰ和Ⅱ B.仅Ⅲ
C.仅Ⅲ和Ⅳ D.仅Ⅳ
解析:物理层设备中继器和集线器既不隔离冲突域也不隔离广播域;网桥可隔离冲突域,但不
隔离广播域;网络层的路由器既隔离冲突域,也隔离广播域;VLAN 即虚拟局域网也可隔离
广播域。对于不隔离广播域的设备,它们互连的不同网络都属于同一个广播域,因此扩大了
广播域的范围,更容易产生网络风暴。
6.如果本地域名服务器无缓存,当采用递归方法解析另一网络某主机域名时,用户主
机、本地域名服务器发送的域名请求消息数分别为(A) 。
A.一条、一条 B.一条、多条
C.多条、一条 D.多条、多条
解析:
当采用递归查询的方法解析域名时,如果主机所询问的本地域名服务器不知道被查询域
名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查
询请求报文,这种方法用户主机和本地域名服务器发送的域名请求条数均为 1 条。
7、数据链路层采用选择重传协议(SR)传输数据,发送方已发送了 0~3 号数据帧,
现已收到 1 号帧的确认,而 0、2 号帧依次超时,则此时需要重传的帧数是 (B)。
A.1 B.2 C.3 D.4
解析:
选择重传协议中,接收方逐个地确认正确接收的分组,不管接收到的分组是否有序,只
要正确接收就发送选择 ACK 分组进行确认。因此选择重传协议中的 ACK 分组不再具有累
积确认的作用,要特别注意其与 GBN 协议的区别。此题中只收到 1 号帧的确认,0、2 号帧
超时,由于对于 1 号帧的确认不具累积确认的作用,因此发送方认为接收方没有收到 0、2
号帧,于是重传这两帧。
8、某网络拓扑如下图所示,路由器 R1 只有到达子网 192.168.1.0/24 的路由。为使 R1
可以将 IP 分组正确地路由到图中所有的子网,则在 R1 中需要增加的一条路由(目的网络,
子网掩码,下一跳)是(D) 。
A.192.168.2.0 255.255.255.128 192.168.1.1
B.192.168.2.0 255.255.255.0 192.168.1.1
C.192.168.2.0 255.255.255.128 192.168.1.2
D.192.168.2.0 255.255.255.0 192.168.1.2
解析:要使 R1 能够正确将分组路由到所有子网,则 R1 中需要有到 192.168.2.0/25 和192.168.2.128/25的路由。网络192.168.2.0/25和192.168.2.128/25的网络号的前24位都相同,于是可以聚合成超网 192.168.2.0/24,故下一跳地址应该是 192.168.1.2。
9.主机甲向主机乙发送一个(SYN=1,seq=11220)的 TCP 段,期望与主机乙建立
TCP连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确的TCP段可能是(C) 。
A.(SYN=0,ACK=0,seq=11221,ack=11221)
B.(SYN=1,ACK=1,seq=11220,ack=11220)
C.(SYN=1,ACK=1,seq=11221,ack=11221)
D.(SYN=0,ACK=0,seq=11220,ack=11220)
解析:主机乙收到连接请求报文后,如同意连接,则向甲发送确认。
在确认报文段中应把 SYN位和ACK位都置1,确认号是甲发送的TCP 段的初始序号 seq=11220加 1,即为 ack=11221,同时也要选择并消耗一个初始序号seq,seq值由主机乙的TCP进程确定,本题取seq=11221,它与确认号、甲请求报文段的序号没有任何关系。
10:ARP 协议的功能是 (A)。
A.根据 IP 地址查询 MAC 地址 B.根据 MAC 地址查询 IP 地址
C.根据域名查询 IP 地址 D.根据 IP 地址查询域名
解析:在实际网络的数据链路层上传送数据时,最终必须使用硬件地址,ARP 协议是将网络层的 IP 地址解析为数据链路层的 MAC 地址。
11.某主机的 IP 地址为 180.80.77.55,子网掩码为 255.255.252.0。
若该主机向其所在子网发送广播分组,则目的地址可以是(D) 。
A.180.80.76.0 B.180.80.76.255 C.180.80.77.255 D.180.80.79.255
解析:由子网掩码可知前 22 位为子网号、后 10 位为主机号。IP 地址的第 3 个字节为 01001101(下划线为子网号的一部分),将主机号全置为 1,可得广播地址为 180.80.79.255。
12、在一个采用 CSMA/CD 协议的网络中,传输介质是一根完整的电缆,传输速率为1Gbit/s,电缆中的信号传播速度为 200 000km/s。若最小数据帧长度减少 800bit,则最远的
两个站点之间的距离至少需要(D) 。
A.增加 160m B.增加 80m
C.减少 160m D.减少 80m
解析:若最短帧长减少,而数据传输速率不变,则需要使冲突域的最大距离变短来实现争用期的减少。争用期是指网络中收发节点间的 往返时延,因此假设需要减少的最小距离为 s,单位为 m,则可以得到下式(注意单位的转换):2×[s/(2×10^8 )]=800/(1×10^9 ),因此可得 s=80,即最远的两个站点之间的距离最少需要减少 80m。
13、在下图所示的采用“存储-转发”方式的分组交换网络中,所有链路的数据传输速率为 100Mbit/s,分组大小为 1000B,其中分组头大小为 20B。若主机 H1 向主机H2 发送一个大小为 980 000B 的文件,则在不考虑分组拆装时间和传播延迟的情况下,从 H1 发送开始到 H2 接收完为止,需要的时间至少是 (C)。
A.80ms B.80.08ms
C.80.16ms D.80.24ms
解析:
由题设可知,分组携带的数据长度为 980B,文件长度为 980000B,需拆分为 1000 个分
组,加上头部后,每个分组大小为 1000B,总共需要传送的数据量大小为 1MB。由于所有
链路的数据传输速度相同,因此文件传输经过最短路径时所需时间最少,最短路径经过 2
个分组交换机。
当 t=1M×8/(100Mbit/s)=80ms 时,H1 发送完最后一个 bit。
由于传输延时,当 H1 发完所有数据后,还有两个分组未到达目的地,其中最后一个分
组,需经过 2 个分组交换机的转发,在两次转发完成后,所有分组均到达目的主机。每次转
发的时间为 t0=1K×8/(100Mbit/s)=0.08ms。
所以,在不考虑分组拆装时间和等待延时的情况下,当 t=80ms+2t0=80.16ms 时,H2 接
收完文件,即所需的时间至少为 80.16ms。
14、下列关于 IP 路由器功能的描述中,正确的是(C) 。
Ⅰ.运行路由协议,设备路由表
Ⅱ.监测到拥塞时,合理丢弃 IP 分组
Ⅲ.对收到的 IP 分组头进行差错校验,确保传输的 IP 分组不丢失
Ⅳ.根据收到的 IP 分组的目的 IP 地址,将其转发到合适的输出线路上
A.仅Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ
C.仅Ⅰ、Ⅱ、Ⅳ D.Ⅰ、Ⅱ、Ⅲ、Ⅳ
解析:
Ⅰ、Ⅳ显然是 IP 路由器的功能。对于Ⅱ,当路由器监测到拥塞时,可合理丢弃 IP 分组,
并向发出该 IP 分组的源主机发送一个源点抑制的 ICMP 报文。对于Ⅲ,路由器对收到的 IP
分组首部进行差错检验,丢弃有差错首部的报文,但不保证 IP 分组不丢失。
15、下列选项中,对正确接收到的数据帧进行确认的 MAC 协议是(D) 。
A.CSMA B.CDMA C.CSMA/CD D.CSMA/CA
解析:可采用排除法。首先 CDMA 即码分多址,是物理层的内容;CSMA/CD 即带冲突检测的载波监听多路访问,接收方并不需要确认;CSMA,既然 CSMA/CD 是其超集,是 CSMA/CD没有的内容,CSMA 自然也没有。于是排除法选 D。CSMA/CA 是无线局域网标准 802.11中的协议。CSMA/CA 利用 ACK 信号来避免冲突的发生,也就是说,只有当客户端收到网络上返回的 ACK 信号后才确认送出的数据已经正确到达目的地址。
二:解答题
1、某网络拓扑如图 A-3 所示,路由器 R1 通过接口 E1、E2 分别连接局域网 1、
局域网 2,通过接口 L0 连接路由器 R2,并通过路由器 R2 连接域名服务器与互联网。R1 的
L0 接口的 IP 地址是 202.118.2.1,R2 的 L0 接口的 IP 地址是 202.118.2.2,L1 接口的 IP 地址
是 130.11.120.1,E0 接口的 IP 地址是 202.118.3.1,域名服务器的 IP 地址是 202.118.3.2。
R1 和 R2 的路由表结构为:
(1)将 IP 地址空间 202.118.1.0/24 划分为 2 个子网,分别分配给局域网 1、局域网 2,
每个局域网需分配的 IP 地址数不少于 120 个。请给出子网划分结果,说明理由或给出必要
的计算过程。
(2)请给出 R1 的路由表,使其明确包括到局域网 1 的路由、局域网 2 的路由、域名服
务器的主机路由和互联网的路由。
(3)请采用路由聚合技术,给出 R2 到局域网 1 和局域网 2 的路由。
解:
(1)CIDR 中的子网号可以全 0 或全 1,但主机号不能全 0 或全 1。
因此若将 IP 地址空间 202.118.1.0/24 划分为 2 个子网,且每个局域网需分配的 IP 地址
个数不少于 120 个,子网号至少要占用一位。
由 2^6 -2<120<2^7 -2 可知,主机号至少要占用 7 位。
由于源 IP 地址空间的网络前缀为 24 位,因此主机号位数+子网号位数=8。
综上可得主机号位数为 7,子网号位数为 1。
因此子网的划分结果为子网 1:202.118.1.0/25,子网 2:202.118.1.128/25。
地址分配方案:子网 1 分配给局域网 1,子网 2 分配给局域网 2;或子网 1 分配给局域
网 2,子网 2 分配给局域网 1。
(2)由于局域网 1 和局域网 2 分别与路由器 R1 的 E1、E2 接口直接相连,因此在 R1
的路由表中,目的网络为局域网 1 的转发路径是直接通过接口 E1 转发的,目的网络为局域
网 2 的转发路径是直接通过接口 E1 转发的。由于局域网 1、2 的网络前缀均为 25 位,因此
它们的子网掩码均为 255.255.255.128。
根据题意,R1 专门为域名服务器设定了一个特定的路由表项,因此该路由表项中的子
网掩码应为 255.255.255.255。对应的下一跳转发地址是 202.118.2.2,转发接口是 L0。
根据题意,到互联网的路由实质上相当于一个默认路由,默认路由一般写作 0/0,即目
的地址为 0.0.0.0,子网掩码为 0.0.0.0。对应的下一跳转发地址是 202.118.2.2,转发接口是
L0。
综上可得到路由器 R1 的路由表如下:
若子网 1 分配给局域网 1,子网 2 分配给局域网 2,见下表。
(3)局域网 1 和局域网 2 的地址可以聚合为 202.118.1.0/24,而对于路由器 R2 来说,通
往局域网 1 和局域网 2 的转发路径都是从 L0 接口转发,因此采用路由聚合技术后,路由器
R2 到局域网 1 和局域网 2 的路由,见下表。
2、某网络拓扑如下图所示,其中 R 为路由器,主机 H1~H4 的 IP 地址配置以
及 R 的各接口 IP 地址配置如图中所示。现有若干以太网交换机(无 VLAN 功能)和路由器两
类网络互连设备可供选择。
请回答下列问题:
(1)设备 1、设备 2 和设备 3 分别应选择什么类型的网络设备?
(2)设备 1、设备 2 和设备 3 中,哪几个设备的接口需要配置 IP 地址?为对应的接口配置
正确的 IP 地址。
(3)为确保主机 H1~H4 能够访问 Internet,R 需要提供什么服务?
(4)若主机 H3 发送一个目的地址为 192.168.1.127 的 IP 数据报,网络中哪几个主机会接收
该数据报?
解:
1)以太网交换机(无 VLAN 功能)连接的若干 LAN 仍然是一个网络(同一个广播域),路由器可以连接不同的 LAN、不同的 WAN 或把 WAN 和 LAN 互联起来,隔离了广播域。IP地址 192.168.1.2/26 与 192.168.1.3/26 的网络前缀均为 192.168.1.0,视为 LAN1。IP 地址192.168.1.66/26 与 192.168.1.67/26 的网络前缀均为 192.168.1.64,视为 LAN2。所以设备 1 为路由器,设备 2、3 为以太网交换机。
2)设备 1 为路由器,其接口应配置 IP 地址。IF1 接口与路由器 R 相连,其相连接口的 IP地址为 192.168.1.253/30,253 的二进制表示形式为 11111101,故 IF1 接口的网络前缀也应为192.168.1.111111,已分配 192.168.1.253,去除全 0 全 1,IF1 接口的 IP 地址应为 192.168.1.254。LAN1 的默认网关为 192.168.1.1,LAN2 的默认网关为 192.168.1.65,网关的 IP 地址是具有路由功能的设备的 IP 地址,通常默认网关地址就是路由器中的 LAN 端口地址,设备 1 的 IF2、IF3接口的 IP 地址分别设置为 192.168.1.1 和 192.168.1.65。
3)私有地址段:C 类 192.168.0.0~192.168.255.255,即 H1~H4 均为私有 IP 地址,若要能够访问 Internet,R 需要提供 NAT 服务,即网络地址转换服务。
4)主机 H3 发送一个目的地址为 192.168.1.127 的 IP 数据报,主机号全为 1,为本网络的广播地址,由于路由器可以隔离广播域,只有主机 H4 会接收到数据报。