計算機網絡如何協議與劃分層次?

2016-07-12 1823 0 編輯:Monster 來源:互聯網

在計算機網絡中要做到有條不紊地交換數據,就必須遵守一些事先約定好的規則。這些規則明確規定了所交換的數據的格式以及有關的同步問題。這里所說的同步不是狹義的(即同頻或同頻同相)而是廣義的,即在一定的條件下應當發生什么事件(如發送一個應答信息),因而同步含有時序的意思。這些為進行網絡中的數據交換而建立的規則、標準或約定稱為網絡協議(network protocol)。網絡協議也可簡稱為協議。更進一步講,網絡協議主要由以下三個要素組成:   

(1)語法,即數據與控制信息的結構或格式;

(2)語義,即需要發出何種控制信息,完成何種動作以及做出何種響應;

(3)同步,即事件實現順序的詳細說明。

由此可見,網絡協議是計算機網絡不可缺少的組成部分。實際上,只要我們想讓連接在網絡上的另一臺計算機做點什么事情(例如,從網絡上的某個主機下載文件),我們都需要有協議。但是當我們經常在目己的PC機上進行文件存盤或讀取操作時,就不需要任何網絡協議,除非這個用來存儲文件的磁盤是網絡上的某個文件服務器的磁盤。

協議通常有兩種不同的形式,一種是使用便于人來閱讀和理解的文字描述,另一種是使用讓計算機能夠理解的程序代碼。這兩種不同形式的協議,都必須能夠對網絡上信息交換過程做出精確的解釋。

ARPANET的研制經驗表明,對于非常復雜的計算機網絡協一議,其結構應該是層次式的。我們可以舉一個簡單的例子來說明劃分層次的概念。

現在假定我們在主機1和主機2之間通過一個通信網絡傳送文件。這是一件比較復雜的工作,因為需要做不少的工作。

我們可以把要做的工作劃分為三類。第一類工作與傳送文件直接有關。例如,發送端的文件傳送應用程序應當確信接收端的文件管理程序己做好接收和存儲文件的準備。若兩個主機所用的文件格式不一樣,則至少其中的一個主機應完成文件格式的轉換。這兩件工作可用一個文件傳送模塊來完成。這樣,兩個主機可將文件傳送模塊作為最高的一層。在這兩個模塊之間的虛線表示兩個主機系統交換文件和一些有關文件交換的命令。

但是,我們并不想讓文件傳送模塊完成全部工作的細節,這樣會使文件傳送模塊過于復雜。可以再設立一個通信服務模塊(即第二類工作),用來保證文件和文件傳送命令可靠地在兩個系統之間交換。也就是說,讓位于上面的文件傳送模塊利用F面的通信服務模塊所提供的服務。我們還可以看出,如果將位于上面的文件傳送模塊換成電子郵件模塊,那么電子郵件模塊同樣可以利用在它卜面的通信服務模塊所提供的可靠通信的服務。

同樣道理,我們再構造一個網絡接入模塊(即第三類工作),讓這個模塊負責做與網絡接口細節有關的工作,并向上層提供服務,使上面的通信服務模塊能夠完成可靠通信的任務。

從上述簡單例子可以更好地理解分層可以帶來很多好處。如:

(1)各層之間是獨立的。某一層并不需要知道它的下一層是如何實現的,而僅僅需要知道該層通過層間的接口(即界面)所提供的服務。由于每一層只實現一種相對獨立的功能,因而可將一個難以處理的復雜問題分解為若干個較容易處理的更小一些的問題。這樣,整個問題的復雜程度就下降了。

(2)靈活性好。當任何一層發生變化時(例如由于技術的變化),只要層間接口關系保持不變,則在這層以上或以下各層均不受影響。此外,對某一層提供的服務還可進行修改。當某層提供的服務不再需要時,也可以將這層取消。

(3)結構上可分割開。各層都可以采用最合適的技術來實現。

(4)易于實現和維護。這種結構使得實現和調試一個龐大而又復雜的系統變得易于處理,因為整個的系統已被分解為若干個相對獨立的子系統。

(5)能促進標準化工作。因為每一層的功能及其所提供的服務都已有了精確的說明。

分層時應注意使每一層的功能非常明確。若層數太少,就會使每一層的協議太復雜。但層數太多又會在描述和綜合各層功能的系統工程任務時遇到較多的困難。通常各層所要完成的功能主要有以下一些(可以只包括一種,也可以包括多種):

①差錯控制  使得和網絡對等端的相應層次的通信更加可靠。

②流量控制  使得發送端的發送速率不要太快,要使接收端來得及接收。

③分段和重裝  發送端把要發送的數據塊劃分為更小的單位,在接收端將其還原。

④復用和分用  發送端幾個高層會話復用一條低層的連接,在接收端再進行分用。

⑤連接建立和釋放  交換數據前先建立一條邏輯連接。數據傳送結束后釋放連接。

分層當然也有一些缺點,例如,有些功能會在不同的層次中重復出現,因而產生了額外開銷。

我們把計算機網絡的各層及其協議的集合,稱為網絡的體系結構(architecture)。換種說法,計算機網絡的體系結構就是這個計算機網絡及其構件所應完成的功能的精確定義[GREE82]。需要強調的是:這些功能究竟是用何種硬件或軟件完成的,則是一個遵循這種體系結構的實現((implementation)的問題。體系結構的英文名詞architecture的原意是建筑學或建筑的設計和風格。它和一個具體的建筑物的概念很不相同。例如,我們可以走進一個明代的建筑物中,但卻不能走進一個明代的建筑風格之中。同理,我們也不能把一個具體的計算機網絡說成是一個抽象的網絡體系結構。總之,體系結構是抽象的,而實現則是具體的,是真正在運行的計算機硬件和軟件。


本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
我們猜你喜歡
七星彩头尾