新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種嵌入式IPv4/IPv6雙協議棧的實現

        一種嵌入式IPv4/IPv6雙協議棧的實現

        作者: 時間:2012-04-13 來源:網絡 收藏

        3.4.2 簡化TCP狀態機

        TCP的面向連接和可靠性傳輸等特性決定了每一個標準的TCP狀態機龐大而且復雜,對于應用,可以根據需要進行簡化。

        建立連接分為主動打開和被動打開,本棧設計作為監聽狀態的服務器端,僅被動打開。在設計中去掉了CLOSED狀態,讓它一開始就處于LISTEN狀態,等待對方發起連接。

        斷開連接分為主動斷開和被動斷開,從安全性的角度考慮,本設計僅主動斷開連接。當服務器發送完數據時,向客戶機發送關閉連接請求。

        通過以上分析,根據特定的應用不失一般性的裁減掉復雜和冗余的機制,除去標準狀態機中的客戶端部分,簡化連接的建立和關閉過程,就得到如圖2所示的簡化的TCP狀態機模型。

        54.jpg

        55.jpg
        3.4.3 簡化的窗口機制

        標準的TCP使用慢啟動的滑動窗口機制[5],它允許發送方在等待一個確認之前發送多個窗口。其確認是一種批量的確認,處理器要對多個數據報連續傳輸進行維護和處理,困難較大。

        而滑動窗口的一個極限情況,是只使用單個窗口,這就變成了一種簡單確認的處理方法。只是對于單個數據報的發送和確認,雖然節約了系統的資源,也使維護更加方便,但是卻降低了效率。

        系統采用了一個折中的辦法,適當調整窗口的大小,限制連續發送報文段的個數來了一個簡化的窗口機制,如圖3所示。在這里,設置窗口大小(snd_wnd)為4個最大報文段長度(MSS),可以適當提高數據傳輸效率。

        4 棧的移植和測試

        在完成雙協議棧的設計調試后,將此協議棧移植到基于ARM7TDMI核的AT91M40800開發板上,使用其中內嵌的10Mbps以太網控制器 RTL8019AS作為網絡接口。在該平臺上實現了一個簡單的Web Server。通過構建提供IPv4地址和IPv6地址訪問的網絡拓撲結構進行測試,該雙協議棧運行穩定、正常。

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

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




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 浏阳市| 禄劝| 漳州市| 上高县| 内丘县| 林周县| 高青县| 永宁县| 诸暨市| 浮梁县| 大渡口区| 兴化市| 西林县| 保山市| 临洮县| 五家渠市| 沙雅县| 叶城县| 海原县| 新田县| 上栗县| 肃北| 汕尾市| 溧水县| 斗六市| 阳新县| 漳州市| 曲水县| 灵川县| 双江| 瓦房店市| 永福县| 蒲城县| 邢台县| 塔河县| 义乌市| 开化县| 涟水县| 静安区| 张家港市| 长汀县|