Abstract
In this paper, we designed a TCP/IP based ring buffer system that can stably transfer bulk data streams in the unstable network environments. In the scheme we proposed, The observation data stream generated and output by each radio observatory's backend system as a UDP frame is stored as a UDP packet in a large capacity ring buffer via a socket buffer in the client system. Thereafter, for stable transmission to the remote destination, the packets are processed in TCP and transmitted to the socket buffer of server system in the correlation center, which packets are stored in a large capacity ring buffer if there is no problem with the packets. In case of errors such as loss, duplication, and out of order delivery, the packets are retransmitted through TCP flow control, and we guaranteed that the reliability of data arriving at the correlation center. When congestion avoidance occurs due to network performance instability, we also suggest that performance degradation can be minimized by applying parallel streams.
본 논문에서는 불안정한 네트워크 환경에서 안정적으로 대용량 데이터 스트림을 전송할 수 있는 TCP/IP 기반 링 버퍼 시스템을 설계하였다. 우리가 제안한 방식에서 각 전파천문대의 백엔드 시스템으로부터 UDP 프레임으로 생성 및 출력되는 관측 데이터 스트림은 클라이언트 시스템 내의 소켓 버퍼를 경유해 대용량 링 버퍼에 UDP 패킷으로 저장된다. 이후 목적지에 해당하는 상관센터로의 안정적인 전송을 위해 해당 패킷은 TCP로 전송되고 상관센터 내의 서버 시스템은 소켓 버퍼에 수신된 패킷에 이상이 없으면 대용량 링 버퍼에 저장한다. 패킷 손실, 중복 및 순서 역전 등의 이상이 발생할 경우 TCP의 흐름 제어를 통해 패킷은 재전송되며 상관센터에 도착한 데이터는 신뢰성을 보장받게 된다. 또한 네트워크 성능 불안정으로 인한 혼잡 회피 발생 시 병렬 스트림 적용을 통해 성능 저하가 최소화될 수 있도록 하였다.