TCP Offload Engine
NIC에서 사용되는 기술로, 운영체제 상에서 처리되는 TCP/IP 스택을 네트워크 컨트롤러로 내려서 처리하는 것이다. 네트워크 처리가 크게 필요한 기가비트나 10G 기가비트 같은 고속 네트워크에서 유용하게 사용된다.
TCP 프로토콜을 처리하는데 있어서 오버헤드를 가져오는 요소는 다음과 같다.
이러한 과정에서의 CPU 오버헤드 감소를 위해 NIC에서 직접 처리를 하도록 전용 하드웨어를 구현한 것이 TCP Offload Engine이다. 즉, CPU가 다른 작업을 할 수 있도록 NIC에서 TCP 프로토콜을 처리하는 것이다.
TOE 구현은 오프로드 정도에 따라 부분적 오프로딩과 전체 오프로딩으로 구분된다. 부분적 오프로딩은 체크섬 및 데이터 송수신 관련한 기능만을 구현한 것이다.
이에 반해 전체 오프로딩은 TCP/IP 패킷을 처리하기 위한 TCP 연결 설정, 타임 아웃, 오류 처리와 같이 TCP/IP 스택을 하드웨어로 구현한 것이다.