OSI參考模型

OSI參考模型

計算機科的基礎含義
OSI(Open System Interconnect)[1],即開放式系統互連。一般都叫OSI參考模型,是ISO組織在1985年研究的網絡互連模型。該體系結構标準定義了網絡互連的七層框架(物理層、數據鍊路層、網絡層、傳輸層、會話層、表示層和應用層),即OSI開放系統互連參考模型。
    中文名:OSI參考模型 外文名:Open System Internetwork Reference Model 設定組織:國際标準化組織 設定時間:1985年 目的:開放系統環境中的互連性等 簡稱:OSI/RM

簡介

為了更好地促進互聯網絡的研究和發展,國際标準化組織ISO制定了網絡互連的七層框架的一個參考模型,稱為開放系統互連參考模型,簡稱OSI/RM(Open System Internetwork Reference Model)。OSI參考模型是一個具有7層協議結構的開放系統互連模型,是由國際标準化組織在20世紀80年代早期制定的一套普遍适用的規範集合,使全球範圍的計算機可進行開放式通信。

OSI參考模型是一個具有七層結構的體系模型。發送和接收信息所涉及的内容和相應的設備稱為實體。OSI的每一層都包含多個實體,處于同一層的實體稱為對等實體。

OSI參考模型也采用了分層結構技術,把一個網絡系統分成若幹層,每一層都去實現不同的功能,每一層的功能都以協議形式正規描述,協議定義了某層同遠方一個對等層通信所使用的一套規則和約定。每一層向相鄰上層提供一套确定的服務,并且使用與之相鄰的下層所提供的服務。從概念上來講,每一層都與一個遠方對等層通信,但實際上該層所産生的協議信息單元是借助于相鄰下層所提供的服務傳送的。因此,對等層之間的通信稱為虛拟通信。

相關概念

實體與對等實體

每一層中,用于實現該層功能的活動元素被稱為實體(Entity),實體既可以是軟件實體(如一個進程、電子郵件系統、應用程序等)也可以是硬件實體(如終端、智能輸入/輸出芯片等)。軟件實體可以嵌入在本地操作系統中,或者用戶應用程序中。不同機器上位于同一層次、完成相同功能的實體被稱為對等實體(Peer Entity)。如主機A和主機B傳輸層中的傳輸實體為對等實體。

對等層和對等協議

不同主機之間的相同層次被稱為對等層(Peer)。主機A的應用層和主機B的應用層互為對等層、主機A的會話層和主機B的會話層互為對等層。

對等層之間存在協議關系。即對等實體之間互相通信需要遵守一定的規則,如通信的内容、通信的方式等。這種對等實體之間交換數據或通信時必須遵守的規則稱為對等層協議(PeerProtocol)。除了物理層外,OSI模型中的其他6個對等層都存在對應的協議,如數據鍊路層協議、網絡層協議等,對等實體利用對等協議進行通信以向高層提供服務。實際上,對等層之間的通信是虛拟通信,它們之間的通信是使用下--層提供的服務來實現的。

同一網絡中不同主機的對等層,要安裝運行相同的網絡協議,主機間才能進行有效通信。這可以概括為“協議是水平的”。

服務與接口

在OSI分層結構模型中,每一層實體為相鄰的上一層實體提供的通信功能稱為服務。N層實體利用N-1層實體所提供的服務,向N+I層實體提供功能更強大的服務。這可以概括為“服務是垂直的”。例如,傳輸層實體利用網絡層實體的服務,向應用層實體提供網頁傳輸服務。

N層實體使用N-1層實體所提供的服務時,不需要知道N-1層實體所提供的服務是如何實現的以及N-1層實體間的協議,而隻需要知道下一層可以為自己提供哪些服務(是快速昂貴通信還是慢速低廉通信),以及通過什麼樣的接口提供的。

在OSI模型中,各層之間的接口都有統一的規則。N層的服務訪問點SAP(Service Access Point)是N層實體提供服務給N+1層的地方,SAP可以理解為下層實體之間的邏輯傳輸通道。每一層的SAP都有一個唯一标明它的地址。一個N層可能存在多個SAP。

