第8章 高層協(xié)議_第1頁
第8章 高層協(xié)議_第2頁
第8章 高層協(xié)議_第3頁
第8章 高層協(xié)議_第4頁
第8章 高層協(xié)議_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 第第8章章 高層協(xié)議高層協(xié)議 8.1 會話層會話層8.2 表示層表示層8.3 應(yīng)用層應(yīng)用層 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 8.1 會話層會話層 8.1.1 會話層的基本概念 會話層基本上是一個工具箱, 有些是為現(xiàn)代計算機(jī)應(yīng)用準(zhǔn)備的, 有些是為了與以前的智能用戶電報標(biāo)準(zhǔn)兼容而準(zhǔn)備的。 按照OSI的術(shù)語, 每一個工具叫做一個功能單元, 在建立會話連接時可協(xié)商要使用的功能單元。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 會話服務(wù)采用不同的方法為傳輸數(shù)據(jù)流加上需要的結(jié)構(gòu), 第一種方法和同步點(diǎn)的使用有關(guān)。 會話服務(wù)用戶之間的交互作用叫做對話(dialogue), 用戶可以用主同步點(diǎn)把數(shù)據(jù)流分

2、成一個一個的對話單位。 第二種方法涉及到活動(activity)的概念。 活動是對話單位的進(jìn)一步擴(kuò)展, 由一個或多個連接的對話單位組成, 以標(biāo)志活動開始的主同步點(diǎn)打頭, 以標(biāo)志活動完成的主同步點(diǎn)結(jié)尾。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.1 會話單位 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 例如傳送一個文件的過程中要進(jìn)行系統(tǒng)維護(hù), 可發(fā)出活動中斷請求, 等維護(hù)工作完成后可繼續(xù)傳送被中斷了的文件。 當(dāng)然會話層在中斷后恢復(fù)時要記得斷點(diǎn)處的序號, 而會話用戶則必須保存斷點(diǎn)后的文件內(nèi)容。 活動, 對話單位和同步點(diǎn)把會話數(shù)據(jù)流劃分成了三級結(jié)構(gòu), 如圖8.2所示。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.2 活動, 對話單

3、位和同步點(diǎn) 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 OSI會話層使用了四種令牌來控制對話, 這四種命令牌是: (1) 數(shù)據(jù)令牌: 用于管理數(shù)據(jù)流的方向, 只有數(shù)據(jù)令牌的擁有者才可以發(fā)送數(shù)據(jù), 這種令牌在雙向交替對話中使用; (2) 次同步令牌: 這種令牌的持有者可以設(shè)置次同步點(diǎn); (3) 主同步/活動令牌: 用于對設(shè)置主同步點(diǎn)和建立活動的權(quán)力進(jìn)行管理; (4) 釋放令牌: 是釋放會話連接的權(quán)力的代表, 這種令牌的擁有者可以啟動釋放過程。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 建立會話連接時可以就會話中使用哪些令牌以及令牌的最初持有者進(jìn)行協(xié)商, 令牌的擁有權(quán)可以在兩個會話用戶之間易手, 令牌管理功能提供的服務(wù)允許一個

4、用戶主動交出令牌或是向另一處用戶索取令牌。 圖8.3就是利用數(shù)據(jù)令牌進(jìn)行雙向交替數(shù)據(jù)傳送的例子。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.3 雙向交替對話 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 所謂能力數(shù)據(jù), 也用作控制目的, 不過是為了會話層本身的控制, 例如在會話期間改變會話的功能和參數(shù), 與特權(quán)數(shù)據(jù)不同的是它必須完全得到對方的確認(rèn)。 能力數(shù)據(jù)只能在活動之外(或兩個活動之間的間隔中)發(fā)出(如圖8.4所示), 發(fā)送能力數(shù)據(jù)必須同時持有數(shù)據(jù)令牌, 次同步令牌和主同步/活動令牌。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.4 能力數(shù)據(jù)的傳送 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 8.1.2 會話層服務(wù)的定義; ISO文件把會話層

5、服務(wù)總結(jié)為以下幾個部分: (1) 建立會話連接, 以同步的方式交換數(shù)據(jù), 以有序的方式釋放連接; (2) 協(xié)商用令牌交換數(shù)據(jù), 按半雙工方式操作, 通過令牌同步和釋放連接; (3) 在對話中建立同步點(diǎn), 在出現(xiàn)差錯時從指定的同步點(diǎn)處恢復(fù)對話; (4) 必要時可中斷對話, 隨后再恢復(fù)對話。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 1. 正常數(shù)據(jù)傳送原語 會話連接建立后, 可以用正常數(shù)據(jù)傳送原語來發(fā)送數(shù)據(jù), 這種原語最簡單, 只有兩條, 參數(shù)只有用戶數(shù)據(jù)一項(xiàng), 如表81所示。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 81 正常數(shù)據(jù)傳送原語計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 2. 會話連接建立原語 會話連接的建立過程涉及連接屬性

