L4스위치 원암 구성 종류 및 패킷 흐름 정리 (Both-NAT, DSR, DNAT)

이번 글에서는 네트워크 인프라 구축 시 자주 사용되는 L4스위치 원암 구성에 대해 알아보겠습니다. L4스위치 원암 구성은 부하분산(Load Balancing)을 효율적으로 처리하기 위한 핵심 토폴로지입니다.

1. 원암(One-Arm) 구성이란?

네트워크 구성에서 자주 사용되는 ‘원암(One-Arm) 구성’은 백본 스위치(L3 Switch)에 L4 스위치를 연결하고, 부하 분산(Load Balancing) 대상이 되는 서버들도 동일한 스위치에 함께 연결하는 방식을 말합니다.

L3 스위치(Master/Backup) 중심의 L4 스위치 및 웹 서버 원암(One-Arm) 이중화 구성도

원암(One-Arm) 명칭의 유래

구성도 상에서 스위치를 중심으로 L4 스위치가 한쪽 팔(Arm)처럼 단일 링크로 연결되어 있는 구조를 취하기 때문에 원암 구성이라고 부릅니다.

2. 원암 부하분산 구성 종류

(1) 재귀호출 (Both-NAT)

재귀호출은 L4 스위치가 부하분산 패킷을 서버로 전달하는 방식 중 하나입니다. 이때 출발지 IP(Source IP)와 목적지 IP(Destination IP)를 모두 변경하여 전송합니다.

재귀호출의 패킷 제어 방식

외부에서 부하분산용 가상 IP(VIP)로 요청 패킷이 유입됩니다. 이때 목적지 IP는 실제 서버의 IP로 변경됩니다. 동시에 출발지 IP는 L4 스위치의 IP로 변경됩니다.

이러한 방식으로 요청 패킷과 응답 패킷의 경로를 제어합니다. 모든 패킷이 반드시 L4 스위치를 거치도록 강제하는 것이 핵심입니다.

원암 구성에서의 재귀호출(Both-NAT) 패킷 흐름 및 IP 변환 예시

제조사별 기능 명칭 비교

이 방식은 네트워크 장비 제조사 및 운영체제에 따라 다양한 명칭으로 불립니다.

  • Alteon: 설정 포트 기준 변환은 PIP(Proxy IP)라 부릅니다. 특정 IP 대역만 변환하는 방식은 nwclass라고 합니다.
  • F5 (BIG-IP): SNAT (Secure NAT) 기능으로 제공됩니다.
  • Citrix (NetScaler): RNAT (Reverse NAT) 기능으로 제공됩니다.
  • 펌킨네트웍스: FNAT (Full NAT) 기능으로 제공됩니다.
  • 파이오링크: 용도와 구성에 따라 lan-to-lan 또는 both-nat 명칭으로 제공됩니다.

(2) 재귀호출(Both-NAT)의 요청 패킷 흐름

재귀호출 환경에서 유저의 요청 패킷이 실제 서버까지 전달되는 세부 과정은 다음과 같습니다.

① 유저 → L3 스위치 구간 (유저 요청 유입)

유저가 서비스 대상인 부하분산 가상 IP(VIP: 192.168.100.100)로 패킷을 전송합니다. 이때 출발지 IP(SIP)는 유저 고유의 IP(192.168.10.50)가 됩니다.

② L3 스위치 → L4 스위치 구간 (L2 스위칭 및 패킷 전달)

L3 스위치가 수신한 패킷을 L4 스위치로 전달합니다. 이 과정에서 출발지 및 목적지 IP 주소는 그대로 유지됩니다. 동일 서브넷 내 통신이므로 해당 네트워크 구간에 맞춰 MAC 주소만 변환됩니다.

재귀호출(Both-NAT) 구조에서의 단계별 IP 및 MAC 주소 변환 과정

③ L4 스위치 → 웹 서버 구간 (Both-NAT 적용)

L4 스위치는 부하분산 알고리즘에 따라 실제 처리를 담당할 서버를 선정합니다. 그리고 패킷을 변환하여 전달합니다. 주소 변환 과정은 다음과 같습니다.

  • 출발지 IP(SIP) 변환: 기존 유저 IP(192.168.10.50)에서 L4 스위치의 IP(192.168.100.1)로 변경됩니다. 서버의 응답 패킷이 다시 L4 스위치로 반드시 복귀할 수 있도록 경로를 강제하기 위함입니다.
  • 목적지 IP(DIP) 변환: 가상 IP(192.168.100.100)에서 실제 웹 서버의 IP(192.168.100.10)로 변경됩니다.

