TCP與UDP

TCP協(xié)議

Transmission Control

Protocol,傳輸控制協(xié)議

面向連接的協(xié)議

需要三次握手建立連接

需要四次揮手斷開連接

TCP報頭最小長度:20字節(jié)

三次握手的過程:

客戶端發(fā)送:SYN = 1,SEQ = X, 端口號

服務器回復:SYN = 1, ACK = X +1, SEQ = Y

客戶端發(fā)送:ACK = Y + 1, SEQ = X+ 1

確認應答信號ACK =收到的SEQ1坛怪。連接建立中,同步信號SYN始終為1。連接建立后,同步信號SYN=0糕伐。

四次揮手過程

A向B提出停止連接請求择份,F(xiàn)IN = 1

B收到,ACK = 1

B向A提出停止連接請求俐载,F(xiàn)IN = 1

A收到蟹略,ACK = 1

優(yōu)點:

可靠,穩(wěn)定1遏佣、傳遞數據前挖炬,會有三次握手建立連接2、傳遞數據時状婶,有確認意敛、窗口、重傳膛虫、擁塞控制3草姻、傳遞數據后,會斷開連接節(jié)省系統(tǒng)資源

缺點:

傳輸慢稍刀,效率低撩独,占用系統(tǒng)資源高1、傳遞數據前账月,建立連接需要耗時2综膀、傳遞數據時,確認局齿、重傳剧劝、擁塞等會消耗大量時間以及CPU和內存等硬件資源

易被攻擊1、因為有確認機制抓歼,三次握手等機制讥此,容易被人利用拢锹,實現(xiàn)DOS、DDOS攻擊

如何保證接收的順序性:

TCP協(xié)議使用SEQ和ACK機制保證了順序性TCP的每個報文都是有序號的萄喳。確認應答信號ACK=收到的SEQ+1

UDP協(xié)議

User Data Protocol卒稳,用戶數據包協(xié)議

面向無連接的協(xié)議

UDP報頭只有8字節(jié)

簡介:

傳輸數據之前源端和終端不建立連接,當它想傳送時就簡單地去抓取來自應用程序的數據取胎,并盡可能快的把它扔到網絡上

在發(fā)送端展哭,UDP傳送數據的速度僅僅是受應用程序生成數據的速度、計算機的能力和傳輸帶寬的限制

在接收端闻蛀,UDP把每個消息段放在隊列中匪傍,應用程序每次從隊列中讀一個消息段

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

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

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

UDP使用盡最大努力交付棵介,即不保證可靠交付,因此主機不需要維持復雜的鏈接狀態(tài)表吧史。

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

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

優(yōu)點:

傳輸速率快1、傳輸數據前净薛,不需要像TCP一樣建立連接2汪榔、傳輸數據時蒲拉,沒有確認肃拜、窗口痴腌、重傳、擁塞控制等機制

較安全1燃领、由于沒有了TCP的一些機制士聪,被攻擊者利用的漏洞就少了

缺點:

不可靠,不穩(wěn)定1猛蔽、由于沒有了TCP的機制剥悟,在數據傳輸時如果網絡不好,很可能丟包

用UDP協(xié)議通訊時怎樣得知目標機是否獲得了數據包

仿造TCP的做法曼库,每發(fā)一個UDP包区岗,都在里面加一個SEQ序號,接收方收到包后毁枯,將SEQ序號回復給發(fā)送方慈缔。如果發(fā)送方在指定時間以內沒有收到回應,說明丟包了种玛。

TCP與UDP的區(qū)別

TCP面向有鏈接的通信服務

UDP面向無連接的通信服務

TCP提供可靠的通信傳輸

UDP不可靠,會丟包

TCP保證數據順序

UDP不保證

TCP數據無邊界

UDP有邊界

TCP速度快

UDP速度慢

TCP面向字節(jié)流

UDP面向報文

TCP一對一

UDP可以一對一藐鹤,一對多

TCP報頭至少20字節(jié)

UDP報頭8字節(jié)

TCP有流量控制,擁塞控制

UDP沒有

為什么UDP比TCP快

TCP需要三次握手

TCP有擁塞控制赂韵,控制流量等機制

為什么TCP比UDP可靠

TCP是面向有連接的娱节,建立連接之后才發(fā)送數據;而UDP則不管對方存不存在都會發(fā)送數據祭示。

