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