Term Project Detail Design Traffic Generator So Jung LEE Dpnm Lab. CSE POSTECH
2 Contents Introduction System Requirement Traffic Generator System Overall Architecture Module Design Q & A
3 Introduction Motivation 현재 dpnm lab. 에서 개발 중인 NG-MON 과 NSAA 에 대한 performance test. Goal 원하는 Application traffic 에 대하여 type 과 bandwidth 를 정하여 packet 들을 generation 하는 것.
4 System Requirement Functional Requirements 구현할 Protocol 은 IP, TCP, UDP, ICMP 의 네 가지 이다. 사용자는 원하는 protocol 내에 있는 header field 값을 직접 정할 수 있어야 한다. 사용자는 bandwidth 는 직접 정할 수 있어야 한다. header field 값과 bandwidth 에 대해 set/increment/random option 을 설정할 수 있다.
5 Traffic Generator System Overall Architecture CLI (Command Line Interface) Xml File Generator Traffic Generator Xml File Parser Argument Parser Flooder Flow specification Configuration file Flow specification/ Configuration file
6 각각의 Module 설명 Xml file generator 사용자가 입력한 flow specification 을 xml file 로 생성하여 저장. Traffic generator Xml file parser - 저장된 xml file 을 통해 traffic 을 generate 하려고 할 경우에 사용. - xml file 을 parsing 하여 원하는 값들을 가져와 flow 구성을 정의함. Argument parser - 사용자가 직접 flow specification 을 적어서 traffic 을 generate 할 경우에 사용. - argument 값으로 들어온 값들을 parsing 하여 flow 구성을 정의함. Flooder - 정의된 flow 구성에 따라 flow 들을 생성하여 소켓을 통해 보냄.
7 Flooder Module Design Client Sockaddr_in 구성 Flow 구성 Packet size module PPS module Send module Sock 개설 close 서버의 IP 주소와 Port 번호 Packet 을 보냄 Header module 2. Packet 구성 5.
8 Flooder Module Design 1. Flow 구성 3option 을 적용하는 rule Set: Destination IP,Destination Port Source IP, Source Port, Protocol, Packet Size, pps 에 모 두 적용 Increment: Source IP, Source Port, Packet Size 에만 적용 Random: Source IP, Source Port, Packet Size 에만 적용 Flow 구조체 구성 Destination IP,Destination Port Source IP, Source Port, Protocol, PacketSize, pps IP 증가분, Port 증가분, packet size 증가분, ICMP code, type Xml File Parser module Argument Parser module Flow 구조체 구성 Header, Bandwidth 설정 값 Increment 할 값 Packet 구조체 구성 Header module
9 Flooder Module Design 2. Packet 구성 Packet 구조체 구성 Packet1= IP header + TCP header + payload Packet2= IP header + UDP header + payload Packet3= IP header + ICMP header + payload Packet 내 설정하게 될 필드 값 IP header: sourceIP, destinationIP TCP/UDP header: source Port, destination Port ICMP header: type, code
10 Flooder Module Design 3. Header Module Header module Set module Increment Module Random Module Flow 구조체 구성 Destination IP, Destination Port, Source IP, SourceIP 증가분 Source Port, Source Port 증가분 Destination IP, Destination Port, Source IP, Source Port Destination IP, Destination Port, Source IP start 값, end 값 Source Port start 값, end 값
11 Flooder Module Design 4. Packet Size module Packet Size module Set module Increment Module Random Module Flow 구조체 구성 Packet size 값 Packet size 값, packet size 증가분 Packet size Start 값, end 값
12 Flooder Module Design 5. pps module Flow 구조체 구성 PPS(packet per second) 정보 Set module PPS module
13 Q & A