passively monitoring networks at gigabit speeds
play

Passively Monitoring Networks at Gigabit Speeds Luca Deri - PowerPoint PPT Presentation

Passively Monitoring Networks at Gigabit Speeds Luca Deri <deri@ntop.org> Yuri Francalacci <yuri@ntop.org> ntop.org Presentation Overview Monitoring Issues at Wire Speed Traffic Filtering and Protocol Conversion


  1. Passively Monitoring Networks at Gigabit Speeds Luca Deri <deri@ntop.org> Yuri Francalacci <yuri@ntop.org> ntop.org

  2. Presentation Overview • Monitoring Issues at Wire Speed • Traffic Filtering and Protocol Conversion • Packet Capture and Classification • Final Remarks ntop.org L.Deri and Y.Francalacci 2

  3. Monitoring Issues at Wire Speed • Monitoring low speed (100Mb) network is already available with common tools libpcap based • Problem Statement: monitor high speed (10 GB and over) network with common PC’s (64 bit 66MHz PCI bus) • PCI Bus Limited Bandwidth (64 bit bus transfer limit 533 Mbit/s) ntop.org L.Deri and Y.Francalacci 3

  4. Proposed Approach: Requirements • Hardware and Software: – Intelligent routers (e.g. Juniper M-series): they are needed to run the network – x86-based PCs for capturing traffic – Linux/FreeBSD Operating System – Standard 64 bit PCI Gigabit NICs (Intel) ntop.org L.Deri and Y.Francalacci 4

  5. Proposed Approach: Goals • Passively monitor networks at Gbit speeds with no (or very little) packet loss • Traffic information generated in a standard format (NetFlow/nFlow) • Ability to monitor both IPv4/v6 • Provide accounting, performance information ntop.org L.Deri and Y.Francalacci 5

  6. Architecture Overview Internet Internet Traffic Mirror Packet Filtering nProbe nProbe Juniper M-series Juniper M-series NetFlow Local Local ntop ntop Network Network ntop.org L.Deri and Y.Francalacci 6

  7. Traffic Filtering and Protocol Conversion [1/3] • Juniper routers provide: – a built-in traffic-filter (firewall configuration statement) – traffic mirroring (forwarding configuration statement) ntop.org L.Deri and Y.Francalacci 7

  8. Traffic Filtering and Protocol Conversion [2/3] • Traffic filter capabilities: – IPv4 and IPv6 filter types available – BPF-like filtering terms – Filter complexity as user request • Traffic filter term counter – Possibility to define a counter for each term (could be used for accounting reason) – All counters could be read via SNMP ntop.org L.Deri and Y.Francalacci 8

  9. Traffic Filtering and Protocol Conversion [3/3] • Traffic mirroring advantages: – Interface type independency (router provides the protocol conversion) – Sampling capabilities (if link speed > monitoring NIC speed) – Multilink mirroring (on the monitoring link can be mirrored more than one line) ntop.org L.Deri and Y.Francalacci 9

  10. Juniper Accounting • NetFlow (v5/v8) support • Flexible flow aggregation (AS, service, etc) • Complex accounting (e.g. using ntop) using a PC connected on a mirror port ntop.org L.Deri and Y.Francalacci 10

  11. Packet Capture and Classification: Issues • Most Gbit network cards/OSs have not been designed for capturing thousand of packets per second in promiscuous mode • Most NetFlow implementations (e.g. Juniper, Cisco, Extreme Networks) handle up to ~10k packet/sec and/or decrease dramatically switch performances • Flow collector performance is often rather limited (load balancing) ntop.org L.Deri and Y.Francalacci 11

  12. Userland Packet Capture: libpcap sniffer sniffer kernel TCP,UDP IP,ICMP Packet Copy filter filter Ethernet BPF driver Device driver ntop.org L.Deri and Y.Francalacci 12

  13. Libpcap Limitations • Multiple packet copies. • Costly data exchange from kernel to user space via system calls • Severe packet loss if userland applications cannot cope with packet/kernel speed ntop.org L.Deri and Y.Francalacci 13

  14. Solution 1: Kernel Packet Capture sniffer Linux/BSD kernel TCP,UDP Direct Packet Access via mmap() Packets IP,ICMP Kernel Module Ethernet Packets Circular Buffer Device driver Packet Copy ntop.org L.Deri and Y.Francalacci 14

  15. Kernel Packet Capture: Code packetBuffer = mmap(fd); while(1) { if(select(fd)) { /* There’s a Packet to read */ packet = packetBuffer[slotId]; /* Handle packet here */ slotId = (slotId +1) % numSlots; } /* select */ } /* while */ ntop.org L.Deri and Y.Francalacci 15

  16. Kernel Packet Capture: Limitations [1/2] • Little (~10%) performance improvement over pcap due to select() call (test performed on a 10/100 MBit/sec link). • Possible workarounds: – Smart Select: as soon select() returns 1, keep on reading. When there’s nothing to read call select() again. – Active polling: infinite loop until there’s something to read on packetBuffer[slotId] ntop.org L.Deri and Y.Francalacci 16

  17. Kernel Packet Capture: Limitations [2/2] • Both workarounds to not improve performance significantly. – Smart Select:some select() calls are avoided. – Active polling:user time vs. kernel time increases significantly. At very high speeds (probability that there’s something to read is high) it’s better than smart select (see L. Rizzo). • Drawback: user time increases causing packet loss. ntop.org L.Deri and Y.Francalacci 17

  18. Solution 2: Kernel Packet Classification • Principles: – Handle packets only inside the kernel (i.e. they are not passed to userland applications). – Pass flows, not packets, (flows << packets) to userland applications. ntop.org L.Deri and Y.Francalacci 18

  19. Kernel Packet Classification: Architecture Flow Probe Linux/BSD kernel TCP,UDP Direct Flow Access via mmap() Flows IP,ICMP Kernel Module Packet Ethernet Flows Circular Buffer Reference Device driver ntop.org L.Deri and Y.Francalacci 19

  20. Kernel Packet Classification: Features • Strong performance improvement over pcap due to full in-kernel packet processing. • No NIC (DMA)->kernel->userland packet copy • No packet loss • Speed limited by the CPU speed (ability to handle interrupts) • Simple userland NetFlow probe implementation ntop.org L.Deri and Y.Francalacci 20

  21. nFlow (http://www.nflow.org) • New flow definition based on NetFlow • Major features: – Support for both IPv4 and IPv6 – Added VLAN tagging/MPLS label support – Added (network and application) performance and (passive) fingerprinting information – Flow compression (gzip), non ripudiation (MD5) ntop.org L.Deri and Y.Francalacci 21

  22. Final Remarks • Packet filtering and protocol conversion in hardware (Juniper). • External accounting application based on a PC with in-kernel NetFlow flow generation. • Kernel-based nProbe (alpha-code) runs at kernel/interrupt speed (pcap-based version handles <= 250k pkt/sec) ntop.org L.Deri and Y.Francalacci 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend