Extended BSD Socket API Supporting Kernel-level RTP

커널 레벨 RTP를 지원하는 확장 BSD 소켓 API

  • 최문선 (중앙대학교 컴퓨터공학과) ;
  • 김경산 (중앙대학교 컴퓨터공학과) ;
  • 김성조 (중앙대학교 컴퓨터공학과)
  • Published : 2006.06.01

Abstract

Due to the evolution of wired and wireless communication technologies and the Internet, multimedia services such as Internet broadcast and VOD have been prevalent recently. RTP is designed to be suitable for transmission of real-time multimedia data on the Internet by IETF While a variety of applications have utilized different RTPs implemented as a library, embeddedRTP is RTP-based kernel-level protocol that resolved performance issues of this kind of RTPs. This paper proposes the ExtendedERTP protocol based on existing embeddedRTP. This new protocol resolves a couple of issues such as packet processing overhead and buffer requirement and combines its APIs with BSD socket APIs which have been widely utilized in network applications. This paper demonstrates that this integration makes it possible to transmit real-time multimedia data through the accustomed interface of BSD socket APIs with nominal extra overhead. This paper also proposes a scheme for improving packet processing time by 15$\sim$20% and another scheme for reducing memory requirement for packet processing to about 3.5%, comparing with those of embeddedRTP.

유무선 통신 기술 및 인터넷의 발전으로 인터넷 방송, VOD 등과 같은 멀티미디어 서비스가 일반화되고 있다. RTP는 인터넷상에서 실시간 멀티미디어 데이타를 전송하는데 적합하도록 IETF에서 제정한 프로토콜이다. RTP는 주로 라이브러리 형태로 구현되어 다양한 애플리케이견에 사용되나, 라이브러리 형태로 사용되는 RTP는 성능 측면에서 문제가 있어 이를 개선한 프로토콜이 embeddedRTP이다. 본 논문에서는 기존의 커널 레벨 RTP인 embeddedRTP를 기반으로 그 문제점을 보완하며, API를 네트워크 애플리케이션에서 널리 사용되는 BSD 소켓 API와 통합하고 그 성능을 개선한 ExtendedERTP를 제안한다. embeddedRTP의 API가 BSD 소켓 API에 통합되어 기존의 네트워크 스택이 RTP를 내장하게 되면, 사용자들은 별도의 RTP 라이브러리를 사용할 필요 없이 익숙한 BSD 소켓 API 형태의 인터페이스를 통해 실시간 데이타를 송수신할 수 있다. 본 논문은 또한 embeddedRTP에 비해 패킷 처리 속도를 15$\sim$20% 가량 향상시키는 방안과 패킷 처리에 필요한 메모리 요구량을 기존의 3.5% 수준으로 줄일 수 있는 방안을 제시한다.

Keywords

References

  1. H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson, 'RTP : A Transport Protocol for Real-Time Applications,' IETF RFC 1889, 1996
  2. J. Rosenberg and H. Schulzrinne, 'Timer Reconsideration for Enhanced RTP Scalability,' INFOCOM '98, 17th Annual Joint Conference of the IEEE Computer and Communications Societies, Proceedings IEEE, pp. 233-241, vol. 1, 1998 https://doi.org/10.1109/INFCOM.1998.659659
  3. P. Sharma, D. Estrin, S. Floyd and V. Jacobson, 'Scalable Timers for Soft State Protocols,' INFOCOM '97, 16th Annual Joint Conference of the IEEE Computer and Communications Societies, Proceedings IEEE, pp. 222-229, vol. 1, 1997 https://doi.org/10.1109/INFCOM.1997.635133
  4. 남성준, 이병래, 김태우, 김태윤, '실시간 멀티미디어 데이터 전송을 위한 SRTPIO 모듈 설계 및 구현,' 한국정보과학회 논문지, 제28권, 제4호, pp. 621-630, 2001
  5. 선동국, 김태웅, 김성조, '내장형 시스템의 원활한 멀티미디어 서비스 지원을 위한 커널 수준의 RTP', 한국정보과학회 논문지, 제10권, 제6호, pp. 460-471, 2004
  6. H. Schulzrinne, A. Rao, and R. Lanphier, 'Real Time Streaming Protocol(RTSP),' RFC 2326, Apr. 1998
  7. ITU-T Recommendation H.323: 'Packet based multimedia communications systems' Feb. 1998
  8. J. Rosenberg, H. Schulzrinne, G. Carmarillo, A. Johnston R. Sparks, M. Handley, and E. Schooler, 'SIP : Session Initiation Protocol,' RFC 3261, 2002
  9. University College London, 'UCL Common Multimedia Library,' http://www-mice.cs.ucl.ac.uk/multi medial software/cornmon/in dex.html
  10. oRTP, 'oRTP-a Real-time Transport Protocol Stack under LGPL,' http://www.linphone.org/ortp/
  11. Lucent Technologies, 'Bell Labs, RTPlib,' http://www-out.bell-labs.com/project/RTPlib/
  12. A. Meixner, P. Yin, D. Onyango, and A. Vahdat, 'Design and Evaluation of a Kernel-Level SCTP Implementation,' Submitted for publication. May 2001
  13. M. Molteni and M. Villari, 'Using SCTP with Partial Reliability for MPEG-4 Multimedia Streaming,' Proc. of BSDCon Europe 2002, Oct. 2002
  14. J. Erkkila, 'Real-Time Audio Servers on BSD Unix Derivatives,' Master's Thesis in Information Technology, Univ. of Jyvaskyla, Filand, June 2005
  15. Linux DVB API Version 4 (www.linuxtv.org), CE Linux Forum, 2005
  16. MPEG4IP, 'MPEG4IP - Open Streaming Video and Audio,' http://www.mpeg4ip.net
  17. Apple, 'Apple - Public Source - Darwin Streaming Server,' http://developer.apple.com/ darwin/projects/streaming/