2003年度軟考網絡設計師下午考試真題
試題一(10分)閱讀以下說明,回答問題1和問題2,將解答填入答題紙的對應欄內。[說明]某學校擬組建一個小型校園網,具體設計如下:1、設計要求(1)終端用戶包括:48個校園網普通用戶;一個有24個多媒體用戶的電子閱覽室;一個有48個用戶的多媒體教室(性能要求高于電子閱覽室)。(2)服務器提供web、dns、e-mail服務。(3)支持遠程教學,可以接入互聯網,具有廣域網訪問的安全機制和網絡管理功能。(4)各樓之間的距離為500米。2、可選設備設備名稱 數量 特 性交換機switchl 1臺 具有兩個l001]ase—tx端口和24個lobase—t端口交換機switch2 2臺 各具有兩個100m快速以太網端口(其中一個loobase—tx、一個l00base—fx)和24個10base—t端口交換機switch3 2臺 各配置2端口loobase—fx模塊、24個100 base—tx快速以太網端口交換機switch4 1臺 配置4端口loobase-fx模塊、24個100base-tx快速以太網端口:具有mib管理模塊。路由器routerl 1臺 提供了對內的10/100m局域網接口,對外的128k的isdn或專線連接,同時具有防火墻功能。3、可選介質 3類雙絞線、5類雙絞線、多模光纖。該校網絡設計方案如圖1所示: [問題1](7分)依據給出的可選設備進行選型,將(1) ~(5)處空缺的設備名稱填寫在答題紙相應位置(每處可選一臺或多臺設備)。[問題2](3分)將(6)~(8)處空缺的介質填寫在答題紙相應位置(所給介質可重復選擇)。 試題二(10分)閱讀以下說明,回答問題1和問題2,將解答填入答題紙的對應欄內。[說明]在一幢11層的大樓內組建一個局域網,該局域網的連接示意圖如圖2所示。[問題11(6分)指出上述解決方案存在什么問題?需要增加什么設備?如何連接?[問題2](4分)若在該局域網實現vlan,路由器將起什么作用? 試題三(10分)閱讀以下說明,回答問題,將解答填入答題紙的對應欄內。[說明]網絡地址轉換(nat)的主要目的是解決ip地址短缺問題以及實現tcp負載均衡等。在圖3的設計方案中,與internet連接的路由器采用網絡地址轉換。[問題]請根據路由器的nat表和圖3中給出的網絡結構、ip地址,簡要敘述主機b向內部網絡發出請求進行通信時,邊界路由器實現tcp負載均衡的過程。路由器的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 試題四(10分)閱讀以下說明,回答問題1至問題3,將解答填入答題紙的對應欄內。[說明]windows組網是指把windows終端和服務器連接起來。圖4給出了在windows操作系統中的典型lan配置。[問題1](3分)在osi參考模型中,netbios工作在哪一層?[問題2](4分)netbios包括哪些服務功能?[問題3](3分)windows組網中采用什么工具來實現域的創建和管理?在什么情況下需要設置“主域”? 試題五(10分)閱讀以下說明,將應填入__(n) __處的解答填寫在答題紙的對應欄內。[說明]某網絡結構如圖5所示,如果router3與網絡4之間的線路突然中斷,按照rip路由協議的實現方法,路由表的更新時間間隔為30秒,中斷30秒后router2的路由信息表1和中斷500秒后router2的路由信息表2如下。注:①若到達目的網絡不需轉發或目的網絡不可達,用“一”來表示“下一站地址”;②當目的網絡不可達時,“跳數”為16。 路由信息表1目的網絡 下一站地址 跳數10.0.0.0 __(1)__ __(2)__20.0.0.0 - 030.0.0.0 - 040.0.0.0 __(3)__ __(4)__路由信息表2目的網絡 下一站地址 跳數10.0.0.0 20.0.0.1 120.0.0.0 __(5)__ __(6)__30.0.0.0 __(7)__ __(8)__40.0.0.0 __(9)__ __(10)__[問題]1.請填充中斷30秒后router2的路由信息表1。2.請填充中斷500秒后router2的路由信息表2。 試題六(10分) 閱讀以下說明,回答問題1和問題2,將解答填入答題紙的對應欄內。[說明]vpn是通過公用網絡internet將分布在不同地點的終端聯接而成的專用網絡。目前大多采用ipsec實現ip網絡上端點間的認證和加密服務。[問題1](5分)某公司的網絡拓撲結構如圖6所示,采用vpn來實現網絡安全。請簡要敘述從公司總部主機到分支機構主機通過ipsec的通信過程。 [問題2](每空1分,共5分)某路由器的部分配置信息如下所示,請解釋其中標有下劃線部分的含義(“//”后為注釋內容)。*配置路由器信息version 12.0 //版本hostname secrouter//路由器名稱boot system flash c1700-osy56i-mz_120-3—t3.bin//應用ike共享密鑰進行認證//創建標識為“100”的ike策略crypto isakmp policy 100hash md5 (1)authentication pre-share (2)//與遠端ip為172.16.2.1的對等體的共享密鑰為“mcns”crypto isakmp key mcns address 172.16.2.1//配置名為l&2的交換集,指定esp-des和esp-md5-hmac兩種變換crypto ipsec transform—set l&2 esp—des esp—md5一hmac//配置加密圖//分配給該加密圖集的名稱:sharef,序號:10;//指定用ike來建立ipsec安全關聯,以保護由該加密圖條目所指定的數據流crypto map sharef 10 ipsec-isakmpset deer 172.16.2.1 (3)set transform-set l&2 (4)match address 151 //配置接口interface serial0ip address 172.16.1.1 255.255.255.252ip access-group 101 incrypto map sharef (5)interface fastethernet0end 試題七(15分)閱讀以下說明和java程序代碼,將應填入__(n) __處的字句寫在答題紙的對應欄內。[說明]1、smtp是發送e-mail的協議,常用以下5條命令發送e-mail:◆itelo<sp><domain><crlf>,與smtp服務器握手,傳送本機域名;◆mall<sp>from:<reverse-path><crlf>,傳送發信者的信箱名稱;◆rcpt<sp>t0:<forward-path><crlf>,傳送接收者的信箱名稱;◆data<crlf>,發送郵件數據e包括信頭和信體);◆quit<crlf>,退出與smtp服務器的連接。2、試題中直接利用的類及方法如下:(1)類serversocket(intport)實現tcp服務器插口(socket),它提供兩種構造函數,用它們來指定服務器插口所用的端口,并監聽到達的連接請求。類中的主要方法有:accept():啟動服務器插口監聽并等待,直到建立連接為止,一旦建立連接就返回socket類的一個對象。getlnetaddress():返回插口所連接的主機地址。getlocalport():返回在服務器插口上建立了連接的端口。close():關閉服務器插口。(2)類inetaddress包裝了internet地址。類中的主要方法有:getlocalhost():返回一個代表本機internet地址的inetaddress對象。getaddress():獲得數字表示的ip地址。gethostname():獲得域名。(3)類socket實現基于連接的客戶插口。類中的主要方法有:getlnetaddress():返回一個與插口連接的客戶機的internet地址,其類型為inetaddress。getlnputstream():用來訪問與插口相關的輸入流。getoutputstream():用來訪問與插口相關的輸出流。close():關閉插口。(4)readline()是輸入流類的一個方法,用于服務器或客戶從對方讀入一行輸入流信息。(5)用戶自定義類nvtinputstream(1nputstream instream,outputstream outstream)實現了網絡虛擬終端輸入接口。(6)用戶自定義類nvtoutputstream(0utputstreamoutstream)實現了網絡虛擬終端輸出接口。3、下面是用java語言實現的一個簡單smtp服務器程序的部分代碼。[程序代碼]import java, net.*;import java. io.*;import jdg. yan. nvtinputstream; //用戶自定義類包import jdg. yan. nvtoutputstream; //用戶自定義類包 public class smtpserverapp{public static void main(string args[]){smtpserver server=new $mtpservero;server, run 0;}} class smtpserver{static final int helo=1;static final int mail=2;static final int rcpt=3;static final int data=4;static final iht end data=5;static final iht quit=6;static final int finished=9;nvtoutputstream out;nvtinputstream in;string hostname; public smtpserver(){super();}public void run(){try {serversocket server=__(1)__; //在1145號端口建立tcp服務器插口int localport= server, getlocalport() ; //監聽連接端口hostname=__ (2) __; //獲取本地主機域名system. out. println (“listening on port”+ localport+”.”);boolean finished=false;do {socket client=__(3)__; // 監聽等待,直到建立連接,返回對象cllentstring destname=__(4)__ ; //獲得所連接的客戶主機ip地址的域名int destport=client, getport () ; //所連接的客戶主機端口號system. out.println(“accepted connection to “+destname+” on port “+destport+”.”//控制臺顯示連接out=new nvtoutputstream (client.getoutputstream());in=new nvtinputstream(__ (5) __); //建立與連接關聯的輸入流__(6)__ ; //接收郵件__(7)__ ; //關閉連接對象} while (! finished);}catch (unknownhostexception ex) {system.out. println (*unknownhostexception occurred.”); //出錯處理catch (ioexception ex) {system. out. println (“ioexception occurred.”);}}void getmail(){ //實現smtp的子集,從客戶接收郵件out. println(“server 220”+hostname+” ready!” ) ;int state =helo; //設置狀態為helo,state保存與客戶通信的狀態do { //接收并處理從郵件客戶接收到的命令string line=” ”;out.println(“server 250 helo , ok!”);try{line= __(8)__; //從虛擬終端讀取一行if (1ine==null ) state=finished;} catch(ioexception ex) {system. out. println (“server ioexception occurred.”);system. exit (1) ~}switch (state) {case helo:if (__(9)__) //若該行信息為傳送本機域名{out.println(“server 250 hello”):system.out.println(1ine);tate=mail;}else{out.println(“server 500 error”);system.out.println(*server*+line);}state:finished;break:case mall: //代碼省略case rcpt: //代碼省略case data:if(__(10)__) //若該行信息為發送郵件數據{out.println(“354 mail input:end with<crlf>.<crlf>”);system.out.println(1ine);state=end_data;}else{out.println(*500 error*);system.out.println(1ine);}break;case end data://代碼省略case quit: //代碼省略}}while(state!=finished);}//判斷客戶收到的命令是否與指定的命令字符串相匹配boolean commandis(string s,string line){int n=s.1ength();if(s.equalslgnorecase(1ine.substring(0,n)))return true;return false;}}