電腦網路與連結技術第六章 交談層、表現層與應用層 上一頁    下一頁

6-2 交談層功能

內容:

  • 6-2-1 交談連線之建立及維護

  • 6-2-2 交談連線之管理

  • 6-2-3 交談連線之復原

『交談層』(Session Layer 或稱為會議層)負責提供交談服務的介面,主要功能是達成使用者(或程序)之間對談(dialogue)的連接、同步、以及管理它們之間資料的傳送。交談層負責根據使用者是否同時傳送或接收資料,來控制使用者傳送或接收的時序,也就是所謂的『同步交談』(Synchronization功能,其實這個功能非常類似作業系統中多元程序(Multi-Processes)之間的同步處理。我們可由下面三個主要功能來探討交談層的功能:

交談連線之建立及維護

交談連線之管理

交談連線之復原

6-2-1 交談連線之建立及維護

當傳輸層已完成程序之間的連線(Process-to-Process Connection),表示連線雙方的程序可以利用這一條連線來通訊。但當兩個程序建立連線之後,並不表示雙方隨時在通訊之中,交談層的工作就是針對已建立完成的連線,進行建立對談的程序,管理雙方對談的程序,包括交談的建立、管理、終止與支援檢查點、重新啟動等功能,交談層亦稱為『對談連線』(Dialogue-to-Dialogue Connection,如圖 6-1 所示。這種現象就如同打電話一樣,傳輸層以下的工作讓我們接通電話(Station-to-Station Connection)、並經過分機號碼找到受話對方(End-to-End Connection),雙方雖然都拿取話機,但要如何來對話?是決定雙方一起說話?還是只允許一方可以發話?或發話當中有哪些資料特別重要必須加以管理等等,這些都是交談層所必須負責的工作。

 

6-1 交談層之對談連接

應用層的兩個通訊軟體之間,必須先建立一個交談(Session),將交談銜接到傳輸層,並商討交談的參數(如資料單元大小)。我們將交談層使用者和通訊軟體之間的交換資料稱為紀錄(Record)。交談層接受紀錄後將其編成『交談協定資料單元』(Session Protocol Data UnitSPDU,然後透過傳輸層發送資料。傳輸層將 SPDU 分割成若干個『傳輸協定資料單元』(Transport Protocol Data UnitTPDU,依照順序傳送。對方接收後並組合成原來的 SPDU 再傳給交談層。交談層之間連線的型態,也影響到交談層和傳輸層之間的連線關係,我們以下列幾種連線型態來討論:

(1) 一對一對談關係:兩交談者之間是一對一的對話關係。兩端交談層只要存取到一個傳輸層的通訊鏈路就可以,如圖 6-2 (a) 所示。

(2) 一對多對談關係:一個交談者同時和多個交談者之間的對話(例如三方通訊)。要求連線端的交談層必須連接多個傳輸層的通訊鏈路,每一個通訊鏈路連接一個交談對象。例如一個交談使用者想要同時和五個使用者交談,就必須連接五個傳輸層鏈路,每一條鏈路對應一個交談對象。任何一個傳輸鏈路連接到自己的網路層實體,亦即每一個交談對象可以分散在不同網路上,或不同地區上,如圖 6-2 (b) 所示。

(3) 多對多對談關係:多個交談者同時和多個交談者之間的對話(例如視訊會議)。每一個交談者的交談層必須依照目前所需對話的對象連線,每一個交談對象都必須連接一個傳輸層的通訊鏈路,如圖 6-2 (c) 所示。

 

6-2 交談層的連線型態

6-2-2 交談連線之管理

就交談連線管理而言,交談層通訊軟體提供使用者之間相互交談(Interaction)或對話(Dialogue)。對話可能有:雙向同時(Two-way Simultaneous)、雙向交替(Two-way Alternated)和單方向(One-way)等三種對談模式。以下介紹三種對談方式和傳輸層連線之間關係。

(A) 雙向同時對談模式

『雙向同時對談』(Two-way Simultaneous Dialogue模式是全雙工(Full-Duplex)的交談方式,雙方可同時發送資料。當雙方在交談建立時協議使用此種模式,就不需要特別的對話管理工作,這是最常使用的對話模式。

使用者要求雙向同時交談的情況下,交談層要求連接傳輸層時,必須銜接到兩條傳輸鏈路,一條供傳送使用,另一條則供接收資料使用;連線對方也必須使用兩條傳輸鏈路和傳送端對應,如圖 6-3 (a) 所示。因此雙向同時交談模式成本費用較高。

(B) 單向對談模式

『單方向對談』(One-way Dialogue模式也不需要特別的對話管理方法,多個使用者之間只能由一個使用者做單向發話,其他使用者只能接收對話。在此需留意,所謂單向對話乃是對傳輸資料而言,在建立交談的過程中,仍需雙方向的交談來達成協議。在資料傳輸過程中,接收方仍需發送確認訊息或其他控制訊息;在某些特殊情況下,接收端也可能發送中斷(Interrupt)訊息,通知發話端暫停傳送資料。一般應用於非交談式的資料傳輸,譬如,遠端列印的情況下,由某一伺服器(如列印伺服器)代為接收列印資料,而只負責接收及儲存資料,並不做資料之處理及回應。當交談層使用者要求單向對談連線時,交談層通訊軟體要求銜接傳輸層時,只要一條鏈路就可以,並指定這條鏈路的傳輸方向。連線對方也是一條鏈路即可,傳輸方向必須由雙方協議而成,如圖 6-3 (b) 所示。

 

6-3 交談層的對談模式

(C) 雙向交替對談模式

『雙向交替對談』(Two-way Alternated Dialogue模式在傳輸層上只要取得一條鏈路即可,對談的雙方輪流使用這條鏈路發話,如圖 6-3 (c) 所示。其運作方式類似無線對講機使用單一頻率,使用者同一時間只能收話或發話,不能同時進行收發。所以雙向交替模式比較複雜,雙方需交替輪流發送資料。

一般我們還是使用『符記』(Token方式來決定發話的順序,誰取得 Token 就有發話的權利,否則只能收話。運作方式如圖 6-4 所示,我們以下列八個步驟來介紹:

(1) 交易程式 A要建立對話連線,並表示擁有 Token

(2) 交易程式 B 回應同意連線,並表示釋放 Token

(3) 交易程式 A 取得符記,便開始發話(資料_A),開始進行傳送。

(4) 交易程式 A 送出釋放 Token 表示發話完畢,將發話權交給對方。

(5) 交易程式 B 取得發話權利(Token),並開始發話(資料_B

(6) 交易程式 B Token 傳送給 A,表示釋放發話權。

(7) 取得 Token 者(A)可要求釋放連線,並將 Token 傳送給對方(B

(8) 對方(B)接收到 Token 和釋放連線訊號,便可決定是否同意釋放連線。如沒有資料傳送就發出釋放連線確認訊號;否則繼續發話。

 

6-4 雙向交替對談模式的運作方式

6-2-3 交談連線之復原

交談層另一個重要的功能是提供『檢查點』(Checkpoint『再啟動』(Restart的功能來支援『復原』(Recovery的工作。有關復原的工作,我們用一個例子來介紹。假如我們傳送100頁的資料到遠端印表機列印時,所有資料在網路中傳送皆正常,但當列印到第 90 頁時發生印表機夾紙,即使我們重新備妥印表機再列印時,如果沒有事先做好適當處理,它將再從第1頁開始列印,而非由第 90 頁繼續列印。由這個實例我們可以知道,故障是發生在應用層的交談過程之中,而非網路上傳輸資料時發生錯誤。因此我們有必要在交談過程中插入檢查點要求對方回應,如對方有所回應,則表示已正接收到對話中的檢查點部份。如果發生故障只要回復到最後確認的檢查點即可,而不需要再由起始點開始。

但並非整個對話之中都必須插入檢查點,我們可以將必須特別保護的交談建構成一個『對話單元』(Dialogue Unit,如圖 6-5 (a),發話端在一個對話單元上分割成若干個『交談回復單元』(Session Recovery Unit。對話開始時插入主同步點,每隔一段交談回復單元後再插入次同步點,又在對話結束時插入一個主同步點。發話端就依照同步點的位置於發話過程中依序插入對話框內。收話端每收到一個同步點,都必須回應確認訊號,表示已安全收話到同步點的位置。如圖 6-5 (a) 所示,對話中斷在次同步點 t3 t4 之間,收話端以回應次同步點 t3,因此重啟動時只要從次同步點 t3 開始對話就可以,不必再由起始點開始。如圖 6-5 (b) 我們可以將一個對話活動分割成若干個對話單元,對於大量資料的傳送效率會比較高。至於遠距離之間的對話,發話端為了提高傳輸效率會連續傳送多個交談回復單元(也就是插入多個次同步點),收話端也並未每一個次同步點都回應確認(類似滑動視窗法運作)。但發話端插入主同步點之後便暫停傳送,等待回應後再傳送;收話端接收到主同步點必須立即回應確認訊息,雙方對話才能繼續。因此對於大量傳送資料,分割成若干個對話單元可保證資料的完整性。

 

6-5 交談連線的復原程序之處理

 

翻轉工作室:粘添壽

 

電腦網路與連結技術:

 

 

翻轉電子書系列: