如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

Posted zjce

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?相关的知识,希望对你有一定的参考价值。

 在这里选用408考研真题来评测一个软件工程师的计算机网络知识水平与网络编程技能水平,因为2020年考研真题还没找到答案,因此这里先用2019年的考研408计算机网络真题

一.选择题

33.OSI参考模型的第5层(自下而上)完成的主要功能是
A. 差错控制    B. 路由选择    C. 会话管理   D. 数据表示转换

34. 100BaseT快速以太网使用的导向传输介质是

A. 双绞线

B. 单模光纤

C. 多模光纤

D. 同轴电缆

35. 对于滑动窗口协议,如果分组序号采用3比特编号,发送窗口大小为5,则接收窗口最大是

A. 2

B. 3

C. 4

D. 5

36. 假设一个采用CSMA/CD协议的100Mbps局域网,最小帧长是128 B,则在一个冲突域内两个站点之间的

单向传播延时最多是

A. 2.56 μs

B. 5.12 μs

C. 10.24 μs

D. 20.48 μs

37. 若将101. 200. 16. 0/20划分为5个子网,则可能的最小子网的可分配IP地址数是

A. 126

B. 254

C. 510

D. 1022

2019年考研408计算机学科专业基础综合真题及答案

 

38. 某客户通过一个TCP连接向服务器发送数据的部分过程如题38图所

示。客户在t0时刻第一次收到确认序列号ack_seq=100的段,并发送

序列号seq=100的段,但发生丢失。若TCP支持快速重传,则客户重

新发送seq=100段的时刻是

A. t1

B. t2

C. t3

D. t4

39. 若主机甲主动发起一个与主机乙的TCP连接,甲、乙选择的初始序列

号分别为2018和2046,则第三次握手TCP段的确认序列号是

A. 2018

B. 2019

C. 2046

D. 2047

40. 下列关于网络应用模型的叙述中,错误的是

A. 在P2P模型中,结点之间具有对等关系

B. 在客户/服务器(C/S)模型中,客户与客户之间可以直接通信

C. 在C/S模型中,主动发起通信的是客户,被动通信的是服务器

D. 在向多用户分发一个文件时,P2P模型通常比C/S模型所需时间短

 

二.综合应用题

 

 

2019年考研408计算机学科专业基础综合真题及答案

 

 

 

47. (9分)某网络拓扑如题47图所示,其中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数据报,网络中哪几个主机会接收该数据报?

 

答案:

 

33.C 34.A 35.B

36.B 37.B 38.C 39.D 40.B

 

47.【答案要点】

(1)设备1:路由器,设备2:以太网交换机,设备3:以太网交换机(2)设备1的接口需要配置IP地址;设备1的IFl、IF2和IF3接口的IP地址分别是:192.168.1.254、192.168.1.1和192.168.1.65。

(3)R需要提供NA T服务

(4)主机H4会接收该数据报。

 

详细解析:

 

33.这题考察OSI参考模型模型:每层及其功能如下

 

 

 

 

 

自下而上的第五层是会话层,答案选C

 

34.这题是基础概念题,记住就行

 

35.这题要求我们掌握滑动窗口协议

为什么使用滑动窗口协议?

滑动窗口解决的是流量控制的的问题,就是如果接收端和发送端对数据包的处理速度不同,如何让双方达成一致。接收端的缓存传输数据给应用层,

但这个过程不一定是即时的,如果发送速度太快,会出现接收端数据overflow,流量控制解决的是这个问题

原理及实现方式是怎么样的?

滑动窗口的基本原理就是在任意时刻,发送方都维持了一个连续的允许发送的帧的序号,发送窗口;同时,接收方也维持了一个连续的允许接收的帧的序号,称为接收窗口。

发送窗口和接收窗口的序号的上下界不一定要一样,甚至大小也可以不同。不同的滑动窗口协议窗口大小一般不同。

发送方窗口内的序列号代表了那些已经被发送,但是还没有被确认的帧,或者是那些可以被发送的帧

停等协议:发送窗口=1,接收窗口=1;

后退n协议(GBN):发送窗口>1,接收窗口=1;

选择重传议(SR):发送窗口>1,接收窗口>1;

并且窗口大小要满足一下条件:
发送窗口大小 + 接收窗口大小 <= 2^n

为什么呢?举例如下:

假设帧序号采用3bit表示,发送窗口大小为5,接收窗口大小为5,发送方一次性发送0,1,2,3,4号帧的比特流。

情况1: 在没有差错发生的情况下(此处差错考虑帧差错的帧丢失) : 发送方发送的所有数据都被正确接收了 , 并且接收方所有确认数据都正常接收到了.那么这种情况将一个周期一个周期的循环下去。

情况2: 发送方发送了0-4号帧,接收方正确接收,但是接收方的回复的所有确认收到信息全部丢失 , 发送方以为自己的数据发送失败,即没有到达接收方,因为如果到达了接收方即使发生了帧差错,接收方也会返回NAK(n)的回复信息 , 那么在计时器超时后发送方再次发送在缓存中的0-4号旧帧,那么接收方因为正确之前已经正确接收到0-4号帧后,它的接收窗口已经向后移动,此时接收窗口期望的是5,6,7,0,1号帧 . 当接收方再次接收到0-4号帧时,他并不能区别此时的0号帧是旧帧还是新帧,实际上是我们知道是旧帧,但是接收方接收到此0号帧了,它只能以为是新帧.那么此时就造成了帧重复的差错了

 

SR协议中一般默认发送窗口等于接收窗口,就像上面的例子展示的那样。

本题中出现了发送窗口大于或小于接收窗口大小情况。实际上这两种情况并不会导致SR协议出错,会导致每个周期都会有数据超时重传,因此传输效率是低下的。

因此在本题中,分组序号3比特表示,最多8个分组,发送窗口位大小为5,因此接收窗口最大应为3

 

36.本题需要我们掌握CSMA/CD协议

CSMA/CD是一种介质访问控制协议,如下图:

 

基本原理是:每个节点都共享网络传输信道,在每个站要发送数据之前,都会检测信道是否空闲,如果空闲则发送,否则就等待;在发送出信息后,则对冲突进行检测,当发现冲突时,则取消发送

关键点是:载波监听、冲突检测

为了保证检测到冲突后可以该数据帧重传,比较保证检测到冲突时该数据帧还没有发送完毕

总线上的单程端到端传播时延记为τ,A发送数据后,最迟要经过多长时间才能知道自己发送的数据和其他站发送的数据有没有发生碰撞?从图中不难看出,这个时间最多是两倍的总线端到端的传播时延2τ

因此发送一个最小数据帧的时间必须大于2τ

再本题中  128×8/100M>=2t,所以τ最大为5.12us,答案为B

 

37.本题须要我们掌握子网掩码,子网划分的知识

子网掩码一种用来指明一个ip地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。

子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分

这里子网掩码是101. 200. 16. 0/20

子网划分可以采用定长子网的方法,从21为开始划分6个子网,那么用前三位去划分子网。

但本题中显然不是用的这种方法,题目中有一个词,“最小”子网,如果是普通的定长子网划分,不存在所谓的最小子网

因此本题中采用变长子网的划分方法:

首先第21位要么是0,要么是1,只有两种划分方法,只有两种子网。
保留第21位为0这个子网,对于21位为1的子网继续进行子网划分。
所以出现10和11,保留10这个子网,对11这个子网继续划分,出现110和111.
保留110,对111继续划分,出现1110和1111。
所以就是从第21为开始,0、10、110、1110和1111五个子网了
全0和主网络的网络地址重合,全1是广播地址
因此最小的子网有2^8-2个可用地址
 
 

38.本题需要我们掌握TCP的快速重传机制

TCP有超时重传机制,但超时重传往往会带来许多微妙的问题,比如说:
  当一个报文段丢失时,会等待一定的超时周期然后才重传分组,增加了端到端的时延。
  当一个报文段丢失时,在其等待超时的过程中,可能会出现这种情况:其后的报文段已经被接收端接收但却迟迟得不到确认,发送端会认为也丢失了,从而引起不必要的重传,既浪费资源也浪费时间。

TCP采用的是累计确认机制,即当接收端收到比期望序号大的报文段时,便会重复发送最近一次确认的报文段的确认信号,我们称之为冗余ACK(duplicate ACK)

在超时重传定时器溢出之前,接收到连续的三个重复冗余ACK(其实是收到4个同样的ACK,第一个是正常的,后三个才是冗余的),发送端便知晓哪个报文段在传输过程中丢失了,

于是重发该报文段,不需要等待超时重传定时器溢出,大大提高了效率。这便是快速重传机制

在本题中,如图所示,应当在t3时刻收到第三个重复冗余ACK时重传,答案选C

 

39.本题需要我们掌握TCP的三次握手,这个大家想必已经倒背如流了,贴个图再复习一遍就行了

 

答案选D

 

 

40.基本概念题,需要我们了解并区分P2P模型和C/S模型

端对端技术(peer-to-peer,P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。请注意与point-to-point之间的区别,

peer-to-peer一般译为端对端或群对群,指对等网中的节点;point-to-point一般译为点对点,对应于普通网络节点。P2P网络通常用于通过Ad Hoc连接来连接节点。这类网络可以用于多种用途,

各种文件共享软件已经得到了广泛的使用。P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中。   纯点对点网络没有客户端或服务器的概念,只有平等的同级节点,

同时对网络上的其他节点充当客户端和服务器。这种网络设计模型不同于客户端一服务器模型

在客户端一服务器模型(中通信通常来往于一个中央服务器。

 

47.这道题需要我们掌握计算机网络的基本结构

首先我们需要知道计算机网络的基本设备:

中继器:信号在传输过程中会不断衰减,为了不让信号衰减对通信产生影响,产生了中继器:仅做放大信号用,把信号传导偏远的地方

集线器:集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI参考模型第一层物理层

网桥:网桥也是数据链路层设备,把一个局域网一分为2,中间用网桥连接,这样A发给BCD的数据就不会再广播到EFGH了。

交换机:网桥只有两个端口。随着网络设备的发展,逐渐产生了多个端口的“网桥”,但是由于网桥是数据链路层的广播通信,A和G通信的时候,

    B和F就没法通信——一个桥上多个通信将产生冲突。为了能够实现多对多的通信,于是产生了交换机,在交换机中,A和B通信的同时,

    C和D也可以通信——因为它们分别占用不同的端口。这样,交换机渐渐替代了网桥,成为组建局域网的重要设备。

路由器:是一种计算机网络设备,提供了路由与转送两种重要机制,可以决定数据包从来源端到目的端所经过 的路由路径(host到host之间的传输路径),

    这个过程称为路由;将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行),这称为转 送。路由工作在OSI模型的第三层——即网络层,例如网际协议。

网关:网关实质上是一个网络通向其他网络的ip地址

其次,192.168.1.1属于IP地址的C类地址,属于保留IP,专门用于路由器设置

因此回到这个题中R显然是一个路由器,上面标有两个ip地址其中一个是192.168.1.253/30,因此可以判断R内网络是一个无线局域网。对外公网ip地址是101.1.2.10

对内192.168.1.253/30划分子网,32-30=2,有两位用于划分子网,其中全0,全1不可用,因此只有192.168.1.254和192.168.1.253可用,R的一个端口是192.168.1.253,

因此路由器设备1的端口IF1的ip地址只能是192.168.1.254

并且R需要提供NAT服务,使用少量的公有IP 地址代表较多的私有IP 地址

路由器需要配置IP地址,

主机H1,H2,有相同的默认网关192.168.1.1,在一个子网内,H3,H4有相同的默认网关192.168.1.65,在一个子网内

相关的路由器设备1的IF2和IF3接口的IP地址分别是:192.168.1.1和192.168.1.65

主机H3发送一个目的地址为192.168.1.127的IP数据报,这是一个广播地址,因此与H3在一个子网内的所有主机都会收到该数据包,因此H4会收到数据报

因此答案如下:

(1)设备1:路由器,设备2:以太网交换机,设备3:以太网交换机(2)设备1的接口需要配置IP地址;设备1的IFl、IF2和IF3接口的IP地址分别是:192.168.1.254、192.168.1.1和192.168.1.65。

(3)R需要提供NA T服务

(4)主机H4会接收该数据报。

以上是关于如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?的主要内容,如果未能解决你的问题,请参考以下文章

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平