6、的協(xié)商, 接收方必須應(yīng)答, 表示同意或不同意發(fā)送方的建議, 因此這種服務(wù)原語有4條, 參數(shù)也很多, 如表82所示。四種形式的連接原語具有同樣的參數(shù)集合, 當(dāng)然有些參數(shù)是可選的, 有些參數(shù)是必要的, 所有參數(shù)列在表83中, 下面將解釋這些參數(shù)的意義和用法。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 82 會話連接建立原語計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 83 SCONNECT原語的參數(shù) 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 3. 置次同步點(diǎn)原語 發(fā)送用戶可以用這種原語在數(shù)據(jù)流中插入次同步點(diǎn), 次同步點(diǎn)的序號由原語中的序號參數(shù)指定, 次同步點(diǎn)可以是要求確認(rèn)的或非確認(rèn)的, 由類型參數(shù)指明, 其中的用戶數(shù)據(jù)部分是任選的。 次

7、同步點(diǎn)原語如表84所示。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 84 置次同步點(diǎn)原語計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 4. 重同步原語 這種原語也是確認(rèn)型的, 共4條, 表示在表85中。 會話用戶可以用這種原語把對話過程退回到一個預(yù)定的狀態(tài)。 參數(shù)重同步類型可取三個值之一: “廢棄”(abandon)就是放棄當(dāng)前的對話, 這時其他參數(shù)的值就沒有意義了; “重啟動”(restart)和“設(shè)置”(set)都是指退回到以前的某個同步點(diǎn)上, 但又有所不同。 重啟動點(diǎn)不能早于最后一次被確認(rèn)的主同步點(diǎn), 而設(shè)置可以適用于任何有效的同步點(diǎn)。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 85 重同步原語計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 5.

8、 有序釋放原語 有序釋放原語是核心功能之一, 用戶可隨時用這種原語釋放會話連接而不致丟失數(shù)據(jù)。 這種原語表示在表86中。 表 86 有序釋放原語 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 結(jié)果僅用于響應(yīng)和確認(rèn)原語, 表示請求是否得到接收方同意, 所以這個參數(shù)只有兩個值, yes或no。 接收方拒絕釋放連接的原因只能是請求方?jīng)]有釋放令牌。 會話層服務(wù)的全部56種原語分成21個服務(wù)元素, 每種服務(wù)元素提供一種服務(wù)。 這21種服務(wù)元素包括的原語及用途列在表87中。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 87 會話層服務(wù)元素 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 21種服務(wù)元素可組成12個功能單元, 這是

9、為了在建立會話連接時便于協(xié)商而進(jìn)行的服務(wù)功能劃分, 每個功能單元都能完成某種有意義的會話服務(wù)。 12個功能單元列在表88中, 其中核心功能是不可協(xié)商的, 任何會話服務(wù)都必須有核心功能, 其他功能單元由會話雙方協(xié)商確定。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 88 會話功能單元 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 8.1.3 會話協(xié)議 會話協(xié)議的作用是在下層傳輸服務(wù)的基礎(chǔ)上組織和管理數(shù)據(jù)交換, 對上提供各種會話服務(wù)。 初看起來, 會話協(xié)議是很復(fù)雜的, 例如會話協(xié)議數(shù)據(jù)單元有36種, 而傳輸協(xié)議數(shù)據(jù)單元只有10種。 造成這種復(fù)雜性的原因是會話協(xié)議標(biāo)準(zhǔn)是ISO和CCITT等多方貢獻(xiàn)的混

10、合物, 設(shè)計得不夠嚴(yán)謹(jǐn)。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 1. 會話協(xié)議數(shù)據(jù)單元(SPDU) 全部36種SPDU列在表89中, 大部分SPDU是會話服務(wù)原語對的一對一映象, 即對應(yīng)每一個請求指示原語對或響應(yīng)確認(rèn)原語對就有一個SPDU。 當(dāng)然也有一些例外, 例如對有些請求可能有不同的響應(yīng)(接受或拒絕), 因而相應(yīng)的響應(yīng)確認(rèn)原語就表現(xiàn)為不同的SPDU。 另外, 如果對傳輸服務(wù)數(shù)據(jù)單元的長度做了規(guī)定, 會話協(xié)議就必須把會話數(shù)據(jù)分段組成更小的傳輸塊, 因而就有了多個會話協(xié)議數(shù)據(jù)單元, 其中第一個SPDU用數(shù)據(jù)溢出參數(shù)指明后邊還有溢出SPDU。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 89 會話協(xié)議數(shù)據(jù)單元 計算機(jī)網(wǎng)

11、絡(luò)第8章 高層協(xié)議 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表89中的大部分術(shù)語意義是清楚的, 只有個別的需要解釋。 有關(guān)SPDU參數(shù)的解釋如下: 連接ID: 會話連接標(biāo)識符(ID)由主呼方和被呼方用戶各定義一部分。 協(xié)議選擇: 選擇是否能接收擴(kuò)展的級連SPDU。 最大TSDU長度: 這也是最大SPDU長度或級連的SPDU長度。 版本號: 會話協(xié)議有兩個版本, 第1版限制用戶數(shù)據(jù)不超過512字節(jié), 第2版取消了這個限制。 初始序號, 序號: 都是指主/次同步點(diǎn)的序號。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 用戶需求: 會話連接中使用的功能單元表。 數(shù)據(jù)溢出: 當(dāng)用戶數(shù)據(jù)超過10 240字節(jié)

12、時設(shè)置這個標(biāo)志。 封裝項(xiàng): 當(dāng)SSDU被分段時要用這個參數(shù), 指出當(dāng)前的SPDU是起始段, 中間段或結(jié)束段。 傳輸層斷連: 指示在會話連接終止后是否斷開傳輸連接。 錯誤碼: 由具體實(shí)現(xiàn)定義的協(xié)議錯誤代碼。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 2. 會話協(xié)議格式 通常的協(xié)議參數(shù)都具有三個特征: 類型, 長度和值, 而且大部分協(xié)議的參數(shù)長度是固定的, 類型由固定的字段表示, 因而協(xié)議的格式就很規(guī)整而簡明。 但是會話協(xié)議的格式不是這樣, 其參數(shù)的多少變化很大, 任選項(xiàng)很多, 因而協(xié)議格式就顯得不合理的復(fù)雜。 雖然實(shí)際交換的協(xié)議格式可能非常復(fù)雜, 但編碼規(guī)則卻只有一條, 即用類型長度值三段式編碼表示一個參數(shù)。

13、計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.5 具有單個參數(shù)單元的SPDU格式 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖8.6是具有一個參數(shù)組的SPDU的例子, 其中的參數(shù)組由兩個參數(shù)單元組成。 一個SPDU可以含有多個參數(shù)組, 或一個參數(shù)組和多個參數(shù), 這些SPDU的格式都是以上兩種格式的拓廣。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.6 具有單個參數(shù)組的SPDU格式 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.7 會話連接與傳輸連接的映象 (a) 一對一; (b) 多對一; (c) 一對多 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 8.2 表示層表示層 8.2.1 表示層的基本概念 為了說明信息表示的問題, 我們把通信系統(tǒng)想像成圖8.

14、8所示的模型。 在這個模型中通過網(wǎng)絡(luò)互連的端系統(tǒng)被分成兩部分: 應(yīng)用元素和傳輸元素。 應(yīng)用元素包括OSI模型中的應(yīng)用層, 主要關(guān)系到信息的表示和加工, 而傳輸元素包括表示層以及以下的各個功能層, 主要關(guān)系到可靠有序地傳輸比特流。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.8 關(guān)于信息表示的通信系統(tǒng)模型 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 8.2.2 抽象語法表示ASN.1; ASN.1和BER雖然包含在不同的ISO文件中, 但人們通常把二者作為一個標(biāo)準(zhǔn)討論。 所以這一小節(jié)包含兩部分內(nèi)容: 首先介紹如何用ASN.1定義抽象語法, 然后說明對抽象語法如何編碼, 即如何形成對應(yīng)的傳送語法。 1. 抽象語法的定義

15、ASN.1是一種描述抽象數(shù)據(jù)類型的形式語言, 它有嚴(yán)格的BNF定義, 我們不想全面研究ASN.1的定義, 只介紹它的一些基本概念, 然后用例子說明ASN.1定義的一個抽象語法。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 ASN.1的基本構(gòu)件是模塊, 一種抽象數(shù)據(jù)類型可以用ASN.1定義成一個模塊, 這個模塊描述了抽象數(shù)據(jù)類型的抽象語法。 模塊可以用名字來引用, 模塊名也是它定義的抽象語法的名字。 ASN.1描述抽象數(shù)據(jù)類型的方法與高級程序設(shè)計語言定義數(shù)據(jù)結(jié)構(gòu)的方法類似。 ASN.1定義了若干種簡單類型, 也提供了由簡單類型構(gòu)造復(fù)雜數(shù)據(jù)結(jié)構(gòu)的手段。 在研究ASN.1的類型定義之前我們先介紹ASN.1的詞匯規(guī)則。

