久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式WEB服務器中TCP/IP協議棧的設計與實現

嵌入式WEB服務器中TCP/IP協議棧的設計與實現

作者: 時間:2012-05-21 來源:網絡 收藏

3.2 IP協議實現

IP協議主要功能是用于主機之間發送數據報的傳輸,實現比較復雜,但對于來說,只需完成IP協議兩項最基本的功能:第一,處理接收到的IP數據報,向上層網絡提交。第二,負責對TCP報文、ICMP報文進行封裝,交給數據鏈路層進行裝幀。

收到發給自己的數據幀后,需要對以太網首部中的幀類型字段進行判斷,如果該字段為0x0800,說明后面的數據是IP數據報,將此數據提交IP層處理。IP協議判斷此數據報的IP頭部中目的IP地址字段與本地IP地址是否一致,若不一致,則丟棄該數據報;若一致,進行IP頭部校驗和檢查,當證明數據在傳輸中沒有出現錯誤時,去掉IP頭部,將IP數據提交上層處理,即根據IP首部中的協議字段決定交給ICMP 協議還是TCP協議處理。在程序運行時,當所接收的數據被判定為IP數據報后,IP處理程序將嚴格按照以上的過程接收處理數據并進行處理。

IP協議還要查詢是否有上層數據要發送,如果有數據發送,則將上層數據進行IP封裝,交給數據鏈路層裝幀發送。

3.3 ICMP協議實現

ICMP提供了一種讓互聯網中的路由報告錯誤或提供有關意外情況信息的報文機制。它不是獨立的,是IP的一部分,在每個IP實現中必須有它。雖然它提供的信息十分豐富,但在應用中,只要實現回送請求(echo request)和回送應答(echo reply)就足夠了。

3.4 TCP協議實現

TCP是Web服務器的核心。在設計Web服務器時,系統應用層只需支持HTTP協議。嵌入式系統把要傳送的數據,參數等存入網頁的相關位置。對于任何TCP連接,每次只需支持HTTP協議發送網頁服務。在單片機這樣的系統中,資源十分有限,因此要精簡TCP 協議,簡化的原則有兩個:第一,不能改變其面向連接的特性;第二,簡化必須能配合其所采用的應用層協議。

作為嵌入式Web服務器,TCP連接時只需處于被動服務的狀態,所以將標準的TCP有限狀態機的主動創建連接的SYN-SENT狀態,主動關閉連接的FIN-WAIT1,FIN-WAIT2,

CLOSING,TIME-WAIT狀態都省去,在設計中,還可以舍棄CLOSED狀態,讓它開始就處于LISTEN狀態來監聽客戶端的連接請求。這樣,TCP的三次握手機制中,建立連接的過程時,嵌入式系統作為監聽狀態的服務器,始終為被動方,相當于被動打開后的LISTEN狀態,等待對方發起連接。當它接收到SYN數據片,它發出SYN+ACK數據片并確認它己經收到對方的SYN,此時變為SYN_RECEIVED狀態。再接收到對方返回的一個僅含ACK的空數據片,則三次握手完成,進入ESTABLISHED狀態,之后可以進行TCP數據通訊。這樣,既節省了系統開銷,同時也保證了所有的數據段都能安全正確地到達目的端。

4 結語

本文的創新之處在于對應用于嵌入式Web服務器的TCP/IP協議棧進行了精簡,既兼顧了TCP/IP協議的主要功能的實現,又照顧到嵌入式系統本身的弱點,利用嵌入式TCP/IP協議棧能擴展許多非智能設備的網絡功能,使之方便接入Internet,具有很高的實用價值。

參考文獻:

[1] Jeremy Bentham.嵌入式系統Web服務器:TCP/IP Lean.機械工業出版社.2003.5

[2] 李素俠,段友祥,嵌入式TCP/IP協議的分析與研究.微計算機信息.2005,7-2

[3] 符意德.嵌入式系統設計原理及應用.清華大學出版社.2004.11

[4] 王海燕.嵌入式Web服務器的研究與實現.武漢大學研究生論文.2003.5

[5] Douglas e.comer.用TCP/IP進行網際互連 第1卷:原理、協議和體系結構.電子工業出版社.1998.4

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

tcp/ip相關文章:tcp/ip是什么



上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