TCPIP课程复习题+部分答案(修改版)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2015年TCP/IP网络编程复习题一、选择题1、要对IP协议直接访问,必须使用()套接字①数据流②数据报③原始④没有办法2、下列套接字函数可产生套接字的是()①send②accept③connect④close3、使用数据报套接字进行网络通信的应用层协议是()①FTP②POP3③PPP④SNMP4、要建立数据报套接字,在socket函数中需要使用的参数是()。①SOCK_DGRAM②SOCK_STREAM③SOCK_RAM④SOCK_PACKET5、下面的属于IPv4地址结构的是()。①sockaddr_in②sockaddr③addr④in_addr6、初始化信号量应该使用的函数名是()。①pthread_cond_init②pthread_create③sem_init④pthread_mutex_init7、下列哪个协议是应用层的()①IGMP②HTTP③ARP④ICMP8、下列哪个协议是应用层的()①CSMA②SMTP③TCP④ICMP9、在Linux下,下列哪个函数用来关闭一个套接字()①closesocket,②WSACleanup③close④exit10、在数据流式套接字中()套接字函数将产生网络报文①socket②bind③sendto④connect11、下列套接字函数中,不能用于数据流通信的是()①socket②bind③send④recvfrom12、下列套接字函数中,需要地址结构作为参数的是()①socket②recvfrom③send④close13、listen函数的作用是()①接受连接请求②设置等待连接状态③连接套接字到目的地④指定本地地址14、winsock中提供的用于消息机制的函数是()①WSAStartup②WSAEventSelect③WSACleanup④WSAAsynSelect15、将长整形数值从网络顺序转换为本机顺序的函数()①ntohl②htons③htonl④ntohs16、下列哪个函数在linux系统下网络程序不能使用()①closesocket②select③close④printf17、套接字函数在完成其任务之前不返回,我们称之为()①消息机制②事件机制③阻塞方式④非阻塞方式18、属于网络层的协议()①CSMA/CD②ICMP③FTP④UDP19、属于链路层的协议()①CDMA②ICMP③PPP④UDP20、下列应用中使用TCP传输的是()①实时视频②IP电话③网页传输④DNS21、下列应用中使用UDP传输的是()①文件传输②IP电话③网页传输④电子邮件22、IP协议具有如下哪个特点()①保证传输可靠性②无连接的数据报③建立虚电路④进行拥塞控制23、下列哪个特点是TCP协议没有的()①保证传输可靠性②流量控制③建立虚电路④进行拥塞控制24在网络通信中,客户机要访问服务器程序,必须知道服务器的()①地理位置②程序名称③所在国家④端口和主机地址25、下列哪个套接字函数不能用于客户程序()①socket②send③accept④connect26、下列哪个套接字函数不能用于服务器程序()①socket②sendto③accept④connect27、下列哪个套接字函数不能用于服务器程序()①listen②send③accept④connect28、网络应用程序运行在网络系统的()上①端系统②核心系统③路由器④网线29、下列设施属于网络核心系统的是()①路由器②智能手机③Web服务器④PC30、根据规定,网络字节序是()①Bigendian②Littleendian③和Intelx86一致④说不清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.可以使用数据报套接字来传输文件(√)27.多进程并发比多线程并发性能更好(×)28.多线程并发比单线程并发性能更好。(×)29.要实现ping程序功能应该使用原始套接字。(√)30.可以用TCP协议进行组播通信。(×)31.对于循环的面向连接的服务器同一时刻只有一个套接字。(×)32.根据主机域名得到IP地址的函数是gethostbyname。(√)33.一个数据报套接字可以和多个其他套接字同时通信。(√)34.多进程并发时,可通过共享变量来交换信息。(√)35.互斥锁和信号量都是多线程同步机制。(√)36.TCP服务器用bind函数获得一个客户的网络连接。(×)三、简答题1、端口有什么作用?为什么需要周知端口?端口就是程序与程序之间的通讯的接口。周知端口是众所周知的端口号,其中80端口分配给服务,有了周知端口就可以确定并使用该端口的服务类型。2、在网络通信时为什么要采用客户服务器模式?因为数据需要隔离。在C/S模式之前,是文件共享形式的网络服务,文件直接暴露在客户机面前,客户机可以随意篡改。而采用CS模式,客户机的使用者是无法直接获取数据文件的,必须要通过客户端软件操作。3、如何确定一个套接字是被动的(用于服务器的)?看它是等待传入链接的套接字还是发起连接的套接字,等待传入链接的套接字是被动的(即用于服务器的)。4、试比较无连接和面向连接的网络通信特点。面向连接服务的特点:①面向连接服务的数据传输必须经过连接建立,连接维护,释放连接3个阶段。②面向连接服务在数据传输过程中,各个分组不需要携带目的节点的地址。③面向连接服务传输可靠性高,但是协议复杂,通信效率低。非连接的服务的特点:①非连接服务中,每个分组都需要携带完整的目的节点地址,各个分组在系统中独立传送。②非连接服务中的数据在传输过程不需要经过连接建立,连接维护,释放连接3个阶段。③由于非连接服务发送的分组可能经历不同的路径发送到目的节点,因此可能出现乱序,重复,丢失的现象。④非连接服务的可靠性不好,但是省去很多保证机制,协议相对简单,通信效率比较高。5、有哪几种网络应用程序体系结构,各有什么特点?B/S体系结构、C/S体系结构、P2P体系结构B/S体系结构特点:(1).维护和升级方式简单。(2).成本降低,选择更多。(3).应用服务器运行数据负荷较重。C/S体系结构特点:(1).应用服务器运行数据负荷较轻。(2).数据的储存管理功能较为透明。(3).传统的C/S体系结构没能提供用户真正期望的开放环境。(4).C/S架构还有高昂的维护成本且投资大P2P体系结构特点:(1).网络中计算机的数量比较少(2).对等网络分布范围比较小,通常在一间办公室或一个家庭内。(3).网络安全管理分散,因此数据保密性差。(4).通过最直接交换来共享资源和服务、采用非集中式,各结点地位平等,兼作服务器和客户机。6、网络服务器有哪些类型,各有什么特点?7、TCP报文是如何定位一个应用程序的?8、相对于虚电路网络,数据报网络有哪些优缺点?虚电路技术的主要特点:在数据传输之前必须通过虚呼叫设置一条虚电路。优点:可靠、保持顺序;缺点:如有故障,则经过故障点的数据全部丢失.数据报的特点:在目的地需要重新组装报文。优点:如有故障可绕过故障点,无延迟,不需要连接。缺点:不能保证按顺序到达,丢失不能立即知晓。9、window下,有哪些网络编程模型?阻塞模型、消息机制、select模型、异步选择模型、事件选择模型、重叠I/O模型、完成端口10、DNS的作用是什么?哪个套接字函数实现了dns的功能?DNS的作用:把域名转换成为网络可以识别的ip地址inet_ntoa()实现了dns的功能11、DNS的作用是什么?它采用了什么传输层协议?DNS的作用:把域名转换成为网络可以识别的ip地址DNS服务器之间传输时使用TCP协议,而客户端与DNS服务器之间传输时用的是UDP协议。12、DNS的作用是什么?网络编程时用什么函数来实现?DNS的作用:把域名转换成为网络可以识别的ip地址gethostbyname()13、套接字有哪几种类型,分别适用什么场合?流套接字、数据报套接字和原始套接字。流套接字是双向的、有序的、无重复并且记录的数据流服务,它适用于处理大量数据。数据报套接字支持双向的数据流,但并不保证数据传输的可靠性、有序性和无重复性,但它保留记录边界。原始套接字允许对较低层次的协议直接访问,比如IP、ICMP协议,它常用于检验新的协议实现,或者访问现有服务中配置的新设备。14、实现并发的方式有哪几种?单进程,单线程、多进程、select+多线程、epoll方式。15、哪些情况下适合使用循环服务器?客户访问速度慢于CPU处理速度,没有状态的UDP服务器。16、什么是多线程同步,有哪些方法?指多线程通过特定的东西(如互斥量)来控制线程之间的执行顺序(同步)。方法:1.临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。2.互斥量:为协调共同对一个共享资源的单独访问而设计的。3.信号量:为控制一个具有有限数量用户资源而设计。4.事件:用来通知线程有一些事件已发生,从而启动后继任务的开始。17、服务器死锁有哪些原因?18、什么是网络地址,一个网络地址包含哪些内容?网络地址(Networkaddress)是互联网上的节点在网络中具有的逻辑地址。网络地址通常可分成网络号和主机号两部分,用于标识网络和该网络中的设备。19、recvfrom()与recv()函数的主要区别是什么?recvfrom()多了两个参数,可以用来接收对端的地址信息。udp协议用recvfrom(),tcp协议使用recv()。20、与C/S模型相比,P2P模型有哪些优缺点?优点:1.网络比较简单,网络分布范围比较小2.通过最直接交换来共享资源和服务、采用非集中式,各结点地位平等,兼作服务器和客户机。3.不需要专门的服务器来做网络支持,也不需要其他的组件来提高网络的性能,因而组网成本较低缺点:网络安全管理分散,因此数据保密性差。二、填空题(共6小题,共20分,每空1.5分)1、知道一个主机的域名,要获取其IP地址应该使用gethostbyname()函数。2、套接字是通过调用系统函数socket()来创建的。3、在Linux系统中,用于在指定的套接字上发送数据的系统函数是send(),也可用于向指定文件中写入指定的字节数据存放到指定的缓存区。4、实现并发的方式有多进程、多线程和单线程select()。5、在Linux系统中,关闭

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功