1. 程式人生 > >OSI七層模型和TCP/IP四層模型(一)

OSI七層模型和TCP/IP四層模型(一)

開發十年,就只剩下這套架構體系了! >>>   

一、概述

OSI模型(Open System Interconnection Reference Model,縮寫為OSI),全名“開放式系統互聯通訊參考模型”,是一個試圖使各種計算機在全世界範圍內互聯為網路的標準框架。1983年國際標準組織(ISO)釋出了著名的ISO/ICE 7489標準,它定義了網路互聯的七層框架,也就是開放式系統互聯參考模型。

OSI七層模型

1.為什麼需要協議

什麼是協議(protocol)?通俗的來講,協議是一種雙方都明白或者必須遵守的事先約定,比如說長城上放狼煙,是因為人們已經預先設定好狼煙這個物理訊號代表了“敵人入侵”這一抽象訊號。這樣一個“狼煙=敵人入侵”就是一個簡單的協議。協議可以更復雜,比如摩爾斯碼(Morse Code),使用簡訊號和長訊號的組合,來代表不同的英文字母。

同樣,計算機之間的通訊也要遵循不同層次的協議,來實現計算機的通訊。早期的計算機網路,都是由各廠商自己規定一套協議,IBM,Apple,和MicroSoft都有自己的網路協議,比如MicroSoft的兩臺電腦用網線連起來,互相說話能聽懂。但是MicroSoft和Apple的電腦連線起來說話就聽不懂了,想想你和我微信聊天,我是MicroSoft電腦,你是Apple電腦,你傳送的訊息到我這裡顯示不了或者解析成另一個意思,這樣通訊就不能進行了(通過上面的圖我們可以看到,表示層就是消除不同裝置之間固有資料格式差異的)。

為了把全世界的所有不同型別的計算機都連線起來,就必須規定一套全球通用的協議,為了實現這個目標,網際網路協議簇(Internet Protocol Suite)就成為了通用協議標準。網際網路協議包含了上百種協議,但是最重要的兩個協議是TCP和IP協議,而我們通常把基於TCP和IP協議的所有協議統稱為”TCP/IP協議(蔟)”。

2.OSI七層協議

網際網路的實現,分成好幾層,每一層都有自己的功能,就像建築物一樣,每一層都靠下一層支援。我們在上圖中已經大致標出了每一層的功能。 OSI模型就是這樣的一個分層,它是一個由國際標準化組織提出的概念模型,試圖提供一個使各種不同的計算機和網路在世界範圍內實現互聯的標準框架

。它將計算機網路體系結構劃分為七層,每層都可以提供抽象良好的介面。

3.TCP/IP四層(參考)模型

TCP/IP和OSI模型組並不能精確的匹配,但是我們可以儘可能的參考OSI模型並在其中找到TCP/IP的對應位置。如上圖所示,我們已經標出了TCP/IP對應的四層位置所在。通常人們認為OSI模型最上面三層(應用層、表示層、會話層)在TCP/IP中是一個應用層。由於TCP/IP有一個相對比較弱的會話層,由TCP和RTP下的開啟和關閉連線組成,並在TCP/UDP下的各種應用提供不同的埠號,這些功能被單個的應用程式新增。

4.TCP/IP(參考)模型與OSI七層模型有什麼異同?

前面我們說過,TCP/IP協議是網際網路協議(簇)的統稱,他是網際網路標準通訊的基礎,它提供點對點的連結機制,將資料應該如何封裝、定址、傳輸、路由以及在目的地如何接收,都加以標準化。而OSI模型是開放式系統互聯通訊參考模型

筆者的理解是:OSI是一個完整的、完善的巨集觀模型,它包括了硬體層(物理層),當然也包含了很多上面途中沒有列出的協議(比如DNS解析協議等);而TCP/IP(參考)模型,更加側重的是網際網路通訊核心(也是就是圍繞TCP/IP協議展開的一系列通訊協議)的分層,因此它不包括物理層,以及其他一些不相干的協議;其次,之所以說是參考模型,是因為其本身也是OSI模型中的一部分,因此參考OSI模型對其