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

下载本文档

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

文档简介

一:选择题(共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) 在局域网络内的某台主机用ping命令测试网络连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是(C)A 主机IP设置有误B 没有设置连接局域网的网关C 局域网的网关或主机的网关设置有误D 局域网DNS服务器设置有误6) DHCP是动态主机配置协议的简称,其作用是可以使网络管理员通过一台服务器来管理一个网络系统,自动地为一个网络中的主机分配_D_地址。A :UDP B :MAC C: TCP D: IP7) 在TCP/IP模型中,应用层包含了所有的高层协议,在下列的一些应用协议中,(B)是能够实现本地与远程主机之间的文件传输工作。A telnetB FTPC: SNMPD: NFS8) 当我们与某远程网络连接不上时,就需要跟踪路由查看,以便了解在网络的什么位置出现了问题,满足该目的的命令是(C)。A :pingB: ifconfigC :tracerouteD: netstat9) 关于代理服务器的论述,正确的是(A)。A :使用internet上已有的公开代理服务器,只需配置客户端。B :代理服务器只能代理客户端http的请求。C :设置好的代理服务器可以被网络上任何主机使用。D :使用代理服务器的客户端没有自己的ip地址。10) 公司需要把 /255.255.255 网段划分成10个子网,子网掩码应该是? (C)A:B:C:40D:48二:填空题(本题共5小题,每空1分 共10分)1) 网络/24 定向广播地址是(55),受限的广播地址为(55),定向广播和受限广播的区别(只要路由器可以转发定向广播信息可以向其它子网广播信息,而路由器从来不转发受限的广播信息);2) 在tcp/ip模型中进程到进程之间通信属于(传输)层,主机到主机属于(网络)层,设备到设备属于(数据链路)层,程序到程序属于(应用)层。3) Ping命令的功能为(可以测试网络中本机系统是否能到达 一台远程主机 ,所以常常用于测试网络的 连通性)。 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)UDP协议是面向无连接的用户数据报协议,在传输数据之前不需要先建立连接。远地主机的运输层收到UDP报文后,不需要给出任何确认。2:传输数据报协议TCP(Transmission Control Protocol)TCP 则提供面向连接的服务。在传输数据前必须先建立连接,数据传输完毕后要释放连接。区别:是否面向连接:Tcp 面向连接 ,udp是面向无连接是否可靠: Tcp 可靠,udp不可靠应用场合: Tcp应用于传输大量数据 ,udp用于传输少量数据 速度: Tcp的速度慢,udp的速度快 是否能够广播:tcp不能,udp能广播tcp是基于连接的,速度慢,有校验等,所以传送相同的数据,要比UDP发送的包多很多3) 简述TCP/IP协议中三次握手的过程及涵义第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;三次握手:客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手4) 简述TCP/IP模型中,利用传输控制协议发送数据,应用层数据从主机A发送到主机B的整个过程。答: 1、首先是主机A通过connect()函数发送连接请求,主机B的accept()函数接受到请求。 此时建立了连接。 2、主机A将数据写如套接口。 3、主机B从套接口读取数据,并保存。 4、数据发送完毕后,主机A关闭套接口。 5、主机B关闭套接口。四:程序题(共三小题,第一题16分,二三题10分 共36分)1) 利用setsocketopt()使用嵌套字支持广播,并编写两个程序,其中一个发送广播数据,另一个接收广播数据。#include #include #include / bzero#include #include #include #include / inet_ntop#include #include /#define MAX 1024*1024int main(int argc, char *argv)struct sockaddr_in srvAddr;int socked = socket(AF_INET, SOCK_DGRAM, 0);unsigned short port = 8000;char sendbuf1024= ,recvbuf1024=;int broadcast_en=1;socklen_t broadcast_len=sizeof(broadcast_en);size_t len=sizeof(srvAddr);bzero(&srvAddr, sizeof(srvAddr);srvAddr.sin_family = AF_INET;srvAddr.sin_port = htons(port);srvAddr.sin_addr.s_addr =inet_addr(55);if(socked 0)perror(socket);exit(1);printf(UDP Server Started at port %d!n, port);if ( (setsockopt(socked,SOL_SOCKET,SO_BROADCAST,&broadcast_en,broadcast_len)0 )perror(setsockopt);exit(1);while(1)printf(输入数据:);fgets(sendbuf,1024,stdin);sendbufstrlen(sendbuf)-1=0;sendto(socked,sendbuf,strlen(sendbuf),0,(struct sockaddr *)&srvAddr,(socklen_t)len);#include #include #include / bzero#include #include #include #include / inet_ntop#include #include /#define MAX 1024*1024int main(int argc, char *argv)struct sockaddr_in srvAddr;int socked = socket(AF_INET, SOCK_DGRAM, 0);unsigned short port = 8000;char recvbuf1024=;int broadcast_en=1;socklen_t broadcast_len=sizeof(broadcast_en);size_t len=sizeof(srvAddr);bzero(&srvAddr, sizeof(srvAddr);srvAddr.sin_family = AF_INET;srvAddr.sin_port = htons(port);srvAddr.sin_addr.s_addr =inet_addr(55);if(socked 0)perror(socket);exit(1);printf(UDP Server Started at port %d!n, port);printf(Binding server to port %dn, port);if( (bind(socked,(struct sockaddr *)&srvAddr,(socklen_t)len)0 )perror(bind);exit(1);while(1)if(recvfrom(socked,recvbuf,strlen(recvbuf),0,(struct sockaddr*)&srvAddr, (socklen_t *)&len)0)perror(recvfrom);exit(1);else printf(%sn,recvbuf);2) 写一个TCP 并发的服务器,实现echo功能。#include #include #include / bzero#include #include #include #include / inet_ntop/=/ 语法格式:void main(void)/ 实现功能:主函数,建立一个TCP Echo Server/ 入口参数:无/ 出口参数:无/=int main(int argc, char *argv)char recvbuf2048;/ 接收缓冲区int sockfd;/ 套接字struct sockaddr_in servAddr;/ 服务器地址结构体unsigned short port = 8000;/ 监听端口if(argc 1)/ 由参数接收端口port = atoi(argv1);printf(TCP Server Started at port %d!n, port);sockfd = socket(AF_INET, SOCK_STREAM, 0);/ 创建TCP套接字if(sockfd 0)perror(Invalid socket);exit(1);bzero(&servAddr, sizeof(servAddr);/ 初始化服务器地址servAddr.sin_family = AF_INET;servAddr.sin_port = htons(port);servAddr.sin_addr.s_addr = htonl(INADDR_ANY);printf(Binding server to port %dn, port);if(bind(sockfd, (struct sockaddr*)&servAddr, sizeof(struct sockaddr) != 0)close(sockfd);perror(binding err);exit(1);if(listen(sockfd, 1) != 0)close(sockfd);perror(listen err);exit(1);printf(waiting client.n);while(1)char cliIPINET_ADDRSTRLEN;/ 用于保存客户端IP地址size_t recvLen;struct sockaddr_in cliAddr;/ 用于保存客户端地址size_t cliAddrLen = sizeof(cliAddr);/ 必须初始化!int connfd = accept(sockfd, (struct sockaddr*)&cliAddr, &cliAddrLen);/ 获得一个已经建立的连接if(connfd 0)write(connfd, recvbuf, recvLen);printf(client closed!n);exit(0);close(connfd);close(sockfd);return 0;3) 写一个UDP echo服务器#include #include #include #include #include #include #include /=/ 语法格式: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(argv1);printf(UDP Server Started!n);sockfd = socket(AF_INET, SOCK_DGRAM, 0);if(sockfd 0)printf(Invalid socketn);exit(1);bzero(&bindAddr, sizeof(bindAddr);bindAddr.sin_family = AF_INET;bindAddr.sin_port = htons(port);bin

温馨提示

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

评论

0/150

提交评论