久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

        手機站
        千鋒教育

        千鋒學習站 | 隨時隨地免費學

        千鋒教育

        掃一掃進入千鋒手機站

        領取全套視頻
        千鋒教育

        關(guān)注千鋒學習站小程序
        隨時隨地免費學習課程

        當前位置:首頁  >  技術(shù)干貨  > tcp和udp的區(qū)別和使用場景

        tcp和udp的區(qū)別和使用場景

        來源:千鋒教育
        發(fā)布人:xqq
        時間: 2023-12-05 01:54:07 1701712447

        tcp和udp的區(qū)別和使用場景,傳輸層的兩個協(xié)議—— TCP和UDP有各自的應用場景。

        TCP為應用層協(xié)議提供可靠傳輸,發(fā)送端按順序發(fā)送,接收端按順序接收,其間如果發(fā)生丟包、亂序由TCP負責重傳和排序。下面是TCP的應用場景。

        (1)客戶端程序和服務器端程序需要多次交互才能實現(xiàn)應用程序的功能。例如,接收電子郵件使用的是POP3,發(fā)送電子郵件使用的是SMTP,傳輸文件使用的是FTP,在傳輸層使用的是TCP。

        (2)應用程序傳輸?shù)奈募枰侄蝹鬏?,例如,使用瀏覽器訪問網(wǎng)頁,網(wǎng)頁中的圖片和HTML文件需要分段后發(fā)送給瀏覽器;又如使用QQ傳文件,在傳輸層也是選用TCP。

        如果需要將發(fā)送的內(nèi)容分成多個數(shù)據(jù)包發(fā)送,這就要求在傳輸層使用TCP在發(fā)送方和接收方建立連接,實現(xiàn)可靠傳輸、流量控制和避免擁塞。

        例如,從網(wǎng)絡中下載一個500MB的電影或下載一個200MB的軟件,這么大的文件需要拆分成多個數(shù)據(jù)包發(fā)送,發(fā)送過程需要持續(xù)幾分鐘或幾十分鐘。在此期間,發(fā)送方將要發(fā)送的內(nèi)容一邊發(fā)送一邊放到緩存中,將緩存中的內(nèi)容分成多個數(shù)據(jù)包,并進行編號,按順序發(fā)送。這就需要在發(fā)送方和接收方建立連接,協(xié)商通信過程的一些參數(shù)(如一個數(shù)據(jù)包較大有多少字節(jié)等)。

        如果網(wǎng)絡不穩(wěn)定造成某個數(shù)據(jù)包丟失,發(fā)送方必須重新發(fā)送丟失的數(shù)據(jù)包,否則就會造成接收到的文件不完整,這就需要TCP能夠?qū)崿F(xiàn)可靠傳輸。如果發(fā)送方發(fā)送速度太快,接收方來不及處理,接收方還會通知發(fā)送方降低發(fā)送速度,甚至停止發(fā)送。

        TCP還能實現(xiàn)流量控制,因為Internet中的流量不固定,流量過高時會造成網(wǎng)絡擁塞(這一點很好理解,就像城市上下班高峰時的交通堵塞一樣),在整個傳輸過程中,發(fā)送方要一直探測網(wǎng)絡是否擁塞來調(diào)整發(fā)送速度。TCP還有擁塞避免機制。

        發(fā)送方的發(fā)送速度由網(wǎng)絡是否擁塞和接收方接收速度兩個因素控制,哪個速度低,就用哪個速度發(fā)送,如圖所示。

        圖 TCP示意圖

        有些應用程序通信使用TCP就顯得效率低了。例如,有些應用的客戶端只需向服務器端發(fā)送一個請求報文,服務器端返回一個響應報文就可以完成其功能。這類應用如果使用TCP發(fā)送3個數(shù)據(jù)包建立連接,再發(fā)送4個數(shù)據(jù)包釋放連接,只為了發(fā)送一個報文,就很不值得,這時干脆讓應用程序直接發(fā)送。如果丟包了,應用程序再發(fā)送一遍即可。這類應用,在傳輸層就使用 UDP。

        UDP的應用場景如下。

        (1)客戶端程序和服務器端程序通信,應用程序發(fā)送的數(shù)據(jù)包不需要分段。如域名解析,DNS協(xié)議使用的就是傳輸層的UDP,客戶端向DNS服務器發(fā)送一個報文請求解析某個網(wǎng)站的域名,DNS服務器將解析的結(jié)果通過一個報文返回給客戶端。

        (2)實時通信。這類如QQ或微信語音聊天,或視頻聊天的應用,發(fā)送方和接收方需要實時交互,也就是不允許較長延遲,即便有幾句話因為網(wǎng)絡堵塞沒聽清,也不允許使用TCP等待丟失的報文,等待的時間太長了,就不能愉快地聊天了。

        (3)多播或廣播通信。如學校多媒體機房,老師的計算機屏幕需要分享給教室里的學生計算機,在老師的計算機上安裝多媒體教室服務器端軟件,在學生的計算機上安裝多媒體教室客戶端軟件,老師的計算機使用多播地址或廣播地址發(fā)送報文,學生的計算機都能收到。這類應用在傳輸層使用UDP。

        知道了傳輸層兩個協(xié)議的特點和應用場景,就很容易判斷某個應用層協(xié)議在傳輸層使用什么協(xié)議了?,F(xiàn)在判斷一下,QQ聊天在傳輸層使用的是什么協(xié)議,QQ傳文件在傳輸層使用的是什么協(xié)議?

        如果使用QQ給好友傳輸文件,這個過程會持續(xù)幾分鐘至幾十分鐘,肯定不是使用一個數(shù)據(jù)包就能把文件傳輸完的,需要將要傳輸?shù)奈募侄蝹鬏?。在傳輸文件之前需要建立會話,在傳輸過程中實現(xiàn)可靠傳輸、流量控制、避免擁塞等,這些功能需要在傳輸層使用TCP來實現(xiàn)。

        使用QQ聊天,通常一次輸入的聊天內(nèi)容不會有太多文字,使用一個數(shù)據(jù)包就能把聊天內(nèi)容發(fā)送出去,并且聊完第一句,也不定什么時候聊第二句,發(fā)送數(shù)據(jù)不是持續(xù)的,發(fā)送QQ聊天的內(nèi)容在傳輸層使用UDP。

        可見根據(jù)通信的特點,一個應用程序通信可以在傳輸層選擇不同的協(xié)議。

        tags: IT培訓
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
        免費領取
        今日已有369人領取成功
        劉同學 138****2860 剛剛成功領取
        王同學 131****2015 剛剛成功領取
        張同學 133****4652 剛剛成功領取
        李同學 135****8607 剛剛成功領取
        楊同學 132****5667 剛剛成功領取
        岳同學 134****6652 剛剛成功領取
        梁同學 157****2950 剛剛成功領取
        劉同學 189****1015 剛剛成功領取
        張同學 155****4678 剛剛成功領取
        鄒同學 139****2907 剛剛成功領取
        董同學 138****2867 剛剛成功領取
        周同學 136****3602 剛剛成功領取
        相關(guān)推薦HOT
        嵌入式培訓課程:探索技術(shù)的無限可能

        近年來,嵌入式系統(tǒng)的廣泛應用已經(jīng)深刻改變了我們的生活方式。從智能手機到智能家居,從汽車到醫(yī)療設備,嵌入式技術(shù)已經(jīng)成為現(xiàn)代社會不可或缺的...詳情>>

        2023-12-12 11:02:35
        嵌入式開發(fā):Linux網(wǎng)絡編程的探索與實踐

        在當今的科技世界中,嵌入式系統(tǒng)已經(jīng)滲透到我們生活的方方面面,從智能手機、電視、汽車到醫(yī)療設備等。而在這些設備中,Linux網(wǎng)絡編程扮演著至...詳情>>

        2023-12-12 09:55:55
        Java游戲項目開發(fā):技術(shù)概覽與實踐

        在數(shù)字化世界中,游戲已經(jīng)成為了人們休閑娛樂的重要方式之一。隨著科技的不斷進步,游戲開發(fā)行業(yè)也在不斷發(fā)展,而Java作為一門廣泛使用的編程語...詳情>>

        2023-12-12 08:49:15
        Web前端的基石:HTML

        在數(shù)字化的時代,網(wǎng)頁設計已經(jīng)成為了一個重要的領域。而在這個領域中,HTML(HyperTextMarkupLanguage)無疑是最基礎、最重要的一環(huán)。它是構(gòu)建...詳情>>

        2023-12-12 08:15:55
        嵌入式開發(fā):內(nèi)存分配的方式

        嵌入式系統(tǒng)開發(fā)中,內(nèi)存分配是一個至關(guān)重要的話題。嵌入式系統(tǒng)通常具有有限的內(nèi)存資源,因此合理的內(nèi)存分配方式對系統(tǒng)的性能和穩(wěn)定性至關(guān)重要。...詳情>>

        2023-12-12 06:35:55
        原平市| 芜湖市| 翁牛特旗| 林甸县| 资阳市| 沧州市| 盐山县| 当涂县| 汶上县| 泸定县| 社旗县| 张家界市| 乌什县| 陕西省| 沙坪坝区| 皋兰县| 工布江达县| 安乡县| 建宁县| 永城市| 十堰市| 临武县| 夏河县| 泸水县| 兴化市| 思南县| 长乐市| 延长县| 长兴县| 永寿县| 越西县| 灌南县| 漾濞| 东乡县| 金坛市| 墨竹工卡县| 克拉玛依市| 泸水县| 黑山县| 红原县| 新竹县|