數據單元

在OSI環境中,對等實體間按協議進行通信,上下層實體間按服務進行通信。這些通信都依靠3種數據單元的傳輸來實現。

服務數據單元

為實現N層服務所要傳送的邏輯數據單元,稱為N層服務數據單元(Service Data Unit,SDU),簡稱SDU。例如,用戶需要浏覽某網站的網頁,該用戶所在計算機的應用層實體(如浏覽器生成應用層SDU,再通過下一層實體提供的服務,最後将該SDU傳送到對等應用層實體(如某網站計算機上Web服務器)。

協議數據單元

對等實體之間為實現該層協議所交換的信息單元(Protocol Data Unit,PDU),稱為協議數據單元。為了發送廳層的SDU,N層實體可能根據N層協議,将一個SDU劃分為多個PDU。而在接收端,N層實體可能要将多個PDU恢複成一個N層的SDU。例如,用戶請求網頁信息被附加上HTTP(超文本傳輸協議)報頭,變成PDU,而在網站服務器那端,如果用戶申請的網頁(即SDU)太長,則要被劃分成多個PDU傳送。

接口數據單元

在同一系統上下兩層實體的交換信息中,經過SAP的信息單元(Interface Data Unit,IDU),稱為接口數據單元,N層IDU由兩部分組成,N層服務數據單元和一些供下一層實體用的控制信息(稱為接口控制信息ICI)。

服務類型

在計算機網絡協議的層次結構中,層與層之間具有服務與被服務的單向依賴關系,下層向上層提供服務,而上層調用下層的服務。因此可稱任意相鄰兩層的下層為服務提供者,上層為服務用戶。下層為上層提供的服務可分為兩類:面向連接服務Connection Oriented service)和無連接服務(Conectionless Service)。

(1)面向連接服務:兩個N層實體在數據交換前,必須先建立連接,即首先初始化狀态信息。并且為N+1層實體的信息傳輸建立一個通道。在數據傳輸階段,通過這些狀态信息,第N層實體可以跟蹤在它們之間的PDU交換及它們與更高層的SDU交換。當數據交換結束後應釋放這個連接,即去除狀态信息,釋放建立連接時所分配的資源。

(2)無連接服務:兩個N層實體通信前,不需要先建立一個連接,即不需要事先進行預定保留狀态信息。同一個用戶到相同目的地的信息塊都獨立發送,接收端無需返回确認信息。如果信息在傳輸中丢失,就不再重發。不可靠的無連接的服務通常被稱為數據報服務。

服務原語

