COMPARISON OF HASH STRATEGIES FOR FLOW-BASED LOAD BALANCING



Similar documents
Monitoring of Tunneled IPv6 Traffic Using Packet Decapsulation and IPFIX

An Adaptive Load Balancing to Provide Quality of Service

Traffic Behavior Analysis with Poisson Sampling on High-speed Network 1

Content-Aware Load Balancing using Direct Routing for VOD Streaming Service

OpenFlow with Intel Voravit Tanyingyong, Markus Hidell, Peter Sjödin

Object Request Reduction in Home Nodes and Load Balancing of Object Request in Hybrid Decentralized Web Caching

A Small-time Scale Netflow-based Anomaly Traffic Detecting Method Using MapReduce

Vulnerability Analysis of Hash Tables to Sophisticated DDoS Attacks

IPv6/IPv4 Automatic Dual Authentication Technique for Campus Network

Load Balancing of Web Server System Using Service Queue Length

SIDN Server Measurements

Virtualizing SQL Server 2008 Using EMC VNX Series and Microsoft Windows Server 2008 R2 Hyper-V. Reference Architecture

Optimization of Cluster Web Server Scheduling from Site Access Statistics

Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking

Hashing in Networked Systems

A Survey of IP Traceback Mechanisms to overcome Denial-of-Service Attacks

Figure 1. The cloud scales: Amazon EC2 growth [2].

Improving the Database Logging Performance of the Snort Network Intrusion Detection Sensor

A Study of Network Security Systems

Flow-based detection of RDP brute-force attacks

Performance Comparison of Server Load Distribution with FTP and HTTP

An Active Packet can be classified as

Dual Mechanism to Detect DDOS Attack Priyanka Dembla, Chander Diwaker 2 1 Research Scholar, 2 Assistant Professor

CLOUDDMSS: CLOUD-BASED DISTRIBUTED MULTIMEDIA STREAMING SERVICE SYSTEM FOR HETEROGENEOUS DEVICES

Network congestion control using NetFlow

Router Architectures

Avoiding Network Polarization and Increasing Visibility in Cloud Networks Using Broadcom Smart- Hash Technology

A Topology-Aware Relay Lookup Scheme for P2P VoIP System

An Optimization Model of Load Balancing in P2P SIP Architecture

Scalable TCP Session Monitoring with Symmetric Receive-side Scaling

COMPARISON OF ALGORITHMS FOR DETECTING FIREWALL POLICY ANOMALIES

Multicast-based Distributed LVS (MD-LVS) for improving. scalability and availability

Index Terms Domain name, Firewall, Packet, Phishing, URL.

A Complex Network Structure Design for Load Balancing and Redundant

SPANIDS: A Scalable Network Intrusion Detection Loadbalancer

How To Encrypt Data With A Power Of N On A K Disk

Note! The problem set consists of two parts: Part I: The problem specifications pages Part II: The answer pages

Provider-Based Deterministic Packet Marking against Distributed DoS Attacks

An apparatus for P2P classification in Netflow traces

A Frequency-Based Approach to Intrusion Detection

High-Performance IP Service Node with Layer 4 to 7 Packet Processing Features

ACL Based Dynamic Network Reachability in Cross Domain

PEER TO PEER FILE SHARING USING NETWORK CODING

Policy Distribution Methods for Function Parallel Firewalls

A Novel Way of Deduplication Approach for Cloud Backup Services Using Block Index Caching Technique

Traffic Prediction in Wireless Mesh Networks Using Process Mining Algorithms

A Hybrid Load Balancing Policy underlying Cloud Computing Environment

Mobile IP Network Layer Lesson 02 TCP/IP Suite and IP Protocol

2. Research and Development on the Autonomic Operation. Control Infrastructure Technologies in the Cloud Computing Environment

A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster

J-Flow on J Series Services Routers and Branch SRX Series Services Gateways

High Performance Cluster Support for NLB on Window

CRC32 Based Signature Generation Methods for URL Routing

Load Balancing Algorithm Based on Services

Multi-level Metadata Management Scheme for Cloud Storage System

Midterm. Name: Andrew user id:

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

packet retransmitting based on dynamic route table technology, as shown in fig. 2 and 3.

Method of Fault Detection in Cloud Computing Systems

Scalable Prefix Matching for Internet Packet Forwarding

