何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?——参考试题
一,单项选择题(每题2分,共20分)
1,在gdb中,使用哪条命令来设置断点,使程序执行到这里时被挂起?(C)
A,file;B,c; C,break; D,make
2,下面哪个协议没有被用于TCP协议族的应用层?(B)
A,HTTP; B,OSPF; C,SNMP; D,TELNET
3,在TCP协议中,应用层传输的单位是(A)/*本题对粗心的考生有一定的迷惑性,看到“TCP协议”后便不看后面的“应用层”直接选B*/
A,字节流; B,TCP报文段; C,IP数据报; D,数据帧
4,ARP协议属于(C)协议
A,应用层; B,传输层; C,网络层; D,网际接口层
5,下列哪一个选项不是UDP协议的特点?(C)
A,数据包有丢失的可能; B,数据包无序到达; C,采用流式套接字编程; D,报文中加入校验和
6,在中国科学技术大学官网https://www.ustc.edu.cn/中,.edu指的是(A)
A,顶级域名; B,一级域名; C,二级域名; D,三级域名
7,应用程序PING发出的是(B)报文。
A,TCP请求; B,ICMP请求; C,TCP应答; D,ICMP应答
8,TCP可靠传输的实现中,不包括(D)
A,以字节为单位的滑动窗口
B,超时重传时间的选择
C,TCP报文选项字段的ACK字段
D,TCP报文的紧急指针字段
9,(D)不属于因特网建议标准RFC2581所规定的TCP拥塞控制算法。
A,慢开始; B,拥塞避免; C,快重传和快恢复; D,阻流点
10,HTTP是(C)的应用层协议,它是万维网上能够可靠地交换文件的重要基础。
A,面向对象; B,面向过程; C,面向事务; D,异步调用
二,填空题(每空2分,共30分)
11,TCP协议可采用的超时重传机制有停止-等待协议,GBN协议,SR协议
12,Linux系统下,有如下三种类型的套接字,它们分别为流式套接字,数据报套接字,原始套接字
13,Linux常用的三种进程通信方式有信号,管道,消息队列
14,如图是DNS系统流行的递归与迭代相结合的DNS查询方式,请在图上表明示意图中每个服务器。
15,IP的主要功能包括无连接数据传送,差错处理和路由选择。
三,解答题(每题10分,共50分)
16,回答下列问题。
(1)TCP提供的服务主要有哪些?TCP的“可靠传输”指的是什么?
简单来说,TCP提供的服务主要有:面向连接服务,字节流接口,流量控制,拥塞控制,保证可靠性,包括无丢失,不重复,按序交付
(2)端口和socket套接字的区别是什么?(选自谢希仁《计算机网络释疑与习题解答》)
套接字是包含端口的,因为套接字=(IP地址,端口号)。套接字是TCP连接的端点。
而另一方面,套接字socket在操作系统中也是API的一种。此时,套接字可以被看作是操作系统的抽象,也可以被看成是一个文件描述符。而端口,则是应用层服务的一种代号,它用来标识应用层的进程。
17,TCP连接的过程被称为“三次握手”。简述TCP连接为什么不可以“握手”两次?
弄清这个问题,我们需要先弄明白三次握手的目的是什么,能不能只用两次握手来达到同样的目的。
第一次握手:客户端发送网络包,服务端收到了。
这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。
第二次握手:服务端发包,客户端收到了。
这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。不过此时服务器并不能确认客户端的接收能力是否正常。
第三次握手:客户端发包,服务端收到了。
这样服务端就能得出结论:客户端的接收、发送能力正常,服务器自己的发送、接收能力也正常。
因此,需要三次握手才能确认双方的接收与发送能力是否正常。
18,通过示意图表示子啊TCP网络编程中,客户端和服务器调用socket函数的过程。
19,列举并简述两种TCP/IP协议族下常见的网络攻击形式,并简述对应的防范策略。
SYN洪泛攻击:攻击者发送许多数据包,但不向服务器发送“ACK”。因此,连接半开,吞下服务器资源。由于阻止服务攻击,合法用户尝试连接到服务器但被拒绝。——缩短超时时间,增加过滤网关保护等;
ARP洪泛攻击:受害计算机持续地向局域网内所有的计算机及网络通信设备发送大量的ARP欺骗数据包,如果不及时处理,便会造成网络通道阻塞、网络设备的承载过重、网络的通讯质量不佳等情况——在网络中架设DHCP服务器,绑定网关与客户端IP+MAC;安装防火墙等;
20,某主机的MAC地址为00-15-C5-C1-5E-28,IP地址为10.2.128.100(私有地址)。下图为网络拓扑和该主机进行Web请求的一个以太网数据帧的前80字节的十六进制ASCII码内容。
请参考途中数据回答以下问题:
(1)Web服务器的IP地址是?该主机默认网关的MAC地址是?
64.170.98.32;00-21-27-21-51-ee
(2)该主机在构造上图所示的数据帧时,使用的是什么协议确定目的MAC地址?封装该协议请求报文的以太网帧的目的MAC地址是?
ARP;FF-FF-FF-FF-FF-FF
(3)假设HTTP/1.1协议以持续的非流水线方式工作,一次请求-响应时间为RTT,rfc.Html页面引用了5个JPEG小图像,则从发出图中的Web请求开始道浏览器收到全部内容位置,需要经过多少个RTT?
HTTP/1.1协议以持续的非流水线方式工作时,服务器在发送响应后仍然在一段时间内保持这段连接,客户在收到前一个响应后才能发送下一个请求。第一个RTT用于请求Web页面,客户收到第一个请求的响应后,还有5个请求未发送,每访问一个对象需要一个RTT。因此本题中一共需要经过6个RTT。
(4)该帧所封装的IP分组经过路由器R转发时,需修改IP分组头中的哪些字段?(不考虑IP分组长度超过MTU的情况)
源IP地址的变化为(用16进制表示)"0a 02 80 64"->"65 0c 7b 0f",生存时间TTL-1;检验和字段重新计算