模型&協議
在互聯網發展的早期,不同的計算機廠商有不同的網絡傳輸協議,例如:IBM的SNA協議、蘋果的AppleTalk協議等,這些協議互不兼容,導致雖然不同的產商計算機在物理層面是鏈接的,但是在網絡上基本無法完成正常通信。這就導致一個用戶如果使用了某個廠商的某個網絡產品,就得用這個廠商的相關的網絡產品。如果廠商更換協議或者停產或者更換廠商的設備,那么就要換掉整套網絡設備。
協議
上述的情況明顯不利于行業的發展,于是開始有公司和組織開始研究基于異構機型的網絡通信技術。但是在使用不同的CPU、OS、網絡部件差異化計算機上去使用同一套技術實現明顯是不現實的。那么假設不規定具體的技術,而是事先形成某種“約定”,不同的廠商只要使用自己的技術按照“約定”實現相應的功能即可。這種”“約定”我們稱作協議,協議規定了某項技術需要遵守的規則,在計算機網絡中,主要是規定了數據格式化和處理的規則。例如分組交換協議,就是規定了傳輸過程中被分割的數據包的報文頭部應該寫入哪些信息和這些信息應該如何處理等。
協議的重要性
協議的重要性不言而喻,計算機與人不同,我們用不同的語言溝通的過程中可以自行將對方的語言(假如了解對方的語言)翻譯成自己能夠理解的內容,但對于計算機來說,數據從物理層捕獲到電信號/數據信號到應用程序,需要經過事先定義的好的規則層層轉碼才能得到,計算機的各個組件需要嚴格遵守規則才能完成通訊。因此不同格式的數據對于計算機來說就是無法理解的語言(就像各地的方言)而網絡通信協議則是規定了計算機通信的規則(就像大家都用普通話)。根據協議來設計和開發計算機軟硬件就可以實現差異化產品的通訊。
模型
模型就是對現實或虛擬的事物的邏輯抽象,用規范、簡化的模式來描述某個事物。放到網絡通信中,模型就是用來描述計算機網絡數據傳輸和格式化的邏輯抽象。模型定義了標準的框架,描述了整個通信的過程,定了通信過程的標準和規范。
協議就是實現模型的具體規則,針對模型各部分的功能,詳細的描述了數據的順序、格式、錯誤處理等等的內容,即描述了實現的規則,又保證了有效性和可靠性。
而模型則是為設計協議提供了指導原則,模型提供了框架和原則,讓協議設計者可以設計出符合規范和標準的協議。
OSI模型
為了解決差異化計算機間通訊的標準化問題,ISO(國際標準化組織)制定了OSI(Open Systems Interconnection)開放式通信系統互聯參考模型,基于該模型定義的OSI協議雖然并沒有得到很好的普及,但是該模型卻用于后續的很多網絡協議的制定中。
OSI模型將整個計算機網絡體系劃分為7層架構:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層,層級上下級關系如下: