日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TCP/IP学习笔记(六)Nagle算法

發布時間:2024/4/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TCP/IP学习笔记(六)Nagle算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在TCP傳輸數據流中,存在兩種類型的TCP報文段,一種包含成塊數據(通常是滿長度的,攜帶一個報文段最多容納的字節數),另一種則包含交互數據(通常只有攜帶幾個字節數據)。

對于成塊數據的報文段,TCP采用正常的流程發送即可,因為數據利用率很高。而對于交互數據的報文段,數據利用率就顯得很低,在網絡環境不好的情況下容易加重網絡負擔。所以TCP必須對交互數據單獨處理

交互數據實際上就是字節數很少的數據,比如客戶端調用10次send操作,每次只發送一個字節的數據。

Nagle算法

nagle算法用于處理小報文段(微小分組)的發送問題

nagle算法的核心思想是允許網絡中最多只能有一個小分組被發送,而待發送的其它小分組會被重新分組成一個”較大的”小分組,等收到上一個小分組的應答后再發送

nagle算法可以減少網絡中微小分組的數量,比如客戶端需要依次向服務器發送大小為1,2,3,1,2字節的5個分組

在沒有開啟nagle算法的情況下,這些小分組會被依次發送(不需要等待上一個小分組的應答,因為沒啟動nagle),總共發送的報文段(分組)個數為5

當開啟nagle算法時,客戶端首先發送大小為1字節的第一個分組,隨后其它分組到達發送緩沖區,由于上一個分組的應答還沒有收到,所以TCP會先緩存新來的這4個小分組,并將其重新分組,組成一個大小為8(2+3+1+2)字節的”較大的”小分組。當第一個小分組的應答收到后,客戶端將這個8字節的分組發送。總共發送的報文段(分組)個數為2

可以看到,當傳輸數據存在大量交互數據時,nagle算法可以有效減少網絡中的報文段個數

下面通過wireshark抓包分析nagle算法,客戶端服務器的執行流程為

  • 建立連接
  • 客戶端將字符串”hello”發送給服務器,但是每次只發送一個字節(即連續調用5次send/write函數)
  • 服務器收到客戶端的數據后將其緩存,等到全部收到后將其發回客戶端
  • 通過wireshark觀察網絡中報文段的傳輸

不知道是操作問題還是客戶端服務器處在一個主機上傳輸速度太快的原因,代碼執行了好多次才有個別能體現nagle算法的結果

對圖中結果進行分析

  • 1-3行是三次握手
  • 4-5行是發送字節’h’以及服務器的應答
  • 6-7行是發送字節’e’以及服務器的應答
  • 8-9行是發送字節’llo’以及服務器的應答
  • 10行是服務器發送的”hello”報文段
  • 11-14行是四次揮手

可以看到nagle算法確實將待發送的小分組重新分組,等到上一個小分組確認報文到達后一起發送

禁止Nagle

雖然nagle算法可以減少網絡中小分組的個數,但是對于那些需要實時預覽的通訊程序而言,客戶端可能需要不斷發送更新數據并得到服務器的響應,這種情況下nagle算法會造成客戶端明顯的延遲,所以需要禁用nagle算法

將套接字描述符設置TCP_NODELAY選項可以禁止nagle算法

#include <netinet/tcp.h> ...void cancel_nagle(int fd) {int val = 1;::setsockopt(fd, SOL_TCP, TCP_NODELAY, &val, sizeof(val)); }

還是以上面的程序為例,這回將nagle算法禁止,觀察wireshark抓包結果,預計客戶端TCP可以連續發送小報文段而不需要等待上一個小報文段的確認

總結

以上是生活随笔為你收集整理的TCP/IP学习笔记(六)Nagle算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩精品中文字幕在线播放 | 五月婷婷狠狠爱 | 欧美xxxx黑人xyx性爽 | 欧洲天堂网| 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 让男按摩师摸好爽视频 | 欧美性猛交xxxx乱大交退制版 | 超碰人人网 | 欧美精品久久久久久久多人混战 | 亚洲骚片| 天天操狠狠干 | 国产熟女一区二区三区四区 | 久久福利免费视频 | 日韩精品久久一区二区 | 精品一区二区三区视频在线观看 | 女性裸体下面张开 | 视频一区 国产 | 日本一区二区观看 | 精品国产青草久久久久96 | 玩偶姐姐在线观看免费 | 懂色av一区二区三区蜜臀 | 午夜操一操| 在线视频观看一区二区 | 少妇激情在线 | 中文字幕av久久爽一区 | 91在线网| 国产黄| 国产剧情一区 | 凹凸国产熟女精品视频 | 男男上床视频 | 欧美激情免费观看 | 草比视频在线观看 | 欧美大胆a视频 | av55 | 免费高清av在线看 | 亚洲a色 | 成人香蕉网 | 女同视频网站 | 日韩一区二区三区四区在线 | 国产福利在线免费观看 | 亚洲精选久久久 | 久久不射影院 | 国产欧美精品一区二区在线播放 | 国产1级片 | 蜜桃91麻豆精品一二三区 | 麻豆91精品91久久久 | 亚洲成人一级 | 在线国产欧美 | 亚洲国产精彩中文乱码av | 亚洲精品乱码久久久久久蜜桃91 | 欧美成人手机在线视频 | 日韩电影在线观看一区二区 | 一卡二卡三卡四卡 | 国产一区视频观看 | 国产精彩视频一区 | 激情综合激情 | 可以在线观看的av网站 | 国产精品色图 | 亚洲片在线观看 | 午夜国产一区二区三区 | 国内精品视频在线播放 | √资源天堂中文在线 | 熟妇人妻av无码一区二区三区 | 无码gogo大胆啪啪艺术 | 亚州| 贵族女沦为官妓h呻吟 | 一本到免费视频 | 国产精品成av人在线视午夜片 | 欧美色999 | 国产精品自拍在线观看 | 91免费.| 99热精品在线播放 | 欧美激情久久久久 | 在线日韩中文字幕 | 国产精品久久久久久久妇 | 麻豆精品影院 | 黑人玩弄人妻一区二区三区四 | 亚洲精品久久久久国产 | 日本女优一区 | 国产一区二区三区乱码 | 淫人网| 精品一区二区三区免费毛片 | 永久av免费 | 日本草草影院 | 蜜臀av一区 | 亚洲欧美影院 | 国产一区二区三区视频播放 | 色婷婷在线观看视频 | 日日摸天天爽天天爽视频 | 国产视频手机在线播放 | 天天舔天天操 | 国产一级在线观看视频 | 成人久久久精品国产乱码一区二区 | 综合五月网 | 日本一区二区三区四区五区 | 在线黄色大片 | 国产精品天天看 | 亚洲黄网在线观看 | 三级全黄视频 | www.插插插|