问答题故障2如何解决?
问答题下面以一台远程访问服务器(RAS)Cisco 2509、RJ45为例来说明。
第一步,准备安装与调试所需的设备。
第二步,硬件连接,RJ45直通线一头插入Cisco 2509的console口,另一头接RJ45转9针串口转换器,再将转换器接到计算机的串口。
第三步,RAS加电,调用超级终端程序进行设备连接,进入Cisco设备的虚拟操作台。
第四步,输入Cisco 2509的IOS配置命令。
第五步,将调试完毕的设备连入本地网络,通过拨号验证配置是否正确。
问答题【说明】某网络结构如图2.1所示,如果Router3与网络4之间的线路突然中断,按照RIP路由协议的实现方法,路由表的更新时间间隔为30秒,中断30秒后Router2的路由信息表2.1和中断300秒后Router2的路由信息表2.2如下。注:①若到达目的网络不需转发或目的网络不可达,用“一”来表示“下一站地址”;②当目的网络不可达时,“跳数”为16。{{B}}表2.1{{/B}}目的网络下一站地址跳数112.0.0.0(1)(2)210.0.0.0-0172.0.0.0-0202.0.0.0(3)(4) {{B}}表2.2{{/B}}目的网络下一站地址跳数112.0.0.0210.0.0.11210.0.0.0(5)(6)172.0.0.0(7)(8)202.0.0.0(9)(10)【问题】1.请填充中断30秒后Router2的路由信息表1。2.请填充中断300秒后Router2的路由信息表2。
问答题试题三(共20分)阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。【说明】某企业采用WindowsServer2003配置了DHCP、DNS和WEB服务。
问答题网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。本题中的程序,客户机接收用户在键盘上输入的文字内容,服务器将客户机发送来的文字内容直接返回给客户机。
此程序中,用户自定义函数有:
int read_all( int fd, void*buf, int nbyte );
函数read all从参数fd指定的套接字描述符中读取nbytes字节数据至缓冲区buf中,成功返回实际读的字节数(可能小于nbyte),失败返回-1。
int write_all( int fd, void*buf, int nbyte );
函数write_all向参数fd指定的套接字描述符中写入缓冲区buf前nbyte字节的数据,成功返回实际写的字节数(始终等于nbyte),失败返回-1。
write_requ函数为客户机发送请求的函数;read_requ函数为服务器获取请求的函数
服务器主程序部分:
#define SERVER_PORT 8080 //服务器监听端口号为8080
#define BACKLOG 5 //连接请求队列长度
int main( int argc, char*argv[]) {
int listenfd, connfd //监听套接字、连接套接字描述符
struct sockaddr_in servaddr; //服务器监听地址
listenfd={{U}}(1){{/U}}; //创建用于监听的套接字
if (listenfd<0) {
fPrintf( stderr,"创建套接字错误!");
exit(1);
} //套接字创建失败时打印错误信息
bzero(//将地址结构置空
servaddr.sin_family=AF_INET;//设置地址结构遵循TCP/IP协议
servaddr.sin_addrs_addr=htonl.{{U}}(2){{/U}};//设置监听的IP地址为任意合法地址,并将该地址转换为网络字节顺序
servaddr.sin_port={{U}}(3){{/U}};//设置监听的端口,并转化为网络字节顺序
if ( bind{{U}}(4){{/U}}<0 ) {
fprintf( stderr,"绑定套接字与地址!");
exit(1);
} //将监听地址与用于监听的套接字绑定,绑定失败时打印错误信息
if ( listen( listedfd, BACKLOG)<0) {
fprintf( stderr,"转换套接字为监听套接字!");
exit(1);
} //将用于监听的套接字由普通套接字转化为监听套接字
for(;){
connfd={{U}}(5){{/U}};
//从监听套接字的连接队列中接收已经完成的连接,并创建新的连接套接字
if(connfd<0){
fprintf(stderr,"接收连接失败!");
exit(1);
} //接收失败打印错误信息
serv_respon(connfd); //运行服务器的处理函数
{{U}}(6){{/U}};//关闭连接套接字 }
close(listenfd);//关闭监听套接字 }
服务器通信部分:
#include<stdio.h>
……//引用头文件部分略>
void serv_respon( int sockfd) {
int nbytes; char buf[1024];
for(;;) {
nbytes=read_requ(sockfd, buf, 1024);
//读出客户机发出的请求,并分析其中的协议结构,获知请求的内容部分的长度,并将内容复制到缓冲区buf中,
if ( nbytes=0) return;//如客户机结束发送就退出
else if ( bytes<0 ) {
fprintf( siderr,"读错误情息:%s/n", sterror( errno ));
return;
}//读请求错误打印错误信息
if ( write_all ( sockfd, buf, nbytes)<0)
//将请求中的内容部分反向发送回客户机
fprintf( siderr,"写错误信息:%s/n", strerror( errno ) );
}
}
int read_requ( int sockfd, char*buf int size ) {
char inbuf[256];
int n; int i;
i=read_line( sockfd, inbuf, 256 );
//从套接字接收缓冲区中读出一行数据,该数据为客户请求的首部
if(1<O)return(1);
else if ( i=0 ) return(0);
if ( strncmp( inbuf,"",6 )=0)
sscanf( {{U}}(7){{/U}},"%d", //从缓冲区buf中读出长度信息
else{
sprintf( buf," ",14 );
return(14);
}//取出首部Length域中的数值,该数值为内容部分的长度
return( read_all( sockfd, buf, n ) );//从接收缓冲区中读出请求的内容部分
}
int get_char(int fd, char*ch) {
static int offset=0;
static int size=0;
static char buff[1024];
//声明静态变量,在get_char多次被调用期间,该变量的内存不释放
for ( ;size<=0 ||{{U}}(8){{/U}};) {
size=read(fd,buf,1024);//一次从套接字缓冲区中读出一个数据块
if ( size<0 ) {
if ( errno=EINTR ) {
size=0;
confine;
//EINTR表示本次读操作没有成功,但可以继续使用该套接字读出数i
}else
return(-1);
}
offset=0;//读出数据后,将偏址置为0
}
*ch=buf[{{U}}(9){{/U}}];//将当前的字符取出,并将偏址移向下一字符
return(1);
}
int read_line(int fd, char*buf, int maxlen) {
int i,n;
char ch;
for ( i=0; i<maxlen;) {
n = get_char( fd, //取出一个字符
if ( n==1 ){
buff[i++]=ch;//将字符加入字符串中
if ( {{U}}(10){{/U}} break;
}else if ( n< ) return(-1);
else break;
}
buf[i]='/0';
return(i);
}
//函数read_line的作用是读出请求的首部,其处理的方法是每次调用get_char函数,取出一个字符,检查该字符是否是回车符‘/n’,如果是回车符,就返回请求的首部。
//get_char的处理方式较为特殊,并不是每次调用read函数读一个字符,而是一次从缓冲区中读一块内容,再一次一个字符提交给函数read_line,如果提交完了就再读一块,这样就可以提高读缓冲区的效率。另外,由于客户机是分两次调用writ_all函数将请求的首部和内容发送给服务器,因此get_char不会取出请求内容部分的字符。
问答题【说明】本机有三个IP地址,分别为“192.168.0.168”、“192.168.0.165”和“192.168.0.162”。现需要建立三个相互独立的虚拟邮件主机“163.net”、“163.com”和“363.net”。采用的配置思路是,首先在DNS管理器中将三个域名分别对应到三个不同的IP地址上;再在IMail管理器中将各IP地址所对应的虚拟邮件主机名改成相应的域名即可。设定为:“163.net”对应“192.168.0.168”;“163.com”对应“192.168.0.165”;“363.net”对应“192.168.0.162”。打开DNS管理器,建立相关的DNS记录。结果如图2.7所示:【问题】请完善IMail的设置。1、打开IMail管理器:选“开始→程序→________”。2、进入虚拟主机配置窗口:选“localhost→右键→________”。3、配置“163.net”:在“LocalAddresses”(地址列表)中选中“________”,再将“OfficialHostName”(主机名)项改为“________”,最后按“Save”保存。4、配置“163.com”:在“LocalAddresses”(地址列表)中选中“________”,再将“OfficialHostName”(主机名)项改为“________”,然后把“TopDirectoryName”(主目录)项改为一个新目录名(会自动建立),最后按“Save”保存。5、配置“363.net”:在“LocalAddresses”(地址列表)中选中“________”,将“OfficialHostName”(主机名)项改为“________”,然后把“TopDirectoryName”(主目录)项改为一个新目录名(会自动建立),最后按“Save”保存后用“Exit”退出。6、设置完成之后,关闭IMail管理器,再重新打开。
问答题【说明】某公司下设三个部门,为了便于管理,每个部门组成一个VLAN,公司网络结构如图2.3所示。
问答题
阅读以下说明,回答问题1至问题4。 【说明】
某小公司的网络拓扑如图1.1所示。其中路由器具有ISDN模块,公司网络通过ISDN连接到ISP。
问答题【说明】
以下是客户机/服务器模型中的一个简单的客户机程序(服务器程序略),其工作过程非常简单:客户机与服务器建立连接后,接收服务器向客户机返回的一条消息。
程序中用到了两种结构hostent与sockaddr_in:
hostent类型的结构定义
struct hostent { char*h_name; //主机名称
char**h_aliases; //别名列表
int h_addrtype; //主机地址类型: AF_XXX
int H_length; //主机地址长度: 32位
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_addrsin_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, int_type, int protocol);
函数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*buf, int len);
int write( int fd, char*buf, int len);
函数read和write从套接字读和写数据,成功返回数据量大小,否则返回-1。buf指定数据缓冲区,len指定接收或发送的数据量大小。
【socket程序】
#define PORT4490
//定义端口号为4490
int main( int argc, char*argv[ ])
{
int sockfd, nbytes; //套接字描述符、读入缓冲区的字节数
char buf[1024]; //缓冲区
stmct hostent*he; //主机信息类型
struct sockaddr_in srvaddr; //Internet套接字结构
if {{U}}(1){{/U}}
{perror("调用参数为零,请输入服务器的主机名!/n");exit(1); }
if {{U}}(2){{/U}}
{perror("无法通过主机名获得主机信息!/n");exit(1); }
if {{U}}(3){{/U}}
{perror("无法创建套按字!/n");exit(1); }
bzero( //置空srvaddr
srvaddr, sin_family=AF_INET;
srvaddr, sin_port: {{U}}(4){{/U}}; srvaddr.sin_addr: {{U}}(5){{/U}};
if(connect(sockfd, {{U}}(6){{/U}}, sizeof( struct sockaddr))=-1)
{perror("连接失败!/n");exit(1); }
//连接服务器,如果失败则提示用户
if(( nbytes=read ( sockfd, buf, MAXDATASIZE))=-1)
{perror("读失败!/n");exit(1); }
//从套容接字中读出数据
buf[nbytes]='/0';
prinff("读到的内容:%s", buf);
close( sockfd);
//打印数据并关闭套接字
}
问答题阅读以下说明,回答下面问题。网络地址转换(NAT)是用于将一个地址域(如:专用Intranet)映射到另一个地址域(如:Inter-net)的标准方法。NAT允许一个机构专用Intranet中的主机透明地连接到公共域中的主机,无需内部主机拥有注册的(以及越来越缺乏的)Internet地址。Internet工程任务组意识到目前地址空间(即所谓的IPv4)即将会耗尽已经有近十年时间了。尽管即将出现的IPv6被视作为解决Internet不断发展的长期解决方案,但是在过去几年中还提出了其它一些短期解决方案。下面我们结合本站有关思科及微软关于NAT方面的文章为大家介绍这方面的资讯,更多更丰富的相关方面内容我们将在以后日子里进行补充。使用NAT设备进行Internet通信的网络示例。
问答题【说明】ISDN的提出最早为了综合电信网的多种业务网络。由于传统通信网是业务需求推动的,所以各个业务网络如电话网、电报网和数据通信网等各自独立且业务的运营机制各异,这样对网络运营商而言运营、管理、维护复杂,资源浪费;对用户而言,业务申请手续复杂、使用不便、成本高;同时对整个通信的发展来说,这种异构体系对未来发展适应性极差。于是将话音、数据、图像等各种业务综合在统一的网络内成为一种必然,这就是综合业务数字网(IntegratedServicesDigitalNetwork)的提出。
问答题【说明】在atm(asynchronoustransfermode)传输模式中,信息被组织成信元,因包含来自某用户信息的各个信元不需要周期性出现,这种传输模式是异步的。由于atm技术简化了交换过程,去处了不必要的数据校验,采用易于处理的固定信元格式。lane指的是lanemulationoveratm,即在atm网上进行lan局域网的模拟。大多数数据目前都是lan上传送,例如ethernet等。在atm网上应用lane技术,我们就可以把分布不同区域网互联起来,在广域网上实现局域网的功能,对于用户来说,他们所接触到的仍然是传统的局域网的范畴,根本感觉不到lane的存在。lane技术主要用到了laneserver,它可以存在于一个或多个交换机内,也可以放在一台单独的工作站中,laneserver可简写成les,主要功能就是mac-to-atm的地址转换,因为ethernet用的是mac地址,atm用的自己的地址方案,通过les地址转换可以把分布在atm边缘的laneclient之间连接起来。atm网络在进行数据传输之前,在整个atm网络中建立一条虚拟电路。atm电路有两种类型:一种是虚拟路径,由虚拟路径标识符(vpi)表明;另一种是虚拟通道,由vpi和虚拟通道标识符等vci组合起来表明。虚拟路径是一组虚拟通道的集合,这些虚拟通道在普通的vpi的基础上通过atm网络进行透明交换。atm交换机通过一个已知vci或vpi上的链路接收一个信元;在局部译码表中找出相应的连接值,从而确定连接的引出端口以及链路上连接新vpi/vci值;用适合的连接标识符将信元转发到引出链路上。两种基本连接类型是:(1)永久虚拟连接(pvc)pvc是一种由网络管理等外部机制建立的连接,在这种连接方式中,处于atm源和目的atm系统之间的一系列交换机都被赋予适当的vpi/vci值。(2)交换虚拟连接(svc)。svc是一种由信令协议自动建立起来的连接,不需要进行手工配置。
问答题【说明】 某城市居民区要接入本区的主干网络,需要进行介入规划。此居民区的现有通信条件是:(1)电话线(2)电视铜缆。利用现在的通信资源,以下5种技术方案可供选择:(1)异步拨号(2)ISDN(3)ADSL(4)Cable Mode(5)无线扩频技术。
问答题阅读以下说明,回答下面问题。【说明】在规划企业级网络时,很有可能会遇到隶属于同一部门的用户分散在同一座建筑物中的不同楼层的情况,这时可能就需要考虑到如何跨越多台交换机设置VLAN的问题了。假设有如图2.4所示的网络,且需要将不同楼层的A、C和B、D设置为同一个VLAN。这时最关键的就是“交换机1和交换机2该如何连接才好呢?最简单的方法,自然是在交换机1和交换机2上各设一个红、蓝VLAN专用的接口并互联了。但是,这个办法从扩展性和管理效率来看都不好。并且,VLAN越多,楼层间(严格地说是交换机间)互联所需的端口也越来越多,交换机端口的利用效率低是对资源的一种浪费、也限制了网络的扩展。为了避免这种低效率的连接方式,人们想办法让交换机间互联的网线集中到一根上,这时使用的就是汇聚链接(TrunkLink)。
问答题阅读以下有关网络设计的叙述,分析网络结构,回答下面问题。
某公司从20世纪70年代中期开始使用PC机,曾使用NOVELL网络,现在要着手组建企业网络。经过需求分析和论证,设计出如下网络方案。
问答题阅读以下说明,回答下面问题。【说明】A公司用一台Web服务器和一台应用服务器来管理销售信息。销售人员在办公室时通过PC机来访问应用服务器,若在公司以外,则通过具有数据显示功能的移动电话或PDA(Personal-DigitalAssistant)访问公司网络。网络信息是通过Web服务器发布的。一般情况下,对于更新周期较长的信息,则应先将其从应用服务器下载到公司的PC机上,然后再通过远程访问PC机获取该信息。公司网络结构如图4.1所示:
问答题试题四(共15分)阅读以下说明,回答问题1和问题2,将解答填入答题纸对应的解答栏内。【说明】某公司有3个分支机构,网络拓扑结构及地址分配如图4-1所示。
问答题结构化布线成为网络设计和管理的首先考虑的问题,当实施结构化布线时,需要进行详细的规划设计。
问答题案例三阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。【说明】某公司的IDC(互联网数据中心)服务器Server1采用WindowsServer2003操作系统,IP地址为172.16.145.128/24,为客户提供Web服务和DNS服务;配置了三个网站,域名分别为www.company1.com、www.company2.com和www.company3.com,其中company1使用默认端口。基于安全的考虑,不允许用户上传文件和浏览目录。company1.com、company2.com和company3.com对应的网站目录分别为company1-web、company2-web和company3-web,如图3-1所示。
问答题阅读以下说明,回答问题1至问题4。【说明】某小公司的网络拓扑如图1.1所示。其中路由器具有ISDN模块,公司网络通过ISDN连接到ISP。
