1-4 何謂通訊協定?
要使網路上所有自主性電腦能互相通訊,那就必須協議出大家都能接受的通訊方法,這個由大家協議出來的通訊方法就稱為『通訊協定』(Communication Protocol),我們可依下面兩個層次來探討。 1-4-1 何謂『協定』(Protocol) 以某一種大家所認同的方法來互相溝通稱之為協議。人類社會中有許多協議束縛著我們的行為,譬如,開車有交通規則、接聽電話有一般禮節、開會有議程規範、考試有考試守則等等。如果大家都遵守這些規則或協議,彼此便能合作無礙,反之則無法和其他人溝通。當協議被公認成為固定標準時,便稱之為『協定』(Protocol)。例如在人與人溝通方面的協定有:
1-4-2 何謂『通訊協定』 『通訊協定』(Communication Protocol)就是定義電腦間互相通訊且受共同認定的協議標準,網路上所有電腦都必須依照此標準來互相通訊,才能使各個電腦間互相了解對方的意思,並能完成其共同的任務(job),這個協議標準則稱之。固然,通訊協定是想要通訊的雙方(或兩個以上)所必須依據的規範。但並非每一部電腦只能遵守一個規範,在一部電腦上可同時存在許多協定,並同時以不同的通訊協定和不同領域的電腦通訊。這樣,就如人的行為一樣,每一個人可擁有不同語言能力和生活習慣,也可以同時和不同領域的人交談或溝通。如圖 1-2 所示,在網路上存在著不同的通訊協定,例如電腦 A(採用 Windows 98)就擁有多種通訊協定:NetBEUI、TCP/IP、IPX 和 DLC,它的通訊行為可能如下:
所以,一部電腦上可以安裝多種通訊協定,與不同網路之間相互通訊。但如果安裝太多沒有使用到的通訊協定時,將會佔用過多記憶體,而影響電腦的執行速度。 圖1-2 各種通訊協定的連接 1-5 通訊協定的特性 到目前為止,我們知道通訊協定是讓電腦之間連接的依據。但它必須要能符合各種不同的環境因素,和不同的應用需求。因此,通訊協定必然是一個龐大軟體和硬體的結合體,該如何設計和實現(implement)它,的確是件不容易的事。首先我們必須先去探討通訊協定應有的特性,再依照這些特性來制定規則並加以實現,也許會比較容易。有關於通訊協定之特性,我們將其分類如下: (A) 階層性(Hierarchical)或層次性(Layered) 如同設計軟體一樣,將一個龐大的企劃案(project)分割成若干個獨立實體(entity),每個實體各自獨立實現。但對整個企劃案而言,這些獨立實體的功能有上下相連關係(表示上一層完成工作後再交給下一層),才能整合而成,此特性稱之為階層性或層次性。通訊協定就是利用層次性的關係,將整個通訊協定分為若干個層次來分別實現。 (B)功能性(Functionality) 我們希望將通訊協定區分為若干個層次來實現,但區分的標準是什麼?我們以整個通訊協定應具有的功能來區分為數個層次,每一層次處理某一(些)特定功能,層次之間的功能不能互相衝突,因此,層次也稱之為『功能層』(Function Layer)。 (C)隔離性(Isolationality) 因為每一層次都是獨立的,所以上下層次間沒有絕對的從屬關係,不會因上下層的更動而影響本層次的功能,本層次的變動也不會影響上下層次的功能,也就是說層次間具有隔離性,此特性為通訊協定堆疊的基本原理。就圖 1-3(a) 開會程序的層次堆疊為例,我們將臨時動議的層次抽離,而改用餐會層次,這對原來提案表決和散會的層次沒有影響。也就是說,整個開會的程序並沒有改變,至於變更某一層次則是因當時環境的需求所致。按照這個特性,我們可視不同的環境需求,將通訊協定堆疊成不同的架構,這就是通訊協定最重要的特性:『堆疊原理』。如圖 1-3 (b) 電子郵遞的例子,依照不同環境的需求,也許會連結到 Token-Ring 或 Ethernet 網路,但其對其他層次的工作並沒有影響。甚至對使用者而言,某一層次的替換並不會影響其工作型態。 圖 1-3 通訊協定的堆疊原理
|
翻轉工作室:粘添壽
電腦網路與連結技術:
翻轉電子書系列:
|