이동통신망에서의 VoLTE 트래픽분류방법에관한연구 현종환 1, 리건 2, 임채태 3, 유재형 1, 홍원기 1 1 포항공과대학교컴퓨터공학과 2 포항공과대학교정보전자융합공학부 3 한국인터넷진흥원 1, 2 {noraki, gunine, styoo, jwkhong}@postech.ac.kr 3 chtim@kisa.or.kr 요 약 2012 년 8 월, 국내에서 All-IP 기반의 LTE 네트워크에서고품질의음성및멀티미디어서비스를제공할수있는 VoLTE(Voice over LTE) 서비스가상용화되었다. VoLTE 트래픽양은사업자간 VoLTE 서비스연동에대한표준화완료, VoLTE 지원단말증가등으로인해갈수록증가할것으로예측되며, 이에따라 VoLTE 서비스품질관리가중요해질전망이다. 본논문에서는 VoLTE 통화세션수립에사용되는 SIP/SDP 패킷분석을통해, 이동통신망에서 VoLTE 패킷을분류할수있는트래픽분류구조를제안하고제안한방법의처리속도를측정하였으며, commodity 서버를사용하여분산처리및병렬처리기술을적용함으로써트래픽처리성능을향상시키기위한구조를제안한다. 1. 서론 국내외인터넷트래픽은매년 40% 이상증가하고있다. 모바일트래픽은 2016 년전세계모바일데이터트래픽이 2011 년대비 18 배가량증가할것이며, 이는유선데이터트래픽의 3 배에이를것으로예측된다 [1]. 국내에서도최근수년간스마트폰을비롯한각종모바일단말의보급과 LTE (Long Term Evolution) 서비스시장의급성장으로인해모바일트래픽이꾸준하게증가하고있다. 2011 년 7 월국내에서 LTE 서비스가처음으로시작된이후 2 년만에가입자 2400 만명을돌파하였으며, 그에따라모바일트래픽도폭증하고있다. 2012 년 1 월이후모바일트래픽은 2.65 배증가하였으며, 그중 LTE 트래픽은약 19 배증가하였다 [2]. VoLTE (Voice over LTE) 서비스는패킷교환방식만을지원하는 All-IP 기반의 LTE 네트워크에서음성서비스및단문메시지서비스 (SMS) 를지원하기위해개발되었다. 국내에서는 2012 년 8 월 VoLTE 서비스가상용화되었으며현재는이동통신 3 개사업자모두 VoLTE 서비스를제공하고있다. 2013 년 9 월이동통신 3 개사업자간에 VoLTE 서비스연동에관한규격표준화가완료되어서로다른통신사가입자간에 VoLTE 통화가가능해질전망이며, LTE 가입자수증가, VoLTE 지원단말의증가로인해 VoLTE 트래픽양은갈수록증가할것으로예측된다. 또한 2016 년전세계 VoLTE 시장은 20 억달러에이를것으로전망되며, 전세계통신사업자들이네트워크효율증대및운영비용절감, 수익확대등을위한방안으로 VoLTE 서비스를도입할것으로분석된다 [3]. 본연구는미래부가지원한 2013 년정보통신 방송 (ICT) 연구개발사업의연구결과로수행되었음. 62 기존 3G 네트워크에서는 AMR (Adaptive Multi Rate) 음성코덱을사용하여음성서비스를제공하였으며, 이는유선전화와비슷한음성품질을제공한다. 이에비해 VoLTE 서비스는 AMR-WB (AMR-WideBand) 음성코덱을사용하여좀더넓은음성대역폭과높은비트레이트를제공하여향상된품질의통화서비스를제공할수있다. 또한, VoLTE 서비스는통화연결시망내부에서별도의 QCI (QoS Class Identifier) 및무선베어러 (Bearer) 를할당하기때문에 QoS 를보장할수있어 Skype, Viber 등의 mvoip (mobile VoIP) 서비스들보다양질의서비스를제공할수있다. VoLTE 트래픽이갈수록증가할것으로예상되는현상황에서이러한고품질의서비스를제공하기위해서는지속적인품질관리가필수적이다. 이를위한첫단계로이동통신망에서 VoLTE 트래픽의검출에관한연구가필요하다. 본논문에서는이동통신망에적용가능한 VoLTE 트래픽분류구조를제안하고그처리속도를측정하며, 분산처리및병렬처리기술을적용하여트래픽분류속도를향상시킬수있는트래픽분류시스템구조를제안한다. 본논문의구성은다음과같다. 2 장에서는 VoLTE 및 VoIP 트래픽분류와관련된연구들에대해소개하고, 3 장에서는 VoLTE 서비스에사용되는프로토콜에대해알아본다. 4 장에서는제안하는 VoLTE 트래픽분류방법및성능에대해살펴보고, 5 장에서는트래픽처리속도향상을위한분산처리및병렬처리구조에대해소개한다. 6 장에서는결론및향후연구계획에대해기술한다.
2. 관련연구 VoLTE 는 기존의 VoIP 서비스와 동일하게 SIP(Session Initiation Protocol) 를사용하여세션을 수립한 후, 음성, 영상, 문자 등의 멀티미디어 데이터를 RTP (Real-time Transport Protocol) 를통해 전송한다. 이와같이 RTP 와 SIP 를사용한멀티미디어세션 트래픽을탐지하는방법은크게두가지로나눌수 있다. 첫 번째는 RTP 세션을 수립하는 SIP 트래픽을 분석하여 얻은 정보를 바탕으로 멀티미디어데이터를전송하는트래픽을분류하는 방법이며, 두번째방법은 RTP 세션트래픽자체를 분류해내는방법이다. 첫번째방법의정확도가 높지만, 전체패킷페이로드에접근할수있어야 한다. 이러한제약조건때문에 RTP 트래픽만을 분류해내는두번째방법에대한연구가주로 진행되고있다 [4]. RTP 는세션생성시임의의포트를할당하여 사용하기때문에포트기반분류방법을사용할수 없으며, 모든 UDP 패킷에대해 RTP 트래픽분류 방법을적용하여야한다. L7-filter[5] 에서는 개별 UDP 패킷에적용할수있는바이너리형태의 시그니쳐를제공하며, 시그니쳐와일치하는패킷을 RTP 패킷으로 분류한다. 이 시그니쳐는 RTP 헤더의각필드에서가질수있는값들을조합한 것으로, 그림 1 에표시된바와같이 RTP 버전필드 (V, 2 비트 ), Padding 필드 (P, 1 비트 ), Extension 비트 (X, 1 비트 ), Contributing source identifier count 필드 (CC, 4 비트 ), Payload type 필드 (PT, 7 비트 ) 로 구성되어있으나정확도는그리높지않다. 8 7 6 5 4 3 2 1 V=2 P=0 X=0 CC=0 1 M PT = 0~34, 96~127 2 Sequence number 3~4 Timestamp 5~8 Synchronization source (SSRC) identifier 9~12 Contributing source (CSRC) identifiers 13~ 그림 1 RTP 패킷헤더구조 패킷단위가아닌 UDP 플로우단위로 RTP 스트림을분류하는휴리스틱알고리즘에대한연구도진행되었다 [4][6]. 하나의 RTP 스트림을구성하는패킷들은 RTP 버전필드, Synchronization source identifier 필드, 페이로드타입필드의값이모두일정하여야하며, sequence number 는일정하게증가하여야한다는특성을사용하여 UDP 스트림으로부터 RTP 스트림을분류하였다. 이러한방법들은 VoIP 및 VoLTE 에사용되는 RTP 트래픽을분류해낼수있지만, 동일하게 RTP 를사용하여멀티미디어데이터를주고받는 VoIP 와 VoLTE 트래픽간의구분이어렵다. 본연구에서는 SIP 패킷분석을통해 RTP 트래픽분류뿐아니라 VoLTE 에사용되는 RTP 트래픽만을분류해낼수있는방법을제안한다. 제안하는방법은 SIP 패킷으로부터 RTP 세션에사용되는포트, 코덱등 RTP 세션에대한메타데이터를얻을수있기때문에 VoIP 와 VoLTE 트래픽분류가가능하다. 또한, SIP 패킷및 RTP 패킷모두 IP 및포트정보를사용하여분류를수행하기때문에 RTP 패킷의페이로드를분석하지않아도되는장점이있다. 그리고 5 장에서제안하는분산처리및병렬처리기술을적용한트래픽분류구조를사용하여트래픽처리성능도향상시킬수있다. 3. VoLTE 관련프로토콜 본장에서는 VoLTE 에사용되는프로토콜 (GTP, SDP, SIP) 에대해살펴본다. 3.1. GTP GTP (GPRS Tunneling Protocol) 는 GSM, UMTS 및 LTE 무선네트워크에서사용되는 IP 및 UDP 기반터널링프로토콜이다. 사용목적에따라 GTP-C, GTP-U, GTP 으로구분할수있으며, LTE 무선망에서모든사용자데이터는 GTP-U 터널을거쳐전달된다. 사용자단말이생성한 IP 패킷은 LTE 망내부에서는 GTP-U 패킷속에캡슐화 (encapsulated) 되어전달된다. 따라서, 해당구간에서수집한패킷을분석하기위해서는수집된패킷에서 GTP 헤더를제거하여사용자단말이생성한 IP 패킷을복원한후분석을진행하여야한다. 3.2. SDP SDP (Session Description Protocol) 는 VoIP 통화, 비디오스트리밍등의멀티미디어세션수립과정에서세션이름, 세션에사용될 IP 와포트정보, 전송될미디어정보등을세션참가자에게전달하는역할을수행한다. 또한, 세션참가자들간에세션에서사용될미디어파라미터를협상하는데사용된다. SIP, RTSP 등의프로토콜상에서동작하며, MIME extension 이나 HTTP 등을사용한다. SDP 메시지에는 protocol version, session name, 등의정보가포함되어있으며, connection information(c 필드 ) 에서 IP 주소를, media description and transport address (m 필드 ) 에서 RTP 세션에사용될포트번호를얻을수있다. 3.3. SIP 기존의 PSTN (Public Switched Telephone Network) 과같은서킷교환망에서는호출자와수신자사이의연결을위하여두단말사이에회선을 63
연결시킨다. 각각의통화마다할당된회선을사용하기때문에안정적이며통화품질도좋지만, 통화가끝날때까지회선을유지해야하기때문에자원관리측면에서는비효율적이다. QoS 보장측면에서의단점은존재하지만, 패킷교환방식은자원관리측면에서서킷교환방식보다효율적이다. 패킷교환방식은전화통화와같은실시간어플리케이션을고려하지않고디자인되었기때문에 SIP 과같은세션컨트롤프로토콜이개발되어패킷교환망에서의전화나영상통화와같은실시간어플리케이션을가능케한다. VoLTE 에서도 SIP 를사용하여음성및영상통화서비스를제공하며, SDP 를사용하여코덱, 비트레이트등의정보를교환한다. 4. VoLTE 트래픽분류방법및성능측정 본장에서는 SIP 프로토콜의 User-Agent 필드를사용하여 VoLTE 트래픽을분류하는방법을소개하고, 성능측정결과를설명한다. 기존의 VoIP 트래픽분류방식을사용하게되면, VoLTE 트래픽과 VoIP 어플리케이션을통해생성된트래픽을구분할수없다. 하지만, SIP 프로토콜헤더의 User-Agent 필드의정보를활용하여 VoLTE 서비스에서사용하는 SIP 패킷을분류할수있으며, 분류된 SIP 패킷에서추출한 IP 및포트정보를기반으로 VoLTE RTP 패킷을분류할수있다. 상용망에서 2 분간수집한트래픽 (19,914 MB) 을분석한결과, VoLTE SIP User-Agent 필드에사용되는값은표 1 과같다. 표 1 VoLTE User-Agent User-Agent 시그니쳐 User-Agent: *-LTE-VOLTE* _AND/1.* SIP 기반의 VoLTE 트래픽분류과정은그림 2 와같다. SIP 와 RTP 모두 UDP 기반의프로토콜이므로본시스템에서는수집되는모든 UDP 패킷에대해다음과같은절차를수행한다. 시스템에입력되는패킷은 GTP-U 터널에서수집된패킷이므로 3.1 절에서언급한바와같이 GTP 헤더를제거하여원래의 IP 패킷을복원한이후분류를수행한다. 시스템은 VoLTE 통화세션에사용되는 IP 및포트정보를저장하는 RTP 세션테이블을유지하고있으며, 패킷이입력되면테이블에해당패킷의 IP 및포트정보와일치하는엔트리가있는지탐색한다. 일치하는엔트리가존재하는경우, 해당패킷을 VoLTE RTP 패킷으로분류한다. 일치하는엔트리가없는경우 VoLTE RTP 패킷이아닌것으로분류하며, 추가적으로 SIP 패킷분류과정을거치게된다. SIP 는잘알려진 (well-known) 포트번호 5060 을사용하기때문에쉽게분류할수있다. SIP 로분류된패킷에대해 User-Agent 필드를확인하여 VoLTE 단말에서생성한 SIP 패킷인지확인한다. VoLTE SIP 패킷가운데 SDP 정보를포함한패킷의경우, 3.2. 절에서언급한대로 c 필드의 IP 주소와 m 필드의포트번호를추출하여 RTP 세션테이블에저장한다. 또한, SIP BYE 메시지의경우, VoLTE 통화세션이종료된것을의미하므로해당 RTP 세션을 RTP 세션테이블에서삭제한다. 또한, BYE 메시지가수집되지않거나세션이비정상적으로종료된경우에는 VoLTE 통화세션이종료되어도해당 RTP 세션정보는 RTP 세션테이블에그대로남아있게된다. 이러한문제를해결하기위해각엔트리마다마지막으로패킷이매치된시각을기록하여일정시간동안사용되지않은엔트리는삭제한다. SIP 기반분류방식의장점은텍스트기반프로토콜인 SDP 에서추출한 IP 주소및포트번호 Payload 테이블탐색 IP GTP-U UDP IP RTP 세션테이블 Src IP Src port Dst IP Dst port Timestamp x.x.x.x. 12345 y.y.y.y 54321 T 1 a.a.a.a 23456 b.b.b.b 65432 T 2 사용되지않은엔트리제거 일치하는엔트리가존재하는가? dstport == 5060? User-Agent 문자열비교 VoLTE SIP Pkt. Signature RTP 세션정보저장 RTP 세션정보삭제 VoLTE RTP 패킷으로분류 Signature 와일치하는가? SDP 가포함되어있는가? SIP BYE request? 다음패킷처리 그림 2 VoLTE 트래픽분류구조 64
정보를 사용하여 RTP 패킷을 분류하기 때문에 정확도가높다. 그리고 SIP 의 User-Agent 필드의 정보를활용하여 VoIP 와 VoLTE 간의트래픽 분류를정확하게할수있다 실험을 통해 제안하는 방법의 성능을 측정하였다. 실험에는 실제 상용망의 S1 인터페이스 (edeb S-GW 구간 ) 에서 2 분간수집한 트래픽이 사용되었으며, 트래픽 양은 19,914 MB 이다. Intel(R) Xeon(R) CPU E5-2670 @ 2.60GHz, 96GB RAM 으로구성된서버를사용하여 pcap 포맷으로 저장된 파일을 분석하는 데 소요되는 시간을 측정한결과, 40.017(±0.420) 초가소요되어 3.878 Gbps 의성능을보였다 ( 그림 3). Processing Time (second) 41.5 41.0 40.5 40.0 39.5 39.0 그림 3 트래픽분류방법의데이터셋분석시간 LTE 트래픽이지속적으로증가하게되면현재의속도로는단일서버를사용하여 VoLTE 트래픽을분류하는것은불가능하며 VoLTE 트래픽을보다빠르게분류할수있는기술이필요하다. 이를해결하기위하여 5 장에서 HTCondor[7] 기반의 VoLTE 트래픽분산처리구조를제안한다. 5. 트래픽분산처리구조 본장에서는 4 장에서설명한 VoLTE 트래픽분류방법을범용멀티코어 CPU 와 commodity 서버를사용하여분산처리및병렬처리기술을적용함으로써트래픽처리성능을향상시키기위한구조를제안한다. 5.1. 관련기술 Proposed 1 2 3 4 5 6 7 8 9 10 Trial 제안하는구조에적용한분산처리및병렬처리기술은다음과같다. Receiver-Side Scaling[8]: Network Interface Card (NIC) 에서수집된트래픽데이터를하나의 에서부터여러개의 로나누어 할당하고 들과 CPU 코어들사이의매핑을통하여각 CPU 코어에서직접 에할당된트래픽데이터에접근할수있도록해준다. PF_RING[9]: NIC 에서수집된트래픽을멀티코어에분산시켜 scalability 를제공하고, 각코어에서직접적으로각 에저장된데이터를 polling 하여패킷을빠른속도로수집할뿐만아니라, 각어플리케이션 Thread 가직접적으로 에접근할수있어세마포어 (semaphore) 와같은기법을사용할필요가없는등트래픽수집시스템의성능을개선해준다. HTCondor: 높은컴퓨팅파워를필요로하는작업들을분산시켜병렬처리하기위한소프트웨어프레임워크이다. 작업관리메커니즘, 스케줄링정책, 자원모니터링및자원관리등기능들을제공한다. 또한, 서로다른프로그래밍언어및병렬처리수준을제공하기때문에 C 혹은 C 프로그래밍언어로작성된사용자프로그램에대한분산처리를가능하게하며, C 로프로그래밍된오픈소스로 C 혹은 C 사용자프로그램을완벽하게지원하며상당히우수한실행성능을보인다. 5.2. 트래픽병렬수집 제안하는구조 ( 그림 4) 에서는 S1 인터페이스에서트래픽을수집하는것을가정한다. S1 인터페이스에서수집된트래픽은 NIC 를거쳐 RSS 에입력되어 n 개의 로분산된다. 패킷수집머신에장착된 CPU 의 n 개의코어는 PF_RING 의도움을받아직접각 로부터트래픽데이터를받아오고, 데이터는곧바로 n 개의 tter (HTCondor Agent) 에의하여 n 개의분할된 trace 파일로로컬혹은원격저장소에저장된다. 뿐만아니라패킷수집과정에서전체수집된트래픽중 SIP 트래픽은별도로분류하여 n 개의분할된 trace 파일과같은저장소에저장한다. SIP 트래픽을전체트래픽에서분류하는이유는 SIP trace 중 VoLTE RTP Port 정보만따로추출하여, 분할된 trace 들가운데 VoLTE RTP 트래픽만분류하기위함이다. 5.3. 트래픽분산처리 시스템은 n 개의분할된파일마다각각하나의 VoLTE 트래픽 분석 작업 (Job) 을 생성하여 HTCondor Central Job Manager (HTCondor Matchmaker) 에 제출한다. 여기서 분할된 trace 파일은 VoLTE 트래픽분석작업과 1:1 로매핑되며 Job ID 가매핑키로사용된다. Central Job Manager 는 제출받은 VoLTE 트래픽 분석 작업에 적당한 de (HTCondor Resource) 를 server farm 으로부터 matchmaking 과정을통하여선정한다. 선정된 de 는직접 tter 와통신하여 65
t Task Central Job Manager Assign Task to de through Condor Protocol Task Flow Traffic Trace Flow Aggregated Data Flow tter #1 tter #2 PF_RING tter #3 tter #4 Extract SIP Split trace #1 de RTP Port Extraction from Full SIP Trace edeb Resource Side Scaling (RSS) NIC S1... S-GW Split trace #2 Split trace #3 Split trace #4 Storage RTP Traffic Classification de de de Preaggregation Aggregation de Result Server Farm VoLTE 트래픽분석에필요한분할된 trace 파일을요청하게되고 tter 는 VoLTE 트래픽분석작업에필요한정보를모두 de 로전달한다. VoLTE 트래픽분석작업은 1) VoLTE SIP trace 에서 RTP Port 추출, 2) VoLTE RTP 트래픽분류, 3) 초기집계의 3 단계에거쳐서실행된다. VoLTE 트래픽분석작업은각 de 들에서실행되며분류된패킷들은주기적으로 Aggregation de 에의하여수집된다. 최종적으로수집된 VoLTE 패킷으로부터얻을수있는각종통계적수치들 (Delay, jitter, call setup delay 등 ) 을 VoLTE 서비스품질평가에활용할수있다. 6. 결론및향후연구 본연구에서는이동통신망에서 VoLTE 트래픽을분류하기위한방법을제안하고그성능을측정하였으며, 트래픽처리성능을향상시킬수있는트래픽분산처리구조를제안하였다. VoLTE 트래픽분류방법은 VoLTE 통화연결에사용되는 SIP 패킷을분석하여 VoLTE 통화에사용되는 RTP 세션의 IP 와포트번호를얻어낸후이를이용하여실제 VoLTE 음성데이터패킷을분류하는방식이다. SIP 패킷의 User-Agent 문자열을분석함으로써 VoLTE 서비스에사용되는음성데이터패킷을구분해낼수있으며, 이를통해 VoLTE 서비스의품질관리에활용할수있다. 또한제안한트래픽분산처리구조를통해 commodity 서버를사용하여트래픽처리속도를향상시킬수있다. 향후연구로는 VoLTE 트래픽특성에맞게 그림 4 VoLTE 트래픽병렬수집및분산처리구조 정답지데이터를생성하고이를바탕으로본연구에서제안한트래픽분류구조의정확도를검증하고자한다. 7. 참고문헌 [1] Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2012 2017 [2] 미래창조과학부, 무선데이터트래픽통계, 미래창조과학부통계정보, 2014 년 2 월 [3] Voice over LTE: Market and Forecasts, ARCchart, 2012. [4] R. Birke, M. Mellia, M. Petracca, and D.Rossi, Experiences of VoIP traffic monitoring in a commercial ISP, IJNM, vol. 20, no. 5, pp. 339-359, 2010. [5] L7-filter, http://l7-filter.sourceforge.net/protocols [6] T. Sinam, I.T. Singh, P. Lamabam, N. N. Devi, and S. Nandi, A technique for classification of VoIP flows in UDP media streams using VoIP signalling traffic, in Advanced Computing Conference (IACC), 2014. [7] High Throughput Computing Framework HTCondor, http://research.cs.wisc.edu/htcondor/ [8] Microsoft, MSDN: Introduction to Receive-Side Scaling. http://msdn.microsoft.com/enus/library/windows/hardware/ff556942(v=vs.85).aspx [9] High-speed Packet Capture PF_RING, http://www.ntop.org/products/pf_ring/ 66