논문 KNOM Review '18-02 Vol.21 No.02 가상네트워크트래픽모니터링을위한 ebpf 기반 Virtual TAP 설계및구현 홍지범, 정세연 *, 유재형

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

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

°í¼®ÁÖ Ãâ·Â

À¯Çõ Ãâ·Â

UDP Flooding Attack 공격과 방어

클라우드컴퓨팅이란? WHAT IS CLOUD COMPUTING? 2

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

05( ) CPLV12-04.hwp

DBPIA-NURIMEDIA

인문사회과학기술융합학회

<353420B1C7B9CCB6F52DC1F5B0ADC7F6BDC7C0BB20C0CCBFEBC7D120BEC6B5BFB1B3C0B0C7C1B7CEB1D7B7A52E687770>

Cloud Friendly System Architecture

시스템을 제공한다는 특징이 있다. ONOS[4]는 성능, 확장성, 가용성을 중시하는 분산형 SDN 컨트롤러이 며 편의성 있는 Web GUI 와 SDN 컴포넌트 단위의 계층 구조를 통해 어플리케이션을 개발하고 컨트롤 러에 탑재할 수 있는 기능들을 제공한다. 하지만 ONO

클라우드컴퓨팅확산에따른국내경제시사점 클라우드컴퓨팅확산에따른국내경제시사점 * 1) IT,,,, Salesforce.com SaaS (, ), PaaS ( ), IaaS (, IT ), IT, SW ICT, ICT IT ICT,, ICT, *, (TEL)

일반적인 네트워크의 구성은 다음과 같다

Microsoft PowerPoint - thesis_rone.ppt

1. 기술배경 NFV는 Consortium of Service Provider들에의해서만들어졌다. 현재 Network Operation은규모가큰전용 Hardware appliances가계속해서증가하고있다. 새로운 Network Service를 Launching할때마다에

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

歯I-3_무선통신기반차세대망-조동호.PDF

09오충원(613~623)

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 10, Oct ,,. 0.5 %.., cm mm FR4 (ε r =4.4)

디지털포렌식학회 논문양식

DBPIA-NURIMEDIA

1217 WebTrafMon II

06_ÀÌÀçÈÆ¿Ü0926

[Brochure] KOR_TunA

歯홍원기.PDF


6.24-9년 6월

3. 클라우드 컴퓨팅 상호 운용성 기반의 서비스 평가 방법론 개발.hwp

09권오설_ok.hwp

OpenStack In Telco: Toward 5G Mobile network

09È«¼®¿µ 5~152s

PowerPoint 프레젠테이션

김기남_ATDC2016_160620_[키노트].key

< FC1A4BAB8B9FDC7D D325FC3D6C1BEBABB2E687770>

ecorp-프로젝트제안서작성실무(양식3)

PowerPoint Presentation

Microsoft PowerPoint - L4-7Switch기본교육자료.ppt

<353020B9DAC3E1BDC42DC5ACB6F3BFECB5E520C4C4C7BBC6C3BFA1BCADC0C720BAB8BEC820B0EDB7C1BBE7C7D7BFA120B0FCC7D120BFACB1B82E687770>

PowerPoint Presentation

Microsoft PowerPoint - 2.Catalyst Switch Intrastructure Protection_이충용_V1 0.ppt [호환 모드]

07( ) CSTV12-19.hwp

APOGEE Insight_KR_Base_3P11

