【计算机类职业资格】中级网络工程师下午试题-80及答案解析.doc
《【计算机类职业资格】中级网络工程师下午试题-80及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】中级网络工程师下午试题-80及答案解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、中级网络工程师下午试题-80 及答案解析(总分:-4.98,做题时间:90 分钟)一、试题一(总题数:1,分数:-1.00)单位分得合法 IP 地址 202.112.68.40 掩码为 255.255.255.248,其中,路由器的外口和 ISP 之间占据了2 个。112.68.41 和 202.1.12.68.41,掩码为 255.255.255.252,则可供使用的合法 IP 还有多少哪些?请写出。(分数:-0.99)_二、试题二(总题数:1,分数:-1.00)1.网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。一般发起通信请求的
2、应用程序称为客户软件,该应用程序通过与服务器进程建立连接,发送请求,然后等待服务器返回所请求的,内容。服务器软件一般是指等待接收并处理客户机请求的应用程序,通常由系统执行,等待客户机请求,并且在接收到请求之后,根据请求的内容,向客户机返回合适的内容。本题中的程序较为简单,客户机接收用户在键盘上输入的文字内容,服务器将客户机发送来的文字内容直接返回给客户机,在通信过程中服务器方和客户机方都遵守的通信协议如下:由客户机首先发送请求,该请求由首部和内容两大部分组成,两个部分各占一行文字,通过行结束符“/n”隔离。首部只有一个 Length 域,用于指定请求的内容部分的长度,首部的结构为:“关键词 I
3、ength”+“”+数值+“/n”。内容部分为一行文字,其长度必须与 Length 域的数值相符例如,客户机的请求为“Length 14/nilello,mybaby!”,服务器接收请求处理后返回文字“Hello,my babv!”。Socket 程序服务器主程序部分:#includestdio.h/引用头文件部分略#define SERVER_PORT 8080/服务器监听端口号为 8080#define BACKLOG 5 /连接请求队列长度int main(int argc,char *a rgv)int listenfd,connfd/监听套接字、连接套接字描述符struct sock
4、addr_in servaddr;/服务器监听地址listenfd (1) ;/创建用于监听的套接字if(1istenfd0)fprintf(stderr,“创建套接字错误!“)exit(1);/套接字创建失败时打印错误信息bzero(/将监听地址与用于监听的套接字绑定,绑定失败时打印错误信息if(listen(listedfd,BACKlOG)0)fprintf(stderr,“转换套接字为监听套接字!”);exit(1);/将用于监听的套接字由普通套接字转化为监听套接字for(;)connfd (5) ;/从监听套接字的连接队列中接收已经完成的连接,并创建新的连接套接字if(connfd0
5、)fprintf(Stderr,“接收连接失败!“);exit(1);/接收失败打印错误信息serv_respon(connfd);/运行服务器的处理函数close(connfd);/关闭连接套接字dose(listenfd); /关闭监听套接字服务器通信部分:#includeVoid serv_respon(int sockfd)Int nbytes;char bur1024;for(;)nbytesread_requ(Sockfd,bUr,1024);/读出客户机发出的请求,并分析其中的协议结构,获知请求的内容部分的长度,并将内容复制到缓冲区buf 中,if( (6) )return;/如
6、客户机结束发送就退出else if(bytes0)fprintf(Siderr,“读错误情息:%S/n“,strerror(errno);return;/读请求错误打印错误信息if(wnte-all(sockfd,buf,nbytes)0)/将请求中的内容部分反向发送回客户机fprintf(siderr,“写错误信息:%s/n“,strerror(errno);int read_requ(int sockfd,char * buf int size)Char inbuf256;int n;int i;iread_line(sockfd,inbUf,256);/从套接字接收缓冲区中读出一行数据,
7、该数据为客户请求的首部if(1O)return(i);else if(i0)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 int offset0;static int size0;static char buff1024;/声明静态变量,在 get_char 多次被调用期间,该变量的内存不释放for
8、(;size0 (8) ;)sizeread(fd,bur,1024);/一次从套接字缓冲区中读出一个数据块if(size0)if(errnoEINTR)size0;contine;/EINT 日表示本次读操作没有成功,但可以继续使用该套接字读出数 ielsereturn(-1);offset0;/读出数据后,将偏址置为 0*ch:bufoffset+);/将当前的字符取出,并将偏址移向下一字符return(1);int read_line(int fd,char * buf,int msxlen)int i, n;Char ch;for(i0;i (9) )nget_char(fd,else
9、 if(n)return(-1);else break;bufi/0;return(i);/函数 read_line 的作用是读出请求的首部,其处理的方法是每次调用 get_char 函数,取出一个字符,检查该字符是否是回车符/n,如果是回车符,就返回请求的首部/get_char 的处方式较为特殊,并不是每次调用 read 函数读一个字符,而是一次从缓冲区中读一块内容,再一欠一个字符提交给函数 read_line,如果提交完了就再读一块,这样就可以提高读缓冲区的效率。另外,由于客户机是分两次调用 writ_all 函数将请求的首部和内容发送给服务器,因此 get_char 不会取出请求内容部分
10、的字符部分SOCKET 数据结构与函数:1地址结构。sockaddr_in: sockaddr_in 类型的结构定义,sockaddr_in 是通用套接字结构 sockaddr 在 TcP/IP 协议下的结构重定义,为 TCP/IP 套接字地址结构。Struct sockaddr_inshort int sin_family;/地址类型 AF_XXX,其中 AF_INET 为 TCP/IP 专用 unsigned short int sin_port;/端口号struct in_addr sin_addr;/lnternet 地址/端口号以及 tnternet 地址使用的是网络字节顺序,需要通
11、过函数 htons 转换struct_inaddr-u32 s addr;/类型为 unsignel longhostent:hostent 类型的结构定义struct hostnetchar * h_name; /主机的正式名称char * * h_aliases; /别名列表nit h_addrtvPe; /主机地址类型:AF_XXXint h_length; /主机地址长度:4 字节(32 位)char * * h_addr_list; /主机 IP 地址列表#define h_addr h_addr_list02基本函数。int socket(int domain,inttype,in
12、t protocol);函数 socket 创建一个套接字描述符,如果失败则返回-1。domain 为地址类型,type 为套接字类型,本题中为 SOCK_STREAM;protocol 指定协议,本题中为 0。int connect(int sockfd,struct sockaddr * servaddr,int addden);函数 connect 与服务器建立一个连接,成功返回 0,失败返回-1。servaddr 为远程服务器的套接字地址,包括服务器的 IP 地址和端口号;addrlen 为地址的长度。int read(intfd,char * bur,intlen);int writ
13、e(int fd,char * buf,intlen);函数 read 和 write 从套接字读和写数据,成功返回数据量大小,否则返回-1。buf 指定数据缓冲区,len指定接收或发送的数据量大小。int bind(int sockfd,struct,sockaddr * myaddr,int addrlen);函数 bind 将本地地址与套接字绑定在一起,成功返回 0,否则返回-1;myaddr 是本机地址;addrlen 为套接字地址结构的长度。int listen(int sockfd,int backlog);函数 listen 将一个套接字转换为倾听套接字,成功返回 0,否则返回-
14、1;backlog 为请求队列的最大长度。int accept(int sockfd,stmct sockaddr * addr,int * addrlen);函数 accept 从倾听套接字的完成连接中接收一个连接,如果完成连接队列为空,那么这个进程睡眠,失败时返回-1,成功时返回新的套接字描述符。Sockfd 为倾听套接字,addr 为客户机的地址,addlen 为地址长度,在调用时用常量 NULL 代替 addr 与 addlen 表示无须取出客户机的地址信息struct hostent * gethostbyname(const char * hostname);函数 gethostb
15、yname 查询指定的域名地址对应的 IP 地址,返回一个 hostent 结构的指针,如果不成功返回 NULL。3用户自定义函数。int read_all(int fd,void*bur,int nbyte);函数 read all 从参数 fd 指定的套接字描述符中读取 nbytes 字节数据至缓冲区 buf 中,成功返回实际读的字节数(可能小于 nbyte),失败返回-1。int write_all(int fd,void * bur,int nbyte);函数 write_all 向参数 fd 指定的套接字描述符中写入缓冲区 buf 前 nbyte 字节的数据,成功返回实际写的字节数(
16、始终等于 nbyte),失败返回-1。write_requ 函数为客户机发送请求的函数;read_requ 函数为服务器获取请求的函数。(分数:-1.00)_三、试题三(总题数:1,分数:-1.00)某公司下设 3 个部门,为了便于管理,每个部门组成一个 VLAN,公司网络结构如图 1 所示。(分数:-0.99)_四、试题四(总题数:1,分数:-1.00)若设置域名解析服务器,已知该文件服务器上文件 named.boot 的内容如下:Directory/var/namedCache named.rootPrimary0.0.127 in-addr.arpa named.localPrimary
17、 .hostsPrimary 58.112.202.in-addr.arpa .revSecondary edu.Cn 202.112.0.33 .2ndForward 202.112.0.35回答以下问题。1.给出域名解析的两种方案。(分数:-1.00)_五、试题五(总题数:1,分数:-1.00)2.网络地址转换(NAT)的主要目的是解决 IP 地址短缺问题以及实现 TCP 负载均衡等。在如图 2 所示的设计方案中,与 Internet 连接的路由器采用网络地址转换。请根据路由器的 NAT 表和图 2 中给出的网络结构、IP 地址,简要叙述主机 B 向内部网络发出请求进行通信时,边界路由器
18、实现 TCP 负载均衡的过程。表 2 路由器的 NAT 表协议 内部局部地址及端 口号 内部全局 IP 地址及端口号 外部全局 IP 地址及端口号TCP 10.1.1.1:80 10.1.1.127:80 172.20.7.3:3058TCP 10.1.1.2:80 10.1.1.127:80 172.20.7.3:4371TCP 10.1.1.3:80 10.1.1.127:80 172.20.7.3:3062(分数:-1.00)_中级网络工程师下午试题-80 答案解析(总分:-4.98,做题时间:90 分钟)一、试题一(总题数:1,分数:-1.00)单位分得合法 IP 地址 202.112
19、.68.40 掩码为 255.255.255.248,其中,路由器的外口和 ISP 之间占据了2 个。112.68.41 和 202.1.12.68.41,掩码为 255.255.255.252,则可供使用的合法 IP 还有多少哪些?请写出。(分数:-0.99)_正确答案:(还可用的有 202.112.68.44/29,202.112.68.45/29,202.112.68.46/29)解析:_正确答案:(2 种网络接法:(1)主机接一块网卡绑定两个不同子网的地址,运行代理软件,内部网络将网关设置指向该主机。(2)主机插 2 块网卡,分别连接内外网,主机起到网关和地址转换作用。两种接法比较:(
20、1)中方案若内网盗用主机合法 IP 可以绕过主机 (2)不能绕过主机。)解析:_正确答案:(0.0.0 或 172.16 直 172.31 或 192.168.0 至 192.168.255)解析:二、试题二(总题数:1,分数:-1.00)1.网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。一般发起通信请求的应用程序称为客户软件,该应用程序通过与服务器进程建立连接,发送请求,然后等待服务器返回所请求的,内容。服务器软件一般是指等待接收并处理客户机请求的应用程序,通常由系统执行,等待客户机请求,并且在接收到请求之后,根据请求的内容,向客
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 中级 网络工程师 下午 试题 80 答案 解析 DOC