(3) 재귀호출(Both-NAT)의 응답 패킷 흐름

웹 서버가 요청을 처리한 후 유저에게 응답 패킷을 반환하는 세부 과정은 다음과 같습니다.

④ 웹 서버 → L4 스위치 구간 (서버 응답 반환)

요청을 처리한 웹 서버가 응답 패킷을 전송합니다. 요청 패킷 수신 당시 출발지 IP는 L4 스위치의 IP(192.168.100.1)였습니다. 따라서 서버는 목적지 IP(DIP)를 L4 스위치의 IP로 지정하여 패킷을 반환합니다.

⑤ L4 스위치 → L3 스위치 구간 (역변환 및 라우팅)

응답 패킷을 수신한 L4 스위치는 세션 테이블을 참조합니다. 그리고 IP 주소를 기존 상태로 역변환(NAT)합니다.

  • 목적지 IP(DIP) 변환: L4 스위치의 IP에서 실제 요청을 보냈던 기존 클라이언트 IP(192.168.10.50)로 변경됩니다.
  • 출발지 IP(SIP) 변환: 웹 서버의 실제 IP(192.168.100.10)에서 클라이언트가 최초 요청했던 부하분산 가상 IP(VIP: 192.168.100.100)로 변경됩니다.

재귀호출(Both-NAT) 구조에서의 단계별 응답 패킷 및 주소 역변환 과정

⑥ L3 스위치 → 유저 구간 (최종 응답 전달)

L3 스위치는 변환이 완료된 패킷을 유저에게 최종 전달합니다. 이 과정에서 IP 주소는 그대로 유지됩니다. 네트워크 구간에 따라 MAC 주소만 변경되면서 유저(192.168.10.50)에게 최종 도달합니다.

(4) 재귀호출(Both-NAT) 방식의 장단점

재귀호출 방식의 장점

  • 유연한 네트워크 토폴로지 구성 가능 실제 서버와 L4 스위치가 서로 다른 서브넷(대역)에 위치해도 구성할 수 있습니다. 출발지와 목적지 IP를 모두 변환하여 경로를 강제하기 때문입니다. 대다수의 네트워크 환경에서 라우팅 이슈 없이 안정적으로 패킷을 전달합니다.

재귀호출 방식의 단점

  • 클라이언트 원본 IP 식별 불가 L4 스위치에서 출발지 IP를 자신의 IP로 변환하여 서버로 전달합니다. 이로 인해 실제 서버단에서는 모든 유저의 IP가 L4 스위치 IP로만 식별됩니다. 결과적으로 서버 자체에서 특정 유저 IP를 파악하거나 보안 목적으로 차단하기 어렵습니다.
  • 물리적 홉(Hop) 수 및 L4 부하 증가 부하분산 흐름상 모든 요청과 응답 패킷이 예외 없이 L4 스위치를 통과해야 합니다. 이 과정에서 물리적인 홉 수가 증가하게 됩니다. 또한 모든 트래픽을 처리해야 하므로 L4 스위치의 자원 소모도 함께 커집니다.

(5) DSR (Direct Server Return)

DSR(Direct Server Return)은 재귀호출 방식과 명확한 차이점이 있습니다. 서버가 응답 패킷을 보낼 때 L4 스위치를 거치지 않습니다. 응답 패킷을 클라이언트에게 직접 전달하는 방식입니다.

DSR 방식의 기본 패킷 처리

L4 스위치에 DSR을 설정하면 요청 패킷 전송 시 주소를 최소한으로 조작합니다. 출발지 및 목적지 IP 주소는 일절 변경하지 않습니다. 오직 데이터 링크 계층의 목적지 MAC 주소만 변경하여 서버로 전달합니다.

원암 구조에서의 DSR(Direct Server Return) 패킷 흐름 및 서버 루프백 설정 구조

DSR 구현을 위한 필수 서버 설정

이 방식을 정상적으로 구현하려면 서버 측에 다음과 같은 특수 설정이 반드시 요구됩니다.

  • 루프백(Loopback) IP 설정: 서버는 자신의 루프백 인터페이스(lo0) IP를 설정해야 합니다. 이때 IP는 L4 스위치의 부하분산 가상 IP(VIP: 192.168.100.100)와 동일하게 지정합니다. 그래야 목적지 IP가 VIP로 들어온 패킷을 서버가 자신의 것으로 인식하고 처리할 수 있습니다.
  • 서브넷 및 ARP 설정: 서버 루프백 IP의 서브넷 마스크는 반드시 /32 (255.255.255.255)로 지정해야 합니다. 또한 동일 네트워크 내의 다른 장비들과 IP 충돌이 발생하지 않아야 합니다. 이를 위해 해당 루프백 IP에 대해 외부로 ARP 응답을 하지 않도록(ARP 무시) 설정을 적용해야 합니다.

