解釋會話層的函式。


會話層服務由構成會話層的函式單元集提供。會話層可以理解為一個通用的工具包,使用者從中選擇要使用的工具。

會話層提供的功能如下:

會話建立

會話層的主要功能是提供和建立通訊使用者之間的連線,稱為會話。它可以以可靠且有序的方式透過這些會話傳輸資料。

它可以在兩臺計算機之間建立會話以進行通訊、檔案傳輸、遠端登入或其他目的。它可以建立面向連線的會話和無連線的會話,但對於面向使用者的會話層來說,無連線的會話沒有用。

會話連線類似於傳輸連線。會話建立請求必須確保傳輸連線的建立。會話釋放時,傳輸連線也會釋放。會話到傳輸連線的對映有三種方式。

一對一對映、多對一對映和一對多對映。在一對一對映中,一個會話使用一個傳輸連線。在多對一對映中,連續的會話使用相同的傳輸連線,而在一對多對映中,一個會話跨越多個傳輸連線。

普通資料傳輸

這是會話層的必備功能。使用者實體之間的資料交換可以是雙向交替(半雙工)或雙向同時(全雙工)。在半雙工模式下,只有一個使用者有獨佔權利啟動資料傳輸。相比之下,在另一種情況下,可以雙向同時進行資料傳輸。

對話管理

在某些情況下,會話連線是全雙工的,但上層有時以半雙工模式通訊。在這種情況下,會話層必須跟蹤輪到誰說話,這被稱為對話管理。資料令牌用於實現對話管理。

建立半雙工會話時,透過初始協商確定哪一方首先收到令牌。擁有令牌的使用者可以傳輸資料,而另一個使用者保持靜默。當令牌持有者完成傳輸後,它將令牌傳遞給其他使用者,一旦另一個使用者收到令牌,它就可以傳輸資料。在全雙工操作的情況下,資料傳輸不使用令牌。

會話釋放

要釋放會話連線,可以使用以下四種變體之一:

  • 使用者中止
  • 提供者中止
  • 有序釋放
  • 協商釋放

在使用者中止中,會話連線可以由任何一個使用者釋放,而不是中止。類似地,在提供者中止中,會話由提供者或提供者中止。使用者之間存在雙向互動;因此,在釋放連線之前,傳輸的資料將被傳遞到其目的地。

為了以這種方式釋放,任何使用者或提供者都可以請求釋放會話連線,而另一個使用者必須接受釋放。在協商釋放中,擁有釋放令牌的使用者可以啟動釋放會話連線的請求。另一個使用者可以根據條件和要求接受或拒絕會話釋放請求。如果被接受,則會話被釋放。

在使用者中止和提供者中止中,會話在未通知其他實體的情況下被中止,從而丟失傳輸資料。同時,有序釋放和協商釋放的情況並非如此。提供者中止發生在致命錯誤的情況下。

同步

同步確保在任何時間點會話服務使用者之間具有相同的互動狀態。如果發生錯誤或不一致,則會話實體將返回到已知狀態。提供此服務是因為傳輸層只遮蔽通訊錯誤,而不是上層錯誤。

為了實現這個目標,同步點被插入到互動中。傳送方插入一個序列號作為同步點,接收方透過傳送回序列號來確認接收。

它與確認不同,因為確認是指協議資料單元的接收。主同步點和次同步點用於將通訊例項構成對話單元或對話單元內。

前者立即得到確認,而後者可能不會。兩者都使用標準序列號,並且各自的令牌控制它們。

重新同步

有時需要將對話狀態恢復到先前定義的狀態。這被稱為反向同步或重新同步。會話層實體也提供它。

重新同步有三種選擇:設定、放棄和重新啟動。傳送會話使用者繼續持有資料以實現同步,只要它可能需要它。當發生重新同步時,所有令牌都將恢復到設定同步點時的原始位置。

活動管理

會話層允許使用者區分會話期間執行的活動。使用者可以將訊息流分割成邏輯單元。這些邏輯單元稱為活動,將訊息流分割成活動稱為活動管理。

報告

會話層的一個特性是其用於意外錯誤的報告功能。這是一種通用機制,如果使用者遇到問題,它允許向對等方報告問題。此報告同樣適用於使用者檢測到的錯誤、協議錯誤或其他一些意外錯誤。

更新於:2021年5月4日

2K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告