
네트워크 통신 모델에서 4계층, 전송 계층(Transport Layer)을 기반으로 작동하는 네트워크 장비
로드 밸런싱 (Load Balancing)
: 4계층 로드 밸런서는 클라이언트 요청을 여러 서버로 분산하여 트래픽관리
방화벽 (Firewall)
: 4계층 방화벽은 IP 주소와 포트 번호를 기준으로 트래픽을 필터링
NAT (Network Address Translation)
: NAT 장비는 내부 네트워크의 사설 IP 주소를 외부 네트워크의 공인 IP 주소로 또는 그 반대로 변환하는 기능
네트워크 장비나 서버가 특정 클라이언트와의 세션 정보를 관리하기 위해 사용하는 테이블
- 세션 장비는 세션 테이블을 기반으로 운영됨
Inbound(들어오는)와 Outbound(나가는) 경로가 일치해야 함
대칭 경로 요구는 클라이언트와 서버 간 통신에서, 요청과 응답이 동일한 경로를 통해 오가야 한다는 원칙을 의미
IP 주소가 변경되며 확장된 L7 로드 밸런서(ADC)는 애플리케이션 프로토콜 정보도 변경됨
로드 밸런서는 트래픽 분산을 위해 클라이언트 IP를 자신의 IP로 바꿔 서버에 전달함
네트워크 통신 중간 위치에 세션을 기반으로 동작하는 방화벽, NAT, 로드 밸런서와 같은 장비가 있을 경우 네트워크 인프라 뿐만 아니라 시스템 설계와 애플리케이션 개발에도 세션 장비에 대한 고려가 필요함
서버나 장비의 부하를 분산하기 위해 사용되는 장비
로드 밸런서는 네트워크 트래픽을 여러 서버나 장비에 분배하여 부하를 효율적으로 관리하는 역할을 함. 이를 통해 시스템의 안정성과 성능을 유지하며, 단일 서버나 장비에 과부하가 걸리는 것을 방지함.
트래픽 분배 기능
: 로드 밸런서는 들어오는 트래픽을 여러 서버에 고르게 분배해 서버의 부하를 최소화
웹 서버에서의 활용
: 웹 서버에서 가장 많이 사용되며, 다양한 요청을 처리할 때 효율적으로 분산
다양한 분야에서 활용
: 로드 밸런서는 웹 서버 외에도 방화벽 로드 밸런서(FWLB), VPN 로드 밸런서(VPNLB) 등 다양한 네트워크 서비스에서 사용되어, 트래픽을 효율적으로 관리하고 서비스의 안정성을 높임
시스템 확장 시, 큰 장비를 사용하기보다는 작은 장비 여러 대를 묶어 사용하는 것을 선호함. 이 방식은 비용 효율적이며, 내부 부품을 이중화하는 것보다 더 저렴하게 대규모 트래픽을 처리가능
![]()
로드 밸런서는 동작하는 계층에 따라 보통 4계층과 7계층으로 나뉨
클라우드 에서는 L4, L7 밸런싱을 지원하는 컴포넌트를 계층 별로 구분해 전용으로 사용함
일반적으로 로드 밸런서가 동작 하는 방식.
- TCP, UDP 정보, 특히 포트넘버를 기반으로 로드 밸런싱을 수행함
- L7 지원 여부와 상관없이 4계층에 대한 정보로만 분산 처리하는 경우
클라우드에서 예시 : AWS의 NLB(Network Load Balancer)
응용 계층에서 로드 밸런서가 동작하는 방식
- HTTP, FTP, SMTP와 같은 애플리케이션 프로토콜 정보를 기반으로 로드 밸런싱을 수행함
- HTTP헤더 정보, URI와 같은 정보를 기반으로 프로토콜을 이해함
- 이러한 장비를 ADC(Application Delivery Controller)라고하며 프록시 역할을 수행함
클라우드 예시 : AWS의 ALB(Application Load Balancer)
4계층에서 동작하면서 로드밸런서 기능이 있는 스위치
가상 IP를 리얼IP로 변경해주는 역할
로드 밸런서 이지만 스위치처럼 여러개의 포트를 가지고 있음
스위치형 로드밸런서가 가장 대중화되어있음
- 부하분산
- 성능 최적화
- 리다이렉션