(6) DSR (Direct Server Return)의 요청 패킷 흐름

DSR 방식 환경에서 유저의 요청 패킷이 실제 서버까지 전달되는 세부 과정은 다음과 같습니다.

① 유저 → L3 스위치 구간 (유저 요청 유입)

유저가 서비스 대상인 부하분산 가상 IP(VIP: 192.168.100.100)로 패킷을 전송합니다. 이때 출발지 IP(SIP)는 유저 고유의 IP(192.168.10.50)가 됩니다.

② L3 스위치 → L4 스위치 구간 (L2 스위칭 및 패킷 전달)

L3 스위치가 수신한 패킷을 L4 스위치로 전달합니다. 이 과정에서 출발지 및 목적지 IP 주소는 그대로 유지됩니다. 동일 서브넷 내 통신이므로 해당 네트워크 구간에 맞춰 MAC 주소만 변환됩니다.

DSR(Direct Server Return) 구조에서의 요청 패킷 전달 및 주소 변환 과정

③ L4 스위치 → 웹 서버 구간 (L2 변환 및 전달)

L4 스위치는 알고리즘에 따라 실제 처리를 담당할 서버를 선정합니다. 그리고 패킷을 전달합니다. DSR 방식의 특징에 따라 IP 주소는 일절 변경되지 않습니다. 오직 MAC 주소만 변환되어 전송됩니다.

  • 목적지 MAC 주소 변환: 패킷이 해당 서버로 물리적으로 도달할 수 있어야 합니다. 이를 위해 목적지 MAC 주소가 실제 웹 서버의 MAC 주소(예: BB:BB)로 변경됩니다.
  • IP 주소 유지: 목적지 IP(DIP)는 클라이언트가 최초 요청한 가상 IP(VIP: 192.168.100.100)로 유지됩니다. 출발지 IP(SIP) 또한 기존 클라이언트 IP(192.168.10.50)로 변함없이 유지됩니다.

(7) DSR (Direct Server Return)의 응답 패킷 흐름

웹 서버가 요청을 처리한 후 유저에게 응답 패킷을 직접 반환하는 세부 과정은 다음과 같습니다.

④ 웹 서버 → L3 스위치 구간 (L4 스위치 우회 및 직접 반환)

요청 패킷을 수신한 웹 서버는 클라이언트에게 응답 패킷을 전달합니다. DSR 방식의 핵심 특징에 따라 동작합니다. 응답 패킷은 L4 스위치를 거치지 않습니다. 디폴트 게이트웨이인 L3 스위치로 직접 패킷을 전송합니다.

  • IP 주소 설정: 서버 루프백 인터페이스에 가상 IP(VIP)가 설정되어 있습니다. 따라서 출발지 IP(SIP)는 가상 IP(192.168.100.100)가 됩니다. 목적지 IP(DIP)는 최초 요청을 보냈던 유저의 IP(192.168.10.50)로 지정됩니다.
DSR(Direct Server Return) 구조에서의 응답 패킷 전달 및 L4 스위치 우회 흐름

⑤ L3 스위치 → 유저 구간 (최종 응답 완료)

L3 스위치는 웹 서버로부터 수신한 응답 패킷을 유저에게 라우팅합니다. 이 과정에서 IP 주소의 변환은 일어나지 않습니다. 구간별 네트워크 환경에 맞춰 MAC 주소만 변경됩니다.

결과적으로 유저(192.168.10.50)는 자신이 요청했던 가상 IP(192.168.100.100) 주소로부터 정상적인 응답 패킷을 수신하게 됩니다.

(8) DSR (Direct Server Return) 방식의 장단점

DSR 구성의 주요 장점

  • 물리적 홉(Hop) 수 단축 및 L4 부하 감소 응답 패킷이 L4 스위치를 우회하여 클라이언트에게 직접 전달됩니다. 이 동작 덕분에 네트워크의 물리적 홉 수가 단축됩니다. 대규모 트래픽 환경에서 L4 스위치의 처리 부하를 획기적으로 줄일 수 있습니다.
  • 클라이언트 원본 IP 식별 가능 L4 스위치가 출발지 IP를 변환하지 않고 유지합니다. 따라서 실제 서버단에서 서비스를 요청한 유저의 실제 IP를 그대로 확인할 수 있습니다. 이는 보안 정책 적용이나 로그 분석을 진행할 때 매우 유리합니다.

DSR 구성의 주요 단점

  • L3 대역 환경에서의 구성 복잡성 L4 스위치와 서버가 서로 다른 네트워크 대역(L3 구간)에 위치하는 경우가 있습니다. 이때는 단순한 루프백 설정만으로 통신할 수 없습니다. 이를 해결하려면 ‘L3 DSR’ 방식을 도입해야 합니다. 하지만 이 방식은 L4 스위치와 서버 양측 모두에 복잡한 터널링(캡슐화) 설정을 요구합니다. 서버 운영체제 환경에 따라 구현 자체가 불가능할 수도 있습니다.
  • 서버 엔지니어와의 긴밀한 협업 요구 DSR 구성을 위해서는 인프라 구축 단계에서 기술 협업이 필수적입니다. 서버 엔지니어가 각 서버에 루프백 IP 설정을 하고 ARP 응답 제어 설정을 직접 적용해야 하기 때문입니다. 따라서 담당 엔지니어 간 구조적 이해와 조율이 반드시 뒷받침되어야 합니다.

(9) DNAT 방식

DNAT 방식은 가장 일반적인 부하분산 형태 중 하나입니다. L4 스위치가 패킷을 처리할 때 출발지 IP는 변환하지 않고 그대로 둡니다. 대신 목적지 IP(Destination IP)만 실제 서버의 IP로 변환하여 부하분산하는 방식을 말합니다.

디폴트 게이트웨이 설정의 필요성

이 방식에서는 패킷의 목적지 IP만 변경됩니다. 따라서 실제 서버가 응답할 때 패킷이 다시 L4 스위치를 거쳐 나가도록 경로를 강제해야 합니다. 이를 위해 서버의 디폴트 게이트웨이(Default Gateway) IP를 L4 스위치의 IP(192.168.100.1)로 설정합니다.

원암 구조에서의 DNAT 패킷 흐름 및 서버 디폴트 게이트웨이 설정 구조

DNAT의 응답 패킷 경로 제어

디폴트 게이트웨이가 L4 스위치로 지정되면 서버 동작이 달라집니다. 서버가 유저에게 응답할 때 패킷이 게이트웨이인 L4 스위치로 자동 전송됩니다.

패킷을 받은 L4 스위치는 응답 패킷의 출발지 IP를 다시 가상 IP(VIP)로 역변환합니다. 변환이 완료된 패킷은 최종적으로 유저에게 안전하게 전달됩니다.

(10) DNAT 방식의 요청 패킷 흐름

DNAT 방식 환경에서 유저의 요청 패킷이 실제 서버까지 전달되는 세부 과정은 다음과 같습니다.

① 유저 → L3 스위치 구간 (유저 요청 유입)

유저가 서비스 대상인 부하분산 가상 IP(VIP: 192.168.100.100)로 패킷을 전송합니다. 이때 출발지 IP(SIP)는 유저 고유의 IP(192.168.10.50)가 됩니다.

② L3 스위치 → L4 스위치 구간 (L2 스위칭 및 패킷 전달)

L3 스위치가 수신한 패킷을 L4 스위치로 전달합니다. 이 과정에서 출발지 및 목적지 IP 주소는 그대로 유지됩니다. 동일 서브넷 내 통신이므로 해당 네트워크 구간에 맞춰 MAC 주소만 변환됩니다.

DNAT 구조에서의 요청 패킷 전달 및 목적지 IP 변환 과정

③ L4 스위치 → 웹 서버 구간 (목적지 IP 변환 및 전달)

L4 스위치는 부하분산 알고리즘에 따라 실제 처리를 담당할 서버를 선정합니다. 그리고 패킷을 전달합니다. DNAT 방식의 특징에 따라 출발지 IP는 유지되고 목적지 IP만 변환됩니다.

  • 목적지 IP(DIP) 변환: 가상 IP(VIP: 192.168.100.100)에서 실제 웹 서버의 IP(192.168.100.10)로 변경됩니다.
  • 출발지 IP(SIP) 유지: 재귀호출 방식과 다르게 동작합니다. 출발지 IP는 클라이언트의 실제 IP(192.168.10.50)가 변함없이 그대로 유지됩니다.

(11) DNAT 방식의 응답 패킷 흐름

웹 서버가 요청을 처리한 후 유저에게 응답 패킷을 반환하는 세부 과정은 다음과 같습니다.

④ 웹 서버 → L4 스위치 구간 (게이트웨이를 통한 응답 반환)

요청을 처리한 웹 서버가 응답 패킷을 전송합니다. 서버의 디폴트 게이트웨이가 L4 스위치(192.168.100.1)로 지정되어 있습니다. 따라서 응답 패킷은 디폴트 게이트웨이 경로를 따라 L4 스위치로 전달됩니다.

⑤ L4 스위치 → L3 스위치 구간 (출발지 IP 역변환 및 라우팅)

L4 스위치는 게이트웨이 설정을 통해 응답 패킷을 수신합니다. 그리고 세션 테이블을 기반으로 IP 주소를 역변환(NAT)하여 상위 L3 스위치로 전달합니다.

  • 출발지 IP(SIP) 변환: 웹 서버의 실제 IP(192.168.100.10)에서 클라이언트가 최초 요청했던 부하분산 가상 IP(VIP: 192.168.100.100)로 변경됩니다.
  • 목적지 IP(DIP) 유지: 기존 클라이언트 IP(192.168.10.50)가 변동 없이 그대로 유지됩니다.
DNAT 구조에서의 응답 패킷 전달 및 출발지 IP 역변환 과정

⑥ L3 스위치 → 유저 구간 (최종 응답 전달)

L3 스위치는 변환이 완료된 패킷을 유저에게 최종 전달합니다. 이 과정에서 IP 주소는 변동 없이 유지됩니다. 상위 네트워크 구간에 따라 MAC 주소만 변경되면서 유저(192.168.10.50)에게 도달합니다.

(12) DNAT 방식의 장단점

DNAT 구성의 주요 장점

  • 클라이언트 원본 IP 식별 가능 재귀호출 방식과 다르게 동작합니다. L4 스위치에서 출발지 IP를 변환하지 않습니다. 덕분에 서버단에서 서비스를 요청한 유저의 실제 IP를 그대로 확인할 수 있습니다.
  • 간소한 서버측 설정 DSR 방식처럼 복잡한 루프백 설정이나 ARP 제어 명령을 적용할 필요가 없습니다. 서버의 디폴트 게이트웨이를 L4 스위치 IP로 지정하는 것만으로 구성이 완료되어 관리가 매우 편리합니다.

DNAT 구성의 주요 단점

  • L4 스위치 동시 장애 시 서버 통신 고립 서버의 외부 유출 경로(디폴트 게이트웨이)가 L4 스위치로 강제됩니다. 만약 L4 스위치 장비의 동시 장애나 이중화 절체(Failover) 실패가 발생하면 리스크가 큽니다. 서버의 모든 외부 통신이 함께 차단되는 단일 장애점(SPOF) 구조가 될 수 있습니다.
  • 동일 서브넷 내 부하분산 불가 이슈 서버와 동일한 네트워크 대역에 있는 내부 사용자가 VIP로 서비스를 요청할 때 문제가 발생합니다. 서버는 응답 시 게이트웨이(L4 스위치)로 패킷을 보내지 않습니다. 대신 동일 대역(L2) MAC 통신을 통해 유저에게 직접 응답하게 됩니다.

동일 대역 이슈의 결과 및 해결 방안

이 경우 유저는 요청한 VIP가 아닌 실제 서버의 IP(Real IP)로부터 패킷을 받습니다. 결과적으로 비대칭 라우팅 형태가 되어 TCP 핸드셰이크가 성립되지 않아 통신이 불가능해집니다.

이를 해결하려면 내부 대역 통신에 한해 제한적으로 재귀호출(Both-NAT)을 혼용 설정하는 등 추가 조치가 필요합니다.

맺음말

지금까지 L4 스위치 원암(One-arm) 구성의 세 가지 대표적인 방식인 재귀호출(Both-NAT), DSR, DNAT의 메커니즘과 장단점을 살펴보았습니다.

각 방식은 네트워크의 토폴로지 구조, 서버측 설정의 편의성, 그리고 클라이언트 원본 IP 확보 여부에 따라 명확한 트레이드오프(Trade-off)를 가지고 있습니다. 따라서 인프라를 설계할 때는 서비스의 특성과 운영 환경을 종합적으로 고려하여 최적의 방식을 선택하는 것이 중요합니다.

관련하여 궁금한 점이 있거나 실무 적용 시 문의 사항이 있다면 댓글로 남겨주시기 바랍니다. 긴 글 읽어주셔서 감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다