임베디드 시스템상에서 Lightweight TCP/IP를 이용한 TCP/IP Offload Engine의 구현

현재 네트워크 기술이 기가비트급의 속도를 넘어 급속히 발전하고 있다. 그러나 호스트에서 TCP/IP를 처리하는 기존의 방식은 고속 네트워크 환경에서 호스트 CPU에 많은 부하를 야기한다. 이러한 문제를 해결하기 위해 네트워크 어댑터에서 TCP/IP를 처리하는 TCP/IP Offload Engine(TOE)에 대한 연구가 최근 활발히 진행되고 있다. 본 논문에서는 두 가지의 소프트웨어 기반 TOE를 기가비트 이더넷 환경 하에서 개발하였다. 하나는 임베디드 리눅스를 사용하여 구현한 TOE이고, 다른 하나는 Lightweight TCP/IP(lwIP)를 사용하여 구현한 TOE이다. 임베디드 리눅스를 사용한 TOE는 문맥 전환(context switch), 프로세스 대기 및 활성화 그리고 운영체제 자체의 부하로 인하여 62Mbps의 낮은 대역폭을 보였다. 본 논문에서는 임베디드 리눅스를 사용한 TOE의 성능을 개선하기 위하여 운영체제 없이 lwIP를 이용하여 TOE를 구현하였다. 그리고 이러한 lwIP를 이용한 TOE의 성능을 높이기 위하여 lwIP의 메모리 복사를 제거하고, 지연 ACK 기능과 TCP Segmentation Offload(TSO)기능을 추가하였으며, lwIP가 큰 데이타를 전송할 수 있도록 수정하였다. 그 결과, lwIP를 이용한 TOE는 194Mbps의 대역폭을 보였다.