Tech Trends 클라우드 버스팅의 현주소와 과제 아직 완벽한 클라우드 버스팅을 위해 가야 할 길이 멀지만, 하이브리드 클라우드는 충분한 이점을 가져다 준다. Robert L. Scheier Networkworld 매끄러운 클라우드 버스팅(Cloud Bursting

vm-웨어-앞부속

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

Agenda 1 Network Virtualization Today 2 Management Plane Scale-Out 3 Control Plane Evolution 4 High-Performance Data Plane 5 NSX Vision : Driving NSX

Microsoft PowerPoint - chap01-C언어개요.pptx

SDN 기술 소개

정보기술응용학회 발표

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 28(3),

PCServerMgmt7

<30362E20C6EDC1FD2DB0EDBFB5B4EBB4D420BCF6C1A42E687770>

슬라이드 제목 없음

Samsung SDS Enterprise Cloud Networking CDN Load Balancer WAN

IPAK 윤리강령 나는 _ 한국IT전문가협회 회원으로서 긍지와 보람을 느끼며 정보시스템 활용하 자. 나는 _동료, 단체 및 국가 나아가 인류사회에 대하여 철저한 책임 의식을 가진 다. 나는 _ 활용자에 대하여 그 편익을 증진시키는데 최선을 다한다. 나는 _ 동료에 대해

<4D F736F F D205B4354BDC9C3FEB8AEC6F7C6AE5D3131C8A35FC5ACB6F3BFECB5E520C4C4C7BBC6C320B1E2BCFA20B5BFC7E2>

DBPIA-NURIMEDIA

PowerPoint 프레젠테이션

1.LAN의 특징과 각종 방식

<333820B1E8C8AFBFEB2D5A B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

그림 2. 5G 연구 단체 현황 앞으로 다가올 미래에는 고품질 멀 티미디어 서비스의 본격화, IoT 서 비스 확산 등의 변화로 인해 기하 급수적인 무선 데이터 트래픽 발생 및 스마트 기기가 폭발적으로 증대 할 것으로 예상된다 앞으로 다가올 미래에는 고품질 멀티미디어 서

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

vm-웨어-01장

<31325FB1E8B0E6BCBA2E687770>


Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

표현의 자유

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

0125_ 워크샵 발표자료_완성.key

PowerPoint 프레젠테이션

<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Citrix Workload Balancing 2.1 설치 가이드

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

PowerPoint Presentation

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Journal of Educational Innovation Research 2018, Vol. 28, No. 4, pp DOI: A Study on Organizi

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

Windows 8에서 BioStar 1 설치하기

시안

슬라이드 제목 없음

1 : SDN (Dongha Kim et al. : A Study of Development for High-speed Cloud Video Service using SDN based Multi Radio Access Technology Control Methods).

歯CRM개괄_허순영.PDF

네트워크 안정성을 지켜줄 최고의 기술과 성능 TrusGuard는 국내 최초의 통합보안솔루션으로서 지난 5년간 약 4천여 고객 사이트에 구축 운영되면서 기술의 안정성과 성능면에서 철저한 시장 검증을 거쳤습니다. 또한 TrusGuard는 단독 기능 또는 복합 기능 구동 시

Web Application Hosting in the AWS Cloud Contents 개요 가용성과 확장성이 높은 웹 호스팅은 복잡하고 비용이 많이 드는 사업이 될 수 있습니다. 전통적인 웹 확장 아키텍처는 높은 수준의 안정성을 보장하기 위해 복잡한 솔루션으로 구현

DBPIA-NURIMEDIA

으며 RESTCONF[10], NETCONF[11] 와같은프로토콜들을사용하여통신하고있다. 본논문에서는 IETF I2NSF WG에서제안하고있는 I2NSF 프레임워크기반으로데이터드리븐보안정책관리 (Datadriven Security Policy Management) 시스템


4th-KOR-SANGFOR HCI(CC)

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Jun.; 27(6),

Intro to Servlet, EJB, JSP, WS

SLA QoS

PowerPoint 프레젠테이션

AGENDA 모바일 산업의 환경변화 모바일 클라우드 서비스의 등장 모바일 클라우드 서비스 융합사례

Data Sheet: GigaVUE-VM

Transcription:

논문 18-21-02-04 https://doi.org/10.22670//knom.2018.21.2.26 가상네트워크트래픽모니터링을위한 ebpf 기반 Virtual TAP 설계및구현 홍지범, 정세연 *, 유재형 **, 홍원기 * Design and Implementation of ebpf-based Virtual TAP for Inter-VM Traffic Monitoring Jibum Hong, Seyeon Jeong*, Jae-Hyung Yoo**, James Won-Ki Hong* 요 약 클라우드컴퓨팅및서비스의확산으로인터넷트래픽과서비스품질향상에대한요구가증가하면서데이터센터내부서버의리소스를보다효율적으로사용하는서버가상화와네트워크가상화기술에대한관심이증가하고있다. 트래픽모니터링을위해패킷을복제하는기존의하드웨어 TAP (Test Access Port) 장비는서버가상화환경에서구성된가상데이터경로 (datapath) 에적합하지않기때문에하드웨어 TAP 장비를소프트웨어로구현한 Virtual TAP (vtap) 을통해가상스위치에서패킷을복제한다. 그러나가상스위치에서 vtap을구현하면호스트머신의컴퓨팅리소스를가상스위치및가상머신과공유하기때문에성능저하문제가발생한다. 이문제를극복하기위해고속패킷처리기술인 ebpf (Extended Berkeley Packet Filter) 기반의 vtap 구현기술을제안하고기존방법과성능을비교한다. Key Words : Virtual Network Monitoring, extended Berkeley Packet Filter (ebpf), Linux Kernel Networking ABSTRACT With the proliferation of cloud computing and services, the internet traffic and the demand for better quality of service are increasing. For this reason, server virtualization and network virtualization technology, which uses the resources of internal servers in the data center more efficiently, is receiving increased attention. However, the existing hardware Test Access Port (TAP) equipment is unfit for deployment in the virtual datapaths configured for server virtualization. Virtual TAP (vtap), which is a software version of the hardware TAP, overcomes this problem by duplicating packets in a virtual switch. However, implementation of vtap in a virtual switch has a performance problem because it shares the computing resources of the host machines with virtual switch and other VMs. We propose a vtap implementation technique based on the extended Berkeley Packet Filter (ebpf), which is a high-speed packet processing technology, and compare its performance with that of the existing vtap. 이논문은 2018년도정부 ( 과학기술정보통신부 ) 의재원으로정보통신기술진흥센터의지원을받아수행된연구임 (No.2015-0-00575, 글로벌 SDN/NFV 공개소프트웨어핵심모듈 / 기능개발 ) 이논문은 2018년도정부 ( 과학기술정보통신부 ) 의재원으로정보통신기술진흥센터의지원을받아수행된연구임 (No.2018-0-00749, 인공지능기반가상네트워크관리기술개발 ) First Author : Pohang University of Science and Technology Department of Computer Science Engineering, hosewq@postech.ac.kr Corresponding Author * Pohang University of Science and Technology Department of Computer Science Engineering, {jsy0906, jwkhong}@postech.ac.kr ** Pohang University of Science and Technology Graduate school of Information Technology, styoo@postech.ac.kr 논문번호 :KNOM2018-02-08, Received December 8, 2018; Revised December 17, 2018; Accepted December 21, 2018 26

가상네트워크트래픽모니터링을위한 ebpf 기반 Virtual TAP 설계및구현 Ⅰ. 서론오늘날클라우드컴퓨팅은웹서비스, 가상화, 서비스지향아키텍쳐등과같은많은기술들을결합하고 SaaS, PaaS 및 IaaS와같은 IT capability를실현하기위해비즈니스모델을결합한형태이다 [1]. 또한클라우드인프라와클라우드서비스가확산됨에따라서비스품질향상에대한요구사항이급속하게증가하고있다. 이러한상황에서가상머신 (Virtual Machine, VM) 을사용하여서버의리소스를효과적으로사용하는서버가상화 (Server Virtualization) 기술과이를뒷받침하는네트워크가상화기술이많은주목을받고있다. 데이터센터 (Data Center) 에서동일한호스트서버에위치한 VM들또는물리적으로다른서버에위치한 VM들사이의통신은다양한서비스요청을처리하기위해동시다발적으로발생한다. 따라서데이터센터의 VM들사이의가상네트워크에서발생하는트래픽 (East-West 트래픽 ) 이크게증가하고있는추세이다. 기존의하드웨어 TAP (Test Access Port) 장비는터미널과라우터 ( 또는스위치 ) 사이의링크를통과하는패킷을복제하고, 복제된패킷을모니터링시스템에전송한다. 하지만클라우드컴퓨팅환경에서동일한호스트머신에위치하는 VM들사이의링크는가상스위치 (virtual switch) 에의해구성된가상링크 (virtual link) 이기때문에이러한가상링크에하드웨어 TAP 장비를설치할수없다는문제점이존재한다. 따라서기존하드웨어 TAP 장비로는 VM들사이의트래픽을모니터링하기가어렵다. 이러한문제를해결하기위하여하드웨어 TAP 장비를소프트웨어로구현한 virtual TAP (virtual Test Access Port, vtap) 은 VM 사이의트래픽모니터링을패킷레벨로제공한다. vtap은패킷레벨의트래픽모니터링및트래픽엔지니어링을위하여각호스트서버에위치하는가상스위치를활용하여구현할수있다. 본논문은클라우드컴퓨팅환경에서트래픽모니터링이가능한 vtap의설계및구현을제안한다. 가상스위치기반 vtap 구현은패킷을복제하고복제된패킷을모니터링시스템으로전달할때가상스위치및다른 VM들이사용하는동일한호스트머신의리소스를공유하기때문에 vtap의성능이저하된다. 이성능저하문제를해결하기위해호스트머신의제한된리소스를최적으로사용하기 위한커널기반의고속패킷처리기술인 ebpf (extended Berkeley Packet Filter) 를기반으로하는 vtap을제안한다. 본논문의나머지부분은다음과같이구성된다. 제 2 장에서는 vtap와연관된기술을설명하고이와관련된문제에대해설명한다. 제 3 장에서는본논문에서제안하는 ebpf 기반 vtap의설계및구현에대해설명하고, 제 4 장에서는 ebpf 기반 vtap과가상스위치를기반으로하는기존 vtap 을비교하여성능을평가한다. 마지막으로제 5 장에서는본연구에대한결론내리고향후과제에대해논의한다. Ⅱ. 연구배경및관련연구 1. 연구배경 vtap은일반적으로패킷레벨에서호스트머신 ( 서버 ) 의 VM들사이의트래픽을복제하고, 복제된트래픽을모니터링시스템에전달하여트래픽을분석한다. 본논문에서제안하는 vtap의설계및구현은 Linux 커널기반의하이퍼바이저 (hypervisor) 인 KVM과고속패킷처리를지원하고오픈소스프로젝트를통해확장성을제공하는 ebpf를기반으로한다. ebpf는 Linux 커뮤니티가주도하는오픈소스프로젝트인 IO Visor Project의하나로, ebpf는 Linux에서패킷필터링및패킷모니터링에사용하는기존 BPF의성능과보편성 (universality) 을확장하였다 [2]. ebpf는주로커널기반의 tracing과마이크로세그멘테이션 (micro-segmentation), 보안그룹 (security group), 방화벽과같은커널내부에서동작이가능한보안기능에활용되어왔으며, Docker 및 Kubernetes와같은컨테이너 (container) 기술에 ebpf를활용하는사례도존재한다. 기존 BPF는상호작용 (interaction) 이불가능하기때문에다른 BPF 프로그램을호출할수없다. 또한 JIT (Just-In-Time) 컴파일이복잡하고프로그램관리가용이하지않다는단점이있다. 이러한이유로 Linux 커널기반의네트워크응용프로그램이나커널기반의네트워크기능을개발할때기존 BPF는그기능이제한적이라는단점이있다. 반면 ebpf는 C 언어및 Python과같은상위레벨의언어로작성된프로그램을바이트코드로변환하고, 프로그램을커널에로드하여커널함수를호출한다. 27

그림 1. ebpf 의전반적인처리과정 Fig. 1. Overall Process of ebpf 이때커널내부의 verifier 는바이트코드가안전하 지않은것으로판단하는경우바이트코드를거부 하여프로그램을커널에로드하지않는다. 커널내 부에정상적으로로드된 ebpf 프로그램은패킷이 오갈때발생하는네트워크이벤트를소켓, 트래픽 제어, 디바이스드라이버와같은이벤트핸들러와 연관시켜해당커널함수를호출한다. 본논문에서 활용하는 ebpf 의전반적인실행구조는그림 1 에 나타나있으며, 위와같은 ebpf 뿐만아니라다른 고속패킷처리기술의활용을통한네트워크및 시스템모니터링에대한관심이증가하고있다. Open vswitch (OVS) [3] 는 VM 간가상네트워 크구축환경을제공하는 Linux 기반멀티레이어 가상스위치이다. OVS 는프로그래밍이가능한확 장방식을채택하여대규모네트워크자동화가가 능하도록설계되었다. OVS 는 SDN (Software Defined Networking) 에서사용되는 OpenFlow 프로 토콜및많은표준인터페이스를지원하고, SDN 스위치로써네트워크구성및관리를자동화하는데 사용된다. 2. 관련연구 현재서버가상화환경에서가상네트워크모니 터링을통해 VM 간트래픽에대한가시성을제공 하는상용 vtap 솔루션들이존재하고있다. Veryx vtap 은하이퍼바이저상에생성된레이 어에있는소프트웨어컴포넌트로 vnic (virtual Network Interface Controller) 를연결하는가상스 위치와함께동작한다. Veryx vtap 은트래픽을모 니터링하고복제한다음이를 Network Analyzer 혹은침입탐지시스템 (Intrusion Detection System, IDS) 과같은외부모니터링시스템에전달 한다 [4]. Gigamon vtap 은각 VM 에모니터링에 이전트를설치하여 VM 을통해들어오거나나가는 패킷을복제하고복제된패킷을모니터링플랫폼에 전송하여가상화환경에서트래픽가시성을제공한다 [5]. 마지막으로 IXIA vtap는호스트머신의커널을수정하는방법을통해 VM들사이의패킷을수집하고복제된패킷을외부모니터링프로그램으로전송한다 [6]. 위와같은상용솔루션들의경우높은처리성능 (throughput) 을제공하고시스템리소스를적게사용하지만 vtap이포함된상용솔루션대한종속성을가지기때문에사용자는유지관리및확장성에어려움을겪는다. 본논문에서제안하는 vtap 설계및구현은오픈소스인 ebpf를기반으로하여유지관리및확장성문제를해결한다. 또한상용솔루션과는별개로 SDN 및 OpenFlow 네트워크에서효율적인네트워크모니터링을위해 vtap 기능을활용하는다양한연구들이존재한다. Planck는상용네트워크에서 millisecond 단위의모니터링을제공하는네트워크측정시스템에대한연구로, 하드웨어 OpenFlow 스위치의포트미러링 (port mirroring) 기능을사용하여특정트래픽흐름을샘플링하고샘플링정확도및데이터수집속도를향상시킨다 [7]. NetAlytics는클라우드응용프로그램의성능분석시스템으로인텔의고속패킷처리도구인 DPDK (Data Plane Development Kit) 를사용하여데이터를처리한다. NetAlytics 또한하드웨어 OpenFlow 스위치의포트미러링을사용하여 VM들사이에이동하는패킷의복제본을모니터링시스템에전달한다. 하지만이연구는하나의호스트머신에하나의 VM만을가정하여한계가존재한다 [8]. vtap과같은패킷복제기술은기계학습 (Machine Learning, ML) 에도적용되고있다. 최근각광받고있는 self-driving 및 intelligent networking과더불어많은 ML 기술이네트워크분야에도입됨에따라, 관리자가설정하기어렵거나사전에정의되지않은규칙에대한네트워크행동모델을구축할때 vtap 기능을이용하여패킷헤더값과같이학습에필요한다양한 feature 데이터를제공한다. Amaral et al. [9] 는포트미러링을사용하여복제된패킷으로부터 time stamp, inter-arrival time, flow duration과같은 feature 데이터를추출한다. 이를통해기존의룰기반 (rule-based) 또는시그니처기반 (signature-based) 의패킷검사시스템 (packet inspection system) 과비교하여패킷분류에대한정확성을향상시킨다. 28

가상네트워크트래픽모니터링을위한 ebpf 기반 Virtual TAP 설계및구현 Abubakar 및 Pranggono [10] 는패킷및 flow 레벨 의메타데이터를수집하기위해포트미러링을사 용하여 ML 기반의 IDS 를구현한다. 위의연구들은네트워크모니터링및머신러닝을 위한패킷수준데이터수집을위해스위치의포트 미러링또는 SPAN (Switched Port ANalyzer) 기능 에의존하고있다. 포트미러링기능은스위치의고 유인터페이스를통해각스위치별로기능설정이 필요하며, 해당스위치의패킷포워딩성능을저하 시킬수있다. 반면본연구는스위치가아닌 ebpf 활용이가능한리눅스머신상에서주로 VM 간패 킷을고속으로복제하기위한 vtap 기능구현에 초점을맞춘다. 이전연구에서우리는 OpenFlow 프로토콜을사 용하여 Open vswitch 가상스위치기반으로동작 하는 vtap 을구현하여 SDN 네트워크에서 TAP 정책을적용하고관리할수있는방법을제공하였 다 [11]. 이연구에서우리는가상스위치기반 vtap 이가지는성능저하문제를해결하기위해 고속패킷처리도구인 DPDK 를활용하여패킷처 리속도를향상시켰다. 본논문은이전연구인가상 스위치기반 vtap 과다른접근법으로, ebpf 를사 용하여리눅스 VM 상에서동작하는 vtap 을설계 및구현하고그성능을검증한다. 이를통해가상 네트워크기능 (Virtual Network Function, VNF) 의 형태로서비스체인에포함되어특정트래픽의패 킷을효과적으로복제, 모니터링할수있다. Ⅲ. 시스템디자인 그림 2 는서버가상화환경에서하드웨어 TAP 장비의한계점과비교하여 vtap 과가상스위치의 동작및관계를나타낸다. 서론에서언급했듯이가 상스위치를기반으로하는 vtap 은패킷을복제하 그림 2. 하드웨어 TAP 과 Virtual TAP 의비교 Fig. 2. Hardware TAP and Virtual TAP 고복제된패킷을모니터링시스템으로전달하는 과정에서가상스위치및다른 VM 들이동일한호 스트머신의리소스를공유하기때문에가상스위 치에서 vtap 기능을수행하는과정에성능저하가 발생한다 [11]. 이를해결하기위해본논문에서는 Linux 호스트머신또는 VM 을가상스위치대신 패킷복제역할을하도록하여 ebpf 를기반으로 커널내부에서 vtap 기능이동작하도록구현한다. 그림 3. ebpf 기반 vtap 구조 Fig. 3. Overview of ebpf-based vtap 그림 3 은본논문에서제안하는 ebpf 기반 vtap 설계를나타낸다. Linux 머신은패킷을전 송하는 VM 과연결된입력포트를가지고, 원본패 킷의목적지인 Receiver VM 과모니터링역할을하 는 Monitor VM 과연결된출력포트를가진다. Linux 머신을통해전달되는트래픽은본논문에서 구현한 ebpf 기반 vtap 에의해수집되며, vtap 은패킷의헤더정보를통해패킷을식별하고패킷 을복제하여복제된패킷을 Monitor VM 에전달한 다. vtap 은 2 가지컴포넌트로구성되는데, Python 으로작성된 vtap Application 은네트워크인터페 이스를모니터링하고, C 언어로작성된 TC Program 은 BPF 라이브러리를통해패킷을식별하 고패킷을복제하여모니터링시스템에전달하는 실질적인 vtap 기능을수행하는로직을설정한다. 앞서설명한 ebpf 기반 vtap 의컴포넌트를보 다상세히설명하자면 Python 으로작성된 vtap Application 은바이트코드가바인딩되어동작할커 널내부네트워크스택의후킹 (hooking) 포인트를 지정한다. 본논문에서제안하는 ebpf 기반 vtap 의기능은패킷이 Linux TC (Traffic Control) 에도 달할때 BPF API 를호출하여구현하기때문에 TC 에바인딩된다. vtap Application 은패킷이전송 되거나도달할때발생하는네트워크이벤트에대 29

해 TC Program을호출한다. 호출된 TC Program은소켓버퍼를읽은후 IP 및 MAC 주소와같은패킷헤더정보를식별하기위해 Key-Value 기반의 Hash Map을살펴보거나초기화한다. 패킷의헤더정보에 source 또는 destination의 IP 주소가모니터링대상리스트에있는경우 TC Program은 BPF 라이브러리를이용하여패킷을복제하고복제된패킷을모니터링 VM으로전달하며, 리스트에없는경우에는패킷은 vtap 을통과하여 destination으로전달된다. Ⅳ. 결과및검증 본논문에서제안하는 ebpf 기반 vtap의기능을검증하고성능을평가하기위해아래와같은테스트베드를구성하였다. ebpf 기반 vtap의주목적은 vtap의처리성능을향상시키는것이므로, 먼저모니터링 VM에전송되는패킷의처리량을실험한다. 그리고침입탐지시스템 (IDS) 을이용한애플리케이션레벨에서의실험을통해제안하는 ebpf 기반 vtap을검증한다. 실험환경은하드웨어및가상머신에구축되었으며, 하드웨어로는 Intel Core i7-4790 (3.6GHz, 4 개코어 ) 프로세서, 16GB 메모리및 256GB SSD 를사용하였다. 가상환경은 Oracle VirtualBox (ver. 5.2.12) 를통해구축하였고, 각 VM은 Ubuntu 18.04 (kernel 4.15.0) OS를사용하며 QEMU/KVM 하이퍼바이저를통해관리된다. 1. 동일한 VM에위치하는 Receiver 및 vtap의처리성능비교본절의실험과다음절의실험에서우리는제안하는 ebpf 기반 vtap을통해모니터링 VM에전달되는패킷의처리량을측정하였다. 그리고 ebpf 기반 vtap의유효성을검증하기위하여 OVS 포트미러링의처리량과비교하였다. OVS (ver. 2.9.0) 는동일한환경에서설치되었으며, OVS 포트미러링은 OVSDB (Open vswitch Database) 프로토콜을통해다른모니터링포트로복제된패킷을전달한다. OVS 포트미러링기능을사용하기위해우리는 source 포트 (Sender), destination 포트 (Receiver) 및 output 포트 (Monitor) 를지정하여포트미러링정책을적용하였다. 패킷은고성능네트워크테스트도구인 Pktgen [12] 에의해생성되었 그림 4. 실험을위한테스트베드구성도 Fig. 4. Testbeds for Experiments 고, Monitor VM 에전달된복제된패킷의수신측 (RX) 처리량을측정하였다. 그림 4(a) 는본절에서수행하는실험의테스트베 드를나타낸다. Sender VM 은 Receiver VM 으로 UDP 패킷을생성하여보낸다. Receiver VM 에서 동작하는 ebpf 기반 vtap 은 Receiver VM 에도달 하는패킷을복제하고복제된패킷을 Monitor VM 으로전달한다. Monitor VM 에서는전달된패킷의 처리성능을측정한다. 그림 5 와표 1 은본절의 실험에서 ebpf 기반 vtap 과 OVS 포트미러링을 통해복제되어 Monitor VM 으로전달된패킷의처 리성능을측정한결과를나타낸다. 우리는이실험 에서처리량, 초당처리되는패킷의개수 (Packet Per Second, PPS) 및 CPU 사용량을매초마다측 정하였으며, 각패킷사이즈에대해 20 회시행한 평균측정값을나타내었다. 먼저 OVS 포트미러링은패킷사이즈가 64 바이 트인경우초당약 96,000 개의패킷을처리하였다. 패킷사이즈가증가하면서초당처리되는패킷의 수는약 87,000 개로감소하였다 ( 표 1). 처리량은 패킷사이즈가 64 바이트인경우약 38Mbps 를나타 내었으며, 패킷사이즈가증가함에따라처리량은 약 1,002Mbps 까지증가하였다. 반면본논문에서 제안하는 ebpf 기반 vtap 은패킷사이즈가 64 바 30

가상네트워크트래픽모니터링을위한 ebpf 기반 Virtual TAP 설계및구현 그림 5. vtap 과포트미러링의처리성능비교 (Testbed 1) Fig. 5. Throughput Comparison of Testbed 1 그림 6. vtap 과포트미러링의처리성능비교 (Testbed 2) Fig. 6. Throughput Comparison of Testbed 2 표 1. 세부성능측정결과 (Testbed 1) Table 1. Detailed Performance Measurement of Testbed 1 표 2. 세부성능측정결과 (Testbed 2) Table 2. Detailed Performance Measurement of Testbed 2 이트인경우초당약 130,000개의패킷을처리하였고, OVS 포트미러링보다약 25Mbps 더많은처리량을보였다. 처리량은 OVS 포트미러링의경우와마찬가지로패킷사이즈가증가함에따라증가하였다. 또한 ebpf 기반 vtap은약 1.6% 의 CPU 사용량을보이며 OVS 포트미러링보다 ( 약 2.3%) 적게 CPU를사용하는것을확인하였다. 2. 서로다른 VM에위치하는 Receiver 및 vtap의처리성능비교그림 4(b) 는본절에서수행한실험의테스트베드를나타낸다. 이전절의실험에서와같이 Sender VM은패킷을생성하여 Receiver VM으로보낸다. 이전절의실험과는달리 Receiver VM과다른 VM에서동작하는 vtap은 Receiver VM에도달하는패킷을복제하고복제된패킷을 Monitor VM으로전달한다. 본절의실험은이전절의실험과같이 Monitor VM에서처리량, 초당처리되는패킷의개수, CPU 사용량을측정하였다. 이전절의실험에 서는각 VM 마다 2개의 vcpu와 2GB의메모리를할당하였지만하드웨어의리소스제한으로인하여본절의실험에서는각 VM 마다 1개의 vcpu와 2GB의메모리를할당하였다. 그림 6와표 2은본절의실험에서 ebpf 기반 vtap과 OVS 포트미러링을통해전달된패킷의처리성능을측정한결과를나타낸다. 실험결과 OVS 포트미러링은리소스제한으로인하여처리성능에크게영향을받는것으로나타났다. 패킷사이즈가 64 바이트인경우초당약 46,719개의패킷을처리하였고, 최대패킷사이즈인경우초당처리되는패킷의수가약 40,000개미만으로감소하였다 ( 표 2). 처리량은패킷사이즈가 64바이트인경우약 20Mbps, 최대패킷사이즈인경우약 450Mbps를나타내어이전절에서측정한값보다약 50% 감소하였다. 반면 ebpf 기반 vtap은이전절의실험에서측정한값과거의비슷하게패킷을처리하는것으로나타났다. CPU 사용량은 OVS 포트미러링이약 13.5% 를사용하여 ebpf 기반 31

vtap이사용하는 CPU 사용량 ( 약 6.8%) 보다 2배가차이나는것을확인하였다. 이전절과본절의실험을통해제안하는 ebpf 기반 vtap이 OVS 포트미러링보다처리성능이우수하다는것을확인하였다. ebpf는 JIT 컴파일을수행하면서 native instruction에보다쉽게매핑될수있고, TC 프로그램이패킷이커널의트래픽제어계층에도달할때트래픽을인터셉트하기때문에, 유저레벨에서수행되는 OVS 포트미러링보다커널기반의 ebpf vtap이더나은패킷복제성능을보임을알수있다. 3. 침입탐지시스템 (IDS) 분석에 vtap을활용한실험마지막절의실험에서는제안된 ebpf 기반 vtap을사용하여원본패킷을 Receiver VM에서동작하는 IDS로전달하고, 복제된패킷을 Monitor VM에서동작하는 IDS로전달한다. IDS는네트워크의보안을위해사용되는애플리케이션으로, vtap과함께활용하여내부네트워크의보안상태를모니터링하는것이가능하다. 본절의실험에서우리는오픈소스 IDS Suricata [13] 를사용하였다. Suricata는고성능의멀티스레딩을지원하고주기적으로업데이트된룰셋 (rule sets) 을통해새로운종류의네트워크공격에대응한다. 본실험에서우리는 Suricata를 IDS 모드로작동시켜 vtap을통해전달되는악의적인공격트래픽을탐지하여경고보고서 (alerts report) 를생성하게하였다. 그림 4(c) 는본절에서수행한실험의테스트베드를나타낸다. 본절의실험은이전절의실험과마찬가지로하드웨어리소스의제한으로인해각 VM 에 1 개의 vcpu와 2GB의메모리를할당하였다. 우리는 Sender VM이악의적인공격트래픽을생성하는과정에서 IDS 및 IPS 테스팅프레임워크인 Pytbull [14] 을사용하였다. Pytbull은 DoS, shell code 및다양한네트워크공격트래픽을생성할수있다. 실험은동일한네트워크구성에서동일한트래픽으로전송속도와같은파라미터값을변경하면서여러번실험을진행하기위해 Pytbull을통해생성된공격트래픽을 Tcpreplay [15] 를사용하여저장하고이를반복적으로활용하였다. 그림 7은서로다른전송속도로네트워크공격트래픽을보냈을때각 IDS가공격트래픽을감지 그림 7. Suricata IDS 가탐지하는비정상적인트래픽의개수비교 (Testbed 3) Fig. 7. Suricata IDS Alerts Comparison of Testbed 3 표 3. Suricata IDS 를활용한실험의측정결과 Table 3. Suricata IDS Experimental Results of Testbed 3 하는개수를측정한결과를나타낸다. Receiver IDS (Receiver VM 에설치된 IDS) 는 10Mbps 의전송속 도에서평균 1,238 개의경고보고서를생성하였다. 전송속도가증가함에따라 Receiver IDS 에의해 생성되는경고보고서의수는 30Mbps 에서 666 개로 감소하였다. 반면 Monitor IDS (Monitor VM 에설 치된 IDS) 는 Receiver IDS 보다더많은경고보고 서를생성하였다. 전송속도가증가함에따라 10Mbps 의전송속도에서 1,413 개의경고보고서를 생성하고 30Mbps 의속도에서 1,223 개의경고보고 서를생성했다. 전송속도에따른경고보고서수의 차이는 Monitor IDS 가 Receiver IDS 보다작은것 으로나타났다. 본실험에서각 IDS 가생성하는경고보고서의 수와함께각 IDS 에서의패킷 drop rate 도측정하 였다 ( 표 3). Receiver IDS 에도착한패킷의 drop rate 는 10Mbps 의전송속도에서평균 59.31% 으로 나타났으며, 30Mbps 의전송속도에서 drop rate 는 58.50% 로전송속도가점차증가하였음에도큰차 이가없었다. 반면 Monitor IDS 패킷의 drop rate 는전송속도에관계없이 0% 로나타났다. 32

가상네트워크트래픽모니터링을위한 ebpf 기반 Virtual TAP 설계및구현 Receiver IDS와 Monitor IDS 간의 drop rate 비교를통해 Receiver VM은 IDS를통한패킷분석시 Monitor VM보다많은패킷손실을겪는것으로나타났다. 실험에서 CPU 사용률, 패킷의수와같은여러리소스에대한추가분석을통해원본패킷을받는 Receiver IDS가복제패킷을받는 Monitor IDS보다높은패킷수신량을보였고, 따라서더많은패킷을분석하기위한 Suricata 쓰레드와패킷인터럽트핸들러의리소스경쟁이많은패킷손실을발생시키는것으로나타났다. 이는 (1) VM에서 1개의 vcpu를사용하면 CPU 부족으로인해병목현상이발생하고, (2) ebpf 기반 vtap 에서 Monitor VM에보내는패킷은패킷복제에대한오버헤드가발생하여 Receiver VM이받는원본패킷보다낮은패킷처리량을보이기때문이다. 본실험결과에서각 IDS 분석결과의일관성을보장하기위하여 VM에더많은리소스를할당하고, 미터링 (metering) 과같은방법을사용하여본논문에서제안하는 ebpf 기반 vtap의동작방식개선을고려할수있다. Ⅴ. 결론클라우드컴퓨팅환경에서 VM은 vnic 및가상스위치를통해연결된다. 하지만기존하드웨어 TAP은 VM 간트래픽모니터링에사용할수없으므로패킷복제기능을소프트웨어로구현한 vtap 이필요하다. 가상스위치기반 vtap은동일한호스트서버에위치한다른 VM과리소스를공유하기때문에성능이저하된다. 이문제를극복하기위하여본논문에서는오픈소스이자고속패킷처리기술인 ebpf를사용하여 VM에서동작하는 vtap 을설계하고구현하였다. 실험결과에따르면제안하는 ebpf 기반 vtap은 PPS, 처리량및 CPU 사용량측면에서 OVS 포트미러링보다우수한성능을보여주었다. 본논문에서수행한실험은리소스가제한된환경에서수행되었기때문에향후연구방향으로는다양한시나리오를통해테스트베드를확장하고제안된 ebpf 기반 vtap의동작을미터링및큐스케줄링과같은방법을통해개선한다. 이후커널을 bypass하는다른고속패킷처리기술인 XDP (express DataPath) 를활용하여 vtap를확장구현할예정이다 [16]. References [1] O. Sefraoui, M. Aissaoui, and M. Eleuldj, Open-stack: Toward an open-source solution for cloud computing, Int. J. Comp. Appl. (0975-8887), vol. 55(03), October 2012. [2] IO Visor Project, extended Berkeley Packet Filter. [Online]. Available at https://www.iovisor.org/technology/ebpf. [3] Ben Pfaff et al., The design and implementation of Open vswitch, In 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15), 2015, pp. 117-130. [4] VeryX, Veryx vtap datasheet, Tech. Report, 2017. [Online]. Available at http://www.veryxtech.com/wp-content/uploads/2017/1 1/Datasheet-Veryx-vTAP_20171115.pdf. [5] Gigamon, GigaVUE-VM datasheet, Tech. Report, 2016. [Online]. Available at https://www.gigamon.com/content/dam/resource-librar y/english/data-sheet/ds-gigavue-vm-virtual-machine.pd f. [6] IXIA, Ixia Panthom vtap with tapflow filtering, Tech. Report, 2016. [Online]. Available at https://www.viavisolutions.com/pt-br/literature/ixia-ph antom-vtap-tapflow-filtering-data-sheet-en.pdf. [7] J. Rasley et al., Planck: Millisecond-scale monitoring and control for commodity networks, In ACM Conference on SIGCOMM, 2014, pp. 407-418. [8] G. Liu and T. Wood, Cloud-scale application performance monitoring with SDN and NFV, In 2015 IEEE International Conference on Cloud Engineering, Tempe, AZ, 2015, pp. 440-445. [9] P. Amaral, J. Dinis, P. Pinto, L. Bernardo, J. Tavares, and H. S. Mamede, Machine learning in software defined networks: Data collection and traffic classification, In 2016 IEEE 24th International Conference on Network Protocols (ICNP), Singapore, 2016, pp. 1-5. [10] A. Abubakar and B. Pranggono, Machine learning based intrusion detection system for software defined networks, In 2017 Seventh Inter- national Conference on Emerging Security Technologies (EST), Canter- bury, 2017, pp. 138-143. [11] S. Jeong, D. Lee, J. Li, and J. W. Hong, OpenFlow-based virtual TAP using open vswitch and DPDK, In 2018 IEEE/IFIP Network Operations and Management Symposium, Taipei, 2018, pp. 1-9. [12] Robert Olsson, Pktgen the linux packet generator, In 33

Proceedings of the Linux Symposium, Ottawa, Canada, 2005, p. 11-24. [13] Suricata, Open source IDS/IPS/NSM engine. [Online]. Available at https://suricata-ids.org/. [14] pytbull, IDS/IPS testing framework. [Online]. Available at http://pytbull.sourceforge.net/?page=documentation. [15] Tcpreplay, Pcap editing and replaying utilities. [Online]. Available at https://tcpreplay.appneta.com/wiki/overview.html. [16] IO Visor Project, express data path. [Online]. Available at https://www.iovisor.org/technology/xdp. 홍지범 (Jibum Hong) 2017 한양대학교 ERICA 컴퓨터공학과학사 2017 ~ 현재포항공과대학교 컴퓨터공학과통합과정 < 관심분야 > SDN, 네트워크 관리 2018 ~ 현재포항공과대학교컴퓨터공학과연구부교수 < 관심분야 > 네트워크관리및보안, SDN, OpenFlow 홍원기 (James Won-Ki Hong) 1995 ~ 현재포항공과대학교컴퓨터공학과교수 2007 ~ 2011 포항공과대학교정보통신대학원장 2007 ~ 2010 포항공과대학교정보통신연구소연구소장 2008 ~ 2010 포항공과대학교컴퓨터공학과주임교수 2008 ~ 2012 포항공과대학교정보전자융합공학부장 2012 ~ 2014 KT 종합기술원원장 < 관심분야 > 네트워크트래픽모니터링, 네트워크및시스템관리, SDN/NFV, IoT, 무크기반교육 정세연 (Seyeon Jeong) 2015 경북대학교컴퓨터학부학사 2018 포항공과대학교컴퓨터공학과석사 2018 ~ 현재포항공과대학교컴퓨터공학과박사과정 < 관심분야 > SDN, OpenFlow, 네트워크관리 유재형 (Jae-Hyung Yoo) 1983 연세대학교전자공학과학사 1985 연세대학교전자공학과석사 1999 연세대학교컴퓨터공학과박사 1986 ~ 2012 KT 네트워크연구소 2012 ~ 2013 KAIST 전기및전자공학과연구부교수 2013 ~ 2016 포항공과대학교컴퓨터공학과연구부교수 2016 ~ 2018 정보통신기술진흥센터네트워크 CP 34