1. <wbr id="m8vu6"></wbr>

      <del id="m8vu6"><center id="m8vu6"><source id="m8vu6"></source></center></del>
        <p id="m8vu6"><sub id="m8vu6"></sub></p>

        VB.net 2010 視頻教程 VB.net 2010 視頻教程 VB.net 2010 視頻教程
        SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
        當前位置:
        首頁 > 硬件網絡 > 網絡工程師 >
        • 再談UDP和TCP

        • 2019-11-13 21:03 來源:未知
        TCP 是面向連接的傳輸協議,建立連接時要經過三次握手,斷開連接時要經過四次握手,中間傳輸數據時也要回復 ACK 包確認,多種機制保證了數據能夠正確到達,不會丟失或出錯。

        UDP 是非連接的傳輸協議,沒有建立連接和斷開連接的過程,它只是簡單地把數據丟到網絡中,也不需要 ACK 包確認。

        UDP 傳輸數據就好像我們郵寄包裹,郵寄前需要填好寄件人和收件人地址,之后送到快遞公司即可,但包裹是否正確送達、是否損壞我們無法得知,也無法保證。UDP 協議也是如此,它只管把數據包發送到網絡,然后就不管了,如果數據丟失或損壞,發送端是無法知道的,當然也不會重發。

        既然如此,TCP 應該是更加優質的傳輸協議吧?

        如果只考慮可靠性,TCP 的確比 UDP 好。但 UDP 在結構上比 TCP 更加簡潔,不會發送 ACK 的應答消息,也不會給數據包分配 Seq 序號,所以 UDP 的傳輸效率有時會比 TCP 高出很多,編程中實現 UDP 也比 TCP 簡單。

        UDP 的可靠性雖然比不上TCP,但也不會像想象中那么頻繁地發生數據損毀,在更加重視傳輸效率而非可靠性的情況下,UDP 是一種很好的選擇。比如視頻通信或音頻通信,就非常適合采用 UDP 協議;通信時數據必須高效傳輸才不會產生“卡頓”現象,用戶體驗才更加流暢,如果丟失幾個數據包,視頻畫面可能會出現“雪花”,音頻可能會夾帶一些雜音,這些都是無妨的。

        與 UDP 相比,TCP 的生命在于流控制,這保證了數據傳輸的正確性。

        最后需要說明的是:TCP 的速度無法超越 UDP,但在收發某些類型的數據時有可能接近 UDP。例如,每次交換的數據量越大,TCP 的傳輸速率就越接近于 UDP。
        相關教程
        免费看成年人视频大全_免费看成年人视频在线观看