题目
47.(9分)某网络拓扑如下图所示,路由器 R1通过接口 E1、E2分别连接局域网1、局域网 2,通过接口 LO连接路由器 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的路由表结构为
目的网络IP 地址/子网掩码/下一跳IP地址/接口
1)将IP地址空间202.,分别分配给局域网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个,子网号至少要占用一位。
由 26-2<120<27-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。
根据题意,到互联网的路由实质上相当于一个默认路由,默认路由一般写作 O/O,即目的地址为 0.0.0.0,子网掩码为0.0.0.0。对应的下一跳转发地址是 202.118.2.2,转发接口是 L0。
综上可得到路由器 R1的路由表为∶
(若子网1分配给局域网1,子网2分配给局域网2)
目的网络IP地址 |子网掩码 |下一跳 IP 地址 |接口
202.118.1.0 |255.255.255.128 | — |E1
202.118.1.128 |255.255.255.128 |— |E2
202.118.3.2 |255.255.255.255 |202.118.2.2 |L0
0.0.0.0 |0.0.0.0 |202.118.2.2 |L0
(若子网1分配给局域网2,子网2分配给局域网1))
目的网络IP地址 |子网掩码 |下一跳IP 地址 |接口
202.118.1.128 |255.255.255.128 |— |E1
202.118.1.0 |255.255.255.128 |— |E2
202.118.3.2 |255.255.255.255 |202.118.2.2 |L0
0.0.0.0 |0.0.0.0 |202.118.2.2 |L0
(3)局域网1和局域网2的地址可以聚合为202.118.1.0/24,而对于路由器R2来说,通往局域网1和 2的转发路径都是从LO接口转发,因此采用路由聚合技术后,路由器 R2到局域网1和局域网2的路由为:
目的网络IP 地址 |子网掩码 |下一跳 IP 地址 |接口
202.118.1.0 |255.255.255.0 |202.118.2.1 |L0

多做几道

41.(10 分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶点之间的一条最短路径。假设从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法∶
①设最短路径初始时仅包含初始顶点,令当前顶点u为初始顶点;
② 选择离u最近且尚未在最短路径中的一个顶点v,加入最短路径中,修改当前顶点u=v;
③ 重复步骤②,直到u是目标顶点时为止。
请问上述方法能否求得最短路径?若该方法可行,请证明之;否则,请举例说明。
42. (5分)已知一个带有表头结点的单链表,结点结构为
Data/link
假设该链表只给出了头指针 list。在不改变链表的前提下,请设计一个尽可能高效的算法;查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的 data 域的值,并返回1∶否则,只返回0。要求∶
1)描述算法的基本设计思想。
2)描述算法的详细实现步骤。
3)根据设计思想和实现步骤,采用程序设计语言描述算法(使用C、C++或 Java 语言实现),关键之处请给出简要注释。
43.(8分)某计算机的CPU主频为 500Mz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为 0.5MB/s,采用中断方式与主机进行数据传送,以 32 位为传输单位,对应的中断服务程序包含 18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。
1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
2)当该外设的数据传输率达到5MB/s 时,改用DMA 方式传送数据。假定每次 DMA传送块大小为 5000B,且DMA预处理和后处理的总开销为 500个时钟周期,则 CPU用于该外设 I/O 的时间占整个 CPU时间的百分比是多少(假设 DMA与CPU 之间没有访存冲突)?
44.(13 分)某计算机字长为16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为1时表示有效、为 0时表示无效。例如,控制信号MDRinE 为1表示允许数据从 DB打入 MDR,MDRin为1表示允许数据从内总线打入 MDR。假设 MAR 的输出一直处于使能状态。加法指令"ADD(R1),RO"的功能为(RO)+(R1))→(R1),即将R0中的数据与 R1的内容所指主存单元的数据相加,并将结果送入 R1的内容所指主存单元中保存。
下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号。请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。
时钟:功能/有效控制信号
C1:MAR←(PC)/PCout, MARin
C2:MDR←M(MDR) PC←(PC)+1/MemR, MDRinE, PC+1
C3:IR←(MDR)/MDRout, IRin
C4:指令译码/无
45.(7分)三个进程P1、P2、P3互斥使用一个包含N(N>0)个单元的缓冲区。
P1每次用 produce()生成一个正整数并用 putO)送入缓冲区某一空单元中;P2每次用 getodd()从该缓冲区中取出一个奇数并用countodd()统计奇数个数;P3每次用 geteven()从该缓冲区中取出一个偶数并用 counteven()统计偶数个数。请用信号量机制实现这三个进程的同步与互斥活动,并说明所定义信号量的含义(要求用伪代码描述)。

该科目易错题

该题目相似题