TCP 和 UDP 的區(qū)別

前端的面試中經(jīng)常問的 TCP 和 UDP 的區(qū)別观腊,網(wǎng)上也有好多內(nèi)容,比如
TCP 是面向連接的,UDP 是面向無連接的
UDP程序結構較簡單
TCP 是面向字節(jié)流的里伯,UDP 是基于數(shù)據(jù)報的
TCP 保證數(shù)據(jù)正確性含思,UDP 可能丟包
TCP 保證數(shù)據(jù)順序崎弃,UDP 不保證

1. UDP

要想理解 TCP 和 UDP 的區(qū)別,首先要明白什么是 TCP含潘,什么是 UDP
TCP 和 UDP 是傳輸層的兩個協(xié)議
我們來看一下 UDP 的包頭


image

由上圖可以看出饲做,UDP 除了端口號,基本啥都沒有了遏弱。如果沒有這兩個端口號盆均,數(shù)據(jù)就不知道該發(fā)給哪個應用。

UDP 的特點
溝通簡單漱逸,不需要大量的數(shù)據(jù)結構泪姨,處理邏輯和包頭字段
輕信他人。它不會建立連接饰抒,但是會監(jiān)聽這個地方肮砾,誰都可以傳給它數(shù)據(jù),它也可以傳給任何人數(shù)據(jù)袋坑,甚至可以同時傳給多個人數(shù)據(jù)仗处。
愣頭青,做事不懂變通枣宫。不會根據(jù)網(wǎng)絡的情況進行擁塞控制婆誓,無論是否丟包,它該怎么發(fā)還是怎么發(fā)

2. TCP

首先是 TCP 的包頭格式
image
TCP 的包頭有哪些內(nèi)容也颤,分別有什么用

首先洋幻,源端口和目標端口是不可少的。
接下來是包的序號歇拆。主要是為了解決亂序問題鞋屈。不編好號怎么知道哪個先來,哪個后到
確認序號故觅。發(fā)出去的包應該有確認厂庇,這樣能知道對方是否收到,如果沒收到就應該重新發(fā)送输吏,這個解決的是不丟包的問題
狀態(tài)位权旷。SYN 是發(fā)起一個鏈接,ACK 是回復,RST 是重新連接拄氯,F(xiàn)IN 是結束連接躲查。因為 TCP 是面向連接的,因此需要雙方維護連接的狀態(tài)译柏,這些狀態(tài)位的包會引起雙方的狀態(tài)變更
窗口大小镣煮,TCP 要做流量控制,需要通信雙方各聲明一個窗口鄙麦,標識自己當前的處理能力典唇。

總結及面試問題

TCP 和 UDP 的區(qū)別
TCP 是面向連接的,UDP 是面向無連接的
UDP程序結構較簡單
TCP 是面向字節(jié)流的胯府,UDP 是基于數(shù)據(jù)報的
TCP 保證數(shù)據(jù)正確性介衔,UDP 可能丟包
TCP 保證數(shù)據(jù)順序,UDP 不保證
什么是面向連接骂因,什么是面向無連接
在互通之前炎咖,面向連接的協(xié)議會先建立連接,如 TCP 有三次握手寒波,而 UDP 不會
TCP 為什么是可靠連接
通過 TCP 連接傳輸?shù)臄?shù)據(jù)無差錯乘盼,不丟失,不重復影所,且按順序到達蹦肴。
TCP 報文頭里面的序號能使 TCP 的數(shù)據(jù)按序到達
報文頭里面的確認序號能保證不丟包,累計確認及超時重傳機制
TCP 擁有流量控制及擁塞控制的機制
TCP 的順序問題猴娩,丟包問題阴幌,流量控制都是通過滑動窗口來解決的

擁塞控制時通過擁塞窗口來解決的

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市卷中,隨后出現(xiàn)的幾起案子矛双,更是在濱河造成了極大的恐慌,老刑警劉巖蟆豫,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件议忽,死亡現(xiàn)場離奇詭異,居然都是意外死亡十减,警方通過查閱死者的電腦和手機栈幸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帮辟,“玉大人速址,你說我怎么就攤上這事∮删裕” “怎么了芍锚?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我并炮,道長默刚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任逃魄,我火速辦了婚禮荤西,結果婚禮上,老公的妹妹穿的比我還像新娘嗅钻。我一直安慰自己皂冰,他們只是感情好,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布养篓。 她就那樣靜靜地躺著,像睡著了一般赂蕴。 火紅的嫁衣襯著肌膚如雪柳弄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天概说,我揣著相機與錄音碧注,去河邊找鬼。 笑死糖赔,一個胖子當著我的面吹牛萍丐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播放典,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼逝变,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了奋构?” 一聲冷哼從身側響起壳影,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎弥臼,沒想到半個月后宴咧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡径缅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年掺栅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纳猪。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡氧卧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出兆旬,到底是詐尸還是另有隱情假抄,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站宿饱,受9級特大地震影響熏瞄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谬以,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一强饮、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧为黎,春花似錦邮丰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至炕檩,卻和暖如春斗蒋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背笛质。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工泉沾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人妇押。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓跷究,卻偏偏與公主長得像,于是被迫代替她去往敵國和親敲霍。 傳聞我的和親對象是個殘疾皇子俊马,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容