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

Posted yongjason

tags:

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

  一,软件工程师应具备的计算机网络编程能力和知识

  1、熟悉计算机系统的基础知识;

  2、熟悉网络操作系统的基础知识;

       3、理解计算机应用系统的设计和开发方法;

       4、熟悉数据通信的基础知识;

  5、熟悉系统安全和数据安全的基础知识;

  6、掌握网络安全的基本技术和主要的安全协议与安全系统;

  7、掌握计算机网络体系结构和网络协议的基本原理;

  8、掌握计算机网络有关的标准化知识;

  9、掌握局域网组网技术,理解城域网和广域网基本技术;

  10、掌握计算机网络互联技术;

  11、掌握TCP/IP协议网络的联网方法和网络应用服务技术;

  12、理解接入网与接入技术;

  13、掌握网络管理的基本原理和操作方法;

  14、熟悉网络系统的性能测试和优化技术,以及可靠性设计技术;

  15、理解网络应用的基本原理和技术;

       16、理解网络新技术及其发展趋势;

       17、了解有关知识产权和互联网的法律法规;

       18、正确阅读和理解本领域的英文资料。

      参考资料http://edu.enorth.com.cn/system/2017/08/10/033516102.shtml

     计算机网络水平测试题(主要节选自牛客网和历年研究生入学考试题,部分原创)

一.选择题(10*2)

1.下面协议中,用于WWW传输控制的是()(牛客网)
A.URL
B.SMTP
C.HTTP
D.HTML
答案:C
URL是地址,用于寻找服务器
SMTP是简单邮件传输协议,是用于发送邮件的
HTML是网页的编辑语言,描述了网页的内容和显示方式
 
2.下列哪项是用户数据报协议( UDP )的特点? (       ) (牛客网)
A.流量控制
B.无连接
C.面向连接
D.序列和确认
答案:B
用户数据报协议 (User Datagram Protocol, UDP)是一个简单的面向无连接的,不可靠的数据报的传输层(transport layer)协议,IETF RFC 768是UDP的正式规范。

3.以下不属于多路复用技术的是( )。 (牛客网)
   
A.波分多路复用
B.平分多路复用
C.时分多路复用
D.频分多路复用
答案:B
信道复用技术
一、基本的信道复用技术
(1)频分复用技术(FDM):所有的用户在相同的时间占用不同的带宽资 源。(带宽此处指频率带宽
(2)时分复用技术(TDM):所有的用户在相同的时间占用不同的频带 宽度。
(1)统计时分复用技术(Statistic TDM):改进时分复用技术,通过一个集中器将数据集中起来通过高速线路发送到一个远地计算机。
二、其他的信道复用技术
(1)波分复用技术(WDM):频分复用技术
(2)码分复用技术(C D M):是一种共享信道的方法。每一个用户在相同的时间使用同样的频率进行通信。因为各个用户使用经过特殊挑选的不同码型,因此互不干扰。
 
4.对采用虚拟局域网络技术,以下说法正确的是(    )。(牛客网)
A.网络中的逻辑工作组的节点组成不受节点所在的物理位置的限制
B.网络中的逻辑工作组的节点组成要受节点所在的物理位置的限制
C.网络中的逻辑工作组的节点必须在同一个网段上
D.以上说法都不正确
答案:A
虚拟局域网(VLAN,Virtual Local Area Network)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。
VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。
与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点: 网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。

5.主机 A 向主机 B 连续发送了两个 TCP 报文段,其序号分包是 70 和 100 ,如果 A 发送的第一个报文段丢失了,但第二个报文段达到了 B,B 在第二个报文段到达后向 A 发送确认,那么这个确认号是多少?(牛客网)

A.100
B.101
C.70
D.71
答案:C
答案是70,确认号指的是接收方想要接收的报文段的序号,比如我想要1-5的报文,
在接收过程中我收到了2-5,而1丢了,这时候我肯定跟你说,再发一遍1,就是这个意思。
在这里序号70的丢了,所以确认号就是70,和后面的没关系。
 

6.网卡的主要功能不包括()。(牛客网)

A.将计算机连接到通信介质上
B.进行电信号匹配
C.实现数据传输
D.网络互连
答案: D
网卡是工作在链路层的网络组件,是局域网中连接计算机和传输介质的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,
还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。

7.主机甲与主机乙之间已建立一个 TCP 连接,主机甲向主机乙发送了两个连续的 TCP 段,分别包含 300 字节和 500 字节的有效载荷,第一个段的序列号为 200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是______。 (2009考研408试题)

A.500

B.700

C.800

D.1000

解析: C

考查 TCP 的数据编号与确认。

TCP是面向字节流的,其选择确认(Selective ACK)机制是接收端对字节序号进行确认,其返回的序号是接收端下一次期望接收的序号,因此主机乙接收两个段后返回给主机甲的确认序列号是1000。

 

8.一个 TCP 连接总是以 1KB 的最大段长发送 TCP 段,发送方有足够多的数据要发送。当拥塞窗口为 16KB时发生了超时,如果接下来的 4 个 RTT(往返时间)时间内的 TCP 段的传输都是成功的,那么当第 4 个RTT 时间内发送的所有 TCP 段都得到肯定应答时,拥塞窗口大小是______。 (2009考研408试题)

A.7 KB

B.8 KB

C.9 KB

D.16 KB

解析:D

考查 TCP 的拥塞控制方法。

无论在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(其根据就是没有按时收到确认),就要把慢开始门限 ssthresh 设置为出现拥塞时的发送方窗口值的一半(但不能小于 2)。然后把拥塞窗口 cwnd 重新设置为 1,执行慢开始算法。这样做的目的就是要迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完毕。 因此,在发送拥塞后,慢开始门限 ssthresh 变为 16/2 =8 KB,发送窗口变为 1 KB。在接下来的 3个 RTT 内,拥塞窗口执行慢开始算法,呈指数形式增加到 8 KB,此时由于慢开始门限 ssthresh 为 8 KB,因此转而执行拥塞避免算法,即拥塞窗口开始“加法增大”。因此第 4 个 RTT 结束后,拥塞窗口的大小为 9 KB。

 

9.若路由器 R 因为拥塞丢弃 IP 分组,则此时 R 可向发出该 IP 分组的源主机发送的 ICMP 报文类型是______。 (2010考研408试题)

A.路由重定向

B.目的不可达

C.源点抑制

D.超时

解析:C

考查 ICMP 协议。

ICMP 差错报告报文有 5 种,终点不可达、源点抑制、时间超过、参数问题、改变路由(重定向), 其中源点抑制是当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢。

 

10.如果本地域名服务器无缓存,当采用递归方法解析另一网络某主机域名时,用户主机、本地域名服务器发送的域名请求消息数分别为______。  (2010考研408试题)

A.一条、一条

B.一条、多条

C.多条、一条

D. 多条、多条

解析:A

考查 DNS 系统域名解析过程。

当采用递归查询的方法解析域名时,如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文,这种方法用户主机和本地域名服务器发送的域名请求条数均为 1 条。

 二.简答题(40)

1.简述TCP三次握手过程(10)

参考答案:

第一次握手:Client将标志位SYN((同步序列编号(Synchronize Sequence Numbers))置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。
第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。
第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。

2.简述TCP和UDP区别(10)

参考答案

  TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议,它们之间的区别包括:

  • TCP是面向连接的,UDP是无连接的;

  • TCP是可靠的,UDP是不可靠的;

  • TCP只支持点对点通信,UDP支持一对一、一对多、多对一、多对多的通信模式;

  • TCP是面向字节流的,UDP是面向报文的;

  • TCP有拥塞控制机制;UDP没有拥塞控制,适合媒体通信;

  • TCP首部开销(20个字节)比UDP的首部开销(8个字节)要大;

3.描述从输入网址到获得页面的过程(10)

参考答案:

  (1). 浏览器查询 DNS,获取域名对应的IP地址:具体过程包括浏览器搜索自身的DNS缓存、搜索操作系统的DNS缓存、读取本地的Host文件和向本地DNS服务器进行查询等。对于向本地DNS服务器进行查询,如果要查询的域名包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析(此解析具有权威性);如果要查询的域名不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析(此解析不具有权威性)。如果本地域名服务器并未缓存该网址映射关系,那么将根据其设置发起递归查询或者迭代查询;

  (2). 浏览器获得域名对应的IP地址以后,浏览器向服务器请求建立链接,发起三次握手;

  (3). TCP/IP链接建立起来后,浏览器向服务器发送HTTP请求;

  (4). 服务器接收到这个请求,并根据路径参数映射到特定的请求处理器进行处理,并将处理结果及相应的视图返回给浏览器;

  (5). 浏览器解析并渲染视图,若遇到对js文件、css文件及图片等静态资源的引用,则重复上述步骤并向服务器请求这些资源;

  (6). 浏览器根据其请求到的资源、数据渲染页面,最终向用户呈现一个完整的页面。

4.什么是ARP欺诈(10)

参考答案:

ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。攻击者向电脑A发送一个伪造的ARP响应,告诉电脑A:电脑B的IP地址192.168.0.2对应的MAC地址是00-aa-00-62-c6-03,电脑A信以为真,将这个对应关系写入自己的ARP缓存表中,以后发送数据时,将本应该发往电脑B的数据发送给了攻击者。同样的,攻击者向电脑B也发送一个伪造的ARP响应,告诉电脑B:电脑A的IP地址192.168.0.1对应的MAC地址是00-aa-00-62-c6-03,电脑B也会将数据发送给攻击者。至此攻击者就控制了电脑A和电脑B之间的流量,他可以选择被动地监测流量,获取密码和其他涉密信息,也可以伪造数据,改变电脑A和电脑B之间的通信内容。

 

三.综合题(40)

(408 2011年)某主机的 MAC 地址为 00-15-C5-C1-5E-28,IP 地址为 10.2.128.100(私有地址)。 题 6-a 图是网络拓扑,题 6-b 图是该主机进行 Web 请求的 1 个以太网数据帧前 80 个字节的十六进制及 ASCII 码内容。

6-a图


6-b 图

请参考图中的数据回答以下问题。

(1)Web 服务器的 IP 地址是什么?该主机的默认网关的 MAC 地址是什么?

(2)该主机在构造题 6-b 图的数据帧时,使用什么协议确定目的 MAC 地址?封装该 协议请求报文的以太网帧的目的 MAC 地址是什么?

(3)假设 HTTP/1.1 协议以持续的非流水线方式工作, 一次请求-响应时间为 RTT, rfc.html 页面引用了 5 个 JPEG 小图像,则从发出题 6-b 图中的 Web 请求开始到 浏览器收到全部内容为止,需要多少个 RTT?

(4)该帧所封装的 IP 分组经过路由器 R 转发时,需修改 IP 分组头中的哪些字段?

注:以太网数据帧结构和 IP 分组头结构分别如题 6-c 图、题 6-d 图所示。
6-c 图

6-d图

参考答案

(1)64.170.98.32 00-21-27-21-51-ee 以太网帧头部 6+6+2=14 字节,IP 数据报首部目的 IP 地址字段前有 4*4=16 字节,从以 太网数据帧第一字节开始数 14+16=30 字节,得目的 IP 地址 40 aa 62 20(十六进制),转换 为十进制得 64.170.98.32。以太网帧的前六字节 00-21-27-21-51-ee 是目的 MAC 地址,本 题中即为主机的默认网关 10.2.128.1 端口的 MAC 地址。

(2)ARP FF-FF-FF-FF-FF-FF

ARP 协议解决 IP 地址到 MAC 地址的映射问题。主机的 ARP 进程在本以太网以广播的形 式发送 ARP 请求分组, 在以太网上广播时, 以太网帧的目的地址为全 1 , 即 FF-FF -FF-FF-FF-FF。

(3)6

HTTP/1.1 协议以持续的非流水线方式工作时,服务器在发送响应后仍然在一段时间内 保持这段连接,客户机在收到前一个响应后才能发送下一个请求。第一个 RTT 用于请求 web 页面,客户机收到第一个请求的响应后(还有五个请求未发送),每访问一次对象就用去一个 RTT。故共 1+5=6 个 RTT 后浏览器收到全部内容。

(4)

源 IP 地址 0a 02 80 64 改为 65 0c 7b 0f

生存时间(TTL)减 1

校验和字段重新计算

私有地址和 Internet 上的主机通信时,须有 NAT 路由器进行网络地址转换,把 IP 数据 报的源 IP 地址(本题为私有地址 10.2.128.100)转换为 NAT 路由器的一个全球 IP 地址(本题 为 101.12.123.15)。因此,源 IP 地址字段 0a 02 80 64 变为 65 0c 7b 0f。IP 数据报每经 过一个路由器,生存时间 TTL 值就减 1,并重新计算首部校验和。若 IP 分组的长度超过输 出链路的 MTU,则总长度字段、标志字段、片偏移字段也要发生变化。

注意,图 6-b 中每行前 4bit 是数据帧的字节计数,不属于以太网数据帧的内容。

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

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

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

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

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

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

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