以前我們提到tcp協議的三次握手和四次揮手中的細節,接下來講講tcp被稱為可靠性傳輸協議的依據。
一、停止等待協議
1.無差錯傳輸:在理想情況下,a傳送資料後,等待b接受,b發出確認收到後a才開始傳送下一組資料。
2.出現差錯:由於某種未知原因,a發出資料後丟失了,該資料丟失了。此時b未收到,一定時間後出發超時重傳機制。
超時重傳:a發出資料後,自身暫時還保留著該資料(以便重傳),每當一組資料發出時,設定乙個定時器,來監視發出的資料收到沒;若是沒收到,則a重新傳送該資料。注意:定時器設定的時間應該長於平均往返時間。
3.確認丟失和確認遲到:a發出資料,b收到後發出確認資訊,但是該確認訊息被阻塞在網路中,a在定時器設定時間內未收到,那麼a重新傳送。 這時b又收到重複與的資料,要做的事情是:丟棄這個資料,再次確認給a。
上述的這種重傳機制,我們就可以在不可靠的網路中實現可靠通訊。這種可靠性傳輸協議稱為自動重傳協議arq。
二、滑動視窗
如上圖:滑動視窗的單位是位元組為單位,a傳送的視窗裡的傳送序列號是代表允許傳送的資料,視窗越大,允許傳送的資料越多,但b要來得及接受。
原理:等待視窗內所有資料都確認傳輸完成後,視窗向前滑動;
視窗分為幾個區域:已傳送但是為收到確認,未傳送區。等到未傳送區間為0時,這時候說明資料全部傳輸完畢,滑動視窗。
注意:
1.根據網路的擁塞情況,傳送端a可以調控滑動視窗的大小來控制流量
2.對於未按序到達的資料,tcp將它們放在接受視窗中。
三、流量控制
tcp協議的流量控制,可以讓傳送方的速度不要太快,從而讓接收方有時間接受傳送的資料。
流量控制的方法:通過減小滑動視窗大小來控制流量。
四、擁塞控制
什麼是擁塞?
是指計算機網路中,某乙個時段,某一資源的需求量超過了該資源可提供的可用部分,網路效能變差。
所謂的擁塞控制就是防止過多的資料注入到網路中,這樣可以使網路中的路由器或者節點不至於過載,擁塞控制是乙個全域性的過程。
幾種擁塞控制的方法:網際網路建議標準rfc定義了幾種擁塞控制的演算法;
滿開始,擁塞避免,快重傳,快恢復
TCP協議之TCP的可靠性傳輸
tcp保證可靠性主要有以下幾個方面 1.超時重傳機制 2.流量控制 3.擁塞控制 4.資料校驗超時重傳是tcp協議保證資料可靠性的另乙個重要機制。其原理是在傳送某乙個資料以後就開啟乙個計時器,在一定時間內如果沒有得到傳送的資料報的ack報文,那麼就重新傳送資料,直到傳送成功為止。簡單來說,就是tcp...
TCP協議 如何保證傳輸可靠性
tcp協議保證資料傳輸可靠性的方式主要有 校驗和 序列號 確認應答 超時重傳 連線管理 流量控制 擁塞控制 計算方式 在資料傳輸的過程中,將傳送的資料段都當做乙個16位的整數。將這些整數加起來。並且前面的進製不能丟棄,補在後面,最後取反,得到校驗和。傳送方 在傳送資料之前計算檢驗和,並進行校驗和的填...
TCP協議如何保證傳輸的可靠性
tcp提供一種面向連線的 可靠的位元組流服務。面向連線 意味著兩個使用tcp的應用 通常是乙個客戶和乙個伺服器 在彼此交換資料之前必須先建立乙個tcp連線。在乙個tcp連線中,僅有兩方進行彼此通訊。廣播和多播不能用於tcp。tcp通過下列方式來提供可靠性 1 應用資料被分割成tcp認為最適合傳送的資...