7協(xié)議工程之協(xié)議實現(xiàn)技術(shù)_第1頁
7協(xié)議工程之協(xié)議實現(xiàn)技術(shù)_第2頁
7協(xié)議工程之協(xié)議實現(xiàn)技術(shù)_第3頁
7協(xié)議工程之協(xié)議實現(xiàn)技術(shù)_第4頁
7協(xié)議工程之協(xié)議實現(xiàn)技術(shù)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第七章 協(xié)議實現(xiàn)技術(shù)7.1概述 計算機網(wǎng)絡(luò)各層協(xié)議實現(xiàn)結(jié)果的集合形成計算機網(wǎng)絡(luò)軟件和硬件。計算機網(wǎng)絡(luò)軟件和計算機操作系統(tǒng)密切相關(guān),它往往是操作系統(tǒng)的一部分,計算機網(wǎng)絡(luò)硬件和計算機硬件系統(tǒng)密切相關(guān),它是計算機I/O系統(tǒng)的一部分。圖7.1為DEC公司的DNA在VAX/VMS中的實現(xiàn)結(jié)構(gòu)。DNA(Digital Network Architecture)是DEC公司所采用的各層網(wǎng)絡(luò)協(xié)議的總稱,它在VAX/VMS之中實現(xiàn)后軟件和硬件的總稱為DECNET/VMS。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)DNA的物理層層和數(shù)據(jù)據(jù)鏈路層層協(xié)議實實現(xiàn)于網(wǎng)網(wǎng)絡(luò)適配配器(deviceadaptor)中,D

2、ECnet/VMS包括許多多網(wǎng)絡(luò)適適配器,即DNA支持許多多種低層層通信協(xié)協(xié)議。DNA的網(wǎng)絡(luò)層層和傳輸輸層協(xié)議議主要實實現(xiàn)于偽偽驅(qū)動程程序NETDRIVER中,它和和網(wǎng)絡(luò)適適配器的的設(shè)備驅(qū)驅(qū)動程序序(device driver)接口。DNA的高層協(xié)協(xié)議以網(wǎng)網(wǎng)絡(luò)目標標模塊形形式或?qū)崒嵱贸绦蛐虻男问绞綄崿F(xiàn),DECnet/VMS包括許多多這樣的的目標模模塊(object)和實用用程序(utility),這表示示它向用用戶提供供豐富的的網(wǎng)絡(luò)服服務(wù)。這這里,NETDRIVER和devicedriver是VMS內(nèi)核一部部分,DNA高層和VMS的文件系系統(tǒng),作作業(yè)調(diào)度度,用戶戶登陸(login)等密切切聯(lián)系

3、,網(wǎng)絡(luò)適適配器是是VAX硬件系統(tǒng)統(tǒng)的一部部分,計計算機網(wǎng)網(wǎng)絡(luò)各層層協(xié)議在在其它機機器和操操作系統(tǒng)統(tǒng)中實現(xiàn)現(xiàn)形式和和實現(xiàn)結(jié)結(jié)構(gòu)都類類似于DECnet/VMS。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)計算機網(wǎng)網(wǎng)絡(luò)協(xié)議議是復(fù)雜雜的協(xié)議議,將它它們付諸諸實現(xiàn)更更是一個個復(fù)雜的的技術(shù)過過程,這這是因為為計算機機網(wǎng)絡(luò)硬硬件和軟軟件與計計算機硬硬件操作作系統(tǒng)的的關(guān)系非非常密切切的原故故。一個個計算機機網(wǎng)絡(luò)的的研制要要經(jīng)歷下下述七步步工作。(1)網(wǎng)絡(luò)體系系結(jié)構(gòu)的的制定網(wǎng)絡(luò)體系系結(jié)構(gòu)(Network Architecture)的制定定包括許許多決策策工作:網(wǎng)絡(luò)支支持哪些些通訊線線路和局局域網(wǎng)?向用戶戶提供哪哪些網(wǎng)絡(luò)絡(luò)服務(wù)?網(wǎng)絡(luò)

4、劃劃分成多多少層?各層的的協(xié)議功功能是什什么?各各層協(xié)議議規(guī)范和和服務(wù)規(guī)規(guī)范是什什么?第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)(2)實現(xiàn)環(huán)境境的研究究實現(xiàn)環(huán)境境指計算算機的機機型和運運行的操操作系統(tǒng)統(tǒng)。實現(xiàn)現(xiàn)環(huán)境的的研究是是協(xié)議實實現(xiàn)者必必須進行行的一項項工作,這包括括計算機機硬件結(jié)結(jié)構(gòu)和I/O總線的詳詳細了解解,操作作系統(tǒng)結(jié)結(jié)構(gòu)和操操作系統(tǒng)統(tǒng)服務(wù)的的詳細了了解等等等。(3)實現(xiàn)結(jié)構(gòu)構(gòu)的設(shè)計計在(1)和(2)的工作完完成之后后,協(xié)議議設(shè)計者者就可以以著手網(wǎng)網(wǎng)絡(luò)實現(xiàn)現(xiàn)結(jié)構(gòu)設(shè)設(shè)計。實實現(xiàn)結(jié)構(gòu)構(gòu)的設(shè)計計包括一一系列的的決策工工作:哪哪幾層協(xié)協(xié)議在網(wǎng)網(wǎng)絡(luò)適配配器中實實現(xiàn),哪哪幾層協(xié)協(xié)議在操操作系統(tǒng)統(tǒng)中實現(xiàn)現(xiàn)?操作作系