Stable and Flexible Weight based Clustering Algorithm in Mobile Ad hoc Networks

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

Dynamic resource management for energy saving in the cloud computing environment

Entropy-Based Collaborative Detection of DDoS Attacks on Community Networks

A Content-Based Load Balancing Algorithm for Metadata Servers in Cluster File Systems*

WHITE PAPER. Extending Network Monitoring Tool Performance

Stateful Firewalls. Hank and Foo

Network Intrusion Simulation Using OPNET

2.2 SIP-based Load Balancing. 3 SIP Load Balancing. 3.1 Proposed Load Balancing Solution. 2 Background Research. 2.1 HTTP-based Load Balancing

LIST OF FIGURES. Figure No. Caption Page No.

5 Performance Management for Web Services. Rolf Stadler School of Electrical Engineering KTH Royal Institute of Technology.

Effect of Packet-Size over Network Performance

An Active Network Based Hierarchical Mobile Internet Protocol Version 6 Framework

Flexible Deterministic Packet Marking: An IP Traceback Scheme Against DDOS Attacks

MAXIMIZING RESTORABLE THROUGHPUT IN MPLS NETWORKS

Limitations of Packet Measurement

Configuring a Load-Balancing Scheme

Load Balance Strategies for DEVS Approximated Parallel and Distributed Discrete-Event Simulations

CHAPTER 8 CONCLUSION AND FUTURE ENHANCEMENTS

Performance Modeling and Analysis of a Database Server with Write-Heavy Workload

Influence of Load Balancing on Quality of Real Time Data Transmission*

Reallocation and Allocation of Virtual Machines in Cloud Computing Manan D. Shah a, *, Harshad B. Prajapati b

Server Traffic Management. Jeff Chase Duke University, Department of Computer Science CPS 212: Distributed Information Systems

Detection of Distributed Denial of Service Attack with Hadoop on Live Network

Using Fuzzy Logic Control to Provide Intelligent Traffic Management Service for High-Speed Networks ABSTRACT:

CROSS LAYER BASED MULTIPATH ROUTING FOR LOAD BALANCING

Transcription:

International Journal of Electronic Commerce Studies Vol.6, No.2, pp.259-268, 215 doi: 1.793/ijecs.1346 COMPARISON OF HASH STRATEGIES FOR FLOW-BASED LOAD BALANCING Surasak Sanguanpong Kasetsart University Faculty of Engineering, 5 Ngamwongwan Rd., Chatuchak, Bangkok 19, Thailand Surasak.S@ku.ac.th Witsarut Pittayapitak Kasetsart University Faculty of Engineering, 5 Ngamwongwan Rd., Chatuchak, Bangkok 19, Thailand g5614531@ku.ac.th Kasom Koht-Arsa Kasetsart University Faculty of Engineering, 5 Ngamwongwan Rd., Chatuchak, Bangkok 19, Thailand Kasom.K@ku.ac.th ABSTRACT Hashing is powerful tool and widely used for flow-based load balancing schemes in parallel processing. In this paper, we analyze and compare computing overhead and load dispersion characteristics of hash strategies using XOR and CRC operations under four hashing key schemes (from to ). We conduct experiments with real-life 24-hour campus network traffic. The results show that XOR32 has the lowest computing overhead among all hash function groups. Moreover, XOR32 with and XOR32 with are the two outstanding strategies that provide very good uniform distribution of traffic across multiple links, thus achieving better load balancing for flow-based applications. Keywords: Hashing, Hash Functions, Flow-based, Load Balancing 1. INTRODUCTION In today s context, network speed has been continuously increasing to a high gigabit per second rate, while processor and memory speeds have not

