一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

TCP和UDP可以同時綁定相同的端口嗎?

億佰特物聯(lián)網(wǎng)應(yīng)用專家 ? 2023-02-06 11:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TCP和UDP可以同時綁定相同的端口嗎?TCP和UDP可以同時綁定相同的端口嗎?解答這個問題之前,我們需要先來了解什么是TCP和UDP,什么又是網(wǎng)絡(luò)端口。0754a7a0-a3f1-11ed-ad0d-dac502259ad0.pngTCP與UDP介紹
TCP和UDP是IP(Internet Protocol)的獨(dú)立的兩個協(xié)議,他們都工作在OSI模型中的網(wǎng)絡(luò)層。其中TCP和UDP最大的區(qū)別就是面向連接和面向無連接。
TCP當(dāng)需要傳輸?shù)臄?shù)據(jù)的可靠性非常重要的時候,我們一般使用TCP進(jìn)行傳輸,因?yàn)門CP協(xié)議傳輸?shù)臄?shù)據(jù)是按照順序依次傳輸。如果數(shù)據(jù)接收方未收到發(fā)送方傳輸?shù)臄?shù)據(jù),TCP會在特定時間之后重新發(fā)包。這就是我們常說的丟包重傳機(jī)制,還有就是擁塞控制、流量控制等,TCP的可靠性正是因?yàn)橛羞@些特性。
UDPUDP(User Datagram Protocol)是一種面向無連接的服務(wù),UDP的數(shù)據(jù)將不像是TCP那樣保證按序傳輸,接收方無論收沒收到數(shù)據(jù)都不會重傳,因此UDP相對于TCP有更低的延遲。在時間優(yōu)先級高于數(shù)據(jù)可靠性的應(yīng)用中,UDP更為常用,例如平時使用的視頻通話、網(wǎng)絡(luò)游戲等。因?yàn)閷τ谶@些應(yīng)用來說,時間比數(shù)據(jù)的一致性更為重要。0769b9b0-a3f1-11ed-ad0d-dac502259ad0.png什么是網(wǎng)絡(luò)端口?端口有什么作用?
我們的電腦上有許多的通信程序,當(dāng)我們的電腦收到數(shù)據(jù)包之后,數(shù)據(jù)包是如何精準(zhǔn)的分配至不同的應(yīng)用的呢?我們可以這樣理解,在網(wǎng)絡(luò)中的IP地址相當(dāng)于我們現(xiàn)實(shí)生活中的小區(qū)名,端口號就像是具體的門牌號。07788ae4-a3f1-11ed-ad0d-dac502259ad0.png端口的作用是讓應(yīng)用層的各種應(yīng)用進(jìn)程都能將其數(shù)據(jù)通過端口向下交付給傳輸層,以及讓傳輸層知道應(yīng)當(dāng)將其報(bào)文段中的數(shù)據(jù)向上通過端口交付給應(yīng)用層的進(jìn)程。為了對端口進(jìn)行區(qū)分,將每個端口進(jìn)行了編號,這就是端口號。當(dāng)我們將數(shù)據(jù)從一臺設(shè)備發(fā)送到另一臺設(shè)備時,它會轉(zhuǎn)到特定的 TCP 或 UDP 端口,具體取決于我們用于通信的協(xié)議。
078cea5c-a3f1-11ed-ad0d-dac502259ad0.pngTCP和UDP的Socket可以綁定同一個端口嗎?
TCP與UDP服務(wù)端網(wǎng)絡(luò)都會調(diào)用bind綁定端口。

079e8852-a3f1-11ed-ad0d-dac502259ad0.jpg

TCP網(wǎng)絡(luò)編程


07b6dc72-a3f1-11ed-ad0d-dac502259ad0.jpg

UDP 網(wǎng)絡(luò)編程