16、 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 具體地說ASN.1有以下關(guān)于詞匯的約定: (1) 所有的名字標(biāo)識符都由大小寫字母, 數(shù)字和橫杠組成, 長度不限; (2) 內(nèi)部類型名和保留字全部用大寫字母表示; (3) 用戶定義的類型或模塊名第一個字母要大寫; (4) 其他標(biāo)識符(例如值的名字, 字段的名字等)第一個字母要小寫。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 ASN.1中定義的類型除類型名外還有一個標(biāo)簽, 標(biāo)簽由一個保留字和一個非負(fù)整數(shù)組成, 它的作用與編碼規(guī)則有關(guān), 其作用稍后解釋。 ASN.1內(nèi)定了6種基本類型, 如表8 10 所示。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 810 ASN.1的基本類型計算機(jī)網(wǎng)絡(luò)第8章

17、高層協(xié)議 ASN.1還定義了一些字符串類型, 這些字符串類型都是OCTET STRING類型的子集, 如表811所示。 Printablestring類型包括大小寫字母, 10個數(shù)字, 空格以及“(”、 “)”、 “+”、 “-”、 “”、 “.”、 “,”、 “/”、 “ ”、 “=”、 “?” 等 11 個字符。 其他字符串類型的值已在表中作了說明。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 811 ASN.1的字符串類型計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 ASN.1描述抽象語法的形式是類型賦值語句: 類型名 =類型定義= 例如我們可以定義 CommandPDU為CHOICE類型 CommandPDU =C

18、HOICE Localcommand, Remotecommand 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖8.9(b)是用ASN.1描述的個人記錄的抽象語法。 我們首先分析其中對雇員編號的定義: Employee Number = IMPLICIT INTEGER計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.9 ASN.1表示的抽象語法的例(a) 個人記錄的非形式描述; (b) 個人記錄的抽象語法; (c) 個人記錄的抽象值 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.9 ASN.1表示的抽象語法的例(a) 個人記錄的非形式描述; (b) 個人記錄的抽象語法; (c) 個人記錄的抽象值 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 2.

19、 編碼規(guī)則 基本編碼規(guī)則BER中有各種方法, 用來把ASN.1的抽象值編碼為字節(jié)串, 這個字節(jié)串就叫做抽象值的傳送語法。 編碼的基本原則是類型長度值三段式結(jié)構(gòu), 簡稱TLV(TypeLengthValue)結(jié)構(gòu)。 這種編碼形式在介紹會話層協(xié)議格式時出現(xiàn)過, 但BER的規(guī)則稍復(fù)雜一些, 主要是編碼的值部分是遞歸的, 即它本身也可以是TLV結(jié)構(gòu), 這樣就具備了表達(dá)復(fù)雜數(shù)據(jù)的能力。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 例 8.1 布爾類型有兩個值FALSE和TRUE, 都用一個字節(jié)表示, FALSE是00, TRUE是FF。 布爾類型是簡單類型, 標(biāo)簽為UNIVERSAL 1。 因而值FALSE編碼為 01

20、01 00 值TRUE編碼為 01 01 FF 其中第二個字節(jié)指明值部分的長度為1個字節(jié)。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.10 傳送語法的第1字節(jié) 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 例 8.2 十進(jìn)制整數(shù)256編碼為 02 02 01 00 其中最后兩個字節(jié)表示十進(jìn)制值256。 例 8.3 比特串10101的值在傳送時要占用一個字節(jié), 這5位靠左存放, 右邊的3位不用, 所以在對比特串進(jìn)行編碼時要提供說明未使用位數(shù)的信息。 于是對10101編碼為 03 02 03 A8 第1個03說明是比特串, 簡單類型, 02表示長度為兩個字節(jié), 第2個03說明值部分最后3位未用, A8是最后一個字節(jié)的值。計

21、算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 例 8.4 位組串ACE編碼為 04 02 AC E0 這里不需說明未用的位數(shù), 因?yàn)槲唤M(即八位組)總是占用整數(shù)個字節(jié), 沒有說明值的位都認(rèn)為是0, 故最后一個字節(jié)為E0。 可見位組類型也遵循靠左存放的原則。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 例 8.5 以前沒有介紹過的一個基本類型是NULL類型 , 它 只 有 一 個 值 , 也 寫 作 N U L L , 其 標(biāo) 簽 是UNIVERSAL 5。 由于這個類型是空類型, 實(shí)際上無需存儲或傳送它的值, 所以編碼為 05 00 其中的00表明值部分長度為0。 所謂構(gòu)造類型, 就是有一定結(jié)構(gòu)的抽象數(shù)據(jù)類型。 計算機(jī)網(wǎng)絡(luò)第8章

22、高層協(xié)議 例 8.6 序列類型SEQUENCE madeofwood BOOLEAN, length INTEGER的值madeofwood TRUE, length 62編碼為 30 06 01 01 FF 02 01 3E 按照序列的結(jié)構(gòu)可展開如下: Seq Len Val 30 06 Bool Len Val 01 01 FF Int Len Val 02 01 3E計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 例 8.7 集合類型SETbredth INTEGER, bent BOOLEAN的值bredth 7, bent FALSE編碼為 31 06 02 01 07 01 01 00 因?yàn)榧项愋偷?/p>

23、元素是無序的, 所以也可編碼為 31 06 01 01 00 02 01 07 由于該集合類型的兩個元素類型不同, 故可根據(jù)其類型適當(dāng)區(qū)分之。下面的例子說明標(biāo)簽的使用。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 例 8.8 假設(shè)我們正在設(shè)計一個文件安全協(xié)議, 這里定義的類型其有效范圍僅限于我們面對的這個應(yīng)用, 因此可以用APPLICATION標(biāo)簽來標(biāo)識當(dāng)前定義的類型。 我們把口令字定義為下面的類型:PASSWORD =APPLICATION 27 OCTET STRING= 這樣, 利用位組串定義了這個應(yīng)用中的一個新類型PASSWORD。 如果字符串“Sesame ”屬于PASSWORD類型, 則可以編碼為

24、計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 7B 08 04 06 53 65 73 61 6D 65 展開后為 App Len Val 7B 08 Oct Len Val 04 06 53 65 73 61 6D 65 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 例 8.9 設(shè)有下面的集合類型:HT5”SSParentage =SETSubject Name1 IMPLICIT IA5String,Mother Name2 IMPLICIT IA5String OPTIONAL,Father Name3IMPLICIT IA5String OPTIONAL, 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 8.2.3 表示服務(wù)和協(xié)議 1. 表

25、示服務(wù) 表示層提供兩類服務(wù), 第一類服務(wù)與會話有關(guān)。 從上一節(jié)我們知道與會話有關(guān)的服務(wù)是由會話層提供并可向上傳播直至應(yīng)用層。 因而表示服務(wù)中的會話功能都是由它的下層實(shí)現(xiàn)的, 表示層并不生成與會話有關(guān)的協(xié)議數(shù)據(jù)單元, 而是把會話服務(wù)要求傳達(dá)給會話層去完成。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 例如, 原發(fā)端的表示層連接請求中對一組應(yīng)用協(xié)議數(shù)據(jù)單元PDUtype(1), PDUtype(2), PDUtype(3)確定了抽象語法(AS)和對應(yīng)的傳送語法(TS)。 PDUtype(1)=AS(1), TS(a), TS(b), TS(c) PDUtype(2)=AS(2), TS(a), TS(d) PDU

26、type(3)=AS(3), TS(b), TS(d), TS(e) 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 可見原發(fā)端對每一種AS建議了幾種TS, 希望接收端至少能支持其中的一種。 接收端對這個請求的響應(yīng)可能是: PDUtype(1)=AS(1), TS(a), PDUtype(2)=AS(2), TS(d), PDUtype(3)=AS(3), TS(d) 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 PALTERCONTEXT服務(wù)是應(yīng)答式服務(wù), 用戶利用這種服務(wù)協(xié)商改變DCS。 除了連接建立階段, 用戶之 間 的 協(xié) 商 只 能 通 過 這 種 形 式 進(jìn) 行 。 PALTERCONTEXT原語和參數(shù)表示在表812中

27、。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 812 PALTERCONTEXT原語計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 2. 表示協(xié)議 像其他的高層協(xié)議一樣, 表示層協(xié)議也分為一些功能單元。 核心單元用于建立表示連接, 傳輸數(shù)據(jù)和釋放連接, 它總是必備的; 另外一個功能單元是上下文管理單元, 用于增刪確定的上下文集合; 還有一個單元是上下文恢復(fù)功能單元, 當(dāng)會話連接重新同步時, 這個功能單元可以存儲上下文信息以備以后恢復(fù)。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表示層的協(xié)議數(shù)據(jù)單元都是用ASN.1定義的, 不再用方框圖表示協(xié)議格式。 圖8.11給出一個協(xié)議數(shù)據(jù)單元的例子, 它出自1988年的CCITT X.226建議。 給

28、出這個例子的目的主要是為了增加見識, 而并非詳細(xì)研究它的功能。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 CPtype =SET 0 IMPLICIT Modeselector1 IMPLICIT SET COMPONENTS of ReliableTransferAPDUs. RTORQapdu Shall be used for X.410 mode only2 IMPLICIT SEQUENCE3 IMPLICIT Protocolversion4 IMPLICIT Callingpresentationselector5 IMPLICIT Calledpresentationselector6 IM

29、PLICIT PresentationcontextCD*3definitionlist7 IMPLICIT Defaultcontextname8 IMPLICIT Presenrationrequirements9 IMPLICIT UsersessionrequirementsUserdata圖 8.11 表示連接協(xié)議數(shù)據(jù)單元的例 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 8.3 應(yīng)用層應(yīng)用層 8.3.1 應(yīng)用服務(wù)元素 1. 聯(lián)系控制服務(wù)元素ACSE 兩個應(yīng)用實(shí)體要進(jìn)行通信首先必須建立聯(lián)系。 在應(yīng)用層, 我們不用連接的概念, 因?yàn)榻⑦B接意味著面向連接的服務(wù)。 聯(lián)系的概念比連接要廣泛得多, 它包括了很

30、多應(yīng)用層的語義, 建立了應(yīng)用聯(lián)系意味著構(gòu)造出一種應(yīng)用平臺。 ACSE就是管理應(yīng)用聯(lián)系的功能模塊, 因而任何應(yīng)用都必須使用它。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 ACSE共有4個服務(wù)原語: AASSOCIATE用于建立聯(lián)系, ARELEASE用于釋放聯(lián)系, AABORT由應(yīng)用層用戶用于中止聯(lián)系, 而APABORT由應(yīng)用服務(wù)提供者用于中止聯(lián)系(表813)。 這些原語(特別是建立聯(lián)系原語)有很多的參數(shù), 但大部分是與表示和會話有關(guān)的。 與AASSOCIATE有關(guān)的最重要的參數(shù)有兩條: 應(yīng)用上下文名: 與聯(lián)系有關(guān)的應(yīng)用服務(wù)元素名; 表示上下文定義表: 用于通信的表示上下文的集合。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議

31、表 813 ACSE服務(wù)原語 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 2. 可靠傳輸服務(wù)元素RTSE; RTSE提供可靠的數(shù)據(jù)傳輸, 所謂可靠是指能從系統(tǒng)(指主機(jī)系統(tǒng))崩潰中恢復(fù), 當(dāng)傳送一個很長的文件時, 這種服務(wù)元素是必要的。 RTSE有7條服務(wù)原語, 分別是打開, 關(guān)閉RT服務(wù)(Reliable Transfer Service), 請求和交出發(fā)送權(quán), 傳送數(shù)據(jù), 以及兩條中止傳送服務(wù)的原語(表814)。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 814 RTSE服務(wù)原語 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 3. 遠(yuǎn)程操作服務(wù)元素ROSE 在典型的分布式環(huán)境中, 一個應(yīng)用實(shí)體可能要調(diào)用另一個遠(yuǎn)程實(shí)體的操作, 這種調(diào)用

32、往往采用請求/響應(yīng)的工作方式, 通常把這種工作方式叫做遠(yuǎn)程過程調(diào)用RPC(Remote Procedure Call)。 ISO定義的ROSE是比RPC更通用的機(jī)制, 主要用于網(wǎng)絡(luò)管理, 報文處理系統(tǒng)和目錄服務(wù)等。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 ROSE的基本模型涉及到兩個互相作用的應(yīng)用實(shí)體, 一個是調(diào)用者, 一個是執(zhí)行者。 執(zhí)行者對調(diào)用者的請求可能給予回答, 也可能不予回答, 具體地說, 有四種可能性: (1) 如果操作成功, 返回操作結(jié)果, 如果操作不成功, 返回錯誤信息; (2) 如果操作出錯, 報告錯誤信息, 否則不予回答; (3) 僅操作成功時返回結(jié)果; (4) 無論操作成功與否, 都

33、不回答。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.12 ROSE操作的鏈接 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 ROSE提供了四個遠(yuǎn)程操作的宏定義, 用來管理用戶和ROSE服務(wù)之間的接口。 這四個宏定義是: (1) BIND: 建立應(yīng)用聯(lián)系, 提供遠(yuǎn)程操作類型的抽象表示和遠(yuǎn)程操作數(shù)值的抽象表示; (2) OPERATION: 定義操作的集合和用戶數(shù)據(jù)類型的集合; (3) UNBIND: 釋放應(yīng)用聯(lián)系, 說明釋放期間交換的用戶數(shù)據(jù)類型; (4) ERROR: 說明用于否定應(yīng)答的數(shù)據(jù)類型。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 815 ROSE服務(wù)原語 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 4. 提交, 并發(fā)和恢復(fù)CCR CCR

34、服務(wù)元素提出得最早, 原是作為公共應(yīng)用服務(wù)元素CASE的一部分定義的, 現(xiàn)在雖然沒有了CASE, 但仍保留了CCR。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 主控系統(tǒng)在超時控制期限內(nèi)接到從屬系統(tǒng)的就緒(READY)應(yīng)答后發(fā)出提交(COMMIT)請求, 這時從屬系統(tǒng)才實(shí)際進(jìn)行數(shù)據(jù)更新操作, 操作完成后返回確認(rèn)應(yīng)答, 從而實(shí)現(xiàn)提交的第二階段。 可以看出, 處置操作的特點(diǎn)是: (1) 原子性: 從外部看, 要么全部完成, 要么什么也不做; (2) 一致性: 操作結(jié)果與應(yīng)用的要求保持一致; (3) 隔離性: 在操作開始后到全部完成這段時間其他用戶不能訪問正在操作的數(shù)據(jù); (4) 持久性: 操作必須經(jīng)受住系統(tǒng)和通信

35、故障的考驗(yàn)。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.13 CCR的兩階段提交計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.14 CCR中的并發(fā)和恢復(fù)操作 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 CCR服務(wù)可以按照主從次序嵌套為樹結(jié)構(gòu), 叫做原子作用樹。 在這個樹中, 某一級的從屬結(jié)點(diǎn)是下一級的主控結(jié)點(diǎn), 任何結(jié)點(diǎn)只有收到下一級的適當(dāng)響應(yīng)后才向它的上級發(fā)出響應(yīng)。 顯然原子作用樹代表的整個操作或者全部完成, 或者都回退到初始狀態(tài)。 CCR的服務(wù)原語列在表816中。 每一個服務(wù)原語都穿過表示層映象到會話服務(wù), 主要使用的是主同步檢查點(diǎn)和重同步服務(wù)。 在重同步點(diǎn)可以放棄處理, 也可以重 新 開 始 處 理 , 這 正 好 是

36、C R E F U S E 和CROLLBACK要求的服務(wù)。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 816 CCR服務(wù)原語計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 5. 應(yīng)用層的內(nèi)部結(jié)構(gòu) 各種需要的應(yīng)用服務(wù)元素和應(yīng)用進(jìn)程共同組成應(yīng)用實(shí)體。 圖8.15就是一個應(yīng)用實(shí)體的例子, 在這個假想的例子中使用了ACSE, ROSE用于進(jìn)行遠(yuǎn)程的事務(wù)處理操作, 而RTSE則用于傳輸大的數(shù)據(jù)塊。 圖中的用戶元素是應(yīng)用進(jìn)程的一部分,它起到了應(yīng)用進(jìn)程和網(wǎng)絡(luò)應(yīng)用實(shí)體之間的接口作用。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.15 應(yīng)用實(shí)體的例 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 8.3.2 虛擬終端協(xié)議 如果一個終端用戶希望通過網(wǎng)絡(luò)訪問各種不同類型

37、的主機(jī), 他就需要利用虛終端協(xié)議VTP(Virtual Terminal Protocol), 這種通信方式表示在圖8.16中。 圖 8.16 虛終端通訊方式 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 1. 滾動式終端 這種終端沒有任何智能, 只能把鍵入的字符發(fā)送出去, 把收到的字符顯示(或打印)出來, 一行顯示(或打印)滿了以后自動向上滾動。 2. 頁面式終端 這類終端就是通常的鍵盤顯示器終端, 其光標(biāo)可以在整個屏幕上移動, 用戶和應(yīng)用程序都可以隨機(jī)地改變屏幕任何位置上的信息, 終端I/O以整頁的方式傳送。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 3. 表格式終端 這種終端比頁面式終端更高級。 在這種終端上可以單獨(dú)定

38、義某些字段的屬性(例如只能讀而不能修改), 可以只傳送屏幕信息的一部分(例如表格中的變量值), 終端內(nèi)的微處理器支持用戶進(jìn)行本地的編輯, 宏操作(例如驗(yàn)證數(shù)據(jù))等。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 4. 圖形式終端 這類終端可以顯示任意的兩維位模式。 任何虛擬終端協(xié)議的操作過程大體上都可以分為四個階段: 連接管理: 包括會話層的有關(guān)功能, 例如建立和釋放連接; 協(xié)商: 確定通信雙方一致同意的操作特性; 控制: 交換控制信息和命令; 數(shù)據(jù)傳輸: 交換數(shù)據(jù)信息。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 5. ISO虛擬終端標(biāo)準(zhǔn) ISO虛終端服務(wù)是應(yīng)用層服務(wù), 它定義的虛終端模塊是實(shí)際終端的抽象表示。 服務(wù)標(biāo)準(zhǔn)定義

39、了可以在虛終端上完成的操作, 例如從虛終端鍵盤上讀數(shù)據(jù), 向虛終端屏幕上寫數(shù)據(jù)以及移動虛終端的光標(biāo)等。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.17 虛終端服務(wù)的體系結(jié)構(gòu) 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 BCVT是面向字符的終端, 它提供的最基本的功能就是行編輯以及與操作系統(tǒng)命令語言的交互作用等, 這些操作都可以在滾動式終端上實(shí)現(xiàn)。 BCVT的信息結(jié)構(gòu)是用面向?qū)ο蟮姆椒ǘx的。 BCVT的對象有顯示對象, 設(shè)備對象和控制對象等。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.18 虛終端環(huán)境的結(jié)構(gòu) 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 BCVT標(biāo)準(zhǔn)定義的提交控制有三種: (1) 無提交控制: 這是缺省類型, 具體實(shí)現(xiàn)可以

