91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

TCP和UDP的特點及使用場景

jf_78858299 ? 來源:雞仔說 ? 作者:張小吉 ? 2023-05-18 17:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

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

協(xié)議、TCP 和 UDP

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

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

  • IP 協(xié)議負責將多個包交換網(wǎng)絡連接起來,并管理通訊 IP 源地址和目標地址的協(xié)議
  • TCP 和 UDP 協(xié)議則是位于應用層和 IP 層之間,負責它們之間信息傳輸?shù)闹匾獏f(xié)議

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

TCP 和 UDP 的特點

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

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

TCP 和 UDP 的使用場景

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

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

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

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

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

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

端口及其特點

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

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

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

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

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

端口號根據(jù)范圍分為三種

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

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

  1. Registered Ports(即注冊端口)

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

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

顧名思義,這些端口號是不可以注冊的,這一段的端口被用作一些私人的或者定制化的服務,當然也可以用來做動態(tài)端口服務,這一段的范圍是: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
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1863

    瀏覽量

    155878
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1425

    瀏覽量

    83531
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    334

    瀏覽量

    35422
  • 應用層
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    11810
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

    TCPUDP的區(qū)別分析

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

    tcpudp的應用場景

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

    tcpudp協(xié)議的異同

    。UDP 校驗和則是包含 UDP 首部和數(shù)據(jù)在內(nèi)的校驗結(jié)果。 TCP協(xié)議 TCP協(xié)議基于網(wǎng)絡層的 IP 協(xié)議提供的是有連接、可靠服務,是基于字節(jié)流的。
    的頭像 發(fā)表于 11-12 14:45 ?4944次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b>協(xié)議的異同

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

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

    TCPUDP的原理以及區(qū)別

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

    UDP能否像TCP一樣實現(xiàn)可靠傳輸?

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

    udp是什么協(xié)議 TCPUDP的區(qū)別

    TCP協(xié)議提供可靠的數(shù)據(jù)傳輸,UDP協(xié)議提供盡量高效的數(shù)據(jù)傳輸。TCP協(xié)議通過使用序列號、確認應答等機制,保證數(shù)據(jù)傳輸?shù)目煽啃裕?b class='flag-5'>UDP協(xié)議不提供可靠性保證,它只是簡單地把應用程序傳給
    的頭像 發(fā)表于 06-26 17:47 ?1.3w次閱讀

    TCP/UDP簡介、特點及優(yōu)劣勢

    TCPUDP是兩種常見的互聯(lián)網(wǎng)傳輸協(xié)議,它們都是在IP網(wǎng)絡上運行的傳輸層協(xié)議。
    的頭像 發(fā)表于 10-16 10:16 ?4195次閱讀
    <b class='flag-5'>TCP</b>/<b class='flag-5'>UDP</b>簡介、<b class='flag-5'>特點</b>及優(yōu)劣勢

    TCPUDP的區(qū)別

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

    TCPUDP的基本區(qū)別

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

    UDP的特性與應用場景

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

    如何選擇傳輸層協(xié)議?TCPUDP的優(yōu)缺點和適用場

    如何選擇傳輸層協(xié)議?TCPUDP的優(yōu)缺點和適用場合? 傳輸層協(xié)議是計算機網(wǎng)絡中的重要組成部分,它負責在主機之間傳輸數(shù)據(jù)。常見的傳輸層協(xié)議有TCP
    的頭像 發(fā)表于 12-11 11:42 ?2337次閱讀

    UDPTCP的主要區(qū)別 UDP能否像TCP一樣實現(xiàn)可靠傳輸?

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

    tcpudp的區(qū)別和聯(lián)系

    一、引言 在現(xiàn)代網(wǎng)絡通信中,數(shù)據(jù)傳輸是至關(guān)重要的。為了確保數(shù)據(jù)的可靠傳輸,網(wǎng)絡協(xié)議發(fā)揮著關(guān)鍵作用。傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP)是兩種常用的網(wǎng)絡協(xié)議,它們在許多應用場景中發(fā)
    的頭像 發(fā)表于 08-16 11:06 ?1909次閱讀