Software-based Packet Filtering. Fulvio Risso Politecnico di Torino
|
|
|
- Irma Lawson
- 10 years ago
- Views:
Transcription
1 Software-based Packet Filtering Fulvio Risso Politecnico di Torino 1
2 Part 1: Packet filtering concepts 3
3 Introduction to packet filters A packet filter is a system that applies a Boolean function to each incoming packet Needed in all cases in which an application needs to operate ( filter ) on a subset of the packets coming in A packet classifier is a system that, given an incoming packet and a set of Boolean functions, returns which of these rules are satisfied Based on packet filtering concepts, although usually implemented in a different form Data receiver (e.g., application) Packet filter Data source (e.g., NIC) 4
4 Possible applications of packet filters Packet filtering is a very general concept, widely used in the networking field Network monitoring and analysis tools (e.g., Wireshark) Protocol demultiplexing in OS (e.g., IP stack, IPv6, ) Application demultiplexing in OS (e.g., web server, , ) Forwarding tables (e.g., forward packets to /24 on port eth1) Firewalls (e.g., block all packets from address ) Load balancer (e.g., packets with specific hash send to server 1) Traffic shaper (e.g., peer-topeer traffic max 1Mbps) Packet filter Data source (e.g., NIC) 5
5 PF example: OS/application demultiplexing SMTP server HTTP server TCP.dport UDP 0x11 TCP 0x06 IP.proto_type ARP IPv6 IPv4 0x0806 0x86DD 0x0800 Ethernet.type Ethernet 6
6 Packet filtering implementations The technology used to implement this function may differ based on the function we have in mind Classical packet filtering, based on special purpose virtual machines, for packet capture and network monitoring Optimized classification algorithms for forwarding processes Static filters for protocol/application demultiplexing Etc. The remaining of this presentation will focus on classical packet filters 7
7 Packet filtering example: web traffic Web traffic: ip - tcp - port 80 ethernet ip tcp payload type protocol src port dst port == 2048? == 6? == 80? == 80? and or and Other no True? yes Web traffic 8
8 Requirements of packet filters Flexibility Need to handle filters specified at run-time, and network data exploiting different frame/packet format Security/Safety Need to be flexible enough but avoid security hazards Often, packet filtering is implemented in the OS kernel Efficiency The traffic to be analyzed may be huge, we cannot spend too much time per each packet Composability We may need to run several filters in parallel, as we would like to avoid the sequential execution of the packet filter Update speed Do not wait for hours when the filter need to be updated E.g., filtering over (dynamic) TCP sessions (firewall) 9
9 Packet filters and the need for flexibility I need all traffic directed to TCP port 80 I need all OSPF packets I need all traffic generated by IP How can we create a component that is so flexible to accommodate different types of packets coming from the network? How can we create a component that is so flexible to accommodate filtering rules defined at run-time? Packet filter ETH IP TCP ETH VLAN IP TCP Packet filter ETH IPv6 TCP ETH MPLS IPv6 TCP Data source (e.g., NIC) Data source (e.g., NIC) Flexibility as requirement coming from applications Flexibility as requirement coming from traffic heterogeneity 10
10 Special purpose virtual machine Definition of an-hoc execution environment specially crafted for packet filtering purposes E.g., specific memory for packet (not just the main RAM) Virtual machine Control unit IN port(s) General purpose registers Accumulator Main memory (RAM) OUT port(s) Sample code (from BPF virtual machine) Program counter Filter: ip (with simple Ethernet frames) ALU (application-specific instruction set) Packet memory (000) ldh [12] (001) jeq #0x800 jt 2 jf 3 (002) ret #96 (003) ret #0 11
11 Virtual Machine as an interpreter // Example of a register-based virtual machine while (ProgramCounter <= FilteringInstructions) { currinstruction= instruction[programcounter]; Switch(currInstruction.opcode) { case LOAD_MEM32: { if (CheckForMemOffset(currInstruction.memOffset) == false) break; RegisterEAX= Memory[currInstruction.memOffset]; }; break; } // Other instructions here default: { // Raise exception } 12 } ProgramCounter++;
12 VMs and safety The bytecode (opcodes) is valid Controlled by the existence of a default branch in the switch The jump/branch destinations are valid Controlled with appropriate checks in the interpreter Finite number of instructions Controlled with appropriate checks before starting the interpreter Reading and writing start from a zone of valid memory Controlled with appropriate checks in the interpreter Termination of the program guaranteed A parameter can be the absence of loops Imposed by not admitting some types of instructions Finite and predictable memory consumption It is guaranteed if the guarantee of termination of the program exists 13
13 Part 2: Architectures for packet filtering 14
14 Typical packet capture architecture application application Application Feature-rich user-level component (e.g., library) (direct access to the low-level API) buffer 1 -buffer 2 -buffer 3 -level component (e.g., library) Kernel Kernel buffer 1 filter1 Kernel-level API Kernel buffer 2 filter2... Kernel-level component (e.g., driver) Network Tap Network Interface Card (NIC) driver Network 15 Packets
15 vs. kernel processing in packet filters processing is easier Easy to create, install, operate software More portable Less risky: a program that crashes does not corrupt the entire system Kernel-processing is faster Avoids the cost of context switch between kernel and user space Packet filters We need a mechanism that performs the most basic operatins at kernel-level, allowing to transfer to the applications only the packets that they willing to elaborate Further processing is made by the application in user-space 16
16 Network tap Component that intercepts packets from the NIC and delivers them to the packet capture components Different options Windows: sits on top of the NIC drivers, declaring itself as a new layer-3 protocol BSD: NIC drivers are patched with proper explicit calls to the capture components application buffer 1 application Feature-rich user-level component (e.g., library) -buffer 2 -level component (e.g., library) Application (direct access to the low-level API) -buffer 3 Kernel Kernel buffer 1 Kernel-level API Kernel buffer 2 filter1 filter2... Kernel-level component (e.g., driver) Network Tap Network Interface Card (NIC) driver Network Packets 17
17 Packet filter Component that discards unwanted packets Efficiency reasons: the earlier you discard non-interesting packets, the better it is Only interesting packets are copied in the kernel buffer So far, the packet has never been copied by the packet capture stack Although both NIC and the operating system can already have performed some copies to that packet Kernel application buffer 1 Kernel buffer 1 filter1 application Feature-rich user-level component (e.g., library) -buffer 2 -level component (e.g., library) Kernel-level API Kernel buffer 2 filter2 Application (direct access to the low-level API) -buffer 3... Kernel-level component (e.g., driver) Network Tap Network Interface Card (NIC) driver Network Packets 18
18 Kernel buffer Component that stores packets before delivering them to the application Kernel buffer is one of the key components that allows batch processing (several packets copied at once in user space) First copy performed by the packet capture framework application application Application Feature-rich user-level component (e.g., library) (direct access to the low-level API) Different possible architectures: tradeoff between memory and CPU efficiency Kernel buffer 1 -buffer 2 -buffer 3 -level component (e.g., library) Kernel-level API Kernel buffer 1 Kernel buffer 2 filter1 filter2... Kernel-level component (e.g., driver) Network Tap Network Interface Card (NIC) driver Network Packets 19
19 Kernel buffers and batch-processing Network Kernel Destination Process Network Kernel Destination Process Delivery without packet-batching Delivery with packet-batching 20
20 Kernel buffer (2) Hold/Store buffers 21 More CPU efficient, but only half the space is used for storing packets The kernel-level process and the user-level process operate on two different memory areas The two CPU cores operate on different memory areas, hence no cache pollution No need of per-packet synchronization between the two processes Sync primitives still need when buffers are swapped Circular buffer More memory efficient Requires locks for updating packet pointers in the shared buffer More possibility to have cache pollution among the different CPU cores Shared variables must be in both caches Memory area is shared among CPUs Hold buffer Store buffer filter filter Kernel-level component
21 Kernel-level API Provides the necessary primitives to get access to the data at kernel level Often made with simple IOCTL Kernel-level component In general all the previous components are implemented as kernel drivers/kernel modules application application Feature-rich user-level component (e.g., library) Application (direct access to the low-level API) buffer 1 -buffer 2 -buffer 3 -level component (e.g., library) Kernel Kernel buffer 1 Kernel-level API Kernel buffer 2 filter1 filter2... Kernel-level component (e.g., driver) Network Tap Network Interface Card (NIC) driver Network Packets 22
22 buffer Stores packets at the user-level Needed to allow the transfer of multiple packets within a single call to the kernel Batch processing: Reduces the number of kernel/user contexts switches Cache efficient because multiple packets are copied in a row Resides in the address space of the application Kernel application buffer 1 Kernel buffer 1 application Feature-rich user-level component (e.g., library) -buffer 2 -level component (e.g., library) Kernel-level API Kernel buffer 2 Application (direct access to the low-level API) -buffer 3 filter1 filter2... Kernel-level component (e.g., driver) Network Tap Network Interface Card (NIC) driver Network Packets 23
23 -level component Exports useful functions to get access to the underlying packet capture framework, such as: Read packet Set packet filter Set NIC in promiscuous mode In general, provides access to functions that reside at kernel level Those functions are often mapped to IOCTL calls Kernel application buffer 1 Kernel buffer 1 filter1 application Feature-rich user-level component (e.g., library) -buffer 2 -level component (e.g., library) Kernel-level API Kernel buffer 2 filter2 Application (direct access to the low-level API) -buffer 3... Kernel-level component (e.g., driver) Network Tap Network Interface Card (NIC) driver Network Packets 24
24 Feature-rich user-level component Exports (optional) additional functionalities, such as: High-level compiler to create packet filtering code (e.g., from ip.src= to the proper set of assembly instructions) Can provide uniform access to the underlying components across different operating systems E.g., WinPcap/libpcap application application Feature-rich user-level component (e.g., library) Application (direct access to the low-level API) buffer 1 -buffer 2 -buffer 3 -level component (e.g., library) Kernel Kernel buffer 1 Kernel-level API Kernel buffer 2 filter1 filter2... Kernel-level component (e.g., driver) Network Tap Network Interface Card (NIC) driver Network Packets 25
25 The first packet filter: CSPF (CMU/Stanford Packet Filter) Interesting ideas Implementation at kernel-level Batch processing Virtual Machine the packet filter is done in parallel to the other protocol stacks 26
26 Libpcap/WinPcap Provides three fundamental services Abstraction of the physical interface on which it works Creation of a filtering expression from a high-level language Abstraction of the filtering mode implemented in that particular system (in Kernel, in user space, etc.) Open source (BSD license), available for (almost) all operating systems It requires a set of kernel-level components to get access to the raw packets 27
27 Berkeley Packet Filter BPF is the first serious implementation of a packet filter and it is still used today Small buffers Coupled with the libpcap library in user space Applications code Calls to libpcap user-buffer1 Libpcap Library (usually included at compilation time) code Calls to libpcap user-buffer2 code Direct access to the BPF Batch Processing: more packets can be obtained with a single read() Hold buffer Kernel Buffers1 Hold buffer Kernel Buffers2 Only the packets complying with the filter are copied Kernel Store buffer filter1 Network Tap Store buffer filter2... Berkeley Packet Filter Other protocol stacks Network Interface Card (NIC) driver Multiple filters are executed in sequence (linear complexity) 28 Network Packets
28 WinPcap Can be considered a porting of the entire BPF/libpcap architecture on Windows Complete porting of the libpcap API Libpcap is integrated in one of the user-level components of WinPcap (wpcap.dll) Adds some functionalities not available in libpcap/bpf Statistics Mode: module programmable by the user to register statistical data in the kernel without changing the context Packets Injection: allows to send packets through the network interface Remote Capture: is possible to activate a remote server for capturing packets (rpcapd), which delivers locally the captured packets 29
29 WinPcap: Architecture Application Wpcap.dll Packet.dll NPF Device Driver Kernel WinPcap 30 Packets Network
30 NPF: Netgroup Packet Filter Application Wpcap.dll Packet.dll code Calls to WinPcap user-buffer1 wpcap.dll code Calls to WinPcap user-buffer2 wpcap.dll code Monitoring wpcap.dll code 1. Direct access to the NPF 2. Packet.dll calls Applications packet.dll NPF Kernel filter1 Kernel Buffer1 filter2 Kernel Buffer2 Statistical engine filter3... Other protocol stacks Device Driver Network Tap Netgroup Packet Filter NIC Driver (NDIS 3.0 or higher) Network Packets Packets 31
31 Packet.dll Application Wpcap.dll Packet.dll NPF Device Driver filter Network Tap Application read Packet.dll Kernel Buffer IOCTL/write Packet Capture Driver Kernel Allows the independence from the OS Installs and handles the driver dynamically Interacts with the OS exporting useful services 32 Packets
32 Wpcap.dll Applications Wpcap.dll Packet.dll NPF Device Driver WPcap user-buffer Packet.dll filter Network Tap Applicazione read Kernel Buffer Packet.dll IOCTL NPF Packet Capture Driver livello utente livello Kernel kernel semplifica l interazione col driver High- level API Independent from the Operating permette l indipendenza System dal sistema Compatible with libpcap for Unix Functions automatizza la gestione handle dumps, delle schede tramite compile filters, NDIS etc. 33 Packets
33 Mayor improvements of WinPcap JIT compiler Later integrated in BPF as well (starting from FreeBSD 7.0) x10 performance improvements with respect to the interpreted code A very primitive technology anyway It is in reality an instruction translator, more than a real JIT Optimized processing Not only the packet filter, but the whole filtering stack Shared buffer instead of hold/store buffers 34
34 JIT // Example of a register-based virtual machine while (ProgramCounter <= FilteringInstructions) { currinstruction= instruction[programcounter]; Switch(currInstruction.opcode) { case LOAD_MEM32: { // Check that Offset exists Copy( mov EAX,, currinstruction.memoffset); Copy( cmp EAX, MaxMemOffset ); Copy( jle EXCEPTION ); // Save the value in the accumulator register Copy( mov Accumulator, currinstruction.memoffset); }; break; } // Other instructions here default: // Raise exception 35 } ProgramCounter++;
35 Safety with JIT The bytecodes (opcodes) are valid Controlled ahead of time form the existence of a default branch in the switch Doesn t cover eventual translation errors of the JIT The destination of jump/branch are valid Controlled ahead of time with appropriate checks in the translator Controlled allowing only jumps with an explicit offset The number of instructions is finite Controlled with appropriate checks before starting the translator Read and write start from valid memory zones Controlled with appropriate checks in the native code Termination of the program guaranteed A parameter can be the absence of loops Some types of instructions (e.g., loops) may not be allowed E.g., indirect jumps such as jmp[ecx] Finite and predictable memory consumption It is guaranteed if there is guarantee of termination of the program 36
36 JIT and efficiency Clock ticks Native (with ntoh() ) Native (with macro) BPF (int.) BPF (jit) NetVM (no_opt) NetVM (opt) Filter 1 Filter 2 Filter 3 Filter 4 Filter 5 37 Filter 1: ip Filter 2: ip.src == Filter 3: ip and tcp Filter 4: ip.src == and ip.dst == and tcp.sport==20 and tcp.dport == 30 Filter 5: ip.src == or ip.src == or ip.src== or ip.src ==
37 The way towards better performance Motivations Software is very flexible Necessity of speed analysis>= 1Gbps Possibility of improvement Increase the performance of the capture Increases the capacity of delivering data to the software Create more intelligent analysis components Only the most interesting data are delivered to the software Architectural optimization Try to exploit the characteristics of the application to increase performance 38
38 Reference model for Packet Capture Frontend Processing Capture library Application level Operating System Capture Driver NIC Driver Acquisition system 39 Network Card Hardware
39 Performance of OS and capture drivers Huge differences for capture performance depending on Operating system Capture driver Overall architecture looks the same, but performance are very different 100.0% 90.0% 80.0% Captured Packets 70.0% 60.0% 50.0% 40.0% 30.0% 34.0% 68.0% 20.0% % 0.0% 0.2% 1.0% Linux 2.4.x, Standard libpcap Linux 2.4.x, Mmap libpcap FreeBsd 4.8 Windows 2000, WinPcap Operating System Source: Luca Deri, ntop.org
40 Kernel vs. user processing: the Livelock problem Cpu Clock Ticks Packet Rate % Packets Dropped Clocks Application Clocks Hardware Interface Clocks Capture Driver % Packets Dropped 41
41 Some profiling data: WinPcap Some data The filtering costs are proportionally low The copy doesn t seem to be the prevailing cost The cost of read (packet batching) is insignificant The greatest costs are: Costs of the OS and the NIC Timestamp (hw?) The copies can become a problem with big packets (shared buffers) 2nd copy Context switch Filter (21 instr.) with JIT st copy 270 Timestamp 560 Tap processing 1551 NIC driver + Kernel Costs measured in Winpcap 3.0 (per packet; 64B) 3164 clock ticks 43
42 Improving the costs related to the OS and NIC Frontend Processing Problems Interrupt (for each packet) Hardware Interrupt Service Routine Copy packets from plain RAM to Kernel structures Cache miss Capture library Application Un-optimized structures (e.g. small mbuf) Allocate kernel structures Access to the hardware (e.g. setting values in the NIC registers) Solutions: Interrupt Mitigation Capture Driver Hardware-based Interrupt Batching Software-based NIC Driver Operating System Device Polling E.g. FreeBSD (Rizzo) Hybrid models Interrupt-Polling (e.g. Linux NAPI) Pre-program the hardware (avoiding access to hw registers) Pre-allocated memory Network Card 44
43 Improving the costs related to the capture driver Frontend Processing Capture library Application Goals Timestamp the packets Deliver packets to the application Bottlenecks: Context Switch (~10^4 clock cycles in Windows) Packet copies Cache miss Solutions: Capture Driver NIC Driver Operating System Packet filtering, shapshot capture (not always possible) Bulk copies Large buffers (may be useful if shared with the application) Shared memory between kernel and user space (Deri, PF_RING, 2004)* Network Card *Luca Deri, Improving Passive Packet Capture: Beyond Device Polling, Proceedings of SANE 2004, October
44 Other protocol stacks Other protocol stacks Other protocol stacks A possible further improvement Processing Processing Processing code code code user-buffer Packet Capture Library Kernel Buffer Shared Buffer (Processing) Kernel packet filter packet filter Network Tap Network Tap packet filter NIC Driver NIC Driver NIC driver Network 46 Packets Packets Packets
45 Packet filtering stack separated from the network stack Possible implementations Traditional NIC with dedicated driver (Deri, NCAP*) Intelligent NIC Characteristics The OS is not made to support large network traffic (e.g., mbuf in BSD or skbuf in Linux) It has been engineered to execute user applications, with limited memory consumption Software stack (starting from the NIC driver) dedicated to the capture Data is not delivered to the other TCP/IP components of the network stack Modification intrusive in the operating system Very good performance Limited by the PCI bandwidth Problems with the precision of the timestamp (if implemented in software) 47 *Luca Deri, ncap: Wire-speed Packet Capture and Transmission, Proceedings of E2EMON, May 2005.
46 Further improvements code Buffering Packet Capture Library Create smarter NICs Hardware processing Avoid PCI bus bottleneck (not applicable for capture all applications) Timestamp precision Need advanced mechanism for customizable processing code Buffering Packet Capture Library Increase parallelism in user space PCI bottleneck Easy to customize processing (general purpose CPUs) Increase parallelism in kernel space Timestamp precision Processing Custom NIC Driver (or) Smart NIC Custom NIC 48 Packets Packets
47 Process parallelization in user-space Technique also proposed by FFPF The integrations with intelligent buffer mechanisms Easy to implement (it is only software) Efficient on current CPU architectures There may be synchronization problems Applications that require the result of a previous step Bus limitations: PCI 1.0 (32bit, 33MHz) 1 Gbps PCI 2.2 (64bit, 66MHz) 4.2 Gbps PCI-X (64bit, 133MHz) 8.5 Gbps PCI-X 2.0 (64bit, 266MHz) 17 Gbps PCI-Express (16x) 32 Gbps Growing interest in this technique 49 Loris Degioanni, Gianluca Varenni, Introducing scalability in network measurement: toward 10 Gbps with commodity hardware. Internet Measurement Conference 2004, pg
48 Example of parallelizzazione in user-space Processed Packets/Second System Under Test Linux DAG driver libpcap 0.8 beta Windows DAG driver libpcap 0.8 beta Windows DAG Kernel Scheduler + libpcap 0.8 beta, 1 consumer Windows DAG Kernel Scheduler + libpcap 0.8 beta, 2 consumers Windows DAG Kernel Scheduler + libpcap 0.8 beta, 3 consumers Windows DAG Kernel Scheduler + libpcap 0.8 beta, 4 consumers Windows DAG Kernel Scheduler + libpcap 0.8 beta, 5 consumers 50 Loris Degioanni, PhD Thesis
49 The way towards better performance: summary Optimizes as much as it can Moves the processing in the kernel Limits the displacement of data Decouples the packet filtering stack from that of the network Moves the processing to intelligent files Limits the displacement of data Improves the parallelism And in general, tries to exploit the characteristics of the application to go faster 51
50 Conclusions Academic interest mostly directed towards the packet filtering component In reality, the analysis of the whole system is much more important Current status Netmap (from Luigi Rizzo) may be the fastest open-source component for direct NIC access Other components (e.g., DNA, from Luca Deri) are not completely free 52
51 Bibliography Steven McCanne, Van Jacobson, The BSD packet filter: a new architecture for user-level packet capture, in Proceedings of the USENIX Winter 1993 Conference (USENIX'93). USENIX Association, Berkeley, CA, USA, Fulvio Risso, Loris Degioanni, An Architecture for High Performance Network Analysis, in Proceedings of the 6th IEEE Symposium on Computers and Communications (ISCC 2001), Hammamet, Tunisia, July
A SIMPLE WAY TO CAPTURE NETWORK TRAFFIC: THE WINDOWS PACKET CAPTURE (WINPCAP) ARCHITECTURE. Mihai Dorobanţu, M.Sc., Mihai L. Mocanu, Ph.D.
A SIMPLE WAY TO CAPTURE NETWORK TRAFFIC: THE WINDOWS PACKET CAPTURE (WINPCAP) ARCHITECTURE Mihai Dorobanţu, M.Sc., Mihai L. Mocanu, Ph.D. Department of Software Engineering, School of Automation, Computers
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.
ncap: Wire-speed Packet Capture and Transmission
ncap: Wire-speed Packet Capture and Transmission L. Deri ntop.org Pisa Italy [email protected] Abstract With the increasing network speed, it is no longer possible to capture and transmit network packets at
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:
Gigabit Ethernet Packet Capture. User s Guide
Gigabit Ethernet Packet Capture User s Guide Copyrights Copyright 2008 CACE Technologies, Inc. All rights reserved. This document may not, in whole or part, be: copied; photocopied; reproduced; translated;
Wireshark in a Multi-Core Environment Using Hardware Acceleration Presenter: Pete Sanders, Napatech Inc. Sharkfest 2009 Stanford University
Wireshark in a Multi-Core Environment Using Hardware Acceleration Presenter: Pete Sanders, Napatech Inc. Sharkfest 2009 Stanford University Napatech - Sharkfest 2009 1 Presentation Overview About Napatech
Design of an Application Programming Interface for IP Network Monitoring
Design of an Application Programming Interface for IP Network Monitoring Evangelos P. Markatos Kostas G. Anagnostakis Arne Øslebø Michalis Polychronakis Institute of Computer Science (ICS), Foundation
10 Gbit Hardware Packet Filtering Using Commodity Network Adapters. Luca Deri <[email protected]> Joseph Gasparakis <joseph.gasparakis@intel.
10 Gbit Hardware Packet Filtering Using Commodity Network Adapters Luca Deri Joseph Gasparakis 10 Gbit Monitoring Challenges [1/2] High number of packets to
A Research Study on Packet Sniffing Tool TCPDUMP
A Research Study on Packet Sniffing Tool TCPDUMP ANSHUL GUPTA SURESH GYAN VIHAR UNIVERSITY, INDIA ABSTRACT Packet sniffer is a technique of monitoring every packet that crosses the network. By using this
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
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
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
Wire-Speed Hardware-Assisted Traffic Filtering with Mainstream Network Adapters
Wire-Speed Hardware-Assisted Traffic Filtering with Mainstream Network Adapters Luca Deri 1, Joseph Gasparakis 2, Peter Waskiewicz Jr 3, Francesco Fusco 4 5 1 ntop, Pisa, Italy 2 Intel Corporation, Embedded
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:
High-Density Network Flow Monitoring
Petr Velan [email protected] High-Density Network Flow Monitoring IM2015 12 May 2015, Ottawa Motivation What is high-density flow monitoring? Monitor high traffic in as little rack units as possible
Datacenter Operating Systems
Datacenter Operating Systems CSE451 Simon Peter With thanks to Timothy Roscoe (ETH Zurich) Autumn 2015 This Lecture What s a datacenter Why datacenters Types of datacenters Hyperscale datacenters Major
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
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
Introduction to Passive Network Traffic Monitoring
Introduction to Passive Network Traffic Monitoring CS459 ~ Internet Measurements Spring 2015 Despoina Antonakaki [email protected] Active Monitoring Inject test packets into the network or send packets
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,
Plab: a packet capture and analysis architecture
Plab: a packet capture and analysis architecture Alberto Dainotti and Antonio Pescapé 1 Introduction We designed and implemented a software for packet capture and analysis and to extract samples of what
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
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
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
Network Traffic Analysis
2013 Network Traffic Analysis Gerben Kleijn and Terence Nicholls 6/21/2013 Contents Introduction... 3 Lab 1 - Installing the Operating System (OS)... 3 Lab 2 Working with TCPDump... 4 Lab 3 - Installing
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
Improving the Performance of Passive Network Monitoring Applications with Memory Locality Enhancements
Improving the Performance of Passive Network Monitoring Applications with Memory Locality Enhancements Antonis Papadogiannakis a,, Giorgos Vasiliadis a, Demetres Antoniades a, Michalis Polychronakis b,
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
Full and Para Virtualization
Full and Para Virtualization Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF x86 Hardware Virtualization The x86 architecture offers four levels
High-Density Network Flow Monitoring
High-Density Network Flow Monitoring Petr Velan CESNET, z.s.p.o. Zikova 4, 160 00 Praha 6, Czech Republic [email protected] Viktor Puš CESNET, z.s.p.o. Zikova 4, 160 00 Praha 6, Czech Republic [email protected]
MONITORING AVAILABLE BANDWIDTH OF UNDERLYING GRID NETWORKS
MONITORING AVAILABLE BANDWIDTH OF UNDERLYING GRID NETWORKS Marcia Zangrilli Bruce B. Lowekamp, advisor Department of Computer Science College of William and Mary Abstract Harnessing the complete power
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
Accelerate In-Line Packet Processing Using Fast Queue
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
OpenFlow with Intel 82599. Voravit Tanyingyong, Markus Hidell, Peter Sjödin
OpenFlow with Intel 82599 Voravit Tanyingyong, Markus Hidell, Peter Sjödin Outline Background Goal Design Experiment and Evaluation Conclusion OpenFlow SW HW Open up commercial network hardware for experiment
On Multi Gigabit Packet Capturing With Multi Core Commodity Hardware
On Multi Gigabit Packet Capturing With Multi Core Commodity Hardware Nicola Bonelli, Andrea Di Pietro, Stefano Giordano, and Gregorio Procissi CNIT and Università di Pisa, Pisa, Italy Abstract. Nowadays
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
Transparent Optimization of Grid Server Selection with Real-Time Passive Network Measurements. Marcia Zangrilli and Bruce Lowekamp
Transparent Optimization of Grid Server Selection with Real-Time Passive Network Measurements Marcia Zangrilli and Bruce Lowekamp Overview Grid Services Grid resources modeled as services Define interface
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
Design Issues in a Bare PC Web Server
Design Issues in a Bare PC Web Server Long He, Ramesh K. Karne, Alexander L. Wijesinha, Sandeep Girumala, and Gholam H. Khaksari Department of Computer & Information Sciences, Towson University, 78 York
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
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)
HANIC 100G: Hardware accelerator for 100 Gbps network traffic monitoring
CESNET Technical Report 2/2014 HANIC 100G: Hardware accelerator for 100 Gbps network traffic monitoring VIKTOR PUš, LUKÁš KEKELY, MARTIN ŠPINLER, VÁCLAV HUMMEL, JAN PALIČKA Received 3. 10. 2014 Abstract
Iperf Tutorial. Jon Dugan <[email protected]> Summer JointTechs 2010, Columbus, OH
Iperf Tutorial Jon Dugan Summer JointTechs 2010, Columbus, OH Outline What are we measuring? TCP Measurements UDP Measurements Useful tricks Iperf Development What are we measuring? Throughput?
Introduction to Analyzer and the ARP protocol
Laboratory 6 Introduction to Analyzer and the ARP protocol Objetives Network monitoring tools are of interest when studying the behavior of network protocols, in particular TCP/IP, and for determining
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
Chapter 14 Virtual Machines
Operating Systems: Internals and Design Principles Chapter 14 Virtual Machines Eighth Edition By William Stallings Virtual Machines (VM) Virtualization technology enables a single PC or server to simultaneously
Virtualization: TCP/IP Performance Management in a Virtualized Environment Orlando Share Session 9308
Virtualization: TCP/IP Performance Management in a Virtualized Environment Orlando Share Session 9308 Laura Knapp WW Business Consultant [email protected] Applied Expert Systems, Inc. 2011 1 Background
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
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
CS 416: Opera-ng Systems Design
Question 1 Explain the major difference between a file system that supports journaling (e.g., Linux ext4) versus a log-structured file system (e.g., YAFFS2). Operating Systems 2015 Exam 3 Review Paul Krzyzanowski
Network Traffic Analysis and Intrusion Detection using Packet Sniffer
2010 Second International Conference on Communication Software and Networks Network Traffic Analysis and Intrusion Detection using Packet Sniffer Mohammed Abdul Qadeer Dept. of Computer Engineering, Aligarh
Network Security. Network Packet Analysis
Network Security Network Packet Analysis Module 3 Keith A. Watson, CISSP, CISA IA Research Engineer, CERIAS [email protected] 1 Network Packet Analysis Definition: Examining network packets to determine
RF Monitor and its Uses
RF Monitor and its Uses Pradipta De [email protected] Outline RF Monitoring Basics RF Monitoring Installation Using RF Monitoring RF Monitoring on WRT54GS Extending RF Monitoring UDP Lite Comments on
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
Comparing and Improving Current Packet Capturing Solutions based on Commodity Hardware
Comparing and Improving Current Packet Capturing Solutions based on Commodity Hardware Lothar Braun, Alexander Didebulidze, Nils Kammenhuber, Georg Carle Technische Universität München Institute for Informatics
ECE 578 Term Paper Network Security through IP packet Filtering
ECE 578 Term Paper Network Security through IP packet Filtering Cheedu Venugopal Reddy Dept of Electrical Eng and Comp science Oregon State University Bin Cao Dept of electrical Eng and Comp science Oregon
Challenges in high speed packet processing
Challenges in high speed packet processing Denis Salopek University of Zagreb, Faculty of Electrical Engineering and Computing, Croatia [email protected] Abstract With billions of packets traveling
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...
Operating Systems 4 th Class
Operating Systems 4 th Class Lecture 1 Operating Systems Operating systems are essential part of any computer system. Therefore, a course in operating systems is an essential part of any computer science
Firewalls. Ahmad Almulhem March 10, 2012
Firewalls Ahmad Almulhem March 10, 2012 1 Outline Firewalls The Need for Firewalls Firewall Characteristics Types of Firewalls Firewall Basing Firewall Configurations Firewall Policies and Anomalies 2
vsphere Networking vsphere 6.0 ESXi 6.0 vcenter Server 6.0 EN-001391-01
vsphere 6.0 ESXi 6.0 vcenter Server 6.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more
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
Detection of Promiscuous Nodes Using ARP Packets
Detection of Promiscuous Nodes Using ARP Packets Version 1.0 Written by: 31Aug01 Daiji Sanai Translated by: Kelvin KingPang Tsang http://www.securityfriday.com 1 Contents Abstract...3
ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy
ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy OVERVIEW The global communication and the continuous growth of services provided through the Internet or local infrastructure require to
Resource Utilization of Middleware Components in Embedded Systems
Resource Utilization of Middleware Components in Embedded Systems 3 Introduction System memory, CPU, and network resources are critical to the operation and performance of any software system. These system
Infrastructure for active and passive measurements at 10Gbps and beyond
Infrastructure for active and passive measurements at 10Gbps and beyond Best Practice Document Produced by UNINETT led working group on network monitoring (UFS 142) Author: Arne Øslebø August 2014 1 TERENA
Software Defined Networking and the design of OpenFlow switches
Software Defined Networking and the design of OpenFlow switches Paolo Giaccone Notes for the class on Packet Switch Architectures Politecnico di Torino December 2015 Outline 1 Introduction to SDN 2 OpenFlow
Introduction. What is an Operating System?
Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization
Software Defined Networking (SDN) - Open Flow
Software Defined Networking (SDN) - Open Flow Introduction Current Internet: egalitarian routing/delivery based on destination address, best effort. Future Internet: criteria based traffic management,
System Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
Programmable Networking with Open vswitch
Programmable Networking with Open vswitch Jesse Gross LinuxCon September, 2013 2009 VMware Inc. All rights reserved Background: The Evolution of Data Centers Virtualization has created data center workloads
C-GEP 100 Monitoring application user manual
C-GEP 100 Monitoring application user manual 1 Introduction: C-GEP is a very versatile platform for network monitoring applications. The ever growing need for network bandwith like HD video streaming and
Jonathan Worthington Scarborough Linux User Group
Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.
Transformation of honeypot raw data into structured data
Transformation of honeypot raw data into structured data 1 Majed SANAN, Mahmoud RAMMAL 2,Wassim RAMMAL 3 1 Lebanese University, Faculty of Sciences. 2 Lebanese University, Director of center of Research
Wireshark and tcpdump: Packet Capture for Network Analysis
Wireshark and tcpdump: Packet Capture for Network Analysis Networking 2013: A Summit for Network Pros Dr. Charles J. Antonelli The University of Michigan Wireshark 2 tcpdump 3 Roadmap libpcap pcapng tcpdump
The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group
The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links Filippo Costa on behalf of the ALICE DAQ group DATE software 2 DATE (ALICE Data Acquisition and Test Environment) ALICE is a
Removing The Linux Routing Cache
Removing The Red Hat Inc. Columbia University, New York, 2012 Removing The 1 Linux Maintainership 2 3 4 5 Removing The My Background Started working on the kernel 18+ years ago. First project: helping
How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X
(Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann [email protected] Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3
ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy
ZEN LOAD BALANCER EE v3.02 DATASHEET The Load Balancing made easy OVERVIEW The global communication and the continuous growth of services provided through the Internet or local infrastructure require to
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,
SYSTEM ecos Embedded Configurable Operating System
BELONGS TO THE CYGNUS SOLUTIONS founded about 1989 initiative connected with an idea of free software ( commercial support for the free software ). Recently merged with RedHat. CYGNUS was also the original
PANDORA FMS NETWORK DEVICE MONITORING
NETWORK DEVICE MONITORING pag. 2 INTRODUCTION This document aims to explain how Pandora FMS is able to monitor all network devices available on the marke such as Routers, Switches, Modems, Access points,
High-performance vswitch of the user, by the user, for the user
A bird in cloud High-performance vswitch of the user, by the user, for the user Yoshihiro Nakajima, Wataru Ishida, Tomonori Fujita, Takahashi Hirokazu, Tomoya Hibi, Hitoshi Matsutahi, Katsuhiro Shimano
Replication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
Overlapping Data Transfer With Application Execution on Clusters
Overlapping Data Transfer With Application Execution on Clusters Karen L. Reid and Michael Stumm [email protected] [email protected] Department of Computer Science Department of Electrical and Computer
PANDORA FMS NETWORK DEVICES MONITORING
NETWORK DEVICES MONITORING pag. 2 INTRODUCTION This document aims to explain how Pandora FMS can monitor all the network devices available in the market, like Routers, Switches, Modems, Access points,
VMWARE Introduction ESX Server Architecture and the design of Virtual Machines
Introduction........................................................................................ 2 ESX Server Architecture and the design of Virtual Machines........................................
OpenFlow Switching: Data Plane Performance
This full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication in the IEEE ICC 21 proceedings OpenFlow : Data Plane Performance Andrea Bianco,
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
Chapter 11 I/O Management and Disk Scheduling
Operatin g Systems: Internals and Design Principle s Chapter 11 I/O Management and Disk Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles An artifact can
Precision Time Protocol on Linux ~ Introduction to linuxptp
Precision Time Protocol on Linux ~ Introduction to linuxptp Ken ICHIKAWA FUJITSU LIMITED. LinuxCon Japan 2014 Copyright 2014 FUJITSU LIMITED Agenda Background Overview of Precision Time Protocol (PTP)
IPv6 Challenges for Embedded Systems István Gyürki 30.08.2011
IPv6 Challenges for Embedded Systems István Gyürki 30.08.2011 AGENDA Introduction IPv6 why do we need it? Selecting the right TCP/IP stack Case study Conclusions Page 2 Company Profile Wireless Products
