<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種嵌入式IPv4/IPv6雙協(xié)議棧的實現(xiàn)

          一種嵌入式IPv4/IPv6雙協(xié)議棧的實現(xiàn)

          作者: 時間:2012-04-13 來源:網(wǎng)絡 收藏

          3.4.2 簡化TCP狀態(tài)機

          TCP的面向連接和可靠性傳輸?shù)忍匦詻Q定了每一個標準的TCP狀態(tài)機龐大而且復雜,對于應用,可以根據(jù)需要進行簡化。

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

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

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

          54.jpg

          55.jpg
          3.4.3 簡化的窗口機制

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

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

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

          4 棧的移植和測試

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

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

          tcp/ip相關(guān)文章:tcp/ip是什么




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();