슬라이드 1

Similar documents
슬라이드 1

슬라이드 1

HDFS 맵리듀스

sdf

12-file.key

rmi_박준용_final.PDF

PowerPoint 프레젠테이션

자바 프로그래밍

PowerPoint 프레젠테이션

PowerPoint Presentation

다중 한것은 Mahout 터 닝알 즘몇 를 현 다는것외 들을 현 Hadoop 의 MapReduce 프 워크와결 을 다는것 다. 계산 많은 닝은 컴퓨터의큰메 와연산기 을 만 Mahout 는최대한 MapReduce 기 을활용 터분 다용 졌다.. Mahout 의설 Mahou

슬라이드 1

Interstage5 SOAP서비스 설정 가이드

시스템, 네트워크모니터링을통한보안강화 네트워크의미래를제시하는세미나 세미나 NetFocus 2003 : IT 관리자를위한네트워크보안방법론 피지피넷 /

NoSQL

PowerPoint 프레젠테이션

05-class.key

5장.key

PowerPoint Presentation

PowerPoint Presentation

JMF3_심빈구.PDF

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

ch09

1217 WebTrafMon II

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

신림프로그래머_클린코드.key

Design Issues

Microsoft PowerPoint - 04-UDP Programming.ppt

비긴쿡-자바 00앞부속

Java

bn2019_2

슬라이드 1

쉽게 풀어쓴 C 프로그래밊

FileMaker ODBC and JDBC Guide

PowerPoint Presentation

Spring Boot/JDBC JdbcTemplate/CRUD 예제

02 C h a p t e r Java

JAVA PROGRAMMING 실습 08.다형성

<4D F736F F F696E74202D20B8F9B0EDB5F0BAF15F32B1E220BDC9C8ADB0FAC1A4>

01-OOPConcepts(2).PDF

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

PowerPoint Presentation

Cluster management software

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

mytalk

Spring Data JPA Many To Many 양방향 관계 예제

FileMaker ODBC and JDBC Guide

untitled

EJB Transaction & Exception

슬라이드 1

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

PowerPoint 프레젠테이션

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

자바-11장N'1-502

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

Microsoft PowerPoint - 03-TCP Programming.ppt

2힉년미술

PowerPoint 프레젠테이션

Microsoft Word - java19-1-midterm-answer.doc

PowerPoint Presentation

Java ...

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

교육자료

MasoJava4_Dongbin.PDF

쉽게 풀어쓴 C 프로그래밍

07 자바의 다양한 클래스.key

김기남_ATDC2016_160620_[키노트].key

PowerPoint 프레젠테이션

Microsoft PowerPoint - Java7.pptx

sdf

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

빅데이터분산컴퓨팅-5-수정

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A


15_3oracle

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

Semantic Consistency in Information Exchange

슬라이드 1

Spring Boot

JAVA PROGRAMMING 실습 09. 예외처리

Chap12

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

목차 INDEX JSON? - JSON 개요 - JSONObject - JSONArray 서울시공공데이터 API 살펴보기 - 요청인자살펴보기 - Result Code - 출력값 HttpClient - HttpHelper 클래스작성 - JSONParser 클래스작성 공공

ilist.add(new Integer(1))과 같이 사용하지 않고 ilist.add(1)과 같이 사용한 것은 자바 5.0에 추가된 기본 자료형과 해당 객체 자료 형과의 오토박싱/언박싱 기능을 사용한 것으로 오토박싱이란 자바 컴파일러가 객체를 요구하는 곳에 기본 자료형

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

PowerPoint 프레젠테이션

텀블러514

제11장 프로세스와 쓰레드

untitled

Transcription:

Hadoop 기반 규모확장성있는패킷분석도구 충남대학교데이터네트워크연구실이연희 yhlee06@cnu.ac.kr

Intro 목차 인터넷트래픽측정 Apache Hadoop Hadoop 기반트래픽분석시스템 Hadoop을이용한트래픽분석예제 - 2-

Intro 트래픽이란 - 3-

Intro Data Explosion - 4-

Global Trend: Data Explosion - 5 -

Global Trend: Data Explosion - 6 -

Intro 인터넷트래픽측정 - 7-

Intro 트래픽측정관련이슈 - 8 -

Legacy Traffic Measurement Tools 성능과가격의 Tradeoff -9 -

Intro -10 -

