2-3 通訊協定的基本功能
通訊協定中,每一層次都是獨立的通訊實體,為了使上下層次能完全連接,以及和通訊對方的相對層次之間可以充分表達意思,因此每一層次都必須具備一些基本功能才能完成其通訊任務。這些基本功能如下: ● 協定資料單元的包裝與拆裝(Encapsulation / Decapsulation) ● 協定資料單元的分段與組合(Segmentation / Reassembly) ● 通訊連線的建立(Connection establishment) ● 資料傳送的流量控制(Flow control) ● 資料傳送的錯誤控制(Error control) ● 通訊連線的多工處理(Multiplexing) 2-3-1 協定資料單元的包裝與拆裝 通訊協定中各個層次都是獨立的,兩個通訊實體(傳送端和接收端之間的同一層次)中通訊的協議和其他層次無關。它們之間的交換資料,稱之為『協定資料單元』(Protocol Data Unit, PDU),例如,兩個相對網路層之間的資料稱為『網路層協定資料單元』(Network Layer Protocol Data Unit, NL_PDU)。兩個通訊實體之間的協議,傳送端必須在相對等層次中將雙方的控制訊息加入;接收端的相對層次再將控制訊息取出。這加入和取出控制訊息就是利用各個層次的包裝及拆裝來完成。(如圖 0-6 所示) (A) 包裝(Encapsulation) 傳送端之 N 層接收到 N+1 層的資料時,再加入本身層次的控制訊息在資料的前端(Protocol Head),如網路層加入 NH 欄位。這重新組合成本層的協定資料單元(Protocol Data Unit, PDU),再傳送給下層次(N-1 層),稱之為協定資料單元的包裝。 (B) 拆裝(Decapsulation) 接收端之 N 層接收到其下一層(N-1 層)的訊息時,將其拆裝取出本身層次的控制訊息,如網路層的 NH 欄位。再依控制訊息事項,給予適當的處理。再將剩下的訊息往上一層 (N+1 層) 傳送。稱之為協定資料單元的拆裝。 圖 2-6 協定資料單元之包裝與拆裝 通訊雙方的應用系統就是透過每一層的 PDU 來協議雙方的通訊協定,如果每一層都能符合雙方的協議標準,而整個系統的協定標準就因而建構而成。也就是說,通訊協定的建構是由一層一層的協定來達成,如果我們在建構某一層的協議標準時,只要考慮相對層之間的關係即可,而對另一端的上一層或下一層之間的協議,就由本端的上一層或下一層來負責,整個網路的通訊協定製作才能簡單化、功能化。 2-3-2 協定資料單元的分段與組合 獨立的通訊實體,每一層次之協定資料單元(Protocol Data Unit, PDU)的大小並非完全一樣。尤其在堆疊原理之下,某一層次的上一層或下一層會依照環境的需求而堆疊不同的協定,因此層次之間協定資料單元(PDU)的大小根本無法標準化。所以當上下層次之協定資料單元(PDU)的長度不同時,便必須利用分段和組合技術來重整。(如圖 0-7 所示) (A) 分段(Segmentation) 傳送端的第N層的協定資料單元(PDU)大於下一層(N-1層)的協定單元時,必須將本身的協定單元分成若干個較小的片段(Segments),片段大小必須符合下一層的協定資料單元,這個動作稱之為分段。 (B) 組合(Reassembly) 接收端的第N層將數個N-1層的協定資料單元(PDU)組合成原來協定資料單元(PDU)。
圖 2-7 協定資料單元之分段與組合 針對通訊連線的管理可區分為:連線建立、流量控制及錯誤控制等三種主要功能,以下分別述之: (A) 通訊連線的建立(Connection Establishing) 兩個對等實體(通訊協定中某一層次)之間想要傳送資料時,必須建立一條通訊連線(Connection),爾後雙方傳送資料或是回應確認信號便依照這條通訊連線傳送。當雙方結束通訊時,再釋放這條通訊連線。各層次於通訊軟體建立連線當中,需要求建立訊號傳到下一層時,下一層再將要求建立連線訊號往下層傳送,如各層之間都連線成功,表示各層都有取得通訊鏈路。如圖 0-8 所示,第五層通訊軟體要求連線,要求訊號往第四層傳送時,如果第四層有空閒路徑便同意連線。第四層再往第三層要求連線,第三層如有空閒鏈路便同意第四層連線,於此類推。當訊號到達對方電腦也一樣,例如第二層接受連線,便往第三層要求連線,第三層如有空閒鏈路便同意第二層連線。第三層再要求第四層連線。如果第五層要求對方連線成功,表示雙方電腦由第五層以下(5、4、3、2、1)都已要求到通訊鏈路並建立連線。請參考『電腦網路與連結技術』、『點這裡』。
圖 2-8 通訊連線的建立 (B) 流量控制(Flow Control) 當通訊實體之間的通訊連線建立後,我們必須控制雙方傳送資料的速度,如果傳送速度過快,接收端的緩衝器將會爆滿(Overflow)而遺失資料。這個控制稱之為流量控制。請參考『電腦網路與連結技術』的『流量控制』 介紹。 (C) 錯誤控制(Error Control) 傳送端依照通訊連線傳送資料給接收端,在傳送過程中也許會遭受干擾或其他因素資料而發生錯誤,如果欲使接收端有能力偵測出資料已發生錯誤,那麼在資料傳送前傳送端必須做一些必要的處理,接收端才能依照傳送端的處理來偵測是否發生錯誤。如果接收端發現資料錯誤(損壞或遺失),必須要求重新傳送,這訊息如何告知傳送端,傳送端又如何判斷對方確實沒有正確收到訊息。諸如此類的資料錯誤偵測和重新傳送處理的方法稱之為錯誤控制。請參考『電腦網路與連結技術』的『錯誤控制』 介紹。 2-3-4 通訊連線的多工處理 通訊協定中,上層和下層之間的連線是利用每一層所提供的『服務存取點』(Service Access Point, SAP),當上層想要傳送資料給下層,他必須接續(Attach)到下層的服務存取點;下層欲傳送資料給上層也是一樣。但是在一個通訊鏈路中,上層和下層之間的連接並非一定是一對一的接續(Attach),如果有超過一個接續以上,我們稱為多工處理。有下列三種方式:(如圖2-9 所示) (A) 一對一多工 上層和下層之間只有一對一的接續到服務存取點。表示兩端接續之間自始至終只有一條連線。 (B) 向上多工(Upward Multiplexing) 每一層往下層建立連線都以接續到『服務存取點』建立來完成,如果第N層將上一層(N+1)層多個接續點組合成一個接續點往下層(N-1)層傳送,稱之為向上多工。表示第N層將上一層多條連線組合成一條連線往下層傳送,多工的原因可能多條鏈路共用一條下層通道。例如,TCP/IP 通訊協定,多條 TCP 鏈路共用一條 IP 連線。又在 IEEE 區域網路中,多條 LLC 鏈路共用一個 MAC 連線。但也有可能是組合不同應用程式往同一地址傳送。 (C) 向下多工(Downward Multiplexing) 第N層將上一層(N+1)的連線拆解成多條連線往下一層(N-1)傳送。同一條連線與上一層之間接續只有一個;往下層就有多個接續點,稱之為向下多工。多工的原因可能為了建立多條連線加快傳輸速率,例如,傳輸線路採用 T1 專線,一條通訊連線由 24 條鏈路傳送訊息。
圖 2-9 通訊連線的多工處理 |
翻轉工作室:粘添壽
網路規劃與管理技術:
翻轉電子書系列:
|