夏杰
【摘 要】計算機網(wǎng)絡是由各類具有獨立功能的計算機系統(tǒng)和終端通過通信線路連接起來的復雜系統(tǒng),網(wǎng)絡中各計算機必須遵從通信規(guī)定才能相互協(xié)調工作。為了設計這樣復雜的系統(tǒng),網(wǎng)絡工作者提出了分層實現(xiàn)計算機網(wǎng)絡功能的方法。
【關鍵詞】體系結構;分層;模型;協(xié)議
計算機網(wǎng)絡的實現(xiàn)要解決很多復雜的技術問題,如支持多種通信介質;支持不同廠商異種機互連,包括軟件的通信約定和硬件接口的規(guī)范;支持多種業(yè)務等。一方面,正如結構化程序設計中對復雜問題進行模塊化分層處理一樣,將計算機網(wǎng)絡劃分成若干層次,每層完成特定的功能,各層協(xié)調起來實現(xiàn)整個網(wǎng)絡系統(tǒng)。另一方面,計算機網(wǎng)絡是個非常復雜的系統(tǒng),若要實現(xiàn)在計算機網(wǎng)絡中有條不紊地交換數(shù)據(jù),就必須遵守一些事先約定好的規(guī)則。
通信協(xié)議是計算機網(wǎng)絡中為進行數(shù)據(jù)通信而制定的通信雙方共同遵守的規(guī)則、標準或約定的集合。在網(wǎng)絡中通信雙方之間必須遵從相互可以接受的網(wǎng)絡協(xié)議(相同或兼容的協(xié)議)才能進行通信,如目前因特網(wǎng)上使用的協(xié)議是TCP/IP。
體系結構是研究系統(tǒng)中各組成部分及其關系的一門學科,這個術語后來被計算機網(wǎng)絡工作者所采用,為了使計算機網(wǎng)絡系統(tǒng)能夠在同一原則和方法下進行設計、構建和使用,提出了計算機網(wǎng)絡體系結構的概念,對構成整個計算機網(wǎng)絡的主要部分及應具備的功能給出了一組定義。要理解網(wǎng)絡體系結構,首先必須了解分層的設計思想。
層次結構的好處在于每一層實現(xiàn)相對獨立的功能。每一層不必知道下面一層是如何實現(xiàn)的,只要知道下層通過層間接口提供什么服務,以及本層應向上層提供什么服務,就能獨立設計。系統(tǒng)經(jīng)過分層后,每一層的功能相對簡單且易于實現(xiàn)和維護。此外,若某一層需要改動或替代時,只要不改變它和上下層的服務關系,則其他層次都不會受到影響,因此具有很大的靈活性。每一層的功能和所提供的服務都有精確的說明,有助于標準化。
一、一個合理的層次結構具有以下優(yōu)點:
1、各層之間是獨立的
某一層并不需要知道它的下一層是如何實現(xiàn)的,而僅僅需要知道該層通過層間的接口(即界面)所提供的服務。由于每一層只實現(xiàn)一種相對獨立的功能,因而可將一個難以處理的復雜問題分解為若干個較容易處理的更小一些的問題。
2、靈活性好
當任何一層發(fā)生變化時,例如由于技術的變化促進實現(xiàn)技術的變化,只要層間接口關系保持不變,則在這層以上或以下各層均不受影響。此外,對某一層提供的服務還可進行修改。當某層提供的服務不再需要時,甚至可以將這層取消。
3、結構上可分割開
各層都可以采用最合適的技術來實現(xiàn),各層實現(xiàn)技術的改變不影響其他層。
4、易于實現(xiàn)和維護
因為整個的系統(tǒng)已被分解為若干個相對獨立的子系統(tǒng),這種結構使得實現(xiàn)和調試一個龐大而又復雜的系統(tǒng)變得易于處理。
5、能促進標準化工作
因為每一層的功能及其所提供的服務都已有了精確的說明。
二、分層的原則
如果層次劃分不合理也會帶來一些問題。因此,在實施網(wǎng)絡分層時要遵循以下原則:
根據(jù)功能進行抽象分層,每個層次所要實現(xiàn)的功能或服務均有明確的規(guī)定。
1、每層功能的選擇應有利于標準化。
2、不同的系統(tǒng)分成相同的層次,對等層次具有相同功能。
3、高層使用下層提供的服務時,下層服務的實現(xiàn)是不可見的。
4、層的數(shù)目要適當。若層數(shù)太少,就會使每一層的協(xié)議太復雜。但層數(shù)太多又會在描述和綜合各層功能的系統(tǒng)工程任務時遇到較多的困難。
值得注意的是,網(wǎng)絡體系結構中層次的劃分是人為規(guī)定的,有多種劃分的方法,每一層功能也可以有多種協(xié)議實現(xiàn),因此伴隨著網(wǎng)絡的發(fā)展產(chǎn)生了多種體系結構模型。分層結構中的相關概念。
在網(wǎng)絡通信中,通信實體是層功能實現(xiàn)的真正承擔者(相應的軟硬件),能發(fā)送和接收信息。例如,文件傳輸系統(tǒng)、電子郵件系統(tǒng)等,也可以是一塊網(wǎng)卡、一個智能I/O芯片。系統(tǒng)中的各層次都存在一些實體,不同系統(tǒng)的相同層次稱為對等層,對等層之間的通信稱為對等層通信,而對等實體是指相互通信的兩個不同系統(tǒng)上的同一層的通信實體。
網(wǎng)絡服務是指相鄰兩層之間下層為上層所提供的操作功能或通信能力。由于網(wǎng)絡分層的結構中的單向依賴關系,使下層總是向它的上層提供服務,上層可看成是下層的服務用戶,下層是上層的服務提供者。N 層使用N-1層及以下各層所提供的服務,向更高的N+1層提供服務。
在網(wǎng)絡分層結構中,通信協(xié)議相應地被分為各層協(xié)議,每一層都可能有若干個協(xié)議,因此,網(wǎng)絡中提到的協(xié)議總是指某一層的協(xié)議。N層協(xié)議規(guī)定了第N層對等實體之間進行的虛通信必須遵守的規(guī)則。對等層通信所遵守的規(guī)則或約定稱為同層協(xié)議。
在網(wǎng)絡體系結構中,常提到“功能”“服務”和“協(xié)議”這幾個術語,它們有著不同的含義。功能是本層內部的活動,是為了實現(xiàn)對外服務而從事的活動;而服務是本層提供給高一層使用的操作功能,屬于外觀的表象,只有那些能夠被高一層看得見的功能才能稱為服務;協(xié)議則相當于一種工具,對外的服務是依靠本層的協(xié)議實現(xiàn)的。
協(xié)議是控制兩個對等實體(或多個實體)進行通信的規(guī)則的集合。在協(xié)議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務。要實現(xiàn)本層協(xié)議,還需要使用下面一層所提供的服務。
協(xié)議和服務是兩個不同的概念。
首先,協(xié)議的實現(xiàn)保證了能夠向上一層提供服務。本層的服務用戶只能看見服務而無法看見下面的協(xié)議。下面的協(xié)議對上面的服務用戶是透明的。
其次,協(xié)議是“水平的”,即協(xié)議是控制對等實體之間通信的規(guī)則。但服務是“垂直的”,即服務是由下層向上層通過層間接口提供的。另外,并非在一個層內完成的全部功能都稱為服務。
計算機網(wǎng)絡的協(xié)議還有一個很重要的特點,就是協(xié)議必須將所有不利的條件都事先估計到,而不能假定都是在很順利的條件下進行通信。例如,兩個朋友在電話中約好,晚上7點在某某飯店門口碰頭,然后一起吃飯,并且約定“不見不散”。這就是一個很壞的協(xié)議,因為任何一方臨時有急事來不了,另一方按照協(xié)議就必須永遠等待下去,這顯然是不行的。因此,判斷一個計算機網(wǎng)絡協(xié)議是否正確,不但要看該協(xié)議在正常情況下是否正確,還要看這個協(xié)議能否應付各種異常的情況,哪怕這種異常情況出現(xiàn)的概率極其微小。因此,要設計一個很可靠的協(xié)議則并不容易。