
TCP交互數據流,成塊數據流_數據分析師
目前建立在TCP協議上的網絡協議特別多,有telnet,ssh,有ftp,有http等等。這些協議又可以根據數據吞吐量來大致分成兩大類: (1)交互數據類型,例如telnet,ssh,這種類型的協議在大多數情況下只是做小流量的數據交換,比如說按一下鍵盤,回顯一些文字等等。(2)數據 成塊類型,例如ftp,這種類型的協議要求TCP能盡量的運載數據,把數據的吞吐量做到最大,并盡可能的提高效率。針對這兩種情況,TCP給出了兩種不同 的策略來進行數據傳輸。
1.TCP的交互數據流
對于交互性要求比較高的應用,TCP給出兩個策略來提高發送效率和減低網絡負擔:(1)捎帶ACK。(2)Nagle算法(一次盡量多的發數據)。通常,在網絡速度很快的情況下BT無線網絡破解教程 ,比如用lo接口進行telnet通信,當按下字母鍵并要求回顯的時候,客戶端和服務器將經歷 發送按鍵數據->服務器發送按鍵數據的ack -> 服務器端發送回顯數據->客戶端發送回顯數據的ACK的過程,而其中的數據流量將是40bit + 41bit+41bit+40bit = 162bit,如果在廣域網里面,這種小分組的TCP流量將會造成很大的網絡負擔。
1.1.捎帶ACK的發送方式
這個策略是說,當主機收到遠程主機的TCP數據報之后BT4,通常不馬上發送ACK數據報,而是等上一個短暫的時間,如果這段時間里面主機還有發送到遠程 主機的TCP數據報,那么就把這個ACK數據報“捎帶”著發送出去,把本來兩個TCP數據報整合成一個發送。一般的,這個時間是200ms??梢悦黠@地看 到這個策略可以把TCP數據報的利用率提高很多。
1.2.Nagle算法
上過bbs的人應該都會有感受,就是在網絡慢的時候發貼,有時鍵入一串字符串以后,經過一段時間,客戶端“發瘋”一樣突然回顯出很多內容,就好像數據一下子傳過來了一樣,這就是Nagle算法的作用。
Nagle算法是說,當主機A給主機B發送了一個TCP數據報并進入等待主機B的ACK數據報的狀態時,TCP的輸出緩沖區里面只能有一個TCP數 據報,并且,這個數據報不斷地收集后來的數據,整合成一個大的數據報,等到B主機的ACK包一到,就把這些數據“一股腦”的發送出去。雖然這樣的描述有些 不準確,但還算形象和易于理解,我們同樣可以體會到這個策略對于低減網絡負擔的好處。
在編寫插口程序的時候,可以通過TCP_NODELAY來關閉這個算法。并且,使用這個算法看情況的,比如基于TCP的X窗口協議,如果處理鼠標事件時還是用這個算法思科學習視頻資料下載中心,那么“延遲”可就非常大了。
2.TCP的成塊數據流
對于FTP這樣對于數據吞吐量有較高要求的要求,將總是希望每次盡量多的發送數據到對方主機,就算是有點“延遲”也無所謂。TCP也提供了一整套的策略來支持這樣的需求。TCP協議中有16個bit表示“窗口”的大小,這是這些策略的核心。
2.1.傳輸數據時ACK的問題
在解釋滑動窗口前,需要看看ACK的應答策略,一般來說,發送端發送一個TCP數據報,那么接收端就應該發送一個ACK數據報。但是事實上卻不是這 樣,發送端將會連續發送數據盡量填滿接受方的緩沖區,而接受方對這些數據只要發送一個ACK報文來回應就可以了,這就是ACK的累積特性,這個特性大大減 少了發送端和接收端的負擔。
2.2.滑動窗口
滑動窗口本質上是描述接受方的TCP數據報緩沖區大小的數據,發送方根據這個數據來計算自己最多能發送多長的數據。如果發送方收到接受方的窗口大小 為0的TCP數據報,那么發送方將停止發送數據,等到接受方發送窗口大小不為0的數據報的到來。書中的P211和P212很好的解釋了這一點。
關于滑動窗口協議,書上還介紹了三個術語,分別是:
窗口合攏:當窗口從左邊向右邊靠近的時候思科路由器配置,這種現象發生在數據被發送和確認的時候。
窗口張開:當窗口的右邊沿向右邊移動的時候,這種現象發生在接受端處理了數據以后。
窗口收縮:當窗口的右邊沿向左邊移動的時候,這種現象不常發生。
TCP就是用這個窗口,慢慢的從數據的左邊移動到右邊,把處于窗口范圍內的數據發送出去(但不用發送所有,只是處于窗口內的數據可以發 送。)。這就是窗口的意義。圖20-6解釋了這一點。窗口的大小是可以通過socket來制定的,4096并不是最理想的窗口大小,而16384則可以使 吞吐量大大的增加。
2.3.數據擁塞
上面的策略用于局域網內傳輸還可以,但是用在廣域網中就可能會出現問題,最大的問題就是當傳輸時出現了瓶頸(比如說一定要經過一個slip 低速鏈路)所產生的大量數據堵塞問題(擁塞),為了解決這個問題,TCP發送方需要確認連接雙方的線路的數據最大吞吐量是多少。這,就是所謂的擁塞窗口。
擁塞窗口的原理很簡單,TCP發送方首先發送一個數據報思科路由器交換機模擬軟件,然后等待對方的回應,得到回應后就把這個窗口的大小加倍,然后連續發送兩個數據 報,等到對方回應以后,再把這個窗口加倍(先是2的指數倍,到一定程度后就變成現行增長,這就是所謂的慢啟動),發送更多的數據報,直到出現超時錯誤,這 樣,發送端就了解到了通信雙方的線路承載能力,也就確定了擁塞窗口的大小,發送方就用這個擁塞窗口的大小發送數據。要觀察這個現象是非常容易的,我們一般 在下載數據的時候,速度都是慢慢“沖起來的”
以上就是TCP數據傳輸的大致流程,雖然并不細致,但是足以描述TCP的工作原理,重點是TCP的流量控制原理,滑動窗口,擁塞窗口,ACK累計確認等知識點。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25