5、統(tǒng)的的網(wǎng)絡(luò)軟軟件劃分分成幾個個進程,每個進進程實現(xiàn)現(xiàn)哪幾層層協(xié)議?如果幾幾層協(xié)議議在同一一個進程程實現(xiàn)時時,各層層協(xié)議之之間怎樣樣相互調(diào)調(diào)用?為為了提高高網(wǎng)絡(luò)軟軟件執(zhí)行行效率和和連接響響應(yīng)速度度應(yīng)采用用哪些措措施等等等。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)(4)各層協(xié)議議實體之之間通訊訊機制設(shè)設(shè)計當n層協(xié)議和和(n-1)層協(xié)議在在不同的的進程或或驅(qū)動程程序之間間實現(xiàn)時時,n層協(xié)議實實體和n-1層協(xié)議實實體之間間通訊必必須借助助操作系系統(tǒng)服務(wù)務(wù)來實現(xiàn)現(xiàn)。當n層協(xié)議和和(n-1)層協(xié)議在在同一個個進程或或驅(qū)動程程序之內(nèi)內(nèi)實現(xiàn)時時,兩層層協(xié)議實實體之間間通訊可可直接借借助于程程序設(shè)計計語言(c,pascal)來

6、實現(xiàn)。(5)數(shù)據(jù)緩沖沖方案的的設(shè)計協(xié)議數(shù)據(jù)據(jù)單元PDU(protocoldataunit)在各層協(xié)協(xié)議實體體之間的的傳遞是是通過緩緩沖器來來實現(xiàn)的的。數(shù)據(jù)據(jù)緩沖方方案的設(shè)設(shè)計包括括一系列列的決策策工作:緩沖器器中的數(shù)數(shù)據(jù)怎樣樣傳遞?是否采采用共享享緩沖器器方案?緩沖器器定義多多大?緩緩沖器怎怎樣分配配管理?緩沖器器的分配配管理怎怎樣對網(wǎng)網(wǎng)絡(luò)流控控制和交交通擁塞塞控制施施加影響響等等。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)(6)各層協(xié)議議代碼的的產(chǎn)生協(xié)議代碼碼可分為為兩部分分:與實實現(xiàn)環(huán)境境相關(guān)的的協(xié)議代代碼和獨獨立于實實現(xiàn)環(huán)境境的協(xié)議議代碼。前者必必須由協(xié)協(xié)議實現(xiàn)現(xiàn)者手工工完成,后者可可手工完完成也可可以借

7、助助形式語語言的編編輯程序序(如ESTELLE compiler)自動產(chǎn)產(chǎn)生。(7)網(wǎng)絡(luò)軟件件的調(diào)試試由于網(wǎng)絡(luò)絡(luò)軟件的的分布性性,異步步性和實實時性,傳統(tǒng)的的靜態(tài)調(diào)調(diào)試工具具是不適適應(yīng)的,因此設(shè)設(shè)計者必必須研制制多種動動態(tài)調(diào)試試工具以以提高網(wǎng)網(wǎng)絡(luò)軟件件調(diào)試效效率。這這些調(diào)試試工具包包括各種種模擬環(huán)環(huán)境,閉閉環(huán)測試試軟件,PDU追蹤,時時間標簽簽,事件件記錄等等。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)限于篇幅幅,本章章只討論論(4)、(5)、(6)步驟的有有關(guān)問題題,首先先介紹協(xié)協(xié)議代碼碼半自動動生成技技術(shù),然然后討論論上下層層協(xié)議實實體之間間通訊的的實現(xiàn)方方法,最最后討論論數(shù)據(jù)緩緩沖技術(shù)術(shù)。如果果我們掌掌握

8、了第第(4)和第(5)步的設(shè)計計方法,那么與與實現(xiàn)環(huán)環(huán)境相關(guān)關(guān)的協(xié)議議代碼就就可以手手工完成成了。計計算機網(wǎng)網(wǎng)絡(luò)研制制工作中中第(1)、(2)、(3)和(7)步工作作的討論論請參見見文獻資資料42和34。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)7.2協(xié)議代碼碼半自動動生成技技術(shù)協(xié)議代碼碼半自動動生成技技術(shù)試圖圖將協(xié)議議規(guī)范文文本(用用ESTELLE、LOTOS等語言描描述)直接轉(zhuǎn)換換成協(xié)議議代碼(c.pascal等程序設(shè)設(shè)計語言言)。如如果所產(chǎn)產(chǎn)生的代代碼不需需要人工工修改就就可以編編譯成機機器可執(zhí)執(zhí)行的程程序,這這是最理理想的。但由于于計算機機網(wǎng)絡(luò)軟軟件和操操作系統(tǒng)統(tǒng)結(jié)合緊緊密,這這實際上上是不現(xiàn)現(xiàn)實的。由

9、協(xié)議議規(guī)范直直接轉(zhuǎn)換換的協(xié)議議代碼只只能占全全部代碼碼的一部部分,約約50%左右33,這部分分代碼稱稱之為獨獨立于實實現(xiàn)環(huán)境境的代碼碼,另外外一部分分代碼由由于和實實現(xiàn)環(huán)境境相關(guān),必須由由手工完完成。協(xié)協(xié)議代碼碼的這種種生成方方法稱之之為協(xié)議議代碼的的半自動動生成技技術(shù)。關(guān)于協(xié)議議代碼半半自動生生成技術(shù)術(shù)是否值值得深入入研究的的問題,人們尚尚有不同同的看法法。然而而,半自自動生成成技術(shù)顯顯然有如如下一些些好處:第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)(1)利用同同一個翻翻譯程序序從同一一個協(xié)議議規(guī)范中中產(chǎn)生的的協(xié)議代代碼總是是一致的的,它不不隨協(xié)議議實現(xiàn)者者的不同同而不同同。這就就是說,所有協(xié)協(xié)議實現(xiàn)現(xiàn)者都能

10、能夠獲得得一份相相同的協(xié)協(xié)議代碼碼。雖然然這一部部分協(xié)議議代碼只只占總代代碼的50%左右,但但它包括括協(xié)議的的主體部部分。它它確定了了協(xié)議的的所有邏邏輯關(guān)系系,因此此它為協(xié)協(xié)議的不不同實現(xiàn)現(xiàn)版本的的互連提提供了良良好的基基礎(chǔ)。(2)協(xié)議規(guī)規(guī)范的更更新修改改不會給給協(xié)議實實現(xiàn)者帶帶來太多多的麻煩煩,它只只要重新新運行一一次翻譯譯程序就就可以了了。(3)由此減減少手工工編程的的錯誤,縮短網(wǎng)網(wǎng)絡(luò)軟件件的開發(fā)發(fā)周期,提高網(wǎng)網(wǎng)絡(luò)軟件件可維護護性。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)目前,世世界上已已開發(fā)了了多種協(xié)協(xié)議代碼碼半生成成軟件,它們大大都基于于ESTELLE,LOTOS和SDL語言,翻翻譯后的的協(xié)議代代碼大

11、都都為C代碼。下下面簡單單介紹EDS(Estelle Development System)中協(xié)議議代碼半半自動生生成的基基本過程程33,它將協(xié)協(xié)議代碼碼半自動動生成過過程分為為四步。ESTELLE半自動生生成過程程可用圖圖7.2表示,圖圖中.e表示類型型為.e的文件,.m表示類型型為.m文件。f第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)1.協(xié)議規(guī)范范的預(yù)處處理用形式描描述語言言描述的的協(xié)議規(guī)規(guī)范中往往往存在在許多沒沒有具體體數(shù)值的的符號定定義。例例如用ESTELLE描述的AB協(xié)議中(參見第第四章4.2.4),常數(shù)low,high,retran-time未給出具具體數(shù)值值,預(yù)處處理要求求實現(xiàn)者者給出具具體數(shù)值值

12、。又例例如,在在ESTELLE:描述的AB協(xié)議中,數(shù)據(jù)類類型定義義U一data一type是含糊的的(它用表示),這要求求協(xié)議實實現(xiàn)者給給出它的的具體定定義(如如定義為為stringofcharacters)。預(yù)處處理要做做的工作作包括原原語primitive的標識等等工作。預(yù)處理的的第二項項重要工工作是將將協(xié)議規(guī)規(guī)范文本本(.e)分割成三三個文件件:模塊塊描述文文件(.m),實現(xiàn)描描述文件件(.i)和格式描描述文件件(.f)。模塊描描述文件件即為原原協(xié)議規(guī)規(guī)范中的的模塊頭頭定義和和模塊體體定義。實現(xiàn)描描述文件件將原協(xié)協(xié)議規(guī)范范中有關(guān)關(guān)各模塊塊的性質(zhì)質(zhì)定義,模塊之之間組織織關(guān)系描描述,模模塊之間

13、間通訊機機制描述述等全局局性內(nèi)容容抽取出出來,形形成一個個描述整整個協(xié)議議的框架架文件。格式描描述文件件完整地地描述模模塊之間間報文交交換的格格式,它它也是從從原協(xié)議議規(guī)范文文件中抽抽出來的的。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)2.翻譯預(yù)處理后后的協(xié)議議規(guī)范直直接送入入ESTELLE compiler翻譯,翻翻譯包括括語法校校對、C代碼生成成等工作作。對模模塊體文文件,翻翻譯結(jié)果果是對應(yīng)應(yīng)于每一一個ESTELLE模塊體產(chǎn)產(chǎn)生一個個C代碼的模模塊頭文文件(headfile)和一個C代碼的模模塊體文文件(bodyfile)。模塊頭頭文件包包含模塊塊體內(nèi)所所有數(shù)據(jù)據(jù)結(jié)構(gòu)和和變量(如交互互點ip和ep、隊列等等

14、)。模模塊體文文件包含含模塊體體內(nèi)所有有函數(shù)、過程的的代碼,除模塊塊體原有有的函數(shù)數(shù)和過程程定義之之外,模模塊體的的每一個個轉(zhuǎn)換都都翻譯成成過程。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)3.手工程序序的編寫寫凡是與系系統(tǒng)相關(guān)關(guān)的部分分(通訊訊機制、緩沖器器管理、文件訪訪問、訪訪問控制制等等)必須由協(xié)協(xié)議實現(xiàn)現(xiàn)者根據(jù)據(jù)實現(xiàn)環(huán)環(huán)境手工工編寫。4.執(zhí)行代瑪瑪?shù)漠a(chǎn)生生上述所有有C程序文件件編譯后后鏈接成成一個或或幾個系系統(tǒng)可執(zhí)執(zhí)行的文文件,每每個可執(zhí)執(zhí)行的文文件對應(yīng)應(yīng)于一個個進程或或用戶啟啟動的實實用程序序。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)7.3模塊通訊訊的實現(xiàn)現(xiàn)方法ESTEL

