色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TCP和UDP的特點及使用場景

jf_78858299 ? 來源:雞仔說 ? 作者:張小吉 ? 2023-05-18 17:20 ? 次閱讀

前言

在我們開始學習網絡編程的時候,我們發現一些名詞出現的頻率極其高,比如 TCP/IP、UDP、OSI 七層網絡模型等。這肯定不是偶然,因為它們極其重要,才會被人反復提及。尤其在面試的時候,面試官喜歡把它們拿來,當作考察面試者基礎功底的重要環節。為了不讓文章顯得冗余,我們今天只談網絡中的 TCP、UDP 和端口

協議、TCP 和 UDP

在了解 TCP(Transmission Control Protocol 即傳輸控制協議) 和 UDP(User Datagram Protocol 即用戶數據包協議) 之前,我們先要知道一個名詞,即協議。它到底是什么?它其實就是一套約定成俗的規則。就像開會的時候,我們達成了一些共識,先開發那個接口,項目什么時候上線等等。

可以毫不夸張地說計算機網絡的構建與發展,奠基石就是各種網絡協議。它們定義了信息通訊的方式,以及如何收發信息等,比如:

  • IP 協議負責將多個包交換網絡連接起來,并管理通訊 IP 源地址和目標地址的協議
  • TCP 和 UDP 協議則是位于應用層和 IP 層之間,負責它們之間信息傳輸的重要協議

既然是協議,大家都必須遵守,否則,今天張三定一個協議,李四不同意,他明天再定一個協議,這就亂了套。因此,不同的大廠和許多公司就聯合起來組成一個組織,將這些協議統一規范起來。你就必須得用這些規定好的協議,否則就無法通信。這才實現了“地球村”的夢想。今天無論用什么設備,在世界的任何角落,用哪種國家的語言,都可以很方便地使用網絡進行通信

TCP 和 UDP 的特點

用一個不算嚴謹的說法總結 TCP 就是,女孩子如果遇到 TCP 這樣的男生,就嫁了吧。因為TCP的核心特點就是靠譜。他的特定包括,面向連接、可靠、基于字節流控制的傳輸,就像一個管道一樣將應用層和 IP 層連接起來

而與之相對應的,UDP 就像二十多歲的浪子。他們不夠可靠,但卻充滿熱情。一切以效率為先,他們可以馬上答應你很多事情,并且愿意立馬付出實踐。你這一秒說佛珠浪漫,他不管身處何處,立馬搭飛機給你去取,下一秒說想去聽周杰倫的演唱會,他立馬給你訂票。當然,人的精力和時間都有限,所以就可能出現不可控的意外,比如根本沒有足夠的錢買門票等。這和UDP相仿,它提供無連接通信,但不對傳送的數據包提供可靠性保證

TCP 和 UDP 的使用場景

不同的人,因性格不同,做事的方式也不一樣,你不能說這樣就一定好,那樣就一定不好,對于 TCP 和 UDP 也是一樣,在不同的場景中,他們各有各的妙用

比如在開發一個游戲的的程序是,對于玩家登陸賬號,因為我們要確保不同的玩家能登陸到自己的賬號,這個時候就要應用 TCP 協議。而對于控制游戲中角色的移動,我們只需根據玩家鼠標的點擊移動角色,如果因為小概率的網絡問題,對于玩家來說,再次進行角色移動操作即可,成本和風險在可控范圍內,因此就可以使用 UDP 協議

我們從以上可以看出,如果是基礎服務功能,則最好使用 TCP 協議,保證服務的可靠性。以確保過程中,每一個網絡包能夠正確抵達目的地。而相較于 UDP ,程序員則需要自己去進一步做丟包情況和字節傳輸順序的處理

可不要因此就覺得 UDP 非常難用,正相反,其實有大量的服務是基于 UDP 協議的。比如 DNS 解析服務。每一臺電腦訪問外網網頁,都需要通過 DNS 服務解析域名,從中找到對應的 IP 地址。這個時候如果 DNS 出了問題,我們其實只需要再一次進行 DNS 尋址查詢即可。唯一的副作用,可能就是有一丁點兒延遲罷了

另一個 UDP 的應用就是 IP 電話, 我們常把它稱作 VoIP(Voice over IP),它的原理可以簡化的理解為,把撥打電話從以往的電話通訊,轉移到網絡通訊上,類似于我們現在的微信通話。當你和某人通話的時候,用的就是 UDP ,想象一下,其實我們這個時候需要的并不是可靠性,而是實時性。如果不幸中間有一點信息損失了,比如你媽說:“過年給我把對象帶回來,不然就別回來了”。由于信息損失一部分,像這樣——“過年給 把對象帶 來,不然 別回 了”,其實我們是可以理解一整句話的意思的。而如果用 TCP,我們可能說一句話,別人 30 秒之后才能聽到,這顯然是不能忍受的

因此,我們明白了,在日常的開發過程中,我們應該根據不同的應用場景,選擇對應的 TCP 或者 UDP 作為網絡傳輸協議,而不能因為我們對 UDP 不熟悉,就從心理上抗拒它