40、選擇任何方便的方式把數(shù)據(jù)傳送給對等實(shí)體; (2) 簡單提交控制: 服務(wù)用戶可以發(fā)出提交請求, 把所有未提交的數(shù)據(jù)提交給對方, 請求方還可以要求接收方給出應(yīng)答; (3) 隔離提交控制: 這種方式要求VT服務(wù)模塊保存所有接收的數(shù)據(jù), 得到對方發(fā)出的釋放命令后再把數(shù)據(jù)提交給服務(wù)用戶, 例如應(yīng)用程序分塊發(fā)送數(shù)據(jù), 當(dāng)滿一屏后發(fā)送釋放命令, 一次提交給終端顯示器。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 8.3.3 文件傳輸協(xié)議 1. 虛擬文件存儲結(jié)構(gòu) 虛擬文件是真實(shí)文件的抽象, 和虛擬終端一樣, 定義虛擬文件的目的是使得互連的開放系統(tǒng)之間有一種共同的文件表示方法。 (1) 文件存取結(jié)構(gòu): 按照存取結(jié)構(gòu)來區(qū)分, 有順

41、序文件, 索引順序文件, 層次文件, 網(wǎng)狀文件和關(guān)系文件等。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 (2) 表示結(jié)構(gòu): 表示結(jié)構(gòu)描述數(shù)據(jù)單元(DU)的抽象語法。 (3) 傳輸結(jié)構(gòu): 傳輸結(jié)構(gòu)規(guī)定了把有結(jié)構(gòu)的文件作為數(shù)據(jù)元素序列傳輸?shù)姆椒ā?(4) 標(biāo)識結(jié)構(gòu): 說明了在文件存取結(jié)構(gòu)中命名結(jié)點(diǎn)和在傳輸過程中標(biāo)識FADU的方法。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.19 虛擬文件的層次結(jié)構(gòu) 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 FTAM把文件屬性分為三組: 核心組屬性是必備的, 它提供了有關(guān)文件的基本信息, 例如文件名, 文件的類型(無結(jié)構(gòu)文件, 扁平結(jié)構(gòu)文件或是層次結(jié)構(gòu)文件)等。 存儲屬性定義了和文件的物理存儲有關(guān)的概

42、念, 例如文件長度, 對文件可施加的作用(創(chuàng)建, 刪除等)。 安全屬性包含了有關(guān)文件安全的信息, 例如存取控制, 用于加密的文件名等。 文件屬性列在表817中。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 817 FTAM中的文件屬性 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 活動屬性描述與正在進(jìn)行之中的FTAM會話有關(guān)的文件, 它具有動態(tài)的性質(zhì), 在會話之外沒有意義。 例如文件的當(dāng)前存取位置, 當(dāng)前的訪問請求等都是與文件會話有關(guān)的活動屬性。 活動屬性列在表818中。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 818 FTAM中的活動屬性 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 作用于文件上的操作在ISO文件中叫做作用(action)。 有些作

43、用可施加于整個文件, 這些作用與文件管理有關(guān); 有些作用只能施加于文件的組成成分, 這些作用與文件的存取有關(guān)。 表819列出了FTAM中定義的作用。 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 表 819 FTAM中定義的作用 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 2. 文件服務(wù) FTAM中的文件服務(wù)定義了用戶訪問和管理虛擬文件時可利用的服務(wù), 這種服務(wù)的主要作用是為用戶生成一個可操作虛擬文件的工作環(huán)境。 建立和利用這種服務(wù)的過程如下: (1) 用戶和文件存儲器之間互相交換標(biāo)識; (2) 選擇用戶需要的文件, 確立用戶對文件的訪問權(quán); (3) 建立描述文件結(jié)構(gòu)屬性, 確定并發(fā)訪問的狀態(tài), 即打開文件; (4) 允許用戶存取所選擇的文件屬性和文件內(nèi)容。計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 圖 8.20 FTAM文件服務(wù)原語和工作階段 計算機(jī)網(wǎng)絡(luò)第8章 高層協(xié)議 3. FTAM協(xié)議 FTAM協(xié)議基本上是一一對應(yīng)地把服務(wù)原語變換為協(xié)議數(shù)據(jù)單元, 這些協(xié)議數(shù)據(jù)單元都是用ASN.1描述的。 例如下面是FOPENresponse原語對應(yīng)的FPDU結(jié)構(gòu): FOPENresponse =SEQUENCEs

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論