网络编程试题答案_第1页
网络编程试题答案_第2页
网络编程试题答案_第3页
网络编程试题答案_第4页
网络编程试题答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一:选择题(共10小题,每小题3分)1)路由器工作在哪一层(B)A:链路层 B:网络层 C:传输层 D:应用层2)一台主机要实现通过局域网与另一个局域网通信,需要做的工作是(C)。A:配宜域名服务器B :左义一条本机指向所在网络的路由C :左义一条本机指向所在网络网关的路由D :泄义一条本机指向目标网络网关的路由3)下列提法中,不属于ifconfig命令作用范围的是(D)。A:配置本地回环地址B:配置网卡的IP地址C :激活网络适配器D:加载网卡到内核中4)下而的网络协议中,而向连接的的协议是:(A)。A:传输控制协议B :用户数据报协议C :网际协议D:网际控制报文协议5)在局域网络内的某台

2、主机用ping命令测试网络连接时发现网络内部的主机都可以连 同,而不能与公网连通,问题可能是(C)A主机IP设置有误B没有设置连接局域网的网关C局域网的网关或主机的网关设置有误D局域网DNS服务器设置有误6)DHCP是动态主机配置协议的简称,英作用是可以使网络管理员通过一台服务器来管理一个网络系统,自动地为一个网络中的主机分配D地址。A : UDPB : MAC C: TCP D: IP刀 在TCP/IP模型中,应用层包含了所有的高层协议,在下列的一些应用协议中,(B)是 能够实现本地与远程主机之间的文件传输工作。A telnetB FTPC: SNMPD: NFS8)当我们与某远程网络连接不

3、上时,就需要跟踪路由査看,以便了解在网络的什么位置出 现了问题,满足该目的的命令是(C)。A :pingB: ifconfigC :tracerouteD: netstat9)关于代理服务器的论述,正确的是(A)。A :使用internet ±已有的公开代理服务器,只需配置客户端。B :代理服务器只能代理客户端http的请求。C :设置好的代理服务器可以被网络上任何主机使用。D :使用代理服务器的客户端没有自己的ip地址。10)公司需要把/255.255.255网段划分成10个子网,子网掩码应该是?(C)A: B: 255.255.25

4、5.4C: 40D: 48填空题(本题共5小题,每空1分 共10分)1)网络/24立向广播地址是(55),受限的广播地 址为(55),眾向广播和受限广播的区别(只要路由器可以转发疋向广播 信息可以向其它子网广播息,而路由器从來不转发受限的广播信息):2)在tcp/ip模型中进程到进程之间通信属于(传输)层,主机到主机属于(网络) 层,设备到设备属于(数据链路)层,程序到程序属于(应用)层。3)Ping命令的功能为(可以测试网络中本机系统是否能到达一台远程主机, 所以

5、常常用于测试网络的连通性)。4)进行远程登录的命令是(telnet)5)DNS域名系统的作用是(主机用戸名和IP地址之间相互转化)。三:问答题(本题共4小题,每题6分共24分)1)简述TCP/IP协议中各层的主要功能,各有哪些主要协议。答:网络接口层:实现设备与设备之间的通信网络层:实现主机与主机之间的通信IP, ARP, RARP, ICMP传输层:实现进程与进程之间的通信TCP, UDP应用层:实现应用程序HTTP, SMTP, DNS, SNMP, FNS, FTP2)什么是TCP、UDP ?协议优缺点,应用场合?1:用户数据报协议 UDP(User Datagram Protocol)

6、UDP协议是面向无连接的用户数据报协议,在传输数据之前不需要先建立连接。远 地主机的运输层收到UDP报文后,不需要给岀任何确认。2:传输数据报协议 TCP (Transmission Control Protocol)TCP则提供面向连接的服务。在传输数据前必须先建立连接,数据传输完毕后要释放连接。区别:是否而向连接:Tcp面向连接是否可靠:Tcp町靠应用场合: Tcp应用于传输大屋数据t udp是而向无连接f udp不可靠,udp用于传输少量数据.udp的速度快是否能够广播:tcp不能T udp能广播速度:Tcp的速度慢tcp是基于连接的,速度慢,有校验等,所以传送相同的数据,要比UDP发送

7、的包多很务3) 简述TCP/IP协议中三次握丁的过程及涵义第一次握手;建立连接时,客户端发送synfi(syn=j)到服务器,并进入SYN_SEND状态, 等待服务器确认:二次握手:服务器收到syn包,必须确认客八的SYX (ack=j+l),同时自己也发送一个 SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态:三次握手:客八端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+l),此 包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手4) 简述TCP/IP模型屮,利用传输控制协议发送数据,应用层数据从主机A发送到主机B 的整

8、个过程。答:1、首先是主机A通过connectO函数发送连接请求,主机B的accepM)函数接受到请求。 此时建立了连接。2、主机A将数据写如套接口。3、主机B从套接口读取数据,并保存。4、数据发送完毕后,主机A关闭套接口。5、主机B关闭套接口。四:程序题(共三小题,第一题16分,二三题10分 共36分)1)利用setsocketoptO使用嵌套字支持广播并编写两个桿序,其中一个发送广播数据,另 一个接收广播数据。include <stdio.h>#inelude <stdlib.h>#include <string.h>#inelude <unist

9、d.h>II bzero#include <sys/socket.h> include vnetinet/in.h>include <arpa/inet.h>/ inet_ntop#inelude <signalh>#inelude vfentl.h>/#define MAX 1024*1024int main(int argc, char *argvQ)struct sockaddrjn srvAddr;int socked = socket(AFJNET, SOCK_DGRAM, 0); unsigned short port = 80

