郝夢巖
(長治學(xué)院 計算機系,山西 長治 046011)
基于PCM-3386單片機的嵌入式WEB服務(wù)器
郝夢巖
(長治學(xué)院 計算機系,山西 長治 046011)
文章提出一種基于PCM-3386單片機的嵌入式WEB服務(wù)器的實現(xiàn)方案,重點探討了系統(tǒng)的硬件平臺、嵌入式TCP/IP協(xié)議以及安全機制。其關(guān)鍵是在PCM-3386單片機內(nèi)部嵌入TCP/IP協(xié)議棧。
嵌入式系統(tǒng);Web服務(wù)器;以太網(wǎng);TCP/IP協(xié)議
隨著互聯(lián)網(wǎng)的日益普及,信息共享的程度不斷提高,嵌入式系統(tǒng)的Internet接入已成為人們越來越關(guān)注的研究課題。
嵌入系統(tǒng)的硬件平臺必須具有運行速度快、存儲容量大等基本特點,同時為了能傳輸各種信息,硬件系統(tǒng)還必須具有能接入Internet的網(wǎng)絡(luò)接口?;谝陨弦蛩氐目紤],本設(shè)計采用了深圳某公司生產(chǎn)的PCM-3386開發(fā)板。開發(fā)板具有RISC架構(gòu)、流水線技術(shù)、指令集與80C186處理器兼容、主頻100MHz和在板1MB SDRAM內(nèi)存以及高速以太網(wǎng)符合IEEE 802.3,802.3u規(guī)范等支持等特點。在軟件方面直接支持BorlandC集成開發(fā)環(huán)境(包括BC3.1、BC4.0等)、Turbo Debugger源碼調(diào)試(交叉調(diào)試環(huán)境)。
嵌入式WEB服務(wù)器技術(shù)的核心是在嵌入式系統(tǒng)中部分或完整的實現(xiàn)TCP/IP協(xié)議以及HTTP引擎。由于嵌入式設(shè)備資源一般都比較有限,并且也不需要同時處理很多用戶的請求,因此我們設(shè)計了基于PCM-3386單片機的嵌入式Web服務(wù)器。這種Web服務(wù)器在存貯空間和運行時所占有的內(nèi)存空間都會非常適合于嵌入式應(yīng)用場合。
ARP用于實現(xiàn)IP地址到網(wǎng)絡(luò)接口硬件地址的映射。ARP可以同時工作在其他類型的數(shù)據(jù)鏈路下,但對于我們的嵌入式WEB服務(wù)器,只考慮將IP地址映射到48 bit的以太網(wǎng)地址。
ARP主要實現(xiàn)以下兩個函數(shù):
(1)void arprequest(struct arpcom*ac,u_long*sip,*tip,u_char*enaddr),該函數(shù)建立ARP請求分組,并將它傳送到接口的輸出函數(shù)。
(2)in_arpinput(structmbuf*m),該函數(shù)用于處理接收到的ARP請求/應(yīng)答。
IP協(xié)議是TCP/IP協(xié)議簇中的核心協(xié)議,提供數(shù)據(jù)傳輸?shù)淖罨痉?wù)。這是一個不可靠、無連接的數(shù)據(jù)報協(xié)議,它盡最大的努力使不同的設(shè)備之間利用IP地址進行通信,使處于不同網(wǎng)絡(luò)的主機之間能發(fā)送IP數(shù)據(jù)報。針對嵌入式系統(tǒng)的特點,該IP模塊不實現(xiàn)路由選擇功能,不支持路由器的一系列路由選路信息協(xié)議,這樣就簡化了IP協(xié)議的實現(xiàn)。在IP數(shù)據(jù)報中,通過子網(wǎng)掩碼比較IP報頭的目的地址字段是否與本機在同一子網(wǎng)內(nèi)。如果是則直接發(fā)送給目的主機,否則把它轉(zhuǎn)發(fā)給一個默認的路由器。對于接收到的IP數(shù)據(jù)報,它會根據(jù)IP報頭中的協(xié)議字段內(nèi)容交由相應(yīng)的ICMP模塊或傳輸層TCP/UDP模塊處理。
(1)void ipintr (long ipaddr,char xdata*outbuff,char proto_id,int len)發(fā)送IP數(shù)據(jù)。該程序用來創(chuàng)建一個發(fā)送數(shù)據(jù)報。當(dāng)系統(tǒng)需要發(fā)送數(shù)據(jù)時,IP層以上的協(xié)議將調(diào)用該函數(shù)。
(2)void ip_rcev(char xdata*buff)接收 IP 數(shù)據(jù)。該函數(shù)檢測一個收到的數(shù)據(jù)包,并對數(shù)據(jù)包作相應(yīng)的處理。
ICMP協(xié)議是IP協(xié)議的補充,用于IP層的差錯報告、擁塞控制、路徑控制以及路由器或主機信息的獲取。在嵌入式WEB服務(wù)器中,該ICMP模塊只實現(xiàn)ICMP回顯請求與應(yīng)答報文,它是網(wǎng)絡(luò)管理人員最有力的診斷工具。TCP/IP網(wǎng)絡(luò)系統(tǒng)所提供的ping命令大多是利用ICMP回應(yīng)請求與應(yīng)答報文來實現(xiàn)的,該命令通常用于測試信宿的可到達性。
根據(jù)PCM-3386單片機資源現(xiàn)狀,在本設(shè)計中只實現(xiàn)了一個簡化的ping命令。包括ICMP_ECHO和ICMP_ECHOREPLY兩個主要函數(shù)。
在嵌入式Web服務(wù)器中,TCP協(xié)議只支持一種應(yīng)用程序即HTTP協(xié)議來傳送網(wǎng)頁文件,并且把每個網(wǎng)頁文件大小限制在一個數(shù)據(jù)報內(nèi),而不會出現(xiàn)在網(wǎng)絡(luò)層IP數(shù)據(jù)報的分片。作為嵌入式Web服務(wù)器,TCP連接只處于被動服務(wù)的狀態(tài),即省去主動創(chuàng)建連接的發(fā)送SYN、主動關(guān)閉連接的FIN等待這些狀態(tài)。為了保持嵌入式Web服務(wù)器更為高效,在設(shè)計中讓它一直處于監(jiān)聽狀態(tài),用以監(jiān)聽客戶端的連接請求,避免主動或被動打開操作。另外,在嵌入式Web服務(wù)器中,TCP協(xié)議使用簡單確認機制以及僅對發(fā)送的TCP報文進行校驗和計算。
人們在感受因特網(wǎng)為科學(xué)研究、經(jīng)濟建設(shè)、商業(yè)活動和日常生活帶來便利的同時,也開始注意到日益突出的網(wǎng)絡(luò)安全問題。因此我們在嵌入式Web服務(wù)器系統(tǒng)中加入一些安全措施。目前考慮的安全策略有:
1)閉環(huán)網(wǎng)絡(luò)訪問策略:即把所有可能的攻擊點全部局限在本網(wǎng)絡(luò)范圍內(nèi)。
2)訪問控制策略:為特定的用戶提供訪問資源的權(quán)限。對一些關(guān)鍵信息,將其標(biāo)記為只讀特性,尤其是外網(wǎng)用戶。
3)密碼和防火墻策略:防火墻是通過物理上阻塞所有不經(jīng)過防火墻的網(wǎng)絡(luò)訪問通道,從而保證所有從內(nèi)到外和從外到內(nèi)的通信量都必須經(jīng)過防火墻。同時所有數(shù)據(jù)傳送必須要進行加密。
因此,基于安全機制的考慮,本論文把訪問控制權(quán)限加入到嵌入式WEB服務(wù)器中,用戶第一次登陸時會要求輸入用戶名和密碼,并且用戶通過動態(tài)網(wǎng)頁處理模塊對遠程系統(tǒng)進行控制時也要求有一定的客戶權(quán)限。它們是通過在配置文件http.conf中的定義給其分配不同的資源權(quán)限來完成的。
本文通過對嵌入式設(shè)備接入Internet技術(shù)的研究,分析了嵌入式Internet接入的幾種解決方案,提出并實現(xiàn)了一個基于PCM-3386的解決方案。所完成的主要工作如下。
(1)以PCM-3386為硬件平臺,以Borland C為軟件開發(fā)環(huán)境,開發(fā)并實現(xiàn)了一個嵌入式Web服務(wù)器,成功的實現(xiàn)了嵌入式系統(tǒng)的Internet接入。
(2)設(shè)計實現(xiàn)的嵌入式Web服務(wù)器具有以下功能:提供ARP、IP、ICMP、TCP、HTTP協(xié)議;支持 ping命令的響應(yīng);可以用TCP進行數(shù)據(jù)傳送、可以為用戶提供WWW服務(wù)。
(3)經(jīng)過試驗,所設(shè)計實現(xiàn)的精簡TCP/IP協(xié)議棧和HTTP協(xié)議工作正常。
本文設(shè)計實現(xiàn)的嵌入式Web服務(wù)器具有小巧輕便、成本低、功能易于擴充、符合小客戶端要求等優(yōu)勢,同時維護方便、安全性較高、動態(tài)性好,客戶通過Web頁面能夠方便地對網(wǎng)站內(nèi)容進行管理。同時本產(chǎn)品可應(yīng)用在信息家電、工作控制自動化、環(huán)境工程、智能儀器及傳感技術(shù)等方面。
[1]CharlesM.Kozierok.TCP/IP 指南[M].北京:人民郵電出版社,2008.
[2]Behrouz A.Forouzan.TCP/IP協(xié)議族[M].北京:清華大學(xué)出版社,2006.
[3]Laura A.Chappell.TCP/IP協(xié)議原理與應(yīng)用[M].北京:清華大學(xué)出版社,2006.
[4]蘭少華.TCP/IP網(wǎng)絡(luò)與協(xié)議[M].北京:清華大學(xué)出版社,2006.
Abstact:With the increasing popularization of Internet and the improvement of information sharing,how to implement the interconnection between embedded systems and Internet,has been a very popular research subject.A method based on PCM-3386 to implement an embedded Web Server is provided in this dissertation.How to implement the TCP/IP Lean in PCM-3386 is the key to implementaWeb Server.
Keywords:embedded system;Web server;ethernet;TCP/IP protocols
(責(zé)任編輯 李學(xué)斌)
An Embedded Web Server Based on PCM-3386 to Implement
HAOMeng-yan
(the Departmentof Computer Science,Changzhi University,Changzhi Shanxi 046011)
TP393< class="emphasis_bold">文獻標(biāo)識碼:A 文章編號:1
A
1673-2014(2010)02-0017-02
2009—12—14
郝夢巖(1979— ),女,山西長治人,助教,主要從事計算機網(wǎng)絡(luò)研究。