2011年12月3日 星期六

OSI Layer 七層協定

OSI 的七層協定分層架構與相關標準
依據下圖協定分層定義來說,越接近硬體的階層為底層 (layer 1),越接近應用程式的則是高層 (layer 7)。 不論是接收端還是發送端,每個一階層只認識對方的同一階層資料。

在OSI 七層協定中,每層都會有自己獨特的表頭資料 (header),告知對方這裡面的資訊是什麼, 而真正的資料就附在後頭!如下的圖示來表示這七層每一層的名字,以及資料是如何放置到每一層的封包內。
應用層:加入終點位址資料。
表現層:加入程式碼資料。
交談層:加入通訊連線資料。
傳輸層:加入檢查碼檔頭。
 網路層:加入封包數量及序號資料。
資料鏈結層:加入封包檢查追蹤資料。
實體層:轉換資料並傳送之。

上圖中每個資料包(data)的部分,上層的封包是放入下層的資料中,而資料前面則是這個資料的表頭(header)。其中比較特殊的是第二層, 因為第二層 (資料鏈結層) 主要是位於軟體封包 ( (logical link control, LLC)) (packet) 以及硬體訊框 (Media Access Control)(frame) 中間的一個階層, 他必須要將軟體包裝的封包放入到硬體能夠處理的封包中,因此這個階層又分為兩個子層在處理相對應的資料。 因為比較特殊,第二層的資料格式比較不一樣,尾端還出現一個檢查碼。

OSI 的七層協定分層定義

Layer 1 實體層
Physical Layer
由於網路媒體只能傳送 0 與 1 這種位元串,因此實體層必須定義所使用的媒體設備之電壓與訊號等,同時還必須瞭解資料訊框轉成位元串的編碼方式,最後連接實體媒體並傳送/接收位元串。

Layer 2 資料鏈結層
Data-Link Layer
這層是比較特殊的一個階層,因為底下是實體(硬體)的媒體存取(ieee802.3)定義,而上層則是軟體的程序,以提供服務給網路層的(ieee802.2)定義。
資料鏈結層則被分為兩個子層在進行資料的轉換動作。
1.至於偏向 "軟體" 的部分則是由邏輯連結層 (logical link control, LLC) 所控制,主要在多工處理來自上層的封包資料並轉成 MAC 的格式, 負責的工作包括訊息交換、流量控制、失誤問題的處理。
1.邏輯連結控制(LLC)會在資料框中置入一項資訊,以識別該資料框是使用哪種網路層的通訊協定。

2.在偏"硬體"媒體部分,主要負責的是 MAC (Media Access Control) ,我們稱這個資料包裹為 MAC 訊框 (frame), MAC 是媒體存取(media access)處理的主要資料包裹,這也是最終被實體層編碼成位元串的資料。MAC 必須要經由通訊協定來取得媒體的使用權, 目前最常使用的則是 IEEE 802.3 的乙太網路協定。
MAC會根據媒體所需的實體訊號及所採用的通訊協定,來提供資料的定址和分隔機制。

Layer 3 網路層
Network Layer
IP (Internet Protocol) 就是在這一層定義的。
a.網路層負責處理將資料由一部來源端電腦 IP 傳給目的端電腦 IP 的路徑(routing)。
b.連線(connection)建立、維護、以及結束兩部電腦間的連線 (connection)。
c.連線建立時可能會有許多可以選擇路徑(route)方式,連線建立後,兩部電腦之間的資料便根據連線的路徑(routing)來傳送。

選擇路徑(route)方式:網路形態或拓樸(topology):實體拓樸  邏輯拓樸。
實體拓樸(physical topology) Bus匯流排狀 Star星狀 Ring環狀 tree樹狀 mesh網狀。
邏輯拓樸(logic topology) 電路交換 訊息交換 封包交換。

Layer 4 傳送層
Transport Layer
這一個分層定義了發送端與接收端的連線技術(如 TCP, UDP 技術),同時包括該技術的封包格式,資料封包的傳送、流程的控制、傳輸過程的偵測檢查與復原重新傳送等等,以確保各個資料封包可以正確無誤的到達目的端。

Layer 5 會談層
Session Layer
在這個層級當中主要定義了兩個位址之間的連線通道之連接與掛斷,此外,亦可建立應用程式之對談、 提供其他加強型服務如網路管理、簽到簽退、對談之控制等等。
如果說傳送層是在判斷資料封包是否可以正確的到達目標, 那麼會談層則是在確定 "網路服務建立連線的確認"。

Layer 6 表現層
Presentation Layer
我們在應用程式上面所製作出來的資料格式不一定符合網路傳輸的標準編碼格式的! 所以,在這個層級當中,主要的動作就是:將來自本地端應用程式的資料格式轉換(或者是重新編碼)成為網路的標準格式,然後再交給底下傳送層等的協定來進行處理。
所以,在這個層級上面主要定義的是 "網路服務(或程式)之間的資料格式的轉換",
包括資料的加解密也是在這個分層上面處理。

Layer 7 應用層
Application Layer

沒有留言:

張貼留言