Elsevier

Computer Networks

Volume 167, 11 February 2020, 107033
Computer Networks

Full encapsulation or internal buffering in OpenFlow based hardware switches?

https://doi.org/10.1016/j.comnet.2019.107033Get rights and content

Abstract

Software-Defined Networking (SDN) enables programmability in the network through a software-dependent control function. OpenFlow is a de-facto protocol for communication between an SDN switch and the controller. OpenFlow specifications generally allow two methods for packet encapsulation of data packets at the switch that require decisions from the controller, (a) full encapsulation, and (b) internal buffering. However, full encapsulation of data packets has been the default choice for packet processing, and internal buffering has not been explored much, especially for hardware switching. In this paper, we model and analyse the effect of internal buffering on the performance of an OpenFlow hardware switch. We compare queueing models for the switch with full encapsulation and internal buffering for hardware switching. The results show that internal buffering significantly reduces the average packet transfer delay by 85% and packet loss probability by 60%. The results further provide guidelines to network operators that internal buffering for hardware switching is useful for controllers with lower processing rates, especially in delay-sensitive applications running over SDN. For loss-sensitive applications running over SDN, the full encapsulation method is more robust handling flows with a high table miss probability.

Introduction

Software-Defined Networking (SDN) provides flexible packet processing to higher layer applications via protocols such as OpenFlow [1] and ForCES [2]. OpenFlow is the most widely used protocol to define communication between the controller and switch in SDN paradigm [3]. In SDN, the control function resides in a logically centralised controller that has network-wide visibility, while the packet forwarding is executed by the switch [3]. This “separation of concerns” between the control function and packet forwarding allows automation and programmability in the network through software.

The network automation and programmability via SDN has driven network engineers and researchers to extend SDN into wireless networks such as Industrial Internet of Things (IIoT) [4], fifth-generation (5G) wireless networks [5], and Software defined Wireless Access Networks (SDWAN) [6]. These wireless networks are relatively less stable than their wired equivalents, operate less efficiently with increasing network size (e.g. due to the contention in CSMA/CA type wireless access) and may sustain significant packet bursts over the switch-controller path leading to packet loss and poor throughput [7], [8]. Fortunately, OpenFlow switches have provisions to address the problem of contention and memory issues at the low-end switch via internal buffering [9].

Internal buffering in communication networks is used as temporary buffering of packets within the switch [10]. An OpenFlow switch with internal buffering temporarily buffers data packets within the switch and send asynchronous messages designated as “Packet-In” to the controller. A Packet-In message consists of a fraction of a data packet (around 20%) encapsulated with the OpenFlow header and buffer identifier associated with a data packet [11], [12], [13].

OpenFlow switches forward packets based on the entries of flow tables (an entry can be thought of as a row with multiple columns). A flow table is made up of flow table entries (FTEs) which generally consist of match fields with associated actions (the columns in a row). If there is no matching FTE for incoming packets of a flow at the switch, the first packet of that flow is passed to the SDN controller for decisioning. For the rest of this paper, we assume that OpenFlow is the protocol for communication between the controller and switch in SDN [14] and we only consider hardware switches (see [15], [16] for hardware vs. software switches).

OpenFlow specifications provide two packet encapsulation methods. These packet encapsulation methods are (a) internal buffering of data packets, and (b) full encapsulation of data packets. Internal buffering of data packets allows only part of data packets to be encapsulated within Packet-In messages. However, this requires additional memory at the OpenFlow switch to temporarily buffer data packets that can result in resource contention in the controller. Similarly, full encapsulation (FE) of data packets allows an OpenFlow switch (typically lower end switches) with no support for internal buffering to encapsulate an entire data packet with a Packet-In message. Therefore, the Packet-in message in the internal buffering method is smaller in size compared to the full encapsulation method. Clearly, these packet encapsulation methods have benefits and trade-offs which will be identified and analysed in this paper.

The packet encapsulation methods for the OpenFlow switch are modeled and compared analytically using queueing theory in this paper. Queueing models help switch designers and network analysers to predict performance measures before actual deployment, making it cost-effective and faster for network planning. The primary objective of this paper is to identify benefits and tradeoffs between full encapsulation of data packets and internal buffering of data packets at the OpenFlow switch.

The rest of paper is organised into six sections. In Section 2, we discuss the existing related works that use an OpenFlow based packet encapsulation methods. The hardware switching of an OpenFlow based switch is discussed in the Section 3 using the generic model. An OpenFlow based packet encapsulation methods are described and modelled using queueing theory in Section 4. The analytical and simulation results with performance analysis are discussed in Section 5. The values for traffic and switch parameters used in Section 5 are justified in Section 6 through sensitivity analyses. Finally, this paper is concluded with the summary of results in Section 7.

Section snippets

Related work

Buffering has been extensively used in the traditional switches such as ATM and Banyan switches to avoid delay and loss of packets under heavy traffic conditions [10]. Under heavy traffic conditions, the logically centralised controller in SDN can be a bottleneck with increasing flow requests for decisions. Therefore, internal buffering in SDN switches reduce the communication workload on the OpenFlow channel between the controller and switch as studied in [11].

The work in [11] focuses on the

Generic model for an OpenFlow based hardware switch

The generic model for a hardware-based SDN switch equipped with the specialised hardware and CPU (central processing unit) is shown in Fig. 1. The hardware switch maintains flow tables in both TCAM (ternary content-addressable memory) and SDRAM (synchronous dynamic random access memory) which are synchronised through a middleware layer on the switch. This synchronisation ensures consistent forwarding behaviour and avoids duplicate flow table entries (FTEs) [22], [23].

Fig. 1 shows four phases

Queueing models for packet encapsulation methods

For brevity, queueing models for hardware switching with the packet encapsulation method that require an internal buffering of data packets is named as “Internal Buffering” and full encapsulation of data packets is named as “Full Encapsulation”. Hardware switching involves the CPU and specialised hardware (namely, ternary content-addressable memory or TCAM) [24].

It is assumed that the CPU uses priority queues with a finite capacity with GI/M/1/K distribution and the specialised hardware is

Results

The parameters used for analysis and simulation are shown in Table 4. The table miss probability β has a geometrical relationship with a flow size [20] and is varied from 0.1 to 1, the switch processor or CPU service rate (μsp) is assumed to be 1000 packets/sec, the controller to switch processing ratio (mr) is varied from 0.1 to 2, and the specialised hardware service rate (μsh – in packets/sec) is assumed to be 1000 times faster than the CPU. The external arrival rate of data packets (λ1) to

Traffic and switch parameters

In this section, we perform sensitivity analysis to justify our selection of values for λ1 (that are 120, 240, 480 pkts/sec) in Section 5. We also justify the selection of μsh as 1000 times of μsp by varying ms in the full encapsulation and internal buffering models. Finally, we use realistic values of parameters for Zodiac switch based on [20] to compare the full encapsulation and internal buffering models.

For this section, the value of β is fixed to 0.2 which is typical β value for a flow in

Conclusion

In this paper, the two packet encapsulation methods based on the OpenFlow specification for hardware switching were compared using queueing models, viz., the full encapsulation model and the internal buffering model, respectively.

From comparisons, the following conclusions were made:

  • Internal buffering significantly reduces the average packet transfer delay (almost 85%) for a slower controller and (almost 20%) for a faster controller than the full packet encapsulation method.

  • Internal buffering

Declaration of Competing Interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.

Acknowledgement

The work of Deepak Singh was supported by a Victoria Doctoral Scholarship. Bryan Ng and Winston K.G. Seah were supported in part by Victoria University’s Huawei NZ Research Programme, Software-Defined Green Internet of Things project #E2881.

Deepak Kumar Singh received the received the Dr.Eng. degree from Victoria University of Wellington, New Zealand, in 2019. He is currently working as a Research Assistant in Victoria University of Wellington, New Zealand. His research focuses on modelling of Software-Defined Network, data modelling and recommendation system.

References (35)

  • Y. Gwon et al.

    Inferring origin flow patterns in wi-fi with deep learning

    ICAC

    (2014)
  • B.P.S. Sahoo, C.-C. Chou, C.-W. Weng, H.-Y. Wei, Enabling millimeter-wave 5G networks for massive IoT applications,...
  • ONF

    OpenFlow Switch Specification

    Technical Report

    (2013)
  • H.H. Kurmann et al.

    On the Emulation of Impairments in ATM-networks

    (1997)
  • D. Singh et al.

    Modelling Switches with Internal Buffering in Software-Defined Networks

    Proceedings of the 27th International Conference on Computer Communication and Networks (ICCCN)

    (2018)
  • D. Singh et al.

    Analytical modelling of software and hardware switches with internal buffer in software-Defined networks

    J. Netw. Comput. Applica.

    (2019)
  • B. Davie et al.

    A database approach to SDN control plane design

    SIGCOMM Comput. Commun. Rev.

    (2017)
  • Deepak Kumar Singh received the received the Dr.Eng. degree from Victoria University of Wellington, New Zealand, in 2019. He is currently working as a Research Assistant in Victoria University of Wellington, New Zealand. His research focuses on modelling of Software-Defined Network, data modelling and recommendation system.

    Bryan Ng completed his Ph.D. (2010) in the area of communication and networking. He held teaching & research positions in Malaysia and France in addition to attachments to commercial research laboratories Intel, Motorola, Panasonic and Orange Labs. His research interest include performance analysis of communication networks, modelling networking protocols and software defined networking.

    Yaun-Cheng Lai received his Ph.D. degree in the Department of Computer and Information Science from National Chiao Tung University in 1997. He joined the faculty of the Department of Information Management at National Taiwan University of Science and Technology in August 2001 and has been a professor since February 2008. His research interests include performance analysis, protocol design, wireless networks, and and network security.

    Ying-Dar Lin is a Distinguished Professor of computer science at National Chiao Tung University (NCTU), Taiwan. He received his Ph.D. in computer science from the University of California at Los Angeles (UCLA) in 1993. He was a visiting scholar at Cisco Systems in San Jose, California, during 2007008, and the CEO at Telecom Technology Center, Taipei, Taiwan, during 2010–2011. Since 2002, he has been the founder and director of Network Benchmarking Lab (NBL, www.nbl.org.tw), which reviews network products with real traffic and has been an approved test lab of the Open Networking Foundation (ONF) since July 2014. He also cofounded L7 Networks Inc. in 2002, which was later acquired by D-Link Corp. His research interests include network security, wireless communications, and network cloudification. He is an IEEE Fellow (class of 2013), IEEE Distinguished Lecturer (2014–2017), and ONF Research Associate, and is the Editor-in-Chief of IEEE Communications Surveys and Tutorials (COMST). He published a textbook, Computer Networks: An Open Source Approach (McGraw-Hill, 2011).

    Winston K.G. Seah received the Dr.Eng. degree from Kyoto University, Kyoto, Japan, in 1997. He is currently Professor of Network Engineering in the School of Engineering and Computer Science, Victoria University of Wellington, New Zealand. Prior to this, he has worked for more than 16 years in mission-oriented industrial research, taking ideas from theory to prototypes, most recently, as a Senior Scientist in the Institute for Infocomm Research, Singapore. His latest research interests include Internet of Things, wireless sensor networks powered by ambient energy harvesting, wireless multi-hop networks, software defined networking, and 5G access protocols for machine-type communications.

    1

    Principal corresponding author.

    View full text