TCP Reuse, Connection Pooling
L4 스위치는 TCP, UDP정보를 기반으로 부하를 분산함
- TCP 계층에서의 최적화와 보안 기능도 함께 제공
TCP 레벨의 간단한 DoS 공격을 방어하거나 서버 부하를 줄이기 위해 TCP 세션 재사용과 같이 성능을 높여주는 기능 제공
애플리케이션 계층에서 동작하는 로드밸런서
- L4 스위치와 달리 애플리케이션 프로토콜의 헤더와 내용을 이애하고 동작함
- 이는 다양한 부하분산, 정보수정, 정보 필터링을 가능하게 함
외에도 압축, 콘텐츠 변환 및 재작성, 인코딩 변환 등이 가능하고, 애플리케이션 프로토콜 최적화 기능이 제공됨
프록시는 클라이언트와 서버 사이에 위치하여 중개 역할을 하는 장치 또는 소프트웨어
기법의 종류
- 캐싱 기능
- 압축 기능
- SSL 오프로딩
대표적으로 이미지, 정적 콘텐츠 캐싱
프로토콜을 이해하고 애플리케이션 내용에 대한 분사느 리다이렉션, 최적화를 제공
성능 최적화를 위해 서버에서 수항하는 작업 중 부하가 많이 걸리는 작업을 별도로 수행함

웹 서버에는 콘텐츠 압축 기능이 존재함

보안강화를 위해 SSL 프로토콜의 사용비중의 증가로 웹서버의 암복호화 부하가 증가함
SSL 오프로딩을 통해 암복호화의 부하를 분산시키고 보안을 강화할 수 있음

시스템 성능을 높이거나 용량을 늘려야 할 때 주로 두 가지 방법을 고려함: 스케일 업과 스케일 아웃
스케일 업은 단일 서버나 시스템의 성능을 향상시키는 방법
기존 하드웨어의 CPU, 메모리, 스토리지 등을 업그레이드해서 처리 능력을 높임
장점:
단점:
스케일 아웃은 여러 대의 서버나 노드를 추가해 성능과 용량을 확장하는 방법
여러 대의 서버를 클러스터로 만들어서 처리 능력을 분산
장점:
단점:
따라서
스케일 업은 단일 서버의 성능을 높이고, 스케일 아웃은 시스템 전체의 확장을 가능하게 함
시스템 요구 사항과 예산에 맞춰 적절한 방법을 선택하는 것이 중요
네트워크의 중단에 위치하여 해당 장비를 통과하는 트래픽을 사전에 주어진 정책 조건에 맞추어 허용, 차단하는 장비
- 일반적으로 3, 4계층에서 동작
- 세션을 인지, 관리하는 SPI(Stateful Packet Inspection)엔진 기반으로 동작하는 장비
방화벽은 네트워크에서 트래픽을 정책에 맞게 허용하거나 차단하는 장비 세션 정보를 저장해서 패킷의 인과 관계를 파악하고 정책을 간단히 유지할 수 있음.

방화벽은 세션 테이블을 활용해 네트워크 보안을 유지하고 정책을 간단히 관리
세션 테이블이 없으면 관리가 복잡해지고, 대규모 네트워크에서는 특히 더 어려움
4계층 장비는 세션을 이해하고 세션 테이블을 유지함
이를 통해
패킷을 포워드하거나 드롭하고 어플리케이션 성능을 최적화하며 보안을 강화할 수 있음
애플리케이션의 세션 시간과 서비스 방향성을 고려하고, 비대칭 경로를 피하는 것은 매우 중요함
세션 테이블은 메모리에 저장되므로, 메모리 사용률을 적절히 유지하기 위해 타임아웃 값을 설정함
- 타임아웃 불일치:
세션 장비의 세션 타임아웃 값이 어플리케이션의 세션 타임아웃 값보다 짧으면 문제가 발생함

