一種嵌入式TCPIP協議的設計與實現_第1頁
一種嵌入式TCPIP協議的設計與實現_第2頁
一種嵌入式TCPIP協議的設計與實現_第3頁
一種嵌入式TCPIP協議的設計與實現_第4頁
一種嵌入式TCPIP協議的設計與實現_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一種嵌入式TCP/IP協議的設計與實現發布日期:2007-05-30作者:婁 莉 劉天時 來源:微計算機信息摘 要:本文提出了基于ARM的嵌入式TCP/IP協議在低速處理器中的一種設計方案。并對TCP/IP協議族實現過程中的關鍵技術進行了分析,通過一個分布式網絡監控系統的實際運行,證明該協議族已達到預期的性能。 關鍵詞:TCP/IP協議族,嵌入式, 裁剪, ARM 1 引言目前,嵌入式系統已經滲透到日常生活的各個方面,在工業、服務業、消費電子等領域的應用范圍不斷擴大。因此,嵌入式設備的聯網勢在必行。但是,由于嵌入式系統資源有限,傳統的Internet技術和設備無法

2、直接應用。這種趨勢促使嵌入式設備必須實現Internet網絡化1。然而,將嵌入式系統與Internet結合起來的主要困難在于,Internet的各種通信協議對于計算機存儲器、運算速度等的要求比較高,而嵌入式系統中大量存在的是8位和16位MCU,支持標準TCP/IP協議族的實現將占用大量系統資源2,因此,為了使其實時性提高同時保證可靠性又節省系統資源,需要對協議進行有針對性的模塊化裁剪,在單片機上嵌入TCP/IP協議族的一個子集。2  TCP/IP協議族總體框架的裁剪策略為了實現在分布式網絡監控系統中作為前端監控設備(編碼器、解碼器、視頻服務器等)的應用要求,必須在有限的硬件資源中保證

3、數據傳輸的可靠性和實時性??紤]到實時監控系統中數據傳輸量并不大,而可靠性要求較高,因此該工業控制系統的傳輸層采用TCP協議,考慮到通用性、兼容性和通信的可靠程度,沒有使用在應用層加入控制策略,運輸層使用簡單UDP協議的方案。TCP是面向連接的、端對端的可靠通信協議3,它采用許多機制來保證可靠傳輸,而該系統中本地數據的流動要實現向應用程序提供可靠的數據,與底層以太網驅動程序交互數據報的功能,因此,協議族系統結構設計框架如圖1所示,其中socket子層、運輸層的TCP協議、網絡層的IP和ICMP協議、ARP協議是本系統需要設計并實現的部分。圖1 協議族系統框架2.1 socket子層的實現網絡的S

4、ocket(插口)數據傳輸是一種特殊的I/O,Socket也是一種文件描述符4。它具有一個類似于打開文件的函數調用;Socket()函數能夠返回一個整型的Socket描述符,隨后的連接建立、數據傳輸等操作都是通過該Socket實現的。該系統中Socket子層向上層提供了創建一個socket描述符,將本地的IP地址與端口號綁定到一個socket上,實現TCP連接的建立、斷開,數據的接收與發送的功能。2.2 TCP協議的實現TCP協議數據傳輸可分為三個階段:連接建立、數據傳輸和連接斷開 5。它的實現過程可以用狀態機來描述。建立連接有兩種方法,即主動打開和被動打開。服務器端是一種被動打開,它一直在偵

5、聽連接請求;而客戶端是一種主動打開,它發送連接請求以建立連接。研究發現,如果TCP層的上層實現服務器端的應用,可以將標準TCP狀態機建立連接過程中的客戶端建立連接的狀態機部分簡化掉。同理,如果應用是基于客戶端的,可以將服務器端建立連接的狀態機部分簡化掉。斷開連接有兩種方式:一是主動斷開連接;另一是被動斷開連接。被動斷開連接的處理較為簡單,而標準TCP協議的主動斷開連接的狀態機部分過于復雜。經過實驗發現,在需要主動斷開的時候,發送一個FIN數據報,接收到對FIN數據報的確認后,再發送一個Reset數據報,即可完成一次主動斷開連接。標準的TCP協議使用慢啟動和滑動窗口機制?;瑒哟翱谑且环N在流量控制

