33 FreeBSD連載:DOD參考模型

第4章 網絡配置與使用60年代末,美國國防部(DOD)對建立分組交換的廣域網很感興趣,其基本想法是通過連接多個地域的分散網絡,那么局部地區的網絡故障不影響其他部分網絡的正常運行 。主要是由于當時正處于冷戰的形勢下,他們要求建立能夠在部分地區被襲擊的情況下,仍正常運行的軍事網絡 。
研究機構ARPA開始了這個稱為ARPAnet的網絡項目的研究,由于這個項目要求在不同的計算機之間進行通信,而不同的計算機上會運行不同的操作系統,因此就存在不同系統之間如何按照同樣的規則進行交流的問題 。因此最重要的問題就是開發所有的系統都遵守的標準協議,讓它來實現應用程序對應用程序的通信,并獨立于具體的計算機平臺 。因此,他們開發了獨立于特定計算機系統的標準協議,以實現各種計算機之間的通信 。
由于存在多種應用程序,因此協議也并非一個,而是一組協議 。而TCP協議和IP協議就是他們開發的這些協議中最重要的兩個,因此通常就以TCP/IP來稱呼整個協議族,稱為TCP/IP協議,這正是當前流行的Internet使用的協議標準 。
TCP/IP的成功與BSD Unix分不開的,由于TCP/IP是平臺獨立的,而當時大學的研究機構主要使用BSD Unix,因而加州大學伯克利分校最先在BSD Unix中實現了TCP/IP 。于是這一技術很快推廣到使用BSD Unix的大學中,TCP/IP得到迅速推廣,越來越多的網絡使用這個協議,越來越多的網絡也通過這個協議進行了互聯,逐漸形成了今天的Internet 。
DOD參考模型
參考模型是關于計算機之間如何進行通信的一種形象化表示方式,它將進行通信所需要的每一步驟按照層次的概念組織起來 。如果一個步驟處理的事情是負責物理線路的具體傳輸,就認為屬于模型中的低層,反過來,如果一個步驟是與具體的應用程序打交道,就認為屬于模型中的高層,在高層和低層之間按照邏輯關系,還有一些中間層次 。
將通信過程劃分為不同層次的原因是因為通信過程是一個復雜的過程,對于用戶來講,能使用WWW瀏覽信息,能發送電子郵件就能滿足需要,他們只關心這些應用程序,而不關心具體的通信過程;另外一些軟件駐留在后臺處理通信過程中必要的任務,如建立連接,發送數據等,而不關心數據是如何發送出去的;還有一些硬件專門用來負載信號的傳遞;這樣不同的軟硬件有著層次分明的調用關系,自然就形成了層次的概念,而參考模型正是對這些層次進行區分和定義 。
在參考模型中,數據的物理傳送是由應用程序──屬于模型的最高層,向低層傳送,直至具體傳輸數據的傳輸協議層,由這個層將數據通過物理介質──如電纜、光纜、微波等傳送到目的計算機 。當數據到達目的計算機時,它沿模型向上傳遞,最終到達目的計算機中的應用程序 。這個過程就是傳送數據的物理過程 。
可以使用一個簡單例子來解釋這個通信過程 。例如朋友之間互相傳遞信函是另一種較容易理解的通信過程,這個過程中有寄信者、收信者、郵遞員、郵車等等 。由寄信者將信交給郵遞員,郵遞員處理信件之后將信通過郵車發到對方的城市,對方城市的郵遞員再將信交給收信者 。這樣就可以將這個過程按層次劃分,寄信者和收信者可以看作一個層次,他們使用郵政服務,可以看成應用層;所有層次的郵政員工是一個層次,進行具體的處理通信工作,可以稱為通信層;而郵車可以看成另一個層次,處理具體發送郵件工作,稱為傳輸層;這只是一個簡單例子,具體網絡通信過程則要復雜的多 。
從上圖可以看出,雖然物理數據的傳送是先從上到下,再從下到上回到另一臺計算機的應用程序中,如果不考慮低層是如何進行具體處理的,就可以將通信看成在每一層與另一個計算機中的相應層之間進行的 。這樣在每層與另一臺計算機相應層之間就存在邏輯上的連接通信和傳遞數據的能力 。如果還使用前面的寄信的例子來說明的話,就是寄信者只考慮收信者,收信者也只考慮寄信者,而不管郵遞員是如何處理信件的,在邏輯上就是朋友之間的通信關系 。

推薦閱讀