1. 程式人生 > >TCP 滑動視窗用以進行流量控制

TCP 滑動視窗用以進行流量控制

 滑動視窗協議原理是:對所有資料幀按順序賦予編號,傳送方在傳送過程中始終保持著一個傳送視窗,只有落在傳送視窗內的幀才允許被髮送;同時接收方也維持著一個接收視窗,只有落在接收視窗內的幀才允許接收。
通過調整發送方視窗和接收方視窗的大小可以實現流量控制,就象通過閥門控制水流速度一樣。
     TCP使用滑動視窗進行流控。
 -開始的時候視窗比較小,然後開始增長直到有錯誤發生時為止。
 -視窗的滑動依賴於網路效能。
也就是說 TCP協議通過滑動視窗來實現流量控制和差錯控制以至於實現可靠傳輸。
 TCP滑動視窗技術通過動態改變視窗大小來調節兩臺主機間資料傳輸。每個TCP/IP主機支援全雙工資料傳輸,因此TCP有兩個滑動視窗:一個用於接收資料,另一個用於傳送資料。TCP使用肯定確認技術,其確認號指的是下一個所期待的位元組。
    假定傳送方裝置以每一次三個資料包的方式傳送資料,也就是說,視窗大小為3。傳送方傳送序列號為1、2、3的三個資料包,接收方裝置成功接收資料包,用序列號4確認。傳送方裝置收到確認,繼續以視窗大小3傳送資料。當接收方裝置要求降低或者增大網路流量時,可以對視窗大小進行減小或者增加,本例降低視窗大小為2,每一次傳送兩個資料包。當接收方裝置要求視窗大小為0,表明接收方已經接收了全部資料,或者接收方應用程式沒有時間讀取資料,要求暫停傳送。傳送方接收到攜帶視窗號為0的確認,停止這一方向的資料傳輸。
    滑動視窗機制為端到端裝置間的資料傳輸提供了可靠的流量控制機制。然而,它只能在源端裝置和目的端裝置起作用,當網路中間裝置(例如路由器等)發生擁塞時,滑動視窗機制將不起作用。

相關推薦

TCP 滑動視窗用以進行流量控制

滑動視窗協議原理是:對所有資料幀按順序賦予編號,傳送方在傳送過程中始終保持著一個傳送視窗,只有落在傳送視窗內的幀才允許被髮送;同時接收方也維持著一個接收視窗,只有落在接收視窗內的幀才允許接收。 通過調整發送方視窗和接收方視窗的大小可以實現流量控制,就象通過閥門控制水流速度

TCP滑動視窗協議及擁塞控制

TCP協議作為一個可靠的面向流的傳輸協議,其可靠性和流量控制由滑動視窗協議保證,而擁塞控制則由控制視窗結合一系列的控制演算法實現。一、滑動視窗協議     關於這部分自己不曉得怎麼敘述才好,因為理解的部分更多,下面就用自己的理解來介紹下TCP的精髓:滑動視窗協議。   

TCP滑動視窗機制 流量控制 擁塞控制

轉自http://blog.chinaunix.net/uid-26275986-id-4109679.html TCP協議作為一個可靠的面向流的傳輸協議,其可靠性和流量控制由滑動視窗協議保證,而擁塞控制則由控制視窗結合一系列的控制演算法實現。 一、滑動視窗協議     &n

TCP滑動視窗控制流量的原理 TCP滑動視窗控制流量的原理

  TCP滑動視窗控制流量的原理   TCP的滑動視窗機制       TCP這個協議是網路中使用的比較廣泛,他是一個面向連線的可靠的傳輸協議。既然是一個可靠的傳輸協議就需要對資料進行確認。TCP協議裡視窗機制有2種:一種是固定的

TCP 滑動視窗流量控制

首先明確: 1)TCP滑動視窗分為接受視窗,傳送視窗 滑動視窗協議是傳輸層進行流控的一種措施,接收方通過通告發送方自己的視窗大小,從而控制傳送方的傳送速度,從而達到防止傳送方傳送速度過快而導致自己被淹沒的目的。 對ACK的再認識,ack通常被理解為收到資料後給出的一個確認ACK,ACK包含兩個非常重要的資訊:

TCP滑動視窗流量控制,擁塞控制原理介紹

TCP協議作為一個可靠的面向流的傳輸協議,其可靠性和流量控制由滑動視窗協議保證,而擁塞控制則由控制視窗結合一系列的控制演算法實現。一、滑動視窗協議     關於這部分自己不曉得怎麼敘述才好,因為理解的部分更多,下面就用自己的理解來介紹下TCP的精髓:滑動視窗協議。     所

TCP協議的滑動視窗具體是怎樣控制流量的?

1)TCP滑動視窗分為接受視窗,傳送視窗 滑動視窗協議是傳輸層進行流控的一種措施,接收方通過通告發送方自己的視窗大小,從而控制傳送方的傳送速度,從而達到防止傳送方傳送速度過快而導致自己被淹沒的目的。 對ACK的再認識,ack通常被理解為收到資料後給出的一個確認ACK,ACK包含兩個非常重要的資訊:一是期望接收

TCP滑動視窗機制 流量控制

TCP滑動視窗機制TCP滑動視窗機制分為兩種:固定大小視窗;滑動視窗(不固定大小)。由於TCP傳輸是支援全雙工的,因此傳送方和接收方各維護了兩個滑動視窗(接收視窗和傳送視窗)。滑動視窗會對資料幀進行編號,只有落在傳送視窗的資料才能被髮送,也只有落在接收視窗的資料才能被讀取。因

TCP協議滑動視窗協議以及擁塞控制演算法

http://blog.csdn.net/liuchen1206/article/details/8599542 什麼是滑動視窗協議?     一圖勝千言,看下面的圖。簡單解釋下,傳送和接受方都會維護一個數據幀的序列,這個序列被稱作視窗。傳送方的視窗大小由接受方確定,目

TCP協議怎樣進行流量控制,並且怎麼保證傳輸的可靠性

首先,網路7層模型有:傳輸層、網路層、會話層、資料鏈路層、表示層、應用層、物理層。 其中TCP協議是傳輸層協議 T C P使用一種視窗(w i n d o w)機制來控制資料流。當一個連線建立時,連線的每一端分配一個緩衝區來儲存輸入的資料,並將緩衝區的尺寸傳送給另一端。當

傳輸層-Transport Layer(下):UDP與TCP報頭解析、TCP滑動視窗TCP擁塞控制詳解

# 第六章 傳輸層-Transport Layer(下) 上一篇文章對傳輸層的定址方式、功能、以及流量控制方法做了簡短的介紹,這一部分將介紹傳輸層最重要的兩個例項:TCP協議和UDP協議,看一看之前描述的傳輸層要素是如何應用於TCP、UDP協議之中,並實現他們各自特點的。這一章中,讀者應該重點關注TCP與U

TCP/IP:擁塞演算法與流量控制演算法 學習小結

1.檢視支援的擁塞控制協議? cat /proc/sys/net/ipv4/tcp_allowed_congestion_control 2.修改阻塞演算法:  sysctl net.ipv4.tcp_congestion_control=???? 進行修改演算法 概

網路基本功(八):細說TCP滑動視窗

介紹 將TCP與UDP這樣的簡單傳輸協議區分開來的是它傳輸資料的質量。TCP對於傳送資料進行跟蹤,這種資料管理需要協議有以下兩大關鍵功能: 可靠性:保證資料確實到達目的地。如果未到達,能夠發現並重傳。 資料流控:管理資料的傳送速率,以使接收裝置不致於過載。 要完

TCP 滑動視窗(傳送視窗和接收視窗

   TCP協議作為一個可靠的面向流的傳輸協議,其可靠性和流量控制由滑動視窗協議保證,而擁塞控制則由控制視窗結合一系列的控制演算法實現。一、滑動視窗協議     關於這部分自己不曉得怎麼敘述才好,因為理解的部分更多,下面就用自己的理解來介紹下TCP的精髓:滑動視窗協議。 

TCP滑動視窗與回退N針協議

滑動視窗協議   1.傳送端和接收端分別設定傳送視窗和接收視窗。  2.三次握手的時候,客戶端把自己的緩衝區大小也就是視窗大小發送給伺服器,伺服器迴應是也將視窗大小發送給客戶端,伺服器客戶端都知道了彼此的視窗大小。  3.比如主機A的傳送視窗大小為5,主機A可以向主機B傳

TCP滑動視窗和socket緩衝區之間的關係(記錄)

一、TCP的滑動視窗大小實際上就是socket的接收緩衝區大小的位元組數 二、對於server端的socket一定要在listen之間設定緩衝區大小,因為,accept時新產生的socket會繼承監聽socket的緩衝區大小。對於client端的socket一定要在co

TCP 滑動視窗機制

本文要解決的問題: 瞭解滑動視窗機制的原理和基本方法。 (1).視窗機制    滑動視窗協議的基本原理就是在任意時刻,傳送方都維持了一個連續的允許傳送的幀的序號,稱為傳送視窗;同時,接收方也維

TCP滑動視窗機制

 (1).視窗機制 滑動視窗協議的基本原理就是在任意時刻,傳送方都維持了一個連續的允許傳送的幀的序號,稱為傳送視窗;同時,接收方也維持了一個連續的允許接收的幀的序號,稱為接收視窗。傳送視窗和接收視窗的序號的上下界不一定要一樣,甚至大小也可以不同。不同的滑動視窗協議視窗大

TCP 滑動視窗/TCP 接收和傳送緩衝區/核心sock接收和傳送緩衝區

一個socket在核心中有兩個緩衝區,分別為接收和傳送緩衝區。 struct sock { …… struct sk_buff_head sk_receive_queue;—-接收佇列 struct sk_buff_hea

TCP滑動視窗移動規則

一、TCP的滑動視窗大小實際上就是socket的接收緩衝區大小的位元組數 二、對於server端的socket一定要在listen之間設定緩衝區大小,因為,accept時新產生的socket會繼承監聽socket的緩衝區大小。對於client端的socket一定要在co