분산환경에서의 실시간 네트워크 모니터링C0%CC%BF%B5%BC%AE.pdf9 . acm sigcomm2012 10...
Transcript of 분산환경에서의 실시간 네트워크 모니터링C0%CC%BF%B5%BC%AE.pdf9 . acm sigcomm2012 10...
분산환경에서의 실시간 네트워크 모니터링
2015. 6. 22
충남대학교 컴퓨터공학과 데이터네트워크 연구실 (http://networks.cnu.ac.kr )
1
내용
• 개요
• 하둡기반 인터넷 트래픽 측정
• 실시간 모니터링 이슈 및 사례
• 결론
2
네트워크 모니터링
3
Packet
• libpcap
• Tcpdump
•Wireshark
Flow
• Cisco
NetFlow
• sFlow
• SiLK
Routing
•MRT
• BGPmon
SNMP
•Net-snmp
•Open
NMS
LOG
• Syslog-ng
네트워크 모니터링 ?
4
• Packet
• Flow
• Routing
• SNMP MIB
• Log
데이터
캡쳐
• 파일
• DB
수집 및
저장
• 장애/성능 관
리
• 성능/보안 관
리
• 과금
분석 및
시각화
네트워크 데이터 용량
• Packet data volume
– 10Gbps * 1 hour = 4.5 TB
– 10Gbps * 1 day = 108 TB
• CAIDA data archive (in 2012)
– Ark topology: 1.8 TB
– Telescope: 102 TB
– Packet headers: 18.8 TB
5
네트워크 속도: 10Gbps 예
6
http://www.networkworld.com/article/2160540/tech-primers/10gbps-server-migration--the-post-romley-era.html
네트워크 모니터링 이슈 및 기술
데이터캡쳐
• PF_RING
• DPDK
• psio
확장성
• Scale-out
cloud
• Parallel
computing
(GPU)
장애대처
• High
availability
실시간
• Streaming
• In-memory
7
고성능 데이터 캡쳐
• PF_RING
• PFQ
• Intel data plane development kit (DPDK)
• OpenOnLoad
• Netmap
• psio
8
KRNET2013 문수복 교수님 자료 참고!
확장성(Scalability)
• 분산시스템
–분산파일시스템: HDFS, Swift, Ceph, pNFS
–분산컴퓨팅: MapReduce
• 병렬처리
– Multi-core CPU
– GPU
9
10 ACM SIGCOMM2012
실시간 ?
11
FloCon2015
HADOOP기반 네트워크 모니터링
12
분산 컴퓨팅 & 저장 인프라기술
• Google MapReduce, 2004
– 1 PB sorting by Google • 2008: 6 hours and 2 minutes on 4,000 computers
• 2011: 33 minutes on 8000 computers
• Apache Hadoop project
– MapReduce computing framework (Java)
– Distributed filesystem
13
관련 연구
• Traffic analysis of DNS root server (RIPE, 2011.11) • PacketPig (2012.03) - Big Data Security Analytics platform Arbor
Networks • Sherpasurfing – Open Source Cyber Security Solution, Hadoop World
2011 – Firewall/IDS logs, netflow/packet
• Performing Network and Security Analytics with Hadoop, (Travis Dawson, Narus), Hadoop Summit 2012
• Distributed Bro (IDS)
• OpenSOC, 2013
• Jun Liu; Feng Liu; Ansari, N., "Monitoring and analyzing big traffic data of a large-scale cellular network with Hadoop," Network, IEEE , vol.28, no.4, pp.32,39, July-August 2014
14
대규모 네트워크 트래픽 분석
• Given – various traffic sources: packet, NetFlow and BGP
data
• Design – a traffic collection and analysis platform
• Such that – Scalable
• Computing/storage performance in a scale-out manner
– Fault-tolerant • storage and computing
– Cost-effective • Commodity hardware and open-source software
15
Hadoop기반 인터넷 트래픽 분석
NetFlow v5
Packet
Administrator
Slave
Master
Traffic Collector
Web Visualizer / Hive
Pcap I/O
NetFlow I/O
Traffic Analysis Mapper & Reducer
Traffic Analyzer
HDFS Hadoop
Bin I/O
1. Yeonhee Lee and Youngseok Lee, "Towards Scalable Internet Traffic Measurement and Analysis with Hadoop," ACM SIGCOMM Computer Communication Review (CCR), Jan. 2013
2. Yeonhee Lee and Youngseok Lee, “Scalable NetFlow Analysis with Hadoop,” FloCon2013, Jan. 2013 3. 대규모 넷플로우 데이터 분석을 위한 룰 기반 맵리듀스 아키텍쳐, 정보과학회논문지, 2013.12 4. 하둡과 하이브를 이용한 BGP 아카이브 데이터의 포렌직 분석 툴, 정보과학회논문지, 2015.4 5. https://github.com/ssallys/p3
16
BGP
17
Traffic Analyzer
Distributer
Packet NetFlow
BGP
monitor
&
query
Predefined MapReduce Job for Traffic Analysis comman
d
MapReduce IO formats
Traffic Collector
& Loader
Pcap InputFormat
Binary Input/OutputFormat
Data Source (Jpcap, HDFS)
Data Processing (HDFS, MapReduce, Hive)
User Interface (Hive, Web, R)
IP analysis MR
TCP analysis MR
HTTP analysis MR
Command & Query
Web UI
CLI DDoS analysis MR
Hive QL Query for Traffic Analysis
NetFlow analysis MR
Hadoop HDFS
Scan IP query
Spoofed IP query
Heavy User query
Ad-hoc query
Hive SerDe for Adhoc BGP Analysis Query
BgpInputFormat
RIB SerDe UPDATE msg
SerDe Aspath SerDe
Back-end Analysis
RHDFS
R
HDFS api
패키지 추가
기능 추가 구현
응용 구현
18
분산 트래픽 분석 방법 1
• MapReduce Job
19
구분 응용
단일 MapReduce 방식 • IP 계층 단순 통계 분석
• 응용계층 카운트 기반 DDoS 분석
복수 MapReduce 체인 방식 • 복잡한 IP 계층 분석
• 웹사이트 분석
교환법칙과 결합법칙이 성립하지 않는 분석의 MapReduce 방식의 접근
• Client-server key를 이용하여 리듀스에서 TCP connection 정보 생성
• TCP 세그먼트와 ACK 커플링 알고리즘 개발
분산 트래픽 분석 방법 2
• Filtering과 aggregation의 룰 기반 트래픽 분석 MapReduce Job
20
분산 트래픽 분석 방법 3
• 질의문
21
실험: input format
• 실험 환경
– 입력 데이터: 1 TB 패킷 트레이스
– 노드수: 30대 (240 cores)
– RIPE pcap (파일단위 입력포맷)을 이용한 IP 계층 성능 분석과 처리 성능 비교
• 주요 결과
– 블럭 단위의 fine-grained 태스크 스케쥴링으로 높은 성능 보임, 태스크 fail 시에도 안정적 성능
– 반면, RIPE pcap은 파일 전송에 따른 오버헤드와 fail 시 파일 단위의 재실행으로 현저히 낮은 성능 보임
22
노드수 RAM HDD
20 2.93. GHz (8 core) 6 TB
30 2.93. GHz (8 core) 4 TB
200 2.66 GHz (2 core) 0.5 TB
테스트베드
71
33
22 16 13 11 11 11
128
66 62
48 43
37 42
46 1.8
2.0
2.9 2.9
3.3 3.5
3.9
4.3
0.0
1.3
2.5
3.8
5.0
0
35
70
105
140
5 10 15 20 25 30 30 (map fail)30 (reduce fail)Sp
eed
Up
Co
mp
leti
on
Tim
e (m
in)
# of nodes
IP Analysis_blockIO IP Analysis_fileIO SpeedUp vs fileIO
실험: Scale-out
• 실험 환경
– 입력 데이터: 1 TB 패킷 트레이스
– 노드수: 5 ~ 30대 5대씩 증가 (24 cores ~ 240 cores)
• 주요 결과 (표: 처리량)
– 노드 수에 따른 선형적 성능 증가: 5 대 노드 대비 약 6~8배 성능 증가
23
120.8
56.4
34.5 26.9
19.6 15.4
77.2
32.5 23.6
18.2 13.7 11.6
0
35
70
105
140
5 10 15 20 25 30
Co
mp
leti
on
Tim
e (m
in)
1.9
4.2
6.3
8.3
10.5
12.8
1.1 2.4
4.0 5.1
7.0
8.8
0
4
7
11
14
5 10 15 20 25 30
Thro
ugh
pu
t (G
bp
s)
# of nodes
IP Analysis (Gbps)TCP Analysis (Gbps)WebPop (Gbps)UserBehavior (Gbps)DDos (Gbps)
노드수 RAM HDD
20 2.93. GHz (8 core) 6 TB
30 2.93. GHz (8 core) 4 TB
200 2.66 GHz (2 core) 0.5 TB
테스트베드
노드수 5 10 15 20 25 30
IP Analysis 1.0 2.2 3.3 4.3 5.5 6.6
TCP Analysis 1.0 2.1 3.5 4.5 6.2 7.8
WebPop 1.0 2.1 2.9 3.7 4.5 5.8
UserBehavior 1.0 2.4 3.3 4.2 5.6 6.6
DDoS 1.0 2.1 2.8 3.6 4.7 7.0
실험: SizeUp (200 nodes)
• 실험 환경
– 입력 데이터: 1 ~ 5 TB 패킷 트레이스
– 노드수: 200대 (400 cores)
• 주요 결과 (표: 처리량)
– 전체적으로 입력데이터 크기가 증가할수록 성능 증가
– TCP/Web 인기도 등 5 TB 이상에서 성능 포화 관측
24
노드수 RAM HDD
20 2.93. GHz (8 core) 6 TB
30 2.93. GHz (8 core) 4 TB
200 2.66 GHz (2 core) 0.5 TB
테스트베드
노드수 1 TB 2 TB 3 TB 4 TB 5 TB
IP Analysis 7.9 8.9 14.0 13.9 14.6
TCP Analysis 6.7 7.5 9.1 7.6 8.5
WebPop 8.8 8.4 9.9 9.5 9.7
UserBehavior 7.9 10.6 11.0 10.8 14.5
DDoS 14.0 13.3 14.2 16.1 14.7
0
4
9
13
17
0.
1250.
2500.
3750.
5000.
1TB 2TB 3TB 4TB 5TB
Thro
ugh
pu
t (G
bp
s)
Co
mp
leti
on
Tim
e (s
ec)
Data Size
IP AnalysisTCP AnalysisWebpopUserBehaviorDDoSIP AnalysisTCP AnalysisWebpopUserBehaviorDDoS
Hive 질의문 BGP 이상 현상 분석
25
3. Find origin AS
320 언론사 금융권 대란 분석 사례
320
625
어려운 문제들
1. Data handling issue in Hadoop – Reading variable-sized pcaplib records in HDFS
• heuristic to identify packet boundary in HDFS
2. Distributed traffic analysis MapReduce algorithms – IP/TCP/HTTP data analysis metrics
3. Performance tuning in a large-scale Hadoop
testbed
4. 실시간 모니터링 – Netflow 5분 이내 이상 트래픽 탐지 기능
26
Hadoop 장단점
+ Pros
• Batch 처리
• 확장성
• 비용: open source
- Cons
• 실시간처리
• MapReduce 에 적합한 분석 문제
• 관리: open source
27
실시간 네트워크 모니터링 이슈 및 사례
28
대용량 실시간 네트워크 모니터링
• Hadoop MapReduce 아키텍쳐 기반의 실시간 처리 문제점:
– 대용량 실시간 수집 저장
– MapReduce 과정의 빈번한 Disk 입출력
– Map과 Reduce 간의 동기화, Job 간의 동기화
• 해결 방법:
– 데이터를 저장하지 않고 스트림 데이터의 직접적인 분석과 인덱싱
29
동기화
분석 인덱스 검색
수집 맵 리듀스 맵 리듀스
local disk
HDFS
준실시간 넷플로우 모니터링
• 요구사항
– 5분 단위의 준실시간 모니터링
– 아카이브된 넷플로우에 대한 사용자 임의 쿼리 분석 지원
• 접근 방법
– 익스포트 된 넷플로우를 5분 단위 씩 모아서 HDFS에 파일로 저장 ➔ 저장과 동시에 기본 플로우 통계를 위한 MapReduce의 주기적 실행
– Hive를 통한 사용자 기반의 임의 쿼리 분석 지원
30
대표적인 분산 스트리밍 처리 SW
31
스트림 처리엔진 특 징
Esper
• Open Source CEP 엔진 (Enterprise Edition 제공)
• 어느 정도 정형화된 데이터에 대한 패턴 매칭 기바의 이벤트 처리
• Java와 .net 사용이 가능하며 SQL과 흡사한 Language도 제공함
Apache S4
• Yahoo 에서 공개한 오픈소스 기반의 실시간 프로세싱 프레임워크, 아파치 인큐베이
터 프로젝트
• 실시간 개인화 검색광고를 구현하기 위해서 개발
Apache Storm • 트위터의 오픈소스 프로젝트, 분산 스트림 컴퓨팅
• 토폴로지의 구성에 따라 다양한 형태의 처리 가능
Hstreaming • Pig 의 Load / Store 에 지정하는 데이터 소스와 싱크를 HDFS이 외에 실시간 Data St
reaming을 받아들일 수 있도록 I/O 를 확장
Apache Spark • Spark SQL, Spark streaming, Mlib, GraphX
• Python, Scala, and/or Java 프로그래밍
사례: Threshold 기반의 실시간 DDoS 탐지 및 모니터링
• 접근방법
– 실시간 탐지 및 인덱스 생성
– Hadoop Yarn + Apache Storm 실시간 분산 처리 엔진
– 실시간 모니터링: Elastic search 분산 검색 엔진 + Kibana 웹 플러그인
• Storm을 이용한 카운트 기반 DDoS 탐지&인덱스 생성 구현
– 패킷 스트림 생성 spout
– 플로우 생성용 bolt + 탐지&인덱스 생성용 bolt + Elasticsearch 저장용 bolt
32
탐지 인덱스 검색
저장/검색 (Elasticsearch)
탐지/인덱스 생성 (Storm)
모니터링 UI (Kibana)
search
DDoS 탐지 Storm Topology
33
실시간 DDoS 모니터링 성능
• 실시간 탐지 성능
– 1대 노드 구성 - spout 1개, hash bolt 2개, detect bolt 2개 sink bolt 2개
– 4.4 ms latency - spout 0 ms + hash 1.6 ms + detect 2.1 ms + elastic search sink 0.7 ms
• MapReduce 방식
– 스케쥴링 시간만 10초 내외 + 모든 데이터가 처리되는 시간 (Job 실행 시간)
– 따라서, 데이터를 작게 나누어도 최소 10 초 이상의 지연 발생
34
사례: OpenSOC http://opensoc.github.io/
• Open security operations center
35
Multi Petabyte Storage
Interactive Query
Real-Time Search
Scalable Stream Processing
Unstructured Data
Data Access Control
Scalable Compute
OpenSOC
Real-Time Alerts
Anomaly Detection
Data Correlation
Rules and Reports
Predictive Modeling
UI and Applications
Big Data Platform
Hadoop
OpenSOC Conceptual Architecture
36
Access Messaging System Data Collection Source Systems Storage Real Time Processing
Storm Kafka
B Topic
N Topic
Elastic Search
Index
Web Services
Search
PCAP Reconstruction
HBase
PCAP Table
Analytic Tools
R / Python
Power Pivot
Tableau
Hive
Raw Data
ORC
Passive Tap
PCAP Topic
DPI Topic
A Topic
Telemetry Sources
Syslog
HTTP
File System
Other
Flume
Agent A
Agent B
Agent N
B Topology
N Topology
A Topology
PCAP
Traffic Replicator
PCAP Topology
DPI Topology
http://opensoc.github.io/
OpenSOC Deployment at Cisco
37
Hardware footprint (40u)
14 Data Nodes (UCS C240 M3)
3 Cluster Control Nodes (UCS C220 M
3)
2 ESX Hypervisor Hosts (UCS C220 M
3)
1 PCAP Processor (UCS C220 M3 + N
apatech NIC)
2 SourceFire Threat alert processors
1 Anue Network Traffic splitter
1 Router
1 48 Port 10GE Switch
Software Stack
HDP 2.1
Kafka 0.8
Elastic Search 1.
1
MySQL 5.5
http://opensoc.github.io/
사례: CERT
38 flocon2015
결론
39
네트워크
분석 지식
Open
Source SW
분산 컴퓨팅
환경
- Hadoop - AWS
- Flume - Kafka - Elastic Search - Hadoop - Hbase - Hive - Storm - Spark
- R - Python - Mahout