1. 程式人生 > >如何記住OSI七層協議模型,腦洞大開有木有?

如何記住OSI七層協議模型,腦洞大開有木有?

       學過計算機網路的各位,一定知道OSI七層協議模型。OSI七層協議模型(或簡稱OSI七層模型),是一個定義得非常好的協議規範,被認為是現代開放性通訊系統互連互通的標準參考模型。OSI模型有7層結構,每層都可以有幾個子層。 OSI的7層從上到下分別是:

  • 7. 應用層——Application(Layer 7)
與其它計算機進行通訊的一個應用,它是對應應用程式的通訊服務的。例如,一個沒有通訊功能的字處理程式就不能執行通訊的程式碼,從事字處理工作的程式設計師也不關心OSI的第7層。但是,如果添加了一個傳輸檔案的選項,那麼字處理器的程式設計師就需要實現OSI的第7層。
  • 6. 表示層——Presentation(Layer 6)
這一層的主要功能是定義資料格式及加密。例如,FTP允許你選擇以二進位制或ASCII格式傳輸。如果選擇二進位制,那麼傳送方和接收方不改變檔案的內容。如果選擇ASCII格式,傳送方將把文字從傳送方的字符集轉換成標準的ASCII後傳送資料。在接收方將標準的ASCII轉換成接收方計算機的字符集。
  • 5. 會話層——Session(Layer 5)
       它定義瞭如何開始、控制和結束一個會話,包括對多個雙向訊息的控制和管理,以便在只完成連續訊息的一部分時可以通知應用,從而使表示層看到的資料是連續的,在某些情況下,如果表示層收到了所有的資料,則用資料代表表示層。
  • 4. 傳輸層—— Transport(Layer 4)
這層的功能包括是否選擇差錯恢復協議還是無差錯恢復協議,及在同一主機上對不同應用的資料流的輸入進行復用,還包括對收到的順序不對的資料包的重新排序功能。
  • 3. 網路層——Network(Layer 3)

       這層對端到端的包傳輸進行定義,它定義了能夠標識所有結點的邏輯地址,還定義了路由實現的方式和學習的方式。為了適應最大傳輸單元長度小於包長度的傳輸介質,網路層還定義瞭如何將一個包分解成更小的包的分段方法。

  • 2. 資料鏈路層——Data Link(Layer 2)
它定義了在單個鏈路上如何傳輸資料。這些協議與被討論的各種介質有關。
  • 1. 物理層——Physical(Layer 1)
物理層規範是有關傳輸介質的特性標準,這些規範通常也參考了其他組織制定的標準。連線頭、幀、幀的使用、電流、編碼及光調製等都屬於各種物理層規範中的內容。物理層常用多個規範完成對所有細節的定義。

一個比較令人頭疼的問題是如何不缺不漏而且按順序記住這7層呢?腦動大開的網友給出了許多記憶口訣(不知道你喜歡哪個?):

1. All    People    Seem    To    Need    Data    Processing

2. Please   Do   Not   Tell   Stupid   People   Anything

3. Please   Do   Not   Take   Sales   People's   Advice

4. Please    Do   Not   Throw    Sausage   Pizza   Away

5. Please    Do   Not   Teach   Students  Pointless  Acronyms

       最後我們說明,七層協議中的高層,即7、6、5、4層定義了應用程式的功能,下面3層,即3、2、1層主要面向通過網路的端到端的資料流。每一層所包含的具體協議舉例如下表: