L4 로드밸런싱은 Layer 4(TCP와 UDP)에서 IP와 Port를 활용하여
서버부하분산을 하는 것을 의미
적합한 Virutal Server IP와 Port를 목적지로 들어온다면 골고루 서버에 부하 분산합니다.
<F5 Networks의 L4 Virtual Server Protocol 정의>
TCP를 사용할 경우 사용자와 서버가 논리적인 Connection(이하 커넥션)을 맺을 수 있도록 중간자의 입장에서
3-way handshake 실시를 지원합니다.
사용자와 서버가 생성하여 던지는 SYN, SYN/ACK, ACK Flag Packet을 순서대로 전달하죠.
'3-way handshake 실시를 지원한다'는 모호한 표현을 쓴 이유는 F5 Networks Switch처럼 3-way handshake에
적극적으로 개입할 수 있는 L4 스위치도 있지만
매우 소극적으로 IP와 Port를 활용한 로드밸런싱 / 커넥션 생성만 하는 L4 스위치도 존재하기 때문입니다.
로드밸런싱의 기준점이 IP와 Port이기 때문에 TCP/UDP의 Header를 분석하여 로드밸런싱에 활용하지는 않습니다.
그래서 프로토콜 헤더를 통해 로드밸런싱하기보다 해당 프로토콜들의 특성으로 인한 행동을 제어하는 편입니다.
예를 들어 3-way handshake를 제어하거나 커넥션을 언제 끊을 것인지, 커넥션을 얼마나 유지할 것인지,
Connection Time out에 도달하면 어떻게 할 것인지 등을 제어합니다.
이처럼 L4 로드밸런싱은 IP와 Port를 활용해 부하분산을 실시하는 것을 의미하며
TCP / UDP의 특징을 활용한 그 밖의 부가 행동에 초점이 맞추어져 있음을 알 수 있습니다.