본문 바로가기
네트워크 (LAN,WAN)

L4/L7 스위치의 주요 기능 (부하분산)

by 날으는물고기 2009. 1. 14.

L4/L7 스위치의 주요 기능 (부하분산)


서버 로드 발랜싱 기능은 여러 대의 서버를 마치 하나의 서버처럼 동작시킴으로써 성능을 쉽게 확장하게 하고, 서버의 장애 발생시에도 타 서버로 운영이 가능하게 함으로써 신뢰성을 향상시키기 위한 방법입니다.

여러 대의 서버들을 리얼서버(real server)라고 부르고, 리얼서버들의 집합을 클러스터 (cluster) 혹은 가상 서버(virtual server)라고 부릅니다.

서버 로드 발랜싱의 예를 아래의 그림으로 설명하여 봅시다.
위의 구성에서는 웹 서비스 (HTTP, TCP port = 80)와 이메일 서비스 (SMTP, TCP port=25)의 두 가지 종류에 대하여 서버 로드 발랜싱을 제공합니다. SLB 구성방법은 설치의 관점에 따라 여러 가지로 분류할 수 있습니다. 우선 네트워크 설정을 기준으로 브릿지 (bridge mode)방식과 라우팅(routing mode) 방식으로 나눌 수 있는 반면에, 물리적인 포트 연결 차원에서 외팔 (one-armed) 방식과 양팔(two-armed ) 방식이 있습니다.

  기준 세부 방식
  네트워크 설정
브릿지 (bridge mode) 방식
라우팅 (routing mode) 방식
  포트 연결 외팔 (one-armed) 방식
양팔 (two-armed ) 방식
브릿지 방식은 가상서버와 리얼서버의 네트워크 대역이 동일한 경우를 말하며, 라우팅 방식는 두 네트워크 대역이 다른 경우를 의미합니다. 예를 들어 위의 그림에서 가상서버의 IP (VIP)는 192.168.10.1/24 이고, 각각의 리얼서버는 동일한 192.168.10.x/24 (x=2,3,4) 입니다. 따라서, 위 그림 < SLB의 기본구성 >은 브릿지 방식의 SLB 입니다.

브릿지 방식인 경우에는 외부의 고객이나 관리자가 가상서버 및 리얼서버로 직접적인 접속이 가능합니다. 또한, 리얼서버에서도 인터넷과 같은 외부망으로 접속이 가능합니다. 브릿지 방식은 관리의 편리성이 높인 반면에, 외부의 보안에 취약하다는 것이 단점입니다.

라우팅 방식에서는 가상서버와 리얼서버의 네트워크 대역이 다릅니다. 따라서, L4/L7 스위치는 양변의 네트워크 대역에 대한 게이트웨이 역할을 수행합니다. 라우팅 방식에서는 리얼 서버들의 기본 게이트웨이 주소는 L4/L7 스위치 자신이 됩니다. 이러한 구성에서는 리얼서버로 직접적인 접속을 막기 위하여 사설 IP 대역을 많이 사용하고 있습니다. 외부에서 접속하기 위해서는 각 리얼서버에 NAT를 수행합니다. 라우팅 방식은 관리의 편리성이 낮은 반면에, 외부의 보안에 강하다는 장점이 있습니다.

포트연결을 기준으로 하는 분류에서 외팔방식이란 SLB를 위하여 L4에 연결되는 포트 구성이 한 개의 포트를 사용하는 경우를 말합니다. 위 그림 < SLB의 기본구성 >에서는 두개의 포트를 사용하므로 양팔방식으로 분류됩니다. 반면, 외팔방식의 구성에서는 1개의 포트만 사용하여 SLB를 수행합니다. 일반적으로 외팔방식과 양팔방식의 데이터의 흐름은 차이가 없으며 몇 개의 포트를 사용하느냐가 관건입니다. 한 개의 포트를 사용하더라도 내부적으로 가상적인 두개의 포트를 사용하는 것과 동일합니다.


