在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

TCP/UDP協(xié)議到底是怎么回事

jf_78858299 ? 來(lái)源:簡(jiǎn)書(shū) ? 作者:Martin_wjl ? 2023-05-18 17:10 ? 次閱讀

TCP/IP五層網(wǎng)絡(luò)結(jié)構(gòu)模型

  • 物理層:物理層建立在物理通信介質(zhì)的基礎(chǔ)上,作為系統(tǒng)和通信介質(zhì)的接口,用來(lái)實(shí)現(xiàn)數(shù)據(jù)鏈路實(shí)體間透明的比特 (bit) 流傳輸。只有該層為真實(shí)物理通信,其它各層為虛擬通信
  • 數(shù)據(jù)鏈路層:在物理層提供比特流服務(wù)的基礎(chǔ)上,建立相鄰結(jié)點(diǎn)之間的數(shù)據(jù)鏈路,通過(guò)差錯(cuò)控制提供數(shù)據(jù)幀(Frame)在信道上無(wú)差錯(cuò)的傳輸,并進(jìn)行各電路上的動(dòng)作系列。數(shù)據(jù)的單位稱(chēng)為幀(frame)
  • 網(wǎng)絡(luò)層:選擇合適的路由,使數(shù)據(jù)分組(packet)可以交付到目的主機(jī)
  • 傳輸層:負(fù)責(zé)主機(jī)中進(jìn)程間的通信
  • 應(yīng)用層:直接為用戶(hù)的應(yīng)用程序提供服務(wù)

用圖說(shuō)話(huà):

圖片

傳輸層

我們知道傳輸層是在進(jìn)程間傳輸報(bào)文,同時(shí)TCP協(xié)議、UDP協(xié)議是TCP/IP中最具有代表性的傳輸層協(xié)議。下面就總結(jié)一下兩個(gè)協(xié)議的異同以及傳輸層的工作原理

TCP與UDP區(qū)分:

TCP協(xié)議:面向連接、可靠的流協(xié)議。連接是指兩個(gè)應(yīng)用程序?yàn)榱讼嗷鬟f信息而專(zhuān)有的、虛擬的通信線(xiàn)路,也叫做虛擬電路。流是指不間斷的數(shù)據(jù)結(jié)構(gòu),類(lèi)似于管道中的水流。可靠性指TCP協(xié)議提供可靠性傳輸,實(shí)行“順序控制”或“重發(fā)控制”機(jī)制。此外還具有“流量控制”、“擁塞控制”提供網(wǎng)絡(luò)利用率等眾多功能。

UDP協(xié)議:不具有可靠性的數(shù)據(jù)報(bào)協(xié)議。只確保發(fā)送消息,其他處理都由上層應(yīng)用來(lái)完成。

哇!TCP這么多特點(diǎn),是不是一定比UDP厲害呢?其實(shí)不然,他們各有自己的應(yīng)用場(chǎng)景。

TCP應(yīng)用場(chǎng)景:效率要求相對(duì)低,但對(duì)準(zhǔn)確性要求相對(duì)高的場(chǎng)景。因?yàn)閭鬏斨行枰獙?duì)數(shù)據(jù)確認(rèn)、重發(fā)、排序等操作,相比之下效率沒(méi)有UDP高。舉幾個(gè)例子:文件傳輸(準(zhǔn)確高要求高、但是速度可以相對(duì)慢)、接受郵件、遠(yuǎn)程登錄。

UDP應(yīng)用場(chǎng)景:效率要求相對(duì)高,對(duì)準(zhǔn)確性要求相對(duì)低的場(chǎng)景。舉幾個(gè)例子:QQ聊天、在線(xiàn)視頻、網(wǎng)絡(luò)語(yǔ)音電話(huà)(即時(shí)通訊,速度要求高,但是出現(xiàn)偶爾斷續(xù)不是太大問(wèn)題,并且此處完全不可以使用重發(fā)機(jī)制)、廣播通信(廣播、多播)。

傳輸通信:

兩個(gè)協(xié)議是進(jìn)程間通信,也就是說(shuō)應(yīng)用間的通信,那么如何在眾多程序中找到自己的目的應(yīng)用呢?在傳輸層,使用端口號(hào)來(lái)識(shí)別同一臺(tái)計(jì)算機(jī)中進(jìn)行通信的不同應(yīng)用程序。

一般情況下可以根據(jù)“源IP地址”、“目標(biāo)IP地址”、“源端口號(hào)”、“目標(biāo)端口號(hào)”來(lái)進(jìn)行識(shí)別一個(gè)通信,但是有些特殊情況,比如IP地址和端口號(hào)都一樣,只是使用的傳輸協(xié)議不一樣,怎么進(jìn)行區(qū)分?數(shù)據(jù)到達(dá)IP層(網(wǎng)絡(luò)層)之后,會(huì)先檢查IP頭部的協(xié)議號(hào),然后再傳給相應(yīng)協(xié)議的模塊。