TCP 和 UDP 端口彼此不相關(guān)。TCP 端口由 TCP 堆棧解釋,而 UDP 堆棧解釋 UDP 端口。端口是多路復(fù)用連接的一種方式,以便多個設(shè)備可以連接到一個節(jié)點(diǎn)。因此,從技術(shù)上講,更高級別的協(xié)議可以使用相同或不同的 TCP 和 UDP 端口號。另一方面,一臺計(jì)算機(jī)可以同時使用相同的 TCP 和 UDP 端口號與兩個不同的服務(wù)進(jìn)行通信。

07c6c0c4-a3f1-11ed-ad0d-dac502259ad0.png

如上圖, TCP/UDP 各自的端口號是相互獨(dú)立的, TCP 有一個 80 號端口,UDP 也可以擁有一個 80 號端口,兩者并不沖突。所以,TCP 和 UDP 是可以同時綁定相同的端口的。TCP 和 UDP 傳輸協(xié)議,在內(nèi)核中是由兩個完全獨(dú)立的軟件模塊實(shí)現(xiàn)的。當(dāng)主機(jī)收到數(shù)據(jù)包后,可以在 IP 包頭的“協(xié)議號”字段知道該數(shù)據(jù)包是 TCP還是UDP,所以可以根據(jù)這個信息確定送給哪個模塊(TCP/UDP)處理,送給 TCP/UDP 模塊的報(bào)文根據(jù)“端口號”確定送給哪個應(yīng)用程序處理。因此, TCP/UDP 各自的端口號也相互獨(dú)立,互不影響。