10、00;char sendbuf1024=M H,recvbuf1024=*H;int broadcast_e n=1;socklenj broadcastje n=sizeof(broadcast_en); sizej len=sizeof(srvAddr);bzero(&srvAddr, sizeof(srvAddr);srvAddr.sinJamily = AFJNET;srvAddr.sin_port = hton s(port);srvAddr.sin_addr.s_addr =inet_addr(M55"); if(socked <

11、0)perror(Msockef);exit(1); printfCUDP Server Started at port %d!n port);if(setsockopt(socked,SOL_SOCKET,SO_BROADCAST,&broadcast_en,broadcastJen)<perror(Msetsockopr); exit(1);while(1)printfC输入数据门;fgets(sendbuf,1024,stdin); sendbufstrlen(sendbuf)-1 =*0*;sen dto(socked,se ndbuf,strle n(sen dbuf)

12、,Obstructsockaddr*)&srvAddr,(socklen_t)len);#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#inelude <sys/socket.h>#inelude <netinet/in.h>#inelude <arpa/inet.h>#inelude <signal.h>#include <fcntl.h>/#define MAX 1024M

13、024int main(int argc, char *argv)/ bzero/ inet_ ntopstruct sockaddrjn srvAddr;int socked = socket(AFJNET, SOCK_DGRAM, 0);unsigned short port = 8000;char recvbuf1024=HH;int broadcast_e n=1;socklenj broadcast_len=sizeof(broadcast_en);sizej len=sizeof(srvAddr);bzero(&srvAddr, sizeof(srvAddr);srvAdd

14、r.sinJamily = AFJNET;srvAddr.si n_port = hton s(port);srvAddr.sin_addr.s_addr =inet_addr(n55°);if(socked < 0)perror(” socket”);exit(1);printfCUDP Server Started at port %d!n, port);printf(MBinding server to port %dn”,port);if( (bind(socked,(struct sockaddr *)&srvAddr,(sockle

15、nJ)len)<0 )perror(MbindH);exit(1);while(1)if(recvfrom(socked,recvbuf,strlen(recvbuf)50,(struct sockaddr*)&srvAddr,(socklenj *)&len)<0)perror(HrecvfromH);exit(1);elseprintf(H%snM,recvbuf);1)写一个TCP并发的服务器,实现echo功能匚#include <stdioh> #include <stdlibh>bzero/ inet_ntopinclude <

16、;string h> include <unistdh> #include <sys/socketh> #include <netinet/in. h> #include <arpa/ineth>/二/ 语法格式:void main (void)/实现功能:主函数,建立一个TCPEcho Server/入口参数:无/出口参数:无» < » int main(int argc, char *argv)char recvbuf2048;int sockfd;struct sockaddrin servAddr; uns

17、igned short port = 8000;/接收缓冲区/套接字服务器地址结构体/监听端口if(argc > 1)/由参数接收端口port 二 atoi(argvlj);printf (,ZTCP Server Started at port $d!n: port); sockfd = socket(AF_INET, SOCK_STREAM, 0);/创建TCP套接字 if(sockfd < 0)perror(z,Invalid socket");exit (1);bzero(&servAddr, sizeof (servAddr); / 初始化服务器地址se

18、rvAddr sin_family 二 AF_INET;servAddr sin_port = htons(port);servAddr. sinaddr. s_addr = htonl仃NADDR_ANY);printf (''Binding server to port %dn,z, port);if(bind(sockfd, (struct sockaddr*&servAddr, sizeof(struct sockaddr) != 0) close(sockfd);perror('"binding err");exit (1);if仃

19、isten(sockfd, 1) != 0)close(sockfd);perror('"listen err");exit (1);printf (''waiting client n");while(l)/用于保存客户端IP地址char cliIPlNET_ADDRSTRLEN: size_t recvLen;struct sockaddr_in cliAddr; /用于保存客户端地址size_t cliAddrLen = sizeof(cliAddr);/必须初始化! !int connfd = accept(sockfd, (str

20、uct sockaddr*)&cliAddr, &cliAddrLen); /获得一个已经建立的连接if (connfd < 0)close (sockfd);perror("'accept err!");exit(l);if(fork 0 = 0)close (sockfd);inet_ntop(AF_INET,&cliAddr sin_addr s_addr,clilP,INET_ADDRSTRLEN);printf (""client ip = %sn*, clilP);wh:ile (recvLen = re

21、ad (connfd, recvbuf, 2048) > 0)uTite(connfd, recvbuf, recvLen);printf ("client closed!nz/);exit(0);close(connfd);close (sockfd);return 0;2)写一个UDP echo服务器 #include <stdio. h> include <stdlibh> #include <string h>#include <unistdh> include <sys/socketh>include <

22、;netinet/inh> #include <arpa/ineth>/语法格式:void main(void)/实现功能:主函数,建立一个UDP Echo Server/入口参数:无/出口参数:无int main(int argc, char *argv)int sockfd;struct sockaddr_in bindAddr; unsigned short port = 8000;if(argc > 1)port = atoi(argvlj);printf (,ZUDP Server Started!n);sockfd 二 socket(AF_INET, SOCK_DGRAM, 0);if(sockfd < 0)printf ('"Invalid socket'n");exit (1);bzero(&bindAddr, sizeof(bindAddr);bindAddr. sin.fam订y 二 AF_INET;bindAddr s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论