因此,TCP/IP或UDP/IP通信中通常使用5個(gè)信息來(lái)識(shí)別一個(gè)通信:“源IP地址”、“目標(biāo)IP地址”、“源端口號(hào)”、“目標(biāo)端口號(hào)”以及“協(xié)議號(hào)”。(知名端口號(hào)與傳輸層協(xié)議沒(méi)有關(guān)系,例如53端口在TCP、UDP中都用于DNS服務(wù))

端口號(hào)如何確定:標(biāo)準(zhǔn)既定的端口號(hào),0-1023為知名端口號(hào),其他已正式注冊(cè)的端口號(hào)是1024-49151;動(dòng)態(tài)分配端口號(hào),操作系統(tǒng)來(lái)為應(yīng)用程序分配互不沖突的端口號(hào),下一個(gè)端口號(hào)是在前一個(gè)分配號(hào)上加1,動(dòng)態(tài)分配端口號(hào)范圍49152-65535.

UDP詳解

UDP是User Datagram Protocol縮寫(xiě)。UDP不提供復(fù)雜的控制機(jī)制,利用IP提供面向無(wú)連接的通信服務(wù)。并且它是將應(yīng)用程序發(fā)來(lái)的數(shù)據(jù)在收到的那一刻,立即按照原樣發(fā)送到網(wǎng)絡(luò)上的一種機(jī)制。

UDP為何存在?有哪些優(yōu)點(diǎn)呢?

  • 無(wú)需建立連接(減少延遲)
  • 實(shí)現(xiàn)簡(jiǎn)單:無(wú)需維護(hù)連接狀態(tài)
  • 頭部開(kāi)銷(xiāo)小
  • 沒(méi)有擁塞控制:應(yīng)用可以更好的控制發(fā)送時(shí)間和發(fā)送速率

UDP頭部:

圖片

UDP的頭部是由源端口號(hào)、目標(biāo)端口號(hào)、包長(zhǎng)和校驗(yàn)和組成。checksum主要是用來(lái)檢測(cè)UDP段在傳輸中是否發(fā)生了錯(cuò)誤。還有就是,校驗(yàn)和計(jì)算中也需要計(jì)算UDP偽頭部,偽頭部包含IP頭部的一些字段。我們剛才介紹了識(shí)別一個(gè)通信需要5項(xiàng)信息,而UDP頭部只有端口號(hào),余下的三項(xiàng)在IP頭部,所以引入了偽頭部的概念。(IPv6的IP頭部沒(méi)有校驗(yàn)和字段)

圖片

目前有一些場(chǎng)景需要兼顧可靠性和高效性,那么如何在UDP上實(shí)現(xiàn)可靠數(shù)據(jù)傳輸呢?

TCP詳解

TCP通過(guò)校驗(yàn)和、序列號(hào)、確認(rèn)應(yīng)答、重發(fā)控制、連接管理以及窗口控制等機(jī)制實(shí)現(xiàn)可靠性傳輸。

連接管理:

數(shù)據(jù)通信之前必須先做好連接工作,在TCP中連接的建立需要三次握手,同時(shí)在通信結(jié)束時(shí)會(huì)進(jìn)行斷開(kāi)連接的處理(四次揮手)。一個(gè)連接的建立與斷開(kāi),正常過(guò)程至少需要來(lái)回送7個(gè)包才能完成。

圖片

在TCP中,當(dāng)發(fā)送端的數(shù)據(jù)到達(dá)主機(jī)時(shí),接收端主機(jī)會(huì)返回一個(gè)已收到消息的通知,這個(gè)消息叫ACK(確認(rèn)應(yīng)答,Positive Acknowledgement)。如果沒(méi)有收到ACK,那么很可能出現(xiàn)了丟包或者返回的確認(rèn)在途中丟失,此外,也可能是由于其他原因,ACK延遲到達(dá)。發(fā)送方?jīng)]有收到ACK的話(huà)就會(huì)進(jìn)行重發(fā),但是針對(duì)延遲和ACK丟失的情況,會(huì)存在重復(fù)發(fā)送和接收。于是我們就引入了一種機(jī)制,來(lái)識(shí)別是否已經(jīng)接收數(shù)據(jù),又能識(shí)別是否已經(jīng)接收。

上述重復(fù)控制的功能可以通過(guò)序列號(hào)來(lái)實(shí)現(xiàn)。序列號(hào)是按照順序給發(fā)送數(shù)據(jù)的每一個(gè)字節(jié)都標(biāo)上號(hào)碼的編號(hào),接收端查詢(xún)接收數(shù)據(jù)TCP首部中的序列號(hào)和數(shù)據(jù)的長(zhǎng)度,將自己下一步應(yīng)該接收的 序號(hào)作為確認(rèn)應(yīng)答號(hào)返送回去。通過(guò)序列號(hào)和確認(rèn)應(yīng)答號(hào),TCP實(shí)現(xiàn)可靠傳輸。