客戶端的端口可以重復(fù)使用嗎?只要客戶端連接的不是相同的服務(wù)器,內(nèi)核是允許端口重復(fù)使用的。TCP 連接由四元組(源IP地址,源端口,目的IP地址,目的端口)唯一確認(rèn)的,四元組其中任何一個元素改變,就表示不同的 TCP 連接。假如客戶使用端口1與服務(wù)器A建立了連接,客戶端也可以使用端口1與服務(wù)器B建立連接,即使客戶端的端口號相同,但因四元組信息發(fā)生變化,并不會導(dǎo)致連接沖突。多個 TCP 服務(wù)進(jìn)程可以綁定同一個端口嗎?若多個TCP服務(wù)進(jìn)程同時綁定相同的IP地址和端口,那么執(zhí)行bind() 時候就會報(bào)錯“Address already in use”;若TCP服務(wù)進(jìn)程只是綁定相同的端口,但綁定的IP地址不同,那么則不會報(bào)錯。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1402

    瀏覽量

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

    關(guān)注

    0

    文章

    330

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    一款通用型上位機(jī),支持串口、UDP、TCP,也可以用來當(dāng)作調(diào)試助手

    本上位機(jī)軟件是用于與下位機(jī)(如嵌入式設(shè)備、機(jī)器人、傳感器等)進(jìn)行通信和數(shù)據(jù)交換的計(jì)算機(jī)程序。具備數(shù)據(jù)采集、分析、顯示、存儲和控制等功能。支持異步串口、UDPTCP。支持同時創(chuàng)建多個接口,各接口間數(shù)
    發(fā)表于 07-17 14:58

    TCP協(xié)議與UDP協(xié)議的區(qū)別

    。 UDP(用戶數(shù)據(jù)報(bào)協(xié)議) : 無連接 :UDP不建立連接,數(shù)據(jù)可以直接發(fā)送,不需要任何握手過程。 不可靠性 :UDP不保證數(shù)據(jù)的可靠傳輸,數(shù)據(jù)包可能會丟失,不會重傳。 2. 數(shù)據(jù)傳
    的頭像 發(fā)表于 01-22 09:44 ?786次閱讀

    Web端TCP/UDP測試工具!小白必學(xué)~

    測試工具作為TCP server進(jìn)行測試。 ▼ ??TCP測試示例 ? ▼ 01. 打開TCP/UDP web測試工具,點(diǎn)擊【打開TCP】按
    的頭像 發(fā)表于 01-08 18:17 ?1268次閱讀
    Web端<b class='flag-5'>TCP</b>/<b class='flag-5'>UDP</b>測試工具!小白必學(xué)~

    TCP三次握手與UDP的區(qū)別

    在計(jì)算機(jī)網(wǎng)絡(luò)中,數(shù)據(jù)傳輸?shù)目煽啃院托适莾蓚€關(guān)鍵因素。為了滿足不同的應(yīng)用需求,設(shè)計(jì)者們開發(fā)了多種傳輸層協(xié)議。其中,TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報(bào)協(xié)議)是最常用的兩種。它們在數(shù)據(jù)傳輸機(jī)制
    的頭像 發(fā)表于 01-03 17:35 ?863次閱讀

    一文了解Android UDP通信

    :用于創(chuàng)建UDP套接字,指定本地端口號。通過該對象,可以發(fā)送和接收UDP數(shù)據(jù)報(bào)。 DatagramPacket:用于表示一個UDP數(shù)據(jù)報(bào),包
    發(fā)表于 12-30 10:56

    谷景科普相同電感量的電感外形不同可以互換嗎

    之一,對電感的使用有著直接影響。在實(shí)際應(yīng)用中,兩個感量相同的電感,但它們的外形不一定相同的,那么,它們是否可以互換呢?我們知道,電感的外觀設(shè)計(jì)會對它的性能參數(shù)和安裝方式產(chǎn)生影響。但感量相同
    發(fā)表于 11-13 22:41 ?0次下載

    飛凌嵌入式ElfBoard ELF 1板卡-網(wǎng)絡(luò)編程示例之網(wǎng)絡(luò)socket程序編程

    個套接字,然后將其設(shè)置為非阻塞模式。接下來,設(shè)置服務(wù)器地址結(jié)構(gòu)并綁定套接字和端口。如果操作成功,返回 0;否則返回 -1。func_udp_server_receive(int fd, char
    發(fā)表于 11-12 10:53

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-

    端口相同,都是80。這里可以根據(jù)源端口號加以區(qū)分。③和 ① 的目標(biāo)端口號和源端口號完全
    發(fā)表于 11-11 14:17

    飛凌嵌入式ElfBoard ELF 1板卡-網(wǎng)絡(luò)編程示例之網(wǎng)絡(luò)基礎(chǔ)知識

    端口相同,都是80。這里可以根據(jù)源端口號加以區(qū)分。③和 ① 的目標(biāo)端口號和源端口號完全
    發(fā)表于 11-09 14:37

    TCP&UDP調(diào)試工具

    TCP&UDP調(diào)試工具
    發(fā)表于 10-30 10:41 ?3次下載

    UDP丟包的原因和解決方案

    每個 UDP 報(bào)文分為 UDP 報(bào)頭和 UDP 數(shù)據(jù)區(qū)兩部分。報(bào)頭由 4 個 16 位長(2 字節(jié))字段組成,分別說明該報(bào)文的源端口、目的端口
    的頭像 發(fā)表于 10-22 14:38 ?4552次閱讀
    <b class='flag-5'>UDP</b>丟包的原因和解決方案

    功能強(qiáng)大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議

    功能強(qiáng)大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議,簡單方便,包含歷史記憶功能,體積小,服務(wù)器調(diào)試最合適
    發(fā)表于 09-05 11:51 ?0次下載

    深度解析TCPUDP協(xié)議

    計(jì)算機(jī)與網(wǎng)絡(luò)設(shè)備要相互通信,它們必須遵循一種共同的方法或標(biāo)準(zhǔn)。對于不同硬件平臺和操作系統(tǒng)之間的交互而言,這種共同遵循的規(guī)范尤為關(guān)鍵。我們將這一系列指導(dǎo)通信過程的規(guī)則稱為“協(xié)議”。TCPUDP
    的頭像 發(fā)表于 09-02 14:53 ?799次閱讀
    深度解析<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協(xié)議

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

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

    使用sep_now的同時能不能使用TCP、UDP連接?

    在使用sep_now的同時能不能使用TCP、UDP連接
    發(fā)表于 07-22 06:10