新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Nagle算法的嵌入式TCP協議

        基于Nagle算法的嵌入式TCP協議

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

        簡化TCP 協議的性能分析

        這種簡化的TCP 協議的性能可以通過在NS-2

        網絡模擬器中進行模擬實現。

        通常在嵌入式的環境中,應用層產生的數據包是很小的,經常是每個包只有幾個、十幾、幾十個字節的數據,這樣就產生了一個問題: TCP 協議的報頭開銷太大。假設數據僅有一個字節,而TCP 的包頭有40 個字節,這樣的數據報對底層網絡的利用率僅僅只有1/ 41 ,考慮到分組之間的間隙和網絡硬件組成幀還需要一些比特,實際的網絡利用率更低。 嵌入式系統的這種常見的小的數據包造成了網絡帶寬的極大浪費。除了網絡利用率不高之外,還有另外一個問題是產生TCP 數據包數量極多,網關和路由器會由于這些極大數量的小數據包而發生阻塞。

        組塊技術與其不足

        通過以上分析,很自然的想到采用組塊技術(clumping) 把一定數量的數據包組成一個幀,這樣既能減小報頭開銷,又能減小TCP 數據包的數量,而且代碼量增加很少。但是,這樣組包會產生一個問題,TCP 在數據幀未達到一定大小之前不會傳輸數據,這樣產生的延時會影響到數據的實時傳輸。因此,有必要對怎樣避免這種延時進行研究。

        Nagle 算法的由來

        發展初期,由于bbs 和新聞組的流行,網絡上充斥著大量的telnet 產生的小的數據包,數量極大的這些數據包使得路由器和網關發生了嚴重的阻塞現象,這和嵌入式系統中的情形類似。JoneNagle 提出了一種算法來對付這種棘手的小數據包問題,后來被稱為Nagle 算法。

        Nagle 算法與簡單的組包( clumping) 技術不同,它和慢啟動一樣使用自計時( self clocking) 、用確認的到達來觸發其余數據的傳輸。因此它沒有引入額外的延時,而且能有效地減少網絡上小數據包的流量。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东方市| 巴南区| 连山| 油尖旺区| 丰台区| 勃利县| 伊宁市| 周宁县| 日喀则市| 平顶山市| 平南县| 双峰县| 吉安县| 凤庆县| 易门县| 嫩江县| 土默特左旗| 五常市| 尚志市| 大兴区| 博白县| 金坛市| 育儿| 柳江县| 泉州市| 太湖县| 连山| 郯城县| 桓仁| 布拖县| 长丰县| 和硕县| 古田县| 新邵县| 墨竹工卡县| 潜山县| 万州区| 子长县| 乌拉特中旗| 五家渠市| 海阳市|