新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于SF0020芯片的嵌入式TCP/IP協議族設計與實現

        基于SF0020芯片的嵌入式TCP/IP協議族設計與實現

        作者: 時間:2009-08-11 來源:網絡 收藏

        ARP協議為地址和硬件地址之間提供映射。ARP報文分為請求和應答兩種報文,通過這兩種報文實現ARP緩存的更新。ARP高速緩存在它的運行過程中非常關鍵。由于微控制器硬件資源限制ARP高速緩存只定義了8組,因此查找采用線性搜索的方法對最終性能并沒有影響。緩存只包含以下4項既可以實現ARP協議又可以節省硬件資源:地址、MAC地址、寫入時間、標志位。
        2.3 運輸層實現
        運輸層僅僅實現了(Transfer Control Protocol傳輸控制協議)。該協議提供了全雙工高可靠性的通信,因此應用層和網絡層可以忽略相關細節。/體系中面向連接的運輸層協議,它所做的工作包括把應用程序交給它的數據分組交給下面的網絡層,確認接收到的分組,設置發送最后確認分組的超時時鐘等。
        每當本地發出連接建立請求后,創建一個對應的傳輸控制模塊TCB(Transmission Control Block).它存儲了該連接中的重要信息。和ARP高速緩存一樣其數據保存在片內數據存儲區來提高協議的運行效率。本文中TCB的實現只包含以下內容:IP地址、雙方端口號、雙方序列號、對方應答序號、當前連接狀態、定時器、指向下一個有效數據區的指針、窗口大小。此外通過對TCP首部的選項字段的配置,即保證在局域網內部傳輸時IP層傳輸時不會分片使MMS(Maximum Segment Size 最大報文段長度)盡可能大,可以提高TCP傳輸效率。 同時考慮到作為客戶端應用,在不影響正常工作的前提下TCP有限狀態機實現中去掉了服務端的兩個狀態LISTEN(監聽)、SYN_RCVED(接收SYN狀0態)如下圖2所示。

        本文引用地址:http://www.104case.com/article/195759.htm



        圖2 TCP有限狀態機

        由于網絡中數據傳輸必然會產生數據丟失,TCP錯誤重傳和數據重組尤為重要。錯誤重傳是在發送了需對端確認的報文段后設置重傳定時器,如果在定時器時限內未收到ACK該報文段被重發。因此當數據發送之后要等到ACK確認報文才能丟棄。數據重組是基于面向字節的序列號,實現重復數據的丟棄、亂序報文的重組。

        3、協議族實現關鍵技術
        3.1 協議族定時器的實現
        ARP實現需要兩個定時器。重傳需要一個定時器,如果ARP報文發送后1秒中內沒有應答則再次發送,本文實現連續4次重傳后ARP將放棄;ARP高速緩存數據存儲時間需要一個定時器,緩存內容保存時間為20分鐘,同時允許管理員創建永久節點作為代理節點。
        TCP實現為當前連接建立了如下六個定時器:連接建立定時器,重傳定時器,延遲ACK定時器,持續定時器, FIN_WAIT_2定時器,TIME_WAIT定時器;去掉了保活定時器,因為該定時器僅是TCP連接的可選配置,在監控中的需要有應用程序實現更加嚴格的連接保持定時。本文根據實際監控網絡情況修改了標準協議族定義的超時時間,使實時性得以提高。
        3.2 協議族的內存管理策略
        傳入的分組是保存在內存中并將其傳遞給適當的協議作進一步處理的。同時,應用程序產生的數據也必須以分組的形式存儲在內存中,并最終將其交給網絡硬件設備傳送出去。因此協議的高效性取決于如何管理保存這些分組的存儲空間。本文對內存管理用以下兩種方法做到快速分配存儲空間,并且避免分組在各層協議之間移動時的數據復制。

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




        關鍵詞: 0020 TCP SF IP

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 枣强县| 吉林省| 泰和县| 正安县| 霸州市| 保德县| 祁阳县| 安庆市| 集安市| 兰西县| 衢州市| 徐汇区| 巴彦淖尔市| 平陆县| 临夏市| 池州市| 民丰县| 黑龙江省| 珠海市| 车险| 广州市| 故城县| 阿城市| 宝丰县| 思茅市| 耿马| 台南县| 南通市| 都昌县| 开远市| 凉山| 蛟河市| 民和| 海原县| 贵德县| 渝北区| 漳平市| 麻阳| 璧山县| 绥芬河市| 怀安县|