Applying ¡IPFIX ¡ to ¡Network ¡Measurement ¡ ¡ and ¡Management ¡ presented ¡by ¡ Brian ¡Trammell ¡and ¡Benoit ¡Claise ¡ Sunday ¡28 ¡July ¡2013 ¡ IETF ¡87 ¡— ¡Berlin, ¡Germany ¡
Acknowledgments ¡ • mPlane ¡ • Elisa ¡Boschi ¡ – who ¡co-‑authored ¡an ¡earlier ¡version ¡of ¡this ¡tutorial ¡given ¡at ¡IMC ¡2008 ¡ • and ¡of ¡course ¡the ¡document ¡authors, ¡ reviewers, ¡chairs, ¡and ¡other ¡contributors ¡of ¡ the ¡IPFIX ¡Working ¡Group, ¡who ¡did ¡all ¡the ¡ actual ¡work. ¡ 28 ¡July ¡2013 ¡ IETF ¡87 ¡Berlin ¡— ¡IPFIX ¡Tutorial ¡ 2 ¡
Once ¡over ¡lightly ¡ WHAT ¡ IS ¡IPFIX? ¡ 28 ¡July ¡2013 ¡ IETF ¡87 ¡Berlin ¡— ¡IPFIX ¡Tutorial ¡ 3 ¡
What ¡is ¡IPFIX? ¡ • “IP ¡Flow ¡InformaTon ¡eXport” ¡ • a ¡unidirecTonal ¡protocol ¡for ¡data ¡export; ¡ • a ¡data ¡format ¡providing ¡efficient ¡record-‑level ¡self-‑ descripTon ¡for ¡this ¡protocol; ¡ – applicable ¡to ¡any ¡collecTon ¡with ¡large ¡numbers ¡of ¡ records ¡sharing ¡similar ¡structures ¡ • and ¡an ¡informaTon ¡model ¡providing ¡the ¡ vocabulary ¡for ¡this ¡data ¡format. ¡ – applicable ¡to ¡most ¡measurement/logging ¡tasks ¡at ¡ transport ¡and ¡network ¡layers, ¡extensible ¡beyond. ¡ 28 ¡July ¡2013 ¡ IETF ¡87 ¡Berlin ¡— ¡IPFIX ¡Tutorial ¡ 4 ¡
Today’s ¡Agenda ¡ • A ¡History ¡of ¡Flow ¡Measurement ¡(Benoit) ¡ • IPFIX ¡Architecture ¡(Benoit) ¡ • IPFIX ¡Protocol ¡Structures ¡(Brian) ¡ • IPFIX ¡Protocol ¡Dynamics ¡(Brian) ¡ • Cross-‑Area ¡ApplicaTons ¡(Benoit) ¡ • Learning ¡More ¡(Benoit) ¡ 28 ¡July ¡2013 ¡ IETF ¡87 ¡Berlin ¡— ¡IPFIX ¡Tutorial ¡ 5 ¡
How ¡we ¡got ¡here ¡ A ¡HISTORY ¡ OF ¡FLOW ¡MEASUREMENT ¡ 28 ¡July ¡2013 ¡ IETF ¡87 ¡Berlin ¡— ¡IPFIX ¡Tutorial ¡ 6 ¡
Monitoring ¡Background ¡ • 5 ¡minutes ¡interface ¡counters ¡polling ¡(typically ¡MRTG) ¡ • PotenTally ¡RMON ¡event/alarm ¡for ¡threshold ¡ noTficaTons ¡ • In ¡some ¡case, ¡the ¡EXPRESSION ¡MIB ¡(RFC ¡2982) ¡ – A ¡new ¡MIB ¡variable ¡for ¡link ¡uTlizaTon ¡ • TroubleshooTng: ¡packet ¡capture ¡ • Flow ¡monitoring ¡between ¡interface ¡counters ¡and ¡ packet ¡capture ¡
NetFlow ¡Version ¡5 ¡Flow ¡Format ¡ Flow ¡Key ¡vs. ¡Non-‑Key ¡Field ¡ From/to ¡ § Packet ¡count ¡ § Source ¡IP ¡address ¡ Usage ¡ § Byte ¡count ¡ § DesTnaTon ¡IP ¡address ¡ § Start ¡sysUpTime ¡ Time ¡ § Source ¡TCP/UDP ¡port ¡ of ¡Day ¡ § End ¡sysUpTime ¡ § DesTnaTon ¡TCP/UDP ¡port ¡ Applica9on ¡ § Input ¡ifIndex ¡ Port ¡ § Next ¡hop ¡address ¡ (more ¡or ¡less) ¡ U9liza9on ¡ § Source ¡AS ¡number ¡ § Output ¡ifIndex ¡ § Dest. ¡AS ¡number ¡ § Type ¡of ¡service ¡ § Source ¡prefix ¡mask ¡ QoS ¡ § Dest. ¡Prefix ¡mask ¡ § TCP ¡flags ¡ Rou9ng ¡and ¡ § Protocol ¡ Peering ¡ 8 ¡
NetFlow ¡Cache ¡Example ¡ 1. Create ¡and ¡update ¡flows ¡in ¡NetFlow ¡cache ¡ Src Src Src Dst Dst Dst Bytes Idl Srclf SrclPadd Dstlf DstlPadd Protocol TOS Flgs Pkts NextHop Active Port Msk AS Port Msk AS /Pkt e 1100 00A 00A Fa1/0 173.100.21.2 Fa0/0 10.0.227.12 11 80 10 /24 5 /24 15 10.0.23.2 1528 1745 4 0 2 2 Fa1/0 173.100.3.2 Fa0/0 10.0.227.12 6 40 0 2491 15 /26 196 15 /24 15 10.0.23.2 740 41.5 1 1000 00A 00A Fa1/0 173.100.20.2 Fa0/0 10.0.227.12 11 80 10 /24 180 /24 15 10.0.23.2 1428 1145.5 3 0 1 1 Fa1/0 173.100.6.2 Fa0/0 10.0.227.12 6 40 0 2210 19 /30 180 19 /24 15 10.0.23.2 1040 24.5 14 § Inac9ve ¡9mer ¡expired ¡(15 ¡sec ¡is ¡default) ¡ 2. Expira9on ¡ § Ac9ve ¡9mer ¡expired ¡(30 ¡min ¡is ¡default) ¡ ¡ § NetFlow ¡cache ¡is ¡full ¡(oldest ¡flows ¡are ¡expired) ¡ § RST ¡or ¡FIN ¡TCP ¡flag ¡ Src ¡ Src ¡ Src ¡ Dst ¡ Dst Dst ¡ Bytes/ Srclf ¡ SrclPadd ¡ Dstlf ¡ DstlPadd ¡ Protocol ¡ TOS ¡ Flgs ¡ Pkts ¡ NextHop ¡ Ac9ve ¡ Idle ¡ Port ¡ Msk ¡ AS ¡ Port ¡ Msk ¡ AS ¡ Pkt ¡ Fa1/0 ¡ 173.100.21.2 ¡ Fa0/0 ¡ 10.0.227.12 ¡ 11 ¡ 80 ¡ 10 ¡ 11000 ¡ 00A2 ¡ /24 ¡ 5 ¡ 00A2 ¡ /24 ¡ 15 ¡ 10.0.23.2 ¡ 1528 ¡ 1800 ¡ 4 ¡ 3. Aggrega9on ¡ 4. Export ¡version ¡ E.g., ¡Protocol-‑Port ¡Aggrega9on ¡ ¡ Scheme ¡Becomes ¡ Non-‑aggregated ¡flows—export ¡version ¡5 ¡or ¡9 ¡ Pkts ¡ Protocol ¡ SrcPort ¡ DstPort ¡ Bytes/Pkt ¡ 5. Transport ¡protocol ¡ Export ¡ Payload ¡ 11 ¡ 11000 ¡ 00A2 ¡ 00A2 ¡ 1528 ¡ (UDP, ¡SCTP) ¡ Packet ¡ Header ¡ (Flows) ¡ Aggregated ¡Flows—Export ¡Version ¡8 ¡or ¡9 ¡ 9 ¡
History ¡ • NetFlow, ¡Cisco ¡proprietary ¡technology ¡ – 20th ¡anniversary ¡in ¡2015 ¡ • First ¡akempt ¡to ¡standardize ¡a ¡flow ¡technology ¡ at ¡the ¡IETF: ¡ ¡ – RealTme ¡Traffic ¡Flow ¡Measurement ¡(RTFM) ¡ – From ¡1997 ¡to ¡1997 ¡ – RFC ¡2063, ¡RFC ¡2064, ¡RFC ¡2123, ¡RFC ¡2720, ¡RFC ¡ 2721, ¡RFC ¡2722, ¡RFC ¡2723, ¡RFC ¡2724 ¡ – hkps://datatracker.iel.org/wg/rlm/ ¡ 28 ¡July ¡2013 ¡ IETF ¡87 ¡Berlin ¡— ¡IPFIX ¡Tutorial ¡ 10 ¡
Lesson ¡learned: ¡Extensibility ¡and ¡ Flexibility ¡Requirements ¡ • TradiTonal ¡NetFlow ¡with ¡v5 ¡or ¡v8 ¡NetFlow ¡export ¡ – ¡New ¡requirements: ¡build ¡something ¡flexible ¡and ¡ extensible ¡ • Phase ¡One: ¡NetFlow ¡Version ¡9 ¡ – ¡Advantages: ¡extensibility ¡ Expor9ng ¡ • Integrate ¡new ¡technologies/data ¡types ¡quicker ¡ Process ¡ (MPLS, ¡IPv6, ¡BGP ¡next ¡hop, ¡etc.) ¡ • Integrate ¡new ¡aggregaTons ¡quicker ¡ • Phase ¡Two: ¡Flexible ¡NetFlow ¡ – ¡Advantages: ¡cache ¡and ¡export ¡content ¡ ¡ flexibility ¡ Metering ¡ Process ¡ • User ¡selecTon ¡of ¡flow ¡keys ¡ • User ¡definiTon ¡of ¡the ¡records ¡ 11 ¡
Flexible ¡Flow ¡Record: ¡Key ¡Fields ¡ Flow IPv4 IPv6 Sampler ID IP (Source or IP (Source or Payload Size Payload Size Destination) Direction Destination) Prefix (Source or Packet Section Class ID Prefix (Source Packet Section Destination) (Header) or Destination) (Header) Mask (Source or Packet Section Interface Mask (Source or Packet Section Destination) (Payload) Destination) (Payload) Input Minimum-Mask Minimum-Mask (Source or TTL Output (Source or DSCP Destination) Destination) Layer ¡2 ¡ Extension Protocol Options bitmap Protocol Source ¡VLAN ¡ Headers Fragmentation Dest ¡VLAN ¡ Version Traffic Class Hop-Limit Flags Dot1q ¡VLAN ¡ Fragmentation Flow Label Length Precedence Offset Dot1q ¡priority ¡ Option Header Next-header Identification DSCP Source ¡MAC ¡ Header Length Version Header Length TOS address ¡ Payload Length Total Length DesTnaTon ¡MAC ¡ address ¡ 12 ¡
Flexible ¡Flow ¡Record: ¡Key ¡Fields ¡ RouTng ¡ Transport Application src ¡or ¡dest ¡AS ¡ Destination Port TCP Flag: ACK Application ID Peer ¡AS ¡ Source Port TCP Flag: CWR Traffic ¡Index ¡ ICMP Code TCP Flag: ECE Multicast Forwarding ¡ ICMP Type TCP Flag: FIN Status ¡ Replication IGMP Type* TCP Flag: PSH Factor* IGP ¡Next ¡Hop ¡ TCP ACK Number TCP Flag: RST BGP ¡Next ¡Hop ¡ RPF Check TCP Header Length TCP Flag: SYN Drop* Input VRF TCP Sequence Number TCP Flag: URG Name Is-Multicast TCP Window-Size UDP Message Length TCP Source Port UDP Source Port UDP Destination Port TCP Destination Port TCP Urgent Pointer RTP SSRC 13 ¡
Flexible ¡Flow ¡Record: ¡Non-‑Key ¡Fields ¡ ¡ Counters Timestamp IPv4 IPv4 and IPv6 Total Length sysUpTime First Total Length Bytes Minimum Packet Minimum Bytes Long Total Length Total Length sysUpTime First Maximum Maximum Packet Bytes Square Sum TTL Minimum Absolute first Bytes Square Sum Long packet TTL Maximum Absolute last Packets packet Packets Long Bytes replicated • Plus ¡any ¡of ¡the ¡potenTal ¡“key” ¡ fields: ¡will ¡be ¡the ¡value ¡from ¡the ¡ Bytes replicated Long first ¡packet ¡in ¡the ¡flow ¡ Packets replicated Packets Replicated Long 14 ¡
IPFIX ¡History ¡ 2001 ¡ 2002 ¡ 2003 ¡ 2004 ¡ 2005 ¡ 2006 ¡ 2007 ¡ 2008 ¡ 2009 ¡
Recommend
More recommend