1. 程式人生 > 其它 >【Network】5.4 TCP的流量控制

【Network】5.4 TCP的流量控制

5.4 TCP的流量控制

  • RWND (Receiver Window) 滑動視窗,rwnd欄位數值代表視窗大小
  • CWND(Congestion Window)擁塞視窗
  • ACK(Acknowledge character),即確認字元,ack欄位數值代表在該數值前的資料都已經被確認過。

TCP的流量控制的目的

所謂流量控制就是在考慮到接收方在來不及接收所有分組的情況下會選擇丟失部分分組的策略,於是將傳送方傳送的速率進行約束,使得接收方能夠來得及接收。

TCP的流量控制

打個比方,主機A向主機B不斷投食,主機B通過自己的飽脹程度來告訴主機A下一次投食的量,以至不會吃太撐。

死鎖局面

如何感性理解死鎖?

打個比方,就比如古時皇帝向前線傳送一條指令,而這條指令卻被半路攔截了,導致前線無法得到指令來做出下一步的動作,而皇帝也在等待前線傳來的戰況。此時雙方的等待使得雙方都陷入到無法破局的局面(死鎖)。

如何打破死鎖局面?

那麼傳送方和接收方其中有一者就要做出讓步,向另外一方定時詢問(持續),是否真的不要讓我再發東西了(零視窗探測報文),然後接收方給傳送方回覆(rwnd)。

而如果零視窗探測報文又在傳輸過程中丟失了,那又該怎麼辦?

不用擔心,零視窗探測報文也有定時重傳的設定。