1、tcp面向連線(如打**要先撥號建立連線);udp是無連線的,即傳送資料之前不需要建立連線
2、tcp提供可靠的服務。也就是說,通過tcp連線傳送的資料,無差錯,不丟失,不重複,且按序到達;udp盡最大努力交付,即不保證可靠交付
4、每一條tcp連線只能是點到點的;udp支援一對一,一對多,多對一和多對多的互動通訊
5、tcp首部開銷20位元組;udp的首部開銷小,只有8個位元組
6、tcp的邏輯通訊通道是全雙工的可靠通道,udp則是不可靠通道
流量控制(點對點通訊控制)
讓傳送方傳送速率不要太快,使接收方來得及接收。
基於滑動視窗的流量控制機制:接收方根據接收快取的大小動態控制傳送方的傳送視窗大小(調整tcp首部「視窗」字段值),限制傳送方網路注入報文的速率,同時根據網路擁塞程度估計視窗值。
擁塞控制(全域性,涉及全網路主機、路由器等)
防止過多的資料注入網路,可以使網路中的路由器或鏈路不致於過載。
演算法:慢開始、擁塞避免、快重傳、快恢復
慢開始與擁塞避免
傳送方維持乙個擁塞視窗(cwnd)的狀態變數,該大小取決於網路擁塞程度,並動態變化
變化原則:網路無擁塞,視窗增大;網路擁塞則減小
慢開始(cwnd指數型增長)
新建立的連線不能夠一開始就大量傳送資料報,而是根據網路情況逐步增加每次傳送的數量。
為防止cwnd增長過大引起網路阻塞,設定慢開始門限ssthresh狀態變數選擇慢開始演算法與擁塞避免演算法
擁塞避免(cwnd線性增長)
擁塞視窗緩慢增長,每經過乙個往返時間rtt就把傳送發的擁塞視窗+1,而不是加倍。
(以上兩個階段若出現擁塞,門限設定為出現擁塞時傳送視窗的一半,視窗值設為1,執行慢開始演算法)
快重傳與快恢復
快重傳
接收方在收到乙個失序的報文段後立即發出重複確認,傳送方只要收到三個重複確認就應當立即重傳尚未收到的報文段,不必等待設定的重傳計時器時間到期。
快恢復
傳送方收到三個重複確認時,ssthresh門限減半,然後執行擁塞避免演算法。
TCP和UDP的區別及擁塞控制 流量控制
1 tcp和udp的區別 2 擁塞控制 傳送端通過擁塞視窗主動控制傳輸流量。3 流量控制 滑動視窗協議 tcp連線的每一方都有固定大小的快取空間。tcp的接收端只允許另外一端傳送接收端緩衝區所能容納的資料,這將防止較快主機致使較慢主機的緩衝區溢位。滑動窗 術存在與資料鏈路層和傳輸層。兩者有不同的協議...
TCP流量控制
一般來說,我們總是希望資料傳輸的更快一些,但如果傳送方把資料傳送的很快,而接收方來不及接收,這就可能造成資料的丟失。流量控制就是讓傳送方的傳送速率不要太快,讓接收方來得及接收。對於成塊資料流,tcp利用滑動視窗機制來實現流量的控制,對於互動資料流,tcp利用捎帶ack和nagle演算法來實現流量的控...
TCP流量控制
如果傳送端傳送的速度較快,接收端接收到資料後處理的速度較慢,而接收緩衝區的大小是固定的,就會丟失資料。tcp協議通過 滑動視窗 sliding window 機制解決這一問題。滑動視窗 傳送端發起連線,宣告最大段尺寸是1460,初始序號是0,視窗大小是4k,表示 我的接收緩衝區還有4k位元組空閒,你...