26 International Journal of Electronic Commerce Studies advanced at the same pace. A single physical network node, such as Intrusion Detection System (IDS), firewall, etc., is inadequate for handling high-speed traffic in this circumstance. A widely used solution is to split traffic from a high-speed input link into multiple lower speed output links. Such traffic should be evenly distributed among the parallel output links to achieve load balancing. Otherwise, possible hot-link overload and inefficient link capacity may occur. Moreover, some applications, such as intrusion detection 1 and firewall 2, 3, 4 require that a TCP flow must be maintained on a same node from the beginning until the end of flow duration. Hashing is a simple but powerful tool for flow-based load balancing. Related packets belonging to a flow are grouped by applying a combination of header fields as a hashing key. A value computed from the hash function indicates a flow ID to direct traffic to a designated node. In this paper, we analyze characteristics of load distribution using a set of XOR and CRC functions with different keys. Three load distribution characteristics have been studied: (1) distributions by number of packets; (2) distributions by number of byte counts; and (3) distributions by number of flows. The rest of the paper is organized as follows: Section 2 presents related works, Section 3 describes hashing methodology, Section 4 presents performance measurements and comparative results, and, finally, Section 5 concludes the paper. 2. RELATED WORK Hashing offers a simple stateless solution for load balancing by maintaining a flow with correct packet ordering over a specific link 5. XOR and CRC are among well-known hash functions. Although neither of them are novel, they can provide high uniformity and low cost 6. However, balancing load in practical cases may not always be perfect due to rapidly varying and unpredictable traffic patterns 7. Cao et al. 8 simulated performance of several hash functions and showed that CRC16 provides the best performance tradeoff. However, the trace period was too short to adequately represent actual load characteristics under modern traffic. In contrast to Cao s works, Detal et al. 9 reported that CRC16 gave a rather poor packet distribution. Similarly, our experiments showed that CRC16 has worse performance compared to XOR16 and XOR32, however their distribution characteristics have no significant difference. Guang et al. 1 compared the uniformity of distribution and computation speed of the IP Shift-XOR (IPSX) hash algorithm, the Bob algorithm based on XOR, and the CRC32 algorithm. The IPSX offered fastest execution time with good uniformity. Jiang et al. 11 proposed Fowler-Noll-Vo (FNV)

Surasak Sanguanpong, Witsarut Pittayapitak, and Kasom Koht-Arsa 261 hash for balancing SIP server clusters. However, our evaluation indicated that FNV has poorer performance compared to XOR and CRC. In this paper, we complement prior works by analyzing six differences of the XOR and CRC hashing schemes (XOR8, XOR16, XOR32, CRC8, CRC16, and CRC32) when applied to flow based load balancing. Each hashing scheme is computed with four hashing keys from to based on a combination of packet header fields. 3. LOAD BALANCING WITH HASHING A model of a network load balancing system has a traffic splitter attached between an incoming link and multiple outgoing links as shown in Figure 1. The splitter receives packets from a higher-speed incoming link and dispatches packets to lower-speed outgoing links attached with the processing nodes. A hash function with keys for table lookup is used for mapping a hash value to a node ID. Let N be number of available links or nodes, a hash value h for a hash function H(X) that maps a given key X to an integer between [, N-1] is defined as follows: h = H(X) mod N A flow-based hash function requires at least source and destination addresses as a {SA, DA} of hash keys for producing a flow identifier (flow ID). The flow ID, combined with the modulo operation, gives the final hash value as the node ID to handle traffic flow. PE Incoming Traffic LOAD BALANCER PE1 PEN-1 3.1 Hash Functions Figure 1. General model of load balancing Two hash functions are extensively used in load balancing: exclusive-or (XOR) and Cyclic Redundancy Check (CRC). XOR is a basic Boolean operator such that if one of two bits is true, then so is the result, but if both are true, or both are false, then the result is false. The XOR function

262 International Journal of Electronic Commerce Studies can generate a pseudorandom number, hence it has been widely used for hashing. If K is a key with hash table size n, and is the exclusive-or operator, then the XOR operation can be expressed as: A main usage of CRC is for computing of a reliable checksum 12, 13, but its random output can be suitably applied as a hash function. The CRC is based on polynomial arithmetic in GF(2) (Galois field with two elements). The GF(2) polynomial has a single variable x whose coefficients are or 1. We adopt 3 common CRC standards: CRC8, CRC16, and CRC32. These are shown as follows: 3.2 Hashing Keys Combinations of a packet s header fields produce different hashing key schemes with k-tuples. Typical header fields (i.e. source address (SA), destination address (DA), source port (SP), destination port (DP), and protocol type (PT)) are used as hash keys. Table 1 illustrates four examples of hashing keys with different key sizes. Note that the 1-tuple is omitted due to its intrinsically poor distribution characteristics. Table 1. Hashing keys schemes Tuple Keys IPv4 Keys Size IPv6 Keys Size (bytes:bits) (bytes:bits) {SA, DA} 8:64 32:256 {SA, DA, SP} 1:8 34/272 {SA, DA, SP, DP} 12:96 36/288 {SA, DA, SP, DP, PT} 13:14 37/296 4. MEASUREMENT RESULTS A performance of hash functions is measured in two aspects: (1) Computing overhead time and (2) Load distribution using the Coefficient of Variation 14 (CV). The CV is a statistical value representing a ratio of the standard deviation to the mean. The lower the CV, the lesser the variance (better balancing) is. We run the tests using a snapshot of the Kasetsart

Time (ns) Time (ns) Surasak Sanguanpong, Witsarut Pittayapitak, and Kasom Koht-Arsa 263 University traffic repository, collected in June 213. The 24-hour period of traffic contains about 1.53x1 1 packets with total size of 14.25 TB. The hashing is computed on a machine with a quad-core 2.8 GHz Xeon 556 processor, 28GB of memory, and running 64-bit CentOS Linux 6.4. 4.1 Computing Overhead Since IPv4 and IPv6 have different sizes, which directly affect hashing performance, we then measure the computational overhead of the hash function for both IPv4 and IPv6, respectively. Since the size of the IPv6 address is four times larger than the size of IPv4, the time consumed to calculate IPv6 hashing represents the worst-case overhead. Overhead measurements for IPv4 and IPv6 exhibit very common characteristics as shown in Figures 2(a) and 2(b), respectively. XOR32 has the lowest computing overhead for all tuple schemes, while CRC16 shows the worst overhead, followed by CRC8. For each class of hash functions, XOR32 and CRC32 are the best candidates in their class because they take the least amount of time to hash packets. 45 4 35 3 25 2 15 1 5 18 16 14 12 1 8 6 4 2 XOR8 XOR16 XOR32 CRC8 CRC16 CRC32 6 8 1 12 14 XOR8 XOR16 XOR32 CRC8 CRC16 CRC32 Size of hash key (byte) (a) IPv4 3 32 34 36 38 Size of hash key (byte) (b) IPv6 Figure 2. Computing overhead of hashing for (a) IPv4 and (b) IPv6

Coffiicient of Variation Coffiicient of Variation 264 International Journal of Electronic Commerce Studies 4.2 Distribution We select XOR32 and CRC32 as the representative hash functions due to their minimal computational overhead. We compare load dispersion of four hashing key schemes in three distribution scenarios using CV against a number of nodes, ranging from 2 to 256. The 256-buckets size is selected in order to exploit the fast memory access of the CPU s L1 cache. The following are observations from the experimental results: Packet Distribution: Figures 3(a) and 3(b) show that 3, 4, and s deliver very good packet distribution in the same class. The distinctly performs the worst..12.1.8.6.4.2.12.1.8 2 4 8 16 32 64 128 256 (a) XOR32 #Node.6.4.2 2 4 8 16 32 64 128 256 #Node (b) CRC32 Figure 3. Distribution by number of packets Size Distribution: XOR32 and CRC32 show similar results for the distributions by byte counts as illustrated in Figures 4(a) and 4(b). The hashing key schemes with 4 and s show smooth distribution in the

Cofficient of Variation Cofficient of Variation Surasak Sanguanpong, Witsarut Pittayapitak, and Kasom Koht-Arsa 265 same class, while the again shows poorer distribution for the large number of nodes. Flow Distribution: XOR32 and CRC32 show similar results for the flow distributions as illustrated in Figures 5(a) and 5(b). The hashing key schemes with 3, 4 and s have very identical distribution characteristics and show excellent flow distribution. The performs extremely poorly for almost every number of nodes, since load distribution is based only on the IP addresses. We conclude that good distribution can be achieved for k-tuple, when k >3.14.12.1.8.6.4.2.14.12.1 2 4 8 16 32 64 128 256 (a) XOR32 #Node.8.6.4.2 2 4 8 16 32 64 128 256 (b) CRC32 #Node Figure 4. Distribution by total size in bytes count

Cofficient of Variation Cofficient of Variation 266 International Journal of Electronic Commerce Studies.7.6.5.4.3.2.1.7.6.5 2 4 8 16 32 64 128 256 (a) XOR32 #Node.4.3.2.1 2 4 8 16 32 64 128 256 (b) CRC32 #Node Figure 5. Figure 5. Distribution by number of flows 5. CONCLUSION We present experimental results of computational overhead for XOR/CRC hash functions and their load distribution characteristics under four hashing key schemes. Our experiments show that XOR32 has the lowest computational overhead, followed by XOR16. We found that for every hash function, the and the show the best load distribution, respectively. The combination of XOR32 with key is the best candidate strategy to provide excellent random hash indices with minimal computational overhead 6. REFERENCES [1] K. Nam-Uk, S. Jung, and T. Chung, An efficient hash-based load balancing scheme to support parallel NIDS. Lecture Notes in Computer Science, 6782, p537-549, 211.

Surasak Sanguanpong, Witsarut Pittayapitak, and Kasom Koht-Arsa 267 http://dx.doi.org/1.17/978-3-642-21928-3_39. [2] K. Koht-arsa, and S. Sanguanpong, A centralized state repository approach to highly scalable and high-availability parallel firewall. Journal of Computers 8(7), p1664-1676, 213. http://dx.doi.org/1.434/jcp.8.7.1664-1676. [3] K. Koht-arsa, and S. Sanguanpong, High availability and scalable parallel stateful firewall design. Presented at the International Conference on Internet Studies, Bangkok, August 17-19, 212. [4] P. N. Ayuso, R. M. Gasca, and L. Lefevre, Demystifying cluster-based fault-tolerant firewalls. Internet Computing, 13(6), p31-38, 29. http://dx.doi.org/1.119/mic.29.128. [5] S. Prabhavat, H. Nishiyama, N. Ansari, and N. Kato, On load distribution over multipath networks. IEEE Communications Surveys and Tutorials, 14(3), p662-68, 211. http://dx.doi.org/1.119/surv.211.82511.13. [6] B. Xiong, K. Yang, F. Li1, X. Chen, J. Zhang, Q. Tang, and Y. Luo, The impact of bitwise operators on hash uniformity in network packet processing. International Journal of Communication Systems, 27(11), p3158-3184, 214. http://dx.doi.org/1.12/dac.2532. [7] M. Molina, S. Niccolini, and N.G. Duffield, A comparative experimental study of hash functions applied to packet sampling. Presented at the 19 th International Teletraffic Congress, Beijing, August 29-September 2, 25. [8] Z. Cao, Z. Wang, and E. Zegura, Performance of hashing-based schemes for Internet load balancing. In F. Bauer (Ed.), Proceedings of the Annual Joint Conference of the IEEE Computer and Communications Societies (vol.1) (p332-341). Tel Aviv: IEEE Press, 2. http://dx.doi.org/1.119/infcom.2.83223. [9] G. Detal, C. Paasch, S. Linden, P. Mal rindol, G. Avoine, and O. Bonaventure, Revisiting flow-based load balancing: Stateless path selection in data center networks. Computer Networks, 57(5), p124-1216, 213. http://dx.doi.org/1.116/j.comnet.212.12.11. [1] C. Guang, Z. Wei, and G. Jian, XOR hashing algorithms to measured flows at the high-speed link. In B. Werne (Ed.), Proceedings of the International Conference on Future Generation Communication and Networking (vol. 1) (p152-155). Hainan Island: IEEE Press, 28. http://dx.doi.org/1.119/fgcn.28.11. [11] H. Jiang, H. Jiang, A. Iyengar, E. Nahum, W. Segmuller, A. Tantawi, and C. Wright, Design, implementation, and performance of a load balancer for SIP server clusters. IEEE Transactions on Networking, 2(4), p119-122, 212. http://dx.doi.org/1.119/tnet.212.2183612. [12] A. Doering, and M. Waldvogel, Fast and flexible CRC calculation.

268 International Journal of Electronic Commerce Studies Electronics Letters, 4(1), p1-11, 24. http://dx.doi.org/1.149/el:2432. [13] M.E. Kounavis, and F.L. Berry, A systematic approach to building high performance software-based CRC generators. In Danielle C. Martin (Ed.), Proceedings of the 1th IEEE Symposium on Computers and Communications (p855-862). Washington, DC, USA: IEEE Press, 25. http://dx.doi.org/ 1.119/ISCC.25.18. [14] R. Feldman, and C. Valdez-Flores, Applied probability and stochastic processes. New York: Thomson Publishing, 21.