端口及其特點

如果 IP 是用來定位街區的,那么端口就是對應于該街區中每一戶的門牌號。在通訊過程中,數據通過各種通訊協議最終抵達設備(如計算機)后,這里的設備就相當于一個街區,而在設備計算機內部有很多程序在跑,數據進來之后,必須要給它一個對應的門牌號(即端口號),程序才方便進行后續操作

端口號屬于傳輸協議的一部分,因此我們可以說,數據通過 IP 地址發送對應的數據到指定設備上,而通過端口號把數據發送到指定的服務或程序上

程序一般不止是監聽指定的端口號,而且也會明確對應的傳輸協議。所以我們在進行數據傳輸的時候,既要指定對應的端口號,也要指定對應的通訊協議,很多人僅僅會說:程序 A 監聽著 33001 端口,這個是不正確的,至少是不完全正確的。相應的,我們應該這樣說:程序 A 使用 TCP 協議,監聽 33001 端口,當然你也可以說:程序 A 使用 UDP 協議,監聽 33001 端口

指定傳輸協議和端口,顯而易見的好處在于,當我們進行端口轉發或者構建網絡防火墻的時候,我們可以很方便的通過協議和端口進行隔離。以防止不可預見的意外發生。對于計算機來說,通過這種方式可以防止外網各種不必要的數據,進入本地局域網

你可能會想,這么多端口號,如果大家都用同一個,那不是也有沖突。沒錯,這就需要一個專門的組織來管理它們,IANA( Internet Assigned Numbers Authority 即互聯網號碼分配局 ),它負責管理端口注冊。大多數主流的程序,都有一個明確的已注冊端口,比如常見的 FTP 監聽 20、 21 端口,而 HTTP 服務監聽 80 端口等。如果有一個程序想注冊某個端口,那么 IANA 會先去查一查這個端口是否已被注冊,如果已經被注冊了,它則會拒絕申請

端口號根據范圍分為三種

  1. Well-Known Ports(即公認端口號)

它是一些眾人皆知著名的端口號,這些端口號固定分配給一些服務,我們上面提到的 HTTP 服務、 FTP服務等都屬于這一類。知名端口號的范圍是:0-1023

  1. Registered Ports(即注冊端口)

它是不可以動態調整的端口段,這些端口沒有明確定義服務哪些特定的對象。不同的程序可以根據自己的需要自己定義,注冊端口號的范圍是:1024-49151

  1. Dynamic, private or ephemeral ports(即動態、私有或臨時端口號)

顧名思義,這些端口號是不可以注冊的,這一段的端口被用作一些私人的或者定制化的服務,當然也可以用來做動態端口服務,這一段的范圍是:49152–65535

參考資料

  • List of TCP and UDP port numbers
  • Understanding TCP/IP Network Stack & Writing Network Apps
  • UDP and TCP, two ways of sending traffic
  • TCP and UDP Ports Explained
  • TCP/IP Ports and Sockets Explained
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IP
    IP
    +關注

    關注

    5

    文章

    1712

    瀏覽量

    149670
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1374

    瀏覽量

    79147
  • UDP
    UDP
    +關注

    關注

    0

    文章

    327

    瀏覽量

    33995
  • 應用層
    +關注

    關注

    0

    文章

    46

    瀏覽量

    11522
