作者:王忠勇;安永帥;宋豫全
1 概述
信息家電和下—代寬帶無線通信是IPv6的兩大主要應用領域,隨著互聯網快速發展和家庭寬帶的逐步普及,將家庭中的微計算機、信息家電以及消費電子設備等組成家庭網絡,已經成為重要的消費熱點。IPv6技術在家庭網絡中具有獨特的優勢。可以使家庭內的冰箱、空調等家電都擁有—個獨立的全球IPv6地址;全面支持服務質量保證(QoS),這對于數字娛樂和多媒體信息應用非常有益。因此,在家庭網絡中應用IPv6具有廣闊的前景。
網絡迅速發展給人們帶來巨大便利的同時,也帶來了嚴重的網絡安全問題。在家庭網絡中,安全問題同樣很突出。各種新技術在家庭中的廣泛應用一方面提高了信息家電的性能,另一方面也對簡化操作和管理提出了新的要求。這些都需要通過一個統一的家庭網絡WSB平臺進行設置和管理,并實現與客戶端的動態交互。
本文提出了一種基于IPv6的嵌入式家庭網絡WEB平臺解決方案,以高性能的32位ARM核微處理器S3C2410為硬件平臺,通過移植新版本的嵌入式linux-2.6.18內核,實現了家庭網絡的管理平臺功能。
2 家庭網絡系統結構
本系統由客戶端、寬帶接入端口、家庭網絡HUB、家庭網關和家電控制器組成。如圖1所示:
圖1系統結構示意圖
系統分為三個部分。
第一部分,是位于家庭網絡以外的客戶端,家庭網絡用戶和信息家電廠商的維護人員,通過Intenet訪問家庭網絡對外的統一平臺,即網關中內嵌的WEB服務器。
第二部分,是網關和PC主機,網關既是家庭網絡內部的各個家電控制器對外的統一接口,也負責統一控制和管理各個信息家電中家電控制器。一方面接收來自用戶通過Internet發送的控制信息,另一方面采集信息家電的狀態,提供給用戶參考。
第三部分.是家電控制模塊,它連接家電的執行機構,接收來自網關的控制命令,并對家電進行操作,同時根據網關的命令,采集家電的信息上傳。
3 硬件開發環境
嵌入式系統硬件平臺的選擇主要是嵌入式處理器的選擇,針對開發嵌入式網關的需要,并考慮系統外圍設備情況,本系統采用了內嵌ARM920T內核的三星S3C2410處理器,ARM920T是高性能、低功耗特性方面最佳的通用封裝微處理器,它采用5級流水線,具有指令和數據Cache,支持協處理器、片上調試和MMU等技術。此外,還包括一些嵌入式外圍設備,由存儲設備(一片E28F640構成的8MB容量的16位NOR型Flash存儲器和兩片HY57V281620構成的32MB容量的32位SDRAM存儲器)、接口設備(異步串口、以太網口和USB接口)、顯示設備(LCD及觸摸屏模塊),這些共同構成了硬件開發環境。
4 軟件設計
與其他嵌入式操作系統相比,Linux具有開放源碼、內核小、功能強大、運行穩定、可移植性好等優點,能充分發揮ARM920T內核具有MMU(存儲單元管理)的強大功能,同時由于Linux的開源優勢.Linux內核對IPv6的支持比較全面,因此本系統選用Linux作為嵌入式操作系統。
4.1 Linux開發環境的建立
由于嵌入式系統的資源有限,嵌入式Linux的開發通常采用宿主機加目標板的方式,即需要一臺安裝Linux的PC機作為系統的編譯和調試環境。由于家庭網絡中的PC主機通常要使用Windows操作系統,來滿足日常需要,因此,采用了虛擬化的方法來解決這個矛盾。
在PC主機上安裝虛擬機軟件VMware(版本5.0.0),VMware運行在主機的操作系統之上,它在Guest OS與Host OS之間加了一層虛擬操作平臺(VMware Virtual Platform),客戶操作系統透明地運行在虛擬操作平臺之上。然后在虛擬機上安裝RedHatLinux9.0,作為宿主機,來進行日標板所用到的操作系統的內核裁剪、移植、編譯,應用程序的編譯、調試,以及將內核和文件系統打包成映像(image)文件,然后就下載到目標板上去運行,雙方通過串El或以太網接口建立連接關系。
4.2 通過VMware管理
家庭網絡中的PC機上具有不同的兩種操作系統,需要通過VMware Workstation對其進行管理,以解決二者不能相互訪問,傳送程序和文件的問題,并使Linux和Windows可以同時在互不影響的情況下,分別接入Internet。
第一步,在Linux中安裝VMware Tools,獲得對X windows界面和網絡等的強化支持。
第二步,設置VMWare為host-only方式.在options中的sharefolders設置共享目錄。把PC主機的網卡設為“允許共享”,并設定網絡接口為VMnetl,進入Linux,設定ethO為192.168.0.2,default gatewey為192.168.0.1。即可實現Linux和Windows分別獨立接入Intenet。
第三步,為實現Linux和Windows共享文件,采用smb (Server Message Block)服務的方式。在Linux中開啟samba服務器,并修改其配置文件/etc/smb.conf,在Windows中添加IPX/SPX和NETBEUI協議。
由上面的步驟可以看到,在不同的場合下,對虛擬機中的Linux配置是不同的。對于家庭網絡的用戶來說,這樣的配置難度過大,因此,本系統利用虛擬化的”clone”技術,在VMware中對不同場合下的配置,分別進行“clone”.其名稱分別為“shareholders”、“Intenet”和“test”,如圖2所示,這樣,就可以方便地進行切換。
圖2 虛擬機的配置
4.3 內核配置、協議棧優化與服務器設置
考慮到嵌入式系統對穩定可靠性的要求,選用目前較新版本的Linux 2.6.18內核,它對IPv6協議棧、無線網卡以及Cisco的LEAP無線認證協議提供了更好的支持,而且已經經過一段時間的運行,比較穩定。
在IPv6網絡中,由ICMPv6(Intemet Control Messages Protocol)協議實現的鄰居發現和IP地址的自動配置是IPv6協議在嵌入式應用中最實用的部分,其鄰居發現功能取代了IPv4協議中使用的ARP(Address Resolution Protocol)、ICMP路由器發現和重定向報文的功能,而自動配置則實現了設備接入網絡的“即插即用”,因此本嵌入式系統平臺根據實際需要重點對ICMPv6協議進行了優化配置。
mini_httpd是嵌入式Linux下少數支持IPv6協議的輕量級WEB服務器,它內核很小,非常適合板上資源有限、一般為單任務的家庭網絡WEB環境,因此本系統選用了mini_httpd-1.19作為嵌入式WEB服務器,將其下載到宿主機后解壓縮、制定交叉編譯器,然后編譯生成二進制可執行文件。在網關的系統配置文件/usr/etc/rc.local中增加命令“mini_httpd/jffs2 cgi-bin/”使得在系統啟動時自動加‘載到網關flash存儲設備的JFFS2(Journalling Flash File System閃存日志型文件系統第二版)文件系統中。
為了配置和測試IPv6的網絡環境和協議,還需要安裝BusyBox。這是一個集成了一百多個常用標準Linux工具的單個可執行實現,由于使這些工具共享相同的元素,因此體積非常輕巧,而且可以在圖形工具下進行配置,被稱為Linux工具中的瑞士軍刀,其安裝配置與前述嵌入式服務器的過程類似,不再贅述。
4.4 編寫CGI程序進行認證和管理
目前Web技術中生成動態Web頁面的方法有CGI和服務器腳本,如JSP,ASP等,但后者需要Web服務器具有這些腳本的運行支持模塊。在嵌入式Web服務器中,考慮到資源限制問題,一般都只提供CGI (Common Gateway Interface)支持,因此在嵌入式設備中Web方式應用實際上就是基于CGI的程序開發。
CGI提供了客戶機與服務器交互的接口,服務器響應客戶端請求后執行相應的CGI程序,并把執行結果返回給客戶端,從而實現了基于WEB的動態交互。使用FORM方式作為輸入界面,用戶在FORM中輸入的信息經過URL編碼處理后再送到CGI程序中,這就是CGI的關鍵所在。程序完成對輸入處理和結束工作后,把結果以信息流的方式傳給服務器,服務器負責把要反饋的信息流以HTTP的形式封裝起來,轉換到客戶端的瀏覽器上。
CGI程序分為以下幾部分:①用戶在客戶端的瀏覽器上訪問網關,載入用戶界面,并在FORM中輸入ID和口令,采用get方法提交;②服務器響應請求,分析瀏覽器請求的資源,發現是一個CGI程序,于是引導到指定位置的CGI程序;③URL編碼的解碼,程序從環境變量“QUERY_STRING(path&info)中提取信息”;④用printf()函數來產生HTML源代碼,并將經過解碼后的數據正確地返回給瀏覽器。
5 IPv6家庭網絡的組網及測試
在家庭網絡中的配置主要包括PC主機和網關兩部分的配置。
PC主機安裝家庭用戶常用的Windows XP操作系統,在DOS方式下使用命令“ipv6 install”安裝IPv6協議棧,然后通過命令“ipconfig /all”查看,可以發現在本地連接下面,除IPv4地址外,又增加了一個IP地址“fe80::20c:76ff:fe67:5832%5”,表示該網卡在操作系統中的接口索引是5,于是通過以下命令.為PC主機和網關分別指定在本地鏈接IPv6地址,即“ipv6 adu 5/ 3ffe::1”等,然后在網關的CGI控制程序中分別為各個家電控制器依次分配地址。
最后要注意的是目前IE瀏覽器尚不支持IPv6訪問,需要通過Firefox瀏覽器進行訪問。
圖3家庭網絡登錄界面
6 小結
本文設計了一個基于IPv6的嵌入式WEB平臺,并從虛擬化管理方面針對家庭網絡的情況進行了優化,具有一定的實用價值。該系統還存在一些值得改進和進一步努力的地方,如屬于網關的顯示模塊的引入、和控制總線的融合等,這些技術的實現會進一步推進IPv6在家庭網絡中的應用。
本文作者創新點:設計了基于IPv6和Linux-2.6.8內核的家庭網絡嵌入式WEB平臺,并從虛擬化管理等方面簡化了管理和使用。
責任編輯:gt
-
嵌入式
+關注
關注
5092文章
19177瀏覽量
307663 -
Linux
+關注
關注
87文章
11345瀏覽量
210391 -
微處理器
+關注
關注
11文章
2274瀏覽量
82776
發布評論請先 登錄
相關推薦
評論