pmacct and network analy?cs - pmacct project: ip

28
FRNOG 31, Paris – Oct 2018 pmacct and network analy?cs Paolo Lucente pmacct

Upload: others

Post on 02-Aug-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: pmacct and network analy?cs - pmacct project: IP

FRNOG31,Paris–Oct2018

pmacctandnetworkanaly?cs

PaoloLucentepmacct

Page 2: pmacct and network analy?cs - pmacct project: IP

whoami

PaoloLucenteGitHub:paololucenteLinkedIn:plucenteDiggingdataoutofnetworksworldwideforfunandprofitformorethan10years

Page 3: pmacct and network analy?cs - pmacct project: IP

Introduc?on

FRNOG31,Paris–Oct2018

Page 4: pmacct and network analy?cs - pmacct project: IP

libpcap

pmacctisopen-source,free,GPL’edsoMware

maps

IGP

MySQL PgSQL SQLite

MongoDB BerkeleyDB

flat-files

RabbitMQ Kafka

memory tables

sFlow

tee

NetFlow IPFIX

NetFlow IPFIX

hNp://www.pmacct.net/

Streaming Telemetry

GeoIP

BGP

sFlow

BMP

Page 5: pmacct and network analy?cs - pmacct project: IP

pmacct:afewsimpleuse-cases

BMP

flat-files

tee

NetFlow IPFIX

sFlow

Kafka

IPFIX libpcap

Page 6: pmacct and network analy?cs - pmacct project: IP

pmacct:aslightlymorecomplexuse-case

BGP

flat-files

tee

NetFlow IPFIX

Kafka

MySQL

aggregation method #1

aggregation method #2

nfacctd

Page 7: pmacct and network analy?cs - pmacct project: IP

Theuse-caseformessagebrokers

Page 8: pmacct and network analy?cs - pmacct project: IP

Keypmacctnon-technicalfacts

§  15+yearsoldproject§  Can’tspellthenameaMertheseconddrink§  Free,open-source,independent§  Underac?vedevelopment§  Innova?onbeingintroduced§ Welldeployedaround,alsoinlargeSPs/IXPs§  ClosetotheSP/IXPcommunityneeds

Page 9: pmacct and network analy?cs - pmacct project: IP

BuildingaNetworkAnaly?cspipeline

FRNOG31,Paris–Oct2018

Page 10: pmacct and network analy?cs - pmacct project: IP

TypicalgoalsforNetworkAnaly?cs

§  BusinessIntelligence§  InsightintrafficpaNerns§  Supportpeeringdecisions§  Inves?ga?onofnetworkevents§  Capacityplanning§  TrafficEngineering

Page 11: pmacct and network analy?cs - pmacct project: IP

SamplepipelineforNetworkAnaly?cs

§  Inputdata(BGP,NetFlow,StreamingTelemetry,SNMP,…)

§  Collec?on(pmacct,homegrownSNMPpoller)§  Dataencoding(JSON,ApacheAvro,etc.)§  Distribu?on(Kafa)§  Enrichment(homegrowngluein$language)§  Inges?on(RDBMS,TSDB)§  Visualiza?on

Page 12: pmacct and network analy?cs - pmacct project: IP

SamplepipelineforNetworkAnaly?cs(cont.d)

ForwardingPlane

ControlPlane

Topology

DataCollection

Network

BigData&Analytics

BMP IPFIX

InSituOAM

sFlow

Netstream

Netflow

gRPC

gNMI

OpenConfigYANG

NetworkDevice Human/Machine

Collector Analytics

MessageBroker DataStorage

DataProcessing MessageBroker

Creditsto:T.Graf(Swisscom)@UBBF2018

Page 13: pmacct and network analy?cs - pmacct project: IP

GekngBGPtothecollector

§  LetpmacctcollectorBGPpeerwithallPEdevices:facingpeers,transitandcustomers•  Nobest-pathcomputa?onatthecollector:scalabilitypreferredtoop?mizingmemoryusage

•  Countsome50MBofmemoryperfull-rou?ngtable

§  SetthecollectorasiBGPpeeratthePEdevices:•  ConfigureitasaRRclient•  CollectoractsasiBGPpeeracross(sub-)ASboundaries

Page 14: pmacct and network analy?cs - pmacct project: IP

Gekngflowtelemetrytothecollector

§  Exportingress-onlymeasurementsatallPEdevices:facingpeers,transitandcustomers.•  Trafficisroutedtodes?na?on,soplentyofinforma?ononwhereit’sgoingto

•  It’scrucialinsteadtogetasmuchaspossibleaboutwheretrafficiscomingfrom,ie.:§  inputinterfaceatingressrouter§  sourceMACaddress

§  Performdatareduc?onatthePE(ie.sampling)

Page 15: pmacct and network analy?cs - pmacct project: IP

Forwardingplane/controlplanecorrela?on

Page 16: pmacct and network analy?cs - pmacct project: IP

§  AscalablereplacementforSNMP:•  Pushtechnology•  Subscribingtodataofinterest

§  Alongjourneytostandardiza?onahead:•  Models:Openconfigandvendor-specific•  Transport:tradi?onal,NetconfandgNMI•  RPC:Netconf(YANGPush)andgNMI•  Encoding:JSONandGPB

StreamingTelemetry

Page 17: pmacct and network analy?cs - pmacct project: IP

flat-files Streaming Telemetry Kafka

Telemetry dump at regular time intervals

pmtelemetryd

Telemetry real-time log

pmacct&StreamingTelemetry(1/2)

Page 18: pmacct and network analy?cs - pmacct project: IP

Streaming telemetry

flat-files

NetFlow IPFIX

Kafka

MySQL

aggregation method #1

aggregation method #2

nfacctd

pmacct&StreamingTelemetry(2/2)

Page 19: pmacct and network analy?cs - pmacct project: IP

DataEncoding

§  JSON•  Schemaless•  Canbecompressedsuccessfullyend-to-end•  Simple,easytotroubleshootanddebug•  OMenthatistheencodingsupportedatinges?on?me•  Similars:BSON,MsgPack

§  ApacheAvro•  Withschema•  Binaryformat(whenthingsgowrong..)•  Similars:ThriM,GPB,Capt’nProto

Page 20: pmacct and network analy?cs - pmacct project: IP

Distribu?on

§  Kafa:de-factostandardfordatashipping•  Easytomodeldifferentproducer-consumerarchitectures

•  pmaccthasaplugintoproducetoKafa•  MostTSDBscanconsumefromKafa

§  Peopleintheneedforrawdatacantapintothislayertoconsumedirectly

§  Intui?ve(thatdoesnotmeanstraighporward..)toscale-out,balanceandreplicate

Page 21: pmacct and network analy?cs - pmacct project: IP

Storingdatapersistently

§  IfyourcompanyrunsaBigDatashop,youmaywanttos?cktooneoftheirop?ons

§  Asyoumayverywellbetryingtoingestmillionsoftuplesperminute:•  Ifinhouse,discussdimensioning•  Ifincloud,thinkaboutcostsanddataprivacy

Page 22: pmacct and network analy?cs - pmacct project: IP

Storingdatapersistently(cont.d)

§  Otherwise,selectafewtechnologies:•  Inges?onmethodsandperformance•  Querymethodsandperformance•  SoMwarelanguage•  Supportop?ons

§  Testthem§  Chooseone§  CongratsonbecomingtheBigDatashopofyourcompany!J

Page 23: pmacct and network analy?cs - pmacct project: IP

Storingdatapersistently(cont.d)§  “noSQL”databases(BigDataJ):•  Abletohandlelarge?me-seriesdata-sets•  MeaningfulsubsetofSQLquerylanguage•  Innova?vestorageandindexingengines•  Scalable:clustering,spa?alandtemporalpar??oning•  UI-ready:ie.ELKandTICKstacks

§  Open-sourceRDBMS:•  Abletohandlelargedata-sets•  FlexibleandstandardizedSQLquerylanguage•  Solidstorageandindexingengines•  Scalable:clustering,spa?alandtemporalpar??oning

Page 24: pmacct and network analy?cs - pmacct project: IP

UIexample

Page 25: pmacct and network analy?cs - pmacct project: IP

[email protected]://www.pmacct.net/|hNps://github.com/pmacct/pmacct

pmacctandnetworkanaly?cs

FRNOG31,Paris–Oct2018

Page 26: pmacct and network analy?cs - pmacct project: IP

Bonusslides

FRNOG31,Paris–Oct2018

Page 27: pmacct and network analy?cs - pmacct project: IP

Telemetrydatacorrec?on

§  Telemetrydatamaygetimprecise(ie.duetosampling)

§  Useinterfacestatsasgoldstandard§ Moldtelemetrydata..tomatchinterfacestats:•  BuildsonTrafficMatrixes?ma?onmethods:§  Tutorial:BestPrac?cesforDeterminingtheTrafficMatrixin

IPNetworks,NANOG43•  Addstelemetrydatatolinearsystemtosolve•  Solvesystemsuchthatthereisstrictconformance

withlinkstatvalues,withothermeasurementsmatchedasbestpossible

Page 28: pmacct and network analy?cs - pmacct project: IP

Brieflyonscalability§  Asinglecollectormightnotfititall:•  Memory:can’tstoreallBGPfullrou?ngtables•  CPU:can’tcopewiththepaceoftelemetryexport

§  Divide-et-imperaapproachisvalid:•  AssignPEs(bothtelemetryandBGP)tocollectors•  Ifna?velysupportedDB:

§ AssigncollectorstoDBnodes§ ClustertheDB

•  Ifnot-na?velysupportedDB:§ Assigncollectorstomessagebrokers§ Clusterthemessaginginfrastructure