goprobe: a scalable distributed network monitoring solution · 2020. 8. 19. · netflow netflow...

45
goProbe: A Scalable Distributed Network Monitoring Solution Christian Decker Lennart Elsen Fabian Kohn Roger Wattenhofer

Upload: others

Post on 25-Feb-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

goProbe: A Scalable Distributed Network Monitoring Solution

Christian DeckerLennart Elsen

Fabian KohnRoger Wattenhofer

Page 2: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination
Page 3: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination
Page 4: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Goal Enable quick and efficient retrieval of key pieces of information about traffic patterns in global networks

Page 5: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Goal Enable quick and efficient retrieval of key pieces of information about traffic patterns in global networks

Scalability

Page 6: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

ReportingDebugging/Operations

? ??

Page 7: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

StoragePacket Capture

Acquisition of Traffic Data

Page 8: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

StoragePacket Capture

Grouping

Information Reduction

Acquisition of Traffic Data

Page 9: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

NetFlow

Source IPDestination IPNext Layer ProtocolIPv4/6 Next Hop …

Source PortDestination Port…

Packet Size Number of PacketsSampling IntervalTTLInterface Name…

Field N Length

Field N Type

Field 2 Length

Field 2 Type

Field 1 Length

Field 1 Type

Count

System Uptime

Sequence #

NetFlow Version

Net

wor

kTr

ansp

ort

Met

a In

fo

NetFlow Packet

Packet aggregation by set of shared attributes

Network packet headers & packet counters

Expiry time

Page 10: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

NetFlow

NetFlow Exporter

NetFlow Exporter

Network A

Network BNetFlow Collector

Source IPDestination IPNext Layer ProtocolIPv4/6 Next Hop …

Source PortDestination Port…

Packet Size Number of PacketsSampling IntervalTTLInterface Name…

Field N Length

Field N Type

Field 2 Length

Field 2 Type

Field 1 Length

Field 1 Type

Count

System Uptime

Sequence #

NetFlow Version

Net

wor

kTr

ansp

ort

Met

a In

fo

NetFlow Packet

Page 11: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

NetFlow

NetFlow Exporter

NetFlow Exporter

Network A

Network BNetFlow Collector

Source IPDestination IPNext Layer ProtocolIPv4/6 Next Hop …

Source PortDestination Port…

Packet Size Number of PacketsSampling IntervalTTLInterface Name…

Field N Length

Field N Type

Field 2 Length

Field 2 Type

Field 1 Length

Field 1 Type

Count

System Uptime

Sequence #

NetFlow Version

Net

wor

kTr

ansp

ort

Met

a In

fo

NetFlow Packet

Page 12: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

d

Analysts

Current Network Monitoring System

Single Host

ExporterDB

Query Tool

Queries

Aggregated Results

Flow Data

Request Traffic Metadata

Formatted Results

FastBitnProbe

Page 13: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

nProbeFastBit

Query Tool

Challenges Capturing Process

Page 14: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

nProbeFastBit

Query Tool

Challenges Capturing Process

Immense memory footprint

Page 15: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Challenges Capturing Process

FastBitQuery Tool

One process per capture interfacenP

robe

nPro

be

nPro

be

Page 16: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

FastBitQuery ToolnP

robe

nPro

be

nPro

be

Challenges Storage Backend

Page 17: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Challenges Storage Backend

FastBitQuery ToolnP

robe

nPro

be

nPro

be

Inefficient memory management

Page 18: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Challenges Storage Backend

FastBit

Query ToolnP

robe

nPro

be

nPro

be

No data compression

Page 19: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Challenges Storage Backend

FastBit

Query ToolnP

robe

nPro

be

nPro

be

Long query execution times

Page 20: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Challenges

FastBit

Query ToolnP

robe

nPro

be

nPro

be

Poor Scalability

Page 21: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Reduced Flow Format

Src IP Dst IP IP Protocol Src Port Dst Port Packets

RcvdPackets

SentBytes Rcvd

Bytes Sent

Shared Attributes Counters

Page 22: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Reduced Flow Format

Src Port Dst Port

Shared Attributes Counters

Appl. Layer

Protocol

Deep Packet

Inspection

Page 23: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Reduced Flow Format

Src Port Dst Port

Deep Packet

Inspection

Appl. Layer

ProtocolDst Port

Source Port Aggregation

Appl. Layer

ProtocolFlow in goProbe

Stored Flow

Page 24: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Collection of Flow Information — goProbe

goProbe

Written in Google Go

One capture routine per interface

Packet capture using modified libpcap

Database flush in regular intervals

Page 25: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

TimerData Channel

Data Prepare

Local Database

Aggregation…

goProbe – Concept (Multiple Interfaces)

DB

Flow Table

Interface

Page 26: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

How does it Compare?

Page 27: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Database Performance Evaluation

Reference DB

Runtime

CPU utilization

Disk I/O

Memory

7.8 GB

Aggregation Queries

Conditional Queries120 Million Entries

Page 28: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Data Read From Disk [MB]

FastBit

InfoBright EE

InfiniDB 1405

105

5617

350

74

2200

AggregationConditional

Runtime [s]

FastBit

InfoBright EE

InfiniDB 23

10

63

17

9

60

Reserved Memory [MB]

FastBit

InfoBright EE

InfiniDB 668

387

1399

630

351

3300

CPU Utilization [%]

FastBit

InfoBright EE

InfiniDB 83

213

17

302

352

23

Results

Page 29: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

InfiniDBInfobright EE

$

Page 30: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

File Based

Compression

Concurrency

Independent Processing

Tailored Column Store

Page 31: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

goDB

Tailored Column Store — goDB

File Based

Compression

Concurrency

Independent Processing

Page 32: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Day 1

Destination IP

Source IP

Destination Port

IP Protocol

Appl. Layer Protocol

Bytes Received

Bytes Sent

Packets Received

Packets Sent

One File per Attribute

64

64

64

Page 33: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Day 1

Destination IP

Source IP

Destination Port

IP Protocol

Appl. Layer Protocol

Bytes Received

Bytes Sent

Packets Received

Packets Sent

One File per Attribute

64

64

64

172.0.50.4 | 10.30.0.3 | 8145 | 6 | 128 | 1024 | 1 | 8

Page 34: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Block-wise Writing and Reading

5 min 5 min 5 min

Attribute File

Block Timestamps

Length of Uncompressed Block

Position

Header

Compressed Block

Page 35: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Day

1D

ay d

Full

Dat

abas

eConcurrent Processing

Page 36: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Day

1D

ay d

Concurrent Processing

Page 37: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Day

1D

ay d

Worker 1

Worker dsip dip counters

sip dip counters

Partial Result Block i, Day 1

Partial Result Block j, Day d

Concurrent Processing

Decompress Aggregate

Page 38: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Day

1D

ay d

Worker 1

Worker d

Partial Result Block i, Day 1

Partial Result Block j, Day d

sip dip counters

sip dip counters

sip dip counters

Combined Result

Merge Routine

Concurrent Processing

Decompress Aggregate

Page 39: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Day

1D

ay d

Worker 1

Worker d

Partial Result Block i, Day 1

Partial Result Block j, Day d

sip dip counters

sip dip counters

sip dip counters

Combined Result

Merge Routine

Format Sort Limit

Concurrent Processing

Decompress Aggregate

Page 40: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Data Read From Disk [MB]

FastBit

goDB760

5617

494

2200

AggregationConditional

Runtime [s]

FastBit

goDB20

63

13

60

Reserved Memory [MB]

FastBit

goDB50

1399

47

3300

CPU Utilization [%]

FastBit

goDB123

17

237

23

How does it Compare?

Page 41: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Traffic Portfolio of an NGO Customer

Page 42: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Global Breakdown of PortsEx

tern

al T

raffi

cIn

tern

al T

raffi

c

Page 43: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Global Breakdown of PortsEx

tern

al T

raffi

cIn

tern

al T

raffi

c

HTTPS

HTTP

SMBDNS

Page 44: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

Global Breakdown of Ports European Hub Traffic UsageEx

tern

al T

raffi

cIn

tern

al T

raffi

c

Page 45: goProbe: A Scalable Distributed Network Monitoring Solution · 2020. 8. 19. · NetFlow NetFlow Exporter NetFlow Exporter Network A NetFlow Network B Collector Source IP Destination

https://github.com/open-ch/

Conclusion

Improved capturing and flow logic

High performance DB written from scratch

Global deployment

Open source: