試題二 閱讀以下有關網路規劃的敘述,回答問題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_xxx 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_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,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) ; //列印數據並關閉套接字}