2015年TCP/IP网络编程复习题
一、选择题
1、要对IP协议直接访问,必须使用( )套接字
① 数据流 ②数据报 ③ 原始 ④没有办法
2、下列套接字函数可产生套接字的是( )
①send ②accept ③connect ④close
3、使用数据报套接字进行网络通信的应用层协议是( )
①FTP ②POP3 ③PPP ④SNMP
4、要建立数据报套接字,在socket函数中需要使用的参数是( )。
① SOCK_DGRAM ②SOCK_STREAM ③ SOCK_RAM ④SOCK_PACKET
5、下面的属于IPv4地址结构的是( )。
① sockaddr_in ②sockaddr ③ addr ④in_addr
6、初始化信号量应该使用的函数名是( )。
① pthread_cond_init ②pthread_create ③ sem_init ④pthread_mutex_init
7、下列哪个协议是应用层的( )
①IGMP ②HTTP ③ARP ④ICMP
8、下列哪个协议是应用层的( )
①CSMA ②SMTP ③TCP ④ICMP
9、在Linux下,下列哪个函数用来关闭一个套接字( )
①closesocket, ②WSACleanup ③close ④exit
10、在数据流式套接字中( )套接字函数将产生网络报文
① socket ②bind ③ sendto ④connect
11、 下列套接字函数中,不能用于数据流通信的是( )
①socket ②bind ③ send ④recvfrom
12、 下列套接字函数中,需要地址结构作为参数的是( )
①socket ②recvfrom ③ send ④close
13、 listen函数的作用是( )
①接受连接请求 ②设置等待连接状态 ③连接套接字到目的地 ④指定本地地址
14、 winsock中提供的用于消息机制的函数是( )
①WSAStartup ② WSAEventSelect ③WSACleanup ④WSAAsynSelect
15、将长整形数值从网络顺序转换为本机顺序的函数( )
①ntohl ② htons ③ htonl ④ ntohs
16、下列哪个函数在linux系统下网络程序不能使用( )
①closesocket ② select ③close ④ printf
17、 套接字函数在完成其任务之前不返回,我们称之为( )
①消息机制 ②事件机制 ③阻塞方式 ④非阻塞方式
18、属于网络层的协议( )
① CSMA/CD ② ICMP ③ FTP ④ UDP
19、属于链路层的协议( )
① CDMA ② ICMP ③ PPP ④ UDP
20、下列应用中使用TCP传输的是( )
①实时视频 ② IP电话 ③ 网页传输 ④ DNS
21、下列应用中使用UDP传输的是( )
①文件传输 ② IP电话 ③ 网页传输 ④
22、 IP协议具有如下哪个特点( )
①保证传输可靠性 ②无连接的数据报 ③建立虚电路 ④进行拥塞控制
23、 下列哪个特点是TCP协议没有的( )
①保证传输可靠性 ②流量控制 ③建立虚电路 ④进行拥塞控制
24 在网络通信中,客户机要访问服务器程序,必须知道服务器的( )
①地理位置 ②程序名称 ③所在国家 ④ 端口和主机地址
25、下列哪个套接字函数不能用于客户程序( )
①socket ②send ③accept ④ connect
26、下列哪个套接字函数不能用于服务器程序( )
①socket ②sendto ③accept ④ connect
27、下列哪个套接字函数不能用于服务器程序( )
①listen ②send ③accept ④ connect
28、网络应用程序运行在网络系统的( )上
①端系统 ②核心系统 ③路由器 ④ 网线
29、下列设施属于网络核心系统的是( )
①路由器 ②智能手机 ③Web服务器 ④ PC
30、根据规定,网络字节序是( )
①Big endian ② Little endian ③和Intel x86一致 ④说不清
31、浏览器是一种( )
①HTTP客户端 ②HTTP服务器 ③文件服务器 ④邮件客户端
32、已知IP地址的点分十进制形式,下列哪个函数能够得到其整数形式( )
①gethostbyname ②inet_ntoa ③inet_addr ④gethostbyaddr
二、判断题
1.服务器必须先于客户端启动。 ( √ )
2.并发服务器比循环服务器性能好。( × )
3.在并发服务器中,线程越多越好 ( × )
4.有些场合下只能使用UDP进行网络通信。( √ )
5.多个线程可以共享全局变量。 ( √ )
6.多进程并发时,可通过共享变量来交换信息。 ( √ )
7.互斥锁是一种多进程同步机制 ( √ )
8.套接字是操作系统提供的一组用于网络通信的API。 ( √ )
9.发送一个UDP报文,接受方可能收到两个UDP报文。 ( × )
10.发送两个TCP数据,接收方可能一次收到全部数据。 ( √ )
11.UDP客户使用connect函数时,没有向网络发送任何数据报文。 ( √ )
12.TCP协议只能用于点到点通信。 ( √ )
13.一个数据报套接字可以和多个其他套接字同时通信 ( √ )
14.使用数据流网络通信可以减少网络流量。 ( × )
15.在winsock中,应该使用open函数打开一个套接字 ( × )
16.数据流式套接字是基于TCP协议的 ( √ )
17.UDP的端口号数量比TCP的端口号数量少。 ( × )
18.总是用close函数关闭一个套接字 ( × )
19.数据流套接字通信时,用目的IP地址和目的端口号可以唯一确定一个套接口 ( √ )
20.TCP协议在传输数据之前,必须先建立连接。 ( √ )
21.客户机程序必须绑定一个周知端口才能进行网络通信。 ( × )
22.UDP协议可以用于多点对多点的网络通信 ( √ )
23.TCP服务器用listen函数获得一个客户的网络连接。 ( × )
24.要实现ping程序功能可以使用数据报套接字 ( √ )
25.tftp协议是使用udp协议来实现的。 ( √ )
26.在tcpip参考模型中tcp协议工作在可以使用数据报套接字来传输文件 ( √ )
27.多进程并发比多线程并发性能更好 ( × )
28.多线程并发比单线程并发性能更好。 ( × )
29.要实现ping程序功能应该使用原始套接字。 ( √ )
30.可以用TCP协议进行组播通信。 ( × )
31.对于循环的面向连接的服务器同一时刻只有一个套接字。 ( × )
32.根据主机域名得到IP地址的函数是gethostbyname。 ( √ )
33.一个数据报套接字可以和多个其他套接字同时通信。 ( √ )
34.多进程并发时,可通过共享变量来交换信息。 ( √ )
35.互斥锁和信号量都是多线程同步机制。 ( √ )
36.TCP服务器用bind函数获得一个客户的网络连接。 ( × )
三、简答题
1、端口有什么作用?为什么需要周知端口?
端口就是程序与程序之间的通讯的接口。周知端口是众所周知的端口号,其中80端口分配给WWW服务,有了周知端口就可以确定并使用该端口的服务类型。
2、在网络通信时为什么要采用客户服务器模式?
因为数据需要隔离。在C/S模式之前,是文件共享形式的网络服务,文件直接暴露在客户机面前,客户机可以随意篡改。而采用CS模式,客户机的使用者是无法直接获取数据文件的,必须要通过客户端软件操作。
3、如何确定一个套接字是被动的(用于服务器的)?
看它是等待传入链接的套接字还是发起连接的套接字,等待传入链接的套接字是被动的(即用于服务器的)。
4、试比较无连接和面向连接的网络通信特点。
面向连接服务的特点:
①面向连接服务的数据传输必须经过连接建立,连接维护,释放连接3个阶段。
②面向连接服务在数据传输过程中,各个分组不需要携带目的节点的地址。
③面向连接服务传输可靠性高,但是协议复杂,通信效率低。
非连接的服务的特点:
①非连接服务中,每个分组都需要携带完整的目的节点地址,各个分组在系统中独立传送。
②非连接服务中的数据在传输过程不需要经过连接建立,连接维护,释放连接3个阶段。
③ 由于非连接服务发送的分组可能经历不同的路径发送到目的节点,因此可能出现乱序, 重复,丢失的现象。
④ 非连接服务的可靠性不好,但是省去很多保证机制,协议相对简单,通信效率比较高。
5、有哪几种网络应用程序体系结构,各有什么特点?
B/S体系结构、C/S体系结构、P2P体系结构
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论