2017 년도한국철도학회추계계학술대회논문집 KSR2017A042 네트워크기반고속궤도검측시스템의단주기전송지연시간분석 Short Period Transmission Delay Analysis in Networked High Speed Track Measurement System 오경철 *, 최일윤 **, 배병우 * Kyoung-Chul Oh *, IL-YOON CHOI **, Byeong-Woo Bae * 초록고속궤도검측시스템은시속 300km 의속도로검측차를운행하며고속열차궤도의결함을 25cm 간격으로검측한다. 검측의고속화정밀화추세에따라동시에여러검측부로부터최소 3ms 의짧은주기로전송되는검측데이터의전송지연시간의추정이필요하게되었다. 본논문에서는네트워크기반시스템의전송지연시간추정기법과개별시스템의특성에따른통신부하시험방법을조사하고 5 가지의검측부에서통합운영부로최대초당 333 회주기로동시에전송되는패킷의지연시간을비교분석한다. 분석방법은전송장치의개수, 전송주기, 패킷사이즈에따른지연시간을측정하고지연시간의추이를시험을통하여비교한다. 주요어 : 전송지연시간, TCP/IP, 고속궤도검측시스템 (High-speed track measurement system) 1. 서론 고속궤도검측시스템은궤도검측국제규격 (EN13848-2) 인 25cm 간격의측정과고속열차 의최고 300km/h 운행속도를만족시키기위 하여, 3ms 주기의궤도결함측정과예외사항 의실시간모니터링기능이요구된다 [1,2]. 이 에따라여러고속검측모듈로부터최소 3ms 의짧은주기로지속적으로데이터를수집함 에있어서전송지연이예상되어네트워크 전송시험과지연시간의분석을통한효율적 인아키텍처설계가필요하게되었다. 기존의네트워크지연시간관련연구를살 펴보면, 네트워크지연시간측정방법에관한 RTT(Round Trip Time) 방식의전송지연시간 측정의단점을분석하여개선한단방향지연 시간의추정기법과시스템의특성에따른필 요에의한지연시간측정방법으로전력등 의제어시스템의안정적운영을위한운영 시스템의네트워크통신부하를측정하는시 험방법, 차량통신용무선접근시스템의단말 * 대보정보통신기술연구소 (dokgan@dbcs.co.kr) ** 한국철도기술연구원고속철도연구본부첨단고속철도연구실 의접속수에따른무선통신상의전송성능 측정연구및철도차량용이벤트레코더구 현을위한데이터전송지연시간의이론적 계산이연구되었으나, 짧은주기의지속적인 전송시험에의한지연시간의측정과지연시 간의추이결과는소개되지않고있다 [3-6]. 본논문에서는전송패킷의용량, 전송주 기및송수신채널의수를달리하면서패킷 을여러채널에서동시에지속적으로전송하 는시험을통하여지연시간을측정하고전송 방법에따른결과를비교분석한다. 본논문의나머지구성은다음과같다. 2 장 에서는고속종합검측시스템의네트워크구 성에대해서설명한다. 3 장에서는지연시간 추정을위한시험환경과지연시간추정결 과및추이에대해서소개하며 4 장에서는시 험결과를토대로결론을도출한다. 2. 고속궤도검측시스템개요및네트워크지연시간분석 2.1 고속궤도검측시스템의개요 고속궤도검측시스템은고속검측차량으로 최고 300km/h 의속도로주행하면서결함항 목별검측모듈을통해서궤도의결함을 25cm
간격으로측정한검측데이터를통합운영부로실시간전송, 모니터링및분석하는기능을제공하여결함궤도의유지보수를수행하게한다. 송신커널단에서는응용프로세스의 write 이벤트마다매번전송을하는것이아니라송신데이터가버퍼에적정량채워졌을때송신을수행한다. 수신단커널은수신한데이터를버퍼링하고수신단응용프로세스에맞게조절하여소켓버퍼로데이터를저장한다. 그리고응용프로세스는소켓버퍼의이벤트를감지하여 read 한다. Fig. 1. Diagramof high speed track measurement system 검측데이터의수집네트워크구성은 Fig. 2 와같이검측데이터의수집네트워크는검측차상의로컬망으로구성되며검측부와수집서버간은기가비트이더넷 (Gigabit Ethernet) 의스위치허브로연결되며응용프로세스의수신확인 ACK 데이터전송없는 TCP통신방식을사용한다. Fig. 3. TCP communication packet transmission delay 한패킷의 TCP 전송지연시간은다음과같이계산된다. 송신단응용프로세스에서수신단응용프로세스까지전송되는단계는송신데이터를소켓버퍼에 write 및커널단버퍼로저장하는 Send Time과커널버퍼의데이터를 TCP 이더넷통신방식으로수신단커널버퍼에전달하는 Transmit Time 그리고커널버퍼의데이터를수신단소켓버퍼로저장및응용프로세스의소켓버퍼 read 까지의 Receive Time을합하여계산된다. Fig. 2. Networkconfigurationof collectingmeasurement data Fig. 2에서 5개의검측부와연결되는수집서버는전송성능을고려하여 1개또는다수개로병렬구성한다. 전송되는데이터는단말컴퓨터에서참조하는일부이미지데이터와최소 3ms의이벤트방식주기로전송되는약 1KB용량의텍스트형식패킷데이터가있다. 수집서버의응용프로세스는데이터수집과파일저장및운영서버로의패킷 bypass 전달기능을수행한다 [7]. 2.2 네트워크지연시간분석 TCP 통신규격으로패킷을전송하는단계별지연시간은 Fig. 3과같이나타낼수있다 [8]. 한패킷의총전송지연시간 = Send Time + Transmit Time + Receive Time 그리고전체패킷의총전송지연시간은다 음과같이계산된다. 전체패킷의총전송지연시간 = [(ts(n)-tc(n)- t) - (ts(n-1)-tc(n-1)- t)] N : 전체전송패킷의개수 ts(n) : n 번째패킷의수신시각 tc(n) : n 번째패킷의송신시각 t : 수신단과송신단의시각차 여기서 n=1 일경우는첫번째패킷의전송 지연시간만으로계산된다.
TCP 전송지연시간에영향을미칠수있는요인으로커널단버퍼링특성과연관된전송주기와이더넷전송성능과연관된한수신단호스트의수집채널수및공통적인연관사항으로송신패킷의용량이예상된다. 3. 네트워크지연시간측정시험 3.1 시험환경및방법네트워크지연시간시험은패킷사이즈에따른전송주기별지연시간과송신장치의개수에따른수신호스트의지연시간을측정하고지연시간의추이를나타낸다. Fig. 4는네트워크지연시간시험환경이다. 송수신단컴퓨터는 Windows7 운영체제와 C언어로개발된 TCP 소켓송수신프로그램으로구성된다. 송수신프로세스는 1:1로연결한다. Fig. 4. Test environment of transmission delay time 송신단프로세스에서의밀리초 (ms) 단위의주기적인전송은송신프로그램의불규칙한처리시간으로인해전체패킷평균약 ±1ms 의송신주기오차를내포함을감수하고총송신패킷은용이한그래프분포식별을위해서 3만개로제한한다. 전송지연시간의측정을위해서송신프로세스는송신패킷에송신시각을삽입하고수신프로세스는수신시각과송신시각의차를계산한다. 절대적인시간차계산을위해서두호스트의시각동기화가필수적이나밀리초단위계산의경우, 정밀한시각동기화에한계가있음을인정한다. 그대안으로모든패킷의지연시간에서최소지연시간을차감한상대적인계산치로추이의분석을하고절대적인최소지연시간은송수신단에패킷분석툴을설치운영하여, 최소지연시간패킷의 송신측 TCP 단의송신시각과 ACK 수신시각 까지의시간의이등분값으로추정한 Transmit Time 과송신단의 Send Time 그리고 수신단의 Receive Time 를합하여측정한다. 첫번째시험은송수신단을 1:1 로연결한 후패킷사이즈는 500Byte, 전송주기는 3ms, 50ms, 100ms 로시험환경을구성하여수행하 고, 동일조건상에서 1KB, 3KB 의패킷용량 환경에서도수행한다. 이를통하여전송주기 별지연시간추이를확인하고 3ms 주기전송 시, 최적의패킷사이즈를확인한다. 두번째시험은 3ms 주기로 1KB 용량의패킷 을전송시, 송신단프로세스의수를 1, 3, 5 개 로하여한수신호스트에전송시, 수신채널 수에따른평균지연시간을비교하여한호스 트의적정한수신처리채널수를확인한다. 3.2 네트워크지연시간측정결과 Table 1 은송수신부가 1:1 로연결되어 30,000 개의패킷을주기적으로전송시지연 시간을나타낸다. Table 1 에서알수있듯이 패킷전송최소및평균지연시간이전송용 량과전송주기에비례함을알수있다. 패킷 의용량은전체패킷의전송지연시간에큰 영향을미치지않으나예상밖으로 3ms 의짧 은전송주기는지연시간을줄이고있음을확 인할수있다. Packet Size 500B 1KB 3KB Table 1. Packet transmission delay time 1:1 connection 30,000 packets Trans Period One Packet Min-Delay (sec) One Packet Avg-Delay (sec) All Packet Total-Delay (sec) 3ms 0.001 0.015 0.031 50ms 0.074 0.498 0.766 100ms 0.353 0.596 0.398 3ms 0.006 0.020 0.061 50ms 0.049 0.120 0.129 100ms 0.704 0.800 0.559 3ms 0.039 0.049 0.052 50ms 0.507 0.528 0.524 100ms 0.812 0.843 0.818 Fig. 5, 6, 7 은송수신부가 1:1 로연결되어 각각전송패킷용량을 500Byte, 1KB, 3KB 로
하고전송주기를달리하여전송했을시한패킷당전송지연시간과첫번째부터 n번째전송패킷까지의총전송지연시간의추이를나타낸것이다. 첫번째부터 n 번째까지의패킷의전송지연 시간을나타낸다. Table 2. Packet transmission delay-n:n connection 30,000 packets Connection One Packet Avg-Delay(sec) All Packet Total Avg-Delay(sec) 1:1 0.020 0.061 3:3 0.117 0.116 5:5 0.112 0.124 Fig. 5. Packet transmission delay-500byte packet Fig. 8. The average packet transfer delay-3ms period Fig. 6. Packet transmission delay-1kb packet Fig. 9. Packet transmission delay time 3:3 connection 3ms period Fig. 7. Packet transmission delay-3kb packet Fig. 5, 6, 7에서첫번째패킷의지연시간과 n번째패킷까지의총지연시간은전송패킷이증가함에따라증가하는것이아니라일정시간을지속적으로유지함을볼수있다. 3ms 전송주기는 50ms, 100ms전송주기에비해전송지연시간이증가추세없이작은값의안정된전송을보임을알수있다. Table 2와 Fig. 8, 9, 10은송수신부를각각 n:n개의프로세스로연결하여 3ms 전송주기로 30,000개의패킷을전송할때의한개및 Fig. 10. Packet transmission delay time 5:5 Connection 3ms period
Table 2에서 3:3, 5:5 연결의전송지연시간은 0.1초정도의아주짧은시간으로서로큰차이가없음을확인할수있으나, 1:1연결과비교하여전송지연시간에 2배이상의큰차이가있음을확인할수있다. Fig. 8, 9, 10에서패킷당및 n번째까지의패킷전송지연시간은 1:1연결의경우전송패킷의증가에따라지연시간이조금씩증가하나, 3:3 및 5:5의경우일정하게변화없이지연시간이지속됨을알수있다. 그리고 n:n 연결의경우, 전송채널별전송지연시간은서로큰차이없이거의같은추이를보임을확인할수있다. Table 3과 Fig. 11, 12, 13은앞서보았던전송패킷용량과전송채널수에따른전송지연시간측정의두가지시험내용을정리한것이다. Receive 시간의구간별전송시간을나타낸다. 0으로표현된값은마이크로초를밀리초단위로반올림하면서나타났다. 전송지연시간의대부분은수신단커널에서수신단응용프로세스로의전송에서지연됨을알수있다. Fig. 11. Transfer step delay sum-the minimum Table 3. Transfer step delay-minimum delay packet-based Link Trans-Condition Send(sec) [snd-wr] 1:1 3:3 5:5 Transmit(sec) Receive(sec) [(ack-snd)/2] [rd-rcv] 500B/3ms 0.000 0.001 0.000 500B/50ms 0.017 0.001 0.056 500B/100ms 0.000 0.106 0.247 1KB/3ms 0.003 0.002 0.001 1KB/50ms 0.000 0.000 0.049 1KB/100ms 0.000 0.001 0.702 3KB/3ms 0.000 0.001 0.038 3KB/50ms 0.000 0.001 0.506 3KB/100ms 0.000 0.001 0.810 1KB/3ms(#1/3) 0.000 0.000 0.105 1KB/3ms(#2/3) 0.000 0.001 0.105 1KB/3ms(#3/3) 0.000 0.001 0.105 1KB/3ms(#1/5) 0.000 0.000 0.111 1KB/3ms(#2/5) 0.000 0.003 0.111 1KB/3ms(#3/5) 0.000 0.000 0.112 1KB/3ms(#4/5) 0.000 0.000 0.111 1KB/3ms(#5/5) 0.000 0.000 0.111 Table 3 과 Fig. 11 은조건별패킷전송최소 지연시간의송신단응용프로세스에서커널 단까지의 Send 시간, 수신단커널까지의 Transmit 시간및수신단응용프로세스까지의 Fig. 12. The average transmission delay per packet Fig. 13. Full packet total transmission delay Fig. 12, 13에서전체 (30,000개) 패킷의총전송지연시간이패킷당평균전송지연시간과모든조건에서유사함을확인할수있다. 이는전체패킷의총전송지연시간은전송패킷의수의증가에따라큰변화가없음을알수있고이번시험의송신이벤트를 30,000회보다더크게증가시켜도큰차이가없음을예측할수있다.
4. 결론본논문에서는전송패킷의용량, 전송주기및송수신채널의수를달리하면서패킷을여러채널에서동시에지속적으로전송하는시험을통하여지연시간을측정하고전송방법에따른결과를비교분석하였다. 패킷용량에따른전송주기별전송시험에서패킷의용량은전체패킷의총전송지연시간에큰영향을주지않았고예상밖으로 3ms 짧은전송주기는전송지연시간을줄이고있음을확인하였다. 송수신채널구성에따른전송시험에서는 3:3, 5:5연결이시속 300km/h 주행시거리로는 8.3m, 시간으로는 0.1초정도의아주짧은전송지연을보이나 1:1연결에비해서는약 2배이상의지연을보임을확인하였다. 두시험에서패킷전송지연시간의대부분은수신단커널에서수신단응용프로세스로의전송과정에서발생함을알수있었고전체패킷의총전송지연시간이패킷당평균전송지연시간과모든조건에서유사함을보여서이번시험의송신이벤트를 30,000 회보다더크게증가시켜도큰차이가없음을예측할수있었다. 후기본논문은국토교통부국토교통과학기술진 [3] K.-M. Yu, J.-A. Kim, H.-S. Ryu, Traffic Test Method for Networked Control System", The Transactions of the Korean Institute of Electrical Engineers vol. 62, No. 5, pp. 688~695, 2013. [4] J.-H. Choi, H. Yoo, One-Way Delay Estimation and Its Application, J. of the Korea Institute of Information Sciences and Engineers, vol. 32, no. 3, pp. 359-369, 2006. [5] W. Cho, H.-K. Choi, "Performance Measurement of IEEE 802.11p based Communication Systems in Large Capacity Transmission", J. of the Korea Institute of Electronic Communication Sciences, vol. 9, no. 12, pp. 1359-1364, 2014. [6] K.-R. Han, D.-W. Jang, K.-R. Kim, S.-E. Sohn, "Development of Analysis Software for Railway Vehicle Event Recorder", J. of the Korea Academia-Industrial cooperation Society, vol. 10, no. 6, pp. 1245-1255, 2009. [7] K.-C. Oh, H.-S. Yang, I.-Y. Choi, S.-J. Lee, B.-W. Bae, "Study on Integrated Operation System for High Speed Track Inspection", spring conference of the Korean Society for Railway, pp. 1000-1005, 2014. [8] S.-C. Kwon, H. Yoo, "Asynchronous UDP: An Approach to Fully Utilize High-Speed Networks", J. of The Korea Institute of Information Sciences and Engineers, pp. 1392-1404, 1998. 흥원에서시행하는철도기술연구사업의 " 철 도인프라의유지보수를위한고속종합검측 기술개발 " 과제로수행된내용입니다. 참고문헌 [1] CEN (2006) EN13848-2, Railway applications - Track - Track geometry quality Part2: Measuring systems - track recording vehicles. [2] S.-Y. Kwon, I.-Y. Choi, J.-C. Yong, D.-S. Kang, I.-D. Yang, "A study on setting up the development goals of the performance of the high-speed track measuring modules", spring conference of the Korean Society for Railway, pp. 680-685, 2014.