20世紀70年代出現的公司級網絡體系結構推動了計算機網絡的發展。但是不同公司生產的計算機之間卻很難相互通信,因為它們的網絡體系結構是不一樣的。為了更充分地發揮計算機網絡的效益,就有必要制定一個國際標準,以解決不同廠家生產的計算機互通的問題。
一、OSI/RM的制定
國際標準化組織ISO正式制定了標準化的開放系統互連參考模型OSI/RM(Open System Interconnection/Reference Model)即ISO 7498。ISO曾對開放系統作了如下的原始定義:“開放系統是對與開放系統互連(OSI)有關的實系統在參考模型中諸方面的一種表征。而實開放系統是指一個完整的系統或網絡,它在與其它實系統通信時,遵循OSI 標準”。這里,實系統是指能夠執行信息處理和信息傳送的自治整體,是一臺或多臺計算機以及與該計算機有關的軟件、外圍設備、終端、操作員、物理過程、信息傳送手段等的集合。當這種實系統與其它實系統通信時,能夠遵守OSI 標準,則稱該系統為實開放系統。由于一個實開放系統的各種功能并非都與互連有關,在討論開放系統互連參考模型中的系統時,將實開放系統中與互連有關的部分稱為開放系統。必須指出,這個定義的重要之處在于:它指出了只要遵循OSI 標準的實系統,就可以和位于世界上任何專設的,也遵循OSI 標準的其它實系統進行通信。
ISO提出OSI/RM的意義在于:第一,它從計算機與通信的角度提出系統的開放性問題。第二,將開放系統與系統互連互通聯系在一起,為今后開放系統的發展指明了方向,奠定了基礎,不過,這里特別需要指出的是,開放系統或者開放系統互連參考模型都是一種抽象的概念。
在OSI/RM制定過程中,對問題的處理采用了層次型體系結構的方法,這里OSI 采用三級抽象,它們分別是:體系結構、服務定義和協議規范。這三級抽象之間的關系如圖1所示。圖中,OSI 體系結構也就是OSI 參考模型,它是網絡系統在功能上和概念上的抽象模型,是三級中最高一級的抽象概念。描述OSI 體系結構的文件ISO 7498定義了一個七層模型,用來進行進程之間的通信。它是作為一個概念性的框架來協調各層標準的制定的。OSI 服務定義是較低一級的抽象概念,它較詳細地定義了每一層所提供的服務。某一層的服務是指該層及其以下各層通過層間的抽象接口提供給更高一層的一種能力。但是,各種服務與這些服務的具體實現無關。另外,各種服務還要定義層間的抽象接口,以及各層為進行層間交互所要用到的服務原語(service primitive)。OSI 協議規范是OSI 標準中最低級的抽象概念。每一層的協議規范都精確地說明控制信息的內容以及解釋這些信息的過程。
圖1:OSI 的三級抽象示意圖
二、分層原則
分層法是處理復雜問題的一種有效技術,但要真正做到正確的分層卻不是一件容易的事。目前,尚難總結出一套最佳的分層原則。一般如何分層可遵照以下四個主要原則:一是當必須有一個不同等級的對象時,應設立一個相應的層次。二是對每一層的功能應當有確切的定義。三是層間接口要清晰。選擇層間邊界時,應盡量使通過該界面的信息流量為最少。四是層的數目應適當。如層數太少,可能引起層間功能劃分不夠明確,造成個別層次的協議太復雜。而層數太多,則使體系結構過于復雜,對描述和完成各層的拆裝任務將會增加不少的困難。
三、OSI 參考模型的層次及主要作用
OSI參考模型采用七個層次的體系結構,如圖3所示。
圖3:OSI參考模型層次結構
1)物理層:物理層的作用是為數據鏈路層提供一個物理連接。這里,“物理連接”不是永遠存在于物理媒體上的,而是需要有物理層去建立、維持和終止。總之,物理層的功能是提供機械、電氣、功能和規程特性。物理層的數據傳輸單位是比特。
2)數據鏈路層:數據鏈路層的作用是為網絡層提供一個數據鏈路連接,在一條可能出差錯的數據鏈路上進行幾乎無差錯的數據傳輸。數據鏈路層通過校驗、確認以及反饋重發等手段將原始的物理連接改造成無差錯的數據鏈路。數據鏈路層將物理層傳送的比特流組合成幀(Frame)。因此,幀是數據鏈路層傳送數據的單位。幀包含地址、控制、數據、校驗等信息。幀的控制信息起著幀同步和流量控制的作用,與物理層類似,數據鏈路層也要負責建立、維持和釋放數據鏈路的連接。
3)網絡層:網絡層對通信子網的運行進行控制。在網絡層,數據的傳送單位是分組或包(Packet)。網絡層的作用是將傳輸層送來的數據組合為分組數據,選擇合適的路由和交換節點,并防止網絡發生阻塞。當分組需要通過數個通信子網達到目的站時,網絡層還要解決網際互連的問題。
4)傳輸層:傳輸層的作用是為會話層用戶提供一個端到端(即主機到主機)的透明的數據傳輸服務。它是一個端到端的層次,為網絡體系結構中的關鍵一層。高層用戶可以直接利用傳輸層提供的服務進行端到端的數據傳輸。對于會話層而言,傳輸層使高層看不見通信子網的存在以及通信子網的替換或技術改造。傳輸層的數據傳送單位是報文。當報文長度大于分組時,應先將長報文化分為若干短報文組,再交給網絡層進行傳輸。當高層用戶請求建立一條運輸虛通信連接時,傳輸層通過網絡層在通信子網中建立一條獨立的網絡連接。如果需要較高的吞吐量,傳輸層也可以建立多條網絡連接來支持一條運輸連接,起到分流(Splitting)的作用。反之,若需節省通信開銷,傳輸層可以將多條運輸連接合用一條網絡連接,達到復用的目的。傳輸層還負責端到端的差錯控制和流量控制。
5)會話層:會話層允許不同主機上的各種進程之間進行會話,并參與管理。它是一個進程到進程的層次。會話層管理和協調進程間的對話。它管理對話關系并確定其采用雙工或半雙工工作方式。提供在數據流中插入同步點的機制,以便在網絡發生故障時只要重傳最近一個同步點以后的數據,而不必重傳全部數據。會話層及其以上層次的數據傳送單位,一般都統稱為報文。
6)表示層:表示層主要為上層用戶解決用戶信息的語法問題,為了讓不同的計算機采用不同的編碼方法來表示用戶的抽象數據類型和數據結構,表示層管理這些抽象的數據結構。并把計算機內部的表示形式轉換成網絡通信中采用的表示形式。數據加(解)密和數據壓縮也是表示層提供的表示變換功能之一。
7)應用層:應用層是OSI 模型的最高層。它為特定類型的網絡應用提供了訪問OSI環境的手段。由于網絡應用的要求很多,所以應用層最復雜,所包含的應用層協議也最多。如報文處理系統(Massage handling system)、文件傳送、存取和管理(File transfer,access and Management)、虛終端協議(Virtual terminal protocol)、遠程數據庫訪問(Remote Database Access)、目錄服務(Directory service)、事務處理(Transaction processing)等。
四、OSI 基本標準和功能標準
OSI 模型已被國際社會公認為是新一代計算機網絡體系結構的基礎。20世紀80年代中期,ISO和CCITT等組織為OSI 的各個層次開發了一系列的標準,這些標準大體上可分為兩大類:一是OSI 總體標準和OSI 參考模型,該標準是一個為制定其它OSI 標準用的概念性框架,它確立了OSI 的體系結構。二是OSI基本標準,該標準則是用于描述和規定七個層次中的服務定義和協議規范,對每一種服務與協議的實現,又有許多可供用戶根據不同情況進行選擇的可選項。現已存在的OSI基本標準很多,逾200多項。OSI 總體標準和OSI基本標準為OSI 技術的實施和應用奠定了基礎。
由于OSI 基本標準種類很多,每一種基本標準內部又有不同的等級類別、參數與選項,各個基本標準之間還存在相互兼容、互為補充的關系。因此,一個實際的系統不可能也沒有必要實現全部的OSI 基本標準。用戶往往根據自己的需要從眾多的基本標準中選擇適合自己情況的一些基本標準。廠家生產的產品也存在同樣的情況,只實現OSI 全部標準中的一個子集。于是,就出現了這樣的情況,即兩個產品由于它們是按不同的OSI 基本標準子集設計的,彼此卻無法互連。要真正做到互連,要求互連的雙方都選用相同的OSI基本標準子集。
我國采用(絕大多數為等效采用)了ISO的OSI相關標準,制定了一系列關于OSI的國家標準,欲了解其索引的請進入。
欲更多了解其OSI知識的請進入:層功能介紹;“服務”與“協議”的概念