Balancing flow table occupancy and link utilization in software-defined networks

Zehua Guo, Yang Xu, Ruoyan Liu, Andrey Gushchin, Kuan yin Chen, Anwar Walid, H. Jonathan Chao

Research output: Contribution to journalArticle

Abstract

Software-Defined Networking (SDN) employs a centralized control with a global network view and provides great opportunities to improve network performance. However, due to the limitation of flow-table space at the switches and unbalanced traffic allocation on links, an SDN may suffer from flow-table overflow and inefficient bandwidth allocation among flows, increasing the controller's burden and degrading network performance. In this paper, we present a dynamic routing scheme named DIFF that differentiates flows based on their impact on network resource and adaptively selects routing paths for them to mitigate the problems of flow-table overflow and inefficient bandwidth allocation. DIFF pre-generates a set of paths for each pair of source–destination edge switches and intelligently selects the paths from the pre-generated path-sets for new flows with an objective to balance flow-table utilizations. It adaptively reroutes some elephant flows to achieve maximum throughput under the rule of max–min fair bandwidth allocation. Simulation results show that DIFF simultaneously balances the flow-table and link utilizations, reduces the controller's workload and packet delay, while increasing network throughput, compared with baseline schemes.

Original languageEnglish (US)
Pages (from-to)213-223
Number of pages11
JournalFuture Generation Computer Systems
Volume89
DOIs
StatePublished - Dec 2018

Keywords

  • Flow-table overflow
  • Max–min fairness
  • OpenFlow
  • Routing
  • Software-defined networking

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications

Fingerprint Dive into the research topics of 'Balancing flow table occupancy and link utilization in software-defined networks'. Together they form a unique fingerprint.

Cite this