01.27 協議簡史,快速理解網絡協議的工作原理

大學時,學到網絡協議的7層模型時,老師教了大家一個順口溜:物數網傳會表應。並說這是重點,年年必考,5分的題目擺在這裡,你們愛背不背。

考試的時候,果然遇到這個問題,搜索枯腸,只能想到這7個字的第一個字,因為這5分,差點掛科。

後來工作面試,面試官也是很喜歡七層模型,三次握手之類的問題,但是遇到這些問題時,總是覺得很心虛。

有時候也會想,面試官考這些協議方面的東西有什麼用呢?能加工資嗎?

如果你對通信協議能一個比較深的理解,能解決很多網絡方面的問題

1. 協議分層

四層網絡協議模型中,應用層以下一般都是交給操作系統來處理。應用層對於四層模型來說,僅僅是冰山一角。海面下巨複雜的三層協議,都被操作系統給隱藏起來了,一般我們在頁面上發起一個ajax請求,看見了network面板多了一個http請求,至於底層是如何實現的,我們並不關心。

協議簡史,快速理解網絡協議的工作原理

  • 應⽤層負責處理特定的應⽤程序細節。
  • 運輸層運輸層主要為兩臺主機上的應⽤程序提供端到端的通信。
  • 網絡層處理理分組在⽹網絡中的活動,例例如分組的選路
  • 鏈路層處理理與電纜(或其他任何傳輸媒介)的物理理接⼝口細節

下面重點講一下運輸層和網絡層

1.1. 運輸層的兩兄弟

運輸層有兩個比較重要的協議。tcp和udp。

大哥tcp是比較嚴謹認真、溫柔體貼、慢熱內向的協議,發出去的消息,總是一個一個認真檢查,等待對方回覆和確認,如果一段時間內,對方沒有回覆確認消息,還會再次發送消息,如果對方回覆說你發的太快了,tcp還會體貼的把發送消息的速度降低。

弟弟udp則比較可愛呆萌、調皮好動、不負責任的協議。哥哥tcp所具有的特點,弟弟udp一個也沒有。但是有的人說不清哪裡好 但就是誰都替代不了,udp沒有tcp那些複雜的校驗和重傳等複雜的步驟,所以它發送消息非常快,而且並不保證對方一定收到。如果對方收不到消息,那麼udp就會呆萌的看著你,笑著對你說:我已經盡力了。一般語音而視頻數據都是用udp協議傳輸的,因為音頻或者視頻卡了一下並不影響整體的質量,而對實時性的要求會更高。

1.2. 運輸層和網絡層的區別

  • 運輸層關注的是端到端層面,及End1到End2,忽略中間的任何點。
  • 網絡層關注兩點之間的層面,即hop1如何到hop2,hop2如何到hop3
  • 網絡層並不保證消息可靠性,可靠性上層的傳輸層負責。TCP採用超時重傳,分組確認的機制,保證消息不會丟失。
協議簡史,快速理解網絡協議的工作原理

從下圖tcp, udp, ip協議中,可以發現

  • 傳輸層的tcp和udp都是有源端口和目的端口,但是沒有ip字段
  • 源ip和目的ip只在ip數據報中
  • 理解各個協議,關鍵在於理解報文的各個字段的含義
協議簡史,快速理解網絡協議的工作原理

1.3. ip和端口號的真正含義

上個章節講到運輸層和網絡層的區別,其中端口號被封裝在運輸層,ip被封裝到網絡成,

那麼端口號和ip地址到底有什麼區別呢?

  • ip用來用來標記主機的位置
  • 端口號用來標記該數據應該被目標主機上的哪個應用程序去處理。端口號佔用16位,2的16次方等於65536,所以你明白了為什麼端口號的範圍從0到65535了吧。
協議簡史,快速理解網絡協議的工作原理

1.4. 數據在協議棧的流動 封裝與分用

  • 當發送消息時,數據在向下傳遞時,經過不同層次的協議處理,打上各種頭部信息
  • 當接受消息時,數據在向上傳遞,通過不同的頭部信息字段,才知道要交給上層的那個模塊來處理。比如一個ip包,如果沒有頭部信息,那麼這個消息究竟是交給tcp協議來處理,還是udp來處理,就不得而知了
協議簡史,快速理解網絡協議的工作原理

2. 深入閱讀,好書推薦

上面講的都是很基礎的知識,具體細數據報各個字段的含義,還是需要看書的。紙上得來終覺淺,絕知此事要抓包。邊看書邊學習抓包。要學會使用wireshark工具,能夠熟練使用netstat去發現tcp鏈接的相關問題。

  • 《http權威指南》 有人說這本書太厚,偷偷告訴你,其實這本書並厚,因為這本書的後面的30%部分都是附錄,這本書的精華是前50%的部分
  • 《圖解http》、《圖解tcp/ip》這兩本圖解的書,知識點講的都是比較通俗易懂的,適合入門
  • 《tcp/ip 詳解 卷1》這本書,讓你知其然,更知其所以然
  • 《tcp/ip 基礎》、《tcp/ip 路由技術》這兩本書,會讓你從不同角度思考協議
  • 《精通wireshark》、《wireshark網絡分析實戰》如果你看了很多書,卻從來沒有試過網絡抓包,那你只是懂紙上談兵罷了。你永遠無法理解tcp三次握手的怦然心動,與四次分手的刻骨銘心。
  • 《網絡是怎樣連接的》非常好看,引人入勝的科普書籍,作者戶根勤從軟件到硬件,方方面面造詣都很深。
  • 《tcp ip 入門經典》


分享到:


相關文章: