8.1 會(huì)話層
會(huì)話層的任務(wù)主要是在傳輸連接的基礎(chǔ)上提供增值服務(wù),對(duì)端用戶之間的對(duì)話進(jìn)行協(xié)調(diào)和管理。
會(huì)話層服務(wù)主要有兩大功能:一個(gè)是增強(qiáng)傳輸數(shù)據(jù)的結(jié)構(gòu)性;另一個(gè)是對(duì)兩個(gè)會(huì)話用戶之間的數(shù)據(jù)流進(jìn)行控制,這種控制不是以前講過的流量控制,而是對(duì)數(shù)據(jù)流方向的控制。
會(huì)話服務(wù)采用不同的方法為傳輸數(shù)據(jù)流加上需要的結(jié)構(gòu),第一種方法和同步點(diǎn)的使用有關(guān)。會(huì)話服務(wù)用戶之間的交互作用叫做對(duì)話( Dialogue ),用戶可以用主同步點(diǎn)把數(shù)據(jù)流分成一個(gè)一個(gè)的對(duì)話單位。在數(shù)據(jù)流中插入主同步點(diǎn)表示前一個(gè)對(duì)話單位的結(jié)束和下一個(gè)對(duì)話單位的開始。在對(duì)話單位中還可以再插入次同步點(diǎn),主次同步點(diǎn)統(tǒng)一編號(hào)。
會(huì)話層的主次同步點(diǎn)都是為了出錯(cuò)時(shí)重新取得同步,但是又有所區(qū)別。主次同步點(diǎn)的第一個(gè)差別是它們對(duì)數(shù)據(jù)交換過程的影響不同。主次同步點(diǎn)的第二個(gè)差別是對(duì)回退過程的影響不同。發(fā)送方?jīng)Q不會(huì)退回到最近確認(rèn)過的主同步點(diǎn)之前,而對(duì)次同步點(diǎn)就沒有這個(gè)限制,后退一個(gè)不行,就再后退一個(gè),直到重新取得同步。
第二種方法涉及到活動(dòng)( Activity )的概念?;顒?dòng)是對(duì)話單位的進(jìn)一步擴(kuò)展,由一個(gè)或多個(gè)連接的對(duì)話單位組成,以標(biāo)志活動(dòng)開始的主同步點(diǎn)打頭,以標(biāo)志活動(dòng)完成的主同步點(diǎn)結(jié)尾。在概念上,活動(dòng)代表工作的邏輯單位,每一個(gè)活動(dòng)完全獨(dú)立于在它之前或之后的其他活動(dòng)?;顒?dòng)的特點(diǎn)是可以被中斷,以后還可以恢復(fù)。
三種對(duì)話方式:單方向?qū)υ?、雙向交替對(duì)話和雙向同時(shí)對(duì)話。
OSI 會(huì)話層使用了四種令牌來控制對(duì)話,這四種命令牌是:數(shù)據(jù)令牌、次同步令牌、主同步 / 活動(dòng)令牌、釋放令牌。
建立會(huì)話連接時(shí)可以就會(huì)話中使用哪些令牌以及令牌的最初持有者進(jìn)行協(xié)商。令牌管理功能提供的服務(wù)允許一個(gè)用戶主動(dòng)交出令牌或是向另一處用戶索取令牌。
網(wǎng)絡(luò)層和傳輸層僅提供兩種數(shù)據(jù)傳送功能:正常數(shù)據(jù)傳送和加急數(shù)據(jù)傳送。由于會(huì)話數(shù)據(jù)流具有結(jié)構(gòu)性,所以會(huì)話層又增加了特權(quán)數(shù)據(jù)傳送功能和能力數(shù)據(jù)傳送功能。特權(quán)數(shù)據(jù)的發(fā)送不需要令牌,對(duì)話雙方?jīng)]有令牌也可以發(fā)送特權(quán)數(shù)據(jù)。特權(quán)數(shù)據(jù)流的真正目的是為高層控制報(bào)文和網(wǎng)絡(luò)管理提供帶外數(shù)據(jù)流。所謂能力數(shù)據(jù),也可用作控制目的,不過是為了會(huì)話層本身的控制。與特權(quán)數(shù)據(jù)不同的是它必須完全得到對(duì)方的確認(rèn)。能力數(shù)據(jù)只能在活動(dòng)之外(或兩個(gè)活動(dòng)之間的間隔中)發(fā)出,發(fā)送能力數(shù)據(jù)必須同時(shí)持有數(shù)據(jù)令牌、次同步令牌和主同步 / 活動(dòng)令牌。
對(duì)于一個(gè)具體的實(shí)現(xiàn),不必實(shí)現(xiàn) OSI 全部的 12 個(gè)會(huì)話服務(wù)功能,這 12 眾目功能單元可組合成三個(gè)服務(wù)子集:其中 一個(gè)子集是基本組合子集 BCS ( Basic Combined Subset ),除核心功能之外還有半雙工或全雙工操作,適合簡單應(yīng)用。第二個(gè)子集是基本同步子集 BSS ( Basic Synchronization Subset ),適合于 FTAM (文件傳輸、訪問和管理)應(yīng)用。最后一個(gè)子集是基本活動(dòng)子集 BAS ( Basic Activity Subset ),它使用有關(guān)活動(dòng)管理的功能單元,以保證可靠的報(bào)文傳輸,適合于電子郵件方面的應(yīng)用。
8.2 表示層
包含在 X.409 文件中的表示語法由 ISO 改編為 ASN.1 (抽象方法描述語法 Abstract Syntax Notation.1 )標(biāo)準(zhǔn)(即 ISO 2488 ),與之相配套的基本編碼規(guī)則 BER ( Basic Encoding Rule )包含在 ISO 8825 文件中。 ASN.1 用一種抽象的方法描述數(shù)據(jù),能描述各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(這一點(diǎn)更象 PASCAL )。這種對(duì)信息的抽象描述叫做抽象語法。抽象語法形成了各種端系統(tǒng)之間的共同語言。 BER 則負(fù)責(zé)把抽象語法表示的信息變成適合于傳輸?shù)谋忍亓鳌?BER 確定的一組規(guī)則叫做傳送語法。
用簡單類型構(gòu)造復(fù)雜數(shù)據(jù)結(jié)構(gòu)的手段是序列和集合。 ASN.1 不僅提供了表示抽象數(shù)據(jù)結(jié)構(gòu)的手段,而且給出了表示抽象數(shù)據(jù)類型的方法。
編碼規(guī)則:基本編碼規(guī)則 BER 中有各種方法,用來把 ASN.1 的抽象值編碼為字節(jié)串,這個(gè)字節(jié)串就叫做抽象值的傳送語法。編碼的基本原則是類型—長度—值三段式結(jié)構(gòu),簡稱 TLV ( Type — Length — Valune )結(jié)構(gòu)。
任何編碼的第一個(gè)字節(jié)都是起標(biāo)識(shí)類型的作用如( P175 圖 8.10 ),其中前兩位用于標(biāo)識(shí) 4 種標(biāo)簽(通用、應(yīng)用、上下文專用和用戶專用)。(見 P175~P177 例子)
標(biāo)簽值表示(圖 8.10 )的擴(kuò)充方法:用 5 位表示 0~30 的編碼,當(dāng)標(biāo)簽數(shù)值大于或等于 31 ( 2 5 )時(shí),這 5 位置全 1 ,作為轉(zhuǎn)義符,實(shí)際的數(shù)值編碼表示在后續(xù)字節(jié)中。后續(xù)字節(jié)的左邊第 1 位表示是否為最后一個(gè)擴(kuò)充字節(jié),只有最后一個(gè)擴(kuò)充字節(jié)的左邊第 1 位置 0 ,其他擴(kuò)充字節(jié)左邊第 1 位置 1 .如標(biāo)簽值 10110010101111001 編碼為: XXX 11111 1 0000101 1 1001010 0 1111001
對(duì)于長度字節(jié)的擴(kuò)充方法是:小于 127 的數(shù)用長度字節(jié)的右邊 7 位表示,最左邊的 1 位置 0 ;長度大于 127 的婁用后續(xù)的若干字節(jié)(最多 126 個(gè))表示,原來長度字節(jié)第 1 位置 1 ,其他 7 位表示后續(xù)的用于表示長度的字節(jié)數(shù)。例如十進(jìn)制 255 可表示為 1000 0001 1111 1111 .注意,對(duì)長度字節(jié)數(shù)的限制是 126 ,而不是 127 ,這意味著打頭的字節(jié)最大為 1111 1110 ,而不是 11111111 ,這個(gè)值是為以后的擴(kuò)充保留的。
表示層提供兩類服務(wù):第一類服務(wù)與會(huì)話有關(guān),另一類服務(wù)與信息的表示有關(guān)。
8.3 應(yīng)用層
應(yīng)用服務(wù)單元:應(yīng)用服務(wù)單元 ASE ( Application Service Element )就是各種應(yīng)用都需要的功能成分,是應(yīng)用層的基本構(gòu)件。把所有的 ASE 組織到一起,形成一個(gè)應(yīng)用子層,叫做公共應(yīng)用服務(wù)元素 CASE ( Common Application Service Element )。
三種比較實(shí)用的應(yīng)用層協(xié)議:虛擬終端協(xié)議、文件傳輸協(xié)議和電子郵件協(xié)議。
最主要的服務(wù)元素有四種:聯(lián)系控制服務(wù)元素 ACSE ,可靠傳輸服務(wù)元素 TRSE ,遠(yuǎn)程操作服務(wù)元素 ROSE 以及提交、并發(fā)和恢復(fù) CCR . ISO 定義的 ROSE 是比 RPC (遠(yuǎn)程過程調(diào)用)更通用的機(jī)制,主要用于網(wǎng)絡(luò)管理、報(bào)文處理系統(tǒng)和目錄服務(wù)。
提交、并發(fā)恢復(fù) CCR : CCR 服務(wù)元素提供了分布式事務(wù)處理或處置( Transaction )的能力。在分布式環(huán)境中,對(duì)數(shù)據(jù)庫進(jìn)行更新操作的同時(shí)要保持和維護(hù)數(shù)據(jù)的完整性和一致性,使之不受系統(tǒng)和通訊設(shè)備失效的影響,這時(shí)就必須使用 CCR 。
CCR 處置操作的特點(diǎn):原子性、一致性、隔離性、持久性。
在有并發(fā)操作的情況下,兩階段提交實(shí)在是必要的,是恢復(fù)機(jī)制的組成部分。例如:銀行轉(zhuǎn)賬就是這種情況,一方從賬面減去一定金額;另一方必須在賬面加上同樣的金額。
CCR 服務(wù)可以按照主從次序嵌套為樹結(jié)構(gòu),叫做原子作用樹。
虛擬終端協(xié)議:
如果一個(gè)用戶希望通過網(wǎng)絡(luò)訪問各種不同類型的主機(jī),他就需要利用虛擬終端協(xié)議 VTP ( Virtual Terminal Protocol )。
通常把終端分為四大類,分別制定各自的標(biāo)準(zhǔn):滾動(dòng)式終端、頁面式終端、表格式終端、圖形式終端。
基本類虛擬終端 BCVT ( Basic Class Virtual Ternimal )的特點(diǎn): BCVT 是面向字符的終端; BCVT 的信息結(jié)構(gòu)是用面向?qū)ο蟮姆椒ǘx的。 BCVT 的對(duì)象有顯示對(duì)象、設(shè)備對(duì)象和控制對(duì)象。 BCVT 服務(wù)還提供了提交控制機(jī)制,這種機(jī)制允許一邊的服務(wù)用戶控制對(duì)另一邊用戶提交數(shù)據(jù)的時(shí)機(jī)。 BCVT 提供的另外一個(gè)功能是中斷功能,該功能使得 VT 用戶在數(shù)據(jù)傳輸階段能中止中一方操作。
在一個(gè) VT 環(huán)境中的所有對(duì)象構(gòu)成了可由通信雙方共享的概念通信區(qū) CCA ( Conceptual Communication Area )。
BCVT 服務(wù)支持兩種操作方式:同步方式和異步方式。
BCVT 標(biāo)準(zhǔn)定義的提交控制有三種:無提交控制、簡單提交控制、隔離提交控制。
文件傳輸協(xié)議
ISO 8571 文件規(guī)定的文件傳送、訪問和管理標(biāo)準(zhǔn) FTAM ( File Transfer ,Access,and Management )。主要由三部分組成:虛擬文件的定義、文件服務(wù)定義和文件協(xié)議規(guī)范。
從四個(gè)方面描述文件的結(jié)構(gòu):文件存取結(jié)構(gòu)、表示結(jié)構(gòu)、傳輸結(jié)構(gòu)、標(biāo)識(shí)結(jié)構(gòu)。
虛擬文件可以用兩類屬性描述:一類是文件屬性,另一類是活動(dòng)屬性。
FTAM 把文件屬性分為三組:核心屬性、存儲(chǔ)屬性、安全屬性。
作用于文件上的操作在 ISO 文件中叫做作用( action )。有些作用可施加于整個(gè)文件,這些作用與文件管理有關(guān);有些作用只施加于文件的組成成分,這些作用與文件的存取有關(guān)。
電子郵件協(xié)議
CCITT 的 X.400 系列建議提出的報(bào)文處理系統(tǒng) MHS ( Message Handing System )使得 OSI 通信系統(tǒng)的用戶之間的消息交換有了統(tǒng)一的標(biāo)準(zhǔn)。
MHS 的功能模型包含了報(bào)文自理系統(tǒng)的主要功能元素。報(bào)文傳輸系統(tǒng) MTS ( Message Transfer System )由一些互連的報(bào)文傳輸代理 MTA ( Message Transfer Agent )組成。 MTA 接受用戶代理 UA(User Agent) 提交的報(bào)文,把它傳送給目的端 MTA .報(bào)文在網(wǎng)絡(luò)中經(jīng)過多次存儲(chǔ)—轉(zhuǎn)發(fā),最后由目的端的 MTA 投遞給 UA 或者被存放在目的端的報(bào)文 MS ( Message Store )。在一般情況下, UA 置于用戶個(gè)人計(jì)算機(jī)終端上, MTA 置于通訊公司的大型機(jī)器上。
MHS 服務(wù)分成四類:報(bào)文傳輸服務(wù)、個(gè)人間報(bào)文通信服務(wù)、報(bào)文存儲(chǔ)服務(wù)和物理投遞服務(wù)。
習(xí)題:
試說明會(huì)話層中的會(huì)話、活動(dòng)、對(duì)話單元和主、次同步點(diǎn)之間的關(guān)系。
答: P158~159 圖 8.1 和圖 8.2
三種對(duì)話模式各適應(yīng)于哪些場合?
答:三種對(duì)模式即單方向?qū)υ?、雙向交替對(duì)話和雙向同時(shí)對(duì)話。單方向?qū)υ掃m合于不需要特別管理數(shù)據(jù)流的網(wǎng)絡(luò),數(shù)據(jù)只在一個(gè)方向流動(dòng)。雙向同時(shí)對(duì)話也適用于不需要特別管理數(shù)據(jù)流的網(wǎng)絡(luò),但在對(duì)話前需要雙方協(xié)商好,即雙工操作。雙向交替對(duì)話的應(yīng)用范圍最廣,即所有的請求 / 應(yīng)答系統(tǒng)都是采用雙向交替對(duì)話模式。
抽象語法與傳送語法的關(guān)系如何?為什么要使用兩種不同的語法?
答:抽象語法的作用是描述要交換的信息,而傳送語法則是把抽象語法表示的信息轉(zhuǎn)換成適合于傳輸?shù)谋忍亓?。只有兩種不同的語法互相配合使用才能既清楚地表達(dá)信息又能夠進(jìn)行合理地傳輸。
用 ASN.1 基本編碼規(guī)則對(duì)以下三種情況進(jìn)行編碼,高設(shè)長度字段 L 為
18 字節(jié);(小于 127 )則編碼: 00010010
180 字節(jié);(大于 127 )則編碼: 10000001 00110100
1048 字節(jié)。(大于 127 )則編碼: 10000010 00000000 00011000
應(yīng)用服務(wù)元素可以分為哪幾種?每種應(yīng)用服務(wù)元素的作用是什么?
答:最主要的服務(wù)元素有四種:聯(lián)系控制服務(wù)元素 ACSE ,可靠傳輸服務(wù)元素 TRSE ,遠(yuǎn)程操作服務(wù)元素 ROSE 以及提交、并發(fā)和恢復(fù) CCR。
ACSE 是管理應(yīng)用聯(lián)系的功能模塊,任何應(yīng)用都必須使用它。 RTSE 提供可靠的數(shù)據(jù)輿當(dāng)傳輸一個(gè)很長的文件時(shí),這種服務(wù)元素是必要的。 ISO 定義的 ROSE 是比 RPC (遠(yuǎn)程過程調(diào)用)更通用的機(jī)制,主要用于網(wǎng)絡(luò)管理、報(bào)文處理系統(tǒng)和目錄服務(wù)。提交、并發(fā)和恢復(fù) CCR 適用于分布式環(huán)境。
電子郵件和文件傳送有什么區(qū)別?電子郵件系統(tǒng)由哪些部分組成? MHS 可提供哪些服務(wù)?
答:電子郵件系統(tǒng)由報(bào)文傳輸系統(tǒng) MTS 、報(bào)文傳輸代理 MTA 、報(bào)文庫 MS 、用戶代理 UA 和用戶終端組成。 MHS 服務(wù)分成四類:報(bào)文傳輸服務(wù)、個(gè)人間報(bào)文通信服務(wù)、報(bào)文存儲(chǔ)服務(wù)和物理投遞服務(wù)。