캐싱 리다이렉션 기능은 내부 망에서 외부 인터넷으로 향하는 웹(WWW) 트래픽을 가로채어 캐싱 서버에게 전달하는 기능을 말합니다. 내부의 호스트 컴퓨터는 캐싱서버를 프락시로 등록할 필요가 없이 투명한(trapsparent) 방식으로 캐싱 서비스를 할 수 있습니다. 또한, 캐싱 리다이렉션을 통하여 웹 트래픽 (TCP=80 port)만을 처리하기 때문에 캐싱 서버에서 불필요한 패킷 처리를 막아주어 응답속도를 빠르게 해 줄 수 있습니다.
투명 케싱 서버의 동작은 아래와 같습니다. 사용자의 웹 트래픽 (Url 페이지) 요구는 L4스위치에 의하여 우선적으로 캐싱 서버에 보내집니다. 해당 트래픽의 URL이 캐싱 서버에 저장되어 있으면(hit), 캐싱 서버가 즉시 응답하여준다. 만약 캐싱 서버에 저장된 내용이 아니라면(missed) 캐싱 서버가 프락시로 동작하여 해당 URL에서 페이지를 요청하여 다시 사용자에게 전달하고, 캐싱 서버 자체에 저장합니다.
경우에 따라, RTSP (Real time streaming protocol:TCP,UDP=554), NNTP (Net news transfer protocol: TCP=119) 트래픽에 대하여 그룹을 등록하여 서비스 할 수 있습니다. 인터넷 트래픽 뿐아니라 임의의 응용프로그램에 대하여 포트(port) 설정을 통하여 리다이렉션 서비스를 구현할 수 있습니다.
L4 스위치는 패킷 재전송 (Packet Redirection) 기술에 기반하고 있습니다. 이 패킷 재전송기술을 이용해 투명한 캐싱 서버동작이 가능하며 또한, 로드 발랜싱 기능을 통하여 캐싱 서버들의 집합(서버군)을 관리하는 것이 가능합니다. 이런 방법으로 하나의 L4 스위치에 캐싱 서버를 여러 대로 확장 할 수 있습니다.


인터넷의 보안을 생각할 때 방화벽은 필수 사항입니다. 그러나, 방화벽 한 대로 서비스를 제공할 경우, single point of failure가 발생할 수 있습니다. 또한, 애플리케이션 수준의 프록시를 이용하여 높은 보안 수준을 제공하기 위해서 많은 부하가 방화벽에 걸리게 되어 응답시간의 지연을 초래합니다. 이러한 문제점들은 최근의 전자상거래 환경에서는 사업을 수행하는데 치명적인 걸림돌이 될 수 있습니다.

FWLB의 목적은 크게 아래의 3가지로 요약할 수 있습니다.
- 하나 이상의 방화벽을 추가하여 가용성 및 성능을 향상시킵니다.
- 동적인 로드 분산을 통해 응답속도를 향상시킵니다.
- 시스템 변경 없이 방화벽 확장 및 관리가 쉽도록 합니다.

FWLB를 구성하기 위하여, 공인망(Public network)과 사설망(Private network) 사이에 2대의 L4 스위치(상위 L4 스위치, 하위 L4 스위치)를 배치합니다. 상위 L4 스위치는 외부망에서 내부망으로 들어오는 패킷에 대한 부하 분산을 담당하며, 하위 L4 스위치는 내부망에서 외부망으로 나가는 패킷에 대한 부하 분산을 담당합니다.

FWLB의 중요한 특징 중 하나는 동일한 세션에 속하는 패킷들은 모두 동일한 방화벽으로 전송되어야 한다는 점입니다. 각 방화벽은 세션의 상태정보를 통하여 패킷 필터링을 수행하기 때문에, 현재 상태에 맞지않은 패킷이 들어올 경우 부적합한 패킷(illegal packet)으로 간주하여 삭제하게 됩니다. 즉, L4 스위치에 의해 들어오고 나가는 패킷이 서로 다른 방화벽으로 전송되면 세션을 유지할 수 없게 됩니다. 따라서, 상위 L4 스위치와 하위 L4 스위치는 입출력되는 패킷의 경로를 기억하여 경로를 지속적으로 유지할 수 있도록 합니다.

또한 DMZ 구간이 있는 경우에도 경로를 지속적으로 유지하기 위해여 DMZ 구간에 별도의 L4 스위치가 배치됩니다.

VPN 게이트웨이는 네트워크상의 배치와 패킷흐름이 방화벽과 유사한 점이 많지만, 부하분산 입장에서는 매우 다른점이 존재합니다. VPN 게이트웨이는 일반적으로 server/client 개념으로 본점-본점간 혹은 본점-지점간의 배치되는데, 특히 본점-지점간의 구성이 일반적입니다. 본점-지점 구성에서 본점으로의 터널링 접속은 지점단의 VPN게이트웨이에서 접속하는 방법과 원격 엑세스 사용자 (remote access users)에서 접속하는 방법이 있습니다. 어떤 경우이든, 본점에 접속하기 위하여 사용하는 터널링 프로토콜은 IPSEC, L2TP, PP2P 등이 있습니다. 아래의 그림은 본점에 VPN 게이트웨이들에 대하여 VPNLB를 구성한 예입니다.

L4 스위치의 네트워크 부하 분산기능 (NLB)는 다수의 인터넷 접속 라인을 사용하여 네트워크의 속도와 안정성을 개선하기 위한 기능입니다. NLB기능은 기존에 L4 스위치에서 제공하는 기능은 아니었으나, 사용자의 요구에 의하여 점차로 확산되는 추세라고 할 수 있습니다.

하나의 ISP(Internet Service Provider)의 인터넷 접속라인을 사용할 경우, 실제 기업이나 학교의 인터넷 접속 환경에서는 아래와 같은 문제점들이 발생합니다.
- 네트워크의 속도가 느려 업무에 지장이 많습니다.
- 네트워크의 다운으로 인한 인터넷 사용의 곤란 발생합니다.
- 네트워크 속도 업그레이드에 대한 경제적 부담이 가중합니다.
- 불필요한 트래픽으로 업무상 중요한 인터넷 사용에 지장이 발생합니다.

NLB는 L4 스위치를 이용하여 여러 개 ISP들의 전용선들과 ADSL, Cable Modem 등의 초고속 인터넷 회선을 결합시켜 단일한 전용선처럼 사용하게 합니다. 또한 인터넷 트래픽을 효율적으로 관리하여 불필요한 특정 회선에 대한 트래픽 집중현상을 완화하여, 트래픽 처리 효율을 최적화합니다.

위 그림은 내부망에서 인터넷을 사용하기 위해서 ISP1의 전용선 A, ISP2의 전용선 B 및 케이블 라인, ISP3의 ADSL 라인을 사용한 경우입니다.

내부망의 IP 대역은 전용선 A의 IP대역과 전용선 B의 IP 대역을 동시에 사용하거나, 사설 IP대역을
설정하여 PAT (Port Address Translation) 구성을 설정하여 사용할 수 있습니다. 특히, 케이블 인터넷 라인이나 ADSL/VDSL 라인에서 할당된 IP가 적은 경우에 내부망이 PAT를 사용하여 IP를 공유하도록 처리합니다. NLB에서 사용되는 부하 분산 방식에는 기존의 round-robin, hashing, least connection, maximum response time, maximum bandwidth 방식을 사용할 수 있습니다.

아래의 표는 E1 라인 하나만을 사용하는 회사에서 8Mbps ADSL 3개의 라인을 추가하여 NLB구성을 하였을 때 대역폭의 증가율을 보여주고 있습니다.
또한, NLB의 장점은 인터넷 회선의 고장율을 획기적으로 개선할 수 있다는 것입니다. 위의 예에서
E1 라인과 서로 다른 ISP의 ADSL 라인 3개를 동시에 사용하는 경우에 `전용선은 한 달에 한번 고장이 발생하고, ADSL 초고속 인터넷은 10일에 한번 고장이 발생한다`고 가정할 때 고장율은 다음과 같습니다.
NLB를 이용한 회선 고장율의 개선
  구분 고장율 비고
  NLB 적용전 (E1 only) 1/30
한달에 한번 고장발생
  NLB 적용후 (E1 + 1*ADSL) 1/300 1년에 한번 고장발생
  NLB 적용후 (E1 + 3*ADSL) 1/30000 82년에 한번 고장발생


출처 : www.piolink.co.kr
728x90

댓글