2-网络程序设计复习题2-10计科-参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网络程序设计复习题二
1、是一个网络层的协议,它提供了错误报告和其它回送给源点的关于IP 数据报处理情况的消息
ICMP
2、IP协议的特征是
不可靠,无连接
3、TCP和UDP协议的相似之处
传输层协议
4、以下关于TCP滑动窗口说法正确的是
滑动窗口机制的窗口大小是可变,从而更加有效利用带宽
5、端口号的目的
跟踪同一时间网络中的不同连接
6、假定您在华为为Quidway路由器上配置了静态域名解析(DNS禁用),使用什么命令查看您配置的域名解析表?
show dns
7、TFTP服务器使用何种传输层协议,端口号多少?
UDP 69
8、24、服务器一般都是通过特定的端口号来识别应用程序的,这些特定的端口号由IANA统一管理。请问IANA管理的端口号范围是什么?
1~1023
9、Internet采用的路由选择协议分为和两类。
内部网关协议;外部网关协议
10、IP协议是TCP/IP协议簇中的,提供数据传输的最基本服务,是实现网络互联的。
核心协议;基本协议
11、socket()函数的返回值是类型。
整数
12、由于协议簇中的协议具有上下层关系,由此有称其为。
协议栈
13、封装ARP报文时帧类型填,封装RARP报文时帧类型填
0x0806;0x8035
14、BGP是用于不同自治系统之间交换路由信息的。
外部网关协议
15、DNS服务器能够接收两种类型的解析:递归解析和解析。
反复
16、WinSock编程中需要哪些文件?
1)Winsock.dll:winsock.dll是Windows Sockets应用程序接口,用于支持很多Internet和网络相关应用程序。
2)Ws2_32.lib:32位windows socket,版本2用来实现socket网络操作的静态库。该库对应ws2_32.dll,提供了对以下网络相关API的支持,若使用其中
的API,则应该将ws2_32.lib加入工程(否则需要动态载入ws2_32.dll)
3)Winsock2.h:winsock版本2头文件,里面包含一些系统定义的宏。
17、什么是阻塞与非阻塞通信?请解释两者的区别。
通信包括阻塞和非阻塞两种模式。阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。
区别:对于不同的协议,阻塞通信和非阻塞通信有不同的表现。以插口为例,在阻塞模式下,利用TCP协议发送一个报文时,如果低层协议没有可用空间来存放用户数据,则应用进程将阻塞等待直到协议有可用的空间。而在非阻塞模式下,调用将直接返回而不需等待。在应用进程调用接收函数接收报文时,如果是在阻塞模式下,若没有到达的数据,则调用将一直阻塞直到有数据到达或出错;而在非阻塞模式下,将直接返回而不需等待。对于UDP协议而言,由于UDP没有发送缓存,因此所有UDP协议即使在阻塞模式下也不会发生阻塞。
对于面向连接的协议,在连接建立阶段,阻塞与非阻塞也表现不一。在阻塞
模式下,如果没有连接请求到达,则等待连接调用将阻塞直到有连接请求到达;
但在非阻塞模式下,如果没有连接请求到达,等待连接调用将直接返回。
18、简述基于UDP的客户机/服务器端socket编程流程。(画图)
编程流程如下:服务器端首先建立Socket,返回该Socket的描述符:配置Socket的端口和IP地址;建立监听甬数,检测是否有客户端向服务器发送请求,若有则接收该请求,将其放到接收队列中:从接收队列中接受一个请求;并向客户端发送确认连接信息。
客户端建立一个Socket,返回该Socket的描述符;配置Socket端口和IP地址;向服务器发送连接请求,并接收服务器发回的确认连接信息。双方通信结束后,关闭其Socket。
19、现已经声明如下变量,其中num的值是已经创建并存储在数组s中套接字的数量。现要求通过select模型来检查数组s中的套接字是否有数据可以接收,只有当至少一个套接实际上有数据可接收才会从select中返回。若某一套接字上有数据可以接收,则通过调用函数MyRecv(SOCKET s)来完成数据接收和处理操作。试补充完成如下程序来实现上述功能。
SOCKET s[10];
fd_set fdread;
int num;