TCP協議和UDP協議的區別是什么
TCP協議是有連接的,有連接的意思是開始傳輸實際數據之前TCP的客戶端和服務器端必須通過三次握手建立連接,會話結束之后也要結束連接。而UDP是無連接的
TCP協議保證數據按序發送,按序到達,提供超時重傳來保證可靠性,但是UDP不保證按序到達,甚至不保證到達,只是努力交付,即便是按序發送的序列,也不保證按序送到。
TCP協議所需資源多,TCP首部需20個字節(不算可選項),UDP首部字段只需8個字節。
TCP有流量控制和擁塞控制,UDP沒有,網絡擁堵不會影響發送端的發送速率
TCP是一對一的連接,而UDP則可以支持一對一,多對多,一對多的通信。
TCP面向的是字節流的服務,UDP面向的是報文的服
建立連接:三次握手
關閉連接:四次揮手
三次握手建立連接時,發送方再次發送確認的必要性?
主 要是為了防止已失效的連接請求報文段突然又傳到了B,因而產生錯誤。假定出現一種異常情況,即A發出的第一個連接請求報文段并沒有丟失,而是在某些網絡結 點長時間滯留了,一直延遲到連接釋放以后的某個時間才到達B,本來這是一個早已失效的報文段。但B收到此失效的連接請求報文段后,就誤認為是A又發出一次 新的連接請求,于是就向A發出確認報文段,同意建立連接。假定不采用三次握手,那么只要B發出確認,新的連接就建立了,這樣一直等待A發來數據,B的許多 資源就這樣白白浪費了。
四次揮手釋放連接時,等待2MSL的意義?
第 一,為了保證A發送的最有一個ACK報文段能夠到達B。這個ACK報文段有可能丟失,因而使處在LAST-ACK狀態的B收不到對已發送的FIN和ACK 報文段的確認。B會超時重傳這個FIN和ACK報文段,而A就能在2MSL時間內收到這個重傳的ACK+FIN報文段。接著A重傳一次確認。
第二,就是防止上面提到的已失效的連接請求報文段出現在本連接中,A在發送完最有一個ACK報文段后,再經過2MSL,就可以使本連接持續的時間內所產生的所有報文段都從網絡中消失。
原創文章,作者:15893442518,如若轉載,請注明出處:http://www.www58058.com/85879