網(wǎng)絡(luò)協(xié)議測試技術(shù)
在計算機(jī)網(wǎng)絡(luò)的發(fā)展歷程中,協(xié)議一直處于核心地位。從ARPAnet發(fā)展到Internet,其關(guān)鍵環(huán)節(jié)就是形成了國際標(biāo)準(zhǔn)化的協(xié)議。協(xié)議是計算機(jī)網(wǎng)絡(luò)和分布式系統(tǒng)中各種通信實(shí)體之間相互交換信息所必須遵守的一組規(guī)則,就像是一種語法規(guī)則,是構(gòu)建網(wǎng)絡(luò)的基石。
1984年,國際標(biāo)準(zhǔn)化組織ISO提出了開放式系統(tǒng)互連ISO/OSI參考模型。
1983年1月1日,TCP/IP被宣布為Internet上***正式的協(xié)議,為Internet的發(fā)展鋪平了道路。
網(wǎng)絡(luò)通信協(xié)議研究最顯著的成果是在20世紀(jì)80年代,將形式化技術(shù)和軟件工程方法用于協(xié)議研究,形成了一個嶄新的學(xué)科——協(xié)議工程學(xué),它的研究范圍包括:協(xié)議說明(ProtocolSpecification)、協(xié)議證實(shí)(ProtocolValidation)、協(xié)議驗(yàn)證(ProtocolVerification)、協(xié)議綜合(ProtocolSynthesis)、協(xié)議轉(zhuǎn)換(ProtocolConversion)、協(xié)議性能分析(ProtocolPerformanceAnalysis)、協(xié)議自動實(shí)現(xiàn)(ProtocolAutomaticImplementation)和協(xié)議測試(ProtocolTesting)。
下面我們著重討論協(xié)議測試的作用與意義,介紹這個領(lǐng)域已經(jīng)取得的科研成果,并指出協(xié)議測試所面臨的挑戰(zhàn)。
意義重大
協(xié)議測試研究領(lǐng)域的興起源于對其必不可少的需求。目前的網(wǎng)絡(luò)協(xié)議多是以自然語言描述的文本,實(shí)現(xiàn)者對于協(xié)議文本的不同理解以及實(shí)現(xiàn)過程中的非形式化因素都會導(dǎo)致不同的協(xié)議實(shí)現(xiàn),有時甚至是錯誤的協(xié)議實(shí)現(xiàn)。即便協(xié)議實(shí)現(xiàn)正確,也不能保證不同的實(shí)現(xiàn)彼此之間能夠準(zhǔn)確無誤地通信,而且同一協(xié)議的不同實(shí)現(xiàn)其性能也有差別。在這種情況下,需要一種有效的方法對協(xié)議實(shí)現(xiàn)進(jìn)行評價,這就是“協(xié)議測試”。
伴隨著計算機(jī)網(wǎng)絡(luò)的普及和網(wǎng)絡(luò)需求的增多,計算機(jī)網(wǎng)絡(luò)協(xié)議越來越復(fù)雜龐大,協(xié)議實(shí)現(xiàn)不僅僅要求功能正確完善、能夠互通,而且要求具有良好的性能,因此協(xié)議的實(shí)現(xiàn)和開發(fā)越來越復(fù)雜。為了保證質(zhì)量,協(xié)議測試是一個必需而且十分重要的手段。目前的協(xié)議測試已經(jīng)不僅僅是產(chǎn)品開發(fā)研制過程中一個簡單的檢測支持過程,而是發(fā)展成為計算機(jī)網(wǎng)絡(luò)技術(shù)的一個重要分支。對協(xié)議測試技術(shù)的研究將直接影響到計算機(jī)網(wǎng)絡(luò)技術(shù)的進(jìn)步和世界網(wǎng)絡(luò)市場的競爭與發(fā)展。所以很多國家都投入了大量的人力物力從事協(xié)議測試的研究工作。例如:英國的國家物理實(shí)驗(yàn)室NPL、法國國家通信研究中心、德國國家通信研究局GMD、美國國家標(biāo)準(zhǔn)化研究局、美國新罕布什爾大學(xué)互操作研究實(shí)驗(yàn)室、中國清華大學(xué)計算機(jī)科學(xué)與技術(shù)系的計算機(jī)網(wǎng)絡(luò)與協(xié)議測試實(shí)驗(yàn)室等單位都在這個領(lǐng)域投入了大量的研究力量。
研究方法
協(xié)議測試是在軟件測試的基礎(chǔ)上發(fā)展起來的。根據(jù)對被測軟件的控制觀察方式,軟件測試方法分為三種:白盒測試、黑盒測試和灰盒測試。白盒測試通過每條語句至少執(zhí)行一次來全面檢查整個程序代碼,而黑盒測試只測試軟件外部可以觀察到的行為,而不涉及程序的內(nèi)部結(jié)構(gòu)。白盒測試的測試能力非常強(qiáng),但是過程過于復(fù)雜,對被測軟件要求也很高。黑盒測試只關(guān)心被測軟件的輸入和輸出,測試能力雖然弱了一些,但是測試過程本身相對簡單,對被測軟件也無特殊要求?;液袦y試是將白盒測試和黑盒測試結(jié)合起來形成的一種測試方法,吸收了兩種方法的優(yōu)點(diǎn)。
協(xié)議測試是一種黑盒測試,它按照協(xié)議標(biāo)準(zhǔn),通過控制觀察被測協(xié)議實(shí)現(xiàn)的外部行為對其進(jìn)行評價。目前協(xié)議測試分成三個方面進(jìn)行研究:一致性測試(ConformanceTesting)、互操作性測試(InteroperabilityTesting)和性能測試(PerformanceTesting)。一致性測試主要測試協(xié)議實(shí)現(xiàn)是否嚴(yán)格遵循相應(yīng)的協(xié)議描述;互操作性測試關(guān)注的是對于同一個協(xié)議標(biāo)準(zhǔn),不同協(xié)議實(shí)現(xiàn)之間的互連通問題。性能測試是用實(shí)驗(yàn)的方法來觀測被測協(xié)議實(shí)現(xiàn)的各種性能參數(shù),如吞吐量和傳輸延遲等等,其結(jié)果往往與輸入負(fù)載有關(guān)。
在上述三個方面,一致性測試開展最早,也形成了很多有價值的成果。1991年國際標(biāo)準(zhǔn)化組織ISO制訂的國際標(biāo)準(zhǔn)ISO9646——“OSI協(xié)議一致性測試的方法和框架”,用自然語言描述了基于OSI七層參考模型的協(xié)議測試過程、概念和方法。但是隨著計算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,新的協(xié)議越來越復(fù)雜,協(xié)議一致性測試工作遇到了很多困難。在這個過程中,大量形式化方法被引進(jìn)到協(xié)議測試研究領(lǐng)域。1995年,ISO推出了“一致性測試中的形式化方法”國際標(biāo)準(zhǔn),對協(xié)議一致性測試過程各個階段使用的形式化方法進(jìn)行了說明。但由于協(xié)議一致性測試本身的復(fù)雜性,使得該標(biāo)準(zhǔn)一直停留在草案階段。對于互操作測試的研究技術(shù)基本上是從一致性測試?yán)^承過來的。由于對網(wǎng)絡(luò)應(yīng)用的需求急劇增長,網(wǎng)絡(luò)性能已經(jīng)變得與功能同等重要了。協(xié)議實(shí)現(xiàn)性能測試的研究工作也正在進(jìn)行之中。在進(jìn)行大量的測試實(shí)踐的同時,理論研究也正在起步。
已經(jīng)達(dá)成的共識
目前,國際協(xié)議測試研究領(lǐng)域已經(jīng)取得了以下兩點(diǎn)共識:
***,理順了協(xié)議一致性測試的過程。
第二,將形式化技術(shù)引入了協(xié)議測試領(lǐng)域,力圖用嚴(yán)格的數(shù)學(xué)語言清晰、無二義性地研究協(xié)議測試的概念和方法。但是也發(fā)現(xiàn)這種方法存在著很多不足,其中最明顯的就是這些理論研究與實(shí)際應(yīng)用之間還存在著巨大的差距。
成果與展望
清華大學(xué)計算機(jī)科學(xué)與技術(shù)系從1989年開始,在吳建平教授的帶領(lǐng)下一直堅(jiān)持在協(xié)議測試方面進(jìn)行深入探索與研究,從“八五”計劃開始就得到了國家各部門的資助,承擔(dān)了研制協(xié)議一致性測試系統(tǒng)的任務(wù),并研制成功了可以對OSI七層參考模型中各層協(xié)議進(jìn)行一致性測試的協(xié)議一致性測試系統(tǒng)PCTS(ProtocolConformanceTestingSystem)。“九五”期間,在對OSI參考模型的通信協(xié)議進(jìn)行成功測試的基礎(chǔ)上,研制開發(fā)協(xié)議集成測試系統(tǒng)PITS(ProtocolIntegratedTestingSystem),目標(biāo)是在形式化理論的指導(dǎo)下,研制一個通用的測試平臺,任何協(xié)議只要是利用統(tǒng)一的測試表示法進(jìn)行描述,都可以進(jìn)行測試。
在PITS的研制過程中有很多方面是相當(dāng)成功的。例如,在PCTS的基礎(chǔ)上,稍加優(yōu)化改進(jìn)形成PITS,就可以對TCP/IP通信協(xié)議和幀中繼協(xié)議進(jìn)行一致性測試,同時一些初步的互操作性測試和性能測試也可在這個平臺上展開。
PITS所取得的成績是可喜的,不僅在我國“863”項(xiàng)目——核心路由器的研制過程中發(fā)揮了重要作用,而且以論文的形式在重要的國際會議上發(fā)表了很多學(xué)術(shù)成果,得到了國際同行學(xué)者專家的認(rèn)可。
今天,協(xié)議測試面臨著比以往更嚴(yán)峻的挑戰(zhàn)。協(xié)議的發(fā)展是全方位的,不僅功能增強(qiáng)增多,而且也從單一的通信協(xié)議發(fā)展到更復(fù)雜的路由協(xié)議。面對從ISO參考模型各層協(xié)議到TCP/IP系列協(xié)議,從X.25、幀中繼到ATM協(xié)議乃至更復(fù)雜的路由協(xié)議(如RIP、OSPF、BGP等),協(xié)議測試也必然要從單一的功能測試發(fā)展到可以進(jìn)行多方位的測試,既包括傳統(tǒng)有限狀態(tài)機(jī)可以描述的功能,也包括復(fù)雜結(jié)構(gòu)的數(shù)據(jù)。所以目前在協(xié)議測試領(lǐng)域中有很多問題是開放的、沒有定論的,非常值得深入研究。
【編輯推薦】