15、LE模塊之間間的通訊訊的實現(xiàn)現(xiàn)很大程程度上依依賴于操操作系統(tǒng)統(tǒng)所提供供的服務(wù)務(wù)。在VAX/VMS環(huán)境中,如果兩兩個模塊塊體分別別用兩個個進程實實現(xiàn),那那么VMS所提供的的進程通通訊服務(wù)務(wù)就成為為模塊通通訊實現(xiàn)現(xiàn)的基礎(chǔ)礎(chǔ)。VAX/VMS提供的進進程通訊訊機制包包括郵箱箱、共享享存貯區(qū)區(qū)、事件件、共享享文件,其中郵郵箱是常常用的通通訊方法法。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)郵箱是VMS的一種偽偽設(shè)備,用戶程程序通過過標準的的QIO服務(wù)就可可以讀寫寫郵箱。郵箱名名是系統(tǒng)統(tǒng)邏輯符符號,為為所有進進程所認認識。當當多個進進程對名名字相同同的郵箱箱進行讀讀寫時,它們實實際上就就進行通通訊。下下面列出出有關(guān)郵郵箱服

16、務(wù)務(wù)和c語言調(diào)用用。(1)定義郵郵箱名$DESCRIPTOP(mbx_name,”MBX_NAME”);mbx_name為放置郵郵箱名字字符串MBX_NAME的變量。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)(2)定義郵箱箱通道intmbx_ch;mbx_ch為32位的長字字,它放放置郵箱箱通道號號。(3)創(chuàng)建郵箱箱通道sys$crembx(1,&mbx_ch,0,0,0,0,&mbx_name);VMS系統(tǒng)服務(wù)務(wù)crembx創(chuàng)建一個個郵箱(如果該該郵箱不不存在),并賦賦于一個個通道號號,&表示傳遞遞變量的的地址值值。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)(4)QIO操作sys$qio(0,mbx_ch,IO$_WRITEV

17、BLK,0,0,0,&mail,mail_size,0,0,0,0);sys$qio(0,mbx_ch,IO$_READVBLK,0,0,0,&buf_size,0,0,0,0);第一個QIO服務(wù)(記記作QIO(write))向郵箱箱發(fā)一個個郵件,第二個QIO服務(wù)(記記作QIO(read))從郵箱箱讀一個個郵件,mail為發(fā)出的的郵件,buf為放置接接收郵件件的緩沖沖器。QIO(read)可以通過過AST(AsyncTrap)形成異步步地進行行(類似似中斷方方式),這給用用戶程序序的設(shè)計帶來來很多好好處。(5)取消郵箱箱sys$delmbx(mbx_ch);切斷用戶戶程序和和郵箱之之間建立立的

18、通路路。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)熟悉了VMS郵箱的使使用方法法,我們們就很容容易找到到怎樣實實現(xiàn)ESTELLE模塊之間間通訊的的實現(xiàn)途途徑。下下面簡述述郵箱服服務(wù)和ESTELLE模塊通訊訊語句之之間對應(yīng)應(yīng)關(guān)系。(1)channel定義一個channel對應(yīng)一個個VMS郵箱,channel名用$DESCRIPTOR來說明,channel定義中交交互用過過程表示示,每個個過程負負責向郵郵箱發(fā)出出一個郵郵件,郵郵件內(nèi)容容包括交交互名和和傳遞的的參數(shù)。下面的的例子說說明AB協(xié)議channel N-access-point定義翻譯譯成C語言的情情況第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)第七章協(xié)

19、協(xié)議實實現(xiàn)技術(shù)術(shù)第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)7.4數(shù)據(jù)緩沖沖技術(shù)協(xié)議數(shù)據(jù)據(jù)單元(PDU )在機器中中的存貯貯以及上上下層協(xié)協(xié)議實體體之間的的傳遞是是通過緩緩沖器來來實現(xiàn)的的,因此此緩沖器器的使用用、分配配和管理理成為協(xié)協(xié)議實現(xiàn)現(xiàn)中關(guān)鍵鍵技術(shù)之之一。數(shù)據(jù)緩沖沖技術(shù)涉涉及三個個問題:存貯空空間的利利用率,對協(xié)議議執(zhí)行速速度的影影響,對對協(xié)議機機制和網(wǎng)網(wǎng)絡(luò)性能能的影響響。(1)存貯空間間利用率率協(xié)議數(shù)據(jù)據(jù)單元的的大小不不是固定定的,小小到幾個個字節(jié),大到數(shù)數(shù)千個字字節(jié)。如如果按最最大的單單元固定定劃分緩緩沖器,對于小小報文,存貯空空間利用用率很低低。一個個網(wǎng)絡(luò)中中總是存存在許多多用戶,在多用用戶情況況下

