計算機網(wǎng)絡(luò)體系結(jié)構(gòu)及協(xié)議之表示層

字號:

3.5.3表示層
    1.表示層的特點及功能
    環(huán)境的低五層提供透明的數(shù)據(jù)傳輸,應(yīng)用層負責(zé)處理語義,而表示層則負責(zé)處理語法。由于各種計算機都可能有各自的數(shù)據(jù)描述方法,所以不同類型計算機之間交換的數(shù)據(jù),一般需經(jīng)過格式轉(zhuǎn)換才能保證其意義不變。表示層要解決的問題是如何描述數(shù)據(jù)結(jié)構(gòu)并使之與具體機器無關(guān),其作用是對源站內(nèi)部的數(shù)據(jù)結(jié)構(gòu)進行編碼,使之形成適合于傳輸?shù)谋忍亓?到了目的站再進行解碼,轉(zhuǎn)換成用戶所要求的格式。
     為使各個系統(tǒng)間交換的信息具有相同的語義,應(yīng)用層采用了相互承認(rèn)的抽象語法。抽象語法是對數(shù)據(jù)一般結(jié)構(gòu)的描述。表示實體實現(xiàn)抽象語法與傳輸語法間的轉(zhuǎn)換,傳輸語法是同等表示實體之間通信時對用戶信息的描述,是對抽象語法比特流進行編碼得到的。抽象語法與傳輸語法之間的對應(yīng)關(guān)系稱為上下文關(guān)系。
    表示層的主要功能為:
    (1)語法轉(zhuǎn)換。將抽象語法轉(zhuǎn)換成傳輸語法,并在對方實現(xiàn)相反的轉(zhuǎn)換。涉及的內(nèi)容有代碼轉(zhuǎn)換、字符轉(zhuǎn)換、數(shù)據(jù)格式的修改,以及對數(shù)據(jù)結(jié)構(gòu)操作的適應(yīng)、數(shù)據(jù)壓縮、加密等。
    (2)語法協(xié)商。根據(jù)應(yīng)用層的要求協(xié)商選用合適的上下文,即確定傳輸語法并傳送。
    (3)連接管理。包括利用會話層服務(wù)建立表示連接,管理在這個連接之上的數(shù)據(jù)傳輸和同步控制,以及正?;虍惓5亟K止這個連接。
    2.語法轉(zhuǎn)換
    (1)數(shù)據(jù)表示。不同廠家生產(chǎn)的計算機具有不同的內(nèi)部數(shù)據(jù)表示。如BM公司的主機廣泛使用EBCDIC碼,而大多數(shù)其它廠商的計算機則使用ASCII碼;Intel公司的80X86芯片從右到左計數(shù)字節(jié),而Motorola公司的68020和68030芯片則從左到右計數(shù):大多數(shù)微型機用16位或32位整數(shù)的補碼運算,而CEC的Cyber機用60位的反碼。由于表示方法的不同,即使所有的位模式都正確接收,也不能保證數(shù)據(jù)含義的不變。人們要的是保留含義,而不是位模式。為了解決此類問題,必須進行數(shù)據(jù)表示方式的轉(zhuǎn)換??梢栽诎l(fā)送方轉(zhuǎn)換,也可以在接收方轉(zhuǎn)換,或者雙方都向一種標(biāo)準(zhǔn)格式轉(zhuǎn)換。
    (2)數(shù)據(jù)壓縮。強調(diào)數(shù)據(jù)壓縮的必要性是基于以下幾個原因。首先,隨著多媒體技術(shù)的發(fā)展,數(shù)字化視/音頻數(shù)據(jù)的吞吐、傳輸和存儲問題日益凸現(xiàn)。具有中等分辨率(640×480)的彩色(24bit/像素)數(shù)字視頻圖像的數(shù)據(jù)量約7.37Mbit/幀,若按25幀/秒的動畫要求,則視頻數(shù)據(jù)的傳輸速率大約為184Mbps。由此可見,高效實時地數(shù)據(jù)壓縮對于緩解網(wǎng)絡(luò)帶寬和取得適宜的傳輸速率是非常必要的。其次,網(wǎng)絡(luò)的費用依賴于傳輸?shù)臄?shù)據(jù)量,在傳輸之前對數(shù)據(jù)進行壓縮可減少傳輸費用。
     實現(xiàn)數(shù)據(jù)壓縮的可能性是基于以下原因。首先,是原始信源數(shù)據(jù)(視/音頻)存在著很大的冗余度,比如電視圖像幀內(nèi)鄰近像素之間空域相關(guān)性及前后幀之間的時域相關(guān)性都很大,信息有冗余。其次,是有可能利用人的視覺對于邊緣急劇變化不敏感(視覺掩蓋效應(yīng))和眼睛對圖像的亮度信息敏感、對顏色分辨力弱的特點以及昕覺的生理特性實現(xiàn)高壓縮比,而使由壓縮數(shù)據(jù)恢復(fù)的圖像及聲音數(shù)據(jù)仍有滿意的主觀質(zhì)量。第三,利用數(shù)據(jù)本身的特征也可實現(xiàn)壓縮。
    (3)網(wǎng)絡(luò)安全和保密。隨著計算機網(wǎng)絡(luò)應(yīng)用的普及,計算機網(wǎng)絡(luò)的安全和保密問題就變得越來越重要了。為保護網(wǎng)絡(luò)的安全,最常用的方法是采用加密措施。
     從理論上講,加密可以在任何一層上實現(xiàn),但實際應(yīng)用中常常在物理層、運輸層和表示層三層實現(xiàn)加密。在物理層加密的方案叫做鏈路加密,它的特點是可以對整個報文進行加密;在運輸層實現(xiàn)加密可以提高有效性,因為表示層可以對數(shù)據(jù)事先進行壓縮處理;而在表示層可以有選擇地對數(shù)據(jù)實現(xiàn)加密。
    3.OSI表示服務(wù)原語
    表示層大部分服務(wù)原語與會話層的相類似。在實施中,幾乎所有的表示服務(wù)原語只是穿過表示層到會話層。有些表示服務(wù)原語可不加改變直接映射成相應(yīng)的會話服務(wù)原語,即無需產(chǎn)生一個表示協(xié)議數(shù)據(jù)單元。通常與這些原語有關(guān)的參數(shù)在會話服務(wù)原語的用戶數(shù)據(jù)字段中傳輸。
    4.抽象語法標(biāo)記ASN.1
    表示、編碼、傳輸和解碼數(shù)據(jù)結(jié)構(gòu)的關(guān)鍵,是要有一種足夠靈活的、適應(yīng)各種類型應(yīng)用的標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)描寫方法。為此,OSI中提出了一種標(biāo)記法,叫做抽象語法標(biāo)記1,簡稱為ASN.1。發(fā)送時將ASN.1數(shù)據(jù)結(jié)構(gòu)編碼成位流,這種位流的格式叫做抽象語法。
     在ASN.1中為每個應(yīng)用所需的所有數(shù)據(jù)結(jié)構(gòu)類型下了定義,并將它們組成庫。當(dāng)一個應(yīng)用想發(fā)送一個數(shù)據(jù)結(jié)構(gòu)時,可以將數(shù)據(jù)結(jié)構(gòu)與其對應(yīng)的ASN.1標(biāo)識一起傳給表示層。以ASN.1定義作為索引,表示層便知道數(shù)據(jù)結(jié)構(gòu)的域的類型及大小,從而對它們編碼、傳輸;在另一端,接收表示層查看此數(shù)據(jù)結(jié)構(gòu)的ASN.1標(biāo)識,從而了解數(shù)據(jù)結(jié)構(gòu)的域的類型及大小。這樣,表示層便就可以實現(xiàn)從通信線路上所用的外部數(shù)據(jù)格式到接收計算機所用的內(nèi)部數(shù)據(jù)格式的轉(zhuǎn)換。
     數(shù)據(jù)類型的ASN.1描述稱為抽象語法,同等表示實體之間通信時對用戶信息的描述稱為傳輸語法。為抽象語法指定一種編碼規(guī)則,便構(gòu)成一種傳輸語法。在表示層中,可用這種方法定義多種傳輸語法。傳輸語法與抽象語法之間是多一多對應(yīng)關(guān)系,即一種傳輸語法可用于多種抽象語法的數(shù)據(jù)傳輸,而一種抽象語法的數(shù)據(jù)值也可用多種傳輸語法來傳輸。每個應(yīng)用層協(xié)議中的抽象語法與一個能對其進行編碼的傳輸語法的組合,就構(gòu)成一個表示上下文(PRESentation Context)。表示上下文可以在表示連接建立時協(xié)商確定,也可以在通信過程中重新定義。表示層提供定義表示上下文的設(shè)施。