網(wǎng)絡(luò)-TCP和UDP回顧

  • 面試總會問到網(wǎng)絡(luò)問題
  • 平時開發(fā)中也總是模棱兩可繁疤,不夠深入
  • 所以就對相關(guān)知識點做一個梳理和總結(jié)署穗,其一可以加深記憶,其二方便回顧嵌洼,其三可以跟大家做一下交流

OSI模型


OSI模型案疲,即開放式通信系統(tǒng)互聯(lián)參考模型(Open System Interconnection,OSI/RM,Open Systems Interconnection Reference Model),是國際標準化組織(ISO)提出的一個試圖使各種計算機在世界范圍內(nèi)互連為網(wǎng)絡(luò)的標準框架麻养,簡稱OSI褐啡。

OSI網(wǎng)絡(luò)模型.jpg

TCP/IP參考模型


TCP/IP參考模型(TCP/IP reference model),是一組用于實現(xiàn)網(wǎng)絡(luò)互連的通信協(xié)議,基于TCP/IP的參考模型將協(xié)議分成四個層次鳖昌,它們分別是:網(wǎng)絡(luò)訪問層备畦、網(wǎng)際互聯(lián)層、傳輸層(主機到主機)许昨、和應用層懂盐。

TCP:IP 參考模型.jpg

TCP


TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的糕档、基于字節(jié)流的傳輸層通信協(xié)議莉恼,由IETF的RFC 793定義。
TCP通過檢驗和速那、序列號俐银、確認應答、重發(fā)控制端仰、連接管理以及窗口控制等機制實現(xiàn)可靠性傳輸捶惜。

TCP 首部

TCP 首部.png

Sequence Number是發(fā)送數(shù)據(jù)包中的第一個字節(jié)的序列號,32位荔烧。
Acknowledgment Number是確認序列號吱七,32位。
ACK表示Acknowledgment Number字段有意義
PSH表示Push功能鹤竭,RST表示復位TCP連接
SYN表示SYN報文(在建立TCP連接的時候使用)
FIN表示沒有數(shù)據(jù)需要發(fā)送了(在關(guān)閉TCP連接的時候使用)
Checksum是校驗和踊餐,16位

TCP需要三次握手才能建立,而斷開連接則需要四次握手

  • TCP建立連接
    首先Client端發(fā)送連接請求報文诺擅,Server段接受連接后回復ACK報文市袖,并為這次連接分配資源。Client端接收到ACK報文后也向Server段發(fā)生ACK報文,并分配資源苍碟,這樣TCP連接就建立了酒觅。
三次握手.png
  • TCP關(guān)閉連接
    假設(shè)Client端發(fā)起中斷連接請求,也就是發(fā)送FIN報文微峰。Server端接到FIN報文后舷丹,意思是說"我Client端沒有數(shù)據(jù)要發(fā)給你了",但是如果你還有數(shù)據(jù)沒有發(fā)送完成蜓肆,則不必急著關(guān)閉Socket颜凯,可以繼續(xù)發(fā)送數(shù)據(jù)。所以你先發(fā)送ACK仗扬,"告訴Client端症概,你的請求我收到了,但是我還沒準備好早芭,請繼續(xù)你等我的消息"彼城。這個時候Client端就進入FIN_WAIT狀態(tài),繼續(xù)等待Server端的FIN報文退个。當Server端確定數(shù)據(jù)已發(fā)送完成募壕,則向Client端發(fā)送FIN報文,"告訴Client端语盈,好了舱馅,我這邊數(shù)據(jù)發(fā)完了,準備好關(guān)閉連接了"刀荒。Client端收到FIN報文后代嗤,"就知道可以關(guān)閉連接了,但是他還是不相信網(wǎng)絡(luò)照棋,怕Server端不知道要關(guān)閉资溃,所以發(fā)送ACK后進入TIME_WAIT狀態(tài)武翎,如果Server端沒有收到ACK則可以重傳烈炭。“宝恶,Server端收到ACK后符隙,"就知道可以斷開連接了"。Client端等待了2MSL后依然沒有收到回復垫毙,則證明Server端已正常關(guān)閉霹疫,那好,我Client端也可以關(guān)閉連接了综芥。Ok丽蝎,TCP連接就這樣關(guān)閉了!


    關(guān)閉TCP連接.png

