基于OpenFlow的SDN測(cè)試方案及方法詳解
SDN測(cè)試平臺(tái)為SDN測(cè)試提供了測(cè)試工具和網(wǎng)絡(luò)環(huán)境。該測(cè)試平臺(tái)可以進(jìn)行比較全面的SDN測(cè)試,包括但不限于以下類型的測(cè)試:SDN協(xié)議一致性測(cè)試、SDN互通性測(cè)試、SDN功能性測(cè)試、SDN性能測(cè)試、SDN解決方案測(cè)試。
SDN測(cè)試平臺(tái)的示意圖如下所示:
該測(cè)試平臺(tái)提供了多種測(cè)試工具,包含流量生成器、SDN一致性測(cè)試儀、SDN功能性測(cè)試儀和SDN性能測(cè)試儀,可以用于不同類型的SDN測(cè)試和認(rèn)證。同時(shí),SDN測(cè)試平臺(tái)也提供了許多支持SDN的設(shè)備,如各種開源/商用的支持OpenFlow協(xié)議的交換機(jī)和控制器設(shè)備以及其它網(wǎng)絡(luò)設(shè)備,這為互通性測(cè)試做好了準(zhǔn)備。測(cè)試平臺(tái)還包括一些SDN配置管理設(shè)備和OF配置節(jié)點(diǎn),可以對(duì)SDN網(wǎng)絡(luò)和設(shè)備進(jìn)行配置和管理,還可以對(duì)配置管理協(xié)議如of-config協(xié)議進(jìn)行測(cè)試。另外,SDN測(cè)試平臺(tái)還可以展示和驗(yàn)證一些SDN應(yīng)用和SDN解決方案。
SDN測(cè)試方法 OpenFlow是SDN控制器和交換機(jī)之間的通信協(xié)議。下面介紹的SDN測(cè)試方法都是指基于OpenFlow的SDN測(cè)試。常見的SDN測(cè)試類型有協(xié)議一致性測(cè)試、互通性測(cè)試、功能測(cè)試和性能測(cè)試,下面對(duì)這幾個(gè)測(cè)試類型的測(cè)試方法分別進(jìn)行介紹。
1. SDN協(xié)議一致性測(cè)試
協(xié)議一致性測(cè)試是對(duì)OpenFlow設(shè)備(交換機(jī)設(shè)備)對(duì)OpenFlow協(xié)議的符合情況進(jìn)行測(cè)試和驗(yàn)證。ONF即開放網(wǎng)絡(luò)基金會(huì)設(shè)立OpenFlow一致性測(cè)試項(xiàng)目,目前可以開展OpenFLow 1.0標(biāo)準(zhǔn)的一致性測(cè)試。OpenFLow 1.0一致性測(cè)試的規(guī)范是“Conformance Test Specification for OpenFlow Switch Specification 1.0.1”。規(guī)范中包含10個(gè)測(cè)試組,主要對(duì)以下10個(gè)方面進(jìn)行測(cè)試:
測(cè)試組 10: 基本能力檢查
測(cè)試組 20: 基本OpenFlow協(xié)議消息
測(cè)試組 30: 生成樹
測(cè)試組 40: Flow modification消息
測(cè)試組 50: 流匹配
測(cè)試組 60: 計(jì)數(shù)器
測(cè)試組 70: 行為
測(cè)試組 80: 消息
測(cè)試組 90: 異步消息
測(cè)試組 100: 錯(cuò)誤消息
協(xié)議一致性測(cè)試是對(duì)設(shè)備支持OpenFlow情況進(jìn)行全面的檢查,包括必要的和可選的功能。有超過(guò)200個(gè)測(cè)試項(xiàng),OpenFLow交換機(jī)需要通過(guò)所有必選的測(cè)試項(xiàng)才能通過(guò)一致性測(cè)試認(rèn)證。
目前測(cè)試協(xié)議一致性使用OpenFlow協(xié)議一致性測(cè)試工具。測(cè)試拓?fù)淙缦聢D所示:
OpenFlow一致性測(cè)試儀與支持OpenFlow的交換機(jī)之間建立1個(gè)控制平面的連接和4個(gè)數(shù)據(jù)平面的連接。測(cè)試儀可以模擬控制器發(fā)送OpenFlow協(xié)議消息來(lái)檢測(cè)交換機(jī)行為,數(shù)據(jù)平面的連接用于測(cè)試和驗(yàn)證交換機(jī)能夠?qū)W(wǎng)絡(luò)數(shù)據(jù)包正確處理,包括轉(zhuǎn)發(fā),修改數(shù)據(jù)包指定字段等。
2. SDN互通性測(cè)試
互通性測(cè)試是不同廠商的OpenFlow設(shè)備之間互連互通能力的測(cè)試?;ネㄐ詼y(cè)試是非常必要的,這樣可以讓網(wǎng)絡(luò)中的設(shè)備不至于被綁定在同一家設(shè)備廠商。通過(guò)進(jìn)行多廠商SDN 互通性測(cè)試,一方面能夠發(fā)現(xiàn)設(shè)備SDN實(shí)現(xiàn)的問(wèn)題和對(duì)協(xié)議理解的問(wèn)題,有助于自身SDN產(chǎn)品的協(xié)議實(shí)現(xiàn)方面完善和優(yōu)化,另一方面可以驗(yàn)證SDN 標(biāo)準(zhǔn)的可執(zhí)行性和完整性,進(jìn)一步促進(jìn)OpenFlow協(xié)議不斷更新和完善,推動(dòng)SDN產(chǎn)業(yè)的發(fā)展。
最基本的互通性測(cè)試包括:控制通道的建立;流表測(cè)試;請(qǐng)求消息測(cè)試;流超時(shí)等。下面以拓?fù)浒l(fā)現(xiàn)為例介紹互通性測(cè)試。
將不同廠商的控制器和交換機(jī)設(shè)備按照測(cè)試拓?fù)溥M(jìn)行連接,并對(duì)所有網(wǎng)絡(luò)設(shè)備進(jìn)行正確配置,控制器應(yīng)該能夠和所有交換機(jī)設(shè)備正常建立控制通道,正確發(fā)現(xiàn)所有網(wǎng)絡(luò)設(shè)備和它們之間的連接,并以圖形界面或在命令行正確顯示。
3. 功能性測(cè)試
功能測(cè)試是對(duì)OpenFlow設(shè)備的功能進(jìn)行測(cè)試和驗(yàn)證。在SDN發(fā)展的初期,各個(gè)廠商設(shè)備對(duì)OpenFlow協(xié)議支持的情況都不同,OpenFLow協(xié)議有很多可選的功能,廠商不同程度地支持這些功能。另外,許多廠商會(huì)自行對(duì)OpenFLow協(xié)議做一些擴(kuò)展,添加一些有用的特性,所以除了協(xié)議一致性測(cè)試和互通性測(cè)試,功能性測(cè)試也是非常必要的。
功能性測(cè)試一般使用功能性測(cè)試儀作為測(cè)試工具,測(cè)試工具模擬控制器發(fā)送消息,有需要時(shí)能夠發(fā)送數(shù)據(jù)流量到交換機(jī)端口,同時(shí)可以對(duì)控制平面和數(shù)據(jù)平面的數(shù)據(jù)包進(jìn)行抓包和分析,從而判斷和確定交換機(jī)支持的功能。
4. 性能測(cè)試
性能測(cè)試是對(duì)OpenFlow設(shè)備性能進(jìn)行測(cè)試。由于目前測(cè)試整個(gè)網(wǎng)絡(luò)系統(tǒng)還有很大的挑戰(zhàn),所以這里的性能測(cè)試指的是單個(gè)網(wǎng)絡(luò)設(shè)備的性能。交換機(jī)流表容量測(cè)試和控制器***連接交換機(jī)數(shù)量也屬于交換機(jī)性能測(cè)試的范疇。測(cè)試方法如下圖所示:
總結(jié)
SDN在迅速地發(fā)展,現(xiàn)在還處于一個(gè)早期的階段。相關(guān)標(biāo)準(zhǔn)仍不夠成熟、設(shè)備對(duì)標(biāo)準(zhǔn)的支持情況也還不夠成熟,不同設(shè)備廠商對(duì)標(biāo)準(zhǔn)理解不同,設(shè)備實(shí)現(xiàn)也不盡相同,所以測(cè)試的重要性是毋庸置疑的。通過(guò)測(cè)試,可以促進(jìn)SDN更快被大家接納,讓大家對(duì)SDN設(shè)備建立信心,也讓設(shè)備的實(shí)現(xiàn)更加規(guī)范,可以用于商業(yè)部署。
目前,測(cè)試還存在很多挑戰(zhàn),測(cè)試方法還不夠全面,測(cè)試工具也不夠完善。目前的測(cè)試多為對(duì)OpenFlow設(shè)備的測(cè)試和對(duì)SDN應(yīng)用的驗(yàn)證。SDN網(wǎng)絡(luò)和系統(tǒng)的測(cè)試還存在很大的挑戰(zhàn)?,F(xiàn)階段,OpenFlow協(xié)議一致性測(cè)試和互通性測(cè)試都在積極開展。隨著SDN技術(shù)的發(fā)展,SDN的測(cè)試方法也將越來(lái)越完善。