日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

TCP和UDP的不同之處 tcp和udp概念和區(qū)別( 二 )

  • 客戶端主機收到服務端主機的確認應答后,即進入 FIN-WAIT-2(終止等待2) 的狀態(tài) 。等待客戶端發(fā)出連接釋放的報文段 。
  • 當服務器主機沒有數(shù)據(jù)發(fā)送后,應用進程就會通知 TCP 釋放連接 。這時服務端主機會發(fā)出斷開連接的報文段,報文段中 ACK = 1,序列號 seq = w,因為在這之間可能已經(jīng)發(fā)送了一些數(shù)據(jù),所以 seq 不一定等于 v + 1 。ack = u + 1,在發(fā)送完斷開請求的報文后,服務端主機就進入了 LAST-ACK(最后確認)的階段 。
  • 客戶端收到服務端的斷開連接請求后,客戶端需要作出響應,客戶端發(fā)出斷開連接的報文段,在報文段中,ACK = 1, 序列號 seq = u + 1,因為客戶端從連接開始斷開后就沒有再發(fā)送數(shù)據(jù),ack = w + 1,然后進入到 TIME-WAIT(時間等待) 狀態(tài),請注意,這個時候 TCP 連接還沒有釋放 。必須經(jīng)過時間等待的設置,也就是 2MSL 后,客戶端才會進入 CLOSED 狀態(tài),時間 MSL 叫做最長報文段壽命(Maximum Segment Lifetime) 。
  • 服務端主要收到了客戶端的斷開連接確認后,就會進入 CLOSED 狀態(tài) 。因為服務端結束 TCP 連接時間要比客戶端早,而整個連接斷開過程需要發(fā)送四個報文段,因此釋放連接的過程也被稱為四次揮手 。
  • UDP 不存在這條連接,所以它也不需要四次揮手操作 。
    所以總結一點:TCP 是面向連接的,它的數(shù)據(jù)傳輸前需要維護一條虛擬連接,數(shù)據(jù)傳輸需要在這條虛擬連接上進行,數(shù)據(jù)傳輸完畢后需要斷開這條連接,而 UDP 傳輸不是面向連接的,UDP 發(fā)送數(shù)據(jù)不會建立連接,也不會關心接收端的狀態(tài) 。
    可靠性的差異TCP 和 UDP 一個主要拿來作對比的就是可靠性,TCP 是一種可靠性的傳輸層協(xié)議,UDP 是一種不可靠的傳輸層協(xié)議 。TCP 的這種可靠性主要由下面這些特征來保證:
    通過序列號和應答號實現(xiàn)可靠性
    計算機網(wǎng)絡主機之間的相互通信非常類似于我們?nèi)粘I钪袃蓚€人之間打電話,這種對話通常是一問一答形式,如果你講了一句話并沒有收到任何回應,你通常需要再說一次來確保對方是否聽到,如果對方給你回應了一句話,就說明他已經(jīng)聽到你的講話了,這就是一個完整的通話流程(拋開建立連接不談,我們著重點放在建立連接之后) 。
    "對方給你的響應" 在計算機網(wǎng)絡中被稱為確認應答(ACK),TCP 就是通過 ACK 來實現(xiàn)可靠的數(shù)據(jù)傳輸,也就是說,發(fā)送方在發(fā)出請求之后會等待目標主機的響應,如果沒有收到響應,發(fā)送方在經(jīng)過一段時間后就會重傳請求 。所以,即使在發(fā)送過程中產(chǎn)生丟包,TCP 仍然能夠通過重傳來實現(xiàn)可靠性 。
    TCP和UDP的不同之處 tcp和udp概念和區(qū)別


    上面描述的情況屬于發(fā)送方請求丟失,還有一種情況屬于響應丟失,也就是說請求發(fā)送到目標主機后,目標主機會回發(fā) ACK 給請求方,這個 ACK 也有可能丟失,如果 ACK 在鏈路中丟失,一段時間后請求方?jīng)]有收到目標主機的 ACK ,仍然會選擇重傳未收到 ACK 的這個請求 。
    TCP和UDP的不同之處 tcp和udp概念和區(qū)別


    除了消息丟失之外,還存在一種延遲到達的現(xiàn)象,延遲到達指的是發(fā)送方發(fā)送一個報文段之后,這個報文也許是由于網(wǎng)絡抖動或者網(wǎng)絡擁堵導致一個報文段遲遲沒有到達目標主機,或者目標主機的響應 ACK 遲遲沒有到達發(fā)送方的現(xiàn)象 。這個一段時間判斷的標準就是重傳時間,一旦過了重傳時間發(fā)送方會重傳報文段,很可能存在重傳報文段到達之后,第一次發(fā)送的報文段才剛到的情況,這就存在一個問題:目標主機收到了兩個相同的報文段 。必須選擇一個報文段進行丟棄,但是應該選擇哪個報文段呢?

    推薦閱讀