TOE

최승혁·2022년 6월 20일
0
post-thumbnail

TCP Offload Engine

정의

NIC에서 사용되는 기술로, 운영체제 상에서 처리되는 TCP/IP 스택을 네트워크 컨트롤러로 내려서 처리하는 것이다. 네트워크 처리가 크게 필요한 기가비트나 10G 기가비트 같은 고속 네트워크에서 유용하게 사용된다.

TCP 프로토콜을 처리하는데 있어서 오버헤드를 가져오는 요소는 다음과 같다.

  • 3-way handshaking
  • checksum, squence num
  • 슬라이딩 윈도우 프로토콜
  • 연결 해제

이러한 과정에서의 CPU 오버헤드 감소를 위해 NIC에서 직접 처리를 하도록 전용 하드웨어를 구현한 것이 TCP Offload Engine이다. 즉, CPU가 다른 작업을 할 수 있도록 NIC에서 TCP 프로토콜을 처리하는 것이다.

구현

TOE 구현은 오프로드 정도에 따라 부분적 오프로딩과 전체 오프로딩으로 구분된다. 부분적 오프로딩은 체크섬 및 데이터 송수신 관련한 기능만을 구현한 것이다.

이에 반해 전체 오프로딩은 TCP/IP 패킷을 처리하기 위한 TCP 연결 설정, 타임 아웃, 오류 처리와 같이 TCP/IP 스택을 하드웨어로 구현한 것이다.

출처: 하늘땅별땅

profile
그냥 기록하는 블로그

0개의 댓글