1、软件水平考试(中级)网络工程师下午(应用技术)试题模拟试卷 25及答案与解析 一、试题一( 15分) 1 阅读以下有关传统局域网络运行和维护的叙述,将应填入 (n)处的字句写在对应栏内。 在对网络运行及维护前首先要了解网络,包括识别网络对象的硬件情况、判别局域网的拓扑结构和信道访问方式、确定网络互联以及用户负载等。常见的 3种拓扑结构是星形、 (1)与 (2)拓扑结构,而常见的信道访问方式有 (3)及 (4)。 网络配置和运行包括一系列保证局域网络运转的工作,主要有:选择网络操作系统和网络连接协议等;配置网络 服务器及网络的外围设备,做好网络突发事件预防和处理;网络安全控制,包括网络安全管理、
2、网络用户权限分配以及病毒的预防处理等。配置网络过程中要做好数据备份工作,一般来说,备份的硬件设备包括(5)、磁带和 (6),而利用磁盘备份的方法常用的是磁盘镜像 (7)以及磁盘阵列,其中前两者的区别在于 (8)。 网络维护是保障网络正常运行的重要方面,主要包括 (9)、网络日常检查及网络升级。一定要建立起维护日志制度,记录网络运行和变更的情况,以保证维护经验的交流与延续。 二、试题二( 15分) 2 请阅读以下说明和 Socket程序,将应填入 (n)处的字句写在对应栏内。 网络应用的基本模型是客户机 /服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。 一般发起
3、通信请求的应用程序称为客户软件,该应用程序通过与服务器进程建立连接,发送请求,然后等待服务器返回所请求的,内容。服务器软件一般是指等待接收并处理客户机请求的应用程序,通常由系统执行,等待客户机请求,并且在接收到请求之后,根据请求的内容,向客户机返回合适的内容。 本题中的程序较为简单,客户机接收用户在键盘上输入的文字内容,服务 器将客户机发送来的文字内容直接返回给客户机,在通信过程中服务器方和客户机方都遵守的通信协议如下: 由客户机首先发送请求,该请求由首部和内容两大部分组成,两个部分各占一行文字,通过行结束符 “n”隔离。 首部只有一个 Length域,用于指定请求的内容部分的长度,首部的结构
4、为: “关键词 Iength”+“”+数值 +“n”。 内容部分为一行文字,其长度必须与 Length域的数值相符例如,客户机的请求为 “Length 14nilello,mybaby!”,服务器接收请求处理后返回文字 “Hello,my babv!”。 Socket程序 服务器主程序部分: #include stdio.h / 引用头文件部分略 #define SERVER_PORT 8080/服务器监听端口号为 8080 #define BACKLOG 5 /连接请求队列长度 int main(int argc, char *a rgv) int listenfd,connfd/监听套接字
5、、连接套接字描述符 struct sockaddr_in servaddr; /服务器监听地址 listenfd (1); /创建用于监听的套接字 if(1istenfd 0) fprintf(stderr, “创建套接字错误 !“) exit(1); /套接字创建失败时打印错误信息 bzero( /将监听地址与用于监听的套接字绑定,绑定失败时打印错误信息 if(listen(listedfd,BACKlOG) 0) fprintf(stderr, “转换套接字为监听套接字 !”); exit(1); /将用于监听的套接字由普通套接字转化为监听套接字 for(;) connfd (5); /从
6、监听套接字的连接队列中接收已经完成的连接,并创建新的连接套接字 if(connfd 0) fprintf(Stderr, “接收连接失败 !“); exit(1); /接收失败打印错误信息 serv_respon(connfd); /运行服务器的处理函数 close(connfd); /关闭连接套接字 dose(listenfd); /关闭监听套接字 服务器通信部分: #include Void serv_respon(int sockfd) Int nbytes;char bur1024; for(;) nbytes read_requ(Sockfd,bUr,1024); /读出客户机发出的
7、请求,并分析其中的协议结构,获知请求的内容部分的长度,并将内容复制到缓冲区 buf中, if( (6) )return; /如客户机结束发送就退出 else if(bytes 0) fprintf(Siderr, “读错误情息: %Sn“,strerror(errno); return; /读请求错误打印错误信息 if(wnte-all(sockfd,buf,nbytes) 0) /将请求中的内容部分反向发送回客户机 fprintf(siderr, “写错误信息: %sn“,strerror(errno); int read_requ(int sockfd,char * buf int siz
8、e) Char inbuf256; int n;int i; i read_line(sockfd,inbUf,256); /从套接字接收缓冲区中读出一行数据,该数据为客户请求的首部 if(1 O)return(i); else if(i 0)return(0); if(stmcmp(inbu,“,6) 0) scanf(7), “%d“, return(14); /取出首部 Length域中的数值,该数值为内容部分的长度 return(read-all(sockfd,bur,n); /从接收缓冲区中读出请求的内容部分 int get-char(int fd,char * ch) static
9、 int offset 0; static int size 0; static char buff1024; /声明静态变量,在 get_char多次被调用期间,该变量的内存不释放 for(;size 0 (8);) size read(fd,bur,1024); /一次从套接字缓冲区中读出一个数据块 if(size 0) if(errno EINTR) size 0; contine; /EINT日表示本次读操作没有成功,但可以继续使用该套接字读出数 i else return(-1); offset 0; /读出数据后,将偏址置为 0 *ch: bufoffset+); /将当前的字符取
10、出,并将偏址移向下一字符 return(1); int read_line(int fd,char * buf,int msxlen) int i, n; Char ch; for(i 0;i (9) n get_char(fd, else if(n )return(-1); else break; bufi 0; return(i); /函数 read_line的作用是读出请求的首部,其处理的方法是每次调用 get_char函数,取出一个字符,检查该字符是否是回车符 n,如果是回车符,就返回请求的首部 /get_char的处方式较为特殊,并不是每次调用 read函数读一个字符,而是一次从缓冲
11、区中读一块内容,再一欠一个字符提交给函数 read_line,如果提交完了就再读一块,这样就可以提高读缓冲 区的效率。另外,由于客户机是分两次调用writ_all函数将请求的首部和内容发送给服务器,因此 get_char不会取出请求内容部分的字符部分 SOCKET数据结构与函数: 1地址结构。 sockaddr_in: sockaddr_in类型的结构定义, sockaddr_in是通用套接字结构sockaddr在 TcP/IP协议下的结构重定义,为 TCP/IP套接字地址结构。 Struct sockaddr_in short int sin_family; /地址类型 AF_XXX,其 中
12、 AF_INET为 TCP/IP专用 unsigned short int sin_port; /端口号 struct in_addr sin_addr; /lnternet地址 /端口号以及 tnternet地址使用的是网络字节顺序,需要通过函数 htons转换 struct_inaddr -u32 s addr; /类型为 unsignel long hostent: hostent类型的结构定义 struct hostnet char * h_name; /主机的正式名称 char * * h_aliases; /别名列表 nit h_addrtvPe; /主机地址类型: AF_XXX
13、int h_length; /主机地址长度: 4字节 (32位 ) char * * h_addr_list; /主机 IP地址列表 #define h_addr h_addr_list0 2基本函数。 int socket(int domain,inttype,int protocol); 函数 socket创建一个套接字描述符,如果失败则返回 -1。 domain为地址类型,type为套接字类型,本题中为 SOCK_STREAM;protocol指定协议,本题中为 0。 int connect(int sockfd,struct sockaddr * servaddr,int addden
14、); 函数 connect与服务器建立一个连接,成功返回 0,失败返回 -1。 servaddr为远程服务器的套接字地址,包括服务器的 IP地址和端口号; addrlen为地址的长度。 int read(intfd,char * bur,intlen); int write(int fd,char * buf,intlen); 函数 read和 write从套接字读和写数据,成功返回数据量大小,否则返回 -1。 buf指定数据缓冲区, len指定接收或发送的数据量大小。 int bind(int sockfd,struct,sockaddr * myaddr, int addrlen); 函数
15、 bind将本地地址与套接字绑定在一起,成功返回 0,否则返回 -1;myaddr是本机地 址; addrlen为套接字地址结构的长度。 int listen(int sockfd,int backlog); 函数 listen将一个套接字转换为倾听套接字,成功返回 0,否则返回 -1; backlog为请求队列的最大长度。 int accept(int sockfd,stmct sockaddr * addr,int * addrlen); 函数 accept从倾听套接字的完成连接中接收一个连接,如果完成连接队列为空,那么这个进程睡眠,失败时返回 -1,成功时返回新的套接字描述符。 Sock
16、fd为倾听套接字, addr为客户机的地址, addlen为地址长度,在调用时用常量 NULL代替addr与 addlen表示无须取出客户机的地址信息 struct hostent * gethostbyname(const char * hostname); 函数 gethostbyname查询指定的域名地址对应的 IP地址,返回一个 hostent结构的指针,如果不成功返回 NULL。 3用户自定义函数。 int read_all(int fd,void*bur,int nbyte); 函数 read all从参数 fd指定的套接字描述符中读取 nbytes字节数据至缓冲区 buf中,成功
17、返回实际读的字节数 (可能小于 nbyte),失败返回 -1。 int write_all(int fd,void * bur,int nbyte); 函数 write_all向参数 fd指定的套接字描述符中写入缓冲区 buf前 nbyte字节的数据,成功返回实际写的字节数 (始终等于 nbyte),失败返回 -1。 write_requ函数为客户机发送请求的函数; read_requ函数为服务器获取请求的函数。 三、试题三( 15分) 3 阅读以下说明,回答问题 1和问题 2,将解答填入对应栏内。某学校拟组建一个小型校园网,具体设计如下: 1设计要求。 (1)终端用户包括: 48个校园网普通
18、用户;一个有 24个多媒体用户的电子阅览室;一个有 48个用户的多媒体教室 (性能要求高于电子阅览室 )。 (2)服务器必须要提供 Web、 DNS、 E-mail服务。 (3)支持远程教学,可以接入互联网,具有广域网访问的安全机制和网络管理功能。 (4)各楼之间的距离为 500m。 2可选设备,见表 4。3可选介质 3类双绞线、 5类双绞线 、多模光纤。 该校网络设计方案如图 5所示:3 依据给出的可选设备进行选型,将 (1) (5)处空缺的设备名称填写在答题纸相应位置 (每处可选一台或多台设备 )。 4 (6) (8)处空缺的介质填写在答题纸相应位置 (所给介质可重复选择 )。 四、试题四
19、( 15分) 5 阅读以下说明,回答问题 1、问题 2、问题 3和问题 4。短消息是指简短的字符信息,在短消息通信系统里,则指由短消息实体发起,通过移动网络传输到指定目的地址的有限长度的文本信息,近几年,短消息服务得到广泛应用。基于 web的短消息服务平台的系统结 构如图 3所示。 Web客户端访问 Web Server上的短消息服务平台;短消息收发接口通过 CMMP协议于短消息网关通信,网关服务器通过SMMP协议于短消息中心通信,短消息中心通过移动网络收发短消息。网关服务器通常可以采用两种方法: (1)采用 SP(互联网上的业务提供这 )直接与某一个SMSC连接,由 SMSC直接通过信令网发
20、送短消息给用户。 (2)采用短消息网关的方式。当采用第一种方式时,在 SP的短消息业务量很大时,全部短消息都与 sp直连的 SMSC转发,造成该 SMSC负荷极大,难以满足业务发展的需要。其次,GSM网的规范做法是由用户归属地的 SMSc负责用户短消息的转发,若该 SMSC与提供服务的 SP没有连接,当用户采用手机点播申请短消息服务时,上行短消息将无法发送到该 sp。 因此,随着短消息业务的发展,并且使用 GSM网的规范做法,必须采用第二种方式即通过网关方式,才能将大量 SP接入到各地的 SMSC上,才能保证接入的一致性即安全性,为用户提供优质服务。在这种方式中,短消息网关作为专业化的信息分配
21、及管理者实现 SP与 SMSC之间的交互。5 目前,国内短消息服务平台按照接入方式主要可分为哪两种 ? 6 请简要说出 网关服务器与短消息服务过程。 7 Web服务器与用户计算机通过 TCP/IP网络上进行通信,服务器端与短消息网关(ISMG)进行通信。请指出它们的通信协议。 8 彩信 “多媒体信息 (MMS)”的别称,用户可以通过彩信功能想手机或电子信箱发送带有图片和声音的内容的短消息,文字容量可达 15000字左右。请问发送 MMS需要什么条件 ? 五、试题五( 15分) 9 图 2给出了一个单位分配到的网络地址是 217.14.8.0掩码是 255.255.255.224。单位管理员将本
22、单位的网络又分成了 3个子网如果你是网管 人员:9 请你分配合适的子网地址,要求地址不能浪费。 10 分配路由器 R1、 R2的内网接口的中和掩码。 11 写出路由器 R1的路由表 (3) 软件水平考试(中级)网络工程师下午(应用技术)试题模拟试卷 25答案与解析 一、试题一( 15分) 1 【正确答案】 (1)总线型 (bus) (2)环形 (bring) 注意: (1)与 (2)可以交换。 (3)载波侦听多路访问 /冲突检测 (CSMA/CD) (4)令牌传递 (tokenpassing) 注意: (3)与 (4)可以交 换。 (5)磁盘 (6)光盘塔 (光盘驱动器 ) 注意: (5)与
23、(6)可以交换。 (7)磁盘双工 (8)镜像是先写原盘,后写镜像盘;而双工是两个互为备份的盘同时写 (9)故障检测与排除 二、试题二( 15分) 2 【正确答案】 (1)socket(AF_INET,SOCk_STREAM,0) (2)INADDR_ANY (3)htons(SERVER_PORT) (4)Ustenfd,(struct soekaddr*)&servaddr,sizeof(servaddr) (5)accept(listenfd,NULL,NULL) (6)nbytes 0 (7)buf+6 (8)offset size (9)maxlen (10)ch n 三、试题三( 1
24、5分) 3 【正确答案】 两台交换机 Switch3 (2)一台交换机 Switch1和一台交换机 Swish2 (3)一台交换机 Swish4 (4)一台路由器 Router1 (5)一台交换机 Switch2 4 【正确答案】 (6)5类双绞线 (7)多模光纤 (8)5类双绞线 四、试题四( 15分) 5 【正确答案】 目前,国内的短消息服务平台按照接入方式主要可分为基于 web和基于企业内部 PC端两种。 6 【正确答案】 短消息中心将用户发送的短消息内容发给与其相连的短肖息网关,短消息网关根据短消息发送号码即 SP的服务代码,将短消息内容发给相应的SP。用户接收短消息业务即 MT业务,
25、如图片下载等,提供此项业务的 SP将短消息内容发给与其连接的短消息网关,短消息网关根据用户手机号段,发给用户归属的短消息中心。 7 【正 确答案】 web服务器与用户计算机通过 TCP/IP网络上的 HTYP协议进行通讯;服务器端通过 CMPP协议与短消息网关 (ISMG)进行通信。 8 【正确答案】 彩信需要 GPRS高速网络的支持,同时也需要收发双方的手机都支持彩信功能。 五、试题五( 15分) 9 【正确答案】 (1)三个子网为 217.14.8.0 255.255.255.248 217.14.8.8 255.255.255.248 217.14.8.16 255.255.255.240 10 【正确答案】 (2)R1接 H1网 217.14.8.1 255.255.255.248 R1接 H3网 217.14.8.9 255.255.255.248 R1接 H5网 217.14.8.17 255.255.255.240 R2接 H5网 217.14.8.18 255.255.255.240 11 【正确答案】 (3)子网 掩码 下一跳 217.14.8.0 255.255.255.248 直连 217.14.8.8 255.255.255.248 直连 217.14.8.16 255.255.255.240 直连 默认 - 217.14.8.18