服務是通過一組服務原語(Primitive)來描述的,這些原語供用戶和其他實體訪問服務,通知服務提供者采取某些行動或報告某個對等實體的活動。服務原語被分為如下4類。

    請求(Request):由服務用戶發往服務提供者,請求它完成某項工作。指示(Indication):由服務提供者發往服務用戶,指示發生了某些事件。響應(Response):由服務用戶發往服務提供者,對前面發生的指示的響應。證實(Confirmation):由服務提供者發往服務用戶,對前面發生的請求的證實。

    層次劃分原則

    OSI是分層的體系結構,每一層是一個模塊,用于完成某種功能,并具有自己的通信協議。ISO将整個OSI劃分成七個層次,劃分層次依據以下五個原則:

    (1)網絡中各節點具有相同的層次;

    (2)網絡中各節點同等層次功能相同;

    (3)同一節點内相鄰層通過接口通信;

    (4)同一節點内底層向高層提供服務;

    (5)網絡中各節點同層通過協議通信。

    OSI劃分的七個層次由高到低依次為:Application(應用層)、Presentation(表示層)、Session(會話層)、Transport(傳輸層)、Network(網絡層)、DataLink(數據鍊路層)和Physical(物理層)。其中應用層、表示層和會話層可以視為應用層,而剩餘層則可視為數據流動層。

    層次結構及功能

    物理層

    物理層是參考模型中的最底層,主要定義了系統的電氣、機械、過程和功能标準。如:電壓、物理數據速率、最大傳輸距離、物理聯接器和其他的類似特性。物理層的主要功能是利用傳輸介質為數據鍊路層提供物理聯接,負責數據流的物理傳輸工作。物理層傳輸的基本單位是比特流,即0和1,也就是最基本的電信号或光信号,是最基本的物理傳輸特征。

    數據鍊路層

    數據鍊路層是在通信實體間建立數據鍊路聯接,傳輸的基本單位為“幀”,并為網絡層提供差錯控制和流量控制服務。數據鍊路層由MAC(介質訪問控制子層)和LLC(邏輯鍊路控制子層)組成。介質訪問控制子層的主要任務是規定如何在物理線路上傳輸幀。邏輯鍊路控制子層對在同一條網絡鍊路上的設備之間的通信進行管理。數據鍊路控制子層主要負責邏輯上識别不同協議類型,并對其進行封裝。也就是說數據鍊路控制子層會接受網絡協議數據、分組的數據報并且添加更多的控制信息,從而把這個分組傳送到它的目标設備。

    網絡層

    網絡層主要為數據在節點之間傳輸創建邏輯鍊路,通過路由選擇算法為分組選擇最佳路徑,從而實現擁塞控制、網絡互聯等功能。網絡層是以路由器為最高節點俯瞰網絡的關鍵層,它負責把分組從源網絡傳輸到目标網絡的路由選擇工作。互聯網是由多個網絡組成在一起的一個集合,正是借助了網絡層的路由路徑選擇功能,才能使得多個網絡之間的聯接得以暢通,信息得以共享。網絡層提供的服務有面向聯接和面向無聯接的服務兩種。面向聯接的服務是可靠的聯接服務,是數據在交換之前必須先建立聯接,然後傳輸數據,結束後終止之前建立聯接的服務。網絡層以虛電路服務的方式實現面向聯接的服務。面向無聯接的服務是一種不可靠的服務,不能防止報文的丢失、重發或失序。面向無聯接的服務優點在于其服務方式靈活方便,并且非常迅速。網絡層以數據報服務的方式實現面向無聯接的服務。

    傳輸層

    傳輸層是網絡體系結構中高低層之間銜接的一個接口層。傳輸層不僅僅是一個單獨的結構層,而是整個分析體系協議的核心。傳輸層主要為用戶提供End—to—End(端到端)服務,處理數據報錯誤、數據包次序等傳輸問題。傳輸層是計算機通信體系結構中關鍵一層,它向高層屏蔽了下層數據的通信細節,使用戶完全不用考慮物理層、數據鍊路層和網絡層工作的詳細情況。傳輸層使用網絡層提供的網絡聯接服務,依據系統需求可以選擇數據傳輸時使用面向聯接的服務或是面向無聯接的服務。

    會話層

    會話層的主要功能是負責維護兩個節點之間的傳輸聯接,确保點到點傳輸不中斷,以及管理數據交換等功能。會話層在應用進程中建立、管理和終止會話。會話層還可以通過對話控制來決定使用何種通信方式,全雙工通信或半雙工通信。會話層通過自身協議對請求與應答進行協調。

    表示層

    表示層為在應用過程之間傳送的信息提供表示方法的服務。表示層以下各層主要完成的是從源端到目的端可靠地的數據傳送,而表示層更關心的是所傳送數據的語法和語義。表示層的主要功能是處理在兩個通信系統中交換信息的表示方式,主要包括數據格式變化、數據加密與解密、數據壓縮與解壓等。在網絡帶寬一定的前提下數據壓縮的越小其傳輸速率就越快,所以表示層的數據壓縮與解壓被視為掌握網絡傳輸速率的關鍵因素。表示層提供的數據加密服務是重要的網絡安全要素,其确保了數據的安全傳輸,也是各種安全服務最為重視的關鍵。表示層為應用層所提供的服務包括:語法轉換、語法選擇和聯接管理。

    應用層

    應用層是OSI模型中的最高層,是直接面向用戶的一層,用戶的通信内容要由應用進程解決,這就要求應用層采用不同的應用協議來解決不同類型的應用要求,并且保證這些不同類型的應用所采用的低層通信協議是一緻的。應用層中包含了若幹獨立的用戶通用服務協議模塊,為網絡用戶之間的通信提供專用的程序服務。需要注意的是應用層并不是應用程序,而是為應用程序提供服務。

    數據封裝過程

    在OSI參考模型中,當一台主機需要傳送用戶的數據(DATA)時,數據首先通過應用層的接口進入應用層。在應用層,用戶的數據被加上應用層的報頭(AH),形成應用層協議數據單元,然後通過應用層與表示層的接口數據單元,遞交到表示層。

    表示層并不“關心”應用層的數據格式,而是把整個應用層遞交的數據報看成是一個整體進行封裝,即加上表示層的報頭(PH),然後遞交到會話層。

    同樣,會話層、傳輸層、網絡層、數據鍊路層也都要分别給上層遞交下來的數據加上自己的報頭。它們是會話層報頭(SH)、傳輸層報頭(TH)、網絡層報頭(NH)和數據鍊路層報頭(DH)。其中,數據鍊路層還要給網絡層遞交的數據加上數據鍊路層報尾(DT)形成最終的一幀數據。

    當一幀數據通過物理層傳送到目标主機的物理層時,該主機的物理層把它遞交到數據鍊路層。數據鍊路層負責去掉數據幀的幀頭部DH和尾部DT(同時還進行數據校驗)。如果數據沒有出錯,則遞交到網絡層。

    同樣,網絡層、傳輸層、會話層、表示層、應用層也要做類似的工作。最終,原始數據被遞交到目标主機的具體應用程序中。

    運作方式

    數據由傳送端的最上層(通常是指應用程序)産生,由上層往下層傳送。每經過一層,都在前端增加一些該層專用的信息,這些信息稱為報頭,然後才傳給下一層,可将加上報頭想象為套上一層信封。因此到了最底層時,原本的數據已經套上了七層信封,而後通過網線、電話線、光纖等介質,傳送到接收端。

    接收端接收到數據後,從最底層向上層傳送,每經過一層就拆掉一層信封(即去除該層所認識的報頭),直到最上層,數據便恢複成當初從傳送端最上層産生時的原貌。

    如果以網絡的術語來說,這種每一層将原始數據加上報頭的操作,便是數據的封裝,而封裝前的原始數據則稱為數據承載。在傳送端,上層将數據傳給下層,下層将上層傳過來的數據當成數據承載,再将數據承載封裝成新的數據,繼續傳給更下層去封裝,直到最底層為止。

    OSI參考模型與TCP/IP模型對比

    層次結構

    OSI參考模型與TCP/IP模型都采用了分層體系結構,将龐大而複雜的問題轉化為若幹個較小且易于處理的子問題。不同的是OSl參考模型劃分7層,分别是物理層、數據鍊路層、網絡層、傳輸層、會話層、表示層和應用層,而TCP/IP參考模型最多劃分了5個層次,分别是物理層,數據鍊路層、網絡層、傳輸層和應用層,将OSI參考模型中的高三層合并為一層統稱應用層。有些情況甚至隻有三個或四個層次。

    在層次結構上,相同之處:都采用了分層體系結構;不同之處:TCP/IP參考模型比OSI參考模型更簡化。

    層次關系

    OSI參考模型與TCP/IP模型各自層與層之間關系相似。在OSI參考模型中規定數據為協議數據單元(PDU),通常在該層的PDU前面增加一個字母的前綴,标識為哪一層數據。如會話層通過傳送會話層協議數據單元(SPDU)和對等的會話層進行通信。相應的有應用層協議數據單元(APNJ)、表示層協議數據單元(PPDU)、段(Segment)、數據包(Packet)、幀(Frame)、比特流(Bit)。在網絡通信中,通過傳輸層的PDU到對方的對等層,以實現通信。從邏輯上講,對等層間的通信,是兩個設備的同一層直接通信。而物理上,每一層都隻與自己相鄰的上下兩層直接通信,下層通過服務訪問點為上一層提供服務。當接受數據時,數據是自下而上傳輸;當發送數據時,數據則是自上向下傳輸的。在這一點上TCP/IP參考模型與OSI參考模型是一緻的。隻是TCP/IP參考模型相比OSI參考模型少了會話層協議數據單元(SPDU)和表示層協議數據單元(PPDU)。

    在層次間關系上,相同之處:都是對等的層間通信;不同之處:TCP/IP參考模型比OSI參考模型層次更清晰簡練。

    功能

    在功能上,大緻相同,在兩個模型中,傳輸層及以上的各層都是為了通信的進程提供點到點、與網絡無關的傳輸服務;TCP/IP參考模型比OSI參考模型有更好的網絡管理功能。

    數據傳輸原理

    把TCP/IP模型的數據傳輸原理分成幾個步驟:

    (1)當應用進程A的數據傳送到應用層時,應用層為數據加上本層的控制報頭後,将其組織成應用層的數據服務單元,然後向下傳輸到傳輸層。

    (2)傳輸層收到該數據單元後,加上本層的控制報頭,構成傳輸層的數據服務單元,該數據服務單元被稱為報文(message)。

    (3)傳輸層将報文傳送到網絡層時,由于網絡層數據單元的長度有限制,因此,傳輸層的長報文将被分為若幹個較短的數據段。每個數據段再加上網絡層的控制報頭,就構成了網絡層的數據服務單元,它被稱為分組。

    (4)網絡層的分組傳送到數據鍊路層時,加上數據鍊路層的控制信息後構成數據鍊路層的數據服務單元,它被稱為幀。

    (5)數據鍊路層的幀傳送到物理層後,物理層将以比特流的方式通過傳輸介質傳輸出去。當比特流到達目的結點主機B時,再從物理層依層上傳,每層對其對應層的控制報頭進行處理,将用戶數據交給高層,最終将進程A的數據送給主機B的進程B,實現了數據的透明傳輸。

    在OSI參考模型中數據的傳輸和TCP/IP模型原理是完全一樣的,隻不過OSI參考模型在前面說的第二和第三步驟中還要加上對表示層和會話層數據單元的封裝。實際上,不管是OSI參考模型還是TCP/IP模型,都是數據發送方的各層相當于将各自的控制信息添加到上層傳來的數據上,然後一起打包繼續向前傳遞,而數據接收方的各層則是将接到的數據包進行解壓,去掉發送方對等層添加在數據上的控制信息,然後傳遞給上層,最終實現數據的傳輸。在數據傳輸原理上二者是沒有太大區别的,但OSI模型會話層在大多數應用中很少用到,表示層幾乎是窄的。

    在數據鍊路層與網絡層之間有很多的子層插入,每個子層有不同的功能。OSI模型将“服務”與“協議”的定義結合起來,使得參考模型變得格外複雜,使它的實現是困難的。同時,尋址、流控與差錯控制在每一層裡都重複出現,必然降低系統效率。而TCP/IP在服務、接口與協議的區别上不清楚。一個好的軟件工程應該将功能與實現方法區分開來,TCP/IP恰恰沒有很好地做到這點,這就使得TCP/IP模型對于使用新技術的指導意義不夠。另外,TCP/IP的豐機一網絡層本身并不是實際的一層,它定義了網絡層與數據鍊路層的接口。物理層與數據鍊路層的劃分是必要和合理的,一個好的參考模型應該将它們區分開來,而TCP/IP參考模型卻沒有做到這點。

    OSI參考模型的誕生

    經過20世紀60年代、70年代前期的發展,人們對組網技術,組網方法和組網理論的研究日趨成熟。為了促進網絡産品的開發,各大計算機公司紛紛制定了自己的網絡技術标準。1974年,IBM公司首先提出了系統網絡體系結構(System Network Architecture,SNA标準。1975年,DEC公司也公布了數字網絡體系結構(Digital Network Architecture,DNA)标準。這些标準隻在一個公司範圍内有效。遵從一個标準、能夠互連的網絡通信産品,隻是同一公司生産的同構型産品。網絡市場的這種狀況使得用戶在投資方向上無所适從,也不利于廠商之間的公平競争。人們迫切要求制定一套标準,各廠商遵從這個标準生産網絡産品,使各種不同型号的計算機能方便地互聯成網。為此,1977年國際标準化組織(ISO)的SC16分技術委員會着手制定開放系統互聯參考模型(Reference Model of Open System Interconnection,OSI/RM)。1981年正式公布了這個模型,并得到了國際上的承認,被認為确立了新一代網絡結構。所謂開放系統是指,隻要網絡産品(軟件、硬件)符合OSI标準,任何型号的計算機都可以互聯成網。

    OSI參考模型規定了在節點間傳送的分組(一個信息傳送單位)格式。它将網絡應用軟件的共同部分分為7個層次,稱為協議。從第1層到第7層依次是:物理層、鍊路層、網絡層、傳輸層、會話層、表示層、應用層。每一層利用下一層的功能實現一些本層次的新功能,為上一層提供增值服務。因此,任意一層的功能都包含了它下面所有層次的功能。層與層之間留有若幹接口,稱為服務訪問點(Service Access Point,SAP)任意一層就通過這些服務訪問點來調用相鄰的下一層的功能,以實現本層的新功能。同時規定,任意一層都隻能調用它相鄰的下一層的功能。

    OSI模型适用于将不同型号的計算機互連成一個單一的網絡。它極大地推動了網絡标準化的進程,而這個進程又反過來促進了計算機網絡的迅速發展。這一階段是網絡的标準化時期。

    總結

    (1)OSI參考模型和TCP/IP模型之共同點:都是基于獨立的協議棧的概念;它們的功能大體相似,在兩個模型中,傳輸層及以上的各層都是為了通信的進程提供點到點、與網絡無關的傳輸服務;OSI參考模型,與TCP/IP模型傳輸層以上的層都以應用為主導。

    (2)OSI參考模型與TCP/IP模型的主要差别:TCP/IP一開始就考慮到多種異構網的互聯問題,并将網際協議IP作為TCP/IP的重要組成部門。但ISO最初隻考慮到使用一種标準的公用數據網将各種不同的系統互聯在一起。TCP/IP一開始就對面向連接和無連接并重,而OSI在開始時隻強調面向連接服務。TCP/IP有較好的網絡管理功能,而這方面OSI至後來才開始這個問題,兩者有所不同。

    (3)OSI參考模型與TCP/IP模型的相互關系:OSI模型是對發生在網絡設備間的信息傳輸過程的一種理論化的描述,他僅僅是一種模型,并沒有定義如何通過硬件和軟件實現每一。層功能,但可以很有效地幫助我們理解數據傳輸的過程。

    OSI參考模型的優點

    綜觀整個OSI模型的設計,可以歸納出以下優點。

    1、分工合作,責任明确

    性質相似的工作劃分在同一層,性質相異的工作則劃分到不同層。如此一來,每一層所負責的工作範圍,都區分得很清楚,彼此不會重疊。萬一出了問題,很容易判斷是哪一層沒做好,就應該先改善該層的工作,不至于無從着手。

    2、對等交談

    對等是指所處的層級相同,對等交談意指同一層找同一層談,例如:第3層找第3層談、第4層找第4層談...依此類推。所以某一方的第N層隻與對方的第N層交談,是否收到、解讀自己所送出的信息即可,完全不必關心對方的第N-1層或第N+1層會如何做,因為那是由一方的第N-1層與第N+1層來處理。

    其實,雙方以對等身份交談是常用的規則,這樣的最大好處是簡化了各層所負責的事情。因此,通信協議是對等個體通信時的一切約定。

    3、逐層處理,層層負責

    既然層次分得很清楚,處理事情時當然應該按部就班,逐層處理,決不允許越過上一層,或是越過下一層。因此,第N層收到數據後,一定先把數據進行處理,才會将數據向上傳送給第N+1層,如果收到第N+1層傳下來的數據,也是處理無誤後才向下傳給第N-1層。任何一層收到數據時,都可以相信上一層或下一層已經做完它們該做的事,層級的多少還要考慮效率與實際操作的難易,并非層數越多越好。

相關詞條

相關搜索

其它詞條