圖片

利用窗口控制提高速度

如果我們每發(fā)送一個(gè)段就進(jìn)行一次確認(rèn),那么包的往返時(shí)間越長(zhǎng),網(wǎng)絡(luò)的吞吐量量就會(huì)越差,通信性能就會(huì)越低。

為了解決這個(gè)問(wèn)題,TCP引入了窗口的概念。確認(rèn)應(yīng)答不再是以每個(gè)片段,而是以更大的單位(窗口大小)進(jìn)行確認(rèn),轉(zhuǎn)發(fā)時(shí)間就被大幅度的縮短。至于窗口的大小是由接收端主機(jī)決定的,也方便進(jìn)行流控制。

窗口控制與重發(fā)控制

允許發(fā)送方在收到ACK之前連續(xù)發(fā)送多個(gè)分組,針對(duì)段丟失的情況,我們來(lái)討論窗口控制。

針對(duì)以前的延遲ACK,使用窗口控制之后,可以收到確認(rèn)應(yīng)答之前繼續(xù)發(fā)送報(bào)文,這樣整體速度就大大提高。

針對(duì)確認(rèn)應(yīng)答未能返回的情況。沒(méi)有使用窗口控制的時(shí)候,沒(méi)有收到確認(rèn)應(yīng)答的數(shù)據(jù)都會(huì)被重發(fā),而使用了窗口控制,某些確認(rèn)應(yīng)答即便丟失也無(wú)需重發(fā)。可以根據(jù)自己的確認(rèn)應(yīng)答或者下一個(gè)確認(rèn)應(yīng)答來(lái)確認(rèn)。

圖片

針對(duì)報(bào)文段丟失的情況。當(dāng)一個(gè)報(bào)文丟失時(shí),發(fā)送端會(huì)連續(xù)收到多個(gè)序號(hào)為1001的確認(rèn)應(yīng)答,來(lái)提醒發(fā)送端再次發(fā)送報(bào)文。對(duì)于發(fā)送端,如果連續(xù)三次收到同一個(gè)確認(rèn)應(yīng)答,將會(huì)對(duì)其對(duì)應(yīng)的數(shù)據(jù)進(jìn)行重發(fā)。

