개발 공부
(Network) Dynamic LoadBalancing Algorithm 본문
728x90
✅ Dynamic Load Balancing: 개요
SET에서 Dynamic 모드는 Hyper-V Port + Address Hashing을 혼합하여 사용합니다.
이 두 가지를 조합하여 부하 분산 효율과 안정성을 동시에 추구하죠.
🧠 어떻게 작동하나요?
1. 기본 분배 단위는 “흐름(Flow)”
- 하나의 흐름 = 동일한 5-tuple (Source IP, Destination IP, Source Port, Destination Port, Protocol)
- 각 흐름은 하나의 물리 NIC에 할당됨 (flow-to-NIC mapping)
- 여러 세션/흐름은 NIC들 간에 자동 분산됨
예:
세션 1 (10.0.0.1:1000 → 10.0.0.10:443) → NIC1
세션 2 (10.0.0.1:1001 → 10.0.0.11:443) → NIC2
세션 3 (10.0.0.1:1002 → 10.0.0.12:443) → NIC1
...
2. Flowlet-aware 방식 (간접적으로 작동)
- 실제 구현은 흐름을 TCP idle 구간 단위로 나누어 부하 분산을 결정할 수도 있음
- 이 덕분에 하나의 vNIC에서 나가는 트래픽도 여러 NIC으로 분산 가능
3. 수신 방향은 Hyper-V Port 기준
- Tx (전송): Dynamic 알고리즘에 따라 흐름 기반으로 분산
- Rx (수신): vPort(vNIC) → 물리 NIC 1:1 고정 (즉, 수신은 아직 Hyper-V Port 방식)
✔ 그래서 동기화되지 않은 부하 분산일 수 있지만, 전체적으로는 더 나은 분산 성능 제공
📊 그림으로 보면:
┌──────────────┐
vNIC-A ────►│ Flow 1 (NIC1)│
│ Flow 2 (NIC2)│
│ Flow 3 (NIC1)│
└──────────────┘
- 하나의 vNIC도 여러 물리 NIC으로 나갈 수 있음
- 하지만 들어오는 트래픽은 특정 NIC로만 수신됨 (SET의 제한)
✅ Dynamic의 장점
항목설명
| 트래픽 균형 | 세션/흐름 단위로 정교하게 분산됨 |
| 적응성 | 새로운 흐름에 따라 실시간 재분배 |
| 세션 안정성 | 흐름 단위라 세션이 중간에 분리되지 않음 |
| MAC 위치 변화 최소화 | vNIC 전체를 다른 NIC로 옮기지 않음 |
❗ 제한사항
- Rx 방향은 여전히 Hyper-V Port 방식이므로 NIC failover 상황엔 수신 경로가 바뀌면서 MAC 이동 발생 가능
- 세션 수가 적거나 단일 플로우만 쏠리는 경우 Dynamic의 이점은 작아질 수 있음
✨ 결론
- Dynamic은 기존 Hyper-V Port가 가진 “vNIC = NIC” 제한을 넘어서,
- 트래픽을 흐름 기반으로 동적으로 분산해 NIC 사용률을 최적화하고
- 파워온/오프 시 MAC 이동의 부작용을 줄이는 데도 유리합니다.
728x90
'windows' 카테고리의 다른 글
| (Network) SET teaming.Hyper-V LoadBalancing 이용 시 스위치 power off 와 power on의 차이 (0) | 2025.07.24 |
|---|---|
| (Network) How to overcome SET failover (3) | 2025.07.07 |
| (Network) SET, Switch-Embedded Teaming, Hyper-V Port (1) | 2025.07.07 |
| (Network) LAG, LACP, LBFO, SET (0) | 2025.07.07 |
| (Failover Cluster) DNS의 역할 (0) | 2025.05.30 |
Comments