초록 close

최근 이더넷 기술은 기가비트급의 대역폭을 넘어서 10 기가비트급으로 빠른 속도로 발전하고 있다. 이러한 고속 네트워크 환경에서는 호스트 CPU가 운영체제내의 TCP/IP를 처리하는 기존의 방식은 호스트 CPU에 많은 부하를 야기하며, 그 결과 실제 수행되어야 할 사용자 응용 프로그램에 충분한 컴퓨팅 파워를 제공하지 못한다. 이러한 문제점의 해결을 위해 네트워크 어댑터에서 TCP/IP를 처리하도록 하는 TCP/IP Offload Engine (TOE)이 연구되고 있다. 본 논문에서는 TOE를 위한 고성능의 경량 TCP/IP를 구현하였으며, 이를 임베디드 시스템에 실제 적용하여 검증 및 실험을 수행하였다. 본 논문에서 구현한 고성능의 경량 TCP/IP는 기존 TCP/IP의 기본적인 기능들인 흐름제어, 혼잡제어, 재전송, 지연 ACK, Out- of-Order 패킷처리 등을 지원한다. 또한 본 논문에서 구현한 고성능의 경량 TCP/IP는 기가비트 이더넷 MAC에서 하드웨어적으로 지원하는 TCP segmentation offload(TSO), Checksum offload(CSO), 인터럽트 coalescing 기능 등을 이용하도록 구현하였다. 그리고 데이타를 전송할 때, 호스트 사용자 메모리에서 네트워크 어댑터의 메모리로 데이타를 복사하는 부하를 제거하였다. 또한 재전송해야 할 경우를 대비해 전송한 데이타에 대한 복사본을 네트워크 어댑터의 메모리에 저장하는 방법을 개선하여 지연시간 및 대역폭 성능을 향상시켰다. 본 논문에서 구현한 고성능의 경량 TCP/IP를 이용한 소프트웨어 기반 TOE는 6% 이하의 호스트 CPU 사용률과 453Mbps의 최대 대역폭을 보인다.


Today, Ethernet technology is rapidly developing to have a bandwidth of 10Gbps beyond 1Gbps. In such high-speed networks, the existing method that host CPU processes TCP/IP in the operating system causes numerous overheads. As a result of the overheads, user applications cannot get the enough computing power from the host CPU. To solve this problem, the TCP/IP Offload Engine (TOE) technology was emerged. TOE is a specialized NIC which processes the TCP/IP instead of the host CPU. In this paper, we implemented a high-performance, lightweight TCP/IP (HL-TCP) for the TOE and applied it to an embedded system. The HL-TCP supports existing fundamental TCP/IP functions; flow control, congestion control, retransmission, delayed ACK, processing out-of- order packets. And it was implemented to utilize Ethernet MAC’s hardware features such as TCP segmentation offload (TSO), checksum offload (CSO) and interrupt coalescing. Also we eliminated the copy overhead from the host memory to the NIC memory when sending data and we implemented an efficient DMA mechanism for the TCP retransmission. The TOE using the HL-TCP has the CPU utilization of less than 6% and the bandwidth of 453Mbps.