인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 IPv6 포럼코리아기술문서 2001-006 인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 Installation & Configuration of Cflowd for Internet Traffic Passive Measurement (for Linux 2.4.5) 정재훈 (J. H. Jeong) 이승윤 (S. Y. Lee) 김용진 (Y. J. Kim) ETRI ETRI ETRI 목차 1. 수동적측정 1.1 NetFlow 1.2 Cflowd 2. cflowd 설치 2.1 cflowd 관련프로그램의다운로드 2.2 cflowd 관련프로그램의설치 2.3 Cisco router의 Configuration 추가 2.4 cflowd의 Configuration 파일설정 2.5 cflowd 프로그램의실행 3. ARTS 파일의가공및분석참고문헌 1
IPv6 포럼코리아기술문서 2001-006 인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 Installation & Configuration of Cflowd for Internet Traffic Passive Measurement (for Linux 2.4.5) 정재훈 (J. H. Jeong ) 이승윤 (S. Y. Lee) 김용진 (Y. J. Kim) ETRI ETRI ETRI 본문서는인터넷트래픽분석을위한수동적측정에대해설명하고, Linux 2.4.5 운영체제를이용하여인터넷트래픽을분석할수있게하는대표적인수동적측정도구인 Cflowd 에대한설치및운영방법에대해기술한다. 1. 수동적측정 수동적측정은네트워크에유통되는패킷정보를수집하고분석함으로써이용자별, 시간대별, 프로토콜별, 응용별로특정네트워크을출입한패킷을파악하여그네트워크의트래픽특성을파악할수있게한다. 인터넷백본에서의트래픽유통량이나사용패턴의분석은그백본네트워크의성능파악은물론앞으로의네트워크링크용량증대에유용한정보를제공한다 [1]. 기존에수행되었던인터넷트래픽패턴분석의연구에의하면대부분의인터넷패킷은송신자와수신자사이의연속적인데이터흐름을이루고있음이밝혀졌다. 이러한연구의결과로등장한 MPLS(Multi-Protocol Label Switching) 는인터넷트래픽을연속적인패킷흐름인플로우 (Flow) 로모델링하여고정된레이블 (Label) 을이용하여고속으로패킷을스위칭함으로써 IP 라우팅의성능을향상시킬수있다. IP 플로우는다음과같이정의될수있다. IP 플로우는응용의주소쌍 ( 송신자주소, 송신자포트번호, 수신자주소, 수신자포트번호 ), 호스트쌍 ( 송신자네트워크주소, 수신자네트워크주소 ), AS 번호쌍 ( 송신자 AS 번호, 수신자 AS 번호 ) 등으로명세되는제한된시간내에도착하는 IP 패킷들의흐름이다. 이러한플로우모델은 Packet train 모델로처음제안되었다 [2]. 플로우의정의는사람마다다르다. 플로우정의의한예를들면, TCP 연결에서송신자와수신자의주소와포트쌍으로이루어진플로우는 SYN과 ACK로플로우의시작과끝을구분할수있다. 플로우의길이는다양한데, 전자메일은대부분몇개의 IP 패킷으로플로우를구성하지만, VOD와같은멀티미디어서비스의플로우는많은 IP 패킷으로플로우를구성한다. 2
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 이러한플로우측정을포함하는대표적인수동적인측정시스템중하나로써 Cisco의 NetFlow와 CAIDA 그룹의 Cflowd를결합한구조를본문서에서설명한다. 1.1 NetFlow Cisco의네트워크플로우는송신자에서수신자로의일련의단방향성패킷의흐름으로정의된다 [3]. Cisco의 NetFlow는 Cisco 라우터가각네트워크인터페이스를통해지나가는트래픽의플로우정보를제공하는기능이다. 플로우의구분은 IP 주소와포트번호로되는데, Cisco의 NetFlow는플로우의구분을위해 IP Protocol type, Type of Service(TOS) 그리고 Input interface identifier도같이사용하면서플로우의정보를제공한다. NetFlow는 NetFlow Cache를이용하여동작하는데, NetFlow Cache Software는특정패킷이기존에존재하는플로우에속하는지여부에따라 Cache에새로운플로우엔트리를생성할지를결정한다. 또한플로우해제시간 (Expire Time) 이지난플로우들의정보를그림 1의 NetFlow Export UDP 데이터그램의 Payload에담아서플로우정보 Export 네트워크인터페이스로전송한다. 그림 2는 Cisco NetFlow Version 5 Flow Header를기술하고있고, 그림 3은 Cisco NetFlow Version 5의 Flow Entry를기술하고있다. UDP Header Header - Sequence number - Record count Flow Record Flow Record Flow Record - Version number 그림 1. NetFlow Export UDP 데이터그램구조 version count sysuptime unix seconds unix nano seconds flow sequence number engine type engine ID reserved 그림 2. Cisco NetFlow Version 5 Flow Header 3
IPv6 포럼코리아기술문서 2001-006 source IP address detination IP address next hop IP address input interface index output interface index packets bytes start time of flow end time of flow source port destination port pad TCP flags IP protocol TOS source port destination port src netmask len det netmask len padding 그림 3. Cisco NetFlow Version 5 Flow Entry 1.2 Cflowd Cflowd는 Cisco의 NetFlow를이용한스위칭방법을분석하기위해현재사용되고있는플로우분석도구이다 [4]. 현재배포된버전은수집, 저장, 기본적인분석모듈을포함하고있다. arts++ 라이브러리를이용하여기본적인분석모듈을만들었다 [5]. 위의분석패키지는 ISP나네트워크엔지니어가 Capacity planning, Trends analysis 그리고네트워크서비스환경에서 Workload의특성을파악할수있도록데이터수집과분석기능을제공하고있다. 그밖에도 Web hosting, Billing, Network planning, Network monitoring 그리고 Data warehousing/mining 등을할수있게한다. 그림 4는 Cflowd의 Data 흐름을나타내고있다. 그림 4와같이각 Cisco 라우터는 Flow-export 패킷을 cflowdmux와 cflowd를실행하고있는호스트에보낸다. 호스트의 cflowdmux는 UDP 데이터그램인 Flow-export 패킷을수신하여공유메모리버퍼에쓰고, 호스트의 cflowd는공유메모리에쓰여진패킷을읽어서로컬테이블에저장한다. 최종데이터수집은호스트의 cfdcollect에의해수행되는데, cfdcollect는주기적으로한번에하나의 cflowd와 TCP 연결을맺고 cflowd의로컬테이블로부터데이블데이터를수집하여 ARTS라는바이너리파일로저장한다. arts++ 유틸리티를통해 ARTS 파일로부터 AS matrix와 Net matrix같은여러가지통계정보를얻을수있는데, 이통계정보를가지고데이터를수집한네트워크의트래픽을분석할수있다. 4
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 UDP cflowdmux / cflowd cflowdmux / cflowd UDP UDP UDP UDP TCP TCP cfdcollect cflowdmux / cflowd TCP UDP UDP Host ARTS files on disk Router 그림 4. Cflowd data flow 2. cflowd 설치 cflowd 관련프로그램은 CAIDA 그룹의 Web-site(http://www.caida.org) 에서다운로드받을수있다. 사용 OS( 운영체제 ) 로는 Linux Redhat 최신버전 (Linux 2.4.5) 을사용하기를권장한다. 2.1 cflowd 관련프로그램의다운로드 cflowd와 arts++ 를 http://www.caida.org/tools/measurement/cflowd/ 에서다운로드한다. cflowd 프로그램은그림 5에서와같이 ftp://ftp.caida.org/pub/cflowd/ 에서 cflowd-2-1-b1.tar.gz를다운로드하여얻을수있고, arts++ 유틸리티는그림 6에서와같이 arts++-1-1-a8.tar.gz를다운로드하여얻을수있다. 5
IPv6 포럼코리아기술문서 2001-006 그림 5. cflowd 프로그램다운로드페이지 그림 6. arts++ 유틸리티다운로드페이지 2.2 cflowd 관련프로그램의설치 arts++ 유틸리티는 cflowd가필요로하는라이브러리를제공하므로 arts++ 유틸리티를먼저설치하고, 그다음으로 cflowd를설치한다. 1) cflowd 를설치할네트워크의구성 6
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 그림 7은 cflowd 프로그램을설치할 Host A(129.254.164.13) 가위치할네트워크를나타내고있다. 그림 7과같이 Host A에 cflowd, cflowdmux 그리고 cfdcollect를모두실행시킨다. 물론그림 4와같이 cflowd와 cflowdmux를실행시킬 Host와 cfdcollect를실행시킬 Host를분리할수도있다. Internet Cisco router 129.254.254.86 ETRINET NetFlow Host A Datagram 129.254.164.13 ARTS files on disk 그림 7. 네트워크의구성 2) arts++ 의설치 arts++-1-1-a8.tar.gz를 /usr/local/ 에복사해서다음의절차로인스톨한다. $ tar xvfz arts++-1-1-a8.tar.gz $ cd arts++-1-1-a8 $./configure $ make $ make install $ cd.. arts++ 유틸리티를위의순서로인스톨하면 arts++-1-1-a8과같은위치에 arts라는디렉토리가생성되어있다. 이디렉토리에 arts++ 유틸리티가인스톨되어있다. 7
IPv6 포럼코리아기술문서 2001-006 3) cflowd의설치 cflowd-2-1-b1.tar.gz를 /usr/local/ 에복사해서다음의절차로인스톨한다. $tar xvfz cflowd-2-1-b1.tar.gz $cd cflowd-2-1-b1.tar.gz $./configure $make $make strip (optional) $make install $make install-lib (optional) $cd.. make install 은 binary와 example configuration file들을인스톨한다. make install-lib 는사용자가 cflowd library를사용하여새로운응용을만들때필요한 header file과 cflowd library를인스톨한다. 8
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 2.3 Cisco router 의 Configuration 추가 1) Cisco router에 NetFlow 기능을 enable 시키기 Cisco route의 IP 주소가 129.254.254.85이라고가정한다. $telnet 129.254.254.85 #cisco router User Access Verification Password: xxxxxx ipv6-gw>enable Password: xxxxxx ipv6-gw#config Configuring from terminal, memory, or network [terminal]? Enter configuration commands, one per line. End with CNTL/Z. ipv6-gw(config)#ip flow-cache timeout inactive 300 ipv6-gw(config)#ip flow-cache timeout active 1 ipv6-gw(config)#ip cef ipv6-gw(config)#ip flow-export version 5 peer-as ipv6-gw(config)#ip flow-export destination 129.254.164.13 2055 ipv6-gw#write Building configuration... [OK] ipv6-gw# Cisco router로부터 Flow information을얻기위해서설정해야할 Configuration은다음과같다. ipv6-gw(config)#ip flow-cache timeout inactive 300는 Flow cache의 inactive flow timeout을 300초로설정한다. ipv6-gw(config)#ip flow-cache timeout active 1는 Flow cache의 active flow timeout을 1초로설정한다. ipv6-gw(config)#ip flow-export version 5 peer-as는 NetFlow의 Version을 5로설정한다. ipv6-gw(config)#ip flow-export destination 129.254.164.13 2055는 NetFlow Datagram을받는 cflowdmux 프로세스가실행되는 Host의 IP 주소가 129.254.164.13이고, 목적 UDP port번호가 2055임을나타낸다. ipv6-gw(config)#ip cef는 Cisco Express Forwarding 기능을 enable시켜서 NetFlow를 9
IPv6 포럼코리아기술문서 2001-006 forwarding 시킨다. 2)NetFlow기능을 enable시키고자하는 Interface의구성 NetFlow 기능을 enable시킬 Interface를선택하여, 아래와같이 Configuration한다. ipv6-gw#config Configuring from terminal, memory, or network [terminal]? Enter configuration commands, one per line. End with CNTL/Z. ipv6-gw(config)#interface Ethernet1 ipv6-gw(config-if)#ip route-cache flow ipv6-gw(config-if)#^z ipv6-gw#write Building configuration... [OK] ipv6-gw# ipv6-gw(config)#interface Ethernet1 는 Interface Ethernet1 를선택한다. ipv6-gw(config-if)#ip route-cache flow는 Ethernet1에 Flow-switching 기능을 enable시켜서, NetFlow datagram을 export하게한다. 2.4 cflowd 의 Configuration 파일설정 [6] cflowd가사용하는 Configuration 파일은두개가있다. (a) cflowd.conf와 (b) cfdcollect.conf이다. 1) cflowd.conf의설정 cflowd, cflowdmux 그리고 cfdases와 cfdnets같은 local utility들은 cflowd.conf configuration file에서초기화를위한정보를얻는다. cflowd.conf는디폴트로 /usr/local/arts/etc/ 디렉토리에저장된다. 그런데, cflowd가인스톨되었을때의파일이름은 cflowd.conf.example이므로아래와같이 cflowd.conf 파일을하나복사한다. $cd /usr/local/arts/etc/ $cp cflowd.conf.example cflowd.conf 10
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 cflowd.conf는세개의절로구성된다. (a) OPTIONS절, (b) CISCOEXPORTER절그리고 (c) COLLECTOR절이다. OPTION절은 cflowd 시스템전역에사용되는값을설정하며, CISCOEXPORTER절은 Data 를수집할 Cisco router에대한 Configuration 값을설정하고, COLLECTOR는어떤호스트들의 cfdcollect가 Data를수집하는 cflowd에연결할수있는지를설정한다. (1) OPTIONS절의설정 OPTIONS절을구성하는항목은표 1과같다. 항목 역할 LOGFACILITY cflowd와 cflowdmux의 logging을위해사용될 syslog facility를 설정한다. TCPCOLLECTPORT cflowd가 cfdcollect의 접속을 받아들이는데 사용될 Listen socket의 port번호를지정한다. PKTBUFSIZE cflowdmux가 Netflow datagram을수신하기위해사용하는 Shared memory를구성하는 2개의 toggle buffer의각각의크기 를지정한다. TABLESOCKETFILE cfdases와 cfdnets같은 Local table client들이 cflowd에게접속 을할때사용되는 cflowd의 Listen socket(named stream socket) 의 path를나타낸다. FLOWDIR Raw flow file들이 저장될 디렉토리를 나타낸다. 이것은 CISCOEXPORTER절에 flows가정의될때사용된다. FLOWFILELEN Raw flow file의크기를나타낸다. cflowd는 Raw flow file이이 크기에도달하게될때, 0의크기로조정되어다시증가하게된다 (Roll over). NUMFLOWFILES Router당사용될 Raw flow file의수를지정한다. MINLOGMISSED cflowd가 missed flow들에대한 Message를 syslog하는데사용 할 Threshold를지정한다. 표 1. OPTIONS 절의항목 cflowd를인스톨했을때제공되는 OPTIONS절이그림 8과같이설정이되어있는데, 그대로이용하면된다. 주의할점은 FLOWDIR이가리키는디렉토리가없다면, 사용자가반드시명시적으로만들어주어야한다. 이디렉토리가없으면 cflowd는 Flow 정보를저장할 Raw flow file들을생성할수없다. FLOWDIR가그림 8에제시된값 (/usr/local/arts/etc/cflowd/flows) 과다른디렉토리를가리킬수있으나, 그디렉토리가존 11
IPv6 포럼코리아기술문서 2001-006 재하지않는다면, 사용자가그디렉토리를명시적으로만들어주어야한다. OPTIONS { LOGFACILITY: local6 TCPCOLLECTPORT: 2056 PKTBUFSIZE: 2097152 PKTBUFSIZE: 2097152 TABLESOCKFILE: /usr/local/arts/etc/cflowdtable.socket FLOWDIR: /usr/local/arts/data/cflowd/flows FLOWFILELEN: 1000000 NUMFLOWFILES: 10 MINLOGMISSED: 1000 } 그림 8. OPTIONS 절항목설정의예 (2) CISCOEXPORTER절의설정 NetFlow datagram을전송할 Cisco router에대한설정에사용되는절로써 1개이상의 CISCOEXPORTER절이있을수있다. CISCOEXPORTER절을구성하는항목은다음과같다. 항목 역할 HOST Cisco router의 IP 주소를설정한다. ADDRESSES Cisco router가갖고있는 Interface들의 IP 주소를설정한다. CFDATAPORT Cflowdmux가 Cisco router로부터의 Netflow datagram을수신하 는데사용되는 UDP Socket의 Port번호를명시한다. Cisco router에서 flow-export destination port로지정한것과같아야 한다. LOCALAS Cisco router의 Local AS를지정한다. SNMPCOMM Router로부터 Interface descriptions(ifdescr) 와 IP 주소들 (ipadentifindex) 을받아들일때사용되는 SNMP(v1) community name을명시한다. COLLECT Cisco router의 Flow-export data(netflow datagram) 로부터추 출하여수집할 Data의종류를선정한다. 표 2. CISCOEXPORTER 절의항목 12
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 ADDRESSES에지정된 Cisco router의네트워크인터페이스를통과하는트래픽정보를수집한다. COLLECT의 Data 종류로는 asmatrix(as matrix), netmatrix(net matrix), portmatrix(port matrix), ifmatrix(interface matrix), protocol(protocol table), nexthop(ip nexthop table), tos(tos table), flows(raw flow data) 가있다. Matrix는한쪽에서다른쪽으로의 traffic 량을 packet수와 byte수로나타낸것이고, Table은각각에대한 packet 수와 byte 수를나타낸것이다. 예를들면, asmatrix는 source ASes로부터 destination ASes로가는 Traffic을 packet 수와 byte 수로나타낸것이고,protocol은 IP protocol별로 Traffic 을 packet 수와 byte 수로나타낸것이다. 그림 9의 CISCOEXPORTER절을구성된네트워크에맞게설정한다. 그림 7을보면, NetFlow Datagram을 export할 Cisco router의 IP 주소는 129.254.254.86이고, 트래픽수집에사용될 Interface는하나이고그것의 IP 주소도 129.254.254.86이다. Cisco router는 AS번호가 3748인 ETRINET에포함되어있다. 그림 9는구성네트워크의정보를 CISCOEXPORTER절에반영하고있다. CISCOEXPORTER { HOST: 129.254.254.86 # IP address of Cisco sending data. ADDRESSES: { 129.254.254.86 } # Addresses of interfaces on Cisco # sending data. CFDATAPORT: 2055 # Port on which to listen for data. SNMPCOMM: 'public' # SNMP community name. LOCALAS: 3748 # Local AS of Cisco sending data #-> ETRINET COLLECT: { protocol, portmatrix, ifmatrix, nexthop, netmatrix, asmatrix, tos, flows } } 그림 9. CISCOEXPORTER 절항목설정의예 (3) COLLECTOR절의설정 cfdcollect를실행하는 Host의 Configuration 값을설정하는데사용된다. cfdcollect가여러개있을수있는데, 이러한경우에는 COLLECTOR절이두개이상존재한다. 표 3은 COLLECTOR절의항목을나타낸다. 13
IPv6 포럼코리아기술문서 2001-006 항목 역할 HOST cfdcollect를실행하는 Host의 IP 주소를설정한다. ADDRESSES cfdcollect를실행하는 Host가갖고있는 Interface들의 IP 주소 를설정한다. AUTH 현재사용되지않는다. 표 3. COLLECTOR 절의항목 그림 10의 COLLECTOR절을구성된네트워크에맞게설정한다. 그림 7을보면, 측정된트랙픽정보를수집하는 cfdcollect가실행되는 Host의 IP 주소는 129.254.164.13이고, 사용될 Interface는하나이고그주소도 129.254.164.13이다. 그림 10은구성네트워크의정보를 COLLECTOR절에반영하고있다. COLLECTOR { HOST: 129.254.164.13 # IP address of central collector ADDRESSES: { 129.254.164.13 } AUTH: none } 그림 10. COLLECTOR 절항목설정의예 2) cfdcollect.conf의설정 cfdcollect는 cfdcollect.conf configuration file에서초기화를위한정보를얻는다. cfdcollect.conf는디폴트로 /usr/local/arts/etc/ 디렉토리에저장된다. 그런데, cflowd가인스톨되었을때의파일이름은 cfdcollect.conf.example이므로아래와같이 cfdcollect.conf 파일을하나복사한다. $cd /usr/local/arts/etc/ $cp cfdcollect.conf.example cfdcollect.conf cfdcollect.conf는두개의절로구성된다. (a) system절과 (b) cflowd절이다. system절은 cfdcollect 전역에사용되는값을설정하며, cflowd절은 Data를수집할 cflowd 의각 Instance에대한정보를설정한다. 14
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 (1) system절의설정표 4는 system절의항목을나타낸다. 항목 역할 logfacility cfdcollect의 logging을위해사용될 syslog facility를설정한다. datadirectory 각 Router의 ARTS file을저장할 Top-level 디렉토리를설정한 다. fileprefix ARTS file 이름의 Prefix를지정한다. pidfile cfdcollect의 Process ID를저장하는 File의절대경로를설정한 다. 표 4. system 절의항목 system절은그림 11과같이디폴트로설정된것을그대로사용해도된다. cfdcollect는 cflowd로부터수집한 Flow 정보를저장할 ARTS 파일저장디렉토리를 datadirectory (/usr/local/arts/data/cflowd) 안에만든다. 디렉토리이름은 cflowd.conf 파일의 CISCOEXPORTER절의 ADDRESSES에명시된네트워크인터페이스의 IP 주소이다. ARTS 파일은 IP 주소를이름으로갖는디렉토리에저장되고, ARTS의파일이름은 fileprefix(arts) 에년월일이추가되어만들어진다. 예를들어, 2001년 8월 17일하루동안 129.254.254.86를통과하는트래픽정보를담은 ARTS파일의이름은 arts20010817이고, 이파일은 /usr/local/arts/data/cflowd/129.254.254.86 디렉토리에저장된다. system { logfacility: local6 # Syslog to local6 facility. datadirectory: /usr/local/arts/data/cflowd fileprefix: arts pidfile: /usr/local/arts/etc/cfdcollect.pid } 그림 11. system 절항목설정의예 (2) cflowd절의설정표 5는 cflowd절의항목을나타낸다. 15
IPv6 포럼코리아기술문서 2001-006 항목 역할 host cflowd를실행하는 Host의 IP 주소를나타낸다. tcpcollectport cflowd의 Listen socket의 Port번호를나타낸다. Cflowd.conf의 OPTION절의 TCPCOLLECTPORT항에설정된값과같아야한 다. minpollinterval cflowd에접속하여 Flow data를수집하는간격을나타낸다. 표 5. cflowd 절의항목 host는 cfdcollect가 Flow 정보를수집하기위해접속하는 cflowd가실행되고있는호스트를나타낸다. cflowd { host: 129.254.164.13 # host: localhost tcpcollectport: 2056 minpollinterval: 300 #unit: second } 그림 12. cflowd 절항목설정의예 2.5 cflowd 프로그램의실행 1) cflowd 관련프로세스의실행아래와같이 cflowdmux를가장먼저실행하고, 그다음으로 cflowd를실행하고, 마지막으로 cfdcollect를실행한다. $cflowdmux /usr/local/arts/etc/cflowd.conf # 또는 cflowdmux만실행시켜도됨. $cflowd /usr/local/arts/etc/cflowd.conf # 또는 cflowd만실행시켜도됨. $cfdcollect /usr/local/arts/etc/cfdcollect.conf 16
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 그림 13. cflowd 관련프로세스의동작확인 2) Cflowd 작동확인및문제해결 ps ax grep cf 를실행하여그림 13같이세개의프로세스가정상적으로실행되고있는지확인한다. 다음으로 Cisco router로부터 NetFlow datagram을제대로받고있는지확인한다. 그림 14와같이 Raw flow file들이 /usr/local/arts/data/cflowd/flows 디렉토리에저장되기시작하면, Cflowd 시스템이정상적으로동작하고있다고간주할수한다. 만약에파일이생성되지않으면, 다음의순서로문제의원인을발견하여해결할수있다. 그림 14. Raw flow file 의생성 (1) cflowd 설정파일확인 cflowd.conf와 cfdcollect.conf가네트워크구성에맞게정확하게설정되어있는지확인한다. 2.4절의 cflowd의 Configuration 파일설정 을참고한다. (2) Router의설정확인그림 15와같이 tcpdump를이용하여 NetFlow datagram이오는지살펴본다. Cisco 17
IPv6 포럼코리아기술문서 2001-006 router(ip 주소 : 129.254.254.86) 가 NetFlow datagram을포트 2055으로 cflowd가실행되는호스트 (IP 주소 : 129.254.164.13) 에게보내고있는지확인한다. 만약에그림 15과같이 NetFlow datagram이수신되지않는다면, 라우터설정에문제가있을수있으므로, 2.3절의 Cisco router의 Configuration 추가 를참고하여라우터설정이제대로되어있는지확인한다. 그림 15. tcpdump 를이용한 NetFlow datagram 의수신확인 3. ARTS 파일의가공및분석 cflowd 프로그램을이용하여 ARTS 파일을저장한후, arts++ 패키지의여러유틸리티를이용하여, Raw data인 ARTS 파일로부터원하는여러가지정보를얻을수있다 [7]. 예를들면, ARTS 파일에저장된 Flow 정보를가지고 Protocol별로트래픽량을알고싶을때, artsprotos 유틸리티를이용하면된다. 그림 16은 cfdcollect가저장한 ARTS 파일을보여주고있고, 그림 17은 artsprotos 유틸리티를이용하여 5분단위로 Protocol별트래픽량을볼수있다. 하루단위로 Protocol별트래픽량을볼려면, 먼저그림 18과같이 Aggregation 유틸리티인 artsprotoagg를이용하여 ARTS 파일을하루단위로 Aggregation한다. 그리고나면, 그림 19와같이 artsprotos 유틸리티로하루단위로 Protocol별트래픽량을볼수가있다. 이와같은수동적측정을통해얻은정보로측정된네트워크의트래픽종류와트래픽양을파악하여, 그네트워크의트래픽특성을파악할수있다. 측정된트래픽특성을가지고 Network management, Billing, Network planning 그리고 Network monitoring 등을할수있을것이다. 18
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 그림 16. ARTS 파일 그림 17. 5 분단위의 Protocol 별트래픽량 그림 18. ARTS 파일의 Aggregation( 통합 ) 19
IPv6 포럼코리아기술문서 2001-006 그림 19. 하루단위의 Protocol 별트래픽량 20
인터넷트래픽수동적측정도구 Cflowd 의설치및설정방법 참고문헌 [1] 옥도민, 플로우분류기를이용한인터넷트래픽측정및특성분석, 서울대학교컴퓨터공학석사논문, 2000년 2월. [2] R. Jain and S. A. Routhier, Packet Trains Measurements and a New Model for Computer Network Traffic, IEEE JSAC, Sep. 1986 [3] NetFlow, http://www.cisco.com/warp/public/cc/pd/iosw/ioft/neflct/tech/napps_wp.htm [4] cflowd, http://www.caida.org/tools/measurement/cflowd/ [5] arts++ Library, http://www.caida.org/tools/utilities/arts/ [6] cflowd configuration, http://www.caida.org/tools/measurement/cflowd/configuration/configuration.html [7] arts++ Utility, http://www.caida.org/tools/utilities/arts/arts++/artsplusplus- 4.html#ss4.2 21
IPv6 포럼코리아기술문서 2001-006 22