이때 패킷을 강제로 통과시킬 수 있는데, 강제로 통과시킨다고 하더라도 세션 장비에서는 비정상 통신으로 판단해 패킷을 차단하고, 반대 방향으로 데이터가 들어오면 정책에 막힐 수 있음
세션 만료 시간 증가
세션 테이블에 없는 ACK 패킷 처리
세션 타임아웃 시 세션 종료 통보


이런 세션 유지 기능은 더미 패킷을 주기적으로 보내거나 트래픽이 일정 시간 동안 없을 대만 더미 패킷을 보내거나 더 복잡한 로직을 이용해 애플리케이션 상태를 체크하는 기능을 구현할 수 도 있음
대개는 네트워크의 안정을 높이기위해 네트워크 회선과 장비를 이중화하게 됨
이때 패킷이 지나가는 경로 여러개의 경로가 인바운드 패킷과 아웃 바운드 패킷의 경로가 같거나 다를 수 있음
- 인 바운드과 아웃 바운드가
- 동일한 장비를 통과하는 것을 대칭 경로 라고 함 (Sysmmetric Path)
- 다른 장비를 통과하는 것을 비대칭 경로 라고 함 (Asysmmetric Path)
- 대칭경로일 때
이중화된 네트워크에서는 세션 장비가 세션 테이블을 만들어 패킷의 흐름을 관리함
따라서
패킷이 들어오고 나갈 때 동일한 장비를 통과해야 함
하지만 비대칭 경로가 발생하면 세션 장비 간의 패킷 흐름이 일관되지 않아 서비스에 문제가 발생할 수 있음
세션 테이블을 동기화하면 두 장비가 하나처럼 동작
--> 비대칭 경로에서도 정상적으로 작동
장점 : 패킷 경로를 변경할 필요가 없음
단점 : 패킷 응답 시간이 세션 동기화 시간보다 짧을 경우, 정상적으로 동작하지 않을 수 있음
따라서 이 방법은 비교적 응답 시간이 긴 인터넷 게이트웨이에서 방화벽이 사용될 때 유용합니다.
비대칭 경로가 발생했을 때, 세션 장비는 다양한 방법으로 이를 보정할 수 있음
EX)예를 들어, 인바운드 패킷이 통과하지 않았는데 아웃바운드 패킷이 장비로 들어온 경우, 인바운드 패킷을 통과한 다른 세션 장비 쪽으로 패킷을 보내 경로를 보정
--> 비대칭 경로 문제를 해결
현대 프로토콜은 대부분 하나의 통신에 대해 하나의 세션만을 사용하지만, 특정 목적에 따라 두 개 이상의 세션을 사용하는 경우도 있음
이런 경우, 네트워크 장비는 서로 다른 두 세션이 하나의 통신을 위해 사용되고 있음을 인식해야 함
만약 두 세션 중 하나가 끊기거나 세션 테이블에서 삭제되면, 단방향 통신만 가능하거나 통신이 불가능할 수 있음
프로토콜은 일반적으로 데이터 프로토콜과 컨트롤 프로토콜로 구분됨
- 데이터 프로토콜
: 데이터를 전송하는 프로토콜- 컨트롤 프로토콜
: 데이터의 전송을 제어하는 프로토콜
현대 프로토콜은 보통 데이터와 컨트롤 기능을 하나의 헤더나 별도 메시지로 처리함. 하지만 일부 오래된 프로토콜이나 특수 목적의 프로토콜은 데이터와 컨트롤 기능이 분리될 수 있음
FTP는 컨트롤 프로토콜과 데이터 프로토콜이 완전히 분리된 대표적인 예
FTP는 두 가지 모드를 제공
- Active 모드
- Passive 모드
Passive 모드는 Active 모드의 단점을 보완하기 위해 만들어짐