收藏 人收藏

    評論

    相關推薦

    RK3308的特點及應用場景是什么?

    RK3308的特點及應用場景是什么?
    發表于 03-09 08:04

    TCPUDP的區別分析

      傳輸層協議主要有TCPUDPUDP提供無連接的通信,不能保證數據包被發送到目標地址,典型的即時傳輸少量數據的應用程序通常使用UDPTCP
    發表于 09-18 10:29 ?2次下載

    tcpudp的應用場景

    特點上我們已經知道,TCP 是可靠的但傳輸速度慢 ,UDP 是不可靠的但傳輸速度快。因此在選用具體協議通信時,應該根據通信數據的要求而決定。若通信數據完整性需讓位與通信實時性,則應該選用 T
    發表于 12-08 10:16 ?1.5w次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b>的應<b class='flag-5'>用場景</b>

    tcpudp協議的異同

    UDP 校驗和則是包含 UDP 首部和數據在內的校驗結果。 TCP協議 TCP協議基于網絡層的 IP 協議提供的是有連接、可靠服務,是基于字節流的。
    的頭像 發表于 11-12 14:45 ?4114次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b>協議的異同

    UDP的主要特點及其使用場景

    的傳輸層協議,提供面向十五的簡單不可靠詳細傳送服務。 UDP 的主要特點 1、UDP 是無連接的,即發送數據之前不需要建立連接,因此減少了開銷和發送數據之前的時延。 2、UDP 使用盡
    的頭像 發表于 08-31 17:25 ?1.7w次閱讀

    TCPUDP的原理以及區別

    TCP是基于連接的,而UDP是基于非連接的。 **tcp傳輸數據穩定可靠** ,適用于對網絡通訊質量要求較高的場景,需要準確無誤的傳輸給對方,比如,傳輸文件,發送郵件,瀏覽網頁等
    的頭像 發表于 05-18 17:14 ?991次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的原理以及區別

    UDP能否像TCP一樣實現可靠傳輸?

    連接的協議,基于字節流的傳輸方式。它通過確認和重傳等機制來保證數據的完整性和順序性,實現數據包的可靠傳輸。UDPTCP的主要區別但在某些運用場景下,使用TCP協議
    的頭像 發表于 06-08 14:50 ?940次閱讀
    <b class='flag-5'>UDP</b>能否像<b class='flag-5'>TCP</b>一樣實現可靠傳輸?

    udp是什么協議 TCPUDP的區別

    TCP協議提供可靠的數據傳輸,UDP協議提供盡量高效的數據傳輸。TCP協議通過使用序列號、確認應答等機制,保證數據傳輸的可靠性,而UDP協議不提供可靠性保證,它只是簡單地把應用程序傳給
    的頭像 發表于 06-26 17:47 ?1.1w次閱讀

    TCP/UDP簡介、特點及優劣勢

    TCPUDP是兩種常見的互聯網傳輸協議,它們都是在IP網絡上運行的傳輸層協議。
    的頭像 發表于 10-16 10:16 ?2873次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>UDP</b>簡介、<b class='flag-5'>特點</b>及優劣勢

    TCPUDP的區別

    1.TCPUDP的區別 TCP是面向連接的,UDP是面向無連接的; TCP只能一對一通信,UDP
    的頭像 發表于 11-09 09:35 ?6127次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的區別

    TCPUDP的基本區別

    順序,UDP不保證 UDP用場景: 面向數據報方式 網絡數據大多為短消息 擁有大量Client 對數據安全性無特殊要求 網絡負擔非常重,但對響應速度要求高 TCP報頭
    的頭像 發表于 11-13 15:27 ?4658次閱讀
    <b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>的基本區別

    UDP的特性與應用場景

    一、UDP的特性與應用場景 采用UDP有3個關鍵點: 網絡帶寬需求較小,而實時性要求高 大部分應用無需維持連接 需要低功耗 應用場景: 網頁瀏覽:新浪微博就已經用了QUIC協議 流媒體
    的頭像 發表于 11-13 15:34 ?927次閱讀
    <b class='flag-5'>UDP</b>的特性與應<b class='flag-5'>用場景</b>

    如何選擇傳輸層協議?TCPUDP的優缺點和適用場

    如何選擇傳輸層協議?TCPUDP的優缺點和適用場合? 傳輸層協議是計算機網絡中的重要組成部分,它負責在主機之間傳輸數據。常見的傳輸層協議有TCP
    的頭像 發表于 12-11 11:42 ?1040次閱讀

    UDPTCP的主要區別 UDP能否像TCP一樣實現可靠傳輸?

    據包的傳輸不進行確認和重傳,而TCP是一種面向連接的協議,通過確認和重傳來實現可靠的數據傳輸。 首先,UDP無連接的特點使得它在傳輸時的開銷較小。UDP的數據包不需要建立和維護連接,僅
    的頭像 發表于 01-22 16:10 ?838次閱讀

    tcpudp的區別和聯系

    一、引言 在現代網絡通信中,數據傳輸是至關重要的。為了確保數據的可靠傳輸,網絡協議發揮著關鍵作用。傳輸控制協議(TCP)和用戶數據報協議(UDP)是兩種常用的網絡協議,它們在許多應用場景中發
    的頭像 發表于 08-16 11:06 ?628次閱讀
    主站蜘蛛池模板: chinese情侣自拍啪hd| 毛片内射久久久一区| 亚洲精品成人久久久影院| 精品久久久无码21P发布| 99久久免热在线观看6| 香蕉97超级碰碰碰碰碰久| 麻豆E奶女教师国产精品| 国产精品成人无码免费视频| 坠落的丝袜美人妻| 小泽玛丽av无码观看| 男人到天堂a线牛叉在线| 国内精品久久人妻无码HD浪潮 | 99re1久久热在线播放| 色多多旧版污污破解版| 久久亚洲精品无码A片大香大香| 丰满少妇67194视频| 在线观看视频中文字幕| 午夜久久影院| 青青青视频在线| 麻豆成人久久精品二区三区网站| 国产乱码伦人偷精品视频| 99久久国产视频| 有码在线播放| 亚洲美女视频高清在线看| 四虎永久免费网址| 任你躁国语自产二区在线播放| 狂操空姐电影| 寂寞夜晚视频高清观看免费| 国产精品视频国产永久视频| 超碰在线视频caoporn| 99re8久久热在线视频| 中文字幕精品AV内射夜夜夜| 亚洲高清在线mv| 我解开了岳的乳第一个女人| 日本人的xxxxxxxxx69| 啪啪漫画无遮挡全彩h同人| 乱奷XXXXXHD| 久久只有这里有精品4| 久草精品视频| 禁漫H天堂免费A漫| 精品国产原创在线观看视频|