6、和網絡傳輸效率之間進行折中的方案,它允許發送方在等待一個確認之前發送多個窗口,其確認是一種批量的確認。但是由于系統中網絡傳感器傳輸數據量很小,因此沒有必要消耗大量的存儲空間實現滑動窗口機制換取對流量和擁塞的控制。因此通過研究滑動窗口協議發現,如果采用停等協議,即滑動窗口只使用單個窗口的極限情況,發送方每發送一個分組,都等待確認;收到確認后再發送下一個分組,那么就變成了一種簡單確認的處理方法,使用該方法后,所有的處理只是對單個數據報的發送和確認,節約了系統資源,也使維護更方便,這樣做既能夠保證傳輸的可靠,在數據量不大的情況下,傳輸的實時性也不會有明顯的折扣。更重要的是,化解了流量和擁塞問題。當然

7、,如果只使用一個窗口,還要求對方也使用簡單的確認機制。因為如果對方使用較大的窗口,就可能造成處理器被淹沒。這可以通過設置TCP頭部Windows字段來通知對方自己的接收緩沖區大小,避免對方連續發送大量數據造成接收緩沖區溢出來實現。在上述基礎上簡化實現TCP協議的流程圖如圖2所示。圖2  簡化的TCP協議流程圖  2.3 IP協議的實現IP協議是網絡層協議,是TCP/IP協議的基礎,它可以為不同網絡的主機之間發送數據報的操作序列提供無連接的服務。通過在數據報前添加IP協議頭,使每個數據報具有尋址能力。標準IP協議的流程是,系統在接收IP數據包后,檢驗IP頭

8、部的版本、目的地址、校驗和是否正確,解析出協議類型字段,由此交給相應的高層協議處理;發送IP數據報時,將緩沖區的源地址與目的地址互換,設置校驗和,然后交給下層協議處理。IP包的最大容量為65KB,可以分段傳輸,而在嵌入式系統里由于無法容納如此大的數據包,因此一般不支持分段傳輸5。嵌入式系統只把IP作為傳輸工具,必須對其簡化以完成主要操作。本系統中,接收時首先要檢查數據報的正確性,其次過濾目的地址不是本機的報文;如果收到被IP分段的數據報立即丟棄。最后判斷協議交給TCP或ICMP協議處理。因為禁止IP層分段可以提高通信的效率和可靠性,根據以太網最大傳輸單元(MTU)的限制,socket子層控制了

9、用戶每次傳輸分組的最大字節數。同樣,服務器端也對IP分段加以限制,使IP無需把有限的系統資源消耗在IP報文重裝上,從而減少了程序的復雜度。2.4 其它協議的實現     ARP協議為32位IP地址到對應48位以太網地址之間提供動態映射。嵌入式系統中僅響應ARP請求,發送ARP應答包。請求者廣播出包含ARP請求的以太幀和目的以太網地址為全1的廣播地址。本機收到后,由目的IP地址發現自己是目的主機,發送一個ARP回答。ARP報文分為請求和應答兩種報文,通過這兩種報文實現ARP緩存的更新。ARP高速緩存在它的運行過程中非常關鍵。由于微控制器硬件資源限制ARP高

10、速緩存只定義了8組,因此查找采用線性搜索的方法對最終性能并沒有影響。緩存只包含IP地址、MAC地址、標志位、寫入時間4項,這樣既可以實現ARP協議又可以節省硬件資源。     ICMP提供主機或路由器報告差錯或提供查詢信息的服務,它通過IP協議傳輸其報文,IP協議是無連接的,它無法將報文和錯誤信息傳到最初的主機,而由ICMP將狀態信息和錯誤信息發送到發報文的主機。ICMP報文可以分成兩類:查詢和差錯。查詢報文是用一對請求和回答定義的。差錯報文通常包含了引起錯誤的IP數據報的第一個分片的IP首部,以及該分片數據部分的前8個字節。由于運輸層僅僅使用TCP協議,ICMP

