네트워크 구성시 필수 요소인 파이어월과 본지사 또는 이동 사용자 간을 연결하는 VPN 역시 4계층 스위치의 또 다른 활용 영역이다. 물론 안정성과 확장성을 고려하지 않는 파이어월과 VPN 환경이라면 4계층 스위치는 필요없을 것이다. 먼저 파이어월과 4계층 스위치가 왜 함께 구성되는지 알아보자. 파이어월은 인터넷에서 사내 네트워크로 부정한 액세스가 들어오는 것을 방지하기 위한 시스템으로, 인터넷과 기업 LAN의 사이에 위치한다. 파이어월은 여러 암호화의 방법에도 불구하고 해커들이 컴퓨터 자체에 침투해 중요한 정보들을 변화시키거나 유출시키는 일을 방지하기 위해 개발됐다. 파이어월은 인터넷과 내부 사용자들 사이에 위치해 시스템을 통과하는 모든 패킷을 미리 정해진 규칙(rule)에 의해 허락(accept)할 것인가, 거절(deny)할 것인가를 결정한다. 예를 들어 HTTP는 통과되고 FTP는 불허하는 식이다.
파이어월 자체의 페일오버 구성 많은 보안 업체들이 자사 제품이 안정성과 성능면에서 뛰어나다고 주장하고 있지만, 실제 네트워크에서 파이어월은 가끔씩 애물단지로 취급되기도 한다. 그 이유는 다음과 같다.
인터넷 관문에 위치한 파이어월에 장애가 발생하면 모든 네트워크에 영향을 미친다. 파이어월 장비 하나가 처리할 수 있는 트래픽은 장비가 갖고 있는 인터페이스에 비해 한참 못 미친다. 때문에 트래픽이 폭주할 경우에는 지연(delay)의 이유가 되거나 또 다른 장애를 유발할 수 있다. 파이어월 자체의 부하가 문제로 떠오르면서 초기에는 (그림 1)과 같이 구현한 파이어월 자체의 로드밸런싱이 화두로 떠올랐다. 즉, 장애에 대비해 하나의 파이어월 1이 액티브(active)일 때 다른 파이어월은 스탠바이(standby)로 대기하게 된다. 이 때 두 장비 간에는 장애를 확인하기 위한 별도의 링크가 만들어져야 한다.
4계층 스위치를 통한 파이어월 로드밸런싱 그렇지만 이 구성의 가장 큰 단점은 장애 대비에는 최적이지만 증가하는 트래픽에 대한 해결책은 아니라는 것이다. 만약 복수의 파이어월 여러 대를 동시에 돌릴 수 있다면, 전체 네트워크 상에서 파이어월이 보장할 수 있는 트래픽 수치는 높아질 것이다. 그렇지만 (그림 1)에서 보듯이 두 장비는 액티브-스탠바이 형태로 서비스가 되고 있다. 그래서 결국 이 문제를 해결하고자 여러 대의 파이어월을 동시에 액티브 상태로 둘 수 있는 4계층 스위치를 도입하게 된 것이다. (그림 2)를 자세히 보면 파이어월 앞뒤에 4계층 스위치가 설치된 것을 볼 수 있다. 파이어월 로드밸런싱에는 기본적으로 샌드위치처럼 2개의 4계층 스위치가 설치된다. 많은 사람들이 이런 구성도를 보고 놀라는데 각각의 역할이 다르기 때문에 이런 구성이 나온다는 점을 이해해야 한다. 내부 장비는 밖으로 나가는 패킷에 대한 로드 분배를, 외부 장비는 들어오는 패킷에 대한 로드 분배를 수행한다. (그림 2)의 구성에서는 모든 파이어월이 장애가 생기지 않는 한 외부로의 통신은 끊어지지 않는다. 물론 대량의 트래픽 처리 문제를 위해 확장을 해야 한다면, 추가적으로 파이어월을 추가하기만 하면 된다. 4계층 스위치의 도입으로 파이어월의 근본적인 문제였던 확장성을 해결할 수 있는 것이다.
그림 1
그림 2
그림 3
파이어월 로드밸런싱에서의 상태 모니터링 방법 파이어월 로드 밸런싱을 이해하기 위해서는 우선 파이어월의 특징 중 하나인 SI(Stateful Inspection)를 이해해야 한다. SI는 파이어월에 사용되는 기술로, 패킷 필터에 비해 한 단계 발전된 개념이다. SI를 적용한 파이어월은 세션이 연결될 때부터 끝날 때까지 소스와 목적지를 포함해 세션 상태를 추적한다. 즉, 파이어월은 보안 신뢰성을 높이기 위해 자신을 통과하지 않은 패킷에 대한 응답이 오면 정상적인 패킷으로 처리하지 않는다. 때문에 (그림 3)의 파이어월 1을 통과한 패킷의 응답은 파이어월 1을 통해서 응답을 받아야만 한다. 4계층 스위치에서 이 문제를 해결하기 위해서 사용하는 방법이 바로 해시(Hash) 방식이다. (그림 3)에서처럼 외부에서는 출발지, 내부에서는 목적지 주소를 해시 함수에 넣으면 (그림 4)처럼 결과값은 같은 파이어월을 통과할 수 있다. 로드 분배 방식 중 해시는 같은 입력값에 항상 같은 결과값이 나오게 하는 반면, 결과값을 함수에 의존하는 방법이므로 결과 비율이 정확하게 어떻게 나올지 예측할 수 없다. 때문에 트래픽이 한쪽으로 치우치는 단점을 갖고 있다. 현재 대부분의 파이어월 로드밸런싱을 수행하는 4계층 스위치들이 해시 방식을 채택하고 있지만, 이 같은 문제 때문에 일부 제품에서는 패킷 정보를 기억하는 방법을 달리해 해시 뿐 아니라 라운드 로빈, 리스트 커텍션(Least Connection), 가중치(Weighted) 등 다양한 방법을 사용할 수 있도록 한 제품도 있다. 파이어월 로드밸런싱이 기존의 서버 로드밸런싱과 구별되는 점은 파이어월의 상태를 체크하는 모니터링 방법에 있다. 파이어월 로드밸런싱에서는 파이어월이 갖고 있는 특정 인터페이스 하나만의 상태를 체크해서는 파이어월 건너편에 있는 4계층 스위치까지와 연결된 모든 경로에 대한 신뢰성을 확보할 수 없다. 그렇다고 해서 파이어월 사설, 파이어월 공인, 건너편 4계층 스위치를 각각 체크하는 방법을 사용하지는 않는다. 파이어월 로드밸런싱에서는 각각의 4계층 스위치가 파이어월 건너편에 있는 상대편 4계층 스위치까지 한꺼번에 체크하기 위해 ICMP(I nternet Control Message Protocol)를 이용한다(그림 5). 상대편 4계층 스위치를 체크한다는 것은 중간에 있는 파이어월이 정상적으로 처리를 했다는 것을 의미하기 때문이다. ICMP는 신뢰성이 없는 IP 프로토콜을 보완하기 위한 게이트웨이와 호스트 간 에러 정보 교환용 프로토콜로, 일반적으로 IP 데이터그램의 라우팅 문제점이나 타임 스탬프 혹은 에코 트랜잭션과 같은 간단한 정보 교환에 관한 정보가 들어있다.
DMZ가 있는 파이어월 로드밸런싱 실제 네트워크에 DMZ까지 있다면 DMZ을 위한 4계층 스위치가 추가로 도입돼야만 한다(그림 6). 하지만 DMZ 구간이라고 해서 특별히 손이 더 가는 것은 아니며, 단지 외부에서 DMZ 존의 서버들로 접근하는 것들에 대한 로드밸런싱 작업이 추가된다. 일반적으로 많은 사람들이 파이어월 로드밸런싱을 위해 고가의 4계층 스위치 두 대를 이미 설치했는데, DMZ 구간을 위해 4계층 스위치를 추가로 도입해야 하는 것에 대해 부담스러워하는 것이 사실이다. 하지만 DMZ 구간에 4계층 스위치가 없다면 외부에서 들어오는 패킷은 외부 4계층 스위치에서 밸런싱을 해주지만, 내부에서 나가는 패킷에 대해서는 밸런싱을 할 수 있는 방법이 없기 때문에 4계층 스위치의 추가 설치는 불가피한 선택이다.
그림 4
그림 5
4계층 스위치 자체의 이중화를 고려한 네트워크 구성 이전까지의 모든 구성은 파이어월을 기준으로 이뤄진 것이다. 하지만 (그림 7)은 로드밸런싱을 하는 4계층 스위치의 안정성에 보다 주안점을 두고 이뤄진 구성이라고 할 수 있다. 4계층 스위치에 사용되는 이중화 방식은 일반적으로 라우터, 3계층 스위치에서 사용하는 VRRP(RFC 표준)를 이용한다. 페일오버(fail over)에 소요되는 시간은 구성에 따라 조금씩 차이가 있겠지만, STP(Spanning Tree Protocol)가 아닌 구성에서는 3∼5초 정도가 된다.
VPN 로드밸런싱 최근 1∼2년 사이에 기업간 전용회선들이 가격이 저렴한 공중망을 이용하고자 VPN(Virtual Private Network)이라는 또 다른 개념을 많이 도입하고 있다. 파이어월이 모든 패킷을 검사하면서 자체 부하를 감당하지 못하는 것과 마찬가지로 VPN 역시 터널링을 만들고 전달하는 데이터들을 암호화/복호화하면서 상당한 부하를 발생시키고 있다. 이런 부하는 지점 게이트웨이들의 경우는 일정량의 내부 네트워크 사용자만 수용하면 되기 때문에 문제가 적지만, 본점의 경우 적게는 몇 개에서 많게는 몇백 개까지의 지점 네트워크를 수용해야 하므로 안정성과 확장성에서 문제가 되고 있다. 이 때문에 최근 VPN 로드밸런싱이 새롭게 주목을 받고 있다.
그림 6
그림 7
그림 8
VPN 로드밸런싱은 외부 4계층 스위치와 내부 4계층 스위치를 통과하는 IP가 각각 다르기 때문에 기본적으로 파이어월에서 사용하던 출발지나 목적지 IP 어드레스를 해시 함수에 넣는 방법으로는 해결할 수가 없다. 때문에 VPN에서 내부로 내려오는 패킷을 내부 4계층 스위치가 테이블을 갖고 있다가 되돌아가는 응답 패킷은 그 테이블을 참조하는 등 각기 다른 방법을 이용해서 VPN의 특성을 지원해야만 한다. VPN 통신의 또 다른 특징 중 하나는 본점과 지점 게이트웨이 간에는 항상 터널링이 맺어져 있으므로 지점에서 본점으로 온 패킷에 대한 응답 패킷은 앞에서 해당 테이블을 보고 간다거나 하는 등의 방법을 사용하면 되지만, 해당 테이블이 계속해서 기억되는 것이 아니므로 본점에서 지점으로 통신을 시도하는 경우에 어떤 VPN으로 보내야 할지를 판단해야 하는 또 다른 기능이 필요하다. 이때 터널링이 맺어져 있지 않은 곳으로 보낼 경우에는 해당 패킷은 경로를 찾지 못해 드롭(drop)될 수밖에 없으므로 이 기능의 지원 여부는 상당히 중요하다. 그래서 결국 지점 → 본점 통신은 몇몇 4계층 스위치가 지원하는 반면, 본점 → 지점 통신까지 지원하는 4계층 스위치는 많지 않다. |
|