L4 로드밸런싱의 구성 방식에 대해 정리해 보았습니다.
L4 - Load Balancing
요즘 이래저래 바쁘게 지내다보니, 블로그에 하나씩 공부해서 정리하겠다는 약속도 못지키고 있었습니다. 꽤 전부터 정리하던 글을 이제서야 어렴풋이나마.. 마무리 짓고 올려봅니다. 이번 내
zigispace.net
네떡지기님의 블로그를 참고하였습니다.
L4 구성 방식은 크게 4가지로 분류됩니다.
1. Router Mode
2. Bridge / Transparent Mode
3. One-Arm Mode
4. DSR Mode
Router Mode
L4와 서버와의 IP 대역대가 다른 경우입니다. [주로 L4가 서버의 게이트웨이를 가지고 있습니다.]
[Request]
1. 클라이언트에서 L4로 서비스 요청
2. L4에서 Real Server로 전송 [DNAT]
3. 다른 대역대이므로 SMAC, DMAC 모두 변환
[Response]
1. Real Server에서 L4로 응답 [목적지 IP 대역대가 다르므로 L4 게이트웨이로 전달]
2. L4에서 SIP가 L4 VIP로 변환 [SNAT]
3. 다른 대역대이므로 SMAC, DMAC 모두 변환
Bridge/Transparent Mode
L4와 서버와의 IP 대역대가 같은 경우입니다. [주로 라우터 또는 L3가 서버의 게이트웨이를 가지고 있습니다.]
[Request]
1. 클라이언트에서 L4로 서비스 요청
2. L4에서 Real Server로 전송 [DNAT]
3. 같은 대역대이므로 DMAC만 변환
[Response]
1. Real Server에서 L4로 응답 [목적지 IP 대역대가 다르므로 게이트웨이로 전달]
2. L4를 거치면서 SIP가 L4 VIP로 변환 [SNAT]
3. 동일 대역이므로 MAC 변환 없음
One-Arm Mode
L4가 Inline이 아닌 One-Arm 형태로 빠져있는 구성입니다. [ L4의 부하를 줄일 수 있고 L4의 고장 시에도 통신이 가능한 장점이 있습니다.]
[Request]
1. 클라이언트에서 L4로 서비스 요청
2. L4에서 Real Server로 전송을 위해 DIP를 Real Server로 NAT [DNAT]
3. Real Server에서 L4로의 전송을 위해 SIP를 L4 IP Pool로 NAT [SNAT]
[Response]
1. Real Server에서 L4의 IP Pool로 전달
2. L4에서 User로 전송을 위해 SIP를 Real Server에서 L4 VIP로 NAT [SNAT]
3. L4에서 User로 전송을 위해 DIP를 L4 IP Pool에서 User IP로 NAT [DNAT]
DSR (Direct Server Return) Mode
User가 서버로 Request할 경우에는 L4를 거쳐가나 Response에는 L4를 거치지 않고 직접 통신하는 방식 [L4 VIP와 Real Server의 Loopback IP가 같은 구조]
[Request]
1. 클라이언트에서 L4로 서비스 요청
2. L4에서 Real Server로 전송 시 SIP/DIP는 변경되지 않음
3. SMAC/DMAC 변환
[Response]
Real Server에서 응답할때 SIP : Server의 Loopback IP [ = L4 VIP]
1. L4 VIP와 Server Loopback IP를 동일하게 설정 [ Service는 Loopback으로 활성화]
2. Server에서 응답을 할 때 Service IP로 Packet을 생성하고 ARP를 기반으로 Frame을 생성한다.
3. SIP는 Loopback IP [ Service IP] , SMAC은 Real IP인 10.11의 MAC으로 설정 [MAC C]
4. DIP는 USER IP , DMAC은 Gateway로 설정된다.
★ 나가는 세션의 관리가 되지 않음