閱讀 | 訂閱
閱讀 | 訂閱
控製係統

基於嵌入式TCP/IP軟件體係結構的優化設計與實現(二)

星之球激光 來源:中國自動化網2012-02-15 我要評論(0 )   

嵌入式TCP/IP的實現 TCP/IP的嵌入式實現一般通過以軟件方式嵌入到ROM中,然後通過輕網絡通訊技術與(yu) 專(zhuan) 用嵌入式網關(guan) 連接,在嵌入式處理器中運行TCP/IP協議,提供TCP/IP到用...

  
嵌入式TCP/IP的實現

    TCP/IP的嵌入式實現一般通過以軟件方式嵌入到ROM中,然後通過輕網絡通訊技術與(yu) 專(zhuan) 用嵌入式網關(guan) 連接,在嵌入式處理器中運行TCP/IP協議,提供TCP/IP到用戶的輕型網絡的連接和路由功能。

內(nei) 存管理方法和無多餘(yu) 數據包拷貝的實現

    嵌入式TCP/IP的內(nei) 存管理可以用鏈表方法,即根據數據包大小分配相應大小的內(nei) 存塊。如圖4所示,鏈表將內(nei) 存塊鏈接起來,used字段表示該內(nei) 存塊是否正在使用,pSstart和pEend則表示數據部分有效數據的開始地址和結束地址。搜索內(nei) 存鏈表找到一個(ge) 沒有分配的比所需空間大的內(nei) 存塊,截取所需的大小。該內(nei) 存塊被截取以後可能還有較多剩餘(yu) ,這時將剩餘(yu) 部分從(cong) 原內(nei) 存塊中分離出來,成為(wei) 一個(ge) 新的內(nei) 存塊,並插入鏈表。釋放時,將used值置為(wei) 假, 如果pNext或者pPre指向的鏈表單元也是空閑的,則將其和自己合並,以防止內(nei) 存分片。在協議層之間傳(chuan) 送數據包隻需傳(chuan) 送內(nei) 存塊的起始地址。這種內(nei) 存管理方法,空間浪費小但是運算量相對較大。


 


 

圖4 基於(yu) 嵌入式TCP/IP內(nei) 存管理


 

整序、重發和窗口控製的實現

    對於(yu) 嵌入式TCP/IP係統,可以使用隊列緩存的方式來實現整序、重發和窗口控製。隊列的一個(ge) 元素指向一個(ge) 數據包,隊列的最大長度沒有限製。

    對於(yu) 整序,使用ooSeq隊列,如果發現接收的TCP包序號並不是期望的,但序號在接收窗口內(nei) ,此時不能立刻接收這個(ge) 包也不應丟(diu) 棄,可先將這個(ge) 包放入ooSeq隊列。當期望TCP包被接收後,再查看ooSeq隊列現在是否有TCP包成為(wei) 了期望的數據包,如果有則將其取出並處理。

    對於(yu) 重發,使用unacked隊列,每一個(ge) 需要被應答的TCP數據包發送以後都要放入unacked隊列,等到被應答以後才從(cong) 隊列中刪除。TCP重發定時隻針對unacked隊列第一個(ge) TCP包,如果定時超出,重新發送,重發次數超出規定值,則報錯。

    對於(yu) 窗口控製,使用unsend隊列,如果發現對方的窗口過小無法接收這個(ge) 數據包,則隻發送部分數據,將多餘(yu) 部分放入unsend隊列,等待對方發來TCP包通知新的窗口大小時,再次判斷是否可以發送。如果在unsend隊列不為(wei) 空的情況下,需要發送的數據包都應插入unsend隊列。

嵌入式TCP/IP的性能分析

    圖5給出了將優(you) 化設計後的TCP/IP移植到ARM9處理器、CS8900A網絡控製器中,時鍾頻率為(wei) 133MHz下,與(yu) Internet連接的情況。


 


 

圖5 連接圖


 

    係統支持最大發起連接數約為(wei) 380,最大並發連接率約為(wei) 170cps。隨著呼叫數的增加,平均分組到達也隨之增加,導致網絡傳(chuan) 輸數據的增加,從(cong) 而最大建立時間變長。但最小的建立連接時間基本保持不變,說明係統具有良好的性能。

    圖6給出了隨建立時間變化的接通率。圖中存在一個(ge) 臨(lin) 界點,成功的連接率隨著TCP連接嚐試數目增加而減少,直至為(wei) 0,而響應時間也急劇上升,這是由嵌入式處理器的處理能力有限造成的。


 


 

圖6 隨建立時間變化的連接圖


  
結語


 

    本文從(cong) 實現相應的功能又節省係統資源角度出發,對嵌入式TCP/IP協議簇進行優(you) 化設計,可以在各種嵌入式處理器上實現Internet接入。

    經過優(you) 化設計的嵌入式TCP/IP支持套接字形式的多個(ge) TCP連接、支持多個(ge) 網絡設備、支持通過網關(guan) 發送數據包和數據包轉發功能,以及支持TCP包的整序、重發和窗口控製流量控製。實踐證明,這種設計方式靈活,能按用戶需求實現複雜的功能。

轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