1-6 通訊協定的堆疊
其實我們可以反過來講,當我們要建構一個通訊協定時,只要依照所需求的功能和環境因素尋找對應的各功能層次,並將它們堆疊起來便可以完成,這樣的協定也稱為『協定堆疊』(Protocol Stack)。但要這些功能層次能堆疊起來,必須考慮到它們之間連結的『介面』(Interface)、和相對應電腦之間『端對端協定』(Peer-to-Peer Protocol)的技術問題。關於這些問題,我們敘述如下: 1-6-1層次介面(Layer Interface) 意即上下層次的介面。任何層次都將依照其功能製作成一獨立實體(entity),每一層次都必須提供對上一層、或對下一層的連結程式,此連結程式稱之為『層次介面』(Layer Interface)。這個觀念就如同硬體介面一樣,當主機板要和 I/O 介面卡(如 VGA 顯示卡)連接時,必須透過標準介面(如 PCI 介面)來定義每個連接接腳(pin)的訊號方式。軟體介面程式也是一樣,但它是利用程序呼叫所攜帶的參數來作訊息的傳遞,這些層次之間的專屬程序,便稱之為『介面程序』(Layer Procedure)。如圖1-4 所示,我們將通訊協定依照功能區分為七個層次,每一層次和它的上下層之間的聯繫,便需透過介面程式來連結。
圖 1-4 通訊協定之介面與端對端協定 如果將這些介面程式制定成標準格式,各家廠商在發展通訊協定時,雖然使用自己的特殊方法製作層次內所需功能,但層次之間的介面程式卻都依照標準格式製作。如此一來,不同廠商所發展的通訊協定便很容易結合,達到通訊協定堆疊的功能。 1-6-2 端對端協定(Peer-to-Peer protocol) 互相連線中的電腦,依照通訊協定所需功能區分為數個層次,每一層次負責某一部分功能,因此電腦間的相對層次間必須協議出共同的工作模式,這個協議稱為『端對端協定』(Peer-to-Peer protocol)。如果通訊中的電腦,其通訊協定中所有層次都能協議出共同認定的方法來通訊,對通訊協定而言,整個通訊協定的製作便算成功。但在不對稱的層次間 (譬如第四層和對方第六層或第五層) 則不受此限。 依照此方法才能將各個功能層次完全分割出來,也才能容易地實現網路通訊協定。 1-6-3 介面程序的連接 一般主機電腦都屬於『多元程式系統』(Multiprogramming System),也就是說在一部電腦內也許會有多個應用程式在執行。每一個應用程式呼叫任何一層通訊協定時,所產生的程式稱之為通訊軟體。一個應用程式在每一層裡也許會產生一個以上的通訊軟體,而這些上下層的通訊軟體之間的聯繫必須透過『服務存取點』(Service Access Point, SAP)。所謂服務存取點就是層次介面所產生的邏輯編號,每一個邏輯編號代表一條『虛擬鏈路』(Virtual Link)。如圖 1-5 所示,第 N+1 層通訊軟體呼叫第 N 層通訊協定,所產生的服務存取點便表示已銜接(Attach)到第 N 層;第 N 層也用同樣的方法連接到第 N-1 層。兩端應用程式就是利用這些虛擬鏈路串接在一起,這也稱為『連線』(Connection)。這條連線提供彼此通訊的管道,因此,通訊連線必須具有下列特性:
依照這些特性所攜帶的訊息才能使通訊雙方同等層次之間溝通,也就是所謂通訊協定的製作。例如,圖 1-5 之中,通訊雙方的第 N 層之間的協定所示。 圖1-5 通訊軟體之間的連線與通訊
|
翻轉工作室:粘添壽
電腦網路與連結技術:
翻轉電子書系列:
|