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