OSI參考模型的結構如圖3-2所示。
在OSI參考模型中,主機中要實現七層功能,通信子網中的通信處理機隻需要實現低三層。
一、OSI/RM各層功能
OSI參考模型要實現七層功能。
(一)物理層
物理層是整個OSI七層協議的最底層,利用傳輸介質,完成在相鄰節點之間的物理連接。物理層主要對連接到網絡上的設備從四個方麵進行規定。這四個方麵是機械方麵、電氣方麵、功能方麵及規程方麵。機械方麵規定連接器的類型、尺寸,插腳的數目及所使用的電纜類型等;電氣方麵則規定網絡上所傳輸信號的電氣範圍(多大的電壓表示1,多大的範圍表示0)以及信號的編碼方法等;功能方麵則規定每個引腳代表的是什麼意義;規程方麵規定在相鄰兩個節點之間傳送電氣信號時的工作順序。除此之外,物理層還規定通信信道上信號的傳輸速率等。
物理層協議的例子有RS-232C,CCITTV35以及IOBase-T等。
(二)數據鏈路層
數據鏈路層的目的是無論采用什麼樣的物理層,都能保證向上層提供一條無差錯、高可靠性的傳輸線路,從而保證數據在相鄰節點之間正確傳輸,為計算機網絡的正常運行提供暢通無阻的基本條件。
數據鏈路層的首要任務是管理數據的傳輸。一方麵,它要選取一種數據傳送方式,比如是以字符為單位進行傳輸,還是以數據塊(幀)為單位進行傳輸;另一方麵,它要提供一種差錯檢測和恢複方式,以便在發現數據傳輸發生錯誤時能夠采取補救措施。除此之外,為保證數據傳輸時不會丟失,數據鏈路層還應該提供流量控製措施,做到接收方的接收速度不會低於發送方的發送速度。正是有了數據鏈路層的這些工作,無論實際采用的是什麼樣的物理線路,從上層的角度看都是無差錯的數據鏈路。
數據鏈路層最典型的例子是高級數據鏈路控製規程(HDLC),它是世界上較為通用的鏈路層規程,X25網的鏈路層采用的就是這種標準。局域網的數據鏈路層一般分為兩個子層,即介質訪問控製子層(MAC)和邏輯鏈路控製子層。其中LLC子層的功能類似於廣域網中的數據鏈路層,而MAC子層則是局域網所特有的。第四章介紹局域網時將給大家介紹。
(三)網絡層
網絡層的主要任務是通過執行某一種路徑選擇算法和流量控製算法,完成分組從通信子網的源節點到目的節點的傳輸。網絡層是通信子網的最高層,這一層功能的不同決定了一個通信子網向用戶提供服務的不同。
(四)傳輸層
傳輸層的目的是向用戶提供從發送端(主機)到接收端(主機)報文的無差錯傳送。由於網絡層向上提供的服務有的很強,有的較弱,傳輸層的任務就是屏蔽這些通信細節,使上層看到的是一個統一的通信環境。
(五)會話層
會話層、表示層和應用層係統稱為OSI的高層,這三層不再關心通信細節,麵對的是有一定意義的用戶信息。
會話層的目的是組織、協調參與通信的兩個用戶之間的對話,比如向用戶分配用戶名,規定入網格式等。
(六)表示層
表示層處理兩個通信實體之間進行數據交換的語法問題。解決兩個通信機器中數據表示格式不一致的問題(比如IBM大型機使用EBCD編碼,而微型機普遍采用ASCII編碼)。規定數據加密/解密,數據的壓縮/恢複等采用什麼樣的方法,等等。
(七)應用層
應用層是OSI參考模型中的最高層,直接麵向用戶。應用層利用應用進程(比如Internet中的電子郵件係統,信息查詢係統等)為用戶提供訪問網絡的手段。
OSI參考模型自1983年公布以來,得到普遍一致的接受,但它畢竟隻是一套參考文獻,各個廠商並未放棄他們各自的體係結構,隻是盡力向OSI靠攏,這一點請大家注意。
二、OSI參考模型中的數據流
以上簡單介紹了OSI參考模型各層的功能,那麼,按照這樣的分層結構,信息傳輸的過程是如何進行的呢?我們可以通過圖3-3和圖3-4加以說明。
假設主機A中的應用進程APA要與主機B中的應用進程APB進行數據交換,主機A與主機B分處於兩地,彼此通過通信子網連接。其中,主機A與通信子網的節點1相連,主機B與通信子網的節點n相連。
應用進程A為了與網絡中的別的進程通信,首先必須進入網絡環境,將待發送的信息(報文)遞交給OSI的最高層。
第7層接收數據,加上該層的控製信息遞交給第6層做進一步處理。第6層接收到從上層遞交來的數據後,加上本層的控製信息組成第5層的數據單元送第5層。依此類推,每一層都接收從上層交來的數據加上該層的控製信息遞交給下層。第4層以上的數據單元統稱為報文,第3層的數據單元稱為分組,第二層的數據單元稱為幀,第一層則以二進製位為單位進行傳輸。
數據傳送到第一層後,以二進製位流的形式通過傳輸介質傳送到相鄰節點。每個通信網中的節點對收到的二進製位流從第1層依次上升到第3層,每一層根據控製信息作相應的操作,然後剝去控製信息,將剩下的數據單元上交給更高一層。處理完畢再逐層加上控製信息遞交給通信網的下一個節點,直到傳送到目的端。