上1篇重點介紹了《SDN控制器測試專題4:Floodlight南向接口測試報告(下)》,給出了控制器的功能測試結果。本篇將根據肯定的性能測試項,對floodlight控制器性進行逐項測實驗證,并會給出測試結果。
1 測試目的
驗證floodlight v1.0控制器的以下幾個性能情況:
■驗證控制器支交換機上線的最大范圍;
■驗證控制器支持的交換機上線的最好數量;
■驗證控制器流表下發的速度;
■驗證控制器流表下發時延;
■驗證控制支持的最大流表數量;
■驗證控制器mac地址的學習速度;
■驗證控制器在大范圍交換機上線情況下的網絡拓撲更新速度;
2 性能測試的必要性
控制器負責全部SDN網絡的集中化控制,肩負著掌控全網視圖,改良全網資源的重要作用。但由于控制能力的集中化,也就意味著控制器很容易成為未來全網的性能瓶頸。為了防患于未然,進行控制器性能測試,全面了解控制器產品的性能狀態,提供可靠的性能指標,顯得尤其重要。
3 性能瓶頸分析
SDN控制器通過南向網絡控制器技術對全部網絡中的裝備進行了集中化的管控與調度。包括鏈路發現,拓撲管理,策略制定和表項下發。
3.1 SDN控制器的工作流程
SDN控制器的工作流程以下:
1)控制器與交換機建立ofchannel通道,控制器通過ofchannel控制和管理交換機。
2)當交換機收到1個數據包且流表中沒有匹配條目,交換機會將數據包封裝在packet_in消息發送給控制器,此時數據包會緩存在交換機中等待處理。
3)控制器收到packet_in消息后,可以發送flow_mod消息向交換機寫1個流表項,并且將flow_mod消息中buffer_id字段設置為packet_in消息中的buffer_id值。從而控制器向交換機寫入了1條與數據包相干的流表項,并且指定該數據包依照該流表項的action列表處理。但是其實不是所有的數據包都需要向交換機中添加1條流表項來匹配處理,網絡中還存在多種數據包,它出現的數量很少(如ARP,IGMP等),以致于沒有必要通過流表項來指定這1類數據包的處理法,此時控制器可使用packet_out消息,告知交換機某1個數據包如何處理。
3.2 性能瓶頸分析
通過分析sdn網絡的工作流程,可知控制器通過響應packet_in消息發送packet_out/flow_mod消息的速度是非常重要的,它的快慢直接影響了控制器拓撲發現,流表下發,mac地址學習能力,乃至全部網絡的性能。而且SDN網絡中通常采取反應式流安裝,控制器的響應時間直接影響著流安裝的處理速度,本文將重點測試在負載不同的情況下控制器處理packet_in消息的吞吐量和響應時間。同時也關注控制器支持創建openflow連接的能力與拓撲更新的速度。
4 測試環境硬件配置
5 測試履行
5.1 驗證控制器支交換機上線的最大范圍
5.1.1 測試目的
驗證控制器所能接入交換機的最大數量。
5.1.2 測試拓撲
本測試項目未完,后續測試結果可點此查看原文。