2010年软件水平考试网络工程师冲刺试题及答案(2)

2010年软件水平考试网络工程师冲刺试题及答案(2)
1、试题请阅读以下说明和Socfort程序,将应填(n)处的字句写在答题纸的对应栏内。[说明]网络应用的基本模型是客户机/服务器,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。以下是一个简单的客户机程序(服务器程序略),其工作过程非常简单:旷课户机与服务器建立连接后,接收服务器向客户机返回的一条消息。程序中用到了两种结构hostent与sockaddr_in;hostent类型的结构定义如下:
#
struct hostent}char·h_name://主机的正式名称
char··h_aliases;//别名列表
#
int h_addrtype;//主机地址类型:AF-XXX
#
int H_length;//主机地址长度:4B(32b) #
char··h_addr_list;//主机IP地址列表 #
#define h_addr h_addr_list[0]
sockaddr_in 类型的结构定义:sockaddr_in是通用套接字结构sockaddr在TCWIP协议下的结构重定义,为TCWIP套接字地址结构。
#
struct sockedorin
#
short int family;//地址类型AP_XXX, 其中AF_INET为TCP/IP专用 #
unsigned short int sin-port://端口号
#
struct in_addr sin_addr;//Intemet地址
#
//端口号以及Intemet地址使用的是网络字节顺序,需要通过函数htons转换; #
stuct in_addr!
_u32 s_addr; //类型为unsignel-long
#
程序中使用到了多个函数:struct hostent*gethostbyname(const char*hostname);函数gethostbyname查询与指定的域名地址对应的IP地址,返回一个hostent结构的指针,如果不成功则返回NULL。int_socket(int domain ,im-type,intprotocol);函数socket创建一个套接字描述符,如果失败返回一1。domain为地址类型,type为套接字类型,本题中为SOCK_STREAM;Protocol指定协议,本题中为0。int connect(int sockfd struct sockaddr*servaddr,int addrlen);函数connect与服务器建立一个连接,成功返回0,失败返回~1。servaddr为远程服务器的套接字地址,包括服务器的IP地址和端口号;addrlen为地址的长度。 #
int read(int fd, char*bur int len)
int write(int fd,char*bur int len)
#
函数read和write从套接字读和写数据,成功返回数据量大小,否则返回-1。buf指定数据患冲区,len指定接收或发送的数据量大小。 #
2、试题5某单位有一个100台机器的大机房,要实现每一台计算机都上网,一般认为,用代理是一个办法,但是工作量比较大,要为每一台机器分别安装客户端软件,而且还要设置IP地址、网关、DNS服务器等,每个工作站只要做简单的设置就能自动接入Intemet了,同时还能让网外的计算机直接访问内部网的待定计算机。试简述如何组建局域网“NAT”服务器。
3、输入输出系统主要采用三种方式与主机交换数据,对于这三种方式的描述正确的是(1) #
(1)A 程序控制方式最节省CPU #
B 中断方式最耗费CPU时间 #
C DMA方式在传输过程中需要CPU的查询
D 中断方式无需CPU主动查询和等待外设#p#副标题#e# #
4、在计算机指令系统中,通常采用多种确定操作数的方式。当操作数直接给出时,这种寻址方式叫作(2);当操作数的地址由某个指定的变址寄存器的内容与位移量相加得到时,叫作(3);如果操作数的地址是主存中与该指令地址无关的存储单元的内容,叫作(4);
#
(2)A 间接寻址
B 相对寻址 #
C 变址寻址
D 立即数寻址
(3)A 变址寻址 #
B 相对寻址
C 间接寻址 #
D 立即数寻址
(4)A 堆寻址
B 间接寻址 #
C 立即数寻址
#
D 相对寻址 #
5、存储器地址有很重要的作用,它的作用是(5) #
(5)A 便于按照地址编号读写连续的数据 #
B 作为存储器中不同数据字的惟一标志 #
C 便于程序连续存放 #
D 作为区分地址中的数据和指令的标志