3.5.2會話層
會話層在運輸層提供的服務(wù)上,加強了會話管理、同步和活動管理等功能。
1.實現(xiàn)會話連接到運輸連接的映射
會話層的主要功能是提供建立連接并有序傳輸數(shù)據(jù)的一種方法,這種連接就叫做會話(Session)。會話可以使一個遠(yuǎn)程終端登錄到遠(yuǎn)地的計算機,進(jìn)行文件傳輸或進(jìn)行其它的應(yīng)用。
會話連接建立的基礎(chǔ)是建立運輸連接,只有當(dāng)運輸連接建立好之后,會話連接才能依賴于它而建立。會話與運輸層的連接有三種對應(yīng)關(guān)系。一種是一對一的關(guān)系,即在會話層建立會話時,必須建立一個運輸連接,當(dāng)會話結(jié)束時,這個運輸連接也被釋放。另一種是多對一的關(guān)系,例如在多顧客系統(tǒng)中,一個客戶所建立的一次會話結(jié)束后,又有另一顧客要求建立另一個會話,此時運載這些會話的運輸連接沒有必要不停地建立和釋放,但在同一時刻,一個運輸連接只能對應(yīng)一個會話連接。第三種是一對多的關(guān)系,若運輸連接建立后中途失效,此時會話層可以重新建立一個運輸連接而不用廢棄原有的會話,當(dāng)新的運輸連接建立后,原來的會話可以繼續(xù)下去。
2.會話連接的釋放
會話連接的釋放不同于運輸連接的釋放,它采用有序釋放方式,也即使用完全的握手,包括請求、指示、響應(yīng)和確認(rèn)原語,只有雙方同意,會話才終止。這種釋放方式不會丟失數(shù)據(jù)。對于異常原因,會話層也可以不經(jīng)協(xié)商立即釋放,但這樣可能會丟失數(shù)據(jù)。
3.會話層管理
與其它各層一樣,兩個會話實體之間的交互活動都需要協(xié)調(diào)、管理和控制。會話服務(wù)的獲得是執(zhí)行會話層協(xié)議的結(jié)果,會話層協(xié)議支持并管理同等對接會話實體之間的數(shù)據(jù)交換。由于會話往往是由一系列交互對話組成的,所以對話的次序、對話的進(jìn)展情況必須加以控制和管理。在會話層管理中考慮了令牌與對話管理、活動與對話單元以及同步與重新同步等措施。
(1)令牌和對話管理。從原理上說,所有OSI的連接都是全雙工的。但在許多情況下,高層軟件為方便起見往往設(shè)計成半雙工交互式通信。例如,遠(yuǎn)程終端訪問一個數(shù)據(jù)庫管理系統(tǒng),往往是發(fā)出一個查詢,然后等待回答,要么輪到用戶發(fā)送,要么輪到數(shù)據(jù)庫發(fā)送,保持這種輪換并強制實行的過程就叫做對話管理。實現(xiàn)對話管理的方法是使用數(shù)據(jù)令牌(DataToken),令牌是會話連接的一個屬性,它表示了會話服務(wù)用戶對某種服務(wù)的獨占使用權(quán),只有握有令牌的用戶可以發(fā)送數(shù)據(jù),另一方必須保持沉默。令牌可在某一時刻動態(tài)地分配給一個會話服務(wù)用戶,該用戶用完后又可重新分配。所以,令牌是一種非共享的OSI資源。
(2)活動與對話單元。會話服務(wù)用戶之間的合作可以劃分為不同的邏輯單位,每一個邏輯單位稱為一個活動(Activity),每個活動的內(nèi)容具有相對的完整性和獨立性。在任一時刻,一個會話連接只能為一個活動所使用,但允許某個活動跨越多個會話連接。另外二可以允許有多個活動順序地使用一個會話連接,但在使用上不允許重疊。活動與會話連接的關(guān)系可以用電話用戶與電話線路的連接關(guān)系來說明,一對撥通的電話相當(dāng)于一個會話連接,使用這對電話線通話的用戶進(jìn)行的對話相當(dāng)于活動。顯然一個電話任一時刻只能供一個人使用,即支持一個活動。然而,當(dāng)一對用戶通完話后可不掛斷電話,讓后續(xù)需要同一電話線路連接的人接著使用,這就相當(dāng)于一個會話連接順序地供多個活動使用。若在通話過程中線路出現(xiàn)故障引起中斷,則需要重新再接通電話繼續(xù)對話,這就相當(dāng)于一個活動跨越了多個連接。
對話單元是一個活動中數(shù)據(jù)的基本交換單元,通常代表邏輯上重要的工作部分。在活動中,存在一系列的交互通話,每個單向的連接通信動作所傳輸?shù)臄?shù)據(jù)就構(gòu)成一個對話單元。
(3)同步與重新同步。會話層的另一個服務(wù)是同步。所謂同步就是使會話服務(wù)用戶對會話的進(jìn)展情況有一致的了解,在會話被中斷后可以從中斷處繼續(xù)下去,而不必從頭恢復(fù)會話。這種對會話進(jìn)程的了解是通過設(shè)置同步點來獲得的。會話層允許會話用戶在傳輸?shù)臄?shù)據(jù)中自由設(shè)置同步點,并對每個同步點賦予同步序號,用以識別和管理同步點。這些同步點是插在用戶數(shù)據(jù)流中一起傳輸給對方的。當(dāng)接收方通知發(fā)送方它收到一個同步點時,發(fā)送方就可確信接收方已將此同步點之前發(fā)送的數(shù)據(jù)全部收妥。 會話層中定義了兩類同步點。主同步點用于在連續(xù)的數(shù)據(jù)流中劃分出對話單元,一個主同步點是一個對話單元的結(jié)束和下一個對話單元的開始;次同步點用于在一個對話單元內(nèi)部實現(xiàn)數(shù)據(jù)結(jié)構(gòu)化。主同步點與次同步點有一些不同,在重新同步時,只可能回到最近的主同步點;每一個插入數(shù)據(jù)流中的主同步點都被明確地確認(rèn),而次同步點不被確認(rèn)。
4.會話服務(wù)
會話層可以向用戶提供許多服務(wù),為使兩個會話服務(wù)用戶在會話建立階段能協(xié)商所需的服務(wù),將服務(wù)分成若干個功能單元。通用的功能單元包括:
(1)核心功能單元,提供連接管理和全雙工數(shù)據(jù)傳輸?shù)幕竟δ?
(2)協(xié)商釋放功能單元,提供有次序的釋放服務(wù);
(3)半雙工功能單元,提供單向數(shù)據(jù)傳輸;
(4)同步功能單元,在會話連接期間提供同步或重新同步;
(5)活動管理功能單元,提供對話活動的識別、開始、結(jié)束、暫停和重新開始等;
(6)異常報告功能單元,在會話連接期間提供異常情況報告。
上述所有功能的執(zhí)行均有相應(yīng)的用戶服務(wù)原語,每一種原語類型都可能具有請求、指示、響應(yīng)和確認(rèn)四種形式。
5.OSI會話協(xié)議
OSI的會話層協(xié)議填補了運輸層所提供的服務(wù)與會話用戶所要求的服務(wù)之間的縫隙。話服務(wù)提供了各種與數(shù)據(jù)交換的管理和構(gòu)造有關(guān)的服務(wù)。會話協(xié)議含有34種會話協(xié)議數(shù)據(jù)單元的類型,會話協(xié)議數(shù)據(jù)單元與會話服務(wù)原語之間具有相對簡單的映像關(guān)系,大多數(shù)服務(wù)原語導(dǎo)致會話協(xié)議實體產(chǎn)生并發(fā)送一個相應(yīng)的會話協(xié)議數(shù)據(jù)單元。
會話層在運輸層提供的服務(wù)上,加強了會話管理、同步和活動管理等功能。
1.實現(xiàn)會話連接到運輸連接的映射
會話層的主要功能是提供建立連接并有序傳輸數(shù)據(jù)的一種方法,這種連接就叫做會話(Session)。會話可以使一個遠(yuǎn)程終端登錄到遠(yuǎn)地的計算機,進(jìn)行文件傳輸或進(jìn)行其它的應(yīng)用。
會話連接建立的基礎(chǔ)是建立運輸連接,只有當(dāng)運輸連接建立好之后,會話連接才能依賴于它而建立。會話與運輸層的連接有三種對應(yīng)關(guān)系。一種是一對一的關(guān)系,即在會話層建立會話時,必須建立一個運輸連接,當(dāng)會話結(jié)束時,這個運輸連接也被釋放。另一種是多對一的關(guān)系,例如在多顧客系統(tǒng)中,一個客戶所建立的一次會話結(jié)束后,又有另一顧客要求建立另一個會話,此時運載這些會話的運輸連接沒有必要不停地建立和釋放,但在同一時刻,一個運輸連接只能對應(yīng)一個會話連接。第三種是一對多的關(guān)系,若運輸連接建立后中途失效,此時會話層可以重新建立一個運輸連接而不用廢棄原有的會話,當(dāng)新的運輸連接建立后,原來的會話可以繼續(xù)下去。
2.會話連接的釋放
會話連接的釋放不同于運輸連接的釋放,它采用有序釋放方式,也即使用完全的握手,包括請求、指示、響應(yīng)和確認(rèn)原語,只有雙方同意,會話才終止。這種釋放方式不會丟失數(shù)據(jù)。對于異常原因,會話層也可以不經(jīng)協(xié)商立即釋放,但這樣可能會丟失數(shù)據(jù)。
3.會話層管理
與其它各層一樣,兩個會話實體之間的交互活動都需要協(xié)調(diào)、管理和控制。會話服務(wù)的獲得是執(zhí)行會話層協(xié)議的結(jié)果,會話層協(xié)議支持并管理同等對接會話實體之間的數(shù)據(jù)交換。由于會話往往是由一系列交互對話組成的,所以對話的次序、對話的進(jìn)展情況必須加以控制和管理。在會話層管理中考慮了令牌與對話管理、活動與對話單元以及同步與重新同步等措施。
(1)令牌和對話管理。從原理上說,所有OSI的連接都是全雙工的。但在許多情況下,高層軟件為方便起見往往設(shè)計成半雙工交互式通信。例如,遠(yuǎn)程終端訪問一個數(shù)據(jù)庫管理系統(tǒng),往往是發(fā)出一個查詢,然后等待回答,要么輪到用戶發(fā)送,要么輪到數(shù)據(jù)庫發(fā)送,保持這種輪換并強制實行的過程就叫做對話管理。實現(xiàn)對話管理的方法是使用數(shù)據(jù)令牌(DataToken),令牌是會話連接的一個屬性,它表示了會話服務(wù)用戶對某種服務(wù)的獨占使用權(quán),只有握有令牌的用戶可以發(fā)送數(shù)據(jù),另一方必須保持沉默。令牌可在某一時刻動態(tài)地分配給一個會話服務(wù)用戶,該用戶用完后又可重新分配。所以,令牌是一種非共享的OSI資源。
(2)活動與對話單元。會話服務(wù)用戶之間的合作可以劃分為不同的邏輯單位,每一個邏輯單位稱為一個活動(Activity),每個活動的內(nèi)容具有相對的完整性和獨立性。在任一時刻,一個會話連接只能為一個活動所使用,但允許某個活動跨越多個會話連接。另外二可以允許有多個活動順序地使用一個會話連接,但在使用上不允許重疊。活動與會話連接的關(guān)系可以用電話用戶與電話線路的連接關(guān)系來說明,一對撥通的電話相當(dāng)于一個會話連接,使用這對電話線通話的用戶進(jìn)行的對話相當(dāng)于活動。顯然一個電話任一時刻只能供一個人使用,即支持一個活動。然而,當(dāng)一對用戶通完話后可不掛斷電話,讓后續(xù)需要同一電話線路連接的人接著使用,這就相當(dāng)于一個會話連接順序地供多個活動使用。若在通話過程中線路出現(xiàn)故障引起中斷,則需要重新再接通電話繼續(xù)對話,這就相當(dāng)于一個活動跨越了多個連接。
對話單元是一個活動中數(shù)據(jù)的基本交換單元,通常代表邏輯上重要的工作部分。在活動中,存在一系列的交互通話,每個單向的連接通信動作所傳輸?shù)臄?shù)據(jù)就構(gòu)成一個對話單元。
(3)同步與重新同步。會話層的另一個服務(wù)是同步。所謂同步就是使會話服務(wù)用戶對會話的進(jìn)展情況有一致的了解,在會話被中斷后可以從中斷處繼續(xù)下去,而不必從頭恢復(fù)會話。這種對會話進(jìn)程的了解是通過設(shè)置同步點來獲得的。會話層允許會話用戶在傳輸?shù)臄?shù)據(jù)中自由設(shè)置同步點,并對每個同步點賦予同步序號,用以識別和管理同步點。這些同步點是插在用戶數(shù)據(jù)流中一起傳輸給對方的。當(dāng)接收方通知發(fā)送方它收到一個同步點時,發(fā)送方就可確信接收方已將此同步點之前發(fā)送的數(shù)據(jù)全部收妥。 會話層中定義了兩類同步點。主同步點用于在連續(xù)的數(shù)據(jù)流中劃分出對話單元,一個主同步點是一個對話單元的結(jié)束和下一個對話單元的開始;次同步點用于在一個對話單元內(nèi)部實現(xiàn)數(shù)據(jù)結(jié)構(gòu)化。主同步點與次同步點有一些不同,在重新同步時,只可能回到最近的主同步點;每一個插入數(shù)據(jù)流中的主同步點都被明確地確認(rèn),而次同步點不被確認(rèn)。
4.會話服務(wù)
會話層可以向用戶提供許多服務(wù),為使兩個會話服務(wù)用戶在會話建立階段能協(xié)商所需的服務(wù),將服務(wù)分成若干個功能單元。通用的功能單元包括:
(1)核心功能單元,提供連接管理和全雙工數(shù)據(jù)傳輸?shù)幕竟δ?
(2)協(xié)商釋放功能單元,提供有次序的釋放服務(wù);
(3)半雙工功能單元,提供單向數(shù)據(jù)傳輸;
(4)同步功能單元,在會話連接期間提供同步或重新同步;
(5)活動管理功能單元,提供對話活動的識別、開始、結(jié)束、暫停和重新開始等;
(6)異常報告功能單元,在會話連接期間提供異常情況報告。
上述所有功能的執(zhí)行均有相應(yīng)的用戶服務(wù)原語,每一種原語類型都可能具有請求、指示、響應(yīng)和確認(rèn)四種形式。
5.OSI會話協(xié)議
OSI的會話層協(xié)議填補了運輸層所提供的服務(wù)與會話用戶所要求的服務(wù)之間的縫隙。話服務(wù)提供了各種與數(shù)據(jù)交換的管理和構(gòu)造有關(guān)的服務(wù)。會話協(xié)議含有34種會話協(xié)議數(shù)據(jù)單元的類型,會話協(xié)議數(shù)據(jù)單元與會話服務(wù)原語之間具有相對簡單的映像關(guān)系,大多數(shù)服務(wù)原語導(dǎo)致會話協(xié)議實體產(chǎn)生并發(fā)送一個相應(yīng)的會話協(xié)議數(shù)據(jù)單元。