20、,一一個機器器中的邏邏輯鏈路路數(shù)是隨隨用戶而而動態(tài)變變化的。如果按按照最大大用戶數(shù)數(shù)給每條條邏輯鏈鏈路分配配固定的的緩沖器器,那么么在用戶戶少的情情況下,存貯空空間浪費費較大。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)(2)協(xié)議執(zhí)行行速度協(xié)議數(shù)據(jù)據(jù)單元在在上下層層的傳遞遞可采用用兩種方方法:緩緩沖器指指針傳遞遞法和緩緩沖器復(fù)復(fù)制法。很顯然然,前者者的額外外開銷小小,協(xié)議議執(zhí)行速速度高。問題(l)和(2)是有矛盾盾的。為為了提高高存貯空空間利用用率,緩緩沖器長長度設(shè)定定要小,但對于于大數(shù)據(jù)據(jù)單元則則需要多多個緩沖沖器來容容納,多多個緩沖沖器容納納一個數(shù)數(shù)據(jù)單元元的處理理將給軟軟件帶來來許多麻麻煩。(3)協(xié)議機制制

21、和網(wǎng)絡(luò)絡(luò)性能緩沖器是是網(wǎng)絡(luò)的的最重要要的資源源,許多多協(xié)議機機制的執(zhí)執(zhí)行依賴賴于緩沖沖器的可可用度。例如,傳輸層層在實行行窗口流流控制時時,發(fā)送送窗口的的寬度是是由對方方的接收收能力決決定的(主要是是可用的的緩沖器器的數(shù)口口)。對對于有路路由功能能的網(wǎng)絡(luò)絡(luò)層協(xié)議議實體來來說,緩緩沖器的的分配管管理算法法與網(wǎng)絡(luò)絡(luò)擁塞控控制策略略和死鎖鎖防止方方法密切切相關(guān)。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)7.4.1緩沖器指指針傳遞遞方法數(shù)據(jù)單元元在上下下層協(xié)議議實體之之間的傳傳遞采用用緩沖器器指針傳傳遞方法法時所要要解決的的一個重重要問題題是數(shù)據(jù)據(jù)單元的的分段與與合段。例如,當會晤晤層的一一個協(xié)議議數(shù)據(jù)單單元SPDU(

22、sessionprotocoldataunit)用指針傳傳遞方法法送給傳傳輸層協(xié)協(xié)議實體體后,可可能要將將它分成成三段,即一個個TSDU變成三個個TPDU(transportprotocoldata unit),這里的的TSDU(transportservice dataunit)就是SPDU。由于傳傳輸層必必須給每每段數(shù)據(jù)據(jù)添加一一個傳輸輸層報文文頭TH(transporthead),因此除除第一個個TPDU之后,后后兩個TPDU的形成都都避免不不了數(shù)據(jù)據(jù)的復(fù)制制,圖7.3示出這一一個過程程。圖7.3數(shù)據(jù)分段段引起數(shù)數(shù)據(jù)復(fù)制制第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)為了解決決分段引引起的數(shù)數(shù)據(jù)復(fù)制制,我們們

23、可以采采用這樣樣的一種種方法:如果設(shè)設(shè)傳輸層層允許的的TPDU最大長度度為l,它的報報文頭TH最大長度度為n,那么會會晤層可可使用長長度為l的多個緩緩沖器,將一個個SPDU分割成多多個長度度小于(l-n)的段分分別放在在不同的的緩沖器器中,然然后將緩緩沖器鏈鏈傳遞給給傳輸層層,圖7.4示出緩沖沖器鏈傳傳遞方法法。圖7.4緩沖器鏈鏈傳遞第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)上述方法法仍然有有一個缺缺點,即即會晤層層交給傳傳輸層的的緩沖器器,其頭頭部必須須留足夠夠的空間間以便傳傳輸層(還包括括網(wǎng)絡(luò)層層及底層層)填寫寫它的報報文頭。這樣不不但存儲儲空間有有浪費,而且緩緩沖器指指針要隨隨報文頭頭的添加加數(shù)而修修改。

24、圖圖7.5所示的方方法中,各層協(xié)協(xié)議頭使使用專門門的小緩緩沖器,用戶數(shù)數(shù)據(jù)分放放在多個個大緩沖沖器中。圖7.5用戶數(shù)據(jù)據(jù)和報文文頭分別別用不同同的緩沖沖器第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)7.4.2共享緩沖沖區(qū)的分分配和管管理為了提高高存儲空空間的利利用率,人們往往往采用用共享緩緩沖器的的方法。圖7.6為共享緩緩沖區(qū)示示意圖。傳輸層層提供n條邏輯鏈鏈路服務(wù)務(wù),每個個應(yīng)用層層協(xié)議實實體(如如a,b,c)通過表表示層協(xié)協(xié)議實體體P和會晤層層協(xié)議實實體S使用一條條邏輯鏈鏈路。N條邏輯鏈鏈路共享享發(fā)送緩緩沖區(qū).例如當應(yīng)應(yīng)用層實實體a要發(fā)送一一個報文文時,它它從發(fā)送送緩沖區(qū)區(qū)獲取一一個或多多個緩沖沖器,然然后將裝

