網路程式設計 TCP的滑動視窗

2021-09-13 02:43:47 字數 418 閱讀 5075

滑動視窗實現了tcp流控制。首先明確滑動視窗的範疇:tcp是雙工的協議,會話的雙方都可以同時接收和傳送資料。tcp會話的雙方都各自維護乙個傳送視窗和乙個接收視窗。各自的接收視窗大小取決於應用、系統、硬體的限制(tcp傳輸速率不能大於應用的資料處理速率)。各自的傳送視窗則要求取決於對端通告的接收視窗,要求相同。

滑動視窗解決的是流量控制的的問題,就是如果接收端和傳送端對資料報的處理速度不同,如何讓雙方達成一致。接收端的快取傳輸資料給應用層,但這個過程不一定是即時的,如果傳送速度太快,會出現接收端資料overflow,流量控制解決的是這個問題。

tcp使用滑動視窗做流量控制與亂序重排

傳送方沒有收到接收方發回的ack,就不能向右滑動。當在前面還有位元組未接收但收到後面位元組的情況下,視窗不會移動,並不對後續位元組確認。以此確保對端會對這些資料重傳。

滑動視窗動畫演示

TCP滑動視窗

目前建立在tcp協議上的網路協議特別多,有telnet,ssh,有ftp,有http等等。這些協議又可以根據資料吞吐量來大致分成兩大類 1 互動資料型別,例如telet,ssh,這種型別的協議在大多數情況下只是做小流量的資料交換,比如說按一下鍵盤,回顯一些文字等等。2 資料成塊型別,例如ftp,這種...

TCP滑動視窗

假設a和b之間新建立了一條tcp連線。裝置a需要傳送一長串資料流,但裝置b無法一次全部接收,所以它限制裝置a每次傳送分段指定數量的位元組數,直到分段中已傳送的位元組數得到確認。之後,裝置a可以繼續傳送更多位元組。每乙個裝置都對傳送,接收及確認資料進行追蹤。tcpbuffer中資料可以分為以下四類 1...

TCP滑動視窗

tcp滑動視窗是用來控制流量的,避免擁塞的發生。滑動視窗又包括接收端滑動視窗和傳送端滑動視窗,下面我們簡單分析一下。上圖顯示的是接收緩衝區,其中接收視窗也在其中。接收視窗的大小是8,即4 12,此時由a可知,接收端下乙個預計接收序列號4,當接收端接收到4 7之後,滑動視窗就會右移,此時接收端預計接收...