合肥学院网络协议编程期末试卷

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1

一.选择题

1.Internet中的主要通信协议是( D )

A.HTML

B.HTTP

C.ARPA

D.TCP/IP

2.OSI参考模型将网络通信的工作划分为7个层次,不属于OSI参考模型的层次是( B )

A.网络层 B.通信层 C.会话层 D.物理层

3. ping命令使用的协议为(D)

A. TCP

B. UDP

C. ARP

D.ICMP

4. Telnet使用(A)端口来建立连接

A. TCP端口23

B. UDP端口23

C. ARP端口25

D.ICMP端口25

5.在Visual C++中,通常使用WinSock2.2实现网络通信的功能,则需要引用头文件为( B)

A.Winsock.h

B.winsock2.h

C.winsock22.h

D.winsock2.2.h

6.将u_long类型的主机字节顺序格式IP地址转换为TCP/IP网络字节顺序格式的函数是( A)

A.htoml

B.htons

C.ntohl D.ntohs

7.下面不属于Socket编程模式的是(D )

A.Select模型 B.WSAAsyncSelect模型

C.WSAEventSelect模型 D.完成例程模型

8.下面模型使用线程池处理异步I/O请求的是(D )

A.Select模型

B.WSAAsyncSelect模型

C.WSAEventSelect模型

D.完成例程模型

9.在ioctlsocket()函数中使用(A )参数,并将argp参数设置为非0值,可以将Socket设置为非阻塞模式。

A.FIONBIO B.FIONREAD

C.SIOCATMARK D.FIONONBLOCK

10.在执行select()函数时如果出现错误则返回(D )

A.0 B.-1

C.NULL D.SOCKET_ERROR

二.填空题

1.TCP/IP协议簇中包含网络接口层、网络层、传输层和应用层。

2. FTP用于建立控制连接的端口为 21 ;当需要传输文件数据时,客户端程序将连接服务器的端口 20 。

3.根据基于的底层协议不同,Socket开发接口可以提供__面向连接___和_ 无连接__两种服务方式。

4.在计算机中使用无符号长整型数(unsigned long)来存储和表示IP地址,而且分为__网络字节顺序__和_主机字节顺序__两种格式。

5.在Visual C++中使用结构体__ in_addr __来保存网络字节顺序格式的IP地址。

6.Socket编程可以分为___阻塞__和___非阻塞__两种开发模式。

7.默认情况下,最多可以管理的Socket数量为__1024_个。

8.在select()函数中使用___ fd_set__结构体来管理多个Socket。

9.在WSAAsyncSelect模型中,应用程序可以在一个Socket上接收以_ Windows消息__为基础的网络事件通知。

10. 两个主机使用TCP进行通信可以分为3个阶段,即建立连接阶,数据传输阶段和断开连接释放资源阶段。

三、简单题

1、简述TCP和UDP的区别。

UDP是一种不可靠的协议,在传送数据时,源主机和目的主机之间不建立连接。而TCP协议为了确保数据传输的准确和安全可靠,集成了各种安全保障功能,这在实际执行过程中会占用大量的系统开销。因此,UDP具有TCP无法比拟的速度优势。

相对于可靠性而言,基于UDP的应用更注意性能。与TCP相比,

UDP更适合发送数据量比较少、但对响应速度要求比较高的情况。2、简述FTP的两种连接模式。

答:FTP支持两种运行模式,即主动模式和被动模式,它们的区别在于控制如何打开第2个连接。

1.主动模式:在主动模式下,客户端向服务器发送自己用于数据连接的IP地址和端口号,然后由服务器程序打开数据连接。

2.被动模式:当客户端在防火墙后面或者无法接收TCP连接时,通常建议采用被动模式。在被动模式下,服务器向客户端发送自己用于数据连接的IP地址和端口号,则客户端打开数据连接。

3、简述winpcap提供的主要功能及典型的应用。

主要功能:捕获网络原始数据包;根据用户定义的规则过滤数据包;发送用户构造的数据包到网络中;统计网络流量;保存捕获的数据包。典型应用:网络协议分析器;网络监听器;网络流量记录;网络流量产生器;用户级的网桥和路由器;网络入侵检测系统;网络扫描器;网络安全工具。

4、简述流式Socket和数据报式Socket的区别。

表5.1 流式套接字和数据报式套接字的区别

5、简述socket提供三种类型的套接字。

1.流式套接字提供面向连接的、可靠的数据传输服务,可以无差错地发送和接收数据。

2.数据包套接字提供了一种无连接、不可靠的双向数据传输服务。

3.原始套接字该接口允许对较低层协议,如IP、ICMP直接访问。

四、编程题

通常我们使用winsock2.2来进行网络编程。请补全下面代码以及添加注释。

#include "stdafx.h"

#include

#include "(1)"

#pragma comment(lib, "(2)")

//完整的服务端程序

int main(int argc, char* argv[])

{

const int BUF_SIZE = 64;

WSADATA wsd; //WSADATA变量

SOCKET sServer; //服务器套接字

SOCKET sClient; //客户端套接字

SOCKADDR_IN addrServ;; //服务器地址

char buf[BUF_SIZE]; //接收数据缓冲区

相关文档
最新文档