25、裝載報文文的緩沖沖鏈逐層層傳遞給給P層,S層,傳輸輸層和網(wǎng)網(wǎng)絡(luò)層。網(wǎng)絡(luò)層層將報文文從指定定通訊網(wǎng)網(wǎng)絡(luò)或線線路發(fā)出出之后,將空緩緩沖器歸歸給發(fā)送送緩沖區(qū)區(qū)。接收收緩沖區(qū)區(qū)向各個個通訊網(wǎng)網(wǎng)絡(luò)端口口或點對對點線路路端口提提供接收收緩沖器器。裝填填有接收收報文的的緩沖器器首先由由網(wǎng)絡(luò)層層處理,網(wǎng)絡(luò)層層或?qū)⒕従彌_器上上交傳輸輸層處理理(如果果報文的的目的地地址是本本地地址址),或或?qū)⒕彌_沖器交給給另外的的通訊網(wǎng)網(wǎng)絡(luò)端口口轉(zhuǎn)發(fā)(如果報報文的目目的地址址不是本本地結(jié)點點),或或?qū)⒕彌_沖器歸還還給接收收緩沖區(qū)區(qū)(如果果報文是是網(wǎng)絡(luò)層層報文)。圖7.6共享緩沖沖區(qū)第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)共享緩沖沖區(qū)固然然可以提

26、提高存儲儲空間利利用率,但如果果沒有合合理的分分配管理理算法,將帶來來嚴重的的副作用用。第一一個嚴重重的副作作用是緩緩沖器的的枯竭。當某條條邏輯鏈鏈路通訊訊流量特特別大時時,它可可能獨占占所有發(fā)發(fā)送緩沖沖器,以以致其它它應(yīng)用層層協(xié)議實實體不能能獲得緩緩沖器,造成緩緩沖器枯枯竭現(xiàn)象象。第二二個嚴重重的副作作用是不不合理的的接收緩緩沖器分分配管理理算法將將會造成成網(wǎng)絡(luò)死死鎖現(xiàn)象象。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)本節(jié)討論論緩沖器器的公平平分配問問題,下下節(jié)討論論接收緩緩沖器分分配管理理與網(wǎng)絡(luò)絡(luò)性能的的關(guān)系。對于發(fā)送送緩沖器器,最常常用的分分配算法法是平方方根法。設(shè)發(fā)送送緩沖區(qū)區(qū)所能提提供的緩緩沖器數(shù)數(shù)目為

27、B,當前活活躍的邏邏輯鏈路路數(shù)為n,那么每每條鏈路路所能占占用的發(fā)發(fā)送緩沖沖器的最最高限額額不應(yīng)大大于B/。對于接收收緩沖器器,緩沖沖器的占占用者的的概念不不同于發(fā)發(fā)送緩沖沖器。當當一個通通訊子網(wǎng)網(wǎng)接收一一個報文文,并將將報文放放入緩沖沖器之后后并不能能立刻確確定該緩緩沖器由由誰占用用。裝填填接收報報文的緩緩沖器經(jīng)經(jīng)由網(wǎng)絡(luò)絡(luò)層處理理之后,報文的的占用者者就確定定了第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)例如,當當圖7.6中的net1收到一個個報文并并將緩沖沖器交網(wǎng)網(wǎng)絡(luò)層之之后;網(wǎng)網(wǎng)絡(luò)層處處理該報報文,如如果該報報文向net2轉(zhuǎn)發(fā),那那么緩沖沖器占用用者是net2;如果該該報文上上交傳輸輸層,那那么緩沖沖器的占

28、占用者是是本地結(jié)結(jié)點。這這樣,如如果網(wǎng)絡(luò)絡(luò)層有路路由功能能,并且且它支持持m路輸出線線路(通通訊子網(wǎng)網(wǎng)端口),那么么接收緩緩沖器要要在m+1個對象中中分配;如果網(wǎng)網(wǎng)絡(luò)層沒沒有路由由功能,那么所所有接收收緩沖區(qū)區(qū)都歸本本地結(jié)點點所有。如果本本地結(jié)點點當前有有n條活躍邏邏輯鏈路路,那么么對于分分配給本本地結(jié)點點的那份份接收緩緩沖器再再按n個對象分分配(或或平均分分配,或或按平方方根分配配)。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)7.4.3接收緩沖沖器的分分配管理理如果網(wǎng)絡(luò)絡(luò)層有路路由功能能,那么么接收緩緩沖區(qū)的的分配管管理算法法就比較較復(fù)雜,不合理理的分配配算法還還將產(chǎn)生生死鎖等等副作用用。下面面分別討討論三個

29、個副作用用及解決決辦法。1.直接死鎖鎖(directdeadlock)假定接收收緩沖區(qū)區(qū)的分配配是任意意的,即即每一條條輸出線線路端口口可以占占用任意意多緩沖沖器,直直至接收收緩沖區(qū)區(qū)枯竭為為止,那那么圖7.7所示的直直接死鎖鎖現(xiàn)象就就可能出出現(xiàn)。圖圖中,由由于結(jié)點點A的所有接接收緩沖沖器已被被端口a所占用,它不能能再接收收b的報文,而B的所有緩緩沖器已已被端口口b所占用,它也不不能接收收A發(fā)出的報報文,死死鎖發(fā)生生!直接接死鎖產(chǎn)產(chǎn)生的原原因是雙雙方接收收緩沖區(qū)區(qū)同時枯枯竭,解解決的辦辦法是避避免接收收緩沖區(qū)區(qū)枯竭。假定結(jié)結(jié)點的接接收緩沖沖區(qū)的緩緩沖器總總數(shù)為C,對于有有m條輸出線線路(端端口

30、)同同時活躍躍的情況況,各條條輸出線線路所能能占用的的接收緩緩沖器限限額應(yīng)小小于Ct=C/(m+1),本地地結(jié)點看看作一路路輸出,它所分分配的限限額也為為Ct。按照這這種平均均法則分分配接收收緩沖器器枯竭現(xiàn)現(xiàn)象永不不會發(fā)生生,直接接死鎖就就消除了了。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)圖7.7直接死鎖鎖第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)2.間接死鎖鎖(indirectdeadlock)即便是對對輸出線線路所占占用的緩緩沖器進進行限制制圖7.8所示的死死鎖還可可能發(fā)生生。這種種由多個個結(jié)點的的輸出隊隊列所形形成的環(huán)環(huán)路死鎖鎖稱為間間接死鎖鎖。間接接死鎖發(fā)發(fā)生時各各個結(jié)點點的接收收緩沖區(qū)區(qū)并沒有有枯竭。圖7.8中,A中

31、的輸出出線路a的所有報報文的目目的地址址不是B,但必須須經(jīng)過B的端口b轉(zhuǎn)發(fā),由由于b的輸出隊隊列長度度已經(jīng)達達到限額額,B無法接收收A發(fā)來的必必須經(jīng)過過端口b轉(zhuǎn)發(fā)的報報文。由由于同樣樣情況,C無法接收收B發(fā)來的必必須經(jīng)端端口c轉(zhuǎn)發(fā)的報報文,D無法接收收C發(fā)來的必必須經(jīng)端端口d轉(zhuǎn)發(fā)的報報文,A無法接收收D發(fā)來必須須經(jīng)端口口a轉(zhuǎn)發(fā)的報報文,死死鎖發(fā)生生!第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)圖7.8間接死鎖鎖第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)間接死鎖鎖的解決決辦法之之一基于于分類報報文概念念。網(wǎng)絡(luò)絡(luò)層處理理輸入報報文時按按照一定定的分類類方法將將它們分分成不同同類別的的報文,給每個個報文打打上類別別標記,并按照照報文類類

32、別分配配接收緩緩沖器的的限額。報文分類類的第一一種方法法是按照照輸出線線路進行行。例如如,假如如某結(jié)點點有三條條輸出線線路a,b,c,當網(wǎng)絡(luò)絡(luò)層處理理報文時時發(fā)現(xiàn)報報文需經(jīng)經(jīng)線路a轉(zhuǎn)發(fā),那那么它的的類別為為a;經(jīng)b轉(zhuǎn)發(fā),它它的類別別就為b。這是最最簡單的的分類法法,但不不能解決決間接死死鎖問題題。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)報文分類類的第二二種方法法是按照照報文已已走過的的鏈路數(shù)數(shù)或到達達目的結(jié)結(jié)點之前前還需走走過的鏈鏈路數(shù)進進行,前前者稱之之為后向向鏈分類類法,后后者稱之之為前向向分類法法。按照照前向鏈鏈分類法法,到達達目的結(jié)結(jié)點之前前還要走走n條鏈路的的報文為為n類報文,n類報文邏邏輯上放放入

33、n隊列。1類報文的的目的結(jié)結(jié)點就是是鄰近結(jié)結(jié)點。按按照這種種方法對對報文分分類從根根本上消消除了圖圖7.8所示的輸輸入隊列列環(huán)路,因此不不會發(fā)生生間接死死鎖。圖圖7.9中,各個個輸出端端口邏輯輯上有三三個隊列列q1,q2,q3。q1放1類報文(到達目目的結(jié)點點的鏈路路數(shù)為1),q2放2類報文,q3放3類報文。當圖7.8所示的情情況出現(xiàn)現(xiàn)時(各各個結(jié)點點的q2的長度已已到達限限額),死鎖不不會出現(xiàn)現(xiàn),這是是因為B能接收A從q2發(fā)出的報報文,并并將報文文放入B的q1隊列(A中的2類報文到到達B后變成1類報文)。如果果假定B的q1隊列也已已到達限限額,但但由于B將q1隊列中的的報文發(fā)發(fā)往C之后,C總

34、是能接接收目的的結(jié)點就就是C的報文(B的q1隊列很快快就會倒倒空)死死鎖就不不會出現(xiàn)現(xiàn)。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)圖7.9前向鏈分分類法第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)3.交通流量量控制接收緩沖沖區(qū)的分分配管理理與網(wǎng)絡(luò)絡(luò)報文流流量控制制有關(guān),或者說說某些交交通流量量控制算算法是通通過接收收緩沖器器的分配配管理來來實現(xiàn)的的。其中中最常用用的做法法是對不不同類別別的報文文實行優(yōu)優(yōu)先級別別控制(優(yōu)先界界別高的的報文可可獲得多多的接收收緩沖器器),以以提高網(wǎng)網(wǎng)絡(luò)流通通量,減減少交通通堵塞發(fā)發(fā)生率。例如,當采用用前向鏈鏈分類法法時,如如果使類類別低的的報文優(yōu)優(yōu)先級別別高(即即1類報文優(yōu)優(yōu)先于2類報文)就能使使接近