11、也進行了裁剪。協議支持ping命令請求回顯應答,用于檢查協議族的運行狀況;差錯控制全部交給運輸層TCP協議處理。3  協議族定時器的實現在TCP/IP協議中多處用到超時和重發機制。這種機制對于確保兩個或多個彼此獨立的通信節點從故障狀態自動恢復到正常狀態是非常有效的,但也增加了軟件的復雜性6。因為對超時的處理通常獨立于正常程序流程,也就是與正常程序流程異步。這使得協議族定時器的設計難度增加。本系統中,TCP/IP協議軟件為實現當前連接建立了如下五個定時器:連接建立定時器,重傳定時器,延遲ACK定時器,FIN_WAIT定時器和TIME_WAIT定時器。 根據它們在ARP高速緩存維護、AR

12、P請求返回響應時間的判定、IP組裝收到分片時間的管理以及TCP等待接收方對數據段確認時間的判定中的要求,需要定時器具備以下特點:第一,不把超時處理放在時鐘中斷處理程序中進行,稍滯后一些來處理定時器超時;第二,對同一類超時處理可以由同一處理程序完成,只是將傳入到相應的處理程序中的參數設置不同而已。例如一個ARP高速緩存中的表項超時時,需要將其置為無效,可以統一用一個處理程序,而在參數中放入相應的表項地址即可。因此本系統定義的定時器的數據結構如圖3所示。圖定時器的數據結構圖4結論本論文的創新點是:將標準TCP協議中的滑動窗口機制裁減為停等協議,既能夠保證傳輸的可靠性,又能保證傳輸的實時性;IP協議

13、在檢查數據報的正確性后,只過濾目的地址不是本機的報文,服務器端也對IP分段加以限制,從而減少了程序的復雜度;ARP對報文實現緩存更新時,查找采用線性搜索法,緩存只包含IP地址、MAC地址、標志位、寫入時間4項,可以節省硬件資源;此外,對于超時定時器的設計也與以往不同,考慮到系統對定時的精度要求不高,基本是秒級精度,不把超時處理放在時鐘中斷處理程序中進行,稍滯后一些來處理定時器超時,并且,對同一類超時處理可以由同一處理程序完成,只是將傳入到相應的處理程序中的參數設置不同而已。經過裁剪的嵌入式TCP/IP協議族,應用在前端嵌入式設備處理器是Samsung公司的S3c4510B(ARM核)系統中,結

14、構精簡,性能穩定,實時性強,通過專項測試證明,基于該協議族的網絡監控系統控制終端的指標達到了預期的要求。本文提出的這種基于ARM的嵌入式TCP/IP協議在低速處理器中的設計方案,對該領域中相關技術的研究具有重要的參考意義。參考文獻1 J.Benthem著,陳向群譯, TCP/IP Lean:嵌入式系統WEB服務器, 機械工業出版社,2003.5,第一版2 Gary R. Wright W.Richard Stevens,TCP/IP Illustrated volume 1: The protocol,1994.113 Gary R. Wright W.Richard Stevens,TCP/

15、IP Illustrated volume 2: The Implementation,1994.114 周明天 汪文勇,TCP/IP網絡原理與技術,清華大學出版社,1993.125 田澤,嵌入式系統開發與應用,北京:北京航空航天大學出版社,2005.16 王峰,張宏偉等,嵌入式Internet技術及其實現方案J。微計算機信息,2003,12(19)作者簡介: 婁莉 : 女, 1970年出生,遼寧沈陽人,副教授。現工作于西安石油大學計算機學院,研究方向為通信工程,嵌入式系統。劉天時: 男,1960年出生,陜西渭南人,現工作于西安石油大學計算機學院,教授,博士,感興趣領域為計算機網絡及應用軟件,嵌入式系統。Author Vita:Li Lou(1970-), female, the Han nationality, Liaoning Province, associate professor, maste

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論