TCP有確認機制肄满,接收端每收到一個正確包都會回應給發(fā)送端。超時或者數據包不完整的話發(fā)送端會重傳绍移。UDP沒有悄窃。因此可能丟包。

什么時候使用TCP

當對網絡通訊質量有要求的時候蹂窖,比如:整個數據要準確無誤的傳遞給對方轧抗,這往往用于一些要求可靠的應用,比如HTTP瞬测、HTTPS横媚、FTP等傳輸文件的協(xié)議,POP月趟、SMTP等郵件傳輸的協(xié)議灯蝴。在日常生活中,常見使用TCP協(xié)議的應用如下:瀏覽器孝宗,用的HTTP FlashFXP穷躁,用的FTP

Outlook,用的POP因妇、SMTP Putty问潭,用的Telnet猿诸、SSH

QQ文件傳輸

什么時候應該使用UDP:

當對網絡通訊質量要求不高的時候,要求網絡通訊速度能盡量的快狡忙,這時就可以使用UDP梳虽。比如,日常生活中灾茁,常見使用UDP協(xié)議的應用如下:QQ語音QQ視頻TFTP

TCP無邊界窜觉,UDP有邊界

TCP無邊界

客戶端分多次發(fā)送數據給服務器,若服務器的緩沖區(qū)夠大北专,那么服務器端會在客戶端發(fā)送完之后一次性接收過來禀挫,所以是無邊界的;

UDP有邊界

客戶端每發(fā)送一次拓颓,服務器端就會接收一次特咆,也就是說發(fā)送多少次就會接收多少次,因此是有邊界的录粱。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末腻格,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子啥繁,更是在濱河造成了極大的恐慌菜职,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旗闽,死亡現(xiàn)場離奇詭異酬核,居然都是意外死亡,警方通過查閱死者的電腦和手機适室,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門嫡意,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捣辆,你說我怎么就攤上這事蔬螟。” “怎么了汽畴?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵旧巾,是天一觀的道長。 經常有香客問我忍些,道長鲁猩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任罢坝,我火速辦了婚禮廓握,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己隙券,他們只是感情好戈钢,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著是尔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪开仰。 梳的紋絲不亂的頭發(fā)上拟枚,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機與錄音众弓,去河邊找鬼恩溅。 笑死,一個胖子當著我的面吹牛谓娃,可吹牛的內容都是我干的脚乡。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼滨达,長吁一口氣:“原來是場噩夢啊……” “哼奶稠!你這毒婦竟也來了?” 一聲冷哼從身側響起捡遍,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤锌订,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后画株,有當地人在樹林里發(fā)現(xiàn)了一具尸體辆飘,經...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年谓传,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜈项。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡续挟,死狀恐怖紧卒,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情诗祸,我是刑警寧澤常侦,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站贬媒,受9級特大地震影響聋亡,放射性物質發(fā)生泄漏。R本人自食惡果不足惜际乘,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一坡倔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦罪塔、人聲如沸投蝉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瘩缆。三九已至,卻和暖如春佃蚜,著一層夾襖步出監(jiān)牢的瞬間庸娱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工谐算, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留熟尉,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓洲脂,卻偏偏與公主長得像斤儿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子恐锦,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內容

  • 一往果、TCP/IP協(xié)議 TCP/IP網絡協(xié)議分為:應用層(Telnet、FTP一铅、e-mail...)棚放、傳輸層(TCP...
    向陽的向日葵花閱讀 922評論 0 0
  • 1、TCP與UDP概述 TCP (Transmission Control Protocol)和UDP(User ...
    風從虎云從龍118閱讀 883評論 0 8
  • 轉載自陶程(知乎Android開發(fā)工程師)https://github.com/GeniusVJR/Learnin...
    峰峰小閱讀 375評論 0 1
  • 從本節(jié)開始馅闽,我們開始學習最重要的傳輸層飘蚯。傳輸層位于OSI七層模型的第四層(從下往上)。顧名思義福也,傳輸層的作用是實現(xiàn)...
    doudo閱讀 930評論 0 1
  • TCP/IP 系列文章網絡基礎知識(一)TCP/IP基礎知識(二)物理層(三)數據鏈路層(四)IP 協(xié)議(五)IP...
    ZhengYaWei閱讀 953評論 0 6