OSI/RM由兩類系統構成:7層的端系統(End-system)和3層或3層以下的中間系統。OSI/RM對層功能的描述與傳統的網絡描述方式有所不同。除OSI的最高層(應用層)只定義了協議以外,ISO文本為下面6層都定義了“服務”(Service),因此,下6層由服務與協議(Protocol)共同構成完整的功能描述。
1、服務
OSI服務與電信領域的Service(譯作“業務”)的含義完全不同。電信領域的業務是用于描述電信業務提供商向電信業務使用者提供的服務,典型的電信業務有:話音與電報傳送業務、普通數據傳送業務、多媒體實時傳送業務等等。OSI服務則是對OSI協議層間操作關系的抽象。
在OSI服務定義(Service Definition)文本中,協議層間交換的信息(種類、信息內部參數及用途)被稱為服務原語(Service Primitive)。由于對服務原語的定義不涉及其具體的表達格式,又稱之為抽象服務原語,因此,同一服務的服務原語在不同的硬軟件實現中其表達格式可能完全不同。在OSI文本中,廣泛使用“狀態變遷圖”(State Transition Diagram)來描述在服務訪問點(SAP,即Service Access Point)服務原語交換關系與狀態變遷關系;“時序圖”(Time Sequence Diagram)則用來描述服務原語在一對SAP間概念上的交換時序(抽象服務原語并不從一個系統傳送到另一個系統)。
OSI的服務有兩類:面向連接的服務(Connection Oriented Service)和無連接服務(Connectionless Service )。前者類似于電話服務過程:在進行數據傳輸前,呼方必須向受呼方請求建立連接,在得到對方同意后才能在二者間建立起供數據傳輸用的抽象“連接”,從而進入數據傳輸階段;雙方在數據傳輸階段完成數據傳輸任務后,必須由某方提出拆除連接請求,連接拆除后整個服務過程結束。拆除連接的過程又有無確認方式和需確認方式,不同的服務可能采用一種或兩種拆除連接的方式。面向連接服務較為復雜,但所提供的傳輸服務較為可靠。有連接服務在路徑選擇上與無連接方式有所不同,每個連接僅需在建立連接階段進行一次。
無連接服務像郵政服務,每個基本數據單元像郵件那樣帶上目的地址,經過中間網絡節點(等效于郵政系統的郵件中轉站)選擇路徑后被逐級轉發到目的地。無連接服務的每個基本數據單元都需要選擇各自的路徑,因此,同一對通信對象間的不同數據單元可能會選擇不同的路徑。無連接服務簡單,但通常傳輸不太可靠,可能發生數據單元錯序、丟失、重復等情況。
2、協議(Protocol)
在OSI/RM之中,所謂協議是指同層(或同一子層)實體(Entity)之間允許交換的信息格式規定和交換規程。協議使用的基本信息稱為協議數據單元(PDU,即Protocol Data Unit),其種類、內部字段的意義及編碼、各比特的傳輸順序,在協議文本中都必須給予詳細的定義。ISO文本常采用兩種方式來描述PDU交換規程:非形式化技術和形式化技術。前者采用文字描述加狀態變遷圖/表的方式進行;后者要求使用形式化描述技術(FDT,即Formal Definition Technique)。
由于自然語言可能產生二義性,對文本理解的不同可能會影響協議實現與文本原意之間的一致性(Conformity)。盡管在該類文本中都附有描述協議狀態變遷的狀態變遷圖(State Transition Diagram)或狀態變遷表(State Transition Table),但由于二者仍然是非形式化的描述方法,難以保證協議的正確性和完整性。有不少用非形式化描述技術定義的協議在使用多年之后還發現有錯誤,因此人們開始研究形式化描述技術(FDT)。圖1畫出了在層次型數據網絡中數據在網中的流動與變化過程。
圖1:層次型網絡數據傳送過程示意圖
如圖1所示,上一層交給下一層的用戶數據,每經過一層都被加上該層協議頭形成該層的協議數據單元(PDU,即Protocol Data Unit),然后交給下一層進行類似處理,最后到達物理層傳輸線路后,以二進制位流形式發出。收方則進行反向操作,每經過一層,該層協議實體根據協議頭內容進行相應處理后,將除去協議頭的上一層的PDU交給上一層,直到最后還原成應用系統的用戶數據。每一層的協議文本對PDU的種類、用途、格式(包括參數)和合法順序關系和應答關系都作了明確的規定,發送方發出的PDU到達對方同層實體中原則上不變(個別PDU的參數因協議不同可能變化),就像同層實體間在直接交換PDU一樣。
大家應當理解,同層實體間PDU的對等通信關系是虛擬通信關系,實際傳輸過程是在同一系統中沿空心粗箭頭方向傳輸,通過物理通信介質傳至對方。在這一點上,OSI/RM與其他層次型結構網絡的傳輸過程一樣。OSI/RM與其他層次型網絡不同之處在于,由于它明確地定義了“服務”的概念,因此,圖1中的空心箭頭實際代表層間服務原語的交換。可以想見,在OSI/RM中,同一系統中鄰層的信息交換不能以PDU的形式進行,而是以交換服務原語的方式完成。這也是OSI/RM十分復雜的原因之一。
ITU與ISO在對OSI/RM中的下3層協議描述的觀察點是不同的。欲進一步了解的請進入。
欲更多了解其OSI知識的請進入:OSI/RM的概念;OSI/RM各層功能介紹