嵌入式WEB服務器中TCP/IP協議棧的設計與實現
隨著因特網的迅速發展,Web應用越來越廣泛。由于Web技術的開放性和獨立平臺特性,大大降低了軟件系統和通信系統的設計、維護工作量,節省了人員培訓費用,提高了現場測試和控制設備的管理水平。而嵌入式Web服務器將Web服務器引入到現場測試和控制設備中,在相應的硬件平臺和軟件系統的支持下,使傳統的測試和控制設備轉變為具備了以TCP/IP為底層通信協議,Web技術為核心的基于互聯網的網絡測試和控制設備,有著一般Web服務器所不具有優勢。本文就嵌入式Web服務器在通信協議的選擇方面做了具體的研究。
1 嵌入式Web服務器的結構分析
嵌入式Web服務器運行的目標系統大多是各類專用設備,內存資源和存儲器資源非常有限,它通常作為一種監控、管理手段去控制和配置各種電子設備,實現設備的智能化和信息化。嵌入式Web服務器的應用系統框架如下圖所示:
圖1 嵌入式Web服務器的應用系統框架
圖1虛線框中的是嵌入式Web服務器的框架結構,用戶接口庫是嵌入式Web服務器和其他設備的控制接口。內嵌于設備的Web服務器可以向任何接入它所在網絡的合法用戶提供統一的基于瀏覽器方式的操作和控制界面,瀏覽器成了設備的前端控制板。而HTTP引擎是Web服務器的核心,Web服務器同Web 瀏覽器之間的通信是通過HTTP協議進行的,這一通用的、無狀態的、面向對象的協議是Web瀏覽器和Web服務器之間的應用層協議,是建構在TCP/IP 協議基礎之上的。因此在嵌入式Web服務器中,TCP/IP協議棧的實現是整個系統的基石。
2 嵌入式Web服務器的TCP/IP協議棧設計
嵌入式系統最先利用輕型工業網絡進行互連,比如CAN,PROFIBUS,MODBUS等組織的工業網絡能夠進行各工業設備間的互訪和信息交流,但是這些工業網絡協議之間標準不統一,通信半徑也比較短,推廣的前景不樂觀。TCP/IP協議作為一種成熟的網際互聯手段和事實標準,毫無疑問成為了嵌入式系統連入互聯網的首選協議。但是在嵌入式系統中,硬件資源較少,通常缺乏足夠的處理器和存儲器資源以支持整個TCP/IP協議族,因此嵌入式的TCP /IP技術與常規的TCP/IP實現有很大的不同。
2.1 嵌入式TCP/IP協議棧概述
嵌入式系統中實現的協議要根據系統自身的特點及功能來設計自己的協議族,因此,在嵌入式Web服務器中并非TCP/IP協議族中所有的協議都要實現,必須針對不同的網絡應用對協議棧進行刪減,保留其基本功能,以滿足網絡應用的需要。
考慮到嵌入式Web服務器的硬件處理速度慢并且存儲容量相對較小的條件限制,在TCP/IP協議棧中主要能夠實現ARP,IP,ICMP,TCP協議即可。具體分析如下:以太網數據的傳輸是采用MAC地址來識別的,而ARP協議提供IP地址和數據鏈路層使用的MAC地址之間的轉換功能,為了保證系統在以太網的通信,首先要實現ARP協議;由于嵌入式Web服務器要能在Internet上通信,在網絡層一定要實現IP協議,還要實現能報告數據傳送差錯等情況的ICMP協議;同時,Web服務器同Web瀏覽器之間的通信是通過HTTP協議進行的,在傳輸層采用TCP協議,能保證可靠的數據傳輸,進而實現其基礎之上的HTTP協議。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)tcp/ip相關文章:tcp/ip是什么
評論