大學時,學到網絡協議的7層模型時,老師教了你們一個順口溜:物數網傳會表應。並說這是重點,年年必考,5分的題目擺在這裏,大家愛背不背。面試
考試的時候,果真遇到這個問題,搜索枯腸,只能想到這7個字的第一個字,由於這5分,差點掛科。ajax
後來工做面試,面試官也是很喜歡七層模型,三次握手之類的問題,可是遇到這些問題時,老是以爲很心虛。網絡
四層網絡協議模型中,應用層如下通常都是交給操做系統來處理。應用層對於四層模型來講,僅僅是冰山一角。海面下巨複雜的三層協議,都被操做系統給隱藏起來了,通常咱們在頁面上發起一個ajax請求,看見了network面板多了一個http請求,至於底層是如何實現的,咱們並不關心。架構
應⽤層 運輸層 網絡層 鏈路層
下面重點講一下運輸層和網絡層併發
運輸層有兩個比較重要的協議。tcp和udp。tcp
大哥tcp是比較 嚴謹認真、溫柔體貼、慢熱內向
的協議,發出去的消息,老是一個一個認真檢查,等待對方回覆和確認,若是一段時間內,對方沒有回覆確認消息,還會再次發送消息,若是對方回覆說你發的太快了,tcp還會體貼的把發送消息的速度下降。分佈式
弟弟udp則比較可愛呆萌、調皮好動、不負責任的協議。哥哥tcp所具備的特色,弟弟udp一個也沒有。可是 有的人說不清哪裏好 但就是誰都替代不了
,udp沒有tcp那些複雜的校驗和重傳等複雜的步驟,因此它發送消息很是快,並且並不保證對方必定收到。若是對方收不到消息,那麼udp就會呆萌的看着你,笑着對你說: 我已經盡力了
。通常語音而視頻數據都是用udp協議傳輸的,由於音頻或者視頻卡了一下並不影響總體的質量,而對實時性的要求會更高。微服務
運輸層關注的是端到端層面 網絡層關注兩點之間的層面 網絡層並不保證消息可靠性
從下圖tcp, udp, ip協議中,能夠發現高併發
上個章節講到運輸層和網絡層的區別,其中端口號被封裝在運輸層,ip被封裝到網絡成,源碼分析
那麼端口號和ip地址到底有什麼區別呢?
想免費學習Java工程化、分佈式架構、高併發、高性能、深刻淺出、微服務架構、Spring,MyBatis,Netty源碼分析等技術的朋友,能夠加羣:479499375,羣裏有阿里大牛直播講解技術,以及Java大型互聯網技術的視頻免費分享給你們,歡迎進羣一塊兒深刻交流學習。
有人說這本書太厚,偷偷告訴你,其實這本書並厚,由於這本書的後面的30%部分都是附錄,這本書的精華是前50%的部分 這兩本圖解的書,知識點講的都是比較通俗易懂的,適合入門 這本書,讓你知其然,更知其因此然 這兩本書,會讓你從不一樣角度思考協議 若是你看了不少書,卻歷來沒有試過網絡抓包,那你只是懂紙上談兵罷了。你永遠沒法理解tcp三次握手的怦然