[1.짧게 말해서]
본인이 인프라 영역에서 일을 하든, 개발자로 일을 하든 L4라는 말은 정말 많이 들어봤을 것이다. 필자도 신입 시절 회의에 참여했을때, "L4를 증설해야한다." 던지, "L4 레벨에서 처리해야 한다." "L4로 들어온다." 등의 말을 들으며 알아듣지도 못했지만, 필사적으로 회의록을 작성하곤 했다.
"L4는 네트워크 7계층 중 4계층에 해당하는..." 이런 엄밀한 정의는 일단 집어치우자. 당장 회의 때 무슨 말인지 알아 먹는게 중요하니까. 어떤 의미인지 대략적으로 이해한 후, 실제 현장에서 어떻게 사용되는지 확인한 뒤 깊게 이해하면 된다.
L4는 로드밸런서이다. 정확히 말하면, 우리가 미팅이나 현장에서 주로 사용하는 L4라는 단어는 OSI 4계층을 의미하는 것이 아닌, L4 스위치를 의미하고 L4 스위치는 로드밸런서로 사용된다. 로드 밸런싱 이외에도 트래픽 차단, 흐름제어 등의 기능도 가지고 있긴하지만, 메인은 결국 로드 밸런싱이다.
이 때 L4는 4계층에 위치하니, TCP와 UDP와 같은 프로토콜을 통해 데이터를 전송한다. 하지만, 역시 중요한 건 TCP니 UDP니 뭐니 하는게 아닌 L4레벨에서 로드밸런싱은 IP와 Port를 이용하여 이루어진다는 것이다.
3계층인 네트워크 계층의 IP 레벨에 Port 정보를 모두 활용하여 트래픽을 분산시키는 역할을 한다.
이 때, VIP, Vport 개념이 등장한다. 흔히 생각하는 VIP(vert important person)이 아닌 VIP(Virtual IP)이다.
가상의 IP로 L4 뒷단의 여러 서버를 하나의 서버처럼 보이게 하는 IP 주소이다. 즉 해당 IP를 통해서 요청을 보내면 L4가 알아서 VIP로 묶인 뒷단의 서버에 로드밸런싱을 해주게 된다.
하나의 VIP에 여러개의 Real IP가 묶여있다고 보면 된다.
간단하게 도식화 해보면 아래와 같다.