1. 程式人生 > >學習筆記之TCP/IP協議分層與OSI參考模型

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

1.協議的分層      ISO在制定標準化OSI之前,對網路體系結構相關的問題進行了充分的討論, 最終提出了作為通訊協議設計指標的OSI參考模型。這一模型將通訊協議中必要 的功能分成了7層。通過這些分層,使得那些比較複雜的網路協議更加簡單化。

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

協議分層就如同計算機軟體中的模組化開發。OSI參考模型的建議是比較理想化的。它希望實現從第一層到第七層的所有模組並將它們組合起來實現網路 通訊。分層可以將每個分層獨立使用,即使系統中某些分層發生變化,也不會波及整個系統。因此,可以構造一個擴充套件性和靈活性都較強的系統。此外,通過分層能夠細分通訊功能
更易於單獨實現每個分層的協議,並界定各個分層的具體責任和義務。這些都屬於分層的優點。而分層的劣勢,可能就在於過分模組化、使處理變得更加沉重以及每個模組都不得不實現相似的處理邏輯等問題。
(原文連結:http://blog.csdn.net/yelangjueqi/article/details/38269947 ,歡迎轉載,轉載時請註明出處!!)
2.通過對話理解分層

關於協議的分層,我們再以AC的對話(見上一節)為例簡單說明一下。在此,我們只考慮語言層和通訊裝置層這兩個分層的情況。首先,以電話聊天為例,見下圖,上半部分中的AC兩個人正在通過電話 (信裝置)用漢語(語言協議)聊天。我們詳細分析一下這張圖。


表面上看AC是在用漢語直接對話,但實際上AC都是在通過電話機的聽筒聽取聲音都在對著麥克風說話。想象一下如果有一個素未見過電話機的人見到這個場景會怎麼想?恐怕他一定會以為AC在跟電話機聊天吧。其實在這個圖中,他們所用的語言協議作為麥克風的音訊輸入,在通訊裝置層被轉換為電波訊號傳送出去了。傳送到對方的電話機後,又被通訊裝置層轉換為音訊輸出,傳遞給了對方。因此,AC其實是利用電話機之間通過音訊轉化聲音的介面實現了對話。

     通常人們會覺得拿起電話與人通話,其實就好像是直接在跟對方對話,然而如果仔細分析,在整個過程中實際上是電話機在做中介,這是不可否認的。如果A的電話 機所傳出的電子訊號並未能轉換成與
C的電話機相同頻率的聲音,那會如何?這就如 同A的電話機與C的電話機的協議互不相同。C聽到聲音後可能會覺得自己不是在跟 A而是在跟其他人說話。頻率若是相去甚遠,C更有可能會覺得自己聽到的不是漢語。

那麼如果我們假定語言層相同而改變了通訊裝置層,情況會如何?例如,將 電話機改為無線電。通訊裝置層如果改用無線電,那麼就得學會使用無線電的方 法。由於語言層仍然在使用漢語協議,因此使用者可以完全和以往打電話時一樣 正常通話上圖左下部分)。

那麼,如果通訊裝置層使用電話機而語言層改為英語的話情況又會如何? 很顯然,電話機本身不會受限於使用者使用的語言。因此,這種情況與使用漢語 通話時完全一樣,依然可以實現通話上圖右下部分)。

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

3.OSI參考模型   前面只是將協議簡單地分為了兩層進行了舉例說明。然而,實際的分組通訊協議 會相當複雜。OSI參考模型將這樣一個複雜的協議整理並分為了易於理解的7個分層。
     osi參考模型對通訊中必要的功能做了很好的歸納。網路工程師在討論協議 相關問題時也經常以osi參考模型的分層為原型。對於計算機網路的初學者,學 習osi參考模型可以說是通往成功的第一步。不過,osi參考模型終究是一個“模型”,它也只是對各層的作用做了一系列 粗略的界定,並沒有對協議和介面進行詳細的定義。它對學習和設計協議只能起 到一個引導的作用。因此,若想要了解協議的更多細節,還是有必要參考每個協 議本身的具體規範。許多通訊協議,都對應了 OSI參考模型7個分層中的某層。通過這一點,可 以大致瞭解該協議在整個通訊功能中的位置和作用。 4.OSI參考模型中各個分層的作用     在此,以下圖為例簡單說明OSI參考模型中各個分層的主要作用。
  • 應用層
為應用程式提供服務並規定應用程式中通訊相關的細節。包括檔案傳輸、電 子郵件、遠端登入(虛擬終端)等協議。
  • 表示層
將應用處理的資訊轉換為適合網路傳輸的格式,或將來自下一層的資料轉換 為上層能夠處理的格式。因此它主要負責資料格式的轉換。
具體來說,就是將裝置固有的資料格式轉換為網路標準傳輸格式。不同裝置 對同一位元流解釋的結果可能會不同。因此,使它們保持一致是這一層的主要 作用。
  • 會話層
負責建立和斷開通訊連線(資料流動的邏輯通路),以及資料的分割等資料 傳輸相關的管理。
  • 傳輸層
起著可靠傳輸的作用。只在通訊雙方節點上進行處理,而無需在路由器上 處理。
  • 網路層
將資料傳輸到目標地址。目標地址可以是多個網路通過路由器連線而成的某 一個地址。因此這一層主要負責定址和路由選擇。
  • 資料鏈路層 
負責物理層面上互連的、節點之間的通訊傳輸。例如與1個乙太網相連的2 個節點之間的通訊。
將0、1序列劃分為具有意義的資料幀傳送給對端(資料幀的生成與接收)。
  • 物理層
負責0、1位元流(0、1序列)與電壓的髙低、光的閃滅之間的互換。