로드 밸런싱 알고리즘의 분류
계층 3/4 로드 밸런서는 들어오는 트래픽을 여러 서버에 분산하기 위해 두 가지 주요 알고리즘 유형을 사용한다. 상태비저(Stateless) 로드 밸런서는 개별 패킷에 대해서만 작동하며, 출발지 주소, 포트, IPv6 Flow Label 같은 쉽게 접근 가능한 정보를 서버 번호로 매핑하는 해시 알고리즘을 적용한다. 상태저(Stateful) 로드 밸런서는 세션의 첫 패킷에서 라우팅 결정을 내린 후, {흐름 정보, 서버} 연결을 테이블에 저장하여 동일 세션의 모든 후속 패킷을 같은 서버로 전달한다.
상태비저 알고리즘의 특징과 제약
상태비저 방식은 빠른 처리와 낮은 메모리 오버헤드라는 장점이 있으나, IPv6 확장 헤더와 단편화된 패킷 처리에서 한계가 있다. 특히 Transport 계층 정보(포트 번호)는 IPv6 확장 헤더 뒤에 위치하므로 매번 헤더 체인을 따라가야 한다. 단편화 패킷의 경우 Transport 헤더가 첫 번째 단편에만 존재하므로 해시 기반 분류가 불가능하다. 따라서 상태비저 로드 밸런서는 단편화된 트래픽을 지원하지 못한다.
상태저 알고리즘의 설계 트레이드오프
상태저 방식은 세션의 첫 패킷 이후 IPv6 확장 헤더를 무시할 수 있어 상태비저 방식보다 빠를 수 있다. 그러나 세션 상태를 메모리에 저장해야 하며, FIN/ACK 시퀀스를 감지하지 못해 비활성 타이머로 세션을 정리해야 한다. NAPT를 수행하거나 TCP 상태 추적을 하는 로드 밸런서는 어차피 포트 번호를 수정해야 하므로 상태저 방식의 성능 이점을 얻을 수 없다.