海外1核2G服務器低至2折,半價續費券限量免費領取!

搜搜吧

查看: 222|回復: 1
打印 上一主題 下一主題

[已解決] udp端口和tcp端口有什么不同?

[復制鏈接]
  • TA的每日心情
    奮斗
    2019-8-15 17:06
  • 簽到天數: 77 天

    [LV.6]常住居民II

    超級VIP貴賓會員

    2022

    主題

    2102

    帖子

    6987

    積分

    Rank: 1

    UID
    21335
    威望
    -102
    貢獻
    2397
    在線時間
    58 小時
    注冊時間
    2018-12-6
    跳轉到指定樓層
    樓主
    發表于 2019-7-16 14:19:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    10金錢
    udp端口和tcp端口有什么不同?

    樓主熱帖排行榜
    搜搜吧社區溫馨提示:
    搜搜吧(www.swmhpc.tw)十分重視網絡版權及其他知識產權的保護,針對網絡侵權采取如下版權政策:
    1、本站有理由相信網友侵犯任何人的版權或作品,(圖文,文字,下載,視頻,非法傳播),本站有權不事先通知即刪除涉嫌侵權的作品和內容
    2、本站將采取必要的網絡技術手段,確認為侵權作品或內容的用戶有權進行警告、屏蔽、刪除的行為,盡可能的防止侵權行為的發生
    3、搜搜吧影視資源均收集自互聯網,沒有提供影片資源存儲,也未參與錄制上傳,若本站收錄的資源涉及您的版權或知識產權或其他利益,我們會立即刪除
    4、搜搜吧,刪帖,投訴,舉報,侵權,若本站侵犯您的權益,附上身份及權利證明,請直接發送郵件到 [email protected] 我們將在一個工作日內刪除
    soso搜搜吧社區是聚合百度搜索,搜狗搜索,360搜索,新聞,教育,站長,廣告,娛樂,影視,微信,網盤,營銷,手機,汽車,游戲,論壇綜合為一體的大型門戶社區www.swmhpc.tw
  • TA的每日心情
    擦汗
    2019-10-31 14:27
  • 簽到天數: 45 天

    [LV.5]常住居民I

    小學生

    3279

    主題

    3464

    帖子

    1萬

    積分

    Rank: 3Rank: 3

    UID
    151
    威望
    -194
    貢獻
    2895
    在線時間
    185 小時
    注冊時間
    2014-9-28
    沙發
    發表于 2019-7-16 15:14:27 | 只看該作者
    云服務器、云數據庫特惠,服務更穩,速度更快,價格更優
      TCP和UDP是OSI模型中的運輸層中的協議。TCP提供可靠的通信傳輸,而UDP則常被用于廣播和細節控制交給應用的通信傳輸

      UDP(User Datagram Protocol)

      UDP不提供復雜的控制機制,利用IP提供面向無連接的通信服務。并且它是將應用程序發來的數據在收到的那一刻,立刻按照原樣發送到網絡上的一種機制。即使是出現網絡擁堵的情況下,UDP也無法進行流量控制等避免網絡擁塞的行為。此外,傳輸途中如果出現了丟包,UDO也不負責重發。甚至當出現包的到達順序亂掉時也沒有糾正的功能。如果需要這些細節控制,那么不得不交給由采用UDO的應用程序去處理。換句話說,UDP將部分控制轉移到應用程序去處理,自己卻只提供作為傳輸層協議的最基本功能。UDP有點類似于用戶說什么聽什么的機制,但是需要用戶充分考慮好上層協議類型并制作相應的應用程序。

      TCP(Transmission Control Protocol)

      TCP充分實現了數據傳輸時各種控制功能,可以進行丟包的重發控制,還可以對次序亂掉的分包進行順序控制。而這些在UDP中都沒有。此外,TCP作為一種面向有連接的協議,只有在確認通信對端存在時才會發送數據,從而可以控制通信流量的浪費。TCP通過檢驗、序列號、確認應答、重發控制、連接管理以及窗口控制等機制實現可靠性傳輸。

      一、TCP協議與UDP協議的區別

      首先咱們弄清楚,TCP協議和UCP協議與TCP/IP協議的聯系,一直都是說TCP/IP協議與UDP協議的區別,是沒有從本質上弄清楚網絡通信

      TCP/IP協議是一個協議簇。里面包括很多協議的。UDP只是其中的一個

      TCP/IP協議集包括應用層,傳輸層,網絡層,網絡訪問層

      應用層包括:

      超文本傳輸協議(HTTP):萬維網的基本協議

      文件傳輸(TFTP簡單文件傳輸協議)

      遠程登錄(Telnet),提供遠程訪問其它主機功能,它允許用戶登錄

      internet主機,并在這臺主機上執行命令.

      網絡管理(SNMP簡單網絡管理協議),該協議提供了監控網絡設備的方法,以及配置管理,統計信息收集,性能管理及安全管理等.

      域名系統(DNS),該系統用于在internet中將域名及其公共廣播的網絡節點轉換成IP地址

      網絡層包括:

      Internet協議(IP)

      Internet控制信息協議(ICMP)

      地址解析協議(ARP)

      反向地址解析協議(RARP)

      網絡訪問層:

      網絡訪問層又稱作主機到網絡層(host-to-network).網絡訪問層的功能包括IP地址與物理地址硬件的映射,以及將IP封裝成幀.基于不同硬件類型的網絡接口,網絡訪問層定義了和物理介質的連接.

      下面講解一下TCP協議和UDP協議的區別

      TCP(Transmission Control Protocol,傳輸控制協議)是面向連接的協議,也就是說,在收發數據前,必須和對方建立可靠的連接。一個TCP連接必須要經過三次“對話”才能建立,其中的過程非常復雜,過程:主機A向主機B發出連接請求數據包:“我想給你發數據,可以嗎?”,這是第一次對話;主機B向主機A發送同意連接和要求同步(同步就是兩臺主機一個在發送,一個在接收,協調工作)的數據包:“可以,你什么時候發?”,這是第二次對話;主機A再發出一個數據包確認主機B的要求同步:“我現在就發,你接著吧!”,這是第三次對話。三次“對話”的目的是使數據包的發送和接收同步,經過三次“對話”之后,主機A才向主機B正式發送數據。

      TCP建立連接要進行3次握手

      1)主機A通過向主機B發送一個含有同步序列號的標志位的數據段給主機B,向主機B請求建立連接,通過這個數據段,主機A告訴主機B兩件事:我想要和你通信;你可以用哪個序列號作為起始數據段來回應我

      .2)主機B收到主機A的請求后,用一個帶有確認應答(ACK)和同步序列號(SYN)標志位的數據段響應主機A,也告訴主機A兩件事:我已經收到你的請求了,你可以傳輸數據了;你要用序列號作為起始數據段來回應我

      3)主機A收到這個數據段后,再發送一個確認應答,確認已收到主機B的數據段:"我已收到回復,我現在要開始傳輸實際數據了

      3次握手就完成了,主機A和主機B就可以傳輸數據

      3次握手的特點:

      沒有應用層的數據

      SYN這個標志位只有在TCP建產連接時才會被置1

      握手完成后SYN標志位被置0

      TCP斷開連接要進行4次

      1)當主機A完成數據傳輸后,將控制位FIN置1,提出停止TCP連接的請求

      2)主機B收到FIN后對其作出響應,確認這一方向上的TCP連接將關閉,將ACK置1

      3)由B端再提出反方向的關閉請求,將FIN置1

      4)主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.

      由TCP的三次握手和四次斷開可以看出,TCP使用面向連接的通信方式,大大提高了數據通信的可靠性,使發送數據端

      和接收端在數據正式傳輸前就有了交互,為數據正式傳輸打下了可靠的基礎

      名詞解釋

      ACK TCP報頭的控制位之一,對數據進行確認.確認由目的端發出,用它來告訴發送端這個序列號之前的數據段都收到了.比如,確認號為X,則表示前X-1個數據段都收到了,只有當ACK=1時,確認號才有效,當ACK=0時,確認號無效,這時會要求重傳數據,保證數據的完整性.

      SYN同步序列號,TCP建立連接時將這個位置1

      FIN發送端完成發送任務位,當TCP完成數據傳輸需要斷開時,提出斷開連接的一方將這位置1

      TCP的包頭結構:

      源端口16位

      目標端口16位

      序列號32位

      回應序號32位

      TCP頭長度4位

      reserved 6位

      控制代碼6位

      窗口大小16位

      偏移量16位

      校驗和16位

      選項32位(可選)

      這樣我們得出了TCP包頭的最小長度,為20字節。

      UDP(User Data Protocol,用戶數據報協議)

      (1)UDP是一個非連接的協議,傳輸數據之前源端和終端不建立連接,當它想傳送時就簡單地去抓取來自應用程序的數據,并盡可能快地把它扔到網絡上。在發送端,UDP傳送數據的速度僅僅是受應用程序生成數據的速度、計算機的能力和傳輸帶寬的限制;在接收端,UDP把每個消息段放在隊列中,應用程序每次從隊列中讀一個消息段。

      (2)由于傳輸數據不建立連接,因此也就不需要維護連接狀態,包括收發狀態等,因此一臺服務機可同時向多個客戶機傳輸相同的消息。

      (3)UDP信息包的標題很短,只有8個字節,相對于TCP的20個字節信息包的額外開銷很小。

      (4)吞吐量不受擁擠控制算法的調節,只受應用軟件生成數據的速率、傳輸帶寬、源端和終端主機性能的限制。

      (5)UDP使用盡最大努力交付,即不保證可靠交付,因此主機不需要維持復雜的鏈接狀態表(這里面有許多參數)。

      (6)UDP是面向報文的。發送方的UDP對應用程序交下來的報文,在添加首部后就向下交付給IP層。既不拆分,也不合并,而是保留這些報文的邊界,因此,應用程序需要選擇合適的報文大小。

      我們經常使用“ping”命令來測試兩臺主機之間TCP/IP通信是否正常,其實“ping”命令的原理就是向對方主機發送UDP數據包,然后對方主機確認收到數據包,如果數據包是否到達的消息及時反饋回來,那么網絡就是通的。

      UDP的包頭結構:

      源端口16位

      目的端口16位

      長度16位

      校驗和16位

      小結TCP與UDP的區別:

      1.基于連接與無連接;

      2.對系統資源的要求(TCP較多,UDP少);

      3.UDP程序結構較簡單;

      4.流模式與數據報模式;

      5.TCP保證數據正確性,UDP可能丟包,TCP保證數據順序,UDP不保證。

      UDP應用場景:

      1.面向數據報方式

      2.網絡數據大多為短消息

      3.擁有大量Client

      4.對數據安全性無特殊要求

      5.網絡負擔非常重,但對響應速度要求高

      TCP:

      TCP編程的服務器端一般步驟是:

      1、創建一個socket,用函數socket();

      2、設置socket屬性,用函數setsockopt();*可選

      3、綁定IP地址、端口等信息到socket上,用函數bind();

      4、開啟監聽,用函數listen();

      5、接收客戶端上來的連接,用函數accept();

      6、收發數據,用函數send()和recv(),或者read()和write();

      7、關閉網絡連接;

      8、關閉監聽;

      TCP編程的客戶端一般步驟是:

      1、創建一個socket,用函數socket();

      2、設置socket屬性,用函數setsockopt();*可選

      3、綁定IP地址、端口等信息到socket上,用函數bind();*可選

      4、設置要連接的對方的IP地址和端口等屬性;

      5、連接服務器,用函數connect();

      6、收發數據,用函數send()和recv(),或者read()和write();

      7、關閉網絡連接;

      UDP:

      與之對應的UDP編程步驟要簡單許多,分別如下:

      UDP編程的服務器端一般步驟是:

      1、創建一個socket,用函數socket();

      2、設置socket屬性,用函數setsockopt();*可選

      3、綁定IP地址、端口等信息到socket上,用函數bind();

      4、循環接收數據,用函數recvfrom();

      5、關閉網絡連接;

      UDP編程的客戶端一般步驟是:

      1、創建一個socket,用函數socket();

      2、設置socket屬性,用函數setsockopt();*可選

      3、綁定IP地址、端口等信息到socket上,用函數bind();*可選

      4、設置對方的IP地址和端口等屬性;

      5、發送數據,用函數sendto();

      6、關閉網絡連接;

    soso搜搜吧社區是聚合百度搜索,搜狗搜索,360搜索,新聞,教育,站長,廣告,娛樂,影視,微信,網盤,營銷,手機,汽車,游戲,論壇綜合為一體的大型門戶社區www.swmhpc.tw
    回復

    使用道具 舉報

    Powered by www.swmhpc.tw X3.4© 2013-2019 搜搜吧社區 小黑屋|手機版|地圖|關于我們|騰訊云代金券|幫助中心|soso吧社區
    廣告服務/項目合作: [email protected]  侵權舉報郵箱: [email protected]  搜搜吧建站時間:創建于2013年07月23日
    免責聲明:本站所有的內容均來自互聯網以及第三方作者自由發布,版權歸原作者版權所有,搜搜吧不承擔任何的法律責任,若有侵權請來信告知,我們立即刪除!

    GMT+8, 2019-12-8 12:10 , Processed in 1.780462 second(s), 10 queries , Gzip On, MemCache On.

    快速回復 返回頂部 返回列表
    2019女子排球比分规则