35、于于目的結(jié)結(jié)點報文文盡快離離開網(wǎng)絡(luò)絡(luò),避免免交通堵堵塞。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)7.5協(xié)議并行行處理技技術(shù)隨著數(shù)據(jù)據(jù)通訊速速率的提提高,計計算機網(wǎng)網(wǎng)絡(luò)各層層協(xié)議的的執(zhí)行速速度也必必須提高高。例如如,當數(shù)數(shù)據(jù)傳輸輸速率為為1Gbps(1000Mbps)時,如如果傳輸輸層的平平均報文文長度為為128字節(jié),那那么它每每秒要處處理一百百萬個報報文。如如果每個個報文的的處理要要花費50條指令(不包括括CRC校驗),那么傳傳輸層協(xié)協(xié)議處理理器的速速度應(yīng)大大于50Mips。如果傳傳輸層報報文包含含CRC碼,處理理器速度度要更高高(約100Mips)。MIPS-MillionInstructions PerS

36、econd每秒百萬萬條指令令第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)提高協(xié)議議執(zhí)行速速度的辦辦法之一一是協(xié)議議并行處處理技術(shù)術(shù),即用用多個CPU并行執(zhí)行行某層協(xié)協(xié)議。文獻【14】以傳輸層層協(xié)議為為例,定定義了三三種粒度度(grains)不同的的協(xié)議并并行處理理;粗粒度(coarsegrain)并行,中粒度度(mediumgrain)并行和和細粒度度(fine grain)并行。按粗粒度度并行處理理協(xié)議時時,協(xié)議議實體按功能劃劃分成多多個任務(wù)務(wù),各個任務(wù)務(wù)分配給給不同的的CPU處理。例例如,傳傳輸層協(xié)協(xié)議可劃劃分成聯(lián)聯(lián)接處理理,數(shù)據(jù)據(jù)接收處處理。數(shù)數(shù)據(jù)發(fā)送送處理等等多個任任務(wù)。如如果協(xié)議議功能劃劃分更細細一點(

37、如圖3.16描述的ISOTP4數(shù)據(jù)發(fā)送送模型那那樣),這些任任務(wù)可分分配給更更多的CPU執(zhí)行。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)按中較度度并行處理理協(xié)議時時,多個輸人人報文分分配給多多個CPU處理。輸入報文文在多個個CPU中分配的的方法有有兩種:隨機分配配和輪循循分配。對于隨隨機分配配方法,當一個個輸入報報文來到到時,如如果處理理器池子子中有空空閑的處處理器,則隨機機地占用用一個處處理器處處理該報報文;如如果處理理器池子子中沒有有空閑的的處理器器,該報報文則進進人等待待隊列。對于輪輪循分配法,輸人報報文輪詢詢分配法法,輸入入報文按按先后次次序輪循循地分配配給多個個處理器器。例如如,設(shè)處處理器池池子有5個

38、CPU,第1號報文分分配給CPU1,第2號報文分分配給CPU2,第6號報文分分配CPU1,按細粒度度并行處理理協(xié)議時時。多個處理理器同時時處理一一個報文文。例如,多多個處理理器同時時分析處處理一個個報文頭頭時,每每個處理理器分析析報文頭頭的一個個字段。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)粗粒度并并行處理理易于實實現(xiàn),這這是因為為各個任任務(wù)界限限清晰,相關(guān)性性小。但但粗粒度度并行度度小,速速度提高高有限。細粒度度可獲得得很高并并行度,但實現(xiàn)現(xiàn)困難。中粒度度并行處處理技術(shù)術(shù)兼有兩兩者優(yōu)點點,值得得人們深深人研究究。第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)作為例子子,圖7.10示出傳輸輸層報文文發(fā)送的的并行模模型,圖圖7.11

39、示出傳輸輸層報文文接收的的并行模模型。圖圖7.10中,會晤晤層交給給傳輸層層的報文文流(TSDU流)按輪輪循法則則分配繪繪m個處理器器(P1,P2,Pm),并放放在各個個處理器器的局部部存貯器器隊列(q1,12,qm)中。報報文發(fā)出出之后,它進入入Rctran隊列。由由處理器器R負責報文文的重發(fā)發(fā)。圖7.11中,網(wǎng)絡(luò)絡(luò)層交給給傳輸層層的輸人人報文流流(TPDU流)按輪輪循的方方法分配配給n個處理器器(P1,P2,Pn),并放放在各個個處理器器的局部部存貯器器隊列(q1,q2,qn)中。正正確的報報文收到到之后產(chǎn)產(chǎn)生一個個ACK信息放人人ACK隊列。處處理器Q專門負責責發(fā)送入入ACK報文。圖圖7

40、.10和圖7.11只是一個個傳輸層層協(xié)議并并行處理理的模型型,將它它們付諸諸實現(xiàn)還還必須解解決以下下一些問問題。圖7.10傳輸層報報文發(fā)送送并行模模型圖圖7.11傳輸層報報文接收收并行模模型第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)第七章協(xié)協(xié)議實實現(xiàn)技術(shù)術(shù)1發(fā)送窗窗口問題題RTD(RoundTime Delay)指報文文從一個個傳愉層層協(xié)議實實體到另另外一個個傳愉層層協(xié)議實實體之間間來回傳傳送一次次的延遲遲時問,它是傳傳愉層窗窗口流控控制的重重要參數(shù)數(shù)。當兩兩臺機器器距1000千米時,RTD近似于10ms。在數(shù)據(jù)據(jù)傳輸1Gbps時,一個個長度為為512字節(jié)的報報文只需需4us傳送時間間,這意意味著發(fā)發(fā)送方可可在RTD=10ms時間內(nèi)連連續(xù)發(fā)生生2500個報文

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論