These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license (http://creativecommons.org/licenses/by-nc/3.0/)

Slides:



Advertisements
Similar presentations
Network Monitoring System In CSTNET Long Chun China Science & Technology Network.
Advertisements

Overview of IETF work on IP traffic flow measurement and current developments Dr. Jürgen Quittek General Manager Network Research Division, NEC Europe.
Computer Networks20-1 Chapter 20. Network Layer: Internet Protocol 20.1 Internetworking 20.2 IPv IPv6.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Switching & Operations. Address learning Forward/filter decision Loop avoidance Three Switch Functions.
CSE551: Computer Network Review r Network Layers r TCP/UDP r IP.
Instructor & Todd Lammle
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
CSCI 4550/8556 Computer Networks Comer, Chapter 20: IP Datagrams and Datagram Forwarding.
Introduction. 2 What Is SmartFlow? SmartFlow is the first application to test QoS and analyze the performance and behavior of the new breed of policy-based.
1 CCNA 2 v3.1 Module 8. 2 TCP/IP Suite Error and Control Messages CCNA 2 Module 8.
Cisco Public © 2013 Cisco and/or its affiliates. All rights reserved. 1.
Netflow Overview PacNOG 6 Nadi, Fiji. Agenda Netflow –What it is and how it works –Uses and Applications Vendor Configurations/ Implementation –Cisco.
Experiences in Analyzing Network Traffic Shou-Chuan Lai National Tsing Hua University Computer and Communication Center Nov. 20, 2003.
1 Netflow 6/12/07. 2 Overview Why use netflow? What is a flow? Deploying Netflow Performance Impact.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
1 CMPT 471 Networking II ICMP © Janice Regan, 2012.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Network Layer ICMP and fragmentation.
Flow tools APRICOT 2008 Network Management Taipei, Taiwan February 20-24, 2008.
NetfFow Overview SANOG 17 Colombo, Sri Lanka. Agenda Netflow –What it is and how it works –Uses and Applications Vendor Configurations/ Implementation.
Copyright © 2002 OSI Software, Inc. All rights reserved. PI-NetFlow and PacketCapture Eric Tam, OSIsoft.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
21.1 Chapter 21 Network Layer: Address Mapping, Error Reporting, and Multicasting Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Network Flow-Based Anomaly Detection of DDoS Attacks Vassilis Chatzigiannakis National Technical University of Athens, Greece TNC.
Fraunhofer FOKUSCompetence Center NET T. Zseby, CC NET1 IPFIX – IP Flow Information Export Overview Tanja Zseby Fraunhofer FOKUS, Network Research.
Session 2 Security Monitoring Identify Device Status Traffic Analysis Routing Protocol Status Configuration & Log Classification.
POSTECH DP&NM Lab. Internet Traffic Monitoring and Analysis: Methods and Applications (1) 5. Passive Monitoring Techniques.
Chap 9 TCP/IP Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
NetFlow: Digging Flows Out of the Traffic Evandro de Souza ESnet ESnet Site Coordinating Committee Meeting Columbus/OH – July/2004.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
Net-flow APRICOT 2008 Network Management Taipei, Taiwan February 20-24, 2008.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
1 IP : Internet Protocol Computer Network System Sirak Kaewjamnong.
Review the key networking concepts –TCP/IP reference model –Ethernet –Switched Ethernet –IP, ARP –TCP –DNS.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Networks and Protocols CE Week 7b. Routing an Overview.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Measurement COS 597E: Software Defined Networking.
Project Requirements (NetFlow Generator) 정승화 분산 처리 및 네트워크 관리 연구실 포항 공과 대학교
Open-Eye Georgios Androulidakis National Technical University of Athens.
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
Net Flow Network Protocol Presented By : Arslan Qamar.
IPv6 Flow. IPv6 Flow Options Netflow v9 (aka cflow/jflow) Sflow IPFix.
Flow-tools Tutorial Mark Fullmer
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
Semester 2v2 Chapter 8: IP Addressing. Describe how IP addressing is important in routing. IP addresses are specified in 32-bit dotted-decimal format.
1 DETAILS OF PROTOCOLS The Zoo Protocol - TCP - IP.
1 IEX8175 RF Electronics Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst.
Page 12/9/2016 Chapter 10 Intermediate TCP : TCP and UDP segments, Transport Layer Ports CCNA2 Chapter 10.
POSTECH DP&NM Lab Detailed Design Document NetFlow Generator 정승화 DPNM Lab. in Postech.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Network Management Workshop
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI network layer CCNA Exploration Semester 1 – Chapter 5.
Mark Fullmer Flow-tools Tutorial Mark Fullmer
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Introduction to Networks v6.0
Instructor Materials Chapter 6: Network Layer
Introduction to TCP/IP networking
Instructor Materials Chapter 5: Ethernet
Hubs Hubs are essentially physical-layer repeaters:
Chapter 6: Network Layer
Hubs Hubs are essentially physical-layer repeaters:
IP : Internet Protocol Surasak Sanguanpong
Net 323 D: Networks Protocols
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
ITIS 6167/8167: Network and Information Security
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

These materials are licensed under the Creative Commons Attribution-Noncommercial 3.0 Unported license ( as part of the ICANN, ISOC and NSRC Registry Operations Curriculum. Netflow Advanced Registry Operations Curriculum

Netflow –What it is and how it works –Uses and Applications Vendor Configurations/Implementation –Cisco NetFlow tools –Architectural issues –Software, tools etc

Packets or frames that have a common attribute. Creation and expiration policy – what conditions start and stop a flow. Counters – packets,bytes,time. Routing information – AS, network mask, interfaces.

Unidirectional or bidirectional. Bidirectional flows can contain other information such as round trip time, TCP behavior. Application flows look past the headers to classify packets by their contents. Aggregated flows – flows of flows.

% telnet login: Active Flows Flow Source IP Destination IP Unidirectional Flow with Source/ Destination IP Key

% telnet login: Active Flows Flow Source IP Destination IP % ping ICMP echo reply

login: Active Flows Flow Source IP Destination IPprot srcPortdstPort TCP TCP ICMP ICMP 0 0 % telnet % ping ICMP echo reply

% telnet login: Active Flows Flow Source IP Destination IP prot srcPortdstPort TCP ICMP 0 0 % ping ICMP echo reply

% firefox Content-type: Active Flows Flow Source IP Destination IPApplication HTTP Web server on Port 9090

Flow Source IP Destination IPprotsrcPortdstPort TCP TCP ICMP ICMP 0 0 Source/Destination IP Aggregate Flow Source IP Destination IP Main Active flow table

Generating and Viewing Flows Exporting Flows from devices –Types of flows –Sampling rates Collecting it –Tools to Collect Flows - Flow-tools Analyzing it –Use existing or write your own

A Key with more elements will generate more flows. Greater number of flows leads to more post processing time to generate reports, more memory and CPU requirements for device generating flows. Depends on application. Traffic engineering vs. intrusion detection.

Accounting information accumulated with flows. Packets, Bytes, Start Time, End Time. Network routing information – masks and autonomous system number.

Passive monitor -A passive monitor (usually a unix host) receives all data and generates flows. -Resource intensive, newer investments needed Router or other existing network device. -Router or other existing devices like switch, generate flows. -Sampling is possible -Nothing new needed

Workstation AWorkstation B Campus Flow probe connected to switch port in “ traffic mirror” mode

Flow collector stores exported flows from router. LAN Internet LAN

Directly connected to a LAN segment via a switch port in “mirror” mode, optical splitter, or repeated segment. Generate flows for all local LAN traffic. Must have an interface or monitor deployed on each LAN segment. Support for more detailed flows – bidirectional and application.

Router will generate flows for traffic that is directed to the router. Flows are not generated for local LAN traffic. Limited to “simple” flow criteria (packet headers). Generally easier to deploy – no new equipment.

Unidirectional flows. IPv4 unicast and multicast. Aggregated and unaggregated. Flows exported via UDP. Supported on IOS and CatOS platforms. Catalyst NetFlow is different from IOS

4 Unaggregated types (1,5,6,7). 14 Aggregated types (8.x, 9). Each version has its own packet format. Version 1 does not have sequence numbers – no way to detect lost flows. The “version” defines what type of data is in the flow. Some versions specific to Catalyst platform.

Key fields: Source/Destination IP, Source/Destination Port, IP Protocol, ToS, Input interface. Accounting: Packets, Octets, Start/End time, Output interface Other: Bitwise OR of TCP flags.

Key fields: Source/Destination IP, Source/Destination Port, IP Protocol, ToS, Input interface. Accounting: Packets, Octets, Start/End time, Output interface. Other: Bitwise OR of TCP flags, Source/Destination AS and IP Mask. Packet format adds sequence numbers for detecting lost exports.

Aggregated v5 flows. Not all flow types available on all equipments Much less data to post process, but loses fine granularity of v5 – no IP addresses.

AS Protocol/Port Source Prefix Destination Prefix Prefix Destination Source/Destination Full Flow

ToS/AS ToS/Protocol/Port ToS/Source Prefix ToS/Destination Prefix Tos/Source/Destination Prefix ToS/Prefix/Port

Record formats are defined using templates. Template descriptions are communicated from the router to the NetFlow Collection Engine. Flow records are sent from the router to the NetFlow Collection Engine with minimal template information so that the NetFlow Collection Engine can relate the records to the appropriate template. Version 9 is independent of the underlying transport (UDP, TCP, SCTP, and so on).

Common header among export versions. All but v1 have a sequence number. Version specific data field where N records of data type are exported. N is determined by the size of the flow definition. Packet size is kept under ~1480 bytes. No fragmentation on Ethernet.

NetFlow v5 header v5 record IP/UDP packet v5 record … …

struct ftpdu_v5 { /* 24 byte header */ u_int16 version; /* 5 */ u_int16 count; /* The number of records in the PDU */ u_int32 sysUpTime; /* Current time in millisecs since router booted */ u_int32 unix_secs; /* Current seconds since 0000 UTC 1970 */ u_int32 unix_nsecs; /* Residual nanoseconds since 0000 UTC 1970 */ u_int32 flow_sequence; /* Seq counter of total flows seen */ u_int8 engine_type; /* Type of flow switching engine (RP,VIP,etc.) */ u_int8 engine_id; /* Slot number of the flow switching engine */ u_int16 reserved;

/* 48 byte payload */ struct ftrec_v5 { u_int32 srcaddr; /* Source IP Address */ u_int32 dstaddr; /* Destination IP Address */ u_int32 nexthop; /* Next hop router's IP Address */ u_int16 input; /* Input interface index */ u_int16 output; /* Output interface index */ u_int32 dPkts; /* Packets sent in Duration */ u_int32 dOctets; /* Octets sent in Duration. */ u_int32 First; /* SysUptime at start of flow */ u_int32 Last; /* and of last packet of flow */ u_int16 srcport; /* TCP/UDP source port number or equivalent */ u_int16 dstport; /* TCP/UDP destination port number or equiv */ u_int8 pad; u_int8 tcp_flags; /* Cumulative OR of tcp flags */ u_int8 prot; /* IP protocol, e.g., 6=TCP, 17=UDP,... */ u_int8 tos; /* IP Type-of-Service */ u_int16 src_as; /* originating AS of source address */ u_int16 dst_as; /* originating AS of destination address */ u_int8 src_mask; /* source address prefix mask bits */ u_int8 dst_mask; /* destination address prefix mask bits */ u_int16 drops; } records[FT_PDU_V5_MAXFLOWS]; };

NetFlow v8 header v8 record IP/UDP packet v8 record … …

struct ftpdu_v8_1 { /* 28 byte header */ u_int16 version; /* 8 */ u_int16 count; /* The number of records in the PDU */ u_int32 sysUpTime; /* Current time in millisecs since router booted */ u_int32 unix_secs; /* Current seconds since 0000 UTC 1970 */ u_int32 unix_nsecs; /* Residual nanoseconds since 0000 UTC 1970 */ u_int32 flow_sequence; /* Seq counter of total flows seen */ u_int8 engine_type; /* Type of flow switching engine (RP,VIP,etc.) */ u_int8 engine_id; /* Slot number of the flow switching engine */ u_int8 aggregation; /* Aggregation method being used */ u_int8 agg_version; /* Version of the aggregation export */ u_int32 reserved; /* 28 byte payload */ struct ftrec_v8_1 { u_int32 dFlows; /* Number of flows */ u_int32 dPkts; /* Packets sent in duration */ u_int32 dOctets; /* Octets sent in duration */ u_int32 First; /* SysUpTime at start of flow */ u_int32 Last; /* and of last packet of flow */ u_int16 src_as; /* originating AS of source address */ u_int16 dst_as; /* originating AS of destination address */ u_int16 input; /* input interface index */ u_int16 output; /* output interface index */ } records[FT_PDU_V8_1_MAXFLOWS]; };

Configured on each input interface. Define the version. Define the IP address of the collector (where to send the flows). Optionally enable aggregation tables. Optionally configure flow timeout and main (v5) flow table size. Optionally configure sample rate.

interface FastEthernet0/0 description Access to backbone ip address ip flow egress ip flow ingress duplex auto speed auto ! interface FastEthernet0/1 description Access to local net ip address duplex auto speed auto ip flow-export version 5 ip flow-export destination ip flow top-talkers top 10 sort-by bytes

IOS versions interface FastEthernet0/0 ip route-cache flow ! Prior to IOS 12.4 ip flow [ingress|egress]! From IOS 12.4

Flow export v5 is enabled for main cache Exporting flows to (2002) Exporting using source IP address Version 5 flow records flows exported in 6953 udp datagrams 0 flows failed due to lack of export packet 0 export packets were sent up to process level 0 export packets were dropped due to no fib 0 export packets were dropped due to adjacency issues 0 export packets were dropped due to fragmentation failures 0 export packets were dropped due to encapsulation fixup failures

bb-gw#sh ip cache flow IP packet size distribution ( total packets): IP Flow Switching Cache, bytes 105 active, 3991 inactive, added ager polls, 0 flow alloc failures Active flows timeout in 30 minutes Inactive flows timeout in 15 seconds IP Sub Flow Cache, bytes 105 active, 919 inactive, added, added to flow 0 alloc failures, 0 force free 1 chunk, 8 chunks added last clearing of statistics never Protocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec) Flows /Sec /Flow /Pkt /Sec /Flow /Flow TCP-Telnet TCP-FTP TCP-WWW TCP-SMTP

TCP-X TCP-other UDP-DNS UDP-NTP UDP-Frag UDP-other ICMP IP-other Total: SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts Fa0/ Fa0/ A 1 Fa0/ Fa0/0* C166 1 Fa0/ Local EFFD Fa0/ Local EFFC Fa0/ Fa0/ EE Fa0/ Fa0/0* E Fa0/ Fa0/0* CBD Fa0/ Fa0/ DABD 13 …

ip flow-top-talkers top 10 sort-by bytes bb-gw#show ip flow top-talkers SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Bytes Fa0/ Fa0/0* D804 33K Fa0/ Fa0/ E K Fa0/ Fa0/0* D805 26K Fa0/ Fa0/0* D807 24K Fa0/ Fa0/0* D806 23K Fa0/ Fa0/0* E 23K Fa0/ Fa0/ D Fa0/ Fa0/0* ABE Fa0/ Fa0/ EE Fa0/ Fa0/0* EE of 10 top talkers shown. 122 flows processed.

Enable flow on each interface ip route-cache flow OR ip flow ingress ip flow egress View flows – show ip cache flow – show ip flow top-talkers

Export flows ip flow-export version 5 [origin-as|peer-as] ip flow-export destination x.x.x.x Exporting aggregated flows ip flow-aggregation cache as|prefix|dest|source|proto enabled export destination x.x.x.x

Problem identification / solving –Traffic classification –DoS Traceback (some slides by Danny McPherson)‏ Traffic Analysis –Inter-AS traffic analysis –Reporting on application proxies Accounting –Cross verification from other sources –Can cross-check with SNMP data

Based on Protocol, source and destination ports –Protocol identification (TCP, UDP, ICMP)‏ –Can define well known ports –Can identify well known P2P ports –Most common use Proxy measurement - http, ftp Rate limiting P2P traffic

Trace attack by matching fingerprint/signature at each interface via passive monitoring: –Flow data (e.g., NetFlow, cflowd, sFlow, IPFIX)‏ –Span Data –PSAMP (Packet Sampling, IETF PSAMP WG)‏ Number of open source and commercial products evolving in market Non-intrusive, widely supported

Monitor flows (i.e., Network and Transport Layer transactions) on the network and build baselines for what normal behavior looks like: -Per interface -Per prefix -Per Transport Layer protocol & ports -Build time-based buckets (e.g., 5 minutes, 30 minutes, 1 hours, 12 hours, day of week, day of month, day of year)‏

Once baselines are built anomalous activity can be detected –Pure rate-based (pps or bps) anomalies may be legitimate or malicious –Many misuse attacks can be immediately recognized, even without baselines (e.g., TCP SYN or RST floods)‏ –Signatures can also be defined to identify “interesting” transactional data (e.g., proto udp and port 1434 and 404 octets(376 payload) == slammer!)‏ –Temporal compound signatures can be defined to detect with higher precision

Can see traffic based on source and destination AS –Source and destination AS derived through the routing table on the router –Introduces the need to run full mesh BGP at IXPs as well as transit and peering –Source and destination prefix based flows can be collected and plotted against external prefix to ASN data

Flow based accounting can be a good supplement to SNMP based accounting.

Data Courtesy AARNET, Australia and Bruce Morgan

IPFIX (IP Flow Information Exchange)‏ –To make the flow format uniform and make it easier to write analysis tools – –Requirements for IP Flow Information Export (RFC 3917) – Evaluation of Candidate Protocols for IP Flow Information Export (IPFIX) (RFC 3955)‏

flow-tools: NetFlow Applications Netflow HOW-TO IETF standards effort:

Abilene NetFlow page Flow-tools mailing list: Cisco Centric Open Source Community