819. STT (Stateless Transport Tunneling) 가상화 망 패킷 오프로드 LSO 지원 목적 망

핵심 인사이트: VXLAN(UDP 껍데기)이 오버레이 가상망 전쟁에서 다 이긴 것 같지만, 가상머신(VM)을 돌리는 서버의 메인 CPU는 죽어 나가고 있었다. 패킷에 박스를 씌우고 뜯는 캡슐화 포장 작업을 CPU 소프트웨어가 다 하느라 서버가 뻗은 것이다. VMWare 천재들은 꼼수를 냈다. "야, 서버 랜카드 하드웨어 칩셋 안에 이미 덩치 큰 TCP 패킷을 지가 알아서 100개로 착착 가위질해 주는 기능(TSO/LSO)이 내장돼 있잖아! 껍데기 포장을 UDP 말고 TCP 모양으로 감쪽같이 속여버리면, 랜카드가 속아 넘어가서 지가 알아서 다 포장해 주겠지!" 서버 CPU를 100% 구원해 낸 랜카드 기만술의 절정, 그것이 STT다.

Ⅰ. 기존 터널링(VXLAN)의 맹점: CPU의 택배 포장 과로사

  • 오버레이 망에서 VM이 64KB짜리 거대한 짐(데이터)을 밖으로 보내려 합니다.
  • 랜선을 탈 때 패킷의 최대 크기는 1.5KB(MTU)이므로 이 거대한 짐을 1.5KB짜리로 잘게 40조각 썰어야 합니다(단편화).
  • VXLAN의 비극: VXLAN은 포장지가 'UDP'입니다. 불행히도 대부분의 컴퓨터 랜카드(NIC)는 TCP만 자동으로 썰어주는 기능이 있고, UDP 박스는 자를 줄 모릅니다. 그래서 결국 컴퓨터 메인 뇌(서버 CPU)가 소프트웨어로 땀을 뻘뻘 흘리며 64KB 데이터를 40개로 조각내고, 거기에 일일이 40번의 VXLAN 껍데기를 포장하느라(Encapsulation) 과부하가 걸립니다.

Ⅱ. STT (Stateless Transport Tunneling)의 개념과 마법 🌟

VMWare 산하의 Nicira에서 개발한 이 터널링 기술의 유일한 목적은 **"어떻게 하면 기존 깡통 랜카드의 하드웨어 성능(TCP 썰기 기능)을 사기 쳐서 빼먹을 수 있을까?"**에 꽂혀 있습니다.

1. MAC-in-TCP 가짜 껍데기 속임수 (MAC-in-Fake TCP) 🌟

  • STT는 오리지널 L2 이더넷 프레임을 포장할 때, 박스 겉면을 진짜 TCP 헤더처럼 완벽하게 위장한 껍데기로 씌워버립니다.
  • 사기극의 전말:
    • STT 소프트웨어가 64KB짜리 거대한 L2 데이터 덩어리 1개에다가 커다란 가짜 'TCP 헤더' 1개를 딱 씌워서, 서버 바닥에 있는 랜카드(NIC)로 툭 던집니다.
    • 랜카드는 겉면을 보고 "오! TCP 패킷이네! 내가 전문이지!" 하고 완벽히 속아 넘어갑니다.
    • 랜카드의 자체 칩셋 하드웨어 엔진(TSO / LSO, Large Send Offload)이 윙~ 돌아가며, CPU 도움 하나도 없이 지가 알아서 이 거대 덩어리를 1.5KB짜리 조각 40개로 빛의 속도로 난도질하고 복사해서 랜선 밖으로 날려버립니다.

2. Stateless (무상태)의 아이러니

  • 이름에 'Stateless(무상태)'가 들어간 이유는, 겉모습은 TCP(연결지향, 상태 확인)를 흉내 내어 랜카드를 속였지만, 실제로는 3-Way Handshake 연결 확인이나 에러 체크를 단 1도 하지 않고 UDP처럼 그냥 막 던지는 쿨한 무상태(Stateless) 프로토콜로 작동하기 때문입니다. (진짜 TCP처럼 꼼꼼히 확인하면 속도가 느려지니까 겉 껍질만 베낀 것입니다.)

Ⅲ. STT 도입의 압도적 장점과 한계

  • 장점 (오프로드의 극의): 거대한 트래픽이 쏟아져도 컴퓨터 서버의 CPU는 포장 업무를 랜카드 하드웨어에 다 떠넘겼으므로(Offload) 점유율이 바닥을 치고 본업인 VM 서비스 연산에 집중할 수 있습니다. VMWare NSX 초기 모델에 핵심적으로 투입되었습니다.
  • 한계 (비운의 도태):
    1. 가짜 TCP 패킷을 만들다 보니, 중간 언더레이망 라우터 방화벽들이 "어? 이거 TCP인데 통신 상태가 이상하네? 불량 패킷인가?" 하고 버려버리는 일이 종종 터졌습니다.
    2. 인텔(Intel) 같은 랜카드 제조사들이 "알았어, 우리가 다음 세대 랜카드 칩셋부터는 VXLAN(UDP)도 썰어주는 기능 칩에 넣어줄게!" 라며 신형 칩(VXLAN Offload)을 찍어내기 시작했습니다.
    • 결국 랜카드가 스스로 VXLAN을 썰어주게 되면서, 굳이 TCP로 사기를 치던 STT 기술은 존재 이유가 사라져 역사의 뒤안길로 사라졌습니다.

📢 섹션 요약 비유: 서버 CPU는 공장 '사장님'이고, 랜카드는 물건을 포장해 썰어주는 '자동화 커팅 기계'입니다. 커팅 기계는 구형이라 오직 '네모 상자(TCP 패킷)'만 인식해서 자동으로 썰어줍니다. 사장님이 '동그란 상자(VXLAN/UDP)'를 가져가면 기계가 작동을 안 해서, 사장님이 직접 손으로 밤새 칼질을 해야 했습니다(CPU 과부하). STT 기술은 사장님의 눈물겨운 꼼수입니다. 동그란 상자 겉면에 '이건 네모 상자임'이라고 그림을 그려서(가짜 TCP 헤더 위장) 기계에 밀어 넣습니다. 멍청한 커팅 기계(랜카드 TSO 엔진)는 완벽히 속아 넘어가 요란한 소리를 내며 동그란 상자를 알아서 100조각으로 다 썰어줍니다. 사장님(CPU)은 드디어 칼을 내려놓고 침대에 누워 편히 쉴 수 있게 된 극한의 하드웨어 기만술(Offload)입니다.