试题二 阅读以下有关网络规划的叙述,回答问题1、问题2和问题3,把解答填入答题纸的对应栏内。 网络工程是一项复杂的系统工程,一般可分为网络规划、网络设计、工程实施、系统测试验收和运行维护等几个阶段。网络规划是在需求分析的基础上,进行系统可行性分析和论证,以确定网络总体方案。网络规划阶段任务完成之后转入下一阶段,即网络设计阶段。
[问题1] 简述网络规划阶段需求分析的方法和解决的问题。 (控制在100个字以内)
[问题2] 在网络规划阶段“系统可行性分析和论证”的主要内容是什么?(控制在100个字以内)
[问题3] 在需求分析过程中应对已有网络的现状及运行情况作调研,如果要在已有的网络上作新的网络建设规划,如何保护用户已有投资? (控制在100个字以内)
试题三 阅读以下有关网络设计的叙述,分析网络结构,回答问题1、问题2和问题3,把解答填入答题纸的对应栏内。 某企业从 20 世纪 50 年代中期开始使用 pc机,历经 3+ 网络、 novell网络的应用,后着手组建企业网络。经过需求分析和论证,设计出如下网络方案。
【问题1】 该企业网络的核心层采用了 atm 技术,由三台 atm 交换机互联构成。试对 atm 网络技术的主要特点、协议分层结构和优点作简要叙述。(控制在 100 个字以内)
【问题2】 pc1~pc4 按 100mbps 的以太网协议运行,pc1 和 pc2 划分在一个虚拟网之中(vlan1),pc3 和 pc4 划分在另一个虚拟网之中(vlan2),试述 pc1 和 pc2 之间 ip 包通信的全过程。(控制在100个字以内)
【问题3】 图中用了两台路由器,router1,和 router2,简述路由器的技术特点,并说明 router1 和 router2 在本网中的作用。(控制在100个字以内)
试题四 阅读以下有关网络设备安装与调试的叙述,分析设备配置文件,回答问题 1、问题 2 和问题 3,把解答填入答题纸的对应栏内。 现以一台远程访问服务器(ras,remote access server)cisco 2509、rj45 为例来说明。 第一步,准备安装与调试所需的设备,主要包括 ras---cisco 2509、rj45 直通线,rj45 转 9 针串口转换器、计算机。 第二步,硬件连接,rj45 直通线一头插入 cisco 2509 的 console 口,另一头接 rj45 转 9 针串口转换器,·再将转换器接到计算机的串口。 第三步,ras加电,在计算机上调用 windows 98 下的超级终端程序,配置设备连接参数,以便进入cisco 设备的虚拟操作台。 第四步,输入 cisco 2509 的 ios 配置命令。 第五步,将调试完毕的设备连人本地网络,通过拨号验证配置是否正确。
【问题1】 在 ras 上存在着两个 rj45 的端口,分别为“console”与“aux”,请问这两个端口的用途是什么?(控制在100个字以内)
【问题2】 在调用超级终端程序进行设备连接时,应该对设备的连接参数进行正确设置,参数主要包括串口数据传输率、数据位数。停止位数以及是否有奇偶校验。清给出正确的连接参数,以便进入 cisco 设备的虚拟操作台,进行设备调试。 (控制在100个字以内)
【问题3】 在第四步中,进入虚拟操作台后,在 ios 环境下输入了如下的配置,请解释【1】~【4】处的标有下划线部分配置命令的含义(“◇”后为配置内容,“★”和“//”后为注释内容) ★ 配置服务器信息 ◇ hostname cisco 2509 //服务器名称 ◇ enable secret //特权口令 ◇ //设置拨号服务器所属域名 ◇ ip-name-server 202.112.77.2 //设置拨号服务器 dns 【1】 (此处有3条下划线) ◇ async-bootp subnet-mask 255.255.255.0 ◇ async-bootp gateway 202.112.77.254 ◇ async-bootp dns-server 202.112.77.2★ 配置ethenlei port (略) ......★ 配置动态分配的地址池 ◇ ip local pool pool2509 202.112.79.1 202.112.79.8 //定义 ip 地址池★ 配置 asynchronous interface //异步口是 ras 服务器上连接 modem,用于用户拨号的端口 ◇ interface group-async 1 //对第一组异步接口进行配置,对异步口的配置可以按 组,也可以按单个口 group-range 1 8 //划定 1 到 8 号异步口属于第一组 encapsulation pap //加载点到点协议 【2】 (此处有2条下划线) ansync dynamic address ansync default address pool pool2509 //pool2509的定义见“配置动态分配的地 址池”部分 ppp authentication pap //设置 ppp 的验证方式为用户口令方式★ 配置 router 信息 【3】 (此处有3条下划线) ◇ router rip network 202.112.77.0 network 202.112.79.0★ 配置拨号服务器的缺省路由 (略) ......★ 配置存取用户组 ◇ access-list 1 pormit 202.112.77.0.0.0.255 //定义用户组的范围★ 配置asynchronous port (略)★ 配置 vty ◇ iine vty 0 4 //配置虚拟终端 【4】 (此处有3条下划线) access-class 1 in //access-class的定义见“配置存取用户组” pasword login
试题五
请阅读以下说明和socfort程序,将应填 __(n)__ 处的字句写在答题纸的对应栏内。【说明】 网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。 以下是一个简单的客户机程序(服务器程序略),其工作过程非常简单:客户机与服务器建立连接后,接收服务器向客户机返回的一条消息。 程序中用到了两种结构 hostent 与 sockaddr_in: hostent类型的结构定义 struct hostent { char *h_name ; //主机的正式名称 char * *h_aliases ; //别名列表 int h_addrtype ; //主机地址类型:af_ lnt h_length; //主机地址长度:4 字节(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_,其中 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,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 port 3490//定义端口号为 3490int main( int argc,char *argv[] ){ int sockfd,nbytes; //套接字描述符、读入缓冲区的字节数 char buf[1024]; //缓冲区 struct hostent *he; //主机信息类型 struct sockaddr_in srvaddr;//internet套接字结构 if ( __(1)__ ) { perror( "调用参数为零,请输入服务器的主机名!\n" ); exit(1);} if ( __(2)__ ) //如果通过主机名没有获得对应的主机信息就提示用户 { perror("无法通过主机名获得主机信息!\n" ); exit(1);} if ( __(3)__ ) //在无法创建套接字时,提示用户 { perror("无法创建套按字!\n" ); exit(1);} bzero( &srvaddr,sizeof(srvaddr));//置空 srvaddr srvaddr,sin_family = af_inet; srvaddr,sin_port:__(4)__ ;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) ; //打印数据并关闭套接字}