UDP


UDP 是User Datagram Protocol的簡稱, 中文名是用戶數(shù)據(jù)報協(xié)議屠阻,是OSI(Open System Interconnection红省,開放式系統(tǒng)互聯(lián)) 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)国觉,IETF RFC 768是UDP的正式規(guī)范吧恃。UDP在IP報文的協(xié)議號是17。

它主要用于不要求分組順序到達的傳輸中麻诀,分組傳輸順序的檢查與排序由應用層完成痕寓,提供面向事務(wù)的簡單不可靠信息傳送服務(wù)。UDP 協(xié)議基本上是IP協(xié)議與上層協(xié)議的接口蝇闭。UDP協(xié)議適用端口分別運行在同一臺設(shè)備上的多個應用程序呻率。

TCP與UDP區(qū)別總結(jié):


1、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的呻引,即發(fā)送數(shù)據(jù)之前不需要建立連接
2筷凤、TCP提供可靠的服務(wù)苞七。也就是說藐守,通過TCP連接傳送的數(shù)據(jù),無差錯蹂风,不丟失卢厂,不重復,且按序到達;UDP盡最大努力交付惠啄,即不保 證可靠交付
3慎恒、TCP面向字節(jié)流,實際上是TCP把數(shù)據(jù)看成一連串無結(jié)構(gòu)的字節(jié)流;UDP是面向報文的
UDP沒有擁塞控制撵渡,因此網(wǎng)絡(luò)出現(xiàn)擁塞不會使源主機的發(fā)送速率降低(對實時應用很有用融柬,如IP電話,實時視頻會議等)
4趋距、每一條TCP連接只能是點到點的;UDP支持一對一粒氧,一對多,多對一和多對多的交互通信
5节腐、TCP首部開銷20字節(jié);UDP的首部開銷小外盯,只有8個字節(jié)
6、TCP的邏輯通信信道是全雙工的可靠信道翼雀,UDP則是不可靠信道

寫在最后


TCP和UDP的區(qū)別參考
TCP協(xié)議中的三次握手和四次揮手

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饱苟,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子狼渊,更是在濱河造成了極大的恐慌箱熬,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異城须,居然都是意外死亡护锤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門酿傍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烙懦,“玉大人,你說我怎么就攤上這事赤炒÷任觯” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵莺褒,是天一觀的道長。 經(jīng)常有香客問我遵岩,道長你辣,這世上最難降的妖魔是什么尘执? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮誊锭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘丧靡。我一直安慰自己,他們只是感情好温治,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布饭庞。 她就那樣靜靜地躺著,像睡著了一般熬荆。 火紅的嫁衣襯著肌膚如雪舟山。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天惶看,我揣著相機與錄音捏顺,去河邊找鬼。 笑死纬黎,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的劫窒。 我是一名探鬼主播本今,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了冠息?” 一聲冷哼從身側(cè)響起挪凑,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逛艰,沒想到半個月后躏碳,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡散怖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年菇绵,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片镇眷。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡咬最,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出欠动,到底是詐尸還是另有隱情永乌,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布具伍,位于F島的核電站翅雏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏人芽。R本人自食惡果不足惜棉姐,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望奴艾。 院中可真熱鬧硕盹,春花似錦、人聲如沸祈坠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赦拘。三九已至慌随,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間躺同,已是汗流浹背阁猜。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蹋艺,地道東北人剃袍。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓捎谨,卻偏偏與公主長得像憔维,于是被迫代替她去往敵國和親业扒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

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