2011年网络工程师考试考前密卷(三)-下午试题
-
●试题四
请阅读以下说明和Socfort程序,将应填(n)处的字句写在答题纸的对应栏内。
【说明】
网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。
以下是一个简单的客户机程序(服务器程序略),其工作过程非常简单:客户机与服务器建立连接后,接收服务器向客户机返回的一条消息。
程序中用到了两种结构hostent与sockaddr_in:
hostent类型的结构定义如下:
struct hostent { char*h_name;//主机的正式名称
char**h_aliases;//别名列表
int h_addrtype;//主机地址类型:AF-XXX
int H_length;//主机地址长度:4 B(32 b)
char**h_addr_list;//主机IP地址列表}
#define h-addr h-addr-list[0]
sockaddr_in类型的结构定义:sockaddr_in是通用套接字结构sockaddr在TCP/IP协议下的结构重定义,为TCP/IP套接字地址结构。
Struct sockaddrin{
short int sin-family;//地址类型AF_XXX,其中AF_INET为TCP/IP专用
unsigned short int sin-port;//端口号
struct in_addr sin_addr;//Internet地址
//端口号以及Internet地址使用的是网络字节顺序,需要通过函数htons转换
}
struct iN_addr{
_u32 s-addr;//类型为unsignel-long
}
程序中使用到了多个函数:
struct hostent * gethostbyname(const char* hostname);
函数gethostbyname查询与指定的域名地址对应的IP地址,返回一个hostent结构的指针,如果不成功则返回NULL。
int_socket(int domain,im-type,int protoco1);
函数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*buf,int len);
函数read和write从套接字读和写数据,成功返回数据量大小,否则返回-1。buf指定数据缓冲区,len指定接收或发送的数据量大小。
【Socket程序】
//程序中引用的头文件略
#definePORT 3490
//定义端口号为3490
int main(int argc,char*argv[])
{int sockfd,nbytes;//套接字描述符、读入缓冲区的字节数
char buf[1024];//缓冲区
struct hostent*he;//主机信息类型
struct (1) srvaddr;//Internet套接字结构
if(argc!=2)
{perror("调用参数为零,请输入服务器的主机名!\n");exit (1) ;}
if( (2) )//如果通过主机名没有获得对应的主机信息就提示用户
{perror("无法通过主机名获得主机信息!\n");exit (1) ;}
if( (3) ) //在无法创建套接字时,提示用户
{perror("无法创建套按字!\n");exit (1) ;}
bzero(&srvaddr, (4) );//置空srvaddr
sraddr,sin_family=AF_INET;
srvaddr,sin_port:htons(PORT);srvaddr.sin_addr: (5) ;
//设置套接字结构的各项信息,其中的地址来自域名查询后的hp变量
if(connect(sockfd,(n) ,sizeof(struct sockaddr))==-1)
{perror("连接失败!\n");exit (1) ;}
//连接服务器,如果失败则提示用户
if((nbytes=read(sockfd,buf,MAXDATASIZE))=-1)
{perror("读失败!\n");exit (1) ;}
//从套接字中读出数据
buf[nbytes]=\0;
printf("读到的内容:%s",buf);
close(sockfd);
//打印数据并关闭套接字
}
-
●试题五
某单位有一个100台机器的大机房,要实现每一台计算机都上网,一般认为,用代理是一个办法,但是工作量比较大,要为每一台机器分别安装客户端软件,而且还要设置IP地址、网关、DNS服务器等。此外,还有一个不错的方法,那就是建立NAT服务器,在服务器上配置DNS和DHCP服务器,每个工作站只要做简单的设置就能自动接入Internet了,同时还能让网外的计算机直接访问内部网的特定计算机。
试简述如何组建局域网"NAT"服务器
-
●试题二
PPP(Point-to-Point Protocol)是SLIP(Serial Line IP protocol)的继承者,它提供了跨过同步和异步电路实现路由器到路由器(router-to-router)和主机到网络(host-to-network)的连接。
CHAP(Challenge Handshake Authentication Protocol,挑战-握手验证协议)和PAP(Pass-word Authentication Protocol,口令验证协议)通常被用于在PPP封装的串行线路上提供安全性认证。使用CHAP和PAP认证,每个路由器通过名字来识别,可以防止未经授权的访问。
路由器Router1和Router2的S0口均封装PPP协议,采用CHAP做认证,如图1所示。
设置如下:
Router1:
hostname router1
username router1 password xxx
interface Serial0
ip address 192.200.10.1 255.255.255.0
encapsulation ppp
clockrate 1000000
ppp authentication chap
!
Router2:
hostname router2
username router2 password xxx
interface Seria10
ip address 192.200.10.2 255.255.255.0
encapsulation ppp
ppp authentication chap
[问题1]上述配置中是否有问题?请指出并说明理由。
[问题2]解释配置中画线部分内容含义?
-
●试题三
下面是某路由器的部分配置信息,解释标有下划线部分的含义,将解答填入答题纸的对应栏内。
【配置路由器信息】
Current configuration:
!
hostname router1
isdn switch-type basic-net3 第 (1) 处
!
interface Ethernet0
ip address 10.0.0.1 255.255.255.0
ip nat inside 第 (2) 处
!
interface bri0
ip address negotiated 第 (3) 处
ip nat outside
encapsulation ppp
pppauthentication pap callin 第 (4) 处
ppp multilink 第 (5) 处
dialer-group 1
dialer string 2633
ppp pap sent-username 263 password 263 第 (6) 处
ip route 0.0.0.0 0.0.0.0 bri 0
access-list 2 permit any 第 (7) 处
dialer-list 1 protocol ip permit 第 (8) 处
ip nat inside source list 2 interface bri 0 overload 第 (9) 处
…
End
-
● 试题一
阅读以下有关传统局域网络运行和维护的叙述,将应填入(n)处的字句写在答题纸的对应栏内。
在对网络运行及维护前首先要了解网络,包括识别网络对象的硬件情况、判别局域网的拓扑结构和信道访问方式、确定网络互联以及用户负载等。常见的3种拓扑结构是星形、 (1) 与 (2) 拓扑结构,而常见的信道访问方式有 (3) 及 (4) 。
网络配置和运行包括一系列保证局域网络运转的工作,主要有:选择网络操作系统和网络连接协议等;配置网络服务器及网络的外围设备,做好网络突发事件预防和处理;网络安全控制,包括网络安全管理、网络用户权限分配以及病毒的预防处理等。配置网络过程中要做好数据备份工作,一般来说,备份的硬件设备包括 (5) 、磁带和 (6) ,而利用磁盘备份的方法常用的是磁盘镜像 (7) 以及磁盘阵列,其中前两者的区别在于 (8) 。
网络维护是保障网络正常运行的重要方面,主要包括 (9) 、网络日常检查及网络升级。一定要建立起维护日志制度,记录网络运行和变更的情况,以保证维护经验的交流与延续。