基於Linux的網路試驗系統的設計(一)

火星人 @ 2014-03-12 , reply:0


   作者:wangzy
來自: 軟體屋-Linux之家


前 言

Linux是近一兩年來受人們比較關注的新生事物。它從一個大學生的課程設計變成了一個強大的操作系統,人們無不對它刮目相看。計算機產業的發展越來越快,現在正向著網路化高速地發展。Linux作為Internet的產物,更是代表著這一歷史的潮流。對Linux進行學習、研究及其應用開發已經勢在必行。

Linux不僅僅是代表著一個操作系統,而是代表著一個強大的有效的集成系統。在上面,我們不僅可以從事操作系統的研究,而且可以進行網路的應用;同時由於它也附帶了許多免費的開發系統,在上面開發自己的應用程序也是非常方便的和高效的。這一切的一切使我選擇了Linux,並且較早的投入到Linux的應用和開發上。

本實驗系統是基於Linux的網路實驗系統。在這個實驗系統設計中,由於是使用Linux,故一些配置比較煩瑣(在NT上只要幾下滑鼠就能解決的事也不例外)。但是正是這樣對一個又一個的文本配置文件的操作,我對一些伺服器設置的原理有了較低層的理解(對NT上為什麼要那麼做有更進一步的理解);同時由於Linux的程序的批處理能力很強,它上面的開發語言也十分強大,因而在實驗程序的開發上相對要容易的很多(這一點體現了Linux的強大功能),一些在NT上實現的比較困難的事反而在Linux卻很好的實現了。

本實驗系統實際上是設計了一個小的Intranet,在上面可以模擬Intenet的操作,同時也可以進行真實的Internet的操作。同時,由於它在Linux上實現,

對以後再開設其他相關的網路、操作系統、軟體工程、資料庫開發等實驗也是有很大用處的。





第一章 實驗的整體認識和設計


第一節 Linux簡介

Linux是一個類Unix的操作系統,它是由芬蘭赫爾辛基大學的學生Linus Torvalds於1991年創建並無私的在網際網路上發布,任何人只要遵守GPL版權,都可以免費使用和修改Linux。實際上,GPL要求的是完全的軟體共享,你可從中獲利,但你不能佔為己有。經過網際網路上的千千萬萬的志願者對其的不斷修改,八年後的今天,Linux已經變得強大無比!特別是去年下半年以來,IBM、Intel、Oracle、Sysbase、Borland,HP,SUN,Corel等商業軟體廠商紛紛表示對Linux進行商業開發和技術支持,更使得Linux的商業價值越來越高。同時從今年起,Linux將在兩個方向發展,即微型設備的嵌入式操作系統和桌面操作系統。IDC預測在2003年,Linux將成為Windows NT后的第二大操作系統。國內的一些公司(華勝、中軟、四通等)也從事Linux的中文的擴展和應用開發,同時他們也感覺到國內Linux教育的必要性和緊迫性,迫切需要大量的中國Linux開發人員。

作為一個操作系統,Linux具有如下的優點:

1、它具有Unix的全部特點,Unix豐富的軟體資源及C語言的平台可移植性使得其上的軟體非常豐富。而且,由於Linux的流行,倒是其他的Unix平台移植Linux的應用程序。

2、Linux內置網路支持,其應用標準的TCP/IP協議,通過一個Ethernet網卡或Modem把自己和其他系統相連,就可訪問Internet。其網路性能極其優秀,據統計美國130多萬個web站點中,一半以上是運行著Apache的Linux系統。

3、它具有完美的多任務,能同時運行多個任務和訪問多個設備。

4、Linux擁有性能優越的內存機制:在只有32兆的P133上,帶動幾十台工作站上網,你幾乎感覺不到硬碟的交換活動。對工作站用戶而言,感覺和專用伺服器沒什麼兩樣,甚至比專用伺服器快。

5、同IEEE POSIX.1標準兼容。

6、GNU軟體支持:Linux能廣泛的運行GNU計劃的免費可用軟體。

7、軟體版本更新速度非常的快,每隔幾天你就可看到新的內核版本。

8、擁有良好的性能之外,Linux最大優點就是其源代碼公開和免費特性,用極低的費用任何人均可獲得它並可任意修改它。

9、對國內用戶而言,Linux上的中文應用軟體也層出不窮,同時我們也見到了Linux中文版(XteamLinux及Turbo Linux中文版)的出台。

10、對高校用戶來說,Linux上豐富的網路支持及其易於開發性,應用於網路教學具有較好的的必備的條件和較高的性價比。

可見,對Linux的研究和應用,並應用於教學中,對網路課程的學習有很好的幫助;同時對於其他課程的教研工作也是有很大的作用。

第二節 Linux在此課題中的作用

在本課題中,我把Linux作為實驗伺服器軟體使用。之所以沒有在客戶機上也使用Linux,一方面考慮Linux在應用軟體上的缺陷(不是沒有相應軟體,只是由於操作較繁瑣,界面也不友好),一方面也考慮到實驗室的條件和實驗的易於管理性。

以下是對這個課題的整體框架圖:



說明:


在對實驗系統有相當的認識后,結合TCP/IP和Linux的相關知識進行系統的設計和實現。


對系統進行網路服務程序的設置,以使它們能較好的提供實驗服務。


對實驗進行控制,由相應的程序完成。


學生上機時,必須通過帳號申請程序申請實驗帳號,並要填寫必要的學生信息;實驗時管理老師可通過程序查看系統中用戶的情況。


每次學生實驗完成後,管理老師可通過管理程序刪除實驗用戶帳號及其數據,為下一次實驗做準備。

第三節 實驗系統的整體規劃

實驗系統採用Client/Server模式設計,充分體現了Linux的網路功能及突出實驗的性質。所有的實驗的服務程序均運行在Linux伺服器上,客戶端程序都基於界面較好的Windwos系統。客戶端通過相應的客戶程序使用TCP/IP相關協議和伺服器通信。可以說,整個系統就是一個Internet的模型。

實驗系統圖示如圖一:

主要技術說明:


整個系統不對已有的硬體系統進行任何改動,只要求在客戶計算機上進行相應的設置的改動。


實驗所有的伺服器端軟體都運行在Linux上。


Linux伺服器提供DNS服務,每台計算機都把DNS指向Linux伺服器。


客戶端通過TCP/IP相關協議和伺服器通信,客戶機安裝相應的軟體進行實驗。


客戶端程序為界面較好的Windows程序,有利於實驗者進行實驗。

圖一

實驗者必須通過申請實驗帳號,進行必要的註冊信息的輸入方能進行實驗。這個功能通過CGI在web上實現,同時這個程序把相應的用戶信息保存在文件中;通過另外的一個CGI,管理員可以得到實驗用戶的信息。


實驗的管理由一個管理腳本實現,主要功能為:刪除用戶的實驗數據,清除一些日誌文件,清理一些伺服器軟體的緩存數據。


每個用戶都只有一定的磁碟空間,超過一定數量,系統將拒絕用戶再進行數據的上載,同時刪除一些用戶的數據。




[火星人 via ] 基於Linux的網路試驗系統的設計(一)已經有230次圍觀

http://www.coctec.com/docs/net/show-post-68524.html