OSI網路七層協議的通俗理解

2021-09-03 02:14:09 字數 1356 閱讀 4799

這個模型學了好多次,總是記不住。今天又看了一遍,發現用歷史推演的角度去看問題會更有邏輯,更好記。本文不一定嚴謹,可能有錯漏,主要是拋磚引玉,幫助記性不好的人。總體來說,osi模型是從底層往上層發展出來的

這個模型推出的最開始,是是因為美國人有兩台機器之間進行通訊的需求

需求1:第一台電腦誕生了,於是第二台電腦也出現了,但是奇怪的是,發現它們無法進行通訊,科學家想到用線把他們連線起來,通過位元流的方式讓他們通訊,於是便有了物理層

需求2:雖然2臺電腦能通訊了,但是要通過線連線起來才行,我希望通過介質也能傳輸資料並且可以做錯誤檢測,於是有了資料鏈路層

需求4:雖然可以傳輸大量資料,但是如果我有多台計算機,怎麼找到我要發的那台?或者,a要給f發資訊,中間要經過b,c,d,e,但是中間還有好多節點如k.j.z.y。我怎麼選擇最佳路徑?這就是路由要做的事。於是,發明了網路層。

需求3:現在雖然能傳送資料了,但是傳送大量資料的時候比較卡,而且時間也比較久,我希望傳送大量資料的準確性,於是便有了傳輸層

需求5:現在我們已經保證給正確的計算機,傳送正確的封裝過後的資訊了。但是使用者級別的體驗好不好?難道我每次都要呼叫tcp去打包,然後呼叫ip協議去找路由,自己去發?當然不行,所以我們要建立乙個自動收發包,自動定址的功能。

於是,發明了會話層。會話層的作用就是建立和管理應用程式之間的通訊。

需求6:現在我能保證應用程式自動收發包和定址了。但是我要用linux給window發包,兩個系統語法不一致,就像安裝包一樣,exe是不能在linux下用的,shell在window下也是不能直接執行的。於是需要表示層

ok,現在所有必要條件都準備好了,我們可以寫個android程式,web程式去實現需求把。

這不是乙個協議,而是乙個通訊模型。其實它最初是伯克利加州分校軟體研究所,簡稱bsd發明的,主要用來一台電腦的兩個程序間通訊,然後把它用到了兩台電腦的程序間通訊。所以,可以把它簡單理解為程序間通訊,不是什麼高階的東西。主要做的事情不就是:

a發包:發請求包給某個已經繫結的埠(所以我們經常會訪問這樣的位址182.13.15.16:1235,1235就是埠);收到b的允許;然後正式傳送;傳送完了,告訴b要斷開鏈結;收到斷開允許,馬上斷開,然後傳送已經斷開資訊給b。

b收包:繫結埠和ip;然後在這個埠監聽;接收到a的請求,發允許給a,並做好接收準備,主要就是清理快取等待接收新資料;然後正式接收;接受到斷開請求,允許斷開;確認斷開後,繼續監聽其它請求。

可見,socket其實就是i/o操作。socket並不僅限於網路通訊。在網路通訊中,它涵蓋了網路層、傳輸層、會話層、表示層、應用層——其實這都不需要記,因為socket通訊時候用到了ip和埠,僅這兩個就表明了它用到了網路層和傳輸層;而且它無視多台電腦通訊的系統差別,所以它涉及了表示層;一般socket都是基於乙個應用程式的,所以會涉及到會話層和應用層。

網路七層協議 網路七層協議的通俗理解

昨天我們發布了網路7層協議,4層,5層?兩張圖弄清楚,雖然內容比較詳細,有朋友反映不是很理解,那麼今天我們用通俗的方式來了解。需求1 科學家要解決的第乙個問題是,兩個硬體之間怎麼通訊。具體就是一台發些位元流,然後另一台能收到。於是,科學家發明了物理層 主要定義物理裝置標準,如網線的介面型別 光纖的介...

網路七層協議的通俗理解

通過兩台機器通訊過程簡單介紹osi七層 需求1 科學家要解決的第乙個問題是,兩個硬體之間怎麼通訊。具體就是一台發些位元流,然後另一台能收到。於是,科學家發明了物理層 主要定義物理裝置標準,如網線的介面型別 光纖的介面型別 各種傳輸介質的傳輸速率等。它的主要作用是傳輸位元流 就是由1 0轉化為電流強弱...

網路七層協議的通俗理解

osi七層模式簡單通俗理解 這個模型學了好多次,總是記不住。今天又看了一遍,發現用歷史推演的角度去看問題會更有邏輯,更好記。本文不一定嚴謹,可能有錯漏,主要是拋磚引玉,幫助記性不好的人。總體來說,osi模型是從底層往上層發展出來的。這個模型推出的最開始,是是因為美國人有兩台機器之間進行通訊的需求。科...