1
、滑動視窗
滑動視窗協議是傳輸層進行流控的一種措施,接收方通過通告發
送方自己的視窗大小,從而控制傳送方的傳送速度,從而達到防止傳送方傳送速度過快而導致自己被淹沒的目的。
tcp的滑動視窗解決了端到端的流量控制問題,允許接受方對傳輸進行限制,直到它擁有足夠的緩衝空間來容納更多的資料。
2、擁塞視窗
擁塞視窗也看做是傳送端用來進行流量控制的視窗。
但是,實際上,
tcp還必須應付網際網路中的擁塞現象。擁塞是指乙個或者多個交換點的資料報超載而導致時延劇烈增加的現象。為了控制擁塞,
tcp使用了第二個視窗限制,即擁塞視窗限制。對於擁塞視窗大小的限制採用慢開始和乘法減小兩種技術。
乘法減小的擁塞避免策略:一旦發現報文段丟失,就把擁塞視窗的大小減半(直到減至最小的視窗,視窗中應至少包含乙個報文段)。
慢開始恢復:擁塞視窗隨著乙個確認的到達,擁塞視窗的大小每次增加乙個報文段。
3、小結
慢啟動為傳送方的
tcp增加了另乙個視窗:擁塞視窗
(congestion window)
,記為cwnd
。當與另乙個網路的主機建立
tcp連線時,擁塞視窗被初始化為
1個報文段(即另一端通告的報文段大小)。每收到乙個
ack,擁塞視窗就增加乙個
報文段(
cwnd
以位元組為單位,但是慢啟動以報文段大小為單位進行增加)。傳送方取擁塞視窗與通告
/滑動視窗中的最小值作為傳送上限。
擁塞視窗是傳送方使用的流量控制,而通告
/滑動視窗則是接收方使用的流量控制。
傳送方開始時傳送乙個報文段,然後等待
ack。當收到該
ack時,擁塞視窗從
1增加為
2,即可以傳送兩個報文段。
當收到這兩個報文段的
ack時,擁塞視窗就增加為
4。這是一種指數增加的關係。
原文講的非常詳細
滑動視窗與擁塞視窗
滑動視窗協議是傳輸層進行流控的一種措施,接收方通過通告傳送方自己的視窗大小,從而控制傳送方的傳送速度,從而達到防止傳送方傳送速度過快而導致自己被淹沒的目的。對ack的再認識,ack通常被理解為收到資料後給出的乙個確認。事實上該確認是指接收端已經收到確認楨以前的所有的楨。舉個例子,假如接收端收到 1 ...
TCP滑動視窗與擁塞視窗
滑動視窗協議是傳輸層進行流控的一種措施,接收方通過通告傳送方自己的視窗大小,從而控制傳送方的傳送速度,從而達到防止傳送方傳送速度過快而導致自己被淹沒的目的。對ack的再認識,ack通常被理解為收到資料後給出的乙個確認ack,ack包含兩個非常重要的資訊 一是期望接收到的下一位元組的序號n,該n代表接...
TCP的滑動視窗與擁塞視窗
一 滑動視窗 滑動視窗協議是傳輸層進行流控的一種措施,接收方通過通告傳送方自己的視窗大小,從而控制傳送方的傳送速度,從而達到防止傳送方傳送速度過快而導致自己被淹沒的目的。對ack的再認識,ack通常被理解為收到資料後給出的乙個確認ack,ack包含兩個非常重要的資訊 一是期望接收到的下一位元組的序號...