圖片

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

    關(guān)注

    8

    文章

    1393

    瀏覽量

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

    關(guān)注

    0

    文章

    329

    瀏覽量

    34324
  • 物理層
    +關(guān)注

    關(guān)注

    1

    文章

    154

    瀏覽量

    34779
  • bit
    bit
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    32261
  • 通信介質(zhì)
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5078
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    TCP協(xié)議UDP協(xié)議的區(qū)別有哪些

    計(jì)算機(jī)網(wǎng)絡(luò)簡(jiǎn)答題1、TCP 協(xié)議UDP 協(xié)議的區(qū)別有哪些?(1)TCP 屬于面向連接的協(xié)議
    發(fā)表于 08-06 08:43

    TCPUDP協(xié)議簡(jiǎn)析

    一、前言TCPUDP協(xié)議TCP/IP協(xié)議的核心。TCP (Transmission Cont
    發(fā)表于 12-15 08:13

    通訊協(xié)議TCPUDP協(xié)議使用方法

    通訊協(xié)議TCPUDP協(xié)議UDP會(huì)把數(shù)據(jù)一股腦兒地發(fā)送出去,并不會(huì)在意是否全部收到,適用于廣播類(lèi)型多對(duì)多通訊類(lèi)型,缺點(diǎn)是具有一定的丟包率
    發(fā)表于 01-21 14:53

    TCPUDP的區(qū)別分析

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

    (WiFi干貨)WiFi模塊的TCPUDP協(xié)議

    TCPUDP都是網(wǎng)絡(luò)通信協(xié)議,也就是通信時(shí)都要遵守的規(guī)則,雙方在同一規(guī)則下”交流”,才能理解或者為之服務(wù).?一、TCP協(xié)議全稱(chēng):Trans
    的頭像 發(fā)表于 09-11 09:02 ?3w次閱讀

    tcpudp協(xié)議的異同

    UDP 校驗(yàn)和則是包含 UDP 首部和數(shù)據(jù)在內(nèi)的校驗(yàn)結(jié)果。 TCP協(xié)議 TCP協(xié)議基于網(wǎng)絡(luò)層的
    的頭像 發(fā)表于 11-12 14:45 ?4252次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b><b class='flag-5'>協(xié)議</b>的異同

    線(xiàn)性科技是怎么回事

    線(xiàn)性科技是怎么回事
    發(fā)表于 04-21 14:47 ?3次下載
    線(xiàn)性科技是<b class='flag-5'>怎么回事</b>?

    TCP協(xié)議UDP協(xié)議的區(qū)別和相同點(diǎn)有哪些 一文看懂TCP協(xié)議UDP協(xié)議的優(yōu)缺點(diǎn)

    首先咱們弄清楚,TCP協(xié)議和UCP協(xié)議TCP/IP協(xié)議的聯(lián)系,很多人犯糊涂了,一直都是說(shuō)TCP
    的頭像 發(fā)表于 05-26 14:35 ?1w次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>的區(qū)別和相同點(diǎn)有哪些 一文看懂<b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>的優(yōu)缺點(diǎn)

    TCPUDP協(xié)議的區(qū)別

    最近重新認(rèn)知了一下TCPUDP的原理以及區(qū)別,做一個(gè)簡(jiǎn)單的總結(jié)。
    發(fā)表于 11-03 10:25 ?966次閱讀

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

    TCP/IP協(xié)議中有兩個(gè)具有代表性的傳輸層協(xié)議,分別是TCP協(xié)議UDP
    的頭像 發(fā)表于 03-21 10:39 ?1294次閱讀

    TCP協(xié)議UDP協(xié)議最核心的區(qū)別是什么?

    對(duì)于TCP協(xié)議UDP協(xié)議,大家應(yīng)該都有所耳聞。TCP協(xié)議
    發(fā)表于 06-15 09:37 ?827次閱讀
    <b class='flag-5'>TCP</b><b class='flag-5'>協(xié)議</b>和<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>最核心的區(qū)別是什么?

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

    TCP協(xié)議提供可靠的數(shù)據(jù)傳輸,UDP協(xié)議提供盡量高效的數(shù)據(jù)傳輸。TCP協(xié)議通過(guò)使用序列號(hào)、確認(rèn)應(yīng)
    的頭像 發(fā)表于 06-26 17:47 ?1.2w次閱讀

    CNN到底是怎么回事

    它用TensorFlow.js加載了一個(gè)10層的預(yù)訓(xùn)練模型,相當(dāng)于在你的瀏覽器上跑一個(gè)CNN模型,只需要打開(kāi)電腦,就能了解CNN究竟是怎么回事
    的頭像 發(fā)表于 06-28 14:47 ?4275次閱讀
    CNN<b class='flag-5'>到底是</b><b class='flag-5'>怎么回事</b>?

    TCP/IP協(xié)議進(jìn)階課程:5、UDP協(xié)議

    電子發(fā)燒友網(wǎng)站提供《TCP/IP協(xié)議進(jìn)階課程:5、UDP協(xié)議.pdf》資料免費(fèi)下載
    發(fā)表于 07-31 11:48 ?0次下載
    <b class='flag-5'>TCP</b>/IP<b class='flag-5'>協(xié)議</b>進(jìn)階課程:5、<b class='flag-5'>UDP</b><b class='flag-5'>協(xié)議</b>

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

    UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議) : 無(wú)連接 :UDP不建立連接,數(shù)據(jù)可以直接發(fā)送,不需要任何握手過(guò)程。 不可靠性 :UDP不保證數(shù)據(jù)的可靠傳輸,數(shù)據(jù)包可能會(huì)丟失,不會(huì)重傳。 2. 數(shù)據(jù)傳
    的頭像 發(fā)表于 01-22 09:44 ?420次閱讀
    主站蜘蛛池模板: 色中色综合| 亚洲欧洲色天使日韩精品 | 最新地址四虎www4hutv | xx视频在线 | 深夜在线视频免费网址 | 天天干天天操天天插 | 久久午夜视频 | 五月天福利视频 | 色婷五月综激情亚洲综合 | 日本黄色xxxx | 国产精品一区电影 | 久热福利视频 | 国产精品四虎在线观看免费 | 黄色网址在线免费观看 | 日本高清午夜色wwwσ | 亚洲精品一线二线三线 | 在线观看日本免费视频大片一区 | 亚洲综合第一区 | 天天草天天 | 亚洲精品久久久久午夜福 | 黄网站在线观看高清免费 | 边做边爱在线观看视频免费 | 亚洲人一区 | 一区二区在线免费观看 | 欧美综合国产精品日韩一 | 男女一区二区三区免费 | 免费国产成人α片 | 天天操天天爽天天射 | www.欧美.com| 萌白酱一线天粉嫩喷水在线观看 | 国产精品久久久久影院色老大 | 四虎国产精品永久在线 | 欧美一区二区三区综合色视频 | 特级毛片a级毛免费播放 | 欧美色爱综合 | 欧美专区在线播放 | 女的扒开尿口让男人桶爽 | 国产亚洲精品久久久久久久软件 | 亚洲免费视频在线观看 | 国产伦精品一区二区三区女 | sihu免费观看在线高清 |

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品