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