\begin{abstractzh}
    OpenFlow交換器已在現今網路佔有一定地位，隨之帶來的效能議題也倍受矚目。為此，我們
    提出五項測試方法供驗證各家OpenFlow交換器效能評估，當中的測試指標包含
    action time、pipeline time、packet-in rate、packet-out rate、pipeline gain 及
    timeout accuracy；此外，為了簡化測試流程，我們設計一自動化測試系統OFBench，該系統為
    controller-agent架構，並提供測試項目的開發功能。實驗顯示，硬體交換器在timeout的實作
    上較為不足，其實際誤差約為$\pm20\%$，但在Packet-in測試項目中，硬體交換器相對於軟體
    交換器約有$20$倍的效能差異，另外，在table pipeline測試項目中，硬體交換器在1Gbps的流
    量下擁有約$40-60\%$的pipeline gain且其實際可使用的table數量僅有60多張。
    而在實驗過程中，我們額外發現交換器在部分功能實
    作上有3項非預期的行為，其一，交換器在Apply-Action功能並沒有實作完全；其二，交換器在
    處理大量Packet-in流量時，會導致斷線需重新進行連線；最後，交換器在處理idle-timeout時，
    會有未正確將該值重置，導致flow entry提早到期。
\end{abstractzh}

\keywordszh{軟體定義網路、OpenFlow、效能、交換器、測試}

\begin{abstracten}
    Currently, there are many OpenFlow switch products available in
    the market. The performance issues of OpenFlow protocol are drawing a lot
    of attentions. In
    this work, we propose five test cases to evaluate six performance
    metrics: action time, pipeline time, packet-in rate, packet-out rate,
    pipeline gain, and timeout accuracy. The switch can be evaluated based on these metrics.
    And we also propose the automatic
    test framework: OFBench, which is a controller-agent architecture allowing
    the development of test case based on high-level scripte language. The evaluation results reveal a
    $\pm20\%$ skewness in idle-timeout accuracy in the hardware switches.
    For the Packet-in rate, the hardware switches is capable of generating Packet-in frames
    in the rate ranging from 3000 to 7000 Packet-in per second. The rate is $20$ times
    faster than that generated by the software switches.
    As for the test of the gain of table pipeline, the hardware switches reach
    $40-60\%$ pipeline gain under the 1Gbps traffic loading. And the switches only have around
    60 usable tables.
    %And the pipeline gain at least have 87\% when processing 1Gbps traffic.
    Furthermore, we observed three issues for
    switch during the testing. Firstly, the switches may not be well implemented on the
    design of Apply-Action instructions. Secondly, the switches suffer from random crashes with
    the high volume of bursty Packet-in traffic. Lastly, the timer
    of idle-timeout is not reset properly when the flow entry matched.
\end{abstracten}

\keywordsen{SDN, OpenFlow, Performance, switch, testing}
