總結:一.tcp/ip協議如何保證可靠性傳輸
二.tcp與udp的區別和各自的使用場景
一.tcp/ip協議如何保證可靠性傳輸
tcp是transmission control protocol,即傳輸控制協議。
在我看來,為了保證可靠信傳輸,tcp主要依靠的是控制資料傳輸的整個流程來保證可靠信傳輸的。
1.tcp協議在建立連線和斷開連線有三次握手與四次揮手的過程,即《連線管理》。
2.在資料由傳送方傳送時,會計算一次《校驗和》。
通過將傳送的資料段都當做乙個16位的整數,將這些整數加起來,並且前面的進製不能丟棄,補在後面,最後取反,得到校驗和;
並且,tcp在傳輸時,會對每個位元組的資料進行編號排序,即《序列號》。
每次接收方收到資料後,都會對傳送方進行《確認應答》,也就是傳送ack報文,這個ack報文當中帶有對應的確認序列號,告訴傳送方,接收到了哪些資料,下一次的資料從**發;
而如果傳送方在傳送完資料後等待乙個時間,時間到達沒有接收到ack報文,那麼就會對剛才傳送的資料進行重新傳送,
tcp的這一機制叫做《超時重傳》;
然後接收方接收到的資料會根據序列號排序,以去掉重複序列號的資料;
之後,通過對接收方接收到的資料進行再一次計算校驗和,並將之與傳送資料時的校驗和進行對比。
(tips:如果接收方比對校驗和與傳送方不一致,那麼資料一定傳輸有誤。但是如果接收方比對校驗和與傳送方一致,資料不一定傳輸成功。)
通過校驗和和序列號,確保資料在傳輸過程中不會丟失或發生其他錯誤。
3.tcp引入了慢啟動的機制,在開始傳送資料時,先傳送少量的資料探路。探清當前的網路狀態如何,再決定多大的速度進行傳輸,
在這個過程中,引入了《擁塞控制》的機制。通過擁塞視窗這個概念,在盡可能快的將資料傳輸的同時,避免擁塞造成的一系列問題;
不止如此,tcp還會根據接收端對資料的處理能力,決定傳送端的傳送速度,這個機制就是《流量控制》。
通過擁塞控制來防止網路擁堵及丟包等問題;
流量控制來,來防止接收端的結束緩衝區被填滿。
(tips:接收端的結束緩衝區被填滿後,那麼接下來傳送的資料都會丟包,繼而導致丟包的一系列連鎖反應,超時重傳等問題)
總而言之,tcp/ip通過《連線管理》、《校驗和》、《序列號》、《確認應答》、《超時重傳》、《擁塞控制》、《流量控制》
這七個機制,方方面面的控制著資料傳輸的整個流程,來保證其可靠性。
二.tcp與udp的區別和各自的使用場景
tcp與udp的區別:
1.tcp是面向連線的傳輸層協議,在傳輸資料之前先建立連線,在確保資料進行了完整的傳輸且結束之後,再斷開連線;
而udp是無連線的傳輸。
2.tcp是可靠性傳輸,無差錯丟失、無重複、有序的傳輸;
而udp是盡最大努力交付,彈不保證可靠性。
3.tcp具有的擁塞控制、流量控制、超時重傳機制,能保證資料傳輸的安全性,不會因為網路擁塞和接收方緩衝區被填滿而發生資料錯誤;
而udp沒有,網路擁塞和接收方緩衝區被填滿都不影響其傳送速率。
tcp與udp各自的使用場景:
要明確區分tcp與udp各自的使用場景,首先要對比了解tcp和udp的優缺點;
tcp的優點:可靠,需先建立連線,如果連線失敗則無法進行資料傳輸,能保證對方可以完整的收到資料;
缺點:占用資源多,因為相較於udp需要建立連線,
相較於udp資料傳輸速度較慢。
udp的優點:占用資源少,因為相對於tcp不需要建立連線,
相較於tcp資料傳輸速度較快;
缺點:相對於tcp不可靠。
故而如果資料傳輸對於可靠性和完整性的要求高於其對於實時性的要求,如檔案和重要資料的傳輸,用tcp協議;
tcp和udp使用總結
tcp tcp 是面向連線的,並且是一種可靠的協議,在基於 tcp 進行通訊時,通訊雙方需要先建立乙個 tcp 連線,建立連線需要經過三次握手,握手成功才可以進行通訊 1 基於連線的,可靠性高 2 有連線過程 3次握手過程 會有延時,實時性較差,3 傳輸相同的資料時,tcp首部開銷20位元組 udp...
TCP和UDP的總結
近期正在準備找工作,看了n多筆試題,發現考網路真的還不少,網路中尤其tcp,udp等知識點考的較多,此文做個總結,方便以後查閱,閱讀者歡迎找毛病 tcp實現可靠性傳輸,通過三次握手機制,這一機制保證校驗了資料,保證了他的可靠性。udp沒有三次握手機制,所以不可靠。不過udp的速度是tcp比不了的,而...
TCP和UDP對比總結
傳輸層提供的功能如下 傳輸層提供了兩個傳輸協議 tcp tcp 提供面向連線的服務,在傳送資料之前必須要建立連線,並在核心中為該連線維持一些必要的資料結構,比如連線的狀態 讀寫緩衝區以及諸多定時器等。待資料傳送結束後要釋放連線。由於 tcp 提供可靠的傳輸服務,因此不可避免地增加了許多開銷,如序號 ...