吴忠躺衫网络科技有限公司

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

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

3天內不再提示

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

億佰特物聯網應用專家 ? 2023-02-06 11:16 ? 次閱讀

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

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

TCP網絡編程


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

UDP 網絡編程

TCP 和 UDP 端口彼此不相關。TCP 端口由 TCP 堆棧解釋,而 UDP 堆棧解釋 UDP 端口。端口是多路復用連接的一種方式,以便多個設備可以連接到一個節點。因此,從技術上講,更高級別的協議可以使用相同或不同的 TCP 和 UDP 端口號。另一方面,一臺計算機可以同時使用相同的 TCP 和 UDP 端口號與兩個不同的服務進行通信。

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1378

    瀏覽量

    79302
  • UDP
    UDP
    +關注

    關注

    0

    文章

    327

    瀏覽量

    34043
收藏 人收藏

    評論

    相關推薦

    TCP協議與UDP協議的區別

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

    Web端TCP/UDP測試工具!小白必學~

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

    TCP三次握手與UDP的區別

    在計算機網絡中,數據傳輸的可靠性和效率是兩個關鍵因素。為了滿足不同的應用需求,設計者們開發了多種傳輸層協議。其中,TCP(傳輸控制協議)和UDP(用戶數據報協議)是最常用的兩種。它們在數據傳輸機制
    的頭像 發表于 01-03 17:35 ?439次閱讀

    一文了解Android UDP通信

    :用于創建UDP套接字,指定本地端口號。通過該對象,可以發送和接收UDP數據報。 DatagramPacket:用于表示一個UDP數據報,包
    發表于 12-30 10:56

    TCP&UDP調試工具

    TCP&UDP調試工具
    發表于 10-30 10:41 ?1次下載

    深度解析TCPUDP協議

    計算機與網絡設備要相互通信,它們必須遵循一種共同的方法或標準。對于不同硬件平臺和操作系統之間的交互而言,這種共同遵循的規范尤為關鍵。我們將這一系列指導通信過程的規則稱為“協議”。TCPUDP
    的頭像 發表于 09-02 14:53 ?477次閱讀
    深度解析<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協議

    tcpudp的區別和聯系

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

    使用sep_now的同時能不能使用TCPUDP連接?

    在使用sep_now的同時能不能使用TCPUDP連接
    發表于 07-22 06:10

    請問esp8266 rtos sdk能否同時啟動tcp socke clent和udp server?

    我在用的是V1.5的rtos 的sdk,想在esp8266上同時啟動tcp的socket client和udp的socket server。 但是我發現,只要我一啟動upd server,t
    發表于 07-12 07:07

    如何同時在ESP8266上運行TCP客戶端和TCP服務?

    客戶端無法連接到 TCP 服務器。如果不將 TCP 客戶端從 ESP 連接到云服務器,則 ESP 上的 TCP 服務器可以很好地接受 TCP
    發表于 07-08 08:26

    請問ESP32 S3既能TCP通信同時也能UDP通信嗎?

    有一個應用需求,即想通過TCP這種保證到達的方式傳輸指令,又想通過UDP這種方式做圖傳,不知道ESP32 S3模組或者Espressif 有沒有合適的模組同時支持TCP
    發表于 06-07 07:17

    TCP/IP棧使用bind函數綁定IP地址和端口失敗的原因?

    TCP/IP 棧使用bind函數綁定IP地址和端口失敗!softAP模式,TCPserver應用,客戶端連接以后IP地址和DNS地址還是原來的192.168.4.X。
    發表于 06-06 06:10

    udp_bind這個綁定端口怎么解除?

    請教下,udp_bind 這個綁定端口,剛開始是可以的,但是重新綁定時返回錯誤,有什么方法可以
    發表于 04-22 07:41

    鴻蒙原生應用開發-網絡管理Socket連接(二)

    。 4.(可選)訂閱TCPSocket相關的訂閱事件。 5.綁定IP地址和端口端口可以指定或由系統隨機分配。 6.連接到指定的IP地址和端口
    發表于 04-02 15:22

    通信必備知識!TCPUDP協議介紹及使用

    TCPUDP是兩個最常用的通訊協議。TCP是面向連接的協議,需要在收發數據前與對方建立可靠的連接,建立連接的過程為3次握手,斷開連接的過程為4次揮手,確保數據傳輸的可靠性。UDP是一
    的頭像 發表于 03-15 08:19 ?2029次閱讀
    通信必備知識!<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協議介紹及使用
    真钱轮盘游戏| 百家乐视频游戏世界| 金都国际| ea百家乐系统| 赌博百家乐官网趋势把握| 大发8888下载| 百家乐官网筹码套装100片| 盈得利| 百家乐龙虎台布价格| 百家乐官网扫瞄光纤洗牌机扑克洗牌机扑克洗牌机 | 百家乐官网的桌子| 大发888官方 3000| 百家乐视频美女| 网上百家乐官网投注技巧| 威尼斯人娱乐城注册网址| 阴宅24山坟前放水口| 单张百家乐官网论坛| 百家乐赌台| 百家乐如何投注法| 信誉百家乐官网博彩网| 大发888坑人么| 赌博百家乐趋势把握| 百家乐官网信息| 老虎机遥控器| JJ百家乐的玩法技巧和规则| 足球百家乐官网系统| 百家乐官网视频下载地址| 大发888娱乐总代理qq| 百家乐开发软件| 百家乐官网真人博彩的玩法技巧和规则| 德保县| sz新全讯网新112| 百家乐在线投注网| 百家乐官网庄闲排列| 舒城县| 博威娱乐在线| 362百家乐的玩法技巧和规则| 百家乐官网是个什么样的游戏| 百家乐官网怎么推算| 大发888最佳状态| 百家乐赌博机玩法|