天天看點

學習筆記之TCP/IP協定分層與OSI參考模型

1.協定的分層

     ISO在制定标準化OSI之前,對網絡體系結構相關的問題進行了充分的讨論, 終于提出了作為通信協定設計名額的OSI參考模型。這一模型将通信協定中必要 的功能分成了7層。通過這些分層,使得那些比較複雜的網絡協定更加簡單化。

在這一模型中,每一個分層都接收由它下一層所提供的特定服務,而且負責為自己的上一層提供特定的服務。上下層之間進行互動時所遵循的約定叫做“接口”。同一層之間的互動所遵循的約定叫做“協定”。

協定分層就如同計算機軟體中的子產品化開發。OSI參考模型的建議是比較理想化的。它希望實作從第一層到第七層的全部子產品,并将它們組合起來實作網絡 通信。分層能夠将每一個分層獨立使用,即使系統中某些分層發生變化,也不會波及整個系統。是以,能夠構造一個擴充性和靈活性都較強的系統。此外,通過分層能夠細分通信功能,更易于單獨實作每一個分層的協定,并界定各個分層的詳細責任和義務。這些都屬于分層的長處。而分層的劣勢,可能就在于過分子產品化、使處理變得更加沉重以及每一個子產品都不得不實作相似的處理邏輯等問題。

學習筆記之TCP/IP協定分層與OSI參考模型

(原文連結:http://blog.csdn.net/yelangjueqi/article/details/38269947 ,歡迎轉載,轉載時請注明出處!!)

2.通過對話了解分層

關于協定的分層,我們再以A與C的對話(見上一節)為例簡單說明一下。在此,我們僅僅考慮語言層和通信裝置層這兩個分層的情況。首先,以電話聊天為例,見下圖,上半部分中的A與C兩個人正在通過電話 (通信裝置)用漢語(語言協定)聊天。我們具體分析一下這張圖。

學習筆記之TCP/IP協定分層與OSI參考模型

表面上看A跟C是在用漢語直接對話,但實際上A與C都是在通過電話機的聽筒聽取聲音,都在對着麥克風說話。想象一下假設有一個素未見過電話機的人見到這個場景會怎麼想?恐怕他一定會以為A和C在跟電話機聊天吧。事實上在這個圖中,他們所用的語言協定作為麥克風的音頻輸入,在通信裝置層被轉換為電波信号傳送出去了。傳送到對方的電話機後,又被通信裝置層轉換為音頻輸出,傳遞給了對方。是以,A與C事實上是利用電話機之間通過音頻轉化聲音的接口實作了對話。

     通常人們會認為拿起電話與人通話,事實上就好像是直接在跟對方對話,然而假設細緻分析,在整個過程中實際上是電話機在做中介,這是不可否認的。假設A的電話 機所傳出的電子信号并未能轉換成與C的電話機同樣頻率的聲音,那會怎樣?這就如 同A的電話機與C的電話機的協定互不同樣。C聽到聲音後可能會認為自己不是在跟 A而是在跟其它人說話。頻率若是相去甚遠,C更有可能會認為自己聽到的不是漢語。

那麼假設我們假定語言層同樣而改變了通信裝置層,情況會怎樣?比如,将 電話機改為無線電。通信裝置層假設改用無線電,那麼就得學會使用無線電的方 法。因為語言層仍然在使用漢語協定,是以使用者能夠全然和以往打電話時一樣 正常通話(上圖左下部分)。

那麼,假設通信裝置層使用電話機,而語言層改為英語的話情況又會怎樣? 非常顯然,電話機本身不會受限于使用者使用的語言。是以,這樣的情況與使用漢語 通話時全然一樣,依舊能夠實作通話(上圖右下部分)。

   到此為止,讀者可能會認為這些都是再簡單隻是的、理所當然的事。在此僅舉出簡單的樣例,權作對協定分層及其便利性的一個解釋,以加深對分層協定的了解。

3.OSI參考模型

  前面僅僅是将協定簡單地分為了兩層進行了舉例說明。然而,實際的分組通信協定 會相當複雜。OSI參考模型将這樣一個複雜的協定整理并分為了易于了解的7個分層。

學習筆記之TCP/IP協定分層與OSI參考模型

     osi參考模型對通信中必要的功能做了非常好的歸納。網絡project師在讨論協定 相關問題時也常常以osi參考模型的分層為原型。對于計算機網絡的剛開始學習的人,學 習osi參考模型能夠說是通往成功的第一步。隻是,osi參考模型終究是一個“模型”,它也僅僅是對各層的作用做了一系列 粗略的界定,并沒有對協定和接口進行具體的定義。它對學習和設計協定僅僅能起 到一個引導的作用。是以,若想要了解協定的很多其它細節,還是有必要參考每一個協

議本身的詳細規範。很多通信協定,都相應了 OSI參考模型7個分層中的某層。通過這一點,可 以大緻了解該協定在整個通信功能中的位置和作用。

4.OSI參考模型中各個分層的作用

    在此,下面圖為例簡單說明OSI參考模型中各個分層的主要作用。

學習筆記之TCP/IP協定分層與OSI參考模型
  • 應用層

為應用程式提供服務并規定應用程式中通信相關的細節。包含檔案傳輸、電 子郵件、遠端登入(虛拟終端)等協定。

  • 表示層

将應用處理的資訊轉換為适合網絡傳輸的格式,或将來自下一層的資料轉換 為上層可以處理的格式。是以它主要負責資料格式的轉換。

詳細來說,就是将裝置固有的資料格式轉換為網絡标準傳輸格式。不同裝置 對同一比特流解釋的結果可能會不同。是以,使它們保持一緻是這一層的主要 作用。

  • 會話層

負責建立和斷開通信連接配接(資料流動的邏輯通路),以及資料的切割等資料 傳輸相關的管理。

  • 傳輸層

起着可靠傳輸的作用。僅僅在通信兩方節點上進行處理,而無需在路由器上 處理。

  • 網絡層

将傳輸資料到目标位址。目标位址能夠是多個網絡通過路由器連接配接而成的某 一個位址。是以這一層主要負責尋址和路由選擇。

  • 資料鍊路層 

負責實體層面上互連的、節點之間的通信傳輸。比如與1個以太網相連的2 個節點之間的通信。

将0、1序列劃分為具有意義的資料幀傳送給對端(資料幀的生成與接收)。

  • 實體層

負責0、1比特流(0、1序列)與電壓的髙低、光的閃滅之間的互換。