Idea: 하둡기반트래픽분석시스템 트래픽분석 Map-Reudce - 11 -

Hadoop and MapReduce Hadoop 이란 오픈소스분산어플리케이션프레임워크 수천대의클러스터까지확장가능 대용량데이터의처리에적합 Google에의해제안 HDFS + MapReduce 일정수의데이터복제수유지 HDFS MapReduce - 12 -

Hadoop and MapReduce 분산파일시스템 : HDFS -13 -

Hadoop and MapReduce MapReduce 처리흐름 -14 -

Hadoop and MapReduce MapReduce 처리흐름 Map(k1, v1) list(k2, v2) Reduce(k2, list[v2]) (K2, v3) Split Data key, value key, value Data Split 1 Mapper Temp Disk Reducer Large Data Data Split 2 Mapper Temp Disk Reducer Result Data Split 3 Mapper Temp Disk 1. <Key, Value> 형태로자료를가져온다. 2. <Key, Value> 를추출한다. 1. Key, list[value] 로자료를가져온다. 2. key에대한 list[value] 를처리한다. -15 -

Hadoop and MapReduce MapReduce 예제 : WordCount 텍스트의덩어리로부터각단어의출현횟수를계산 텍스트덩어리의특징을파악할수있음 -16 -

Hadoop and MapReduce WordCount 예제 : Mapper public static class Map extends Mapper<LongWritable, Text, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); private Text word = new Text(); public void map(longwritable key, Text value, Context context) { String line = value.tostring(); StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasmoretokens()) { word.set(tokenizer.nexttoken()); context.write(word, one); -17 -

Hadoop and MapReduce WordCount 예제 : Reducer public static class Reduce extends Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); context.write(key, new IntWritable(sum)); -18 -

