Accelerate In-Line Packet Processing Using Fast Queue
|
|
|
- Kathryn Bryan
- 9 years ago
- Views:
Transcription
1 Accelerate In-Line Packet Processing Using Fast Queue Chun-Ying Huang 1, Chi-Ming Chen 1, Shu-Ping Yu 1, Sheng-Yao Hsu 1, and Chih-Hung Lin 1 Department of Computer Science and Engineering, National Taiwan Ocean University Networks and Multimedia Institute, Institute for Information Industry [email protected], {cmchen,spyu,syhsu}@snsl.cs.ntou.edu.tw, [email protected] Abstract It is common for network researchers and system developers to run packet processing algorithms on UNIX-like operating systems. For the ease of development, complex packet processing algorithms are often implemented at the user-space level. As a result, performance benchmarks for packet processing algorithms often show a great gap when packets are input from different sources. An algorithm that performs well by reading packets from a raw packet trace file may get a worse result when it reads packets directly from a network interface. Such a phenomenon gets much worse when the algorithm is going to process packets in-line. In this paper, we identify the performance bottleneck of existing in-line packet processing implementations in the Linux operating system. Based on the observation, a new software architecture, named Fast Queue, is proposed and implemented to show that the identified bottleneck can be effectively eliminated. Experiments show that the proposed software architecture reduces 0% of CPU utilization. In addition, the overall system throughput can be improved by a factor of 1. when it is applied to the well-known snort-inline open source intrusion detection system. Index Terms Fast Queue, in-line packet processing, zero copy interface I. INTRODUCTION Emerging network applications and threats make networks harder to be managed well. Undesirable network traffic, including multimedia streams, game traffic, peer-to-peer shares, or network intrusions, often consumes valuable network resources and causes unexpected network damages in commercial networks. Therefore, it is important to properly manage and filter network flows transmitted in a network. In the past, flows are usually managed by enforcing policies based on the so called five tuples, i.e., the source IP address, the source port, the destination IP address, the destination port, and the transport layer protocol.however, modern network applications often bypass these policies by using randomized port numbers. As a result, it is a must to develop advanced packet processing algorithms to handle these mutated network applications. Packet processing algorithms vary on complexities. A traffic classification algorithm can be easily done by examining only the first n payload bytes in a packet [11], []. However, it This work was supported in part by National Science Council under the grant number NSC E MY and by Taiwan Information Security Center at NTUST(TWISC@NTUST) under the grant number NSC E can be much more complex because classifying a flow often requires a number of preprocessing steps before a decision can be made. For example, intrusion detection systems [10], [9] use algorithms to handle fragmented packets, data compressions, obfuscated content encodings, and pattern matchings. A WAN optimization system [] use algorithms to handle cache management, packet coalescing, compression, and decompression. When the complexity of a packet processing algorithm increases, it would be much easier for developers to implement the algorithm at the user-space level instead of the kernel-space level. Implementing complex packet processing algorithms at the user-space level has two major benefits. One benefit is the ease of implementation. Developers are not required to understand the underlying kernel details to store and process packets. Another benefit is the confinement of coding errors. If an implemented algorithm is crashed, the fault can be confined in the user-space without affecting other parts of the OS kernel. In addition, testing and debugging at the user-space level is also much easier. However, performance penalties make it impractical to implement packet processing algorithms at the user-space level. Figure 1 shows the extra costs brought by a user-space implementation of a packet processing algorithm. The benchmark is done with a Linux operating system running on a Pentium-III 1000Mhz CPU. The implemented packet processing algorithm does nothing. It simply intercepts packets forwarded by the operating system and put them back to the system, both at the user-space level. The overall throughput is 10Mbps and the CPU utilization is almost 100% during the packet forwarding process. From the figure, we can see that most of the CPU resources are consumed by accessing packets from the OS kernel and issuing software interrupts. There are already zero copy solutions that reduce the extra cost brought by moving data between the user-space and the kernel-space [1], [], [], [7], []. However, they do not completely solve the problem. As we can see in Figure 1, in addition to data movement, a great portion of CPU resources is consumed by software interrupts, which are issued twice for each packet. Thus, we need a new architecture to reduce both extra overheads incurred by data movements and software interrupts. In this paper, we propose Fast Queue to improve the performance of in-line packet processing. By using memory mapped ring buffers and high-resolution timers, a user-space packet processing algorithm is able to access packets from
2 Fig. 1. Function name CPU usage skb_copy_bits % kfree.7% copy_to_user.99% alloc_skb.7% handle_irq_event.% Sampled additional costs incurred by kernel-user space interactions. the operating system with a low overhead interface and hence improves the overall performance. The rest of the paper is organized as follows. In Section II, previous researches related to the proposed solution are reviewed and discussed. The proposed solution and a reference implementation are introduced in Section III. With the implementation, we evaluate the performance improvement in Section IV by using two different in-line packet processing algorithms. Finally, a concluding remark is given in Section V. II. RELATED WORK Many researches and implementations have focused on eliminating the extra overheads brought by user- and kernelspace interaction. A number of works targeted on the acceleration of socket programming interface. Chu [1] proposed a zerocopy TCP socket and implemented it on the Solaris operating system. In addition, this work classifies existing solutions into four different models, as follows: 1) User accessible interface memory ) Kernel-network shared memory ) User-kernel shared memory, and ) User-kernel page remapping with copy-on-write (COW) Each model has its own advantages and disadvantages. Chu s and a latter implementation on FreeBSD [] both use the fourth model, i.e., user-kernel page remapping with COW. With this model, data sent by a user is directly transferred from the user s buffer to the network interface via DMA and vice versa. No CPU interaction is required. However, all involved buffers must align on page boundaries and occupy an integral number of MMU pages. This is not a problem when sending data since fragmented user buffer can be transmitted using CPU copy. However, a programmer has to avoid overwriting buffers that have been written to the socket but not yet freed by the kernel. To receive data correctly, the data must be at least a page in size and page aligned in order to be mapped into the kernel. Therefore, network interface drivers must arrange receive buffers in such a way that, after DMA, user payload shows up on a page boundary in the buffer. These limitations increase difficulties for programmers to manage buffers properly, restrict the size of MTU, and require supports provided by network interface hardware. Maltz et al. [8] proposed a solution to improve the performance of application proxy servers implemented at the userspace level. The authors add several new ioctl commands that are able to splice two established TCP connections at the kernel-space level. When two TCP connections are spliced, data received by one connection is immediately forwarded to the other connection and vice versa. The motivation behind the solution is straightforward. The authors observe that the major work of an application proxy server is to forward data between the two network connections associated by the proxy. Even if a proxy server has to examine the content transmitted in a forwarded network connection, it is often done only for the very first bytes of the connection data stream. Hence, the data forwarding job can be moved to the kernel instead of staying at the user-space level. The evaluation shows that the data forwarding throughput for spliced TCP connections is almost equivalent to IP packet forwarding. However, when two TCP connections are spliced, the user-space proxy server is no longer able to know what is being forwarded by the kernel. There are some other solutions to improve the performance of network services. The sendfile system call [7], [] is able to reduce the cost of sending file content through the network. Traditionally, a network server has to iteratively read each file data block into a user space buffer and then write the buffered block to a opened network socket. With sendfile, the network server is able to do the same job by binding the descriptors of the file and the network socket, and the kernel does the rest for the server. Consequently, the two extra data movements between the user- and the kernel-space for each buffered data block can be eliminated. The Linux kernel also provides a performance improved implementation to reduce the cost of moving data from the kernel- to the user-space when sniffing packets directly from the network interface. In the past, programmers use the PACKET_SOCKET interface [] to create a descriptor and then read packets by the read system call. Now, the PACKET_SOCKET interface supports memory mapped operations. To use the memory mapped technique, a proper size of a framed ring buffer must be initialized first to receive packets copied from network interfaces. The ring buffer is then shared by the user- and the kernel-space codes. On receipt of a packet by the kernel, the packet is placed in the current available frame in the ring buffer, mark the frame as occupied, and signals the user space program to process packet frames. Packets are dropped if no frame is available. Once the user space program has processed a packet, the corresponding frame is then marked as available and thus the kernel is able to continue receiving more packets. The famous pcap packet capture library now also leverages the new memory mapped interface to improve its performance. Although a number of solutions are able to improve the performance of socket operations and packet capturing, they are not enough for in-line packet processing at the user-space level. There is one fundamental difference for in-line packet processing. Compare with the above techniques, the userspace program is not an end point of a packet. When an intercepted packet has been processed, it must be re-injected into the kernel as soon as possible. In addition, the number of user-kernel interactions for each packet must be reduced because the number of packets can be huge in a busy network. Therefore, care must be taken when designing the solution.
3 user space kernel space User space program last occupied frame frame state framed packet buffer last processed frame flags packet data next available frame 1 7 /* An infinite loop */ while true do while the FO pointer points to an occupied frame do Process the frame; Set the frame flag to either accept or drop; Set the frame state to processed; Move the FO pointer to the next frame; Call poll or select to wait for incoming packets Enter sleeping state; fastqueue kernel module operating system - kernel network stack Fig.. A. Architecture The architecture of the proposed solution. III. THE PROPOSED SOLUTION The goal of the proposed solution is simple, i.e., improve the in-line packet processing performance. Modern UNIXlike operating systems have their own interfaces to intercept network packets. For example, the Linux operating system has the netfilter-queue and the FreeBSD operating system has the divert socket. However, they are not efficient enough especially when they are running on low computation power devices such as embedded systems. The proposed solution improves the overall system performance by eliminating frequently used user-kernel interactions. It follows the user-kernel shared memory model to reduce the cost of moving packets between the user- and the kernel-space level. The proposed system architecture is depicted in Figure. There are three roles in the architecture. The packet receiver and the packet sender are both implemented as parts of the kernel. On the contrast, the packet handler, which implements the packet processing algorithm, is implemented as a user-space program. All the three roles share the same memory area in the kernel, which is configurable by the user space program. The shared memory is actually a framed ring buffer. Each frame has a frame state, which can be one of the below three states: Available: A frame of this state means that it is vacancy and is ready to receive packets. When a shared memory space is just created, all frames states are reset to available. Occupied: If a packet has been placed in a vacancy frame, the frame state is changed to the occupied state. The received packet then waits for the user-space program to process it. A notification signal is also sent to a userspace program if the program is waiting for incoming packets. Processed: If a frame state is set to this state, it means that the packet stored in the frame should be re-injected into the network. A frame is usually set to the processed state right after it has been processed by the user space Fig.. The pseudo-code for the packet handler. This piece of codes is actually packet-driven since it is waken up only on receipt of packets. program. When a frame is set to this state, an additional flag must be set to tell the kernel how to handle the reinjected packet, i.e., accept or drop the packet. To manage the ring buffer properly, three pointers are used to indicate the correct positions to access, as shown in Figure. The three pointers indicate the position of 1) the next available frame (FA), ) the last occupied frame (FO), and ) the last processed frame (FP). A pointer is used only by one of the three roles. For example, the packet receiver uses the FA pointer to find the first available frame in the ring buffer; the packet handler uses the FO pointer to find the next to-beprocessed frame; and the packet sender uses the FP pointer to find the next to-be-sent frame. At the system initialization phase, all the pointers point to the first frame in the ring buffer. A pointer is moved one frame forward if the corresponding role has finished processing a packet. With these pointers, a proper frame can be accessed in a constant time. Readers should notice that one Fast Queue can be used by only one user space program. That is, all queued packets are processed by the same packet processing algorithm. However, this limitation can be eliminated easily by creating multiple Fast Queues. Please refer to Section III-C for the details. B. Algorithms The three roles mentioned in Section III-A are driven by different manners. It is naïve that the packet receiver can be driven by incoming packets, which are triggered on receipt of network packets by a network interface. Similar to the packet receiver, the packet handler can be also driven by incoming packets. The packet handler enters a sleeping state by using system calls such as poll or select. Then, it can be waken up as well when an incoming packet is queued. The algorithms for the packet handler and the packet receiver are depicted in Figure and Figure, respectively. Compare with the packet receiver and the packet handler, the design of the packet sender is a little bit different. This is because when a packet has been processed by the packet handler, only the state and the additional flag of the processed frame is affected. Neither interrupts nor events are generated for memory access operations. Therefore, instead of a packetdriven design, the packet sender is executed periodically. During the execution, it checks the ring buffer to see whether
4 1 7 1 Input: pkt - the received packet. /* On receipt of a packet */ if the FA pointer points to an available frame then Place pkt in the frame; Set the frame state to occupied; Move the FA pointer to the next frame; Wake up the sleeping packet handler; else /* Take the default action */ Re-inject te packet into the kernel network stack: Ask the kernel to drop or accept the packet based on the default action; Fig.. The pseudo-code for the packet receiver. This is a interrupt handler registered to handle incoming packets received by the network interface card. /* An infinite loop */ while true do while the FP pointer points to a processed frame do Re-inject the packet into the kernel network stack: Ask the kernel to drop or accept the packet based on the frame flag; Set the frame state to available; Move the FP pointer to the next frame; Sleep for a fixed period of time; Fig.. The pseudo-code for the packet sender. the FP pointer points to a processed packet. Once a processed packet is found, the packet is re-inject to the kernel. The algorithm of the packet sender is depicted in Figure. C. Implementation The proposed solution has been implemented on a Linux operating system. It is implemented as a kernel module hooking on the built-in netfilter firewall. There are several benefits to hook the Fast Queue kernel module on the built-in netfilter firewall. First, it is able to leverage netfilter packet filtering rules to filter out packets that are not required to be processed by the packet processing algorithm. Second, it is also easier to create multiple Fast Queues and then feed packets to the queues based on packet tags or packet filtering rules. Queues with different priorities therefore provide different level of QoS capabilities. Third, since the Linux netfilter firewall is able to intercept packets at different places in the operating system kernel, a packet processing algorithm is hence able to choose a proper place, e.g., incoming, outgoing, or forwarding, to process packets. These benefits make life easier for programmers and researchers since they can focus only on the design of the packet filtering algorithm instead of worrying about where, when, and how to intercept network packets. Our implementation can be discussed in two parts. For the user-space part, a character device node placed in /dev/fastqueue is registered as the interface between the user- and the kernel-space. Before reading packets from iperf Client Fig.. Linux (with Fast Queue) The benchmark environment. iperf Server the shared memory, a user-space application must run the following three initialization steps: 1) Open the /dev/fastqueue device. ) Use the ioctl system call to allocate a fixed size memory as the shared ring buffer. ) Use the mmap system call to map the kernel-space ring buffer into user-space address. Then, the user-space program is able to read packet data from the ring buffer, process it, and then pass the processed result via the same buffer. For the kernel-space part, the implemented module use the nf_register_queue_handler to register a call-back function for intercepting packets from netfilter firewall packet queue at the initialization phase. On receipt of a packet, it is placed in the previously allocated ring buffer. If the ring buffer has not been allocated or is full, a received packet is dropped or accepted by the kernel according to default policies. At the initialization phase, the module also register a timer handler, which is used to trigger the packet sender periodically so that processed packets can be finally re-injected into the kernel network stack. To improve the processing efficiency, we use a high-resolution timer of 1000HZ to check the availability of processed packets. Modern hardware already supports high resolution timers, which is capable of providing an extreme high clock tick frequency up to 1GHZ. However, it is harmful to system performance if a extremely high clock tick rate is used to trigger kernel functions. IV. EVALUATION To evaluate the proposed solution, we use two different packet processing algorithm to benchmark the performance. One is the NULL packet processing algorithm and another is the well-known open source snort intrusion detection system. Readers should notice that the NULL packet processing algorithm actually does nothing. It simply intercepts packets from the operating system and then ask the kernel to accept the intercepted packets immediately. The use of the NULL algorithm is to show the effectiveness on reduction of the overall CPU utilization. The benchmark environment is shown in Figure, the proposed solution and the packet processing algorithms are run on the middle device. The left side and the right side device runs the iperf performance benchmark software client and server, respectively. The TCP throughput and CPU utilization is measured to see the effectiveness of the proposed architecture. For hardware configurations, all network interfaces installed on the devices are gigabit
5 figure, the overall throughput of the snort intrusion detection system has been improved by a factor of 1., i.e., improved from an average of 70Mbps to 11Mbps.s V. CONCLUSION AND FUTURE WORK In this paper, a software-based high performance packet queueing mechanism is proposed for packet processing algorithms implemented at the user-space level. It is also implemented on the Linux operating system to show its effectiveness. Benchmark results show that the proposed solution effectively improves the system performance in terms of both CPU utilization and system throughput. We believe that the proposed solution is beneficial for many existing embedded platforms. It brings performance boosts without changing the hardware. Although the preliminary implementation already shows a great improvement on the performance, there are still some future works can be done. We would like to further analyze and model the performance of the proposed solution to find out the proper configuration, i.e., ring buffer size and clock tick frequency, to match the network performance requirements. In addition, it is also worth to discuss how multiple queues affect the system performance and what level of QoS capabilities can be provided with multiple queues. VI. ACKNOWLEDGEMENT This work was conducted under the Next Generation Security Technology Deployment and Enablement Project of Institute for Information Industry which is subsidized by the Ministry of Economy Affairs of the Republic of China. We also thank the anonymous reviewers for their valuable comments and suggestions. REFERENCES Fig. 7. CPU utilization (upper) and system throughputs (lower) benchmarked on a P-III 1G system. network interfaces. The middle device is an Intel Pentium- III 1GHZ machine and the left and the right device are virtual machines running on an Intel Core Duo.GHZ machine. For software configurations, the ring buffer size and the timer tick frequency set on the middle device is 08 packets and 1000HZ, respectively. The client side iperf commands used to benchmark for the TCP performance are shown below. iperf --client $SERVER_IP \ --time interval Figure 7 shows the performance benchmark result for the proposed Fast Queue (FQ) and the system default implementation Netfilter IP queue (IPQ). We find that all the CPU resources are depleted by the packet forwarding process except the NULL algorithm that intercepting network packets using Fast Queue. Compare with the built-in queueing mechanism, we can see that Fast Queue reduces more than 0% of CPU resources on average. From the benchmarked utilization results, the performance gap can be easily identified. From the [1] H.-K. J. Chu. Zero-copy TCP in Solaris. In Proceedings of the 199 annual conference on USENIX Annual Technical Conference, Berkeley, CA, USA, Jan USENIX Association. [] N. Conner. WAN Optimization for Dummies. Wiley Publishing, Inc., May 009. [] A. Gallatin and K. Merry. zero copy, zero copy sockets zero copy sockets code. [online] copy&sektion=9. [] T. Karagiannis, K. Papagiannaki, and M. Faloutsos. BLINC: multilevel traffic classification in the dark. In Proceedings of the SIGCOMM 00 conference on Applications, technologies, architectures, and protocols for computer communications, pages 9 0, New York, NY, USA, 00. ACM. [] D. G. Lawrence. sendfile - send a file to a socket. [online] freebsd.org/cgi/man.cgi?query=sendfile&sektion=. [] Linux man-pages project. packet, AF PACKET - packet interface on device level. [online] pages/man7/packet.7.html. [7] Linux man-pages project. sendfile - transfer data between file descriptors. [online] sendfile..html. [8] D. A. Maltz and P. Bhagwat. TCP splice for application layer proxy performance. Journal of High Speed Networks, 8(): 0, [9] V. Paxson. Bro: A system for detecting network intruders in real-time. In Proceedings of the 7th USENIX Security Symposium, Jan [10] M. Roesch. Snort - lightweight intrusion detection for networks. In Proceedings of the 1th USENIX LISA Conference, pages 9 8, Nov [11] M. Strait and E. Sommer. Application layer packet classifier for linux. [online]
Improving DNS performance using Stateless TCP in FreeBSD 9
Improving DNS performance using Stateless TCP in FreeBSD 9 David Hayes, Mattia Rossi, Grenville Armitage Centre for Advanced Internet Architectures, Technical Report 101022A Swinburne University of Technology
Intel DPDK Boosts Server Appliance Performance White Paper
Intel DPDK Boosts Server Appliance Performance Intel DPDK Boosts Server Appliance Performance Introduction As network speeds increase to 40G and above, both in the enterprise and data center, the bottlenecks
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
Operating Systems Design 16. Networking: Sockets
Operating Systems Design 16. Networking: Sockets Paul Krzyzanowski [email protected] 1 Sockets IP lets us send data between machines TCP & UDP are transport layer protocols Contain port number to identify
Network Defense Tools
Network Defense Tools Prepared by Vanjara Ravikant Thakkarbhai Engineering College, Godhra-Tuwa +91-94291-77234 www.cebirds.in, www.facebook.com/cebirds [email protected] What is Firewall? A firewall
Frequently Asked Questions
Frequently Asked Questions 1. Q: What is the Network Data Tunnel? A: Network Data Tunnel (NDT) is a software-based solution that accelerates data transfer in point-to-point or point-to-multipoint network
Optimizing Network Virtualization in Xen
Optimizing Network Virtualization in Xen Aravind Menon EPFL, Lausanne [email protected] Alan L. Cox Rice University, Houston [email protected] Willy Zwaenepoel EPFL, Lausanne [email protected]
Sockets vs. RDMA Interface over 10-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck
Sockets vs. RDMA Interface over 1-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck Pavan Balaji Hemal V. Shah D. K. Panda Network Based Computing Lab Computer Science and Engineering
Optimizing TCP Forwarding
Optimizing TCP Forwarding Vsevolod V. Panteleenko and Vincent W. Freeh TR-2-3 Department of Computer Science and Engineering University of Notre Dame Notre Dame, IN 46556 {vvp, vin}@cse.nd.edu Abstract
Network packet capture in Linux kernelspace
Network packet capture in Linux kernelspace An overview of the network stack in the Linux kernel Beraldo Leal [email protected] http://www.ime.usp.br/~beraldo/ Institute of Mathematics and Statistics
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging
Achieving Nanosecond Latency Between Applications with IPC Shared Memory Messaging In some markets and scenarios where competitive advantage is all about speed, speed is measured in micro- and even nano-seconds.
Putting it on the NIC: A Case Study on application offloading to a Network Interface Card (NIC)
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE CCNC 2006 proceedings. Putting it on the NIC: A Case Study on application
Monitoring high-speed networks using ntop. Luca Deri <[email protected]>
Monitoring high-speed networks using ntop Luca Deri 1 Project History Started in 1997 as monitoring application for the Univ. of Pisa 1998: First public release v 0.4 (GPL2) 1999-2002:
Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking
Quantifying the Performance Degradation of IPv6 for TCP in Windows and Linux Networking Burjiz Soorty School of Computing and Mathematical Sciences Auckland University of Technology Auckland, New Zealand
Revisiting Software Zero-Copy for Web-caching Applications with Twin Memory Allocation
Revisiting Software Zero-Copy for Web-caching Applications with Twin Memory Allocation Xiang Song Jicheng Shi, Haibo Chen and Binyu Zang IPADS of Shanghai Jiao Tong University Fudan University Network
Wire-speed Packet Capture and Transmission
Wire-speed Packet Capture and Transmission Luca Deri Packet Capture: Open Issues Monitoring low speed (100 Mbit) networks is already possible using commodity hardware and tools based on libpcap.
High-Performance IP Service Node with Layer 4 to 7 Packet Processing Features
UDC 621.395.31:681.3 High-Performance IP Service Node with Layer 4 to 7 Packet Processing Features VTsuneo Katsuyama VAkira Hakata VMasafumi Katoh VAkira Takeyama (Manuscript received February 27, 2001)
Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015
CS168 Computer Networks Jannotti Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015 Contents 1 Introduction 1 2 Components 1 2.1 Creating the tunnel..................................... 2 2.2 Using the
Assessing the Performance of Virtualization Technologies for NFV: a Preliminary Benchmarking
Assessing the Performance of Virtualization Technologies for NFV: a Preliminary Benchmarking Roberto Bonafiglia, Ivano Cerrato, Francesco Ciaccia, Mario Nemirovsky, Fulvio Risso Politecnico di Torino,
Have both hardware and software. Want to hide the details from the programmer (user).
Input/Output Devices Chapter 5 of Tanenbaum. Have both hardware and software. Want to hide the details from the programmer (user). Ideally have the same interface to all devices (device independence).
VMWARE WHITE PAPER 1
1 VMWARE WHITE PAPER Introduction This paper outlines the considerations that affect network throughput. The paper examines the applications deployed on top of a virtual infrastructure and discusses the
The Lagopus SDN Software Switch. 3.1 SDN and OpenFlow. 3. Cloud Computing Technology
3. The Lagopus SDN Software Switch Here we explain the capabilities of the new Lagopus software switch in detail, starting with the basics of SDN and OpenFlow. 3.1 SDN and OpenFlow Those engaged in network-related
Extensible Network Configuration and Communication Framework
Extensible Network Configuration and Communication Framework Todd Sproull and John Lockwood Applied Research Laboratory Department of Computer Science and Engineering: Washington University in Saint Louis
D1.2 Network Load Balancing
D1. Network Load Balancing Ronald van der Pol, Freek Dijkstra, Igor Idziejczak, and Mark Meijerink SARA Computing and Networking Services, Science Park 11, 9 XG Amsterdam, The Netherlands June [email protected],[email protected],
Performance of Software Switching
Performance of Software Switching Based on papers in IEEE HPSR 2011 and IFIP/ACM Performance 2011 Nuutti Varis, Jukka Manner Department of Communications and Networking (COMNET) Agenda Motivation Performance
How To Monitor And Test An Ethernet Network On A Computer Or Network Card
3. MONITORING AND TESTING THE ETHERNET NETWORK 3.1 Introduction The following parameters are covered by the Ethernet performance metrics: Latency (delay) the amount of time required for a frame to travel
We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall
Chapter 10 Firewall Firewalls are devices used to protect a local network from network based security threats while at the same time affording access to the wide area network and the internet. Basically,
High-Performance Many-Core Networking: Design and Implementation
High-Performance Many-Core Networking: Design and Implementation Jordi Ros-Giralt, Alan Commike, Dan Honey, Richard Lethin Reservoir Labs 632 Broadway, Suite 803 New York, NY 10012 Abstract Operating systems
ΕΠΛ 674: Εργαστήριο 5 Firewalls
ΕΠΛ 674: Εργαστήριο 5 Firewalls Παύλος Αντωνίου Εαρινό Εξάμηνο 2011 Department of Computer Science Firewalls A firewall is hardware, software, or a combination of both that is used to prevent unauthorized
An apparatus for P2P classification in Netflow traces
An apparatus for P2P classification in Netflow traces Andrew M Gossett, Ioannis Papapanagiotou and Michael Devetsikiotis Electrical and Computer Engineering, North Carolina State University, Raleigh, USA
Optimizing Network Virtualization in Xen
Optimizing Network Virtualization in Xen Aravind Menon EPFL, Switzerland Alan L. Cox Rice university, Houston Willy Zwaenepoel EPFL, Switzerland Abstract In this paper, we propose and evaluate three techniques
ON THE IMPLEMENTATION OF ADAPTIVE FLOW MEASUREMENT IN THE SDN-ENABLED NETWORK: A PROTOTYPE
ON THE IMPLEMENTATION OF ADAPTIVE FLOW MEASUREMENT IN THE SDN-ENABLED NETWORK: A PROTOTYPE PANG-WEI TSAI, CHUN-YU HSU, MON-YEN LUO AND CHU-SING YANG NATIONAL CHENG KUNG UNIVERSITY, INSTITUTE OF COMPUTER
Transport Layer Protocols
Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements
Measure wireless network performance using testing tool iperf
Measure wireless network performance using testing tool iperf By Lisa Phifer, SearchNetworking.com Many companies are upgrading their wireless networks to 802.11n for better throughput, reach, and reliability,
Improving Passive Packet Capture: Beyond Device Polling
Improving Passive Packet Capture: Beyond Device Polling Luca Deri NETikos S.p.A. Via Matteucci 34/b 56124 Pisa, Italy Email: [email protected] http://luca.ntop.org/ Abstract Passive packet capture
Performance Evaluation of Linux Bridge
Performance Evaluation of Linux Bridge James T. Yu School of Computer Science, Telecommunications, and Information System (CTI) DePaul University ABSTRACT This paper studies a unique network feature, Ethernet
Cisco Integrated Services Routers Performance Overview
Integrated Services Routers Performance Overview What You Will Learn The Integrated Services Routers Generation 2 (ISR G2) provide a robust platform for delivering WAN services, unified communications,
Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build 164009
Performance Study Performance Evaluation of VMXNET3 Virtual Network Device VMware vsphere 4 build 164009 Introduction With more and more mission critical networking intensive workloads being virtualized
InfiniBand Software and Protocols Enable Seamless Off-the-shelf Applications Deployment
December 2007 InfiniBand Software and Protocols Enable Seamless Off-the-shelf Deployment 1.0 Introduction InfiniBand architecture defines a high-bandwidth, low-latency clustering interconnect that is used
White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux
White Paper Real-time Capabilities for Linux SGI REACT Real-Time for Linux Abstract This white paper describes the real-time capabilities provided by SGI REACT Real-Time for Linux. software. REACT enables
TCP Offload Engines. As network interconnect speeds advance to Gigabit. Introduction to
Introduction to TCP Offload Engines By implementing a TCP Offload Engine (TOE) in high-speed computing environments, administrators can help relieve network bottlenecks and improve application performance.
SIDN Server Measurements
SIDN Server Measurements Yuri Schaeffer 1, NLnet Labs NLnet Labs document 2010-003 July 19, 2010 1 Introduction For future capacity planning SIDN would like to have an insight on the required resources
Collecting Packet Traces at High Speed
Collecting Packet Traces at High Speed Gorka Aguirre Cascallana Universidad Pública de Navarra Depto. de Automatica y Computacion 31006 Pamplona, Spain [email protected] Eduardo Magaña Lizarrondo
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...
Improving the Database Logging Performance of the Snort Network Intrusion Detection Sensor
-0- Improving the Database Logging Performance of the Snort Network Intrusion Detection Sensor Lambert Schaelicke, Matthew R. Geiger, Curt J. Freeland Department of Computer Science and Engineering University
kp2padm: An In-kernel Gateway Architecture for Managing P2P Traffic
kp2padm: An In-kernel Gateway Architecture for Managing P2P Traffic Ying-Dar Lin 1, Po-Ching Lin 1, Meng-Fu Tsai 1, Tsao-Jiang Chang 1, and Yuan-Cheng Lai 2 1 National Chiao Tung University 2 National
Tempesta FW. Alexander Krizhanovsky NatSys Lab. [email protected]
Tempesta FW Alexander Krizhanovsky NatSys Lab. [email protected] What Tempesta FW Is? FireWall: layer 3 (IP) layer 7 (HTTP) filter FrameWork: high performance and flexible platform to build intelligent
Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems
Lecture Outline Operating Systems Objectives Describe the functions and layers of an operating system List the resources allocated by the operating system and describe the allocation process Explain how
Revisiting Software Zero-Copy for Web-caching Applications with Twin Memory Allocation
Revisiting Software Zero-Copy for Web-caching Applications with Twin Memory Allocation Xiang Song, Jicheng Shi, Haibo Chen, Binyu Zang Institute of Parallel and Distributed Systems, Shanghai Jiao Tong
Stream Processing on GPUs Using Distributed Multimedia Middleware
Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research
ΕΠΛ 475: Εργαστήριο 9 Firewalls Τοίχοι πυρασφάλειας. University of Cyprus Department of Computer Science
ΕΠΛ 475: Εργαστήριο 9 Firewalls Τοίχοι πυρασφάλειας Department of Computer Science Firewalls A firewall is hardware, software, or a combination of both that is used to prevent unauthorized Internet users
Security Overview of the Integrity Virtual Machines Architecture
Security Overview of the Integrity Virtual Machines Architecture Introduction... 2 Integrity Virtual Machines Architecture... 2 Virtual Machine Host System... 2 Virtual Machine Control... 2 Scheduling
Network Design and Implementation of Proxies
Advanced Security Proxies: An Architecture and Implementation for High- Performance Network Firewalls Roger Knobbe, Andrew Purtell, Stephen Schwab {rknobbe, apurtell, sschwab}@nai.com TIS Labs at Network
How To Classify Network Traffic In Real Time
22 Approaching Real-time Network Traffic Classification ISSN 1470-5559 Wei Li, Kaysar Abdin, Robert Dann and Andrew Moore RR-06-12 October 2006 Department of Computer Science Approaching Real-time Network
NetStream (Integrated) Technology White Paper HUAWEI TECHNOLOGIES CO., LTD. Issue 01. Date 2012-9-6
(Integrated) Technology White Paper Issue 01 Date 2012-9-6 HUAWEI TECHNOLOGIES CO., LTD. 2012. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means
An Oracle Technical White Paper November 2011. Oracle Solaris 11 Network Virtualization and Network Resource Management
An Oracle Technical White Paper November 2011 Oracle Solaris 11 Network Virtualization and Network Resource Management Executive Overview... 2 Introduction... 2 Network Virtualization... 2 Network Resource
Hadoop Technology for Flow Analysis of the Internet Traffic
Hadoop Technology for Flow Analysis of the Internet Traffic Rakshitha Kiran P PG Scholar, Dept. of C.S, Shree Devi Institute of Technology, Mangalore, Karnataka, India ABSTRACT: Flow analysis of the internet
Question: 3 When using Application Intelligence, Server Time may be defined as.
1 Network General - 1T6-521 Application Performance Analysis and Troubleshooting Question: 1 One component in an application turn is. A. Server response time B. Network process time C. Application response
Chapter 3. Internet Applications and Network Programming
Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure
Why SSL is better than IPsec for Fully Transparent Mobile Network Access
Why SSL is better than IPsec for Fully Transparent Mobile Network Access SESSION ID: SP01-R03 Aidan Gogarty HOB Inc. [email protected] What are we all trying to achieve? Fully transparent network access
UPPER LAYER SWITCHING
52-20-40 DATA COMMUNICATIONS MANAGEMENT UPPER LAYER SWITCHING Gilbert Held INSIDE Upper Layer Operations; Address Translation; Layer 3 Switching; Layer 4 Switching OVERVIEW The first series of LAN switches
DeltaV System Health Monitoring Networking and Security
DeltaV Distributed Control System White Paper DeltaV System Health Monitoring Networking and Security Introduction Emerson Process Management s DeltaV System Health Monitoring service enables you to proactively
Covert Channel Analysis and Detection using Reverse Proxy Servers
Covert Channel Analysis and Detection using Reverse Proxy Servers WJ Buchanan [A] and D Llamas [B] School of Computing, Napier University, EH10 5DT, Scotland, UK Keywords : Reverse Proxy Server, Covert
Open Source in Network Administration: the ntop Project
Open Source in Network Administration: the ntop Project Luca Deri 1 Project History Started in 1997 as monitoring application for the Univ. of Pisa 1998: First public release v 0.4 (GPL2) 1999-2002:
ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer. By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 UPRM
ICOM 5026-090: Computer Networks Chapter 6: The Transport Layer By Dr Yi Qian Department of Electronic and Computer Engineering Fall 2006 Outline The transport service Elements of transport protocols A
Security threats and network. Software firewall. Hardware firewall. Firewalls
Security threats and network As we have already discussed, many serious security threats come from the networks; Firewalls The firewalls implement hardware or software solutions based on the control of
Improving Passive Packet Capture: Beyond Device Polling
Improving Passive Packet Capture: Beyond Device Polling Luca Deri NETikos S.p.A. Via del Brennero Km 4, Loc. La Figuretta 56123 Pisa, Italy Email: [email protected] http://luca.ntop.org/ Abstract Passive
Gigabit Ethernet Design
Gigabit Ethernet Design Laura Jeanne Knapp Network Consultant 1-919-254-8801 [email protected] www.lauraknapp.com Tom Hadley Network Consultant 1-919-301-3052 [email protected] HSEdes_ 010 ed and
Challenges of Sending Large Files Over Public Internet
Challenges of Sending Large Files Over Public Internet CLICK TO EDIT MASTER TITLE STYLE JONATHAN SOLOMON SENIOR SALES & SYSTEM ENGINEER, ASPERA, INC. CLICK TO EDIT MASTER SUBTITLE STYLE OUTLINE Ø Setting
Access Control: Firewalls (1)
Access Control: Firewalls (1) World is divided in good and bad guys ---> access control (security checks) at a single point of entry/exit: in medieval castles: drawbridge in corporate buildings: security/reception
1. Computer System Structure and Components
1 Computer System Structure and Components Computer System Layers Various Computer Programs OS System Calls (eg, fork, execv, write, etc) KERNEL/Behavior or CPU Device Drivers Device Controllers Devices
point to point and point to multi point calls over IP
Helsinki University of Technology Department of Electrical and Communications Engineering Jarkko Kneckt point to point and point to multi point calls over IP Helsinki 27.11.2001 Supervisor: Instructor:
The Performance Analysis of Linux Networking Packet Receiving
The Performance Analysis of Linux Networking Packet Receiving Wenji Wu, Matt Crawford Fermilab CHEP 2006 [email protected], [email protected] Topics Background Problems Linux Packet Receiving Process NIC &
Leveraging NIC Technology to Improve Network Performance in VMware vsphere
Leveraging NIC Technology to Improve Network Performance in VMware vsphere Performance Study TECHNICAL WHITE PAPER Table of Contents Introduction... 3 Hardware Description... 3 List of Features... 4 NetQueue...
Bridging the Gap between Software and Hardware Techniques for I/O Virtualization
Bridging the Gap between Software and Hardware Techniques for I/O Virtualization Jose Renato Santos Yoshio Turner G.(John) Janakiraman Ian Pratt Hewlett Packard Laboratories, Palo Alto, CA University of
Networking Driver Performance and Measurement - e1000 A Case Study
Networking Driver Performance and Measurement - e1000 A Case Study John A. Ronciak Intel Corporation [email protected] Ganesh Venkatesan Intel Corporation [email protected] Jesse Brandeburg
Globus Striped GridFTP Framework and Server. Raj Kettimuthu, ANL and U. Chicago
Globus Striped GridFTP Framework and Server Raj Kettimuthu, ANL and U. Chicago Outline Introduction Features Motivation Architecture Globus XIO Experimental Results 3 August 2005 The Ohio State University
Key Components of WAN Optimization Controller Functionality
Key Components of WAN Optimization Controller Functionality Introduction and Goals One of the key challenges facing IT organizations relative to application and service delivery is ensuring that the applications
Monitoring of Tunneled IPv6 Traffic Using Packet Decapsulation and IPFIX
Monitoring of Tunneled IPv6 Traffic Using Packet Decapsulation and IPFIX Martin Elich 1,3, Matěj Grégr 1,2 and Pavel Čeleda1,3 1 CESNET, z.s.p.o., Prague, Czech Republic 2 Brno University of Technology,
Active-Active Servers and Connection Synchronisation for LVS
Active-Active Servers and Connection Synchronisation for LVS Simon Horman (Horms) [email protected] VA Linux Systems Japan K.K. www.valinux.co.jp with assistance from NTT Commware Coporation www.nttcom.co.jp
Quantifying TCP Performance for IPv6 in Linux- Based Server Operating Systems
Cyber Journals: Multidisciplinary Journals in Science and Technology, Journal of Selected Areas in Telecommunications (JSAT), November Edition, 2013 Volume 3, Issue 11 Quantifying TCP Performance for IPv6
Enhance Service Delivery and Accelerate Financial Applications with Consolidated Market Data
White Paper Enhance Service Delivery and Accelerate Financial Applications with Consolidated Market Data What You Will Learn Financial market technology is advancing at a rapid pace. The integration of
Mobile Computing/ Mobile Networks
Mobile Computing/ Mobile Networks TCP in Mobile Networks Prof. Chansu Yu Contents Physical layer issues Communication frequency Signal propagation Modulation and Demodulation Channel access issues Multiple
Chapter 8 Router and Network Management
Chapter 8 Router and Network Management This chapter describes how to use the network management features of your ProSafe Dual WAN Gigabit Firewall with SSL & IPsec VPN. These features can be found by
From Network Security To Content Filtering
Computer Fraud & Security, May 2007 page 1/10 From Network Security To Content Filtering Network security has evolved dramatically in the last few years not only for what concerns the tools at our disposals
Allocating Network Bandwidth to Match Business Priorities
Allocating Network Bandwidth to Match Business Priorities Speaker Peter Sichel Chief Engineer Sustainable Softworks [email protected] MacWorld San Francisco 2006 Session M225 12-Jan-2006 10:30 AM -
Analysis of Open Source Drivers for IEEE 802.11 WLANs
Preprint of an article that appeared in IEEE conference proceeding of ICWCSC 2010 Analysis of Open Source Drivers for IEEE 802.11 WLANs Vipin M AU-KBC Research Centre MIT campus of Anna University Chennai,
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance
TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance M. Rangarajan, A. Bohra, K. Banerjee, E.V. Carrera, R. Bianchini, L. Iftode, W. Zwaenepoel. Presented
Per-Flow Queuing Allot's Approach to Bandwidth Management
White Paper Per-Flow Queuing Allot's Approach to Bandwidth Management Allot Communications, July 2006. All Rights Reserved. Table of Contents Executive Overview... 3 Understanding TCP/IP... 4 What is Bandwidth
Proxy Server, Network Address Translator, Firewall. Proxy Server
Proxy Server, Network Address Translator, Firewall 1 Proxy Server 2 1 Introduction What is a proxy server? Acts on behalf of other clients, and presents requests from other clients to a server. Acts as
Ethernet. Ethernet. Network Devices
Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking
Stateful Inspection Technology
Stateful Inspection Technology Security Requirements TECH NOTE In order to provide robust security, a firewall must track and control the flow of communication passing through it. To reach control decisions
