淺談計算機網路協議棧實驗平臺的設計與實現論文
協議棧是指網路中各層協議的總和,其形象的反映了一個網路中檔案傳輸的過程:由上層協議到底層協議,再由底層協議到上層協議。使用最廣泛的是因特網協議棧。以下是小編今天為大家精心準備的:淺談計算機網路協議棧實驗平臺的設計與實現相關論文。內容僅供參考,歡迎閱讀!
淺談計算機網路協議棧實驗平臺的設計與實現全文如下:
計算機網路原理課程是計算機專業主幹課程之一,在專業教學體系中佔有非常重要的地位。計算機網路原理課程中,最重要的是對於協議棧的理解和掌握。目前,計算機網路原理課程均設定有實驗環節,實驗內容主要包括4 方面:①通過資料嗅探軟體——sniffer/winshark/Ethereal 等分析資料鏈路層、網路層和傳輸層協議;②利用網路模擬器如NS2 分析網路協議及其效能[1-2];③協議開發,即利用套接字程式設計進行應用層協議開發;④網路裝置配置實驗,包括交換機、路由器、伺服器等的配置,這些實驗都涉及協議。通過前兩類分析網路協議的實驗,學生可以觀察協議的內部原理、資料包的格式等基本理論知識,但是此類實驗屬於驗證性實驗,會令學生對於協議的具體應用仍然模糊,無法達到培養和鍛鍊學生設計新協議和獨立設計開發協議能力的目標。通過套接字程式設計實驗,學生可以開發新的應用層協議,但是仍然缺乏對底層協議的認知和運用。網路裝置配置實驗也有類似的問題。
目前,計算機網路原理實驗課程存在的主要問題是實驗的片段性和隔離性導致學生對知識點掌握得不完整、不繫統,不能形成有機的整體,不能將針對協議的學習成果應用於具體的協議棧設計,缺少對協議棧開發方法的整體理解。
基於上述問題,為了更好地培養學生綜合運用理論知識分析問題和解決問題的實踐能力,筆者結合華中科技大學文華學院計算機網路實驗教學的現狀,構建基於MSP430 的計算機網路協議棧實驗平臺,設計一套實驗方案,期望學生通過在實驗平臺上的操作,加深對協議棧的理解,提高分析協議棧的能力和實踐動手能力。
1 實驗平臺設計概述
嵌入式實驗平臺的硬體部分主要由MSP430和CS8900 網路介面晶片組成。平臺採用的微控制器是德州儀器公司TI的MSP430F149。這是功耗極低的Flash 型16 位RISC指令集微控制器,採用Crystal 公司的CS8900 作為太網介面晶片。CS8900 功耗低,控制簡單,可以直接和微控制器相連,通過微控制器的I/O 口對CS8900 進行控制。為擴充套件路由協議驗證模組,實驗平臺的MSP430F149 與兩片CS8900 連線。
2 實驗內容設計
2.1 實驗1 :Ethereal 資料包嗅探
對協議棧的學習和開發都離不開資料包嗅探軟體,Ethereal 是目前比較流行的協議分析軟體。計算機網路原理課程的第一個實驗是要求學生掌握Ethereal 軟體的用法,通過包嗅探軟體熟悉和掌握資料包的格式,為後續的複雜實驗打好基礎。這部分實驗可以在PC 機上完成。
實驗內容包括:①掌握Ethereal 軟體的使用方法;②掌握通過資料包嗅探進行協議分析的方法;③截獲典型資料包進行協議分析;④掌握一些經典協議PPP 協議、ARP 協議、ICMP 協議、Telnet 協議、TCP 協議和Smtp 協議並閱讀相應的RFC 文件。
2.2 實驗2 : 網路層IP 協議、ARP 協議、ICMP 協議的實現
在網路層實現IP 分組封裝,ARP 協議的實現是資料最終能夠到達目的地的保證;設計完成部分ICMP 協議;通過在接入段執行Ping 命令驗證實驗結果的正確性。
2.3 實驗3 :傳輸層TCP 協議的實現
根據TCP 有限狀態機實現TCP 協議可不考慮複雜的通訊環境,忽略傳送視窗、接受視窗、擁塞控制部分的實現。
2.4 Http 和Smtp 協議的實現
用HTML 寫一個簡單的Web 頁面,嵌入到實驗平臺,在平臺上實現Http 協議,以便區域網內其他終端可以通過Http 協議訪問實驗平臺。
在實驗平臺上實現Smtp 協議,使實驗平臺在啟動時或在某個事件驅動下完成向某個郵箱自動傳送郵件的過程。
3 實驗平臺擴充套件
3.1 簡單IPv6 協議
隨著嵌入式技術研究的深入發展,許多小型智慧電子裝置如智慧家電、智慧儀表等也接入到網際網路中,導致IPv4 地址空間明顯不足,而IPv6 協議解決了IPv4 公共地址空間耗盡的問題。IPv6 協議使得行動電話、PDA、汽車、儀表甚至個人都可以獲得多個公共IP 地址,並且IPv6 具有無狀態地址自動配置、內建安全性強、服務質量高等諸多優點,是嵌入式裝置進行網路互聯的較好選擇。實驗平臺可以實現簡單的IPv6協議棧,幫助學生理解IPv6 協議與IPv4 協議的異同。
1IPv6 協議棧的實現。
IPv6 協議棧的實現主要包括IPv6 模組和ICMPv6 模組。
由於實驗平臺資源有限,目前不考慮IPv6協議與IPv4 協議的相容問題,不支援IPv6 擴充套件報頭,不支援分片;測試執行在本地區域網,不涉及路由器;忽略MTU 探測決定路徑上的最大傳輸單元;將報文大小設定為小於乙太網最大傳輸單元,避免報文分片。
ICMPv6 模組具有IPv4 的ICMP 常用功能,可回送請求報文和回送應答報文,可在應用層進行ping6 操作,測試網路的連通性和IPv6 地址解析的正確性。IPv6 中的鄰節點發現過程是用一系列的報文和步驟確定鄰節點之間關係的過程。鄰節點發現取代了IPv4 中使用的ARP 報文、ICMP路由器發現和ICMP 重定向報文。鄰節點發現報文使用ICMPv6 的報文結構。
實驗平臺的鄰節點發現模組支援地址解析,省略了重複性探測和路由功能。程式設計在保證實現IPv6 協議棧基本功能的基礎上儘量減少程式碼複雜度,只考慮執行時的一般情況,忽略特殊情況需要的額外開銷。實現該協議棧的重要內容之一是正確處理資料流程,實驗平臺數據處理流程如下。
當網路上有終端主機要訪問嵌入式裝置時,主機在適當的介面上傳送多播幀,即IPv6主機發送多播鄰節點,請求報文發現鏈路上IPv6節點的鏈路層地址。鄰節點請求報文的多播地址是從目標IP 地址得到的。
這時必須正確設定網路介面晶片CS8900 地址濾波暫存器的值,以保證主機發送的多播鄰節點請求報文可以通過地址濾波器;實驗平臺收到鄰節點請求報文後,根據鄰節點請求報文的資訊,向報文傳送方——主機發送一個單播鄰節點公告報文,地址解析完畢;然後,實驗平臺根據TCP 狀態機的狀態完成相應處理過程,接收資料時,從網路介面晶片緩衝區讀取資料,依次提取:①乙太網幀頭資訊——用於儲存傳送方MAC 地址;② IPv6 頭資訊——提取IPv6 報文頭中下一個頭部的值。如果不是ICMPv6 和TCP 中的任何一個,就傳送ICMPv6 目的不可達報文;如果是ICMPv6,就進一步判斷;如果是REQUES 報文,就傳送REPLY 報文;如果是鄰居請求報文,則傳送鄰居宣告報文。因為實驗平臺的TCP/IP 連線是由主機發起的,所以嵌入式裝置不會接收到鄰居宣告報文。
實驗平臺採用TCP 方式傳送資料。嵌入式裝置不主動向主機發送資料,而是根據主機的請求傳送資料,根據主機發送的請求資料包得到目的地址相關資訊,將傳送的資料包送入傳送緩衝區,新增乙太網幀頭部、IPv6 資料報報頭、TCP報文段首部等資訊,更改相關標誌位,將資料送入鏈路層。網路介面晶片負責將資料傳送到網路。
2IPv6 協議棧的測試。
由於HTML 不支援使用文字形式的IPv6 地址格式作為URL通用地址,因此需要一臺執行Windows 2000 Server 的計算機作為DNS 伺服器,在DNS 伺服器中新增實驗平臺IPv6 地址的AAAA 記錄;同時需要正確配置測試區域網中主機的掩碼,閘道器以及DNS 伺服器。
測試在本地區域網進行,除上述DNS 伺服器外,其他主機執行Windows XP 或Windows2000 作業系統。每臺計算機都配置IPv4 地址、安裝IPv6 協議棧並配置IPv6 的鏈路本地地址。將嵌入式系統連入該網路,啟動系統,系統的IPv6 地址通過程式寫入其RAM 中,我們就可以通過該區域網內的一個網路終端訪問嵌入式系統的主頁。例如,在一臺計算機輸入“ping6 嵌入式裝置IPv6 地址”,如果網路沒有問題就可以返回資訊。在Http 的URL 中輸入嵌入式裝置對應的域名,就可以看到其主頁,這說明上述實驗環境可以使IPv6 協議棧得到較好的測試。
3.2 RIP 和OSPF 路由協議的實現
為了在實驗平臺上驗證RIP 和OSPF 路由協議,我們在實驗平臺上設計2 個網路介面。由於實驗平臺資源有限且路由協議實現複雜,我們僅搭建規模較小的網路拓撲。實驗平臺不設定接收緩衝區,不採用隨機早期檢測,僅實現RIP 路由協議和OSPF 路由協議。
4 結語
計算機網路協議分析與開發實驗一直是計算機網路實驗教學中的難點,如何讓學生通過實驗掌握協議分析與開發的精髓,具備協議分析與開發實踐能力,是此類實驗應重點關注的內容。基於msp430 的計算機網路協議棧實驗平臺可以開展專業相關的各種實驗,還可擴充套件進行IPv6 協議和RIP、OSPF 路由協議實驗。學生通過實驗可以重演TCP/IP 協議棧,也可獨立設計並開發類TCP/IP
的網路協議,對學生協議分析、設計和開發能力的提高有很大幫助。
金融學論文