Hadoop and MapReduce WordCount 예제 : Job Driver public static void main(string[] args) throws Exception { Configuration conf = new Configuration(); Job job = new Job(conf, "wordcount"); job.setoutputkeyclass(text.class); job.setoutputvalueclass(intwritable.class); job.setmapperclass(map.class); job.setreducerclass(reduce.class); job.setinputformatclass(textinputformat.class); job.setoutputformatclass(textoutputformat.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.waitforcompletion(true); -19 -

하둡기반트래픽분석시스템 System Overview P 3 Trace Analyzer P 3 TA Packet Analyzer Traffic Packet Collector /Loader Pcap InputFormat IO formats Binary Input/OutputF ormat Text Input/Output Format Visualization DDoS analysis Web analysis Transport analysis IP analysis HDFS Hadoop Data Source Jpcap, HDFS Data Cleansing HDFS, MapReduce User Interface A Hadoop-based Packet Trace Processing Tool, TMA 2011 Detecting DDoS Attacks with Hadoop, ACM CoNEXT2011 Student Workshop - 20 -

Hadoop and MapReduce MapReduce 에서패킷의입력처리방법 하나의패킷이다른노드에잘려져있다면, Map 은어떻게패킷을찾아낼수있을까? Text file Packet file Block2 Block3 00 00 68 2B AD 4C 38 A4 04 00 5C 00 00 00 5C 00 00 00 FF FF 00 21 B5 01 68 2B AD 4C 2B 1C 07 00 3C 00 00 00 3C 00 00 00 01 80-21 -

트래픽분석 웹사이트별접속자수, 트래픽량, URL응답시간별접속자수, 재전송율패킷의손실율네트워크의혼잡정도트래픽 량전송률 -22 -

Benchmarking Test completion time min 100 90 80 70 60 50 40 30 20 10 0 PcapRate CoralReef P3(H,10) 90.3 12.5 10 100 200 400 file SizeGB -23-8 7 6 5 4 3 2 1 0 Speed-Up P3(H,10) vs CoralReef 7.5 7.3 6.4 2.9 10 100 200 400 file SizeGB

패킷분석 MapReduce 프로그래밍 1. 우리회사에서인터넷을많이사용하는직원은누구? PacketCount : 패킷들의덩어리로부터 IP 별패킷의갯수를계산 -24 -

패킷분석 MapReduce 프로그래밍 PacketCount 예제 : Mapper public static class Map extends Mapper< LongWritable, BytesWritable, Text, IntWritable > { private final static IntWritable one = new IntWritable(1); PacketStatsWritable ps = new PacketStatsWritable(); public void map(longwritable key, BytesWritable value, Context context) { if(value.getbytes().length<min_pkt_size) return; ps.parse(value.getbytes()); // 패킷각필드추출 context.write(p.getsrc_ip(), one); -25 -

패킷분석 MapReduce 프로그래밍 PacketCount 예제 : Reducer public static class Reduce extends Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); context.write( key, new IntWritable(sum)); -26 -

패킷분석 MapReduce 프로그래밍 PacketCount 예제 : Job Driver public static void main(string[] args) throws Exception { Configuration conf = new Configuration(); Job job = new Job(conf, "wordcount"); job.setoutputkeyclass(text.class); job.setoutputvalueclass(intwritable.class); job.setmapperclass(map.class); job.setreducerclass(reduce.class); job.setinputformatclass(pcapinputformat.class); job.setoutputformatclass(textoutputformat.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.waitforcompletion(true); -27 -

패킷분석 MapReduce 프로그래밍 2. 어떤웹사이트가우리회사에서인기가있을까? -28 -

패킷분석 MapReduce 프로그래밍 2. 어떤웹사이트가우리회사에서인기가있을까? 1) 특정서버에접속한 Unique 사용자의리스트? -29 -

패킷분석 MapReduce 프로그래밍 특정서버의 Unique 사용자 : Mapper public static class Map extends Mapper<LongWritable, BytesWritable, TextPair, IntWritable> { private final int MIN_PKT_SIZE = 42; private final static IntWritable one = new IntWritable(1); public void map(longwritable key, BytesWritable value, Context context) { if(value.getbytes().length<min_pkt_size) return; PacketStatsWritable ps = new PacketStatsWritable(); if(ps.parse(value.getbytes())) // 패킷의필드추출 context.write(new TextPair(ps.getDst_ip(), ps.getsrc_ip()), one); -30 -

패킷분석 MapReduce 프로그래밍 특정서버의 Unique 사용자 : Reducer public static class Reduce extends Reducer<TextPair, IntWritable, TextPair, IntWritable> { private final static IntWritable one = new IntWritable(1); public void reduce(textpair key, Iterable<IntWritable> values, Context context) { context.write( key, one ); -31 -

패킷분석 MapReduce 프로그래밍 웹사이트별 Unique 사용자 CountUp : Job Driver public static void main(string[] args) throws Exception { Configuration conf = new Configuration(); Job job = new Job(conf, "PopularityCountUp"); job.setoutputkeyclass(textpair.class); job.setoutputvalueclass(intwritable.class); job.setoutputkeyclass(text.class); job.setoutputvalueclass(intwritable.class); job.setmapperclass(map.class); job.setreducerclass(reduce.class); job.setinputformatclass(pcapinputformat.class); job.setoutputformatclass(sequencefileoutputformat.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.waitforcompletion(true); -32 -

패킷분석 MapReduce 프로그래밍 2. 어떤웹사이트가우리회사에서인기가있을까? 2) 특정서버에한번이상접속한사용자는몇명인가? -33 -

패킷분석 MapReduce 프로그래밍 웹사이트별 Unique 사용자 CountUp : Mapper public static class Map extends Mapper<TextPair, IntWritable, Text, IntWritable> { private final static IntWritable one = new IntWritable(1); public void map(textpair key, IntWritable value, Context context) { context.write( key.getfirst(), one); -34 -

패킷분석 MapReduce 프로그래밍 웹사이트별 Unique 사용자 CountUp : Reducer public static class Reduce extends Reducer<Text, IntWritable, Text, IntWritable> { public void reduce(text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int sum = 0; for (IntWritable val : values) { sum += val.get(); context.write(key, new IntWritable(sum)); -35 -

패킷분석 MapReduce 프로그래밍 웹사이트별 Unique 사용자 CountUp : Job Driver public static void main(string[] args) throws Exception { Configuration conf = new Configuration(); Job job = new Job(conf, "popularitygen"); job.setoutputkeyclass(textpair.class); job.setoutputvalueclass(intwritable.class); job.setmapperclass(map.class); job.setreducerclass(reduce.class); job.setinputformatclass(pcapinputformat.class); job.setoutputformatclass(sequencefileoutputformat.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.waitforcompletion(true); -36 -

충남대플로우모니터링시스템 Hadoop+Hive 를이용한플로우분석흐름 PcapInputFormat 다운로드 https://sites.google.com/a/networks.cnu.ac.kr/yhlee/download -37 -