Design and Implementation of TOE Module Supporting Binary Compatibility for Standard Socket Interfaces

표준 소켓 인터페이스에 대한 바이너리 호환성을 제공하는 TOE 지원 모듈의 설계 및 구현

  • 강동재 (한국전자통신연구원 인터넷서버그룹) ;
  • 김재열 (한국전자통신연구원) ;
  • 김강호 (한국전자통신연구원) ;
  • 정성인 (한국전자통신연구원 시스템소프트웨어연구팀)
  • Published : 2005.11.01

Abstract

TCP/IP is the most commonly used protocol to communicate among servers, and is used in a wide range of applications. Unfortunately, Data transmission through TCP/IP places a very heavy burden on host CPUs. And it hardly makes another job to be processed. So, TOE(TCP/IP Offload Engine) is considered in many servers. But, most of TOE modules tends to not support binary compatibility for standard socket interfaces. So, it has problems that existing applications should be modified and recompiled to get advantage of TOE device. In this paper, to resolve upper problems, we suppose design and implementation of TOE module supporting binary compatibility for standard socket interfaces. Also, it can make a usage of multiple TOEs and NICs simultaneously.

멀티미디어 데이터를 위한 스트리밍 기술이나 차세대 기술로서 고려되는 유비쿼터스 관련 기술들의 급격한 발달로 네트워크를 사용하는 대용량 데이터 서버들이 증가하는 추세이다. 대용량 데이터의 전송에 있어서 TCP/IP 프로토콜의 처리는 CPU에 많은 부하를 야기시키며 이를 해결하기 위한 방안의 하나로 TOE 디바이스를 적용하고 있다. 하지만 기존의 TOE 지원 모듈의 경우, 해당 TOE 디바이스에 의존적인 인터페이스의 지원으로 인하여 기존의 네트워크 어플리케이션이 TOE의 잇점을 얻기 위해서는 해당 TOE 디바이스가 제공하는 인터페이스를 사용하여 기존 프로그램을 수정하거나 재 컴파일하는 과정을 수행해야 한다는 단점을 갖는다. 본 논문에서는 상기 문제점을 해결하기 위하여 표준 소켓 인터페이스에 대한 바이너리 호환성을 제공하는 TOE 지원 모듈의 설계 및 구현을 제안한다. 본 논문에서 제안하는 TOE로 지원 모듈은 리눅스의 네트워크 프로토콜 레이어에 구현되며 기존의 네트워크 어플리케이션이 수정없이 TOE 디바이스의 잇점을 사용할 수 있도록 하고 일반 NIC과 TOE 디바이스의 동시 사용을 지원한다.

Keywords