피드로 돌아가기
Hacker NewsHacker News
Infrastructure

8-bit AVR MCU 기반 SLIP 및 TCP/IP 스택 구현을 통한 웹 서버 호스팅

Hosting a website on an 8-bit microcontroller

2026년 5월 17일5advanced

Context

24MHz 클럭과 8kB RAM이라는 극심한 리소스 제약 환경에서 웹 서버를 구현하려는 시도. 표준 Ethernet의 Manchester encoding으로 인한 오버헤드가 MCU의 I/O 처리 속도(12MHz)를 초과하는 병목 지점 발생.

Technical Solution

  • 물리 계층의 한계를 극복하기 위해 고속 Ethernet 대신 저속 Serial 통신 기반의 SLIP(RFC 1055) 프로토콜 채택
  • 메모리 부족 문제를 해결하기 위해 IPv6의 설계 원칙을 차용하여 Packet Fragmentation 처리를 완전히 배제한 경량 IP 헤더 구현
  • 응답 헤더 생성을 위해 수신 패킷의 Source와 Destination 주소를 단순히 스왑하는 방식으로 연산 복잡도 최소화
  • TCP 상태 머신 및 재전송 로직을 MCU 내부에 직접 구현하여 Connection State를 추적하는 커스텀 TCP 스택 구축
  • HTTP 파싱 오버헤드를 제거하기 위해 요청 URL에 관계없이 고정된 응답을 반환하는 Hardcoded Response 구조 설계
  • 외부 접근을 위해 VPS와 WireGuard 가상 네트워크로 연결하고 Reverse Proxy를 통해 /mcu 경로의 트래픽만 포워딩하는 인프라 구성

1. 하드웨어 I/O 한계 도달 시 물리 계층 프로토콜을 단순화하여 CPU 부하를 낮출 수 있는가?

2. 리소스 제약 환경에서 복잡한 표준 규격(Fragmentation 등)을 제거하고 필수 기능만 남기는 전략적 단순화가 가능한가?

3. 불안정한 엔드포인트 보호를 위해 외부 Proxy 계층을 두어 직접적인 TCP SYN 공격 등의 리스크를 분산했는가?

원문 읽기